CN118337372A - Security traceable group key negotiation method and system based on aggregated broadcast - Google Patents

Security traceable group key negotiation method and system based on aggregated broadcast Download PDF

Info

Publication number
CN118337372A
CN118337372A CN202410401561.6A CN202410401561A CN118337372A CN 118337372 A CN118337372 A CN 118337372A CN 202410401561 A CN202410401561 A CN 202410401561A CN 118337372 A CN118337372 A CN 118337372A
Authority
CN
China
Prior art keywords
key
group
tree
user
signature
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202410401561.6A
Other languages
Chinese (zh)
Inventor
杜瑞颖
彭云璐
陈晶
何琨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan University WHU
Original Assignee
Wuhan University WHU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan University WHU filed Critical Wuhan University WHU
Priority to CN202410401561.6A priority Critical patent/CN118337372A/en
Publication of CN118337372A publication Critical patent/CN118337372A/en
Pending legal-status Critical Current

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

The invention discloses a security traceable group key negotiation method and a system based on an aggregate broadcast, which are used for solving the problem of group message transmission security of a plurality of participants in an unsafe communication network. The invention uses the key tree to divide the group users into a plurality of subgroups, introduces a signature-based polymerizable broadcast encryption scheme and combines the key encapsulation idea to carry out key negotiation among the subgroups, and dynamically realizes the operations of creating groups, adding and deleting users, updating keys and the like. The invention designs a double ratchet tree key exchange scheme, which can meet the security attributes such as privacy, forward and backward security, traceability after key leakage and the like of a group key, respectively reduce the computation complexity and communication expenditure of a group sender and a group receiver to O (log) and O (1), and has certain feasibility in medium-sized groups of tens to hundreds of users.

Description

