Group communication method and communication system based on a hierarchical structure symmetric key pool

Through the design of hierarchical structure and replacement keys, the problem of time-consuming cracking and updating of key pools in group communication is solved, and security and efficiency are improved, ensuring the security and privacy of group communication.

CN114339691BActive Publication Date: 2025-08-01RUBAN QUANTUM TECH CO LTD +1
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202011054137.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-09-30
Publication Date
2025-08-01
Estimated Expiration
2040-09-30

AI Technical Summary

Technical Problem

In the existing group communication system, the group symmetric key pool has a security threat to be cracked, the key update takes time, the same member status makes the system susceptible to single member capture, and the existing key acquisition method is insufficient in privacy.

Method used

A hierarchical structure symmetric key pool is adopted, and group members are divided through a tree structure. The highest level is the administrator. Other layers of members calculate the replacement key according to their IDs. The time stamp and step size are used to calculate the keys. The key update only passes a small number of keys, and the member level is different protection measures.

Benefits of technology

Enhanced security of group communication, reduce key update time, prevent individual member capture from affecting the overall system, and improve the privacy of key access.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114339691B_ABST
    Figure CN114339691B_ABST
Patent Text Reader

Abstract

The present invention discloses a group communication method and a communication system based on a hierarchical structure symmetric key pool, including the steps of: (1) hierarchically dividing a group into a tree structure, where the highest layer is the group administrator who stores its key pool and replacement keys; (2) group members in other layers of the tree structure calculate and store corresponding replacement keys according to their IDs and the replacement keys of their parent nodes; (3) each group member in the first layer calculates its key pool according to its replacement key and the key pool of the 0th layer, and the key pools of all group members below the first layer are the same as the key pool of their parent nodes; (4) the sender in communication between group members selects a key from the target key pool as the communication key through a preset key selection method. In the case where a symmetric key pool of a certain subgroup is cracked, the security of group communication can still be guaranteed by the present invention; and only a small number of keys need to be transmitted to update the key pool by the present invention.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of group communication, and in particular to a group communication method and a communication system based on a hierarchical structure symmetric key pool. Background Art

[0002] With the continuous development of wireless communication technology, Device to Device (D2D) has become one of the hotspots of 3GPP Rel-12 standardized technologies. D2D allows two User Equipments (UEs) to directly perform data transmission through a specific channel (Sidelink Channel) without passing through an Evolutional Node B (eNB). Of course, D2D is not limited to data transmission between two user equipments, and can also support group communication from a single point to multiple points. Most of the existing network authentication systems are based on a one-to-one authentication method for a single object. However, for data transmission from a single point to multiple points, a group will be formed according to certain principles. In these application scenarios, when a new terminal accesses the group, if the existing one-to-one authentication method is adopted, it will not only increase network signaling, resulting in network congestion, but also consume a large amount of network resources. Therefore, the existing one-to-one network authentication system is no longer applicable. In this case, in order to reduce the consumption of authentication resources and reduce network congestion, a corresponding group authentication mechanism is required. The existing group communication system uses a group key pool and realizes group communication by using the symmetric keys stored in the group-type symmetric key pool. If a certain member is attacked, the security of the secure communication of the entire group is threatened.

[0003] In the prior art, the update of the key pool often requires the participation of an issuing center. Due to the large amount of data transmitted, there is a certain threat to security.

[0004] Based on the above analysis, the prior art has the following defects:

[0005] 1. In the prior art, due to its large capacity, the group symmetric key pool cannot be stored in a highly secure security chip, and there is a possibility of being captured, disassembled and then cracked. The group-type symmetric key pool is shared by all members in the group. Once the group-type symmetric key pool is cracked, the security of group communication based on the group-type symmetric key pool is threatened;

[0006] 2. The existing key extraction method based on the symmetric key pool is as follows: First, select a key position, and then extract the entire segment of the key from that position. In the case where the symmetric key pool is shared by group members, this key extraction method is easily known by group members and has low privacy;

[0007] 3. The existing method for updating the key pool is that one party generates a key and sends it to the other party. Since the amount of keys in the key pool is huge, it will cause a large amount of time required for key pool update. For group communication, the same key needs to be transmitted to each member of the group, and the amount of keys is even more huge, making it often difficult to achieve.

[0008] 4. In the existing group communication system based on the key pool, the status of all members with the group key pool is the same, and the capture of any one member will cause the failure of the entire group communication system. Summary of the Invention

[0009] Object of the Invention: In view of the above deficiencies, the present invention proposes a group communication method and communication system based on a hierarchical structure symmetric key pool, which further enhances the security of using the symmetric key pool in the scenario of group communication, so that in the extreme case where a sub-group symmetric key pool is cracked, the security of group communication based on the symmetric key pool can still be guaranteed.

[0010] Technical Solution:

[0011] The group communication method based on the hierarchical structure symmetric key pool includes the steps of:

[0012] (1) The group is hierarchically divided into a tree structure, where the highest layer is layer 0, and there is only 1 group member, which is the group administrator; the replacement key of the group administrator is stored in the local secure storage chip of the group administrator; the group administrator stores the key pool of layer 0.

[0013] (2) Assign IDs to the group members in other layers of the tree structure, and calculate the replacement keys of each group member in each layer according to the ID of each group member in each layer and the replacement key of its parent node; and store its replacement key in its local secure storage chip.

[0014] (3) Each group member in layer 1 calculates its key pool according to its replacement key and the key pool of layer 0, and the key pools of all group members in all levels below layer 1 are the same as the key pool of its parent node.

[0015] (4) Communication between group members in the same layer: The sender selects a key from the key pool of its parent node group member as the communication key through a pre-set key selection method.

[0016] (5) Communication between group members in the upper layer and group members in the lower layer: First, calculate the replaced key pool of the lower layer group member through the replacement key of the lower layer group member and the key pool of its parent node group member; the sender selects a key from the calculated replaced key pool of the lower layer group member as the communication key through a pre-set key selection method.

[0017] The preset key selection method is as follows:

[0018] The sender generates a timestamp, and calculates an initial position pointer based on the timestamp and the key pool length of the members of the first-layer group; then calculates the first step length based on the initial position pointer and the timestamp, calculates the second step length based on the first step length and the timestamp, and so on, a total of N step lengths are calculated; calculates the first key pointer for selecting the key based on the initial position pointer and the first step length, then calculates the second key pointer with the first key pointer and the second step length, and so on, a total of N key pointers are calculated; extracts the corresponding key data from the target key pool according to each key pointer to form a key;

[0019] Among them, for the communication between the members of the upper-layer group and the lower-layer group at the first layer and below: the replacement key of the lower-layer group member is also added during the calculation of the N step lengths, and after the key is extracted, the key is encrypted with the replacement key of the lower-layer group member as the final communication key.

[0020] If it exceeds the target key pool size KPL, the modulo operation on KPL is used to return to the head of the key pool.

[0021] In steps (4) and (5), the message sender encrypts the message it sends according to the communication key, and sends it to the receiver together with the message authentication code generated by its encryption key for its ID, the sent message and the timestamp of the sent message; after receiving it, the receiver decrypts the message through the communication key, and calculates the corresponding message authentication code and compares it with the message authentication code sent by the sender. If the two are consistent, it means the verification passes and the message is trusted; if the verification fails, the message is not trusted.

[0022] It further includes step (6) for the lower-layer group members to perform roaming communication with other group members at the same layer as their parent node, as follows:

[0023] (61) The lower-layer group members communicate with a certain upper-layer group member at the same layer as their parent node through the method in step (5);

[0024] (62) The upper-layer group member generates a roaming event message with the ID of the lower-layer group member, its own ID and the communication message and sends it to the group administrator;

[0025] (63) The group administrator verifies the validity of the roaming event message, changes the parent node of the lower-layer group member to the upper-layer group member, generates a new ID for it at the same time, and allows it to calculate its new replacement key and key pool accordingly.

[0026] The specific content of step (63) is as follows:

[0027] After the group administrator of (631) approves the roaming event message, it announces that the parent node of the lower-level group member is changed to the upper-level group member, assigns a new ID to the lower-level group member, and generates an announcement message and a corresponding timestamp;

[0028] (632) After encrypting with the replacement key of the lower-level group member, the replacement key of the original parent node of the lower-level group member, and the replacement key of the upper-level group member, it forms a message with the announcement message, timestamp, and the assigned new ID, and then signs it to obtain a signed message;

[0029] (632) The group administrator retrieves the key from the key pool of the lower-level group member and calculates the encryption key with its replacement key, encrypts the signed message with the encryption key, calculates the message authentication code, finally generates a send message, and sends it to the upper-level group member;

[0030] (633) The upper-level group member verifies the validity of the send message in step (632). After successful verification, it sends the signed message to the lower-level group member and saves its new ID locally;

