A pragmatic elliptic curve cryptography-based extension for energy-efficient device-to-device communications in smart cities

A pragmatic elliptic curve cryptography-based extension for energy-efficient device-to-device communications in smart cities

Journal Pre-proof A Pragmatic Elliptic Curve Cryptography-based Extension for Energy-Efficient Device-to-Device Communications in Smart Cities Tran Kha...

5MB Sizes 0 Downloads 44 Views

Journal Pre-proof A Pragmatic Elliptic Curve Cryptography-based Extension for Energy-Efficient Device-to-Device Communications in Smart Cities Tran Khanh Dang, Chau D.M. Pham, Thao L.P. Nguyen

PII:

S2210-6707(20)30084-6

DOI:

https://doi.org/10.1016/j.scs.2020.102097

Reference:

SCS 102097

To appear in:

Sustainable Cities and Society

Received Date:

1 June 2019

Revised Date:

13 February 2020

Accepted Date:

13 February 2020

Please cite this article as: Tran Khanh Dang, Chau D.M. Pham, Thao L.P. Nguyen, A Pragmatic Elliptic Curve Cryptography-based Extension for Energy-Efficient Device-to-Device Communications in Smart Cities, (2020), doi: https://doi.org/

This is a PDF file of an article that has undergone enhancements after acceptance, such as the addition of a cover page and metadata, and formatting for readability, but it is not yet the definitive version of record. This version will undergo additional copyediting, typesetting and review before it is published in its final form, but we are providing this version to give early visibility of the article. Please note that, during the production process, errors may be discovered which could affect the content, and all legal disclaimers that apply to the journal pertain. © 2020 Published by Elsevier.

of

A Pragmatic Elliptic Curve Cryptography-based Extension for Energy-Efficient Device-to-Device Communications in Smart Cities

Abstract

ro

The rise of Smart Cities with underlying adoptions of technologies like the

IoT and Cloud Computing has made the integration between them a promising field with different challenges including security. Authentication is one of

-p

the foremost attempts to address these issues. Allowing direct device-to-device rather than only device-to-service communications can introduce several bene-

re

fits like high data transmission rate and reliable communications even when the central clouds fail. However, the resource constraint nature of IoT devices makes it more difficult to develop secure protocols that can provide a sustainable de-

lP

ployment in practice. This article proposes an authentication scheme extension providing secure control from resourceful cloud servers to devices while also enabling the direct secure communications between them. The scheme is designed

ur na

to use ECC and low-cost operations to provide efficient resource and energy consumption. The protocol correctness is proven by using a formal security analysis with BAN-logic. Detailed analysis is presented to show its resilience to common attacks. A performance analysis is also given to show the scheme’s practical value as it only consumes at most 29 mJ on each device in addition to the amount required by the original protocol.

Jo

Keywords: iot authentication, d2d authentication, smart cities, energy efficiency, cloud integration, internet of things

Preprint submitted to Elsevier

February 12, 2020

1. Introduction The Internet of Things (IoT), which was first introduced by Kevin Ashton [1] in 1999, has opened new opportunities for the research community to study its wide variety of aspects. Single-function embedded devices have been 5

developed into smart things, such as smartphones, laptops, coffee machines, re-

of

frigerators, Google Home, Apple watches, etc. In other words, any device can be integrated into the IoT by equipping it with an Internet connection, sensor

and/or actuators, so they can recognize changes in their surroundings for cor-

10

ro

responding activities [2, 3]. These devices collect environmental information of their surroundings and send it to some central data servers where it is processed,

-p

manipulated, transformed and used to perform multiple tasks [4]. In the end, governments, organizations, and individuals enjoy these benefits of IoT. Applications of the IoT are available in many aspects of life thanks to its adoption

15

re

by a wide range of industries [5]. Nowadays, Smart Home, Smart University and even Smart City are not new definitions. New IoT products are introduced

lP

almost every day for all the aspects of our modern life. The number of IoT devices has now been more than 1 billion [6]. IHS forecasted the IoT market would reach 75.4 billion of devices by 2025 [7]. Being considered as the future of the Internet, IoT development comes with urgent requirements about the provision of security and privacy as the number

ur na

20

of deployed IoT devices rapidly increases. In 2012, Gartner, the market research company, affirmed in [8]: “The Internet of Things concept will take more than 10 years to reach the Plateau of Productivity - mainly due to security challenges, privacy policies, data and wireless standards, and the realization that the Internet of Things requires the build-out of a topology of services, applications and

Jo

25

a connecting infrastructure”. There were cases that researchers were successful in attacking IoT systems and took over the control of smart things or make the system unusable: [9, 10, 11, 12]. As we can see, security is one of the most important factors deciding the existence of an IoT system. How these devices can

30

interact and authenticate with each other is still a difficult question, which has

2

been attracting many researchers. Authentication in IoT is different from the other system because of its specific properties: the uncontrolled environment, the heterogeneity, the requirement of scalability, and the limited resources [13]. Computation activities for IoT devices cannot be complex. 35

The most popular model of an IoT eco-system is all machines directly connected and controlled by centralized servers in local networks. These servers

of

are often deployed with powerful storage and computing resources so that they can handle complicated processes and computations for their client nodes. The

40

ro

sensed data from the IoT devices are sent to a central server or a cloud by using

communication infrastructure [14]. In other words, in this model client nodes completely depend on their servers for any tasks such as computing, storing,

-p

accessing the Internet and applications, guaranteeing security and so on. Any actions of nodes in the same networks are involved with the administration of

45

re

their server. This model is widely applied in practice, especially in IoT systems due to the fact that such systems have considerable diversity in their devices with very different resource capabilities and other features. Thus, focusing on

lP

servers as the centralized management systems without the need for paying too much attention to the device end’s details make this model easier to be employed and justified. On the other hand, it nevertheless puts too much workload on the servers as well as possibly breaks down the whole system when these servers

ur na

50

become out of usage. This model can severely suffer when attackers flood a huge number of physical objects into the network at an unexpected scale. To restrain the dependence on servers, scientists thought about the Device-

to-Device (D2D) communication [15, 16, 17]. Unlike Human-to-Human (H2H)

55

communications, there is no human interaction in D2D. Hence, devices must

Jo

be designed for self-establishing connections and authentications with others. There are two kinds of D2D: Standalone D2D and Network-Assisted D2D. These two structures differ by the existence of a helping infrastructure to organize communication and resource utilization. In Network-Assisted D2D, a gateway

60

is required for the operation, and devices are connected by cellular networks. This requires a high capacity and energy efficiency mobile networks, which is 3

not affordable in some countries and areas. About Standalone D2D, devices initiate requests for communicating with nearby devices by short-range connection mechanisms such as Bluetooth. One device will send signals to express 65

its connection request with other devices. Consequently, devices will need to authenticate not only with the servers but also among themselves. This will be useful in case there is no connection from devices to servers, i.e. power blackout

of

and servers do not have the backup power resource. In this case, the IoT systems still work because most of the embedded devices have the battery within

and will be unaffected by the local area power outage. So, they can continue

ro

70

their connection with others without interruption. As a result, one device needs to itself verify that it is connecting to legit devices without servers. The list of

-p

things in the network system then has to be stored and well managed by each node, which will be a problem for small devices. Because most of the smart devices are designed for specific tasks, they have very limited resources in the

re

75

term of memory, energy, and CPU, which means they cannot run the complex algorithms for registration or authentication or store too much data. It is clear

lP

that authentications in the two models above are having themselves many advantages and also weaknesses, raising the motivations of finding a better way 80

to retain their good characteristics while avoiding their outages. In this article,

ur na

we propose an authentication protocol using a hybrid model in which servers still take the responsibility for controlling the access rights and managing the list of the things in the IoT local network, while supporting in device-device authentication phase before they can start their communications on their owns.

85

The protocol is based mostly on the Elliptic Curve Cryptography (ECC) and low-cost operations such as exclusive-or, concatenation, and hash function to

Jo

achieve the efficiency in resource consumption. It is then evaluated and validated in terms of the resilience against common attacks as well as the storage and energy amount used.

90

The main contributions of our work are as follows: • This research contributes a new authentication solution that can be used

4

for low-powered devices with limited computational capabilities, especially in the IoT environment. • This work simultaneously proposes a way to apply the elliptic curve cryp95

tography into designing a protocol that helps entities mutually authenticate each other.

of

• From an existing protocol that originally only supports the authentication between devices and the cloud servers, this research extends and improves

100

ro

it so that it can provide secure communication for direct connections of device-to-device.

-p

• The research also raises and addresses different security aspects of devices in the IoT.

re

The rest of this article is organized as follows. Section 2 reviews some related works recently proposed. In Section 3, we do preliminary literature about 105

ECC. We then make clear about our motivation for this scheme in Section 4. In

lP

Section 5, we provide reviews of Wang et al.’s authentication scheme which has inspired us to improve their work as well as introducing our extended scheme. Section 6 is where we thoroughly explain our proposed scheme. In Section 7, we

110

ur na

demonstrate the resilience of our proposed protocol to different attacks. Performance analyses are carried out and reported in Section 8. Finally, concluding remarks and future work are shown in Section 9.

2. Related works

Jo

Authentication plays an important role in every system. It is one of the se-

curity aspects to protect them from possible attacks. This process helps to allow

115

only legitimate entities to access a system. As this is an essential process, there have been many kinds of research and studies for different specific solutions for IoT. In fact, proposing an authentication protocol is to suggest a way in which we can first verify if an object has the rights to connect and communicate with

5

one or some other objects in the same systems, and then establish secure chan120

