Abstract
In an era of tremendous development in information technology and the Internet of Things (IoT), security plays a key role in safety devices connected with the Internet. Authentication is vital in the security field, and to achieve a strong authentication scheme, there are several systems using a Multi-Factor Authentication (MFA) scheme based on a smart card, token, and biometric. However, these schemes have suffered from the extra cost; lost, stolen or broken factor, and malicious attacks. In this paper, we design an MFA protocol to be the authenticated administrator of IoT’s devices. The main components of our protocol are a smart mobile device and the fuzzy extractor of the administrator’s fingerprint. The information of the authenticated user is stored in an anomalous manner in mobile devices and servers to resist well-known attacks, and, as a result, the attacker fails to authenticate the system when they obtain a mobile device or password. Our work overcomes the above-mentioned issues and does not require extra cost for a fingerprint device. By using the AVISPA tool to analysis protocol security, the results are good and safe against known attacks.
1. Introduction
Computer networks and the Internet can be traced back to the 1960s and the late 1980s, respectively [1,2]. In the millennium era, mobile devices started to connect to the Internet via wireless/wireless networks [3], and, currently, the network connection, Internet, computer systems, websites, and mobile apps exist on multiple devices such as smart mobile phones, GPS devices, and others. Security risks represent one of the most critical challenges [4,5] that face computer systems and information technology, and access control is known as the core of security issues in the computer networks, which consists of authentication and authorization. It can allow office users to use the resources and services of the system in an authorized way and prevent illegal users from accessing the system’s resources and services. Authentication is considered an essential component to protect the system, device or application from unlawful access—either in a direct or an indirect way [4,5,6]. To begin with, there was only one factor used to authenticate the users in the system; however, this approach can be easily compromised, particularly in the case of passwords [7,8]. In general, the user tends to use the same information for the accounts on different applications such as Facebook, Skype, and Gmail. An unauthorized user has the ability to compromise the account directly, and, moreover, an attacker can also try to apply well-known attacks such as the dictionary (online/offline) [9], social engineering, and gusting to access the sources and services of the system instead of the authorized user [10]. The password authentication schemes based on a single factor should be used for the minimum password complexity to protect the user’s account from malicious attacks [11]. We discovered that the main problem is the memorizing of the password by the user.
In recent years, Two-Factor Authentication (2FA) [12,13,14] was presented for use of a second factor—such as an SMS token, token device, smart card, and biometric with the user’s account information—for resisting malicious attacks and solving the memorizing issue in password complexity [15,16,17].
While the security approaches grow in the 2FA field, attackers’ methods also increase. Although 2FA schemes are strong, they still suffer from malicious attacks including lost/stolen smart card attacks, taking a fake fingerprint from the original fingerprint, and insider attacks. There is therefore a need for a more secure and strong scheme based on the Multi-Factor Authentication (MFA) to check the validity of users. MFA represents the power source to protect the system against an unauthorized user and reduce the risks of malicious attacks. Principally, MFA consists of various factors such as biometrics (behavioral and biological characteristics), the smart mobile device, token device, and smart card. This type of authentication scheme increases the security degree and allows for the application of identification, verification, and authentication for ensuring user authority. Figure 1 demonstrates the authentication schemes. Currently, MFA is considered a vital part in many fields in the information technology world and is involved in processes such as validating the identity of the administrator of the system, IoT devices, and smart mobile devices (see Figure 2).
Figure 1.
Conceptual authentication examples.
Figure 2.
Multi-factor authentication.
The major advantage for using MFA schemes is to increase security level—“assume an adversary can get user’s password by applying malicious attacks but he faces difficulties to retrieve information of another factor” [17]. Furthermore, some MFA schemes use a token device that does not need coverage for a mobile network or the Internet.
MFA does have several drawbacks, such as forgotten/stolen mobile phone, smart card or token device, allowing illegal access to the authorized user’s accounts and extra cost for detection resources for the hardware’s maintenance centers. For that reason, our work aims to propose a strong and lightweight protocol for user authentication, based on a fuzzy extractor of fingerprints and smart mobile phone for administrators of IoT devices and server–client systems, among others. The important contributions of our proposed protocol are as follows:
- We design a secure and robust protocol for authenticating the legal administrator that can play the main role for management of IoT devices in future work or server–client systems. This work has positive features such as mutual authentication, once-secure session key for each login phase, the anonymity of password and biometric, unlinkability, and security against a stolen smart mobile device and online change of password.
- We propose an MFA protocol based on a fuzzy extractor of the user’s fingerprint, smart mobile phone and an encrypted-credential file that keeps our main factors in safe mode against malicious attacks.
- We present a security analysis of our work, and we have noted that our protocol resists the replay attacks, man-in-the-middle attacks, insider attacks, offline dictionary attacks, eavesdropping and traffic attacks.
- Consequently, we prove the proposed protocol on standard and strong security proof tool AVISPA.
- We present the comparative analysis of our proposed protocol with other related work based on security analyses and resisting well-known attacks.
The contents of this paper are as follows. Section 2 presents a related work. Section 3 describes the symbols and cryptography concepts used in our protocol. The details of our proposed protocol are outlined in Section 4. Section 5 discusses the security analysis of our protocol. Section 6 reveals the experimental results using the AVISPA tool. Section 7 refers the comparison with other related works. Section 8 concludes our research.
2. Related Work
The traditional methods of authentication are to use a PIN code, a password, etc. [18], and the password here represents knowledge management of the main factor. The researchers then added the second factor to increase the security in the form of a physical token that contributes to strengthening user authentication schemes, e.g., a smart card [19,20], and other devices such as a smartphone.
A one-time password method is used to generate one password for each user login request. This method is applied in many systems [21]; however, its main problem is repetition and it is uncontrollable. In recent years, authors have proposed MFA schemes, and they began by introducing biometrics (physical and behavioral) into authentication schemes—for instance, voice biometrics, face recognition, methods of eye recognition (iris recognition and retinal recognition), hand geometry, fingerprint, electrocardiographic (ECG) recognition, electroencephalographic (EEG) recognition, DNA recognition, etc. There was a problem with regards to biological agents, which was difficult to modify, and this caused security issues in the system.
Chen et al. [22] proposed a scheme by using two main tools: (1) secured mobile phones; and (2) fingerprint of the mobile’s user. Their work focused on capturing the front-end and back-end fingerprint recognition system in smart mobile phones. Derawi et al. [23] presented a scheme relying on cameras of smart mobile phones to obtain fingerprint images instead of a scanner device. Moreover, Sin et al. [24] suggested that a system consisted of two phases: the first one is used to build users’ templates while the second checks the validity of the user based on their template. This scheme has been applied in the commercial market since 2009. Ravi and Sivanath [25] also presented a scheme that applies a camera to obtain the user’s finger image and then computes the background and feature extraction of the fingerprint to authenticate the user.
Dhillon et al. [26] proposed a remote-user authentication protocol for the IoT with three factors—passwords, smart cards and biometrics. Park and Park [13] proposed a biometric authentication system and used a fuzzy extractor, smartcard and elliptic curve cryptosystem (ECC). Their work resists attacks and uses BAN logic to provide a mutual authentication.
However, these factors can be stolen, lost or broken, thus researchers turned to the use of smart phones, especially after they developed the ability to extract the feature of biometrics. Some authors have suggested using mobile devices in the validation process. Buschek et al. [27] provided a tapping process on the smart phone screen; since the typing pattern is unique to each person, this approach can be used as a validating agent [28,29]. Belk et al. [30] proposed a paper about the difference between conventional passwords and realistic ones in terms of efficiency and effectiveness, where the latter takes longer. Michelin et al. [31] suggested a facial and iris recognition system by using the smartphone’s camera. Jeong et al. [32] developed a scheme combining the smartphone, password, and biometric parameters of the user—creating an MFA system. Nevertheless, the disadvantage of this system is that it deals with limited security threats, and the accuracy of recognition technology based on biometric was not good. Sun et al. [33] presented a scheme based on user biometrics with smartphone information using a fuzzy extractor. This system does not store raw information for biometric measurements, thus, depending on the offline method to change the biometrics or password, it does resist some attacks.
In this paper, we propose the MFA protocol based on a fuzzy extractor of user’s fingerprint and a smart mobile phone. Our work can resist malicious attacks and has good features such as mutual authentication, once-secure session key for each login phase, the anonymity of password and biometric, unlinkability, securing against the stolen smart mobile device, and online change of password.
3. Symbols Used and Cryptography Concepts
3.1. Symbols Used
Some basic symbols are used in the search (Table 1).
Table 1.
Basic Symbols.
3.2. Cryptography Concepts
- The decisional Diffie–Hellman () key exchange protocol [34]: A and B agree on a finite cyclic group and choose a generator from them. They then choose randomly , ∊ [1, ||] and exchange and . The secret key is . To break the protocol, a passive eavesdropper, i.e., attacker (Eve), must compute the DDH function, defined as (, ) = .
- Fuzzy Extractor: The fuzzy extractor is a cryptography method for securely authenticating using biometric. Suppose a finite set is a metric space with a distance function along with an error limit, , calculated using error correction codes (Hamming distance, set difference metric, edit distance metric, etc.) [35,36]. The fuzzy extractor contains two operations i.e., Generator () and Reproduction (), with the following features:
- ○
- The operation takes a biometric ∊ of user as input and outputs a secret string ∊ , and a public string ∊ , i.e., Gen() = (,).
- ○
- The operation takes a noisy biometric ∊ of user and the public string as input and reproduces the secret string ∊ as an output, i.e., (, ) = if and only if dis (, ) ≤ .
- Hash function (MD5) [37]: The cryptographic hash function is MD5 (message digest 5). MD5 generates a 128-bit message digest of the input, which is expressed as a 32-digit hexadecimal number. MD5 hash outputs are unique even if the size of the input is different.
- Encryption/Decryption by AES algorithm [38]: The input and output for the AES algorithm contain sequences of 128 bits (digits with values of 0 or 1). These sequences are referred to as blocks and the number of bits they contain as their length. The cipher key for the AES algorithm is a sequence of 128, 192 or 256 bits. Other input, output and cipher key lengths are not permitted by this standard.
4. Our Proposed Protocol
In this section, we propose a strong multi-factor authentication protocol based on the password and the user’s fingerprint in the Internet server system and depended on an application in a smart mobile device. Our protocol includes three main elements—Authenticated Server () such as cloud service provider, Administrator (), and Smart Mobile Device ()—and is divided into four phases: registration, login, authentication, and change password. The registration phase is implemented only once, while the login and authentication phases are performed whenever needs to log into the system, and the change password phase works at the moment when wishes to change the password.
4.1. Registration Phase
During this phase, our work depends on two steps: the first is related to that manages the system while the second connects with (see Figure 3).
Figure 3.
Registration phase.
StepR1: Administrator Side:
- should be registered into , they depend on their to complete this process via mobile apps, and this step can be described in the following points:
- enters their Username (), Password (), and Fingerprint () by using a mobile app.
- After that, applies the generator function of the fuzzy extractor to extract (,) from , (,) = ().
- chooses two large prime integer numbers , ϵ and computes = * .
- generates a random integer number ϵ , computes a secret parameter = ((,), , ) and chooses a private key () (note: is used with things and users).
- After that, creates a Credential file () to save the main parameters (, , , , , ) into secretly based on = .
- uses their to send a message = (, , ) to (see Figure 3a).
StepR2: Authenticated Server Side:
Upon receiving a message from , implements the following steps:
- checks the identity of in Index File () and compares (receiving) ≟ (existing) in ; if the result is equal, has been registered in the system. Otherwise, they create a new record to save of in .
- ○
- generates a random integer number ϵ , computes = h(, , ), and adds (, ) to ’s record in , where contains sensitive information used in the next phases by .
- ○
- Based on the decisional Diffie–Hellman () assumption, generates a group () and chooses a generator from the group and a large prime number (), computes = mod and saves (, , , ) in .
- sends = (, , , , ), to (see Figure 3b).
StepR3: Administrator Side:
When the receives from , they decrypt their = and add to it. After that, they encrypt = .
4.2. Login Phase
StepL1: Administrator Side:
When wishes to log into the system, they should perform the following steps (see Figure 4):
Figure 4.
Login phase of the administrator.
- They enter Identity (), Password (), and Fingerprint () by using a mobile device to allow them to use the important parameters inside .
- applies the reproduction function of the fuzzy extractor to calculate = (,).
- decrypts = to allow to use the important parameters inside .
- verifies the authority of based on extracting important parameters from the above steps and as follows:
- ○
- computes = ((, ), , ), = mod .
- ○
- After that, compares (computing) ≟ (existing) in the credential file; if the result is false, they terminate the login phase. Otherwise, performs the following steps:
- generates a random integer number ϵ , computes = (||||).
- computes ASCII code for , = , = mod , and = (||).
- They send = (, (||), , ) to .
StepA1: Authenticated Server Side:
Upon receiving a message from , implements the following steps:
- checks time stamp − ≤ ; if the equivalent condition is not fulfilled, aborts the authentication phase. Otherwise, compares ≟ ; if they match, calculates the following steps, otherwise terminates the authentication phase.
- ○
- computes = h (||||) and applies ASCII code for , = .
- ○
- computes = mod , the session key = mod , = (||), and encrypts (||) by using :
- Finally, sends = (, , ) to .
StepA2: Administrator Side:
After receives from , computes the following steps:
- They check − ≤ ; if not equal, they abort the authentication phase. Otherwise, they verify (from ) ≟ (from ); if not equal, they terminate the authentication phase. Otherwise, they implement these steps (see Figure 5):
Figure 5. Authentication phase between authenticated server and administrator.- ○
- computes the session key = mod , from decrypts by using to retrieve (, ) = ().
- ○
- After that, checks if (from decrypted ) ≟ (from ) and (from decrypted ) ≟ (existing); if not equal, they terminate the process, otherwise they compute = (||) and encrypt (||) by using :
- Finally, sends to .
StepA3: Authenticated Server Side:
Finally, receives the message from and computes the following steps:
computes the session key = mod to decrypt to retrieve (,,) = () and check ≟ , ≟ , ≟ ; if the results are true, believes that is legitimate and can manage their devices and access to the services and resource of . Otherwise, terminates this phase.
4.3. Change Password Phase
StepCP1: Administrator Side:
When wants to change their fingerprint () and Password () to a new fingerprint () and a new Password (), the following steps are performed (see Figure 6):
Figure 6.
Change password phase.
- enters the specified , , using to log into the system.
- computes = (, ), and decrypts = to allow to use important parameters inside .
- checks of with the value stored in when is correcting, they compute = ((, ), , ), = mod and compare ≟ (existing) in ; if not equal, they terminate the password change request, otherwise they go to the next steps.
- enters the new fingerprint () and new Password () into , which computes the new values (, ) = (), = ((,), , ), = mod .
- Eventually, updates the values (,) in , encrypts = , and sends = (,(||),,).
StepCP2: Authenticated Server Side:
When receives from , follows these steps:
- AS checks − ≤ , (from ) ≟ (from ); if not equal, they terminate the request.
- AS computes new = mod , and checks (computing) ≟ (from ); if the equation is not equal, the process ends. Otherwise, they update the value of in with .
5. Security Analysis
In this part, we prove that our proposed protocol is safe and secure against well-known malicious attacks such as eavesdropping and traffic attacks. Additionally, the proposed protocol has provided robust features such as mutual authentication, password anonymity, and secure session key and we support the comparative analysis of related authentication protocols. As a result, our work has been verified based on AVISPA Tool, denoting that our protocol is secure and safe (see Table 2, Table 3, Table 4, Table 5, Table 6 and Table 7).
Table 2.
Specification of ’s role in HLPSL.
Table 3.
Specification of ’s in HLPSL.
Table 4.
Specification of proposed protocol’s session in HLPSL.
Table 5.
Specification of proposed protocol’s environment in HLPSL.
Table 6.
Specification of proposed protocol’s goal in HLPSL.
Table 7.
Security verification result obtained using the AVISPA tool.
Proposition 1.
Our protocol provides mutual authentication.
Proof.
Mutual authentication means both Administrator () and Authenticated Server () validate each other. Our protocol therefore focuses on three components (, , and ) to achieve this feature. □
In the login phase side, wants to log into the system based on their mobile device applying the following steps:
- checks the validity of ’s parameters (, , and ) by applying the fuzzy extractor function to compute = mod .
- Then, compares ≟ (existing in the credential file); if the result is false, is not authorized and terminates the login phase. Otherwise, computes = mod , = (||).
- They send = ((||), , ) to .
Upon receiving , the authentication phase is started with the first step, abd AS ensures the authority of as follows:
- checks time stamp − ≤ ; if so, they compare ≟ , and, if not a match, they ensure the is not authorized. Otherwise, they compute the following steps:computes = mod , the session key = mod , and = (||), and encrypts (||) by using :
- sends = (, , ) to .
After receives from , computes the following steps:
- They check − ≤ and (from ) ≟ (from ); if the results are not equal, they know the is unauthorized and terminate the authentication phase. Otherwise, they implement these steps:decrypts by using to retrieve (, ) = (). After that, checks (from decrypted ) ≟ (from ), (from decrypted ) ≟ (existing); if the results are equal, they terminate the process, otherwise they compute = (||) and encrypt (||) by using :
- sends to as a second factor.
Finally, retrieves the (, , ) = () and checks ≟ , ≟ and ≟ ; if the results are true, believes that is legitimate and can manage their devices and access to the services and resource of . Otherwise, terminates this phase. Therefore, our proposed protocol has mutual authentication feature in a secure manner. Table 7 explains the safety of mutual authentication in a practical sense, based on AVISPA.
Proposition 2.
Our protocol provides a once-secure session key.
Proof.
In our protocol, the session key is used between and in the login and authentication phases, which plays a vital role in the encrypting or decrypting of exchanging messages between and . The main equation to create a once-secure session key is as follows:
where is computed by based on = , = mod , and = (||). Then, sends ((||), , ) to . □
In the authenticated server side, ensures the validity information of and then retrieves = ( ) and applies the above equation depending on secret parameter . After that, they use to encrypt (||) and send (,,) to . Finally, calculates ( = mod ), where is computed by based on = , = mod , and = (||). From and decrypted , verifies the information received from . The mainly contributes to generating one for each login phase. Assuming an adversary tries to obtain , they fail to access secure parameters (, , , , , , , , and ). As a result, our proposed protocol provides a once-secure session key and the experimental results in Table 7 refer to the secrecy of .
Proposition 3.
Our protocol provides anonymity of password and biometrics.
Proof.
When the administrator starts to register in the system, they use their main parameters based on their Identity (), Password (), and Fingerprint (). They compute the following points:
- applies the generation function of the fuzzy extractor on , extracts the main values (, ) = (), generates a random integer number ϵ , and computes = ((,), , ).
- Administrator’s parameters (, ) are not saved in and while each pair of (, ) is saved in and other parameters (, , , and ) are saved as anomalous elements in to check the validity of in the login and authentication phases (where = h(, , ), = mod ). Assuming an attacker has the ability to access the main parameters (, , , , and ), the attacker cannot know the details of or as these parameters have been saved in an anomalous way and they fail to use it again to login instead of . □
Proposition 4.
Our protocol provides unlinkability.
Proof.
This feature confirms that an administrator may try multiple logins to the server to use resources/services without others being able to link these logins together [39]. In our proposed protocol, each time wants to log into the system they submit = ((||), , ) to . Thus, the primitive components of are generated once for each login phase by using the following points:
- generates a random integer number ϵ and computes = (||||).
- computes ASCII code for , = , = mod , and = (||). □
As a result, the primitive parameters of generate once and AS cannot link many logins with the same .
Proposition 5.
Our protocol is secure against stolen smart mobile devices.
Proof.
When a smart mobile device () is stolen, an attacker cannot use the unless they know the device password or biometric factor. However, assuming the attacker succeeds in obtaining the device password and accessing the application, they will not be able to use it as the application needs Identity (), Password (), and a live Fingerprint () for the account owner in the application (the authorized user). We refer that the credential file was saved in an encrypted way = . Furthermore, it is difficult to decrypt depending on the password and fingerprint of and an attacker fails to have any advantages from stolen smart mobile device. □
Proposition 6.
Our protocol is resistant to replay attacks.
Proof.
The attacker takes the information and sends it later without modification. Supposing the attacker intercepts messages = ((||), , ) and = (, , ) and tries to use it to log into the system. This login has one result that an attacker fails to use these parameters as the time is terminated and (( − ≤ ), ( − ≤ )) are not achieved and the other values (, , , and ) have been generated only once. Therefore, our protocol is safe against replay attacks. □
Proposition 7.
Our protocol is sturdy against Man-In-The-Middle (MITM) attacks.
Proof.
MITM is intercepting a conversation between the parties to the communication; the conversation appears normal for both parties, however, all the information exchanged passes through the attacker, and they can eavesdrop or modify and re-send. We assume that the attacker has obtained = ((||), , ) and modified it as = (, , ); the modified message does not work, as the verifies the that was sent by the , and finds that ( ). In addition, cannot get the value of () from . Additionally, the message is generated once for each login phase. Thus, our protocol does not allow MITM attacks. □
Proposition 8.
Our protocol is resistant to an insider attack.
Proof.
This type of attack means that an authorized person has the ability to access the system and apply some negative changes. We assume that an authorized person () wants to obtain another authorized person’s device () to access their account () or () using ()’s account in an unauthorized manner. According to our protocol, () cannot do this attack, as the application needs a live fingerprint () of the (), ensuring that the owner of the original device cannot be impersonated. In addition, the file is protected against stolen/used device as it is encrypted = with a value that requires a live fingerprint to extract (,) = (). As a result, our protocol is resistant to an insider attack. □
Proposition 9.
Our protocol is resistant to eavesdropping and traffic attacks.
Proof.
This is the process of intercepting and examining messages to extract information from them. All messages exchanged between the and are the parameters used only once (, , , , and ), thus, if the eavesdropping and traffic attacks intercept these parameters, the attackers fail to enter the system. □
- sends = ((||), , ) to .
- sends = (, , ) to .
- sends = (||) to .
Note that the messages , , and are generated once for each admin’s login request. Accordingly, our protocol is resistant to eavesdropping and traffic attacks.
Proposition 10.
Our protocol can resist the offline dictionary attack.
Proof.
The dictionary here is a list of words that attackers believe to be used by in the formulation of their password. In our protocol, collecting login’s messages does not help the attacker to predicate password. We assume that an attacker catches values during each of ’s login requests (, , , = mod , = (||)), which are generated once by , and these values cannot be used again. As a result, our protocol is resistant to an offline dictionary attack. □
Proposition 11.
Our protocol provides an online change of password.
Proof.
Our protocol allows the administrator to change their old fingerprint and old password to a new one. This is done only when there is a connection between and , where logins to the system with the old fingerprint and old password, computes = (, ), decrypts , and checks of . After that, computes , , and compares ≟ (existing) in , if not equal, they terminate the password change request; otherwise, they enter the new fingerprint (), new password () and compute the new values (, ) = (), = ((,), , ), = mod . Eventually, updates the values (, ) in , encrypts = , then send = (,(||), , ) to to update it after confirming the identity of . Therefore, our protocol provides security in the case of an insider attacker or loss of the device. □
When receives from , checks − ≤ , (from ) ≟ (from ), if not equal, they terminate the request.
AS computes new = mod , and checks (computing) ≟ (from ), if the equation is not equal, they finish the process. Otherwise, they update the value of in with .
6. Experimental Results
To implement and simulate the presented protocol on AVISPA, we focused on the main tool called Security Protocol Animator (SPAN) Version 1.6 on a computer system containing Windows 10 Enterprise operating system (64 bit), supported by Ubuntu 10.10 light on Virtual machine, Intel (R) Core (TM) i7-7500U CPU @ 2.70 GHz 2.90 GHz processor, and 8 GB RAM. We executed our proposal protocol considering a minimal number of components included in Server–Client/IoT (i.e., administrator, authentication server, and device) based on Dolev–Yao model with a restricted number of sessions, detected goal, On-the-Fly Model-Checker (OFMC) and Constraint-Logic based Attack Searcher (CL-AtSe) backend [40].
The AVISPA Tool
The AVISPA tool is one of the new techniques used to analyze and study the security of protocols used. It is a generally accepted and strong software tool for automatically authenticating (depending on push-button technique) the security characteristics of the protocols used in Server–Client/Internet of Things (see Figure 7).
Figure 7.
AVISPA Architecture.
The protocol was implemented in HLPSL (the High-Level Protocol Specification Language) language, and, after the protocol as written, a HLPSL2IF translator converted this code into an Intermediate Format (IF) [41,42]. The steps of back-ends are as follows:
- On-the-fly model-checker (OFMC)
- Constraint-logic based attack searcher (CL-AtSe)
- SAT-based model-checker (SATMC)
- Tree automata based on automatic approximation for the analysis of security protocols (TA4SP)
Based on HLPSL specification, our proposed protocol consists of:
- Transitions are defined as steps. The first basic role starts with a statement containing the beginning. This status only changes after receiving a message.
- Composed Roles contain one or more basic roles to implement together and denote the sessions involved in the protocol (see Table 4).
- Environment contains all sessions; the attacker may perform some roles as an authorized user (see Table 5).
- Security Goal defines the security objective of the protocol. Some of the goals used in this section include:
- Secret (SK’, sk, {Adm,AS}): It specifies that the information (SK’) is secretly shared with Adm and AS.
- Witness (Adm, AS, admin_authserver_ra, Ra2’): It represents the weak authenticity of Adm by AS and Adm is the witness for the data Ra2’. The identity of this goal is represented as admin_authserver_ra in the goal section.
- Request (Adm, AS, admin_authserver_m, M6’): It represents the strong authenticity of Adm by AS on M6’ with an identity admin_authserver_m.
Description of the Output of AVISPA Tool
The output created by the AVISPA tool contains the following sections (see Table 7):
- Summary: It specifies the security reliability of the protocol regarding safe, unsafe or inconclusive.
- Details: The output determines the environment and context under which the protocol is claimed to be safe, unsafe or inconclusive.
- Protocol: The name of the protocol required for documentation is written here.
- Goal: This section represents the specified security goal of the protocol.
- Backend: This section denotes one of the four back-ends.
7. Comparison with Other Related Works
7.1. Security Features
We compared the security features of our proposed protocol with some protocols from previous studies, as shown in Table 8.
Table 8.
Security features comparison.
7.2. Performance Comparisons
We compared the calculation costs of the phases (registration, login and authentication) in our proposed work with previous work (one-way cryptographic hash function (), fuzzy extractor used in biometric verification (), and symmetric key encryption/decryption ()), as shown in Table 9.
Table 9.
Computational cost comparison.
8. Conclusions
We introduce a strong multi-factor authentication protocol to authenticate an administrator system—such as the owner of things in the IoT environment—by using a fuzzy extractor of the administrator’s fingerprint, encrypted credential file, and application in the smart mobile device. We applied our proposed protocol for AVISPA and the results indicate our protocol is safe against famous attacks such as MITM, replay, and insider. The real information of the administrator’s system is saved in an anomalous way. The information of the administrator is saved as an encrypted credential file in a mobile device. In addition, in our work, the phase of changing the password in an online mode. Our proposed protocol has many security features such as mutual authentication, unlinkability, the anonymity of password and biometric, and a once-secure session key. Our protocol has the benefit to authenticate the administrator in the Internet system, owner’s devices of IoT, and cloud computing. Finally, the work can be applied using modern environments such as cloud computing and cloud service provider. We can add another biometric fingerprint or a light factor such as a SMS message.
Author Contributions
Conceptualization, A.J.M. and A.A.Y.; Supervision, A.A.Y.; Writing—original draft, A.J.M.; and Writing—review and editing, A.A.Y.
Funding
This research received no external funding.
Conflicts of Interest
The authors declare no conflict of interest.
References
- Baran, P. On Distributed Communications Networks. IEEE Trans. Commun. 1964, 12, 1–9. [Google Scholar] [CrossRef]
- Licklider, J.C.R. Memorandum for Members and Affiliates of the Intergalactic Computer Network; Technical Report; Advanced Research Projects Agency: Washington, DC, USA, 1963. [Google Scholar]
- Hsu, C.-L.; Lu, H.-P.; Hsu, H.-H. Adoption of the mobile Internet: An empirical study of multimedia message service (MMS). Omega 2007, 35, 715–726. [Google Scholar] [CrossRef]
- Atzori, L.; Iera, A.; Morabito, G. The Internet of Things: A Survey. Comput. Netw. 2010, 54, 2787–2805. [Google Scholar] [CrossRef]
- Gubbi, J.; Buyya, R.; Marusic, S.; Palaniswami, M. Internet of Things (IoT): A Vision, Architectural Elements, and Future Directions. Future Gener. Comput. Syst. 2013, 29, 1645–1660. [Google Scholar] [CrossRef]
- Mohsin, J.K.; Han, L.; Hegarty, R.; Hammoudeh, M. Two Factor vs Multi-factor, an Authentication Battle in Mobile Cloud Computing Environments. In Proceedings of the International Conference on Future Networks and Distributed Systems, Cambridge, UK, 19–20 July 2017. [Google Scholar]
- Konoth, R.K.; van der Veen, V.; Bos, H. How Anywhere Computing Just Killed Your Phone-Based Two-Factor Authentication; Springer: Berlin/Heidelberg, Germany, 2016. [Google Scholar]
- Kim, J.-J.; Hong, S.-P. A Method of Risk Assessment for Multi-Factor Authentication. J. Inf. Process. Syst. 2011, 7, 187–198. [Google Scholar] [CrossRef]
- Wang, D.; Wang, P. Offline Dictionary Attack on Password Authentication Schemes Using Smart Cards. Lect. Notes Comput. Sci. 2015, 7807, 221–237. [Google Scholar]
- Althobaiti, O.; Al-rodhaan, M.; Al-dhelaan, A. An Efficient Biometric Authentication Protocol for Wireless Sensor Networks. Int. J. Distrib. Sens. Netw. 2013, 9, 407971. [Google Scholar] [CrossRef]
- Boneh, D. The Decision Diffie-Hellman Problem. In Proceedings of the International Algorithmic Number Theory Symposium, Portland, OR, USA, 21–25 June 1998. [Google Scholar]
- Choi, Y.; Lee, Y.; Won, D. Security Improvement on Biometric Based Authentication Scheme for Wireless Sensor Networks Using Fuzzy Extraction. Int. J. Distrib. Sens. Netw. 2016, 12, 8572410. [Google Scholar] [CrossRef]
- Park, Y.; Park, Y. Three-factor user authentication and key agreement using elliptic curve cryptosystem in wireless sensor networks. Sensors 2016, 16, 2123. [Google Scholar] [CrossRef]
- Ndibanje, B.; Lee, H.-J.; Lee, S.-G. Security Analysis and Improvements of Authentication and Access Control in the Internet of Things. Sensors 2014, 14, 14786–14805. [Google Scholar] [CrossRef]
- Sun, J.; Zhang, R. TouchIn: Sightless two-factor authentication on multi-touch mobile devices. In Proceedings of the 2014 IEEE Conference on Communications and Network Security, San Francisco, CA, USA, 29–31 October 2014; pp. 436–444. [Google Scholar]
- Bruun, A.; Jensen, K.; Kristensen, D.; Nv, D.-R. Usability of Single- and Multi-Factor Authentication Methods on Tabletops: A Comparative Study. In Proceedings of the 5th IFIP WG 13.2 International Conference on Human-Centered Software Engineering, HCSE 2014, Paderborn, Germany, 16–18 September 2014; Springer: Berlin/Heidelberg, Germany, 2014. [Google Scholar]
- Ometov, A.; Bezzateev, S.; Mäkitalo, N.; Andreev, S.; Mikkonen, T.; Koucheryavy, Y. Multi-Factor Authentication: A Survey. Cryptography 2018, 2, 1. [Google Scholar] [CrossRef]
- Meixner, G. Automotive User Interfaces; Springer: Cham, Switzerland, 2017. [Google Scholar]
- 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]
- Khan, S.H.; Akbar, M.A.; Shahzad, F.; Farooq, M.; Khan, Z. Secure biometric template generation for multi-factor authentication. Pattern Recognit. 2015, 48, 458–472. [Google Scholar] [CrossRef]
- Acharya, S.A.S. Two Factor Authentication Using Smartphone Generated One Time Password. IOSR J. Comput. Eng. 2013, 11, 85–90. [Google Scholar] [CrossRef]
- Chen, X.; Tian, J.; Su, Q.; Yang, X.; Wang, F.-Y. A Secured Mobile Phone Based on Embedded Fingerprint Recognition Systems. In Proceedings of the IEEE International Conference on Intelligence and Security Informatics, ISI 2005, Atlanta, GA, USA, 19–20 May 2005; Springer: Berlin/Heidelberg, Germany, 2005; Volume 3495, pp. 549–553. [Google Scholar]
- Derawi, M.O.; Yang, B.; Busch, C. Fingerprint Recognition with Embedded Cameras on Mobile Phones. In Proceedings of the Third International ICST Conference on Security and Privacy in Mobile Information and Communication Systems, MobiSec 2011, Aalborg, Denmark, 17–19 May 2011; Springer: Berlin/Heidelberg, Germany, 2012; Volume 94, pp. 136–147. [Google Scholar]
- Sin, S.W.; Zhou, R.; Li, D.; Isshiki, T.; Kunieda, H. Narrow Fingerprint Sensor Verification with Template Updating Technique. IEICE Trans. Fundam. Electron. Commun. Comput. Sci. 2012, 95, 346–353. [Google Scholar] [CrossRef]
- Ravi, H.; Sivanath, S.K. A novel method for touch-less finger print authentication. In Proceedings of the 2013 IEEE International Conference on Technologies for Homeland Security (HST), Waltham, MA, USA, 12–14 November 2013; pp. 147–153. [Google Scholar]
- Dhillon, P.K.; Kalra, S. Secure multi-factor remote user authentication scheme for Internet of Things environments. Int. J. Commun. Syst. 2017, 30, e3323. [Google Scholar] [CrossRef]
- Shrestha, B.; Tamrakar, S.; Mohamed, M.; Saxena, N. Theft-Resilient Mobile Wallets: Transparently Authenticating NFC Users with Tapping Gesture Biometrics. In Proceedings of the 32nd Annual Conference on Computer Security Applications, Los Angeles, CA, USA, 5–8 December 2016; pp. 265–276. [Google Scholar]
- Buschek, D.; De Luca, A.; Alt, F. Improving Accuracy, Applicability and Usability of Keystroke Biometrics on Mobile Touchscreen Devices. In Proceedings of the 33rd Annual ACM Conference on Human Factors in Computing Systems—CHI ’15, Seoul, Korea, 18–23 April 2015; pp. 1393–1402. [Google Scholar]
- Buriro, A.; Crispo, B.; Del Frari, F.; Wrona, K. Touchstroke: Smartphone User Authentication Based on Touch-Typing Biometrics. In Proceedings of the ICIAP 2015 International Workshops on New Trends in Image Analysis and Processing, Genoa, Italy, 7–11 September 2015; Springer: Cham, Switzerland, 2015; Volume 9281, pp. 27–34. [Google Scholar]
- Belk, M.; Fidas, C.; Germanakos, P.; Samaras, G. Computers in Human Behavior The interplay between humans, technology and user authentication: A cognitive processing perspective. Comput. Human Behav. 2017, 76, 184–200. [Google Scholar] [CrossRef]
- Michelin, R.A.; Zorzo, A.F.; Campos, M.B.; Neu, C.V.; Orozco, A.M.S. Smartphone as a biometric service for web authentication. In Proceedings of the 11th International Conference for Internet Technology and Secured Transactions (ICITST), Barcelona, Spain, 5–7 December 2016; pp. 405–408. [Google Scholar]
- Jeong, Y.; Park, J.S.; Park, J.H. An efficient authentication system of smart device using multi factors in mobile cloud service architecture. Int. J. Commun. Syst. 2015, 28, 659–674. [Google Scholar] [CrossRef]
- Sun, J.; Zhong, Q.; Kou, L.; Wang, W.; Da, Q.; Lin, Y. A lightweight multi-factor mobile user authentication scheme. In Proceedings of the IEEE INFOCOM 2018—IEEE Conference on Computer Communications, Honolulu, HI, USA, 15–19 April 2018; pp. 831–836. [Google Scholar]
- Whitfield, D.; Martin, E.H. New Directions in Cryptography. IEEE Trans. Inf. Theory 1976, 22, 644–654. [Google Scholar]
- Dodis, Y.; Reyzin, L.; Smith, A. Fuzzy Extractors: How to Generate Strong Keys from Biometrics and Other Noisy Data. Inf. Secur. Appl. 2004, 3027, 523–540. [Google Scholar]
- Dodis, Y.; Ostrovsky, R.; Reyzin, L.; Smith, A. Fuzzy Extractors: How to Generate Strong Keys from Biometrics and other Noisy Data. SIAM J. Comput. 2008, 38, 97–139. [Google Scholar] [CrossRef]
- Sagar, F.A. Cryptographic Hashing Functions—MD5. Available online: http://cs.indstate.edu/~fsagar/doc/ paper.pdf (accessed on 7 September 2019).
- Announcing the Advanced Encryption Standard (AES); Federal Information Processing Standards (FIPS); National Institute of Standards and Technology: Gaithersburg, MD, USA, 2001.
- Pfitzmann, A.; Hansen, M. Anonymity, Unlinkability, Unobservability, Pseudonymity, and Identity Management—A Consolidated Proposal for Terminology. Available online: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.153.6354 (accessed on 7 September 2019).
- Maurya, A.K.; Sastry, V.N. Fuzzy Extractor and Elliptic Curve Based Efficient User Authentication Protocol for Wireless Sensor Networks and Internet of Things. Information 2017, 8, 136. [Google Scholar] [CrossRef]
- The AVISPA Team. HLPSL Tutorial 2006. Available online: http://www.avispa-project.org/package/tutorial.pdf (accessed on 7 September 2019).
- The AVISPA Team. AVISPA v1. 0 User Manual 2006. Available online: http://www.avispa-project.org/package/user-manual.pdf (accessed on 7 September 2019).
- León, O.; Hernández-Serrano, J.; Soriano, M. A secure and effective biometric-based user authentication scheme for wireless sensor networks using smart card and fuzzy extractor. Int. J. Commun. Syst. 2010, 23, 633–652. [Google Scholar]
- Moon, J.; Lee, D.; Lee, Y.; Won, D. Improving Biometric-Based Authentication Schemes with Smart Card Revocation/Reissue for Wireless Sensor Networks. Sensors 2017, 17, 940. [Google Scholar] [CrossRef] [PubMed]
© 2019 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).

