This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

11institutetext: 1Russian Quantum Center, Skolkovo, Moscow 143025, Russia
2 QApp, Skolkovo, Moscow 143025, Russia
3Bauman Moscow State Technical University, Moscow 105005, Russia
4 Moscow Institute of Physics and Technology, Dolgoprudny, Moscow Region 141700, Russia
11email: [email protected]; [email protected]; [email protected]; [email protected]

Advanced attribute-based protocol based on the modified secret sharing scheme

M.A. Kudinov1,2,3    A.A. Chilikov3,4    E.O. Kiktenko1,2    A.K. Fedorov1,2
Abstract

We construct a new protocol for attribute-based encryption with the use of the modification of the standard secret sharing scheme. In the suggested modification of the secret sharing scheme, only one master key for each user is required that is achieved by linearly enlarging public parameters in the access formula. We then use this scheme for designing an attribute-based encryption protocol related to some access structure in terms of attributes. We demonstrate that the universe of possible attributes does not affect the resulting efficiency of the scheme. The security proofs for both constructions are provided.

Abstract

We construct a new protocol for attribute-based encryption with the use of the modification of the standard secret sharing scheme. In the suggested modification of the secret sharing scheme, only one master key for each user is required that is achieved by linearly enlarging public parameters in access formula. We then use this scheme for designing an attribute-based encryption protocol related to some access structure in terms of attributes. We demonstrate that the universe of possible attributes does not affect the resulting efficiency of the scheme. The security proofs for both constructions are provided.

Keywords:
secret sharing attribute-based encryption monotone access structures
Keywords:
Secret sharing Attribute-based encryption Monotone access structures

1 Introduction

In the view of the significant increase in the amount of digital communications, the problem of efficient protection of data becomes crucial. An important task is to construct a secured protocol for controlled access to data. In standard protocols for solving this problem, which are mostly based on public-key cryptography, a secret key is required for access to whole encrypted data. A straightforward modifications of such protocols for providing partial access to data lead to a significant increase of the complexity since multiple encryptions of the same data are needed.

Attribute-based encryption (ABE) is a relatively new approach for solving the data access control problem [1, 2, 3]. In the ABE schemes, the access to the parts of an encrypted data is determined by a set of attributes, which are inherent to various participants. Thus, if attributes of a participant belonging to a particular subset of possible attributes, then he is able to obtain access to a corresponding particular part of the encrypted data. The ABE conception appears to be very promising in a framework of cloud technologies and distributed ledgers. Over the past decade, a number of modifications and improvements have been presented [1, 4, 5]. However, some of the proposed approaches still suffer from implementation complexity, which increases with the number of attributes.

We note that the concept of ABE has much in common with the secret sharing (SS) problem. However, one of the most common SS schemes [6] has a problem related to a large number of shares per trustee.

In this work, we propose an advanced ABE protocol with a sufficiently low computational complexity. One of the main techniques of our work is a modification of the standard SS scheme, which allows one to use a single key for generating the whole set of required shares. This modification is then used for the construction of the ABE protocol, which is independent to the size of the set of possible attributes.

The paper is organized as follows. In Sec. 2 we provide basic definitions. In Sec. 3 we briefly describe the standard construction of the general SS scheme. In Sec. 4 we present our modification of the SS scheme, which is then used for constructing the ABE protocol in Sec. 5. In Sec. 6 we estimate the required resources for encryption and decryption for the suggested protocol. We summarize our results and conclude in Sec. 7.

2 Preliminaries

Let us introduce basic definitions and notations.

Let x𝒳x\leftarrow\mathcal{X}, where xx is a random value and 𝒳\mathcal{X} is a probability distribution, denote a sampling of xx from the distribution 𝒳\mathcal{X}. Let yM(x)y\leftarrow M(x), where MM is an algorithm, denote the output yy of MM processed on the input xx. Let x$Xx\stackrel{{\scriptstyle\$}}{{\leftarrow}}X, where XX is a set, denote an element xx, which is chosen uniformly at random from the set XX. Let (ϕ1,,ϕn)\lor(\phi_{1},\ldots,\phi_{n}) and (ϕ1,,ϕn)\land(\phi_{1},\ldots,\phi_{n}) stand for ϕ1ϕn\phi_{1}\lor\ldots\lor\phi_{n} and ϕ1ϕn\phi_{1}\land\ldots\land\phi_{n}, correspondingly.

Now we define a pseudorandom function (PRF) family. Given the oracle ff, we denote M(f)M(f) as the execution of the oracle machine MM with an access to ff.

Definition 1 (pseudorandom function (PRF) family)

We define 𝔽𝒟={fk:𝒟}k𝒦\mathbb{F}_{\mathcal{D}\rightarrow\mathcal{E}}=\{f_{k}:\mathcal{D}\rightarrow\mathcal{E}\}_{k\in\mathcal{K}}, where |𝒦|=|𝒟|=||<|\mathcal{K}|=|\mathcal{D}|=|\mathcal{E}|<\infty to be a function family. We define the advantage of an adversary 𝒜\mathcal{A} against PRF as

Adv𝔽𝒟PRF(𝒜)=|Pr[1𝒜(fk):k$𝒦]Pr[1𝒜(h):h$H𝒟]|,{\rm Adv_{\mathbb{F}_{\mathcal{D}\rightarrow\mathcal{E}}}^{PRF}(\mathcal{A})}=|\Pr[1\leftarrow\mathcal{A}(f_{k}):k\stackrel{{\scriptstyle\$}}{{\leftarrow}}\mathcal{K}]-\Pr[1\leftarrow\mathcal{A}(h):h\stackrel{{\scriptstyle\$}}{{\leftarrow}}H_{\mathcal{D}\rightarrow\mathcal{E}}]|,

where H𝒟H_{\mathcal{D}\rightarrow\mathcal{E}} is a family of all functions from 𝒟\mathcal{D}\rightarrow\mathcal{E} (|H𝒟|=|||𝒟||H_{\mathcal{D}\rightarrow\mathcal{E}}|=|\mathcal{E}|^{|\mathcal{D}|}). We define the PRF insecurity of a function family 𝔽𝒟\mathbb{F}_{\mathcal{D}\rightarrow\mathcal{E}} against time-ξ\xi adversaries as the maximum advantage of any classical adversary that runs in time ξ\xi :

InSecPRF(𝔽𝒟,ξ)=max𝒜{Adv𝔽𝒟PRF(𝒜)}{\rm InSec^{PRF}(\mathbb{F}_{\mathcal{D}\rightarrow\mathcal{E}},\xi)=\underset{\mathcal{A}}{max}\{Adv_{\mathbb{F}_{\mathcal{D}\rightarrow\mathcal{E}}}^{PRF}(\mathcal{A})\}}
Definition 2 (mm-PRF family game)

We say that an oracle ω\omega is initialized with a function f()f(\cdot) if ω(x)=f(x)\omega(x)=f(x), and denote it as ωf\omega\leftarrow f. The following procedure is called mm-PRF family game

Init:

Given 𝔽𝒟={fk:𝒟}k𝒦\mathbb{F}_{\mathcal{D}\rightarrow\mathcal{E}}=\{f_{k}:\mathcal{D}\rightarrow\mathcal{E}\}_{k\in\mathcal{K}}, where |𝒦|=|𝒟|=|||\mathcal{K}|=|\mathcal{D}|=|\mathcal{E}|, flip a fair coin bb. If b=1b=1 then Ω={ωifk:k$𝒦,i{1,,m}}\Omega=\{\omega_{i}\leftarrow f_{k}:k\stackrel{{\scriptstyle\$}}{{\leftarrow}}\mathcal{K},\ i\in\{1,\ldots,m\}\}. Otherwise Ω={ωih:h$H𝒟,i{1,,m}}\Omega=\{\omega_{i}\leftarrow h:h\stackrel{{\scriptstyle\$}}{{\leftarrow}}H_{\mathcal{D}\rightarrow\mathcal{E}},\ i\in\{1,\ldots,m\}\}, where H𝒟H_{\mathcal{D}\rightarrow\mathcal{E}} is a family of all functions from 𝒟\mathcal{D}\rightarrow\mathcal{E}.

Game:

Given a set of oracles Ω\Omega, the challenge is to distinguish whether Ω\Omega is initialized with functions from F𝒟F_{\mathcal{D}\rightarrow\mathcal{E}} or from H𝒟H_{\mathcal{D}\rightarrow\mathcal{E}}

We define the advantage of an adversary 𝒜\mathcal{A} against mm-PRF as

Adv𝔽𝒟mPRF(𝒜)=|Pr[1𝒜(Ω)b=1]Pr[1𝒜(Ω)b=0]|.{\rm Adv}_{\mathbb{F}_{\mathcal{D}\rightarrow\mathcal{E}}}^{m-{\rm PRF}}(\mathcal{A})=|\Pr[1\leftarrow\mathcal{A}(\Omega)|b=1]-\Pr[1\leftarrow\mathcal{A}(\Omega)|b=0]|.

We define the mm-PRF insecurity of a function family 𝔽𝒟\mathbb{F}_{\mathcal{D}\rightarrow\mathcal{E}} against time-ξ\xi adversaries as the maximum advantage of any classical adversary that runs in time ξ\xi :

InSecmPRF(𝔽𝒟,ξ)=max𝒜{Adv𝔽𝒟mPRF(𝒜)}{\rm InSec}^{m-{\rm PRF}}(\mathbb{F}_{\mathcal{D}\rightarrow\mathcal{E}},\xi)=\underset{\mathcal{A}}{\max}\{{\rm Adv}_{\mathbb{F}_{\mathcal{D}\rightarrow\mathcal{E}}}^{m-{\rm PRF}}(\mathcal{A})\}
Definition 3 (Decisional Diffie–Hellman (DDH) challenge [10, 11])

Consider a (multiplicative) cyclic group GG of the order qq with the generator gg. We define the advantage of an adversary 𝒜\mathcal{A} against DDH as

AdvGDDH(𝒜)=|Pr(1𝒜(ga,gb,gab)Pr(1𝒜(ga,gb,gz))|{\rm Adv}_{G}^{\rm DDH}(\mathcal{A})=|\Pr(1\leftarrow\mathcal{A}(g^{a},g^{b},g^{ab})-\Pr(1\leftarrow\mathcal{A}(g^{a},g^{b},g^{z}))| (1)

where a,b,za,b,z are chosen randomly and independently from q\mathbb{Z}_{q}. We define the DDH insecurity of a group GG against time-ξ\xi adversaries as the maximum advantage of any classical adversary that runs in time ξ\xi :

InSecDDH(G,ξ)=max𝒜{AdvGDDH(𝒜)}{\rm InSec^{DDH}}(G,\xi)={\rm\underset{\mathcal{A}}{max}}\{{\rm Adv}_{G}^{\rm DDH}(\mathcal{A})\}
Definition 4 (mm-DDH challenge)

Consider a (multiplicative) cyclic group GG of the order qq with the generator gg, and following two distibutions:

  • Ωab={(ga,gb1,gab1),(ga,gb2,gab2),,(ga,gbm,gabm)}\Omega_{ab}=\{(g^{a},g^{b_{1}},g^{a\cdot b_{1}}),(g^{a},g^{b_{2}},g^{a\cdot b_{2}}),\ldots,(g^{a},g^{b_{m}},g^{a\cdot b_{m}})\}, where aa and bib_{i} are chosen randomly and independently from q\mathbb{Z}_{q} for i=1,,mi=1,\ldots,m,

  • Ωz={(ga,gb1,gz1),(ga,gb2,gz2),,(ga,gbm,gzm)}\Omega_{z}=\{(g^{a},g^{b_{1}},g^{z_{1}}),(g^{a},g^{b_{2}},g^{z_{2}}),\ldots,(g^{a},g^{b_{m}},g^{z_{m}})\}, where a,bi,zia,b_{i},z_{i} are chosen randomly and independently from q\mathbb{Z}_{q} for i=1,,mi=1,\ldots,m,

We define the advantage of an adversary 𝒜\mathcal{A} against mm-DDH as

AdvGmDDH(𝒜)=|Pr[1𝒜(Ωab)]Pr[1𝒜(Ωz)]|{\rm Adv}_{G}^{m-{\rm DDH}}(\mathcal{A})=|\Pr[1\leftarrow\mathcal{A}(\Omega_{ab})]-\Pr[1\leftarrow\mathcal{A}(\Omega_{z})]| (2)

We define the DDH insecurity of a group GG against time-ξ\xi adversaries as the maximum advantage of any classical adversary that runs in time ξ\xi :

InSecmDDH(G,ξ)=max𝒜{AdvGmDDH(𝒜)}{\rm InSec}^{m-{\rm DDH}}(G,\xi)={\rm\underset{\mathcal{A}}{max}}\{{\rm Adv}_{G}^{m-{\rm DDH}}(\mathcal{A})\}
Definition 5

Let 𝒫={P1,Pn}\mathcal{P}=\{P_{1},\ldots P_{n}\} be a set. An access structure \mathcal{B} is a collection of non-empty subsets of 𝒫\mathcal{P}, i.e., 2𝒫\mathcal{B}\subseteq 2^{\mathcal{P}}.

Definition 6

Given a set 𝒫\mathcal{P}, a monotone access structure on 𝒫\mathcal{P} is a collection of subsets 2𝒫\mathcal{B}\subseteq 2^{\mathcal{P}} such that

B,BB𝒫B.B\in\mathcal{B},B\subseteq B^{\prime}\subseteq\mathcal{P}\Rightarrow B^{\prime}\in\mathcal{B}.
Definition 7

A Boolean function Φ:{0,1}n{0,1}\Phi:\{0,1\}^{n}\rightarrow\{0,1\} is called monotone, if Φ(x1,,xn)Φ(x1,,xn)\Phi(x_{1},\ldots,x_{n})\leq\Phi(x_{1}^{\prime},\ldots,x_{n}^{\prime}), whenever for every i{1,,n}i\in\{1,\ldots,n\} xixix_{i}\leq x_{i}^{\prime}.

Definition 8

Given an access structure \mathcal{B}, define a Boolean function Φ:{0,1}|P|{0,1}\Phi_{\mathcal{B}}:\{0,1\}^{|P|}\rightarrow\{0,1\} on |𝒫||\mathcal{P}|-bit strings, where each bit is indexed by an element from 𝒫\mathcal{P}, such that Φ(x)=1\Phi(x)=1 iff {p:xp=1}\{p:x_{p}=1\}\in\mathcal{B}.

One can look at the Boolean function Φ\Phi_{\mathcal{B}} as an indicator of the set \mathcal{B}. It is easy to check that the defined Φ\Phi_{\mathcal{B}} is a monotone Boolean function for a proper monotone access structure \mathcal{B}.

Definition 9

For a given set 𝒫\mathcal{P} and a monotone access structure \mathcal{B} on 𝒫\mathcal{P}, define ()\mathcal{F(B)} to be the set of all Boolean formulae (expressions consisted of logical operations) on |P||P| variables, such that for every formula ϕ()\phi\in\mathcal{F(B)} the output of ϕ\phi is true iff the true variables in ϕ\phi correspond exactly to a set BB\in\mathcal{B} (here we assume that each Boolean variable in the formula is indexed with an element form 𝒫\mathcal{P}).

We note that ϕ\phi, ϕ()\phi^{\prime}\in\mathcal{F(B)} implies that ϕ\phi and ϕ\phi^{\prime} correspond to the same function Φ\Phi_{\mathcal{B}}. They may, however, represent entirely different formula to express this function.

Definition 10 (Random oracle [12])

Random oracle is an oracle (a theoretical black box) that responds to every unique query with a value chosen uniformly at random from its output domain. If a query is repeated, it responds the same way every time that query is submitted. We refer a set of independent Random Oracles, {RO1,,ROt}\{{\rm RO}_{1},\ldots,{\rm RO}_{t}\}, as a family of Random Oracles.

3 Standard construction of the general SS scheme

We begin our consideration with a SS scheme, which is proposed by J. Benaloh and J. Leichter [6], that we refer to as a standard SS scheme. For this purpose we first introduce a definition of the secure generalized SS scheme. It is known that for certain access structures every secure generalized SS scheme must be able to assign multiple shares to each trustee (see Theorem 3.2 below). In this case, we use sp,js_{p,j} to denote the jthj^{\rm th} share given to trustee pp.

We define the scheme with the use of the following roles. We call the dealer, a user who shares a secret according to some access structure. The trustees are users among which the secret is shared. A party is a group of trustees. We denote the set of all trustees as 𝒫\mathcal{P}.

Definition 11 (Secure generalized SS scheme)

Given a monotone access structure \mathcal{B} on a set of trusties 𝒫\mathcal{P} and a set of possible secrets 𝒮\mathcal{S}, a secure generalized SS scheme for \mathcal{B} is a method of dividing a secret s𝒮s\in\mathcal{S} into shares {sp,j}p𝒫,j\{s_{p,j}\}_{p\in\mathcal{P},j\in\mathbb{N}} such that

  • for every BB\in\mathcal{B}, there is an algorithm for reconstructing the secret ss from the subset of shares pB𝑗sp,j\underset{p\in B}{\cup}\underset{j}{\cup}s_{p,j};

  • for every BB\notin\mathcal{B} the subset of shares pB𝑗sp,j\underset{p\in B}{\cup}\underset{j}{\cup}s_{p,j} provides no information (in an information theoretic sense) about the value of ss.

In what is presented below, we define the secret domain 𝒮=q\mathcal{S}=\mathbb{Z}_{q}, for some positive integer qq. We then are able to construct the secure generalized SS scheme.

It is known that every monotone function Φ\Phi can represented with a formula ϕ\phi consisted only of \land and \lor operations (without NOT operation). It is then sufficient to demonstrate how to divide a secret “across” these two operators. We use Xp,jX_{p,j} to denote the jthj^{\rm th} appearance of variable Xp:pPX_{p}:p\in P in a formula ϕ\phi. We refer it as jj-notation. For example, a formula (X1X2)(X1X3)(X_{1}\land X_{2})\lor(X_{1}\land X_{3}) transforms to (X1,1X2,1)(X1,2X3,1)(X_{1,1}\land X_{2,1})\lor(X_{1,2}\land X_{3,1})

Let $(s,ϕ)\$(s,\phi) be a random function, which declares shares for each trustee pPp\in P for s𝒮s\in\mathcal{S} and a monotone formula ϕ\phi, that is defined as follows (we assume that ϕ\phi is represented in jj-notation):

  • $(s,Xp,j)\$(s^{\prime},X_{p,j}) assigns the share ss^{\prime} to trustee pPp\in P, such that sp,j:=ss_{p,j}:=s^{\prime};

  • $(s,(ϕ1,,ϕn))=1in$(s,ϕi)\$(s^{\prime},\lor(\phi_{1},\ldots,\phi_{n}))=\underset{1\leq i\leq n}{\cup}\$(s,\phi_{i});

  • $(s,(ϕ1,,ϕn))=1in$(si,ϕi)\$(s,\land(\phi_{1},\ldots,\phi_{n}))=\underset{1\leq i\leq n}{\cup}\$(s_{i},\phi_{i}), where the sis_{i} are chosen uniformly from 𝒮\mathcal{S}, such that s=(i=1nsi)(modq)s=(\sum_{i=1}^{n}{s_{i}})({\rm mod}\ q).

It is then possible to show that for every monotone access structure \mathcal{B}, the SS scheme defined by $(s,ϕ)\$(s,\phi) satisfies the definition of a secure generalized SS scheme.

Theorem 3.1

Let \mathcal{B} be a monotone access structure on a set 𝒫\mathcal{P}, ϕ()\phi\in\mathcal{F(B)} such that it is represented in jj-notaition and contains only operators \land and \lor, and let ss be a secret from q\mathbb{Z}_{q}. The SS scheme determined by $(s,ϕ)\$(s,\phi) is a secure generalized SS scheme for \mathcal{B}.

Finally, we note that it is shown in [6] that there are access structures, which cannot be realized without giving multiple (or extra large) shares to some trustee.

Theorem 3.2

There exist access structures for which any generalized SS scheme must give some trustee shares which are from a domain larger than that of the secret.

See [6] for the proofs of Theorem 3.1 and Theorem 3.2.

4 Advanced SS scheme

4.1 General idea

As it is noted in [6], that we are unable to realize most monotone access structures with a standard SS scheme. However, one can modify the structures that can be realized efficiently, such that each trustee holds only one secret value, which we refer as a master key. With the use of the master key, a trustee is able to calculate all required shares.

We define the scheme with the use of the roles as defined above.

Let us begin with an illustrative example. Assume that a dealer wants to share a secret sqs\in\mathbb{Z}_{q} between trustees Alice (AA), Bob (BB), Charlie (CC), and David (DD) according to the following access formula:

((XA,1XB,1)(XB,2XC,1)(XC,2XD,1)),((X_{A,1}\land X_{B,1})\lor(X_{B,2}\land X_{C,1})\lor(X_{C,2}\land X_{D,1})), (3)

where Xp,jX_{p,j} is a Boolean variable that represents a trustee pp and appeared jthj^{\rm th} time in the formula. Let us introduce an address for each variable as its position in the formula as follows:

((XA,10A,1XB,11B,1)(XB,22B,2XC,13C,1)(XC,24C,2XD,15D,1))((\stackrel{{\scriptstyle 0}}{{X_{A,1}}}\land\stackrel{{\scriptstyle 1}}{{X_{B,1}}})\lor(\stackrel{{\scriptstyle 2}}{{X_{B,2}}}\land\stackrel{{\scriptstyle 3}}{{X_{C,1}}})\lor(\stackrel{{\scriptstyle 4}}{{X_{C,2}}}\land\stackrel{{\scriptstyle 5}}{{X_{D,1}}})) (4)

Thus, XA,1.address=0X_{A,1}.{\rm address}=0, XB,1.address=1X_{B,1}.{\rm address}=1, XB,2.address=2X_{B,2}.{\rm address}=2, and so on.

To share a secret, the dealer first gives each trustee p{A,B,C,D}p\in\{A,B,C,D\} a value mkp{\rm mk}_{p}, which is chosen uniformly at random from some domain 𝒦\mathcal{K}. Next we refer to mkp{\rm mk}_{p} as a master key belonging to a trustee pp.

Let us then assume that the dealer and trustees have access to independent random oracles family {ROi:iq}\{{\rm RO}_{i}:i\in\mathbb{Z}_{q}\} with an output domain in q\mathbb{Z}_{q}. In order to generate a share that corresponds to a variable Xp,jX_{p,j}, a trustee pp has to query the random oracle ROmkp{\rm RO}_{{\rm mk}_{p}} with Xp,j.addressX_{p,j}.{\rm address}. For example, the shares for the defined access formula are computed in this way:

sA,1=ROmkA(XA,1.address)=ROmkA(0),\displaystyle s_{A,1}={\rm RO}_{{\rm mk}_{A}}(X_{A,1}.{\rm address})={\rm RO}_{{\rm mk}_{A}}(0),
sB,1=ROmkB(XB,1.address)=ROmkB(1),\displaystyle s_{B,1}={\rm RO}_{{\rm mk}_{B}}(X_{B,1}.{\rm address})={\rm RO}_{{\rm mk}_{B}}(1),
sB,2=ROmkB(XB,2.address)=ROmkB(2),\displaystyle s_{B,2}={\rm RO}_{{\rm mk}_{B}}(X_{B,2}.{\rm address})={\rm RO}_{{\rm mk}_{B}}(2),
sC,1=ROmkC(XC,1.address)=ROmkC(3),\displaystyle s_{C,1}={\rm RO}_{{\rm mk}_{C}}(X_{C,1}.{\rm address})={\rm RO}_{{\rm mk}_{C}}(3), (5)
sC,2=ROmkC(XC,2.address)=ROmkC(4),\displaystyle s_{C,2}={\rm RO}_{{\rm mk}_{C}}(X_{C,2}.{\rm address})={\rm RO}_{{\rm mk}_{C}}(4),
sD,1=ROmkD(XD,1.address)=ROmkD(5).\displaystyle s_{D,1}={\rm RO}_{{\rm mk}_{D}}(X_{D,1}.{\rm address})={\rm RO}_{{\rm mk}_{D}}(5).

Since each random oracle is independent, every share is a random value from q\mathbb{Z}_{q}. As a result, a sum of shares, e.g. s:=(sA,1+sB,2)(modq)s^{\prime}:=(s_{A,1}+s_{B,2})({\rm mod}\ q), is also a uniformly random variable from q\mathbb{Z}_{q}. To make it possible to reconstruct a secret ss by trustees AA and BB, we add a publicly known value y1y_{1} to this bracket, such that (y1+s)(modq)=s(y_{1}+s^{\prime})({\rm mod}\ q)=s.

Consequently, we modify our access formula into the following form:

((XA,10A,1XB,11B,1Y1)(XB,22B,2XC,33C,3Y2)(XC,24C,2XD,15D,1Y3)),((\stackrel{{\scriptstyle 0}}{{X_{A,1}}}\land\stackrel{{\scriptstyle 1}}{{X_{B,1}}}\land Y_{1})\lor(\stackrel{{\scriptstyle 2}}{{X_{B,2}}}\land\stackrel{{\scriptstyle 3}}{{X_{C,3}}}\land Y_{2})\lor(\stackrel{{\scriptstyle 4}}{{X_{C,2}}}\land\stackrel{{\scriptstyle 5}}{{X_{D,1}}}\land Y_{3})), (6)

where YiY_{i} are Boolean variables that correspond to fictitious trustees, whose shares yiy_{i} are considered to be publicly known to every actual trustee. The value of yiy_{i} is computed in such a way that a reconstruction of secret becomes possible. We note that yiy_{i} is computed by the dealer, since he knows all the master keys.

Below we present our scheme in a more formal and efficient way.

4.2 Formal Construction

Let nn be a security parameter, 𝔽q={fk:k𝒦}\mathbb{F}_{q}=\{f_{k}:k\in\mathcal{K}\} be a PRF family, where q2nq\geq 2^{n} and fk:qqf_{k}:\mathbb{Z}_{q}\rightarrow\mathbb{Z}_{q} with |𝒦|=q|\mathcal{K}|=q. Here we chose fk:𝒟f_{k}:\mathcal{D}\rightarrow\mathcal{E} with 𝒟=q\mathcal{D}=\mathbb{Z}_{q}, but one can choose another domain. Note that =q\mathcal{E}=\mathbb{Z}_{q}, so we are able to sum the shares in q\mathbb{Z}_{q}. Let HqH_{q} be a family of all functions qq\mathbb{Z}_{q}\rightarrow\mathbb{Z}_{q}. Let l=poly(n)l={\rm poly}(n) be the maximum size of monotone formula that we can use efficiently and let l:=l/2l^{\prime}:=l/2. Hereby the size of the monotone formula is the number of times that variables occur in the formula.

The roles for the scheme (dealer, trustees, and party) are defined in the previous subsection.

First, we define a modifying function gs(ϕ)g_{s}(\phi), where ϕ\phi is an access formula, whose size is less than l+1l^{\prime}+1 and it is written in jj-notation, and sqs\in\mathbb{Z}_{q}. Let Xp,jX_{p,j} be a variable, which represents a trustee pp and it is appeared jthj^{\rm th} time in the formula. Let Xp,j.addressX_{p,j}.{\rm address} represents the position of the variable in ϕ\phi. Let mkp𝒦{\rm mk}_{p}\in\mathcal{K} be the value of pp’s master key. We denote YiY_{i} as a variable that corresponds to a fictitious trustee and yiy_{i} as the value of his share. We use ϕi\phi_{i} as subformula. Since every formula can be written in the following form:

(ϕ1,ϕ2,,ϕj,Xp1,k1,Xp2,k2,Xpt,kt),\circ(\phi_{1},\phi_{2},\ldots,\phi_{j},X_{p_{1},k_{1}},X_{p_{2},k_{2}},\ldots X_{p_{t},k_{t}}), (7)

where \circ stands for either \land or \lor.

Let is introduce a global counter α\alpha, which is initialized with 11. There are three separate cases to look at:

  • gs(Xp1,k1Xpt,kt)=(Xp1,k1Xpt,ktYα)g_{s}(X_{p_{1},k_{1}}\land\ldots\land X_{p_{t},k_{t}})=(X_{p_{1},k_{1}}\land\ldots\land X_{p_{t},k_{t}}\land Y_{\alpha}),
    where t1t\geq 1 and yi=sfmkp1(Xp1,k1.address)fmkpt(Xpt,kt.address)(modq)y_{i}=s-f_{{\rm mk}_{p_{1}}}(X_{p_{1},k_{1}}.{\rm address})-\ldots-f_{{\rm mk}_{p_{t}}}(X_{p_{t},k_{t}}.{\rm address})({\rm mod}\ q), and the counter α\alpha is incremented α:=α+1\alpha:=\alpha+1.

  • gs(Xp1,k1Xpt,ktϕ1ϕj)=(Xp1,k1Xpt,ktgs1(ϕ1)gsj(ϕj))g_{s}(X_{p_{1},k_{1}}\land\ldots\land X_{p_{t},k_{t}}\land\phi_{1}\land\ldots\land\phi_{j})=(X_{p_{1},k_{1}}\land\ldots\land X_{p_{t},k_{t}}\land g_{s_{1}}(\phi_{1})\land\ldots\land g_{s_{j}}(\phi_{j})), where j1j\geq 1, ϕi=()\phi_{i}=\lor(\cdot) with at least one operator, si$qs_{i}\stackrel{{\scriptstyle\$}}{{\leftarrow}}\mathbb{Z}_{q} for i{1,,j1}i\in\{1,\ldots,j-1\} and sj:=sfmkp1(Xp1,k1.address)fmkpt(Xpt,kt.address)s1sj1(modq)s_{j}:=s-f_{{\rm mk}_{p_{1}}}(X_{p_{1},k_{1}}.{\rm address})-\ldots-f_{{\rm mk}_{p_{t}}}(X_{p_{t},k_{t}}.{\rm address})-s_{1}-\ldots-s_{j-1}\ ({\rm mod}~{}q).

  • gs(Xp1,k1Xpt,ktϕ1ϕj)=(gs(Xp1,k1)gs(Xpt,kt)gs(ϕ1)gs(ϕ2)gs(ϕj))g_{s}(X_{p_{1},k_{1}}\lor\ldots\lor X_{p_{t},k_{t}}\lor\phi_{1}\lor\ldots\lor\phi_{j})=(g_{s}(X_{p_{1},k_{1}})\lor\ldots\lor g_{s}(X_{p_{t},k_{t}})\lor g_{s}(\phi_{1})\lor g_{s}(\phi_{2})\lor\ldots\lor g_{s}(\phi_{j})).

Let us clarify that the address of a variable is the number of the position of that variable in the formula ϕ\phi (conventionally, we count from left to right).

Now we can describe our advanced SS scheme. To share a secret the dealer should follow these steps:

  1. 1.

    Choose a secret s$qs\stackrel{{\scriptstyle\$}}{{\leftarrow}}\mathbb{Z}_{q}.

  2. 2.

    Choose a master key for each trustee in the union 𝒫\mathcal{P} uniformly at random from 𝒦\mathcal{K} (for each p𝒫:mkp$𝒦p\in\mathcal{P}:{\rm mk}_{p}\stackrel{{\scriptstyle\$}}{{\leftarrow}}\mathcal{K}).

  3. 3.

    Choose a monotone formula ϕ\phi of size less or equal to ll^{\prime}, which represents an access structure.

  4. 4.

    Evaluate ϕ=gs(ϕ)\phi^{\prime}=g_{s}(\phi).

  5. 5.

    Publish ϕ\phi^{\prime}, so that the values yiy_{i} are available for everyone.

To reconstruct a secret a party should follow these steps:

  1. 1.

    Each trustee pp in the party has to evaluate their shares:
    sp,j=fmkp(Xp,j.address)s_{p,j}=f_{{\rm mk}_{p}}(X_{p,j}.{\rm address}).

  2. 2.

    Using the corresponding shares and public values yiy_{i}, a verified party can calculate the secret ss according to the way it is shared.

Definition 12

Given a set 𝒫\mathcal{P} and a monotone access structure \mathcal{B} on 𝒫\mathcal{P}, an advanced SS scheme for \mathcal{B} is a method of dividing a secret ss into shares sp,js_{p,j} such that the following statements hold true:

  • When BB\in\mathcal{B}, the secret ss can be reconstructed from the shares pB𝑗sp,j\underset{p\in B}{\cup}\underset{j}{\cup}s_{p,j} and public values y1,,yty_{1},\ldots,y_{t}.

  • When BB\notin\mathcal{B}, the secret ss can be reconstructed only with a negligible probability from the shares pB𝑗sp,j\underset{p\in B}{\cup}\underset{j}{\cup}s_{p,j} and public values y1,,yty_{1},\ldots,y_{t}.

4.3 Security proof

Here we introduce a notion of the security model that is used for our scheme, which is similar to the Selective-Id model [7, 8, 9].

Definition 13 (Selective-Id model for advanced SS scheme)

The following procedure is called Selective-Id model for advanced SS scheme.

Init:

The adversary chooses an access structure \mathcal{B} with a corresponding formula ϕ\phi and gives it to the challenger.

Phase 1:

The adversary declares the set of trustees γ\gamma, which does not satisfy the formula ϕ\phi and obtains master keys of trustees from γ\gamma from the challenger.

Challenge:

The adversary submits two secrets s0s_{0} and s1s_{1}. The challenger flips a fair coin bb and shares the secret sbs_{b}.

Phase 2:

The challenger gives to the adversary ϕ=gsb(ϕ)\phi^{\prime}=g_{s_{b}}(\phi) and corresponding values y1,,yjy_{1},\ldots,y_{j}.

Guess:

The adversary outputs a guess bb^{\prime} of bb.

The advantage of an adversary in this game is defined as |Pr[b=b]12||\Pr[b^{\prime}=b]-\frac{1}{2}|.

Theorem 4.1

Consider the advanced SS scheme for a set of parties 𝒫\mathcal{P} based on PRF family 𝔽q={fk:qq}k𝒦\mathbb{F}_{q}=\{f_{k}:\mathbb{Z}_{q}\rightarrow\mathbb{Z}_{q}\}_{k\in\mathcal{K}} with |𝒦|=q|\mathcal{K}|=q. The advantage ε\varepsilon^{\prime} in the Selective-Id model of any classical adversary 𝒜\mathcal{A} that runs in time ξ\xi^{\prime} satisfies the inequality εInSecPRF(𝔽q,ξ)|𝒫|\varepsilon^{\prime}\leq{\rm InSec^{PRF}}(\mathbb{F}_{q},\xi)\cdot|\mathcal{P}|, where ξξ\xi^{\prime}\approx\xi assuming that time needed for sampling no more than |𝒫|+l|\mathcal{P}|+l^{\prime} random variables is negligible, where ll^{\prime} is the maximum size of the formula which can be efficiently processed by the advanced SS scheme.

Proof

First of all, one can easily notice that the reconstruction of the secret happens the same way as in the standard SS scheme. We also note that if BB\notin\mathcal{B} (i.e. BB does not satisfy the formula ϕ\phi), then B(𝑖Yi)B\cup(\underset{i}{\cup}Y_{i}) does not satisfy the access structure defined by ϕ=gs(ϕ)\phi^{\prime}=g_{s}(\phi) as Xp,j1=Xp,jX_{p,j}\land 1=X_{p,j}.

Consider, a modification of the advanced SS scheme (modified advanced SS scheme), where PRF family 𝔽q\mathbb{F}_{q} is replaced with a set of random oracles. One can see that this scheme is exactly the standard SS scheme based on formula ϕ=gs(ϕ)\phi^{\prime}=g_{s}(\phi). So there is no chance for an adversary to compute the secret, which possesses the shares from BB\notin\mathcal{B}.

Now suppose that there exists a probabilistic polynomial time adversary 𝒜{\mathcal{A}}, which has an advantage ε\varepsilon^{\prime} in Selective-Id model for advanced SS scheme. Without loss of generality, we assume that it’s probability of guessing a correct value is Pr[b=b]=1/2+ε\Pr[b^{\prime}=b]=1/2+\varepsilon^{\prime}. Then we show that it is possible to distinguish the PRF family 𝔽q\mathbb{F}_{q} from truly random function family with a probability at least ε/|𝒫|\varepsilon^{\prime}/|\mathcal{P}|. To show this we construct an oracle machine 𝒜\mathcal{M}^{{\mathcal{A}}} that has an advantage ε\varepsilon^{\prime} in |𝒫||\mathcal{P}|-pseudorandom function family game (see Algorithm 1). Let us calculate the probabilities to obtain v=0v^{\prime}=0 and v=1v^{\prime}=1 (vv^{\prime} is defined in Algorithm 1).

Input : Security parameter nn, function family 𝔽q\mathbb{F}_{q}, |𝒫||\mathcal{P}|-pseudorandom function family challenge Ω={ωp1,,ωpN}\Omega=\{\omega_{p_{1}},\ldots,\omega_{p_{N}}\}, where {p1,,pN}=𝒫\{p_{1},\ldots,p_{N}\}=\mathcal{P}.
Output : A guess vv^{\prime}.
The adversary 𝒜\mathcal{A} declares an access structure, a corresponding formula ϕ\phi, and a set of trustees γ\gamma, which does not satisfy the formula ϕ\phi.
𝒜\mathcal{A} queries the master keys of trustees from γ\gamma.
Generate a master key uniformly at random for each trustee in γ\gamma and response to the adversary with those keys.
The adversary submits two secrets s0s_{0} and s1s_{1}.
Flip a fair coin bb and share the secret sbs_{b} according to the advanced SS scheme, but instead of generating master keys for trustees in 𝒫γ\mathcal{P}\setminus\gamma and calculating the shares with fk𝔽qf_{k}\in\mathbb{F}_{q}, use an oracle ωp\omega_{p} from Ω\Omega for trustee p𝒫γp\in\mathcal{P}\setminus\gamma and calculate the shares as sp.j=ωp(Xp.j.address)s_{p.j}=\omega_{p}(X_{p.j}.{\rm address}). We call this modification gs(ϕ)g^{\prime}_{s}(\phi).
Give to the adversary ϕ=gsb(ϕ)\phi^{\prime}=g^{\prime}_{s_{b}}(\phi) and corresponding values y1,,yjy_{1},\ldots,y_{j}.
The adversary outputs a guess bb^{\prime} of bb.
if b=bb^{\prime}=b then
      return v=1v^{\prime}=1
else
      return v=0v^{\prime}=0
Algorithm 1 𝒜\mathcal{M}^{{\mathcal{A}}}

Suppose that the challenge Ω\Omega is initialised with functions from the family 𝔽q\mathbb{F}_{q}. In this case, the situation for the adversary is completely the same as in the case of the (non-modified) advanced SS scheme. Therefore, the adversary correctly guesses the value bb^{\prime} with an advantage ε\varepsilon^{\prime} or what is the same with probability 12+ε\frac{1}{2}+\varepsilon^{\prime}.

If the challenge Ω\Omega is initialized with functions from the family HqH_{q}, then the shares of the trustees from 𝒫γ\mathcal{P}\setminus\gamma are chosen uniformly at random. And the situation is the same as in the standard SS scheme. Since γ\gamma does not satisfy the formula, it is required to obtain at least one more share to get the secret, but all the remaining shares are chosen uniformly at random. Therefore, according to the Theorem 3.1 the adversary has no information about the secret in this situation. Thus, in this case the adversary can only randomly guess the value bb, so bb^{\prime} is correctly guessed with a probability 12\frac{1}{2}.

Let v=0v=0 corresponds to the challenge Ω\Omega initialized with functions from the family HqH_{q} and v=1v=1 to the challenge Ω\Omega initialized with functions from the pseudorandom function family. Then the overall advantage in the |𝒫||\mathcal{P}|-pseudorandom game is |Pr[v=1v=0]Pr[v=1v=1]|=|12(12+ε)|=ε|\Pr[v^{\prime}=1|v=0]-\Pr[v^{\prime}=1|v=1]|=|\frac{1}{2}-(\frac{1}{2}+\varepsilon^{\prime})|=\varepsilon^{\prime}.

By the hybrid argument [13] we can distinguish a pseudorandom function family with probability ε/(|𝒫|)\varepsilon^{\prime}/(|\mathcal{P}|). In order to apply the hybrid argument consider two distributions,

D1={D1.i=fk:k$𝒦, 1i|𝒫|,fk𝔽q},D_{1}=\{D_{1.i}=f_{k}:k\stackrel{{\scriptstyle\$}}{{\leftarrow}}\mathcal{K},\ 1\leq i\leq|\mathcal{P}|,f_{k}\in\mathbb{F}_{q}\}, (8)

and

D2={D2.i=h$Hq:1i|𝒫|}.D_{2}=\{D_{2.i}=h\stackrel{{\scriptstyle\$}}{{\leftarrow}}H_{q}:1\leq i\leq|\mathcal{P}|\}. (9)

Define a sequence of hybrid distributions D1=T0,T1,,T|𝒫|=D2D_{1}=T_{0},\ T_{1},\ldots,\ T_{|\mathcal{P}|}=D_{2}, where Ti={Ti.j=h$Hq:1ji}{Ti.j=fk:k$𝒦,i<j|𝒫|,fk𝔽q}.T_{i}=\{T_{i.j}=h\stackrel{{\scriptstyle\$}}{{\leftarrow}}H_{q}:1\leq j\leq i\}\cup\{T_{i.j}=f_{k}:k\stackrel{{\scriptstyle\$}}{{\leftarrow}}\mathcal{K},\ i<j\leq|\mathcal{P}|,f_{k}\in\mathbb{F}_{q}\}. So we have AdvD1,D2(𝒜)=ε{\rm Adv}_{D_{1},D_{2}}(\mathcal{M}^{{\mathcal{A}}})=\varepsilon^{\prime}. Let us remind that

AdvTi,Ti+1(𝒜)=|Pr[x$Ti:𝒜(x)=1]Pr[x$Ti+1:𝒜(x)=1]|{\rm Adv}_{T_{i},T_{i+1}}(\mathcal{M}^{{\mathcal{A}}})=|\Pr[x\stackrel{{\scriptstyle\$}}{{\leftarrow}}T_{i}:\mathcal{M}^{{\mathcal{A}}}(x)=1]-\\ -\Pr[x\stackrel{{\scriptstyle\$}}{{\leftarrow}}T_{i+1}:\mathcal{M}^{{\mathcal{A}}}(x)=1]| (10)

By the triangle inequality, it is clear that

AdvD1,D2(𝒜)i=0|𝒫|1AdvTi,Ti+1(𝒜){\rm Adv}_{D_{1},D_{2}}(\mathcal{M}^{{\mathcal{A}}})\leq\sum_{i=0}^{|\mathcal{P}|-1}{\rm Adv}_{T_{i},T_{i+1}}(\mathcal{M}^{{\mathcal{A}}})

Thus, there exists some η\eta, such that 0η<|𝒫|0\leq\eta<|\mathcal{P}| and

AdvTη,Tη+1(𝒜)AdvD1,D2(𝒜)/|𝒫|=ε/|𝒫|.{\rm Adv}_{T_{\eta},T_{\eta+1}}(\mathcal{M}^{{\mathcal{A}}})\geq{\rm Adv}_{D_{1},D_{2}}(\mathcal{M}^{{\mathcal{A}}})/|\mathcal{P}|=\varepsilon^{\prime}/|\mathcal{P}|. (11)

Suppose that we have a sample ω$𝔽q\omega\stackrel{{\scriptstyle\$}}{{\leftarrow}}\mathbb{F}_{q} or ω$Hq\omega\stackrel{{\scriptstyle\$}}{{\leftarrow}}H_{q}. Let us construct a distribution T={Ti$Hq:1iη}{Tη+1=ω}{Tifk:k$𝒦,η+1<i|𝒫|,fk𝔽q}T^{\prime}=\{T_{i}\stackrel{{\scriptstyle\$}}{{\leftarrow}}H_{q}:1\leq i\leq\eta\}\cup\{T_{\eta+1}=\omega\}\cup\{T_{i}\leftarrow f_{k}:k\stackrel{{\scriptstyle\$}}{{\leftarrow}}\mathcal{K},\ \eta+1<i\leq|\mathcal{P}|,f_{k}\in\mathbb{F}_{q}\}. If ω$𝔽q\omega\stackrel{{\scriptstyle\$}}{{\leftarrow}}\mathbb{F}_{q} then TT^{\prime} is distributed the same as TηT_{\eta}, otherwise it is distributed as Tη+1T_{\eta+1}. Thus, we can distinguish samples from 𝔽q\mathbb{F}_{q} and HqH_{q} with probability ε/|𝒫|\varepsilon^{\prime}/|\mathcal{P}|.

Finally, we obtain: εInSecPRF(𝔽q,ξ)|𝒫|\varepsilon^{\prime}\leq{\rm InSec^{PRF}}(\mathbb{F}_{q},\xi)\cdot|\mathcal{P}|, where ξ\xi is a total time of running 𝒜\mathcal{M^{A}} plus initialization of an appropriate hybrid. Neglegting the time needed for preparing data for 𝒜\mathcal{A} and the hybrid TT^{\prime} we obtain ξξ\xi\approx\xi^{\prime}.

5 Advanced ABE Scheme

5.1 Formal Construction

Consider a group of users, where each user posses a list of attributes. Let 𝒫\mathcal{P} be a set of all existing attributes. Let us call a community a subgroup of users, who possess a particular attribute p𝒫p\in\mathcal{P}. In what follows, we refer to the community pp as a subgroup of users that possess an attribute pp. We note that a user can belong to several communities if he has more than one attribute.

Let nn\in\mathbb{N} be a security parameter, GG be a multiplicative group of a prime order qq, where 2n<q<2n+12^{n}<q<2^{n+1} in which DDH assumption is considered to be true, gg is a generator of that group, HqH_{q} is a family of all functions qq\mathbb{Z}_{q}\rightarrow\mathbb{Z}_{q}, and 𝔽q={fk:qq}kG\mathbb{F}_{q}=\{f_{k}:\mathbb{Z}_{q}\rightarrow\mathbb{Z}_{q}\}_{k\in G} is a PRF family. We construct the advanced ABE scheme based on the advanced SS scheme in the following form.

Setup:

Each community pp in the universe 𝒫\mathcal{P} generates their secret key skp$q{\rm sk}_{p}\stackrel{{\scriptstyle\$}}{{\leftarrow}}\mathbb{Z}_{q} and a correspong public key pk=gskp{\rm pk}=g^{{\rm sk}_{p}}. Then the public key is shared among the whole group of users. So that the set of public keys PK={pkp=gskp:p𝒫}PK=\{{\rm pk}_{p}=g^{{\rm sk}_{p}}:p\in\mathcal{P}\} is assumed to be known to every user in the group.

Encryption (M,PK,ϕ,𝔽q)(M,PK,\phi,\mathbb{F}_{q}):

To encrypt a message MqM\in\mathbb{Z}_{q} under public keys PKPK and formula ϕ\phi, which represents some monotone access structure, one generates s$q,e$qs\stackrel{{\scriptstyle\$}}{{\leftarrow}}\mathbb{Z}_{q},e\stackrel{{\scriptstyle\$}}{{\leftarrow}}\mathbb{Z}_{q} and computes the ciphertext in the following form E={E=M+s(modq),ge,ϕ=gs(ϕ),y1,,yt}E=\{E^{\prime}=M+s({\rm mod}\ q),g^{e},\phi^{\prime}=g_{s}(\phi),y_{1},\ldots,y_{t}\}, where gs(),y1,,ytg_{s}(\cdot),y_{1},\ldots,y_{t} come from the advanced SS scheme based on PRF family 𝔽q\mathbb{F}_{q} and the corresponding master keys are calculated as mkp=gskpe{\rm mk}_{p}=g^{{\rm sk}_{p}\cdot e}.

Decryption (E,SK,Attr,𝔽q)(E,SK,Attr,\mathbb{F}_{q}):

, where SKSK is a set of all secret keys known to a concrete user and AttrAttr is a set of attributes he posseses. For each skpSK{\rm sk}_{p}\in SK, a user calculates the master key mkp=(ge)skp{\rm mk}_{p}=(g^{e})^{{\rm sk}_{p}}. Then if AttrAttr satisfies the access structure, then the secret ss can be reconstructed using MK={mkp}MK=\{{\rm mk}_{p}\}, ϕ\phi^{\prime} and y1,,yty_{1},\ldots,y_{t}. The message is obtained from EE^{\prime} as M=Es(modq)M=E^{\prime}-s({\rm mod}\ q).

5.2 Security proof

In order to provide a formal security analysis of the advanced ABE scheme, we introduce the following definition.

Definition 14 (Attribute-based Selective-Set model)

The following
procedure is called attribute-based Selective-Set model:

Init:

The adversary chooses an access structure and a corresponding formula ϕ\phi and sends ϕ\phi to the challenger.

Phase 1:

The adversary declares the set of communities γ\gamma, which does not satisfy the formula ϕ\phi and obtains secret keys of communities from γ\gamma from the challenger.

Challenge:

The adversary submits two secrets s0s_{0} and s1s_{1}. The challenger flips a fair coin bb and encrypts m$qm\stackrel{{\scriptstyle\$}}{{\leftarrow}}\mathbb{Z}_{q}: E=m+sb(modq)E^{\prime}=m+s_{b}({\rm mod}\ q).

Phase 2:

The challenger gives to the adversary public keys of all communities and EE, which is a ciphertext of mm generated according to the advanced ABE scheme.

Guess:

The adversary outputs a guess bb^{\prime} of bb.

The advantage of an adversary in this game is defined as |Pr[b=b]12||\Pr[b^{\prime}=b]-\frac{1}{2}|.

Below we prove that the security of our scheme in the attribute-based Selective-Set model reduces to the hardness of the DDH challenge and pseudorandomness of the function family.

Theorem 5.1

Consider the advanced ABE scheme based on an PRF family 𝔽q\mathbb{F}_{q} and set of communities 𝒫\mathcal{P}. The advantage ε\varepsilon^{\prime} in the the Attribute-based Selective-Set model game of any classical adversary 𝒜\mathcal{A} that runs in time ξ\xi^{\prime} satisfies the following inequality: εInSecDDH(G,ξ)|𝒫|+InSecPRF(𝔽q,ξ~)|𝒫|\varepsilon^{\prime}\leq{\rm InSec^{DDH}}(G,\xi)\cdot|\mathcal{P}|+\rm{InSec^{PRF}}(\mathbb{F}_{q},\tilde{\xi})\cdot|\mathcal{P}|. With ξξξ~\xi\approx\xi^{\prime}\approx\tilde{\xi} assuming that time required for sampling no more than 3|𝒫|+l3|\mathcal{P}|+l^{\prime} random variables is negligible, where ll^{\prime} is the maximum size of the formula which can be efficiently processed by the advanced ABE scheme.

Proof

First, suppose that the master keys are replaced with uniformly random keys. In this case, let us denote the advantage in breaking the modified advanced ABE protocol in the attribute-based Selective-Set model as ε~\widetilde{\varepsilon}. If (εε~)(\varepsilon^{\prime}-\widetilde{\varepsilon}) is not negligible, then we can construct a machine that breaks |𝒫||\mathcal{P}|-DDH challenge with an advantage of at least (εε~)(\varepsilon^{\prime}-\widetilde{\varepsilon}).

We assume that ε~<ε\widetilde{\varepsilon}<\varepsilon^{\prime}, since we limit the value of ε~\widetilde{\varepsilon} by the pseudoradnomnes property and if ε\varepsilon^{\prime} is less than ε~\widetilde{\varepsilon} then we can limit them both.

Let us denote a |𝒫||\mathcal{P}|-DDH challenge Ω={wp1,,wpN}\Omega=\{w_{p_{1}},\ldots,w_{p_{N}}\}, whereN=|𝒫|N=|\mathcal{P}|, {p1,,pN}=𝒫\{p_{1},\ldots,p_{N}\}=\mathcal{P} and wpiw_{p_{i}} is a tuple either (ga,gbi,gabi)(g^{a},g^{b_{i}},g^{a\cdot b_{i}}) or (ga,gbi,gzi)(g^{a},g^{b_{i}},g^{z_{i}}). We use wi.jw_{i.j} to denote the jthj^{\rm th} element of the tuple. To prove the theorem, consider the following algorithm.

Input : Security parameter nn, |𝒫||\mathcal{P}|-DDH challenge Ω\Omega.
Output : A guess vv^{\prime}.
The adversary 𝒜\mathcal{A} chooses an access structure and a corresponding formula ϕ\phi and sends it to the challenger.
𝒜\mathcal{A} declares the set of communities γ\gamma, which does not satisfy the formula ϕ\phi, whose secret keys he wishes to get and queries them.
Generate a secret key for each community in γ\gamma and response to the adversary with those keys.
The adversary submits two secrets s0s_{0} and s1s_{1}.
Flip a fair coin bb and encrypt a message m$qm\stackrel{{\scriptstyle\$}}{{\leftarrow}}\mathbb{Z}_{q} according to the advanced ABE scheme with s=sbs=s_{b}, but instead of secret keys for communities in 𝒫γ\mathcal{P}\setminus\gamma use sample ωp\omega_{p} from Ω\Omega for community p𝒫γp\in\mathcal{P}\setminus\gamma. Take ωp.2\omega_{p.2} as his public key and ωp.3\omega_{p.3} as his master key. We call this modification gs(F)g^{\prime}_{s}(F).
Give to the adversary E={E=m+s(modq),ω1,1,ϕ=gs(ϕ),y1,,yj}E=\{E^{\prime}=m+s({\rm mod}\ q),\omega_{1,1},\phi^{\prime}=g^{\prime}_{s}(\phi),y_{1},\ldots,y_{j}\}.
The adversary outputs a guess bb^{\prime} of bb.
if b=bb^{\prime}=b then
      return v=1v^{\prime}=1
else
      return v=0v^{\prime}=0
Algorithm 2 𝒜\mathcal{M}^{{\mathcal{A}}}

If ωp.3\omega_{p.3} is sampled uniformly at random (v=0v=0), then the master keys are chosen uniformly at random. Hence the adversary has no information about the master keys he did not query. Remind that we denote the advantage of the adversary in this situation as ε~\widetilde{\varepsilon}. Otherwise (v=1)(v=1) the situation is the same as in the original ABE protocol. Thus, we have the overall advantage in the |𝒫||\mathcal{P}|-DDH game as follows:

InSec|𝒫|DDH(G,ξ𝒫)|Pr[v=1v=0]Pr[v=1v=1]|==|(12+ε~)(12+ε)|=εε~,{\rm InSec^{|\mathcal{P}|-DDH}}(G,\xi_{\mathcal{P}})\geq|\Pr[v^{\prime}=1|v=0]-\Pr[v^{\prime}=1|v=1]|=\\ =|(\frac{1}{2}+\widetilde{\varepsilon})-(\frac{1}{2}+\varepsilon^{\prime})|=\varepsilon^{\prime}-\widetilde{\varepsilon}, (12)

where ξ𝒫\xi_{\mathcal{P}} is a running time of Algorithm 2. Neglegting the time for preparing data for 𝒜\mathcal{A} we obtain ξ𝒫ξ\xi_{\mathcal{P}}\approx\xi^{\prime}.

In analogy to the proof of Theorem 4.1, one can see that due to the hybrid argument

InSecDDH(G,ξ)(εε~)/|𝒫|,{\rm InSec^{DDH}}(G,\xi)\geq(\varepsilon^{\prime}-\widetilde{\varepsilon})/|\mathcal{P}|,

where ξξ𝒫\xi\approx\xi_{\mathcal{P}} neglegting the time, needed to prepare an appropriate hybrid.

Finally, we limit the value of ε~\widetilde{\varepsilon}. Due to the fact the master keys are chosen uniformly at random, the security of such a scheme reduces to the security of the advanced SS scheme straightforwardly. Therefore, according to Theorem 4.1: ε~InSecPRF(𝔽q,ξ~)|𝒫|\widetilde{\varepsilon}\leq\rm{InSec^{PRF}(\mathbb{F}_{q},\tilde{\xi})}\cdot|\mathcal{P}|, with ξ~ξ𝒫\tilde{\xi}\approx\xi_{\mathcal{P}}.

Thus, we arrive to the final result:

εInSecDDH(G,ξ)|𝒫|+InSecPRF(𝔽q,ξ~)|𝒫|,\varepsilon^{\prime}\leq{\rm InSec^{DDH}}(G,\xi)\cdot|\mathcal{P}|+\rm{InSec^{PRF}(\mathbb{F}_{q},\tilde{\xi})}\cdot|\mathcal{P}|,

with ξξξ~\xi^{\prime}\approx\xi\approx\tilde{\xi}.

6 Efficiency estimation for advanced ABE scheme

Here we analyze the efficiency of the proposed advanced ABE scheme in terms of sizes of ciphertext, public parameters, and private key, and the computation time for decryption and encryption.

Consider a ciphertext E={E=m+s(modq),ge,ϕ=gs(ϕ),y1,,yj}E=\{E^{\prime}=m+s({\rm mod}\ q),g^{e},\phi^{\prime}=g_{s}(\phi),y_{1},\ldots,y_{j}\} and a plaintext PT={m,ϕ}PT=\{m,\phi\}. We note that it is required to publish the rules of the access structure, hence we assume that the plaintext is accomplished by the formula ϕ\phi. One can see that ϕ\phi^{\prime} is no more than twice bigger than ϕ\phi. This is due to the fact that the number of additional Boolean variables corresponded to fictitious trustees (communities) can not exceed the number of Boolean variables corresponded to the actual trustees (communities). We then note that ϕ\phi and ϕ\phi^{\prime} make a major contribution into the size of PTPT and EE. Hence, the overhead of the ciphertext compared to plaintext is of the size linear in the size of the formula ϕ\phi.

The public parameters of the system are of size linear in the number of existing attributes. The private key of the community consists of a single value from q\mathbb{Z}_{q}.

The encryption procedure generates two random values, performs one addition in q\mathbb{Z}_{q} and one exponentiation in the group GG, ll calls to functions from 𝔽q\mathbb{F}_{q}, where ll denotes the size of the formula ϕ\phi. The modification of the formula ϕ\phi into ϕ\phi^{\prime} is performed in the linear time with the usage of syntax tree.

Thus, the amount of the communities in the scheme is |𝒫||\mathcal{P}|. The decryption procedure needs to perform at most |𝒫||\mathcal{P}| exponentiations, ll^{\prime} sums and pseudorandom function calls, where ll^{\prime} is the size of formula ϕ\phi^{\prime}. Finally, one subtraction is required.

7 Conclusion

Here we summarize the main results of our work. First, we have presented the modification of the SS scheme, which allows a user to store only one value to calculate the corresponding shares. Based on this modification, we have proposed the advanced ABE protocol. We have provided the security and efficiency analysis of the proposed scheme.

One of the most significant impacts of this paper is rejection of bilinear mappings, which evidently increases the efficiency of the proposed scheme and allows to dinamicaly add new attributes.

One can see that the proposed ABE scheme is not collusion resistant as well as some other ABE schemes (e.g. see [14]). We note, that all known collusion resistant schemes are based on using of trusted centers which are absent in our scheme.

There are several ways to improve the proposed scheme. The first one is based on adding new logical elements, e.g. threshold, so that the formula ϕ\phi can be constructed more efficiently. The second question is related to modification of this protocol with respect to the use of other key exchange schemes.

Acknowledgments

This work is supported by Russian Foundation for Basic Research (18-37-20033). A.A.C. is supported by Russian Science Foundation (17-11-01377).

References

  • [1] Goyal, V., Pandey, O., Sahai, A., Waters B.R.: Attribute-Based Encryption for Fine-Grained Access Control of Encrypted Data. In: Proceedings of the ACM Conference on Computer and Communications Security, pp. 89-98 (2006)
  • [2] Boneh, D., Franklin, M.K.: Identity-based encryption from the Weil pairing. In: Proceedings of the 21st Annual International Cryptology Conference on Advances in Cryptology, pp. 213–229 (2001)
  • [3] Boneh, D., Gentry, C., Waters, B.: Collusion Resistant Broadcast Encryption with Short Ciphertexts and Private Keys. In: Advances in Cryptology - CRYPTO, Lecture Notes in Computer Science 3621, pp. 258-275 (2005)
  • [4] Sahai, A., Waters, B.: Fuzzy Identity-Based Encryption. In: Advances in Cryptology – EUROCRYPT 2005, pp. 457-473 (2005)
  • [5] Abdalla, M., Catalano, D., Dent, A.W., Malone-Lee, J., Neven, G., Smart, N.P.: Identity-based encryption gone wild. In: Bugliesi M., Preneel B., Sassone V., Wegener I, (eds) ICALP (2), Lecture Notes in Computer Science 4052, pp. 300-311 (2006)
  • [6] Benaloh, J., Leichter J.: Generalized secret sharing and monotone functions. In: Goldwasser S. (ed.) Advances in Cryptology – CRYPTO ’88, Lecture Notes in Computer Science 403, pp. 27–35 (1990)
  • [7] Canetti, R., Halevi, S., Katz, J.: A Forward-Secure Public-Key Encryption Scheme. In: Advances in Cryptology – Eurocrypt, Lecture Notes in Computer Science 2656, pp. 255-271 (2003)
  • [8] Canetti, R., Halevi, S., Katz J.: Chosen Ciphertext Security from Identity Based Encryption. In: Advances in Cryptology – Eurocrypt, Lecture Notes in Computer Science 3027, pp. 207–222 (2004).
  • [9] Boneh, D., Boyen X.: Efficient Selective-ID Secure Identity Based Encryption Without Random Oracles. In: Cachin C., Camenisch J.L. (eds) Advances in Cryptology - EUROCRYPT 2004. EUROCRYPT 2004. Lecture Notes in Computer Science, 3027. Springer, Berlin, Heidelberg, pp. 223-238 (2004)
  • [10] Boneh, D.: The decision Diffie–Hellman problem. In: Proceedings of the Third Algorithmic Number Theory Symposium, Lecture Notes in Computer Science 1423, ed. J.P. Buhler. Springer-Verlag, Berlin, pp. 48–63 (1998)
  • [11] Cramer, R., Damgård, I., Kiltz, E., Zakarias, S., Zottarel, A.: DDH-like Assumptions Based on Extension Rings. In: Public Key Cryptography – PKC 2012, Lecture Notes in Computer Science 7293, pp. 644-661 (2012)
  • [12] Bellare, M., Rogaway, P.: Random oracles are practical: A paradigm for designing efficient protocols. In: ACM conference on Computer and Communications Security (ACM CCS), pp. 62-73 (1993)
  • [13] Goldreich, O. Foundations of Cryptography: Cambridge University Press, Cambridge (2001).
  • [14] Kapadia, Apu and Tsang, Patrick and Smith, Sean: Attribute-Based Publishing with Hidden Credentials and Hidden Policies. (2007)