Group key management method, device, related equipment and storage medium

By monitoring and managing group key update events of IoT node groups in network-side devices, the optimization problems of group key management and updates are solved, and the communication security of IoT node groups is improved.

CN114448609BActive Publication Date: 2025-04-01CHINA MOBILE COMM LTD RES INST +1
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202011112939.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-10-16
Publication Date
2025-04-01
Estimated Expiration
2040-10-16

AI Technical Summary

Technical Problem

In the prior art, the management method of group keys still needs to be optimized, and it is difficult to effectively manage and update group keys, affecting the communication security of IoT node groups.

Method used

Automatic update of group keys is achieved by monitoring the group key update event of node groups in the network side device, determining the update policy, and issuing update information to group member nodes and group proxy nodes.

Benefits of technology

Strengthen the life cycle management of group keys, improve the update mechanism of group keys, and improve the communication security of IoT node groups.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114448609B_ABST
    Figure CN114448609B_ABST
Patent Text Reader

Abstract

The present application discloses a group key management method, device, network side device, group proxy node, group member node, communication node and storage medium. The method includes: the network side device monitors the update event of the group key of the node group; when the update event of the group key of the node group is detected, the update strategy of the group key is determined according to the monitored update event; based on the determined update strategy, the group key maintained by itself is updated and the first information is determined; the first information is sent to each group member node of the node group and the group proxy node of the node group; after the group member node and the group proxy node receive the first information, they update the group key maintained by themselves according to the first information.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of Internet of Things security technology, and in particular to a group key management method, device, related equipment and storage medium. Background Art

[0002] Several IoT devices can form an IoT node group and communicate with network-side devices through group proxy nodes. When the member nodes of the IoT node group communicate with network-side devices through group proxy nodes or the member nodes of the IoT node group communicate internally, the group key needs to be used for data encryption and data authentication when transmitting information involving sensitive data. The lifecycle management and update mechanism of the group key are the key to ensuring the security of IoT node group communication.

[0003] However, in the related art, the management method of group keys still needs to be optimized. Summary of the invention

[0004] To solve the related technical problems, the embodiments of the present application provide a group key management method, apparatus, related equipment and storage medium.

[0005] The technical solution of the embodiment of the present application is implemented as follows:

[0006] The embodiment of the present application provides a group key management method, which is applied to a network side device, including:

[0007] Monitor the update events of the group key of the node group;

[0008] When an update event of a group key of a node group is detected, an update strategy of the group key is determined according to the detected update event;

[0009] Based on the determined update strategy, the group key maintained by itself is updated and the first information is determined; the first information is sent to each group member node of the node group and the group proxy node of the node group; the first information is used for the group member nodes and the group proxy nodes to update the group key maintained by themselves.

[0010] In the above scheme,

[0011] Receiving a group key short-term update request sent by the group member node or the group proxy node, and determining that the update strategy of the group key is a short-term update strategy;

[0012] Generate a first parameter based on the short-term update strategy; the first parameter includes a random number generated by the network side device; the first information includes the first parameter;

[0013] Based on the first parameter and the currently maintained group key, the group key maintained by itself is updated.

[0014] In the above scheme,

[0015] receiving a group key long-term update request sent by the group member node or the group proxy node, and determining that the update strategy of the group key is a long-term update strategy;

[0016] Based on the long-term update strategy, a second parameter generated by the group proxy node and each group member node of the node group is obtained; the second parameter includes a random number generated by the corresponding node; a third parameter is determined based on the obtained multiple second parameters; and a fourth parameter is generated based on the long-term update strategy; the fourth parameter includes a random number generated by the network side device; the first information includes the third parameter and the fourth parameter;

[0017] Based on the third parameter and the fourth parameter, the group key maintained by itself is updated.

[0018] In the above scheme,

[0019] Upon receiving a node group joining request sent by a first communication node and determining the first communication node as a new group member node, determining that an update strategy for a group key is a short-term update strategy;

[0020] generating a first parameter based on the short-term update strategy;

[0021] Based on the first parameter and the currently maintained group key, the group key maintained by itself is updated; and the first information containing the first parameter is sent to the group proxy node and other group member nodes in the node group except the new group member node, and the first information containing the updated group key is sent to the new group member node.

[0022] In the above scheme,

[0023] Upon receiving a leave node group request sent by a first group member node and deleting the first group member node from the node group, determining that the update strategy of the group key is a long-term update strategy;

[0024] Based on the long-term update strategy, a second parameter generated by the group proxy node and each group member node of the node group is obtained; the second parameter includes a random number generated by the corresponding node; a third parameter is determined based on the obtained multiple second parameters; and a fourth parameter is generated based on the long-term update strategy; the fourth parameter includes a random number generated by the network side device; the first information includes the third parameter and the fourth parameter;

[0025] Based on the third parameter and the fourth parameter, the group key maintained by itself is updated.

[0026] In the above scheme, the method further includes:

[0027] Based on the obtained multiple second parameters, using a first one-way function, determining the third parameter;

[0028] Based on the third parameter and the fourth parameter, an updated group key is determined using a second one-way function.

[0029] In the above solution, the updating of the group key maintained by itself based on the first parameter and the currently maintained group key includes:

[0030] Based on the first parameter and the currently maintained group key, an updated group key is determined using a second one-way function.

[0031] In the above scheme, the method further includes:

[0032] Obtaining a fifth parameter generated by the group proxy node and each group member node of the node group; the fifth parameter includes a random number generated by the corresponding node;

[0033] Determine a sixth parameter based on the obtained multiple fifth parameters; and initialize the group key maintained by itself based on the sixth parameter and the seventh parameter; the seventh parameter includes a random number generated by the network side device;

[0034] Sending second information to each group member node of the node group and the group proxy node of the node group; the second information includes the sixth parameter and the seventh parameter; the second information is used for the group member node and the group proxy node to initialize the group key maintained by themselves.

[0035] In the above solution, the determining the sixth parameter based on the acquired multiple fifth parameters includes:

[0036] Based on the obtained multiple fifth parameters, using a first one-way function, determining the sixth parameter;

[0037] Based on the sixth parameter and the seventh parameter, an initialized group key is determined using a second one-way function.

[0038] In the above solution, the sending of the first information includes:

[0039] Perform encryption processing and integrity protection processing on the first information; and send the processed first information.

[0040] The embodiment of the present application also provides a group key management method, which is applied to a group proxy node, including:

[0041] Receiving first information sent by a network side device;

[0042] The group key maintained by itself is updated according to the first information.

[0043] In the above solution, the first information includes a first parameter; and updating the group key maintained by itself according to the first information includes:

[0044] Based on the first parameter and the currently maintained group key, the group key maintained by itself is updated; wherein the first parameter includes a random number generated by the network side device.

[0045] In the above scheme, the method further includes:

[0046] When a first operation is detected, a group key short-term update request is sent to the network side device; the first operation is used to trigger a short-term update of the group key; the group key short-term update request is used to request the first information to be sent.

[0047] In the above solution, the first information includes a third parameter and a fourth parameter; and updating the group key maintained by itself according to the first information includes:

[0048] Based on the third parameter and the fourth parameter, the group key maintained by itself is updated; wherein the third parameter is determined by the network side device based on the second parameter generated by the acquired group proxy node and each group member node of the node group; the second parameter includes a random number generated by the corresponding node; the fourth parameter includes a random number generated by the network side device.

[0049] In the above scheme, the method further includes:

[0050] When a second operation is detected, a group key long-term update request is sent to the network side device; the second operation is used to trigger the long-term update of the group key; the group key long-term update request is used to request the first information to be sent.

[0051] In the above solution, updating the group key maintained by itself based on the third parameter and the fourth parameter includes:

[0052] Based on the third parameter and the fourth parameter, an updated group key is determined using a second one-way function.

[0053] In the above solution, the updating of the group key maintained by itself based on the first parameter and the currently maintained group key includes:

[0054] Based on the first parameter and the currently maintained group key, an updated group key is determined using a second one-way function.

[0055] In the above scheme, the method further includes:

[0056] receiving second information sent by the network side device; the second information includes a sixth parameter and a seventh parameter; the sixth parameter is determined by the network side device based on the fifth parameter generated by the acquired group proxy node and each group member node of the node group; the fifth parameter includes a random number generated by the corresponding node; the seventh parameter includes a random number generated by the network side device;

[0057] The group key maintained by itself is initialized based on the sixth parameter and the seventh parameter.

[0058] In the above solution, the initializing the group key maintained by itself based on the sixth parameter and the seventh parameter includes:

[0059] Based on the sixth parameter and the seventh parameter, an initialized group key is determined using a second one-way function.

[0060] In the above solution, updating the group key maintained by itself according to the first information includes:

[0061] Performing decryption and integrity verification on the first information;

[0062] When the integrity verification of the first information passes, the group key maintained by itself is updated according to the first information.

[0063] The embodiment of the present application also provides a group key management method, which is applied to a group member node, including:

[0064] Receiving first information sent by a network side device;

[0065] The group key maintained by itself is updated according to the first information.

[0066] In the above solution, the first information includes a first parameter; and updating the group key maintained by itself according to the first information includes:

[0067] Based on the first parameter and the currently maintained group key, the group key maintained by itself is updated; wherein the first parameter includes a random number generated by the network side device.

[0068] In the above scheme, the method further comprises:

[0069] When the third operation is detected, a group key short-term update request is sent to the network side device; the third operation is used to trigger the short-term update of the group key; the group key short-term update request is used to request the first information to be sent.

[0070] In the above solution, the group member node is a group member node newly added to the corresponding node group; the receiving first information sent by the network side device includes:

[0071] Receiving first information including an updated group key of the network side device;

[0072] The updated group key of the network side device is determined as the group key maintained by the network side device.

[0073] In the above solution, the first information includes a third parameter and a fourth parameter; and updating the group key maintained by itself according to the first information includes:

[0074] Based on the third parameter and the fourth parameter, the group key maintained by itself is updated; wherein the third parameter is determined by the network side device based on the second parameter generated by the corresponding group proxy node and each group member node of the corresponding node group; the second parameter includes a random number generated by the corresponding node; the fourth parameter includes a random number generated by the network side device.

[0075] In the above scheme, the method further comprises:

[0076] When the fourth operation is detected, a group key long-term update request is sent to the network side device; the fourth operation is used to trigger the long-term update of the group key; the group key long-term update request is used to request the first information to be sent.

[0077] In the above solution, updating the group key maintained by itself based on the third parameter and the fourth parameter includes:

[0078] Based on the third parameter and the fourth parameter, an updated group key is determined using a second one-way function.

[0079] In the above solution, the updating of the group key maintained by itself based on the first parameter and the currently maintained group key includes:

[0080] Based on the first parameter and the currently maintained group key, an updated group key is determined using a second one-way function.

[0081] In the above scheme, the method further comprises:

[0082] receiving second information sent by the network side device; the second information includes a sixth parameter and a seventh parameter; the sixth parameter is determined by the network side device based on the fifth parameter generated by the corresponding group proxy node and each group member node of the corresponding node group obtained; the fifth parameter includes a random number generated by the corresponding node; the seventh parameter includes a random number generated by the network side device;

[0083] The group key maintained by itself is initialized based on the sixth parameter and the seventh parameter.

[0084] In the above solution, the initializing the group key maintained by itself based on the sixth parameter and the seventh parameter includes:

[0085] Based on the sixth parameter and the seventh parameter, an initialized group key is determined using a second one-way function.

[0086] In the above solution, updating the group key maintained by itself according to the first information includes:

[0087] Performing decryption and integrity verification on the first information;

[0088] When the integrity verification of the first information passes, the group key maintained by itself is updated according to the first information.

[0089] The embodiment of the present application also provides a group key management device, including:

[0090] A monitoring unit, configured to monitor an update event of a group key of a node group; and when an update event of a group key of a node group is monitored, determine an update strategy of the group key according to the monitored update event;

[0091] A first processing unit, configured to update the group key maintained by itself based on a determined update strategy and determine first information;

[0092] The first sending unit is used to send the first information to each group member node of the node group and the group proxy node of the node group; the first information is used for the group member node and the group proxy node to update the group key maintained by themselves.

[0093] The embodiment of the present application also provides a group key management device, including:

[0094] A first receiving unit, configured to receive first information sent by a network side device;

[0095] The second processing unit is configured to update the group key maintained by itself according to the first information.

[0096] The embodiment of the present application also provides a group key management device, including:

[0097] A second receiving unit, configured to receive first information sent by a network side device;

[0098] The third processing unit is configured to update the group key maintained by itself according to the first information.

[0099] The embodiment of the present application also provides a network side device, including:

[0100] A first processor is configured to monitor an update event of a group key of a node group; when an update event of a group key of a node group is monitored, determine an update strategy of the group key according to the monitored update event; and update the group key maintained by itself based on the determined update strategy and determine the first information;

[0101] The first communication interface is used to send the first information to each group member node of the node group and the group proxy node of the node group; the first information is used for the group member node and the group proxy node to update the group key maintained by themselves.

[0102] The embodiment of the present application also provides a group proxy node, including:

[0103] The second communication interface is used to receive the first information sent by the network side device;

[0104] The second processor is configured to update the group key maintained by itself according to the first information.

[0105] The present application also provides a group member node, including:

[0106] A third communication interface, used to receive first information sent by the network side device;

[0107] The third processor is configured to update the group key maintained by itself according to the first information.

[0108] The embodiment of the present application further provides a communication node, comprising: a processor and a memory for storing a computer program that can be run on the processor; wherein:

[0109] When the processor is used to run the computer program, it executes the steps of any method on the network device side, or executes the steps of any method on the group proxy node side, or executes the steps of any method on the group member node side.

[0110] An embodiment of the present application also provides a storage medium, which stores a computer program. When the computer program is executed by a processor, it implements the steps of any method on the network device side, or implements the steps of any method on the group proxy node side, or implements the steps of any method on the group member node side.

[0111] The group key management method, device, related equipment and storage medium provided in the embodiment of the present application, the network side device monitors the update event of the group key of the node group; when the update event of the group key of the node group is detected, the update strategy of the group key is determined according to the monitored update event; based on the determined update strategy, the group key maintained by itself is updated and the first information is determined; the first information is sent to each group member node of the node group and the group proxy node of the node group; after the group member node and the group proxy node receive the first information, they update the group key maintained by themselves according to the first information. In the scheme of the embodiment of the present application, the network side device updates the group key based on different update strategies according to different update events detected, and sends the first information to each group member node of the node group and the group proxy node of the node group, so that the group member node and the group proxy node can update the group key maintained by themselves. In this way, the life cycle management of the group key can be strengthened, the update mechanism of the group key can be improved, and the communication security of the IoT node group can be improved. BRIEF DESCRIPTION OF THE DRAWINGS

[0112] Figure 1 It is a structural diagram of an Internet of Things node group in the related technology;

[0113] Figure 2 A schematic diagram of a flow chart of a group key management method according to an embodiment of the present application;

[0114] Figure 3 A flowchart of another group key management method according to an embodiment of the present application;

[0115] Figure 4 This is a flow chart of a third group key management method according to an embodiment of the present application;

[0116] Figure 5 A flowchart of a method for managing a key group in an embodiment of the present application;

[0117] Figure 6 A schematic diagram of the process of initial networking of members in an application embodiment of the present application;

[0118] Figure 7 A schematic diagram of a process of generating a group key through a group key initialization mechanism in an application embodiment of the present application;

[0119] Figure 8 A schematic diagram of a process of performing a short-term update operation on a group key using a short-term update mechanism of a group key in an application embodiment of the present application;

[0120] Fig. 9 A schematic diagram of a flow chart of a long-term update operation of a group key using a long-term update mechanism of a group key according to an application embodiment of the present application;

[0121] Fig.10 A schematic diagram of the structure of a group key management device according to an embodiment of the present application;

[0122] Fig.11 This is a schematic diagram of the structure of another group key management device according to an embodiment of the present application;

[0123] Fig.12 This is a schematic diagram of the structure of the third group key management device of the embodiment of the present application;

[0124] Fig.13 This is a schematic diagram of the structure of the network side device in the embodiment of the present application;

[0125] Fig.14 This is a schematic diagram of the structure of the proxy node of the embodiment group of the present application;

[0126] Fig.15 This is a schematic diagram of the structure of the member nodes of the group according to the embodiment of the present application;

[0127] Fig.16 A schematic diagram of the structure of a communication node according to an embodiment of the present application. DETAILED DESCRIPTION

[0128] The technical solution of the present application is further described in detail below in conjunction with the accompanying drawings and embodiments.

[0129] In related technologies, such as Figure 1 As shown, IoT device terminals 1, 2 ... terminal n (n is an integer greater than or equal to 2) can form an IoT node group, and communicate and transmit data with a server (i.e., a network side device) through an IoT access gateway (i.e., a group proxy node); wherein the access gateway has a built-in root key K0, and terminals 1, 2 ... terminal n have built-in root keys K1, K2 ... Kn respectively, and the server stores the root keys K0, K1, K2 ... Kn of the access gateway and each group member node in the IoT node group, and the root keys K0, K1, K2 ... Kn can be used by the server to authenticate the group member nodes and the access gateway. In addition, when terminal 1, terminal 2 ... terminal n perform internal group communication through the access gateway, terminal 1, terminal 2 ... terminal n perform internal group communication through the near field / local area network communication protocol, and terminal 1, terminal 2 ... terminal n communicate with the server through the access gateway, when the transmitted information involves sensitive data such as user privacy data, it is necessary to use the group key to perform data encryption and data authentication on the transmitted information; it can be seen that the lifecycle management and update mechanism of the group key are the key to ensuring the security of IoT node group communication.

[0130] At the same time, when managing the group key, it is necessary to consider whether the group proxy node is credible in the application scenario of the IoT node group (for example, whether the group proxy node is set in the intranet. If it is set in the intranet, it is a credible group proxy node; if it is not set in the intranet, it is an untrusted group proxy node), the resource storage capacity of the group proxy node (for example, whether it can store the root key K0, K1, K2...Kn of each group member node in the node group), whether the group proxy node has the identity authentication capability of the group member node (for example, it has the identity authentication capability of the group member node when the root key of each group member node in the node group is stored), the triggering conditions for group key update (for example, updating based on a preset update cycle), and the forward security and backward security issues that may be caused by the group member node joining and leaving the node group. The forward security issue refers to: the group member node that has exited the node group may still receive the updated group key, and may also derive the updated group key of the node group after leaving the node group based on the group key currently maintained by itself, and use the obtained updated group key to decrypt the group session information in the node group after leaving the node group. The backward security problem means that a group member node that newly joins a node group may receive the historical group key of the node group before it joins the node group, or it may derive the historical group key of the node group before it joins the node group based on the group key it currently maintains, and use the obtained historical group key to decrypt the group session information in the node group before it joins the node group.

[0131] Based on this, in various embodiments of the present application, the network side device updates the group key based on different update strategies according to different update events monitored, and sends the first information to each group member node of the node group and the group proxy node of the node group, so that the group member node and the group proxy node can update the group key maintained by themselves. In this way, the life cycle management of the group key can be strengthened, the update mechanism of the group key can be improved, and the communication security of the IoT node group can be improved.

[0132] In addition, it should be noted that in various embodiments of the present application, the group proxy node is not required to be credible, that is, the group proxy node can be a credible group proxy node or an untrusted group proxy node, and whether the group proxy node is credible does not affect the communication security of the node group. At the same time, the group proxy node is not required to have the identity authentication capability of the group member node, that is, the group proxy node may not store the root key of each group member node. Therefore, various embodiments of the present application are suitable for IoT scenarios where the storage resources of the group proxy node are relatively small.

[0133] The present application embodiment provides a group key management method, which is applied to a network side device, such as Figure 2 As shown, the method includes:

[0134] Step 201: monitoring the update event of the group key of the node group;

[0135] Step 202: when an update event of a group key of a node group is detected, a group key update strategy is determined according to the detected update event;

[0136] Step 203: based on the determined update strategy, the group key maintained by itself is updated and the first information is determined; the first information is sent to each group member node of the node group and the group proxy node of the node group;

[0137] Here, the first information is used by the group member node and the group proxy node to update the group key maintained by themselves.

[0138] It should be noted that in various embodiments of the present application, the network side device may be an electronic device such as an operator server; the "node group" refers to an Internet of Things node group, and the group member nodes of the node group are Internet of Things devices, and the Internet of Things devices may include personal computers (PCs), mobile phones and other electronic devices; the PCs may include desktop computers, laptops, tablet computers, car computers, etc.; the group proxy nodes of the node group may be Internet of Things access gateways, wireless access points (WAPs, Wireless Access Points, referred to as APs for short), switches, routers and other electronic devices.

[0139] In step 201, in actual application, the update event of the group key of the node group may be various forms of events. For example, the update event may include: the network side device receives a group key update request; the group key update request may be sent by the group member node or the group proxy node based on user operation or a preset group key update cycle; for another example, the update event may include: the network side device determines that the group member node of the node group increases or decreases.

[0140] In step 202, in actual application, in order to take into account the efficiency of group key update and the security of group key update in the process of managing the group key, for different monitored update events, the corresponding update strategy can be a short-term update strategy or a long-term update strategy. In the case where the update strategy is a long-term update strategy, the network side device, each group member node of the node group and the group proxy node can negotiate to generate an updated group key (for example, the updated group key is determined based on the random number generated by the network side device, the random number generated by the group proxy node and the random number generated by each group member node of the node group), avoiding the security risks caused by the untrusted group proxy node (for example, the AP not set in the intranet), and improving the security of the group key update; in the case where the update strategy is a short-term update strategy, the updated group key can be determined based on the random number generated by the network side device, that is, there is no need to negotiate and determine the updated group key through the network side device, each group member node of the node group and the group proxy node, reducing the data interaction between the network side device, the group member node and the group proxy node, and improving the efficiency of the group key update.

[0141] Based on this, in one embodiment, determining the update strategy of the group key according to the monitored update event may include:

[0142] A group key short-term update request sent by the group member node or the group proxy node is received, and a group key update strategy is determined to be a short-term update strategy.

[0143] Accordingly, the updating of the group key maintained by itself based on the determined update strategy and determining the first information may include:

[0144] Generate a first parameter and the first information based on the short-term update strategy; the first parameter includes a random number generated by the network side device; the first information includes the first parameter;

[0145] Based on the first parameter and the currently maintained group key, the group key maintained by itself is updated.

[0146] In actual application, the group key short-term update request may be sent by the group member node or the group proxy node based on a preset group key short-term update cycle or a detected operation for triggering a group key short-term update; after receiving the first information, the group member node and the group proxy node may update the group key maintained by themselves based on the first parameter and the currently maintained group key. In addition, the network side device may also determine whether the group key needs to be updated in the short term based on a preset group key short-term update cycle.

[0147] In one embodiment, determining the update strategy of the group key according to the monitored update event may include:

[0148] A group key long-term update request sent by the group member node or the group proxy node is received, and a group key update strategy is determined to be a long-term update strategy.

[0149] Accordingly, the updating of the group key maintained by itself based on the determined update strategy and determining the first information may include:

[0150] Based on the long-term update strategy, a second parameter generated by the group proxy node and each group member node of the node group is obtained; the second parameter includes a random number generated by the corresponding node; a third parameter is determined based on the obtained multiple second parameters; and a fourth parameter is generated based on the long-term update strategy; the fourth parameter includes a random number generated by the network side device; the first information includes the third parameter and the fourth parameter;

[0151] Based on the third parameter and the fourth parameter, the group key maintained by itself is updated.

[0152] In actual application, the group key long-term update request may be sent by the group member node or the group proxy node based on a preset group key long-term update cycle or a detected operation for triggering the group key long-term update; after receiving the first information, the group member node and the group proxy node may update the group key maintained by themselves based on the second parameter and the third parameter. In addition, the network side device may also determine whether the group key needs to be updated for a long term based on a preset group key long-term update cycle.

[0153] In actual application, after determining that the update strategy of the group key is a long-term update strategy, the network side device can send a request message for requesting a third parameter to the group proxy node and each group member node of the node group. After receiving the request message, the group proxy node and the group member node can send the third parameter to the network side device.

[0154] In actual application, in order to improve the security of communication between the network side device, the group member node and the group proxy node, when the group member nodes in the corresponding node group are increased or decreased, the group key also needs to be updated. Specifically, since the frequency of group member node increase events in the corresponding node group is higher than the frequency of group member node decrease events in the corresponding node group, the network side device can determine that an update event of the group key is monitored when it is determined that a new group member node has joined the node group, and determine that the update strategy of the group key is a short-term update strategy; when it is determined that a group member node has left the node group, it determines that an update event of the group key is monitored, and determines that the update strategy of the group key is a long-term update strategy. At the same time, in order to improve the backward security when the group key is updated, that is, to prevent the new group member node joining the node group from obtaining the original group key of the node group (that is, the unupdated group key) and decrypting the group session information before joining the node group, the network side device can directly send the updated group key to the new group member node.

[0155] Based on this, in one embodiment, determining the update strategy of the group key according to the monitored update event may include:

[0156] Upon receiving a node group joining request sent by a first communication node and determining the first communication node as a new group member node, determining that an update strategy for a group key is a short-term update strategy;

[0157] Accordingly, the updating of the group key maintained by itself based on the determined update strategy may include:

[0158] generating a first parameter based on the short-term update strategy;

[0159] Based on the first parameter and the currently maintained group key, the group key maintained by itself is updated; and the first information containing the first parameter is sent to the group proxy node and other group member nodes in the node group except the new group member node, and the first information containing the updated group key is sent to the new group member node.

[0160] In actual application, after receiving the node group joining request sent by the first communication node, the network side device can authenticate the first communication node, and determine the first communication node as a new group member node after the identity authentication of the first communication node is passed.

[0161] In actual application, after receiving the first information, the group proxy node and other group member nodes in the node group except the new group member node can update the group key maintained by themselves based on the first parameter and the currently maintained group key. After receiving the first information, the new group member node can determine the group key updated by the network side device as the group key maintained by itself.

[0162] In one embodiment, determining the update strategy of the group key according to the monitored update event may include:

[0163] Upon receiving a leave-node-group request sent by a first group member node and deleting the first group member node from the node group, determining that the update strategy of the group key is a long-term update strategy.

[0164] Accordingly, the updating of the group key maintained by itself based on the determined update strategy and determining the first information may include:

[0165] Based on the long-term update strategy, a second parameter generated by the group proxy node and each group member node of the node group is obtained; the second parameter includes a random number generated by the corresponding node; a third parameter is determined based on the obtained multiple second parameters; and a fourth parameter is generated based on the long-term update strategy; the fourth parameter includes a random number generated by the network side device; the first information includes the third parameter and the fourth parameter;

[0166] Based on the third parameter and the fourth parameter, the group key maintained by itself is updated.

[0167] In actual application, after the network side device receives the leave node group request sent by the first group member node, it can authenticate the first group member node, and delete the first group member node from the node group after the identity authentication of the first group member node is passed.

[0168] In actual application, after determining that the update strategy of the group key is a long-term update strategy, the network side device can send a request message for requesting a third parameter to the group proxy node and each group member node of the node group. After receiving the request message, the group proxy node and the group member node can send the third parameter to the network side device.

[0169] In actual application, after receiving the first information, the group member node and the group proxy node can update the group key maintained by themselves based on the third parameter and the fourth parameter. In the case where a group member node exits the node group, since the updated group key is determined based on the second parameter and the third parameter, the original group member node that has exited the node group cannot receive the second parameter and the third parameter, nor can it derive the updated group key based on the original group key stored in itself. Therefore, the original group member node that has exited the node group cannot use the updated group key to decrypt the group session information after exiting the node group, which improves the forward security when the group key is updated.

[0170] In actual application, in order to avoid the situation where a new group member node, after joining the node group, derives the group key of the node group before it joins the node group by inverting the group key calculation function, and to avoid the situation where the original group member node that has exited the node group derives the updated group key of the node group after it exits the node group by inverting the group key calculation function, and to further improve the forward security and backward security when updating the group key, a one-way function can be used to calculate the group key.

[0171] Based on this, in one embodiment, the method may further include:

[0172] Based on the obtained multiple second parameters, using a first one-way function, determining the third parameter;

[0173] The third parameter and the fourth parameter update the group key maintained by itself, which may include:

[0174] Based on the third parameter and the fourth parameter, an updated group key is determined using a second one-way function.

[0175] In practical applications, in order to improve the forward security and backward security when the group key is updated, the first one-way function and the second one-way function should have the characteristics of strong one-wayness, randomness, and not being easily invertible, such as cryptographic hash functions, etc. The first one-way function and the second one-way function can be the same or different.

[0176] In actual application, the group proxy node and each group member node of the node group are pre-set with a second one-way function that is the same as the network side device; after the group proxy node and each group member node of the node group receive the first information, they can use the second one-way function based on the third parameter and the fourth parameter to determine the updated group key.

[0177] In one embodiment, updating the group key maintained by itself based on the first parameter and the currently maintained group key may include:

[0178] Based on the first parameter and the currently maintained group key, an updated group key is determined using a second one-way function.

[0179] In actual application, after receiving the first information, the group proxy node and each group member node of the node group may determine an updated group key based on the first parameter and the currently maintained group key using the second one-way function.

[0180] In actual application, each group member node of the node group and the group proxy node may have a built-in root key, and the network side device stores the root keys of each group member node of the node group and the group proxy node, and during the initial networking of the group member nodes in the node group, the network side device, each group member node of the node group and the group proxy node may perform two-way identity authentication based on the root key, such as using the Authentication and Key Agreement (AKA) protocol to perform two-way identity authentication. After the identity authentication is passed and the group member nodes are successfully networked, the network side device, each group member node of the node group and the group proxy node may negotiate to initialize the group key (i.e., determine the group key based on the random number generated by the network side device, the random number generated by the group proxy node and the random number generated by each group member node of the node group). In this way, the security risks that may be caused by the untrustworthy group proxy node can be avoided, and the security of the group key initialization can be improved.

[0181] Based on this, in one embodiment, the method may further include:

[0182] Obtaining a fifth parameter generated by the group proxy node and each group member node of the node group; the fifth parameter includes a random number generated by the corresponding node;

[0183] Determine a sixth parameter based on the obtained multiple fifth parameters; and initialize the group key maintained by itself based on the sixth parameter and the seventh parameter; the seventh parameter includes a random number generated by the network side device;

[0184] Sending second information to each group member node of the node group and the group proxy node of the node group; the second information includes the sixth parameter and the seventh parameter; the second information is used for the group member node and the group proxy node to initialize the group key maintained by themselves.

[0185] In actual application, after receiving the second information, the group proxy node and the group member node may initialize the group key maintained by themselves based on the sixth parameter and the seventh parameter.

[0186] In actual application, after determining that the initial networking of the node group is completed, the network side device can send a request message for requesting the fifth parameter to the group proxy node and each group member node of the node group. After receiving the request message, the group proxy node and the group member node can send the fifth parameter to the network side device.

[0187] In actual application, in order to further improve the security of group key initialization, the first one-way function and the second one-way function may be used to initialize the group key.

[0188] Based on this, in one embodiment, determining the sixth parameter based on the acquired multiple fifth parameters may include:

[0189] Based on the obtained multiple fifth parameters, using a first one-way function, determining the sixth parameter;

[0190] Initializing the group key maintained by itself based on the sixth parameter and the seventh parameter may include:

[0191] Based on the sixth parameter and the seventh parameter, an initialized group key is determined using a second one-way function.

[0192] Here, after receiving the second information, the group member node and the group proxy node may determine the initialized group key based on the sixth parameter and the seventh parameter using the second one-way function.

[0193] In actual application, in various embodiments of the present application, the information exchanged between the network side device, each group member node of the node group and the group proxy node may be information that has been encrypted and integrity protected, and when the information is received, the received information is decrypted and integrity verified. When the integrity verification of the received information passes, the corresponding operation is performed based on the decrypted corresponding information; in this way, the security of managing the group key can be improved.

[0194] Based on this, in one embodiment, sending the first information may include:

[0195] Perform encryption processing and integrity protection processing on the first information; and send the processed first information.

[0196] In actual application, the key used by the network side device, each group member node of the node group and the group proxy node to encrypt / decrypt the exchanged information may be a temporary key negotiated between the corresponding group member node and the network side device and a temporary key negotiated between the group proxy node and the network side device. In addition, the algorithm used by the network side device, each group member node of the node group and the group proxy node to perform integrity protection / verification on the exchanged information may be set according to requirements, such as MD5 message digest algorithm (MD5, Message Digest Algorithm MD5), key derivation function (KDF, Key Derivation Function), etc.

[0197] In actual application, in order to avoid replay attacks, when the interactive information is encrypted and / or integrity protected, identification information such as sequence code and timestamp can be added to the input parameters. In addition, in the process of encrypting and / or integrity protecting the interactive information, if the amount of data to be processed is large, it is necessary to divide the data to be processed into blocks (for example, divide it into blocks of 16 bytes per block) and process it block by block. Therefore, the length of the data to be processed needs to be an integer multiple of the block length (for example, an integer multiple of 16 bytes). If the length of the data to be processed does not meet the requirement of an integer multiple of the block length, a preset data padding algorithm can be used to pad after the data to be processed, so that the padded data to be processed can meet the requirement of an integer multiple of the block length.

[0198] Accordingly, the embodiment of the present application also provides a group key management method, which is applied to a group proxy node, such as Figure 3 As shown, the method includes:

[0199] Step 301: Receive first information sent by a network side device;

[0200] Step 302: Update the group key maintained by itself according to the first information.

[0201] In one embodiment, the first information includes a first parameter; and updating the group key maintained by itself according to the first information includes:

[0202] Based on the first parameter and the currently maintained group key, the group key maintained by itself is updated; wherein the first parameter includes a random number generated by the network side device.

[0203] In one embodiment, when a first operation is detected, a group key short-term update request is sent to the network side device; the first operation is used to trigger a short-term update of the group key; the group key short-term update request is used to request the first information to be sent.

[0204] In one embodiment, the first information, the third parameter and the fourth parameter; and updating the group key maintained by itself according to the first information include:

[0205] Based on the third parameter and the fourth parameter, the group key maintained by itself is updated; wherein the third parameter is determined by the network side device based on the second parameter generated by the acquired group proxy node and each group member node of the node group; the second parameter includes a random number generated by the corresponding node; the fourth parameter includes a random number generated by the network side device.

[0206] In one embodiment, the method further comprises:

[0207] When a second operation is detected, a group key long-term update request is sent to the network side device; the second operation is used to trigger the long-term update of the group key; the group key long-term update request is used to request the first information to be sent.

[0208] In one embodiment, the method further includes: updating the group key maintained by itself based on the third parameter and the fourth parameter, including:

[0209] Based on the third parameter and the fourth parameter, an updated group key is determined using a second one-way function.

[0210] In one embodiment, the updating of the group key maintained by itself based on the first parameter and the currently maintained group key includes:

[0211] Based on the first parameter and the currently maintained group key, an updated group key is determined using a second one-way function.

[0212] In one embodiment, the method further comprises:

[0213] receiving second information sent by the network side device; the second information includes a sixth parameter and a seventh parameter; the sixth parameter is determined by the network side device based on the fifth parameter generated by the acquired group proxy node and each group member node of the node group; the fifth parameter includes a random number generated by the corresponding node; the seventh parameter includes a random number generated by the network side device;

[0214] The group key maintained by itself is initialized based on the sixth parameter and the seventh parameter.

[0215] In one embodiment, the method further includes: initializing the group key maintained by itself based on the sixth parameter and the seventh parameter, including:

[0216] Based on the sixth parameter and the seventh parameter, an initialized group key is determined using a second one-way function.

[0217] In one embodiment, updating the group key maintained by itself according to the first information includes:

[0218] Performing decryption and integrity verification on the first information;

[0219] When the integrity verification of the first information passes, the group key maintained by itself is updated according to the first information.

[0220] Accordingly, the embodiment of the present application also provides a group key management method, which is applied to group member nodes, such as Figure 4 As shown, the method includes:

[0221] Step 401: receiving first information sent by a network side device;

[0222] Step 402: Update the group key maintained by itself according to the first information.

[0223] In one embodiment, the first information includes a first parameter; and updating the group key maintained by itself according to the first information includes:

[0224] Based on the first parameter and the currently maintained group key, the group key maintained by itself is updated; wherein the first parameter includes a random number generated by the network side device.

[0225] In one embodiment, the method further comprises:

[0226] When the third operation is detected, a group key short-term update request is sent to the network side device; the third operation is used to trigger the short-term update of the group key; the group key short-term update request is used to request the first information to be sent.

[0227] In one embodiment, the group member node is a group member node newly joined to the corresponding node group; the receiving the first information sent by the network side device includes:

[0228] Receiving first information including an updated group key of the network side device;

[0229] The updating of the group key maintained by itself according to the first information includes:

[0230] The updated group key of the network side device is determined as the group key maintained by the network side device.

[0231] In one embodiment, the first information includes a third parameter and a fourth parameter; and updating the group key maintained by itself according to the first information includes:

[0232] Based on the third parameter and the fourth parameter, the group key maintained by itself is updated; wherein the third parameter is determined by the network side device based on the second parameter generated by the acquired group proxy node and each group member node of the node group; the second parameter includes a random number generated by the corresponding node; the fourth parameter includes a random number generated by the network side device.

[0233] In one embodiment, the method further comprises:

[0234] When the fourth operation is detected, a group key long-term update request is sent to the network side device; the fourth operation is used to trigger the long-term update of the group key; the group key long-term update request is used to request the first information to be sent.

[0235] In one embodiment, the updating of the group key maintained by itself based on the third parameter and the fourth parameter includes:

[0236] Based on the third parameter and the fourth parameter, an updated group key is determined using a second one-way function.

[0237] In one embodiment, the updating of the group key maintained by itself based on the first parameter and the currently maintained group key includes:

[0238] Based on the first parameter and the currently maintained group key, an updated group key is determined using a second one-way function.

[0239] In one embodiment, the method further comprises:

[0240] receiving second information sent by the network side device; the second information includes a sixth parameter and a seventh parameter; the sixth parameter is determined by the network side device based on the fifth parameter generated by the acquired group proxy node and each group member node of the node group; the fifth parameter includes a random number generated by the corresponding node; the seventh parameter includes a random number generated by the network side device;

[0241] The group key maintained by itself is initialized based on the sixth parameter and the seventh parameter.

[0242] In one embodiment, the method further includes: initializing the group key maintained by itself based on the sixth parameter and the seventh parameter, including:

[0243] Based on the sixth parameter and the seventh parameter, an initialized group key is determined using a second one-way function.

[0244] In one embodiment, updating the group key maintained by itself according to the first information includes:

[0245] Performing decryption and integrity verification on the first information;

[0246] When the integrity verification of the first information passes, the group key maintained by itself is updated according to the first information.

[0247] The group key management method provided in the embodiment of the present application is that the network side device monitors the update event of the group key of the node group; when the update event of the group key of the node group is monitored, the update strategy of the group key is determined according to the monitored update event; based on the determined update strategy, the group key maintained by itself is updated and the first information is determined; the first information is sent to each group member node of the node group and the group proxy node of the node group; after the group member node and the group proxy node receive the first information, they update the group key maintained by themselves according to the first information. In the scheme of the embodiment of the present application, the network side device updates the group key based on different update strategies according to different update events monitored, and sends the first information to each group member node of the node group and the group proxy node of the node group, so that the group member node and the group proxy node can update the group key maintained by themselves. In this way, the life cycle management of the group key can be strengthened, the update mechanism of the group key can be improved, and the communication security of the IoT node group can be improved.

[0248] The present application is further described in detail below in conjunction with application examples.

[0249] This application embodiment provides a group key management method, which is applied to Figure 1 In the scenario of multiple IoT terminal networking shown, the generation and update of group keys when group member nodes and / or group member nodes communicate securely with the server are included, covering the entire life cycle management process of the group keys.

[0250] like Figure 5 As shown, the group key management method provided by this application embodiment may include the following steps:

[0251] Step 501: members initially form a network, and then execute step 502.

[0252] Specifically, the IoT device terminal 1, terminal 2...terminal n performs end-to-end authentication based on the built-in root keys K1, K2...Kn through the access gateway (with built-in root key K0) and the server (which stores the access gateway and the root keys K0, K1, K2...Kn of each group member node of the IoT node group), thereby realizing the initial networking of the group member nodes of the IoT node group.

[0253] Step 502: Initialize the group key; if the group key initialization succeeds, execute step 503; if the group key initialization fails, re-initialize the group key until the group key initialization succeeds.

[0254] Specifically, after the initial networking of the group member nodes is completed, a public (i.e., common) group key can be generated through the group key initialization mechanism. The server, access gateway and each group member node save the group key to conduct secure communication within the group and secure communication with the server based on the group key.

[0255] Step 503: Group members communicate securely; when a short-term group key update request is triggered or a group member joins, step 504 is executed; when a long-term group key update request is triggered or a group member exits, step 505 is executed.

[0256] Specifically, when the server, the access gateway and each group member node communicate securely, when the server receives a short-term group key update request sent by the access gateway or the group member node, or when a new group member node joins the node group, the node group is triggered to perform a short-term update operation on the group key; when the server receives a long-term group key update request sent by the access gateway or the group member node, or when the group member node exits the node group, the node group is triggered to perform a long-term update operation on the group key.

[0257] Step 504: Short-term update of group key.

[0258] Specifically, when the server receives a group key short-term update request sent by an access gateway or a group member node, or when a new group member node joins the node group, in order to ensure the backward security of the group key, that is, to make the new member unable to obtain the original group key and decrypt the group session information before joining the node group, the group key short-term update mechanism can be used to perform a short-term update operation on the group key, and a new group key can be generated based on the original group key. Since this update operation is relatively frequent and may be triggered multiple times in a short period of time, it is called a short-term update.

[0259] Step 505: Long-term update of group key.

[0260] Specifically, when the server receives a group key long-term update request sent by an access gateway or a group member node, or when a group member node exits the node group, in order to ensure the forward security of the group key, the group key long-term update mechanism can be used to perform a long-term update operation on the group key to generate a new group key, even if the exited group member node cannot obtain the updated group key and decrypt the group session information after exiting the group. Since this update operation is relatively rare, it is called long-term update.

[0261] In step 501, in actual application, Figure 6 As shown, the initial networking of members may specifically include the following steps:

[0262] Step 601: The access gateway and the server complete a two-way identity authentication based on K0;

[0263] Step 602: Terminal i (i is an integer greater than 0 and less than or equal to n) and the server complete two-way identity authentication based on Ki.

[0264] Here, the data exchanged between the terminal and the server is transmitted and forwarded by the access gateway, but the access gateway does not directly participate in the specific authentication process.

[0265] Specifically, the group member nodes terminal 1, terminal 2...terminal n are respectively built with root keys K1, K2...Kn, the access gateway is built with root key K0, the server stores the root keys K0, K1, K2...Kn of the access gateway and each group member node, and the root keys K0, K1, K2...Kn can be used for two-way identity authentication between the server and the group member nodes and the access gateway; the two-way identity authentication can be specifically implemented through multiple group authentication protocols; illustratively, in a wireless communication network, the AKA protocol can be used to implement a two-way identity authentication mechanism. After the access gateway and each group member node complete two-way authentication with the server respectively, the identity of the access gateway and each group member node is considered to be legal, and the access gateway and the group member nodes can be used to form an Internet of Things network to form an Internet of Things node group (also called an Internet of Things node group).

[0266] In step 502, in actual application, Figure 7 As shown, generating a group key through a group key initialization mechanism may specifically include the following steps:

[0267] Step 701: The access gateway communicates with the server based on K0 and obtains a temporary session key SK0 with the server.

[0268] Step 702: Terminal i communicates with the server based on Ki and obtains a temporary session key Ski with the server.

[0269] Here, the access gateway only forwards the two-way interactive data and does not directly participate in the specific process of generating a temporary session key between the terminal i and the server.

[0270] Step 703: The access gateway generates a random number R0 and uses SK0 to encrypt and authenticate R0, and sends the result to the server.

[0271] Specifically, the result of the access gateway using SK0 to encrypt and authenticate R0 can be expressed by the following formula:

[0272] M0=Enc(SK0,R0||A0)||MAC(SK0,R0||A0) (1)

[0273] Among them, M0 represents the result of the access gateway using SK0 to encrypt R0 and authenticate the message, that is, the message sent to the server; Enc() represents the symmetric encryption algorithm; MAC() represents the message authentication code algorithm (that is, the above-mentioned integrity protection processing); A0 represents timestamp, sequence code and other identification information used to avoid replay attacks and / or padding information used for data segmentation.

[0274] Step 704: Terminal i generates a random number Ri and uses SKi to encrypt and authenticate Ri, and sends the result to the server.

[0275] Specifically, the result of terminal i using SKi to encrypt and authenticate Ri can be expressed by the following formula:

[0276] Mi=Enc(SKi, Ri||Ai)||MAC(SKi, Ri||Ai) (2)

[0277] Among them, Mi represents the result of terminal i using SKi to encrypt and authenticate Ri, that is, the message sent to the server; Enc() represents the symmetric encryption algorithm; MAC() represents the message authentication code algorithm (that is, the above-mentioned integrity protection processing); Ai represents timestamp, sequence code and other identification information used to avoid replay attacks and / or padding information used for data segmentation.

[0278] Step 705: The server uses SK0, SK1, ... SKn to decrypt and authenticate the received content, and obtains R0, R1, ... Rn if the results are correct.

[0279] Specifically, the process of the server performing message authentication on the received content can be expressed by the following formula:

[0280] Ri||Ai=Dec(SKi, Ri||Ai) (3)

[0281] Wherein, Dec() represents the decryption algorithm; that is, the server determines whether the message authentication code Ri||Ai calculated by formula (3) is consistent with the content of the message authentication code part in Mi. If the result is inconsistent, step 703 is re-executed (that is, the access gateway is incorrect) or step 704 is re-executed (that is, the terminal i is incorrect); if the result is confirmed to be correct, the server can obtain random numbers R0, R1...Rn.

[0282] Step 706: The server uses the one-way function F1 to calculate the parameter R=F1(R0, R1...Rn).

[0283] Here, F1 is a one-way function with strong security strength, strong randomness, and cannot be easily inverted; for example, a cryptographic hash function.

[0284] Step 707: The server generates a random number RandIV, and uses a one-way function F2 to calculate a group key GK=F2(RandIV, R).

[0285] Here, F2 is a one-way function with strong security strength, strong randomness, and cannot be easily inverted; for example, a cryptographic hash function.

[0286] Step 708: The server uses SK0 to encrypt and authenticate R||RandIV, and sends the result to the access gateway.

[0287] Specifically, the result of the server using SK0 to encrypt R||RandIV and authenticate the message can be expressed by the following formula:

[0288] S0=Enc(SK0,R||RandIV||B0)||MAC(SK0,R||RandIV||B0) (4)

[0289] Among them, S0 represents the result of the server using SK0 to encrypt R||RandIV and authenticate the message, that is, the message sent to the access gateway; Enc() represents the symmetric encryption algorithm; MAC() represents the message authentication code algorithm (that is, the above-mentioned integrity protection processing); B0 represents timestamp, sequence code and other identification information used to avoid replay attacks and / or padding information used for data segmentation.

[0290] Step 709: The access gateway uses SK0 to decrypt and authenticate the received content. If the result is correct, R||RandIV is obtained and GK=F2(RandIV, R) is calculated.

[0291] Specifically, the process in which the access gateway uses SK0 to authenticate the received content can be expressed by the following formula:

[0292] R||RandIV||B0=Dec(SK0, R||RandIV||B0) (5)

[0293] Wherein, Dec() represents the decryption algorithm; that is, the access gateway determines whether the message authentication code R||RandIV||B0 calculated by formula (5) is consistent with the content of the message authentication code part in S0. If the result is inconsistent, step 5028 is re-executed; if the result is confirmed to be correct, the access gateway can obtain R||RandIV and use F2 to calculate GK=F2(RandIV, R).

[0294] Step 710: The server uses SKi to encrypt and authenticate R||RandIV, and sends the result to terminal i.

[0295] Specifically, the result of the server using SKi to encrypt and authenticate R||RandIV can be expressed by the following formula:

[0296] Si=Enc(SKi, R||RandIV||Bi)||MAC(SKi, R||RandIV||Bi) (6)

[0297] Among them, Si represents the result of the server using SKi to encrypt and authenticate R||RandIV, that is, the message sent to terminal i; Enc() represents the symmetric encryption algorithm; MAC() represents the message authentication code algorithm (that is, the above-mentioned integrity protection processing); Bi represents timestamp, sequence code and other identification information used to avoid replay attacks and / or padding information used for data segmentation.

[0298] Step 711: Terminal i uses SKi to decrypt and authenticate the received content. If the result is correct, R||RandIV is obtained and GK=F2(RandIV, R) is calculated.

[0299] Specifically, the process in which the access gateway uses SK0 to authenticate the received content can be expressed by the following formula:

[0300] R||RandIV||Bi=Dec(SKi, R||RandIV||Bi) (7)

[0301] Wherein, Dec() represents the decryption algorithm; that is, terminal i determines whether the message authentication code R||RandIV||Bi calculated by formula (7) is consistent with the content of the message authentication code part in Si. If the result is inconsistent, step 5210 is re-executed; if the result is confirmed to be correct, terminal i can obtain R||RandIV, and use F2 to calculate GK=F2(RandIV, R).

[0302] Here, since the group key is generated by the random numbers R0, R1...Rn, RandIV generated by the access gateway, terminal, and server, and is jointly generated by the calculation of two one-way functions F1 and F2, there is no need for the terminal and the access gateway to interact with each other for the update operation of the group key. At the same time, all group member nodes participate in the generation of the group key. Therefore, various security risks that may be caused by an untrustworthy access gateway can be avoided.

[0303] In step 504, in actual application, it is assumed that the original group key (i.e., the group key before the update) is GKOld, and the updated group key is GKNew; terminal m (m is an integer greater than 0) is a group member node newly added to the node group, and terminal m has a built-in root key Km; Figure 8 As shown, the short-term update operation of the group key is performed using the short-term update mechanism of the group key, which may specifically include the following steps:

[0304] Step 801: Terminal m communicates with the server based on Km and sends a request to join a group.

[0305] Step 802: The server confirms and authenticates the request of terminal m to join the group based on Km, and approves the request after confirmation, and adds terminal m to the group members.

[0306] Step 803: Terminal m communicates with the server based on Km and obtains a temporary session key SKm with the server.

[0307] Here, the access gateway only forwards the two-way interactive data and does not directly participate in the specific process of generating a temporary session key between the terminal m and the server.

[0308] Step 804: The server generates a random number RandN, and uses F2 to calculate GKNew=F2(RandN, GKOld).

[0309] Step 805: The server uses SKm to encrypt and authenticate GKNew, and sends the result to terminal m.

[0310] Specifically, the result of the server using SKm to encrypt and authenticate GKNew can be expressed by the following formula:

[0311] Sm=Enc(SKm,GKNew||Am)||MAC(SKm,GKNew||Am) (8)

[0312] Among them, Sm represents the result of the server using SKm to encrypt and authenticate GKNew, that is, the message sent to terminal m; Enc() represents the symmetric encryption algorithm; MAC() represents the message authentication code algorithm (that is, the above-mentioned integrity protection processing); Am represents timestamp, sequence code and other identification information used to avoid replay attacks and / or padding information for data segmentation.

[0313] Step 806: The server uses GKOld to encrypt RandN, uses K0, K1, K2...Kn (excluding Km) to authenticate RandN, and sends the joining status of terminal m and the calculation results to the access gateway and other existing members in the group.

[0314] Specifically, the result of the server using GKOld to encrypt RandN and using K0 to authenticate RandN can be expressed by the following formula:

[0315] S0=Enc(GKOld, RandN||A0)||MAC(K0, RandN||A0) (9)

[0316] Among them, S0 represents the result that the server uses GKOld to encrypt RandN and uses K0 to authenticate the RandN message, that is, the message sent to the access gateway.

[0317] At the same time, the server uses GKOld to encrypt RandN and uses K1, K2...Kn (excluding Km) to authenticate RandN. The result can be expressed by the following formula:

[0318] Si=Enc(GKOld, RandN||Ai)||MAC(Ki, RandN||Ai) (10)

[0319] Among them, S0 represents the result that the server uses GKOld to encrypt RandN and uses K1, K2...Kn (excluding Km) to authenticate RandN, that is, the message sent to existing members in other groups (excluding terminal m).

[0320] Step 807: Terminal m uses SKm to decrypt and authenticate the received content, and obtains GKNew if the result is correct.

[0321] Specifically, the process in which terminal m uses SKm to authenticate the received content can be expressed by the following formula:

[0322] Dec(SKm,GKNew||Am)||MAC(SKm,GKNew||Am) (11)

[0323] Among them, terminal m calculates whether the message authentication code of GKNew||Am is consistent with the content of the Sm message authentication code part in step 805 through formula (11). If the result is inconsistent, step 805 and step 807 are re-executed; if the result is confirmed to be correct, terminal m obtains GKNew.

[0324] Step 808: The access gateway and the original members in the group use GKOld to decrypt the received content to obtain RandN, and use Ki (excluding Km) to authenticate RandN. After confirming that the result is correct, GKNew=F2(RandN, GKOld) is calculated.

[0325] Specifically, the process in which the access gateway decrypts the received content to obtain RandN and uses K0 to authenticate the RandN message can be expressed by the following formula:

[0326] RandN||A0=Dec(GKOld, RandN||A0) (12)

[0327] MAC(K0,RandN||A0) (13)

[0328] The access gateway determines whether the message authentication code RandN||A0 calculated by formula (12) is consistent with the content of the S0 message authentication code part in step 806 (i.e., the result of formula (13)); if there is an inconsistency, steps 806 and 808 are re-executed; if the result is confirmed to be correct, GKNew=F2(RandN, GKOld) is calculated.

[0329] At the same time, the original members of the group (excluding terminal m) decrypt the received content to obtain RandN and use Ki (excluding Km) to authenticate RandN. The process can be expressed by the following formula:

[0330] RandN||Ai=Dec(GKOld, RandN||Ai) (14)

[0331] MAC(Ki,RandN||Ai) (15)

[0332] Among them, the original members in the group (excluding terminal m) determine whether the message authentication code RandN||Ai calculated by formula (14) is consistent with the content of the Si message authentication code part in step 806 (that is, the result of formula (15)); if there is an inconsistency in the results, re-execute steps 806 and 808; if the results are confirmed to be correct, calculate GKNew=F2(RandN, GKOld).

[0333] In actual application, step 504 can support multiple new members to join the group at the same time. The interaction process of new members joining is the same as Figure 8 The interaction process between the terminal m and the server is the same.

[0334] In actual application, the short-term update operation of the group key can also be triggered by a short-term update request of the group key, that is, the server, access gateway or any group member node can actively initiate a short-term update of the group key; after the request is confirmed to be correct, the short-term update operation of the group key can be performed by executing the above steps 804, 806 and 808.

[0335] Here, in the process of short-term update of the group key, GKNew is obtained based on RandN and GKOld generated by the server through the calculation of the one-way function F2. It does not require the intervention of the terminal and the access gateway, reduces the data interaction between the terminal and the server, and the access gateway and the server, and avoids various risks that may be caused by the unreliable access gateway. At the same time, it has backward security, that is, the terminal m cannot reversely obtain GKOld based on GKNew and decrypt the ciphertext before it joins the group.

[0336] In step 505, in actual application, it is assumed that the original group key (i.e., the group key before the update) is GKOld, and the updated group key is GKNew; terminal j (j is an integer greater than 0) is a group member node that exits the node group, and terminal j has a built-in root key Kj; Fig. 9 As shown, the long-term update operation of the group key is performed using the group key long-term update mechanism, which may specifically include the following steps:

[0337] Step 901: Terminal j communicates with the server based on Kj and sends a request to leave the group.

[0338] Step 902: The server confirms and authenticates the leaving request of terminal j based on Kj, agrees after confirmation, and deletes terminal j from the group members.

[0339] Step 903: The server sends the departure information of terminal j to the access gateway and the remaining members in the group, and uses K0, K1, K2...Kn (excluding Kj) to encrypt and authenticate the message respectively.

[0340] Step 904: The access gateway and the remaining members in the group decrypt and authenticate the received content to confirm the departure of terminal j.

[0341] Step 905: The access gateway and the remaining members in the group communicate with the server based on K0, K1, K2...Kn (excluding Kj) respectively to obtain temporary session keys SK0, SK1, SK2...SKn (excluding SKj) with the server.

[0342] Step 906: The access gateway and the remaining members in the group generate random numbers NR0, NR1...NRn (excluding NRj) respectively, and use SK0, SK1...SKn (excluding SKj) to encrypt and authenticate NR0, NR1...NRn (excluding NRj) respectively, and send the results to the server.

[0343] Specifically, the process implemented by step 906 is the same as the process implemented by steps 703 to 704, and will not be repeated here.

[0344] Step 907: The server uses SK0, SK1...SKn (excluding SKj) to decrypt and authenticate the received content, and obtains NR0, NR1...NRn (excluding NRj) after the results are correct.

[0345] Specifically, the process implemented in step 907 is the same as the process implemented in step 905, which will not be repeated here.

[0346] Step 908: The server uses F1 to calculate NR=F1(NR0, NR1...NRn) (excluding NRj).

[0347] Step 909: The server generates a random number RandNew, and uses F2 to calculate GKNew=F2(RandNew, NR).

[0348] Step 910: The server uses SK0, SK1...SKn (excluding SKj) to encrypt and authenticate NR||RandNew, and sends the result to the access gateway and the remaining members in the group.

[0349] Specifically, the process implemented by step 910 is the same as the process implemented by steps 708 and 710, and will not be repeated here.

[0350] Step 911: The access gateway and the remaining members in the group use SK0, SK1...SKn (excluding SKj) to decrypt and authenticate the received content respectively. After the result is confirmed to be correct, NR||RandNew is obtained, and GKNew=F2(RandNew,NR) is calculated.

[0351] Specifically, the process implemented by step 911 is the same as the process implemented by steps 709 and 711, and will not be repeated here.

[0352] In actual application, step 505 can support multiple group member nodes to exit the group at the same time. The process of interaction between the group member node and the server when exiting the group is the same as Fig. 9 The interaction process between the terminal j and the server is the same.

[0353] In actual application, the long-term update operation of the group key can also be triggered by a long-term update request of the group key, that is, the server, access gateway or any group member node can actively initiate the long-term update of the group key; after the request is confirmed, the long-term update operation of the group key can be performed by executing the above steps 905 to 911.

[0354] Here, in the process of long-term update of the group key, GKNew is generated by the random numbers NR0, NR1...NRn, RandNew generated by the access gateway, terminal, and server, and is jointly generated by the calculation of two one-way functions F1 and F2. There is no need for the terminal and the access gateway to interact with each other for the update operation of the group key. At the same time, all group member nodes participate in the update of the group key. Therefore, various security risks that may be caused by the untrustworthy access gateway can be avoided. At the same time, it has forward security, that is, terminal j cannot reversely infer GKNew based on GKOld, and decrypt the ciphertext after it exits the group.

[0355] In order to implement the method of the embodiment of the present application, the embodiment of the present application also provides a group key management device, which is set on the network side device, such as Fig.10 As shown, the device comprises:

[0356] The monitoring unit 1001 is used to monitor the update event of the group key of the node group; and when the update event of the group key of the node group is monitored, determine the update strategy of the group key according to the monitored update event;

[0357] The first processing unit 1002 is configured to update the group key maintained by itself based on the determined update strategy and determine the first information;

[0358] The first sending unit 1003 is used to send the first information to each group member node of the node group and the group proxy node of the node group; the first information is used for the group member node and the group proxy node to update the group key maintained by themselves.

[0359] In one embodiment, the monitoring unit 1001 is configured to determine that the update strategy of the group key is a short-term update strategy when receiving a group key short-term update request sent by the group member node or the group proxy node;

[0360] The first processing unit 1002 is configured to:

[0361] Generate a first parameter based on the short-term update strategy; the first parameter includes a random number generated by the network side device; the first information includes the first parameter;

[0362] Based on the first parameter and the currently maintained group key, the group key maintained by itself is updated.

[0363] In one embodiment, the monitoring unit 1001 is configured to determine that the update strategy of the group key is a long-term update strategy when receiving a group key long-term update request sent by the group member node or the group proxy node;

[0364] The group key management device further includes an acquisition unit; the acquisition unit is used to acquire a second parameter generated by the group proxy node and each group member node of the node group based on the long-term update strategy; the second parameter includes a random number generated by the corresponding node;

[0365] The first processing unit 1002 is configured to:

[0366] Determine a third parameter based on the obtained multiple second parameters; and generate a fourth parameter based on the long-term update strategy; the fourth parameter includes a random number generated by the network side device; the first information includes the third parameter and the fourth parameter;

[0367] Based on the third parameter and the fourth parameter, the group key maintained by itself is updated.

[0368] In one embodiment, the monitoring unit 1001 is configured to, upon receiving a node group joining request sent by a first communication node and determining the first communication node as a new group member node, determine that the update strategy of the group key is a short-term update strategy;

[0369] The first processing unit 1002 is configured to:

[0370] generating a first parameter based on the short-term update strategy;

[0371] Based on the first parameter and the currently maintained group key, updating the group key maintained by itself;

[0372] The first sending unit 1003 is used to send the first information including the first parameter to the group proxy node and other group member nodes in the node group except the new group member node, and send the first information including the updated group key to the new group member node.

[0373] In one embodiment, the monitoring unit 1001 is configured to, upon receiving a leave node group request sent by a first group member node and deleting the first group member node from the node group, determine that the update strategy of the group key is a long-term update strategy;

[0374] The first processing unit 1002 is configured to:

[0375] Based on the long-term update strategy, a second parameter generated by the group proxy node and each group member node of the node group is obtained; the second parameter includes a random number generated by the corresponding node; a third parameter is determined based on the obtained multiple second parameters; and a fourth parameter is generated based on the long-term update strategy; the fourth parameter includes a random number generated by the network side device; the first information includes the third parameter and the fourth parameter;

[0376] Based on the third parameter and the fourth parameter, the group key maintained by itself is updated.

[0377] In one embodiment, the first processing unit 1002 is configured to:

[0378] Based on the obtained multiple second parameters, using a first one-way function, determining the third parameter;

[0379] Based on the third parameter and the fourth parameter, an updated group key is determined using a second one-way function.

[0380] In one embodiment, the first processing unit 1002 is configured to determine an updated group key based on the first parameter and the currently maintained group key using a second one-way function.

[0381] In one embodiment, the acquisition unit is used to acquire a fifth parameter generated by the group proxy node and each group member node of the node group; the fifth parameter includes a random number generated by the corresponding node;

[0382] The first processing unit 1002 is configured to determine a sixth parameter based on the obtained plurality of fifth parameters; and initialize the group key maintained by itself based on the sixth parameter and the seventh parameter; the seventh parameter includes a random number generated by the network side device;

[0383] The first sending unit 1003 is used to send second information to each group member node of the node group and the group proxy node of the node group; the second information includes the sixth parameter and the seventh parameter; the second information is used for the group member node and the group proxy node to initialize the group key maintained by themselves.

[0384] In one embodiment, the first processing unit 1002 is configured to:

[0385] Based on the obtained multiple fifth parameters, using a first one-way function, determining the sixth parameter;

[0386] Based on the sixth parameter and the seventh parameter, an initialized group key is determined using a second one-way function.

[0387] In one embodiment, the first processing unit 1002 is used to perform encryption processing and integrity protection processing on the first information;

[0388] The first sending unit 1003 is used to send the processed first information.

[0389] In actual application, the monitoring unit 1001 and the acquisition unit can be implemented by a processor in the group key management device combined with a communication interface; the first processing unit 1002 can be implemented by a processor in the group key management device; the first sending unit 1003 can be implemented by a communication interface in the group key management device.

[0390] In order to implement the method on the group proxy node side of the embodiment of the present application, the embodiment of the present application also provides a group key management device, which is set on the group proxy node, such as Fig.11 As shown, the device comprises:

[0391] The first receiving unit 1101 is used to receive first information sent by a network side device;

[0392] The second processing unit 1102 is configured to update the group key maintained by itself according to the first information.

[0393] In one embodiment, the first information includes a first parameter; the second processing unit 1102 is used to update the group key maintained by itself based on the first parameter and the currently maintained group key; wherein the first parameter includes a random number generated by the network side device.

[0394] In one embodiment, the group key management device further includes a second sending unit; wherein,

[0395] The second sending unit is used to send a group key short-term update request to the network side device when a first operation is detected; the first operation is used to trigger a short-term update of the group key; the group key short-term update request is used to request the first information to be sent.

[0396] In one embodiment, the first information includes a third parameter and a fourth parameter; the second processing unit 1102 is used to update the group key maintained by itself based on the third parameter and the fourth parameter; wherein the third parameter is determined by the network side device based on the second parameter generated by the acquired group proxy node and each group member node of the node group; the second parameter includes a random number generated by the corresponding node; and the fourth parameter includes a random number generated by the network side device.

[0397] In one embodiment, the second sending unit is used to send a group key long-term update request to the network side device when a second operation is detected; the second operation is used to trigger the long-term update of the group key; the group key long-term update request is used to request the sending of the first information.

[0398] In one embodiment, the second processing unit 1102 is configured to determine an updated group key based on the third parameter and the fourth parameter using a second one-way function.

[0399] In one embodiment, the second processing unit 1102 is configured to determine an updated group key based on the first parameter and the currently maintained group key using a second one-way function.

[0400] In one embodiment, the first receiving unit 1101 is used to receive the second information sent by the network side device; the second information includes a sixth parameter and a seventh parameter; the sixth parameter is determined by the network side device based on the fifth parameter generated by the acquired group proxy node and each group member node of the node group; the fifth parameter includes a random number generated by the corresponding node; the seventh parameter includes a random number generated by the network side device;

[0401] The second processing unit 1102 is configured to initialize the group key maintained by itself based on the sixth parameter and the seventh parameter.

[0402] In one embodiment, the second processing unit 1102 is configured to determine an initialized group key based on the sixth parameter and the seventh parameter using a second one-way function.

[0403] In one embodiment, the second processing unit 1102 is configured to:

[0404] Performing decryption and integrity verification on the first information;

[0405] When the integrity verification of the first information passes, the group key maintained by itself is updated according to the first information.

[0406] In actual application, the second processing unit 1102 can be implemented by a processor in the group key management device; the second sending unit and the first receiving unit 1101 can be implemented by a communication interface in the group key management device.

[0407] Accordingly, the embodiment of the present application also provides a group key management device, which is set on a group member node, such as Fig.12 As shown, the device comprises:

[0408] The second receiving unit 1201 is used to receive the first information sent by the network side device;

[0409] The third processing unit 1202 is configured to update the group key maintained by itself according to the first information.

[0410] In one embodiment, the first information includes a first parameter; the third processing unit 1202 is used to update the group key maintained by itself based on the first parameter and the currently maintained group key; wherein the first parameter includes a random number generated by the network side device.

[0411] In one embodiment, the group key management device further includes a third sending unit; wherein,

[0412] The third sending unit is used to send a group key short-term update request to the network side device when a third operation is detected; the third operation is used to trigger a short-term update of the group key; the group key short-term update request is used to request the first information to be sent.

[0413] In one embodiment, the group key management device is set on a group member node newly added to the corresponding node group; the second receiving unit 1201 is used to receive the first information including the updated group key of the network side device;

[0414] The third processing unit 1202 is configured to determine the group key updated by the network side device as the group key maintained by itself.

