Hierarchical identity-based encryption
A hierarchical identity-based encryption (HIBE) scheme extends IBE by organizing identities into a tree: an entity at depth holds an identity vector where is the root domain and each subsequent component refines the identity. Any node can delegate a decryption key to any of its children without involvement of the root KGC. HIBE models real-world key delegation in organizations and DNS-style identity hierarchies.
Syntax
An HIBE scheme is a tuple of efficient algorithms with respect to maximum depth , alphabet , message space , and ciphertext space . Identity vectors are tuples :
- is a randomized algorithm that outputs public parameters (including the depth bound ) and master secret key ,
- is a (possibly randomized) algorithm that takes and an identity vector of any depth, outputting a secret key ,
- is a (possibly randomized) algorithm that takes a key for and a child identity component , outputting a key for the extended identity ,
- is a randomized algorithm that takes , an identity vector , and , outputting ,
- is a deterministic algorithm that takes a secret key and ciphertext, outputting or .
Correctness requires that a ciphertext encrypted for can be decrypted by for any , and also by any key derived from via . Note: keys derived via are typically less efficient (larger) than those from ; in many constructions key size grows by group elements per delegation level.
Properties
Correctness
An HIBE scheme is -correct if for all , , and ,
over and the randomness of and ; and similarly for any key obtained by a sequence of calls from a root-extracted key.
IND-HIBE-CPA Security
The adaptive IND-HIBE-CPA game is similar to IBE but with a stronger admissibility constraint: since any key for a prefix () can be used to delegate down to , the adversary may not extract any ancestor (prefix) of the challenge identity, including itself.
\begin{algorithm}
\algname{Game}
\caption{$\Game^{\mathrm{hibe\text{-}cpa}}_{\HIBE,\calA}(\secpar)$}
\begin{algorithmic}
\State $(\pp, \msk) \gets \Setup(1^\secpar, d)$; $b \getsr \bits$
\State $\calO_{\mathrm{ext}}(\vec{\mathit{id}}) := \Extract(\msk, \vec{\mathit{id}})$
\State $(\vec{\mathit{id}}^*, m_0, m_1, \stA) \gets \calA^{\calO_{\mathrm{ext}}}(1^\secpar, \pp)$
\Comment{$\calA$ may not query $\calO_{\mathrm{ext}}(\vec{\mathit{id}})$ for $\vec{\mathit{id}}$ a prefix of $\vec{\mathit{id}}^*$}
\State $c^* \gets \Enc(\pp, \vec{\mathit{id}}^*, m_b)$
\State $b' \gets \calA^{\calO_{\mathrm{ext}}}(c^*, \stA)$
\Comment{$\calA$ may not query $\calO_{\mathrm{ext}}(\vec{\mathit{id}})$ for $\vec{\mathit{id}}$ a prefix of $\vec{\mathit{id}}^*$}
\Return $[b' = b]$
\end{algorithmic}
\end{algorithm}
An HIBE scheme is IND-HIBE-CPA-secure if for all efficient admissible ,
is negligible. The prefix constraint is necessary because is publicly computable from an ancestor key.
IND-sHIBE-CPA Security (Selective)
In the selective variant, the adversary commits to the challenge identity before runs. The selective–adaptive separation is known to be strict for HIBE: there is no black-box complexity-leveraging argument that avoids an exponential loss in the depth .
Variations
Anonymous HIBE
An anonymous HIBE additionally hides the recipient identity from the ciphertext, so an eavesdropper learns neither the payload nor the intended recipient.
Other results
- HIBE strictly generalizes IBE: depth-1 hierarchies reduce to IBE (ignoring the algorithm)
- HIBE is subsumed by KP-ABE: a tree access policy can encode hierarchical delegation, but KP-ABE does not natively expose a interface for producing fresh delegated keys
- BBG05 achieves ciphertext size and key size — BBG05
- The first adaptive HIBE in the standard model under simple assumptions uses dual system encryption — Wat09