[0031] (634) The lower-level group member verifies the validity of the signed message in step (633). After successful verification, it changes its parent node to the upper-level group member; at the same time, it decrypts the signed message according to its replacement key to obtain the replacement key of the upper-level group member, and then calculates its new replacement key accordingly, and stores it in the local secure storage chip;

[0032] (635) Calculate its new key pool through its new replacement key and its original key pool.

[0033] When the key pool needs to be updated, it can be achieved by updating the layer 0 key pool saved by the group administrator.

[0034] The PIN codes of all secure storage chips are also stored in the secure storage chip of the group administrator, and the group administrator performs key import and export operations through the PIN codes.

[0035] A group communication system based on a hierarchical structure symmetric key pool includes each group member that is hierarchically structured in a tree structure;

[0036] Among them, the highest layer is layer 0, and there is only 1 group member, which is the group administrator; the replacement key of the group administrator is stored in the local secure storage chip of the group administrator; the group administrator stores its own key pool;

[0037] The group members in other layers of the tree structure are all equipped with IDs, and the corresponding replacement keys are stored in their local secure storage chips. The replacement keys are calculated according to their IDs and the replacement keys of their parent nodes;

[0038] The members of each of the foregoing groups communicate using the foregoing group communication method.

[0039] Beneficial effects:

[0040] 1. This patent combines a symmetric key pool and a replacement key, and in the scenario of group communication, further enhances the security of using the symmetric key pool, so that in the extreme case where a sub-group symmetric key pool is cracked, the security of group communication based on the symmetric key pool can still be guaranteed. Because multiple sub-groups are divided within the group, in the case where a sub-group key pool is cracked, the security of other sub-groups will not be affected because their key pools are different; in addition, in the case where a sub-group key pool is cracked, the key pool of the group administrator cannot be deduced because it is protected by the replacement key, and the security is not affected.

[0041] 2. The method for obtaining keys based on the symmetric key pool in this patent is as follows: First, use the replacement key to generate a replaced key pool, and then take out multiple key bits one by one from the key pool with different step lengths, and each step length is different. In the case where the symmetric key pool is shared by group members, this key obtaining method will not be known to group members, and it has high privacy;

[0042] 3. The method for updating the key pool in this patent only needs to transfer a small amount of keys to update the key pool, and the key transmission volume of the key update scheme is very small and is easy to implement;

[0043] 4. In the group communication system based on the key pool in this patent, the status of all members with the group key pool is divided by level, and the protection measures and key pools for different levels are different. The protection measures for members of the important level are good and they are not easily captured; the protection measures for members of the unimportant level are relatively poor, but since their key pools are obtained by encrypting the key pool of the important level members, even if they are captured, the impact is not great and it will not cause the failure of the entire group communication system. Brief description of the drawings

[0044] Figure 1 It is the system structure diagram involved in the embodiment of the present invention.

[0045] Figure 2 It is the system structure diagram in the scenario of military data link in the embodiment of the present invention.

[0046] Figure 3 It is the system structure diagram of the present invention in the scenario of mobile communication.

[0047] Figure 4 It is the schematic diagram of the KTA acquisition method in the embodiment of the present invention. Detailed implementation manners

[0048] The present invention will be further described below in conjunction with the accompanying drawings and specific embodiments. It should be understood, however, that the present invention may be implemented in various forms, and some exemplary and non-limiting embodiments presented in the accompanying drawings and described hereinafter are not intended to limit the present invention to the specific embodiments illustrated.

[0049] It should be understood that, where technically feasible, the technical features listed for different embodiments above may be combined with each other to form additional embodiments within the scope of the present invention. In addition, the specific examples and embodiments described in the present invention are non-limiting, and corresponding modifications may be made to the structures, steps, and sequences set forth above without departing from the scope of protection of the present invention.

[0050] Figure 1 This is the system structure diagram involved in the embodiments of the present invention. As Figure 1 shown, the group communication system based on the hierarchical structure symmetric key pool of the present invention includes one node at layer 0, nodes at layer 1 under the node at layer 0, nodes at layer 2 under each node at layer 1, and multiple layers of nodes. In a military data link scenario, the distribution of each node is as Figure 2 shown. The node at layer 0 may be a command center, the nodes at layer 1 may be command aircraft, and the nodes at layer 2 may be unmanned aerial vehicles, unmanned ground vehicles, or individual soldier nodes, etc. In a mobile communication scenario, the distribution of each node is as Figure 3 shown. Layer 0 may be an operation center, layer 1 may be multiple base stations, and layer 2 may be multiple mobile terminals.

