Next Article in Journal
Symmetric and Anti-Symmetric Damping Modes of Trivelpiece–Gould Waves in Weakly and Completely Ionized Plasma Waveguides
Previous Article in Journal
Axisymmetric Finite Element Modelling of the Human Lens Complex under Cataract Surgery
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

CAKE: Compatible Authentication and Key Exchange Protocol for a Smart City in 5G Networks

Department of Mathematics, National Changhua University of Education, Changhua 500, Taiwan
*
Author to whom correspondence should be addressed.
Symmetry 2021, 13(4), 698; https://doi.org/10.3390/sym13040698
Submission received: 25 March 2021 / Revised: 12 April 2021 / Accepted: 15 April 2021 / Published: 16 April 2021

Abstract

:
In a smart city, there are different types of entities, such as nature persons, IoT devices, and service providers, which have different computational limitations and storage limitations. Unfortunately, all of the existing authentication and key exchange (AKE) protocols are designed for either client–server or client–client authentication, including the ones designed for smart cities. In this paper, we present the idea of a compatible authentication and key exchange (CAKE) protocol which provides cross-species authentication. We propose the first CAKE protocol for a smart city that any two valid entities can authenticate with each other and create a secure session key without the help of any third party, while there is also no password table and no public key issuing problem. The entity can be a natural person having biometrics, an IoT device embedded with a physical unclonable function (PUF), or a service provider. Moreover, we extend the CAKE protocol to an anonymous CAKE (ACAKE) protocol, which provides natural persons an anonymous option to protect their privacy. In addition, both the proposed CAKE and ACAKE protocols can deal with the entity revocation problem. We define the framework and the security model of CAKE and ACAKE protocols. Under the security model, we formally prove that the proposed protocols are secure under the elliptic curve computational Diffie–Hellman (ECCDH) problem, the decisional bilinear Diffie–Hellman (DBDH) problem, and hash function assumptions. Comparisons with the related protocols are conducted to demonstrate the benefits of our protocols. Performance analysis is conducted and the experience results show that the proposed protocols are practical in a smart city.

1. Introduction

Smart technologies play an important role in our daily lives, such as smart cities, smart grids, smart homes, autonomous vehicles, drones, telemedicine, teleportation, and remote education. With the development of smart technologies, the number of Internet of Things (IoT)-connected devices is currently around 30 billion and will increase to around 75 billion in 2025 [1]. The fifth generation (5G) technology standard for cellular networks provides high speed, high capacity, extremely low latency, and a significant improvement in users’ perceived quality of service (QoS), as compared to current 4G LTE networks [2]. Fifth generation networks are expected to be the panacea of the network issues of IoT [3,4,5]. Fifth generation-based IoT middleware systems have several security challenges [6], in which the authentication and key exchange (AKE) protocol is the most significant security issue, since the entities communicate to each other in untrustworthy networks (i.e., the Internet).
An AKE protocol allows two parties to authenticate mutually and create a secure common session key to communicate with each other. All of the existing AKE protocols are designed for either client–server or client–client authentication. None of the existing AKE protocols provide cross-species authentication, which allows cross-species entities to authenticate mutually and create a secure session key. We first propose the concept of the compatible AKE (CAKE) protocol, which enables any two entities to mutually authenticate with each other over untrustworthy channels, for example, not only for client–server but also for client–client and server–server authentication.

1.1. Contributions

In this paper, we propose the first compatible AKE (CAKE) protocol for smart cities, which provides cross-species authentication; meanwhile, the proposed protocol achieves multi-factor authentication, suitability for a multi-server environment, independent authentication, member revocation, being password table-free, and being public key management-free. According to the guidelines for designing a secure anonymous AKE (AAKE) protocol [7], we furthermore extend the proposed CAKE protocol to an anonymous CAKE (ACAKE) protocol, which achieves user anonymity and user untraceability/unlinkability, in order to protect the privacy of natural persons in a smart city.
We define the adversary model of CAKE/ACAKE protocols and provide the formal security proofs of the proposed protocols. We compare the proposed CAKE/ACAKE protocols with the related AKE protocols and analyze the performance to show that the proposed CAKE/ACAKE protocols are efficient and practical in smart cities. We estimate the executing costs of an IoT device on a 32-bit Philips HiPerSmartTM smart card with a maximum clock speed of 36MHz, a natural person on a Linux personal digital assistant equipped with a 206-MHz strong ARM processor and on an Intel PXA270 processor at 624-MHz installed on the Linux personal digital assistant, and a service provider and the registration center (RC) on a PIV 3-GHZ processor with 512-MB memory and a Windows XP operation system.

1.2. Paper Organization

The rest of the paper is organized as below. Section 2 presents the related work, and the preliminaries are presented in Section 3. We present the proposed protocols in Section 4 and analyze the security of the proposed protocols in Section 5. The comparisons and the performance analysis are given in Section 6, and the conclusion is drawn in Section 7.

2. Related Work

In the past, a large number of AKE protocols have been proposed. Here, we introduce some properties of these protocols that include multi-factor authentication, multi-server environment, independent authentication, user anonymity, user untraceability/unlinkability, and member revocation.
  • Multi-factor authentication: Remote authentication schemes were developed from the one-factor, i.e., password, authentication [8] to the two-factor and multi-factor authentication. In general, a two-factor authentication adopts smartcards as the additional second factor to avoid replay attacks, and a three-factor authentication adopts biometrics or physical unclonable functions (PUFs) as the additional third factor to avoid smartcard stolen attacks.
  • Suitability for a multi-server environment: Traditional client–server AKE protocols were proposed for single-server environments. Nowadays, there are many systems constructed in multi-server architectures. Many AKE protocols for multi-server environments were proposed and users need not to register at different servers.
  • Independent authentication: There is a trusted third party who needs to involve the authentication phase in many AKE protocols. On the contrary, some AKE protocols can achieve independent authentication in the sense that two entities can freely authenticate with each other by themselves without the help of any third party.
  • User anonymity: In an AAKE protocol, the real identity of a user would not be revealed to others when he/she logs into a server through an untrustworthy channel.
  • User untraceability/unlinkability: In ordinary AAKE schemes, even though a user uses an anonymous identity to log in, the relationship between each login is exposed to a third party since the user uses a duplicate anonymous identity in each login. Some AAKE protocols not only achieve user anonymity but also achieve user untraceability/unlinkability, where a user cannot be traced by the login transmissions, i.e., no third party can derive the relationship between any two login transmissions. Without loss of generality, to avoid the physical location tracking in an AAKE scheme, users either can simply forge their location or use physical layer signatures [9] to simultaneously achieve privacy-preserving location authentication and user untraceability.
  • Member revocation: Many AKE protocols did not deal with the member revocation problem when a member is disabled or leaving. As compared with traditional revocable AKE protocols using a certificate revocation list (CRL), the advanced ones adopt time periods to deal with revocation problems, namely, a revoked or disabled member could not obtain the latest secret key in the next time period.
  • Table-free: No password table or verification list needs to be stored or maintained.
  • Public key issuing-free: No public key needs to be announced; that is, either there are no public keys in the system or the identity can be used as the public key.
  • Leakage-resilient: This property helps to resist side channel attacks.
According to the survey proposed by Chuang and Lei [10], there is no AKE protocol that simultaneously achieves all the properties mentioned above, and none of them provide cross-species authentication, which allows cross-species entities to authenticate mutually and create a secure session key.
Li et al. [11] proposed an authentication and key agreement scheme with user anonymity for a roaming service in a smart city in 2017, and their protocol did not provide multi-factor authentication, suitability for a multi-server environment, independent authentication, and member revocation. After that, both Li et al. [12] and Reddy et al. [13] proposed privacy-preserving authentication protocols for smart cities, which additionally achieved independent authentication as compared with Li et al.’s [11] protocol. In 2019, Xie and Hwang [14] proposed a two-factor anonymous roaming authentication scheme in a smart city, which additionally achieved suitability for a multi-server environment as compared with Li et al.’s [11] protocol. Jegadeesan et al. [15] proposed an anonymous mutual authentication technique for mobile cloud computing in a smart city in 2019, which additionally achieved independent authentication as compared with Xie and Hwang’s protocol [14]. All of these schemes [11,12,13,14,15] do not provide compatible authentication. Although many existing anonymous AKE protocols [16,17,18,19,20,21,22,23,24,25] are suitable for a smart city, none of them provide cross-species authentication and none of them achieve all the properties mentioned above [10]. No CAKE protocol for a smart city has been proposed up to date.

3. Preliminaries

Here, we introduce physical unclonable functions (PUFs), fuzzy extractors, bilinear pairing, and hard problem assumptions.

3.1. Physical Unclonable Functions

A physical unclonable function (PUF) is a physical entity embedded in a physical device, such as a microprocessor, that provides a physically defined output (response) for a given input (challenge).
The challenge and the corresponding response are called the challenge response pair (CRP). PUFs provide alternate hardware fingerprints which can be used for lightweight authentication [26,27]. PUFs can be generally classified into strong PUFs and weak PUFs according to the number of possible CRPs [28]. A weak PUF only supports a small amount of CRPs in the sense that an attacker could obtain all the responses when it obtains temporary access to the device. Weak PUFs are typically used for key storage, since the responses are stable in the sense that a challenge always yields the same response in various environments and conditions. A strong PUF can support a large number of CRPs; hence, it is generally employed for authentication.

3.2. Fuzzy Extractors

A fuzzy extractor [29] or helper data algorithm can generate stable cryptographic keys with appropriate entropy from noisy and non-uniformly distributed random PUF responses [30,31,32].
Using the Bose–Chaudhuri–Hocquenghem (BCH) codes and the hash function can guarantee the elimination of noise from the collected noisy data and the uniform distribution of the derived key bits [29,30,31,32]. Kang et al.’s article [30] illustrates the implementation diagram for the efficient fuzzy extractor using the BCH code and syndrome concept (N = 255). The helper data along with a BCH decoder can be used to re-generate the correct response from the actual response of a PUF for a specific challenge.
Definition 1. 
Let M be a metric space on N points with distance function dis, and Ul denote the uniform distribution on l-bit binary strings. An (M, δ, l, d, ε) fuzzy extractor is a pair of procedures (Gen, Rep) [29,30].
  • Gen is a probabilistic generation procedure, which takes an input R ∈ M and outputs an extracted string SS ∈ {0, 1}l and a helper string HLP ∈ {0, 1}*. For any distribution D on M of min-entropy δ, if (SS, HLP) ← Gen(D), we have SD ((SS, HLP), (Ul, HLP)) ≤ ε.
  • Rep is a deterministic reproduction procedure that can recover SS from the corresponding helper string HLP and any vector m’ close to m, namely, for all R’, R ∈ M satisfying dis (R’, R) ≤ d, if (SS, HLP) ← Gen(R), then Rep (R’, HLP) = SS.

3.3. Bilinear Pairing

Let E be an elliptic curve over a finite field Fq, which is a field of integers modulo, and a large prime number q, and E(Fq) denote the set of all the points on E. Let G1 be an additive cyclic subgroup of points on E(Fq), a point P be a generator of G1, and G2 be a multiplicative group with the same order q. A bilinear pairing [33,34,35,36] is a map, ê: G1 × G1G2, which satisfies the following properties:
  • Bilinear: ê(aQ, bR) = ê(Q, R)ab for all a, bZq* and all Q, RG1.
  • Non-degenerate: There are two points Q, RG1 such that ê(Q, R) ≠ 1.
  • Computability: There is an efficient algorithm to compute ê(Q, R) for all Q, RG1.

3.4. Hard Problem Assumptions

Three hard mathematical problems [35,36] used in this paper are listed below.
  • Elliptic curve discrete logarithm (ECDL) problem: Given a point aP in G1, find the integer a.
  • Elliptic curve computational Diffie–Hellman (ECCDH) problem: Given P, aP, and bP in G1, find abP in G1.
  • Decisional bilinear Diffie–Hellman (DBDH) problem: Given P, aP, bP, and cP in G1 and ê(P, P)d in G2, determine whether ê(P, P)d = ê(P, P)abc.
Four security assumptions are listed below.
  • ECDL assumption: No probabilistic polynomial time (PPT) algorithm can solve the ECDL problem with a non-negligible advantage.
  • ECCDH assumption: No PPT algorithm can solve the ECCDH problem with a non-negligible advantage.
  • DBDH assumption: No PPT algorithm can solve the DBDH problem with a non-negligible advantage.
  • Hash function assumption: There is a one-way and collision-resistant cryptographic hash function H: AB satisfying the following three conditions:
    • Preimage resistance: For any given bB, it is hard to find aA such that H(a) = b.
    • Second preimage resistance: For any given aA, it is hard to find cA such that ac and H(a) = H(c).
    • Collision resistance: It is hard to find a, cA such that ac and H(a) = H(c).

4. Proposed Protocols

In this section, the CAKE and ACAKE protocols for a smart city are proposed. In the proposed protocols, there are four kinds of components, namely, one registration center (RC), numerous service providers (Server), plenty of natural persons (NP), and a large number of IoT devices, which are depicted in Figure 1.
RC is a trusted third party, which is responsible for the system setup and performing the registration, revocation, and key updating for members. Servers can have a variety of functions, such as providing services for NPs, monitoring and controlling IoT devices, and gathering and analyzing data from IoT devices. A server may be a cashier, an automated teller machine (ATM), a housekeeper, a web service provider, a cloud service provider, a medical service provider, a library, a school, a company, a bank, a city control center, a government department, etc. An IoT device is assumed to have embedded physical unclonable functions (PUFs) and low computational capability; it may be a sensor, electrical appliance, traffic signal, streetlight, surveillance camera, vehicle, etc. In addition, we summarize the notations in Table 1.

4.1. Framework of CAKE and ACAKE Protocols

A fuzzy extractor [29] or helper data algorithm can generate stable cryptographic keys with appropriate entropy from noisy and non-uniformly distributed random PUF responses [30,31,32]. Here, we present the framework of the proposed CAKE and ACAKE protocols. The ACAKE protocol is an extended CAKE protocol, which additionally provides an anonymity option for natural persons to protect their privacy. The framework of the proposed CAKE and ACAKE protocols consists of four phases, namely, initialization phase, registration phase, online update phase, and CAKE/ACAKE phase. Figure 2 presents the framework of the proposed CAKE and ACAKE protocols.
In both the CAKE and ACAKE protocols, every member has to register at the registration center (RC) in a secure environment when it joins the system. In the CAKE phase, each member can mutually authenticate with the other member and establish a secure session key through an untrustworthy channel without the help of any third party, even if they are different kinds of members. NP has an anonymity option to run the ACAKE phase with the other NP, Server, or IoT device. In the ACAKE protocol, the real identity of NP would not be revealed in the transmitted channel, and the relation between NP’s sessions is untraceable.
For the member revocation problem, both the CAKE and ACAKE protocols employ a key update method to refresh the current secret key for each new time period. In such a case, every member must run the online update phase to update its secret key. Each member has to update its secret key with the help of RC through an open channel at each time period. Once a member is revoked or disabled, it will not be able to receive the new updated key in the next time period. The length of a time period, which is decided by the supervisor, may be days, weeks, or months.

4.2. Proposed CAKE Protocol

The proposed CAKE protocol comprises four phases, namely, initialization, registration, online update, and compatible authentication and key exchange (CAKE) phases. Note that in both the online update and CAKE phases, we define an algorithm GETKEY(A) to be a procedure obtaining the secret key of member A.

4.2.1. Initialization Phase

RC chooses a large prime q and defines a finite field Fq and an elliptic curve E(Fq) by an equation of the form y2 = x3 + mx + n, where m, nFq satisfy 4 m3 + 27 n2 ≠ 0 (mod q). RC produces a bilinear map, ê: G1 × G1G2, where G1 is a subgroup of the additive cyclic group of points on E with order q, and G2 is a multiplicative cyclic subgroup over Fq with order q. RC picks a generator point P in G1 and chooses four distinct one-way hash functions, namely, H1:{0, 1}*G1, H2:{0, 1}*G1, h1:{0, 1}* → {0, 1}l, and h2:{0, 1}* → {0, 1}l, where l is the fixed length of the output. RC also generates the master secret key MSKZp*. For each t-time period, RC randomly generates a seed stZq*, computes the master private key MRKt = h1(MSK||st) and master public key MPKt = MRKt·P, and appends (t, st, MRKt, MPKt) to list Lseed and keeps it secret. RC sets the public parameters Pub = {q, G1, G2, P, ê, H1(), H2(), h1(), h2()}.

4.2.2. Registration Phase: Natural Person

When a natural person NPi with a smart card wants to join the system, NPi interacts with RC as the following steps, which are illustrated in Figure 3.
Step 1: NPi chooses his/her identity IDi and password pwi and imprints his/her biometric to the device to obtain Bi. The device performs the generation procedure Gen of the fuzzy extractor on Bi to obtain the secret string SSi and helper string HLPi, i.e., (SSi, HLPi) = Gen(Bi). The device computes RPWi = H2(IDi||pwi||SSi) and gives <IDi, RPWi, “NP”> to RC.
Step 2: RC checks the current time period index t and verifies the validity of NPi. If RC wants to authorize NPi, then RC computes Ki_t = MRKt·H1(IDi||MPKt) and Qi_t = Ki_t + RPWi, lets Info ← {IDi, t, Qi, MPKt}, and issues a new smart card with Info to NPi.
Step 3: NPi inserts the received smart card into the device, and the device appends HLPi to the smart card.

4.2.3. Registration Phase: Server

When a new server Sj wants to join the system, it has to register at RC and perform the following steps, which are illustrated in Figure 4, in a trusted environment.
Step 1: Sj chooses its identity IDj and password pwj and gives <IDj, “Server”> to RC.
Step 2: RC checks the current time period index t and verifies the validity of Sj. If RC wants to authorize Sj, then RC computes Sj’s secret key Kj_t = MRKt·H1(IDj||MPKt) and sends <t, MPKt, Kj_t> to Sj.
Step 3: After receiving <Kj_t>, Sj computes RPWj = H2(IDj||pwj) and Qj_t = Kj_t + RPWj and lets Info ← {IDj, t, Qj, MPKt}. Sj then stores Info.

4.2.4. Registration Phase: IoT Device

The following steps, which are illustrated in Figure 5, are performed in a trusted environment before adding an IoT device Dl into the system.
Step 1: RC checks the current time period index t, chooses Dl’s identity IDl, computes the challenge string Cl = h1(IDl||MPKt), gives <IDl, Cl> to Dl, and waits for the response.
Step 2: Dl performs a PUF on the challenge string Cl to obtain the output response Rl and performs the generation procedure Gen of the fuzzy extractor with the BCH encoder [30] on Bi to obtain the secret string SSl and helper string HLPl, i.e., Rl = PUF(Cl) and (SSl, HLPl) = Gen(Rl). Dl computes RPWl = H2(IDl||SSl) and sends <RPWl, HLPl> back to RC.
Step 3: RC computes Dl’s secret key Kl_t = MRKt·H1(IDl||MPKt) and Ql_t = Kl_t + RPWl, and lets Info ← {IDl, t, Ql, MPKt, HLPl}. RC then sends <Infol> to Dl. Dl then stores Infol.

4.2.5. GETKEY(A) Algorithm

If A is NP, then A takes as input IDA and pwA and imprints the biometric to obtain BA, and the smart card performs the deterministic reproduction procedure Rep on Bi to recover SSA from the corresponding helper string HLPA, i.e., SSA = Re(BA, HLPA), computes RPWA = H2(IDA||pwA||SSA) and secret key KA = QARPWA, and outputs KA.
If A is Server, then A inputs IDA and pwA, computes RPWA = H2(IDA||pwA) and secret key KA_t = QARPWA, and outputs KA.
If A is IoT, then A computes the challenge string CA = h1(IDA||MPK), performs a PUF on CA to obtain the response string RA, performs the deterministic reproduction procedure Rep on RA to recover SSA from the corresponding helper string HLPA, i.e., RA = PUF(CA) and SSA = Rep(RA, HLPA), computes RPWA = H2(IDA||SSA) and secret key KA = QARPWA, and outputs KA.

4.2.6. Online Update Phase

Each NP, Server, and IoT device needs to perform the following steps, which are illustrated in Figure 6, through an untrustworthy channel to online update its secret key before it authenticates with another member in t-time period.
Step 1: The entity, say Entity A, executes KA_t ← GETKEY(A), randomly generates nR Zq*, computes N1 = n·P, R = n·MPKt, N2 = h2(IDA||t||N1||R||KA_t), and sends <IDA, t, N1, N2, “Update”> to RC.
Step 2: RC checks the current time period index t*. RC verifies IDA and computes KA_t* = MRKt*·H1(IDA||MPKt*), KA_t = MRKt·H1(IDA||MPKt), R = MRKt·N1. RC verifies if N2 = h2(IDA||t||N1||R||KA_t). If not, it aborts it. Otherwise, it computes UA_t* = KA_t* + H2(KA_t||R), VA_t* = MPKt* + H2(KA_t||N1), and dA_t= h2(MPKt*||KA_t*||KA_t||R) and sends <IDA, t*, UA_t*, VA_t*, dA_t*> to A.
Step 3: A computes KA_t* =UA_t* − H2(KA_t||R), MPKt* = VA_t* − H2(KA_t||N1), and Q = QA − KA_t + KA_t*. A verifies if dA_t* = h2(MPKt*||KA_t*||KA_t||R). If so, then it rewrites Qi ← Q, t ← t*, and MPKt ← MPKt*.

4.2.7. CAKE Phase

When two entities, say Entity A and Entity B, want to mutually authenticate with each other in t-time period and create a secure session key, they perform the following steps, which are illustrated in Figure 7, through an untrustworthy channel. Note that the entity may be a natural person, server, or IoT device.
Step 1: A randomly generates nAR Zq*, computes NA = nA·P, and sends <IDA, NA, “CAKE”> to B.
Step 2: B randomly generates nBR Zq* and computes NB= nB·P, KB_t ← GETKEY(B), y1 = nB·NA, y2 = ê(KB_t, H1(IDA||MPKt)), and vB = h2(IDA||IDB||MPKt||y1||y2). B then sends <IDB, NB, vB> to A.
Step 3: A performs KA_t ← GETKEY(A), computes y1 = nA·NB and y2 = ê(KA_t, H1(IDB||MPKt)), and verifies if vB = h2(IDA||IDB||MPKt||y1||y2). If so, then the authority of B is confirmed, and A computes session key SK = h1(IDA||IDB||NA||NB||y1||y2) and vA = h2(IDA||IDB||h2(SK)), and sends <vA> to B.
Step 4: B computes SK = h1(IDA||IDB||NA||NB||y1||y2) and verifies if vA = h2(IDA||IDB||h2(SK)). If so, then the authority of A is confirmed, and B accepts SK as the session key.

4.3. Proposed ACAKE Protocol

The propose ACAKE protocol is an extension of the CAKE protocol, which has an extra anonymous compatible authentication and key exchange (ACAKE) phase for natural persons. The GETKEY algorithm and initialization, registration, online update, and CAKE phases are the same as those in the proposed CAKE protocol. NP can additionally perform the ACAKE phase as follows, which is illustrated in Figure 8, to make AKE with another member while keeping the secrecy of his/her real identity.

ACAKE phase

When a natural person, say NPi, wants to anonymously authenticate with Entity B, whose identity is known by NPi, they perform the following steps to mutually authenticate with each other and establish a secure common session key through an untrustworthy channel.
Step 1: NPi randomly generates ni R Zq*, computes Ni = ni·P, TK = ê(ni·MPKt, H1(IDB||MPKt)), and anonymous identity AID = TK IDi, and sends <AID, Ni, “ACAKE”> to B.
Step 2: B randomly generates nB R Zq* and computes NB = nB·P, KB_t ← GETKEY(B), TK = ê(Ni, KB_t), IDi = AID TK, y1 = nB·Ni, y2 = ê(KB_t, H1(IDi||MPKt)), and vB = h2(IDi||IDB||MPKt||y1||y2). B then sends <NB, vB> to NPi.
Step 3: NPi performs Ki_t GETKEY(NPi), computes y1 = ni·NB and y2 = ê(Ki_t, H1(IDB||MPKt)), and verifies if vB = h2(IDi||IDB||MPKt||y1||y2). If so, then the authority of B is confirmed, and NPi computes session key SK = h1(IDi||IDB||Ni||NB||y1||y2) and vi = h2(IDi||IDB||h2(SK)) and sends <vi> to B.
Step 4: B computes SK = h1(IDi||IDB||Ni||NB||y1||y2) and verifies if vi = h2(IDi||IDB||h2(SK)). If so, then the authority of NPi is confirmed and SK is accepted as the session key.

5. Security Analysis

Here, we propose threat assumptions, and construct an adversarial model for a CAKE/ACAKE protocol. We then formally prove that our CAKE and ACAKE protocols achieve existential session key secrecy and perfect forward secrecy under ECCDH and hash function assumptions and existential unforgeability under the DBDH and hash function assumptions in Theorem 1 and Theorem 2, respectively. We also formally prove that our ACAKE protocol achieves existential anonymity under DBDH and hash function assumptions in Theorem 3.

5.1. Threat Assumptions

Assume that an adversary might have the following attack capabilities in a CAKE/ACAKE protocol.
  • AC1: Be an outsider or any one of the legitimate members [8].
  • AC2: Eavesdrop, delete, replay, or modify any message transmitted over an untrustworthy channel [8].
  • AC3: Offline, try all the (identity, password) pairs within probabilistic polynomial time [37].
  • AC4: Steal the smart card and analyze the instruction power consumption to extract the secret data from the smart card [8,38,39].
  • AC5: Fake the biometric [40].
  • AC6: Correctly predict the PUF’s responses to arbitrary challenges with high probability [41].
  • AC7: Individually obtain the (identity, password) pair, obtain the secret data in the smart card, fake the biometric, and correctly predict the PUF’s responses. However, breaking them all in polynomial time is not feasible.

5.2. Adversarial Model of CAKE Protocols

The adversarial model of the CAKE protocol is defined in a random oracle model [42]. There are four kinds of members in the adversarial model: a trusted registration center (RC), m Server, n natural persons (NP), and d IoT devices. Each entity has a unique identity. Let Π α s denote the s-session of entity α. Π α s and Π β t are partners if they are the same session, i.e., α and β authenticate with each other and accept a common session key in α’s s-session and in β’s t-session. Let A be a probabilistic polynomial time (PPT) algorithm that simulates the behavior of an adversary, who can potentially control all the communications by asking the queries described below, and the queries are responded to by a Challenger B (oracle).
  • Hash (M): B maintains a hash list to ensure the identical responses and avoid the collision. If Hash (M) has been asked before, then B returns the same response. Otherwise, B generates a random value h, appends (M, h) to the hash list, and returns h.
  • Extract (α): This query can be asked for entity α, who is not one of the existing members. B executes the registration phase of the protocol and responds to the corresponding results. (AC1)
  • Send ( Π α s , M): B responds to the corresponding results, which should be responded to by α after α receives the message M, by executing the protocol. It models the active attack. (AC1) (AC2)
  • Execute ( Π α s , Π β t ): B returns the complete transcripts of an honest execution between entity α in its s-session and its partner Π β t . It models the passive attack. (AC2)
  • Reveal ( Π α s ): If entity α has accepted a session key, say SK, in its s-session, then B returns SK. Otherwise, B returns “NULL”. It models the known session key attack.
  • Corrupt (α): B returns the secret key of α, who is one of the existing members. (AC1) (AC3) (AC4) (AC5) (AC6)
  • TestSK ( Π α s ): B flips an unbiased bit b ∈ {0,1}. If b = 1, then B returns the session key of entity α in its s-session. If b = 0, then B returns a random value.
An oracle Π α s with its partner Π β t is said to be fresh if the common session key SK ≠ NULL between them is confirmed, both Reveal ( Π α s ) and Reveal ( Π β t ) queries have not been asked, and there is no Corrupt (α) or Corrupt (β) query asked before the Send ( Π α s , M) or Send ( Π β t , M) query.
A can ask the TestSK ( Π α s ) query only once at any time during the game and may ask other queries when asking the TestSK ( Π α s ) query whenever Π α s is fresh. A outputs its guess b’ for the bit b in the TestSK ( Π α s ) query eventually. Let A’s distinguishing ability in the Test query measure the advantage of A, and let Succ denote the event that A successfully guesses the unbiased bit b in the Test query, and the advantage of A attacking the protocol Ψ is defined by AdvΨ (A) = |2 ⋅ Pr(Succ)− 1|. Note that if A guesses b totally in random, then Pr(Succ) would approach 1/2 and AdvΨ (A) is negligible. The adversarial model is a random oracle model where oracles behave with a hash function as a true random function, which produces a random value for each new query.

5.3. Adversarial Model of ACAKE Protocols

The adversarial model of ACAKE protocols is the same as the adversarial model of a CAKE protocol, which additionally has an extra TestID ( Π α s ) query as follows.
  • TestID ( Π α s ): B flips an unbiased bit b in {0, 1} and returns the real identity of entity α if b = 1. If b = 0, then a random value is returned.
