ABE provides a good way for access controlling in cloud computing. However, in many application scenarios, access policies for encryption also should be protected since they may directly contain sensitive information. For example, in smart grid, the access policies may contain the private information about underlying data, data owner or the data recipients, and disclosing some sensitive access policies could result in negative publicity, or loss of market revenue. In this paper, we present a CP-ABE scheme with hidden policy from Waters efficient construction. In our scheme, the access policy is hidden by using the composite order bilinear groups and can be expressed with LSSS. Our scheme is proved CPA secure under four statics assumptions.
1. Introduction
With the development of cloud computing, users are apt to store their data on the cloud server. It is inefficient to distribute these encrypted data to a set of users with specific attributes in traditional cryptosystems, for example, PKI, ID-based cryptosystem [1]. For this reason, Sahai and Waters [2] firstly proposed the concept of attribute-based encryption. In attribute-based encryption (ABE), ciphertexts and keys are associated with sets of attributes and access structure over attributes. There are two kinds of ABE systems: the first one is ciphertext-policy ABE (CP-ABE); the second one is key-policy ABE (KP-ABE).
How to achieve a more expressive access policy over many attributes is an important problem in ABE. Sahai and Waters [2] scheme was limited to specify as threshold access policies with one threshold gate. After that, Lewko et al. [3] used monotone span programs (MSPs) as access policy to devise a CP-ABE and a KP-ABE, which are proved secure in composite bilinear groups. However, their schemes are very inefficient, since the length of ciphertexts and keys, and the number of pairings in decryption are all polynomial in the size of MSPs. In order to improve the efficiency, some ABE systems make use of linear secret sharing scheme (LSSS) or Boolean formulas as access policy. Waters [4] employed LSSS matrix as access policy to realize CP-ABE. In [5], Goyal et al. provided a mapping from a universal access tree to formulas consisting of threshold gates. They used this technique to construct a bounded CP-ABE scheme. There is a close relation between LSSS and MSP access structure, and Beimel et al. [6] proved it. Pandit and Barua [7] used minimal sets to realize the smallest MSP for describing general access structure in ABE systems.
However, in some applications, the access policies may also be sensitive. For example, if the ABE scheme is deployed in smart grid [8], the access policies may contain the private information about underlying data, data owner, or the data recipients. Thus, some grid operators such as electric utilities competing with each other as business entities might not comfortably disclose access policies to other entities. Another example is e-health system: the patients encrypt their health records with access policies and store them in the cloud storage provider. However, the access policies may leak lots of sensitive information. In Figure 1, the access policy reveals that the patient suffers from the heart disease.
E-health.
Lai et al. [9] proposed a CP-ABE scheme with partially hidden access policy. The attribute values are not disclosed in the access policy. However, it is not a CP-ABE with fully hidden access policy. In 2013, Sreenivasa Rao and Dutta [10] proposed a recipient anonymous CP-ABE, which only uses the AND-gate access policy. Given the widespread applications of ABE schemes, constructing an efficient ABE scheme with hidden policy while supporting more expressive access policy is a crucial problem. In this paper, we propose a CP-ABE with hidden policy (CP-ABE-HP) from Waters efficient construction, which makes use of LSSS as the access policy. A comparison in properties and security levels of current CP-ABE schemes is given in Table 1.
Organization. In Section 2, we review four statics assumptions in composite order groups and the LSSS access structure. In Section 3, we provide the definition and security model of CP-ABE-HP. In Section 4, we devise a concrete CP-ABE-HP scheme. In Section 5, we prove our scheme by using the technique of dual system encryption. In Section 6, we conclude our paper.
2. Background
In this section, we firstly give the definitions four hard assumptions. Secondly, we provide the formal definitions for LSSS.
2.1. Hardness Assumptions
Bilinear groups of composite order are groups introduced by [11], where the group order is product of two or more distinct primes. In our construction, we use the group order of , where are three distinct prime numbers. We denote this group as , and admit an efficient bilinear map , where 's order is the same as 's. Any element of can be denoted as , where is the generator of subgroup . Each has the order , and . We denote as the subgroup of order in . For all , T can be defined as the product of an element in and an element in . For all and , if . The following are three hardness assumptions, which have been analyzed in [10].
Definition 1 (assumption 1).
Given , if for all PPT algorithm , there is a negligible probability ϵ such that
where the probabilities are over the random choice of , , and , .
Definition 2 (assumption 2).
Given , if for all PPT algorithm , there is a negligible probability ϵ such that
where the probabilities are over the random choice of , , , , and .
Definition 3 (assumption 3).
Given , if for all PPT algorithm , there is a negligible probability ϵ such that
where the probabilities are over the random choice of , , , , , and .
Definition 4 (assumption 4).
Given , if for all PPT algorithm , there is a negligible probability ϵ such that
where the probabilities are over the random choice of , and .
2.2. Access Policy and Linear Secret Sharing Scheme
We adapt our definitions which are given by [12–14].
Definition 5 (access policy).
Let be a set of attributes. An authorized collection is monotone, on the condition that , and ; then .
If the following two conditions are satisfied, then a secret sharing scheme Π is called linear. (1) The shares for each attribute form a vector from . (2) There exists a sharing-generating matrix for Π. For all , the map ρ maps the row of to an attribute labeling . Then, we select a random column vector , where is the secret to be shared and is the vector of l shares of the secret μ according to Π.
3. CP-ABE with Hidden Policy
3.1. Definition
A normal CP-ABE scheme is composed of four probabilistic polynomial time algorithms:
: the setup algorithm inputs a security parameter λ and an attribute set Σ and outputs system public key and master key .
: this algorithm inputs an attribute set and and outputs a private key .
: the encryption algorithm inputs an access structure and a message and outputs a ciphertext .
: this algorithm inputs a ciphertext for an access structure and a private key for a set and outputs if and only if the attribute set satisfies the access structure .
Let Σ and be the monotone attribute space and the message space, respectively. , , , and , where and .
3.2. Security Model of CP-ABE-HP
In this section, we provide the security definition of CP-ABE for semantic security with hidden policy (CP-ABE-HP).
Setup. The challenger generates and and sends to .
Query 1. The adversary is allowed to make key extraction queries for the sets of attributes . runs the KeyGen algorithm and responds to the secret keys .
Callenge. outputs two messages and two access policies and such that does not satisfy and . randomly chooses a bit and returns the ciphertext .
Query 2. can make the key extraction queries like Query 1 with the restriction that none of these satisfies and .
Response. Finally, outputs a guess of b. 's advantage of this game can be defined as .
Definition 7 (CP-ABE-HP).
A CP-ABE is CPA secure with respect to hidden policy on the condition that is negligible in the above game.
4. Construction of CP-ABE with Hidden Policy
4.1. Waters CP-ABE Construction
Waters most efficient CP-ABE construction [4] takes as input a LSSS access matrix M and hides a random number according to M.
Setup(U). This algorithm inputs the number of attributes U. Then, it chooses a prime order p group , a generator g, and random group elements that are corresponding to the U attributes in the system. And then, it selects random exponents . The master public key and the master secret key .
Encrypt(). Here, M is a matrix and is a LSSS structure, where the map ρ maps rows of M to attributes. This algorithm randomly chooses . For to l, it calculates , where is the ith row of M. Then, the algorithm randomly chooses . The ciphertext is as follows:
along with an access structure of .
KeyGen(). This algorithm chooses a random and computes the secret key on a set S of attributes as
Decrypt(). This algorithm inputs a ciphertext associated with and a secret key on a set S of attributes. We suppose that S satisfies and let . Then, is a set of constants such that , if are valid shares. This algorithm can compute
Then, the algorithm can recover the message from by (7).
We now argue that the above scheme is not hidden policy. Some components in ciphertext expose some information of access policy. Precisely, given an access policy , the adversary chooses and . (Note that there could be different ways for choosing the value of to satisfy , if are valid shares.) Then, the adversary can run a test
The adversary can use (8) to determine whether is encrypted by the access policy . Thus, the above CP-ABE scheme is said to provide no hidden policy.
4.2. Our Construction
We realize Waters CP-ABE scheme in the composite order groups . In our scheme, the ciphertext consists of 3 groups elements and the secret key consists of 2 groups elements. Therefore, the access policy along with the ciphertext is hidden by the elements in group .
Setup(). The setup algorithm inputs a security parameter λ and a number U of attributes in the system. This algorithm runs the bilinear group generator to produce , where are three distinct λ-bit primes. Then, it selects random generators and . It picks and sets . Consider
and .
Encrypt(). Here, M is a matrix and is a LSSS structure. This algorithm chooses a vector . For to l, it calculates , where denotes the ith row of matrix M. Then, the algorithm randomly chooses and . The ciphertext is as follows:
along with an access structure of .
KeyGen(). This algorithm chooses a random and computes the secret key on a set S of attributes as
Decrypt(). The receiver can decrypt the ciphertext by his secret key . Let and let be a set of constants such that , if are valid shares. The receiver can compute
Then, the algorithm can recover the message from by (12).
Hidden Policy. Our scheme can provide hidden policy by using the subgroup . Suppose the adversary is given an arbitrary access policy and a ciphertext . Let be encrypted under an access policy . The adversary chooses and according to . (Note that is a set of constants such that if are valid shares, then .) Then, the adversary can perform the test as follows:
Note that some pairings in the above equation equal identity in due to the orthogonal property in composite order groups. There are two possible cases:
If , then . Thus,
If , then . Thus,
In the above two cases, the test gives a random element in . So the adversary cannot determine whether the ciphertext is associated with the access policy or not. Thus, our scheme provides the property of hidden policy.
Performance Comparison. Let denote the computation cost of pairing and let denote the exponent cost. For [4] and our scheme, we assume that the LSSS matrix is . In Table 2, we provide the performance comparison with Waters scheme [4], Sreenivasa Rao and Dutta's scheme [10], and our scheme. In decryption, we only evaluate the computational costs of pairing, since the pairing operation is very time-consuming compared to the other operations.
From Table 2, we can see that the number of operations in our scheme is almost the same as Waters scheme. However, the operations in our scheme are operated in the composite order groups, while the operations in Waters scheme are operated in the prime order groups.
5. Security Proof
Our security proof employs a new mechanism which is called dual system encryption, which requires two semifunctional (SF) structures. Let be the generator of .
SF Secret Key. , , and , where .
SF Ciphertext. , , and , where .
When an SF secret key is used to decrypt an SF ciphertext, we will obtain an extra term . If , we call an SF secret key a nominally semifunctional (NSF) secret key. An NSF secret key is a special kind of SF secret keys; that means .
Theorem 8.
Our CP-ABE scheme with hidden policy is chosen message attacks (CPA) secure under assumptions 1, 2, 3, and 4.
Proof. We prove this theorem by a series of games. In the first real , the key and ciphertext are normal forms. Then, we convert the challenge ciphertext into SF in and transform the keys into SF forms one by one in (). In , the challenge ciphertext and all secret keys are SF. In , the message is distinguishable from a random message in the challenge ciphertext. Finally, in , is randomly chosen from . Thus, the ciphertext is independent of the policy chosen by the adversary.
Lemma 9.
If , then assumption 1 is broken.
Proof.
Given an instance of assumption 1, constructs as
where and . Consider . can answer the key extraction queries because it knows the master secret key. In the challenge phase, provides the two challenge messages and two access policies as . Then, randomly chooses and values and outputs the ciphertext under access policy as
If , where is a random element in , then is
where . This ciphertext is SF, and simulates . If , can simulate a normal ciphertext game, . Thus, if can distinguish between an SF ciphertext and a normal ciphertext with a nonnegligible probability, then can break assumption 1 by using the output of .
Lemma 10.
If , then assumption 2 is broken.
Proof.
Given an instance (, ) of assumption 2, constructs as
where and . Consider . In order to make the first secret keys SF, the challenger randomly chooses and implicitly sets and and responds to each key extraction query from on a set of attributes S as
This implicitly sets , , and , so , are properly distributed as semifunctional secret key components.
Since knows , it can generate the normal secret keys for the last key extraction queries from .
For the kth key extraction query from , implicitly sets as the part of B and sets the secret key as
If , then the secret key is distributed as normal secret key. If , then the secret key is properly distributed as semifunctional key.
In the challenge phase, provides the two challenge messages and two access policies as . Then, randomly chooses and values . In order to generate the SF ciphertext, implicitly sets and outputs under access policy as
If , then can simulate , and if , then can simulate . Thus, if can distinguish between an SF secret key and a normal secret key with a nonnegligible probability, then can break assumption 2 by using the output of .
Lemma 11.
If , then assumption 3 is broken.
Proof.
Given an instance (, ) of assumption 3, constructs as
where and . In order to make the secret keys SF, the challenger randomly chooses and responds to each key extraction query from on a set of attributes S as
This implicitly sets and So , are properly distributed as SF secret key components.
In the challenge phase, provides the two challenge messages and two access policies as . Then, randomly chooses and values . In order to generate the SF ciphertext, implicitly sets and outputs under access policy as
If , then can simulate , since is distributed SF encryption of . If B is a random element in , then can simulate , since is distributed SF encryption of a random element. Thus, can can break assumption 3 by using the output of .
Lemma 12.
If , then assumption 4 is broken.
Proof.
Given an instance (, ) of assumption 4, constructs as
where and . Consider . In order to make the secret keys SF, the challenger randomly chooses and responds to each key extraction query from on a set of attributes S as
If , then this implicitly sets So , are properly distributed as SF secret key components.
In the challenge phase, provides the two challenge messages and two access policies as . Then, randomly chooses and values . In order to generate the SF ciphertext, randomly chooses an element and outputs under access policy as
This implicitly sets .
If , then can simulate , since is distributed SF encryption of a random element in . If B is a random element in , then can simulate , since is distributed SF encryption of a random element in with being random in . Thus, can can break assumption 4 by using the output of .
From Lemmas 9–12, if assumptions 1, 2, 3, and 4 hold, then is indistinguishable from . Obviously, the adversary can win with negligible probability. Thus, our CP-ABE scheme is CPA secure with hidden policy. This completes the proof.
6. Conclusion
In many applications, such as smart grid and e-health system, access policies for encryption should also be protected as well as the encrypted data, since the access policies may directly contain sensitive information. In this paper, we present a CP-ABE scheme with hidden policy from Waters construction, in which the access policy can be expressed with LSSS structure. Our scheme can be proved CPA secure under four static hardness assumptions.
Footnotes
Conflict of Interests
The authors declare that there is no conflict of interests regarding the publication of this paper.
Acknowledgments
This research is partially supported by the National Natural Science Foundation of China under Grant nos. 61373006, 61232016, U1405254, and the PAPD fund.
References
1.
WangZ.ChenW.An ID-based online/offline signature scheme without random oracles for wireless sensor networksPersonal and Ubiquitous Computing201317583784110.1007/s00779-012-0534-12-s2.0-84883445487
2.
SahaiA.WatersB.Fuzzy identity-based encryptionAdvances in Cryptology—EUROCRYPT 200520053494Berlin, GermanySpringer457473Lecture Notes in Computer Science10.1007/11426639_27
3.
LewkoA.OkamotoT.SahaiA.TakashimaT.WatersB.Fully secure functional encryption: attribute-based encryption and (hierarchical) inner product encryptionAdvances in Cryptology—EUROCRYPT 201020106110Berlin, GermanySpringer6291Lecture Notes in Computer Science10.1007/978-3-642-13190-5_4
4.
WatersB.Ciphertext-policy attribute-based encryption: an expressive, efficient, and provably secure realizationPublic Key Cryptography—PKC 201120116571Berlin, GermanySpringer5370Lecture Notes in Computer Science10.1007/978-3-642-19379-8_4
5.
GoyalV.JainA.PandeyO.SahaiA.Bounded ciphertext policy attribute based encryptionAutomata, Languages and Programming: 35th International Colloquium, ICALP 2008, Reykjavik, Iceland, July 7-11, 2008, Proceedings, Part II20085126Berlin, GermanySpringer579591Lecture Notes in Computer Science10.1007/978-3-540-70583-3_47
6.
BeimelA.GálA.PatersonM.Lower bounds for monotone span programsComputational Complexity199761294510.1007/bf01202040MR14363012-s2.0-0040304685
7.
PanditT.BaruaR.Efficient fully secure attribute-based encryption schemes for general access structuresProvable Security: 6th International Conference, ProvSec 2012, Chengdu, China, September 26–28, 2012. Proceedings20127496Berlin, GermanySpringer193214Lecture Notes in Computer Science10.1007/978-3-642-33272-2_13
8.
HurJ.Attribute-based secure data sharing with hidden policies in smart gridIEEE Transactions on Parallel and Distributed Systems201324112171218010.1109/tpds.2012.612-s2.0-84885145341
9.
LaiJ.DengR. H.LiY.Expressive CP-ABE with partially hidden access structuresProceedings of the 7th ACM Symposium on Information, Computer and Communications Security (ASIACCS ‘12)May 2012Seoul, Republic of KoreaACM181910.1145/2414456.2414465
10.
Sreenivasa RaoY.DuttaR.Recipient anonymous ciphertext-policy attribute based encryptionInformation Systems Security: 9th International Conference, ICISS 2013, Kolkata, India, December 16–20, 2013. Proceedings20138303Berlin, GermanySpringer329344Lecture Notes in Computer Science10.1007/978-3-642-45204-8_25
11.
BonehD.GohE.-J.NissimK.Evaluating 2-DNF formulas on ciphertextsTheory of Cryptography: Second Theory of Cryptography Conference, TCC 2005, Cambridge, MA, USA, February 10–12, 2005. Proceedings20053378Berlin, GermanySpringer325341Lecture Notes in Computer Science10.1007/978-3-540-30576-7_18
12.
BeimelA.Secure schemes for secret sharing and key distribution [Ph.D. thesis]1996Haifa, IsraelIsrael Institute of Technology, Technion
13.
WangZ.ChuZ.Efficient mediated ciphertext-policy attribute-based encryption for personal health records systemsJournal of Internet Technology2015165877884
14.
WangZ.A new authenticated group key transfer protocol for actual network environmentInternational Journal of Ad Hoc and Ubiquitous Computing201312318819210.1504/ijahuc.2013.0524112-s2.0-84878273763