CN115150078A - 密钥协商方法及装置 - Google Patents

密钥协商方法及装置 Download PDF

Info

Publication number
CN115150078A
CN115150078A CN202210755859.8A CN202210755859A CN115150078A CN 115150078 A CN115150078 A CN 115150078A CN 202210755859 A CN202210755859 A CN 202210755859A CN 115150078 A CN115150078 A CN 115150078A
Authority
CN
China
Prior art keywords
key
random information
shared secret
shared
public key
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.)
Pending
Application number
CN202210755859.8A
Other languages
English (en)
Inventor
杜潘洋
郭金鑫
张雷
张攀勇
李功波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Haiguang Information Technology Co Ltd
Original Assignee
Haiguang Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Haiguang Information Technology Co Ltd filed Critical Haiguang Information Technology Co Ltd
Priority to CN202210755859.8A priority Critical patent/CN115150078A/zh
Publication of CN115150078A publication Critical patent/CN115150078A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供一种密钥协商方法,包括:随机生成第一私钥、第一公钥以及第一随机信息并获取共享秘密;将第一公钥与目标处理器的第二公钥进行交换;将采用第二公钥加密的第一随机信息与目标处理器采用第一公钥加密的第二随机信息进行交换;依据第一随机信息和第二随机信息确定共享密钥;依据共享密钥和共享秘密确定第一身份标识码和第一身份验证码;将第一身份标识码与目标处理器的第二身份标识码进行交换;采用第一身份验证码对第二身份标识码进行验证。本发明提供的密钥协商方法及装置,能够不依赖于公钥证书,在多路处理器启动时安全的协商生成共享密钥,并根据共享密钥和共享秘密完成身份认证。

Description

