Next Article in Journal
Flexible Neural Probe Fabrication Enhanced with a Low-Temperature Cured Polyimide and Platinum Electrodeposition
Next Article in Special Issue
Video Sequence Segmentation Based on K-Means in Air-Gap Data Transmission for a Cluttered Environment
Previous Article in Journal
Monitoring of Indoor Farming of Lettuce Leaves for 16 Hours Using Electrical Impedance Spectroscopy (EIS) and Double-Shell Model (DSM)
Previous Article in Special Issue
A Traceable Vaccine Supply Management System
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Offline User Authentication Ensuring Non-Repudiation and Anonymity

1
Department of Computer Science and Information Engineering, National Taichung University of Science and Technology, Taichung 404, Taiwan
2
Bachelor Degree Program of Artificial Intelligence, National Taichung University of Science and Technology, Taichung 404, Taiwan
*
Author to whom correspondence should be addressed.
Sensors 2022, 22(24), 9673; https://doi.org/10.3390/s22249673
Submission received: 7 November 2022 / Revised: 3 December 2022 / Accepted: 8 December 2022 / Published: 10 December 2022
(This article belongs to the Special Issue Security and Communication Networks)

Abstract

:
User authentication is the key to ensuring that only authorized users can deal with specific affairs and access services. Applications or systems possessing different properties or requirements need different authentication schemes. For example, some institutions or companies need executives to manage or inspect their corresponding departments while the inspected department should not know who the executives are but only can verify their legitimacy. This paper designs a non-repudiation and anonymity-ensured user authentication system to meet the mentioned special requirements. We also propose a user authentication scheme to ensure that the designed system can work as claimed. In the system, a department is equipped with an authentication device, namely the department authentication device, to authenticate an executive while the executive’s identity is not revealed to the department and only the department’s authentication device can identify the executive for non-repudiation. An executive is equipped with an authentication device to have himself/herself authenticated by the department’s authentication device. Moreover, authentication data stored in an executive’s authentication device does not need to be updated even when management personnel changes are made.

1. Introduction

The purpose of user authentication is to verify that a user is indeed the claimed one. That is, it must be able to identify a user uniquely, and there must exist a way to unambiguously verify the legitimacy of the user. In our daily life, user authentication is common. For example, when a user wants to open a savings account, he/she needs to provide his/her identity card, health insurance card, or driving license to prove who he/she is. Additionally, a user authentication system ensures that only authorized users can deal with specific affairs and access services. This property makes user authentication essential because institutions, companies, or organizations need to protect their resources and ensure that only legal staff or members can deal with specific affairs or access required services.
Factors for user authentication can be classified into three types: something held, something embodied, and something known. Something held can be a barcode, a QR code, a magnetic card, an IC card, a smart card, or any physical object possessed by a user. Something embodied can be divided into three categories. First, it can be any biological feature, such as a user’s DNA or blood. Second, it can be a user’s morphological features, such as fingerprints, hand geometry, or iris patterns. Third, it can be behavioral characteristics of a user such as how the user speaks, walks, or types on a keyboard. Something known means the specific knowledge only known by the user, such as a password or PIN. In some applications, the system issues a user a mobile device or smart card that can store parameters and compute required parameters. When the user wants to access the system, he/she needs to use the issued mobile device or smart card to prove his/her legality to the system. Some authentication schemes adopting mobile devices or smart cards to enhance security have been proposed [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19].
Applications or systems possessing different properties or requirements need different authentication schemes. For example, some institutions or companies need executives to manage or inspect their corresponding departments while the inspected department should not know who the executives are but only can verify their legitimacy. On the other hand, some users care about personal privacy such that they do not want to be traced. In such cases, anonymity needs to be ensured. In conventional authentication schemes, a user’s identity will be adopted to identify the user. However, this approach means these authentication schemes lack anonymity. Different from conventional authentication schemes, anonymity-ensured authentication schemes allow a user to be authenticated without revealing his/her real identity. The most significant advantage of these anonymous authentication schemes is to protect the user’s identity and prevent other users from tracking and identifying a specific user. To comply with this special requirement, several schemes ensuring anonymity have been proposed [5,6,7,8,9,10,11,12,13,14,15,16,17,18,19].
On the other hand, non-repudiation is another important security requirement in many applications. It denotes that a user cannot deny what he/she has done. To ensure non-repudiation, special mechanisms are required such as digital signatures and receipts of mail. For institutions and companies, non-repudiation is especially essential to authority and responsibility. Company management personnel, such as supervisors, executives, and managers, need to manage or inspect different departments from time to time. Without proper authentication mechanisms, it is impossible for departments to verify the legitimacy of management personnel.
A company may be composed of multiple departments. When the company produces products by itself, it needs a factory. To reduce costs, the factory is usually located far away from the city or on the city’s outskirts. Due to the remote location, accessing networks may be difficult. Actually, plenty of authentication schemes need networks involved to transmit information for authentication. Some offline authentication schemes [20,21,22] were proposed to meet the requirements of specific applications.
Furthermore, online authentication schemes may not work under some specific situations. Firstly, even when networks are available, it is still hard to access them in some places such as the basement. Secondly, the failure of networks or the backend authentication server comes into play. Moreover, online authentication schemes need to transmit data to the remote authentication server. This approach raises the threat of various attacks.
Taking the above into consideration, to allow an executive to be authenticated by departments anonymously and offline while non-repudiation is ensured, we design an offline non-repudiation and anonymity-ensured user authentication system and propose an authentication scheme. In the system, every authorized executive will use his/her authentication device to help himself/herself to be authenticated by the department. To ensure anonymity, the department cannot authenticate the executive directly. Alternatively, the department will be issued a department authentication device. The department authentication device works as TPM (Trusted Platform Module). That is, it will tell the department whether the executive is legal instead of who the executive is. Meanwhile, who the executive is can be checked by the department authentication device such that non-repudiation can be ensured. If the executive is successfully authenticated by the department authentication device, he/she can deal with specific affairs. In the designed scheme, data will be transmitted between the executive’s authentication device and department’s authentication device. To protect anonymity, no one can reveal who the executive is by the transmitted data.
On the other hand, management personnel may change in the real world. For example, executive A who was originally assigned to manage department a is assigned to manage department b. In such a case, executive A is still a legal executive, and only his/her assignment changes. If any change of management personnel results in a significant change in all involved executives’ authentication data, this is cumbersome and annoying. In our designed user authentication scheme, authentication data stored in an executive’s authentication device does not need to be updated even when management personnel changes are made. To sum up, the proposed offline non-repudiation and anonymity-ensured authentication system needs to possess the following properties to comply with the desired requirements:
  • The legitimacy of a user can be verified offline.
  • Data transmitted between the department’s authentication device and the executive’s or system administrator’s authentication device must be protected.
  • Anonymity must be ensured.
  • Non-repudiation must be ensured.
  • Management can be done easily because authentication data stored in the executive’s authentication device does not need to be updated even when personnel changes are made.
The security of the proposed user authentication scheme is based on the factorization problem and discrete logarithm problem. In the designed system, a smartphone can be utilized as the executive’s authentication device and system administrator’s authentication device. This allows each party to store his/her personal authentication data privately. Although the proposed user authentication scheme is designed to help an executive be authenticated by the department authentication device, it can also be utilized for access control of small-sized enterprises/facilities/apartment complexes where workers/members/residents instead of executives are authenticated.
In the following, three examples are given to show what applications can adopt our proposed system.
Example 1.
Alice is the company’s owner. Because there is only sufficient space to accommodate production demand in remote areas, factories of Alice’s company are located in remote areas. However, the network infrastructure in remote areas cannot comply with the requirements of real-time applications due to the limited transmission speed. That results in infeasible transmission delays and timeout events when authentication is proceeding. Moreover, employees in Alice’s factories may not know who the owner of factories is. Therefore, our proposed system can be utilized to have Alice successfully authenticated by her employees without the help of an authentication server and eliminate latent management threats.
Example 2.
Alice found out that the production output was less than ideal. She suspected that her employees did not use the manufacturing equipment properly, so she decided to personally inspect the job performance of her employees and equipment usage. Because she wants to inspect incognito, she can utilize our proposed system to allow these employees to ensure that Alice is authorized while her employees are unaware of who the inspector is.
Example 3.
Alice is the company’s owner and authorizes Eve to be an executive of factories. Unfortunately, Alice finds out that Eve does not work appropriately such that serious problems occur. Therefore, Alice wants to replace Eve with Bob. With our proposed system, Alice can easily revoke and delegate authorization.
The rest of this paper is organized as follows. Preliminaries are introduced in Section 2. The architecture of the designed system is given in Section 3. The proposed user authentication scheme is shown in Section 4. Section 5 shows our property analysis and further security analysis, and demonstrates that the proposed scheme meets the requirements. The performance evaluation and further discussion are shown in Section 6. Finally, some conclusions are drawn in Section 7.

2. Preliminaries

To meet the specific properties of the proposed user authentication system, we designed the corresponding user authentication scheme whose security is based on the difficulties of solving the factoring problem and discrete logarithm problem. Two representative public-key cryptosystems, the RSA cryptosystem [23] and ElGamal cryptosystem [24], whose security are based on the difficulties of solving the factoring problem and discrete logarithm problem, respectively, are introduced.

2.1. RSA Cryptosystem

The RSA cryptosystem [23] proposed in 1978 was the first public-key cryptosystem. The security of the RSA cryptosystem is based on the difficulty of solving the factoring problem. The RSA cryptosystem possesses functions, encryption and decryption, and it can be used to generate a digital signature. The details are as follows:
Suppose there is a user U1. U1 must do the following to initialize the system.
  • Step 1: Choose two different large prime numbers, p and q, and compute n = p × q.
  • Step 2: Choose an integer e such that 1 < e < ϕ(n) and gcd(e, ϕ(n)) = 1, where ϕ(n) = (p − 1) (q − 1).
  • Step 3: Determine d such that e × d ≡ 1 (mod ϕ(n)).
  • Step 4: Keep d as his/her private key and make the corresponding public key (e, n) public.
When another user U2 wants to send a message m to U1 securely and only U1 can get m, U2 computes the ciphertext C = me mod n with U1’s public key (e, n) for encryption and sends C to U1. After receiving C, U1 uses his/her private key d to compute m = Cd mod n for decryption.
On the other hand, when U1 wants to generate a digital signature S for a message m, U1 uses his/her private key d to compute S = md mod n. Then, when another user U2 gets m and S and wants to verify the digital signature, U2 uses U1’s public key (e, n) to compute m′ = Se mod n and checks if m′ and m are equal. If it holds, the signature S for m is verified, and U2 believes that S is generated by U1.

2.2. ElGamal Cryptosystem

The ElGamal cryptosystem [24] proposed in 1985 is another representative public-key cryptosystem, and its security is based on the difficulty of solving the discrete logarithm problem. The ElGamal cryptosystem possesses functions, encryption and decryption, and it can be used to generate a digital signature. To initialize the system, the following will be executed at first.
  • Step 1: A large prime number p and a generator g of GF(p) are chosen.
  • Step 2: For each user, an integer x in [1, p − 1] is chosen as the user’s private key, and the corresponding public key y is computed, where y = gx mod p.
Suppose there is a user U1, where U1’s private key is x and U1’s public key is y = gx mod p. Then, when another user U2 wants to send a message m to U1 securely, and only U1 can get m, U2 needs to execute the following steps.
  • Step 1: Choose a random number r in [1, p − 1].
  • Step 2: Compute b = gr mod p and c = m × yr mod p.
  • Step 3: Send the ciphertext (b, c) to U1.
After U1 receives the ciphertext (b, c), U1 computes m = c × (bx)−1 mod p for decryption.
On the other hand, when U1 wants to generate a digital signature S for a message m, U1 chooses a random number k in [1, p − 2] such that gcd(k, p − 1) = 1. Then, U1 computes r = gk mod p and s, where m = (xr + ks) mod (p − 1). (r, s) is the digital signature of m. When another user U2 gets m and (r, s) and wants to verify the digital signature, U2 checks whether gm mod p and yrrs mod p are equal or not. If they are equal, the signature (r, s) for m is successfully verified, and U2 believes that (r, s) is generated by U1.

3. The Architecture of the Designed Offline Non-Repudiation and Anonymity-Ensured User Authentication System

In the designed offline non-repudiation and anonymity-ensured user authentication system, there exist four entities: management server, system administrator’s authentication device, executive’s authentication device, and department’s authentication device, as shown in Figure 1. There is only one management server and only one system administrator in the system, and the system administrator is equipped with a system administrator’s authentication device. The numbers of executives and departments depend on the actual requirements. Each executive is equipped with an executive’s authentication device, and each department is equipped with an authentication device, namely a department authentication device. The detailed functions of these four entities are shown in the following.
  • Functions of the management server
    (a)
    Manage all authorization information, including information about various departments and the related authorized management personnel.
    (b)
    Generate all required parameters for authorization and authentication.
    (c)
    Store the authentication data in the system administrator’s authentication device and executive’s authentication device through a secure channel when the system is initialized.
    (d)
    Generate new authentication data and store it in the system administrator’s authentication device through a secure channel because of the change of authorized management personnel.
  • Functions of the system administrator’s authentication device
    (a)
    Set the authentication parameters on the department’s authentication device through a public channel.
    (b)
    Update the authentication parameters on the department’s authentication device through a public channel when authorized management personnel of this department changes.
  • The executive’s authentication device
    (a)
    Generate a nonce and send the authentication request to the department’s authentication device for authentication.
    (b)
    Verify the legitimacy of the department’s authentication device by the response of the department’s authentication device.
    (c)
    Compute the authentication parameters for the department’s authentication device to allow the department’s authentication device to verify the legitimacy and ensure non-repudiation of the executive.
  • The department’s authentication device
    (a)
    Verify the legitimacy of the system administrator’s authentication device before the stored authentication data is set or updated.
    (b)
    Generate a nonce and send it back to the executive’s authentication device after getting the authentication request from the administrator’s authentication device.
    (c)
    Verify the legitimacy and ensure non-repudiation of the executive after receiving the authentication parameters generated by the executive’s authentication device.

4. The User Authentication Scheme for the Designed Offline Non-Repudiation and Anonymity-Ensured User Authentication System

To ensure that the designed offline non-repudiation and anonymity-ensured user authentication system can meet the specific requirements, the proposed user authentication scheme needs to comply with the following:
  • The legitimacy of a user can be verified offline.
  • Data transmitted between the department’s authentication device and the executive’s or system administrator’s authentication device must be protected.
  • Anonymity must be ensured.
  • Non-repudiation must be ensured.
  • Management can be easily conducted because authentication data stored in the executive’s authentication device does not need to be updated even when personnel changes are made.
The proposed user authentication scheme is composed of four phases: initialization phase, department authentication device setup phase, authentication phase, and authentication data update phase. The notations used in the designed authentication scheme are defined in Table 1.

4.1. Initialization Phase

In the initialization phase, the management server Server first determines Set1 and Set2. Then, Server initializes a department Cj’s department authentication device Dj. Server computes Gj = H( ID D j ||Master2) and stores {H(.), n, g, MS, ID D j , Gj} in Dj. Then, Cj is equipped with Dj.
After confirming the corresponding executives of all departments, Server computes the authentication data for all executives of Set1 and departments of Set2, stores personal authentication data of the executive Ai in his/her authentication device H A i , and stores department authentication data in SA’s authentication device HSA. In the initialization phase, data is transmitted through a secure channel. The initialization phase is depicted in Figure 2 and Figure 3, and the details are as follows:
  • Step 1: The management server Server computes Ki = H( ID A i ||Master1) for the executive Ai, where I = 1, 2, …, m.
  • Step 2: Server selects ei for Ai and then computes di such that di × ei ≡ 1 (mod ϕ(n)), where gcd(ei, ϕ(n)) = 1 and ereα when rα.
  • Step 3: Server computes SKi = g d i mod n for Ai.
  • Step 4: Server stores H(.), n, g, MS, SKi,   ID A i and Ki in Ai’s authentication device H A i .
  • Step 5: Server randomly generates a dedicated authentication code Sj for Cj’s department authentication device Dj, where Sj < n and j = 1, 2, …, w.
  • Step 6: Server uses ( ID A 1 , K1′), ( ID A 2 , K2′), …, ( ID A t j , K t j ) of executives A1′, A2′, …, A t j who are authorized to manage or inspect Cj, and (0, Sj) to obtain the polynomial Pj(x) = a t j x t j   +   a t j 1 x t j 1 + … + a1x + Sj mod n, where tj is the number of authorized executives who can manage or inspect Cj, {A1′, A2′, …, A t j }⊆{Ai|I = 1, 2, …, m}, Pj(0) = Sj, Pj( ID A 1 ) = K1′, Pj( ID A 2 ) = K2′, …, and Pj( ID A t j ) = K t j .
  • Step 7: Server randomly generates rj,1, rj,2, …, r j , t j and computes Sharej,1 = Pj(rj,1), Sharej,2 = Pj(rj,2), …, Share j , t j = Pj( r j , t j ), where rj,1, rj,2, …, r j , t j are less than min(p, q), rj,1, rj,2, …, r j , t j are different from each other and rj,1, rj,2, …, r j , t j are different from ID A 1 , ID A 2 , …, ID A t j .
  • Step 8: Server stores H(.), n, g, MS, ID D j , Gj, (H( ID A 1 ), e1′), (H( ID A 2 ), e2′), …, (H( ID A t j ), e t j ), (rj,1, Sharej,1), (rj,2, Sharej,2), …, ( r j , t j , Share j , t j ) and Sj in the system administrator SA’s authentication device HSA, where j = 1, 2, …, w.

4.2. Department Authentication Device Setup Phase

This phase will be executed when the system administrator SA wants to initialize or update the authentication data in Cj’s department authentication device Dj. Data is transmitted through a public channel in this phase. The department authentication device setup phase is depicted in Figure 4, and the details are as follows:
  • Step 1: HSA generates a random number R1 and sends R1 with a setup request to Dj.
  • Step 2: When Dj receives R1 and a setup request from HSA, Dj generates a random number R2. Then, Dj sends R2 back to HSA.
  • Step 3: When HSA receives R2, HSA computes veri1 = H(R1||R2|| ID D j ||Gj), TK = H(R1||R2||Gj|| ID D j ) and veri2 = H(R1||R2|| ID D j ||Gj||Sj||(H( ID A 1 ), e1′)||(H( ID A 2 ), e2′)||…||(H( ID A t j ), e t j )||(rj,1, Sharej,1)||(rj,2, Sharej,2)||…||( r j , t j , Share j , t j ). Additionally, HSA encrypts {Sj, (H( ID A 1 ), e1′), (H( ID A 2 ), e2′), …, (H( ID A t j ), e t j ), (rj,1, Sharej,1), (rj,2, Sharej,2), …, ( r j , t j , Share j , t j )} with TK to get cparas.
  • Step 4: HSA sends veri1, veri2, and cparas to Dj.
  • Step 5: After receiving veri1, veri2, and cparas, Dj first uses IDDj and Gj to compute veri1′ = H(R1||R2|| ID D j ||Gj). If veri1′ is equal to veri1, Dj computes TK′ = H(R1||R2||Gj|| ID D j ), decrypts cparas with TK′ to obtain {Sj, (H( ID A 1 ), e1′), (H( ID A 2 ), e2′), …, (H( ID A t j ), e t j ), (rj,1, Sharej,1), (rj,2, Sharej,2), …, ( r j , t j , Share j , t j )}, and computes veri2′ = H(R1||R2|| ID D j ||Gj||Sj||(H( ID A 1 ), e1′)||(H( ID A 2 ), e2′)||…||(H( ID A t j ), e t j )||(rj,1, Sharej,1)||(rj,2, Sharej,2)||…||( r j , t j , Share j , t j )).
  • Step 6: If veri2′ is equal to veri2, the authentication data of Dj is initialized or updated with Sj, (H( ID A 1 ), e1′), (H( ID A 2 ), e2′), …, (H( ID A t j ), e t j ), (rj,1, Sharej,1), (rj,2, Sharej,2), …, ( r j , t j , Share j , t j ).

4.3. Authentication Phase

When the executive Ai wants to deal with the management of Cj or inspect Cj, he/she needs to be authenticated by Cj’s department authentication device Dj with his/her authentication device H A i . In the authentication phase, Ai can be authenticated by Dj with the help of H A i while Cj cannot know who Ai is, and data is transmitted through a public channel. The authentication phase is depicted in Figure 5, and the details are as follows:
  • Step 1: H A i generates a random number R1 and sends R1 with an authentication request to Dj.
  • Step 2: When Dj receives R1 and the authentication request from H A i , Dj generates a random number R2. Next, Dj computes TMS = H(R1||R2||MS), PID = TMS ID D j and check = H(R1||R2||(rj,1, Sharej,1)||(rj,2, Sharej,2)||…||( r j , t j , Share j , t j )||MS|| ID D j ||Sj).
  • Step 3: Dj encrypts (rj,1, Sharej,1), (rj,2, Sharej,2), …, ( r j , t j , Share j , t j ) with TMS to get cshares.
  • Step 4: Dj sends R2, PID, cshares, and check to H A i .
  • Step 5: After receiving R2, PID, cshares and check, H A i computes TMS′ = H(R1||R2||MS) and then decrypts cshares with TMS′ to obtain (rj,1′, Sharej,1′), (rj,2′, Sharej,2′), …, ( r j , t j ′, Share j , t j ′).
  • Step 6: H A i uses (rj,1′, Sharej,1′), (rj,2′, Sharej,2′), …, ( r j , t j ′, Share j , t j ′) and ( ID A i , Ki) to set the parameters q0 = ID A i , Q0 = Ki, q1 = rj,1′, Q1 = Sharej,1′, q2 = rj,2′, Q2 = Sharej,2′, …, q t j = r j , t j ′, Q t j = Share j , t j ′. Then, H A i computes Sj′ = u = 0 t j J u × Q u mod n, where J u = q b q u q b q u q b .
  • Step 7: H A i computes ID D j = TMS′ ⊕ PID and check′ = H(R1||R2||(rj,1′, Sharej,1′)||(rj,2′, Sharej,2′)||…||( r j , t j ′, Share j , t j ′)||MS|| ID D j ′||Sj′) and checks whether check′ and check are equal or not. If it holds, it denotes that Dj is indeed a legal department authentication device, Dj’s identity is indeed ID D j , and the derived Sj′ is correct.
  • Step 8: H A i computes σ1 = H(R1||R2||Sj′) ⊕ ID A i and σ2 = SK i H ( ID A i | | R 1 | | R 2 | | S j ) mod n = g d i × H ( ID A i | | R 1 | | R 2 | | S j ) mod n. Then, H A i sends σ1 and σ2 to Dj.
  • Step 9: After receiving σ1 and σ2, Dj computes ID A i = H(R1||R2||Sj) ⊕ σ1. Then, Dj uses ID A i as the index to find the matched (H( ID A i ), ei′) in (H( ID A 1 ), e1′), (H( ID A 2 ), e2′), …, (H( ID A t j ), e t j ).
  • Step 10: Dj checks whether g H ( ID A i | | R 1 | | R 2 | | S j ) mod n and σ 2 e i mod n are equal or not. If they are equal, it denotes that Ai is a legal executive, and Ai’s identity is ID A i . That is, Ai is authenticated by Dj with H A i ’s help, and he/she can then deal with the management of Cj or inspect Cj.

4.4. Authentication Data Update Phase

When the authorized management personnel of a department changes, the authentication data update phase will be executed. If a new executive joins, this phase will be executed from Step 1. If the changes do not result in the joining of a new executive, this phase will be executed from Step 5. The management server Server computes the updated authentication data for the authentication devices of all departments that are influenced by the changes. Thereupon, the system administrator SA uses his/her authentication device HSA to update the authentication data stored in the corresponding department’s authentication device. The steps are shown as follows:
  • Step 1: Server computes Ki′ = H( ID A 1 ||Master1) for the new executive Ai′.
  • Step 2: Server selects ei′ for Ai′, and computes di′ such that di′× ei′ ≡ 1 (mod ϕ(n)), where gcd(ei′, ϕ(n)) = 1 and ei′ is different from the existing ei’s.
  • Step 3: Server computes SKi′ =   g d i mod n for Ai′.
  • Step 4: Server stores H(.), n, g, MS, SKi′, ID A 1 and Ki′ in the authentication device H A 1 of the new executive Ai′.
  • Step 5: Server randomly generates a dedicated authentication code Sj′ for the department authentication device Dj′ of the influenced department Cj′, where Dj′∈{Dk|k = 1, 2, …, w}.
  • Step 6: Server uses ( ID A 1 , K1′), ( ID A 2 , K2′), …, ( ID A t j , K t j ) of management personnel A1′, A2′, …, A t j who can manage or inspect Cj′ and (0, Sj′) to obtain the polynomial Pj′(x) = a t j x t j + a t j 1 x t j 1 + …+ a1x + Sj′ mod n, where tj′ is the number of management personnel who can manage or inspect Cj′, {A1′, A2′, …, A t j } ⊆ {Ai|i = 1, 2, …, m}, subject to Pj′( ID A 1 ) = K1′, Pj′( ID A 2 ) = K2′, …, and Pj′( ID A t j ) =   K t j .
  • Step 7: Server randomly generates rj,1, rj,2, …, r j , t j and computes Share j,1 = Pj′(rj,1), Share j,2 = Pj′(rj,2), …, Share j , t j = Pj′( r j , t j ), where rj,1, rj,2, …, r j , t j are less than min(p, q), rj,1, rj,2, …, r j , t j are different from each other and rj,1, rj,2, …, r j , t j are different from ID A 1 , ID A 2 , …, ID A t j .
  • Step 8: Server stores ID D j , (H( ID A 1 ), e1′), (H( ID A 2 ), e2′), …, (H( ID A t j ), e t j ), (rj,1′, Sharej,1′), (rj,2′, Sharej,2′), …, ( r j , t j ′, Share j , t j ′) and Sj′ in SA’s authentication device HSA.
  • Step 9: HSA executes the department authentication device setup phase to update the authentication data stored in the influenced department Cj′’s authentication device Dj′.

5. Property Analysis and Further Analysis

In the following, property analysis is first made to demonstrate that the five properties secretly mentioned are ensured to meet the requirements of the designed offline non-repudiation and anonymity-ensured authentication system. Then, comparisons between authentication schemes ensuring anonymity and ours are made. Finally, further security analysis is conducted to show that our scheme can resist common attacks and the correctness is ensured.

5.1. Property Analysis

As previously mentioned, the proposed offline non-repudiation and anonymity-ensured authentication system needs to possess the following properties to comply with the desired requirements:
  • The legitimacy of a user can be verified offline.
  • Data transmitted between the department’s authentication device and the executive’s or system administrator’s authentication device must be protected.
  • Anonymity must be ensured.
  • Non-repudiation must be ensured.
  • Management can be easily conducted because authentication data stored in the executive’s authentication device does not need to be updated even when personnel changes are made.
The corresponding analysis is performed as follows.

5.1.1. Offline Authentication

In the authentication phase, if executive Ai wants to manage or inspect Cj, he/she must be authenticated by the authentication device Dj of Cj with his/her own authentication device H A i . Ai can authenticate Dj independently without the management server Server’s help, and Ai authenticates Dj by checking whether check′ and check are equal or not, where check = H(R1||R2||(rj,1, Sharej,1)||(rj,2, Sharej,2)||…||( r j , t j , Share j , t j )||MS|| ID D j ||Sj). Meanwhile, Dj also verifies the legitimacy of Ai by checking whether g H ( ID A i | | R 1 | | R 2 | | S j ) mod n and σ 2 e i mod n are equal or not. That is, the legitimacy of a user can be verified offline.

5.1.2. Protection of the Transmitted Data

Assume that adversary 𝒜 intercepts all messages transmitted in the department authentication device setup phase and authentication phase. HSA sends veri1, veri2, and cparas to Dj in the department authentication device setup phase, where veri1 = H(R1||R2|| ID D j ||Gj), veri2 = H(R1||R2|| ID D j ||Gj||Sj||(H( ID A 1 ), e1′)||(H( ID A 2 ), e2′)||…||(H( ID A t j ), e t j )||(rj,1, Sharej,1)||(rj,2, Sharej,2)||…||( r j , t j , Share j , t j )), and cparas is the ciphertext of (Sj, (H( ID A 1 ), e1′), (H( ID A 2 ), e2′), …, (H( ID A t j ), e t j ), (rj,1, Sharej,1), (rj,2, Sharej,2), …, ( r j , t j , Share j , t j )). Because of the properties of one-way hash functions, it is hard for 𝒜 to retrieve the unknown parameters, such as ID D j , Gj and Sj, from veri1 and veri2. On the other hand, cparas is the ciphertext of (Sj, (H( ID A 1 ), e1′), (H( ID A 2 ), e2′), …, (H( ID A t j ), e t j ), (rj,1, Sharej,1), (rj,2, Sharej,2), …, ( r j , t j , Share j , t j )) with the encryption key TK = H(R1||R2||Gj|| ID D j ). Because Gj and ID D j are unknown, 𝒜 cannot obtain TK to decrypt cparas to retrieve Sj. On the other hand, in the authentication phase, Dj sends R2, PID, cshares, and check to H A i , where PID = TMS ID D j , check = H(R1||R2||(rj,1, Sharej,1)||(rj,2, Sharej,2)||…||( r j , t j , Share j , t j )||MS|| ID D j ||Sj), and cshares is the ciphertext of ((rj,1, Sharej,1), (rj,2, Sharej,2), …, ( r j , t j , Share j , t j )) with the encryption key TMS = H(R1||R2||MS). Then, H A i sends σ1 and σ2, where σ1 = H(R1||R2||Sj’) ⊕ ID A i and σ2 = SK i H ( ID A i | | R 1 | | R 2 | | S j ) mod n. Firstly, because ID D j is concealed and not transmitted, 𝒜 cannot retrieve TMS from PID. Secondly, because of the properties of one-way hash functions, it is hard for 𝒜 to retrieve the unknown parameters, such as MS, ID D j and Sj, from check. Thirdly, because MS is unknown, 𝒜 cannot obtain TMS to decrypt cshares or retrieve ID D j from PID. Fourthly, because Sj is unknown, it is impossible for 𝒜 to retrieve ID A i from σ1.
Because of the above, it is ensured that data transmitted between the department’s authentication device and the executive’s or system administrator’s authentication device is protected.

5.1.3. Anonymity and Untraceability

In the proposed scheme, the identities of all entities are not transmitted without being concealed through public channels. Firstly, Dj sends PID and check to H A i , where PID = TMS ID D j , check = H(R1||R2||(rj,1, Sharej,1)||(rj,2, Sharej,2)||…||( r j , t j , Share j , t j )||MS|| ID D j ||Sj), and TMS = H(R1||R2||MS). Because of the properties of one-way hash functions, it is hard to retrieve the unknown parameters, such as MS, ID D j and Sj, from check. Thus, TMS cannot be obtained to retrieve ID D j from PID. Then, H A i sends σ1 and σ2, where σ1 = H(R1||R2||Sj’) ⊕ ID A i and σ2 = SK i H ( ID A i | | R 1 | | R 2 | | S j ) mod n. Because Sj is unknown, it is impossible to retrieve ID A i from σ1. Furthermore, all parameters transmitted in the authentication phase are computed with fresh random numbers R1 and R2. Consequently, transmitted parameters in one session must differ from those in other sessions.
According to the above, it is shown that no one can trace a specific entity or reveal the communication party’s identity. Thus, anonymity and untraceability are ensured in the proposed scheme.

5.1.4. Non-Repudiation

In the authentication phase, Dj sends R2, PID, cshares, and check to H A i , where PID = TMS ID D j , check = H(R1||R2||(rj,1, Sharej,1)||(rj,2, Sharej,2)||…||( r j , t j , Share j , t j )||MS|| ID D j ||Sj), and cshares is the ciphertext of ((rj,1, Sharej,1), (rj,2, Sharej,2), …, ( r j , t j , Share j , t j )) with the encryption key TMS = H(R1||R2||MS). After receiving R2, PID, cshares and check, H A i computes TMS′ = H(R1||R2||MS), decrypts cshares with TMS′ to retrieve (rj,1′, Sharej,1′), (rj,2′, Sharej,2′), …, ( r j , t j ′, Share j , t j ′), and uses these shares and ( ID A i , Ki) to obtain Sj′. Then, H A i computes ID D j ′ = TMS′ ⊕ PID and check′ = H(R1||R2||(rj,1′, Sharej,1′)||(rj,2′, Sharej,2′)||…||( r j , t j ′, Share j , t j ′)||MS|| ID D j ′||Sj′) and checks whether check′ and check are equal or not. Because ID D j is concealed when it is transmitted and only Dj knows both ID D j and Sj, only Dj can compute check to be successfully authenticated by H A i .
On the other hand, H A i computes σ1 = H(R1||R2||Sj’) ⊕ ID A i and σ2 = SK i H ( ID A i | | R 1 | | R 2 | | S j ) mod n. Then, H A i send σ1 and σ2 to Dj. After receiving σ1 and σ2, Dj computes ID A i = H(R1||R2||Sj) ⊕ σ1. Then, Dj uses ID A i as the index to find the matched (H( ID A i ), ei′) and checks whether g H ( ID A i | | R 1 | | R 2 | | S j ) mod n and σ 2 e i mod n are equal or not. Because ID A i is concealed when it is transmitted and only H A i knows both ID A i and SKi, only H A i can compute σ2 to be successfully authenticated by Dj. Consequently, the proposed scheme ensures non-repudiation.

5.1.5. Simplified Management

When the authorized management personnel of a department changes, the authentication data update phase will be executed. If a new executive joins, Server only computes Ki′, di′, and SKi′ for the new executive Ai′ and stores the parameters in Ai’s H A i . Then, Server only needs to compute the required parameters for the influenced departments while authentication data kept by the remaining executives does not need to be updated. This approach can greatly eliminate extra burdens and simplify management.

5.2. Comparisons between Authentication Schemes Ensuring Anonymity and the Proposed User Authentication Scheme

The proposed user authentication scheme ensures anonymity. To show that our scheme possesses superior properties, comparisons between authentication schemes ensuring anonymity [5,6,11,12,13,14,15,16,17,18,19] and the proposed user authentication scheme are made as follows. Authentication schemes [5,15,16,17] proposed for healthcare use biometrics as a factor to authenticate users, and this approach produces extra components to extract the biometrics needed. Authentication schemes were proposed for IoT applications [6,11,12], VANET [13,18,19], and cloud computing applications [13,14]. Users in these authentication schemes [5,6,11,12,13,14,15,16,17,18,19] need to register with a trusted authentication server, and be authenticated online when accessing services, where users may be authenticated by the trusted authentication server directly or by other servers with the trusted authentication server’s help. In the proposed scheme, a user/executive can be authenticated offline, and no extra component is needed. These properties enable the proposed scheme to work well without being influenced by the failure of networks or the backend authentication server, and the cost is reduced.

5.3. Further Security Analysis

In the following, further security analysis is conducted to show that our scheme can resist common attacks and the correctness is ensured.

5.3.1. Resistance to Impersonation Attack

In the department authentication device setup phase, adversary 𝒜 can impersonate neither SA’s authentication device HSA nor the department authentication device Dj. Why 𝒜 cannot successfully mount an impersonation attack in the department authentication device setup phase is shown as follows. If 𝒜 wants to impersonate HSA and setup Dj, he/she needs to send veri1, veri2, and cparas to Dj, where veri1 = H(R1||R2|| ID D j ||Gj), veri2 = H(R1||R2|| ID D j ||Gj||Sj|| (H( ID A 1 ), e1′)||(H( ID A 2 ), e2′)||…||(H( ID A t j ), e t j )||(rj,1, Sharej,1)||(rj,2, Sharej,2)||…||( r j , t j , Share j , t j )), cparas is the ciphertext of (Sj, (H( ID A 1 ), e1′), (H( ID A 2 ), e2′), …, (H( ID A t j ), e t j ), (rj,1, Sharej,1), (rj,2, Sharej,2), …, ( r j , t j , Share j , t j )) encrypted with the encryption key TK, and TK = H(R1||R2||Gj|| ID D j ). However, it is impossible for 𝒜 to compute correct veri1, veri2 and cparas because the secret Gj is unknown, where Gj = H( ID D j ||Master2). As a result, Dj will detect that the other party is not HSA when it computes veri1′ = H(R1||R2|| ID D j ||Gj) and checks whether veri1′ and veri1 are equal or not. On the other hand, if 𝒜 wants to impersonate Dj to cheat HSA and get essential data, he/she will send R2 to HSA and get veri1, veri2, and cparas. Unfortunately, 𝒜 does not know Gj such that TK cannot be computed. As a result, cparas cannot be decrypted to retrieve Sj. Moreover, because of the properties of hash functions, ID D j and other concealed parameters cannot be retrieved from veri1 and veri2. Consequently, 𝒜 can impersonate neither HSA nor Dj to threaten the proposed scheme in the department authentication device setup phase.
On the other hand, adversary 𝒜 can impersonate either an executive’s authentication device H A i or Dj in the authentication phase. Why 𝒜 cannot successfully mount an impersonation attack in the authentication phase is shown as follows. If 𝒜 wants to impersonate Dj to cheat H A i , 𝒜 needs to send R2, PID, cshares, and check to H A i , where PID = TMS ID D j , check = H(R1||R2||(rj,1, Sharej,1)||(rj,2, Sharej,2)||…||( r j , t j , Share j , t j )||MS|| ID D j ||Sj), and cshares is the ciphertext of ((rj,1, Sharej,1), (rj,2, Sharej,2), …, ( r j , t j , Share j , t j )) with the encryption key TMS = H(R1||R2||MS). After receiving R2, PID, cshares and check, H A i computes TMS′ = H(R1||R2||MS), decrypts cshares with TMS′ to retrieve (rj,1′, Sharej,1′), (rj,2′, Sharej,2′), …, ( r j , t j ′, Share j , t j ′), and uses these shares and ( ID A i , Ki) to obtain Sj′. Then, H A i computes ID D j ′ = TMS′ ⊕ PID and check′ = H(R1||R2||(rj,1′, Sharej,1′)||(rj,2′, Sharej,2′)||…||( r j , t j ′, Share j , t j ′)||MS|| ID D j ′||Sj′) and checks whether check′ and check are equal or not. Because ID D j is concealed when it is transmitted and only legal Dj knows both ID D j and Sj, only legal Dj can compute check to be successfully authenticated by H A i x. That is, 𝒜 cannot impersonate Dj to cheat H A i . On the other hand, if 𝒜 wants to impersonate H A i to cheat Dj and obtain the desired rights, 𝒜 needs to send correct σ1 and σ2 to Dj, where σ1 = H(R1||R2||Sj’) ⊕   ID A i and σ2 = SK i H ( ID A i | | R 1 | | R 2 | | S j ) mod n. After receiving σ1 and σ2, Dj computes ID A i ′ = H(R1||R2||Sj) ⊕ σ1, uses ID A i ′ as the index to find the matched (H( ID A i ), ei′), and checks whether g H ( ID A i | | R 1 | | R 2 | | S j ) mod n and σ 2 e i mod n are equal or not. Because ID A i is concealed when it is transmitted and only H A i knows both ID A i and SKi, only legal H A i can compute correct σ2 to be successfully authenticated by Dj. Thus, it is impossible for 𝒜 to compute correct σ1 and σ2 and cheat Dj. Consequently, 𝒜 can impersonate neither H A i nor Dj to threaten the proposed scheme in the authentication phase.

5.3.2. Resistance to Replay Attack

When adversary 𝒜 eavesdrops and attempts to mount a replay attack and set Dj in the department authentication device setup phase, he/she can send R1, veri1, veri2, and cparas to Dj of one previous session Dj, where veri1 = H(R1||R2|| ID D j ||Gj), veri2 = H(R1||R2|| ID D j ||Gj||Sj|| (H( ID A 1 ), e1′)||(H( ID A 2 ), e2′)||…||(H( ID A t j ), e t j )||(rj,1, Sharej,1)||(rj,2, Sharej,2)||…||( r j , t j , Share j , t j )), cparas is the ciphertext of (Sj, (H( ID A 1 ), e1′), (H( ID A 2 ), e2′), …, (H( ID A t j ), e t j ), (rj,1, Sharej,1), (rj,2, Sharej,2), …, ( r j , t j , Share j , t j )) encrypted with the encryption key TK, and TK = H(R1||R2||Gj|| ID D j ). However, because the random number R2 is chosen by Dj, R2 in the present session must differ from that intercepted in the previous session. Thus, the resent veri1 must differ from the correct veri1′ computed by Dj in the present session, and 𝒜 cannot successfully mount a replay attack in the department authentication device setup phase.
On the other hand, when 𝒜 eavesdrops and attempts to mount a replay attack in the authentication phase, he/she can perform as follows. First, 𝒜 can send R2, PID, cshares, and check of one previous session to H A i , where PID = TMS ID D j , check = H(R1||R2||(rj,1, Sharej,1)||(rj,2, Sharej,2)||…||( r j , t j , Share j , t j )||MS|| ID D j ||Sj), and cshares is the ciphertext of ((rj,1, Sharej,1), (rj,2, Sharej,2), …, ( r j , t j , Share j , t j )) with the encryption key TMS = H(R1||R2||MS). However, because the random number R1 is chosen by H A i , R1 in the present session must differ from that intercepted in the previous session. Thus, TMS of the previous session must differ from the correct TMS′ computed by H A i in the present session, and H A i cannot retrieve correct ((rj,1, Sharej,1), (rj,2, Sharej,2), …, ( r j , t j , Share j , t j )), ID D j ′ and Sj′. Thereupon, check′ computed by H A i in the present session must differ from the resent check, and H A i will detect that the other party is not Dj. Second, 𝒜 can send σ1 and σ2 of one previous session to Dj, where σ1 = H(R1||R2||Sj′) ⊕ ID A i and σ2 = SK i H ( ID A i | | R 1 | | R 2 | | S j ) mod n. Then, Dj uses ID A i as the index to find the matched (H( ID A i ), ei′) and checks whether g H ( ID A i | | R 1 | | R 2 | | S j ) mod n and σ 2 e i mod n are equal or not. However, because the random number R2 is chosen by Dj, R2 in the present session must differ from that intercepted in the previous session. Thus, ID A i computed by Dj in the present session must differ from the correct ID A i , such that no matched (H( ID A i ), ei′) can be found. From now on, Dj will detect that the other party is not H A i . From the above, it is shown that 𝒜 cannot mount a replay attack successfully in the authentication phase, either.

5.3.3. Resistance to Man-in-the-Middle Attack

Man-in-the-middle attack is a type of eavesdropping, where an attacker may intercept, control the exchanged messages, and further capture or manipulate sensitive data without being noticed. When adversary 𝒜 wants to mount a man-in-the-middle attack in our scheme, he/she cannot succeed in either the department authentication device setup phase or authentication phase. How the proposed scheme can defend against a man-in-the-middle attack is shown as follows.
In the department authentication device setup phase, HSA sends veri1, veri2, and cparas to Dj, where veri1 = H(R1||R2|| ID D j ||Gj), veri2 = H(R1||R2|| ID D j ||Gj||Sj||(H( ID A 1 ), e1′)||(H( ID A 2 ), e2′)||…||(H( ID A t j ), e t j )||(rj,1, Sharej,1)||(rj,2, Sharej,2)||…||( r j , t j , Share j , t j )), and cparas is the ciphertext of (Sj, (H( ID A 1 ), e1′), (H( ID A 2 ), e2′), …, (H( ID A t j ), e t j ), (rj,1, Sharej,1), (rj,2, Sharej,2), …, ( r j , t j , Share j , t j )). Because of the properties of one-way hash functions, it is hard for 𝒜 to retrieve the unknown parameters, such as ID D j , Gj and Sj, from veri1 and veri2. On the other hand, cparas is the ciphertext of (Sj, (H( ID A 1 ), e1′), (H( ID A 2 ), e2′), …, (H( ID A t j ), e t j ), (rj,1, Sharej,1), (rj,2, Sharej,2), …, ( r j , t j , Share j , t j )) with TK = H(R1||R2||Gj|| ID D j ). Because Gj and ID D j are unknown, 𝒜 cannot obtain TK to decrypt cparas to retrieve Sj. Furthermore, 𝒜 cannot control the messages exchanged in the department authentication device setup phase, either.
On the other hand, in the authentication phase, Dj sends R2, PID, cshares, and check to H A i , where PID = TMS ID D j , check = H(R1||R2||(rj,1, Sharej,1)||(rj,2, Sharej,2)||…||( r j , t j , Share j , t j )||MS|| ID D j ||Sj), and cshares is the ciphertext of ((rj,1, Sharej,1), (rj,2, Sharej,2), …, ( r j , t j , Share j , t j )) with TMS = H(R1||R2||MS). Then, H A i sends σ1 and σ2, where σ1 = H(R1||R2||Sj′) ⊕ ID A i and σ2 = SK i H ( ID A i | | R 1 | | R 2 | | S j ) mod n. Firstly, because ID D j is concealed and not transmitted, 𝒜 cannot retrieve TMS from PID. Secondly, because of the properties of one-way hash functions, it is hard for 𝒜 to retrieve the unknown parameters, such as MS, ID D j and Sj, from check. Thirdly, because MS is unknown, 𝒜 can neither obtain TMS to decrypt cshares nor retrieve ID D j from PID. Fourthly, because Sj is unknown, it is impossible for 𝒜 to retrieve ID A i from σ1. Furthermore, 𝒜 cannot control the exchanged messages in the authentication phase, either.

5.3.4. Proof of Correctness

In the initialization phase, the management server Server determines Set1 and Set2 and initializes a department Cj’s department authentication device Dj for j = 1, 2, …, w. Then, Server confirms the corresponding executives of all departments, computes the authentication data for all executives and departments, stores personal authentication data of the executive Ai in his/her authentication device H A i , and stores department authentication data in SA’s authentication device HSA. The fundamental principle of the proposed scheme is only a legal and authorized executive can use his/her authentication device to be successfully authenticated by the corresponding department authentication device while authentication data stored in the executive’s authentication device does not need to be updated even when personnel changes are made. To achieve this goal, Server uses ( ID A 1 , K1′), ( ID A 2 , K2′), …, ( ID A t j , K t j ) of executives A1′, A2′, …, A t j who are authorized to manage or inspect Cj, and (0, Sj) to obtain the polynomial Pj(x) = a t j x t j + a t j 1 x t j 1 + … + a1x + Sj mod n, where tj is the number of authorized executives who can manage or inspect Cj, {A1′, A2′, …, A t j } ⊆ {Ai|i = 1, 2, …, m}, Pj(0) = Sj, Pj( ID A 1 ) = K1′, Pj( ID A 2 ) = K2′, …, and Pj( ID A t j ) =   K t j . After obtaining the polynomial Pj(x), Server randomly generates rj,1, rj,2, …, r j , t j and computes Sharej,1 = Pj(rj,1), Sharej,2 = Pj(rj,2), …, Share j , t j = Pj( r j , t j ), where rj,1, rj,2, …, r j , t j are less than min(p, q), rj,1, rj,2, …, r j , t j are different from each other and rj,1, rj,2, …, r j , t j are different from ID A 1 , ID A 2 , …, ID A t j . Server stores H(.), n, g, MS, ID D j , Gj, (H( ID A 1 ), e1′), (H( ID A 2 ), e2′), …, (H( ID A t j ), e t j ), (rj,1, Sharej,1), (rj,2, Sharej,2), …, ( r j , t j , Share j , t j ) and Sj in the system administrator SA’s authentication device HSA, where j = 1, 2, …, w.
Later, SA can initialize the authentication data in Cj’s department authentication device Dj in the department authentication device setup phase such that Sj, (H( ID A 1 ), e1′), (H( ID A 2 ), e2′), …, (H( ID A t j ), e t j ), (rj,1, Sharej,1), (rj,2, Sharej,2), …, ( r j , t j , Share j , t j ) are stored in Dj. Thereupon, in the authentication phase, H A i uses (rj,1′, Sharej,1′), (rj,2′, Sharej,2′), …, ( r j , t j ′, Share j , t j ′) and ( ID A i , Ki) to set the parameters q0 = ID A i , Q0 = Ki, q1 = rj,1′, Q1 = Sharej,1′, q2 = rj,2′, Q2 = Sharej,2′, …, q t j = r j , t j ′, Q t j = Share j , t j ′. Then, H A i computes Sj′ = u = 0 t j J u × Q u mod n, where J u = q b q u q b q u q b .
Because tj is the number of authorized executives who can manage or inspect Cj and the polynomial Pj(x) of degree tj, Server obtains Pj(x) with ( ID A 1 , K1′), ( ID A 2 , K2′), …, ( ID A t j , K t j ) and (0, Sj), where Pj(0) = Sj, Pj( ID A 1 ) = K1′, Pj( ID A 2 ) = K2′, …, and Pj( ID A t j ) =   K t j . After Pj(x) is obtained, Sharej,1, Sharej,2, …, Share j , t j can be easily computed, where Sharej,1 = Pj(rj,1), Sharej,2 = Pj(rj,2), …, Share j , t j = Pj( r j , t j ). An authorized executive Ai’s H A i with ( ID A i , Ki) ∈ {( ID A 1 , K1′), ( ID A 2 , K2′), …, ( ID A t j , K t j )} can retrieve Pj(x) of degree tj, when (rj,1, Sharej,1), (rj,2, Sharej,2), …, ( r j , t j , Share j , t j ) are obtained. On the other hand, because the constant term Sj of Pj(x) is the dedicated authentication code for Dj, H A i utilizes the Lagrange interpolation formula to compute Sj′ = u = 0 t j J u × Q u mod n to retrieve Sj only, instead of the polynomial Pj(x), where J u = q b q u q b q u q b . From the above, the correctness can be ensured.

6. Performance Evaluation and Further Discussion

This section evaluates the performance of the proposed scheme. The test was implemented in Python 3 on a personal computer with Intel (R) Core (TM) i7-9750H 2.60 GHz CPU, 16.0 GB RAM, and a 64-bits Windows 10 operating system. The analysis was divided into two categories: (1) communication cost and (2) computational cost. To ensure security, in the evaluation, SHA-256 and AES with a block size of 128 bits and a key length of 256 bits are adopted, and the lengths of p, q, and n are 1024-bit, 1024-bit, and 2048-bit, respectively. In Section 6.1, we evaluate the communication costs of the department authentication device setup and authentication phases in which messages are transmitted. Section 6.2 analyzes the computational costs for the initialization, department authentication device setup and authentication phases. In Section 6.3, further discussion is presented.

6.1. Analysis of Communication Cost

The proposed user authentication scheme can be regarded as an application layer protocol. How to transmit data between devices and fix bit errors are defined by transmission standards such as Bluetooth. To analyze the communication cost of the proposed scheme, the extra data transmission resulting from transmission standards is not taken into consideration. The communication cost for one phase is the number of bits of messages exchanged in this phase. In the proposed scheme, messages are exchanged in only the department authentication device setup phase and authentication phase, so communication costs for these two phases are evaluated. The communication cost for the proposed scheme is shown in Table 2. For generality, let tj represent the total number of executives who can manage and inspect Cj. In the department authentication device setup phase, three messages are exchanged. The first message contains a 2048-bit random number R1. Then, the second message contains another 2048-bit random number R2. The third message contains cparas and two hash values, veri1 and veri2. Because cparas is the ciphertext of {Sj, (H( ID A 1 ), e1′), (H( ID A 2 ), e2′), …, (H( ID A t j ), e t j ), (rj,1, Sharej,1), (rj,2, Sharej,2), …, ( r j , t j , Share j , t j )}, its size is 2048 + tj × (256 + 2048) + tj × (2048 + 2048) = (2048 + 6400tj) bits. Therefore, the size of the messages transmitted in the department authentication device setup phase is (6656 + 6400tj) bits.
In the authentication phase, three messages are exchanged. The first message contains one 2048-bit random number R1. The second message contains one 2048-bit random number R2, PID, cshares, and one hash value check. Because cshares is the ciphertext of ((rj,1, Sharej,1), (rj,2, Sharej,2), …, ( r j , t j , Share j , t j )), its size is (2048 + 2048) × tj = 4096tj bits. The size of PID is 256 bits because PID = TMS ID D j . The size of check is 256 bits. So, the size of the second message is 2048 + 256 + tj × (2048 + 2048) + 256 = (2560 + 4096tj) bits. The third message contains σ1 and σ2. The size of σ1 is 256 bits because σ1 = H(R1||R2||Sj’) ⊕ ID A i . Because the length of n is 2048 bits, the size of σ2 = SK i H ( ID A i | | R 1 | | R 2 | | S j ) mod n is also 2048 bits. Thus, the size of the third message is 256+2048 = 2304 bits. The size of the messages transmitted in the authentication phase is 2048 + 2560 + 4096tj + 2304 = (6912 + 4096tj) bits. The total communication cost of the proposed scheme is (13,568 + 10,496tj) bits.

6.2. Analysis of Computational Cost

There are four phases in the proposed scheme: initialization phase, department authentication device setup phase, authentication phase, and authentication data update phase. Because the authentication data update phase is similar to the initialization phase, we simulate the initialization phase, department authentication device setup phase, and authentication phase to evaluate the computational cost of the proposed scheme. In the simulation, tj denotes the total number of executives who can manage and inspect Cj, and tj ∈ {2, 5, 10, 20, 30, 50}. To eliminate the influence of unpredictable factors and make the evaluation essential, we run the simulation 1000 times and compute the average computational costs. The computational costs for the initialization phase, department authentication device setup phase, and authentication phase are shown in Figure 6, Figure 7 and Figure 8, respectively.
In the initialization phase, Server performs three tasks: (1) initializing the department’s authentication device Dj, (2) initializing the executive’s authentication device H A i , and (3) initializing the system administrator’s authentication device HSA. In the first task, Server computes Gj = H( ID D j ||Master2). The computational cost of this task is independent of tj, and it takes 0.00720 milliseconds. In the second task, the server computes Ki, di, and SKi for the executive’s authentication device H A i . Similar to the first task, the computational cost of the second task is independent of tj, and initializing H A i takes 3.09 milliseconds. Server computes Share j , t j for the system administrator’s authentication device HSA with the polynomial Pj(x) in the third task. There exists a positive correlation between the degree of the polynomial Pj(x) and tj. When tj increases, both the degree of the polynomial Pj(x) and time required to obtain the polynomial increase. Because tj varies and tj ∈{2, 5, 10, 20, 30, 50}, the computational costs for the third task are 0.0600 milliseconds, 0.384 milliseconds, 4.53 milliseconds, 75.31 milliseconds, 411 milliseconds, and 3090 milliseconds, respectively. To summarize, the total computational costs for the initialization phase with tj ∈{2, 5, 10, 20, 30, 50} are 5.64 milliseconds, 14.0 milliseconds, 32.0 milliseconds, 156 milliseconds, 500 milliseconds, and 3240 milliseconds, respectively.
In the department authentication device setup phase, both the system administrator’s authentication device HSA and the department’s authentication device Dj are involved. HSA computes veri1 and veri2 and encrypts {Sj, (H( ID A 1 ), e1′), (H( ID A 2 ), e2′), …, (H( ID A t j ), e t j ), (rj,1, Sharej,1), (rj,2, Sharej,2), …, ( r j , t j , Share j , t j )} to get cparas with AES, where veri2 is the hash value of (R1||R2|| ID D j ||Gj||Sj||(H( ID A 1 ), e1′)||(H( ID A 2 ), e2′)||…||(H( ID A t j ), e t j )||(rj,1, Sharej,1)||(rj,2, Sharej,2)||…||( r j , t j , Share j , t j )). Thus, when tj increases, the time needed for computing veri2 and obtaining cparas will increase. For tj ∈ {2, 5, 10, 20, 30, 50}, HSA spends 0.0573 milliseconds, 0.0787 milliseconds, 0.111 milliseconds, 0.141 milliseconds, 0.337 milliseconds, and 0.402 milliseconds on computations, respectively.
On the other hand, veri1′, TK’, and veri2′ are computed by Dj in the department authentication device setup phase. Dj decrypts cparas to obtain {Sj, (H( ID A 1 ), e1′), (H( ID A 2 ), e2′), …, (H( ID A t j ), e t j ), (rj,1, Sharej,1), (rj,2, Sharej,2), …, ( r j , t j , Share j , t j )}. When tj increases, the time needed for computing veri2′ and decrypting cparas will increase. For tj ∈ {2, 5, 10, 20, 30, 50}, Dj spends 0.0430 milliseconds, 0.0460 milliseconds, 0.0623 milliseconds, 0.0655 milliseconds, 0.149 milliseconds, and 0.150 milliseconds, respectively.
Thus, for tj ∈ {2, 5, 10, 20, 30, 50}, the total computational costs for the department authentication device setup phase are 0.100 milliseconds, 0.125 milliseconds, 0.173 milliseconds, 0.207 milliseconds, 0.486 milliseconds, and 0.552 milliseconds, respectively.
In the authentication phase, Dj and H A i authenticate each other. Dj computes TMS, PID and check and encrypt ((rj,1, Sharej,1), (rj,2, Sharej,2), …, ( r j , t j , Share j , t j )) to get cshares with AES. Dj has to retrieve ID A i ′ and compute σ 2 e i mod n with the matched ei′ after receiving the message sent from H A i . check is the hash value of ((R1||R2||(rj,1, Sharej,1)||(rj,2, Sharej,2)||…||( r j , t j , Share j , t j )||MS|| ID D j ||Sj)), so the time needed to compute check is positively correlated to tj. Similarly, when tj increases, the time needed for encryption will also increase. Thus, for tj ∈ {2, 5, 10, 20, 30, 50}, Dj spends 0.823 milliseconds, 0.841 milliseconds, 0.877 milliseconds, 0.893 milliseconds, 1.13 milliseconds, and 1.15 milliseconds in the authentication phase, respectively.
On the other hand, H A i uses AES to decrypt cshares after computing TMS’, Sj’, ID D j ′, check′, σ1 and σ2 in the authentication phase. check′ is the hash value of ((R1||R2||(rj,1′, Sharej,1′)||(rj,2′, Sharej,2′)||…||( r j , t j ′, Share j , t j ′)||MS|| ID D j ′||Sj′)), so the time needed to compute check is positively correlated to tj. Similarly, when tj increases, the time needed for decryption will also increase. In the proposed scheme, Lagrange interpolation is utilized to compute Sj′, so tj is also positively correlated to the time needed to compute Sj′. That is, the larger tj is, the longer it takes to compute Sj′. Then, for tj ∈{2, 5, 10, 20, 30, 50}, H A i spends 1.01 milliseconds, 1.02 milliseconds, 1.12 milliseconds, 1.19 milliseconds, 1.93 milliseconds, and 2.82 milliseconds in the authentication phase, respectively.
Thus, for tj ∈ {2, 5, 10, 20, 30, 50}, the total computational costs for the authentication phase are 1.93 milliseconds, 1.98 milliseconds, 2.17 milliseconds, 2.29 milliseconds, 3.05 milliseconds, and 3.96 milliseconds, respectively.
By the above analysis, it is ensured that the proposed scheme can ensure efficiency and be applied in real-time applications because the time for authentication is far less than one second. On the other hand, although the proposed scheme is designed to help an executive to be authenticated by the department authentication device, it can also be utilized for access control of small-sized enterprises/facilities/apartment complexes while workers/members/residents instead of executives are authenticated.

6.3. Further Discussion

In this subsection, we demonstrate the unpredictable factors encountered when we run the simulation. As shown in the previous analysis, many parameters are positively correlated to tj. In ideal circumstances, the computational costs of computing these parameters should be proportional to tj. However, after the simulation is run, the outcome is different from that expected. With further analysis, three unpredictable factors that may affect the simulation are found. The details are as follows.

6.3.1. Data Type Conversion

In our proposed system, over 100 parameters are used to compute variables. And data type conversion of these parameters and variables may impact the computational cost. In the authentication phase, for instance, Dj has to compute check = H(R1||R2||(rj,1, Sharej,1)||(rj,2, Sharej,2)||…||( r j , t j , Share j , t j )||MS|| ID D j ||Sj), where all input parameters and variables of the one-way hash function are integers. Integers cannot be concatenated directly, so data type conversion is needed to convert the integer to a string. Moreover, the time for data type conversion is neither constant nor linear. Consequently, data type conversion is an unpredictable factor that may influence the computational cost.

6.3.2. Insufficient Memory

In the initialization phase, the management server Server obtains the polynomial Pj(x) = a t j x t j + a t j 1 x t j 1 + … + a1x + Sj mod n and computes Sharej,1 = Pj(rj,1), Sharej,2 = Pj(rj,2), …, Share j , t j = Pj( r j , t j ). All Share’s computed by the polynomial are integers, and they represent the sum of parameters and variables. At first, Python allocates a small amount of memory to store the variable Share. However, when the size of Share increases, the allocated memory is insufficient. This results in Python having to allocate more memory to store Share. This approach increases the computational cost in the simulation. Consequently, insufficient memory is another unpredictable factor that may influence the computational cost.

6.3.3. Number System Conversion

When one operation manipulates two or more numbers of different or undesired bases, number system conversion is needed. In the authentication phase, for instance, the executive’s authentication device H A i computes σ1 = H(R1||R2||Sj’) ⊕ ID A i , where σ1 is computed with a hash value and an identity. Hash values are hexadecimal numbers, and all identities are decimal numbers after the data type conversion. That is, before σ1 is computed, both H(R1||R2||Sj’) and ID A i need to be converted to binary numbers. However, number system conversion may increase the computational cost. Moreover, the time for number system conversion is neither constant nor linear. Thus, number system conversion is also an unpredictable factor that may influence the computational cost.

7. Conclusions

This paper proposes an offline user authentication system that ensures non-repudiation and anonymity. With the proposed scheme, management can be easily conducted even when personnel changes are made. We show that the proposed scheme satisfies the desired requirements and can resist common attacks. Additionally, we evaluate its performance by analyzing communication cost and computational cost, and further discussion shows three unpredictable factors that may affect the computational cost in the simulation. By the analysis and evaluation mentioned above, it is ensured that the proposed offline user authentication system can be applied to real-time applications that possess the same requirements in the real world.

Author Contributions

Methodology, Y.-F.C. and W.-L.T.; formal analysis, Y.-F.C. and K.-H.F.; writing—original draft preparation, K.-H.F.; writing—review and editing, Y.-F.C. and W.-L.T. All authors have read and agreed to the published version of the manuscript.

Funding

This work was supported in part by the Ministry of Science and Technology under the grants MOST 110-2221-E-025-012-, MOST 111-2221-E-025-007-, and MOST 110-2221-E-025-014-MY2.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Mujahid, U.; Najam-ul-Islam, M.; Sarwar, S. A new ultralightweight RFID authentication protocol for passive low cost tags: KMAP. Wirel. Pers. Commun. 2017, 94, 725–744. [Google Scholar] [CrossRef]
  2. Teh, P.S.; Zhang, N.; Tan, S.Y.; Shi, Q.; Khoh, W.H.; Nawaz, R. Strengthen user authentication on mobile devices by using user’s touch dynamics pattern. J. Ambient Intell. Humaniz. Comput. 2020, 11, 4019–4039. [Google Scholar] [CrossRef] [Green Version]
  3. Guo, Y.; Guo, Y. FogHA: An efficient handover authentication for mobile devices in fog computing. Comput. Secur. 2021, 108, 102358. [Google Scholar] [CrossRef]
  4. Chakraborty, D.; Bugiel, S. SimFIDO: FIDO2 user authentication with simtpm. In Proceedings of the 2019 ACM SIGSAC Conference on Computer and Communications Security, London, UK, 11–15 November 2019; pp. 2569–2571. [Google Scholar]
  5. Liu, X.; Ma, W.; Cao, H. MBPA: A medibchain-based privacy-preserving mutual authentication in TMIS for mobile medical cloud architecture. IEEE Access 2019, 7, 149282–149298. [Google Scholar] [CrossRef]
  6. Tai, W.L.; Chang, Y.F.; Li, W.H. An IoT notion-based authentication and key agreement scheme ensuring user anonymity for heterogeneous ad hoc wireless sensor networks. J. Inf. Secur. Appl. 2017, 34, 133–141. [Google Scholar] [CrossRef]
  7. Au, M.H.; Liu, J.K.; Susilo, W.; Yuen, T.H. Secure ID-based linkable and revocable-iff-linked ring signature with constant-size construction. Theor. Comput. Sci. 2013, 469, 1–14. [Google Scholar] [CrossRef]
  8. Boualouache, A.; Senouci, S.M.; Moussaoui, S. A survey on pseudonym changing strategies for vehicular ad-hoc networks. IEEE Commun. Surv. Tutor. 2017, 20, 770–790. [Google Scholar] [CrossRef] [Green Version]
  9. Fujisaki, E. Sub-linear size traceable ring signatures without random oracles. In Proceedings of the Cryptographers’ Track at the RSA Conference 2011, San Francisco, CA, USA, 14–18 February 2011; pp. 393–415. [Google Scholar]
  10. Tangade, S.; Manvi, S.S.; Lorenz, P. Trust management scheme based on hybrid cryptography for secure communications in VANETs. IEEE Trans. Veh. Technol. 2020, 69, 5232–5243. [Google Scholar] [CrossRef]
  11. Hu, B.; Tang, W.; Xie, Q. A two-factor security authentication scheme for wireless sensor networks in IoT environments. Neurocomputing 2022, 500, 741–749. [Google Scholar] [CrossRef]
  12. Sadri, M.J.; Asaar, M.R. An anonymous two-factor authentication protocol for IoT-based applications. Comput. Netw. 2021, 199, 108460. [Google Scholar] [CrossRef]
  13. Akram, W.; Mahmood, K.; Li, X.; Sadiq, M.; Lv, Z.; Chaudhry, S.A. An energy-efficient and secure identity based RFID authentication scheme for vehicular cloud computing. Comput. Netw. 2022, 217, 109335. [Google Scholar] [CrossRef]
  14. Guo, Y.; Zhang, Z.; Guo, Y. SecFHome: Secure remote authentication in fog-enabled smart home environment. Comput. Netw. 2022, 207, 108818. [Google Scholar] [CrossRef]
  15. Amintoosi, H.; Nikooghadam, M.; Shojafar, M.; Kumari, S.; Alazab, M. Slight: A lightweight authentication scheme for smart healthcare services. Comput. Electr. Eng. 2022, 99, 107803. [Google Scholar] [CrossRef]
  16. Mohit, P. An efficient mutual authentication and privacy prevention scheme for e-healthcare monitoring. J. Inf. Secur. Appl. 2021, 63, 102992. [Google Scholar] [CrossRef]
  17. Ogundoyin, S.O.; Kamil, I.A. PAASH: A privacy-preserving authentication and fine-grained access control of outsourced data for secure smart health in smart cities. J. Parallel Distrib. Comput. 2021, 155, 101–119. [Google Scholar] [CrossRef]
  18. Zhang, H.; Lai, Y.; Chen, Y. Authentication methods for internet of vehicles based on trusted connection architecture. Simul. Model. Pract. Theory 2023, 122, 102681. [Google Scholar] [CrossRef]
  19. Zhang, S.; Liu, Y.; Xiao, Y.; He, R. A trust based adaptive privacy preserving authentication scheme for VANETs. Veh. Commun. 2022, 37, 100516. [Google Scholar] [CrossRef]
  20. Kardas, S.; Elikc, S.; Yıldız, M.; Levi, A. Puf-enhanced offline RFID security and privacy. J. Netw. Comput. Appl. 2012, 35, 2059–2067. [Google Scholar] [CrossRef]
  21. Gope, P.; Millwood, O.; Saxena, N. A provably secure authentication scheme for RFID-enabled UAV applications. Comput. Commun. 2020, 166, 19–25. [Google Scholar] [CrossRef]
  22. Mateu, V.; Sebé, F.; Valls, M. Constructing credential-based E-voting systems from offline E-coin protocols. J. Netw. Comput. Appl. 2014, 42, 39–44. [Google Scholar] [CrossRef]
  23. Rivest, R.L.; Shamir, A.; Adleman, L.M. A method for obtaining digital signatures and public-key cryptosystems. Commun. ACM 1978, 21, 120–126. [Google Scholar] [CrossRef] [Green Version]
  24. ElGamal, T. A public-key cryptosystem and a signature scheme based on discrete logarithms. IEEE Trans. Inf. Theory 1985, 31, 469–472. [Google Scholar] [CrossRef]
Figure 1. The architecture of the designed offline non-repudiation and anonymity-ensured user authentication system.
Figure 1. The architecture of the designed offline non-repudiation and anonymity-ensured user authentication system.
Sensors 22 09673 g001
Figure 2. The process of the management server to initialize the executive’s authentication device in the initialization phase of the proposed user authentication scheme.
Figure 2. The process of the management server to initialize the executive’s authentication device in the initialization phase of the proposed user authentication scheme.
Sensors 22 09673 g002
Figure 3. The process of the management server to initialize the system administrator’s authentication device in the initialization phase of the proposed user authentication scheme.
Figure 3. The process of the management server to initialize the system administrator’s authentication device in the initialization phase of the proposed user authentication scheme.
Sensors 22 09673 g003
Figure 4. Department authentication device setup phase of the proposed user authentication scheme.
Figure 4. Department authentication device setup phase of the proposed user authentication scheme.
Sensors 22 09673 g004
Figure 5. Authentication phase of the proposed user authentication scheme.
Figure 5. Authentication phase of the proposed user authentication scheme.
Sensors 22 09673 g005
Figure 6. The computational costs for the initialization phase.
Figure 6. The computational costs for the initialization phase.
Sensors 22 09673 g006
Figure 7. The computational costs for the department authentication device setup phase.
Figure 7. The computational costs for the department authentication device setup phase.
Sensors 22 09673 g007
Figure 8. The computational costs for the authentication phase.
Figure 8. The computational costs for the authentication phase.
Sensors 22 09673 g008
Table 1. Notations used in the proposed user authentication scheme.
Table 1. Notations used in the proposed user authentication scheme.
NotationDefinitions
ServerManagement server
Master1, Master2Server’s secret keys for generating essential parameters for authentication devices
MSSystem secret key for checking the integrity of the transmitted data and generating session keys to protect the transmitted data
SASystem administrator
HSASA’s authentication device
mThe total amount of executives of management personnel in the system
AiThe ith executive
Set1The set of executives in the system, where Set1 = {Ai|i is in [1, m]} and|Set1| = m
ID A i Ai’s unique identity
H A i Ai’s authentication device
wThe total amount of departments in the system
CjThe jth department
Set2The set of departments in the system, where Set2 = {Cj|j is in [1, w]} and|Set2| = w
tjThe number of executives Cj, where tj >= 1
DjCj’s department authentication device
ID D j Dj’s unique identity
H(.)One-way hash function, where H: {0, 1}* → {0, 1}l and l is the length of its output
p, qTwo large prime integers chosen by Server and secretly kept by Server, where p > 1l
nSystem public parameter, where n = p × q
gThe primitive root modulo n
||Concatenation operator
XOR operator
Table 2. The communication cost for the proposed scheme.
Table 2. The communication cost for the proposed scheme.
PhaseMessagesCommunication Cost (Bits)
Department authentication device setup phase36656 + 6400tj
Authentication phase36912+ 4096tj
Total613,568 + 10,496tj
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Chang, Y.-F.; Tai, W.-L.; Fung, K.-H. Offline User Authentication Ensuring Non-Repudiation and Anonymity. Sensors 2022, 22, 9673. https://doi.org/10.3390/s22249673

AMA Style

Chang Y-F, Tai W-L, Fung K-H. Offline User Authentication Ensuring Non-Repudiation and Anonymity. Sensors. 2022; 22(24):9673. https://doi.org/10.3390/s22249673

Chicago/Turabian Style

Chang, Ya-Fen, Wei-Liang Tai, and Ka-Ho Fung. 2022. "Offline User Authentication Ensuring Non-Repudiation and Anonymity" Sensors 22, no. 24: 9673. https://doi.org/10.3390/s22249673

APA Style

Chang, Y. -F., Tai, W. -L., & Fung, K. -H. (2022). Offline User Authentication Ensuring Non-Repudiation and Anonymity. Sensors, 22(24), 9673. https://doi.org/10.3390/s22249673

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