离线状态下存储卡与终端设备之间的身份认证方法

文档序号:7962562阅读:323来源:国知局
专利名称:离线状态下存储卡与终端设备之间的身份认证方法
技术领域
本发明涉及一种存储卡与终端设备之间的通信方法,尤其涉及一种离线状态下存储卡与终端设备之间的身份认证方法。
背景技术
美国专利文献US20050210241中,公开了一种存储卡与终端设备之间身份认证的方法。存储卡内保存有数字证书认证中心(Certificate Authority,简称CA)的证书、存储卡自己的证书以及证书吊销列表(Certificate Revocation List,简称CRL)等;终端设备内保存有CA的证书、终端自己的证书以及CRL等。存储卡与终端设备之间进行身份认证时,各自将自己的证书发给对方,各方首先验证对方证书的有效性,如果双方证书都有效,则认证通过,存储卡与终端设备之间就可以进行安全通信了。
在上述实现方案中,证书有效性验证是基于CRL进行的。存储卡在收到终端的证书之后,就在卡内CRL中查找是否有终端证书,如果没有,证明终端证书有效,否则,终端证书被视为无效。终端在收到存储卡的证书之后,也以类似的方式对存储卡证书有效性进行验证。其实,在存储卡、终端进行证书有效性认证之前,还有一个CRL更新的过程。首先,存储卡、终端将各自保存的CRL的签发时间信息发给对方,各方通过对比CRL签发时间就可以判断自己保存的CRL是否比对方的要新。如果存储卡发现自身保存的CRL不如终端的新,存储卡将向终端发送CRL更新请求,终端将保存的CRL发给存储卡,以替换存储卡内已过时的CRL。类似地,终端也以同样的方式判断自身保存的CRL是否过时并进行更换。
由以上的实现方案描述可以看出,在该技术方案下实现存储卡与终端设备之间的身份认证具有以下缺点首先,它要求在存储卡内维护CRL,而对于存储卡来说,其存储空间很有限,在存储卡内保存一定规模的CRL,需要耗费存储卡相当大的存储空间,使得存储卡的有效存储空间大大缩小。
其次,由于存储卡不能直接连网,使得存储卡内CRL无法实时更新,存储卡内CRL的更新只能通过终端进行,在终端离线状态下,那就只能在存储卡与终端之间进行更新,因此,在存储卡内保存一个无法保证实时性的CRL,对证书有效性验证来说,就没有什么实际意义了。
再次,在认证过程中,存储卡与终端之间要进行多次、频繁的信息交互,包括交互发送CRL签发时间信息、一方向另一方发送更新的CRL、交互发送证书以及处理完各种请求后的响应应答等。整个认证处理过程过于繁琐,处理不好会造成较大的时延,这也给存储卡和终端提出了较高的性能要求。

发明内容
因此本发明所要解决的技术问题是提供一种离线状态下存储卡与终端设备之间的身份认证方法,该方法能够提高存储卡与终端设备之间的身份认证响应速度、节省存储卡的存储空间。
本发明具体是这样实现的一种离线状态下存储卡与终端设备之间的身份认证方法,本方法包括如下步骤存储卡向终端发送认证请求,请求信息包括卡的身份号码和卡证书,卡证书中包含有卡的公钥;终端对请求信息进行处理后,向存储卡发送请求应答,应答信息包括终端的身份号码、终端证书、证书吊销列表和用卡公钥加密的随机数,终端证书中包含有终端的公钥;存储卡对应答信息进行处理后,向终端发送终止认证请求,请求信息是用终端公钥加密的随机数;终端对终止认证的请求信息进行处理后,向存储卡发送终止请求应答,应答信息是用终端产生的会话密钥加密的上述由存储卡产生的随机数;存储卡对终止请求应答信息进行处理以验证会话密钥的唯一性。
按上述方案,终端对请求信息进行处理包括如下步骤终端在证书吊销列表中查找是否有卡证书存在,如果没有,说明卡证书有效;终端产生随机数;终端利用卡证书中包含的卡的公钥加密上述随机数。
按上述方案,终端对请求信息进行处理包括如下步骤终端在证书吊销列表中查找是否有卡证书存在,如有,证明卡证书无效,终止认证。
按上述方案,存储卡对应答信息进行处理包括如下步骤存储卡在证书吊销列表中查找是否有终端证书存在,如果没有,说明终端证书有效;用卡私钥解密终端发送来的随机数;存储卡产生另一随机数;存储卡利用终端证书中包含的终端的公钥加密其产生的随机数;存储卡对两个随机数进行处理产生会话密钥;存储卡清除证书吊销列表。
按上述方案,所述存储卡对两个随机数进行处理采用模2运算。
按上述方案,存储卡对应答信息进行处理包括如下步骤存储卡在证书吊销列表中查找是否有终端证书存在,如有,证明终端证书无效,终止认证;存储卡清除证书吊销列表。
按上述方案,终端对终止认证的请求信息进行处理包括如下步骤用终端私钥解密存储卡发送来的随机数;终端对两个随机数进行处理产生会话密钥;终端利用上述会话密钥加密由存储卡产生的随机数。
按上述方案,所述终端对两个随机数进行处理采用模2运算。
按上述方案,存储卡对终止请求应答信息进行处理包括如下步骤用存储卡产生的会话密钥解密用终端产生的会话密钥加密的由存储卡产生的随机数;验证解密后的随机数是否与存储卡产生的随机数相同,如果相同,证明存储卡和终端产生了一致的会话密钥,验证成功,整个身份认证过程结束。
按上述方案,存储卡对终止请求应答信息进行处理包括如下步骤用存储卡产生的会话密钥解密用终端产生的会话密钥加密的由存储卡产生的随机数;验证解密后的随机数是否与存储卡产生的随机数相同,如果不相同,存储卡和终端要重新产生会话密钥,直到产生一致的会话密钥为止。
由于采用了上述处理步骤,本发明与现有技术相比,具有以下优点本发明在满足基本安全性的前提下提出了更加简单有效的存储卡与终端设备之间的身份认证方法,通过减少存储卡与终端设备之间的CRL签发时间信息交换等信息交互的次数,提高了身份认证的响应速度;同时,本发明不在存储卡内保存CRL,不进行CRL的更新维护,从而简化了身份认证过程,节省了存储卡在存储空间上的开销。


