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

密钥协商方法及装置 Download PDF

Info

Publication number
CN112383395B
CN112383395B CN202011464622.1A CN202011464622A CN112383395B CN 112383395 B CN112383395 B CN 112383395B CN 202011464622 A CN202011464622 A CN 202011464622A CN 112383395 B CN112383395 B CN 112383395B
Authority
CN
China
Prior art keywords
key
shared
verified
public
identifier
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.)
Active
Application number
CN202011464622.1A
Other languages
English (en)
Other versions
CN112383395A (zh
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 CN202011464622.1A priority Critical patent/CN112383395B/zh
Publication of CN112383395A publication Critical patent/CN112383395A/zh
Application granted granted Critical
Publication of CN112383395B publication Critical patent/CN112383395B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • 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/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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)
  • Storage Device Security (AREA)

Abstract

本发明提供一种密钥协商方法,应用于共享密钥的分发对象,包括:获取一随机数,依据所述随机数生成共享密钥;接收接受对象发送的公钥;采用公钥将所述共享密钥进行加密,以形成密文;依据共享秘密、公钥和共享密钥,形成第一验证标识;将所述密文发送至接受对象,以使所述接受对象形成第一待验证标识;接收所述接受对象发送的第一待验证标识,并依据所述第一验证标识验证所述第一待验证标识。本发明提供的密钥协商方法,能够安全的完成密钥的协商,不易被攻破且具备前向安全性。

Description

密钥协商方法及装置
技术领域
本发明涉及计算机通信技术领域,尤其涉及一种密钥协商方法及装置。
背景技术
现有的密钥协商方法,通常采用公钥证书发证机构进行通信获取通信对端的公钥证书,但是,当通信的双方在启动过程中如果处于信息孤岛状态,即不可能通过与“数字证书认证中心”这样的公钥证书发证机构进行通信获取通信对端的公钥证书。同时由于通信的双方内部资源有限,不可能为所有的通信终端的都分配一个公私密钥对且将所有通信终端的公钥都集中记录在每个通信终端内部。因此,当通信终端处于信息孤岛的状态下时,就难以完成密钥的协商。
发明内容
本发明提供的密钥协商方法及装置,能够安全的完成密钥的协商,不易被攻破且具备前向安全性。
本发明提供一种密钥协商方法,应用于共享密钥的分发对象,包括:
获取一随机数,依据所述随机数生成共享密钥;
接收接受对象发送的公钥;
采用公钥将所述共享密钥进行加密,以形成密文;
依据共享秘密、公钥和共享密钥,形成第一验证标识;
将所述密文发送至接受对象,以使所述接受对象形成第一待验证标识;
接收所述接受对象发送的第一待验证标识,并依据所述第一验证标识验证所述第一待验证标识。
可选地,所述方法还包括:
依据共享秘密、公钥和共享密钥,形成第二待验证标识;
将所述第二待验证标识发送至接受对象,以使所述接受对象验证身份。
可选地,将所述第二待验证标识发送至接受对象,以使所述接受对象验证身份包括:
将所述第二待验证标识采用公钥进行加密;
将加密后的第二待验证标识发送至接受对象。
可选地,依据共享秘密、公钥和共享密钥,形成第一验证标识包括:
将所述共享密钥、公钥和共享秘密与第一数据进行拼接,以确定拼接信息;
将所述拼接信息进行哈希运算,以得到哈希值;
将所述哈希值作为第一验证标识。
可选地,依据共享秘密、公钥和共享密钥,形成第一验证标识包括:
采用共享秘密对所述公钥和共享密钥进行加密;
依据加密后的公钥、加密后的共享密钥和共享秘密,形成第一验证标识。
第二方面,本发明还提供一种秘钥协商装置,包括:
共享秘钥生成模块,用于获取一随机数,依据所述随机数生成共享密钥;
公钥接收模块,用于接收接受对象发送的公钥;
加密模块,用于采用公钥将所述共享密钥进行加密,以形成密文;
验证标识生成模块,用于依据共享秘密、公钥和共享密钥,形成第一验证标识;
密文发送模块,将所述密文发送至接受对象,以使所述接受对象形成第一待验证标识;
验证模块,接收所述接受对象发送的第一待验证标识,并依据所述第一验证标识验证所述第一待验证标识。
第三方面,本发明还提供一种密钥协商方法,应用于共享密钥的接受对象,包括:
获取一公私密钥对;
将所述公私密钥对中的公钥发送至共享密钥的分发对象,以使所述分发对象采用公钥加密信息;
接收所述分发对象采用公钥加密的密文和第二待验证标识,并采用所述公私密钥对中的私钥进行解密,以得到共享密钥;
依据所述共享秘密、公钥和共享密钥,形成第二验证标识;
依据所述第二验证标识对所述第二待验证标识进行验证,以验证所述密钥分发者的身份并确定共享密钥的协商结果。
可选地,所述方法还包括:
依据公钥、共享密钥和共享秘密,形成第一待验证标识;
将所述第一待验证标识发送至所述分发对象,以使所述分发对象对接受对象的身份进行验证。
可选地,将所述第一待验证标识发送至所述分发对象包括:
将所述第一待验证标识采用所述共享秘密进行加密;
将加密后的第一待验证标识发送至分发对象。
可选地,依据所述共享秘密、公钥和共享密钥,形成第二验证标识包括:
将所述共享秘密、公钥和共享密钥与第二数据进行拼接,以形成拼接信息;
将所述拼接信息进行哈希运算,以得到哈希值;
将所述哈希值作为第二验证标识。
可选地,所述共享秘密至少包括根密钥。
第四方面,本发明还提供一种秘钥协商装置,包括:
秘钥对获取模块,用于获取一公私密钥对;
公钥发送模块,用于将所述公私密钥对中的公钥发送至共享密钥的分发对象,以使所述分发对象采用公钥加密信息;
密文接收模块,用于接收所述分发对象采用公钥加密的密文和第二待验证标识,并采用所述公私密钥对中的私钥进行解密,以得到共享密钥;
验证标识生成模块,用于依据所述共享秘密、公钥和共享密钥,形成第二验证标识;
验证模块,用于依据所述第二验证标识对所述第二待验证标识进行验证,以验证所述密钥分发者的身份并确定共享密钥的协商结果。
本发明提供的技术方案中,通过非对称密码算法加密共享密钥,保证共享密钥的机密性;由于非对称密码算法在解密过程中会校验原始消息的完整性,否则会解密失败,本发明的技术方案中,采用非对称密码算法保证共享密钥的完整性。即使伪装者可以将公钥劫持并替换成自己的公钥,收到分发对象返回密文之后可以解密得到共享密钥,并重新用接受对象的公钥加密共享密钥得到伪装的共享密钥发送给接受对象,此时,由于伪装者无法推测共享秘密,最终将导致身份验证的过程中导致密钥协商失败,从而能够避免传输的信息被第三方劫持。另外,虽然共享秘密保持固定,但是并未参与共享密钥的计算;每次密钥协商过程中,分发对象都是使用随机数计算共享密钥,接受对象也是随机生成公私密钥对,因此即使共享秘密保持固定,借助于非对称密码算法的复杂度,使用旧的共享密钥加密的数据,依然是安全的。
附图说明
图1为一实施例密钥协商方法的分发对象执行方法的流程图;
图2为另一实施例密钥协商方法的第二待验证标识的生成流程图;
图3为另一实施例密钥协商方法的第二待验证标识的发送流程图;
图4为另一实施例密钥协商方法的第一验证标识的生成流程图;
图5为另一实施例密钥协商方法的第一验证标识的生成流程图;
图6为另一实施例密钥协商装置的示意图;
图7为另一实施例密钥协商方法的接受对象执行方法的流程图;
图8为另一实施例密钥协商方法的第一待验证标识的生成流程图;
图9为另一实施例密钥协商方法的第一待验证标识的发送流程图;
图10为另一实施例密钥协商方法的第二验证标识的生成流程图;
图11为另一实施例密钥协商装置的示意图;
图12为另一实施例密钥协商方法执行与多路处理器的具体流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种密钥协商方法,应用于共享密钥的分发对象,如图1所示,包括:
步骤100,获取一随机数,依据所述随机数生成共享密钥;
在一些实施例中,分发对象在每次协商密钥的过程中都生成随机数,并依据随机数生成共享密钥,从而,能够使得每次的密钥都不相同,从而,能够为本发明提供的技术方案的前向安全性提供基础。
步骤200,接收接受对象发送的公钥;
在一些实施例中,接受对象生成公私密钥对,公私密钥对是一种非对称加密方式,在生成公私密钥对之后,将公钥发送给密钥分发对象。密钥分发对象接收该公钥,并在后续发送需要加密的数据时,采用该公钥进行加密。由于该公钥加密的数据仅能够采用对应的私钥进行解密,能够确保信息传输的安全性。
步骤300,采用公钥将所述共享密钥进行加密,以形成密文;
在一些实施例中,由于共享密钥为多方通讯过程中使用的密钥,需要将共享密钥发送给每一个接受对象。为了确保共享密钥在传输过程中的安全性,采用接受对象的公钥进行加密,从而形成密文。
步骤400,依据共享秘密、公钥和共享密钥,形成第一验证标识;
在一些实施例中,在共享密钥的传输过程中,采用前述步骤300的方式进行加密,同时为了验证分发对象和接受对象的身份,还需要对身份进行验证。为了确保共享秘密、公钥和共享密钥都是双方均知晓的信息,同时共享秘密和共享密钥为仅有双方知晓的信息,从而,通过双方对验证标识的验证确定双方的身份。
步骤500,将所述密文发送至接受对象,以使所述接受对象形成第一待验证标识;
在一些实施例中,在前一步骤中,生成的验证标识是分发对象用于验证身份的信息。在验证身份的过程中,需要通过信息的比对进行验证,因此,在本实施方式中,将密文发送给接受对象之后,接受对象还会依据该密文信息生成第一待验证标识。在接受对象生成第一待验证标识后,会将第一待验证标识发送给分发对象,从而,由分发对象验证接受对象的身份。
步骤600,接收所述接受对象发送的第一待验证标识,并依据所述第一验证标识验证所述第一待验证标识。
在一些实施例中,在分发对象接收到接受对象发送的第一待验证标识之后,将第一验证标识与第一待验证标识进行比较,当两者相同时,表明验证通过,密钥协商成功,当两者不同时,表明验证不通过,密钥协商失败。
本实施例提供的技术方案中,通过非对称密码算法加密共享密钥,保证共享密钥的机密性;由于非对称密码算法在解密过程中会校验原始消息的完整性,否则会解密失败,本实施例的技术方案中,采用非对称密码算法保证共享密钥的完整性。即使伪装者可以将公钥劫持并替换成自己的公钥,收到分发对象返回密文之后可以解密得到共享密钥,并重新用接受对象的公钥加密共享密钥得到伪装的共享密钥发送给接受对象,此时,由于伪装者无法推测共享秘密,最终将导致身份验证的过程中导致密钥协商失败,从而能够避免传输的信息被第三方劫持。另外,虽然共享秘密保持固定,但是并未参与共享密钥的计算;每次密钥协商过程中,分发对象都是使用随机数计算共享密钥,接受对象也是随机生成公私密钥对,因此即使共享秘密保持固定,借助于非对称密码算法的复杂度,使用旧的共享密钥加密的数据,依然是安全的。
在上述图1所示的实施例的基础上,如图2所示,所述方法还包括:
步骤010,步骤依据共享秘密、公钥和共享密钥,形成第二待验证标识;
在一些实施例中,不仅分发对象需要对于接受对象的身份进行验证,接受对象也需要对分发对象的身份进行验证,以确定分发对象的身份。因此,在本步骤中,分发对象依据共享秘密、公钥和共享密钥生成第二待验证标识,从而由接受对象对第二待验证标识进行验证,以确定分发对象的身份。
步骤020,将所述第二待验证标识发送至接受对象,以使所述接受对象验证身份。
在一些实施例中,接受对象不仅仅会生成第一待验证标识,还会生成第二验证标识,在分发对象将第二待验证标识发送给接受对象之后,接受对象将第二验证标识与第二待验证标识进行比对,当两者相同时,接受对象可以确定分发对象的身份正确,密钥协商成功,当两者不同时,接受对象可以确定分发对象的身份不正确,密钥协商失败。
在本实施例中,不仅分发对象会对接受对象的身份进行验证,还需要接受对象对分发对象的身份进行验证,从而,能够进一步提高密钥协商过程的安全性。
在上述图2所示的实施例的基础上,如图3所示,步骤020包括:
步骤021,将所述第二待验证标识采用公钥进行加密;
在一些实施例中,为了确保第二验证标识的机密性以及完整性,采用公钥进行加密后发送给接受对象,从而,接受对象在使用私钥进行解密的过程会对第二待验证标识的完整性进行验证。
步骤022,将加密后的第二待验证标识发送至接受对象。
在一些实施例中,由于接受对象的公钥加密的数据仅仅能够被接受对象的私钥进行解密,因此,在发送过程中,即使被第三方劫持,也不会泄露信息。
在本实施例中,通过公钥对于第二待验证标识进行加密,从而,能够在发送过程中确保第二待验证标识的机密性和完整性。
在上述图1所示的实施例基础上,如图4所示,步骤400包括:
步骤410,将所述共享密钥、公钥和共享秘密与第一数据进行拼接,以确定拼接信息;
在一些实施例中,通信双方的共享秘密和第一固定数据是相同的,而公钥、共享密钥是随机的,从而,能够确保每次的拼接信息都不同,也就能够确保每次的第一验证标识不同的。并且,在前述的各种数据中,均是仅仅分发对象和接受对象的知悉的信息,能够避免被第三方冒充身份。
步骤420,将所述拼接信息进行哈希运算,以得到哈希值;
在一些实施例中,哈希运算对于相同的信息能够得到唯一的哈希值,对于不同的信息会得到不同的哈希值。对拼接信息进行哈希运算,能够得到唯一的哈希值,有利于后续的比较和验证。
步骤430,将所述哈希值作为第一验证标识。
在一些实施例中,接受对象发送的第一待验证标识也应当是一个哈希值,在验证的过程中,比较两个哈希值即可。由于仅需比较两个哈希值即可确定身份验证信息是否相同,因此,能够减少比较过程中的计算量,提高计算效率。
在本实施例中,通过哈希值的比较来实现身份的验证,由于哈希值的唯一性,只要两者的哈希值相同,即可确定信息完全相同,同时,由于仅需比较两个哈希值,因此,减少了比较过程的计算量,提高了计算效率。
在上述图1所示的实施例的基础上,如图5所示,步骤400包括:
步骤440,采用共享秘密对所述公钥和共享密钥进行加密;
在一些实施例中,由于后续需要对第一验证标识进行传输,因此,采用共享秘密对公钥和共享密钥进行加密后计算第一验证标识,即使第一验证标识被第三方劫持,由于其不知悉共享秘密,也就不能获知公钥和共享密钥,能够提高协商过程的安全性。
步骤450,依据加密后的公钥、加密后的共享密钥和共享秘密,形成第一验证标识。
在一些实施例中,为了确保对身份的验证过程成功进行,需要确保验证过程对所有验证信息都进行验证,同时,为确保验证过程的简便快捷,应当尽可能使多个验证信息综合在一起进行验证,因此,在对公钥和共享密钥进行加密后仍然需要形成第一验证标识。
本发明还提供一种秘钥协商装置,如图6所示,包括:
共享秘钥生成模块1010,用于获取一随机数,依据所述随机数生成共享密钥;
在一些实施例中,分发对象在每次协商密钥的过程中都生成随机数,并依据随机数生成共享密钥,从而,能够使得每次的密钥都不相同,从而,能够为本发明提供的技术方案的前向安全性提供基础。
公钥接收模块1020,用于接收接受对象发送的公钥;
在一些实施例中,接受对象生成公私密钥对,公私密钥对是一种非对称加密方式,在生成公私密钥对之后,将公钥发送给密钥分发对象。密钥分发对象接收该公钥,并在后续发送需要加密的数据时,采用该公钥进行加密。由于该公钥加密的数据仅能够采用对应的私钥进行解密,能够确保信息传输的安全性。
加密模块1030,用于采用公钥将所述共享密钥进行加密,以形成密文;
在一些实施例中,由于共享密钥为多方通讯过程中使用的密钥,需要将共享密钥发送给每一个接受对象。为了确保共享密钥在传输过程中的安全性,采用接受对象的公钥进行加密,从而形成密文。
验证标识生成模块1040,用于依据共享秘密、公钥和共享密钥,形成第一验证标识;
在一些实施例中,在共享密钥的传输过程中,采用前述步骤300的方式进行加密,同时为了验证分发对象和接受对象的身份,还需要对身份进行验证。为了确保共享秘密、公钥和共享密钥都是双方均知晓的信息,同时共享秘密和共享密钥为仅有双方知晓的信息,从而,通过双方对验证标识的验证确定双方的身份。
密文发送模块1050,用于将所述密文发送至接受对象,以使所述接受对象形成第一待验证标识;
在一些实施例中,在前一步骤中,生成的验证标识是分发对象用于验证身份的信息。在验证身份的过程中,需要通过信息的比对进行验证,因此,在本实施方式中,将密文发送给接受对象之后,接受对象还会依据该密文信息生成第一待验证标识。在接受对象生成第一待验证标识后,会将第一待验证标识发送给分发对象,从而,由分发对象验证接受对象的身份。
验证模块1060,用于接收所述接受对象发送的第一待验证标识,并依据所述第一验证标识验证所述第一待验证标识。
在一些实施例中,在分发对象接收到接受对象发送的第一待验证标识之后,将第一验证标识与第一待验证标识进行比较,当两者相同时,表明验证通过,密钥协商成功,当两者不同时,表明验证不通过,密钥协商失败。
本实施例提供的技术方案中,通过非对称密码算法加密共享密钥,保证共享密钥的机密性;由于非对称密码算法在解密过程中会校验原始消息的完整性,否则会解密失败,本实施例的技术方案中,采用非对称密码算法保证共享密钥的完整性。即使伪装者可以将公钥劫持并替换成自己的公钥,收到分发对象返回密文之后可以解密得到共享密钥,并重新用接受对象的公钥加密共享密钥得到伪装的共享密钥发送给接受对象,此时,由于伪装者无法推测共享秘密,最终将导致身份验证的过程中导致密钥协商失败,从而能够避免传输的信息被第三方劫持。另外,虽然共享秘密保持固定,但是并未参与共享密钥的计算;每次密钥协商过程中,分发对象都是使用随机数计算共享密钥,接受对象也是随机生成公私密钥对,因此即使共享秘密保持固定,借助于非对称密码算法的复杂度,使用旧的共享密钥加密的数据,依然是安全的。
本发明实施例还提供一种密钥协商方法,如图7所示,应用于共享密钥的接受对象,包括:
步骤710,获取一公私密钥对;
在一些实施例中,接受对象生成公私密钥对,公私密钥对中的公钥加密的信息仅能够通过私钥进行解密。采用非对称加密的方式,私钥在解密过程中会验证信息的完整性,因此,能够确保公钥加密的信息在传输过程中的完整性。
步骤720,将所述公私密钥对中的公钥发送至共享密钥的分发对象,以使所述分发对象采用公钥加密信息;
在一些实施例中,将公钥发送至分发对象,从而,在共享密钥的分发对象发送共享密钥的过程中,能够采用公钥进行加密。由前一步骤中的非对称加密特点可知,分发对象采用公钥对共享密钥进行加密后发送给接受对象,接受对象在解密过程中会对共享密钥的完整性进行验证,确保共享密钥的完整性。
步骤730,接收所述分发对象采用公钥加密的密文和第二待验证标识,并采用所述公私密钥对中的私钥进行解密,以得到共享密钥;
在一些实施例中,在接收到分发对象的密文后,采用私钥进行解密即可以得到共享密钥。在分发对象发送共享密钥的同时,为了使接受对象能够确认分发对象的身份,还要发送第二待验证标识。接受对象会生成第二验证标识,在收到第二待验证标识之后,通过第二验证标识对第二待验证标识进行验证,从而确定分发对象的身份。
步骤740,依据所述共享秘密、公钥和共享密钥,形成第二验证标识;
在一些实施例中,第二验证标识的形成方式与第二待验证标识的形成方式相同,且两者所用的信息是相同的。并且两者所用的信息应当为仅被分发对象和接收对象所知悉的信息。因此,在本步骤中,采用共享秘密、公钥和共享密钥形成第二验证标识。
步骤750,依据所述第二验证标识对所述第二待验证标识进行验证,以验证所述密钥分发者的身份并确定共享密钥的协商结果。
在一些实施例中,依据第二验证标识和第二待验证标识进行验证,当两者相同时,可以确定分发对象的身份验证成功,即密钥协商成功,当两者不同时,可以确定分发对象的身份验证失败,即密钥协商失败。
本实施例提供的技术方案中,通过非对称密码算法加密共享密钥,保证共享密钥的机密性;由于非对称密码算法在解密过程中会校验原始消息的完整性,否则会解密失败,本实施例的技术方案中,采用非对称密码算法保证共享密钥的完整性。即使伪装者可以将公钥劫持并替换成自己的公钥,收到分发对象返回密文之后可以解密得到共享密钥,并重新用接受对象的公钥加密共享密钥得到伪装的共享密钥发送给接受对象,此时,由于伪装者无法推测共享秘密,最终将导致身份验证的过程中导致密钥协商失败,从而能够避免传输的信息被第三方劫持。另外,虽然共享秘密保持固定,但是并未参与共享密钥的计算;每次密钥协商过程中,分发对象都是使用随机数计算共享密钥,接受对象也是随机生成公私密钥对,因此即使共享秘密保持固定,借助于非对称密码算法的复杂度,使用旧的共享密钥加密的数据,依然是安全的。
在上述图7所示的实施例基础上,如图8所示,所述方法还包括:
步骤701,依据公钥、共享密钥和共享秘密,形成第一待验证标识;
在一些实施例中,由于分发对象需要对接受对象的身份进行验证,因此,接受对象还需要形成第一待验证标识。第一待验证标识的形成过程,也应当采用仅有双方知悉的信息内容形成。并且,第一待验证标识的形成过程与第一验证标识的形成过程应当是相同的。
步骤702,将所述第一待验证标识发送至所述分发对象,以使所述分发对象对接受对象的身份进行验证。
在一些实施例中,第一待验证标识发送至分发对象之后,分发对象采用第一验证标识对第一待验证标识进行验证,从而,对接受对象的身份进行验证,当验证成功之后,即表明密钥协商成功,验证失败之后,即表明密钥协商失败。
在本实施例中,通过分发对象对接受对象的身份进行验证,确保接受到共享密钥的对象为正确的接收对象,从而,能够保证密钥协商过程的安全性。
在图8所示的实施例基础上,如图9所示,步骤702包括:
步骤7021,将所述第一待验证标识采用所述共享秘密进行加密;
在一些实施例中,由于第一待验证标识需要进行传输,为确保第一待验证标识的在传输过程中的安全性,采用共享秘密进行加密,由于共享秘密为仅被分发对象和接受对象知悉的信息,采用共享秘密进行加密,能够确保第一待验证标识传输过程的安全性。
步骤7022,将加密后的第一待验证标识发送至分发对象。
在一些实施例中,加密后的第一待验证标识发送至分发对象,分发对象知悉共享秘密,因此,可以采用共享秘密对加密后的第一待验证标识进行解密。解密后,分发对象对第一待验证标识和第一验证标识进行比对,当两者相同时,表明分发对象对接受对象的身份验证成功,密钥协商成功,但两者不同时,表明分发对象对接受对象的身份验证失败,密钥协商失败。
在本实施例中,采用共享秘密对于第一待验证标识进行加密后再传输,能够确保第一待验证标识传输过程中的安全性。
在上述图8所示的实施例基础上,如图10所示,步骤740包括:
步骤741,将所述共享秘密、公钥和共享密钥与第二数据进行拼接,以形成拼接信息;
在一些实施例中,通信双方的共享秘密和第二固定数据是相同的,而公钥、共享密钥是随机的,从而,能够确保每次的拼接信息都不同,也就能够确保每次的第二验证标识不同的。并且,在前述的各种数据中,均是仅仅分发对象和接受对象的知悉的信息,能够避免被第三方冒充身份。
步骤742,将所述拼接信息进行哈希运算,以得到哈希值;
在一些实施例中,哈希运算对于相同的信息能够得到唯一的哈希值,对于不同的信息会得到不同的哈希值。对拼接信息进行哈希运算,能够得到唯一的哈希值,有利于后续的比较和验证。
步骤743,将所述哈希值作为第二验证标识。
在一些实施例中,分发对象发送的第二待验证标识也应当是一个哈希值,在验证的过程中,比较两个哈希值即可。由于仅需比较两个哈希值即可确定身份验证信息是否相同,因此,能够减少比较过程中的计算量,提高计算效率。
在本实施例中,通过哈希值的比较来实现身份的验证,由于哈希值的唯一性,只要两者的哈希值相同,即可确定信息完全相同,同时,由于仅需比较两个哈希值,因此,减少了比较过程的计算量,提高了计算效率。
在一些可选的实施方式中,所述共享秘密至少包括根密钥。共享秘密应当是分发对象和接受对象共同知悉,但第三方难以知悉的信息,例如,在多路处理器通信过程中的密钥协商过程中可以采用处理器的根密钥作为共享秘密。
本发明实施例还提供一种秘钥协商装置,如图11所示,包括
秘钥对获取模块2010,用于获取一公私密钥对;
在一些实施例中,接受对象生成公私密钥对,公私密钥对中的公钥加密的信息仅能够通过私钥进行解密。采用非对称加密的方式,私钥在解密过程中会验证信息的完整性,因此,能够确保公钥加密的信息在传输过程中的完整性。
公钥发送模块2020,用于将所述公私密钥对中的公钥发送至共享密钥的分发对象,以使所述分发对象采用公钥加密信息;
在一些实施例中,将公钥发送至分发对象,从而,在共享密钥的分发对象发送共享密钥的过程中,能够采用公钥进行加密。由前一步骤中的非对称加密特点可知,分发对象采用公钥对共享密钥进行加密后发送给接受对象,接受对象在解密过程中会对共享密钥的完整性进行验证,确保共享密钥的完整性。
密文接收模块2030,用于接收所述分发对象采用公钥加密的密文和第二待验证标识,并采用所述公私密钥对中的私钥进行解密,以得到共享密钥;
在一些实施例中,在接收到分发对象的密文后,采用私钥进行解密即可以得到共享密钥。在分发对象发送共享密钥的同时,为了使接受对象能够确认分发对象的身份,还要发送第二待验证标识。接受对象会生成第二验证标识,在收到第二待验证标识之后,通过第二验证标识对第二待验证标识进行验证,从而确定分发对象的身份。
验证标识生成模块2040,用于依据所述共享秘密、公钥和共享密钥,形成第二验证标识;
在一些实施例中,第二验证标识的形成方式与第二待验证标识的形成方式相同,且两者所用的信息是相同的。并且两者所用的信息应当为仅被分发对象和接收对象所知悉的信息。因此,在本步骤中,采用共享秘密、公钥和共享密钥形成第二验证标识。
验证模块2050,用于依据所述第二验证标识对所述第二待验证标识进行验证,以验证所述密钥分发者的身份并确定共享密钥的协商结果。
在一些实施例中,依据第二验证标识和第二待验证标识进行验证,当两者相同时,可以确定分发对象的身份验证成功,即密钥协商成功,当两者不同时,可以确定分发对象的身份验证失败,即密钥协商失败。
本实施例提供的技术方案中,通过非对称密码算法加密共享密钥,保证共享密钥的机密性;由于非对称密码算法在解密过程中会校验原始消息的完整性,否则会解密失败,本实施例的技术方案中,采用非对称密码算法保证共享密钥的完整性。即使伪装者可以将公钥劫持并替换成自己的公钥,收到分发对象返回密文之后可以解密得到共享密钥,并重新用接受对象的公钥加密共享密钥得到伪装的共享密钥发送给接受对象,此时,由于伪装者无法推测共享秘密,最终将导致身份验证的过程中导致密钥协商失败,从而能够避免传输的信息被第三方劫持。另外,虽然共享秘密保持固定,但是并未参与共享密钥的计算;每次密钥协商过程中,分发对象都是使用随机数计算共享密钥,接受对象也是随机生成公私密钥对,因此即使共享秘密保持固定,借助于非对称密码算法的复杂度,使用旧的共享密钥加密的数据,依然是安全的。
如图12所示,是一种以多路处理器通信过程为例的密钥协商方法的具体流程,包括:
CPU0和CPU1拥有共享的秘密信息S;
CPU0使用随机数生成共享密钥R;
CPU1随机生成公私密钥对,记私钥为K,公钥为P;
CPU1将公钥P发送给CPU0,发起密钥协商,等待CPU0返回加密的共享密钥以及身份标识;
CPU0收到CPU1的公钥P之后,首先使用公钥P对共享密钥R进行加密,得到密文ENC-R;然后使用“共享秘密S||公钥P||共享密钥R”分别拼接固定的数据data1和data2并计算Hash值(data1和data2可以是任意数据,但是二者必须不相等),分别得到身份标识MID1和MID2;最后将密文ECN-R和身份标识MID1发送给CPU1,等待CPU1返回身份标识;
CPU1收到CPU0的密文ECN-R和身份标识MID1之后,首先通过私钥K解密密文ENC-R,得到共享密钥R;然后采用和CPU0相同的固定数据data1和data2分别拼接“共享秘密S||公钥P||共享密钥R”计算Hash值,分别得到身份标识SID1和SID2;最后将身份标识SID2发送给CPU0;
CPU0收到CPU1的身份标识SID2之后,通过检验SID2==MID2,则判断密钥协商成功;否则密钥协商失败。
CPU1通过检验MID1==SID1,则判断密钥协商成功;否则密钥协商失败。
上述流程描述的是两个CPU之间的共享密钥协商,多个CPU之间的密钥协商,只需要选择一个CPU作为共享密钥分发者,然后和剩下的CPU重复上述步骤3~8。
本领域普通技术人员可以理解实现上述方法实施例中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (8)

