Cryptanalysis of Two Privacy-Preserving Authentication Schemes for Smart Healthcare Applications
Abstract
:1. Introduction
2. Preliminaries
3. Cryptanalysis of the PAASH Scheme in [2]
3.1. Review of the PAASH Scheme
- System Setup PhaseTaking a security parameter ℓ as an input, the registration authority (RA) runs the underlying CP-ABE scheme in [21], which consists of the ABE.MasterKeyGen, ABE.AttributeKeyGen, ABE.Encrypt, and ABE.Decrypt algorithms. More concretely, it runs ABE.MasterKeyGen to obtain an attribute-based parameter and an attribute-based master secret key . Then it executes the following algorithm MasterKenGen to output a public parameter and a master secret key s.MasterKenGen: the RA performs the following:
- Choose a non-singular elliptic curve and a q-order additive group , where are large primes.
- Pick as the master secret key and compute the corresponding public key .
- Select three hash functions , , .
- Store s secretly and broadcast public parameters .
- Registration PhaseLet a patient be the smart health client with identity and an attribute list . When wants to join the system, does the following:
- Choose and a timestamp .
- Compute , , and .
- Send to the RA as its registration request.
Upon receiving from , the RA operates as follows:- Accept the request if is fresh and reject it otherwise.
- Recover and by computing .
- Confirm the validity of and compute as the pseudonym of , where is the valid time period.
Now, the RA runs ABE.AttributeKeyGen (i.e., using ) to generate ’s attribute-based secret key and executes the following PartialSecKeyGen to generate ’s partial secret key . Notably, will use and to encrypt the healthcare data and sign the corresponding ciphertext, respectively.PartialSecKeyGen: the RA performs the following:- Choose a timestamp .
- Compute , , , and .
- Set as the partial secret key.
- Compute a masking parameter .
- Send to .
Upon receiving , operates as follows:- Check the freshness of .
- Compute to recover and . The validity of these keys can be verified by , where .
- Data Outsourcing Phasewith pseudonym outsources its healthcare data to a medical cloud server (MCS) where authorized data requesters (e.g., healthcare providers or researchers) can access it. To do this, firstly defines a ciphertext policy and executes ABE.Encrypt to obtain the ciphertext corresponding to . Then, executes the following algorithms SecretKeyGen and Sign:SecretKeyGen: picks and computes . Now, sets as the secret key and as the public key.Sign: does the following:
- Select and compute , , , and , where is a timestamp and .
- Set as a signature on .
now uploads the tuple to the MCS.Suppose that the MCS receives a set of from for . It executes the algorithms Aggregate and AggregateVerify:Aggregate: the MCS performs the following:- Check the freshness of and recover for .
- Calculate , , and .
- Return as the aggregate signature on , .
AggregateVerify: The MCS accepts the message , if holds and rejects otherwise. - Data Access PhaseA data requester (e.g., a healthcare provider or a researcher) is allowed to download ’s healthcare information from the MCS. More concretely, it firstly executes the following Verify algorithm:Verify: the data requester checks the freshness of , recovers , and verifies whether . Note that the data requester can also check a set of messages simultaneously as in AggregateVerify to improve verification efficiency.At last, if the data requester’s attributes match with the access policy , it can run the ABE.Decrypt to obtain the healthcare data .
3.2. Scheme Analysis
3.2.1. Correctness Analysis
3.2.2. Security Analysis
- Select and set .
- Compute and .
- Set as its forgery.
3.3. Discussion and Improvement
- Pick and compute , , , and , where is a timestamp.
- Set as a signature on .
- Check the freshness of and calculate .
- Return as the aggregate signature on , .
Security Analysis to PAASH
4. Cryptanalysis of the ECACS Scheme in [19]
4.1. Review of the ECACS Scheme
- Key generation center (KGC): the KGC is the trusted entity that generates the system parameters and partial public/private key pairs to all other four entities according to their registration.
- Data owner: a data owner represents the patient who collects his/her healthcare data and uploads the EHR data to the cloud server for storage.
- User: a user could be a doctor or a medical researcher who wants to query the patient’s EHR data.
- Medical cloud server (MCS): the MCS is managed by the cloud service provider. It stores a large amount of EHR data sent by the users.
- Third-party auditor (TPA): assigned by the data owner, a TPA is responsible for auditing the integrity of the stored EHR data. This is achieved by sending the audit challenge message to the server, and then the server replays back with a proof message.
- Setup:
- Choose a composite-order bilinear group [24] and a mapping . Let q and P be the order and a generator of , respectively.
- Select as the system master private key and compute the corresponding master public key .
- Let , , and be three cryptographic hash functions.
- Keep x as private and publish the system parameters as .
- Partial-Private-Key Generation:
- Server partial private-key generation: it takes , the identity of cloud server and x as input. The KGC randomly selects and computes , , and . It then outputs and sends to the cloud server.
- Data owner partial private-key generation: it takes , the identity of data owner , and x as input. The KGC randomly selects and computes , , and . It then outputs and sends to the data owner.
- User partial private-key generation: it takes , the identity of user and x as input. The KGC randomly selects and computes , , and . It then outputs and sends to the user.
- Set-Secret-Value:
- Set the secret value of the server: the server randomly chooses its secret value .
- Set the secret value of the data owner: the data owner randomly chooses its secret value .
- Set the secret value of the user: the user randomly chooses its secret value .
- Set-Private-Key:
- Set the private key of the server: the server takes , , and as input. Then its private key is .
- Set the private key of the data owner: the data owner takes , , and as input. Then its private key is .
- Set the private key of the user: the user takes , , and as input. Then its private key is .
- Set-Public-Key:
- Set the public key of the server: taking as input and , the server computes . The public key of the server is .
- Set the public key of the data owner: taking as input and , the data owner computes . The public key of the server is .
- Set the public key of the user: taking as input and , the data owner computes . The public key of the server is .
- Sign: the user with identity takes , , and the state information , and as input. To sign a message M, it performs the following:
- Choose and compute .
- Compute and .
- Compute .
- Output the signature .
Then the user uploads the message-signature pair to the cloud server. The server then verifies its validity via Verify. - Verify: it takes as input , , and as input. The server first computes as the same as in Sign. Then it check whether = holds. It accepts the signature if the verification equation holds and rejects otherwise.
- Aggregate: it takes as input , , and n distinct signatures , on different messages from different users with corresponding identities and public keys . The aggregator computes and outputs as the aggregate signature for n messages.
- Aggregate-Verify: taking as input , , and tuples for , it operates as follows:
- Compute , , and .
- Check whether holds.
- Return true if the above equation holds and return false otherwise.
4.2. Scheme Analysis
- According to the role definition, Sign should be executed by the data owner (i.e., the patient) rather than the user (e.g., the doctor).
- The calculation of partial private-key generation for the server, the data owner, and the user may be wrong. In Partial-Private-Key-Generation (i.e., the second algorithm in the scheme), to generate a partial private key for the server, the KGC randomly selects and computes , . It then computes and sets as the server’s partial private key. In this process, the KGC needs to use for obtaining ; however, the value is not defined before. The same problem occurs when generating the partial private keys for the data owner and the user.
- The setting when generating private keys for the server, the data owner, and the user may be wrong. To generate its private key, the server takes the system parameters , the partial private-key , and the secret value as input and sets its private key as . However, is not defined before. Moreover, the partial private-key does not seem to be used for constructing the full private key. The same problem occurs when setting the partial private keys for the data owner and the user.
- The setting when generating public keys for the server, the data owner, and the user may be wrong. To set the public key of the server, the algorithm Set-Public-Key takes as input the system public parameters and a secret value chosen by the server in Set-Secret-Value. It computes , and the public key of the server is . In this setting, the secret value is a part of the public key, which may affect the security of the scheme.
- There are some undefined definitions in the signing process. In Sign, a piece of state information and a value T are bound to the signature. One may infer that T is the timestamp; however, one cannot guess what state information is used to store. Additionally, the signer needs to compute . However, neither nor has been defined. According to the description of Sign and Verify, the equation should be .
- The verification equation in Verify does not hold. In the CPV scheme, a single signature for a message is valid if the verification equation = holds. The authors in [19] claimed its correctness as follows:However, the equation does not hold from the fourth line according to the computation rule of bilinear pairing [25], which disproves their claim. The same error exists in Aggregate-Verify.
5. Conclusions
Author Contributions
Funding
Data Availability Statement
Conflicts of Interest
References
- Estopace, E. IDC Forecasts Connected IoT Devices to Generate 79.4 ZB of Data in 2025. 2019. Available online: https://futureiot.tech/idc-forecasts-connected-iot-devices-to-generate-79-4zb-of-data-in-2025/ (accessed on 19 June 2023).
- Ogundoyin, S.O.; Kamil, I.A. PAASH: A privacy-preserving authentication and fine-grained access control of outsourced data for secure smart health in smart cities. J. Parallel Distrib. Comput. 2021, 155, 101–119. [Google Scholar] [CrossRef]
- Zhu, F.; Yi, X.; Abuadbba, A.; Khalil, I.; Nepal, S.; Huang, X. Authenticated Data Sharing With Privacy Protection and Batch Verification for Healthcare IoT. IEEE Trans. Sustain. Comput. 2023, 8, 32–42. [Google Scholar] [CrossRef]
- Boneh, D.; Gentry, C.; Lynn, B.; Shacham, H. Aggregate and Verifiably Encrypted Signatures from Bilinear Maps. In Proceedings of the EUROCRYPT 2003, Warsaw, Poland, 4–8 May 2003; Springer: Berlin/Heidelberg, Germany, 2003; Volume 2656, pp. 416–432. [Google Scholar]
- Shen, L.; Ma, J.; Liu, X.; Wei, F.; Miao, M. A Secure and Efficient ID-Based Aggregate Signature Scheme for Wireless Sensor Networks. IEEE Internet Things J. 2017, 4, 546–554. [Google Scholar] [CrossRef]
- Al-Riyami, S.S.; Paterson, K.G. Certificateless Public Key Cryptography. In Proceedings of the ASIACRYPT 2003, Taipei, Taiwan, 30 November–4 December 2003; Lecture Notes in Computer Science. Laih, C., Ed.; Springer: Berlin/Heidelberg, Germany, 2003; Volume 2894, pp. 452–473. [Google Scholar]
- Gayathri, N.B.; Gowri, T.; Kumar, P.R.; Rahman, M.Z.U.; Reddy, P.V.; Lay-Ekuakille, A. Efficient and Secure Pairing-Free Certificateless Aggregate Signature Scheme for Healthcare Wireless Medical Sensor Networks. IEEE Internet Things J. 2019, 6, 9064–9075. [Google Scholar] [CrossRef]
- Liu, J.; Wang, L.; Yu, Y. Improved Security of a Pairing-Free Certificateless Aggregate Signature in Healthcare Wireless Medical Sensor Networks. IEEE Internet Things J. 2020, 7, 5256–5266. [Google Scholar] [CrossRef]
- Zhan, Y.; Wang, B.; Lu, R. Cryptanalysis and Improvement of a Pairing-Free Certificateless Aggregate Signature in Healthcare Wireless Medical Sensor Networks. IEEE Internet Things J. 2021, 8, 5973–5984. [Google Scholar] [CrossRef]
- Yang, W.; Wang, S.; Mu, Y. An Enhanced Certificateless Aggregate Signature Without Pairings for E-Healthcare System. IEEE Internet Things J. 2021, 8, 5000–5008. [Google Scholar] [CrossRef]
- Qiao, Z.; Yang, Q.; Zhou, Y.; Yang, B.; Zhang, M. A Novel Construction Of Certificateless Aggregate Signature Scheme For Healthcare Wireless Medical Sensor Networks. Comput. J. 2022. [Google Scholar] [CrossRef]
- Yang, X.; Wen, H.; Diao, R.; Du, X.; Wang, C. Improved Security of a Pairing-Free Certificateless Aggregate Signature in Healthcare Wireless Medical Sensor Networks. IEEE Internet Things J. 2023, 10, 10881–10892. [Google Scholar] [CrossRef]
- Zhang, Y.; Deng, R.H.; Han, G.; Zheng, D. Secure smart health with privacy-aware aggregate authentication and access control in Internet of Things. J. Netw. Comput. Appl. 2018, 123, 89–100. [Google Scholar] [CrossRef]
- Chen, X.; He, D.; Khan, M.K.; Luo, M.; Peng, C. A Secure Certificateless Signcryption Scheme Without Pairing for Internet of Medical Things. IEEE Internet Things J. 2023, 10, 9136–9147. [Google Scholar] [CrossRef]
- Ren, R.; Su, J. A Security-Enhanced and Privacy-Preserving Certificateless Aggregate Signcryption Scheme-Based Artificial Neural Network in Wireless Medical Sensor Network. IEEE Sens. J. 2023, 23, 7440–7450. [Google Scholar] [CrossRef]
- Zhu, F.; Yi, X.; Abuadbba, S.; Khalil, I.; Yang, X.; Nepal, S.; Huang, X. Privacy-Preserving Authentication for Tree-Structured Data with Designated Verification in Outsourced Environments. In Proceedings of the ProvSec 2020, Singapore, 29 November–1 December 2020; Springer: Berlin/Heidelberg, Germany, 2020; Volume 12505, pp. 145–165. [Google Scholar]
- Domadiya, N.; Rao, U.P. Improving healthcare services using source anonymous scheme with privacy preserving distributed healthcare data collection and mining. Computing 2021, 103, 155–177. [Google Scholar] [CrossRef]
- Guo, H.; Li, W.; Nejad, M.M.; Shen, C. A Hybrid Blockchain-Edge Architecture for Electronic Health Record Management with Attribute-Based Cryptographic Mechanisms. IEEE Trans. Netw. Serv. Manag. 2023, 20, 1759–1774. [Google Scholar] [CrossRef]
- Benil, T.; Jasper, J. Cloud based security on outsourcing using blockchain in E-health systems. Comput. Netw. 2020, 178, 107344. [Google Scholar] [CrossRef]
- Galbraith, S.D.; Gaudry, P. Recent progress on the elliptic curve discrete logarithm problem. Des. Codes Cryptogr. 2016, 78, 51–72. [Google Scholar] [CrossRef]
- Gafif, H.E.; Meddah, N.; Toumanari, A. A Lightweight Ciphertext-Policy Attribute-Based Encryption for Fine-Grained Access Control. In Proceedings of the International Conference on Advanced Intelligent Systems for Sustainable Development; Springer: Berlin/Heidelberg, Germany, 2018; pp. 13–23. [Google Scholar]
- Shim, K. Security models for certificateless signature schemes revisited. Inf. Sci. 2015, 296, 315–321. [Google Scholar] [CrossRef]
- Wu, G.; Zhang, F.; Shen, L.; Guo, F.; Susilo, W. Certificateless aggregate signature scheme secure against fully chosen-key attacks. Inf. Sci. 2020, 514, 288–301. [Google Scholar] [CrossRef]
- Lewko, A.B. Tools for Simulating Features of Composite Order Bilinear Groups in the Prime Order Setting. In Proceedings of the Advances in Cryptology-EUROCRYPT 2012, Cambridge, UK, 15–19 April 2012; Springer: Berlin/Heidelberg, Germany, 2012; Volume 7237, pp. 318–335. [Google Scholar]
- Paterson, K.G. Cryptography from pairings. Lond. Math. Soc. Lect. Note Ser. 2006, 317, 215. [Google Scholar]
Notations | Descriptions |
---|---|
ℓ | System security parameter |
Attribute-based parameter | |
Attribute-based master secret key | |
System public parameter | |
Hash function, | |
Patient ’s identity and attribute list | |
’s attribute-based secret key | |
’s partial secret key | |
(Full) secret key and public key of | |
’s healthcare data | |
Ciphertext of under | |
Signature of | |
Aggregate signature |
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
Xu, F.; Luo, J.; Ziaur, R. Cryptanalysis of Two Privacy-Preserving Authentication Schemes for Smart Healthcare Applications. Mathematics 2023, 11, 3314. https://doi.org/10.3390/math11153314
Xu F, Luo J, Ziaur R. Cryptanalysis of Two Privacy-Preserving Authentication Schemes for Smart Healthcare Applications. Mathematics. 2023; 11(15):3314. https://doi.org/10.3390/math11153314
Chicago/Turabian StyleXu, Feihong, Junwei Luo, and Rahman Ziaur. 2023. "Cryptanalysis of Two Privacy-Preserving Authentication Schemes for Smart Healthcare Applications" Mathematics 11, no. 15: 3314. https://doi.org/10.3390/math11153314
APA StyleXu, F., Luo, J., & Ziaur, R. (2023). Cryptanalysis of Two Privacy-Preserving Authentication Schemes for Smart Healthcare Applications. Mathematics, 11(15), 3314. https://doi.org/10.3390/math11153314