CN117714066A - 密钥处理方法、装置及可读存储介质 - Google Patents
密钥处理方法、装置及可读存储介质 Download PDFInfo
- Publication number
- CN117714066A CN117714066A CN202311698109.2A CN202311698109A CN117714066A CN 117714066 A CN117714066 A CN 117714066A CN 202311698109 A CN202311698109 A CN 202311698109A CN 117714066 A CN117714066 A CN 117714066A
- Authority
- CN
- China
- Prior art keywords
- public key
- key certificate
- certificate
- encryption
- decryption
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 19
- 238000003860 storage Methods 0.000 title claims abstract description 10
- 238000000034 method Methods 0.000 claims abstract description 32
- 238000012545 processing Methods 0.000 claims description 43
- 238000004891 communication Methods 0.000 claims description 26
- 238000012795 verification Methods 0.000 claims description 25
- 230000006870 function Effects 0.000 description 16
- 230000008569 process Effects 0.000 description 10
- 238000004519 manufacturing process Methods 0.000 description 6
- 230000002457 bidirectional effect Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Landscapes
- Storage Device Security (AREA)
Abstract
本申请提供一种密钥处理方法、装置及可读存储介质。应用于第一设备的方法包括:对第一设备的第一公钥证书进行加密,并将加密后的第一公钥证书发送至第二设备;第一公钥证书包括第一设备的第一加解密公钥证书和第一身份公钥证书;利用第二设备发送的第二公钥证书和第一公钥证书,确定用于第一设备和第二设备进行通信的对称密钥;第二公钥证书包括第二设备的第二加解密公钥证书和第二身份公钥证书。本申请的方案,将第一设备的第一公钥证书发送至第二设备完成公钥证书的交换,后续并利用使用两个公钥证书,本申请可以同时完成认证和加解密通道的密钥协商。
Description
技术领域
本申请涉及信息安全技术领域,特别是指一种密钥处理方法、装置及可读存储介质。
背景技术
证书授权中心(Certificate Authority,CA),是数字证书发放和管理的机构。数字证书颁发过程一般为由用户首先产生自己的密钥对;之后将公共密钥(公钥)及部分个人身份信息传送给CA;CA在核实身份后,将执行一些必要的步骤,以确信请求确实由用户发送而来;然后,认证中心将发给用户一个数字证书,该证书内包含用户的个人信息和他的公钥信息,同时还附有认证中心的签名信息。由于一个CA的根证书比较宝贵,根证书直接颁发风险太大,CA通常不会直接从它的根证书颁发终端用户证书;而是会颁发中间证书。CA使用它的私钥对中间根签名,使它受到信任。然后CA使用中间证书的私钥签署和颁发终端用户证书。
现有技术中由于独立CA系统较庞大、功能复杂,在封闭物联网或办公场景、工业控制等场景中使用受限。
发明内容
本申请的目的是提供一种密钥处理方法、装置及可读存储介质,以解决现有技术中CA系统较庞大、功能复杂,在封闭物联网或办公场景、工业控制等场景中使用受限的问题。
为达到上述目的,本申请的实施例提供一种密钥处理方法,应用于第一设备,包括:
对所述第一设备的第一公钥证书进行加密,并将加密后的第一公钥证书发送至第二设备;所述第一公钥证书包括第一设备的第一加解密公钥证书和第一身份公钥证书;
利用第二设备发送的第二公钥证书和所述第一公钥证书,确定用于所述第一设备和所述第二设备进行通信的对称密钥;所述第二公钥证书包括所述第二设备的第二加解密公钥证书和第二身份公钥证书;
其中,对所述第一设备的第一公钥证书进行加密,包括:
向第二设备发送第一请求信息;所述第一请求信息用于申请获取所述第二公钥证书;
接收所述第二设备发送的所述第二公钥证书,并利用中间证书,对所述第二公钥证书进行验签;所述中间证书是第三方可信机构分发的;
在所述第二公钥证书验签通过后,利用所述第二加解密公钥证书对所述第一设备的第一公钥证书进行加密。
可选地,利用所述第二公钥证书和所述第一公钥证书,确定用于所述第一设备和所述第二设备进行通信的对称密钥,包括:
将第一信息发送至所述第二设备,所述第一信息包括第一随机数据,以及,使用所述第一设备的第一身份私钥生成的第一数字签名;所述第一随机数据包括所述第一设备生成的第一随机数;
接收所述第二设备发送的第二信息;所述第二信息包括第二随机数据,以及,使用所述第二设备的第二身份私钥生成的第二数字签名;所述第二随机数据包括所述第一随机数和所述第二设备生成的第二随机数;
对所述第二信息解密,确定所述第二随机数据和第一报文摘要;
根据所述第一报文摘要,确定第一对比结果;
根据所述第二随机数据,确定第二对比结果;
在所述第一对比结果对比一致的情况下,或者在所述第一对比结果和所述第二对比结果分别对比一致的情况下,根据所述第二随机数据确定所述对称密钥。
可选地,对所述第二信息解密,确定所述第二随机数据和所述第一报文摘要,包括:
根据所述第一设备的第一加解密私钥,对所述第二信息解密,确定所述第二随机数据;
根据所述第一设备的所述第二身份公钥证书,对所述第二信息解密,确定所述第一报文摘要。
可选地,根据所述第一报文摘要,确定第一对比结果,包括:
对所述第二随机数据进行哈希处理,生成第二报文摘要;
对比所述第一报文摘要和所述第二报文摘要,确定所述第一对比结果。
可选地,根据所述第二随机数据,确定第二对比结果,包括:
确定所述第二随机数据中携带的第一随机数;
对比所述第一设备自身生成的第一随机数和第二随机数据中携带的第一随机数,确定所述第二对比结果。。
可选地,向第二设备发送第一请求信息前,所述方法还包括:
利用所述第一设备的密码芯片,创建所述第一设备的第一加解密公私钥对和第一身份公私钥对;
根据所述中间证书,对所述第一加解密公私钥对和第一身份公私钥对创建所述第一公钥证书;所述第一公钥证书包括第一加解密公钥证书和第一身份公钥证书;
将所述第一公钥证书和所述第一公钥证书存储在所述第一设备中,并采用离线方式的情况,将所述中间证书存储在所述第一设备中。
为达到上述目的,本申请的实施例提供一种密钥处理方法,应用于第二设备,包括:
接收第一设备发送的加密后的第一公钥证书;所述第一公钥证书包括第一设备的第一加解密公钥证书和第一身份公钥证书;
利用所述第二设备自身的第二公钥证书和第二加解密私钥对加密后的第一公钥证书进行解密,确定所述第一设备的第一公钥证书;所述第二公钥证书包括所述第二设备的第二加解密公钥证书和第二身份公钥证书;
利用所述第二设备的第二公钥证书和所述第一公钥证书,确定用于所述第一设备和所述第二设备进行通信的对称密钥;
其中,接收第一设备发送的加密后的第一公钥证书,包括:
接收第一设备发送的第一请求信息;所述第一请求信息用于申请获取所述第二公钥证书;
向所述第一设备发送所述第二公钥证书;
接收所述第一设备发送的利用所述第二加解密公钥证书对所述第一设备的第一公钥证书加密后的第一公钥证书。
可选地,利用所述第二公钥证书和所述第一公钥证书,确定用于所述第一设备和所述第二设备进行通信的对称密钥,包括:
接收所述第一设备发送的第一信息;所述第一信息包括第一随机数据,以及,使用所述第一设备的第一身份私钥生成的第一数字签名;所述第一随机数据包括所述第一设备生成的第一随机数;
根据所述第一信息,确定第二信息;所述第二信息包括第二随机数据,以及,使用所述第二设备的第二身份私钥生成的第二数字签名;所述第二随机数据包括所述第一随机数和所述第二设备生成的第二随机数;
将第二信息发送至所述第一设备;
接收所述第一设备确定的所述对称密钥。
可选地,接收第一设备发送的第一请求信息前,所述方法还包括:
利用所述第二设备的密码芯片,创建所述第二设备的第二加解密公私钥对和第二身份公私钥对;
根据所述中间证书,对所述第二加解密公私钥对和第二身份公私钥对创建所述第二公钥证书;所述第二公钥证书包括第二加解密公钥证书和第二身份公钥证书;
将所述第二公钥证书和所述第二公钥证书存储在所述第二设备中,并采用离线方式的情况,将所述中间证书存储在所述第二设备中。
为达到上述目的,本申请的实施例提供一种密钥处理装置,应用于第一设备,包括:
第一处理模块,用于对所述第一设备的第一公钥证书进行加密,并将加密后的第一公钥证书发送至第二设备;所述第一公钥证书包括第一设备的第一加解密公钥证书和第一身份公钥证书;
第一确定模块,用于利用第二设备发送的第二公钥证书和所述第一公钥证书,确定用于所述第一设备和所述第二设备进行通信的对称密钥;所述第二公钥证书包括所述第二设备的第二加解密公钥证书和第二身份公钥证书;
其中,所述第一处理模块,包括:
第一发送单元,用于向第二设备发送第一请求信息;所述第一请求信息用于申请获取所述第二公钥证书;
第一接收单元,用于接收所述第二设备发送的所述第二公钥证书,并利用中间证书,对所述第二公钥证书进行验签;所述中间证书是第三方可信机构分发的;
第一处理单元,用于在所述第二公钥证书验签通过后,利用所述第二加解密公钥证书对所述第一设备的第一公钥证书进行加密。
为达到上述目的,本申请的实施例提供一种密钥处理装置,应用于第二设备,包括:
第二处理模块,用于接收第一设备发送的加密后的第一公钥证书;所述第一公钥证书包括第一设备的第一加解密公钥证书和第一身份公钥证书;
第二确定模块,用于利用所述第二设备自身的第二公钥证书和第二加解密私钥对加密后的第一公钥证书进行解密,确定所述第一设备的第一公钥证书;所述第二公钥证书包括所述第二设备的第二加解密公钥证书和第二身份公钥证书;
第三确定模块,用于利用所述第二设备的第二公钥证书和所述第一公钥证书,确定用于所述第一设备和所述第二设备进行通信的对称密钥;
其中,所述第二处理模块,包括:
第二接收单元,用于接收第一设备发送的第一请求信息;所述第一请求信息用于申请获取所述第二公钥证书;
第二发送单元,用于向所述第一设备发送所述第二公钥证书;
第三接收单元,用于接收所述第一设备发送的利用所述第二加解密公钥证书对所述第一设备的第一公钥证书加密后的第一公钥证书。
为达到上述目的,本申请的实施例提供一种可读存储介质,其上存储有程序或指令,所述程序或指令被处理器执行时实现如上所述的密钥处理方法中的步骤。
本申请的上述技术方案的有益效果如下:
本申请实施例中,对第一设备的第一公钥证书进行加密前,获取第二设备的第二公钥证书,通过中间证书对接收的第二公钥证书进行验签,并在第二公钥证书验签通过后,利用第二公钥证书的第二加解密公钥证书对第一设备的第一公钥证书进行加密,并将加密后的第一公钥证书发送至第二设备,以此完成第一设备和第二设备的公钥证书交换,在交换完成后,两个设备都具有双方的公钥证书,可以利用第二公钥证书和第一公钥证书,确定用于第一设备和第二设备进行通信的对称密钥,完成认证和加密通道建立。
附图说明
图1为本申请实施例提供的应用于第一设备的密钥处理方法的流程图;
图2为本申请实施例提供的应用于第一设备的密钥处理方法的流程图;
图3为本申请实施例提供的应用于第一设备的密钥处理装置的结构图;
图4为本申请实施例提供的应用于第一设备的密钥处理装置的结构图。
具体实施方式
为使本申请要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
在本申请的各种实施例中,应理解,下述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
如图1所示,本申请实施例的一种密钥处理方法,应用于第一设备,包括:
步骤11,对所述第一设备的第一公钥证书进行加密,并将加密后的第一公钥证书发送至第二设备;所述第一公钥证书包括第一设备的第一加解密公钥证书和第一身份公钥证书;
步骤12,利用第二设备发送的第二公钥证书和所述第一公钥证书,确定用于所述第一设备和所述第二设备进行通信的对称密钥;所述第二公钥证书包括所述第二设备的第二加解密公钥证书和第二身份公钥证书;
其中,上述的步骤11,包括:
向第二设备发送第一请求信息;所述第一请求信息用于申请获取所述第二公钥证书;
接收所述第二设备发送的所述第二公钥证书,并利用中间证书,对所述第二公钥证书进行验签;所述中间证书是第三方可信机构分发的;
在所述第二公钥证书验签通过后,利用所述第二加解密公钥证书对所述第一设备的第一公钥证书进行加密。
需要说明的是,本申请实施例中第一设备为安装有密码芯片的设备,第二设备为服务端。本申请的公钥是公开的密钥,私钥是保密的密钥,公钥和私钥可以为任意的密钥,本申请实施例对此不加以限制。本申请实施例中每个设备(第一设备和第二设备)都有两对相互匹配的密钥,一对用于加解密,一对用于身份认证。
中间证书是第三方可信机构分发,且采用离线方式提前存储在第一设备和第二设备中的。应用本申请实施例,第三方可信机构可以为证书授权中心CA,CA也称电子商务认证中心,是负责发放和管理数字证书(即公钥)的权威机构,并作为电子商务交易中受信任的第三方,承担公钥密码体系中公钥的合法性检验的责任。本申请实施例中,CA或CA授权机构为每个设备(第一设备和第二设备)发放两个数字证书。
本申请实施例的步骤11中,第一设备向第二设备发送用于获取第二设备的第二公钥证书的第一请求信息;本申请的第二公钥证书包括第二加解密公钥证书和第二身份公钥证书,区别与现有技术中用于加解密和验签的一个公钥证书,这里,第二加解密公钥证书用于加解密,第二身份公钥证书用于实现身份认证。本申请获取第二公钥证书后,第一设备使用中间证书验证第二公钥证书中的第二加解密公钥证书和第二身份公钥证书进行验签,确定是否为CA或CA授权机构颁布的;在第二公钥证书验签通过后,第一设备可以使用验签通过后的第二加解密公钥证书,对第一设备的第一公钥证书进行加密。进一步地,将加密后的第一公钥证书发送的第二设备。
相应的,由于加密后的第一公钥证书采用的是第二加解密公钥证书加密的,因此,第二设备可以使用第二加解密私钥进行解密,得到第一设备的第一公钥证书,以此实现了第一设备和第二设备之间的公钥证书交换。
在上述的公钥证书交换过程中,第一设备和第二设备均对获取对方的公钥证书进行验签,以此确保交换的公钥证书的完整性,和双方设备身份的真实性。
在完成公钥证书交换后,第一设备具有第一公钥证书和第二公钥证书,第二设备也具有第一公钥证书和第二公钥证书,因此,后续双方设备可以利用第二公钥证书和所述第一公钥证书,确定用于所述第一设备和所述第二设备进行通信的对称密钥。本申请在进行双向认证的同时,也同时进行了加解密密钥协商,生成通信用加解密密钥的对称密钥,在后面的通信中双方设备利用两端协商好的对称密钥,进行对称加密通信,而不再利用密码芯片的硬件加解密,提高通信的效率。
可选地,利用中间证书,对所述第二公钥证书进行验签,包括:
第一设备使用中间证书验证第二设备的第二加解密公钥证书、第二身份公钥证书是由CA或CA授权机构颁布的;
第一设备将本端的第一公钥证书(第一加解密公钥证书和第一身份公钥证书)使用第二加解密公钥证书加密生成加密后的第一公钥证书;
第一设备对第一公钥证书使用哈希函数(HASH函数)生成第三报文摘要;
第一设备使用自身的第一身份私钥对第三报文摘要生成对应的第三数字签名;
第一设备将加密后的第一公钥证书和第三数字签名发送给第二设备。
相应的,第二设备接收第一设备发送的加密后的第一公钥证书,包括:
接收第一设备发送的第一请求信息;所述第一请求信息用于申请获取所述第二公钥证书;
向所述第一设备发送所述第二公钥证书;
接收所述第一设备发送的利用所述第二加解密公钥证书对所述第一设备的第一公钥证书加密后的第一公钥证书。
具体的,第二设备利用自身的第二加解密私钥解密出第一设备的第一公钥证书;
第二设备使用中间证书分别对解密后的第一设备的第一公钥证书进行验证,确定是否为CA或CA授权机构颁布的颁发的,验证通过后,保存第一设备的第一公钥证书;
第二设备使用第一设备的第一身份公钥证书对和第三数字签名进行解密,得到一个第四报文摘要;
第二设备对保存的第一公钥证书使用与生成第三报文摘要相同的哈希函数进行哈希处理,生成报文摘要第五报文摘要;
第二设备对比第四报文摘要和第五报文摘要,进行签名验证,得到签名验证结果,以此,实现了第一设备和第二设备之间的证书交换,通过此过程确保了第一设备的证书的完整性,同时也表示此公钥证书确实是第一设备的的,进一步确认了第一设备的的身份真实。
为了进一步描述证书交换的过程,本申请提供一种第一具体实施例,该实施例中的第一设备通过设备A表示,第二设备通过设备B表示,包括:
一、一端的设备A先向另一端设备B申请获取设备B的第一公钥证书,获取第一公钥证书后,设备A用中间证书进行验签。
其中,设备B将自身的第二加解密公钥证书B_CryptoPubK、第二身份公钥证书B_SignPubK明文发给设备A;
设备A使用中间证书验证设备B的第二加解密公钥证书B_CryptoPubK、第二身份公钥证书B_SignPubK是由CA颁发的;
设备A将本端的第一公钥证书(第一加解密公钥证书A_CryptoPubK+第一身份公钥证书A_SignPuK)使用第二加解密公钥证书B_CryptoPubK加密,生成(A_CryptoPubK+A_SignPuK)';
设备A对(A_CryptoPubK+A_SignPuK)使用HASH函数,生成第三报文摘要A_PubK_MsgDigst;
设备A使用自身的第一身份私钥,对第三报文摘要A_PubK_MsgDigest生成对应的第三数字签名A_PubK_DigtlSign;
设备A将((A_CryptoPubK+A_SignPuK)'+A_PubK_DigtlSign)发送给设备B。
二、设备B利用自身的第二加解密私钥解密出设备A的第一公钥证书A_CryptoPubK+A_SignPuK;
设备B使用中间证书,分别对解密后的第一公钥证书A_CryptoPubK和A_SignPuK进行验证,确定是否CA颁发的,通过后保存设备A公钥证书A_CryptoPubK和A_SignPuK;
设备B使用设备A的第一身份公钥证书A_SignPuK,对第三数字签名A_PubK_DigtlSign进行解密,得到一个第四报文摘要A_PubK_MsgDigest_1;
设备B对(A_CryptoPubK+A_SignPuK)使用与生成第三报文摘要相同的哈希函数进行哈希处理,生成第五报文摘要A_PubK_MsgDigest_2。
设备B对比第四报文摘要A_PubK_MsgDigest_1和第五报文摘要A_PubK_MsgDigest_2,进行签名验证,得到签名验证结果,以此,实现了第一设备和第二设备之间的证书交换。
本申请的可选实施例中,上述的步骤12,包括:
将第一信息发送至所述第二设备,所述第一信息包括第一随机数据,以及,使用所述第一设备的第一身份私钥生成的第一数字签名;所述第一随机数据包括所述第一设备生成的第一随机数;
接收所述第二设备发送的第二信息;所述第二信息包括第二随机数据,以及,使用所述第二设备的第二身份私钥生成的第二数字签名;所述第二随机数据包括所述第一随机数和所述第二设备生成的第二随机数;
对所述第二信息解密,确定所述第二随机数据和第一报文摘要;
根据所述第一报文摘要,确定第一对比结果;
根据所述第二随机数据,确定第二对比结果;
在所述第一对比结果对比一致的情况下,或者在所述第一对比结果和所述第二对比结果分别对比一致的情况下,根据所述第二随机数据确定所述对称密钥。
需要说明的是,随机数据是使用第一设备、第二设备的密码芯片生成的。在实际实现的时候,是第一设备、第二设备都配了密码芯片,通过密码芯片来实现加解密、随机数生成等功能。
本申请实施例中,第一设备生成一次性的随机数,记作第一随机数,通过第二设备的第二加解密公钥对第一随机数加密,生成第一随机数据;使用第一加解密私钥对第一随机数进行处理,生成第一数字签名。第一设备将携带有第一随机数据和第一数字签名的第一信息发送至第二设备。相应的,第二设备对第一信息进行解密、验签、加密等处理流程将生成的第二信息发送至第一设备。本申请的第一设备接收到第二信息,对第二信息解密,确定第二随机数据和第一报文摘要;并对第一报文摘要进行验签,或者对第二随机数据和所述第一报文摘要进行验签,也就是,本申请可以进行两种对比验证中任意一种,既可以确定是否验签成功,在对第一报文摘要验签成功,或者对第二随机数据和第一报文摘要进行验签成功后,利用第二随机数据确定对称密钥。
进一步地,对所述第二信息解密,确定所述第二随机数据和所述第一报文摘要,包括:
根据所述第一设备的第一加解密私钥,对所述第二信息解密,确定所述第二随机数据;
根据所述第一设备的所述第二身份公钥证书,对所述第二信息解密,确定所述第一报文摘要。
本申请实施例中,第二信息包括第二随机数据和第一报文摘要,且第二随机数据和第一报文摘要是通过不同的方式加密的,因此,对利用第一设备的第一加解密私钥,对使用第一加解密公钥证书加密的第二随机数据进行解密,得到第二随机数据。对利用第一设备交换后的第二加解密公钥证书,对使用第二加解密私钥加密的第一报文摘要进行解密,得到第一报文摘要。本申请对不同的数据采用不同加解密方式,提高了数据传输的安全性。
进一步地,根据所述第一报文摘要,确定第一对比结果,包括:
对所述第二随机数据进行哈希处理,生成第二报文摘要;
对比所述第一报文摘要和所述第二报文摘要,确定所述第一对比结果。
本申请实施例中,第一设备使用存储的第二设备的第二身份公钥证书对第一数字签名进行解密,得到一个第一报文摘要,第一设备对第二随机数据使用哈希函数进行哈希处理,生成第二报文摘要,第一设备在第一报文摘要和第二报文摘要的第一对比结果一致的情况下,确定对第一报文摘要验签通过。
进一步地,根据所述第二随机数据,确定第二对比结果,包括:
确定所述第二随机数据中携带的第一随机数;
对比所述第一设备自身生成的第一随机数和第二随机数据中携带的第一随机数,确定所述第二对比结果。
本申请实施例中,第一设备对比第二随机数据中携带的第一随机数(即第一设备收到第二消息中的第一随机数)和利用所述第一设备自身生成的第一随机数,生成第二对比结果,在第二对比结果一致的情况下,确定对第二随机数据验签通过。
本申请实施例可以仅通过第一对比结果,实现验签通过后,利用第二随机数据确定对称密钥;也可以利用第一对比结果和第二对比结果分别一致的情况下,利用第二随机数据确定对称密钥;通过上述的两种对比,可以确认第二随机数据的完整性,同时也确认第二公钥证书确实是第二设备的,进一步确认了第二设备的身份真实性;第一设备和第二设备使用相同的算法,根据第二随机数据生成此次通信的对称密钥。
为了进一步解释确定对称密钥的处理流程,本申请提供一种第二具体实施例,该实施例中的第一设备通过设备A表示,第二设备通过设备B表示,包括:
一、设备A生成一次性的第一随机数nonce_A,通过设备B的加解密公钥加密nonce_A生成第一随机数据nonce_A';
设备A对第一随机数nonce_A使用哈希函数进行哈希处理,生成报文摘要A_Nonce_MsgDigest;
设备A使用自身的第一身份私钥对报文摘要A_Nonce_MsgDigest生成对应的第一数字签名A_Nonce_DigtlSign;
设备A将第一信息(第一随机数据nonce_A'+第一数字签名A_Nonce_DigtlSign),发送给设备B;
二、设备B收到设备A发来的第一信息,利用自身的第二加解密私钥对第一随机数据nonce_A'进行解密,确定出设备A发过来的第一随机数nonce_A;
设备B使用设备A的第一身份公钥证书A_SignPuK对第一数字签名A_Nonce_DigtlSign进行解密,得到一个报文摘要A_Nonce_MsgDigest_1;
设备B对nonce_A使用相同的哈希函数进行哈希处理,生成报文摘要A_Nonce_MsgDigest_2;
设备B对比报文摘要A_Nonce_MsgDigest_1和报文摘要A_Nonce_MsgDigest_2,得到签名验证结果。
三、设备B生成一次性的第二随机数nonce_B,该第二随机数nonce_B与第一随机数nonce_A是不同的随机数。
设备B通过设备A的第一加解密公钥证书加密(nonce_A+nonce_B),生成第二随机数据(nonce_A+nonce_B)';
设备B对(nonce_A+nonce_B)使用哈希函数进行哈希处理,生成报文摘要AB_Nonce_MsgDigest;
设备B使用自身的第二身份私钥对报文摘要AB_Nonce_MsgDigest生成对应的第二数字签名AB_Nonce_DigtlSign;
设备B将第二信息(第二随机数据(nonce_A+nonce_B)'+第二数字签名AB_Nonce_DigtlSign)发送给设备A。
四、设备A收到设备B发来的第二消息,利用自身加解密私钥对第二随机数据(nonce_A+nonce_B)'解密,确定出设备B发过来的第一随机数和第二随机数,即nonce_A+nonce_B;
设备A使用设备B的第二身份公钥证书B_SignPuK对第二数字签名AB_Nonce_DigtlSign进行解密,得到一个第一报文摘要,第一报文摘要可以通过AB_Nonce_MsgDigest_1表示;
设备A对解密第二随机数据确定的nonce_A+nonce_B,使用相同的哈希函数进行哈希处理,生成第二报文摘要AB_Nonce_MsgDigest_2;
(1)、设备A对比第一报文摘要AB_Nonce_MsgDigest_1和第二报文摘要AB_Nonce_MsgDigest_2,得到一个第一对比结果,第一对比结果用于确定签名验证结果;
(2)、设备A对比自身生成的第一随机数nonce_A和收到第二消息并解密后的(nonce_A+nonce_B)中的nonce_A进行对比,得到关于nonce_A的第二比对结果。
通过以上的第一对比结果,或者第一对比结果和第二对比结果的两种方式中任意一种,可以确认解密第二随机数据(nonce_A+nonce_B)'后的随机数(nonce_A+nonce_B)的完整性,同时也确认公钥证书B确实是设备B的,进一步确认了设备B的身份真实性。
五、设备A和设备B使用相同的算法,根据解密第二随机数据(nonce_A+nonce_B)'后的随机数(nonce_A+nonce_B),生成此次通信的对称密钥sessionKey。
以上步骤在进行双向认证的同时,也同时进行了加解密密钥协商,生成通信用加解密密钥sessionKey;在后面的通信中A、B双方利用两端协商好的sessionKey,进行对称加密通信,而不再利用密码芯片的硬件加解密,提高通信的效率。
在一可选实施例中,向第二设备发送第一请求信息前,本申请的方法还包括:
利用所述第一设备的密码芯片,创建所述第一设备的第一加解密公私钥对和第一身份公私钥对;
根据所述中间证书,对所述第一加解密公私钥对和第一身份公私钥对创建所述第一公钥证书;所述第一公钥证书包括第一加解密公钥证书和第一身份公钥证书;
将所述第一公钥证书和所述第一公钥证书存储在所述第一设备中,并采用离线方式的情况,将所述中间证书存储在所述第一设备中。
本申请实施例中,由CA机构签中间证书,中间证书可由CA进行验证;在第一设备的密码芯片中创建第一加解密公私钥对和第一身份公私钥对;CA或CA授权机构使用中间证书的私钥,为第一设备的第一加解密公钥、第一身份公钥创建证书;在设备生产阶段,把第一设备的第一加解密公钥证书、第一身份公钥证书存入自身的密码芯片中;本申请使用离线方式,为第一设备安装中间证书。本申请中,第一设备通过中间证书,可以对拟认证的设备进行认证是否是CA颁发证书的设备;不需要实时与CA进行通信。第一设备准备过程(生产)和使用过程可分离,生产时不需要实时与实际使用场景的CA连接;实际使用时支持以CA为根的认证体系。本申请的敏感密钥信息均保存在设备的密码芯片中,避免密钥丢失。
综上所述,本申请提出使用离线证书、离线子根证书的方式,结合密码芯片完成身份认证、加解密密钥协商,满足相关场景应用。具体所带来有益效果如下:用户的公私钥通过其自有的密码芯片创建,包含两对公私钥:身份公私钥和加解密公私钥;CA向中间机构颁发中间证书,利用中间证书生成用户的公钥证书;用户设备安装中间证书;用户设备利用中间证书对远端设备进行验签、利用加解密证书交换通信密钥,完成认证和加密通道建立。
参照图2所示,本申请实施例提供一种密钥处理方法,应用于第二设备,包括:
步骤21,接收第一设备发送的加密后的第一公钥证书;所述第一公钥证书包括第一设备的第一加解密公钥证书和第一身份公钥证书;
步骤22,利用所述第二设备自身的第二公钥证书和第二加解密私钥对加密后的第一公钥证书进行解密,确定所述第一设备的第一公钥证书;所述第二公钥证书包括所述第二设备的第二加解密公钥证书和第二身份公钥证书;
步骤23,利用所述第二设备的第二公钥证书和所述第一公钥证书,确定用于所述第一设备和所述第二设备进行通信的对称密钥;
其中,上述的步骤21,包括:
接收第一设备发送的第一请求信息;所述第一请求信息用于申请获取所述第二公钥证书;
向所述第一设备发送所述第二公钥证书;
接收所述第一设备发送的利用所述第二加解密公钥证书对所述第一设备的第一公钥证书加密后的第一公钥证书,以及,接收所述第一设备发送的利用所述第一设备的第一身份私钥对所述第一公钥证书生成的数字签名。
需要说明的是,本申请实施例中第一设备为安装有密码芯片的设备,第二设备为服务端。本申请的公钥是公开的密钥,私钥是保密的密钥,公钥和私钥可以为任意的密钥,本申请实施例对此不加以限制。本申请实施例中每个设备(第一设备和第二设备)都有两对相互匹配的密钥,一对用于加解密,一对用于身份认证。
本申请实施例的步骤21中,第二设备接收第一设备发送的第一请求信息,第一请求信息用于获取第二设备的第二公钥证书。本申请的第二公钥证书包括第二加解密公钥证书和第二身份公钥证书,区别与现有技术中用于加解密和验签的一个公钥证书,这里,第二加解密公钥证书用于加解密,第二身份公钥证书用于实现身份认证。第二设备将自身的第二加解密公钥证书B_CryptoPubK、第二身份公钥证书B_SignPubK明文发给第一设备。接收第一设备发送的利用第二加解密公钥证书对第一设备的第一公钥证书加密后的第一公钥证书,由于第一公钥证书是第一设备利用第二加解密公钥证书加密的,因此,第二设备可以利用第二加解密私钥解密,第二设备使用中间证书分别对第一加解密公钥证书和第一身份公钥证书进行验证,确定是否CA颁发的,验证通过后,保存第一设备的第一公钥证书,以此实现了第一设备和第二设备之间的公钥证书交换。
在完成公钥证书交换后,第一设备具有第一公钥证书和第二公钥证书,第二设备也具有第一公钥证书和第二公钥证书,因此,后续双方设备可以利用第二公钥证书和所述第一公钥证书,确定用于所述第一设备和所述第二设备进行通信的对称密钥。本申请在进行双向认证的同时,也同时进行了加解密密钥协商,生成通信用加解密密钥的对称密钥,在后面的通信中双方设备利用两端协商好的对称密钥,进行对称加密通信,而不再利用密码芯片的硬件加解密,提高通信的效率。
可选地,上述的步骤23,包括:
接收所述第一设备发送的第一信息;所述第一信息包括第一随机数据,以及,使用所述第一设备的第一身份私钥生成的第一数字签名;所述第一随机数据包括所述第一设备生成的第一随机数;
根据所述第一信息,确定第二信息;所述第二信息包括第二随机数据,以及,使用所述第二设备的第二身份私钥生成的第二数字签名;所述第二随机数据包括所述第一随机数和所述第二设备生成的第二随机数;
将第二信息发送至所述第一设备;
接收所述第一设备确定的所述对称密钥。
需要说明的是,随机数据是使用第一设备、第二设备的密码芯片生成的。在实际实现的时候,是第一设备、第二设备都配了密码芯片,通过密码芯片来实现加解密、随机数生成等功能。
本申请实施例中,第二设备接收第一设备发送的第一信息,通过对第一信息解密,即对第一信息解密使用第二加解密私钥,确定第一随机数据,以及,对第一信息解密使用第一加解密公钥证书,确定第一数字签名A_Nonce_DigtlSign。其中对第一随机数据解密可以解密确定一个第一随机数,例如,第一随机数据表示为nonce_A',是对第一随机数nonce_A通过第二加解密公钥证书加密得到的。第二设备生成一次性的第二随机数nonce_B,该第二随机数nonce_B与第一随机数nonce_A是不同的随机数。通过第一设备的第一加解密公钥证书加密(nonce_A+nonce_B),生成第二随机数据(nonce_A+nonce_B)'。第二设备对(nonce_A+nonce_B)使用哈希函数进行哈希处理,生成报文摘要AB_Nonce_MsgDigest;第二设备使用自身的第二身份私钥对报文摘要AB_Nonce_MsgDigest生成对应的第二数字签名AB_Nonce_DigtlSign;将第二信息(第二随机数据(nonce_A+nonce_B)'+第二数字签名AB_Nonce_DigtlSign)发送给第一设备。相应的,第一设备需要对接收的第二信息进行验签,在第一设备完成验签后,可以接收第一设备发送的验证消息,也可以直接节后第一设备确定的对称密钥。该对称密钥为第一设备对解密后的第二信息验签完成后,利用随机数(nonce_A+nonce_B),生成此次通信的对称密钥sessionKey。以上步骤在进行双向认证的同时,也同时进行了加解密密钥协商,生成通信用加解密密钥sessionKey;在后面的通信中A、B双方利用两端协商好的sessionKey,进行对称加密通信,而不再利用密码芯片的硬件加解密,提高通信的效率。
可选地,接收第一设备发送的第一请求信息前,所述方法还包括:
利用所述第二设备的密码芯片,创建所述第二设备的第二加解密公私钥对和第二身份公私钥对;
根据所述中间证书,对所述第二加解密公私钥对和第二身份公私钥对创建所述第二公钥证书;所述第二公钥证书包括第二加解密公钥证书和第二身份公钥证书;
将所述第二公钥证书和所述第二公钥证书存储在所述第二设备中,并采用离线方式的情况,将所述中间证书存储在所述第二设备中。
本申请实施例中,由CA机构签中间证书,中间证书可由CA进行验证;在第二设备的密码芯片中创建第一加解密公私钥对和第一身份公私钥对;CA或CA授权机构使用中间证书的私钥,为第二设备的第一加解密公钥、第一身份公钥创建证书;在设备生产阶段,把第二设备的第一加解密公钥证书、第一身份公钥证书存入自身的密码芯片中;本申请使用离线方式,为第二设备安装中间证书。本申请中,第二设备通过中间证书,可以对拟认证的设备进行认证是否是CA颁发证书的设备;不需要实时与CA进行通信。第二设备准备过程(生产)和使用过程可分离,生产时不需要实时与实际使用场景的CA连接;实际使用时支持以CA为根的认证体系。本申请的敏感密钥信息均保存在设备的密码芯片中,避免密钥丢失。
综上所述,本申请提出使用离线证书、离线子根证书的方式,结合密码芯片完成身份认证、加解密密钥协商,满足相关场景应用。具体所带来有益效果如下:用户的公私钥通过其自有的密码芯片创建,包含两对公私钥:身份公私钥和加解密公私钥;CA向中间机构颁发中间证书,利用中间证书生成用户的公钥证书;用户设备安装中间证书;用户设备利用中间证书对远端设备进行验签、利用加解密证书交换通信密钥,完成认证和加密通道建立。
参照图3所示,本申请实施例还提供一种密钥处理装置,应用于第一设备,包括:
第一处理模块31,用于对所述第一设备的第一公钥证书进行加密,并将加密后的第一公钥证书发送至第二设备;所述第一公钥证书包括第一设备的第一加解密公钥证书和第一身份公钥证书;
第一确定模块32,用于利用第二设备发送的第二公钥证书和所述第一公钥证书,确定用于所述第一设备和所述第二设备进行通信的对称密钥;所述第二公钥证书包括所述第二设备的第二加解密公钥证书和第二身份公钥证书;
其中,所述第一处理模块,包括:
第一发送单元,用于向第二设备发送第一请求信息;所述第一请求信息用于申请获取所述第二公钥证书;
第一接收单元,用于接收所述第二设备发送的所述第二公钥证书,并利用中间证书,对所述第二公钥证书进行验签;所述中间证书是第三方可信机构分发的;
第一处理单元,用于在所述第二公钥证书验签通过后,利用所述第二加解密公钥证书对所述第一设备的第一公钥证书进行加密。
可选地,本申请实施例中,上述的第一确定模块32,包括:
第三发送单元,用于将第一信息发送至所述第二设备,所述第一信息包括第一随机数据,以及,使用所述第一设备的第一身份私钥生成的第一数字签名;所述第一随机数据包括所述第一设备生成的第一随机数;
第四接收单元,用于接收所述第二设备发送的第二信息;所述第二信息包括第二随机数据,以及,使用所述第二设备的第二身份私钥生成的第二数字签名;所述第二随机数据包括所述第一随机数和所述第二设备生成的第二随机数;
第一确定单元,用于对所述第二信息解密,确定所述第二随机数据和第一报文摘要;
第二确定单元,用于根据所述第一报文摘要,确定第一对比结果;
第三确定单元,用于根据所述第二随机数据,确定第二对比结果;
第二处理单元,用于在所述第一对比结果对比一致的情况下,或者在所述第一对比结果和所述第二对比结果分别对比一致的情况下,根据所述第二随机数据确定所述对称密钥。
可选地,本申请实施例中,上述的第一确定单元,具体用于:
根据所述第一设备的第一加解密私钥,对所述第二信息解密,确定所述第二随机数据;
根据所述第一设备的所述第二身份公钥证书,对所述第二信息解密,确定所述第一报文摘要。
可选地,本申请实施例中,上述的第二确定单元,具体用于:
对所述第二随机数据进行哈希处理,生成第二报文摘要;
对比所述第一报文摘要和所述第二报文摘要,确定所述第一对比结果。
可选地,本申请实施例中,上述的第三确定单元,具体用于:
确定所述第二随机数据中携带的第一随机数;
对比所述第一设备自身生成的第一随机数和第二随机数据中携带的第一随机数,确定所述第二对比结果。
可选地,本申请实施例中,上述的密钥处理装置还包括:
第一创建模块,用于利用所述第一设备的密码芯片,创建所述第一设备的第一加解密公私钥对和第一身份公私钥对;
第三处理模块,用于根据所述中间证书,对所述第一加解密公私钥对和第一身份公私钥对创建所述第一公钥证书;所述第一公钥证书包括第一加解密公钥证书和第一身份公钥证书;
第四处理模块,用于将所述第一公钥证书和所述第一公钥证书存储在所述第一设备中,并采用离线方式的情况,将所述中间证书存储在所述第一设备中。
其中,上述密钥处理方法的所述实现实施例均适用于该密钥处理装置的实施例中,也能达到相同的技术效果。
参照图4所示,本申请实施例还提供一种密钥处理装置,应用于第二设备,包括:
第二处理模块41,用于接收第一设备发送的加密后的第一公钥证书;所述第一公钥证书包括第一设备的第一加解密公钥证书和第一身份公钥证书;
第二确定模块42,用于利用所述第二设备自身的第二公钥证书和第二加解密私钥对加密后的第一公钥证书进行解密,确定所述第一设备的第一公钥证书;所述第二公钥证书包括所述第二设备的第二加解密公钥证书和第二身份公钥证书;
第三确定模块43,用于利用所述第二设备的第二公钥证书和所述第一公钥证书,确定用于所述第一设备和所述第二设备进行通信的对称密钥;
其中,所述第二处理模块41,包括:
第二接收单元,用于接收第一设备发送的第一请求信息;所述第一请求信息用于申请获取所述第二公钥证书;
第二发送单元,用于向所述第一设备发送所述第二公钥证书;
第三接收单元,用于接收所述第一设备发送的利用所述第二加解密公钥证书对所述第一设备的第一公钥证书加密后的第一公钥证书。
可选地,本申请实施例中,上述的第三确定模块43,包括:
第五接收单元,用于接收所述第一设备发送的第一信息;所述第一信息第一随机数据,以及,使用所述第一设备的第一身份私钥生成的第一数字签名;所述第一随机数据包括所述第一设备生成的第一随机数;
第四确定单元,用于根据所述第一信息,确定第二信息;所述第二信息包括第二随机数据,以及,使用所述第二设备的第二身份私钥生成的第二数字签名;所述第二随机数据包括所述第一随机数和所述第二设备生成的第二随机数;
第四发送单元,用于将第二信息发送至所述第一设备;
第六接收单元,用于接收所述第一设备确定的所述对称密钥。
可选地,本申请实施例中,上述的密钥处理装置还包括:
第二创建模块,用于利用所述第二设备的密码芯片,创建所述第二设备的第二加解密公私钥对和第二身份公私钥对;
第五处理模块,用于根据中间证书,对所述第二加解密公私钥对和第二身份公私钥对创建所述第二公钥证书;所述第二公钥证书包括第二加解密公钥证书和第二身份公钥证书;所述中间证书是第三方可信机构分发的;
第六处理模块,用于将所述第二公钥证书和所述第二公钥证书存储在所述第二设备中,并采用离线方式的情况,将所述中间证书存储在所述第二设备中。
其中,上述密钥处理方法的所述实现实施例均适用于该密钥处理装置的实施例中,也能达到相同的技术效果。
本申请实施例的一种可读存储介质,其上存储有程序或指令,所述程序或指令被处理器执行时实现如上所述的密钥处理方法中的步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,所述处理器为上述实施例中所述的密钥处理方法中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
上述范例性实施例是参考该些附图来描述的,许多不同的形式和实施例是可行而不偏离本申请精神及教示,因此,本申请不应被建构成为在此所提出范例性实施例的限制。更确切地说,这些范例性实施例被提供以使得本申请会是完善又完整,且会将本申请范围传达给那些熟知此项技术的人士。在该些图式中,组件尺寸及相对尺寸也许基于清晰起见而被夸大。在此所使用的术语只是基于描述特定范例性实施例目的,并无意成为限制用。如在此所使用地,除非该内文清楚地另有所指,否则该单数形式“一”、“一个”和“该”是意欲将该些多个形式也纳入。会进一步了解到该些术语“包含”及/或“包括”在使用于本说明书时,表示所述特征、整数、步骤、操作、构件及/或组件的存在,但不排除一或更多其它特征、整数、步骤、操作、构件、组件及/或其族群的存在或增加。除非另有所示,陈述时,一值范围包含该范围的上下限及其间的任何子范围。
以上所述是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (12)
1.一种密钥处理方法,其特征在于,应用于第一设备,包括:
对所述第一设备的第一公钥证书进行加密,并将加密后的第一公钥证书发送至第二设备;所述第一公钥证书包括第一设备的第一加解密公钥证书和第一身份公钥证书;
利用第二设备发送的第二公钥证书和所述第一公钥证书,确定用于所述第一设备和所述第二设备进行通信的对称密钥;所述第二公钥证书包括所述第二设备的第二加解密公钥证书和第二身份公钥证书;
其中,对所述第一设备的第一公钥证书进行加密,包括:
向第二设备发送第一请求信息;所述第一请求信息用于申请获取所述第二公钥证书;
接收所述第二设备发送的所述第二公钥证书,并利用中间证书,对所述第二公钥证书进行验签;所述中间证书是第三方可信机构分发的;
在所述第二公钥证书验签通过后,利用所述第二加解密公钥证书对所述第一设备的第一公钥证书进行加密。
2.根据权利要求1所述的方法,其特征在于,利用所述第二公钥证书和所述第一公钥证书,确定用于所述第一设备和所述第二设备进行通信的对称密钥,包括:
将第一信息发送至所述第二设备,所述第一信息包括第一随机数据,以及,使用所述第一设备的第一身份私钥生成的第一数字签名;所述第一随机数据包括所述第一设备生成的第一随机数;
接收所述第二设备发送的第二信息;所述第二信息包括第二随机数据,以及,使用所述第二设备的第二身份私钥生成的第二数字签名;所述第二随机数据包括所述第一随机数和所述第二设备生成的第二随机数;
对所述第二信息解密,确定所述第二随机数据和第一报文摘要;
根据所述第一报文摘要,确定第一对比结果;
根据所述第二随机数据,确定第二对比结果;
在所述第一对比结果对比一致的情况下,或者在所述第一对比结果和所述第二对比结果分别对比一致的情况下,根据所述第二随机数据确定所述对称密钥。
3.根据权利要求2所述的方法,其特征在于,对所述第二信息解密,确定所述第二随机数据和所述第一报文摘要,包括:
根据所述第一设备的第一加解密私钥,对所述第二信息解密,确定所述第二随机数据;
根据所述第一设备的所述第二身份公钥证书,对所述第二信息解密,确定所述第一报文摘要。
4.根据权利要求2所述的方法,其特征在于,根据所述第一报文摘要,确定第一对比结果,包括:
对所述第二随机数据进行哈希处理,生成第二报文摘要;
对比所述第一报文摘要和所述第二报文摘要,确定所述第一对比结果。
5.根据权利要求2所述的方法,其特征在于,根据所述第二随机数据,确定第二对比结果,包括:
确定所述第二随机数据中携带的第一随机数;
对比所述第一设备自身生成的第一随机数和第二随机数据中携带的第一随机数,确定所述第二对比结果。
6.根据权利要求1所述的方法,其特征在于,向第二设备发送第一请求信息前,所述方法还包括:
利用所述第一设备的密码芯片,创建所述第一设备的第一加解密公私钥对和第一身份公私钥对;
根据所述中间证书,对所述第一加解密公私钥对和第一身份公私钥对创建所述第一公钥证书;所述第一公钥证书包括第一加解密公钥证书和第一身份公钥证书;
将所述第一公钥证书和所述第一公钥证书存储在所述第一设备中,并采用离线方式的情况,将所述中间证书存储在所述第一设备中。
7.一种密钥处理方法,其特征在于,应用于第二设备,包括:
接收第一设备发送的加密后的第一公钥证书;所述第一公钥证书包括第一设备的第一加解密公钥证书和第一身份公钥证书;
利用所述第二设备自身的第二公钥证书和第二加解密私钥对加密后的第一公钥证书进行解密,确定所述第一设备的第一公钥证书;所述第二公钥证书包括所述第二设备的第二加解密公钥证书和第二身份公钥证书;
利用所述第二设备的第二公钥证书和所述第一公钥证书,确定用于所述第一设备和所述第二设备进行通信的对称密钥;
其中,接收第一设备发送的加密后的第一公钥证书,包括:
接收第一设备发送的第一请求信息;所述第一请求信息用于申请获取所述第二公钥证书;
向所述第一设备发送所述第二公钥证书;
接收所述第一设备发送的利用所述第二加解密公钥证书对所述第一设备的第一公钥证书加密后的第一公钥证书。
8.根据权利要求7所述的方法,其特征在于,利用所述第二公钥证书和所述第一公钥证书,确定用于所述第一设备和所述第二设备进行通信的对称密钥,包括:
接收所述第一设备发送的第一信息;所述第一信息包括第一随机数据,以及,使用所述第一设备的第一身份私钥生成的第一数字签名;所述第一随机数据包括所述第一设备生成的第一随机数;
根据所述第一信息,确定第二信息;所述第二信息包括第二随机数据,以及,使用所述第二设备的第二身份私钥生成的第二数字签名;所述第二随机数据包括所述第一随机数和所述第二设备生成的第二随机数;
将第二信息发送至所述第一设备;
接收所述第一设备确定的所述对称密钥。
9.根据权利要求7所述的方法,其特征在于,接收第一设备发送的第一请求信息前,所述方法还包括:
利用所述第二设备的密码芯片,创建所述第二设备的第二加解密公私钥对和第二身份公私钥对;
根据中间证书,对所述第二加解密公私钥对和第二身份公私钥对创建所述第二公钥证书;所述第二公钥证书包括第二加解密公钥证书和第二身份公钥证书;所述中间证书是第三方可信机构分发的;
将所述第二公钥证书和所述第二公钥证书存储在所述第二设备中,并采用离线方式的情况,将所述中间证书存储在所述第二设备中。
10.一种密钥处理装置,其特征在于,应用于第一设备,包括:
第一处理模块,用于对所述第一设备的第一公钥证书进行加密,并将加密后的第一公钥证书发送至第二设备;所述第一公钥证书包括第一设备的第一加解密公钥证书和第一身份公钥证书;
第一确定模块,用于利用第二设备发送的第二公钥证书和所述第一公钥证书,确定用于所述第一设备和所述第二设备进行通信的对称密钥;所述第二公钥证书包括所述第二设备的第二加解密公钥证书和第二身份公钥证书;
其中,所述第一处理模块,包括:
第一发送单元,用于向第二设备发送第一请求信息;所述第一请求信息用于申请获取所述第二公钥证书;
第一接收单元,用于接收所述第二设备发送的所述第二公钥证书,并利用中间证书,对所述第二公钥证书进行验签;所述中间证书是第三方可信机构分发的;
第一处理单元,用于在所述第二公钥证书验签通过后,利用所述第二加解密公钥证书对所述第一设备的第一公钥证书进行加密。
11.一种密钥处理装置,其特征在于,应用于第二设备,包括:
第二处理模块,用于接收第一设备发送的加密后的第一公钥证书;所述第一公钥证书包括第一设备的第一加解密公钥证书和第一身份公钥证书;
第二确定模块,用于利用所述第二设备自身的第二公钥证书和第二加解密私钥对加密后的第一公钥证书进行解密,确定所述第一设备的第一公钥证书;所述第二公钥证书包括所述第二设备的第二加解密公钥证书和第二身份公钥证书;
第三确定模块,用于利用所述第二设备的第二公钥证书和所述第一公钥证书,确定用于所述第一设备和所述第二设备进行通信的对称密钥;
其中,所述第二处理模块,包括:
第二接收单元,用于接收第一设备发送的第一请求信息;所述第一请求信息用于申请获取所述第二公钥证书;
第二发送单元,用于向所述第一设备发送所述第二公钥证书;
第三接收单元,用于接收所述第一设备发送的利用所述第二加解密公钥证书对所述第一设备的第一公钥证书加密后的第一公钥证书。
12.一种可读存储介质,其上存储有程序或指令,其特征在于,所述程序或指令被处理器执行时实现如权利要求1至6中任一项所述的密钥处理方法中的步骤,或者执行时实现如权利要求7至9中任一项所述的密钥处理方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311698109.2A CN117714066B (zh) | 2023-12-11 | 密钥处理方法、装置及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311698109.2A CN117714066B (zh) | 2023-12-11 | 密钥处理方法、装置及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117714066A true CN117714066A (zh) | 2024-03-15 |
CN117714066B CN117714066B (zh) | 2024-05-28 |
Family
ID=
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111600903A (zh) * | 2020-05-28 | 2020-08-28 | 浪潮电子信息产业股份有限公司 | 一种通信方法、系统、设备及可读存储介质 |
CN115720141A (zh) * | 2022-11-30 | 2023-02-28 | 福建新大陆支付技术有限公司 | 一种基于tr34规范的pos机远程密钥灌装协议的设计方法 |
WO2023147785A1 (zh) * | 2022-02-07 | 2023-08-10 | 南京理工大学 | 基于国密算法的车联网通信安全认证方法、系统及设备 |
CN117081736A (zh) * | 2023-08-23 | 2023-11-17 | 支付宝(杭州)信息技术有限公司 | 密钥分发方法、密钥分发装置、通信方法及通信装置 |
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111600903A (zh) * | 2020-05-28 | 2020-08-28 | 浪潮电子信息产业股份有限公司 | 一种通信方法、系统、设备及可读存储介质 |
WO2023147785A1 (zh) * | 2022-02-07 | 2023-08-10 | 南京理工大学 | 基于国密算法的车联网通信安全认证方法、系统及设备 |
CN115720141A (zh) * | 2022-11-30 | 2023-02-28 | 福建新大陆支付技术有限公司 | 一种基于tr34规范的pos机远程密钥灌装协议的设计方法 |
CN117081736A (zh) * | 2023-08-23 | 2023-11-17 | 支付宝(杭州)信息技术有限公司 | 密钥分发方法、密钥分发装置、通信方法及通信装置 |
Non-Patent Citations (1)
Title |
---|
V. CAKULEV; G. SUNDARAM;I. BROUSTIS; ALCATEL LUCENT;: "IBAKE: Identity-Based Authenticated Key Exchange", IETF RFC6539, 31 March 2012 (2012-03-31) * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240007308A1 (en) | Confidential authentication and provisioning | |
CN110380852B (zh) | 双向认证方法及通信系统 | |
CN109728909B (zh) | 基于USBKey的身份认证方法和系统 | |
US6189098B1 (en) | Client/server protocol for proving authenticity | |
US7975139B2 (en) | Use and generation of a session key in a secure socket layer connection | |
CN107358441B (zh) | 支付验证的方法、系统及移动设备和安全认证设备 | |
CN106713279B (zh) | 一种视频终端身份认证系统 | |
CN103546289B (zh) | 一种基于USBKey的安全传输数据的方法及系统 | |
CA3164765A1 (en) | Secure communication method and device based on identity authentication | |
JP2002344438A (ja) | 鍵共有システム及び装置並びにプログラム | |
EP3119032A1 (en) | Security management system for performing a secure transmission of data from a token to a service provider server by means of an identity provider server | |
CN114553441B (zh) | 一种电子合同签署方法及系统 | |
JP2001134534A (ja) | 認証代行方法、認証代行サービスシステム、認証代行サーバ装置及びクライアント装置 | |
CN108551391B (zh) | 一种基于USB-key的认证方法 | |
CN114650173A (zh) | 一种加密通讯方法及系统 | |
CN114362946A (zh) | 密钥协商方法及系统 | |
CN114331456A (zh) | 一种通信方法、装置、系统以及可读存储介质 | |
JP4255046B2 (ja) | 暗号通信路の確立方法、プログラム及びプログラム媒体、並びに、暗号通信システム | |
CN117714066B (zh) | 密钥处理方法、装置及可读存储介质 | |
CN113422753B (zh) | 数据处理方法、装置、电子设备及计算机存储介质 | |
JP5393594B2 (ja) | 効率的相互認証方法,プログラム,及び装置 | |
EP3185504A1 (en) | Security management system for securing a communication between a remote server and an electronic device | |
JPH11231776A (ja) | 証明書発行方法およびその装置 | |
CN117714066A (zh) | 密钥处理方法、装置及可读存储介质 | |
JP4198509B2 (ja) | 相互認証方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |