Next Article in Journal
Distributed Non-Communicating Multi-Robot Collision Avoidance via Map-Based Deep Reinforcement Learning
Next Article in Special Issue
An Effective Dense Co-Attention Networks for Visual Question Answering
Previous Article in Journal
Nonlinear Feature Extraction Through Manifold Learning in an Electronic Tongue Classification Task
Previous Article in Special Issue
Recognition of Crop Diseases Based on Depthwise Separable Convolution in Edge Computing
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Blockchain-Based Authentication and Dynamic Group Key Agreement Protocol

1
Computer and Communication Engineer Institute, Changsha University of Science and Technology, Changsha 410114, China
2
Big data development and Research Center, Guangzhou College of Technology and Business, Guangzhou 528138, China
3
School of Computer Science, Hubei University of Technology, Wuhan 430068, China
4
School of Computer Science and Engineering, Hunan University of Science and Technology, Xiangtan 411201, China
*
Author to whom correspondence should be addressed.
Sensors 2020, 20(17), 4835; https://doi.org/10.3390/s20174835
Submission received: 26 July 2020 / Revised: 24 August 2020 / Accepted: 24 August 2020 / Published: 27 August 2020
(This article belongs to the Collection Fog/Edge Computing based Smart Sensing System)

Abstract

:
With the rapid development of mobile networks, there are more and more application scenarios that require group communication. For example, in mobile edge computing, group communication can be used to transmit messages to all group members with minimal resources. The group key directly affects the security of the group communication. Most existing group key agreement protocols are often flawed in performance, scalability, forward or backward secrecy, or single node failure. Therefore, this paper proposes a blockchain-based authentication and dynamic group key agreement protocol. With our protocol, each group member only needs to authenticate its left neighbor once to complete the authentication, which improved authentication efficiency. In addition, our protocol guarantees the forward secrecy of group members after joining the group and the backward secrecy of group members after leaving the group. Based on blockchain technology, we solve the problem of single node failure. Furthermore, we use mathematics to prove the correctness and security of our protocol, and the comparison to related protocols shows that our protocol reduces computation and communication costs.

1. Introduction

With the rapid development of mobile networks, the secure transmission of data is no longer limited to both parties in communication, but is required in group communication. Group communication can transmit messages to all group members with minimal resources [1]. This is because the sending of the message only needs to be broadcast once within the group, instead of sending the same message to all group members one by one, which results in a significant increase in communication efficiency. In order to reduce network latency in cloud computing, Mobile Edge Computing (MEC) [2] is introduced. In MEC, the Small Cell Manager (SCM) needs to dynamically and elastically manage the computing and/or storage resources of multiple Small Cell Clouds (SCCs) [3]. Therefore, the use of group communication can greatly improve the efficiency of MEC.
In order to provide a reliable and scalable group communication service, the most basic and critical security issue is access control [4]. In most cases, access control can be achieved by encrypting or decrypting messages, because only legitimate group members can get the key and use this to decrypt the ciphertext to access the messages [5,6]. Therefore, in order to ensure efficient and secure communication in the group, all group members need to use the same session key, which is also called the group key. This means that the group key agreement protocol directly affects the security and efficiency of group communication.
In recent years, many researchers have proposed many authentication and group key agreement protocols. However, according to the research of [7,8], we found that most of these protocols have the following defects: (1) performance: before the group key is negotiated, mutual authentication is usually required between group members, which may consume much of the computation and communication costs; (2) scalability: the protocol cannot efficiently handle the joining or leaving of group members, which results in the poor scalability of the protocol; (3) forward or backward secrecy: it is difficult to guarantee the forward or backward secrecy of group members after joining or leaving the group, such as [9]; (4) single node failure: since most existing protocols store the registration information of all group members in a single node, these protocols are vulnerable to the problem of single node failure. Therefore, these protocols are not suitable for MEC. We design a blockchain-based authentication and dynamic group key agreement protocol to solve the above problems in this paper. The protocol has the following characteristics:
  • In our protocol, before negotiating the group key, each group member only needs to authenticate its left neighbor once and perform batch authentication once, instead of implementing mutual authentication between group members, which reduces much of the computation and communication costs.
  • The blockchain can be regarded as a shared distributed ledger [10], which can effectively solve the problem of single node failure. Therefore, we use the blockchain to store the public parameters and registration information of all group members. This allows our protocol to solve the problem of single node failure, while also making all the parameters and information stored in the blockchain unmodifiable [11]. In addition, based on blockchain technology, group members can join any group in the entire system after completing registration on any server, which improves convenience.
  • In our protocol, when group members join or leave a group, they only needs to update the parameters of an adjacent group member, which also improves the scalability of our protocol.
  • Our protocol guarantees the forward secrecy of group members after joining the group and the backward secrecy of group members after leaving the group.
The rest of this article is arranged as follows. Section 2 describes the related works. Some preliminaries are introduced in Section 3. The proposed protocol is described completely in Section 4. Section 5 analyzes the security of our protocol. The performance analysis is shown in Section 6. Finally, we conclude the article in Section 7.

2. Related Works

