Next Article in Journal
The Influence and Mechanism of Digital Economy on the Development of the Tourism Service Trade—Analysis of the Mediating Effect of Carbon Emissions under the Background of COP26
Next Article in Special Issue
Refined Information Service Using Knowledge-Base and Deep Learning to Extract Advertisement Articles from Korean Online Articles
Previous Article in Journal
Nutritional Characterization and Novel Use of “Copafam” Bean (Phaseolus coccineus L.) for the Sustainable Development of Mountains Areas
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Lightweight Mutual Authentication for Healthcare IoT

1
Department of Healthcare Administration and Medical Informatics, Kaohsiung Medical University, Kaohsiung 807, Taiwan
2
Department of Medical Research, Kaohsiung Medical University Hospital, Kaohsiung 807, Taiwan
3
Department of Information and Communication, Kun Shan University, Tainan 710, Taiwan
4
Department of Electrical Engineering, National Kaohsiung University of Science and Technology, Kaohsiung 807, Taiwan
*
Author to whom correspondence should be addressed.
Sustainability 2022, 14(20), 13411; https://doi.org/10.3390/su142013411
Submission received: 9 September 2022 / Revised: 7 October 2022 / Accepted: 12 October 2022 / Published: 18 October 2022

Abstract

:
“Smart medical” applications refer to the fusion of technology and medicine that connects all linked sensor equipment with the patients, including those that measure physiological signals, such as blood pressure, pulse, and ECG. In addition, these physiological signal data are highly private and should be safely protected. It takes much longer to complete authentication processes in the traditional way, either based on public key infrastructure or attribute-based encryption, which is a burden for IoT devices. Hence, on the basis of attribute-based encryption, we propose lightweight authentication to shorten the time spent on authentication. Moreover, we use the patients’ data and timestamps as seeds to generate random numbers for authentication. The experiments show that the lightweight authentication using Xeon E3-1230 computer is about 4.45 times faster than complete authentication and 5.8 times faster than complete authentication when using Raspberry Pi. Our proposal significantly improves the disadvantages of IoT devices that lack computing power.

1. Introduction

In recent years, with the advancement of information technology and the popularization of the Internet, human life has become more and more convenient and computers can easily communicate with each other through the Internet. In the early days, all messages were delivered in plaintext, which was easy for those who wanted to directly retrieve the messages and forge and modify them to achieve specific purposes. Consequently, the issue of information security has become more and more important. As a result, cryptography [1,2,3,4] plays a key role. Many scholars have proposed various encryption methods to ensure information security and that messages are safe during network communication and data exchange. However, the security of the only message is still not enough. Nowadays, the transmission of messages on the Internet requires a more effective authentication mechanism to ensure the mutual trust between sender and receiver, especially in the field of medical information where patient data has an even higher concern of privacy. For example, when doctors request patient physiological data to check from the hospital server under a complete authentication mechanism, the doctor’s identity may be forged by other interested parties to verify the legitimacy of each other through authentication.
With the development of the Internet of Things [5,6,7,8,9,10,11], 5G, and AI (artificial intelligence) technology, there have been billions of interconnected devices so far and the authentication between devices has become a new security issue [12,13,14,15,16,17,18]. According to the definition of eHealth by the World Health Organization (WHO) [19], it is mainly in the application of information technology in the medical and health fields, including medical care, disease management, public health, medical education, research, etc. Hospitals are gradually adapted to transform and deploy these applications, which can be roughly divided into three categories: mobile medical (M-health), medical information system (health IT), and wearable devices (telehealth and telemedicine). This study takes the “smart ward” (Figure 1) as an example. In the layout of the ward, all connected sensing devices are paired with patients [5,8] for real-time detection, which includes measurement of the patient’s heart beat rate, blood pressure, pulse, electrocardiography (ECG), and other related physiological signals. These data are highly private, so if there is an inadequate encryption and authentication mechanism, these data may be leaked out or used improperly.
The epidemic of COVID-19 has prompted the development of telemedicine. The physiological data of patients is usually collected using IoT devices with low computing power. However, the traditional authentication method, either based on public key infrastructure or attribute-based encryption, is a burden for IoT devices. This research includes two authentication methods. One is complete authentication, which uses attribute encryption as the main architecture. Since complete authentication is too time-consuming to be built into IoT devices with limited computing power, we propose a lightweight authentication method as the alternative authentication method without losing security requirements to make overall authentication more efficient.

2. Preliminary Research

2.1. Cryptography

Cryptography is a method of protecting information and communications through the use of codes so that only those for whom the information is intended can read and process it.
In modern cryptography, security concerns itself with the following four objectives:
  • Confidentiality: a third party should not obtain information content, only the sender and the receiver.
  • Integrity: the information cannot be altered in storage or transit between sender and intended receiver without the alteration being detected.
  • Authentication: the sender and receiver can confirm each other’s identity and the origin and destination of the information [8,10,11,12,13,14,15,16,17,18,20,21].
  • Non-repudiation: the sender of the information cannot later deny their intentions in the creation or transmission of the information.
At present, the mainstream encryption methods include “symmetric key encryption”, “asymmetric key encryption”, “identity-based encryption”, and “attribute-based encryption”.

2.2. Bilinear Pairing

In recent years, bilinear pairing has widely been used in cryptography. It refers to the corresponding linear mapping function relationship between two cyclic groups, and the set formed by all points on the elliptic curve forms the group relationship in algebraic geometry. Therefore, the operation of bilinear pairing can be applied to the elliptic curve.
A bilinear mapping e : G × G G 1 satisfies the followings properties for which P is a generator of G .
Bilinearity: e ( a P ,   b Q ) = e ( P , Q ) a b ,   P , Q   G 1 , a , b Z p * .
Non-degeneracy: If P is the generator in G 1 , then e ( P ,   P ) is also the generator of G 2 , also e ( P ,   P ) 1 .
Computability: There exists an efficient algorithm to compute e ( P ,   Q ) ,   P ,   Q   G .
Access Structure:
Let P = { P 1 , , P n } be a set of parties; a collection A   2 { P 1 , , P n } is monotone.   B ,   C   :   i f   B A   a n d   B C   t h e n   C A . An access structure (or monotone access structure) is a collection (or monotone collection) A of non-empty subsets of { P 1 , ,   P n } , i.e., A   2 { P 1 , ,   P n } \ { } . The sets in A are called the authorized sets and the sets not in A are called the unauthorized sets.
Access structure is usually used in attribute encryption. The role in the set is defined as an attribute. In our research, only the monotonic attribute structure is considered. We are only concerned with whether logic gate (AND, OR) or threshold can be constructed. As shown in Figure 2, the attributes held by Doctor A are {‘D.ID = 100572’, ‘surgery’, ‘C.R’, ‘Op.x’, ‘Op.y’}, which satisfies the formulated access structure. Doctor B holds {‘surgery’, ‘resident’, ‘Op.z’, ‘Op.c’} and other attributes but lacks part of the attribute ‘D.ID = 100,572’, and Doctor B only holds the identity of ‘resident’, which cannot satisfy the ‘C.R’ attribute, and {‘Op.z’, ‘Op.c’} does not satisfy the threshold condition. Similarly, Nurses A hold attributes, such as {‘surgery’, ‘nurse’, ‘Op.x’, ‘Op.o’}, but cannot satisfy the ‘C.R’ attribute because of the identity of ‘nurse’, and attributes {‘Op.x’, ‘Op.o’} do not satisfy the threshold conditions. Therefore, if attribute encryption is used, the access structure in Figure 2 is not satisfied, that is, it cannot be decrypted.

2.3. Random Number

In recent years, random numbers are usually used in symmetric and asymmetric encryption to generate keys through the random number generator (RNG). The RNG is divided into two kinds, one is a true random number generator (TRNG). The other is a pseudo-random number generator (PRNG). The following briefly describes the difference between TRNG and PRNG.
True random numbers [22,23,24,25,26] satisfy two conditions: randomness and unpredictability. The randomness refers to the randomness in statistical significance, that is, uncertainty. Unpredictability means that the value of the next random number cannot be guessed from the previous random number sequence. Most of the true random numbers need to rely on sophisticated instruments to generate, such as collecting electromagnetic signals in outer space or RLC oscillation circuits, and so on. The disadvantage is that the technical requirements are relatively high and the cost is very expensive. Therefore, in practical applications, pseudo-random numbers are more widely used.
The so-called pseudo-random number is generated by a function (e.g., linear congruence function). These sequences seem to be random but they are generated through a certain repeatable calculation math method. The sequence can be calculated through the function, which only satisfies the statistical characteristics of random numbers. However, this also means that if the seed is known, the same random number can be produced through the function, so it cannot meet the unpredictability in the condition of a truly random number.
For this type of PRNG, if the seed is unknown, the next output cannot be predicted even if the previous random number is known. This is forward unpredictability.
Each instance of backward unpredictability is also to be achieved. That is, the original seed value cannot be calculated through the known random number.
According to the National Institute of Standards and Technology (NIST), the detection of 15 random numbers (arbitrary length) provided in SP800-22 rev1a can detect whether the random degree of the sequence is high enough to be difficult to guess.

2.4. Public Key Infrastructure (PKI)

Public key infrastructure (PKI) [27,28] is the framework of encryption and cybersecurity that protects communications between the server (website) and the client (the users). It is a kind of asymmetric encryption, its infrastructure includes entities (Entity), certification authority (CA), register authority (RA), and verification authority (VA), as shown in Figure 3.
The certificate is a certificate application that is managed and audited by the registration center. The certificate application is sent to the certificate center and issued after processing. In the process of user credentials, the first step is to query the status of credentials from the certificate revocation list (CRL) to determine whether the credentials are still trusted or discarded for some reason. At present, Online Certificate Status Protocol (OCSP) has become mainstream for checking the credential status instead of the certificate revocation list. The certificate is checked for the correctness of the chain and itself. PKI is currently used in the field of network services and browser verification, digital signatures, data encryption, credit card transactions, etc.

2.5. Attribute-Based Encryption

Attribute-based encryption [29,30,31] was proposed by Sahai et al. in 1995 and its earliest model concept can be traced back to identity-based encryption (IBE) which was proposed by Shamir in 1984 [32]. IBE algorithm is also a kind of public-key encryption and solves the condition that a PKI and certificate management center (CA) need to be used in public-key encryption. In IBE, users can generate individual public keys based on their unique information, such as ID number, email account, mobile phone number, etc. However, whether it is IBE or PKI, the encryption of both is one-to-one encryption. That is to say, each transmission of encrypted data corresponds to a decryption key. When the data are encrypted and transmitted to others, the data must be repeatedly encrypted according to the attributes of each recipient or the public key. If there are N recipients, it must be encrypted N times. As a result, the number of keys is too large, which makes management difficult and less flexible.
However, Sahai et al. proposed fuzzy identity-based encryption [29] and this model is also considered to be the predecessor of ABE. The user defines an access policy with a threshold value when encrypting data and the encrypted ciphertext is paired with a specific attribute. When decrypting, the receiver’s compliance with the access rules is determined, according to the attribute held by the receiver, and the receiver can decrypt the data if it matches. So, ABE can be regarded as an extension of IBE. IBE is represented by identity and ABE is represented by a collection of attributes. Therefore, the emergence of ABE solves the shortcomings of IBE one-to-one encryption and the difficulty of key management. The difference between ABE and the traditional encryption system is that ABE can be one-to-many encryption. When encrypting, the access rules are added to the receiver’s attributes so that the receiver can receive it according to the possession of its private key. If the attribute set conforms to its access rules it can be decrypted. It is based on this characteristic that ABE is more flexible than IBE and PKI and it also reduces the management complexity of users or managers.
At present, attribute encryption [33] is mainly divided into ciphertext policy attribute-based encryption (CP-ABE) [34,35,36,37,38,39,40,41,42,43,44] and key policy attribute-based encryption (KP-ABE) [45,46,47,48]. The difference between the two ABE systems is that one is to pair the access rules with the private key and the other is to encrypt the access rules and messages into ciphertext.

2.5.1. Key Policy Attribute-Based Encryption (KP-ABE)

KP-ABE was proposed by Goyal et al. [30]. In this encryption system, the user sets the attributes and encrypts the plaintext to pair them. That is to say, the ciphertext is linked with a set of attributes, and the access policy is linked with the private key. The receiver decides whether to decrypt it according to the access policy paired with a private key that satisfies the attribute, as shown in Figure 4.
The algorithm is based on symmetric bilinear pairing, e : G 0 × G 0 G 1 , where the order of G 0 is a prime number p , g is a generator of G 0 , and a hash function H = { 0 , 1 } * G 0 . This encryption method is mainly divided into four stages: setup, key generation, encryption, and decryption.
Setup: Define the universe of attributes U = { 1 , 2 , , n } , Now, choose a value t i for each attribute i in U where t i Z p * , and choose a y Z p . The public key is P K = ( T 1 = g t 1 , T n = g t n , Y = e ( g , g ) y ) and the master key is M K = ( t 1 , t n , y ).
Key generation: The algorithm outputs a key that enables the user to decrypt a message encrypted under a set of attributes γ if and only if T (γ) = 1. The algorithm proceeds as follows. First, choose a polynomial p x for each node x (including the leaves) in the tree T. These polynomials are chosen in a top-down manner, starting from the root node r . For each node x in the tree, set the degree d x of the polynomial p x to be one less than the threshold value t x of that node, that is, p x = t x 1 . Now, for the root node r , set p r (0) = y. For any other node x , set p r ( 0 ) = p p a r r e n t ( x ) ( i n d e x ( x ) ) and choose d x other points randomly to completely define p x . Once the polynomials have been decided, for each leaf node x , give the following secret value to the user: D x = g p x ( 0 ) t a t t ( x )   f o r   x S .
The set of above secret values is the decryption D .
Encryption( M , γ , PK): To encrypt message M , elect a secret s where s Z p , and encrypt an attribute set γ. The ciphertext is E = ( γ ,   E = M Y S , { E i = T i S } i γ ) .
Decryption( E , D ): First, define a recursive algorithm DecryptNode( E , D , x ) for each leaf node x in the access tree:
DecryptNode ( E , D , x ) = { e ( D x , E i ) = e ( g p x ( 0 ) t i , g s t i ) = e ( g , g ) s p x ( 0 )   f o r   i = a t t ( x ) γ }
Since p x ( 0 ) = p p a r r e n t ( x ) ( i n d e x ( x ) ) , for each node x , e ( g , g ) s p x ( 0 ) is obtained by interpolation and the calculation is repeated until the root node. Finally, the root node R can be obtained:
R = { e ( D R , E i ) = e ( g p R ( 0 ) t i , g s t i ) = e ( g , g ) s p R ( 0 ) = e ( g , g ) s y = Y s }
Decryption algorithm simply divides out Y s and recovers the message M .

2.5.2. Ciphertext Policy Attribute-Based Encryption (CP-ABE)

CP-ABE which is the exact opposite of KP-ABE, was proposed by Bethencourt et al. [31]. CP-ABE means linking the access policy with the ciphertext and the private key is linked with a set of attributes. For example, the maker can customize its attribute strategy or can add the receiver’s attribute to its attribute strategy. This is “authorization”. When the receiver receives it, he can decrypt it according to whether the set of attributes possessed by his private key conforms and if it conforms to the access rules of the ciphertext pairing, as shown in Figure 5.
The algorithm is based on symmetric bilinear pairing, e : G 0 × G 0 G 1 , where the order of G 0 is a prime number p , g is a generator of G 0 , and a hash function H = { 0 , 1 } * G 0 . This encryption method is mainly divided into four stages: setup, key generation, encryption, and decryption.
Setup: The setup algorithm chooses a bilinear group G 0 of prime order p with generator g . Next, it chooses two random exponents α , β Z p . The public key is published as P K = ( G 1 , g , h = g β , f = g 1 β , e ( g , g ) α ) and the master key as M K = ( β , g α ) .
Key generation ( M K ,   S ): The key generation algorithm takes a set of attributes S as an input and outputs a key that identifies with that set. The algorithm first chooses a random r Z p and then a random r j Z p for each attribute j S . Then, it computes the key as S K = ( D = g α + r β     j S : D j = g r H ( j ) r j , D j = g r j ) .
Encryption (PK,   M , τ ): This algorithm encrypts a message M under the tree access structure τ . The algorithm first chooses a polynomial p x for each node x (including the leaves) in the tree τ . These polynomials are chosen in a top-down manner, starting from the root node R. For each node x in the tree, set the degree dx of the polynomial p x to be one less than the threshold value t x of that node, that is, t R 1 . Starting with the root node R, the algorithm chooses a random s Z p and sets p R ( 0 ) = s . Then, it randomly chooses t R other points of the polynomial p R to completely define it. For any other node x, it sets p x ( 0 ) = p p a r r e n t ( x ) ( i n d e x ( x ) ) and chooses t x 1 other points randomly to completely define p x . Let X be the set of leaf nodes in τ . The ciphertext is then constructed by giving the tree access structure τ and computing:
C T = ( τ , C ˜ = M e ( g , g ) α s , C = h s     x X : C x = g p x ( 0 ) , C x = H ( a t t ( x ) ) p x ( 0 ) )
Decryption (CT, SK): We specify our decryption procedure as a recursive algorithm. For ease of exposition, we present the simplest form of the decryption algorithm and discuss potential performance improvements in the next subsection.
First, define a recursive algorithm DecryptNode(CT, SK, x ) taken as input, a ciphertext C T = ( τ , C ˜ , C ,     x X : C x , C x ) , a private key SK, which is associated with a set S of attributes, and a node x from τ . If the node x is a leaf node, then we let i = ( a t t ( x ) ) and define it as follows: If i S , then:
D e c r y p N o d e ( C T   , S K ,   x ) = e D i ,   C x e D i ,   C x = e g r H ( i ) r i ,   g p x ( 0 ) e g r i ,   H ( i ) p x ( 0 ) = e g r H ( i ) r i ,   g p x ( 0 ) e g p x ( 0 ) ,   H ( i ) r i = e g r g p x ( 0 ) ,   g p x ( 0 ) r p x ( 0 ) e ( H ( i ) r i ,   H ( i ) r i ) = e g r g p x ( 0 ) ,   g p x ( 0 ) 1 = e ( g ,   g )
If i S :
D e c r y p N o d e ( C T ,   S K ,   x ) = o t h e r w i s e
We now consider the recursive case when x is a non-leaf node. For all nodes z that are children of x, it calls DecryptNode(CT, SK, z ) and stores the output as F z . Let S x be an arbitrary t x -sized set of child nodes z such that F z   . If no such set exists, then the node was not satisfied, so D e c r y p N o d e ( C T , S K , z ) = o t h e r w i s e :
F z = z S x F z Δ i , S x ( 0 ) ,   w h e r e   i = i n d e x ( z ) , S x = { i n d e x ( z ) : z S x } = z S x ( e ( g , g ) r p z ( 0 ) ) Δ i , S x ( 0 )   ( by   construction ) = z S x ( e ( g , g ) p p a r r e n t ( z ) ( i n d e x ( z ) ) ) Δ i , S x ( 0 ) = z S x ( e ( g , g ) r p x ( i ) ) Δ i , S x ( 0 ) = e ( g , g ) r p x ( 0 )
(Using polynomial interpolation) and return the result.
The algorithm begins by simply calling the function on the root node R of the tree τ . If the tree is satisfied by S , we set D e c r y p N o d e ( C T , S K , x ) = e ( g , g ) r p R ( 0 ) = e ( g , g ) r s ,
M = C ˜ e ( C , D ) / e ( g , g ) r s = C ˜ e ( h s , g α + r β ) / e ( g , g ) r s = C ˜ e ( g β s , g α + r β ) / e ( g , g ) r s = C ˜ e ( g , g ) s ( α + r ) / e ( g , g ) r s = C ˜ e ( g , g ) α s    

3. Proposed Scheme

In this study, there are two types of authentications: complete authentication and lightweight authentication. For complete authentication, this study uses attribute-based encryption is the main framework. Nevertheless, complete authentication takes a long time, which is a burden for IoT devices. Therefore, we propose lightweight authentication instead. Firstly, we list the hardware and software of the proposed scheme. We used two different sets of device specifications: a server-level CPU used to simulate the hospital server and attribute authorization center and Raspberry Pi 3B+ used to simulate patients’ IoT devices. In order to implement the CP-ABE algorithm, it is necessary to install PBC (pairing-based cryptography) library (version:0.5.14, San Francisco, USA, https://crypto.stanford.edu/pbc), GMP library(version: 6.2.1, Boston, USA, https://gmplib.org), M4, bison, flex, OpenSSL (version: 1.1.1k, https://www.openssl.org), libbswcpabe (version: 0.9, San Francisco, USA, https://acsc.cs.utexas.edu/cpabe), cpabe (version: 0.11, San Francisco, USA, https://acsc.cs.utexas.edu/cpabe), and other packages to construct an experimental environment. Random number detection uses NIST STS (version: 2.1.2, Gaithersburg, USA, https://csrc.nist.gov/projects/random-bit-generation/documentation-and-software). The specification differences between the two hardware devices are shown in Table 1.
The framework of the study is shown in Figure 6, and there are mainly four roles: attribute authorization center, authorizer, authorized person, and hospital server, as described in Table 2.
Chuang et al. proposed an authentication mechanism that fixed the time range in two static authentications [15]. Continuous authentication can be used between devices in this time range. Based on this concept of authentication, we improved and named the two authentication stages complete authentication and lightweight authentication. The timeline of complete authentication and lightweight authentication is shown in Figure 7.
Complete authentication uses the CP-ABE algorithm, detailed in Section 3.1. Our proposed lightweight mutual authentication is described in Section 3.2. The physiological data and timestamps of patients are used as seeds to generate random numbers in lightweight mutual authentication. The notations and definitions used in complete authentication and lightweight authentication shown in Table 3 and Table 4.
We first describe the timing of complete authentication and lightweight authentication. For the first time, both parties (patients and hospital servers) complete the authentication; however, the time range set in our study is not fixed (as shown in Figure 7). When one party does not retain the data coming from the previous authentication (complete authentication or lightweight authentication), it is impossible to generate random numbers through the physiological data as seeds and, as a result, it is impossible to carry out lightweight authentication so that the other party is required to complete the authentication again. If both parties have the data stored from the previous authentication, the lightweight authentication proposed in this study can be used within the certification time.

3.1. Complete Authentication

In our complete authentication, we take the CP-ABE algorithm proposed by Bettencourt et al. [31] and add a timestamp. Let M = ( D 1 I D p 1 | | | | D 1 I D p i | | t i m e s t a m p n ) when the plaintext data are transmitted. The complete authentication proposed in this study is divided into five stages: system initial stage, patient registration stage, key generation stage, encryption stage, and decryption stage.
  • System initial stage:
The attribute authorization center generates parameters, such as PK and SK.
  • Patient registration stage:
When a patient is admitted to the hospital, first assign I D p to the patient, secretly decide on s k p , and transmit them to the patient via a secure channel. Only the patient and the hospital server know s k p so that a third party has no right to obtain it.
Then, the attribute authorization center provides specific attribute characteristics according to the patient. For example, if a patient comes to the neurology wing of hospital A, the attribute authorization center can provide the patient with {“Hospital A”, “Neurology”, “Patient”, “Name”, “gender”, “age”...} and other attributes; if anyone needs to authorize the patient data to be viewed by other doctors or nurses, other people’s attributes can be added to the patient’s access policy to construct a new access rule so that when the other party receives encrypted data, it can be decrypted according to whether the attributes of the existing private key can match or not.
  • Key generation stage:
During this stage, the attribute authorization center generates a private key (SK) for the patient, which is paired with the patient access rules. Before the key is paired with the patient access rule, the access rule is converted into an access tree. This means inputting a set of attributes S and outputting a key that identifies with that set. The algorithm first chooses a random r Z p , and then random r j Z p for each attribute j S . Then, it computes the key as S K = ( D = g α + r β     j S : D j = g r H ( j ) r j , D j = g r j ) . After completion, the SK and patient s k p parameters are sent back to the patient side through the secure channel.
  • Encryption stage:
At this stage, after the patient has collected data over time, the physiological data can be divided into four categories: heartbeat, heart rate, blood pressure, blood oxygen, and respiration. To get a timestamp, we use the UNIX time format, for example, 12:00:00 am on 30 June 2021, which is equivalent to 1,625,025,600. The data M = ( D 1 I D p 1 | | | | D 1 I D p i | | t i m e s t a m p n ) can be used with their own private key for encryption and then the ciphertext CT is transmitted to the hospital server for storage.
  • Decryption stage:
When the hospital server receives the CT, it is directly stored in the database. The authorized person (doctor or nurse) can apply for viewing access. If the subsequent lightweight authentication is required (it can be the authorizer and the hospital authentication or the authorized person and the hospital authentication), the hospital server needs to use the private key for decryption, because the patient’s access rules have the attributes of the authorized hospital server. After decryption, use ( D 1 I D p 1 | | | | D 1 I D p i | | t i m e s t a m p n ) as the seed to conduct the lightweight authentication.

3.2. Lightweight Authentication

In lightweight mutual authentication, the physiological data and timestamps of patients are used as seeds to generate random numbers. Then, the random numbers are used to create a session key. The lightweight mutual authentication scheme is shown in Figure 8.
Patient side:
  • Stage 1
The patient data collection regularly transmits the data to the hospital server for storage. The authentication request is initiated by the patient side and the r 1 parameter is generated through the PRNG. Then, obtain s k p stored in the complete authentication, calculate X 1 = h ( s k p r 1 ) , P 1 = h ( r 1 h ( I D p ) ) h ( s k p ) , and P 2 = H M A C s k p (   I D p , X 1 , P 1 ) , and finally send I D p ,   X 1 ,   P 1 ,   P 2 to the hospital server.
  • Stage 2
When the hospital server receives the parameters I D p ,   X 1 ,   P 1 ,   P 2 it first finds the corresponding s k p according to I D p and then calculates P 2 = H M A C s k p (   I D p , X 1 , P 1 ) , and compares P 2 = P 2 . If they are not equal, it means that the transmission parameters have been tampered with or forged. Such authentication requests would be rejected. If they are equal, continue to calculate   X 1 = h ( s k p r 1 ) , P 1 = h ( r 1 h ( I D p ) ) h ( s k p ) . If X 1 = X 1 and P 1 = P 1 , that indicates that the authenticity of the patient’s identity has been confirmed.
The hospital server generates the r 2 parameter through the PRNG, calculates Y 1 = h ( r 1 ) h ( s k p r 2 ) , S 1 = h ( Y 1 h ( I D p ) ) ( s k p ) , and S 2 = H M A C s k p ( r 1 , r 2 , Y 1 , S 1 ) and determines the session key = h ( r 1 | | r 2 | | s k p | | t i m e s t a m p n ) . The t i m e s t a m p n is recorded in the previous authentication. Finally, transmit Y 1 , S 1 , S 2 to the patient.
  • Stage 3
When the patient side receives the three parameters Y 1 , S 1 , S 2 , the device calculate S 2 = H M A C s k p ( r 1 , r 2 , Y 1 , S 1 ) through the one-time key hash value and compare S 2 = S 2 . If they are not equal, it means that the transmission parameters have been tampered with or forged. This authentication request would be rejected. If they are equal, continue to calculate S 1 = h ( Y 1 h ( I D p ) ) ( s k p ) and Y 2 = h ( r 1 ) h ( s k p r 2 ) . If S 1 = S 1 and Y 1 = Y 1 , it means that the authenticity of the identity of the hospital server has been confirmed. After the patient collects the data, the device obtains the current time t i m e s t a m p n + 1 and encrypts the data set. The data have several transactions. Taking the first transaction as an example, any symmetric encryption method (such as AES, DPFSM, STFSM, or DPFSV-CML) [49,50,51,52] can be used to encrypt it with the session key, and the ciphertext I D p C 1 = E s e s s i o n   k e y ( D 1 I D p 1 | | | | D 1 I D p i | | t i m e s t a m p n + 1 ) . Let M 1 = H M A C s k d ( I D p C 1 | | | | I D p C k ) and, finally, I D p C 1 , , I D p C k , M 1 are sent to the hospital server.
Hospital server and doctor side:
  • Stage 1
The authentication request is initiated by the doctor’s side and the r 3 parameter is generated through the PRNG. Then, obtain s k d stored in the complete authentication, calculate X 2 = h ( s k d r 3 ) ,   D 1 = h ( r 3 h ( I D d ) ) h ( s k d ) , D 2 = H M A C s k d ( I D d , X 2 , D 1 ) , and get the patient I D p to apply for the patient I D p data. Finally, send I D d , I D p , X 2 , D 1 , D 2 to the hospital server.
  • Stage 2
When the hospital server receives the parameters I D d , I D p , X 2 , D 1 , D 2 , it first finds the corresponding s k d according to I D d , calculates D 2 = H M A C s k d ( I D d , X 2 , D 1 ) , and then compares D 2 = D 2 . If they are not equal, it means that the transmission parameters have been tampered with or forged. This authentication request would be rejected. If they are equal, continue to calculate   X 2 = h ( s k d r 3 ) , D 1 = h ( r 3 h ( I D d ) ) h ( s k d ) . If X 2 = X 2 and D 1 = D 1 , that indicates that the authenticity of the doctor’s identity has been confirmed.
The hospital server generates the r 4 parameter through the PRNG, calculates Y 2 = h ( r 3 ) h ( s k p r 4 ) , S 3 = h ( Y 2 h ( I D d ) ) ( s k p ) , and S 4 = H M A C s k p ( r 3 , r 4 , Y 2 , S 3 ) and determines the(a) session key = h ( r 3 | | r 4 | | s k d | | t i m e s t a m p n ) . The t i m e s t a m p n is recorded in the previous authentication. Finally, transmit Y 2 , S 3 , S 4 to the doctor.
  • Stage 3
When the patient side receives the three parameters Y 2 , S 3 , S 4 , calculate S 4 = H M A C s k p ( r 3 , r 4 , Y 2 , S 3 ) through the one-time key hash value. Compare S 4 = S 4 and if they are not equal, it means that the transmission parameters have been tampered with or forged. This authentication request would be rejected. If they are equal, continue to calculate S 3 = h ( Y 2 h ( I D d ) ) ( s k p ) and Y 2 = h ( r 3 ) h ( s k p r 4 ) . If S 3 = S 3 and Y 2 = Y 2 , it means that the authenticity of the identity of the hospital server has been confirmed.
  • Stage 4
When the doctor wants to apply for the data and the mutual authentication is completed, first, the current t i m e s t a m p n + 1 is obtained by the hospital server. According to Stage 1, the corresponding data set is found by the I D p   provided by the doctor. There are several pieces of data. Taking the first piece as an example, through the session key encryption, we derive ciphertext.
  I D p C 1 = E s e s s i o n   k e y ( D 1 I D p 1 | | | | D 1 I D p i | | t i m e s t a m p n + 1 ) .
M 2 = H M A C s k d ( I D p C 1 | | | | I D p C k ) .
Finally, I D p C 1 I D p C k ,   M 2 is transmitted to the doctor.
  • Stage 5
After the doctor receives I D p C 1 , I D p C k , M 2 , first calculate M 2 = H M A C s k d ( I D p C 1 | | | | I D p C k ) and compare M 2 = M 2 . If not equal, the transmission parameters have been altered or forged and the connection would be rejected. If equal, you can decrypt I D p C 1 using the session key and access the original data.

4. Results and Discussion

4.1. Performance Analysis

We used two different computers to simulate the equipment used by patients: Raspberry Pi 3B+ and hospital server, Xeon E3-1230. In Section 4.1.1, we compared the time consumed by the two devices in the key generation, encryption, and decryption stages of complete authentication. In Section 4.1.2, we compared the time consumption for the lightweight authentication of the two devices. Finally, in the same equipment environment, we compared the difference in the encryption stage time consumption between complete authentication and lightweight authentication.

4.1.1. Complete Authentication Performance Analysis

For the key generation stage, encryption stage, and decryption stage of complete authentication, we increased the number of attributes from 1 to 60 in each stage of the algorithm. We calculated the execution time in each stage and took the average time of 100 executions. By our observation, the attributes of a patient are about 20~30, plus about 50 attributes to be authorized to doctors or hospital servers. Therefore, we set the maximum number of attributes to 60. We compiled a time consumption diagram of the two devices at each stage in Figure 9, Figure 10, Figure 11, Figure 12, Figure 13 and Figure 14.
In Figure 9, Figure 10, Figure 11, Figure 12, Figure 13 and Figure 14, we can find that the execution time and the number of attributes grow linearly. For the Xeon E3-1230 server, the most time-consuming operation is the encryption stage (Figure 11). The number of attributes is 60, which takes 2.69 s in encryption time. In contrast, the encryption time of Raspberry Pi (Figure 12) takes 9.8 s. The difference between Xeon E3-1230 and Raspberry Pi is about 3.64 times. Under the same number of attributes (60), Xeon E3-1230 takes 1.11 s in the decryption stage (Figure 13). In contrast, the decryption time of Raspberry Pi (Figure 14) takes 6.79 s. Therefore, the decryption time between Xeon E3-1230 and Raspberry Pi is about 6.11 times. In summary, the IoT device (Raspberry Pi) with lower capacity and weak computing power takes more time for this number of indigenous attributes.
On the other hand, using Raspberry Pi to generate keys is very time-consuming (Figure 10). It takes 35 s to generate keys for 60 attributes, while Xeon E3-1230 only takes 2.8 s. The difference is 12.5 times. Therefore, it is quite time-consuming to perform complex mathematical operations, such as ECC and bilinear pairing, in the case of weak computational ability.
It was observed in this study that the computational capacity of Raspberry Pi is not strong compared to Xeon E3-1230. Whether in the encryption stage or decryption stage, the average difference is about 3.9 times. Therefore, our lightweight authentication can allow IoT devices to save more time and computing resources while being secure enough.
Next, we compared the effect of data size on the encryption and decryption time. When the number of attributes is 30, the attribute size is placed in the ordinate and the data size is placed in the abscissa. We find that the data M = ( D 1 I D p 1 | | | | D 1 I D p i | | t i m e s t a m p n ) collected every minute is about 1 KB, so the test data size increases from 1 KB to 65 KB. In Figure 15, Figure 16, Figure 17 and Figure 18, we can see that when the number of attributes is fixed, whether using Xeon E3-1230 or Raspberry Pi, the execution time of encryption and decryption is not much affected by the size of the data.

4.1.2. Lightweight Authentication Performance Analysis

In this section, we analyze patient and hospital server authentication as well as hospital server and doctor authentication using lightweight authentication. Here, we first ignored the time when the parameters are passed. We analyzed the time of T h a s h ,   T H M A C , T X O R , T E n c r p t i o n , T R a n d o m . A total of 100 experiments were carried out and the time average was taken.
We executed steps 1 to 4 with 4 T h a s h + 1 T H M A C + 3 T X O R + 1 T R a n d o m per run. For the Xeon E3-1230 server, step 2 took more time to find s k p but we ignored this because the time depends on the bandwidth of the network. It took about 16 ms to make a session key and 2.2 ms to encrypt data into ciphertext. The total time consumption for lightweight authentication is 4 × (16 × 4 + 3.6 + 0.9 × 3 + 1.6) + 16 + 2.2 = 314.2 ms. Similarly, for Raspberry Pi 3B+, it took about 41 ms to make the session key and 6.4 ms to encrypt the data into ciphertext. The total time consumption is about 4 × (41 × 4 + 8 + 7.52 × 3 + 11) + 41 + 6.4 = 869.64 ms shown in Table 5.
Under the advantages of the Xeon E3-1230 cores and multithreading, the lightweight authentication time between Xeon and Raspberry is only about 2.76 times. However, the average difference in complete authentication is 7.9 times. Therefore, the proposed lightweight authentication is indeed effective in shortening the authentication time of IoT devices.
Next, we changed the conditions to use the same device for comparison between different authentication types. We took 30 attributes, for example, when testing complete authentication. The Xeon E3-1230 server (Figure 11) took about 1400 ms for complete authentication and lightweight authentication took 314.2 ms, which is 4.45 times the difference. Raspberry Pi took about 5050 ms for complete authentication (Figure 12) and 869.64 ms for lightweight authentication, which is 5.8 times the difference. It can be seen that the disadvantage of weak computing ability in IoT devices is improved.

5. Security Analysis

In this section, we discuss the security of lightweight authentication in three parts: the first is resistance to replay attacks, the second is resistance to man-in-the-middle attacks, and the third is forward secrecy. We detail the random number results used in lightweight authentication and the security analysis of the session key.

5.1. Resistance to Replay Attacks

We assume that malicious attackers steal P 1 , S 3 , X 1 , Y 1 , and other parameters during the patient and hospital server authentication. Because these parameters are generated through random numbers r 1 , r 2 , the parameters are only valid at this authentication, and the random number of r 1 , r 2 has changed at the next authentication. Since the original stolen parameters are invalid and cannot complete the authentication, the lightweight authentication proposed in this study effectively resists the retransmission attack.

5.2. Resistance to Man-in-the-Middle Attacks

We assume that there is a malicious attack during the authentication between the patient and the hospital server and that the attacker wants to forge the identity of the hospital server to authenticate with the patient. Because it is impossible to know the initial s k p parameters, as well as the r 1 , r 2 parameters generated by the two sides through PRNG, it is impossible to produce Y 1 , S 1 , S 2 , and other parameters. Therefore, the lightweight authentication proposed in our study can effectively resist man-in-the-middle attacks.

5.3. Forward Secrecy

The purpose of forwarding secrecy is to ensure that in each lightweight authentication, the data encrypted by the session key is not inferred from the session key used in the next authentication to achieve the decryption of ciphertext data. The session key used in this study is Session Key = h ( r 1 | | r 2 | | s k p | | t i m e s t a m p n ) , which r 1 ,   r 2 , t i m e s t a m p n , and other parameters change with the indigenous time. Even if the session key is illegally obtained, the previously transmitted encrypted data cannot be unlocked. Therefore, the lightweight authentication proposed in this study meets the forward secrecy principle.

5.4. The Test Results of the Random Number

In this study, our random number is generated through the patient’s physiological data and timestamps as seeds for PRNG, based on the detection of 15 random numbers (arbitrary length) in NIST SP800-22 rev.1a, the STS 2.1.2 suite. Table 6 shows the results of testing the random numbers used in the proposed lightweight authentication.
Our study passed 11 out of 15 tests, in which Random Excursions fails to run completely due to insufficient random numbers. FFT detection tests whether the deviation of the bit stream in the random sequence is random. In general, the bit stream takes eight as a unit. If the deviation is small, it means that the block is random. Serial detection mainly refers to whether the number of combinations of all possible bit stream in the block to be tested is the same as that in the true random number. If so, it means that the block is random. For example, when the bit stream is set to 2, its combination has 00, 01, 10, and 11, and the probability of each combination needs to be equal (0.25) under the condition that these four satisfy the true random number. We speculate that the reason for failing to pass these two tests is that the random number generator by PRNG is not chaotic enough when physiological data are used as seeds, so the probability distribution in all block combinations is not uniform.

5.5. Security Analysis of Session Key

The Session Key = h ( r 1 | | r 2 | | s k p | | timestamp n ) is used in the existing AES, DPFSM, STFSM, DPFSV-CML, and other algorithms; there is a detailed analysis in the above algorithm research. The random number ( r 1 , r 2 , r 3 , r 4 ) used in the production is not completely detected by 15 items in NIST SP800-22 without the previously stored physiological data and timestamps. The random number cannot be computed in a short time and the random number is not transmitted on the network. Both sides make random numbers by themselves; it is not easy to copy the session key in a short time even if the parameters have been compromised.
Therefore, it is very difficult to brute force crack the session key that we use. Our key length is 512 bits. As of June 2022, the world’s fastest supercomputer is Frontier [53], with 8,730,112 cores, 1102.00 PFlop/s computing capacity, and 1 PFlop/s ( 10 15 floating-point operations per second). Furthermore, if the session key was brute force cracked by Frontier, the fastest computer in the world, it would take 1.217 × 10136 s (3.859082 × 10128 years). In other words, the session key used in this study is almost unlikely to be cracked when random numbers are generated through the physiological data of patients as seeds.

6. Conclusions

In this study, we mainly focused on identity authentication, data confidentiality, and integrity based on the framework of CP-ABE. According to the time cycle mechanism, it is divided into complete authentication and lightweight authentication. The complete authentication with CP-ABE is too time-consuming; hence, we propose a lightweight mutual authentication. In the complete authentication stage, we use CP-ABE to ensure the confidentiality of patient’s physiological data. In the lightweight authentication stage, we use the hash function and XOR gate so that some physiological sensing devices with lower computing ability can deal with the parameter calculation. The main contribution of our study is to use the patient’s physiological data and timestamps as seeds for random number generators for authentication.
Instead of key transmitting, both sides can correctly calculate the random number as the key themselves through the previous storage of physiological data and timestamps during the authentication period. The random number generated by PRNG does not need to transmit to the other side during the authentication period; both sides can synchronize and calculate the random number themselves. In this study, even if the intentional person steals other parameters, it would be infeasible to complete the mutual authentication because the most critical random number cannot be correctly calculated. Finally, mutual authentication is completed before encryption and decryption through the session key.
We used two different specifications of the equipment to simulate the roles represented in a real environment. The experiments show that the use of Xeon E3-1230 takes 314.2 ms in lightweight authentication time, which is about 4.45 times faster than the complete authentication. This means achieving a time-saving advantage. Using Raspberry Pi in our proposed lightweight authentication costs 869.64 ms, which is 5.8 times faster than the complete authentication. This means that it greatly improves the disadvantage of IoT devices in weak computing power without losing security. In lightweight authentication, the time cost of the two devices is only 2.76 times less, greatly reducing the hardware gap between the two devices. In summary, the lightweight certification proposed in this study has achieved the advantages of being lightweight, saving time, and reducing computational power.

Author Contributions

Conceptualization, I.-T.C. and J.-M.T.; methodology, Y.-T.C.; software, Y.-T.C.; validation, C.-H.L. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the Ministry of Science and Technology, Taiwan (Grant number MOST 111-2221-E-037 -005), the NKUST-KMU Joint Research Project (Grant number 110KK023), and the KMU Center for Big Data Research (KMU-TC111B05).

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. Stinson, D.R.; Paterson, M. Cryptography: Theory and Practice; Chapman and Hall/CRC: London, UK, 2005; pp. 1–583. [Google Scholar]
  2. Windley, P.J. Digital Identity: Unmasking Identity Management Architecture (IMA); O’Reilly Media, Inc.: Sebastopol, CA, USA, 2005. [Google Scholar]
  3. Delfs, H.; Knebl, H.; Knebl, H. Introduction to Cryptography; Springer: Berlin/Heidelberg, Germany, 2002. [Google Scholar]
  4. Goldwasser, S.; Micali, S. Probabilistic encryption & how to play mental poker keeping secret all partial information. In Proceedings of the 14th Annual ACM Symposium on Theory of Computing, San Francisco, CA, USA, 5–7 May 1982; pp. 365–377. [Google Scholar]
  5. Al-Fuqaha, A.; Guizani, M.; Mohammadi, M.; Aledhari, M.; Ayyash, M. Internet of things: A survey on enabling technologies, protocols, and applications. IEEE Commun. Surv. Tutor. 2015, 17, 2347–2376. [Google Scholar] [CrossRef]
  6. Mahmoud, R.; Yousuf, T.; Aloul, F.; Zualkernan, I. Internet of things (IoT) security: Current status, challenges and prospective measures. In Proceedings of the 2015 10th International Conference for Internet Technology and Secured Transactions (ICITST), London, UK, 14–16 December 2015; pp. 336–341. [Google Scholar]
  7. Alaba, F.A.; Othman, M.; Hashem, I.A.T.; Alotaibi, F. Internet of Things security: A survey. J. Netw. Comput. Appl. 2017, 88, 10–28. [Google Scholar] [CrossRef]
  8. Liyanage, M.; Braeken, A.; Kumar, P.; Ylianttila, M. (Eds.) IoT Security: Advances in Authentication; John Wiley & Sons: Hoboken, NJ, USA, 2020. [Google Scholar]
  9. Roman, R.; Zhou, J.; Lopez, J. On the features and challenges of security and privacy in distributed internet of things. J. Comput. Netw. 2013, 57, 2266–2279. [Google Scholar] [CrossRef]
  10. Anwar, R.W.; Bakhtiari, M.; Zainal, A.; Qureshi, K.N. A Roadmap to Wireless Sensor Security Protocols Implementation in Health Care System. In Proceedings of the 2nd International Conference on Applied Information and Communications Technology (ICAICT), Muscat, Oman, 28–29 April 2014. [Google Scholar]
  11. Porambage, P.; Schmitt, C.; Kumar, P.; Gurtov, A.; Ylianttila, M. Two-phase authentication protocol for wireless sensor networks in distributed IoT applications. In Proceedings of the 2014 IEEE Wireless Communications and Networking Conference (WCNC), Istanbul, Turkey, 6–9 April 2014; pp. 2728–2733. [Google Scholar]
  12. Khemissa, H.; Tandjaoui, D. A Lightweight Authentication Scheme for E-health applications in the context of Internet of Things. In Proceedings of the 2015 9th International Conference on Next Generation Mobile Applications, Services and Technologies, Cambridge, UK, 9–11 September 2015; pp. 90–95. [Google Scholar]
  13. Yeh, K.H.; Su, C.; Choo, K.K.R.; Chiu, W. A novel certificateless signature scheme for smart objects in the Internet-of-Things. J. Sens. 2017, 17, 1001. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  14. Bamasag, O.O.; Youcef-Toumi, K. Towards continuous authentication in internet of things based on secret sharing scheme. In Proceedings of the WESS’15: Workshop on Embedded Systems Security, Amsterdam, The Netherlands, 4–9 October 2015; pp. 1–8. [Google Scholar]
  15. Chuang, Y.H.; Lo, N.W.; Yang, C.Y.; Tang, S.W. A lightweight continuous authentication protocol for the Internet of Things. J. Sens. 2018, 18, 1104. [Google Scholar] [CrossRef] [Green Version]
  16. Atzori, L.; Iera, A.; Morabito, G. The internet of things: A survey. J. Comput. Netw. 2010, 54, 2787–2805. [Google Scholar] [CrossRef]
  17. Khemissa, H.; Tandjaoui, D. A novel lightweight authentication scheme for heterogeneous wireless sensor networks in the context of Internet of Things. In Proceedings of the 2016 Wireless Telecommunications Symposium (WTS), London, UK, 18–20 April 2016; pp. 1–6. [Google Scholar]
  18. Bellare, M.; Namprempre, C. Authenticated Encryption: Relations among Notions and Analysis of the Generic Composition Paradigm; Springer: Berlin/Heidelberg, Germany, 2008; Volume 21, pp. 469–491. [Google Scholar]
  19. World Health Organization. National eHealth Strategy Toolkit; International Telecommunication Union: Geneva, Switzerland, 2012. [Google Scholar]
  20. Joux, A.; Nguyen, K. Separating decision Diffie–Hellman from computational Diffie—Hellman in cryptographic groups. J. Cryptol. 2003, 16, 239–247. [Google Scholar] [CrossRef]
  21. Cheon, J.H. Security analysis of the strong Diffie-Hellman problem. In Advances in Cryptology—EUROCRYPT 2006; Springer: Berlin/Heidelberg, Germany, 2006; pp. 1–11. [Google Scholar]
  22. Lee, K.; Lee, S.Y.; Seo, C.; Yim, K. TRNG (True Random Number Generator) method using visible spectrum for secure communication on 5G network. IEEE Access 2018, 6, 12838–12847. [Google Scholar] [CrossRef]
  23. Chen, I.T. Random numbers generated from audio and video sources. In Mathematical Problems in Engineering; Hindawi: London, UK, 2013. [Google Scholar]
  24. Blum, M.; Micali, S. How to generate cryptographically strong sequences of pseudorandom bits. In Providing Sound Foundations for Cryptography: On the Work of Shafi Goldwasser and Silvio Micali; Association for Computing Machinery: New York, NY, USA, 2019; p. 288. [Google Scholar]
  25. Rukhin, A.; Soto, J.; Nechvatal, J.; Smid, M.; Barker, E. A Statistical Test Suite for Random and Pseudorandom Number Generators for Cryptographic Applications; Booz-Allen and Hamilton Inc.: McLean, VA, USA, 2001. [Google Scholar]
  26. McCurley, K.S. The discrete logarithm problem. Proc. Symp. Appl. Math. 1990, 42, 49–74. [Google Scholar]
  27. Chokhani, S.; Ford, W.; Sabett, R.; Merrill, C.R.; Wu, S.S. Internet X. 509 Public Key Infrastructure Certificate Policy and Certification Practices Framework, RFC 3647; Internet Engineering Task Force (IETF): Fremont, CA, USA, 2003; pp. 1–94. [Google Scholar]
  28. Cooper, D.; Santesson, S.; Farrell, S.; Boeyen, S.; Housley, R.; Polk, W. Internet X. 509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile, RFC 5280; Internet Engineering Task Force (IETF): Fremont, CA, USA, 2008; pp. 1–151. [Google Scholar]
  29. Sahai, A.; Waters, B. Fuzzy identity-based encryption. In Advances in Cryptology—EUROCRYPT 2005; Springer: Berlin/Heidelberg, Germany, 2005; pp. 457–473. [Google Scholar]
  30. Goyal, V.; Pandey, O.; Sahai, A.; Waters, B. Attribute-based encryption for fine-grained access control of encrypted data. In Proceedings of the 13th ACM Conference on Computer and Communications Security, Alexandria, VA, USA, 30 October–3 November 2006; pp. 89–98. [Google Scholar]
  31. Bethencourt, J.; Sahai, A.; Waters, B. Ciphertext-policy attribute-based encryption. In Proceedings of the 2007 IEEE Symposium on Security and Privacy, Berkeley, CA, USA, 20–23 May 2007; pp. 321–334. [Google Scholar]
  32. Shamir, A. Identity-based cryptosystems and signature schemes. In Workshop on the Theory and Application of Cryptographic Techniques; Springer: Berlin/Heidelberg, Germany, 1984; pp. 47–53. [Google Scholar]
  33. Farrell, S.; Housley, R.; Turner, S. An Internet Attribute Certificate Profile for Authorization, RFC 3281; 2010; pp. 1–50. Available online: https://datatracker.ietf.org/doc/rfc3281/ (accessed on 8 October 2022).
  34. Guo, L.; Zhang, C.; Sun, J.; Fang, Y. A privacy-preserving attribute-based authentication system for mobile health networks. IEEE Trans. Mob. Comput. 2013, 13, 1927–1941. [Google Scholar] [CrossRef]
  35. Guo, F.; Mu, Y.; Susilo, W.; Wong, D.S.; Varadharajan, V. CP-ABE with constant-size keys for lightweight devices. IEEE Trans. Inf. Forensics Secur. 2014, 9, 763–771. [Google Scholar]
  36. Ding, S.; Li, C.; Li, H. A novel efficient pairing-free CP-ABE based on elliptic curve cryptography for IoT. IEEE Access 2018, 6, 27336–27345. [Google Scholar] [CrossRef]
  37. Hwang, Y.W.; Lee, I.Y. A Study on CP-ABE-Based Medical Data Sharing System with Key Abuse Prevention and Verifiable Outsourcing in the IoMT Environment. J. Sens. 2020, 20, 4934. [Google Scholar] [CrossRef] [PubMed]
  38. Ambrosin, M.; Anzanpour, A.; Conti, M.; Dargahi, T.; Moosavi, S.R.; Rahmani, A.M.; Liljeberg, P. On the feasibility of attribute-based encryption on internet of things devices. IEEE Micro 2016, 36, 25–35. [Google Scholar] [CrossRef] [Green Version]
  39. Chow, S.S. A framework of multi-authority attribute-based encryption with outsourcing and revocation. In Proceedings of the 21st ACM on Symposium on access Control Models and Technologies, Shanghai, China, 6–8 June 2016; pp. 215–226. [Google Scholar]
  40. Li, Q.; Zhu, H.; Ying, Z.; Zhang, T. Traceable ciphertext-policy attribute-based encryption with verifiable outsourced decryption in ehealth cloud. Wirel. Commun. Mob. Comput. 2018, 2018, 1–12. [Google Scholar] [CrossRef] [Green Version]
  41. Li, J.; Yao, W.; Han, J.; Zhang, Y.; Shen, J. User collision avoidance CP-ABE with efficient attribute revocation for cloud storage. IEEE Syst. J. 2017, 12, 1767–1777. [Google Scholar] [CrossRef]
  42. Wang, C.; Li, W.; Li, Y.; Xu, X. A ciphertext-policy attribute-based encryption scheme supporting keyword search function. In International Symposium on Cyberspace Safety and Security; Springer: Cham, Switzerland, 2013; pp. 377–386. [Google Scholar]
  43. Wang, Q.; Peng, L.; Xiong, H.; Sun, J.; Qin, Z. Ciphertext-policy attribute-based encryption with delegated equality test in cloud computing. IEEE Access 2017, 6, 760–771. [Google Scholar] [CrossRef]
  44. Padhya, M.; Jinwala, D. A novel approach for searchable CP-ABE with hidden ciphertext-policy. In International Conference on Information Systems Security; Springer: Cham, Switzerland, 2014; pp. 167–184. [Google Scholar]
  45. Zhu, H.; Wang, L.; Ahmad, H.; Niu, X. Key-policy attribute-based encryption with equality test in cloud computing. IEEE Access 2017, 5, 20428–20439. [Google Scholar] [CrossRef]
  46. Surya, V.; Mayan, J.A. A Secure Data Sharing Mechanism In Dynamic Cloud By Using KP-ABE. Res. J. Pharm. Technol. 2017, 10, 83–86. [Google Scholar] [CrossRef]
  47. Attrapadung, N.; Libert, B.; de Panafieu, E. Expressive key-policy attribute-based encryption with constant-size ciphertexts. In International Workshop on Public Key Cryptography; Springer: Berlin/Heidelberg, Germany, 2011; pp. 90–108. [Google Scholar]
  48. Touati, L.; Challal, Y. Collaborative kp-abe for cloud-based internet of things applications. In Proceedings of the 2016 IEEE International Conference on Communications (ICC), Kuala Lumpur, Malaysia, 22–27 May 2016; pp. 1–7. [Google Scholar]
  49. NIST. Advanced Encryption Standard(AES). Available online: https://www.nist.gov/publications/advanced-encryption-standard-aes (accessed on 8 October 2022).
  50. Xian, Y.; Wang, X.; Teng, L. Double Parameters Fractal Sorting Matrix and Its Application in Image Encryption. IEEE TCSVT 2022, 32, 4028–4037. [Google Scholar] [CrossRef]
  51. Xian, Y.; Wang, X.; Wang, X.; Li, Q.; Yan, X. Spiral-Transform-Based Fractal Sorting Matrix for Chaotic Image Encryption. IEEE TCS I 2022, 69, 3320–3327. [Google Scholar] [CrossRef]
  52. Xian, Y.; Wang, X.; Teng, L.; Yan, X.; Li, Q.; Wang, X. Cryptographic system based on double parameters fractal sorting vector and new spatiotemporal chaotic system. Inf. Sci. 2022, 596, 304–320. [Google Scholar] [CrossRef]
  53. Top500. Fugaku Holds Top Spot, Exascale Remains Elusive. Available online: https://www.top500.org/lists/top500/2022/06 (accessed on 28 July 2022).
Figure 1. Smart ward layout.
Figure 1. Smart ward layout.
Sustainability 14 13411 g001
Figure 2. Schematic diagram of access structure.
Figure 2. Schematic diagram of access structure.
Sustainability 14 13411 g002
Figure 3. PKI architecture.
Figure 3. PKI architecture.
Sustainability 14 13411 g003
Figure 4. Key policy attribute-based encryption.
Figure 4. Key policy attribute-based encryption.
Sustainability 14 13411 g004
Figure 5. Ciphertext policy attribute-based encryption.
Figure 5. Ciphertext policy attribute-based encryption.
Sustainability 14 13411 g005
Figure 6. Proposed scheme framework.
Figure 6. Proposed scheme framework.
Sustainability 14 13411 g006
Figure 7. Complete authentication and lightweight authentication through the timeline.
Figure 7. Complete authentication and lightweight authentication through the timeline.
Sustainability 14 13411 g007
Figure 8. IoT devices and their role in handling light weight authentication.
Figure 8. IoT devices and their role in handling light weight authentication.
Sustainability 14 13411 g008
Figure 9. Key generation time of Xeon E3.
Figure 9. Key generation time of Xeon E3.
Sustainability 14 13411 g009
Figure 10. Key generation time of Raspberry Pi.
Figure 10. Key generation time of Raspberry Pi.
Sustainability 14 13411 g010
Figure 11. Encryption time of Xeon E3.
Figure 11. Encryption time of Xeon E3.
Sustainability 14 13411 g011
Figure 12. Encryption time of Raspberry Pi.
Figure 12. Encryption time of Raspberry Pi.
Sustainability 14 13411 g012
Figure 13. Decryption time of Xeon E3.
Figure 13. Decryption time of Xeon E3.
Sustainability 14 13411 g013
Figure 14. Decryption time of Raspberry Pi.
Figure 14. Decryption time of Raspberry Pi.
Sustainability 14 13411 g014
Figure 15. Number of 30 attributes’ encryption times. (Xeon E3-1230).
Figure 15. Number of 30 attributes’ encryption times. (Xeon E3-1230).
Sustainability 14 13411 g015
Figure 16. Number of 30 attributes’ encryption times. (Raspberry Pi).
Figure 16. Number of 30 attributes’ encryption times. (Raspberry Pi).
Sustainability 14 13411 g016
Figure 17. Number of 30 attributes’ decryption times. (Xeon E3-1230).
Figure 17. Number of 30 attributes’ decryption times. (Xeon E3-1230).
Sustainability 14 13411 g017
Figure 18. Number of 30 attributes’ decryption times. (Raspberry Pi).
Figure 18. Number of 30 attributes’ decryption times. (Raspberry Pi).
Sustainability 14 13411 g018
Table 1. Hardware specifications.
Table 1. Hardware specifications.
Server-Level CPUIoT Devices
CPUIntel(R) Xeon(R) CPU E3-1230 v3ARM Cortex-A53
GPUNVIDIA GT 630Broadcom Video Core IV
RAM12 GB1 GB
HD500 GB32 GB
OSUbuntu 18.04.5LTSRaspbian OS
Table 2. The role introduction.
Table 2. The role introduction.
NameExplanation
Attribute authorization center Manage the attribute set of the authorized person and assigns the attribute to the authorized person.
AuthorizerPatient, encrypt data and send it to the hospital server store
Authorized personDoctor or nurse can access physiological data as the authorized person
Hospital serverStore data and provide access to doctors and nurses
Table 3. The notations and definitions used in complete authentication.
Table 3. The notations and definitions used in complete authentication.
NotationDefinitionNotationDefinition
I D p The identity of patient s k p The secret value of patient
I D d The identity of doctor
M K Master key>> A right shift operation
P K Public key A bitwise exclusive-or operation
S K Secret key||A concatenation operation
e ( g , g ) bilinear pairing t i m e s t a m p timestamp
M plaintext C T ciphertext
Table 4. The notations and definitions used in lightweight authentication.
Table 4. The notations and definitions used in lightweight authentication.
NotationDefinitionNotationDefinition
I D p The identity of patient M 1 , M 2 Hmac value
I D d The identity of doctor A bitwise exclusive-or operation
P 1 , P 2 Intermediate variables by patient||A concatenation operation
D 1 , D 2 Intermediate variables by doctor t i m e s t a m p timestamp
S 1 , S 2 , S 3 , S 4 Intermediate variables by hospital server H M A C s k p , H M A C s k d Hash-based message authentication code function
s k p , s k d The secret value h ( ) Hash function
X 1 , Y 1 ,   X 2 , Y 2 Authentication parameters r 1 , r 2 , r 3 , r 4 Random number by PRNG
I D p C 1 ciphertextSession keySession key
Table 5. Xeon E3-1230 server and Raspberry Pi 3B+ time in lightweight authentication.
Table 5. Xeon E3-1230 server and Raspberry Pi 3B+ time in lightweight authentication.
ExplanationXeon E3-1230Raspberry Pi 3 B+
T h a s h S H A 3 hash operation16 ms41 ms
T H M A C Hash-based message authentication3.6 ms8 ms
T X O R X O R 0.9 ms7.52 ms
T E n c r p t i o n Encrypt with session key2.2 ms6.4 ms
T R a n d o m random number generator1.6 ms11 ms
Table 6. NIST SP800-22 15 random number test results.
Table 6. NIST SP800-22 15 random number test results.
Result Result
FrequencyPASSOverlapping TemplatePASS
Block FrequencyPASSUniversal StatisticalPASS
Cumulative SumsPASSApproximate EntropyPASS
RunsPASSSerialFAIL
Longest-Run-of-OnesPASSLinear ComplexityPASS
Binary Matrix RankPASSRandom ExcursionsInsufficient number of cycles
FFTFAILRandom Excursions VarianInsufficient number of cycles
Non-overlapping TemplatePASS
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Chen, I.-T.; Tsai, J.-M.; Chen, Y.-T.; Lee, C.-H. Lightweight Mutual Authentication for Healthcare IoT. Sustainability 2022, 14, 13411. https://doi.org/10.3390/su142013411

AMA Style

Chen I-T, Tsai J-M, Chen Y-T, Lee C-H. Lightweight Mutual Authentication for Healthcare IoT. Sustainability. 2022; 14(20):13411. https://doi.org/10.3390/su142013411

Chicago/Turabian Style

Chen, I-Te, Jer-Min Tsai, Yin-Tung Chen, and Chung-Hong Lee. 2022. "Lightweight Mutual Authentication for Healthcare IoT" Sustainability 14, no. 20: 13411. https://doi.org/10.3390/su142013411

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