nels between them so that they can talk to each other without worrying about their partners’ identities. Solutions for the above goals can be categorized into two main groups, which are the ones using asymmetric cryptosystems and the rest using symmetric schemes [18]. Furthermore, besides complex cryptographic techniques to achieve security, other approaches have also been suggested such as voting protocol employ the blind signature techniques and dynamic ballots

of

125

for authentication and guaranteeing users’ privacy in electronic voting [19] or

ro

key-based management and rating-based authentication [16] with the hope to avoid the high computational cost of cryptographic operations.

In the first group, it was common for proposed schemes to be based on the Public Key cryptography [20]. This cryptographic scheme has been widely

-p

130

used, especially in the context of the Internet. The Transport Layer Security

re

(TLS) [21] is a very popular standard protocol in which digital certificates of websites are distributed to their clients as public keys in order to verify identities of servers and secure the communications following. However, TLS is not suitable for IoT because of its strict underlying TCP transport protocol which

lP

135

is not a good choice for limited-resource devices. To deal with this problem, another transport protocol – Datagram Transport Layer Security (DTLS) [22]

ur na

which operates on Unreliable Transport Protocol (UDP) but still provides the same security level has been proposed to replace TLS. In 2012, [23] proposed

140

an implementation for DTLS on sensors with Trusted Platform Module (TPM) installed. Despite its advantages of high security and data integrity with reasonable energy amount consumed, the need of deploying TPM hardware for each sensor is expensive and not scalable. Another direction is using raw public

Jo

keys to encrypt messages exchanged with the assumption that everyone knows

145

each other’s public keys in a system. Rabin et al. [24] proposed a protocol with the design quite similar to RSA, which is a public key cryptosystem widely used for secure data transmission. Although their proposed scheme consumed energy as much as RSA for encryption, decryption using this scheme is much faster because it needs only one squaring for each message. Nonetheless, the 6

150

requirement of a high cost of computations and energy makes it inconvenient when applying to IoT systems. Recent researches [25, 26] tried to replace RSA with Elliptic Curve Cryptography (ECC), which has been proved to achieve less energy in consideration of the same security levels [27]. Overall, this approach requires public keys to be first distributed and stored in each device in the whole

155

network. In other words, the key distribution mechanism is the main challenge

of

of such solutions. And the fact that each device has to maintain others’ public keys makes them inefficient in the aspect of storage and scalability.

ro

Solutions in the second group were based on symmetric cryptographic schemes in which the protocols aimed to securely distribute the symmetric keys, i.e. se160

cret keys, to the whole system. Those keys would be used for encrypting and

-p

decrypting later communications. The main challenges for such solutions were how these keys can be generated and safely distributed to target objects while

re

not being stolen by any hackers attacking into these processes. [28] proposed a broadcast authentication scheme based on Bloom filter data structure. Using 165

an enhanced version of Bloom filter, i.e. XOR Bloom Filter Authentication,

lP

the scheme reduces communications’ delay and cost by decreasing the computational overhead as well as their error rates. In [29], the authors proposed an ultra-lightweight protocol for heterogeneous wireless sensor network which

170

ur na

used nonces, XOR, concatenation operations for mutual authentication between sensors and users in the same network. ECC, an approach to public key cryptography, was introduced by Miller [30] and Koblitz [31]. ECC is considered to be more suitable for building up lightweight public key cryptosystems due to its smaller key size and lower arithmetic requirement compared with the popular RSA at the same security level. Therefore, ECC has been widely considered to replace RSA in public key cryptosystems. Many remote authentication schemes

Jo

175

have been implemented based on it to reduce the computation loads for small devices [32, 33, 34, 35]. Besides, the integration between cloud computing and the IoT is rapidly

motivated by the benefits they bring when being combined. The unlimited 180

resources and computing capabilities of cloud computing are expected to com7

pensate for the technical constraints of the IoT devices. On the other hand, the IoT which highly promotes the connectivity and data exchange between heterogeneous objects can expand the scope of application domains and services for cloud computing [36]. The needs as well as challenges for a secure integra185

tion between these two technologies have been addressed and attracted interest from many researchers in different domains [37] such as mobile applications,

of

smart health care monitoring tools, smart home and smart city applications [38, 39]. Authors in [36] also addresses the security and privacy issues for such

190

ro

integration by constructing an architecture including a security “wall” installed

between the Cloud Server and the Internet. [40] proposes an anonymous mutual authentication to authenticate mobile users and the service providers using

-p

bilinear pairing without including the use of SSL. This scheme allows a mobile user to access a lot of services from various service providers through a single

195

re

private key in the mobile cloud computing atmosphere. [41] designs a protocol to address the authentication process between IoT gateways and mobile clients with pseudonym identities based on ECC. Wang et. al in [34] also propose an

lP

authentication protocol in which devices needed to register with a centralized server to create secret cookie data. The cookie data are then used in another authentication phase to generate a session key for the device’s current session with the server. In this study, the author pointed out the security holes in two

ur na

200

previous versions of this protocol [32, 33] and proposed potential enhancements. Also, the authors analyzed and proved their proposed protocol was resilient to different attacks. Meanwhile in the aspect of resource consumption, because this protocol is based on ECC and only uses simple operations like XOR, con-

205

catenation and hash functions, as well as requires to store not too much data

Jo

on devices’ ends. Due to those factors, it seems to be really suitable for the IoT environment. However, in their works, they only handled the authentication between devices and their servers, while communications among devices have been missing throughout the development of Wang et. al’s protocol. That is

210

the motivation for us to propose a new protocol.

8

3. Elliptic Curve Cryptography ECC is a type of public-key cryptography whose basement is the algebraic structure of elliptic curves over finite fields. ECC was first time introduced by Koblitz and Victor Miller individually in the middle of the 1980s. Comparing to 215

other types of public-key cryptography, ECC requires a shorter key length for

of

the same level of security. Table 1 shows the result of NIST (National Institute of Standards and Technology) about the security level of RSA/DSA and ECC

based on the key size. As we can see, ECC key size ratio comparing with

220

ro

RSA/DSA is much smaller. Smaller key size is more effective since it needs

fewer hardware resources and less memory for storage, so it does not cost a lot

-p

of arithmetic computations [42]. Besides, with quantum computing [43], RSA question is becoming easier to solve, ECC gains a higher trust in Cryptologist Community. Hence, ECC Cryptography is suitable to apply to the context of

225

re

IoT devices which usually have resource constraints and require a high level of security.

lP

The security of a cryptographic system is defined by the relative complexity of the mathematical problem it is based on. An algorithm is said to be secure if it cannot be solved in polynomial time. The security of ECC, in this case, depends on the complexity of the Elliptic Curve Discrete Logarithm Problem (ECDLP). ECLDP can be explained as follows: Giving a multiple P of Q, the

ur na

230

elliptic curve discrete log problem is to find k(k ∈ N), such that kQ = P . If the attacker somehow gets P and Q, it is impossible for him to calculate k if k is significantly large. k is the discrete logarithm of P to the base Q. An elliptic curve in ECDLP is a plane curve over a finite field which consists

of the points (x, y) satisfying the equation (1). The differences values of a and

Jo

235

b create different elliptic curves where:

y 3 = x3 + ax + b where 4a3 + 27b2 6= 0

9

(1)

Key size (bits) RSA/DSA

ECC

16:1

1024

160

10:1

2048

224

12:1

3072

256

20:1

7680

384

30:1

15360

521

of

Key size ratio

Table 1: Comparisons between RSA/ DSA and ECC based on key sizes for the same security

ro

levels.

-p

4. Motivation

How we can reduce the workload of the servers but also utilize it to keep the security level of the system is a big challenge and also our main concern. Embedded devices are not designed to handle complex computing tasks, so we need

re

240

a security solution that is both lightweight and efficient. Applying Standalone

lP

D2D in a smart system context, two devices have to first authenticate with each other to prevent every security defect from happening afterward. A smartphone of your neighbor should not be able to open the doors of your house. As a result, 245

we need to address an important problem: How a “thing” knows that the others

ur na

are “friends” and let them authenticate when the server is unreachable. This is the crucial motivation of this article. We will use Smart Home, the basic and major building block of implementing

the smart cities, as an example of this problem [44]. As in Figure 1, there are

250

some entities can be connected to a Smart Home system. The devices, in this

Jo

case, can be a smartphone, a smartwatch or even a car with embedded SoC allowing it to be “smart”. Basically, the main server of the house controls the authentication of devices as well as knows which device can join the system. Nevertheless, when the number of devices becomes big in the future, managing

255

many things can cause a high workload for the server and probably affect the network traffic. Moreover, when the server gets any problem and is out of

10

of ro

-p

Figure 1: Smart home network architecture

service, the whole organization will become unusable. Supposing that we have a PC acting as a server in our Smart Home system. When this PC is broken,

260

re

we cannot turn on the lights in the kitchen or open the garage door, since the connections to the controller have been lost. The more we are dependent on the

lP

server, the more serious your system gets when the server is attacked. DDoS attacks can make your Smart Home system come to a standstill. One of the possible solutions is to connect all the devices, so when the

265

ur na

servers are down, one of the remained things can act as a controller for the other devices. Figure 2 expresses our idea about an improved network architecture for a Smart Home system. We will utilize the server for complex algorithms only while restraining the server interference in devices’ connections. All the devices would have the ability to connect and authenticate with other devices within the smart home network via the help of the server in their initial phase. With our above example, if the PC is out of usage, the smartphone or tablet can act

Jo

270

as controllers because they have been registered with the kitchen lights and the garage door. As a result, security in this architecture is a huge problem while we are trying to connect a lot of things with each other. Many dangerous situations can happen if strangers try to open the garage door with their smartphones.

275

Without security, this architecture cannot be successful in the real world. We

11

need to make sure that illegal things are not able to join the network. In this research, we will propose a protocol that supports D2D authentication with the assistance of the centralized gateway server. Since there are two phases in a security scheme: registration and authentication, in our proposed scheme, after 280

registering with each other via help from servers, two devices can communicate with each other securely without the existence of server in the authentication

of

phase. Via this scheme, we expect to solve the issue about the dependence of

IoT devices on their servers to minimize the damage when the servers go down

285

ro

but still maintain the security of the whole smart systems.

In a more general context, according to [45] the first and foremost requirement for IoT systems is to supply the communication between devices. This is

-p

because devices are the main users in the IoT systems. And D2D automatic communication without any interruption from a centralized control is expected

290

re

to be the intrinsic part of the IoT [46]. In fact, D2D communication refers to the paradigm where direct connectivity between devices takes place without routing the data through other network architecture. These communications introduce

lP

several benefits such as high data transmission rate, reliable communications even when the network fails, energy-efficiency as devices use lower transmission power in close range [47]. D2D communication is also required to be secure to protect the data transmitted. Therefore, it is necessary to also provide mutual

ur na

295

authentication between devices.

5. Preview of Wang-Scheme In our protocol, we extend an existing scheme of Wang et al. [34], hereinafter

Jo

referred to as Wang-Scheme. Wang-Scheme improves a scheme introduced by

300

Kalra and Sood [32], which aims to authentication for resource-constrained devices in the IoT environment along with better security assurance. Understanding about Wang-Scheme is necessary before getting to our proposed protocol. Table 2 lists the notations used in Wang-Scheme. In their scheme, Wang et al. assume there is a trusted server and several devices Di (Di ∈ D) wanting

12

of ro

Figure 2: Improved Smart home network architecture

to connect to this server. X is the secret value that is only held by the server.

-p

305

There are also other public parameters such as two cryptographic hash functions

re

H and h, an elliptic curve E and a generator G on E. H maps an arbitrary string to a string lH -bit, while h maps an arbitrary string to a string lh -bit. G is an additive group on E and G is a generator of this group. Figure 3 describes two phases of Wang-Scheme. In the registration phase,

lP

310

when an embedded device needs to register with the server, it chooses a unique IDi and sends IDi to the server. After receiving the request from Di , the server

ur na

generates a random number Ri of length lH -bit then computes CKi , CKi0 , Ti ,

Ai and A0i as follow:

Jo

315

CKi = h(Ri k X k EXP T ime k IDi )

(2)

CKi0 = CKi × G

(3)

Ti = Ri ⊕ H(X)

(4)

Ai = h(Ri ⊕ H(X) k CKi0 )

(5)

13

of

Table 2: Description of the notations used in Wang-Scheme.

Description

Di

An embedded device registered in the system

D

The set of devices D = {D1 , D2 , ..., Di }

S

The server

A

The attacker

IDi

The identification of the device Di

H

A cryptographic hash function with an output of lH -bit

re

-p

ro

Notation

l

H = {0, 1}∗ → {0, 1} H

h

A cryptographic hash function with an output of lh -bit l

lP

h = {0, 1}∗ → {0, 1} h

G

An additive group implemented by an elliptic curve

G

A generator of the group G - a public parameter The expiry time of a particular device

ur na

EXP T ime

The server’s secret key

SK

A session key outputted at the end of a scheme

k

Concatenation operation



XOR operation

×

Linear multiplication with a point on the elliptic curve

Jo

X

14

A0i = Ai × G

(6)

CKi0 is then sent back to the device as a response from the server for the 320

registration phase. The server stores the values of {IDi , EXP T ime, Ti , A0i }, whereas the device stores the value of CKi0 . These values will be required in

of

the next phase when the authentication between the device and the server takes place.

In the authentication phase, the embedded device generates a lh -bit long

random number N1 . From N1 , P1 and P2 are calculated by (7) and (8), then

ro

325

-p

sent to the server for authentication.

(7)

P2 = H(P1 k N1 × CKi0 )

(8)

re

P1 = N 1 × G

Through EXP T ime, X and Ti , the server can recompute CK and use it

lP

to check if P1 and P2 are valid by computing P20 as (9) and comparing it to P2 . P20 = H(P1 k CKi × P1 )

In case P20 = P2 showing that they are valid, the server will randomly gen-

ur na

330

(9)

Jo

erate a long number N2 , and compute P3 and P4 as (10) and (11).

P3 = N2 × G

(10)

P4 = H(P20 k N2 × A0i )

(11)

With the calculated results, the server returns the value of {Ti , P3 , P4 } to

Di . Now, it is the turn of device to verify the server by reconstructing Ai .

335

Ai is calculated as (12) from CK 0 and Ti . If Ai is correct, then P40 which is

15

calculated as (13) will equal to P4 , and the process is continued. Otherwise, the authentication process fails when P4 and P40 have different values.

(12)

P40 = H(P2 k Ai × P3 )

(13)

of

Ai = h(Ti × CKi0 )

The device uses P3 and P40 to compute Vi and SKi as (14) and (15). Vi is afterwards sent to the server for crosschecking with computed Vi0 in (16). Vi is

ro

340

supposed to have the same value as Vi . If it does, the authentication process will accomplish. And SKi in (15) and SKi0 in (17) will be equal to each other.

-p

SKi then becomes the secret key between Di and the server for their current session. • On the device:

re

345

lP

Vi = H(P40 k N1 × P3 )

SKi = H(P3 k N1 × P3 )

ur na

• On the server:

(14)

(15)

Vi0 = H(P4 k N1 × P3 )

(16)

SKi0 = H(P3 k N2 × P1 )

(17)

Figure 3 describes the authentication process in Wang-Schene. This scheme

is demonstrated by the authors to be robust against different types of attacks

Jo

350

and suitable in the IoT context since it does not require a lot of CPU resources. The ECC-based mutual authentication protocol between devices and the server provides a safer authentication environment but also reduces the power intake for computations comparing with RSA. However, in this scheme the server con-

355

trols everything. Furthermore, all connections between devices must go through

16

it, which is not very efficient as we have stated. Therefore, in the next section, we introduce a new scheme which not only keeps the security but also reduces the dependence on servers in device cooperation of this protocol.

6. Proposed Scheme In this section, we present the complete authentication protocol between de-

of

360

vices in the IoT network, which is an extension of Wang-Scheme [34]. As we have stated in Section 5, Wang-Scheme is designed to resolve the security holes

ro

existing in its previous versions [34, 32] and is proved to be safe from various

attacks. On considering the idea of this protocol, we have been deeply inspired by its performance since most of the computations use low-cost operations such

-p

365

as exclusive-or (XOR), concatenation, hash function in the combination with ECC. Furthermore, devices using this protocol are also not required to store

re

too much data for authentication. However, they only proposed mutual authentication between registration servers and devices, while such authentication between end-devices was ignored in Wang-Scheme as well as its previous works.

lP

370

In fact, communications between end-devices happen very often especially in the IoT context, thus they should be treated as seriously as those between them and servers. Our proposed protocol aims to fill this gap while preserving the

375

ur na

advantages of computation and storage efficiency of the original protocols. 6.1. An overview of network entities IoT systems consist of various kinds of components highly connected to

each other in which all components can communicate and interact with each other. These components are very diverse ranging from large devices like servers,

Jo

household devices, cars, gateways, etc. to small ones such as smartphones or

380

sensors. Our proposed protocol is partially based on the centralized management model for the connection, authentication and access control among IoT devices. Therefore, despite the fact that they are different in term of functions, resource constraints and sizes, those IoT components are represented by two main types of entities in our protocol: 17

Device Di

Server S

REGISTRATION Choose a unique ID IDi Request to register with ID

i −−−−−−−−−−−−−−−−−−−−− →

Generate a random lH − bit string Ri CKi0 = CKi × G Ti = Ri ⊕ H(X)

of

CKi = h(Ri k X k EXP T IM Ei k IDi )

ro

Ai = h(Ri ⊕ H(X) k CKi0 ) A0i = Ai × G

Store {Ai , Ti , IDi , EXP T imei } CKi0

Store

-p

←−−−−−−−−−−−−−−−−−−−−− {IDi , CKi0 }

Generate a random N1 ∈ [2, 2lh ] P1 = N1 × G

lP

P2 = H(P1 k N1 × CKi0 )

re

LOGIN AND AUTHENTICATION

ID ,P1 ,P2

ur na

−−−−−−−−−−i−−−−−−−−−−−→ Reconstruct CKi using stored Ti , EXP T imei and secrect X Generate a random N2 ∈ [2, 2lh ]

P20 = H(P1 k CKi × P1 ), abort if P20 6= P2 P3 = N2 × G T ,P3 ,P4

←−−−−−−−−i−−−−−−−−−−−−−

P4 = H(P20 k N2 × A0i ) Ai = h(Ti k CKi0 )

P40

= H(P2 k Ai × P3 ), abort if P40 6= P4

Jo

Vi = H(P40 k N1 × P3 )

SKi = H(P3 k N1 × P3 ) V

i −−−−−−−−−−−− −−−−−−−−−→

Vi0 = H(P4 k N2 × P1 ), abort if Vi0 6= Vi SKi0 = H(P3 k N2 × P1 )

Figure 3: The authentication scheme proposed by Wang et al.

18

385

• Trusted servers: The centralized servers which are responsible for storing, managing, authenticating and controlling access of devices within their systems. Our study works with the assumption that those servers are trustful and well-protected that it is very hard for attackers to compromise their security or cause any data leakage. • Devices: Other components controlled and managed by the servers are

of

390

devices. Although these devices may vary in their size and character-

istics as mentioned, in this research, we mainly focus on ones with low

ro

computational and storage capabilities, as well as limited energy capacity.

In fact, concentrating the control on just some centralized trusted servers brings many advantages in the context of IoT systems. In fact, servers have

-p

395

great capabilities of computation and storage while not being limited to their

re

power consumption. Therefore, having these servers store most of the data and handle complicated computations will reduce the workload on other devices in the system. The existence of these centralized servers also helps the whole system quickly employ complex management policies such as access control or the

lP

400

privileges provisions for devices and users. Those advantages of the centralized model greatly outweigh other models, which have inspired us to continue

ur na

developing the protocol based on it. 6.2. Protocol description

405

The proposed authentication protocol consists of three main phases as rep-

resented in Figure 4:

Jo

• Phase 1: Registration

This is the very first step for every device when joining the system. Its purpose is to register a device’s identity with the server. At the end of this

410

phase when the server completes calculating and storing its authentication data, the device will be responded with a secure cookies data used for later authentication phases.

19

of ro -p re lP ur na Jo

Figure 4: Three phases of the authentication protocol.

20

• Phase 2: Authentication between the servers and device The authentication process happens before devices can start their connections with the 415

rest of the network, which is firstly between them and the servers. In this phase, the device presents its credentials, i.e. its cookies data, to the server. The server then verifies those credentials of the devices to know if it is allowed to connect. Simultaneously, the device also needs to be

420

of

guaranteed that it is actually connecting to the true server. That is why by the end of this phase valid devices and the server should be mutu-

created.

-p

• Phase 3: Authentication between two devices

ro

ally authenticated by each other and their common session keys will be

As communications among devices happen more often than between them 425

and the servers in IoT systems, they also need to be mutually authen-

re

ticated by each other before making communications. The goal of this phase is similar to the second phase, that is, their identities are verified,

changed. 430

lP

and common session keys are created for later securing the messages ex-

The protocol in Phase 1 and Phase 2 is kept the same as the original pro-

ur na

tocol which we have described in Section 5 and Figure 3. In this article, we integrate and extend the original protocols with Phase 3, when two devices

mutually prove their authenticity with each other. This is also the main contribution of this work. Hence, for the sake of easy understanding, in this article we

435

keep the notations almost the same as those of the original protocol shown in Table 2 so that readers can better follow up. The subsequent description of our

Jo

scheme will be based on the case study, that is, after completing Phase 1 and Phase 2, the two devices, let us say D1 and D2 , have successfully authenticated with the server S, and with the session keys SK1 and SK2 respectively gen-

440

erated. Next, they want to start a new connection between them to exchange some data. Providing that the connection request is first coming from D1 , the authentication process between them in Phase 3 will be as follows. 21

• Step 1: To prepare for the authentication request with D2 , D1 generates a random number N1 of lh -bit. N1 is then used to compute P1 and P2 as

P1 = N 1 × G

(18)

N10 = N1 .h(SK1 )

of

(18), (19) and (20).

P2 = H(P1 k N10 × G)

(19)

ro

445

(20)

-p

• Step 2: P1 , P2 and ID1 , are sent from D1 to D2 in a connection request. When D2 receives this request, it generates another random nonce having 450

the same length with N1 (lh -bit). Using this nonce, D2 computes P3 as

re

(21).

P3 = N 2 × G

(21)

lP

Next, D2 asks the server to verify the connection request of D1 by forwarding this request plus the value of P3 to the server. As we know, after completing Phase 2 each device is authenticated by the server and a common session key is generated at the end of that phase. Hence, all

ur na

455

later messages between devices and the server will be encrypted with their session keys in order to guarantee their security by preventing overhearing and tampering. Such encrypted communications are denoted by Enc() as

shown in Figure 5.

• Step 3: When the server receives the message from D2 , it first retrieves

Jo

460

the information about D1 and D2 from its database to check whether they are having the permissions for communicating with each other or not. In detail, the server needs to check and make sure the following statements are true.

22

– D1 and D2 have been successfully authenticated with the server and

465

their sessions have not been expired yet. – D1 and D2 are permitted to connect and communicate with each other. Please note that in this proposed scheme, we only consider the minimum requirements that allowed any two devices to connect. Further constraints

of

470

can be added depending on the security requirements of particular systems. If both of the above statements are true, the server will use P1 and

ro

its stored session key SK1 with D1 to compute P20 as (22). This value should be equal to the received value of P2 as shown in the proof (23).

-p

P20 = H(P1 k h(SK1 ) × P1 )

re

Proof:

(22)

P20 = H(P1 k h(SK1 ) × P1 )

lP

= H(P1 k h(SK1 ) × (N1 × G)) = H(P1 k (h(SK1 ).N1 ) × G) = H(P1 k N10 × G)

475

(23)

ur na

≡ P2

Comparing P2 and P20 , the server will abort the authentication process between the two devices if these values do not equal to each other. Otherwise, it calculates P4 as in (24), then encrypts it with SK2 before sending it back to D2 so that the two devices can continue generating the common

Jo

cryptographic key between them.

480

P4 = H(P3 k h(SK1 ) × P1 )

(24)

• Step 4: On receiving the value instead of an aborting message from the server, D2 is guaranteed that the connection request is truly generated by

23

D1 . Therefore, D2 generates an expiry time EXP T ime12 , sends P3 and P4 to D1 , then continues to calculate the common session key between them by (25). SK12 = H(P1 k N2 × P1 ) 485

(25)

However, D2 will not store this session key to its database until it receives

of

a final confirmation from D1 when it is sure that the two devices have been able to generate the same session key themselves. The reason for this final confirmation will be explained in the next steps.

490

ro

• Step 5: When receiving the response from D2 , D1 needs to verify if it is truly D2 (but not an adversary) it is talking to. In order to do this, D1

-p

re-computes P40 by (26) and compares the result with the value P4 received from D2 . The fact that only the server having the ability to generate P4

re

(with SK1 ) then securely sending this value to D2 guarantees that D2 is not impersonated by any adversary. As a result, D1 can now authenticate 495

D2 .

Proof:

lP

P40 = H(P3 k N10 × G)

(26)

ur na

P40 = H(P3 k N10 × G) = H(P3 k (N1 .h(SK1 )) × G) = H(P3 k h(SK1 ) × (N1 × G)) = H(P3 k h(SK1 ) × P1 ) ≡ P4

(27)

Jo

The common session key SK21 with D2 is calculated by (28). We can see that SK21 should equals SK12 as N1 × P3 ≡ N2 × P1 ≡ (N1 .N2 ) × G. After achieving the common session key, D1 sends the encryption of P1 by the key SK21 to D2 . Similarly, D1 chooses an expiry time EXP T ime21 .

500

It completes the authentcation process after storing ID2 , EXP T ime21

24

and SK21 to its memory. SK21 = H(P1 k N1 × P3 )

(28)

• Step 6: D2 receives the confirmation from D1 . It then decrypts the confirmation message with the key created in Step 4. If P1 can be achieved from the decrypted message, D2 finally updates ID1 , the key SK12 and the expiry time EXP T ime12 to its storage. This final step is necessary

of

505

because any hacker can capture a connection request from D1 and replay

ro

it afterwards. If D2 does not wait for this final confirmation, it may mistakenly update an invalid session key and the current secure connection with D1 will be corrupted. Hence, the final confirmation from D1 will help to avoid such replay attack.

-p

510

We can see that the protocol is designed to achieve another important prop-

re

erty: Only the two devices know the common session key between them. It is true that even the server who supports their mutual authentication cannot

515

lP

compute this session key. In fact, this brings many advantages from the perspective of security and privacy, which will be further discussed and analyzed in Section 7. We also note that any message in this phase is associated with

ur na

a timeout to prevent any long delay. If any message is expired before the authentication process completes, the protocol will be terminated and the process will be then considered as failed. Figure 5 summarizes the whole process of this

520

phase.

7. Security analysis

Jo

In this section, we prove that our proposed authentication protocol is secure

and resilient to different attacks by conducting a thorough security analysis of the scheme. Our work includes a formal security analysis with Burrows-

525

Abadi-Needham Logic (BAN-logic) as well as an informal analysis to prove the resilience of the proposed scheme to different popular attacks. The analysis mainly focuses on Phase 3 in which two devices mutually authenticate each 25

Device D1

Device D2

Server S

Generate a random nonce: N1 ∈ [2, 2lh ] N10 = (N1 h(SK1 )) × G P1 = N1 × G

of

P2 = H(P1 k N10 )

P ,P ,ID

Generate a randon nonce:

-p

N2 ∈ [2, 2lh ]

ro

1 2 1 − −−−−−−−−− −−−−−− −−−−−−− →

P 3 = N2 × G

SID2 ,{P1 ,P2 ,P3 ,ID1 }SK

lP

re

2 − −−−−−−−−−−−−−−−−−−−−− − →

?

P20 = H(P1 k h(SK1 ) × P1 ) = P2 P4 = H(P3 k h(SK1 ) × P1 )

{P3 ,P4 }SK

← −−−−−−−−−−−−−−−2−−−−−−− −

P ,P

ur na

3 4 ← −−−−−−−−−−− −−−−−−−−−−− −

?

P40 = H(P3 k N10 ) = P4

SK12 = H(P1 k N1 × P3 )

Store {SK12 , ID2 , EXP T ime12 }

M ={P1 }SK

Jo

− −−−−−−−−−−−−−−−12 −−−−−−− →

SK21 = H(P1 k N2 × P1 )

Store {SK21 , ID1 , EXP T ime21 } if M can be decrypted with SK21

Figure 5: Representations of the authentication protocol between two devices with the support of the centralized server.

26

other. The security proofs for Phase 1 and Phase 2 (Registration and DeviceServer Authentication) should be referred to [34]. 530

7.1. Formal analysis We present a formal analysis of our proposed protocol with the BAN-logic [48]. BAN-logic has been widely known and applied to formally prove the cor-

of

rectness of mutual authentication and key agreement protocol. Hence, our goal for this analysis is to prove our proposed scheme can successfully achieve the 535

mutual authentication and session key agreement between participants. Before

ro

going into the details, we briefly describe the basic notations as well as the

7.1.1. BAN-logic overview a) Notations. • P |≡ X: P believes that X holds.

re

540

-p

logical postulates of BAN-logic.

• P / X: P sees the formula X.

lP

• P ⇒ X: P has jurisdiction over X, which means P has completely control over the formula X.

545

ur na

• P |∼ X: P once said X. The principal P at some time sent a message including the statement X.

• #(X): The formula X is fresh, that is, X has not been sent in a message at any time before the current run of the protocol. K

• P ← → Q: P and Q share a secret key K. P and Q can use K to commu-

Jo

nicate with each other and it is only known to them. K

550

• 7−→ B: P has K as a public key. The corresponding secret key (the inverse of K, denoted K −1 ) will never be discovered by any other principal. X

− B: The formula X is a secret known only to P and Q, and possibly • A( −+ to principals trusted by them. Only P and Q may use X to prove their identities to one another. 27

555

• {X}Y : Encryption of X with key K. • hXiY : This represents X combined with the formula Y ; it is intended that Y be a secret, and that its presence proves the identity of whoever utters hXiY . • αX : The elliptic curve multiplication by an integer X. b) Logical postulates of the BAN logic.

of

560

• The message meaning rule for shared key:

ro

K

R1 :

P |≡ Q ← → Q, P / {X}K P |≡ Q |∼ X

-p

• The message meaning rule for public key: K

P |≡7−→ Q, P / {X}K −1 P |≡ Q |∼ X

re

R2 :

• The message meaning rule for shared secret: Y

P |≡ Q |∼ X

lP

R3 :

