A key management method and device

By introducing a method of independently updating the key and key derivation functions in group communication, the security and freshness of key management in the prior art are solved, and higher communication security and key integrity are achieved.

CN115412288BActive Publication Date: 2025-02-28BEIJING ELECTRONICS SCI & TECH INST
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202210837262.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-07-15
Publication Date
2025-02-28
Estimated Expiration
2042-07-15

AI Technical Summary

Technical Problem

The prior art has poor security in key management of group communication, cannot guarantee the integrity and undeniability of the key, there is a security risk of man-in-the-middle attack, and it is impossible to achieve timed update of the key, and cannot guarantee the freshness of the key.

Method used

By independently completing the update of group keys at each node and introducing key derivation functions and encryption authentication schemes, man-in-the-middle attacks in key distribution are avoided, and the freshness, confidentiality, integrity and undeniability of group keys are improved.

Benefits of technology

Real-time update of group keys is realized, communication security is enhanced, man-in-the-middle attacks are avoided, and key freshness and integrity are improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure SMS_6
    Figure SMS_6
  • Figure SMS_11
    Figure SMS_11
  • Figure SMS_21
    Figure SMS_21
Patent Text Reader

Abstract

The present invention provides a key management method and device, which are applied to group communication. The connection between group members adopts a tree structure. The method comprises: based on a preset trigger item, according to the group key when the trigger item occurs, and a random number or an identity identifier of a newly added node in the tree structure, a new group key is generated, and the group key when the trigger item occurs is updated; wherein the trigger item includes node joining, node leaving, a preset time period, subgroup leaving and subgroup joining, and the random number is generated by a root node in the tree structure; each node of the present invention independently completes the update of its own group key, thereby avoiding a man-in-the-middle attack in key distribution and improving the freshness and confidentiality of the group key.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of communication technology, and in particular to a key management method and device. Background Art

[0002] In the prior art, for key management of group communication, in the initialization phase, the manager of the entire group completes the generation and distribution of the group key. The manager of the entire group uses the key negotiated with the group users to distribute the group key. After the group users receive the ciphertext of the group key, they decrypt it with the key negotiated with the manager of the entire group to obtain the group key. When the group users change dynamically, the manager of the entire group completes the update of the group key and the distribution of the group key to the group users.

[0003] However, in terms of communication security, although the existing technology has achieved that users who have just joined the group cannot obtain the group key before joining, and users who have left the group cannot obtain the group key after leaving, there are still the following two defects: the technical security is poor, the integrity and non-repudiation of the group key cannot be guaranteed, and there is a security risk of man-in-the-middle attack; the group key cannot be updated regularly, and the freshness of the group key cannot be guaranteed. In addition, in terms of communication performance, the existing technology has the defect that the administrator of the entire group has a heavy computing and communication burden. Summary of the invention

[0004] The present invention provides a key management method and device, which are used to solve the problems of poor communication security and insufficient communication performance in the key management method in the prior art. Each node independently completes the update of its own group key, and at the same time introduces a key derivation function and an encryption authentication scheme, thereby avoiding man-in-the-middle attacks in key distribution and improving the freshness, confidentiality, integrity and non-repudiation of the group key.

[0005] The present invention provides a key management method, which is applied to group communication, wherein the connection between group members adopts a tree structure, and the method comprises:

[0006] Based on a preset triggering item, a new group key is generated according to the group key when the triggering item occurs, and a random number or an identity of a newly added node in the tree structure, and the group key when the triggering item occurs is updated;

[0007] The trigger items include node joining, node leaving, preset time period, subgroup leaving and subgroup joining, and the random number is generated by the root node in the tree structure.

[0008] According to the key management method provided by the present invention, before generating a new group key based on the preset trigger item according to the group key when the trigger item occurs and a random number or an identity of a newly added node in the tree structure, and completing the update of the group key when the trigger item occurs, the method further includes:

[0009] A personal key initialization step, in which the non-leaf nodes in the tree structure generate respective seed keys and personal keys of respective child nodes, and distribute the personal keys of the respective child nodes to the respective child nodes;

[0010] The group key initialization step is to generate respective group keys by the non-leaf nodes based on respective seed keys generated by the non-leaf nodes and personal keys of respective child nodes, and distribute the group keys layer by layer to the leaf nodes of the tree structure.

[0011] According to the key management method provided by the present invention, the non-leaf nodes in the tree structure generate respective seed keys and personal keys of respective child nodes, and distribute the personal keys of the respective child nodes to the respective child nodes, specifically including:

[0012] All nodes except the root node in the tree structure perform identity authentication with their respective parent nodes and negotiate their respective session keys;

[0013] The non-leaf nodes call a random number generation function to generate their own seed keys;

[0014] Based on the identity identifier of the child node of the non-leaf node and the seed key of the non-leaf node, the non-leaf node calls a key derivation function to generate a personal key of each child node;

[0015] Based on the session key, the non-leaf nodes send the personal keys of their respective child nodes to their respective child nodes.

[0016] According to the key management method provided by the present invention, after the non-leaf nodes send the personal keys of their respective child nodes to their respective child nodes based on the session key, the method further comprises:

[0017] The child nodes of the non-leaf node verify their respective personal keys based on their respective session keys;

[0018] If the verification is successful, the child nodes of the non-leaf nodes will save their respective personal keys.

[0019] According to the key management method provided by the present invention, based on the respective seed keys generated by the non-leaf nodes and the personal keys of the respective child nodes, the non-leaf nodes generate respective group keys, and distribute them layer by layer to the leaf nodes of the tree structure, specifically including:

[0020] The root node of the tree structure calls a random number generation function to generate an initial random number value;

[0021] Based on the respective seed keys generated by the non-leaf nodes and the personal keys of the respective child nodes, the non-leaf nodes call a key derivation function to generate respective group keys;

[0022] All nodes including the root node except the leaf node and the parent node of the leaf node in the tree structure distribute the group keys and the initial random number values ​​of all nodes from the node itself to the root node to their respective child nodes;

[0023] The parent node of the leaf node in the tree structure distributes the group keys of all nodes from its own node to the root node to their respective child nodes.

[0024] According to the key management method provided by the present invention, after distributing the group keys and the initial value of the random number of all nodes from the own node to the root node, the method further includes:

[0025] The child nodes of all nodes including the root node except the leaf nodes and the parent nodes of the leaf nodes in the tree structure verify the group keys of all nodes from their own parent nodes to the root node and the initial value of the random number based on their own personal keys;

[0026] After verification is passed, the child nodes of all nodes including the root node in the tree structure except the leaf nodes and the parent nodes of the leaf nodes save the group keys and initial random number values ​​of all nodes from their own parent nodes to the root node that they have received.

[0027] According to the key management method provided by the present invention, after distributing the group keys of all nodes from the own node to the root node, the method further includes:

[0028] The leaf nodes in the tree structure verify the group keys of all nodes from the leaf node to the root node sent by the respective parent nodes based on the respective personal keys;

[0029] After verification is passed, the leaf nodes in the tree structure save the group keys of all nodes from their own nodes to the root node received from their respective parent nodes.

[0030] According to the key management method provided by the present invention, the preset trigger item is node joining. Accordingly, the method generates a new group key according to the group key when the trigger item occurs, and a random number or an identity of a newly added node in the tree structure, and completes the update of the group key when the trigger item occurs, specifically including:

[0031] The parent node of the newly added node generates a personal key of the newly added node, and sends the personal key of the newly added node to the newly added node;

[0032] Based on the group keys stored by the nodes when they join and the identity of the newly joined node, the non-leaf nodes of the tree structure call a key derivation function to update the group keys stored by themselves, and the parent node of the leaf node sends the updated group keys of all nodes from its own node to the root node to the leaf node, wherein the group keys stored by the non-leaf nodes include their own group keys;

[0033] or based on the respective group keys of the nodes when they join and the identity of the newly joined node, the non-leaf nodes of the tree structure call a key derivation function to update their respective group keys by themselves, and the non-leaf nodes distribute the updated group keys of all nodes from their own nodes to the root node to the leaf nodes of the tree structure layer by layer;

[0034] Alternatively, the nodes in the tree structure call a key derivation function to update their respective stored group keys based on the group keys stored when the nodes join and the identity of the newly joined node, and the parent node of the newly joined node sends the updated group keys of all nodes from its own node to the root node to the newly joined node.

[0035] According to the key management method provided by the present invention, the parent node of the newly added node generates a personal key of the newly added node, and sends the personal key of the newly added node to the newly added node, specifically including:

[0036] The newly joined node authenticates itself with its parent node and negotiates a session key;

[0037] Based on the identity of the newly added node and the seed key of the parent node of the newly added node, the parent node of the newly added node calls the key derivation function to generate the personal key of the newly added node;

[0038] Based on the session key, the parent node of the newly joined node sends the generated personal key of the newly joined node to the newly joined node.

[0039] According to the key management method provided by the present invention, after the parent node of the newly added node sends the generated personal key of the newly added node to the newly added node, the method further includes:

[0040] The newly joined node verifies its own personal key based on the session key;

[0041] After verification is passed, the newly joined node saves its own personal key.

[0042] According to the key management method provided by the present invention, after the non-leaf node distributes the updated group keys of all nodes from its own node to the root node to the leaf node layer by layer, the method further includes:

[0043] The nodes of the tree structure verify the updated group keys of all nodes from their own parent node to the root node that they receive;

[0044] After verification is passed, the nodes of the tree structure save the updated group keys of all nodes from their own parent node to the root node that they have received.

[0045] According to the key management method provided by the present invention, the preset trigger item is node leaving, and accordingly, generating a new group key according to the group key when the trigger item occurs, and a random number or an identity of a newly added node in the tree structure, and completing the update of the group key when the trigger item occurs, specifically includes:

[0046] Based on the respective group keys and random numbers when the nodes leave, the non-leaf nodes call a key derivation function to update their respective group keys, and the non-leaf nodes distribute the updated group keys of all nodes from their own nodes to the root node to the leaf nodes layer by layer;

[0047] Or the non-leaf nodes in the tree structure call the key derivation function to update their respective stored group keys based on the group keys and random numbers stored when the node leaves, and the parent node of the leaf node sends the updated group keys of all nodes from its own node to the root node to the leaf node.

[0048] According to the key management method provided by the present invention, after the non-leaf node distributes the updated group keys of all nodes from its own node to the root node to the leaf node layer by layer, the method further includes:

[0049] The nodes of the tree structure verify the updated group keys of all nodes from their own parent node to the root node that they receive;

[0050] After verification is passed, the nodes of the tree structure save the updated group keys of all nodes from their own parent node to the root node that they have received.

[0051] According to the key management method provided by the present invention, when the preset trigger item is a preset time period, correspondingly, generating a new group key according to the group key when the trigger item occurs, and a random number or an identity identifier of a newly added node in the tree structure, and completing the update of the group key when the trigger item occurs, specifically includes:

[0052] Based on the respective group keys and random numbers when the preset time period is reached, the non-leaf nodes call the key derivation function to update their respective group keys, and the non-leaf nodes distribute the updated group keys of all nodes from their own nodes to the root node to the leaf nodes layer by layer;

[0053] Or the non-leaf nodes in the tree structure call the key derivation function to update their respective stored group keys based on the group keys and random numbers stored when the preset time period is reached, and the parent node of the leaf node distributes the updated group keys of all nodes from its own node to the root node to the leaf node.

[0054] According to the key management method provided by the present invention, after the non-leaf node distributes the updated group keys of all nodes from its own node to the root node to the leaf node layer by layer, the method further includes:

[0055] The nodes of the tree structure verify the updated group keys of all nodes from their own parent node to the root node that they receive;

[0056] After verification is passed, the nodes of the tree structure save the updated group keys of all nodes from their own parent node to the root node that they have received.

[0057] According to the key management method provided by the present invention, the preset trigger item is the subgroup leaving. Accordingly, the method generates a new group key according to the group key when the trigger item occurs, and a random number or an identity of a newly added node in the tree structure, and completes the update of the group key when the trigger item occurs, specifically including:

[0058] The root node of the tree structure calls a random number generation function to generate a new random number, and all nodes including the root node in the tree structure except leaf nodes and parent nodes of the leaf nodes distribute the new random number to their respective child nodes;

[0059] Based on the respective group keys and new random numbers when the subgroups leave, the non-leaf nodes call a key derivation function to update their respective group keys;

[0060] The non-leaf nodes distribute the updated group keys of all nodes from their own nodes to the root node to the leaf nodes layer by layer.

[0061] According to the key management method provided by the present invention, after distributing the new random number, the method further includes:

[0062] All non-leaf nodes in the tree structure except the root node verify the new random numbers received by each node;

[0063] If the verification is successful, all non-leaf nodes in the tree structure except the root node save the new random numbers they receive.

[0064] According to the key management method provided by the present invention, after the non-leaf node distributes the updated group keys of all nodes from its own node to the root node to the leaf node layer by layer, the method further includes:

[0065] The nodes of the tree structure verify the updated group keys of all nodes from their own parent node to the root node that they receive;

[0066] After verification is passed, the nodes of the tree structure save the updated group keys of all nodes from their own parent node to the root node that they have received.

[0067] According to the key management method provided by the present invention, the preset trigger item is the joining of a subgroup. Accordingly, the method generates a new group key according to the group key when the trigger item occurs, and a random number or an identity of a newly added node in the tree structure, and completes the update of the group key when the trigger item occurs, specifically including:

[0068] The parent node of the newly joined subgroup supreme management node generates a personal key of the newly joined subgroup supreme management node, and sends the generated personal key of the newly joined subgroup supreme management node to the newly joined subgroup supreme management node;

[0069] Based on the respective group keys of the subgroups when they join and the identity of the highest management node of the newly joined subgroup, the non-leaf nodes in the tree structure call a key derivation function to update their respective group keys by themselves, and the non-leaf nodes distribute the updated group keys of all nodes from their own nodes to the root node to the leaf nodes of the tree structure layer by layer;

[0070] Or the nodes in the tree structure call the key derivation function to update the group keys stored by themselves according to the group keys stored by the nodes when the subgroups join and the identity of the highest management node of the newly joined subgroup;

[0071] The parent node of the newly added subgroup's highest management node sends the updated group key and random number of all nodes from its own node to the root node to the newly added subgroup's highest management node;

[0072] The highest management node of the newly joined subgroup initializes the personal key and group key of the newly joined subgroup.

[0073] According to the key management method provided by the present invention, the parent node of the newly joined subgroup supreme management node generates the personal key of the newly joined subgroup supreme management node, and sends the generated personal key of the newly joined subgroup supreme management node to the newly joined subgroup supreme management node, specifically comprising:

[0074] The highest management node of the newly joined subgroup performs identity authentication with its own parent node and negotiates a session key;

[0075] Based on the identity identifier of the highest management node of the newly joined subgroup, the parent node of the highest management node of the newly joined subgroup calls a key derivation function to generate a personal key of the highest management node of the newly joined subgroup;

[0076] Based on the session key, the parent node of the newly joined subgroup supreme management node sends the generated personal key of the newly joined subgroup supreme management node to the newly joined subgroup supreme management node.

[0077] According to the key management method provided by the present invention, after the parent node of the newly joined subgroup supreme management node sends the generated personal key of the newly joined subgroup supreme management node to the newly joined subgroup supreme management node, the method further comprises:

[0078] The highest management node of the newly joined subgroup verifies the personal key based on the session key;

[0079] After verification is passed, the highest management node of the newly joined subgroup will save the received personal key.

[0080] According to the key management method provided by the present invention, after the non-leaf node distributes the updated group keys of all nodes from its own node to the root node layer by layer to the leaf nodes of the tree structure, the method further includes:

[0081] The nodes of the tree structure verify the updated group keys of all nodes from their own parent node to the root node that they receive;

[0082] After verification is passed, the nodes of the tree structure save the updated group keys of all nodes from their own parent node to the root node that they have received.

[0083] According to the key management method provided by the present invention, the initialization of the personal key and the group key of the newly joined subgroup by the highest management node of the newly joined subgroup specifically includes:

[0084] The non-leaf nodes newly added to the subgroup generate their own seed keys and personal keys of their child nodes;

[0085] Based on the respective seed keys generated by the non-leaf nodes in the newly joined subgroup and the personal keys of the respective child nodes, the non-leaf nodes in the newly joined subgroup generate their own group keys, and the non-leaf nodes of the newly joined subgroup distribute the group keys of all nodes from their own nodes to the root node to the leaf nodes of the newly joined subgroup layer by layer.

[0086] According to the key management method provided by the present invention, the distribution of the personal key and the group key both use a verifiable encryption scheme.

[0087] The present invention also provides a key management device, which is applied to group communication, and the connection between group members adopts a tree structure. The device includes:

