Next Article in Journal
Effect of Pure Dephasing Quantum Noise in the Quantum Search Algorithm Using Atos Quantum Assembly
Previous Article in Journal
Assessment of Fractal Synchronization during an Epileptic Seizure
Previous Article in Special Issue
Generation of Face Privacy-Protected Images Based on the Diffusion Model
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Higher Performance Data Backup Scheme Based on Multi-Factor Authentication †

1
School of Computer Science and Technology, Donghua University, Shanghai 201620, China
2
State Key Laboratory of Information Security, Institute of Information Engineering, Chinese Academy of Sciences, Beijing 100093, China
*
Author to whom correspondence should be addressed.
This paper is an extended version of our paper published in the 2023 IEEE 9th Intl Conference on Big Data Security on Cloud (BigDataSecurity), IEEE Intl Conference on High Performance and Smart Computing, (HPSC) and IEEE Intl Conference on Intelligent Data and Security (IDS), New York, NY, USA, 6–8 May 2023.
Entropy 2024, 26(8), 667; https://doi.org/10.3390/e26080667
Submission received: 13 June 2024 / Revised: 27 July 2024 / Accepted: 1 August 2024 / Published: 5 August 2024
(This article belongs to the Special Issue Information Security and Data Privacy)

Abstract

:
Remote data backup technology avoids the risk of data loss and tampering, and has higher security compared to local data backup solutions. However, the data transmission channel for remote data backup is not secure, and the backup server cannot be fully trusted, so users usually encrypt the data before uploading it to the remote server. As a result, how to protect this encryption key is crucial. We design a User-Centric Design (UCD) data backup scheme based on multi-factor authentication to protect this encryption key. Our scheme utilizes a secret sharing scheme to divide the encryption key into three parts, which are stored in the laptop, the smart card, and the server. The encryption key can be easily reconstructed from any two parts with user’s private information password, identity and biometrics. As long as the biometrics has enough entropy, our scheme can resist replay attacks, impersonation user attacks, impersonation server attacks, malicious servers and offline password guessing attacks.

1. Introduction

In recent years, cloud computing technology has developed rapidly, and remote cloud storage services have been widely applied due to their higher security and scalability [1]. However, there is still a risk of data leakage during the data transmission to remote servers [2]. Therefore, people usually encrypt data before transmitting them, such as by using an AES encryption algorithm [3]. In this way, even if the data are leaked, the adversary cannot recover the plaintext. Usually, users store their encryption key in devices such as USBs and laptops, but these devices pose a risk of theft and tampering. Once the storage device is stolen or tampered with, the key will be leaked or lost. How to securely protect the encryption key is the core of remote cloud storage.
By using a ( t , n ) -threshold secret sharing scheme, people can split the encryption key into n shares, and store the n shares in different devices. As long as the user obtains t shares, the user can reconstruct the encryption key. If the shares are stored in devices in plain text, once t devices are corrupt, the encryption key is leaked.
Chang et al. [4] proposed a data protection scheme based on Shamir’s ( 2 , 3 ) -threshold secret sharing scheme to protect sensitive data. In their scheme, the server chooses the encryption key, and divides the key into three shares, which are stored in the laptop, the USB device, and the server, respectively. The user can reconstruct the key on the laptop with the help of the USB offline after the user obtains the authentication of the USB device via their identity and password. If the USB or laptop is unavailable, the user can reconstruct the key through the interaction of the laptop or USB device with the server online after the user obtains the authentication of the server. However, since the encryption key is chosen by the server, it requires the server to be fully trustable. This is infeasible in reality.
To solve the problem in Chang et al’s scheme, Liu et al. [5] proposed a user-centered design (UCD) data backup scheme. In their scheme, the encryption key is chosen by the data owner rather than the server. Similar to Chang et al.’s scheme, using Shamir’s ( 2 , 3 ) -threshold secret sharing scheme, the encryption key is divided into three shares. The user stores the three shares in the laptop, the smart card, and the server, respectively. Whenever the user needs to encrypt/decrypt data, they can reconstruct the key with two of the three devices and their identity, password, and biometrics.
Hu et al. [6] found that the design of Liu et al.’s scheme in the authentication phase is unreasonable, as their scheme can not resist offline password-guessing attacks, server/user camouflage attacks, and so on. Then, Hu et al. presented an enhanced secure data backup scheme to overcome all above-mentioned security threats.
In 2023, Yi et al. [7] found that Hu et al.’s scheme cannot achieve their claimed security. Their scheme could not resist offline guessing attacks, replay attacks, and denial of service attacks. They also did not consider the situation of users rebuilding an incorrect key. Then, Yi et al. proposed an enhanced scheme to address the aforementioned issues. Yi et al. constructed an enhanced data backup scheme based on Shamir’s ( 2 , 3 ) -threshold secret sharing scheme, a message authentication code, and a robust fuzzy extractor. In their scheme, the user chooses the encryption key. Then, by Shamir’s ( 2 , 3 ) -threshold secret sharing scheme, the user divides the encryption key into three shares. The user computes pseudoshares using their private information such as identity, password, and biometrics and stores the three pseudoshares in the laptop, the smart card, and the server, respectively. Whenever the user needs to encrypt/decrypt data, he can reconstruct the key if he gets access to two of the three devices and types the correct private information (identity, password, and biometrics) to pass the multi-factor authentication.
In Yi et al.’s scheme, if the smart card/laptop is unavailable, the user needs to connect their laptop/smart card to the server and provides the valid identity, password, and biometrics to pass the authentication of the server. After the authentication phase, a session key is established between the user and the server. Then, the server uses the session key to encrypt the pseudoshare ( A s e r ) stored on the server. Finally, the user obtains two shares and performs the recovery phase to reconstruct the encryption key.
Establishing a session key and using the session key to encrypt the pseudoshare A s e r involves more hash computations and more communication rounds between the laptop/smart card and the server.
We are wondering, can we reduce the hash computations and communication rounds between the laptop/smart card and the server?
Our Contribution. We answer the above question in the affirmative. We propose a data backup scheme which inherits the advantages of Yi et al.’s scheme while having higher execution efficiency. More precisely, our contributions are as follows:
  • We propose a data backup scheme which fixes two encryption keys s k l p s and s k s c s shared between the laptop and the server, and the smart card and the server, respectively, during the registration phase. In this way, we can reduce ten hash computations and one round communication in the authentication phase, which improves the execution efficiency of our scheme. We recall that, in Yi et al.’s scheme, there are two communication rounds between the laptop/smart card and the server. This means that we have reduced the number of communication rounds by 50%.
  • In addition, our scheme also enjoys other benefits, such as reducing two hash computations and four hash computations during the registration phase and the updating phase, respectively.
  • We give the security analysis and performance evaluation of our new data backup scheme, which shows that our new scheme enjoys the same security of previous papers and has a higher execution efficiency.

1.1. Related Work

1.1.1. Key Management

Key management is one of the core issues in the field of cryptography, defined as a set of techniques and processes that enable the establishment and maintenance of encrypted key relationships between authorized parties. Under certain security policy controls, it completes the entire process from key generation to final destruction, including key generation, storage, distribution, use, backup, recovery, update, revocation, and destruction. According to their different characteristics, key management can be mainly divided into the following categories.
  • Dynamic and Static Key Management
Static management adopts the principle of key pre-allocation, which ensures that the keys allocated to each participant throughout the entire lifecycle of the network are fixed. In this way, the key usage time is longer and the probability of being attacked significantly increases. On the contrary, in dynamic key management, encryption keys are updated throughout the entire network lifecycle, which significantly improves the security and lifecycle of the system.
  • Centralized and Distributed Key Management
Centralized key management refers to a single central node responsible for generating, distributing, and updating encryption keys or session keys used by nodes in the system. Xu et al. proposed a key management scheme based on multi-party joint management [8], which uses an authoritative key generation center and multiple ordinary key generation centers to work together to generate keys. The addition of the authoritative center avoids the problem of malicious nodes randomly modifying selected strings to steal multiple user private keys. The advantage of centralized key management schemes is lower computational and transmission overhead, but it requires a trusted third party to act as the key generation center (KGC) and establish paired shared keys with each user during the registration phase.
In distributed key management, there is no clear key generation center, which can reduce dependence on central entities. Xu et al. [9] proposed a decentralized key management scheme based on a dynamic trust model, which does not require centralized or pre-established trust institutions and introduces three subsystems to integrate dynamic trust and key management. Zheng et al. [10] proposed a decentralized key management scheme based on secret sharing, which divides the key into multiple sub-keys and shares and distributes them to multiple nodes. Multiple nodes jointly maintain one key without a central node. In distributed key management, although the dependence on central entities is reduced, the resources of nodes are limited, and most schemes suffer from overly complex key algorithms and excessive resource consumption.
  • Symmetric and Asymmetric Key Management
Symmetric key schemes refer to encryption techniques where both parties use the same pair of keys for encryption and decryption, with DES, 3DES, and AES algorithms being the main representatives. Symmetric key schemes have a high speed in encryption and decryption, and can improve the difficulty of information cracking by using long keys. However, the distribution of symmetric keys requires a strictly secure channel, which is difficult to guarantee. Moreover, all nodes that require communication need different key pairs, making the key distribution very difficult in large-scale networks.
Asymmetric key schemes use publicly available public keys and confidential private keys as encryption and decryption key pairs, which have high security and low storage requirements, and better meet the needs of identity authentication in networks. However, asymmetric encryption has lower encryption efficiency and is often combined with symmetric encryption algorithms to form a hybrid encryption scheme that balances security and efficiency.
Many scholars have proposed a series of key negotiation protocols. In 2014, Yang et al. [11] proposed a three-party authentication key protocol for smart cards, which was later proven by Park [12] to be unable to resist offline password-guessing attacks and internal privilege attacks. In 2017, Jiang et al. [13] proposed a three-factor lightweight authentication and key negotiation protocol for wireless sensor networks, but their scheme lacks perfect forward security, resistance to impersonation attacks, and message integrity.

1.1.2. Secure Multi-Party Computation

The basic idea of secure multi-party computation (MPC) was first introduced by Yao in 1982 in the “Millionaire” problem [14]. Afterwards, Goldreich, Micali, and Wigderson [15] extended two-party computation to multi-party computation and provided a security definition for secure multi-party computation. Generally speaking, secure multi-party computation allows a group of untrusted data holders to jointly calculate a predetermined function using their respective secret data as input without relying on any third party. This makes it possible to use secure multi-party computation to build privacy protection applications. The basic cryptographic primitives involved in MPC mainly include Oblivion Transfer (OT), Garbled Circuit (GC), secret sharing (SS), and so on. We mainly introduce the work related to secret sharing.
The secret sharing scheme is a protocol that securely distributes secret information to a certain group of users. Secret sharing can divide secret information into multiple parts and hand them over to different participants, each of whom can only obtain a portion of the information. Only when some participants collaborate together can the complete secret information be recovered. The linear secret sharing scheme (LSSS) refers to a sharing protocol in which a group of users can restore their own shares to their original secret values solely through linear operations. At present, research on secure multi-party computation based on secret sharing mainly focuses on linear secret sharing schemes.
The secret sharing scheme was initially independently proposed by Shamir and Blakley in 1979. The former was constructed based on interpolation polynomials [16], while the latter was based on hyperplane geometry [17]. Subsequently, more threshold secret sharing schemes were proposed, and their properties were continuously improved and strengthened through discussions. The BGW protocol [18] is a classic secure multi-party computation protocol constructed based on the secret sharing protocol. Ben Or and Rabinz [19] proposed the verifiable secret sharing scheme in 1989 and constructed a secure multi-party computation protocol based on it that includes an honest majority of participants.

