Next Article in Journal
Continuous Rotor Dynamics of Multi-Disc and Multi-Span Rotor: A Theoretical and Numerical Investigation on the Continuous Model and Analytical Solution for Unbalance Responses
Next Article in Special Issue
Containerized Microservices Orchestration and Provisioning in Cloud Computing: A Conceptual Framework and Future Perspectives
Previous Article in Journal
Comparison of the Axial Fan and Synthetic Jet Cooling Systems
Previous Article in Special Issue
CloudOps: Towards the Operationalization of the Cloud Continuum: Concepts, Challenges and a Reference Framework
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

CLAP-PRE: Certificateless Autonomous Path Proxy Re-Encryption for Data Sharing in the Cloud

Shanghai Key Laboratory of Trustworthy Computing, East China Normal University, Shanghai 200062, China
*
Author to whom correspondence should be addressed.
Appl. Sci. 2022, 12(9), 4353; https://doi.org/10.3390/app12094353
Submission received: 1 March 2022 / Revised: 18 April 2022 / Accepted: 22 April 2022 / Published: 25 April 2022
(This article belongs to the Special Issue Cloud Computing Beyond)

Abstract

:
In e-health systems, patients encrypt their personal health data for privacy purposes and upload them to the cloud. There exists a need for sharing patient health data with doctors for healing purposes in one’s own preferred order. To achieve this fine-gained access control to delegation paths, some researchers have designed a new proxy re-encryption (PRE) scheme called autonomous path proxy re-encryption (AP-PRE), where the delegator can control the whole delegation path in a multi-hop delegation process. In this paper, we introduce a certificateless autonomous path proxy re-encryption (CLAP-PRE) using multilinear maps, which holds both the properties (i.e., certificateless, autonomous path) of certificateless encryption and autonomous path proxy re-encryption. In the proposed scheme, (a) each user has two public keys (user’s identity and traditional public key) with corresponding private keys, and (b) each ciphertext is first re-encrypted from a public key encryption (PKE) scheme to an identity-based encryption (IBE) scheme and then transformed in the IBE scheme. Our scheme is an IND-CPA secure CLAP-PRE scheme under the k-multilinear decisional Diffie–Hellman (k-MDDH) assumption in the random oracle model.

1. Introduction

1.1. Background

In recent years, the rapid development of electronic medicine has benefitted from the development of Internet of Things and mobile communication equipment. Personal health data can be collected in a comprehensive way by using wireless sensors. Through the communication network, personal health data can be transmitted to the data center and then transmitted to remote experts or doctors with some additional information for healing purposes through the cloud server. By this way, the communication overhead of the patient is reduced. With this benefit, an increasing number of patients outsource their personal health data to data centers. However, the crux of the matter is data privacy. As we all know, personal health data contains a lot of sensitive information, such as patients’ identity, case report and inspection report. Malicious users or data centers can easily access this privacy data if stored in plaintext. To achieve privacy, these data must be stored in data centers with encrypted forms. Due to the encrypted data, sharing data with the experts or doctors would be a significant issue.
A common solution is that patients download and decrypt the encrypted data locally, then encrypt the data with a corresponding public key. In contrast to inefficient methods, proxy re-encryption (PRE) has been proposed as a better solution. The concept of proxy re-encryption was introduced in 1998 by Blaze et al. [1]. Proxy re-encryption is used to deal with the ciphertext transformation in the same data encryption system. Ateniese et al. [2] classified PRE schemes into four different types. If the ciphertext can be transformed more than once, i.e., from A to B, and then from B to C, we call this multi-hop; otherwise, it is a single-hop. If the ciphertext can be transformed from A to B, at the same time, from B to A, we call this bidirectional; otherwise, it is unidirectional. In a proxy re-encryption scheme, data are stored in encrypted form. In order to share the data with experts or doctors, the patient generates a re-encryption key and sends it to the cloud server. With the re-encryption key, the cloud server can transform the ciphertext under the patient’s public key to that under the expert’s or doctor’s public key without knowing the plaintext. Solutions for proxy re-encryption have been proposed in the literature [2,3,4,5]. In a multi-hop proxy re-encryption scheme, the delegatee i may further delegates the decryption privilege to another delegatee, say j. In this case, it is possible that there is no relation between delegatee j and the delegator. This means, in a multi-hop proxy re-encryption scheme, the ciphertext may be re-encrypted to a delegatee who is unknown to the delegator. This may leak the privacy of the data, so a multi-hop PRE scheme is desired in which the delegator can control all of the delegatees. A cryptographic solution to fulfill the above requirements is autonomous path proxy re-encryption (AP-PRE) [6].
For a better understanding of the autonomous path proxy re-encryption, we illustrate it with the Figure 1 in the following scenario: suppose that A is a patient who wants to make an online treatment in hospital H. Making an online treatment requires some information which is sensitive. Patient A just wants to share the information with his/her favourite doctors, so A makes a list of his/her favourite doctors. For the privacy of the information, A uses his/her public key to encrypt the information and generates the corresponding re-encryption keys of his/her doctor list. Then, A uploads the encrypted information and re-encryption keys to the proxy. We suppose that the priority of the doctors in the list are from high to low. Therefore, the proxy re-encrypts the information from D 1 to D n . If one of the doctors has no time to deal with the online treatment, the process of re-encryption continues; otherwise, the process of re-encryption stops.
In this scenario, Cao et al. [6] constructed a flexible PRE scheme called autonomous path proxy re-encryption (AP-PRE), where the delegator could control the next delegatee if the previous delegatee of his choice could not complete the decryption. In Cao’s scheme [6], (a) there must be a certificate authority (CA) which is fully trusted and responsible for generating, distributing and managing certifications for users, and (b) Figure 2 shows that the delegation path can be forked by a malicious data user when sharing data multiple times with the same delegation path.
Here, we show how to fork the delegation path. Recall the re-encryption key from j 1 j , and the ciphertext for j, where j 2 , the re-encryption key, is formed as ( g r j , X j · e ( g 1 , p k i j r j ) , H ( X j ) H ( X j 1 ) ) and the ciphertext is g r , m · e ( g r , H ( X j ) ) , g r j , X j · e ( g 1 , p k i j r j ) in [6]. User j decrypts g r j , X j · e ( g 1 , p k i j r j ) to get X j , then decrypts m · e ( g r , H ( X j ) ) , g r to get message m. When sharing data with the same delegation path, the malicious user j can generate the re-encryption key using X j . For example, the re-encryption key from j ( j + 1 ) is ( g r ( j + 1 ) , X ( j + 1 ) · e ( g 1 , p k i ( j + 1 ) r ( j + 1 ) ) , H ( X ( j + 1 ) ) H ( X j ) ) . Thus, the malicious data user can fork the delegation path when sharing data with the same delegation path.

1.2. Our Techniques

The main reason why the malicious data user can fork the delegation path is that the re-encryption keys are irrelevant to the data owner’s private key apart from the first re-encryption key. In our scheme, the re-encrypted ciphertext still maintains some secret value (x in our scheme) that belongs to the data owner. Thus, in order to decrypt successfully, the re-encryption keys must include the secret value. Anyone who does not know the secret value can not generate a valid re-encryption key even if he is a valid data user.

1.3. Our Contributions

In this paper, we address the above challenge by proposing a certificateless autonomous path proxy re-encryption (CLAP-PRE). So far as we know, this is the first certificateless autonomous path proxy re-encryption scheme. Our CLAP-PRE scheme is based on the AP-PRE scheme recently proposed by Cao et al. [6]. It is also worth showing the following features of our constructions:
  • Certificateless. To achieve the goal of removing the certificate authority, we introduce the certificateless public key cryptography to construct our CLAP-PRE scheme;
  • Stronger Autonomous Path. This is the most important contribution. We show how to fork the delegation path in Section 1.1 and how to address it in Section 1.2. The delegation path can not be forked by the malicious data user when sharing data with the same delegation path;
  • Non-interactive. For CLAP-PRE, user A can generate re-encryption keys for delegatees with only the delegatees’ identities. The process of generating re-encryption keys does not need to interact with the delegatees.

1.4. Related Work

Since the concept of PRE was introduced by Blaze et al. [1], there have been many papers that have proposed PRE schemes with different properties to meet various application demands, and most of them focus on unidirectional PRE. The first CCA security unidirectional PRE scheme without random oracle was proposed in 2008 by Libert and Vergnaud [7]. Guo et al. [8] proposed a traceable unidirectional PRE scheme to prevent the proxy from abusing its re-encryption keys. Green and Ateniese [5] proposed the first identity-based PRE (IBPRE) scheme, in which the ciphertext can be re-encrypted from one identity to another identity. Later, many solutions [9,10] were proposed to meet this requirement. Xu et al. [11] introduced IBBE into IBE to construct an IBBE-based PRE scheme. There also exist many other extensions of the PRE scheme, such as time-based PRE [12], attribute-based PRE [13,14], function-based PRE [14], conditional PRE [15,16], etc.
Ciphertext only can be transformed in the same cryptosystem by deploying the above schemes. In fact, there are many different cryptosystems that have been deployed. A cross-domain re-encryption scheme is also a requirement. Deng et al. [17] linked the identity-based encryption and the identity-based broadcast encryption by allowing the transformation of a ciphertext of the IBE system into a ciphertext of the IBBE system. Jiang et al. [18] constructed a concrete CDSS protocol which allowed the ciphertext to transform from the PKE scheme into an IBE scheme. Obviously, CDSS satisfies the cross-domain property. Döttling et al. [19] proposed a UPRE scheme. It is a general cross-domain proxy re-encryption scheme from an existing PKE scheme to another existing PKE scheme, which does not care about what the PKE scheme is.
However, these PRE schemes mainly provide ciphertext transformations, and the user cannot fully control the delegation path in these multi-hop PRE schemes. To address this problem, Cao et al. [6] constructed an autonomous path PRE scheme to enable a user to designate a path of his preferred data users. However, the scheme needs certificates for the user in the system (for more details, see [6]). All of the data users in the delegation path are selected by the user, and no one can branch off the designated delegation path with meaningful decryption. This paper aims to address autonomous path transformation in an identity-based setting.

1.5. Paper Organization

The paper is organized as follows. In Section 2, we introduce the preliminary knowledge of assumption which our CLAP-PRE scheme is based on. In Section 3, we describe its system and security model. In Section 4, the construction of our CLAP-PRE scheme is presented, followed by security proof and security analysis in Section 5. Finally, Section 6 contains the conclusion of this paper and future work.

2. Preliminaries

2.1. Autonomous Path Proxy Re-Encryption (AP-PRE)

An autonomous path proxy re-encryption is a new kind of proxy re-encryption scheme where the delegator can fully control the delegation path. It is a unidirectional and multi-hop proxy re-encryption. The delegator selects his preferred delegatees with different privileges. The delegator generates re-encryption keys for these delegatees. In an autonomous path proxy re-encryption scheme, the ciphertext under i’s public key can only be transformed on the autonomous path P a i , which is designated by the delegator i. No one can branch off the delegation path with meaningful decryption. The original ciphertexts can not be inserted into the delegation path which is not designated by the delegator.

2.2. Certificateless Signature

