一种移动数字证书装置及其更新方法与流程

文档序号:14914364发布日期:2018-07-11 00:18阅读:186来源:国知局

本发明涉及信息安全领域,更具体地,涉及移动数字证书装置及其更新方法。



背景技术:

移动数字证书装置在网上银行、政府的OA以及VPN网络中都应用比较广泛,但是,随着移动支付、移动办公的兴起,移动终端的数字认证问题越来越显现。

CA是国家认可的权威、可信、公正的第三方机构,专门负责发放并管理所有参与网上业务的实体所需的数字证书。

数字证书是网络世界中的身份证。可以在网络世界中为互不见面的用户建立安全可靠的信任关系,这种信任关系的建立则源于PKI/CA认证中心,构建安全的PKI/CA认证中心是至关重要的。

CA拥有一个证书(内含公钥)和私钥。网上的公众用户通过验证CA的签名从而信任CA,任何人都可以得到CA的证书(含公钥),用以验证它所签发的证书。

USBKey是目前最常用的一种移动数字证书装置,其提供了数字证书在终端安全存储的环境;另外,通过硬件协处理器处理运算也提高了认证的效率。但是USBKey基于的USB接口功耗太大,且只适用于PC机等固定终端,移动终端并不支持此接口;因此,基于USBKey的证书认证方式不能平滑地移植到移动终端上。

为了解决移动终端的证书认证的问题,目前主要采取两种方案:

现有方案一:采用软证书的形式

这个方案把数字证书及私钥直接存放在移动终端设备上,私钥由用户PIN码保护,证书认证中需要的非对称密钥产生,加解密,签名验证等运算由软件实现。

现有方案一的缺陷:

1.数字证书及私钥存放在移动终端设备上,使用过程中需要存放于终端的RAM中,容易被攻击者获取,因此不安全。

2.数字认证中需要的加解密/签名验证等运算由软件实现,运算速度慢。

3.不符合国家信息安全相关标准。

现有方案二:采用SIM卡的方式

这个方案把SIM作为数字证书存放的硬件载体,证书认证中需要的非对称密钥对产生,加解密,签名验证等运算由SIM卡进行处理。

现有方案二的缺陷:

1.数字证书及私钥存放在SIM卡上,存储空间有限。

2.SIM卡通信速率低。大多SIM卡采用是7816接口,相对SD接口传输速率比较低。

3.不能直接在PC上使用,即无法兼容当前PC上的证书认证方式。



技术实现要素:

本发明提供一种克服上述问题或者至少部分地解决上述问题的移动数字证书装置及其访问方法和更新方法。

根据本发明的一个方面,提供一种移动数字证书装置,包括:

接口模块,用于接收数据;

存储控制模块,与所述接口模块连接,用于接收并判断数据是否为私密数据,将判断后的数据发送至相应的模块;

安全模块,与所述存储控制模块连接,用于接收所述私密数据,并对所述私密数据进行存储、加解密或签名验证处理;以及

普通存储模块,与所述存储控制模块连接,用于存储非私密数据。

根据本发明的另一个方面,还提供一种移动数字证书装置的更新方法,包括:

a、所述移动数字证书装置按照预先和CA协商好的协议产生会话密钥以及配对的移动数字证书装置的新公钥和新私钥,并向CA发送经CA的公钥加密的更新请求;

b、CA基于所述更新请求识别移动数字证书装置为合法用户,并向所述移动数字证书装置签发经所述会话秘钥加密的新数字证书;以及

c、所述移动数字证书装置接收并解密所述新数字证书,用所述新数字证书和移动数字证书装置的新私钥替换失效的数字证书和私钥。

本申请提出了一种移动数字证书装置及其更新方法,通过使用硬件作为私钥和证书等安全信息的载体,安全性远高于软证书方式,移动数字正常采用SD接口,通信速度远高于SIM卡ISO7816接口,也可以作为PC平台上的证书载体,此外基于SD接口的移动数字证书装置的发行不依赖于移动通信类运营商,具有发行面广的特点,本发明所述的移动数字证书装置将存储与安全功能集成到同一载体上,增加了用户使用的便利性。

附图说明

图1为本发明实施例的移动数字证书装置的第一种结构框图;

