一种认证方法及系统的制作方法

文档序号:7855817阅读:121来源:国知局
专利名称:一种认证方法及系统的制作方法
技术领域
本发明属于信息安全领域,尤其涉及一种认证方法及系统。
背景技术
在各应用系统中,常常需要完成对主体的身份认证,以确定谁在使用系统,以便可以赋予主体何种操作权限。身份认证技术发展至今已经有了一套成熟的技术体系,其中,利用数字证书完成身份认证是其中最安全有效的一种技术手段。在现有技术中,设备之间的认证并无证书链的参与,不能明确设备是否是可信任的,安全性较低。

发明内容
本发明的目的是为了克服现有技术的不足,提供一种安全性较高的认证方法及系·统。本发明提供了一种认证方法;具体包括步骤A :当智能密钥设备接收到接口设备发送的接口设备证书和接口设备证书签发CA的公钥时进行保存,并给所述接口设备返回保存成功响应;步骤B:所述接口设备接收到所述保存成功响应后,生成验证指令并将其发送给所述智能密钥设备;步骤C :所述智能密钥设备接收到所述验证指令后,对所述接口设备证书进行验证,如验证成功则执行步骤D,如验证失败则给所述接口设备返回失败响应,结束;步骤D :所述智能密钥设备判断所述接口设备证书签发CA的公钥与预置的信任公钥是否相同,是执行步骤I,否则将接口设备证书签发CA的证书设为当前证书,给所述接口设备返回失败响应,执行步骤E ;步骤E :所述接口设备接收到失败响应后,将所述接口设备证书签发CA的证书设为当前证书;步骤F :所述接口设备根据当前证书检索上级CA证书,如果检索到则将所述上级CA证书发给所述智能密钥设备,并将当前证书更新为所述上级CA证书,执行步骤G,否则,给所述智能密钥设备返回失败响应,结束;步骤G :所述智能密钥设备接收所述接口设备发送的上级CA证书,判断所述上级CA证书是否为当前证书的签发者证书,是则执行步骤H,否则给所述接口设备返回失败响应,结束;步骤H:所述智能密钥设备判断所述上级CA证书中的公钥与预置的信任公钥是否一致,是则执行步骤I,否则用所述上级CA证书更新当前证书,给所述接口设备返回失败响应,返回步骤F ;步骤I :所述智能密钥设备从所述接口设备中获取第一随机数,根据所述第一随机数、智能密钥设备证书和接口设备证书生成第一加密数据,并将所述第一加密数据发送给所述接口设备进行验证;
步骤J :所述接口设备接收所述第一加密数据并对其进行验证,将验证结果返回给所述智能密钥设备;步骤K:所述智能密钥设备接收所述接口设备返回的验证结果,并判断所述验证验证结果是否为成功响应,是则与所述接口设备进行通信,否则结束。其中,所述步骤I-步骤K替换为步骤I’ 所述智能密钥设备将第三随机数和智能密钥设备证书发送给所述接口设备;步骤J’ 所述接口设备接收所述第三随机数和智能密钥设备证书并生成认证指令,将所述认证指令发送给所述智能密钥设备;步骤K’所述智能密钥设备接收所述接口设备发送的认证指令,并对其进行解析,根据所述第三随机数、智能密钥设备证书和接口设备证书对解析结果进行验证,如验证成·功则给所述接口设备返回成功响应,与所述接口设备进行通信,如验证失败则给所述接口设备返回失败响应,结束。其中,所述认证方法还包括步骤I’ 所述智能密钥设备将第三随机数和智能密钥设备证书发送给所述接口设备;步骤J’ 所述接口设备接收所述第三随机数和智能密钥设备证书并生成认证指令,将所述认证指令发送给所述智能密钥设备;步骤K’所述智能密钥设备接收所述接口设备发送的认证指令,并对其进行解析,根据所述第三随机数、智能密钥设备证书和接口设备证书对解析结果进行验证,如验证成功则给所述接口设备返回成功响应,与所述接口设备进行通信,如验证失败则给所述接口设备返回失败响应,结束。其中,所述步骤C中对接口设备证书进行验证,具体包括步骤Cl :所述智能密钥设备从所述接口设备证书中获取证书签名原文和证书签名值,使用所述接口设备证书签发CA的公钥对所述证书签名值进行解密,得到第一摘要值,使用预设摘要算法对所述证书签名原文进行计算,得到第二摘要值;步骤C2 :所述智能密钥设备判断所述第一摘要值与所述第二摘要值是否相同,是则验证成功,否则验证失败。其中,所述接口设备根据当前证书检索上级CA证书,包括所述接口设备从当前证书中获取签发者字段,根据所述签发者字段检索上级CA证书。其中,所述接口设备根据当前证书检索上级CA证书,还包括所述接口设备从当前证书中获取主体字段,将所述主体字段与所述签发者字段比对,如一致则停止检索,结束;如不一致,则继续检索,如检索到则获取所述上级CA证书,并将其发给所述智能密钥设备,将所述当前证书更新为所述上级CA证书,如未检索到则给智能密钥设备返回失败响应,结束。其中,所述步骤G中判断所述上级CA证书是否为当前证书的签发者证书,包括步骤Gl :所述智能密钥设备从所述上级CA证书中提取公钥,根据所述公钥验证当前证书的合法性,如合法则继续;如不合法则给所述接口设备返回失败响应,结束;和/或
步骤Gl’ 所述智能密钥设备从所述上级CA证书中提取主体字段,从所述当前证书提取签发者字段,比较二者是否一致,是则继续;否则给所述接口设备返回失败响应,结束。其中,所述步骤I之前还包括所述智能密钥设备接收所述接口设备发送的第一指令,将所述智能密钥设备证书发送给所述接口设备进行保存。其中,所述步骤I中所述智能密钥设备从所述接口设备中获取第一随机数,包括所述智能密钥设备接收所述接口设备发送的第二指令,并对所述第二指令进行解析得到智能密钥设备证书标识、接口设备证书标识和所述第一随机数。其中,所述步骤I中根据所述第一随机数、所述智能密钥设备证书、所述接口设备证书生成第一加密数据,包括步骤121 :所述智能密钥设备生成第二随机数,根据智能密钥设备证书公钥、所述 第一随机数和第二随机数计算得到第一结果数值;步骤122 :所述智能密钥设备使用智能密钥设备私钥根据预设的签名算法对所述第一结果数值进行签名计算,得到第一签名值;步骤123 :所述智能密钥设备按照第一预设方法将所述第一签名值和第二随机数进行组合,得到第一原文数据;步骤124 :所述智能密钥设备从与所述接口设备证书标识对应的当前证书中获取接口设备公钥,使用所述接口设备公钥根据预设算法对所述第一原文数据进行加密计算,得到第一加密数据。其中,所述步骤112和步骤121之间包括所述智能密钥设备根据所述智能密钥设备证书标识和接口设备证书标识在其内部分别检索对应的智能密钥设备证书和接口设备证书,如检索到对应的证书则继续,如果没有检索到对应的证书,则给接口设备返回失败响应,结束。其中,所述步骤J具体包括所述接口设备接收到第一加密数据,使用接口设备私钥对所述第一加密数据进行解密,解密成功得到第一解密数据,根据第一预设方法的逆方法对所述第一解密数据进行拆分,得到第一拆分值和第二拆分随机数;所述接口设备使用所述第一随机数和智能密钥设备证书验证所述第一拆分值和第二拆分随机数是否正确,如果正确则给所述智能密钥设备返回验证成功响应,则与所述智能密钥设备进行通信;否则,给所述智能密钥设备返回验证失败响应,结束。其中,所述接口设备使用所述第一随机数和智能密钥设备证书验证所述第一拆分值和第二拆分随机数是否对应,具体包括步骤SI :所述接口设备对所述智能密钥设备证书进行解析,得到智能密钥设备证书公钥;步骤S2 :所述接口设备使用所述智能密钥设备证书公钥对所述第一拆分值进行解密,解密成功得到第一解密值,执行步骤S3 ;解密失败则给所述智能密钥设备返回失败响应,结束;步骤S3 :所述接口设备根据所述智能密钥设备证书公钥、第二拆分随机数和第一随机数生成第一认证数据;
步骤S4 :所述接口设备判断所述第一解密值与所述第一认证数据是否相同,是则给所述智能密钥设备返回成功响应,与所述智能密钥设备进行通信;否则,则给所述智能密钥设备返回失败响应,结束。其中,所述步骤I’包括所述智能密钥设备接收所述接口设备发送的第一获取指令,将所述智能密钥设备证书发送给所述接口设备进行保存;所述智能密钥设备接收所述接口设备发送的第二获取指令,将生成的所述第三随机数发送给所述接口设备进行保存。其中,所述步骤J’包括步骤J’ I :所述接口设备生成第四随机数;
·
步骤J,2 :所述接口设备根据接口设备证书公钥、所述第三随机数和第四随机数
生成第二结果数值;步骤J’ 3 :所述接口设备使用接口设备私钥对所述第二结果数值进行加密,生成第二加密值;步骤J’ 4 :所述接口设备用第一预设方法将所述第二加密值和第四随机数进行组合,得到第二原文数据;步骤J’ 5 :所述接口设备使用所述智能密钥设备证书中的智能密钥设备公钥对所述第二原文数据进行加密计算,得到第二加密数据;步骤J’ 6 :所述接口设备根据所述第二加密数据生成认证指令并将其发送给所述智能密钥设备。其中,所述步骤K’具体包括步骤K’ I :所述智能密钥设备接收所述认证指令并对其进行解析,得到第二加密数据、智能密钥设备证书标识、接口设备证书标识;步骤K’ 2 :所述智能密钥设备从与所述智能密钥设备证书中获取智能密钥设备私钥,并使用所述智能密钥设备私钥对所述第二加密数据进行解密,如解密成功,则得到第二解密值,执行步骤K’ 3,如解密失败,则向所述接口设备返回失败响应,结束;步骤K’ 3 :所述智能密钥设备根据所述第一预设方法的逆方法将所述第二解密值进行拆分,得到第二拆分值和第四拆分随机数;步骤K’ 4 :所述智能密钥设备对与所述接口设备证书标识对应的接口设备证书进行解析得到接口设备证书公钥,根据所述接口设备证书公钥、第四拆分随机数和第三随机数生成第二认证数据;步骤K,5 :所述智能密钥设备从所述接口设备证书中获取接口设备公钥,使用所述接口设备公钥对所述第二拆分值进行解密,如解密成功则得到第三解密值,执行步骤K’ 6,如解密失败则向接口设备返回失败响应,结束;步骤K,6 :所述智能密钥设备判断所述第三解密值与第二认证数据是否相同,是则向所述接口设备返回成功响应,与所述接口设备进行通信,否则给所述接口设备返回失败响应,结束。其中,所述步骤K’ I和步骤K’ 2之间包括所述智能密钥设备根据所述智能密钥设备证书标识和接口设备证书标识在其内部分别检索对应的智能密钥设备证书和接口设备证书,如检索到则继续,如果未检索到则向接口设备返回失败响应,结束。其中,所述验证失败后还包括所述接口设备和智能密钥设备清空内部存储的随机数。本发明有提供了一种认证系统,包括智能密钥设备和接口设备,所述智能密钥设备包括第一接收模块,用于接收所述接口设备发送的接口设备证书和接口设备证书签发CA的公钥、失败响应、成功响应、验证指令、上级CA证书、第一随机数、验证结果;第一存储模块,用于存储智能密钥设备证书、所述第一接收模块接收到的接口设备证书和接口设备证书签发CA的公钥;·第一验证模块,用于在所述第一接收模块接收到验证指令后,对所述第一存储模块中存储的接口设备证书进行验证;第一判断模块,包括第一判断单元,用于在所述第一验证模块验证成功后,判断所述第一存储模块中的接口设备证书签发CA的公钥与预置的信任公钥是否相同;第二判断单元,用于判断所述第一接收模块接收到的上级CA证书是否为当前证书的签发者证书;第三判断单元,用于在所述第二判断单元判断为是时,判断所述第一存储模块存储的上级CA证书中的公钥与预置的信任公钥是否一致;第四判断单元,用于判断所述第一接收模块接收到的验证结果是否为验证成功响应;第一设置模块,用于在所述第一判断单元判断为否时,将所述接口设备证书签发CA的证书设为当前证书;第一更新模块,用于在所述第三判断模块判断为否时,将当前证书更新为所述第一接收模块接收到的上级CA证书;第一生成模块,用于根据所述第一随机数、智能密钥设备证书和接口设备证书生成第一加密数据;第一发送模块,用于向所述接口设备发送响应、所述第一加密数据;所述接口设备包括第二接收模块,用于接收所述智能密钥设备发送的响应、所述第一加密数据;第二生成模块,用于生成所述验证指令、所述第一随机数;第二设置模块,用于将所述接口设备证书签发CA的证书设为当前证书;检索模块,用于根据当前证书检索上级CA证书;第二更新模块,用于将当前证书更新为所述检索模块检索到的上级CA证书;第二验证模块,用于对所述第二接收模块接收到的第一加密数据进行验证;第二发送模块,用于向所述第一接收模块发送所述接口设备证书和接口设备证书签发CA的公钥、失败响应、成功响应、验证指令、上级CA证书、所述第一随机数、所述第二验证模块的验证结果。其中,包括
所述第一生成模块还用于生成第三随机数;所述第一发送模块还用于向接口设备发送所述第三随机数和智能密钥设备证书;所述第二接收模块还用于接收所述第一发送模块发送的所述第三随机数和智能密钥设备证书;所述第二生成模块还用于生成认证指令;所述第二发送模块还用于向所述智能密钥设备发送认证指令;第一接收模块还用接收所述第二发送模块发送的认证指令;所述智能密钥设备还包括解析模块,用于对所述第一接收模块接收到的认证指令进行解析;·所述第一验证模块还用于根据所述第三随机数、智能密钥设备证书和接口设备证书对所述解析模块的解析结果进行验证。本发明的有益效果是本实施例的技术方案由于证书链的参与,极大的提高了智能密钥设备与接口设备之间认证的安全性;且在智能密钥设备对接口设备验证成功之后或接口设备对智能密钥设备验证成功之后,验证方将产生的随机数安全、正确的传送给了被验证方,被验证方将随机数进行缓存,用于派生会话密钥,实现了安全传送共享秘密的操作。


图I为本实施例一提供的一种认证方法流程图;图2为本实施例二提供的接口设备证书的验证过程流程图;图3为本实施例二提供的接口设备对智能密钥设备进行验证的方法流程图;图4为本实施例二提供的智能密钥设备对接口设备进行验证的方法流程图;图5为本发明实施例三提供的一种认证系统方框示意图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。下面通过具体的实施方式阐述本发明的具体实现过程,需要说明的是,以下实例仅是示意性的,并不能限制本发明。对于进行认证的智能密钥设备和接口设备而言,可以由接口设备对接入的智能密钥设备进行合法性验证,确保进行操作的设备的合法性;也可以由智能密钥设备对接口设备进行验证,确保设备进入了一个可信的操作环境;在某些特定环境下,要求智能密钥设备与接口设备相互进行验证,验证分别合法后才能进行操作;本实施例中的接口设备可以为驱动、进程和必要的硬件等。一方面,在接口设备使用之前,接口设备使用预设的算法生成一个非对称密钥对,用于身份认证;接口设备生成证书请求(包含有非对称密钥的公钥)并向其CA发起该请求,该CA颁发给接口设备一个合法的设备证书,设备证书中存有接口设备公钥;其中,该CA也有一个相匹配的公钥,如果该CA的公钥为“信任锚”,则该CA将CA证书和CA公钥发送给接口设备,此时,接口设备中存有接口设备证书、CA证书和CA公钥;如果该CA的公钥不是“信任锚”,即该CA还存在上一级的CA,如果该CA的上一级CA的公钥为“信任锚”,则该CA将CA的证书链发送给接口设备;如果上一级CA的公钥也不是“信任锚”,即还存在更上一级的CA,则以此类推直至推到其公钥为“信任锚”的CA,发送证书链的情况与上述相同;最后,接口设备中存有接口设备证书和与之相关的CA证书链,接口设备证书存储在证书文件中。另一方面,在智能密钥设备使用之前,智能密钥设备使用预设的算法生成一个非对称密钥对,用于身份认证;智能密钥设备生成证书请求(包含有非对称密钥的公钥)并向其CA发起该请求,该CA颁发给智能密钥设备一个合法的设备证书,设备证书中存有智能密钥设备公钥;其中,该CA也有一个相匹配的公钥,如果该CA的公钥为“信任锚”,则该CA将其公钥作为信任公钥发送给智能密钥设备;如果该CA的公钥不是“信任锚”,即该CA还存在上一级的CA,如果该CA的上一级CA的公钥为“信任锚”,则该CA将其公钥作为信任公钥发送给智能密钥设备;在这种情况下,如果上一级CA的公钥也不是“信任锚”,即还存在更·上一级的CA,则以此类推直至推到其公钥为“信任锚”的CA,发送信任公钥的情况与上述相同;最后,智能密钥设备中存有设备证书CA的信任公钥;智能密钥设备将设备证书存于证书文件中,将信任公钥存于公钥文件中。实施例一本实施例一提供一种认证方法,主要是智能密钥设备对与其连接的接口设备进行认证的具体实现过程;参见图1,包括如下步骤步骤Al :当智能密钥设备接收到接口设备发送的接口设备证书和接口设备证书签发CA的公钥时进行保存;步骤A2 :智能密钥设备给接口设备返回保存成功响应;步骤B:接口设备接收到保存成功响应后,生成验证指令并将其发送给智能密钥设备;步骤C :智能密钥设备接收到验证指令后,对保存的接口设备证书进行验证,如验证成功则执行步骤D,如验证失败则给接口设备返回失败响应,结束;步骤D :智能密钥设备判断接口设备证书签发CA的公钥与预置的信任公钥是否相同,是执行步骤II,否则将接口设备证书签发CA的证书设为当前证书,给接口设备返回失败响应,执行步骤E ;步骤E :接口设备接收到失败响应后,将接口设备证书签发CA的证书设为当前证书;步骤F :接口设备根据当前证书检索上级CA证书,如果检索到则将上级CA证书发给智能密钥设备,并将当前证书更新为上级CA证书,执行步骤G,否则,给智能密钥设备返回失败响应,结束;步骤G :智能密钥设备接收接口设备发送的上级CA证书,判断上级CA证书是否为当前证书的签发者证书,是则执行步骤H,否则给接口设备返回失败响应,结束;步骤H :智能密钥设备判断上级CA证书中的公钥与预置的信任公钥是否一致,是则返回步骤II,否则用上级CA证书更新当前证书,给接口设备返回失败响应,返回步骤F ;
步骤Il :智能密钥设备从接口设备中获取第一随机数,根据第一随机数、智能密钥设备证书和接口设备证书生成第一加密数据;步骤12 :智能密钥设备将第一加密数据发送给接口设备进行验证;步骤J :接口设备接收第一加密数据并对其进行验证,将验证结果返回给智能密钥设备;步骤K:智能密钥设备接收接口设备返回的验证结果,并判断验证验证结果是否为成功响应,是则可与接口设备进行通信,否则结束。本实施例中的方法还可以包括以下步骤步骤I’ 所述智能密钥设备将第三随机数和智能密钥设备证书发送给所述接口设备; 步骤J’ 所述接口设备接收所述第三随机数和智能密钥设备证书并生成认证指令,将所述认证指令发送给所述智能密钥设备;步骤K’所述智能密钥设备接收所述接口设备发送的认证指令,并对其进行解析,根据所述第三随机数、智能密钥设备证书和接口设备证书对解析结果进行验证,如验证成功则给所述接口设备返回成功响应,与所述接口设备进行通信,如验证失败则给所述接口设备返回失败响应,结束。其中步骤I’ -步骤K’可在步骤H与步骤I之间执行,也可在步骤K之后执行。或者本实施例中的步骤Il-步骤K用上述步骤I’至步骤K’替换。本实施例中在接口设备与智能密钥设备之间的认证过程中有证书链的参与,提高了设备之间认证的可信任度。实施例二本实施例二提供了智能密钥设备与接口设备相互进行验证的实现方法,在智能密钥设备和接口设备相互进行验证之前需先验证接口设备的证书是否合法,本实施例中的证书中包含有证书签名值、证书签名原文和对应的设备公钥等信息。参见图2,为本实施例二中对接口设备的证书合法性进行验证的详细过程,包括步骤201 :接口设备将接口设备证书和接口设备证书签发CA的公钥发给智能密钥设备;具体地,在本实施例中,接口设备通过预先约定的指令UpdateBinary将接口设备证书和接口设备证书签发CA的公钥发给智能密钥设备。智能密钥设备保存接口设备证书和接口设备证书签发CA的公钥,向接口设备返回保存成功响应,本实施例中的保存成功响应是预定的表示成功的状态码。优选地,在本实施例中,接口设备通过两条预定的UpdateBinary指令分别下发接口设备证书和接口设备证书签发CA的公钥。相应地,智能密钥设备依次从指令中提取接口设备证书和接口设备证书签发CA的公钥,分别向接口设备返回保存成功响应。步骤202 :接口设备接收到智能密钥设备返回的保存成功响应后,向智能密钥设备发送验证指令,通知智能密钥设备对接口设备证书进行验证;步骤203 :智能密钥设备接收到验证指令后,验证接口设备证书是否合法,如合法,则执行步骤204 ;如不合法向接口设备返回失败响应,结束;具体的,在本实施例中,接口设备通过向智能密钥设备发送预定的VerifySignature指令通知智能密钥设备对接口设备证书进行验证;本实施例中,验证接口设备证书是否合法的具体方法为步骤203-1 :智能密钥设备从接口设备证书中获取证书签名原文和证书签名值,使用接口设备证书签发CA的公钥对获取的证书签名值进行解密,得到第一摘要值,使用预设摘要算法对获取的签名原文进行计算,得到第二摘要值;步骤203-2 :智能密钥设备判断第一摘要值与第二摘要值是否相同,是则继续执行步骤204,否则接口设备证书不合法;步骤204:智能密钥设备判断接口设备证书签发CA的公钥与内置的信任公钥是否相同,如果是,则给接口设备返回成功响应,可继续进行内部认证和外部认证;如不合法,则将接口设备证书签发CA的证书设为当前证书,给接口设备返回失败响应,执行步骤205。当验证接口设备证书合法时,则智能密钥设备存储的接口设备公钥即为上述的·“信任锚”,在接口设备发行之前,发行商将信任CA的信任公钥预置到接口设备中;需要说明的是,信任公钥预置到接口设备的环境必须为离线环境,保证信任公钥的完整性。步骤205 :接口设备将接口设备证书签发CA的证书设为当前证书。步骤206 :接口设备根据当前证书检索上级CA证书,如果检索到,则将上级CA证书发给智能密钥设备,并将当前证书更新为所述上级CA证书,顺序执行步骤207,如未检索至IJ,则给智能密钥设备返回失败响应,结束。接口设备通过在本地或者联网方式检索上级CA证书。所述检索上级CA证书具体为从当前证书获取签发者字段,根据签发者字段检索上级CA证书。所述检索上级CA证书还包括从当前证书获取主体字段,与签发者字段比对,如果二者一致(自签名证书),则停止检索,不能获取上级CA证书,结束,如果二者不一致,则获取上级CA证书,并将其发给智能密钥设备,将当前证书更新为所述上级CA证书。具体地,在本实施例中,接口设备通过预定的PutData指令将上级CA证书发给智能密钥设备。步骤207 :智能密钥设备接收接口设备发送的上级CA证书,并验证接收的上级CA证书是否为当前证书的签发者证书,是则执行步骤208,否则给接口设备发送失败响应,并将当前证书更新为本次接收的上级CA证书,返回步骤206 ;本实施例中,智能密钥设备验证接收的证书是否为当前证书的签发者证书的过程具体为步骤207-1 :从接收的上级CA证书中提取公钥,根据所述公钥验证当前证书的合法性,如果验证当前证书完整,继续;否则,接收的证书不是当前证书的签发者证书。具体过程与步骤203中公开的过程相同,在此不再赘述。步骤207-2 :从接收的证书提取主体字段,从当前证书提取签发者字段,比较二者是否一致,如果是,接收的证书是当前证书的签发者证书,继续;否则,接收的证书不是当前证书的签发者证书。步骤208 :智能密钥设备比较接收的上级CA证书中的公钥与预存的接口设备证书签发CA的信任公钥是否相同,是则给接口设备返回成功响应;否则,给接口设备返回失败响应,并将当前证书更新为本次接收的上级CA证书,返回步骤206。
在对接口设备证书验证合法后,该接口设备可对与其连接的智能密钥设备进行验证,验证其是否为可信设备,如图3所示,接口设备对智能密钥设备的验证过程包括步骤301 :接口设备从智能密钥设备中获取智能密钥设备证书;本实施例中,接口设备通过向智能密钥设备发送预定义的ReadBinary指令,从智能密钥设备中获取智能密钥设备证书;步骤302 :接口设备生成第一随机数,保存在接口设备内部,并向智能密钥设备发送包含第一随机数的第二指令;在本实施例中,接口设备通过预定义的INTERNAL AUTHENTICATION指令将第一随机数发给智能密钥设备,优选的,预定义的指令为CO 88 00 00 Lc,其中预定义的指令的数据域(Lc)包括智能密钥设备证书标识、接口设备证书标识和第一随机数;步骤303 :智能密钥设备接收到第二指令后,对该第二指令的数据域进行解析,得·到智能密钥设备证书标识、接口设备证书标识和第一随机数;步骤303还包括,智能密钥设备根据智能密钥设备证书标识及接口设备证书标识在内部分别检索智能密钥设备证书和接口设备证书,如检索到对应的证书则继续,如果没有检索到对应的证书,则向接口设备返回失败响应。所述证书标识可以是预定的标识,也可以是证书中的特征字段,例如公钥、主体或者签发者,还可以是特征字段的组合或者变换结果。步骤304 :智能密钥设备生成第二随机数,根据智能密钥设备证书公钥(即自身证书公钥)、第一随机数和第二随机数计算得到第一结果数值;智能密钥设备计算得到第一结果数值的方法具体包括I)智能密钥设备将自身证书公钥的横坐标、证书公钥的纵坐标、第二随机数和第一随机数按照预设拼接方法依次进行拼接,得到第一拼接值;2)智能密钥设备使用第一预设算法对第一拼接值进行计算,得到第一结果数值;其中,本实施例中的第一预设算法为杂凑算法;步骤305 :智能密钥设备使用其智能密钥设备私钥(即自身私钥)根据预设的签名算法对第一结果数值进行签名计算,得到第一签名值;步骤306 :智能密钥设备按照第一预设方法将第一签名值和第二随机数进行组合,得到第一原文数据;优选的,本实施例中的组合方式为将第一签名值与第二随机数按照第一预设方法依次进行拼接;步骤307 :智能密钥设备从接口设备证书中获取接口设备公钥,使用接口设备公钥根据第二预设算法对第一原文数据进行加密计算,得到第一加密数据,智能密钥设备将第一加密数据发送给接口设备;步骤308 :接口设备接收到第一加密数据,使用自身私钥对第一加密数据进行解密,解密成功得到第一解密数据,根据第一预设方法的逆方法对第一解密数据进行拆分,得到第一拆分值和第二拆分随机数;步骤309 :接口设备使用当前保存的第一随机数以及智能密钥设备证书验证所述第一拆分值和第二拆分随机数是否正确,如果正确则给智能密钥设备返回成功响应,表示该智能密钥设备是可信的,可与智能密钥设备进行通信;否则,给智能密钥设备返回失败响应,停止与智能密钥设备的通信,结束;步骤309-1 :接口设备对智能密钥设备证书进行解析,得到智能密钥设备证书公钥;步骤309-2 :接口设备使用智能密钥设备证书公钥对第一拆分值进行解密,解密成功得到第一解密值,执行步骤309-3 ;解密失败则停止与智能密钥设备的通信;步骤309-3 :接口设备根据智能密钥设备证书公钥、第二拆分随机数和第一随机数生成第一认证数据;接口设备计算得到第一认证数据的方法与步骤304中智能密钥设备的计算方法相同,在此不再赘述;步骤309-4:接口设备判断第一解密值与第一认证数据是否相同,如果是,该智能密钥设备是可信的,可以与智能密钥设备进行通信;否则,停止与智能密钥设备的通信。·步骤309之后还包括接口设备清空第一随机数和第二拆分随机数,智能密钥设备在接收到接口设备返回的失败响应后清空存储的第一随机数和第二随机数。需要说明的是,在接口设备对智能密钥设备的验证过程中,智能密钥设备产生的第二随机数(即第二拆分随机数)也被安全、正确的传送给了智能密钥设备,智能密钥设备将第二随机数进行缓存,用于派生会话密钥,实现了安全传送共享秘密的操作。本实施例中,智能密钥设备首先验证接口设备发送的设备证书是否合法;当验证接口设备证书合法后,再由接口设备对智能密钥设备中发送的第一加密数据进行验证,当验证合法后,得知智能密钥设备合法,确保了验证的正确性。为了增加通信的安全性,本实施例在接口设备对智能密钥设备验证合法后,智能密钥设备还可对与其连接的接口设备进行验证;如下步骤提供了智能密钥设备验证接口设备的具体过程,如图4所示,包括步骤401 :从智能密钥设备中获取智能密钥设备证书和第三随机数;本实施例中,接口设备通过向智能密钥设备发送ReadBinary指令来获取智能密钥设备证书;智能密钥设备证书中包含有智能密钥设备公钥;接口设备通过给智能密钥设备发送GetChallenge指令获取第三随机数;接口设备可以在接收到GetChallenge指令时生成第三随机数,也可以在接收到GetChallenge指令之前生成第三随机数,接口设备中也保存有第三随机数;步骤402 :接口设备生成第四随机数,根据自身证书公钥、第三随机数和第四随机数生成第二结果数值;本实施例中,生成第二结果数值的过程具体为I)接口设备将自身证书公钥的横坐标、证书公钥的纵坐标、第三随机数和第四随机数按照预设拼接方法依次进行拼接,得到第三拼接值;2)接口设备使用预设算法对第三拼接值进行计算,得到第二结果数值;其中,本实施例中的预设算法为杂凑算法;步骤403 :接口设备使用自身证书私钥对第二结果数值进行加密,生成第二加密值;步骤404:接口设备按照第一预设方法将第二加密值和第四随机数进行组合,得到第二原文数据;
优选的,组合方式为将第二加密值与第四随机数按照第一预设方法依次进行拼接;步骤405 :接口设备对存储在证书文件的智能密钥设备证书进行解析得到智能密钥设备公钥,并用其对第二原文数据进行加密计算,得到第二加密数据;步骤406 :接口设备根据第二加密数据、智能密钥设备证书标识、接口设备证书标识生成认证指令并将其发送给智能密钥设备;本实施例中,优选的,认证指令为C0 82 00 00 Lc ;其中,Lc为认证指令的数据域,包括智能密钥设备证书标识、接口设备证书标识和第二加密数据;步骤407 :智能密钥设备接收认证指令,对该认证指令进行解析,得到第二加密数据、智能密钥设备证书标识、接口设备证书标识;步骤408 :智能密钥设备根据智能密钥设备证书标识查找对应的智能密钥设备·证书,如找到则执行步骤409,如未找到则向接口设备返回失败响应,停止与接口设备的通信;步骤409 :智能密钥设备从智能密钥设备证书中获取智能密钥设备私钥,并使用智能密钥设备私钥对第二加密数据进行解密,如解密成功,则得到第二解密值,执行步骤410,如解密失败,则向接口设备返回失败响应,停止与接口设备的通信;步骤410 :智能密钥设备根据第一预设方法的逆方法将第二解密值进行拆分,得到第二拆分值和第四拆分随机数;步骤411 :智能密钥设备根据接口设备证书标识在证书文件中查找对应的接口设备证书,如找到则执行步骤412,如未找到,则向接口设备返回失败响应,停止与接口设备的通信;步骤412 :智能密钥设备对接口设备证书进行解析得到接口设备证书公钥,根据接口设备证书公钥、第四拆分随机数和第三随机数生成第二认证数据;本实施例中,智能密钥设备生成第二认证数据的方法具体包括I)智能密钥设备将接口设备证书公钥的横坐标、接口设备证书公钥的纵坐标、第三随机数和第四拆分随机数按照预设拼接方法依次进行拼接,得到第四拼接值;2)接口设备使用预设算法对第四拼接值进行计算,得到第二认证数据;其中,本实施例中的预设算法为杂凑算法;步骤413 :智能密钥设备从接口设备证书中获取接口设备公钥,使用接口设备公钥对第二拆分值进行解密,如解密成功则得到第三解密值,执行步骤414,如解密失败则向接口设备返回失败响应,停止与接口设备的通信;本实施例中,步骤413和步骤412的顺序可调换,调换后在使用接口设备公钥对第二拆分值进行解密成功后,再生成第二认证数据;步骤414:智能密钥设备判断第三解密值与第二认证数据是否相同,是则向接口设备返回成功响应,表明该接口设备是可信的,否则向接口设备返回失败响应,停止与接口设备的通信,结束;智能密钥设备对接口设备验证失败,表明该接口设备不可信。本实施例中在步骤414之后,智能密钥设备清空第三随机数和第四拆分随机数,接口设备在接收到智能密钥设备返回的失败响应后清空存储的第三随机数和第四随机数。需要说明的是,在智能密钥设备验证接口设备成功之后,接口设备产生的第四随机数(即第四拆分随机数)被安全、正确的传送给了智能密钥设备,智能密钥设备将第四随机数进行缓存,用于派生会话密钥,实现了安全传送共享秘密的操作。本实施例中接口设备对智能密钥设备的验证过程和智能密钥设备对接口设备的验证过程没有先后顺序,也可以在对接口设备证书验证合法后,先执行智能密钥设备对接口设备的验证,再执行接口设备对智能密钥设备的验证。本发明实施例中,当接口设备或智能密钥设备接收到验证成功后,则表示对方是可信的,可与对方进行通信。需要说明的是,本发明实施例所提供的认证方法,包括两部分智能密钥设备验证接口设备的过程,接口设备验证智能密钥设备的过程,该两个过程是相互独立的。在安全情况需求不高的情况下,当接口设备确保接进的智能密钥设备合法时,可只执行对接入的智能密钥设备进行验证的操作;当智能密钥设备确保所接入的环境安全时,可只执行对接口设备进行验证的操作。在安全情况需求高的情况下,接口设备与智能密钥设备相互验证其合法性,但验证顺序并未作出限定,可确保通信环境的安全性。 实施例三本发明实施例三提供一种认证系统,如图5所示,包括智能密钥设备I和接口设备2,其中,所述智能密钥设备I包括第一接收模块10,用于接收接口设备2发送的接口设备证书和接口设备证书签发CA的公钥、失败响应、成功响应、验证指令、上级CA证书、包含第一随机数的第二指令、验证结果;第一存储模块11,用于存储智能密钥设备证书、第一接收模块10接收到的接口设备证书和接口设备证书签发CA的公钥;第一验证模块12,用于在第一接收模块10接收到验证指令后,对第一存储模块11中存储的接口设备证书进行验证;本实施例中,第一验证模块12对接口设备证书进行验证具体为智能密钥设备I从接口设备证书中获取证书签名原文和证书签名值,使用接口设备证书签发CA的公钥对证书签名值进行解密,得到第一摘要值,使用预设摘要算法对证书签名原文进行计算,得到第二摘要值;判断第一摘要值与所述第二摘要值是否相同,是则验证成功,否则验证失败;第一判断模块13,包括第一判断单元,用于在第一验证模块12验证成功后,判断第一存储模块11中的接口设备证书签发CA的公钥与预置的信任公钥是否相同;第二判断单元,用于判断第一接收模块10接收到的上级CA证书是否为当前证书的签发者证书;本实施例中,第二判断单元具体用于从上级CA证书中提取公钥,根据公钥验证当前证书的合法性;和/或用于从上级CA证书中提取主体字段,从当前证书提取签发者字段,比较二者是否一致;第三判断单元,用于在第二判断单元判断为是时,判断第一存储模块11存储的上级CA证书中的公钥与预置的信任公钥是否一致;第四判断单元,用于判断第一接收模块10接收到的验证结果是否为验证成功响应;第一设置模块14,用于在第一判断单元判断为否时,将接口设备证书签发CA的证书设为当前证书;第一更新模块15,用于在第三判断模块判断为否时,将当前证书更新为第一接收模块10接收到的上级CA证书;第一生成模块16,用于根据第一随机数、智能密钥设备证书和接口设备证书生成第一加密数据;第一发送模块17,用于向接口设备2发送响应、第一加密数据;其中,接口设备2包括第二接收模块20,用于接收智能密钥设备I发送的响应、第一加密数据;·第二生成模块21,用于生成验证指令、第一随机数;第二设置模块22,用于将接口设备证书签发CA的证书设为当前证书;检索模块23,用于根据当前证书检索上级CA证书;本实施例中,检索模块23包括第一检索单元,用于从当前证书中获取签发者字段,根据签发者字段检索上级CA证书;检索模块23还可包括对比单元,用于从当前证书中获取主体字段,将主体字段与签发者字段比对,如一致则第一检索单元停止工作,结束;如不一致,则第一检索单元继续工作;第二更新模块24,用于将当前证书更新为检索模块23检索到的上级CA证书;第二验证模块25,用于对第二接收模块20接收到的第一加密数据进行验证;本实施例中,第二验证模块25对第一加密数据进行验证的过程具体为使用接口设备私钥对第一加密数据进行解密,解密成功得到第一解密数据,根据第一预设方法的逆方法对第一解密数据进行拆分,得到第一拆分值和第二拆分随机数;使用第一随机数和智能密钥设备证书验证第一拆分值和第二拆分随机数是否正确,如果正确生成验证成功响应;否则验证失败响应,结束;第二发送模块26,用于向第一接收模块10发送接口设备证书和接口设备证书签发CA的公钥、失败响应、成功响应、验证指令、上级CA证书、包含第一随机数的第二指令、第二验证模块25的验证结果。在本实施例中,第一生成模块16还用于生成第三随机数;第一发送模块17还用于向接口设备2发送所述第三随机数和智能密钥设备证书;第二接收模块20还用于接收第一发送模块17发送的第三随机数和智能密钥设备证书;第二生成模块21还用于生成认证指令;第二发送模块26还用于向智能密钥设备I发送认证指令;第一接收模块10还用接收第二发送模块26发送的认证指令;所述智能密钥设备还包括解析模块,用于对第一接收模块10接收到的认证指令进行解析;第一验证模块12还用于根据第三随机数、智能密钥设备证书和接口设备证书对解析模块的解析结果进行验证。所述接口设备2还包括第二存储模块,用于存储第二接收模块接收到的第一发送模块发送的智能密钥设备证书。本实施例中,智能密钥设备中的解析模块还用于对接收到的第二指令进行解析得到智能密钥设备证书标识、接口设备证书标识和第一随机数;第一生成模块16生成第一加密数据的实现过程具体包括①生成第二随机数,根据智能密钥设备证书公钥、第一随机数和第二随机数计算得到第一结果数值;②使用智能密钥设备私钥根据预设的签名算法对第一结果数值进行签名计算,得到第一签名值;③按照第一预设方法将第一签名值和第二随机数进行组合,得到第一原文数据;④从与接口设备证书标识对应的当前证书中获取接口设备公钥,使用接口设备公钥根据预设算法对第一原文数据进行加密计算,得到第一加密数据。本实施例中的智能密钥设备I还可包括检索模块,用于根据解析模块解析得到的·智能密钥设备证书标识和接口设备证书标识在其内部分别检索对应的智能密钥设备证书和接口设备证书。以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
权利要求
1.一种认证方法,其特征在于,包括 步骤A :当智能密钥设备接收到接口设备发送的接口设备证书和接口设备证书签发CA的公钥时进行保存,并给所述接口设备返回保存成功响应; 步骤B :所述接口设备接收到所述保存成功响应后,生成验证指令并将其发送给所述智能密钥设备; 步骤C :所述智能密钥设备接收到所述验证指令后,对所述接口设备证书进行验证,如验证成功则执行步骤D,如验证失败则给所述接口设备返回失败响应,结束; 步骤D :所述智能密钥设备判断所述接口设备证书签发CA的公钥与预置的信任公钥是否相同,是执行步骤I,否则将接口设备证书签发CA的证书设为当前证书,给所述接口设备返回失败响应,执行步骤E ; 步骤E :所述接口设备接收到失败响应后,将所述接口设备证书签发CA的证书设为当前证书; 步骤F :所述接口设备根据当前证书检索上级CA证书,如果检索到则将所述上级CA证书发给所述智能密钥设备,并将当前证书更新为所述上级CA证书,执行步骤G,否则,给所述智能密钥设备返回失败响应,结束; 步骤G :所述智能密钥设备接收所述接口设备发送的上级CA证书,判断所述上级CA证书是否为当前证书的签发者证书,是则执行步骤H,否则给所述接口设备返回失败响应,结束; 步骤H :所述智能密钥设备判断所述上级CA证书中的公钥与预置的信任公钥是否一致,是则执行步骤I,否则用所述上级CA证书更新当前证书,给所述接口设备返回失败响应,返回步骤F ; 步骤I :所述智能密钥设备从所述接口设备中获取第一随机数,根据所述第一随机数、智能密钥设备证书和接口设备证书生成第一加密数据,并将所述第一加密数据发送给所述接口设备进行验证; 步骤J :所述接口设备接收所述第一加密数据并对其进行验证,将验证结果返回给所述智能密钥设备; 步骤K :所述智能密钥设备接收所述接口设备返回的验证结果,并判断所述验证验证结果是否为成功响应,是则与所述接口设备进行通信,否则结束。
2.根据权利要求I所述的认证方法,其特征在于,所述步骤I-步骤K替换为 步骤I’ 所述智能密钥设备将第三随机数和智能密钥设备证书发送给所述接口设备; 步骤J’ 所述接口设备接收所述第三随机数和智能密钥设备证书并生成认证指令,将所述认证指令发送给所述智能密钥设备; 步骤K’ 所述智能密钥设备接收所述接口设备发送的认证指令,并对其进行解析,根据所述第三随机数、智能密钥设备证书和接口设备证书对解析结果进行验证,如验证成功则给所述接口设备返回成功响应,与所述接口设备进行通信,如验证失败则给所述接口设备返回失败响应,结束。
3.根据权利要求I所述的认证方法,其特征在于,还包括 步骤I’ 所述智能密钥设备将第三随机数和智能密钥设备证书发送给所述接口设备; 步骤J’ 所述接口设备接收所述第三随机数和智能密钥设备证书并生成认证指令,将所述认证指令发送给所述智能密钥设备; 步骤K’ 所述智能密钥设备接收所述接口设备发送的认证指令,并对其进行解析,根据所述第三随机数、智能密钥设备证书和接口设备证书对解析结果进行验证,如验证成功则给所述接口设备返回成功响应,与所述接口设备进行通信,如验证失败则给所述接口设备返回失败响应,结束。
4.根据权利要求1-3任意一项所述的认证方法,其特征在于,所述步骤C中对接口设备证书进行验证,具体包括 步骤Cl :所述智能密钥设备从所述接口设备证书中获取证书签名原文和证书签名值,使用所述接口设备证书签发CA的公钥对所述证书签名值进行解密,得到第一摘要值,使用预设摘要算法对所述证书签名原文进行计算,得到第二摘要值; 步骤C2 :所述智能密钥设备判断所述第一摘要值与所述第二摘要值是否相同,是则验证成功,否则验证失败。
5.根据权利要求4所述的认证方法,其特征在于,所述接口设备根据当前证书检索上级CA证书,包括 所述接口设备从当前证书中获取签发者字段,根据所述签发者字段检索上级CA证书。
6.根据权利要求5所述的认证方法,其特征在于,所述接口设备根据当前证书检索上级CA证书,还包括 所述接口设备从当前证书中获取主体字段,将所述主体字段与所述签发者字段比对,如一致则停止检索,结束;如不一致,则继续检索,如检索到则获取所述上级CA证书,并将其发给所述智能密钥设备,将所述当前证书更新为所述上级CA证书,如未检索到则给智能密钥设备返回失败响应,结束。
7.根据权利要求4所述的认证方法,其特征在于,所述步骤G中判断所述上级CA证书是否为当前证书的签发者证书,包括 步骤Gl :所述智能密钥设备从所述上级CA证书中提取公钥,根据所述公钥验证当前证书的合法性,如合法则继续;如不合法则给所述接口设备返回失败响应,结束;和/或 步骤G1’ 所述智能密钥设备从所述上级CA证书中提取主体字段,从所述当前证书提取签发者字段,比较二者是否一致,是则继续;否则给所述接口设备返回失败响应,结束。
8.根据权利要求7所述的认证方法,其特征在于,所述步骤I之前还包括所述智能密钥设备接收所述接口设备发送的第一指令,将所述智能密钥设备证书发送给所述接口设备进行保存。
9.根据权利要求8所述的认证方法,其特征在于,所述步骤I中所述智能密钥设备从所述接口设备中获取第一随机数,包括 所述智能密钥设备接收所述接口设备发送的第二指令,并对所述第二指令进行解析得到智能密钥设备证书标识、接口设备证书标识和所述第一随机数。
10.根据权利要求9所述的认证方法,其特征在于,所述步骤I中根据所述第一随机数、所述智能密钥设备证书、所述接口设备证书生成第一加密数据,包括 步骤121 :所述智能密钥设备生成第二随机数,根据智能密钥设备证书公钥、所述第一随机数和第二随机数计算得到第一结果数值; 步骤122 :所述智能密钥设备使用智能密钥设备私钥根据预设的签名算法对所述第一结果数值进行签名计算,得到第一签名值; 步骤123 :所述智能密钥设备按照第一预设方法将所述第一签名值和第二随机数进行组合,得到第一原文数据; 步骤124 :所述智能密钥设备从与所述接口设备证书标识对应的当前证书中获取接口设备公钥,使用所述接口设备公钥根据预设算法对所述第一原文数据进行加密计算,得到第一加密数据。
11.根据权利要求10所述的认证方法,其特征在于,所述步骤112和步骤121之间包括 所述智能密钥设备根据所述智能密钥设备证书标识和接口设备证书标识在其内部分别检索对应的智能密钥设备证书和接口设备证书,如检索到对应的证书则继续,如果没有检索到对应的证书,则给接口设备返回失败响应,结束。
12.根据权利要求10所述的认证方法,其特征在于,所述步骤J具体包括 所述接口设备接收到第一加密数据,使用接口设备私钥对所述第一加密数据进行解密,解密成功得到第一解密数据,根据第一预设方法的逆方法对所述第一解密数据进行拆分,得到第一拆分值和第二拆分随机数; 所述接口设备使用所述第一随机数和智能密钥设备证书验证所述第一拆分值和第二拆分随机数是否正确,如果正确则给所述智能密钥设备返回验证成功响应,则与所述智能密钥设备进行通信;否则,给所述智能密钥设备返回验证失败响应,结束。
13.根据权利要求12所述的认证方法,其特征在于,所述接口设备使用所述第一随机数和智能密钥设备证书验证所述第一拆分值和第二拆分随机数是否对应,具体包括 步骤Si:所述接口设备对所述智能密钥设备证书进行解析,得到智能密钥设备证书公钥; 步骤S2 :所述接口设备使用所述智能密钥设备证书公钥对所述第一拆分值进行解密,解密成功得到第一解密值,执行步骤S3 ;解密失败则给所述智能密钥设备返回失败响应,结束; 步骤S3 :所述接口设备根据所述智能密钥设备证书公钥、第二拆分随机数和第一随机数生成第一认证数据; 步骤S4 :所述接口设备判断所述第一解密值与所述第一认证数据是否相同,是则给所述智能密钥设备返回成功响应,与所述智能密钥设备进行通信;否则,则给所述智能密钥设备返回失败响应,结束。
14.根据权利要求2或3所述的认证方法,其特征在于,所述步骤I’包括 所述智能密钥设备接收所述接口设备发送的第一获取指令,将所述智能密钥设备证书发送给所述接口设备进行保存; 所述智能密钥设备接收所述接口设备发送的第二获取指令,将生成的所述第三随机数发送给所述接口设备进行保存。
15.根据权利要求14所述的认证方法,其特征在于,所述步骤J’包括 步骤J’ I :所述接口设备生成第四随机数; 步骤J,2 :所述接口设备根据接口设备证书公钥、所述第三随机数和第四随机数生成第二结果数值;步骤J’ 3 :所述接口设备使用接口设备私钥对所述第二结果数值进行加密,生成第二加密值; 步骤J’ 4 :所述接口设备用第一预设方法将所述第二加密值和第四随机数进行组合,得到第二原文数据; 步骤J’ 5 :所述接口设备使用所述智能密钥设备证书中的智能密钥设备公钥对所述第二原文数据进行加密计算,得到第二加密数据; 步骤J’ 6 :所述接口设备根据所述第二加密数据生成认证指令并将其发送给所述智能密钥设备。
16.根据权利要求15所述的认证方法,其特征在于,所述步骤K’具体包括 步骤K’ I :所述智能密钥设备接收所述认证指令并对其进行解析,得到第二加密数据、智能密钥设备证书标识、接口设备证书标识; 步骤K’ 2 :所述智能密钥设备从与所述智能密钥设备证书中获取智能密钥设备私钥,并使用所述智能密钥设备私钥对所述第二加密数据进行解密,如解密成功,则得到第二解密值,执行步骤K’ 3,如解密失败,则向所述接口设备返回失败响应,结束; 步骤K’ 3 :所述智能密钥设备根据所述第一预设方法的逆方法将所述第二解密值进行拆分,得到第二拆分值和第四拆分随机数; 步骤K’ 4 :所述智能密钥设备对与所述接口设备证书标识对应的接口设备证书进行解析得到接口设备证书公钥,根据所述接口设备证书公钥、第四拆分随机数和第三随机数生成第二认证数据; 步骤K’ 5 :所述智能密钥设备从所述接口设备证书中获取接口设备公钥,使用所述接口设备公钥对所述第二拆分值进行解密,如解密成功则得到第三解密值,执行步骤K’ 6,如解密失败则向接口设备返回失败响应,结束; 步骤K’ 6 :所述智能密钥设备判断所述第三解密值与第二认证数据是否相同,是则向所述接口设备返回成功响应,与所述接口设备进行通信,否则给所述接口设备返回失败响应,结束。
17.根据权利要求16所述的认证方法,其特征在于,所述步骤K’I和步骤K’ 2之间包括 所述智能密钥设备根据所述智能密钥设备证书标识和接口设备证书标识在其内部分别检索对应的智能密钥设备证书和接口设备证书,如检索到则继续,如果未检索到则向接口设备返回失败响应,结束。
18.根据权利要求1-3任意一项所述的认证方法,其特征在于,所述验证失败后还包括 所述接口设备和智能密钥设备清空内部存储的随机数。
19.一种认证系统,包括智能密钥设备和接口设备,其特征在于,所述智能密钥设备包括 第一接收模块,用于接收所述接口设备发送的接口设备证书和接口设备证书签发CA的公钥、失败响应、成功响应、验证指令、上级CA证书、第一随机数、验证结果; 第一存储模块,用于存储智能密钥设备证书、所述第一接收模块接收到的接口设备证书和接口设备证书签发CA的公钥;第一验证模块,用于在所述第一接收模块接收到验证指令后,对所述第一存储模块中存储的接口设备证书进行验证; 第一判断模块,包括 第一判断单元,用于在所述第一验证模块验证成功后,判断所述第一存储模块中的接口设备证书签发CA的公钥与预置的信任公钥是否相同; 第二判断单元,用于判断所述第一接收模块接收到的上级CA证书是否为当前证书的签发者证书; 第三判断单元,用于在所述第二判断单元判断为是时,判断所述第一存储模块存储的上级CA证书中的公钥与预置的信任公钥是否一致; 第四判断单元,用于判断所述第一接收模块接收到的验证结果是否为验证成功响应;第一设置模块,用于在所述第一判断单元判断为否时,将所述接口设备证书签发CA的证书设为当前证书; 第一更新模块,用于在所述第三判断模块判断为否时,将当前证书更新为所述第一接收模块接收到的上级CA证书; 第一生成模块,用于根据所述第一随机数、智能密钥设备证书和接口设备证书生成第一加密数据; 第一发送模块,用于向所述接口设备发送响应、所述第一加密数据; 所述接口设备包括 第二接收模块,用于接收所述智能密钥设备发送的响应、所述第一加密数据; 第二生成模块,用于生成所述验证指令、所述第一随机数; 第二设置模块,用于将所述接口设备证书签发CA的证书设为当前证书; 检索模块,用于根据当前证书检索上级CA证书; 第二更新模块,用于将当前证书更新为所述检索模块检索到的上级CA证书; 第二验证模块,用于对所述第二接收模块接收到的第一加密数据进行验证; 第二发送模块,用于向所述第一接收模块发送所述接口设备证书和接口设备证书签发CA的公钥、失败响应、成功响应、验证指令、上级CA证书、所述第一随机数、所述第二验证模块的验证结果。
20.根据权利要求19所述的系统,其特征在于,包括 所述第一生成模块还用于生成第三随机数; 所述第一发送模块还用于向接口设备发送所述第三随机数和智能密钥设备证书;所述第二接收模块还用于接收所述第一发送模块发送的所述第三随机数和智能密钥设备证书; 所述第二生成模块还用于生成认证指令; 所述第二发送模块还用于向所述智能密钥设备发送认证指令; 第一接收模块还用接收所述第二发送模块发送的认证指令; 所述智能密钥设备还包括解析模块,用于对所述第一接收模块接收到的认证指令进行解析; 所述第一验证模块还用于根据所述第三随机数、智能密钥设备证书和接口设备证书对所述解析模块的解析结果进行验证。
全文摘要
本发明公开一种认证方法和系统,该方法包括智能密钥设备接收到验证指令时对保存的接口设备证书进行验证,验证成功则判断保存的接口设备证书签发CA的公钥与信任公钥是否相同,是则进行内部认证,否则智能密钥设备和接口设备分别将接口设备证书签发CA的证书设为当前证书;接口设备根据当前证书检索上级CA证书,如果检索到则将上级CA证书发给智能密钥设备,并将当前证书更新为上级CA证书;智能密钥设备判断上级CA证书是否为当前证书的签发者证书,是则判断上级CA证书中的公钥与信任公钥是否一致,是则进行内部认证,否则用上级CA证书更新当前证书,通知接口设备继续检索当前证书的上级证书。由于证书链的参与提高了认证的安全性。
文档编号H04L9/32GK102790678SQ201210240500
公开日2012年11月21日 申请日期2012年7月11日 优先权日2012年7月11日
发明者于华章, 陆舟 申请人:飞天诚信科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1