Telco systems usually run large-scale, centralized key management systems. However, centralized approaches based on conventional public key encryption like RSA raise problems such as key escrow, secure channel to delivery key, and third-party query as well as single point of failure. To address these problems, we propose both certificate-based encryption (CBE) and hierarchical certificate-based encryption (HCBE) schemes proved secure in the standard model. Compared with other schemes, our schemes are proved IND-CCA2 (Indistinguishability under Adaptive Chosen Ciphertext Attack) secure in full model, where the number of group elements is independent of the value of security parameter. As far as we know, the proposed HCBE is the first fully IND-CCA2 secure scheme with ciphetexts of constant size.
In 2003, Gentry [1] proposed a new notion of certificate-based encryption (CBE) whose construction is based on Boneh-Franklin identity-based encryption (IBE) scheme [2]. The first advantage of the new paradigm is that it overcomes the key escrow problem in IBE. The problem states that without permission of any user the key generation center can decrypt any ciphertext because it can generate the decryption key for the user. Unfortunately, this is not acceptable in some applications. In the case of CBE, decryption requires both the secret key of a keyholder and an up-to-date certificate from certificate authority (CA). In fact, the certificate serves as the decryption key in IBE, which is generated based on user’s indentity information and master secret key. The CA does not know the secret key of the user so that it cannot decrypt any ciphertext of the user. Another advantage of CBE when compared with IBE is that it does not require a secure channel to deliver the certificate (decryption key in the case of IBE) to the user.
CBE still needs an infrastructure to distribute the certificate. In this case, the certificate is required at a receiver’s side rather than a sender’s side unlike in the conventional public key encryption (PKE) [3]. The questions are, how to protect the public key and what is the role of certificate in a CBE? These questions can be answered as follows: the certificate is generated based on the public key of a user; this certificate’s update information is continously sent to the user who possesses the public key (this update may be performed hourly, for example); whenever the public key is found to be invalid, the user will stop issuing the up-to-date certificate, and hence the user cannot decrypt the current or incoming ciphertext.
Compared with the traditional PKEs, CBE makes it more efficient to construct a public key system because CBE does not cause third-party-query problem which is one of the reasons that make public key infrastructures of PKE inefficient. The problem means that whenever a user Alice encrypt a message to Bob, she needs to query for Bob’s certificate status to ensure that the public key certainly belongs to Bob. In contrast, in CBE, the sender Alice does not need to care about the certificate status of the receiver Bob. Instead, Bob will take care of his certificate status by himself in order to decrypt incoming ciphertexts.
Related work
In 2003, the first CBE scheme was proposed by Gentry [1]. The idea of the first CBE scheme is based on IBE scheme of Boneh-Franklin [2]. After that, many CBE schemes in the random oracle model were proposed in [4–13]. In 2004, Canetti, Halevi and Katz [14] introduced a generic method to convert a CPA (Chosen Plaintext Attack)-secure HIBE (Hierarchical IBE) into a CCA (Chosen Ciphertext Attack)-secure HIBE without random oracle. In 2005, Dodis and Katz [5] proposed a generic construction to build a new IND-CCA2 (Indistinguishability under Adaptive Chosen Ciphertext Attack) secure multiple encryption from PKE schemes which are IND-CCA2 secure. This result can be used to construct a generic IND-CCA2 CBE scheme secure in the standard model. They combined three defferent schemes: one-time signature (OTS) [15], CCA-secure IBE scheme and public key encryption scheme. The disadvantage of this technique is long-sized ciphertexts and inefficency in terms of performance. In [16], Morillo proposed a CBE scheme in the standard model. The scheme was proved to be secure in the selective model based on the IBE scheme of Waters (2005) [17]. Based on the idea of Dodis and Katz, Galindo [18] proposed a CBE scheme secure in the standard model with shorter ciphertext and improved performance by using Waters (2005) [17] and Boneh-Boyen (2004) [19] IBE schemes. In 2009, Lu and Li gave a generic construction of CBE scheme in the standard model [20]. Recently, many applications of CBE have been proposed. Hyla and Pejas [22] proposed a certificate-based group-oriented encryption scheme with an effective secret sharing based on general access structure. Sur et al. [23] proposed a certificate-based proxy re-encryption for public cloud storage which has the advantages of CBE while providing the functionalities of proxy re-encryption. Fan et al. [24] proposed anonymous multi-receiver CBE that is CPA secure.
Basic ideas
In this paper, we firstly propose a new CBE scheme in standard model. The one is used as the fundamental to build an HCBE (Hierarchical CBE) scheme in standard model with short length of ciphertext.
The need of the HCBE is due to the fact that workload of the CA in a CBE system is extremely high because it has to continuously update the certificate for every users who have registered the public key and identity information. The task of issuing certificates and reissuing up-to-date certificates should be at regular time interval (for example, hourly). In [1], Gentry uses the Subset cover to reduce the workload, but when the scale of the system is big, the task will be computationally intensive one. Our basic idea to address this problem is to introduce hierarchy to CBE. The HCBE scheme will reduce the workload of the CA by delegating the task of CA to its lower levels. Combining this approach together with the Subset cover technique allows us to make efficient HCBE scheme.
In the other hand, it is well known that a scheme without random oracle assumption achieve higher security level than one with random oracle assumption. The (H)IBE scheme [21] has a remarkable result, that is, it is proved to be secure in standard model under a static hardness assumption. This result can be used to build our HCBE scheme with short ciphertext of constant size. This is an important point because in most of HIBE schemes, the length of a ciphertext depends on the depth of the hierarchical system. In fact, our HCBE scheme is the first concrete construction of HCBE in literature.
Contributions
In this paper, we propose a CBE scheme and a HCBE scheme which are proved to be fully IND-CCA2 secure in the standard model. To construct the schemes, we apply the Canetti-Halevi-Katz transformation [14] to 2-level CPA-secure HIBE from [21] and a one-time signature to achieve a IND-CCA2 secure CBE. The resultant CBE is fully IND-CCA2 secure and very efficient. The proposed CBE is extended to HCBE with ciphetexts of constant size which is the first fully IND-CCA2 secure HCBE scheme as far as we know. Because it is hierarchical, HCBE can support distributive processing in a large-scale key management as in Telco system environment. Constant-sized ciphertexts are also helpful to reduce communication overhead. It can also resolve the problem of violation of any privacy of customers because it resolves the key escrow problem. If a large key management system is structured into a set of small, distributed subsystem in a hierarchical way using our HCBE, it can also evade the single point of failure problem.
Preliminaries
Blinear pairing
Let G and GT are cyclic groups of order N. Binliear Pairing is a map that has the following properties:
Bilinearity: , e (ga, hb) = e (g, h) ab
Non-degenerate:∃ g ∈ G such that e (g, g) has order N in GT.
Hardness assumptions
The schemes in this paper use the notion of composite order group. Let be a group generator. It takes a security parameter λ as input and outputs (N = p1p2p3, G, GT, e), where p1, p2, p3 are distinct primes, G and GT are cyclic groups of order N = p1p2p3.
Assumption 1. (Subgroup decision problem for 3 primes). Randomly select g in group Gp1, and X3 in group Gp3. Let D = (g, X3). After that, we randomly select T1 in group Gp1p2 and T2 in Gp1. An algorithm can break the Assumption 1 with advantage
We say that G satisfies Assumption 1 if is a negligible function of λ for any polynomial time algorithm .
Assumption 2. Randomly select g, X1 in group Gp1, X2, Y2 in group Gp2, and X3, Y3 in group Gp3. Let D = (g, X1X2, X3, Y2Y3). After that, we randomly select T1 in group G and T2 in Gp1p3. An algorithm can break the Assumption 2 with advantage
We say that G satisfies Assumption 2 if is a negligible function of λ for any polynomial time algorithm .
Assumption 3. Randomly select g in group Gp1, X2, Y2, Z2 in group Gp2, X3 in group Gp3 and α, s in group . Let D = (g, gαX2, X3, gsY2, Z2). After that, we set T1 = e (g, g) αs and randomly select T2 in GT. An algorithm can break the Assumption 3 with advantage
We say that G satisfies Assumption 3 if is a negligible function of λ for any polynomial time algorithm .
A one-time signature scheme is defined as follows:
KeyGen, the key generation algorithm, takes the security parameter 1k as input, and outputs a pair of signing key (sk) and verification key (vk).
Sign, the signing algorithm, takes a signing key sk and a message M as input, and outputs a signature σ.
Vrfy, the verification algorithm, takes a verification key vk, a message M and a signature σ as input, and outputs accept if the signature is valid or ⊥ symbol.
Framework of certificate-based encryption
Certificate-based encryption scheme
The CBE scheme consists of the following algorithms:
Setup is run by the CA. It takes the security parameter as input and returns the CA’s master secret key msk and the system parameters params.
SetKeyPair is run by a user. It takes params as input and outputs the public key pk and the secret key sk for the user.
Certification algorithm takes ID, msk, params and pk as input, and outputs the certificate Cert to the user.
Encryption is run by a sender. It takes ID, params, pk and plaintext M as input, and returns a ciphertext C.
Decryption takes ID, params, Cert, sk and ciphertext C as input, and outputs the plaintext M.
Security model of CBE:
The security model for CBE is defined using the following two games:
Game 1. The adversary does not have the master secret key of the CA.
Setup: The challenger runs the Setup algorithm and gives params to the adversary and keeps msk secret to itself.
Phase 1: The adversary makes queries as follows:
Certification query: < user, PK, SK >. The challenger checks that (PK, SK) is valid. In this case, it runs Certification on input < msk, user, PK > and returns Certi; else it returns ⊥.
Decryption query: < user, PK, SK, C >. The challenger checks that (PK, SK) is valid. In this case, it generates Certi by using the Certification algorithm and outputs DecCerti, SK (C); else it returns ⊥.
Challenge: < user*, PK*, SK*, M0, M1>, where M0, M1 are of the same size. The challenger checks that (PK*, SK*) is valid. In this case, it selects a random bit b and returns C* = Encuser*, PK* (Mb); else it returns ⊥.
Phase 2: As in Phase 1, except that decryption queries < user*, PK*, SK*, C*> are disallowed.
Guess: outputs a guess b ′ ∈ {0, 1}. wins if b = b ′. The advantage of adversary is defined as .
Game 2. The adversary is given the master secret key of the CA.
Setup: The challenger runs the Setup algorithm and gives params and msk to the adversary . It then runs SetKeyPair to obtain a key pair (PK, SK) and gives PK to the adversary .
Phase 1: The adversary is allowed to make decryption query < user, C >. On this query, the challenger generates Certi by using the Certification algorithm with inputs < msk, user, PK > and outputs DecCerti, SK (C); else it returns ⊥.
Challenge: < user*, M0, M1>. The challenger chooses a random bit b and returns C* = Encuser*, PK* (Mb); else it returns ⊥.
Phase 2: Adversary continously makes query as in Phase 1.
Guess: The adversary outputs a guess b ′ ∈ {0, 1}. The adversary wins if b = b ′. The advantage of adversary is defined as .
Definition: A CBE scheme is said to be secure against an adaptive chosen ciphertext attack (or IND-CCA2 secure) if no probabilistic polynomially bounded adversary has non-negligible advantage in either Game 1 or Game 2.
Hierarchical certificate-based encryption scheme
The l -HCBE scheme consists of the following algorithms, where l is the depth of hierarchical system:
Setup takes the security parameter 1k as input and returns the certificate’s master secret key msk and the system parameters params.
SetKeyPair takes params as input and outputs the public key pk and the secret key sk for auser.
Certification takes ID = (I1, I2, …, Ij) (j ≤ l) where Ii = userinfo ∥ PKi is concatenation of user’s identity information and the user’s public key, msk, params and pk as input, and outputs the certificate Cert which is sent to user over an open channel.
Encryption takes ID, params, pk and plaintext M as input, and returns a ciphertext C.
Decryption takes ID, params, Cert, sk and ciphertext C as input, and outputs the plaintext M.
Security model of HCBE:
The security model for HCBE is defined by using the following two games:
Game 1. The adversary does not have the master secret key of the CA.
Setup: The challenger runs the Setup algorithm and gives params to the adversary and keeps msk secret to itself.
Phase 1: The adversary makes queries as follows: Certification query: < user = user1, …, userj ; PK = PK1, …, PKj, SKj>. To response to this query, the challenger checks that (PKi, SKi) (i ≤ j) is valid. In this case, it runs Certification: on input < msk, user ; PK1, …, PKj> and returns Cert ; else it returns ⊥.
Decryption query: < user, PK, SK, C >. The challenger checks that (PK, SK) is valid. In this case, it generates Cert by using the Certification algorithm and outputs DecCert, SKj (C); else it returns ⊥.
Challenge:M1>, where M0, M1 are of the same size. The challenger checks that is valid. In this case, it chooses a random bit b and returns C* = Encuser*, PK* (Mb); else it returns ⊥.
Phase 2: As in Phase 1, except that decryption queries are disallowed.
Guess: The adversary outputs a guess b ′ ∈ {0, 1}. The adversary wins the game if b = b ′. The advantage of adversary is defined as .
Game 2. The adversary is given the master secret key of the CA.
Setup: The challenger runs the Setup algorithm and gives params and msk to the adversary . It then runs SetKeyPair to obtain a key pair (PK, SK) and gives PK to theadversary .
Phase 1: The adversary is allowed to make decryption query user = < user1, …, userj, C >. On this query, the challenger generates Cert by using the Certification algorithm with inputs < msk, user, PK > and outputs DecCert, SK (C); else it returns ⊥.
Challenge:. The challenger chooses a random bit b and returns C* = Encuser*, PK (Mb); else it returns ⊥.
Phase 2: Adversary continously makes query as in Phase 1.
Guess: The adversary outputs a guess b ′ ∈ {0, 1}. The adversary wins the game if b = b ′. The advantage of adversary is defined as
Definition: An HCBE scheme is said to be secure against an adaptive chosen ciphertext attack (or IND-CCA2 secure) if no probabilistic polynomially bounded adversary has non-negligible advantage in either Game 1 or Game 2.
The proposed CBE scheme in the standard model
By applying the Canetti-Halevi-Katz transfromation [14] to the Lewko-Waters HIBE [21], we construct a CCA2-secure CBE scheme in the standard model. The proposed CBE scheme is later extended to HCBE scheme.
Setup: Choose a bilinear group of order N = p1p2p3. Randomly choose and . Let H1 : {0, 1}* → {0, 1}n and H2 : {0, 1}* → {0, 1}n be two collision resistant hash functions.
Public parameters: params = { N, n, g, h, u1, u2, e (g, g) α, H1, H2}. Master secret key: msk = α.
SetKeyPair: Choose randomly and . Compute: H1 = gβ. A user’s secret key is SK = β, and its corresponding public key is PK = (h1, h2).
Certification: Set ID1 = H1 (user ∥ PK) where (user ∥ PK) is concatenation of user’s identity information and the user’s public key. Choose and . Compute: Cert0 = grR3, , . The certificate is Cert = (Cert0, Cert1, Cert2).
Encryption:
Generate a one-time signing-verification key pair (sk, vk).
Let: ID1 = H1 (user ∥ PK), ID2 = H2 (vk).
Choose randomly . Compute:
C0 = Me (g, g) αse (H1, H2) s.
.
C2 = gs. We have C = (C0, C1, C2).
Compute: σ = Signsk (C).
Output: (vk, C, σ).
Decryption:
Check if Vrfy (vk, C, σ) =1. If not, output ⊥. Else, do the next steps.
Let: ID1 = H1 (user ∥ PK), ID2 = H2 (vk).
Choose randomly: , . Set:
.
.
Compute: .
Theorem 1.The proposed CBE scheme is chosen-ciphertext secure against Type-I adversary if H1 and H2 are collision resistant hash functions, OTS is a strong unforgeable signature scheme and subgroup decicion problem for three primes assumptions hold in .
Proof: We will construct an algorithm by using an adversary to break either the underlying stronly unforgeable one-time signature with probability Pr[Forge] or the CPA security of the 2nd-level Lewko-Waters HIBE, where is a successful adversary against the CBE scheme. The algorithm works by interacting with as follows.
Setup: The 2nd-HIBE challenger generates ID.msk = α, public parameters ID.params = { N, n, g, h, u1, u2, e (g, g) α}, gives ID.msk to , and keeps secret the msk. Next, sets H1 : {0, 1}* → {0, 1}n and H2 : {0, 1}* → {0, 1}n to be two collision resistant hash functions. Finally, sends to the public paramters: CB. params = { ID.parmas, H1, H2}.
Phase 1: Adversary makes queries as follows:
Certification query: < user, (H1, H2)>, asks 2nd-HIBE challenger for the secret key corresponding to identity ID1 = H1 (user ∥ (H1, H2)) and forwards the answer to .
Decryption query: < user, (H1, H2), β, (vk, C, σ)>. does the following checks:
If Vrfy (C, σ) ≠1, aborts the game.
Otherwise, sets ID1 = H1 (user ∥ (H1, H2)) and ID2 = H2 (vk). It then submits the query ID = (ID1, ID2) to 2nd-HIBE challenger for the private key. The challenger responds the private key: . Then computes . It uses the decryption key to decrypt the ciphertext: . is given M as the answer to its decryption query.
Challenge:. does the following steps:
Run KeyGen of the OTS to generate (sk*, vk*).
Compute: and ID2 = H2 (vk*).
Submit to 2nd-HIBE challenger the query . The 2nd-HIBE challenger chooses random b ∈ {0, 1} and sets: .
modifies the ciphertext to obtain: .
Next, queries the OTS challenger for the signature σ* = Signsk* (C*).
Finally, sends to the challenge ciphertext (vk*, C*, σ*).
Phase 2: Adversary makes additional certification and decryption queries, except that it cannot ask for the certificate of and decryption query of . The key extraction is answered as in Phase 1. The decryption query is answered as follows:
If vk = vk* and , aborts the game. (The security of the strong OTS scheme ensures that the adversary cannot generate a valid ciphertext in this case).
If vk ≠ vk*, does as in Phase 1. It queries for private key of ID = (ID1, ID2) to 2nd-HIBE and then uses the private key to decrypt the ciphertext. It sends back decrypted message M to .
Guess: Adversary outputs a guess b ′ ∈ {0, 1} and uses this output as its result.
’s view is identical to its view in a real attack game, except the event Forge occurs or collision is found. Therefore we get
■
Theorem 2.The proposed CBE scheme is chosen-ciphertext secure against Type II adversary if H1 and H2 are collision resistant hash functions, OTS is a strong unforgeable signature scheme and subgroup decision problem for three primes assumptions hold in .
Proof. We will construct an algorithm by using an adversary to break either the underlying stronly unforgeable one-time signature with probability Pr[Forge] or the CPA security of the Lewko-Waters IBE, where is a successful adversary against the CBE scheme. The algorithm works by interacting with as follows.
Setup: The adversary initializes the IBE challenger, who runs ID.Setup and sends ID.params = (N, n, g, h1, h2, u2, e (h2, h2) β) where h2 = gβ ′, h1 = gβ and ID.msk = β. The value β ′ is also given to .
Next, chooses and sets CB. msk = α. Furthermore, it sets: H1 : {0, 1}* → {0, 1}n and H2 : {0, 1}* → {0, 1}n to be two collision resistant hash functions.
Following this, sends to CB. params = { ID.params, H1, H2} and CB. msk = α.
Vrfy (C, σ) =1. If it is not hold, then aborts the games.
Otherwise, submits the query to the IBE challenger for key extraction query of ID2 = H2 (vk), and receives K1 = grR3, and . computes ID1 = H1 (user ∥ (H1, H2)). Then modifies the keys to be , . uses this key to decrypt the ciphertext C. The result M is given to .
Challenge: On < user*, M0, M1>, does as follows:
runs the key generation algorithm of OTS to generate (sk*, vk*), and computets .
submits the query to IBE challenger. The IBE challenger flips a fair coin b ∈ {0, 1} and generates ciphertext: .
Then modifies the ciphertext C to obtain:
Next, queries to the OTS challenger to get σ* = Signsk* (C*).
Finally, sends the challenge ciphertext (vk*, C*, σ*).
Phase 2: The adversary continuously queries as in Phase, except that query for < user*, (vk*, C*, σ*) > is not allowed.
Guess: Adversary outputs a guess b ′ ∈ {0, 1} and outputs the same guess.
’s view is identical to its view in a real attack game, except the event Forge occurs or collision is found. Therefore we get
■
The proposed HCBE scheme in the standard model
We extend the proposed CBE scheme to HCBE scheme as below. The security proof is similar to the one for the proposed CBE scheme.
Setup: Choose a bilinear group of order N = p1p2p3. Randomly choose where l is maximum depth of HCBE and . Let H1 : {0, 1}* → {0, 1}n and H2 : {0, 1}* → {0, 1}n be two collision resistant hash functions. Public parameters: params = { N, n, g, h, u1, u2, …, ul, e (g, g) α, H1, H2}. Master secret key: msk = α.
SetKeyPair: Consider a level j. Choose randomly and . Compute: hj1 = gβj. A user’s secret key is SKj = βj, and public key is PKj = (hj1, hj2).
Certification: Set IDj = H1 (userj ∥ PKj) where (userj ∥ PKj) is concatenation of user’s identity information and the user’s public key. Choose and .
Compute: = (Cert0, …, Certl).
Encryption:
Generate a OTS key pair (sk, vk).
Let: IDj +1 = H2 (vk).
Choose randomly . Compute:
C0 = Me (g, g) αse (hj1, hj2) s.
.
C2 = gs. We have: C = (C0, C1, C2).
Compute: σ = Signsk (C).
Output: (vk, C, σ).
Decryption:
Check if Vrfy (vk, C, σ) =1. If not, output ⊥. Else, do the next steps.
Let IDj +1 = H2 (vk).
Choose randomly: , . Set:
.
.
Compute: .
Theorem 3.The proposed HCBE scheme is chosen-ciphertext secure against Type-I adversary if H1 and H2 are collision resistant hash functions, OTS is a strong unforgeable and subgroup decicion problem for three primes assumptions hold in .
Proof. We call is the HCBE scheme with l -level and is the corresponding Lewko-Gentry HIBE with (l + 1)-level.
Given an identity tuple ID = (ID1, …, IDj), j ≤ l in , the sender encrypts the message M to a (j + 1) level identity IDj +1 = H2 (vk) of where vk is the verification key of the underlying one-time signature scheme. The receiver having identity ID can derive the decryption key at level (j + 1) of IDj +1 in from the corresponding certificate of ID in .
We will construct an algorithm by using an adversary to break either the underlying stronly unforgeable one-time signature with probability Pr[Forge] or the CPA security of the (l + 1)-level of the Lewko-Waters HIBE, where is a successful adversary against the HCBE scheme. The algorithm works by interacting with as follows.
Setup: The (l + 1)-level HIBE challenger generates the ID.msk = α and public parameters ID.params = { N, n, g, h, u1, u2, …, ul, e (g, g) α} and gives ID.msk to , keeps secret the msk. Next, sets H1 : {0, 1}* → {0, 1}n and H2 : {0, 1}* → {0, 1}n to be two colli
Finally, sends to the public paramters: CB. params = { ID.parmas, H1, H2}.
Phase 1: Adversary makes queries as follows:
Certification query: < user1, …, userj ; PK1, …, PKj>, asks its HIBE challenger for the secret key corresponding to identity ID = (ID1, ID2, …, IDj) where IDi = H1 (useri, PKi) (i ≤ j) and forwards the answer to .
Decryption query: < user1, …, userj ; PK1, …, PKj, βj, (vk, C, σ)>. does the following checks:
Vrfy (C, σ) ≠1, aborts the game.
Otherwise, sets ID = (ID1, ID2, …, IDj) where IDi = H1 (useri, PKi) and ID(j + 1) = H2 (vk). It then submits the query ID ′ = (ID1, …, IDj +1) to the HIBE challenger for the private key. The challenger responds the private key: Rj +1). Then computes: . It uses the decryption key to decrypt the ciphertext: . is given M as the answer to its decryption query.
Challenge: On , does the following steps:
Run the key generation algorithm of OTS to generate (sk*, vk*).
Compute: where and .
Submit to the HIBE challenger the query . The HIBE challenger chooses random b ∈ {0, 1} and sets: .
modifies the ciphertext to obtain: .
Next, queries the OTS challenger for the signature σ* = Signsk* (C*).
Finally, sends to the challenge ciphertext (vk*, C*, σ*).
Phase 2: Adversary makes additional certification and decryption queries, except that it cannot ask for the certificate of and decryption query of . The key extraction is answered as in Phase 1. The decryption query is answered as follows:
If vk = vk* and , aborts the game. (The security of the strong OTS scheme ensures that the adversary cannot generate a valid ciphertext in this case).
If vk ≠ vk*, does as in Phase 1. It queries for private key of ID = (ID1, …, IDj +1) to the HIBE challenger and uses the private key to decrypt the ciphertext. It sends back the decrypted message M to .
Guess: Adversary outputs a guess b ′ ∈ {0, 1} and uses this output as its result.
’s view is identical to its view in a real attack game, except the event Forge occurs or collision is found. Therefore we get
■
Theorem 4.The proposed HCBE scheme is chosen-ciphertext secure against Type II adversary if H1 and H2 are collision resistant hash functions, OTS is a strong unforgeable signature scheme and subgroup decision problem for three primes assumptions hold in .
Proof. We will construct an algorithm by using an adversary to break either the underlying stronly unforgeable one-time signature with probability Pr[Forge] or the CPA security of the j -level Lewko-Waters HIBE, where is a successful adversary against the j -level HCBE scheme. The algorithm works by interacting with as follows.
Setup: The adversary initializes the HIBE challenger, who runs ID.Setup and sends ID.params = (N, n, g, h1, h2, u1, …, ul, e (h2, h2) β) where h2 = gβ ′, h1 = gβ and ID.msk = β. The value β ′ is also given to .
Next, chooses and sets CB. msk = α. Furthermore, it sets: H1 : {0, 1}* → {0, 1}n and H2 : {0, 1}* → {0, 1}n to be two collision resistant hash functions.
Following this, sends to CB. params = { ID.params, H1, H2} and CB. msk = α.
Vrfy (C, σ) =1. If it is not hold, then aborts the games.
Otherwise, submits the query to the HIBE challenger for key extraction query of ID = (ID1, …, IDj -1, IDj +1), where IDj +1 = H2 (vk), and receives K1 = grR3, and ,…, . computes IDj = H1 (userj ∥ (H1, H2)). Then modifies the keys to be , which are used to decrypt the ciphertext C. The result M is given to .
Challenge: On , does as follows:
runs the key generation algorithm of OTS to generate (sk*, vk*), it computets .
submits the query to the HIBE challenger. The HIBE challenger flips a fair coin b ∈ {0, 1} and generates ciphertext: .
Then modifies the ciphertext C to obtain:
Next, queries to OTS challenger to get σ* = Signsk* (C*).
Finally, sends the challenge ciphertext (vk*, C*, σ*).
Phase 2: The adversary continuously queries as in Phase 1, except that query for < user*, (vk*, C*, σ*)> is not allowed.
Guess: Adversary outputs a guess b ′ ∈ {0, 1} and outputs the same guess.
’s view is identical to its view in a real attack game, except the event Forge occurs or collision is found. Therefore we get
■
Comparison
From Table 1, we can see that only ours and [8] are proved in full security model while the others are proved in selective model which is considered as weaker security notion. When compared with [8], our scheme is based on a static assumption which is weaker than non-static assumptions which [8] is based on.
Table 2 compares our scheme with the other CBE schemes in the standard model. , , , , and denote the bit sizes of G, G1, G*, GT, Gp1 and , respectively. j ≤ l denotes a particular level of the l -level hierarchical system. [18] requires the public commitment string and message authentication code, which are denoted by | com | and | Mac |, respectively. Our scheme and [16] require OTS, where the bit sizes of verification key and signature are denoted by | vk | and | Sign |, respectively. Sign and Vrfy denote computations required for the signing and verifying steps, respectively. When compared with [8], our scheme is a little bit heavier in terms of decryption (the number of pairing is the same, but approximately extra three exponentiations and Vrfy are required), but saves up to four exponentiations plus six pairings in encryption. We note that currently computing a pairing operation can be as expensive as ten odd exponentiations.
In this paper, we proposed a CBE scheme which is proved to be IND-CCA2 secure in the stadard model under a static assumption. The proposed CBE is extended to HCBE with ciphetexts of constant size which is the first fully IND-CCA2 secure HCBE scheme.
Footnotes
Acknowledgments
This work was supported by the National Research Foundation of Korea(NRF) grant funded by the Korea government(MSIP) (No. 2017R1A2B4001801).
References
1.
GentryC., Certificate-based encryption and the certificate revocation problem, In Advances in Cryptology, EURO-CRYPT2003, Springer, 2003, pp. 272–293.
2.
BonehD. and FranklinM., Identity-based encryption from the weil pairing, In Advances in Cryptology, CRYPTO 2001, Springer, 2001, pp. 213–229.
3.
RivestR., ShamirA. and AdlemanL., A method for obtaining digital signatures and public-key cryptosystems, In Communications of the ACM21(2) (1978), 120–126.
4.
Al-RiyamiS.S. and PatersonK.G., Cbe from clpke: A generic construction and efficient schemes, Public Key Cryptography-PKC 2005, Springer, 2005, pp. 398–415.
5.
DodisY. and KatzJ., Chosen-ciphertext security of multiple encryption, Theory of Cryptography, Springer, 2005, pp. 188–209.
6.
GalindoD., MorilloP. and RàfolsC., Breaking Yum and Lee generic constructions of certificate-less and certificatebased encryption schemes, Public Key Infrastructure, Springer, 2006, pp. 81–91.
7.
KangB.G. and ParkJ.H., Is it possible to have cbe from cl-pke?IACR Cryptology ePrint Archive431 (2005).
8.
LiuJ. and ZhouJ., Efficient certificate-based encryption in the standard model, In volume 8, Springer, pp. , SCN, volume 8, Springer, 2008, pp 144–155.
9.
LuY. and LiJ., Constructing efficient certificate-based encryption scheme with pairing in the standard model, In Information Theory and Information Security (ICI-TIS), 2010 IEEE International Conference on, IEEE, 2010, pp. 234–237.
10.
LuY. and LiJ., Constructing pairing-free certificatebased encryption, International Journal of Innovative Computing Information and Control9(11) (2013), 4509–4518.
11.
WuW., MuY., SusiloW., HuangX. and XuL., A provably secure construction of certificate-based encryption from certificateless encryption, The Computer Journal (2012), bxr130.
12.
YaoJ., LiJ. and ZhangY., Certificate-based encryption scheme without pairing, KSII Transactions on Internet & Information Systems7(6) (2013).
13.
YumD.H. and LeeP.J., Generic construction of certifi-cateless encryption, In Computational Science and Its Applications-ICCSA 2004, Springer, 2004, pp. 802–811.
14.
CanettiR., HaleviS. and KatzJ., Chosenciphertext security from identity-based encryption, In Advances in Cryptology-Eurocrypt 2004, Springer, 2004, pp. 207–222.
15.
LamportL., Constructing digital signatures from a oneway function. Technical report. Technical Report CSL-98, SRI International Palo Alto, 1979.
16.
MorilloP. and RàfolsC., Certificate-based encryption without random oracles, 2006.
17.
WatersB., Efficient identity-based encryption without random oracles, In Advances in Cryptology—EUROCRYPT 2005, Springer, 2005, pp. 114–127.
18.
GalindoD., MorilloP. and RàfolsC., Improved certificate-based encryption in the standard model, Journal of Systems and Software81(7) (2008), 1218–1226.
19.
BonehD. and BoyenX., Efficient selective-id secure identity-based encryption without random oracles, In Advances in Cryptology-EUROCRYPT 2004, Springer, 2004, pp. 223–238.
20.
LuY. and LiJ., Generic construction of certificatebased encryption in the standard model, In Electronic Commerce and Security, 2009 ISECS'09. Second International Symposium on, volume 1, IEEE, 2009, pp. 25–29.
21.
LewkoA. and WatersB., Waters, New techniques for dual system encryption and fully secure hibe with short ciphertexts, In Theory of Cryptography, Springer, 2010, pp. 455–479.
22.
HylaT. and PejaśJ., Certificate-based encryption scheme with general access structure, Computer Information Systems and Industrial Management, Springer, 2012, pp. 41–55.
23.
SurC., ParkY., ShinS.U.K., RheeK.H. and SeoC., Certificate-based proxy re-encryption for public cloud storage, Innovative Mobile and Internet Services in Ubiquitous Computing (IMIS), 2013 Seventh International Conference on, IEEE, pp. 2013, pp. 159–166.
24.
FanC.-I., TsaiP.-J., HuangJ.-J. and ChenW.-T., Anonymous multi-receiver certificate-based encryption, In Cyber-Enabled Distributed Computing and Knowledge Discovery (CyberC), 2013 International Conference on, IEEE, 2013, pp. 19–26.