[0051] In this patent, it is assumed that the member ID at all levels contains the layer number where the member is located. The smaller the layer number, the better the security protection measures and the lower the possibility of being captured by the enemy.

[0052] In this patent, it is assumed that the node at layer 0 has the key pool at layer 0 and the replacement key KR0. There is only one node at layer 0, which is the group administrator. There are multiple nodes at layer 1, each node has its own unique key pool and replacement key, and the key pool of each node is calculated from the key pool at layer 0 through the replacement key it owns; there are multiple nodes at layer 2, and each node has the key pool of its parent node and its own unique replacement key. Specifically: Let the i-th node at layer 1 be ID i , and by calculating KR0, the replacement key KR i = FKRID(ID i , KR0) can be obtained, where FKRID is an irreversible function, preferably a message authentication code, i.e., a MAC function or a hash function; and let the leaf node under ID i , that is, the j-th node at layer 2, be ID ij , and by calculating KR i , the replacement key KR of this node can be obtainedij = FKRID(ID ij , KR i ). In summary, the replacement key of a certain node is the result obtained by the function FKRID calculating the node ID and its parent node's replacement key (except for the nodes in the 0th layer, whose replacement key is KR0). Among them, the replacement key is stored in a local secure storage chip such as TPM / TCM, which has anti-disassembly function and cannot be obtained. And since the FKRID function is located inside the secure chip and has no output interface, the calculated result, that is, the lower-level replacement key obtained from the replacement key, cannot be obtained either (except for the nodes in the 0th layer, because the administrator of the nodes in the 0th layer knows the PIN codes of all secure storage chips and can perform key import and export operations). The public key of the nodes in the 0th layer is also stored in the secure storage chips of all nodes; the private key of the nodes in the 0th layer is also stored in the secure storage chips of the nodes in the 0th layer.

[0053] The node key replacement formula is KRS = FKR(K, KR). Among them, FKR is an invertible function, preferably a symmetric encryption function; K is the key pool key of the parent node, KR is the replacement key of this node, and the length of KRS is equal to the length of K.

[0054] The process of the replacement key pool for the nodes in the 1st layer is as follows: Divide the key pool of the 0th layer into multiple segments of keys on average. Let the nth segment be K n , for the ID of the ith node in the 1st layer i , use the key replacement formula to calculate the replacement key KRS ni = FKR(K n , KR i ), and use KRS ni to replace K n . After the replacement is completed, a key pool of the ith node ID i in the 1st layer with the same length as the key pool of the 0th layer is obtained. In summary, the key pool of a certain node in the 1st layer is obtained by the comprehensive operation of the replacement key of this node and its parent node, that is, the key pool of the 0th layer. By analogy, using the replacement keys of each node in the 1st layer for calculation, the key pools of each node in the 1st layer can be obtained. The key pools owned by the members of the subgroup corresponding to each node in the 1st layer (that is, all members in the 2nd layer with a common parent node) are the key pools corresponding to their parent nodes.

[0055] Example 1: Upper-layer group communication

[0056] Case 1.1: Node A in the 0th layer communicates with node B in the 1st layer.

[0057] Suppose the message that group member A wants to send is NTF, and a timestamp TNTF is generated for this message. A first calculates the key pool of B: A calculates according to its own replacement key KR AThat is, KR0 and the node ID of B are used to calculate the replacement key KR of B B , and then from KR B and the key pool of A, the key pool of B can be comprehensively calculated, and the length of the key pool is KPL.

[0058] A retrieves the key KTA from B's key pool. This key is N bits in total. The specific process of obtaining KTA is as follows Figure 4 shown:

[0059] Calculate the initial position pointer PK of the key KTA = FPK(TNTF) mod KPL, where mod represents the modulo operation. Calculate the step lengths in turn: LK1 = FLK(PK||TNTF), LK2 = FLK(LK1||TNTF), LK3 = FLK(LK2||TNTF), …, LK N = FLK(LK N-1 ||TNTF). The functions FPK(*) and FLK(*) are arbitrarily specified functions. Then calculate the pointers for extracting random codes in turn: PK1 = PK + LK1 mod KPL, PK2 = PK1 + LK2 mod KPL, …, PK N = PK N-1 + LK N mod KPL. PK1 points to the start position of the key KTA, that is, the position of the first bit, PK2 points to the second bit position of the key KTA, and so on. According to PK1, PK2, …, PK N , retrieve the key data of N bits at the corresponding positions from the key pool in turn. If it exceeds the key pool size KPL, use the modulo operation with respect to KPL to return to the head of the key pool.

[0060] After A retrieves the group key KTA, it uses KTA to encrypt NTF to obtain {NTF}KTA. Use KTA to calculate the message authentication code for ID A , TNTF and NTF to obtain MAC(ID A ||TNTF||NTF, KTA). Send the encrypted information, message authentication code together with ID A , TNTF to B. The information sent can be expressed as ID A ||TNTF||{NTF}KTA||MAC(ID A ||TNTF||NTF, KTA).

[0061] After B receives it, it uses the same method to retrieve KTA from its own key pool, uses KTA to decrypt {NTF}KTA to obtain the message NTF, and uses KTA to calculate the message authentication code for ID A, TNTF and NTF calculate the message authentication code and compare it with the received message authentication code. If the two are consistent, it indicates that the verification is passed. After the verification is passed, trust the message NTF; if the verification fails, do not trust the message NTF.

[0062] Case 1.2: Layer 1 B communicates with Layer 0 A.

[0063] Suppose the message to be sent by group member B is NTF, and a timestamp TNTF is generated for this message. B retrieves the key KTB from its own key pool according to the method in Case 1.1. This key is N bits in total. Then, encrypt NTF using KTB to obtain {NTF}KTB. Use KTB to calculate the message authentication code for ID B , TNTF and NTF to obtain MAC(ID B ||TNTF||NTF, KTB). Send the encrypted information, message authentication code together with ID B , TNTF to other members. The information sent can be expressed as ID B ||TNTF||{NTF}KTB||MAC(ID B ||TNTF||NTF, KTB).

[0064] After A receives it, calculate B's key pool according to the method in Case 1.1 and retrieve KTB from it. Use KTB to decrypt {NTF}KTB to obtain the message NTF. Use KTB to calculate the message authentication code for ID B , TNTF and NTF and compare it with the received message authentication code. If the two are consistent, it indicates that the verification is passed. After the verification is passed, trust the message NTF; if the verification fails, do not trust the message NTF.

[0065] Example 2: Lower-layer group communication in the case of a fixed topology

[0066] Case 2.1: Layer 1 A communicates privately with Layer 2 B.

[0067] In this case, B is a leaf node of A, and A and B have the same key pool. Suppose the message to be sent by group member A is NTF, and a timestamp TNTF is generated for this message. A first calculates the key pool replaced by B's replacement key: A calculates B's replacement key KR A based on its own replacement key KR B and B's node ID, and then comprehensively calculates with KR B and A's key pool to obtain the key pool replaced by B's replacement key. The length of the key pool is KPL.

[0068] A retrieves the key KTA from the key pool after it has been replaced by B's replacement key. This key is N bits in total. The specific process for obtaining KTA is as follows Figure 3 as shown:

[0069] Calculate the initial position pointer PK of the key KTA as PK = FPK(TNTF) mod KPL. Then calculate the step lengths in sequence: LK1 = FLK(PK||TNTF||KR B ), LK2 = FLK(LK1||TNTF||KR B ), LK3 = FLK(LK2||TNTF||KR B ), …, LK N = FLK(LK N-1 ||TNTF||KR B ), where the enemy cannot crack to obtain KR B , nor can it be predicted. Then calculate the pointers for extracting random codes in sequence: PK1 = PK + LK1 mod KPL, PK2 = PK1 + LK2 mod KPL, …, PK N = PK N-1 + LK N mod KPL. PK1 points to the start position of the key KTA, that is, the position of the first bit, PK2 points to the position of the second bit of the key KTA, and so on. According to PK1, PK2, …, PK N , retrieve the key data of N bits at the corresponding positions from the key pool in sequence. If it exceeds the key pool size KPL, use the modulo operation with respect to KPL to return to the head of the key pool.

[0070] After A retrieves the group key KTA, calculate KSA = FKS(KTA, KR B ), where FKS is preferably a MAC function. Encrypt NTF using KSA to obtain {NTF}KSA. Use KSA to calculate the message authentication code for ID A , TNTF, and NTF to obtain MAC(ID A ||TNTF||NTF, KSA). Send the encrypted information, message authentication code, together with ID A , TNTF to other members. The information sent can be expressed as ID A ||TNTF||{NTF}KSA||MAC(ID A ||TNTF||NTF, KSA).

[0071] After B receives it, use the same method to calculate the key pool replaced by B's replacement key, then retrieve KTA from this key pool and calculate KSA. Use KSA to decrypt {NTF}KSA to obtain the message NTF. Use KSA to calculate the message authentication code for ID A, TNTF and NTF calculate the message authentication code and compare it with the received message authentication code. If the two are the same, it indicates that the verification is passed. After the verification is passed, the trust message NTF is trusted; if the verification fails, the message NTF is not trusted.

[0072] Case 2.2: Layer 2 B communicates privately with Layer 1 A.

[0073] Suppose the message to be sent by group member B is NTF, and a timestamp TNTF is generated for this message. B calculates the key pool replaced by B's replacement key according to the method in Case 2.1, and then extracts the key KTB from this key pool. This key is N bits in total, and calculates KSB = FKS(KTB, KR B ). Then, encrypt NTF using KSB to obtain {NTF}KSB. Use KSB to calculate the message authentication code for ID B , TNTF and NTF to obtain MAC(ID B ||TNTF||NTF, KSB). Send the encrypted information, message authentication code together with ID B , TNTF to other members. The information sent can be expressed as ID B ||TNTF||{NTF}KSB||MAC(ID B ||TNTF||NTF, KSB).

[0074] After A receives it, calculate the key pool replaced by B's replacement key according to the method in Case 2.1 and extract KTB from it, then calculate KSB. Use KSB to decrypt {NTF}KSB to obtain the message NTF. Use KSB to calculate the message authentication code for ID B , TNTF and NTF and compare it with the received message authentication code. If the two are the same, it indicates that the verification is passed. After the verification is passed, the trust message NTF is trusted; if the verification fails, the message NTF is not trusted.

[0075] Case 2.3: Layer 1 A communicates within the group with other group members in Layer 1.

[0076] Suppose the message to be sent by group member A is NTF, and a timestamp TNTF is generated for this message. A extracts the key KTA from the key pool of its parent node. This key is N bits in total. The specific process to obtain KTA is as follows:

[0077] Calculate the initial position pointer PK of the key KTA = FPK(TNTF) mod KPL. Calculate the step sizes in turn: LK1 = FLK(PK||TNTF), LK2 = FLK(LK1||TNTF), LK3 = FLK(LK2||TNTF), …, LK N = FLK(LKN-1 || TNTF). Then, calculate the pointers PK1 = PK + LK1 mod KPL for extracting random codes in sequence, PK2 = PK1 + LK2 mod KPL, …, PK N = PK N-1 + LK N mod KPL. PK1 points to the starting position of the secret key KTA, that is, the position of the first bit, PK2 points to the second bit of the secret key KTA, and so on. According to PK1, PK2, …, PK N successively extract the secret key data of N bits at the corresponding positions from the secret key pool. If it exceeds the secret key pool size KPL, use the modulo operation with respect to KPL to return to the head of the secret key pool.

[0078] After Party A extracts the group secret key KTA, use KTA to encrypt NTF to obtain {NTF}KTA. Use KTA to calculate the message authentication code for ID A , TNTF and NTF to obtain MAC(ID A || TNTF || NTF, KTA). Send the encrypted information, message authentication code together with ID A , TNTF to other members. The information sent can be expressed as ID A || TNTF || {NTF}KTA || MAC(ID A || TNTF || NTF, KTA).

[0079] After other group members receive the message, use the same method to extract KTA from the secret key pool of the parent node, use KTA to decrypt {NTF}KTA to obtain the message NTF, use KTA to calculate the message authentication code for ID A , TNTF and NTF and compare it with the received message authentication code. If the two are consistent, it means the verification passes. After the verification passes, trust the message NTF; if the verification fails, do not trust the message NTF.

[0080] Case 2.4: Layer 2 B conducts in-group communication with all its group members.

[0081] The method is similar to 2.3. B extracts the secret key from the secret key pool of the father node, encrypts the message, and then sends it to other members. Other members use the same method to extract the secret key from the secret key pool of the father node for decryption verification.

[0082] Example 3: Lower-layer group communication in the roaming scenario

[0083] Suppose the node ID ij roams from ID i to ID I, this event is NTFroamer, and the timestamp is TNTFroamer.

