Next Article in Journal
BLOCIS: Blockchain-Based Cyber Threat Intelligence Sharing Framework for Sybil-Resistance
Next Article in Special Issue
Packet Preprocessing in CNN-Based Network Intrusion Detection System
Previous Article in Journal
External Breaking Vibration Identification Method of Transmission Line Tower Based on Solar-Powered RFID Sensor and CNN
Previous Article in Special Issue
Sensitive, Linear, Robust Current-To-Time Converter Circuit for Vehicle Automation Application
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

An Anonymous Device to Device Authentication Protocol Using ECC and Self Certified Public Keys Usable in Internet of Things Based Autonomous Devices

by
Bander A. Alzahrani
1,*,
Shehzad Ashraf Chaudhry
2,
Ahmed Barnawi
1,
Abdullah Al-Barakati
1 and
Taeshik Shon
3,*
1
Faculty of Computing and Information Technology, King Abdulaziz University, Jeddah 21589, Saudi Arabia
2
Department of Computer Engineering, Faculty of Engineering and Architecture, Istanbul Gelisim University, Istanbul, Avcılar, 34310 Istanbul, Turkey
3
Department of Cyber Security, Ajou University San 5, Woncheon-Dong, Yeongtong-Gu, Suwon 443-749, Korea
*
Authors to whom correspondence should be addressed.
Electronics 2020, 9(3), 520; https://doi.org/10.3390/electronics9030520
Submission received: 13 February 2020 / Revised: 12 March 2020 / Accepted: 17 March 2020 / Published: 21 March 2020

Abstract

:
Two party authentication schemes can be good candidates for deployment in Internet of Things (IoT)-based systems, especially in systems involving fast moving vehicles. Internet of Vehicles (IoV) requires fast and secure device-to-device communication without interference of any third party during communication, and this task can be carried out after registration of vehicles with a trusted certificate issuing party. Recently, several authentication protocols were proposed to enable key agreement in two party settings. In this study, we analyze two recent protocols and show that both protocols are insecure against key compromise impersonation attack (KCIA) as well as both lack of user anonymity. Therefore, this paper proposes an improved protocol that does not only resist KCIA and related attacks, but also offers comparable computation and communication. The security of proposed protocol is tested under formal model as well as using well known Burrows–Abadi–Needham (BAN) logic along with a discussion on security features. While resisting the KCIA and related attacks, proposed protocol also provides comparable trade-of between security features and efficiency and completes a round of key agreement in just 13.42 ms, which makes it a promising candidate to be deployed in IoT environments.

1. Introduction

A Two-Party Authentication Key Agreement Protocol (2PAKA) shares a secret key after authentication for secure communication between two parties. The certificate based 2PAKA can be deployed in Internet of Things (IoT)-based vehicular environments to offer autonomous device to device communication because in such dynamic and fast moving devices network, the interference of some gateway or trusted authority may lead to delay, and such delays may lead to infeasibility of the whole network [1]. In 2PAKA systems, the vehicle, after registering with the trusted certificate generation authority, gets a private and public key pair based credentials of both trusted authority and the requesting vehicle. However, the security and privacy of such schemes remain on stake due to open architecture beneath the communication. Such architecture is shown in Figure 1, involving the smart devices networks and the certificate authority which can also termed as server. Every device in a smart network gets its key pair from certificate authority and then can communicate autonomously without involvement of the authority. In this article the term device and vehicle are used interchangeably as well as server and certificate authority means same.
Diffie & Hellman key exchange protocol [2] was the first approach in this direction. After then, several key exchange protocols [3,4,5,6] based on traditional public key infrastructure (PKI) were proposed to avoid man-in-middle (MIM) attack. The use of modular exponentiation in PKI led towards PKI’s inapplicability in resource constrained environments like smart phones, smadrcards etc. Therefore, research efforts then have focused on lightweight Elliptic Curve Cryptography (ECC) and some 2PAKA protocols based on ECC [7,8,9] were proposed. The ECC-based 2PAKA protocols require less computation and storage with same level of security, due to the use of 160 bits key in ECC instead of 1024 bits key in Rivest, Shamir, and Adleman (RSA) algorithm. The ECC-based 2PAKA protocols require a trusted third party, called certificate authority(CA), to manage and generate certificates. It also validates and generates public keys of users.
In 1989, Gunther et al. [10] proposed a key exchange protocol based on user’s identity. The protocol in [10] requires the intervention of certificate authority for establishing a secure channel between two users. In 2000 Saeedina [11] proposed the improvement over Gunther et al.’s identity-based key exchange protocol. The modified scheme overcomes the number of passes to half, and so minimize the communication between the parties. In 2002, Hsieh et al. [12] proposed a slight modification of Saeednia’s identity-based key exchange protocol to reduce computation cost. However, Tseng et al. [9] demonstrated that the scheme proposed by Hiesh et al. cannot withstand key compromise impersonation attack (KCIA). Holbl and Welzer [13] proposed two new two-party identity-based authenticated key agreement protocols.The first is based on the protocol of Hsieh et al. to make it immune against KCIA, while the second is an efficient enhancement of Tseng’s protocol. Zhang et al. [14] proved that the protocols proposed in [13] cannot resist impersonation attack as well as KCIA. Smart [15] proposed another identity based key agreement protocol using weil pairing. Chen and Kudla [16] and Shim [17] independently purposed authenticated key agreement (AKA) protocols. Sun and Hsieh [18] proved that both the protocols [16,17] are vulnerable to KCIA and man-in-middle (MIM) attacks. Ryu et al. [19] also proposed another protocol and demonstrated that their protocol minimizes the cost of computation and communication and is more efficient than Chen and Kudla’s protocol with same security properties. Boyd and Choo [20] showed that the Ryu et al.’s protocol could not achieve the KCIA resilience properties. McCullagh and Barreto [21] claimed that their protocol can be used in either escrow or escrow-less mode. They also described conditions under which users of different key generation centers can agree on a shared secret key. In 2005 Zu-hua et al. [22] proposed bilinear pairing based self-certified protocol using computational Diffie-Hellman assumption. Ni et al. [23] also presented two secure variants of their proposal.
In 2008 Cao et al. [24] put forwarded a new identity-based authentication key agreement protocol and claimed it to achieve forward secrecy. Tsaur [25] also proposed an ECC-based self-certified public key cryptosystem based AKA and their protocol achieved session and public keys in a single step. In 2009 Hölbl and Welzer [26] proposed two new identity-based 2PAKA protocols but their scheme were proved to be vulnerable to key compromise impersonation attacks. Their protocol do not offer provable security. Some other IBC-based 2PAKA protocols using ECC were also proposed [9,11,12,13,16,17,18,19,20,21,27,28,29,30], these protocols suffer from private key escrow problem because the private key is known as Private Key Generation (PKG) party. If the PKG is malicious with man-in-middle (MIM) attack then the whole protocol is suffered [31].

Motivations and Contribution

In 2015, Islam & Biswas (Islam-Biswas) [31] proposed a self certified ECC based key agreement protocol and claimed that their protocol provides security against all kinds of attacks. Mandal et al. [32] found that their protocol lacks anonymity and is defenseless against replay and clogging attacks [33]. However, in this paper we show that both the protocols of Islam-Biswas and Mandal et al. are insecure against key compromise impersonation attack (KCIA). Moreover, both protocols lack user anonymity. This paper then introduces a new scheme to overcome the insecurities of Islam-Biswas and Mandal et al.’s protocols. The proposed protocol achieves following merits:
  • Proposed protocol resists KCIA and related attacks under the hardness assumption of Elliptic Curve Discrete Logarithm Problem ( E C D L P ).
  • Proposed protocol achieves low computation and communication cost as compared with related secure schemes.

2. Fundamentals

This section describes some fundamental concepts relating to Hash Functions, Elliptic Curve Cryptography along with some hard problems. The adversarial model is also defined in this section. Moreover, notation guide is provided in Table 1.

2.1. Hash Function

The arbitrary size input S a to a hash function H : { 0 , 1 } * Z q * with collision resistant property yields a fixed length value F h = H ( S a ) with following additional pre-requisit properties:
  • A slight fluctuation in S a (the input), there is a massive change in output F h = H ( S a ) .
  • Computing F h , given S a is easy; whereas, computing S a , given F h is a hard problem
  • Finding a pair { S a , S b } such that H ( S a ) = H ( S b ) is a hard problem and this property is termed as collision resistance property (CRP).
Definition 1.
[CRP for Secure Hash] Given H ( . ) , an attacker A can compute an input pair { S a , S b } such that H ( S a ) = H ( S b ) with probability A d v g A H A S H ( t ) = P [ ( S a , S b ) r A : ( S a S b ) a n d H ( S a ) = H ( S b ) ] . A is considered to select the pair at random. The computed advantage is based on polynomial-time t bound arbitrary choices. As per CRP A d v g A H A S H ( t ) ϵ for ϵ > 0 .

2.2. Elliptic Curve Cryptography

Consider p (a very large prime, ( 160 b i t s | p | ), an Elliptic Curve E C : j 2 = i 3 + α i + β mod p is a set with finite points E p ( α , β ) . The pair { α , β } is pragmatically selected to satisfy the relationship ( 4 α 3 + 27 β 2 ) mod p 0 . The point W multiplication with some chosen scalar a can be computed as a . W = { W + W + + W } a times addition repeatedly. All system parameters are chosen from finite field F p ; whereas, E C forms an abelian group with point O considered to be at infinity and described as additive identity.
Definition 2.
[ Discrete logarithm problem for EC (ECDLP)] Consider { V , W } are two points over E p ( α , β ) such that V = a W , knowing the duo { ( V = a W , W ) } , the probability of computing a can be solicited as: A d v g A E C D L P ( t ) = P [ ( A ( V = a W , W ) = a : a Z p ] , the experiment is allowed to be conducted by a polynomial-time t bound attacker A . As per E C D L P , A d v g A E C D L P ( t ) ϵ .
Definition 3.
[ Diffie Hellman problem for EC (ECDHP)]Consider { V , W , G } are three points over E p ( α , β ) such that V = a G , W = b G and knowing the trio { ( V = a G , W = b G ) , G } , the probability of computing X = a b G can be solicited as: A d v g A E C D H P ( t ) = P [ ( A ( V = a G , W = b G , G ) = { a , b } : ( a , b ) Z p ] , the experiment is allowed to be conducted by a polynomial-time t bound attacker A . As per E C D H P , A d v g A E C D H P ( t ) ϵ .

2.3. Attacker Model

The authenticated key agreement is achieved over an insecure networks, assuming a strong attacker having many capabilities [34,35]. Some common assumptions related with attackers’ capabilities are made as follows:
  • The adversary A is having access to public keys of both parties.
  • A knows public identities of all users of the system.
  • A can control the insecure communication channel, precisely A can eavesdrop, inject, delete or replay any message, while A can not have any access to secure channel.

3. Review of Islam-Biswas Protocol

In this section, we review Islam-Biswas 2PAKA protocol [31] consisting of three phases: system setup, registration and authenticated key agreement phase, the detail of each phase is as follows:

3.1. System Setup Phase

In system setup phase, the server ( S ) initializes the system parameter Ω. Initially S chooses a security parameter k Z + along with an elliptic curve E / F p , then S selects a base point G over E / F p . Further S selects K P r i as his private key and computes K P u b = K P r i G and chooses three one-way hash functions H 0 , H 1 , H 2 : { 0 , 1 } * { 0 , 1 } k . Finally S publishes all public parameters = { E / F p , H 0 , H 1 , H 2 , G , K P u b } and keeps K P r i secret.

3.2. Registration Phase

This phase is executed when a user U a wants to register with server. U a selects his identity I D a and a random number x a R Z p * , then U a computes X a = H 0 ( I D a x a ) G and sends I D a , X a to S via some secure channel, which selects t a R Z p * upon receiving a message from U a . S then computes P a = H 0 ( I D a t a ) K P u b + X a , r a = [ H 0 ( I D a t a ) + H 0 ( I D a P a ) ] K P r i and Q a = P a + H 0 ( I D a P a ) K P u b . S sends ( I D a , P a , r a ) to U via some secure channel and publishes Q a . Upon receiving, U a computes his private key d a = [ r a + H 0 ( I D a x a ) ] , the public key of U a is d a G = Q a .

3.3. Authenticated Key Agreement Phase

This phase takes place when two users say U i and U j want to exchange information and U i initiates the process. The following steps as shown in Figure 2 are performed among U i and U j .
IKA 1: 
U i U j : m j { I D i , T i , R i }
U i selects x R Z p * and computes T i = x Q i & R i = H 1 ( T i d i Q j ) , U i then sends I D i , T i , R i to U j .
IKA 2: 
U j U i : m i = { I D j , T j , R j }
U j selects y R Z p * and computes T j = y Q j & R j = H 1 ( T j d j Q i ) , U j then sends I D j , T j , R j to U i .
IKA 3: 
Now the authenticated key is computed as follows:
  • U i computes R j * = H 1 ( T j d i Q j ) and verifies R j * = ? R j , if not true, U i aborts the session, otherwise the key is computed as: K i = ( x d i ) T j = x y d i d j G .
  • Similarly U j computes R i * = H 1 ( T i d j Q i ) and verifies R i * = ? R i , if not true, U j aborts the session, otherwise the key is computed as: K j = ( y d j ) T i = x y d i d j G .

4. Review of Mandal et al.’s Protocol

In this section, we review Mandal et al.’s 2PAKA protocol [32] consisting of three phases: system setup, registration and authenticated key agreement phase. The system setup phase is as it is taken from Islam-Biswas protocol, except Mandal et al. just selected one hash function H ( . ) instead of three in Islam-Biswas protocol. The detail of other two phases is as follows:

4.1. Registration Phase

This phase is executed when a user U a wants to register with server. U a selects his identity I D a and a random number x a R Z p * , then U a computes X a = H ( I D a x a ) G and sends { I D a , X a } to S via some secure channel, which selects k a R Z p * upon receiving a message from U a . S then computes V a = H ( I D a k a ) K P r i , T I D a = X a V a , W a = X a k a G and X s a = H ( T I D a W a ) K P r i k a . S sends { I D a , T I D a , W a , X s a } to U a via some secure. Upon receiving, U a computes his private key d a = X s a H ( I D a x a ) , and public key Q a = d a G . U a checks the validity/correctness of public private key pair as d a . G = ? [ H ( T I D a | | W a ) K P u b W a ] . On successful verification, U a keeps d a secret and publishes Q a .

4.2. Authenticated Key Agreement Phase

This phase takes place when two users say U i and U j want to exchange information and U i initiates the process. The following steps as shown in Figure 3 are performed among U i and U j .
MKA 1: 
U i U j : m i = { N i , t i , C i }
U i selects N i R Z p * , generate t i and computes W 1 = T I D i W i , Z i = H ( x i ) , K e y i = H ( d i Q j | | N i | | t i ) , M 1 = H ( W 1 | | K e y i | | N i | | Z 1 ) and Z 1 = Z i M 1 . U i then compute encryption as: C i = E K e y i ( T I D i | | M 1 | | Z 1 | | W i | | N i | | t i ) and sends m i = { N i , t i , C i } to U j .
MKA 2: 
U j U i : m j = { N j , t j , Z 2 , C j }
On receiving a message, U j checks the time-stamp freshness and aborts the session if t c t i T , does not hold. Otherwise, U j computes K e y i = H ( d j Q i | | N i | | t i ) and decrypts C i using key K e y i to obtain ( T I D i | | M 1 | | Z 1 | | W i | | N i | | t i ) . U j further computes W 1 = T I D i W i , M 1 = H ( W 1 | | K e y i | | N i | | Z 1 ) and aborts the session if M 1 = ? M 1 , does not hold. Otherwise, U j computes Z i = Z 1 M 1 and selects N j R Z p * and current time-stamp t j and further computes Z j = H ( x j ) , Z 2 = Z j M 1 , K e y j = H ( Z i Z j | | N j | | t j ) , W 2 = T I D j W j , M 2 = H ( W 2 | | K e y j | | N j | | Z 2 ) . U j then computes session key S K x y = H ( T I D i | | T I D j | | Z i Z j d j Q i | | k e y i | | k e y j | | M 1 | | M 2 | | N i | | N j ) and C j = E K e y j ( T I D j | | M 2 | | W j | | N j | | t j ) and sends back m j = { N j , t j , Z 2 , C j } to U j .
MKA 3: 
On receiving a message, U i checks the time-stamp freshness and aborts the session if t c t j Δ T , does not hold. Otherwise, U i computes Z j = Z 2 M 1 , K e y j = H ( Z i Z j | | N j | | t j ) and decrypts C j using K e y j to obtain ( T I D j | | M 2 | | W j | | N j | | t j ) . Further U i computes W 2 = T I D j W j , M 2 = H ( W 2 | | K e y j | | N j | | Z 2 ) and aborts the session if M 2 = ? M 2 , does not hold. Otherwise, U i considers U j is authenticated and computes session key S K x y = H ( T I D i | | T I D j | | Z i Z j d i Q j | | k e y i | | k e y j | | M 1 | | M 2 | | N i | | N j ) .

5. Weakness of Existing Protocols

In this section, firstly we perform cryptanalysis of Islam-Biswas protocol to show its weaknesses and then we perfom the cryptanalysis of Mandal et al.’s protocol. The following subsections show that both the protocols of Islam-Biswas and Mandal et al. are vulnerable to key compromise impersonation attack, and lack of user anonymity.

5.1. Key Compromise Impersonation Attack on Islam-Biswas Protocol

By key compromise impersonation attack, if an active adversary is able to get access to a user’s (e.g., U i ) long term private key, then he can masquerade himself as an other user (e.g., U j ) to the victim. In this subsection, we show that Islam-Biswas protocol is vulnerable to key compromise impersonation attack. An active adversary can mount this attack to share a session key with a peer. Let  A be an attacker who wants to impersonate as a legal user U i to another legal user U j . For successful impersonation, the steps performed between A and U j are described as follows:
Step KCI 1: 
A computes:
T i = G
R i = H 1 ( T i d j Q i )
Then A sends ( I D i , T i , R i ) to U j .
Step KCI 2: 
Upon receiving the message U j selects y R Z p * , and computes U j
T j = y Q j
R j = H 1 ( T j d j Q i )
Further U j sends ( I D j , T j , R j ) to U i .
Step KCI 3: 
A intercepts the message and computes
R j * = H 1 ( T j d j Q i )
and verifies
R j * = ? R j
Then A computes:
K = K i = ( d j ) T j = y d j G
S K = H 2 ( I D i I D j T i T j R i R j K )
Similarly U j computes:
R i * = H 1 ( T i d j Q i )
and verifies
R i * = ? R i
If Equation (10) does not hold, U j aborts the session, otherwise U j believes the party on other side is U i and computes:
K = K j = ( y d j ) T i = y d j G
S K = H 2 ( I D i I D j T i T j R i R j K )
Proposition 1.
In Islam-Biswas protocol, upon execution of key compromise impersonation attack, user U j accepts adversary A as another user U i and A shares the session key with U j on behalf of U i .
Proof. 
A initiates the key compromise impersonation attack by computing T i = G and R i = H 1 ( T i d j Q i ) , then A sends I D i , T i , R i to U j , which believes the other party is legal U i if Equation (10) holds. U j computes R i * in Equation (9), which is equal to R i computed by A in Equation (2). Hence A is believed to be U i by U j . The session key computed by both A and U j is also same, as  A computed session key S K in Equation (8) which is exactly the same as computed by U j in Equation (12). Hence, A has successfully launched KCIA on Islam-Biswas’s protocol. □

5.2. Key Compromise Impersonation Attack on Mandal et al.’s Protocol

This subsection shows that the protocol of Mandal et al. is also vulnerable to Key Compromise Impersonation Attack (KCIA). Let A be an attacker who wants to impersonate as a legal user U i to another legal user U j . For successful impersonation, the steps performed between A and U j are simulated as follows:
KCM 1: 
A randomly selects N a , T I D a , W a , Z a R Z p * , generates t a and computes:
W 1 = T I D a W a
K e y a = H ( d j Q i | | N a | | t a )
M 1 = H ( W 1 | | K e y a | | N a | | Z 1 )
Z 1 = Z a M 1
C a = E K e y a ( T I D a | | M 1 | | Z 1 | | W a | | N a | | t a )
A sends m a = { N a , t a , C a } to U j .
KCM 2: 
On receiving a message, U j checks the time-stamp freshness and aborts the session if t c t a Δ T , does not hold. U j then computes:
K e y a = H ( d j Q i | | N a | | t a )
( T I D a | | M 1 | | Z 1 | | W a | | N a | | t a ) = D K e y a ( C a )
W 1 = T I D a W a
M 1 = H ( W 1 | | K e y a | | N a | | Z 1 )
U j then checks:
M 1 = ? M 1
Upon success, U j selects N j R Z p * and t j and computes:
Z a = Z 1 M 1
Z j = H ( x j )
Z 2 = Z j M 1
K e y j = H ( Z a Z j | | N j | | t j )
W 2 = T I D j W j
M 2 = H ( W 2 | | K e y j | | N j | | Z 2 )
S K x y = H ( T I D a | | T I D j | | Z a Z j d j Q a | | k e y a | | k e y j | | M 1 | | M 2 | | N a | | N j )
C j = E K e y j ( T I D j | | M 2 | | W j | | N j | | t j )
U j sends back m j = { N j , t j , Z 2 , C j } to U i .
KCM 3: 
A intercepts the messages and computes:
Z j = Z 2 M 1
( T I D j | | M 2 | | W j | | N j | | t j ) = D K e y j ( C j )
W 2 = T I D j W j
M 2 = H ( W 2 | | K e y j | | N j | | Z 2 )
A then computes session key as:
S K x y = H ( T I D a | | T I D j | | Z a Z j d j Q i | | k e y a | | k e y j | | M 1 | | M 2 | | N a | | N j )
Proposition 2.
In Mandal et al.’s protocol, upon execution of key compromise impersonation attack, user U j accepts adversary A as another user U i and A shares the session key with U j on behalf of U i .
Proof. 
A initiates the key compromise impersonation attack by computing W 1 , K e y a , M 1 , Z 1 and C a then A sends { N a , t a , C a } tuple to U j , which believes the other party is legal U i if Equation (22) holds. The security of the protocol relies on the computation of K e y a , if  K e y a is computed same on both sides, then decryption of C a on U j will be same as computed by A . Therefore, M 1 computed in Equation (15) by A and in Equation (21) by U j will also be same. Hence Equation (22) will hold true. U j computes K e y a in Equation (18), which is equal to K e y a computed by A in Equation (14). Therefore, Equation (22) holds. Hence, A is believed to be U i by U j . The session key computed by both A and U j is also same, as  A computed session key S K in Equation (35) which is exactly the same as computed by U j in Equation (29). Hence, A has successfully launched KCIA on Mandal et al.’s protocol. ☐

5.3. Lacking User Anonymity

Both the protocols of Islam-Biswas and Mandal et al., lack user anonymity and privacy. The former did not claim to provide anonymity, whereas, latter claimed to provide it. However, after a careful analysis, it is revealed that their protocol lacks anonymity. Our analysis is simulated as follows:
After computing W 1 , K e y i , M 1 , Z 1 and C a , the  U i sends { N i , t i , C i } tuple to U j . U j after verification of freshness computes:
K e y i = H ( d j Q i | | N i | | t i )
The computation of Equation (36) requires the public key Q i of the user U i . However, the received message { N i , t i , C i } does not contain any information to identify the requesting user. Therefore, the protocol will not work. The authors in this paper consider it a typographical mistake and the complete request message may be { N i , t i , C i , I D i } , because in other case, the protocol is incorrect and cannot complete the authentication process. As per the valid assumption made by authors, the protocol of Mandal et al. does not provide user anonymity.

6. Proposed Protocol

This section briefly explains the proposed protocol designed specifically to resist key compromise impersonation attack (KCIA). The proposed protocol is based on ECC and self certified keys and resist all known attacks. The proposed protocol involves two entities: (1) The server is responsible for registration of the devices and assigns certificates to each of the device, the server is assumed to be trusted, (2) the communicating devices after getting certificate from server can establish secure connection with each other without intervention of server or any other party. Following subsections explains the proposed methodology:

6.1. Setup Phase

In system setup phase, the server ( S ) initializes the system parameter Ω. Initially S chooses a security parameter k Z + along with an elliptic curve E / F p , then S selects a base point G over E / F p . Further S selects K P r i as his private key and computes K P u b = K P r i G and chooses a one way hash functions H : { 0 , 1 } * { 0 , 1 } k . Finally S publishes all public parameters = { E / F p , H , G , K P u b } and keeps K P r i secret.

6.2. Registration Phase

This phase is very similar to the corresponding phase of Islam et al.’s protocol and is initiated by a device D a , when D a wants to register with S . D a selects his identity I D a and a random number x a R Z p * , then D a computes X a = H ( I D a x a ) G and sends I D a , X a to S via some secure channel, which selects t a R Z p * upon receiving a message from D a . S then computes P a = H ( I D a t a ) K P u b + X a , r a = [ H ( I D a t a ) + H ( I D a P a ) ] K P r i and Q a = P a + H ( I D a P a ) K P u b . S sends ( I D a , P a , r a ) to D a via some secure channel and publishes Q a . Upon receiving, D a computes his private key d a = [ r a + H ( I D a x a ) ] , the public key of D a is d a G = Q a . The registration phase is also illustrated in Figure 4. The private key of D a can be verified as follows:
d a G = [ r a + H ( I D a x a ) ] G = [ [ H ( I D a t a ) + H ( I D a P a ) ] K P r i + H ( I D a | | X a ) ] G = [ H ( I D a t a ) K P u b + H ( I D a P a ) K P u b + H ( I D a | | X a ) G = P a + H ( I D a | | P a ) K P u b = Q a

6.3. Authenticated Key Agreement Phase

In proposed scheme, a device say D i initiates the process to exchange authenticated key with peer say D j . Following steps as shown in Figure 5 are performed among D i and D j :
PKA 1: 
D i D j : m i 1 = { A I D i , τ i , γ i , t i }
D i selects x R Z p * , generates t i and computes τ i = x G , α i = x Q j , A I D i = α i I D i and γ i = H ( α i | | τ i | | I D i | | I D j | | t i ) . Then D i sends m i 1 = { A I D i , τ i , γ i t i } to D j .
PKA 2: 
D j D i : m j = { A I D j , τ j , R j , t j }
On receiving request message, D j aborts the session if t c t i Δ T . Otherwise, D j computes α i = d j τ i , I D i = A I D i α i and aborts the session if γ i H ( α i | | τ i | | I D i | | I D j | | t i ) . Otherwise, D j selects y R Z p * , generates t j and computes τ j = y G , K = K j = y Q i + d j τ i , A I D j = α i I D j , R j = H ( K | | α i | | τ i | | τ j | | I D i | | I D j | | t j ) . The  D j sends m j = { A I D j , τ j , R j , t j } to D i .
PKA 3: 
D i D j : m i 2 = { R i }
After receiving the reply, D i aborts the session if t c t j Δ T . Otherwise, D i computes I D j = A I D j α i , K = K i = x Q j + d i τ j and checks R j = ? H ( K | | α i | | τ i | | τ j | | I D i | | I D j | | t j ) , continues to compute S K = H ( I D i I D j τ i τ j K ) and R i = H ( S K | | I D i | | I D j | | K ) , if the equality holds. The  D i sends m i 2 = { R i } to D j .
PKA 4: 
D j on receiving m i 2 computes S K = H ( I D i I D j τ i τ j K ) and verifies R i = ? H ( S K | | I D i | | I D j | | K ) . D j terminates the session on failure and keeps S K as session key upon success.

7. Security Analysis

In this section the security of proposed protocol under the attack model of automated tool Scyther is performed, backed by the security requirements discussion. This section also provides a security features comparison of the proposed and existing protocols [13,31,32,36,37] in Table 2. Referring to Table 2, only the proposed schemes provide all security features, whereas all other protocols lacks device anonymity. The protocols [13,36,37] are insecure key replication (KRA/KOA) attack, the protocols [13,31,32] are insecure against Key compromise impersonation attack (KCIA). Protocol proposed by Islam-Biswas [31] is also insecure against replay attack. Following subsections provides detailed security analysis and security features provided by the proposed protocol:

7.1. Formal Security

To analyze formally, the security and privacy of the proposed protocol, following oracles are defined:
  • R e v e a l h : Execution of this oracle unconditionally yields S a out of H ( S a ) .
  • R e v e a l d l p : Given the pair { V = a . W , W } , execution of this oracle unconditionally provides a.
Theorem 1.
The proposed device to device security protocol is secure for A - an attacker, to expose I D a of device D a , the parameter K = y Q i + d j . τ i , the session key S K = H ( I D i | | I D j | | τ i | | τ j | | K ) shared between D a and S under the hardness of E C D L P and hash function is considered as a random oracle.
Proof. 
A is considered as an attacker with abilities to compute I D a of device D a , secretly computed parameter K = y Q i + d j τ j and S K = H ( I D i | | I D j | | τ i | | τ j | | K ) between D a and D b . A simulates the oracles oracles R e v e a l h and R e v e a l d l p for the execution of the algorithmic experiment (Algorithm 1) E X P E 1 A , 2 D T D A K A E C D L P , H A S H against the two party device-to-device authenticated key agreement ( 2 D T D A K A ) protocol. The success probability of E X P E 1 A , 2 D T D A K A E C D L P , H A S H can be solicited as S u c e x 1 = | P [ E X P E 1 A , 2 D T D A K A E C D L P , H A S H = 1 ] 1 | , where the advantage of A is A d v t 1 A , 2 D T D A K A E C D L P , H A S H ( t f , q r e v H , q r e v D ) = m a x A ( S u c c e e x 1 ) . The maximum allowed queries A can make are q r e v H and q r e v D , for each of the oracles R e v e a l h and R e v e a l d l p . Referring the simulation of E X P E 1 A , 2 D T D A K A E C D L P , H A S H , A can compute I D a , K and S K if A has the abilities to (i) break one-way property of hash and (ii) Compute the hard E C D L P . As per Definition 1, inverting hash is hard problem; likewise, by Definition 2 solving ECDLP is also computationally infeasible for large parameter sizes ( g e q 160 bits). Hence, proposed 2 D T D A K A is unbreakable against disclosure of secretly computed parameter K, session key S K and device identity I D a . ☐
Algorithm 1 E X P E 1 A , 2 D T D A K A E C D L P , H A S H
1:
Eavesdrop the Request m i 1 = { A I D i , τ i , γ i , t i } , Where A I D i = α i I D i , τ i = x . G and γ i = H ( α i | | τ i | | I D i | | I D j | | t i )
2:
Call R e v e a l d l p oracle on τ i and G and get x R e v e a l d l p ( τ i , G )
3:
Compute α i = x . Q j and I D i = A I D i α i
4:
Call R e v e a l h on γ i and get ( α i | | τ i | | I D i | | I D j | | t i ) R e v e a l h ( γ i )
5:
if ( I D i = I D i and t i = = t i and α i = = α i ) then
6:
 Accept I D i along-with session parameters x and τ i and
7:
 Eavesdrop Challenge m j = { A I D j , τ j , R j , t j } , where A I D j = α i I D j , τ j = y . G and R j = H ( K | | α i | | τ i | | τ j | | I D i | | I D j | | t j )
8:
 Compute I D j = A I D j α i
9:
 Call R e v e a l h on R j and get ( K | | α i | | τ i | | τ j | | I D i | | I D j | | t j ) R e v e a l h ( R j )
10:
if ( I D j = I D j and t j = = t i ) then
11:
  Accept K and compute S K = H ( I D i | | I D j | | τ i | | τ j | | k )
12:
  Eavesdrop response m i 2 = { R i }
13:
  Call R e v e a l h on R i and get ( S K | | I D i | | I D j | | K ) R e v e a l h ( R i )
14:
  if ( S K = = S K ) then
15:
   Accept S K
16:
  else
17:
   return Fail
18:
  end if
19:
else
20:
  return Fail
21:
end if
22:
else
23:
return Fail
24:
end if
Theorem 2.
The proposed device to device security protocol is secure for A - an attacker, with access to private key of a registered device D j , to share a session key S K with D j on behalf of another registered device D i .
Proof. 
A having access to private key d j of registered device D j is considered as competent enough to compute, secretly computed parameter K = y Q i + d j τ i and S K = H ( I D i | | I D j | | τ i | | τ j | | K ) between A (on behalf of D i ) and D b . A simulates the oracles R e v e a l h and R e v e a l d l p for the execution of the algorithmic-experiment (Algorithm 2) E X P E 2 A , 2 D T D A K A E C D L P , H A S H against the 2 party device-to-device authenticated key agreement ( 2 D T D A K A ) protocol. The success probability of E X P E 2 A , 2 D T D A K A E C D L P , H A S H can be solicited as S u c e x 2 = | P [ E X P E 1 A , 2 D T D A K A E C D L P , H A S H = 1 ] 1 | , where the advantage of A is A d v t 1 A , 2 D T D A K A E C D L P , H A S H ( t f , q r e v H , q r e v D ) = m a x A ( S u c c e e x 2 ) . The maximum allowed queries A can make are q r e v H and q r e v D , for each of the oracles R e v e a l h and R e v e a l d l p . Referring the simulation of E X P E 2 A , 2 D T D A K A E C D L P , H A S H , A can compute K and S K if A has the abilities to (i) break one-way property of hash and (ii) Compute the hard E C D L P . As per Definition 1, inverting hash is hard problem; likewise, by Definition 2 solving ECDLP is also computationally infeasible for large parameter sizes ( 160 bits). Therefor, proposed 2 D T D A K A is unbreakable against disclosure of secretly computed parameter K and session key S K , given private key of victim and can resist KCIA. ☐
Algorithm 2 E X P E 2 A , 2 D T D A K A E C D L P , H A S H
 Compute τ i = x . G , α i = x . Q j , A I D i = α i I D i and γ i = H ( α i | | τ i | | I D i | | I D j | | t i )
2: Send m i 1 = { A I D i , τ i , γ i , t i } to D j
4: Eavesdrop Challenge m j = { A I D j , τ j , R j , t j } , where A I D j = α i I D j , τ j = y . G and R j = H ( K | | α i | | τ i | | τ j | | I D i | | I D j | | t j )
 Compute I D j = A I D j α i
6: Call R e v e a l d l p oracle on τ j and get y R e v e a l d l p ( τ j )
 Compute K = x . Q j + d i . τ j = ( x . Q j + y . Q i )
8: Call R e v e a l h on R j and get ( K | | α i | | τ i | | τ j | | I D i | | I D j | | t j ) R e v e a l h ( R j )
if ( K = = K ) then
10:  Compute S K = H ( I D i I D j τ i τ j K )
  Compute R i = H ( S K | | I D i | | I D j | | K )
12: else Send m i 2 = { R i } to D j
  return Fail
14: end if

7.2. BAN Logic Based Security Analysis

In this section the formal security analysis of the proposed scheme has been done by using Burrows-Abadi-Needham (BAN) logic. We analyze the likelihood of mutual authentication among participants, along with the resistance from session key disclosure by using the BAN logic.
Various rules and principals were presented by Burrows, Abadi and Needham in 1989. If any one of these rules is being violated then the protocol/scheme is considered incorrect. Here are some rules and their descriptions:
Rule 1: Message Meaning
P | P K Q . P < X > K P | Q | X
This rule depicts that P believe, and Q one time said that if P believes than secret key K shared with Q and P see that X is encrypted by using key K.
Rule 2: Nonce Verification
P | # ( X ) , P | Q | X P | Q | X
this rule says that P is believing that Q also believes X, if P is still believing that X is fresh and Q said that X.
Rule 3: Jurisdiction
P | Q X , P | Q | X P | X
We can say that P is believing on Q and also X is valid, if and only if when P is believing that Q has the jurisdiction over X.
Rule 4: Acceptance Conjunction
P | X , P | Y P | ( X , Y )
If a P believes on X and X believes on Y, as a result we can say that P principal believes on both ( X , Y ) too.
Rule 5: Freshness Conjunction
P | # ( X ) P | # ( X , Y )
In this rule we can said that P believing that both X and Y are fresh if and only if when P believe X is still fresh.
Rule 6: Session Key
P | # ( X ) , P | Q X P | P K Q
In the session key rule if a P principal believes on the freshness of session key then also P and then Q also on X believes which is the most important part of the session key. And then P principal also believes that user shares a session key ”K” with Q.
We employ the following notations in verifying the the security properties.
  • γ | σ : γ believes σ
  • γ σ : γ sees σ
  • γ | σ : γ once said σ , some time ago.
  • γ | σ : γ has got jurisdiction over σ
  • #( σ ): The message σ is to be taken as fresh.
  • ( σ ) σ : The formulae σ is hashed in combination with formulae σ .
  • ( σ , σ ) : σ or σ being the part of message ( σ , σ ) .
  • ( σ , σ ) k γ : σ or σ is encrypted with symmetric or asymmetric key K of γ .
  • γ K γ : γ and γ can securely contact using the shared key K.
The following are the assumptions for the BAN logic analysis.
  • A 1 : D i | # ( t i )
  • A 2 : D j | # ( t j )
  • A 3 : D i | ( D i S K D j )
  • A 4 : D j | ( D i S K D j )
  • A 5 : D i | K i
  • A 6 : D j | K i
The following goals serve as the target for proving this analysis.
  • Goal 1: D j | ( D i S K D j )
  • Goal 2: D j | D i | ( D i S K D j )
  • Goal 3: D i | ( D i S K D j )
  • Goal 4: D i | D j | ( D i S K D j )
The protocol’s generic form is illustrated as under.
  • M1: D i D j : A I D i , τ i , y i , t i
  • M2: D j D i : A I D j , τ j , R j , t j :
  • M3: D i D j : R i :
The idealized form of the protocol is designed as follows.
  • M 1 : D i D j : { ( I D i ) a i , x . G , ( I D j , t i ) ( a i , I D i ) , t i }
  • M 2 : D j D i : { ( I D j ) a i , y . G , ( a i , τ i , τ j , I D i , I D j , t j ) k , t j }
  • M 3 : D i D j : { ( I D i , I D j , K ) S K }
Considering the first and third message of the idealized form:
  • M 1 : D i D j : { ( I D i ) a i , x . G , ( I D j , t i ) ( a i , I D i ) , t i }
  • M 3 : D i D j : { ( I D i , I D j , K ) S K }
By Applying seeing rule, we get,
  • S 1 : D j { ( I D i ) a i , x . G , ( I D j , t i ) ( a i , I D i ) , t i }
  • S 2 : D j { ( I D i , I D j , K ) S K }
According to S1, S2, A3 and message meaning rule,
  • S 3 : D j | { ( I D i ) a i , x . G , ( I D j , t i ) ( a i , I D i ) , t i }
  • S 4 : D j | { ( I D i , I D j , K ) S K }
According to A1, S3, S4 freshness conjucatenation, and nonce verification rules, we get
  • S 5 : D j | D i | { ( I D i ) a i , x . G , ( I D j , t i ) ( a i , I D i ) , t i }
  • S 6 : D j | D i | { ( I D i , I D j , K ) S K }
According to A6, S5, S6 and Jurisdiction rule
  • S 6 : D j | { ( I D i ) a i , x . G , ( I D j , t i ) ( a i , I D i ) , t i }
  • S 7 : D j | { ( I D i , I D j , K ) S K }
According to A3, S6, S7, and session key rule, we get
  • S 8 : D j | D i | D i S K D j (Goal 2)
According to A6, S8, and Jurisdiction rule
  • S 9 : D j | D i S K D j (Goal 1)
Considering the second idealized form as:
  • M 2 : D j D i : { ( I D j ) a i , y . G , ( a i , τ i , τ j , I D i , I D j , t j ) K , t j }
By applying seeing rule, we get
  • S 10 : D i : { ( I D j ) a i , y . G , ( a i , τ i , τ j , I D i , I D j , t j ) K , t j }
According to S10, A4 and message meaning rule,
  • S 11 : D i | D j { ( I D j ) a i , y . G , ( a i , τ i , τ j , I D i , I D j , t j ) K , t j }
According to A2, S11, freshness conjucatenation, and nonce verification rules we get,
  • S 12 : D i | D j | { ( I D j ) a i , y . G , ( a i , τ i , τ j , I D i , I D j , t j ) K , t j }
According to A5, S12, and Jurisdiction rule
  • S 13 : D i | { ( I D j ) a i , y . G , ( a i , τ i , τ j , I D i , I D j , t j ) K , t j }
According to A4, S13, and session key rule, we get
  • S 14 : D i | D j | D i S K D j (Goal 4)
According to A5, S14, and Jurisdiction rule
  • S 15 : D i | D j S K D i (Goal 3)
The above BAN logic analysis formally proves that the proposed protocol achieves mutual authentication and the session key SK is mutually established between D i and D j .

7.3. Security Features Analysis

Following subsections provide a discussion on attack resilience of the proposed protocol:

7.3.1. Key Compromise Impersonation Attack

By KCIA, if an adversary A gets long private key of a device say D a can impersonate himself as anyother device say D b of the system to the victim D a . In proposed protocol if A gets the long term private key d a = r a + H ( I D a x a ) , cannot impersonate himself as anyother device say D b to the victim D a . To launch KCIA A can be the initiator or the responder, and for responding role A can intercept the message { ( A I D a , τ a , γ a , t a ) } sent by the D a to D b . A cannot compute α a = d b τ b as it requires private key d b of D b . The inability of computing α a is also extended to compute the identity I D a of initiator. Moreover, A cannot compute K = K b = y Q b + d b τ a because with known d a and the public key Q b , finding y Q b + d b τ a is elliptic curve discrete logarithm (ECDLP)—a hard problem. Hence A will also fail to compute R b and S K as both also requires the knowledge of K. Similarly, in initiator case, A can compute τ a = x G , α a = x Q b and A I D a = α a I D i (With supposition that all identities are known to adversary). Similarly, after receiving the return message from D b , the adversary can also compute I D b , but computing K = K a = x Q b + d a τ b is again intractable ECDLP. Therefore, the proposed protocol provides resistance against KCIA.

7.3.2. Device Anonymity

The proposed scheme provides device anonymity and un-traceability [38,39]. In the proposed scheme, D a sends his pseudo calculated identity A I D a = α a I D a , any adversary just by listening the channel can get this pseudo identity and to compute original identity I D a , the adversary needs to know α a , which is not sent on communication channel. The adversary can get τ a = x G but computing α a from τ a needs the private key of the receiver D b , same private key is required to get the original identity I D b from pseudo calculated identity A I D b . Moreover, the temporary I D is dynamically computed for each session. The proposed scheme provides identity hiding as well as resistance to traceability attack.

7.3.3. Man-in-Middle Attack

For two devices ( D a and D b ), the proposed protocol exchanges τ a = x G and τ b = y G and generates K = x d b G + y d a G and session key S K = H ( I D a I D b τ a τ b K ) using two private keys d a and d b , and two session specific parameters x and y generated each participant. Since the devices can authenticate R a and R b very easily, a valid session key S K is generated.Therefore, to get authenticated from other side, the attacker A requires the private key of the 2nd participant as well as session specific temporary parameter generated on other side. Even if A can generate session specific parameter but computing private key out of public key is the hard ECDLP problem and computing x d b G + y d a G from d a G and d b G is ECC Diffie-Hellman problem (ECDHP), which is also a hard problem. Thus, the proposed protocol provides protection against MIM attack.

7.3.4. Known-Key Attacks

Known-key-attack (KKA) is a cryptographic attack in which an adversary can access the ciphertext. Known-key-attacks can be attempted successfully by an adversary when the palintext is related with the ciphertext and the adversary could trace the plaintext by just performing backtracking. A 2 P A K A protocol holds KKA property if a disclosure of whole or part of previously generated keys occur and such disclosure may not help to generate other past or future session keys. In the proposed protocol, each key is formed using private keys of both interconnected devices as well as their random numbers generated solely for formation of each session key and if an attacker A by some means gets one or more generated session keys, it may have no advantage in computing any other safe past or future keys and to expose any past or future keys S K = H ( I D a | | I D b | | τ a | | τ b | | K ) , A needs to compute K, R a and R b which are based on private keys and session specific parameters and are unknown to A . Hence, proposed protocol resists KKS attack.

7.3.5. Unknown Key Share Attack (UKS)

By UKS, An entity, say D x believes that a correct session key with other device D y is accomplished and on other hand another device say D y wrongly believes that the key is established with A instead of D x . In the proposed protocol, the session key computed on both sides is same and it requires the privates keys as well as identities of both the participants. Therefore, the proposed protocol is secure from UKS.

7.3.6. Backward/Forward secrecy

A protocol satisfies forward secrecy [40,41], if the private key of one or more participant but not all or some of the previously generated sessions keys are compromised, it may not effect future sessions keys. Similarly, in a protocol if compromise of current session key or some of the private keys cannot help to expose any previous session key, the protocol is said to be forward secure. The protocol is said to posses perfect forward secrecy if the compromise of all private keys have no effect on previously generated session keys. In the proposed protocol, even if the private keys of both participants are known to an adversary, he cannot compute any previously generated session key due to the inclusion of the session specific random parameters. Hence our device to device AKA provides P F S .

7.3.7. Known Session Specific Information Attack (KSSIA)

Resistance to KSSIA implies that, the exposure of all session parameters ( x , y ) to A , may not expose the session key. In the proposed device authentication protocol, both devices D a and D b compute S K = H ( I D a | | I D b | | τ a | | τ b | | K ) . A can reveal S K if and only if he knows K = K a = x Q b + y Q a or K = K b = y Q a + x Q b . Knowing only the pair ( x , y ) may not help A to derive K a or K b . Therefore, the proposed protocol resists KSSIA.

7.3.8. Key Off-Set/Replicating Attack

The key replicating attack ( K R A ) is a distinction of MIM attack, where one or more active adversaries intercept and modify the exchanged information between devices D a and D b in such a way that the modification results into agreement of an incorrect session key. In our proposed protocol the D a and D b exchange τ a and τ b . A can modify some values by offset ϵ and produces ϵ τ a and ϵ τ b . Nevertheless, A remains unable to compute S K that is agreed by D a and D b , as A requires the knowledge of the private keys d a and/or d b . Hence, the proposed device to device key is resistance to key off-set/replicating attack ( K O A / K R A ) .

7.3.9. No Key Control

The session key S K = H ( I D a | | I D b | | τ a | | τ b | | K ) computed between D a and D b contains equal share of both participants, i.e., both participants add their session parameters as well as their private keys. Therefore, none of the participant has any control on session key formation and proposal provides No Key Control (NKC) property.

7.3.10. Replay Attack

Our proposed protocol is free from replay attack (RA). Any adversary can replay any old message say { A I D a , τ a , γ a , t a } exchanged between to legal devices. However, the timestamp t a is also a part of message in plain text as well as hidden in γ a . The receiver can easily detect the freshness and discard the message in case it is replayed. Same is the case, if against any request, the adversary replays an old reply message say { A I D j , τ j , R j , t j } , the initiator will easily detect the replay and will discard the message.

8. Performance Analysis

This section shows the comparative performance measure of the proposed protocol with existing protocols [13,31,32,36,37] in terms of computation and communication efficiency. Following notations and their running time computed by Kilinic and Yanik [42] on a Dual CPU E 2200 with 2.20 GHz speed and with 2048 MB of RAM, were used for computation cost analysis:
  • T e x p 3 . 85 ms: Cost of modular exponentiation
  • T e m 2 . 226 ms: Cost of Point multiplication over ECC
  • T e a 0 . 0288 ms: Cost of Point multiplication over ECC
  • T h 0 . 0023 ms: Cost of hash function
  • T p b 5 . 811 ms: Cost of bilinear pairing operation
  • T e d 0 . 0046 ms: Cost of symmetric encryption
Table 3 shows a comprehensive performance comparisons; referring the table, the proposed scheme completed the key exchange process by performing 6 T e m + 2 T e a + 8 T h operations and with running time ≈ 13.42 ms. Mandal et al.’s protocol accomplished the same with 4 T e m + 11 T s y d + 12 T h operations and a running time of 8 . 9822 ms. The protocol proposed by Islam-Biswas completed it in 13 . 3698 ms by performing 6 T e m + 6 T h operations. Wang et al.’s protocol performed 2 T b p + 4 T e m operations and completed the authentication process in 20 . 5262 ms. Holbl-Walzer protocols [13] accomplished authentication in 8 T b p and 6 T b p respectively with running time ≈ 46.48 ms and ≈ 34.866 ms respectively. The proposed protocol funished the authentication with slight higher computation time as compared with Mandal et al. and Islam-Biswas protocols, whereas it was efficient as compared with other related protocols. For communication cost, we considered an ECC point of size 160 bits, the output of hash function (SHA-1) is 160 bits and for simplicity identity was also taken as 160 bit, with timestamps of 32 bits length. The communication cost of the proposed protocol was just 168 bytes in comparison with Mandal et al.’s 252 bytes, Islam-Biswas’s 120, Ni et al.’s 132 bytes, Wang et al.’s 66 bytes and Holbl-Walzer’s 258 bytes. The communication cost of the proposed protocol was less than Mandal et al. and Holbl-Wazler’s protocols and more than Islam-Biswas, Ni et al. and Wang et al.’s protocols. Therefore, the proposed protocol achieved a good trad-off between computation and communication efficiencies.

9. Conclusions

In this paper, we have simulated key compromise impersonation attack (KCIA) on two recent ECC and self certified public key based authentication protocols. It has been shown that both the protocols of Islam-Biswas and Mandal et al. are not only insecure against KCIA, but also lacking anonymity. We then proposed an improved protocol to resist KCIA and related known attacks and to provide anonymity and related important security features. Proposed scheme is tailored to work in IoT-based fast moving vehicular networks and does not require involvement of a third party for sharing a key between two smart vehicles. The security of proposed scheme is analyzed through formal and informal methods. Although, proposed protocol accomplishes the authentication with slight high computation and communication costs as compared with related protocols but it provides resistance against all known attacks and encompasses all required security features. Hence, the proposed protocol is best suited for key exchange in device to device using certificates.

Author Contributions

B.A.A. wrote the initial draft as well as revision and BAN logic analysis of the proposed scheme. S.A.C. conceptualized the idea and performed cryptanalysis and designed the new scheme. A.B., and A.A.-B. performed security and efficiency analysis. T.S. performed formal analysis, proof read and supervised the whole process. All authors have read and agreed to the published version of the manuscript.

Funding

This Project was funded by the Deanship of Scientific Research (DSR), at King Abdulaziz University, Jeddah, under grant no. (RG-7-611-40). The authors, therefore, acknowledge with thanks DSR for technical and financial support. This research was supported by Energy Cloud R&D Program through the National Research Foundation of Korea(NRF) funded by the Ministry of Science, ICT (2019M3F2A1073386).

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Chen, C.M.; Xiang, B.; Liu, Y.; Wang, K.H. A secure authentication protocol for internet of vehicles. IEEE Access 2019, 7, 12047–12057. [Google Scholar] [CrossRef]
  2. Diffie, W.; Hellman, M. New directions in cryptography. IEEE Trans. Inf. Theory 1976, 22, 644–654. [Google Scholar] [CrossRef] [Green Version]
  3. Chen, T.H.; Lee, W.B.; Chen, H.B. A round-and computation-efficient three-party authenticated key exchange protocol. J. Syst. Softw. 2008, 81, 1581–1590. [Google Scholar] [CrossRef]
  4. Lu, R.; Cao, Z. Simple three-party key exchange protocol. Comput. Secur. 2007, 26, 94–97. [Google Scholar] [CrossRef]
  5. Phan, R.C.W.; Yau, W.C.; Goi, B.M. Cryptanalysis of simple three-party key exchange protocol (S-3PAKE). Inf. Sci. 2008, 178, 2849–2856. [Google Scholar] [CrossRef]
  6. Chen, C.M.; Wang, K.H.; Yeh, K.H.; Xiang, B.; Wu, T.Y. Attacks and solutions on a three-party password-based authenticated key exchange protocol for wireless communications. J. Ambient Intell. Humaniz. Comput. 2019, 10, 3133–3142. [Google Scholar] [CrossRef]
  7. Pu, Q.; Zhao, X.; Ding, J. Cryptanalysis of a three-party authenticated key exchange protocol using elliptic curve cryptography. In Proceedings of the International Conference on Research Challenges in Computer Science, ICRCCS’09, Shanghai, China, 28–29 December 2009; pp. 7–10. [Google Scholar]
  8. Tan, Z. An Enhanced Three-Party Authentication Key Exchange Protocol Using Elliptic Curve Cryptography for Mobile Commerce Environments. J. Commun. 2010, 5, 436–443. [Google Scholar] [CrossRef]
  9. Tseng, Y.M. An efficient two-party identity-based key exchange protocol. Informatica 2007, 18, 125–136. [Google Scholar]
  10. Günther, C.G. An identity-based key-exchange protocol. In Proceedings of the Workshop on the Theory and Application of of Cryptographic Techniques, Houthalen, Belgium, 10–13 April 1989; pp. 29–37. [Google Scholar]
  11. Saeednia, S. Improvement of Günther’s identity-based key exchange protocol. Electron. Lett. 2000, 36, 1535–1536. [Google Scholar] [CrossRef]
  12. Hsieh, B.; Sun, H.; Hwang, T.; Lin, C. An improvement of Saeednia’s identity-based key exchange protocol. Inf. SecuR. Conf. 2002, 2002, 41–43. [Google Scholar]
  13. Hölbl, M.; Welzer, T. Two improved two-party identity-based authenticated key agreement protocols. Comput. Stand. Interfaces 2009, 31, 1056–1060. [Google Scholar] [CrossRef]
  14. Zhang, S.; Cheng, Q.; Wang, X. Impersonation attack on two identity-based authenticated key exchange protocols. In Proceedings of the 2010 WASE International Conference on Information Engineering, Beidaihe, China, 14–15 August 2010. [Google Scholar]
  15. Smart, N. Identity-based authenticated key agreement protocol based on Weil pairing. Electron. Lett. 2002, 38, 630–632. [Google Scholar] [CrossRef] [Green Version]
  16. Chen, L.; Kudla, C. Identity based authenticated key agreement protocols from pairings. In Proceedings of the 16th IEEE Computer Security Foundations Workshop, Pacific Grove, CA, USA, 30 June–2 July 2003; pp. 219–233. [Google Scholar]
  17. Shim, K. Efficient ID-based authenticated key agreement protocol based on Weil pairing. Electron. Lett. 2003, 39, 653–654. [Google Scholar] [CrossRef]
  18. Sun, H.M.; Hsieh, B.T. Security Analysis of Shim’s Authenticated Key Agreement Protocols from Pairings. IACR Cryptol. EPrint Arch. 2003, 2003, 113. [Google Scholar]
  19. Ryu, E.K.; Yoon, E.J.; Yoo, K.Y. An efficient ID-based authenticated key agreement protocol from pairings. In International Conference on Research in Networking; Springer: Berlin/Heidelberg, Germany, 2004; pp. 1458–1463. [Google Scholar]
  20. Boyd, C.; Choo, K.K.R. Security of two-party identity-based key agreement. In Proceedings of the International Conference on Cryptology in Malaysia, Kuala Lumpur, Malaysia, 28–30 September 2005; pp. 229–243. [Google Scholar]
  21. McCullagh, N.; Barreto, P.S. A new two-party identity-based authenticated key agreement. In Proceedings of the Cryptographers’ Track at the RSA Conference, San Francisco, CA, USA, 14–18 February 2005; pp. 262–274. [Google Scholar]
  22. Shao, Z.-H. Efficient authenticated key agreement protocol using self-certified public keys from pairings. Wuhan Univ. J. Nat. Sci. 2005, 10, 267–270. [Google Scholar]
  23. Ni, L.; Chen, G.; Li, J.; Hao, Y. Strongly secure identity-based authenticated key agreement protocols. Comput. Electr. Eng. 2011, 37, 205–217. [Google Scholar] [CrossRef]
  24. Cao, X.; Kou, W.; Yu, Y.; Sun, R. Identity-based authentication key agreement protocols without bilinear pairings. IEICE Trans. Fundam. 2008, 12, 3833–3836. [Google Scholar] [CrossRef]
  25. Tsaur, W.J. Several security schemes constructed using ECC-based self-certified public key cryptosystems. Appl. Math. Comput. 2005, 168, 447–464. [Google Scholar] [CrossRef]
  26. Hölbl, M.; Welzer, T.; Brumen, B. An improved two-party identity-based authenticated key agreement protocol using pairings. J. Comput. Syst. Sci. 2012, 78, 142–150. [Google Scholar] [CrossRef] [Green Version]
  27. Chen, L.; Cheng, Z.; Smart, N.P. Identity-based key agreement protocols from pairings. Int. J. Inf. Secur. 2007, 6, 213–241. [Google Scholar] [CrossRef]
  28. Choo, K.K.R.; Boyd, C.; Hitchcock, Y.; Maitland, G. On session identifiers in provably secure protocols. In Proceedings of the International Conference on Security in Communication Networks, Amalfi, Italy, 8–10 September 2004; pp. 351–366. [Google Scholar]
  29. Li, S.; Yuan, Q.; Li, J. Towards Security Two-part Authenticated Key Agreement Protocols. IACR Cryptol. EPrint Arch. 2005, 2005, 300. [Google Scholar]
  30. Wang, S.; Cao, Z.; Choo, K.K.R.; Wang, L. An improved identity-based key agreement protocol and its security proof. Inf. Sci. 2009, 179, 307–318. [Google Scholar] [CrossRef]
  31. Islam, S.H.; Biswas, G. Design of two-party authenticated key agreement protocol based on ECC and self-certified public keys. Wirel. Pers. Commun. 2015, 82, 2727–2750. [Google Scholar] [CrossRef]
  32. Mandal, S.; Mohanty, S.; Majhi, B. Cryptanalysis and Enhancement of an Anonymous Self-Certified Key Exchange Protocol. Wirel. Pers. Commun. 2018, 99, 863–891. [Google Scholar] [CrossRef]
  33. Khatwani, C.; Roy, S. Security Analysis of ECC Based Authentication Protocols. In Proceedings of the 2015 International Conference on Computational Intelligence and Communication Networks (CICN), Jabalpur, India, 12–14 December 2015; pp. 1167–1172. [Google Scholar]
  34. Chaudhry, S.A.; Shon, T.; Al-Turjman, F.; Alsharif, M.H. Correcting design flaws: An improved and cloud assisted key agreement scheme in cyber physical systems. Comput. Commun. 2020, 153, 527537. [Google Scholar] [CrossRef]
  35. Mansoor, K.; Ghani, A.; Chaudhry, S.A.; Shamshirband, S.; Ghayyur, S.A.K.; Mosavi, A. Securing IoT-Based RFID Systems: A Robust Authentication Protocol Using Symmetric Cryptography. Sensors 2019, 19, 4752. [Google Scholar] [CrossRef] [Green Version]
  36. Wang, S.; Cao, Z.; Cao, F. Efficient Identity-based Authenticated Key Agreement Protocol with PKG Forward Secrecy. Int. J. Netw. Secur. 2008, 7, 181–186. [Google Scholar]
  37. Ni, L.; Chen, G.; Li, J.; Hao, Y. Strongly secure identity-based authenticated key agreement protocols in the escrow mode. Sci. China Inf. Sci. 2013, 56, 1–14. [Google Scholar] [CrossRef] [Green Version]
  38. He, D.; Kumar, N.; Khan, M.K.; Wang, L.; Shen, J. Efficient Privacy-Aware Authentication Scheme for Mobile Cloud Computing Services. IEEE Syst. J. 2018, 12, 1621–1631. [Google Scholar] [CrossRef]
  39. Zhang, L.; Zhang, Y.; Tang, S.; Luo, H. Privacy Protection for E-Health Systems by Means of Dynamic Authentication and Three-Factor Key Agreement. IEEE Trans. Ind. Electron. 2018, 65, 2795–2805. [Google Scholar] [CrossRef] [Green Version]
  40. Hussain, S.; Chaudhry, S.A. Comments on “Biometrics-Based Privacy-Preserving User Authentication Scheme for Cloud-Based Industrial Internet of Things Deployment”. IEEE Internet Things J. 2019, 6, 10936–10940. [Google Scholar] [CrossRef]
  41. Ghani, A.; Mansoor, K.; Mehmood, S.; Chaudhry, S.A.; Rahman, A.U.; Najmus Saqib, M. Security and key management in IoT-based wireless sensor networks: An authentication protocol using symmetric key. Int. J. Commun. Syst. 2019, 32, e4139. [Google Scholar] [CrossRef]
  42. Kilinc, H.H.; Yanik, T. A survey of SIP authentication and key agreement schemes. IEEE Commun. Surv. Tutor. 2014, 16, 1005–1023. [Google Scholar] [CrossRef]
Figure 1. Device to Device Authentication Scenario.
Figure 1. Device to Device Authentication Scenario.
Electronics 09 00520 g001
Figure 2. Islam-Biswas Key Agreement Protocol.
Figure 2. Islam-Biswas Key Agreement Protocol.
Electronics 09 00520 g002
Figure 3. Mandal Key Agreement Protocol.
Figure 3. Mandal Key Agreement Protocol.
Electronics 09 00520 g003
Figure 4. Proposed registration.
Figure 4. Proposed registration.
Electronics 09 00520 g004
Figure 5. Proposed key agreement.
Figure 5. Proposed key agreement.
Electronics 09 00520 g005
Table 1. Notation Guide.
Table 1. Notation Guide.
NotationDefinition
U x , S User x, Server
D a , D b Device a and Device b
I D x , F p Identity of U x , Prime Field
E / F p , GElliptic Curve over F p , Base Point over E / F p
K P r i , K P u b Private and public key pair of S
E k i , D k i Encryption, Decryption using k i as key
| | , ⊕Concatenation and Exclusive-Or operations
h ( . ) , H ( . ) , H i ( . ) Hash Functions
= ? Equality Checking operator
Table 2. Security Comparison table.
Table 2. Security Comparison table.
Features→ RF 1 RF 2 RF 3 RF 4 RF 5 RF 6 RF 7 RF 8 RF 9 RF 10
Protocols↓
Ours
[13]
[36]
[37]
[31]
[32]
Note: RF 1 : Key Compromise Impersonation Attack; RF 2 : device Anonymity; RF 3 : Man in Middle Attack; RF 4 : Known Key attack; RF 5 : Unknown Key Share Attack; RF 6 : Perfect Forward Secrecy; RF 7 : Known Session Specific Information Attack; RF 8 : Key Offset/Replicate Attack; RF 9 : No Key Control; RF 10 : Replay Attack : indicates that the scheme provides or is secure against that feature; : indicates that the scheme does not provide or is insecure against that feature.
Table 3. Communication and Computation cost.
Table 3. Communication and Computation cost.
ProtocolBytes ExchangedComputation CostRunning Time
Holbl-Walzer I [13]258 8 T b p 46 . 48 ms
Holbl-Walzer II [13]258 6 T b p 34 . 866 ms
Wang et al. [36]66 2 T b p + 4 T e m 20 . 5262 ms
Ni et al. [37]132 2 T b p + 2 T e m + 2 T e x p 23 . 7742 ms
Islam-Biswas [31]120 6 T e m + 6 T h 13 . 3698 ms
Mandal et al. [32]252 4 T e m + 11 T s y d + 12 T h 8 . 9822 ms
Proposed168 8 T e m + 2 T e a + 6 T h 13 . 42 ms

Share and Cite

MDPI and ACS Style

Alzahrani, B.A.; Chaudhry, S.A.; Barnawi, A.; Al-Barakati, A.; Shon, T. An Anonymous Device to Device Authentication Protocol Using ECC and Self Certified Public Keys Usable in Internet of Things Based Autonomous Devices. Electronics 2020, 9, 520. https://doi.org/10.3390/electronics9030520

AMA Style

Alzahrani BA, Chaudhry SA, Barnawi A, Al-Barakati A, Shon T. An Anonymous Device to Device Authentication Protocol Using ECC and Self Certified Public Keys Usable in Internet of Things Based Autonomous Devices. Electronics. 2020; 9(3):520. https://doi.org/10.3390/electronics9030520

Chicago/Turabian Style

Alzahrani, Bander A., Shehzad Ashraf Chaudhry, Ahmed Barnawi, Abdullah Al-Barakati, and Taeshik Shon. 2020. "An Anonymous Device to Device Authentication Protocol Using ECC and Self Certified Public Keys Usable in Internet of Things Based Autonomous Devices" Electronics 9, no. 3: 520. https://doi.org/10.3390/electronics9030520

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