密钥协商方法及装置
技术领域
本发明涉及计算机安全技术领域,尤其涉及一种密钥协商方法及装置。
背景技术
在多路处理器系统中,多个处理器通过主板上的连线进行通信连接,由于处理器的主板可以由任意用于进行设计和定制,因此,当用户存在恶意时,可以通过对主板上通信线路的监听和篡改来实现对多路处理器的入侵和破解。为了保证多路处理器系统的完整性和可靠性,通常采用加解密技术对处理器互连总线上传输的敏感数据进行保护。但是,在现有技术中,对于多路处理器的数据加解密过程通常依赖于公钥证书,由于处理器内部资源的限制,为每个芯片配置公私密钥对是不现实的,同时,即使能够进行公私密钥对的配置,在多路处理器系统的启动过程中,每个处理器都处于信息孤岛状态,难以从公钥证书的发证机构获取通信对端的公钥证书。
发明内容
本发明提供的密钥协商方法及装置,能够不依赖于公钥证书,在多路处理器启动时安全的协商生成共享密钥,并根据共享密钥和共享秘密完成身份认证。
第一方面,本发明提供一种密钥协商方法,应用于进行密钥协商的至少两个处理器的中的其中一个处理器,包括:
随机生成第一私钥、第一公钥以及第一随机信息并获取共享秘密;
将所述第一公钥与目标处理器的第二公钥进行交换,以获取目标处理器的第二公钥;
将采用第二公钥加密的第一随机信息与目标处理器采用第一公钥加密的第二随机信息进行交换,以获取第二随机信息;
依据所述第一随机信息和所述第二随机信息确定共享密钥;
依据所述共享密钥和共享秘密确定第一身份标识码和第一身份验证码;
将所述第一身份标识码与目标处理器的第二身份标识码进行交换,以获取目标处理器的第二身份标识码;
采用第一身份验证码对所述第二身份标识码进行验证。
可选地,依据所述共享密钥和共享秘密确定第一身份标识码和第一身份验证码包括:
将共享秘密、共享密钥和第一公钥进行数据拼接并计算哈希值,确定第一身份标识码;
将共享秘密、共享密钥和第二公钥进行数据拼接并计算哈希值,确定第一身份验证码。
可选地,依据所述共享密钥和共享秘密确定第一身份标识码和第一身份验证码包括:
采用共享秘密对所述共享密钥和第一公钥进行加密,确定第一加密信息;
依据共享秘密和第一加密信息,确定第一身份标识码;
采用共享秘密对所述共享密钥和第二公钥进行加密,确定第二加密信息;
依据共享秘密和第二加密信息,确定第一身份验证码。
可选地,依据所述第一随机信息和所述第二随机信息确定共享密钥包括:将所述第一随机信息和第二随机信息的拼接数据进行哈希值计算,确定共享密钥。
可选地,依据所述第一随机信息和所述第二随机信息确定共享密钥包括:采用第一随机信息对所述第二随机信息进行加密,确定共享密钥。
可选地,依据所述第一随机信息和所述第二随机信息确定共享密钥包括:
对所述第一随机信息进行哈希值计算,确定第一随机信息的哈希值;
采用第二随机信息对所述第一随机信息的哈希值进行加密,确定共享密钥。
第二方面,本发明提供一种密钥协商装置,应用于进行密钥协商的至少两个处理器的中的其中一个处理器,包括:
随机模块,用于随机生成第一私钥、第一公钥以及第一随机信息并获取共享秘密;
第一交换模块,用于将所述第一公钥与目标处理器的第二公钥进行交换,以获取目标处理器的第二公钥;
解密模块,用于将采用第二公钥加密的第一随机信息与目标处理器采用第一公钥加密的第二随机信息进行交换,以获取第二随机信息;
密钥确定模块,用于依据所述第一随机信息和所述第二随机信息确定共享密钥;
识别码模块,用于依据所述共享密钥和共享秘密确定第一身份标识码和第一身份验证码;
第二交换模块,用于将所述第一身份标识码与目标处理器的第二身份标识码进行交换,以获取目标处理器的第二身份标识码;
验证模块,用于采用第一身份验证码对所述第二身份标识码进行验证。
可选地,所述识别码模块包括:
第一哈希子模块,用于将共享秘密、共享密钥和第一公钥进行数据拼接并计算哈希值,确定第一身份标识码;
第二哈希子模块,用于将共享秘密、共享密钥和第二公钥进行数据拼接并计算哈希值,确定第一身份验证码。
可选地,所述识别码模块包括:
第一转换子模块,用于采用共享秘密对所述共享密钥和第一公钥进行加密,确定第一加密信息;
标识码子模块,用于依据共享秘密和第一加密信息,确定第一身份标识码;
第二转换子模块,用于采用共享秘密对所述共享密钥和第二公钥进行加密,确定第二加密信息;
验证码子模块,用于依据共享秘密和第二加密信息,确定第一身份验证码。
可选地,密钥确定模块包括:
拼接哈希子模块,用于将所述第一随机信息和第二随机信息的拼接数据进行哈希值计算,确定共享密钥。
可选地,密钥确定模块包括:
加密转换子模块,用于采用第一随机信息对所述第二随机信息进行加密,确定共享密钥。
可选地,密钥确定模块包括:
哈希子模块,用于对所述第一随机信息进行哈希值计算,确定第一随机信息的哈希值;
加密子模块,用于采用第二随机信息对所述第一随机信息的哈希值进行加密,确定共享密钥。
本发明提供的密钥协商方法,通过非对称加密算法对第一随机信息和第二随机信息进行传输,保证了第一随机信息和第二随机信息的机密性,再基于第一随机信息和第二随机信息生成共享密钥,由于共享密钥不进行传输,因此,无法通过处理器之间的交换信息进行推算,保证了共享密钥的机密性。同时,由于非对称加密算法在解密过程中,需要对被解密的信息完整性进行校验,保证了第一随机信息和第二随机信息的完整性;而共享密钥则通过参与第一身份标识码和第一身份验证码的计算来进行完整性的校验。由于在密钥协商过程中的公私密钥对和随机信息都是随机生成的,而共享秘密不参与共享密钥的计算,因此,即使共享秘密泄露,借助于非对称加密算法的复杂度,也能够确保前向安全性。在遭受到恶意用户的攻击时,第一公钥和第二公钥被劫持,在身份验证过程中,由于恶意用户不能够知悉共享秘密,将不能够通过验证。
附图说明
图1为本发明一实施例密钥协商方法的流程图;
图2为本发明另一实施例密钥协商方法确定第一身份标识码和第一身份验证码流程图;
图3为本发明另一实施例密钥协商方法确定第一身份标识码和第一身份验证码流程图;
图4为本发明另一实施例密钥协商方法确定共享密钥流程图;
图5为本发明另一实施例密钥协商方法确定共享密钥流程图;
图6为本发明另一实施例密钥协商方法确定共享密钥流程图;
图7为本发明另一实施例示例性的密钥协商方法的流程图;
图8为本发明一实施例密钥协商装置的示意图;
图9为本发明一实施例密钥协商装置的识别码模块的具体示意图;
图10为本发明一实施例密钥协商装置的识别码模块的具体示意图;
图11为本发明一实施例密钥协商装置的密钥确定模块的具体示意图;
图12为本发明一实施例密钥协商装置的密钥确定模块的具体示意图;
图13为本发明一实施例密钥协商装置的密钥确定模块的具体示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供本发明提供一种密钥协商方法,应用于进行密钥协商的至少两个处理器的中的其中一个处理器,如图1所示,包括:
步骤110,随机生成第一私钥、第一公钥以及第一随机信息并获取共享秘密;在一些实施例中,第一私钥和第一公钥为一对公私密钥对,采用第一公钥进行加密的信息,可以采用第一私钥进行解密得到明文数据。第一随机信息是随机生成的,在一些优选的实施方式中,第一随机数据可以在每次进行密钥协商时生成。共享秘密是多路处理器系统中每个处理器都存储的秘密信息,在一些优选的实施方式中,共享秘密存储于处理器的安全区域。
步骤120,将所述第一公钥与目标处理器的第二公钥进行交换,以获取目标处理器的第二公钥;在一些实施例中,目标处理器生成第二私钥和第二公钥,第二私钥和第二公钥为一对公私密钥对,采用第二公钥加密的信息,可以采用第二公钥进行解密得到明文数据。将第一公钥与第二处理器的第二公钥进行交换,可以使当前处理能够采用第二公钥将数据加密后发送给目标处理器,同时,目标处理器也能够采用第一公钥将数据加密后发送给当前处理器。从而,能够实现多路处理器之间采用非对称加密的方式完成数据交换。
步骤130,将采用第二公钥加密的第一随机信息与目标处理器采用第一公钥加密的第二随机信息进行交换,以获取第二随机信息;在一些实施例中,第二随机信息是目标处理器随机生成的。采用第二公钥对第一随机信息进行加密,只有拥有第二私钥的目标处理器能够进行解密,同时,还能够对第一随机信息进行完整性校验,因此,能够使目标处理器能够安全的获取第一随机信息的明文数据,且能够保证第一随机信息的完整性。同理,目标处理器采用第一公钥加密的第二随机信息也能够以相同的方式被当前处理器获取。
步骤140,依据所述第一随机信息和所述第二随机信息确定共享密钥;在一些实施例中,采用第一随机信息和第二额随机信息生成共享密钥,由于共享密钥未经交互即可被当前处理器和目标处理器获取,因此,能够保证共享密钥不被泄露。
步骤150,依据所述共享密钥和共享秘密确定第一身份标识码和第一身份验证码;在一些实施例中,由于共享秘密和共享密钥为当前处理器和目标处理器能够获取的数据,而其他用户是无法获取共享秘密和共享密钥的。因此,以共享秘密和共享密钥为基础生成的第一身份标识码和第一身份验证码即能够对当前处理器和目标处理器的身份进行验证。
步骤160,将所述第一身份标识码与目标处理器的第二身份标识码进行交换,以获取目标处理器的第二身份标识码;在一些实施例方式中,目标处理器会以共享密钥和共享秘密确定第二身份标识码和第二身份验证码,将第一身份标识码与第二身份标识码进行交换之后,当前处理器可以采用第一身份验证码验证目标处理器的第二身份标识码,目标处理器可以采用第二身份验证码验证第一身份标识码,从而,互相验证身份的合法性。
步骤170,采用第一身份验证码对所述第二身份标识码进行验证。在一些实施例中,当第一身份验证码对第二身份标识码的验证通过时,当前处理器即可确认密钥协商成功,同理,目标处理器采用第二身份验证码验证第一身份标识码通过时,目标处理器确认密钥协商成功。
本发明实施例提供的密钥协商方法,通过非对称加密算法对第一随机信息和第二随机信息进行传输,保证了第一随机信息和第二随机信息的机密性,再基于第一随机信息和第二随机信息生成共享密钥,由于共享密钥不进行传输,因此,无法通过处理器之间的交换信息进行推算,保证了共享密钥的机密性。同时,由于非对称加密算法在解密过程中,需要对被解密的信息完整性进行校验,保证了第一随机信息和第二随机信息的完整性;而共享密钥则通过参与第一身份标识码和第一身份验证码的计算来进行完整性的校验。由于在密钥协商过程中的公私密钥对和随机信息都是随机生成的,而共享秘密不参与共享密钥的计算,因此,即使共享秘密泄露,借助于非对称加密算法的复杂度,也能够确保前向安全性。在遭受到恶意用户的攻击时,第一公钥和第二公钥被劫持,在身份验证过程中,由于恶意用户不能够知悉共享秘密,将不能够通过验证。
作为一种可选的实施方式,如图2所示,步骤150中,依据所述共享密钥和共享秘密确定第一身份标识码和第一身份验证码包括:
将共享秘密、共享密钥和第一公钥进行数据拼接并计算哈希值,确定第一身份标识码;在一些实施例中,由于哈希算法逆向运算的复杂性,可以确保对第一身份标识传输过程不被破解。
将共享秘密、共享密钥和第二公钥进行数据拼接并计算哈希值,确定第一身份验证码。在一些实施例中,由于哈希算法具有良好的可验证特性,因此,哈希算法形成第一身份验证码能够简便快捷的验证目标处理器的身份。
在本实施方式中,通过哈希方式形成了第一身份标识码和第一身份验证码。在哈希之前,还对共享秘密、共享公钥和第一公钥,以及共享秘密、共现闺蜜要和第二公钥进行了拼接,在本实施方式中,并不限定拼接的顺序,多个数据的拼接可以以任意顺序进行拼接,只需要保证第一身份标识码与目标处理器的第二身份验证码的拼接顺序相同即可实现第二身份验证码对第一身份标识码的验证。同理,也需要保证第一身份验证码与第二身份标识码的拼接顺序相同。此外,上述的多种数据也可以不采用拼接的方式进行处理,而采用其他的计算方式,例如布尔运算或者数学运算等方式,在运算过程也应当注意身份标识码和对应的身份验证码形成过程中的运算方式相同。在第一身份验证码和第一身份标识码的形成过程中,所采用的数据不局限于共享秘密、共享密钥和对应的公钥,还可以增加其他数据,以便增加逆向破解的复杂度,例如,可以在第一身份标识码的计算过程中增加第一公共信息,在第二身份标识码的计算过程中增加第二公共信息,第一公共信息和第二公共信息均为预先确定的信息,且为当前处理和目标处理器均可获取的信息。依据前述的计算方式的描述,本领域技术人员应当知悉,在增加其他数据时,对应的身份标识码和身份验证码应当使用相同的数据,且应当采用相同的计算方式。
作为一种可选的实施方式,如图3所示,步骤150中,依据所述共享密钥和共享秘密确定第一身份标识码和第一身份验证码包括:
采用共享秘密对所述共享密钥和第一公钥进行加密,确定第一加密信息;
依据共享秘密和第一加密信息,确定第一身份标识码;
采用共享秘密对所述共享密钥和第二公钥进行加密,确定第二加密信息;
依据共享秘密和第二加密信息,确定第一身份验证码。
在本实施方式中,提供了一种对第一身份标识码和第一身份验证码中所需的数据进行转换的方式,本领域技术人员应当能够明晰,上述的转换方式不是唯一的转换方式,还可以采用共享密钥对其他信息进行加密,也可以采用对应的公钥进行加密,或者采用其他的转换方式。在转换过程中,应当保证对应的身份标识码和身份验证码中的数据转换方式相同。
在上述各实施例中计算第一身份标识码和第一身份验证码的过程中,还可以采用哈希算法以外的算法,只需要保证计算结果的唯一性即可。并且,在上述的计算过程中,可以采用不同的数据或者不同的计算方法,生成多个第一身份验证码和多个第一身份标识码,以便进行多重验证,但是,无论采用哪些数据和哪个算法,都应当保证共享秘密和共享密钥参与运算。
作为一种可选的实施方式,如图4所示,步骤140中,依据所述第一随机信息和所述第二随机信息确定共享密钥包括:将所述第一随机信息和第二随机信息的拼接数据进行哈希值计算,确定共享密钥。在本实施方式中,采用第一随机信息和第二随机信息拼接和哈希,生成共享密钥,利用了哈希的唯一性和便捷性,能够快速的生成一致的共享密钥。
作为一种可选的实施方式,如图5所示,步骤140中,依据所述第一随机信息和所述第二随机信息确定共享密钥包括:采用第一随机信息对所述第二随机信息进行加密,确定共享密钥。在本实施方式中,提供了采用加密的方式生成共享密钥的过程,同样能够生成一致的共享密钥。
作为一种可选的实施方式,如图6所示,步骤140中,依据所述第一随机信息和所述第二随机信息确定共享密钥包括:
对所述第一随机信息进行哈希值计算,确定第一随机信息的哈希值;
采用第二随机信息对所述第一随机信息的哈希值进行加密,确定共享密钥。
在本实施方式中,提供了加密与哈希结合的方式生成共享密钥的方法,能够生成一致的共享密钥。本实施方式中,还可以采用将第二随机信息进行哈希值计算,再采用第一随机信息对哈希值进行加密的方式。此外,哈希和加密的方式顺序也可以进行调整,例如先进行加密再进行哈希值计算的方式。
在上述生成共享密钥的各实施方式中,除第一随机信息和第二随机信息之外,还可以采用增加其他数据的方式生成共享密钥,只需要确保当前处理器与目标处理器采用的数据是相同的即可。
如图7所示,示例性的提供了一种双路处理器的密钥协商过程,具体如下:
当前处理器CPU0和目标处理器CPU1拥有共享秘密信息S;
当前处理器CPU0随机生成公私密钥对<第一私钥K0,第一公钥P0>和随机信息R0;目标处理器CPU1随机生成公私密钥对<第二私钥K1,第二公钥P1>和随机信息R1;
当前处理器CPU0和目标处理器CPU1交换公钥,即当前处理器CPU0获取到第二公钥P1,目标处理器CPU1获取到第一公钥P0;
当前处理器CPU0使用第二公钥P1加密R0得到ENC-R0;目标处理器CPU1使用第一公钥P0加密R1得到ENC-R1;
当前处理器CPU0和目标处理器CPU1交换加密信息,即当前处理器CPU0获取到ENC-R1,目标处理器CPU1获取到ENC-R0;
当前处理器CPU0使用第一私钥K0解密ENC-R1得到R1;目标处理器CPU1使用第二私钥K1解密ENC-R0得到R0;
当前处理器CPU0和目标处理器CPU1使用相同的密钥派生函数基于随机信息R0和R1派生共享密钥SK,例如,一个典型的实施例SK=HASH(R0||R1),其中符号“||”表示数据拼接;
当前处理器CPU0和目标处理器CPU1都基于共享秘密S和共享密钥SK采用相同的计算方式计算两个身份校验码,例如,一个典型的实施例第一身份标识码MID1=HASH(第一公共信息data1||共享秘密S||第一公钥P0||共享密钥SK),第一身份验证码MID2=HASH(第二公共信息data2||共享秘密S||第二公钥P1||共享密钥SK);第二身份验证码SID1=HASH(第一公共信息data1||共享秘密S||第一公钥P0||共享密钥SK),第二身份标识码SID2=HASH(第二公共信息data2||共享秘密S||第二公钥P1||共享密钥SK);
当前处理器CPU0和目标处理器CPU1交换身份标识码,并分别采用对应的身份验证码校验对方的身份标识码,匹配则密钥协商成功,否则密钥协商失败。
本发明实施例提供一种密钥协商装置,应用于进行密钥协商的至少两个处理器的中的其中一个处理器,如图8所示,包括:
随机模块,用于随机生成第一私钥、第一公钥以及第一随机信息并获取共享秘密;在一些实施例中,第一私钥和第一公钥为一对公私密钥对,采用第一公钥进行加密的信息,可以采用第一私钥进行解密得到明文数据。第一随机信息是随机生成的,在一些优选的实施方式中,第一随机数据可以在每次进行密钥协商时生成。共享秘密是多路处理器系统中每个处理器都存储的秘密信息,在一些优选的实施方式中,共享秘密存储于处理器的安全区域。
第一交换模块,用于将所述第一公钥与目标处理器的第二公钥进行交换,以获取目标处理器的第二公钥;在一些实施例中,目标处理器生成第二私钥和第二公钥,第二私钥和第二公钥为一对公私密钥对,采用第二公钥加密的信息,可以采用第二公钥进行解密得到明文数据。将第一公钥与第二处理器的第二公钥进行交换,可以使当前处理能够采用第二公钥将数据加密后发送给目标处理器,同时,目标处理器也能够采用第一公钥将数据加密后发送给当前处理器。从而,能够实现多路处理器之间采用非对称加密的方式完成数据交换。
解密模块,用于将采用第二公钥加密的第一随机信息与目标处理器采用第一公钥加密的第二随机信息进行交换,以获取第二随机信息;在一些实施例中,第二随机信息是目标处理器随机生成的。采用第二公钥对第一随机信息进行加密,只有拥有第二私钥的目标处理器能够进行解密,同时,还能够对第一随机信息进行完整性校验,因此,能够使目标处理器能够安全的获取第一随机信息的明文数据,且能够保证第一随机信息的完整性。同理,目标处理器采用第一公钥加密的第二随机信息也能够以相同的方式被当前处理器获取。
密钥确定模块,用于依据所述第一随机信息和所述第二随机信息确定共享密钥;在一些实施例中,采用第一随机信息和第二额随机信息生成共享密钥,由于共享密钥未经交互即可被当前处理器和目标处理器获取,因此,能够保证共享密钥不被泄露。
识别码模块,用于依据所述共享密钥和共享秘密确定第一身份标识码和第一身份验证码;在一些实施例中,由于共享秘密和共享密钥为当前处理器和目标处理器能够获取的数据,而其他用户是无法获取共享秘密和共享密钥的。因此,以共享秘密和共享密钥为基础生成的第一身份标识码和第一身份验证码即能够对当前处理器和目标处理器的身份进行验证。
第二交换模块,用于将所述第一身份标识码与目标处理器的第二身份标识码进行交换,以获取目标处理器的第二身份标识码;在一些实施例方式中,目标处理器会以共享密钥和共享秘密确定第二身份标识码和第二身份验证码,将第一身份标识码与第二身份标识码进行交换之后,当前处理器可以采用第一身份验证码验证目标处理器的第二身份标识码,目标处理器可以采用第二身份验证码验证第一身份标识码,从而,互相验证身份的合法性。
验证模块,用于采用第一身份验证码对所述第二身份标识码进行验证。在一些实施例中,当第一身份验证码对第二身份标识码的验证通过时,当前处理器即可确认密钥协商成功,同理,目标处理器采用第二身份验证码验证第一身份标识码通过时,目标处理器确认密钥协商成功。
本发明实施例提供的密钥协商装置,通过非对称加密算法对第一随机信息和第二随机信息进行传输,保证了第一随机信息和第二随机信息的机密性,再基于第一随机信息和第二随机信息生成共享密钥,由于共享密钥不进行传输,因此,无法通过处理器之间的交换信息进行推算,保证了共享密钥的机密性。同时,由于非对称加密算法在解密过程中,需要对被解密的信息完整性进行校验,保证了第一随机信息和第二随机信息的完整性;而共享密钥则通过参与第一身份标识码和第一身份验证码的计算来进行完整性的校验。由于在密钥协商过程中的公私密钥对和随机信息都是随机生成的,而共享秘密不参与共享密钥的计算,因此,即使共享秘密泄露,借助于非对称加密算法的复杂度,也能够确保前向安全性。在遭受到恶意用户的攻击时,第一公钥和第二公钥被劫持,在身份验证过程中,由于恶意用户不能够知悉共享秘密,将不能够通过验证。
作为一种可选的实施方式,如图9所示,所述识别码模块包括:
第一哈希子模块,用于将共享秘密、共享密钥和第一公钥进行数据拼接并计算哈希值,确定第一身份标识码;在一些实施例中,由于哈希算法逆向运算的复杂性,可以确保对第一身份标识传输过程不被破解。
第二哈希子模块,用于将共享秘密、共享密钥和第二公钥进行数据拼接并计算哈希值,确定第一身份验证码。在一些实施例中,由于哈希算法具有良好的可验证特性,因此,哈希算法形成第一身份验证码能够简便快捷的验证目标处理器的身份。
在本实施方式中,通过哈希方式形成了第一身份标识码和第一身份验证码。在哈希之前,还对共享秘密、共享公钥和第一公钥,以及共享秘密、共现闺蜜要和第二公钥进行了拼接,在本实施方式中,并不限定拼接的顺序,多个数据的拼接可以以任意顺序进行拼接,只需要保证第一身份标识码与目标处理器的第二身份验证码的拼接顺序相同即可实现第二身份验证码对第一身份标识码的验证。同理,也需要保证第一身份验证码与第二身份标识码的拼接顺序相同。此外,上述的多种数据也可以不采用拼接的方式进行处理,而采用其他的计算方式,例如布尔运算或者数学运算等方式,在运算过程也应当注意身份标识码和对应的身份验证码形成过程中的运算方式相同。在第一身份验证码和第一身份标识码的形成过程中,所采用的数据不局限于共享秘密、共享密钥和对应的公钥,还可以增加其他数据,以便增加逆向破解的复杂度,例如,可以在第一身份标识码的计算过程中增加第一公共信息,在第二身份标识码的计算过程中增加第二公共信息,第一公共信息和第二公共信息均为预先确定的信息,且为当前处理和目标处理器均可获取的信息。依据前述的计算方式的描述,本领域技术人员应当知悉,在增加其他数据时,对应的身份标识码和身份验证码应当使用相同的数据,且应当采用相同的计算方式。
作为一种可选的实施方式,如图10所示,所述识别码模块包括:
第一转换子模块,用于采用共享秘密对所述共享密钥和第一公钥进行加密,确定第一加密信息;
标识码子模块,用于依据共享秘密和第一加密信息,确定第一身份标识码;
第二转换子模块,用于采用共享秘密对所述共享密钥和第二公钥进行加密,确定第二加密信息;
验证码子模块,用于依据共享秘密和第二加密信息,确定第一身份验证码。
在本实施方式中,提供了一种对第一身份标识码和第一身份验证码中所需的数据进行转换的方式,本领域技术人员应当能够明晰,上述的转换方式不是唯一的转换方式,还可以采用共享密钥对其他信息进行加密,也可以采用对应的公钥进行加密,或者采用其他的转换方式。在转换过程中,应当保证对应的身份标识码和身份验证码中的数据转换方式相同。
在上述各实施例中计算第一身份标识码和第一身份验证码的过程中,还可以采用哈希算法以外的算法,只需要保证计算结果的唯一性即可。并且,在上述的计算过程中,可以采用不同的数据或者不同的计算方法,生成多个第一身份验证码和多个第一身份标识码,以便进行多重验证,但是,无论采用哪些数据和哪个算法,都应当保证共享秘密和共享密钥参与运算。
作为一种可选的实施方式,如图11所示,密钥确定模块包括:拼接哈希子模块,用于将所述第一随机信息和第二随机信息的拼接数据进行哈希值计算,确定共享密钥。在本实施方式中,采用第一随机信息和第二随机信息拼接和哈希,生成共享密钥,利用了哈希的唯一性和便捷性,能够快速的生成一致的共享密钥。
作为一种可选的实施方式,如图12所示,密钥确定模块包括:加密转换子模块,用于采用第一随机信息对所述第二随机信息进行加密,确定共享密钥。在本实施方式中,提供了采用加密的方式生成共享密钥的过程,同样能够生成一致的共享密钥。
作为一种可选的实施方式,如图13所示,密钥确定模块包括:
哈希子模块,用于对所述第一随机信息进行哈希值计算,确定第一随机信息的哈希值;
加密子模块,用于采用第二随机信息对所述第一随机信息的哈希值进行加密,确定共享密钥。
在本实施方式中,提供了加密与哈希结合的方式生成共享密钥的方法,能够生成一致的共享密钥。本实施方式中,还可以采用将第二随机信息进行哈希值计算,再采用第一随机信息对哈希值进行加密的方式。此外,哈希和加密的方式顺序也可以进行调整,例如先进行加密再进行哈希值计算的方式。
在上述生成共享密钥的各实施方式中,除第一随机信息和第二随机信息之外,还可以采用增加其他数据的方式生成共享密钥,只需要确保当前处理器与目标处理器采用的数据是相同的即可。
本领域普通技术人员可以理解实现上述方法实施例中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (12)

