LAMT: Lightweight and Anonymous Authentication Scheme for Medical Internet of Things Services
Abstract
:1. Introduction
- We thoroughly analyzed the scheme proposed by Hu et al. and identified the following three issues. First, attackers can extract critical authentication values from the data transmitted by sensor nodes and over public channels in Hu et al.’s scheme. Second, these extracted values can be used to perform impersonation attacks on the sensor node. Lastly, attackers can share sessions with the user. To address these three issues, we propose a new scheme, LAMT, in this study.
- The proposed scheme does not store the information used to generate the session key on the user’s mobile device or sensor node. Thus, even if an attacker physically obtains the mobile device or sensor node, it is impossible to perform an impersonation attack.
- The proposed scheme minimizes the computation at sensor nodes by using a physically unclonable function (PUF). In the proposed scheme, a challenge–response pair of the PUF is transmitted over a private channel, and only challenges are transmitted over a public channel; thus, it is resistant to PUF modeling attacks.
- The proposed scheme ensures anonymity and untraceability by using pseudonyms that change from session to session instead of user and sensor node identities. It also ensures forward secrecy, mutual authentication, and is resistant to man-in-the-middle and PUF modeling attacks. Its security was confirmed using ProVerif, a formal security analysis tool. The proposed scheme achieved an average computational cost reduction of 985.73% when compared with the latest research [8,9,10,11] in terms of performance.
2. Related Work
3. Preliminaries
3.1. System Model
- Gateway: The gateway is a trusted entity that can know the identities of all users and sensor nodes, and all users and sensor nodes authenticate and communicate through the GWN. The GWN has powerful resources to perform complex computations.
- User: The user is a legitimate entity who has access to a patient’s medical information. The user can access patient information using mobile devices (e.g., a smartphone or tablet) with limited resources.
- Sensor node: In our scheme, the sensor node is an entity that collects the patient’s medical/health information and transmits it to the legitimate user through the GWN. The sensor node is typically a low-power device placed in or on the patient’s body.
- Basic operational hardware: support for shift registers and arithmetic logic units for hash operations and execution of XOR operation units within XOR gate arrays or arithmetic logic units (ALUs) defined by application protocols.
- Memory and storage: memory to store input data and intermediate results, ROM/flash memory to store protocol execution order and key information, and memory in the secure area to store important information.
- A secure entropy source for security: a method for generating secure random numbers used by application protocols.
- Interface for communication: providing a method for transmitting and receiving data required to implement application protocols.
3.2. Attack Model
- The attacker can intercept, delete, modify, store, and reply to any message exchanged over the public communication channel.
- The attacker can physically capture the user’s mobile device and obtain some of the security parameters stored on the device.
- The attacker can calculate the identity and password in polynomial time, but cannot gain the user’s identity, password, and information stored on the device at the same time.
- The attacker can launch multiple attempts at attacks.
3.3. Physical Unclonable Function (PUF)
- A PUF is a physically unclonable function. PUFs are fundamentally assumed to be resistant to cloning and modification. They are also assumed to be highly resistant to environmental factors and aging. In other words, an identical device cannot be made by cloning a PUF, and attempts to change a device containing a PUF will change the operation of the PUF and destroy it.
- A PUF has the property of a one-way function. In other words, the challenge cannot be found using the output response of a specific PUF.
- Different PUF1 and PUF2 output different responses and for the same challenge .
- For the same challenge , one PUF outputs the same response every time.
- When multiple PUFs are used, the probability of collision is assumed to be low, meaning devices with identical responses are highly unlikely. Therefore, PUFs can be used in IoT devices to distinguish between a large number of devices effectively.
4. Review of Hu et al.’s Scheme
4.1. Initialization Phase
4.2. Registration Phase
4.2.1. User Registration Phase
- inputs their and and then generates a random number . subsequently computes and sends the message to through a secure channel.
- After receiving the message from , sets the expiration time for the protocol. Then, using the public key of the sensor, it computes the temporary credential and . stores with hash function in the smart card that will be sent to the user and transmits it to through a secure channel.
- computes and and stores instead of storing in the smart card . Finally, contains .
4.2.2. Sensor Registration Phase
4.3. Login and Authentication Phase
- attempts to log in by entering and . Then, they generate random numbers and . After computing , proceeds to calculate , , and . Finally, sends the message to via a public channel.
- receives from and performs the following computations to authenticate : , , and . If the values match and is also correct, generates , and and then performs the following computations: , , , and . Finally, sends to through a public channel.
- receives from and performs the following computations: , , and . verifies if and then generates and . Afterward, performs the following computations: , , , , and . Finally sends to via a public channel.
- receives and performs the following computations: and . Then, verifies if and computes . Subsequently, sends to via a public channel.
- receives from and performs the following computations: , , and . Then, verifies if .
5. Limitations of Hu et al.’s Scheme
5.1. Extraction of Critical Authentication Values
5.2. Impersonation of Sensor Nodes
5.3. Illegitimate Session Key Exchange
6. Proposed Scheme
6.1. User Registration Phase
- User enters and into the mobile device and computes . Then, Ui sends the message to through a private channel.
- generates two random numbers after receiving the message from and computes . Then, it stores in the database and sends the message to through a private channel.
- generates a random number after receiving the message from , computes and , , and stores in the memory of ’s mobile device.
6.2. Sensor Node Registration Phase
- generates a random number and a challenge and sends them to the sensor node through a private channel.
- outputs the response and sends it to through a private channel.
- stores in the memory.
6.3. Authentication and Key Distribution Phase
- inputs and to the mobile device, which computes and . Then, the device verifies whether . If it does not match, the device stops the protocol; otherwise, it proceeds to the next steps. In this process, a method of limiting the maximum number of login attempts using a counter can be used to consider the case where an attacker attempts multiple logins. For example, if the counter is set to 10, if an attacker attempts to login more than 10 times, the login function on the mobile device can be locked for a certain period of time.
- generates a random number and timestamp and computes , , , , and . Subsequently, sends the message to .
- After receiving the message from , first checks the validity of the timestamp . If it is not valid, stops the protocol; otherwise, checks in the message and computes and using the information stored in the database for , then verifies whether .
- computes and checks the of .
- Then, generates the random session key and timestamp and computes and . Then, sends the message to .
- checks the validity of the timestamp . Then, outputs the response , using the challenge received from . computes and , and then verifies whether .
- generates timestamp and computes . Then, sends the message to .
- checks the validity of timestamp . If it is not valid, stops the protocol; otherwise, computes and then verifies whether .
- generates a random number and timestamp , and computes , , and . Then, sends the message to .
- Ui checks the validity of the timestamp . If it is not valid, the GWN stops the protocol; otherwise, Ui computes , , and . Then, it verifies whether .
6.4. Password Update Phase
- inputs a new password, , and computes and . sends the message to .
- computes and generates a random number . Subsequently, computes and , and sends the message to .
- computes and and generates a random number . Subsequently, computes .
- stores in the memory.
7. Security Analysis of the Proposed Scheme
7.1. Formal Security Analysis
- Query inj-event(EVENT) ==> inj-event(EVENT) is true.
- Query not attacker(K) is true.
7.2. Informal Security Analysis
7.2.1. Impersonation Attack
7.2.2. Anonymity and Untraceability
7.2.3. Replay Attack
7.2.4. Forward Secrecy
7.2.5. Mutual Authentication
7.2.6. Man-in-the-Middle Attack
7.2.7. PUF Modeling Attack
7.2.8. Denial of Service Attack
8. Performance Analysis of the Proposed Scheme
9. Discussion
10. Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Conflicts of Interest
References
- Ekambaram, D.; Ponnusamy, V. AI-assisted Physical Therapy for Post-injury Rehabilitation: Current State of the Art. IEIE Trans. Smart Process. Comput. 2023, 12, 234–242. [Google Scholar] [CrossRef]
- Gawali, V.; Pande, M.; Sayyad, M.; Bhadade, R. An Automated Drainage Vision-based Monitoring System-ADVMS: Key Component in Developing Smart Cities in India. IEIE Trans. Smart Process. Comput. 2024, 13, 215–224. [Google Scholar] [CrossRef]
- Shojaei, P.; Vlahu-Gjorgievska, E.; Chow, Y.W. Security and privacy of technologies in health information systems: A systematic literature review. Computers 2024, 13, 41. [Google Scholar] [CrossRef]
- Keshta, I.; Odeh, A. Security and privacy of electronic health records: Concerns and challenges. Egypt. Inform. J. 2021, 22, 177–183. [Google Scholar] [CrossRef]
- Mbonihankuye, S.; Nkunzimana, A.; Ndagijimana, A. Healthcare data security technology: HIPAA compliance. Wirel. Commun. Mob. Comput. 2019, 2019, 1927495. [Google Scholar] [CrossRef]
- Peng, S.; Zhao, L.; Al-Dubai, A.Y.; Zomaya, A.Y.; Hu, J.; Min, G.; Wang, Q. Secure lightweight stream data outsourcing for internet of things. IEEE Internet Things J. 2021, 8, 10815–10829. [Google Scholar] [CrossRef]
- Kumar, P.; Chouhan, L. A privacy and session key based authentication scheme for medical IoT networks. Comput. Commun. 2021, 166, 154–164. [Google Scholar] [CrossRef]
- Hu, B.; Tang, W.; Xie, Q. A two-factor security authentication scheme for wireless sensor networks in IoT environments. Neurocomputing 2022, 500, 741–749. [Google Scholar] [CrossRef]
- Wu, T.Y.; Wang, L.; Chen, C.M. Enhancing the security: A lightweight authentication and key agreement protocol for smart medical services in the ioht. Mathematics 2023, 11, 3701. [Google Scholar] [CrossRef]
- Sahoo, S.S.; Mohanty, S.; Sahoo, K.S.; Daneshmand, M.; Gandomi, A.H. A three-factor-based authentication scheme of 5G wireless sensor networks for IoT system. IEEE Internet Things J. 2023, 10, 15087–15099. [Google Scholar] [CrossRef]
- Huang, W. ECC-based three-factor authentication and key agreement scheme for wireless sensor networks. Sci. Rep. 2024, 14, 1787. [Google Scholar] [CrossRef] [PubMed]
- Ostad-Sharif, A.; Arshad, H.; Nikooghadam, M.; Abbasinezhad-Mood, D. Three party secure data transmission in IoT networks through design of a lightweight authenticated key agreement scheme. Future Gener. Comput. Syst. 2019, 100, 882–892. [Google Scholar] [CrossRef]
- Chen, C.T.; Lee, C.C.; Lin, I.C. Efficient and secure three-party mutual authentication key agreement protocol for WSNs in IoT environments. PLoS ONE 2020, 15, e0232277. [Google Scholar]
- Zhang, L.; Zhang, Y.; Tang, S.; Luo, H. Privacy protection for e-health systems by means of dynamic authentication and three-factor key agreement. IEEE Trans. Ind. Electron. 2018, 65, 2795–2805. [Google Scholar] [CrossRef]
- Aghili, S.F.; Mala, H.; Shojafar, M.; Peris-Lopez, P. LACO: Lightweight three-factor authentication, access control and ownership transfer scheme for e-health systems in IoT. Future Gener. Comput. Syst. 2019, 96, 410–424. [Google Scholar] [CrossRef]
- Amintoosi, H.; Nikooghadam, M.; Shojafar, M.; Kumari, S.; Alazab, M. Slight: A lightweight authentication scheme for smart healthcare services. Comput. Electr. Eng. 2022, 99, 107803. [Google Scholar] [CrossRef]
- Guo, H.; Gao, Y.; Xu, T.; Zhang, X.; Ye, J. A secure and efficient three-factor multi-gateway authentication protocol for wireless sensor networks. Ad Hoc Netw. 2019, 95, 101965. [Google Scholar] [CrossRef]
- Xue, L.; Huang, Q.; Zhang, S.; Huang, H.; Wang, W. A lightweight three-factor authentication and key agreement scheme for multigateway WSNs in IoT. Secur. Commun. Netw. 2021, 2021, 3300769. [Google Scholar] [CrossRef]
- Schläpfer, T.; Rüst, A. Security on IoT devices with secure elements. In Proceedings of the Embedded World Conference, Nuremberg, Germany, 26–28 February 2019. [Google Scholar]
- Blanchet, B.; Smyth, B.; Cheval, V.; Sylvestre, M. ProVerif 2.00: Automatic Cryptographic Protocol Verifier. User Man. Tutor. 2018, 16, 5–16. [Google Scholar]
- Lee, H.; Ryu, J. Physical-Unclonable-Function-based Secure and Anonymous User Authentication for Smart Homes. IEEE Access 2024, 12, 172483–172498. [Google Scholar] [CrossRef]
- Kang, T.; Woo, N.; Ryu, J. Enhanced Lightweight Medical Sensor Networks Authentication Scheme Based on Blockchain. IEEE Access 2024, 12, 35612–35629. [Google Scholar] [CrossRef]
- Kook, S.; Kim, K.; Ryu, J.; Lee, Y.; Won, D. Lightweight Hash-Based Authentication Protocol for Smart Grids. Sensors 2024, 24, 3085. [Google Scholar] [CrossRef]
- Rührmair, U.; Sölter, J.; Sehnke, F.; Xu, X.; Mahmoud, A.; Stoyanova, V.; Dror, G.; Devadas, S. PUF modeling attacks on simulated and silicon data. IEEE Trans. Inf. Forensics Secur. 2013, 8, 1876–1891. [Google Scholar] [CrossRef]
- Kim, K.; Ryu, J.; Lee, H.; Lee, Y.; Won, D. Distributed and Federated Authentication Schemes Based on Updatable Smart Contracts. Electronics 2023, 12, 1217. [Google Scholar] [CrossRef]
- He, D.; Kumar, N.; Lee, J.H.; Sherratt, R.S. Enhanced three-factor security protocol for consumer USB mass storage devices. IEEE Trans. Consum. Electron. 2014, 60, 30–37. [Google Scholar]
Notation | Description |
---|---|
i-th user, j-th sensor node | |
Medical gateway node | |
Identity, pseudonym of i-th user | |
Identity, pseudonym of j-th sensor node | |
Challenge–response pair of PUF | |
Session key | |
Random number | |
Time stamp |
Verification summary: |
Query inj-event(endUi(idu)) ==> inj-event(startUi(idu)) is true. |
Query inj-event(endGWN(idg)) ==> inj-event(startGWN(idg)) is true. |
Query inj-event(endSNj(ids)) ==> inj-event(startSNj(ids)) is true. |
Query not attacker(SK[]) is true. |
(*—-queries—-*) |
query idu:bitstring; inj-event(endUi(idu)) ==> inj-event(startUi(idu)). |
query idg:bitstring; inj-event(endGWN(idg)) ==> inj-event(startGWN(idg)). |
query ids:bitstring; inj-event(endSNj(ids)) ==> inj-event(startSNj(ids)). |
query attacker(SK). |
(*—-process—-*) |
process |
((!Ui)|(!GWN)|(!SNj)) |
(*—-channels—-*) |
free privateChannel1:channel [private]. |
free privateChannel2:channel [private]. |
free publicChannel1:channel. |
free publicChannel2:channel. |
(*—-constants—-*) |
free IDi:bitstring [private]. |
free PWi:bitstring [private]. |
free Kgu:bitstring [private]. |
free GWNd:bitstring [private]. |
free SIDj:bitstring. |
free SID:bitstring [private]. |
(*—-shared key—-*) |
free SK:bitstring [private]. |
(*—-functions—-*) |
fun concat(bitstring, bitstring):bitstring. |
fun h(bitstring):bitstring. |
fun PUF(bitstring):bitstring. |
fun xor(bitstring, bitstring):bitstring. |
equation forall p:bitstring, q:bitstring; xor(xor(p, q), q)=p. |
(*—-events—-*) |
event startUi(bitstring). |
event endUi(bitstring). |
event startGWN(bitstring). |
event endGWN(bitstring). |
event startSNj(bitstring). |
event endSNj(bitstring). |
(*—-Ui process—-*) |
let Ui = |
let Ai = h(concat(IDi, PWi)) in |
out(privateChannel1,(IDi, Ai)); |
in(privateChannel1, (XPIDi:bitstring, XKgu:bitstring, XKi:bitstring)); |
let xkeyi = xor(XKi, h(concat(Ai, XKgu))) in |
new bi:bitstring; |
let Bi = xor(Ai, bi) in |
let Vi = h(concat(IDi, bi)) in |
event startUi(IDi); |
new R1:bitstring; |
new T1:bitstring; |
let M1 = xor(R1, h(concat(concat(XPIDi, R1), T1))) in |
let M2 = h(concat(concat(XPIDi, R1), concat(XKi, T1))) in |
let TSIDj = xor(SIDj, XKi) in |
out(publicChannel1,(M1, M2, XPIDi, TSIDj, T1)); |
in(publicChannel1,(XM6:bitstring, XM7:bitstring, XM8:bitstring, XT4:bitstring)); |
let GR2 = xor(XM6, h(concat(concat(XPIDi, XKi), XT4))) in |
let GSK = xor(XM7, xor(XPIDi, h(concat(XKi, GR2)))) in |
let GM8 = h(concat(concat(GR2, GSK), XT4)) in |
if (GM8=XM8) then event endUi(IDi). |
(*—-GWN process—-*) |
let GWN = |
in(privateChannel1,(XIDi:bitstring, XAi:bitstring)); |
new keyi:bitstring; |
new PIDi:bitstring; |
let Ki = xor(keyi, h(concat(XAi, Kgu))) in |
out(privateChannel1, (PIDi, Kgu, Ki)); |
new PSIDj:bitstring; |
new Cn:bitstring; |
out(privateChannel2, (PSIDj, Cn)); |
in(privateChannel2, (XRn:bitstring)); |
event startGWN(GWNd); |
in(publicChannel1,(XM1:bitstring, XM2:bitstring, XPIDi:bitstring, XTSIDj:bitstring, XT1:bitstring)); |
let GR1 = xor(XM1, h(concat(concat(XPIDi, Ki), XT1))) in |
let GM2 = h(concat(concat(XPIDi, GR1), concat(Ki, XT1))) in |
if (XM2=GM2) then |
let SIDj = xor(XTSIDj, Ki) in |
new T2:bitstring; |
new SK:bitstring; |
let M3 = xor(SK, xor(PSIDj, h(XRn))) in |
let M4 = h(concat(concat(SK, PSIDj), concat(XRn, T2))) in |
out(publicChannel2, (M3, M4, Cn, T2)); |
in(publicChannel2, (XM5:bitstring, XT3:bitstring)); |
let GM5 = h(concat(concat(SK, h(XRn)), XT3)) in |
if (XM5=GM5) then |
new R2:bitstring; |
new T4:bitstring; |
let M6 = xor(R2, h(concat(concat(PIDi, Ki), T4))) in |
let M7 = xor(SK, xor(PIDi, h(concat(Ki, R2)))) in |
let M8 = h(concat(concat(R2, SK), T4)) in |
out(publicChannel1, (M6, M7, M8, T4)); |
event endGWN(GWNd). |
(*—-SNj process—-*) |
let SNj = |
in(privateChannel2, (XPSIDj:bitstring, XCn:bitstring)); |
let Rn = PUF(XCn) in |
out(privateChannel2, (Rn)); |
event startSNj(SID); |
in(publicChannel2, (XM3:bitstring, XM4:bitstring, XCn:bitstring, XT2:bitstring)); |
let GSK = xor(XM3, xor(XPSIDj, h(Rn))) in |
let GM4 = h(concat(concat(GSK, XPSIDj), concat(Rn, XT2))) in |
if (XM4=GM4) then |
new T3:bitstring; |
let M5 = h(concat(concat(GSK, h(Rn)), T3)) in |
out(publicChannel2, (M5, T3)); |
event endSNj(SID). |
Security Features | Wu et al. [9] | Sahoo et al. [10] | Hu et al. [8] | Wenfeng Huang [11] | Ours |
---|---|---|---|---|---|
Resist impersonation attack | O | O | X | O | O |
Provide anonymity and untraceability | O | O | O | O | O |
Resist replay attack | O | O | O | O | O |
Provide forward secrecy | O | O | O | O | O |
Provide mutual authentication | O | O | O | O | O |
Resist man-in-the-middle attack | O | O | X | O | O |
PUF modeling attack | X | X | X | X | O |
Symbol | Meaning | Time (ms) |
---|---|---|
Computation time for hash functions | ||
Extraction time of biometric information in fuzzy extractors | ||
Multiplication operation time in ECC | ||
, | Computation time for symmetric key encryption and decryption |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2025 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 (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Lee, H.J.; Kook, S.; Kim, K.; Ryu, J.; Lee, Y.; Won, D. LAMT: Lightweight and Anonymous Authentication Scheme for Medical Internet of Things Services. Sensors 2025, 25, 821. https://doi.org/10.3390/s25030821
Lee HJ, Kook S, Kim K, Ryu J, Lee Y, Won D. LAMT: Lightweight and Anonymous Authentication Scheme for Medical Internet of Things Services. Sensors. 2025; 25(3):821. https://doi.org/10.3390/s25030821
Chicago/Turabian StyleLee, Hyang Jin, Sangjin Kook, Keunok Kim, Jihyeon Ryu, Youngsook Lee, and Dongho Won. 2025. "LAMT: Lightweight and Anonymous Authentication Scheme for Medical Internet of Things Services" Sensors 25, no. 3: 821. https://doi.org/10.3390/s25030821
APA StyleLee, H. J., Kook, S., Kim, K., Ryu, J., Lee, Y., & Won, D. (2025). LAMT: Lightweight and Anonymous Authentication Scheme for Medical Internet of Things Services. Sensors, 25(3), 821. https://doi.org/10.3390/s25030821