[0088] A group key updating module, configured to generate a new group key based on a preset trigger item, according to the group key when the trigger item occurs, and a random number or an identity of a newly added node in the tree structure, and complete the update of the group key when the trigger item occurs;

[0089] The trigger items include node joining, node leaving, preset time period, subgroup leaving and subgroup joining, and the random number is generated by the root node in the tree structure.

[0090] The present invention also provides an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the steps of the key management method when executing the program.

[0091] The present invention also provides a non-transitory computer-readable storage medium on which a computer program is stored. When the computer program is executed by a processor, the steps of the key management method are implemented.

[0092] The key management method and device provided by the present invention are applied to group communication. The connection between group members adopts a tree structure. Based on a preset trigger item, a new group key is generated according to the group key when the trigger item occurs, and a random number or an identity identifier of a newly added node in the tree structure, and the update of the group key when the trigger item occurs is completed; wherein the random number is used for the key update when the trigger item is a preset time period or when a group member leaves, and is generated by a root node in the tree structure; each node of the present invention independently completes the update of its own group key, avoiding man-in-the-middle attacks in key distribution, and at the same time improving the freshness, confidentiality, integrity and non-repudiation of the group key. BRIEF DESCRIPTION OF THE DRAWINGS

[0093] In order to more clearly illustrate the technical solutions in the present invention or the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0094] Figure 1 It is a flowchart of the key management method provided by the present invention;

[0095] Figure 2 This is a schematic diagram of the tree structure provided by the present invention. Figure 1 ;

[0096] Figure 3 This is a schematic diagram of the tree structure provided by the present invention. Figure 2 ;

[0097] Figure 4 This is a schematic diagram of the tree structure provided by the present invention. Figure 3 ;

[0098] Figure 5 It is a structural schematic diagram of the key management device provided by the present invention;

[0099] Figure 6 It is a structural schematic diagram of the electronic device provided by the present invention. DETAILED DESCRIPTION

[0100] In order to make the purpose, technical solution and advantages of the present invention clearer, the technical solution of the present invention will be clearly and completely described below in conjunction with the drawings of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0101] Combine the following Figure 1-Figure 6 , using embodiments to specifically describe the key management method, device, electronic device and storage medium of the present invention.

[0102] Figure 1 A schematic diagram of the key management method provided by the present invention is shown in FIG. Figure 1 As shown, the key management method provided by the present invention is applied to group communication, and the connection between group members adopts a tree structure, including:

[0103] Step S110: based on a preset triggering item, generating a new group key according to the group key when the triggering item occurs, and a random number or an identity of a newly added node in the tree structure, and completing the update of the group key when the triggering item occurs;

[0104] The trigger items include node joining, node leaving, preset time period, subgroup leaving and subgroup joining, and the random number is generated by the root node in the tree structure.

[0105] In a specific embodiment, the nodes of the tree structure correspond to group members one by one. Group members include group managers and group members. The root node in the tree structure corresponds to the highest manager of the entire group among the group managers. Each non-leaf node in the tree structure except the root node corresponds to the highest manager of the subgroup among the group managers. The leaf nodes in the tree structure correspond to the group members among the group members. Each node in the tree structure except the root node has one and only one parent node, and each node in the tree structure except the leaf node has at least one child node. The preset trigger item refers to the condition that triggers the real-time update of the group key. Once the trigger item occurs, the group key will be updated, mainly including changes in group members in the group or a preset timed update cycle. The group key is used for communication between groups. The non-leaf node is used to maintain its own personal key and group key, and store the group keys of all nodes from its own parent node to the root node.

[0106] In this embodiment, when the triggering item is node joining or subgroup joining, the non-leaf nodes in the tree structure generate their own new group keys based on their respective group keys when the triggering item occurs and the identity of the newly added node in the tree structure; when the triggering item is node leaving, subgroup leaving, or a preset time period, the non-leaf nodes in the tree structure generate their own new group keys based on their respective group keys when the triggering item occurs and a random number, wherein the random number is generated by the root node in the tree structure.

[0107] The key management method provided by the present invention completes the update of respective group keys based on preset trigger items by non-leaf nodes in the tree structure according to respective group keys when the trigger items occur; each node of the present invention independently completes the update of its own group key, avoiding man-in-the-middle attacks in key distribution, and at the same time improving the freshness, confidentiality, integrity and non-repudiation of the group key.

[0108] In a specific embodiment, according to the key management method provided by the present invention, before generating a new group key based on the preset trigger item according to the group key when the trigger item occurs and a random number or an identity of a newly added node in the tree structure, and completing the update of the group key when the trigger item occurs, the method further includes:

[0109] A personal key initialization step, in which the non-leaf nodes in the tree structure generate respective seed keys and personal keys of respective child nodes, and distribute the personal keys of the respective child nodes to the respective child nodes;

[0110] The group key initialization step is to generate respective group keys by the non-leaf nodes based on respective seed keys generated by the non-leaf nodes and personal keys of respective child nodes, and distribute the group keys layer by layer to the leaf nodes of the tree structure.

[0111] In this embodiment, the personal key is used to distribute the group key, and the leaf node stores its own personal key and the group keys of all nodes from its own parent node to the root node.

[0112] In this embodiment, personal keys and group keys are initialized for all nodes in the tree structure, and non-leaf nodes in the tree structure generate their own seed keys and personal keys of their own child nodes. Based on the respective seed keys generated by the non-leaf nodes and the personal keys of their own child nodes, the non-leaf nodes generate their own group keys, and the non-leaf nodes distribute the generated group keys layer by layer to the leaf nodes of the tree structure.

[0113] It should be emphasized that the layer-by-layer distribution in this application means starting from the root node and distributing the group keys of all nodes from its own node to the root node to its child nodes in sequence until the leaf node in the tree structure, and the distribution process ends.

[0114] The key management method provided by the present invention, by further disclosing the personal key initialization step and the group key initialization step, strongly supports the subsequent update of the group key, avoids the middleman attack in the key distribution, and improves the freshness, confidentiality, integrity and non-repudiation of the group key.

[0115] In a specific embodiment, according to the key management method provided by the present invention, the non-leaf nodes in the tree structure generate respective seed keys and personal keys of respective child nodes, and distribute the personal keys of the respective child nodes to the respective child nodes, specifically including:

[0116] All nodes except the root node in the tree structure perform identity authentication with their respective parent nodes and negotiate their respective session keys;

[0117] The non-leaf nodes call a random number generation function to generate their own seed keys;

[0118] Based on the identity identifier of the child node of the non-leaf node and the seed key of the non-leaf node, the non-leaf node calls a key derivation function to generate a personal key of each child node;

[0119] Based on the session key, the non-leaf nodes send the personal keys of their respective child nodes to their respective child nodes.

[0120] In this embodiment, all nodes except the root node in the tree structure perform identity authentication with their respective parent nodes and negotiate their respective session keys; the non-leaf nodes call the random number generation function PRF (Pseudorandom Functions) to generate their respective seed keys, wherein the random number generation function PRF includes but is not limited to a noise chip, a pseudo-random number generator and sampling; based on the identity identifier of the child node of the non-leaf node and the seed key of the non-leaf node, the non-leaf nodes call the key derive function KDF (Key Derive Functions) to generate the personal keys of their respective child nodes, wherein the key derive function KDF includes but is not limited to a HASH function, an HMAC function, a symmetric encryption algorithm, an asymmetric encryption algorithm, and a pseudo-random number generator, and the present invention does not make specific restrictions; the non-leaf nodes call the encryption authentication function CE-Enc() to encrypt and authenticate the personal keys of their respective child nodes according to the session keys negotiated with their respective child nodes to generate the ciphertext C and commitment value T of the personal keys of their respective child nodes, and send the ciphertext C and commitment value T to their respective child nodes. In addition, the personal key of the root node in the tree structure is generated by calling a random number generation function PRF, or by calling a key derivation function KDF according to its own seed key and identity.

[0121] The key management method provided by the present invention, by further disclosing the specific implementation path of the personal key initialization step, strongly supports the subsequent update of the group key, avoids the middleman attack in the key distribution, and improves the freshness, confidentiality, integrity and non-repudiation of the group key.

[0122] In a specific embodiment, according to the key management method provided by the present invention, after the non-leaf nodes send the personal keys of their respective child nodes to their respective child nodes based on the session key, the method further includes:

[0123] The child nodes of the non-leaf node verify their respective personal keys based on their respective session keys;

[0124] If the verification is successful, the child nodes of the non-leaf nodes will save their respective personal keys.

[0125] In this embodiment, the child nodes of non-leaf nodes call the encryption authentication function CE-Dec() to generate the plaintext M of the child node's personal key according to their respective session keys and the received ciphertext C and commitment value T of the personal key, and call the encryption authentication function CE-Ver() to verify the integrity and authenticity of the plaintext M of their respective personal keys according to their respective session keys, plaintext M and commitment value T; if the verification is successful, the child nodes of the non-leaf nodes save their respective personal keys; if the verification fails, the child nodes of the non-leaf nodes generate a key error message and send it to their respective parent nodes.

[0126] The key management method provided by the present invention improves the security of the personal key by further disclosing the verification step of the personal key in the personal key initialization step, and strongly supports the confidentiality, integrity and non-repudiation of the group key.

[0127] In order to better illustrate the personal key initialization step, in this embodiment, assuming that the tree structure height is h, and h is a positive integer greater than or equal to 2, the entire process steps of the personal key initialization step include: the nodes with a height of 2 to a height of h perform identity authentication with their respective corresponding parent nodes and negotiate their respective session keys; the nodes with a height of 1 to a height of h-1 call the random number generation function PRF (Pseudorandom Functions) to generate their respective seed keys; the nodes with a height of 1 to a height of h-1 call the key derivation function KDF (KeyDerive Functions) calculate the personal keys of their respective child nodes; nodes with heights of 1 to h-1 call encryption authentication function CE-Enc() to generate ciphertext C and commitment value T of their respective child node personal keys according to the session keys negotiated with their respective child nodes and the personal keys of their respective child nodes, and distribute the corresponding ciphertext C and commitment value T of the child node personal keys to their respective child nodes; the respective child nodes of nodes with heights of 1 to h-1 call encryption authentication function CE-Dec() to generate plaintext M of their respective personal keys based on their respective session keys and the received ciphertext C and commitment value T of their respective personal keys, and call encryption authentication function CE-Ver() to verify the integrity and authenticity of their respective personal keys according to their respective session keys, the plaintext M of their respective personal keys and the commitment value T; if the verification is successful, the child nodes of non-leaf nodes save their respective personal keys; if the verification fails, the child nodes of non-leaf nodes generate key error messages and send them to their respective parent nodes.

[0128] To better illustrate the personal key initialization steps. In this embodiment, Figure 2 This is a schematic diagram of the tree structure provided by the present invention. Figure 1 ,like Figure 2 As shown, take the tree structure height as 4 and set:

[0129] u 1,1 Indicates that the first user in the first layer is the manager of the entire group;

[0130] u x,y represents the yth user at the xth layer;

[0131] ID x,y Indicates u x,y Identification of the

[0132] k x,y Indicates u x,y Personal key;

[0133] gk x,y Indicates u x,y the group key maintained;

[0134] sk x,y Indicates u x,y The session key negotiated with its parent node;

[0135] Represents the group key gk x,y After updating the state z times, the z values ​​of different nodes can be the same or different;

[0136] GK: all group keys from the root node to a certain node;

[0137] CE-Enc(k,m) means using key k to perform verifiable encryption on message m to generate ciphertext C and commitment value T; CE-Enc() can be encrypted using a symmetric encryption algorithm or an asymmetric encryption algorithm, and the commitment value can be a symmetric algorithm, HASH, an asymmetric algorithm, encoding, etc., which is not specifically limited in the present invention.

[0138] CE-Dec(k,C,T) means using key k to perform decryptability verification on ciphertext C and commitment value T; CE-Dec() corresponds to CE-Enc(), and the algorithm corresponding to CE-Enc() is used for decryption verification.

[0139] CE-Ver(k,m,T) means using key k and commitment value T to verify the integrity and authenticity of message m; CE-Ver() corresponds to CE-Enc() and uses the algorithm corresponding to CE-Enc() for verification.

[0140] h represents the height of the key tree;

[0141] ⊕ represents the exclusive OR operation;

[0142] || represents a join operation;

[0143] s x,y Indicates u x,y The seed key of

[0144] u childrenix,y Indicates u x,y The i-th child node of ;

[0145] t represents the key update mark, when the key is updated, t = t + random number;

[0146] r represents u 1,1 The generated random number is used to update the key when the user leaves or to update the key at a scheduled time.

[0147] The above settings are applicable to all embodiments in this application and will not be repeated in other embodiments.

[0148] The overall process steps of the personal key initialization step include:

[0149] 1. Node u 2,1 ~u 4,10 Authenticate with their respective parent nodes and negotiate their respective session keys sk 2,1 ~sk 4,10 .

[0150] 2. Node u 1,1 ~u 3,4 Call the random number generation function PRF() to generate the respective seed key s 1,1 ~s 3,4 =PRF().

[0151] 3. Node u 1,1 ~u 3,4 Calculate the respective child nodes u 2,1 ~u 4,10 The personal key k 2,1 ~k 4,10 . Take node u 1,1 Calculate its own child node u 2,1 The personal key k 2,1 For example, node u 1,1 According to its own child node u 2,1 ID 2,1 , your own seed key 1,1 Call the key derivation function KDF to generate its own child node u 2,1 The personal key k 2,1 , k 2,1 =KDF(ID 2,1 ,s 1,1 ). Node u 2,2 ~u 4,10 The personal key k 2,2 ~k 4,10 The calculation method is similar to this:

[0152] k 2,2 =KDF(ID 2,2 ,s 1,1 );

[0153] k 3,1 =KDF(ID 3,1 ,s 2,1 );

[0154] k 3,2 =KDF(ID 3,2 ,s 2,1 );

[0155] k 3,3 =KDF(ID 3,3,s 2,2 );

[0156] k 3,4 =KDF(ID 3,4 ,s 2,2 );

[0157] k 4,1 =KDF(ID 4,1 ,s 3,1 );

[0158] k 4,2 =KDF(ID 4,2 ,s 3,1 );

[0159] k 4,3 =KDF(ID 4,3 ,s 3,1 );

[0160] k 4,4 =KDF(ID 4,4 ,s 3,2 );

[0161] k 4,5 =KDF(ID 4,5 ,s 3,2 );

[0162] k 4,6 =KDF(ID 4,6 ,s 3,2 );

[0163] k 4,7 =KDF(ID 4,7 ,s 3,3 );

[0164] k 4,8 =KDF(ID 4,8 ,s 3,3 );

[0165] k 4,9 =KDF(ID 4,9 ,s 3,4 );

[0166] k 4,10 =KDF(ID 4,10 ,s 3,4 ).

[0167] 4. Node u 1,1 ~u 3,4 To their respective child nodes u 2,1 ~u 4,10 Distribute the corresponding personal key k 2,1 ~k 4,10. Take node u 1,1 To its child node u 2,1 Distribute personal key k 2,1 For example, node u 1,1 According to its own child node u 2,1 The negotiated session key sk 2,1 、own child node u 2,1 The personal key k 2,1 , call the encryption authentication function CE-Enc() to generate the personal key k 2,1 The ciphertext C 2,1 and commitment value T 2,1 , and C 2,1 and commitment value T 2,1 Send to its own child node u 2,1 ,u 1,1 →u 2,1 :C 2,1 ||T 2,1 =CE-Enc(sk 2,1 , k 2,1 ). Node u 1,1 ~u 3,4 Repeat the process:

[0168] u 1,1 →u 2,2 :C 2,2 ||T 2,2 =CE-Enc(sk 2,2 , k 2,2 );

[0169] u 2,1 →u 3,1 :C 3,1 ||T 3,1 =CE-Enc(sk 3,1 , k 3,1 );

[0170] u 2,1 →u 3,2 :C 3,2 ||T 3,2 =CE-Enc(sk 3,2 , k 3,2 );

[0171] u 2,2 →u 3,3 :C 3,3 ||T 3,3 =CE-Enc(sk 3,3 , k 3,3 );

[0172] u 2,2 →u 3,4 :C3,4 ||T 3,4 =CE-Enc(sk 3,4 ,k 3,4 );

[0173] u 3,1 →u 4,1 :C 4,1 ||T 4,1 =CE-Enc(sk 4,1 ,k 4,1 );

[0174] u 3,1 →u 4,2 :C 4,2 ||T 4,2 =CE-Enc(sk 4,2 ,k 4,2 );

[0175] u 3,1 →u 4,3 :C 4,3 ||T 4,3 =CE-Enc(sk 4,3 ,k 4,3 );