1.1.3. Multi-Factor Authentication

The existing identity authentication protocols include three basic authentication factors [20]:
  • Knowledge factors: what the user knows (such as passwords or PINs);
  • Ownership factors: things owned by the user (such as tokens, smart cards, or smartphones);
  • Biometric factors: the user’s biometrics (such as fingerprints or iris).
These three basic authentication factors can be used alone or in combination to form an identity authentication system.
Password-based authentication technology began in the 1970s, where the user’s identity and password were stored in the server’s authentication table, which was directly compared with the information on the authentication table when the user logged in. In 1981, Lamport [21] first proposed a password authentication scheme for non-secure channels. Subsequent solutions have been improved in terms of security, computational cost, and effectiveness [22,23,24]. These schemes are easy to implement, but the disadvantage is that the server needs to maintain a password table. Chen Ku [25] pointed out that they are vulnerable to verification table leakage attacks. In 1989, Harn, Huang, and Laih [26] proposed a password authentication scheme based on the public key encryption system. In this scheme, the Diffie Hellman public key [27] encryption technology is used, and the server no longer needs to protect the password table.
With the development of smart cards, people are beginning to attempt to combine smart cards with passwords to address the shortcomings of single-factor authentication schemes. In 1991, Chang and Wu [28] proposed a dual-factor identity authentication protocol based on the Chinese remainder theorem using smart cards. Afterwards, many scholars [29,30,31] conducted extensive research on this dual-factor identity authentication protocol. However, none of these schemes have achieved their claimed security, and dual-factor identity authentication schemes are easily vulnerable to existing internal attacks, anonymity attacks, and other attacks. Particularly, due to the inherent characteristics of smart cards, many schemes are unable to resist the loss of smart cards [32,33].
The emergence of biometric recognition technology has provided a new breakthrough point for identity authentication. Biometrics have many characteristics such as universality, uniqueness, and stability, which provide a more reliable and convenient way of identity verification. In 2002, Lee et al. [34] proposed an identity authentication protocol based on fingerprints and smart cards, which first applied three-factor authentication technology to remote identity authentication protocols. However, biometric technology also has some drawbacks, as users’ biometric information, such as fingerprints, can be easily obtained by adversaries. Furthermore, it is difficult for users to modify their biometric information. Therefore, many protocols [35,36,37] store hashed or encrypted biometric data, rather than the biometric information itself. However, this method is still unrealistic because the recognition data of biometric information are noisy, and the hash function is very sensitive to the input, which can lead to users being unable to successfully complete identity authentication themselves. Fortunately, Dodis et al. [38] proposed the concept of a fuzzy extractor in 2004, which can effectively address this issue.
Nowadays, a multi-factor authentication design for different systems and application scenarios has been widely studied and applied [39,40,41,42,43,44]. For example, Odyuo et al. [39] suggested a novel authentication algorithm based on device serialization and digital signature authentication. According to the suggested approach, a device will only be permitted access to the network if it has successfully completed multi-factor authentication; otherwise, the authentication procedure will fail and must be repeated from scratch. Braeken et al. [40] presented an authentication and key agreement protocol for users who want to have access to constrained sensor nodes deployed in the field, e.g., a doctor with healthcare nodes of a patient. In their protocol, both the sensor and user device provide direct multi-factor authentication relying on physical unclonable functions and biometrics, respectively. In [41], Mostafa et al. proposed an adaptive multi-factor multi-layer authentication framework that embeds an access control and intrusion detection mechanisms with an automated selection of authentication methods. They implemented multiple authentication factors through the user’s geographical location and browser confirmation method that enhance the identity verification of cloud users.
The arrangement of this article is as follows: Section 2 introduces the model of the scheme and some basic tools. In Section 3, we analyze the execution efficiency of Yi et al.’s scheme. In Section 4, we systematically introduce proposed scheme. In Section 5, we conduct a security analysis of the proposed scheme. In addition, we also compare the performance with the scheme proposed by Yi et al. Finally, we provide the conclusion in Section 6.

2. Preliminaries

In this chapter, we will first introduce some basic tools used in this paper, and then, we will introduce the model of our scheme. A brief review of Yi et al.’s scheme is given in Appendix A.
Table 1 summarizes the key abbreviations used throughout this paper for ease of reference.

2.1. Shamir’s (t-n) Threshold Secret Sharing Scheme

Shamir’s threshold secret sharing scheme is based on the Lagrange interpolation method. It splits the secret s and shares it with n participants. As long as at least t participants cooperate, the secret s can be reconstructed. However, as long as there are fewer than t participants cooperating, no information about the secret s can be obtained. Shamir’s threshold secret sharing scheme includes the following phases:
  • Preparation
    Let G F ( p ) be a finite field (p is a large odd prime number and p > n ; n is the number of participants), s G F ( p ) is the shared secret, and at least t n out of the n participants are required to reconstruct s.
  • Secret sharing
    Firstly, the secret dealer independently selects t 1 elements α 1 , α 2 , , α t 1 G F ( p ) , and then constructs a polynomial of degree t 1 as follows:
    f ( x ) = s + α 1 x + α 2 x 2 + + α t 1 x t 1 ( m o d p ) ,
    where Equation (1) satisfies f ( 0 ) = s ( m o d p ) and α t 1 0 .
    Then, the dealer randomly selects n different non-zero elements x 1 , x 2 , , x n G F ( p ) , and computes y i = f ( x i ) for i = 1 , 2 , , n . The share ( x i , y i ) is given to the corresponding participant P i .
  • Secret reconstruction
    We assume that the combiner receives t shares ( x i 1 , y i 1 ) , ( x i 2 , y i 2 ) , , ( x i t , y i t ) ; the polynomial f ( x ) can be reconstructed by
    f ( x ) = j = 1 t y i j k = 1 , k j t x x i k x i j x i k ( m o d p ) ,
    and then the secret s can be recovered, since: s = f ( 0 ) .

2.2. Fuzzy Extractor

A fuzzy extractor can extract a random string R from noisy random data with enough entropy, such as biometrics. The extracted random string R can be used as the private key or random numbers in the cryptosystem. With the helper string P, it can reproduce the same R from biometric templates B i o and B i o , in case B i o is sufficiently close to B i o .
Definition 1
(Metric spaces). A metric space is a set W with a distance function d i s : W × W R + = [ 0 , ) . For all x , y , z W , the distance function should satisfy the following conditions:
1. 
Reflexivity: d i s ( x , y ) = 0 if and only if x = y ;
2. 
Symmetry: d i s ( x , y ) = d i s ( y , x ) ;
3. 
Triangle inequality: d i s ( x , z ) d i s ( x , y ) + d i s ( y , z ) .
Definition 2
(Min-entropy). For a random variable X, the min-entropy of X, denoted by H ( X ) , is defined by
H ( X ) : = l o g 2 ( m a x x P r [ X = x ] ) .
Definition 3
(Robust fuzzy extractor). A ( W , m , , t , ϵ , δ ) robust fuzzy extractor FE consists of two probabilistic polynomial-time algorithms ( G e n , R e p ) . They are described as follows:
  • ( R , P ) G e n ( B i o ) . It takes biometrics B i o W as input, and outputs an extracted random string R { 0 , 1 } and an auxiliary string P.
  • R R e p ( B i o , P ) . The reproduction algorithm R e p takes P and B i o W as inputs, and outputs an extracted string R.
  • Correctness: If d i s ( B i o , B i o ) t , then, for all ( R , P ) G e n ( B i o ) , it holds that R R e p ( P , B i o ) .
  • Security: Let W be a distribution on W , if H ( W ) m , then, for all PPT adversaries A ,
A d v F E , A i n d ( k ) = | P r [ A ( P , R ) 1 ] P r [ A ( P , U ) 1 ] | ϵ ,
where ( P , R ) G e n ( B i o ) , B i o W and U denotes the uniform distribution on ℓ-bit binary strings.
Furthermore, these two algorithms satisfy Equation (5) when adversary A involves the following game: A : Compute ( R , P ) G e n ( B i o ) and P ˜ = A ( R , P ) ,
P r ( P ˜ P R e p ( B i o , P ˜ ) ) δ .

2.3. Message Authentication Code

Definition 4
(Message authentication code). A message authentication code consists of three probabilistic polynomial-time algorithms ( G e n , M a c , V r f y ) . They are described as follows:
  • k G e n ( 1 n ) : it takes a security parameter 1 n as input and outputs a key k { 0 , 1 } n .
  • t M a c k ( m ) : it takes a key k and a message m { 0 , 1 } as inputs, and outputs a tag t.
  • b V r f y k ( m , t ) : it takes a key k, a message m, and a tag t as inputs, and outputs a bit b; b = 1 means valid and b = 0 means invalid.
For every n, every k { 0 , 1 } n , and every m { 0 , 1 } , it satisfies the following equation:
V r f y k ( m , M a c k ( m ) ) = 1 .
Definition 5
(Existentially unforgeable under an adaptive chosen-message attack). A message authentication code Π = ( G e n , M a c , V r f y ) is existentially unforgeable under an adaptive chosen-message attack, if, for all probabilistic polynomial-time adversaries A , the message authentication code satisfies the following equation:
P r [ M a c f o r g e A , Π ( n ) = 1 ] n e g l ( n ) ,
where the experiment M a c f o r g e A , Π ( n ) is defined as follows:
  • A random key k { 0 , 1 } n is chosen.
  • The adversary A is given oracle access to M a c k ( . ) and outputs a pair ( m , t ) . Formally, ( m , t ) A M a c k ( . ) ( 1 n ) . Let Q denote the queries asked by A during the execution.
  • The output of the experiment is defined to be 1 if and only if V r f y k ( m , t ) = 1 and m Q .

2.4. Model of Our Scheme

Like the scheme proposed by Yi et al., in our model, the user first selects a private key k to encrypt the sensitive data, then the user shares the private key k among the laptop, the smart card, and the server through Shamir’s (2,3) threshold secret sharing scheme. The private key k will be destroyed after the share generation. The user can recover the private key from any two shares using the Lagrange interpolation method. Our scheme mainly focuses on the secret sharing and secret reconstruction phase.
The specific process is shown in Figure 1.

2.5. Adversary Capabilities

In this section, we provide a precise description of the adversary’s capabilities.
  • Capabilities of the adversary