Many researchers have proposed many solutions to ensure the security of group keys. These solutions are generally divided into the following three types [12,13].
(1)
Centralized group key agreement protocol:
There is usually only one entity for controlling the entire group in this type of protocol, which is called a Key Distribution Center (KDC). The KDC is responsible for key generation, distribution, and management. It also needs to be responsible for tasks such as group communication. The protocol proposed by Wong et al. [14] is a typical group key agreement protocol based on a Logical Key Hierarchy (LKH). A binary tree is stored in the KDC of this type of protocol. The root node of the tree is a shared encryption key; the intermediate nodes of the tree hold different keys along the path from the leaves to themselves; and the leaf nodes of the tree hold keys related to group members. This type of protocol requires less space to store the keys, and when the keys need to be updated, the amount of communication is greatly reduced. The group key agreement protocol of Islam et al. [7] is proposed for the Internet of Vehicles, and the trusted authority in their protocol acts as the KDC. In the centralized group key agreement protocol, since the KDC needs to be responsible for storing and distributing all keys and controlling group communication, the scalability and storage costs of this type of protocol are very large. In addition, once the KDC fails, the entire system cannot continue to operate normally.
(2)
Decentralized group key agreement protocol:
This type of protocol usually divides the entire group into several subgroups, and each subgroup has a group controller to manage all group members in the subgroup. In this way, the burden of KDC is greatly reduced, and single node failure is also solved. Mittra [15] proposed a scalable multicast framework, which divides large groups into multiple subgroups, and each subgroup has a controller called a group security intermediate node or a group security agent. In the protocol of Setia et al. [16], the group key is updated at regular intervals, rather than when group members join or leave. Naresh et al. [8] proposed a cluster-based hybrid group key agreement protocol, which divides large groups into a certain number of clusters and specifies the last member of the cluster as the cluster head and group controller. In 2018, Gupta et al. [17] proposed a group key agreement protocol based on self-certified public keys. In their protocol, there is a group controller for each group. Moreover, before generating the group key, each group member needs to mutually authenticate with other group members, which leads to high computation and communication costs. Zheng et al. [18] proposed a multi-domain group key agreement protocol. Their protocol uses authentication between group members and a group controller instead of authentication between each group member to reduce computation and communication costs. However, this makes their protocol vulnerable to single node failure. The main problems faced by decentralized group key agreement protocols are key distribution efficiency, how to establish a trusted relationship with a third party, and mutual authentication of sub-members across groups.
(3)
Distributed group key agreement protocol:
All group members in this type of protocol are equal, and there is no group controller. In addition, the KDC usually does not participate in the generation of group keys. Without a base station, Wang et al. [19] proposed a device-to-device group key agreement protocol. The protocol guarantees the anonymity of each device and uses a signature scheme based on the gap Diffie–Hellman group [20]. In 2018, Zhang et al. [21] proposed a distributed group key agreement protocol. Their agreement achieves cross-domain authentication and key self-certification. Based on the hyper elliptic curve digital signature and ElGamal algorithm, Kavitha et al. [22] proposed a distributed group authentication protocol for the healthcare system in the Internet of Things. Since the KDC or group controller in this type of protocol usually does not participate in the process of group key generation, the mutual authentication between group members becomes the largest computational overhead, which means that the cost of generating a group key will increase as the number of group members increases. Therefore, reducing the number of mutual authentications between group members is the core of reducing the cost of generating a group key. There are many protocols dedicated to reducing the number of authentications between group members by reducing the number of authentication rounds. The group key agreement protocol proposed by Geng et al. [23] and Zheng et al. [9] divides the entire protocol into two rounds. The first round is mutual authentication between members, and the second round is group key generation. In the above two protocols, each group member only needs to authenticate the two adjacent group members. The protocol proposed by Zhang et al. [24] and Shi et al. [25] merges the two processes described above into one. The protocol proposed by Alphonse and Reddy [26] forms each group member into a structure similar to a binary tree, and all group members authenticate each other from the leaf node to the root node. Although their protocol reduces the computation and communication costs required to generate group keys, all group members must wait for the final root node to be authenticated before they can negotiate the group key. Therefore, the computing time is still not low.

3. Preliminaries

3.1. Network Model

There are two parts in our network model, namely KDC and General Node ( G N ). In MEC, the KDC can be regarded as the SCM, and the G N can be regarded as the SCC. All G N s are equal, and there is no hierarchy or subordinate relationship. In addition, all G N s usually have certain computing and storage resources, and they can join or leave a group at any time. All KDCs are wire connected, and each KDC can manage one or more G N s. The network model used in our protocol is shown in Figure 1.
In our protocol, multiple KDCs form a blockchain network. In order to improve the efficiency of new block generation, we consider using a more efficient Proof-of-Stake (PoS) [27] or Delegated Proof-of-Stake (DPoS) [28] consensus mechanism, such as ouroboros, a provably secure PoS protocol [27], instead of using a Proof-of-Work (PoW) mechanism [29]. According to this consensus mechanism, at regular intervals, all KDCs will regenerate new blocks including groups whose G N s have changed during this period. In each block, in addition to the hash value of the previous block, the timestamp, and Merkle tree root, it also contains the identifier of these groups, the identity list of all G N s in these group, and the related parameters of all G N s in these group. All G N s only have the permission to read information from the blockchain. In addition, there may be multiple different groups, so after the G N enters the network, it first needs to select a group to join.
Before the G N joins the network, it can submit its identity to a KDC closest to it. The KDC will calculate a pair of keys based on the identity and distribute it to the G N . After that, all KDCs will generate a new block containing the identity and related information of the newly added G N through the consensus mechanism. The detailed operation of KDCs is described in the next section. Note that not all KDCs participate in group key agreement.

3.2. Threat Model

We define the threat model as follows:
  • The adversary has the ability to intercept all data transmitted over unsecured channels, and he/she can inject new data and replace or replay the previously sent data.
  • All KDCs are semi-trusted parties, which means that they may misbehave themselves, but do not conspire with any other KDC [30].
  • With the help of a Tamper-Proof Device (TPD), we assume that even if the adversary compromises the KDC, he/she cannot extract any secret keys from it.
  • The adversary has the ability to capture any number of G N s and can access all the secret information stored in the G N ’s memory by capturing attack.

3.3. Bilinear Pairing

Let G 1 and G 2 be cyclic additive and multiplicative groups of prime order q, respectively. The generator of G 1 is g 1 . Let e : G 1 × G 1 G 2 be a bilinear pairing, which satisfies the following properties:
  • Bilinearity: P , Q G 1 and a , b Z q * , e ( a P , b Q ) = e ( P , b Q ) a = e ( a P , Q ) b = e ( P , Q ) a b are satisfied.
  • Non-degenerate: P , Q G 1 such that e ( P , Q ) 1 .
  • Computable: for all P , Q G 1 , there is always an effective algorithm to compute e ( P , Q ) .
The security of our protocol is based on the following computationally infeasible problems.
  • Elliptic Curve Discrete Logarithm problem (ECDL): Let a Z q * , given P , a P G 1 , and compute a.
  • Computational Diffie–Hellman problem (CDH): Let a , b Z q * , given g 1 , a g 1 , and b g 1 , and find a b g 1 .
  • Decisional Diffie–Hellman problem (DDH): Let a , b , c Z q * , given g 1 , a g 1 , b g 1 , and c g 1 , and decide if e ( a g 1 , b g 1 ) = e ( g 1 , c g 1 ) .

4. Proposed Protocol

