Next Article in Journal
Cost of Ownership of Spare Parts under Uncertainty: Integrating Reliability and Costs
Next Article in Special Issue
A New Conditional Privacy-Preserving Certificateless Aggregate Signature Scheme in the Standard Model for VANETs
Previous Article in Journal
Fuzzy Approximating Metrics, Approximating Parametrized Metrics and Their Relations with Fuzzy Partial Metrics
Previous Article in Special Issue
Fine-Grained Forward Secure Firmware Update in Smart Home
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Cryptanalysis of Two Privacy-Preserving Authentication Schemes for Smart Healthcare Applications

1
School of Artificial Intelligence, Wuchang University of Technology, Wuhan 430223, China
2
School of Computing Technologies, RMIT University, Melbourne, VIC 3083, Australia
3
School of Computer Science, Queensland University of Technology, Brisbane, QLD 4000, Australia
*
Author to whom correspondence should be addressed.
Mathematics 2023, 11(15), 3314; https://doi.org/10.3390/math11153314
Submission received: 20 June 2023 / Revised: 26 July 2023 / Accepted: 27 July 2023 / Published: 28 July 2023
(This article belongs to the Special Issue Applied Cryptography and Blockchain Security)

Abstract

:
Ensuring the secure sharing of privacy-sensitive healthcare data is attracting considerable interest from researchers. Recently, Ogundoyin et al. designed a lightweight privacy-preserving authentication scheme named PAASH for smart health applications. Benil et al. proposed a public verification and auditing scheme named ECACS for securing e-health systems. Ogundoyin et al. and Benil et al. proposed an efficient certificateless aggregate signature (CLAS) scheme as their respective foundation signature schemes. They declared that their constructions were provably secure under the hardness assumption of cryptographic problems. In this work, we disprove their claim by analyzing the correctness and security of their underlying CLAS schemes. We first show that the batch verification process of n signatures for the CLAS scheme in PAASH is incorrect, and any public-key replacement attacker can easily break the scheme. We analyze the reasons for our attack and propose an improved scheme, named PAASH + . We then show that the CLAS scheme in ECACS fails to achieve correctness, an essential property that a cryptographic scheme should provide. As a result, it is impractical to deploy the designed PAASH and ECACS constructions in any real smart health applications.

1. Introduction

Nowadays, including intelligent transportation, smart industry, and smart healthcare, Internet of Things (IoT) technologies are widely used in various fields of our life. The market research company IDC estimates that 41.6 billion IoT devices will be connected by 2025 [1]. Taking the healthcare industry as an example, smart devices (e.g., smartphones, wearable or implantable sensors) are deployed in applications such as telemedicine, patient physiological monitoring, and clinical problem identification [2]. They collaborate with wireless communication technologies to make health data collection increasingly flexible. Due to the resource limitation of these devices, the collected health data will typically be outsourced to a remote cloud for storage and sharing. However, because of the openness of the network, these privacy-sensitive healthcare data are vulnerable to various security attacks such as eavesdropping and tampering, posing a serious threat to patients’ health. Therefore, it is essential to design effective mechanisms to ensure data security and privacy [3].
Historically, digital signatures have typically been used to ensure data authenticity and integrity. However, given the large amount of healthcare data that needs to be received from various smart devices, signature verification must be remarkably efficient to support low-latency emergencies. Consequently, the concept of aggregate signature introduced by Boneh et al. [4] is an ideal signature technique for supporting batch verification. Boneh et al.’s construction is based on the traditional public-key cryptosystem (PKC), which suffers from the costly key management problem. In view of this, aggregate signature schemes [5] based on an identity-based cryptosystem (IBC) have been proposed; nevertheless, Al-Riyami et al. [6] showed that IBC-based construction has the key escrow problem. To reduce the certificate management cost in traditional PKCs and eliminate the key escrow problem in IBCs, aggregate signature schemes based on the certificateless cryptosystem [7,8,9,10,11,12] have been put forward for smart healthcare applications.
Recently, Zhang et al. [13] integrated the ciphertext-policy attribute-based encryption (CP-ABE) technique and the certificateless aggregate signature (CLAS) scheme to design a secure smart health system called SSH. Notably, in a CP-ABE scheme, the data owner can apply an attribute secret key based on a set of attributes. The ciphertext is produced under an access policy, and decryption succeeds only when the owner’s attribute list satisfies the policy. Therefore, Zhang et al.’s SSH construction simultaneously achieves aggregate authentication, fine-grained access control, and data confidentiality. However, very recently, Ogundoyin et al. [2] found that Zhang et al.’s SSH scheme is vulnerable to any Type II attacker who knows the system master-secret key. To this end, Ogundoyin et al. put forward a new lightweight privacy-preserving authentication scheme named PAASH for smart health applications, which also consists of a CP-ABE scheme and a CLAS scheme. Ogundoyin et al. presented a formal security analysis of their design under the standard cryptographic assumption. To achieve aggregate authentication and data confidentiality, there are also several certificateless signcryption schemes [14,15] in the literature. However, they cannot achieve fine-grained access control.
In addition, as another important smart healthcare application, an electronic health record (EHR) is a record in an electronic version containing personal health-related data, which is stored and retrieved by different healthcare providers for healthcare-related purposes. Compared to the traditional paper-based health record, the EHR has many benefits, such as lowering costs, improving health care quality, promoting evidence-based medicine usage, helping in record-keeping, and ensuring the records’ mobility. To secure the storage and sharing of privacy-sensitive EHR data over the potentially untrusted cloud, many cryptographic schemes have been proposed in the literature [16,17,18]. Zhu et al. [16] proposed an authentication scheme with privacy protection and designated verification for XML-based healthcare records. Domadiya et al. [17] put forward a privacy-preserving scheme for distributed healthcare data collection and mining for EHR systems, which provides a healthcare data mining platform to medical researchers and physicians. Guo et al. [18] presented a hybrid blockchain-edge architecture for managing EHR with attribute-based cryptographic mechanisms. However, these designs require expensive pairing operations. Recently, Benil et al. [19] proposed a new public verification and auditing scheme called ECACS to secure EHRs. ECACS combines a certificateless public verification (CPV) scheme and a certificateless public auditing (CPA) scheme. Designed based on a CLAS scheme, the CPV scheme is used to guarantee the authenticity of the shared EHR data. Moreover, in combination with blockchain technology, the CPA scheme allows a cloud server to generate proof of possession of the EHR data and an auditor to check the correctness of the proof (please refer to [19] for the detailed application model).
Contributions. In this work, we observe that Ogundoyin et al.’s PAASH in [2] cannot satisfy correctness and unforgeability. More specifically, we find that the batch verification process of n signatures for the CLAS scheme in PAASH is incorrect, and any Type I attacker (public-key replacement attacker) can easily break the scheme. Namely, the attacker can impersonate a data owner (i.e., a patient) to forge a valid signature on his false healthcare information. This may lead healthcare professionals to make incorrect diagnoses of a patient’s health condition, even with catastrophic consequences. Therefore, the designed PAASH cannot be deployed in practical smart health applications. Based on our cryptanalysis, we discuss the related reason. Moreover, we suggest an improved PAASH + scheme to fill this gap.
In addition, we show that the CLAS scheme in Benil et al.’s ECACS [19] fails to achieve correctness, the essential property that a cryptographic scheme should provide. Without correctness, other properties such as security and privacy become unattainable. As a result, we demonstrate that their scheme is incorrect/insecure for practical applications.
Organization. The remaining paper is organized as follows: We review some preliminaries in Section 2. In Section 3, we show our cryptanalysis to Ogundoyin et al.’s PAASH scheme. More concretely, we review their scheme in Section 3.1, provide the scheme analysis in Section 3.2, and present our discussion and improvement in Section 3.3. In Section 4, we show our cryptanalysis of Benil et al.’s ECACS Scheme, including a scheme review in Section 4.1 and a scheme analysis in Section 4.2. Conclusions are drawn in Section 5.

2. Preliminaries

We here introduce some preliminaries.
Notations. We use N = { 1 , 2 , } and | | to represent the set of positive integers and the concatenation of two strings, respectively. Denote by x R X the element x chosen uniformly and randomly from the set X.
Elliptic curve discrete logarithm problem (ECDLP) [20]. Given an elliptic curve E defined over a finite field F p , an additive cyclic subgroup G on E / F p with generator P and prime order q, and a point Q G , the ECDLP is to find α Z q * such that Q = α P .
Correspondingly, the ECDLP assumption refers to any probabilistic polynomial time (p.p.t) adversary A with negligible probability in solving the ECDLP.

3. Cryptanalysis of the PAASH Scheme in [2]

3.1. Review of the PAASH Scheme

The PAASH scheme is as follows; some notations for the scheme are shown in Table 1.
  • System Setup Phase
    Taking 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 p a ABE and an attribute-based master secret key x ABE . Then it executes the following algorithm MasterKenGen to output a public parameter p a r a m and a master secret key s.
    MasterKenGen: the RA performs the following:
    • Choose a non-singular elliptic curve E : y 2 = x 3 + a x + b mod p and a q-order additive group G = P , where p , q are large primes.
    • Pick s R Z q * as the master secret key and compute the corresponding public key P p u b = s P .
    • Select three hash functions H 1 : { 0 , 1 } * Z q * , H 2 : { 0 , 1 } * × G Z q * , H 3 : { 0 , 1 } * × G × G Z q * .
    • Store s secretly and broadcast public parameters p p a r a m = { E , G , p , q , P , P p u b , H 1 , H 2 , H 3 } .
  • Registration Phase
    Let a patient P i be the smart health client with identity I D i and an attribute list L i a t t . When P i wants to join the system, P i does the following:
    • Choose d i R Z q * and a timestamp t i 1 .
    • Compute D i = d i P , Y i = d i P p u b , and Ω i = I D i | | L i a t t H 1 ( Y i | | t i 1 ) .
    • Send ( Ω i , D i , t i 1 ) to the RA as its registration request.
    Upon receiving ( Ω i , D i , t i 1 ) from P i , the RA operates as follows:
    • Accept the request if t i 1 is fresh and reject it otherwise.
    • Recover I D i and L i a t t by computing I D i | | L i a t t = Ω i H 1 ( s D i | | t i 1 ) .
    • Confirm the validity of I D i and compute P I D i = H 1 ( s | | I D i | | T i ) as the pseudonym of P i , where T i is the valid time period.
    Now, the RA runs ABE.AttributeKeyGen (i.e., using x A B E ) to generate P i ’s attribute-based secret key S K i a t t and executes the following PartialSecKeyGen to generate P i ’s partial secret key P S K i . Notably, P i will use S K i a t t and P S K i to encrypt the healthcare data and sign the corresponding ciphertext, respectively.
    PartialSecKeyGen: the RA performs the following:
    • Choose a timestamp t R 1 .
    • Compute α i = H 2 ( I D i | | s | | P p u b | | T i ) , β i = H 2 ( I D i | | L i a t t | | p p a r a m ) , θ i = α i β i + s , and A i = α i P .
    • Set P S K i = ( A i , θ i ) as the partial secret key.
    • Compute a masking parameter Θ i = H 1 ( s D i | | t R 1 ) ( S K i a t t | | P S K i ) .
    • Send ( P I D i , Θ i , t R 1 ) to P i .
    Upon receiving ( P I D i , Θ i , t R 1 ) , P i operates as follows:
    • Check the freshness of t R 1 .
    • Compute S K i a t t | | P S K i = Θ i H 1 ( s D i | | t R 1 ) to recover S K i a t t and P S K i . The validity of these keys can be verified by θ i P = β i A i + P p u b , where β i = H 2 ( I D i | | L i a t t | | p p a r a m ) .
  • Data Outsourcing Phase
    P i with pseudonym P I D i outsources its healthcare data m i to a medical cloud server (MCS) where authorized data requesters (e.g., healthcare providers or researchers) can access it. To do this, P i firstly defines a ciphertext policy p o i and executes ABE.Encrypt to obtain the ciphertext c p o i corresponding to m i . Then, P i executes the following algorithms SecretKeyGen and Sign:
    SecretKeyGen: P i picks x i , y i R Z q * and computes P K i = y i P . Now, P i sets S K i = ( x i , y i , θ i ) as the secret key and P K i as the public key.
    Sign: P i does the following:
    • Select r i R Z q * and compute V i = r i x i P , R i = V i + β i A i , h i = H 3 ( c p o i | | P I D i | | R i | | P K i | | t i 2 ) , and δ i = r i x i + h i y i + θ i , where t i 2 is a timestamp and β i = H 2 ( I D i | | L i a t t | | p p a r a m ) .
    • Set σ i = ( R i , δ i ) as a signature on c p o i | | t i 2 .
    P i now uploads the tuple ( c p o i , P I D i , σ i , P K i , t i 2 ) to the MCS.
    Suppose that the MCS receives a set of ( c p o i , P I D i , σ i , P K i , t i 2 ) from P i for i = 1 , 2 , , n . It executes the algorithms Aggregate and AggregateVerify:
    Aggregate: the MCS performs the following:
    • Check the freshness of t i 2 and recover h i = H 3 ( c p o i | | P I D i | | R i | | P K i | | t i 2 ) for i = 1 , 2 , , n .
    • Calculate Δ = Σ i = 1 n δ i , R = Σ i = 1 n R i , and P K = Σ i = 1 n h i P K i .
    • Return σ = ( R , Δ ) as the aggregate signature on c p o i | | t i 2 , i = 1 , 2 , , n .
    AggregateVerify: The MCS accepts the message c p o i | | t i 2 , i = 1 , 2 , , n if Δ P = R + P K + P p u b holds and rejects otherwise.
  • Data Access Phase
    A data requester (e.g., a healthcare provider or a researcher) is allowed to download P i ’s healthcare information ( c p o i , P I D i , σ i = ( R i , δ i ) , P K i , t i 2 ) from the MCS. More concretely, it firstly executes the following Verify algorithm:
    Verify: the data requester checks the freshness of t i 2 , recovers h i = H 3 ( c p o i | | P I D i | | R i | | P K i | | t i 2 ) , and verifies whether δ i P = R i + h i P K i + P p u b . 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 p o i , it can run the ABE.Decrypt to obtain the healthcare data m i .

3.2. Scheme Analysis

The above PAASH scheme proposed by Ogundoyin et al. can be seen as a combination of two cryptographic schemes, i.e., the underlying lightweight CP-ABE scheme proposed by Gafif et al. in [21] and a new CLAS scheme designed by Ogundoyin et al. Here, the CLAS scheme is constructed by algorithms MasterKenGen, PartialSecretKeyGen, SecretKeyGen, Sign, Verify, Aggregate, and AggregateVerify. Meanwhile, the first five algorithms in CLAS naturally form a basic CLS scheme. Since the security of the CP-ABE scheme has been analyzed by Gafif et al., we only focus on the correctness and security analysis of Ogundoyin et al.’s CLAS scheme.

3.2.1. Correctness Analysis

In Ogundoyin et al.’s CLS scheme, upon obtaining P i ’s healthcare information ( c p o i , P I D i , σ i = ( R i , δ i ) , P K i , t i 2 ) , the verifier can use Verify to check the single signature σ i by checking whether the equation δ i P = R i + h i P K i + P p u b holds (we hereafter omit the hash operation in correctness analysis). This is true since the verification equation can easily verify a single valid signature. However, their aggregate signature on n signatures produced by Aggregate cannot be validated by AggregateVerify.
For example, when n = 2 , the MCS in Aggregate computes Δ = δ 1 + δ 2 , R = R 1 + R 2 , and P K = h 1 P K 1 + h 2 P K 2 . It then sets σ = ( R , Δ ) as the aggregate signature on c p o 1 | | t 1 2 and c p o 2 | | t 2 2 . To accept the signature σ , in AggregateVerify, one needs to check whether Δ P = R + P K + P p u b holds. However, it is obvious that the equation does not hold since
Δ P = ( δ 1 + δ 2 ) P = R 1 + h 1 P K 1 + 2 P p u b + R 2 + h 2 P K 2 = R + P K + 2 P p u b R + P K + P p u b .
To fix the problem, the verification equation in AggregateVerify needs to be changed to Δ P = R + P K + n P p u b .
In the following section, we show that the fixed CLAS scheme is insecure.

3.2.2. Security Analysis

In [2], Ogundoyin et al. proved that their scheme can resist two types of security attacks. Namely, the Type I adversary is regarded as a public key replacement attacker. It knows the secret value of a target user but does not know the user’s partial secret key. Meanwhile, the Type II adversary is regarded as a malicious-but-passive KGC who is able to know the master secret key but does not obtain the secret value of the target user. We refer the readers to [22,23] for the detailed security model. Here, we disprove Ogundoyin et al.’s claim by presenting a concrete Type I attack.
We suppose that A 1 is a Type I adversary, as shown in Figure 1. A 1 ’s goal is to forge a signature σ i * = ( R i * , δ i * ) on a message c p o i * | | t i 2 for a target participant P i with the pseudonym P I D i , where t i 2 is a random timestamp. Now, A 1 will be provided with the system parameter p p a r a m = { E , G , p , q , P , P p u b , H 1 , H 2 , H 3 } and P i ’s public information ( P I D i , P K i ) .
A 1 picks y i * R Z q * , computes P K i * = y i * P , and sets P K i * as the replaced public key. A 1 now executes as follows:
  • Select z R Z q * and set R i * = z P P p u b .
  • Compute h i * = H 3 ( c p o i * | | P I D i | | R i * | | P K i * | | t i 2 ) and δ i * = z + h i * y i * .
  • Set σ i * = ( R i * , δ i * ) as its forgery.
A 1 now sends the tuple ( c p o i * , P I D i , σ i * , P K i * , t i 2 ) to a potential verifier (i.e., the MCS or the data requester). The correctness of σ i * = ( R i * , δ i * ) is verified as:
δ i * P = ( z + h i * y i * ) P = z P + h i * y i * P = R i * + P p u b + h i * P K i * = R i * + H 3 ( c p o i * | | P I D i | | R i * | | P K i * | | t i 2 ) P K i * + P p u b .
Apparently, A 1 is successful in forging the signature on c p o i * | | t i 2 . Since any single signature can be forged, the designed CLAS cannot provide its claimed security assurance.
Recall that in Ogundoyin et al.’s scheme, P i encrypts its healthcare data m i by running ABE.Encrypt. One may argue that the described adversary A 1 cannot arbitrarily forge ciphertext c p o i since it does not know the attribute-based secret key S K i a t t of P i . However, even with this, A 1 is still able to accomplish its forgery by freely selecting the c p o i * from the historical encrypted data sent by P i . Note that data requesters need to provide medical services such as diagnosis and treatment to the patient P i based on the received c p o i * . However, incorrect or untimely c p o i * may lead to misdiagnosis of a patient’s health condition and, in severe cases, may even pose a significant health risk to the patient. Therefore, the proposed PAASH scheme cannot be deployed to real applications.

3.3. Discussion and Improvement

In Ogundoyin et al.’s scheme, R i and P p u b are independent of each other in the verification equation δ i P = R i + h i P K i + P p u b . This allows A 1 to use the algebraic relationship between them to generate an intermediate value that can be used to bypass the master secret key s and thus forge the signature on c p o i .
In view of this, we suggested an improved PAASH + scheme as below. Note that our improvement mainly focuses on their proposed CLAS scheme.
Recall that in the System Setup Phase, the RA in MasterKeyGen selects three hash functions. Here, we let RA choose four hash functions H i : { 0 , 1 } * Z q * , i = 1 , 2 , 3 , 4 . The remaining part of the algorithm is the same as the original algorithm.
In the Registration Phase, the RA sets A i = α i β i P . As a result, the partial secret key P S K i = ( A i , θ i ) can be checked by θ i P = A i + P p u b . The remaining part of the PartialSecretKeyGen algorithm is the same as the original algorithm.
In the Data Outsourcing Phase, four algorithms—SecretKeyGen, Sign, Aggregate, and AggregateVerify—are changed as follows:
SecretKeyGen: P i picks x i R Z q * and computes X i = x i P . Now, P i sets S K i = ( x i , θ i ) as the secret key and P K i = ( A i , X i ) as the public key.
Sign: P i works as follows:
  • Pick r i R Z q * and compute R i = r i P , h 3 i = H 3 ( P I D i | | P K i | | P p u b ) , h 4 i = H 4 ( c p o i | | P I D i | | R i | | P K i | | t i 2 ) , and δ i = θ i + r i h 4 i + x i h 3 i , where t i 2 is a timestamp.
  • Set σ i = ( R i , δ i ) as a signature on c p o i | | t i 2 .
P i now uploads the tuple ( c p o i , P I D i , σ i , P K i , t i 2 ) to the MCS.
Suppose that the MCS receives a set of ( c p o i , P I D i , σ i , P K i , t i 2 ) from P i for i = 1 , 2 , , n . It executes the algorithms Aggregate and AggregateVerify:
Aggregate: the MCS performs the following:
  • Check the freshness of t i 2 and calculate Δ = Σ i = 1 n δ i .
  • Return σ = ( Δ , R 1 , R 2 , , R n ) as the aggregate signature on c p o i | | t i 2 , i = 1 , 2 , , n .
AggregateVerify: the MCS accepts the message c p o i | | t i 2 , i = 1 , 2 , , n if Δ P = i = 1 n A i + n P p u b + i = 1 n h 3 i X i + i = 1 n h 4 i R i holds and rejects otherwise, where h 3 i = H 3 ( P I D i | | P K i | | P p u b ) and h 4 i = H 4 ( c p o i | | P I D i | | R i | | P K i | | t i 2 ) for i = 1 , 2 , , n .
Accordingly, Verify in the Data Access Phase is modified as below:
Verify: the data requester checks the freshness of t i 2 , recovers h 3 i = H 3 ( P I D i | | P K i | | P p u b ) and h 4 i = H 4 ( c p o i | | P I D i | | R i | | P K i | | t i 2 ) . Then the requester verifies whether δ i P = A i + P p u b + h 3 i X i + h 4 i R i . The data requester can also check a set of messages simultaneously as in AggregateVerify to improve verification efficiency.

Security Analysis to PAASH +

In the above improved CLAS scheme, a Type I adversary A 1 can forge a valid signature in two ways, i.e., by computing the partial secret key P S K i = ( A i , θ i ) generated by the RA or bypassing it. Although A 1 can obtain the public key corresponding to P S K i , the computation of the partial secret key θ i can be viewed as solving ECDLP. The second method is to bypass θ i . Namely, A 1 can use some algebraic relation that may exist in the verification equation (i.e., δ i P = A i + P p u b + h 3 i X i + h 4 i R i ) to eliminate P p u b . To do this, A 1 can only change the value of X i (or R i ) because A i and P p u b are generated by the RA. Note that h 3 i = H 3 ( P I D i | | P K i | | P p u b ) and h 4 i = H 4 ( c p o i | | P I D i | | R i | | P K i | | t i 2 ) . X i and h 3 i (or R i and h 4 i ) are bound together, any modification to X i (or R i ) will make the equation invalid.
A Type II adversary A 2 also has two methods to forge a signature. The first method is to obtain the secret value x i generated by the target user P i . Although A 2 can obtain the partial public key X i corresponding to x i , the computation of x i can also be stated as solving ECDLP. The second approach is to bypass x i . That is, A 2 may use some algebraic relation in the above verification equation to eliminate X i . To do this, it needs to change A i , R i , or P p u b . However, A i has been made public as part of the user’s public key; R i and h 4 i as well as P p u b and h 3 i X i are bound together, respectively. Therefore, A 2 cannot execute the modification.
By eliminating the algebraic relation between the public parameters in the verification equation, the suggested scheme can be proved secure through the theorem in Ogundoyin et al.’s security model:
Theorem 1.
If the ECDLP problem is hard, then the improved CLAS is unforgeable against Type I and Type II adversaries as defined by Ogundoyin et al. in [2] in the random oracle model.
However, we omit the concrete proof here to avoid duplication of work.
By adopting the improved CLAS scheme, a secure PAASH + scheme is achieved. Table 2 makes a simple comparison between SSH in [13], PAASH in [2], and the suggested PAASH + in terms of features.

4. Cryptanalysis of the ECACS Scheme in [19]

4.1. Review of the ECACS Scheme

In [19], Benil et al. proposed a public verification and auditing scheme called ECACS to ensure EHRs security. Their design includes sixteen algorithms: Setup, Partial-Private-Key-Generation, Set-Secret-Value, Set-Private-Key, Set-Public-Key, Sign, Verify, Aggregate, Aggregate-Verify, Store, Audit, Challenge, Proof-Generation, Proof-Verify, Log-Generation, and Check-Log-and-Verify. The first nine algorithms constitute a certificateless public verification (CPV) scheme. The remaining algorithms form a certificateless public auditing (CPA) scheme, in which the cloud server is allowed to generate proof of possession of data, and an auditor can check the correctness of the proof. The CPA scheme is built on top of the CPV scheme. In this section, we simply review the CPV scheme.
Five entities are involved in their construction:
  • 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.
We now describe Benil et al.’s CPV scheme, which consists of nine algorithms. Note that, in essence, the CPV scheme is a CLAS scheme. We use the same symbols as in their construction:
  • Setup:
    • Choose a composite-order bilinear group [24] and a mapping e : G × G G T . Let q and P be the order and a generator of G , respectively.
    • Select x Z q * as the system master private key and compute the corresponding master public key P P u b = x P .
    • Let H 1 : { 0 , 1 } * × G × G Z q * , H 2 : { 0 , 1 } * × G × G Z q * , and H 3 : { 0 , 1 } * × G × G Z q * be three cryptographic hash functions.
    • Keep x as private and publish the system parameters as S p a r a = { e , q , P , P P u b , H 1 , H 2 , H 3 } .
  • Partial-Private-Key Generation:
    • Server partial private-key generation: it takes S p a r a , the identity of cloud server i d s and x as input. The KGC randomly selects r i d s Z q * and computes R i d s = r i d s P , h i d s = H 1 ( R i d s | | i d s | | P i d s ) , and d i d s = r i d s + h i d s x . It then outputs and sends d i d s , R i d s to the cloud server.
    • Data owner partial private-key generation: it takes S p a r a , the identity of data owner i d o , and x as input. The KGC randomly selects r i d o Z q * and computes R i d o = r i d o P , h i d o = H 1 ( R i d o | | i d o | | P i d o ) , and d i d o = r i d o + h i d o x . It then outputs and sends d i d o , R i d o to the data owner.
    • User partial private-key generation: it takes S p a r a , the identity of user i d u and x as input. The KGC randomly selects r i d u Z q * and computes R i d u = r i d u P , h i d u = H 1 ( R i d u | | i d u | | P i d u ) , and d i d u = r i d u + h i d u x . It then outputs and sends d i d u , R i d u to the user.
  • Set-Secret-Value:
    • Set the secret value of the server: the server randomly chooses its secret value Y i d s Z q * .
    • Set the secret value of the data owner: the data owner randomly chooses its secret value Y i d o Z q * .
    • Set the secret value of the user: the user randomly chooses its secret value Y i d u Z q * .
  • Set-Private-Key:
    • Set the private key of the server: the server takes S p a r a , d i d s , and Y i d s as input. Then its private key is d k i d s = ( i d s , x i d s ) .
    • Set the private key of the data owner: the data owner takes S p a r a , d i d o , and Y i d o as input. Then its private key is d k i d o = ( i d s , x i d o ) .
    • Set the private key of the user: the user takes S p a r a , d i d u , and Y i d u as input. Then its private key is d k i d u = ( i d u , x i d u ) .
  • Set-Public-Key:
    • Set the public key of the server: taking as input S p a r a and Y i d s , the server computes P i d s = Y i d s P . The public key of the server is P K i d s = ( P i d s , Y i d s ) .
    • Set the public key of the data owner: taking as input S p a r a and Y i d o , the data owner computes P i d o = Y i d o P . The public key of the server is P K i d o = ( P i d o , Y i d o ) .
    • Set the public key of the user: taking as input S p a r a and Y i d u , the data owner computes P i d u = Y i d u P . The public key of the server is P K i d u = ( P i d u , Y i d u ) .
  • Sign: the user with identity i d u takes S p a r a , Y i d u , and the state information Δ , and d K i d u as input. To sign a message M, it performs the following:
    • Choose r i Z q * and compute R i d = r i d P .
    • Compute B = H 2 ( Δ ) and h i = H 3 ( i d u i | | M i | | P K i d u , i | | R i ) .
    • Compute V i = d i d u + r i B M + h i Y i d u P P u b .
    • Output the signature σ = ( R i , V i ) .
    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 S p a r a , σ = ( R i , V i ) , and ( M i , Δ , P K i d , T ) as input. The server first computes ( h i d u , B , h i ) as the same as in Sign. Then it check whether e ( V i , P ) = e ( h i d u R i d u + h i P P u b P i d u ) e ( r i P , B M i ) holds. It accepts the signature if the verification equation holds and rejects otherwise.
  • Aggregate: it takes as input S p a r a , Δ , and n distinct signatures σ i , i = 1 , , n on different messages M i from different users with corresponding identities i d u i and public keys P K i d u , i . The aggregator computes V = i = 1 n V i and outputs ( { Y i d , M i , P i d u , R i } i = 1 n , Δ , V ) as the aggregate signature for n messages.
  • Aggregate-Verify: taking as input S p a r a , ( { Y i d , M i , P i d u , R i } i = 1 n , Δ , V ) , and tuples ( i d u i , P K i d u i ) for i = 1 , 2 , , n , it operates as follows:
    • Compute h i d u = H 1 ( R i d u | | i d u | | P i d u ) , B = H 2 ( Δ ) , and h i = H 3 ( i d u i | | M i | | P K i d u , i | | R i ) .
    • Check whether e ( V , P ) = e ( i = 1 n ( h i d u R i d u + h i P P u b P i d u ) ) · e ( i = 1 n ( r i P B M i ) ) holds.
    • Return true if the above equation holds and return false otherwise.

4.2. Scheme Analysis

We show some drawbacks of Benil et al.’s CPV scheme, which will break its correctness.
  • 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 r i d s Z q * and computes R i d s = r i d s P , h i d s = H 1 ( R i d s | | i d s | | P i d s ) . It then computes and sets d i d s = r i d s + h i d s x as the server’s partial private key. In this process, the KGC needs to use P i d s for obtaining h i d s ; however, the value P i d s 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 S p a r a , the partial private-key d i d s , and the secret value Y i d s as input and sets its private key as d k i d s = ( i d s , x i d s ) . However, x i d s is not defined before. Moreover, the partial private-key d i d s 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 S p a r a and a secret value Y i d s chosen by the server in Set-Secret-Value. It computes P i d s = Y i d s P , and the public key of the server is P K i d s = ( P i d s , Y i d s ) . 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 R i d = r i d P . However, neither R i d nor r i d has been defined. According to the description of Sign and Verify, the equation should be R i = r i P .
  • The verification equation in Verify does not hold. In the CPV scheme, a single signature for a message is valid if the verification equation e ( V i , P ) = e ( h i d u R i d u + h i P P u b P i d u ) e ( r i P , B M i ) holds. The authors in [19] claimed its correctness as follows:
    e ( V i , P ) = e ( d i d u + r i B M i + h i Y i d u P P u b , P ) = e ( d i d u , P ) · e ( r i B M i , P ) · e ( h i Y i d u P P u b , P ) = e ( r i d u + h i d u x , P ) · e ( r i B M i , P ) · e ( h i Y i d P P u b , P ) = e ( h i d u x , r i d u P ) · e ( x P ) · e ( r i P , B M i ) · e ( h i Y i d P , P P u b ) = e ( h i d u , R i d u ) · e ( P P u b ) · e ( r i P , B M i ) · e ( h i P i d u , P P u b ) = e ( h i d u R i d u P P u b ) · e ( r i P , B M i ) · e ( h i P P u b , P i d u ) = e ( h i d u R i d u + h i P P u b P i d u ) e ( r i P , B M i ) .
    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.
Obviously, the above analysis shows the proposed CPV scheme is incorrect. It is also for this reason that we do not offer any suggestions for the scheme’s improvement. Moreover, since the CPA scheme is built on top of the CPV scheme, its correctness also cannot be guaranteed.
Real-world dangers. Our analysis shows that the proposed protocol fails to achieve correctness. This means that it cannot achieve the security and privacy properties claimed by Benil et al. If the scheme in [19] is adopted in reality, the patient’s privacy-sensitive EHR data will be exposed to unprotected environments. For example, because the CPV scheme loses its function, the authenticity and integrity of the shared EHR data cannot be assured. In this situation, malicious entities may tamper with the real data. Moreover, this may mislead doctors to make an incorrect diagnosis, which is extremely dangerous for the patient’s life.

5. Conclusions

In this work, we analyzed two recent privacy-preserving authentication schemes for smart healthcare applications, i.e., Ogundoyin et al.’s PAASH in [2] and Benil et al.’s ECACS scheme in [19]. More concretely, we observed that the underlying CLAS scheme in PAASH construction cannot achieve correctness and unforgeability. We found that the batch verification process in their CLAS scheme was incorrect because the verification equation cannot be validated. In addition, our attack showed that any Type I attacker can impersonate a patient to forge a valid signature on his false healthcare information, which may lead healthcare professionals to make incorrect diagnoses of a patient’s health condition. We discussed the reason for our attack and suggested an improved PAASH + scheme, which overcomes the design flaws of PAASH and simultaneously achieves aggregate authentication, fine-grained access control, and data confidentiality. In addition, we demonstrated that Benil et al.’s ECACS scheme had many drawbacks and was incorrect. Our analysis showed that both the above two recent schemes are not suitable to be deployed in practical smart health applications. We hope our analysis will improve the design of such schemes in future work.

Author Contributions

Conceptualization, F.X.; Methodology, F.X.; Writing—original draft, F.X.; Writing—review and editing, J.L. and R.Z. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Data Availability Statement

No data was used for the research described in the article.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. 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).
  2. 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]
  3. 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]
  4. 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]
  5. 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]
  6. 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]
  7. 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]
  8. 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]
  9. 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]
  10. 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]
  11. 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]
  12. 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]
  13. 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]
  14. 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]
  15. 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]
  16. 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]
  17. 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]
  18. 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]
  19. Benil, T.; Jasper, J. Cloud based security on outsourcing using blockchain in E-health systems. Comput. Netw. 2020, 178, 107344. [Google Scholar] [CrossRef]
  20. Galbraith, S.D.; Gaudry, P. Recent progress on the elliptic curve discrete logarithm problem. Des. Codes Cryptogr. 2016, 78, 51–72. [Google Scholar] [CrossRef]
  21. 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]
  22. Shim, K. Security models for certificateless signature schemes revisited. Inf. Sci. 2015, 296, 315–321. [Google Scholar] [CrossRef]
  23. 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]
  24. 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]
  25. Paterson, K.G. Cryptography from pairings. Lond. Math. Soc. Lect. Note Ser. 2006, 317, 215. [Google Scholar]
Figure 1. An example of the Type I attack.
Figure 1. An example of the Type I attack.
Mathematics 11 03314 g001
Table 1. Notations and descriptions.
Table 1. Notations and descriptions.
NotationsDescriptions
System security parameter
p a ABE Attribute-based parameter
x ABE Attribute-based master secret key
p p a r a m System public parameter
H i Hash function, i = 1 , 2 , 3
( I D i , L i a t t ) Patient P i ’s identity and attribute list
S K i a t t P i ’s attribute-based secret key
P S K i P i ’s partial secret key
( S K i , P K i ) (Full) secret key and public key of P i
m i P i ’s healthcare data
c p o i Ciphertext of m i under S K i a t t
σ i Signature of c p o i
σ Aggregate signature
Table 2. Comparison of features with several related schemes.
Table 2. Comparison of features with several related schemes.
SchemeCorrectnessResist Type I AttackResist Type II AttackAuthenticationAccess ControlConfidentiality
[13]××
[2]×××
PAASH +
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.

Share and Cite

MDPI and ACS Style

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

AMA Style

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 Style

Xu, 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

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