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, which subsume threshold gates and conjunctions, or more generally as Linear Secret-Sharing Schemes (LSSS), which are strictly more expressive at polynomial size — KW93.
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 BB04b converts one to the other at a loss factor of 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. The correspondence is between definitions, not a transformation of schemes. Selective security does not imply adaptive security in either flavor — folklore; see no-selective-security-to-cp-abe-ind-cpa-security.
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.
Other results
- ABE ⇒ Fuzzy IBE
- The GPSW06 KP-ABE supports delegation of private keys, which subsumes HIBE — GPSW06
- ABE ⇒ BE
- BDH ⇒ ABE
- Bilinear pairing ⇒ CP-ABE (generic bilinear group model)
- DBDH + DLIN ⇒ IBE
- DBDH + DLIN ⇒ HIBE
- -Linear assumption ⇒ ABE
- Large-universe KP-ABE and CP-ABE in prime-order bilinear groups, selectively secure in the standard model under two -type assumptions — RW13
Participates in
Builds on Attribute-based encryption
Produces Attribute-based encryption
- BDH ⇒ ABE
- Bilinear pairing ⇒ CP-ABE (via CP-ABE: IND-CPA Security)
- Evasive circular LWE ⇒ ABE
- Evasive LWE + Tensor LWE ⇒ ABE
- -Linear assumption ⇒ ABE
- LWE with sub-exponential ratio ⇒ Selectively secure ABE for circuits (GVW) (via Selective Security)
- Succinct LWE ⇒ ABE
Barriers