Attribute-based encryption
Attribute-based encryption (ABE) generalizes IBE by replacing exact-identity matching with expressive Boolean access policies. The decryption relation is a pair , where is a monotone Boolean formula over attributes from universe and is an attribute set; decryption succeeds if and only if . ABE comes in two dual flavors depending on which component travels with the key and which with the ciphertext:
| Variant | Key holds | Ciphertext holds |
|---|---|---|
| KP-ABE (Key-Policy) | policy | attribute set |
| CP-ABE (Ciphertext-Policy) | attribute set | policy |
Policies are typically expressed as monotone Boolean formulas (or equivalently, as Linear Secret-Sharing Schemes (LSSS)), which subsume threshold gates and conjunctions.
Syntax
An ABE scheme is a tuple of efficient algorithms with respect to attribute universe , policy class , message space , and ciphertext space :
- is a randomized algorithm that outputs public parameters and master secret key ,
- is a (possibly randomized) algorithm that takes and either a policy (KP-ABE) or an attribute set (CP-ABE), outputting a secret key,
- is a randomized algorithm that takes , either an attribute set (KP-ABE) or a policy (CP-ABE), and , outputting ,
- is a deterministic algorithm that takes a secret key and ciphertext, outputting or .
Decryption succeeds if and only if the associated pair satisfies .
Properties
Correctness
An ABE scheme is -correct if for all , policy-attribute pairs with , and ,
where and denote whichever of is placed in the key vs. ciphertext by the variant, over and randomness of and .
KP-ABE: IND-CPA Security
In KP-ABE, the adversary queries keys for policies of its choice. The challenge is an attribute set and two messages. Admissibility: no queried policy may satisfy .
\begin{algorithm}
\algname{Game}
\caption{$\Game^{\mathrm{kp\text{-}cpa}}_{\ABE,\calA}(\secpar)$}
\begin{algorithmic}
\State $(\pp, \msk) \gets \Setup(1^\secpar)$; $b \getsr \bits$
\State $\calO_{\mathrm{key}}(f) := \KeyGen(\msk, f)$
\State $(x^*, m_0, m_1, \stA) \gets \calA^{\calO_{\mathrm{key}}}(1^\secpar, \pp)$
\Comment{$\calA$ may not have queried $\calO_{\mathrm{key}}(f)$ for $f(x^*) = 1$}
\State $c^* \gets \Enc(\pp, x^*, m_b)$
\State $b' \gets \calA^{\calO_{\mathrm{key}}}(c^*, \stA)$
\Comment{$\calA$ may not query $\calO_{\mathrm{key}}(f)$ for $f(x^*) = 1$}
\Return $[b' = b]$
\end{algorithmic}
\end{algorithm}
A KP-ABE scheme is KP-IND-CPA-secure if for all efficient admissible ,
is negligible.
CP-ABE: IND-CPA Security
In CP-ABE, the adversary queries keys for attribute sets of its choice. The challenge is a policy and two messages. Admissibility: no queried attribute set may satisfy .
\begin{algorithm}
\algname{Game}
\caption{$\Game^{\mathrm{cp\text{-}cpa}}_{\ABE,\calA}(\secpar)$}
\begin{algorithmic}
\State $(\pp, \msk) \gets \Setup(1^\secpar)$; $b \getsr \bits$
\State $\calO_{\mathrm{key}}(x) := \KeyGen(\msk, x)$
\State $(f^*, m_0, m_1, \stA) \gets \calA^{\calO_{\mathrm{key}}}(1^\secpar, \pp)$
\Comment{$\calA$ may not have queried $\calO_{\mathrm{key}}(x)$ for $f^*(x) = 1$}
\State $c^* \gets \Enc(\pp, f^*, m_b)$
\State $b' \gets \calA^{\calO_{\mathrm{key}}}(c^*, \stA)$
\Comment{$\calA$ may not query $\calO_{\mathrm{key}}(x)$ for $f^*(x) = 1$}
\Return $[b' = b]$
\end{algorithmic}
\end{algorithm}
A CP-ABE scheme is CP-IND-CPA-secure if for all efficient admissible ,
is negligible.
Selective Security
In both KP-ABE and CP-ABE, the selective variant requires the adversary to commit to the challenge ( in KP-ABE, in CP-ABE) before runs. Selective security is strictly weaker than adaptive security; complexity leveraging converts one to the other at a polynomial cost in for KP-ABE, but the conversion for CP-ABE can incur exponential loss in the formula size.
Variations
Syntactic Duality of KP-ABE and CP-ABE
KP-ABE and CP-ABE are syntactically dual: swapping the roles of and converts one definition into the other. This structural observation is useful for intuition but does not give a black-box security reduction. In particular, a selective KP-ABE security proof does not imply adaptive CP-ABE security via the syntactic swap, because the two games have different admissibility constraints and different distributions of challenge objects.
Large-Universe ABE
In small-universe ABE, all supported attributes are registered at time and embedded into the public parameters; the universe size is bounded a priori. In large-universe constructions, attributes can be arbitrary strings not known at ; keys and ciphertexts for new attributes can be created at any time without re-running . Large-universe constructions are necessary for real-world deployments where the set of possible attributes cannot be fixed in advance — RW13.
Policy Hiding
Standard KP-ABE and CP-ABE leak the access policy: in KP-ABE the policy is visible in the key, and in CP-ABE the policy is visible in the ciphertext. Hiding the policy from unauthorized parties requires additional techniques. IPPE is a key stepping stone toward full policy hiding, since inner-product predicates are both expressive and attribute-hiding.
Symmetric CP-ABE
In symmetric CP-ABE (secret-key CP-ABE), there are no public parameters: all parties must hold a key from the authority. Encryption takes the encryptor’s key and may only embed a policy that the encryptor’s own attribute set satisfies, .
A symmetric CP-ABE scheme is a tuple with respect to attribute universe , policy class , and message space :
- outputs a master secret key with no public parameters.
- takes and , outputting a key bound to .
- takes an encryptor key , a policy with , and .
- or succeeds when the decryptor’s attribute set satisfies the ciphertext policy.
The IND-CCA2 game adds an encryption oracle absent from standard CP-ABE: since encryption requires a key, the adversary can query encryptions under keys it legitimately holds. The key oracle’s admissibility constraint — no queried with — also bounds what the adversary can submit to .
\begin{algorithm}
\algname{Game}
\caption{$\Game^{\mathrm{sym\text{-}cca2}}_{\ABE,\calA}(\secpar)$}
\begin{algorithmic}
\State $\msk \gets \Setup(1^\secpar)$; $b \getsr \bits$
\State $\calO_{\mathrm{key}}(x) := \KeyGen(\msk, x)$
\State $\calO_{\mathrm{enc}}(\sk_x, f, m) := \Enc(\sk_x, f, m)$
\Comment{$\sk_x$ must be a prior output of $\calO_{\mathrm{key}}$}
\State $\calO_{\mathrm{dec}}(\sk_x, c) := \Dec(\sk_x, c)$
\State $(f^*, m_0, m_1, \stA) \gets \calA^{\calO_{\mathrm{key}}, \calO_{\mathrm{enc}}, \calO_{\mathrm{dec}}}(1^\secpar)$
\Comment{$\calA$ may not have queried $\calO_{\mathrm{key}}(x)$ for $f^*(x) = 1$}
\State $\sk_{x_e} \gets \KeyGen(\msk, x_e)$
\Comment{Challenger-chosen $x_e \subseteq \calU$ with $f^*(x_e) = 1$}
\State $c^* \gets \Enc(\sk_{x_e}, f^*, m_b)$
\State $b' \gets \calA^{\calO_{\mathrm{key}}, \calO_{\mathrm{enc}}, \calO_{\mathrm{dec}}}(c^*, \stA)$
\Comment{No $\calO_{\mathrm{key}}(x)$ with $f^*(x) = 1$; no $\calO_{\mathrm{dec}}(\cdot, c^*)$}
\Return $[b' = b]$
\end{algorithmic}
\end{algorithm}
A symmetric CP-ABE scheme is sym-CP-IND-CCA2-secure if for all efficient admissible ,
is negligible.
Other results
- ABE ⇒ Fuzzy IBE
- ABE ⇒ HIBE
- ABE ⇒ BE
- ABE is incomparable to IPPE: IPPE achieves attribute-hiding but only captures inner-product predicates; KP/CP-ABE handles arbitrary monotone formulas but leaks the policy
- BDH ⇒ ABE
- GGM ⇒ ABE
- BDH ⇒ ABE
- BDH ⇒ IBE
- BDH ⇒ ABE
- BDH ⇒ HIBE
- [[k-linear-assumption-to-abe-rw13|-Linear assumption ⇒ ABE]]
- Hash function + PRF ⇒ Symmetric CP-ABE
Participates in
Builds on Attribute-based encryption
Produces Attribute-based encryption
- BDH ⇒ ABE
- Evasive LWE ⇒ ABE
- Evasive LWE ⇒ ABE
- GGM ⇒ ABE
- [[k-linear-assumption-to-abe-rw13|-Linear assumption ⇒ ABE]]
- Succinct LWE ⇒ ABE
Barriers