图1是本发明的离线状态下存储卡与终端设备之间身份认证的流程图;图2是本发明的步骤(2)中终端对请求信息进行处理的流程图;图3是本发明的步骤(3)中存储卡对应答信息进行处理的流程图;图4是本发明的步骤(4)中终端对终止认证的请求信息进行处理的流程图;图5是本发明的步骤(5)中存储卡对终止请求应答信息进行处理的流程图。
具体实施例方式
为了更好地理解本发明的实质内容,在详细描述本发明的具体实施过程之前,首先简要介绍与本发明相关的几个概念。
公开密码算法又称为非对称密码算法。有两个不同的密钥用于加密、解密,其中的一个密钥被公开,称为公钥;另一个密钥要严格保密,称为私钥。公钥和私钥都可以用于数据加、解密,公钥可以放在数字证书中以证书的形式向外公布。公开密码算法主要用于密钥分发和数字签名。
对称密码算法用于数据加密、解密的是同一个密钥。
PKI体系是一组建立在公开密码算法基础上的硬件、软件、人员和应用程序的集合,它采用证书管理公钥,通过第三方可信任机构CA(Certificate Authority,数字证书认证中心)把用户的公钥和用户的其他标识信息(如名称、身份证号等)绑定在一起,用以在互联网上验证用户的身份,PKI体系把公钥密码和对称密码有机的结合在一起,实现密钥的自动管理,保证网上数据的机密性、完整性。
CA(Certificate Authority,数字证书认证中心)CA是一个独立于所有用户之外的可信任的第三方,是整个PKI体系的核心。CA负责为PKI体系中所有的实体(用户、软件、机器等)发放数字证书,更新证书和废止过期证书。通过一个完整的CA认证体系,可以有效地实现对数字证书的验证。
数字证书是由CA签发的用于标明用户身份的电子文档,包含用户的公钥、可以唯一标识用户身份的基本信息(用户ID)以及CA对上述信息的签名等,CA将签发的证书发送给最终用户,并将该证书公布出去。
证书吊销列表(Certificate Revocation List,简称CRL)用户证书因用户私钥遗失、泄漏或被破解等原因必须被吊销,吊销的证书信息要及时发布出去,一般CA通过发布CRL来完成,CRL是由CA签名的一组电子文档,包含了被吊销证书的唯一标识(证书序列号),证书验证方利用CRL来验证证书持有者的证书是否有效。
数字签名是由用户私钥加密的消息数据,通过利用用户公钥解密签名数据来验证消息数据的来源以及数据的完整性。
以下结合附图对本发明的具体实施过程作进一步的说明本发明的设计构思本发明针对现有的存储卡与终端设备之间身份认证方法中存在的技术问题,提出不在存储卡内保存证书吊销列表(Certificate Revocation List,简称CRL),存储卡与终端设备都利用终端设备中保存的CRL来验证对方证书的有效性,从而简化身份认证过程,提高认证响应速度,节省存储卡的有效存储空间。根据上述设计构思,本发明按下列过程实现一种离线状态下存储卡与终端设备之间进行身份认证的方法,首先设置相互传输身份认证数据的存储卡和终端设备,其中,存储卡端安装有卡的ID(Identity,身份号码)、数字证书认证中心(Certificate Authority,简称CA)的证书、卡证书;终端设备安装有终端的ID、CA的证书、终端证书、CRL。卡的ID是在存储卡生产时由CA分配给存储卡的用于标识其身份的唯一的身份号;CA的证书中包含有CA的公钥。CRL中包含CA的签名,这里,CA的签名是指用CA的私钥加密CRL得到的签名。认证过程中,存储卡与终端相互进行身份认证,图1是本发明的离线状态下存储卡与终端设备之间身份认证流程图,具体认证流程如下(1)存储卡向终端发送认证请求,请求信息包括卡的ID(Identity,身份号码)、卡证书,卡证书中包含有卡的公钥、CA的签名,这里,CA的签名是指用CA的私钥加密卡的公钥和卡ID得到的签名;(2)终端对请求信息进行预处理,预处理过程是本领域的常规技术,因此以下仅从原理上对其进行简要说明终端用CA的证书中CA的公钥解密卡证书中CA的签名,恢复出卡ID的明文,与存储卡发送来的卡的ID对比,如果两者不同,证明存储卡不是CA域内的合法用户,终端终止与存储卡的认证;如果两者相同,证明存储卡是合法用户。然后,终端对请求信息进行处理。然后,终端向存储卡发送请求应答,应答信息包括终端的ID、终端证书、终端CRL和用卡公钥加密的随机数RH,终端证书中包含有终端的公钥、CA的签名,这里,CA的签名是指用CA的私钥加密终端的公钥和终端ID得到的签名;(3)存储卡对应答信息进行预处理,预处理过程是本领域的常规技术,因此以下仅从原理上对其进行简要说明存储卡用CA的证书中CA的公钥解密终端证书中CA的签名,恢复出终端ID的明文,与终端发送来的终端的ID对比,如果两者不同,证明终端不是CA域内的合法用户,存储卡终止与终端的认证;如果两者相同,证明终端是合法用户。为了防止终端发送伪造的CRL,存储卡还要对终端发送过来的CRL进行验证,存储卡利用卡内CA证书中CA的公钥解密CRL中CA的签名,恢复出CRL的明文,将该明文与终端发送来的CRL对比,如果两者不同,说明终端发送的CRL是伪造的,存储卡就此终止与终端的认证;如果两者相同,说明终端发送的CRL是真实可信的,存储卡可以依据该CRL验证终端证书的有效性。然后,存储卡对应答信息进行处理。然后,存储卡向终端发送终止认证请求,请求信息是用终端公钥加密的随机数RS;(4)终端对终止认证的请求信息进行处理后,向存储卡发送终止请求应答,应答信息是用终端产生的会话密钥加密的由卡产生的随机数RS;(5)存储卡对终止请求应答信息进行处理以验证会话密钥的唯一性。
图2是步骤(2)中终端对请求信息进行处理的流程图,所包括的步骤具体流程如下(2a)终端在终端CRL中查找是否有卡证书存在,如果没有,说明卡证书有效,转到(2b);如有,证明卡证书无效,终止认证;(2b)终端产生随机数RH;(2c)终端利用卡证书中包含的卡的公钥加密随机数RH。
图3是步骤(3)中存储卡对应答信息进行处理的流程图,所包括的步骤具体流程如下(3a)存储卡在终端CRL中查找是否有终端证书存在,如果没有,说明终端证书有效,转到(3b);如有,证明终端证书无效,终止认证,然后转到(3f);(3b)用卡私钥解密终端发送来的随机数RH;(3c)存储卡产生随机数RS;(3d)存储卡利用终端证书中包含的终端的公钥加密随机数RS;(3e)存储卡对随机数RH、RS进行模2运算产生会话密钥;(3f)存储卡清除由终端发送来的终端CRL。
图4是步骤(4)中终端对终止认证的请求信息进行处理的流程图,所包括的步骤具体流程如下(4a)用终端私钥解密存储卡发送来的随机数RS;(4b)终端对随机数RH、RS进行模2运算产生会话密钥;
(4c)终端利用会话密钥加密由卡产生的随机数RS。
图5是步骤(5)中存储卡对终止请求应答信息进行处理的流程图,所包括的步骤具体流程如下(5a)用卡产生的会话密钥解密用终端产生的会话密钥加密的由卡产生的随机数RS;(5b)验证解密后的随机数是否与(3c)中卡产生的随机数RS相同,如果相同,证明存储卡和终端产生了一致的会话密钥,验证成功,整个身份认证过程结束;否则,存储卡和终端要重新产生会话密钥,直到产生一致的会话密钥为止。
从以上实现过程中可以看出,由于存储卡不能直接连网,如果存储卡中保存CRL,该CRL的更新也必须通过终端设备进行,也就是说,通常情况下,卡端的CRL更新频率不如终端的高,终端维护的CRL通常要新于卡端的,基于终端的CRL验证证书的有效性,其结果比基于卡端CRL更准确。因此,与现有技术相比,在离线状态下,采用本发明的技术方案,存储卡与终端设备之间身份认证的安全性并没有降低。
权利要求
1.一种离线状态下存储卡与终端设备之间的身份认证方法,本方法包括如下步骤存储卡向终端发送认证请求,请求信息包括卡的身份号码和卡证书,卡证书中包含有卡的公钥;终端对请求信息进行处理后,向存储卡发送请求应答,应答信息包括终端的身份号码、终端证书、证书吊销列表和用卡公钥加密的随机数,终端证书中包含有终端的公钥;存储卡对应答信息进行处理后,向终端发送终止认证请求,请求信息是用终端公钥加密的随机数;终端对终止认证的请求信息进行处理后,向存储卡发送终止请求应答,应答信息是用终端产生的会话密钥加密的上述由存储卡产生的随机数;存储卡对终止请求应答信息进行处理以验证会话密钥的唯一性。
2.如权利要求1所述的离线状态下存储卡与终端设备之间的身份认证方法,其特征在于,终端对请求信息进行处理包括如下步骤终端在证书吊销列表中查找是否有卡证书存在,如果没有,说明卡证书有效;终端产生随机数;终端利用卡证书中包含的卡的公钥加密上述随机数。
3.如权利要求1所述的离线状态下存储卡与终端设备之间的身份认证方法,其特征在于,终端对请求信息进行处理包括如下步骤终端在证书吊销列表中查找是否有卡证书存在,如有,证明卡证书无效,终止认证。
4.如权利要求1所述的离线状态下存储卡与终端设备之间的身份认证方法,其特征在于,存储卡对应答信息进行处理包括如下步骤存储卡在证书吊销列表中查找是否有终端证书存在,如果没有,说明终端证书有效;用卡私钥解密终端发送来的随机数;存储卡产生另一随机数;存储卡利用终端证书中包含的终端的公钥加密其产生的随机数;存储卡对两个随机数进行处理产生会话密钥;存储卡清除证书吊销列表。
5.如权利要求4所述的离线状态下存储卡与终端设备之间的身份认证方法,其特征在于,所述存储卡对两个随机数进行处理采用模2运算。
6.如权利要求1所述的离线状态下存储卡与终端设备之间的身份认证方法,其特征在于,存储卡对应答信息进行处理包括如下步骤存储卡在证书吊销列表中查找是否有终端证书存在,如有,证明终端证书无效,终止认证;存储卡清除证书吊销列表。
7.如权利要求1至6中任意一项所述的离线状态下存储卡与终端设备之间的身份认证方法,其特征在于,终端对终止认证的请求信息进行处理包括如下步骤用终端私钥解密存储卡发送来的随机数;终端对两个随机数进行处理产生会话密钥;终端利用上述会话密钥加密由存储卡产生的随机数。
8.如权利要求7所述的离线状态下存储卡与终端设备之间的身份认证方法,其特征在于,所述终端对两个随机数进行处理采用模2运算。
9.如权利要求8所述的离线状态下存储卡与终端设备之间的身份认证方法,其特征在于,存储卡对终止请求应答信息进行处理包括如下步骤用存储卡产生的会话密钥解密用终端产生的会话密钥加密的由存储卡产生的随机数;验证解密后的随机数是否与存储卡产生的随机数相同,如果相同,证明存储卡和终端产生了一致的会话密钥,验证成功,整个身份认证过程结束。
10.如权利要求8所述的离线状态下存储卡与终端设备之间的身份认证方法,其特征在于,存储卡对终止请求应答信息进行处理包括如下步骤用存储卡产生的会话密钥解密用终端产生的会话密钥加密的由存储卡产生的随机数;验证解密后的随机数是否与存储卡产生的随机数相同,如果不相同,存储卡和终端要重新产生会话密钥,直到产生一致的会话密钥为止。
全文摘要
本发明公开了一种离线状态下存储卡与终端设备之间的身份认证方法,包括如下步骤存储卡向终端发送认证请求,请求信息包括卡的身份号码和卡证书;终端对请求信息进行处理后,向存储卡发送请求应答,应答信息包括终端的身份号码、终端证书、证书吊销列表和用卡公钥加密的随机数;存储卡对应答信息进行处理后,向终端发送终止认证请求,请求信息是用终端公钥加密的随机数;终端对终止认证的请求信息进行处理后,向存储卡发送终止请求应答,应答信息是用终端产生的会话密钥加密的由存储卡产生的随机数;存储卡对终止请求应答信息进行处理以验证会话密钥的唯一性。本发明提高了存储卡与终端设备之间的身份认证响应速度、节省了存储卡的存储空间。
文档编号H04L9/32GK101090316SQ200610087600
公开日2007年12月19日 申请日期2006年6月16日 优先权日2006年6月16日
发明者刘道斌 申请人:普天信息技术研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1