( − Q, P / hXiY P |≡ P − +

• The nonce verification rule:

P |≡ #(X), P |≡ Q |∼ X P |≡ Q |≡ X

ur na

R4 :

• The belief rules:

R5 :

P |≡ Q |≡ (X, Y ) P |≡ (X, Y ) , R6 : P |≡ X P |≡ Q |≡ X

• The said rule:

Jo

R7 :

P |∼ (X, Y ) P |∼ (X, Y ) , R8 : P |∼ X P |∼ X

• The see rule: K

R9 :

P |≡ P ← → Q, P / {X}K P / (X, Y ) , R10 : , P /X P /X K

R11 :

P |≡ 7−→ P, P / {X}K P /X 28

• The fresh promotion rule: R12 :

P |≡ #(X) P |≡ #(X) , R13 : P |≡ #(X, Y ) P |≡ #(αX )

• The random rule: P choose random X A |≡ #(X)

• The jurisdiction rule: P |≡ Q ⇒ X, P |≡ Q |≡ X P |≡ X

ro

R15 : • The session key rule:

P |≡ #(k), P |≡ Q |≡ X

-p

R16 :

k

P |≡ P ← →Q

re

in which with X the necessary elements for a key is meant. 7.1.2. Device-Device authentication (Phase 3)

lP

• Goals: SK

12 Goal 1. D1 |≡ D1 ←−−→ D2 565

SK

ur na

12 Goal 2. D1 |≡ D2 |≡ D1 ←−−→ D2

SK

12 Goal 3. D2 |≡ D1 ←−−→ D2

SK

12 Goal 4. D2 |≡ D1 |≡ D1 ←−−→ D12

Jo

570

• Idealized messages:

M1 : D1 → − D2 : αN1 , hαN1 iSK1

575

of

R14 :

M2 : D2 → − G : {αN1 , hαN1 iSK1 }SK

2

29

M3 : S → − D2 : {αN2 , hαN1 , αN2 iSK1 }SK

2

M4 : D2 → − D1 : αN2 , hαN1 , αN2 iSK1 580

of

M5 : D1 → − D2 : {αN1 }SK12

• Assumptions: SK

ro

1 S A1 : D1 |≡ D1 ←−→ 585

SK

-p

1 −− − − A2 : D1 |≡ D1 ( S −− +

SK

SK

590

2 −− − − A4 : D2 |≡ D2 ( S −− +

SK

SK

lP

1 A5 : S |≡ D1 ←−→ S

re

2 A3 : D2 |≡ D2 ←−→ S

595

ur na

1 −− − − A6 : S |≡ D1 ( S −− +

SK

2 A7 : S |≡ D2 ←−→ S

SK

2 −− − − A8 : S |≡ D2 ( S −− +

A9 : D1 |≡ D2 ⇒ N2

Jo

600

A10 : D1 |≡ D2 ⇒ αN2

A11 : D2 |≡ D1 ⇒ N1

605

30

A12 : D2 |≡ D1 ⇒ αN1

A13 : If D1 |≡ S |≡ X then D1 |≡ D2 |≡ X. This assumption comes from the public knowledge of the network about the server S’s control in the D2D authentication process.

of

610

• Verification:

S1 : D1 |≡ N1

-p

615

ro

(1) From the fact that D1 generates N1 we get:

S2 : D1 |≡ #(N1 ) 620

lP

(3) We apply R13 to S2 to get:

re

(2) We apply R14 to the fact that D1 chooses a random nonce N1 to derive:

S3 : D1 |≡ #(αN1 )

625

ur na

(4) From the fact that D2 generates N2 we get:

S4 : D2 |≡ N2

(5) We apply R14 to the fact that D2 chooses a random nonce N2 to derive:

S5 : D2 |≡ #(N2 )

Jo

630

(6) We apply R13 to S5 to derive: S6 : D2 |≡ #(αN2 )

635

31

(7) From M4 we get: S7 : D1 / (αN2 , h(αN1 , αN2 )iSK1 )

640

(8) We apply R9 to S7 to derive:

of

S8 : D1 / h(αN1 , αN2 )iSK1

ro

(9) Applying R3 to A2 and S8 we get: 645

650

S10 : D1 |≡ #(αN1 , αN2 )

re

(10) Applying R12 to A2 and S3 we get:

-p

S9 : D1 |≡ S |∼ (αN1 , αN2 )

lP

(11) We apply R4 to S9 and S10 to derive: S11 : D1 |≡ S |≡ (αN1 , αN2 )

ur na

655

(12) We apply R5 to S11 to derive:

S12 : D1 |≡ S |≡ αN1

S13 : D1 |≡ S |≡ αN2

Jo

660

(13) With A13 , S12 and S13 , we have: S14 : D1 |≡ D2 |≡ αN1

665

32

S15 : D1 |≡ D2 |≡ αN2

(14) We apply R16 to S15 and A10 to derive:

670

S16 : D1 |≡ αN2

of

(15) From S16 and S2 we derive: (as SK12 = H(αN1 k αN1 N2 ))

-p

(16) We apply R16 to S17 and S15 to derive:

ro

S17 : D1 |≡ #(SK12 )

675

SK

re

12 S18 : D1 |≡ D1 ←−−→ D2 (Goal 1)

(17) We apply R6 to S15 to derive:

S19 : D1 |≡ D2 |≡ N2

lP

680

ur na

(18) From S14 and S19 we derive: SK

12 S20 : D1 |≡ D2 |≡ D1 ←−−→ D2 (Goal 2)

685

(19) As the protocol takes advantage of the ECDLP and ECDHP, we can

derive the following statements to support the further process of deriving belief

Jo

of D1 and D2 :

690

αN1 N2

( −− −− − − D2 S21 : D1 |≡ D1 − − + αN1 N2

−− −− − − D2 S22 : D2 |≡ D1 ( −− +

33

(20) M5 can be rewritten as: 695

M50 : D1 → − D2 : hαN1 , αN2 iαN1 N2 (21) From M50 we have: S23 : D2 / hαN1 , αN2 iαN1 N2

of

700

ro

(22) We apply R3 to S22 and S23 to derive:

705

S25 : D2 |≡ #(αN1 , αN2 )

(24) We apply R4 to S24 and S25 to derive:

lP

710

re

(23) We apply R12 to S6 to derive:

-p

S24 : D2 |≡ D1 |∼ (αN1 , αN2 )

ur na

S26 : D2 |≡ D1 |≡ (αN1 , αN2 )

(25) We apply R6 to S26 to derive:

715

S27 : D2 |≡ D1 |≡ αN1

Jo

S28 : D2 |≡ D1 |≡ αN2

720

(26) We apply R1 5 to S27 and A12 to derive: S29 : D2 |≡ αN1

34

(27) From S16 and S2 we derive: (as SK12 = H(αN1 k αN1 N2 )) 725

S30 : D2 |≡ #(SK12 )

(28) We apply R1 6 to S2 7 and S30 to derive: SK

12 D2 (Goal 3) S31 : D2 |≡ D1 ←−−→

of

730

ro

(29) We apply R6 to S15 to derive:

-p

S32 : D2 |≡ D1 |≡ N1 735

SK

re

(30) From S28 and S32 we derive: 12 S33 : D2 |≡ D1 |≡ D1 ←−−→ D2 (Goal 4)

740

lP

7.2. Informal analysis 7.2.1. Security properties

• Mutual authentication: As shown in our proposed protocol, each device

ur na

is able to authenticate the identity of the other. Therefore, the mutual authentication is achieved with this scheme.

• Confidentiality: Confidentiality refers to the cipher algorithm and key

745

agreement, and confidentiality of private device data. These demands are successfully fulfilled in the proposed protocol. At the end of Phase 3, two

devices agree on a common session key for securing their further conversa-

Jo

tions. Despite private data of devices being used during the authentication phase, the protocol still guarantees the confidentiality of such data with

750

the use of random nonces for each run and final wrappers with hash functions. This way even if an attacker captures the data (P2 , P4 ) while being transmitted, it can neither re-use nor derive the actual secret session keys wrapped inside. 35

• Perfect forward/backward secrecy: In our proposed protocol, each session 755

is computed from random numbers generated at each device. Hence, the keys are random and not the same for different sessions. These properties help us avoid attackers from guessing keys of other sessions when they have one. Also, they cannot use this key to decrypt messages of different

760

to provide the perfect forward/backward secrecy property. 7.2.2. Resistance to attacks

of

sessions in neither the past nor the future, which proves our scheme is able

ro

• Replay attack: In this attack model, attackers capture and store the messages exchanged between two devices to later repeat these messages. This

765

-p

way, attackers may fool their victims to treat those messages as valid and successfully impersonate someone else. For example in Phase 3, an attacker can capture the first connection request from D1 to D2 . After a

re

while, it tries to re-send this message to D2 to make D2 believes that D1 is requesting another connection session. This replayed message success-

770

lP

fully bypasses the verification of the server, because the server can only check if the packet was generated by D1 but cannot check if it was actually sent from this device in the current run. However, such attempts

ur na

of attack would fail at the next step when P3 and P4 are responded to the attacker. The attacker does not hold the corresponding nonce of the replayed message so it cannot compute the new session key between the

775

two devices. For D2 , when receiving the response from the server, it does

not immediately update the computed session key but waits for a confirmation from D1 . When the timeout for this confirmation is reached, the

Jo

authentication process at D1 will be aborted.

• Impersonation attack: In this case, attackers send connection requests

780

with the identities of other devices to impersonate them. Thanks to the support of the server, attackers who do not hold the right session key cannot generate a valid message (P2 ). Therefore, they fail to attack D2 by impersonating D1 using its identification. 36

• Stolen session key attack (agent compromised): This attack happens when 785

attackers steal the session key of a device. With the stolen key, the attackers can only read the messages sent in the corresponding session of this device. They cannot deduce or re-compute any private information about their victims such as CKi0 or their session keys with other devices or servers. • Stolen-Verifier attack: The proposed protocol is against attacks of inter-

of

790

nal users in the system. For attackers who are some other devices, they

ro

cannot impersonate or access the private information of another device as discussed in the previous attacks. In case attackers are some of the

795

-p

administrators who control the server, their administrative privileges may become a serious issue. Indeed, authentication models with centralized servers playing key-distributing roles usually face the same problems of

re

privacy. Since those servers control the session keys of every device, they can access and read all messages transmitted in the system. As a result,

800

lP

those systems failed to guarantee users’ privacy. The proposed protocol tries to avoid this issue by only granting the server a support role in the authentication process between devices. In other words, the server cannot compute the final session key between the two devices because it cannot

ur na

recover the values of N1 and N2 , which are freshly generated and only known by D1 and D2 respectively. Therefore, communications between

805

devices remain safe even when the server database is leaked.

• Offline dictionary attack: In this type of attack, the attacker will try to capture the messages between stack holders and try to guess the sensitive

Jo

information in them. In our model, we use N1 and N2 , which are random numbers generated in every authentication session, to generate the session

810

key. We do not use any sensitive information or meaningful phrase such as password, hence, our proposed protocol is safe with this kind of attack.

• Brute force attack: In order to make this attack successful, attacker must guess the correct N1 and N2 via P1 , P2 , P3 and P4 . Even when he can 37

get these values, he cannot have the session key SK1 and SK2 between 815

D1 and D2 with the server. Hence, this attack is not applicable in our protocol. • Man-in-the-middle attack: This is an attack where the attacker secretly relays and possibly changes the messages in communication between two

820

of

devices which believe they are directly communicating with each other.The malicious users may be able to capture P1 , P2 , P3 and P4 by eavesdropping.

However, without N1 and N2 , there is nothing attacker can do, since in

ro

ECC cryptography, we can prove that guess N1 from P1 = N1 × G is

-p

impossible.

Table 3: Security comparisons with the previous scheme.

Ours

Wang-Scheme

X

D2D authentication

X

Resistance to replay attack

X

X

Resistance to impersonation attack

X

X

Resistance to known session key attack

X

X

Resistance to offline dictionary attack

X

X

Resistance to stolen-verifier attack

X

X

Resistance to man-in-the-middle attack

X

X

ur na

Mutual authentication

lP

re

Property

X

Table 3 summarizes the security offered by the proposed scheme in com-

parison with the previous work. The above analysis proves that the proposed

Jo

825

protocol is resistant to different kinds of attacks while providing data integrity as every modification in transferred messages will cause the authentication process to be terminated. The model also provides the final important result that is the mutual authentication between devices.

38

830

8. Performance Analysis While making sure the proposed protocol is able to survive different attacks, another important aspect to be analyzed is the performance of its energy consumption. As we have emphasized our point throughout the article, schemes designed for IoT must be suitable for devices with very constrained power. A protocol will fail in practice if it cannot prove itself to be such designs. The

of

835

analysis will mostly focus on end devices, which are supposed to be resource-

ro

constrained objects. 8.1. Base-scheme D2D authentication

840

-p

We remind that the proposed scheme is an extension to [34], i.e. the basescheme, in which an additional phase for D2D authentication is provided. Therefore, to analyze the performance of this additional phase comparing to the base-

re

scheme, we assume that there is an approach to D2D authentication in this scheme by simply applying the protocol on the two devices exactly the same as

845

lP

the authors of [34] do on a device and the centralized server. In other words, in the third phase, one of the two devices now plays the role of the server in the second phase. It also means this device will have to take every operation the servers needs to take to authenticate the other device. For this scenario, the

ur na

requested device (D2 ) will play the role of the server.

8.2. Computational costs

850

We first analyze the cost for computations used in the proposed authentica-

tion protocol by each devices. Three operations to be evaluated for the scheme are hash, elliptic curve point multiplication and encryption/decryption with

Jo

symmetric session keys. We define the cost of hashing operation as Th , multipli-

cation operations on elliptic curves as Te and symmetric encryption/decryption

855

as Ts . So for Phase 2, the computational overheads are the same for both proposed scheme and the base-scheme [34], which are correspondingly TiII =

5Th + 5Te for the device and TSII = 4Th + 3Te for the server.

39

Similarly, with the proposed scheme the computational overheads in Phase 3 are T1III = 4Th +3Te +4Ts for D1 . The value of 4Ts , i.e. 4 encryption/decryption 860

operations, comes from the assumption of using the symmetric cryptography with 128-bit key size. In this phase D1 needs to encrypt {P1 } in the last verification message by its newly established session key with D2 . As P1 is 442-bit long corresponding to 4 blocks of data to be encrypted, the number

865

of

of encryption/decryption operations taken by D1 in Phase 3 is then 4. The same explanation can be given for the values of 14Ts consumed by both D2

ro

and the server, giving their computational costs of T2III = Th + 2Te + 14Ts

and TsIII = 4Th + 2Te + 14Ts respectively. With regard to the simple approach to D2D authentication by [xx] as described in Section 8.1, the corresponding

870

-p

values can be derived from the values calculated for Phase 2. All computational costs for every entity in each scheme are summarized in Table 4. Table 4 shows

re

that for D2D authentication, the numbers of hashing and elliptic curve multiplication operations taken by are the same for the two schemes for D1 , while there is a significant difference for D2 as in Wang-Scheme more operations are

875

lP

needed for this device. On the other hand, devices in the proposed scheme need to take some additional symmetric encryption/decryption operations which are

ur na

not required in Wang-Scheme. [34]. 8.2.1. Energy consumption

In order to further analyze the computation costs of both protocols, we now

calculate the costs in terms of energy consumption for each one. As the proposed

880

protocol uses different cryptographic algorithms including hashing, elliptic curve cryptography and symmetric cryptography, which have many options, we first

Jo

choose specific configurations for such algorithms that will be used throughout the following analysis. The hash function SHA-1 is chosen for hashing operations. For the elliptic curve, a strong and secured variant for which ECDLP and

885

ECDH are believed to hold - Curve m-221, is used. (29) presents the equation of this curve. The order of G is thus 221-bit, i.e lh is 221-bit. Symmetric encryption/decryption is supposed to use AES with 128-bit key size in ECB mode.

40

Di

Operation

Proposed protocol

Wang-Scheme

Th

5

5

0

0

Ts

Device-Server

Te

authentication

Th

D1

D2

ur na

D2D

5

5

4

4

0

0

Te

3

3

Th

4

5

Ts

4

0

Te

3

5

Th

1

4

Ts

14

0

Te

2

3

Th

3

Ts

14

Te

1

re

Ts

lP

Server

authentication

Jo

Server

ro

Device

-p

Phase

of

Table 4: Computational cost comparison between the proposed scheme and the base-scheme.

41

N/A

Table 5 summarizes the configurations on these cryptographic algorithms. The device is assumed to be used is Tmote Sky (also known as TesloB). Table 5 890

also presents the energy consumption estimated for operations taken in both schemes. According to the results in [49], SHA-1 consumes 57 µJ per operation. An Elliptic Curve Diffie-Hellman operation consumes only 9.48 µJ [34]. And encryption and decryption with AES need only 9 µJ for each operation

of

with 128-bit data [47]. y 2 = x3 + 117050x2 + x mod p221 − 3

ro

(29)

-p

Table 5: Summary of energy consumption per operation.

Description

Energy consumption (µJ)

Th

Hash operation with SHA-

57

1 Ts

Symmetric

re

Notation

encryp-

9

lP

tion/decryption with AES per 128-bit block Te

Elliptic curve multiplica-

9, 480

895

ur na

tion using Curve M-221

The estimations of the data length to be encrypted and transmitted are

presented in Table 6. These estimations will be used to calculate the number of encryption/decryption operations performed. Table 7 shows the energy consumption comparison between the enhanced scheme and [34]. A device in

Jo

Phase 1 with the proposed scheme consumes the same energy amount of 47,685

900

µJ as Wang-Scheme. In Phase 2, i.e. D2D authentication, the proposed scheme shows a difference in performance between two devices taking part in it. D1 , i.e. the initiating device, needs to take 4 hash operations, encryption on 4 blocks of 128-bit and 3 elliptic curve multiplication operations. The higher number of multiplication operations results in higher energy consumption, which is 28,704

42

ID1 , ID2

< 64-bit

N1 , N2

221-bit

P1 , P3

442-bit

P2 , P4

128-bit

EXP T ime

64-bit

SK1 , SK2

128-bit

Message {ID1 , P1 , P2 }

6 blocks of 128-bit

Message {ID1 , P1 , P2 , P3 }

9 blocks of 128-bit

Message {P4 }

1 block of 128-bit

Message {P1 }

4 blocks of 128-bit

-p

ro

Length

µJ approximately. Comparing with D2 , i.e. the requested device, it needs 1

re

905

Data

of

Table 6: Data length of variables and messages exchanged.

hash operation, encryption/decryption operation on 14 data block of 128-bit

lP

referred from Table 6, and 2 multiplication operations on the elliptic curve. As a result, the requested device D2 only consumes 19,143 µJ. The difference in energy required for each device in this phase shows an interesting property: the 910

requested device needs to spend considerably fewer resources for processing an

ur na

authentication request from the initiating device. In fact, this property is an advantage in the scenario of a DDoS attack, in which an attacker attempts to overwhelm the target with a huge number of invalid requests. In those cases, we do not want the target device to waste too much energy resources on pro-

915

cessing those requests before the attack is detected, which can be provided by

Jo

the D2D authentication phase. On the other hand, the corresponding values for such devices with Wang-Scheme are 47,685 µJ and 28,668 µJ, showing that our proposed scheme can achieve more efficient energy consumption. Figure 6 clearly displays this enhancement.

43

Table 7: Energy consumption comparisons.

Device-Server

Di

authentication

D1

Operation

Proposed protocol

Wang-Scheme

Th

5

5

Ts

N/A

N/A

Te

5

5

Total (µJ)

47, 685

Th

4

Ts

3

5

28, 704

47, 685

1

4

14

0

Te

2

3

Total (µJ)

19, 143

28, 668

authentication

Th

ur na

lP

re

Ts

-p

Total (µJ)

40,000

5 0

D2D

50,000

47, 685

4

Te

D2

of

Device

ro

Phase

µJ

30,000 20,000

Jo

10,000 0

Proposed protocol

Wang-Scheme

Device 1 (D1 )

Device 2 (D2 )

Figure 6: Energy consumption required by the schemes for D2D authentication phase.

44

920

8.2.2. Processing time We also set up the experiments to measure the processing time taken by each device using the proposed protocol. The implementation was written in Python and was run on Intel i5-8250U, CPU 1.60GHz × 8. The average processing time of devices in the protocols are summarized in Table 8. We also show the

925

comparison between the schemes, especially in the D2D phase, by Figure 7. The

of

results show that in both protocols it takes a device only 0.522s approximately

to do all the operations needed for the authentication with the server. The

ro

authentication between devices takes a little less time, which is 0.427s for the initiating device (D1 ) and 0.225s for the responding device (D2 ) when using our 930

proposed scheme. Meanwhile with [34] it takes a bit longer for the two devices,

-p

i.e. 0.522s for D1 and 0.497s for D2 .

re

Table 8: Processing time of devices in seconds.

Device

Proposed protocol

Wang-Scheme

Device-Server

Di

0.522s

0.522s

authentication

Server

0.497s

0.497s

D1

0.417s

0.522s

D2

0.225s

0.497s

D2D

ur na

authentication

lP

Phase

8.3. Storage requirement

Regarding the storage needed, each device needs only spaces to store a ses-

sion key (128-bit length) for each device it communicates with. In addition, an expiry time (64-bit) may also be stored for the session. For those reasons, our

Jo

935

enhanced protocol successfully preserves the advantages of the original one as most of the data needed for authentication are stored at the server, which will lower the storage burden at the device end.

45

50,000 40,000

µJ

30,000

of

20,000

ro

10,000 0

Wang-Scheme

Device 1 (D1 )

Device 2 (D2 )

-p

Proposed protocol

re

Figure 7: Processing time required by the schemes for D2D authentication phase.

9. Conclusions and Future Work

The rapid development of Smart Home, Smart City and many other domains

lP

940

of the IoT has proved itself as an important part of the future of the Internet. The IoT unique nature introduces new challenges to security requirements,

ur na

which are much different from previous technology trends. In this article, we have addressed this issue by introducing a new authentication scheme allowing

945

both device-to-server and device-to-device communications in IoT systems. If a device gets the approval from its control server to be a part of the system, this server will support it in authenticating with other devices. When the authentication process completes, two devices can communicate without the participation

Jo

of their server. It is essential to not only reduce the workload of the servers

950

but also to restrain the server-dependence of embedded devices. This new authentication protocol is proposed in order to achieve such important goals. We use ECC and simple operations to provide an authentication protocol not only light-weight but also safe. Security analysis conducted in our work shows the resistance to common cyber attacks in the IoT environment of the proposed

46

955

scheme. Furthermore, we have proven that our scheme only consumes an additional amount of approximately 29 mJ for the device-to-device authentication phase and takes just 128-bit for storing its session key and a small space for its expiry time. Moreover, through theoretical profound analysis (based on the BAN-logic [48]), we have also demonstrated that the newly introduced scheme is

960

safe and can be applied for light-weight embedded devices. These findings have

of

established the more promising practical value of our newly proposed scheme comparing to the previous work in a variety of emerging real-world application

ro

domains nowadays, especially in smart cities and resilient environments.

In the future, we will carry out further research about privacy preservation 965

in the protocol to improve the security level of the proposed scheme. Since most

-p

of the embedded devices nowadays have sensors to detect changes in the real world, the information they contain may accordingly be sensitive and should

re

not be exposed. The association of the authentication process and different kinds of privacy protection [19, 50, 51, 17, 52] are possibilities to extend the 970

security capabilities of our protocol, especially with resource-constrained IoT

lP

devices. On this account, which data can be shared between two devices after completing authenticating is an indispensable problem that should be further studied. Furthermore, to leverage more practical scenarios, in particular where

975

ur na

lightweight IoT devices do not directly communicate with the centralized server, but via authorized gateways to form different subnetworks, a new protocol is needed. This work is also of our great interest in the future because it will bring a flexible and efficient organizational structure for many more practical systems, in which it does not constrain the number of network protocols to be used.

Jo

Acknowledgement

980

We would like to thank all members of the project and staffs of AC Lab/HCMUT

for their meaningful help and comments during this manuscript preparation.

47

Funding Statement This research is funded by Vietnam National University Ho Chi Minh City (VNU-HCM) under grant number B2018-20-08.

985

References

of

[1] K. Ashton, et al., That ‘internet of things’ thing, RFID journal 22 (7) (2009) 97–114.

ro

[2] Q. Zhou, J. Zhang, Research prospect of internet of things geography, in:

2011 19th International Conference on Geoinformatics, IEEE, 2011, pp. 1–5.

-p

990

[3] Y. Yu, J. Wang, G. Zhou, The exploration in the education of professionals in applied internet of things engineering, in: 2010 4th International

re

Conference on Distance Learning and Education, IEEE, 2010, pp. 74–77. [4] Y. Hao, P. Helo, The role of wearable devices in meeting the needs of cloud manufacturing: A case study, Robotics and Computer-Integrated

lP

995

Manufacturing 45 (2017) 168–179. [5] Everything

you

need

to

know

about

iot

ur na

https://www.simplilearn.com/iot-applications-article,

applications,

accessed:

2019-

Nov-30.

1000

[6] Ihs.

n.d.

nected

number

worldwide

millions),

of

in

internet 2017

and

of

things

2018,

by

(iot)

devices

selected

type

con(in

https://www.statista.com/statistics/789615/ accessed:

November

Jo

worldwide-connected-iot-devices-by-type/, 22, 2018.

1005

[7] Ihs. n.d. internet of things (iot) connected devices installed base worldwide from 2015 to 2025 (in billions), https://www.statista.com/ statistics/471264/iot-number-of-connected-devices-worldwide/, accessed: November 22, 2018. 48

[8] H. LeHong, A. Velosa, Hype cycle for the internet of things, Gartner Group 1010

21. [9] P. Desai, A. Sheth, P. Anantharam, Semantic gateway as a service architecture for iot interoperability, in: 2015 IEEE International Conference on Mobile Services, IEEE, 2015, pp. 313–319.

1015

of

[10] Y. Oren, A. D. Keromytis, From the aether to the ethernet—attacking the

internet using broadcast digital television, in: 23rd {USENIX} Security

ro

Symposium ({USENIX} Security 14), 2014, pp. 353–368.

[11] S. Cesare, Breaking the security of physical devices, Presentation at Black-

-p

hat 14.

[12] L. Liang, K. Zheng, Q. Sheng, X. Huang, A denial of service attack method for an iot system, in: 2016 8th International Conference on Information

re

1020

Technology in Medicine and Education (ITME), IEEE, 2016, pp. 360–364.

lP

[13] E. Vasilomanolakis, J. Daubert, M. Luthra, V. Gazis, A. Wiesmaier, P. Kikiras, On the security and privacy of internet of things architectures and systems, in: 2015 International Workshop on Secure Internet of Things (SIoT), IEEE, 2015, pp. 49–57.

ur na

1025

[14] Z. A. Khan, Using energy-efficient trust management to protect iot networks for smart cities, Sustainable cities and society 40 (2018) 1–15.

[15] R. Alkurd, R. M. Shubair, I. Abualhaol, Survey on device-to-device communications: Challenges and design issues, in: 2014 IEEE 12th Interna-

1030

tional New Circuits and Systems Conference (NEWCAS), IEEE, 2014, pp.

Jo

361–364.

[16] K. K. Tran, M. K. Pham, T. K. Dang, A light-weight tightening authentication scheme for the objects’ encounters in the meetings, in: International Conference on Future Data and Security Engineering, Springer, 2018, pp.

1035

83–102.

49

[17] T. K. Dang, K. T. Tran, The meeting of acquaintances: A cost-efficient authentication scheme for light-weight objects with transient trust level and plurality approach, Security and Communication Networks 2019 (8123259) (2019) 1–18. 1040

[18] K. T. Nguyen, M. Laurent, N. Oualha, Survey on secure communication

of

protocols for the internet of things, Ad Hoc Networks 32 (2015) 17–31. [19] T. A. T. Nguyen, T. K. Dang, Enhanced security in internet voting protocol

ro

using blind signature and dynamic ballots, Electronic Commerce Research 13 (3) (2013) 257–272.

[20] G. Simmons, An introduction to shared secret and/or shared control

-p

1045

schemes and their application, Contemporary cryptology.

re

[21] T. Dierks, C. Allen, The tls protocol version 1.0 (1999).

[22] E. Rescorla, N. Modadugu, Datagram transport layer security version 1.2

1050

lP

(2012).

[23] T. Kothmayr, C. Schmitt, W. Hu, M. Br¨ unig, G. Carle, A dtls based endto-end security architecture for the internet of things with two-way authen-

ur na

tication, in: 37th Annual IEEE Conference on Local Computer NetworksWorkshops, IEEE, 2012, pp. 956–963.

[24] M. O. Rabin, Digitalized signatures and public-key functions as intractable

1055

as factorization, Tech. rep., Massachusetts Inst of Tech Cambridge Lab for Computer Science (1979).

Jo

[25] D. He, S. Zeadally, An analysis of rfid authentication schemes for internet of things in healthcare environment using elliptic curve cryptography, IEEE internet of things journal 2 (1) (2014) 72–83.

1060

[26] S. A. Chaudhry, M. S. Farash, H. Naqvi, M. Sher, A secure and efficient authenticated encryption for electronic payment systems using elliptic curve cryptography, Electronic Commerce Research 16 (1) (2016) 113–139. 50

[27] N. Gura, A. Patel, A. Wander, H. Eberle, S. C. Shantz, Comparing elliptic curve cryptography and rsa on 8-bit cpus, in: International workshop on 1065

cryptographic hardware and embedded systems, Springer, 2004, pp. 119– 132. [28] S.-M. Chang, S. Shieh, W. W. Lin, C.-M. Hsieh, An efficient broadcast au-

of

thentication scheme in wireless sensor networks, in: Proceedings of the 2006 ACM Symposium on Information, computer and communications security, ACM, 2006, pp. 311–320.

ro

1070

[29] H. Khemissa, D. Tandjaoui, S. Bouzefrane, An ultra-lightweight authentication scheme for heterogeneous wireless sensor networks in the context

-p

of internet of things, in: International Conference on Mobile, Secure, and Programmable Networking, Springer, 2017, pp. 49–62.

[30] V. S. Miller, Use of elliptic curves in cryptography, in: Conference on the

re

1075

theory and application of cryptographic techniques, Springer, 1985, pp.

lP

417–426.

[31] N. Koblitz, Elliptic curve cryptosystems, Mathematics of computation 48 (177) (1987) 203–209.

[32] S. Kalra, S. K. Sood, Secure authentication scheme for iot and cloud servers,

ur na

1080

Pervasive and Mobile Computing 24 (2015) 210–223.

[33] C.-C. Chang, H.-L. Wu, C.-Y. Sun, Notes on “secure authentication scheme for iot and cloud servers”, Pervasive and Mobile Computing 38 (2017) 275– 278.

[34] K.-H. Wang, C.-M. Chen, W. Fang, T.-Y. Wu, A secure authentication

Jo 1085

scheme for internet of things, Pervasive and Mobile Computing 42 (2017) 15–26.

[35] K. Mahmood, J. Arshad, S. A. Chaudhry, S. Kumari, An enhanced anonymous identity-based key agreement protocol for smart grid advanced meter-

51

1090

ing infrastructure, International Journal of Communication Systems 32 (16) (2019) e4137. [36] C. Stergiou, K. E. Psannis, B.-G. Kim, B. Gupta, Secure integration of iot and cloud computing, Future Generation Computer Systems 78 (2018) 964–975. [37] C. Stergiou, K. E. Psannis, B. B. Gupta, Y. Ishibashi, Security, privacy &

of

1095

efficiency of sustainable cloud computing for big data & iot, Sustainable

ro

Computing: Informatics and Systems 19 (2018) 174–184.

[38] F. Ullah, M. A. Habib, M. Farhan, S. Khalid, M. Y. Durrani, S. Jabbar,

1100

-p

Semantic interoperability for big-data in heterogeneous iot infrastructure for healthcare, Sustainable cities and society 34 (2017) 90–96.

re

[39] R. Ande, B. Adebisi, M. Hammoudeh, J. Saleem, Internet of things: Evolution and technologies from a security perspective, Sustainable Cities and

lP

Society.

[40] S. Jegadeesan, M. Azees, P. M. Kumar, G. Manogaran, N. Chilamkurti, 1105

R. Varatharajan, C.-H. Hsu, An efficient anonymous mutual authentication technique for providing secure communication in mobile cloud computing

ur na

for smart city applications, Sustainable Cities and Society 49 (2019) 101522.

[41] A. G. Reddy, D. Suresh, K. Phaneendra, J. S. Shin, V. Odelu, Provably secure pseudo-identity based device authentication for smart cities environ-

1110

ment, Sustainable cities and society 41 (2018) 878–885.

[42] P. W. Shor, Polynomial-time algorithms for prime factorization and discrete

Jo

logarithms on a quantum computer, SIAM review 41 (2) (1999) 303–332.

[43] M. Bafandehkar, S. M. Yasin, R. Mahmod, Z. M. Hanapi, Comparison of ecc and rsa algorithm in resource constrained devices, in: International

1115

Conference on IT Convergence and Security, IEEE, 2013, pp. 1–3.

52

[44] A. Iqbal, F. Ullah, K. H. Anwar, K. Sup, Interoperable internet-of-things platform for smart, Networks 54 (15) (2010) 2787–2805. [45] E. De Poorter, I. Moerman, P. Demeester, Enabling direct connectivity between heterogeneous objects in the internet of things through a network1120

service-oriented architecture, EURASIP Journal on Wireless Communica-

of

tions and Networking 2011 (1) (2011) 61. [46] O. Bello, S. Zeadally, Intelligent device-to-device communication in the

ro

internet of things, IEEE Systems Journal 10 (3) (2014) 1172–1182.

[47] L. Militano, G. Araniti, M. Condoluci, I. Farris, A. Iera, Device-to-device communications for 5g internet of things, EAI Endorsed Trans. Internet

-p

1125

Things 1 (1) (2015) 1–15.

re

[48] M. Burrows, M. Abadi, R. M. Needham, A logic of authentication, Proceedings of the Royal Society of London. A. Mathematical and Physical

1130

lP

Sciences 426 (1871) (1989) 233–271.

[49] F. Kausar, S. Hussain, J. H. Park, A. Masood, Secure group communication with self-healing and rekeying in wireless sensor networks, in: International Conference on Mobile Ad-Hoc and Sensor Networks, Springer, 2007, pp.

ur na

737–748.

[50] T. Q. N. Tran, T. K. Dang, T. S. Tran, Fine grained attribute based access

1135

control model for privacy protection, in: International Conference on Future Data and Security Engineering (FDSE), Springer, 2016, pp. 305–316.

[51] A. Tewari, B. Gupta, Cryptanalysis of a novel ultra-lightweight mutual

Jo

authentication protocol for iot devices using rfid tags, The Journal of Supercomputing 73 (3) (2017) 1085–1102.

1140

[52] T. A. T. Nguyen, T. K. Dang, Privacy preserving biometric-based remote authentication with secure processing unit on untrusted server, IET Biometrics 8 (1) (2019) 79–91.

53