Public cloud computing provides a variety of services to consumers via high-speed internet. The consumer can access these services anytime and anywhere on a balanced service cost. Many traditional authentication protocols are proposed to secure public cloud computing. However, the rapid development of high-speed internet and organizations’ race to develop quantum computers is a nightmare for existing authentication schemes. These traditional authentication protocols are based on factorization or discrete logarithm problems. As a result, traditional authentication protocols are vulnerable in the quantum computing era. Therefore, in this article, we have proposed an authentication protocol based on the lattice technique for public cloud computing to resist quantum attacks and prevent all known traditional security attacks. The proposed lattice-based authentication protocol is provably secure under the Real-Or-Random (ROR) model. At the same time, the result obtained during the experiments proved that our protocol is lightweight compared to the existing lattice-based authentication protocols, as listed in the performance analysis section. The comparative analysis shows that the protocol is suitable for practical implementation in a quantum-based environment.
Recently, cloud computing has become very popular among corporations, individuals, and government organizations for its ability to provide low-cost services via the internet. Due to the availability of high-speed internet connections, these services can be accessed easily for numerous purposes. Cloud computing offers various services, and storage is considered one of the most important services for various architectures and applications. Annually, billions of devices outsource massive amounts of data, which are stored in cloud computing globally. However, security is a significant concern for these outsourced stored data in cloud computing environments because of advanced computing devices and strong adversaries. Therefore, cryptographic techniques such as Elliptic-curve cryptography (ECC), Symmetric, Asymmetric, Identity-based, Hashing, and many more techniques are used to protect outsourced data in the cloud computing environment. The ECC authentication protocols are based on discrete logarithm problems, whereas RSA (Rivest–Shamir–Adleman) is based on large numbers of factorizations. RSA-based cryptography techniques are slower because of the exponentiation and heavy computation and communication costs.
Recently, the world has seen a race among countries and organizations to build superior quantum computers. These quantum computers are so strong that they can break the traditional cryptographic algorithms, add more attacks on authentication protocols, and open a way to easily access the stored data on the public cloud. On the other hand, lattice-based cryptography provides excellent efficiency and simplicity in the post-quantum cryptographic era. For this purpose, we have proposed a lattice-based authentication scheme for public cloud computing in this study. So far, the lattice-based cryptography protocols resist quantum attacks.
The Lattice-based cryptographic authentication technique gives hope for the post-quantum era. A lattice is a set of all the integer’s linear combinations of base vectors, such as We have utilized the lattice-based Ring with errors (RLWE) technique for the design of our protocol. Our proposed protocol is secure under the RLWE problematic assumptions. We have utilized the Gaussian probability distribution, also known as the discrete gaussian, which plays a vital role in lattice-based cryptography algorithms. The formal security analysis of our proposed scheme shows that it can fulfill the security requirements in public cloud environments in the post-quantum era. Our scheme is secure against all known traditional attacks in the informal security analysis. The protocol performance analysis section demonstrates that the proposed protocol is efficient as compared to the existing lattice-based techniques.
Our protocol consists of two entities, a user and a public cloud server. The user uses portable devices to access the public cloud server. In contrast, public cloud servers provide various services to the user using high-speed internet, such as storage space, access to shared data and private data space, and many more. The detailed diagram of the proposed model is shown in
In this portion of the paper, we will discuss and analyze the limitations of existing authentication techniques.
Different cryptographic techniques have been used to authenticate different peers in different environments, Hashing, Bilinear pairing, Identity-based, Elliptic curve (ECC), Chaotic maps, Code-based, and Lattice-based. However, some of these cryptographic techniques are not secure against quantum attacks. The authors of [
The increasing competition to build high-performance quantum computers among organizations will potentially threaten these cryptographic techniques. However, the lattice-based cryptography method is the most secure against quantum attacks. Therefore, the researchers are trying to utilize the lattice-based cryptography technique to propose an authentication scheme for various environments. For example, an ideal lattice-based authentication scheme for mobile devices is proposed in [
Furthermore, the authors utilized a Radio Frequency Identification (RFID) system for an IoT environment to secure communications and resist quantum attacks, and the author used the lattice-based cryptography technique. Another scheme is proposed in [
The distribution of quantum keys using fuzzy logic is presented in [
In this section of our research study, we present an authentication strategy for public cloud environments based on lattice cryptography.
The public cloud server selects random number rS The public cloud server selects secure hash function h(.). The public cloud server selects the secret value S that belongs The Public cloud server Select The public cloud server calculates public key PKS = rS. S + 2.e The public cloud server published {q,
Symbols | Description |
---|---|
U | User |
PCS | Cloud server |
IDU | Identity of user |
PWU | Password of user |
rS, rS1 | The random numbers of cloud server |
rU | A random number of user |
Gaussian distribution | |
Gaussian distribution samples | |
q | Odd prime number |
i | Integer |
S | The secret key of the cloud server |
PKS | The public key of the cloud server |
|| | Concatenation |
Select IDU and send it to the public cloud server. The public cloud server then selects the random number rS The user then selects the password PWU and calculates S2 = h (rS|| IDU)
________________________________________________________________________________________________________________________________________________________
________________________________________________________________________________________________________________________________________________________
Select IDU
rS
SU = h (IDU||S)
S1 = h (IDu||rS1)
Store {
selects the password PWU
S2 = h (rS||IDU)
S3 = h (IDu||PWu||S2)
Store {S2, S3,
________________________________________________________________________________________________________________________________________________________
The user input IDU* and PWU* and calculate the S3* = h (IDu*|| PWu*|| S2) and check S3*? = S3 if true, then the system proceeds further; otherwise, connection is terminated. The user selects a random number rU The public cloud server selects the random number rS1 The user calculates M2/ = (rU . PKS), M4/ = (M2/|| M3), M5/? = h(M|| M1|| M3|| M4) if the value matches, then proceed further otherwise, terminate the connection. The user further calculates M6 = h (IDU|| PWU) The public cloud server calculates further M7/ = (M|| rS1), M9/ = (M7/||M8), IDU = h (M|| M8|| M9/|| M1|| M3|| M4|| M2)
________________________________________________________________________________________________________________________________________________________
________________________________________________________________________________________________________________________________________________________
IDU* and PWU*
Calculate
S3* = h (IDu*||PWu*||S2)
Check S3*? = S3
random number rU
M = rS. rU + 2.
random number rS1
Calculates
M1 = rS. rS1 + 2.
M2 = (M.S)
M3 =
M4 = (M2.M3)
M5 = h(M||M1||M3||M4)
Calculates
M2/ = (rU . PKS)
M4/ = (M2/||M3)
M5/? = h(M||M1||M3||M4)
M6 = h(IDU||PWU)
M7 = (M1. rU)
M8 =
M9 = (M7||M8)
M10 = h(M||M8||M9||M1||M3||M4||M2)
M11 = h(IDU||M6||M10||M||M8||M9||M1||M3||M2/||M5)
SKU = h(IDU||M10||M||M8||M9||M11||M1||M3||M2/||M5)
Calculates
M7/ = (M . rS1)
M9/ = (M7/. M8)
IDU = h(M||M8||M9/||M1||M3||
M4||M2)
M6/ = h(IDU.S)
M11/ = h(IDU||M6/||M10||M||M8||
M9/||M1||M3||M2||M5)
M11/? = M11
SKS = h(IDU, M10||M||M8||M9/||
M11||M1||M3||M2||M5)
________________________________________________________________________________________________________________________________________________________
In this section, we will explain and validate our scheme against various attacks. We have proposed a lattice-based authentication scheme for the public cloud environment and used the Real-or-Random (ROR) model to check whether our proposed scheme is secure enough. With informal security analysis, we have further discussed the possible attacks on our proposed scheme.
We have used ProVerif to check whether the session secret is secured, the session key exchanged between the communicating parties is confidential, and the attacker can access the session key at the start of the session.
In this section, we have tested our proposed scheme in the ROR model against a strong adversary
Queries | Description |
---|---|
Execute ( |
This is in the form of a passive attack, where the exchanged messages are delivered to |
Send ( |
This is in the form of an active attack, where the |
Corrupt ( |
The |
Reveal ( |
In this query, the |
Test ( |
In this query, the |
Two participants are involved in our scenario, i.e., the user
Therefore, the
Hence, our proposed scheme is secure under the assumption of lattice-based Ring learning with errors method.
The proposed scheme is based on Lattice-based cryptography, where the users and public cloud servers register themselves using a secure channel. However, if the Provide anonymity. Our scheme provides anonymity to users and public cloud servers. The user’s identity is secured using a one-way hash function and public cloud server secret key. The messages that include identity are M6 = h (IDU|| PWU) Secure against replay attack. If Provide mutual authentication. In our proposed scheme, the communicating parties mutually authenticate each other using S3*? = S3, M5/? = M5, and M11/? = M11. If these values are tempered or modified, the connection gets terminated. Thus, our scheme provides mutual authentication. Provide session key. The user and public cloud server calculate the session key SKU = SKS. The connection will be terminated if any value is tempered or modified in the session key contraction phase. Therefore, our scheme provides a session key for secure communications. Provide message integrity. The user and public cloud server check the message integrity in the login and authentication phase. The user side checks the messages S3*? = S3, M2/ = (rU ||PKS), M4/ = (M2/|| M3), M5/? = h (M|| M1|| M3|| M4), and confirms whether these messages are from a public cloud server, while the public cloud server also checks the messages received from a user, such as M7/ = (M || rS1), M9/ = (M7/ || M8), M6/ = h(IDU||S), and M11/ = h(IDU|| M6/|| M10|| M|| M8|| M9/|| M1|| M3|| M2|| M5). The connection is terminated if any of these messages are modified or tempered. Hence, our scheme provides message integrity. Secure against impersonation attack. In our proposed scheme, the random numbers are generated randomly, and the identity is secured using a one-way hash function and public cloud secret key. Therefore, the Secure against stolen verifier attack. In the registration phase, the public cloud server did not store any values. Therefore, our scheme is secure against stolen verifier attacks. Secure against offline password attack. Let’s suppose that Secure against modification attack. In our proposed scheme login and authentication phase, the transmitted messages are verified by both communicating peers. For example, the user side verifies S3*? = S3, M5/? = h(M|| M1|| M3|| M4), while the public cloud server-side verifies M11/? = M11. If any of these values are modified, the connection will be terminated. Hence, our scheme is secure against modification attacks. Secure against MITM attack. As we prove that our scheme is secure against impersonation and provide message integrity. Hence, our scheme is secure against a man-in-the-middle attack.
In this part of our research article, we have calculated our protocol’s computation and communication costs. After calculating the communication and computation costs, we compare our scheme with the existing protocols.
We have considered the work done in [
User side costs | Server-side costs |
---|---|
4TSM + TGD + TMA + TM + |
6TSM + 3TGD + TMA + TM + |
4(6.655e − 6) + 1(0.000615483) + 1(2.9505e − 5) + 1.3052e − 5 + 3.5515e – 5 + 6 (0.000180964) = 0.001805959 | 6(0.000298) + 3(7.3503e − 5) + 2.549e − 6 + 3.07e−7 + 6.89e − 7 + 5(1.409e − 5) = 0.002082504 |
Total cost = 0.003888463 |
We have computed the communication cost in this part of our lattice-based authentication protocol. We have considered the work [
Here, we have examined some contemporary and established authentication systems, both lattice-based and more conventional, and compared them with our approach. Existing lattice-based techniques offer the same level of security as our proposed scheme, but at substantially higher costs in terms of computation and communication. Furthermore, quantum attacks can compromise conventional authentication methods.
Features | Schemes | ||||||||
---|---|---|---|---|---|---|---|---|---|
[ |
[ |
[ |
[ |
[ |
[ |
[ |
[ |
Our | |
Resist quantum attacks | ✓ | ✓ | ✓ | ✓ | ✓ | ||||
Provide anonymity | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
Provide mutual authentication | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
Resist insider attacks | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
Resist offline password-guessing attacks | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Resist replay attacks | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Resist impersonation attacks | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||
Resist DoS attacks | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
Provide untraceability | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
The traditional cryptographic algorithms work great with classical computers. However, things will change once quantum computers come to reality. Shor’s technique can easily break traditional cryptographic techniques using quantum computing. Keeping this in mind, we have proposed a lattice-based cryptography technique to authenticate peers in public cloud computing. The security of the proposed scenario has been conducted using the ROR model, while the performance analysis section considers two aspects, communication and computation costs. Both analysis showed that the proposed mechanism is robust, lightweight, efficient, and can easily be implemented for practical use.
In future work, we intend to modify and reduce the proposed scheme’s computation and communication costs. Furthermore, we will also try to use the proposed scheme for IoT-enabled devices in a public cloud environment.
The authors wish to thank the
The authors declare they have no conflicts of interest to report regarding the present study.