[0176] u 3,2 →u 4,4 :C 4,4 ||T 4,4 =CE-Enc(sk 4,4 ,k 4,4 );

[0177] u 3,2 →u 4,5 :C 4,5 ||T 4,5 =CE-Enc(sk 4,5 ,k 4,5 );

[0178] u 3,2 →u 4,6 :C 4,6 ||T 4,6 =CE-Enc(sk 4,6 ,k 4,6 );

[0179] u 3,3 →u 4,7 :C 4,7 ||T 4,7 =CE-Enc(sk 4,7 ,k 4,7 );

[0180] u 3,3 →u4,8 :C 4,8 ||T 4,8 =CE-Enc(sk 4,8 , k 4,8 );

[0181] u 3,4 →u 4,9 :C 4,9 ||T 4,9 =CE-Enc(sk 4,9 , k 4,9 );

[0182] u 3,4 →u 4,10 :C 4,10 ||T 4,10 =CE-Enc(sk 4,10 , k 4,10 ).

[0183] 5. Node u 2,1 ~u 4,10 For personal key k 2,1 ~k 4,10 Verify integrity and authenticity. 2,1 For personal key k 2,1 For example, the node u 2,1 According to the session key sk 2,1 , the personal key k received in step 4 2,1 The ciphertext C 2,1 and commitment value T 2,1 Call the encryption authentication function CE-Dec() to generate the personal key k 2,1 The plaintext M 2,1 ,u 2,1 :M 2,1 =CE-Dec(sk 2,1 , C 2,1 , T 2,1 ), based on the session key sk 2,1 , personal key k 2,1 The plaintext M 2,1 , Commitment value T 2,1 Call the encryption authentication function CE-Ver() to the personal key k 2,1 Perform integrity and authenticity verification, u 2,1 :CE-Ver(sk 2,1 , M 2,1 , T 2,1 ). If the verification passes, u 2,1 The personal key k 2,1 Save. If verification fails, 2,1 Generate key error message sent to u1,1 Node u 2,2 ~u 4,10 Perform the same operation:

[0184] u 2,2 : M 2,2 = CE-Dec(sk 2,2 , C 2,2 , T 2,2 );

[0185] u 2,2 : CE-Ver(sk 2,2 , M 2,2 , T 2,2 );

[0186] u 3,1 : M 3,1 = CE-Dec(sk 3,1 , C 3,1 , T 3,1 );

[0187] u 3,1 : CE-Ver(sk 3,1 , M 3,1 , T 3,1 );

[0188] u 3,2 : M 3,2 = CE-Dec(sk 3,2 , C 3,2 , T 3,2 );

[0189] u 3,2 : CE-Ver(sk 3,2 , M 3,2 , T 3,2 );

[0190] u 3,3 : M 3,3 = CE-Dec(sk 3,3 , C 3,3 , T 3,3 );

[0191] u 3,3 : CE-Ver(sk 3,3 , M 3,3 , T 3,3 );

[0192] u 3,4 : M 3,4 = CE-Dec(sk 3,4 , C 3,4 , T 3,4 );

[0193] u 3,4 :CE-Ver(sk 3,4 ,M 3,4 ,T 3,4 );

[0194] u 4,1 :M 4,1 =CE-Dec(sk 4,1 ,C 4,1 ,T 4,1 );

[0195] u 4,1 :CE-Ver(sk 4,1 ,M 4,1 ,T 4,1 );

[0196] u 4,2 :M 4,2 =CE-Dec(sk 4,2 ,C 4,2 ,T 4,2 );

[0197] u 4,2 :CE-Ver(sk 4,2 ,M 4,2 ,T 4,2 );

[0198] u 4,3 :M 4,3 =CE-Dec(sk 4,3 ,C 4,3 ,T 4,3 );

[0199] u 4,3 :CE-Ver(sk 4,3 ,M 4,3 ,T 4,3 );

[0200] u 4,4 :M 4,4 =CE-Dec(sk 4,4 ,C 4,4 ,T 4,4 );

[0201] u 4,4 :CE-Ver(sk 4,4 ,M 4,4 ,T 4,4 );

[0202] u 4,5 :M 4,5 =CE-Dec(sk 4,5 ,C 4,5 ,T4,5 );

[0203] u 4,5 :CE-Ver(sk 4,5 ,M 4,5 ,T 4,5 );

[0204] u 4,6 :M 4,6 =CE-Dec(sk 4,6 ,C 4,6 ,T 4,6 );

[0205] u 4,6 :CE-Ver(sk 4,6 ,M 4,6 ,T 4,6 );

[0206] u 4,7 :M 4,7 =CE-Dec(sk 4,7 ,C 4,7 ,T 4,7 );

[0207] u 4,7 :CE-Ver(sk 4,7 ,M 4,7 ,T 4,7 );

[0208] u 4,8 :M 4,8 =CE-Dec(sk 4,8 ,C 4,8 ,T 4,8 );

[0209] u 4,8 :CE-Ver(sk 4,8 ,M 4,8 ,T 4,8 );

[0210] u 4,9 :M 4,9 =CE-Dec(sk 4,9 ,C 4,9 ,T 4,9 );

[0211] u 4,9 :CE-Ver(sk 4,9 ,M 4,9 ,T 4,9 );

[0212] u 4,10 :M 4,10 =CE-Dec(sk4,10 , C 4,10 , T 4,10 );

[0213] u 4,10 :CE-Ver(sk 4,10 , M 4,10 , T 4,10 ).

[0214] In a specific embodiment, according to the key management method provided by the present invention, the non-leaf nodes generate respective group keys based on respective seed keys generated by the non-leaf nodes and personal keys of respective child nodes, and distribute the group keys layer by layer to the leaf nodes of the tree structure, specifically including:

[0215] The root node of the tree structure calls a random number generation function to generate an initial random number value;

[0216] Based on the respective seed keys generated by the non-leaf nodes and the personal keys of the respective child nodes, the non-leaf nodes call a key derivation function to generate respective group keys;

[0217] All nodes including the root node except the leaf node and the parent node of the leaf node in the tree structure distribute the group keys and the initial random number values ​​of all nodes from the node itself to the root node to their respective child nodes;

[0218] The parent node of the leaf node in the tree structure distributes the group keys of all nodes from its own node to the root node to their respective child nodes.

[0219] In this embodiment, the root node of the tree structure calls a random number generation function PRF to generate an initial random number value; based on the respective seed keys generated by the non-leaf nodes and the personal keys of the respective child nodes, the non-leaf nodes call the key derivation function KDF to generate their respective group keys; all nodes including the root node except the leaf nodes and the parent nodes of the leaf nodes in the tree structure call the encryption authentication function CE-Enc() to encrypt and authenticate the group keys and initial random number values ​​of all nodes according to the personal keys of their respective children, the group keys of all nodes from their own nodes to the root node, and the initial random number values, generate the ciphertext C and commitment value T of the group keys and initial random number values ​​of all nodes, and send the ciphertext C and commitment value T of the group keys and initial random number values ​​of all nodes to their respective child nodes; the parent nodes of the leaf nodes in the tree structure call the encryption authentication function CE-Enc() to encrypt and authenticate the group keys of all nodes from their own nodes to the root node according to the personal keys of their respective child nodes, generate the ciphertext C and commitment value T of the group keys of all nodes from their own nodes to the root node, and send the ciphertext C and commitment value T to their respective child nodes.

[0220] The key management method provided by the present invention, by further disclosing the specific implementation path of the group key initialization step, strongly supports the subsequent update of the group key, avoids the middleman attack in the key distribution, and improves the freshness, confidentiality, integrity and non-repudiation of the group key.

[0221] In a specific embodiment, according to the key management method provided by the present invention, after distributing the group keys and the initial value of the random number of all nodes from the own node to the root node, the method further includes:

[0222] The child nodes of all nodes including the root node except the leaf nodes and the parent nodes of the leaf nodes in the tree structure verify the group keys of all nodes from their own parent nodes to the root node and the initial value of the random number based on their own personal keys;

[0223] After verification is passed, the child nodes of all nodes including the root node in the tree structure except the leaf nodes and the parent nodes of the leaf nodes save the group keys and initial random number values ​​of all nodes from their own parent nodes to the root node that they have received.

[0224] In this embodiment, the child nodes of all nodes including the root node in the tree structure except the leaf nodes and the parent nodes of the leaf nodes call the encryption authentication function CE-Dec() to generate the group key of all nodes from their own parent node to the root node and the plaintext M of the random number initial state value based on their own personal keys and the received group key of all nodes from their own parent node to the root node and the ciphertext C and commitment value T of the random number initial state value, and call the encryption authentication function CE-Ver() to verify the group key and the random number initial state value of all nodes from their own parent node to the root node based on their own personal keys, the plaintext M and the commitment value T; after the verification is passed, the child nodes of all nodes including the root node in the tree structure except the leaf nodes and the parent nodes of the leaf nodes save the group key and the random number initial state value of all nodes from their own parent node to the root node that they have received.

[0225] The key management method provided by the present invention improves the security of the group key by further disclosing the verification step of the child nodes of all nodes including the root node in the tree structure except the leaf node and the parent node of the leaf node in the group key initialization step for the group keys and initial values ​​of random numbers received by each of them from their own parent node to the root node, thereby strongly supporting the confidentiality, integrity and non-repudiation of the group key.

[0226] In a specific embodiment, according to the key management method provided by the present invention, after distributing the group keys of all nodes from the own node to the root node, the method further includes:

[0227] The leaf nodes in the tree structure verify the group keys of all nodes from the leaf node to the root node sent by the respective parent nodes based on the respective personal keys;

[0228] After verification is passed, the leaf nodes in the tree structure save the group keys of all nodes from their own nodes to the root node received from their respective parent nodes.

[0229] In this embodiment, the leaf nodes in the tree structure call the encryption authentication function CE-Dec() to generate the plaintext M of the group key of all nodes from their own node to the root node based on their own personal keys, the ciphertext C of the group key of all nodes from their own node to the root node sent by their own parent nodes, and the commitment value T, and call the encryption authentication function CE-Ver() to verify the group key of all nodes from their own node to the root node sent by their own parent nodes based on their own personal keys, the plaintext M and the commitment value T; if the verification is successful, the leaf nodes in the tree structure save the group key of all nodes from their own node to the root node sent by their own parent nodes; if the verification fails, the leaf nodes in the tree structure generate a key error message and send it to their own parent nodes.

[0230] The key management method provided by the present invention improves the security of the group key by further disclosing the verification step of the leaf nodes in the tree structure receiving the group keys of all nodes from their own nodes to the root node sent by their respective parent nodes in the group key initialization step, and strongly supports the confidentiality, integrity and non-repudiation of the group key.

[0231] In order to better illustrate the group key initialization step, in this embodiment, assuming that the tree structure height is h, and h is a positive integer greater than or equal to 2, the overall process steps of the group key initialization step include: the root node in the key tree structure calls the random number generation function PRF to generate a random number initial state value; the nodes with a height of 1 to a height of h-1 call the key derivation function KDF to generate their own group keys according to their own seed keys and the personal keys of their own child nodes; the nodes with a height of 1 to a height of h-2 distribute the group keys and the random number initial state values ​​of all nodes from their own nodes to the root node to their own child nodes, specifically including: the nodes with a height of 1 to a height of h-2 call the key derivation function KDF to generate their own group keys according to the personal keys of their own child nodes and the personal keys of their own child nodes. The group key and random number initial state value of all nodes from their own node to the root node are generated by calling the encryption authentication function CE-Enc() to generate the ciphertext C and commitment value T of the group key and random number initial state value of all nodes from their own node to the root node, and the corresponding ciphertext C and commitment value T of the group key and random number initial state value of all nodes from their own node to the root node are distributed to their child nodes; the child nodes of the nodes with a height of 1 to a height of h-2 respectively verify the integrity and authenticity of the group key and random number initial state value of all nodes from their respective parent nodes to the root node based on their respective personal keys, specifically including: the root nodes of the respective child nodes of the nodes with a height of 1 to a height of h-2 According to their respective personal keys and the received group keys of all nodes from their respective parent nodes to the root node and the ciphertext C and commitment value T of the random number initial state value, the encryption authentication function CE-Dec() is called to generate the group keys of all nodes from their respective parent nodes to the root node and the plaintext M of the random number initial state value. According to their respective personal keys, plaintext M and commitment value T, the encryption authentication function CE-Ver() is called to verify the integrity and authenticity of the group keys and random number initial state values ​​of all nodes from their respective parent nodes to the root node. If the verification passes, the respective child nodes of the nodes with a height of 1 to a height of h-2 will protect the group keys and random number initial state values ​​of all nodes from their respective parent nodes to the root node. If the verification fails, the respective child nodes of the nodes with a height of 1 to a height of h-2 generate a key error message and send it to their respective parent nodes; the nodes with a height of h-1 distribute the group keys of all nodes from their own nodes to the root node to their respective child nodes, specifically including: the nodes with a height of h-1 call the encryption authentication function CE-Enc() to encrypt and authenticate the group keys of all nodes from their own nodes to the root node according to the personal keys of their respective child nodes, generate the ciphertext C and commitment value T of the group keys of all nodes from their own nodes to the root node, and send the ciphertext C and commitment value T of the group keys of all nodes from their own nodes to the root node to their respective child nodes;The respective child nodes of the node with a height of h-1 perform integrity and authenticity verification on the group keys of all nodes from the respective parent node to the root node, specifically including: the respective child nodes of the node with a height of h-1 call the encryption authentication function CE-Dec() to generate the plaintext M of the group keys of all nodes from the respective parent node to the root node according to the respective personal keys and the received ciphertext C and commitment value T of the group keys of all nodes from the respective parent node to the root node, and call the encryption authentication function CE-Ver() to perform integrity and authenticity verification on the group keys of all nodes from the respective parent node to the root node according to the respective personal keys, the plaintext M of the group keys of all nodes from the respective parent node to the root node and the commitment value T. If the verification is passed, the respective child nodes of the node with a height of h-1 save the group keys of all nodes from the respective parent node to the root node, and if the verification is not passed, the respective child nodes of the node with a height of h-1 generate a key error message and send it to the respective parent node. ;

[0232] In order to better illustrate the group key initialization steps. In this embodiment, Figure 2 This is a schematic diagram of the tree structure provided by the present invention. Figure 1 ,like Figure 2 As shown, the tree structure height is 4, and the same settings as above are taken. The overall process steps of the group key initialization step specifically include:

[0233] 1. The highest management node u 1,1 Call the random number generation function PRF to generate the random number initial value r 0 =PRF().

[0234] 2. Node u 1,1 ~u 3,4 Calculate the group key

[0235] Take node u 1,1 Calculate the group key For example, node u 1,1 According to the seed key s 1,1 , the child node's personal key k 2,1 , k 2,2 , call the KDF function to generate the group key Node u 2,1 ~u 3,4 Do the same:

[0236]

[0237] 3. Node u 1,1 ~u 2,2 To child node u 2,1 ~u3,4 Distribute the group key GK and the initial random number value r 0 .

[0238] Take node u 1,1 To child node u 2,1 Distribute group keys And the initial value of the random number r 0 For example, node u 1,1 According to the child node u 2,1 The personal key k 2,1 , Group Key And the initial value of the random number r 0 Call the encryption authentication function CE-Enc() to generate the group key And the initial value of the random number r 0 The ciphertext C 2,1 and commitment value T 2,1 , and the ciphertext C 2,1 and commitment value T 2,1 Send to child nodes Node u 1,1 ~u 3,4 Do the same:

[0239]

[0240] 4. Node u 2,1 ~u 3,4 For the group key GK and the initial random number r 0 Perform integrity and authenticity verification.

[0241] Take node u 2,1 Group Key And the initial value of the random number r 0 For example, the node u 2,1 According to the personal key k 2,1 and the group key received in step 3 And the initial value of the random number r 0 The ciphertext C 2,1 and commitment value T 2,1 Call the encryption authentication function CE-Dec() to generate the group key And the initial value of the random number r 0 The plaintext M 2,1 ,u 2,1 :M 2,1 =CE-Dec(k 2,1 , C 2,1 , T 2,1 ), according to the personal key k 2,1 、Plain text M 2,1 , Commitment value T 2,1Call the encryption authentication function CE-Ver() to encrypt the group key And the initial value of the random number r 0 Perform integrity and authenticity verification, u 2,1 :CE-Ver(k 2,1 , M 2,1 , T 2,1 ). If the verification is successful, u 2,1 The group key And the initial value of the random number r 0 Save. If verification fails, 2,1 Generate key error message sent to u 1,1 Node u 2,2 ~u 3,4 Do the same:

[0242] u 2,2 :M 2,2 =CE-Dec(k 2,2 , C 2,2 , T 2,2 );

[0243] u 2,2 :CE-Ver(k 2,2 , M 2,2 , T 2,2 );

[0244] u 3,1 :M 3,1 =CE-Dec(k 3,1 , C 3,1 , T 3,1 );

[0245] u 3,1 :CE-Ver(k 3,1 , M 3,1 , T 3,1 );

[0246] u 3,2 :M 3,2 =CE-Dec(k 3,2 , C 3,2 , T 3,2 );

[0247] u 3,2 :CE-Ver(k 3,2 , M 3,2 , T 3,2 );

[0248] u 3,3 :M 3,3 =CE-Dec(k 3,3 , C 3,3 , T 3,3);

[0249] u 3,3 :CE-Ver(k 3,3 , M 3,3 , T 3,3 );

[0250] u 3,4 :M 3,4 =CE-Dec(k 3,4 , C 3,4 , T 3,4 );

[0251] u 3,4 :CE-Ver(k 3,4 , M 3,4 , T 3,4 ).

[0252] 5. Node u 3,1 ~u 3,4 To child node u 4,1 ~u 4,10 Distribute the group key GK.

[0253] Take node u 3,1 To child node u 4,1 Distribute group keys For example, node u 3,1 According to the child node u 4,1 The personal key k 4,1 , Group Key Call the encryption authentication function CE-Enc() to generate the ciphertext C 4,1 and commitment value T 4,1 , and the ciphertext C 4,1 and commitment value T 4,1 Send to child nodes Node u 3,1 ~u 3,4 Do the same:

[0254]

[0255]

[0256] 6. Node u 4,1 ~u 4,10 Verify the integrity and authenticity of the group key GK.

[0257] Take node u 4,1 For personal key k 4,1 , Group Key For example, the node u 4,1 According to the personal key k4,1 and the group key received in step 5 The ciphertext C 4,1 and commitment value T 4,1 Call the encryption authentication function CE-Dec() to generate the group key The plaintext M 4,1 ,u 4,1 :M 4,1 =CE-Dec(k 4,1 , C 4,1 , T 4,1 ), according to the personal key k 4,1 , Group Key The plaintext M 4,1 , Commitment value T 4,1 Call the encryption authentication function CE-Ver() to encrypt the group key Perform integrity and authenticity verification, u 4,1 :CE-Ver(k 4,1 , M 4,1 , T 4,1 ). If the verification is successful, u 4,1 The group key Save. If verification fails, 4,1 Generate key error message sent to u 3,1 Node u 4,2 ~u 4,10 Do the same:

[0258] u 4,2 :M 4,2 =CE-Dec(k 4,2 , C 4,2 , T 4,2 );

[0259] u 4,2 :CE-Ver(k 4,2 , M 4,2 , T 4,2 );

[0260] u 4,3 :M 4,3 =CE-Dec(k 4,3 , C 4,3 , T 4,3 );

[0261] u 4,3 :CE-Ver(k 4,3 , M 4,3 , T 4,3 );

[0262] u 4,4 :M 4,4 =CE-Dec(k4,4 ,C 4,4 ,T 4,4 );

[0263] u 4,4 :CE-Ver(k 4,4 ,M 4,4 ,T 4,4 );

[0264] u 4,5 :M 4,5 =CE-Dec(k 4,5 ,C 4,5 ,T 4,5 );

[0265] u 4,5 :CE-Ver(k 4,5 ,M 4,5 ,T 4,5 );

[0266] u 4,6 :M 4,6 =CE-Dec(k 4,6 ,C 4,6 ,T 4,6 );

[0267] u 4,6 :CE-Ver(k 4,6 ,M 4,6 ,T 4,6 );

[0268] u 4,7 :M 4,7 =CE-Dec(k 4,7 ,C 4,7 ,T 4,7 );

[0269] u 4,7 :CE-Ver(k 4,7 ,M 4,7 ,T 4,7 );

[0270] u 4,8 :M 4,8 =CE-Dec(k 4,8 ,C 4,8 ,T 4,8 );

[0271] u 4,8 :CE-Ver(k 4,8 ,M 4,8 ,T 4,8 );

[0272] u 4,9 :M4,9 =CE-Dec(k 4,9 , C 4,9 , T 4,9 );

[0273] u 4,9 :CE-Ver(k 4,9 , M 4,9 , T 4,9 );

[0274] u 4,10 :M 4,10 =CE-Dec(k 4,10 , C 4,10 , T 4,10 );

[0275] u 4,10 :CE-Ver(k 4,10 , M 4,10 , T 4,10 ).

[0276] In a specific embodiment, according to the key management method provided by the present invention, the preset trigger item is node joining, and accordingly, generating a new group key according to the group key when the trigger item occurs and a random number or an identity of a newly added node in the tree structure, and completing the update of the group key when the trigger item occurs, specifically includes:

[0277] The parent node of the newly added node generates a personal key of the newly added node, and sends the personal key of the newly added node to the newly added node;

[0278] Based on the group keys stored by the nodes when they join and the identity of the newly joined node, the non-leaf nodes of the tree structure call a key derivation function to update the group keys stored by themselves, and the parent node of the leaf node sends the updated group keys of all nodes from its own node to the root node to the leaf node, wherein the group keys stored by the non-leaf nodes include their own group keys;

[0279] or based on the respective group keys of the nodes when they join and the identity of the newly joined node, the non-leaf nodes of the tree structure call a key derivation function to update their respective group keys by themselves, and the non-leaf nodes distribute the updated group keys of all nodes from their own nodes to the root node to the leaf nodes of the tree structure layer by layer;

[0280] Alternatively, the nodes in the tree structure call a key derivation function to update their respective stored group keys based on the group keys stored when the nodes join and the identity of the newly joined node, and the parent node of the newly joined node sends the updated group keys of all nodes from its own node to the root node to the newly joined node.

[0281] In this embodiment, the newly added node is a leaf node in the tree structure by default. If the newly added node is a non-leaf node in the tree structure, it is processed as a subgroup addition.

[0282] In this embodiment, first, the parent node of the newly added node generates a personal key of the newly added node, and sends the generated personal key of the newly added node to the newly added node; then, the group key of the tree structure is updated. At this time, there are three update paths, including:

[0283] The first node joins the group key update path. Based on the group keys stored by each node when joining and the identity of the newly joined node, the non-leaf nodes of the tree structure call the key derivation function to update the group keys stored by each node, and the parent node of the leaf node sends the updated group keys of all nodes from its own node to the root node to the leaf node including the newly joined node, wherein the group keys stored by each non-leaf node include their own group keys.

[0284] The second node joins the group key update path. Based on the group key of each node when joining and the identity of the newly joined node, the non-leaf nodes of the tree structure call the key derivation function to update their own group keys. The non-leaf nodes distribute the updated group keys of all nodes from their own nodes to the root node to the leaf nodes of the tree structure including the newly joined node layer by layer.

[0285] The third node joining group key update path is that the nodes in the tree structure call the key derivation function to update their own stored group keys based on the group keys stored when the nodes join and the identity of the newly joined node. Because the newly joined node cannot generate the group key by itself, the parent node of the newly joined node sends the updated group keys of all nodes from its own node to the root node to the newly joined node to complete the update of the group key of the entire tree structure.

[0286] In this embodiment, the first group key update path is taken as an example for expansion. The non-leaf nodes in the tree structure call the key derivation function KDF to generate a new group key according to the original group keys stored when the nodes join, the identity of the newly joined node and / or the key update mark; the parent node of the newly joined node calls the encryption authentication function CE-Enc() according to the personal key of the newly joined node to encrypt and authenticate the group keys of all nodes from the parent node of the newly joined node to the root node, generate the ciphertext C and commitment value T of the group keys of all nodes from the parent node of the newly joined node to the root node, and send the ciphertext C and commitment value T of the group keys of all nodes from the parent node of the newly joined node to the root node to the newly joined node. Among them, the key update mark is used to mark the key update, which is generally expressed by the number of key updates, but is not limited to the number of key updates. When generating the group key, the key update mark is an optional parameter, not a required parameter; when the node changes, the key update mark is updated by adding a random number to the original key update mark value. The key update marks of different nodes can be the same or different, and the present invention does not limit it.

[0287] That is to say, when the preset trigger item is node joining, the group key for the group relationship that has changed must be updated, and other group keys that have not changed can be updated or not, and the present invention does not limit this. The new group key can be generated by each node calling the key derivation function; the new group key can also be generated by a non-leaf node and distributed to the leaf nodes of the tree structure layer by layer; the new group key can also be generated by a non-leaf node and distributed to the leaf nodes of the tree structure by the parent node of the leaf node; the group key can also be updated by a combination of the above methods, and the present invention does not limit this.

[0288] The key management method provided by the present invention further discloses the preset trigger item as the update step of the group key when the node joins, further illustrates the process of each node independently completing the update of its own group key, and improves the security and confidentiality of the group key.

[0289] In a specific embodiment, according to the key management method provided by the present invention, the parent node of the newly added node generates a personal key of the newly added node, and sends the personal key of the newly added node to the newly added node, specifically including:

[0290] The newly joined node authenticates itself with its parent node and negotiates a session key;

[0291] Based on the identity of the newly added node and the seed key of the parent node of the newly added node, the parent node of the newly added node calls the key derivation function to generate the personal key of the newly added node;

[0292] Based on the session key, the parent node of the newly joined node sends the generated personal key of the newly joined node to the newly joined node.

[0293] In this embodiment, the newly joined node performs identity authentication with its own parent node and negotiates a session key; the parent node of the newly joined node calls the key derivation function KDF to generate a personal key of the newly joined node based on the identity of the newly joined node and its own seed key; the parent node of the newly joined node calls the encryption authentication function CE-Enc() to generate the ciphertext C and commitment value T of the personal key of the newly joined node based on the session key negotiated with the child node, i.e., the newly joined node, and the personal key of the newly joined node, and sends the ciphertext C and commitment value T of the personal key of the newly joined node to the newly joined node.

[0294] The key management method provided by the present invention provides support for each subsequent node to independently complete its own group key update by further publicly setting a preset trigger item as the step of generating the personal key of the newly added node in the group key update when the node joins, thereby improving the security and confidentiality of the group key.

[0295] In a specific embodiment, according to the key management method provided by the present invention, after the parent node of the newly added node sends the generated personal key of the newly added node to the newly added node, the method further includes:

[0296] The newly joined node verifies its own personal key based on the session key;

[0297] After verification is passed, the newly joined node saves its own personal key.

[0298] In this embodiment, the newly joined node calls the encryption authentication function CE-Dec() to generate the plaintext M of the personal key based on the session key negotiated with its parent node and the received ciphertext C and commitment value T of the personal key, and calls the encryption authentication function CE-Ver() to verify its own personal key based on the session key, the plaintext M of the personal key and the commitment value T; if the verification is successful, the newly joined node saves the received personal key of itself; if the verification fails, the newly joined node generates a key error message and sends it to the parent node of the newly accessed node.

[0299] The key management method provided by the present invention improves the security of personal keys and strongly supports the update of group keys by further disclosing the preset trigger item as a verification step of the personal key of the newly added node generated when the node joins.

[0300] In a specific embodiment, according to the key management method provided by the present invention, after the non-leaf node distributes the updated group keys of all nodes from its own node to the root node to the leaf node layer by layer, the method further includes:

[0301] The nodes of the tree structure verify the updated group keys of all nodes from their own parent node to the root node that they receive;

[0302] After verification is passed, the nodes of the tree structure save the updated group keys of all nodes from their own parent node to the root node that they have received.

[0303] In this embodiment, the leaf nodes including the newly added node in the tree structure shall verify the updated group keys of all nodes from their own parent node to the root node, and only after verification can they be saved. Taking the verification process of the newly added node as an example, the newly added node calls the encryption authentication function CE-Dec() to generate the plaintext M of the group keys of all nodes from the parent node of the newly added node to the root node according to its own personal key, the ciphertext C of the group keys of all nodes from the parent node of the newly added node to the root node, and the commitment value T, and calls the encryption authentication function CE-Ver() to verify the received group keys of all nodes from the parent node of the newly added node to the root node according to its own personal key, the plaintext M of the group keys of all nodes from the parent node of the newly added node to the root node, and the commitment value T; if the verification is passed, the newly added node saves the received group keys of all nodes from the parent node of the newly added node to the root node; if the verification fails, the newly added node generates a key error message and sends it to the parent node of the newly added node.

[0304] The key management method provided by the present invention improves the security and confidentiality of the group key by further disclosing the preset trigger item as a verification step for the generated group key when a node joins.

[0305] In order to better illustrate the preset trigger item is the update of the group key when the node joins. In this embodiment, Figure 3 This is a schematic diagram of the tree structure provided by the present invention. Figure 2 ,like Figure 3 As shown, the tree structure height is 4, and the same settings are taken as above. Assume that after the group key initialization step, node u 4,11 Apply to join the group. Just after initialization, the group key of the non-leaf node in the tree structure is In the initialization phase, the key update mark t = 0. Due to the addition of nodes, the key update mark t = 0 + 1 = 1. 4,11 Join a group. The group keys that need to be updated are: The overall process steps for group key update include:

[0306] 1. Newly added node u 4,11 With its parent node u 3,4 Perform identity authentication and negotiate the session key sk 4,11 .

[0307] 2. Node u 3,4 Generate node u 4,11 The personal key k 4,11 Node u 3,4 According to the node u 4,11 ID 4,11 , seed key s 3,4 Call the key derivation function KDF to generate node u 4,11 Personal key: k 4,11 =KDF(ID 4,11 ,s 3,4 ).

[0308] 3. Newly added node u 4,11 The parent node u 3,4 To child node u 4,11 Distribute personal key k 4,11 . Newly added node u 4,11 The parent node u 3,4 According to the child node u 4,11 The negotiated session key sk 4,11 、Child node u 4,11 The personal key k 4,11 Call the encryption authentication function CE-Enc() to generate the personal key k 4,11 The ciphertext C 4,11 and commitment value T 4,11 , and the personal key k 4,11 The ciphertext C 4,11 and commitment value T 4,11 Send to child node u 4,11 , which can be expressed as follows:

[0309] u 3,4 →u 4,11 :C 4,11 ||T 4,11 =CE-Enc(sk 4,11 , k 4,11 )

[0310] 4. Newly added node u 4,11 For personal key k 4,11 Perform integrity and authenticity verification.

[0311] Newly added node u 4,11According to the session key sk 4,11 and the personal key k received in step 3 4,11 The ciphertext C 4,11 and commitment value T 4,11 Call the encryption authentication function CE-Dec() to generate the personal key k 4,11 The plaintext M 4,11 =CE-Dec(sk 4,11 , C 4,11 , T 4,11 ), based on the session key sk 4,11 、Plain text M 4,11 , Commitment value T 4,11 Call the encryption authentication function CE-Ver(sk 4,11 , M 4,11 , T 4,11 ) for the personal key k 4,11 Perform integrity and authenticity verification. If the verification passes, u 4,11 The personal key k 4,11 Save. If verification fails, 4,11 Generate key error message sent to u 3,4 .

[0312] 5. Node u 1,1 ~u 4,10 Calculate and update the group key yourself.

[0313] 1) Node u 1,1 ~u 4,10 Based on the old group key Newly added node u 4,11 ID 4,11 , key update mark t = 1 call the key derivation function KDF to generate a new group key

[0314] 2) Node u 2,2 、u 3,3 、u 3,4 、u 4,7 、u 4,8 、u 4,9 、u 4,10 Based on the old group key Newly added node u 4,11 ID 4,11 , key update mark t = 1 call the key derivation function KDF to generate a new group key

[0315] 3) Node u 3,4 、u 4,9 、u 4,10 Based on the old group key Newly added node u4,11 ID 4,11 , key update mark t = 1 call the key derivation function KDF to generate a new group key

[0316] 6. Node u 3,4 To node u 4,11 Distribute group keys

[0317] Newly added node u 4,11 The parent node u 3,4 According to u 4,11 The personal key k 4,11 、u 3,4 to u 1,1 The group key of all intermediate nodes Call the encryption authentication function CE-Enc() to generate u 3,4 to u 1,1 The group key of all intermediate nodes The ciphertext C 4,11 and commitment value T 4,11 , and the ciphertext C 4,11 and commitment value T 4,11 Send to u 4,11 .

[0318]

[0319] 7. Newly added node u 4,11 Based on the personal key k 4,11 To u 3,4 to u 1,1 The group key of all nodes Perform integrity and authenticity verification.

[0320] Newly added node u 4,11 According to the personal key k 4,11 and u received in step 6 3,4 to u 1,1 The group key of all intermediate nodes The ciphertext C 4,11 and commitment value T 4,11 Call the encryption authentication function CE-Dec() to generate the plaintext M 4,11 =CE-Dec(k 4,11 , C 4,11 , T 4,11 ), according to the personal key k 4,11 、Plain text M 4,11 , Commitment value T 4,11 Call the encryption authentication function CE-Ver(k 4,11 , M 4,11, T 4,11 ) 3,4 to u 1,1 The group key of all nodes Perform integrity and authenticity verification. If the verification passes, u 4,11 Save from u 3,4 to u 1,1 The group key of all nodes If the verification fails, 4,11 Generate key error message sent to u 3,4 .

[0321] In the key update process of the above example, the key update marker t participates in the new group key The key update marker t may not participate in the generation of the new group key. The present invention is not explicitly limited here.

[0322] The above example only updates the relevant group key The group key of the group whose group relationship has not changed after the node joins The update may or may not be performed, which is not explicitly limited in the present invention. Similarly, referring to the above method, the node calls the key derivation function to generate self-update; a new group key can also be generated by a non-leaf node and distributed to the leaf nodes of the tree structure layer by layer; a new group key can also be generated by a non-leaf node and distributed to the leaf nodes of the tree structure by the parent node of the leaf node; the group key can also be updated by combining the above methods, and the present invention is not limited to this.

[0323] In a specific embodiment, according to the key management method provided by the present invention, the preset trigger item is node leaving, and accordingly, generating a new group key according to the group key when the trigger item occurs, and a random number or an identity of a newly added node in the tree structure, and completing the update of the group key when the trigger item occurs, specifically includes:

[0324] Based on the respective group keys and random numbers when the nodes leave, the non-leaf nodes call a key derivation function to update their respective group keys, and the non-leaf nodes distribute the updated group keys of all nodes from their own nodes to the root node to the leaf nodes layer by layer;

[0325] Or the non-leaf nodes in the tree structure call the key derivation function to update their respective stored group keys based on the group keys and random numbers stored when the node leaves, and the parent node of the leaf node sends the updated group keys of all nodes from its own node to the root node to the leaf node.

[0326] In this embodiment, when the trigger item is node leaving, there are also two update paths for the group key of the tree structure, including:

[0327] The first is the node leaving group key update path. Based on the group key and random number of each node when leaving, the non-leaf node calls the key derivation function to update its own group key. The non-leaf node distributes the updated group keys of all nodes from its own node to the root node to the leaf nodes layer by layer.

[0328] The second node leaves the group key update path, and the non-leaf nodes in the tree structure update their own stored group keys according to their original stored group keys and random numbers when the node leaves, wherein each stored group key includes its own group key; and the parent node of the leaf node in the tree structure sends the updated group key to each leaf node, and when the trigger item is the node leaving, the update of the group key involves the participation of random numbers, and the leaf node does not retain the random number and cannot update its own stored group key, so it is distributed by its own parent node.

[0329] In this embodiment, the second type of node leaving the group key update is taken as an example for expansion. Non-leaf nodes in the tree structure call the key derivation function KDF to update their respective stored group keys according to the group keys, random numbers and / or key update marks stored when the nodes leave; the parent node of the leaf node in the tree structure calls the encryption authentication function CE-Enc() to encrypt and authenticate the updated group keys of all nodes from its own node to the root node according to the personal key of its child node or its own group key, generates the ciphertext C and commitment value T of the group keys of all nodes from its own node to the root node, and sends the ciphertext C and commitment value T of the group keys of all nodes from its own node to the root node to their respective child nodes.

[0330] The key management method provided by the present invention further discloses the preset trigger item as the update step of the group key when the node leaves, further illustrating the process of each node independently completing the update of its own group key, thereby improving the security and confidentiality of the group key.

[0331] In a specific embodiment, according to the key management method provided by the present invention, after the non-leaf node distributes the updated group keys of all nodes from its own node to the root node to the leaf node layer by layer, the method further includes:

[0332] The nodes of the tree structure verify the updated group keys of all nodes from their own parent node to the root node that they receive;

[0333] After verification is passed, the nodes of the tree structure save the updated group keys of all nodes from their own parent node to the root node that they have received.

[0334] In this embodiment, the nodes of the tree structure must verify the received group key before saving it. Take the leaf node as an example to expand. The leaf node verifies the received updated group key of all nodes from its own parent node to the root node. According to its own personal key or the group key of its own parent node, and the received updated ciphertext C and commitment value T of the group key of all nodes from its own parent node to the root node, the encryption authentication function CE-Dec() is called to generate the updated plaintext M of the group key of all nodes from its own parent node to the root node; according to its own personal key or the group key of its own parent node and the commitment value T, the encryption authentication function CE-Ver() is called to verify the integrity and authenticity of the received updated group key of all nodes from its own parent node to the root node; if the verification is passed, the leaf node saves the received updated group key of all nodes from its own parent node to the root node; if the verification fails, the leaf node generates a key error message and sends it to its own parent node.

[0335] When the preset trigger item is node leaving, the group key for the group relationship that has changed must be updated, and other group keys that have not changed may or may not be updated, which is not limited by the present invention. The new group key can be generated by each non-leaf node calling the key derivation function, and the parent node of the leaf node in the tree structure sends the updated group key to each leaf node; the new group key can also be generated by each non-leaf node calling the key derivation function, and distributed layer by layer by the non-leaf node to the leaf nodes of the tree structure; or the two methods are combined to update the group key, which is not limited by the present invention.

[0336] The key management method provided by the present invention improves the security and confidentiality of the group key by further disclosing the preset trigger item as a verification step for the generated group key when the node leaves.

[0337] In order to better illustrate the preset trigger item is the update of the group key when the node leaves. In this embodiment, Figure 3This is a schematic diagram of the tree structure provided by the present invention. Figure 2 ,like Figure 3 As shown, the tree structure height is 4, and the same settings are taken as above, assuming that after the group key initialization step. 4,11 Apply to leave the group. Assume that at this time, the group key of the non-leaf node in the tree structure is Now node u 4,11 Apply to leave, key update mark t = 1 + 1 = 2. Since node u 4,11 Leave the group. To ensure the security of the group key, the group key The overall process steps for group key update include:

[0338] 1. Node u 1,1 ~u 3,4 Calculate and update the group key yourself.

[0339] Take node u 1,1 For example, node u 1,1 Based on the old group key Initial value of random number r 0 , key update mark t = 2 call KDF function to generate a new group key

[0340] 1) Node u 1,1 ~u 3,4 Based on the old group key Random number r 0 , key update mark t = 2 call KDF function to generate a new group key

[0341] 2) Node u 2,2 、u 3,3 、u 3,4 Based on the old group key Random number r 0 , key update mark t = 2 call KDF function to generate a new group key

[0342] 3) Node u 3,4 Based on the old group key Random number r 0 , key update mark t = 2 call KDF function to generate a new group key

[0343] 2. Node u 3,1 ~u 3,4Distribute the updated group key GK to each child node.

[0344] Take node u 3,1 To its child node {u 4,1 、u 4,2 、u 4,3}Distribute updated For example, node u 3,1 According to the original group key Updated group key Call the encryption authentication function CE-Enc() to generate the updated group key The ciphertext C children 3,1 and commitment value T children 3,1 , and the updated group key The ciphertext C children 3,1 and commitment value T children 3,1 Send to its own child node {u 4,1 、u 4,2 、u 4,3},

[0345] Node u 3,2 ~u 3,4 The distribution of is similar,

[0346]

[0347] 3. Node u 4,1 ~u 4,10 The integrity and authenticity of the updated group key GK are verified.

[0348] With node {u 4,1 、u 4,2 、u 4,3}, for example, node {u 4,1 、u 4,2 、u 4,3}According to the group key And the received in step 2 The ciphertext C children 3,1 and commitment value T children 3,1 Call the encryption authentication function CE-Dec() to generate The plaintext M children 3,1 , according to the group key Plaintext M children 3,1 , Commitment value T children3,1 Call the encryption authentication function CE-Ver() to update the group key Perform integrity and authenticity verification. If the verification passes, {u 4,1 、u 4,2 、u 4,3}Save the updated group key If it does not pass, {u 4,1 、u 4,2 、u 4,3} Generate key error message sent to node u 3,1 .

[0349] Node u 4,4 ~u 4,10 Do the same:

[0350]

[0351] u 4,9 :M children 3,4 =CE-Dec(k 4,9 , C 4,9 , T children 3,4 )

[0352] u 4,9 :CE-Ver(k 4,9 , M children 3,4 , T children 3,4 )

[0353] u 4,10 :M children 3,4 =CE-Dec(k 4,10 , C 4,10 , T children 3,4 )

[0354] u 4,10 :CE-Ver(k 4,10 , M children 3,4 , T children 3,4 ).

[0355] In the key update process of the above example, the key update marker t participates in the new group key The key update marker t may not participate in the generation of the new group key. The present invention is not explicitly limited here.

[0356] The above example only updates the relevant group key The group key of the group whose group membership does not change when the node leaves The update may or may not be performed, which is not explicitly limited in the present invention. Similarly, referring to the above method, a new group key can be generated by a non-leaf node itself, and distributed to the leaf nodes of the tree structure by the parent node of the leaf node; a new group key can also be generated by a non-leaf node itself, and distributed to the leaf nodes of the tree structure layer by layer; or a combination of the two methods can be used to update the group key, which is not limited by the present invention.

[0357] In a specific embodiment, according to the key management method provided by the present invention, when the preset trigger item is a preset time period, correspondingly, generating a new group key according to the group key when the trigger item occurs, and a random number or an identity of a newly added node in the tree structure, and completing the update of the group key when the trigger item occurs, specifically includes:

[0358] Based on the respective group keys and random numbers when the preset time period is reached, the non-leaf nodes call the key derivation function to update their respective group keys, and the non-leaf nodes distribute the updated group keys of all nodes from their own nodes to the root node to the leaf nodes layer by layer;

[0359] Or the non-leaf nodes in the tree structure call the key derivation function to update their respective stored group keys based on the group keys and random numbers stored when the preset time period is reached, and the parent node of the leaf node distributes the updated group keys of all nodes from its own node to the root node to the leaf node.

[0360] In this embodiment, when the trigger item is a preset time period, there are two group key update paths, including:

[0361] The first time period group key update path, based on the respective group keys, random numbers and / or key update flags when the preset time period is reached, the non-leaf nodes call the key derivation function to update their respective group keys by themselves, and the non-leaf nodes distribute the updated group keys of all nodes from their own nodes to the root node to the leaf nodes layer by layer;

[0362] In the second time period group key update path, the non-leaf nodes in the tree structure call the key derivation function KDF to automatically calculate and update their respective stored group keys based on their original stored group keys, random numbers and / or key update marks; the parent nodes of the leaf nodes in the tree structure call the encryption authentication function CE-Enc() to generate the ciphertext C and commitment value T of their respective updated group keys based on the personal keys of their respective child nodes and the updated group keys, and send the ciphertext C and commitment value T of their respective updated group keys to their respective child nodes.

[0363] The key management method provided by the present invention further discloses the updating steps of the group key when the preset trigger item is the scheduled updating of the group key, further illustrates the process of each node independently completing the updating of its own group key, and improves the security and confidentiality of the group key.

[0364] In a specific embodiment, according to the key management method provided by the present invention, after the parent node of the leaf node sends the updated group key of all nodes from its own node to the root node to the leaf node, the method further includes:

[0365] The nodes of the tree structure verify the updated group keys of all nodes from their own parent node to the root node that they receive;

[0366] After verification is passed, the nodes of the tree structure save the updated group keys of all nodes from their own parent node to the root node that they have received.

[0367] In this embodiment, the nodes of the tree structure must verify the received group keys before saving them. The leaf nodes are taken as an example to expand. The leaf nodes in the tree structure call the encryption authentication function CE-Dec() to generate the updated plaintext M of the group keys of all nodes from their own parent node to the root node according to their own personal keys and the received ciphertext C and commitment value T of the group keys of all nodes from their own parent node to the root node. According to their own personal keys, the updated plaintext M of the group keys of all nodes from their own parent node to the root node and the commitment value T, the encryption authentication function CE-Ver() is called to verify the integrity and authenticity of the received updated group keys of all nodes from their own parent node to the root node. If the verification is passed, the leaf nodes save the received updated group keys of all nodes from their own parent node to the root node. If it fails, the leaf nodes generate a key error message and send it to their respective parent nodes.

[0368] The key management method provided by the present invention improves the security and confidentiality of the group key by further disclosing the verification step of the generated group key when the preset trigger item is the group key periodic update.

[0369] In order to better illustrate the update of the group key when the preset trigger item is the preset time period, that is, the group key is updated regularly. Figure 2 This is a schematic diagram of the tree structure provided by the present invention. Figure 1 ,like Figure 2 As shown, the tree structure height is set to 4, and the same settings are taken as above. Now the group key is updated regularly. At this time, the group key of the non-leaf node in the tree structure is The key update mark t=2+1=3, then the overall process steps of group key update specifically include:

[0370] 1. Node u 1,1 ~u 3,4 Calculate and update the group key yourself.

[0371] 1) Node u 1,1 ~u 3,4 Based on the old group key Random number r 0 , key update mark t = 3 call KDF function to generate a new group key

[0372] 2) Node u 2,1 、u 3,1 、u 3,2 Based on the old group key Random number r 0 , key update mark t = 3 call KDF function to generate a new group key

[0373] 3) Node u 2,2 、u 3,3 、u 3,4 Based on the old group key Random number r 0 , key update mark t = 3 call KDF function to generate a new group key

[0374] 4) Node u 3,1 Based on the old group key Random number r 0 , key update mark t = 3 call KDF function to generate a new group key

[0375] 5) Node u 3,2 Based on the old group key Random number r 0 , key update mark t = 3 call KDF function to generate a new group key

[0376] 6) Node u 3,3 Based on the old group key Random number r 0 , key update mark t = 3 call KDF function to generate a new group key

[0377] 7) Node u 3,4 Based on the old group key Random number r 0 , key update mark t = 3 call KDF function to generate a new group key

[0378] 2. Node u 3,1 ~u 3,4 Distribute the updated group key GK to its child nodes.

[0379] Take node u 3,1 to u 4,1 Distribute updated For example, node u 3,1 According to u 4,1 The personal key k 4,1 , updated Call the encryption authentication function CE-Enc() to generate the group key The ciphertext C 4,1 and commitment value T 4,1 , and the group key The ciphertext C 4,1 and commitment value T 4,1 Send to child node u 4,1 , Node u 4,2 →u 4,10 The group key GK is distributed in the same way:

[0380]

[0381] 3. Node u 4,1 ~u 4,10 Based on the personal key k 4,1 ~k 4,10 The integrity and authenticity of the updated group key GK are verified.

[0382] Take node u 4,1 Based on the personal key k 4,1 Updated group key For example, taking authenticity and integrity verification as an example, node u4,1 According to the personal key k 4,1 and the updated group key received in step 2 The ciphertext C 4,1 and commitment value T 4,1 Call the encryption authentication function CE-Dec() to generate the updated group key The plaintext M 4,1 ,u 4,1 :M 4,1 =CE-Dec(k 4,1 , C 4,1 , T 4,1 ),u 4,1 According to the personal key k 4,1 , updated group key The plaintext M 4,1 , Commitment value T 4,1 Call the encryption authentication function CE-Ver() to update the group key Perform integrity and authenticity verification, u 4,1 :CE-Ver(k 4,1 , M 4,1 , T 4,1 ), if the verification is successful, u 4,1 Save the updated group key If you fail, 4,1 Generate key error message sent to u 3,1 Node u 4,2 ~u 4,10 Do the same:

[0383] u 4,2 :M 4,2 =CE-Dec(k 4,2 , C 4,2 , T 4,2 );

[0384] u 4,2 :CE-Ver(k 4,2 , M 4,2 , T 4,2 );

[0385] u 4,3 :M 4,3 =CE-Dec(k 4,3 , C 4,3 , T 4,3 );

[0386] u 4,3 :CE-Ver(k 4,3 , M 4,3 , T 4,3 );

[0387] u 4,4 :M 4,4 =CE-Dec(k 4,4 ,C 4,4 ,T 4,4 );

[0388] u 4,4 :CE-Ver(k 4,4 ,M 4,4 ,T 4,4 );

[0389] u 4,5 :M 4,5 =CE-Dec(k 4,5 ,C 4,5 ,T 4,5 );

[0390] u 4,5 :CE-Ver(k 4,5 ,M 4,5 ,T 4,5 );

[0391] u 4,6 :M 4,6 =CE-Dec(k 4,6 ,C 4,6 ,T 4,6 );

[0392] u 4,6 :CE-Ver(k 4,6 ,M 4,6 ,T 4,6 );

[0393] u 4,7 :M 4,7 =CE-Dec(k 4,7 ,C 4,7 ,T 4,7 );

[0394] u 4,7 :CE-Ver(k 4,7 ,M 4,7 ,T 4,7 );

[0395] u 4,8 :M 4,8 =CE-Dec(k 4,8 ,C 4,8 ,T 4,8 );

[0396] u 4,8 :CE-Ver(k 4,8 ,M 4,8 ,T 4,4 );

[0397] u 4,9 :M 4,9 =CE-Dec(k 4,9 , C 4,9 , T 4,9 );

[0398] u 4,9 :CE-Ver(k 4,9 , M 4,9 , T 4,9 );

[0399] u 4,10 :M 4,10 =CE-Dec(k 4,10 , C 4,10 , T 4,10 );

[0400] u 4,10 :CE-Ver(k 4,10 , M 4,10 , T 4,10 ).

[0401] In the key update process of the above example, the key update tag t participates in the generation of the new group key. The key update tag t may not participate in the generation of the new group key. The key update marker t is not involved in the calculation when generating. The generation of other group keys is similar, and the present invention does not make explicit limitations here.

[0402] In a specific embodiment, according to the key management method provided by the present invention, the preset trigger item is the subgroup leaving, and accordingly, generating a new group key according to the group key when the trigger item occurs, and a random number or an identity of a newly added node in the tree structure, and completing the update of the group key when the trigger item occurs, specifically includes:

[0403] The root node of the tree structure calls a random number generation function to generate a new random number, and all nodes including the root node in the tree structure except leaf nodes and parent nodes of the leaf nodes distribute the new random number to their respective child nodes;

[0404] Based on the respective group keys and new random numbers when the subgroups leave, the non-leaf nodes call a key derivation function to update their respective group keys;

[0405] The non-leaf nodes distribute the updated group keys of all nodes from their own nodes to the root node to the leaf nodes layer by layer.

[0406] In this embodiment, the root node of the tree structure calls the random number generation function PRF to generate a new random number to replace the previous random number. All nodes including the root node in the tree structure except the leaf node and the parent node of the leaf node call the encryption authentication function CE-Enc() to encrypt and authenticate the new random number according to the personal keys of their respective child nodes to generate the ciphertext C and commitment value T of their respective new random numbers, and send the ciphertext C and commitment value T of their respective new random numbers to their respective child nodes. The non-leaf nodes in the tree structure call the key derivation function KDF to generate their respective new group keys according to their respective old group keys, new random numbers and / or key update flags when the subgroup leaves. Then, The non-leaf nodes distribute the updated group keys of all nodes from their own nodes to the root node to the leaf nodes layer by layer. Taking the distribution process from the parent node of the leaf node to the leaf nodes as an example, the parent node of the leaf node calls the encryption authentication function CE-Enc() to generate the updated ciphertext C and commitment value T of the group key of all nodes from its own node to the root node according to its own group key and the received updated group key of all nodes from its own node to the root node, and sends the generated updated ciphertext C and commitment value T of the group key of all nodes from its own node to the root node to their respective child nodes, that is, their corresponding leaf nodes.

[0407] The key management method provided by the present invention further discloses the preset trigger item as the update step of the group key when the subgroup leaves, further illustrating the process of each node independently completing the update of its own group key, thereby improving the security and confidentiality of the group key.

[0408] In a specific embodiment, according to the key management method provided by the present invention, after distributing the new random number, the method further includes:

[0409] All non-leaf nodes in the tree structure except the root node verify the new random numbers received by each node;

[0410] If the verification is successful, all non-leaf nodes in the tree structure except the root node save the new random numbers they receive.

[0411] In this embodiment, non-leaf nodes except the root node in the tree structure call the encryption authentication function CE-Dec() to generate the plaintext M of the new random number according to their own personal keys, the ciphertext C of the received new random number and the commitment value T, and call the encryption authentication function CE-Ver() to verify the integrity and authenticity of the received new random number according to their own personal keys, the plaintext M of the new random number and the commitment value T; if the verification passes, the non-leaf node saves the received new random number; if the verification fails, the non-leaf node generates a key error message and sends it to its respective parent node.

[0412] The key management method provided by the present invention strongly supports the security and confidentiality of the subsequently generated group key by further disclosing the preset trigger item as a verification step of the generated new random number when the subgroup leaves.

[0413] In a specific embodiment, according to the key management method provided by the present invention, after the non-leaf node distributes the updated group keys of all nodes from its own node to the root node to the leaf node layer by layer, the method further includes:

[0414] The nodes of the tree structure verify the updated group keys of all nodes from their own parent node to the root node that they receive;

[0415] After verification is passed, the nodes of the tree structure save the updated group keys of all nodes from their own parent node to the root node that they have received.

[0416] In this embodiment, the nodes of the tree structure must verify the received group keys before saving them. The leaf node is taken as an example for expansion. The leaf node calls the encryption authentication function CE-Dec() to generate the updated plaintext M of the group keys of all nodes from its own parent node to the root node according to the group key of its own parent node, the received ciphertext C of the group keys of all nodes from its own parent node to the root node, and the commitment value T. The leaf node calls the encryption authentication function CE-Ver() to verify the received updated group keys of all nodes from its own parent node to the root node according to the group key of its own parent node, the updated plaintext M of the group keys of all nodes from its own parent node to the root node, and the commitment value T; if the verification is successful, the leaf node saves the received updated group keys of all nodes from its own parent node to the root node; if the verification is unsuccessful, the leaf node generates a key error message and sends it to its respective parent node.

[0417] The key management method provided by the present invention improves the security and confidentiality of the group key by further disclosing the preset trigger item as a verification step for the generated group key when the subgroup leaves.

[0418] In order to better illustrate the preset trigger item is the update of the group key when the subgroup leaves. In this embodiment, Figure 2 This is a schematic diagram of the tree structure provided by the present invention. Figure 1 ,like Figure 2 As shown, the tree structure height is 4, and the same settings are taken as above. Assume that the subgroup {u 3,4 、u 4,9 、u 4,10}Apply to exit the group. At this time, the group key of the non-leaf node in the tree structure is The key update mark t=3+1=4, then the overall process steps of group key update specifically include:

[0419] 1. The highest management node u 1,1 Call the PRF function to generate a random number r 1 Replace the previous random number initial value r 0 .

[0420] 2. The highest management node u 1,1 To the child node {u 2,1 、u 2,2}Distribute random number r 1 .

[0421] Take node u 1,1 To node u 2,1 For example, the highest management node u 1,1 According to its own child node u 2,1 The personal key k 2,1 , random number r 1 Call the encryption authentication function CE-Enc() to generate a random number r 1 The ciphertext C 2,1 and commitment value T 2,1 , and the random number r 1 The ciphertext C 2,1 and commitment value T 2,1 Send to its own child node u 2,1 . The highest management node u 1,1 To u 2,2 Do the same:

[0422] u 1,1 →u 2,1 :C 2,1 ||T 2,1 =CE-Enc(k 2,1 , r 1 );

[0423] u 1,1 →u 2,2 :C 2,2 ||T 2,2 =CE-Enc(k 2,2 , r 1 ).

[0424] 3. Node {u 2,1 、u 2,2}For random number r 1 Perform integrity and authenticity verification.

[0425] Take node u 2,1 For a random number r 1Taking integrity and authenticity verification as an example, u 2,1 According to the personal key k 2,1 , the received random number r 1 The ciphertext C 2,1 and commitment value T 2,1 Call the encryption authentication function CE-Dec() to generate the plaintext M 2,1 , according to the personal key k 2,1 , random number r 1 The plaintext M 2,1 , Commitment value T 2,1 Call the encryption authentication function CE-Ver() to the random number r 1 Perform integrity and authenticity verification. If the verification passes, u 2,1 Save the random number r 1 If it fails, u 2,1 Generate random number error message and send it to u 1,1 Node u 2,2 Do the same:

[0426] u 2,1 :M 2,1 =CE-Dec(k 2,1 , C 2,1 , T 2,1 );

[0427] u 2,1 :CE-Ver(k 2,1 , M 2,1 , T 2,1 );

[0428] u 2,2 :M 2,2 =CE-Dec(k 2,2 , C 2,2 , T 2,2 );

[0429] u 2,2 :CE-Ver(k 2,2 , M 2,2 , T 2,2 ).

[0430] 4. Node u 2,1 、u 2,2 Distribute random numbers r to their respective child nodes 1 .

[0431] with u 2,1 to u 3,1 Distribute random number r 1 For example, u 2,1 According to u 3,1 The personal key k 3,1 , random number r1 Call the encryption authentication function CE-Enc() to generate a random number r 1 The ciphertext C 3,1 and commitment value T 3,1 , and the random number r 1 The ciphertext C 3,1 and commitment value T 3,1 Send to child node u 3,1 ,u 2,1 →u 3,1 :C 3,1 ||T 3,1 =CE-Enc(k 3,1 , r 1 ). Node u 2,1 、u 2,2 Repeat this operation to u 3,2 、u 3,3 Distribute random number r 1 :

[0432] u 2,1 →u 3,2 :C 3,2 ||T 3,2 =CE-Enc(k 3,2 , r 1 );

[0433] u 2,2 →u 3,3 :C 3,3 ||T 3,3 =CE-Enc(k 3,3 , r 1 ).

[0434] 5. Node u 3,1 、u 3,2 、u 3,3 For a random number r 1 Perform integrity and authenticity verification.

[0435] Take node u 3,1 For a random number r 1 Taking integrity and authenticity verification as an example, u 3,1 According to the personal key k 3,1 and the random number r received in step 4 1 The ciphertext C 3,1 and commitment value T 3,1 Call the encryption authentication function CE-Dec() to generate a random number r 1 The plaintext M 3,1 , according to the personal key k 3,1 , random number r 1 The plaintext M 3,1 , Commitment value T 3,1Call the encryption authentication function CE-Ver() to the random number r 1 Perform integrity and authenticity verification. If the verification passes, u 3,1 Save the random number r 1 If it fails, u 3,1 Generate random number error message and send it to u 2,1 Node u 3,2 、u 3,3 Do the same:

[0436] u 3,1 :M 3,1 =CE-Dec(k 3,1 , C 3,1 , T 3,1 );

[0437] u 3,1 :CE-Ver(k 3,1 , M 3,1 , T 3,1 );

[0438] u 3,2 :M 3,2 =CE-Dec(k 3,2 , C 3,2 , T 3,2 );

[0439] u 3,2 :CE-Ver(k 3,2 , M 3,2 , T 3,2 );

[0440] u 3,3 :M 3,3 =CE-Dec(k 3,3 , C 3,3 , T 3,3 );

[0441] u 3,3 :CE-Ver(k 3,3 , M 3,3 , T 3,3 ).

[0442] 6. Node u 1,1 ~u 3,3 Calculate and update the group key yourself.

[0443] Node u 1,1 ~u 3,3 Based on the old group key Random number r 1 And / or key update mark t=4 calls KDF function to generate new group key

[0444] Node u 2,2 、u 3,3 Based on the old group key Random number r 1 And / or key update mark t=4 calls KDF function to generate new group key

[0445] 7. Node u 3,1 ~u 3,3 Distribute the updated group key GK to each child node.

[0446] with u 3,1 To {u 4,1 、u 4,2 、u 4,3}Distribute the updated group key For example, u 3,1 According to the group key Updated group key Call the encryption authentication function CE-Enc() to generate the updated group key The ciphertext C children 3,1 and commitment value T children 3,1 , and the updated group key The ciphertext C children 3,1 and commitment value T children 3,1 Send to u 3,2 、u 3,3 Do the same:

[0447] 8. Node u 4,1 ~u 4,8 Based on group key The integrity and authenticity of the updated group key GK are verified.

[0448] With node {u 4,1 、u 4,2 、u 4,3}Based on group key Updated group key For example, the node {u 4,1 、u 4,2 、u 4,3}According to the group key and the updated group key received in step 7 The ciphertext C children 3,1 and commitment value Tchildren 3,1 Call the encryption authentication function CE-Dec() to generate the updated group key The plaintext M children 3,1 , according to the group key Updated group key The plaintext M children 3,1 , Commitment value T children 3,1 Call the encryption authentication function CE-Ver() to update the group key Perform integrity and authenticity verification. If the verification passes, {u 4,1 、u 4,2 、u 4,3}Save the updated group key If it does not pass, {u 4,1 、u 4,2 、u 4,3} Generate key error message and send it to u 3,1 .u 4,4 ~u 4,8 Do the same:

[0449]

[0450] In the key update process of the above embodiment, the key update mark t participates in the generation of the new group key. The key update mark t may not participate in the generation of the new group key. The generation of other new group keys is similar, and the present invention does not make explicit limitations here.

[0451] In a specific embodiment, according to the key management method provided by the present invention, the preset trigger item is the joining of a subgroup. Accordingly, the generating of a new group key according to the group key when the trigger item occurs and a random number or an identity of a newly added node in the tree structure, and completing the updating of the group key when the trigger item occurs, specifically includes:

[0452] The parent node of the newly joined subgroup supreme management node generates a personal key of the newly joined subgroup supreme management node, and sends the generated personal key of the newly joined subgroup supreme management node to the newly joined subgroup supreme management node;

[0453] Based on the respective group keys of the subgroups when they join and the identity of the highest management node of the newly joined subgroup, the non-leaf nodes in the tree structure call a key derivation function to update their respective group keys by themselves, and the non-leaf nodes distribute the updated group keys of all nodes from their own nodes to the root node to the leaf nodes of the tree structure layer by layer;

[0454] Or the nodes in the tree structure call the key derivation function to update the group keys stored by themselves according to the group keys stored by the nodes when the subgroups join and the identity of the highest management node of the newly joined subgroup;

[0455] The parent node of the newly added subgroup's highest management node sends the updated group key and random number of all nodes from its own node to the root node to the newly added subgroup's highest management node;

[0456] The highest management node of the newly joined subgroup initializes the personal key and group key of the newly joined subgroup.

[0457] In this embodiment, first, the parent node of the newly joined subgroup supreme management node generates a personal key of the newly joined subgroup supreme management node, and sends the generated personal key of the newly joined subgroup supreme management node to the newly joined subgroup supreme management node; then, the group key is updated. There are also two group key update paths of the tree structure when the trigger item is the subgroup joining, including:

[0458] The first subgroup joins the group key update path, based on the respective group keys when the subgroup joins, the identity of the highest management node of the newly joined subgroup and / or the key update mark, the non-leaf nodes in the tree structure call the key derivation function KDF to generate their respective new group keys, that is, update their respective group keys by themselves, and the non-leaf nodes distribute the updated group keys of all nodes from their own nodes to the root node to the leaf nodes of the tree structure layer by layer;

[0459] The second subgroup joins the group key update path, and the nodes in the tree structure call the key derivation function to update their respective stored group keys based on the group keys stored when the subgroup joins and the identity of the highest management node of the newly joined subgroup, wherein the group keys stored by each subgroup include their own group keys.

[0460] In this embodiment, in the first or second subgroup joining the group key update path, the key update situation of the newly joined subgroup is consistent, including: the parent node of the newly joined subgroup's highest management node calls the encryption authentication function CE-Enc() to generate a ciphertext C and a commitment value T according to the personal key of the newly joined subgroup's highest management node, the group keys of all nodes from its own node to the root node, and a random number, and sends the ciphertext C and the commitment value T to the newly joined subgroup's highest management node, wherein the newly joined subgroup's highest management node's own group key is also generated by its own parent node and sent to the newly joined subgroup's highest management node; finally, the newly joined subgroup's highest management node initializes the personal key and group key of the newly joined subgroup.

[0461] The key management method provided by the present invention further discloses the preset trigger item as the update step of the group key when a subgroup joins, further illustrating the process of each node independently completing the update of its own group key, thereby improving the security and confidentiality of the group key.

[0462] In a specific embodiment, according to the key management method provided by the present invention, the parent node of the newly joined subgroup supreme management node generates the personal key of the newly joined subgroup supreme management node, and sends the generated personal key of the newly joined subgroup supreme management node to the newly joined subgroup supreme management node, specifically including:

[0463] The highest management node of the newly joined subgroup performs identity authentication with its own parent node and negotiates a session key;

[0464] Based on the identity identifier of the highest management node of the newly joined subgroup, the parent node of the highest management node of the newly joined subgroup calls a key derivation function to generate a personal key of the highest management node of the newly joined subgroup;

[0465] Based on the session key, the parent node of the newly joined subgroup supreme management node sends the generated personal key of the newly joined subgroup supreme management node to the newly joined subgroup supreme management node.

[0466] In this embodiment, the highest management node of the newly joined subgroup performs identity authentication with its own parent node and negotiates a session key; the parent node of the highest management node of the newly joined subgroup calls the key derivation function according to the identity identifier of the highest management node of the newly joined subgroup and its own seed key to generate a personal key of the highest management node of the newly joined subgroup; the parent node of the highest management node of the newly joined subgroup calls the encryption authentication function CE-Enc() according to the session key negotiated with its own child node, i.e., the highest management node of the newly joined subgroup, and the personal key of the highest management node of the newly joined subgroup, and sends the ciphertext C and the commitment value T of the personal key of the highest management node of the newly joined subgroup to the highest management node of the newly joined subgroup.

[0467] The key management method provided by the present invention provides support for each subsequent node to independently complete its own group key update by further publicly setting a preset trigger item as the step of generating the personal key of the highest management node of the newly joined subgroup in the group key update when the subgroup joins, thereby improving the security and confidentiality of the group key.

[0468] In a specific embodiment, according to the key management method provided by the present invention, after the parent node of the newly joined subgroup supreme management node sends the generated personal key of the newly joined subgroup supreme management node to the newly joined subgroup supreme management node, the method further includes:

[0469] The highest management node of the newly joined subgroup verifies the personal key based on the session key;

[0470] After verification is passed, the highest management node of the newly joined subgroup will save the received personal key.

[0471] In this embodiment, the highest management node of the newly joined subgroup calls the encryption authentication function CE-Dec() to generate the plaintext M of the personal key according to the session key negotiated with its parent node, the received ciphertext C of the personal key and the commitment value T, and calls the encryption authentication function CE-Ver() to verify the integrity and authenticity of its own personal key according to the session key, the plaintext M of the personal key and the commitment value T; if the verification passes, the highest management node of the newly joined subgroup saves the received personal key; if the verification fails, the highest management node of the newly joined subgroup generates a key error message and sends it to its parent node.

[0472] The key management method provided by the present invention improves the security and confidentiality of personal keys by further publicly setting a preset trigger item as a verification step for the personal key of the highest management node of the newly joined subgroup when the subgroup joins, and strongly supports the generation of subsequent group keys.

[0473] In a specific embodiment, according to the key management method provided by the present invention, after the non-leaf node distributes the updated group keys of all nodes from the node itself to the root node layer by layer to the leaf nodes of the tree structure, the method further includes:

[0474] The nodes of the tree structure verify the updated group keys of all nodes from their own parent node to the root node that they receive;

[0475] After verification is passed, the nodes of the tree structure save the updated group keys of all nodes from their own parent node to the root node that they have received.

[0476] In this embodiment, the nodes of the tree structure must verify the received group key before saving it. Take the newly joined subgroup supreme management node as an example to expand. The newly joined subgroup supreme management node calls the encryption authentication function CE-Dec() based on its own personal key and the received updated group key and random number ciphertext C and commitment value T of all nodes from its own parent node to the root node to generate the updated group key and random number plaintext M of all nodes from its own parent node to the root node, and calls the encryption authentication function CE-Ver() based on its own personal key, the updated group key and random number plaintext M of all nodes from its own parent node to the root node and commitment value T to verify the integrity and authenticity of the updated group key and random number of all nodes from its own parent node to the root node; if the verification is passed, the newly joined subgroup supreme management node saves the received updated group key and random number of all nodes from its own parent node to the root node; if the verification fails, the newly joined subgroup supreme management node generates a key error message and sends it to its own parent node.

[0477] The key management method provided by the present invention improves the security and confidentiality of the group key by further disclosing the preset trigger item as a verification step for the generated group key when a subgroup joins.

[0478] In a specific embodiment, according to the key management method provided by the present invention, the initialization of the personal key and the group key of the newly joined subgroup by the highest management node of the newly joined subgroup specifically includes:

[0479] The non-leaf nodes newly added to the subgroup generate their own seed keys and personal keys of their child nodes;

[0480] Based on the respective seed keys generated by the non-leaf nodes in the newly joined subgroup and the personal keys of the respective child nodes, the non-leaf nodes in the newly joined subgroup generate their own group keys, and the non-leaf nodes of the newly joined subgroup distribute the group keys of all nodes from their own nodes to the root node to the leaf nodes of the newly joined subgroup layer by layer.

[0481] In this embodiment, the non-leaf nodes in the newly joined subgroup generate their own seed keys and personal keys of their own child nodes; based on the seed keys and personal keys of their own child nodes generated by the non-leaf nodes in the newly joined subgroup, the non-leaf nodes in the newly joined subgroup generate their own group keys, and the non-leaf nodes in the newly joined subgroup distribute the generated group keys of all nodes from their own nodes to the root node layer by layer to the leaf nodes of the newly joined subgroup, and all nodes in the newly joined subgroup except the leaf nodes and the parent nodes of the leaf nodes distribute random numbers to their own child nodes. This corresponds to the above-mentioned personal key initialization step and group key initialization step, and will not be repeated here.

[0482] The key management method provided by the present invention improves the security and confidentiality of the group key by further disclosing the preset trigger item as a verification step for the group key of the newly added subgroup generated when the subgroup joins.

[0483] When the preset trigger item is the joining of a subgroup, the group key for the changed group relationship must be updated, and other group keys that have not changed may or may not be updated, which is not limited by the present invention. The new group key can be generated by each node calling the key derivation function; the new group key can also be generated by a non-leaf node and distributed layer by layer to the leaf nodes of the tree structure; the new group key can also be generated by a non-leaf node and distributed to the leaf nodes of the tree structure by the parent node of the leaf node; or a combination of the above methods is also possible, which is not limited by the present invention.

[0484] In order to better illustrate the update of the group key when the preset trigger item is a subgroup joining. In this embodiment, Figure 4 This is a schematic diagram of the tree structure provided by the present invention. Figure 3 ,like Figure 4 As shown, the tree structure height is set to 4, and the same settings are taken as above. Assume that in the group key initialization step, the subgroup {u 3,5 、u 4,12 、u 4,13}Apply to join the group. The group key is The key update mark t=4+1=5, then the overall process steps of group key update specifically include:

[0485] 1. Node u 3,5 With its parent node u 2,2 Perform identity authentication and negotiate the session key sk 3,5 .

[0486] 2. Node u 3,5 The parent node u 2,2 Calculate the node u 3,5 The personal key k 3,5 .

[0487] Node u 2,2 According to the node u 3,5 ID 3,5 , seed key s 2,2 Call the key derivation function KDF to generate node u 3,5 The personal key k 3,5 :

[0488] k 3,5 =KDF(ID 3,5 ,s 2,2 ).

[0489] 3. Node u 3,5 The parent node u 2,2 To child node u 3,5 Distribute personal key k 3,5 .

[0490] Node u 3,5 The parent node u 2,2 According to the child node u 3,5 The negotiated session key sk 3,5 、Child node u 3,5 The personal key k 3,5 Call the encryption authentication function CE-Enc() to generate the personal key k 3,5 The ciphertext C 3,5 and commitment value T 3,5 , and the personal key k 3,5 The ciphertext C 3,5 and commitment value T 3,5 Send to child node u 3,5 ,u 2,2 →u 3,5 :C 3,5 ||T 3,5 =CE-Enc(sk 3,5 , k 3,5 ).

[0491] 4. Node u 3,5 For personal key k 3,5 Perform integrity and authenticity verification.

[0492] Node u 3,5 According to the session key sk 3,5 and the personal key k received in step 3 3,5 The ciphertext C 3,5 and commitment value T 3,5 Call the encryption authentication function CE-Dec() to generate the personal key k 3,5 The plaintext M 3,5 , according to the session key sk 3,5 , personal key k 3,5The plaintext M 3,5 , Commitment value T 3,5 Call the encryption authentication function CE-Ver() to the personal key k 3,5 Perform integrity and authenticity verification. If the verification passes, u 3,5 The personal key k 3,5 Save. If verification fails, 3,5 Generate personal key error message and send it to your parent node u 2,2 :

[0493] u 3,5 :M3,5=CE-Dec(sk 3,5 , C 3,5 , T 3,5 );

[0494] u 3,5 :CE-Ver(sk 3,5 , M 3,5 , T 3,5 ).

[0495] 5. Node {u 1,1 ~u 3,3 、u 4,1 ~u 4,8}Calculate and update the group key by yourself.

[0496] Node {u 1,1 ~u 3,3 、u 4,1 ~u 4,8}Based on the old group key Node u 3,5 ID 3,5 , key update mark t = 5 call KDF function to generate a new group key

[0497] Node {u 2,2 、u 3,3 、u 4,7 、u 4,8}Based on the old group key Node u 3,5 ID 3,5 , key update mark t = 5 call KDF function to generate a new group key

[0498] 6. Node u 2,2 to u 3,5 Distribute group key GK and random number r 1 .

[0499] Node u 2,2 According to the child node u 3,5 The personal key k3,5 、u 2,2 to u 1,1 The group key of all intermediate nodes and the random number r 1 Call the encryption authentication function CE-Enc() to generate u 2,2 to u 1,1 The group key of all intermediate nodes and the random number r 1 The ciphertext C 3,5 and commitment value T 3,5 , and the ciphertext C 3,5 and commitment value T 3,5 Send to child node u 3,5 :

[0500]

[0501] 7. Node u 3,5 To u 2,2 to u 1,1 The group key GK of all intermediate nodes and the random number r 1 Perform integrity and authenticity verification.

[0502] Node u 3,5 According to the personal key k 3,5 and u received in step 6 2,2 to u 1,1 The group key of all intermediate nodes and the random number r 1 The ciphertext C 3,5 and commitment value T 3,5 Call the encryption authentication function CE-Dec() to generate u 2,2 to u 1,1 The group key of all intermediate nodes and the random number r 1 The plaintext M 3,5 , according to the personal key k 3,5 、u 2,2 to u 1,1 The group key of all intermediate nodes and the random number r 1 The plaintext M 3,5 , Commitment value T 3,5 Call the encryption authentication function CE-Ver() to u 2,2 to u 1,1 The group key of all intermediate nodes and the random number r 1 Perform integrity and authenticity verification. If the verification passes, u 3,5 Save 2,2 to u 1,1The group key of all intermediate nodes and a random number r 1 If it fails, u 3,5 Generate a message error message and send it to its parent node u 2,2 :

[0503] u 3,5 :M 3,5 =CE-Dec(k 3,5 , C 3,5 , T 3,5 );

[0504] u 3,5 :CE-Ver(k 3,5 , M 3,5 , T 3,5 ).

[0505] 8. Node u 4,12 、u 4,13 With parent node u 3,5 Perform identity authentication and negotiate the session key sk 4,12 ,sk 4,13 .

[0506] 9. Node u 3,5 Generate your own seed key s by calling the PRF function 3,5 =PRF().

[0507] 10. Node u 3,5 Generate child node u 4,12 、u 4,13 The personal key k 4,12 , k 4,13 .

[0508] Node u 3,5 According to the node u 4,12 ID 4,12 , seed key s 3,5 Call the key derivation function KDF to generate node u 4,12 The personal key k 4,12 :k 4,12 =KDF(ID 4,12 ,s 3,5 ).

[0509] Node u 3,5 According to the node u 4,13 ID 4,13 , seed key s 3,5 Call the key derivation function KDF to generate node u 4,13 The personal key k 4,13 :k 4,13 =KDF(ID 4,13,s 3,5 ).

[0510] 11. Node u 3,5 To child node u 4,12 、u 4,13 Distribute personal key k 4,12 , k 4,13 .

[0511] Take node u 3,5 To child node u 4,12 For example, distributing personal keys, node u 3,5 According to the child node u 4,12 The negotiated session key sk 4,12 、Child node u 4,12 The personal key k 4,12 Call the encryption authentication function CE-Enc() to generate the personal key k 4,12 The ciphertext C 4,12 and commitment value T 4,12 , and the personal key k 4,12 The ciphertext C 4,12 and commitment value T 4,12 Send to child node u 4,12 ,u 3,5 →u 4,12 :C 4,12 ||T 4,12 =CE-Enc(sk 4,12 , k 4,12 ). Node u 3,5 Perform the same operation on the child node u 4,13 Distribute personal key k 4,13 ,u 3,5 →u 4,13 :C 4,13 ||T 4,13 =CE-Enc(sk 4,13 , k 4,13 ).

[0512] 12. Node u 4,12 、u 4,13 For personal key k 4,12 , k 4,13 Perform integrity and authenticity verification.

[0513] Take node u 4,12 For personal key k 4,12 For example, the node u 4,12 According to the session key sk 4,12 and the personal key k received in step 11 4,12 The ciphertext C 4,12 and commitment value T 4,12Call the encryption authentication function CE-Dec() to generate the personal key k 4,12 The plaintext M 4,12 ,u 4,12 :M 4,12 =CE-Dec(sk 4,12 , C 4,12 , T 4,12 );According to the session key sk 4,12 , personal key k 4,12 The plaintext M 4,12 , Commitment value T 4,12 Call the encryption authentication function CE-Ver() to the personal key k 4,12 Perform integrity and authenticity verification, u 4,12 :CE-Ver(sk 4,12 , M 4,12 , T 4,12 ). If the verification is successful, u 4,12 The personal key k 4,12 Save. If verification fails, 4,12 Generate key error message sent to u 3,5 Node u 4,13 Do the same:

[0514] u 4,13 :M 4,13 =CE-Dec(sk 4,13 , C 4,13 , T 4,13 );

[0515] u 4,13 :CE-Ver(sk 4,13 , M 4,13 , T 4,13 ).

[0516] 13. Node u 3,5 Calculate the group key

[0517] Node u 3,5 According to the seed key s 3,5 、Child node u 4,12 、u 4,13 The personal key k 4,12 , k 4,13 Call the KDF function to generate the group key

[0518] 14. Node u 3,5 To child node u 4,12 、u 4,13 Distribute the group key GK.

[0519] To node u 4,12For example, distributing group keys, node u 3,5 According to the child node u 4,12 The personal key k 4,12 、u 3,5 to u 1,1 The group key of all intermediate nodes Call the encryption authentication function CE-Enc() to generate the group key The ciphertext C 4,12 and commitment value T 4,12 , and the group key The ciphertext C 4,12 and commitment value T 4,12 Send to child node u 4,12 , Node u 3,5 For node u 4,13 Do the same thing.

[0520] 15. Node u 4,12 、u 4,13 Based on the personal key k 4,12 , k 4,13 To u 3,5 to u 1,1 The integrity and authenticity of the group key GK of all intermediate nodes are verified.

[0521] Take node u 4,12 For example, u 4,12 According to the personal key k 4,12 and the group key received in step 14 The ciphertext C 4,12 and commitment value T 4,12 Call the encryption authentication function CE-Dec() to generate the group key The plaintext M 4,12 , according to the personal key k 4,12 , Group Key The plaintext M 4,12 , Commitment value T 4,12 Call the encryption authentication function CE-Ver() to u 3,5 to u 1,1 The group key of all intermediate nodes Perform integrity and authenticity verification. If the verification passes, u 4,12 Save 3,5 to u 1,1 The group key of all intermediate nodes If the verification fails, 4,12 Generate key error message sent to u 3,5 Node u 4,13 Do the same:

[0522] u 4,12 :M 4,12 =CE-Dec(k 4,12 , C 4,12 , T 4,12 );

[0523] u 4,12 :CE-Ver(k 4,12 , M 4,12 , T 4,12 );

[0524] u 4,13 :M 4,13 =CE-Dec(k 4,13 , C 4,13 , T 4,13 );

[0525] u 4,13 :CE-Ver(k 4,13 , M 4,13 , T 4,13 ).

[0526] In a specific embodiment, according to the key management method provided by the present invention, the distribution of the personal key and the group key both use a verifiable encryption scheme.

[0527] In this embodiment, the personal keys and group keys generated in the tree structure use a verifiable encryption authentication scheme CE during the distribution process.

[0528] The key management method provided by the present invention avoids man-in-the-middle attacks in the key distribution process by further disclosing that the distribution of personal keys and group keys generated in the tree structure uses an encryption authentication scheme, thereby ensuring the confidentiality, integrity and non-repudiation of encryption keys and messages.

[0529] It should be noted that in the key update process in the specific embodiments listed above, the key update mark t participates in the generation of the new group key. Alternatively, the key update mark t may not participate in the generation of the new group key. The generation of new group keys in other embodiments is similar, and the present invention does not impose any explicit limitation on this.

[0530] In addition, it should be emphasized that some of the specific embodiments listed above only update the group key associated with the newly added node. For example, when a subgroup joins, the group key of the node whose group relationship has not changed is not updated. Alternatively, the group key of the node whose group relationship has not changed can also refer to the group key update, and the present invention does not make clear limitations on this. Nodes whose group relationship has not changed can update their group keys by themselves; non-leaf nodes can also generate new group keys by themselves, and the parent nodes of the leaf nodes can distribute them to the leaf nodes of the tree structure; non-leaf nodes can also generate new group keys by themselves, and distribute them layer by layer to the leaf nodes of the tree structure; or a combination of the above methods can be used to update the group key, and the present invention does not make any restrictions.

[0531] The key management device provided by the present invention is described below. The key management device described below and the key management method described above can be referenced to each other.

[0532] Figure 5 A schematic diagram of a key management device provided by the present invention, such as Figure 5 As shown, the key management device provided by the present invention is applied to group communication, and the connection between group members adopts a tree structure. The device includes:

[0533] The group key updating module 510 is used to generate a new group key based on a preset trigger item, according to the group key when the trigger item occurs, and a random number or an identity of a newly added node in the tree structure, and complete the update of the group key when the trigger item occurs;

[0534] The trigger items include node joining, node leaving, preset time period, subgroup leaving and subgroup joining, and the random number is generated by the root node in the tree structure.

[0535] The key management device provided by the present invention, by setting a group key update module, based on a preset trigger item, the non-leaf nodes in the tree structure complete the update of their respective group keys according to their respective group keys when the trigger item occurs; each node of the present invention independently completes the update of its own group key, avoiding man-in-the-middle attacks in key distribution, and at the same time improving the freshness, confidentiality, integrity and non-repudiation of the group key.

[0536] In another aspect, the present invention further provides an electronic device, Figure 6 An example of a structural diagram of an electronic device is shown in FIG. Figure 6As shown, the electronic device may include a processor 610, a communication bus 620, a memory 630, a communication interface 640, and a computer program stored in the memory 630 and executable on the processor 610, wherein the processor 610, the communication interface 640, and the memory 630 communicate with each other through the communication bus 620, and the processor 610 may call the logic instructions in the memory 630 to execute the key management method, which includes:

[0537] Based on a preset triggering item, a new group key is generated according to the group key when the triggering item occurs, and a random number or an identity of a newly added node in the tree structure, and the group key when the triggering item occurs is updated;

[0538] The trigger items include node joining, node leaving, preset time period, subgroup leaving and subgroup joining, and the random number is generated by the root node in the tree structure.

[0539] Finally, the present invention also provides a non-transitory computer-readable storage medium having a computer program stored thereon. When the computer program is executed by a processor, a key management method can be implemented. The method includes:

[0540] Based on a preset triggering item, a new group key is generated according to the group key when the triggering item occurs, and a random number or an identity of a newly added node in the tree structure, and the group key when the triggering item occurs is updated;

[0541] The trigger items include node joining, node leaving, preset time period, subgroup leaving and subgroup joining, and the random number is generated by the root node in the tree structure.

[0542] The device embodiments described above are merely illustrative, wherein the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the scheme of this embodiment. Ordinary technicians in this field can understand and implement it without paying creative labor.

[0543] Through the description of the above implementation methods, those skilled in the art can clearly understand that each implementation method can be implemented by means of software plus a necessary general hardware platform, and of course, it can also be implemented by hardware. Based on this understanding, the above technical solution is essentially or the part that contributes to the prior art can be embodied in the form of a software product, and the computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, a disk, an optical disk, etc., including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in each embodiment or some parts of the embodiments.

[0544] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present invention.

Claims

1. A key management method, characterized in that: Applied to group communication, the connection between group members adopts a tree structure, and the method includes: Based on a preset triggering item, a new group key is generated according to the group key when the triggering item occurs, and a random number or an identity of a newly added node in the tree structure, and the group key when the triggering item occurs is updated; Wherein, the trigger items include node joining, node leaving, preset time period, subgroup leaving and subgroup joining, and the random number is generated by the root node in the tree structure; Before generating a new group key based on the preset triggering item according to the group key when the triggering item occurs and a random number or an identity of a newly added node in the tree structure, and completing the update of the group key when the triggering item occurs, the method further includes: A personal key initialization step, in which the non-leaf nodes in the tree structure generate respective seed keys and personal keys of respective child nodes, and distribute the personal keys of the respective child nodes to the respective child nodes; A group key initialization step, based on the respective seed keys generated by the non-leaf nodes and the personal keys of the respective child nodes, the non-leaf nodes generate their own group keys, and distribute them layer by layer to the leaf nodes of the tree structure; The non-leaf nodes generate respective group keys based on the respective seed keys generated by the non-leaf nodes and the personal keys of the respective child nodes, and distribute the group keys layer by layer to the leaf nodes of the tree structure, specifically including: The root node of the tree structure calls a random number generation function to generate an initial random number value; Based on the respective seed keys generated by the non-leaf nodes and the personal keys of the respective child nodes, the non-leaf nodes call a key derivation function to generate respective group keys; All nodes including the root node except the leaf node and the parent node of the leaf node in the tree structure distribute the group keys and the initial random number values ​​of all nodes from the node itself to the root node to their respective child nodes; The parent node of the leaf node in the tree structure distributes the group keys of all nodes from its own node to the root node to their respective child nodes.

2. The key management method according to claim 1, characterized in that: The generating of respective seed keys and respective personal keys of respective child nodes by non-leaf nodes in the tree structure, and distributing the respective personal keys of the respective child nodes to the respective child nodes specifically includes: All nodes except the root node in the tree structure perform identity authentication with their respective parent nodes and negotiate their respective session keys; The non-leaf nodes call a random number generation function to generate their own seed keys; Based on the identity identifier of the child node of the non-leaf node and the seed key of the non-leaf node, the non-leaf node calls a key derivation function to generate a personal key of each child node; Based on the session key, the non-leaf nodes send the personal keys of their respective child nodes to their respective child nodes.

3. The key management method according to claim 2, characterized in that: After the non-leaf nodes send the personal keys of their respective child nodes to their respective child nodes based on the session key, the method further includes: The child nodes of the non-leaf node verify their respective personal keys based on their respective session keys; If the verification is successful, the child nodes of the non-leaf nodes will save their respective personal keys.

4. The key management method according to claim 1, characterized in that: After distributing the group keys and the initial value of the random number to all nodes from the own node to the root node, the method further includes: The child nodes of all nodes including the root node except the leaf nodes and the parent nodes of the leaf nodes in the tree structure verify the group keys of all nodes from their own parent nodes to the root node and the initial value of the random number based on their own personal keys; After verification is passed, the child nodes of all nodes including the root node in the tree structure except the leaf nodes and the parent nodes of the leaf nodes save the group keys and initial random number values ​​of all nodes from their own parent nodes to the root node that they have received.

5. The key management method according to claim 1, characterized in that: After distributing the group keys of all nodes from the own node to the root node, the method further includes: The leaf nodes in the tree structure verify the group keys of all nodes from the leaf node to the root node sent by the respective parent nodes based on the respective personal keys; After verification is passed, the leaf nodes in the tree structure save the group keys of all nodes from their own nodes to the root node received from their respective parent nodes.

6. The key management method according to claim 1, characterized in that: The preset trigger item is node joining. Accordingly, generating a new group key according to the group key when the trigger item occurs and a random number or an identity of a newly added node in the tree structure, and completing the update of the group key when the trigger item occurs, specifically includes: The parent node of the newly added node generates a personal key of the newly added node, and sends the personal key of the newly added node to the newly added node; Based on the group keys stored by the nodes when they join and the identity of the newly joined node, the non-leaf nodes of the tree structure call a key derivation function to update the group keys stored by themselves, and the parent node of the leaf node sends the updated group keys of all nodes from its own node to the root node to the leaf node, wherein the group keys stored by the non-leaf nodes include their own group keys; or based on the respective group keys of the nodes when they join and the identity of the newly joined node, the non-leaf nodes of the tree structure call a key derivation function to update their respective group keys by themselves, and the non-leaf nodes distribute the updated group keys of all nodes from their own nodes to the root node to the leaf nodes of the tree structure layer by layer; Alternatively, the nodes in the tree structure call a key derivation function to update their respective stored group keys based on the group keys stored when the nodes join and the identity of the newly joined node, and the parent node of the newly joined node sends the updated group keys of all nodes from its own node to the root node to the newly joined node.

7. The key management method according to claim 6, characterized in that: The step of generating a personal key of the newly added node by the parent node of the newly added node and sending the personal key of the newly added node to the newly added node specifically includes: The newly joined node authenticates itself with its parent node and negotiates a session key; Based on the identity of the newly added node and the seed key of the parent node of the newly added node, the parent node of the newly added node calls the key derivation function to generate the personal key of the newly added node; Based on the session key, the parent node of the newly joined node sends the generated personal key of the newly joined node to the newly joined node.

8. The key management method according to claim 7, characterized in that: After the parent node of the newly added node sends the generated personal key of the newly added node to the newly added node, the method further includes: The newly joined node verifies its own personal key based on the session key; After verification is passed, the newly joined node saves its own personal key.

9. The key management method according to claim 6, characterized in that: After the non-leaf node distributes the updated group keys of all nodes from the non-leaf node to the root node to the leaf node layer by layer, the method further includes: The nodes of the tree structure verify the updated group keys of all nodes from their own parent node to the root node that they receive; After verification is passed, the nodes of the tree structure save the updated group keys of all nodes from their own parent node to the root node that they have received.

10. The key management method according to claim 1, characterized in that: The preset trigger item is node leaving. Accordingly, generating a new group key according to the group key when the trigger item occurs and a random number or an identity of a newly added node in the tree structure, and completing the update of the group key when the trigger item occurs, specifically includes: Based on the respective group keys and random numbers when the nodes leave, the non-leaf nodes call a key derivation function to update their respective group keys, and the non-leaf nodes distribute the updated group keys of all nodes from their own nodes to the root node to the leaf nodes layer by layer; Or the non-leaf nodes in the tree structure call the key derivation function to update their respective stored group keys based on the group keys and random numbers stored when the node leaves, and the parent node of the leaf node sends the updated group keys of all nodes from its own node to the root node to the leaf node.

11. The key management method according to claim 10, characterized in that: After the non-leaf node distributes the updated group keys of all nodes from the non-leaf node to the root node to the leaf node layer by layer, the method further includes: The nodes of the tree structure verify the updated group keys of all nodes from their own parent node to the root node that they receive; After verification is passed, the nodes of the tree structure save the updated group keys of all nodes from their own parent node to the root node that they have received.

12. The key management method according to claim 1, characterized in that: When the preset trigger item is a preset time period, correspondingly, generating a new group key according to the group key when the trigger item occurs, and a random number or an identity identifier of a newly added node in the tree structure, and completing the update of the group key when the trigger item occurs, specifically includes: Based on the respective group keys and random numbers when the preset time period is reached, the non-leaf nodes call the key derivation function to update their respective group keys, and the non-leaf nodes distribute the updated group keys of all nodes from their own nodes to the root node to the leaf nodes layer by layer; Or the non-leaf nodes in the tree structure call the key derivation function to update their respective stored group keys based on the group keys and random numbers stored when the preset time period is reached, and the parent node of the leaf node distributes the updated group keys of all nodes from its own node to the root node to the leaf node.

13. The key management method according to claim 12, characterized in that: After the non-leaf node distributes the updated group keys of all nodes from the non-leaf node to the root node to the leaf node layer by layer, the method further includes: The nodes of the tree structure verify the updated group keys of all nodes from their own parent node to the root node that they receive; After verification is passed, the nodes of the tree structure save the updated group keys of all nodes from their own parent node to the root node that they have received.

14. The key management method according to claim 1, characterized in that: The preset trigger item is the subgroup leaving. Accordingly, the generating of a new group key according to the group key when the trigger item occurs and a random number or an identity of a newly added node in the tree structure, and completing the updating of the group key when the trigger item occurs specifically includes: The root node of the tree structure calls a random number generation function to generate a new random number, and all nodes including the root node in the tree structure except leaf nodes and parent nodes of the leaf nodes distribute the new random number to their respective child nodes; Based on the respective group keys and new random numbers when the subgroups leave, the non-leaf nodes call a key derivation function to update their respective group keys; The non-leaf nodes distribute the updated group keys of all nodes from their own nodes to the root node to the leaf nodes layer by layer.

15. The key management method according to claim 14, characterized in that: After distributing the new random number, the method further comprises: All non-leaf nodes except the root node in the tree structure verify the new random numbers received by each node; If the verification is successful, all non-leaf nodes in the tree structure except the root node save the new random numbers they receive.

16. The key management method according to claim 14, characterized in that: After the non-leaf node distributes the updated group keys of all nodes from the non-leaf node to the root node to the leaf node layer by layer, the method further includes: The nodes of the tree structure verify the updated group keys of all nodes from their own parent node to the root node that they receive; After verification is passed, the nodes of the tree structure save the updated group keys of all nodes from their own parent node to the root node that they have received.

17. The key management method according to claim 1, characterized in that: The preset trigger item is the joining of a subgroup. Accordingly, the generating of a new group key according to the group key when the trigger item occurs and a random number or an identity of a newly added node in the tree structure, and completing the updating of the group key when the trigger item occurs specifically includes: The parent node of the newly joined subgroup supreme management node generates a personal key of the newly joined subgroup supreme management node, and sends the generated personal key of the newly joined subgroup supreme management node to the newly joined subgroup supreme management node; Based on the respective group keys of the subgroups when they join and the identity of the highest management node of the newly joined subgroup, the non-leaf nodes in the tree structure call a key derivation function to update their respective group keys by themselves, and the non-leaf nodes distribute the updated group keys of all nodes from their own nodes to the root node to the leaf nodes of the tree structure layer by layer; Or the nodes in the tree structure call the key derivation function to update the group keys stored by themselves according to the group keys stored by the nodes when the subgroups join and the identity of the highest management node of the newly joined subgroup; The parent node of the newly added subgroup's highest management node sends the updated group key and random number of all nodes from its own node to the root node to the newly added subgroup's highest management node; The highest management node of the newly joined subgroup initializes the personal key and group key of the newly joined subgroup.

18. The key management method according to claim 17, characterized in that: The step of generating a personal key of the newly joined subgroup supreme management node by the parent node of the newly joined subgroup supreme management node, and sending the generated personal key of the newly joined subgroup supreme management node to the newly joined subgroup supreme management node specifically includes: The highest management node of the newly joined subgroup performs identity authentication with its own parent node and negotiates a session key; Based on the identity identifier of the highest management node of the newly joined subgroup, the parent node of the highest management node of the newly joined subgroup calls a key derivation function to generate a personal key of the highest management node of the newly joined subgroup; Based on the session key, the parent node of the newly joined subgroup supreme management node sends the generated personal key of the newly joined subgroup supreme management node to the newly joined subgroup supreme management node.

19. The key management method according to claim 18, characterized in that: After the parent node of the newly joined subgroup supreme management node sends the generated personal key of the newly joined subgroup supreme management node to the newly joined subgroup supreme management node, the method further includes: The highest management node of the newly joined subgroup verifies the personal key based on the session key; After verification is passed, the highest management node of the newly joined subgroup will save the received personal key.

20. The key management method according to claim 17, characterized in that: After the non-leaf node distributes the updated group keys of all nodes from the non-leaf node to the root node layer by layer to the leaf nodes of the tree structure, the method further includes: The nodes of the tree structure verify the updated group keys of all nodes from their own parent node to the root node that they receive; After verification is passed, the nodes of the tree structure save the updated group keys of all nodes from their own parent node to the root node that they have received.

21. The key management method according to claim 17, characterized in that: The initialization of the personal key and the group key of the newly joined subgroup by the highest management node of the newly joined subgroup specifically includes: The non-leaf nodes newly added to the subgroup generate their own seed keys and personal keys of their child nodes; Based on the respective seed keys generated by the non-leaf nodes in the newly joined subgroup and the personal keys of the respective child nodes, the non-leaf nodes in the newly joined subgroup generate their own group keys, and the non-leaf nodes of the newly joined subgroup distribute the group keys of all nodes from their own nodes to the root node to the leaf nodes of the newly joined subgroup layer by layer.

22. The key management method according to any one of claims 1 to 21, characterized in that: The distribution of the personal key and the group key both uses a verifiable encryption scheme.

23. A key management device based on the key management method according to any one of claims 1 to 22, characterized in that: Applied to group communication, the connection between group members adopts a tree structure, and the device includes: A group key updating module, configured to generate a new group key based on a preset trigger item, according to the group key when the trigger item occurs, and a random number or an identity of a newly added node in the tree structure, and complete the update of the group key when the trigger item occurs; The trigger items include node joining, node leaving, preset time period, subgroup leaving and subgroup joining, and the random number is generated by the root node in the tree structure.

24. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the program, the steps of the key management method according to any one of claims 1 to 22 are implemented.

25. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the key management method according to any one of claims 1 to 22 are implemented.

Citation Information

Patent Citations

  • Uni-directional function tree multicast key management method based on cipher sharing

    CN101309137A

  • Key management scheme based on key hypergraph and Identity cryptosystem in multi-domain optical networks

    CN106169996A

  • Multi-party voice communication key negotiation system based on Android system

    CN114257375A