[0084] ID ij Generate the message NTF sent to ID according to the method in Case 2.2 I and transmit this message to ID ij , ID I ID I obtain NTF from the message ij . ID I After parsing the message, it is found that the message sender is not a member of this group. Therefore, use the message NTF ij as NTFroamee, with the timestamp TNTFroamee, and then generate the message NTF according to the method in Case 1.2 I and transmit this message to administrator A.

[0085] A verifies the validity of ID I and NTFroamee according to the method in 1.2, and then extract NTF from NTFroamee ij . A first calculates the replacement key and key pool of ID i , then calculates the replacement key and key pool of ID ij accordingly, and then verifies the validity of ID ij and NTFroamer according to the method in Case 2.2.

[0086] After A approves the NTFroamer event, the next step is the process of changing the node ID and roaming key.

[0087] A announces that the parent node of ID ij is changed to ID I , change ID ij to ID IJ , and make this message RET, with the timestamp TRET. Obtain RET IJ = TRET||RET||ID IJ ||{KR I ||KR i}KR ij , and sign RET IJ to get SIG IJ , and then use RET IJ ||SIG IJ as the message RETroamer, with the timestamp TRETroamer. A, according to the replacement key and key pool of ID ij calculated previously, according to the method in Case 2.1, extracts the key from the key pool of ID ij and combines it with ID ijThe replacement key is used to calculate the encryption key, and the RETroamer is encrypted with this encryption key. The message authentication code is calculated, and finally the message RET is generated ij , with RET ij ||ID IJ as the RETroamee and the timestamp as TRETroamee. A generates RET according to the method in Case 1.1 I and sends it to ID I . ID I verifies the validity of A and RETroamee according to the method in Case 1.1. After successful verification, it sends the RETroamee, that is, RET ij to ID ij and locally saves ID IJ .

[0088] ID ij verifies the validity of ID I and RETroamer according to the method in Case 2.1, so as to obtain RET IJ ||SIG IJ , and then verifies the signature SIG IJ . After successful verification, ID ij node changes ID ij to ID IJ , and changes the parent node to ID I , decrypts {KR ij ||KR I}KR i with its own replacement key KR ij to obtain KR I ||KR i , thus obtaining KR I , and then calculates a new replacement key KR IJ accordingly, and stores it in the local secure storage chip as the new replacement key. For each segment of its original key pool, the ID IJ node performs key replacement: takes out a segment of key K i from its original key pool and inputs it into the secure chip, decrypts K i with KR i to obtain the key KA that is equal to the corresponding position in A's key pool, and then encrypts KA with KR I to obtain K I , outputs K I from the secure chip to become a segment of key in the key pool. Replace each segment of the key pool in turn. After successful replacement, a new key pool is obtained. ID ij then sends a success message to its parent node ID I according to the method in Case 2.2. After ID I receives it, it confirms IDIJ is a new leaf node.

[0089] The technical features of the above-described embodiments can be combined arbitrarily. For the sake of brevity of description, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, it should be considered that the scope described in this specification.

[0090] The preferred embodiments of the present invention have been described in detail above. However, the present invention is not limited to the specific details in the above embodiments. Within the scope of the technical concept of the present invention, various equivalent transformations (such as quantity, shape, position, etc.) can be made to the technical solution of the present invention, and these equivalent transformations all belong to the protection scope of the present invention.

Claims