In the distributed group key agreement protocol, each group member is equal, which means that before the group key is negotiated, each group member usually needs to consume many communication and computing resources to perform mutual authentication with all other group members. In order to reduce these costs, in our protocol, we arrange all G N s into a list according to their identities. According to the list, before the group key is negotiated, each G N only needs to send an authentication request to its right neighbor once and be authenticated by its right neighbor. In other words, each G N will receive an authentication request from its left neighbor and authenticate its left neighbor. Since each G N only needs to complete authentication once, this can greatly reduce the computation and communication costs caused by authentication between group members. In addition, when any G N needs to join or leave the group, only the left neighbor of the G N needs to update the parameters, which can also reduce the computation and communication overhead.
Our protocol has seven parts: the initialization phase, the registration phase, the mutual authentication phase, the group key generation phase, the G N join phase, the G N leave phase, and the internal attacker detection process. When the system runs for the first time, the initialization phase is performed by the System Administrator (SA). Each G N performs the registration phase before entering the network. When the group key needs to be negotiated, all G N s perform the mutual authentication phase and the group key generation phase. When a G N wants to join a group, it needs to perform the G N join phase. When a G N in the group wants to leave, the G N leave phase is performed. If the group key fails to be generated multiple times, the KDC will execute the internal attacker detection process to find the malicious G N and expel it from the group.
Suppose there are G N i ( 1 i n ) that need to generate the group key, and their identities are I D i ( 1 i n ) , where n is the number of G N . Since there may be multiple groups, we named each group G I D u , where u is the number of groups. Each group has a list L that stores the identity I D i of all G N s in the group and is managed by the KDC. All I D i in L are sorted in descending order, and L is a circular list, which means that the largest I D i and the smallest I D i are linked. Table 1 shows the description of the symbols. The details of the above seven parts are as follows.

4.1. Initialization Phase

First, the SA picks { G 1 , G 2 , Q , e , p } , where G 1 is a cyclic additive group of order p, G 2 is a cyclic multiplicative group of order p, Q is a generator of G 1 , and e : G 1 × G 1 G 2 is a bilinear map. Second, the SA generates a random private key s and computes the corresponding public key P p u b = s Q . Finally, the SA publishes parameters {p, G 1 , G 2 , Q, e, P p u b , h ( . ) , E k , D k } and stores s in the memory of each KDC in a secure environment, where h ( . ) is the hash function used by this protocol, E k is the symmetric encryption algorithm, and D k is the symmetric decryption algorithm.

4.2. Registration Phase

Before the G N joins the network, it needs to choose the nearest KDC to register and receive the corresponding key. The steps in this phase are as follows.
Step R1: The KDC generates a unique identity I D i for the G N i and computes its public key W i = h ( I D i ) and the corresponding private key S i = s W i . Finally, the KDC sends S i to G N i through a secure channel.
Step R2: G N i generates a random a i , computes A i = a i Q , and sends A i to the KDC through a secure channel.
Step R3: The KDC broadcasts I D i , W i , and A i .
Step R4: According to the group’s identity G I D , the G N can choose to join a group or pick a new unique G I D to create a new group. Based on the selection of the G N , there are three different situations: (1) Situation A: the G N joins a group that already has a group key; (2) Situation B: the G N joins a group that has not started negotiating group keys; (3) Situation C: the G N creates a new group. In Situation A, the G N performs the G N join phase. In Situation B and Situation C, the KDC will package G I D , the corresponding L, and multiple tuples ( I D i , W i , A i ) related to all members of the group into a new block, which will be verified by all other KDCs. After successful verification, the new block will be linked to the blockchain. Figure 2 shows the three situations faced by the G N and the solution strategies.

4.3. Mutual Authentication Phase

In this phase, G N i first sends a message to its right neighbor G N i + 1 , and G N i + 1 will authenticate G N i . At the same time, G N i will also receive a message from its left neighbor G N i 1 , and it needs to authenticate G N i 1 . Figure 3 shows the mutual authentication phase and the group key generation phase of our protocol. G N i performs the following operations.
Step A1: Generates a random m i and a timestamp t 1 i and gets A i + 1 from the blockchain.
Step A2: Computes M i = m i Q , K T i + 1 = a i A i + 1 , S E i + 1 = E K T i + 1 ( M i ) , C i = h ( S E i + 1 , K T i + 1 , t 1 i ) S i .
Step A3: Sends message ( S E i + 1 , C i , t 1 i ) to G N i + 1 .
Step A4: G N i receives a message ( S E i , C i 1 , t 1 i 1 ) from G N i 1 and gets A i 1 from the blockchain.
Step A5: Checks that t n e w t 1 i 1 < Δ t holds or not. If the check fails, it broadcasts an authentication failure message.
Step A6: Computes K T i = a i A i 1 .
Step A7: Checks whether the condition e ( Q , C i 1 ) ? = e ( P p u b , h ( S E i , K T i , t 1 i 1 ) W i 1 ) is satisfied. If the condition is not true, it broadcasts an authentication failure message.
Step A8: Uses K T i to decrypt S E i and get M i 1 .
Step A9: Generates a random b i and a timestamp t 2 i .
Step A10: Computes X i = b i W i , Z i = e ( M i M i 1 , Q ) , Y i = ( b i + h ( X i , Z i , t 2 i ) ) S i .
Step A11: Broadcasts R i = ( X i , Y i , Z i , t 2 i ) .

4.4. Group Key Generation Phase

During this phase, each G N i receives the message R r ( r n , r i ) from all other G N s. At this point, each G N i will perform a group authentication and then negotiate the group key. The execution steps of each G N i are as follows.
Step K1: Checks that the timestamp t n e w t 2 r < Δ t , ( r n , r i ) in each received message is valid. If the check fails, it broadcasts an authentication failure message.
Step K2: After receiving the message from all other G N s, it checks that:
e ( r i Y r , Q ) = ? e ( r i ( X r + h ( Z r , t 2 r ) W r ) , P p u b )
holds or not. If the check fails, it broadcasts an authentication failure message.
Step K3: Computes k = e ( n M i , Q ) Z i + 1 n 1 Z i + 2 n 2 Z i 1 and group key K s = h ( k , R 1 , R 2 , , R n ) .

4.5. G N Join Phase

When a new G N j wants to join the group, it needs to be registered in the KDC first. This means that according to the registration phase, G N j has selected a group to join. Figure 4 shows the G N join phase of our protocol. The detailed steps are as follows.
Step J1: G N j obtains the corresponding list L of the group from the blockchain, inserts its identity I D j into the appropriate position in L, and broadcasts the new L.
Step J2: G N j generates a random number a j and computes A j = a j Q . After that, G N j broadcasts A j .
Step J3: G N j ’s left neighbor G N j 1 regenerates a new random number a j 1 and computes A j 1 = a j 1 Q . After that, G N j 1 broadcasts A j 1 .
Step J4: The KDC packages the updated L, corresponding G I D , and multiple tuples ( I D i , W i , A i ) related to all members of the group into a new block, which will be verified by all other KDCs. After successful verification, the new block will be linked to the blockchain.
Step J5: According to the steps in the mutual authentication phase, G N j sends ( S E j + 1 , C j , t 1 j ) to its right neighbor G N j + 1 and receives message ( S E j , C j 1 , t 1 j 1 ) from G N j 1 .
Step J6: After the messages received by G N j and G N j + 1 are successfully authenticated, all G N s broadcast R i = ( X i , Y i , Z i , t 2 i ) and perform the group key generation phase to complete the key update.