[0415] In one embodiment, the first information includes a third parameter and a fourth parameter; the third processing unit 1202 is used to update the group key maintained by itself based on the third parameter and the fourth parameter; wherein the third parameter is determined by the network side device based on the second parameter generated by the acquired group proxy node and each group member node of the node group; the second parameter includes a random number generated by the corresponding node; and the fourth parameter includes a random number generated by the network side device.

[0416] In one embodiment, the third sending unit is used to send a group key long-term update request to the network side device when a fourth operation is detected; the fourth operation is used to trigger the long-term update of the group key; and the group key long-term update request is used to request the sending of the first information.

[0417] In one embodiment, the third processing unit 1202 is configured to determine an updated group key based on the third parameter and the fourth parameter using a second one-way function.

[0418] In one embodiment, the third processing unit 1202 is configured to determine an updated group key based on the first parameter and the currently maintained group key using a second one-way function.

[0419] In one embodiment, the second receiving unit 1201 is used to receive the second information sent by the network side device; the second information includes a sixth parameter and a seventh parameter; the sixth parameter is determined by the network side device based on the fifth parameter generated by the acquired group proxy node and each group member node of the node group; the fifth parameter includes a random number generated by the corresponding node; the seventh parameter includes a random number generated by the network side device;

[0420] The third processing unit 1202 is configured to initialize the group key maintained by itself based on the sixth parameter and the seventh parameter.

[0421] In one embodiment, the third processing unit 1202 is configured to determine an initialized group key based on the sixth parameter and the seventh parameter using a second one-way function.

[0422] In one embodiment, the third processing unit 1202 is configured to:

[0423] Performing decryption and integrity verification on the first information;

[0424] When the integrity verification of the first information passes, the group key maintained by itself is updated according to the first information.

[0425] In actual application, the third processing unit 1202 can be implemented by a processor in the group key management device; the third sending unit and the second receiving unit 1201 can be implemented by a communication interface in the group key management device.

[0426] It should be noted that: the group key management device provided in the above embodiment only uses the division of the above program modules as an example to illustrate when managing group keys. In actual application, the above processing can be assigned to different program modules as needed, that is, the internal structure of the group key management device is divided into different program modules to complete all or part of the above-described processing. In addition, the group key management device provided in the above embodiment and the group key management method embodiment belong to the same concept, and the specific implementation process is detailed in the method embodiment, which will not be repeated here.

[0427] In order to implement the method on the network side device side of the embodiment of the present application, the embodiment of the present application also provides a network side device, such as Fig.13 As shown, the network side device includes:

[0428] The first processor 1302 is configured to monitor an update event of a group key of a node group; when an update event of a group key of a node group is monitored, determine an update strategy of the group key according to the monitored update event; and update the group key maintained by itself based on the determined update strategy and determine the first information;

[0429] The first communication interface 1301 is used to send the first information to each group member node of the node group and the group proxy node of the node group; the first information is used for the group member node and the group proxy node to update the group key maintained by themselves.

[0430] In one embodiment, the first processor 1302 is configured to:

[0431] When receiving a group key short-term update request sent by the group member node or the group proxy node, determining that the update strategy of the group key is a short-term update strategy;

[0432] Generate a first parameter based on the short-term update strategy; the first parameter includes a random number generated by the network side device; the first information includes the first parameter;

[0433] Based on the first parameter and the currently maintained group key, the group key maintained by itself is updated.

[0434] In one embodiment, the first processor 1302 is configured to:

[0435] When receiving a group key long-term update request sent by the group member node or the group proxy node, determining that the update strategy of the group key is a long-term update strategy;

[0436] Based on the long-term update strategy, obtaining, through the first communication interface 1301, a second parameter generated by the group proxy node and each group member node of the node group; the second parameter includes a random number generated by the corresponding node; determining a third parameter based on the obtained multiple second parameters; and generating a fourth parameter based on the long-term update strategy; the fourth parameter includes a random number generated by the network side device; the first information includes the third parameter and the fourth parameter;

[0437] Based on the third parameter and the fourth parameter, the group key maintained by itself is updated.

[0438] In one embodiment, the first processor 1302 is configured to:

[0439] Upon receiving a node group joining request sent by a first communication node and determining the first communication node as a new group member node, determining that an update strategy for a group key is a short-term update strategy;

[0440] generating a first parameter based on the short-term update strategy;

[0441] Based on the first parameter and the currently maintained group key, updating the group key maintained by itself;

[0442] The first communication interface 1301 is used to send first information including the first parameter to the group proxy node and other group member nodes in the node group except the new group member node, and send first information including the updated group key to the new group member node.

[0443] In one embodiment, the first processor 1302 is configured to:

[0444] Upon receiving a leave node group request sent by a first group member node and deleting the first group member node from the node group, determining that the update strategy of the group key is a long-term update strategy;

[0445] Based on the long-term update strategy, obtaining, through the first communication interface 1301, a second parameter generated by the group proxy node and each group member node of the node group; the second parameter includes a random number generated by the corresponding node; determining a third parameter based on the obtained multiple second parameters; and generating a fourth parameter based on the long-term update strategy; the fourth parameter includes a random number generated by the network side device; the first information includes the third parameter and the fourth parameter;

[0446] Based on the third parameter and the fourth parameter, the group key maintained by itself is updated.

[0447] In one embodiment, the first processor 1302 is configured to:

[0448] Based on the obtained multiple second parameters, using a first one-way function, determining the third parameter;

[0449] Based on the third parameter and the fourth parameter, an updated group key is determined using a second one-way function.

[0450] In one embodiment, the first processor 1302 is configured to determine an updated group key based on the first parameter and a currently maintained group key using a second one-way function.

[0451] In one embodiment, the first processor 1302 is used to obtain, through the first communication interface 1301, a fifth parameter generated by the group proxy node and each group member node of the node group; the fifth parameter includes a random number generated by the corresponding node;

[0452] Determine a sixth parameter based on the obtained multiple fifth parameters; and initialize the group key maintained by itself based on the sixth parameter and the seventh parameter; the seventh parameter includes a random number generated by the network side device;

[0453] The first communication interface 1301 is used to send second information to each group member node of the node group and the group proxy node of the node group; the second information includes the sixth parameter and the seventh parameter; the second information is used for the group member node and the group proxy node to initialize the group key maintained by themselves.

[0454] In one embodiment, the first processor 1302 is configured to:

[0455] Based on the obtained multiple fifth parameters, using a first one-way function, determining the sixth parameter;

[0456] Based on the sixth parameter and the seventh parameter, an initialized group key is determined using a second one-way function.

[0457] In one embodiment, the first processor 1302 is configured to perform encryption processing and integrity protection processing on the first information;

[0458] The first communication interface 1301 is used to send the processed first information.

[0459] It should be noted that the specific processing process of the first processor 1302 and the first communication interface 1301 can be understood by referring to the above method.

[0460] In order to implement the method of the group proxy node side of the embodiment of the present application, the embodiment of the present application also provides a group proxy node, such as Fig.14 As shown, the group proxy node includes:

[0461] The second communication interface 1401 is used to receive the first information sent by the network side device;

[0462] The second processor 1402 is configured to update the group key maintained by itself according to the first information.

[0463] In one embodiment, the first information includes a first parameter; the second processor 1402 is used to update the group key maintained by itself based on the first parameter and the currently maintained group key; wherein the first parameter includes a random number generated by the network side device.

[0464] In one embodiment, the second communication interface 1401 is used to send a group key short-term update request to the network side device when a first operation is detected; the first operation is used to trigger a short-term update of the group key; and the group key short-term update request is used to request the first information to be sent.

[0465] In one embodiment, the first information includes a third parameter and a fourth parameter; the second processor 1402 is used to update the group key maintained by itself based on the third parameter and the fourth parameter; wherein the third parameter is determined by the network side device based on the second parameter generated by the acquired group proxy node and each group member node of the node group; the second parameter includes a random number generated by the corresponding node; and the fourth parameter includes a random number generated by the network side device.

[0466] In one embodiment, the second communication interface 1401 is used to send a group key long-term update request to the network side device when a second operation is detected; the second operation is used to trigger the long-term update of the group key; the group key long-term update request is used to request the sending of the first information.

[0467] In one embodiment, the second processor 1402 is configured to determine an updated group key based on the third parameter and the fourth parameter using a second one-way function.

[0468] In one embodiment, the second processor 1402 is configured to determine an updated group key based on the first parameter and the currently maintained group key using a second one-way function.

[0469] In one embodiment, the second communication interface 1401 is used to receive the second information sent by the network side device; the second information includes a sixth parameter and a seventh parameter; the sixth parameter is determined by the network side device based on the fifth parameter generated by the acquired group proxy node and each group member node of the node group; the fifth parameter includes a random number generated by the corresponding node; the seventh parameter includes a random number generated by the network side device;

[0470] The second processor 1402 is configured to initialize the group key maintained by itself based on the sixth parameter and the seventh parameter.

[0471] In one embodiment, the second processor 1402 is configured to determine an initialized group key based on the sixth parameter and the seventh parameter using a second one-way function.

[0472] In one embodiment, the second processor 1402 is configured to:

[0473] Performing decryption and integrity verification on the first information;

[0474] When the integrity verification of the first information passes, the group key maintained by itself is updated according to the first information.

[0475] It should be noted that the specific processing process of the second processor 1402 and the second communication interface 1401 can be understood by referring to the above method.

[0476] In order to implement the method of the group proxy node side of the embodiment of the present application, the embodiment of the present application also provides a group member node, such as Fig.15 As shown, the group member nodes include:

[0477] The third communication interface 1501 is used to receive the first information sent by the network side device;

[0478] The third processor 1502 is configured to update the group key maintained by itself according to the first information.

[0479] In one embodiment, the first information includes a first parameter; the third processor 1502 is used to update the group key maintained by itself based on the first parameter and the currently maintained group key; wherein the first parameter includes a random number generated by the network side device.

[0480] In one embodiment, the third communication interface 1501 is used to send a group key short-term update request to the network side device when a third operation is detected; the third operation is used to trigger a short-term update of the group key; and the group key short-term update request is used to request the sending of the first information.

[0481] In one embodiment, Fig.15 The group member node shown is a group member node newly added to the corresponding node group; the third communication interface 1501 is used to receive the first information including the updated group key of the network side device;

[0482] The third processor 1502 is configured to determine the group key updated by the network-side device as the group key maintained by itself.

[0483] In one embodiment, the first information includes a third parameter and a fourth parameter; the third processor 1502 is used to update the group key maintained by itself based on the third parameter and the fourth parameter; wherein the third parameter is determined by the network side device based on the second parameter generated by the acquired group proxy node and each group member node of the node group; the second parameter includes a random number generated by the corresponding node; and the fourth parameter includes a random number generated by the network side device.

[0484] In one embodiment, the third communication interface 1501 is used to send a group key long-term update request to the network side device when a fourth operation is detected; the fourth operation is used to trigger the long-term update of the group key; the group key long-term update request is used to request the sending of the first information.

[0485] In one embodiment, the third processor 1502 is configured to determine an updated group key based on the third parameter and the fourth parameter using a second one-way function.

[0486] In one embodiment, the third processor 1502 is configured to determine an updated group key based on the first parameter and the currently maintained group key using a second one-way function.

[0487] In one embodiment, the third communication interface 1501 is used to receive the second information sent by the network side device; the second information includes a sixth parameter and a seventh parameter; the sixth parameter is determined by the network side device based on the fifth parameter generated by the acquired group proxy node and each group member node of the node group; the fifth parameter includes a random number generated by the corresponding node; the seventh parameter includes a random number generated by the network side device;

[0488] The third processor 1502 is configured to initialize the group key maintained by itself based on the sixth parameter and the seventh parameter.

[0489] In one embodiment, the third processor 1502 is configured to determine an initialized group key based on the sixth parameter and the seventh parameter using a second one-way function.

[0490] In one embodiment, the third processor 1502 is configured to:

[0491] Performing decryption and integrity verification on the first information;

[0492] When the integrity verification of the first information passes, the group key maintained by itself is updated according to the first information.

[0493] It should be noted that the specific processing process of the third processor 1502 and the third communication interface 1501 can be understood by referring to the above method.

[0494] Based on the hardware implementation of the above program modules, and in order to implement the method of the embodiment of the present application, the embodiment of the present application also provides a communication node, which can be a network side device, a group proxy node or a group member node, such as Fig.16 As shown, the communication node 1600 includes:

[0495] Communication interface 1601, capable of exchanging information with other communication nodes;

[0496] The processor 1602 is connected to the communication interface 1601 to implement information interaction with other communication nodes, and is used to execute the method provided by one or more of the above technical solutions when running the computer program;

[0497] The memory 1603 is used to store computer programs that can be run on the processor 1602 .

[0498] Here, in the case where the communication node 1600 is a network side device, the other communication nodes may be group proxy nodes and / or group member nodes, the function of the communication interface 1601 is equivalent to the function of the above-mentioned first communication interface 1301, and the function of the processor 1602 is equivalent to the function of the above-mentioned first processor 1302; in the case where the communication node 1600 is a group proxy node, the other communication nodes may be network side devices and / or group member nodes, the function of the communication interface 1601 is equivalent to the function of the above-mentioned second communication interface 1401, and the function of the processor 1602 is equivalent to the function of the above-mentioned second processor 1402; when the communication node 1600 is a group member node, the other communication nodes may be network side devices and / or group proxy nodes, the function of the communication interface 1601 is equivalent to the function of the above-mentioned third communication interface 1501, and the function of the processor 1602 is equivalent to the function of the above-mentioned third processor 1502.

[0499] Specifically, when the communication node 1600 is a network side device, the processor 1602 is configured to perform the following operations:

