Communication method and system
By introducing quantum-secure keys to generate dynamic pre-shared keys in the Chinese cryptographic SSL VPN, the security problem of the Chinese cryptographic SSL VPN under quantum computer attacks is solved, achieving high entropy and forward security of the TLS protocol, and improving the security of key exchange and identity authentication.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- ALIBABA (CHINA) CO LTD
- Filing Date
- 2022-06-21
- Publication Date
- 2026-05-08
AI Technical Summary
Existing national cryptographic SSL VPN protocols lack the ability to defend against quantum computer attacks, especially in terms of key exchange and identity authentication.
By obtaining a quantum-secure key, a pre-shared key is generated based on the quantum-secure key and imported into the secure transport layer protocol. A dynamic pre-shared key (dynamic PSK) is generated using a key derivation function to support the PSK mechanism in the TLS protocol, thereby enabling key exchange and authentication.
It provides resistance to quantum computer attacks, improves the security and performance of the TLS protocol, and in particular, adds PSK features on the basis of the TLS 1.1 protocol, making it suitable for data center scenarios and solving the problems of low entropy value and lack of forward security of static PSK.
Smart Images

Figure CN115314189B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of communication technology, and in particular to a communication method and system that combines quantum security technology with remote access technology. Background Technology
[0002] National Cryptographic SSL VPN is one of the 22 types of products listed in the "Commercial Cryptographic Product Catalog" published by the State Cryptography Administration's Commercial Cryptography Testing Center. It is an SSL VPN that conforms to national standards and specifications, modified based on the Transport Layer Security (TLS) 1.1 protocol and incorporating my country's actual application needs and practical experience. In addition to integrating national cryptographic algorithms, National Cryptographic SSL VPNs also utilize a dual-certificate system, consisting of a signature certificate and an encryption certificate.
[0003] Quantum security technology is an emerging technological field primarily aimed at addressing the potential threats posed by future quantum computers to existing cryptographic systems, including asymmetric encryption algorithms such as Diffie-Hellman, RSA, and ECC. The most practical solutions in quantum security technology currently fall into two main categories: quantum key distribution (QKD) and post-quantum cryptography (PQC).
[0004] The underlying cryptographic algorithms of the Chinese national standard SSL VPN (such as signature and key exchange algorithms like RSA, ECC, SM2, ECDHE, etc.) are still based on mathematical principles such as discrete logarithms or large number factorization, and do not have the ability to resist quantum computer attacks.
[0005] Therefore, a solution is needed that combines quantum security technology with remote access technology (such as Chinese cryptographic SSL VPN) to enable remote access to resist quantum computer attacks. Summary of the Invention
[0006] One technical problem this disclosure aims to solve is to provide a solution that combines quantum security technology with remote access technology (such as Chinese cryptographic SSL VPN).
[0007] According to a first aspect of this disclosure, a communication method is provided, comprising: acquiring a quantum secure key; obtaining a pre-shared key based on the quantum secure key; importing the pre-shared key into a secure transport layer protocol; and in the secure transport layer protocol, generating a master key based on the pre-shared key, and / or performing authentication based on the pre-shared key.
[0008] Optionally, the quantum-secure key is obtained by the application participating in the communication, and a pre-shared key is obtained based on the quantum-secure key.
[0009] Optionally, the step of obtaining the pre-shared key based on the quantum secure key includes: performing key derivation processing on the quantum secure key to obtain the pre-shared key.
[0010] Optionally, key derivation processing includes processing the quantum secure key using a key derivation function based on a hash-based message authentication code.
[0011] Alternatively, the quantum secure key is provided to both communicating parties through a quantum secure key service.
[0012] Optionally, the steps of obtaining a quantum secure key include: obtaining multiple quantum secure keys and their corresponding key identifiers; caching the multiple quantum secure keys and their corresponding key identifiers; and synchronizing the keys between the communicating parties using the key identifiers whenever a new quantum secure key is needed, so that the communicating parties can use the same set of quantum secure keys.
[0013] Optionally, the step of generating a master key based on a pre-shared key includes: obtaining a pre-master key based on the pre-shared key and private information, and obtaining a master key based on the pre-master key.
[0014] Optionally, the private information includes: a public key and a temporary public key obtained from the encryption certificate of the other party, and the encryption private key and a temporary private key of the other party; or a random number from the other party and a random number generated by the other party.
[0015] Optionally, the step of obtaining the master key based on the pre-master key includes: obtaining the master key using a key derivation algorithm based on the pre-master key, a random number from the communication counterpart, and a random number generated by the party; or obtaining the master key using a key derivation algorithm based on the pre-master key, a random number from the communication counterpart, a random number generated by the party, and a pre-shared key.
[0016] According to a second aspect of this disclosure, a communication system is provided, including a first communication party and a second communication party, wherein the first communication party and / or the second communication party are used to generate a master key required for communication between the first communication party and the second communication party through the method described in the first aspect above, and / or to perform authentication.
[0017] According to a third aspect of this disclosure, a computing device is provided, comprising: a processor; and a memory having executable code stored thereon, which, when executed by the processor, causes the processor to perform the method described in the first aspect above.
[0018] According to a fourth aspect of this disclosure, a computer program product is provided, including executable code that, when executed by a processor of an electronic device, causes the processor to perform the method described in the first aspect above.
[0019] According to a fifth aspect of this disclosure, a non-transitory machine-readable storage medium is provided, on which executable code is stored, which, when executed by a processor of an electronic device, causes the processor to perform the method described in the first aspect above.
[0020] Therefore, this disclosure generates a pre-shared key based on a quantum secure key through an out-of-band method, and imports the pre-shared key into a secure transport layer protocol, so that the pre-shared key has the ability to resist quantum attacks when used for key exchange and identity authentication. Attached Figure Description
[0021] The above and other objects, features and advantages of this disclosure will become more apparent from the more detailed description of exemplary embodiments thereof taken in conjunction with the accompanying drawings, wherein like reference numerals generally denote like parts.
[0022] Figure 1 A schematic flowchart of a communication method according to an embodiment of the present disclosure is shown.
[0023] Figure 2 A schematic diagram of a key exchange process according to an embodiment of the present disclosure is shown.
[0024] Figure 3 A schematic diagram of the structure of a computing device according to an embodiment of the present disclosure is shown. Detailed Implementation
[0025] Preferred embodiments of the present disclosure will now be described in more detail with reference to the accompanying drawings. While preferred embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure may be implemented in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that the present disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
[0026] This disclosure proposes a communication scheme that combines quantum security technology with remote access technology.
[0027] The following description uses a Chinese national cryptographic SSL VPN as an example to illustrate this disclosure. It should be noted that remote access technology can also refer to other remote access technologies that support the TLS protocol.
[0028] Although the current national cryptographic SSL VPN uses the TLS 1.1 protocol, the TLS protocol has gradually introduced features such as session recovery and 0-RTT during continuous updates. These features have further improved the performance of the TLS protocol, and an important mechanism to achieve these features is PSK (Pre-Shared Key).
[0029] Considering that the Chinese national cryptographic SSL VPN needs to evolve further and upgrade to higher versions of the protocol (such as TLS 1.2 and TLS 1.3), support for PSK is essential. This disclosure proposes a way to combine quantum-secure keys with PSK, so as to provide quantum-secure capabilities for the TLS protocol in both key exchange and identity authentication, while following the future development direction of the Chinese national cryptographic SSL VPN.
[0030] Figure 1 A schematic flowchart of a communication method according to an embodiment of the present disclosure is shown.
[0031] Figure 1 The method shown can be performed by both communicating parties (such as the two applications participating in the communication).
[0032] That is, both parties in the communication can execute steps S110 to S140 as shown in the figure.
[0033] The communicating parties can interconnect based on remote access technologies (such as SSL VPN). SSL VPN is a VPN remote access technology based on the SSL protocol for security. SSL (Secure Sockets Layer) and its successor Transport Layer Security (TLS) are security protocols that provide security and data integrity for network communications. TLS and SSL encrypt network connections between the transport layer and the application layer.
[0034] See Figure 1 In step S110, the quantum security key is obtained.
[0035] A quantum secure key is a key generated based on quantum secure technology (QKD system or PQC algorithm).
[0036] QKD system, also known as quantum key distribution system, consists of a key distribution device and a quantum key management device. It utilizes the properties of quantum mechanics to enable communicating parties to generate and share a pair of random, secure keys.
[0037] PQC algorithms, also known as post-quantum cryptography or quantum-safe cryptography algorithms, are encryption algorithms specifically designed to resist quantum computers. They include asymmetric encryption algorithms based on various schemes such as lattice-based, encoding-based, multivariate-based, hash-based, and supersingular elliptic curve homology schemes.
[0038] Quantum-secure keys can be provided by a quantum-secure key service. Each communicating party can deploy a quantum-secure key service, and both parties can obtain quantum-secure keys using their respective services.
[0039] Two quantum-secure key services located on opposite sides of a communication platform can generate identical quantum-secure keys through key negotiation and / or key synchronization messages. These generated quantum-secure keys can be stored in a secure chip. The quantum-secure key services can then output these keys to external systems via an interface (such as a RESTful API or other interface formats).
[0040] When one party in a communication process obtains a quantum-secure key from its own quantum-secure key service, it can also obtain a key identifier corresponding to that key. This key identifier is then sent to the other party, allowing them to obtain the same quantum-secure key from the same quantum-secure key as the initiator. Thus, by using the key identifier for key synchronization between the two parties, they can use the same set of quantum-secure keys.
[0041] As an example, either party in a communication can acquire multiple quantum-safe keys and their corresponding key identifiers, and cache these acquired quantum-safe keys and their corresponding key identifiers. Whenever a new quantum-safe key is needed (such as during the initial handshake between the two parties or upon session resumption), the key identifiers can be used to synchronize keys between the two parties, ensuring that both parties use the same set of quantum-safe keys. The key synchronization operation can be initiated by either party; that is, either party can send a key identifier to the other party based on the key identifier of the quantum-safe key being used, so that the other party can acquire and use the same quantum-safe key as the sender of the key identifier based on the received key identifier.
[0042] In step S120, a pre-shared key is obtained based on the quantum secure key.
[0043] A pre-shared key is a key that is shared in advance by both communicating parties through out-of-band communication.
[0044] Out-of-band mode refers to a method in which both parties share a pre-shared key without going through a TLS connection.
[0045] In other words, the two communicating parties do not negotiate the generation of the pre-shared key in the protocol, but rather generate the same pre-shared key in the same way based on the same quantum secure key.
[0046] To enhance the security of the pre-shared key, the communicating parties can perform key derivation processing on the quantum secure key to obtain a pre-shared key that is either irreversibly crackable or difficult to reverse crack.
[0047] Key derivation processing can include processing quantum-safe keys using key derivation functions.
[0048] Key derivation functions can be either PRF or HKDF functions. PRF functions can be used when both parties are using TLS 1.1 or TLS 1.2, while HKDF functions can be used when both parties are using TLS 1.3.
[0049] The PRF function is a pseudo-random function that can produce an output of arbitrary length by taking confidential information, a seed, and an identity tag as input.
[0050] The HKDF function (HMAC-based Key Derivation Function) is a key derivation function based on hash-based message authentication code (HMAC). The HKDF function extracts one or more cryptographically secure keys from a short input raw key material in an 'extract-then-expand' manner, and can be used as a quantum-secure key.
[0051] Then, in step S130, the pre-shared key is imported into the secure transport layer protocol.
[0052] Both communicating parties can import the pre-shared key into the secure transport layer protocol at both ends of the communication.
[0053] The secure transport layer protocol can refer to the TLS protocol.
[0054] The current Chinese national standard SSL VPN is based on the TLS 1.1 protocol, which does not support the PSK mechanism. Therefore, when communicating parties use a Chinese national standard SSL VPN based on the TLS 1.1 protocol, it is necessary to add support for the PSK mechanism according to existing specifications. For example, the TLS_PSK mechanism and support for the ECDHE_PSK cipher suite can be implemented according to specifications such as RFC4279 and RFC5489. When the SSL VPN is upgraded to a higher version (such as TLS 1.2 or above), it is no longer necessary to add support for the PSK mechanism according to existing specifications.
[0055] The TLS protocol calls the PSK callback function again during the initial handshake or session resumption. At this time, the communication participants (such as applications) can obtain a new quantum-safe key and key identifier, and generate a new pre-shared key based on the new quantum-safe key. Therefore, the pre-shared key can also be called a dynamic pre-shared key, i.e., a dynamic PSK.
[0056] Dynamic PSK based on quantum secure keys aligns with the development trend of SSL VPNs. Furthermore, dynamic PSK is implemented based on out-of-band quantum full keys, offering higher entropy and forward security compared to static PSKs, thus improving the security and performance of SSL VPNs.
[0057] In step S140, in the secure transport layer protocol, a master key is generated based on the pre-shared key, and / or authentication is performed based on the pre-shared key.
[0058] The pre-shared key imported from the secure transport layer protocol can be used for both key exchange and authentication.
[0059] When a pre-shared key is used for key exchange, a master key can be generated based on the pre-shared key. For example, a pre-master key can be obtained first based on the pre-shared key and private information (e.g., the pre-shared key and private information can be concatenated to obtain the pre-master key), and then the master key can be obtained based on the pre-master key. The pre-master key is used to generate the master key. The master key is used to generate the session key. The session key refers to the key used by both parties to encrypt and / or decrypt session data during a session. The specific content of the private information depends on the specific algorithm suite selected. For example, if the selected algorithm suite is ECDHE-SM4-SM3, the private information may include the public key and temporary public key obtained from the encryption certificate of the communicating party, as well as the encrypted private key and temporary private key of the party itself. As another example, if the selected algorithm suite is ECC-SM4-SM3, the private information may include a random number from the communicating party and a random number generated by the party itself.
[0060] When obtaining the master key based on the pre-master key, the master key can be obtained by using a key derivation algorithm (such as the PRF function) based on the pre-master key, a random number from the communication counterpart, and a random number generated by the user.
[0061] The pre-shared key can also be used in the calculation of the master key. That is, the master key can be obtained using a key derivation algorithm based on the pre-master key, a random number from the communicating party, a random number generated by the user, and the pre-shared key. The pre-shared key can either be used as one of the parameters in the key derivation algorithm calculation, or it can be directly mixed with the calculation result based on the key derivation algorithm (e.g., through XOR processing). The mixed result (e.g., the XOR processing result) can then be used as the master key.
[0062] If the key exchange algorithm uses RSA, ECC, or IBC, one party (such as the client) needs to encrypt its generated pre-master key and send the encrypted pre-master key to the other party (such as the server). The other party then decrypts the encrypted pre-master key, and the two parties can calculate the master key according to the master key generation method described above.
[0063] When encrypting the premaster key, the public key (also known as the public key certificate) in the other party's digital certificate can be used to encrypt the premaster key. After receiving the encrypted premaster key, the other party can use the private key to decrypt it and obtain the plaintext premaster key.
[0064] When encrypting the pre-master key, it can be done by first encrypting the pre-master key using the pre-shared key, and then encrypting the result a second time using the public key from the other party's digital certificate. After receiving the encrypted pre-master key, the other party needs to first decrypt the double-encrypted pre-shared key using its private key, and then decrypt the first decryption result a second time using the pre-shared key, thus obtaining the plaintext pre-master key.
[0065] The TLS 1.1 (RFC4346) specification does not include support for PSK, but other standards such as RFC4279 and RFC5489 propose the application of PSK in the TLS protocol for authentication using ECC and ECDHE algorithms. In the newer TLS 1.3 version, the features of PSK have been further expanded, namely, it can be used for authentication, combined with key exchange algorithms, and also for early data encryption and session multiplexing.
[0066] When a pre-shared key is used for identity authentication, such as during the execution of algorithms like RSA and ECDHE, identity authentication (or identity verification) can be performed based on the pre-shared key.
[0067] For specific implementations of pre-shared keys for authentication, refer to existing specifications such as RFC4279 and RFC5489. These specifications implement the TLS_PSK mechanism and support the ECDHE_PSK cipher suite. Pre-shared keys can be used for authentication according to these existing specifications. Therefore, although existing specifications also address the use of pre-shared keys for authentication, this disclosure describes a pre-shared key that is dynamically generated based on a quantum-safe key, allowing for further enhancement of authentication security beyond existing specifications.
[0068] Considering that the secure transport layer protocol of both communicating parties may store multiple pre-shared keys, and that the pre-shared key disclosed herein is generated based on a quantum-safe key, in order to ensure that both communicating parties use the same pre-shared key for key exchange and / or authentication, the two communicating parties can transmit the key identifier of the quantum-safe key at the protocol layer to ensure that both communicating parties choose the same pre-shared key.
[0069] The following section uses a key exchange scenario as an example to further illustrate this disclosure.
[0070] Figure 2 A schematic diagram of a key exchange process according to an embodiment of the present disclosure is shown.
[0071] like Figure 2 As shown, the scenario in this embodiment involves two branch offices, A and B. Each branch office A and B can deploy one or more applications. Two applications located in different branch offices can be interconnected via an SSL VPN. An SSL VPN can refer to a nationally compliant SSL VPN.
[0072] A quantum-secure key service can be deployed in both branch A and branch B. The quantum-secure key service can consist of a quantum key distribution system. Alternatively, it can be a service that combines a quantum key distribution system with post-quantum cryptography algorithms. The two quantum-secure key services can negotiate quantum-secure keys based on different protocols and store them in a secure chip. The quantum-secure key service can output its quantum-secure keys externally via a RESTful API or other interfaces. The quantum-secure key service is not the focus of this disclosure; please refer to existing technologies for more information.
[0073] The key exchange process is as follows.
[0074] ① Quantum-secure key service generates quantum-secure keys between pairs of users through key negotiation and key synchronization messages.
[0075] ② Two applications located in different branches can each maintain a "key cache and synchronization module".
[0076] The key caching and synchronization module is used to implement communication with the quantum-safe key service. Applications at branch office A send quantum-safe key request messages through the key caching and synchronization module based on the interface provided by the quantum-safe key service. If the quantum-safe key service supports integration with multiple applications, the message may also include the application identifier (app_id) and other parameters required by the interface, such as, but not limited to, the IP address of the device hosting the quantum-safe key service, and uid, token, or other parameters used for authentication.
[0077] ③ The quantum secure key service returns the corresponding quantum secure key and key ID to the application in branch office A.
[0078] A quantum secure key and its key ID can be represented by (qskey, qskey_id). Here, qskey represents the quantum secure key, and qskey_id represents the key ID of the quantum secure key.
[0079] ④ The application in branch office A needs to send the key ID to the application in branch office B via the key ID synchronization message after each request for the quantum security key.
[0080] ⑤ The key caching and synchronization module in the application of Branch Office B can specify the key ID and request a quantum secure key from the quantum secure key service.
[0081] ⑥ The quantum secure key service returns the corresponding quantum secure key and key ID to the application.
[0082] ⑦ The applications at both ends of branch offices A and B can import the obtained quantum security key and key ID into the TLS protocol through the interface by calling the corresponding mechanism (such as callback function) provided by the TLS protocol for importing PSK from the outside.
[0083] The key caching and synchronization module can cache multiple sets of quantum secure keys and their key identifiers. Each time the application calls the PSK callback function, it can retrieve a new set of quantum secure keys and their key identifiers from the cache in sequence.
[0084] Before importing, both ends of the application can perform corresponding key derivation processing on the quantum secure key as needed. For example, using the HKDF function, the static PSK set by both applications can be used as the salt parameter, and the quantum secure key can be used as the IKM parameter in the HKDF function to obtain the derived key as the PSK. This can further ensure that the key length and security strength of the PSK meet specific requirements.
[0085] The Chinese national cryptographic TLS VPN is based on the TLS 1.1 protocol and does not support the PSK mechanism. It needs to implement the TLS_PSK mechanism according to specifications such as RFC4279 and RFC5489, and support the ECDHE_PSK cipher suite. The TLS protocol should call the PSK callback function again during the initial handshake or session resumption. At this time, the application should obtain a new quantum-secure key and key ID, and use them to generate the PSK. Therefore, the PSK can also be called a dynamic PSK.
[0086] ⑧ Multiple pre-shared keys may be stored in the TLS protocols at both ends. To ensure that both protocols use the same pre-shared key, the TLS protocol acting as the client (e.g., branch office A) needs to send the key ID of the quantum-safe key corresponding to the pre-shared key to the server's TLS protocol (e.g., branch office B) through the PSK Identity field in the ClientKeyExchange message. The server's TLS protocol can then select the correct quantum-safe key as the dynamic PSK based on the received PSK Identity. Server B can also provide a "PSKidentity hint" in the ServerKeyExchange message. If no hint is provided, the ServerKeyExchange message can be ignored.
[0087] ⑨ The TLS protocols at both ends can generate a pre-master key based on the same pre-shared key, and further generate a master key based on the generated pre-master key. The master key can be used to generate a session key.
[0088] 1) Pre-master key generation process
[0089] The pre-master key can be calculated by concatenating the dynamic PSK obtained based on the quantum secure key with other_secret (corresponding to the private information mentioned above).
[0090] The content of `other_secret` varies depending on the chosen algorithm suite. For ECDHE-SM4-SM3, `other_secret` can consist of four parts: the public key and temporary public key from the other party's encryption certificate, your own encryption private key and temporary private key. For ECC-SM4-SM3, `other_secret` can consist of two parts: the client's random number (`client_random`) and the server's random number (`server_random`).
[0091] 2) Master Key Generation Process
[0092] The pre-master key will participate in the calculation of the master key, and this calculation method is the same for both the ECDHE-SM4-SM3 and ECC-SM4-SM3 algorithm suites.
[0093] One option is to incorporate the dynamic PSK into the calculation of the master key, such as as one of the parameters of the PRF, or by directly XORing it with the master key.
[0094] Another option is to use RSA, ECC, or IBC algorithms for key exchange. In this case, the client's pre-master key needs to be encrypted with the public key from the server's encryption certificate before being sent to the server. The server then decrypts the pre-master key using its own private key to obtain the plaintext pre-master key, and subsequently calculates the master key based on it. A dynamic PSK can also be used to enhance the security of pre-master key transmission. For example, a double encryption method can be employed: first, the pre-master key is encrypted using the dynamic PSK as the key, and then encrypted a second time using the public key from the server's encryption certificate. The server then decrypts the pre-master key using its own private key for the first decryption, and then uses the dynamic PSK for the second decryption, thus obtaining the plaintext pre-master key.
[0095] Thus concluded Figure 2 This disclosure provides a detailed explanation of the key exchange process in the scheme that combines quantum security technology with Chinese national cryptographic SSL VPN.
[0096] There are currently two main types of solutions that combine quantum security technology with Chinese national cryptographic SSL VPN.
[0097] One approach is to integrate the PQC algorithm into the TLS protocol, combining it with the ECDHE algorithm already in the protocol. This method of integrating quantum security technology into the TLS protocol incurs significant computational overhead, typically requires a large public key, and can reduce device performance and increase protocol latency.
[0098] Another approach is to import the quantum key generated by the QKD algorithm into the TLS protocol and XOR it with the shared key generated based on ECDHE. Since the XOR operation is reversible, this method is not very secure.
[0099] Existing solutions only consider how to provide quantum security capabilities for the key exchange part, but do not consider how to provide quantum security capabilities for the identity authentication part.
[0100] Furthermore, although the current national cryptographic SSL VPN uses the TLS 1.1 protocol which does not support PSK, the TLS (Transport Layer Security) protocol has been continuously updated and has gradually introduced features such as session recovery and 0-RTT. These features have further improved the performance of the TLS protocol, and an important mechanism to achieve these features is PSK.
[0101] Therefore, the purpose of this disclosure is twofold: first, to add support for PSK features to the existing Chinese cryptographic SSL VPN, enabling its use for authentication and key exchange; and second, to generate dynamic PSKs based on quantum-secure keys, and to utilize key derivation functions in the process of generating pre-master keys using dynamic PSKs, thereby providing the TLS protocol with high-entropy keys possessing quantum-secure properties. This enhances the ability of the Chinese cryptographic SSL VPN to resist quantum attacks in both key exchange and authentication.
[0102] Compared to existing methods of integrating quantum security technology into protocols, this disclosure provides an alternative approach: the quantum-secure key is executed externally to the national cryptographic SSL VPN device. The negotiation of the quantum-secure key can employ the PQC algorithm, QKD technology, or a combination of both. After generation, the quantum-secure key is dynamically imported into the SSL / TLS protocol as an out-of-band symmetric key (PSK). It then uses a key derivation function to participate in the calculation of the master key, thereby addressing the issue that encryption certificates based on the ECDHE algorithm or the SM2 algorithm are not resistant to quantum attacks. Simultaneously, authentication based on the dynamic PSK solves the problem that authentication using SM2-based signature certificates is not resistant to quantum attacks.
[0103] Since the current Chinese cryptographic SSL VPN is based on TLS 1.1 and does not support PSK features, this disclosure requires adding PSK features to TLS 1.1 based on standard specifications such as RFC4279 and RFC5489 to support PSK features. Secondly, the Chinese cryptographic SSL VPN will inevitably need to be upgraded to a newer version of the TLS protocol in the future. As PSK plays an increasingly important role in TLS 1.2 and TLS 1.3, combining quantum security with the TLS protocol based on PSK can achieve improvements in both security and performance. For example, dynamic PSK provides a higher entropy value compared to static PSK, greatly improving security and solving the forward security problem that static PSK lacks. It can simultaneously achieve high performance and high security under the PSK-only and 0-RTT characteristics of TLS 1.3.
[0104] In summary, this disclosure describes the addition of an external PSK to the TLS 1.1 protocol of the Chinese national cryptographic SSL VPN based on existing specifications. Applications can import quantum-secure keys as dynamic PSKs into the TLS 1.1 protocol via out-of-band key import. The out-of-band quantum-secure key implements a dynamic PSK, providing higher entropy and forward security compared to a static PSK. The generation of the dynamic PSK, and its mixing with the pre-master key or master key, are based on key derivation, which is more secure than XOR. The combination of quantum-secure dynamic PSKs with the TLS protocol aligns with the development direction of the TLS protocol, and dynamic PSKs can simultaneously improve the security and performance of the TLS protocol.
[0105] Compared with the prior art, this disclosure has at least the following advantages.
[0106] 1. When quantum secure keys are mixed with the ECDHE algorithm, since the XOR operation is reversible, while the PRF (used in TLS 1.1 or TLS 1.2) or HKDF function (used in TLS 1.3) is irreversible, the pre-shared key obtained based on the key derivation function of PRF or HKDF can provide higher security compared to XOR computation.
[0107] 2. Dynamic PSK is obtained through out-of-band keys, which avoids the performance problems caused by integrating PQC algorithms into the protocol to negotiate quantum secure keys. It is suitable for some hardware performance-limited situations and is more suitable for data center scenarios.
[0108] 3. Currently, the Chinese national cryptographic SSL VPN still uses the TLS 1.1 protocol. In subsequent TLS 1.2 and 1.3 versions, the application of PSK (Programmatical Keying) has been further developed, playing a crucial role in improving the performance of the TLS protocol. Considering the future evolution of the Chinese national cryptographic SSL VPN and the need to upgrade to higher versions of the protocol, PSK support is essential. This disclosure, based on the TLS 1.1 protocol, first implements the TLS_PSK mechanism according to specifications such as RFC4279 and RFC5489, and supports the ECDHE_PSK cipher suite. This aligns with the future development direction of the Chinese national cryptographic SSL VPN. Secondly, by combining quantum-secure keys with PSK, the static PSK achieves dynamic characteristics, enabling forward security and solving the problems of low entropy and lack of forward security of PSK in the TLS protocol. Furthermore, it provides quantum-secure capabilities for both key exchange and authentication in the TLS protocol. Moreover, integrating quantum-secure keys into the TLS protocol through PSK requires minimal modification to existing specifications.
[0109] This disclosure also provides a communication system. The communication system may include a first communicating party and a second communicating party. The first communicating party and the second communicating party can communicate using remote access technology based on the TLS protocol, such as SSL VPN communication based on Chinese national cryptographic standards. The first communicating party and / or the second communicating party can perform the above-described combination. Figure 1 , Figure 2 The described communication method generates a master key required for communication between a first and a second communicating party, and / or performs authentication, thereby enabling key exchange and / or identity authentication, so that both key exchange and identity authentication are resistant to quantum computer attacks.
[0110] Figure 3 A schematic diagram of a computing device that can be used to implement the above-described communication method according to an embodiment of the present disclosure is shown.
[0111] See Figure 3 The computing device 300 includes a memory 310 and a processor 320.
[0112] Processor 320 may be a multi-core processor or may contain multiple processors. In some embodiments, processor 320 may include a general-purpose main processor and one or more special-purpose coprocessors, such as a graphics processing unit (GPU), a digital signal processor (DSP), etc. In some embodiments, processor 320 may be implemented using custom circuitry, such as an application-specific integrated circuit (ASIC) or a field-programmable gate array (FPGA).
[0113] Memory 310 may include various types of storage units, such as system memory, read-only memory (ROM), and permanent storage devices. ROM may store static data or instructions required by processor 320 or other modules of the computer. Permanent storage devices may be read-write storage devices. Permanent storage devices may be non-volatile storage devices that retain stored instructions and data even when the computer is powered off. In some embodiments, permanent storage devices use mass storage devices (e.g., magnetic or optical disks, flash memory) as permanent storage devices. In other embodiments, permanent storage devices may be removable storage devices (e.g., floppy disks, optical drives). System memory may be a read-write storage device or a volatile read-write storage device, such as dynamic random access memory. System memory may store some or all of the instructions and data required by the processor during operation. Furthermore, memory 310 may include any combination of computer-readable storage media, including various types of semiconductor memory chips (DRAM, SRAM, SDRAM, flash memory, programmable read-only memory), and disks and / or optical disks may also be used. In some embodiments, memory 310 may include a removable storage device that is readable and / or writable, such as a laser disc (CD), a read-only digital multifunction optical disc (e.g., DVD-ROM, dual-layer DVD-ROM), a read-only Blu-ray disc, an ultra-high density optical disc, a flash memory card (e.g., SD card, mini SD card, Micro-SD card, etc.), a magnetic floppy disk, etc. Computer-readable storage media do not contain carrier waves or transient electronic signals transmitted wirelessly or via wired connections.
[0114] The memory 310 stores executable code, which, when processed by the processor 320, enables the processor 320 to execute the communication method described above.
[0115] The communication method and system according to this disclosure have been described in detail above with reference to the accompanying drawings.
[0116] Furthermore, the method according to this disclosure can also be implemented as a computer program or computer program product, which includes computer program code instructions for performing the steps defined in the above-described method of this disclosure.
[0117] Alternatively, this disclosure may be implemented as a non-transitory machine-readable storage medium (or computer-readable storage medium, or machine-readable storage medium) storing executable code (or computer program, or computer instruction code) that, when executed by a processor of an electronic device (or computing device, server, etc.), causes the processor to perform the steps of the method described above according to this disclosure.
[0118] Those skilled in the art will also understand that the various exemplary logic blocks, modules, circuits, and algorithm steps described in connection with the disclosure herein can be implemented as electronic hardware, computer software, or a combination of both.
[0119] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems and methods according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions marked in the blocks may occur in a different order than those marked in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0120] The various embodiments of this disclosure have been described above. These descriptions are exemplary and not exhaustive, nor are they limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terminology used herein is chosen to best explain the principles, practical application, or improvement of the technology in the market, or to enable others skilled in the art to understand the embodiments disclosed herein.
Claims
1. A communication method, comprising: Obtain multiple quantum-secure keys and their corresponding key identifiers; The cache contains multiple quantum-secure keys and their corresponding key identifiers. as well as Whenever a new quantum-secure key is needed, key synchronization is performed between the communicating parties using key identifiers so that both parties can use the same set of quantum-secure keys; The quantum secure key is subjected to key derivation processing to obtain a pre-shared key; the key derivation processing includes processing the quantum secure key using a key derivation function based on a hash-based message authentication code; Use a callback function to import the pre-shared key from out-of-band into the secure transport layer protocol; as well as In the secure transport layer protocol, a pre-master key is obtained based on the pre-shared key and private information. Based on the pre-master key, a random number from the communication counterpart and a random number generated by the local party, and the pre-shared key, a master key is obtained using a key derivation function, and / or authentication is performed based on the pre-shared key.
2. The method according to claim 1, wherein, The quantum-secure key is obtained by the application participating in the communication, and a pre-shared key is obtained based on the quantum-secure key.
3. The method according to claim 1, wherein, The quantum secure key is provided to both communicating parties through a quantum secure key service.
4. The method according to claim 1, wherein, The private information includes: The public key and temporary public key obtained from the encryption certificate of the other party, as well as your own encryption private key and temporary private key; or The random number from the other party in the communication and the random number generated by this party.
5. A communication system, comprising a first communicating party and a second communicating party. The first communicating party and / or the second communicating party generate the master key required for communication between the first communicating party and the second communicating party by means of any one of claims 1 to 4, and / or perform authentication.
6. A computing device, comprising: processor; as well as A memory having executable code stored thereon, which, when executed by the processor, causes the processor to perform the method as described in any one of claims 1 to 4.
7. A computer program product comprising executable code that, when executed by a processor of an electronic device, causes the processor to perform the method as claimed in any one of claims 1 to 4.
8. A non-transitory machine-readable storage medium having executable code stored thereon, which, when executed by a processor of an electronic device, causes the processor to perform the method as described in any one of claims 1 to 4.
Citation Information
Patent Citations
Cryptographic Platform System and Method
US20220182413A1