4.6. G N Leave Phase

When a G N j in the group wants to leave, the following steps need to be performed. Figure 5 shows the G N leave phase of our protocol.
Step L1: G N j deletes its identity I D j from list L and broadcasts the new L.
Step L2: G N j 1 regenerates a new random number a j 1 , and computes A j 1 = a j 1 Q . After that, G N j 1 broadcasts A j 1 .
Step L3: The KDC packages the updated L, corresponding G I D , and multiple tuples ( I D i , W i , A i ) related to all members of the group into a new block, which will be verified by all other KDCs. After successful verification, the new block will be linked to the blockchain.
Step L4: According to the steps in the mutual authentication phase, G N j 1 sends ( S E j , D j 1 , t 1 j 1 ) to G N j + 1 .
Step L5: After U j + 1 authenticates U j 1 , all G N s broadcast R i = ( X i , Y i , Z i , t 2 i ) and perform the group key generation phase to complete the key update.

4.7. Internal Attacker Detection Process

It can be found in our protocol that every G N is required to be honest during the group key generation phase. If a malicious G N intentionally broadcasts an error message, the entire group cannot generate a group key. However, since all G N s are equal, it is impossible to discover malicious G N s through these G N s. Therefore, our agreement regards KDC as the judging body. When the group fails to negotiate multiple times, the process will be executed and try to find the malicious G N . The steps of this process are as follows.
Step D1: The KDC first records all messages sent by each G N i in the group G I D .
Step D2: All G N i generate a timestamp t D i , compute H = h ( W i , S i , I D i , K T i + 1 , b i ) , and send the tuple ( I D i , W i , H, K T i + 1 , b i ) to the KDC.
Step D3: After receiving the tuple, the KDC first verifies the validity of the time stamp t D i . Then, the KDC computes S i = s W i , H = h ( W i , S i , I D i , K T i + 1 , b i ) and verifies H ? = H . If it does not hold, G N i is regarded as a malicious G N .
Step D4: If the above formula holds, the KDC continues to compute C i = h ( S E i + 1 , K T i + 1 , t 1 i ) S i , Y i = ( b i + h ( X i , Z i , t 2 i ) ) S i and verify C i ? = C i , Y i ? = Y i . If it does not hold, the corresponding G N i will be expelled from the group immediately.

5. Security and Performance Analysis

5.1. Correctness Analysis

Theorem 1.
G N i and G N i + 1 can calculate the same symmetric key K T i + 1 , so that G N i + 1 can get M i .
Proof. 
Since G N i computes K T i + 1 = a i A i + 1 to get K T i + 1 and G N i + 1 computes K T i + 1 = a i + 1 A i to get K T i + 1 , then:
K T i + 1 = a i A i + 1 = a i a i + 1 Q = a i + 1 A i .
Since the same K T i + 1 can be obtained by calculating a i A i + 1 and a i + 1 A i , G N i and G N i + 1 can use the symmetric key K T i + 1 to encrypt or decrypt transmitted messages. □
Theorem 2.
It is valid for G N i to authenticate G N i 1 .
Proof. 
The authentication of G N i for G N i 1 is achieved by verifying whether the formula e ( Q , C i 1 ) = e ( P p u b , h ( S E i , K T i , t 1 i 1 ) W i 1 ) holds. The correctness of the formula is proven as follows.
e ( Q , C i 1 ) = e ( Q , h ( S E i , K T i , t 1 i 1 ) S i 1 ) = e ( Q , h ( S E i , K T i , t 1 i 1 ) s W i 1 ) = e ( P p u b , h ( S E i , K T i , t 1 i 1 ) W i 1 )
Although the adversary can easily obtain Q , P p u b , A i G 1 , due to the ECDL and the CDH, he/she cannot calculate s, any a i , or K T i in polynomial time. Therefore, the adversary also cannot calculate h ( S E i , K T i , t 1 i 1 ) . If the adversary wants to forge a G N i to pass the above verification, he/she needs to create a new valid e ( P p u b , h ( S E i , K T i , t 1 i 1 ) W i 1 ) . However, since the adversary cannot obtain a i and s, he/she cannot calculate a new e ( P p u b , h ( S E i , K T i , t 1 i 1 ) W i 1 ) . In addition, due to the DDH, for a random z G 1 , the adversary cannot decide if e ( Q , C i 1 ) = e ( P p u b , z ) in polynomial time. □
Theorem 3.
During the group key generation phase, G N i is valid for the batch authentication of other group members.
Proof. 
In the group key generation phase, G N i authenticates other group members in batches by verifying whether formula e ( r i Y r , Q ) = e ( r i ( X r + h ( X r , Z r , t 2 r ) W r ) , P p u b ) holds. The correctness of the formula is proven as follows.
e ( r i Y r , Q ) = e ( r i ( b r + h ( X r , Z r , t 2 r ) ) S r , Q ) = e ( r i ( b r + h ( X r , Z r , t 2 r ) ) s W r , Q ) = e ( r i ( b r W r + h ( X r , Z r , t 2 r ) W r ) , s Q ) = e ( r i ( X r + h ( X r , Z r , t 2 r ) W r ) , P p u b ) .
If the adversary wants to forge a G N i * to pass the above batch authentication, he/she needs to create a valid X i * and Y i * to satisfy e ( Y i * , Q ) = e ( ( b i + h ( X i * , Z i , t 2 i ) ) s W i , Q ) . First, the adversary cannot get b i , so it is difficult for him/her to calculate ( b i + h ( X i * , Z i , t 2 i ) ) s W i . Second, even suppose that ( b i + h ( X i * , Z i , t 2 i ) ) is revealed by the adversary, but he/she still cannot calculate a valid X i * or Y i * because he/she cannot get s. In addition, due to the DDH, for a random z G 1 , the adversary cannot decide if e ( r i Y r , Q ) = e ( z , P p u b ) in polynomial time. □
Theorem 4.
If all G N i s participating in the group key generation phase are honest, then all G N i s can negotiate the same group key.
Proof. 
According to Theorem 1, as long as all G N i s participating in the group key generation phase are honest, each G N i can obtain the parameter M i 1 sent by its left neighbor. Therefore,
k = e ( n M i , Q ) Z i + 1 n 1 Z i + 2 n 2 Z i 1 = e ( m i Q , Q ) n Z i + 1 n 1 Z i + 2 n 2 Z i 1 = e ( Q , Q ) n m i + ( n 1 ) ( m i + 1 m i ) + ( n 2 ) ( m i + 2 m i + 1 ) + + ( m i 1 m i 2 ) = e ( Q , Q ) m 1 + m 2 + + m i .
From the above, it can be found that all G N i s can calculate the same parameter k. Therefore, their group keys K s = h ( k , R 1 , R 2 , , R n ) are also the same. □

5.2. Simulation Based on the ProVerif Tool

ProVerif is a widely known authentication protocol verification tool that can prove the security of multiple encryption schemes or authentication protocols, such as signature schemes and Diffie–Hellman key exchange algorithms [31,32]. Since each G N does not need to communicate with other nodes during the group key generation phase, we use ProVerif to verify the security of the mutual authentication phase of our protocol. In addition, since we do not need to verify the performance of our protocol in this section, we assume that there are only three G N s that need to negotiate a group key, which are G N 1 , G N 2 , and G N 3 . Figure 6 shows the code for the mutual authentication phase of our protocol. Figure 7 shows the simulation results. The results show that in our protocol, the secret parameters M 1 , M 2 , and M 3 for group key generation, as well as the private keys s, a 1 , a 2 , and a 3 will not be obtained by the adversary.

5.3. Informal Security Analysis

5.3.1. G N Impersonation Attack

The adversary needs to create valid messages ( S E i + 1 , C i , t 1 i ) or ( X i , Y i , Z i , t 2 i ) to perform an impersonation attack on G N i . However, according to Theorem 2 and Theorem 3, the adversary cannot create a valid message.

5.3.2. G N Capture Attack

After the adversary has captured several G N s, we need to ensure that the private key s cannot be obtained by the adversary. After the adversary captures a G N i , he/she can obtain S i containing information about s. However, according to the ECDL, although the adversary can obtain W i and s W i , he/she cannot calculate s in polynomial time.

5.3.3. Replay Attack

Our protocol uses timestamps t 1 and t 2 to defend against replay attacks. In addition, our protocol guarantees that the timestamp cannot be modified. For messages ( S E i + 1 , C i , t 1 i ), the adversary must obtain K T i + 1 and S i before replacing a new valid timestamp t 1 i . For messages ( X i , Y i , Z i , t 2 i ), the adversary must obtain b i and S i before replacing a new valid timestamp t 2 i . However, the adversary cannot get K T i + 1 , b i or S i because they are never transmitted directly in the channel. In addition, due to the ECDL, it is difficult for the adversary to calculate these parameters.

5.3.4. Forward Secrecy after a New G N Joins

When a G N wants to join a group, it needs to ensure that G N j cannot get the previous group key. In our protocol, we assume that G N j has intercepted all historical communication messages of the group. This results in that when G N j joins the group, as long as it obtains m j 1 , it can calculate the previous group key. However, when the G N j joins the group, its left neighbor G N j 1 will regenerate a new m j 1 and send it to G N j , which means G N j can only get m j 1 instead of m j 1 . Therefore, our protocol ensures the forward secrecy after a new G N joins.

5.3.5. Backward Secrecy after a G N Leaves

When a G N j leaves the group, it needs to ensure that it cannot get the group key generated in the future. We assume that after G N j leaves the group, it still retains the secret parameter m j 1 sent by its left neighbor and is able to intercept all group communication messages. This means that as long as m j 1 is kept unchanged, G N j can still calculate the group key after leaving the group. However, in our protocol, after G N j leaves the group, its left neighbor U j 1 will regenerate a new m j 1 and send it to G N j + 1 . This results in that at Step A11, G N j 1 will broadcast Z j 1 = e ( M j 1 M j 2 , Q ) and U j + 1 will broadcast Z j + 1 = e ( M j + 1 M j 1 , Q ) . At this point, m j 1 has expired, and G N j cannot calculate the group key through this parameter. Therefore, our protocol ensures the backward secrecy after a G N leaves.

5.3.6. Single Node Failure

Although all KDCs will not participate in the mutual authentication phase and the group key generation phase, each group still needs to be managed by a KDC. This is because each group may need the KDC to act as a judging body to expel malicious nodes. If the KDC fails, since all KDCs share the same blockchain that stores all G N s’ authentication parameters, it only needs to switch to another KDC. This means that in our protocol, as long as there is a working KDC, the entire system can operate normally.

6. Performance Analysis and Comparison

6.1. Computation Cost

The symbols t s y m , t h , t p m , t p a , and t b p represent the computing time required to implement one symmetric encryption or decryption, one general hash function operation, one point multiplication operation on Elliptic Curve Cryptography (ECC), one point addition operation on ECC, and one bilinear pairing operation, respectively. In the mutual authentication phase and the group key generation phase of our protocol, each G N needs to perform n + 7 point multiplication operations on ECC, 4 bilinear pairing operations, n + 3 hash operations, 2 symmetric encryption or decryption operations, and n + 1 point addition operations on ECC, where n is the number of G N . In other words, the total computation cost of each G N is ( n + 7 ) t p m + 4 t b p + ( n + 3 ) t h + 2 t s y m + ( n + 1 ) t p a .

6.2. Communication Cost

We assume C is 256 bits and timestamp T is 64 bits. In the mutual authentication phase of our protocol, each G N needs to send message ( S E i + 1 , C i , t 1 i ) to G N i + 1 and broadcast ( X i , Y i , Z i , t 2 i ). Therefore, each G N needs to send messages of length 5 C + 2 T and receive messages of length ( 3 n 1 ) C + n T . The total communication cost in the the mutual authentication phase and the group key generation phase of our protocol is ( 3 n 2 + 4 n ) C + ( n 2 + 2 n ) T .

6.3. Comparison with Related Protocols

We compare our protocol with the protocol of Zheng et al. [9], the protocol of Zhang et al. [21], and the protocol of Gupta et al. [17] in terms of computation costs, energy consumption, communication costs, and security.
In the protocol of Zheng et al. [9], the total computation cost required to generate the group key is ( n + 4 ) t p m + 6 t b p + ( n + 4 ) t h + ( 3 n + 1 ) t p a , and each group member needs to send messages of length 7 C + 2 T and receive messages of length ( 7 C + 2 T ) ( n 1 ) . In the protocol of Zhang et al. [21], the total computation cost required to generate the group key is ( 3 n + 2 ) t p m + 2 n t b p , and each group member needs to send messages of length 4 C and receive messages of length 4 ( n 1 ) C . In the protocol of Gupta et al. [17], the total computation cost required to generate the group key is 4 n t p m + 5 t h + ( 2 n + 1 ) t p a . In their protocol, there is a group controller in each group, which undertakes most of the communication work and causes the communication cost of each group member to be very low. Therefore, we consider that the total length of the messages that need to be sent and received is 6 n C + 1 , rather than the communication cost of each group member. Table 2 shows the comparison of computation cost and communication cost between our protocol and related protocols.
Next, we will compare our protocol with related protocols in terms of energy consumption. According to the work of Carman et al. [33] and Zhang et al. [21], we obtained that a “Strong ARM” microprocessor running at 133MHz performing one symmetric encryption or decryption operation needs to consume 0.00217 mJ, one point multiplication operation on ECC requires 8.8 mJ, one general hash function operation requires 0.000108 mJ, and one bilinear pairing operation requires 47 mJ. According to the work of Makri and Konstantinou [34], we obtained that an IEEE 802.11 Spectrum24 WLAN card requires 0.00066 mJ for the transmission of 1 bit and 0.00031 mJ for the reception of 1 bit. According to [35], the computing time of one point addition operation on ECC is about half of one symmetric encryption or decryption operation. Therefore, we considered that the energy consumption of a point addition operation is about 0.001085 mJ. We summarize the above energy consumption in Table 3. Figure 8 shows the total communication energy consumption in different protocols. Figure 9 shows the communication energy consumption of each group member in different protocols. Figure 10 shows the total communication and computation energy consumption in different protocols.
It can be found from Table 2 that our protocol has the lowest computation costs, and the computation costs of our protocol and the protocol of Zheng et al. [9] are very similar. However, from Figure 8, it can be found that our protocol consumes less communication resources. In addition, because after group members join or leave a group, neither their left neighbor nor their right neighbor updated the corresponding temporary secret parameter, this leads to the newly joined group members being able to easily obtain the previous group key, and group members who leave the group can also easily obtain the subsequent group key. Therefore, the protocol of Zheng et al. [9] lacks forward or backward secrecy.
According to Figure 10, in the distributed group key agreement protocol, such as the protocol of Zheng et al. [9] and the protocol of Zhang et al. [21], our protocol has the least total communication and computation energy consumption. With the help of the group controller, the decentralized group key agreement protocol such as the protocol of Gupta et al. [17] will consume less energy when there is a large number of group members. However, in the protocol of Gupta et al. [17], each group member needs to perform mutual authentication with the group controller one by one, which requires much total computing time. Moreover, the existence of the group controller makes their protocol vulnerable to single node failure. Once the group controller fails, the group cannot continue to negotiate the group key. According to Figure 8 and Figure 9, excluding the protocol of Gupta et al. [17], the total communication energy consumption of our protocol is the lowest, and the communication energy consumption of each group member in our protocol is also the lowest.

7. Conclusions

This paper proposes a blockchain-based authentication and dynamic group key agreement protocol. Each group member in our protocol only needs to authenticate its left neighbor once to complete the authentication, which improves authentication efficiency. When a node joins or leaves a group, only the left neighbor of the node needs to update the data, which also improves the scalability of our protocol. Our protocol also guarantees forward or backward secrecy when group members join or leave the group. In addition, we use blockchain technology to store group identities, a list of group members, and some group member-related parameters, which can solve the problem of single node failure. Finally, we use mathematics and ProVerif to prove the correctness and security of our protocol. The comparison with related protocols shows that our protocol reduces computation and communication costs.

Author Contributions

Conceptualization, Z.X.; funding acquisition, F.L., H.D. and J.X.; project administration, M.T.; writing, original draft, Z.X.; writing, review and editing, F.L., Z.X. and J.Z. All authors read and agreed to the published version of the manuscript.

Funding

This work was supported in part by National Natural Science Foundation of China under Grant 61872138 and Grant 61772185.

Conflicts of Interest

The authors declare no conflict of interest.

Abbreviations

The following abbreviations are used in this manuscript:
MECMobile Edge Computing
SCMSmall Cell Manager
SCCSmall Cell Cloud
GNGeneral Node
KDCKey Distribution Center
LKHLogical Key Hierarchy
TPDTamper-Proof Device
ECCElliptic Curve Cryptography
SASystem Administrator
ECDLElliptic Curve Discrete Logarithm problem
CDHComputational Diffie–Hellman problem
DDHDecisional Diffie–Hellman problem

