Advancing Secure Mobile Cloud Computing: A Chaotic Maps-Based Password Key Agreement Protocol

Advancing Secure Mobile Cloud Computing: A Chaotic Maps-Based Password Key Agreement Protocol

Syed Shakeel Hashmi* | Arif Mohammad Abdul | Arshad Ahmad Khan Mohammad | C. Atheeq | Ravi Chinapaga

Department of Electronics and Communication Engineering, Faculty of Science and Technology (IcfaiTech), The ICFAI Foundation for Higher Education (Deemed to be University), Hyderabad 501203, India

Department of CSE, GITAM Deemed to be University, Hyderabad 502329, India

Department of CSE, AVN Institute of Engineering and Technology, Hyderabad 501510, India

Corresponding Author Email: 
hashmi@ifheindia.org
Page: 
1669-1678
|
DOI: 
https://doi.org/10.18280/isi.280625
Received: 
11 August 2023
|
Revised: 
24 November 2023
|
Accepted: 
4 December 2023
|
Available online: 
23 December 2023
| Citation

©2023 IIETA. This article is published by IIETA and is licensed under the CC BY 4.0 license (http://creativecommons.org/licenses/by/4.0/).

OPEN ACCESS

Abstract: 

The exponential growth in mobile technology has precipitated a substantial increase in global IP traffic, predominantly fueled by mobile devices. Mobile Cloud Computing (MCC) emerges as a viable solution to the inherent resource limitations of these devices, yet the security of data access remains a paramount concern, particularly in the context of dynamic user behavior. This paper introduces an innovative password-based authenticated key exchange protocol tailored for secure communication within MCC frameworks. Existing solutions, while addressing several challenges of MCC, fall short in adequately tackling issues related to dynamic user behavior and resource constraints. The proposed protocol is designed to address these specific deficiencies, thereby enhancing the security of data access in MCC environments. Employing Chaotic Maps for protocol resilience, symmetric encipherment for robust data protection, and one-way hash functions to bolster the security framework, this protocol is rigorously evaluated using the AVISPA tool. The results demonstrate that the protocol offers superior security and efficiency, and exhibits enhanced resilience against a spectrum of attacks compared to existing schemes. A thorough analysis is conducted to evaluate the protocol's defenses against insider threats, replay attacks, and other potential vulnerabilities, providing a comprehensive understanding of its robust security features. Conclusively, this protocol establishes a secure paradigm for key agreements in MCC, outperforming existing schemes with a significant reduction in execution time by up to 60%, marking a notable advancement in the realm of MCC security.

Keywords: 

security, authentication, key agreement, Mobile Cloud Computing (MCC), AVISPA, Chaotic Maps, mutual authentication

1. Introduction

MCC, an integration of cloud computing and mobile communication technologies [1], empowers mobile users to access computing resources from the cloud. Cloud computing offers a range of services to surmount the inherent limitations of mobile devices, such as battery energy, memory, and computing power. This integration effectively addresses resource constraints on mobile devices by harnessing the capabilities of cloud computing in conjunction with mobile communication.

A paramount challenge in MCC is securing sensitive data outsourced to the cloud, given its open platform nature and untrusted storage environment. Encrypting outsourced data is a prevalent approach to bolster security, preventing unauthorized data access [2]. Several mechanisms for data encryption prior to cloud outsourcing have been proposed in the literature [2]. In these models, clients encrypt data before outsourcing, while users retrieve and decrypt the encrypted data upon access. These schemes generally presume the users to be reputable and authorized for data retrieval. However, this assumption engenders security challenges in distributed computing environments like MCC, where users dynamically access cloud services via public networks, thus compromising authenticity and access control.

The principles of Confidentiality, Authentication, and Authorization (CAA) [3] are vital in establishing robust security measures in MCC. Authentication and access control, coupled with data secrecy, are fundamental requirements for secure operations. Confidentiality is maintained through encryption methods applied to data before cloud storage, safeguarding sensitive information from unauthorized entities. Users are authenticated through a reliable system, verifying their credentials. Authorization, on the other hand, governs user interaction with cloud services based on assigned permissions, ensuring controlled access to cloud resources.

The exigency for secure communication and information exchange is paramount in today's digital landscape. The proposed study posits that data confidentiality [4] is ensured by storing data in an encrypted format within the Cloud Computing (CC) environment, complemented by a trust-based access control mechanism for authentication [5]. However, confidentiality and authorization alone are insufficient for comprehensive security. Authentication, which verifies the identities of the communicating entities, is equally critical. Therefore, the objective is to provide robust authentication between computing entities, necessitating mechanisms that are congruent with the resource constraints of the environment.

This research introduces a password-based authenticated key exchange protocol specifically designed for cloud computing environments. Mutual authenticated key agreement stands as a fundamental, straightforward, and indispensable approach to securing any communication environment. This process involves two parties mutually authenticating and subsequently agreeing upon a secret session key, derived through a process of information negotiation. Such an approach is essential to safeguard the communication environment from unauthorized access, ensuring that the session key is securely established solely between legitimate entities.

Existing mutual authentication protocols [6-14] have been scrutinized, revealing vulnerabilities to various attacks, including man-in-the-middle, replay, and denial-of-service attacks. A notable drawback of these protocols is their considerable computational overhead, predominantly stemming from complex cryptographic operations. This results in performance limitations, especially in mobile cloud environments where processing power and network resources are inherently constrained.

The utilization of unreliable or slow networks for connecting mobile devices to the internet can exacerbate the performance challenges posed by the computational demands of authentication protocols. This issue is particularly pronounced in mobile cloud environments where cloud servers may be geographically distant from the mobile devices, leading to significant network latency. These challenges are crucial considerations in the development of an effective mutual authentication protocol for mobile cloud environments.

Jegadeesan et al. [15] have underscored critical shortcomings in existing authentication schemes within MCC, including vulnerabilities to user impersonation, mutual authentication failures, and susceptibility to Man-in-the-Middle (MITM) attacks. In response, this paper introduces an efficient password-based authenticated key exchange protocol tailored for Cloud Computing environments. The protocol employs Chaotic Maps, based on the Discrete Logarithmic and Diffie-Hellman problems, to facilitate secure session key exchange and mutual authentication in MCC. To bolster security, symmetric encipherment and one-way hash functions are integrated into the protocol, providing robust defenses against replay and MITM attacks. The method is specifically designed to manage identity authentication and securely exchange session keys between computing entities in MCC environments.

The structure of the paper is as follows: the subsequent section delineates related work in this field. Section 3 presents the proposed protocol in detail, while Section 4 is dedicated to the performance evaluation of the protocol. The paper concludes with a discussion of the results and final conclusions.

2. Literature Survey

Cloud computing is recognized as a distributed computing environment that epitomizes a ubiquitous model, characterized by a dynamically adjustable pool of resources that are readily accessible and utilizable. Salient features of cloud computing include its high scalability, elasticity, and the provision of on-demand services at reduced costs [16]. Additionally, the cloud offers resource services to users on a pay-per-use basis, thereby minimizing management efforts and effectively addressing the limitations associated with utility computing.

MCC represents a paradigm shift in computing, whereby mobile devices leverage cloud resources. MCC synthesizes two significant technological advancements: cloud computing and mobile communication. In this framework, cloud computing offers a suite of services that alleviate the constraints of resource-limited devices, such as limited battery life, memory, and processing power. The amalgamation of cloud computing with mobile communication effectively resolves the resource constraint issues inherent in mobile devices.

MCC is employed to deliver hosted resources over public networks. A myriad of services, including Platform as a Service, Software as a Service, and Infrastructure as a Service, are now accessible via the cloud. This on-demand provision of resources, coupled with cost-effectiveness, has led to a shift in organizational security perimeters, consequently elevating the risk of security breaches. Ensuring data security in the cloud, particularly in terms of confidentiality and authentication, becomes paramount. Encrypting data stored in the cloud facilitates confidentiality. However, in an era of escalating information thefts, cloud service providers must exercise heightened vigilance when granting access to cloud services. Mutual authentication between users and cloud services is imperative to mitigate unlawful activities in MCC. In implementing authentication, it is crucial that the user's identity is protected from cloud service providers. Moreover, any proposed solution must be tailored to accommodate low-end devices and be computationally and storage-efficient, as mobile devices with limited resources cannot sustain a heavy computational load.

In the realm of authentication protocols, numerous RSA (Rivest-Shamir-Adleman)-based methods have been explored, but their computational intensiveness renders them inefficient for MCC applications [17]. As an alternative, various protocols leveraging Elliptic Curve Cryptography (ECC) [18-21] have been developed, noted for their lower computational overhead compared to RSA [22]. Nonetheless, these ECC-based protocols often involve third parties to facilitate authentication between mobile users and cloud servers, leading to additional computational burden [23].

An analysis of these ECC-based authentication schemes concluded that their high computational overhead detracts from their practicality and fails to adequately protect the user's identity from cloud service providers. Therefore, there is a need for an authenticated key agreement protocol that is not only computationally efficient but also ensures the protection of the user's identity from cloud service providers. Such a protocol should allow the secret key to be agreed upon exclusively between the intended parties.

Existing mutual authentication protocols have been scrutinized and found to be vulnerable to various attacks, including man-in-the-middle, replay, and denial-of-service attacks, as delineated in Table 1. These vulnerabilities compromise the protocols' ability to provide robust mutual authentication, leaving data at risk of unauthorized access. A notable issue with these protocols is their considerable computational overhead, primarily stemming from complex cryptographic operations, which can result in significant delays and decreased system performance. This challenge is exacerbated in mobile cloud environments, where mobile devices are often limited in processing power, memory, and battery life.

Additionally, the use of unreliable or slow networks for connecting mobile devices to the internet can further compound the performance issues associated with the computational demands of authentication protocols. This becomes a significant concern when considering the geographical distance between mobile devices and cloud servers, which can lead to high network latency. Collectively, these factors underscore the substantial challenges faced in developing an efficient mutual authentication protocol tailored for mobile cloud environments.

Table 1. Comparison of existing password-based mutual authentication protocols

Protocol

Challenges Addressed

Drawbacks/Issues

Goh [16]

The nonce mechanism used to prevent replay attacks may be vulnerable to MITM attacks [15]

Vulnerable to PIA (Password Impersonation Attack), UA (Unauthorized Access), KPTA (Key Pair Theft Attack), cannot provide perfect FS

Tan et al. [17]

Goh [16]

Spoofing attack, no single registration, unauthorized login, no password change facility

Slocum [18]

Tan et al. [17]

Vulnerable to UIA, session-specific temporary info attack, SSCA (Session-Specific Temporary Info Attack), password and IGA

Song et al. [19]

Slocum [18]

Improved chaotic map based MSA, Vulnerable to UIA, RA, does not have user revocation, no feasibility of updating user info

Curtmola et al. [21]

Vulnerable to Server-Impersonation Attack (SIA), UA property was not provided, ephemeral secrets leakage attack and MA cannot be achieved [20].

Vulnerable to UIA (User Impersonation Attack), DOSA (Denial-of-Service Attack), RA (Replay Attack), no feasibility of updating user info, does not address UR

Abdul et al. [23]

PIA, UIA, SSCA and server cannot differentiate between the two logins [22]

Improved MSA protocol, Vulnerable to PIA, UIA, SSCA, server cannot differentiate between the two logins

Recent analysis [24] of a MCC authentication scheme identified critical deficiencies. Firstly, the scheme lacks protection against user impersonation attacks, allowing attackers to easily impersonate legitimate users and gain unauthorized system access. Secondly, it fails to provide mutual authentication, a vital security feature, leaving both users and service providers unable to verify each other's identities. Finally, the scheme is vulnerable to Man-in-the-Middle (MITM) attacks, whereby an attacker can intercept and alter communications between the user and the service provider without detection. These shortcomings highlight the need for a more robust and secure authentication framework in MCC.

The impetus for this research is rooted in the vulnerabilities and performance challenges identified in existing mutual authentication protocols within mobile cloud environments. Our comprehensive analysis has uncovered several critical vulnerabilities, such as susceptibility to MITM, replay, and denial-of-service attacks. These weaknesses render the protocols inadequate for ensuring robust mutual authentication, leaving data vulnerable to unauthorized access. Additionally, these protocols are plagued by high computational overhead, leading to significant delays and diminished system performance. This issue is particularly acute in mobile devices, constrained by limited processing power, memory, and battery life. The situation is further exacerbated when unreliable or slow networks are used in mobile cloud environments, presenting substantial challenges in developing an effective mutual authentication protocol. Recent research has also underscored existing schemes' limitations, including their inability to prevent user impersonation attacks, failure to provide mutual authentication, and vulnerability to MITM attacks. Consequently, our research aims to overcome these limitations by proposing a new mutual authentication protocol tailored for mobile cloud environments.

In response to these challenges and gaps, this work introduces a novel password-based authenticated key exchange protocol, specifically designed for Cloud Computing environments. Utilizing Chaotic Maps, this protocol addresses the Discrete Logarithmic and Diffie-Hellman problems. Implemented within the MCC framework, it not only enables secure session key exchange but also assures mutual authentication. The protocol's integrity is further enhanced by incorporating symmetric encipherment and a one-way hash function, which effectively mitigate replay and MITM attacks. This authentication mechanism's strength is intrinsically linked to its key management [25], ensuring the secure transfer of the session key between entities through mutual authentication, thereby safeguarding the computing environment.

3. Proposed Model

The Cloud computing environment is composed of a cloud service provider (CSP), client, and users. Here, the client outsources the resources to the cloud. CSP offers a data storage service and dynamically allocates computational resources to the users and client. So, the client stores its data in the cloud, and users retrieve the stored data from the cloud.

Consider the cloud computing environment with CSP, client, and users, where the client stored the collection of n data files, say, [F1, F2, ..., Fn] to cloud in an encrypted form to enable confidentiality of the data. The outsourced files must be stored and controlled so that authenticated users only access them. Thus, work designed the password-based authentication key agreement-based protocol with the help of Chaotic Maps-based Discrete logarithmic problem and Diffie-Hellman problem to accomplish the mutual authentication between CSP and users. The explanation of the proposed protocol is as follows:

Figure 1. PBMAK architecture

User, client, and cloud service provider (CSP) are entities involved in the cloud computing environment. Whenever a user wants to access the data from the cloud, the User must authenticate to access the system. The proposed protocol considers that before establishing communication, the User and client agree on a password over an insecure channel. In contrast, the CSP and client agree on a long session key with the help of the Chaotic Maps-based Diffie-Hellman problem. Here, the client acts as a middleman and authenticates the User and CSP by verifying their identities. The user and CSP authenticate the client by verifying the client's identity. After that, the User and CSP verify each other and continue to authenticate to establish a secret key.

3.1 Mutual authenticated key agreement algorithm

The proposed algorithm Password-Based Mutual Authenticated Key Agreement for Cloud computing (PBMAK) is designed by considering the following considerations:

·A unique identifier is assigned to all the participating entities in the authentication process, say (Idi).

·The participating entities agree to process the authentication using the Chebyshev polynomial Chaotic Maps approach and a one-way hash function denoted as H(∙), a pair of symmetric-key encryption/decryption functions Ek( )/Dk( ) with key k, and random number 'v' to compute the Chebyshev polynomial Chaotic Maps operation.

Figure 1 shows the architecture of PBMAK, consisting of cloud users, cloud service providers (CSP), and Cloud clients. The client establishes communication between cloud users and cloud service providers. When users approach the Cloud via Client and CSP, the client maintains all users' credentials as the hash value to avoid insider attacks. Whenever a user wants to use the cloud services, the User provides their credentials to CSP; CSP cannot verify the User, so forwards to the client for user verification. After the client validates the User and sends it back to CSP, CSP generates a session key to establish communication with the cloud user. Once the connection is established, data exchange will take place.

3.2 Authentication process to get the cloud services

To access cloud services, the User must provide credentials against the CSP. After verification of the User, the User becomes an authenticated cloud user. The system has gone through the process of authenticating the User. In this process, the cloud user, CSP, and client agree on some value, 'v'. (random number) Initially, the User registers with the client to access the cloud services. In the registration process, the User selects 'id', password 'p' and secret key 'key'. Compute 'public key' with Chebyshev’s polynomial Chaotic Maps approach along with agreed value ‘v’, and named as $\boldsymbol{T}_{\mathrm{Key}_u}(\boldsymbol{v})$, using equation (2). Also, the User generates the hash value of the chosen password Hash(p), i.e., Hashp assumes that this password [Hashp] communicates with the client through a secure channel with the corresponding chosen ‘id’. Establishing a secure channel for agreeing on a password is either a physical meeting or encrypted communications. The client stores the user password [Hashp] associated with ‘id’ for future verification. Even the client is also unaware of the User’s correct password. To communicate with CSP, the client chooses a secret key ‘key’ and computes the ‘public key’ with Chebyshev’s polynomial Chaotic Maps approach along with agreed value 'v', and named as $\boldsymbol{T}_{K e y_{c l}}(\boldsymbol{v})$. Similarly, CSP also chooses a secret key ‘key’ and computes this key ‘public key’ with Chebyshev’s polynomial Chaotic Maps approach along with agreed value ‘v’, and named as $\boldsymbol{T}_{\text {Key }_{c s p}}(v)$.

Table 2. Notation and description

S.NO

Notation

Abbreviations

Description

1

User

u

Entity representing the User or the authenticating entity.

2

Client

cl

Entity representing the client or the service provider

3

Cloud service provider

csp

Entity representing the cloud service provider

4

Password

p

During registration all the users agree on the password

5

Secret Key

key'

$T_{\text {key }_u}=$ User Secret key

$T_{\text {key }_{\text {csp }}}=$ CSP Secret key

Private key known only to the respective entity

6

Agreed Value

V

Common value agreed upon by the entities for computation

7

Variable

X

Variable used in the polynomial function for chaos mapping

8

Chebyshev's polynomial Chaotic Maps approach

$\begin{gathered}T_x(v)=2 v * T_{x-1}(v) \\ -T_{x-2}(v) *(\bmod X)\end{gathered}$

Authentication approach utilizing Chebyshev's polynomial Chaotic Maps

9

Public Key

$T_{\text {Key}_i}(v)$

i=u, cl, csp

Computed public key using the secret key and agreed value

10

Semigroup property

$T_a\left(T_b(v)\right)=T_b\left(T_a(v)\right)$

Property of an algebraic structure where the operation is associative and closed

Figure 2. Authentication parameters in Chebyshev Polynomial form

Table 2 provides abbreviations, notations, and descriptions used in the authentication algorithm. Figure 2 discusses the users, clients, and cloud service provider computed public keys, i.e., as $T_{\text {Key}_u}(v)$, $T_{\text {Key}_{c l}}(v), T_{\text {Key}_{c s p}}(v)$ with their corresponding secret key 'key'. These public keys are computed with a commonly agreed value 'v' with Chebyshev's polynomial Chaotic Maps approach. If the adversary tries to understand these values but is difficult to decode because ['key'] is unknown. Here, this proposed approach restricts the man-in-the-middle attack.

Our proposed key agreement method leverages Chaotic Maps, utilizing Chebyshev polynomials from chaos theory—a mathematical field studying highly sensitive dynamic systems. Chebyshev polynomials are defined as follows:

$\begin{aligned} & \cos (\mathrm{n} \theta) \text { could be written in the polynomial of } \cos (\theta) \\ & \cos (\mathrm{n} \theta)=\mathrm{T}_{\mathrm{n}} * \cos (\theta) \\ & \cos ((\mathrm{n}+1) * \theta)=2 * \cos (\mathrm{n} \theta) * \cos (\theta)-\cos ((\mathrm{n}-1) * \theta) \\ & \mathrm{T}_{\mathrm{n}+1} \cos (\theta)=2 * \mathrm{~T}_{\mathrm{n}} \cos (\theta) * \cos (\theta)-\mathrm{T}_{\mathrm{n}-1} \\ & \cos (\theta) \mathrm{T}_{\mathrm{n}+1}(\mathrm{x})=2 * \mathrm{x}^* \mathrm{~T}_{\mathrm{n}}(\mathrm{x})-\mathrm{T}_{\mathrm{n}-1}(\mathrm{x})\end{aligned}$

Let,

$T_x(v)=\cos (x \arccos (v))$               (1)

where, x=integer, v=variable.

Chebyshev's polynomial Chaotic Maps approach Tx: x in Chebyshev's polynomial is defined as in recurrence relation is:

$T_x(v)=2 v * T_{x-1}(v)-T_{x-2}(v) *(\bmod X) x \geq 1$               (2)

where, x=0, 1, 2, 3, ……… i.e., $x \in(-\infty, \infty)$, T0(v)=1, T1(v)=v, ….

Chebyshev's polynomial Chaotic Maps approach one of the most important properties is semigroup property, i.e.:

$T_a\left(T_b(v)\right)=T_b\left(T_a(v)\right)$               (3)

Based on equation (3), equation (4) is constructed for the mutual authentication between User and CSP as:

$v_{u, c s p}=T_{\text {key }_u}\left(T_{\text {Key}_{csp}}(v)\right)=T_{\text {key}_{csp}}\left(T_{\text {Key}_{u}}(v)\right)$               (4)

where, v=Agreed value, $T_{k e y_u}$=User Secret key, $T_{k e y_csp}$=CSP Secret key, vu,csp=User and CSP computed value.

After the registration process between User and client, the User can now establish a connection between the User and CSP. After generating a session-key user can send the message-1 to CSP {msg1: UserCSP}.

$\begin{aligned} & M S G_{U s e r-C S P}=\left\{T_{\text {key }_u}(v), I d_u, I_{c s p}, \operatorname{Hash}_u\right\} \\ & \operatorname{Hash}_u=\left(\operatorname{Id}_u\left\|I d_{c s p}\right\| T_{\text {key }_u}(v) \| \operatorname{Hash}_p\right)\end{aligned}$               (5)

where, $T_{\text {key}_u}(v)$=Computed public value of user, Idu=Identity of a user, Idcsp=Identity of cloud service provider, Hashu=Digested information of a user including hash password.

When a user needs the Cloud services, send a message to CSP. The message contains the User's computed public key [$T_{\text {key}_u}(v)$] using his private key 'key', identity [Idu], particular identity [Idcsp] of CSP to which the User wants to communicate and digest message [Hashu].

To provide secrecy from adversaries and CSP, users hash the values like [Idu, Idcsp, $T_{\text {key}_u}(v)$ and Hashp into Hashu] and send to CSP. After receiving msg1 CSP redirects to the client for validation because CSP does not know the User's password for cross verification.

To establish mutual authentication between CSP and the client based on the semigroup property of Chebyshev's polynomial Chaotic Maps approach with equation (3), they form equation (6):

$v_{c s p, c l}= T_{k e y_{c s p}}\left(T_{Key_{c l}}(v)\right)=T_{k e y_{c l}}\left(T_{{Key}_{c s p}}(v)\right)$               (6)

where, v=Agreed value, $T_{k e y_{c l}}$=Client Secret key, $T_{k e y_{c s p}}$=CSP Secret key, vcsp,cl=CSP and Client computed value.

After computing the session key between CSP and client, CSP can now establish a connection between CSP and client. Message-2 sent by CSP to client {msg2: CSPCL}.

$\begin{aligned} & M S G_{c s p-c l}=\left\{M S G_{U s e r-c s p}, T_{k e y _{c s p}}(v), I d_{c s p}, I d_u, I d_{c l}, \operatorname{Hash}_{c s p}\right\} \\ & \operatorname{Hash}_{c s p}=\operatorname{Hash}\left(I d_u\left\|I d_{c s p}\right\| T_{Key,ycs}(v) \| v_{c s p, c l}\right)\end{aligned}$               (7)

where, $T_{\text {key}_{c s p}}(v)$=Computed public key of CSP, Idu=Identity of a user, Idcsp=Identity of cloud service provider, Idcl=Identity of a client, Hashcsp=Digested information from CSP.

CSP redirects the received msg1 from a user and generate the msg2, which contains the user's computed public key [$T_{\text {key}_{u}}(v)$] using his private key 'key', CSP's computed public key [$T_{\text {key}_{c s p}}(v)$] using his private key 'key', identity [Idu], particular identity [Idcsp] of CSP to which the User wants to communicate, particular identity [Idcl] of the client to which the CSP wants to communicate and digest message [Hashu] from a user, digest message [Hashcsp] from a CSP. For message integrity, CSP hash the values like [Idu, Idcsp, $T_{\text {key}_{c s p}}(v)$ and vcsp,cl into Hashcsp] and send it to the client.

Client computes the Hashcl based on the information of $\mathrm{msg}_2$ and compares the hash values: Hashcl== Hashcsp.

If both are equal, then it validates msg1 by computing Hashu using stored digested password Hashp which is associated with Idu, then validate by comparing computed Hashu with received [Hashu] from a CSP.

$\operatorname{Hash}_u(C S P)==\operatorname{Hash}_u($ from Client $)$

If validation is successful, then the client sends a message-3 to CSP {Msg3: CLCSP}.

$\begin{aligned} & M S G_{c l-c s p}=\left\{I d_{c l}, \operatorname{Hash}_{c s p}, \operatorname{Hash}_u\right\} \\ & \operatorname{Hash}_{c s p}=\operatorname{Hash}\left(I d_u\left\|I d_{c s p}\right\| T_{\text {Key }_{c s p}}(v) \| v_{c s p, c l}\right) \\ & \operatorname{Hash}_u=\left(I d_u\left\|I d_{c s p}\right\| T_{\text {key }_u}(v) \| \operatorname{Hash}_p\right)\end{aligned}$               (8)

where, Idcl=Identity of a client, Hashcsp=Digested information from Client, Hashu=Digested information of a user including hash password.

If validation is unsuccessful, then the client sends a message-3 to CSP {msg3: CL→CSP}.

$M S G_{c l-c s p}=\left\{I d_{c l}\right.$, Hash $\left._{c s p}\right\}$               (9)

where, Idcl=Identity of a client, Hashcsp=Digested information from Client.

If validation is successful from the client, then the CSP validates msg3 by comparing received and computed hash values.

$\operatorname{Hash}_{c s p}==\operatorname{Hash}_{c l}$

If both are equal, then it validates msg1 by comparing computed Hashu from the client with received [Hashu] from a user.

$\operatorname{Hash}_u($ User $)==\operatorname{Hash}_u($ from Client $)$

If validation is successful, then the CSP sends a message-4 to the User {msg4: CSPUser}.

$\begin{aligned} M S G_{c s p-u} & =\left\{I d_{c s p}, \operatorname{Hash}_{c s p-u} \operatorname{Hash}_u\right\} \\ \operatorname{Hash}_{c s p-u} & =\operatorname{Hash}\left(\operatorname{session} \operatorname{key}\left[v_{c s p, u}\right]\left\|I d_{c s p}\right\| I d_u \| \operatorname{Hash}_{c s p}\right)\end{aligned}$               (10)

After successful validation of msg4 received from CSP by the User and access to the cloud services.

$v_{u, c s p}=T_{k e y_{c s p}}\left(T_{Key_{_u}}(v)\right)=T_{k e y_u}\left(T_{\mathrm{Key}_{c s p}}(v)\right)$               (11)

A case study shows the construction session-key between User 'u' and Cloud Service Provider 'csp' agrees on 'v'.

Assume v=3.

The User selects the private key as a large prime number as '$T_{\text {Key}_{u}}$'=5 and calculates the public key with the agreed value ['v'] using Chebyshev's polynomial Chaotic Maps approach based on Diffie Hellman key exchange.

According to Eq. (4):

$T_{\text {Key}_{u}}$=5 is a selected secret key of a user.

$T_{\text {Key}_u}(v)$=5*3=15 computed public key by a user.

Similarly, CSP selects the private key as a large prime number as '$T_{K e y_{c s p}}$'=7 and calculates the public key with agreed value 'v' using Chebyshev's polynomial Chaotic Maps approach based on Diffie Hellman key exchange.

$T_{K e y_{c s p}}$=7 is a selected secret key of a CSP.

$T_{K e y_{c s p}}(v)$= 7*3=21 computed public key by CSP.

Client computes session key using $T_{\text {key }_{c s p}}\left(T_{\text {Key}_u}(v)\right)$ and sends $T_{K e y_{c s p}}(v)$ to User along msg4. After receiving msg4, the User computes the session key by using $T_{\text {key }_{c s p}}\left(T_{\text {Key}_u}(v)\right)$. Both will substitute the values in equation (4):

$v_{u, c s p}=T_{k e y_u}\left(T_{\text {Key}_{c s p}}(v)\right)=T_{k e y_{c s p}}\left(T_{\text {Key}_u}(v)\right)$

session key=5(7*3)=7(5*3)

session key=5(21)=7(15)

session key=105=105

Resultant values are equal, and then communication is established between the User and CSP using an agreed session key.

3.3 Mutual authentication and key agreement in User–Client–CSP

Figure 3 describes the handshake mutual authentication process in a step-by-step fashion between the User, Cloud Service Provider, and the client of the proposed scheme. The mutual authentication mechanism works on Chebyshev's polynomial Chaotic Maps approach based on the Diffie Hellman key exchange. In this approach, the registration process takes place between cloud users (u) and clients(cl). The User selects two keys: the private key and the public key.

The User selects the private key from a large prime number, i.e., 'Keyu' and computes the polynomial value by applying the recurrence relation based on Chebyshev's polynomial Chaotic Maps approach, i.e., $T_{\text {Key}_u}(v)$. 'v' is a mutual value between cloud users(u), clients(cl) and cloud service provider (csp). Before starting the communication, (i) cloud users(u), (ii) clients(cl) and (iii) cloud service provider [(csp)] agreed on the value 'v'.

$v=$ agreed key between user and client

$T_{\mathrm{Key}_u}(v)=$ Public key

The User [(u)] selects two parameters to get into the cloud to access the services. The parameters are identity [Idu], and password ['p']. To avoid insider attacks, users digest the password as Hashp. The User {Idu, Hashp} shared through a secure channel to the client. The client stores users securely in the server database for future validation.

Figure 3. Handshake between User, Cloud Service Provider, and Client

3.4 Mutual authentication flowchart

Figure 4. The flow of Mutual authentication agreements among Users, Cloud Service providers, and Client

The previous section's explanation of mutual-authenticated key agreement is represented in the flowchart, i.e., Figure 4. It shows the flow of the PBMAK algorithm; initially, the algorithm takes input as User(Idu), CSP(Idcsp), Client(Idcl), whereas Client is responsible for authenticating Users as well as CSP.

Client, Users, and CSP agree on one common value to generate a session key for session creation to exchange the information. In this process, users request cloud services from a cloud service provider. Before establishing a session key, they validate each other for mutual authentication; after verification, User and CSP establish a session key, and the User can access the authorized services from the cloud.

While validation, if [H'u!=Hu] or [Hu!=H'u], then the connection is rejected.

3.5 Mutual authentication algorithm

Algorithm.1 shows the Algorithm of the Mutual Authentication Agreement. This algorithm requires three parameters as User(Idu), CSP(Idcsp), Client(Idcl), each agrees on a value 'v' before establishing a communication path.

Algorithm 1. Mutual Authentication Agreement

Input: User(Idu), CSP(Idcsp), Hashu, Client(Idcl)

Output: Mutual Authentication

User send $M_{U-c s p}=\left\{T_{\text {key }_u}(v), I d_u, I d_{c s p}, \operatorname{Hash}_u\right\}$ to CSP

CSP send $M_{c s p-c l}=\left\{M_{U-c s p}, T_{k e y_{c s p}}(v), I d_{c s}, H a s h_{c s p}\right\}$ to CL

CL compute H'u with user stored digested password Hashp

CL send Mcl-csp=$\left\{\mathrm{Id}_{\mathrm{cl}}, \operatorname{Hash}_{\mathrm{cl}}=\left[\mathrm{H}_{\mathrm{u}}^{\prime}\right], \operatorname{Hash}_{\mathrm{u}}=\left[\mathrm{H}_{\mathrm{u}}\right]\right\}$

CSP compares H'u=Hu

CSP Send Mcsp-U =$\left\{\right.Id_{c s p}, I d_u, Hash \left._{c s p}, T_{k e y_{c s}}\right\}$

CSP and User generate a session key

$v_{c s p, u=} T_{k e y_{c s p}}\left(T_{K e y_u}(v)\right)=T_{\text {key}_u}\left(T_{\text {key}_{c s p}}(v)\right)$

If resultant values are equal

$T_{{key}_{c s p}}\left(T_{{Key}_u}(v)\right)=T_{{key}_u}\left(T_{{key}_{{csp }}}(v)\right)$

Connection establishes.

$T_{{key}_{c s p}}\left(T_{{Key}_u}(x)\right) \neq T_{{key}_u}\left(T_{{key}_{{csp }}}(v)\right)$

Reject

3.6 Result analysis

The proposed mutual authentication mechanism restricts unauthorized users and prevents insider, reply, and man-in-the-middle attacks.

3.7 Security analysis

By assuming adversaries have complete control over the transmission path. The following are the mathematical security analysis proofs of the proposed mutual authentication mechanism.

(i) Mutual Authentication over PBMAK

The PBMAK algorithm outlines a trust flow involving the User, Client, and CSP in mutual authentication.  The algorithm enables users to verify the accessibility of the session key created by the client, allowing sharing without divulging a secret key.

$v_{u, c l}=T_{\mathrm{key}_u}\left(T_{\mathrm{Key}_{c l}}(v)\right)=T_{\mathrm{key}_{cl}}\left(T_u(v)\right)$               (12)

The client must authenticate the User and CSP simultaneously because the client has a pivotal position in the authenticated key exchange phase. The client authenticates CSP and User by validating Hashcsp with vcsp,cl and vu,cl.

CSP first authenticated the client by validating the Hashcsp with vcsp,cl. After that, CSP will trust the User because Hashcsp contains $T_{K_{c s p-u}}(v)$. As for the key agreement, after authenticating each other, the User and CSP can make the key agreement.

(ii) Insider attack over PBMAK “Insider Attack attempting to gain unauthorized access”

At the time of the registration, the User selects 'id', the password 'p' and the secret key 'key'. Compute 'key' with Chebyshev's polynomial Chaotic Maps approach along with agreed value 'v', and named as $T_{\text {Key}_u}(v)$. Also, the User generates the hash value of the chosen password Hash(p), i.e., Hashp assumes that this password [Hashp] communicates with cloud client through a secure channel with corresponding chosen 'id'. The client stores the user password [Hashp] associated with 'id' for future verification. Even the client is unaware of the User's correct password.

(iii) Reply attack over PBMAK “unauthorized attempts to replay previously exchanged communication between User, client, and CSP to gain illegitimate access”

Communication exchange through the secure path using User, client, and CSP created session key. Here, we assure that the sender and receiver are either User and client or User and CSP or client and CSP because CSP and User validate with vcsp,u and vu,csp. The client validates both by using vcl,u and vcl,csp. These session keys can be created only with their agreements.

(iv) Man-in-the-middle attack over PBMAK” attacker trying to impersonate a client, CSP, or User by intercepting and manipulating the key exchange process”

An adversary tries to impersonate a client, CSP or User but not because pretending as one of them requires a secret key of the User as 'Ku', the client as 'Kcl', and CSP as 'Kcsp'. These private key values are chosen from large prime values. The private key was never shared with any of them and nowhere stored; the client stores the User's password as the hash value.

4. Performance Results

The proposed work takes place in the Windows 11 operating system, Intel(R) Core (TM) i7-10610U CPU @ 1.80GHz 2.30 GHz. The operations considered for mutual authentication are ECC Scalar multiplication, point addition, one-way hash function, bilinear pairing operation, and Chebyshev's polynomial. The time for each process is calculated and presented in the Table 2 [24].

Based on the Table 2, execution time compares the efficiency of PBMAK with the existing mutual authentication schemes.

Table 2. List of operations with execution time in milliseconds

Notation

Name of Operation

Time of Operation (ms)

TECC-sm

ECC Scalar multiplication

42

TPA

point addition

0.1

Th

one-way hash function

0.5

TBP

bilinear pairing

262

TCP

Chebyshev's polynomial

21.02

Table 3. Comparison of execution time in milliseconds with various schemes

Schemes

Operations

Execution Time (ms)

Sun et al. [26]

7TECC-sm+2TBP

818.12

Tsai and Lo [27]

10TECC-sm+2TPA

419.863

Jegadeesan et al. [28]

8TECC-sm+4Th+4TPA

336.143

PBMAK

4TCP+5Th

84.08

Table 3 list the operations performed for mutual authentication between User and client or user and CSP or CSP and Client. While comparing the execution time of the proposed algorithm [PBMAK] with various schemes, it is identified that the PBMAK algorithm computes in less time.

Figure 5. Execution time (ms) between different approaches

Figure 5 clearly shows PBMAK algorithm produces better execution time compared to existing algorithms. The proposed algorithm's execution time is 84.08 ms, whereas Yin et al. [25] algorithm executes in 818.12 ms, Sun et al. [26] algorithm run in 419.863 ms, and Tsai and Lo [27] take execution time in 336.143 ms.

4.1 Strength of PBMAK

AVISPA tool is used to evaluate the security analysis of the protocol. The AVISPA tool is a collection of applications for creating and analyzing formal security protocol models. It uses HLPSL (High-Level Protocol Specification Language) to generate protocol models [25]. The HLPSL is a language used by AVISPA to illustrate security protocols and identify their intended security attributes, as well as a collection of tools to test them formally. HLPSL is a Role-Based Language; the SPAN tool executes the algorithm. The SPAN tool, integral to HLPSL, executes the algorithm. In this context, the SPAN tool plays a crucial role in the formal testing process.

The proposed protocol is implemented in the AVISPA tool to verify its security strength; the results are shown in Figure 6. The choice of the AVISPA tool is justified by its comprehensive capabilities in creating and analyzing formal security protocol models. Its use of HLPSL aligns with the need for a high-level language for protocol specification, and the inclusion of the SPAN tool enhances the formal testing process.

To implement the proposed protocol in the AVISPA tool, security strength parameters were defined through a meticulous process, considering key aspects of the PBMAK protocol. Vulnerability tests were conducted, evaluating the protocol's resilience against various security threats and verifying its effectiveness in achieving the intended security attributes.

Figure 6. Simulation result of mutual authentication algorithm

5. Conclusions

Paper presents a robust password-based authenticated key exchange protocol for Cloud Computing in Mobile Cloud Computing (MCC), leveraging Chaotic Maps based on Discrete logarithmic and Diffie-Hellman problems. The protocol's strength is affirmed through a comprehensive security analysis, emphasizing specific findings regarding its resilience against threats like man-in-the-middle and replay attacks. Our work showcases notable performance gains, with a 60% reduction in execution time compared to existing schemes, although specific schemes are not detailed for brevity. Future research avenues include a more detailed comparison with existing schemes, exploration of advanced threat models, and consideration of additional performance metrics, providing a roadmap for further improving the protocol. To extend the impact of our work, we suggest delving into user-friendly aspects, evaluating usability and user experience, and addressing practical considerations for real-world deployment. By incorporating these extensions, our proposed protocol not only advances the state-of-the-art in both security and performance but also lays the groundwork for a more comprehensive and user-centric approach to secure communication in MCC environments.

  References

[1] Noor, T.H., Zeadally, S., Alfazi, A., Sheng, Q.Z. (2018). Mobile cloud computing: Challenges and future research directions. Journal of Network and Computer Applications, 115: 70-85. https://doi.org/10.1016/j.jnca.2018.04.018

[2] Fu, Z., Sun, X., Ji, S., Xie, G. (2016). Towards efficient content-aware search over encrypted outsourced data in cloud. In IEEE INFOCOM 2016-The 35th Annual IEEE International Conference on Computer Communications, Francisco, CA, USA, pp. 1-9. https://doi.org/10.1109/INFOCOM.2016.7524606

[3] Nawrocki, P., Reszelewski, W. (2017). Resource usage optimization in mobile cloud computing. Computer Communications, 99: 1-12. https://doi.org/10.1016/j.comcom.2016.12.009

[4] Thakare, S.V., Gore, D.V. (2014). Comparative study of CIA and revised-CIA algorithm. In 2014 Fourth International Conference on Communication Systems and Network Technologies, Bhopal, India, 713-718. https://doi.org/10.1109/CSNT.2014.150

[5] Mohammad, A.A.K., Mirza, A., Vemuru, S. (2016). Cluster based mutual authenticated key agreement based on Chaotic Maps for mobile ad hoc networks. Indian Journal of Science and Technology, 9(26): 1-11. https://doi.org/10.17485/ijst/2016/v9i26/95137

[6] Tsai, J.L. (2008). Efficient multi-server authentication scheme based on one-way hash function without verification table. Computers & Security, 27(3-4): 115-121. https://doi.org/10.1016/j.cose.2008.04.001

[7] Tsaur, W.J., Li, J.H., Lee, W.B. (2012). An efficient and secure multi-server authentication scheme with key agreement. Journal of Systems and Software, 85(4): 876-882. https://doi.org/10.1016/j.jss.2011.10.049

[8] Lee, C.C., Lou, D.C., Li, C.T., Hsu, C.W. (2014). An extended chaotic-maps-based protocol with key agreement for multiserver environments. Nonlinear Dynamics, 76: 853-866. https://doi.org/10.1007/s11071-013-1174-3

[9] Li, X., Niu, J., Kumari, S., Islam, S.H., Wu, F., Khan, M.K., Das, A.K. (2016). A novel Chaotic Maps-based user authentication and key agreement protocol for multi-server environments with provable security. Wireless Personal Communications, 89: 569-597. https://doi.org/10.1007/s11277-016-3293-x

[10] Irshad, A., Chaudhry, S.A., Xie, Q., Li, X., Farash, M.S., Kumari, S., Wu, F. (2018). An enhanced and provably secure chaotic map-based authenticated key agreement in multi-server architecture. Arabian Journal for Science and Engineering, 43: 811-828. https://doi.org/10.1007/s13369-017-2764-z

[11] Tsai, J.L., Lo, N.W. (2015). A privacy-aware authentication scheme for distributed mobile cloud computing services. IEEE Systems Journal, 9(3): 805-815. https://doi.org/10.1109/JSYST.2014.2322973

[12] He, D., Kumar, N., Khan, M. K., Wang, L., Shen, J. (2016). Efficient privacy-aware authentication scheme for mobile cloud computing services. IEEE Systems Journal, 12(2): 1621-1631. https://doi.org/10.1109/JSYST.2016.2633809

[13] Tan, Z. (2016). A privacy-preserving multi-server authenticated key-agreement scheme based on Chebyshev Chaotic Maps. Security and Communication Networks, 9(11): 1384-1397. https://doi.org/10.1002/sec.1424

[14] Irshad, A., Sher, M., Chaudhry, S.A., Xie, Q., Kumari, S., Wu, F. (2018). An improved and secure chaotic map based authenticated key agreement in multi-server architecture. Multimedia Tools and Applications, 77: 1167-1204. https://doi.org/10.1007/s11042-016-4236-y

[15] Jegadeesan, S., Azees, M., Kumar, P.M., Manogaran, G., Chilamkurti, N., Varatharajan, R., Hsu, C.H. (2019). An efficient anonymous mutual authentication technique for providing secure communication in mobile cloud computing for smart city applications. Sustainable Cities and Society, 49: 101522. https://doi.org/10.1016/j.scs.2019.101522

[16] Goh, E.J. (2003). Secure indexes for efficient searching on encrypted, compressed data. Technical Report 2003/216, Cryptology ePrint Archive, 2003. http://eprint.iacr.org/2003/216

[17] Tan, S., Zhu, H., Wang, Y. (2009). Some notes on password authenticated key exchange based on RSA. In 2009 International Conference on Computational Intelligence and Security, Beijing, China, pp. 580-583. https://doi.org/10.1109/CIS.2009.225

[18] Slocum, Z. (2009). Your Google docs: Soon in search results?. http://news.cnet.com/8301-17939_109-10357137-2.html.

[19] Song, D.X., Wagner, D., Perrig, A. (2000). Practical techniques for searches on encrypted data. In Proceeding 2000 IEEE symposium on security and privacy. S&P 2000, Berkeley, CA, USA, pp. 44-55. https://doi.org/10.1109/SECPRI.2000.848445

[20] Chang, Y.C., Mitzenmacher, M. (2005). Privacy preserving keyword searches on remote encrypted data. In International conference on applied cryptography and network security, Springer, Berlin, Heidelberg, pp. 442-455. https://doi.org/10.1007/11496137_30

[21] Curtmola, R., Garay, J., Kamara, S., Ostrovsky, R. (2006). Searchable symmetric encryption: improved definitions and efficient constructions. In Proceedings of the 13th ACM conference on Computer and communications security, pp. 79-88. https://doi.org/10.1145/1180405.1180417

[22] Gupta, P., Verma, D.K., Singh, A.K. (2018). Improving RSA algorithm using multi-threading model for outsourced data security in cloud storage. In 2018 8th International Conference on Cloud Computing, Data Science & Engineering (Confluence), Noida, India, pp. 14-15. https://doi.org/10.1109/CONFLUENCE.2018.8442788

[23] Abdul, A.M., Jena, S., Balraju, M. (2020). Trust and Role Based Access Control to Mitigate the Malicious Activities of Authenticated Users in Mobile Cloud Computing. International Journal of Advanced Science and Technology, 29(5): 10627-10632. http://sersc.org/journals/index.php/IJAST/article/view/24185

[24] Zhu, H., Zhang, Y. (2017). An efficient Chaotic Maps-based deniable authentication group key agreement protocol. Wireless Personal Communications, 96: 217-229. https://doi.org/10.1007/s11277-017-4163-x

[25] Yin, A., Guo, Y., Song, Y., Qu, T., Fang, C. (2020). Two-round password-based authenticated key exchange from lattices. Wireless Communications and Mobile Computing, 2020, 8893628. https://doi.org/10.1155/2020/8893628

[26] Sun, H., Wen, Q., Zhang, H., Jin, Z. (2013). A novel remote user authentication and key agreement scheme for mobile client-server environment. Applied Mathematics & Information Sciences, 7(4): 1365. https://doi.org/10.12785amis/070414

[27] Tsai, J.L., Lo, N.W. (2015). A privacy-aware authentication scheme for distributed mobile cloud computing services. IEEE Systems Journal, 9(3): 805-815. https://doi.org/10.1109/JSYST.2014.2322973

[28] Jegadeesan, S., Azees, M., Kumar, P.M., Manogaran, G., Chilamkurti, N., Varatharajan, R., Hsu, C.H. (2019). An efficient anonymous mutual authentication technique for providing secure communication in mobile cloud computing for smart city applications. Sustainable Cities and Society, 49: 101522. https://doi.org/10.1016/j.scs.2019.101522