CN117938363A - 密钥生成方法、装置及系统 - Google Patents
密钥生成方法、装置及系统 Download PDFInfo
- Publication number
- CN117938363A CN117938363A CN202310156028.3A CN202310156028A CN117938363A CN 117938363 A CN117938363 A CN 117938363A CN 202310156028 A CN202310156028 A CN 202310156028A CN 117938363 A CN117938363 A CN 117938363A
- Authority
- CN
- China
- Prior art keywords
- key
- negotiation
- long
- public
- communication party
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 106
- 230000006854 communication Effects 0.000 claims abstract description 563
- 238000004891 communication Methods 0.000 claims abstract description 561
- 230000007774 longterm Effects 0.000 claims description 435
- 238000012795 verification Methods 0.000 claims description 36
- 238000004590 computer program Methods 0.000 claims description 14
- 230000007246 mechanism Effects 0.000 claims description 14
- 230000006870 function Effects 0.000 claims description 9
- 238000009795 derivation Methods 0.000 claims description 8
- 230000008569 process Effects 0.000 description 29
- HEFNNWSXXWATRW-UHFFFAOYSA-N Ibuprofen Chemical compound CC(C)CC1=CC=C(C(C)C(O)=O)C=C1 HEFNNWSXXWATRW-UHFFFAOYSA-N 0.000 description 8
- 230000008520 organization Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 3
- 101150080685 ska1 gene Proteins 0.000 description 3
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000000750 progressive effect Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 101150018289 ska2 gene Proteins 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 208000008918 voyeurism Diseases 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0863—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3226—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种密钥生成方法、装置及系统,属于通信安全领域。通信方接收对方发送的密钥协商消息,该密钥协商消息包括对方持有的多个协商公钥,该多个协商公钥的认证源包括至少两个可信机构。通信方验证该多个协商公钥的真实性。如果通信方确定该多个协商公钥均为来自对方的真实公钥,通信方采用该多个协商公钥以及己方持有的多个协商私钥生成会话密钥,该多个协商私钥对应的协商公钥的认证源包括至少两个可信机构。不同可信机构为通信方提供不同身份因素,通信方基于多种身份因素进行多重身份认证,最终生成的会话密钥也糅合了通信双方的多种身份因素,提高了会话密钥的安全性和机密性,从而提高了后续通信的安全性和可靠性。
Description
本申请要求于2022年10月26日提交的申请号为202211319930.4、发明名称为“一种多因素认证密钥协商方法、装置及系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信安全领域,特别涉及一种密钥生成方法、装置及系统。
背景技术
认证密钥交换(authenticated key exchange,AKE)协议是密码学领域一个重要的研究方向。通信双方通过运行AKE协议,能够互相进行身份认证,并在协议运行结束后,通信双方能够生成用于后继通信的会话密钥。如何进一步提高通信双方生成的会话密钥的安全性,从而提高后继通信的安全性和可靠性,是密码学领域长期研究的问题。
发明内容
本申请提供了一种密钥生成方法、装置及系统,可以提高通信双方生成的会话密钥的安全性,从而提高后继通信的安全性和可靠性。
第一方面,提供了一种密钥生成方法。该方法包括:第一通信方接收第二通信方发送的第一密钥协商消息,第一密钥协商消息包括第二通信方持有的用于参与密钥协商的n个协商公钥。该n个协商公钥的认证源包括至少两个可信机构,n≥2。第一通信方验证该n个协商公钥的真实性。如果第一通信方确定n个协商公钥均为来自第二通信方的真实公钥,第一通信方采用n个协商公钥以及第一通信方持有的用于参与密钥协商的m个协商私钥生成第一通信方与第二通信方之间的会话密钥。该m个协商私钥对应的协商公钥的认证源包括至少两个可信机构,m≥2。
这里,不同可信机构能够为通信方提供不同身份因素,第二通信方持有的用于参与密钥协商的n个协商公钥的认证源包括至少两个可信机构,则表示该n个协商公钥能够作为第二通信方的至少两种身份因素。同理,第一通信方持有的用于参与密钥协商的m个协商私钥对应的协商公钥的认证源包括至少两个可信机构,则表示m个协商私钥对应的协商公钥能够作为第一通信方的至少两种身份因素。
本申请中,通信双方分别持有用于参与密钥协商的多个公私钥对,且每个通信方用于参与密钥协商的多个公私钥对中的多个公钥的认证源包括至少两个可信机构。通信方用于参与密钥协商的多个协商公钥的认证源包括至少两个可信机构,也就是说,该多个协商公钥可以作为该通信方的至少两种身份因素。通信方在验证接收到的密钥协商消息中的多个协商公钥的真实性时,可以实现对对方的多种身份因素的验证,即实现对对方的多重身份认证。进一步地,通信方可以将经过验证的多个协商公钥用于会话密钥的生成,使得最终生成的会话密钥是经过多重密钥协商得到的,并且该会话密钥糅合了通信双方的多种身份因素,提高了最终生成的会话密钥的安全性和机密性,从而可以提高后续通信的安全性和可靠性。
可选地,第二通信方持有的用于参与密钥协商的n个协商公钥包括第二通信方持有的临时会话公钥和/或长期身份公钥,第一通信方持有的用于参与密钥协商的m个协商私钥包括第一通信方持有的临时会话私钥和/或长期身份私钥。
一种实现方式,第二通信方持有的用于参与密钥协商的n个协商公钥包括第二通信方持有的第一临时会话公钥和第二临时会话公钥,第一密钥协商消息还包括采用第二通信方持有的第一长期身份私钥对第一临时会话公钥的第一签名以及采用第二通信方持有的第二长期身份私钥对第二临时会话公钥的第二签名。第一长期身份私钥对应的第一长期身份公钥由第一可信机构认证。第二长期身份私钥对应的第二长期身份公钥由第二可信机构认证。第二可信机构与第一可信机构不同。第一通信方验证n个协商公钥的真实性的实现方式,包括:第一通信方采用第一长期身份公钥对第一签名验签,以及采用第二长期身份公钥对第二签名验签。如果对第一签名验签通过,第一通信方确定第一临时会话公钥为来自第二通信方的真实公钥。如果对第二签名验签通过,第一通信方确定第二临时会话公钥为来自第二通信方的真实公钥。
本实现方式下,第一临时会话公钥的真实性依赖于第一长期身份公钥来验证,而第一长期身份公钥由第一可信机构认证,也即是,第一临时会话公钥的认证源为第一可信机构。第二临时会话公钥的真实性依赖于第二长期身份公钥来验证,而第二长期身份公钥由第二可信机构认证,也即是,第二临时会话公钥的认证源为第二可信机构。由于第二通信方向第一通信方提供的第一临时会话公钥和第二临时会话公钥的认证源不同,因此第一临时会话公钥和第二临时会话公钥可以作为第二通信方的两种身份因素来参与认证密钥交换过程中的身份认证和密钥协商。
另一种实现方式,第二通信方持有的用于参与密钥协商的n个协商公钥包括第二通信方持有的第一临时会话公钥和第二长期身份公钥,第一密钥协商消息还包括采用第二通信方持有的第一长期身份私钥对第一临时会话公钥的第一签名。第一长期身份私钥对应的第一长期身份公钥由第一可信机构认证,第二长期身份公钥由第二可信机构认证,第二可信机构与第一可信机构不同。第一通信方验证n个协商公钥的真实性的实现方式,包括:第一通信方采用第一长期身份公钥对第一签名验签。如果对第一签名验签通过,第一通信方确定第一临时会话公钥为来自第二通信方的真实公钥。
本实现方式下,第一临时会话公钥的真实性依赖于第一长期身份公钥来验证,而第一长期身份公钥由第一可信机构认证,也即是,第一临时会话公钥的认证源为第一可信机构。第二长期身份公钥由第二可信机构认证,也即是,第二长期身份公钥的认证源为第二可信机构。由于第二通信方向第一通信方提供的第一临时会话公钥和第二长期身份公钥的认证源不同,因此第一临时会话公钥和第二长期身份公钥可以作为第二通信方的两种身份因素来参与认证密钥交换过程中的身份认证和密钥协商。
又一种实现方式,第二通信方持有的用于参与密钥协商的n个协商公钥包括第二通信方持有的第一长期身份公钥和第二长期身份公钥,第一长期身份公钥由第一可信机构认证,第二长期身份公钥由第二可信机构认证,第二可信机构与第一可信机构不同。
本实现方式下,第一长期身份公钥由第一可信机构认证,也即是,第一长期身份公钥的认证源为第一可信机构。第二长期身份公钥由第二可信机构认证,也即是,第二长期身份公钥的认证源为第二可信机构。由于第二通信方向第一通信方提供的第一长期身份公钥和第二长期身份公钥的认证源不同,因此第一长期身份公钥和第二长期身份公钥可以作为第二通信方的两种身份因素来参与认证密钥交换过程中的身份认证和密钥协商。
可选地,第一可信机构和第二可信机构分别为设备证书管理系统和用户身份管理系统中的一个。
可选地,第一通信方采用n个协商公钥以及第一通信方持有的用于参与密钥协商的m个协商私钥生成第一通信方与第二通信方之间的会话密钥的一种实现方式,包括:第一通信方采用密钥协商算法针对q个协商密钥对分别生成q个中间密钥,每个协商密钥对分别包括n个协商公钥中的一个协商公钥以及m个协商私钥中的一个协商私钥,q=n×m。第一通信方基于q个中间密钥生成会话密钥。
本申请中,通信方在确定接收到的密钥协商消息中的所有协商公钥均为来自对方的真实公钥后,通信方将接收到的密钥协商消息中的多个协商公钥用于生成会话密钥,使得最终生成的会话密钥是经过多重密钥协商得到的,提高了会话密钥的安全性,从而可以降低后续通信过程中信息泄露的风险。
可选地,第二通信方持有的用于参与密钥协商的n个协商公钥包括第一协商公钥和第二协商公钥,第二通信方持有的用于参与密钥协商的m个协商私钥包括第一协商私钥和第二协商私钥。第一通信方采用密钥协商算法针对q个协商密钥对分别生成q个中间密钥的实现方式,包括:第一通信方采用第一密钥协商算法针对第一协商私钥和第一协商公钥生成第一密钥,采用第二密钥协商算法针对第一协商私钥和第二协商公钥生成第二密钥,采用第三密钥协商算法针对第二协商私钥和第一协商公钥生成第三密钥,以及,采用第四密钥协商算法针对第二协商私钥和第二协商公钥生成第四密钥,q个中间密钥包括第一密钥、第二密钥、第三密钥和第四密钥。
可选地,第一通信方基于q个中间密钥生成会话密钥的实现方式,包括:第一通信方采用密钥派生函数基于q个中间密钥生成会话密钥。
可选地,第一通信方向第二通信方发送第二密钥协商消息,第二密钥协商消息包括m个协商私钥对应的m个协商公钥。
一种实现方式,第二密钥协商消息中的m个协商公钥包括第一通信方持有的第三临时会话公钥和第四临时会话公钥,第二密钥协商消息还包括采用第一通信方持有的第三长期身份私钥对第三临时会话公钥的第三签名以及采用第一通信方持有的第四长期身份私钥对第四临时会话公钥的第四签名,第三长期身份私钥对应的第三长期身份公钥由第三可信机构认证,第四长期身份私钥对应的第四长期身份公钥由第四可信机构认证,第四可信机构与第三可信机构不同。
本实现方式下,第三临时会话公钥的真实性依赖于第三长期身份公钥来验证,而第三长期身份公钥由第三可信机构认证,也即是,第三临时会话公钥的认证源为第三可信机构。第四临时会话公钥的真实性依赖于第四长期身份公钥来验证,而第四长期身份公钥由第四可信机构认证,也即是,第四临时会话公钥的认证源为第四可信机构。由于第一通信方向第二通信方提供的第三临时会话公钥和第四临时会话公钥的认证源不同,因此第三临时会话公钥和第四临时会话公钥可以作为第一通信方的两种身份因素来参与认证密钥交换过程中的身份认证和密钥协商。
另一种实现方式,第二密钥协商消息中的m个协商公钥包括第一通信方持有的第三临时会话公钥和第四长期身份公钥,第二密钥协商消息还包括采用第一通信方持有的第三长期身份私钥对第三临时会话公钥的第三签名,第三长期身份私钥对应的第三长期身份公钥由第三可信机构认证,第四长期身份公钥由第四可信机构认证,第四可信机构与第三可信机构不同。
本实现方式下,第三临时会话公钥的真实性依赖于第三长期身份公钥来验证,而第三长期身份公钥由第三可信机构认证,也即是,第三临时会话公钥的认证源为第三可信机构。第四长期身份公钥由第四可信机构认证,也即是,第四长期身份公钥的认证源为第四可信机构。由于第一通信方向第二通信方提供的第三临时会话公钥和第四长期身份公钥的认证源不同,因此第三临时会话公钥和第四长期身份公钥可以作为第一通信方的两种身份因素来参与认证密钥交换过程中的身份认证和密钥协商。
又一种实现方式,第二密钥协商消息中的m个协商公钥包括第一通信方持有的第三长期身份公钥和第四长期身份公钥,第三长期身份公钥由第三可信机构认证,第四长期身份公钥由第四可信机构认证,第四可信机构与第三可信机构不同。
本实现方式下,第三长期身份公钥由第三可信机构认证,也即是,第三长期身份公钥的认证源为第三可信机构。第四长期身份公钥由第四可信机构认证,也即是,第四长期身份公钥的认证源为第四可信机构。由于第一通信方向第二通信方提供的第三长期身份公钥和第四长期身份公钥的认证源不同,因此第三长期身份公钥和第四长期身份公钥可以作为第一通信方的两种身份因素来参与认证密钥交换过程中的身份认证和密钥协商。
可选地,第三可信机构和第四可信机构分别为设备证书管理系统和用户身份管理系统中的一个。
第二方面,提供了一种密钥生成装置。所述装置包括多个功能模块,所述多个功能模块相互作用,实现上述第一方面及其各实施方式中的方法。所述多个功能模块可以基于软件、硬件或软件和硬件的结合实现,且所述多个功能模块可以基于具体实现进行任意组合或分割。
第三方面,提供了一种密钥生成系统,包括:第一通信方和第二通信方;所述第一通信方和所述第二通信方分别用于执行上述第一方面及其各实施方式中的方法。
可选地,所述第一通信方和所述第二通信方均包括会议终端。
第四方面,提供了一种通信设备,包括:处理器和存储器;所述存储器,用于存储计算机程序,所述计算机程序包括程序指令;所述处理器,用于调用所述计算机程序,实现上述第一方面及其各实施方式中的方法。
第五方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,当所述指令被处理器执行时,实现上述第一方面及其各实施方式中的方法。
第六方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时,实现上述第一方面及其各实施方式中的方法。
第七方面,提供了一种芯片,芯片包括可编程逻辑电路和/或程序指令,当芯片运行时,实现上述第一方面及其各实施方式中的方法。
附图说明
图1是服务器执行中间人攻击的流程示意图;
图2是本申请实施例提供的一种应用场景示意图;
图3是本申请实施例提供的一种密钥生成方法的流程示意图;
图4是本申请实施例提供的一种密钥生成装置的结构示意图;
图5是本申请实施例提供的一种通信设备的硬件结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
密钥交换算法又称迪菲-赫尔曼(Diffie-Hellman,DH)算法,是一种公开密钥算法,用于通信双方进行密钥协商。密钥交换算法可以使通信双方在完全没有对方任何信息的条件下,通过不安全信道创建出共享密钥。使用密钥交换算法协商密钥,即使协商过程中被别人全程偷窥,偷窥者也无法得到最终协商出的密钥。但是,密钥交换算法不支持通信双方之间进行相互身份认证,无法对抗中间人攻击(man-in-the-middle,MitM)。
中间人攻击是主动搭线攻击类型,攻击者将自身置于通信双方之间,能够拦截和有选择地修改通信数据。例如,图1是攻击者执行中间人攻击的实现流程示意图。假设Alice与Bob进行通信,Carol作为攻击者希望拦截Alice给Bob发送的消息,并向Bob发送虚假消息。如图1所示,该实现流程包括以下步骤11至步骤19。
步骤11、Alice本地生成一个密钥对{ska,PKA},ska为私钥,PKA为公钥,PKA=ska*G;Bob本地生成一个密钥对{skb,PKB},skb为私钥,PKB为公钥,PKB=skb*G。
本申请实施例中的密钥对即公私钥对,一个密钥对包括一个私钥和一个公钥。
步骤12、Alice向Bob发送自己的公钥PKA;Bob向Alice发送自己的公钥PKB。
步骤13、Carol拦截Alice向Bob发送的公钥PKA以及Bob向Alice发送的公钥PKB,并在本地生成一个密钥对{skc,PKC},skc为私钥,PKC为公钥,PKC=skc*G。
步骤14、Carol向Alice发送虚假公钥PKB’=PKC;Carol向Bob发送虚假公钥PKA’=PKC。
步骤15、Alice使用自己的私钥ska以及接收到的虚假公钥PKB’计算出共享密钥Key_A=ska*PKB’=ska*PKC=ska*skc*G;Bob使用自己的私钥skb以及接收到的虚假公钥PKA’计算出共享密钥Key_B=skb*PKA’=skb*PKC=skb*skc*G。
步骤16、Carol使用自己的私钥skc以及Alice的公钥PKA计算出共享密钥Key_A’=skc*PKA=skc*ska*G;Carol使用自己的私钥skc以及Bob的公钥PKB计算出共享密钥Key_B’=skc*PKB=skc*skb*G。
其中,Key_A’=Key_A,Key_B’=Key_B。
步骤17、Alice使用Key_A加密消息生成密文A,向Bob发送密文A。
步骤18、Carol拦截到密文A后,使用Key_A’对密文A进行解密得到明文,并使用Key_B’对明文进行加密生成密文B,向Bob发送密文B。
可选地,Carol在上述步骤18的拦截过程中,还可以根据自身需求篡改对密文A解密得到的明文数据,然后使用Key_B’对经过篡改的明文数据进行加密生成密文B。
步骤19、Bob使用Key_B对密文B进行解密得到明文。
对于Bob而言,Bob能够使用与“Alice”协商出来的共享密钥解密来自“Alice”的密文,因此Bob收到密文B后,始终相信密文B来自Alice。
由于传统的密钥交换算法无法对抗中间人攻击,因此密码学领域引入了认证密钥交换(AKE)的概念。认证密钥交换是指通信双方在完成身份认证的基础上进行密钥协商。通信双方通过运行AKE协议,能够互相进行身份认证,并在协议运行结束后,通信双方能够生成用于后继通信的会话密钥。认证密钥交换过程中的身份认证,通常是指对参与密钥协商的通信双方的会话公私钥对{sk_会话,pk_会话}中的公钥pk_会话进行身份验证,该公钥pk_会话代表用户在会话中的身份。对公钥pk_会话进行身份验证的一种常见的做法是基于证书,用户证书由公共密钥基础设施(public key infrastructure,PKI)或证书签发机构(certification authority,CA)签发,包含用户的身份公私钥对{sk_身份,pk_身份}中的公钥pk_身份以及PKI或CA对公钥pk_身份的签名。例如,用户B信任CA,预置了CA的自签名证书即CA根证书,CA根证书包括CA公钥。用户A持有身份公私钥对{ska_身份,pka_身份},公钥pka_身份由CA签发有数字证书,该数字证书包括公钥pka_身份以及采用CA私钥对公钥pka_身份的签名。其中,CA私钥和CA公钥是CA持有的一个公私钥对。用户A本地生成会话公私钥对{ska_会话,pka_会话}。在用户A与用户B的认证密钥交换过程中,用户A可以向用户B发送公钥pka_会话、采用私钥ska_身份对公钥pka_会话的签名以及CA签发的数字证书,用户B可以使用预置的CA根证书中的CA公钥验证数字证书中的签名,以确定公钥pka_身份的真实性,同时可以使用公钥pka_身份验证对公钥pka_会话的签名,以确定公钥pka_会话的真实性。这样,用户B在生成会话密钥之前,可以确认用户A参与密钥协商的会话公钥的真实性。同理,用户A在生成会话密钥之前,也可以确认用户B参与密钥协商的会话公钥的真实性。因此,AKE协议能够在存在主动攻击者的情况下,使得通信双方协商出安全的会话密钥,从而实现安全通信。
为了便于读者对身份认证过程的理解,这里对签名和签名验证进行简单介绍。签名也称为数字签名,是一种针对发送方数据的保护手段,发送方使用己方持有的私钥对消息进行签名,没有私钥的任何第三方无法伪造签名,拥有发送方所持有的私钥对应的公钥的任何第三方都可以对签名进行验签,以确认消息的来源和完整性。签名验证简称验签,接收方接收到来自发送方的数据以及发送方对该数据的签名后,采用发送方持有的公钥对签名进行验签,输出一个布尔值,表明签名合法(验签通过)或不合法(验签不通过)。如果验签通过,则说明数据没有被篡改。如果验签不通过,则说明数据被篡改。签名验证能够用于验证数据的完整性(未经篡改)和数据来源的可靠性(不是虚假数据或伪造数据)。本申请实施例中,将验证数据的完整性和数据来源的可靠性统称为验证数据的真实性。
在认证密钥交换过程中,通信双方采用多重密钥协商方式生成会话密钥的安全性通常高于采用一重密钥协商方式生成会话密钥的安全性。多重密钥协商方式是指,每个通信方向对方提供己方持有的多个公钥,每个通信方将对方提供的多个公钥与己方持有的多个私钥两两组合协商得到多组密钥,再基于得到的多组密钥生成最终的会话密钥。一重密钥协商是指,每个通信方向对方提供己方持有的一个公钥,每个通信方基于对方提供的一个公钥以及己方持有的一个私钥协商得到会话密钥。现有的认证密钥交换协议中,只有信号(Signal)协议提出的三重密钥交换(extended triple Diffie-Hellman,X3DH)具有多重密钥交换(extended Diffie-Hellman,XDH)构型特点。X3DH是椭圆曲线迪菲-赫尔曼密钥交换(elliptic curve Diffie–Hellman key exchange,ECDH)的扩展,用于在彼此基于公钥进行相互身份验证的通信双方之间建立共享密钥。
Signal协议主要利用X3DH的多重密钥交换构型,来解决即时消息的离线异步通信需求,以及提供前向安全性和后妥协安全性。X3DH方案要求用户预先在第三方服务器上存储其身份密钥(identity key,IK)和带有签名的预存储密钥(signed prekey,SPK),这里的IK和SPK均为公钥,IK为长期身份公钥,SPK可以是生成的临时会话公钥。用户将上述密钥上传到第三方服务器后,其他用户可以基于这些密钥与该用户异步协商共享密钥,而该用户则无需保持在线状态。其他用户将用于协商密钥的消息上载到第三方服务器,该用户上线后可以根据该消息在线计算出共享密钥。
Signal协议中X3DH方案的具体实现方式为,用户使用对方持有的临时会话公钥和己方持有的临时会话私钥协商得到一个密钥,使用对方持有的长期身份公钥和己方持有的临时会话私钥协商得到另一个密钥,以及使用对方持有的临时会话公钥与己方持有的长期身份私钥协商得到又一个密钥,再基于协商得到的三个密钥生成最终的会话密钥。由于现有X3DH方案中,通信双方的临时会话公钥是依赖于各自的长期身份公钥来验证真实性的(公钥验证私钥签名),比如上述用户在第三方服务器上存储的带有签名的SPK中的签名是采用IK私钥对SPK的签名,因此X3DH方案中通信双方实际上各自只使用了一种身份因素,即长期身份公钥代表的身份因素。
目前多因素认证(multi-factor authentication,MFA)通常应用于电子身份的验证。当有人尝试登录计算机资源(例如网络、设备或应用程序)时,需要进行身份验证。资源要求用户提供资源已知用户的身份,以及用户对该身份的声明的真实性的证据。简单的身份验证只需要一条这样的证据(因素),比如密码,这种身份认证方式称为单因素认证。为了增加安全性,资源可能需要多条这样的证据,这种身份认证方式称为多因素认证。在需要提供两条证据的情况下,这种身份认证方式称为双因素认证(two-factor authentication,2FA)。使用多种身份因素来证明一个人的身份,是在未经授权的行为者不太可能提供访问所需的所有因素的基础上实现的。如果在身份验证尝试中,存在一条证据丢失或提供不正确,则说明用户的身份没有以足够的确定性建立,则该用户无法访问受多因素身份验证保护的资产。多因素认证方案的身份因素可能包括:用户拥有的东西、用户知道的东西、用户是什么以及用户所在的某处。用户拥有的东西可以是用户拥有的任何物理对象,比如安全令牌、银行卡或钥匙等。用户知道的东西可以是只有用户知道的知识,比如密码或个人身份识别码(personal identification number,PIN)等。用户是什么可以是用户的一些物理特征,比如指纹、眼睛虹膜或语音等生物特征,又比如打字速度或按键间隔模式等行为特征。用户所在的某处可以是与特定计算网络的某种连接或使用全球定位系统(globalpositioning system,GPS)信号识别到的位置。例如,从自动取款机(automated tellermachine,ATM)取款是一个典型的双因素认证的例子,只有银行卡(用户拥有的东西)和PIN(用户知道的东西)的正确组合才能进行交易。多因素认证相较于单因素认证,对身份认证的安全性和可靠性更高。
目前的认证密钥交换方案都是使用单身份因素参与密钥协商的,而目前的多因素认证方案只是用于身份认证,在安全加密通信过程中,并不能给认证密钥交换带来更多认证因子安全。基于此,本申请提供了一种技术方案,该技术方案将通信双方的多种身份因素应用到认证密钥交换过程中,使多种身份因素同时参与身份认证过程和密钥协商过程,与身份认证安全性一样,越多身份因素参与认证密钥交换,越难被中间人攻击,则通信双方协商出来的会话密钥的安全性就越高,进而可以提高后续通信的安全性和可靠性。在本申请提供的技术方案中,通信双方分别持有用于参与密钥协商的多个公私钥对,且每个通信方用于参与密钥协商的多个公私钥对中的多个公钥的认证源包括至少两个可信机构。认证源用于提供根认证。本申请将用于参与密钥协商的公私钥对中的公钥称为协商公钥,将用于参与密钥协商的公私钥对中的私钥称为协商私钥。通信双方分别向对方发送密钥协商消息,该密钥协商消息包括己方持有的多个协商公钥,该多个协商公钥的认证源包括至少两个可信机构。通信方在接收到对方发送的密钥协商消息之后,验证接收到的密钥协商消息中的各个协商公钥的真实性,并在确定接收到的密钥协商消息中的所有协商公钥均为来自对方的真实公钥后,采用接收到的密钥协商消息中的多个协商公钥以及己方持有的多个协商私钥生成通信双方之间的会话密钥,该多个协商私钥对应的多个协商公钥的认证源包括至少两个可信机构。在本申请提供的技术方案中,通信方提供的用于参与密钥协商的多个协商公钥的认证源包括至少两个可信机构,也就是说,该多个协商公钥可以作为该通信方的至少两种身份因素。通信方在验证接收到的密钥协商消息中的多个协商公钥的真实性时,可以实现对对端通信方的多种身份因素的验证,即实现对对端通信方的多重身份认证。进一步地,通信方可以将经过验证的多个协商公钥用于会话密钥的生成,使得最终生成的会话密钥是经过多重密钥协商得到的,并且该会话密钥糅合了通信双方的多种身份因素,提高了最终生成的会话密钥的安全性和机密性,从而可以提高后续通信的安全性和可靠性。
下面从应用场景、方法流程、软件装置、硬件装置、系统等多个角度,对本申请技术方案进行详细介绍。
下面对本申请实施例的应用场景举例说明。
例如,图2是本申请实施例提供的一种应用场景示意图。如图2所示,该应用场景包括多个可信机构201A-201B(统称为可信机构201)以及多个通信方202A-202B(统称为通信方202)。图2中可信机构和通信方的数量和形式仅用作示例性说明,不作为对本申请实施例涉及的应用场景的限定。
可信机构201指被多个通信方202同时信任的机构。每个通信方202都包括通信设备(以下简称设备)。可选地,通信方202还可以包括用户。本申请实施例中,以每个通信方202分别包括设备和用户为例进行说明。参见图2,通信方202A包括设备A和用户A,用户A可以登录并使用设备A与其它设备或其它用户通信。通信方202B包括设备B和用户B,用户B可以登录并使用设备B与其它设备或其它用户通信。设备A与设备B通信连接。
可选地,在每个通信方202分别包括设备和用户的情况下,多个可信机构201包括但不限于被设备信任的机构(可信机构201A)和被用户信任的机构(可信机构201B)。其中,被设备信任的机构可以是能够为设备签发数字证书的机构,本申请实施例中称之为设备证书管理系统,例如可以是CA或PKI。被用户信任的机构可以是能够为用户提供身份证明的机构,即身份提供方(identity provider,IDP),本申请实施例中称之为用户身份管理系统,例如可以是证书管理服务器(certification management server,CMS)。
本申请实施例中,在多个通信方202之间进行密钥协商之前,各个通信方202中的设备和用户分别需要在对应的可信机构201上完成身份注册。
比如在图2示出的应用场景中,可信机构201A用于提供设备身份注册服务,通信方202中的设备可以在可信机构201A上完成身份注册。例如,通信方202A中的设备A可以在可信机构201A上进行身份注册,可信机构201A为设备A签发数字证书A,该数字证书A包括设备A的设备信息以及可信机构201A对该设备信息的签名。设备A的设备信息包括设备A所持有的设备公私钥对中的公钥(简称设备公钥)。可选地,设备A的设备信息还包括设备A的设备标识。同理,通信方202B中的设备B可以在可信机构201A上进行身份注册,可信机构201A为设备B签发数字证书B,该数字证书B包括设备B的设备信息以及可信机构201A对该设备信息的签名。设备B的设备信息包括设备B所持有的设备公私钥对中的公钥。可选地,设备B的设备信息还包括设备B的设备标识。可选地,一台设备的设备标识包括但不限于设备序列号、设备的媒体访问控制(Media Access Control,MAC)地址或设备的互联网协议(InternetProtocol,IP)地址中的一种或多种。
可选地,设备在可信机构201A上进行身份注册的实现方式包括:设备在本地生成设备公私钥对,并基于该设备公私钥对中的设备公钥生成证书签名请求(certificatesigning request,CSR),然后设备向可信机构201A发送CSR,以从可信机构201A获取该设备的数字证书,该数字证书包括该设备生成的设备公私钥对中的设备公钥以及可信机构201A对该设备公钥的签名。设备在可信机构201A上完成身份注册之后,该设备在本地生成的设备公私钥对中的设备公钥就得到了可信机构201A的认证,该设备可以存储该设备公私钥对,并将该设备公私钥对作为该设备持有的长期身份公私钥对。可选地,可信机构201A中存储有完成身份注册的设备的设备标识与可信机构201A为该设备签发的数字证书的对应关系。
又比如在图2示出的应用场景中,可信机构201B用于提供用户身份注册服务。通信方202A的用户A可以通过身份验证器A在可信机构201B上进行身份注册,并将用户A所持有的用户公私钥对存储在身份验证器A中。同理,通信方202B的用户B可以通过身份验证器B在可信机构201B上进行身份注册,并将用户B所持有的用户公私钥对存储在身份验证器B中。其中,身份验证器可以是终端以及安装在终端上用于向可信机构201B申请注册身份的应用程序(application,APP),或者可以是通用串行总线(universal serial bus,USB)钥匙(USB key),或者还可以是其它能够用于存储用户的例如私钥以及数字证书等身份凭据的安全存储设备。
可选地,用户在可信机构201B上进行身份注册的实现方式包括:用户的身份验证器创建一个用户公私钥对,并基于已有的标准安全协议(包括但不限于线上快速身份验证(fast identity online,FIDO)2协议)向可信机构201B注册该用户公私钥对中的用户公钥,身份验证器可以采用对挑战值签名的方式向可信机构201B证明用户私钥的拥有权,以此完成身份认证,并在本地保存完成注册的用户公私钥对。用户私钥仅在完成本地解锁后才可以使用。用户可以通过友好、安全的操作解锁本地密钥,例如验证指纹、输入PIN、通过话筒语音操作、插入USB key或按下某个按钮等。FIDO 2协议始终是围绕保护用户的隐私来设计的,该协议不会向在线服务提供商提供可用于跟踪用户的信息。用户在可信机构201B上完成身份注册之后,该用户的身份验证器生成的用户公私钥对中的用户公钥就得到了可信机构201B的认证,该用户公私钥对可作为用户持有的长期身份公私钥对。可选地,可信机构201B中存储有完成身份注册的用户的用户标识与可信机构201B为该用户认证过的用户公钥的对应关系。
值得说明的是,注册阶段和密钥协商阶段是相互独立的,设备或用户向对应的可信机构完成一次身份注册之后,可以将该次身份注册得到的长期身份公私钥对用于后续的密钥协商。另外,对于同一通信方的用户和设备,用于向可信机构201A进行身份注册的设备与用户用于向可信机构201B进行身份注册的身份验证器可以是独立的两台设备,或者也可以集成在同一台设备中,比如图2示出的应用场景中的设备A与身份验证器A可以是独立的两台设备,或者也可以集成在同一台设备中,本申请实施例对此不做限定。
可选地,本申请实施例提供的方案可以应用于各种安全通信场景,包括但不限于人与人通信场景或人与物通信场景。例如,本申请实施例提供的方案可以应用于视频会议场景,则图2示出的应用场景中的通信方202为参会方,通信方202的用户为与会者,通信方202的设备为会议终端。会议终端的形态可以是专用的物理设备,或者也可以是具有会议功能的软件程序,该软件程序可以运行在各种计算设备上,比如手机、平板,电脑等各种用户终端上,这种情况下,运行该软件程序的计算设备也可以认为是会议终端。
下面对本申请实施例的方法流程举例说明。
例如,图3是本申请实施例提供的一种密钥生成方法的流程示意图。如图3所示,该方法包括但不限于以下步骤301至步骤306。图3示出的通信方A持有用于参与密钥协商的m个公私钥对,该m个公私钥对中的m个公钥的认证源包括至少两个可信机构,m≥2。图3示出的通信方B持有用于参与密钥协商的n个公私钥对,该n个公私钥中的n个公钥的认证源包括至少两个可信机构,n≥2。其中,m与n可以相等,或者也可以不相等。为通信方A持有的用于参与密钥协商的m个公钥提供认证的至少两个可信机构与为通信方B持有的用于参与密钥协商的n个公钥提供认证的至少两个可信机构可以是相同的可信机构,或者也可以是不同的可信机构。可选地,图3示出的方法可以应用于如图2所示的应用场景。例如图3示出的通信方A可以是通信方202A,图3示出的通信方B可以是通信方202B。
为了便于区分和理解,本申请以下实施例中采用相同的数字符号后缀描述同一公私钥对中的公钥和私钥,比如涉及的长期身份公钥B1和长期身份私钥B1是通信方B持有的一对长期身份公私钥,长期身份公钥B2和长期身份私钥B2是通信方B持有的另一对长期身份公私钥,临时会话公钥B1和临时会话私钥B1是通信方B持有的一对临时会话公私钥,长期身份公钥A1和长期身份私钥A1是通信方A持有的一对长期身份公私钥,等等。其中,长期身份公私钥对是通信方在注册时生成的、不变的公私钥对。临时会话公私钥对则表示一段时间内有效、会被更新的公私钥对。比如在视频会议场景中,长期身份公私钥对可以是与会者在会议系统中注册时生成的、不变的公私钥对,或者会议终端在会议系统中注册时生成的、不变的公私钥对。而临时会话公私钥对会随时间发生变化,如每隔一段时间更新一次临时会话公私钥对或者用户或会议终端每次加入会议时生成一个临时会话公私钥对。
步骤301、通信方B向通信方A发送密钥协商消息1,密钥协商消息1包括通信方B持有的用于参与密钥协商的n个协商公钥,该n个协商公钥的认证源包括至少两个可信机构。
本申请实施例中,通信方B持有多个长期身份公私钥对。例如结合图2示出的应用场景,通信方B为通信方202B,通信方B持有设备B的长期身份公私钥对和用户B的长期身份公私钥对。可选地,通信方B还持有一个或多个临时会话公私钥对,临时会话公私钥对可以是设备B生成的,或者可以是身份验证器B生成的。可选地,通信方B持有的用于参与密钥协商的n个协商公钥包括通信方B持有的临时会话公钥和/或长期身份公钥。
本申请实施例以通信方B持有两个长期身份公私钥对和两个临时会话公私钥对为例进行说明。通信方B持有的一个长期身份公私钥对包括长期身份私钥B1和长期身份公钥B1,另一个长期身份公私钥对包括长期身份私钥B2和长期身份公钥B2。通信方B持有的一个临时会话公私钥对包括临时会话私钥B1和临时会话公钥B1,另一个临时会话公私钥对包括临时会话私钥B2和临时会话公钥B2。其中,长期身份公钥B1由第一可信机构认证,长期身份公钥B2由第二可信机构认证,第二可信机构与第一可信机构不同。可选地,第一可信机构和第二可信机构分别为设备证书管理系统和用户身份管理系统中的一个。下面对通信方B持有的用于参与密钥协商的n个协商公钥的多种组合实现方式进行说明。
第一种实现方式,通信方B持有的用于参与密钥协商的n个协商公钥包括通信方B持有的临时会话公钥B1和临时会话公钥B2。密钥协商消息1还包括采用长期身份私钥B1对临时会话公钥B1的签名1以及采用长期身份私钥B2对临时会话公钥B2的签名2。这种实现方式下,密钥协商消息1包括通信方B持有的临时会话公钥B1、临时会话公钥B2、采用长期身份私钥B1对临时会话公钥B1的签名1以及采用长期身份私钥B2对临时会话公钥B2的签名2。可选地,密钥协商消息1还可以包括长期身份公钥B1和/或长期身份公钥B2,或者,通信方A也可以通过带外方式获取通信方B持有的长期身份公钥B1和/或长期身份公钥B2,带外方式例如可以是近端扫码等安全通信方式。本申请实施例中将通过带外方式获取的长期身份公钥也视为是由可信机构认证过的,通过带外方式分别获取的两个长期身份公钥则视为是由不同可信机构认证过的。
可选地,采用长期身份私钥B1对临时会话公钥B1的签名1,可以是采用长期身份私钥B1对临时会话公钥B1的直接签名,或者也可以是采用长期身份私钥B1对临时会话公钥B1的间接签名,比如逐级信任链签名。例如长期身份私钥B1为skB,长期身份公钥B1为PKB,临时会话公钥B1为PKb,采用长期身份私钥B1对临时会话公钥B1的直接签名可表示为{PKb,Sign(skB,PKb)}。可选地,逐级信任链签名可以是一个打包签名或者包括多个逐级签名。采用长期身份私钥B1对临时会话公钥B1的打包签名可表示为{PKb,PKB1,PKB2,Sign(skB,PKB1||PKB2||PKb)},采用长期身份私钥B1对临时会话公钥B1的多个逐级签名可表示为{PKb,Sign_B1(skB1,PKb),PKB1,Sign_B2(skB2,PKB1),PKB2,Sign(skB,PKB2)},构建的逐级信任链为:PKb→PKB1→PKB2→PKB。其中,PKB1和skB1为通信方B持有的一对公私钥,PKB2和skB2为通信方B持有的另一对公私钥。符号“||”可以表示字符串拼接。同理,采用长期身份私钥B2对临时会话公钥B2的签名2,可以是采用长期身份私钥B2对临时会话公钥B2的直接签名,或者也可以是采用长期身份私钥B2对临时会话公钥B2的间接签名。
这种实现方式下,临时会话公钥B1的真实性依赖于长期身份公钥B1来验证,而长期身份公钥B1由第一可信机构认证,也即是,临时会话公钥B1的认证源为第一可信机构。临时会话公钥B2的真实性依赖于长期身份公钥B2来验证,而长期身份公钥B2由第二可信机构认证,也即是,临时会话公钥B2的认证源为第二可信机构。由于通信方B向通信方A提供的临时会话公钥B1和临时会话公钥B2的认证源不同,因此临时会话公钥B1和临时会话公钥B2可以作为通信方B的两种身份因素来参与认证密钥交换过程中的身份认证和密钥协商。
比如,通信方B为图2示出的应用场景中的通信方202B,设备B中存储有由长期身份公钥B1和长期身份私钥B1组成的长期身份公私钥对,身份验证器B中存储有由长期身份公钥B2和长期身份私钥B2组成的长期身份公私钥对。在密钥协商阶段,设备B生成包含临时会话公钥B1和临时会话私钥B1的临时会话公私钥对,并采用长期身份私钥B1对临时会话公钥B1进行签名;身份验证器B生成包含临时会话公钥B2和临时会话私钥B2的临时会话公私钥对,并采用长期身份私钥B2对临时会话公钥B2进行签名。在身份验证器B与设备B为同一设备的情况下,此时设备B已获取用于生成密钥协商消息1的协商信息,包括临时会话公钥B1、临时会话公钥B2、采用长期身份私钥B1对临时会话公钥B1的签名以及采用长期身份私钥B2对临时会话公钥B2的签名。在身份验证器B与设备B为不同设备的情况下,身份验证器B需要将自身生成的临时会话公钥B2和采用长期身份私钥B2对临时会话公钥B2的签名同步给设备B,以使设备B能够生成密钥协商消息1。
可选地,用户的身份验证器向设备同步信息的方式有多种。比如用户的身份验证器为可插入USB key,则该身份验证器可近端插入设备以同步信息。又比如用户的身份验证器可以通过安全协议向设备同步信息,该安全协议包括但不限于基于口令的认证密钥交换(password-authenticated key exchange,PAKE)协议,用户的身份验证器通过近端扫描设备显示的二维码或直接输入设备显示的一串字符,基于共享密钥的AKE协议建立与设备之间的安全通道,然后通过该安全通道向设备同步信息。
第二种实现方式,通信方B持有的用于参与密钥协商的n个协商公钥包括通信方B持有的临时会话公钥B1和长期身份公钥B2。密钥协商消息1还包括采用长期身份私钥B1对临时会话公钥B1的签名1。这种实现方式下,密钥协商消息1包括临时会话公钥B1、长期身份公钥B2以及采用长期身份私钥B1对临时会话公钥B1的签名1。可选地,密钥协商消息1还可以包括长期身份公钥B1,或者,通信方A也可以通过带外方式获取通信方B持有的长期身份公钥B1。
这种实现方式下,临时会话公钥B1的真实性依赖于长期身份公钥B1来验证,而长期身份公钥B1由第一可信机构认证,也即是,临时会话公钥B1的认证源为第一可信机构。长期身份公钥B2由第二可信机构认证,也即是,长期身份公钥B2的认证源为第二可信机构。由于通信方B向通信方A提供的临时会话公钥B1和长期身份公钥B2的认证源不同,因此临时会话公钥B1和长期身份公钥B2可以作为通信方B的两种身份因素来参与认证密钥交换过程中的身份认证和密钥协商。
第三种实现方式,通信方B持有的用于参与密钥协商的n个协商公钥包括通信方B持有的长期身份公钥B1和长期身份公钥B2。这种实现方式下,密钥协商消息1包括通信方B持有的长期身份公钥B1和长期身份公钥B2。
这种实现方式下,长期身份公钥B1由第一可信机构认证,也即是,长期身份公钥B1的认证源为第一可信机构。长期身份公钥B2由第二可信机构认证,也即是,长期身份公钥B2的认证源为第二可信机构。由于通信方B向通信方A提供的长期身份公钥B1和长期身份公钥B2的认证源不同,因此长期身份公钥B1和长期身份公钥B2可以作为通信方B的两种身份因素来参与认证密钥交换过程中的身份认证和密钥协商。
可选地,在以上三种实现方式中,密钥协商消息1还可以包括第一可信机构对长期身份公钥B1签发的数字证书和/或第二可信机构对长期身份公钥B2签发的数字证书。
以上三种实现方式均以通信方B向通信方A提供两个协商公钥作为两种身份因素为例进行说明,当然,通信方B还可以持有两个以上或更多的长期身份公私钥对,并向通信方A提供更多种身份因素的协商公钥,本申请实施例不再一一赘述。
进一步地,通信方A接收到通信方B发送的密钥协商消息1之后,执行以下步骤302至步骤303。
步骤302、通信方A验证接收到的密钥协商消息1中的n个协商公钥的真实性。
上述步骤302可理解为,通信方A分别验证接收到的密钥协商消息1中的每个协商公钥的真实性。
结合上述步骤301中的第一种实现方式,密钥协商消息1包括通信方B持有的临时会话公钥B1、临时会话公钥B2、采用长期身份私钥B1对临时会话公钥B1的签名1以及采用长期身份私钥B2对临时会话公钥B2的签名2。步骤302的实现过程包括:通信方A采用长期身份公钥B1对签名1验签,以及采用长期身份公钥本对签名2验签。如果对签名1验签通过,通信方A确定临时会话公钥B1为来自通信方B的真实公钥。如果对签名2验签通过,通信方A确定临时会话公钥B2为来自通信方B的真实公钥。由于长期身份公钥B1是由第一可信机构认证的,通信方A可以基于第一可信机构对长期身份公钥B1签发的数字证书来验证长期身份公钥B1的真实性,或者通信方A通过带外方式预置通信方B持有的长期身份公钥B1,则通信方A可以通过比对密钥协商消息1中的长期身份公钥B1与预置的通信方B持有的长期身份公钥B1,来判断密钥协商消息1中的长期身份公钥B1的真实性。由于长期身份公钥B2是由第二可信机构认证的,通信方A可以基于第二可信机构对长期身份公钥B2签发的数字证书来验证长期身份公钥B2的真实性,或者通信方A通过带外方式预置通信方B持有的长期身份公钥B2,则通信方A可以通过比对密钥协商消息1中的长期身份公钥B2与预置的通信方B持有的长期身份公钥B2,来判断密钥协商消息1中的长期身份公钥B2的真实性。
本实现方式下,由于长期身份公钥B1和长期身份公钥B2由不同可信机构认证,因此通信方A可以在第一可信机构的授信下验证长期身份公钥B1的真实性,再基于长期身份公钥B1验证临时会话公钥B1的真实性,以及在第二可信机构的授信下验证长期身份公钥B2的真实性,再基于长期身份公钥B2验证临时会话公钥B2的真实性,基于两条信任链分别实现对临时会话公钥B1和临时会话公钥B2的独立验证。通过将通信方提供的多个临时会话公钥作为该通信方的多种身份因素,可以实现对该通信方的身份的多重认证,从而提高通信双方之间身份认证的可靠性。
结合上述步骤301中的第二种实现方式,密钥协商消息1包括临时会话公钥B1、长期身份公钥B2以及采用长期身份私钥B1对临时会话公钥B1的签名1。步骤302的实现过程包括:通信方A采用长期身份公钥1对签名1验签。如果对签名1验签通过,通信方A确定一临时会话公钥B1为来自通信方B的真实公钥。由于长期身份公钥B1是由第一可信机构认证的,通信方A可以基于第一可信机构对长期身份公钥B1签发的数字证书来验证长期身份公钥B1的真实性,或者通信方A通过带外方式预置通信方B持有的长期身份公钥B1,则通信方A可以通过比对密钥协商消息1中的长期身份公钥B1与预置的通信方B持有的长期身份公钥B1,来判断密钥协商消息1中的长期身份公钥B1的真实性。
本实现方式下,由于长期身份公钥B1和长期身份公钥B2由不同可信机构认证,因此通信方A可以在第一可信机构的授信下验证长期身份公钥B1的真实性,再基于长期身份公钥B1验证临时会话公钥B1的真实性,以及在第二可信机构的授信下验证长期身份公钥B2的真实性,基于两条信任链分别实现对临时会话公钥B1和长期身份公钥B2的独立验证。通过将通信方提供的临时会话公钥和长期身份公钥作为该通信方的多种身份因素,可以实现对该通信方的身份的多重认证,从而提高通信双方之间身份认证的可靠性。
结合上述步骤301中的第三种实现方式,密钥协商消息1包括通信方B持有的长期身份公钥B1和长期身份公钥B2。由于长期身份公钥B1是由第一可信机构认证的,通信方A可以基于第一可信机构对长期身份公钥B1签发的数字证书来验证长期身份公钥B1的真实性。由于长期身份公钥B2是由第二可信机构认证的,通信方A可以基于第二可信机构对长期身份公钥B2签发的数字证书来验证长期身份公钥B2的真实性。或者,通信方A通过带外方式预置通信方B持有的长期身份公钥,则通信方A可以通过比对密钥协商消息1中的长期身份公钥与预置的通信方B持有的长期身份公钥,来判断密钥协商消息1中的长期身份公钥的真实性。
本实现方式下,由于长期身份公钥B1和长期身份公钥B2由不同可信机构认证,因此通信方A可以在第一可信机构的授信下验证长期身份公钥B1的真实性,并在第二可信机构的授信下验证长期身份公钥B2的真实性,实现对长期身份公钥B1和长期身份公钥B2的独立验证。通过将通信方提供的多个长期身份公钥作为该通信方的多种身份因素,可以实现对该通信方的身份的多重认证,从而提高通信双方之间身份认证的可靠性。
步骤303、如果通信方A确定该n个协商公钥均为来自通信方B的真实公钥,通信方A采用该n个协商公钥以及通信方A持有的用于参与密钥协商的m个协商私钥生成通信方A与通信方B之间的会话密钥,该m个协商私钥对应的协商公钥的认证源包括至少两个可信机构。
本申请实施例中,通信方A持有多个长期身份公私钥对。例如结合图2示出的应用场景,通信方A为通信方202A,通信方A持有设备A的长期身份公私钥对和用户A的长期身份公私钥对。可选地,通信方A还持有一个或多个临时会话公私钥对,临时会话公私钥对可以是设备A生成的,或者可以是身份验证器A生成的。可选地,通信方A持有的用于参与密钥协商的m个协商私钥包括通信方A持有的临时会话私钥和/或长期身份私钥。
本申请实施例以通信方A持有两个长期身份公私钥对和两个临时会话公私钥对为例进行说明。通信方A持有的一个长期身份公私钥对包括长期身份私钥A1和长期身份公钥A1,另一个长期身份公私钥对包括长期身份私钥A2和长期身份公钥A2。通信方A持有的一个临时会话公私钥对包括临时会话私钥A1和临时会话公钥A1,另一个临时会话公私钥对包括临时会话私钥A2和临时会话公钥A2。其中,长期身份公钥A1由第三可信机构认证,长期身份公钥A2由第四可信机构认证,第四可信机构与第三可信机构不同。可选地,第三可信机构和第四可信机构分别为设备证书管理系统和用户身份管理系统中的一个。下面对通信方A持有的用于参与密钥协商的m个协商私钥的多种组合实现方式进行说明。
第一种实现方式,通信方A持有的用于参与密钥协商的m个协商私钥包括临时会话私钥A1和临时会话私钥A2。其中,临时会话私钥A1对应的临时会话公钥A1的真实性依赖于长期身份公钥A1认证,而长期身份公钥A1由第三可信机构认证,也即是,临时会话公钥A1的认证源为第三可信机构。临时会话私钥A2对应的临时会话公钥A2的真实性依赖于长期身份公钥A2认证,而长期身份公钥A2由第四可信机构认证,也即是,临时会话公钥A2的认证源为第四可信机构。因此临时会话公钥A1和临时会话公钥A2的认证源不同。
第二种实现方式,通信方A持有的用于参与密钥协商的m个协商私钥包括临时会话私钥A1和长期身份私钥A2。其中,临时会话私钥A1对应的临时会话公钥A1的真实性依赖于长期身份公钥A1认证,而长期身份公钥A1由第三可信机构认证,也即是,临时会话公钥A1的认证源为第三可信机构。长期身份私钥A2对应的长期身份公钥A2由第四可信机构认证,也即是,长期身份公钥A2的认证源为第四可信机构。因此临时会话公钥A1和长期身份公钥A2的认证源不同。
第三种实现方式,通信方A持有的用于参与密钥协商的m个协商私钥包括长期身份私钥A1和长期身份私钥A2。其中,长期身份私钥A1对应的长期身份公钥A1由第三可信机构认证,也即是,长期身份公钥A1的认证源为第三可信机构。长期身份私钥A2对应的长期身份公钥A2由第四可信机构认证,也即是,长期身份公钥A2的认证源为第四可信机构。因此长期身份公钥A1和长期身份公钥A2的认证源不同。
本申请实施例中,通信方A在生成与通信方B之间的会话密钥时,所使用的通信方B持有的用于参与密钥协商的n个协商公钥的认证源包括多个可信机构,以及所使用的通信方A持有的用于参与密钥协商的m个协商私钥对应的m个协商公钥的认证源包括多个可信机构。这样,通信方B持有的n个协商公钥能够作为通信方B的多种身份因素,通信方A持有的m个协商公钥能够作为通信方A的多种身份因素,使得通信双方的多种身份因素应用到认证密钥交换过程中,具体使通信双方的多种身份因素同时参与身份认证和密钥协商,相较于基于单身份因素的认证密钥交换方案,基于多身份因素在认证密钥交换过程中实现多重身份认证和多重密钥协商,可以生成安全性和机密性更高的会话密钥,从而可以提高后续通信的安全性和可靠性。
可选地,步骤303的一种实现方式包括:通信方A采用密钥协商算法针对q个协商密钥对分别生成q个中间密钥,每个协商密钥对分别包括通信方B持有的用于参与密钥协商的n个协商公钥中的一个协商公钥以及通信方A持有的用于参与密钥协商的m个协商私钥中的一个协商私钥,也就是说,该q个协商密钥对由通信方B持有的用于参与密钥协商的n个协商公钥和通信方A持有的用于参与密钥协商的m个协商私钥两两组合得到,q=n×m。通信方A基于该q个中间密钥生成会话密钥。可选地,通信方A可以采用密钥派生函数(keyderivation function,KDF)基于该q个中间密钥生成会话密钥。当然,本申请实施例也不排除通信方A基于该q个中间密钥中的部分中间密钥生成会话密钥的情况,只要保证最终生成的会话密钥能够糅合通信双方的多种身份因素即可,比如通信方A可以基于针对通信方B持有的临时会话公钥B1(作为通信方B的一种身份因素)与通信方A持有的临时会话私钥A1(作为通信方A的一种身份因素)协商得到的中间密钥以及针对通信方B持有的临时会话公钥B2(作为通信方B的另一种身份因素)与通信方A持有的临时会话私钥A2(作为通信方A的另一种身份因素)协商得到的中间密钥生成会话密钥。
可选地,密钥协商消息1中的n个协商公钥包括通信方B持有的协商公钥B1和协商公钥B2,通信方A持有的用于参与密钥协商的m个协商私钥包括协商私钥A1和协商私钥A2。则上述q个协商密钥对包括由协商私钥A1和协商公钥B1组成的密钥对、由协商私钥A1和协商公钥B2组成的密钥对、由协商私钥A2和协商公钥B1组成的密钥对以及由协商私钥A2和协商公钥B2组成的密钥对。相应地,通信方A采用密钥协商算法针对q个协商密钥对分别生成q个中间密钥的实现方式,包括:通信方A采用第一密钥协商算法针对协商私钥A1和协商公钥B1生成第一密钥,采用第二密钥协商算法针对协商私钥A1和协商公钥B2生成第二密钥,采用第三密钥协商算法针对协商私钥A2和协商公钥B1生成第三密钥,以及,采用第四密钥协商算法针对协商私钥A2和协商公钥B2生成第四密钥,该q个中间密钥包括第一密钥、第二密钥、第三密钥和第四密钥。其中,第一密钥协商算法、第二密钥协商算法、第三密钥协商算法和第四密钥协商算法可以是相同的密钥协商算法,或者也可以是不同的密钥协商算法。
可选地,协商公钥B1可以是通信方B持有的长期身份公钥B1和临时会话公钥B1中的一个,协商公钥B2可以是通信方B持有的长期身份公钥B2或临时会话公钥B2中的一个。协商私钥A1可以是通信方A持有的长期身份私钥A1和临时会话私钥A1中的一个,协商私钥A2可以是通信方A持有的长期身份私钥A2和临时会话私钥A2中的一个。例如,结合参考上述步骤301中的第一种实现方式以及本步骤303中的第一种实现方式,通信方B持有的用于参与密钥协商的n个协商公钥包括临时会话公钥B1和临时会话公钥B2,通信方A持有的用于参与密钥协商的m个协商私钥包括临时会话私钥A1和临时会话私钥A2。假设临时会话公钥B1记为PKb1,临时会话公钥B1记为PKb2,临时会话私钥A1记为ska1,临时会话私钥A1记为ska2,则通信方A生成的第一密钥DH1=ska1^PKb1,第二密钥DH2=ska1^PKb2,第三密钥DH3=ska2^PKb1,第四密钥DH4=ska2^PKb2,通信方A采用密钥派生函数生成的会话密钥MK=KDF(DH1||DH2||DH3||DH4)。其中,符号“^”可以表示密钥协商算法对私钥和公钥的运算关系,符号“||”可以表示字符串拼接。
本申请实施例中,通信方在确定接收到的密钥协商消息中的所有协商公钥均为来自对方的真实公钥后,通信方将接收到的密钥协商消息中的多个协商公钥用于生成会话密钥,使得最终生成的会话密钥是经过多重密钥协商得到的,提高了会话密钥的安全性,从而可以降低后续通信过程中信息泄露的风险。
上述步骤301至步骤303示出了通信方A生成与通信方B之间的会话密钥的实现过程,同理,通信方B也可以生成与通信方A之间的会话密钥,该实现过程请参见以下步骤304至步骤306。
步骤304、通信方A向通信方B发送密钥协商消息2,密钥协商消息2包括通信方A持有的用于参与密钥协商的m个协商公钥,该m个协商公钥与该m个协商私钥一一对应。
其中,密钥协商消息2中的m个协商公钥的认证源包括至少两个可信机构。
结合上述步骤303中的第一种实现方式,通信方A持有的用于参与密钥协商的m个协商公钥包括通信方A持有的临时会话公钥A1和临时会话公钥A2。密钥协商消息2还包括采用长期身份私钥A1对临时会话公钥A1的签名3以及采用长期身份私钥A2对临时会话公钥A2的签名4。这种实现方式下,密钥协商消息2包括临时会话公钥A1、临时会话公钥A2、采用长期身份私钥A1对临时会话公钥A1的签名3以及采用长期身份私钥A2对临时会话公钥A2的签名4。此实现方式的相关解释可参考上述步骤301中的第一种实现方式的相关内容,本申请实施例不再赘述。
结合上述步骤303中的第二种实现方式,通信方A持有的用于参与密钥协商的m个协商公钥包括通信方A持有的临时会话公钥A1和长期身份公钥A2。密钥协商消息2还包括采用长期身份私钥A1对临时会话公钥A1的签名3。此实现方式的相关解释可参考上述步骤301中的第二种实现方式的相关内容,本申请实施例不再赘述。
结合上述步骤303中的第三种实现方式,通信方A持有的用于参与密钥协商的m个协商公钥包括通信方A持有的长期身份公钥A1和长期身份公钥A2。此实现方式的相关解释可参考上述步骤301中的第三种实现方式的相关内容,本申请实施例不再赘述。
此步骤304的实现过程可参考上述步骤301的实现过程,本申请实施例在此不再赘述。
进一步地,通信方B接收到通信方A发送的密钥协商消息2之后,执行以下步骤305至步骤306。
步骤305、通信方B验证接收到的密钥协商消息2中的m个协商公钥的真实性。
此步骤305的实现过程可参考上述步骤302的实现过程,本申请实施例在此不再赘述。
步骤306、如果通信方B确定该m个协商公钥均为来自通信方A的真实公钥,通信方B采用该m个协商公钥以及通信方B持有的用于参与密钥协商的n个协商私钥生成通信方B与通信方A之间的会话密钥,该n个协商私钥与该n个协商公钥一一对应。
此步骤306的实现过程可参考上述步骤303的实现过程,本申请实施例在此不再赘述。
本申请实施例中,通信方A根据通信方B提供的n个协商公钥以及通信方A持有的m个协商私钥生成与通信方B之间的会话密钥,通信方B根据通信方A提供的m个协商公钥以及通信方B持有的n个协商私钥生成与通信方A之间的会话密钥。由于通信双方向对方提供的协商公钥与己方持有的用于生成会话密钥的协商私钥一一对应,即通信方B向通信方A提供的n个协商公钥与通信方B用于生成会话密钥的n个协商私钥一一对应,以及通信方A向通信方B提供的m个协商公钥与通信方A用于生成会话密钥的m个协商私钥一一对应,因此通信方A与通信方B可以生成相同的会话密钥以用于后续通信。
本申请实施例提供的上述密钥生成方法的步骤的先后顺序能够进行适当调整,步骤也能够根据情况进行相应增减。任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本申请的保护范围之内。例如通信方还可以向对方提供三个或更多的协商公钥以供对方生成会话密钥,相应地,通信方采用己方持有的对应的三个或更多的协商私钥来生成会话密钥,其实现原理与上述方法的描述类似,本申请实施例中以通过四重密钥协商生成会话密钥为例进行说明,实际还可以通过更多重密钥协商生成会话密钥,在此不再一一赘述。
在本申请实施例提供的密钥生成方法中,通信双方分别持有用于参与密钥协商的多个公私钥对,且每个通信方用于参与密钥协商的多个公私钥对中的多个公钥的认证源包括至少两个可信机构。通信方在接收到对方发送的密钥协商消息之后,验证接收到的密钥协商消息中的各个协商公钥的真实性,并在确定接收到的密钥协商消息中的所有协商公钥均为来自对方的真实公钥后,采用接收到的密钥协商消息中的多个协商公钥以及己方持有的多个协商私钥生成通信双方之间的会话密钥,该多个协商私钥对应的多个协商公钥的认证源包括至少两个可信机构。在本申请提供的技术方案中,通信方提供的用于参与密钥协商的多个协商公钥的认证源包括至少两个可信机构,也就是说,该多个协商公钥可以作为该通信方的至少两种身份因素。通信方在验证接收到的密钥协商消息中的多个协商公钥的真实性时,可以实现对对端通信方的多种身份因素的验证,即实现对对端通信方的多重身份认证。进一步地,通信方可以将经过验证的多个协商公钥用于会话密钥的生成,使得最终生成的会话密钥是经过多重密钥协商得到的,并且该会话密钥糅合了通信双方的多种身份因素,提高了最终生成的会话密钥的安全性和机密性,从而可以提高后续通信的安全性和可靠性。通过结合基于多种身份因素的多重身份认证以及多重密钥协商,能够有效应对认证密钥交换过程中的中间人攻击,进而提高了后续通信的安全性和可靠性。
本申请实施例还提供了一种密钥生成方法,该方法可以应用于如图2所示的应用场景中,该方法的实现流程包括以下步骤A至步骤C。
在步骤A中,第一通信方接收第二通信方发送的第一密钥协商消息,第一密钥协商消息包括第二通信方持有的用于参与密钥协商的n个协商公钥,该n个协商公钥的认证源包括至少两个可信机构,n≥2。
在步骤B中,第一通信方验证该n个协商公钥的真实性。
在步骤C中,如果第一通信方确定该n个协商公钥均为来自第二通信方的真实公钥,第一通信方采用该n个协商公钥以及第一通信方持有的用于参与密钥协商的m个协商私钥生成第一通信方与第二通信方之间的会话密钥,该m个协商私钥对应的协商公钥的认证源包括至少两个可信机构,m≥2。
当该方法具体用于实现上述图3所示的方法实施例时,第一通信方例如可以是通信方A,第二通信方例如可以是通信方B,第一密钥协商消息例如可以是密钥协商消息1。
可选地,上述n个协商公钥包括第二通信方持有的临时会话公钥和/或长期身份公钥,上述m个协商私钥包括第一通信方持有的临时会话私钥和/或长期身份私钥。
可选地,上述n个协商公钥包括第二通信方持有的第一临时会话公钥和第二临时会话公钥,第一密钥协商消息还包括采用第二通信方持有的第一长期身份私钥对第一临时会话公钥的第一签名以及采用第二通信方持有的第二长期身份私钥对第二临时会话公钥的第二签名,第一长期身份私钥对应的第一长期身份公钥由第一可信机构认证,第二长期身份私钥对应的第二长期身份公钥由第二可信机构认证,第二可信机构与第一可信机构不同。第一通信方验证n个协商公钥的真实性的实现方式,包括:第一通信方采用第一长期身份公钥对第一签名验签,以及采用第二长期身份公钥对第二签名验签。如果对第一签名验签通过,第一通信方确定第一临时会话公钥为来自第二通信方的真实公钥;如果对第二签名验签通过,第一通信方确定第二临时会话公钥为来自第二通信方的真实公钥。当该方法用于实现上述图3所示的方法实施例时,第一临时会话公钥例如可以是临时会话公钥B1,第二临时会话公钥例如可以是临时会话公钥B2,第一长期身份私钥例如可以是长期身份私钥B1,第二长期身份私钥例如可以是长期身份私钥B2,第一签名例如可以是签名1,第二签名例如可以是签名2。
或者,上述n个协商公钥包括第二通信方持有的第一临时会话公钥和第二长期身份公钥,第一密钥协商消息还包括采用第二通信方持有的第一长期身份私钥对第一临时会话公钥的第一签名,第一长期身份私钥对应的第一长期身份公钥由第一可信机构认证,第二长期身份公钥由第二可信机构认证,第二可信机构与第一可信机构不同。第一通信方验证n个协商公钥的真实性的实现方式,包括:第一通信方采用第一长期身份公钥对第一签名验签。如果对第一签名验签通过,第一通信方确定第一临时会话公钥为来自第二通信方的真实公钥。当该方法用于实现上述图3所示的方法实施例时,第一临时会话公钥例如可以是临时会话公钥B1,第一长期身份私钥例如可以是长期身份私钥B1,第一长期身份公钥例如可以是长期身份公钥B1,第二长期身份公钥例如可以是长期身份公钥B2,第一签名例如可以是签名1。
又或者,上述n个协商公钥包括第二通信方持有的第一长期身份公钥和第二长期身份公钥,第一长期身份公钥由第一可信机构认证,第二长期身份公钥由第二可信机构认证,第二可信机构与第一可信机构不同。当该方法用于实现上述图3所示的方法实施例时,第一长期身份公钥例如可以是长期身份公钥B1,第二长期身份公钥例如可以是长期身份公钥B2。
可选地,第一可信机构和第二可信机构分别为设备证书管理系统和用户身份管理系统中的一个。
可选地,第一通信方采用n个协商公钥以及第一通信方持有的用于参与密钥协商的m个协商私钥生成第一通信方与第二通信方之间的会话密钥的实现方式,包括:第一通信方采用密钥协商算法针对q个协商密钥对分别生成q个中间密钥,每个协商密钥对分别包括n个协商公钥中的一个协商公钥以及m个协商私钥中的一个协商私钥,q=n×m。第一通信方基于q个中间密钥生成会话密钥。
可选地,上述n个协商公钥包括第一协商公钥和第二协商公钥,m个协商私钥包括第一协商私钥和第二协商私钥。第一通信方采用密钥协商算法针对q个协商密钥对分别生成q个中间密钥的实现方式,包括:第一通信方采用第一密钥协商算法针对第一协商私钥和第一协商公钥生成第一密钥,采用第二密钥协商算法针对第一协商私钥和第二协商公钥生成第二密钥,采用第三密钥协商算法针对第二协商私钥和第一协商公钥生成第三密钥,以及,采用第四密钥协商算法针对第二协商私钥和第二协商公钥生成第四密钥,q个中间密钥包括第一密钥、第二密钥、第三密钥和第四密钥。当该方法用于实现上述图3所示的方法实施例时,第一协商公钥例如可以是协商公钥B1,第二协商公钥例如可以是协商公钥B2,第一协商私钥例如可以是协商私钥A1,第二协商私钥例如可以是协商私钥A2。
可选地,第一通信方基于q个中间密钥生成会话密钥的实现方式,包括:第一通信方采用密钥派生函数基于q个中间密钥生成会话密钥。
可选地,上述方法还包括:第一通信方向第二通信方发送第二密钥协商消息,第二密钥协商消息包括m个协商私钥对应的m个协商公钥。当该方法用于实现上述图3所示的方法实施例时,第二密钥协商消息例如可以是密钥协商消息2。
可选地,上述m个协商公钥包括第一通信方持有的第三临时会话公钥和第四临时会话公钥,第二密钥协商消息还包括采用第一通信方持有的第三长期身份私钥对第三临时会话公钥的第三签名以及采用第一通信方持有的第四长期身份私钥对第四临时会话公钥的第四签名,第三长期身份私钥对应的第三长期身份公钥由第三可信机构认证,第四长期身份私钥对应的第四长期身份公钥由第四可信机构认证,第四可信机构与第三可信机构不同。当该方法用于实现上述图3所示的方法实施例时,第三临时会话公钥例如可以是临时会话公钥A1,第四临时会话公钥例如可以是临时会话公钥A2,第三长期身份私钥例如可以是长期身份私钥A1,第四长期身份私钥例如可以是长期身份私钥A2,第三签名例如可以是签名3,第四签名例如可以是签名4。
或者,上述m个协商公钥包括第一通信方持有的第三临时会话公钥和第四长期身份公钥,第二密钥协商消息还包括采用第一通信方持有的第三长期身份私钥对第三临时会话公钥的第三签名,第三长期身份私钥对应的第三长期身份公钥由第三可信机构认证,第四长期身份公钥由第四可信机构认证,第四可信机构与第三可信机构不同。当该方法用于实现上述图3所示的方法实施例时,第三临时会话公钥例如可以是临时会话公钥A1,第三长期身份私钥例如可以是长期身份私钥A1,第四长期身份公钥例如可以是长期身份公钥A2,第三签名例如可以是签名3。
又或者,上述m个协商公钥包括第一通信方持有的第三长期身份公钥和第四长期身份公钥,第三长期身份公钥由第三可信机构认证,第四长期身份公钥由第四可信机构认证,第四可信机构与第三可信机构不同。当该方法用于实现上述图3所示的方法实施例时,第三临时会话公钥例如可以是临时会话公钥A1,第四长期身份公钥例如可以是长期身份公钥A2。
可选地,第三可信机构和第四可信机构分别为设备证书管理系统和用户身份管理系统中的一个。
下面对本申请实施例的软件装置举例说明。
例如,图4是本申请实施例提供的一种密钥生成装置的结构示意图。该装置应用于第一通信方,如图4所示,装置400包括但不限于接收模块401、验证模块402和生成模块403。可选地,该装置400还包括发送模块404。
接收模块401,用于接收第二通信方发送的第一密钥协商消息,第一密钥协商消息包括第二通信方持有的用于参与密钥协商的n个协商公钥,该n个协商公钥的认证源包括至少两个可信机构,n≥2。
验证模块402,用于验证该n个协商公钥的真实性。
生成模块403,用于如果第一通信方确定该n个协商公钥均为来自第二通信方的真实公钥,采用该n个协商公钥以及第一通信方持有的用于参与密钥协商的m个协商私钥生成第一通信方与第二通信方之间的会话密钥,该m个协商私钥对应的协商公钥的认证源包括至少两个可信机构,m≥2。
可选地,该n个协商公钥包括第二通信方持有的临时会话公钥和/或长期身份公钥,m个协商私钥包括第一通信方持有的临时会话私钥和/或长期身份私钥。
可选地,该n个协商公钥包括第二通信方持有的第一临时会话公钥和第二临时会话公钥,第一密钥协商消息还包括采用第二通信方持有的第一长期身份私钥对第一临时会话公钥的第一签名以及采用第二通信方持有的第二长期身份私钥对第二临时会话公钥的第二签名,第一长期身份私钥对应的第一长期身份公钥由第一可信机构认证,第二长期身份私钥对应的第二长期身份公钥由第二可信机构认证,第二可信机构与第一可信机构不同。验证模块402,用于:采用第一长期身份公钥对第一签名验签,以及采用第二长期身份公钥对第二签名验签。如果对第一签名验签通过,确定第一临时会话公钥为来自第二通信方的真实公钥;如果对第二签名验签通过,第一通信方确定第二临时会话公钥为来自第二通信方的真实公钥。
可选地,该n个协商公钥包括第二通信方持有的第一临时会话公钥和第二长期身份公钥,第一密钥协商消息还包括采用第二通信方持有的第一长期身份私钥对第一临时会话公钥的第一签名,第一长期身份私钥对应的第一长期身份公钥由第一可信机构认证,第二长期身份公钥由第二可信机构认证,第二可信机构与第一可信机构不同。验证模块402,用于:采用第一长期身份公钥对第一签名验签。如果对第一签名验签通过,确定第一临时会话公钥为来自第二通信方的真实公钥。
可选地,该n个协商公钥包括第二通信方持有的第一长期身份公钥和第二长期身份公钥,第一长期身份公钥由第一可信机构认证,第二长期身份公钥由第二可信机构认证,第二可信机构与第一可信机构不同。
可选地,第一可信机构和第二可信机构分别为设备证书管理系统和用户身份管理系统中的一个。
可选地,生成模块403,具体用于:采用密钥协商算法针对q个协商密钥对分别生成q个中间密钥,每个协商密钥对分别包括n个协商公钥中的一个协商公钥以及m个协商私钥中的一个协商私钥,q=n×m。基于q个中间密钥生成会话密钥。
可选地,n个协商公钥包括第一协商公钥和第二协商公钥,m个协商私钥包括第一协商私钥和第二协商私钥。生成模块403,具体用于:采用第一密钥协商算法针对第一协商私钥和第一协商公钥生成第一密钥,采用第二密钥协商算法针对第一协商私钥和第二协商公钥生成第二密钥,采用第三密钥协商算法针对第二协商私钥和第一协商公钥生成第三密钥,以及,采用第四密钥协商算法针对第二协商私钥和第二协商公钥生成第四密钥,q个中间密钥包括第一密钥、第二密钥、第三密钥和第四密钥。
可选地,生成模块403,具体用于:采用密钥派生函数基于q个中间密钥生成会话密钥。
可选地,发送模块404,用于向第二通信方发送第二密钥协商消息,第二密钥协商消息包括m个协商私钥对应的m个协商公钥。
可选地,该m个协商公钥包括第一通信方持有的第三临时会话公钥和第四临时会话公钥,第二密钥协商消息还包括采用第一通信方持有的第三长期身份私钥对第三临时会话公钥的第三签名以及采用第一通信方持有的第四长期身份私钥对第四临时会话公钥的第四签名,第三长期身份私钥对应的第三长期身份公钥由第三可信机构认证,第四长期身份私钥对应的第四长期身份公钥由第四可信机构认证,第四可信机构与第三可信机构不同。
可选地,该m个协商公钥包括第一通信方持有的第三临时会话公钥和第四长期身份公钥,第二密钥协商消息还包括采用第一通信方持有的第三长期身份私钥对第三临时会话公钥的第三签名,第三长期身份私钥对应的第三长期身份公钥由第三可信机构认证,第四长期身份公钥由第四可信机构认证,第四可信机构与第三可信机构不同。
可选地,该m个协商公钥包括第一通信方持有的第三长期身份公钥和第四长期身份公钥,第三长期身份公钥由第三可信机构认证,第四长期身份公钥由第四可信机构认证,第四可信机构与第三可信机构不同。
可选地,第三可信机构和第四可信机构分别为设备证书管理系统和用户身份管理系统中的一个。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
下面对本申请实施例的硬件装置举例说明。
例如,图5是本申请实施例提供的一种通信设备的硬件结构示意图。该通信设备例如可以是会议终端。如图5所示,通信设备500包括处理器501和存储器502,存储器501与存储器502通过总线503连接。图5以处理器501和存储器502相互独立说明。可选地,处理器501和存储器502集成在一起。可选地,结合图2来看,图5中的通信设备500可以是图2所示的任一通信方的设备。
其中,存储器502用于存储计算机程序,计算机程序包括操作系统和程序代码。存储器502是各种类型的存储介质,例如只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、电可擦可编程只读存储器(electrically erasableprogrammable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)、闪存、光存储器、寄存器、光盘存储、光碟存储、磁盘或者其它磁存储设备。
其中,处理器501是通用处理器或专用处理器。处理器501可能是单核处理器或多核处理器。处理器501包括至少一个电路,以执行本申请实施例提供的上述方法中第一通信方或第二通信方执行的动作。
可选地,通信设备500还包括网络接口504,网络接口504通过总线503与处理器501和存储器502连接。网络接口504能够实现通信设备500与其它设备通信。例如,处理器501能够通过网络接口504与其它设备交互来收发密钥协商消息等。
可选地,通信设备500还包括输入/输出(input/output,I/O)接口505,I/O接口505通过总线503与处理器501和存储器502连接。处理器501能够通过I/O接口505接收输入的命令或数据等。I/O接口505用于通信设备500连接输入设备,这些输入设备例如是键盘、鼠标等。可选地,在一些可能的场景中,上述网络接口504和I/O接口505被统称为通信接口。
可选地,通信设备500还包括显示器506,显示器506通过总线503与处理器501和存储器502连接。显示器506能够用于显示处理器501执行上述方法产生的中间结果和/或最终结果等。在一种可能的实现方式中,显示器506是触控显示屏,以提供人机交互接口。
其中,总线503是任何类型的,用于实现通信设备500的内部器件互连的通信总线。例如系统总线。本申请实施例以通信设备500内部的上述器件通过总线503互连为例说明,可选地,通信设备500内部的上述器件采用除了总线503之外的其他连接方式彼此通信连接,例如通信设备500内部的上述器件通过通信设备500内部的逻辑接口互连。
上述器件可以分别设置在彼此独立的芯片上,也可以至少部分的或者全部的设置在同一块芯片上。将各个器件独立设置在不同的芯片上,还是整合设置在一个或者多个芯片上,往往取决于产品设计的需要。本申请实施例对上述器件的具体实现形式不做限定。
图5所示的通信设备500仅仅是示例性的,在实现过程中,通信设备500包括其他组件,本文不再一一列举。图5所示的通信设备500可以通过执行上述实施例提供的方法的全部或部分步骤来实现会话密钥的生成。
本申请实施例还提供了一种密钥生成系统,包括:第一通信方和第二通信方。第一通信方例如可以是图3示出的方法中的通信方A,用于执行通信方A执行的步骤。第二通信方例如可以是图3示出的方法中的通信方B,用于执行通信方B执行的步骤。
可选地,第一通信方和第二通信方均包括会议终端,即第一通信方和第二通信方中的设备可以是会议终端。该密钥生成系统可以应用于视频会议场景。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,当所述指令被处理器执行时,实现上述方法中通信方A执行的步骤或通信方B执行的步骤。
本申请实施例还提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时,实现上述方法中通信方A执行的步骤或通信方B执行的步骤。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本申请实施例中,术语“第一”、“第二”和“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
需要说明的是,本申请所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的构思和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (33)
1.一种密钥生成方法,其特征在于,所述方法包括:
第一通信方接收第二通信方发送的第一密钥协商消息,所述第一密钥协商消息包括所述第二通信方持有的用于参与密钥协商的n个协商公钥,所述n个协商公钥的认证源包括至少两个可信机构,n≥2;
所述第一通信方验证所述n个协商公钥的真实性;
如果所述第一通信方确定所述n个协商公钥均为来自所述第二通信方的真实公钥,所述第一通信方采用所述n个协商公钥以及所述第一通信方持有的用于参与密钥协商的m个协商私钥生成所述第一通信方与所述第二通信方之间的会话密钥,所述m个协商私钥对应的协商公钥的认证源包括至少两个可信机构,m≥2。
2.根据权利要求1所述的方法,其特征在于,所述n个协商公钥包括所述第二通信方持有的临时会话公钥和/或长期身份公钥,所述m个协商私钥包括所述第一通信方持有的临时会话私钥和/或长期身份私钥。
3.根据权利要求1或2所述的方法,其特征在于,所述n个协商公钥包括所述第二通信方持有的第一临时会话公钥和第二临时会话公钥,所述第一密钥协商消息还包括采用所述第二通信方持有的第一长期身份私钥对所述第一临时会话公钥的第一签名以及采用所述第二通信方持有的第二长期身份私钥对所述第二临时会话公钥的第二签名,所述第一长期身份私钥对应的第一长期身份公钥由第一可信机构认证,所述第二长期身份私钥对应的第二长期身份公钥由第二可信机构认证,所述第二可信机构与所述第一可信机构不同;
所述第一通信方验证所述n个协商公钥的真实性,包括:
所述第一通信方采用所述第一长期身份公钥对所述第一签名验签,以及采用所述第二长期身份公钥对所述第二签名验签;
如果对所述第一签名验签通过,所述第一通信方确定所述第一临时会话公钥为来自所述第二通信方的真实公钥;如果对所述第二签名验签通过,所述第一通信方确定所述第二临时会话公钥为来自所述第二通信方的真实公钥。
4.根据权利要求1或2所述的方法,其特征在于,所述n个协商公钥包括所述第二通信方持有的第一临时会话公钥和第二长期身份公钥,所述第一密钥协商消息还包括采用所述第二通信方持有的第一长期身份私钥对所述第一临时会话公钥的第一签名,所述第一长期身份私钥对应的第一长期身份公钥由第一可信机构认证,所述第二长期身份公钥由第二可信机构认证,所述第二可信机构与所述第一可信机构不同;
所述第一通信方验证所述n个协商公钥的真实性,包括:
所述第一通信方采用所述第一长期身份公钥对所述第一签名验签;
如果对所述第一签名验签通过,所述第一通信方确定所述第一临时会话公钥为来自所述第二通信方的真实公钥。
5.根据权利要求1或2所述的方法,其特征在于,所述n个协商公钥包括所述第二通信方持有的第一长期身份公钥和第二长期身份公钥,所述第一长期身份公钥由第一可信机构认证,所述第二长期身份公钥由第二可信机构认证,所述第二可信机构与所述第一可信机构不同。
6.根据权利要求3至5任一所述的方法,其特征在于,所述第一可信机构和所述第二可信机构分别为设备证书管理系统和用户身份管理系统中的一个。
7.根据权利要求1至6任一所述的方法,其特征在于,所述第一通信方采用所述n个协商公钥以及所述第一通信方持有的用于参与密钥协商的m个协商私钥生成所述第一通信方与所述第二通信方之间的会话密钥,包括:
所述第一通信方采用密钥协商算法针对q个协商密钥对分别生成q个中间密钥,每个所述协商密钥对分别包括所述n个协商公钥中的一个协商公钥以及所述m个协商私钥中的一个协商私钥,q=n×m;
所述第一通信方基于所述q个中间密钥生成所述会话密钥。
8.根据权利要求7所述的方法,其特征在于,所述n个协商公钥包括第一协商公钥和第二协商公钥,所述m个协商私钥包括第一协商私钥和第二协商私钥;所述第一通信方采用密钥协商算法针对q个协商密钥对分别生成q个中间密钥,包括:
所述第一通信方采用第一密钥协商算法针对所述第一协商私钥和所述第一协商公钥生成第一密钥,采用第二密钥协商算法针对所述第一协商私钥和所述第二协商公钥生成第二密钥,采用第三密钥协商算法针对所述第二协商私钥和所述第一协商公钥生成第三密钥,以及,采用第四密钥协商算法针对所述第二协商私钥和所述第二协商公钥生成第四密钥,所述q个中间密钥包括所述第一密钥、所述第二密钥、所述第三密钥和所述第四密钥。
9.根据权利要求7或8所述的方法,其特征在于,所述第一通信方基于所述q个中间密钥生成所述会话密钥,包括:
所述第一通信方采用密钥派生函数基于所述q个中间密钥生成所述会话密钥。
10.根据权利要求1至9任一所述的方法,其特征在于,所述方法还包括:
所述第一通信方向所述第二通信方发送第二密钥协商消息,所述第二密钥协商消息包括所述m个协商私钥对应的m个协商公钥。
11.根据权利要求10所述的方法,其特征在于,所述m个协商公钥包括所述第一通信方持有的第三临时会话公钥和第四临时会话公钥,所述第二密钥协商消息还包括采用所述第一通信方持有的第三长期身份私钥对所述第三临时会话公钥的第三签名以及采用所述第一通信方持有的第四长期身份私钥对所述第四临时会话公钥的第四签名,所述第三长期身份私钥对应的第三长期身份公钥由第三可信机构认证,所述第四长期身份私钥对应的第四长期身份公钥由第四可信机构认证,所述第四可信机构与所述第三可信机构不同。
12.根据权利要求10所述的方法,其特征在于,所述m个协商公钥包括所述第一通信方持有的第三临时会话公钥和第四长期身份公钥,所述第二密钥协商消息还包括采用所述第一通信方持有的第三长期身份私钥对所述第三临时会话公钥的第三签名,所述第三长期身份私钥对应的第三长期身份公钥由第三可信机构认证,所述第四长期身份公钥由第四可信机构认证,所述第四可信机构与所述第三可信机构不同。
13.根据权利要求10所述的方法,其特征在于,所述m个协商公钥包括所述第一通信方持有的第三长期身份公钥和第四长期身份公钥,所述第三长期身份公钥由第三可信机构认证,所述第四长期身份公钥由第四可信机构认证,所述第四可信机构与所述第三可信机构不同。
14.根据权利要求11至13任一所述的方法,其特征在于,所述第三可信机构和所述第四可信机构分别为设备证书管理系统和用户身份管理系统中的一个。
15.一种密钥生成装置,其特征在于,应用于第一通信方,所述装置包括:
接收模块,用于接收第二通信方发送的第一密钥协商消息,所述第一密钥协商消息包括所述第二通信方持有的用于参与密钥协商的n个协商公钥,所述n个协商公钥的认证源包括至少两个可信机构,n≥2;
验证模块,用于验证所述n个协商公钥的真实性;
生成模块,用于如果所述第一通信方确定所述n个协商公钥均为来自所述第二通信方的真实公钥,采用所述n个协商公钥以及所述第一通信方持有的用于参与密钥协商的m个协商私钥生成所述第一通信方与所述第二通信方之间的会话密钥,所述m个协商私钥对应的协商公钥的认证源包括至少两个可信机构,m≥2。
16.根据权利要求15所述的装置,其特征在于,所述n个协商公钥包括所述第二通信方持有的临时会话公钥和/或长期身份公钥,所述m个协商私钥包括所述第一通信方持有的临时会话私钥和/或长期身份私钥。
17.根据权利要求15或16所述的装置,其特征在于,所述n个协商公钥包括所述第二通信方持有的第一临时会话公钥和第二临时会话公钥,所述第一密钥协商消息还包括采用所述第二通信方持有的第一长期身份私钥对所述第一临时会话公钥的第一签名以及采用所述第二通信方持有的第二长期身份私钥对所述第二临时会话公钥的第二签名,所述第一长期身份私钥对应的第一长期身份公钥由第一可信机构认证,所述第二长期身份私钥对应的第二长期身份公钥由第二可信机构认证,所述第二可信机构与所述第一可信机构不同;
所述验证模块,用于:
采用所述第一长期身份公钥对所述第一签名验签,以及采用所述第二长期身份公钥对所述第二签名验签;
如果对所述第一签名验签通过,确定所述第一临时会话公钥为来自所述第二通信方的真实公钥;如果对所述第二签名验签通过,所述第一通信方确定所述第二临时会话公钥为来自所述第二通信方的真实公钥。
18.根据权利要求15或16所述的装置,其特征在于,所述n个协商公钥包括所述第二通信方持有的第一临时会话公钥和第二长期身份公钥,所述第一密钥协商消息还包括采用所述第二通信方持有的第一长期身份私钥对所述第一临时会话公钥的第一签名,所述第一长期身份私钥对应的第一长期身份公钥由第一可信机构认证,所述第二长期身份公钥由第二可信机构认证,所述第二可信机构与所述第一可信机构不同;
所述验证模块,用于:
采用所述第一长期身份公钥对所述第一签名验签;
如果对所述第一签名验签通过,确定所述第一临时会话公钥为来自所述第二通信方的真实公钥。
19.根据权利要求15或16所述的装置,其特征在于,所述n个协商公钥包括所述第二通信方持有的第一长期身份公钥和第二长期身份公钥,所述第一长期身份公钥由第一可信机构认证,所述第二长期身份公钥由第二可信机构认证,所述第二可信机构与所述第一可信机构不同。
20.根据权利要求17至19任一所述的装置,其特征在于,所述第一可信机构和所述第二可信机构分别为设备证书管理系统和用户身份管理系统中的一个。
21.根据权利要求15至20任一所述的装置,其特征在于,所述生成模块,用于:
采用密钥协商算法针对q个协商密钥对分别生成q个中间密钥,每个所述协商密钥对分别包括所述n个协商公钥中的一个协商公钥以及所述m个协商私钥中的一个协商私钥,q=n×m;
基于所述q个中间密钥生成所述会话密钥。
22.根据权利要求21所述的装置,其特征在于,所述n个协商公钥包括第一协商公钥和第二协商公钥,所述m个协商私钥包括第一协商私钥和第二协商私钥;所述生成模块,用于:
采用第一密钥协商算法针对所述第一协商私钥和所述第一协商公钥生成第一密钥,采用第二密钥协商算法针对所述第一协商私钥和所述第二协商公钥生成第二密钥,采用第三密钥协商算法针对所述第二协商私钥和所述第一协商公钥生成第三密钥,以及,采用第四密钥协商算法针对所述第二协商私钥和所述第二协商公钥生成第四密钥,所述q个中间密钥包括所述第一密钥、所述第二密钥、所述第三密钥和所述第四密钥。
23.根据权利要求21或22所述的装置,其特征在于,所述生成模块,用于:
采用密钥派生函数基于所述q个中间密钥生成所述会话密钥。
24.根据权利要求15至23任一所述的装置,其特征在于,所述装置还包括:
发送模块,用于向所述第二通信方发送第二密钥协商消息,所述第二密钥协商消息包括所述m个协商私钥对应的m个协商公钥。
25.根据权利要求24所述的装置,其特征在于,所述m个协商公钥包括所述第一通信方持有的第三临时会话公钥和第四临时会话公钥,所述第二密钥协商消息还包括采用所述第一通信方持有的第三长期身份私钥对所述第三临时会话公钥的第三签名以及采用所述第一通信方持有的第四长期身份私钥对所述第四临时会话公钥的第四签名,所述第三长期身份私钥对应的第三长期身份公钥由第三可信机构认证,所述第四长期身份私钥对应的第四长期身份公钥由第四可信机构认证,所述第四可信机构与所述第三可信机构不同。
26.根据权利要求24所述的装置,其特征在于,所述m个协商公钥包括所述第一通信方持有的第三临时会话公钥和第四长期身份公钥,所述第二密钥协商消息还包括采用所述第一通信方持有的第三长期身份私钥对所述第三临时会话公钥的第三签名,所述第三长期身份私钥对应的第三长期身份公钥由第三可信机构认证,所述第四长期身份公钥由第四可信机构认证,所述第四可信机构与所述第三可信机构不同。
27.根据权利要求24所述的装置,其特征在于,所述m个协商公钥包括所述第一通信方持有的第三长期身份公钥和第四长期身份公钥,所述第三长期身份公钥由第三可信机构认证,所述第四长期身份公钥由第四可信机构认证,所述第四可信机构与所述第三可信机构不同。
28.根据权利要求25至27任一所述的装置,其特征在于,所述第三可信机构和所述第四可信机构分别为设备证书管理系统和用户身份管理系统中的一个。
29.一种密钥生成系统,其特征在于,包括:第一通信方和第二通信方;所述第一通信方和所述第二通信方分别用于执行如权利要求1至14任一所述的密钥生成方法。
30.根据权利要求29所述的系统,其特征在于,所述第一通信方和所述第二通信方均包括会议终端。
31.一种通信设备,其特征在于,包括:处理器和存储器;
所述存储器,用于存储计算机程序,所述计算机程序包括程序指令;
所述处理器,用于调用所述计算机程序,实现如权利要求1至14任一所述的方法。
32.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有指令,当所述指令被处理器执行时,实现如权利要求1至14任一所述的方法。
33.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序被处理器执行时,实现如权利要求1至14任一所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2022113199304 | 2022-10-26 | ||
CN202211319930 | 2022-10-26 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117938363A true CN117938363A (zh) | 2024-04-26 |
Family
ID=90763584
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310156028.3A Pending CN117938363A (zh) | 2022-10-26 | 2023-02-16 | 密钥生成方法、装置及系统 |
CN202310160005.XA Pending CN117938364A (zh) | 2022-10-26 | 2023-02-16 | 密钥生成方法、装置及系统 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310160005.XA Pending CN117938364A (zh) | 2022-10-26 | 2023-02-16 | 密钥生成方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN117938363A (zh) |
-
2023
- 2023-02-16 CN CN202310156028.3A patent/CN117938363A/zh active Pending
- 2023-02-16 CN CN202310160005.XA patent/CN117938364A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
CN117938364A (zh) | 2024-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240007308A1 (en) | Confidential authentication and provisioning | |
US9467430B2 (en) | Device, method, and system for secure trust anchor provisioning and protection using tamper-resistant hardware | |
Boyd et al. | Protocols for authentication and key establishment | |
CN1777096B (zh) | 用于口令保护的方法和设备 | |
US8670563B2 (en) | System and method for designing secure client-server communication protocols based on certificateless public key infrastructure | |
US8112787B2 (en) | System and method for securing a credential via user and server verification | |
CN109728909A (zh) | 基于USBKey的身份认证方法和系统 | |
CN102547688B (zh) | 一种基于虚拟专用信道的高可信手机安全通信信道的建立方法 | |
CN112039918B (zh) | 一种基于标识密码算法的物联网可信认证方法 | |
CN110020524B (zh) | 一种基于智能卡的双向认证方法 | |
WO2012038249A1 (en) | Method for establishing a secure communication channel | |
EP2984782A1 (en) | Method and system for accessing device by a user | |
CN104901935A (zh) | 一种基于cpk的双向认证及数据交互安全保护方法 | |
CN111224784B (zh) | 一种基于硬件可信根的角色分离的分布式认证授权方法 | |
CN113507372A (zh) | 一种接口请求的双向认证方法 | |
CN110866754A (zh) | 一种基于动态口令的纯软件dpva身份认证方法 | |
CN113676330B (zh) | 一种基于二级密钥的数字证书申请系统及方法 | |
EP1623551B1 (en) | Network security method and system | |
CN107659409B (zh) | 用于在至少两个通信伙伴之间提供经认证的连接的方法 | |
CN116633530A (zh) | 量子密钥传输方法、装置及系统 | |
EP3185504A1 (en) | Security management system for securing a communication between a remote server and an electronic device | |
Chatterjee et al. | A novel multi-server authentication scheme for e-commerce applications using smart card | |
CN117938363A (zh) | 密钥生成方法、装置及系统 | |
WO2008004174A2 (en) | Establishing a secure authenticated channel | |
CN110855444A (zh) | 一种基于可信第三方的纯软件cava身份认证方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |