CN117527202A - 量子密钥协商的***、方法以及设备 - Google Patents
量子密钥协商的***、方法以及设备 Download PDFInfo
- Publication number
- CN117527202A CN117527202A CN202211619322.5A CN202211619322A CN117527202A CN 117527202 A CN117527202 A CN 117527202A CN 202211619322 A CN202211619322 A CN 202211619322A CN 117527202 A CN117527202 A CN 117527202A
- Authority
- CN
- China
- Prior art keywords
- quantum
- application
- key
- quantum key
- application device
- 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 199
- 230000005540 biological transmission Effects 0.000 claims abstract description 75
- 230000015654 memory Effects 0.000 claims description 90
- 230000006870 function Effects 0.000 claims description 48
- 238000005538 encapsulation Methods 0.000 claims description 27
- 230000007246 mechanism Effects 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 20
- 238000003860 storage Methods 0.000 claims description 13
- 230000008569 process Effects 0.000 description 37
- 238000004422 calculation algorithm Methods 0.000 description 26
- 238000012545 processing Methods 0.000 description 22
- 230000006854 communication Effects 0.000 description 21
- 238000004891 communication Methods 0.000 description 20
- 238000012795 verification Methods 0.000 description 18
- 238000009826 distribution Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 238000009795 derivation Methods 0.000 description 8
- 238000012986 modification Methods 0.000 description 8
- 230000004048 modification Effects 0.000 description 8
- 230000003993 interaction Effects 0.000 description 7
- 230000002457 bidirectional effect Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000005610 quantum mechanics Effects 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 235000003642 hunger Nutrition 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 229910021421 monocrystalline silicon Inorganic materials 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 241000894007 species Species 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- MECHNRXZTMCUDQ-RKHKHRCZSA-N vitamin D2 Chemical compound C1(/[C@@H]2CC[C@@H]([C@]2(CCC1)C)[C@H](C)/C=C/[C@H](C)C(C)C)=C\C=C1\C[C@@H](O)CCC1=C MECHNRXZTMCUDQ-RKHKHRCZSA-N 0.000 description 1
- 235000001892 vitamin D2 Nutrition 0.000 description 1
- 239000011653 vitamin D2 Substances 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/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/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/0852—Quantum cryptography
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Electromagnetism (AREA)
- Theoretical Computer Science (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
一种量子密钥协商的***、方法以及设备,该方法包括:第一量子设备和第二量子设备协商获得第一量子密钥,第一量子设备将第一量子密钥信息发送给第一应用设备,第二量子设备将第一量子密钥信息发送给第二应用设备,该第一量子密钥信息中包括第一量子密钥。该方法能够在量子密钥传输的过程中节省人力,且不需要引入额外的移动介质,管理较为简单。
Description
本申请要求于2022年8月5日提交中国国家知识产权局、申请号为202210940291.7、申请名称为“量子密钥协商的***、方法以及设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及数据安全技术领域,并且更具体地,涉及一种量子密钥协商的***、方法以及设备。
背景技术
随着量子计算机的发展,当前广泛使用的公钥密码体制受到了巨大的威胁,特别是密钥协商将遭到“囤积攻击”。量子计算机预计在数十年时间内可实现,如果窃听者将当前的通信流量保存下来,等到量子计算机实现后解密当前的信息,这对于需要长期保存的机密信息来说是一种巨大的威胁。因此,采用量子密钥分发(quantum key distribution,QKD)进行密钥协商成为了业界和学界关注的重点课题。
一种相关的技术方案中,需要采用离线模式,通过移动介质将量子密钥人工传递至应用设备,这样,会浪费人力资源,管理较为复杂,且运输过程存在一定的风险。
有鉴于此,如何在量子密钥传输的过程中节省人力,且不需要引入额外的移动介质成为亟需要解决的技术问题。
发明内容
本申请提供一种量子密钥协商的***、方法以及设备,能够在量子密钥传输的过程中节省人力,且不需要引入额外的移动介质,管理较为简单。
第一方面,提供了一种量子密钥协商的方法,包括:第一量子设备和第二量子设备协商获得第一量子密钥,第一量子设备将第一量子密钥信息发送给第一应用设备,第二量子设备将第一量子密钥信息发送给第二应用设备,该第一量子密钥信息中包括第一量子密钥。
上述技术方案中,量子设备之间协商完密钥之后,可以直接将量子密钥发送给对应的应用设备,在这个过程中,不需要引入额外的移动介质,能够节省人力,管理较为简单。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:该第一应用设备向该第一量子设备发送该第二应用设备的信息。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:该第一应用设备向该第一量子设备发送第一量子密钥申请报文,该第一量子密钥申请报文用于向该第一量子设备申请该第一量子密钥。
结合第一方面,在第一方面的某些实现方式中,该第一应用设备包括第一应用和第一客户端,该第一量子设备包括第一服务端,该方法还包括:该第一应用设备通过该第一客户端接收该第一应用发送的该第一量子密钥申请报文。
结合第一方面,在第一方面的某些实现方式中,该第一应用设备通过该第一客户端向该第一服务端发送该第一量子密钥申请报文;该第一量子设备通过该第一服务端将该第一量子密钥信息发送该第一客户端。
结合第一方面,在第一方面的某些实现方式中,该第一量子密钥信息中还包括该第一应用的标识,该方法还包括:该第一应用设备根据该第一应用的标识,通过该第一客户端将该第一量子密钥发送该第一应用。
结合第一方面,在第一方面的某些实现方式中,该第二应用设备包括第二客户端,该第二量子设备包括第二服务端,该第二量子设备通过该第二服务端将该第一量子密钥信息发送该第二客户端。
结合第一方面,在第一方面的某些实现方式中,该第二应用设备中还包括第二应用,该第一量子密钥信息中还包括该第二应用的标识,该方法还包括:该第二应用设备根据该第二应用的标识,通过该第二客户端将该第一量子密钥发送该第二应用。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:该第二应用设备通过该第二客户端接收该第一客户端发送的消息,并将该消息发送给该第二服务端,该消息包括第一标识,该第一标识用于指示该第一量子密钥;该第二量子设备通过该第二服务端接收该消息,并根据该第一标识通过该第二服务端从数据库中获取该第一量子密钥信息。
结合第一方面,在第一方面的某些实现方式中,该第一应用设备通过第一加密传输通道向该第一量子设备发送该第一量子密钥申请报文,该第一加密传输通道为该第一应用设备和该第一量子设备之间的传输通道;该第一量子设备通过该第一加密传输通道将该第一量子密钥信息发送给该第一应用设备。
上述技术方案中,应用设备和量子设备之间建立有量子安全的加密传输通道,由于应用设备和量子设备之间传输量子密钥的安全通道是加密的,相比较现有技术的通过人工传输充注有量子密钥的物理介质而言,节省了人工传输的成本,并且安全性更高。
结合第一方面,在第一方面的某些实现方式中,该第一加密传输通道为该第一应用设备和该第一量子设备基于预共享密钥PSK建立的,或者基于后量子密钥封装机制PQC.KEM建立的。
结合第一方面,在第一方面的某些实现方式中,该第一应用设备,还用于生成第一协商参数;该第一应用设备,还用于接收第一量子设备发送的第二协商参数;该第一应用设备,还用于基于密钥导数函数KDF,通过该第一协商参数、该第二协商参数以及消息认证码MAC密钥确定会话密钥,该KDF为该第一应用设备和该第一量子设备共同协商的密钥导数函数,该MAC密钥是根据该PSK确定的,该会话密钥用于对该第一量子密钥申请报文进行加密,或者用于对该第一量子设备向该第一应用设备发送的第一量子密钥信息进行加密。
结合第一方面,在第一方面的某些实现方式中,该第二量子设备通过第二加密传输通道将该第一量子密钥信息发送给该第二应用设备,该第二加密传输通道为该第二应用设备和该第二量子设备之间的传输通道。
结合第一方面,在第一方面的某些实现方式中,该第二加密传输通道为该第二应用设备和该第二量子设备基于预共享密钥PSK建立的,或者基于后量子密钥封装机制PQC.KEM建立的。
结合第一方面,在第一方面的某些实现方式中,该第二应用设备,还用于生成第三协商参数;该第二应用设备,还用于接收第三量子设备发送的第四协商参数;该第二应用设备,还用于基于密钥导数函数KDF,通过该第三协商参数、该第四协商参数以及消息认证码MAC密钥确定会话密钥,该KDF为该第二应用设备和该第二量子设备共同协商的密钥导数函数,该MAC密钥是根据该PSK确定的,该会话密钥用于对该第二量子设备向该第二应用设备发送的该第一量子密钥信息进行加密。
结合第一方面,在第一方面的某些实现方式中,该第一量子密钥申请报文包括该第一量子密钥的服务参数、该第二量子设备的信息、第一应用的标识、第二应用的标识。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:该第一应用设备和该第二应用设备基于该第一量子密钥信息进行通信。
第二方面,提供了一种量子密钥协商的方法,包括:第一应用设备向第一量子设备发送第二应用设备的信息,该第一应用设备接收该第一量子设备发送的第一量子密钥信息,其中,该第二应用设备的信息用于指示第一量子设备确定第二量子设备,该第二量子设备用于和该第一量子设备协商获得第一量子密钥,第一量子密钥信息中包括该第一量子密钥。
结合第二方面,在第二方面的某些实现方式中,该方法还包括:该第一应用设备向该第一量子设备发送第一量子密钥申请报文,该第一量子密钥申请报文用于向该第一量子设备申请该第一量子密钥。
结合第二方面,在第二方面的某些实现方式中,该方法还包括:该第一应用设备通过第一客户端接收第一应用发送的该第一量子密钥申请报文,该第一应用为该第一应用设备上的一个应用。
结合第二方面,在第二方面的某些实现方式中,该第一应用设备通过该第一客户端,向该第一量子设备上的第一服务端发送该第一量子密钥申请报文;该第一应用设备通过该第一客户端,接收该第一服务端发送的该第一量子密钥信息。
结合第二方面,在第二方面的某些实现方式中,该第一量子密钥信息中还包括该第一应用的标识,该方法还包括:该第一应用设备根据该第一应用的标识,通过该第一客户端将该第一量子密钥发送该第一应用。
结合第二方面,在第二方面的某些实现方式中,该第一应用设备通过第一加密传输通道向该第一量子设备发送该第一量子密钥申请报文,该第一加密传输通道为该第一应用设备和该第一量子设备之间的传输通道;该第一应用设备通过该第一加密传输通道接收该第一量子设备发送的第一量子密钥信息。
结合第二方面,在第二方面的某些实现方式中,该第一加密传输通道为该第一应用设备和该第一量子设备基于预共享密钥PSK建立的,或者基于后量子密钥封装机制PQC.KEM建立的。
结合第二方面,在第二方面的某些实现方式中,该方法还包括:该第一应用设备生成第一协商参数;该第一应用设备接收该第一量子设备发送的第二协商参数;该第一应用设备基于密钥导数函数KDF,通过该第一协商参数、该第二协商参数以及消息认证码MAC密钥确定会话密钥,该KDF为该第一应用设备和该第一量子设备共同协商的密钥导数函数,该MAC密钥是根据该PSK确定的。
结合第二方面,在第二方面的某些实现方式中,该第一量子密钥申请报文包括该第一量子密钥的服务参数、该第二量子设备的信息、第一应用的标识、第二应用的标识。
第二方面和第二方面的任意一个可能的实现方式的有益效果和第一方面以及第一方面的任意一个可能的实现方式的有益效果是对应的,对此,不再赘述。
第三方面,提供了一种量子密钥协商的方法,包括:第一量子设备根据第二应用设备的信息,确定第二量子设备;该第一量子设备和该第二量子设备协商获得第一量子密钥;该第一量子设备将第一量子密钥信息发送给该第一应用设备,该第一量子密钥信息中包括该第一量子密钥。
结合第三方面,在第三方面的某些实现方式中,该方法还包括:该第一量子设备接收该第一应用设备发送的该第二应用设备的信息。
结合第三方面,在第三方面的某些实现方式中,该方法还包括:该第一量子设备接收该第一应用设备发送的第一量子密钥申请报文,该第一量子密钥申请报文用于向该第一量子设备申请该第一量子密钥。
结合第三方面,在第三方面的某些实现方式中,该第一量子设备包括第一服务端,该第一应用设备包括第一应用和第一客户端,该第一量子设备通过该第一服务端将该第一量子密钥信息发送该第一客户端。
结合第三方面,在第三方面的某些实现方式中,该第一量子设备通过第一加密传输通道将该第一量子密钥信息发送给该第一应用设备。
结合第三方面,在第三方面的某些实现方式中,该第一加密传输通道为该第一应用设备和该第一量子设备基于预共享密钥PSK建立的,或者基于后量子密钥封装机制PQC.KEM建立的。
结合第三方面,在第三方面的某些实现方式中,该第一量子密钥申请报文包括该第一量子密钥的服务参数、该第二量子设备的信息、第一应用的标识、第二应用的标识。
第四方面,提供了一种量子密钥协商的方法,包括:第一应用设备生成第一协商参数;该第一应用设备接收第一量子设备发送的第二协商参数,该第一应用设备用于向该第一量子设备申请第一量子密钥,该第一量子设备用于向该第一应用设备发送该第一量子密钥;该第一应用设备基于密钥导数函数KDF,通过该第一协商参数、该第二协商参数以及消息认证码MAC密钥确定会话密钥,该KDF为该第一应用设备和该第一量子设备共同协商的密钥导数函数,该会话密钥用于对该第一应用设备和该第一量子设备之间发送的报文进行加密或解密。
结合第四方面,在第四方面的某些实现方式中,该方法还包括:该第一应用设备接收该第一量子设备发送的第一身份凭证;该第一应用设备确定第二身份凭证;该第一应用设备根据该第二身份凭证和该第一身份凭证相同,通过对该第一量子设备的身份验证。
结合第四方面,在第四方面的某些实现方式中,该方法还包括:该第一应用设备向该第一量子设备发送该第二身份凭证,以便于该第一量子设备根据该第二身份凭证和该第一身份凭证相同,通过对该第一应用设备的身份验证。
结合第四方面,在第四方面的某些实现方式中,该第一协商参数包括第一随机数和该第一应用设备的标识,该第二协商参数包括第二随机数和迭代次数。
结合第四方面,在第四方面的某些实现方式中,该第一应用设备根据该MAC密钥、该第一随机数、该第二随机数以及该第一应用设备的标识,确定该第二身份凭证。
结合第四方面,在第四方面的某些实现方式中,该方法还包括:该第一应用设备根据该基于口令的密钥派生函数PBKDF2、预共享密钥PSK以及该第一随机数、该第二随机数、该迭代次数,生成该MAC密钥。
结合第四方面,在第四方面的某些实现方式中,该第一应用设备和该第一量子设备之间发送的报文包括第一量子密钥申请报文和/或第一量子密钥信息,该第一量子密钥申请报文用于该第一应用设备向该第一量子设备申请该第一量子密钥,该第一量子密钥信用于该第一量子设备向该第一应用设备发送该第一量子密钥。
第五方面,提供了一种量子密钥协商的方法,包括:第一量子设备接收第一应用设备发送的第一协商参数,该第一量子设备用于向该第一应用设备发送该第一量子密钥;该第一量子设备生成第二协商参数;该第一量子设备根据该基于密钥导数函数KDF,通过该第一协商参数、该第二协商参数以及消息认证码MAC密钥确定会话密钥,该KDF为该第一应用设备和该第一量子设备共同协商的密钥导数函数,该会话密钥用于对该第一应用设备和该第一量子设备之间发送的报文进行加密或解密。
结合第五方面,在第五方面的某些实现方式中,该方法还包括:第一量子设备接收第一应用设备发送的第二身份凭证;该第一量子设备确定第一身份凭证;该第一量子设备根据该第二身份凭证和该第一身份凭证相同,通过对该第一应用设备的身份验证。
结合第五方面,在第五方面的某些实现方式中,该方法还包括:该第一量子设备向该第一应用设备发送该第一身份凭证,以便于该第一应用设备根据该第二身份凭证和该第一身份凭证相同,通过对该第一应用设备的身份验证。
结合第五方面,在第五方面的某些实现方式中,该第一协商参数包括第一随机数和该第一应用设备的标识,该第二协商参数包括第二随机数和迭代次数。
结合第五方面,在第五方面的某些实现方式中,该第一量子设备根据该MAC密钥、该第一随机数、该第二随机数以及该第一应用设备的标识,确定该第一身份凭证。
结合第五方面,在第五方面的某些实现方式中,该方法还包括:该第一量子设备根据该基于口令的密钥派生函数PBKDF2、预共享密钥PSK以及该第一随机数、该第二随机数、该迭代次数,生成该MAC密钥。
结合第五方面,在第五方面的某些实现方式中,该第一应用设备和该第一量子设备之间发送的报文包括第一量子密钥申请报文和/或第一量子密钥信息,该第一量子密钥申请报文用于该第一应用设备向该第一量子设备申请该第一量子密钥,该第一量子密钥信用于该第一量子设备向该第一应用设备发送该第一量子密钥。
第六方面,提供了一种量子密钥协商的***,包括:第一量子设备,用于和第二量子设备协商获得第一量子密钥;所述第一量子设备,还用于将第一量子密钥信息发送给第一应用设备,所述第一量子密钥信息中包括所述第一量子密钥;第二量子设备,还用于将所述第一量子密钥信息发送给第二应用设备。
结合第六方面,在第六方面的某些实现方式中,该第一应用设备,还用于向该第一量子设备发送该第二应用设备的信息。
结合第六方面,在第六方面的某些实现方式中,该第一应用设备,还用于向该第一量子设备发送第一量子密钥申请报文,该第一量子密钥申请报文用于向该第一量子设备申请该第一量子密钥。
结合第六方面,在第六方面的某些实现方式中,该第一应用设备包括第一应用和第一客户端,该第一量子设备包括第一服务端,该第一应用设备,还用于通过该第一客户端接收该第一应用发送的该第一量子密钥申请报文。
结合第六方面,在第六方面的某些实现方式中,该第一应用设备具体用于通过该第一客户端向该第一服务端发送该第一量子密钥申请报文;该第一量子设备具体用于通过该第一服务端将该第一量子密钥信息发送该第一客户端。
结合第六方面,在第六方面的某些实现方式中,该第一量子密钥信息中还包括该第一应用的标识,该第一应用设备,还用于根据该第一应用的标识,通过该第一客户端将该第一量子密钥发送该第一应用。
结合第六方面,在第六方面的某些实现方式中,该第二应用设备包括第二客户端,该第二量子设备包括第二服务端,该第二量子设备,还用于通过该第二服务端将该第一量子密钥信息发送该第二客户端。
结合第六方面,在第六方面的某些实现方式中,该第二应用设备中还包括第二应用,该第一量子密钥信息中还包括该第二应用的标识,该第二应用设备,还用于根据该第二应用的标识,通过该第二客户端将该第一量子密钥发送该第二应用。
结合第六方面,在第六方面的某些实现方式中,该第二应用设备,还用于通过该第二客户端接收该第一客户端发送的消息,并将该消息发送给该第二服务端,该消息包括第一标识,该第一标识用于指示该第一量子密钥;该第二量子设备,还用于通过该第二服务端接收该消息,并根据该第一标识通过该第二服务端从数据库中获取该第一量子密钥信息。
结合第六方面,在第六方面的某些实现方式中,该第一应用设备具体用于通过第一加密传输通道向该第一量子设备发送该第一量子密钥申请报文,该第一加密传输通道为该第一应用设备和该第一量子设备之间的传输通道;该第一量子设备具体用于通过该第一加密传输通道将该第一量子密钥信息发送给该第一应用设备。
结合第六方面,在第六方面的某些实现方式中,该第一加密传输通道为该第一应用设备和该第一量子设备基于预共享密钥PSK建立的,或者基于后量子密钥封装机制PQC.KEM建立的。
结合第六方面,在第六方面的某些实现方式中,该第一应用设备还用于生成第一协商参数;接收第一量子设备发送的第二协商参数;基于密钥导数函数KDF,通过该第一协商参数、该第二协商参数以及消息认证码MAC密钥确定会话密钥,该KDF为该第一应用设备和该第一量子设备共同协商的密钥导数函数,该MAC密钥是根据该PSK确定的,该会话密钥用于对该第一量子密钥申请报文进行加密,或者用于对该第一量子设备向该第一应用设备发送的第一量子密钥信息进行加密。
结合第六方面,在第六方面的某些实现方式中,该第二量子设备具体用于通过第二加密传输通道将该第一量子密钥信息发送给该第二应用设备,该第二加密传输通道为该第二应用设备和该第二量子设备之间的传输通道。
结合第六方面,在第六方面的某些实现方式中,该第二加密传输通道为该第二应用设备和该第二量子设备基于预共享密钥PSK建立的,或者基于后量子密钥封装机制PQC.KEM建立的。
结合第六方面,在第六方面的某些实现方式中,该第二应用设备还用于生成第三协商参数;接收第三量子设备发送的第四协商参数;基于密钥导数函数KDF,通过该第三协商参数、该第四协商参数以及消息认证码MAC密钥确定会话密钥,该KDF为该第二应用设备和该第二量子设备共同协商的密钥导数函数,该MAC密钥是根据该PSK确定的,该会话密钥用于对该第二量子设备向该第二应用设备发送的该第一量子密钥信息进行加密。
结合第六方面,在第六方面的某些实现方式中,该第一量子密钥申请报文包括该第一量子密钥的服务参数、该第二量子设备的信息、第一应用的标识、第二应用的标识。
结合第六方面,在第六方面的某些实现方式中,该第一应用设备还用于和该第二应用设备基于该第一量子密钥信息进行通信。
第七方面,提供了一种第一应用设备,包括:发送模块,接收模块,其中,发送模块用于向第一量子设备发送第二应用设备的信息;接收模块用于接收该第一量子设备发送的第一量子密钥信息,其中,该第二应用设备的信息用于指示第一量子设备确定第二量子设备,该第二量子设备用于和该第一量子设备协商获得第一量子密钥,第一量子密钥信息中包括该第一量子密钥。
结合第七方面,在第七方面的某些实现方式中,该发送模块,还用于向该第一量子设备发送第一量子密钥申请报文,该第一量子密钥申请报文用于向该第一量子设备申请该第一量子密钥。
结合第七方面,在第七方面的某些实现方式中,接收模块还用于通过第一客户端接收第一应用发送的该第一量子密钥申请报文,该第一应用为该第一应用设备上的一个应用。
结合第七方面,在第七方面的某些实现方式中,该发送模块具体用于通过该第一客户端,向该第一量子设备上的第一服务端发送该第一量子密钥申请报文;该接收模块具体用于通过该第一客户端,接收该第一服务端发送的该第一量子密钥信息。
结合第七方面,在第七方面的某些实现方式中,该第一量子密钥信息中还包括该第一应用的标识,该发送模块,还用于根据该第一应用的标识,通过该第一客户端将该第一量子密钥发送该第一应用。
结合第七方面,在第七方面的某些实现方式中,该发送模块具体用于通过第一加密传输通道向该第一量子设备发送该第一量子密钥申请报文,该第一加密传输通道为该第一应用设备和该第一量子设备之间的传输通道;该接收模块具体用于通过该第一加密传输通道接收该第一量子设备发送的第一量子密钥信息。
结合第七方面,在第七方面的某些实现方式中,该第一加密传输通道为该第一应用设备和该第一量子设备基于预共享密钥PSK建立的,或者基于后量子密钥封装机制PQC.KEM建立的。
结合第七方面,在第七方面的某些实现方式中,还包括:生成模块,用于生成第一协商参数;该接收模块,还用于接收该第一量子设备发送的第二协商参数;确定模块,用于基于密钥导数函数KDF,通过该第一协商参数、该第二协商参数以及消息认证码MAC密钥确定会话密钥,该KDF为该第一应用设备和该第一量子设备共同协商的密钥导数函数,该MAC密钥是根据该PSK确定的。
结合第七方面,在第七方面的某些实现方式中,该第一量子密钥申请报文包括该第一量子密钥的服务参数、该第二量子设备的信息、第一应用的标识、第二应用的标识。
第八方面,提供了一种第一应用设备,包括:生成模块,接收模块,确定模块,其中,生成模块用于生成第一协商参数;接收模块用于接收第一量子设备发送的第二协商参数,该第一应用设备用于向该第一量子设备申请第一量子密钥,该第一量子设备用于向该第一应用设备发送该第一量子密钥;确定模块用于基于密钥导数函数KDF,通过该第一协商参数、该第二协商参数以及消息认证码MAC密钥确定会话密钥,该KDF为该第一应用设备和该第一量子设备共同协商的密钥导数函数,该会话密钥用于对该第一应用设备和该第一量子设备之间发送的报文进行加密或解密。
结合第八方面,在第八方面的某些实现方式中,该接收模块,还用于接收该第一量子设备发送的第一身份凭证;确定模块,还用于确定第二身份凭证;该第一应用模块还包括:验证模块,用于根据该第二身份凭证和该第一身份凭证相同,通过对该第一量子设备的身份验证。
结合第八方面,在第八方面的某些实现方式中,该第一应用模块还包括:发送模块,用于向该第一量子设备发送该第二身份凭证,以便于该第一量子设备根据该第二身份凭证和该第一身份凭证相同,通过对该第一应用设备的身份验证。
结合第八方面,在第八方面的某些实现方式中,该第一协商参数包括第一随机数和该第一应用设备的标识,该第二协商参数包括第二随机数和迭代次数。
结合第八方面,在第八方面的某些实现方式中,确定模块,具体用于根据该MAC密钥、该第一随机数、该第二随机数以及该第一应用设备的标识,确定该第二身份凭证。
结合第八方面,在第八方面的某些实现方式中,确定模块,还用于根据该基于口令的密钥派生函数PBKDF2、预共享密钥PSK以及该第一随机数、该第二随机数、该迭代次数,生成该MAC密钥。
结合第八方面,在第八方面的某些实现方式中,该第一应用设备和该第一量子设备之间发送的报文包括第一量子密钥申请报文和/或第一量子密钥信息,该第一量子密钥申请报文用于该第一应用设备向该第一量子设备申请该第一量子密钥,该第一量子密钥信用于该第一量子设备向该第一应用设备发送该第一量子密钥。
第九方面,提供了一种第一量子设备,包括:接收模块,生成模块,确定模块,其中,接收模块用于接收第一应用设备发送的第一协商参数,该第一量子设备用于向该第一应用设备发送该第一量子密钥;生成模块用于生成第二协商参数;确定模块用于根据该基于密钥导数函数KDF,通过该第一协商参数、该第二协商参数以及消息认证码MAC密钥确定会话密钥,该KDF为该第一应用设备和该第一量子设备共同协商的密钥导数函数,该会话密钥用于对该第一应用设备和该第一量子设备之间发送的报文进行加密或解密。
结合第九方面,在第九方面的某些实现方式中,接收模块还用于第一应用设备发送的第二身份凭证;确定模块还用于确定第一身份凭证;验证模块,用于根据该第二身份凭证和该第一身份凭证相同,通过对该第一应用设备的身份验证。
结合第九方面,在第九方面的某些实现方式中,还包括:发送模块,用于向该第一应用设备发送该第一身份凭证,以便于该第一应用设备根据该第二身份凭证和该第一身份凭证相同,通过对该第一应用设备的身份验证。
结合第九方面,在第九方面的某些实现方式中,该第一协商参数包括第一随机数和该第一应用设备的标识,该第二协商参数包括第二随机数和迭代次数。
结合第九方面,在第九方面的某些实现方式中,确定模块具体用于根据该MAC密钥、该第一随机数、该第二随机数以及该第一应用设备的标识,确定该第一身份凭证。
结合第九方面,在第九方面的某些实现方式中,生成模块还用于根据该基于口令的密钥派生函数PBKDF2、预共享密钥PSK以及该第一随机数、该第二随机数、该迭代次数,生成该MAC密钥。
结合第九方面,在第九方面的某些实现方式中,该第一应用设备和该第一量子设备之间发送的报文包括第一量子密钥申请报文和/或第一量子密钥信息,该第一量子密钥申请报文用于该第一应用设备向该第一量子设备申请该第一量子密钥,该第一量子密钥信用于该第一量子设备向该第一应用设备发送该第一量子密钥。
第十方面,提供了一种第一量子设备,包括:确定模块,获得模块,发送模块,其中,确定模块用于根据第二应用设备的信息,确定第二量子设备;获得模块用于和该第二量子设备协商获得第一量子密钥;发送模块用于将第一量子密钥信息发送给该第一应用设备,该第一量子密钥信息中包括该第一量子密钥。
结合第十方面,在第十方面的某些实现方式中,还包括:接收模块,用于接收该第一应用设备发送的该第二应用设备的信息。
结合第十方面,在第十方面的某些实现方式中,接收模块,还用于接收该第一应用设备发送的第一量子密钥申请报文,该第一量子密钥申请报文用于向该第一量子设备申请该第一量子密钥。
结合第十方面,在第十方面的某些实现方式中,该第一量子设备包括第一服务端,该第一应用设备包括第一应用和第一客户端,该发送模块具体用于通过该第一服务端将该第一量子密钥信息发送该第一客户端。
结合第十方面,在第十方面的某些实现方式中,该发送模块具体用于通过第一加密传输通道将该第一量子密钥信息发送给该第一应用设备。
结合第十方面,在第十方面的某些实现方式中,该第一加密传输通道为该第一应用设备和该第一量子设备基于预共享密钥PSK建立的,或者基于后量子密钥封装机制PQC.KEM建立的。
结合第十方面,在第十方面的某些实现方式中,该第一量子密钥申请报文包括该第一量子密钥的服务参数、该第二量子设备的信息、第一应用的标识、第二应用的标识。
第十一方面,提供了一种第一应用设备,包括处理器和存储器,可选地,还包括输入输出接口。其中该处理器用于控制该输入输出接口收发信息,该存储器用于存储计算机程序,该处理器用于从存储器中调用并运行该计算机程序,使得执行第二方面或第二方面任意一种可能的实现方式中的方法。
可选地,该处理器可以是通用处理器,可以通过硬件来实现也可以通过软件来实现。当通过硬件实现时,该处理器可以是逻辑电路、集成电路等;当通过软件来实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现,该存储器可以集成在处理器中,可以位于该处理器之外,独立存在。
第十二方面,提供了一种第一应用设备,包括处理器和存储器,可选地,还包括输入输出接口。其中该处理器用于控制该输入输出接口收发信息,该存储器用于存储计算机程序,该处理器用于从存储器中调用并运行该计算机程序,使得执行第四方面或第四方面任意一种可能的实现方式中的方法。
可选地,该处理器可以是通用处理器,可以通过硬件来实现也可以通过软件来实现。当通过硬件实现时,该处理器可以是逻辑电路、集成电路等;当通过软件来实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现,该存储器可以集成在处理器中,可以位于该处理器之外,独立存在。
第十三方面,提供了一种第一量子设备,包括处理器和存储器,可选地,还包括输入输出接口。其中该处理器用于控制该输入输出接口收发信息,该存储器用于存储计算机程序,该处理器用于从存储器中调用并运行该计算机程序,使得执行第三方面或第三方面任意一种可能的实现方式中的方法。
可选地,该处理器可以是通用处理器,可以通过硬件来实现也可以通过软件来实现。当通过硬件实现时,该处理器可以是逻辑电路、集成电路等;当通过软件来实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现,该存储器可以集成在处理器中,可以位于该处理器之外,独立存在。
第十四方面,提供了一种第一量子设备,包括处理器和存储器,可选地,还包括输入输出接口。其中该处理器用于控制该输入输出接口收发信息,该存储器用于存储计算机程序,该处理器用于从存储器中调用并运行该计算机程序,使得执行第五方面或第五方面任意一种可能的实现方式中的方法。
可选地,该处理器可以是通用处理器,可以通过硬件来实现也可以通过软件来实现。当通过硬件实现时,该处理器可以是逻辑电路、集成电路等;当通过软件来实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现,该存储器可以集成在处理器中,可以位于该处理器之外,独立存在。
第十五方面,提供了一种芯片,该芯片获取指令并执行该指令来实现上述第二方面以及第二方面的任意一种实现方式中的方法。
可选地,作为一种实现方式,该芯片包括处理器与数据接口,该处理器通过该数据接口读取存储器上存储的指令,执行上述第二方面以及第二方面的任意一种实现方式中的方法。
可选地,作为一种实现方式,该芯片还可以包括存储器,该存储器中存储有指令,该处理器用于执行该存储器上存储的指令,当该指令被执行时,该处理器用于执行第二方面以及第二方面中的任意一种实现方式中的方法。
第十六方面,提供了一种芯片,该芯片获取指令并执行该指令来实现上述第三方面以及第三方面的任意一种实现方式中的方法。
可选地,作为一种实现方式,该芯片包括处理器与数据接口,该处理器通过该数据接口读取存储器上存储的指令,执行上述第三方面以及第三方面的任意一种实现方式中的方法。
可选地,作为一种实现方式,该芯片还可以包括存储器,该存储器中存储有指令,该处理器用于执行该存储器上存储的指令,当该指令被执行时,该处理器用于执行第三方面以及第三方面中的任意一种实现方式中的方法,或执行第五方面以及第五方面中的任意一种实现方式中的方法。
第十七方面,提供了一种芯片,该芯片获取指令并执行该指令来实现上述第四方面以及第四方面的任意一种实现方式中的方法。
可选地,作为一种实现方式,该芯片包括处理器与数据接口,该处理器通过该数据接口读取存储器上存储的指令,执行上述第四方面以及第四方面的任意一种实现方式中的方法。
可选地,作为一种实现方式,该芯片还可以包括存储器,该存储器中存储有指令,该处理器用于执行该存储器上存储的指令,当该指令被执行时,该处理器用于执行第四方面以及第四方面中的任意一种实现方式中的方法。
第十八方面,提供了一种芯片,该芯片获取指令并执行该指令来实现上述第五方面以及第五方面的任意一种实现方式中的方法。
可选地,作为一种实现方式,该芯片包括处理器与数据接口,该处理器通过该数据接口读取存储器上存储的指令,执行上述第五方面以及第五方面的任意一种实现方式中的方法。
可选地,作为一种实现方式,该芯片还可以包括存储器,该存储器中存储有指令,该处理器用于执行该存储器上存储的指令,当该指令被执行时,该处理器用于执行第五方面以及第五方面中的任意一种实现方式中的方法。
第十九方面,提供了一种包含指令的计算机程序产品,当该指令被第一应用设备运行时,使得该第一应用设备执行如上述第二方面以及第二方面的任意一种实现方式中的方法,或执行如上述第四方面以及第四方面的任意一种实现方式中的方法。
第二十方面,提供了一种包含指令的计算机程序产品,当该指令被第一量子设备运行时,使得该第一量子设备执行如上述第三方面以及第三方面的任意一种实现方式中的方法,或执行如上述第五方面以及第五方面的任意一种实现方式中的方法。
第二十一方面,提供了一种计算机可读存储介质,其特征在于,包括计算机程序指令,当该计算机程序指令由第一应用设备执行时,该计算设备执行如上述第二方面以及第二方面的任意一种实现方式中的方法,或执行如上述第四方面以及第四方面的任意一种实现方式中的方法。
作为示例,这些计算机可读存储包括但不限于如下的一个或者多个:只读存储器(read-only memory,ROM)、可编程ROM(programmable ROM,PROM)、可擦除的PROM(erasablePROM,EPROM)、Flash存储器、电EPROM(electrically EPROM,EEPROM)以及硬盘驱动器(harddrive)。
可选地,作为一种实现方式,上述存储介质具体可以是非易失性存储介质。
第二十二方面,提供了一种计算机可读存储介质,其特征在于,包括计算机程序指令,当该计算机程序指令由第一量子设备执行时,该计算设备执行如上述第三方面以及第三方面的任意一种实现方式中的方法,或执行如上述第五方面以及第五方面的任意一种实现方式中的方法。
作为示例,这些计算机可读存储包括但不限于如下的一个或者多个:只读存储器(read-only memory,ROM)、可编程ROM(programmable ROM,PROM)、可擦除的PROM(erasablePROM,EPROM)、Flash存储器、电EPROM(electrically EPROM,EEPROM)以及硬盘驱动器(harddrive)。
可选地,作为一种实现方式,上述存储介质具体可以是非易失性存储介质。
附图说明
图1是本申请实施例提供的一种进行量子密钥协商的***架构示意图。
图2是本申请实施例提供的一种量子密钥协商的方法的示意性流程图。
图3是本申请实施例提供的另一种量子密钥协商的***的示意性框图。
图4是本申请实施例提供的另一种基于量子网络进行量子密钥协商的方法的示意性流程图。
图5是本申请实施例提供的一种建立加密通道的方法的示意性流程图。
图6是本申请实施例提供的另一种基于量子网络进行量子密钥协商的方法的示意性流程图。
图7是本申请实施例提供的另一种建立加密通道的方法的示意性流程图。
图8是本申请实施例提供的一种第一应用设备800的示意性框图。
图9是本申请实施例提供的一种第一量子设备900的示意性框图。
图10是本申请实施例提供的一种计算设备1000的架构示意图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
本申请将围绕包括多个设备、组件、模块等的***来呈现各个方面、实施例或特征。应当理解和明白的是,各个***可以包括另外的设备、组件、模块等,并且/或者可以并不包括结合附图讨论的所有设备、组件、模块等。此外,还可以使用这些方案的组合。
另外,在本申请实施例中,“示例的”、“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用示例的一词旨在以具体方式呈现概念。
本申请实施例中,“相应的(corresponding,relevant)”和“对应的(corresponding)”有时可以混用,应当指出的是,在不强调其区别时,其所要表达的含义是一致的。
本申请实施例描述的业务场景是为了更加清楚地说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:包括单独存在A,同时存在A和B,以及单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
为了便于理解,下面先对本申请实施例可能涉及的相关术语和概念进行介绍。
1、经典计算机
指用二进制(0或1)处理和存储数据的物理装置。
2、量子计算机
指遵循量子力学规律,基于量子计算原理进行信息处理的一类物理装置。用量子比特存储和处理数据,相比于二进制有更多状态,能够更高效地求解某些经典计算机难于求解的问题。量子计算机也可以称为量子节点或量子设备。
3、经典网络
由经典计算机构成的通信网络。
4、量子网络
由量子计算机构成的通信网络。
5、量子攻击
运行在量子计算机上的攻击算法,典型的如Shor算法,Grover算法等能够高效地破解某些密码算法。
6、量子密钥分发(quantum key distribution,QKD)
是一种密钥的安全传输方式,可以在两个相距遥远的通信端之间进行密钥的发送。QKD使用专用硬件来生成量子态,安全性基于量子物理原理,使通信双方能够产生并分享一个随机的密钥。与传统方式不同,量子密钥分发理论上是无条件安全的,其安全性由量子力学的基本原理保证,即在量子网络中,量子密钥的传递是安全的。基于量子物理学安全(不可克隆,纠缠),而非数学算法,能够监测到量子专线上的密钥是否被窃听,因此,QKD是一种安全的密钥分发方法。
7、密钥封装机制
一种生成共享密钥的公钥密码体制,由密钥生成算法、封装算法和解封装算法构成。其中,密钥生成算法以安全参数为输入,输出公钥pk和私钥sk。封装算法以公钥pk为输入,输出共享密钥K以及对K的封装C。解封装算法以私钥sk和封装C为输入,输出共享密钥K。
8、后量子密码
是运行在经典计算机上的非对称密码算法,它的抗量子性不依靠量子力学,而是基于一些被公认的无法被量子计算机有效解决的数学难题。后量子密码包括基于格、基于编码、基于同源、基于多变量等细分种类。
9、对称密码
受量子攻击的影响不大,只要通过扩展密钥长度就能够抵抗量子攻击。
10、数字签名
简称签名,是一种用于验证消息来源和完整性的公钥密码体制,由密钥生成算法、签名算法和验签算法构成。其中,密钥生成算法以安全参数为输入,输出签名私钥ssk和验签公钥vk。签名算法以消息m和签名私钥ssk为输入,输出对消息m的签名σ。验签算法以验签公钥vk和(m,σ)为输入,输出一个布尔值,标识验签通过或不通过。
随着量子计算机的发展,当前广泛使用的公钥密码体制受到了巨大的威胁,特别是密钥协商将遭到“囤积攻击”。量子计算机预计在数十年时间内可实现,如果窃听者将当前的通信流量保存下来,等到量子计算机实现后解密当前的信息,这对于需要长期保存的机密信息来说是一种巨大的威胁。设计能够抵抗量子攻击的密钥协商方案成为了业界和学界关注的重点课题。
一种相关的技术方案中,应用设备之间采用量子密钥分发(quantum keydistribution,QKD)进行密钥协商。具体的,在该方案中,分布在不同地方的QKD设备构成量子设备,多个量子设备构成量子网络,量子设备之间的互连使用量子专线。量子密钥在多个量子设备之间协商生成后,将传输到应用设备上。一种传输方式是在线模式,即量子设备和应用设备需要部署在同一安全域,比如量子设备和应用设备之间同机房共机架,或量子设备和应用设备之间通过网线直连,或者将量子设备和应用设备部署成同一设备。另一种传输模式是离线模式,即量子设备和应用设备可以部署在不同的安全域,量子密钥充注机从量子设备获取量子密钥后,需要将量子密钥充注到物理移动介质(例如,量子安全U盾)中,并由人工看护将该物理介质传递至应用设备。
上述采用离线模式传递量子密钥的方案中,需要引入额外的物理移动介质(例如,U盾),并且该物理移动介质需要人工看护运送至应用设备,还会浪费人力资源,管理较为复杂,且运输过程存在一定的风险。
有鉴于此,在量子设备和应用设备之间传递量子密钥的过程中,如何节省人力,且不需要引入额外的移动介质成为亟需要解决的技术问题。
本申请实施例提供了一种基于量子密钥协商的方法,能够在量子密钥传输的过程中节省人力,且不需要引入额外的移动介质,管理较为简单。
为了便于描述,下面先结合图1,对适用于本申请实施例的***架构进行详细描述。
图1是本申请实施例提供的一种进行量子密钥协商的***架构示意图。如图1所示,该***中可以包括:应用设备1、量子设备1、应用设备2、量子设备2。其中,量子设备1和量子设备2之间进行量子密钥协商,量子设备1将协商的量子密钥发送给与其连接的应用设备1,量子设备2将协商的量子密钥发送给与其连接的应用设备2。应用设备1和应用设备2在获得量子密钥后,可以基于该量子密钥进行通信。
作为示例,应用设备1和量子设备1可以位于同一个城市或同一个区域。例如,应用设备1和量子设备1位于上海园区。量子设备1和应用设备1可以位于同一个城市或同一个区域。例如,应用设备2和量子设备2位于杭州园区。量子设备1和量子设备2之间可以通过量子专线进行密钥协商,例如,通过沪杭量子专线进行密钥协商。
下面结合图2,对本申请实施例提供的一种量子密钥协商的方法进行详细描述。如图2所示,该方法可以包括步骤210-230,下面分别对步骤210-230进行详细描述。
步骤210:第一量子设备和第二量子设备协商获得第一量子密钥。
本申请实施例中,第一量子设备可以和第二量子设备协商获得第一量子密钥,该第一量子密钥例如可以用于对第一应用设备和第二应用设备之间的通信进行加密。
作为示例,第一量子设备可以对应于图1中的量子设备1,第二量子设备可以对应于图1中的量子设备2。第一应用设备可以对应于图1中的应用设备1,第二应用设备可以对应于图1中的应用设备2。
可选地,在步骤210之前,第一量子设备还会接收到第一应用设备发送的第一应用设备的信息,该第一量子设备根据该第二应用设备的信息,从而确定与第二应用设备对应的的第二量子设备。
应理解,本申请实施例对第二应用设备的信息不做具体限定。一个示例,该第二应用设备的信息可以是第二应用设备的地址信息。另一个示例,该第二应用设备的信息还可以是第二应用设备的标识信息。
可选地,在步骤210之前,第一应用设备还会向第一量子设备发送第一量子密钥申请报文,该第一量子密钥申请报文用于向第一量子设备申请第一量子密钥。也即本申请实施例对第一量子设备和第二量子设备协商获得第一量子密钥的时机不做具体限定,可以是在第一应用设备向第一量子设备发送第一量子密钥申请报文之前,第一量子设备和第二量子设备协商获得第一量子密钥,或者还可以是在第一量子设备接收到第一应用设备发送的第一量子密钥申请报文之后,再和第二量子设备协商获得第一量子密钥。
步骤220:第一量子设备将第一量子密钥信息发送给第一应用设备。
本申请实施例中,第一量子设备在和第二量子设备协商得到第一量子密钥后,可以向与第一量子设备连接的第一应用设备发送第一量子密钥信息,该第一量子密钥信息中包括该第一量子密钥。第一应用设备获得第一量子密钥,可以基于该第一量子密钥和第二应用设备进行通信。
可选地,在一些实施例中,第一量子设备可以通过第一加密传输通道将所述第一量子密钥信息发送给所述第一应用设备。第一应用设备还会通过第一加密传输通道向第一量子设备发送第一量子密钥申请报文。这样,可以进一步保证密钥传输过程中的安全性。
可选地,在一些实施例中,第一应用设备和第一量子设备之间可以通过局域网(local area network,LAN)进行无线互联或者通过网线直连。
应理解,上述第一加密传输通道可以是第一应用设备和第一量子设备之间基于预共享密码(pre-shared key,PSK)建立的加密通道,或者还可以是第一应用设备和第一量子设备之间基于后量子密钥封装机制(post quantum cryptography key encapsulationmechanism,PQC.KEM)建立的加密通道,本申请实施例对此不做具体限定。下面会结合具体的例子,对如何建立加密通道的具体实现方式进行详细描述,此处暂不详述。
步骤230:第二量子设备将第一量子密钥信息发送给第二应用设备。
本申请实施例中,第二量子设备在和第一量子设备协商得到第一量子密钥后,可以向与第二量子设备连接的第二应用设备发送第一量子密钥信息,该第一量子密钥信息中包括该第一量子密钥。第二应用设备获得第一量子密钥,可以基于该第一量子密钥和第一应用设备进行通信。
可选地,在一些实施例中,第二量子设备可以通过第二加密传输通道将所述第一量子密钥信息发送给所述第二应用设备。可选地,在一些实施例中,第二应用设备和第二量子设备之间可以通过局域网(local area network,LAN)进行无线互联或者通过网线直连。
应理解,上述第二加密传输通道可以是第二应用设备和第二量子设备之间基于PSK建立的加密通道,或者还可以是第二应用设备和第二量子设备之间基于后量子密钥封装机制PQC.KEM建立的加密通道,本申请实施例对此不做具体限定。
上述技术方案中,量子设备之间协商完密钥之后,可以直接将量子密钥发送给对应的应用设备,在这个过程中,不需要引入额外的移动介质,能够节省人力,管理较为简单。
本申请实施例中,还可以在应用设备上集成客户端,在量子设备上集成服务端。其中,应用设备上的客户端主要负责以下工作:代理该应用设备上所有应用的量子密钥协商请求,并解析服务端发送的报文,也负责和对端应用设备上的客户端的同步等。该服务端主要负责以下工作:验证客户端的身份,处理客户端发送的量子密钥请求,确定应用设备想要通信的对端所绑定的量子设备,完成量子节点间的密钥协商,将量子密钥推送到对应的应用设备侧的客户端上。
举例说明,如图3所示,可以在应用设备1上集成客户端1,应用设备2上集成客户端2。在量子设备1上集成服务端1,量子设备2上集成服务端2。其中,客户端1负责代理应用设备1上包括的多个应用的量子密钥协商请求,解析服务端1发送的报文,也负责和对端应用设备2上的客户端2的同步等。服务端1负责验证客户端1的身份,处理客户端1发送的量子密钥请求,确定应用设备1想要通信的对端所绑定的量子设备2,完成量子节点间的密钥协商,将量子密钥推送到应用设备1侧的客户端1上。同样的,客户端2负责代理应用设备2上包括的多个应用的量子密钥协商请求,解析服务端2发送的报文,也负责和对端应用设备1上的客户端1之间的交互等。服务端2负责验证客户端2的身份,处理客户端2发送的量子密钥请求,和量子设备1之间完成量子节点间的密钥协商,将量子密钥推送到应用设备2侧的客户端2上。
应理解,应用设备上可以包括多个应用,不同应用设备之间的两个应用之间可以获得量子密钥,并基于该量子密钥对通信的内容进行加密。作为示例,应用设备1上包括但不限于:路由器应用和光应用。当应用设备1运行路由器应用时,该应用设备1可以被看做一个路由器。当应用设备1运行光应用时,该应用设备1可以被看做一个光网络终端(opticalnetwork terminal,ONT)。同样的,应用设备2上包括但不限于:路由器应用和光应用。当应用设备2运行路由器应用时,该应用设备2可以被看做一个路由器。当应用设备2运行光应用时,该应用设备2可以被看做一个ONT。
下面以图3所示的场景为例,结合图4,对本申请实施例提供的一种基于量子网络进行量子密钥协商的方法的一种具体的实现过程进行详细描述。应理解,图4的例子仅仅是为了帮助本领域技术人员理解本申请实施例,而非要将申请实施例限制于所示例的具体数值或具体场景。本领域技术人员根据下面所给出的图4的例子,显然可以进行各种等价的修改或变化,这样的修改和变化也落入本申请实施例的范围内。
图4是本申请实施例提供的另一种基于量子网络进行量子密钥协商的方法的示意性流程图。如图4所示,该方法包括步骤410-485,下面分别对步骤410-485进行详细描述。
步骤410:应用主动方与应用被动方进行双向身份认证。
应用主动方和应用被动方为分布在两个不同应用设备上,需要通信的两个应用。该两个应用之间需要进行量子密钥协商,获得协商的量子密钥,以便于两个应用在通信过程中根据协商的量子密钥对通信内容进行加密。
应理解,应用主动方为应用设备1上的一个应用,该应用为主动发起量子密钥协商的一方,因此,可以将应用设备1上的该应用称为应用主动方。应用被动方为应用设备2上的一个应用,该应用为被动与应用主动方进行量子密钥协商的一方,因此,可以将应用设备2上的该应用称为应用被动方。其中,应用主动方绑定的量子设备为量子设备1,应用被动方绑定的量子设备为量子设备2。
举例说明,应用主动方可以为应用设备1上的路由器应用,应用被动方可以为应用设备2上的路由器应用。
本申请实施例中,应用主动方与应用被动方之间可以进行双向身份的认证,作为示例,应用主动方与应用被动方之间可以基于证书进行双向身份的认证。例如,应用主动方通知应用被动方后续基于QKD进行密钥协商,应用被动方返回它绑定的量子设备的信息(如量子设备2的地址)和应用参数(如进程ID)。
可选地,在一些实施例中,应用主动方与应用被动方之间发送的上述信息可以用数字签名保护完整性和来源的可靠性。
步骤415:应用主动方登录量子服务客户端1,发起量子密钥申请。
应理解,客户端1也可以称为主动方的客户端,也即应用主动方所在的应用设备上集成的客户端。
应用主动方可以登录该应用所在的应用设备1上集成的客户端1,并向客户端1发起量子密钥申请。具体的,作为示例,应用主动方可以调用客户端1中的QstRequestKey模块,向客户端1发起量子密钥申请。该量子密钥申请中可以包括但不限于以下信息:主动方传递的量子密钥服务参数、本端的应用参数(如进程ID)、对端的应用参数(如进程ID)、对端绑定的量子设备的地址(如量子设备2的地址)以及主动方标志。
上述主动方传递的本端应用参数例如可以是应用主动方的进程ID,对端的应用参数例如可以是应用被动方的进程ID。上述主动方标志用于标识向客户端1发起量子密钥申请的应用为主动方应用。上述量子密钥服务参数例如可以包括但不限于:所需的量子密钥的字节数,量子密钥的生存期等信息。
步骤420:应用被动方登录量子服务客户端2,发起量子密钥申请。
应用被动方可以登录该应用所在的应用设备2上集成的客户端2,并向客户端2发起量子密钥申请。具体的,作为示例,应用被动方可以调用客户端2中的QstRequestKey模块,并向客户端2发起量子密钥申请。该量子密钥申请中可以包括但不限于以下信息:被动方传递的本端应用参数以及被动方标志。
上述应用被动方传递的本端应用参数例如可以是应用被动方的进程ID。被动方标志用于标识向客户端2发起量子密钥申请的应用为应用被动方。
步骤425:客户端1通过和服务端1之间的加密信道,将应用主动方发送的量子密钥申请传递给服务端1。
应理解,服务端1也可以称为主动方的服务端,也即应用主动方绑定的量子设备上集成的服务端。
本申请实施例中,客户端1在步骤415中接收到应用主动方发起的量子密钥申请后,可以通过其与服务端1之间的加密信道,将该量子密钥申请传递给服务端1。具体的,客户端1可以通过报文生成与解析模块,基于会话密钥k1对量子密钥申请进行加密,并将加密后的量子密钥申请通过加密信道传递给服务端1。具体的有关会话密钥k1的描述请参见图5中的说明,此处暂不详述。
应理解,如果客户端1和服务端1之间不是首次连接,即客户端1和服务端1之间已经完成了认证和加密信道的建立,客户端1可以直接通过建立的加密信道向服务端1传递量子密钥申请。
可选地,如果客户端1和服务端1之间为首次连接,在步骤325之前,客户端1和服务端1之间还需要进行双方认证,并建立客户端1和服务端1之间的加密信道。具体的,作为示例,客户端1的报文生成与解析模块读取应用设备的预共享密码(pre-shared key,PSK),客户端1和服务端1基于PSK进行双向认证,认证通过后用PSK以及交互中生成的临时随机数派生出会话密钥k1,建立起客户端1和服务端1之间的加密信道。下面会结合图5,对客户端1和服务端1之间基于PSK进行认证,并建立加密信道的具体实现过程进行详细描述,此处暂不详述。
步骤430:服务端1根据量子密钥申请触发量子密钥协商。
作为示例,服务端1的报文生成与解析模块接收到客户端1发送的加密的量子密钥申请后,可以根据计算得到的会话密钥k1解密出量子密钥申请。服务端1从量子密钥申请中获知量子密钥数量、生命周期、应用设备对端所属的量子设备信息(如量子设备2的地址)等数据后,调用量子设备1中的量子密钥协商模块1,触发量子密钥协商。
步骤435:量子设备1中的量子密钥协商模块1和量子设备2中的量子密钥协商模块2之间进行量子密钥协商,获得满足要求的量子密钥(quantum key)。
上述量子密钥协商是在应用主动方所属的量子设备1和应用被动方所属的量子设备2之间进行。具体的,作为示例,量子设备1的量子密钥协商模块1根据量子密钥申请中包括的应用设备对端所属的量子设备2的地址信息找到目标通信设备为量子设备2,量子密钥协商模块1和量子设备2的量子密钥协商模块2之间基于量子密钥申请中包括的数据(例如,需要的量子密钥数量、生命周期)进行量子密钥协商,获得满足要求的量子密钥信息。
作为示例,上述量子密钥信息可以包括但不限于:(key ID、quantum key、应用参数)。其中,quantum key表示协商的量子密钥,key ID为密钥的标识,该密钥的标识用于唯一确定一个量子密钥,应用参数指示请求获得量子密钥的应用主动方的标识,例如,应用主动方的进程ID。
应理解,量子密钥协商模块1也可以称为主动方的量子密钥协商模块。量子密钥协商模块2也可以称为被动方的量子密钥协商模块。
步骤440:量子设备1中的量子密钥协商模块1将量子密钥信息录入量子服务数据库。
量子设备1中的量子密钥协商模块1可以在获得量子密钥信息(key ID、quantumkey、应用参数)后,将该量子密钥信息录入量子服务数据库。
步骤443:量子设备1中的量子密钥协商模块1将量子密钥信息并返回给服务端1。
量子设备1中的量子密钥协商模块1将量子密钥信息录入量子服务数据库后,并即时将该量子密钥信息返回给量子设备1中的服务端1。
步骤445:量子设备2中的量子密钥协商模块2将量子密钥信息录入量子服务数据库。
量子设备2中的量子密钥协商模块2可以在获得量子密钥信息(key ID、quantumkey、应用参数)后,将该量子密钥信息录入量子服务数据库。
步骤450:服务端1将量子密钥信息封装成报文,通过加密信道将报文传递到客户端1。
服务端1在获得量子密钥信息(key ID、quantum key、应用参数)后,可以将该量子密钥信息封装成报文。作为示例,服务端1调用报文生成与解析模块,将量子密钥信息(keyID、quantum key、应用参数)封装成报文,通过会话密钥k1对该报文进行加密,并通过加密信道将报文传递到主动方的客户端1。
步骤455:客户端1根据应用参数将(key ID、quantum key)返回给申请量子密钥的应用。
作为示例,客户端1的报文生成与解析模块接收到服务端1发送的包含(key ID、quantum key、应用参数)的加密报文,可以基于和服务端1之间协商的会话密钥k1对该报文进行解封装,得到keyID、量子密钥(quantum key)以及应用参数等信息。
客户端1在获得keyID、量子密钥(quantum key)以及应用参数等信息后,可以根据应用参数将(key ID、quantum key)返回给申请量子密钥的应用(应用主动方)。作为示例,客户端1可以通过回调函数QstGetKeyCallback,将(key ID、quantum key)返回给申请量子密钥的应用。
步骤460:客户端1向客户端2发送包含(key ID、应用参数)的报文。
客户端1在得到量子密钥信息(key ID、quantum key、应用参数)后,还可以调用报文生成与解析模块,将(key ID、被动方的应用参数)封装成报文,并发送给客户端2。其中,被动方的应用参数指示请求获得量子密钥的应用被动方的标识,例如,应用被动方的进程ID。
应理解,客户端1向客户端2发送的包含(key ID、被动方的应用参数)的报文中,还包含对(key ID、被动方的应用参数)的签名。
步骤465:客户端2通过和服务端2之间的加密信道,向服务端2发送申请key ID对应的量子密钥(quantum key)的报文。
客户端2接收到客户端1发送的包含(key ID、被动方的应用参数)的报文后,通过调用客户端2中的报文生成与解析模块获得key ID以及被动方的应用参数。
客户端2还可以通过其与服务端2之间的加密信道,向服务端2发送申请key ID对应的量子密钥(quantum key)的报文。该报文可以使用客户端2和服务端2之间协商的会话密钥进行加密。
应理解,如果客户端2和服务端2之间不是首次连接,即客户端2和服务端2之间已经完成了认证和加密信道的建立,客户端2可以直接通过建立的加密信道向服务器2申请key ID对应的量子密钥(quantum key)。
可选地,如果客户端2和服务端2之间为首次连接,在步骤360之前,客户端2和服务端2之间还需要读取设备的PSK,基于PSK进行双向认证,认证通过后建立起客户端2和服务端2之间的加密信道。具体的过程与图4中建立客户端1和服务端1之间的加密信道相同,详情请参见图4中的描述,此处暂不详述。
步骤370:服务端2根据申请报文在数据库中查找keyID对应的量子密钥以及相关的应用参数。
作为示例,服务端2的报文生成与解析模块接收到客户端2发送的申请key ID对应的量子密钥(quantum key)的报文后,可以基于和客户端2之间协商的会话密钥对该报文进行解封装,得到keyID。
服务端2还可以在解析得到keyID后,在量子服务数据库中查找keyID对应的量子密钥以及相关的应用参数。
步骤475:服务端2向客户端2发送包含(key ID、quantum key、应用参数)的报文。
服务端2在从量子服务数据库中获得keyID对应的量子密钥(quantumKey)以及相关的应用参数后,可以将(key ID、quantum key、应用参数)封装成报文,通过加密信道将报文传递到客户端2。作为示例,服务端2调用报文生成与解析模块,将(key ID、quantum key、应用参数)封装成报文,并基于和客户端2之间协商的会话密钥对该报文进行加密后,通过服务端2和客户端2之间建立的加密通道传递给客户端2。
步骤480:客户端2向客户端1发送keyID对应的量子密钥成功获取的确认信息。
作为示例,客户端2的报文生成与解析模块接收到服务端2发送的包含(key ID、quantum key、应用参数)的报文,可以基于和服务端2之间协商的会话密钥对该报文进行解封装,得到keyID、量子密钥(quantum key)以及应用参数。
客户端2在获得keyID对应的量子密钥(quantum key)后,还可以向客户端1发送keyID对应的量子密钥成功获取的确认信息。
步骤485:客户端2根据应用参数将(key ID、quantum key)返回给申请量子密钥的应用。
客户端2在获得keyID、量子密钥(quantum key)以及应用参数等信息后,可以根据应用参数将(key ID、quantum key)返回给申请量子密钥的应用。作为示例,客户端2可以通过回调函数QstGetKeyCallback,将(key ID、quantum key)返回给申请量子密钥的应用。
本申请实施例中,通过上述步骤310-385,需要通信的两个应用,应用主动方和应用被动方获得了同一个量子密钥(quantum key),完成了一次量子密钥协商。
上述技术方案中,应用在客户端注册量子服务后,即可使能QKD设备以及量子专线的量子密钥分发能力。通过客户端统一代理应用设备上不同应用的量子密钥请求,客户端获取到量子密钥后根据应用参数将量子密钥返回给对应的应用,应用可以根据自身服务类型决定量子密钥的用途。
下面结合图5,对上述客户端1和服务端1之间基于PSK进行认证,并建立加密信道的具体实现过程进行详细描述。应理解,图5的例子仅仅是为了帮助本领域技术人员理解本申请实施例,而非要将申请实施例限制于所示例的具体数值或具体场景。本领域技术人员根据下面所给出的图5的例子,显然可以进行各种等价的修改或变化,这样的修改和变化也落入本申请实施例的范围内。
图5是本申请实施例提供的一种客户端1和服务端1之间基于PSK进行认证,并建立加密信道的方法的示意性流程图。如图5所示,该方法可以包括步骤510-580,下面分别对步骤510-580进行详细描述。
步骤510:客户端1向服务端1发送客户端的协商参数。
作为示例,应用设备1上的客户端1可以向量子设备1上的服务端1发送客户端的协商参数,该客户端的协商参数可以包括但不限于:客户端1生成的随机数rand_C、应用设备标识id_C以及客户端1所支持的算法套。
步骤520:服务端1向客户端1发送服务端的协商参数。
服务端1接收到客户端1发送的上述协商参数后,可以根据协商参数中的应用设备标识id_C,从数据库中id_C查找获得应用设备标识id_C对应的预置共享密钥PSK,并生成随机数rand_S。
服务端1还可以将向客户端1发送服务端的协商参数,该服务端的协商参数可以包括但不限于:服务端1生成的随机数rand_S,服务端1选取的迭代次数j,量子设备标识符id_S以及选定的算法。
步骤530:服务端1向客户端1发送服务端的身份凭证token_S。
服务端1可以根据上述选取的迭代次数j,随机数rand_S、随机数rand_C以及派生函数PBKDF2计算出消息验证码(message authentication code,MAC)密钥。作为示例,服务端1计算得到的MAC密钥为MK=PBKDF2(PSK,rand_C||rand_S,j)。
服务端1还可根据MAC密钥、随机数rand_S、随机数rand_C以及应用设备标识id_C计算服务端自身的身份凭证token_S,并向客户端1发送身份凭证token_S。作为示例,服务端1计算得到的身份凭证token_S为token_S=MAC(MK,rand_S||rand_C||id_C)。
步骤540:客户端1根据服务端的身份凭证token_S验证服务端1的身份。
客户端1收到服务端1发送的服务端的协商参数以及身份凭证token_S后,可以根据服务端的协商参数计算MAC密钥以及token_S。作为示例,客户端1计算的MAC密钥为MK=基于口令的密钥派生函数(password-based key derivation,PBKDF2)(PSK,rand_C||rand_S,j),计算的token_S为token_S=MAC(MK,rand_S||rand_C||id_C)。
客户端1还可以将计算得到的token_S和接收到服务端1发送的身份凭证token_S值进行比较,如果相同,则说明对比成功,客户端1通过对服务端1的身份验证。
步骤550:客户端1向服务端1发送客户端的身份凭证token_C。
客户端1还可以根据MAC密钥、随机数rand_S、随机数rand_C以及量子设备标识符id_S计算自身的身份凭证token_C,并将自身的身份凭证token_C发送给服务端1。作为示例,客户端1计算得到的自身的身份凭证token_C为token_C=MAC(MK,rand_C||rand_S||id_S)。
步骤560:服务端1根据客户端1的身份凭证token_C验证客户端1的身份。
服务端1收到客户端1发送的身份凭证token_C后,可以根据MAC密钥、随机数rand_S、随机数rand_C以及量子设备标识符id_S计算token_C。作为示例,服务端1计算的token_C为token_C=MAC(MK,rand_C||rand_S||id_S)。并将计算出的token_C值和收到的token_C值进行比对,如果相同,则说明对比成功,客户端1的身份验证通过。
步骤570:客户端1计算会话密钥k1。
客户端1根据密钥导出函数(key derivation function,KDF)、MAC密钥、随机数rand_S以及随机数rand_C计算会话密钥k1。作为示例,客户端1计算的会话密钥k1为k1=KDF(MK,rand_C||rand_S)。
上述会话密钥k1用于保护后续客户端1和服务端1之间的量子服务的业务内容。例如,客户端1向服务端1发送量子密钥申请时,可以通过会话密钥k1对量子密钥申请进行加密。
步骤580:服务端1计算会话密钥k1。
服务端1还可以根据KDF、MAC密钥、随机数rand_S以及随机数rand_C计算会话密钥k1。作为示例,服务端1计算的会话密钥k1为k1=KDF(MK,rand_C||rand_S)。
上述会话密钥k1用于服务端1解密客户端1发送的量子密钥申请的报文,还用于对向客户端1发送的量子密钥进行加密。
上述技术方案中,通过在应用设备和量子设备之间基于预共享密钥PSK引入认证机制,使得应用设备能够对接合法的量子设备。量子设备能够甄别合法的注册应用设备,便于量子设备对应用设备进行账户管理。由长期预共享密钥PSK和临时随机数派生出保护量子密钥的会话密钥,利用此密钥,量子密钥可以安全地从量子设备传输到应用设备上。认证和加密过程中仅依赖对称密码原语,对称密码原语不受量子攻击的影响,从而量子密钥的传输过程是抗量子攻击的。
下面以图3所示的场景为例,结合图6,对本申请实施例提供的一种基于量子网络进行量子密钥协商的方法的另一种具体的实现过程进行详细描述。
应理解,图6的例子仅仅是为了帮助本领域技术人员理解本申请实施例,而非要将申请实施例限制于所示例的具体数值或具体场景。本领域技术人员根据下面所给出的图6的例子,显然可以进行各种等价的修改或变化,这样的修改和变化也落入本申请实施例的范围内。
图6是本申请实施例提供的另一种基于量子网络进行量子密钥协商的方法的示意性流程图。如图6所示,该方法包括步骤610-670,下面分别对步骤610-670进行详细描述。
步骤610:应用主动方与应用被动方进行双向身份认证。
与图4中的步骤410相同,具体的请参见步骤410中的描述,此处不再赘述。
步骤615:应用主动方登录量子服务客户端1,发起量子密钥申请。
与图4中的步骤415相同,具体的请参见步骤415中的描述,此处不再赘述。
步骤620:应用被动方登录量子服务客户端2,发起量子密钥申请。
与图4中的步骤420相同,具体的请参见步骤420中的描述,此处不再赘述。
步骤625:客户端1通过和服务端1之间的加密信道,将应用主动方发送的量子密钥申请传递给服务端1。
可选地,如果客户端1和服务端1之间为首次连接,在步骤625之前,客户端1和服务端1之间还需要进行双方认证,并建立客户端1和服务端1之间的加密信道。具体的,作为示例,本实施例中,客户端1的报文生成与解析模块读取应用设备的证书,客户端1和服务端1基于证书进行双向认证,认证通过后客户端1和服务端1基于后量子密钥封装机制(postquantum cryptography key encapsulation mechanism,PQC.KEM)建立共享密钥k。下面会结合图7,对客户端1和服务端1之间基于证书进行认证,并基于PQC.KEM建立共享密钥K的具体实现过程进行详细描述,此处暂不详述。
步骤630:服务端1根据量子密钥申请触发量子密钥协商。
与图4中的步骤430相同,具体的请参见步骤430中的描述,此处不再赘述。
步骤635:量子设备1中的量子密钥协商模块1和量子设备2中的量子密钥协商模块2之间进行量子密钥协商,获得满足要求的量子密钥(quantum key)。
与图4中的步骤435相同,具体的请参见步骤435中的描述,此处不再赘述。
步骤640:量子设备1中的量子密钥协商模块1将量子密钥信息(key ID、quantumkey、应用参数)录入量子服务数据库,并透传给服务端1。
与图4中的步骤440相同,具体的请参见步骤440中的描述,此处不再赘述。
步骤643:量子设备1中的量子密钥协商模块1将量子密钥信息(key ID、quantumkey、应用参数)透传给服务端1。
与图4中的步骤443相同,具体的请参见步骤443中的描述,此处不再赘述。
步骤645:服务端1将量子密钥信息(key ID、quantum key、应用参数)封装成报文,通过加密信道将报文传递到客户端1。
与图4中的步骤450相同,具体的请参见步骤450中的描述,此处不再赘述。
步骤650:客户端1根据应用参数将(key ID、quantum key)返回给申请量子密钥的应用。
与图4中的步骤455相同,具体的请参见步骤455中的描述,此处不再赘述。
步骤655:量子设备2中的量子密钥协商模块2将量子密钥信息(key ID、quantumkey、应用参数)录入量子服务数据库。
步骤657:量子设备2中的量子密钥协商模块2将量子密钥信息(key ID、quantumkey、应用参数)透传给服务端2。
步骤660:服务端2将量子密钥信息(key ID、quantum key、应用参数)封装成报文,通过加密信道将报文传递到客户端2。
步骤670:客户端2根据应用参数将(key ID、quantum key)返回给申请量子密钥的应用。
上述技术方案中,相比较于图4所示的方法,图6所示的方法简化了密钥ID同步的过程,设备之间的交互轮数更少,实现较为简单。其中应用设备主动方向所属的量子节点请求一定数量的量子密钥后,主动方和被动方同时等待所属量子节点服务端的推送,被动方客户端不再需要携带密钥ID申请量子密钥。
下面结合图7,对上述客户端1和服务端1之间基于证书进行认证,并基于PQC.KEM建立共享密钥K的具体实现过程进行详细描述。应理解,图7的例子仅仅是为了帮助本领域技术人员理解本申请实施例,而非要将申请实施例限制于所示例的具体数值或具体场景。本领域技术人员根据下面所给出的图7的例子,显然可以进行各种等价的修改或变化,这样的修改和变化也落入本申请实施例的范围内。
图7是本申请实施例提供的一种客户端1和服务端1之间基于证书进行认证,并基于PQC.KEM建立加密通道的方法的示意性流程图。如图7所示,该方法可以包括步骤710-740,下面分别对步骤710-740进行详细描述。
步骤710:服务端1向客户端1发送随机数rand_S。
服务端1生成随机数rand_S,并将该随机数rand_S发送给客户端1。
步骤720:客户端1向服务端1发送随机数rand_C,临时公钥pk和签名t1。
客户端1在收到服务端1发来的随机数rand_S后,生成随机数rand_C。客户端1还可以运行后量子密钥生成算法PQC.KEM.KGen计算临时公私钥对(pk,sk),运行签名算法Sign用本端的签名私钥ssk_C对rand_S||rand_C||pk进行签名,生成签名t1。
客户端1将上述随机数rand_C,临时公钥pk和签名t1发送给服务端1。
步骤730:服务端1向客户端1发送封装密文C和签名t2。
服务端1在收到客户端1发送的随机数rand_C,临时公钥pk和签名t1后,以(rand_S||rand_C||pk)和预置的客户端验签公钥vk_C为输入,运行验签Verify算法,如果验签结果为1,表明报文数据合法,否则中止交互。
服务端1还以发来的临时公钥pk为输入,运行后量子密钥封装算法PQC.KEM.Encaps得到共享密钥K和K的封装密文C;运行签名算法Sign用本端的签名私钥ssk_S对rand_C||rand_S||c进行签名,生成签名t2。
服务端1将上述封装密文C和签名t2发送给客户端1。
步骤740:客户端1建立共享密钥K。
客户端1以(rand_C||rand_S||C)和预置的服务端验签公钥vk_S为输入,运行验签Verify算法,如果验签结果为1,表明报文数据合法,否则中止交互。
客户端1还以临时私钥sk为输入,运行后量子密钥解封装算法PQC.KEM.Decaps得到共享密钥k。至此客户端1和服务端1建立起了共享密钥k,后续二者交互的量子业务数据用共享密钥k进行保护。例如,客户端1向服务端1发送量子密钥申请时,可以通过共享密钥k对量子密钥申请进行加密。又如,服务端1向客户端1发送量子密钥时,可以通过共享密钥k对量子密钥进行加密。又如,客户端1还可以通过共享密钥k对服务端1发送的量子密钥进行解密。又如,服务端1还可以通过共享密钥k对客户端1发送的量子密钥申请进行解密。
上述技术方案中,可以基于证书完成设备间的身份认证,保护量子密钥传递的密钥通过后量子密钥封装机制建立的。基于后量子密钥封装机制可以实现应用设备和量子设备间的无线对接,保证交互过程中能够抵抗量子攻击。
上文结合图1至图7,详细描述了本申请实施例提供的基于量子网络进行量子密钥协商的方法,下面将结合图8-图10,详细描述本申请装置的实施例。应理解,方法实施例的描述与装置实施例的描述相互对应,因此,未详细描述的部分可以参见前面方法实施例。
图8是本申请实施例提供的一种第一应用设备800的示意性框图。该第一应用设备800可以通过软件、硬件或者两者的结合实现。本申请实施例提供的第一应用设备800可以实现本申请实施例所示的方法流程,该第一应用设备800包括:发送模块810,接收模块820,其中,发送模块810用于向第一量子设备发送第二应用设备的信息;接收模块820用于接收该第一量子设备发送的第一量子密钥信息,其中,该第二应用设备的信息用于指示第一量子设备确定第二量子设备,该第二量子设备用于和该第一量子设备协商获得第一量子密钥,第一量子密钥信息中包括该第一量子密钥。
可选地,该发送模块810,还用于向该第一量子设备发送第一量子密钥申请报文,该第一量子密钥申请报文用于向该第一量子设备申请该第一量子密钥。
可选地,该收模块820,还用于通过第一客户端接收第一应用发送的该第一量子密钥申请报文,该第一应用为该第一应用设备上的一个应用。
可选地,所述接收模块820,还用于通过第一客户端接收第一应用发送的所述第一量子密钥申请报文,所述第一应用为所述第一应用设备上的一个应用;所述发送模块810,具体用于通过所述第一客户端向所述第一量子设备上的第一服务端发送所述第一量子密钥申请报文;所述接收模块820,具体用于通过所述第一客户端接收所述第一服务端发送的所述第一量子密钥信息。
可选地,所述第一量子密钥信息中还包括所述第一应用的标识,所述发送模块810,还用于根据所述第一应用的标识,通过所述第一客户端将所述第一量子密钥发送所述第一应用。
可选地,该发送模块810具体用于通过第一加密传输通道向该第一量子设备发送该第一量子密钥申请报文,该第一加密传输通道为该第一应用设备和该第一量子设备之间的传输通道;该接收模块820具体用于通过该第一加密传输通道接收该第一量子设备发送的第一量子密钥信息。
可选地,所述第一加密传输通道为所述第一应用设备和所述第一量子设备基于预共享密钥PSK建立的,或者基于后量子密钥封装机制PQC.KEM建立的。
可选地,第一应用设备800还包括:生成模块,用于生成第一协商参数;所述接收模块820,还用于接收所述第一量子设备发送的第二协商参数;确定模块,用于基于密钥导数函数KDF,通过所述第一协商参数、所述第二协商参数以及消息认证码MAC密钥确定会话密钥,所述KDF为所述第一应用设备和所述第一量子设备共同协商的密钥导数函数,所述MAC密钥是根据所述PSK确定的。
可选地,所述第一量子密钥申请报文包括所述第一量子密钥的服务参数、所述第二量子设备的信息、第一应用的标识、第二应用的标识。
需要说明的是:上述实施例提供的第一应用设备800在执行方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。例如,接收模块可以用于执行方法中的任意步骤,发送模块可以用于执行方法中的任意步骤。接收模块和发送模块负责实现的步骤可根据需要指定,通过接收模块,发送模块分别实现方法中不同的步骤来实现第一应用设备800的全部功能。
图9是本申请实施例提供的一种第一量子设备900的示意性框图。该第一量子设备900可以通过软件、硬件或者两者的结合实现。本申请实施例提供的第一量子设备900可以实现本申请实施例所示的方法流程,该第一量子设备900包括:确定模块910,获得模块920,发送模块930,其中,确定模块910用于根据第二应用设备的信息,确定第二量子设备;获得模块920用于和该第二量子设备协商获得第一量子密钥;发送模块930用于将第一量子密钥信息发送给该第一应用设备,该第一量子密钥信息中包括该第一量子密钥。
可选地,第一量子设备900还包括:接收模块,用于接收该第一应用设备发送的该第二应用设备的信息。
可选地,接收模块还用于接收该第一应用设备发送的第一量子密钥申请报文,该第一量子密钥申请报文用于向该第一量子设备申请该第一量子密钥。
可选地,该第一量子设备900包括第一服务端,该第一应用设备包括第一应用和第一客户端,该发送模块930具体用于通过该第一服务端将该第一量子密钥信息发送该第一客户端。
可选地,该发送模块930具体用于通过第一加密传输通道将该第一量子密钥信息发送给该第一应用设备。
可选地,该第一加密传输通道为该第一应用设备和该第一量子设备基于预共享密钥PSK建立的,或者基于后量子密钥封装机制PQC.KEM建立的。
可选地,该第一量子密钥申请报文包括该第一量子密钥的服务参数、该第二量子设备的信息、第一应用的标识、第二应用的标识。
需要说明的是:上述实施例提供的第一量子设备900在执行方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。例如,确定模块可以用于执行方法中的任意步骤,获得模块可以用于执行方法中的任意步骤,发送模块可以用于执行方法中的任意步骤。确定模块,获得模块和发送模块负责实现的步骤可根据需要指定,通过确定模块,获得模块和发送模块分别实现方法中不同的步骤来实现第一量子设备900的全部功能。
在本申请的实施例中描述的各示例的模块,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见上文中的方法实施例,这里不再赘述。
下面结合图10,对本申请实施例提供的一种计算设备进行详细描述。该计算设备可以是上文中的第一应用设备,或者还可以是上文中的第一量子设备,本申请实施例对此不做具体限定。
图10是本申请实施例提供的一种计算设备1000的架构示意图。图10所示的计算设备1000包括:至少一个处理器1010和存储器1020。
应理解,本申请不限定计算设备1000中的处理器、存储器的个数。
处理器1010执行存储器1020中的指令,使得计算设备1000实现本申请提供的方法。或者,处理器1010执行存储器1020中的指令,使得计算设备1000实现本申请提供的各功能模块,从而实现本申请提供的方法。
可选地,计算设备1000还包括通信接口1030。通信接口1030使用例如但不限于网络接口卡、收发器一类的收发模块,来实现计算设备1000与其他设备或通信网络之间的通信。
可选地,计算设备1000还包括***总线1040,其中,处理器1010、存储器1020和通信接口1030分别与***总线1040连接。处理器1010能够通过***总线1040访问存储器820,例如,处理器1010能够通过***总线1040在存储器1020中进行数据读写或代码执行。该***总线1040是快捷外设部件互连标准(peripheral component interconnect express,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。所述***总线1040分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
一种可能的实现方式,处理器1010的功能主要是解释计算机程序的指令(或者说,代码)以及处理计算机软件中的数据。其中,该计算机程序的指令以及计算机软件中的数据能够保存在存储器1020或者缓存1016中。
可选地,处理器1010可能是集成电路芯片,具有信号的处理能力。作为示例而非限定,处理器1010是通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(fieldprogrammable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。其中,通用处理器是微处理器等。例如,该处理器1010是中央处理单元(central processing unit,CPU)。
可选地,每个处理器1010包括至少一个处理单元1012和内存控制单元1014。
可选地,处理单元1012也称为核心(core)或内核,是处理器最重要的组成部分。处理单元1012是由单晶硅以一定的生产工艺制造出来的,处理器所有的计算、接受命令、存储命令、处理数据都由核心执行。处理单元分别独立地运行程序指令,利用并行计算的能力加快程序的运行速度。各种处理单元都具有固定的逻辑结构,例如,处理单元包括例如,一级缓存、二级缓存、执行单元、指令级单元和总线接口等逻辑单元。
一种实现举例,内存控制单元1014用于控制存储器1020与处理单元1012之间的数据交互。具体地说,内存控制单元1014从处理单元1012接收内存访问请求,并基于该内存访问请求控制针对内存的访问。作为示例而非限定,内存控制单元是内存管理单元(memorymanagement unit,MMU)等器件。
一种实现举例,各内存控制单元1014通过***总线进行针对存储器1020的寻址。并且在***总线中配置仲裁器(图10中未示出),该仲裁器负责处理和协调多个处理单元1012的竞争访问。
一种实现举例,处理单元1012和内存控制单元1014通过芯片内部的连接线,例如地址线,通信连接,从而实现处理单元1012和内存控制单元1014之间的通信。
可选地,每个处理器1010还包括缓存1016,其中,缓存是数据交换的缓冲区(称作cache)。当处理单元1012要读取数据时,会首先从缓存中查找需要的数据,如果找到了则直接执行,找不到的话则从存储器中找。由于缓存的运行速度比存储器快得多,故缓存的作用就是帮助处理单元1012更快地运行。
存储器1020能够为计算设备1000中的进程提供运行空间,例如,存储器1020中保存用于生成进程的计算机程序(具体地说,是程序的代码)。计算机程序被处理器运行而生成进程后,处理器在存储器1020中为该进程分配对应的存储空间。进一步的,上述存储空间进一步包括文本段、初始化数据段、位初始化数据段、栈段、堆段等等。存储器1020在上述进程对应的存储空间中保存进程运行期间产生的数据,例如,中间数据,或过程数据等等。
可选地,存储器也称为内存,其作用是用于暂时存放处理器1010中的运算数据,以及与硬盘等外部存储器交换的数据。只要计算机在运行中,处理器1010就会把需要运算的数据调到内存中进行运算,当运算完成后处理单元1012再将结果传送出来。
作为示例而非限定,存储器1020是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasablePROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DRRAM)。应注意,本文描述的***和方法的存储器1020旨在包括但不限于这些和任意其它适合类型的存储器。
以上列举的计算设备1000的结构仅为示例性说明,本申请并未限定于此,本申请实施例的计算设备1000包括现有技术中计算机***中的各种硬件,例如,计算设备1000还包括除存储器1020以外的其他存储器,例如,磁盘存储器等。本领域的技术人员应当理解,计算设备1000还可以包括实现正常运行所必须的其他器件。同时,根据具体需要,本领域的技术人员应当理解,上述计算设备1000还可包括实现其他附加功能的硬件器件。此外,本领域的技术人员应当理解,上述计算设备1000也可仅仅包括实现本申请实施例所必须的器件,而不必包括图10中所示的全部器件。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (37)
1.一种量子密钥协商的方法,其特征在于,包括:
第一量子设备和第二量子设备协商获得第一量子密钥;
所述第一量子设备将第一量子密钥信息发送给第一应用设备,所述第一量子密钥信息中包括所述第一量子密钥;
所述第二量子设备将所述第一量子密钥信息发送给第二应用设备。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述第一应用设备向所述第一量子设备发送所述第二应用设备的信息;
所述第一量子设备根据所述第二应用设备的信息,确定所述第二量子设备。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
所述第一应用设备向所述第一量子设备发送第一量子密钥申请报文,所述第一量子密钥申请报文用于向所述第一量子设备申请所述第一量子密钥。
4.根据权利要求3所述的方法,特征在于,所述第一应用设备包括第一应用和第一客户端,所述第一量子设备包括第一服务端,
所述方法还包括:
所述第一应用设备通过所述第一客户端接收所述第一应用发送的所述第一量子密钥申请报文;
所述第一应用设备向所述第一量子设备发送第一量子密钥申请报文,包括:
所述第一应用设备通过所述第一客户端向所述第一服务端发送所述第一量子密钥申请报文;
所述第一量子设备将所述第一量子密钥信息发送给第一应用设备,包括:
所述第一量子设备通过所述第一服务端将所述第一量子密钥信息发送所述第一客户端。
5.根据权利要求4所述的方法,特征在于,所述第一量子密钥信息中还包括所述第一应用的标识,所述方法还包括:
所述第一应用设备根据所述第一应用的标识,通过所述第一客户端将所述第一量子密钥发送所述第一应用。
6.根据权利要求1至5中任一项所述的方法,特征在于,所述第二应用设备包括第二客户端,所述第二量子设备包括第二服务端,
所述第二量子设备将所述第一量子密钥信息发送给所述第二应用设备,包括:
所述第二量子设备通过所述第二服务端将所述第一量子密钥信息发送所述第二客户端。
7.根据权利要求6所述的方法,特征在于,所述第二应用设备中还包括第二应用,所述第一量子密钥信息中还包括所述第二应用的标识,
所述方法还包括:
所述第二应用设备根据所述第二应用的标识,通过所述第二客户端将所述第一量子密钥发送所述第二应用。
8.根据权利要求1至7中任一项所述的方法,其特征在于,所述方法还包括:
所述第二应用设备通过所述第二客户端接收所述第一客户端发送的消息,并将所述消息发送给所述第二服务端,所述消息包括第一标识,所述第一标识用于指示所述第一量子密钥;
所述第二量子设备通过所述第二服务端接收所述消息,并根据所述第一标识通过所述第二服务端从数据库中获取所述第一量子密钥信息。
9.根据权利要求3至8中任一项所述的方法,其特征在于,
所述第一应用设备向第一量子设备发送第一量子密钥申请报文,包括:
所述第一应用设备通过第一加密传输通道向所述第一量子设备发送所述第一量子密钥申请报文,所述第一加密传输通道为所述第一应用设备和所述第一量子设备之间的传输通道;
所述第一量子设备将所述第一量子密钥信息发送给所述第一应用设备,包括:
所述第一量子设备通过所述第一加密传输通道将所述第一量子密钥信息发送给所述第一应用设备。
10.根据权利要求9所述的方法,特征在于,所述第一加密传输通道为所述第一应用设备和所述第一量子设备基于预共享密钥PSK建立的,或者基于后量子密钥封装机制PQC.KEM建立的。
11.根据权利要求10所述的方法,特征在于,所述方法还包括:
所述第一应用设备生成第一协商参数;
所述第一应用设备接收第一量子设备发送的第二协商参数;
所述第一应用设备基于密钥导数函数KDF,通过所述第一协商参数、所述第二协商参数以及消息认证码MAC密钥确定会话密钥,所述KDF为所述第一应用设备和所述第一量子设备共同协商的密钥导数函数,所述MAC密钥是根据所述PSK确定的,所述会话密钥用于对所述第一量子密钥申请报文进行加密,或者用于对所述第一量子设备向所述所述第一应用设备发送的第一量子密钥信息进行加密。
12.根据权利要求1至11中任一项所述的方法,其特征在于,所述第二量子设备将所述第一量子密钥信息发送给所述第二应用设备,包括:
所述第二量子设备通过第二加密传输通道将所述第一量子密钥信息发送给所述第二应用设备,所述第二加密传输通道为所述第二应用设备和所述第二量子设备之间的传输通道。
13.根据权利要求12所述的方法,特征在于,所述第二加密传输通道为所述第二应用设备和所述第二量子设备基于预共享密钥PSK建立的,或者基于后量子密钥封装机制PQC.KEM建立的。
14.根据权利要求13所述的方法,特征在于,所述方法还包括:
所述第二应用设备生成第三协商参数;
所述第二应用设备接收第三量子设备发送的第四协商参数;
所述第二应用设备基于密钥导数函数KDF,通过所述第三协商参数、所述第四协商参数以及消息认证码MAC密钥确定会话密钥,所述KDF为所述第二应用设备和所述第二量子设备共同协商的密钥导数函数,所述MAC密钥是根据所述PSK确定的,所述会话密钥用于对所述第二量子设备向所述所述第二应用设备发送的所述第一量子密钥信息进行加密。
15.根据权利要求3至14中任一项所述的方法,其特征在于,所述第一量子密钥申请报文包括所述第一量子密钥的服务参数、所述第二量子设备的信息、第一应用的标识、第二应用的标识。
16.根据权利要求1至15中任一项所述的方法,其特征在于,所述方法还包括:
所述第一应用设备和所述第二应用设备基于所述第一量子密钥信息进行通信。
17.一种量子密钥协商的方法,其特征在于,包括:
第一应用设备向第一量子设备发送第二应用设备的信息,所述第二应用设备的信息用于指示第一量子设备确定第二量子设备,所述第二量子设备用于和所述第一量子设备协商获得第一量子密钥;
所述第一应用设备接收所述第一量子设备发送的第一量子密钥信息,所述第一量子密钥信息中包括所述第一量子密钥。
18.根据权利要求17所述的方法,其特征在于,所述方法还包括:
所述第一应用设备向所述第一量子设备发送第一量子密钥申请报文,所述第一量子密钥申请报文用于向所述第一量子设备申请所述第一量子密钥。
19.根据权利要求18所述的方法,其特征在于,所述方法还包括:
所述第一应用设备通过第一客户端接收第一应用发送的所述第一量子密钥申请报文,所述第一应用为所述第一应用设备上的一个应用;
所述第一应用设备向第一量子设备发送第一量子密钥申请报文,包括:
所述第一应用设备通过所述第一客户端,向所述第一量子设备上的第一服务端发送所述第一量子密钥申请报文;
所述第一应用设备收所述第一量子设备发送的第一量子密钥信息,包括:
所述第一应用设备通过所述第一客户端,接收所述第一服务端发送的所述第一量子密钥信息。
20.根据权利要求17至19中任一项所述的方法,其特征在于,所述第一量子密钥信息中还包括所述第一应用的标识,所述方法还包括:
所述第一应用设备根据所述第一应用的标识,通过所述第一客户端将所述第一量子密钥发送所述第一应用。
21.根据权利要求18至20中任一项所述的方法,其特征在于,
所述第一应用设备向所述第一量子设备发送第一量子密钥申请报文,包括:
所述第一应用设备通过第一加密传输通道向所述第一量子设备发送所述第一量子密钥申请报文,所述第一加密传输通道为所述第一应用设备和所述第一量子设备之间的传输通道;
所述第一应用设备接收所述第一量子设备发送的第一量子密钥信息,包括:
所述第一应用设备通过所述第一加密传输通道接收所述第一量子设备发送的第一量子密钥信息。
22.根据权利要求21所述的方法,其特征在于,所述第一加密传输通道为所述第一应用设备和所述第一量子设备基于预共享密钥PSK建立的,或者基于后量子密钥封装机制PQC.KEM建立的。
23.根据权利要求22所述的方法,其特征在于,所述方法还包括:
所述第一应用设备生成第一协商参数;
所述第一应用设备接收所述第一量子设备发送的第二协商参数;
所述第一应用设备基于密钥导数函数KDF,通过所述第一协商参数、所述第二协商参数以及消息认证码MAC密钥确定会话密钥,所述KDF为所述第一应用设备和所述第一量子设备共同协商的密钥导数函数,所述MAC密钥是根据所述PSK确定的。
24.根据权利要求18至23中任一项所述的方法,其特征在于,所述第一量子密钥申请报文包括所述第一量子密钥的服务参数、所述第二量子设备的信息、第一应用的标识、第二应用的标识。
25.一种量子密钥协商的方法,其特征在于,包括:
第一量子设备根据第二应用设备的信息,确定第二量子设备;
所述第一量子设备和所述第二量子设备协商获得第一量子密钥;
所述第一量子设备将第一量子密钥信息发送给所述第一应用设备,所述第一量子密钥信息中包括所述第一量子密钥。
26.根据权利要求25所述的方法,其特征在于,所述方法还包括:
所述第一量子设备接收所述第一应用设备发送的所述第二应用设备的信息。
27.根据权利要求25或26所述的方法,其特征在于,所述方法还包括:
所述第一量子设备接收所述述第一应用设备发送的第一量子密钥申请报文,所述第一量子密钥申请报文用于向所述第一量子设备申请所述第一量子密钥。
28.根据权利要求25至27中任一项所述的方法,其特征在于,所述第一量子设备包括第一服务端,所述第一应用设备包括第一应用和第一客户端,
所述第一量子设备将第一量子密钥信息发送给所述第一应用设备,包括:
所述第一量子设备通过所述第一服务端将所述第一量子密钥信息发送所述第一客户端。
29.根据权利要求25至28中任一项所述的方法,其特征在于,
所述第一量子设备将第一量子密钥信息发送给所述第一应用设备,包括:
所述第一量子设备通过第一加密传输通道将所述第一量子密钥信息发送给所述第一应用设备。
30.根据权利要求29所述的方法,其特征在于,所述第一加密传输通道为所述第一应用设备和所述第一量子设备基于预共享密钥PSK建立的,或者基于后量子密钥封装机制PQC.KEM建立的。
31.一种量子密钥协商的***,其特征在于,所述***包括:
第一量子设备,用于和第二量子设备协商获得第一量子密钥;
所述第一量子设备,还用于将第一量子密钥信息发送给第一应用设备,所述第一量子密钥信息中包括所述第一量子密钥;
第二量子设备,还用于将所述第一量子密钥信息发送给第二应用设备。
32.一种第一应用设备,其特征在于,包括处理器和存储器;所述处理器用于执行所述第一应用设备的存储器中存储的指令,以使得所述第一应用设备执行如权利要求17至24中任一项所述的方法。
33.一种第一量子设备,其特征在于,包括处理器和存储器;所述处理器用于执行所述第一量子设备的存储器中存储的指令,以使得所述第一量子设备执行如权利要求25至30中任一项所述的方法。
34.一种包含指令的计算机程序产品,其特征在于,当所述指令被第一应用设备运行时,使得所述第一应用设备执行如权利要求的17至24中任一项所述的方法。
35.一种包含指令的计算机程序产品,其特征在于,当所述指令被第一量子设备运行时,使得所述第一量子设备执行如权利要求的25至30中任一项所述的方法。
36.一种计算机可读存储介质,其特征在于,包括计算机程序指令,当所述计算机程序指令由第一应用设备执行时,所述第一应用设备执行如权利要求17至24中任一项所述的方法。
37.一种计算机可读存储介质,其特征在于,包括计算机程序指令,当所述计算机程序指令由第一量子设备执行时,所述第一量子设备执行如权利要求25至30中任一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210940291 | 2022-08-05 | ||
CN2022109402917 | 2022-08-05 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117527202A true CN117527202A (zh) | 2024-02-06 |
Family
ID=89748332
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211619322.5A Pending CN117527202A (zh) | 2022-08-05 | 2022-12-15 | 量子密钥协商的***、方法以及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117527202A (zh) |
-
2022
- 2022-12-15 CN CN202211619322.5A patent/CN117527202A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110380852B (zh) | 双向认证方法及通信*** | |
CN104660602B (zh) | 一种量子密钥传输控制方法及*** | |
CN109150517B (zh) | 基于sgx的密钥安全管理***及方法 | |
EP3788528B1 (en) | Enclave interactions | |
US11736304B2 (en) | Secure authentication of remote equipment | |
TWI437862B (zh) | 連結使用者領域之方法以及在使用者領域中交換資訊之方法 | |
JP2020530726A (ja) | サプライチェーン資産管理を保護するアプリケーションを有する遠隔サーバへのnfcタグ認証 | |
CN109309566B (zh) | 一种认证方法、装置、***、设备及存储介质 | |
CN114143117B (zh) | 数据处理方法及设备 | |
US20220006652A1 (en) | Method and architecture for securing and managing networks of embedded systems with optimised public key infrastructure | |
CN116132043B (zh) | 会话密钥协商方法、装置及设备 | |
CN114039753A (zh) | 一种访问控制方法、装置、存储介质及电子设备 | |
KR102266654B1 (ko) | Mqtt-sn 프로토콜의 보안을 위한 mqtt-sn 보안 관리 방법 및 시스템 | |
US11153344B2 (en) | Establishing a protected communication channel | |
CN108966214B (zh) | 无线网络的认证方法、无线网络安全通信方法及*** | |
WO2021170049A1 (zh) | 一种访问行为的记录方法、装置 | |
CN117527202A (zh) | 量子密钥协商的***、方法以及设备 | |
CN112751664A (zh) | 一种物联网组网方法、装置和计算机可读存储介质 | |
CN116614275B (zh) | 一种隐私计算一体机委托加速的方法 | |
CN114124377B (zh) | 一种量子密钥的传输方法、装置、***及存储介质 | |
US11469890B2 (en) | Derived keys for connectionless network protocols | |
Li et al. | A security protocol of RFID communication system based on password authenticated with provable security | |
Pérez Díaz et al. | A PUF-based authentication mechanism for OSCORE | |
Hilal et al. | Enhanced Data Security in IoT-Cloud Communication: Using Lightweight Cryptography Approach | |
Long et al. | Blockchain-Based Anonymous Authentication and Key Management for Internet of Things With Chebyshev Chaotic Maps |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |