Next Article in Journal
On the Need to Determine Accurately the Impact of Higher-Order Sensitivities on Model Sensitivity Analysis, Uncertainty Quantification and Best-Estimate Predictions
Previous Article in Journal
Machine Learning-Based Condition Monitoring for PV Systems: State of the Art and Future Prospects
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Certificateless Authenticated Key Agreement Scheme for the Power IoT

1
School of Control and Computer Engineering, North China Electric Power University, Beijing 102206, China
2
China Electric Power Research Institute, No. 15, Qinghe Xiaoying Road, Beijing 100192, China
*
Author to whom correspondence should be addressed.
Energies 2021, 14(19), 6317; https://doi.org/10.3390/en14196317
Submission received: 24 September 2021 / Revised: 28 September 2021 / Accepted: 30 September 2021 / Published: 3 October 2021
(This article belongs to the Section A1: Smart Grids and Microgrids)

Abstract

:
Power Internet of Things (IoT) is the application of IoT technology in the field of power grid, which can better control all kinds of power equipment, power personnel and operating environment. However, access to mass terminals brings higher requirements for terminal authentication and key management for the power IoT. And the traditional public key infrastructure (PKI) and identity-based public key cryptography (IB-PKC) exist the problems of certificate management and key escrow. Therefore, the paper proposes a novel authenticated key agreement scheme based on the certificateless public key cryptography (CL-PKC) mechanism. In addition, the proposed scheme is proven with the improved extended Canetti-Krawczyk (eCK) security model. Finally, the implementation of the authenticated key agreement protocol is given based on the actual application requirement of the power IoT, and the analysis and comparison of the simulation demonstrates that the proposed scheme has higher efficiency and would be suitable for the power IoT.

1. Introduction

Power IoT is the specific application, implementation and evolution direction of the IoT technology in the power grid [1]. The power IoT can dynamically adjust the whole power grid in an all-round way according to the state data of the equipment which locates in all areas of power grid. For example, the traditional power plants can transform into smart power plants by combing with IoT, artificial intelligence and some other technologies to achieve interconnection and information sharing between equipment and equipment, person and equipment [2].
By the end of 2018, State Grid Corporation of China had accessed 540 million power terminals and basically realized the comprehensive information collection of control operation and electricity metering in the grid [3,4]. With the advancement of the construction of the power IoT, A large number of the IoT terminals would be deployed in the whole areas in power plants, transmission line, power substation, distribution station and consumers to realize the real-time monitoring of the grids. Therefore, the process of designing an efficient authenticated key agreement protocol, achieve identity authentication and develop a key agreement that includes the privacy, integrality and undeniability of communication data with massive power IoT terminals has become a focus in current research.
The authenticated key agreement scheme could be implemented by three cipher systems: PKI, IB-PKC and CL-PKC. In the PKI system, the users or the terminals could implement identity authentication by the digital certificate, which contained the public key, and was issued by the certificate authority (CA). However, with the increase of the users or terminals will bring a heavy burden of management certificate such as certificate generation, issuance, savings, verification, and revocation to the PKI system. The IBC system uses a device’s own unique identifier, such as a CPU or disk code, to replace the digital certificate and solve the PKI system’s complicated certificate management problem [5]. However, in the IB-PKC system, the user’s private key is fully generated by one authoritative private key generator (PKG). Since the PKG has the master key of the system, the entire system is insecure if an attacker obtains the master key of the PKG or the PKG itself is an attacker. The problem of the key escrow existing in the IB-PKC system could be solved in the CL-PKC system. In the CL-PKC system as the users’ keys are co generated by the users and the master key of the trusted key generating center (KGC). Therefore, even if the master key of the system is obtained by an attacker, the attacker cannot obtain the user’s private key.
Compared with the PKI and IB-PKC, the CL-PKC system has critical advantages in certificate management and key escrow. Therefore, this paper proposes a novel authenticated key agreement scheme that could be suitable for the power IoT, which can effectively improve the security of the power IoT and the grids.
In this paper, our main contributions are as follows:
(1)
An efficient authenticated key agreement scheme based on CL-PKC has been proposed, which uses simple point multiplication of elliptic curves to replace complex bilinear pairing to make it simpler and more practical for the terminals with limited computing resources in power IoT.
(2)
The security of the proposed authenticated key agreement scheme has been proved by the the e2CK security model where e2CK security model is more secure and it have defined the authenticated key agreement protocol is secure as long as any secret value of both parities is not disclosed.
(3)
We program and implement the proposed scheme and protocol and make it more applicable for the power IoT, while the performance of other protocols is compared.
In this paper, the introduction and background of the power IoT and CL-PKC are describled in Section 1 and some related works has been summarized in Section 2. Section 3 presents some basic knowledge that would need in the paper as the preliminaries. The detailed design and principle of our proposed scheme based on CL-PKC are introduced in Section 4. The analysis and comparison of the simulation are given in Section 5 and our current and upcoming work have been concluded in Section 6.

2. Related Work

Since Al-Riyami et al., put forward the first concept of CL-PKC [6], many works and researches have been raised to enhance the key agreement scheme based on their work. Mandt et al., pointed out that it is unable to resist temporary key leakage attacks and proposed a new scheme. However, the new scheme was at risk of key compromise impersonation (KCI) [7]. Zhang et al., proposed a modified Bellare-Rogaway (mBR) model applicable to certificateless systems and two-party key agreement protocols based on the IB-PKC and proved it under mBR model [8]. He et al., also presented a novel authenticated key agreement protocol with point multiplication and proved it under the mBR model [9]. Sun et al., proved that the two above schemes were vulnerable, meaning that the session key could be calculated by the adversary who could acquire the ephemeral secret keys in the communication between the two parties [10]. Wu et al., proposed a scheme based on the eCK model, but it was also at risk of a KCI attack [11]. Kim et al., Also bring a two-party CLAKA scheme with pairing-free and proved the secure with the eCK model [12]. Bala et al., reminded that the scheme [12] was vulnerable to KCI attacks [13]. Tu et al., proposed a very reliable and secure authenticated key agreement protocol with pairing-free based on CL-PKC. It is suitable for smart media and mobile environment, while proving its security using the eCK model [14]. Sun et al., also proposed a secure pairing-free authenticated key agreement protocol based on CL-PKC, and the strengthened eCK model was used to prove it, but the scheme had heavy communication and calculation costs because the lengths of the users’ public and private keys were twice as long as those of other schemes [15]. Collen et al., improved the eCK model and presented a one-way two-party authenticated key agreement scheme [16]. Lippold et al., enhanced the eCK model to the e2CK model and proposed an authenticated key agreement scheme under the model to formally prove its security [17]. All of the schemes mentioned above used bilinear pairings; hence, the cost of the calculations was reasonable. Yang et al., proposed a new certificateless model and proposed a two-party agreement scheme under the model [18]. Huang et al., designed a security model of a one-way two-party authentication key agreement that was suitable for the CL-PKC system, and they formally proved its security with the eCK security model. However, the scheme only ensured one-way identity security and exhibited temporary secret value leakage attacks [19].
In terms of the state grid, there has also been much research focused on an authenticated key agreement. For example, State Grid issued a set of standard security access specifications that stipulated that the grid terminals need to use the PKI system and the SM2 digital certificate to complete identity authentication and key agreement in 2014 [20]. Lin et al., proposed an improved safety communication scheme based on [20], which enhanced the security of network communication by adding time stamps and digital signatures to the messages [21]. Tsai et al., proposed a novel authentication protocol which could be applied in the smart grid, but employed bilinear pairing that had a heavy computational cost [22]. Fouda et al., presented a lightweight authentication way for the smart meters in the distributed network with the Diffie-Hellman exchange protocol [23]. However, the scheme leads to high computational complexity. Mahmood et al., pointed out that the scheme is computational expensive and presented one authentication scheme based on the elliptic curve cryptography (ECC) that could implement the mutual identity authentication [24]. Li et al., presented one two-way authentication scheme based on SM2 for the radio frequency identification system and proved it with BAN logic [25]. Li et al., proposed an improved SM2-based key agreement and a mutual identify authentication scheme for smart grid [26]. However, the security schemes above were all achieved by PKI systems, which have complicated certificate management and were not suitable for the power IoT with a large number of terminals. Deng et al., presented a two parties’ authenticated key agreement protocol for smart grids based on CL-PCK [27], and Batamuliza et al., introduced a certificateless “signcryption” for a key distribution scheme in a state grid, but he did not give detailed proofs of the scheme’s security [28].
According to the above analysis, most of the papers used PKI system to achieve the mutual authenticated key agreement in the state grid, but these schemes were not suited for the power IoT with massive terminals and also some certificateless schemes had heavy communication and calculation costs as they used bilinear pairing and exponential operations. So before introducing the proposed scheme, some basic knowledge will be presented in the following section.

3. Preliminaries

In this section, the basis knowledge of ECC and the computational Diffie–Hellman (CDH) assumption will be described as the preliminaries.

3.1. Elliptic Curve

The elliptic curve on the finite field is the set of points. The equation of elliptic curve E on FG ( p ) can be expressed as below and p is one prime greater than 3 and a , b FG ( p ) .
y 2 =   x 3 +   ax   +   b   ( mod p )   and   4 a 3 + 27 b 2 0 .
Based on the elliptic curve, ECC was proposed to implement the asymmetric encryption and decryption as it can use smaller secret keys while ensuring the same security level. And the security of the ECC is defined by the elliptic curve discrete logarithms (ECDLP) which is a hard number theoretic problem. In the ECDLP, it is difficult to assign one integer r [ 0 , n 1 ] to make Q   = [ r ] P , where n is the order of the elliptic curve, P is one point in the elliptic curve and Q belongs to the cyclic group generated by point P [29].

3.2. CDH Assumption

An algorithm that can solve the CDH problem in polynomial time is a probabilistic turing machine. The algorithm can be presented as below, with the input of a tuple (G, aG, bG) and output the abG according to the input, where G is the generator of the cyclic group P and a, b belongs to Z r and r is the order of P. The algorithm should be with non-negligible probability. And CDH assumption means that there is no such a probabilistic polynomial time Turing machine to solve the CDH problem [29].

4. Proposed Scheme

In this section, we will introduce the security model and propose a novel authenticated key agreement scheme that can support the two-way authenticated key agreement between the power terminals and management system based on CL-PKC. To prove the security of our proposed scheme under CDH, we now provide the e2CK security model of our proposed scheme based on Lippold [17] before describing the scheme.

4.1. Security Model

The security model defines a security game between adversary ϑ and simulator . We assume that the set U   = { U 1 , U 2 , , U n } contains the users participating in the authenticated key agreement. Each user has its own private key and public key. The adversary controls the whole channel, and the simulator generates the public parameters and user information, while simulating the operation of the proposed scheme. Session Π i , j n indicates the n’th time of an authenticated key agreement between i and j, and the ID of session Π i , j n refers to the set of messages transmitted in the connection and the public keys of both parties.
Definition 1.
Matched session: Sessions Π i , j n and Π j , i s are matched sessions if their session IDs are the same.
The model will be divided into two stages. Stage 1: In the first stage, the adversary can query the following oracle in any order:
Create (IDi): generates the public key and private key for the user IDi after receiving the oracle;
Reveal_SessionKey ( Π i , j n ): returns the session key of Π i , j n or ⊥ if the session key does not exist and ⊥ means null;
Reveal_Partial_PrivateKey (IDi): returns the user’s partial private key of the user IDi after receiving the oracle;
Reveal_SecretValue (IDi): returns the secret value of the user IDi after receiving the oracle;
Replace_PublicKey (IDi, X’): The public key of the user IDi will be replaced with X’ by ;
Reveal_EphemeralKey ( Π i , j n ): returns the ephemeral key of session Π i , j n after receiving the oracle;
Send ( Π i , j n , M): The adversary ϑ sends M message to session Π i , j n and obtains the response message according to the proposed scheme.
Stage 2: In the second stage, the adversary will choose one fresh session Π i , j n and query the oracle of Test ( Π i , j n ) while the first stage is over.
Definition 2.
Freshness of the session: The session Π i , j n is fresh if
(1) 
Π i , j n already has the session key;
(2) 
The adversary does not query the oracle of Reveal_SessionKey in session Π i , j n and matched session Π j , i s of Π i , j n ;
(3) 
Neither of the two parties involved in session Π i , j n is fully exposed.
Test ( Π i , j n ): The oracle chooses β { 0 , 1 } randomly and computes the session key of Π i , j n if β   = 0 or one random value as the session key if β   = 1 .
The adversary can repeat the above queries, but the session must be kept fresh. After finishing the game, the adversary must submit a guess value β { 0 , 1 } . The adversary wins the game if β =   β , with the advantage is defined as Adv ( k ) = | Pr [ β =   β ] 1 2 | . The authenticated key agreement model could be secure if the advantage Adv (k) is negligible.

4.2. Proposed Scheme

Our proposed scheme consists of five parts as below: initialization, private key generation, public key generation and key agreement. The detailed description of the scheme is as follows.
1.
Initialization
This function is mainly responsible for generating some public parameters for the scheme by KGC; KGC chooses one elliptic curve E which has been defined in above and selects one random value s Z r as the master secret key to generate the master public key P pub =   s * G and two hash function H1 and H2 are chosen for the public parameters where H 1 : { 0 , 1 } * Z r * could map the users’ identity to the elements in Z r , and hash function H 2 : { 0 , 1 } { 0 , 1 } k is chosen to compute the session key. The public parameter is PP   = { GF ( q ) , G , E , P pub , H 1 , H 2 } , and the KGC exposes the PP to all users in the system.
2.
Partial Private Key Generation
The KGC computes the partial private key d i =   sH 1 ( ID i ) , while user i sends its IDi to the KGC and returns the key to the user through the secret channel.
3.
Private Key Generation
User i selects one random value x i Z r and composes the private key s i = ( x i , d i ) where the partial private key d i is from the KGC.
4.
Public Key Generation
The user i takes X i =   x i G as its public key.
5.
Key Agreement
User A with identity IDA and user B with identity IDB can establish the connection and obtain the same session key after finishing the following steps:
(1)
User A chooses one random ephemeral key t A Z r and sends (IDA, XA, TA) to B, where T A =   t A G and XA is the public key described above.
(2)
After receiving the message (IDA, XA, TA) from A, user B also chooses one random ephemeral key t B Z r and sends (IDB, XB, TB) to A.
(3)
B computes K BA 1 = ( t B +   s B ) ( T A +   X A +   H 1 ( ID A ) P pub ) and K BA 2 =   t B T A , while also obtaining the session key sk BA =   H 2 ( ID A | | ID B | | T A | | T B | | K BA 1 K BA 2 ) .
(4)
When receiving the message from B, A will compute K AB 1 = ( t A +   s A ) ( T B +   X B +   H 1 ( ID B ) P pub ) and K AB 2 =   t A T B , while obtaining the session key sk AB =   H 2 ( ID A ID B T A T B K AB 1 K AB 2 ) .
Figure 1 shows the complete processes of authentication and key agreement of the proposed scheme.
SKAB and SKBA can be calculated as follows to prove the correctness of the proposed scheme if SK BA =   SK AB :
K AB 1 = ( t A +   s A ) ( T B +   X B +   H 1 ( ID B ) P pub ) = ( t A +   s A ) ( t B +   x B +   H 1 ( ID B ) s ) G = ( t B +   s B ) ( T A +   X A +   H 1 ( ID A ) P pub ) =   K BA 1 K AB 2 =   t A T B =   t A t B G   =   t B T A =   K BA 2
Thus, the two parities can transmit data with the same session key for the subsequent communication.

4.3. Security Analysis

We will demonstrate the proposed scheme is secure under the CDH assumption and random oracle, with a security game where the simulator can query the value that cannot be calculated through the CDH assumption and the adversary’s interaction with the random oracles in this section. For example, the simulator cannot obtain xATB without xA, tB. At this point, the simulator can judge CDH ( X A , T B , x A T B ) = 1 in K A B 1 by the H2 oracle queried by the adversary.
Theorem 1.
In the case of benign adversaries and random oracles, the two matched oracles will always obtain the same session key, and the key is evenly distributed in {0,1}.
Proof of Theorem 1.
A and B can obtain the same session key as the proposed scheme defined in Section 4.2. K1 and K2 are randomly generated as the ephemeral keys, while tA and tB are random values. Therefore, the session key SK is evenly distributed in {0,1} based on the random H2 oracle. □
Theorem 2.
If the adversary has the advantage Adv (k) to win the game, then we can find a simulator that can solve the CDH problem with the advantage 1 4 m p 2 A d v ( k ) at least. m is the number of sessions and p is the number of users.
Proof of Theorem 2.
The simulator is constructed to solve abG under the CDH problem with the input (aG, bG). Before the game, the simulator needs to choose the two parties A and B, where A and B are the users that query the H1 oracle for the i’th and j’th times and i , j { 1 , , m } when i j . Then, generates the public parameters PP and sends them to the adversary ϑ . We complete the security proof by classifying the information that was not disclosed in the game. Thus, the following four cases should be considered:
Case 1: The adversary can not obtain the private key xA and xB.
In this case, the simulator sets X A =   aG and X B =   bG to guess the test session Π A , B T with an advantage of more than 1/mp2. According to the security model, the simulator will answer the queries of the following oracles:
H1 (IDi, Ri): maintains an empty list LH1 (IDi, Ri, ri), returns ri if (IDi, Ri) exists in LH1 or returns a random ri and adds R i =   r i G to LH1.
Create (IDi): maintains an empty list Lcreate (IDi, xi, di, Xi); if ID i =   ID A , sets x A = and computes d A =   sH 1 ( ID A ) and X A =   aG ; if ID i =   ID B , sets x B = and computes d B =   sH 1 ( ID B ) and X B =   bG . Otherwise, chooses the random xi and computes d i =   sH 1 ( ID i ) and X i =   x i G , then adds (IDi, xi, di, Xi) to the list Lcreate.
Reveal_Partial_PrivateKey (IDi): looks up the tuple (IDi, xi, di, Xi) from Lcreate and returns di.
Reveal_SecretValue (IDi): looks up the tuple (IDi, xi, di, Xi) from Lcreate and returns xi where ID i =   ID A , IDB and X i =   x i G or returns ⊥.
Replace_PublicKey (IDi, X’): looks up the tuple (IDi, xi, di, Xi) from Lcreate and replaces X’ with Xi if ID i ID A , IDB or return ⊥ if it cannot find the tuple.
Reveal_SessionKey ( Π i , j n ): looks up the tuple ( Π i , j n , IDi, IDj, Xi, Xj, Ti, Tj, tij, SKij) from Lsend and returns SKij if SKij exists. If the SK ij = and the tuple exists, then look up the tuple (IDi, IDj, Xi, Xj, Ti, Tj, K i j 1 , K i j 2 , hi) from LH2 where ID i =   ID A , ID j =   ID B , X i =   X A , X j =   X B , T i =   T A , T j =   T B , which returns hi as SKij.
Send ( Π i , j n , M): maintains an empty list Lsend ( Π i , j n , IDi, IDj, Xi, Xj, Ti, Tj, tij, SKij), and the elements (IDi, Xi, Ti) and (IDj, Xj, Tj) represent the messages sent and received by IDi. looks up the tuples (IDi, xi, di, Xi) and (IDj, xj, dj, Xj) from Lcreate. If M   =   λ , which means that this is the new session created by Π i , j n , chooses a random t i as tij and computes T i =   t i G , and adds ( Π i , j n , IDi, IDj, Xi, Xj, Ti, Tj, tij, SKij) into Lsend, where SK ij = . Otherwise, if M λ , let SK ij = and t ij = , T j =   M , ID i =   ID B , ID j =   ID A , X i =   X B , X j =   X A , then add the tuple into Lsend.
Reveal_EphemeralKey ( Π i , j n ): looks up the tuple ( Π i , j n , IDi, IDj, Xi, Xj, Ti, Tj, tij, SKij) from Lsend and returns tij.
H2 (IDi, IDj, Xi, Xj, Ti, Tj, K i j 1 , K i j 2 , hi): looks up the tuple (IDi, IDj, Xi, Xj, Ti, Tj, K i j 1 , K i j 2 , hi) in list LH2 and returns hi if the tuple exists, or looks up the tuple in Lsend where ID i =   ID A , ID j =   ID B , X i =   X A , X j =   X B , T i =   T A , T j =   T B , SK AB and returns SKAB as hi. Otherwise, chooses a random hi and returns it to ϑ .
Test ( Π i , j n ): If Π i , j n =   Π A , B T , outputs a random β { 0 , 1 } . If ϑ wins the game, the H2 oracle must have been issued; thus, can find the corresponding tuple with the correct elements of K1 in LH2 with a probability of at least 1/4. Then, computes abG   = ( K AB 1 ( t A +   s A ) ( T B +   X B +   H ( B ) P pub ) ( t B +   s B ) X A ) with X A =   aG and X B =   bG ; therefore, the CDH problem can be solved by with the non-negligible advantage 1 4 mp 2 Adv ( k ) , which contradicts the CDH assumption.
Case 2: The adversary ϑ cann not obtain the ephemeral key tA and the private key xB.
In this case, the simulator sets the ephemeral public key T A =   aG and public key of B X B =   bG to guess the test session Π A , B T with an advantage of more than 1/mp2. According to the security model, the simulator will answer the queries of the following oracles:
H1 (IDi, Ri): Same as the H1 oracle in case 1.
H2 (IDi, IDj, Xi, Xj, Ti, Tj, K i j 1 , K i j 2 , hi): Same as the the H2 oracle in case 1.
Reveal_Partial_PrivateKey (IDi): Same as the Reveal_Partial_PrivateKey oracle in case 1.
Reveal_SessionKey ( Π i , j n ): Same as the Reveal_SessionKey oracle in case 1.
Create (IDi): maintains an empty list Lcreate (IDi, xi, di, Xi). If ID i ID B , chooses the random xi and computes d i =   sH 1 ( ID i ) and X i =   x i G , or lets x B = and computes d B =   sH 1 ( ID B ) , X B =   bG if ID i =   ID B , then adds (IDi, xi, di, Xi) into the list Lcreate.
Reveal_SecretValue (IDi): looks up the tuple (IDi, xi, di, Xi) from Lcreate and returns xi, where ID i ID B and X i =   x i G .
Replace_PublicKey (IDi, X’): looks up the tuple (IDi, xi, di, Xi) from Lcreate and replaces X’ with Xi if ID i ID B .
Send ( Π i , j n , M): looks up the tuples (IDi, xi, di, Xi) and (IDj, xj, dj, Xj) from Lcreate. If Π i , j n =   Π A , B T , let t ij = , SK ij = and T i =   aG , then add ( Π i , j n , IDi, IDj, Xi, Xj, Ti, Tj, tij, SKij) into Lsend; or if Π i , j n Π A , B T , with the case M   =   λ , chooses a random t i as tij and computes T i =   t i G , then adds ( Π i , j n , IDi, IDj, Xi, Xj, Ti, Tj, tij, SKij) into Lsend, where SK ij = , ID i =   ID A , ID j =   ID B , X i =   X A , X j =   X B . Otherwise, if M λ , let SK ij = , t ij = , T j =   M , ID i =   ID B , ID j =   ID A , X i =   X B , X j =   X A , then add the tuple into Lsend.
Reveal_EphemeralKey ( Π i , j n ): If Π i , j n Π A , B T , looks up the tuple ( Π i , j n , IDi, IDj, Xi, Xj, Ti, Tj, tij, SKi) from Lsend and returns tij.
Test ( Π i , j n ): If Π i , j n =   Π A , B T , outputs a random β { 0 , 1 } . If ϑ wins the game, the H2 oracle must have been issued; thus, can find the corresponding tuple with the correct elements of K1 in LH2 with a probability of at least 1/4. Then, computes abG   = ( K AB 1 ( x A +   s A ) ( T B +   X B +   H ( B ) P pub ) ( x B +   s B ) T A ) with T A =   aG and X B =   bG ; therefore, the CDH problem can be solved by with the non-negligible advantage 1 4 mp 2 Adv ( k ) , which contradicts the CDH assumption.
Case 3: The adversary can not obtain the private key xA and the ephemeral key tB.
Case 3 is symmetric to case 2, and we will not give the details here to save space.
Case 4: The adversary can not obtain the ephemeral key tA and tB.
In this case, the simulator sets the ephemeral public key T A =   aG and T B =   bG to guess the test session Π A , B T with an advantage of more than 1/mp2. According to the security model, the simulator will answer the queries of the following oracles.
H1 (IDi, Ri): Same as the H1 oracle in case 1.
H2 (IDi, IDj, Xi, Xj, Ti, Tj, K i j 1 , K i j 2 , hi): Same as the the H2 oracle in case 1.
Reveal_Partial_PrivateKey (IDi): Same as the Reveal_Partial_PrivateKey oracle in case 1.
Reveal_SessionKey ( Π i , j n ): Same as the Reveal_SessionKey oracle in case 1.
Replace_PublicKey (IDi, X’): Same as the Replace_PublicKey oracle in case 1.
Create (IDi): maintains an empty list Lcreate (IDi, xi, di, Xi); if ID i ID A , IDB, chooses the random xi and computes d i =   sH 1 ( ID i ) and X i =   x i G ; if ID i =   ID A , chooses the random xi and computes d A =   sH 1 ( ID i ) and X A =   x i G ; if ID i =   ID B , chooses the random xi and computes d B =   sH 1 ( ID i ) and X B =   x i G ; then, adds (IDi, xi, di, Xi) into the list Lcreate.
Reveal_SecretValue (IDi): looks up the tuple (IDi, xi, di, Xi) from Lcreate and returns xi.
Send ( Π i , j n , M): looks up the tuples (IDi, xi, di, Xi) and (IDj, xj, dj, Xj) from Lcreate. If Π i , j n =   Π A , B T , let t ij = , SK ij = and T i =   aG , then add ( Π i , j n , IDi, IDj, Xi, Xj, Ti, Tj, tij, SKij) into Lsend; or if Π i , j n is the matched session of Π A , B T , let t ji = , SK ji = and T j =   bG , then add ( Π i , j n , IDi, IDj, Xi, Xj, Ti, Tj, tij, SKij) into Lsend.
Test ( Π i , j n ): If Π i , j n =   Π A , B T , outputs a random β { 0 , 1 } . If ϑ wins the game, the H2 oracle must have been issued; thus, can find the corresponding tuple with the correct elements of K2 in LH2 with a probability of at least 1/4. Then, computes abG   = ( K AB 2 t A T B ) with T A =   aG and T B =   bG ; therefore, the CDH problem can be solved by with the non-negligible advantage 1 4 mp 2 Adv ( k ) , which contradicts the CDH assumption. From the above theories, we can conclude that the proposed scheme is a secure authenticated key agreement model based on CL-PKC. □

5. Performance Analysis

The terminals of power IoT need to carry a lot of data acquisition and business computing and most of them are embedded systems with limited CPU and memory resource. The performance of the proposed scheme should be considered according to the actual application scenarios. So in this section, the comparison and analysis of the security model and computation and communication cost with the previous schemes and the proposed scheme will be presented in a detailed account in Table 1.
The computational cost is measured by point multiplication S, exponential operation E, bilinear pairing P and hash operation H. And as a comparison, the computation cost of P operation is two or three times higher than S operation with the same elliptic curve [30]. The proposed scheme only needs three S operations and one hash operation in one round, and it has obvious advantages over other schemes.
As the both parties of the schemes need to communicate and exchange data, the communication cost should consider the length of the necessary messages and the integrity of the communication. In the above schemes, we summarize the message as IDs, public keys and ephemeral keys. The other schemes choose a 1024 bits Group G with order r , where r is 512 bits and we use | G | to identify the size of Group G. Consequently, the size of the point is 2 | G | and |ID| has 16 bits. However, the elliptic curve used in the proposed schemes is 256 bits, and the size of the point is 2 | G | (512 bits) where | G | is the size of the group in our elliptic curve.
In addition, in order to meet the application requirements of the power IoT, we use three gateways with Intel Xeon E3 CPU at 3.4 GHz and 8 GB memory to build the test network topology that depicted in Figure 2. The terminal simulator server and security gateway are the two parities of the communication and we program the test routines with C programming language and Openssl libraries which have implemented the algorithms of point multiplication. The power IoT management system is designed to be responsible for the interaction of business data with the terminals that have completed the authentication. As a comparison, we also implement the key agreement protocol used in the voltage monitoring device of the state grid, as well as some of the other improved versions based on it.
To ensure the integrity and the confidentiality of the proposed scheme and the communications, we encrypt and sign the messages with the standard SM2 algorithm [31,32]. A confirmation step is added to ensure the reliability of the session key. In addition, we add the time stamps in the message to keep the freshness of the session, thus resisting replay attacks and making protocols more robust with some other flags. The pseudo codes are below:
(1)
Terminal A sends the request of a key agreement to a security gateway B;
//Encrypt data
Create_EcPoint (PP, tA, TA);
Get_CurrentTime (TimeA);
Sm2_Encrypt (IDB, IDA + XA + TA + TimeA, Buffer + 40);
//Pack data
Buffer [TYPE] = 0x01; Buffer[SUBTYPE] = 0x01;
* ((u16 *) (Buffer + LENGTH)) = Change_Int (Length);
* ((u16 *) (Buffer + VER)) = Change_Int (0x0100);
* ((u16 *) (Buffer + SN_REQ)) = Change_Int (8000);
memcpy (Buffer + IDX_SIM_CARD_ID, SIM_ID, 16);
memcpy (Buffer + IDX_DEVICE_ID, CHIP_ID, 16);
TempBuffer = Buffer + Length—64;
//Signature data
Hash (Buffer, Length—64, TempBuffer);
Sm2_Sign (PriA,TempBuffer, Buffer + 165);
(2)
The gateway decrypts and verifies the received message, and then sends the response message to A, while the gateway computes the session key using the proposed model.
//Decrypt data
Sm2_Decrypt (PriB, Buffer, IDA + XA + TA + TimeA);
//Compare freshness
strcmp (TimeA,Get_CurrentTime (Time));
//Verify
Hash (Buffer, Length—64, TempBuffer);
Sm2_Verify (IDA, TempBuffer, Buffer + 165);
//Encrypt data
Create_EcPoint (PP, tB,TB);
Get_CurrentTime (TimeB);
Sm2_Encrypt (IDB, IDB + XB + TB + TimeB, Buffer + 40);
//Pack data
Buffer [TYPE] = 0x01; Buffer [SUBTYPE] = 0x02;
* ((u16 *) (Buffer + LENGTH)) = Change_Int (Length);
* ((u16 *) (Buffer + VER)) = Change_Int (0x0100);
* ((u16 *) (Buffer + SN_REQ)) = Change_Int (8001);
TempBuffer = Buffer + Length—64;
//Signature data
Hash (Buffer, Length—64, TempBuffer);
Sm2_Sign (PriB, TempBuffer, Buffer + 133);
//Compute the session key
DK = Hash (IDA + XA + TA + K1BA + K2BA, 16);
(3)
The terminal decrypts and verifies the received message and computes the session key, sending the acknowledged message, including the hash value of the session key, to B.
//Decrypt data
Sm2_Decrypt (PriA, Buffer, IDB + XB + TB + TimeB);
//Compare freshness
strcmp (TimeB, Get_CurrentTime (Time));
//Verify
Hash (Buffer, Length—64, TempBuffer);
Sm2_Verify (IDB, TempBuffer, Buffer + 133);
//Compute the session key
DK = Hash (IDB + XB + TB + K1AB + K2AB, 16);
//Pack data
Buffer [TYPE] = 0x01;Buffer [SUBTYPE] = 0x03;
* ((u16 *) (Buffer + LENGTH)) = Change_Int (Length);
* ((u16 *) (Buffer + VER)) = Change_Int (0x0100);
* ((u16 *) (Buffer + SN_REQ)) = Change_Int (8002);
//Hash
Hash (Buffer, Length—32, TempBuffer);
memcpy (Buffer + Length—64, TempBuffer, 32);
(4)
The gateway compares the received hash value and the hash of its own session. The session key will be established if the results are consistent, else the gateway will close the connection.
Figure 3 shows the comparison of the execution time in the proposed scheme and schemes [20,21,26]. We calculate the processing time of security gateway by increasing the number of the simulated concurrency from 1 to 10,000. As the authenticated key agreement protocols used in the other three schemes are implemented by the traditional digital certificates, their execution time and computation cost are much greater than our proposed scheme. Conversely, it also shows that the proposed authenticated key agreement has higher efficiency.
In contrast, the proposed scheme only needs approximately 500 bytes to implement the whole authenticated key agreement, while the other three schemes need at least 1500 bytes for communication. This scheme consumes fewer communication and computing resources, which makes the execution time relatively low, the efficiency higher, and it becomes more suitable for the secure access of mass power IoT terminals.

6. Conclusions

In order to protect the security of the communication in power IoT, this paper proposes a novel authenticated key agreement model based on CL-PKC and simplify the communications to improve the performance of the key agreement protocol according the requirement of power IoT and by uses simple point multiplication of elliptic curves to replace complex bilinear pairing make it is simpler and more practical for the terminals with limited computing resources in power IoT. The proposed scheme has provable security with the e2CK security model under the CDH assumption with detailed proof thereof. Finally, the authenticated key agreement protocol based on the proposed scheme has been programmed and implemented, then the analysis and comparison of the simulation proves that our scheme has higher efficiency.
However, there is also some work that needs to be improved in our scheme. We use the standard SM2 algorithm to perform asymmetric encryption and signature in the key agreement protocol of the test routine. In the future, we could design a certificateless public key encryption and digital signature algorithm based on SM2 and a certificateless key agreement based on SM2, which will be our upcoming research.

Author Contributions

Methodology, R.C. and W.C.; project administration, K.W.; writing—original draft, Y.S.; writing—review and editing, R.C. and W.C.; funding acquisition, Y.L. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the National Key R&D Program of China, grant number 2020YFB0905900.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

No new data were created or analyzed in this study. Data sharing is not applicable to this article.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Cornel-Cristian, A.; Gabriel, T.; Calin-Arhip, M.; Zamfirescu, A. Smart grid integration of IoT. In Proceedings of the 2019 54th International Universities Power Engineering Conference (UPEC), Bucharest, Romania, 3–6 September 2019; Institute of Electrical and Electronics Engineers (IEEE): San Diego, CA, USA, 2019; pp. 1–5. [Google Scholar]
  2. Capizzi, G.; Lo Sciuto, G.; Napoli, C.; Tramontana, E. Advanced and adaptive dispatch for smart grids by means of predictive models. IEEE Trans. Smart Grid 2018, 9, 6684–6691. [Google Scholar] [CrossRef]
  3. Shahinzadeh, H.; Moradi, J.; Gharehpetian, G.B.; Nafisi, H.; Abedi, M. IoT Architecture for smart grids. In Proceedings of the 2019 International Conference on Protection and Automation of Power System (IPAPS), Tehran, Iran, 8–9 January 2019; Electrical and Electronics Engineers (IEEE): San Diego, CA, USA, 2019; pp. 22–30. [Google Scholar]
  4. Zhao, M.; Tang, P.; Sun, K.; Cheng, R.; Chen, G. Development and prospect of ubiquitous electric internet of things. J. North China Electr. Power Univ. 2020, 47, 63–74. [Google Scholar]
  5. Shamir, A. Identity-based cryptosystems and signature schemes. Lect. Notes Comput. Sci. 1985, 196, 47–53. [Google Scholar] [CrossRef] [Green Version]
  6. Al-Riyami, S.S.; Paterson, K.G. Certificateless public key cryptography. In Proceedings of the International Conference on the Theory and Application of Cryptology and Information Security, Taipei, Taiwan, 30 November–4 December 2003; Springer: Berlin/Heidelberg, Germany, 2003; pp. 452–473. [Google Scholar]
  7. Mandt, T.K.; Tan, C.H. Certificateless authenticated two-party key agreement protocols. In Proceedings of the 11th Asian Computing Science Conference, Tokyo, Japan, 6–8 December 2006; Springer: Berlin/Heidelberg, Germany, 2007; pp. 37–44. [Google Scholar]
  8. Zhang, L.; Zhang, F.; Wu, Q.; Domingo-Ferrera, J. Simulatable certificateless two-party authenticated key agreement protocol. Inf. Sci. 2010, 180, 1020–1030. [Google Scholar] [CrossRef]
  9. He, D.; Chen, Y. Chen, J. Zhang, R. Han, W. A new two-round certifificateless authenticated key agreement protocol without bilinear pairings. Math. Comput. Model 2011, 54, 3143–3152. [Google Scholar] [CrossRef]
  10. Sun, H.; Wen, Q.; Zhang, H.; Jin, Z. A strongly secure pairing-free certificateless authenticated key agreement protocol for low-power devices. Inf. Technol. Control 2013, 42, 113–123. [Google Scholar] [CrossRef]
  11. Wu, T.; Jing, X. Two-party certificateless authenticated key agreement protocol with enhanced security. J. China Univ. Posts Telecommun. 2019, 26, 12–20. [Google Scholar]
  12. Bala, S.; Sharma, G.; Verma, A.K. Impersonation attack on CertificateLess key agreement protocol. Int. J. Ad Hoc Ubiquitous Comput. 2018, 27, 108–120. [Google Scholar] [CrossRef]
  13. Kim, Y.J.; Kim, Y.M.; Choe, Y.J.; Choe, Y.J. An efficient bilinear pairing-free certificateless two-party authenticated key agreement protocol in the eck model. Theor. Phys. Cryptogr. 2013, 3, 1–10. [Google Scholar]
  14. Tu, H.; Kumar, N.; Kim, J.; Seo, J. A strongly secure pairing-free certificateless authenticated key agreement protocol suitable for smart media and mobile environments. Multimed. Tools Appl. 2015, 74, 6365–6377. [Google Scholar] [CrossRef]
  15. Sun, H.; Wen, Q.; Li, W. A strongly secure pairing-free certificateless authenticated key agreement protocol under the CDH assumption. Sci. China Inf. Sci. 2016, 59, 103–118. [Google Scholar] [CrossRef]
  16. Swanson, C.; Jao, D. A study of two-party certificateless authenticated key-agreement protocols. In Proceedings of the 10th International Conference on Cryptology in India, New Delhi, India, 13–16 December 2009; Roy, B., Sendrier, N., Eds.; Springer: Berlin/Heidelberg, Germany, 2009; pp. 57–71. [Google Scholar]
  17. Lippold, G.; Boyd, C.; Nieto, J. Strongly secure certificateless key agreement. In Proceedings of the 3rd International Conference on Paring-Based Cryptography, Palo Alto, CA, USA, 12–14 August 2009; Shacham, H., Waters, B., Eds.; Springer: Berlin/Heidelberg, Germany, 2009; pp. 206–230. [Google Scholar]
  18. Yang, G.; Tan, C. Strongly secure certificateless key exchange without pairing. In Proceedings of the 6th ACM Symposium on Information, Computer and Communications Security, Hong Kong, China, 22–24 March 2011; Association for Computing Machinery: New York, NY, USA, 2011; pp. 71–79. [Google Scholar]
  19. Huang, B.; Tu, H. Strongly secure certificateless one-pass authenticated key agreement scheme. Kuwait J. Sci. 2015, 42, 91–108. [Google Scholar]
  20. Q/GDW11118-2013 Specification for Information Security Access of Voltage Monitoring Devices Based on Wireless APN Virtual Private Network[S]; National Standard Press: Beijing, China, 2014.
  21. Lin, N.; Chen, Z.; Zuo, L.; Wang, L. Security analysis and improvement of access protocol for voltage monitoring device in power network. Comput. Eng. Des. 2019, 40, 3085–3089. [Google Scholar]
  22. Tsai, J.L.; Lo, N.W. Secure anonymous key distribution scheme for smart grid. IEEE Trans. Smart Grid 2016, 7, 906–914. [Google Scholar] [CrossRef]
  23. Fouda, M.M.; Fadlullah, Z.M.; Kato, N.; Lu, R.; Shen, X. A lightweight message authentication scheme for smart grid communications. IEEE Trans. Smart Grid 2011, 2, 675–685. [Google Scholar] [CrossRef] [Green Version]
  24. Mahmood, K.; Chaudhry, S.A.; Naqvi, H.; Kumari, S.; Li, X.; Sangaiah, A.K. An elliptic curve cryptography based lightweight authentication scheme for smart grid communication. Future Gener. Comput. Syst. 2018, 81, 557–565. [Google Scholar] [CrossRef]
  25. Li, Z.; Liu, B.; Wang, P.; Yang, Y. Two-way authentication protocol based on sm2 and zero knowledge for radio frequency identification. Comput. Eng. 2017, 43, 97–100. [Google Scholar] [CrossRef]
  26. Li, W.; Li, R.; Wu, K.; Cheng, R.; Su, L.; Cui, W. Design and implementation of an SM2-based security authentication scheme with the key agreement for smart grid communications. IEEE Access 2018, 6, 71194–71207. [Google Scholar] [CrossRef]
  27. Deng, L.; Gao, R. Certificateless two-party authenticated key agreement scheme for smart grid. Inf. Sci. 2021, 543, 143–156. [Google Scholar] [CrossRef]
  28. Batamuliza, J.; Hanyurwimfura, D. A secure and efficient anonymous certificateless signcryption for Key Distribution Scheme for Smart Grid. In Proceedings of the 2020 21st International Arab Conference on Information Technology (ACIT), Giza, Egypt, 28–30 November 2020; Institute of Electrical and Electronics Engineers (IEEE): San Diego, CA, USA, 2020. [Google Scholar]
  29. Cheng, R.; Wu, K.; Su, Y.; Li, W.; Cui, W.; Tong, J. An Efficient ECC-Based CP-ABE Scheme for Power IoT. Processes 2021, 9, 1176. [Google Scholar] [CrossRef]
  30. Ding, S.; Li, C.; Li, H. A Novel Efficient Pairing-Free CP-ABE based on elliptic curve cryptography for IoT. IEEE Access 2018, 6, 27336–27345. [Google Scholar] [CrossRef]
  31. State Cryptography Administration. GM/T 0003.4-2012. Public Key Cryptographic Algorithm SM2 Based on Elliptic Curves—Part 4: Public Key Encryption Algorithm; China Quality and Standards Publishing & Media Co., Ltd.: Beijing, China, 2012. [Google Scholar]
  32. State Cryptography Administration. GM/T 0003.4-2012. Public Key Cryptographic Algorithm SM2 Based on Elliptic Curves—Part 2: Digital Signature Algorithm; China Quality and Standards Publishing & Media Co., Ltd.: Beijing, China, 2012. [Google Scholar]
