Key processing method and device, related equipment, storage medium and computer program product
By randomly scrambling the CSI matrix between communication nodes, the problem of insufficient key randomness in a quasi-static environment is solved, and a more random key is generated to meet communication needs.
Patent Information
- Application Number
- CN202510073155.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-16
- Publication Date
- 2025-03-18
AI Technical Summary
When the network is in a quasi-static environment, the key generated using channel measurement results between communication nodes may be insufficiently random and difficult to meet communication needs.
By randomly scrambling the CSI matrix associated between the first communication node and the second communication node, a more random sequence set is generated and a key is generated based on this. The specific steps include principal component analysis (PCA) processing, flattening processing, and scrambling processing on the CSI matrix, and then using error correction encoding and keys to generate a group communication key.
The randomness of the CSI matrix after the scrambling process is increased, thereby ensuring that the generated key has better randomness, better meet communication needs, and reducing the possibility of the key being cracked.
Smart Images

Figure CN119652661A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of network security technology, and in particular to a key processing method, apparatus, related equipment, storage medium and computer program product. Background Art
[0002] In the related art, for a network including multiple communication nodes (also understood as a multi-user network), channel measurement results between the communication nodes can be used to generate a key for network group communication (also understood as a group key).
[0003] However, when the network is in a quasi-static environment, the key generated using the channel measurement results between communication nodes may have the problem of insufficient randomness and cannot meet communication requirements. Summary of the invention
[0004] To solve related technical problems, the embodiments of the present application provide a key processing method, apparatus, related equipment, storage medium and computer program product.
[0005] The technical solution of the embodiment of the present application is implemented as follows:
[0006] The embodiment of the present application provides a key processing method, which is applied to a first communication node, including:
[0007] Determining a first channel state information (CSI) matrix associated with each of the one or more second communication nodes, the first network comprising a plurality of communication nodes, the plurality of communication nodes comprising the first communication node, and the one or more second communication nodes;
[0008] Performing random scrambling processing on each first CSI matrix to obtain a first sequence set, sending the first sequence set to a corresponding second communication node, and generating a first key based on the first sequence set to obtain one or more first keys;
[0009] A first signal is generated using error correction coding and one or more first keys, the first signal is sent to each of the one or more second communication nodes, and a second key for group communication of the first network is generated using the error correction coding and the one or more first keys.
[0010] In the above scheme, the random scrambling process includes:
[0011] Performing principal component analysis (PCA) processing on the first CSI matrix to obtain a first CSI matrix after PCA processing;
[0012] Flatten the first CSI matrix after PCA processing according to columns to obtain a first flattened vector;
[0013] The first flattened vector is scrambled based on first information, where the first information represents a randomly generated scrambling order.
[0014] In the above scheme, the method further includes:
[0015] For each first key, perturb the first key based on first information to obtain a third key, wherein the first information represents a scrambled order corresponding to the first sequence set;
[0016] The first signal is generated using the error correction code and one or more third keys, and the second key is generated using the error correction code and one or more third keys.
[0017] In the above solution, the first communication node includes a virtual central node in a star network, and the second node includes other communication nodes in the star network except the first communication node;
[0018] or,
[0019] The first communication node includes a communication node in the chain network, and the second communication node includes the next communication node connected to the first communication node in the chain network.
[0020] The embodiment of the present application further provides a key processing method, which is applied to a second communication node, including:
[0021] Determining a second CSI matrix associated with a first communication node, the first network comprising a plurality of communication nodes, the plurality of communication nodes comprising the first communication node, and one or more second communication nodes;
[0022] receiving a first sequence set sent by the first communication node, where the first sequence set includes a sequence set obtained by the first communication node after scrambling a first CSI matrix, and the first CSI matrix is associated with the second communication node;
[0023] Performing random scrambling processing on the second CSI matrix based on the first sequence set to obtain a second sequence set, and generating a fourth key based on the second sequence set;
[0024] receiving a first signal sent by the first communication node, where the first signal includes a key generated based on error correction coding and one or more first keys, where the first key includes a key generated by the first communication node based on a first sequence set corresponding to the one or more second communication nodes;
[0025] The error correction code and the first key are determined using the first signal and the fourth key, and a second key for group communication in the first network is generated using the error correction code and the first key.
[0026] In the above solution, the randomly scrambling the second CSI matrix based on the first sequence set includes:
[0027] Performing PCA processing on the second CSI matrix to obtain a second CSI matrix after PCA processing;
[0028] Flatten the second CSI matrix after PCA processing according to columns to obtain a second flattened vector;
[0029] Determine first information based on the first sequence set and the second CSI matrix, where the first information represents a scrambling order corresponding to the first sequence set;
[0030] Based on the first information, the second flattened vector is scrambled.
[0031] In the above scheme, the method further includes:
[0032] Determine first information based on the first sequence set and the second CSI matrix, where the first information represents a scrambling order corresponding to the first sequence set;
[0033] Performing a disturbance process on the fourth key based on the first information to obtain a fifth key;
[0034] The error correction code and the first key are determined using the first signal and the fifth key, and a second key for group communication in the first network is generated using the error correction code and the first key.
[0035] The embodiment of the present application further provides a first communication node, comprising: a first processor and a first memory for storing a computer program that can be run on the processor,
[0036] Wherein, when the first processor is used to run the computer program, it executes the steps of any one of the above-mentioned methods on the first communication node side where at least the first service is deployed.
[0037] The embodiment of the present application further provides a second communication node, including: a second processor and a second memory for storing a computer program that can be run on the processor,
[0038] Wherein, the second processor is used to execute the steps of any one of the above-mentioned methods on the second communication node side when running the computer program.
[0039] An embodiment of the present application also provides a storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of any method on the first communication node side on which at least the first service is deployed, or implements the steps of any method on the second communication node side.
[0040] An embodiment of the present application also provides a computer program product, including a computer program, which, when executed by a processor, implements the steps of any method on the first communication node side at least deployed with the first service, or implements the steps of any method on the second communication node side.
[0041] The key processing method, apparatus, related equipment, storage medium and computer program product provided by the embodiments of the present application, a first communication node determines a first CSI matrix associated with each second communication node in one or more second communication nodes, and a first network includes multiple communication nodes, and the multiple communication nodes include a first communication node and the one or more second communication nodes; for each first CSI matrix, random scrambling processing is performed to obtain a first sequence set, the first sequence set is sent to the corresponding second communication node, and a first key is generated based on the first sequence set to obtain one or more first keys; a first signal is generated using error correction coding and one or more first keys, the first signal is sent to each second communication node in the one or more second communication nodes, and the second key for group communication of the first network is generated using the error correction coding and one or more first keys. At the same time, the second communication node determines the second CSI matrix associated with the first communication node; receives the first sequence set sent by the first communication node; performs random scrambling processing on the second CSI matrix based on the first sequence set to obtain a second sequence set, and generates a fourth key based on the second sequence set; receives the first signal sent by the first communication node; uses the first signal and the fourth key to determine the error correction code and the first key, and uses the error correction code and the first key to generate a second key for group communication of the first network. In the solution provided by the embodiment of the present application, after the first communication node and the second communication node in the first network respectively determine the corresponding CSI matrix, they first perform random scrambling processing on the CSI matrix, and then generate a key based on the scrambled CSI matrix. Each communication node in the first network can determine the key for group communication of the first network by obtaining all the generated keys; in this way, even when the first network is in a quasi-static environment, the randomness of the scrambled CSI matrix can be increased by random scrambling processing, so that the key generated by using the scrambled CSI matrix can be guaranteed to have good randomness and can better meet communication needs. BRIEF DESCRIPTION OF THE DRAWINGS
[0042] Figure 1A schematic diagram of a process for generating a group key based on wireless physical layer channel measurement in the related art;
[0043] Figure 2 A schematic diagram of a key processing method according to an embodiment of the present application;
[0044] Figure 3 This is a schematic diagram of a star network topology structure according to an embodiment of the present application;
[0045] Figure 4 This is a schematic diagram of the chain network topology structure of an embodiment of the present application;
[0046] Figure 5 A schematic diagram of another key processing method according to an embodiment of the present application;
[0047] Figure 6 A flowchart of a method for generating a wireless physical layer group key in a multi-user network is provided as an example of the application of this application;
[0048] Figure 7 This is a schematic diagram of the structure of a key processing device according to an embodiment of the present application;
[0049] Figure 8 This is a schematic diagram of the structure of another key processing device according to an embodiment of the present application;
[0050] Fig. 9 This is a schematic diagram of the structure of the first communication node in an embodiment of the present application;
[0051] Fig.10 This is a schematic diagram of the structure of the second communication node in an embodiment of the present application;
[0052] Fig.11 A schematic diagram of the structure of a key processing system according to an embodiment of the present application. DETAILED DESCRIPTION
[0053] The present application is further described in detail below in conjunction with the accompanying drawings and embodiments.
[0054] In the related art, multiple communication nodes (which can also be understood as multiple users) located in the same network can communicate securely through a group key (which can also be understood as a group key sequence). Among them, multiple communication nodes can share a group key to ensure that the group key obtained by each communication node meets the consistency. In this way, the communication nodes that need to communicate can use the same group key for communication-related encryption and decryption, which can ensure the reliability of communication.
[0055] In the related art, one of the following schemes is usually used to generate keys and share keys (which can also be understood as key distribution or key sharing):
[0056] The first solution is based on the Key Distribution Center (KDC).
[0057] The second solution is based on the Public Key Infrastructure (PKI).
[0058] The third solution is based on wireless physical layer channel measurement.
[0059] Among them, for the first solution mentioned above, KDC is first explained: KDC includes a service running on a physical security server, and KDC is used to maintain an account information database of all security subjects (such as communication nodes, which can be expressed as Security Principal in English) in a domain (such as a network containing multiple communication nodes). The account information database contains account information data corresponding to each security subject, such as user login passwords, etc.
[0060] In actual application, KDC can be applied to communication scenarios based on symmetric key systems (i.e., the two communicating parties use the same key for encryption and decryption, which can also be called symmetric key algorithms) and / or asymmetric key systems (i.e., the two communicating parties use different keys for encryption and decryption, which can also be called asymmetric key algorithms or asymmetric key systems). Specifically, when KDC is applied to communication scenarios based on symmetric key systems, KDC can be used to allocate private keys (also called private keys, permanent session keys, long-term keys, or long-term keys) for each security subject to be used for communication between the security subject and KDC; when KDC is applied to communication scenarios based on asymmetric key systems, KDC can be used to allocate corresponding public keys for each security subject without involving the corresponding private keys of each security subject. In this case, KDC can be regarded as an authentication authority.
[0061] In actual applications, security entities usually use the same key for secure communication, that is, communication is based on a symmetric key system. At this time, the KDC can interact with the communicating parties separately and distribute the same key (also understood as a session key) to the communicating parties, so that the communicating parties can use the key distributed by the KDC for secure communication.
[0062] Specifically, the scheme for generating keys and sharing keys based on KDC may include the following process:
[0063] Step 1: KDC generates a long-term key (also called the private key of the communication node) for each communication node in the network, and informs the corresponding long-term key of the communication node to share the long-term key between KDC and the communication node; then execute step 2;
[0064] The long-term key can be used for secure interaction between the communication node and the KDC.
[0065] Specifically, the KDC can generate a long-term key corresponding to each communication node based on a common execution protocol and using a user login password corresponding to the communication node.
[0066] Step 2: When two communication nodes in the network need to communicate, the two communication nodes (which can also be understood as the two parties communicating) can respectively apply to the KDC for a session key for communication between the two communication nodes; then, the two communication nodes can use the applied session key to communicate between the two communication nodes; wherein, the two communication nodes use their respective long-term keys for secure communication when communicating with the KDC.
[0067] From the above description, it can be seen that KDC needs to generate a session key for each communication in the network and inform the two communicating parties of the generated session key. The two communicating parties can then communicate based on the obtained session key. This process requires more communication and time resources. In the scenario where the network contains multiple communication nodes, the interaction between multiple communication nodes may be very frequent. The solution based on KDC to achieve group key sharing may be difficult to ensure that all communication nodes that need to communicate can obtain the communication key in time (it can also be understood as difficult to ensure the update and distribution of the drug). In other words, the solution based on KDC is difficult to apply to group communication scenarios.
[0068] Regarding the second solution mentioned above, we first explain PKI: PKI is usually used to provide security services for scenarios such as e-commerce, e-government, and office automation, so that users who do not know each other or are far away can communicate securely through a PKI-based trust chain.
[0069] Specifically, PKI can realize the generation, management, storage, distribution and revocation of keys and certificates based on the public key cryptography system (also known as the public key system, i.e. the above-mentioned asymmetric key system); PKI can include hardware, software, personnel, policies and procedures related to the above functions, such as computer hardware and software, authoritative institutions and application systems. Among them, in the public key cryptography system, each user (such as a communication node) corresponds to a pair of keys, i.e. a private key and a public key. The private key is independently controlled by the user and is not publicly transmitted, while the public key is open to all users and can be publicly transmitted.
[0070] The key distribution system based on PKI (also known as PKI system) can include PKI-related policies, software and hardware systems, as well as certificate authorities (CA, Certificate Authority), registration authorities (RA, Registration Authority), certificate issuance systems, public directories and PKI applications, etc. Among them, CA is used to issue certificates (also known as issuing), which is the core of the PKI system.
[0071] In actual application, the CA in the PKI system can issue certificates for each legitimate user. When one user needs to communicate securely with another user, the two users can obtain each other's certificates and verify each other's identity (i.e., whether the other's public key can be trusted) based on the obtained certificates. Then, the two users can communicate securely by encrypting information with each other's public key and decrypting information with the local private key. In this process, the CA is used to issue certificates to manage the public key of each user. The mechanism corresponding to the above process can also be called a digital certificate mechanism.
[0072] Specifically, the scheme for generating keys and sharing keys based on PKI may include the following process:
[0073] Step 1: Each of the multiple communication nodes included in the network generates a set of key pairs, wherein the key pair includes a private key and a public key; then execute step 2;
[0074] Step 2: Each communication node submits the public key to RA, which verifies the identity of the communication node. If the verification is successful, proceed to step 3.
[0075] Step 3: The communication node sends the public key to the CA, and the CA uses the private key of the CA to issue a digital certificate (i.e., the above-mentioned certificate) for the public key of the communication node. The CA sends the digital certificate to the communication node and stores the digital certificate in a public directory. Then, execute step 4.
[0076] Here, in actual application, the public directory can be deployed together with the CA, or the public directory can be deployed separately.
[0077] Step 4: When two communication nodes in the network need to communicate, the two communication nodes can respectively obtain each other's digital certificate from the public directory, and use the CA's public key to parse (also understood as verify) the other party's digital certificate to obtain the other party's public key; then use the other party's public key to encrypt the information sent to the other party, and after receiving the information sent by the other party, use the local private key to parse the received information to achieve secure communication.
[0078] However, in the wireless communication scenario (which can also be understood as a wireless environment), the communication nodes may include wireless communication devices (such as mobile terminals), and the wireless communication devices may have limited resources (such as battery resources, computing resources, etc.) and / or the communication environment (which can also be understood as a mobile wireless environment, which can be specifically related to point-to-point connections, adjacent devices, etc.) is not fixed (can also be understood as dynamically changing), which may cause some communication nodes in the network to have unstable connections with the key management infrastructure (such as CA, RA, public directory, etc.) (i.e., it is difficult to ensure a stable connection). At the same time, due to the openness of the wireless transmission medium, eavesdroppers may eavesdrop on the information exchange between the communication nodes and the key management infrastructure during the key generation and update process, affecting the security of the key. In other words, the solution for generating and sharing keys based on PKI is not suitable for wireless group communication scenarios.
[0079] For the third solution mentioned above, communication nodes (also understood as users) in the wireless communication network can measure the physical layer channel and generate keys for communication based on the measurement results. This process can also be called wireless physical layer group key generation.
[0080] In actual application, the solution based on wireless physical layer channel measurement is usually applied between two communication nodes. For example, assuming that the network contains two communication nodes, node 1 and node 2, node 1 and node 2 can generate a key through the following process:
[0081] Step 1: Node 1 and node 2 respectively perform channel measurement (also known as channel detection) on the channel between node 1 and node 2 to obtain measurement result 1 and measurement result 2; then execute step 2;
[0082] Here, since the channel between node 1 and node 2 has reciprocity (ie, has channel reciprocity), measurement result 1 and measurement result 2 should be the same in theory, and measurement result 1 and measurement result 2 may include a CSI matrix.
[0083] Step 2: Node 1 generates a key (also known as a session key) using measurement result 1, and node 2 generates a key using measurement result 2; then, node 1 and node 2 can communicate using the generated key.
[0084] Here, in actual application, node 1 and node 2 can calculate measurement result 1 and measurement result 2 respectively based on the same algebraic ring, so as to obtain the same key; at the same time, since the wireless channel has randomness at different frequencies, the key generated by using measurement result 1 and measurement result 2 has sufficient randomness and can meet the communication requirements between node 1 and node 2. In this case, the scheme can also be called a group key generation scheme based on an algebraic ring.
[0085] When the network contains multiple communication nodes (which can also be understood as multiple users in a group), since channel reciprocity is limited to two communication nodes, the key generated based on the measurement results of each channel is only shared by the two communication nodes corresponding to the channel. In this case, the communication node that generates the key needs to inform other communication nodes of the generated key through secure transmission to achieve sharing of the same group key between multiple communication nodes.
[0086] Specifically, the communication node that generates the key can use network coding technology to encode the key, obtain the encoding result, and broadcast the encoding result (which can also be understood as one-way broadcast) to other communication nodes; each of the other communication nodes can obtain the corresponding key by decoding after receiving the broadcast encoding result. In this process, the random projection algorithm and / or low-rank approximation algorithm can be used to reduce the computational complexity and communication overhead.
[0087] It can be seen from the above description that in a wireless group communication scenario, a solution based on wireless physical layer channel measurement may be used to generate a group key and a shared group key.
[0088] However, as the communication needs of communication nodes in the network increase (which can also be understood as the communication needs of edge IoT devices), frequent channel measurements and encoding are required between communication nodes to generate enough keys for group communication. When the network is in a quasi-static environment, due to the long channel coherence time, the measurement results obtained by channel measurement are not random enough, which will lead to low randomness of the keys generated using the measurement results, making it difficult to meet communication needs.
[0089] For example, suppose a communication network includes multiple communication nodes, including Alice, Bob1, Bob2, ..., BobN, a total of N+1 communication nodes. Figure 1 As shown, within a channel coherence time τ, Alice can perform 2N channel measurements (including uplink measurement and downlink measurement) with Bob1, ..., BobN respectively, and generate N pairs of key sequences (i.e., keys for group communication) based on the measurement results; then, Alice can encode the generated key sequence and broadcast it to Bob1, ..., BobN (i.e., shared key sequence), so that the communication nodes in the communication network can use the same key sequence for group communication. When the group communication consumes all the keys corresponding to the key sequence, the above process can be executed again to generate and share a new key sequence. However, in a quasi-static environment, the channel coherence time is long, and the newly generated key sequence (i.e., the above new key sequence) may have a high degree of repetition with the previously generated key sequence, and the randomness is insufficient, which will increase the possibility of the key being cracked, and there is a great security risk.
[0090] Based on this, in various embodiments of the present application, after the first communication node and the second communication node in the first network respectively determine the corresponding CSI matrix, the CSI matrix is first randomly scrambled, and then a key is generated based on the scrambled CSI matrix. Each communication node in the first network can determine the key for group communication in the first network by obtaining all generated keys; in this way, even when the first network is in a quasi-static environment, the randomness of the scrambled CSI matrix can be increased through random scrambling, thereby ensuring that the key generated using the scrambled CSI matrix has good randomness and can better meet communication needs.
[0091] The present application embodiment provides a key processing method, which is applied to a first communication node, such as Figure 2 As shown, the method includes:
[0092] Step 201: Determine a first CSI matrix associated with each of one or more second communication nodes, wherein a first network includes a plurality of communication nodes, the plurality of communication nodes include a first communication node, and the one or more second communication nodes;
[0093] Step 202: Perform random scrambling processing on each first CSI matrix to obtain a first sequence set, send the first sequence set to a corresponding second communication node, and generate a first key based on the first sequence set to obtain one or more first keys;
[0094] Step 203: Generate a first signal using error correction coding and one or more first keys, send the first signal to each of the one or more second communication nodes, and generate a second key for group communication of the first network using the error correction coding and one or more first keys.
[0095] Here, in actual application, the first network may also be referred to as a wireless network, the first network includes multiple communication nodes, the communication nodes may include electronic devices such as terminals, the communication nodes may also be referred to as users, etc. This application does not limit the name and specific implementation of the first network and communication nodes, as long as their functions are realized.
[0096] In actual application, one or more (one or more can also be understood as at least one) communication nodes in the first network can perform channel measurement, obtain a CSI matrix (can also be understood as a channel measurement result), and use the CSI matrix to generate a key; then, the one or more communication nodes can encode the generated key to obtain an encoding result, and broadcast the encoding result to other communication nodes in the first network; after receiving the encoding result, the other communication nodes can decode the encoding result to obtain the key; in this way, each communication node in the first network can know all the keys generated in the first network, and realize key generation and key sharing in the first network. The communication nodes in the first network can then use all the keys learned as group keys for group communication.
[0097] The first communication node is described below. The first communication node belongs to one or more communication nodes that use the CSI matrix to generate a key in the above process, and the embodiment of the present application does not limit the name of the first communication node.
[0098] In step 201, the first communication node can perform channel measurement with one or more second communication nodes respectively within a channel coherence time to obtain a first CSI matrix associated with each second communication node. The second communication node belongs to the first network, and the first CSI matrix represents the channel measurement result of the first communication node performing channel measurement on a single second communication node. The embodiment of the present application does not limit the names of the second communication node and the first CSI matrix.
[0099] Specifically, the first communication node may first send a detection data packet to a second communication node among the one or more second communication nodes, and receive the detection data packet sent by the second communication node; then, the first communication node may use the received detection data packet to determine the first CSI matrix associated with the second communication node (which may also be understood as the first CSI matrix corresponding to the second communication node); thereafter, repeat the above steps to determine the first CSI matrix associated with each second communication node. The detection data packet may include identification information (such as communication node ID) of the communication node that sends the detection data packet, reference signal measurement results and other information; the specific implementation of the communication node determining the first CSI matrix using the detection data packet can be understood by referring to the relevant technology, and the embodiments of the present application are not limited to this.
[0100] Of course, the first communication node may also directly broadcast the detection data packet to the one or more second communication nodes, and respectively receive the detection data packets sent by the one or more second communication nodes; then, the first communication node may determine, for each received detection data packet, the first CSI matrix associated with the second communication node corresponding to the detection data packet, and obtain the first CSI matrix associated with each second communication node.
[0101] In actual application, the first communication node can choose to determine the first CSI matrix associated with each second communication node through any of the above methods according to actual needs, and the embodiment of the present application is not limited to this.
[0102] In actual application, each of the one or more second communication nodes can receive a detection data packet sent or broadcast by the first communication node, and use the received detection data packet to determine the second CSI matrix associated with the first communication node; wherein the second CSI matrix represents the channel measurement result of the second communication node performing channel measurement on the first communication node. Since the channel has reciprocity, the second CSI matrix should theoretically be the same as the first CSI matrix. The embodiment of the present application does not limit the name of the second CSI matrix.
[0103] After determining the first CSI matrix corresponding to each second communication node, in step 202, the first communication node can perform random scrambling processing (i.e., random scrambling processing) on the first CSI matrix for each first CSI matrix to obtain a more random first sequence set; then, the first communication node can use the first sequence set to generate a first key. It can be seen that the first key obtained through the above process has better randomness than the key generated directly using the first CSI matrix, and can better meet the group communication requirements of the first network. Among them, the first sequence set represents the result of scrambling the first CSI matrix, and the embodiment of the present application does not limit the name of the first sequence set.
[0104] Specifically, the first communication node may first perform PCA processing on the first CSI matrix, that is, perform dimensionality reduction on the first CSI matrix to eliminate repeated features in the first CSI matrix; then, the first communication node may scramble the first CSI matrix after PCA processing in a random scrambling order to obtain the first sequence set, which can further improve the randomness of the first sequence set.
[0105] Based on this, in one embodiment, the random scrambling process includes:
[0106] Performing PCA processing on the first CSI matrix to obtain a first CSI matrix after PCA processing;
[0107] Flatten the first CSI matrix after PCA processing according to columns to obtain a first flattened vector;
[0108] The first flattened vector is scrambled based on first information, where the first information represents a randomly generated scrambling order.
[0109] Here, in actual application, no manual intervention is required during the PCA processing performed by the first communication node on the first CSI matrix, that is, automated PCA processing can be implemented. At this time, the PCA processing can also be understood as non-interactive PCA processing.
[0110] After performing PCA processing on the first CSI matrix to obtain the first CSI matrix after PCA processing, the first communication node can perform column flattening processing on the first CSI matrix after PCA processing, that is, converting the matrix into a one-dimensional vector in column-first order to obtain the first flattened vector; here, the first flattened vector can also be called a vector sequence, and the embodiment of the present application does not limit the name of the first flattened vector.
[0111] After obtaining the first flattened vector, the first communication node may divide the first flattened vector into M segments of equal length to obtain a sequence set (hereinafter referred to as sequence set 1) consisting of M segments of vectors. Wherein, M is an integer greater than 1, and the value of M can be set according to actual needs, which is not limited in the embodiment of the present application.
[0112] After obtaining sequence set 1, the first communication node can rearrange the order of the M-segment vectors in sequence set 1 based on the first information, that is, scramble the M-segment vectors to obtain the first sequence set. Among them, the first information represents the order of rearranging the M-segment vectors, which can also be understood as the scrambling order (which can be expressed in English as Permutation Order, abbreviated as PO); specifically, the first information can specifically include M position information, and the M position information corresponds one-to-one to the M-segment vectors. In this way, when determining the first sequence set, the first communication node can set each segment vector in the M-segment vector in the first sequence set according to the corresponding position information. The embodiment of the present application does not limit the name of the first information and the first sequence set.
[0113] After obtaining the first sequence set, the first communication node can generate the first key based on the first sequence set; at the same time, the first communication node can send the first sequence set to the corresponding second communication node; accordingly, on the second communication node side, the second communication node can perform the same PCA processing and flattening processing as the first communication node side on the determined second CSI matrix to obtain a second flattened vector, and divide the second flattened vector into M segments of equal length to obtain a sequence set consisting of M segment vectors (hereinafter referred to as sequence set 2); then, after receiving the first sequence set sent by the first communication node, the second communication node can use the first sequence set and sequence set 2. Combined with the minimum weight bipartite graph matching algorithm, the corresponding relationship of each segment of the vector is determined to infer the first information, that is, the scrambling order is inferred; the second communication node can use the first information to scramble the sequence set 2 to obtain the second sequence set, and generate a key based on the second sequence set; here, due to the mutual difference of the channel, the second flattened vector should be the same as the first flattened vector, and the second sequence set obtained after scrambling the second flattened vector using the first information should also be the same as the first sequence set. Furthermore, the key generated based on the second sequence set should also be the same as the first key. In this way, the same key can be generated in the first communication node and the second communication node.
[0114] In actual application, for each first key, only the second communication node and the first communication node corresponding to the first key can obtain the first information corresponding to the first key, so the second communication node and the first communication node corresponding to the first key can perform the same disturbance processing based on the first information. In this way, on the one hand, the security of the key after the disturbance processing can be guaranteed; on the other hand, it can ensure that the first communication node and the second communication node can implement the same disturbance processing and obtain the same key after the disturbance processing, thereby ensuring the uniformity of the key.
[0115] In actual application, the time when the first communication node performs channel measurement and determines the first CSI matrix may be different from the time when the second communication node performs channel measurement and determines the second CSI matrix, that is, there may be a delay between the two channel measurements, which may cause the first CSI matrix to differ from the second CSI matrix; at the same time, there may be noise in the channel measurement process, which may also cause the first CSI matrix to differ from the second CSI matrix. In the case that there is a difference between the first CSI matrix and the second CSI matrix, the first key generated by the first communication node may not be exactly the same as the key generated by the second communication node, resulting in the key not meeting consistency.
[0116] In actual application, in step 203, the first communication node may generate a first signal using error correction coding and one or more generated first keys, and send the first signal to the one or more second communication nodes.
[0117] After each second communication node receives the first signal, it can use the first signal and the key generated by the second communication node to derive the error correction code; then, the second communication node can use the error correction decoding function to correct the derived error correction code to obtain the correct error correction code; and then the first signal can be parsed using the correct error correction code to obtain the one or more first keys, and the one or more first keys can be used to generate the second key for group communication, so that it can be ensured that the second communication node and the first communication node both generate the second key based on the first key, and the consistency of the key can be ensured. Among them, the error correction code can include a random sequence and a coding sequence obtained by encoding the random sequence using a coding function, the random sequence can include a random sequence generated based on the first information, and the coding function can include a Bose-Chaudhuri-Hocquenghem (BCH) coding function, etc.; the specific implementation of generating the first signal using the error correction code and the generated one or more first keys can include: the first communication node uses the error correction code to perform an XOR operation with each first key to obtain an operation result, and generates the first signal using the operation result corresponding to each first key.
[0118] In actual application, the first communication node may perform a perturbation process on the generated first key, thereby further improving the randomness of the key. Based on this, the first communication node may perform a perturbation process on the first key using the first information corresponding to the first key (i.e., the scrambled order) for each first key, to obtain the perturbed key. That is, in one embodiment, the first communication node may perform a perturbation process on the first key based on the first information for each first key, to obtain a third key.
[0119] Specifically, the first communication node can convert the scrambled order corresponding to the first information into a binary bit sequence (hereinafter referred to as sequence 1), and reuse and splice sequence 1 into a bit sequence with the same length as the first key (hereinafter referred to as sequence 2) through uneven length; then, the first communication node can use sequence 2 as a random perturbation source to perturb the first key to obtain the third key.
[0120] When the first communication node perturbs the first key to obtain the third key, the first communication node can use the third key to generate the first signal. That is, in one embodiment, the first communication node can use the error correction code and one or more third keys to generate the first signal.
[0121] In actual application, if there are no other keys except the one or more first keys in the first network, that is, when other communication nodes except the first communication node do not generate keys different from the one or more first keys, in step 203, the first communication node can directly use the error correction code and the one or more first keys to generate a second key for group communication in the first network. Here, when the first communication node performs a perturbation process on the first key to obtain the third key, in one embodiment, the first communication node can use the error correction code and the one or more third keys to generate the second key.
[0122] Of course, if there are other keys in the first network except the one or more first keys, that is, when other communication nodes except the first communication node generate keys that are different from the one or more first keys, in step 203, the first communication node can receive the signal sent by the corresponding communication node (that is, each other communication node), and obtain the key that is not in the first communication node by parsing the received signal, and use all the keys obtained, the error correction code, and one or more first keys to generate a second key for group communication in the first network.
[0123] In actual application, in order to reduce repeated channel measurements and ensure that a sufficient number of channel measurements can be performed to generate group communication keys that meet the requirements, the multiple communication nodes in the first network can use a star network topology (also understood as a star network model) or a chain network topology (also understood as a chain network model) to interact when generating keys for group communication.
[0124] Specifically, in a network adopting a star network topology (hereinafter referred to as a star network), Figure 3 As shown, all communication nodes (also understood as node users) are within the communication range of each other, and the virtual central node (also understood as virtual central node user) in the star network communicates wirelessly with other communication nodes (also understood as sub-users), and the other communication nodes do not communicate directly with each other.
[0125] In a network with a chain network topology (hereinafter referred to as a chain network), if Figure 4As shown, the communication nodes are connected in sequence, and each communication node can communicate wirelessly with one or two connected communication nodes.
[0126] In actual application, when the first network adopts a star network topology, in one embodiment, the first communication node includes a virtual central node in the star network, and the second node includes other communication nodes in the star network except the first communication node.
[0127] When the first network adopts a chain network topology, in one embodiment, the first communication node includes a communication node in the chain network, and the second communication node includes the next communication node connected to the first communication node in the chain network.
[0128] Accordingly, the embodiment of the present application also provides a key processing method, which is applied to a second communication node, such as Figure 5 As shown, the method includes:
[0129] Step 501: Determine a second CSI matrix associated with a first communication node, the first network includes a plurality of communication nodes, the plurality of communication nodes include the first communication node, and one or more second communication nodes;
[0130] Step 502: Receive a first sequence set sent by the first communication node, where the first sequence set includes a sequence set obtained by the first communication node after scrambling a first CSI matrix, and the first CSI matrix is associated with the second communication node;
[0131] Step 503: Perform random scrambling processing on the second CSI matrix based on the first sequence set to obtain a second sequence set, and generate a fourth key based on the second sequence set;
[0132] Step 504: Receive a first signal sent by the first communication node, where the first signal includes a key generated based on error correction coding and one or more first keys, where the first key includes a key generated by the first communication node based on a first sequence set corresponding to the one or more second communication nodes;
[0133] Step 505: Determine the error correction code and the first key using the first signal and the fourth key, and generate a second key for group communication in the first network using the error correction code and the first key.
[0134] Here, in actual application, in step 501, the second communication node can receive the detection data packet sent or broadcast by the first communication node, and use the received detection data packet to determine the second CSI matrix associated with the first communication node; at the same time, the second communication node can send a detection data packet to the first communication node; then, the first communication node can use the received detection data packet to determine the first CSI matrix associated with the second communication node.
[0135] The first communication node may perform scrambling processing on the first CSI matrix to obtain a first sequence set, and send the first sequence set to the second communication node; accordingly, in step 502, the second communication node receives the first sequence set.
[0136] After receiving the first sequence set, in step 503, the second communication node can determine the first information based on the first sequence set, that is, the scrambling order corresponding to the first sequence set (which can also be understood as the scrambling order in which the first communication node scrambles the first CSI matrix); then, the second communication node can use the first information to randomly scramble the second CSI matrix to obtain a second sequence set.
[0137] Specifically, in one embodiment, the performing random scrambling processing on the second CSI matrix based on the first sequence set includes:
[0138] Performing PCA processing on the second CSI matrix to obtain a second CSI matrix after PCA processing;
[0139] Flatten the second CSI matrix after PCA processing according to columns to obtain a second flattened vector;
[0140] Determine first information based on the first sequence set and the second CSI matrix, where the first information represents a scrambling order corresponding to the first sequence set;
[0141] Based on the first information, the second flattened vector is scrambled.
[0142] Specifically, during the process of scrambling the first CSI matrix, the first communication node performs PCA processing and flattening processing on the first CSI matrix to obtain a first flattened vector; then, the first communication node can divide the first flattened vector into M segments of equal length to obtain a sequence set 1; the first communication node can rearrange the order of the M segment vectors in the sequence set 1 based on the first information, that is, scramble the M segment vectors to obtain the first sequence set; after obtaining the first sequence set, the first communication node can generate the first key based on the first sequence set; accordingly, on the second communication node side, the second communication node can perform the same PCA processing and flattening processing as the first communication node side on the determined second CSI matrix to obtain a second flattened vector, and divide the second flattened vector into M segments of equal length. , and obtain sequence set 2; then, after receiving the first sequence set sent by the first communication node, the second communication node can use the first sequence set and sequence set 2, combined with the minimum weight bipartite graph matching algorithm, to determine the corresponding relationship between each segment of the vector, thereby inferring the first information, that is, inferring the scrambling order; the second communication node can use the first information to scramble sequence set 2 to obtain a second sequence set, and generate a key based on the second sequence set; here, due to the mutual difference of the channel, the second flattened vector should be the same as the first flattened vector, and the second sequence set obtained after scrambling the second flattened vector using the first information should also be the same as the first sequence set. Further, the key generated based on the second sequence set should also be the same as the first key. In this way, the same key can be generated in the first communication node and the second communication node.
[0143] In actual application, the time when the first communication node performs channel measurement and determines the first CSI matrix may be different from the time when the second communication node performs channel measurement and determines the second CSI matrix, that is, there may be a delay between the two channel measurements, which may cause the first CSI matrix to differ from the second CSI matrix; at the same time, there may be noise in the channel measurement process, which may also cause the first CSI matrix to differ from the second CSI matrix. In the case that there is a difference between the first CSI matrix and the second CSI matrix, the first key generated by the first communication node may not be exactly the same as the key generated by the second communication node, resulting in the key not meeting consistency.
[0144] In actual application, the first communication node can use the error correction code and the generated one or more first keys to generate a first signal, and send the first signal to the one or more second communication nodes (the one or more second communication nodes include the second communication node); accordingly, in step 504, the second communication node receives the first signal sent by the first communication node; then, the error correction code can be derived using the first signal and the key generated by the second communication node; then, the second communication node can use the error correction decoding function to correct the derived error correction code to obtain the correct error correction code; and then, the correct error correction code can be used to parse the first signal to obtain the one or more first keys, and the one or more first keys can be used to generate a second key for group communication. In this way, it can be ensured that the second communication node and the first communication node both generate the second key based on the first key, and the consistency of the keys can be guaranteed.
[0145] In actual application, the first communication node can perform a perturbation process on the generated first key, thereby further improving the randomness of the key. Based on this, the first communication node can perform a perturbation process on the first key using the first information corresponding to the first key (i.e., the scrambled order) for each first key, and obtain the perturbed key. At the same time, the second communication node can also perform the same perturbation process on the generated fourth key. In this way, on the one hand, the security of the perturbed key can be guaranteed; on the other hand, it can ensure that the first communication node and the second communication node can implement the same perturbation process, obtain the same perturbated key, and ensure the uniformity of the key.
[0146] Specifically, in one embodiment, the method may further include:
[0147] Determine first information based on the first sequence set and the second CSI matrix, where the first information represents a scrambling order corresponding to the first sequence set;
[0148] Performing a disturbance process on the fourth key based on the first information to obtain a fifth key;
[0149] The error correction code and the first key are determined using the first signal and the fifth key, and a second key for group communication in the first network is generated using the error correction code and the first key.
[0150] Specifically, the second communication node may convert the scrambled order corresponding to the first information into a binary bit sequence (hereinafter referred to as sequence 1), and multiplex sequence 1 into a bit sequence with the same length as the first key (hereinafter referred to as sequence 2) by length inequality; then, the second communication node may use sequence 2 as a random perturbation source to perturb the fourth key to obtain the fifth key. The embodiment of the present application does not limit the name of the fifth key.
[0151] In actual application, if there are no other keys except the one or more first keys in the first network, in step 505, the second communication node can directly use the error correction code and one or more first keys to generate a second key for group communication in the first network.
[0152] Of course, if there are other keys in addition to the one or more first keys in the first network, in step 505, the second communication node can receive the signal sent by the corresponding communication node (that is, each other communication node), and obtain other keys in addition to the one or more first keys by parsing the received signal, and use all the keys obtained, the error correction code, and one or more first keys to generate a second key for group communication in the first network.
[0153] The key processing method provided in the embodiment of the present application is that the first communication node determines the first CSI matrix associated with each of the one or more second communication nodes, the first network includes multiple communication nodes, and the multiple communication nodes include the first communication node and the one or more second communication nodes; for each first CSI matrix, random scrambling processing is performed to obtain a first sequence set, the first sequence set is sent to the corresponding second communication node, and a first key is generated based on the first sequence set to obtain one or more first keys; a first signal is generated using error correction coding and one or more first keys, the first signal is sent to each of the one or more second communication nodes, and the error correction coding and one or more first keys are used to generate a second key for group communication of the first network. At the same time, the second communication node determines the second CSI matrix associated with the first communication node; receives the first sequence set sent by the first communication node; performs random scrambling processing on the second CSI matrix based on the first sequence set to obtain a second sequence set, and generates a fourth key based on the second sequence set; receives the first signal sent by the first communication node; uses the first signal and the fourth key to determine the error correction coding and the first key, and uses the error correction coding and the first key to generate a second key for group communication of the first network. In the solution provided by the embodiment of the present application, after the first communication node and the second communication node in the first network respectively determine the corresponding CSI matrix, the CSI matrix is first randomly scrambled, and then a key is generated based on the scrambled CSI matrix. Each communication node in the first network can determine the key for group communication of the first network by obtaining all the generated keys; in this way, even when the first network is in a quasi-static environment, the randomness of the scrambled CSI matrix can be increased by random scrambling, thereby ensuring that the key generated using the scrambled CSI matrix has good randomness and can better meet communication needs.
[0154] The present application is described in further detail below in conjunction with application examples.
[0155] In order to solve the problem of limited randomness of group keys extracted from wireless channels in quasi-static environments, this application example proposes a new wireless physical layer group key generation scheme in multi-user networks in quasi-static environments, namely, a multi-user physical layer group key generation method based on random scrambling and error correction coding. Specifically, it includes: a preprocessing method based on PCA and random scrambling and a key randomness enhancement algorithm based on random perturbation.
[0156] This application example proposes a method for generating wireless physical layer group keys in a multi-user network. Figure 6 As shown, the following steps are included:
[0157] Step 601: channel sampling (which can also be understood as channel detection) to obtain a CSI matrix;
[0158] In the related art, the received signal strength (RSS) is usually used as a channel measurement value for key generation. In this application example, CSI is selected as the channel measurement value to obtain more channel characteristics for quantization operations.
[0159] Step 602: pre-processing the CSI matrix based on PCA and random scrambling;
[0160] Step 603: Generate and perturb a group key based on the preprocessed CSI matrix;
[0161] Step 604: Group key secure distribution.
[0162] The above steps are described below for a star network topology and a chain network (which can also be understood as a chain network) topology.
[0163] Specifically, this application example proposes a method for generating wireless physical layer group keys in a multi-user network with a star network topology (which can also be understood as a method for generating and distributing group keys in a star network), wherein it is assumed that the multi-user network (i.e., the first network mentioned above) includes four users (i.e., the communication nodes mentioned above), and the four users include a virtual central node user C, and three sub-users Bob1, Bob2, and Bob3.
[0164] In step 601, within a channel coherence time, the virtual central node C sends a detection data packet to each sub-user Bobi and receives the detection data packet broadcast by each sub-user Bobi; each sub-user determines the CSI matrix H based on the detection data packet of the virtual central node C. C,i , where C represents the virtual central node, i is used to identify the sub-user, i∈{1,2,3}. At the same time, the virtual central node C determines the CSI matrix H based on the detection data packet of each sub-user Bobi i,C .
[0165] Here, in actual application, the delay interval of channel detection between the virtual central node C and each sub-user needs to be completed within one channel coherence time to ensure that for each sub-user Bobi, the CSI matrix H determined by the sub-user Bobi C,i , and the CSI matrix H determined by the virtual central node C for the sub-user Bobi i,C The dimensions are the same and as similar as possible. Here, the CSI matrix H C,i and H i,C The dimension can be recorded as NxK dimension, where N and K are both integers greater than 1.
[0166] In step 602, the virtual central node C and each sub-user Bobi perform non-interactive PCA processing on their respective CSI matrices in turn to obtain a matrix Y after non-interactive PCA processing C,i and Y i,C , the dimension can be expressed as PxK, where P is an integer greater than 1 and less than or equal to N.
[0167] Then, the virtual central node C and each sub-user Bobi will C,i and Y i,C Straightening by column (i.e., flattening by column as described above) into two 1xS-dimensional vectors (the size of S is equal to the product of P and K), we get the vector sequence ν i,C (i.e. the first flattened vector mentioned above) and ν C,i (i.e. the second flattened vector mentioned above), which can be specifically expressed as formula (1):
[0168] v i,C =vec{Y i,C}
[0169] v C,i =vec{Y C,i} (1)
[0170] Among them, vec{} represents the column-by-column straightening operation.
[0171] The virtual central node C and each sub-user Bobi respectively convert the vector sequence ν i,C and ν C,i The signal is divided into M segments of equal length (the value of M can be preset as needed, and M is an integer greater than 1), and reconstructed into M sequence sets (which can also be understood as signal reconstruction), to obtain a sequence set P i,C and P C,i , which can be specifically expressed as formula (2):
[0172]
[0173] in, Represents the vector sequence ν i,C The j-th sequence obtained after segmentation, j is an integer greater than or equal to 1 and less than or equal to M, Represents the vector sequence ν C,i The jth sequence obtained after segmentation.
[0174] A scrambling order PO (i.e., the first information) preset by the virtual central node C can be specifically expressed as PO=[k1, k2, ..., k M ], where k j represents the scrambled order of the jth sequence. The virtual central node C performs scrambling on the sequence set P according to PO.i,C Perform random scrambling to obtain the scrambled sequence set (i.e., the first sequence set mentioned above, which can also be understood as the scrambled CSI sequence set), which can be specifically expressed as formula (3):
[0175]
[0176] The virtual central node C will scramble the sequence set Sent to each sub-user Bobi; each sub-user Bobi receives a scrambled sequence set And the local CSI sequence set P C,i According to the channel reciprocity, the minimum weight bipartite graph matching algorithm is used to calculate and find the local CSI sequence set P C,i and The correspondence between each sequence in P is then used to infer the random perturbation order PO. Then, sub-user Bobi C,i Scramble according to the same scrambling order PO to get the sequence set (i.e. the second sequence set mentioned above).
[0177] In step 603, the virtual central node C and the sub-user Bobi set their respective sequence sets and By performing the inverse operation of straightening columns, we can restore the matrix and at this time, and It can be regarded as a new CSI matrix after random scrambling. The virtual central node C and sub-user Bobi and Perform the quantization step to obtain the initial key sequence IK i,C (i.e. the first key mentioned above) and IK C,i (i.e. the fourth key mentioned above). At this time, IK i,C and IK C,i are highly correlated, but are not completely consistent due to the influence of noise and delay. Specifically, IK can be expressed by formula (4): i,C and IK C,i The bit difference between:
[0178]
[0179] Among them, when IK i,C With IK C,i When a certain bit is different, the bit in △IK will display 1. i,C With IK C,i When a bit is the same, the bit in △IK will show 0. In an ideal situation, IKi,C Should be used with IK C,i Completely consistent, at this time, △IK is a bit sequence composed entirely of 0s.
[0180] The virtual central node C and the sub-user Bobi can repeat the above channel sampling and quantization steps according to the actual use requirements of the key to generate a key sequence of sufficient length. Here, it can be assumed that the key sequence length is L (L is an integer greater than 1). At this time, each sub-user Bobi quantizes and generates an initial key sequence IK after random scrambling. C,i , the virtual central node C generates 3 sets of initial key sequences IK 1,C , IK 2,C and IK 3,C .
[0181] Since the scrambled order PO is only known by the virtual central node C and the sub-user Bobi, the virtual central node C and the sub-user Bobi can convert the scrambled order PO into a binary bit sequence RS, and multiplex RS into IK by length padding. C,i The bit sequence RS' of equal length is used as the random perturbation source to IK C,i With IK i,C Perform a disturbance (such as an XOR operation) to obtain the disturbed initial key PK i,C (i.e. the third key mentioned above) and PK C,i (i.e. the fifth key mentioned above), which can be specifically expressed as formula (5):
[0182]
[0183] In step 604, the virtual central node C generates a random sequence R of length L1 according to the random scrambling order PO; then, the virtual central node C performs BCH encoding on the random sequence R to generate a sequence R C , R C The length of is L2, which can be specifically expressed as formula (6):
[0184] R c =F(R) (6)
[0185] Wherein, F() represents a coding function. Meanwhile, the relationship between L1 and L2 satisfies L1+L2=L.
[0186] Then, the virtual central node C can convert R, R C The sequence composed of the above error correction code and the three groups of initial key sequences determined for the three sub-users are XORed to obtain a broadcast signal (which can also be understood as a calculated value), and the broadcast signal is broadcasted to each sub-user Bobi through a public channel. The broadcast signal S iIt can be expressed as formula (7):
[0187]
[0188] Specifically, the broadcast signal can be expressed as S=[S 1 ,S 2 ,S 3 ].
[0189] Assume that after channel coding, the broadcast signal received by sub-user Bobi has no errors, and sub-user Bobi receives the broadcast S i After that, the random sequences R and R can be calculated by formula (8) C The value of
[0190]
[0191] Sub-user Bobi can use the error correction decoding function to To perform error correction, it can be specifically expressed as formula (9):
[0192]
[0193] in, represents the error correction decoding function, Represents R and R after error correction C .
[0194] After error correction decoding, sub-user Bobi can use the corrected R and R C Key PK for virtual center node C i,C To recover, it can be specifically expressed as formula (10):
[0195]
[0196] in, Represents the PK after recovery i,C .here, Should be with PK i,C The same, and Should be the same as R
[0197] Sub-user Bobi uses The signals for other sub-users in the broadcast signal are error-corrected and decoded to obtain the quantized initial key sequence between the virtual central node C and other sub-users, which can be specifically expressed as formula (11):
[0198]
[0199] in, Represents the PK after recovery j,C, j∈{1,2,3}, and j is not equal to i.
[0200] The virtual central node C and each sub-user Bobi can use the initial key sequence, R, R C The same bit sequence SK can be specifically expressed as formula (12):
[0201] SK=[R,R c ,PK 1,C ,PK 2,C ,PK 3,C ] (12)
[0202] Then, the virtual central node C and each sub-user Bobi can convert SK into a session group key GK (i.e., the above-mentioned second key) of an ideal length according to actual communication requirements, which can be specifically expressed as formula (13):
[0203] GK=H(SK) (13)
[0204] Wherein, H() represents a hash function. In this way, the virtual central node C and each sub-user Bobi can obtain the same session group key GK and use the session group key GK for group communication.
[0205] At the same time, this application example also proposes a method for generating a wireless physical layer group key in a multi-user network with a chain network topology (which can also be understood as a method for generating and distributing a group key in a chain network), wherein it is assumed that the multi-user network (i.e., the first network mentioned above) includes four users (i.e., the communication nodes mentioned above), and the four users include user 1, user 2, user 3, and user 4.
[0206] In step 601, each user sends a detection data packet to other users (also referred to as linked users) that have established a link with itself according to the connection relationship of the chain network, so that the linked users obtain the corresponding CSI matrix.
[0207] Specifically, channel detection is performed from user 1 to user 4 in sequence. First, user 1 sends a detection data packet to user 2, and user 2 obtains its own CSI matrix H 1,2 Subsequently, user 2 sends a detection data packet to user 1 and user 3, and user 1 and user 3 each obtain their own CSI matrix H 2,1 and H 2,3 User 3 sends a detection data packet to user 2 and user 4, and user 2 and user 4 each obtain their own CSI matrix H 3,2 and H 3,4 Finally, user 4 sends a detection data packet to user 3, and user 3 obtains the CSI matrix H 4,3 In this way, all users can generate corresponding CSI matrices, and the dimensions of the CSI matrices are the same.
[0208] In step 602, starting from user 1, each user i and the next user i+1 in the chain network architecture respectively calculate their respective CSI matrices H i,i+1 and H i+1,i Perform non-interactive PCA processing, and obtain the CSI matrix after non-interactive PCA processing as Y i,i+1 and Y i+1,i , where i∈{1,2,3}
[0209] Then, user i and user i+1 can respectively convert Y i,i+1 and Y i+1,i Straighten by column and get the vector sequence ν i,i+1 and ν i+1,i , which can be specifically expressed as formula (14):
[0210]
[0211] User i and user i+1 send their respective vector sequences ν i,i+1 and ν i+1,i Divide into M sequences of the same length and get the sequence set P i,i+1 and P i+1,i , which can be specifically expressed as formula (15):
[0212]
[0213] User 1 determines a random scrambling order PO1 (i.e., the first information mentioned above), which can be specifically expressed as PO1=[k 1.1 ,k 1.2 ,...,k 1.M ], where k 1.j represents the scrambled order of the j-th sequence, where j is an integer greater than or equal to 1 and less than or equal to M.
[0214] User 1 makes a decision based on PO1 2,1 Perform random scrambling to obtain a scrambled sequence set, which can be specifically expressed as formula (16):
[0215]
[0216] User 1 will It is sent to user 2 through a public channel. User 2 uses the minimum weight bipartite graph matching algorithm to find its own sequence set P according to channel reciprocity. 1,2 In the sequence and Then, user 2 performs a random ordering operation on P according to the random order PO1. 1,2 Perform random scrambling in the same order, and the sequence set after scrambling is User 2 and user 3 also use the same method to update their respective CSI sequence sets P 3,2 and P 4,3 Random scrambling is performed, and the random scrambling order is PO2 and PO3 respectively. 3,2 and P 4,3 After random scrambling, the new CSI sequence set is: and User 2 gets After that, It is sent to user 3 through a public channel. User 3 uses the minimum weight bipartite graph matching algorithm to infer the scrambling order PO2 and uses this order to rank P 2,3 Randomly scramble to get Similarly, user 4 receives the After that, with its own CSI sequence set P 3,4 After matching, the random permutation order PO3 is inferred, and P is matched according to this order. 3,4 Randomly scramble to get At this time, every two adjacent users negotiate to obtain a random scrambled order of channel measurement values that only they know.
[0217] Then, in step 603, for each user i, user i and user i+1 send their respective sequence sets and Restore to Matrix and User i and user i+1 are and Perform the quantization step to obtain the initial key sequence IK i,i+1 (i.e. the first key mentioned above) and IK i+1,i (i.e. the fourth key mentioned above). At this time, IK i,i+1 and IK i+1,i are highly correlated, but are not completely consistent due to the influence of noise and delay. Specifically, IK can be expressed by formula (17): i,C and IK C,i The bit difference between:
[0218]
[0219] After quantization, the edge node (i.e., the user node at the edge of the chain network architecture) user 1 has an initial key sequence IK 2,1 ; Edge node user 4 has an initial key sequence IK 3,4 ; User 2 has two initial key sequences IK 1,2 and IK 3,2 ; User 3 has two initial key sequences IK 2,3 and IK 4,3. Among them, the length of all initial key sequences is L (L is an integer greater than 1).
[0220] After determining the initial key sequence, user i and user i+1 can convert the random scrambled sequence POi into a binary bit sequence RS i , and fill in the RS i Multiplexing and splicing for IK i,i+1 , IK i+1,i Bit sequences of equal length Rs i '. Since the scrambled order POi is only known by user i and user i+1, Rs i 'As a random disturbance source for IK i,i+1 , IK i+1,i Perform disturbance to obtain the initial key PK after disturbance i,i+1 (ie the fifth key mentioned above) and PK i+1,i (i.e. the third key mentioned above), which can be specifically expressed as formula (18):
[0221]
[0222] In step 604, the sharing of group keys between users in the chain network has two processes: forward and reverse. In the forward process, user 1 generates a random sequence R of length L1. Then, user 1 performs BCH encoding on R to generate sequence R C , R C The length of L1 is L2. At the same time, the relationship between L1 and L2 satisfies L1+L2=L.
[0223] User 1 can use R, R C The sequence composed of (i.e. the above error correction code) and the initial key sequence PK 2,i Perform XOR operation to obtain the calculated value, and send the calculated value to user 2 through the public channel. The broadcast signal S 1 It can be expressed as formula (19):
[0224]
[0225] Assuming that after channel coding, the information received by user 2 has no errors, after user 2 receives S1, the random sequences R and R can be calculated by formula (20): C The value of
[0226]
[0227] User 2 can use the error correction decoding function Perform error correction to obtain R and R after error correction C ,Right now
[0228] After error correction decoding, user 2 can use the corrected R and R C PK 2,1 To recover, it can be specifically expressed as formula (21):
[0229]
[0230] in, Represents the PK after recovery 2,1 .here, Should be with PK 2,1 The same, and Should be the same as R.
[0231] Since users 1 to 4 are connected sequentially in the chain network structure, only two adjacent users are within the communication range of each other. Therefore, users 2 and 3 need to forward the information they have received while broadcasting their own information.
[0232] Specifically, user 2 can first use [R, R c ] and the initial key sequence PK 3,2 Perform XOR operation to get the operation result T 2 , and then the operation result T 2 With S 1 Combined to get the broadcast signal S 2 , which can be specifically expressed as formula (22):
[0233]
[0234] Then, user 2 can send a broadcast signal S to user 1 and user 3. 2 User 3 receives S 2 After that, the initial key sequence PK can be used 2,3 and the broadcast signal S 2 , determine PK 3,2 and [R,R c ]. And further use [R,R c ] and broadcast signal S 2 , determine PK 2,1 At the same time, user 1 can also use the broadcast signal S 2 , determine PK 3,2 .
[0235] User 3 can use [R,R c ] and the initial key sequence PK 4,3 Perform XOR operation to get the operation result T 3 , and then the operation result T 3 With S 2Combined to get the broadcast signal S 3 , which can be specifically expressed as formula (23):
[0236]
[0237] Then, user 3 can send a broadcast signal S to user 2 and user 4. 2 User 4 receives S 3 After that, the initial key sequence PK can be used 3,4 and the broadcast signal S 3 , determine PK 4,3 and [R,R c ]. And further use [R,R c ] and broadcast signal S 3 , determine PK 3,2 and PK 2,1 At the same time, user 2 can also use the broadcast signal S 3 , determine PK 4,3 .
[0238] After the forward sharing of key information, user 1 still lacks PK 4,3 , so user 2 can use [R,R c ] and PK 4,3 Determine (for example, perform XOR operation) the broadcast signal and send the broadcast signal to user 1; after user 1 receives the broadcast signal, it can determine PK 4,3 After forward and reverse key information sharing, users 1 to 4 can obtain all initial key sequences and [R, R c ], then user 1 to user 4 can use all initial key sequences and [R, R c ] form the same bit sequence SK, which can be specifically expressed as formula (23):
[0239] SK=[R,R c ,PK 2,1 ,PK 3,2 ,PK 4,3 ] (twenty three)
[0240] Finally, users 1 to 4 can convert SK into a session group key GK of an ideal length according to actual communication requirements and in combination with formula (13). In this way, all users can obtain the same session group key GK and use the session group key GK for group communication.
[0241] The solution provided by the application example of this application proposes a signal preprocessing method based on random scrambling and a key randomness enhancement method based on random perturbation in a multi-user network, which can perform random scrambling and de-redundancy on the channel measurement values of each user, improve the complexity of channel characteristics used for quantization operations, improve the randomness of keys and reduce the correlation between key sequences. At the same time, different group key generation methods based on random scrambling and error correction coding are designed for the two multi-user network topologies of star and chain, respectively, so that multiple users can securely distribute their generated key sequences to generate consistent group keys for sessions. At the same time, a key sequence security distribution method based on error correction coding in a multi-user network is designed. A secure distribution method for key information between virtual nodes and sub-user nodes is proposed for star networks. A bidirectional key information security distribution method combining forward and reverse is proposed for chain networks.
[0242] The solution provided in the application example of this application improves the signal preprocessing stage and the group key security distribution stage in the wireless physical layer group key generation process based on the multi-user physical layer group key generation method of random scrambling and error correction coding. Based on this method, the impact of the quasi-static wireless channel environment can be reduced, and wireless physical layer group keys with high randomness and high consistency can be generated at high speed in a multi-user network. The application example of this application uses a randomness enhancement method based on random scrambling and perturbation for the channel measurement value, and uses error correction coding to participate in the generation and secure distribution of group keys, which can meet the security communication needs in a multi-user network.
[0243] In order to implement the method provided by the first communication node side of the embodiment of the present application, the embodiment of the present application also provides a key processing device, which is set on the first communication node, such as Figure 7 As shown, the device comprises:
[0244] A first determining unit 701 is configured to determine a first CSI matrix associated with each of the one or more second communication nodes, wherein the first network includes a plurality of communication nodes, the plurality of communication nodes including the first communication node, and the one or more second communication nodes;
[0245] The first generating unit 702 is configured to perform random scrambling processing on each first CSI matrix to obtain a first sequence set, send the first sequence set to the corresponding second communication node, and generate a first key based on the first sequence set to obtain one or more first keys; and generate a first signal using error correction coding and one or more first keys, send the first signal to each second communication node of the one or more second communication nodes, and generate a second key for group communication of the first network using the error correction coding and one or more first keys.
[0246] In one embodiment, the first generating unit 702 is specifically used to:
[0247] Performing PCA processing on the first CSI matrix to obtain a first CSI matrix after PCA processing;
[0248] Flatten the first CSI matrix after PCA processing according to columns to obtain a first flattened vector;
[0249] The first flattened vector is scrambled based on first information, where the first information represents a randomly generated scrambling order.
[0250] In one embodiment, the first generating unit 702 is further configured to:
[0251] For each first key, perturb the first key based on first information to obtain a third key, wherein the first information represents a scrambled order corresponding to the first sequence set;
[0252] The first signal is generated using the error correction code and one or more third keys, and the second key is generated using the error correction code and one or more third keys.
[0253] In actual application, the first determining unit 701 and the first generating unit 702 may be implemented by a processor in the key processing device in combination with a communication interface.
[0254] In order to implement the method on the second communication node side of the embodiment of the present application, the embodiment of the present application also provides a key processing device, which is arranged on the second communication node, such as Figure 8 As shown, the device comprises:
[0255] A second determining unit 801 is configured to determine a second CSI matrix associated with a first communication node, wherein the first network includes a plurality of communication nodes, and the plurality of communication nodes include at least the second communication node and the first communication node;
[0256] The receiving unit 802 is configured to receive a first sequence set sent by the first communication node, where the first sequence set includes a sequence set obtained by the first communication node after scrambling a first CSI matrix, and the first CSI matrix is associated with the second communication node; and receive a first signal sent by the first communication node, where the first signal is generated based on at least error correction coding and a first key, and the first key includes a key generated by the first communication node based on the first sequence set;
[0257] The second generation unit 803 is used to randomly scramble the second CSI matrix based on the first sequence set to obtain a second sequence set, and generate a fourth key based on the second sequence set; and use the first signal and the fourth key to determine the error correction code and the first key, and use the error correction code and the first key to generate a second key for group communication of the first network.
[0258] In one embodiment, the second generating unit 803 is specifically used to:
[0259] Performing PCA processing on the second CSI matrix to obtain a second CSI matrix after PCA processing;
[0260] Flatten the second CSI matrix after PCA processing according to columns to obtain a second flattened vector;
[0261] Determine first information based on the first sequence set and the second CSI matrix, where the first information represents a scrambling order corresponding to the first sequence set;
[0262] Based on the first information, the second flattened vector is scrambled.
[0263] In one embodiment, the second generating unit 803 is further configured to:
[0264] Determine first information based on the first sequence set and the second CSI matrix, where the first information represents a scrambling order corresponding to the first sequence set;
[0265] Performing a disturbance process on the fourth key based on the first information to obtain a fifth key;
[0266] The error correction code and the first key are determined using the first signal and the fifth key, and a second key for group communication in the first network is generated using the error correction code and the first key.
[0267] In actual application, the second determination unit 801 can be implemented by a processor in the key processing device in combination with a communication interface, the receiving unit 802 can be implemented by the communication interface in the key processing device, and the second generation unit 803 can be implemented by a processor in the key processing device.
[0268] It should be noted that: the key processing device provided in the above embodiment only uses the division of the above program units as an example when performing key processing. In actual applications, the above processing can be assigned to different program units as needed, that is, the internal structure of the device is divided into different program units to complete all or part of the processing described above. In addition, the key processing device provided in the above embodiment and the key processing method embodiment belong to the same concept, and the specific implementation process is detailed in the method embodiment, which will not be repeated here.
[0269] Based on the hardware implementation of the above program module, and in order to implement the method of the first communication node side of the embodiment of the present application, the embodiment of the present application also provides a first communication node, such as Fig. 9 As shown, the first communication node 900 includes:
[0270] The first communication interface 901 is capable of exchanging information with the second communication node;
[0271] A first processor 902 is connected to the first communication interface 901 to implement information interaction with the second communication node, and is used to execute the method provided by one or more technical solutions on the first communication node side when running a computer program;
[0272] A first memory 903 , in which the computer program is stored.
[0273] Specifically, the first processor 902 is configured to:
[0274] A first CSI matrix associated with each of one or more second communication nodes is determined through the first communication interface 901, where the first network includes multiple communication nodes, and the multiple communication nodes include a first communication node and the one or more second communication nodes; for each first CSI matrix, random scrambling processing is performed to obtain a first sequence set, the first sequence set is sent to the corresponding second communication node, and a first key is generated based on the first sequence set to obtain one or more first keys; and a first signal is generated using error correction coding and one or more first keys, the first signal is sent to each of the one or more second communication nodes through the first communication interface 901, and a second key for group communication of the first network is generated using the error correction coding and one or more first keys.
[0275] In one embodiment, the first processor 902 is specifically configured to:
[0276] Performing PCA processing on the first CSI matrix to obtain a first CSI matrix after PCA processing;
[0277] Flatten the first CSI matrix after PCA processing according to columns to obtain a first flattened vector;
[0278] The first flattened vector is scrambled based on first information, where the first information represents a randomly generated scrambling order.
[0279] In one embodiment, the first processor 902 is further configured to:
[0280] For each first key, perturb the first key based on first information to obtain a third key, wherein the first information represents a scrambled order corresponding to the first sequence set;
[0281] The first signal is generated using the error correction code and one or more third keys, and the second key is generated using the error correction code and one or more third keys.
[0282] It should be noted that the specific processing process of the first processor 902 and the first communication interface 901 can be understood by referring to the above method.
[0283] Of course, in actual application, the various components in the first communication node 900 are coupled together through the bus system 904. It can be understood that the bus system 904 is used to realize the connection and communication between these components. In addition to the data bus, the bus system 904 also includes a power bus, a control bus, and a status signal bus. However, for the sake of clarity, Fig. 9 Various buses are labeled as bus system 904.
[0284] The first memory 903 in the embodiment of the present application is used to store various types of data to support the operation of the first communication node 900. Examples of such data include: any computer program used to operate on the first communication node 900.
[0285] The method disclosed in the above embodiment of the present application can be applied to the first processor 902, or implemented by the first processor 902. The first processor 902 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by an integrated logic circuit of hardware or software instructions in the first processor 902. The above-mentioned first processor 902 may be a general-purpose processor, a digital signal processor (DSP, Digital Signal Processor), or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, etc. The first processor 902 can implement or execute the various methods, steps and logic block diagrams disclosed in the embodiments of the present application. A general-purpose processor may be a microprocessor or any conventional processor, etc. In combination with the steps of the method disclosed in the embodiment of the present application, it can be directly embodied as a hardware decoding processor to execute, or it can be executed by a combination of hardware and software modules in the decoding processor. The software module may be located in a storage medium, which is located in the first memory 903, and the first processor 902 reads the information in the first memory 903 and completes the steps of the above method in combination with its hardware.
[0286] In an exemplary embodiment, the first communication node 900 can be implemented by one or more application-specific integrated circuits (ASICs), DSPs, programmable logic devices (PLDs), complex programmable logic devices (CPLDs), field-programmable gate arrays (FPGAs), general-purpose processors, controllers, microcontrollers (MCUs), microprocessors, or other electronic components to execute the aforementioned method.
[0287] Based on the hardware implementation of the above program module, and in order to implement the method of the second communication node side of the embodiment of the present application, the embodiment of the present application also provides a second communication node, such as Fig.10 As shown, the second communication node 1000 includes:
[0288] The second communication interface 1001 is capable of exchanging information with the first communication node;
[0289] The second processor 1002 is connected to the second communication interface 1001 to implement information interaction with the first communication node, and is used to execute the method provided by one or more technical solutions on the second communication node side when running the computer program;
[0290] The second memory 1003 , on which the computer program is stored.
[0291] Specifically, the second communication interface 1001 is used to:
[0292] receiving a first sequence set sent by a first communication node, the first sequence set comprising a sequence set obtained by the first communication node after scrambling a first CSI matrix, the first CSI matrix being associated with the second communication node; and receiving a first signal sent by the first communication node, the first signal being generated based on at least error correction coding and a first key, the first key comprising a key generated by the first communication node based on the first sequence set;
[0293] The second processor 1002 is configured to:
[0294] Determine a second CSI matrix associated with the first communication node, where the first network includes multiple communication nodes, and the multiple communication nodes include at least the second communication node and the first communication node; perform random scrambling on the second CSI matrix based on the first sequence set to obtain a second sequence set, and generate a fourth key based on the second sequence set; use the first signal and the fourth key to determine the error correction code and the first key, and use the error correction code and the first key to generate a second key for group communication of the first network.
[0295] In one embodiment, the second processor 1002 is specifically configured to:
[0296] Performing PCA processing on the second CSI matrix to obtain a second CSI matrix after PCA processing;
[0297] Flatten the second CSI matrix after PCA processing according to columns to obtain a second flattened vector;
[0298] Determine first information based on the first sequence set and the second CSI matrix, where the first information represents a scrambling order corresponding to the first sequence set;
[0299] Based on the first information, the second flattened vector is scrambled.
[0300] In one embodiment, the second processor 1002 is further configured to:
[0301] Determine first information based on the first sequence set and the second CSI matrix, where the first information represents a scrambling order corresponding to the first sequence set;
[0302] Performing a disturbance process on the fourth key based on the first information to obtain a fifth key;
[0303] The error correction code and the first key are determined using the first signal and the fifth key, and a second key for group communication in the first network is generated using the error correction code and the first key.
[0304] It should be noted that the specific processing process of the second processor 1002 and the second communication interface 1001 can be understood by referring to the above method.
[0305] Of course, in actual application, the various components in the second communication node 1000 are coupled together through the bus system 1004. It can be understood that the bus system 1004 is used to realize the connection and communication between these components. In addition to the data bus, the bus system 1004 also includes a power bus, a control bus and a status signal bus. However, for the sake of clarity, Fig.10 Various buses are labeled as bus system 1004 .
[0306] The second memory 1003 in the embodiment of the present application is used to store various types of data to support the operation of the second communication node 1000. Examples of such data include: any computer program used to operate on the second communication node 1000.
[0307] The method disclosed in the above embodiment of the present application can be applied to the second processor 1002, or implemented by the second processor 1002. The second processor 1002 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by the hardware integrated logic circuit or software instructions in the second processor 1002. The above-mentioned second processor 1002 may be a general-purpose processor, DSP, or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, etc. The second processor 1002 can implement or execute the various methods, steps and logic block diagrams disclosed in the embodiments of the present application. A general-purpose processor may be a microprocessor or any conventional processor, etc. In combination with the steps of the method disclosed in the embodiment of the present application, it can be directly embodied as a hardware decoding processor to execute, or it can be executed by a combination of hardware and software modules in the decoding processor. The software module may be located in a storage medium, which is located in the second memory 1003, and the second processor 1002 reads the information in the second memory 1003 and completes the steps of the above method in combination with its hardware.
[0308] In an exemplary embodiment, the second communication node 1000 may be implemented by one or more ASICs, DSPs, PLDs, CPLDs, FPGAs, general purpose processors, controllers, MCUs, Microprocessors, or other electronic components to perform the aforementioned methods.
[0309] It can be understood that the memory (first memory 903, second memory 1003) of the embodiment of the present application can be a volatile memory or a non-volatile memory, and can also include both volatile and non-volatile memories. Among them, the non-volatile memory can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a magnetic random access memory (FRAM), a flash memory, a magnetic surface memory, an optical disc, or a compact disc read-only memory (CD-ROM); the magnetic surface memory can be a disk memory or a tape memory. The volatile memory can 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), synchronous static random access memory (SSRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDRSDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct RAM bus random access memory (DRRAM).The memories described in the embodiments of the present application are intended to include, but are not limited to, these and any other suitable types of memories.
[0310] In an exemplary embodiment, the embodiment of the present application further provides a storage medium, namely a computer storage medium, specifically a computer-readable storage medium, for example, including a first memory 903 storing a computer program, the computer program can be executed by the first processor 902 of the first communication node 900 to complete the steps of the first communication node side method, and for another example, including a second memory 1003 storing a computer program, the computer program can be executed by the second processor 1002 of the second communication node 1000 to complete the steps of the second communication node side method. The computer-readable storage medium can be a memory such as FRAM, ROM, PROM, EPROM, EEPROM, Flash Memory, magnetic surface memory, optical disk, or CD-ROM.
[0311] In an exemplary embodiment, the embodiment of the present application also provides a computer program product, including a computer program, which can be executed by the first processor 902 of the first communication node 900 to complete the steps of the aforementioned first communication node side method, or the computer program can be executed by the second processor 1002 of the second communication node 1000 to complete the steps of the aforementioned second communication node side method.
[0312] In order to implement the method provided in the embodiment of the present application, the embodiment of the present application also provides a key processing system, such as Fig.11 As shown, the system includes: a first communication node 1101 and one or more second communication nodes 1102 .
[0313] Here, it should be noted that the specific processing process of the first communication node 1101 and one or more second communication nodes 1102 has been described in detail above and will not be repeated here.
[0314] It should be noted that: "first", "second", etc. are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.
[0315] In addition, the technical solutions described in the embodiments of the present application can be combined arbitrarily without conflict.
[0316] The above description is only a preferred embodiment of the present application and is not intended to limit the protection scope of the present application.
Claims
1. A key processing method, characterized in that: Applied to a first communication node, comprising: Determining a first channel state information (CSI) matrix associated with each of the one or more second communication nodes, the first network comprising a plurality of communication nodes, the plurality of communication nodes comprising the first communication node, and the one or more second communication nodes; Performing random scrambling processing on each first CSI matrix to obtain a first sequence set, sending the first sequence set to a corresponding second communication node, and generating a first key based on the first sequence set to obtain one or more first keys; A first signal is generated using error correction coding and one or more first keys, the first signal is sent to each of the one or more second communication nodes, and a second key for group communication of the first network is generated using the error correction coding and the one or more first keys.
2. The method according to claim 1, characterized in that The random scrambling process comprises: Performing principal component analysis (PCA) processing on the first CSI matrix to obtain a first CSI matrix after PCA processing; Flatten the first CSI matrix after PCA processing according to columns to obtain a first flattened vector; The first flattened vector is scrambled based on first information, where the first information represents a randomly generated scrambling order.
3. The method according to claim 1, characterized in that The method further comprises: For each first key, perturb the first key based on first information to obtain a third key, wherein the first information represents a scrambled order corresponding to the first sequence set; The first signal is generated using the error correction code and one or more third keys, and the second key is generated using the error correction code and one or more third keys.
4. The method according to any one of claims 1 to 3, characterized in that: The first communication node includes a virtual central node in a star network, and the second node includes other communication nodes in the star network except the first communication node; or, The first communication node includes a communication node in the chain network, and the second communication node includes the next communication node connected to the first communication node in the chain network.
5. A key processing method, characterized in that: Applied to a second communication node, comprising: Determining a second CSI matrix associated with a first communication node, the first network comprising a plurality of communication nodes, the plurality of communication nodes comprising the first communication node, and one or more second communication nodes; receiving a first sequence set sent by the first communication node, where the first sequence set includes a sequence set obtained by the first communication node after scrambling a first CSI matrix, and the first CSI matrix is associated with the second communication node; Performing random scrambling processing on the second CSI matrix based on the first sequence set to obtain a second sequence set, and generating a fourth key based on the second sequence set; receiving a first signal sent by the first communication node, where the first signal includes a key generated based on error correction coding and one or more first keys, where the first key includes a key generated by the first communication node based on a first sequence set corresponding to the one or more second communication nodes; The error correction code and the first key are determined using the first signal and the fourth key, and a second key for group communication in the first network is generated using the error correction code and the first key.
6. The method according to claim 5, characterized in that The randomly scrambling the second CSI matrix based on the first sequence set includes: Performing PCA processing on the second CSI matrix to obtain a second CSI matrix after PCA processing; Flatten the second CSI matrix after PCA processing according to columns to obtain a second flattened vector; Determine first information based on the first sequence set and the second CSI matrix, where the first information represents a scrambling order corresponding to the first sequence set; Based on the first information, the second flattened vector is scrambled.
7. The method according to claim 5, characterized in that The method further comprises: Determine first information based on the first sequence set and the second CSI matrix, where the first information represents a scrambling order corresponding to the first sequence set; Performing a disturbance process on the fourth key based on the first information to obtain a fifth key; The error correction code and the first key are determined using the first signal and the fifth key, and a second key for group communication in the first network is generated using the error correction code and the first key.
8. A first communication node, characterized in that: include: a first processor and a first memory for storing a computer program executable on the processor, Wherein, when the first processor is used to run the computer program, the steps of the method described in any one of claims 1 to 4 are executed.
9. A second communication node, characterized in that: include: a second processor and a second memory for storing a computer program executable on the processor, Wherein, when the second processor is used to run the computer program, the steps of the method described in any one of claims 5 to 7 are executed.
10. A storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the computer program implements the steps of the method according to any one of claims 1 to 4, or implements the steps of the method according to any one of claims 5 to 7.
11. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the computer program implements the steps of the method according to any one of claims 1 to 4, or implements the steps of the method according to any one of claims 5 to 7.
Citation Information
Patent Citations
Wireless-channel physical-layer secret key negotiation and inconsistent bit removing method
CN106878012A
Underwater sound physical layer key generation technology based on channel state information
CN114745716A
Channel key generation method and data transmission method
CN115567933A
Encryption communication method, device and system based on physical layer key and medium
CN118214589A
Key distribution system and method based on channel reciprocity and error rate estimation
CN118574119A