Certificateless cryptography was first proposed by Al-Riyami and Paterson in [20]. Certificateless cryptography is used to fill the gap between public key cryptosystems and identity-based cryptosystems. Certificateless cryptography does not require a certificate authority (CA) to ensure the authenticity of public keys and only relies on a trusted third party (KGC) who has the master-key. In this paper, we use the certificateless signature scheme to guarantee the authenticity of public keys. We use the certificateless signature scheme proposed by Choi et al. [21], which satisfies the requirements of certificateless signature schemes as defined in [20].

2.3. Bilinear Map

We briefly review the necessary facts about bilinear maps and bilinear map groups. Let G and G T be two cyclic multiplicative groups of the same prime order q > 2 λ , where λ is the security parameter, and let g be the generator of the group G. We define that e : G × G G T is a bilinear or pairing map if it satisfies the following conditions:
  • Bilinear: For all a , b Z q , g G , e ( g a , g b ) = e ( g , g ) a b ;
  • Non-degenerate: e ( g , g ) 1 G T , i.e., if G = < g > , then G T = < e ( g , g ) > ;
  • Computable: The map e is efficiently computable.
Generally, the map e is obtained from Tate or Weil pairings.

2.4. Multilinear Maps

We briefly review multilinear maps and multilinear groups (for more details, see [22,23,24]). Consider the following setting: given a security parameter λ and prime q > 2 λ , a k-multilinear map consists of k cyclic groups ( G 1 , , G k ) of prime order q, and g i is a generator of group G i . There exists a set of bilinear maps { e i j : G i × G j G i + j , | i , j 1 i + j k } . The k-multilinear map should satisfy the following conditions:
  • Given that g i and g j , then g i + j = e i j ( g i , g j ) ;
  • For all a , b Z q * , e i j ( g i a , g j b ) = e i j ( g i , g j ) a b ;
  • The map e i j is efficiently computable.
Since the multilinear maps is clear to us, we omit the indexes of pairing e i , j , i.e., e ( g i a , g j b ) = g i + j a b .

2.5. Complexity Assumptions

2.5.1. Computational Bilinear Diffie–Hellman Assumption

Consider two cyclic groups G × G G T of prime order q and a map e. The CBDH problem states that, given a tuple ( g , g a , g b , g c ) , where g is a generator which is randomly chosen and random a , b { 0 , , q 1 } , it is computationally intractable to compute the value e ( g , g ) a b c .

2.5.2. k-Multilinear Decisional Diffie–Hellman (k-MDDH) Assumption

The k-multilinear decisional Diffie–Hellman (k-MDDH) problem states the following: a challenger runs P a i r G e n ( 1 λ , k ) to generate groups and generators of order q. Then, it chooses b , a 1 , a 2 , , a k Z q randomly.
The assumption then states that given g , g b , g a 1   , , g a k , it is hard to distinguish T = g k b j = 1 k a j from a random group element in G k with the non-negligible advantage ϵ (in the security parameter λ ).

3. System and Security Model

3.1. System Model

Here, we use Figure 3 to describe the system model for the proposed CLAP-PRE scheme. The model contains three entities: the key generation center (KGC), the data owner (the data user) and the proxy.

3.1.1. Key Generation Center

The KGC provides a partial private key for the data owner and data users. It is wholly trusted. Different from the traditional certificateless encryption, we use the signature generated by the user to demonstrate that the identity and the public parameters belong to the same user.

3.1.2. Proxy

The proxy is equipped with a database that stores the encrypted data and the re-encryption keys for different data users generated by the different data owners. It performs the data re-encryption with corresponding re-encryption keys on the delegation path. The proxy is considered as honest but curious.

3.1.3. Data User/Data Owner

The data owner generates the delegation path along with the re-encryption keys and encrypted data, then uploads them to the proxy. The data user first queries for data access, then gets transformed encrypted data from the proxy. After receiving the encrypted data, the data user only can decrypt the data and has no right to transform the encrypted data to the user who is not in the delegation path. Note that in a multi-hop proxy re-encryption, the data user can transform the encrypted data to his own delegatee.

3.2. Security Model

In this part, we give the definition of the security model to prove that our scheme is an IND-CPA secure CLAP-PRE scheme under the k-multilinear decisional Diffie–Hellman (k-MDDH) assumption in the random oracle model.
  • SETUP: The challenger generates the system’s public parameters and gives them to the adversary;
  • FIND PHASE: The adversary is allowed to make queries O p k ( I D i ) , O s k ( I D i ) , O p a ( I D i ) , O r k ( I D i ) ;
    -
    On O p k ( I D i ) , return H 1 ( I D i ) and public parameters of I D i ;
    -
    On O s k ( I D i ) , return the decryption keys of I D i ;
    -
    On O p a ( I D i ) , return the delegation path of I D i ;
    -
    On O r k ( I D i ) , return the re-encryption keys of delegation path generated by I D i .
    At the end of this phase, the adversary submits two equal length messages M 0 , M 1 and an identity I D . The adversary A is restricted to choices of I D such that the decryption keys of I D has not been queried on O s k ( I D i ) , and the adversary A cannot translate the ciphertext from I D to I D , for which A holds the decryption keys by using re-encryption keys extracted during this phase;
  • CHALLENGE: The challenger randomly choose a value μ { 0 , 1 } and returns the ciphertext of M μ under the delegator’s public key I D ;
  • GUESS: A makes queries as in the FIND phase with the same restrictions. At the end of this phase, the adversary submits a guess, μ { 0 , 1 } , of μ .
If μ = μ , the A wins the game. A ’s advantage in the above game, A d v A I N D C L A P P R E C P A , is defined as | P r [ μ = μ ] 1 / 2 | . We say that the certificateless autonomous path proxy re-encryption scheme is IND-CLAPPRE-CPA-secure if for all probabilistic polynomial time algorithms A , A d v A I N D C L A P P R E C P A v ( λ ) .

4. CLAP-PRE Scheme

4.1. Definition

In this paper, we use λ to denote the security parameter. A CLAP-PRE scheme is a tuple of algorithms as follows.
  • S e t u p ( 1 λ ) ( p a r , m s k ) : The algorithm’s input is the system’s security parameter λ , and the algorithm’s output are the public parameters p a r of the cryptosystem and the master secret key m s k of the cryptosystem;
  • P P K E ( p a r , m s k , I D i ) d I D i : The algorithm’s inputs are the public parameters p a r of the cryptosystem, the master secret key m s k of the cryptosystem and a user’s identity I D i , the key generation center (KGC) outputs the partial private key d I D i for the user I D i ;
  • U K G ( p a r , d I D i ) ( P K I D i , S K I D i ) : The algorithm’s inputs are the public parameters p a r of the cryptosystem and the partial private key d I D i generated by KGC, the user outputs the public key P K I D i and private key S K I D i ;
  • P r o o f ( p a r , S K I D i ) p r o o f : The algorithm’s inputs are the public parameters p a r of the crptosystem and the private key S K I D i . The user outputs the p r o o f to guarantee the authenticity of public key;
  • V e r i f y ( p a r , p r o o f ) { 0 , 1 } : The algorithm’s inputs are the public parameters p a r of the cryptosystem and the p r o o f , as well as the algorithm outputs 0 or 1. With output value 1, we say that p r o o f is a valid proof. Additionally, this means that the identity I D i and the corresponding public key P K I D i belong to the same user;
  • C r e a t e P a t h ( p a r , I D i ) ( P a I D i , l I D i ) : The algorithm’s inputs are the public parameters p a r of the cryptosystem and the identity I D i of the delegator, and the algorithm’s output are an autonomous delegation path P a I D i of length l I D i . The autonomous delegation path P a I D i = { I D 0 = I D i , I D 1 , , I D l I D i } designated by the delegator is a list of ordered l I D i different public keys. All of the keys in the sequence must be unique;
  • R K G e n ( p a r , P a I D i ) R K I D i : The algorithm’s inputs are the public parameters p a r of the cryptosystem and the delegation path P a I D i designated by the delegator; the algorithm outputs l I D i re-encryption keys ( r k I D i 0 1 , , r k I D i l I D i 1 l I D i ) and sends them to the proxy in a secure way;
  • E n c ( p a r , I D i , m ) C I D i 0 = ( c 00 , c 01 , c 02 , c 03 ) : The algorithm’s inputs are the public parameters p a r of the cryptosystem, the delegator’s identity I D i and a message m from the message space M, and the algorithm outputs the ciphertext C I D i 0 = ( c 00 , c 01 , c 02 , c 03 ) encrypted with the delegator’s public key I D i .
  • R e E n c ( p a r , P a I D i , r k I D i j j + 1 , C I D i j ) C I D i j + 1 = ( c ( j + 1 ) 0 , c ( j + 1 ) 1 , c ( j + 1 ) 2 , c ( j + 1 ) 3 ) : The algorithm’s inputs are the public parameters p a r of the cryptosystem, the delegation path P a I D i = ( I D 0 = I D i , I D 1 , , I D l I D i ) , the re-encryption key r k I D i j j + 1 from the delegatee j to the delegatee j + 1 and the ciphertext C I D i j sent to the delegatee j. It outputs the ciphertext C I D i j + 1 sent to the delegatee j + 1 who is in the delegation path P a I D i .
  • D e c ( p a r , S K I D j , C I D i j ) m : The algorithm’s inputs are the public parameters p a r of the cryptosystem, a ciphertext C I D i j and the corresponding secret key S K I D j ; it outputs the plaintext m in the message space M.

4.2. System Flow

First, every user in the cryptosystem needs to send his own identity to KGC and request KGC to generate a partial private key. The KGC runs the algorithm P P K E and sends the partial private key to the user in a secure way. After receiving the partial private key, the user runs the algorithm U K G to generate his own private key and public key. Then the user generates the proof of his public key using the algorithm P r o o f . Everyone can validate the proof using the algorithm V e r i f y without interacting with others.
Second, when a data owner wants to share his data with others, the data owner runs the algorithm C r e a t e P a t h to create a delegation path in his preferred order. The data owner generates the ciphertext and re-encryption keys using the algorithm E n c and the algorithm R K G e n . After that, the data owner sends the delegation path, the ciphertext and the re-encryption keys to the proxy.
Third, the proxy recovers the identities from the delegation path and the re-encryption keys from set R K I D i , then runs the algorithm R e E n c to re-encrypt the ciphertext. The proxy needs to query the delegatee if he wants to deal with the encrypted data. If so, the proxy sends the ciphertext to the delegatee; otherwise, the proxy finds the next delegatee along with the corresponding re-encryption key and repeats until a delegatee wants to decrypt.

4.3. Construction