Figure 1. The processes of the proposed scheme.
Figure 1. The processes of the proposed scheme.
Energies 14 06317 g001
Figure 2. Network topology of the experimental evaluation.
Figure 2. Network topology of the experimental evaluation.
Energies 14 06317 g002
Figure 3. Comparison of the schemes’ execution time.
Figure 3. Comparison of the schemes’ execution time.
Energies 14 06317 g003
Table 1. Comparison of the schemes.
Table 1. Comparison of the schemes.
SchemeComputation CostCommunication CostSecurity Model
Zhang [8]1P + 5S + 1H|ID| + 2 | G | mBR
He [9]5S + 2H|ID| + 3 | G | mBR
Wu [11]7S + 2H|ID| + 4 | G | e2CK
Tu [14]5S + 4H|ID| + 2 | G | e2CK
Sun [15]12S + 7H|ID| + 2 | G | eCK
Lippold [17]10P + 6S + 4E + 3H|ID| + 2 | G | e2CK
Deng [27]4S + 3H|ID| + 2 | G | eCK
Our scheme3S + 1H|ID| + 2 | G | e2CK
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Cui, W.; Cheng, R.; Wu, K.; Su, Y.; Lei, Y. A Certificateless Authenticated Key Agreement Scheme for the Power IoT. Energies 2021, 14, 6317. https://doi.org/10.3390/en14196317

AMA Style

Cui W, Cheng R, Wu K, Su Y, Lei Y. A Certificateless Authenticated Key Agreement Scheme for the Power IoT. Energies. 2021; 14(19):6317. https://doi.org/10.3390/en14196317

Chicago/Turabian Style

Cui, Wenchao, Rui Cheng, Kehe Wu, Yuling Su, and Yuqing Lei. 2021. "A Certificateless Authenticated Key Agreement Scheme for the Power IoT" Energies 14, no. 19: 6317. https://doi.org/10.3390/en14196317

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