1.一种密钥协商方法,其特征在于,应用于进行密钥协商的至少两个处理器的中的其中一个处理器,包括:
随机生成第一私钥、第一公钥以及第一随机信息并获取共享秘密;
将所述第一公钥与目标处理器的第二公钥进行交换,以获取目标处理器的第二公钥;
将采用第二公钥加密的第一随机信息与目标处理器采用第一公钥加密的第二随机信息进行交换,以获取第二随机信息;
依据所述第一随机信息和所述第二随机信息确定共享密钥;
依据所述共享密钥和共享秘密确定第一身份标识码和第一身份验证码;
将所述第一身份标识码与目标处理器的第二身份标识码进行交换,以获取目标处理器的第二身份标识码;
采用第一身份验证码对所述第二身份标识码进行验证。
2.根据权利要求1所述的方法,其特征在于,依据所述共享密钥和共享秘密确定第一身份标识码和第一身份验证码包括:
将共享秘密、共享密钥和第一公钥进行数据拼接并计算哈希值,确定第一身份标识码;
将共享秘密、共享密钥和第二公钥进行数据拼接并计算哈希值,确定第一身份验证码。
3.根据权利要求1所述的方法,其特征在于,依据所述共享密钥和共享秘密确定第一身份标识码和第一身份验证码包括:
采用共享秘密对所述共享密钥和第一公钥进行加密,确定第一加密信息;
依据共享秘密和第一加密信息,确定第一身份标识码;
采用共享秘密对所述共享密钥和第二公钥进行加密,确定第二加密信息;
依据共享秘密和第二加密信息,确定第一身份验证码。
4.根据权利要求1所述的方法,其特征在于,依据所述第一随机信息和所述第二随机信息确定共享密钥包括:将所述第一随机信息和第二随机信息的拼接数据进行哈希值计算,确定共享密钥。
5.根据权利要求1所述的方法,其特征在于,依据所述第一随机信息和所述第二随机信息确定共享密钥包括:采用第一随机信息对所述第二随机信息进行加密,确定共享密钥。
6.根据权利要求1所述的方法,其特征在于,依据所述第一随机信息和所述第二随机信息确定共享密钥包括:
对所述第一随机信息进行哈希值计算,确定第一随机信息的哈希值;
采用第二随机信息对所述第一随机信息的哈希值进行加密,确定共享密钥。
7.一种密钥协商装置,其特征在于,应用于进行密钥协商的至少两个处理器的中的其中一个处理器,包括:
随机模块,用于随机生成第一私钥、第一公钥以及第一随机信息并获取共享秘密;
第一交换模块,用于将所述第一公钥与目标处理器的第二公钥进行交换,以获取目标处理器的第二公钥;
解密模块,用于将采用第二公钥加密的第一随机信息与目标处理器采用第一公钥加密的第二随机信息进行交换,以获取第二随机信息;
密钥确定模块,用于依据所述第一随机信息和所述第二随机信息确定共享密钥;
识别码模块,用于依据所述共享密钥和共享秘密确定第一身份标识码和第一身份验证码;
第二交换模块,用于将所述第一身份标识码与目标处理器的第二身份标识码进行交换,以获取目标处理器的第二身份标识码;
验证模块,用于采用第一身份验证码对所述第二身份标识码进行验证。
8.根据权利要求7所述的装置,其特征在于,所述识别码模块包括:
第一哈希子模块,用于将共享秘密、共享密钥和第一公钥进行数据拼接并计算哈希值,确定第一身份标识码;
第二哈希子模块,用于将共享秘密、共享密钥和第二公钥进行数据拼接并计算哈希值,确定第一身份验证码。
9.根据权利要求7所述的装置,其特征在于,所述识别码模块包括:
第一转换子模块,用于采用共享秘密对所述共享密钥和第一公钥进行加密,确定第一加密信息;
标识码子模块,用于依据共享秘密和第一加密信息,确定第一身份标识码;
第二转换子模块,用于采用共享秘密对所述共享密钥和第二公钥进行加密,确定第二加密信息;
验证码子模块,用于依据共享秘密和第二加密信息,确定第一身份验证码。
10.根据权利要求7所述的装置,其特征在于,密钥确定模块包括:
拼接哈希子模块,用于将所述第一随机信息和第二随机信息的拼接数据进行哈希值计算,确定共享密钥。
11.根据权利要求7所述的装置,其特征在于,密钥确定模块包括:
加密转换子模块,用于采用第一随机信息对所述第二随机信息进行加密,确定共享密钥。
12.根据权利要求7所述的装置,其特征在于,密钥确定模块包括:
哈希子模块,用于对所述第一随机信息进行哈希值计算,确定第一随机信息的哈希值;
加密子模块,用于采用第二随机信息对所述第一随机信息的哈希值进行加密,确定共享密钥。
CN202210755859.8A 2022-06-29 2022-06-29 密钥协商方法及装置 Pending CN115150078A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210755859.8A CN115150078A (zh) 2022-06-29 2022-06-29 密钥协商方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210755859.8A CN115150078A (zh) 2022-06-29 2022-06-29 密钥协商方法及装置