1.一种密钥协商方法,应用于处于信息孤岛状态下的共享密钥的分发对象,其特征在于,包括:
在每次密钥协商过程中,获取一随机数,依据所述随机数生成共享密钥;
接收接受对象发送的公钥;其中,所述公钥是接受对象在每次密钥协商过程中随机生成的公私密钥对中的公钥;
采用公钥将所述共享密钥进行加密,以形成密文;
依据共享秘密、公钥和共享密钥,形成第一验证标识,具体为:采用共享秘密对所述公钥和共享密钥进行加密;依据加密后的公钥、加密后的共享密钥和共享秘密,形成第一验证标识;所述共享秘密包括根密钥;
将所述密文发送至接受对象,以使所述接受对象形成第一待验证标识;
接收所述接受对象发送的第一待验证标识,并依据所述第一验证标识验证所述第一待验证标识。
2.根据权利要求1所述的密钥协商方法,其特征在于,所述方法还包括:
依据共享秘密、公钥和共享密钥,形成第二待验证标识;
将所述第二待验证标识发送至接受对象,以使所述接受对象验证身份。
3.根据权利要求2所述的密钥协商方法,其特征在于,将所述第二待验证标识发送至接受对象,以使所述接受对象验证身份包括:
将所述第二待验证标识采用公钥进行加密;
将加密后的第二待验证标识发送至接受对象。
4.一种密钥协商装置,应用于处于信息孤岛状态下的共享密钥的分发对象,其特征在于,包括:
共享密钥生成模块,用于在每次密钥协商过程中,获取一随机数,依据所述随机数生成共享密钥;
公钥接收模块,用于接收接受对象发送的公钥;其中,所述公钥是接受对象在每次密钥协商过程中随机生成的公私密钥对中的公钥;
加密模块,用于采用公钥将所述共享密钥进行加密,以形成密文;
验证标识生成模块,用于依据共享秘密、公钥和共享密钥,形成第一验证标识,具体为:采用共享秘密对所述公钥和共享密钥进行加密;依据加密后的公钥、加密后的共享密钥和共享秘密,形成第一验证标识;所述共享秘密包括根密钥;
密文发送模块,将所述密文发送至接受对象,以使所述接受对象形成第一待验证标识;
验证模块,接收所述接受对象发送的第一待验证标识,并依据所述第一验证标识验证所述第一待验证标识。
5.一种密钥协商方法,应用于处于信息孤岛状态下的共享密钥的接受对象,其特征在于,包括:
在每次密钥协商过程中,随机获取一公私密钥对;
将所述公私密钥对中的公钥发送至共享密钥的分发对象,以使所述分发对象采用公钥加密信息;
接收所述分发对象采用公钥加密的密文和第二待验证标识,并采用所述公私密钥对中的私钥进行解密,以得到共享密钥;其中,共享密钥是分发对象在每次密钥协商过程中,依据随机数生成共享密钥;
依据所述共享秘密、公钥和共享密钥,形成第二验证标识,具体为:采用共享秘密对所述公钥和共享密钥进行加密;依据加密后的公钥、加密后的共享密钥和共享秘密,形成第二验证标识;所述共享秘密包括根密钥;
依据所述第二验证标识对所述第二待验证标识进行验证,以验证所述密钥分发者的身份并确定共享密钥的协商结果。
6.根据权利要求5所述的密钥协商方法,其特征在于,所述方法还包括:
依据公钥、共享密钥和共享秘密,形成第一待验证标识;
将所述第一待验证标识发送至所述分发对象,以使所述分发对象对接受对象的身份进行验证。
7.根据权利要求6所述的密钥协商方法,其特征在于,将所述第一待验证标识发送至所述分发对象包括:
将所述第一待验证标识采用所述共享秘密进行加密;
将加密后的第一待验证标识发送至分发对象。
8.一种密钥协商装置,应用于处于信息孤岛状态下的共享密钥的接受对象,其特征在于,其特征在于,包括:
密钥对获取模块,用于在每次密钥协商过程中,随机获取一公私密钥对;
公钥发送模块,用于将所述公私密钥对中的公钥发送至共享密钥的分发对象,以使所述分发对象采用公钥加密信息;
密文接收模块,用于接收所述分发对象采用公钥加密的密文和第二待验证标识,并采用所述公私密钥对中的私钥进行解密,以得到共享密钥;其中,共享密钥是分发对象在每次密钥协商过程中,依据随机数生成共享密钥;
验证标识生成模块,用于依据所述共享秘密、公钥和共享密钥,形成第二验证标识,具体为:采用共享秘密对所述公钥和共享密钥进行加密;依据加密后的公钥、加密后的共享密钥和共享秘密,形成第二验证标识;所述共享秘密包括根密钥;
验证模块,用于依据所述第二验证标识对所述第二待验证标识进行验证,以验证所述密钥分发者的身份并确定共享密钥的协商结果。
CN202011464622.1A 2020-12-11 2020-12-11 密钥协商方法及装置 Active CN112383395B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011464622.1A CN112383395B (zh) 2020-12-11 2020-12-11 密钥协商方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011464622.1A CN112383395B (zh) 2020-12-11 2020-12-11 密钥协商方法及装置