Let P a i r G e n ( 1 λ ) be an algorithm that, on input of a security parameter 1 λ , outputs a tuple γ = ( q , G 1 , G 2 , G 3 , G 4 , e i j ) , where G 1 , G 2 , G 3 and G 4 are the cyclic group with the same prime order q and { e i j : G i × G j G i + j , | i , j 1 i + j 4 } are efficient non-degenerate multilinear maps such that for all a , b Z q , e ( g i a , g j b ) = e ( g i , g j ) a b .
  • S e t u p ( 1 λ ) ( p a r , m s k ) : The algorithm runs the group generator algorithm P a i r G e n ( 1 λ ) and gets the groups and the multilinear mapping description γ = ( q , G 1 , G 2 , G 3 , G 4 , e i j ) , G i = < g i > . The system’s parameters are generated as follows. We choose a master secret key α Z q randomly, set A = g 2 α G 2 and choose random elements u 1 in G 1 , B in G 2 . Let H 1 : { 0 , 1 } * G 1 , H 2 : { 0 , 1 } * G 2 , H 3 : G 2 Z q * , H 4 : { 0 , 1 } * Z q * be four collision-resistant hash functions. Thus, we can get the public parameters p a r = ( q , G 1 , G 2 , G 3 , G 4 , e i j , u 1 , A , B , H 1 , H 2 , H 3 , H 4 ) and the master secret key m s k = α , which is kept secretly by the key generation center (KGC);
  • P P K E ( p a r , m s k , I D i ) d I D i : Upon input of the public parameters p a r of the cryptosystem, the system’s master secret key m s k and a user’s identity I D i , the key generation center (KGC) computes the partial private key as follows. First, the KGC chooses a random value r Z q . Then KGC computes g 2 r , B α e ( u 1 , H 1 ( I D i ) ) r and H 2 ( I D i ) α . The partial private key of the user i with identity I D i is formed as:
    d I D i = { B α e ( u 1 , H 1 ( I D i ) ) r , g 2 r , H 2 ( I D i ) α } ;
  • U K G ( p a r , d I D i ) ( P K I D i , S K I D i ) : Upon input of the public parameters p a r of the cryptosystem and the partial private key d I D i generated by KGC, the user computes P K I D i and S K I D i as follows. First, the user randomly chooses a secret value x Z q * and sets P K I D i = { I D i , X = g 2 x , Y = B x } ; S K I D i = { S K I D i 0 , S K I D i 1 , S K I D i 2 , S K I D i 3 } = { B α e ( u 1 , H 1 ( I D i ) ) r , g 2 r , H 2 ( I D i ) α x H 3 ( X ) , x } .
  • P r o o f ( p a r , S K I D i ) p r o o f : Upon input of the public parameters p a r of the cryptosystem and the private key S K I D i , the user i randomly chooses a message p and a value s. The p r o o f is computed as follows:
    U = H 2 ( I D i ) s , V = ( S K I D i 2 ) s H 4 ( p , U ) ,
    p r o o f = { p , P K I D i , U , V } ;
  • V e r i f y ( p a r , p r o o f ) { 0 , 1 } : Upon input of the public parameters p a r of the cryptosystem and the p r o o f , the algorithm outputs 1 if and only if:
    e ( V , X H 3 ( X ) ) = = e ( U H 4 ( p , U ) , A ) ,
    and
    e ( X , B ) = = e ( g 2 , Y ) ;
  • C r e a t e P a t h ( p a r , I D i ) ( P a I D i , l I D i ) : Upon input of the public parameters p a r of the cryptosystem and the identity I D i of the delegator, it outputs an autonomous delegation path P a I D i of length l I D i . The autonomous delegation path P a I D i = { I D 0 = I D i , I D 1 , , I D l I D i } designated by the delegator is a sequence of ordered l I D i different public keys. All of the keys in the sequence must be unique;
  • R K G e n ( p a r , P a I D i ) R K I D i : Upon input of the public parameters p a r of the cryptosystem and the delegation path P a I D i designated by the delegator, the re-encryption keys are computed as follows:
    for j = 1 ,
    r k I D i 0 1 = H 1 ( I D 1 ) x ,
    for j 2 ,
    r k I D i j j + 1 = ( H 1 ( I D j + 1 ) H 1 ( I D j ) ) x ;
  • E n c ( p a r , I D i , m ) C I D i 0 : To encrypt the message m M , the algorithm selects t R Z q * and computes
    c 00 = m · e ( A , Y ) t , c 01 = B t ,
    c 02 = u 1 t , c 03 = X t ,
    C 0 I D i = ( c 00 , c 01 , c 02 , c 03 ) .
    The second ciphertext can be transformed along with the delegation path;
  • R e E n c ( p a r , r k I D i j j + 1 , C I D i j ) C I D i j + 1 : To transform a ciphertext encrypted with the public key I D j into the one encrypted with I D j + 1 in the delegation path P a I D i , the proxy computes as follows using the re-encryption key r k I D i j j + 1
    for j = 0 ,
    c 10 = c 00 , c 11 = c 02 , c 12 = e ( c 02 , r k I D i 0 1 ) , c 13 = c 03
    C I D i 1 = ( c 10 , c 11 , c 12 , c 13 ) .
    for j 1 ,
    c ( j + 1 ) 0 = c j 0 , c ( j + 1 ) 1 = c j 1 ,
    c ( j + 1 ) 2 = c j 2 · e ( c j 1 , r k I D i j j + 1 ) , c ( j + 1 ) 3 = c j 3 .
    C I D i j + 1 = ( c ( j + 1 ) 0 , c ( j + 1 ) 1 , c ( j + 1 ) 2 , c ( j + 1 ) 3 ) ;
  • D e c ( p a r , S K I D j , C ) m : For the original ciphertext formed as C I D j 0 = ( c 00 , c 01 , c 02 , c 03 ) , the decryption is
    m = c 00 e ( A S K I D j 3 , c 01 ) .
    For the transformed ciphertext formed as C I D i j = ( c j 0 , c j 1 , c j 2 , c j 3 ) , the decryptiopn is
    m = c j 0 · e ( S K I D j 3 , c j 2 ) e ( c j 3 , S K I D j 0 ) .
The proof of correctness can be found in Appendix A.

5. Security

5.1. Security Proof

Our CLAP-PRE scheme in Section IV is IND-CLAPPRE-CPA secure under the k-MDDH assumption in the random oracle model.
Proof. 
Suppose A can break our CLAP-PRE scheme with the non-negligible advantage ϵ in polynomial time in Section IV . There must another adversary B that can break the k-MDDH assumption with a non-negligible advantage by interacting with A .Adversary B accepts a tuple ( g 1 , g 1 a , g 1 b , g 1 c , g 1 d , g 1 e , T ) as input. We say that the tuple ( g 1 , g 1 a , g 1 b , g 1 c , g 1 d , g 1 e , g 4 a b c d e ) is a k-MDDH instance. B outputs 1 which indicates T = g 4 a b c d e ; otherwise, B outputs 0. In order to simplify the proof of the scheme, we use the techniques proposed in [25,26] to construct our O p k ( I D i ) and O s k ( I D i ) . B interacts with adversary A in the IND-CLAPPRE-CPA game as follows:
  • SETUP. B runs P a i r G e n ( 1 λ ) and gives the system’s parameters p a r = ( q , G 1 , G 2 , G 3 , G 4 , e i j , g i , A = e ( g 1 a , g 1 b ) = g 2 a b , u 1 = g 1 f , B = e ( u 1 , g 1 c ) , H 1 ) , f R Z q * to the adversary A . The master secret key is a b which is unknown to B .;
  • FIND PHASE. In this phase, adversary A issues some queries, and B answers these queries as follows:
    -
    First, B takes I D * { I D 1 , I D 2 , , I D n } at random. Adversary B guesses that I D * would be challenged by adversary A in the following phase;
    -
    On a O p k ( I D i ) query, B first randomly selects x i , y i Z q * . If I D i = I D * , B sets H 1 ( I D i ) = g 1 y i / f , X = g 2 d x i = e ( g 1 , g 1 d ) x i and Y = B d x i = e ( u 1 , g 1 c ) d x i = e ( g 1 d , g 1 c ) f x i . In this case, the user’s private key is { B a b e ( u 1 , H 1 ( I D i ) ) r , g 2 r , d x i } , which is unknown to B . Otherwise, B sets H 1 ( I D i ) = g 1 c g 1 y i / f , X = g 2 x i and Y = B x i .In this case, B does not know the user’s private key;
    -
    On a O p a ( I D i ) query, for the initial query of identity I D i , B creates a delegation path for I D i and gives it to the adversary. Otherwise, B returns ⊥;
    -
    On a O s k ( I D i ) query, if I D i = I D * , B aborts. Otherwise, B computes
    e ( u 1 , H 1 ( I D i ) ) r = ( B g 2 y i ) r = B a b B a b ( B g 2 y i ) r = B a b A y i ( B g 2 y i ) r a b B a b ( B g 2 y i ) r a b = A y i e ( u 1 , H 1 ( I D i ) ) r g 2 r a b = g 2 r A 1
    and gives them and x i to the adversary;
    -
    On a O r k ( I D i ) query, if I D i I D * , this means adversary B knows the user’s private key, and B runs R K G e n ( p a r , P a I D i ) to generate re-encryption keys. If I D i = I D * , this means adversary B does not know the user’s private key, and B computes the re-encryption key r k I D i as follows:
    *
    B selects Z 1 , , Z l I D i R G 1 ;
    *
    B sets r k I D i 0 1 = Z 1 . Note that adversary A can not distinguish the real view and simulated view, because r k I D i 0 1 = H 1 ( I D 1 ) S K I D i 3 G 1 ;
    *
    B sets r k I D i j j + 1 = Z j + 1 Z j .
    Finally, B gives the re-encryption keys to the adversary;
  • CHALLENGE. Adversary B can end the QUERY phase at any time. A outputs a delegator user with identity I D and two messages m 0 , m 1 G 4 of equal length. If I D I D * , B aborts. Otherwise, B selects μ { 0 , 1 } at random. Finally, B computes the original challenge ciphertext and text as follows:
    C I D 0 = ( m μ · e ( A , B d x ) e = m μ · T f x , B e = e ( g 1 e , g 0 c ) f ,
    u 1 e = g 1 f e , X e = g 2 d x e = e ( g 1 , g 1 ) d x e = e ( g 1 d , g 1 e ) x )
    C I D i I D = ( m μ · e ( A , B d x i ) e = m μ · T f x i ,
    e ( u 1 e , H 1 ( I D ) d x i ) = e ( g 1 e f , g 1 d y x i / f )
    u 1 e = g 1 f e , X e = g 2 d x i e = e ( g 1 , g 1 ) d x i e = e ( g 1 d , g 1 e ) x i )
    C I D 0 is a valid original ciphertext, and C I D i I D is a valid re-encrypted ciphertext in the system. At the end, B sends them to A as the challenge ciphertext;
  • GUESS. Adversary A can repeat the FIND phase with the same restrictions. At the end of this phase, A returns a guess μ , where μ { 0 , 1 } . If μ = μ , B returns 1, it indicates that T = g 4 a b c d e ; otherwise, B returns 0, in which case it indicates that T is a random element in G 4 .
If B aborts in the simulation, B randomly returns 0 or 1. The adversary A can not distinguish the real world and the simulation. Thus, the challenge B ’s advantage in solving the k-MDDH problem is at least ϵ n ( 1 q n ) , where ϵ is the non-negligible probability with which A can break our CLAP-PRE scheme. □

5.2. Security Analysis

  • We use the certificateless signature scheme to guarantee the authenticity of public keys. If the signature published by the user is valid, the authenticity of public key is verified. However, the certificateless signature scheme in [21] has only one public key (X in our scheme), so we use another equation to guarantee the authenticity of another public key (Y in our scheme). This equation demonstrates that X and Y have the same power x.
  • Anyone who wants to fork the delegation path with meaningful decryption (i.e., from j ( j + 1 ) ) must first compute r k I D i j ( j + 1 ) = ( H 1 ( I D j 1 / H 1 ( I D j ) ) ) x and then compute e ( u 1 t , r k I D i j ( j + 1 ) ) = e ( u 1 t , ( H 1 ( I D ( j + 1 ) ) H 1 ( I D j ) ) x ) . It is obvious that computing this is the same difficulty as CBDH problem without knowing x. That means no one can fork the delegation path with a meaningful decryption even if the data user is on the delegation path.

6. Conclusions

In this paper, we have presented a certificateless autonomous path proxy re-encryption scheme which combines the advantages of an autonomous path PRE and certificateless encryption. We first put forward the concept of double public keys in the autonomous path proxy re-encryption scheme. In order to fully control the delegation path, we only transform the ciphertext under one of the public keys, and the transformed ciphertext still includes the information of another public key, so that the ciphertext is still under control of the data owner.

Author Contributions

Writing—original draft preparation, C.R.; validation, Y.Z.; writing—review and editing, J.S.; supervision, X.D. and Z.C. All authors have read and agreed to the published version of the manuscript.

Funding

This work was supported in part by the National Key Research and Development Program of China (Grant No. 2020YFA0712300), in part by the National Natural Science Foundation of China (Grant No. 62172162, 62132005), in part by Shanghai Trusted Industry Internet Software Collaborative Innovation Center. Xiaolei Dong, Zhenfu Cao, and Jiachen Shen are the corresponding authors.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

Appendix A. Correctness of CLAP-PRE Scheme

In this section, we will demonstrate the correctness of the proposed CLAP-PRE Scheme, including the verification of the proof and the decryption of the ciphertext.
  • Verification:
    e ( V , X H 3 ( X ) ) = e ( ( S K I D i 2 ) s H 4 ( p , U ) , X H 3 ( X ) ) = e ( ( H 2 ( I D i ) α x H 3 ( X ) ) s H 4 ( p , U ) , ( g 2 x ) H 3 ( X ) ) = e ( H 2 ( I D i ) α s H 4 ( p , U ) , g 2 ) = e ( H 2 ( I D i ) s H 4 ( p , U ) , g 2 α ) = e ( ( H 2 ( I D i ) s ) H 4 ( p , U ) , A ) = e ( U H 4 ( p , U ) , A )
    e ( X , B ) = e ( g 2 x , B ) = e ( g 2 , B x ) = e ( g 2 , Y )
  • Decryption:
    -
    Case 1:
    m = c 00 e ( A S K I D j 3 , c 01 ) = m · e ( A , B x ) t e ( A x , B t ) = m · e ( A , B ) x t e ( A , B ) x t
    -
    Case 2:
    m = c j 0 · e ( S K I D j 1 , c j 2 ) e ( c j 3 , S K I D j 0 ) = c j 0 · e ( g 2 r , e ( u 1 , H 1 ( I D j ) ) x t ) e ( X t , B α e ( u 1 , H 1 ( I D i ) ) r ) = c j 0 · e ( g 2 , e ( u 1 , H 1 ( I D i ) ) ) r x t e ( A , B ) x t · e ( g 2 , e ( u 1 , H 1 ( I D i ) ) r x t ) = m · e ( A , B ) x t e ( A , B ) x t

References

  1. Blaze, M.; Bleumer, G.; Strauss, M. Divertible Protocols and Atomic Proxy Cryptography. EUROCRYPT. In Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 1998; Volume 1403, pp. 127–144. [Google Scholar]
  2. Ateniese, G.; Fu, K.; Green, M.; Hohenberger, S. Improved proxy re-encryption schemes with applications to secure distributed storage. ACM Trans. Inf. Syst. Secur. 2006, 9, 1–30. [Google Scholar] [CrossRef]
  3. Tang, F.; Li, H.; Chang, J. Multi-Hop Unidirectional Proxy Re-Encryption from Multilinear Maps. IEICE Trans. Fundam. Electron. Commun. Comput. Sci. 2015, 98-A, 762–766. [Google Scholar] [CrossRef]
  4. Wang, H.; Cao, Z. More efficient CCA-secure unidirectional proxy re-encryption schemes without random oracles. Secur. Commun. Netw. 2013, 6, 173–181. [Google Scholar] [CrossRef]
  5. Green, M.; Ateniese, G. Identity-Based Proxy Re-encryption. ACNS. In Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2007; Volume 4521, pp. 288–306. [Google Scholar]
  6. Cao, Z.; Wang, H.; Zhao, Y. AP-PRE: Autonomous path proxy re-encryption and its applications. IEEE Trans. Dependable Secur. Comput. 2017, 16, 833–842. [Google Scholar] [CrossRef]
  7. Libert, B.; Vergnaud, D. Unidirectional Chosen-Ciphertext Secure Proxy Re-encryption. Public Key Cryptography. In Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2008; Volume 4939, pp. 360–379. [Google Scholar]
  8. Guo, H.; Zhang, Z.; Xu, J.; An, N.; Lan, X. Accountable Proxy Re-Encryption for Secure Data Sharing. IEEE Trans. Dependable Secur. Comput. 2021, 18, 145–159. [Google Scholar] [CrossRef]
  9. Wang, H.; Cao, Z.; Wang, L. Multi-use and unidirectional identity-based proxy re-encryption schemes. Inf. Sci. 2010, 180, 4042–4059. [Google Scholar] [CrossRef]
  10. Shao, J.; Cao, Z. Multi-use unidirectional identity-based proxy re-encryption from hierarchical identity-based encryption. Inf. Sci. 2012, 206, 83–95. [Google Scholar] [CrossRef]
  11. Xu, P.; Jiao, T.; Wu, Q.; Wang, W.; Jin, H. Conditional Identity-Based Broadcast Proxy Re-Encryption and Its Application to Cloud Email. IEEE Trans. Comput. 2016, 65, 66–79. [Google Scholar] [CrossRef]
  12. Yang, Y.; Ma, M. Conjunctive Keyword Search with Designated Tester and Timing Enabled Proxy Re-Encryption Function for E-Health Clouds. IEEE Trans. Inf. Forensics Secur. 2016, 11, 746–759. [Google Scholar] [CrossRef]
  13. Ge, C.; Susilo, W.; Fang, L.; Wang, J.; Shi, Y. A CCA-secure key-policy attribute-based proxy re-encryption in the adaptive corruption model for dropbox data sharing system. Des. Codes Cryptogr. 2018, 86, 2587–2603. [Google Scholar] [CrossRef]
  14. Liang, K.; Au, M.H.; Liu, J.K.; Susilo, W.; Wong, D.S.; Yang, G.; Phuong, T.V.X.; Xie, Q. A DFA-Based Functional Proxy Re-Encryption Scheme for Secure Public Cloud Data Sharing. IEEE Trans. Inf. Forensics Secur. 2014, 9, 1667–1680. [Google Scholar] [CrossRef]
  15. Chu, C.; Weng, J.; Chow, S.S.M.; Zhou, J.; Deng, R.H. Conditional Proxy Broadcast Re-Encryption. ACISP. In Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2009; Volume 5594, pp. 327–342. [Google Scholar]
  16. Weng, J.; Deng, R.H.; Ding, X.; Chu, C.; Lai, J. Conditional proxy re-encryption secure against chosen-ciphertext attack. In Proceedings of the 4th International Symposium on Information, Computer, and Communications Security, Sydney, Australia, 10–12 March 2009; pp. 322–332. [Google Scholar]
  17. Deng, H.; Qin, Z.; Wu, Q.; Guan, Z.; Deng, R.H.; Wang, Y.; Zhou, Y. Identity-Based Encryption Transformation for Flexible Sharing of Encrypted Data in Public Cloud. IEEE Trans. Inf. Forensics Secur. 2020, 15, 3168–3180. [Google Scholar] [CrossRef]
  18. Jiang, P.; Ning, J.; Liang, K.; Dong, C.; Chen, J.; Cao, Z. Encryption Switching Service: Securely Switch Your Encrypted Data to Another Format. IEEE Trans. Serv. Comput. 2021, 14, 1357–1369. [Google Scholar] [CrossRef] [Green Version]
  19. Döttling, N.; Nishimaki, R. Universal Proxy Re-Encryption. Public Key Cryptography (1). In Lecture Notes in Computer Science; Springer: Cham, Switzerland, 2021; Volume 12710, pp. 512–542. [Google Scholar]
  20. Al-Riyami, S.S.; Paterson, K.G. Certificateless Public Key Cryptography. ASIACRYPT. In Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2003; Volume 2894, pp. 452–473. [Google Scholar]
  21. Choi, K.Y.; Park, J.H.; Hwang, J.Y.; Lee, D.H. Efficient Certificateless Signature Schemes. ACNS. In Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2007; Volume 4521, pp. 443–458. [Google Scholar]
  22. Boneh, D.; Silverberg, A. Applications of Multilinear Forms to Cryptography. IACR Cryptol. ePrint Arch. 2002, 324, 80. [Google Scholar]
  23. Coron, J.; Lepoint, T.; Tibouchi, M. Practical Multilinear Maps over the Integers. CRYPTO (1). In Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2013; Volume 8042, pp. 476–493. [Google Scholar]
  24. Garg, S.; Gentry, C.; Halevi, S. Candidate Multilinear Maps from Ideal Lattices. EUROCRYPT. In Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2013; Volume 7881, pp. 1–17. [Google Scholar]
  25. Waters, B. Efficient Identity-Based Encryption without Random Oracles. EUROCRYPT. In Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2005; Volume 3494, pp. 114–127. [Google Scholar]
  26. Boneh, D.; Boyen, X. Secure Identity Based Encryption without Random Oracles. CRYPTO. In Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2004; Volume 3152, pp. 443–459. [Google Scholar]
Figure 1. Electronic Health Records Sharing with Patient’s Preferred Doctors.
Figure 1. Electronic Health Records Sharing with Patient’s Preferred Doctors.
Applsci 12 04353 g001
Figure 2. Forked By Malicious Data User.
Figure 2. Forked By Malicious Data User.
Applsci 12 04353 g002
Figure 3. Data Sharing in Cloud.
Figure 3. Data Sharing in Cloud.
Applsci 12 04353 g003
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Ren, C.; Dong, X.; Shen, J.; Cao, Z.; Zhou, Y. CLAP-PRE: Certificateless Autonomous Path Proxy Re-Encryption for Data Sharing in the Cloud. Appl. Sci. 2022, 12, 4353. https://doi.org/10.3390/app12094353

AMA Style

Ren C, Dong X, Shen J, Cao Z, Zhou Y. CLAP-PRE: Certificateless Autonomous Path Proxy Re-Encryption for Data Sharing in the Cloud. Applied Sciences. 2022; 12(9):4353. https://doi.org/10.3390/app12094353

Chicago/Turabian Style

Ren, Chengdong, Xiaolei Dong, Jiachen Shen, Zhenfu Cao, and Yuanjian Zhou. 2022. "CLAP-PRE: Certificateless Autonomous Path Proxy Re-Encryption for Data Sharing in the Cloud" Applied Sciences 12, no. 9: 4353. https://doi.org/10.3390/app12094353

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