[0500] Monitor the update events of the group key of the node group;

[0501] When an update event of a group key of a node group is detected, an update strategy of the group key is determined according to the detected update event;

[0502] Based on the determined update strategy, the group key maintained by itself is updated and the first information is determined; the first information is sent to each group member node of the node group and the group proxy node of the node group through the communication interface 1601; the first information is used for the group member node and the group proxy node to update the group key maintained by themselves.

[0503] In one embodiment, the processor 1602 is configured to perform the following operations:

[0504] Receiving, through the communication interface 1601, a group key short-term update request sent by the group member node or the group proxy node, and determining that the update strategy of the group key is a short-term update strategy;

[0505] Generate a first parameter based on the short-term update strategy; the first parameter includes a random number generated by the network side device; the first information includes the first parameter;

[0506] Based on the first parameter and the currently maintained group key, the group key maintained by itself is updated.

[0507] In one embodiment, the processor 1602 is configured to perform the following operations:

[0508] Receiving, through the communication interface 1601, a group key long-term update request sent by the group member node or the group proxy node, and determining that the update strategy of the group key is a long-term update strategy;

[0509] Based on the long-term update strategy, obtaining, through the communication interface 1601, a second parameter generated by the group proxy node and each group member node of the node group; the second parameter includes a random number generated by the corresponding node; determining a third parameter based on the obtained multiple second parameters; and generating a fourth parameter based on the long-term update strategy; the fourth parameter includes a random number generated by the network side device; the first information includes the third parameter and the fourth parameter;

[0510] Based on the third parameter and the fourth parameter, the group key maintained by itself is updated.

[0511] In one embodiment, the processor 1602 is configured to perform the following operations:

[0512] When a node group joining request sent by a first communication node is received through the communication interface 1601, and the first communication node is determined as a new group member node, determining that the update strategy of the group key is a short-term update strategy;

[0513] generating a first parameter based on the short-term update strategy;

[0514] Based on the first parameter and the currently maintained group key, the group key maintained by itself is updated; and the first information containing the first parameter is sent to the group proxy node and other group member nodes in the node group except the new group member node through the communication interface 1601, and the first information containing the updated group key is sent to the new group member node.

[0515] In one embodiment, the processor 1602 is configured to perform the following operations:

[0516] When receiving a leave node group request sent by a first group member node through the communication interface 1601 and deleting the first group member node from the node group, determining that the update strategy of the group key is a long-term update strategy;

[0517] Based on the long-term update strategy, a second parameter generated by the group proxy node and each group member node of the node group is obtained; the second parameter includes a random number generated by the corresponding node; a third parameter is determined based on the obtained multiple second parameters; and a fourth parameter is generated based on the long-term update strategy; the fourth parameter includes a random number generated by the network side device; the first information includes the third parameter and the fourth parameter;

[0518] Based on the third parameter and the fourth parameter, the group key maintained by itself is updated.

[0519] In one embodiment, the processor 1602 is configured to perform the following operations:

[0520] Based on the obtained multiple second parameters, using a first one-way function, determining the third parameter;

[0521] Based on the third parameter and the fourth parameter, an updated group key is determined using a second one-way function.

[0522] In one embodiment, the processor 1602 is configured to perform the following operations:

[0523] Based on the first parameter and the currently maintained group key, an updated group key is determined using a second one-way function.

[0524] In one embodiment, the processor 1602 is configured to perform the following operations:

[0525] Acquire the fifth parameter generated by the group proxy node and each group member node of the node group through the communication interface 1601; the fifth parameter includes a random number generated by the corresponding node;

[0526] Determine a sixth parameter based on the obtained multiple fifth parameters; and initialize the group key maintained by itself based on the sixth parameter and the seventh parameter; the seventh parameter includes a random number generated by the network side device;

[0527] The second information is sent to each group member node of the node group and the group proxy node of the node group through the communication interface 1601; the second information includes the sixth parameter and the seventh parameter; the second information is used for the group member node and the group proxy node to initialize the group key maintained by themselves.

[0528] In one embodiment, the processor 1602 is configured to perform the following operations:

[0529] Based on the obtained multiple fifth parameters, using a first one-way function, determining the sixth parameter;

[0530] Based on the sixth parameter and the seventh parameter, an initialized group key is determined using a second one-way function.

[0531] In one embodiment, the processor 1602 is configured to perform the following operations:

[0532] The first information is encrypted and integrity protected; and the processed first information is sent through the communication interface 1601.

[0533] Accordingly, when the communication node 1600 is a group proxy node, the processor 1602 is configured to perform the following operations:

[0534] Receiving first information sent by a network side device through the communication interface 1601;

[0535] The group key maintained by itself is updated according to the first information.

[0536] In one embodiment, the first information includes a first parameter; the processor 1602 is configured to perform the following operations:

[0537] Based on the first parameter and the currently maintained group key, the group key maintained by itself is updated; wherein the first parameter includes a random number generated by the network side device.

[0538] In one embodiment, the processor 1602 is configured to perform the following operations:

[0539] When a first operation is detected, a group key short-term update request is sent to the network side device through the communication interface 1601; the first operation is used to trigger a short-term update of the group key; the group key short-term update request is used to request the first information to be sent.

[0540] In one embodiment, the first information includes a third parameter and a fourth parameter; the processor 1602 is configured to perform the following operations:

[0541] Based on the third parameter and the fourth parameter, the group key maintained by itself is updated; wherein the third parameter is determined by the network side device based on the second parameter generated by the acquired group proxy node and each group member node of the node group; the second parameter includes a random number generated by the corresponding node; the fourth parameter includes a random number generated by the network side device.

[0542] In one embodiment, the processor 1602 is configured to perform the following operations:

[0543] When the second operation is detected, a group key long-term update request is sent to the network side device through the communication interface 1601; the second operation is used to trigger the long-term update of the group key; the group key long-term update request is used to request the first information to be sent.

[0544] In one embodiment, the processor 1602 is configured to perform the following operations:

[0545] Based on the third parameter and the fourth parameter, an updated group key is determined using a second one-way function.

[0546] In one embodiment, the processor 1602 is configured to perform the following operations:

[0547] Based on the first parameter and the currently maintained group key, an updated group key is determined using a second one-way function.

[0548] In one embodiment, the processor 1602 is configured to perform the following operations:

[0549] receiving, through the communication interface 1601, second information sent by the network side device; the second information includes a sixth parameter and a seventh parameter; the sixth parameter is determined by the network side device based on the fifth parameter generated by the acquired group proxy node and each group member node of the node group; the fifth parameter includes a random number generated by the corresponding node; the seventh parameter includes a random number generated by the network side device;

[0550] The group key maintained by itself is initialized based on the sixth parameter and the seventh parameter.

[0551] In one embodiment, the processor 1602 is configured to perform the following operations:

[0552] Based on the sixth parameter and the seventh parameter, an initialized group key is determined using a second one-way function.

[0553] In one embodiment, the processor 1602 is configured to perform the following operations:

[0554] Performing decryption and integrity verification on the first information;

[0555] When the integrity verification of the first information passes, the group key maintained by itself is updated according to the first information.

[0556] Accordingly, when the communication node 1600 is a group member node, the processor 1602 is configured to perform the following operations:

[0557] Receiving first information sent by a network side device through the communication interface 1601;

[0558] The group key maintained by itself is updated according to the first information.

[0559] In one embodiment, the first information includes a first parameter; the processor 1602 is configured to perform the following operations:

[0560] Based on the first parameter and the currently maintained group key, the group key maintained by itself is updated; wherein the first parameter includes a random number generated by the network side device.

[0561] In one embodiment, the processor 1602 is configured to perform the following operations:

[0562] When the third operation is detected, a group key short-term update request is sent to the network side device through the communication interface 1601; the third operation is used to trigger the short-term update of the group key; the group key short-term update request is used to request the first information to be sent.

[0563] In one embodiment, the communication node 1600 is a group member node newly joined to the corresponding node group; the processor 1602 is used to perform the following operations:

[0564] Receiving, through the communication interface 1601, first information including an updated group key of the network side device;

[0565] The updated group key of the network side device is determined as the group key maintained by the network side device.

[0566] In one embodiment, the first information includes a third parameter and a fourth parameter; the processor 1602 is configured to perform the following operations:

[0567] Based on the third parameter and the fourth parameter, the group key maintained by itself is updated; wherein the third parameter is determined by the network side device based on the second parameter generated by the acquired group proxy node and each group member node of the node group; the second parameter includes a random number generated by the corresponding node; the fourth parameter includes a random number generated by the network side device.

[0568] In one embodiment, the processor 1602 is configured to perform the following operations:

[0569] When the fourth operation is detected, a group key long-term update request is sent to the network side device through the communication interface 1601; the fourth operation is used to trigger the long-term update of the group key; the group key long-term update request is used to request the first information to be sent.

[0570] In one embodiment, the processor 1602 is configured to perform the following operations:

[0571] Based on the third parameter and the fourth parameter, an updated group key is determined using a second one-way function.

[0572] In one embodiment, the processor 1602 is configured to perform the following operations:

[0573] Based on the first parameter and the currently maintained group key, an updated group key is determined using a second one-way function.

[0574] In one embodiment, the processor 1602 is configured to perform the following operations:

[0575] receiving, through the communication interface 1601, second information sent by the network side device; the second information includes a sixth parameter and a seventh parameter; the sixth parameter is determined by the network side device based on the fifth parameter generated by the acquired group proxy node and each group member node of the node group; the fifth parameter includes a random number generated by the corresponding node; the seventh parameter includes a random number generated by the network side device;

[0576] The group key maintained by itself is initialized based on the sixth parameter and the seventh parameter.

[0577] In one embodiment, the processor 1602 is configured to perform the following operations:

[0578] Based on the sixth parameter and the seventh parameter, an initialized group key is determined using a second one-way function.

[0579] In one embodiment, the processor 1602 is configured to perform the following operations:

[0580] Performing decryption and integrity verification on the first information;

[0581] When the integrity verification of the first information passes, the group key maintained by itself is updated according to the first information.

[0582] It should be noted that: the specific process of the processor 1602 performing the above operations is detailed in the method embodiment, which will not be repeated here.

[0583] Of course, in actual application, the various components in the communication node 1600 are coupled together through the bus system 1604. It can be understood that the bus system 1604 is used to realize the connection and communication between these components. In addition to the data bus, the bus system 1604 also includes a power bus, a control bus, and a status signal bus. However, for the sake of clarity, Fig.16 Various buses are labeled as bus system 1604.

[0584] The memory 1603 in the embodiment of the present application is used to store various types of data to support the operation of the communication node 1600. Examples of such data include: any computer program used to operate on the communication node 1600.

[0585] The method disclosed in the above embodiment of the present application can be applied to the processor 1602, or implemented by the processor 1602. The processor (processor 1602, first processor 1302, second processor 1402, third processor 1502) in the embodiment of the present application may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by the hardware integrated logic circuit or software instruction in the processor (processor 1602, first processor 1302, second processor 1402, third processor 1502). The above processor (processor 1602, first processor 1302, second processor 1402, third processor 1502) can be a general processor, a digital signal processor (DSP, Digital Signal Processor), or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, etc. The processor (processor 1602, first processor 1302, second processor 1402, third processor 1502) can implement or execute the disclosed methods, steps and logic block diagrams in the embodiment of the present application. The general processor may be a microprocessor or any conventional processor, etc. In conjunction with the steps of the method disclosed in the embodiment of the present application, it can be directly embodied as a hardware decoding processor, or a combination of hardware and software modules in the decoding processor. The software module may be located in a storage medium, which is located in the memory 1603, and the processor (processor 1602, first processor 1302, second processor 1402, third processor 1502) reads the information in the memory 1603, and completes the steps of the aforementioned method in conjunction with its hardware.

[0586] In an exemplary embodiment, the communication node 1600 may be implemented by one or more application specific integrated circuits (ASICs), DSPs, programmable logic devices (PLDs), complex programmable logic devices (CPLDs), field programmable gate arrays (FPGAs), general-purpose processors, controllers, microcontrollers (MCUs), microprocessors, or other electronic components to execute the aforementioned method.

[0587] It can be understood that the memory 1603 of the embodiment of the present application can be a volatile memory or a non-volatile memory, and can also include both volatile and non-volatile memories. Among them, the non-volatile memory can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a magnetic random access memory (FRAM), a ferromagnetic random access memory, a flash memory, a magnetic surface memory, an optical disc, or a compact disc read-only memory (CD-ROM); the magnetic surface memory can be a disk memory or a tape memory. The volatile memory can be a random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static random access memory (SRAM), synchronous static random access memory (SSRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDRSDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM, SyncLink Dynamic Random Access Memory), and direct RAMbus random access memory (DRRAM, Direct Rambus Random Access Memory).The memory described in the embodiments of the present application is intended to include, but is not limited to, these and any other suitable types of memory.

[0588] In an exemplary embodiment, the present application embodiment further provides a storage medium, namely a computer storage medium, specifically a computer-readable storage medium, for example, including a memory 1603 storing a computer program, and the computer program can be executed by a processor 1602 of a communication node 1600 to complete the steps of the aforementioned method. The computer-readable storage medium can be a memory such as FRAM, ROM, PROM, EPROM, EEPROM, Flash Memory, magnetic surface storage, optical disk, or CD-ROM.

[0589] It should be noted that: "first", "second", etc. are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.

[0590] In addition, the technical solutions described in the embodiments of the present application can be combined arbitrarily without conflict.

[0591] The above description is only a preferred embodiment of the present application and is not intended to limit the protection scope of the present application.

Claims