图2为本发明实施例的移动数字证书装置的第二种结构框图;

图3为本发明实施例的的移动数字证书装置的第三种结构框图;

图4为根据本发明实施例的移动数字证书装置的更新方法的流程示意图。

具体实施方式

下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。

为了克服现有技术中移动数字证书装置容易被攻击者获取、加密速度慢以及更新麻烦、无法与PC兼容的问题,本发明提供了一种新的移动数字证书装置及其访问方法和更新方法。

本发明实施例的移动数字证书装置(为了和现有技术中的USBKey产生进行区别,下文将本发明中的移动数字证书装置称之为MobileKey),是将现有的SD卡(SD卡接口可以是SD/MMC/Memory Stick等接口)通过内嵌安全模块变成MoblieKey。利用MoblieKey可以实现手机等移动设备上的数字认证及签名,同时,也可以兼容目前的USBKey的认证方式。

在一个实施例中,所述MobileKey包括:

接口模块,根据SD卡接口标准,用于与标准SD卡接口连接,并进行数据传输。

存储控制模块,与所述接口模块连接,用于接收并判断数据是否为私密数据,并将私密数据发送至安全模块或将非私密数据发送至普通存储模块。

安全模块,与所述存储控制模块连接,用于安全存储以及加解密/签名验证等密码运算。

普通存储模块,与所述存储控制模块连接,用于存储非私密数据。

在一个实施例中,所述安全模块包括:

安全存储单元,用于存储私密数据,例如用户公钥证书对应的私钥信息,密钥种子等不可泄露的信息。

运算处理单元,用于对数据进行运算,例如RSA运算加速引擎、随机数发生器、AES运算引擎等。

安全控制单元,与所述安全存储单元、运算处理单元和存储控制模块连接,基于数据的性质,将数据发送至安全存储单元进行存储,或者将数据发送至运算处理单元进行运算处理。

在一个实施例中,由于本发明中的MobileKey是在标准SD卡的接口扩展安全等增值应用,标准的SD卡协议并不支持访问SD卡中的安全模块,因此,本发明提供了一种通过共享地址的方式访问SD卡内的安全模块的方法,具体如下:

S1、首先在MobileKey中定义特殊地址或一段特殊地址的地址范围。

S2、当数据通过接口模块写入MobileKey中时,安全控制模块接收MobileKey的写命令,并判断数据的访问地址是否为所述特殊地址或处于特殊地址的地址范围,若是,则检验该数据的有效性(检验数据的有效性属于现有技术的范畴,不在本发明的讨论范围中),若该数据的有效性符合要求,则将数据定义为私密数据发送至安全模块,若数据的访问地址不为所述特殊地址或处于特殊地址的地址范围、或者数据的有效性不符合要求,则将数据定义为非私密数据,发送至普通存储模块。

S3、安全模块接收到私密数据后,同时接收MobileKey外部(即手机的应用程序)传输的命令,安全模块解析该命令并根据命令的具体要求,调用运算处理单元对私密数据进行加密/解密或者调用安全存储单元将私密数据进行存储。

S4、安全模块在处理完成后,将完成任务的响应信息发送至存储控制模块,存储控制模块将私密数据重新组织为应用程序可识别的数据,并存放在自身的缓存区中。由于MobileKey是被动设备,手机只有通过读取操作获取结果数据。当存储控制模块接收到MobileKey读命令,则首先判断地址是否是预先定义的特殊地址。如果是特殊地址且安全处理已经完成,则将重组好的数据通过MobileKey读命令的响应数据反馈给外部应用程序。

在一个实施例中,应用程序对特殊地址的读写,可以采用两种方式:

一种是直接利用系统的API进行物理地址的数据读写;

另一种是读写在覆盖了这个扇区的文件,对文件的某个数据块的读写,通过文件系统进行物理地址的数据读写。

在一个实施例中,所述存储控制模块还用于:接收移动数字证书装置的写命令,识别数据的访问地址为特殊地址,若是,则检验该数据的有效性,若该数据的有效性符合要求,则将数据定义为私密数据发送至安全模块;

所述安全模块还用于:接收到私密数据后,同时接收移动数字证书装置外部传输的命令,解析该命令并根据命令的具体要求,调用运算处理单元据或安全存储单元进行相应的处理,将完成任务的响应信息发送至存储控制模块;

其中,所述储控制模块还用于:将私密数据重组为应用程序可识别的数据,并存放在自身的缓存区中。

在一个实施例中,所述存储控制模块还用于,若数据的访问地址不为所述特殊地址或者数据的有效性不符合要求,则将数据定义为非私密数据,发送至普通存储模块。

在一个实施例中,所述存储控制模块还用于:接收MobileKey读命令,判断地址是否为特殊地址,如果是特殊地址且安全处理已经完成,则将重组的数据通过所述响应数据反馈给外部应用程序。

本发明实施例中的MobileKey在物理架构上不局限各模块之间的集成关系。

图1示出了本发明的MobileKey硬件方案一,如图1可知,MobileKey包括:

接口模块,为SD/MMC/Memory Stick标准接口中的一种;

控制器芯片,与所述接口模块连接,所述控制器芯片包括存储控制模块;

Flash芯片,与所述控制器芯片连接,所述flash芯片包括普通存储模块;以及

安全处理芯片,与所述控制器芯片连接,所述安全处理芯片包括安全存储单元、运算处理单元以及安全控制单元。

图2示出了本发明的MobileKey硬件方案二,如图2可知,MobileKey包括:

接口模块,为SD/MMC/Memory Stick标准接口中的一种;

控制器芯片,与所述接口模块连接,包括存储控制模块、安全存储单元、运算处理单元以及安全控制单元;以及

Flash芯片,与所述控制器芯片连接,包括普通存储模块。

图3示出了本发明的MobileKey硬件方案二,如图3可知,MobileKey包括:

接口模块,为SD/MMC/Memory Stick标准接口中的一种;

控制器芯片,与所述接口模块连接,所述控制器芯片包括运算处理单元、安全控制单元以及存储控制模块;以及

Flash芯片,与所述控制器芯片连接,所述flash芯片包括普通存储模块以及安全存储单元。

为了提高MobileKey在使用过程中的安全性,CA在给MobileKey分配数字证书时会对该数字证书设置有效期,一旦过了有效期,该数字证书将变得无效,MobileKey在与移动终端设备进行身份认证时将无法通过。因此,为了保证MobileKey的正常使用,CA需要对MobileKey的数字证书进行更新。

由于MobileKey无法直接与CA建立通信,而且MobileKey大都处于离线状态,从而使得数字证书更新比较困难。一种可能的方法是,由用户定期到CA指定的地点对MobileKey数字证书进行更新,但这种数字证书更新过程较为繁琐,并且会给用户带来诸多不便。

有鉴于此,本发明提供了一种MobileKey中数字证书的更新方法,简化了MobileKey的数字证书更新过程。

图4示出了一种移动数字证书装置的更新方法的流程示意图,包括:

S1、所述移动数字证书装置按照预先和CA协商好的协议产生会话密钥以及配对的移动数字证书装置的新公钥和新私钥,并向CA发送经CA的公钥加密的更新请求;

S2、CA基于所述更新请求识别移动数字证书装置为合法用户,并向所述移动数字证书装置签发经所述会话秘钥加密的新数字证书;以及

S3、所述移动数字证书装置接收并解密所述新数字证书,用所述新数字证书和私钥替换失效的数字证书和私钥。

本发明中的MobileKey可以通过移动终端以在线方式进行数字证书更新,MobileKey先按照预先与CA协商好的协议产生配对的移动数字证书装置的新公钥和新私钥,随后向CA发起数字证书更新请求,CA收到更新请求后,重新为MobileKey签发数字证书,之后,MobileKey用重新签发的数字证书和私钥替换失效的数字证书和私钥,完成整个更新过程。

这种在线更新的方法能够使MobileKey的数字证书更新过程得以简化,用户无需定期到CA指定的地点对MobileKey数字证书进行更新,很大程度上方便了用户。

下面对更新过程进行详细说明。

首先简要介绍一下本发明实施例中的MobileKey,所述MobileKey内存储有能够唯一标识MobileKey身份的标识、MobileKey数字证书和CA数字证书等,其中,CA数字证书中包含有CA的公钥。

步骤1、当MobileKey的数字证书失效后,启动数字证书更新,MobileKey先按照预先和CA协商好的协议产生配对的移动数字证书装置的新公钥和新私钥,以及会话密钥,通过移动终端向CA发送更新请求。

更新请求中携带以下请求信息:MobileKey标识、失效的MobileKey数字证书、新产生的移动数字证书装置的公钥、第一CA数字签名及会话密钥;所述MobileKey数字证书中包括第二CA数字签名。

本发明实施例的数字证书更新方法中,为信息的安全传输起见,这些请求信息必须用CA的公钥进行加密。

CA数字签名是指用CA的私钥对某些信息进行加密而得到的数据,比如所述第一CA数字签名即为CA对失效的数字证书的序列号的签名,所述第二CA数字签名即为CA对MobileKey标识的签名。

需要注意的是,第一CA数字签名不能放在MobileKey数字证书中发送,也就是说,所述第一CA数字签名不能公开。第一CA数字签名是为防止移动终端欺骗CA而设置的,第一CA数字签名保存在MobileKey内,移动终端无法得到,并且,由于移动终端没有CA的私钥,无法伪造CA数字签名,因此移动终端也就无法伪造MobileKey向CA发送的更新请求来欺骗CA;此外,会话密钥也是为防止移动终端欺骗MobileKey而设置。

在数字证书更新过程中,第一CA数字签名和会话密钥可以同时使用,也就是说,在更新请求中可以同时携带第一CA数字签名和会话密钥,也可以分开使用。当然,如果对中间人攻击的要求不高,也可以都不使用。

在一个实施例中,本发明实施例针对同时使用CA数字签名和会话密钥、以及用CA的公钥加密请求信息的情况进行详细阐述。

步骤2、CA收到MobileKey发送来的更新请求后,判断MobileKey是否是CA域内的合法用户,即CA首先用自己的私钥对收到的请求信息进行解密,恢复出请求信息明文,然后,用CA公钥解密MobileKey数字证书中的第二CA数字签名,恢复出MobileKey标识的明文,并判断恢复出的MobileKey标识是否与MobileKey发送来的更新请求中携带的MobileKey标识相同,如果相同,则说明该MobileKey是CA域内的合法用户,执行步骤3;如果不同,则说明该MobileKey不是CA域内的合法用户,CA终止与该MobileKey的通信,即结束本流程的处理。

步骤3、CA根据更新请求中携带的第一CA数字签名判断该更新请求是否是MobileKey发送来的,如果是,则执行步骤4;否则,CA终止会话,即结束本流程的处理。

CA用自身的公钥解密所述第一CA数字签名,恢复出失效的MobileKey证书的序列号的明文,并判断恢复出的MobileKey证书的序列号是否与MobileKey发送来的更新请求中携带的MobileKey数字证书中的序列号相同,如果相同,则说明该更新请求是MobileKey发送来的,因为只有MobileKey才拥有CA对MobileKey证书序列号的签名,然后执行步骤4;如果不同,则说明该更新请求不是MobileKey发送来的,CA终止会话,即结束本流程的处理。

在一个实施例中,如果更新请求中没有携带第一CA数字签名,那么,在步骤2中判断出该MobileKey是CA域内的合法用户后,直接执行步骤4,无需执行步骤3。

步骤4、CA利用MobileKey新产生的公钥为MobileKey重新签发新的数字证书,并用MobileKey发送来的会话密钥对新数字证书进行加密,然后,通过移动终端向MobileKey返回更新响应,该更新响应中携带的响应信息包括加密后的新数字证书。

由于移动终端不知道CA和MobileKey的会话密钥,因此,移动终端无法解密响应信息,也无法伪造响应信息来欺骗MobileKey,增强了数据的安全性。

步骤5、MobileKey收到CA返回的更新响应后,用会话密钥解密响应信息,恢复MobileKey的新数字证书,并用新数字证书和私钥替换MobileKey中原有的已失效的数字证书和私钥。

至此,整个数字证书更新过程结束。

可见,本发明所提供的更新方法可以通过移动终端以在线的方式进行数字证书更新,能够使MobileKey的数字证书更新过程得以简化,用户无需定期到CA指定的地点对MobileKey数字证书进行更新,很大程度上方便了用户。

最后,本申请的方法仅为较佳的实施方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1