Publications (2)

Publication Number Publication Date
CN112383395A CN112383395A (zh) 2021-02-19
CN112383395B true CN112383395B (zh) 2024-01-23

Family

ID=74589662

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011464622.1A Active CN112383395B (zh) 2020-12-11 2020-12-11 密钥协商方法及装置

Country Status (1)

Country Link
CN (1) CN112383395B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112989321A (zh) * 2021-03-02 2021-06-18 北京思特奇信息技术股份有限公司 一种基于秘密共享算法的密钥管理方法和系统
CN113190489B (zh) * 2021-05-19 2022-04-08 郑州信大捷安信息技术股份有限公司 一种双主机事件共享转接装置和方法
CN113297599B (zh) * 2021-06-16 2023-11-03 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) 数据传输系统、数据获取方法、终端和存储介质
CN113297091B (zh) * 2021-06-18 2022-04-29 海光信息技术股份有限公司 SoC芯片的调试方法、装置及SoC芯片

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6681017B1 (en) * 1997-09-03 2004-01-20 Lucent Technologies Inc. Simplified secure shared key establishment and data delivery protocols for electronic commerce
CN102264068A (zh) * 2010-05-28 2011-11-30 中国移动通信集团公司 共享密钥协商方法与系统、网络平台及终端
CN104363221A (zh) * 2014-11-10 2015-02-18 青岛微智慧信息有限公司 一种网络安全隔离文件传输控制方法
CN106127079A (zh) * 2016-07-15 2016-11-16 中电长城网际系统应用有限公司 一种数据共享方法及装置
CN106411528A (zh) * 2016-10-17 2017-02-15 重庆邮电大学 一种基于隐式证书的轻量级认证密钥协商方法
CN107040369A (zh) * 2016-10-26 2017-08-11 阿里巴巴集团控股有限公司 数据传输方法、装置及系统
CN108322488A (zh) * 2017-01-16 2018-07-24 广州市联奥信息科技有限公司 在多个车联网中实现可信数据共享和分发的系统
CN110896348A (zh) * 2019-11-26 2020-03-20 飞天诚信科技股份有限公司 一种密钥协商的方法及系统
CN111490878A (zh) * 2020-04-09 2020-08-04 腾讯科技(深圳)有限公司 密钥生成方法、装置、设备及介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6681017B1 (en) * 1997-09-03 2004-01-20 Lucent Technologies Inc. Simplified secure shared key establishment and data delivery protocols for electronic commerce
CN102264068A (zh) * 2010-05-28 2011-11-30 中国移动通信集团公司 共享密钥协商方法与系统、网络平台及终端
CN104363221A (zh) * 2014-11-10 2015-02-18 青岛微智慧信息有限公司 一种网络安全隔离文件传输控制方法
CN106127079A (zh) * 2016-07-15 2016-11-16 中电长城网际系统应用有限公司 一种数据共享方法及装置
CN106411528A (zh) * 2016-10-17 2017-02-15 重庆邮电大学 一种基于隐式证书的轻量级认证密钥协商方法
CN107040369A (zh) * 2016-10-26 2017-08-11 阿里巴巴集团控股有限公司 数据传输方法、装置及系统
CN108322488A (zh) * 2017-01-16 2018-07-24 广州市联奥信息科技有限公司 在多个车联网中实现可信数据共享和分发的系统
CN110896348A (zh) * 2019-11-26 2020-03-20 飞天诚信科技股份有限公司 一种密钥协商的方法及系统
CN111490878A (zh) * 2020-04-09 2020-08-04 腾讯科技(深圳)有限公司 密钥生成方法、装置、设备及介质

Also Published As

Publication number Publication date
CN112383395A (zh) 2021-02-19

Similar Documents

Publication Publication Date Title
CN110380852B (zh) 双向认证方法及通信系统
CN111585749B (zh) 数据传输方法、装置、系统及设备
US11108565B2 (en) Secure communications providing forward secrecy
CN112383395B (zh) 密钥协商方法及装置
CN110535628B (zh) 通过证书签发进行多方安全计算的方法及装置
JP4617763B2 (ja) 機器認証システム、機器認証サーバ、端末機器、機器認証方法、および機器認証プログラム
CN109155732B (zh) 在网络设备之间建立安全通信的方法和装置
CN111552270B (zh) 用于车载诊断的安全认证和数据传输方法及装置
CN112351037B (zh) 用于安全通信的信息处理方法及装置
CN111935712A (zh) 一种基于NB-IoT通信的数据传输方法、系统及介质
CN115499250B (zh) 一种数据加密方法及装置
CN110635901A (zh) 用于物联网设备的本地蓝牙动态认证方法和系统
KR102591826B1 (ko) Puf를 이용한 인증서 기반 디바이스 인증 장치 및 방법
US20240113885A1 (en) Hub-based token generation and endpoint selection for secure channel establishment
CN111225001B (zh) 区块链去中心化通讯方法、电子设备及系统
CN112448810B (zh) 一种认证方法以及装置
CN114696999A (zh) 一种身份鉴别方法和装置
KR102415628B1 (ko) Dim을 이용한 드론 인증 방법 및 장치
CN113676330B (zh) 一种基于二级密钥的数字证书申请系统及方法
CN112636906A (zh) 密钥协商方法及装置
CN112787990B (zh) 一种电力终端可信接入认证方法和系统
JP2004274134A (ja) 通信方法並びにこの通信方法を用いた通信システム、サーバおよびクライアント
EP3035589A1 (en) Security management system for authenticating a token by a service provider server
CN113886781B (zh) 基于区块链的多重认证加密方法、系统、电子设备及介质
CN115150078A (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
GR01 Patent grant
GR01 Patent grant