1. A method for managing a group key, characterized in that: Applied to network-side devices, including: Monitor the update events of the group key of the node group; When an update event of a group key of a node group is detected, an update strategy of the group key is determined according to the detected update event; Based on the determined update strategy, the group key maintained by itself is updated and the first information is determined; the first information is sent to each group member node of the node group and the group proxy node of the node group; the first information is used for the group member node and the group proxy node to update the group key maintained by themselves; wherein, receiving a group key long-term update request sent by the group member node or the group proxy node, and determining that the update strategy of the group key is a long-term update strategy; Based on the long-term update strategy, a second parameter generated by the group proxy node and each group member node of the node group is obtained; the second parameter includes a random number generated by the corresponding node; a third parameter is determined based on the obtained multiple second parameters; and a fourth parameter is generated based on the long-term update strategy; the fourth parameter includes a random number generated by the network side device; the first information includes the third parameter and the fourth parameter; Based on the third parameter and the fourth parameter, the group key maintained by itself is updated.

2. The method according to claim 1, characterized in that Receiving a group key short-term update request sent by the group member node or the group proxy node, and determining that the update strategy of the group key is a short-term update strategy; generating a first parameter based on the short-term update strategy; The first parameter includes a random number generated by the network side device; the first information includes the first parameter; Based on the first parameter and the currently maintained group key, the group key maintained by itself is updated.

3. The method according to claim 1, characterized in that Upon receiving a node group joining request sent by a first communication node and determining the first communication node as a new group member node, determining that an update strategy for a group key is a short-term update strategy; generating a first parameter based on the short-term update strategy; Based on the first parameter and the currently maintained group key, updating the group key maintained by itself; And send the first information including the first parameter to the group proxy node and other group member nodes in the node group except the new group member node, and send the first information including the updated group key to the new group member node.

4. The method according to claim 1, characterized in that Upon receiving a leave node group request sent by a first group member node and deleting the first group member node from the node group, determining that the update strategy of the group key is a long-term update strategy; Acquire a second parameter generated by the group proxy node and each group member node of the node group based on the long-term update strategy; The second parameter includes a random number generated by the corresponding node; a third parameter is determined based on the obtained multiple second parameters; and a fourth parameter is generated based on the long-term update strategy; the fourth parameter includes a random number generated by the network side device; the first information includes the third parameter and the fourth parameter; Based on the third parameter and the fourth parameter, the group key maintained by itself is updated.

5. The method according to claim 1 or 4, characterized in that: The method further comprises: Based on the obtained multiple second parameters, using a first one-way function, determining the third parameter; Based on the third parameter and the fourth parameter, an updated group key is determined using a second one-way function.

6. The method according to claim 2 or 3, characterized in that: The updating of the group key maintained by itself based on the first parameter and the currently maintained group key includes: Based on the first parameter and the currently maintained group key, an updated group key is determined using a second one-way function.

7. The method according to claim 1, characterized in that The method further comprises: Obtaining a fifth parameter generated by the group proxy node and each group member node of the node group; the fifth parameter includes a random number generated by the corresponding node; Determine a sixth parameter based on the obtained multiple fifth parameters; and initialize the group key maintained by itself based on the sixth parameter and the seventh parameter; the seventh parameter includes a random number generated by the network side device; Sending second information to each group member node of the node group and the group proxy node of the node group; the second information includes the sixth parameter and the seventh parameter; the second information is used for the group member node and the group proxy node to initialize the group key maintained by themselves.

8. The method according to claim 7, characterized in that The determining the sixth parameter based on the acquired plurality of fifth parameters comprises: Based on the obtained multiple fifth parameters, using a first one-way function, determining the sixth parameter; Based on the sixth parameter and the seventh parameter, an initialized group key is determined using a second one-way function.

9. The method according to any one of claims 1 to 4, characterized in that: The sending of the first information includes: Perform encryption processing and integrity protection processing on the first information; and send the processed first information.

10. A group key management method, characterized in that: Applies to group proxy nodes, including: Receiving first information sent by a network side device; updating the group key maintained by itself according to the first information; The first information includes a third parameter and a fourth parameter; and updating the group key maintained by itself according to the first information includes: Based on the third parameter and the fourth parameter, the group key maintained by itself is updated; wherein the third parameter is determined by the network side device based on the second parameter generated by the acquired group proxy node and each group member node of the node group; the second parameter includes a random number generated by the corresponding node; the fourth parameter includes a random number generated by the network side device.

11. The method according to claim 10, characterized in that The first information includes a first parameter; and the updating of the group key maintained by itself according to the first information includes: Based on the first parameter and the currently maintained group key, the group key maintained by itself is updated; wherein the first parameter includes a random number generated by the network side device.

12. The method according to claim 11, characterized in that The method further comprises: When a first operation is detected, a group key short-term update request is sent to the network side device; the first operation is used to trigger a short-term update of the group key; the group key short-term update request is used to request the first information to be sent.

13. The method according to claim 10, characterized in that The method further comprises: When a second operation is detected, a group key long-term update request is sent to the network side device; the second operation is used to trigger the long-term update of the group key; the group key long-term update request is used to request the first information to be sent.

14. The method according to claim 10, characterized in that The updating of the group key maintained by itself based on the third parameter and the fourth parameter includes: Based on the third parameter and the fourth parameter, an updated group key is determined using a second one-way function.

15. The method according to claim 11, characterized in that The updating of the group key maintained by itself based on the first parameter and the currently maintained group key includes: Based on the first parameter and the currently maintained group key, an updated group key is determined using a second one-way function.

16. The method according to claim 10, characterized in that The method further comprises: receiving second information sent by the network side device; the second information includes a sixth parameter and a seventh parameter; the sixth parameter is determined by the network side device based on the fifth parameter generated by the acquired group proxy node and each group member node of the node group; the fifth parameter includes a random number generated by the corresponding node; the seventh parameter includes a random number generated by the network side device; The group key maintained by itself is initialized based on the sixth parameter and the seventh parameter.

17. The method according to claim 16, characterized in that The initializing the group key maintained by itself based on the sixth parameter and the seventh parameter includes: Based on the sixth parameter and the seventh parameter, an initialized group key is determined using a second one-way function.

18. The method according to any one of claims 10 to 17, characterized in that The updating of the group key maintained by itself according to the first information includes: Performing decryption and integrity verification on the first information; When the integrity verification of the first information passes, the group key maintained by itself is updated according to the first information.

19. A method for managing a group key, characterized in that: Applicable to group member nodes, including: Receiving first information sent by a network side device; updating the group key maintained by itself according to the first information; The first information includes a third parameter and a fourth parameter; and updating the group key maintained by itself according to the first information includes: Based on the third parameter and the fourth parameter, the group key maintained by itself is updated; wherein the third parameter is determined by the network side device based on the second parameter generated by the corresponding group proxy node and each group member node of the corresponding node group; the second parameter includes a random number generated by the corresponding node; the fourth parameter includes a random number generated by the network side device.

20. The method according to claim 19, characterized in that The first information includes a first parameter; and the updating of the group key maintained by itself according to the first information includes: Based on the first parameter and the currently maintained group key, the group key maintained by itself is updated; wherein the first parameter includes a random number generated by the network side device.

21. The method according to claim 20, characterized in that The method further comprises: When the third operation is detected, a group key short-term update request is sent to the network side device; the third operation is used to trigger the short-term update of the group key; the group key short-term update request is used to request the first information to be sent.

22. The method according to claim 19, characterized in that The group member node is a group member node newly added to the corresponding node group; the receiving first information sent by the network side device includes: Receiving first information including an updated group key of the network side device; The updated group key of the network side device is determined as the group key maintained by the network side device.

23. The method according to claim 19, characterized in that The method further comprises: When the fourth operation is detected, a group key long-term update request is sent to the network side device; the fourth operation is used to trigger the long-term update of the group key; the group key long-term update request is used to request the first information to be sent.

24. The method according to claim 19, characterized in that The updating of the group key maintained by itself based on the third parameter and the fourth parameter includes: Based on the third parameter and the fourth parameter, an updated group key is determined using a second one-way function.

25. The method according to claim 20, characterized in that The updating of the group key maintained by itself based on the first parameter and the currently maintained group key includes: Based on the first parameter and the currently maintained group key, an updated group key is determined using a second one-way function.

26. The method according to claim 19, characterized in that The method further comprises: receiving second information sent by the network side device; the second information includes a sixth parameter and a seventh parameter; the sixth parameter is determined by the network side device based on the fifth parameter generated by the corresponding group proxy node and each group member node of the corresponding node group obtained; the fifth parameter includes a random number generated by the corresponding node; the seventh parameter includes a random number generated by the network side device; The group key maintained by itself is initialized based on the sixth parameter and the seventh parameter.

27. The method according to claim 26, characterized in that The initializing the group key maintained by itself based on the sixth parameter and the seventh parameter includes: Based on the sixth parameter and the seventh parameter, an initialized group key is determined using a second one-way function.

28. The method according to any one of claims 19 to 27, characterized in that The updating of the group key maintained by itself according to the first information includes: Performing decryption and integrity verification on the first information; When the integrity verification of the first information passes, the group key maintained by itself is updated according to the first information.

29. A group key management device, characterized in that: include: A monitoring unit, used to monitor update events of the group key of the node group; and when an update event of the group key of the node group is monitored, determining an update strategy of the group key according to the monitored update event; A first processing unit, configured to update the group key maintained by itself based on a determined update strategy and determine first information; A first sending unit, configured to send the first information to each group member node of the node group and the group proxy node of the node group; the first information is used for the group member node and the group proxy node to update the group key maintained by themselves; The monitoring unit is configured to determine that the update strategy of the group key is a long-term update strategy when receiving a group key long-term update request sent by the group member node or the group proxy node; The group key management device further includes an acquisition unit; the acquisition unit is used to acquire a second parameter generated by the group proxy node and each group member node of the node group based on the long-term update strategy; the second parameter includes a random number generated by the corresponding node; The first processing unit is used to determine a third parameter based on multiple second parameters obtained; and generate a fourth parameter based on the long-term update strategy; the fourth parameter includes a random number generated by the management device; the first information includes the third parameter and the fourth parameter; based on the third parameter and the fourth parameter, the group key maintained by itself is updated.

30. A group key management device, characterized in that: include: A first receiving unit, configured to receive first information sent by a network side device; A second processing unit, configured to update the group key maintained by itself according to the first information; The first information includes a third parameter and a fourth parameter; the second processing unit is used to update the group key maintained by itself based on the third parameter and the fourth parameter; wherein the third parameter is determined by the network side device based on the acquired group proxy node and the second parameter generated by each group member node of the node group; the second parameter includes a random number generated by the corresponding node; The fourth parameter includes a random number generated by the network side device.

31. A group key management device, characterized in that: include: A second receiving unit, configured to receive first information sent by a network side device; A third processing unit, configured to update the group key maintained by itself according to the first information; The first information includes a third parameter and a fourth parameter; the third processing unit is used to update the group key maintained by itself based on the third parameter and the fourth parameter; wherein the third parameter is determined by the network side device based on the acquired group proxy node and the second parameter generated by each group member node of the node group; the second parameter includes a random number generated by the corresponding node; The fourth parameter includes a random number generated by the network side device.

32. A network side device, characterized in that: include: A first processor, configured to monitor an update event of a group key of a node group; When an update event of a group key of a node group is detected, an update strategy of the group key is determined according to the detected update event; based on the determined update strategy, the group key maintained by itself is updated and the first information is determined; A first communication interface, used to send the first information to each group member node of the node group and the group proxy node of the node group; the first information is used for the group member node and the group proxy node to update the group key maintained by themselves; The first processor is configured to determine that the update strategy of the group key is a long-term update strategy when receiving a group key long-term update request sent by the group member node or the group proxy node; Based on the long-term update strategy, obtaining, through the first communication interface, a second parameter generated by the group proxy node and each group member node of the node group; The second parameter includes a random number generated by the corresponding node; the third parameter is determined based on the multiple second parameters obtained; and the fourth parameter is generated based on the long-term update strategy; the fourth parameter includes a random number generated by the network side device; the first information includes the third parameter and the fourth parameter; based on the third parameter and the fourth parameter, the group key maintained by itself is updated.

33. A group proxy node, characterized in that: include: The second communication interface is used to receive the first information sent by the network side device; A second processor, configured to update a group key maintained by itself according to the first information; The first information includes a third parameter and a fourth parameter; the second processor is used to update the group key maintained by itself based on the third parameter and the fourth parameter; wherein the third parameter is determined by the network side device based on the second parameter generated by the acquired group proxy node and each group member node of the node group; the second parameter includes a random number generated by the corresponding node; The fourth parameter includes a random number generated by the network side device.

34. A group member node, characterized in that: include: A third communication interface, used to receive first information sent by the network side device; A third processor is configured to update the group key maintained by itself according to the first information; The first information includes a third parameter and a fourth parameter; the third processor is used to update the group key maintained by itself based on the third parameter and the fourth parameter; wherein the third parameter is determined by the network side device based on the acquired group proxy node and the second parameter generated by each group member node of the node group; the second parameter includes a random number generated by the corresponding node; The fourth parameter includes a random number generated by the network side device.

35. A communication node, characterized in that: include: A processor and a memory for storing a computer program capable of running on the processor; wherein, When the processor is used to run the computer program, it executes the steps of the method described in any one of claims 1 to 9, or executes the steps of the method described in any one of claims 10 to 18, or executes the steps of the method described in any one of claims 19 to 28.

36. A storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the steps of the method described in any one of claims 1 to 9 are implemented, or the steps of the method described in any one of claims 10 to 18 are implemented, or the steps of the method described in any one of claims 19 to 28 are implemented.

Citation Information

Patent Citations

  • Group key generation method in IOT (Internet of Things), and communication node

    CN106888083A