C 1 :
The adversary can eavesdrop, modify, intercept, or redirect the information transferred on open channels.
C 2 :
When the adversary obtains a smart card or a laptop, the adversary can extract the information in it.
C 3 :
The adversary can modify the information on the smart card and the laptop.
C 4 :
The adversary can achieve at most two of the following conditions: (1) obtain the smart card; (2) obtain the laptop; (3) obtain the password; (4) obtain the biometrics; or (5) corrupt the server.

2.6. Security Goals

In this section, we describe the security goals of our scheme.
  • Security goals
T 1 :
Even if the adversary has the above capabilities, the adversary cannot reconstruct the private key k.
T 2 :
When the adversary tampers with the smart card or the laptop, the user can quickly detect this attack.
T 3 :
When a malicious server sends a wrong message to the user, the user can quickly detect it.

3. Efficiency Analysis of Yi et al.’s Scheme

In this section, we will report the time consumption of each phase in Yi et al.’s scheme. Since the time complexity of the exclusive-OR operation and concatenation operation is negligible, we do not take them into account.
The notations to analyze the computational cost of each phase are as follows:
T H :
The time complexity of the hash function operation.
T S :
The time complexity of the symmetric key encryption/decryption operation.
T P :
The time complexity of the polynomial interpolation operation.
T M :
The time complexity of the message authentication code tag generation algorithm.
T V :
The time complexity of the message authentication code verification algorithm.
T G :
The time complexity of the fuzzy extractor generation algorithm.
T R :
The time complexity of the fuzzy extractor recovery algorithm.
T S S :
The time complexity of generating three shares using Shamir’s secret sharing.
Among them, the main notations used to analyze the time complexity of the scheme are T H , T S , T V , and T R , while the other notations are only used in the some phases.
The computational cost of three entities at each phase is shown in Table 2. Furthermore, in Table 2, Case 1 is “possession of the laptop and the smart card”, Case 2 is “losing the smart card”, and Case 3 is “losing the laptop”.

4. Proposed Scheme

We found that the performance of Yi et al’s scheme is not very ideal. In their scheme, the laptop and the smart card need to establish a session key with the server to obtain the server information, which involves a lot of hash operations. In addition, each updating phase requires going through the above steps.
Therefore, we proposed a more efficient solution: during the registration phase, the server negotiates an encryption key with the laptop and the smart card, respectively. In this way, we can reduce the computation required to establish a session key during the authentication phase, and improve the execution efficiency of the scheme.
In this chapter, we will introduce our more efficient data backup scheme, which consists of four phases: the registration phase, the authentication phase, the key reconstruction phase, and the updating phase.
Similar to Yi et al.’s scheme, in our scheme, the registration phase and key reconstruction phase are carried out on a secure channel. The interaction between the laptop and the smart cards occurs over a secure physical channel. Additionally, all other phases are carried out on the common channel.
The adversary capabilities and the security goals are consistent with those introduced in Section 2; therefore, they are omitted here.

4.1. Registration Phase

In the registration phase, the user uses the laptop to interact with the smart card and server to complete the distribution and storage of keys. The specific process is as follows (see Game 1):
Game 1 Registration phase
Smart card Laptop (user) Server
choose
       I D u s r , I D s c , I D s e r ,
       P w d , B i o , k u ,
       f ( x ) = r x + k , s k l p s , s k s c s ;
compute
       I D u s r , I D s c , I D s e r ,
       ( R , P ) G e n ( B i o ) ,
         R = ( R 1 , R 2 ) ,
       y u s r = f ( I D u s r ) ,
       y s c = f ( I D s c ) ,
       y s e r = f ( I D s e r ) ,
       A u s r = y u s r P w d R 1 ,
       A s c = y s c P w d R 1 ,
       A s e r = y s e r P w d R 1 ,
         V = h ( I D s c | | P w d | | I D u s r | | R 1 | | k u ) ,
         H = h ( I D u s r | | P w d | | R 1 ) ,
       t u s r M a c R 2 ( A u s r ) ,
       t s c M a c R 2 ( A s c ) ,
       t s e r M a c R 2 ( A s e r ) ;
( t s e r , s k l p s , s k s c s , H ) ( I D s e r , I D s c , I D u s r , A s e r )
choose     X ;
compute     Y = h ( I D s e r | | X ) ,
                Z = Y H ;
store
       ( I D s e r , I D s c , I D u s r )
and ( A s e r , t s e r , s k l p s , s k s c s , X )
         Z
store
       ( I D u s r , A u s r , t u s r )
and ( s k l p s , Z , P , k u )
( s k s c s , Z , P , V ) ( I D s c , A s c , t s c )
store
       ( I D s c , A s c , t s c )
and ( s k s c s , Z , P , V )
  • The user chooses I D u s r , I D s c , I D s e r , P w d , B i o , a random number k u , and a first-degree polynomial f ( x ) = r x + k , where k is the key to encrypt sensitive information, and r is a random number. The user chooses a symmetric encryption key s k l p s for encrypted communication between the laptop and the server. The user chooses a symmetric encryption key s k s c s for encrypted communication between the smart card and the server (e.g.,the user can choose s k l p s and s k s c s by using the key generation algorithm in AES).
  • The user computes ( R , P ) G e n ( B i o ) , and divides R into two parts R 1 , R 2 , which are, respectively, applied to the three pseudoshares and the message authentication code. The user computes three true shares y u s r = f ( I D u s r ) , y s c = f ( I D s c ) , and y s e r = f ( I D s e r ) , three pseudoshares A u s r = y u s r P w d R 1 , A s c = y s c P w d R 1 , and A s e r = y s e r P w d R 1 , the authentication message V = h ( I D s c | | P w d | | I D u s r | | R 1 | | k u ) , H = h ( I D u s r | | P w d | | R 1 ) , and three tags t u s r M a c R 2 ( A u s r ) , t s c M a c R 2 ( A s c ) , and t s e r M a c R 2 ( A s e r ) .
  • The user sends the message ( I D s e r , I D s c , I D u s r , A s e r , t s e r , s k l p s , s k s c s , H ) to the server.
  • After the server receives the message ( I D s e r , I D s c , I D u s r , A s e r , t s e r , s k l p s , s k s c s , H ) , the server chooses a random number X and generates Y = h ( I D s e r | | X ) , Z = Y H . Finally, the server stores values ( I D s e r , I D s c , I D u s r , A s e r , t s e r , s k l p s , s k s c s , X ) .
  • The server sends the message Z to the user.
  • The user stores values ( I D u s r , A u s r , t u s r , s k l p s , Z , P , k u ) in the laptop.
  • The user then sends ( I D s c , A s c , t s c , s k s c s , Z , P , V ) to the smart card.
  • The smart card stores ( I D s c , A s c , t s c , s k s c s , Z , P , V ) .

4.2. Authentication Phase

If the user wants to recover the private key for decrypting the encrypted sensitive data, the user needs to first perform the authentication phase. According to the possession of secret shares, the authentication phase can be divided into the following threes case: (1) laptop and smart card; (2) laptop and server; and (3) smart card and server.

4.2.1. Laptop and Smart Card

The user can easily obtain the information needed to reconstruct the private key if he has the smart card and the laptop. The specific process is as follows (see Game 2):
Game 2 Authentication phase: possession of the laptop and the smart card
Smart card Laptop (user)
compute
       R R e p ( B i o , P ) ,
       R = ( R 1 , R 2 ) ,
       b V r f y R 2 ( t u s r , A u s r ) ;
if     b = 0 , stop;
( I D u s r , P w d , k u , R 1 , R 2 )
compute
       b V r f y R 2 ( t s c , A s c ) ;
if     b = 0 , stop;
else compute
       V = h ( I D s c | | P w d | | I D u s r | | R 1 | | k u ) ;
check     V ? = V
if     V V , stop;
         A s c
compute
       y s c = A s c P w d R 1 ,
       y u s r = A u s r P w d R 1 ;
  • The user inserts the smart card into the card reader, and the card reader reads the information ( I D s c , A s c , t s c , s k s c s , Z , P , V ) in the smart card.
  • The user inputs B i o , and computes R e p ( B i o , P ) = R , then divides R into two parts R 1 , and R 2 . Then, the laptop verifies whether t u s r is a valid tag for message A u s r ( b V r f y R 2 ( t u s r , A u s r ) ). If b = 0 , the laptop stops; otherwise, the laptop sends message ( I D u s r , P w d , k u , R 1 , R 2 ) to the smart card.
  • After receiving the message, the smart card verifies whether t s c is a valid tag for message A s c ( b V r f y R 2 ( t s c , A s c ) ). If b = 0 , the smart card stops.
  • The smart card computes V = h ( I D s c | | P w d | | I D u s r | | R 1 | | k u ) , then checks if V is equal to V.
  • If V V , the procedure aborts; otherwise, the smart card sends A s c to the laptop.
  • After receiving A s c , the user computes y s c = A s c P w d R 1 , and y u s r = A u s r P w d R 1 .

4.2.2. Laptop and Server

When the user’s smart card share is unavailable (e.g., the smart card may be lost, the share may be corrupt, etc.), the user needs to complete the authentication phase through the interaction between the laptop and the server. The specific process is as follows (see Game 3):
Game 3 Authentication phase: laptop and server
Laptop (user) Server
input     I D u s r , P w d , B i o , T 1 ;
compute
       R R e p ( B i o , P ) ,
       R = ( R 1 , R 2 ) ,
       H = h ( I D u s r | | P w d | | R 1 ) ,
       Y = Z H ,
       c 1 E s k l p s ( Y ) ;
         ( c 1 , I D u s r , T 1 ) check     T T 1 ? Δ t
if     T T 1 > Δ t , stop;
compute
       Y D s k l p s ( c 1 ) ,
       Y = h ( I D s e r | | X ) ;
check     Y ? = Y
if     Y Y , stop;
otherwise, server authenticates user;
compute
       c 2 E s k l p s ( A s e r ) ;
         ( c 2 , t s e r )
compute
       A s e r D s k l p s ( c 2 ) ,
       b V r f y R 2 ( A s e r , t s e r ) ;
if     b = 0 , stop;
else, compute
       y s e r = A s e r R 1 P w d ,
       y u s r = A u s r R 1 P w d ;
  • The user inputs B i o , computes R e p ( B i o , P ) = R , and divides R into two parts R 1 and R 2 . Then, the user inputs their I D u s r , P w d , and current timestamp T 1 . The laptop computes H = h ( I D u s r | | P w d | | R 1 ) , and Y = Z H , c 1 E s k l p s ( Y ) .
  • The laptop sends ( c 1 , I D u s r , T 1 ) to the server.
  • After receiving the request message ( c 1 , I D u s r , T 1 ) , the server checks whether the current timestamp T 1 T 1 Δ t or not. If T 1 T 1 > Δ t , the server stops; otherwise, the server uses the symmetric key s k l p s to compute Y D s k l p s ( c 1 ) .
  • Y = h ( I D s e r | | X ) . The server check whether Y is equal to Y. If Y Y , the server stops; otherwise, the server authenticates the user identity.
  • The server computes c 2 E s k l p s ( A s e r ) and sends ( c 2 , t s e r ) to the laptop.
  • After receiving the message ( c 2 , t s e r ) , the laptop computes A s e r D s k l p s ( c 2 ) and b V r f y R 2 ( A s e r , t s e r ) . If b = 0 , the laptop stops; otherwise, the user computes y s e r = A s e r R 1 P w d .

4.2.3. Smart Card and Server

When the user’s laptop share is unavailable (e.g., the laptop may be lost, the share may be corrupt, etc.), the user can use another device with a smart card reader to interact with the server and complete the authentication phase. The specific process is as follows (see Game 4):
Game 4 Authentication phase: smart card and server
Smart card (user) Server
input     I D u s r , P w d , B i o , T 1 ;
compute
       R R e p ( B i o , P ) ,
       R = ( R 1 , R 2 ) ,
       H = h ( I D u s r | | P w d | | R 1 ) ,
       Y = Z H ,
       c 1 E s k s c s ( Y ) ;
         ( c 1 , I D s c , T 1 )
check     T T 1 ? Δ t
if     T T 1 > Δ t , stop;
compute
       Y D s k s c s ( c 1 ) ,
       Y = h ( I D s e r | | X ) ;
check     Y ? = Y
if     Y Y , stop;
otherwise, server authenticates user;
compute
       c 2 E s k s c s ( A s e r ) ;
         ( c 2 , t s e r )
compute
       A s e r D s k s c s ( c 2 ) ,
       b V r f y R 2 ( A s e r , t s e r ) ;
if     b = 0 , stop;
else, compute
       y s e r = A s e r R 1 P w d ,
       y u s r = A u s r R 1 P w d ;
  • The user inputs B i o , computes R e p ( B i o , P ) = R , and divides R into two parts R 1 and R 2 . Then, the user inputs their I D u s r , P w d , and current timestamp T 1 . The laptop computes H = h ( I D u s r | | P w d | | R 1 ) and Y = Z H , c 1 E s k l p s ( Y ) .
  • The laptop sends ( c 1 , I D s c , T 1 ) to the server.
  • After receiving the request message ( c 1 , I D s c , T 1 ) , the server checks whether the current timestamp T 1 T 1 Δ t or not. If T 1 T 1 > Δ t , the server stops; otherwise, the server uses the symmetric key s k s c s to compute Y D s k s c s ( c 1 ) .
  • Y = h ( I D s e r | | X ) . The server check whether Y is equal to Y. If Y Y , the server stops; otherwise, the server authenticates the user identity.
  • The server computes c 2 E s k s c s ( A s e r ) and sends ( c 2 , t s e r ) to the laptop.
  • After receiving the message ( c 2 , t s e r ) , the laptop computes A s e r D s k s c s ( c 2 ) and b V r f y R 2 ( A s e r , t s e r ) . If b = 0 , the laptop stops; otherwise, the user computes y s e r = A s e r R 1 P w d .

4.3. Key Reconstruction Phase

The user can easily recover key k through the Lagrange interpolation method if he knows two of the three tuples ( I D u s r , y u s r ) , ( I D s c , y s c ) , and ( I D s e r , y s e r ) . For example, if the user knows ( I D s c , y s c ) and ( I D u s r , y u s r ) , the user can obtain the private key by computing k = y s c ( I D s c / ( I D u s r I D s c ) ) + y u s r ( I D u s r / ( I D s c I D u s r ) ) ( m o d p ) .

4.4. Updating Phase

When the user has both the smart card and the laptop, the user can update their password or biometrics. When the user’s smart card share or laptop share is unavailable, the user can rebuild it by interacting with the server through another share.

4.4.1. Updating Password

The user can update the password P w d to P w d . Before updating the password, the user need to interact with the server through the laptop or the smart card to obtain A s e r stored on the server (Section 4.4.2, lines 5 and 6; Section 4.4.3, lines 5 and 6). After obtaining the information A s e r stored on the server, the subsequent process is as follows (see Game 5):
Game 5 Updating password
Smart card Laptop (user) Server
compute
       R R e p ( B i o , P ) , R = ( R 1 , R 2 ) ;
         ( I D u s r , P w d , k u , R 1 )
compute
       V =
h ( I D s c | | P w d | | I D u s r | | R 1 | | k u ) ;
check     V ? = V
if     V V , stop;
         A s c
choose     k u , P w d ;
compute
        V = h ( I D s c | | P w d | | I D u s r | | R 1 | | k u ) ,
        H = h ( I D u s r | | P w d | | R 1 ) ,
         H = h ( I D u s r | | P w d | | R 1 ) ,
        Z = Z H H ,
      A u s r = A u s r P w d P w d ,
        A s c = A s c P w d P w d ,
       A s e r = A s e r P w d P w d ,
t u s r M a c R 2 ( A u s r ) , t s c M a c R 2 ( A s c ) ,
t s e r M a c R 2 ( A s e r ) , c E s k l p s ( A s e r , A s e r ) ;
store
       ( Z , k u , A u s r , t u s r )
         ( Z , V , A s c , t s c )
store
       ( Z , V , A s c , t s c )
         ( t s e r , c )
compute
       D s k l p s ( c ) = ( A s e r , A s e r ) ;
if     A s e r A s e r , stop;
store
       ( t s e r , A s e r )
  • The user inserts the smart card into the card reader, and the card reader reads the information in the smart card.
  • The user obtains I D u s r and the random number k u in the laptop, and inputs their biometrics B i o and the old password P w d . Then, the user computes ( R , P ) G e n ( B i o ) and divides R into two parts R 1 and R 2 . After that, the laptop sends ( I D u s r , P w d , k u , R 1 ) to the smart card.
  • After receiving the message ( I D u s r , P w d , k u , R 1 ) , the smart card computes V = h ( I D s c | | P w d | | I D u s r | | R 1 | | k u ) and checks whether V is equal to V. If V V , the smart card stops; otherwise, the smart card sends A s c to the laptop.
  • The user chooses a new random number k u and a new password P w d and computes following values:
    V = h ( I D s c | | P w d | | I D u s r | | R 1 | | k u ) , H = h ( I D u s r | | P w d | | R 1 ) ,
    H = h ( I D u s r | | P w d | | R 1 ) , Z = Z H H ,
    A u s r = A u s r P w d P w d , A s c = A s c P w d P w d , A s e r = A s e r P w d P w d ,
    t u s r M a c R 2 ( A u s r ) , t s c M a c R 2 ( A s c ) , t s e r M a c R 2 ( A s e r ) .
    Then, the user stores ( Z , k u , A u s r , t u s r ) in the laptop to replace ( Z , k u , A u s r , t u s r ) and sends ( Z , V , A s c , t s c ) to the smart card.
  • The smart card stores ( Z , V , A s c , t s c ) to replace ( Z , V , A s c , t s c ) .
  • The laptop sends ( t s e r , c = E s k l p s ( A s e r , A s e r ) ) to the server.
  • After receiving the message ( t s e r , c ) , the server calculates D s k l p s ( c ) = ( A s e r , A s e r ) and checks if A s e r is equal to A s e r . If A s e r = A s e r , the server replaces ( A s e r , t s e r ) with ( A s e r , t s e r ) ; otherwise, the server stops.

4.4.2. Updating Biometrics

The process of changing the biometrics is similar to that of changing the password. Before updating the biometrics, the user needs to interact with the server through the laptop or the smart card to obtain A s e r stored on the server (Section 4.4.2, lines 5 and 6; Section 4.4.3, lines 5 and 6). Furthermore, the subsequent process is as follows (see Game 6):
  • The user inserts the smart card into the card reader, and the card reader reads the information in the smart card.
  • The user obtains I D u s r and the random number k u in the laptop, and inputs their biometrics B i o and the password P w d . Then, the user computes ( R , P ) G e n ( B i o ) and divides R into two parts R 1 and R 2 . After that, the laptop sends ( I D u s r , P w d , k u , R 1 ) to the smart card.
  • After receiving the message ( I D u s r , P w d , k u , R 1 ) , the smart card computes V = h ( I D s c | | P w d | | I D u s r | | R 1 | | k u ) and checks whether V is equal to V. If V V , the smart card stops; otherwise, the smart card sends A s c to the laptop.
  • The user chooses a new random number k u and inputs new biometrics B i o and computes following values:
    ( R , P ) G e n ( B i o ) , R = ( R 1 , R 2 ) ,
    V = h ( I D s c | | P w d | | I D u s r | | R 1 | | k u ) ,
    H = h ( I D u s r | | P w d | | R 1 ) , H = h ( I D u s r | | P w d | | R 1 ) , Z = Z H H ,
    A u s r = A u s r R 1 R 1 , A s c = A s c R 1 R 1 , A s e r = A s e r R 1 R 1 ,
    t u s r M a c R 2 ( A u s r ) , t s c M a c R 2 ( A s c ) , t s e r M a c R 2 ( A s e r ) .
    Then, the user stores ( Z , k u , P , A u s r , t u s r ) in the laptop to replace ( Z , k u , P , A u s r , t u s r ) and sends ( Z , V , P , A s c , t s c ) to the smart card.
  • The smart card stores ( Z , V , P , A s c , t s c ) to replace ( Z , V , P , A s c , t s c ) .
  • The laptop sends ( t s e r , c = E s k l p s ( A s e r , A s e r ) ) to the server.
  • After receiving the message ( t s e r , c ) , the server calculates D s k l p s ( c ) = ( A s e r , A s e r ) and checks if A s e r is equal to A s e r . If A s e r = A s e r , the server replaces ( A s e r , t s e r ) with ( A s e r , t s e r ) ; otherwise, the server stops.
Game 6 Updating biometrics
Smart card Laptop (user) Server
compute
       R R e p ( B i o , P ) , R = ( R 1 , R 2 ) ;
         ( I D u s r , P w d , k u , R 1 )
compute
       V =
h ( I D s c | | P w d | | I D u s r | | R 1 | | k u ) ;
check     V ? = V
if     V V , stop;
         A s c
choose     k u , B i o ;
compute
       ( R , P ) G e n ( B i o ) ,
        R = ( R 1 , R 2 ) ,
        V = h ( I D s c | | P w d | | I D u s r | | R 1 | | k u ) ,
        H = h ( I D u s r | | P w d | | R 1 ) ,
         H = h ( I D u s r | | P w d | | R 1 ) ,
        Z = Z H H ,
      A u s r = A u s r R 1 R 1 ,
       A s c = A s c R 1 R 1 ,
       A s e r = A s e r R 1 R 1 ,
t u s r M a c R 2 ( A u s r ) , t s c M a c R 2 ( A s c ) ,
t s e r M a c R 2 ( A s e r ) , c E s k l p s ( A s e r , A s e r ) ;
store
       ( Z , k u , P , A u s r , t u s r )
         ( Z , V , P , A s c , t s c )
store
( Z , V , P , A s c , t s c )
         ( t s e r , c )
compute
       D s k l p s ( c ) = ( A s e r , A s e r ) ;