1. A group communication method based on a hierarchical structure symmetric key pool, characterized in that: Including the steps: (1) Hierarchically classify the group using a tree structure, where the highest layer is layer 0, and there is only 1 group member, which is the group administrator; the replacement key of the group administrator is stored in the local secure storage chip of the group administrator; the group administrator saves the key pool of layer 0; (2) Assign IDs to the group members of other layers in the tree structure, and calculate the replacement keys of the group members of each layer based on the IDs of the group members of each layer and the replacement key of their parent node; and store its replacement key in its local secure storage chip; (3) Each group member of layer 1 calculates its key pool based on its replacement key and the key pool of layer 0, and the key pools of all group members of all levels below layer 1 are the same as the key pool of their parent node; (4) Communication between group members of the same layer: The sender selects a key from the key pool of its parent node group member as the communication key through a preset key selection method; The preset key selection method is as follows: The sender generates a timestamp, and calculates the initial position pointer based on the timestamp and the length of the key pool of the layer 1 group member; then calculates the first step length based on the initial position pointer and the timestamp, calculates the second step length based on the first step length and the timestamp, and so on, a total of N step lengths are calculated; calculates the first key pointer for selecting the key based on the initial position pointer and the first step length, then calculates the second key pointer by using the first key pointer and the second step length, and so on, a total of N key pointers are calculated; takes out the corresponding key data from the target key pool according to each key pointer to form a key; Among them, for communication between high-layer group members and low-layer group members of layer 1 and below: The replacement key of the low-layer group member is also added during the calculation of the N step lengths, and after the key is taken out, the key is encrypted by the replacement key of the low-layer group member as the final communication key; (5) Communication between high-layer group members and low-layer group members: First, calculate the replaced key pool of the low-layer group member through the replacement key of the low-layer group member and the key pool of its parent node group member; The sender selects a key from the calculated replaced key pool of the low-layer group member as the communication key through a preset key selection method; In steps (4) and (5), the message sender encrypts the message it sends according to the communication key, and sends it to the receiver together with the message authentication code generated by its encryption key for its ID, the sent message, and the timestamp of the sent message; After receiving it, the receiver decrypts the message through the communication key, calculates the corresponding message authentication code and compares it with the message authentication code sent by the sender. If the two are consistent, it means the verification passes and the message is trusted; If the verification fails, the message is not trusted.

2. The group communication method based on a hierarchical structure symmetric key pool according to claim 1, characterized in that: If it exceeds the target key pool size KPL, the method of taking the modulus of KPL is used to return to the head of the key pool.

3. The group communication method based on a hierarchical structure symmetric key pool according to claim 1, wherein: It also includes step (6) for roaming communication between a low-layer group member and other group members of the same layer as its parent node, as follows: (61) The members of the lower-level group communicate with a certain upper-level group member at the same level as its parent node through the method in step (5); (62) The upper-level group member generates a roaming event message including the ID of the lower-level group member, its own ID, and the communication message, and sends it to the group administrator; (63) The group administrator verifies the validity of the roaming event message, changes the parent node of the lower-level group member to the upper-level group member, generates a new ID for it, and allows it to calculate its new replacement key and key pool based on this.

4. The group communication method based on a hierarchical structure symmetric key pool according to claim 3, wherein: The specific steps of step (63) are as follows: (631) After the group administrator approves the roaming event message, it announces that the parent node of the lower-level group member is changed to the upper-level group member, assigns a new ID to the lower-level group member, and generates an announcement message and a corresponding timestamp; (632) Encrypt the replacement key of the original parent node of the lower-level group member and the replacement key of the upper-level group member with the replacement key of the lower-level group member, and then combine them with the announcement message, timestamp, and the assigned new ID to form a message, and then sign it to obtain a signed message; The group administrator takes out the key from the key pool of the lower-level group member and calculates the encryption key with its replacement key, encrypts the signed message with the encryption key, calculates the message authentication code, finally generates a send message, and sends it to the upper-level group member; (633) The upper-level group member verifies the validity of the send message in step (632). After successful verification, it sends the signed message to the lower-level group member and saves its new ID locally; (634) The lower-level group member verifies the validity of the signed message in step (633). After successful verification, it changes its parent node to the upper-level group member; at the same time, decrypts the signed message with its replacement key to obtain the replacement key of the upper-level group member, and then calculates its new replacement key based on this, and stores it in the local secure storage chip; (635) Calculate its new key pool through its new replacement key and its original key pool.

5. The group communication method based on a hierarchical structure symmetric key pool according to claim 1, wherein: When the key pool needs to be updated, it can be achieved by updating the key pool of layer 0 saved by the group administrator.

6. The group communication method based on a hierarchical structure symmetric key pool according to claim 1, wherein: The PIN codes of all secure storage chips are also stored in the secure storage chip of the group administrator, and the group administrator performs key import and export operations through these PIN codes.

7. A group communication system based on a hierarchical structure symmetric key pool, characterized in that: It includes group members stratified in a tree structure; Among them, the highest layer is layer 0, and there is only 1 group member, which is the group administrator; the replacement key of the group administrator is stored in the local secure storage chip of the group administrator; the group administrator stores its own key pool; The group members in other layers of the tree structure are all equipped with IDs, and the corresponding replacement keys are stored in their local secure storage chips. The replacement key is calculated based on its ID and the replacement key of its parent node; The foregoing group members communicate using the group communication method described in any one of claims 1 to 6.

Citation Information

Patent Citations

  • Group key management method based on tree structure model

    CN109510707A