Abstract-To accomplish secure group communication, it is essential to share a unique cryptographic key among group members. The underlying challenges to group key agreement are scalability, efficiency, and security. In a dynamic group environment, the rekeying process is more frequent; therefore, it is more crucial to design an efficient group key agreement protocol. Moreover, with the emergence of various group-based services, it is becoming common for several multicast groups to coexist in the same network. These multicast groups may have several shared users; a join or leave request by a single user can trigger regeneration of multiple group keys. Under the given circumstances the rekeying process becomes a challenging task. In this work, we propose a novel methodology for group key agreement which exploits the state vectors of group members. The state vector is a set of randomly generated nonce instances which determine the logical link between group members and which empowers the group member to generate multiple cryptographic keys independently. Using local knowledge of a secret nonce, each member can generate and share a large number of secure keys, indicating that SGRS inherently provides a considerable amount of secure subgroup multicast communication using subgroup multicasting keys derived from local state vectors. The resulting protocol is secure and efficient in terms of both communication and computation. Index Terms-Group key agreement, resource sharing, multicast security, dynamic system, scalability, confidentiality, rekeying N the recent past with the advent of fast networking technologies, there has been a profound increase in the speed of the Internet and the degree of connectivity. In addition, with the emergence of new Internet applications such as video conferencing, online joint workspaces, group chat, multi-user games and online social networking applications, numerous possibilities for group communications have been created. Group participants share common interests and share the responsibility of secure group communication. In group communication, agreement regarding a secure group key is one of the most important and challenging tasks. Specifically, to maintain a secure group key in a dynamic environment This work was supported by the ICT R&D program of MSIP/IITP. [R-20160302-003082 becomes more difficult as the reestablishment of the group key should be rapid and lightweight with regard to complexity. Secure rekeying becomes an even more challenging task in resource-limited networks such as wireless sensor networks (WSNs) [1] and body-area networks (WBAN) [2] , as most conventional cryptographic mechanisms and security protocols are not suitable for resource-limited WSNs or WBANs. For example, very efficient public key algorithms, such as ECC [3] , need a fraction of a second to execute encryption/decryption procedures, while a symmetric key algorithm such as RC5 [3] needs only a fraction of a millisecond to perform encryption and decryption procedures [4] [5] . For computational efficiency, secure group communication it is essential, with the group key following a symmetric key algorithm. For secure group communications, the two basic goals are authentication and confidentiality. Precisely, authentication guarantees that the communicating entity is an authorized entity, which is alive and participating in a protocol run according to a defined role. Further, the protocol run follows the correct pre-defined sequence of a protocol run, and confidentiality guarantees that the transmitted messages are recognizable and/or decrypted only by the intended entities. In this paper, we present a unique secure group key agreement protocol suite known as SGRS (Secure Group key-agreement with Random nonce Sharing). SGRS is a decentralized and distributed protocol; it is decentralized because for scalable instances of SGRS, the groups are cascaded into larger groups (Section IV-E), and it is distributed because all of the nodes in each group contribute to computing the keying material. The SGRS protocol suite consists of four underlying protocols: the Join, Leave, Merge and Partition protocols. The common framework for these protocols is based on a unique and novel group structure, where each group member generates a secret nonce which should be known to all except one. The set of locally known nonce instances represents the state vector of a group member. In a group of members, all members have a state vector of size | | − 1. Considering that the members are arranged in a logical circular linked list where a pointer to the next member indicates that the nonce of next node is unknown to the current node. For instance, −1 → means that the secret nonce generated by member −1 is unknown to member ; i.e., −1 ∉ where is the state vector of member , representing set of all secret nonce known to the ℎ member, and −1 is the nonce generated by member −1 . This novel approach of creating logical relationships among group A Secure Key Agreement Protocol for Dynamic Group Muhammad Bilal and Shin-Gak Kang I This article is accepted for the publication in "Cluster Computing-The Journal of Networks, Software Tools and Applications" ISSN: 1386-7857 (Print) 1573-7543 (Online) 2 members is the key factor in our protocol. Using local knowledge of the secret nonce, each member can generate and share a large number of secure keys, indicating that SGRS inherently provides a considerable amount of secure subgroup communication using subgroup multicasting keys derived from local state vectors. We assume that an independent authentication protocol authenticates the group member. Consequently, we focus on the confidentiality aspect of secure group communication. If a member or group of members wants to join a secure communication group, they should initially be authenticated by a separate authentication protocol. The remainder of this paper is organized as follows. In Section II, we give a brief system overview and discuss the characteristics of the group and keying system. In Section III, the proposed scheme is described in detail. Section IV presents the results of a performance analysis of SGRS against several well-known schemes. Finally, we provide concluding remarks in Section V. The group communication over IP was first presented in 1986 by Deering [6] . However, IP multicast itself does not have any mechanism to prevent group communication by non-group members. Afterward, with the emergence of new network technologies, group communication faced several new security and efficiency issues. Group communication can be secure if all group members share a common secret key, with the key generated and distributed through a secure procedure. Group communication is considered to be efficient if it has low computational and communication complexity. Various protocols have been proposed for securely and efficiently establishing a secret cryptographic key among group members. The protocols developed thus far can be categorized into three broad categories, as follows: 1) Centralized key distribution and management systems, 2) decentralized key distribution and management systems, and 3) distributed key distribution and management systems [2] [3] [4] [5] . In the centralized approach [11, 12] , the overall key management complexity is low from the standpoint of a group participant; however, the centralized key management entity is associated with heavy computational and communicational complexity. The centralized approach is vulnerable to DoS/DDoS attacks and inherits the potential of a single-point failure. Moreover, tackling the issue of scalability in the centralized approach is a challenging task. In the decentralized approach [13, 14] , the computational and communication complexity levels are distributed among the subgroup managers. The single-point failure is confined to the subgroup region at the expense of higher complexity of group re-keying after a join, leave, merge or partition event. In the distributed approach [15] , single-point failures do not occur, but ensuring secure re-keying is a challenging task. The SGRS is a decentralized and distributed protocol, decentralized because for scalable SGRS, the groups are cascaded into larger groups (Section IV-E), and distributed because all nodes in each group contribute to computing the keying material. In earlier work [11] , the author proposed a scheme to reduce the communication complexity of the rekeying process in a dynamic group. In the proposed scheme, the head node transmits a random magic number to all group members along with a time stamp value. The member nodes undertake a left shift of the magic number and calculate the new key by an XOR operation on the old key and the left-shifted magic number. The proposed scheme requires a powerful group head node which must send number of encrypted messages for a group of size , leading to the scalability problem. Seo et al. [12] proposed a group key management protocol for the cluster-based topology which establishes the group key using certificate-less asymmetric cryptography. However, this scheme is computationally expensive due to its use of asymmetric cryptography. In work by Mehdizadeh et al. [14], the group is divided into small subgroups. The rekeying process is only confined to the locality of the event (Join and leave) in a subgroup. In the proposed scheme the network is divided into two levels: the multicast level and unicast level. The re-keying process is confined to multicast level. However, it causes an issue of data transmission within the group. The data need to be translated on each edge node of the subgroup. In another study [16] , the authors presented a group key agreement protocol suite based on blending binary key trees with the Diffie-Hellman key exchange. The usage of a hierarchal logical key significantly reduces the number of keys held by each group member. The key of each member is constructed from its child members; all participating members calculate intermediate blending keys independently and finally compute the group key. Other work [15] presents an asymmetric group key agreement protocol, in which the general construction of the protocol is based on the well-known Chinese remainder theorem in conjunction with the NTRU cryptosystem. The overall protocol provides an efficient solution. In another study [17] , an asymmetric group key agreement protocol based on a proxy re-encryption technique was proposed. The keys are arranged in a tree format, where the members represent the key pairs and the edges represent the proxy re-encryption keys. Each participating member holds the proxy re-encryption keys from the root to the leaf member. In two of the aforementioned studies [16, 17] , to construct a logical tree of keys, the parent members are computed from child members; consequently, members must be synchronized, otherwise any delay can cause an interruption in a protocol run. Additionally, during the setup time, both protocols depend upon a leader; in other words, a single-point failure may still arise in the system. In other work [18] , the author presented another protocol based on the Chinese remainder theorem. This protocol constructs a tree in which each member holds two values: a key and a modulus. Most existing group key management protocols are designed to establish a single secure group. However, with the emergence of various group-based services, it is becoming common for several multicast groups to coexist in the same This article is accepted for the publication in "Cluster Computing-The Journal of Networks, Software Tools and Applications" ISSN: 1386-7857 (Print) 1573-7543 (Online) 3 network. These groups may have several common users. In some cases [13, 19] , the authors discussed the issue of the coexistence of multiple multicasting groups in a single network. This feature is similar to SGRS secure multicasting subgroup communication, which is also utilized in our scheme. However, one of these schemes [19] is computationally expensive because all of the keys are generated using asymmetric cryptography, which makes the overall process of key generation computationally expensive. In another scheme [13] , the computational and communication cost complexity is highly dependent upon the number of multicasting groups and the number of users participating in each group. On the other hand, the establishment of the group key in SGRS is independent of the number of multicasting groups or the number of users involved in each group, as SGRS inherently empowers the group members to create secure multiple multicasting groups. In SGRS, the participating group members share the secret nonce and create a logical circular linked list. Using local knowledge of the shared nonce, each member can generate and share a large number of secure keys. We assume that before joining the group the requesting member/group is authenticated by an independent authentication entity using independent authentication protocol, largely discussed in literature [20] [21] [22] [23] , and further assume that the secrete nonce of sponsor member is known to the authentication entity. In the subsequent section, we explain the characteristics of the group and the keying system in detail.  Notations Each group member generates a secret nonce, by using random number generator, which should be known to all except one. The local knowledge of the secret nonce represents the state vector of a group member. In a group of members, all members have a state vector of size | | − 1, and each member possess a = − −1 secret nonce. Initially, each member independently generates exactly one nonce and the state vector get updated (new nonce added or excluded) for each join, leave, merge and partition events by following the respective protocols described in subsequent Section VI. For example, in Figure 1 , 2 knows all nonce instances expect 1 and 3 knows all except 2 , and so on. It is important to note that these members are arranged in a logical circular linked list, where a pointer to the next member indicates the secrecy of the current member's nonce to the next member. This novel approach of creating logical links among group members is the key factor in our protocol. Using local knowledge of a shared nonce, each member can generate and share a large number of secure keys. In the SGRS scheme, each member independently generates multiple cryptographic keys based upon the locally known secret set . A multicasting key is generated using the function ( ) = ℎ( ( ), ). To ensure the secrecy of set , set is used as an index value to retrieve the valid secret nonce from the state set of members. Only those members can generate the key , holding the corresponding secret nonce of the enlisted member IDs in set ; i.e., is a valid key for all members if ⊆ and is a private key of members if = . This infers that the group size of | | = has the following number of possible multicasting keys. However, each member can participate in and/or start number of secure subgroup communication, where ⊆ . For instance, assuming that = 7, we have a total of 119 possible keys in the system, which infers that our scheme inherits the ability to create = 119 number of secure subgroups, where each member can participate in 63 subgroups. The group key is generated by the hash function = ℎ( , ), where is the secret nonce of sponsor member or is the immediate previous member in the logical linked list if +1 leaves the group and is selected based on the key In join event is an existing group key, in leave and partition event is a random nonce generated and shared by the sponsor member, and in merge event it is the group key of requesting group. For computational efficiency, secure group communication it is essential, with the group key following a symmetric key algorithm. For example, very efficient public key algorithms, such as ECC [3] , need a fraction of a second to execute encryption/decryption procedures, while a symmetric key algorithm such as RC5 [3] needs only a fraction of a millisecond to perform encryption and decryption procedures [4] [5] . In SGRS all the cryptographic keys generated, as in the above discussion, are symmetric keys and have a size of 256 bits (32 bytes); hence, in the subsequent section of protocols any symmetric encryption supporting the 256-bit key can be used, e.g., RC5  The application scenario for SGRS is not limited to the group of communicating nodes. As shown in Figure 2 , a group of nodes/users { 1 , 2 , … } is arranged in a logically connected group, as explained above. All group nodes can access the common resources using the group key and a subset of the group can securely access resources private to the subset of nodes. Resources can be a subscription to a service, shared data, and/or a secure multicast group, for instance. Note that As an example shown in Figure 2 , ∀ = 1,2. . , can be a service, shared memory, shared data or a multicast communication channel private to members 1 , 3 , and 5 . The private key can be calculated by the subgroup members independently without an exchange of a single message, as follows: Note that the function takes the list of node IDs as an input argument and translates it into vector by selecting the corresponding secret nonce from the local state vector . In the subsequent section, we demonstrate that to maintain the characteristics of a group, we share the node IDs ( ) and let the member node translate the vector into . This ensures that only eligible nodes with the required information ( ) can generate the secret key. At this stage as shown in Figure 3 , we consider that the network is divided into clusters/cells. Each cluster provides a complete set of resources. If a user who is subscribed to multiple subgroup resources moves from one cluster to another, it will invoke a single leave and single join protocol. Once a user becomes part of a logical group, it can generate all of the subgroup keys to access the subscribed resources. As shown in Figure 3 , 3 in cluster 1 is subscribed to 1 , 2 , and , which Common Resources This article is accepted for the publication in "Cluster Computing-The Journal of Networks, Software Tools and Applications" ISSN: 1386-7857 (Print) 1573-7543 (Online) 5 indicates that 3 is part of one major group as well as three subgroups. When it leaves cluster 1 and joins cluster 2 as 4 , cluster 1 runs leave protocol while cluster 2 runs join protocol. The rekeying of three subgroups in both clusters requires a single message exchange, and all subgroup keys can be generated by the members independently using function . IV. PROPOSED SCHEME The SGRS protocol suite consists of four underlying protocols: the join, leave, merge and partition protocols. All of these protocols share a joint framework with the following prominent features:  Each group member contributes to maintaining its state vector to preserve the characteristics of a group as defined in Section II-A.  Upon the addition or removal of members, all members update the previous keying material based upon the updates shared by the sponsor node.  Each member can participate and/or start instances of secure subgroup communication, where ⊆ . Upon each membership event, all members independently update the state vector and compute all possible keys on demand. SGRS protocols are highly distributed; all participating members equally participate in a protocol run except for the sponsor member, which performs a few additional operations. The join protocol is initiated when a potential member sends a valid join message to a sponsor member. The authentication server generates a 'joining tag' for new member , as shown below. ( )|| ( ( )) ⊩ = { } A valid joining tag consists of two parts. The first part ( ) is destined for new member only, whereas the second half ( ( )) ⊩ = { } is used by new member to initiate the join protocol. Due to the encryption with unknown keys, the contents of the tag are hidden from the requesting member . The first half is encrypted with the updated group key = ℎ( , ), where is the secret nonce of the current sponsor member of the group, which is the new member, who intends to join. This part of the tag consists of the vector state for member , as the state is encrypted with the updated group key , and the requesting node does not have knowledge of the contents until and unless it initiates and participates in the joining protocol. During the join protocol run, the sponsor member verifies the join request using the second half of the tag. Note that the second half of the joining tag is encrypted by multicasting key , which is derived from the secret nonce of the group sponsor node. This key is also unknown to the joining member. Once is verified, the sponsor node then shares the updated group key such that the joining member retrieves the state vector and becomes part of logical circular linked list of the group. After receiving a valid join tag, multicasts the join request ( ) ⊩ = { } ), and the protocol proceeds as follows: In first step multicasts the join message encrypted with multicasting key derived from 's secret nonce, which infers that all group members excluding +1 receive . All members confirm the authenticity of the sender by verifying the signatures of the authentication server and sender. 2) All group members, excluding and +1 , generate a new group key and update their state vectors by adding the secret of the new member . 3) The sponsor node shares the new group key with the joining member . At this point, the newly joining member can decrypt the first half of the join ticket to acquire its state vector . 4) In parallel with message 3, the member −1 shares the nonce of the sponsor node with member +1 . This sharing breaks the logical link between the sponsor member and +1 and established a new logical connection between and +1 . 5) Finally, after receiving , the member +1 also generates a group key. We consider a group of three members, as shown in Figure 4 , where 3 is the sponsor member and 4 sends a valid join request ( ( 4 )) ⊩ = { 3 }, which infers that only 2 and 3 can decrypt the message using = ({ 3 }) . For the given example the join protocol proceeds as follows: 1) 2 and 3 verify the request and add 4 to the state vector. 2) 2 and 3 generate a new group key = ℎ( , 3 ) and update their state vectors by adding the secret of the new member 4 . 3) The sponsor node 3 shares the new group key with joining node 4 . 4) In parallel with message 3, the member 2 shares the nonce of the sponsor node with member 1 . This sharing breaks the logical link between 3 and 1 and establishes a new logical link between 4 and 1 . 5) Finally, after receiving 3 , member 1 also generates group key = ℎ( , 3 ).  The leave protocol is initiated when a valid member becomes invalid, for instance, when the group subscription time expires or if a valid member unsubscribes from the group membership. In either case, the sponsor member of the group is responsible for initiating the leave protocol. Here, is the sponsor of the group, and is the departing member. Upon the occurrence of a leave event, the sponsor initiates the leave protocol, which proceeds as follows: 1. 3. → +1 : ( ) || ( ) ⊩ = { −1 } 1) When leaves the group, the sponsor member updates its secret nonce = ℎ( , ) and generates a new group key = ℎ( , ) . The sponsor member also updates its state vector by updating the secret nonce −1 = ℎ( −1 , ) of member −1 but keeps the old value as well until the second step is completed. The sponsoring member skips this step if the sponsor is next to the leaving member in the logical linked list, i.e., if = + 1. After generating the new group key and updating the state vector, the sponsor member multicasts the partition message in conjunction with . The multicasting key is derived from set = { −1 } , which infers that only remaining members ′ will receive this message. Note that even if the sponsor node updated −1 , it will still use the old value of −1 for the multicast message, until the second step completed. The departing node cannot decrypt this message as −1 ∉ , hence departing node cannot generate the new group key; it ensures the forward secrecy. 2) After receiving the arguments for generating a new group key, all members excluding +1 generate a new group key and update the state vectors by updating nonce −1 by hashing its old value with . This step ensures that departing member cannot generate the group key, as is unknown to the departing member. Moreover, it ensures that member +1 should not generate −1 , as is unknown to +1 . Hence, after the second step, −1 ∉ +1 , meaning that a new logical link between −1 and +1 is created. 3) Finally, the sponsor member shares the group key with +1 . Let us consider a group of four members, as shown in Figure  5 , where 2 is the sponsor member, and 4 is the departing member. For the given example the leave protocol proceeds as follows: 1) When 4 leaves the group, the sponsor node 2 shares the updated group key using the key derived from old 3 . The old 3 is unknown to 4 , hence the group key is only delivered to 1 and 3 . The member 1 updates its state vector by deleting old 3 . To merge number of small groups into one large group, the merge protocol runs concurrently in ⌈log 2 ⌉ rounds. For each run of the protocol, we obtain a merged group of two subgroups. For example, as shown in Figure 6 , six small groups { 1 , 2 , 3 , 4 , 5 , 6 } are merged into one large group 16 in ⌈log 2 6⌉ = 3 rounds. The merge protocol is initiated when a sponsor member sends a valid join message to a sponsor member of another group. Here, is the current sponsor of the group and is the sponsor of group . After receiving a valid join ticket ( ( || ( ))|| −1 ⊩ = { − +1 }), the members of group know the secret of the immediate previous member in the logical linked list of . Upon sending the join request, the protocol proceeds as follows:  The sponsor of group sends the join message, encrypted with key , as derived from { − +1 }, inferring that only the sponsor members of group receive the Join message. Sponsor member confirms the authenticity of the sender by verifying the signatures. 2) The sponsor of group multicasts the updated message, meaning that all group members excluding +1 update the value of = ℎ( , ). +1 cannot update because ∉ +1 . The updated value of ensures backward secrecy. 3) shares his state vector with all members of group , except the tail member 1 . To ensure this, multicasts the message using , which is derived from the secret of head member i.e., . 4) shares a set { , ( − )} of secret values with 1 and straight away, member 1 breaks the logical link with and establishes a new logical link with member . Note that messages 2 and 3 are sent by the sponsor member of group , but they are encrypted with keys derived from group . The rationale behind this choice is to prevent the disclosure of from other members of group . 5) At this stage, the sponsor member shares the vector and with all members of group , excluding +1 . The message is encrypted with and further encrypted with derived from ; this infers that the message is prevented from being accessed by +1 and all members of group . 6) −1 shares a set { , ( − )} of secret values with +1 , and straight away member +1 breaks the logical link with and establishes a new logical link with member , with group added between and +1 . All members of groups and shared the common group key and updated the state vectors with new secret values while maintaining the logical links. Let's consider two groups and each with three member nodes, as shown in Figure 7 , where 3 sponsor member of groups sends a valid merge request to 2 , the sponsor member of group . For the given example the merge protocol proceeds as follows:. 1) 2 verifies the request, and updates his secret nonce 2 ′ = ℎ( 2 , ) and state vector 2 . 2) 2 informs all group members, excluding 3 to updated state vectors by updating 2 ′ = ℎ( 2 , ) . 3) 2 shares his state vector with the members of group , except tail member 1 , to guarantee this, 2 multicast the message using which is derived from the secret of head member 3 i-e, 3 . 4) 2 shares a set { 3 , ( 2 − 2 )} of secret values with 1 ; this ensures that the member 1 broke the logical link with 3 and established a new logical link with member 2 . 5) Now sponsor member 2 shares the vector and with all members of the group excluding 3 . The message is encrypted with and further encrypted with derived from 2 ; this infers the message is prevented from being accessed by 3 . 6) 1 shares a set { 2 , ( − 3 )} of secret values with 3 , which means the member 3 broke the logical link with 2 and established a new logical link with member 3 , in other words, group is added between 2 and 3 . Assume that there is a group of members where members leave the group simultaneously and are left with ′ members. Occasionally, a fault in the network disconnects a large number of nodes simultaneous. Upon the occurrence of a partition event, the current sponsor of group will initiate the partition protocol, which proceeds as follows: Upon the occurrence of a partition event, the sponsor member updates its secret nonce = ℎ( , ) and generates a new group key = ℎ( , ). The sponsor member multicast the partition message in conjunction with . The multicasting key is derived from the set = {⋂ , ∀ ∈ ′ }, which infers that only remaining members ′ will receive this message. This also infers that all members ∈ ′ remove all members ∈ from the local secret list. 2) After having received the arguments for generating a new group key, all members excluding −1 generate the new group key and update the state vectors by running function . Function updates the state vector of all remaining members by discarding all of the secrets which cannot be generated and those which belong to . For instance, if { +1 , … } ∈ , then function updates = ℎ( , ), where is the secret of the head member among contiguous departing members in the logical linked list. In the worst case, when leaving members are noncontiguous, function will perform | − | number of hash operations to update each member's state vector. In best case, when all leaving members are contiguous, function must perform only one hash operation to update each member's state vector. 3) Sponsor member sends the group key to −1 explicitly, as node −1 does not know the value of . We consider a group of six members { 1 , 2 , 3 , 4 , 5 } = 6 , as shown in Figure 8 , where 3 is the sponsor member and { 1 , 2 , 5 } leave the group simultaneously. For the given example the partition protocol proceeds as follows: 1) The sponsor member 3 generates a new group key = ℎ( 3 , ) and multicast the partition message, including the new group key and a list of members = { 1 , 2 , 5 }, to 4 and 6 using encryption key derived from = { 1 , 4 , 6 } . 2) After receiving the partition message, all remaining members update the state vector, where 3 ′ = ℎ( 3 , 5 ) 4 ′ = ℎ( 4 , 5 ) and 6 ′ = ℎ( 2 , 6 ) and generate the group key = ℎ( 3 , ). For each join and leave message, we are required to perform a hash operations proportional to the group size. SGRS may encounter a scalability problem when the group size reaches millions of users. For instance, in a group of one million members, each member must maintain a state vector of 999999 nonce instances. In terms of memory consumption, this will require approximately 40MB, which is not an issue for modern end-user devices, but for each leave and join event, the protocol requires the performance of nearly one million hash operations. With such a large group size, the probability of the occurrence of a leave or join event also increases. The problem of scalability can be solved by dividing the large group into smaller cascaded groups arranged in multiple layers, as shown in Figure 9 . Let us consider number of members divided into number of groups with each group ( ) having its group key ( ∀ = 1,2,3. . ) shared and generated, as discussed in relation to the SGRS protocol suite. All of these groups can generate a supergroup ( ) by considering each group ( ) as a logical member of the supergroup and considering the corresponding group key as their secret nonce. With this type of arrangement, all of the groups and group members share a common group key generated at the supergroup level. The supergroup ( ) can further be cascaded to generate an ultra-supergroup ( ), and so on. The cascaded group limits the required number of nonce updates for the new group key to the lowest group level. For example, consider two levels which are cascading, where groups join to create a supergroup ( ). If a leave or join event occurs in group ∈ , the SGRS will run locally and will produce the new group key , which will further serve as an updated nonce of group member at the supergroup level. At the supergroup level, all of the group members then generate the new group key, as follows: → −1 : ( ) ⊩ = { +1 } 1) An SGRS event occurs, leading to production of new local group key . 2) At the supergroup level, all group members, excluding −1 , generate new a supergroup key and share it with local members. 3) Any other group members can send the updated group key to +1 . For a cascaded group solution for the scalable SGRS scheme, we make one important assumption. At the group level, the sponsor member is considered to be a permanent and trusted member who does not share upper-level keys, except for the final supergroup key, with local members. V. PERFORMANCE ANALYSIS There are four major security apprehensions regarding group communication: group key secrecy, backward secrecy, forward secrecy and key independence [3, 6] . SGRS addresses all of these security concerns. 1-Group key secrecy: In SGRS, it is computationally infeasible to generate a group key unless the intruder knows the secret state vector of the group members. Fig. 9 . A cascaded group example , number of groups generate one super-group and number of super-groups generate one large ultra-super-group. The group key generated at ultra-super-group level is shared among all super-group, groups, and group members. This article is accepted for the publication in "Cluster Computing-The Journal of Networks, Software Tools and Applications" ISSN: 1386-7857 (Print) 1573-7543 (Online) 9 2-Backward secrecy: To ensure backward secrecy, when a member or group of members joins the group, they are prevented from regenerating the previous group keys. As the group keys are generated using shared secrets, at the time when a member or group of members joins the group, the secret nonce of the sponsor member has been updated using a one-way hash function. Thus, upon the occurrence of a join event, the requisite material to re-generate the previous group key is destroyed. In the Join and leave protocol, this step ensures this property. 3-Forward secrecy: When a member or group of members leaves the group, they are precluded from knowing/generating future group keys. In both algorithm 2 and algorithm 4, step 2 ensures this property. As the group Merge (3 log 2 + 9) + (2 (1 + ) + 1 + ) (1 + 2 ) ( − )(2 − ) + (2 − 1) Join (4 log 2 ) + (5 + 2 log 2 ) (2 2 ) + 2 (2 log 2 + 2) + (log 2 + 1) Leave (2 log 2 ) + 2ℎ (2 + 2 log 2 ) (2 2 ) 2 2 + (log 2 + 1) Mehdizadeh et al. ISSN: 1386-7857 (Print) 1573 10 keys are generated using shared secrets, at the time when a member or group of members leaves the group, we update the secret state vectors of all group members using a one-way hash function. Note that upon a leave event, it is not necessary to update the entire state vector, and the multicasting keys are generated by including a new group key as an argument which ensures that multicasting keys cannot be used by leaving members. 4-Key Independence: In SGRS, group key generation is independent of previously generated group keys. Any knowledge of previously known group keys cannot help discover any other group key. This section analyzes the efficiency of SGRS in terms of computational and message complexity against earlier works [13] [14] [15] [16] [17] . We consider that encryption should protect all types of keying materials exchanged among group members. Further, we assume that encryption and decryption have identical computational costs, represented by ; for instance, the exchange of an encrypted unicast message increases the computational cost by 2 , whereas an encrypted broadcast message increases the computational cost by (1 + ) . Similarly, the encrypted multicast message adds (1 + ) to the total computational cost. Here, denotes the size of the multicasting group. Additionally, we presume that the computational price of an asymmetric key pair and an asymmetric proxy re-encryption key are identical. To present the computational analysis of the results of earlier work [13, 14] , we make a few extra assumptions. In Mehdizadeh et al. [14], the group is divided into two network levels: the multicast level and the unicast level. We assume that the network of size is divided into subgroups, each of size | | = / . Hence, in Mehdizadeh et al. [14], we have 2 +1 − 1 nodes at the multicast level and number of nodes at the unicast level. In the performance analysis section, the author overlooked the rekeying cost induced at the multicast level. At the multicast level, the keys are arranged in a logical key hierarchy (LKH) and the key tree is a binary balanced tree. Upon each key update event, the multicast server must send at least one multicast message to all leave 2 +1 − 1 nodes. In Zhong et al. [13] the authors discussed the issue of the coexistence of multiple multicasting groups in a single network. However, in that work [13] , the computational and communication cost complexity is highly dependent on the number of multicasting groups and the number of users participating in each group. If there are number of multicasting services, in upper case, we have 2 − 1 key encryption keys (KEKs) while in lower case, if all users are subscribed to one multicast service, there will simply be a single KEK. For our analysis, we consider the lower case scenario. [14, 15] , multiplication operations are the major contributors, and both require ( 2 ) multiplication operations. Zhong et al. [13] is very efficient, but that scheme requires the re-encryption and translation of each message by the subgroup leader, whereas in SGRS, the significant contribution to the computational cost stems from the one-way hash function, requiring ( ) hash operations for the join and leave protocols, while it is limited to the number of groups and the size of the group in the merge and partition protocols. In SGRS, the computational workload is well distributed among the group members. For instance, in the join protocol, each member performs one hash operation, while in the leave protocol, each member performs two hash operations. SGRS is persistent, and during the protocol run, the availability of the correct group key is independent of the failure of one or a set of members. However, the communication cost concerning the total data exchange gives a different conclusion. For simplicity of determining the communication, during merge and partition protocols, we consider that the merging or partitioning groups are of identical sizes. Further, we consider the best case condition for Kim et al. [16]; for instance, we assume that a blinded keys tree is always a perfect binary tree with at most 21 N  nodes. In a merge protocol after tree sharing, we consider that the protocol require one BC to share the group key, while in the partition protocol, we consider in each round sponsor node must broadcast one blinded key. To calculate the total amount of data exchanged, we assume that the integers, nonce, and the member IDs are 4 bytes in size. The cryptographic keys, hash, and signatures size are considered to be 32 bytes. The communication cost results are shown in Figure 10 -13. Figure 10 shows the comparison results of the total amount of data exchanged for the join protocol assuming a group of 100 members receiving 5 to 25 joining requests. It is quite clear that SGRS outperform all of the other schemes. Figure 11 depicts the comparison results of the total amount of data exchanged for a leave protocol considering a group of 100 members receiving 5 to 25 leave requests. It is quite clear that SGRS and the scheme by X. Lv et al. [15] outperform the remaining schemes. SGRS is slightly expensive compared to that by X. Lv et al. [15] , but the performance gap is too small. Figures 12 and 13 depict the comparison results considering the total amount of data exchanged for the merge and partition protocols, respectively. In the merge protocol, we consider that 15 identically sized groups are merged to create one single large group, while we assume that one single large group is partitioned into 15 small identically sized groups; the small group size varies from 7 to 34. It is quite clear that SGRS outperform both Kim et al. [16] and X. Lv et al. [15] . In this paper, we have proposed a novel group key agreement scheme for the dynamic group, SGRS. Our scheme is distributed yet does not require synchronization among group members to share and update the keys. However, in the case of cascaded membership events, group members should perform all necessary update operations, especially updating the local group key, before moving to the next membership event. Additionally, our solution inherently provides a considerable amount of secure subgroup multicast communication using subgroup multicasting keys derived from state vectors. Moreover, SGRS establishes a symmetric group key, which ensures that group communication is computationally efficient.  REFERENCES
A secure key agreement protocol for dynamic group is proposed in REF .
A Secure Key Agreement Protocol for Dynamic Group
Cluster Comput (2017) 20: 2779
Computer Science