The function privacy notion was proposed by Boneh, Raghunathan, and Segev in August 2013. It guarantees that the secret key reveals nothing to malicious adversary, beyond the unavoidable minimal information such as the length of ciphertext. They constructed a function private identity-based encryption that contains equality functionality. In this work we construct a new function private attribute-based encryption which supports more complex functionality. And we transform it to a searchable encryption. In searchable encryption, the trapdoor of searching keywords can be seen as the secret key. Hence, using this system can efficiently resist keyword guessing attack.
1. Introduction
Functional encryption [1, 2] is now being seen as a powerful tool especially on the application of cloud security, such as searchable encryption, secure auditing, and secure data sharing. It is a new paradigm for public key encryption. In this system, the decryption ability of a receiver is determined by whether the secret key and the ciphertext can be computed by the function. Identity-based encryption (IBE) [3, 4] can be seen as a functional encryption that supports a equality functionality. Fuzzy identity-based encryption [5] is the first functional encryption that supports nontrivial functionality, whose functionality is a k out of n threshold function. Then it is extended to attribute-based encryption (ABE) [6] classified as key-policy ABE(KP-ABE) and ciphertext-policy ABE(CP-ABE). Subsequently, many other functional encryption schemes are constructed to support certain specific functionality such as predicate encryption [7] and inner product encryption [8]. Security is also concerned about by scholars, from a selective-set security model [5–7] to a fully security model [8]. Meanwhile, other public key cryptographic primitives are also developed [9, 10]. Gorbunov et al. [11] extended the access control policy to polynomial size circuit based on LWE assumption. They used a novel technique named as “Two-to-One Recoding” (TOR) to achieve this goal and also built a scheme based on bilinear maps using a weak TOR scheme. Then, Boneh et al. [12] built an attribute-based encryption for arithmetic circuits with much shorter secret keys. And their scheme is more suitable to the access policies that can be naturally represented as arithmetic circuits.
Recently, Boneh et al. [13, 14] put forth a novel security notion, function private, to protect the privacy of secret key in identity-based encryption. If a scheme is function private, the secret key of the scheme is indistinguishable with a random element chosen from the secret key space. They introduced an approach called “Extract-Augment-Combine” to achieve the function privacy. However, in their schemes, only the function privacy of IBE is realized, and how to construct a function private functional encryption is left as an open problem. We partly solved it in this work by proposing a function privacy KP-ABE scheme using a similar technique introduced in [13].
Searchable encryption is also a special class of function encryption, which is motivated by the demand for applying securely search on remote encrypted data. It is firstly introduced by Song et al. [15]. It is built on private key, so it is used to be called searchable symmetric encryption. However, it was not fully secure and only supported the two-party model. Then, many secure searchable encryptions based on symmetric encryption are proposed [16, 17]. But these schemes were still unsuitable to the third-party situation. Boneh et al. proposed the first searchable public key encryption, public key encryption with keyword search (PEKS) [18]. It is the first searchable public key encryption that enables a third party to implement a keyword search. Abdalla et al. [19] proposed a transformation from anonymous IBE to PEKS and fulfilled the security definition. All of the above schemes only support single designated receiver. Han et al. [20] constructed a scheme that supports nondesignated receivers using KP-ABE. The scheme is secure and satisfies a weak anonymity called attribute private. They also proposed a general transformation from KP-ABE to ABEKS (attribute-based encryption with keyword search) and constructed a secure searchable attribute-based encryption.
Recently, Byun et al. [21] raised an attack called off-line keyword guessing attack (KGA) on searchable encryption, due to the relatively small keywords set (such as a frequently using keyword “urgent”). So an attacker can use the brute-force technique to searching by all keywords to find a collision of the keyword. Jeong et al. [22] asserted that the consistency of searchable public key encryption contradicts keyword guessing attack. Subsequently, scholars studied this attack and proposed some schemes which can resist keyword guessing attack [23–25]. In this paper, we proved that function privacy of function encryption can be transformed to the KGA security of searchable encryption.
Our Contributions. Inspired by the work of Boneh et al. [13], we construct a function private attribute-based encryption based on the scheme of [20]. Moreover, our scheme achieves data security, attribute privacy, and function privacy. Then, we construct a searchable attribute-based encryption against keyword guessing attack using the transformation introduced in [20]; our construction is more natural compared with previous constructions [23–25].
2. Preliminaries
Notations. For an integer n∈ℕ, we denote by [n] the set {1,2,…,n} and by 𝕌n the uniform distribution over the set {0,1}n. For a random variable X, we denote by x←X the process of sampling a value x according to the distribution of X. Similarly, for a finite set S, we denote by s←S the process of sampling a value s, according to the uniform distribution over S. We denote by X=(X1,…,XT) a joint distribution of T random variables.
The min-entropy of a random variable X is H∞(X)=-log(maxxPr[X=x]). A k-source is a random variable X with H∞(X)≥k. A T,k-block source is a random variable X=(X1,…,XT), where, for every i∈[T] and x1,…xi-1, it holds that H∞(Xi∣X1=x1,…,Xi-1=xi-1)≥k. The statistical distance between two random variables X and Y over a finite domain Ω is SD(X,Y)=∑w∈Ω|Pr[X=w]-Pr[Y=w]|/2. Two random variables X and Y are δ-close, if SD(X,Y)≤δ.
Definition 1 (access structure, see [26]).
Let {P1,…,Pn} be a set of parties. A collection 𝔸⊆2{P1,…,Pn} is monotone if, for all ,C: if B∈𝔸 and B⊆C, then C∈𝔸. An access structure (resp., monotone access structure) is a collection (resp., monotone collection) 𝔸 of nonempty subsets of {P1,…,Pn}; that is, 𝔸⊆2{P1,…,Pn}∖{∅}. The sets in 𝔸 are called the authorized sets, and the sets not in 𝔸 are called the unauthorized sets.
In our settings, attributes will play the role of parties. We will only deal with the monotone access structures.
We now introduce the LSSS definition adapted from [26].
A secret sharing scheme Π over a set of parties 𝒫 is called linear (over ℤp), if
the shares for each party form a vector over ℤp,
there exists a matrix A called the share-generating matrix for Π. The matrix A has l rows and n columns. For all i={1,…l}, the ith row of A is labeled by a party ρ(i) (ρ is a function from {1,…l} to 𝒫). When we consider the column vector v=(s,r2,…rn), where s∈ℤp is the secret to be shared and r2,…rn∈ℤp are randomly chosen, then Av is the vector of l shares of the secret s according to Π. The share (Av)i belongs to a party ρ(i).
The linear reconstruction property is described as follows. Assume that Π is an LSSS for access structure A. Let S be an authorized set, and define I⊆{1,…l} as I={i∣ρ(i)∈S}. Then there exist constants {ωi∈ℤp}i∈I, such that, for any valid shares {λi} of a secret s according to Π, we will have ∑i∈Iωiλi=s. These constants {ωi} can be found in polynomial time of the size of share-generating matrix A [26]. And, for unauthorized sets, no such constants {ωi} exist.
Definition 3 (see [13]).
A collection ℋ of functions H:U→V is universal if, for any x1,x2∈U, such that x1≠x2, it holds that PrH←ℋ[H(x1)≠H(x2)]=1/|V|.
Lemma 4 (see [13], leftover hash lemma for block sources).
Let ℋ be a universal collection of function H:U→V, and let X=(X1,…,Xl) be an (l,k)-block-source where k≥log|V|+2log(1/ε)+Θ(1). Then, the distribution (H,H(X1),…H(Xl)), where H←ℋ, is εl-close to the uniform distribution over ℋ×Vl.
The proof is omitted here; we refer the readers to [13] for more detail.
The security model for function private attribute-based encryption is described as follows. This model is derived from [13]. The original model in [13] is for identity-based encryption; our security model is for attribute-based encryption.
Definition 5 (real-or-random function-privacy oracle for ABE).
The real-or-random function-privacy oracle RoRFP takes input triples of the form (mode, msk, V), where mode∈{Real,Rand}, msk is a master secret key, and 𝔸=(A1,…,Al)∈Sm·l is representing a joint distribution over Sm·l (i.e., each Ai is a distribution over Sm). If mode = Real then the oracle samples A is chosen from 𝔸 and if mode = rand then the oracle samples A←Sm·l uniformly. It then invokes the algorithm KeyGen (msk,·) on A for outputting a secret key skA.
Definition 6 (function-privacy adversary, see [13]).
An (l,k)-block-source function private adversary 𝒜 is an algorithm that is given as input a pair (1λ,pp) and oracle access to RoRFP (mode, msk,·) for some mode∈{Real,Rand} and to KeyGen(msk,·). It is required that each of 𝒜’s queries to RoRFP be an (l,k)-block-source.
Definition 7 (function privacy of ABE).
An attribute-based encryption scheme ABE = (Setup, KeyGen, Enc, Dec) is (l,k)-block-source function private if, for any probabilistic polynomial-time (l,k)-block-source function private adversary 𝒜, there exists a negligible function g(λ) such that
(1)Adv𝒜ℬℰ,𝒜FP(λ)=|Pr[ExpFP,𝒜ℬℰ,𝒜real(λ)=1]-Pr[ExpFP,𝒜ℬℰ,𝒜rand(λ)=1]|≤g(λ),
where, for each mode∈{Real,Rand} and λ∈ℕ, the experiment ExpFP,𝒜ℬℰ,𝒜mode(λ) is defined as follows:
(pp, msk) ← Setup(1λ);
b←𝒜RoRFP(mode,msk,·),KeyGen(msk,·)(1λ,pp);
Output b.
3. The Concrete Scheme3.1. The Original Scheme
The construction of attribute-based encryption in [20] is described as follows;
(2)Setup(λ,U)⟶(PK,MSK).
First, the algorithm chooses a bilinear group G of order p1p2p3p4, and then picks up random numbers α∈ℤN, g, X1∈Gp1, where Gp1 is the subgroup of order p1 in G. For any attribute i in global universe attribute set U, the algorithm picks up a hash function H, computes H(i), and then chooses a random number sH(i)∈ℤN, X3, g4 as the generators of Gp3, Gp4, X4∈Gp4, t=X1X4. We define
(3)PK={N,g,g4,e(g,g)α,H,t,TH(i)=gsH(i),∀i},MSK={X1,X3,α},(4)Enc(M,PK,H,S)⟶CT.
This algorithm picks up a random s∈ℤN, R,R′∈Gp4, and computes H(S)={H(i)∣i∈S} for any attribute i∈S. The ciphertext is given as
(5)CT={C=Me(g,g)αs,C0=gsR,CH(i)=(tTH(i))sR′,∀i∈SC=Me(g,g)αs,C0=gsR,CH(i)=(tTH(i))sR′,},
which also includes the hashed attributed set H(S).
(6)KeyGen((𝔸,ρ),MSK,PK,H)⟶SK,
where 𝔸 is a matrix, Ax is the xth row of 𝔸, ρ is a map, and ρ:Ax→ρ(x)∈H(S). This algorithm picks up a random vector u such that the first term of u is α and the other terms are random numbers. For each Ax, it chooses random numbers rx∈ℤN, Wx, Vx∈Gp3, and the secret key SK is given as
(7)Kx1=gAxu(X1Tρ(x))rxWx,Kx2=grxVx,(8)Dec(CT,PK,SK)→M.
Let H(S) denotes the hashed attribute set of CT, and (𝔸,ρ) denote the matrix and row mapping associated with SK. If H(S) satisfies 𝔸; then the algorithm finds a constants ωx, such that ∑ρ(x)∈H(S)ωxAx=1 (1 represents the vector of the first term is 1, and others are 0). Compute
(9)∏ρ(x)∈H(S)e(C0,Kx1)ωxe(Cρ(x),Kx2)ωx=∏ρ(x)∈H(S)e(g,g)sωxAxue(g,X1Tρ(x))sωxrxe(g,X1Tρ(x))sωxrx=e(g,g)s∑ρ(x)∈H(S)ωxAxu=e(g,g)αs.
The message can be recovered by C/e(g,g)αs.
3.2. The Modification
Above, the original scheme is proved to be data secure and attribute private in [20]. To make our scheme function private, we need to modify the KeyGen algorithm and Dec algorithm.
In KeyGen algorithm, we let the matrix 𝔸 be m*l; for every attribute i, we denote ui as (si,1α,si,2,…,si,m). The other parameters remain the same. Then, SK is as follows:
(10){Ki1=gAiui(X1Tρ(i))riWi,Ki2=griVi,si,1},i∈[l].
In Dec algorithm, the decrypter finds constants wi, such that ∑ρ(i)∈H(S)ωisi,1Ax=1; then we can process our Dec algorithm:
(11)∏ρ(i)∈H(S)e(C0,Ki1)ωie(Cρ(i),Ki2)ωi=∏ρ(i)∈H(S)e(g,g)sωiAiuie(g,X1Tρ(i))sωirie(g,X1Tρ(i))sωiri=e(g,g)s∑ρ(i)∈H(S)ωiAiui=e(g,g)αs.
In the Dec computation, we let ui=si,1ui′ (where the first term of u is α and the other terms are random numbers). Then ui′ can be seen as a vector where the first term is α and the others are random numbers. ui′ can be seen as u of original scheme. And
(12)∑ρ(i)∈H(S)ωiAiui=∑ρ(i)∈H(S)ωiAisiu=u·(1,0,…,0)=α.
So we can enable our modified scheme to act like the original scheme.
4. Security Analysis
Our modification does not violate the original scheme’s security. Since the data security and attribute privacy is proved in [20]; we will prove the function privacy of the modified scheme only.
Function Privacy. Let 𝒜 be a computational bounded adversary that makes a polynomial number of queries to the RoRFP oracle. We prove that the distribution of 𝒜’s view in the experiment ExpFP,𝒜ℬℰ,𝒜real is computationally close to the view in the ExpFP,𝒜ℬℰ,𝒜rand. We denote these two distributions by ViewReal and ViewRand.
By simulating, the adversary queries KeyGen and RoRFP oracle and then gets the random variable A=(A1,…,Al) corresponding to the (l,k)-source. For each i∈[l], let (ai,1,…,ai,m) denote the sample from Ai. Also let ui=(si,1,…si,m)∈Sm. Then we can assume that
(13)Viewmode=((∑j=1ms1,ja1,j),…(∑j=1msl,jal,j)).
for mode={Real,Rand}. For mode = Real, A=(A1,…,Al) is drawn from 𝔸; for mode = Rand, A is uniformly chosen from Sm·l. And ui∈Sm for i∈[l].
Note that the collection of functions {gs1,s2,…,sm:Sm→S}s1,…,sm∈S defined as gs1,s2,…,sm(a1,…,am)=∑i=1msiai is universal. After applying Lemma 4, we can easily imply that the statistical distance between ViewReal and uniform distribution is negligible. The same clearly holds for ViewRand. This completes the proof of function privacy.
5. Extension to Searchable Encryption
We have constructed a function private attribute-based encryption. In the above scheme, the entropy of secret key is large enough. By the transformation described in [20], we can easily get a searchable attribute-based encryption (ABEKS). Consider
Setup𝒜ℬℰ𝒦𝒮(λ,U)=Setup𝒜ℬℰ(λ,U),
Enc𝒜ℬℰ𝒦𝒮(M,PK,H(S))=Enc𝒜ℬℰ(M,PK,H(S)),
KeyGen𝒜ℬℰ𝒦𝒮((𝔸,ρ),MSK,PK)=
KeyGen𝒜ℬℰ((𝔸,ρ),MSK,PK),
TrapDoor𝒜ℬℰ𝒦𝒮(𝔸,ρ)=
KeyGen𝒜ℬℰ((𝔸,ρ),MSK,PK),
Test𝒜ℬℰ𝒦𝒮(CT,PK,SK)=Dec𝒜ℬℰ(CT,PK,SK).
Since an adversary cannot efficiently guess a concrete trapdoor built on some access structure owing to the privacy of secret key of ABE scheme, our scheme can resist keyword guessing attack. In fact, when an adversary 𝒜 implements a keyword guessing attack, he will randomly pick a valid access control policy associated with a keywords set and run a test to determine whether this keyword set is used to generate a trapdoor.
The security experiment is described as follows:
Exp𝒜ℬℰ𝒦𝒮,𝒜KGA(λ):
(PK,MSK)⟵Setup𝒜ℬℰ𝒦𝒮(λ,U),
T𝔸⟵TrapDoor𝒜ℬℰ𝒦𝒮(𝔸,ρ),
𝔸′⟵𝒜(pk,T𝔸),C𝔸′⟵Enc𝒜ℬℰ𝒦𝒮(𝔸′,pk,H(S)).
If Test(C𝔸′,PK,T𝔸), then return 1, else return 0.
We define the advantage of 𝒜 in the above experiment as
(14)Adv𝒜ℬℰ𝒦𝒮,𝒜KGA(λ)=Pr[Exp𝒜ℬℰ𝒦𝒮,𝒜KGA(λ)=1].
Theorem 8.
ABEKS scheme can resist keyword guessing attack, if the original ABE scheme is function private.
Proof.
Let 𝒜 be a polynomial time algorithm that implements a keyword guessing attack on ABEKS and let ℬ be an adversary that breaks the function privacy of ABE. If 𝒜 can efficiently obtain a valid keywords set corresponding with some trapdoor, then ℬ can distinguish the secret key with some random element sampled from secret key space using this trapdoor (i.e., secret key in ABE); that is,
(15)Adv𝒜ℬℰ𝒦𝒮,𝒜KGA(λ)<Adv𝒜ℬℰ,ℬFP(λ)≤g(λ),g(λ)isanegligiblefunction.
Hence, the proof is completed.
6. Conclusion
In this paper, we present a function private attribute-based encryption, which at the heart of our construction is a method of randomizing the secret key, so we have achieved that the secret key in our scheme is indistinguishable with the random element sampled from the secret key space. And then we extend it to a searchable attribute-based encryption which resists keyword guessing attack.
Conflict of Interests
The authors declare that there is no conflict of interests regarding the publication of this paper.
Acknowledgment
The authors want to express their sincere thanks to the anonymous referees for their valuable comments and suggestions. This work is supported by the National Nature Science Foundation of China under Grant no. 61272091 and the National Nature Science Foundation of Shandong Province under Grant no. ZR2012FM005.
BonehD.SahaiA.WatersB.Functional encryption: definitions and challenges2011Berlin, GermanySpringer253273WatersB.Functional encryption: origins and recent developments2013Berlin, GermanySpringer5154BonehD.FranklinM.Identity-based encryption from the Weil pairing2001Berlin, GermanySpringer213229LiJ.ZhangF.WangY.A new hierarchical ID-based cryptosystem and CCA-secure PKE2006Springer362371Lecture Notes in Computer ScienceSahaiA.WatersB.Fuzzy identity-based encryption2005Berlin, GermanySpringer457473GoyalV.PandeyO.SahaiA.WatersB.Attribute-based encryption for fine-grained access control of encrypted dataProceedings of the 13th ACM Conference on Computer and Communications Security (CCS '06)November 200689982-s2.0-3454727352710.1145/1180405.1180418KatzJ.SahaiA.WatersB.Predicate encryption supporting disjunctions, polynomial equations, and inner products2008Berlin, GermanySpringer146162LewkoA.OkamotoT.SahaiA.TakashimaK.WatersB.Fully secure functional encryption: attribute-based encryption and (hierarchical) inner product encryption2010Berlin, GermanySpringer6291LiJ.WangY.Universal Designated Verifier Ring Signature (Proof) without random oracles2006Springer332341Lecture Notes in Computer ScienceLiJ.KimK.ZhangF.ChenX.Aggregate proxy signature and verifiably encrypted proxy signatureProceedings of the International Conference on Provable Security (ProvSec '07)2007Wollongong, Australia208217Lecture Notes in Computer ScienceGorbunovS.VaikuntanathanV.WeeH.Attribute-based encryption for circuitsProceedings of the 45th Annual ACM Symposium on Theory of Computing2013ACM545554BonehD.NikolaenkoV.SegevG.Attribute-Based Encryption for Arithmetic CircuitsCryptology ePrint Archive, Report 2013/669, 2013, http://eprint.iacr.org/2013/669/BonehD.RaghunathanA.SegevG.Function-private identity-based encryption: hiding the function in functional encryption2013BonehD.RaghunathanA.SegevG.Function-Private Subspace-Membership Encryption and Its Applications, Cryptology ePrint ArchiveReport 2013/403, 2013, http://eprint.iacr.org/2013/403SongD. X.WagnerD.PerrigA.Practical techniques for searches on encrypted dataProceedings of the IEEE Symposium on Security and PrivacyMay 200044552-s2.0-0033705124ChangY.-C.MitzenmacherM.Privacy preserving keyword searches on remote encrypted dataProceedings of the 3rd International Conference on Applied Cryptography and Network Security (ACNS '05)June 20054424552-s2.0-26444507272Eu-JinG.Secure Indexes. Cryptology ePrint ArchiveReport 2003/216, 2003, http://eprint.iacr.org/2003/216/BonehD.Di CrescenzoG.OstrovskyR.PersianoG.Public key encryption with keyword search2004Berlin, GermanySpringer506522AbdallaM.BellareM.CatalanoD.KiltzE.KohinoT.LangeT.LeeJ. M.NevenG.PailliarP.ShiH.Searchable encryption revisited: Consistency properties, relation to anonymous IBE, and extensions2005Berlin, GermanySpringer205222HanF.QinJ.ZhaoH.HuJ.A general transformation from KP-ABE to searchable encryption201430107115ByunJ. W.RheeH. S.ParkH. A.LeeD. H.Off-line keyword guessing attacks on recent keyword search schemes over encrypted data2006Berlin, GermanySpringer7583JeongI. R.KwonJ. O.HongD.LeeD. H.Constructing PEKS schemes secure against keyword guessing attacks is possible?20093223943962-s2.0-5824910032510.1016/j.comcom.2008.11.018FangL.SusiloW.GeC.WangJ.Public key encryption with keyword search secure against keyword guessing attacks without random oracle2013238221241HuC.LiuP.A secure searchable public key encryption scheme with a designated tester against keyword guessing attacks and its extension2011Berlin, GermanySpringer131136XuP.JinH.WuQ.WangW.Public-key encryption with fuzzy keyword search: a provably secure scheme under keyword guessing attack2012621122662277BeimelA.1996Haifa, IsraelIsrael Institute of Technology Technion