A can ask the TestID ( Π α s ) query only once at any time during the game and may ask other queries when asking the TestID ( Π α s ) query whenever Π α s is fresh. A outputs its guess b’ for the bit b in the TestID ( Π α s ) query eventually. A’s ability of distinguishing the session key/identity from a random value in the Test query measures the advantage of A.
Definition 2. 
A CAKE/ACAKE protocol achieves existential perfect forward secrecy, secrecy of the session key, and unforgeability if there is no probabilistic polynomial time adversary A, who has a non-negligible advantage in the following game played between A and an infinite set of oracles.
  • The system is set up according to the initialization and registration phases of the protocol.
  • A may ask the following queries and obtain the corresponding results: Test, Hash, Execute, Send, Extract, Corrupt, and Reveal.
  • There is no Corrupt (α) or Reveal ( Π α s ) query asked before the Test ( Π α s ) query.
A may ask other queries when asking the Test ( Π α s ) query whenever Π α s is fresh and eventually outputs its guess b’ for the unbiased bit b in the Test ( Π α s ) query. The game is terminated.

5.4. Formal Proof

Theorem 1. 
The proposed CAKE and ACAKE protocols achieve existential perfect forward secrecy and secrecy of the session key under the ECCDH and hash function assumptions.
Theorem 2. 
The proposed CAKE and ACAKE protocols achieve existential unforgeability under DBDH and hash function assumptions.
Theorem 3. 
The proposed ACAKE protocol achieves existential anonymity under DBDH and hash function assumptions.
The proofs of Theorems 1, 2, and 3 are presented in Appendix A.

6. Comparisons and Performance Analysis

Biometrics and physical unclonable functions (PUFs) are, respectively, adopted as the third authentication factor of a nature person and an IoT device in the proposed CAKE/ACAKE protocols; hence, our protocols achieve multi-factor authentication. In the proposed CAKE/ACAKE protocols, servers are regarded as independent entities that have distinct secret keys, and no third party is involved in the CAKE/ACAKE phase; hence, our protocols are suitable for a multi-server environment and achieve the independent authentication property. Each member periodically executes the online update phase to achieve the member revocation property that a member cannot authenticate with another member if he/she does not update his/her secret key in the present period. In the proposed ACAKE protocols, anonymous nature persons use dynamic values to mask their real identities to achieve anonymity and untraceability/unlinkability.
The comparisons between our CAKE and ACAKE protocols and the related AKE protocols are listed in Table 2. The protocols in [11,12,13,14,15] are the related anonymous AKE protocols designed for smart cities, and all of them are two-factor authentication and do not provide compatible authentication and member revocation properties. The protocols in [16,17,18,19,20,21,22,23,24,25] are the related AKE protocols, which are suitable for multi-server environments; the protocols in [18,19,20,21,22] achieve independent authentication, but the protocols in [18,21] do not provide user anonymity. The protocols in [22,23,24,25] are three-factor authentication schemes, which are suitable for multi-server environments and provide user privacy protection (user anonymity and untraceability/unlinkability); however, the protocols in [23,24,25] do not provide independent authentication. As shown in Table 2, only our ACAKE protocol achieves all the listed properties; moreover, there is no password table or public key issuing problem in our CAKE/ACAKE protocols.
For convenience, let TGê, TGmul, TGadd, TH, and Th, respectively, denote the time cost of executing bilinear pairing, multiplication on ECC, point addition on ECC, hash function mapping a string to a point on ECC, and hash function mapping a string to a string. Scott et al. [43] implemented the standard Tate pairing (k = 2) over a large 512-bit field on a 32-bit Philips HiPerSmartTM smart card with a maximum clock speed of 36 MHz, an instantiation of the MIPS-32 based SmartMIPSTM architecture. Cao et al. [44] implemented the standard Tate pairing over a large 512-bit field and the 160-bit hash in group G on a PIV 3-GHz processor with 512-MB memory and a Windows XP operation system, and on a Linux personal digital assistant equipped with a 206-MHz Strong ARM processor. Xiong and Qin [45] implemented the same experiment on an Intel PXA270 processor at 624-MHz installed on the Linux personal digital assistant. The time costs of TH on a 36-MHz device and on a 3 GHz device are estimated by 3.04 × 3000/624 = 14.62 and 3.04 × 3000/36 = 253 milliseconds, respectively.
Cavalieri and Cutuli [46] implemented a hashing algorithm on the MSP430 family, assuming a frequency of 8 MHz, and the execution time was 0.065 milliseconds, which is negligible. We ignore the computational costs of the hash function, the point addition on ECC, generating a random number, and XOR and concatenation operations here.
In the online update phase, the time cost of cryptographic operations of a member and RC is 2TGmul + 3TGH + 4TGadd + 2Th and 3TGmul + 4TGH + 2TGadd + 2Th, respectively. The estimated execution times of an IoT member with a 36-MHz device, a natural person with a 206-MHz device, a natural person with a 624-MHz device, a server with a 3 GHz device, and RC with a 3 GHz device are approximately 2 × 270 ms +3 × 253 ms = 1299 ms, 2 × 92.91 ms + 3 × 44.27 ms = 318.63 ms, 2 × 30.67 ms +3 × 14.62 ms = 105.2 ms, 2 × 6.38 ms +3 × 3.04 ms = 21.88 ms, and 3 × 6.38 ms +4 × 3.04 ms = 31.3 ms, respectively.
The time cost of cryptographic operations of each member is TGê + 2TGmul + 2TGH + TGadd + 4Th in the CAKE phase. The estimated execution times of an IoT member with a 36-MHz device, a natural person with a 206-MHz device, a natural person with a 624-MHz device, a server with a 3 GHz device, and RC with a 3 GHz device are approximately 1 × 290 ms +2 × 270 ms +2 × 253 ms = 1336 ms, 1 × 291.84 ms +2 × 92.91 ms +2 × 44.27 ms = 566.2 ms, 1 × 96.2 ms +2 × 30.67 ms +2 × 14.62 ms = 186.78 ms, and 1 × 20.04 ms +2 × 6.38 ms +2 × 3.04 ms = 38.88 ms, respectively.
In the ACAKE phase, the time costs of cryptographic operations of NP and his/her partner member are 2TGê + 3TGmul + 2TGH + TGadd + 4Th and 2TGê + 2TGmul + 2TGH + TGadd + 4Th, respectively. The estimated execution times of an IoT member with a 36-MHz device, a natural person with a 206-MHz device, a natural person with a 624-MHz device, a server with a 3 GHz device, and RC with a 3 GHz device are approximately 2 × 290 ms +3 × 270 ms + 2 × 253 ms = 1896 ms, 2 × 291.84 ms + 3 × 92.91 ms + 2 × 44.27 ms = 950.95 ms, 2 × 96.2 ms + 3 × 30.67 ms + 2 × 14.62 ms = 313.65 ms, and 2 × 20.04 ms + 3 × 6.38 ms + 2 × 3.04 ms = 65.3 ms, respectively.
Table 3 summarizes the times of executing cryptographic operations and the times of RC and each kind of member executing cryptographic operations during three phases in the proposed protocols: online updating, CAKE, and ACAKE phases. Note that TGadd and Th are negligible and ignored here. As shown in Table 3, the execution times are appropriate.
Assume that RC has 100 computers, with a frequency of 3 GHz, simultaneously performing members’ registration and online updating. Then, RC can perform registration for 10,615 entities in one second, where 1000 ms/((6.38 ms + 3.04 ms)/entity) × 100 = 10,615 entities, or perform online updating for 3194 members in one second, where 1000 ms/(31.3 ms/member) × 100 = 3194 members. Thus, RC has the ability to perform the online update for all members in each time period to deal with the member revocation issue. The proper length of a time period, which is decided by the supervisor, may be hours, days, or weeks.

7. Conclusions

In this paper, we first proposed the concept of compatible authentication, which provides an efficient cross-species authentication. We proposed the first CAKE and ACAKE protocols for a smart city in 5G networks. The proposed ACAKE protocol is the first protocol that simultaneously achieves all the presented properties: probably secure, compatible authentication, multi-factor authentication, suitability for multi-server environments, independent authentication, user anonymity, user untraceability/unlinkability, member revocation, list-free, public key management-free, and efficiency. We formally analyzed the security of the proposed protocols and demonstrated the efficiency.
In the proposed CAKE and ACAKE protocols, the registration center (RC) is assumed to be a powerful party working in a secure and trusted environment meaning that it does not matter if the RC cannot resist side channel attacks; members can partially resist side channel attacks since they periodically execute the online updating phase to change their secret keys. Our future work will enhance the proposed protocols to establish a protocol which resists side channel attacks, and we will consider the applicability in systems based on blockchains.

Author Contributions

Y.-H.C. designed the scheme, proposed the adversary model, and performed the formal analysis; Y.-M.T. performed the security analysis and revised the article. All authors have read and agreed to the published version of the manuscript.

Funding

This research was partially supported by the Ministry of Science and Technology, Taiwan, under contract no. MOST108-2221-E-018-04-MY2.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

No data is reported.

Conflicts of Interest

The authors declare no conflict of interest.

Appendix A

Proof of Theorem 1. 
Suppose that there are one trusted third-party registration center (RC), m Server, n natural persons (NP), and d IoT devices in the smart city system. Each entity has a unique identity. Suppose that there is an adversary A, who can break the perfect forward secrecy or the secrecy of the session key of the proposed CAKE/ACAKE protocols with a non-negligible advantage in probabilistic polynomial time. Then, we can construct a Challenge Algorithm B to solve the ECCDH problem with a non-negligible advantage by using A’s ability of breaking the protocol. An instance (G1, G2, P, ê, q, X = xP, Y = yP) of the ECCDH problem is given to B, and B’s goal is to output xyP. B permeates the ECCDH problem into the queries, which are asked by A in the l-session for Π U S and its partner Π V T . B manages a time seed list Lseed, and four hash lists LH1, LH2, Lh1, and Lh, which are empty initially. B generates a master secret key MSKZp*. For each t-time period, B randomly generates st, rtZq*, sets the master private key MRKt = h1(MSK||st) and master public key MPKt = MRKt·P, and appends ((MSK||st), rt, rt·P) to list Lh1 and (t, st, MRKt, MPKt) to list Lseed. B sets Pub = {q, G1, G2, P, ê} to be public parameters. B simulates the oracle queries:
  • Hash (M): B checks the hash lists and returns the corresponding value if it is in the list. Otherwise, B randomly generates rZq* and m ∈ {0,1}l and returns the value by the following three different types of hash queries.
    • HashH1 (M): Compute R = r·P, append (M, r, R) to list LH1, and return R.
    • HashH2 (M): Compute R = r·P, append (M, r, R) to list LH2, and return R.
    • Hashh1 (M): Append (M, m) to list Lh1 and return m.
    • Hashh2 (M): Append (M, m) to list Lh2 and return m.
  • GETKEY(A) algorithm: If A is NP, then it inputs IDA, pwA, and Bi, computes SSA = Rep(BA, HLPA), asks the Hashh1 query to obtain RPWA = H2(IDA||pwA||SSA), computes KA = QARPWA, and returns KA. If A is a server, then it inputs IDA and pwA, asks the HashH query to obtain RPWA = H2(IDA||pwA), computes KA_t = QARPWA, and returns KA. If A is an IoT, then A computes CA = h1(IDA||MPK), performs RA = PUF(CA), computes SSA = Rep(RA, HLPA), asks the Hashh1 query to obtain RPWA = H2(IDA||SSA), computes KA = QARPWA, and returns KA.
  • Extract (α, M): If α is one of the members, then it returns “Reject”. Otherwise, it returns the corresponding registration parameters as follows. B checks the current time period t and list Lseed to obtain (t, st, MRKt, MPKt).
    • M = <IDα, RPWα, “NP”>: B asks the HashH1 query to obtain H1(IDα||MPKt), computes Kα_t = MRKt·H1(IDα||MPKt) and Qα_t = Kα_t + RPWα, lets Info ←{IDα, t, Qα, MPKt}, and returns Info.
    • M = <IDα, “Server”>: B asks the HashH1 query to obtain H1(IDα||MPKt), computes Kα_t = MRKt·H1(IDα||MPKt), and returns <t, MPKt, Kα_t>.
    • M = <“IoT”>: B chooses IDα, asks the Hashh1 query to obtain Cα = h1(IDα||MPKt), returns <Cα>, and waits for the input <RPWα, HLPα>. B asks the HashH1 query to obtain H1(IDα||MPKt), computes Kα_t = MRKt·H1(IDα||MPKt) and Qα_t = Kα_t + RPWα, lets Info ←{ IDα, t, Qα, MPKt, HLPα}, and returns Info.
  • Send ( Π β n , M): There are three different types of Send query in the proposed protocols: Update, CAKE, and ACAKE. Assume that the current time is in t*-time period. B checks list Lseed to obtain (t*, st*, MRKt*, MPKt*) and responds according to the type of Send query.
    • Send (RC, <IDA, t, N1, N2, “Update”>): B checks list Lseed to obtain (t, st, MRKt, MPKt), asks the HashH1 query to obtain H1(IDA||MPKt) and H1(IDA||MPKt*), and computes KA_t = MRKt·H1(IDA||MPKt), KA_t* = MRKt* ·H1(IDA||MPKt*), and R = MRKt·N1. B asks the HashH2 query to obtain H2(KA_t||R), computes UA_t* = KA_t* + H2(KA_t||R) and VA_t* = MPKt* + H2(KA_t||N1), and asks the Hashh2 query to obtain dA_t* = h2(MPKt*||KA_t*||KA_t||R). B then returns <IDA, t*, UA_t*, VA_t*, dA_t*>.
    • Send ( Π β n , <IDA, NA, “CAKE”>): B randomly generates nβR Zq*, computes Nβ = nβ·P, conducts the GETKEY(β) algorithm to obtain Kβ_t, and computes y1 = nβ·NA. B asks the HashH1 query to obtain H1(IDA||MPKt), computes y2 = ê(Kβ_t, H1(IDA||MPKt)), and asks the Hashh2 query to obtain vβ = h2(IDA||IDβ||MPKt||y1||y2). B returns <IDβ, Nβ, vβ>.
    • Send ( Π β n , <AID, NA, “ACAKE”>): B randomly generates nβR Zq*, computes Nβ = nβ·P, conducts the GETKEY(β) algorithm to obtain Kβ_t, and computes TK = ê(NA, Kβ_t), IDA = AIDTK, and y1 = nβ·NA. B asks the HashH1 query to obtain H1(IDA||MPKt), computes y2 = ê(Kβ_t, H1(IDA||MPKt)), and asks the Hashh2 query to obtain vβ = h2(IDA||IDβ||MPKt||y1||y2). B then returns <IDβ, Nβ, vβ>.
  • Execute ( Π α m , Π β n ): If Π β m = Π U S . and Π β n = Π V T , then B lets Nα = X, Nβ = Y, y1= NULL, and Tag = IDU||IDV||X||Y and randomly chooses vβR{0, 1}l. Otherwise, B randomly generates nα, nβR Zq* and computes Nα = nα·P, Nβ = nβ·P, and y1 = nβ·Nα. Suppose that the current time is in t-time period. B checks list Lseed to obtain (t, st, MRKt, MPKt).
    • ExecuteUD (α, RC): B chooses tOLD-time period, lets N1 = Nα, computes R = nα·MPK(t OLD), asks the Hashh2 query to obtain N2 = h2(IDA||tOLD||N1||R||KA_(t OLD)), and asks the Send (RC, <IDα, tOLD, N1, N2, “Update”>) query to obtain <IDα, t, Uα_t, Vα_t, d_t>. B then returns <IDα, tOLD, N1, N2, “Update”> and <IDα, t, Uα_t, Vα_t, dα_t>.
    • ExecuteCAKE ( Π α m , Π β n ): B conducts the GETKEY(β) algorithm to obtain Kβ_t, asks the HashH query to obtain H(IDα||MPKt), and computes y2 = ê(Kβ_t, H1(IDα||MPKt)). If Π β m Π U S or Π β n Π V T , then B asks the Hashh2 query to obtain vβ = h2(IDα||IDβ||MPKt||y1||y2) and asks the Hashh1 query to obtain SK = h1(IDα||IDβ||Nα||Nβ||y1||y2). B then asks the Hashh2 query to obtain h2(SK) and vα = h2(IDα||IDβ||h2(SK)) and returns <IDα, Nα, “CAKE”>, <IDβ, Nβ, vβ>, <vα>.
    • ExecuteACAKE ( Π α m , Π β n ): B computes TK = ê(nα·MPKt, H1(IDβ||MPKt)) and AID = TKIDα. B conducts the GETKEY(β) algorithm to obtain Kβ_t, asks the HashH1 query to obtain H1(IDα||MPKt), and computes y2 = ê(Kβ_t, H1(IDα||MPKt)). If Π β m Π U S or Π β n Π V T , then B asks the Hashh2 query to obtain vβ = h2(IDα||IDβ||MPKt||y1||y2) and asks the Hashh1 query to obtain SK = h1(IDα||IDβ||Nα||Nβ||y1||y2). B then asks the Hashh2 query to obtain vα = h2(IDα||IDβ||h2(SK)) and returns <AID, Nα, “ACAKE”>, <IDβ, Nβ, vβ>, and <vα>.
  • Reveal ( Π α s ): If entity α has accepted a session key, say SK, in its s-session, then B returns SK. Otherwise, B returns “NULL”.
  • Corrupt (α): If entity α is one of the system members, then B runs the same procedures as the Extract (α, M) query and returns the corresponding result.
  • TestSK ( Π α s ): B flips an unbiased bit b ∈ {0,1}. B returns entityα’s real session key in its s-session if b = 1 and returns a random value if b = 0.
  • TestID ( Π α s ): B flips an unbiased bit b ∈ {0,1}. B returns entityα’s real identity if b = 1 and returns a random value if b = 0.
If A can successfully break the perfect forward secrecy or the secrecy of the session key of the proposed protocols, then xyP should appear in the Lh1 list. B uses Tag to find (M = (Tag||y1||y2), r, R) in Lh1, where y1 = xyP and R = SK. Then, B answers with xyP to the ECCDH problem. The successful probability of B solving the ECCDH problem depends on the successful probability of A asking the TestSK query in the l-session for Π U S or its partner Π U S and breaking the perfect forward secrecy or the secrecy of the session key of the proposed protocols. The successful probability of B solving the ECCDH problem depends on the event that A asks the TestSK query in the l-session for Π U S or its partner Π U S and breaks the session key secrecy or the perfect forward secrecy of the proposed protocol. The probability of A asking the TestSK query in the l-session for Π U S or its partner Π U S is 1/qn, where qn is the total number of sessions. If A successfully guesses b in the TestSK query with advantage δ, which is non-negligible, then B can solve the ECCDH problem with advantage δ/qn, which is also non-negligible. It contradicts the ECCDH assumption. Thus, there is no polynomial time adversary that can break the perfect forward secrecy or the secrecy of the session key of the proposed protocols with a non-negligible advantage. □
Proof of Theorem 2. 
Suppose that there are one trusted third-party registration center (RC), m Server, n natural persons (NP), and d IoT devices in the smart city system, and each entity has a unique identity. Suppose that there is an adversary A, who can forge a member to cheat another member in the proposed CAKE/ACAKE protocol with a non-negligible advantage in probabilistic polynomial time. Then, we can construct a Challenge Algorithm B to solve the DBDH problem with a non-negligible advantage by using A’s ability of forging a member. An instance (G1, G2, P, ê, q, X = xP, Y = yP, Z = zP, g) of the DBDH problem is given to B, and B’s goal is to determine if g = ê(P, P)xyz. B guesses that A tends to forge member U to cheat member V and permeates the DBDH problem into the queries. A cannot ask the Corrupt query on U or on V. B manages a time seed list Lseed and four hash lists LH1, LH2, Lh1, and Lh2, which are empty initially. For each t-time period, B randomly generates at, rtR Zq*, computes MPKt = at·X, appends (t, at, MPKt) to list Lseed, and appends ((IDU||MPKt), rt, rt·Y) and ((IDV||MPKt), rt, rt·Z) to list LH1; i.e., let H1(IDU||MPKt) = rt·Y and H1(IDV||MPKt) = rt·Z. Note that MRKt = at·x is unknown here. B sets Pub = {q, G1, G2, P, ê} to be public parameters. B simulates the oracle queries:
  • The Hash, Reveal, Corrupt, and Test queries are identical to those in the proof of Theorem 1.
  • Extract (α, M): If α is one of the members, then it returns “Reject”. Otherwise, it returns the corresponding registration parameters as follows. B checks the current time period t and list Lseed to obtain (t, at, MPKt).
    • M = <IDα, RPWα, “NP”>: B asks the HashH1 query for (IDα||MPKt), finds ((IDα||MPKt), r, H1(IDα||MPKt)) in LH to obtain r, and computes Kα_t = at·r·X. Note that Kα_t = MRKt·H1(IDα||MPKt) = at·r·X. B computes Qα_t = Kα_t + RPWα, lets Info ←{ IDα, t, Qα, MPKt}, and returns Info.
    • M = <IDα, “Server”>: B asks the HashH1 query for (IDα||MPKt), finds ((IDα||MPKt), r, H1(IDα||MPKt)) in LH1 to obtain r, and computes Kα_t = at·r·X. B returns <t, MPKt, Kα_t>.
    • M = <“IoT”>: B chooses IDα, asks the Hashh1 query to obtain Cα = h1(IDα||MPKt), returns <Cα>, and waits for the input <RPWα, HLPα>. B asks the HashH1 query for (IDα||MPKt), finds ((IDα||MPKt), r, H1(IDα||MPKt)) in LH1 to obtain r, computes Kα_t = at·r·X and Qα_t = Kα_t + PWl, lets Info←{ IDα, t, Qα, MPKt, HLPα}, and returns Info.
  • Send ( Π B n , M): There are three different types of Send query in the proposed protocols: Update, CAKE, and ACAKE. Assume that the current time is in t-time period. B checks list Lseed to obtain (t, at, MPKt) and responds according to the type of Send query.
    • Send (RC, <IDα, tOLD, N1, N2, “Update”>): B checks list Lseed to obtain (tOLD, at OLD, MPKtOLD), asks the HashH1 query for (IDα||MPKt), and finds ((IDα||MPKt), rt, H1(IDα||MPKt)) and ((IDα||MPKtOLD), rtOLD, H1(IDα||MPKtOLD)) in LH1 to obtain rt and rtOLD. If α ∈ {U, V}, then B finds ((IDA||tOLD||N1||R||Kα_(tOLD)), N2) in list Lh2 to obtain R and Kα_(tOLD) and computes Kα_t = at·atOLD-1·rt·rtOLD-1·Kα_(tOLD). If α∉{U, V}, then B computes Kα_(tOLD) =at·rtOLD·X and Kα_t = at·rt·X. B then asks the HashH2 query to obtain H2(Kα_(tOLD)||R) and dα_t = H2(MPKt||Kα_t||Kα_(tOLD)||R), computes Uα_t = Kα_t + H2(Kα_(tOLD)||R) and Vα_t = MPKt + H2(Kα_(tOLD)||N1), and returns <IDα, t, Uα_t, Vα_t, dα_t>.
    • Send ( Π β n , <IDα, Nα, “CAKE”>): B randomly generates nβR Zq*, computes Nβ = nβ·P and y1 = nβ·Nα, and asks the HashH query to obtain H1(IDα||MPKt) and H1(IDβ||MPKt). If α ∈ {U, V} and β ∈ {U, V}, then B randomly chooses y2 = g. If α ∉ {U, V} and β ∈ {U, V}, then B finds ((IDα||MPKt), r, H1(IDα||MPKt)) in LH1 to obtain r and computes Kα_t = at·r·X and y2 = ê(Kα_t, H1(IDβ||MPKt)). If β ∉ {U, V}, then B finds ((IDβ||MPKt), r, H1(IDβ||MPKt)) in LH1 to obtain r and computes Kβ_t = at·r·X and y2 = ê(Kβ_t, H1(IDα||MPKt)). B then asks the Hashh2 query to obtain vβ = h2(IDα||IDβ||MPKt||y1||y2) and returns <IDβ, Nβ, vβ>.
    • Send ( Π β n , <AID, Nα, “ACAKE”>): B randomly generates nβR Zq*, computes Nβ = nβ·P and y1 = nβ·Nα, and asks the HashH1 query to obtain H1(IDα||MPKt) and H1(IDβ||MPKt). If β ∈ {U, V}, then B randomly chooses y2 = g. If β ∉ {U, V}, then B finds ((IDα||MPKt), r, H1(IDα||MPKt)) in LH1 to obtain r and computes Kβ_t = at·r·X, TK = ê(Nα, Kβ_t), IDα = AIDTK, y2 = ê(Kβ_t, H1(IDα||MPKt)). B then asks the Hashh2 query to obtain vβ = h2(IDα||IDβ||MPKt||y1||y2) and returns <Nβ, vβ>.
  • Execute ( Π α m , Π β n ): B asks the corresponding Sendquery to obtain the result and return it.
B answers with g = ê(P, P)xyz to the DBDH problem if A answers with b = 1 to the TestSK query and answers with gê(P, P)xyz if A answers with b = 0. Whether B can successfully solve the DBDH problem depends on whether A asks the Send and TestSK queries on members U and V. The probability of A asking the Send and TestSK queries on member U, whose partner is V, or on member V (whose partner is U) is 2/(m + n + d). If A successfully guesses b in the TestSK query with advantage δ, which is non-negligible, then B can solve the ECCDH problem with advantage 2δ/(m + n + d), which is also non-negligible. It contradicts the DBDH assumption, and thus the proposed protocols achieve existential unforgeability. □
Proof of Theorem 3. 
Suppose that there are one trusted third-party registration center (RC), m Server, n natural persons (NP), and d IoT devices in the smart city system, and each entity has a unique identity. Suppose that there is an adversary A, who has the ability to break the anonymity of NP in the proposed ACAKE protocol with a non-negligible advantage in probabilistic polynomial time. Then, we can construct a Challenge Algorithm B to solve the DBDH problem with a non-negligible advantage by using A’s ability of forging a member. An instance (G1, G2, P, ê, q, X = xP, Y = yP, Z = zP, g) of the DBDH problem is given to B, and B’s goal is to determine if g = ê(P, P)xyz. B guesses that A tends to break the anonymity of a natural person, who makes an ACAKE with entity U. B permeates the DBDH problem into the queries. B manages one time seed list Lseed and four hash lists LH1, LH2, Lh1, and Lh, which are empty initially. For each t-time period, B randomly generates at, rtR Zq*, computes MPKt = at·X, appends (t, at, MPKt) to list Lseed, and appends ((IDU||MPKt), rt, rt·Y) to list LH1, i.e., let H1(IDU||MPKt) = rt·Y. Note that MRKt = at·x is unknown here. B sets public parameters Pub = {q, G1, G2, P, ê} and simulates the oracle queries:
  • The Hash, Reveal, Corrupt, and Test queries are identical to those in the proof of Theorem 1, and the Extract query is identical to that in the proof of Theorem 2.
  • Send ( Π β n , M): There are three different types of Send query in the proposed protocols: Update, CAKE, and ACAKE. Assume that the current time is in t-time period. B checks list Lseed to obtain (t, at, MPKt), asks the HashH query to obtain H1(IDβ||MPKt), finds ((IDβ||MPKt), rβ, H1(IDβ||MPKt)) in LH1 to obtain rβ, and responds according to the type of Send query.
    • Send (RC, <IDα, tOLD, N1, N2, “Update”>): B checks list Lseed to obtain (tOLD, at OLD, MPKtOLD), asks the HashH query for (IDα||MPKt), and finds ((IDα||MPKt), rt, H1(IDα||MPKt)) and ((IDα||MPKtOLD), rtOLD, H1(IDα||MPKtOLD)) in LH1 to obtain rt and rtOLD. If α = U, then B finds ((IDA||tOLD||N1||R||Kα_(tOLD)), N2) in list Lh2 to obtain R and Kα_(tOLD) and computes Kα_t = at·atOLD-1·rt·rtOLD-1·Kα_(tOLD). If α ≠ U, then B computes Kα_(tOLD) = at·rtOLD·X and Kα_t = at·rt·X. B then asks the HashH2 query to obtain H2(Kα_(tOLD)||R), asks the Hashh2 query to obtain dα_t = h2(MPKt||Kα_t||Kα_(tOLD)||R), computes Uα_t = Kα_t + H2(Kα_(tOLD)||R) and Vα_t = MPKt + H2(Kα_(t OLD) ||N1), and returns <IDα, t, Uα_t, Vα_t, dα_t>.
    • Send ( Π β n , <IDα, Nα, “CAKE”>): B randomly generates nβR Zq*, computes Nβ = nβ·P and y1 = nβ·Nα, and asks the HashH query to obtain H(IDα||MPKt). If β ≠ U, then B computes Kβ_t = at·rβ·X and y2 = ê(Kβ_t, H1(IDα||MPKt)). If β = U, then B finds ((IDα||MPKt), r, H1(IDα||MPKt)) in LH1 to obtain r and computes Kα_t = at·r·X and y2 = ê(Kα_t, H1(IDβ||MPKt)). B then asks the Hashh2 query to obtain vβ = h2(IDα||IDβ||MPKt||y1||y2) and returns <IDβ, Nβ, vβ>.
    • Send ( Π β n , <AID, Nα, “ACAKE”>): B randomly generates nβR Zq* and computes Nβ = nβ·P and y1 = nβ·Nα. If β = U, then B randomly chooses vβR{0, 1}l. If β≠U, then B computes Kβ_t = at·rβ·X, TK = ê(Nα, Kβ_t), and IDα = AIDTK, asks the HashH1 query to obtain H1(IDα||MPKt), computes y2 = ê(Kβ_t, H1(IDα||MPKt)), and asks the Hashh2 query to obtain vβ = h2(IDα||IDβ||MPKt||y1||y2). B then returns <Nβ, vβ>.
  • Execute ( Π α m , Π β n ): Suppose that the current time is in t-time period. B checks list Lseed to obtain (t, at, MPKt). B asks the HashH1 query to obtain H1(IDα||MPKt) and H1(IDβ||MPKt) and finds ((IDα||MPKt), H1(IDα||MPKt), rα) and ((IDβ||MPKt), H1(IDβ||MPKt), rβ) in LH1 to obtain rα and rβ.
    • ExecuteUD (α, RC): B chooses tOLD, checks list Lseed to obtain (tOLD, atOLD, MPKtOLD), randomly generates nR Zq*, and computes N1= n·P and R = n·MPKtOLD. If β = U, then B randomly chooses N2R{0, 1}l. If β ≠ U, then B asks the Hashh2 query to obtain N2 = h2(IDA||tOLD||N1||R||atOLD·rα·X). B asks the Send (RC, <IDα, tOLD, N1, N2, “Update”>) query to obtain <IDα, t, Uα_t, Vα_t, dt>. B then returns <IDα, tOLD, Nα, “Update”> and <IDα, t, Uα_t, Vα_t, dα_t>.
    • ExecuteCAKE ( Π α m , Π β n ): There must be one out of α ≠ U and β ≠ U that is true. If α ≠ U, then B computes Kα_t = at·rα·X, asks the HashH1 query to obtain H1(IDβ||MPKt), and computes y2 = ê(Kα_t, H1(IDβ||MPKt)). If β≠U, then B computes Kβ_t = at·rβ·X, asks the HashH query to obtain H1(IDα||MPKt), and computes y2 = ê(Kβ_t, H1(IDα||MPKt)). B randomly generates nα, nβR Zq* and computes Nα = nα·P, Nβ = nβ·P, and y1 = nα·nβ·P. B asks the Hashh1 query to obtain SK = h1(IDα||IDβ||Nα||Nβ||y1||y2) and asks the Hashh2 query to obtain h2(SK), vα = h2(IDα||IDβ||h2(SK)), vβ = h2(IDα||IDβ||MPKt||y1||y2).
    • ExecuteACAKE ( Π α m , Π β n ): If β = U, then B lets Nα = Z, TK = g. If β ≠ U, then B randomly generates nαR Zq* and computes Nα = nα·P and TK = ê(Nα, at·rβ·X). B computes AID= TKIDU, randomly generates nβR Zq* and computes Nβ = nβ·P, y1 = nβ·NU, and y2= ê(at·rα·X, H1(IDβ||MPKt)). B asks the Hashh2 query to obtain vβ = h2(IDα||IDβ||MPKt||y1||y2) and asks the Hashh1 query to obtain SK = h1(IDα||IDβ||NU||Nβ||y1||y2). B then asks the Hashh2 query to obtain vα = h2(IDα||IDβ||h2(SK)) and returns {<AID, NU, “ACAKE”>, <Nβ, vβ>, <vα>}.
B answers with g = ê(P, P)xyz to the DBDH problem if A answers with b = 1 to the TestID query and answers with gê(P, P)xyz if A answers with b = 0. Whether B can successfully solve the DBDH problem depends on whether A asks the Send and Test queries on members U and V. The probability of A asking the SendACAKE and TestID queries on any one of the natural members, whose partner is U, is n/(m + n + d). If A successfully guesses b in the Test query with advantage δ, which is non-negligible, then B can solve the ECCDH problem with advantage δn/(m + n + d), which is also non-negligible. It contradicts the DBDH assumption; hence, the proposed protocol achieves existential unforgeability. □

References

  1. Alam, T. A reliable communication framework and its use in Internet of Things (IoT). Int. J. Sci. Res. Comput. Sci. Eng. Inf. Technol. 2018, 2, 450–456. [Google Scholar]
  2. Agiwal, M.; Roy, A. Next generation 5G wireless networks: A comprehensive survey. IEEE Commun. Surv. Tutor. 2016, 18, 1617–1655. [Google Scholar] [CrossRef]
  3. Borkar, S.; Pande, H. Application of 5G next generation network to Internet of Things. In Proceedings of the IoT and Applications (IOTA), Pune, India, 22–24 January 2016; pp. 443–447. [Google Scholar]
  4. Raol, S.K.; Prasad, R. Impact of 5G technologies on smart city implementation. Wirel. Pers. Commun. 2018, 100, 161–176. [Google Scholar]
  5. Cia, M.D.; Mason, F.; Peron, D.; Chiariotti, F. Using smart city data in 5G self-organizing networks. IEEE IoT 2019, 5, 645–654. [Google Scholar]
  6. Tiburski, R.T.; Amaral, L.A.; Hessel, F. Security challenges in 5G-Based IoT middleware systems. In Internet of Things (IoT) in 5G Mobile Technologies; Springer: Cham, Switzerland, 2016; pp. 399–418. [Google Scholar]
  7. Chuang, Y.H.; Lei, C.L.; Shiu, H.J. Cryptanalysis of four biometric based authentication schemes with privacy-preserving for multi-server environment and design guideline. In Proceedings of the 15th Asia Joint Conference on Information Security (AsiaJCIS), Taipei, Taiwan, 20–21 August 2020; pp. 66–73. [Google Scholar]
  8. Lamport, L. Password authentication with insecure communication. Commun. ACM 1981, 24, 770–772. [Google Scholar] [CrossRef]
  9. Wang, W.; Chen, Y.; Zhang, Q. Privacy-preserving location authentication in Wi-Fi networks using fine-grained physical layer signature. IEEE Trans. Wirel. Commun. 2016, 15, 1218–1225. [Google Scholar] [CrossRef]
  10. Chuang, Y.H.; Lei, C.L. An independent three-factor mutual authentication and key agreement scheme with privacy preserving for multiserver environment and a survey. Int. J. Commun. Syst. 2021, 34, e4660. [Google Scholar]
  11. Li, X.; Sangaiah, A.K.; Kumari, S.; Wu, F.; Shen, J.; Khan, M.K. An efficient authentication and key agreement scheme with user anonymity for roaming service in smart city. Pers. Ubiquit Comput. 2017, 21, 791–805. [Google Scholar] [CrossRef]
  12. Li, J.L.; Zhang, W.G.; Dabra, V.; Choo, K.K.R.; Kumari, S.; Hogrefe, D. AEP-PPA: An anonymous, efficient and provably-secure privacy- preserving authentication protocol for mobile services in smart cities. J. Netw. Comput. Appl. 2019, 134, 52–61. [Google Scholar] [CrossRef]
  13. Reddy, A.G.; Suresh, D.; Phaneendra, K.; Shin, J.S.; Odelude, V. Provably secure pseudo-identity based device authentication for smart cities environment. Sustain. Cities Soc. 2018, 41, 878–885. [Google Scholar] [CrossRef]
  14. Xie, Q.; Hwang, L. Security enhancement of an anonymous roaming authentication scheme with two-factor security in smart city. Neurocomputing 2019, 347, 131–138. [Google Scholar] [CrossRef]
  15. Jegadeesan, S.; Azees, M.; Kumar, P.M.; Manogaran, G.; Chilamkurti, N.; Varatharajan, R.; Hsu, C.H. An efficient anonymous mutual authentication technique for providing secure communication in mobile cloud computing for smart city applications. Sustain. Cities Soc. 2019, 49, 101522. [Google Scholar] [CrossRef]
  16. Alzahrani, B.A.; Chaudhry, S.A.; Barnawi, A.; Al-Barakati, A.; Alsharif, M.H. A privacy preserving authentication scheme for roaming in IoT-based wireless mobile networks. Symmetry 2020, 12, 287. [Google Scholar] [CrossRef] [Green Version]
  17. Chuang, Y.H.; Tseng, Y.M.; Lei, C.L. Efficient mutual authentication and key agreement with user anonymity for roaming services in global mobility networks. Int. J. Innov. Comput. Inf. Control 2012, 8, 6415–6428. [Google Scholar]
  18. Tseng, Y.M.; Huang, S.S.; You, M.L. Strongly secure ID-based authenticated key agreement protocol for mobile multi-server environments. Int. J. Commun. Syst. 2017, 30, e3251. [Google Scholar] [CrossRef]
  19. Yu, Y.; Hu, L.; Chu, J. A secure authentication and key agreement scheme for IoT-based cloud computing environment. Symmetry 2020, 12, 150. [Google Scholar] [CrossRef] [Green Version]
  20. Chuang, Y.H.; Tseng, Y.M. Towards generalized ID-based user authentication for mobile multi-server environment. Int. J. Commun. Syst. 2012, 25, 447–460. [Google Scholar] [CrossRef]
  21. Tseng, Y.M.; Huang, S.S.; Tsai, T.T.; Ke, J.H. List-free ID-based mutual authentication and key agreement protocol for multi-server architectures. IEEE Trans. Emerg. Top. Comput. 2016, 4, 102–122. [Google Scholar] [CrossRef]
  22. Chuang, Y.H.; Lei, C.L. Privacy protection for telecare medicine information systems with multiple servers using a biometric-based authenticated key agreement scheme. IEEE Access 2019, 7, 186480–186490. [Google Scholar]
  23. Odelu, V.; Das, A.K.; Goswami, A. A secure biometrics-based multi-server authentication protocol using smart cards. IEEE Trans. Inf. Forensics Secur. 2015, 10, 1953–1966. [Google Scholar] [CrossRef]
  24. Park, Y.; Park, Y. Three-Factor user authentication and key agreement using elliptic curve cryptosystem in wireless sensor networks. Sensors 2016, 16, 2123. [Google Scholar] [CrossRef]
  25. Qi, M.; Chen, Y. A secure biometrics-based authentication key exchange protocol for multi-server TMIS using ECC. Comput. Meth. Prog. Bio. 2018, 164, 101–109. [Google Scholar] [CrossRef]
  26. Mukhopadhyay, D. PUFs as promising tools for security in internet of things. IEEE Des. Test. 2016, 33, 103–115. [Google Scholar] [CrossRef]
  27. Tuyls, P.; Skoric, B. Secret key generation from classical physics: Physical uncloneable functions. Amiware Hardw. Technol. Driv. Ambient Intell. 2006, 5, 421–447. [Google Scholar]
  28. Herder, C.; Yu, M.D.; Koushanfar, F.; Devadas, S. Physical unclonable functions and applications: A tutorial. Proc. IEEE 2014, 8, 1126–1141. [Google Scholar] [CrossRef]
  29. Dodis, Y.; Ostrovsky, R.; Reyzin, L.; Smith, A. Fuzzy extractors: How to generate strong keys from biometrics and other noisy data. Siam J. Comput. 2008, 38, 97–139. [Google Scholar] [CrossRef] [Green Version]
  30. Kang, H.; Hori, Y.; Katashita, T.; Hagiwara, M.; Iwamura, K. Cryptographie key generation from PUF data using efficient fuzzy extractors. In Proceedings of the 16th International Conference on Advanced Communication Technology (ICACT), Pyeongchang, Korea, 16–19 February 2014; pp. 23–26. [Google Scholar]
  31. Delvaux, J.; Gu, D.; Verbauwhede, I.; Hiller, M.; Yu, M.M. Efficient fuzzy extraction of PUF-induced secrets: Theory and applications. In Proceedings of the 18th International Conference on Cryptographic Hardware and Embedded Systems (CHES), Santa Barbara, CA, USA, 17–19 August 2016; pp. 412–431. [Google Scholar]
  32. Chatterjee, U.; Govindan, V.; Sadhukhan, R.; Mukhopadhyay, D.; Chakraborty, R.S.; Mahata, D.; Prabhu, M.M. Building PUF based authentication and key exchange protocol for IoT without explicit CRPs in verifier database. IEEE Trans. Dependable Secur. Comput. 2019, 16, 424–437. [Google Scholar] [CrossRef]
  33. Choi, K.Y.; Hwang, J.Y.; Lee, D.H.; Seo, I.S. ID-based authenticated key agreement for low-power mobile devices. In Proceedings of the 10th Information Security and Privacy (ACISP), Brisbane, Australia, 4–6 July 2005; Volume 3574, pp. 494–505. [Google Scholar]
  34. Boneh, D.; Franklin, M. Identity-based encryption from the Weil pairing. In Proceedings of the 21th Annual International Cryptology Conference (CRYPTO), Santa Barbara, CA, USA, 14–16 August 2001; Volume 2139, pp. 213–229. [Google Scholar]
  35. Boneh, D.; Franklin, M. Identity-based encryption from the Weil pairing. SIAM J. Comput. 2003, 32, 586–615. [Google Scholar] [CrossRef] [Green Version]
  36. Choi, K.Y.; Hwang, J.Y.; Lee, D.H. Efficient ID-based group key agreement with bilinear maps. In Proceedings of the Public Key Cryptography (PKC), Singapore, 1–4 March 2004; Volume 2947, pp. 130–144. [Google Scholar]
  37. Wang, D.; Wang, P. Two birds with one stone: Two-factor authentication with security beyond conventional bound. IEEE Trans. Dependable Secur. Comput. 2018, 15, 708–722. [Google Scholar] [CrossRef]
  38. Kocher, P.; Jaffe, J.; Jun, B. Differential power analysis. In Proceedings of the 19th Annual International Cryptology Conference (CRYPTO), Santa Barbara, CA, USA, 19–23 August 1999; pp. 388–397. [Google Scholar]
  39. Messerges, T.S.; Dabbish, E.A.; Sloan, R.H. Examining smart-card security under the threat of power analysis attacks. IEEE Trans. Comput. 2002, 51, 541–552. [Google Scholar] [CrossRef] [Green Version]
  40. Rane, S.; Wang, Y.; Draper, S.C.; Ishwar, P. Secure biometrics: Concepts, authentication architectures, and challenges. IEEE Signal. Process. Mag. 2013, 30, 51–64. [Google Scholar] [CrossRef] [Green Version]
  41. Rührmair, U.; Sölter, J.; Sehnke, F.; Xu, X.; Mahmoud, A.; Stoyanova, V.; Dror, G.; Schmidhuber, J.; Burleson, W.; Devadas, S. PUF modeling attacks on simulated and silicon data. IEEE Trans. Inf. Forensics Secur. 2013, 8, 1876–1891. [Google Scholar] [CrossRef] [Green Version]
  42. Bellare, M.; Rogaway, P. Random oracles are practical: A paradigm for designing efficient protocols. In Proceedings of the 1st ACM Conference on Computer and Communications Security (CCS), Fairfax, VA, USA, 3–5 November 1993; pp. 62–73. [Google Scholar]
  43. Scott, M.; Costigan, N.; Abdulwahab, W. Implementing cryptographic pairings on smartcards. In Proceedings of the Cryptographic Hardware and Embedded Systems (CHES), Yokohama, Japan, 10–13 October 2006; Volume 4249, pp. 134–147. [Google Scholar]
  44. Cao, X.; Zeng, X.; Kou, W.; Hu, L. Identity-based anonymous remote authentication for value-added services in mobile networks. IEEE Trans. Veh. Technol. 2009, 58, 3508–3517. [Google Scholar] [CrossRef]
  45. Xiong, H.; Qin, Z. Revocable and scalable certificateless remote authentication protocol with anonymity for wireless body area networks. IEEE Trans. Inf. Forensics Secur. 2015, 10, 1442–1455. [Google Scholar] [CrossRef]
  46. Cavalieri, S.; Cutuli, G. Implementing encryption and authentication in KNX using Diffie-Hellman and AES algorithms. In Proceedings of the 35th Annual Conference of IEEE Industrial Electronics, Porto, Portugal, 3–5 November 2009; pp. 2459–2464. [Google Scholar]
Figure 1. Components of CAKE/CAKE protocols.
Figure 1. Components of CAKE/CAKE protocols.
Symmetry 13 00698 g001
Figure 2. Framework of the proposed CAKE and ACAKE protocols.
Figure 2. Framework of the proposed CAKE and ACAKE protocols.
Symmetry 13 00698 g002
Figure 3. Registration phase of a natural person.
Figure 3. Registration phase of a natural person.
Symmetry 13 00698 g003
Figure 4. Registration phase of a server.
Figure 4. Registration phase of a server.
Symmetry 13 00698 g004
Figure 5. Registration phase of an IoT device.
Figure 5. Registration phase of an IoT device.
Symmetry 13 00698 g005
Figure 6. Online update phase.
Figure 6. Online update phase.
Symmetry 13 00698 g006
Figure 7. CAKE phase.
Figure 7. CAKE phase.
Symmetry 13 00698 g007
Figure 8. ACAKE phase.
Figure 8. ACAKE phase.
Symmetry 13 00698 g008
Table 1. Notations.
Table 1. Notations.
SymbolMeaningSymbolMeaningSymbolMeaning
RCRegistration centerMSKMaster secret keyIDαIdentity of member α
NPii-th natural personMRKMaster private keypwαPassword of member α
Sjj-th serverMPKMaster public keyBiBiometric of NPi
Dll-th IoT devicetIndex of time periodSKSession key
CA/RAChallenge/response string of PUF functionGen/RepGeneration/reproduction procedure of fuzzy extractorKα_tSecret key of member α in t-time period
SSi/HLPiSecret/helper string||Concatenation operationXOR operation
Table 2. Comparisons.
Table 2. Comparisons.
[11][12][13][14][15][16][17][18][19][20][21][22][23][24][25]Our ACAKE
Compatible authenticationNNNNNNNNNNNNNNNY
Multi-factor authentication aNNNNNNNNNNNYYYYY
Multi-server environment bNNNYYYYYYYYYYYYY
Independent authentication cNYYNYNNYYYYYNNNY
User anonymityYYYYYYYNYYNYYYYY
User untraceability/unlinkabilityYYYYYYYNYNNYYYYY
Entity revocationNNNNNNYNNYYNY dNNY
a using three or more than three factors to authenticate; b users do not need to register at each server; c without the help of any third party; d revocation list.
Table 3. Execution times of cryptographic operations (in milliseconds).
Table 3. Execution times of cryptographic operations (in milliseconds).
IoT DeviceNatural PersonServerRC
(36-MHz) [43](206-MHz) [44](624-MHz) [45](3 GHz) [44]
TGê290291.84 (estimated)96.220.04
TGmul27092.9130.676.38
TH253 (estimated)44.2714.62 (estimated)3.04
Executing updating1299318.63105.221.8831.3
Executing CAKE1336566.2186.7838.88-
Executing ACAKE1896950.95313.6565.3-
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Chuang, Y.-H.; Tseng, Y.-M. CAKE: Compatible Authentication and Key Exchange Protocol for a Smart City in 5G Networks. Symmetry 2021, 13, 698. https://doi.org/10.3390/sym13040698

AMA Style

Chuang Y-H, Tseng Y-M. CAKE: Compatible Authentication and Key Exchange Protocol for a Smart City in 5G Networks. Symmetry. 2021; 13(4):698. https://doi.org/10.3390/sym13040698

Chicago/Turabian Style

Chuang, Yun-Hsin, and Yuh-Min Tseng. 2021. "CAKE: Compatible Authentication and Key Exchange Protocol for a Smart City in 5G Networks" Symmetry 13, no. 4: 698. https://doi.org/10.3390/sym13040698

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