Security traceable group key negotiation method and system based on aggregated broadcast
Technical Field
The invention belongs to the technical field of cryptography, relates to a group key negotiation method and system, and in particular relates to a security traceable group key negotiation method and system based on a polymerizable broadcast.
Background
Today, society increasingly relies on instant messaging, and communication and dissemination of information all require the internet or other digital communication networks to achieve. End-to-end communication applications, such as Whatsapp, signal, etc., are one of the most widely used encryption applications on the internet, providing two-party communication or multi-party group communication services for billions of everyday users. However, while these applications bring convenience to life, the problem of message leakage threatens personal privacy of people from time to time, and this threat often causes more serious negative effects in group communication. A secure messaging protocol enables users to communicate securely over an untrusted infrastructure, and as such, increasing the security and privacy of internet instant messaging is of increasing interest.
The group key negotiation protocol is a type of cryptographic protocol for negotiating and managing a shared group key among a plurality of participants. In group communications, multiple members may need to share a key to secure communications, and a group key agreement protocol is designed to achieve this. Currently, there are many effective solutions to the problem of two-party secure communication, such as Signal protocol introducing dual ratchet algorithm and two-party key agreement protocol without certificate, which not only ensures the privacy of two-party communication data, but also ensures the forward security (FS, forward secrecy) and backward security (PCS, post-compromise security) of message keys in user communication, etc., but the group key agreement protocol under the group scene still has no satisfactory solution. In the communication protocol, forward security means that even if a certain party leaks the shared key at the moment, the message transferred before the leak is still secure; conversely, backward security means that after the leak problem is repaired, the security of the protocol can be restored as originally. However, once the protocols designed for the two-party communication scenario are extended to be applied to the group communication protocol, only the manner of the group user pair communication can be adopted, so that the square of the communication overhead is increased, and the forward and backward security of the group message is difficult to ensure.
Considering the problem of difficult expansion of two-party protocols in multiparty scenes, the newly proposed protocols mostly aim at the characteristic of negotiation of a plurality of users in a group, take a key tree as a main structure, and complete negotiation of a group key in a form of encrypting information broadcast. The system is difficult to lock and remove malicious users in time, and cannot enter the next stage quickly and restore the security of the protocol.
Disclosure of Invention
In order to ensure that the communication overhead of key updating is reduced to a certain extent and simultaneously ensure a plurality of safety characteristics of group private keys, the invention abandons a mode of calculating public keys and private keys layer by layer through a tree structure, only keeps shared calculation of the private keys, and provides a safety traceable group key negotiation method and a system based on the polymerizable broadcasting by utilizing a signature-based polymerizable public key broadcasting scheme.
The technical scheme adopted by the method is as follows: a security traceable group key negotiation method based on an aggregate broadcast comprises an initialization method, a group creation method, a member addition method, a member removal method, a key update method and a message processing method;
the initialization method comprises the steps of initializing a public key to generate a security parameter, and generating a public parameter by using a signature-based polymerizable broadcast encryption scheme based on the security parameter; initializing a user sequence identifier to form a user list, recording the current state of a user, wherein an initialization variable is used for tracking the change of a public key tree generated based on a group, and an initialization sequence is used for tracking the change of a signature tree generated by the user based on the group in each round of updating;
The group creation method comprises the steps of creating a new group, generating public and private key pairs for each user by using a signature-based polymerizable broadcast encryption scheme, calculating a signature, and creating a public key tree and a signature tree to generate an initial group key;
the member adding method comprises the steps of generating a new public and private key pair according to a new user identifier when a new user is added in a group, creating a new leaf node record user key information in a public key tree and a signature tree, and updating the public key tree and the signature tree;
the member removing method comprises the steps that when a group has a user to be removed, the user is found in a key tree, key information of the user is deleted, and the key tree information is updated;
The key updating method comprises the steps of generating a new public key pair and a new group key under the condition that a group needs to update a key, and updating key tree information;
The message processing method comprises message transmission among group users and encryption and decryption of messages.
Preferably, in the initializing method, each user can obtain IDs of all users in the group G, and signs each ID except for the user by using a public and private key of the user, and the signature value is broadcast to other users for downloading by the user; after receiving the broadcast, the user downloads the signatures of all other users to the self ID, and creates and calculates a private signature tree.
Preferably, when a user creates a new group, firstly initializing group user information and related state variables, and constructing a group public key tree and a user signature tree according to user key information; every time a change of a group member or an update operation of a key is performed, the current group state is updated, and the group public key tree and the user signature tree structure are updated, so that the group is promoted to enter the next state.
Preferably, in the group creation method, all current group members are divided into different subgroups according to the arrangement in the public key tree, all users contained under each intermediate node form a unique subgroup, and the aggregate public key contained in the intermediate node is called subgroup public key; the group key updated by the user is sent to the corresponding subgroup after the group key is encapsulated by the subgroup public key of the public key tree, and the user contained in the subgroup decrypts by using the private key of the user; when the user increases or decreases, the user key information is updated or the group key needs to be updated, the public key tree and the signature tree operate corresponding operations to update for one round.
Preferably, in the group creation method, a ratchet tree is created, including a public key tree and a signature tree, the public key tree and the signature tree are constructed and generated according to key information, tree nodes are traversed, intermediate nodes are calculated by homomorphic multiplication, and complete key tree information is output;
the ratchet tree creation algorithm TREECREATE specifically includes the following steps:
Step 1: inputting a user set g= (ID 0,ID1,ID2,...,IDn-1), and a key set k= (K n-1,kn,kn+1,...,k2n-2), wherein a user key corresponding to each ID i is K i+n-1;
step 2: creating a ratchet tree tau according to the number of users, the key information of each leaf node comprising (ID i,ki+n-1);
step 3: traversing and calculating other tree nodes;
Calculating intermediate nodes upwards from the leaf node k n-1, wherein key information of each intermediate node is calculated by a corresponding child node; if k i is the public key of the user, the intermediate node adopts public key homomorphic multiplication calculation, namely Up to the calculation of the root nodeIf k i is the user signature, the intermediate node adopts signature homomorphic multiplication calculation, namely k i/2=ki⊙ki+1, until the root node is calculated
Step 4: the ratchet tree τ is output.
The key tree updating algorithm TreeUpdate updates key tree information by adopting a dual ratchet tree key exchange scheme, and specifically comprises the following steps:
step 1: inputting a ratchet tree tau and updated key information (ID i,ki);
Step 2: the corresponding key k i+n-1 of ID i is modified to k'.
Step 3: traversing and calculating update tree nodes;
Calculating intermediate nodes upwards from the leaf node k n-1, wherein key information of each intermediate node is calculated by a corresponding child node; if k i is the public key of the user, the intermediate node adopts public key homomorphic multiplication calculation, namely Up to the calculation of the root nodeIf k i is the user signature, the intermediate node adopts signature homomorphic multiplication calculation, namely k i/2=ki⊙ki+1, until the root node is calculated
Step 4: the ratchet tree τ' is output.
Preferably, the security parameter is used for generating public parameters by using a signature-based polymerizable broadcast encryption scheme, a public-private key pair is constructed by using a bilinear pairing principle, and for any input character string, the following four operations are performed, so that a valid signature is generated, the validity of the signature is verified, a ciphertext is encrypted and output, and the plaintext is decrypted. The method is a broadcast encryption scheme under public key system, and it can be used as both signature scheme and broadcast scheme. The generated public key may be used to both sign and encrypt the message, and any valid signature may be used to decrypt the ciphertext under the public key, except that the ciphertext may be decrypted with a valid private key. For a public key pair generated by the same system parameter, the combination of the signatures of the same message by two different public keys is also a valid signature for the message, and the combination of the given public keys can be used for verification, and ciphertext encrypted by the combination public keys can also be decrypted.
Preferably, the method uses a signature-based polymerizable broadcast encryption scheme to generate public-private key pairs for each user and calculate a signature, when the user creates a new group, the group user information and related state variables are initialized first, and a group public key tree and a user signature tree are constructed according to the user key information. The signature information is broadcast in subgroups divided by the key tree, and the current initial group key is obtained through initial round update. Every time the change of the group member or the updating operation of the secret key is carried out, the current group state is updated, the corresponding algorithm of the public key tree and the signature tree is called to update the tree structure, and the group is caused to enter the next state. The availability of the group key at each stage is ensured through the maintenance of the group state, and the forward and backward security of the group key is ensured.
The system of the invention adopts the technical proposal that: a security traceable group key negotiation system based on an aggregate broadcast comprises an initialization module, a group creation module, a member addition module, a member removal module, a key update module and a message processing module;
the initialization module is used for initializing the public key to generate a security parameter, and generating a public parameter by using a signature-based polymerizable broadcast encryption scheme based on the security parameter; initializing a user sequence identifier to form a user list, recording the current state of a user, wherein an initialization variable is used for tracking the change of a public key tree generated based on a group, and an initialization sequence is used for tracking the change of a signature tree generated by the user based on the group in each round of updating;
The group creation module is used for creating a new group, generating public and private key pairs for each user by using a signature-based polymerizable broadcast encryption scheme, calculating a signature, and creating a public key tree and a signature tree to generate an initial group key;
The member adding module is used for generating a new public and private key pair according to a new user identifier when a new user is added in the group, creating a new leaf node record user key information in the public key tree and the signature tree, and updating the group public key tree and the user signature tree;
the member removing module is used for finding the user in the key tree and deleting the key information of the user when the user needs to be removed in the group, and updating the key tree information;
the key updating module is used for generating a new public and private key pair and a group key under the condition that the group needs to update the key, and updating the key tree information;
the message processing module is used for message transmission among group users and encryption and decryption of messages.
Compared with the prior art, the invention has the advantages and positive effects mainly represented in the following aspects:
1. The invention provides a novel traceable group key negotiation protocol based on the aggregate broadcasting, which expands the public key broadcasting scheme originally used under the constraint of static group conditions to safely share the group key in a dynamic group, ensures the privacy of the message key in communication and ensures the forward security and the backward security in long-term communication.
2. The invention designs a double ratchet tree key exchange scheme, which utilizes the key encapsulation idea to carry out intra-group key exchange, reduces the broadcast communication overhead of key update, reduces the complexity to the minimum, and simultaneously ensures the traceability after the key leakage.
3. The invention compares the aspects of security, communication overhead, storage space and the like with the prior proposal, realizes the security characteristics of key privacy, forward and backward security, traceability after key leakage and the like of group key negotiation, and has certain expandability in medium-sized groups of tens to hundreds of users.
Drawings
The following examples, as well as specific embodiments, are used to further illustrate the technical aspects of the present invention. In addition, in the course of describing the technical solutions, some drawings are also used. Other figures and the intent of the present invention can be derived from these figures without inventive effort for a person skilled in the art.
Fig. 1 is a block diagram of a method of an embodiment of the present invention.
FIG. 2 is a schematic diagram of a group public key tree according to an embodiment of the present invention.
FIG. 3 is a schematic diagram of a user signature tree of an embodiment of the present invention.
Fig. 4 is a schematic diagram of sending a packaged group key to a subgroup by an update node in an embodiment of the invention.
Detailed Description
In order to facilitate the understanding and practice of the invention, those of ordinary skill in the art will now make further details with reference to the drawings and examples, it being understood that the examples described herein are for the purpose of illustration and explanation only and are not intended to limit the invention thereto.
Referring to fig. 1, the security traceable group key negotiation method based on the polymerizable broadcast according to the present embodiment includes an initialization method, a group creation method, a member addition method, a member removal method, a key update method, and a message processing method.
The initialization method comprises the steps of initializing a public key to generate a security parameter lambda, and generating a public parameter pi-ParaGen (1 λ) by using a signature-based polymerizable broadcast encryption scheme based on the security parameter; a group-related state variable is initialized. The initialization user sequence identifier ID forms a user list, records the current state of the user, the initialization variable tau is used for tracking the change of the public key tree generated based on the group, and the initialization tau i sequence is used for tracking the change of the signature tree generated by the user based on the group in each round of updating.
In the same group, since the IDs of the users are different, the private signature trees of the users are different, so that the sender uses the same public key in the public key tree during encryption, but the decryption private keys calculated by the private signature trees of the different users are also different.
The group creation method comprises the steps of creating a new group, generating public and private key pairs for each user by using a signature-based polymerizable broadcast encryption scheme, calculating a signature, and creating a public key tree and a signature tree to generate an initial group key;
In one embodiment, a new group is created using the initialized user information, specifically comprising the steps of:
Step 1: input user set g= (ID 0,ID1,ID2,...,IDn-1); wherein, ID 0,ID1,ID2,...,IDn-1 is the identity of n users;
Step 2: a key pair is obtained. Generating a package key using a signature-based, aggregatable broadcast scheme, creating a total of n key pairs for each user ID i in the group set G: (pk i,ski) ≡keygen (pi); wherein pk i,ski is the public and private keys of user ID i, respectively;
step 3: a signature is calculated. Each user ID i e G signs all user IDs j e G in the user set: σ i(IDj)←Sign(pki,ski,IDj); wherein user ID i uses private key sk i to sign σ i(IDi of ID i) is stored privately by the user himself, broadcasting public key information pk i and other signatures σi=(σi(ID1),...,σi(IDi-1),σi(IDi+1)...,σi(IDn-1)) to other users; where σ≡sign (pk, sk, s) is the output of a public/private key pair (pk, sk) at the input of pi.
Step 4: a public key tree and a signature tree are created. The public key pk= (pk 0,pk1,...,pkn-1) broadcasted by the input set G and each user and the signature information sigma= (sigma 01,...,σn-1) of each user are respectively called to create a ratchet tree algorithm to obtain a public key tree tau≡ TREECREATE (G, pk) and n user signature trees tau i←TreeCreate(G,σi.
Step 5: group key transmission and reception. The group creator generates the group key gk 0 as the initial group key and sends it through the key tree to km≡ SendKey (ID i,gk0) in the subgroup, decrypting it individually by the subgroup users to obtain gk 0=RecKey(IDj, KM).
Step 6: the public key tree τ, all τ i are output.
The dual ratchet tree key exchange scheme of this embodiment includes a public key tree and a signature tree, see fig. 2 and 3. After one operation, all users need to negotiate a private group key shared in a group, the users use a public key tree to carry out key encapsulation on the private group key and then distribute the private group key to different subgroups, and subgroup users calculate different private keys according to a signature tree to carry out key deblocking to obtain the private group key, so that one key negotiation task is completed.
In one embodiment, the creating ratchet tree algorithm TREECREATE specifically includes the following steps:
Step 1: inputting a user set g= (ID 0,ID1,ID2,...,IDn-1), and a key set k= (K n-1,kn,kn+1,...,k2n-2), wherein a user key corresponding to each ID i is K i+n-1;
step 2: creating a ratchet tree tau according to the number of users, the key information of each leaf node comprising (ID i,ki+n-1);
step 3: traversing and calculating other tree nodes;
Calculating intermediate nodes upwards from the leaf node k n-1, wherein key information of each intermediate node is calculated by a corresponding child node; if k i is the public key of the user, the intermediate node adopts public key homomorphic multiplication calculation, namely Up to the calculation of the root nodeIf k i is the user signature, the intermediate node adopts signature homomorphic multiplication calculation, namely k i/2=ki⊙ki+1, until the root node is calculated
Step 4: the ratchet tree τ is output.
In one embodiment, when a user creates a new group, first initializing group user information and related state variables, and constructing a group public key tree and a user signature tree according to user key information; every time the change of the group member or the updating operation of the key is carried out, the current group state is updated, and the corresponding algorithm of the public key tree and the signature tree is called to update the key tree structure so as to promote the group to enter the next state.
The member adding method comprises the steps of generating a new public and private key pair according to a new user identifier when a new user is added in a group, creating a new leaf node record user key information in a public key tree and a signature tree, and updating a key tree;
In one embodiment, all current group members may be partitioned into different subgroups according to an arrangement in a key tree, with all users contained under each intermediate node constituting a unique subgroup, and the aggregate public key contained by this intermediate node being referred to as a subgroup public key; the group key which the user wants to update is sent to the corresponding subgroup after being subjected to key encapsulation by the subgroup public key of the public key tree, and the users contained in the subgroup decrypt by using the private key of the users; when the user increases or decreases, the user key information is updated or the group key needs to be updated, the public key tree and the signature tree can operate corresponding operations to update for one round.
In one embodiment, adding a new user to the group specifically comprises the steps of:
Step 1: inputting a new user ID k and a public key tree tau;
step 2: checking whether ID k is already present in G, if so, the addition fails;
Step 3: obtaining a new key pair (pk k,skk) ≡keygen (pi);
Step 4: a signature is calculated. The new user ID k signs the current set G to obtain the signature set σ k=(σk(ID0),...,σk(IDn)) and broadcasts the signature value to other users.
Step 5: invoking a ratchet tree addition user node algorithm to update the shared public key tree τ' ≡adduser (τ, ID k,pkk) and the user signature tree τ i'←AddUser(τi,IDkk(IDi), respectively);
Step 6: user ID k generates a symmetric key gk l+1 as a new group key and sends it to km≡ SendKey (ID k,gkl+1) in the subgroup, where it is decrypted separately by the subgroup users to obtain gk l+1=RecKey(IDi, KM);
step 7: the public key tree τ' is output.
In one embodiment, the adding user node algorithm AddUser specifically includes the following steps:
Step 1: inputting a ratchet tree tau and new user information (ID i,ki);
Step 2: checking whether the ID i exists in the G or not, and if so, cannot be added;
Step 3: empty leaf nodes are checked. If the empty node exists in the fruit tree, the key information is stored in the first empty node; creating a new node if no empty node exists;
step 4: update tree τ' ≡ TreeUpdate (τ, ID i,ki);
step 5: the ratchet tree τ' is output.
In one embodiment, the tree updating algorithm TreeUpdate specifically includes the following steps:
step 1: inputting a ratchet tree tau and updated key information (ID i,ki);
Step 2: the corresponding key k i+n-1 of ID i is modified to k'.
Step 3: traversing and calculating update tree nodes;
Calculating intermediate nodes upwards from the leaf node k n-1, wherein key information of each intermediate node is calculated by a corresponding child node; if k i is the public key of the user, the intermediate node adopts public key homomorphic multiplication calculation, namely Up to the calculation of the root nodeIf k i is the user signature, the intermediate node adopts signature homomorphic multiplication calculation, namely k i/2=ki⊙ki+1, until the root node is calculated
Step 4: the ratchet tree τ' is output.
The member removing method comprises the steps that when a group has a user to be removed, the user is found in a key tree, key information of the user is deleted, and the key tree information is updated according to a double ratchet tree key exchange scheme;
in one embodiment, deleting an existing user from the group specifically comprises the steps of:
Step 1: inputting a removal user ID k;
Step 2: checking whether the ID k exists in G, if not, removing the failure;
Step 3: invoking a ratchet tree deletion user node algorithm to update the shared public key tree τ' ≡ RemUser (τ, ID k,pkk) and the user signature tree τ i'←RemUser(τi,IDkk(IDi), respectively;
Step 4: ID k generates a symmetric key gk l+1 as a new shared group key and sends the symmetric key to a subgroup KM≡ SendKey (ID k,gkl+1), and the symmetric key gk l+1=RecKey(IDi and KM are obtained by independent decryption of subgroup users;
step 5: the public key tree τ' is output.
In one embodiment, the deleting user node RemUser algorithm specifically includes the following steps:
Step 1: inputting a ratchet tree tau and deleting user information (ID i,ki);
Step 2: checking whether the ID k exists in the G or not, and if not, failing to delete;
Step 3: the tree nodes on the modified path are calculated from the deleted and updated nodes to the root node. Deleting and setting the key information in the leaf node to 1, updating the tree τ' ≡ TreeUpdate (τ, ID i,ki);
Step 4: the ratchet tree τ' is output.
The key updating method comprises the steps that when a group needs to update a key, such as a user key is lost or a group key is revealed, a new public key pair and a new group key are generated, and key tree information is updated;
In one embodiment, the method for updating the key specifically includes the following steps:
Step 1: inputting an update user ID k;
Step 2: checking whether the ID k exists in G, if not, removing the failure;
Step 3: obtaining a new key pair (pk k',skk') ∈ (pi);
Step 4: invoking an update tree algorithm of the ratchet tree to update the shared public key tree τ' ≡ TreeUpdate (τ, ID k,pkk) and the user signature tree τ i'←TreeUpdate(τi,IDkk(IDi), respectively);
Step 5: ID k generates a symmetric key gk l+1 as a new shared group key and sends the symmetric key to a subgroup KM≡ SendKey (ID k,gkl+1), and the symmetric key gk l+1=RecKey(IDi and KM are obtained by independent decryption of subgroup users;
step 6: the public key tree τ' is output.
In one embodiment, the key sending SendKey algorithm specifically includes the following steps:
step 1: inputting a user ID k, a group key gk;
Step 2: selecting brother nodes of all nodes on the path from the ID k leaf nodes to the root node, and acquiring the corresponding public key or subgroup public key;
Step 3: the group key encryptions (pk k-1, gk) (or encryptions (gpk i, gk)) are encrypted with the public key pk k-1 (or the aggregated valid public key gpk i) contained by these nodes, and the encapsulated logn keys KM are output and sent to the corresponding subgroups as shown in fig. 4.
In one embodiment, the key sending RecKey algorithm specifically includes the following steps:
Step 1: inputting a user ID k and packaging a key KM;
Step 2: obtaining a corresponding node signature (or an aggregate signature value of a subgroup node) in a signature tree corresponding to the packaged key, and performing deblocking calculation on the key to obtain an updated group key gk (gk= Decrypt (pk k-1,IDkk-1, KM) (or gk= Decrypt (gpk i,IDki, KM));
Step 3: the group key gk is output.
The message processing method comprises message transmission among group users and encryption and decryption of messages.
The message processing of the present embodiment includes sending and receiving messages. Sending a message: after the message m sent by the user is encrypted by the group key gk l to obtain the ciphertext c, the ciphertext c is sent to each subgroup. Receiving a message: and decrypting the ciphertext c received by the user by using the shared group key gk l to obtain a plaintext.
The embodiment also provides a security traceable group key negotiation system based on the aggregated broadcast, which comprises an initialization module, a group creation module, a member addition module, a member removal module, a key update module and a message processing module;
the initialization module is used for initializing the public key to generate a security parameter, and generating a public parameter by using a signature-based polymerizable broadcast encryption scheme based on the security parameter; initializing a user sequence identifier to form a user list, recording the current state of a user, wherein an initialization variable is used for tracking the change of a public key tree generated based on a group, and an initialization sequence is used for tracking the change of a signature tree generated by the user based on the group in each round of updating;
The group creation module is used for creating a new group, generating public and private key pairs for each user by using a signature-based polymerizable broadcast encryption scheme, calculating a signature, and creating a public key tree and a signature tree to generate an initial group key;
The member adding module is used for generating a new public and private key pair according to a new user identifier when a new user is added in the group, creating a new leaf node record user key information in the public key tree and the signature tree, and updating the group public key tree and the user signature tree;
the member removing module is used for finding the user in the key tree and deleting the key information of the user when the user needs to be removed in the group, and updating the key tree information;
the key updating module is used for generating a new public and private key pair and a group key under the condition that the group needs to update the key, and updating the key tree information;
the message processing module is used for message transmission among group users and encryption and decryption of messages.
In the invention, when a user creates a new group, a shared ratchet tree tau for storing public keys of all users is generated, each leaf node represents a public key of the current user, the value of each intermediate node is calculated by the public key value of the child node, and still represents a valid public key, and the root node records the group member group aggregation public key; at the same time, each user creates a private ratchet tree for storing the signatures of other users, each leaf node representing a current user's signature of the tree owner ID, each intermediate node's value calculated from its child node signature value, still representing a valid signature, and its root node representing the aggregate signature value of each user's signature of the signature tree owner ID.
In the initialization stage, each user can obtain the IDs of all users in the group G, and signs each ID except the user by using the public and private keys, and the signature value is broadcasted to other users for downloading by the users. After receiving the broadcast, the user downloads the signatures of all other users to the self ID, and creates and calculates a private signature tree. In the same group, since the IDs of the users are different, the private signature trees of the users are different, so that the sender uses the same public key in the public key tree during encryption, but the decryption private keys calculated by the private signature trees of the different users are also different.
In the present invention, all the current group members may be divided into different subgroups according to the arrangement in the tree structure, and all the users contained under each intermediate node constitute a unique subgroup, and the aggregate public key contained in this intermediate node is called subgroup public key. The group key which the user wants to update is sent to the corresponding subgroup after being subjected to key encapsulation by the subgroup public key of the public key tree, and the users contained in the subgroup decrypt by using the private key of the users. When the user increases or decreases, the user key information is updated or the group key needs to be updated, the public key tree and the signature tree can operate corresponding operations to update for one round.
The invention uses the key tree to divide the group users into a plurality of subgroups, introduces a signature-based polymerizable broadcast encryption scheme and combines the key encapsulation idea to carry out key negotiation among the subgroups, and dynamically realizes the operations of creating groups, adding and deleting users, updating keys and the like. The invention designs a double ratchet tree key exchange scheme, which can meet the security attributes such as privacy, forward and backward security, traceability after key leakage and the like of a group key, respectively reduce the computation complexity and communication expenditure of a group sender and a group receiver to O (log) and O (1), and has certain feasibility in medium-sized groups of tens to hundreds of users.
It should be understood that the embodiments described above are some, but not all, embodiments of the invention. In addition, the technical features of each embodiment or the single embodiment provided by the invention can be combined with each other at will to form a feasible technical scheme, and the combination is not limited by the sequence of steps and/or the structural composition mode, but is necessarily based on the fact that a person of ordinary skill in the art can realize the combination, and when the technical scheme is contradictory or can not realize, the combination of the technical scheme is not considered to exist and is not within the protection scope of the invention claimed.
It should be understood that the foregoing description of the preferred embodiments is not intended to limit the scope of the invention, but rather to limit the scope of the claims, and that those skilled in the art can make substitutions or modifications without departing from the scope of the invention as set forth in the appended claims.

Claims (9)

1. A security traceable group key negotiation method based on an aggregate broadcast is characterized in that: the method comprises an initialization method, a group creation method, a member adding method, a member removing method, a key updating method and a message processing method;
the initialization method comprises the steps of initializing a public key to generate a security parameter, and generating a public parameter by using a signature-based polymerizable broadcast encryption scheme based on the security parameter; initializing a user sequence identifier to form a user list, recording the current state of a user, wherein an initialization variable is used for tracking the change of a public key tree generated based on a group, and an initialization sequence is used for tracking the change of a signature tree generated by the user based on the group in each round of updating;
The group creation method comprises the steps of creating a new group, generating public and private key pairs for each user by using a signature-based polymerizable broadcast encryption scheme, calculating a signature, and creating a public key tree and a signature tree to generate an initial group key;
the member adding method comprises the steps of generating a new public and private key pair according to a new user identifier when a new user is added in a group, creating a new leaf node record user key information in a public key tree and a signature tree, and updating a user key tree;
the member removing method comprises the steps that when a group has a user to be removed, the user is found in a key tree, key information of the user is deleted, and the key tree information is updated;
The key updating method comprises the steps of generating a new public key pair and a new group key under the condition that a group needs to update a key, and updating key tree information;
The message processing method comprises message transmission among group users and encryption and decryption of messages.
2. The security traceable group key negotiation method based on an aggregated broadcast according to claim 1, wherein: according to the initialization method, each user can obtain the IDs of all users in the group G, and signs each ID except the user by using the public and private keys of the user, and the signature value of each ID can be broadcast to other users for downloading by the users; after receiving the broadcast, the user downloads the signatures of all other users to the self ID, and creates and calculates a private signature tree.
3. The security traceable group key negotiation method based on an aggregated broadcast according to claim 1, wherein: when a user creates a new group, initializing group user information and related state variables, and constructing a group public key tree and a user signature tree according to user key information; every time a change of a group member or an update operation of a key is performed, the current group state is updated, and the group public key tree and the user signature tree structure are updated, so that the group is promoted to enter the next state.
4. The security traceable group key negotiation method based on an aggregated broadcast according to claim 1, wherein: in the group creation method, all current group members are divided into different subgroups according to the arrangement in a key tree, all users contained under each intermediate node form a unique subgroup, and an aggregate public key contained in the intermediate node is called a subgroup public key; the group public key of the group key public key tree updated by the user is sent to the corresponding subgroup after the key encapsulation, and the user contained in the subgroup decrypts by using the private key of the user; when the user increases or decreases, the user key information is updated or the group key needs to be updated, the public key tree and the signature tree operate corresponding operations to update for one round.
5. The security traceable group key negotiation method based on an aggregated broadcast according to claim 1, wherein: in the group creation method, a ratchet tree is created, which comprises a public key tree and a signature tree, a group public key tree and a user signature tree are constructed and generated according to key information, tree nodes are traversed, intermediate nodes are calculated by homomorphic multiplication, and complete key tree information is output;
The step of creating the ratchet tree specifically comprises the following steps:
Step 1: inputting a user set g= (ID 0,ID1,ID2,...,IDn-1), and a key set k= (K n-1,kn,kn+1,...,k2n-2), wherein a user key corresponding to each ID i is K i+n-1;
step 2: creating a ratchet tree tau according to the number of users, the key information of each leaf node comprising (ID i,ki+n-1);
step 3: traversing and calculating other tree nodes;
Calculating intermediate nodes upwards from the leaf node k n-1, wherein key information of each intermediate node is calculated by a corresponding child node; if k i is the public key of the user, the intermediate node adopts public key homomorphic multiplication calculation, namely Up to the calculation of the root nodeIf k i is the user signature, the intermediate node adopts signature homomorphic multiplication calculation, namely k i/2=ki⊙ki+1, until the root node is calculated
Step 4: the ratchet tree τ is output.
6. The security traceable group key negotiation method based on an aggregated broadcast of claim 5, wherein: in the key updating method, a double ratchet tree key exchange scheme is adopted to update key tree information; the method specifically comprises the following steps:
step 1: inputting a ratchet tree tau and updated key information (ID i,ki);
Step 2: traversing and calculating update tree nodes;
Calculating intermediate nodes upwards from the leaf node k n-1, wherein key information of each intermediate node is calculated by a corresponding child node; if k i is the public key of the user, the intermediate node adopts public key homomorphic multiplication calculation, namely Up to the calculation of the root nodeIf k i is the user signature, the intermediate node adopts signature homomorphic multiplication calculation, namely k i/2=ki⊙ki+1, until the root node is calculated
Step 3: the ratchet tree τ' is output.
7. The security traceable group key negotiation method based on an aggregated broadcast according to any of claims 1-6, wherein: the method comprises the following steps of generating public parameters by utilizing a signature-based polymerizable broadcast encryption scheme based on security parameters, constructing public and private key pairs by utilizing a bilinear pairing principle, and for any input character string, comprising four operations: and generating a valid signature, verifying the validity of the signature, encrypting and outputting a ciphertext, and decrypting to obtain a plaintext.
8. The security traceable group key negotiation method based on an aggregated broadcast according to any of claims 1-6, wherein: generating public and private key pairs for each user by using a signature-based polymerizable broadcast encryption scheme, calculating a signature, creating a new group by the user, initializing group user information and related state variables, and constructing a group public key tree and a user signature tree according to the user key information; broadcasting signature information in subgroups divided by a key tree, and obtaining a current initial group key through initial round updating; every time the change of the group member or the updating operation of the secret key is carried out, the current group state is updated, the corresponding algorithm of the public key tree and the signature tree is called to update the tree structure, and the group is caused to enter the next state.
9. A security traceable group key negotiation system based on an aggregated broadcast, characterized by: the system comprises an initialization module, a group creation module, a member adding module, a member removing module, a key updating module and a message processing module;
the initialization module is used for initializing the public key to generate a security parameter, and generating a public parameter by using a signature-based polymerizable broadcast encryption scheme based on the security parameter; initializing a user sequence identifier to form a user list, recording the current state of a user, wherein an initialization variable is used for tracking the change of a public key tree generated based on a group, and an initialization sequence is used for tracking the change of a signature tree generated by the user based on the group in each round of updating;
The group creation module is used for creating a new group, generating public and private key pairs for each user by using a signature-based polymerizable broadcast encryption scheme, calculating a signature, and creating a public key tree and a signature tree to generate an initial group key;
The member adding module is used for generating a new public and private key pair according to a new user identifier when a new user is added in the group, creating a new leaf node record user key information in the public key tree and the signature tree, and updating the group public key tree and the user signature tree;
the member removing module is used for finding the user in the key tree and deleting the key information of the user when the user needs to be removed in the group, and updating the key tree information;
the key updating module is used for generating a new public and private key pair and a group key under the condition that the group needs to update the key, and updating the key tree information;
the message processing module is used for message transmission among group users and encryption and decryption of messages.
CN202410401561.6A 2024-04-03 2024-04-03 Security traceable group key negotiation method and system based on aggregated broadcast Pending CN118337372A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410401561.6A CN118337372A (en) 2024-04-03 2024-04-03 Security traceable group key negotiation method and system based on aggregated broadcast

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410401561.6A CN118337372A (en) 2024-04-03 2024-04-03 Security traceable group key negotiation method and system based on aggregated broadcast

Publications (1)

Publication Number Publication Date
CN118337372A true CN118337372A (en) 2024-07-12

Family

ID=91775523

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410401561.6A Pending CN118337372A (en) 2024-04-03 2024-04-03 Security traceable group key negotiation method and system based on aggregated broadcast

Country Status (1)

Country Link
CN (1) CN118337372A (en)

Similar Documents

Publication Publication Date Title
Lin et al. A collaborative key management protocol in ciphertext policy attribute-based encryption for cloud data sharing
WO2019101134A1 (en) Multi-distributed sm9 decryption method, medium and key generating method
US8005225B2 (en) Hierarchical threshold tree-based broadcast encryption method
US10412063B1 (en) End-to-end double-ratchet encryption with epoch key exchange
KR101466780B1 (en) Key sharing system, communication terminal, management apparatus, key sharing method and computer program
CN110880972A (en) Block chain key management system based on safe multiparty calculation
CN112187450B (en) Method, device, equipment and storage medium for key management communication
WO2023082599A1 (en) Blockchain network security communication method based on quantum key
Mo et al. Two-party fine-grained assured deletion of outsourced data in cloud systems
Kumar et al. A secure and robust group key distribution and authentication protocol with efficient rekey mechanism for dynamic access control in secure group communications
CN109962924B (en) Group chat construction method, group message sending method, group message receiving method and system
Ambika et al. A novel RSA algorithm for secured key transmission in a centralized cloud environment
Rana et al. A comprehensive survey of cryptography key management systems
Bodur et al. Implementing Diffie-Hellman key exchange method on logical key hierarchy for secure broadcast transmission
Li et al. An efficient and anonymous attribute-based group setup scheme
Arslan et al. Security issues and performance study of key management techniques over satellite links
CN118337372A (en) Security traceable group key negotiation method and system based on aggregated broadcast
CN117318943B (en) Quantum distributed data storage and recovery method
CN111901101B (en) Key updating method and system
CN114978496B (en) Lightweight encryption-based safe data deduplication method
CN118233096B (en) Server-free multi-system networking method and storage device
Bakiras et al. An anonymous messaging system for delay tolerant networks
Eya et al. New user authentication and key management scheme for secure data transmission in wireless mobile multicast
Bodur et al. Implementation Logical Key Hierarchy to a Nosql Database in Cloud Computing
EP3179669B1 (en) Drm key tree provisioning

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination