Next Article in Journal
Effects of a Home-Based Foot–Ankle Exercise Program with Educational Booklet for Foot Dysfunctions in People with Diabetic Neuropathy: Results of the FOCA-II Randomized Controlled Clinical Trial
Next Article in Special Issue
A Survey on Consensus Protocols and Attacks on Blockchain Technology
Previous Article in Journal
Reconfigurable Multi-Beam Receiver Based on Microwave Photonics Technology
Previous Article in Special Issue
Optimal Design and Simulation for the Intelligent Control of Sewage Treatment Based on Multi-Objective Particle Swarm Optimization
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Towards a Provably Secure Authentication Protocol for Fog-Driven IoT-Based Systems

by
Minahil Rana
1,†,
Khalid Mahmood
2,*,†,
Muhammad Asad Saleem
3,†,
Fadi Al-Turjman
4,†,
Manjur Sayyadbadasha Kolhar
5,† and
Chadi Altrjman
6,7,†
1
Department of Computer Science, COMSATS University Islamabad, Sahiwal Campus, Sahiwal 57000, Pakistan
2
Graduate School of Intelligent Data Science, National Yunlin University of Science and Technology, Yunlin 64002, Taiwan
3
Department of Computer Science, University of Sahiwal, Sahiwal 57000, Pakistan
4
Research Center for AI and IoT, Artificial Intelligence Engineering Deptartment, Near East University, Mersin 10, Turkey
5
Deptartment Computer Science, College of Arts and Science, Prince Sattam Bin Abdulaziz University, Al-Kharj 11990, Saudi Arabia
6
Research Center for AI and IoT, Faculty of Engineering, University of Kyrenia, Kyrenia, Mersin 10, Turkey
7
Faculty of Engineering, University of Waterloo, Waterloo, ON N2L 3G1, Canada
*
Author to whom correspondence should be addressed.
These authors contributed equally to this work.
Appl. Sci. 2023, 13(3), 1424; https://doi.org/10.3390/app13031424
Submission received: 17 December 2022 / Revised: 5 January 2023 / Accepted: 18 January 2023 / Published: 20 January 2023

Abstract

:
The emergence of fog-based Internet of Things (IoT) systems have played a significant role in enhancing the applicability of the IoT paradigm. In such systems, fog-nodes are proficient enough to retain, process and transmit the data coming from IoT devices. Nevertheless, as an extension of cloud computing, inheriting the security and privacy concerns of cloud computing is also inevitable in fog-based IoT systems. To deal with such challenges, a diverse range of security solutions are reported in the literature. However, most of them have several limitations (i.e., vulnerability to known security attacks and high computation overhead) that curtail their practical implementation applicability. Keeping these limitations in mind, this paper propose a privacy-preserving hash-based authenticated key agreement protocol using XOR and concatenation operations for fog-driven IoT systems. Using healthcare as a case study, the security of the novel protocol is evaluated by using informal and formal security analysis. In order to obtain the experimental results, the key cryptographic operations used at the user, fog node and cloud server-side are implemented on a mobile device, Arduino and cloud server, respectively. Findings from the performance evaluation results show that the proposed protocol has the least computation cost compared to several related competing protocols.

1. Introduction

In this modern era, the healthcare system has proved to be an influential industrial IoT (IIoT) application in which IoT devices are deployed either at enormous healthcare centers or small private clinics. Moreover, the increasing popularity of the several wearable smart IoT devices has significantly transformed the typical healthcare system from an originally hospital-centric to a patient-centric system. Such a patient-centric approach bridges the gap between practitioners and patients by offering reliable and seamless delivery of sensitive information. It allows citizens to contact practitioners remotely and be availed of medical advice and prescriptions at their doorstep. For instance, wearable smart IoT devices (i.e., heart rate monitors, Electrocardiograms (ECG) monitoring instruments, etc.) are proficient enough to sense, inspect and stream information to various healthcare professionals without any requirement of a physical visit to the hospital [1,2].
The healthcare system is considered a particular industry that requires minimized latency. For instance, a delay of only a minute can cause damage to the life of an individual who is suffering from a heart attack. Therefore, in this context, a remarkable fog-driven solution is considered. A fog-driven healthcare system based on IoT is illustrated in Figure 1. It is obvious from Figure 1 that the fog-driven healthcare system based on IoT comprises three layers including (i) the cloud layer of IoT healthcare, (ii) the fog layer of IoT healthcare and (iii) the device layer of IoT healthcare [3,4].
Conventionally, fog computing exhibits classified infrastructure which consists of the fog-nodes and cloud data centers. The sequential architecture of fog computing is depicted in Figure 2, where the sensors and connected IoT devices are utilized to manage unique tasks such as physical objects monitoring, the collection of data related to objects, and communication of data towards the fog-nodes. All the involved devices are further connected to the nearest fog-nodes via numerous communication protocols. The fog-nodes installed at suitable sites are responsible for storing, processing and transmitting the collected data of different objects. The fog-nodes command the data from both cloud and user. Further, they are responsible for refining the collected data and transmitting this accumulated data towards the cloud for interpretation or storage. However, the cloud data center comprises storage devices and high-performance servers. It offers networking, computing and storage facilities for large scale data. Furthermore, the core network and edge network ensure two-way communication for the smooth transmission of data among IoT devices, fog-nodes and the cloud data center.
Contrary to the concept of cloud computing, which is purely considered a centralized system, the deployment of fog-nodes is performed without any suitable safety scope. Simply, fog-nodes and end devices have a high chance of being compromised. This situation could lead to privacy violation through leakage of users’ information, such as location, identity, medical records and health status, etc.
Table 1 gives an in-depth summary of contemporary existing key agreement protocols with respect to the techniques employed by each protocol, and their limitations against various attacks, in chronological order. Moreover, it is noticeable that no work in the existing literature supports user revocation to the best of our knowledge. In summary, the secure, robust and practical design of an authentication protocol for a fog-based environment is still a challenging job. Keeping this in mind, this paper introduces a three-party identity-based authenticated key agreement protocol for a fog-driven IoT healthcare framework by focusing on the security and privacy challenges faced during the communication.
In order to prevent impersonation and to establish a firm trust, each fog-node or user in the system must be authenticated and identified uniquely. Further, to ensure privacy and security, there is a vital need to encrypt the data that are transmitted via open medium and then stored in the cloud server or fog-nodes. Nonetheless, the pre-sharing of session keys between the end devices and the fog-nodes is not realistic due to the mobile and dynamic nature of various fog-nodes and end devices. Thus, AKA (authenticated key agreement) protocol provides the best solution for authenticating nodes or users and generating session keys [14]. The main contributions of this article are as follows:
  • This paper presents a three-party identity-based authenticated key agreement scheme to secure the communication of data among the participants in an IoT based fog-driven healthcare system. The robust identity-based three-party AKA protocol is designed using hash, XOR and concatenation operations.
  • The proposed protocol ensures mutual authentication among users, fog-nodes and cloud service providers for the establishment of a shared session key. This shared session key is used by all the participants.
  • Our designed protocol guarantees that the identity of any user can not be exposed to any adversary except the cloud server.
The rest of our article is formulated according to the following. The complexity assumptions are illustrated in Section 2, while introduced protocol is presented in Section 3. Section 4 describes the security analysis of our presented scheme. Performance comparison of the proposed protocol and related competing protocols is illustrated in Section 5. Lastly, we have concluded our work in Section 6.

2. Complexity Assumptions

This section briefly describes the communal threat model. Moreover, the commonly used notations throughout the article are presented in Table 2.

Threat Assumption Model

In order to discuss the capabilities of an adversary, an adversarial model is briefly described as mentioned in [15,16]. An adversary A a t t has the following capabilities:
  • A a t t has full control over the public channel.
  • A a t t can be a user or cloud service provider.
  • CSP is assumed to be honest but curious, whereas, FN f is assumed as untrustworthy entity; because of that, it does not keep any verifier of U k .
  • A a t t can intercept the messages that are exchanged over the public channel between U k , FN f or CSP .
  • A a t t can modify and replay the intercepted messages to misuse them.
  • The cloud service provider CSP is a secure entity, so, A a t t cannot access it.
  • A a t t can be an insider or outsider. An outsider A a t t can be a deceitful user and internal A a t t can be a cloud server, provider or user.

3. Proposed ITP-AKA Protocol

This section demonstrates our proposed identity-based three-party authenticated key agreement (ITP-AKA) protocol. Detailed descriptions of all these phases are shown in Section 3.1, Section 3.2 and Section 3.3, respectively. Login and authentication phase was shown in Figure 3.

3.1. User Registration Phase

Initially, user U k imitates the process to get himself registered with the cloud service provider CSP . For this purpose, U k performs the subsequent steps:
1:
U k randomly chooses r k Z p * , identity I D k and computes R I D k = h ( I D k r k ) . U k sends I D k , R I D k to CSP via a secure channel.
2:
After receiving U k s request, CSP computes the following values: X k = h ( I D k x ) , Y k = R I D k X k . Further, CSP selects T I D k for the respective user U k and calculates Z k = h ( X k I D k T I D k R I D k ) and stores I D k in its database corresponding to T I D k and using x. CSP then transmits { Y k , T I D k , Z k } to U k using a private channel.
3:
After receiving the message from CSP , U k computes Y k ¯ = ( Y k r k ) I D k and stores { Y k ¯ , Z k , T I D k } in its tamper-proof device.

3.2. Fog-Node Registration Phase

In order to deploy the fog-node, it must initially be registered with CSP , according to the subsequent steps:
1:
FN f sends its identity to the CSP . On obtaining the FN f identity, CSP calculates X f = h ( I D f x ) , Y f = X f I D f and selects T I D f . CSP stores I D f in its database corresponding to T I D f using x, and transmits { Y f , T I D f } to the fog-node via a secure channel.
2:
After taking the message from CSP , FN f stores { Y f , T I D f } in its tamper-proof device.

3.3. Login and Authentication Phase

This phase of proposed protocol finishes with the below-mentioned subsections taken by all the participants:
  • Step#1 • Login:
    • U k inputs its identity and computes ( Y k r k ) = Y k ¯ I D k , R I D k = h ( I D k r k ) , X k = Y k R I D k . After that, U k verifies Z k = ? h ( X k I D k T I D k R I D k ) . If the condition is true, U k generates arbitrary numbers r 3 , r 4 and calculates M 1 = ( r 3 r 4 ) X k , a u t h k = h ( I D k I D c s p X k r 4 ) and forwards the login request message { M 1 , T I D k , a u t h k } towards FN f . Otherwise, the login request by U k is rejected. U k FN f : { M 1 , T I D k , a u t h k } .
  • Step#2 • Login:
    • After receiving the authentication request from U k , FN f generates an arbitrary numbers r 5 , r 6 and computes X f = I D f Y f , M 2 = ( r 5 r 6 ) X f , a u t h f = h ( I D f I D c s p X f r 6 ) . FN f forwards { M 1 , M 2 , T I D k , T I D f , a u t h k , a u t h f } to the CSP . FN f CSP : { M 1 , M 2 , T I D k , T I D f , a u t h k , a u t h f } .
  • Step#3 • Authentication & Key Establishment:
    • After receiving the authentication request message from FN f , CSP extracts user’s I D k corresponding to T I D k from its database using x, and determines X k = h ( I D x x ) , ( r 3 r 4 ) = X k M 1 . For authenticating the user, CSP verifies a u t h k = ? h ( I D k I D c s p X k r 4 ) . If the condition is false, the current session will be ended. Otherwise, CSP extracts fog-node I D f corresponding to T I D f from its database using x, and determines X f = h ( I D f x ) , ( r 5 r 6 ) = X f M 2 . Now, for authenticating the fog-node, CSP verifies a u t h f = ? h ( I D f I D c s p X f r 6 ) . If this condition is wrong, the session will be aborted. Once the aforementioned conditions are true, CSP then generates an arbitrary number r 7 Z p * and computes N 1 = r 3 ( r 5 r 7 ) , N 2 = r 5 ( r 3 r 7 ) , S K k f c s p = h ( ( r 3 r 5 r 7 ) N 1 I D c s p ) , a u t h c s p 1 = h ( I D k I D c s p X k S K k f c s p r 4 r 7 ) a u t h c s p 2 = h ( I D f I D c s p X f S K k f c s p r 6 r 7 ) . Furthermore, CSP selects T I D k n e w for the user and T I D f n e w for the fog-node and computes Q k = r 4 T I D k n e w , Q f = r 6 T I D f n e w and updates the value of T I D k n e w and T I D f n e w for the user and the fog-node in its database and transmits the response message { N 1 , N 2 , Q k , Q f , a u t h c s p 1 , a u t h c s p 2 } to the FN f . CSP FN f : { N 1 , N 2 , Q k , Q f , a u t h c s p 1 , a u t h c s p 2 } .
  • Step#4 • Key Establishment:
    • On receiving the response message from CSP , FN f computes ( r 3 r 7 ) = N 2 r 5 , S K k f c s p = h ( ( r 3 r 5 r 7 ) N 1 I D c s p ) . Furthermore, FN f authenticates CSP by verifying a u t h c s p 2 = ? h ( I D f I D c s p X f S K k f c s p r 6 r 7 ) . If this condition is wrong, the current session will be ended. Otherwise, it will calculate T I D f n e w = Q f r 6 and update the value of T I D k N e w in the tamper-proof device TPD k of the fog-node and relays { N 1 , Q k , a u t h c s p 1 } to U k . FN f U k : { N 1 , Q k , a u t h c s p 1 } .
  • Step#5 • Key Establishment:
    • On receiving the response message from FN f , U k computes ( r 5 r 7 ) = N 1 r 3 ,   S K k f c s p = h ( ( r 3 r 5 r 7 ) N 1 I D c s p ) . Moreover, U k authenticates CSP by verifying a u t h c s p 1 = ? h ( I D k I D c s p X k S K k f c s p r 4 r 7 ) . If this condition goes wrong, the current session will be ended. Otherwise, it will calculate T I D k n e w = Q k r 4 and update the value of T I D k N e w in the user tamper-proof device.

3.4. User Revocation Phase

Several circumstances in the fog computing system require the U k revocation mechanism to revoke a compromised U k ’s account from the system. Assume that once a U k ’s memory device is lost, U k revokes their account with CSP using the same I D k . The mentioned points are critical to execute the user revocation phase:
1:
U k randomly chooses a new r k n e w Z p * , identity I D k and computes R I D k n e w = h ( I D k r k n e w ) . U k sends I D k , R I D k n e w to CSP using a private channel.
2:
After getting U k s request, CSP computes the following values X k = h ( I D k x ) , Y k n e w = R I D k n e w X k . Afterwords, CSP selects T I D k n e w for the respective U k and calculates Z k n e w = h ( X k I D k T I D k n e w R I D k n e w ) and stores I D k in its database corresponding to T I D k n e w using x. CSP then transmits { Y k n e w , T I D k n e w , Z k n e w } to U k via a private channel.
3:
After getting the message from CSP , U k computes Y k n e w ¯ = ( Y k n e w r k ) I D k and stores
{ Y k n e w ¯ , Z k n e w , T I D k n e w } in its tamper-proof device.

4. Security Analysis

In this section, the security of the fog-based proposed protocol for an IoT healthcare environment is analyzed. The proposed protocol is evaluated formally and informally to determine its security strength. A detailed description of the security features is described in subsections.

4.1. Informal Security Analysis

This analysis shows that the proposed protocol is secure against different attacks. Furthermore, it shows that the proposed protocol achieves mutual authentication and ensures user anonymity.

4.1.1. Providing Mutual Authentication

In our proposed protocol, both participants U k and CSP mutually authenticate each other to ensure their legitimacy. CSP authenticates U k by checking whether a u t h k = ? h ( I D k I D c s p X k r 4 ) holds or not. Any adversary cannot pass this check, as he cannot compute valid X k = h ( I D k x ) , because it involves the secret key x of CSP . So, CSP only authenticates the legitimate user U k . Likewise, U k authenticates CSP while checking a u t h c s p 1 = ? h ( I D k I D c s p x k s k k f c s p r 4 r 7 ) . The valid CSP can pass this check because an adversary cannot know the value I D c s p of the legitimate CSP . Furthermore, an adversary cannot compute X k because he does not have any knowledge of server’s secret key. Hence, the proposed protocol provides mutual authentication among U k and CSP .

4.1.2. Providing User Anonymity and Untraceability

User anonymity is considered an important security feature while designing authenticated key agreement protocols. The proposed protocol ensures the anonymity of user because instead of transmitting the identity I D k of U k in plain text over a public channel, T I D k is forwarded, which is randomly selected by CSP and not known to any adversary. Similarly, in every session, dynamic T I D k is transmitted over a public channel. Therefore, no adversary can determine the identity of user. Consequently, the devised protocol is resistant to traceability attacks.

4.1.3. Resisting Tamper-Proof Device Stolen Attacks

The U k holds { Y k ¯ , Z k , T I D k } in a tamper-proof device T P D k . It is quite possible that an adversary can steal T P D k , extract all the values stored in it and initiate a valid request message. In our proposed protocol, an adversary cannot compute a valid login request message even after stealing T P D k . If an adversary wants to calculate a valid login request message { M 1 , T I D k , a u t h k } , he will have to compute a valid a u t h k . The computation of a u t h k = h ( I D k I D c s p X k r 4 ) is not possible for an adversary as he can neither compute the valid value of X k , nor can he retrieve the value of the random number r 4 . Further, the adversary does not know the identity I D k of U k . So, the proposed protocol is secure against tamper-proof device stolen attacks.

4.1.4. Resisting User Masquerading Attacks

In the proposed protocol, legitimate user U k sends the login request message to FN f , and FN f relays the message { M 1 , M 2 , T I D k , T I D f , a u t h k , a u t h f } towards CSP . Suppose an adversary intercepts the login request message { M 1 , T I D k , a u t h k } initiated by U k and tries to impersonate the legal user U k . In our proposed protocol, even after breaching the login request message { M 1 , T I D k , a u t h k } , A a t t cannot compute a valid a u t h k , as the computation of an a u t h k requires the I D k of U k which is unknown to A a t t . So, A a t t cannot masquerade as the legitimate user.

4.1.5. Resisting Fog-Node Masquerading Attacks

During the login and authentication phase of proposed protocol, fog-node FN f transmits a message { M 1 , M 2 , T I D k , T I D f , a u t h k , a u t h f } towards cloud service provider CSP . As the message is transmitted over a public channel, A a t t can intercept this message and try to impersonate the FN f . Therefore, in order to impersonate the fog-node FN f successfully, A a t t needs to re-generate the message { M 1 , M 2 , T I D k , T I D f , a u t h k , a u t h f } . It is obvious from Section 4.1.4 that A a t t cannot compute a valid a u t h k , as it involves the I D k of U k , which is unknown to A a t t . Likewise, the computation of a u t h f is also not possible for A a t t , due to the involvement of I D f . Therefore, it is quite impossible for A a t t to re-generate the message { M 1 , M 2 , T I D k , T I D f , a u t h k , a u t h f } . So, the impersonation of FN f is not possible in our proposed protocol.

4.1.6. Resisting Cloud Service Provider Masquerading Attacks

In the proposed protocol, CSP transmits the challenge message towards U k through FN f . Suppose an adversary intercepts the challenge message; even then, he cannot impersonate the valid CSP . Although A a t t can compute all the other values of challenge message, he cannot compute a valid a u t h c s p 1 and a u t h c s p 2 . The computation of a u t h c s p 1 and a u t h c s p 2 needs the calculation of valid X k and X f which is only possible with secret key x of CSP . As, x is not known to A a t t , so A a t t cannot impersonate valid CSP . This is how our protocol resists a CSP masquerading attack.

4.1.7. Stolen-Verifier Attacks

In the proposed protocol, CSP maintains a database to store the identities { I D k , I D f } of U k and FN f , respectively. However, the real identities of U k and FN f are encrypted using the private key x of CSP . Since x is the private key of CSP , which is only known to CSP , A a t t cannot extract { I D k , I D f } . Hence, our protocol resists stolen verifier attacks.

4.1.8. Resisting Known Session Key Attacks

During the computation of session key SK k f c s p = h ( ( r 3 r 5 r 7 ) N 1 I D c s p ) , session specific random numbers r 3 , r 5 and r 7 are used. So, the computed session key of each session is not dependent on any other session. Therefore, even if the session key of one session is leaked, there will be no impact on the privacy of other session keys.

4.1.9. Perfect Forward and Backward Secrecy

It is clearly mentioned in Section 4.1.8 that even the leakage of one session key does not impact upon the privacy of upcoming/previous session keys. Therefore, the devised protocol offers perfect backward as well as forward secrecy.

4.2. Formal Security Analysis

In this subsection, the formal security analysis of the proposed protocol is discussed using random oracle model (ROM) and automated validation of internet security protocols and applications (AVISPA).

Random Oracle Model

In this subsection, the formal security analysis of the proposed protocol is discussed using the following theorem.
Theorem 1. 
Let P denote the proposed protocol. If an adversary A a t t wins the AKA attack game, having advantage A d v t p A K A ( A a t t ) , then there must be a polynomial time algorithm that can solve the D B D H hard problem with following:
A d v t G m 1 , G m 2 D B D H 1 q s d A d v t p A K A ( A a t t ) Σ a = 0 a = 4 q h a 2 + ( q s n + q e x ) 2 2 p q s n + q h 5 p q s n + 2 q h 0 q h 3 p 2 q s n
whereas q h a = ( a = 0 , 1 , 2 , 3 , 4 , 5 ) , q s n , q e x , q r v indicates the time of H a s h , S e n d , E x e c u t i o n , and R e v e a l queries, respectively.
Proof. 
Let A a t t be an attacker who attacks on protocol and wins the game with an advantage of ε . A challenger C is constructed, who solves D B D H problem instance ( P , S P , Y P , V P , h ) for some unknown s , t , v ε Z p * and h ε G 2 , to decide if h = e ( P , P ) s t v holds or not. All the hash functions of the proposed protocol are simulated as random oracles, and C established a hash list L H a s h which is initialized as an empty list. Message (a = 1,2,3,4) indicates the messages that are being transmitted by the entities during protocol’s execution. C chooses r k ε Z p * randomly and publishes R I D k = h ( I D k r k ) ; C also sets identities I D k , I D f for the user and fog-node. C runs the proposed protocol and answers the following queries of A a t t s oracle. □
Send query: A a t t initiates an active attack and using different S e n d queries forwards the messages. Four different S e n d queries are available to A a t t , which are as follows:
  • S e n d ( U k i ( F N f , S T A R T ) ) : After getting the query, C initiates a new session and returns the login message produced by the user. Particularly, C chooses r 3 and r 4 randomly and computes M 1 = ( r 3 r 4 ) X k ,   a u t h k = h ( I D k I D c s p X k r 4 ) . Moreover, C returns { M 1 , T I D k , a u t h k } to A a t t , and Π c i is set to an expecting state.
  • S e n d ( F N f j , M e s s a g e 1 ): After getting this query, C first breaks the M e s s a g e 1 into ( M 1 , T I D k , a u t h k ) , picks r 5 , r 6 , and computes X f = I D f Y f , M 2 = ( r 5 r 6 ) X f , a u t h f = h ( I D f I D c s p X f r 6 ) . Then C returns { M 1 , M 2 , T I D k , T I D f , a u t h k , a u t h f } to A a t t and sets Π F N j to an expecting state.
  • S e n d ( CSP k , M e s s a g e 2 ): After getting this query, C breaks the M e s s a g e 2 into { M 1 , M 2 , T I D k , T I D f , a u t h k , a u t h f } and computes a u t h k and a u t h f and checks either a u t h k = ? h ( I D k I D c s p X k r 4 ) and a u t h f = ? h ( I D f I D c s p X f r 6 ) holds or not. If not, A a t t s query is rejected by C and returns nothing. Else, C picks r 7 and calculates ( N 1 , N 2 , SK k f c s p , a u t h c s p 1 , a u t h c s p 2 , Q k , Q f ) and sends { N 1 , N 2 , Q k , Q f , a u t h c s p 1 , a u t h c s p 2 } to A a t t and instance c s p terminates.
  • S e n d ( F N f j , M e s s a g e 3 ): After getting this query, it is assumed that Π F N f j is in an expecting state, and determines if a u t h c s p 2 = ? h ( I D f I D c s p X f SK k f c s p r 6 r 7 ) holds or not, If not, then C rejects A a t t s query otherwise C returns back { N 1 , a u t h c s p 1 , Q k } to A a t t and fog instance terminates.
  • S e n d ( U k i , M e s s a g e 4 ): After getting this send query, it is supposed that Π U k i is in an expecting state, C breaks M e s s a g e 4 into { N 1 , Q k , a u t h c s p 1 } which verifies a u t h c s p 1 = ? h ( I D k I D c s p X k SK k f c s p r 4 r 7 ) . If this condition does not hold then C rejects A a t t s query and returns nothing. Otherwise, C calculates T I D f n e w = Q k r 4 and the instance of the client is accepted and terminated. Furthermore, { M e s s a g e 1 , M e s s a g e 2 , M e s s a g e 3 , M e s s a g e 4 } are added to list.
Corrupt query: In order to obtain the long term key of user, an adversary initiates this query.
Upon receiving corrupt ( C , D B ) , the information stored in the database protected with secret key x is returned.
Execute ( U k i , F N f j , CSP k ): On this query, the execution process of proposed protocol is simulated by C after issuing the following S e n d queries.
S e n d ( U k i ( F N f , S T A R T ) )
S e n d ( F N f j , M e s s a g e 1 )
S e n d ( CSP k , M e s s a g e 2 )
S e n d ( F N f j , M e s s a g e 3 )
and C returns { M e s s a g e 1 , M e s s a g e 2 , M e s s a g e 3 , M e s s a g e 4 } to A a t t .
Reveal Π p a : On receiving this query, C responds with a session key if instance Π l a is accepted; otherwise, it returns ⊥.
Test query: On receiving the test query ( U k i ) , C chooses τ ε { 0 , 1 } . If τ = 1 , then C gives back the true session key; otherwise, it return a the random value of similar size. The above said proof is compared on sequence games G m 0 , G m 1 , G m 2 , G m 3 , G m 4 , G m 5 . Let S a be the event that A a t t outputs the correct τ in game G m a (a = 0,1,2,3,4).
Game G m 0 : G m 0 is the actual attacking game. Just like a real player, C simulates the oracle queries in this game. The chances of success in this game are quite equal to the probability that A a t t succeeds in attacking the proposed protocol and obtains the following:
ε = | 2 P r [ S 0 ] 1 |
Game G m 1 : This game is identical to G m 0 . The difference is that C maintains a list of values L 0 L 5 . C searches the related list when the hash oracle is queried. If there exists any entry, then the same value is returned; otherwise, C returns the random value and inserts it into corresponding list L i . It is visible and concluded here from the properties of oracle that G m 1 is indistinguishable from G m 0 . Therefore:
P r [ S 1 ] = P r [ S 0 ]
Game G m 2 : This game is identical to G m 1 . The difference is that in this game, the simulation of all queries will be terminated only if the following two events occur:
  • Event ( E A ): Collision on the result hash queries.
  • Event ( E B ): Collision on the copy of all messages ( M e s s a g e 1 , M e s s a g e 2 , M e s s a g e 3 , M e s s a g e 4 ).
As per the the definition of birthday paradox:
P r [ E a ] Σ a = 0 a = 4 q h a 2 2 p
Since a,b,c are randomly chosen, the probability of E B happening is P r [ E b ] ( q s n = q e x ) 2 2 p , where q s n and q e x are upper bound of the S e n d and E x e c u t e queries, respectively. Therefore, we have:
| P r [ S 2 ] P r [ S 1 ] | ( Σ a = 0 a = 4 q h a 2 + ( q s n + q e x ) 2 | ( 2 p ) )
Game G m 3 : In this game, the send query is modified. C picks an instance ( U k i , F N f j , CSP k ) and answers A a t t s S e n d queries as follows:
  • When A a t t initiates a S e n d ( U k i , ( F N f , S T A R T )) query, C generates { M 1 , T I D k , a u t h k } and forwards M e s s a g e 1 = { M 1 , T I D k , a u t h k } to A a h .
  • When A a t t generates a S e n d query ( F N f j , M e s s a g e 1 ) , C generates a message { M 1 , M 2 , T I D k , T I D f , a u t h k , a u t h f } to A a t t .
  • When A a t t initiates a S e n d query ( CSP k , M e s s a g e 2 ) , C sets S k k f c s p = h ( ( r 3 r 5 r 7 ) N 1 I D c s p ) and terminates the instance.
  • When A a t t initiates a S e n d query ( F N f j , M e s s a g e 3 ), C sets ( r 3 r 7 ) = N 2 r 5 and returns message { N 1 , Q k , a u t h c s p 1 } to A a t t . It is demonstrated that if the hard assumption D B D H holds, then the difference between G m 2 and G m 3 is ignorable, just as follows:
| P r [ S 3 ] P r [ S 2 ] | q s n A d v t G m 1 , G m 2 D B D H
If there is a differentiator which can easily differentiate G m 2 and G m 3 , then C can solve the D B D H problem by using a differentiator. In the case that the differentiator interacts with G m 2 , then C outputs 1; otherwise, it outputs 0. So, we get A d v t G m 1 , G m 2 D B D H ( 1 q s n ) | P r [ S 3 ] P r [ S 2 ] , and Equation (5) holds; the A a t t can easily differentiate the true and random session key because the values used in G m 3 are random. This can only be possible if the following events occur.
  • Event ( E C ): A a t t queried h 5 oracle, which has probability of
    P r [ E c ] = q h 5 | P
  • Event ( E D ): A a t t impersonates the user by forging the m e s s a g e 1 = { M 1 , T I D k , a u t h k } which posseses the verification executed by CSP . The probability of generating a valid M e s s a g e 1 by A a t t is:
    P r [ E D ] q h o p . q h 1 p = q h 0 q h 3 p 2
  • Event ( E E ): A a t t successfully impersonates the fog-node by forging M e s s a g e 2 , which passes the verification executed by CSP . Like Event E D , the probability of generating a valid M e s s a g e 2 by A a t t is:
    P r [ E E ] q 0 p . q h 3 p = q h 0 q h 3 p 2
Then:
P r [ S 3 ] 1 2 + q h 5 p + 2 q h 0 q h 3 p 2
Using Equations (1) to (5) and (9):
A d v t p A K A ( A a h ) Σ a = 0 a = 4 q h a 2 = ( q s n + q e x ) 2 2 p + q h 5 P + 2 q h 0 q h 3 p 2 + q s n A d v t G m 1 , G m 2 D B D H
Hence,
A d v t G m 1 , G m 2 D B D H 1 q s d A d v t p A K A ( A a t t ) Σ a = 0 a = 4 q h a 2 + ( q s n + q e x ) 2 2 p q s n + q h 5 p q s n + 2 q h 0 q h 3 p 2 q s n
Now, it can be concluded from Theorem 1 that as much as the D B D H problem is hard, for any challenger, it is computationally challenging to break the A K A security of the proposed protocol in polynomial time.

5. Performance Comparison

This section presents the performance analysis between the proposed ITP-AKA and related competing protocols [11,12,13,17,18] in terms of communication, computation and storage overhead.

5.1. Experimental Setup

In order to calculate the computation overhead of the proposed and related competing protocols, hash function and point multiplication are only considered as cryptographic operations. These cryptographic operations are implemented separately for user U k , fog-node FN f and cloud service provider CSP , according to their respective devices in a controlled fog-based IoT environment, to determine their time complexity. The average values of these cryptographic operations are obtained by implementing them several times under same assumptions. The cryptographic operations that have been used at the FN f side are implemented on Arduino, while the cryptographic operations used at the CSP and U k end are implemented on a cloud server and mobile device, respectively. The specifications of Arduino, the cloud server and the mobile device are listed down in Table 3.

5.2. Computation Overhead

The computation overhead is computed while comparing the time required for the execution of basic cryptographic operations used in the login and authentication phase of the proposed and related protocols [11,12,13,17,18]. The notations and required execution time for each entity are listed down in Table 4, whereas the detailed comparison of computation overhead among the proposed and related protocols is shown in Table 5.

5.3. Communication Overhead

The communication overhead of the proposed ITP-AKA and related protocols [11,12,13,17] is determined on the basis of messages that are transmitted among the participating entities of respective protocols. In the proposed ITP-AKA, during the login phase, message { M 1 , T I D k , a u t h k } needs ( 256 + 160 + 256 ) = 672 bits, whereas the messages { M 1 , M 2 , T I D k , T I D f , a u t h k , a u t h f } , { N 1 , N 2 , Q k , Q f , a u t h c s p 1 , a u t h c s p 2 } and { N 1 , Q k , a u t h c s p 1 } transmitted during the authentication and key-establishment phase need ( 256 + 256 + 160 + 160 + 256 + 256 ) = 1344 ,   ( 160 + 160 + 160 + 160 + 256 + 256 ) = 1152 and ( 160 + 160 + 256 ) = 576 bits, respectively. So, the accumulative communication overhead of ITP-AKA is (672 + 1344 + 1152 + 576) = 3744 bits. Furthermore, the communication overhead of all related protocols [11,12,13,17,18] is computed in the same way. The communication overheads of Jia et al. [12], Chen et al. [13], Ma et al. [11], Sahoo et al. [17] and Ever [18] are 4064 bits, 4832 bits, 4254 bits, 2560 bits and 1120 bits, respectively. The comparative analysis of communication overhead reveals that the communication overhead of proposed protocol is less than all related competing protocols except [17,18]. The complete communication overhead comparison among the proposed and related competing protocols is presented in Table 5. Table 6 demonstrates that the designed protocol provides more security and functionality features than the related competing protocols.

6. Conclusions

There are numerous applications of fog computing, ranging from normal to specific. Hence, the potential for offering privacy and security with fog-driven deployment is indispensably significant. In this article, an identity based three-party authenticated and key agreement protocol is proposed for a fog-driven IoT healthcare system. The proposed protocol is efficiently resists numerous known security attacks, as shown in Section 4. The performance analysis demonstrates that the proposed scheme has great potential for deployment in real-world healthcare systems; the computation cost of our protocol is 0.5904 ms, which is less than the computation cost of related protocols. Similarly, the communication cost of the proposed protocol is less than the related protocols, except Sahoo et al. and Ever.
In the future, we will design a blockchain-assisted access control protocol for fog-driven IoT healthcare systems. The reason behind employing blockchain in such infrastructure is that patients’ healthcare information is highly sensitive and confidential. Therefore, data will be stored in the blocks; due to its strong integrity and immutable and tamper-resistant qualities, blockchain will restrict adversaries from modifying healthcare data. Moreover, the proposed protocol will be simulated in a broadly-recognized NS3-simulator tool to assess its performance from distinct network parameters (i.e., end-to-end delay, throughput, etc.).

Author Contributions

Conceptualization, M.R., K.M., F.A.-T., M.S.K. and C.A.; Methodology, M.R., K.M., F.A.-T. and M.S.K.; Validation, M.A.S.; Formal analysis, M.A.S.; Data curation, M.A.S. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Shamshad, S.; Ayub, M.F.; Mahmood, K.; Kumari, S.; Chaudhry, S.A.; Chen, C.M. An enhanced scheme for mutual authentication for healthcare services. Digit. Commun. Netw. 2022, 8, 150–161. [Google Scholar] [CrossRef]
  2. Shamshad, S.; Mahmood, K.; Hussain, S.; Garg, S.; Das, A.K.; Kumar, N.; Rodrigues, J.J. An Efficient Privacy-Preserving Authenticated Key Establishment Protocol for Health Monitoring in Industrial Cyber–Physical Systems. IEEE Internet Things J. 2021, 9, 5142–5149. [Google Scholar] [CrossRef]
  3. Mahmood, K.; Obaidat, M.; Ghaffar, Z.; Alzahrani, B.A.; Shamshad, S.; Saleem, M.A.; Hussain, S. Cloud-assisted Secure and Cost-effective Authenticated Solution for Remote Wearable Health Monitoring System. IEEE Trans. Netw. Sci. Eng. 2022. [Google Scholar] [CrossRef]
  4. Zia, M.; Obaidat, M.S.; Mahmood, K.; Shamshad, S.; Saleem, M.A.; Chaudhry, S.A. A Provably Secure Lightweight Key Agreement Protocol for Wireless Body Area Networks in Healthcare System. IEEE Trans. Ind. Inform. 2022, 19, 1683–1690. [Google Scholar] [CrossRef]
  5. Yang, J.H.; Chang, C.C. An ID-based remote mutual authentication with key agreement scheme for mobile devices on elliptic curve cryptosystem. Comput. Secur. 2009, 28, 138–143. [Google Scholar] [CrossRef]
  6. Li, X.; Xiong, Y.; Ma, J.; Wang, W. An efficient and security dynamic identity based authentication protocol for multi-server architecture using smart cards. J. Netw. Comput. Appl. 2012, 35, 763–769. [Google Scholar] [CrossRef]
  7. Tsai, J.L.; Lo, N.W. A privacy-aware authentication scheme for distributed mobile cloud computing services. IEEE Syst. J. 2015, 9, 805–815. [Google Scholar] [CrossRef]
  8. Amin, R.; Kumar, N.; Biswas, G.; Iqbal, R.; Chang, V. A light weight authentication protocol for IoT-enabled devices in distributed Cloud Computing environment. Future Gener. Comput. Syst. 2018, 78, 1005–1019. [Google Scholar] [CrossRef]
  9. Kumar, M.; Saxena, P. PF-AID-2KAP: Pairing-Free Authenticated Identity-Based Two-Party Key Agreement Protocol for Resource-Constrained Devices. In Proceedings of the International Conference on Futuristic Trends in Network and Communication Technologies, Solan, India, 9–10 February 2018; Springer: Berlin/Heidelberg, Germany, 2018; pp. 425–440. [Google Scholar]
  10. Jia, X.; He, D.; Kumar, N.; Choo, K.K.R. A provably secure and efficient identity-based anonymous authentication scheme for mobile edge computing. IEEE Syst. J. 2019, 14, 560–571. [Google Scholar] [CrossRef]
  11. Ma, M.; He, D.; Wang, H.; Kumar, N.; Choo, K.K.R. An efficient and provably secure authenticated key agreement protocol for fog-based vehicular ad hoc networks. IEEE Internet Things J. 2019, 6, 8065–8075. [Google Scholar] [CrossRef]
  12. Jia, X.; He, D.; Kumar, N.; Choo, K.K.R. Authenticated key agreement scheme for fog-driven IoT healthcare system. Wirel. Netw. 2019, 25, 4737–4750. [Google Scholar] [CrossRef]
  13. Chen, C.M.; Huang, Y.; Wang, K.H.; Kumari, S.; Wu, M.E. A secure authenticated and key exchange scheme for fog computing. Enterp. Inf. Syst. 2020, 15, 1200–1215. [Google Scholar] [CrossRef]
  14. Naqvi, H.; Chaudhry, S.; Mahmood, K. An improved authentication protocol for SIP-based VoIP. In Proceedings of the International Conference on Recent Advances in Computer Systems, Hail, Saudi Arabia, 30 November–1 December 2015; Atlantis Press: Amsterdam, The Netherlands, 2015; pp. 7–12. [Google Scholar]
  15. Dolev, D.; Yao, A. On the security of public key protocols. IEEE Trans. Inf. Theory 1983, 29, 198–208. [Google Scholar] [CrossRef]
  16. Canetti, R.; Krawczyk, H. Universally composable notions of key exchange and secure channels. In Proceedings of the International Conference on the Theory and Applications of Cryptographic Techniques, Amsterdam, The Netherlands, 28 April–2 May 2002; Springer: Berlin/Heidelberg, Germany, 2002; pp. 337–351. [Google Scholar]
  17. Sahoo, S.S.; Mohanty, S.; Majhi, B. A secure three factor based authentication scheme for health care systems using IoT enabled devices. J. Ambient. Intell. Humaniz. Comput. 2020, 12, 1419–1434. [Google Scholar] [CrossRef]
  18. Ever, Y.K. Secure-anonymous user authentication scheme for e-healthcare application using wireless medical sensor networks. IEEE Syst. J. 2018, 13, 456–467. [Google Scholar] [CrossRef]
Figure 1. IoT based fog-driven health monitoring system.
Figure 1. IoT based fog-driven health monitoring system.
Applsci 13 01424 g001
Figure 2. Hierarchical Infrastructure of the Fog Computing.
Figure 2. Hierarchical Infrastructure of the Fog Computing.
Applsci 13 01424 g002
Figure 3. Login and authentication phase.
Figure 3. Login and authentication phase.
Applsci 13 01424 g003
Table 1. Summary of existing studies.
Table 1. Summary of existing studies.
AuthorsYearTechniqueDemerits
Yang and Chang [5]2009ECC-basedLacks perfect forward secrecy and vulnerable to impersonation attacks
Li et al. [6]2012Identity-basedProne to impersonation and DoS attacks
Tsai and Lo [7]2015Bilinear pairingHigh computation overhead and prone to impersonation attacks
Amin et al. [8]2018Hash-basedProne to stolen smart-card and insider attacks
Kumar et al. [9]2018Identity-basedsLacks user anonymity and privacy
Jia et al. [10]2019Identity-basedVulnerable to impersonation attacks
Ma et al. [11]2020Bilinear pairingVulnerable to impersonation and secret key leakage attacks
Jia et al. [12]2020Bilinear pairingVulnerable to ephemeral secret leakage (ESL) attack
Chen et al. [13]2020Bilinear pairingVulnerable to impersonation attacks
Table 2. Commonly used notations.
Table 2. Commonly used notations.
NotationsElucidation
U k k t h user of the system
I D k Identity of U k
TPD k Tamper proof device issued to each specific U k
T I D k Temporary identity of U k
FN f Fog-node
I D f Identity of FN s
T I D f Temporary identity of FN s
TPD f Tamper proof device of FN s
CSP Cloud service provider
I D c s p Identity of CSP
xPrivate key of CSP
SK k f c s p Session key between U k , FN and CSP
Concatenation operator
XoR operator
A a t t Attacker
h ( . ) One-way hashing function
I B C Identity-based cryptography
A K A Authenticated key agreement
Table 3. Specifications of devices.
Table 3. Specifications of devices.
AttributeArduinoCloud ServerMobile Device
Platform-Online cloud serverAndroid
SystemMicrocontroller: ATmega328PythonAnywhereMediatek P60
RAMSRAM: 2 KB (ATmega328)6 GB
Clock Speed16 MHz2.0 GHZ
IDEArduino IDEPython consoleAndroid Studio
Table 4. Cryptographic Operations used for Analysis.
Table 4. Cryptographic Operations used for Analysis.
Execution TimeParameter U k CSP FN f
Hash function E h a s h 0.002 ms 0.00063 ms 0.192 ms
Point multiplication E m 0.010 ms 0.00087 ms 0.388 ms
Encryption/decryption E / D 0.008 ms 0.00076 ms 0.259 ms
Table 5. Comparison of computation and communication overhead.
Table 5. Comparison of computation and communication overhead.
Protocols U k CSP FN f Aggregated Computation OverheadAggregated Communication Overhead
Ours 5 E h a s h 7 E h a s h 3 E h a s h 0.5904 ms3744 bits
Jia et al. [12] 5 E h a s h + 2 E m 9 E h a s h + 3 E m 4 E h a s h + 2 E m 1.5823 ms4064 bits
Chen et al. [13] 16 E h a s h + 2 E m 11 E h a s h 10 E h a s h + 3 E m 3.1449 ms4832 bits
Ma et al. [11] 4 E h a s h + 3 E m 9 E h a s h + 8 E m 4 E h a s h + 4 E m 2.3706 ms4254 bits
Sahoo et al. [17] 10 E h a s h + 2 E m 6 E h a s h + 1 E m 4 E h a s h 1.5825 ms2560 bits
Ever [18] 3 E h a s h + 1 E / D 3 E h a s h + 2 E / D 2 E h a s h + 2 E / D 0.91771 ms1120 bits
Table 6. V of security and functionality.
Table 6. V of security and functionality.
Protocols →Ours[12][13][11][17][18]
Security Features ↓
Provides mutual authentication
Provides user anonymity
Resists tamper-proof device stolen attack
Resists user masquerading attack
Resists fog-node masquerading attack
Resists cloud server-provider masquerading attack
Resists stolen-verifier attack
Free from clock synchronization problem
Ephemeral secret leakage (ESL) attack
Resists insider attack
Resists known session key attack
✗: Attribute is not satisfied/claimed, ✓: Attribute is satisfied.
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Rana, M.; Mahmood, K.; Saleem, M.A.; Al-Turjman, F.; Kolhar, M.S.; Altrjman, C. Towards a Provably Secure Authentication Protocol for Fog-Driven IoT-Based Systems. Appl. Sci. 2023, 13, 1424. https://doi.org/10.3390/app13031424

AMA Style

Rana M, Mahmood K, Saleem MA, Al-Turjman F, Kolhar MS, Altrjman C. Towards a Provably Secure Authentication Protocol for Fog-Driven IoT-Based Systems. Applied Sciences. 2023; 13(3):1424. https://doi.org/10.3390/app13031424

Chicago/Turabian Style

Rana, Minahil, Khalid Mahmood, Muhammad Asad Saleem, Fadi Al-Turjman, Manjur Sayyadbadasha Kolhar, and Chadi Altrjman. 2023. "Towards a Provably Secure Authentication Protocol for Fog-Driven IoT-Based Systems" Applied Sciences 13, no. 3: 1424. https://doi.org/10.3390/app13031424

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