References

  1. Rafaeli, S.; Hutchison, D. A survey of key management for secure group communication. ACM Comput. Surv. CSUR 2003, 35, 309–329. [Google Scholar] [CrossRef]
  2. Wang, T.; Qiu, L.; Sangaiah, A.K.; Liu, A.; Bhuiyan, M.Z.A.; Ma, Y. Edge-Computing-Based Trustworthy Data Collection Model in the Internet of Things. IEEE Internet Things J. 2020, 7, 4218–4227. [Google Scholar] [CrossRef]
  3. Mach, P.; Becvar, Z. Mobile edge computing: A survey on architecture and computation offloading. IEEE Commun. Surv. Tutorials 2017, 19, 1628–1656. [Google Scholar] [CrossRef] [Green Version]
  4. Gong, L.; Shacham, N. Multicast security and its extension to a mobile environment. Wirel. Netw. 1995, 1, 281–295. [Google Scholar] [CrossRef]
  5. Liang, W.; Huang, W.; Long, J.; Zhang, K.; Li, K.C.; Zhang, D. Deep reinforcement learning for resource protection and real-time detection in IoT environment. IEEE Internet Things J. 2020, 7, 6392–6401. [Google Scholar] [CrossRef]
  6. Wang, T.; Cao, Z.; Wang, S.; Wang, J.; Qi, L.; Liu, A.; Xie, M.; Li, X. Privacy-enhanced data collection based on deep learning for Internet of vehicles. IEEE Trans. Ind. Inform. 2019, 16, 6663–6672. [Google Scholar] [CrossRef]
  7. Islam, S.H.; Obaidat, M.S.; Vijayakumar, P.; Abdulhay, E.; Li, F.; Reddy, M.K.C. A robust and efficient password-based conditional privacy preserving authentication and group-key agreement protocol for VANETs. Future Gener. Comput. Syst. 2018, 84, 216–227. [Google Scholar] [CrossRef]
  8. Naresh, V.S.; Reddi, S.; Murthy, N.V. A provably secure cluster-based hybrid hierarchical group key agreement for large wireless ad hoc networks. Hum. Centric Comput. Inf. Sci. 2019, 9, 26. [Google Scholar] [CrossRef] [Green Version]
  9. Zheng, J.; Yang, C.; Xue, J.; Zhang, C. A Dynamic ID-based Authenticated Group Key Agreement Protocol. In Proceedings of the 2015 4th National Conference on Electrical, Electronics and Computer Engineering, Xi’an, China, 12–13 December 2015; Atlantis Press: Xi’an, China, 2015. [Google Scholar]
  10. Hussien, H.M.; Yasin, S.M.; Udzir, S.; Zaidan, A.A.; Zaidan, B.B. A systematic review for enabling of develop a blockchain technology in healthcare application: Taxonomy, substantially analysis, motivations, challenges, recommendations and future direction. J. Med. Syst. 2019, 43, 320. [Google Scholar] [CrossRef]
  11. Zubaydi, H.D.; Chong, Y.W.; Ko, K.; Hanshi, S.M.; Karuppayah, S. A review on the role of blockchain technology in the healthcare domain. Electronics 2019, 8, 679. [Google Scholar] [CrossRef] [Green Version]
  12. Seetha, R.; Saravanan, R. A survey on group key management schemes. Cybern. Inf. Technol. 2015, 15, 3–25. [Google Scholar] [CrossRef] [Green Version]
  13. Barskar, R.; Chawla, M. A survey on efficient group key management schemes in wireless networks. Indian J. Sci. Technol. 2016, 9, 14. [Google Scholar] [CrossRef] [Green Version]
  14. Wong, C.K.; Gouda, M.; Lam, S.S. Secure group communications using key graphs. IEEE/ACM Trans. Netw. 2000, 8, 16–30. [Google Scholar] [CrossRef]
  15. Mittra, S. Iolus: A framework for scalable secure multicasting. In ACM SIGCOMM Computer Communication Review; ACM: New York, NY, USA, 1997; Volume 27, pp. 277–288. [Google Scholar]
  16. Setia, S.; Koussih, S.; Jajodia, S.; Harder, E. Kronos: A scalable group re-keying approach for secure multicast. In Proceedings of the 2000 IEEE Symposium on Security and Privacy, S&P 2000, Berkeley, CA, USA, 14–17 May 2000; IEEE: Piscataway, NY, USA, 2000; pp. 215–228. [Google Scholar]
  17. Gupta, S.; Kumar, A.; Kumar, N. Design of ECC based authenticated group key agreement protocol using self-certified public keys. In Proceedings of the 2018 4th International Conference on Recent Advances in Information Technology (RAIT), Dhanbad, India, 15–17 March 2018; IEEE: Piscataway, NY, USA, 2018; pp. 1–5. [Google Scholar]
  18. Zheng, J.; Zhang, X.; Zhang, Q.; Zhang, Q.; Zhang, C. Multi-domain lightweight asymmetric group key agreement. Chin. J. Electron. 2018, 27, 1085–1091. [Google Scholar] [CrossRef]
  19. Wang, L.; Tian, Y.; Zhang, D.; Lu, Y. Constant-round authenticated and dynamic group key agreement protocol for D2D group communications. Inf. Sci. 2019, 503, 61–71. [Google Scholar] [CrossRef]
  20. Boneh, D.; Lynn, B.; Shacham, H. Short signatures from the Weil pairing. In Proceedings of the International Conference on the Theory and Application of Cryptology and Information Security, Gold Coast, Australia, 9–13 December 2001; Springer: Berlin/Heidelberg, Germany, 2001; pp. 514–532. [Google Scholar]
  21. Zhang, Q.; Gan, Y.; Zhang, Q.; Wang, R.; Tan, Y.A. A dynamic and cross-domain authentication asymmetric group key agreement in telemedicine application. IEEE Access 2018, 6, 24064–24074. [Google Scholar]
  22. Kavitha, S.; Alphonse, P.; Reddy, Y.V. An Improved Authentication and Security on Efficient Generalized Group Key Agreement Using Hyper Elliptic Curve Based Public Key Cryptography for IoT Health Care System. J. Med. Syst. 2019, 43, 260. [Google Scholar] [CrossRef]
  23. Geng, M.; Zhang, F.; Gao, M. A secure certificateless authenticated group key agreement protocol. In Proceedings of the 2009 International Conference on Multimedia Information Networking and Security, Wuhan, China, 18–20 November 2009; IEEE: Piscataway, NY, USA, 2009; Volume 1, pp. 342–346. [Google Scholar]
  24. Zhang, Q.; Wang, R.; Tan, Y. Identity-based authenticated asymmetric group key agreement. J. Comput. Res. Dev. 2014, 51, 1727–1738. [Google Scholar]
  25. Shi, Y.; Chen, G.; Li, J. ID-based one round authenticated group key agreement protocol with bilinear pairings. In Proceedings of the International Conference on Information Technology: Coding and Computing (ITCC’05)-Volume II, Las Vegas, NV, USA, 4–6 April 2005; IEEE: Piscataway, NY, USA, 2005; Volume 1, pp. 757–761. [Google Scholar]
  26. Alphonse, P.; Reddy, Y.V. A method for obtaining authenticated scalable and efficient group key agreement for wireless ad-hoc networks. Clust. Comput. 2019, 22, 3145–3151. [Google Scholar] [CrossRef]
  27. Kiayias, A.; Russell, A.; David, B.; Oliynykov, R. Ouroboros: A provably secure proof-of-stake blockchain protocol. In Proceedings of the Annual International Cryptology Conference, Santa Barbara, CA, USA, 18–22 August 2017; Springer: Berlin/Heidelberg, Germany, 2017; pp. 357–388. [Google Scholar]
  28. Liang, W.; Fan, Y.; Li, K.C.; Zhang, D.; Gaudiot, J.L. Secure data storage and recovery in industrial blockchain network environments. IEEE Trans. Ind. Inform. 2020, 16, 6543–6552. [Google Scholar] [CrossRef]
  29. Liang, W.; Zhang, D.; Lei, X.; Tang, M.; Li, K.C.; Zomaya, A. Circuit Copyright Blockchain: Blockchain-based Homomorphic Encryption for IP Circuit Protection. IEEE Trans. Emerg. Top. Comput. 2020. [Google Scholar] [CrossRef]
  30. Franklin, M.K.; Reiter, M.K. Fair exchange with a semi-trusted third party. In Proceedings of the 4th ACM Conference on Computer and Communications Security, Zurich, Switzerland, 1–4 April 1997; pp. 1–5. [Google Scholar]
  31. Xu, Z.; Xu, C.; Chen, H.; Yang, F. A lightweight anonymous mutual authentication and key agreement scheme for WBAN. Concurr. Comput. Pract. Exp. 2019, 31, e5295. [Google Scholar] [CrossRef]
  32. Blanchet, B.; Smyth, B. Automated reasoning for equivalences in the applied pi calculus with barriers. J. Comput. Secur. 2018, 26, 367–422. [Google Scholar] [CrossRef] [Green Version]
  33. Carman, D.W.; Kruus, P.S.; Matt, B.J. Constraints and Approaches for Distributed Sensor Network Security (Final); Technical Report; The Security Research Division of Network Associates Inc: Glenwood, MD, USA, 1 September 2000. [Google Scholar]
  34. Makri, E.; Konstantinou, E. Constant round group key agreement protocols: A comparative study. Comput. Secur. 2011, 30, 643–678. [Google Scholar] [CrossRef]
  35. He, D.; Zeadally, S.; Kumar, N.; Wu, W. Efficient and anonymous mobile user authentication protocol using self-certified public key cryptography for multi-server architectures. IEEE Trans. Inf. Forensics Secur. 2016, 119, 2052–2064. [Google Scholar] [CrossRef]
