证书认证装置及该装置的访问和证书更新方法

文档序号:7898666阅读:302来源:国知局
专利名称:证书认证装置及该装置的访问和证书更新方法
技术领域
本发明涉及认证技术领域,特别涉及证书认证装置及该装置的访问和证书更新方法。
背景技术
USBKey是一种通用串行总线(USB)接口的证书认证装置,它内置单片机或智能卡芯片,有一定的存储空间,可以存储用户的私钥以及数字证书,利用USBKey内置的公钥算法实现对用户身份的认证。USBKey在现在的网上银行、政府的OA以及虚拟专用网(VPN)中都应用的比较广泛。USBKey提供了数字证书在终端安全存储的环境;通过硬件协处理器处理运算提高了认证的效率,是目前对证书认证比较好的解决方案。随着移动支付、移动办公的兴起,对于移动终端的证书认证需求越来越多,由于很多移动终端并不支持USB接口,且USB接口功耗太大,大多数移动终端无法负担,因此,目前 USBKey的证书认证方式并不适用于移动终端。为了解决移动终端的证书认证的问题,目前主要采取以下两种方案一、软证书认证方式这个方式是把数字证书及私钥直接存放在移动终端设备上,私钥由用户的个人识别码(PIN)保护,证书认证中需要的非对称密钥的产生、加解密和签名验证等运算由移动终端上承载的软件实现。二、用户识别卡(SIM)卡方式这个方式是把SIM卡作为数字证书存放的硬件载体,证书认证中需要的非对称密钥的产生、加解密和签名验证等运算由SIM卡实现。方案一的缺陷数字证书及私钥存放在移动终端设备上,使用过程中需要存放于终端的内存 (RAM)中,容易被攻击者获取,安全性不高,不符合国家信息安全相关标准。另外,证书认证中需要的非对称密钥的产生、加解密和签名验证等运算由软件实现,运算速度慢。以普通的智能机为例,主频在200M左右,生成一对IOM位RSA加密算法的密钥对平均需要时间大约几十秒,相比使用硬件产生同样长度的密钥对的平均时间4秒来说,差距很大,从而影响认证速度。方案二的缺陷SIM卡存储空间很小,数字证书及私钥若保存在SIM卡上,将会影响其他数据的存储,比如占用通讯录等数据的存储空间。而且,SIM卡通信速率很低,大多数SIM卡采用的是国际标准化组织(ISO) 7816接口,相对于一般的存储卡接口的传输速率来说,速度差距较大,从而影响认证速度。另外,由于SIM卡不能直接在PC上使用,无法兼容当前PC上的证书认证方式,其适用范围受限。

发明内容
本发明实施例提供一种证书认证装置,用于移动终端时,能够在保证安全性的情况下,拥有较高的证书认证速度。本发明实施例提供一种证书认证装置的访问方法,能够实现对证书认证装置内用于认证的私密信息的访问。本发明实施例提供一种证书认证装置的证书更新方法,能够简便地实现对证书认证装置中保存的证书的更新。为达到上述目的,本发明的技术方案具体是这样实现的一种证书认证装置,包括普通存储模块、存储控制模块和接口模块;所述普通存储模块与存储控制模块相连,所述存储控制模块和接口模块相连;该装置还包括安全存储模块,与运算处理模块以及安全控制模块分别相连,用于存储用于证书认证的私密信息;运算处理模块,用于对加密算法进行硬件加速;安全控制模块,与所述存储控制模块相连,用于调度所述运算处理模块进行运算, 控制所述安全存储模块进行数据的存储和输出。较佳地,所述安全存储模块、运算处理模块和安全控制模块集成于一块独立芯片。较佳地,所述安全存储模块、运算处理模块、安全控制模块和存储控制模块集成于一块独立芯片。较佳地,所述安全存储模块与所述普通存储模块集成于一块独立芯片;所述运算处理模块、安全控制模块和存储控制模块集成于另一块独立芯片。较佳地,所述安全控制模块与所述存储控制模块通过串口、7816或SPI总线方式连接。一种基于上述的证书认证装置的访问方法,该方法包括存储控制模块通过接口模块接收到存储卡写指令时,若所述写指令指定的地址是预先定义的特殊地址,则将所述写指令携带的数据作为命令数据传送给安全控制模块;安全控制模块解析并响应所述命令数据,根据所述命令数据对应的操作指令进行处理;安全控制模块将处理完成后得到的响应数据输出给存储控制模块;存储控制模块对所述响应数据进行重组。较佳地,该方法进一步包括当存储控制模块通过接口模块接收到外部应用程序发送的读指令时,若所述读指令指定的地址是预先定义的特殊地址,则将重组后的所述响应数据作为读指令的反馈数据反馈给外部应用程序。较佳地,所述若写指令指定的地址是预先定义的特殊地址,该方法进一步包括对所述写指令进行校验,若所述写指令校验通过,则继续执行所述将写指令携带的数据作为命令数据传送给安全控制模块的步骤及其后续步骤。较佳地,该方法进一步包括若所述写指令指定的地址不是预先定义的特殊地址,或者所述写指令携带的数据未通过校验,则存储控制模块将所述写指令携带的数据作为普通数据传送给普通存储模块进行存储。一种基于上述的证书认证装置的证书更新方法,该方法包括当证书认证装置MobileKey中原有的数字证书失效后,MobileKey按照与认证中心CA预先协商好的协议产生新的公、私钥对,通过其连接的终端向CA发送经CA的公钥加密的更新请求;所述更新请求中携带所述新的公钥;CA使用CA的私钥对收到的加密的更新请求进行解密,利用所述更新请求中携带的新的公钥为MobileKey重新签发新的数字证书,返回更新响应,所述更新响应中包括加密后的新数字证书;MobileKey收到CA返回的更新响应后,用所述新的数字证书和所述新的私钥替换 Mobi 1 eKey中原有的已失效的数字证书和原有的私钥。较佳地,所述更新请求中进一步携带用于唯一标识MobileKey身份的MobileKey 标识、已经失效的数字证书及会话密钥;所述失效的数字证书中包含使用CA的私钥加密的MobileKey标识。较佳地,所述CA对更新请求进行解密后,该方法进一步包括根据所述MobileKey标识和失效的数字证书判断所述MobileKey是否是CA域内的合法用户,若是,则继续执行所述利用更新请求中携带的新的公钥为MobileKey重新签发新的数字证书的步骤及其后续步骤,否则结束证书更新流程。较佳地,所述根据所述MobileKey标识和失效的数字证书判断所述MobileKey是否是CA域内的合法用户,包括用CA的公钥解密MobileKey数字证书中CA的签名,恢复出MobileKey标识的明文,并判断恢复出的MobileKey标识是否与MobileKey发送来的更新请求中携带的 MobileKey标识相同,相同则为CA域内的合法用户,不同则不是合法用户。较佳地,所述更新请求中进一步携带CA数字签名;所述CA数字签名是指CA对保存在MobileKey中的已经失效的数字证书序列号加密后得到的数据,CA数字签名是CA上一次给MobileKey签发数字证书,即保存在证书认证装置中的已经失效的数字证书时,发送给Mobi 1 eKey的。较佳地,根据所述MobileKey标识和失效的数字证书判断所述MobileKey是CA域内的合法用户之后,该方法进一步包括根据所述更新请求中携带的CA数字签名判断该更新请求是否是MobileKey发送来的,如果是,则继续执行所述利用更新请求中携带的新的公钥为MobileKey重新签发新的数字证书的步骤及其后续步骤,否则结束证书更新流程。较佳地,根据所述更新请求中携带的CA数字签名判断该更新请求是否是 MobileKey发送来的,包括根据CA的公钥解密所述CA数字签名,恢复出已经失效的数字证书序列号的明文, 并判断恢复出的已经失效的证书序列号是否与MobileKey发送来的更新请求中携带的已经失效的数字证书的序列号相同,如果相同,则判断出该更新请求是MobileKey发送来的, 否则判断出该更新请求不是MobileKey发送来的。较佳地,所述返回更新响应包括CA用MobileKey发送来的所述会话密钥对所述重新签发的新的数字证书进行加密,使用CA的私钥对新签发的数字证书的序列号进行加密得到新的CA数字签名,再使用 MobileKey发送来的会话密钥对新的CA数字签名进行加密;所述更新响应中携带加密后的新的数字证书和加密后的新CA数字签名。较佳地,MobileKey收到CA返回的更新响应后,该方法进一步包括用所述会话密钥对所述更新响应中携带的加密后的新的数字证书及加密后的新 CA数字签名进行解密,并继续执行用所述新的数字证书和所述新的私钥替换MobileKey中原有的已失效的数字证书和原有的私钥的步骤,并进一步执行用所述新CA数字签名替换原CA数字签名的步骤。由上述的技术方案可见,本发明的这种证书认证装置,用于移动终端时,由于使用硬件作为私钥和证书等安全信息的载体,安全性远高于软证书方式;由于采用存储卡接口, 通信速度远高于SIM卡的IS07816接口;另外,由于基于标准的存储卡接口,适用范围广泛, 除移动终端外,还可以通过读卡器等设备与PC等终端相连作为PC平台的证书载体。本发明的这种证书认证装置的访问方法,通过预先设定的特殊地址将对本发明的证书认证装置内保存的私密信息的访问,和对普通数据的访问区别开,从而实现对证书认证装置内的私密信息的访问。本发明的这种证书认证装置的证书更新方法,可以通过证书认证装置连接的终端设备与认证中心通信,在保证安全性的同时,实现在线的证书更新,从而简化了证书更新过程。


图1为现有存储卡结构示意图;图2为本发明实施例一的证书认证装置结构示意图;图3为本发明实施例二的证书认证装置结构示意图;图4为本发明实施例三的证书认证装置结构示意图;图5为本发明实施例的证书认证装置访问方法流程图;图6为本发明实施例的证书更新方法流程图。
具体实施例方式为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。本发明主要是在标准接口的存储卡中内嵌用于证书认证的模块,通过硬件保存保密信息并完成证书认证过程,从而能够在保证安全性的情况下,提高证书认证的速度,并拥有较大的适用范围。本发明这种证书认证装置可称为MobileKey。图1为现有的存储卡结构示意图,如图1所示,包括普通存储模块101、存储控制模块102和接口模块103 ;其中普通存储模块101用于存储普通数据,一般由闪存(FLASH)芯片实现;存储控制模块102与普通存储模块101及接口模块103分别相连,用于对普通存储模块101进行数据的读写控制等,一般由一块独立芯片实现;接口模块103用于收发数据,可以采用安全数码卡(SD)/多媒体卡(MMC)/记忆棒(Memory Stick)等标准接口实现。
本发明具体实施例中,将在现有的存储卡结构中增加以下用于证书认证的模块安全存储模块,用于存储用于证书认证的私密信息,例如数字证书、数字证书对应的私钥信息,密钥种子等不可泄露的信息,不用于普通数据的存储。运算处理模块,用于对加密算法进行硬件加速,例如可以是RSA(—种加密算法) 运算加速引擎、随机数发生器、AES ( —种加密算法)运算引擎等,根据使用的具体加密算法不同而异。安全控制模块,用于调度运算处理模块进行运算、控制安全存储模块进行数据的存储和输出等。上述三个模块在物理上,可以由一个独立的芯片实现,例如智能卡芯片、专用的协处理芯片等,并与存储控制模块通过串口、IS07816、串行外设接口(SPI)等总线方式连接, 也可以将上述三个模块集成在现有的其他模块所在的芯片中,例如将上述三个模块全部集成于存储控制模块所在芯片;或者将安全存储模块集成于普通存储模块所在的FLASH芯片,运算处理模块和安全控制模块集成于存储控制模块所在芯片。图2为本发明实施例一的证书认证装置结构示意图,如图2所示,该装置包括普通存储模块201、存储控制模块202,和接口模块203,安全存储模块204,运算处理模块205, 以及安全控制模块206。其中,普通存储模块201、存储控制模块202和接口模块203的功能及连接关系与现有存储卡相同,不再赘述。安全存储模块204与运算处理模块205以及安全控制模块206 分别相连,安全控制模块206还与存储控制模块202相连,安全存储模块204与运算处理模块205以及安全控制模块206集成于一个独立的安全处理芯片中,而普通存储模块201由 FLASH芯片实现,存储控制模块202由控制器芯片实现。图3为本发明实施例二的证书认证装置结构示意图,如图3所示,该装置包括普通存储模块301、存储控制模块302,和接口模块303,安全存储模块304,运算处理模块305, 以及安全控制模块306。其中,各模块的功能和连接关系相同,不再赘述。其与实施例一的区别在于安全存储模块304、运算处理模块305以及安全控制模块306与存储控制模块302集成于控制器芯片中。图4为本发明实施例三的证书认证装置结构示意图,如图4所示,该装置包括普通存储模块401、存储控制模块402,和接口模块403,安全存储模块404,运算处理模块405, 以及安全控制模块406。其中,各模块的功能和连接关系相同,不再赘述。其与实施例一、二的区别在于安全存储模块404与普通存储模块401集成于FLASH芯片中,而运算处理模块405以及安全控制模块406与存储控制模块402集成于控制器芯片中。当然,对于本发明的证书认证装置来说,由于普通存储模块的功能与证书认证无关,所以并不是必须的。另外,不限于上述三个实施例,本发明中安全存储模块、运算处理模块以及安全控制模块在物理上也可以分别通过独立的芯片实现,或者集成于现有存储卡内的任意芯片中。对于上述证书认证装置来说,由于是在标准存储卡的接口上扩展证书认证的应用,而标准的存储卡协议并不支持对卡内用于证书认证的模块的访问,如果不能实现对用于证书认证的模块的访问,则证书认证的认证过程和证书更新过程等将无法实现。对此, 我们设计了通过共享地址的方式访问卡内用于证书认证的模块的方法,具体步骤如图5所示,包括步骤501,预先定义特殊地址。这个特殊地址可以是某一个地址或某一段地址范围,具体可根据需要而定。由于存储卡属于外部存储设备,只能通过写或读指令进行操作,而写或读指令中指定了具体写或读的地址,因此可以通过定义特殊地址,在接收到写或读指令时,通过判断指令中指定的地址,区分出外部应用程序是对证书认证装置中现有的普通存储模块进行读写操作,还是对本发明中用于证书认证的模块进行的操作。步骤502,根据特殊地址确定命令数据。当外部应用程序需要访问卡内数据时,例如控制器芯片中的存储控制模块通过接口模块接收到外部应用程序发送的写指令时,判断写指令中指定的地址是否是预先定义的特殊地址。如果是特殊地址,则进一步校验写指令携带的数据的有效性,有效性校验实际上是为了安全性考虑,防止指令被中途篡改,一般来说可以采用校验和方式进行校验,或者采用加密算法等,具体校验方法可以使用现有的任意校验方法,这里不再赘述,当然,如果对于安全性要求不高,这里也可以不进行校验;如果校验不通过,则将写指令携带的数据作为普通数据存储到普通存储模块。如果校验通过,则作为命令数据传送给安全控制模块;另外,如果不是特殊地址,则直接将写指令携带的数据作为普通数据存储到普通存储模块。步骤503,根据所述命令数据进行相应处理。安全控制模块接收到命令数据时,解析并响应该命令数据进行相应的处理,命令数据内包含的是外部应用程序对本发明中各个用于证书认证的模块的操作指令,例如可以是调用运算处理模块对安全存储模块内保存的私密信息进行加密、生成密钥等操作,或者对安全存储模块进行私密信息数据的存储等。安全控制模块响应命令数据进行处理完成之后,将响应命令数据进行处理后得到的响应数据输出给存储控制模块。步骤504,将处理后的数据进行反馈。存储控制模块得到安全控制模块反馈的响应数据后,重新组织具体应用的响应数据,并存放在存储控制模块内部的缓存区中。由于在存储卡中进行处理得到数据的格式与外部应用程序所需要的数据格式不同,因此这里存储控制模块需要将响应数据重新大包封装成外部程序所需要的数据格式,以便外部应用程序的读取。另外,由于存储卡是被动设备,外部应用程序只能通过读指令获取数据。因此当存储控制模块通过接口模块接收到外部应用发送的存储卡读指令时,需要判断读指令指定的地址是否是预先定义的特殊地址, 如果是特殊地址,且存储控制模块已经完成了响应数据的重组,则将重组好的响应数据作为存储卡读指令的反馈数据,通过接口模块反馈给外部应用。在上述过程中,外部应用程序对特殊地址发出读写指令,可以采用两种方式实现, 一种是直接利用系统的应用程序接口(API)进行物理地址的数据读写;另一种是读写覆盖了这个扇区的文件,通过对文件某个数据块的读写,实现通过文件系统进行物理地址的数据读写。另外,外部应用程序对于认证的模块的具体应用功能指令可以作为读写指令指定的数据携带在读写指令中。通过上述方法,外部应用程序即可实现对存储卡内的用于证书认证的模块的访问,本领域具体技术人员根据该访问方法,即可实现具体的证书认证的过程,由于本发明并未对证书认证过程进行改进,因此通过本发明的证书认证装置具体实现证书认证的过程这里就不再赘述了。为了提高MobileKey在使用过程中的安全性,认证中心(CA)在给MobileKey 分配数字证书时会对该数字证书设置有效期,一旦过了有效期,该数字证书将变得无效, MobileKey在与移动终端设备进行身份认证时将无法通过。因此,为了保证MobileKey的正常使用,CA需要对MobileKey的数字证书进行更新。由于MobileKey无法直接与CA建立通信,而且MobileKey大都处于离线状态, 从而使得数字证书更新比较困难。一种可能的方法是,由用户定期到CA指定的地点对 MobileKey数字证书进行更新,但这种数字证书更新过程较为繁琐,并且会给用户带来诸多不便。有鉴于此,本发明提供了一种Mobi 1 eKey数字证书更新方法,简化了 Mobi 1 eKey的数字证书更新过程。本发明中的MobileKey可以通过终端以在线方式进行数字证书更新,即让 MobileKey在与终端连接时,利用终端和CA之间的数据连接通道,如WLAN、GPRS等,完成 MobileKey数字证书的更新。MobileKey先按照预先与CA协商好的协议产生公、私钥对, 向CA发起数字证书更新请求,CA收到更新请求后,重新为MobileKey签发数字证书,之后, MobileKey用重新签发的数字证书和私钥替换失效的数字证书和私钥,完成整个更新过程。下面以MobileKey与移动终端连接时进行证书更新过程的典型应用为例进行详细说明,当然,在MobileKey与个人电脑(PC)等其他终端连接时,证书更新的过程也是相同的。首先,MobileKey内需要存储有能够唯一标识MobileKey身份的MobileKey标识、 MobileKey数字证书和CA数字证书等私密信息,其中,CA数字证书中包含有CA的公钥,对应的,CA中保存有CA数字证书对应的CA的私钥。如图6所示,数字证书更新过程包括以下步骤步骤601 当MobileKey数字证书失效时,MobileKey启动证书更新过程,先按照预先与CA协商好的协议产生新的公、私钥对以及会话密钥,通过其连接的移动终端向CA发送更新请求。更新请求中携带以下请求信息=MobileKey标识、失效的MobileKey数字证书、按照预先与CA协商好的协议产生的新的公钥、CA数字签名及会话密钥,为信息的安全传输起见,请求信息必须用CA的公钥进行加密。其中,失效的MobileKey数字证书中包含使用CA的私钥加密的MobileKey标识。 MobileKey标识和失效的MobileKey数字证书是用于让CA判断MobileKey是否是CA域内的合法用户,如果对于安全性要求不高,可以省略判断MobileKey是否是CA域内的合法用户的步骤,这时更新请求中也可以不携带MobileKey标识和失效的MobileKey数字证书。CA数字签名是指用CA的私钥对某些信息进行加密而得到的数据,例如本实施例中是CA对保存在证书认证装置中的已经失效的MobileKey数字证书序列号加密后得到的数据,当然,任何其它具有唯一性的信息都可以进行加密操作得到CA数字签名。CA数字签名是CA在为Mob i 1 eKey签发数字证书时发送给Mob i 1 eKey的,即CA上一次给Mob i 1 eKey签发MobileKey数字证书(保存在证书认证装置中的已经失效的MobileKey数字证书)时, 发送给MobileKey的。另外,CA数字签名不能放在MobileKey数字证书中发送,也就是说,CA数字签名不能公开。CA数字签名是为防止移动终端欺骗CA而设置的,保存在MobileKey内,移动终端无法得到,并且,由于移动终端没有CA的私钥,无法伪造CA数字签名,因此移动终端也就无法伪造MobileKey向CA发送的更新请求来欺骗CA。而会话密钥是为防止移动终端欺骗MobileKey而设置,由于会话密钥只在 MobileKey和CA之间传递,移动终端不知道CA和MobileKey的会话密钥,因此,移动终端无法解密响应信息,也无法通过伪造响应信息来欺骗MobileKey。在数字证书更新过程中,CA数字签名和会话密钥可以同时使用,也就是说,在更新请求中同时携带CA数字签名和会话密钥;也可以仅使用CA数字签名或者仅使用会话密钥, 当不使用CA数字签名时,CA不需要在为MobileKey签发新的数字证书时发送CA数字签名的操作;当然,如果对可能出现的中间人攻击的安全性要求不高,也可以都不使用,通过CA 数字证书对MobileKey与CA之间通信进行加密也可以保证较高的安全性。下面针对同时使用CA数字签名和会话密钥、以及用CA的公钥加密请求信息的情况进行详细阐述。步骤602 =CA收到MobileKey发送来的更新请求后,判断MobileKey是否是CA域内的合法用户,即CA首先用CA的私钥对收到的请求信息进行解密,恢复出请求信息明文, 然后,用CA的公钥解密MobileKey数字证书中CA的签名,恢复出MobileKey标识的明文, 并判断恢复出的MobileKey标识是否与MobileKey发送来的更新请求中携带的MobileKey 标识相同,如果相同,则说明该MobileKey是CA域内的合法用户,继续执行步骤603 ;如果不同,则说明该MobileKey不是CA域内的合法用户,CA终止与该MobileKey的通信,即结束本流程的处理。步骤603 :CA根据更新请求中携带的CA数字签名判断该更新请求是否是 MobileKey发送来的,如果是,则执行步骤604 ;否则,CA终止会话,即结束本流程的处理。具体地,CA用自身的公钥解密CA数字签名,恢复出MobileKey证书序列号的明文,并判断恢复出的MobileKey证书序列号是否与MobileKey发送来的更新请求中携带的 MobileKey数字证书中的序列号相同,如果相同,则说明该更新请求是MobileKey发送来的,因为只有MobileKey才拥有CA对MobileKey证书序列号的签名即CA数字签名,然后执行步骤604;如果不同,则说明该更新请求不是MobileKey发送来的,CA终止会话,结束本流程。如果更新请求中没有携带CA数字签名,那么,在步骤602中判断出该MobileKey 是CA域内的合法用户后,可以直接执行步骤604,无需执行步骤603。步骤604 :CA利用更新请求中携带的MobileKey按照预先与CA协商好的协议产生的新的公钥为MobileKey重新签发新的数字证书,并用MobileKey发送来的会话密钥对重新签发的数字证书进行加密,使用CA的私钥对新签发的数字证书的序列号进行加密得到新的CA数字签名,再使用MobileKey发送来的会话密钥对新的CA数字签名进行加密 ’然后,通过移动终端向MobileKey返回更新响应,该更新响应中携带的响应信息包括加密后的新数字证书以及加密后的新CA数字签名;如果不使用会话密钥,则无需对新签发的新数字证书和新CA数字签名进行加密,更新响应中携带新签发的新数字证书和CA数字签名的明文。步骤605 =MobileKey收到CA返回的更新响应后,用会话密钥解密响应信息,恢复 MobileKey的新数字证书,并用新数字证书和按照预先与CA协商好的协议产生的私钥替换 MobileKey中原有的已失效的数字证书和私钥;用新的CA数字签名替换原CA数字签名。至此,整个数字证书更新过程结束。该证书更新方法可以通过移动终端以在线的方式进行数字证书更新,在保证更新过程的安全性的同时,能够使MobileKey的数字证书更新过程得以简化,用户无需定期到CA指定的地点对MobileKey数字证书进行更新,很大程度上方便了用户。
权利要求
1.一种证书认证装置,包括普通存储模块、存储控制模块和接口模块;所述普通存储模块与存储控制模块相连,所述存储控制模块和接口模块相连;其特征在于,该装置还包括安全存储模块,与运算处理模块以及安全控制模块分别相连,用于存储用于证书认证的私密信息;运算处理模块,用于对加密算法进行硬件加速;安全控制模块,与所述存储控制模块相连,用于调度所述运算处理模块进行运算,控制所述安全存储模块进行数据的存储和输出。
2.如权利要求1所述的证书认证装置,其特征在于,所述安全存储模块、运算处理模块和安全控制模块集成于一块独立芯片。
3.如权利要求1所述的证书认证装置,其特征在于,所述安全存储模块、运算处理模块、安全控制模块和存储控制模块集成于一块独立芯片。
4.如权利要求1所述的证书认证装置,其特征在于,所述安全存储模块与所述普通存储模块集成于一块独立芯片;所述运算处理模块、安全控制模块和存储控制模块集成于另一块独立芯片。
5.所述如权利要求1 4中任一项权利要求所述的证书认证装置,其特征在于,所述安全控制模块与所述存储控制模块通过串口、国际标准化组织IS07816或串行外设接口 SPI 总线方式连接。
6.一种基于权利要求1所述的证书认证装置的访问方法,其特征在于,该方法包括 存储控制模块通过接口模块接收到存储卡写指令时,若所述写指令指定的地址是预先定义的特殊地址,则将所述写指令携带的数据作为命令数据传送给安全控制模块;安全控制模块解析并响应所述命令数据,根据所述命令数据对应的操作指令进行处理;安全控制模块将处理完成后得到的响应数据输出给存储控制模块; 存储控制模块对所述响应数据进行重组。
7.如权利要求6所述的访问方法,其特征在于,该方法进一步包括当存储控制模块通过接口模块接收到外部应用程序发送的读指令时,若所述读指令指定的地址是预先定义的特殊地址,则将重组后的所述响应数据作为读指令的反馈数据反馈给外部应用程序。
8.如权利要求6或7所述的访问方法,其特征在于,所述若写指令指定的地址是预先定义的特殊地址,该方法进一步包括对所述写指令进行校验,若所述写指令校验通过,则继续执行所述将写指令携带的数据作为命令数据传送给安全控制模块的步骤及其后续步骤。
9.如权利要求8所述的访问方法,其特征在于,该方法进一步包括若所述写指令指定的地址不是预先定义的特殊地址,或者所述写指令携带的数据未通过校验,则存储控制模块将所述写指令携带的数据作为普通数据传送给普通存储模块进行存储。
10.一种基于权利要求1所述的证书认证装置的证书更新方法,其特征在于,该方法包括当证书认证装置MobileKey中原有的数字证书失效后,MobileKey按照与认证中心CA预先协商好的协议产生新的公、私钥对,通过其连接的终端向CA发送经CA的公钥加密的更新请求;所述更新请求中携带所述新的公钥;CA使用CA的私钥对收到的加密的更新请求进行解密,利用所述更新请求中携带的新的公钥为MobileKey重新签发新的数字证书,返回更新响应,所述更新响应中包括加密后的新数字证书;MobileKey收到CA返回的更新响应后,用所述新的数字证书和所述新的私钥替换 Mobi 1 eKey中原有的已失效的数字证书和原有的私钥。
11.如权利要求10所述的证书更新方法,其特征在于,所述更新请求中进一步携带用于唯一标识MobileKey身份的MobileKey标识、已经失效的数字证书及会话密钥;所述失效的数字证书中包含使用CA的私钥加密的MobileKey标识。
12.如权利要求11所述的证书更新方法,其特征在于,所述CA对更新请求进行解密后, 该方法进一步包括根据所述MobileKey标识和失效的数字证书判断所述MobileKey是否是CA域内的合法用户,若是,则继续执行所述利用更新请求中携带的新的公钥为MobileKey重新签发新的数字证书的步骤及其后续步骤,否则结束证书更新流程。
13.如权利要求12所述的证书更新方法,其特征在于,所述根据所述MobileKey标识和失效的数字证书判断所述MobileKey是否是CA域内的合法用户,包括用CA的公钥解密MobileKey数字证书中CA的签名,恢复出MobileKey标识的明文,并判断恢复出的MobileKey标识是否与MobileKey发送来的更新请求中携带的MobileKey标识相同,相同则为CA域内的合法用户,不同则不是合法用户。
14.如权利要求12所述的证书更新方法,其特征在于,所述更新请求中进一步携带CA 数字签名;所述CA数字签名是指CA对保存在MobileKey中的已经失效的数字证书序列号加密后得到的数据,CA数字签名是CA上一次给MobileKey签发数字证书,即保存在证书认证装置中的已经失效的数字证书时,发送给MobileKey的。
15.如权利要求14所述的证书更新方法,其特征在于,根据所述MobileKey标识和失效的数字证书判断所述MobileKey是CA域内的合法用户之后,该方法进一步包括根据所述更新请求中携带的CA数字签名判断该更新请求是否是MobileKey发送来的, 如果是,则继续执行所述利用更新请求中携带的新的公钥为MobileKey重新签发新的数字证书的步骤及其后续步骤,否则结束证书更新流程。
16.如权利要求15所述的证书更新方法,其特征在于,根据所述更新请求中携带的CA 数字签名判断该更新请求是否是MobileKey发送来的,包括根据CA的公钥解密所述CA数字签名,恢复出已经失效的数字证书序列号的明文,并判断恢复出的已经失效的证书序列号是否与MobileKey发送来的更新请求中携带的已经失效的数字证书的序列号相同,如果相同,则判断出该更新请求是MobileKey发送来的,否则判断出该更新请求不是MobileKey发送来的。
17.如权利要求15所述的证书更新方法,其特征在于,所述返回更新响应包括CA用MobileKey发送来的所述会话密钥对所述重新签发的新的数字证书进行加密, 使用CA的私钥对新签发的数字证书的序列号进行加密得到新的CA数字签名,再使用MobileKey发送来的会话密钥对新的CA数字签名进行加密;所述更新响应中携带加密后的新的数字证书和加密后的新CA数字签名。
18.如权利要求17所述的证书更新方法,其特征在于,MobileKey收到CA返回的更新响应后,该方法进一步包括用所述会话密钥对所述更新响应中携带的加密后的新的数字证书及加密后的新CA数字签名进行解密,并继续执行用所述新的数字证书和所述新的私钥替换MobileKey中原有的已失效的数字证书和原有的私钥的步骤,并进一步执行用所述新CA数字签名替换原CA 数字签名的步骤。
全文摘要
本发明公开了一种证书认证装置,该装置包括普通存储模块、存储控制模块和接口模块;所述普通存储模块与存储控制模块相连,所述存储控制模块和接口模块相连;该装置还包括安全存储模块,与运算处理模块以及安全控制模块分别相连,用于存储用于证书认证的私密信息;运算处理模块,用于对加密算法进行硬件加速;安全控制模块,与所述存储控制模块相连,用于调度所述运算处理模块进行运算,控制所述安全存储模块进行数据的存储和输出。该装置能够在保证安全性的情况下,拥有较高的证书认证速度。本发明还公开了一种基于该证书认证装置的访问方法和证书更新方法,实现对该证书认证装置的访问和证书的更新。
文档编号H04L9/32GK102571340SQ20101062043
公开日2012年7月11日 申请日期2010年12月23日 优先权日2010年12月23日
发明者刘道斌, 廖剑, 王晨阳, 陈庆方 申请人:普天信息技术研究院有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1