Introduction

A smart city refers to a geographical area where technologies such as energy production, logistics and information communication technology are amalgamated to enhance environmental quality, intelligent development, citizen well-being, participation and inclusion. As explained in1,2, smart cities utilize data-driven technologies to boost sustainability, efficiency, quality of life of the citizens and streamline city services. In addition, the usage of smart city data and technologies facilitate efficient and optimized management of resources, urban services and assets, as well as aiding in making informed decisions3,4. The advancements in big data, cloud computing, Flying Ad-Hoc Networks (FANET), Wireless Sensor Networks (WSNs), Artificial Intelligence (AI), 5th generation mobile network (5G) and Internet of Things (IoT) have led to considerable traction towards smart cities5,6,7,8. These technologies enable smart cities to collect, analyze and share data from a myriad of sources such as social media, sensors, vehicles, electronic devices, machines and mobile devices. The capabilities of interconnecting a large pool of heterogeneous smart devices enable seamless connections to the smart city environment devoid of communication loss9. This helps improve smart city operations and services in terms of enhanced traffic flow, reduced crime rates, energy efficiency and improved citizen engagement.

According to10, the deployment of heterogeneous communication modes to interconnect smart devices enables the smart cities to have direct exploitation of resources, facilitating easy access to information. In addition, it offers pervasive computing, comprehensive perception, ubiquitous and reliable services. These services may include smart parking, environmental monitoring11, smart traffic lights, rescue operations12, smart transportation, remote health monitoring, surveillance, disaster management, search, and traffic monitoring, which can be accomplished by WSNs or Internet of Drones (IoD). As such, smart cities are characterized by high responsiveness, high connectivity, enhanced sustainability, improved quality of life, elevated intelligence, enhanced resource utilization and affordable cost of living13. The low cost, flexibility, ease of deployment wide and range of applications of the WSNs and IoD have all led to rise in smart city adoption14.

Although smart cities provide numerous services and merits, they are exposed to numerous security, performance and privacy challenges. For instance, a typical smart city is composed of numerous sensors and IoT devices that generate massive volumes of data. Some of these data items contain user-specific information such as habits, ___location and behavior. Since the collected data are exchanged over the public channels, they are susceptible to attacks15,16,17. In addition, some sensors and drones are placed in unattended environment but accessible locations and hence can be physically captured by the attackers18. Thereafter, the data stored in their memories can be extracted. Using the obtained credential, attackers can impersonate as legitimate entities. In addition, the authenticity of users, Cyber-Physical System (CPS), and Customer Premises Equipment (CPE) such as sensors and actuators is a major concern in smart cities. The high number of interconnected heterogeneous devices increases the surface from which adversaries can launch attacks, which can compromise economic development, safety and well-being of the users19. It is also possible for the collected data to be misused by the end users, posing serious threat to the smart cities20. Moreover, some of the devices in smart cities have vulnerabilities which can be exploited by the adversaries to steal data, gain unauthorized access and manipulate the systems.

Based on the above discussion, it is evident that security and privacy are key challenges that need to be solved in smart cities. There is therefore need for the development of robust security schemes that can protect privacy, authenticity and data integrity17,21,22,23,24. As explained in25, reliable data measurement is critical for most IoT applications. As such, there is need of ensuring that data is generated and transferred by only authorized users and devices. To this end, various authentication protocols have been developed for the smart cities. However, majority of them fail to offer user anonymity and are vulnerable to attacks such as Denial of Service (DoS)13. In addition, majority of these schemes deploy public key cryptography26 which is inefficient for the power and energy-limited smart city sensors. As such, the design of secure and truly lightweight security solutions for smart cities is still a challenging activity.

Research contributions

  • We leverage on biometrics, error correction codes and fuzzy commitment schemes to develop a secure and energy efficient authentication scheme for the smart cities.

  • Unlike majority of the current schemes that deploy timestamps to prevent replay attacks, our protocol incorporates random nonces in all exchanged messages. This is demonstrated to address security issues such as de-synchronization attacks inherent in timestamp-based schemes.

  • We execute extensive formal security analysis using the BAN logic to show that our scheme performs strong mutual authentication and key negotiation in an appropriate manner.

  • Informal security analysis is carried out to demonstrate that the proposed protocol supports numerous functional and security features such as strong mutual authentication, anonymity and perfect key secrecy. In addition, this analysis shows that our scheme can withstand a myriad of smart city security threats such as session hijacking, privileged insider and side-channeling attacks.

  • Elaborate comparative evaluations are carried out to show that the proposed protocol incurs the lowest computation overheads and hence is energy efficient.

The rest of this paper is structured as follows: “Related work” section discusses related works while “The proposed protocol” section presents the proposed protocol. On the other hand, “Security analysis” section discusses the security analysis of our scheme while “Performance evaluation” section describes its performance evaluation. Towards the end of this paper, “Conclusion and future work” section presents the conclusion and future research work.

Mathematical preliminaries

In this section, we provide some mathematical formulations for the key cryptographic building blocks of the proposed scheme. This include fuzzy commitment, one way hashing and error correcting codes.

One way hashing

Suppose that N is a set of all positive integers, Pk is a family of uniform probability distributions and is a polynomial such that (k) > k. Then, H represents a family of functions which are defined by H = Pk Hk, where Hk is a multi-set of functions from \({\sum }^{\mathcal{L}(k)}\) to \({\sum }^{k}\). Here, Pk (x) = \(1/{2}^{\mathcal{L}(k)}\) for all \({x\in \sum }^{\mathcal{L}(k)}\). H is referred to as a hash function, which compresses (k)-bit input into some k-bit output strings.

Definition 1

Let us consider two strings \({a,b\in \sum }^{\mathcal{L}(k)}\), where \(a\ne b\). We say that string a collides with string b under \(h\in {H}_{k}\), or (a, b) is a collision pair for h, provided that h (a) = h (b).

Definition 2

H is regarded as polynomial time computable on condition that there exists a polynomial (in k) time algorithm that derives all \(h\in H.\)

Definition 3

H is regarded as accessible provided that there exists a probabilistic time algorithm which takes input \(k\in {\varvec{N}}\) and outputs homogeneously at random a depiction of \(h\in {H}_{k}\).

Error correcting codes

In noisy transmission channels, error correcting code (ecc) is crucial for accurate reception of the transmitted data. Particularly, error correcting codes are critical in fuzzy commitment systems where they ensure that data is exchanged accurately over noisy transmission channels. Suppose that Ψ is a set of messages, where Ψ = {0,1}φ. Then, an error correcting code is made up of a set of codephrases \(CP\subseteq \{\text{0,1}{\}}^{\rho }\). A typical ecc comprises of a translation function ω and decoding function f, where ω: Ψ → CP and f: {0,1}ρ → CP \(\cup\) {γ}. Denoting the Hamming distance as , then the decoding function maps a ρ—bit string S to the closest codephrase in CP in terms of , otherwise it outputs γ. Prior to transmission, any message ψ \(\in \Psi\) is mapped to an element in CP. For improved redundancy, \(\rho >\varphi\). Suppose that θ is the correction threshold, and τ \(\in\){0,1}ρ is the error term. Then, for codephrase cp \(\in\) CP and Hamming weight ||τ||≤ θ, we have f (cpτ) = cp.

Fuzzy commitment

Due to the noisy nature of biometric data, the input biometrics is not exactly similar to the biometric templates. Therefore, the biometric template can be deployed in fuzzy commitment schemes. Suppose that h: {0,1}ρ → {0,1}χ is a collision-resistant one-way hashing function. We also let w be the witness, λ = h(cp) and ε = wcp. Then, the fuzzy commitment scheme F: ({0,1}ρ, {0,1}ρ) → ({0,1}χ, {0,1}ρ) commits codephrase cp \(\in\) CP using a ρ – bit witness w as F (cp, w) = (λ, ε). Provided that witness w* is fairly close to w but not necessarily equivalent to w, then commitment F (cp, w) = (λ, ε) can be opened using w*. Suppose that this commitment is sent from T towards R. Therefore, the opening of this commitment at R using w* involves the derivation of cp* = f (w*ε). Since ε = wcp, then cp* can also be expressed as cp* = f (cp (w*w)). Thereafter, R confirms whether λ h (cp*). Provided that this condition holds, then the fuzzy commitment is effectively opened. Otherwise, witness w* is flagged as invalid. We apply this fuzzy commitment concept in our biometric authentication procedures by treating the biometric template as witness w. As such, the user inputs biometric data (seen as witness w*) which is deployed to open codephrase cp, provided that w* is closer to w.

Attack model

In the proposed scheme, the adversary is assumed to have all the capabilities in the Canetti and Krawczyk (CK) threat model. Therefore, the communication process within the smart city is executed over the public internet and hence the attacker can have full control of this channel. In addition, the attacker can eavesdrop, alter, delete and insert bogus messages in the communication channel during message exchanges over the public smart city wireless channels. Moreover, all the sensitive data stored in the sensor nodes can be extracted upon physical capture of these nodes. It is also possible for all secret information, ephemeral secrets and session states to be compromised via session-hijacking attacks.

Related work

Many security techniques have been developed over the recent past to offer security protection in IoT and other devices interconnected in smart cities27,28,29,30,31. However, these schemes have extensive communication and computation overheads32. Although the protocol in33 is lightweight and hence can address this issue, it cannot withstand outsider attackers34. Blockchain technology35 can provide authentication and decentralized management of identity as well as authorization policies. Therefore, many blockchain-based security schemes have been presented in36,37,38,39,40,41,42,43. However, these schemes incur high storage and computation overheads which are not suitable for the sensors44. Therefore, a lightweight authentication scheme is developed in3. However, the communication costs analysis of this scheme is missing. In addition, it has not been evaluated against attacks such as side-channeling and de-synchronization.

Based on the Physically Unclonable Function (PUF), mutual authentication schemes are presented in4,45,46. Although these protocols can withstand physical capture and side-channeling attacks, PUF-based schemes have stability challenges47. On the other hand, biometric-based schemes have been introduced in48,49,50,51. However, the three-factor authentication protocol in48 cannot preserve perfect backward secrecy52. Therefore, an improved scheme is presented in52. Unfortunately, this protocol is susceptible to offline password guessing, forgery, session key disclosure and replay attacks49. In addition, it cannot uphold perfect forward secrecy and data confidentiality. On the other hand, the protocol in50 is vulnerable to impersonation and stolen verifier attacks51. In addition, it fails to preserve user untraceability. To prevent single-point of failure attacks, a scheme that is devoid of trusted issuer is developed in53. However, comparative security and performance analyses of this scheme have not been carried out. Similarly, feasibility, scalability and comparative analyses against the state of the art techniques are missing in54.

To mitigate service-oriented attacks in smart cities, a context-based trust model is presented in55. However, processing huge volumes of contextual data results in high computation overhead56. Similarly, the quantum-inspired technique presented in57 incurs extensive computation overheads due to the required quantum computing58. Although an energy-efficient framework for IoT developed in59 can address this issue, its comparative performance and security analyses have not be carried out. The verification scheme in60 is efficient and hence can address the performance issues in55,57. However, it fails to provide robust identity check and user anonymity61. Similarly, the Elliptic Curve Cryptography (ECC) based protocol in61 cannot offer anonymity and untraceability. Therefore, an ECC based anonymous authentication protocol is introduced in13, while an identity based technique is presented in62 to offer strong unforgeability and anonymity. Although the scheme in13 is shown to resist DoS attacks, its numerous point multiplications can lead to high computation costs. Similarly, the fuzzy extractor based protocol in63 incurs heavy computation overheads32. On the other hand, identity-based schemes have key escrow problems64.

To protect smart cities against botnet attacks, an algorithm based on Long Short-Term Memory (LSTM) is developed in65. However, its evaluation is carried out on a single dataset of botnet attacks and hence fails to reflect a variety of attack vectors in a typical smart city. In addition, its performance evaluation in terms of the required resources has not been presented. To ensure access control and high security level, Public Key Cryptography (PKC) based protocols have been developed in66,67,68. However, these schemes are susceptible to physical capture attacks and hence their stored secret credentials can be retrieved4. Thereafter, the attackers are able to impersonate the entities whose credentials have been extracted. In addition, most of these PKC-based schemes incur extensive communication and computation overheads69. Moreover, the homomorphic encryption based protocol in66 is vulnerable to privileged insider and session key disclosure attacks4. On its part, the bilinear pairing based protocol in67 fails to offer perfect forward secrecy and cannot withstand impersonation attacks68. In addition, the deployed bilinear pairing operations incur extensive communication and computation overheads and hence cannot support real-time services provision in smart cities. Regarding the ECC-based developed in68, it is susceptible to impersonation, replay and privileged insider attacks70. In addition, it cannot offer strong mutual authentication among the communicating entities. Therefore, an improved security technique is presented in70. However, this protocol is vulnerable to attacks such as server spoofing, session key disclosure and forgery4. Although the schemes in71,72 can solve some of these challenges, they have not been evaluated against de-synchronization attacks. On their part, the three-factor security schemes in48,49,50,51,52 are susceptible to potential security attacks4. Although the protocol in73 addresses some of the attacks such as ephemeral leakage, it cannot withstand identity guessing attacks74,75,76.

Based on the discussion above, it is evident that many schemes have been developed for the smart city environment. However, the attainment of perfect smart city security at low computation and communication is still an open challenge. For instance, many security protocols have been shown to be vulnerable to numerous attacks while others cannot support anonymity, mutual authentication and untraceability. In addition, some of these schemes do not incorporate biometric and password change procedures. Moreover, some of these security techniques incur extensive computation and communication overheads while others deploy centralized architecture which can easily result in central failure, denial of services and privacy breaches39. The proposed protocol is demonstrated to address some of these security, performance and privacy challenges. For instance, our scheme incurs the lowest computation overheads among its peers and hence addresses performance challenges in most of the above protocols. In addition, it provides support for anonymity, mutual authentication and untraceability which are features missing in most of the above schemes. Moreover, it mitigates attacks which are rarely considered in most of the existing protocols. Such attacks include de-synchronization, eavesdropping, session hijacking, forgery and side-channeling.

The proposed protocol

The elliptic curve cryptography offer offers strong security at relatively shorter key sizes compared to other public key cryptographies such as RSA. Therefore, we deploy elliptic curve cryptography in the proposed scheme. To address physical and side-channeling attacks, we leverage on biometric, error correction codes and fuzzy commitment schemes.

Motivation

Smart cities have streamlined services in urban centers, leading to the enhancement on the quality of life of the citizens. In a typical smart city, numerous smart devices are interconnected to facilitate activities such as surveillance, shipping, logistics, healthcare and warehousing. As such, high volumes of data are generated and exchanged among these smart devices. Since these message exchanges are carried out over the public internet, many security and privacy threats lurk in this environment. For instance, personal user information can be eavesdropped over the public channels while successful sensor and device capture can facilitate impersonation attacks. Therefore, past research works have presented numerous security techniques to alleviate these challenges. Unfortunately, majority of these schemes are based on computationally extensive cryptographic operations such as bilinear pairings. Consequently, these schemes are inefficient for the computation, bandwidth, storage and energy constrained sensor nodes. In addition, some of the presented security solutions still have security and privacy related issues77,78 such as susceptibility to physical, impersonation, privileged insider and Man-in-the-Middle (MitM) attacks. Therefore, the design of provably secure and yet efficient79 authentication protocols for smart cities is a nontrivial challenge.

Requirements

In smart city environment, security efficiency80 is critical in ensuring that users can authenticate and access the required data in a timely manner. This is particularly important due to the bandwidth, energy, computation power and storage constraints of the interconnected sensor networks in light of this, the proposed protocol must fulfill the following security and performance requirements.

Mutual authentication All the entities involved in message exchanges within the smart city must verify each other at the onset of the communication process.

Key agreement Upon successful validation of each other, session keys should be setup among the communicating parties. This key is deployed to encipher all the exchanged data within the smart city.

Perfect key secrecy It should be computationally infeasible for the adversary to capture the current session keys and utilize them to derive keys for the previous and subsequent sessions.

Anonymity The adversaries with the capabilities of eavesdropping the communication channel should not be in a position to obtain the real identities of the communicating parties.

Untraceability An adversary should be unable to associate any communication sessions to a particular network entity.

Resilience against threats typical security threats such as de-synchronization, denial of service, physical, eavesdropping, session hijacking, privileged insider, KSSTI, replays, forgery, MitM, impersonation and side-channeling should be curbed in our scheme.

Resource efficiency Owing to the resource-constrained nature of the smart city sensors and devices, the proposed scheme should be computationally efficient.

In our scheme, each user deploys his/her mobile device (MDi) to interact with the smart city sensor SNj through some gateway node GWk. In this environment, the GWk bridges the connection between MDi and SNj as shown in Fig. 1.

Figure 1
figure 1

Smart city network model.

Table 1 presents all the notations deployed throughout this paper. The major phases executed in our scheme include the system setup, registration, login, authentication, key negotiation, and password change. The sub-sections below describe these phases in greater details.

Table 1 Notations.

System setup

This phase is carried out by the gateway node GWk. The goal is to derive the long term keys that will be utilized in the latter phases of our scheme. The following 3 steps are executed during the system setup phase.

Step 1 The GWk selects some elliptic curve E and additive group G over finite field Fp. Here, the generator is point P whose order is a large prime number q.

Step 2 GWk generates nonce n \(\in {Z}_{q}^{*}\) and sets it as its secret key. Next, it derives its corresponding public key as Pk = nP.

Step 3 The GWk selects Mk as its master key and privately keeps both n and Mk. Finally, it publishes parameter set {P, Pk, G, E (Fp)}.

Sensor node registration

Prior to actual deployment in their application domains, each sensor node SNj must be registered at the gateway node GWk. The aim is to assign these sensors some security values that are deployed during the login, authentication and key negotiation phase. The following 2 steps are executed in this phase.

Step 1 The GWk chooses SNIDj as sensor node SNj unique identity. This is followed by the derivation of private key KGS = h (SNIDj||Mk). GWk sends values SNIDj and KGS to SNj over secure channels as shown in Fig. 2.

Figure 2
figure 2

System setup and registration.

Step 2 Upon receiving parameters SNIDj and KGS from the GWk, the SNj stores them in its memory. The sensor node is now ready to be deployed to the field.

User registration

All users within the smart city network must be registered at their respective gateway nodes. During this phase, the users are assigned security tokens that they will deploy to securely acquire data from the sensor devices deployed in a given ___domain. The following 4 steps are executed during this process.

Step 1 The user Ui through the MDi generates unique identity UIDi and password PWi. Next, nonce Ra is generated which is then used to derive value A1 = h (PWi||Ra).

Step 2 The Ui imprints biometric data βi onto the MDi. Finally, registration request Req = {UIDi, A1, βi} is constructed and forwarded to the GWk over secure channels as shown in Fig. 2.

Step 3 Upon receiving registration request Req from Ui, the GWk selects some random codephrase CPi \(\in\) CP for this particular user Ui. Next, it derives tokens λ = h (CPi), ε = CPiβi, F (CPi, βi) = (λ, ε), A2 = h (UIDi||A1||CPi) and A3 = h (UIDi||Mk) h (A1||CPi). Finally, it stores UIDi in its database before composing registration response Res = {f (.), λ, ε, A2, A3, Pk} that is sent to the Ui over secured channels.

Step 4 After getting registration response Res from the GWk, the Ui through MDi stores value set {f (.), λ, ε, A2, A3, Pk, Ra} in its memory.

Login, authentication and key negotiation

This phase is activated whenever the user Ui through the MDi wants some access to the data help by the sensors. Here, the security tokens assigned during the registration phase are deployed to authenticate Ui to the gateway node GWk. To accomplish this, the following 8 steps are executed.

Step 1 User Ui imprints his/her biometric data βi* onto the MDi upon which value CPi* = f (ε βi*) is computed. Since ε = CPiβi, CPi* can also be expressed as CPi* = f(CPi(βiβi*)). Thereafter, the MDi checks whether h (CPi*) λ = h (CPi). Basically, the user login session is terminated upon verification failure. Otherwise, Ui has passed the biometric validation and hence proceeds to input unique identity UIDi and password PWi into the MDi.

Step 2 The MDi computes A2* = h (UIDi||h (PWi||Ra)||CPi*) and confirms whether A2* A2. Since A1 = h (PWi||Ra), this verification should be successful otherwise the session is aborted. However, if this validation is successful, both user identity and password have been authenticated by the MDi.

Step 3 The MDi selects nonce Rm and Rn \(\in {Z}_{q}^{*}\) and computes values A4 = A3h (h PWi||Ra)||CPi*), A5 = Rn.P, B1 = Rn.Pk = Rn.nP, B2 = UIDiB1, B3 = A4Rm, B4 = h (UIDi||Rm) SNIDj and B5 = h (A4||SNIDj||B1||Rm). At the end, the MDi constructs login request message LogReq = {A5, B2, B3, B4, B5} that is transmitted to the GWk over public channels as shown in Fig. 3.

Figure 3
figure 3

Login, authentication and key negotiation.

Step 4 Upon receiving login request message LogReq, the GWk derives values B1* = n.A5 = n. Rn.P, UIDi* = B2B1*. This is followed by the confirmation of whether UIDi* is in its database. Provided that UIDi* cannot be found in its database, the MDi login request is rejected. Otherwise, the GWk calculates A4* = A3h (h PWi||Ra)||CPi*), Rm* = B3A4*, SNIDj* = B4h (UIDi*||Rm*) and B5* = h (A4*||SNIDj*||B1*||Rm*).

Step 5 The GWk checks if B5* B5 such that the session is terminated if this condition does not hold. Otherwise, it generates nonce Rg and derives values KGS* = h (SNIDj*||Mk), C1 = UIDi*KGS*, C2 = Rgh (UIDi*||KGS*), C3 = RgRm* and C4 = h (UIDi*||SNIDj*||KGS*||Rm*||Rg). At last, it composes authentication message Auth1 = {C1, C2, C3, C4} which is sent to the sensor node SNj over public channels.

Step 6 On receiving authentication message Auth1, the SNj derives UIDi* = C1KGS*, Rg* = C2h (UIDi*||KGS*), Rm* = Rg*C3 and C4* = h (UIDi*||SNIDj*||KGS||Rm*||Rg*). Next, it checks if C4* C4 such that the session is aborted upon verification failure. Otherwise, the SNj generates nonce Rs before calculating parameter C5 = RsKGS, session key SKS = h (UIDi*||SNIDj*||Rm*||Rg*||Rs) and value D1 = h (KGS||SKS||Rs). Finally, SNj constructs authentication response message Auth2 = {C5, D1} which is sent over to GWk.

Step 7 After getting authentication response message Auth2, the GWk derives value Rs* = C5KGS*, session key SKG = h (UIDi*||SNIDj*||Rm*||Rg||Rs*) and parameter D1* = h (KGS*||SKG||Rs*). This is followed by the confirmation of whether D1* D1 such that the session is terminated upon verification failure. Otherwise, the GWk derives parameters D2 = A4*Rg, D3 = Rm*Rs* and D4 = h (UIDi*||SKG||Rg||Rs*). At last, it composes authentication message Auth3 = {D2, D3, D4} that is forwarded to the MDi.

Step 8 On receiving authentication message Auth3, the MDi calculates Rg* = A4D2, Rs* = RmD3, session key SKD = h (UIDi||SNIDj||Rm||Rg*||Rs*) and value D4* = h (UIDi||SKD||Rg*||Rs*). It then verifies whether D4* D4 such that the session is aborted upon validation failure. Otherwise, user Ui, GWk and SNj have successfully authenticated each other and negotiated session keys. As such, the session key is set as SKD = SKG = SKS and is shared among these three entities. Afterwards, Ui can securely access sensed data held at SNj vial GWk.

Password change

In this phase, the user executes password change upon its compromise. To reduce on communication overheads, this change is carried out without contacting the gateway node GWk. the following…steps are executed during this phase.

Step 1 The user Ui imprints biometric data βi*onto the MDi. Thereafter, the MDi derives CPi* = f (εβi*) = f(CPi (βiβi*)).Next, the MDi validates whether h (CPi*) λ = h (CPi) such that the password change session is terminated upon verification failure. Otherwise, the user Ui has passed biometric authentication.

Step 2 User Ui inputs UIDi and PWi into the MDi after which it calculates A2* = h (UIDi||h (PWi||Ra)||CPi*). This is followed by the confirmation of whether A2* A2 such that the session is aborted upon verification failure. Otherwise, user Ui is prompted to input new password PWiNew.

Step 3 The MDi computes A2New = h (UIDi||h (PWiNew||Ra)||CPi*) and A3New = A3h (h (PWi||Ra)||CPi*) h (h (PWiNew||Ra)||CPi*). Finally, the MDi updates value set {A2, A3} with their refreshed counterparts {A2New, A3New} in its memory.

Security analysis

In this section, we formally and informally analyze the security features provided by the proposed scheme. Whereas the formal security analysis is executed using Burrows–Abadi–Needham logic (BAN) logic, informal security analysis is carried out by formulating and proofing some propositions.

Formal security analysis

The aim of this sub-section is to verify that our scheme performs strong mutual authentication and key negotiation in an appropriate manner. The notations used throughout this proof are described below.

# (A): A is fresh.

\({\langle \text{A}\rangle }_{\text{B}}\) : A is enciphered using B.

S|≡Y: S believes Y.

(A, B): A or B is part of message (A, B).

S Y: S sees Y.

S|~ A: S once said A.

(A, B)µ: A or B is hashed using µ.

S \(\Rightarrow\) A: S has jurisdiction over A.

\(\text{S}\stackrel{ \mu }{\leftrightarrow }\text{T}\) : S and T communicate using shared key µ.

In addition to the above BAN logic rules, the following BAN logic rules are used in our proof.

Belief Rule (BR): \(\frac{S|\equiv \left(A\right),S|\equiv \left(B\right)}{S|\equiv (A, B)}\)

Message Meaning Rule (MMR):\(\frac{{S| \equiv {\text{S}}\mathop \leftrightarrow \limits^{\mu } {\text{T}},{\text{S}} \triangleleft \langle {\text{A}}\rangle _{{\mu }} }}{{S| \equiv T|\sim A}}\)

Session Keys Rule (SKR):\(\frac{S|\equiv \#\left(A\right),S|\equiv T|\equiv A}{S|\equiv \text{S}\stackrel{ \mu }{\leftrightarrow }\text{T}}\)

Jurisdiction Rule (JR): \(\frac{S|\equiv T\Rightarrow A,S|\equiv T|\equiv A}{S|\equiv A}\)

Fresh Promotion Rule (FPR): \(\frac{S|\equiv \#(A)}{S|\equiv \#(A,B)}\)

Nonce Verification Rule (NVR): \(\frac{S|\equiv \#\left(A\right),S|\equiv T|\sim A}{S|\equiv T|\equiv A}\)

To be secure under the BAN logic, the proposed scheme must satisfy the following security goals.

Goal 1: SNj \(|\equiv\) SNj \(\stackrel{ {SK}_{S}}{\leftrightarrow }\) MDi

Goal 2: SNj \(|\equiv\) MDi \(|\equiv\) SNj \(\stackrel{ {SK}_{S}}{\leftrightarrow }\) MDi

Goal 3: MDi \(|\equiv\) SNj \(\stackrel{ {SK}_{D}}{\leftrightarrow }\) MDi

Goal 4: MDi \(|\equiv\) SNj \(|\equiv\) SNj \(\stackrel{ {SK}_{D}}{\leftrightarrow }\) MDi

Goal 5: GWk \(|\equiv\) GWk \(\stackrel{ {SK}_{G}}{\leftrightarrow }\) MDi

Goal 6: GWk \(|\equiv\) MDi \(|\equiv\) GWk \(\stackrel{ {SK}_{G}}{\leftrightarrow }\) MDi

Goal 7: GWk \(|\equiv\) GWk \(\stackrel{ {SK}_{G}}{\leftrightarrow }\) SNj

Goal 8: GWk \(|\equiv\) SNj \(|\equiv\) GWk \(\stackrel{ {SK}_{G}}{\leftrightarrow }\) SNj

In our scheme, 4 messages are exchanged during the login, authentication and key agreement phase. These messages include LogReq = {A5, B2, B3, B4, B5}, Auth1 = {C1, C2, C3, C4}, Auth2 = {C5, D1} and Auth3 = {D2, D3, D4}. For ease of analysis, we transform these messages into idealized format as follows.

MDi → GWk: LogReq = {A5, B2, B3, B4, B5}

Idealized format: {Rn.P, \({\langle {UID}_{i}\rangle }_{{R}_{n}.{P}_{k}},{{\langle {R}_{m}\rangle }_{h({UID}_{i}||{M}_{k})},\langle {SNID}_{j}\rangle }_{h({UID}_{i}|\left|{R}_{\text{m}}\right)},({SNID}_{j}||{R}_{\text{m}}{)}_{{R}_{n}.{P}_{k}}{,}_{h({UID}_{i}||{M}_{k})}\)}

GWk → SNj: Auth1 = {C1, C2, C3, C4}

Idealized format: {\({\langle {UID}_{i}^{*}\rangle }_{{KG}_{S}}, {\langle {R}_{g}\rangle }_{h({UID}_{i}^{*}|\left|{KG}_{S}\right)},{\langle {R}_{m}\rangle }_{{R}_{g}}, ({UID}_{i}||{SNID}_{j}{)}_{({R}_{m},{ R}_{g},{ KG}_{S})}\)}

SNj → GWk: Auth2 = {C5, D1}

Idealized format: {\({\langle {R}_{s}\rangle }_{{KG}_{S}}\), (\({R}_{s}{)}_{({SK}_{S},{ KG}_{S})}\)

GWk → MDi: Auth3 = {D2, D3, D4}

Idealized format: {\({\langle {R}_{g}\rangle }_{h({UID}_{i}|\left|{KG}_{S}\right)}\),\({\langle {R}_{s}^{*}\rangle }_{{R}_{m}^{*}}\), (\({UID}_{i}^{*}{)}_{({R}_{g},{ R}_{s}^{*}, { SK}_{G})}\)}

The following initial state assumptions (SA) are also made.

SA1: Ui \(|\equiv\)# Rm

SA2: GWk \(|\equiv\)# Rg

SA3: SNj \(|\equiv\)# Rs

SA4: MDi \(|\equiv\) MDi \(\stackrel{ {nR}_{n}.P}{\leftrightarrow }\) GWk

SA5: MDi \(|\equiv\) MDi \(\stackrel{ {SK}_{S }}{\leftrightarrow }\) SNj

SA6: GWk \(|\equiv\) GWk \(\stackrel{ {R}_{n}.nP}{\leftrightarrow }\) MDi

SA7: GWk \(|\equiv\) GWk \(\stackrel{ {KG}_{S}}{\leftrightarrow }\) SNj

SA8: SNj \(|\equiv\) SNj \(\stackrel{ {SK}_{S }}{\leftrightarrow }\) MDi

SA9: SNj \(|\equiv\) SNj \(\stackrel{ {KG}_{S}}{\leftrightarrow }\) GWk

SA10: MDi \(|\equiv\) SNj \(\Rightarrow\) Rs, SKS

SA11: MDi \(|\equiv\) GWk \(\Rightarrow\) Rg, SKG

SA12: GWk \(|\equiv\) MDi \(\Rightarrow\) Rm, SKD,nRnP

SA13: GWk \(|\equiv\) SNj \(\Rightarrow\) RsKGS

SA14: SNj \(|\equiv\) GWk \(\Rightarrow\) Rgh(UIDi||KGS)

SA15: SNj \(|\equiv\) MDi \(\Rightarrow\) Rm, SKD

Based on the above BAN logic rules, idealized format of the exchanged messages and the initial state assumptions, we proof that the proposed scheme attains all the above security goals through the following BAN logic proof (BLP).

Using the idealized form of LogReq and BR, we obtain BLP1,

BLP1: GWk {Rn.P, \({\langle {UID}_{i}\rangle }_{{R}_{n}.{P}_{k}},{{\langle {R}_{m}\rangle }_{h({UID}_{i}||{M}_{k})},\langle {SNID}_{j}\rangle }_{h({UID}_{i}|\left|{R}_{\text{m}}\right)},({SNID}_{j}||{R}_{\text{m}}{)}_{{R}_{n}.{P}_{k}}{,}_{h({UID}_{i}||{M}_{k})}\)}

Based on SA6, BLP1 and MMR, we obtain BLP2 as follows,

BLP2: GWk \(|\equiv\) MDi ~ {Rn.P, \({\langle {UID}_{i}\rangle }_{{R}_{n}.{P}_{k}},{{\langle {R}_{m}\rangle }_{h({UID}_{i}||{M}_{k})},\langle {SNID}_{j}\rangle }_{h({UID}_{i}|\left|{R}_{\text{m}}\right)},({SNID}_{j}||{R}_{\text{m}}{)}_{{R}_{n}.{P}_{k}}{,}_{h({UID}_{i}||{M}_{k})}\)}

Using FPR and NVR on both BLP2 and SA1 yields BLP3 as shown below.

BLP3: GWk \(|\equiv\) MDi \(|\equiv\) {Rn.P, \({\langle {UID}_{i}\rangle }_{{R}_{n}.{P}_{k}},{{\langle {R}_{m}\rangle }_{h({UID}_{i}||{M}_{k})},\langle {SNID}_{j}\rangle }_{h({UID}_{i}|\left|{R}_{\text{m}}\right)},({SNID}_{j}||{R}_{\text{m}}{)}_{{R}_{n}.{P}_{k}}{,}_{h({UID}_{i}||{M}_{k})}\)}

On the other hand, using JR on BLP3, SA6 and SA12 yields BLP4.

BLP4: GWk \(|\equiv\) {Rn.P, \({\langle {UID}_{i}\rangle }_{{R}_{n}.{P}_{k}},{{\langle {R}_{m}\rangle }_{h({UID}_{i}||{M}_{k})},\langle {SNID}_{j}\rangle }_{h({UID}_{i}|\left|{R}_{\text{m}}\right)},({SNID}_{j}||{R}_{\text{m}}{)}_{{R}_{n}.{P}_{k}}{,}_{h({UID}_{i}||{M}_{k})}\)}

Based on BLP4, the SKR is applied to obtain BLP5.

BLP5: GWk \(|\equiv\) GWk \(\stackrel{ {SK}_{G}}{\leftrightarrow }\) MDi, hence security Goal 5 is attained.

On the other hand, NVR is applied to both BLP5 and SA12 to yield BLP6.

BLP6: GWk \(|\equiv\) MDi \(|\equiv\) GWk \(\stackrel{ {SK}_{G}}{\leftrightarrow }\) MDi, achieving security Goal 6.

Considering idealized formats of both Auth1 and Auth3, the application of BR yields BLP7 and BLP8.

BLP7: SNj \(\triangleleft\){\({\langle {UID}_{i}^{*}\rangle }_{{KG}_{S}}, {\langle {R}_{g}\rangle }_{h({UID}_{i}^{*}|\left|{KG}_{S}\right)},{\langle {R}_{m}\rangle }_{{R}_{g}}, ({UID}_{i}||{SNID}_{j}{)}_{({R}_{m},{ R}_{g},{ KG}_{S})}\)}

BLP8: MDi \(\triangleleft\){\({\langle {R}_{g}\rangle }_{h({UID}_{i}|\left|{KG}_{S}\right)}\),\({\langle {R}_{s}^{*}\rangle }_{{R}_{m}^{*}}\), (\({UID}_{i}^{*}{)}_{({R}_{g},{ R}_{s}^{*}, { SK}_{G})}\)}

Using the MMR on both BLP7 and SA9 results in BLP9.

BLP9: SNj \(|\equiv\) GWk ~ {\({\langle {UID}_{i}^{*}\rangle }_{{KG}_{S}}, {\langle {R}_{g}\rangle }_{h({UID}_{i}^{*}|\left|{KG}_{S}\right)},{\langle {R}_{m}\rangle }_{{R}_{g}}, ({UID}_{i}||{SNID}_{j}{)}_{({R}_{m},{ R}_{g},{ KG}_{S})}\)}

However, the application of MMR on both BLP8 and SA4 yields BLP10.

BLP10: MDi \(|\equiv\) GWk ~ {\({\langle {R}_{g}\rangle }_{h({UID}_{i}|\left|{KG}_{S}\right)}\),\({\langle {R}_{s}^{*}\rangle }_{{R}_{m}^{*}}\), (\({UID}_{i}^{*}{)}_{({R}_{g},{ R}_{s}^{*}, { SK}_{G})}\)}

Based on BLP9, SA2, SA14, FPR and the NVR, we obtain BLP11.

BLP11: SNj \(|\equiv\) GWk \(|\equiv\) {\({\langle {UID}_{i}^{*}\rangle }_{{KG}_{S}}, {\langle {R}_{g}\rangle }_{h({UID}_{i}^{*}|\left|{KG}_{S}\right)},{\langle {R}_{m}\rangle }_{{R}_{g}}, ({UID}_{i}||{SNID}_{j}{)}_{({R}_{m},{ R}_{g},{ KG}_{S})}\)}

Using the FPR and NVR on BLP10, SA2 and SA11, we get BLP12.

BLP12: MDi \(|\equiv\) GWk \(|\equiv\) {\({\langle {R}_{g}\rangle }_{h({UID}_{i}|\left|{KG}_{S}\right)}\),\({\langle {R}_{s}^{*}\rangle }_{{R}_{m}^{*}}\), (\({UID}_{i}^{*}{)}_{({R}_{g},{ R}_{s}^{*}, { SK}_{G})}\)}

On the other hand, the application of JR on BLP12 and SA11 yields BLP13.

BLP13: MDi \(|\equiv\) {\({\langle {R}_{g}\rangle }_{h({UID}_{i}|\left|{KG}_{S}\right)}\),\({\langle {R}_{s}^{*}\rangle }_{{R}_{m}^{*}}\), (\({UID}_{i}^{*}{)}_{({R}_{g},{ R}_{s}^{*}, { SK}_{G})}\)}

According to BLP13, the SKR is applied to get BLP14.

BLP14: SNj \(|\equiv\) SNj \(\stackrel{ {SK}_{S}}{\leftrightarrow }\) MDi and hence security Goal 1 is achieving.

Based on BLP14 and SA14, the SKR is applied to obtain BLP15.

BLP15: SNj \(|\equiv\) MDi \(|\equiv\) SNj \(\stackrel{ {SK}_{S}}{\leftrightarrow }\) MDi, achieve Goal 2.

On the other hand, using SKR on BLP14 yields BLP16.

BLP16: MDi \(|\equiv\) SNj \(\stackrel{ {SK}_{D}}{\leftrightarrow }\) MDi and hence Goal 3 is realized.

The application of SKR on BLP14, SA5 and SA11 results in BLP17.

BLP17: MDi \(|\equiv\) SNj \(|\equiv\) SNj \(\stackrel{ {SK}_{D}}{\leftrightarrow }\) MDi, attaining security Goal 4.

Using idealized form of message Auth2, the BR is applied to get BLP18.

BLP18: GWk \(\triangleleft\){\({\langle {R}_{s}\rangle }_{{KG}_{S}}\), (\({R}_{s}{)}_{({SK}_{S},{ KG}_{S})}\)}

However, the usage of MMR on both BLP18 and SA7 results in BLP19.

BLP19: GWk \(|\equiv\) SNj ~ {\({\langle {R}_{s}\rangle }_{{KG}_{S}}\), (\({R}_{s}{)}_{({SK}_{S},{ KG}_{S})}\)}

Based on BLP19 and SA3, NVR and FPR are applied to obtain BLP20.

BLP20: GWk \(|\equiv\) SNj \(|\equiv\) {\({\langle {R}_{s}\rangle }_{{KG}_{S}}\), (\({R}_{s}{)}_{({SK}_{S},{ KG}_{S})}\)}

On the other hand, using JR on BLP20, SA7 and SA13 yields BLP21.

BLP21: GWk \(|\equiv\) {\({\langle {R}_{s}\rangle }_{{KG}_{S}}\), (\({R}_{s}{)}_{({SK}_{S},{ KG}_{S})}\)}

However, using the SKR on both BLP21 and SA8 yields BLP22.

BLP22: GWk \(|\equiv\) GWk \(\stackrel{ {SK}_{G}}{\leftrightarrow }\) SNj, realizing security Goal 7.

Based on BLP22, SA13 and SA15, the SKR is applied to obtain BLP23.

BLP23: GWk \(|\equiv\) SNj \(|\equiv\) GWk \(\stackrel{ {SK}_{G}}{\leftrightarrow }\) SNj and hence Goal 8 is attained.

The attainment of all the 8 formulated security goals demonstrates that the proposed scheme achieves strong mutual authentication among the SNj, MDi and GWk. In addition, it confirms that after successful mutual authentication, session key SKD = SKG = SKS is established among these three entities.

Informal security analysis

In this sub-section, we state and proof various propositions to show that our scheme supports numerous security features and is robust against many typical smart city attacks. Based on the attack model in “Attack model” section, an adversary is capable of launching attacks such as de-synchronization, denial of service, eavesdropping, session hijacking, KSSTI, replays, forgery, MitM, privileged insider,physical, side-channeling and impersonation. In this sub-section, we demonstrate that our protocol mitigates all these attacks.

Proposition 1

Eavesdropping attacks are prevented.

Proof

Suppose that an adversary Å is interested in intercepting the exchanged messages after which parameters such as SNIDj and UIDi are retrieved. In our scheme, messages LogReq = {A5, B2, B3, B4, B5}, Auth1 = {C1, C2, C3, C4}, Auth2 = {C5, D1} and Auth3 = {D2, D3, D4} are exchanged over public channels. Here, A5 = Rn.P, B2 = UIDiB1, B3 = A4Rm, B4 = h (UIDi||Rm) SNIDj, B5 = h (A4||SNIDj||B1||Rm), C1 = UIDi*KGS*, C2 = Rgh (UIDi*||KGS*), C3 = RgRm*, C4 = h (UIDi*||SNIDj*||KGS*||Rm*||Rg), C5 = RsKGS, D1 = h (KGS||SKS||Rs), D2 = A4*Rg, D3 = Rm*Rs* and D4 = h (UIDi*||SKG||Rg||Rs*). Clearly, none of these messages contain SNIDj and UIDi in plaintext. Therefore, eavesdropping attacks against our scheme fail.

Proposition 2

Our scheme thwarts session hijacking and denial of service attacks.

Proof

The aim of adversary Å in this attack is to gain access to the MDi belonging to user Ui, effectively disconnecting him/her from accessing sensory data. To prevent this, our scheme incorporates invalid password, identity and biometric checks. For biometric authentication, the the MDi checks whether h (CPi*) λ = h (CPi). On the other hand, user password and identity are verified by the MDi through the confirmation of whether A2* A2. In both cases, the session is terminated upon validation failure. Therefore, unauthorized logins that can facilitate session hijacking and denial of service attacks are thwarted.

Proposition 3

Message replay and de-synchronization attacks are prevented.

Proof

During the login, authentication and session key negotiation phases, random nonces are incorporated in all the exchanged messages. These random nonces include Rm, Rn, Rg and Rs included in parameters A5 = Rn.P, B1 = Rn.Pk = Rn.nP, B3 = A4Rm, B4 = h (UIDi||Rm) SNIDj, B5 = h (A4||SNIDj||B1||Rm), C2 = Rgh (UIDi*||KGS*), C3 = RgRm*, C4 = h (UIDi*||SNIDj*||KGS*||Rm*||Rg), C5 = RsKGS, D1 = h (KGS||SKS||Rs), D2 = A4*Rg, D3 = Rm*Rs* and D4 = h (UIDi*||SKG||Rg||Rs*). Therefore, the freshness of messages LogReq = {A5, B2, B3, B4, B5}, Auth1 = {C1, C2, C3, C4}, Auth2 = {C5, D1} and Auth3 = {D2, D3, D4} is upheld, thwarting any replay attacks. This is in contrast to most schemes that employ timestamps to prevent replay attacks. In these schemes, these timestamps render them vulnerable to de-synchronization attacks.

Proposition 4

Our scheme is robust against privileged insider and impersonation attacks.

Proof

The aim of this attack is to allow users with elevated privileges such as system administrators to access users’ registration information. Thereafter, the obtained information is utilized to impersonate the legitimate users. During the user registration phase, registration request Req = {UIDi, A1, βi} is constructed by Ui and forwarded to the GWk over secure channels. Here, UIDi is the user’s unique identity, βi is the user’s biometric data and A1 = h (PWi||Ra). Evidently, privileged users cannot retrieve user’s password PWi from A1 due to its encapsulation in random nonce Ra and eventual one-way hashing, which is computationally infeasible to reverse.

Proposition 5

Untraceability and anonymity are preserved.

Proof

Suppose that adversary Å is interested in tracking particular users and sensors within the network. To realize this, all the messages exchanged over the public channels are intercepted. These messages include LogReq = {A5, B2, B3, B4, B5}, Auth1 = {C1, C2, C3, C4}, Auth2 = {C5, D1} and Auth3 = {D2, D3, D4}. Thereafter, attempts are made to obtain SNIDj and UIDi. However, according to Proposition 1, this attempt will fail. Although parameters C2 = Rgh (UIDi*||KGS*), C4 = h (UIDi*||SNIDj*||KGS*||Rm*||Rg), and D4 = h (UIDi*||SKG||Rg||Rs*) contain these unique identities, they are scrambled in other security tokens and hashed. This makes it cumbersome for adversary Å to retrieve them. To prevent traceability attacks, the MDi generates random nonces Ra, Rm and Rn that are incorporated in values A5 = Rn.P, B1 = Rn.Pk, B3 = A4Rm, B4 = h (UIDi||Rm) SNIDj and B5 = h (A4||SNIDj||B1||Rm). Similarly, the SNj generates nonce Rs that is incorporated in parameters C5 = RsKGS, session key SKS = h (UIDi*||SNIDj*||Rm*||Rg*||Rs) and value D1 = h (KGS||SKS||Rs). Therefore, user’s login request message LogReq and SNj’s authentication message Auth2 are session-specific. As such, it is difficult for the adversary to associate these two messages to particular users and sensors.

Proposition 6

Our scheme is resilient against side-channeling and physical attacks.

Proof

The goal of the attacker is to steal user’s MDi and use power analysis techniques to retrieve the stored secrets. In our scheme, the MDi stores value set {f (.), λ, ε, A2, A3, Pk, Ra} in its memory. Here, λ = h (CPi), ε = CPiβi, A1 = h (PWi||Ra), A2 = h (UIDi||A1||CPi), A3 = h (UIDi||Mk) h (A1||CPi), CPi is the code-phrase chosen by the GWk, Ra is the random nonce generated by the MDi while Pk = nP is the public key computed at the GWk. Next, an attempt is made to retrieve user’s unique identity UIDi and password PWi. This requires access to security tokens such as CPi and master key Mk for GWk. In addition, adversary Å needs to reverse the one-way hashing function to obtain these parameters from A1and A2. Since this presents a computationally infeasible activity, this attack flops.

Proposition 7

Known Session-Specific Temporary Information (KSSTI) attacks are prevented.

Proof

In our scheme, all the three entities derive the session key used to encipher the sensory data. Whereas the SNj derives the session key as SKS = h (UIDi*||SNIDj*||Rm*||Rg*||Rs), the GWk derives it as SKG = h (UIDi*||SNIDj*||Rm*||Rg||Rs*). Similarly, the MDi computes the session key as SKD = h (UIDi||SNIDj||Rm||Rg*||Rs*). Based on Propositions 1 and 5, adversary cannot obtain identities UIDi and SNIDj from the exchanged messages. In addition, Proposition 6 has detailed the difficulty of obtaining UIDi from MDi’s memory. Therefore, even if temporary information such as random nonces Rm, Rg and Rs are compromised by Å, these session keys cannot be computed.

Proposition 8

Strong mutual authentication is executed among all network entities.

Proof

In our scheme, the MDi validates user biometric data by checking whether h (CPi*) λ = h (CPi). In addition, it verifies user unique identity UIDi and password PWi by confirming if A2* A2. On its part, the the GWk authenticates MDi by checking whether B5* B5, while the SNj validates GWk through the confirmation of whether D1* D1. Finally, the the MDi authenticates the SNj by establishing whether D4* D4. In all these authentication scenarios, the session is aborted upon validation failure.

Proposition 9

Session keys are negotiated among all network entities.

Proof

To protect the exchanged sensor data, the MDi, GWk and SNj setup session keys amongst themselves. Upon receiving authentication message Auth1 = {C1, C2, C3, C4}, the SNj computes values UIDi* = C1KGS*, Rg* = C2h (UIDi*||KGS*), Rm* = Rg*C3, C4* = h (UIDi*||SNIDj*||KGS||Rm*||Rg*), C5 = RsKGS and session key SKS = h (UIDi*||SNIDj*||Rm*||Rg*||Rs). Similarly, on getting authentication response message Auth2 = {C5, D1}, the GWk derives value Rs* = C5KGS* and session key SKG = h (UIDi*||SNIDj*||Rm*||Rg||Rs*). On its part, the MDi receives authentication message Auth3 = {D2, D3, D4} after which it derives values Rg* = A4D2, Rs* = RmD3 and session key SKD = h (UIDi||SNIDj||Rm||Rg*||Rs*). These session keys are used by these entities to encipher the sensor data exchanged between the MDi and SNj via the GWk.

Proposition 10

Our scheme is robust against MitM and forgery attacks.

Proof

The aim of adversary Å is to gather information belonging to the network entities and attempt to forge the exchanged messages LogReq = {A5, B2, B3, B4, B5}, Auth1 = {C1, C2, C3, C4}, Auth2 = {C5, D1} and Auth3 = {D2, D3, D4}. Here, A1 = h (PWi||Ra), A3 = h (UIDi||Mk) h (A1||CPi), A4 = A3h (h(PWi||Ra)||CPi*), A5 = Rn.P, B1 = Rn.Pk = Rn.nP, B2 = UIDiB1, B3 = A4Rm, B4 = h (UIDi||Rm) SNIDj, B5 = h (A4||SNIDj||B1||Rm), C1 = UIDi*KGS*, C2 = Rgh (UIDi*||KGS*), C3 = RgRm*, C4 = h (UIDi*||SNIDj*||KGS*||Rm*||Rg), C5 = RsKGS, D1 = h (KGS||SKS||Rs), D2 = A4*Rg, D3 = Rm*Rs* and D4 = h (UIDi*||SKG||Rg||Rs*). To forge these messages, Å needs access to GWk’s master key Pk, UIDi, SNIDj, PWi, CPi*, Mk, SKS, SKG, KGS as well as random nonces Ra, Rg, Rm , Rn and Rs. Proposition 1 , Proposition 5 and Proposition 6 have demonstrated the difficulty that Å faces in obtaining UIDi and SNIDj. On the other hand, Propositions 4 and 6 have shown the challenges Å faces in retrieving PWi. Similarly, Proposition 7 has demonstrated the diffulty of adversarial derivation of session keys SKS, SKG and SKD. Since Mk is only known to GWk and KGS is only known by GWk and SNj, Å cannot access these values. Similarly, random nonces are independently derived at the MDi, GWk and SNj, hence not available to Å. As such, forgery attacks against our scheme flops.

Proposition 11

Backward and forward key secrecy is upheld.

Proof

In our scheme, the SNj computes session key as SKS = h (UIDi*||SNIDj*||Rm*||Rg*||Rs) while the GWk derives the session key as SKG = h (UIDi*||SNIDj*||Rm*||Rg||Rs*). Similarly, the MDi calculates the session key as SKD = h (UIDi||SNIDj||Rm||Rg*||Rs*). The incorporation of random nonces Rm, Rg* Rs* renders the derived session keys one-time such that they are only valid for a particular session. Therefore, although adversary Å compromises the current session keys, it is not possible to use the captured parameters to derive session keys for the previous and subsequent communication session.

Performance evaluation

In this section, we present the comparative evaluations of our scheme in terms of computation costs, communication costs, functional and security features. The specific details are elaborated in the sub-sections below.

Computation costs

The proposed scheme is implemented in a laptop with the specifications in Table 2. Using the specifications in Table 2, the execution time times for the the elliptic curve point multiplication (TEM) ≈ 21.74 ms, one-way hashing (TH) ≈ 0.63 ms and elliptic curve point addition (TEA) ≈ 6.75 ms.

Table 2 Implementation environment.

During the login, authentication and key negotiation phase, the MDi executes 2 ECC point multiplications and 8 one-way hashing operations. On the other hand, the GWk carries out a single ECC point multiplication and 9 one-way hashing operations. On its part, the SNj executes only 4 one-way hashing operations. Therefore, the total computation cost of our scheme is 21TH + 3 TEM. Table 3 presents the computation costs comparative evaluation of our scheme against other related schemes.

Table 3 Computation costs comparisons.

As shown in Fig. 4, the scheme developed in71 incurs the highest computation costs of 251.33 ms. This is attributed to the numerous elliptic curve point multiplications which are computationally intensive. This is followed by the protocols in31,61,68,72,73 which incur computation overheads of 248.99 ms, 215.46 ms, 145.56 ms, 133.59 ms and 98.93 ms respectively.

Figure 4
figure 4

Computation costs comparisons.

On the other hand, the proposed scheme incurs the lowest computation costs of only 78.45 ms. Based on the scheme in68, our protocol reduced the computation costs by 20.7%. Since the sensors in smart cities are limited in terms of the computation power, our scheme is the most ideal for deployment in this environment.

Communication costs

In the course of the login, authentication and session key setup phase, 4 messages are exchanged among the MDi, GWk and SNj. These messages include LogReq = {A5, B2, B3, B4, B5}, Auth1 = {C1, C2, C3, C4}, Auth2 = {C5, D1} and Auth3 = {D2, D3, D4}. Here, ECC point multiplication = 160 bits, identities = 32 bits, one way hashing = 160 bits and random nonces = 128 bits. Using these values, LogReq = 160 + 160 + 160 + 160 + 160 = 800 bits, Auth1 = 160 + 160 + 128 + 160 = 608 bits, Auth2 = 160 + 160 = 320 bits and Auth3 = 160 + 128 + 160 = 448 bits. As such, the total communication overhead is 2176 bits. Table 4 provides comparative evaluation of the communication costs of our scheme against other related protocols.

Table 4 Communication costs comparisons.

As shown in Fig. 5, the protocol in68 has the highest communication costs of 2336 bits. This is followed by the proposed scheme which inclurs a communication overhead of 2176 bits. This is attributed to the strong mutual authentication that must be executed among the MDi, GWk and SNj.

Figure 5
figure 5

Communication costs comparisons.

Although the protocols in31,61,71,72,73 incur relatively lower communication costs, they are insecure since they cannot offer functional and security features supported by our scheme, as evidenced in Table 5.

Table 5 Functional and security features.

Functional and security features

In this sub-section, we discusses the comparative evaluation of our scheme in terms of offered functional and security features. Table 5 presents the security features supported by our scheme as well as the attacks that this scheme is resilient against. The security features and resilience of its peers are also detailed.

As shown in Table 5, the protocol in68 supports only 7 functionalities and hence is the most insecure. This is followed by the scheme in31 which supports 8 security features. On the other hand, the protocols in71,72,73 support 10 functionalities each. However, the protocol developed in61 supports 12 functionalities while the proposed scheme offers support for all the 20 security features and functionalities. Although our scheme incurs slightly higher communication overheads, it supports the highets number of security and privacy functionalites. In addition, it incurs the lowest computation costs. As such, it offers a good trade-off between privacy, security and performance.

Some of the anticipated limitations that are likely to crop up during the practical implementation of our scheme is its slightly high communication costs and the need for biometric reader at the user mobile device MDi. Specifically, the accurate recovery of biometric tokens via fuzzy extraction is not a trivial exercise.

Conclusion and future work

The security, privacy and performance issues in smart cities have attracted a lot of attention from the industry and academia. Therefore, past research works have developed a myriad of security solutions for this environment. In majority of these approaches, public key cryptography, blockchain and bilinear pairing operations are utilized. As such, the resulting authentication process is computationally extensive and hence long latencies can be experienced. In addition, they place high communication, energy and storage overheads on the resource-limited smart city sensor devices. Motivated by this, we have presented a biometric-based scheme that has been demonstrated to incur the least computation overheads. Its formal security analysis has shown that it performs strong mutual authentication and key negotiation in an appropriate manner. In addition, informal security analysis has shown that it is secure under all the threat assumptions in the Canetti and Krawczyk attack model. Future research work will involve further reductions in the communication overheads which are observed to be slightly higher compared with some of its peers.