Figure 1. The network model used by our protocol.
Figure 1. The network model used by our protocol.
Sensors 20 04835 g001
Figure 2. The three situations faced by the G N and the solution strategies.
Figure 2. The three situations faced by the G N and the solution strategies.
Sensors 20 04835 g002
Figure 3. The mutual authentication phase and the group key generation phase of our protocol.
Figure 3. The mutual authentication phase and the group key generation phase of our protocol.
Sensors 20 04835 g003
Figure 4. The G N join phase of our protocol.
Figure 4. The G N join phase of our protocol.
Sensors 20 04835 g004
Figure 5. The G N leave phase of our protocol.
Figure 5. The G N leave phase of our protocol.
Sensors 20 04835 g005
Figure 6. The code for the mutual authentication phase of our protocol.
Figure 6. The code for the mutual authentication phase of our protocol.
Sensors 20 04835 g006
Figure 7. The PV simulation results of our protocol.
Figure 7. The PV simulation results of our protocol.
Sensors 20 04835 g007
Figure 8. The total communication energy consumption in different protocols.
Figure 8. The total communication energy consumption in different protocols.
Sensors 20 04835 g008
Figure 9. The communication energy consumption of each group member in different protocols.
Figure 9. The communication energy consumption of each group member in different protocols.
Sensors 20 04835 g009
Figure 10. The total communication and computation energy consumption in different protocols.
Figure 10. The total communication and computation energy consumption in different protocols.
Sensors 20 04835 g010
Table 1. Symbols used in our protocol.
Table 1. Symbols used in our protocol.
SymbolDescription
SASystem Administrator
KDCKey Distribution Center
G N General node
qA large prime number
G 1 Cyclic additive groups of prime order q
G 2 Cyclic multiplicative groups of prime order q
QThe generator of G 1
eBilinear pairing e : G 1 × G 1 G 2
I D i The identity of G N i
G I D u The identity of the group
LA circular list that stores all G N -related information in the group
sThe KDC’s private key
P p u b The KDC’s public key
W i , A i The G N ’s public key
S i , a i The G N ’s private key
t 1 , t 2 Timestamp
t n e w The timestamp when the latest information was received
Δ t Maximum communication transmission delay
K T i Symmetric key
E k Symmetric encryption algorithm
D k Symmetric decryption algorithm
h ( . ) Hash operation
K s Group key
Bitwise XOR operation
( a , b ) Concatenation of data a and data b
Table 2. The comparison of computation cost and communication cost between our protocol and related protocols.
Table 2. The comparison of computation cost and communication cost between our protocol and related protocols.
Zheng et al. [9]Zhang et al. [21]Gupta et al. [17]Our Protocol
Point multiplication operations on ECC n + 6 3 n + 2 4 n n + 7
Bilinear pairing6 2 n 04
Hash operation n + 9 05 n + 3
Symmetric encryption or decryption4002
Point addition operations on ECC 3 n + 1 0 2 n + 1 3 n + 1
Message length sent by each group member 7 C + 2 T 4 C - 5 C + 2 T
Message length received by each group member ( 7 C + 2 T ) ( n 1 ) 4 ( n 1 ) C - ( 3 n 1 ) C + n T
Total sent message length ( 7 C + 2 T ) n 4 n C 6 n C + 1 ( 5 C + 2 T ) n
Total received message length n ( n 1 ) ( 7 C + 2 T ) 4 n ( n 1 ) C 6 n C + 1 ( 3 n 2 n ) C + n 2 T
Table 3. Energy consumption for computing and communication.
Table 3. Energy consumption for computing and communication.
OperationsEnergy Consumption
t s y m 0.00217 mJ
t p m 8.8 mJ
t p a 0.001085 mJ
t h 0.000108 mJ
t b p 47 mJ
Transmitting a bit0.00066 mJ
Receiving a bit0.00031 mJ

Share and Cite

MDPI and ACS Style

Xu, Z.; Li, F.; Deng, H.; Tan, M.; Zhang, J.; Xu, J. A Blockchain-Based Authentication and Dynamic Group Key Agreement Protocol. Sensors 2020, 20, 4835. https://doi.org/10.3390/s20174835

AMA Style

Xu Z, Li F, Deng H, Tan M, Zhang J, Xu J. A Blockchain-Based Authentication and Dynamic Group Key Agreement Protocol. Sensors. 2020; 20(17):4835. https://doi.org/10.3390/s20174835

Chicago/Turabian Style

Xu, Zisang, Feng Li, Han Deng, Minfu Tan, Jixin Zhang, and Jianbo Xu. 2020. "A Blockchain-Based Authentication and Dynamic Group Key Agreement Protocol" Sensors 20, no. 17: 4835. https://doi.org/10.3390/s20174835

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop