Anti-quantum security enhancement method for SSL VPN protocol

By combining quantum key distribution technology and post-quantum cryptography algorithms into the SSL VPN protocol, a master key resistant to quantum computing attacks is generated, solving the security problem of the SSL VPN protocol in a quantum computing environment and achieving higher communication security and data integrity.

WO2026020568A1PCT designated stage Publication Date: 2026-01-29CHINA TELECOM QUANTUM INFORMATION TECH GRP CO LTD

Patent Information

Application Number
PCT/CN2024/118629
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-07-25
Filing Date
2024-09-12
Publication Date
2026-01-29

AI Technical Summary

Technical Problem

Existing SSL VPN protocols lack resistance to quantum computing attacks and cannot effectively protect communication security.

Method used

By applying quantum key distribution technology and post-quantum cryptography algorithms between network devices and terminals, a master key resistant to quantum computing attacks is generated. This key is then combined with a quantum key identifier for encryption, ensuring the security of communication data.

Benefits of technology

It enhances the security of communication between network devices and terminals, resists quantum computing attacks, and improves the security and integrity of data transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024118629_29012026_PF_FP_ABST
    Figure CN2024118629_29012026_PF_FP_ABST
Patent Text Reader

Abstract

An anti-quantum security enhancement method for an SSL VPN protocol of a communication network. The method comprises: (011) acquiring a first quantum key and a quantum key identifier from a first network node that has accessed a network device; (012) performing post-quantum cryptographic encryption processing on the quantum key identifier, and sending a first encryption result of the post-quantum cryptographic encryption processing to a terminal; (013) decrypting a received second encryption result sent by the terminal, so as to obtain a second decryption result; (014) obtaining a first master key on the basis of the first encryption result and the second decryption result; and (015) generating and obtaining a second master key on the basis of the first master key, the first encryption result, the second decryption result, and the first quantum key, so as to encrypt communication between the network device and the terminal.
Need to check novelty before this filing date? Find Prior Art

Description

Quantum-resistant security enhancement methods for SSL VPN protocols

[0001] Priority information

[0002] This application claims priority and benefits to patent application No. 202411007781.7, filed with the China National Intellectual Property Administration on July 25, 2024, the entire contents of which are incorporated herein by reference. Technical Field

[0003] This application relates to the field of network security technology, and in particular to a quantum-resistant security enhancement method for an SSL VPN protocol in a communication network. Background Technology

[0004] The leap in computing power, exemplified by quantum computing, has significantly impacted the security of algorithms in classical cryptography. Understandably, the realization of large-scale quantum computers will affect applications in classical cryptography such as key negotiation, encryption, and signature. Therefore, providing cryptographic techniques resistant to quantum computing attacks has become an urgent problem to solve.

[0005] Summary of the Invention

[0006] This application provides a quantum-resistant security enhancement method for the SSL VPN protocol of a communication network.

[0007] This application provides a method for enhancing the quantum security of an SSL VPN protocol in a communication network, wherein the communication network includes a terminal and a network device, and the method is used in the network device. The method includes:

[0008] The first network node that connects to the network device obtains the first quantum key and quantum key identifier;

[0009] The quantum key identifier is subjected to post-quantum cryptographic encryption, and the first encryption result after the post-quantum cryptographic encryption is sent to the terminal.

[0010] The second encryption result received from the terminal is decrypted to obtain a second decryption result, which is obtained based on the first encryption result.

[0011] The first master key is obtained based on the first encryption result and the second decryption result;

[0012] A second master key is generated based on the first master key, the first encryption result, the second decryption result, and the first quantum key to encrypt the communication between the network device and the terminal.

[0013] Thus, during communication between network devices and terminals, the network devices and terminals request and obtain quantum keys, and use post-quantum cryptography algorithms to encrypt the quantum keys to generate quantum-resistant keys that can resist quantum computing attacks. Post-quantum cryptography algorithms are a series of encryption algorithms designed to resist quantum computing attacks. The network devices and terminals exchange relevant data to generate a master key, and then combine the master key, the quantum-resistant key, and the quantum key for use in the network devices and terminals.

[0014] In some embodiments, the method further includes:

[0015] Access to the first network node via a pre-established channel;

[0016] Load the security certificate of the terminal or the security certificate of the network device.

[0017] Thus, before data transmission with the terminal, access to the first network node is achieved through a pre-established channel. This pre-established channel protects the data during transmission, reducing the risk of unauthorized access. Next, the terminal's security certificate or the network device's security certificate is loaded. Once loaded, the security certificate is used to establish and maintain a secure communication channel, enhancing data security during transmission.

[0018] In some implementations, obtaining the first quantum key and quantum key identifier from the first network node connected to the network device includes:

[0019] Send a quantum key request to the first network node;

[0020] The first network node receives a first quantum key and a quantum key identifier distributed according to the quantum key application. The quantum key identifier is obtained by the first network node annotating the first quantum key using the first network node's identification code.

[0021] Thus, a quantum key request is sent to the first network node. After the quantum key request is approved, the user receives the first quantum key and quantum key identifier distributed by the first network node according to the request. The quantum key identifier is obtained by the first network node using its own identification code to annotate the first quantum key. In this way, the first quantum key and quantum key identifier are obtained. The first quantum key can be used to generate keys resistant to quantum computing attacks, and the quantum key identifier helps in the use and management of the first quantum key.

[0022] In some embodiments, performing post-quantum cryptographic encryption on the quantum key identifier and sending the first encryption result after the post-quantum cryptographic encryption to the terminal includes:

[0023] The first handshake message is obtained by concatenating the quantum key identifier and the randomly generated first random number.

[0024] The second handshake message is obtained based on the first handshake message and the first handshake random number in the first encryption result;

[0025] The first handshake message is subjected to post-quantum cryptographic derivation processing to generate the first handshake key;

[0026] The first handshake message is subjected to post-quantum cryptographic encryption to generate the first encrypted message in the first encryption result;

[0027] The first verification message is obtained by concatenating the quantum key identifier, the first handshake random number, and the signature parameters corresponding to the public key exchange algorithm used by the network device.

[0028] The first verification message is subjected to post-quantum cryptographic signature processing to generate the first signature message in the first encryption result;

[0029] The first encryption result is sent to the terminal.

[0030] Thus, the quantum key identifier is concatenated with a randomly generated first random number to obtain the first handshake message. Next, the first handshake message is XORed with the first handshake random number in the first encryption result to generate the second handshake message in the first encryption result. Then, post-quantum cryptographic derivation processing is applied to the second handshake message to generate the first handshake key, and post-quantum cryptographic encryption processing is applied to the second handshake message to generate the first encrypted message in the first encryption result. The quantum key identifier, the first handshake random number, and the signature parameters corresponding to the public-key exchange algorithm used by the network device are concatenated to obtain the first verification message. The first verification message is then subjected to post-quantum cryptographic signing processing to generate the first signature message in the first encryption result. The first signature message is used to verify the authenticity and integrity of the data. Finally, the first encryption result is sent to the terminal. By concatenating the quantum key identifier with the first random number, the confidentiality of the quantum key identifier is increased. Furthermore, post-quantum cryptographic algorithms are used to process the quantum key identifier and its derivatives, combining quantum key distribution technology and post-quantum cryptography technology to increase the complexity of the quantum key identifier.

[0031] In some embodiments, the step of decrypting the received second encryption result sent by the terminal to obtain a second decryption result includes:

[0032] The terminal receives the second encryption result, which is obtained by the terminal performing post-quantum cryptography encryption on the first decryption result, and the terminal decrypts the first encryption result.

[0033] The second encryption result is decrypted to obtain the second decryption result, which includes the second handshake random number, the fourth handshake message, and the second signature message.

[0034] Thus, the receiving terminal sends a second encrypted result, which is obtained by encrypting the first decrypted result, and the first decrypted result is obtained by decrypting the first encrypted result. Decrypting the second encrypted result yields a second decrypted result, which includes a second handshake random number, a fourth handshake message, and a second signature message. In this way, the network device determines the availability of the communication channel with the terminal and obtains the terminal's key information. This key information can be combined with the network device's relevant key information to generate a more secure key.

[0035] In some embodiments, the method further includes:

[0036] The second handshake key is obtained based on the fourth handshake message;

[0037] The third handshake message and the quantum key identifier are obtained based on the fourth handshake message and the second handshake random number.

[0038] Thus, the second handshake key is obtained based on the fourth handshake message. Next, the third handshake message and the quantum key identifier are obtained based on the fourth handshake message and the second handshake random number. This second handshake key is used for subsequent key generation to obtain a key with good resistance to quantum computing attacks.

[0039] In some embodiments, the method further includes:

[0040] The second verification message is obtained based on the second signature message;

[0041] The second signature message is subjected to post-quantum cryptographic verification processing to confirm the correctness of the second verification message. The second verification message is obtained by concatenating the quantum key identifier, the second handshake random number, and the key material information corresponding to the public key exchange algorithm used by the terminal.

[0042] Thus, a second verification message is obtained based on the second signature message. This second signature message is then subjected to post-quantum cryptographic verification. The second verification message is obtained by concatenating the quantum key identifier, the second handshake random number, and the key material information corresponding to the public-key key exchange algorithm used by the terminal. By performing post-quantum cryptographic verification on the second signature message, the correctness of the second verification message is determined, ensuring the integrity of terminal-related data received by the network device, verifying the terminal's identity, and providing security for subsequent data transmission.

[0043] In some implementations, generating a second master key based on the first master key, the first encryption result, the second decryption result, and the first quantum key to encrypt communication between the network device and the terminal includes:

[0044] The first master key and the concatenated body are XORed to generate the second master key. The concatenated body is obtained by concatenating the XORed body and the first quantum key. The XORed body is obtained by XORing the first handshake key and the second handshake key.

[0045] The communication between the network device and the terminal is encrypted using the second master key.

[0046] Thus, the first handshake key and the second handshake key are first XORed to obtain an XOR product. Then, the XOR product and the first quantum key are concatenated to obtain a concatenated product. Next, the first master key and the concatenated product are XORed to generate the second master key. Finally, the generated second master key is used to encrypt all communication between network devices and terminals. This method, by using a key generated through a combination of quantum key distribution and post-quantum cryptography, enhances the resistance of communication between network devices to quantum computing attacks, protecting the data transmitted during communication.

[0047] This application provides a method for enhancing the quantum security of an SSL VPN protocol in a communication network, wherein the communication network includes a terminal and a network device, and the method is used on the terminal. The method includes:

[0048] The network device receives a first encryption result after performing post-quantum cryptographic encryption on a quantum key identifier, wherein the quantum key identifier is obtained by the network device from the first network node it accesses.

[0049] The first encryption result is decrypted to obtain the first decryption result;

[0050] The first decryption result is subjected to post-quantum cryptography, and the second encryption result after the post-quantum cryptography is sent to the network device.

[0051] The first master key is obtained based on the first decryption result and the second encryption result;

[0052] A second master key is generated based on the first master key, the first decryption result, the second encryption result, and the second quantum key to encrypt the communication between the network device and the terminal.

[0053] In this way, during communication between network devices and terminals, the devices and terminals request and obtain a quantum key, and then use a post-quantum cryptography algorithm to encrypt the quantum key to generate a quantum-resistant key that can resist quantum computing attacks. Post-quantum cryptography algorithms are a series of encryption algorithms designed to resist quantum computing attacks. The network devices and terminals exchange relevant data to generate a master key, and then combine the master key, the quantum-resistant key, and the quantum key for use in communication between them. This enhances the resistance to quantum attacks in network communication between network devices and terminals.

[0054] In some implementations, the first decryption result includes a second handshake message and a first handshake random number, and the method further includes:

[0055] The first handshake message is obtained based on the second handshake message and the first handshake random number;

[0056] The quantum key identifier is obtained based on the first handshake message.

[0057] Thus, the first handshake message is obtained based on the second handshake message and the first handshake random number, and then the quantum key identifier is obtained based on the obtained first handshake message. The quantum key identifier is thus obtained, and the quantity can be requested based on the quantum key identifier.

[0058] In some implementations, the first decryption result includes a first signature message, and the method further includes:

[0059] The first verification message is obtained based on the first signature message;

[0060] The first signature message is subjected to post-quantum cryptographic verification processing to confirm the correctness of the first verification message. The first verification message is obtained by concatenating the quantum key identifier, the first handshake random number, and the signature parameters corresponding to the public key exchange algorithm used by the network device.

[0061] If the obtained quantum key identifier is correct, the second quantum key is obtained from the service node connected to the terminal.

[0062] Thus, the first signed message undergoes post-quantum cryptographic verification to confirm the receipt of the correct first verification message, ensuring data integrity and the legitimacy of its source. Upon confirming the correctness of the received first verification message, a second quantum key is requested from the service node of the access terminal based on the quantum key identifier. This ensures that the obtained second quantum key matches the first quantum key of the network device. The second quantum key is used to generate a key with high security and strong resistance to quantum computing attacks.

[0063] In some implementations, obtaining the second quantum key from the service node accessing the terminal includes:

[0064] The service node is used to fill the cryptographic module of the terminal with multiple keys;

[0065] A quantum key request is sent to the service node. The quantum key request is protected by a protection key, which is one of a plurality of keys randomly used from the cryptographic modules.

[0066] The service node receives the quantum key encryption result obtained by encrypting the second quantum key according to the protection key. The second quantum key is generated and distributed to the service node by a second network node connected to the service node.

[0067] The second quantum key is obtained by decrypting the quantum key encryption result.

[0068] Thus, the service node is used to purge the cryptographic module with keys, ensuring a sufficient supply of keys for use. Upon confirming the correct quantum key identifier, a quantum key request is sent to the service node. This request uses a randomly selected key from multiple keys in the cryptographic module as a protection key for encryption. Then, the service node encrypts the second quantum key using the protection key, obtaining the encrypted result. This second quantum key is generated and distributed to the service node by a second network node connected to it. The encrypted result is then decrypted to obtain the second quantum key. This second quantum key can be used to generate keys resistant to quantum computing attacks.

[0069] In some embodiments, performing post-quantum cryptography on the first decryption result and sending the post-quantum cryptography-encrypted second encryption result to the network device includes:

[0070] The third handshake message is obtained by concatenating the quantum key identifier and the randomly generated second random number.

[0071] The fourth handshake message is generated by processing the second handshake random number in the third handshake message and the second encryption result;

[0072] The fourth handshake message is subjected to post-quantum cryptographic derivation processing to generate a second handshake key;

[0073] The fourth handshake message is subjected to post-quantum cryptographic encryption to generate the second encrypted message in the second encryption result;

[0074] The second verification message is obtained by concatenating the quantum key identifier, the second handshake random number, and the key material information corresponding to the public key exchange algorithm used by the terminal.

[0075] The second verification message is subjected to post-quantum cryptographic signature processing to generate the second signature message in the second encryption result;

[0076] The second encryption result is sent to the network device.

[0077] Thus, the quantum key identifier and a randomly generated second random number are concatenated to obtain the third handshake message. Then, the third handshake message is XORed with the second handshake random number in the second encryption result to generate the fourth handshake message in the second encryption result. Next, the fourth handshake message undergoes post-quantum cryptographic derivation processing to generate the second handshake key, and then undergoes post-quantum cryptographic encryption processing to generate the second encrypted message in the second encryption result. The quantum key identifier, the second handshake random number, and the key material information corresponding to the public-key key exchange algorithm used by the terminal are concatenated to obtain the second verification message. Finally, the second verification message undergoes post-quantum cryptographic signature processing to generate the second signature message in the second encryption result. The second encryption result is then sent to the network device. By concatenating the quantum key identifier with the second random number, the confidentiality of the quantum key identifier is increased. Furthermore, the post-quantum cryptographic algorithm is used to encrypt the quantum key identifier and its derivatives, combining quantum key distribution technology and post-quantum cryptography to increase the complexity of the quantum key identifier.

[0078] In some implementations, the first decryption result includes a second handshake message, and the step of generating a second master key based on the first master key, the first decryption result, the second encryption result, and the second quantum key to encrypt the communication between the network device and the terminal includes:

[0079] The first handshake key is obtained based on the second handshake message;

[0080] The first master key and the concatenated body are XORed to generate the second master key. The concatenated body is obtained by concatenating the XORed body and the second quantum key. The XORed body is obtained by XORing the first handshake key and the second handshake key.

[0081] The communication between the network device and the terminal is encrypted using the second master key.

[0082] Thus, the first handshake key is obtained from the second handshake message. Next, the first and second handshake keys are XORed to obtain an XOR product. This XOR product is then concatenated with the first quantum key to obtain a concatenated product. Then, the first master key and the concatenated product are XORed to generate the second master key. Finally, the generated second master key is used to encrypt all communication between network devices and terminals. This method, by using a key generated combining quantum key distribution and post-quantum cryptography techniques, enhances the resistance to quantum computing attacks in communication between network devices, protecting the data transmitted during communication.

[0083] This application provides a network device for use in a communication network based on the Secure Sockets Layer (SSL) Virtual Private Network (VPN) protocol. The communication network further includes a terminal, and the network device is configured to:

[0084] The first network node that connects to the network device obtains the first quantum key and quantum key identifier;

[0085] The quantum key identifier is subjected to post-quantum cryptographic encryption, and the first encryption result after the post-quantum cryptographic encryption is sent to the terminal.

[0086] The second encryption result received from the terminal is decrypted to obtain a second decryption result, which is obtained based on the first encryption result.

[0087] The first master key is obtained based on the first encryption result and the second decryption result;

[0088] A second master key is generated based on the first master key, the first encryption result, the second decryption result, and the first quantum key to encrypt the communication between the network device and the terminal.

[0089] In this way, during communication between network devices and terminals, the devices and terminals request and obtain a quantum key, and then use a post-quantum cryptography algorithm to encrypt the quantum key to generate a quantum-resistant key that can resist quantum computing attacks. Post-quantum cryptography algorithms are a series of encryption algorithms designed to resist quantum computing attacks. The network devices and terminals exchange relevant data to generate a master key, and then combine the master key, the quantum-resistant key, and the quantum key for use in communication between them. This enhances the resistance to quantum attacks in network communication between network devices and terminals.

[0090] This application provides a terminal for use in a communication network based on Internet Transport Layer Security (TLS) protocols. The communication network further includes network devices, and the terminal is configured to:

[0091] The network device receives a first encryption result after performing post-quantum cryptographic encryption on a quantum key identifier, wherein the quantum key identifier is obtained by the network device from the first network node it accesses.

[0092] The first encryption result is decrypted to obtain the first decryption result;

[0093] The first decryption result is subjected to post-quantum cryptography, and the second encryption result after the post-quantum cryptography is sent to the network device.

[0094] The first master key is obtained based on the first decryption result and the second encryption result;

[0095] A second master key is generated based on the first master key, the first decryption result, the second encryption result, and the second quantum key to encrypt the communication between the network device and the terminal.

[0096] In this way, during communication between network devices and terminals, the devices and terminals request and obtain a quantum key, and then use a post-quantum cryptography algorithm to encrypt the quantum key to generate a quantum-resistant key that can resist quantum computing attacks. Post-quantum cryptography algorithms are a series of encryption algorithms designed to resist quantum computing attacks. The network devices and terminals exchange relevant data to generate a master key, and then combine the master key, the quantum-resistant key, and the quantum key for use in communication between them. This enhances the resistance to quantum attacks in network communication between network devices and terminals.

[0097] This application provides a communication system based on the Secure Sockets Layer (SSL) Virtual Private Network (VPN) protocol. The communication system includes network devices as described above, terminals as described above, and a quantum key distribution network, wherein the quantum key distribution network is configured to distribute quantum keys to the network devices or the terminals.

[0098] This application provides a network device that includes one or more processors and a memory. The memory stores a computer program that, when executed by the processor, implements the method described above.

[0099] This application provides a terminal that includes one or more processors and a memory. The memory stores a computer program, which, when executed by the processor, implements the method described above.

[0100] This application provides a computer-readable storage medium storing a computer program thereon, which, when executed by a processor, implements the above-described method.

[0101] Additional aspects and advantages of this application will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of this application. Attached Figure Description

[0102] The above and / or additional aspects and advantages of this application will become apparent and readily understood from the description of the embodiments taken in conjunction with the following drawings, wherein:

[0103] Figure 1 is a flowchart illustrating one of the methods of this application;

[0104] Figure 2 is an architecture diagram of the method according to an embodiment of this application;

[0105] Figure 3 is a signaling diagram of the method according to an embodiment of this application;

[0106] Figure 4 is a second flowchart illustrating the method of this application.

[0107] Figure 5 is a flowchart of the method of this application embodiment (third one);

[0108] Figure 6 is a flowchart of the method of this application embodiment (fourth one);

[0109] Figure 7 is a fifth flowchart illustrating the method of this application.

[0110] Figure 8 is a flowchart of the method of this application embodiment, number six;

[0111] Figure 9 is a flowchart of the method of this application embodiment, number seven;

[0112] Figure 10 is a flowchart of the method of this application embodiment (eighth one);

[0113] Figure 11 is a flowchart of the method according to the embodiments of this application, number nine;

[0114] Figure 12 is a flowchart of the method according to the present application (the tenth one).

[0115] Figure 13 is a flowchart of the method according to an embodiment of this application;

[0116] Figure 14 is a flowchart of the method according to the present application, number 12;

[0117] Figure 15 is a flowchart of the method according to the embodiments of this application, number thirteen.

[0118] Figure 16 is a flowchart of the method according to the present application. Detailed Implementation

[0119] The embodiments of this application are described in detail below. Examples of the embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the accompanying drawings are exemplary and are only used to explain the embodiments of this application, and should not be construed as limiting the embodiments of this application.

[0120] The leap in computing power, exemplified by quantum computing, has significantly impacted the security of algorithms in classical cryptography. In other words, quantum computing poses a more direct and pressing threat to classical cryptography. For instance, Shor's quantum algorithm can solve complex mathematical problems such as large integer factorization and discrete logarithm solving in polynomial time, and can quickly break widely used public-key cryptographic algorithms such as RSA, ECC, DSA, and ElGamal. Understandably, as large-scale quantum computers become available, they will have some impact on applications of classical cryptography such as key negotiation, encryption, and signatures.

[0121] Thus, the security of the Internet, which uses classical cryptographic algorithms to protect communication processes, is heavily threatened by quantum computing attacks. For example, the SSL VPN protocol used at the transport and application layers employs the SM2 / SM9 digital signature algorithm for authentication and uses SM2 / SM9's ECDHE and digital envelope methods for key exchange. Although the SSL VPN protocol provides relatively strong security and forward secrecy, SM2 / SM9 is still an elliptic curve algorithm in classical cryptography and lacks resistance to quantum computing. The SSL VPN protocol is a virtual private network protocol for the transport and application layers defined in GM / T 0024 "SSL VPN Technical Specification" and GB / T 38636 "Information Security Technology Transport Layer Cryptography Protocol TLCP," encompassing the most widely used key exchange and authentication protocols in secure remote access systems in the domestic commercial cryptography field.

[0122] Currently, international technologies for addressing quantum computing attacks mainly fall into two categories: one focuses on scenarios where (symmetric) key negotiation is performed using asymmetric algorithms, followed by encrypted transmission using symmetric algorithms. This involves researching the use of quantum key distribution (QKD) networks for symmetric key negotiation to protect key security. The other category researches post-quantum cryptography (PQC) algorithms to directly replace existing asymmetric algorithms. Quantum key distribution technology utilizes quantum mechanics principles to generate keys that cannot be intercepted by third parties, ensuring the security of key transmission. It is particularly suitable for key exchange scenarios and can replace existing asymmetric key negotiation algorithms, such as RSA or ECC, to improve key security. However, quantum key distribution technology cannot currently completely replace all applications of asymmetric algorithms. For example, in scenarios involving signature verification, integrity protection, and non-repudiation, asymmetric algorithms are still required.

[0123] Post-quantum cryptography algorithms are asymmetric cryptographic algorithms designed based on new mathematical problems, aiming to resist the potential threats posed by quantum computers. NIST has published the first batch of four proposed standardized post-quantum cryptographic algorithms: Kyber, Dilithium, Falcon, and SPHINCS+. These algorithms cover multiple technical approaches to reduce the risk of a single technique being compromised. Theoretically, post-quantum cryptography algorithms can replace all asymmetric algorithms and are more universal. However, the security of post-quantum cryptography algorithms still depends on the complexity of the computational problem, and they may face new methods of breaking them in the future or become insecure as computing power increases. Furthermore, post-quantum cryptography standards have not yet been officially published, and the production and certification of related products will take time; therefore, their large-scale application will require a considerable period.

[0124] Both post-quantum cryptography algorithms and quantum key distribution technologies have the ability to resist quantum computing attacks, but each has its limitations. Therefore, providing a relatively low-cost and highly secure cryptographic technology that can resist quantum computing attacks has become an urgent problem to be solved.

[0125] Based on the above problems, please refer to Figure 1. This application provides a method for enhancing the quantum security of an SSL VPN protocol in a communication network, wherein the communication network includes a terminal and a network device, and the method is used in the network device. The method includes:

[0126] 011: Obtain the first quantum key and quantum key identifier from the first network node connected to the network device;

[0127] 012: Perform post-quantum cryptographic encryption on the quantum key identifier and send the first encryption result after post-quantum cryptographic encryption to the terminal;

[0128] 013: The second encryption result received from the terminal is decrypted to obtain the second decryption result, which is obtained based on the first encryption result;

[0129] 014: Obtain the first master key based on the first encryption result and the second decryption result;

[0130] 015: A second master key is generated based on the first master key, the first encryption result, the second decryption result, and the first quantum key to encrypt the communication between network devices and terminals.

[0131] This application also provides a network device, including a memory and a processor. The method of this application can be implemented by the network device of this application. Specifically, the memory stores a computer program, and the processor is used to obtain a first quantum key and a quantum key identifier from a first network node connected to the network device, perform post-quantum cryptography encryption on the quantum key identifier, and send the first encryption result after post-quantum cryptography encryption to a terminal. The processor is also used to decrypt a second encryption result received from the terminal to obtain a second decryption result, the second encryption result being obtained based on the first encryption result. The processor is also used to obtain a first master key based on the first encryption result and the second decryption result, and to generate a second master key based on the first master key, the first encryption result, the second decryption result, and the first quantum key, so as to encrypt the communication between the network device and the terminal.

[0132] This application also provides a network device. The method of this application can be implemented by the network device of this application. Specifically, the network device includes an acquisition module, an encryption module, a decryption module, and a derivation module. The acquisition module is used to acquire a first quantum key and a quantum key identifier from a first network node connected to the network device. The encryption module is used to perform post-quantum cryptography encryption on the quantum key identifier and send the first encryption result after post-quantum cryptography encryption to a terminal. The decryption module is used to decrypt the second encryption result received by the terminal to obtain a second decryption result, the second encryption result being derived from the first encryption result. The derivation module is used to obtain a first master key based on the first encryption result and the second decryption result. The derivation module is also used to generate a second master key based on the first master key, the first encryption result, the second decryption result, and the first quantum key, to encrypt the communication between the network device and the terminal.

[0133] This application provides a communication system based on the Secure Sockets Layer (SSL) Virtual Private Network (VPN) protocol. The communication system includes network devices, terminals, and a quantum key distribution network (QKDC) as described above. The QKDC is configured to distribute quantum keys to the network devices or terminals. Specifically, the QKDC includes network nodes and a quantum network link control center. The network nodes are used to store quantum keys within the QKDC. The quantum network link control center can establish quantum key distribution and relay links between network nodes according to their names. The relay links are used for data transfer and other functions. The QKDC provides services such as quantum key generation, quantum key relay, and quantum key provision.

[0134] Referring to Figure 2, in some implementations, the terminal and network device communicate through an SSL VPN record layer encrypted channel, such as an SSL VPN handshake protocol. The SSL VPN record layer encrypted channel refers to the encrypted communication channel established between the terminal and network device, used to transmit application layer and transport layer data. The SSL VPN handshake protocol is a key part of the SSL VPN protocol, used in the initial stage of establishing secure communication between the terminal and network device. The terminal accesses a service node, which acts as a relay station for the terminal to connect to the network node, used to supply keys to the terminal and relay and store quantum keys. When the terminal sends a quantum key request, the network node sends the quantum key generated by the quantum key distribution network to the service node accessing the terminal, and the service node then sends the quantum key back to the terminal. First, the network device sends a quantum key request to the network node accessing the network device. Then, the network node accessing the network device confirms the quantum key request sent through the network device and distributes the quantum key to the network device. Simultaneously, the quantum network link control center synchronously causes the network node accessing the service node to generate a quantum key, but this quantum key is not immediately distributed to the service node accessing the terminal; instead, it is first stored in the network node. The above correspondences between terminals, network devices, and network nodes are all provided by the management and control platform.

[0135] It should be noted that this application uses the FIPS 203 Module-Lattice-based Key-Encapsulation Mechanism Standard as the PQC key encapsulation algorithm and the FIPS 204 Module-Lattice-Based Digital Signature Standard as the PQC digital signature algorithm for explanation and illustration. All subsequent descriptions of PQC algorithm-related operations refer to the aforementioned FIPS standards. Of course, in other embodiments, other algorithms such as the NewHope algorithm, Sidh algorithm, and HQC algorithm can also be used as the relevant PQC algorithms. It should also be noted that the embodiments of this application are based on the SSL VPN protocol defined in GM / T 0024 "SSL VPN Technical Specification" and GB / T 38636 "Information Security Technology Transport Layer Cryptography Protocol TLCP".

[0136] Specifically, the network device sends a quantum key request to the first network node connected to it. It then obtains a first quantum key and a quantum key identifier from the first network node. The first quantum key and quantum key identifier can be used to generate a key resistant to quantum computing attacks, and the quantum key identifier helps in the use and management of the quantum key. After obtaining the first quantum key and quantum key identifier, the network device performs post-quantum cryptography encryption on the quantum key identifier and sends the first encryption result of the post-quantum cryptography encryption to the terminal. By performing post-quantum cryptography encryption on the quantum key identifier, quantum key distribution technology is combined with post-quantum cryptography algorithms to increase the complexity of the key. Sharing the encryption result with the terminal ensures that the communication data between the network device and the terminal in the communication network remains consistent.

[0137] Then, the terminal receives the first encryption result sent by the network device, decrypts the first encryption result to obtain a first decryption result. The terminal then performs post-quantum cryptography encryption on the first decryption result to obtain a second encryption result. After obtaining the second encryption result, the terminal sends the second encryption result to the network device so that the network device can also share the terminal information and the generated key. The terminal then obtains a first master key based on the first decryption result and the second encryption result, and generates a second master key based on the first master key, the first decryption result, the second encryption result, and the second quantum key to encrypt the communication between the terminal and the network device.

[0138] Simultaneously, the network device receives the second encryption result sent by the terminal and decrypts it to obtain a second decryption result. The network device then obtains a first master key based on the first encryption result and the second decryption result, and generates a second master key based on the first master key, the first encryption result, the second decryption result, and the first quantum key, to encrypt the communication between the network device and the terminal.

[0139] The following example illustrates the method of this application. In the embodiment described, the client is a terminal, the user end of the SSL VPN, which obtains a key set between itself and the server through the SSL VPN handshake protocol. This key set is used by the SSL VPN record layer protocol to protect the integrity and confidentiality of user data. The SSL VPN gateway is a network device, the server end of the SSL VPN, which obtains a key set between itself and the client through the SSL VPN handshake protocol. This key set is used by the SSL VPN record layer protocol to protect the integrity and confidentiality of user data. The quantum network node is a network node that stores and provides generated quantum keys to the SSL VPN gateway through a trusted channel or to the client through a key service node. The cryptographic service node is a service node that connects to the quantum network node and provides pre-shared key injection and quantum key services to multiple clients. The server message includes a ServerKeyExchange message containing a first encryption result. The client message includes a ClientKeyExchange message containing a second encryption result. Referring to Figure 3, the SSL VPN gateway receives the first quantum key QK_UUID and quantum key identifier UUID_QK sent by the first quantum network node accessing the network device. The quantum key identifier helps in managing and using the quantum key. After obtaining the first quantum key QK_UUID and quantum key identifier UUID_QK, the SSL VPN gateway performs post-quantum cryptography encryption on the quantum key identifier UUID_QK and sends the post-quantum cryptography encrypted ServerKeyExchange message to the network device.

[0140] Then, the client receives the ServerKeyExchange message from the SSL VPN gateway, performs post-quantum cryptographic decryption on the ServerKeyExchange message to obtain the first decryption result. The client then performs post-quantum cryptographic encryption on the first decryption result to obtain the ClientKeyExchange message. After obtaining the ClientKeyExchange message, the client sends it to the SSL VPN gateway. Subsequently, the client calculates the first master key master_secret according to the SSL VPN protocol based on the relevant information in the first decryption result and the relevant information in the ClientKeyExchange message. Then, based on the first master key master_secret, the first decryption result, and the client message, a second master key master_secret2 is generated to encrypt the communication between the client and the SSL VPN gateway and protect the communication data.

[0141] Simultaneously, the SSL VPN gateway receives the ClientKeyExchange message sent by the client and performs post-quantum cryptographic decryption processing on the client message to obtain a second decryption result. Subsequently, the SSL VPN gateway calculates the first master key `master_secret` according to the SSL VPN protocol based on the relevant information in the ServerKeyExchange message and the second decryption message. Then, based on the first master key `master_secret`, the second decryption result, and the ServerKeyExchange message, a second master key `master_secret2` is generated to encrypt the communication between the client and the SSL VPN gateway, protecting the communication data. This ensures that even in the face of potential threats from quantum computers, the TLS handshake between the client and the secure access gateway can still provide secure data transmission. By using post-quantum cryptography algorithms and quantum key distribution technology, communication can be more securely resisted against potential threats from quantum computers.

[0142] In summary, the quantum-resistant security enhancement method, communication system, terminal, and network device for the SSL VPN protocol in the communication network described in this application involve the following steps during communication between the network device and the terminal: the network device and the terminal obtain a quantum key and a quantum key identifier, and then use a post-quantum cryptography algorithm to encrypt the quantum key to generate a quantum-resistant key that can resist quantum computing attacks. The post-quantum cryptography algorithm is a series of encryption algorithms designed to resist quantum computing attacks. The network device and the terminal exchange their respective generated random numbers to generate a master key, and then combine the master key, the quantum-resistant key, and the quantum key for use in communication between the network device and the terminal. This enhances the quantum-resistant capability of network communication between the network device and the terminal.

[0143] Please refer to Figure 4. In some embodiments, the method further includes:

[0144] 016: Access the first network node through a pre-established channel;

[0145] 017: Load the security certificate of the terminal or the security certificate of the network device.

[0146] In some implementations, the access module is used to access the first network node through a pre-established channel, and the loading module is used to load the security certificate of the terminal or the security certificate of the network device.

[0147] In some implementations, the processor is also used to access the first network node via a pre-established channel and to load the security certificate of the terminal or the security certificate of the network device.

[0148] Specifically, before transmitting data with the terminal, the network device connects to the first network node through a pre-established channel. This pre-established channel protects the data during transmission, reducing the risk of unauthorized access. Next, the network device loads its own security certificate or the terminal's security certificate. Once loaded, the security certificate is used to establish and maintain a secure communication channel, enhancing data security during transmission.

[0149] Continuing with the example above, please refer to Figure 3 again. Before data transmission between the SSL VPN gateway and the client, the SSL VPN gateway connects to the nearest authorized first quantum network node via a trusted channel. A trusted channel refers to a mechanism or protocol that provides a secure communication path between two communicating entities. One way to establish this is for the SSL VPN gateway and the first quantum network node to be located in the same rack and directly connected with shielded network cables. This channel ensures the confidentiality, integrity, and availability of data during transmission, preventing unauthorized access, tampering, or eavesdropping. Simultaneously, through offline import, the SSL VPN gateway and the client load the public key from each other's post-quantum cryptography key pair, or their own post-quantum cryptography certificate issued by a certificate system. The certificate includes an encryption certificate and a signing certificate. Offline import means that the key or certificate transmission will not be conducted via the internet or other network paths that may be eavesdropped on or attacked, ensuring the security of the transmission process. Thus, by connecting the SSL VPN gateway to the first quantum network node via a trusted channel and loading secure certificates using offline import, the confidentiality of network device data is ensured, reducing the risk of data leakage.

[0150] Referring to Figure 5, in some embodiments, step 011 (obtaining the first quantum key and quantum key identifier from the first network node connected to the network device) includes:

[0151] 0111: Send a quantum key request to the first network node;

[0152] 0112: Receive the first quantum key and quantum key identifier distributed by the first network node according to the quantum key application. The quantum key identifier is obtained by the first network node using the first network node's identification code to annotate the first quantum key.

[0153] In some implementations, the sending module is used to send a quantum key request to the first network node. The receiving module is used to receive the first quantum key and quantum key identifier distributed by the first network node according to the quantum key request. The quantum key identifier is obtained by the first network node annotating the first quantum key using its own identification code.

[0154] In some implementations, the processor is further configured to send a quantum key request to the first network node, and to receive a first quantum key and a quantum key identifier distributed by the first network node according to the quantum key request, wherein the quantum key identifier is obtained by the first network node annotating the first quantum key using the first network node's identification code.

[0155] Specifically, the network device sends a quantum key request to the first network node connected to the network. After the first network node approves the quantum key request, it distributes the first quantum key and quantum key identifier generated in the quantum key distribution network to the network device. The quantum key identifier is obtained by the first network node using its own identification code to annotate the first quantum key; the quantum key identifier helps in managing and using the quantum key. This process obtains the first quantum key and quantum key identifier for key derivation in subsequent processes.

[0156] Continuing with the example above, please refer to Figure 3 again. After receiving the client hello message from the terminal, the SSL VPN gateway sends a quantum key request to the first quantum network node directly connected to the SSL VPN gateway to obtain a quantum key. The first quantum network node directly connected to the SSL VPN gateway distributes a first quantum key QK_UUID (more than 128 bits) and a quantum key identifier UUID_QK generated by the quantum key distribution network to the SSL VPN gateway through a trusted channel. The quantum key identifier is obtained by the quantum network node connected to the SSL VPN gateway using a unique universal identifier to mark the first quantum key. The quantum key identifier helps in the management and use of the quantum key. At the same time, the quantum network link control center generates a matching second quantum key QK_UUID through the quantum key distribution network and stores it in the second quantum network node directly connected to the cryptographic service node connected to the client, instead of distributing it directly to the client. In this way, the first quantum key QK_UUID and the quantum key identifier UUID_QK are obtained for subsequent key derivation.

[0157] Referring to Figure 6, in some embodiments, step 012 (performing post-quantum cryptographic encryption on the quantum key identifier and sending the first encryption result after post-quantum cryptographic encryption to the terminal) includes:

[0158] 0121: The first handshake message is obtained by concatenating the quantum key identifier and the first randomly generated random number;

[0159] 0122: Obtain the second handshake message based on the first handshake message and the first handshake random number in the first encryption result;

[0160] 0123: Perform post-quantum cryptographic derivation processing on the first handshake message to generate the first handshake key;

[0161] 0124: Perform post-quantum cryptographic encryption on the first handshake message to generate the first encrypted message in the first encryption result;

[0162] 0125: The first verification message is obtained by concatenating the quantum key identifier, the first handshake random number, and the signature parameters corresponding to the public key exchange algorithm used by the network device;

[0163] 0126: Perform post-quantum cryptographic signature processing on the first verification message to generate the first signature message in the first encryption result;

[0164] 0127: Send the first encryption result to the terminal.

[0165] In some implementations, the concatenation module concatenates the quantum key identifier and a randomly generated first random number to obtain a first handshake message. The processing module obtains a second handshake message based on the first handshake message and the first handshake random number in the first encryption result. The derivation module performs post-quantum cryptographic derivation processing on the first handshake message to generate a first handshake key. The encryption module performs post-quantum cryptographic encryption processing on the first handshake message to generate a first encrypted message in the first encryption result. The concatenation module also concatenates the quantum key identifier, the first handshake random number, and the signature parameters corresponding to the public-key exchange algorithm used by the network device to obtain a first verification message. The signature module performs post-quantum cryptographic signature processing on the first verification message to generate a first signature message in the first encryption result. The sending module sends the first encryption result to the terminal.

[0166] In some embodiments, the processor is further configured to concatenate the quantum key identifier and a randomly generated first random number to obtain a first handshake message, and to obtain a second handshake message based on the first handshake message and the first handshake random number in the first encryption result, and to perform post-quantum cryptographic derivation processing on the first handshake message to generate a first handshake key. The processor is also configured to perform post-quantum cryptographic encryption processing on the first handshake message to generate a first encrypted message in the first encryption result. The processor is further configured to concatenate the quantum key identifier, the first handshake random number, and the signature parameters corresponding to the public-key exchange algorithm used by the network device to obtain a first verification message. The processor is further configured to perform post-quantum cryptographic signature processing on the first verification message to generate a first signature message in the first encryption result, and to send the first encryption result to the terminal.

[0167] Specifically, the network device concatenates the quantum key identifier with a randomly generated first random number to obtain the first handshake message, thus increasing the complexity of the quantum key identifier. Next, the network device processes the first handshake message and the first handshake random number from the first encryption result to generate the second handshake message. The network device then performs post-quantum cryptographic derivation processing on the second handshake message to generate the first handshake key, which is resistant to quantum computing attacks. Then, the network device performs post-quantum cryptographic encryption processing on the second handshake message to generate the first encrypted message in the first encryption result. The network device then concatenates the quantum key identifier, the first handshake random number, and the signature parameters corresponding to the public-key exchange algorithm used by the network device to obtain the first verification message. Finally, the network device performs post-quantum cryptographic signing processing on the first verification message to generate the first signed message in the first encryption result and sends the first encryption result to the network device. The first signed message ensures the integrity and authenticity of the message's origin; any unauthorized access or tampering during data transmission will be detected. The confidentiality of the quantum key identifier is increased by the above-mentioned splicing and other processing methods. Furthermore, the quantum key identifier and its derivatives are processed by post-quantum cryptography algorithms to increase the complexity of the quantum key identifier by combining quantum key distribution technology and post-quantum cryptography technology.

[0168] Continuing the example above, the server-side message includes a ServerKeyExchange message, which contains the first encryption result, and signed_param is the signature parameter. Referring again to Figure 3, after the SSL VPN gateway obtains the first quantum key QK_UUID and quantum key identifier UUID_QK, it sends a server-side message for the SSL VPN protocol. When a post-quantum cryptography certificate is available, the SSL VPN gateway's PQC signing certificate and PQC encryption certificate are added to the Certificate message in the server-side message. When a post-quantum cryptography certificate is not available, the SSL VPN gateway and client can import each other's PQC signing public key or PQC encryption public key offline. After adding the SSL VPN gateway's PQC signing certificate and PQC encryption certificate to the Certificate message, the optional ServerKeyExchange message in the server-side message is made mandatory, and this message is improved by adding the following:

[0169] The SSL VPN gateway concatenates the quantum key identifier UUID_QK and a first 128-bit random number r1 randomly generated by the SSL VPN gateway to obtain the first handshake message m1. Then, the SSL VPN gateway XORs the first handshake message m1 with the first handshake random number R1 from the server message to obtain the second handshake message m2. Next, the SSL VPN gateway uses the second handshake message m2 as the encrypted message m in the PQC key encapsulation algorithm and runs the G function of the PQC algorithm to obtain the first handshake key K1. The second handshake message m2 is then PQC encrypted to generate the first encrypted message in the server message. Finally, the SSL VPN gateway concatenates the quantum key identifier UUID_QK, the first handshake random number R1 from the server message, and the signed_param corresponding to the public key exchange algorithm defined by the SSL VPN in the ServerKeyExchange message to obtain the first verification message (UUID_QK|R1|signed_param), and uses the first verification message as M in the PQC signature algorithm for PQC signature protection to generate the first signed message M1 in the server message. Public key exchange algorithms include, but are not limited to, ECDHE, ECC, IBSDH, IBC, and RSA. The aforementioned PQC encrypted encapsulation information and PQC signature information are appended as new content to the ServerKeyExchange message after the signed_param corresponding to the public key exchange algorithm defined in the SSL VPN protocol. Thus, the SSL VPN gateway increases the confidentiality of the quantum key identifier UUID_QK by concatenating it with a randomly generated first random number r1, and further increases the complexity of the quantum key identifier by processing the quantum key identifier UUID_QK and its derivatives using post-quantum cryptography algorithms, combining quantum key distribution technology with post-quantum cryptography.

[0170] Referring to Figure 7, in some embodiments, step 013 (decrypting the received second encryption result sent by the terminal to obtain a second decryption result) includes:

[0171] 0131: The receiving terminal sends a second encryption result, which is obtained by the terminal performing post-quantum cryptography encryption on the first decryption result, and the first decryption result is obtained by the terminal decrypting the first encryption result;

[0172] 0132: The second encryption result is decrypted to obtain the second decryption result, which includes the second handshake random number, the fourth handshake message, and the second signature message.

[0173] In some implementations, the receiving module is used to receive a second encryption result sent by the terminal. The second encryption result is obtained by the terminal performing post-quantum cryptographic encryption on the first decryption result, and the first decryption result is obtained by the terminal decrypting the first encryption result. The decryption module is used to decrypt the second encryption result to obtain a second decryption result, which includes a second handshake random number, a fourth handshake message, and a second signature message.

[0174] In some embodiments, the processor is further configured to receive a second encryption result sent by the terminal, the second encryption result being obtained by the terminal performing post-quantum cryptographic encryption on the first decryption result, and the first decryption result being obtained by the terminal decrypting the first encryption result. The processor is further configured to decrypt the second encryption result to obtain a second decryption result, the second decryption result including a second handshake random number, a fourth handshake message, and a second signature message.

[0175] Specifically, the network device receives a second encryption result sent by the terminal. This second encryption result is obtained by the terminal performing post-quantum cryptographic encryption on the first decryption result, and the first decryption result is obtained by the terminal decrypting the first encryption result. Next, the network device decrypts the second encryption result to obtain a second decryption result, which includes a second handshake random number, a fourth handshake message, and a second signature message. In this way, the network device determines the availability of the communication channel with the terminal and obtains the terminal's key information. This key information can be combined with the network device's relevant key information to generate a more secure key.

[0176] Continuing with the example above, please refer to Figure 3. The SSL VPN gateway receives the ClientKeyExchange message sent by the client. The ClientKeyExchange message is obtained by the client performing PQC encryption on the first decryption result, which is then obtained by the terminal decrypting the ServerKeyExchange message. Then, the SSL VPN gateway decrypts the ClientKeyExchange message to obtain a second decryption result, which includes the second handshake random number R2, the fourth handshake message m4, and the second signature message M2. In this way, the SSL VPN gateway determines the availability of the communication channel with the client and obtains the client's key information. This key information can be combined with the SSL VPN gateway's relevant key information to generate a more secure key.

[0177] Please refer to Figure 8. In some embodiments, the method further includes:

[0178] 018: Obtain the second handshake key based on the fourth handshake message;

[0179] 019: Obtain the third handshake message and quantum key identifier based on the fourth handshake message and the second handshake random number.

[0180] In some implementations, the derived module is used to obtain the second handshake key based on the fourth handshake message, and to obtain the third handshake message and the quantum key identifier based on the fourth handshake message and the second handshake random number.

[0181] In some implementations, the processor is further configured to obtain a second handshake key based on a fourth handshake message, and to obtain a third handshake message and a quantum key identifier based on the fourth handshake message and the second handshake random number.

[0182] Specifically, the network device obtains the second handshake key based on the fourth handshake message. Then, the network device uses the fourth handshake message and the second handshake random number to obtain the third handshake message and the quantum key identifier. This second handshake key is used for subsequent key derivation to obtain a key with good resistance to quantum computing attacks.

[0183] Continuing with the example above, please refer to Figure 3 again. The SSL VPN gateway obtains the second handshake key K2 based on the fourth handshake message m4. Next, the SSL VPN gateway XORs the fourth handshake message m4 with the second handshake random number R2 to obtain the third handshake message m3, and then uses the third handshake message m3 to obtain the quantum key identifier UUID_QK. In this way, the SSL VPN gateway obtains the second handshake key K2, which is used for subsequent key generation to obtain a key with good resistance to quantum computing attacks.

[0184] Please refer to Figure 9. In some embodiments, the method further includes:

[0185] 020: Obtain the second verification message based on the second signature message;

[0186] 021: Perform post-quantum cryptographic verification processing on the second signature message to confirm the correctness of the second verification message. The second verification message is obtained by concatenating the quantum key identifier, the second handshake random number, and the key material information corresponding to the public key key exchange algorithm used by the terminal.

[0187] In some implementations, the derived module is further used to obtain a second verification message based on the second signature message, and the verification module is used to perform post-quantum cryptographic verification processing on the second signature message to confirm the correctness of the second verification message. The second verification message is obtained by concatenating the quantum key identifier, the second handshake random number, and the key material information corresponding to the public key exchange algorithm used by the terminal.

[0188] In some implementations, the processor is further configured to obtain a second verification message based on the second signature message, and to perform post-quantum cryptographic verification processing on the second signature message to confirm the correctness of the second verification message. The second verification message is obtained by concatenating the quantum key identifier, the second handshake random number, and the key material information corresponding to the public key exchange algorithm used by the terminal.

[0189] Specifically, the network device obtains the second verification message based on the second signature message, and then performs post-quantum cryptographic verification processing on the second signature message to confirm its correctness. The second verification message is obtained by concatenating the quantum key identifier, the second handshake random number, and the key material information corresponding to the public-key key exchange algorithm used by the terminal. Through this verification process, the network device can confirm the identity of the terminal and the integrity of the data, providing security for subsequent data transmission.

[0190] Continuing with the example above, please refer to Figure 3 again. The SSL VPN gateway obtains the second verification message based on the second signature message M2, and then performs post-quantum cryptographic verification processing on the second signature message M2 to confirm the correctness of the second verification message, that is, to confirm that the correct quantum key identifier UUID_QK and the second handshake random number R2 have been received. In this way, the SSL VPN gateway and the client achieve secure data exchange and communication, ensuring the confidentiality, integrity, and authenticity of the data source.

[0191] Please refer to Figure 10. In some embodiments, step 015 (generating a second master key based on the first master key, the first encryption result, the second decryption result, and the first quantum key to encrypt communication between network devices and terminals) includes:

[0192] 0151: The first master key and the spliced ​​body are XORed to generate the second master key. The spliced ​​body is obtained by splicing the XOR body and the first quantum key. The XOR body is obtained by XORing the first handshake key and the second handshake key.

[0193] 0152: Encrypt communication between network devices and terminals based on the second master key.

[0194] In some implementations, the derived module is further configured to XOR the first master key and the concatenated body to generate a second master key. The concatenated body is obtained by concatenating the XORed body and the first quantum key, and the XORed body is obtained by XORing the first handshake key and the second handshake key. The encryption module is further configured to encrypt the communication between the network device and the terminal based on the second master key.

[0195] In some implementations, the processor is further configured to perform an XOR operation on the first master key and the spliced ​​body to generate a second master key, wherein the spliced ​​body is obtained by splicing the XOR body and the first quantum key, the XOR body is obtained by XORing the first handshake key and the second handshake key, and to encrypt the communication between the network device and the terminal based on the second master key.

[0196] Specifically, the network device XORs the first handshake key and the second handshake key to obtain an XOR peg, and then concatenates the XOR peg with the quantum key identifier to obtain a concatenated peg. Next, the network device XORs the concatenated peg with the first master key to obtain the second master key. Finally, the network device uses the second master key to protect the communication between the network device and the terminal. In this way, by using a key generated by combining quantum key distribution technology and post-quantum cryptography technology, the ability of communication between network devices to resist quantum computing attacks is enhanced, protecting the data transmitted during the communication process.

[0197] Continuing the example above, the SSL VPN gateway calculates the first master key, `master_secret`, according to the SSL VPN protocol. Then, the SSL VPN gateway XORs the 32-byte (256-bit) first handshake key K1 and the 32-byte second handshake key K2 to generate an XOR product (K1⊕K2). This XOR product is then concatenated with the 16-byte quantum key identifier UUID_QK to obtain a concatenated product ((K1⊕K2)|UUID_QK). Next, the SSL VPN gateway XORs the concatenated product with the 48-byte first master key, `master_secret`, to obtain the second master key, `master_secret2`. Finally, the SSL VPN gateway uses the generated second master key, `master_secret2`, to encrypt communication between the SSL VPN gateway and the client. This method, by using a key generated combining quantum key distribution and post-quantum cryptography techniques, enhances the resistance of communication between network devices to quantum computing attacks, protecting the data transmitted during the communication process. During SSL VPN protocol communication, the authentication scope of the CertifyVerify and Finished messages between the SSL VPN gateway and client covers newly added PQC-related messages, such as the PQC key encapsulation information and PQC signature information in the ServerKeyExchange message and the ClientKeyExchange message. After the SSL VPN gateway and client each obtain the second master key master_secret2, they calculate the working key according to the SSL VPN protocol, including the client's and SSL VPN gateway's verification key and encryption key for application data protection in the record layer protocol.

[0198] Please refer to Figure 11. This application provides a method for enhancing the quantum security of an SSL VPN protocol in a communication network. The communication network includes a terminal and network devices. The method is used on the terminal and includes:

[0199] 031: Receive the first encryption result of the quantum key identifier after post-quantum cryptographic encryption processing by the network device, wherein the quantum key identifier is obtained by the network device from the first network node it accesses;

[0200] 032: Decrypt the first encrypted result to obtain the first decrypted result;

[0201] 033: Perform post-quantum encryption on the first decryption result, and send the second encryption result after post-quantum encryption to the network device;

[0202] 034: Obtain the first master key based on the first decryption result and the second encryption result;

[0203] 035: A second master key is generated based on the first master key, the first decryption result, the second encryption result, and the second quantum key to encrypt the communication between network devices and terminals.

[0204] This application also provides a terminal, including a memory and a processor. The method of this application can be implemented by the terminal of this application. Specifically, the memory stores a computer program, and the processor is used to receive a first encryption result of a quantum key identifier being encrypted by a network device using post-quantum cryptography, the quantum key identifier being obtained by the network device from a first network node it has accessed; and to decrypt the first encryption result to obtain a first decryption result, and to perform post-quantum cryptography encryption on the first decryption result, and send a second encryption result after post-quantum cryptography encryption to the network device. The processor is also used to obtain a first master key based on the first decryption result and the second encryption result, and to generate a second master key based on the first master key, the first decryption result, the second encryption result, and the second quantum key, so as to encrypt the communication between the network device and the terminal.

[0205] This application also provides a terminal. The method of this application can be implemented by the terminal of this application. Specifically, the terminal includes a receiving module, a decryption module, an encryption module, and a derived module. The receiving module is used to receive a first encryption result of a quantum key identifier after post-quantum cryptography encryption processing by a network device, wherein the quantum key identifier is obtained by the network device from a first network node it has accessed. The decryption module is used to decrypt the first encryption result to obtain a first decryption result. The encryption module is used to perform post-quantum cryptography encryption processing on the first decryption result and send a second encryption result after post-quantum cryptography encryption processing to the network device. The derived module is used to obtain a first master key based on the first decryption result and the second encryption result, and to generate a second master key based on the first master key, the first decryption result, the second encryption result, and the second quantum key, so as to encrypt the communication between the network device and the terminal.

[0206] Specifically, in this embodiment, the network device sends a quantum key request to a first network node connected to the network device, and then obtains a first quantum key and a quantum key identifier from the first network node. The first quantum key and the quantum key identifier can be used to generate a key resistant to quantum computing attacks, and the quantum key identifier helps in the use and management of the quantum key. After obtaining the first quantum key and the quantum key identifier, the network device performs post-quantum cryptography encryption on the quantum key identifier and sends the first encryption result of the post-quantum cryptography encryption to the terminal. By performing post-quantum cryptography encryption on the quantum key identifier, quantum key distribution technology is combined with post-quantum cryptography technology to increase the complexity of the key, and the encryption result is sent to the terminal for sharing to ensure that the communication data between the network device and the terminal in the communication network remains consistent.

[0207] Then, the terminal receives a first encryption result from the network device. This first encryption result is obtained by the network device through post-quantum cryptography encryption of the quantum key identifier, which is obtained by the network device from the first network node accessing the network device. Next, the terminal decrypts the first encryption result to obtain a first decryption result, which includes information about the key from the network device. Then, the terminal performs post-quantum cryptography encryption on the first decryption result to obtain a second encryption result. After obtaining the second encryption result, the terminal sends it to the network device so that the network device can also share the terminal's information and the generated key. The terminal then obtains a first master key based on the first decryption result and the second encryption result, and generates a second master key based on the first master key, the first decryption result, the second encryption result, and the second quantum key to encrypt the communication between the terminal and the network device.

[0208] Simultaneously, the network device receives the second encryption result sent by the terminal and decrypts it to obtain a second decryption result. The network device then obtains a first master key based on the first encryption result and the second decryption result, and generates a second master key based on the first master key, the first encryption result, the second decryption result, and the first quantum key, to encrypt the communication between the network device and the terminal.

[0209] Continuing with the example above, please refer to Figure 3. The SSL VPN gateway receives the first quantum key QK_UUID and quantum key identifier UUID_QK sent from the first quantum network node accessing the network device. The quantum key identifier helps in managing and using the quantum key. After obtaining the first quantum key QK_UUID and quantum key identifier UUID_QK, the SSL VPN gateway performs post-quantum cryptography encryption on the quantum key identifier UUID_QK and sends the post-quantum cryptography encrypted ServerKeyExchange message to the network device.

[0210] Then, the client receives a ServerKeyExchange message from the SSL VPN gateway. This ServerKeyExchange message is obtained by the SSL VPN gateway through post-quantum cryptographic encryption of a quantum key identifier, which the gateway obtains from the first network node connected to it. The client then performs post-quantum cryptographic decryption on the ServerKeyExchange message to obtain a first decryption result, which includes information about the key from the SSL VPN gateway. The client then performs post-quantum cryptographic encryption on the first decryption result to obtain a ClientKeyExchange message. After receiving the ClientKeyExchange message, the client sends it to the SSL VPN gateway. Subsequently, the client calculates a first master key, master_secret, according to the SSL VPN protocol based on the information in the first decryption result and the ClientKeyExchange message. Finally, based on the first master key, master_secret, the first decryption result, and the client message, a second master key, master_secret2, is generated to encrypt the communication between the client and the SSL VPN gateway, protecting the communication data.

[0211] Simultaneously, the SSL VPN gateway receives the ClientKeyExchange message sent by the client and performs post-quantum cryptographic decryption processing on the client message to obtain a second decryption result. Subsequently, the SSL VPN gateway calculates the first master key `master_secret` according to the SSL VPN protocol based on the relevant information in the ServerKeyExchange message and the second decryption message. Then, based on the first master key `master_secret`, the second decryption result, and the ServerKeyExchange message, a second master key `master_secret2` is generated to encrypt the communication between the client and the SSL VPN gateway, protecting the communication data. This ensures that even in the face of potential threats from quantum computers, the TLS handshake between the client and the secure access gateway can still provide secure data transmission. By using post-quantum cryptography algorithms and quantum key distribution technology, communication can be more securely resisted against potential threats from quantum computers.

[0212] In summary, the quantum-resistant security enhancement method, communication system, terminal, and network device for the SSL VPN protocol in the communication network described in this application involve the following steps during communication between the network device and the terminal: the network device and the terminal obtain a quantum key and a quantum key identifier, and then use a post-quantum cryptography algorithm to encrypt the quantum key to generate a quantum-resistant key that can resist quantum computing attacks. The post-quantum cryptography algorithm is a series of encryption algorithms designed to resist quantum computing attacks. The network device and the terminal exchange their respective generated random numbers to generate a master key, and then combine the master key, the quantum-resistant key, and the quantum key for use in communication between the network device and the terminal. This enhances the quantum-resistant capability of network communication between the network device and the terminal.

[0213] Please refer to Figure 12. In some implementations, the first decryption result includes the second handshake message and the first handshake random number. The method further includes:

[0214] 036: Obtain the first handshake message based on the second handshake message and the first handshake random number;

[0215] 037: Obtain the quantum key identifier based on the first handshake message.

[0216] In some implementations, the derived module is used to obtain the first handshake message based on the second handshake message and the first handshake random number, and the processing module is used to obtain the quantum key identifier based on the first handshake message.

[0217] In some implementations, the processor is further configured to obtain the first handshake message based on the second handshake message and the first handshake random number, and to obtain the quantum key identifier based on the first handshake message.

[0218] Specifically, the terminal obtains the first handshake message based on the second handshake message and the first handshake random number, and then obtains the quantum key identifier based on the first handshake message. This quantum key identifier, obtained in this way, can be used to apply for the second quantum key.

[0219] Continuing with the example above, please refer to Figure 3 again. The client XORs the second handshake message m2 with the first handshake random number R1 to obtain the first handshake message m1, and then obtains the quantum key identifier UUID_QK based on the first handshake message m1. The quantum key identifier UUID_QK is obtained in this way, and this quantum key identifier UUID_QK can be used to apply for quantum keys.

[0220] Please refer to Figure 13. In some embodiments, the first decryption result includes a first signature message, and the method further includes:

[0221] 038: Obtain the first verification message based on the first signature message;

[0222] 039: Perform post-quantum cryptographic verification processing on the first signed message to confirm the correctness of the first verification message. The first verification message is obtained by concatenating the quantum key identifier, the first handshake random number, and the signature parameters corresponding to the public key exchange algorithm used by the network device.

[0223] 040: If the obtained quantum key identifier is correct, the second quantum key is obtained from the service node of the access terminal, and the second quantum key is distributed to the service node by the second network node.

[0224] In some implementations, the processing module further obtains a first verification message based on the first signature message. The verification module performs post-quantum cryptographic verification processing on the first signature message to confirm its correctness. The first verification message is obtained by concatenating the quantum key identifier, the first handshake random number, and the signature parameters corresponding to the public-key exchange algorithm used by the network device. The acquisition module, if the obtained quantum key identifier is correct, obtains a second quantum key from the service node of the access terminal. The second quantum key is distributed to the service node by the second network node.

[0225] In some implementations, the processor is further configured to obtain a first verification message based on the first signature message, and to perform post-quantum cryptographic verification processing on the first signature message to confirm the correctness of the first verification message. The first verification message is obtained by concatenating the quantum key identifier, the first handshake random number, and the signature parameters corresponding to the public key exchange algorithm used by the network device. If the obtained quantum key identifier is correct, the processor obtains a second quantum key from the service node of the access terminal. The second quantum key is distributed to the service node by the second network node.

[0226] Specifically, the terminal obtains a first verification message based on the first signature message. Next, the terminal performs post-quantum cryptographic verification processing on the first signature message to confirm its correctness. The first verification message is obtained by concatenating the quantum key identifier, the first handshake random number, and the signature parameters corresponding to the public-key exchange algorithm used by the network device. Then, if the obtained quantum key identifier is correct, the terminal obtains a second quantum key from the service node accessing the terminal. The second quantum key is then distributed to the service node by the second network node. This process confirms the source of the received data and ensures that the data has not been accessed or tampered with during transmission. It also ensures that the obtained second quantum key matches the first quantum key of the first network device, and this quantum key is used to generate a more secure key.

[0227] Continuing with the example above, please refer to Figure 3. The client obtains the first verification message based on the first signature message M1. Next, the client performs post-quantum cryptographic verification processing on the first signature message M1 to confirm that it has received the correct first verification message, i.e., confirms that it has received the correct quantum key identifier UUID_QK and the first handshake random number R1. When the received first verification message is correct, i.e., the received quantum key identifier UUID_QK is correct, the network device requests the second quantum network node accessing the secure access gateway to obtain the second quantum key QK_UUID using the quantum key identifier UUID_QK. This ensures that the obtained second quantum key QK_UUID matches the network device's first quantum key, and this quantum key is used to generate a more secure key.

[0228] Please refer to Figure 14. In some embodiments, step 040 (obtaining the second quantum key from the service node of the access terminal) includes:

[0229] 0401: Using a service node to fill the terminal's cryptographic module with multiple keys;

[0230] 0402: Send a quantum key request to the service node. The quantum key request is protected by a protection key, which is one of the multiple keys injected into the cryptographic module and used randomly.

[0231] 0403: The receiving service node encrypts the second quantum key by encrypting it with the protection key. The second quantum key is generated by the second network node connected to the service node and distributed to the service node.

[0232] 0404: The second quantum key is obtained by decrypting the quantum key encryption result.

[0233] In some implementations, the charging module uses the service node to charge multiple keys into the terminal's cryptographic module. The sending module is also used to send a quantum key request to the service node. The quantum key request is protected by a protection key, which is randomly selected from the multiple keys charged into the cryptographic module. The receiving module is also used to receive the quantum key encryption result obtained by the service node encrypting a second quantum key according to the protection key. The second quantum key is generated and distributed to the service node by a second network node connected to the service node. The decryption module is used to decrypt the quantum key encryption result to obtain the second quantum key.

[0234] In some implementations, the processor is further configured to use the service node to charge the terminal's cryptographic module with multiple keys, and to send a quantum key request to the service node. The quantum key request is protected by a protection key, which is one of the multiple keys charged into the cryptographic module and used randomly. The processor is also configured to receive a quantum key encryption result obtained by the service node encrypting a second quantum key according to the protection key. The second quantum key is generated and distributed to the service node by a second network node connected to the service node. The processor is also configured to decrypt the quantum key encryption result to obtain the second quantum key.

[0235] Specifically, the terminal uses the service node accessing the terminal to key-fill its cryptographic module, ensuring sufficient keys for terminal use. Upon confirming the correctness of the obtained quantum key identifier, the terminal sends a quantum key request to the service node. This request uses a randomly selected key from multiple keys in the cryptographic module as a protection key for encryption. Then, the terminal receives the quantum key encryption result obtained by the service node encrypting a second quantum key using the protection key. This second quantum key is generated and distributed to the service node by a second network node accessing the service node. Decrypting the quantum key encryption result yields the second quantum key. This second quantum key can be used to generate keys resistant to quantum computing attacks.

[0236] Continuing with the example above, please refer to Figure 3 again. The client uses the cryptographic service node to pre-fill its personal cryptographic module with a 1M-bit (128-bit) key. The personal cryptographic module includes, but is not limited to, a Smart Cryptographic Key (HSM) and a Virtual Security Module (VSM). Next, the client sends a quantum key request to the cryptographic service node and randomly selects one of the Smart Cryptographic Keys as the protection key. One protection method involves the client using the SM3 algorithm to hash the key ID and the request content. Then, the cryptographic service node uses the protection key to calculate the HMAC (Hash-based Message Authentication Code) to ensure data integrity and authenticity. HMAC is a method that uses a hash function and a key to provide data integrity and source authentication.

[0237] After a successful quantum key application, the client receives the encrypted quantum key result obtained by the cryptographic service node encrypting the second quantum key QK_UUID using the protection key. The second quantum key QK_UUID is generated and distributed to the cryptographic service node by the second quantum network node connected to it. The client then decrypts the encrypted result using the protection key to obtain the second quantum key QK_UUID. This ensures the security of the quantum key application process. By using a random key and a hash function, the client can ensure the integrity and authenticity of the application content during transmission.

[0238] Referring to Figure 15, in some embodiments, step 033 (performing post-quantum encryption on the first decryption result and sending the post-quantum cryptographically encrypted second encryption result to the network device) includes:

[0239] 0331: The third handshake message is obtained by concatenating the quantum key identifier and the randomly generated second random number;

[0240] 0332: Generate the fourth handshake message by processing the second handshake random number in the third handshake message and the second encryption result;

[0241] 0333: Perform post-quantum cryptographic derivation processing on the fourth handshake message to generate the second handshake key;

[0242] 0334: Perform post-quantum cryptographic encryption on the fourth handshake message to generate the second encrypted message in the second encryption result;

[0243] 0335: The second verification message is obtained by concatenating the quantum key identifier, the second handshake random number, and the key material information corresponding to the public key key exchange algorithm used by the terminal;

[0244] 0336: Perform post-quantum cryptographic signature processing on the second verification message to generate the second signature message in the second encryption result;

[0245] 0337: Send the second encryption result to the network device.

[0246] In some implementations, the concatenation module concatenates the quantum key identifier and a randomly generated second random number to obtain a third handshake message. The processing module processes the third handshake message and the second handshake random number from the second encryption result to generate a fourth handshake message. The derivation module performs post-quantum cryptographic derivation processing on the fourth handshake message to generate a second handshake key. The encryption module performs post-quantum cryptographic encryption processing on the fourth handshake message to generate a second encrypted message in the second encryption result. The concatenation module also concatenates the quantum key identifier, the second handshake random number, and key material information corresponding to the public-key key exchange algorithm used by the terminal to obtain a second verification message. The signature module performs post-quantum cryptographic signature processing on the second verification message to generate a second signed message in the second encryption result, and the sending module sends the second encryption result to the network device.

[0247] In some embodiments, the processor is further configured to concatenate the quantum key identifier and a randomly generated second random number to obtain a third handshake message, process the second handshake random number from the third handshake message and the second encryption result to generate a fourth handshake message, and perform post-quantum cryptographic derivation processing on the fourth handshake message to generate a second handshake key. The processor is also configured to perform post-quantum cryptographic encryption processing on the fourth handshake message to generate a second encrypted message from the second encryption result, concatenate the quantum key identifier, the second handshake random number, and key material information corresponding to the public-key key exchange algorithm used by the terminal to obtain a second verification message, perform post-quantum cryptographic signature processing on the second verification message to generate a second signature message from the second encryption result, and send the second encryption result to the network device.

[0248] Specifically, the terminal concatenates the quantum key identifier with a randomly generated second random number to obtain the third handshake message. Then, the terminal XORs the third handshake message with the second handshake random number from the second encryption result to generate the fourth handshake message in the second encryption result. Next, the terminal performs post-quantum cryptographic derivation processing on the fourth handshake message to generate the second handshake key, and then performs post-quantum cryptographic encryption processing on the fourth handshake message to generate the second encrypted message in the second encryption result. The terminal then concatenates the quantum key identifier, the second handshake random number, and the key material information corresponding to the public-key key exchange algorithm used by the terminal to obtain the second verification message. Finally, the terminal performs post-quantum cryptographic signature processing on the second verification message to generate the second signature message in the second encryption result. The terminal sends the second encryption result to the network device. This process increases the confidentiality of the quantum key identifier by concatenating it with the second random number, and increases the complexity of the quantum key identifier by combining quantum key distribution technology and post-quantum cryptography by encrypting the quantum key identifier and its derivatives using a post-quantum cryptographic algorithm.

[0249] Continuing the example above, the client message includes a ClientKeyExchange message, which contains the second encryption result, and exchange_keys is the key material information. Referring again to Figure 3, after obtaining the second quantum key QK_UUID, the client sends subsequent client messages in the SSL VPN protocol. When a post-quantum cryptography certificate is available, the client's PQC signing certificate and PQC encryption certificate are added to the Certificate message in the client message. When a post-quantum cryptography certificate is not available, the SSL VPN gateway and client can import each other's PQC signing public key or PQC encryption public key offline. After adding the client's PQC signing certificate and PQC encryption certificate to the Certificate message, the ClientKeyExchange message is improved by adding the following:

[0250] The client concatenates the quantum key identifier UUID_QK with a client-generated 128-bit random number r2 to obtain the third handshake message m3. Then, the client XORs the third handshake message m3 with the second handshake random number R2 from the client message to obtain the fourth handshake message m4. Next, the client uses the fourth handshake message m4 as the encrypted message m in the PQC key encapsulation algorithm and runs the G function of the PQC algorithm to obtain the second handshake key K2. The fourth handshake message m4 is then PQC encrypted to generate the second encrypted message in the client message. The client concatenates the quantum key identifier UUID_QK, the second handshake random number R2 from the client message, and the exchange_keys corresponding to the public key exchange algorithm defined in the SSL VPN in the ClientKeyExchange message to obtain the first verification message (UUID_QK|R2|exchange_keys). This first verification message is then used as M in the PQC signature algorithm for PQC signature protection to generate the first signed message M1 in the server message. Public key exchange algorithms include, but are not limited to, ECDHE, ECC, IBSDH, IBC, and RSA. The aforementioned PQC encryption and encapsulation information and PQC signature information are appended as new content to the ClientKeyExchange message after the exchange_keys corresponding to the public key exchange algorithm defined in the SSL VPN protocol. Thus, the client increases the confidentiality of the quantum key identifier UUID_QK by concatenating it with a randomly generated second random number r2, and further increases its complexity by processing the quantum key identifier UUID_QK and its derivatives using post-quantum cryptography algorithms, combining quantum key distribution technology with post-quantum cryptography.

[0251] Referring to Figure 16, in some embodiments, the first decryption result includes a second handshake message. Step 035 (generating a second master key based on the first master key, the first decryption result, the second encryption result, and the second quantum key to encrypt communication between the network device and the terminal) includes:

[0252] 0351: Obtain the first handshake key based on the second handshake message;

[0253] 0352: The first master key and the spliced ​​body are XORed to generate the second master key. The spliced ​​body is obtained by splicing the XOR body and the second quantum key. The XOR body is obtained by XORing the first handshake key and the second handshake key.

[0254] 0353: Encrypt communication between network devices and terminals based on the second master key.

[0255] In some implementations, the derived module is further configured to obtain the first handshake key based on the second handshake message, and the processing module is further configured to XOR the first master key and the concatenated body to generate the second master key. The concatenated body is obtained by concatenating the XOR body and the second quantum key, and the XOR body is obtained by XORing the first handshake key and the second handshake key. The encryption module is further configured to encrypt the communication between the network device and the terminal based on the second master key.

[0256] In some implementations, the processor is further configured to obtain a first handshake key based on a second handshake message, and to generate a second master key by XORing the first master key with a concatenated body. The concatenated body is obtained by concatenating the XORed body with a second quantum key, and the XORed body is obtained by XORing the first handshake key with the second handshake key. The processor is also configured to encrypt communication between network devices and terminals based on the second master key.

[0257] Specifically, the terminal first obtains the first handshake key based on the second handshake message. Next, the terminal XORs the first and second handshake keys to obtain an XOR vector. The terminal then concatenates the XOR vector with the first quantum key to obtain a concatenated vector. Then, the terminal XORs the first master key with the concatenated vector to generate the second master key. Finally, the terminal uses the generated second master key to encrypt all communication between the network device and the terminal. This method, by using a key generated combining quantum key distribution and post-quantum cryptography techniques, enhances the resistance to quantum computing attacks in communication between the terminal and the network device, protecting the data transmitted during communication.

[0258] Continuing with the example above, please refer to Figure 3. The client first obtains the first handshake key K1 based on the second handshake message m2. The client calculates the first master key master_secret according to the SSL VPN protocol. Then, the client XORs the 32-byte (256-bit) first handshake key K1 and the 32-byte second handshake key K2 to generate an XOR product (K1⊕K2), and then concatenates the XOR product with the 16-byte quantum key identifier UUID_QK to obtain a concatenated product ((K1⊕K2)|UUID_QK). Next, the client XORs the concatenated product with the 48-byte first master key master_secret to obtain the second master key master_secret2. Finally, the client uses the generated second master key master_secret2 to encrypt communication between clients. This enhances the resistance of communication between network devices to quantum computing attacks by using a key generated by combining quantum key distribution technology and post-quantum cryptography, protecting the data transmitted during the communication process. During SSL VPN communication, the authentication scope of the CertifyVerify and Finished messages between the client and the SSL VPN gateway covers newly added PQC-related messages, such as the PQC key encapsulation information and PQC signature information in the ServerKeyExchange message and the ClientKeyExchange message. After the client and SSL VPN gateway each obtain the second master key (master_secret2), they calculate the working key according to the SSL VPN protocol, including the verification key and encryption key for the record layer protocol application data protection.

[0259] This application also provides a computer-readable storage medium containing a computer program. When the computer program is executed by one or more processors, it causes the one or more processors to perform the voice interaction method of this application.

[0260] It is understood that a computer program includes computer program code. Computer program code can be in the form of source code, object code, executable files, or some intermediate form. Computer-readable storage media can include: any entity or device capable of carrying computer program code, recording media, USB flash drives, external hard drives, magnetic disks, optical disks, computer memory, read-only memory (ROM), random access memory (RAM), and software distribution media, etc.

[0261] In this specification, the terms "specifically," "furthermore," "particularly," "understandably," etc., refer to specific features, structures, materials, or characteristics described in connection with embodiments or examples that are included in at least one embodiment or example of this application. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples. Moreover, without contradiction, those skilled in the art can combine and integrate the different embodiments or examples described in this specification, as well as the features of different embodiments or examples.

[0262] Any process or method described in the flowchart or otherwise herein can be understood as representing a module, segment, or portion of code comprising one or more executable instructions for implementing a particular logical function or process, and the scope of the preferred embodiments of this application includes additional implementations in which functions may be performed not in the order shown or discussed, including substantially simultaneously or in reverse order depending on the function involved, as will be understood by those skilled in the art to which embodiments of this application pertain.

[0263] Although embodiments of this application have been shown and described above, it is understood that the above embodiments are exemplary and should not be construed as limiting this application. Those skilled in the art can make changes, modifications, substitutions and variations to the above embodiments within the scope of this application.

Claims

1. A method for quantum-resistant security enhancement of an SSL VPN protocol of a communication network, the communication network comprising a terminal and a network device, the method being used by the network device, the method comprising: obtaining a first quantum key and a quantum key identifier from a first network node connected to the network device; performing post-quantum cryptographic encryption processing on the quantum key identifier, and sending a first encrypted result of the post-quantum cryptographic encryption processing to the terminal; performing decryption processing on a received second encrypted result sent by the terminal to obtain a second decrypted result, the second encrypted result being obtained according to the first encrypted result; obtaining a first master key according to the first encrypted result and the second decrypted result; generating a second master key according to the first master key, the first encrypted result, the second decrypted result and the first quantum key, to encrypt communication between the network device and the terminal.

2. The method of claim 1, wherein, The method further comprises: accessing the first network node through a pre-established channel; loading a security certificate of the terminal or a security certificate of the network device.

3. The method of claim 1, wherein, The obtaining of the first quantum key and the quantum key identifier from the first network node connected to the network device comprises: sending a quantum key application to the first network node; receiving the first quantum key and the quantum key identifier distributed by the first network node according to the quantum key application, the quantum key identifier being obtained by the first network node by marking the first quantum key using an identification code of the first network node.

4. The method of claim 1, wherein, The post-quantum cryptographic encryption processing on the quantum key identifier and the sending of the first encrypted result of the post-quantum cryptographic encryption processing to the terminal comprises: performing splicing processing on the quantum key identifier and a first random number generated randomly to obtain a first handshake message; obtaining a second handshake message according to the first handshake message and a first handshake random number in the first encrypted result; performing post-quantum cryptographic derivation processing on the first handshake message to generate a first handshake key; performing post-quantum cryptographic encryption processing on the first handshake message to generate a first encrypted message in the first encrypted result; performing splicing processing on the quantum key identifier, the first handshake random number and a signature parameter corresponding to a public key key exchange algorithm used by the network device to obtain a first verification message; performing post-quantum cryptographic signature processing on the first verification message to generate a first signature message in the first encrypted result; sending the first encrypted result to the terminal.

5. The method of claim 1, wherein, The decryption processing on the received second encrypted result sent by the terminal to obtain the second decrypted result comprises: receiving the second encrypted result sent by the terminal, the second encrypted result being obtained by the terminal by performing post-quantum cryptographic encryption processing on a first decrypted result, the first decrypted result being obtained by the terminal by performing decryption processing on the first encrypted result; performing decryption processing on the second encrypted result to obtain a second decrypted result, the second decrypted result comprising a second handshake random number, a fourth handshake message and a second signature message.

6. The method of claim 5, wherein, The method further comprises: obtaining a second handshake key according to the fourth handshake message; obtaining a third handshake message and a quantum key identifier according to the fourth handshake message and the second handshake random number.

7. The method of claim 5, wherein, The method further comprises: obtaining a second verification message according to the second signature message; performing post-quantum cryptographic signature verification processing on the second signature message to confirm the correctness of the second verification message, the second verification message being obtained by splicing the quantum key identifier, the second handshake random number and key material information corresponding to a public key key exchange algorithm used by the terminal. The first encryption result comprises a first handshake key, and the second master key is generated according to the first master key, the first encryption result, the second decryption result and the first quantum key to encrypt the communication between the network device and the terminal, comprising:

8. The method of claim 6, wherein, performing exclusive OR processing on the first master key and a splicing body to generate the second master key, the splicing body being obtained by splicing processing of an exclusive OR body and the first quantum key, the exclusive OR body being obtained by exclusive OR processing of the first handshake key and the second handshake key; encrypting the communication between the network device and the terminal according to the second master key.

9. A method for anti-quantum security enhancement of an SSL VPN protocol of a communication network, the communication network comprising a terminal and a network device, the method being used by the terminal, and the method comprising: receiving a first encryption result of post-quantum cryptographic encryption processing of a quantum key identifier by the network device, the quantum key identifier being obtained by the network device from an accessed first network node; performing decryption processing on the first encryption result to obtain a first decryption result; performing post-quantum cryptographic encryption processing on the first decryption result, and sending a second encryption result obtained by the post-quantum cryptographic encryption processing to the network device; obtaining a first master key according to the first decryption result, the second encryption result; generating a second master key according to the first master key, the first decryption result, the second encryption result and a second quantum key to encrypt the communication between the network device and the terminal. The first decryption result comprises a second handshake message and a first handshake random number, and the method further comprises:

10. The method of claim 9, wherein, obtaining a first handshake message according to the second handshake message and the first handshake random number; obtaining the quantum key identifier according to the first handshake message. The first decryption result comprises a first signature message, and the method further comprises:

11. The method of claim 9, wherein, obtaining a first verification message according to the first signature message; performing post-quantum cryptographic signature verification processing on the first signature message to confirm the correctness of the first verification message, the first verification message being obtained by splicing processing of the quantum key identifier, a first handshake random number and signature parameters corresponding to a public key key exchange algorithm used by the network device; in the case that the obtained quantum key identifier is correct, obtaining a second quantum key from a service node accessed by the terminal. The obtaining of the second quantum key from the service node accessed by the terminal comprises:

12. The method of claim 11, wherein, recharging a plurality of keys to a cryptographic module of the terminal by the service node; ​ sending a quantum key application to the service node, the quantum key application being protected by a protection key, the protection key being randomly used from a plurality of keys charged to the cryptographic module; receiving a quantum key encryption result obtained by the service node from encryption processing of the second quantum key according to the protection key, the second quantum key being generated by a second network node accessing the service node and distributed to the service node; decrypting the quantum key encryption result to obtain the second quantum key.

13. The method of claim 10, wherein, The post-quantum encryption processing of the first decryption result, and sending a second encryption result encrypted by the post-quantum cryptography to the network device, comprising: splicing the quantum key identifier and a second random number generated randomly to obtain a third handshake message; generating a fourth handshake message according to the third handshake message and a second handshake random number in the second encryption result; performing post-quantum cryptographic derivation processing on the fourth handshake message to generate a second handshake key; performing post-quantum cryptographic encryption processing on the fourth handshake message to generate a second encryption message in the second encryption result; splicing the quantum key identifier, the second handshake random number, and key material information corresponding to a public key key exchange algorithm used by the terminal to obtain a second verification message; performing post-quantum cryptographic signature processing on the second verification message to generate a second signature message in the second encryption result; sending the second encryption result to the network device.

14. The method of claim 13, wherein, The first decryption result includes a second handshake message, and the second master key is generated according to the first master key, the first decryption result, the second encryption result, and a second quantum key to encrypt the communication between the network device and the terminal, comprising: obtaining a first handshake key according to the second handshake message; performing exclusive or processing on the first master key and a splicing body to generate the second master key, the splicing body being obtained by splicing an exclusive or body and the second quantum key, the exclusive or body being obtained by performing exclusive or processing on the first handshake key and the second handshake key; encrypting the communication between the network device and the terminal according to the second master key.

Citation Information

Patent Citations

  • Quantum key distribution method and system for authentication based on post-quantum cryptography algorithm

    CN112152817A

  • Data encryption transmission method and system, equipment and storage medium

    CN113612612A

  • Secure transmission method and system based on quantum key encapsulation and negotiation after mixing

    CN114629646A

  • Quantum key transmission method, device and system

    CN116633530A

  • Forward secrecy qsl

    US20230353349A1

Cited By

  • Implementation method of fusion quantum key and post quantum cryptography algorithm

    CN122053064A