APSec1.0: Innovative Security Protocol Design with Formal Security Analysis for the Artificial Pancreas System
<p>An exemplary illustration of the Artificial Pancreas System.</p> "> Figure 2
<p>Proposed protocol for secure communication of APS.</p> "> Figure 3
<p>Architecture of AVISPA.</p> "> Figure 4
<p>AVISPA results of the proposed security protocol.</p> "> Figure 5
<p>AVISPA protocol simulation.</p> "> Figure 6
<p>Experimental emulation for the APS.</p> "> Figure 7
<p>Comparison of two protocols on Arduino Nano 33.</p> ">
Abstract
:1. Introduction
- Designing an innovative security protocol to establish tripartite authentication and construct a secure channel between the involved devices of the APS.
- Formally verifying satisfaction with vital security services as well as the correctness of the proposed protocol.
- Comparing the protocol with existing IoT-intended protocol and well-known security standards in terms of security requirements, computation, and communication overheads.
- Demonstrating the feasibility of the protocol through emulation in a controlled environment using commercial off-the-shelf devices.
2. Related Works
3. Proposed Protocol
3.1. Security Requirement
3.2. Assumptions
- The security protocol proposed in this paper is designed based on the APS.
- The security protocol proposed in this paper is the communication of three participants, CGM, Controller (CONT), and Insulin Pump (IP).
- The protocol proposed in this paper communicates through an open wireless channel.
- CGM and IP share their passcode safely with CONT.
- Emergency situation means a situation where the CONT cannot communicate normally with CGM or IP for any reason.
3.3. Proposed Protocol
3.3.1. Registration Phase
- (R1)
- After sharing passcodes and generating ECDHE key pairs, CGM generates and transmits a random nonce () to trigger a connection with CONT.
- (R2)
- Upon receiving the message sent by CGM, CONT sends a response message that includes a session identifier () indicating the current session, the ECDHE public key () generated in (R1), a fresh nonce () received from CGM, and a newly generated random number () is included in the message. The message in this step can be protected by the message authentication code () generated using CGM’s passcode () by computing .
- (R3)
- CGM first checks HM1 in the message the CONT sends and, if valid, creates a new random number (). After that, CGM calculates the ECDHE secret key () using the CONT’s ECDHE public key () and its own ECDHE private key (Y). Furthermore, the session key () will be calculated with the ECDHE secret key () and random numbers ( and ) of CGM and CONT. To protect the messages in this step, CGM includes message authentication codes ( and ) in the outgoing message, which are protected by and , respectively. Upon receiving this, CONT checks first, and if it is valid, it calculates the ECDHE session key () by combining the CGM’s ECDHE public key () and random numbers. Finally, is checked with the ECDHE session key to verify that the same key was exchanged securely with the CGM. and is calculated as , , separately.
- (R4)–(R6)
- In steps (R4) to (R6), steps (R1) to (R3) described above are equally performed between the IP and the CONT. Through steps (R4) to (R6), IP and CONT satisfy mutual authentication and securely exchange the ECDHE session key (). The message authentication codes , , and are calculated as , , , separately.
- (R7)
- When the CONT completes authentication with CGM and IP, it sends the IP’s ECDHE public key to CGM. The transmission message is protected by the included message authentication code () and the ECDHE Session Key () between CGM and CONT. is calculated as .
- (R8)
- Contrary to the above, CONT sends the CGM’s ECDHE public key to IP. The message in this step also is protected by the message authentication code () and the ECDHE Session Key () between IP and CONT. is calculated as .
3.3.2. Communication Phase
- (C1)
- If CGM and IP have successfully generated session keys (, ) with the CONT during the Registration phase, the Communication phase can be initiated. CGM is a device that monitors the user’s blood glucose, and the blood glucose information should be treated as sensitive personal information. Therefore, CGM encrypts the Blood Glucose Level (BGL) using the session key () agreed upon with CONT and sends it to CONT.
- (C2)
- Once CONT receives the BGL from CGM, it calculates the appropriate insulin dosage for the user’s blood glucose and generates a command for it. Then, it encrypts the generated command and insulin dosage (CMD, dose) using the session key () agreed upon with IP and sends it to IP.
- (C3)
- IP administers insulin to the user based on the received command (CMD) and insulin dosage (dose) from the Controller. After administering the insulin, IP generates a message that includes information such as the Insulin on Board (IoB) and the remaining insulin in the device. The message is then encrypted using the session key () and sent to CONT for reporting.
3.3.3. Emergency Phase
- (E1)–(E3)
- IP periodically encrypts and sends Heartbeat messages to CONT to check if it is functioning properly. If CONT is usually working, it can send a response message to IP when it receives the Heartbeat message. On the other hand, when the communication between CONT and IP is disconnected due to mechanical or communication failure, CONT cannot deliver the response message for the Heartbeat message. At this point, IP detects Emergency Trigger and starts the Emergency phase.
- (E4)
- To notify CGM that the Emergency phase has begun, IP sends the session identifier () used in Registration and the warning message (Alert) to CGM. At this stage, IP and CGM calculate the emergency session key ). The emergency session key ) is generated using the mutual ECDHE public keys transmitted by the CONT in steps (R7) and (R8) of the Registration phase, their own ECDHE private key, and nonce values.
- (E5)
- CGM generates an Emergency Request message that includes the session identifier () and the user’s blood glucose level (BGL), which is encrypted with the emergency session key (), and sends it to IP. IP administers the required insulin dose based on the received BGL and a predetermined critical value, and then encrypts the Emergency Response message with the emergency session key () that includes the session identifier () and sends it to CGM.
4. Formal Verification
4.1. BAN Logic
4.1.1. Idealization
4.1.2. Assumptions
4.1.3. Goals
4.1.4. Derivation
4.2. AVISPA
4.3. Discussion
4.3.1. Security Analysis
4.3.2. Overhead Analysis
5. Experiment
6. Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Conflicts of Interest
References
- Astillo, P.V.; Jeong, J.; Chien, W.C.; Kim, B.; Jang, J.; You, I. SMDAps: A specification-based misbehavior detection system for implantable devices in artificial pancreas system. J. Internet Technol. 2021, 22, 1–11. [Google Scholar]
- Yoo, J.H.; Kim, J.H. Advances in Continuous Glucose Monitoring and Integrated Devices for Management of Diabetes with Insulin-Based Therapy: Improvement in Glycemic Control. Diabetes Metab. J. 2023, 47, 27–41. [Google Scholar] [PubMed]
- Artificial Pancreas Device Systems (APDS) Market: Global Industry Trends, Share, Size, Growth, Opportunity and Forecast 2022–2027; IMARC: Brooklyn, NY, USA, 2021.
- Gotadki, R. Artificial Pancreas Device System Market. 2023. Available online: https://www.marketresearchfuture.com/reports/artificial-pancreas-device-system-market-6671 (accessed on 17 March 2023).
- Hassija, V.; Chamola, V.; Bajpai, B.C.; Naren; Zeadally, S. Security issues in implantable medical devices: Fact or fiction? Sustain. Cities Soc. 2021, 66, 102552. [Google Scholar] [CrossRef]
- Tabasum, A.; Safi, Z.; AlKhater, W.; Shikfa, A. Cybersecurity Issues in Implanted Medical Devices. In Proceedings of the 2018 International Conference on Computer and Applications (ICCA’18), Beirut Lebanon, 25–26 August 2018; pp. 1–9. [Google Scholar]
- Pycroft, L.; Aziz, T.Z. Security of implantable medical devices with wireless connections: The dangers of cyber-attacks. Expert Rev. Med Devices 2018, 15, 403–406. [Google Scholar] [CrossRef] [PubMed]
- Lazaro, C.; Oruklu, E.; Cinar, A. Security challenges and solutions for closed-loop artificial pancreas systems. In Proceedings of the2017 IEEE 60th International Midwest Symposium on Circuits and Systems (MWSCAS’17), Boston, MA, USA, 6–9 August 2017; pp. 1097–1100. [Google Scholar]
- Cybersecurity in Medical Devices: Quality System Considerations and Content of Premarket Submissions Draft Guidance for Industry and Food and Drug Administration Staff; Technical report; US Food and Drug Administration: Silver Spring, MD, USA, 2022.
- Content of Premarket Submissions for Management of Cybersecurity in Medical Devices: Guidance for Industry and Food and Drug Administration Staff; Technical report; US Food and Drug Administration: Silver Spring, MD, USA, 2014.
- Astillo, P.V.; Duguma, D.G.; Park, H.; Kim, J.; Kim, B.; You, I. Federated intelligence of anomaly detection agent in IoTMD-enabled Diabetes Management Control System. Future Gener. Comput. Syst. 2022, 128, 395–405. [Google Scholar] [CrossRef]
- Astillo, P.V.; Duguma, G.C.D.G.; Kim, J.; You, I. TrMAps: Trust Management in Specification-Based Misbehavior Detection System for IMD-Enabled Artificial Pancreas System. IEEE J. Biomed. Health Inform. 2021, 25, 3763–3775. [Google Scholar] [CrossRef] [PubMed]
- Wu, L.; Chi, H.; Du, X. A Secure Proxy-based Access Control Scheme for Implantable Medical Devices. arXiv 2018, arXiv:1803.07751. [Google Scholar]
- Chi, H.; Wu, L.; Du, X.; Zeng, Q.; Ratazzi, P. e-safe: Secure, efficient and forensics-enabled access to implantable medical devices. In Proceedings of the 2018 IEEE Conference on Communications and Network Security (CNS’18), Beijing, China, 30 May–1 June 2018; pp. 1–9. [Google Scholar]
- Duttagupta, S.; Marin, E.; Singelee, D.; Preneel, B. HAT: Secure and Practical Key Establishment for Implantable Medical Devices. In Proceedings of the 13th ACM Conference on Data and Application Security and Privacy (CODASPY’23), Charlotte, NC, USA, 24–26 April 2023; pp. 1–14. [Google Scholar]
- Duguma, D.G.; Astillo, P.V.; Gebremariam, Y.E.; Kim, B.; You, I. Comparative Analysis of Bluetooth LE and EDHOC for Potential Security Protocol in Artificial Pancreas System. In Proceedings of the 2021 International Symposium on Mobile Internet Security (MobiSec’21), Jeju, Republic of Korea, 7–9 October 2021; pp. 30–43. [Google Scholar]
- Rescorla, E. The Transport Layer Security (TLS) Protocol Version 1.3. Internet Engineering Task Force, RFC 8446. 2018. Available online: https://datatracker.ietf.org/doc/html/rfc8446 (accessed on 28 April 2023).
- Dowling, B.; Fischlin, M.; Günther, F.; Stebila, D. A Cryptographic Analysis of the TLS 1.3 Handshake Protocol. In Proceedings of the 22nd ACM SIGSAC Conference on Computer and Communications Security (CCS’15), Denver, CO, USA, 12–16 October 2015; pp. 1197–1210. [Google Scholar]
- Burrows, M.; Abadi, M.; Needham, R.M. A logic of authentication. ACM Trans. Comput. Syst. 1990, 8, 18–36. [Google Scholar] [CrossRef]
- Armando, A.; Basin, D.; Boichut, Y.; Chevalier, Y.; Compagna, L.; Cuellar, J.; Drielsma, P.H.; Heám, P.; Kouchnarenko, O.; Mantovani, J.; et al. The AVISPA Tool for the Automated Validation of Internet Security Protocols and Applications. In Proceedings of the 17th International Conference on Computer Aided Verification (CAV’05), Edinburgh, Scotland, UK, 6–10 July 2005; Volume 3576, pp. 281–285. [Google Scholar]
- Boyd, C.; Mao, W. On a limitation of BAN logic. In Proceedings of the 1993 Workshop on the Theory and Application of Cryptographic Techniques (EUROCRYPT’93), Lofthus, Norway, 23–27 May 1993; Volume 765, pp. 240–247. [Google Scholar]
- Meadows, C.A. Formal verification of cryptographic protocols: A survey. In Proceedings of the 4th International Conference on the Theory and Applications of Cryptology (ASIACRYPT’94), Wollongong, Australia, 28 November–1 December 1994; pp. 135–150. [Google Scholar]
- Chevalier, Y.; Compagna, L.; Cuellar, J.; Drieslma, P.H.; Mantovani, J.; Mödersheim, S.; Vigneron, L. A High Level Protocol Specification Language for Industrial Security-Sensitive Protocols. In Proceedings of the 2004 Workshop on Specification and Automated Processing of Security Requirements (SAPS’04), Linz, Austria, 20–25 September 2004; pp. 193–205. [Google Scholar]
Notation | Meaning |
---|---|
CGM | Continuous Glucose Monitoring |
CONT | Controller |
IP | Insulin Pump |
Session ID | |
X’s passcode | |
ECDHE private key | |
, , | ECDHE public key |
x-th nonce | |
Secret key between X and controller | |
Secret key for emergency situation | |
x-th Hash-based message authentication code | |
CMD | Command message |
dose | Insulin dose |
IoB | Insulin that is still active in the body |
Heartbeat | Message to check the status of the controller |
Response | Message to respond to Heartbeat message |
Alert | Message to inform the emergency situation |
BGL | Blood glucose level |
ECDHE Domain Parameters (p, a, b, g, n, and h) are Pre-Shared between Alice and Bob. |
---|
1. ECDHE Key Generation |
1. Alice generates an ephemeral private key X from {1,,}. |
2. Alice derives a public key from X. |
3. Bob also generates own ephemeral private key Y from {1,,}. |
4. Bob derives own ECDHE public key from Y. |
2. ECDHE Session Key Exchange |
1. Alice sends the public key to Bob. |
2. Bob computes the ECDHE session key S via the following operation. |
3. After computing the ECDHE session key, Bob sends the public key to Alice. |
4. Alice also computes the ECDHE session key S via the following operation. |
5. Alice and Bob successfully exchange the ECDHE session key S and remove each ephemeral private key. |
ECDHE domain parameter |
p: a prime number indicating the finite field size; |
a, b: the coefficients for the chosen elliptic curve equation; |
g: the base point to generate a subgroup; |
n, h: the order and co-factor of the subgroup; |
Notation | Meaning |
---|---|
P believes the message X | |
P receives the message X | |
P previously sent the message X | |
P has authority over X | |
The message X is fresh | |
X is combined with a secret K | |
X is encrypted with a key K | |
K is a secret key shared between P and Q | |
K is the public key of P | |
K is a shared secret between P and Q |
Rule | Formula |
---|---|
Message Meaning Rule (MM) | |
Nonce Verification Rule (NV) | |
Jurisdiction Rule (JR) | |
Freshness Rule (FR) | |
Decomposition Rule (DR) | |
Belief Conjunction Rule (BC) | |
Diffie-Hellman Rule |
Security Requirements | Goals | Derivation |
---|---|---|
Mutual Authentication | CONT – CGM: (22), (25) CONT – IP: (29), (32) CGM – IP: (42), (43) | CONT – CGM: (47), (54) CONT – IP: (62), (69) CGM – IP: (93), (97) |
Secure Key Exchange | : (24), (26), (28), (36) : (31), (33), (35), (39) | : (50), (55), (58), (77) : (65), (70), (73), (85) |
Perfect Forward Secrecy | CONT – CGM: (23), (27) CONT – IP: (30), (34) CGM – IP: (37), (40) | CONT – CGM: (49), (57) CONT – IP: (64), (72) CGM – IP: (79), (87) |
Emergency Phase | : (38), (41), (42), (43) | : (80), (88), (93), (97) |
Protocol | Security Requirements | ||||||||
---|---|---|---|---|---|---|---|---|---|
AUTH | CONF | INT | SKE | PFS | PRV | EMEG | RPA | MiTM | |
Wu et al. [13] | ◯ | ◯ | ◯ | ◯ | × | × | × | ◯ | ◯ |
Chi et al. [14] | ◯ | ◯ | ◯ | ◯ | × | × | × | ◯ | ◯ |
HAT [15] | ◯ | ◯ | ◯ | ◯ | ◯ | × | × | ◯ | ◯ |
Bluetooth LE [16] | ◯ | ◯ | ◯ | ◯ | × | × | × | × | × |
TLS 1.3 [18] | ◯ | ◯ | ◯ | ◯ | ◯ | ◯ | × | ◯ | ◯ |
Our Proposed | ◯ | ◯ | ◯ | ◯ | ◯ | ◯ | ◯ | ◯ | ◯ |
Protocol | Overhead |
---|---|
Wu et. al. [13] | |
Chi et. al. [14] | |
HAT [15] | |
Bluetooth LE * [16] | |
TLS 1.3 * [18] | |
Our Proposed |
Protocol | Round-Trip Times (RTT) |
---|---|
Wu et. al. [13] | 3 |
Chi et. al. [14] | 6 |
HAT [15] | 1 |
Bluetooth LE [16] | 4 |
TLS 1.3 [18] | 1 |
Our Proposed | 3 |
Specification | Arduino Nano 33 (Insulin Pump) | Galaxy S 20 (Android Controller) | nRF52840 (CGM) |
---|---|---|---|
CPU Core | 32-bit ARM® Cortex®-M4 | Samsung Exynos 990(Exynos M5 MP2 + ARM® Cortex® - A76 MP2 + ARM® Cortex® - A55 MP4) | 32-bit ARM® Cortex®-M4 |
Ram | 64 KB Flash ram 512 KB Sram | 8 GB | 64 KB Flash ram 512 KB Sram |
Voltage | 3.3 V | 3.85–4.4 V | 3.3 V |
Programming Language | C++ | Kotlin | C |
Arduino Nano 33 (Insulin Pump) | Galaxy S 20 (Android Controller) | nRF52840 (CGM) | |
---|---|---|---|
Proposed protocol | 333.6 ms | 0.76 ms | 68.24 ms |
Bluetooth LE | 452.8 ms | 1.28 ms | 91.44 ms |
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. |
© 2023 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
Kim, J.; Oh, J.; Son, D.; Kwon, H.; Astillo, P.V.; You, I. APSec1.0: Innovative Security Protocol Design with Formal Security Analysis for the Artificial Pancreas System. Sensors 2023, 23, 5501. https://doi.org/10.3390/s23125501
Kim J, Oh J, Son D, Kwon H, Astillo PV, You I. APSec1.0: Innovative Security Protocol Design with Formal Security Analysis for the Artificial Pancreas System. Sensors. 2023; 23(12):5501. https://doi.org/10.3390/s23125501
Chicago/Turabian StyleKim, Jiyoon, Jongmin Oh, Daehyeon Son, Hoseok Kwon, Philip Virgil Astillo, and Ilsun You. 2023. "APSec1.0: Innovative Security Protocol Design with Formal Security Analysis for the Artificial Pancreas System" Sensors 23, no. 12: 5501. https://doi.org/10.3390/s23125501