if     A s e r A s e r , stop;
store
       ( t s e r , A s e r )

4.4.3. Rebuilding a New Smart Card

When the user’s smart card is unavailable, the user can use the laptop to interact with the server to rebuild it. The process of rebuilding a new smart card is as follows (see Game 7):
  • The user chooses a new identity of smart card I D s c , a new random number k u , and a new first-degree polynomial f ( x ) = r x + k , where r is a random number and two new symmetric keys are s k l p s and s k s c s .
  • The user computes three true shares y u s r = f ( I D u s r ) , y s c = f ( I D s c ) , and y s e r = f ( I D s e r ) , three pseudoshares A u s r = y u s r P w d R 1 , A s c = y s c P w d R 1 , and A s e r = y s e r P w d R 1 , the authentication message V = h ( I D s c | | P w d | | I D u s r | | R 1 | | k u ) , and t u s r = M a c R 2 ( A u s r ) , t s e r = M a c R 2 ( A s e r ) , t s c = M a c R 2 ( A s c ) .
  • The laptop uses ( A u s r , t u s r , k u , s k l p s ) to replace ( A u s r , t u s r , k u , s k l p s ) and sends message ( t s e r , c = E s k l p s ( A s e r , A s e r , s k l p s , s k s c s ) , I D s c ) to the server.
  • After receiving the message ( t s e r , c , I D s c ) , the server calculates D s k l p s ( c ) = ( A s e r , A s e r , s k l p s , s k s c s ) and checks if A s e r is equal to A s e r . If A s e r = A s e r , the server replaces ( A s e r , t s e r , s k l p s , s k s c s , I D s c ) with ( A s e r , t s e r , s k l p s , s k s c s , I D s c ) ; otherwise, the server stops.
  • The laptop sends the message ( I D s c , A s c , t s c , V , s k s c s , Z , P ) to the smart card.
  • The user stores ( I D s c , A s c , t s c , V , s k s c s , Z , P ) in the new smart card.
Game 7 Rebuilding a new smart card
New smart card Laptop (user) Server
choose
       I D s c , k u , r , s k l p s , s k s c s ,
      f* (x)=r*x + k;
compute
         y u s r = f ( I D u s r ) ,
          y s c = f ( I D s c ) ,
         y s e r = f ( I D s e r ) ,
         A u s r = y u s r P w d R 1 ,
          A s c = y s c P w d R 1 ,
         A s e r = y s e r P w d R 1 ,
         V = h ( I D s c | | P w d | | I D u s r | | R 1 | | k u ) ,
       t u s r M a c R 2 ( A u s r ) ,
      t s c M a c R 2 ( A s c ) ,
      t s e r M a c R 2 ( A s e r ) ,
      c E s k l p s ( A s e r , A s e r , s k l p s , s k s c s ) ;
store
       ( A u s r , t u s r , k u , s k l p s )
         ( t s e r , c , I D s c )
compute
       D s k l p s ( c ) = ( A s e r , A s e r , s k l p s , s k s c s ) ;
if     A s e r A s e r , stop;
store
       ( t s e r , A s e r , s k l p s , s k s c s , I D s c )
( V , s k s c s , Z , P ) ( I D s c , A s c , t s c )
store
( I D s c , A s c , t s c , V , s k s c s , Z , P )

4.4.4. Rebuilding a New Laptop

When the user’s laptop is unavailable, the user can use the smart card to interact with the server to rebuild it. The process of rebuilding a new laptop is as follows (see Game 8):
  • The user chooses a new random number k u , a new first-degree polynomial f ( x ) = r x + k , where r is a random number, and two new symmetric keys s k l p s and s k s c s .
  • The user computes three true shares y u s r = f ( I D u s r ) , y s c = f ( I D s c ) , and y s e r = f ( I D s e r ) , three pseudoshares A u s r = y u s r P w d R 1 , A s c = y s c P w d R 1 , and A s e r = y s e r P w d R 1 , the authentication message V = h ( I D s c | | P w d | | I D u s r | | R 1 | | k u ) , and t u s r = M a c R 2 ( A u s r ) , t s e r = M a c R 2 ( A s e r ) , t s c = M a c R 2 ( A s c ) .
  • The new laptop sends the message ( A s c , t s c , V , s k s c s ) to the smart card.
  • The smart card uses ( A s c , t s c , V , s k s c s ) to replace ( A s c , t s c , V , s k s c s ) and sends the message ( Z , P , s k s c s ) to the new laptop.
  • After receiving the message ( Z , P , s k s c s ) , the new laptop stores ( I D u s r , A u s r , t u s r , k u , s k l p s , Z , P ) and sends message ( t s e r , c E s k s c s ( A s e r , A s e r , s k l p s , s k s c s ) ) to the server.
  • After receiving the message ( t s e r , c ) , the server computes D s k s c s ( c ) = ( A s e r , A s e r , s k l p s , s k s c s ) and checks whether A s e r is equal to A s e r . If A s e r = A s e r , the server uses ( A s e r , t s e r , s k l p s , s k s c s ) to replace ( A s e r , t s e r , s k l p s , s k s c s ) ; otherwise, the server stops.
Game 8 Rebuilding a new laptop
Smart card New laptop (user) Server
choose
       k u , r , s k l p s , s k s c s ,
     f*(x)=r*x + k;
compute
       y u s r = f ( I D u s r ) ,
        y s c = f ( I D s c ) ,
       y s e r = f ( I D s e r ) ,
       A u s r = y u s r P w d R 1 ,
        A s c = y s c P w d R 1 ,
       A s e r = y s e r P w d R 1 ,
         V = h ( I D s c | | P w d | | I D u s r | | R 1 | | k u ) ,
       t u s r M a c R 2 ( A u s r ) ,
       t s c M a c R 2 ( A s c ) ,
       t s e r M a c R 2 ( A s e r ) ;
         ( A s c , t s c , V , s k s c s )
store
( A s c , t s c , V , s k s c s )
         ( Z , P , s k s c s )
store
       ( I D u s r , A u s r , t u s r , k u , s k l p s , Z , P )
compute
       c E s k s c s ( A s e r , A s e r , s k l p s , s k s c s ) ;
         ( t s e r , c )
compute
       D s k s c s ( c ) = ( A s e r , A s e r , s k l p s , s k s c s ) ;
if     A s e r A s e r , stop;
store
       ( t s e r , A s e r , s k l p s , s k s c s )

5. Security Analysis and Performance Evaluation

In this section, we mainly analyze the security and performance of our scheme. Our scheme is secure against all secure goals claimed in Section 2.5.

5.1. Security Analysis

5.1.1. Resist Replay Attacks

When the laptop or the smart card is unavailable, the user needs to complete mutual authentication with the server through another device. The attacker can participate in this interaction process and implement a replay attack. We claim that our scheme can resist replay attacks.
If the smart card is unavailable, the user needs to complete mutual authentication with the server to recover the private key. During the authentication phase, the laptop will send a message ( c , I D u s r , T 1 ) to the server, and the attacker may intercept the message and continuously send it to the server to carry out a replay attack. Our scheme resists the above replay attacks using timestamps. The specific process of resisting replay attacks is as follows:
(1)
After receiving the message, the server first needs to determine that T T 1 Δ t is established.
(2)
When the laptop sends message ( c , I D u s r , T 1 ) to the server for the first time, we have T T 1 Δ t . If the attacker continues to send the message to the server, the server will terminate the authentication process when the time does not satisfy equation T T 1 Δ t .
From the above analysis, it can be found that our scheme can resist replay attacks if the smart card is unavailable. The same analysis can also be applied to the situation where the attacker implements replay attacks when the laptop is unavailable.

5.1.2. Resist Impersonation User Attacks

In this kind of attack, the attacker attempts to impersonate a legitimate user and interacts with the server. If the attacker wants to impersonate a legitimate user, the attacker must calculate the ciphertext c 1 to pass the server’s verification. It should be noted that c 1 E s k l p s ( Y ) , so the attacker must calculate a valid Y and a correct key s k l p s . We recall that Y = Z h ( I D u s r | | P w d | | R 1 ) , R R e p ( B i o , P ) , R = ( R 1 , R 2 ) . The security of the fuzzy extractor guarantees that R 1 is almost uniformly distributed if the biometric information has a high enough entropy. Therefore, calculating Y requires the attacker knowing the correct password P w d , obtaining the correct biometric information B i o , and obtaining the values of Z and P stored in the smart card or the laptop. According to the description of the attacker’s ability, it is impossible for the attacker to obtain both the password and biometric information while obtaining the smart card or the laptop device. Therefore, the attacker cannot impersonate a legitimate user.

5.1.3. Resist Impersonation Server Attacks

In this kind of attack, the attacker attempts to impersonate a legitimate server and interacts with the user. When the adversary successfully impersonates the server, they may deceive users or steal sensitive information. For example, the adversary may also send incorrect information to the user, causing them to rebuild a wrong key.
We analyze the case where the adversary wants to impersonate a legitimate server by interacting with the user through the laptop. We review the process in Section 4.2.2. If the attacker wants to impersonate a legitimate server, the attacker needs to calculate a valid mac t s e r and a correct ciphertext c 2 to pass the user’s verification. We recall that t s e r M a c R 2 ( A s e r ) , R R e p ( B i o , P ) , R = ( R 1 , R 2 ) and c 2 E s k l p s ( A s e r ) .
Since the biometric information B i o has enough entropy, through the security of the fuzzy extractor, R 2 is almost uniformly distributed. Then, by the security of M A C , it is infeasible for the adversary to forge a valid tag t s e r without biometric information B i o . Through the security of the encryption scheme, it is infeasible to forge a valid ciphertext c 2 for message A s e r without the encryption key s k l p s . Therefore, the adversary must obtain the biometric information B i o , the valid A s e r , the encryption key s k l p s , and the auxiliary string P. However, according to the description of the adversary’s abilities, it is impossible for the adversary to simultaneously corrupt the server, obtain biometric information, and obtain the laptop. A similar analysis can be used for the situation where the laptop is unavailable.

5.1.4. Resist Malicious Servers

In this attack, the attacker can act as a malicious server sending incorrect information to the user, causing them to rebuild a wrong key. We consider the situation where the server sends incorrect messages to the laptop. A similar analysis can also be applied to the situation where the server sends incorrect messages to the smart card.
We recall that, in our scheme, the server sends the message ( c 2 , t s e r ) to the laptop. After the laptop receives this message, the laptop calculates A s e r D e c s k l p s ( c 2 ) and b V r f y R 2 ( A s e r , t s e r ) .
In the chapter on resisting impersonation server attacks, we have analyzed that the attacker cannot forge legitimate messages ( c 2 , t s e r ) to pass the user’s verification. Furthermore, when the server sends mismatched c 2 and t s e r to the laptop, b = 0 . Therefore, the user can determine the correctness of the messages sent by the server by checking the value of b. Thus, our scheme can resist malicious servers.

5.1.5. Resist Offline Guessing Attacks

There are two ways for the adversary to perform offline guessing password attacks. One way involves validating the value of V, and the other involves validating the value of Z. We will separately discuss how our scheme resists offline guessing attacks in these two scenarios.
(1)
The adversary validates the value of V. In our scheme, V is stored in the smart card; thus, the adversary can only carry out offline guessing attacks in this way if he obtains the smart card. We recall that V = h ( I D s c | | P w d | | I D u s r | | R 1 | | k u ) and k u is a random number stored in the laptop. It should be noted that the adversary cannot simultaneously obtain the smart card, the biometric information, and the laptop, which means the adversary cannot know both R 1 and k u at the same time. Therefore, if the adversary wants to perform offline password-guessing attacks, he must guess the value of R 1 or k u correctly. The security of the fuzzy extractor guarantees that R 1 is almost uniformly distributed since the biometrc information has enough entropy, and through the randomness of k u , the adversary cannot guess V correctly in polynomial time.
(2)
The adversary validates the value of Z. In our scheme, Z is stored in the smart card and the laptop, thus the adversary can only carry out offline guessing attacks in this way if he obtains the smart card or the laptop. We recall that Z = H Y = h ( I D u s r | | P w d | | R 1 ) Y . We consider the worst-case scenario, where the adversary obtains the laptop, which means that the adversary obtains both Z and I D u s r . We note that the adversary cannot simultaneously obtain the smart card, obtain the laptop, and corrupt the server, which means that the adversary cannot know both R 1 and Y at the same time. Therefore, if the adversary wants to perform offline password-guessing attacks, he must guess the value of R 1 or Y correctly. The security of the fuzzy extractor and the randomness of Y guarantees that, the adversary cannot guess Z correctly in polynomial time.

5.2. Performance Evaluation

In this section, we will show the time consumption of each phase. The notations we used in this section are the same as those in Section 3. Since the time complexity of the exclusive-OR operation and concatenation operation is negligible, we do not take them into account. Table 3 shows the time cost for each phase of our scheme while Table 4 shows the comparison between our scheme and Yi et al. ’s scheme in terms of efficiency.
Compared with Yi et al.’s scheme, our scheme reduces two hash computations during the registration phase; reduces twenty hash computations, adds four symmetric encryption and decryption computations during the authentication phase; and reduces four hash computations during the updating phase. According to the literature [45], we have 1 T S = 2.5 T H . Therefore, our scheme consumes less time than Yi et al.’s scheme by 2 T H + 20 T H + 4 T H 4 T S = 26 T H 4 T S = 26 T H 4 2.5 T H = 16 T H .
In Table 5, we compare the computational cost and communication cost in the similar schemes. In the authentication protocol, the frequency of login and authentication is much higher than the frequency of user registration, and the update phase is only executed when the user has an update request, so we only consider the authentication phase. When evaluating the computational and communication costs of these schemes, we assume that the laptop identity I D u s r , smart card identity I D s c , server identity I D s e r , password p w d , output of the hash function H, ciphertext of symmetric encryption algorithm, timestamp, and random number are 128 bits, and the length of the random number R generated by the fuzzy extractor is 256 bits. The computation time of the XOR operation can be ignored. According to [4,45,46,47], we have T H 9.18 ms, T S = 2.5 T H 22.95 ms, T V 18.85 ms, and T R 63.08 ms.
From the comparison results, it can be seen that the computational complexity of Liu et al.’s and Hu et al.’s schemes is significantly lower than the latter two schemes. However, as mentioned earlier (in the introduction), their protocol cannot achieve the security they claim. Their protocol’s small computational costs stems from a significant sacrifice in security. Our scheme achieves the same level of security as Yi et al.’s scheme, while also having higher efficiency. In addition, our scheme also reduces one round of communication in the authentication phase, which greatly reduces our communication costs. Among the four schemes, our scheme has the lowest communication cost.

6. Conclusions

This paper gave a systematic analysis of Yi et al.’s scheme and found that its efficiency is relatively low, because users need to establish a session key with the server using a laptop or a smart card before obtaining information stored on the server. This process involves a large amount of hash operations, and the above steps are repeated every time the update operation is performed. Therefore, we proposed a data backup scheme with better performance. Our scheme involves negotiating session keys in advance during the registration phase. In this way, we can reduce ten hash computations and one round of communication in the authentication phase. The experimental results show that our scheme has better execution efficiency and lower communication costs.
Meanwhile, this paper also carried out the security analysis of the scheme and ensured that the scheme has the same security as the scheme of Yi et al. [7].

Author Contributions

Conceptualization, L.W., Y.W., and J.Y.; methodology, L.W., Y.W., and J.Y.; formal analysis, L.W., Y.W., and J.Y.; investigation, L.W., Y.W., and J.Y.; writing—original draft preparation, L.W.; writing—review and editing, L.W.; visualization, L.W.; supervision, Y.W. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the National Natural Science Foundation of China (Grant No. 62102077), Shanghai Sailing Program (Grant No. 21YF1401200), and Open Fund Program for State Key Laboratory of Information Security of China (Grant No. 2021-MS-05).

Institutional Review Board Statement

Not applicable.

Data Availability Statement

The original contributions presented in the study are included in the article, further inquiries can be directed to the corresponding author.

Conflicts of Interest

The authors declare no conflicts of interest.

Appendix A

In this section, we review Yi et al.’s scheme [7]. Their scheme consists of four phases: the registration phase, authentication phase, key reconstruction phase, and updating phase.

Appendix A.1. Registration Phase

In this phase, the user inserts their smart card into the card reader and enters their identity, password, and biometrics. After initial calculations, the corresponding information is distributed to laptops, smart cards, and servers for storage:
  • The user chooses a robust fuzzy extractor ( G e n , R e p ) , a message authentication code ( G e n , M a c , V r f y ) , and a hash function h. The user chooses I D u s r , I D s c , I D s e r , P w d , B i o , a random number k u , and a first-degree polynomial f ( x ) = r x + k , where k is the key to encrypt sensitive information, and r is a random number.
  • The user computes ( R , P ) G e n ( B i o ) , and divides R into two parts R 1 and R 2 , which are, respectively, applied to the three pseudoshares and the message authentication code. The user computes three true shares y u s r = f ( I D u s r ) , y s c = f ( I D s c ) , and y s e r = f ( I D s e r ) , the three pseudoshares A u s r = y u s r P w d R 1 , A s c = y s c P w d R 1 , and A s e r = y s e r P w d R 1 , the authentication message V = h ( I D s c | | P w d | | I D u s r | | R 1 | | k u ) , C 1 = h ( I D u s r | | P w d | | R 1 ) , C 2 = h ( I D s e r | | P w d | | R 1 ) , and three tags t u s r M a c R 2 ( A u s r ) , t s c M a c R 2 ( A s c ) , and t s e r M a c R 2 ( A s e r ) .
  • The user sends a message ( A s e r , I D s e r , C 1 , C 2 , t s e r ) to the server.
  • After the server receives the message ( A s e r , I D s e r , C 1 , C 2 , t s e r ) , the server chooses two random numbers X 1 and X 2 and generates Y 1 = h ( I D s e r | | X 1 ) , Y 2 = h ( I D s e r | | X 2 ) , Z 1 = Y 1 C 1 and Z 2 = Y 2 C 2 . Finally, the server stores values ( X 1 , X 2 , A s e r , I D s e r , t s e r ) .
  • The server sends the messages ( Z 1 , Z 2 ) to the user.
  • The user stores values ( A u s r , I D u s r , t u s r , P , Z 1 , Z 2 , k u ) in the laptop.
  • The user then sends ( A s c , I D s c , t s c , V , Z 1 , Z 2 , P ) to the smart card.
  • The smart card stores ( A s c , I D s c , t s c , V , Z 1 , Z 2 , P ) .

Appendix A.2. Authentication Phase

The authentication phase contains three situations: possession of the laptop and the smart card, losing the smart card, and losing the laptop. After performing the authentication phase, the user obtains the information required to recover the key.

Appendix A.2.1. Possession of the Laptop and the Smart Card

The users complete the authentication phase through the interaction between the laptop and the smart card. The specific process is as follows:
  • The user inserts the smart card into the card reader, and the card reader reads the information ( A s c , I D s c , t s c , V , Z 1 , Z 2 , P ) in the smart card.
  • The user inputs B i o , and computes R e p ( P , B i o ) = R , then divides R into two parts R 1 and R 2 . The smart card verifies whether t s c is a valid tag for message A s c , b V r f y R 2 ( t s c , A s c ) . If b = 0 , the smart card stops; otherwise, the laptop verifies whether t u s r is a valid tag for message A u s r , b V r f y R 2 ( t u s r , A u s r ) . If b = 0 , the laptop stops; otherwise, it continues.
  • The user inputs their I D u s r and P w d to the smart card, and the laptop sends k u to the smart card.
  • The smart card computes V = h ( I D s c | | P w d | | I D u s r | | R 1 | | k u ) , then checks if V is equal to V.
  • If V V , the procedure aborts; otherwise, the smart card sends ( R 1 , A s c ) to the laptop.
  • After receiving ( A s c , R 1 ) , the user computes y s c = A s c P w d R 1 , y u s r = A u s r P w d R 1 .

Appendix A.2.2. Losing the Smart Card

When the user loses the smart card, he needs to complete the authentication phase through the interaction between the laptop and the server. The specific process is as follows:
Mutual authentication between the user and the server:
  • The user inputs B i o , computes R e p ( P , B i o ) = R and divides R into two parts R 1 and R 2 . Then, the user inputs their I D u s r , P w d . The laptop computes Y 1 = Z 1 h ( I D u s r | | P w d | | R 1 ) , Y 2 = Z 2 h ( I D s e r | | P w d | | R 1 ) , m 4 = Y 1 R u and V C 1 = h ( Y 2 | | R u | | T 1 ) , where R u is a random number chosen by the laptop, and T 1 is the current timestamp.
  • The laptop sends ( V C 1 , m 4 , T 1 ) to the server.
  • After receiving the request message ( V C 1 , m 4 , T 1 ) , the server checks whether the current timestamp T T 1 Δ t or not. If T T 1 > Δ t , the server stops; otherwise, the server computes Y 1 = h ( I D s e r | | X 1 ) , Y 2 = h ( I D s e r | | X 2 ) , m 5 = m 4 Y 1 and checks whether h ( Y 2 | | m 5 | | T 1 ) is equal to V C 1 or not. If they are not equal, the server stops; otherwise, the server authenticates the user. Then, the server chooses a random number R s , and computes m 6 = Y 1 Y 2 R s , s k s = h ( V C 1 | | m 5 | | R s ) , V C 2 = h ( s k s | | Y 2 | | R s | | T 2 ) , where T 2 is the current timestamp.
  • The server sends message ( V C 2 , m 6 , T 2 ) to the laptop.
  • After receiving the response message ( V C 2 , m 6 , T 2 ) , the laptop checks whether the current timestamp T T 2 Δ t or not. If T T 2 > Δ t , the laptop stops; otherwise, the laptop computes R s = m 6 Y 1 Y 2 , s k u = h ( V C 1 | | R u | | R s ) and checks whether h ( s k u | | Y 2 | | R s | | T 2 ) is equal to V C 2 . If they are equal, the user authenticates the server; otherwise, the laptop stops.
Establishing a session key between the user and the server:
  • The laptop computes C M 1 = h ( s k u | | Y 1 | | Y 2 | | V C 1 | | V C 2 | | R u | | m 6 Y 1 Y 2 ) and sends C M 1 to the server.
  • After receiving the message C M 1 , the server checks whether h ( s k s | | Y 1 | | Y 2 | | V C 1 | | V C 2 | | m 4 Y 1 | | R s ) is equal to CM1 or not. If they are equal, it sets the session key s k = s k s = s k u . The server computes c E s k ( A s e r ) and sends ( c , t s e r ) to the laptop.
  • After receiving the message ( c , t s e r ) , the user computes A s e r D e c s k ( c ) . The user computes b V r f y R 2 ( A s e r , t s e r ) . If b = 0 , the user stops; otherwise, the user computes y s e r = A s e r R 1 P w d .

Appendix A.2.3. Losing the Laptop

The process is similar to the case of losing the smart card.

Appendix A.3. Key Reconstruction Phase

When the user has two of three tuples: ( y s c , I D s c ) , ( y s e r , I D s e r ) , and ( y u s r , I D u s r ) , he can easily reconstruct the key k by using the Lagrangian interpolation polynomial.

Appendix A.4. Updating Phase

During the updating phase, the user can rebuild their smart cards, laptops, or update passwords and biometrics.

Appendix A.4.1. Updating Password

The specific process is as follows:
  • The user inserts the smart card into the card reader, and the card reader reads the information in the smart card.
  • The user inputs biometrics B i o , the old password P w d , and obtains the old random number k u , I D u s r in the laptop and the I D s c in the smart card.
  • The user computes ( R , P ) G e n ( B i o ) , and divides R into two parts R 1 and R 2 . The user checks if h ( I D s c | | P w d | | I D u s r | | R 1 | | k u ) is equal to V. If they are equal, the user continues; otherwise, the user stops.
  • The user chooses a new random number k u and a new password P w d and computes following values: V = h ( I D s c | | P w d | | I D u s r | | R 1 | | k u )
    C 1 = h ( I D u s r | | P w d | | R 1 ) , C 2 = h ( I D s e r | | P w d | | R 1 )
    C 1 = h ( I D u s r | | P w d | | R 1 ) , C 2 = h ( I D s e r | | P w d | | R 1 )
    Z 1 = Z 1 C 1 C 1 , Z 2 = Z 2 C 2 C 2
    Then the user stores ( Z 1 , Z 2 , k u ) in the laptop to replace ( Z 1 , Z 2 , k u ) and stores ( Z 1 , Z 2 , V ) in the smart card to replace ( Z 1 , Z 2 , V ) .

Appendix A.4.2. Updating Biometrics

The process is similar to the case of updating the password.

Appendix A.4.3. Rebuilding a New Smart Card

The user first needs to establish a session key s k with the server, which is consistent with the loss of the smart card during the authentication phase. After the user establishes the session key, the specific process is as follows:
  • The user chooses a new identity of the smart card I D s c , a new random number k u , and a new first-degree polynomial f ( x ) = r x + k , where r is a random number.
  • The user computes three true shares y u s r = f ( I D u s r ) , y s c = f ( I D s c ) , and y s e r = f ( I D s e r ) , three pseudoshares A u s r = y u s r P w d R 1 , A s c = y s c P w d R 1 , and A s e r = y s e r P w d R 1 , the authentication message V = h ( I D s c | | P w d | | I D u s r | | R 1 | | k u ) , and t u s r = M a c R 2 ( A u s r ) , t s e r = M a c R 2 ( A s e r ) , and t s c = M a c R 2 ( A s c ) .
  • The laptop uses ( A u s r , t u s r , k u ) to replace ( A u s r , t u s r , k u ) and sends message ( c = E s k ( A s e r , A s e r ) , t s e r ) to the server.
  • After receiving the message ( c , t s e r ) , the server computes D s k ( c ) = ( A s e r , A s e r ) and checks if A s e r is equal to A s e r . If A s e r = A s e r , the server uses ( A s e r , t s e r ) to replace ( A s e r , t s e r ) . Otherwise, the server stops.
  • The user stores ( I D s c , A s c , t s c , V , Z 1 , Z 2 ) in the smart card.

Appendix A.4.4. Rebuilding a New Laptop

The process is similar to the case of rebuilding a smart card.

References

  1. Wei, L.; Zhu, H.; Cao, Z.; Dong, X.; Jia, W.; Chen, Y.; Vasilakos, A.V. Security and privacy for storage and computation in cloud computing. Inf. Sci. 2014, 258, 371–386. [Google Scholar] [CrossRef]
  2. Zhou, J.; Cao, Z.; Dong, X.; Vasilakos, A.V. Security and Privacy for Cloud-Based IoT: Challenges. IEEE Commun. Mag. 2017, 55, 26–33. [Google Scholar] [CrossRef]
  3. Katz, J.; Lindell, Y. Introduction to Modern Cryptography; Chapman and Hall/CRC: Boca Raton, FL, USA, 2007. [Google Scholar] [CrossRef]
  4. Chang, C.C.; Chou, Y.C.; Sun, C.Y. Novel and practical scheme based on secret sharing for laptop data protection. IET Inf. Secur. 2015, 9, 100–107. [Google Scholar] [CrossRef]
  5. Liu, Y.; Zhong, Q.; Chang, L.; Xia, Z.; He, D.; Cheng, C. A secure data backup scheme using multi-factor authentication. IET Inf. Secur. 2017, 11, 250–255. [Google Scholar] [CrossRef]
  6. Hu, H.; Lin, C.; Chang, C.C.; Chen, L. Enhanced secure data backup scheme using multi-factor authentication. IET Inf. Secur. 2019, 13, 649–658. [Google Scholar] [CrossRef]
  7. Yi, J.; Wen, Y. An Improved Data Backup Scheme Based on Multi-Factor Authentication. In Proceedings of the 9th International Conference on Big Data Security on Cloud (BigDataSecurity), IEEE International Conference on High Performance and Smart Computing, (HPSC) and IEEE International Conference on Intelligent Data and Security (IDS), New York, NY, USA, 6–8 May 2023. [Google Scholar] [CrossRef]
  8. Shengwei, X.; Chunrui, G.; Xinyu, L. IBC improved key managerment scheme based on multi-party co-management. Comput. Appl. Softw. 2020, 37, 314–317. [Google Scholar]
  9. Xu, Z.; Jiang, H. A Framework of Decentralized PKI Key Management Based on Dynamic Trust. In Proceedings of the Security and Management, 2008; pp. 258–264. Available online: https://www.researchgate.net/profile/Hai-Jiang-7/publication/221199867_A_Framework_of_Decentralized_PKI_Key_Management_Based_on_Dynamic_Trust/links/56d8615108aee1aa5f7e6ffd/A-Framework-of-Decentralized-PKI-Key-Management-Based-on-Dynamic-Trust.pdf (accessed on 12 June 2024).
  10. Zheng, X.; Wang, H.; Chen, Y.; Liu, H.; Liu, R. A decentralized key management scheme via neighborhood prediction in mobile wireless networks. In Proceedings of the 7th IEEE International Conference on Mobile ad Hoc and Sensor Systems (IEEE MASS 2010), San Francisco, CA, USA, 8–12 November 2010; pp. 51–60. [Google Scholar]
  11. Yang, H.; Zhang, Y.; Zhou, Y.; Fu, X.; Liu, H.; Vasilakos, A.V. Provably secure three-party authenticated key agreement protocol using smart cards. Comput. Netw. 2014, 58, 29–38. [Google Scholar] [CrossRef]
  12. Park, S.; Park, H.J. Privacy preserving three-party authenticated key agreement protocol using smart cards. Int. J. Secur. Its Appl. 2014, 8, 307–320. [Google Scholar] [CrossRef]
  13. Jiang, Q.; Zeadally, S.; Ma, J.; He, D. Lightweight three-factor authentication and key agreement protocol for internet-integrated wireless sensor networks. IEEE Access 2017, 5, 3376–3392. [Google Scholar] [CrossRef]
  14. Yao, A.C. Protocols for secure computations. In Proceedings of the 23rd Annual Symposium on Foundations of Computer Science (SFCS 1982), Chicago, IL, USA, 3–5 November 1982; pp. 160–164. [Google Scholar]
  15. Goldreich, O.; Micali, S.; Wigderson, A. How to play any mental game, or a completeness theorem for protocols with honest majority. In Providing Sound Foundations for Cryptography: On the Work of Shafi Goldwasser and Silvio Micali; ACM Digital Library: New York, NY, USA, 2019; pp. 307–328. [Google Scholar]
  16. Shamir, A. How to share a secret. Commun. ACM 1979, 22, 612–613. [Google Scholar] [CrossRef]
  17. Blakley, G.R. Safeguarding cryptographic keys. In Proceedings of the International Workshop on Managing Requirements Knowledge, New York, NY, USA, 4–7 June 1979; IEEE Computer Society: Washington, DC, USA, 1979; pp. 313–318. [Google Scholar]
  18. Ben-Or, M.; Goldwasser, S.; Wigderson, A. Completeness theorems for non-cryptographic fault-tolerant distributed computation. In Providing Sound Foundations For Cryptography: On the Work of Shafi Goldwasser and Silvio Micali; ACM Digital Library: New York, NY, USA, 2019; pp. 351–371. [Google Scholar]
  19. Rabin, T.; Ben-Or, M. Verifiable secret sharing and multiparty protocols with honest majority. In Proceedings of the Twenty-First Annual ACM Symposium on Theory of Computing, Seattle, WA, USA, 14–17 May 1989; pp. 73–85. [Google Scholar]
  20. Jiang, Q.; Wei, F.; Fu, S.; Ma, J.; Li, G.; Alelaiwi, A. Robust extended chaotic maps-based three-factor authentication scheme preserving biometric template privacy. Nonlinear Dyn. 2015, 83, 2085–2101. [Google Scholar] [CrossRef]
  21. Lamport, L. Password authentication with insecure communication. Commun. ACM 1981, 24, 770–772. [Google Scholar] [CrossRef]
  22. Nam, J.; Choo, K.K.; Han, S.; Paik, J.; Won, D. Two-Round Password-Only Authenticated Key Exchange in the Three-Party Setting. Symmetry 2015, 7, 105–124. [Google Scholar] [CrossRef]
  23. Juang, W.S.; Chen, S.T.; Liaw, H.T. Robust and Efficient Password-Authenticated Key Agreement Using Smart Cards. IEEE Trans. Ind. Electron. 2008, 55, 2551–2556. [Google Scholar] [CrossRef]
  24. Sood, S.K.; Sarje, A.K.; Singh, K. An improvement of Xu et al.’s authentication scheme using smart cards. In Proceedings of the Third Annual ACM Bangalore Conference, Bangalore, India, 22–23 January 2010. [Google Scholar] [CrossRef]
  25. Chen, C.M.; Ku, W.C. Stolen-Verifier Attack on Two New Strong-Password Authentication Protocols (Regular Section). IEICE Trans. Commun. 2002, 85, 2519–2521. [Google Scholar]
  26. Harn, L.; Huang, D.; Laih, C.S. Password authentication based on public-key distribution cryptosystem. In Proceedings of the Fifth International Conference on Data Engineering, Los Angeles, CA, USA, 6–10 February 1989. [Google Scholar] [CrossRef]
  27. Diffie, W.; Hellman, M. New Directions in Cryptography (1976). In Ideas That Created the Future; The MIT Press: Cambridge, MA, USA, 2021; pp. 421–440. [Google Scholar] [CrossRef]
  28. Chang, C.C.; Wu, T.C. Remote password authentication with smart cards. IEE Proc. Comput. Digit. Tech. 1991, 138, 165. [Google Scholar] [CrossRef]
  29. Chang, C.C.; Laih, C. Comment on remote password authentication with smart cards. IEE Proc.-E 1992, 139, 372. [Google Scholar]
  30. Tan, K.; Zhu, H. Remote password authentication scheme based on cross-product. Comput. Commun. 1999, 22, 390–393. [Google Scholar] [CrossRef]
  31. Hwang, M.S.; Li, L.H. A new remote user authentication scheme using smart cards. IEEE Trans. Consum. Electron. 2000, 46, 28–30. [Google Scholar] [CrossRef]
  32. Yang, G.; Wong, D.S.; Wang, H.; Deng, X. Two-factor mutual authentication based on smart cards and passwords. J. Comput. Syst. Sci. 2008, 74, 1160–1172. [Google Scholar] [CrossRef]
  33. Hsieh, W.B.; Leu, J.S. Exploiting hash functions to intensify the remote user authentication scheme. Comput. Secur. 2012, 31, 791–798. [Google Scholar] [CrossRef]
  34. Lee, J.; Ryu, S.; Yoo, K. Fingerprint-based remote user authentication scheme using smart cards. Electron. Lett. 2002, 38, 1. [Google Scholar] [CrossRef]
  35. Li, C.T.; Hwang, M.S. An efficient biometrics-based remote user authentication scheme using smart cards. J. Netw. Comput. Appl. 2010, 33, 1–5. [Google Scholar] [CrossRef]
  36. Das, A.K. Analysis and improvement on an efficient biometric-based remote user authentication scheme using smart cards. IET Inf. Secur. 2011, 5, 145–151. [Google Scholar] [CrossRef]
  37. Om, H.; Reddy, M.R. Geometric based remote password authentication using biometrics. J. Discret. Math. Sci. Cryptogr. 2013, 16, 207–220. [Google Scholar] [CrossRef]
  38. Dodis, Y.; Reyzin, L.; Extractors, A.S.F. How to generate strong keys from biometrics and other noisy, data April 13. In Proceedings of the Eurocrypt, Interlaken, Switzerland, 2–6 May 2004. [Google Scholar]
  39. Odyuo, N.; Lodh, S.; Walling, S. Multifactor Mutual Authentication of IoT Devices and Server. In Proceedings of the 2023 5th International Conference on Smart Systems and Inventive Technology (ICSSIT), Tirunelveli, India, 23–25 January 2023. [Google Scholar] [CrossRef]
  40. Braeken, A. Highly Efficient Bidirectional Multifactor Authentication and Key Agreement for Real-Time Access to Sensor Data. IEEE Internet Things J. 2023, 10, 21089–21099. [Google Scholar] [CrossRef]
  41. Mostafa, A.M.; Ezz, M.; Elbashir, M.K.; Alruily, M.; Hamouda, E.; Alsarhani, M.; Said, W. Strengthening Cloud Security: An Innovative Multi-Factor Multi-Layer Authentication Framework for Cloud User Authentication. Appl. Sci. 2023, 13, 10871. [Google Scholar] [CrossRef]
  42. Maes, J.G.; Rahman, K.A.; Mukherjee, A. Hybrid Smartwatch Multi-factor Authentication. In Proceedings of the 2023 IEEE 17th International Symposium on Medical Information and Communication Technology (ISMICT), Lincoln, NE, USA, 10–12 May 2023. [Google Scholar] [CrossRef]
  43. Kumar, R.; Singh, S.; Singh, P.K. A secure and efficient computation based multifactor authentication scheme for Intelligent IoT-enabled WSNs. Comput. Electr. Eng. 2023, 105, 108495. [Google Scholar] [CrossRef]
  44. Li, X.; Peng, J.; Obaidat, M.S.; Wu, F.; Khan, M.K.; Chen, C. A Secure Three-Factor User Authentication Protocol With Forward Secrecy for Wireless Medical Sensor Network Systems. IEEE Syst. J. 2020, 14, 39–50. [Google Scholar] [CrossRef]
  45. Tan, Z. A chaotic maps-based authenticated key agreement protocol with strong anonymity. Nonlinear Dyn. 2013, 72, 311–320. [Google Scholar] [CrossRef]
  46. Maliberan, E.V.; Sison, A.M.; Medina, R.P. A new approach in expanding the hash size of MD5. Int. J. Commun. Netw. Inf. Secur. 2018, 10, 374–379. [Google Scholar] [CrossRef]
  47. Wang, F.; Xu, G.; Xu, G.; Wang, Y.; Peng, J. A Robust IoT-Based Three-Factor Authentication Scheme for Cloud Computing Resistant to Session Key Exposure. Wirel. Commun. Mob. Comput. 2020, 2020, 3805058. [Google Scholar] [CrossRef]
Figure 1. Model of our data backup scheme.
Figure 1. Model of our data backup scheme.
Entropy 26 00667 g001
Table 1. The main abbreviation used in the paper.
Table 1. The main abbreviation used in the paper.
AbbreviationMeaning
I D u s r Identity of the user
I D s c Identity of the smart card
I D s e r Identity of the server
P w d Password of the user
B i o Biometrics of the user
s k Session key
k u A random number selected by the user
X 1 , X 2 Random number generated by the server
T i Time stamp
Δ t Time interval
Exclusive-or operation
# A new message #
Concatenation operator
h ( . ) Collision-resistant hash function
A Adversary
E / D Symmetric encryption / decryption algorithm
R The set of natural real numbers
Table 2. Computational cost of Yi et al.’s scheme.
Table 2. Computational cost of Yi et al.’s scheme.
PhaseEntity T H T S T P T M T V T G T R T SS
RegistrationLaptop30030101
Smart card00000000
Server20000000
Authentication
(Case 1)
Laptop00001010
Smart card10001000
Server00000000
Authentication
(Case 2)
Laptop61001010
Smart card00000000
Server61000000
Authentication
(Case 3)
Laptop00000000
Smart card61001010
Server61000000
Rebuilding
smart card
Laptop11030001
Smart card00000000
Server01000000
Rebuilding
laptop
Laptop11030001
Smart card00000000
Server01000000
Updating
biometrics
Laptop51030110
Smart card10000000
Server01000000
Updating
password
Laptop51030010
Smart card10000000
Server01000000
ReconstructionLaptop00100000
Smart card00000000
Server00000000
Table 3. Computational cost of our scheme.
Table 3. Computational cost of our scheme.
PhaseEntity T H T S T P T M T V T G T R T SS
RegistrationLaptop20030101
Smart card00000000
Server10000000
Authentication
(Case 1)
Laptop00001010
Smart card10001000
Server00000000
Authentication
(Case 2)
Laptop12001010
Smart card00000000
Server12000000
Authentication
(Case 3)
Laptop00000000
Smart card12001010
Server12000000
Rebuilding
smart card
Laptop11030001
Smart card00000000
Server01000000
Rebuilding
laptop
Laptop11030001
Smart card00000000
Server01000000
Updating
biometrics
Laptop31030110
Smart card10000000
Server01000000
Updating
password
Laptop31030010
Smart card10000000
Server01000000
ReconstructionLaptop00100000
Smart card00000000
Server00000000
Table 4. Performance comparison between the proposed scheme and Yi et al.’s scheme.
Table 4. Performance comparison between the proposed scheme and Yi et al.’s scheme.
SchemeCompution Cost
Registration PhaseAuthentication PhaseUpdating Phase
LaptopSmart CardServerLaptopSmart CardServerLaptopSmart CardServer
Yi et al.’s scheme [7] 3 T H + 3 T M + 1 T G + 1 T S S 0 2 T H 6 T H + 1 T S + 2 T V + 2 T R 7 T H + 1 T S + 2 T V + 1 T R 12 T H + 2 T S 12 T H + 4 T S + 12 T M + 1 T G + 2 T R + 2 T S S 2 T H 4 T S
Our scheme 2 T H + 3 T M + 1 T G + 1 T S S 0 1 T H 1 T H + 2 T S + 2 T V + 2 T R 2 T H + 2 T S + 2 T V + 1 T R 2 T H + 4 T S 8 T H + 4 T S + 12 T M + 1 T G + 2 T R + 2 T S S 2 T H 4 T S
Time cost reduction 2 T H 20 T H 4 T S = 10 T H 4 T H
Table 5. Performance comparison between the proposed scheme and similar schemes.
Table 5. Performance comparison between the proposed scheme and similar schemes.
SchemeAuthentication PhaseEntityExecution TimeCommunication Cost
LaptopSmart CardServer(ms)(bits)
Liu et al.’s [5]Case1- T H -9.18128
Case2 4 T H + T S - 5 T H + T S 128.52896
Case3 4 T H + T S T H 5 T H + T S 128.521024
Hu et al.’s [6]Case1 2 T H --18.36128
Case2 6 T H + T S - 4 T H + T S 137.701024
Case3 6 T H + T S 2 T H 4 T H + T S 156.061024
Yi et al.’s [7]Case1 T V + T R T H + T V -109.96768
Case2 6 T H + T S + T V + T R - 6 T H + T S 237.991152
Case3- 6 T H + T S + T V + T R 6 T H + T S 237.991152
OursCase1 T V + T R T H + T V -109.96768
Case2 1 T H + 2 T S + T V + T R - 1 T H + 2 T S 192.09640
Case3- 1 T H + 2 T S + T V + T R 1 T H + 2 T S 192.09640
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

Wu, L.; Wen, Y.; Yi, J. A Higher Performance Data Backup Scheme Based on Multi-Factor Authentication. Entropy 2024, 26, 667. https://doi.org/10.3390/e26080667

AMA Style

Wu L, Wen Y, Yi J. A Higher Performance Data Backup Scheme Based on Multi-Factor Authentication. Entropy. 2024; 26(8):667. https://doi.org/10.3390/e26080667

Chicago/Turabian Style

Wu, Lingfeng, Yunhua Wen, and Jinghai Yi. 2024. "A Higher Performance Data Backup Scheme Based on Multi-Factor Authentication" Entropy 26, no. 8: 667. https://doi.org/10.3390/e26080667

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