Secure communication method, key distribution center, device, medium, and product
Patent Information
- Application Number
- PCT/CN2025/080527
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-03-04
- Filing Date
- 2025-03-04
- Publication Date
- 2025-10-02
AI Technical Summary
In the prior art, the session key generated by the key distribution center has the problem of poor security.
The key distribution scheme in the quantum key distribution network (QKDN) is adopted to generate session keys through the key generation process between the first quantum key distribution node and the second quantum key distribution node, and the security is ensured by the true random number characteristics generated by quantum technology.
A highly secure connection is achieved between the mobile terminal and the server, and the session key has true random number characteristics, which improves the security of communication.
Smart Images

Figure CN2025080527_02102025_PF_FP_ABST
Abstract
Description
Confidential communication method, key distribution center, equipment, medium and product
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This disclosure claims priority to Chinese patent application number 202410245342.3, filed with the Patent Office of China on March 4, 2024, entitled “Confidential Communication Method, Key Distribution Center, Device, Medium and Product,” the entire contents of which are incorporated by reference into this disclosure. Technical Field
[0003] The present disclosure relates to, but is not limited to, the field of communications, and in particular to a secure communication method, a server, a key distribution center, a terminal device, a key update terminal device, a first quantum key distribution node, a computer-readable storage medium, and a computer program product. Background Art
[0004] Currently, communicating parties use session keys to encrypt data, ensuring network communication security. In related technologies, a Key Distribution Center (KDC) generates session keys and delivers them to each communicating party via a secure channel established using a long-term key shared between the KDC and each communicating party.
[0005] However, the above-mentioned solution for obtaining the session key has at least a problem of poor security. Summary of the Invention
[0006] The embodiments of the present disclosure provide a confidential communication method, a server, a key distribution center, a terminal device, a key update terminal device, a first quantum key distribution node, a computer-readable storage medium, and a computer program product, providing a solution that supports distributing keys in a quantum key distribution network (QKDN) to communication parties at the application layer.
[0007] In a first aspect, the present disclosure provides a secure communication method, which is applied to a server and includes:
[0008] Receiving session information sent by a key distribution center through a first secure channel; wherein the session information includes an identifier of a first quantum key distribution node connected to the server, an identifier of a second quantum key distribution node connected to a key update terminal device, an identifier of the terminal device, and an identifier of the server; the key update terminal device injecting an authentication encryption key into the terminal device;
[0009] Sending a key request message to the first quantum key distribution node; wherein the key request message is used to obtain a key between the first quantum key distribution node and the second quantum key distribution node; the key request message includes an identifier of the first quantum key distribution node and an identifier of the second quantum key distribution node;
[0010] receiving a session key sent by the first quantum key distribution node;
[0011] The session key is sent to the terminal device through the key distribution center; wherein the session key is used for confidential communication between the server and the terminal device.
[0012] In a second aspect, an embodiment of the present disclosure provides a secure communication method, applied to a key distribution center, comprising:
[0013] Receiving a session key request message sent by a terminal device; wherein the session key request message is used to request acquisition of a session key; the session key request message includes an authentication encryption key identifier, a terminal device identifier, a server identifier, a third verification code, and a third random number generated by the terminal device; the third verification code is a verification code generated by using a message authentication code algorithm based on the authentication encryption key, the terminal device identifier, the server identifier, the third random number, and the authentication encryption key identifier;
[0014] Based on the session key request message, determining to obtain a key between a second quantum key distribution node connected to the key update terminal device and a first quantum key distribution node connected to the server; wherein the key update terminal device injects an authentication encryption key into the terminal device;
[0015] Sending session information to the server through the first secure channel; wherein the session information includes an identifier of the first quantum key distribution node, an identifier of the second quantum key distribution node, an identifier of the terminal device, and an identifier of the server;
[0016] receiving, through the first secure channel, the session key and the first random number sent by the server;
[0017] The session key is sent to the terminal device; wherein the session key is used for confidential communication between the server and the terminal device.
[0018] In a third aspect, an embodiment of the present disclosure provides a secure communication method, applied to a terminal device, comprising:
[0019] Sending a session key request message to a key distribution center; wherein the session key request message is used to request acquisition of a session key; the session key request message includes an identifier of an authentication encryption key, an identifier of a terminal device, an identifier of a server, a third verification code, and a third random number generated by the terminal device; wherein the third verification code is generated using a message authentication code algorithm based on the authentication encryption key and the identifier of the terminal device, the identifier of the server, the third random number, and the identifier of the authentication encryption key;
[0020] Receive a session key sent by the key distribution center; wherein the session key is used for confidential communication between the server and the terminal device; the session key is a key between a first quantum key distribution node connected to the server and a second quantum key distribution node connected to the key update terminal device.
[0021] In a fourth aspect, an embodiment of the present disclosure provides a secure communication method, applied to a key update terminal device, comprising:
[0022] Receiving a key request from a terminal device; wherein the key request is used to request a one-time key for connecting to a key distribution node;
[0023] Receiving a key file sent by a second quantum key distribution node; wherein the key file includes one or more keys and metadata corresponding to each key;
[0024] Key metadata corresponding to the binding terminal and the key; wherein the key metadata includes a key identifier, a source identifier, and a destination identifier; the source identifier is the identifier corresponding to the binding between the key update terminal device and the second quantum key distribution node; the destination identifier is the identifier corresponding to the binding between the key distribution center and the third quantum key distribution node;
[0025] Send the key file to the terminal device.
[0026] In a fifth aspect, an embodiment of the present disclosure provides a secure communication method, applied to a first quantum key distribution node, comprising:
[0027] Receiving a key request message sent by a server; wherein the key request message is used to obtain a key between the first quantum key distribution node and a second quantum key distribution node connected to a key update terminal device; the key request message includes an identifier of the first quantum key distribution node and an identifier of the second quantum key distribution node;
[0028] executing a key generation process between the first quantum key distribution node and the second quantum key distribution node to obtain a session key;
[0029] The session key is sent to the server; wherein the session key is used for confidential communication between the server and the terminal device.
[0030] In a sixth aspect, an embodiment of the present disclosure provides a server, the server comprising:
[0031] The first receiving part is configured to receive session information sent by the key distribution center through the first secure channel; wherein the session information includes an identifier of a first quantum key distribution node connected to the server, an identifier of a second quantum key distribution node connected to the key update terminal device, an identifier of the terminal device, and an identifier of the server; the key update terminal device injects an authentication encryption key into the terminal device;
[0032] a first sending part, configured to send a key request message to the first quantum key distribution node; wherein the key request message is used to obtain a key between the first quantum key distribution node and the second quantum key distribution node; and the key request message includes an identifier of the first quantum key distribution node and an identifier of the second quantum key distribution node;
[0033] A first receiving part is configured to receive a session key sent by the first quantum key distribution node;
[0034] The first sending part is configured to send the session key to the terminal device through the key distribution center; wherein the session key is used for confidential communication between the server and the terminal device.
[0035] In a seventh aspect, an embodiment of the present disclosure provides a key distribution center, the key distribution center comprising:
[0036] The second receiving part is configured to receive a session key request message sent by a terminal device; wherein the session key request message is used to request to obtain a session key; the session key request message includes an identifier of an authentication encryption key, an identifier of the terminal device, an identifier of a server, a third verification code, and a third random number generated by the terminal device; the third verification code is a verification code generated by a message authentication code algorithm based on the authentication encryption key, the identifier of the terminal device, the identifier of the server, the third random number, and the identifier of the authentication encryption key;
[0037] The second processing part is configured to determine, based on the session key request message, to obtain a key between a second quantum key distribution node connected to the key update terminal device and a first quantum key distribution node connected to the server; wherein the key update terminal device injects an authentication encryption key into the terminal device;
[0038] The second sending part is configured to send session information to the server through the first secure channel; wherein the session information includes the identifier of the first quantum key distribution node, the identifier of the second quantum key distribution node, the identifier of the terminal device, and the identifier of the server;
[0039] a second receiving part, configured to receive the session key and the first random number sent by the server through the first secure channel;
[0040] The second sending part is configured to send the session key to the terminal device; wherein the session key is used for confidential communication between the server and the terminal device.
[0041] In an eighth aspect, an embodiment of the present disclosure provides a terminal device, the terminal device including:
[0042] The third sending part is configured to send a session key request message to the key distribution center; wherein the session key request message is used to request to obtain the session key; the session key request message includes an identifier of the authentication encryption key, an identifier of the terminal device, an identifier of the server, a third verification code, and a third random number generated by the terminal device; wherein the third verification code is a verification code generated by using a message authentication code algorithm based on the authentication encryption key and the identifier of the terminal device, the identifier of the server, the third random number, and the identifier of the authentication encryption key;
[0043] The third receiving part is configured to receive a session key sent by the key distribution center; wherein the session key is used for confidential communication between the server and the terminal device; the session key is a key between a first quantum key distribution node connected to the server and a second quantum key distribution node connected to the key update terminal device.
[0044] In a ninth aspect, an embodiment of the present disclosure provides a key update terminal device, the key update terminal device comprising:
[0045] The fourth receiving part is configured to receive a key request sent by a terminal device; wherein the key request is used to request a one-time key for connecting to a key distribution node;
[0046] a fourth receiving part, configured to receive a key file sent by the second quantum key distribution node; wherein the key file includes one or more keys and metadata corresponding to each key;
[0047] The fourth processing part is configured to bind the terminal to the key metadata corresponding to the key; wherein the key metadata includes a key identifier, a source identifier, and a destination identifier; the source identifier is an identifier corresponding to the binding between the key update terminal device and the second quantum key distribution node; the destination identifier is an identifier corresponding to the binding between the key distribution center and the third quantum key distribution node;
[0048] The fourth sending part is configured to send the key file to the terminal device.
[0049] In a tenth aspect, an embodiment of the present disclosure provides a first quantum key distribution node, the first quantum key distribution node comprising:
[0050] a fifth receiving part, configured to receive a key request message sent by the server; wherein the key request message is used to obtain a key between the first quantum key distribution node and a second quantum key distribution node connected to the key update terminal device; the key request message includes an identifier of the first quantum key distribution node and an identifier of the second quantum key distribution node;
[0051] a fifth processing part, configured to execute a key generation process between the first quantum key distribution node and the second quantum key distribution node to obtain a session key;
[0052] The fifth sending part is configured to send the session key to the server; wherein, the session key is used for confidential communication between the server and the terminal device.
[0053] In an eleventh aspect, an embodiment of the present disclosure provides a key distribution center, the key distribution center comprising:
[0054] The first memory is used to store executable instructions; the first processor is used to implement the above-mentioned secure communication method when executing the executable instructions stored in the first memory.
[0055] In a twelfth aspect, an embodiment of the present disclosure provides a terminal device, the terminal device comprising:
[0056] The second memory is used to store executable instructions; the second processor is used to implement the above-mentioned secure communication method when executing the executable instructions stored in the second memory.
[0057] In a thirteenth aspect, an embodiment of the present disclosure provides a server, the server comprising:
[0058] The third memory is used to store executable instructions; the third processor is used to implement the above-mentioned confidential communication method when executing the executable instructions stored in the third memory.
[0059] In a fourteenth aspect, an embodiment of the present disclosure provides a key update terminal device, the key update terminal device comprising:
[0060] The fourth memory is used to store executable instructions; the fourth processor is used to implement the above-mentioned secure communication method when executing the executable instructions stored in the fourth memory.
[0061] In a fifteenth aspect, an embodiment of the present disclosure provides a first quantum key distribution node, the first quantum key distribution node comprising:
[0062] The fifth memory is used to store executable instructions; the fifth processor is used to implement the above-mentioned communication method when executing the executable instructions stored in the fifth memory.
[0063] In a sixteenth aspect, an embodiment of the present disclosure provides a computer-readable storage medium, which stores one or more programs, and the one or more programs can be executed by one or more processors to implement the above-mentioned confidential communication method.
[0064] In a seventeenth aspect, an embodiment of the present disclosure provides a computer program product, comprising a computer program, which implements the above-mentioned confidential communication method when executed by a processor.
[0065] In some embodiments of the present disclosure, a solution is provided that supports distributing keys in QKDN to communication parties at the application layer, using the quantum key shared between two QKD nodes as a session key, so that a mobile terminal can establish a secure connection with a server based on the session key; at the same time, the session key is generated based on quantum technology and has true random number characteristics, and the secure connection established by the mobile terminal using this key has higher security. BRIEF DESCRIPTION OF THE DRAWINGS
[0066] In order to more clearly illustrate the technical solutions of the embodiments of the present disclosure, the following briefly introduces the drawings required for use in the embodiments of the present disclosure. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0067] FIG1 is a schematic diagram of a secure communication system according to an embodiment of the present disclosure;
[0068] FIG2 is a schematic diagram of a KDC framework provided by an embodiment of the present disclosure;
[0069] FIG3 is a schematic diagram of the QKDN framework provided by an embodiment of the present disclosure;
[0070] FIG4 is a flowchart of a secure communication method according to an embodiment of the present disclosure;
[0071] FIG5 is a second flow chart of the secure communication method provided by an embodiment of the present disclosure;
[0072] FIG6 is a third flow chart of the secure communication method provided by an embodiment of the present disclosure;
[0073] FIG7 is a fourth flow chart of the secure communication method provided by an embodiment of the present disclosure;
[0074] FIG8 is a schematic block diagram of a server provided in an embodiment of the present disclosure;
[0075] FIG9 is a schematic block diagram of a key distribution center provided by an embodiment of the present disclosure;
[0076] FIG10 is a schematic block diagram of a terminal device provided in an embodiment of the present disclosure;
[0077] FIG11 is a schematic block diagram of a key update terminal device provided by an embodiment of the present disclosure;
[0078] FIG12 is a schematic block diagram of a first quantum key distribution node provided in an embodiment of the present disclosure;
[0079] FIG13 is a schematic structural diagram of a communication device provided in an embodiment of the present disclosure. DETAILED DESCRIPTION
[0080] The following will describe the technical solutions in the embodiments of the present disclosure in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present disclosure, not all of them. All other embodiments obtained by ordinary technicians in this field based on the embodiments of the present disclosure without making any creative efforts shall fall within the scope of protection of the present disclosure.
[0081] FIG1 is a schematic diagram of a secure communication system according to an embodiment of the present disclosure.
[0082] As shown in Figure 1, the secure communication system architecture is a two-layer architecture. The upper layer is the business layer, consisting of the KDC, key update terminal devices, servers, and terminal devices. The lower layer is the QKDN layer, which includes multiple quantum key distribution (QKD) nodes and generates and provides keys for the business layer.
[0083] The KDC in Figure 1 is a key management facility. Its functions include at least key generation, entity authentication, key distribution, and key lifecycle management. For example, a KDC, such as Kerberos, consists of an authentication server (AS) and a ticket granting server (TGS). Kerberos, as a trusted third party, supports secure authentication of users of a target server over an unprotected network. Kerberos can also establish encryption keys between the client and the target server. In most cases, the KDC shares a key with each communicating party. The KDC generates a temporary session key and uses the shared key to establish a secure channel to assign each communicating party a session key for communicating with other communicating parties. As shown in Figure 2, the KDC assigns a session key to user A via a secure channel established with the key shared with user A; the KDC assigns a session key to user B via a secure channel established with the key shared with user B; the KDC assigns a session key to user C via a secure channel established with the key shared with user C; and the KDC assigns a session key to user D via a secure channel established with the key shared with user D. KDCs typically operate using symmetric cryptographic algorithms, such as the Advanced Encryption Standard (AES)-256, with a 256-bit key length to resist quantum computing attacks. If the key length is 256 bits, the KDC is a quantum-safe key distribution center.
[0084] The terminal devices in Figure 1 include, but are not limited to, any terminal devices that are connected to network devices or other terminal devices by wire or wireless. Exemplarily, the terminal device may refer to an access terminal, user equipment (UE), a subscriber unit, a subscriber station, a mobile station, a mobile station, a remote station, a remote terminal, a mobile device, a user terminal, a terminal, a wireless communication device, a user agent, or a user device. The access terminal may be a cellular phone, a cordless phone, a Session Initiation Protocol (SIP) phone, a satellite handheld terminal, a Wireless Local Loop (WLL) station, a Personal Digital Assistant (PDA), a handheld device with wireless communication capabilities, a computing device or other processing device connected to a wireless modem, an in-vehicle device, a wearable device, a terminal device in a 5G network, or a terminal device in a future evolution network.
[0085] The server in FIG1 can provide different services to the terminal device, such as a WWW server.
[0086] The key updating terminal device in FIG1 is a terminal device that can provide a key for a terminal device.
[0087] QKDN is a network based on quantum key distribution (QKD) technology, primarily composed of QKD nodes. QKD leverages the properties of quantum mechanics to ensure communication security, enabling communicating parties to generate and share a random, secure key to encrypt and decrypt messages. QKD transmits light particles, or photons, via fiber optic cables between the two parties. A significant advantage of QKD is its resistance to quantum computing attacks, based on the principles of quantum physics: the indivisibility of single quanta and the non-cloning of quantum states. The non-cloning theorem states that it is impossible to create identical copies of unknown quantum states, preventing attackers from simply copying data, as they currently do with network traffic. Furthermore, if an attacker interferes with or observes the system, the system state changes, alerting all parties to the attack. If the distance between QKD nodes exceeds a certain range, trusted QKD relay nodes must be deployed between them. QKDN logically consists of a four-layer architecture: the quantum layer, the key management layer, the QKDN control layer, and the application layer, as shown in Figure 3. The QKD module in the quantum layer generates quantum keys and provides them to the key manager. The key manager in the QKD node provides quantum keys to applications in the application layer. The key manager in the QKD trusted relay node manages quantum keys and does not provide quantum keys to the application layer. The QKDN control layer includes the QKDN controller. Furthermore, the QKDN network management system must be deployed within QKDN to manage and control the quantum layer, key management layer, and QKDN control layer. The application layer is managed and controlled by the corresponding application management system.
[0088] It should be noted that QKD nodes can be further divided into QKDN user nodes and QKDN access nodes. QKDN user nodes are trusted nodes located on the QKD user side, responsible for obtaining keys from QKDN and providing corresponding keys for specific cryptographic applications to conduct confidential communications. QKDN access nodes are responsible for aggregating the key service flows of multiple user nodes connected to them and forwarding the key service flows to remote QKD nodes via a one-time pad (OTP) channel based on a trusted relay scheme. In other words, QKDN user nodes can only obtain the shared quantum key between themselves and other QKD nodes in the network; while QKDN access nodes can obtain the shared quantum key between any two QKD nodes in the QKDN.
[0089] The KDC, key update terminal device, and server each connect to the underlying QKD node to obtain the QKDN layer's keys. Connected to the KDC, key update terminal device, and server are all QKD user nodes, and each can only obtain the shared keys between itself and other QKD nodes in the network. Terminal devices batch-inject keys from the QKDN (keys between QKD nodes A and C) through the key update terminal device and use these keys as one-time authentication encryption keys for connecting to the KDC. The mobile terminal and KDC mutually authenticate each other using the authentication encryption key, while the KDC transmits session information to the server over a secure channel. The server obtains the key between the QKD node connected to the key update terminal and the QKD node connected to the key update terminal from the QKDN. The server uses this key as the session key and transmits it to the KDC over a secure channel. The KDC encrypts the session key using the authentication encryption key and transmits the encrypted session key to the mobile terminal. The mobile terminal uses the session key to securely access the server.
[0090] It should be noted that the QKD C node connected to the KDC in Figure 1 is a QKD user node; the QKD A node connected to the key update terminal device in Figure 1 is a QKD user node; and the QKD E node connected to the server in Figure 1 is a QKD user node.
[0091] It should be noted that Figure 1 is merely an example of a system applicable to the present disclosure. Of course, the methods described in the embodiments of the present disclosure can also be applied to other systems. Furthermore, the terms "system" and "network" are often used interchangeably herein. The term "and / or" herein simply describes an association relationship between associated objects, indicating that three possible relationships exist. For example, "A and / or B" can represent: A exists alone, A and B exist simultaneously, or B exists alone. Furthermore, the character " / " generally indicates that the associated objects are in an "or" relationship. It should also be understood that the term "indication" in the embodiments of the present disclosure can be direct, indirect, or indicate an association relationship. For example, "A indicates B" can mean that A directly indicates B, for example, B can obtain information through A; it can also mean that A indirectly indicates B, for example, A indicates C, and B can obtain information through C; or it can mean that A and B have an association relationship. It should also be understood that the term "correspondence" in the embodiments of the present disclosure can mean that there is a direct or indirect correspondence between two objects, or that there is an association relationship between the two objects, or that the relationship can be a direct and indirect one, a configuration and a configuration, and so on. It should also be understood that the “predefined” or “predefined rules” mentioned in the embodiments of the present disclosure can be implemented by pre-saving corresponding codes, tables or other methods that can be used to indicate relevant information in devices (for example, including terminal devices and network devices), and the present disclosure does not limit its specific implementation method. For example, predefined can refer to what is defined in the protocol. It should also be understood that in the embodiments of the present disclosure, the “protocol” can refer to a standard protocol in the field of communications, such as the LTE protocol, the NR protocol, and related protocols used in future communication systems, and the present disclosure does not limit this.
[0092] To facilitate understanding of the technical solutions of the embodiments of the present disclosure, the relevant technologies of the embodiments of the present disclosure are described below. The following relevant technologies can be arbitrarily combined with the technical solutions of the embodiments of the present disclosure as optional solutions, and they all fall within the protection scope of the embodiments of the present disclosure.
[0093] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by those skilled in the art in the art of the present disclosure. The terms used herein are only for the purpose of describing the embodiments of the present disclosure and are not intended to limit the present disclosure.
[0094] FIG4 is a flow chart of a secure communication method provided by an embodiment of the present disclosure. As shown in FIG4 , the method is applied to the secure communication system shown in FIG1 . The method includes:
[0095] Step 401: The terminal device sends a session key request message to the key distribution center.
[0096] Among them, the session key request message is used to request to obtain the session key; the session key is used for confidential communication between the server and the terminal device; the session key request message includes the identification of the authentication encryption key, the identification of the terminal device, the identification of the server, the third verification code and the third random number generated by the terminal device; the third verification code is a verification code generated by using a message authentication code algorithm based on the authentication encryption key, the identification of the terminal device, the identification of the server, the third random number and the identification of the authentication encryption key.
[0097] In the disclosed embodiment, the terminal device may send a session key request message to the key distribution center through an existing wireless channel to improve compatibility with the existing system and reduce the cost of system modification.
[0098] The random number disclosed herein can be a quantum random number generated by a quantum random number generator, or a common random number, which is used to prevent replay attacks.
[0099] In the disclosed embodiment, the identification of the terminal device includes but is not limited to a mobile station international integrated services digital network number (MSISDN), an international mobile subscriber identity (IMSI), an international mobile equipment identity (IMEI), a service identifier (such as the domain name of the terminal), and a service number of a user's application (such as a user identifier of a chat software, communication software, or other software installed on the terminal).
[0100] In the embodiment of the present disclosure, the identifier of the server includes an Internet Protocol (IP) address and a Media Access Control (MAC) address of the server.
[0101] In the disclosed embodiment, each authentication encryption key has a unique identifier; in some embodiments, the identifier includes a color identifier, a graphic identifier, a text identifier, a digital identifier, a position identifier, etc.
[0102] It should be noted that the key distribution center can also be called a (quantum) cryptography security service center, a (quantum) cryptography service center, a (quantum) security service center, a (quantum) security center, etc.
[0103] In the disclosed embodiments, the authentication encryption key may be a quantum key or a common key generated by a pseudo-random number generator / physical noise source generator. If the authentication encryption key is a quantum key, the quantum key may be generated by a quantum random number generator or negotiated by at least one QKD node in a QKDN and then provided to the terminal device via a key update terminal device.
[0104] In the embodiments of the present disclosure, the message authentication code algorithm includes but is not limited to a keyed hashed message authentication code (HMAC) function, an MD5 Message-Digest Algorithm (MD5 Message-Digest Algorithm), a Secure Hash Algorithm 1 (SHA1), a Cyclic Redundancy Check (CRC), a Data Encryption Standard (DES), and an Advanced Encryption Standard (AES).
[0105] It should be noted that confidential communications include but are not limited to encrypted calls, encrypted short messages, encrypted instant messages, encrypted audio and video conferencing, encrypted fifth-generation mobile communication technology (5G) messages (for example, Rich Communication Services (RCS) messages), encrypted intercom messages, encrypted emails, etc.
[0106] Step 402: The key distribution center receives a session key request message and, based on the session key request message, determines to obtain a key between a second quantum key distribution node connected to the key update terminal device and a first quantum key distribution node connected to the server.
[0107] Among them, the key update terminal device injects the authentication encryption key into the terminal device.
[0108] In the embodiment of the present disclosure, the key distribution center receives a session key request message sent by a terminal device through a wireless channel; the key distribution center needs to determine whether to obtain the shared quantum key between the first quantum key distribution node and the second quantum key distribution node based on the content included in the session key request message.
[0109] Exemplarily, the first quantum key distribution node and the second quantum key distribution node are both QKDN user nodes.
[0110] Step 403: The key distribution center sends session information to the server through the first secure channel.
[0111] The session information includes the identifier of the first quantum key distribution node, the identifier of the second quantum key distribution node, the identifier of the terminal device and the identifier of the server.
[0112] It should be noted that each quantum key distribution node has a unique identifier.
[0113] Step 404: The server receives session information through the first secure channel.
[0114] Step 405: The server sends a key request message to the first quantum key distribution node.
[0115] The key request message is used to obtain the key between the first quantum key distribution node and the second quantum key distribution node; the key request message includes the identifier of the first quantum key distribution node and the identifier of the second quantum key distribution node.
[0116] Step 406: The first quantum key distribution node receives the key request message, executes a key generation process between the first quantum key distribution node and the second quantum key distribution node, and obtains a session key.
[0117] In the embodiment of the present disclosure, the first quantum key distribution node negotiates a key with the second quantum key distribution node to obtain a negotiated quantum key; in the embodiment of the present disclosure, the first quantum key distribution node uses the negotiated quantum key as a session key and feeds it back to the server.
[0118] Step 407: The first quantum key distribution node sends the session key to the server.
[0119] In some embodiments, the first quantum key distribution node sends a session key and metadata corresponding to the session key to the server.
[0120] In the embodiment of the present disclosure, each key has corresponding key metadata, and the format of the key metadata is shown in Table 1:
[0121] Table 1
[0122] It should be noted that the KeyID can be the unique identifier of the quantum key shared between two QKD nodes. The key length can be 128 bits or 256 bits. The key provision time can be the time point when the QKD node provides the key to the business layer. The source identifier can be the identifier of the QKD A node to which the key update terminal device is connected and the name of the key update terminal device. The destination identifier can be the identifier of the QKD C node to which the KDC is connected and the name of the KDC.
[0123] Step 408: The server receives the session key and sends the session key to the terminal device through the key distribution center.
[0124] In the disclosed embodiments, session keys can be sent in-band, out-of-band, via media, signaling, data, messaging, control plane, or user plane. Session keys can be sent via existing media channels to improve compatibility with existing systems and reduce system modification costs. Furthermore, when conducting multi-party secure communication, the established media plane communication channel is a one-to-many multicast / broadcast communication channel. This allows the session key to be sent only once via the established multicast / broadcast communication channel, allowing all other terminals or servers to receive it, effectively reducing the number of messages sent.
[0125] An embodiment of the present disclosure provides a confidential communication method, which includes: a terminal device sends a session key request message to a key distribution center; wherein the session key request message is used to request the acquisition of a session key; the key distribution center receives the session key request message and, based on the session key request message, determines to acquire a key between a second quantum key distribution node connected to a key update terminal device and a first quantum key distribution node connected to a server; wherein the key update terminal device injects an authentication encryption key into the terminal device; the key distribution center sends session information to the server through a first secure channel; the server receives the session information through the first secure channel; the server sends a key request message to the first quantum key distribution node; wherein the key request message is used to acquire a key between the first quantum key distribution node and the second quantum key distribution node; the first quantum key distribution node receives the key request message, executes a key generation process between the first quantum key distribution node and the second quantum key distribution node, and obtains a session key; the first quantum key distribution node sends the session key to the server; wherein the session key is used for confidential communication between the server and the terminal device; the server receives the session key and sends the session key to the terminal device through the key distribution center. That is to say, the present disclosure provides a solution that supports distributing keys in QKDN to communication parties at the application layer, using the quantum key shared between two QKD nodes as the session key, so that the mobile terminal can establish a secure connection with the server based on the session key; at the same time, the session key is generated based on quantum technology and has true random number characteristics, and the secure connection established by the mobile terminal using this key has higher security.
[0126] This disclosure introduces KDC. Mobile terminals only need to obtain keys for authentication with KDC to obtain session keys for communicating with multiple servers through KDC. It also implements KDC-based management of keys from QKDN, providing secure key services for a large number of users.
[0127] FIG5 is a flow chart of a secure communication method provided by an embodiment of the present disclosure. As shown in FIG5 , the method is applied to the secure communication system shown in FIG1 . The method includes:
[0128] Step 501: The terminal device sends a session key request message to the key distribution center.
[0129] Among them, the session key request message is used to request to obtain the session key; the session key is used for confidential communication between the server and the terminal device; the session key request message includes the identification of the authentication encryption key, the identification of the terminal device, the identification of the server, the third verification code and the third random number generated by the terminal device; the third verification code is a verification code generated by using a message authentication code algorithm based on the authentication encryption key, the identification of the terminal device, the identification of the server, the third random number and the identification of the authentication encryption key.
[0130] Step 502: The key distribution center receives the session key request message, determines the authentication encryption key based on the identifier of the authentication encryption key, and verifies the third verification code based on the authentication encryption key.
[0131] In the disclosed embodiment, based on the identifier of the authentication encryption key, a search is performed to determine whether the authentication encryption key is stored in the key file stored in the key distribution center. If not, the process is terminated. If so, step 503 is executed.
[0132] In the embodiment of the present disclosure, after the key distribution center receives the session key request message, it uses a message authentication code algorithm on the terminal device identifier, server identifier, third random number and authentication encryption key identifier in the session key request message based on the authentication encryption key in the session key request message to generate a first reference verification code; then, it compares the first reference verification code with the third verification code; if the first reference verification code and the third verification code are the same, it is determined that the first verification code verification has passed, and it is determined that the session key request message was sent by the terminal device; if the first reference verification code and the third verification code are not exactly the same, it means that the first verification code verification has failed, and a prompt message is returned to the terminal device, or the process is terminated.
[0133] It should be noted that the message authentication code algorithm used by the key distribution center to generate the first reference authentication code is the same as the message authentication code algorithm used by the terminal device to generate the third authentication code. Here, the key distribution center can obtain relevant information about the message authentication code algorithm used by the terminal device from the session key request message, or the key distribution center and the terminal device can pre-negotiate a message authentication code algorithm; this is not specifically limited in this regard.
[0134] Step 503: If the verification is successful, the key distribution center determines that the session key request message is sent by the terminal device; based on the identifier of the terminal device and the identifier of the authentication encryption key, the source node corresponding to the session key is determined to be the second quantum key distribution node; based on the identifier of the server, the destination node corresponding to the session key is determined to be the first quantum key distribution node.
[0135] In the embodiment of the present disclosure, if the verification fails, the process is terminated.
[0136] In the embodiment of the present disclosure, the key distribution center determines the identification of the key update terminal device that provides the authentication encryption key to the terminal device based on the identification of the terminal device and the identification of the authentication encryption key, and determines the identification of the second quantum key distribution node connected to the key update terminal device based on the identification of the key update terminal device; the key distribution center can determine the identification of the first quantum key distribution node connected to the server based on the identification of the server.
[0137] It should be noted that the key distribution center determines that the destination node corresponding to the session key is the second quantum key distribution node based on the identification of the terminal device and the identification of the authentication encryption key; and determines that the source node corresponding to the session key is the first quantum key distribution node based on the identification of the server.
[0138] Step 504: The key distribution center sends session information to the server through the first secure channel.
[0139] The session information includes the identifier of the first quantum key distribution node connected to the server, the identifier of the second quantum key distribution node connected to the key update terminal device, the identifier of the terminal device, and the identifier of the server; the key update terminal device injects the authentication encryption key into the terminal device.
[0140] Step 505: The server receives session information through the first secure channel.
[0141] Step 506: The server sends a key request message to the first quantum key distribution node.
[0142] The key request message is used to obtain the key between the first quantum key distribution node and the second quantum key distribution node; the key request message includes the identifier of the first quantum key distribution node and the identifier of the second quantum key distribution node.
[0143] In some embodiments, the server determines that it is necessary to obtain the quantum key shared between the first quantum key distribution node and the second quantum key distribution node based on the identifier of the first quantum key distribution node and the identifier of the second quantum key distribution node in the session information, uses the shared quantum key as the session key between the terminal device and the server, and provides the shared quantum key to the terminal device through the key distribution center.
[0144] Step 507: The first quantum key distribution node receives the key request message, executes a key generation process between the first quantum key distribution node and the second quantum key distribution node, and obtains a session key.
[0145] Step 508: The first quantum key distribution node sends the session key to the server.
[0146] Step 509: The server receives the session key and generates a first random number.
[0147] It should be noted that the server receives the session key and communicates confidentially with the terminal device based on the session key.
[0148] Here, the first random number can be bound to the session key; the first random number is used to prevent replay attacks and determine the corresponding session key.
[0149] Step 510: The server sends a session key and a first random number to a key distribution center through a first secure channel.
[0150] Step 511: The key distribution center receives a session key and a first random number through a first secure channel.
[0151] Step 512: The key distribution center encrypts the session key based on the authentication encryption key to obtain the encrypted session key.
[0152] Step 513: The key distribution center sends a session key request response message to the terminal device.
[0153] Among them, the session key request response message includes the identification of the terminal device, the identification of the key distribution center, the third random number, the first random number, the encrypted session key and the fourth verification code; the fourth verification code is a verification code generated by using a message authentication code algorithm based on the authentication encryption key pair of the terminal device identification, the identification of the key distribution center, the third random number, the first random number and the encrypted session key.
[0154] It should be noted that the fourth verification code is a verification code generated by using a message authentication code algorithm based on the authentication encryption key pair, the identifier of the terminal device, the identifier of the key distribution center, the third random number and the first random number.
[0155] Furthermore, the key distribution center deletes the authentication encryption key from the secure storage area at the same time as sending the session key request response message to the terminal device; or deletes the authentication encryption key from the secure storage area before sending the session key request response message to the terminal device; or deletes the authentication encryption key from the secure storage area after sending the session key request response message to the terminal device; it should be noted that the authentication encryption key is one-time, and the key distribution center needs to delete the authentication encryption key after use.
[0156] Step 514: The terminal device receives the session key request response message, compares the third random number in the session key request response message with the third random number generated by the terminal device, and determines whether the session key request response message is a replay message.
[0157] In an embodiment of the present disclosure, if the third random number in the session key request response message is the same as the third random number generated by the terminal device, it is determined that the session key request response message is not a replay message; if the third random number in the session key request response message is different from the third random number generated by the terminal device, it is determined that the session key request response message is a replay message.
[0158] Step 515: If the session key request response message is not a replay message, the terminal device verifies the fourth verification code based on the authentication encryption key.
[0159] Step 516: If the verification is successful, the terminal device determines that the communication partner is a key distribution center and deletes the authentication encryption key.
[0160] In an embodiment of the present disclosure, after the terminal device receives a session key request response message, it uses a message authentication code algorithm on the terminal device's identifier, the key distribution center's identifier, the third random number, the first random number, and the encrypted session key in the session key request response message based on the authentication encryption key in the session key request response message to generate a second reference verification code; then, it compares the second reference verification code with the fourth verification code; if the second reference verification code and the fourth verification code are the same, it is determined that the fourth verification code verification has passed, and it is determined that the session key request response message was sent by the key distribution center, and the terminal device deletes the internally stored authentication encryption key; if the second reference verification code and the fourth verification code are not exactly the same, it is determined that the second verification code verification has failed, and the terminal device returns a prompt message to the key distribution center, or terminates the process.
[0161] In an embodiment of the present disclosure, after the terminal device receives a session key request response message, it uses a message authentication code algorithm on the terminal device's identifier, the key distribution center's identifier, the third random number, and the first random number in the session key request response message based on the authentication encryption key in the session key request response message to generate a second reference verification code; then, it compares the second reference verification code with the fourth verification code; if the second reference verification code and the fourth verification code are the same, it is determined that the fourth verification code verification has passed, and it is determined that the session key request response message was sent by the key distribution center, and the terminal device deletes the internally stored authentication encryption key; if the second reference verification code and the fourth verification code are not exactly the same, it is determined that the fourth verification code verification has failed, and the terminal device returns a prompt message to the key distribution center, or terminates the process.
[0162] It should be noted that the message authentication code algorithm used by the terminal device to generate the second reference authentication code is the same as the message authentication code algorithm used by the key distribution center to generate the fourth authentication code. Here, the terminal device can obtain relevant information about the message authentication code algorithm used by the key distribution center from the session key request response message, or the key distribution center and the terminal device may have pre-negotiated a message authentication code algorithm; this disclosure does not make any specific limitations on this.
[0163] Step 517: The terminal device sends a session request to the server.
[0164] The session request includes the terminal device identifier, the server identifier, a first random number, a second random number generated by the terminal device, and a first verification code; the first verification code is a verification code generated by using a message authentication code algorithm based on the session key and the terminal device identifier, the server identifier, the first random number, and the second random number.
[0165] Step 518: The server receives the session request, compares the first random number generated by the server with the first random number in the session request, and determines whether the session request is a replay message.
[0166] In the embodiment of the present disclosure, if the first random number in the session request is the same as the first random number generated by the server, it is determined that the session request is not a replay message; if the first random number in the session request is different from the first random number generated by the server, it is determined that the session request is a replay message.
[0167] Step 519: If the session request is not a replay message, the server obtains a session key corresponding to the first random number, and verifies the first verification code based on the session key.
[0168] It should be noted that the server first binds the second random number to the session key, and after receiving and verifying the session request, the server directly obtains the session key bound to the second random number.
[0169] In the embodiment of the present disclosure, the server uses a message authentication code algorithm based on the session key to generate a third reference authentication code for the terminal device identifier, the server identifier, the first random number, and the second random number in the session request; then, the third reference authentication code is compared with the first authentication code; if the third reference authentication code is the same as the first authentication code, it means that the authentication of the first authentication code has passed, and a session request response message is sent to the terminal device; if the third reference authentication code is not exactly the same as the first authentication code, it means that the authentication of the first authentication code has failed, and a prompt message is returned to the key distribution center, or the process is terminated.
[0170] It should be noted that the message verification code algorithm used by the server to generate the third reference verification code is the same as the message verification code algorithm used by the terminal device to generate the first verification code. Here, the server can obtain relevant information about the message verification code algorithm used by the terminal device from the session request, or the server and the terminal device can pre-negotiate a message verification code algorithm; this is not specifically limited in this regard.
[0171] Step 520: If the verification is successful, the server sends a session response message to the terminal device.
[0172] The session response message includes the terminal device identifier, the server identifier, the second random number and the second verification code; the second verification code is a verification code generated by using the message verification code algorithm based on the session key and the terminal device identifier, the server identifier and the second random number.
[0173] Step 521: The terminal device receives a session response message sent by the server, compares the second random number generated by the terminal device with the second random number in the session response message, and determines whether the session response message is a replay message.
[0174] In an embodiment of the present disclosure, if the second random number in the session response message is the same as the second random number generated by the terminal device, it is determined that the session response message is not a replay message; if the second random number in the session response message is different from the second random number generated by the terminal device, it is determined that the session response message is a replay message.
[0175] Step 522: If the session response message is not a replay message, the terminal device verifies the second verification code based on the session key. If the verification succeeds, the terminal device performs confidential communication with the server based on the session key.
[0176] In the disclosed embodiment, the terminal device uses a message authentication code algorithm based on the session key to generate a fourth reference authentication code for the terminal device identifier, the server identifier, and a second random number in the session request response message. The fourth reference authentication code is then compared with the second authentication code. If the fourth reference authentication code and the second authentication code are identical, verification of the second authentication code has succeeded, and the terminal device is communicating securely with the server based on the session key. If the fourth reference authentication code and the second authentication code are not identical, verification of the second authentication code has failed, and the process is terminated.
[0177] It should be noted that the message verification code algorithm used by the terminal device to generate the fourth reference verification code is the same as the message verification code algorithm used by the server to generate the second verification code. Here, the terminal device can obtain relevant information about the message verification code algorithm used by the server from the session response message, or the server and the terminal device can pre-negotiate a message verification code algorithm; this disclosure does not make specific limitations on this.
[0178] It should be noted that, for the description of the same steps and contents in this embodiment as those in other embodiments, reference can be made to the description in other embodiments and will not be repeated here.
[0179] In some embodiments, as shown in FIG6 , the method provided by the embodiment of the present invention includes the following contents:
[0180] Step A1: The terminal device sends a key request to the key update terminal device.
[0181] The key request is used to request a one-time key for connecting to a key distribution center.
[0182] Step A2: The key update terminal device receives the key request and sends the key request to the second quantum key distribution node, such as QKD A.
[0183] Step A3: QKD A performs QKD key negotiation with a third quantum key distribution node, such as QKD C.
[0184] Among them, QKD C is the quantum key distribution node connected to the KDC; QKD A is the quantum key distribution node connected to the key update terminal device.
[0185] Step A4: QKD C sends the key file to KDC; QKD A sends the key file to the key update terminal device.
[0186] The key file includes one or more keys and metadata corresponding to each key.
[0187] Furthermore, the key update terminal device receives the key file sent by the second quantum key distribution node, namely QKD A; the key distribution center receives the key file sent by the third quantum key distribution node, namely QKD C.
[0188] Step A5: Key update: The terminal device is bound to the terminal, for example, the user identification on the terminal is bound to the key metadata corresponding to the key.
[0189] Among them, the key metadata includes the key identifier, source identifier and destination identifier; the source identifier is the identifier corresponding to the binding between the key update terminal device and the second quantum key distribution node; the destination identifier is the identifier corresponding to the binding between the key distribution center and the third quantum key distribution node.
[0190] Step A6: Key update: The terminal device sends a key file to the terminal device; further, the terminal device receives the key file.
[0191] Step A7: The key distribution center receives mapping information between the terminal and key metadata corresponding to the key sent by the key update terminal device through the second secure channel.
[0192] Among them, the key metadata includes the key identifier, source identifier and destination identifier; the source identifier is the identifier corresponding to the binding between the key update terminal device and the second quantum key distribution node; the destination identifier is the identifier corresponding to the binding between the key distribution center and the third quantum key distribution node.
[0193] It should be noted that after receiving the mapping information, the key distribution center binds the terminal based on the mapping information, for example, the user identifier on the terminal and the key metadata corresponding to the key.
[0194] Step A8: The key distribution center updates the key file based on the mapping information.
[0195] For example, a mobile user visits an operator's business hall and applies for batch injection of keys from the QKDN on a key update terminal. The key update terminal initiates a key application request to the connected QKD A node. The QKD A node initiates the QKD key negotiation process with the QKD C node connected to the KDC, generating a key file containing batch keys and key metadata for key management. The key file is output to the key update terminal and KDC respectively. The key update terminal binds the mobile user's IDx to the key metadata and transmits it to the KDC via a long-term secure channel between the key update terminal and the KDC. The KDC finds the corresponding key through the key metadata and binds the user's IDx to these keys and key metadata.
[0196] For example, the mobile terminal uses an authentication encryption key to mutually authenticate with the KDC. The KDC requests a session key from the server. The server requests a key from the QKDN layer between QKD Node A (connected to the key update terminal device) and QKD Node E (connected to server Y). After obtaining this key, the server uses it as the session key and distributes it to the KDC. The KDC sends the encrypted session key to the mobile terminal, which uses it to establish secure communication between the mobile terminal and the server. The session key distribution process is shown in Figure 7.
[0197] Step 701: Mobile terminal X sends a session key request message to the KDC.
[0198] Exemplarily, mobile terminal X sends message 1 to KDC; the content of message 1 includes IDx, IDy, N1x, KeyID, and MAC1.
[0199] Here, IDx is the identifier of mobile terminal X, IDy is the identifier of server Y, N1x is a one-time random number generated by mobile terminal X, KeyID is the identifier of the authentication encryption key used by the mobile terminal this time, and MAC1 is a message authentication code generated based on the authentication encryption key pair IDx, IDy, N1x, and KeyID using a message authentication code algorithm, such as HMAC. The calculation formula is as follows: MAC1 = HMAC(AE-key, IDx‖IDy‖N1x‖KeyID); here, AE-key is the authentication encryption key corresponding to KeyID, and ‖ is a string concatenation.
[0200] Step 702: KDC sends session information to server Y.
[0201] For example, KDC sends message 2 to server Y; the content of message 2 includes IDx, IDy, ID QKD-A , ID QKD-E .
[0202] Here, ID QKD-A Is the identifier of QKD A node; ID QKD-E It is the identifier of the QKD E-node.
[0203] It should be noted that after receiving Message 1, the KDC searches for the corresponding stored authentication encryption key AE-key based on the KeyID in Message 1. If the key is not found, the process terminates. Upon finding the authentication encryption key AE-key, the KDC uses it to verify MAC1. Successful verification proves that Message 1 has not been tampered with by an attacker and that the sender is mobile terminal X. Based on IDx and KeyID, the KDC determines the key update terminal device from which mobile terminal X obtained the authentication encryption key and the identifier of the QKD node corresponding to this key update terminal device. This determines that the QKD source node for the required key in QKDN is QKD A. Based on IDy, the KDC confirms that the QKD destination node for the required key in QKDN is QKD E (connected to server Y). In short, based on IDx, KeyID, and IDy, the KDC determines the key Kae required between QKD A (connected to the key update terminal) and QKD E (connected to server Y). Furthermore, the KDC sends session information to the server via a secure channel connected to the server.
[0204] Step 703: Server Y sends a key request message to the QKD E-node.
[0205] For example, server Y sends message 3 to QKD node E; the content of message 3 includes ID QKD-A , ID QKD-E .
[0206] It should be noted that after server Y receives message 2, server Y uses ID QKD-A , ID QKD-E Confirm that the key Kae is required between the QKD A node (connected to the key update terminal device) and the QKD E node (connected to the server Y). Server Y sends a key request message to the QKD E node connected to it.
[0207] Step 704: After receiving the key request message, the QKD E node performs the key generation process between the QKD A node and the QKD E node to obtain the key Kae.
[0208] Step 705: QKD E node sends a key request response message to server Y.
[0209] Exemplarily, the QKD E node sends a message 5 to the server Y; the content of the message 5 includes Kae.
[0210] Step 706: Server Y sends the session key and the one-time random number to the KDC.
[0211] Exemplarily, server Y sends message 6 to KDC; the content of message 6 includes SE-key, Ny.
[0212] It should be noted that server Y uses the key Kae as the session key SE-key, generates a one-time random number Ny, and binds Ny to the session key SE-key. Server Y sends the session key SE-key and the one-time random number Ny to the KDC through a secure channel.
[0213] Step 707: KDC sends a session key request response message to mobile terminal X.
[0214] For example, KDC sends message 7 to mobile terminal X; the content of message 7 includes IDx, ID KDC , N1x, Ny, [SE-key] AE-key , MAC2.
[0215] Here, [SE-key] AE-key Indicates the encrypted session key obtained by encrypting the session key SE-key using an encryption algorithm such as AES based on the authentication encryption key AE-key. MAC2 is based on the authentication encryption key pair IDx, ID KDC , N1x, Ny use a message authentication code algorithm, such as HMAC, to generate a message authentication code, the calculation formula of which is as follows: MAC2 = HMAC(AE-key, IDx‖ID KDC ‖N1x‖Ny‖[SE-key] AE-key ); Here, the encryption algorithm and the message authentication code algorithm are used in step 707 respectively, and the above functions can also be achieved by using the authentication encryption algorithm based on the authentication encryption key.
[0216] Furthermore, the KDC deletes the one-time authentication encryption key from the secure storage area.
[0217] Step 708: Mobile terminal X sends a session request to server Y.
[0218] Exemplarily, mobile terminal X sends message 8 to server Y; the content of message 8 includes IDx, IDy, N2x, Ny, and MAC3.
[0219] Here, N2x is a one-time random number generated by the mobile terminal X, and MAC3 is a message authentication code generated by using a message authentication code algorithm, such as HMAC, for IDx, IDy, N2x, and Ny based on the session key SE-key. The calculation formula is as follows: MAC3 = HMAC(SE-key, IDx‖IDy‖N2x‖Ny).
[0220] It should be noted that after receiving Message 7, Mobile Terminal X compares N1x in Message 7 with N1x in Message 1. If they are equal, it can be determined that Message 7 is not a replay message. It then verifies MAC2 using the authentication encryption key. If verification succeeds, it proves that the communicating party is the KDC. Mobile Terminal X deletes the one-time authentication encryption key. Mobile Terminal X generates a session request and sends it to Server Y.
[0221] Step 709: Server Y sends a session request response message to mobile terminal X.
[0222] Exemplarily, server Y sends message 9 to mobile terminal X; the content of message 9 includes IDy, IDx, N2x, and MAC4.
[0223] Here, MAC4 is a message authentication code generated based on the session key SE-key using a message authentication code algorithm, such as HMAC, for IDy, IDx, and N2x, and its calculation formula is as follows: MAC4=HMAC(SE-key, IDy|IDx|N2x).
[0224] It should be noted that after receiving message 8, server Y compares Ny in message 8 with Ny sent in message 6. If they are the same, it confirms that message 8 is not a replay. It also finds the corresponding session key SE-key based on Ny. Server Y uses SE-key to verify MAC3. If the verification succeeds, it proves the authenticity of mobile terminal X and its possession of the session key. Server Y generates a session request response message and sends it to mobile terminal X. After receiving message 9, mobile terminal X compares N2x in message 9 with N2x sent in message 8. If they are the same, it confirms that message 9 is not a replay. Mobile terminal X uses the session key SE-key to verify MAC4. If the verification succeeds, it proves that the communicating party is server Y and possesses the session key SE-key.
[0225] An embodiment of the present disclosure provides a server that can be used to implement a secure communication method provided in the embodiments corresponding to FIG. 4 and FIG. 5 . As shown in FIG. 8 , the server 800 includes:
[0226] The first receiving part 801 is configured to receive session information sent by the key distribution center through the first secure channel; wherein the session information includes the identifier of the first quantum key distribution node connected to the server, the identifier of the second quantum key distribution node connected to the key update terminal device, the identifier of the terminal device, and the identifier of the server; the key update terminal device injects the authentication encryption key into the terminal device;
[0227] The first sending part 802 is configured to send a key request message to the first quantum key distribution node; wherein the key request message is used to obtain a key between the first quantum key distribution node and the second quantum key distribution node; the key request message includes an identifier of the first quantum key distribution node and an identifier of the second quantum key distribution node;
[0228] A first receiving part 801 is configured to receive a session key sent by a first quantum key distribution node;
[0229] The first sending part 802 is configured to send a session key to the terminal device through the key distribution center; wherein the session key is used for confidential communication between the server and the terminal device.
[0230] In other embodiments of the present disclosure, the first processing part 803 is configured to perform confidential communication with the terminal device based on the session key.
[0231] In other embodiments of the present disclosure, the first sending part 802 is configured to send the session key and the first random number to the key distribution center through the first secure channel; wherein the first random number is generated by the server.
[0232] In other embodiments of the present disclosure, the first receiving part 801 is configured to receive a session request sent by a terminal device; wherein the session request includes an identifier of the terminal device, an identifier of the server, a first random number, a first verification code, and a second random number generated by the terminal device; the first verification code is a verification code generated by using a message authentication code algorithm based on the session key and the identifier of the terminal device, the identifier of the server, the first random number, and the second random number;
[0233] The first processing part 803 is configured to compare the first random number generated by the server with the first random number in the session request to determine whether the session request is a replay message;
[0234] A first obtaining part 804 is configured to obtain a session key corresponding to the first random number if the session request is not a replay message;
[0235] The first processing part 803 is configured to verify the first verification code based on the session key;
[0236] The first sending part 802 is configured to send a session response message to the terminal device if the verification is successful; wherein the session response message includes the terminal device identifier, the server identifier, the second random number, and the second verification code; the second verification code is a verification code generated by using a message verification code algorithm based on the session key and the terminal device identifier, the server identifier, and the second random number.
[0237] The description of the above device embodiment is similar to the description of the above method embodiment and has similar beneficial effects as the method embodiment. For technical details not disclosed in the device embodiment of the present disclosure, please refer to the description of the method embodiment of the present disclosure for understanding.
[0238] It should be noted that in the embodiments of the present disclosure, if the above-mentioned confidential communication method is implemented in the form of a software function module and sold or used as an independent product, it can also be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the embodiment of the present disclosure is essentially or the part that contributes to the relevant technology can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions for enabling a terminal device to execute all or part of the methods of each embodiment of the present disclosure. The aforementioned storage medium includes: various media that can store program codes, such as a U disk, a mobile hard disk, a read-only memory (ROM), a magnetic disk or an optical disk. In this way, the embodiments of the present disclosure are not limited to any specific combination of hardware and software.
[0239] An embodiment of the present disclosure provides a key distribution center, which can be used to implement a secure communication method provided in the embodiments corresponding to FIG. 4 and FIG. 5 . As shown in FIG. 9 , the key distribution center 900 includes:
[0240] The second receiving section 901 is configured to receive a session key request message sent by a terminal device. The session key request message is used to request a session key. The session key request message includes an authentication encryption key identifier, a terminal device identifier, a server identifier, a third verification code, and a third random number generated by the terminal device. The third verification code is generated using a message authentication code algorithm based on the authentication encryption key, the terminal device identifier, the server identifier, the third random number, and the authentication encryption key identifier.
[0241] The second processing section 902 is configured to determine, based on the session key request message, to obtain a key between a second quantum key distribution node connected to the key update terminal device and a first quantum key distribution node connected to the server; wherein the key update terminal device injects an authentication encryption key into the terminal device;
[0242] The second sending part 903 is configured to send session information to the server through the first secure channel; wherein the session information includes the identifier of the first quantum key distribution node, the identifier of the second quantum key distribution node, the identifier of the terminal device, and the identifier of the server;
[0243] The second receiving part 901 is configured to receive the session key and the first random number sent by the server through the first secure channel;
[0244] The second sending part 903 is configured to send a session key to the terminal device; wherein the session key is used for confidential communication between the server and the terminal device.
[0245] In other embodiments of the present disclosure, the second processing part 902 is configured to determine the authentication encryption key based on the identifier of the authentication encryption key; verify the third verification code based on the authentication encryption key; if the verification is successful, determine that the session key request message is sent by the terminal device; based on the identifier of the terminal device and the identifier of the authentication encryption key, determine that the source node corresponding to the session key is the second quantum key distribution node; based on the identifier of the server, determine that the destination node corresponding to the session key is the first quantum key distribution node.
[0246] In other embodiments of the present disclosure, the second processing portion 902 is configured to encrypt the session key based on the authentication encryption key to obtain an encrypted session key;
[0247] The second sending part 903 is configured to send a session key request response message to the terminal device; wherein the session key request response message includes the identifier of the terminal device, the identifier of the key distribution center, the third random number, the first random number, the encrypted session key and the fourth verification code; the fourth verification code is a verification code generated by using a message authentication code algorithm based on the authentication encryption key pair of the terminal device identifier, the key distribution center identifier, the third random number, the first random number and the encrypted session key.
[0248] In other embodiments of the present disclosure, the second processing part 902 is configured to delete the authentication encryption key from the secure storage area.
[0249] In other embodiments of the present disclosure, the second receiving part 901 is configured to receive a key file sent by a third quantum key distribution node; wherein the key file includes one or more keys and metadata corresponding to each key;
[0250] The second receiving part 901 is configured to receive, through a second secure channel, mapping information between a terminal and key metadata corresponding to a key, sent by a key update terminal device; wherein the key metadata includes a key identifier, a source identifier, and a destination identifier; the source identifier is an identifier corresponding to the binding between the key update terminal device and the second quantum key distribution node; and the destination identifier is an identifier corresponding to the binding between the key distribution center and the third quantum key distribution node.
[0251] The second processing part 902 is configured to update the key file based on the mapping information.
[0252] In other embodiments of the present disclosure, the second processing part 902 is configured to search whether the authentication encryption key is stored in the key file based on the identifier of the authentication encryption key.
[0253] The description of the above device embodiment is similar to the description of the above method embodiment and has similar beneficial effects as the method embodiment. For technical details not disclosed in the device embodiment of the present disclosure, please refer to the description of the method embodiment of the present disclosure for understanding.
[0254] It should be noted that in the embodiments of the present disclosure, if the above-mentioned confidential communication method is implemented in the form of a software function module and sold or used as an independent product, it can also be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the embodiments of the present disclosure is essentially or the part that contributes to the relevant technology can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes a number of instructions for enabling a terminal device to execute all or part of the methods of each embodiment of the present disclosure. The aforementioned storage medium includes: various media that can store program codes, such as a U disk, a mobile hard disk, a ROM, a magnetic disk or an optical disk. In this way, the embodiments of the present disclosure are not limited to any specific combination of hardware and software.
[0255] An embodiment of the present disclosure provides a terminal device, which can be used to implement a secure communication method provided in the embodiments corresponding to FIG. 4 and FIG. 5 . As shown in FIG. 10 , the terminal device 1000 includes:
[0256] The third sending section 1001 is configured to send a session key request message to the key distribution center; wherein the session key request message is used to request the acquisition of the session key; the session key request message includes the authentication encryption key identifier, the terminal device identifier, the server identifier, a third verification code, and a third random number generated by the terminal device; wherein the third verification code is generated by using a message authentication code algorithm based on the authentication encryption key, the terminal device identifier, the server identifier, the third random number, and the authentication encryption key identifier;
[0257] The third receiving part 1002 is configured to receive a session key sent by a key distribution center; wherein the session key is used for confidential communication between the server and the terminal device; the session key is a key between a first quantum key distribution node connected to the server and a second quantum key distribution node connected to the key update terminal device.
[0258] In other embodiments of the present disclosure, the third receiving part 1002 is configured to receive a session key request response message sent by the key distribution center; wherein the session key request response message includes the identifier of the terminal device, the identifier of the key distribution center, the third random number, the first random number, the encrypted session key and the fourth verification code; the fourth verification code is a verification code generated by using a message authentication code algorithm based on the authentication encryption key to the identifier of the terminal device, the identifier of the key distribution center, the third random number, the first random number and the encrypted session key; the encrypted session key is obtained by encrypting the session key by the key distribution center based on the authentication encryption key.
[0259] In other embodiments of the present disclosure, the third processing part 1003 is configured to compare the third random number in the session key request response message with the third random number generated by the terminal device to determine whether the session key request response message is a replay message; if the session key request response message is not a replay message, verify the fourth verification code based on the authentication encryption key; if the verification is successful, it is proved that the communication partner is a key distribution center, and the authentication encryption key is deleted.
[0260] In other embodiments of the present disclosure, the third sending part 1001 is configured to send a session request to the server; wherein the session request includes the identifier of the terminal device, the identifier of the server, the first random number, the second random number generated by the terminal device, and the first verification code; the first verification code is a verification code generated by using a message authentication code algorithm based on the session key and the identifier of the terminal device, the identifier of the server, the first random number, and the second random number.
[0261] In other embodiments of the present disclosure, the third receiving part 1002 is configured to receive a session response message sent by the server; wherein the session response message includes the terminal device identifier, the server identifier, the second random number, and the second verification code; the second verification code is a verification code generated by using a message authentication code algorithm based on the session key and the terminal device identifier, the server identifier, and the second random number;
[0262] The third processing part 1003 is configured to compare the second random number generated by the terminal device with the second random number in the session response message to determine whether the session response message is a replay message; if the session response message is not a replay message, communicate confidentially with the server based on the session key.
[0263] In other embodiments of the present disclosure, the third sending part 1001 is configured to send a key request to the key update node; wherein the key request is used to request to obtain a one-time key for connecting to the key distribution node;
[0264] The third receiving part 1002 is configured to receive a key file sent by the key update node; wherein the key file includes one or more keys and metadata corresponding to each key.
[0265] The description of the above device embodiment is similar to the description of the above method embodiment and has similar beneficial effects as the method embodiment. For technical details not disclosed in the device embodiment of the present disclosure, please refer to the description of the method embodiment of the present disclosure for understanding.
[0266] It should be noted that in the embodiments of the present disclosure, if the above-mentioned confidential communication method is implemented in the form of a software function module and sold or used as an independent product, it can also be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the embodiments of the present disclosure is essentially or the part that contributes to the relevant technology can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes a number of instructions for enabling a terminal device to execute all or part of the methods of each embodiment of the present disclosure. The aforementioned storage medium includes: various media that can store program codes, such as a U disk, a mobile hard disk, a ROM, a magnetic disk or an optical disk. In this way, the embodiments of the present disclosure are not limited to any specific combination of hardware and software.
[0267] An embodiment of the present disclosure provides a key update terminal device, which can be used to implement a secure communication method provided in an embodiment of the present disclosure. As shown in FIG11 , the key update terminal device 1100 includes:
[0268] The fourth receiving part 1101 is configured to receive a key request sent by a terminal device, wherein the key request is used to request a one-time key for connecting to a key distribution node; receive a key file sent by a second quantum key distribution node, wherein the key file includes one or more keys and metadata corresponding to each key;
[0269] The fourth processing section 1102 is configured to bind the terminal to key metadata corresponding to the key; wherein the key metadata includes a key identifier, a source identifier, and a destination identifier; the source identifier is an identifier corresponding to the binding between the key update terminal device and the second quantum key distribution node; the destination identifier is an identifier corresponding to the binding between the key distribution center and the third quantum key distribution node;
[0270] The fourth sending part 1103 is configured to send the key file to the terminal device.
[0271] The description of the above device embodiment is similar to the description of the above method embodiment and has similar beneficial effects as the method embodiment. For technical details not disclosed in the device embodiment of the present disclosure, please refer to the description of the method embodiment of the present disclosure for understanding.
[0272] It should be noted that in the embodiments of the present disclosure, if the above-mentioned confidential communication method is implemented in the form of a software function module and sold or used as an independent product, it can also be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the embodiments of the present disclosure is essentially or the part that contributes to the relevant technology can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes a number of instructions for enabling a terminal device to execute all or part of the methods of each embodiment of the present disclosure. The aforementioned storage medium includes: various media that can store program codes, such as a U disk, a mobile hard disk, a ROM, a magnetic disk or an optical disk. In this way, the embodiments of the present disclosure are not limited to any specific combination of hardware and software.
[0273] An embodiment of the present disclosure provides a first quantum key distribution node, which can be used to implement a secure communication method provided in the embodiments corresponding to FIG. 4 and FIG. 5 . As shown in FIG. 12 , the first quantum key distribution node 1200 includes:
[0274] The fifth receiving part 1201 is configured to receive a key request message sent by the server; wherein the key request message is used to obtain a key between the first quantum key distribution node and the second quantum key distribution node connected to the key update terminal device; the key request message includes an identifier of the first quantum key distribution node and an identifier of the second quantum key distribution node;
[0275] The fifth processing part 1202 is configured to perform a key generation process between the first quantum key distribution node and the second quantum key distribution node to obtain a session key;
[0276] The fifth sending part 1203 is configured to send a session key to the server; wherein the session key is used for confidential communication between the server and the terminal device.
[0277] The description of the above device embodiment is similar to the description of the above method embodiment, and has similar beneficial effects as the method embodiment. For technical details not disclosed in the device embodiment of the present disclosure, please refer to the description of the method embodiment of the present disclosure for understanding.
[0278] It should be noted that in the embodiments of the present disclosure, if the above-mentioned confidential communication method is implemented in the form of a software function module and sold or used as an independent product, it can also be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the embodiments of the present disclosure is essentially or the part that contributes to the relevant technology can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes a number of instructions for enabling a terminal device to execute all or part of the methods of each embodiment of the present disclosure. The aforementioned storage medium includes: various media that can store program codes, such as a U disk, a mobile hard disk, a ROM, a magnetic disk or an optical disk. In this way, the embodiments of the present disclosure are not limited to any specific combination of hardware and software.
[0279] Figure 13 is a schematic diagram of a communication device 1300 provided in an embodiment of the present disclosure. The communication device can be a key distribution center, a terminal device, a server, a key update terminal device, or a first quantum key distribution node. The communication device 1300 shown in Figure 13 includes a processor 1310, which can call and execute a computer program from a memory to implement the method in the embodiment of the present disclosure.
[0280] Optionally, as shown in FIG13 , the communication device 1300 may further include a memory 1320. The processor 1310 may call and execute a computer program from the memory 1320 to implement the method in the embodiment of the present disclosure.
[0281] The memory 1320 may be a separate device independent of the processor 1310 , or may be integrated into the processor 1310 .
[0282] Optionally, as shown in FIG13 , the communication device 1300 may further include a transceiver 1330 , and the processor 1310 may control the transceiver 1330 to communicate with other devices, specifically, to send information or data to other devices, or to receive information or data sent by other devices.
[0283] The transceiver 1330 may include a transmitter and a receiver. The transceiver 1330 may further include an antenna, and the number of antennas may be one or more.
[0284] Optionally, the communication device 1300 may specifically be the key distribution center / terminal device / server / key update terminal device / third quantum key distribution node of the embodiment of the present disclosure, and the communication device 1300 may implement the corresponding processes implemented by the key distribution center / terminal device / server / key update terminal device / first quantum key distribution node in each method of the embodiment of the present disclosure. For the sake of brevity, they will not be repeated here.
[0285] Optionally, the communication device 1300 may specifically be the key distribution center of the embodiment of the present disclosure, and the communication device 1300 may implement the corresponding processes implemented by the key distribution center in each method of the embodiment of the present disclosure. For the sake of brevity, they will not be repeated here.
[0286] Optionally, the communication device 1300 may specifically be a terminal device of an embodiment of the present disclosure, and the communication device 1300 may implement the corresponding processes implemented by the terminal device in each method of the embodiment of the present disclosure. For the sake of brevity, they will not be repeated here.
[0287] Optionally, the communication device 1300 may specifically be a server in an embodiment of the present disclosure, and the communication device 1300 may implement the corresponding processes implemented by the server in each method of the embodiment of the present disclosure, which will not be described in detail here for the sake of brevity.
[0288] Optionally, the communication device 1300 may specifically be a key update terminal device in an embodiment of the present disclosure, and the communication device 1300 may implement the corresponding processes implemented by the key update terminal device in each method of the embodiment of the present disclosure, which will not be described in detail here for the sake of brevity.
[0289] Optionally, the communication device 1300 may specifically be the first quantum key distribution node of the embodiment of the present disclosure, and the communication device 1300 may implement the corresponding processes implemented by the first quantum key distribution node in each method of the embodiment of the present disclosure. For the sake of brevity, they will not be repeated here.
[0290] In some embodiments, the present disclosure further provides a computer program product, including a computer program, which can be executed by the processor 1310 of the communication device 1300 to complete the steps of any of the aforementioned methods.
[0291] It should be understood that the processor of the embodiments of the present disclosure may be an integrated circuit chip with signal processing capabilities. During implementation, each step of the above-mentioned method embodiment can be completed by hardware integrated logic circuits in the processor or by software instructions. The above-mentioned processor can be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. The various methods, steps, and logic block diagrams disclosed in the embodiments of the present disclosure can be implemented or executed. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in conjunction with the embodiments of the present disclosure can be directly implemented and executed by a hardware decoding processor, or by a combination of hardware and software modules in the decoding processor. The software module can be located in a storage medium mature in the art, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, etc. The storage medium is located in the memory, and the processor reads the information in the memory and, in conjunction with its hardware, completes the steps of the above-mentioned method.
[0292] As an embodiment, the processor may include one or more general-purpose central processing units (CPUs). Each of these processors may be a single-core (single-CPU) processor or a multi-core (multi-CPU) processor. The processor herein may refer to one or more devices, circuits, and / or processing cores for processing data (e.g., executing computer instructions).
[0293] It is understood that the memory in the embodiments of the present disclosure may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memories. Among them, the non-volatile memory may be a ROM, a programmable read-only memory (Programmable ROM, PROM), an erasable programmable read-only memory (Erasable PROM, EPROM), an electrically erasable programmable read-only memory (Electrically EPROM, EEPROM) or a flash memory. The volatile memory may be a random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct RAM bus random access memory (DR RAM). It should be noted that the memory of the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.
[0294] It should be understood that the above-mentioned memories are exemplary but not restrictive. For example, the memories in the embodiments of the present disclosure may also be static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link DRAM (SLDRAM), and direct RAM RAM (DR RAM), etc. In other words, the memories in the embodiments of the present disclosure are intended to include, but are not limited to, these and any other suitable types of memories.
[0295] The embodiment of the present disclosure also provides a computer-readable storage medium for storing a computer program.
[0296] Optionally, the computer-readable storage medium can be applied to the key distribution center in the embodiments of the present disclosure, and the computer program enables the computer to execute the corresponding processes implemented by the key distribution center in the various methods of the embodiments of the present disclosure. For the sake of brevity, they are not repeated here.
[0297] Optionally, the computer-readable storage medium can be applied to the terminal device in the embodiments of the present disclosure, and the computer program enables the computer to execute the corresponding processes implemented by the terminal device in the various methods of the embodiments of the present disclosure. For the sake of brevity, they are not repeated here.
[0298] Optionally, the computer-readable storage medium can be applied to the server in the embodiments of the present disclosure, and the computer program enables the computer to execute the corresponding processes implemented by the server in the various methods of the embodiments of the present disclosure. For the sake of brevity, they are not repeated here.
[0299] Optionally, the computer-readable storage medium can be applied to the key update terminal device in the embodiment of the present disclosure, and the computer program enables the computer to execute the corresponding processes implemented by the key update terminal device in each method of the embodiment of the present disclosure. For the sake of brevity, it will not be repeated here.
[0300] Optionally, the computer-readable storage medium can be applied to the first quantum key distribution node in the embodiment of the present disclosure, and the computer program enables the computer to execute the corresponding processes implemented by the first quantum key distribution node in the various methods of the embodiment of the present disclosure. For the sake of brevity, they are not repeated here.
[0301] In the above embodiments, all or part of the embodiments may be implemented by software, hardware, firmware, or any combination thereof. When implemented by software, all or part of the embodiments may be implemented in the form of a computer program product.
[0302] The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function according to the embodiment of the present disclosure is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from a website, a computer, a server or a data center by wired (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.) mode to another website, computer, server or data center. The computer-readable storage medium can be any available medium that a computer can store or a data storage device such as a server or data center that includes one or more available media integrations. Available media can be magnetic media, (such as floppy disks, hard disks, tapes), optical media (such as DVDs), or semiconductor media (such as solid-state drives (SSDs)).
[0303] The above is a detailed introduction to the secure communication method, key distribution center, terminal device, server, key update terminal device, first quantum key distribution node, computer-readable storage medium and computer program product provided in the embodiments of the present disclosure. Specific examples are used herein to illustrate the principles and implementation methods of the present disclosure. The description of the above embodiments is only used to help understand the method of the present disclosure and its core ideas. At the same time, for those skilled in the art, according to the ideas of the present disclosure, there will be changes in the specific implementation methods and application scopes. In summary, the content of this specification should not be understood as limiting the present disclosure.
[0304] It should be understood that “one embodiment” or “an embodiment” or “an embodiment of the present disclosure” or “the aforementioned embodiment” or “some implementation methods” or “some embodiments” mentioned throughout the specification means that the specific features, structures or characteristics related to the embodiment are included in at least one embodiment of the present disclosure. Therefore, “in one embodiment” or “in an embodiment” or “an embodiment of the present disclosure” or “the aforementioned embodiment” or “some implementation methods” or “some embodiments” appearing throughout the specification do not necessarily refer to the same embodiment. In addition, these specific features, structures or characteristics can be combined in one or more embodiments in any suitable manner. It should be understood that in the various embodiments of the present disclosure, the size of the serial numbers of the above-mentioned processes does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present disclosure. The serial numbers of the embodiments of the present disclosure mentioned above are for description only and do not represent the advantages and disadvantages of the embodiments.
[0305] Unless otherwise specified, any step in the disclosed embodiments performed by a key distribution center / terminal device / server / key update terminal device / first quantum key distribution node may be performed by a processor of the key distribution center / terminal device / server / key update terminal device / first quantum key distribution node. Unless otherwise specified, the disclosed embodiments do not limit the order in which the key distribution center / terminal device / server / key update terminal device / first quantum key distribution node executes the following steps. Furthermore, the data processing methods used in different embodiments may be the same or different.
[0306] In the several embodiments provided in the present disclosure, it should be understood that the disclosed devices and methods can be implemented in other ways. The device embodiments described above are merely schematic. For example, the division of the units is merely a logical function division. In actual implementation, there may be other division methods, such as: multiple units or components can be combined, or can be integrated into another system, or some features can be ignored or not executed. In addition, the coupling, direct coupling, or communication connection between the components shown or discussed can be through some interfaces, and the indirect coupling or communication connection of the devices or units can be electrical, mechanical or other forms.
[0307] The units described above as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units; they may be located in one place or distributed across multiple network units; some or all of the units may be selected according to actual needs to achieve the purpose of the scheme of this embodiment.
[0308] In addition, all functional units in the embodiments of the present disclosure may be integrated into one processing unit, or each unit may be separately used as a unit, or two or more units may be integrated into one unit; the above-mentioned integrated units may be implemented in the form of hardware or in the form of hardware plus software functional units.
[0309] The methods disclosed in the several method embodiments provided in this disclosure can be arbitrarily combined without conflict to obtain new method embodiments.
[0310] The features disclosed in the several product embodiments provided in this disclosure can be arbitrarily combined without conflict to obtain new product embodiments.
[0311] The features disclosed in several method or device embodiments provided in this disclosure can be arbitrarily combined without conflict to obtain new method embodiments or device embodiments.
[0312] Those skilled in the art will understand that all or part of the steps of implementing the above-mentioned method embodiment can be completed by hardware related to program instructions, and the aforementioned program can be stored in a computer storage medium. When the program is executed, it executes the steps of the above-mentioned method embodiment; and the aforementioned storage medium includes: various media that can store program codes, such as mobile storage devices, ROMs, magnetic disks or optical disks.
[0313] Alternatively, if the above-mentioned integrated unit of the present disclosure is implemented in the form of a software function module and sold or used as an independent product, it can also be stored in a computer storage medium. Based on this understanding, the technical solution of the embodiment of the present disclosure can essentially or in other words, the part that contributes to the relevant technology can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions for enabling a computer device (which can be a personal computer, server, or network device, etc.) to execute all or part of the methods described in each embodiment of the present disclosure. The aforementioned storage medium includes: various media that can store program codes, such as mobile storage devices, ROMs, magnetic disks or optical disks.
[0314] As used in the present disclosure and the appended claims, the singular forms "a," "an," "said," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise.
[0315] It should be noted that, in each embodiment involved in the present disclosure, all steps may be executed or part of the steps may be executed, as long as a complete technical solution can be formed.
[0316] The above description is merely an embodiment of the present disclosure, but the scope of protection of the present disclosure is not limited thereto. Any changes or substitutions that can be easily conceived by a person skilled in the art within the technical scope disclosed in this disclosure should be included in the scope of protection of the present disclosure. Therefore, the scope of protection of the present disclosure should be based on the scope of protection of the claims. Industrial Applicability
[0317] The present disclosure discloses a confidential communication method, a server, a key distribution center, a terminal device, a key update terminal device, a first quantum key distribution node, a computer-readable storage medium and a computer program product. The method includes: the terminal device sends a session key request message; the key distribution center receives the session key request message, and based on the session key request message, determines to obtain the key between the second quantum key distribution node and the first quantum key distribution node, and sends session information to the server; the server receives the session information and sends a key request message to the first quantum key distribution node; the first quantum key distribution node receives the key request message, obtains the session key, and sends the session key to the server; the session key is used for confidential communication between the server and the terminal device; the server receives the session key and sends the session key to the terminal device; that is, the present disclosure provides a solution that supports distributing the key in QKDN to the communication party at the application layer, using the quantum key shared between the two QKD nodes as the session key, so that the mobile terminal can establish a secure connection with the server based on the session key; at the same time, the session key is generated based on quantum technology and has a true random number characteristic, and the secure connection established by the mobile terminal using this key has higher security.
Claims
1. A method for secure communication, wherein: Applied to a server, the method includes: Receiving session information sent by a key distribution center through a first secure channel; wherein the session information includes an identifier of a first quantum key distribution node connected to the server, an identifier of a second quantum key distribution node connected to a key update terminal device, an identifier of the terminal device, and an identifier of the server; the key update terminal device injecting an authentication encryption key into the terminal device; Sending a key request message to the first quantum key distribution node; wherein the key request message is used to obtain a key between the first quantum key distribution node and the second quantum key distribution node; the key request message includes an identifier of the first quantum key distribution node and an identifier of the second quantum key distribution node; receiving a session key sent by the first quantum key distribution node; The session key is sent to the terminal device through the key distribution center; wherein the session key is used for confidential communication between the server and the terminal device.
2. The method according to claim 1, wherein The method further comprises: Based on the session key, confidential communication is performed with the terminal device.
3. The method according to claim 1, wherein The method further comprises: The session key and a first random number are sent to the key distribution center through a first secure channel; wherein the first random number is generated by the server.
4. The method according to claim 3, wherein: The method further comprises: Receiving a session request sent by a terminal device; wherein the session request includes an identifier of the terminal device, an identifier of the server, a first random number, a first verification code, and a second random number generated by the terminal device; the first verification code is a verification code generated by using a message authentication code algorithm based on the session key and the identifier of the terminal device, the identifier of the server, the first random number, and the second random number; comparing a first random number generated by the server with a first random number in the session request to determine whether the session request is a replay message; If the session request is not a replay message, obtaining a session key corresponding to the first random number; verifying the first verification code based on the session key; If the verification is successful, a session response message is sent to the terminal device; wherein the session response message includes the terminal device identifier, the server identifier, the second random number, and the second verification code; the second verification code is a verification code generated by using a message authentication code algorithm based on the session key, the terminal device identifier, the server identifier, and the second random number.
5. A method for secure communication, wherein: Applied to a key distribution center, the method includes: Receiving a session key request message sent by a terminal device; wherein the session key request message is used to request acquisition of a session key; the session key request message includes an authentication encryption key identifier, a terminal device identifier, a server identifier, a third verification code, and a third random number generated by the terminal device; the third verification code is a verification code generated by using a message authentication code algorithm based on the authentication encryption key, the terminal device identifier, the server identifier, the third random number, and the authentication encryption key identifier; Based on the session key request message, determining to obtain a key between a second quantum key distribution node connected to the key update terminal device and a first quantum key distribution node connected to the server; wherein the key update terminal device injects an authentication encryption key into the terminal device; Sending session information to the server through the first secure channel; wherein the session information includes an identifier of the first quantum key distribution node, an identifier of the second quantum key distribution node, an identifier of the terminal device, and an identifier of the server; receiving, through the first secure channel, the session key and the first random number sent by the server; The session key is sent to the terminal device; wherein the session key is used for confidential communication between the server and the terminal device.
6. The method according to claim 5, wherein: The determining, based on the session key request message, to obtain a key between a second quantum key distribution node connected to the key update terminal device and a first quantum key distribution node connected to the server includes: determining the authentication encryption key based on the identifier of the authentication encryption key; verifying the third verification code based on the authentication encryption key; If the verification is successful, it is determined that the session key request message is sent by the terminal device; Determining, based on an identifier of the terminal device and an identifier of the authentication encryption key, that a source node corresponding to the session key is the second quantum key distribution node; Based on the identifier of the server, determine that the destination node corresponding to the session key is the first quantum key distribution node.
7. The method according to claim 5, wherein: The sending the session key to the terminal device includes: Encrypting the session key based on the authentication encryption key to obtain an encrypted session key; Send a session key request response message to the terminal device; wherein the session key request response message includes the terminal device identifier, the key distribution center identifier, the third random number, the first random number, the encrypted session key and the fourth verification code; the fourth verification code is a verification code generated by using a message authentication code algorithm based on the authentication encryption key pair of the terminal device identifier, the key distribution center identifier, the third random number, the first random number and the encrypted session key.
8. The method according to claim 7, wherein: The method further comprises: The authentication encryption key is deleted from the secure storage area.
9. The method according to claim 5, wherein: The method further comprises: Receiving a key file sent by the third quantum key distribution node; wherein the key file includes one or more keys and metadata corresponding to each key; Receiving, via a second secure channel, mapping information between a terminal and key metadata corresponding to a key, sent by the key update terminal device; wherein the key metadata includes a key identifier, a source identifier, and a destination identifier; the source identifier is an identifier corresponding to a binding between the key update terminal device and the second quantum key distribution node; and the destination identifier is an identifier corresponding to a binding between a key distribution center and a third quantum key distribution node; Based on the mapping information, the key file is updated.
10. The method according to claim 9, wherein: The method further comprises: Based on the identifier of the authentication encryption key, the key file is searched to determine whether the authentication encryption key is stored.
11. A method for secure communication, wherein: Applied to a terminal device, the method includes: Sending a session key request message to a key distribution center; wherein the session key request message is used to request acquisition of a session key; the session key request message includes an identifier of an authentication encryption key, an identifier of a terminal device, an identifier of a server, a third verification code, and a third random number generated by the terminal device; wherein the third verification code is generated using a message authentication code algorithm based on the authentication encryption key and the identifier of the terminal device, the identifier of the server, the third random number, and the identifier of the authentication encryption key; Receive a session key sent by the key distribution center; wherein the session key is used for confidential communication between the server and the terminal device; the session key is a key between a first quantum key distribution node connected to the server and a second quantum key distribution node connected to the key update terminal device.
12. The method according to claim 11, wherein The receiving the session key sent by the key distribution center includes: Receive a session key request response message sent by the key distribution center; wherein the session key request response message includes the identifier of the terminal device, the identifier of the key distribution center, the third random number, the first random number, the encrypted session key and the fourth verification code; the fourth verification code is a verification code generated by using a message authentication code algorithm based on the authentication encryption key to the identifier of the terminal device, the identifier of the key distribution center, the third random number, the first random number and the encrypted session key; the encrypted session key is obtained by the key distribution center encrypting the session key based on the authentication encryption key.
13. The method according to claim 12, wherein: The method further comprises: comparing a third random number in the session key request response message with a third random number generated by the terminal device to determine whether the session key request response message is a replay message; If the session key request response message is not a replay message, verifying the fourth verification code based on the authentication encryption key; If the verification is successful, it proves that the communication partner is the key distribution center, and the authentication encryption key is deleted.
14. The method according to claim 11, wherein The method further comprises: Sending a session request to the server; wherein the session request includes the terminal device identifier, the server identifier, the first random number, the second random number generated by the terminal device, and a first verification code; the first verification code is a verification code generated by using a message authentication code algorithm based on the session key and the terminal device identifier, the server identifier, the first random number, and the second random number.
15. The method according to claim 11, wherein The method further comprises: Receiving a session response message sent by the server; wherein the session response message includes an identifier of the terminal device, an identifier of the server, the second random number, and a second verification code; the second verification code is a verification code generated by using a message authentication code algorithm based on the session key, the identifier of the terminal device, the identifier of the server, and the second random number; comparing a second random number generated by the terminal device with a second random number in the session response message to determine whether the session response message is a replay message; If the session response message is not a replay message, perform confidential communication with the server based on the session key.
16. The method according to claim 11, wherein The method further comprises: Sending a key request to the key update node; wherein the key request is used to request a one-time key for connecting to the key distribution node; Receive a key file sent by a key update node; wherein the key file includes one or more keys and metadata corresponding to each key.
17. A method for secure communication, wherein: Applied to a key updating terminal device, the method includes: Receiving a key request from a terminal device; wherein the key request is used to request a one-time key for connecting to a key distribution node; Receiving a key file sent by a second quantum key distribution node; wherein the key file includes one or more keys and metadata corresponding to each key; Key metadata corresponding to the binding terminal and the key; wherein the key metadata includes a key identifier, a source identifier, and a destination identifier; the source identifier is the identifier corresponding to the binding between the key update terminal device and the second quantum key distribution node; the destination identifier is the identifier corresponding to the binding between the key distribution center and the third quantum key distribution node; Send the key file to the terminal device.
18. A method for secure communication, wherein: Applied to a first quantum key distribution node, the method includes: Receiving a key request message sent by a server; wherein the key request message is used to obtain a key between the first quantum key distribution node and a second quantum key distribution node connected to a key update terminal device; the key request message includes an identifier of the first quantum key distribution node and an identifier of the second quantum key distribution node; executing a key generation process between the first quantum key distribution node and the second quantum key distribution node to obtain a session key; The session key is sent to the server; wherein the session key is used for confidential communication between the server and the terminal device.
19. A server, wherein: The server includes: The first receiving part is configured to receive session information sent by the key distribution center through the first secure channel; wherein the session information includes an identifier of a first quantum key distribution node connected to the server, an identifier of a second quantum key distribution node connected to the key update terminal device, an identifier of the terminal device, and an identifier of the server; the key update terminal device injects an authentication encryption key into the terminal device; a first sending part, configured to send a key request message to the first quantum key distribution node; wherein the key request message is used to obtain a key between the first quantum key distribution node and the second quantum key distribution node; and the key request message includes an identifier of the first quantum key distribution node and an identifier of the second quantum key distribution node; A first receiving part is configured to receive a session key sent by the first quantum key distribution node; The first sending part is configured to send the session key to the terminal device through the key distribution center; wherein the session key is used for confidential communication between the server and the terminal device.
20. A key distribution center, wherein: The key distribution center includes: The second receiving part is configured to receive a session key request message sent by a terminal device; wherein the session key request message is used to request to obtain a session key; the session key request message includes an identifier of an authentication encryption key, an identifier of the terminal device, an identifier of a server, a third verification code, and a third random number generated by the terminal device; the third verification code is a verification code generated by a message authentication code algorithm based on the authentication encryption key, the identifier of the terminal device, the identifier of the server, the third random number, and the identifier of the authentication encryption key; The second processing part is configured to determine, based on the session key request message, to obtain a key between a second quantum key distribution node connected to the key update terminal device and a first quantum key distribution node connected to the server; wherein the key update terminal device injects an authentication encryption key into the terminal device; The second sending part is configured to send session information to the server through the first secure channel; wherein the session information includes the identifier of the first quantum key distribution node, the identifier of the second quantum key distribution node, the identifier of the terminal device, and the identifier of the server; a second receiving part, configured to receive the session key and the first random number sent by the server through the first secure channel; The second sending part is configured to send the session key to the terminal device; wherein the session key is used for confidential communication between the server and the terminal device.
21. A terminal device, wherein: The terminal device includes: The third sending part is configured to send a session key request message to the key distribution center; wherein the session key request message is used to request to obtain the session key; the session key request message includes an identifier of the authentication encryption key, an identifier of the terminal device, an identifier of the server, a third verification code, and a third random number generated by the terminal device; wherein the third verification code is a verification code generated by using a message authentication code algorithm based on the authentication encryption key and the identifier of the terminal device, the identifier of the server, the third random number, and the identifier of the authentication encryption key; The third receiving part is configured to receive a session key sent by the key distribution center; wherein the session key is used for confidential communication between the server and the terminal device; the session key is a key between a first quantum key distribution node connected to the server and a second quantum key distribution node connected to the key update terminal device.
22. A key update terminal device, wherein: The key update terminal device includes: The fourth receiving part is configured to receive a key request sent by a terminal device; wherein the key request is used to request a one-time key for connecting to a key distribution node; a fourth receiving part, configured to receive a key file sent by the second quantum key distribution node; wherein the key file includes one or more keys and metadata corresponding to each key; The fourth processing part is configured to bind the terminal to the key metadata corresponding to the key; wherein the key metadata includes a key identifier, a source identifier, and a destination identifier; the source identifier is an identifier corresponding to the binding between the key update terminal device and the second quantum key distribution node; the destination identifier is an identifier corresponding to the binding between the key distribution center and the third quantum key distribution node; The fourth sending part is configured to send the key file to the terminal device.
23. A first quantum key distribution node, wherein: The first quantum key distribution node includes: a fifth receiving part, configured to receive a key request message sent by the server; wherein the key request message is used to obtain a key between the first quantum key distribution node and a second quantum key distribution node connected to the key update terminal device; the key request message includes an identifier of the first quantum key distribution node and an identifier of the second quantum key distribution node; a fifth processing part, configured to execute a key generation process between the first quantum key distribution node and the second quantum key distribution node to obtain a session key; The fifth sending part is configured to send the session key to the server; wherein, the session key is used for confidential communication between the server and the terminal device.
24. An electronic device, wherein: The electronic device comprises: a memory for storing executable instructions; A processor, configured to implement the secure communication method according to any one of claims 1 to 4, or the secure communication method according to any one of claims 5 to 10, or the secure communication method according to any one of claims 11 to 16, or the secure communication method according to claim 17, or the secure communication method according to claim 18, when executing the executable instructions stored in the memory.
25. A computer-readable storage medium, wherein: The computer-readable storage medium stores one or more programs, and the one or more programs can be executed by one or more processors to implement the confidential communication method as described in any one of claims 1 to 4, or the confidential communication method as described in any one of claims 5 to 10, or the confidential communication method as described in any one of claims 11 to 16, or the confidential communication method as described in claim 17, or the confidential communication method as described in claim 18.
26. A computer program product comprising a computer program, wherein When executed by a processor, the computer program implements the confidential communication method according to any one of claims 1 to 4, or the confidential communication method according to any one of claims 5 to 10, or the confidential communication method according to any one of claims 11 to 16, or the confidential communication method according to claim 17, or the confidential communication method according to claim 18.