公开/公告号CN104753881A
专利类型发明专利
公开/公告日2015-07-01
原文格式PDF
申请/专利权人 上海格尔软件股份有限公司;
申请/专利号CN201310746792.2
申请日2013-12-30
分类号H04L29/06(20060101);H04L9/32(20060101);
代理机构31224 上海天翔知识产权代理有限公司;
代理人刘常宝
地址 200070 上海市闸北区江场西路199号B幢501E
入库时间 2023-12-18 09:43:13
法律状态公告日
法律状态信息
法律状态
2019-03-26
授权
授权
2018-10-26
著录事项变更 IPC(主分类):H04L29/06 变更前: 变更后: 申请日:20131230
著录事项变更
2016-12-21
实质审查的生效 IPC(主分类):H04L29/06 申请日:20131230
实质审查的生效
2015-07-01
公开
公开
技术领域
本发明属于计算机和信息安全技术领域,具体涉及WebService服务端对 客户端认证以及时间访问控制技术。
背景技术
WebService当今成为网络接口服务的主流手段,安全性方面一直受到关 注,WebService本身也有访问认证,当前有几种认证方法:
(1)使用用户名口令方式。这种方式虽然简单易行,但安全性弱,用 户名密码容易被盗,并且基于密码的访问需要定期更换密钥,对于安全易用 性都有严重影响。
(2)WebService自带的证书认证,虽然能够使用证书,但扩展性不强, 不能使用基于国密算法的SM2证书,并且无法根据有效的时间戳信息确定 时间认证和访问控制。
由此可见提供一种WebService服务端对客户端的安全方便的认证控制 机制是本领域亟需要解决的问题。
发明内容
针对现有WebService访问认证所存在的问题,本发明的目的在于提供一 种基于软件数字证书和时间戳的WebService唯一性认证方法,该方法使用软 件方法来实现应用服务器认证客户端以及访问控制,有效解决WebService 服务端对客户端的方便性安全认证以及访问控制的问题。
为了达到上述目的,本发明采用如下的技术方案:
一种基于软件数字证书和时间戳的WebService安全认证访问控制方法, 所述安全认证访问控制方法包括如下步骤:
(1)WebService客户端安装证书客户端,根据证书设备信息生成证书 请求,通过证书请求向CA认证中心请求签发设备证书,并将返回的设备证 书导入到WebService客户端,且把此设备证书添加进WebService服务端受 信任的证书体系;
(2)发送请求时,WebService客户端构造WebService请求,并通过导 入的设备证书对WebService请求数据签名;
(3)WebService客户端对生成的WebService请求数据调用时间戳服务, 由时间戳服务器从时间源获取标准时间,使用时间戳服务器私钥对 WebService请求数据签发时间戳;
(4)WebService客户端把WebService请求数据原文、WebService客户 端的设备证书、签名消息、时间戳信息,封装后通过WebService接口把数据 发送到WebService服务端;
(5)WebService服务端在客户端设备证书、数字签名数据以及时间戳 信息三者都验证通过后,才处理WebService请求,并向WebService客户端 返回处理结果;否则认为此请求不合法。
在本方案的优选实例中,所述步骤(5)具体通过如下步骤进行验证:
所述步骤(5)具体通过如下步骤进行验证:
(5-1)WebService服务端收到WebService请求,解开获取到客户端设 备证书信息,判断此证书的合法性,并可通过WebService客户端的设备证书 验证访问权限;
(5-2)客户端设备证书验证通过后,WebService服务端获取到数字签 名数据,验证数字签名;
(5-3)在数字签名通过后,WebService服务端获取到时间戳信息,判 断时间戳有效性,有效则获取时间信息,判断时间是否在合法时间内。
进一步的,所述步骤(1)中在生成证书请求时所生成的公私钥包括但 不限于RSA密钥,ECC密钥。
进一步的,所述步骤(1)中证书请求格式包括但不限于pkcs10格式的 证书请求。
进一步的,所述步骤(1)中软件数字证书包括但不限于符合X509格式 的证书。
进一步的,所述步骤(1)中WebService客户端通过添加的证书客户端 控制证书生成模式,并根据不同的应用控制不同应用的访问控制。
进一步的,所述步骤(2)中证书签名包括但不限于SHA1WITHRSA、 SM3WITHSM2。
进一步的,所述步骤(3)中WebService客户端通过调用时间戳服务, 向时间戳服务器发送一个时间戳请求信息。
进一步的,所述步骤(4)中WebService客户端把原文请求数据,证书 信息,签名数据,时间戳信息封装成请求包。
进一步的,所述步骤(5-1)中数字证书验证包括但不限于以下验证手段:
验证证书在服务器端的有效性,包含证书是否受信任,是否已经被废除;
验证证书在服务端的使用权限,使用者身份是否正确。
进一步的,所述步骤(5-2)中签名结果验证不限于以下验证手段:
通过服务器证书验证签名,不限于指定签名算法SHA1WITHRSA、 SM3WITHSM2。
进一步的,所述步骤(5-2)中时间戳验证不限于时间戳的有效性,验证 时间的访问控制,根据时间控制访问请求。
根据上述技术方案得到的本发明能够很好对WebService客户端进行验 证,在客户端访问敏感信息,对访问有认证需求,有时间控制的需求,采用 数字证书体系认证强度高,不怕请求数据被串改;而且在注册时数字证书内 容与请求信息,签名数据,时间戳信息一起提交,可保证客户端访问正确性, 并且可以严格控制访问数据的安全性,访问控制的高要求,而且可根据时间 戳信息有效防止重放攻击。
附图说明
以下结合附图和具体实施方式来进一步说明本发明。
图1为本发明WebService服务的示意图;
图2为本发明实施时客户端访问服务端的认证流程示意图。
具体实施方式
为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了 解,下面结合具体图示,进一步阐述本发明。
参见图1,其所示为本发明提供的基于软件数字证书和时间戳的 WebService安全认证访问控制方法对应的WebService服务示意图。由图可 知,整个安全认证访问控制过程如下:
(1)WebService客户端添加安装证书客户端,根据证书设备信息生成 证书请求,通过该请求向CA认证中心请求签发设备证书,将返回的设备证 书导入到WebService客户端。
该步骤中,WebService客户端通过添加的证书客户端控制证书生成模 式,并可根据不通的应用控制不同应用的访问控制。
对于生成的证书请求,具体为pkcs10格式的证书请求。而CA认证中心 返回的设备证书为软件数字证书,具体可以为符合X509格式的证书,但并 不限于此。
(2)在WebService客户端获取到设备证书后,WebService客户端将构 造WebService请求,并通过设备证书对WebService请求数据签名。
(3)WebService客户端对生成的WebService请求数据通过调用时间戳 服务,向时间戳服务器发送一个时间戳请求信息,时间戳服务器从时间源获 取标准时间,使用时间戳服务器私钥对WebService请求数据签发时间戳。
(4)WebService客户端将WebService请求原文、WebService客户端的 设备证书、签名消息、时间戳信息,封装形成一个完整的请求包,通过 WebService接口把数据发送到WebService服务端。
(5)WebService服务端收到WebService请求,解开获取到证书信息, 判断此证书的合法性,并可通过WebService客户端的设备证书验证访问权 限,合法则获取到签名数据,验证数字签名,验证签名通过则获取到时间戳 信息,判断时间戳有效性,有效则获取时间信息,判断时间是否在合法时间 内。只有在这三者都验证通过后,才处理WebService请求,并向WebService 客户端返回处理结果;只要有一项认证不通过,就认为此请求不合法。
具体的,该步骤具体通过如下步骤完成客户端设备证书、数字签名数据 以及时间戳信息的验证:
(5-1)WebService服务端收到WebService请求,解开获取到证书信息, 判断此证书的合法性,并可通过WebService客户端的设备证书验证访问权 限。该步骤进行数字证书验证的手段如下:
验证证书在服务器端的有效性,包含证书是否受信任,是否已经被废除;
验证证书在服务端的使用权限,使用者身份是否正确。
(5-2)在证书的合法性验证通过后,WebService服务端解开收到的 WebService请求,获取到数字签名数据,验证数字签名。该步骤可通过服务 器证书验证签名进行数字签名的验证,例如可以采用相应的算法 SHA1WITHRSA、SM3WITHSM2,但并不限于此。
(5-3)在数字签名数据验证通过后,WebService服务端再解开收到 WebService请求,获取到时间戳信息,判断时间戳有效性,有效则获取时间 信息,判断时间是否在合法时间内。
依次通过上述三步,可快速、精确的实现WebService请求的验证。
参见图2,其所示为基于上述方案进行的客户端访问服务端的认证流程 示意图。由图可知整个认证过程依次分为WebService客户端注册部分(即 WebService客户端生成客户端信任证书)、WebService客户端对访问请求构 造部分、WebService服务端访问控制认证部分。
对于WebService客户端生成客户端信任证书,具体步骤如下:
(1)WebService客户端生成设备证书,内容包括:
a)注册客户端服务器信息,包含服务器IP,联系人,Web服务信息 等应用服务器基本信息。
b)生成1024位/2048位RSA密钥对或者是SM2(国标256位ECC) 密钥对(公钥Pubkey,私钥Privkey)。
c)以设备IP作为主题CN项,将Pubkey作为公钥,使用Privkey进 行以上数据签名,生成证书请求Req
(2)WebService客户端发送证书请求数据Req到CA认证中心。
(3)CA认证中心收到请求数据Req,对数据进行验证,并签发证书Cert。
(4)将CA认证中心生成的客服端证书导入WebService客户端应用。
(5)WebService客户端收到认证设备证书后,在后续的请求过程将使用 此证书。
(6)将此证书添加进WebService服务端受信任的证书体系中。
在WebService客户端生成客户端信任证书后,进入到WebService客户端 对访问请求构造部分,该部分具体步骤如下:
(1)WebService客户端产生正常的WebService的接口访问请求信息。
(2)对请求进行签名,具体内容包括:
a)检查客户端是否生成设备证书。
b)签名时验证证书的有效性,包含证书有效期,是否被废除。
c)使用应用设备证书对请求签名,根据指定的签名算法,RSA采用 SHA1WITHRSA,而SM2采用SM3WITHSM2。
(3)时间戳请求构造,具体的内容包括:
a)调用时间戳服务。
b)时间戳通过指定的时间源地址,通过时间戳服务器的站点证书对 请求添加时间戳信息。
c)将生成好的时间戳信息返回给WebService客户端。
(4)WebService客户端把请求信息,证书信息,签名信息,时间戳信 息一起封装成完成的请求包,并发送给WebService服务端。
最后进行WebService服务端进行访问控制认证,具体步骤如下:
(1)WebService服务端获取WebService客户端发送的WebService请 求。
(2)根据请求获取对应的设备证书信息,验证此证书的合法性,具体 的内容包括:
a)验证证书的是否在信任体系。
b)验证证书的有效期,是否已废除。
c)验证证书的授权权限。
(3)根据请求获取签名数据,验证签名数据的合法性,具体内容包括:
a)根据签名算法SHA1WITHRSA或SM3WITHSM2验证签名数据的 合法性。
(4)根据请求获取时间戳信息,验证时间戳的合法性,以及有效性, 具体内容包括:
a)验证时间戳有效性,根据配置的时间戳设备证书,验证时间戳信 息的有效性。
b)获取当前时间戳请求时间,可验证时间的合法性,判断重放攻击。
c)获取当前时间戳请求时间,可验证时间的有效性,是否在业务时 间段访问请求。
(5)三者都验证通过后,执行WebService接口返回数据。
由该实例可知,本发明能够很好的对WebService访问进行访问控制认 证,可在原本服务基础上,实现高强度的访问控制。
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行 业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明 书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下, 本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范 围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
机译: 基于统一电话地址获取基于Web的硬件和软件的在线状态,身份验证,验证,授权,通信和交易服务的方法和系统,以及数字证书(dc)的组成,发行和管理提供的方法基于DC和公钥基础结构(PKI)的多层DC分配模型和多个帐户访问
机译: 患者实时(PRT)是一种患者信息移动软件应用程序,当结果以电子移动形式提交时,医务人员将有可能使用它们实时访问患者信息和检查结果(成像或病理学)。该软件应用程序将在所有形式的智能手机和平板电脑上可用-已针对Apple的IOS手机和平板电脑,基于Google Android的手机和平板电脑以及基于Windows 7/8的手机和平板电脑进行了修改。该软件将不仅限于移动应用程序,而是可用于所有个人计算机。
机译: 基于权限的会议软件和框架,用于管理个人,团体或组织与其他外部第三方的访问,以控制,共享和披露:议程,聊天对话,注释,操作项,批准,协作和共识投票,并提供有效期,并在会议进行之前,期间和之后跟踪带有时间戳的活动。