Publications (1)

Publication Number Publication Date
CN115150078A true CN115150078A (zh) 2022-10-04

Family

ID=83410486

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210755859.8A Pending CN115150078A (zh) 2022-06-29 2022-06-29 密钥协商方法及装置

Country Status (1)

Country Link
CN (1) CN115150078A (zh)

Similar Documents

Publication Publication Date Title
AU2021203815B2 (en) Methods for secure cryptogram generation
US11757662B2 (en) Confidential authentication and provisioning
CN109714167B (zh) 适用于移动应用签名的身份认证与密钥协商方法及设备
CN106612180B (zh) 实现会话标识同步的方法及装置
US20200014538A1 (en) Methods and systems to facilitate authentication of a user
CN110990827A (zh) 一种身份信息验证方法、服务器及存储介质
CN112383395B (zh) 密钥协商方法及装置
CN109861813B (zh) 基于非对称密钥池的抗量子计算https通信方法和系统
CN112351037B (zh) 用于安全通信的信息处理方法及装置
US20160021101A1 (en) Method for backing up a user secret and method for recovering a user secret
KR102591826B1 (ko) Puf를 이용한 인증서 기반 디바이스 인증 장치 및 방법
US8806216B2 (en) Implementation process for the use of cryptographic data of a user stored in a data base
KR20200016506A (ko) 익명 디지털 아이덴티티 수립 방법
CN110572257B (zh) 基于身份的数据来源鉴别方法和系统
CN115834077B (zh) 控制方法、控制系统、电子设备及存储介质
KR20040105064A (ko) 무선 통신 환경을 위한 키 분배 프로토콜 방법
KR101868564B1 (ko) 사용자 본인 확인(identification) 등록과 로컬 인증을 연계한 사용자 인증 장치 및 방법
CN115150078A (zh) 密钥协商方法及装置
CN112636906A (zh) 密钥协商方法及装置
KR20170111809A (ko) 대칭키 기반의 보안 토큰을 이용한 양방향 인증 방법
EP3035589A1 (en) Security management system for authenticating a token by a service provider server
CN112887983A (zh) 设备身份认证方法、装置、设备及介质
EP3361670B1 (en) Multi-ttp-based method and device for verifying validity of identity of entity
CN114765531B (zh) 认证方法、量子密钥调用方法、装置及量子密码网络
CN114240428A (zh) 数据传输方法及装置、数据交易终端、数据供方

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