基于属性的加密与直接效率权衡
摘要
我们提出了首个完全安全的无界属性基加密(ABE)方案,该方案的密钥大小和密文大小可直接进行权衡。我们提出的方案由一个正整数 $d$ 参数化,该整数可在系统建立时任意选择。在我们的方案中,密文大小为 $O(t/d)$,私钥大小为 $O(md)$,公钥大小为 $O(d)$,其中 $t, m$ 分别为与密文和私钥对应的属性集合和策略的大小。
我们的方案可以被视为一种广义化,包含了两种最先进的ABE实例,即无界ABE方案和Attrapadung(欧洲密码学年会2014)提出的具有固定大小密文的ABE方案。事实上,这两种方案对应于我们方案的两个极端情况,即分别将 $d= 1$ 和将 $d$ 设为允许的属性集的最大大小时的情况。此外,我们的方案还在加密和解密时间之间实现了权衡。有趣的是,在使用数值参数估计效率时,当 $d$ 位于谱系中间某处时,解密时间达到最小。
我们认为,这种权衡在那些大小和/或时间资源事先具体固定的场景中可以提供优势,因为我们能够灵活调整 $d$ 以匹配可用资源,从而最大限度地利用这些资源。此类情况包括但不限于在微型硬件令牌中实现ABE。
关键词: 基于属性的加密 · Efficiency权衡 · 无界 · Short密文 · Full安全性
1 引言
属性基加密(ABE),由萨哈伊和沃特斯提出[23], 是一种有用的范式,推广了传统的公钥加密。发送方无需将数据加密给特定接收者,而是可以以更通用的方式指定关于谁应该能够查看消息。在针对谓词 $R$ 的属性基加密中,该谓词是一个布尔函数 $R: X × Y →{0, 1}$,由权威机构签发的私钥与属性 $X ∈ X$ 相关联,而用于加密消息 $M$ 的密文则与属性 $Y ∈ Y$ 相关联。只有当 $R(X, Y)= 1$ 时,对应 $X$ 的密钥才能解密对应 $Y$ 的密文。本文聚焦于针对布尔公式谓词的属性基加密,这是最有用的属性基加密原语之一,最初由Goyal等[13]提出。为简便起见,我们主要考虑密钥策略类型的属性基加密[13]¹。在这种方案中,密钥与一个布尔公式(即策略)相关联,而密文与一个布尔变量的赋值(即属性集)相关联,且当且仅当该赋值满足该公式时,解密成功。在下文中,我们令 $t$ 表示与密文相对应的属性集合的大小,$m$ 表示与私钥相对应的策略的大小。
两个最先进的用于布尔公式的完全安全的ABE方案是由Attrapadung提出的:
-
第一个方案是完全安全的无界属性基加密,即[2]。该方案具有(完全)无界的特性,即在方案的系统建立阶段,所有参数均无需设定最大边界。文献中其他针对布尔公式的属性基加密方案要么在某些参数上存在边界限制[10,16,18–21,26],和/或仅为选择性安全³[15,17,22]。该方案的明显优势在于其功能上的可扩展性,特别是能够适用于任意大小的属性集和策略,以及单个策略中任意次数的属性多重使用。在此方案中,密文大小为 $O(t)$(更准确地说,是 $ct$ 个群元素,其中 $c> 1$ 为常数),密钥大小为 $O(m)$。
-
第二个方案是具有[2]的固定大小密文的完全安全属性基加密。文献中所有其他针对布尔公式的固定大小密文ABE方案仅支持选择性安全[6]或半自适应安全⁴[11,24]。该方案在效率方面具有可扩展性的优势:无论 $t$(即分配给密文的属性集的大小)如何,它所需的密文长度都非常短,仅为 $O(1)$。缺点是,它要求在系统建立时就固定 $t$ 的最大边界,例如 $T$(但对所有其他参数则无需设定边界)。此外,密钥大小相当大,达到 $O(mT)$。
注意,上述两个方案最初是在[2]中的复合阶群中提出的。随后在[3]中获得了其素数阶变体,该变体被认为更加高效(cf.[14])。
¹其他类型包括密文策略[8,25]和双策略[5]属性基加密。
²完全安全(也称为自适应安全)是属性基加密的标准安全性概念。在此概念中,攻击者可以自适应地查询任意属性的密钥,只要这些属性满足 $X$ 条件 $R(X, Y’)= 0$,其中 $Y’$ 是攻击者在挑战密文阶段自适应选择的属性。
³选择性安全指一种较弱的安全概念,要求攻击者在看到公钥之前就预先公布挑战密文的属性 $Y’$。
⁴半自适应安全是介于选择性安全与完全安全之间的一种中间安全概念。
由于第一种方案的缺点在于密文大小不是常数(因此我们可以说它缺乏效率上的可扩展性),以及第二种方案的缺点在于密钥大小较大且属性集大小受限(因此它缺乏功能上的可扩展性),很自然地,人们希望寻求一种在效率和功能上都具有更好可扩展性的新方案。
为此,我们考虑以下重要的开放问题: 是否可以实现具有短密文大小(少于 $t$ 个群元素)的完全安全无界属性基加密?
我们注意到,构建即使仅具有上述属性的选择性安全的属性基加密也是一个开放问题。
我们的贡献
在本文中,我们通过提出一种新的完全安全的无界ABE方案,正面回答了上述问题,该方案在密文大小和密钥大小之间实现了直接权衡:密文大小为$O(t/d)$,密钥大小为$O(md)$,其中“调节参数”$d$是在系统建立时可任意选择的任意正整数。效率比较如下面的表1所示。
表1. 完全安全的KP‐ABE之间的比较
| 方案 | 公钥 | 私钥 | 密文 |
|---|---|---|---|
| 无界ABE的[2,3] | $O(m)$ | $O(m)$ | $O(t)$ |
| 固定大小密文ABE的[2,3] | $O(mT)$ | $O(mT)$ | $O(1)$ |
| 我们的新方案 | $O(d)$ | $O(md)$ | $O(t/d)$ |
† $m$ 是与私钥相关联的策略的大小。$t$ 是与密文相关联的属性集大小。$T$ 是 $t$ 的最大边界(如果有界)。
我们的权衡方案可以被视为一种广义化,它将无界ABE和[2,3]的固定大小密文ABE作为在权衡参数 $d$ 谱系上的两个极端情况包含在内。也就是说,当设置 $d= 1$ 时,我们得到无界ABE;而当设置 $d= T$(从而施加最大边界 $t$)时,我们得到固定大小密文ABE。
调整 $d$ 也会导致加密时间与解密时间之间的权衡。我们在第4节中给出性能估计,其中在表2、3和4中详细且具体地展示了效率比较。有趣的是,如图 1 所示,在使用数值参数(例如来自例如,254位Barreto‐Naehrig(BN)曲线)估计效率时,解密时间在 $d$ 位于谱系中间某处时达到最小。
我们的方法
我们的新方案基于密钥策略的双空间加密(KP‐DSE)原语构建,该原语最初在[2]中提出(随后在[3]中提出了其素数阶版本)。在[2]中已证明 KP‐DSE可推导出无界ABE和固定大小密文ABE。我们通过展示一种从 KP‐DSE到具有权衡特性的KP‐ABE的新转换,扩展了这些推论,这正是我们的目标。将这一新转换应用于
KP‐DSE方案的[2]和[3], 我们分别在复合阶群和素数阶群中获得了一种具有权衡的新型KP‐ABE。实现密文大小为$O(t/d)$的思路是,首先将与密文相关联的(大小为 $t$ 的)属性集划分为$t/d$个大小为 $d$的互不相交的子集。然后通过将每个子集编码为KP‐DSE中的仿射子空间来表示该子集。由于[2]中具体KP‐DSE方案的效率特性,每个仿射空间仅需对应一个常数大小的密文部分,因此总密文大小即为$O(t/d)$,也就是划分后的子集数量。而由于我们需要用仿射子空间来编码大小为 $d$的集合,这导致密钥大小增加了一个因子 $d$,从而形成了效率上的权衡。
我们将在第3节详细描述我们的方法。在此之前,我们将在第2节给出KP‐DSE的定义。
Perspective
我们认为,我们的方案所具备的权衡特性可以在大小和/或时间资源预先明确固定的实际情况中提供优势,因为我们能够灵活调整 $d$ 以匹配可用资源,从而最大限度地利用这些资源。此类情况包括但不限于在微型硬件令牌中实现属性基加密,例如物联网的安全应用。
2 预备知识
2.1 属性基加密的定义
谓词族。 设 $R={R_κ: X_κ × Y_κ →{0, 1}|κ ∈ N^c}$ 为一个谓词族,其中 $X_κ$ 和 $Y_κ$ 分别表示“密钥属性”和“密文属性”空间,$c$ 为某个固定常数。索引 $κ=(n_1, n_2,…, n_c)$ 表示每个谓词族特有的参数的某些界限。
属性基加密语法。 一个用于谓词族 $R$ 的属性基加密(ABE)方案由以下算法定义:
- 系统建立 (1^λ, κ) → (PK,MSK):输入安全参数 1^λ 和谓词族 $R$ 的族索引 $κ$,输出主公钥PK和主私钥MSK。
- 加密 (Y, M,公钥) → 密文:输入为密文属性 $Y ∈ Y_κ$、消息 $M ∈ M$ 和公钥 $PK$,输出为密文 $CT$。
- 密钥生成 (X,MSK,PK) → SK:以密钥属性 $X ∈ X_κ$ 和主密钥 $MSK$ 作为输入,输出一个私钥 $SK$。
- 解密 (密文, SK) → M:给定一个具有属性 $Y$ 的密文CT和一个具有属性 $X$ 的解密密钥 $SK$,输出一条消息 $M$ 或 ⊥。
正确性。 对于所有索引 $κ$,以及所有满足$R_κ(X, Y) = 1$ 的 $M ∈ M, X ∈ X_κ, Y ∈ Y_κ$,若Encrypt(Y, M,PK) → 密文,且KeyGen(X,MSK, PK) → SK,其中(PK,MSK)由Setup(1^λ, κ)生成,则Decrypt(密文, SK) → M。
安全性。 属性基加密的标准概念称为完全安全。我们将其定义引用至[2], ,因为我们不直接处理它,而是使用嵌入引理进行下述推论(引理1)。
用于单调跨度程序谓词的KP‐ABE。
设 $U$ 为属性全集。如果 $|U|$ 具有超多项式规模,则称为大宇宙,否则称为小宇宙。该谓词由 $N ∈ N$ 索引。在此谓词中,密钥属性域 $X_N$ 是所有策略的集合。一个策略由一个单调跨度程序(或访问结构)$(A, π)$ 指定,其中 $A$ 是某个 $m, k ∈ N$ 对应的 $Z^{m×k}
N$ 中的矩阵,且 $π$ 是一个映射 $π:[1, m] → U$。密文属性域是 $U$ 中所有属性集合 $S$ 的集合。对于一个集合 $S ⊆ U$,令 $A|_S$ 为 $A$ 的子矩阵,取所有满足 $π(j) ∈ S$ 的行 $j$。我们说$(A, π)$ 接受 $S$,当且仅当$(1, 0,…,0) ∈ 行空间(A|_S)$,其中行空间()表示矩阵的行空间。即
$$
R
{KP-ABE}^N ((A, π), S)= 1 ⇐⇒ (1, 0,…, 0) ∈ \text{span}{A_i|π(i) ∈ S}.
$$
本文中,我们考虑无界KP‐ABE,即具有大宇宙的KP‐ABE,其所有参数 $|S|$, $m, k$ 以及属性重用次数(范围 $π([1, m])$ 中的重复次数)均无界。众所周知,支持单调跨度程序的属性基加密可推出支持单调布尔公式的属性基加密[13]。
2.2 KP‐DSE
我们的新KP‐ABE方案将使用来自KP‐DSE[2]的一个推论。我们在此简要回顾一下。
仿射空间的相关概念。
设 $N, n, d ∈ N$,其中 $0 ≤ d ≤ n$。令$\vec{t}$ 为$Z^n_N$ 中的一个列向量。令 $M ∈ Z^{n×d}_N$ 为一个各列线性无关的矩阵。由一对$(t, M)$ 确定的 $Z^n_N$ 中的仿射空间定义为 $\vec{t} + \text{cspan}(M)$,其中cspan()表示列空间;更准确地说,它是
$$
\vec{t} + \text{cspan}(M)={\vec{t} + M\vec{v}|v ∈ Z^d_N}.
$$
基于双空间加密的密钥策略(KP‐DSE)。
KP‐DSE的谓词定义如下。谓词族由$(N, n) ∈ N^2$ 索引。定义密钥属性域 $X_{(N,n)}$ 为所有对的集合,其中每对包含一个访问矩阵 $A ∈ Z^{m×k}
N$ (对于任意多项式规模 $m, k ∈ N$),以及一个标签映射 $π$,该映射将$[1, m]$ 中的每一行映射到 $Z^n_N$ 中的一个仿射空间。定义密文属性域 $Y
{(N,n)}$ 为 $Z^n_N$ 中所有仿射空间集合 $T$ 的集合。谓词评估定义为
$$
R_{KP-DSE}^{(N,n)}((A, π), T)= 1 ⇐⇒
(1, 0,…, 0) ∈ \text{span}{A_i|∃Y ∈ T \text{ s.t. } π(i)∩ Y= ∅}.
$$
2.3 嵌入引理
以下来自[4,9]的有用引理描述了从给定谓词的属性基加密推出另一谓词的属性基加密的一个充分条件。我们将在第3.1节中使用该引理来证明KP‐DSE蕴含具有权衡的KP‐ABE,这是我们主要的提案。
该引理考虑两个任意的谓词族:
$$
R_F^κ: X_κ × Y_κ →{0, 1}, R_{F’}^{κ’}: X’
{κ’} × Y’
{κ’} →{0, 1},
$$
它们分别由 $κ ∈ N^c$ 和 $κ’ ∈ N^{c’}$ 参数化。假设存在三个高效映射
$$
f_p: Z^{c’} → Z^c \quad f_e: X’
{κ’} → X
{f_p(κ’)} \quad f_k: Y’
{κ’} → Y
{f_p(κ’)}
$$
分别映射参数、密文属性和密钥属性,使得对于所有 $X’ ∈ X’
{κ’}, Y’ ∈ Y’
{κ’}$,
$$
R_{F’}^{κ’}(X’, Y’)= 1 ⇔ R_F^{f_p(κ’)}(f_e(X’), f_k(Y’))= 1. \tag{1}
$$
然后我们可以构造一个ABE方案
$$
Π’={\text{Setup}’, \text{Encrypt}’, \text{KeyGen}’, \text{Decrypt}’} \text{ for predicate } R_{F’}^{κ’}
$$
从一个ABE方案中
$$
Π={\text{Setup}, \text{Encrypt}, \text{KeyGen}, \text{Decrypt}} \text{ for predicate } R_F^κ
$$
通过让
$$
\begin{align
}
\text{Setup}’(λ, κ’) &= \text{Setup}(λ, f_p(κ’)) \
\text{Encrypt}’(PK, M, X’) &= \text{Encrypt}(PK, M, f_e(X’)), \
\text{KeyGen}’(MSK, PK, Y’) &= \text{KeyGen}(MSK, PK, f_k(Y’)), \
\text{Decrypt}’(CT_{X’}, SK_{Y’}) &= \text{Decrypt}(CT_{f_e(X’)}, SK_{f_k(Y’)}).
\end{align
}
$$
引理1(嵌入引理[4,9])。 如果 $Π$ 是正确且安全的,则 $Π’$ 也是正确且安全的。这对于选择性安全和完全安全两种情况都成立。
2.4 符号说明
指数中的矩阵的符号表示。
向量将被视为行矩阵或列矩阵。当未特别指明时,我们将其视为行向量。设 $G$ 为一个群。令 $a=(a_1,…, a_n)$ 和 $b=(b_1,…, b_n)$ 属于 $∈ G^n$。我们记作$a·b=(a_1·b_1,…, a_n·b_n)$,其中‘·’是 $G$ 的群操作。对于 $g ∈ G$ 和 $G(c_1,…, c_n)$ 属于 $∈ Z^n$,我们记作 $g^c=(g^{c_1},…, g^{c_n})$。我们用$GL_{p,n}$ 表示 $Z^{n×n}
p$ 中可逆矩阵的群(一般线性群)。考虑 $M ∈ Z^{d×n}_p$ (所有 $d× n$ 矩阵的集合,其中 $Z_p$)。记 $M$ 的转置为 $M^\top$。记$M^{-\top}=(M^\top)^{-1}$。我们用 $g^M$ 表示 $G^{d×n}$ 中的矩阵,其$(i, j)$ 项为$g^{M
{i,j}}$,其中$M_{i,j}$ 是 $M$ 的$(i, j)$ 项。对于 $Q ∈ Z^{l×d}
p$ ,我们记为$(g^Q)^M= g^{QM}$。注意,由 $M$ 和 $g^Q ∈ G^{l×d}$,我们可以计算 $g^{QM}$ 而无需知道 $Q$,因为其$(i, j)$ 项为 $∏^d
{k=1}(g^{Q_{i,k}})^{M_{k,j}}$。对于$g^M$ 和 $Q$ 也类似。对于 $X ∈ Z^{r×c_1}_p$ 和 $Y ∈ Z^{r×c_2}_p$ ,我们记其配对为:
$$
e(g^X_1, g_2^Y)= e(g_1, g_2)^{Y^\top X} ∈ G^{c_2×c_1}_T .
$$
投影映射。 如[3]中所用,$(I_b^0)$ 表示一个$(b+1)× b$ 矩阵,其前 $b$ 行为单位矩阵,而最后一行为零。它起到左投影映射的作用。也就是说,对于任意的 $X ∈ Z^{(d+1)×(d+1)}_p$ , $X(I_b^0) ∈ Z^{(d+1)×d}_p$ 是由 $X$ 的所有左侧 $d$ 列组成的矩阵。类似地,$(^0_1)$ 是一个$(b+1)×1$ 矩阵,其最后一行为$1$;它起到右投影映射的作用。
3 我们的密钥策略ABE方案
我们方案的主要思想
我们新的KP‐ABE方案的主要思想是:设置一个参数 $d$,并将属性集 $S$ 划分为一个不相交并集⁵,即 $S= S_1 \sqcup ··· \sqcup S_l$,其中对所有 $j ∈[1, l]$ 均有 $|S_j| ≤ d$ 且 $l= \lceil|S|/d\rceil$。然后,我们使用类似于[2]的固定大小密文KP‐ABE(该方法扩展了[6])中的嵌入方法,将每个子集 $S_j$ 表示为一个仿射空间。该方法生成了包含 $l$ 个仿射空间的 $Z^{d+1}_N$ 中的KP‐DSE。使用[2]的 KP‐DSE实现时,对于 $l$ 个仿射空间的集合需要 $O(l)$ 大小的密文。因此,我们将实现期望的 $O(l) = O(|S|/d)$ 密文大小。
⁵ 我们用‘⊔’表示不相交集合的并集。
分段KP‐ABE
作为中间谓词族,我们定义“分段KP‐ABE”(针对单调跨度程序)。其目的仅为语法上的:构造一个也由可调整整数 $d$ 索引的谓词族。(原始定义中仅由索引 $N$ 指定 $Z_N$。)更准确地说,它由$(N, d) ∈ N^2$ 索引。密钥属性域与标准KP‐ABE相同。密文属性域是$U$ 的所有大小为 $≤ d$ 的不相交子集的集合所构成的集合。谓词评估定义为
$$
R_{\text{Partition-KP-ABE}}^{(N,d)} ((A, π), U)= 1 ⇐⇒
(1, 0,…, 0) ∈ \text{span}{A_i|∃W ∈ U \text{ s.t. } π(i) ∈ W}.
$$
(这里, $U$ 是 $U$ 的若干个大小为$≤ d$ 的不相交子集的集合。)
分区KP‐ABE蕴含标准KP‐ABE。
通过将密文属性映射为,分区KP‐ABE可直接蕴含KP‐ABE
$$
S \mapsto {S_1,··· S_l}
$$
其中 $S= S_1 \sqcup ··· \sqcup S_l$,其中 $|S_j| ≤ d$ 对所有 $j ∈[1, l]$ 和 $l= \lceil|S|/d\rceil$ 成立。为了获得一个唯一的划分,我们可以将 $S$ 中的属性按字典序排列为 $S={b_1,…, b_{|S|}}$,并令对所有 $j ∈[1, l −1]$ 有 $S_j={b_{(j−1)d+1},…, b_{jd}}$ (因此有 $S_l={b_{(l−1)d+1},…, b_{|S|}}$)。显然,我们得到以下引理:
引理2.
对于任意单调访问结构 $(A, π)$、任意属性集 $S$ 以及如上所定义的 ${S_j}
j$,我们有
$$
R
{KP-ABE}^N ((A, π), S)= 1 ⇐⇒ R_{\text{Partition-KP-ABE}}^{(N,d)} ((A, π),{S_1,··· S_l})= 1.
$$
证明. 这显然成立,因为 $π(i) ∈ S$ 当且仅当存在 $j ∈[1, l]$ 使得$π(i)∈ S_j$。
3.1 由KP‐DSE导出的分区KP‐ABE
我们现在说明分区KP‐ABE可由KP‐DSE导出。转换方式如下。
- 参数映射. 我们映射 $f_p: (N, d) \mapsto (N, d+1)$。也就是说,我们令仿射空间的完整维度为 $n= d+ 1$。
-
密钥属性映射。
考虑一个访问结构 $A=(A, π)$。设 $m$ 为访问矩阵 $A$ 的行数。我们进行映射
$$
f_k: A=(A, π) \mapsto A’=(A, π’)
$$
其中对于 $i= 1,…, m$,我们令 $π’(i) = \text{cspan}(X^{(i)})$
$$
X^{(i)}:=
\left(
\begin{array}{ccccc}
-\pi(i) & -\pi(i)^2 & \cdots & -\pi(i)^d \
1 & 1 & & \
& & \ddots & \
& & & 1 \
\end{array}
\right) .
$$
具体而言,每个$π’(i)$ 是一个经过点 $\vec{0}$ 的仿射空间(即它是一个向量空间)。 -
密文属性映射。
考虑一个不相交集合${S_1,…, S_l}$,其中对所有 $j ∈[1, l]$ 都有 $|S_j| ≤ d$。我们进行映射
$$
f_c:{S_1,…, S_l}\mapsto{y^{(1)},…, y^{(l)}}
$$
对于 $j= 1,…, l$,我们令 $y^{(i)}$ 为$0$ 维仿射空间(一个点) $s$
$$
y^{(j)}:=(a_{j,0}, a_{j,1},…, a_{j,d})^\top.
$$
其中我们定义$a_{j,\iota}$ 为 $z^\iota$ 在 $p_j( z):= \prod_{y∈ S_j} (z − y) =a_{j,0}+ a_{j,1}z+ ···+ a_{j,d}z^d$ 中的系数。
我们展示了上述转换的以下引理。从KP‐DSE到KP‐ABE的推论将继而由嵌入引理得出。
引理3。
对于任意单调访问结构 $A=(A, π)$ 以及每个 $|S_j| ≤ d$ 的集合${S_1,…, S_l}$,我们有
$$
R_{\text{Partition-KP-ABE}}^d (A,{S_1,…, S_l})= 1 ⇐⇒
R_{KP-DSE}^{f_p(d)}(f_k(A), f_c({S_1,…, S_l}))= 1.
$$
证明。
根据KP‐DSE谓词的定义,要证明该定理的陈述,只需证明对于所有 $i ∈[1, m], j ∈[1, l]$,
$$
π(i) ∈ S_j ⇔ y^{(j)} ∈ \text{cspan}(X^{(i)}) \tag{2}
$$
正向方向(⇒)。
假设 $π(i) ∈ S_j$。因此, $p_j(π(i)) = 0$ (根据 $p_j$ 的定义)。因此,
$$
X^{(i)}(a^{(j)})^\top=(-(a_{j,1}π(i)+ ···+ a_{j,d}π(i)^d), a_{j,1},…, a_{j,d})^\top
=(a_{j,0}, a_{j,1},…, a_{j,d})^\top
= y^{(j)},
$$
我们利用了以下事实: $p_j(π(i))= a_{j,0}+ a_{j,1}π(i)+ ···+ a_{j,d}π(i)^d= 0$ 在第二行中。由此可得 $y^{(j)} ∈\text{cspan}(X^{(i)})$,即为(2)的右侧,符合要求。前向部分证毕。
反向方向(⇐)。
我们通过逆否命题来证明。假设 $π(i) ∈ S_j$。因此, $p_j(π(i)) = 0$。假设相反地有 $y^{(j)} ∈\text{cspan}(X^{(i)})$。因此存在一个线性组合 $v^\top=(v_1,…, v_d)^\top$ 使得
$$
X^{(i)}v^\top= y^{(j)}. \tag{3}
$$
因此,根据我们对 $X^{(i)}, y^{(j)}$ 的定义,必须满足
$$
(-(v_1π(i)+ ···+ v_dπ(i)^d), v_1,…, v_d)^\top=(a_{j,0}, a_{j,1},…, a_{j,d})^\top
$$
但这意味着 $p_j(π(i)) = 0$,矛盾。因此, $y^{(j)} ∈ \text{cspan}(X^{(i)})$。这完成了反向部分的证明。
3.2 我们的KP‐ABE在复合阶群中
在本小节中,我们将上述的KP‐DSE到KP‐ABE转换应用于[2]中提出的复合阶群下的KP‐DSE方案。我们使用非对称群而非[2]中为原始方案定义的对称群。该方案将使用一个复合阶非对称双线性群生成器 $G_{\text{composite}}$,其输出为$(G_1, G_2, G_T, e, N, p_1,p_2,p_3) \leftarrow\$ G_{\text{composite}}(λ)$,其中$G_1, G_2, G_T$ 的阶为 $N= p_1p_2p_3$。双线性映射的形式为 $e:G_1× G_2 → G_T$。设 $G_{1, p_i}, G_{2, p_i}$ 分别为 $G_1, G_2$ 中阶为 $p_i$ 的子群。该方案如下。
- 系统建立 (1^λ, d):生成一个复合阶群参数$(G_1, G_2, G_T,e, N,p_1,p_2,p_3) \leftarrow\$ G_{\text{composite}}(λ)$。选取生成元 $g_1 \leftarrow\$ G_{1,p_1}, g_2 ∈ G_{2,p_1}$ 和 $Z_3 \leftarrow\$ G_{2,p_3}$。选取 $h=(h_0, h_1, . . . , h_{d+1}, φ_1, φ_2, φ_3, η) \leftarrow\$ Z^{d+6}_N$ 以及 $α \leftarrow\$ Z_N$。公钥为 $PK = (g_1, g_2, e(g_1, g_2)^α, g_1^h, Z_3)$。主私钥为 $MSK = α$。
-
加密
(S, M, 公钥):输入一个集合 $S ⊆ Z_N$,执行以下步骤。
1. 令 $l= \lceil|S|/d\rceil$。将 $S$ 划分为一个不相交并集 $S= S_1 \sqcup ··· \sqcup S_l$,其中对所有 $j ∈[1, l]$ 满足 $|S_j| ≤ d$。对所有 $j ∈[1, l]$,令 $a_{j,\iota}$ 为 $z^\iota$ 在 $p_j(z):=\prod_{y∈S_j}( z − y)$ 中的系数。
2. 选择 $s, w, s_1,…, s_l \leftarrow\$ Z_N$。输出一个密文 $CT =(C_0, C_1, C_2, C_3, C_4, {C_{5,j}, C_{6,j}} {j∈[1,l]})$,其中我们令 $C_0=(e(g_1, g_2)^α)^sM ∈ G_T$ 且
$$
C_1= g_1^s, C_2= g_1^{sη},
$$
$$
C_3= g_1^{sφ_1+wφ_2} , C_4= g_1^w, C {5,j}= g_1^{wφ_3+s_j(h_0+h_1a_{j,0}+···+h_{d+1}a_{j,d})}, C_{6,j}= g_1^{s_j}
$$ -
密钥生成
$((A, π),MSK,PK)$:输入一个访问结构$(A, π)$,其中$A ∈ Z^{m×k}
N$ 且 $π:[1, m] → Z_N$ 对于某个 $m, k ∈ N$,操作如下。解析$MSK = α$。随机选取 $r, u, r_1,…, r_m, v_2,…, v_k \leftarrow\$ Z_N$。定义 $v_1= rφ_2$ ,并令 $v=(v_1,…, v_k)$。计算一个私钥 $K=(K_1, K_2, K_3,{K
{4,i}, K_{5,i}, K_{6,i}}
{i∈[1,m]})$ 为
$$
K_1= g_2^{α+rφ_1+uη} , K_2= g_2^u, K_3= g_2^r, K {4,i}= g_2^{A_iv^\top+r_iφ_3} , K_{5,i}= g_2^{r_i}, K_{6,i}=(g_2^{r_ih_0} , g_2^{r_i(h_2 −h_1π(i))},…, g_2^{r_i(h_{d+1}−h_1π(i)^d)}).
$$
选择一个随机掩码 $R \leftarrow\$ G_{2,p_3}^{3+(d+3)m}$(因此, $R$ 与 $K$ 长度相同)。输出一个私钥 $SK = K · R$(这里,“·”表示按分量相乘)。 - 解密 (密文,私钥):从密文,私钥中解析出$(S,(A, π))$。假设$(A, π)$ 接受 $S$,使得能够执行解
基于属性的加密与直接效率权衡
3.2 我们的KP‐ABE在复合阶群中(续)
- 解密 (密文,私钥):从密文,私钥中解析出$(S,(A, π))$。假设$(A, π)$ 接受 $S$,使得能够执行解密。令 $I:={i ∈[1, m]|π(i) ∈ S}$。根据线性秘密共享方案的性质,我们有重构系数${μ_i} {i∈I}$ 使得$\sum {i∈I} μ_iA_iv^\top= v_1(= rφ_2)$。按如下步骤进行
-
对于所有 $i ∈ I$,执行以下操作。令$j_i$ 为满足 $π(i) ∈ S_{j_i}$ 的索引。(由于对所有 $i ∈ I$ 均有 $π(i) ∈ S$,因此存在这样的索引。)解析$K_{6,i}=(K_{6,i,0},…,K_{6,i,d})$。计算
$$
D_{6,i}:= K_{6,i,0} · K_{6,i,1}^{a_{j,1}} ··· K_{6,i,d}^{a_{j,d}}.
$$
(还请记住,$a_{j,\iota}$ 是 $z^\iota$ 在 $p_j( z):=\prod_{y∈ S_j}(z − y)$ 中的系数)。 -
计算 $e(g_1, g_2)^{αs}= L_1L_2$,其中
$$
L_1:= e(C_1, K_1)e(C_2, K_2)^{-1}e(C_3, K_3)^{-1},
$$
$$
L_2:=\prod_{i∈I} (e(C_4, K_{4,i})e(C_{5,j_i}, K_{5,i})^{-1}e(C_{6,j_i}, D_{6,i}))^{μ_i}. \tag{4}
$$ -
最后计算 $M ← C_0/e(g_1, g_2)^{αs}$。
安全性。 上述方案的完全安全来自[2]中KP‐DSE方案的完全安全以及我们从 KP‐DSE到KP‐ABE转换的嵌入引理。这由下面的定理所描述。我们参考子群判定假设和扩展Diffie‐Hellman指数(EDHE3, EDHE4)假设至[2]。符号Adv$_{AP}(λ)$ 表示攻击者 A针对原语或假设 P的安全性的优势,作为安全参数 λ的函数。我们也参考[2]中对每个假设的精确定义。
定理1.
上述KP-ABE在子群判定假设1,2,3、$(d+1, l)$-EDHE3以及$(d+1, m, k)$-EDHE4假设下是完全安全的(在非对称复合阶群中),其中 $d$ 是可调节的整数, $l=\lceil|S|/d\rceil$, 其中 $S$ 是密文查询,而 $m, k$ 分别是所有密钥查询中访问矩阵的最大行数和列数。更准确地说,对于任意多项式时间攻击者 A,令 $q_1$ 表示阶段1 中的查询次数,存在多项式时间算法 $B_1, B_2, B_3, B_4, B_5$,其运行时间与 A相同加上某些多项式时间,使得对于任意 $λ$,
$$
\text{Adv}
{KP-ABE}^A (λ) ≤ 2\text{Adv}
{SD1}^{B_1}(λ)+(2q_1+ 3)\text{Adv}
{SD2}^{B_2}(λ)+ \text{Adv}
{SD3}^{B_3}(λ)
+ q_1\text{Adv}
{(d+1,m,k)-EDHE4}^{B_4} (λ)+ \text{Adv}
{(d+1,l)-EDHE3}^{B_5} (λ).
$$
证明。 这直接由KP‐DSE到KP‐ABE的推导(即,引理1通过引理2和3)以及 [2]的KP‐DSE安全性(即,[2]中的定理1,11和12)得出。
3.3 我们在素数阶群中的KP‐ABE
在本小节中,我们将KP‐DSE到KP‐ABE转换应用于[3]中提出的素数阶群中的 KP‐DSE方案(该方案由[2]转换而来)。其安全性基于参数为$b ∈ N$ 的矩阵 Diffie‐Hellman假设。当 $b= 1$ 时,可使用SXDH 假设;当 $b= 2$ 时,可使用决策线性假设。
该方案将使用一个素数阶非对称双线性群生成器 $G_{\text{prime}}$,其输出为$(G_1, G_2, G_T, e, p) \leftarrow\$ G_{\text{prime}}( λ)$,其中 $G_1 , G_2 , G_T$ 的阶为 $p$。双线性映射的形式为 $e: G_1 × G_2 → G_T$。该方案如下。
-
系统建立 (1^λ, d):运行$(G_1, G_2, G_T, e, p) \leftarrow\$ G_{\text{prime}}(λ)$。选取生成元 $g_1 \leftarrow\$ G_1,g_2 \leftarrow\$ G_2$。选取 $H_0, H_1, . . . , H_{d+5}, \leftarrow\$ Z^{(b+1)×(b+1)} p$。选取 $B \leftarrow\$ GL {p,b+1} ⊂ Z^{(b+1)×(b+1)} p$。选择 $\tilde{D} \leftarrow\$ GL {p,b}$,定义 $D:=(\tilde{D} \; 0; 0 \; 1) ∈ GL_{p,b+1}$ 和 $Z:= B^{-\top}D$。选择 $α \leftarrow\$ Z^{(b+1)×1} p$。输出
$$
PK= \left(e(g_1, g_2)^{α^\top B(I_b^0)}, g_1^{B(I_b^0)},{g_1^{H_iB(I_b^0)}} {i∈[0,d+5]} \right),
$$
$$
MSK= \left(g_2^{α}, g_2^{Z(I_b^0)},{g_2^{H_i^\top Z(I_b^0)}}_{i∈[0,d+5]} \right).
$$ -
加密 (S ⊂ Z_p, M, 公钥):输入一个集合 $S ⊆ Z_p$,执行如下步骤。
1. 令 $l= \lceil|S|/d\rceil$。将 $S$ 划分为一个不相交并集 $S= S_1\sqcup···\sqcup S_l$,其中对所有 $j ∈[1, l]$ 满足 $|S_j| ≤ d$。对于所有 $j ∈[1, l]$,令 $a_{j,\iota}$ 为 $z^\iota$ 在 $p_j(z):=\prod_{y∈S_j}( z − y)$ 中的系数。
2. 选择 $s_0, w, s_1,…, s_l \leftarrow\$ Z^{b×1} p$。输出一个密文 $CT =(C_1, C_2, C_3,C_4, {C {5,j}, C_{6,j}} {j∈[1,l]}, C_0)$,其中
$$
C_1= g_1^{B(s_0^0)},
$$
$$
C_2= g_1^{H {d+5}B(s_0^0)},
$$
$$
C_3= g_1^{H_{d+2}B(s_0^0)+H_{d+3}B(w^0)},
$$
$$
C_4= g_1^{B(w^0)},
$$
$$
C_{5,j}= g_1^{H_{d+4}B(w^0)+(H_0B+a_{j,0} H_1B+···+a_{j,d} H_{d+1}B)(s_j^0)},
$$
$$
C_{6,j}= g_1^{B(s_j^0)},
$$
以及 $C_0= e(g_1, g_2)^{α^\top B(s_0^0)} · M ∈ G_T$. -
密钥生成 $((A, π),MSK)$:输入一个访问结构$(A, π)$,其中 $A ∈ Z^{m×k} N$ 且 $π:[1, m] → Z_N$ 对于某个 $m, k ∈ N$,执行如下操作。解析$MSK = α$。随机选取 $r,u, r_1,…, r_m, v_2,…, v_k \leftarrow\$ Z^{b×1}_p$。输出一个私钥$SK =(K_1, K_2, K_3,{ K {4,i}, K_{5,i}, K_{6,i,j}} {i∈[1,m],j∈[0,d]})$,其中
$$
K_1= g_2^{α+H {d+2} Z(r^0)+H_{d+5} Z(u^0)},
$$
$$
K_2= g_2^{Z(u^0)},
$$
$$
K_3= g_2^{Z(r^0)},
$$
$$
K_{4,i}= g_2^{A_{i,1} H_{d+3} Z(r^0)+\sum^k_{j=2} A_{i,j} Z(v_j^0)+H_{d+4} Z(r_i^0)},
$$
$$
K_{5,i}= g_2^{Z(r_i^0)},
$$
$$
K_{6,i,0}= g_2^{H_0 Z(r_i^0)},
$$
$$
∀ j∈[1,d] \quad K_{6,i,j} = g_2^{(H_{j+1} −π(i)^j H_1)Z(r_i^0)}.
$$ -
解密 (密文,私钥):假设$(A, π)$ 接受集合 $S$。令 $I={i∈[1, m]|π(i) ∈S}$。计算系数${μ_i} {i∈I}$,使得 $\sum {i∈I} μ_iA_i=(1, 0,…,0)$。按如下步骤进行
1. 对于所有 $i ∈ I$,执行如下操作。令 $j_i$ 为满足 $π(i) ∈ S_{j_i}$ 的索引。(由于对所有 $i ∈ I$ 都有 $π(i) ∈ S$,因此存在这样的索引。)计算
$$
D_{6,i}:= K_{6,i,0} · K_{6,i,1}^{a_{j,1}} ··· K_{6,i,d}^{a_{j,d}}.
$$
(还请记住,$a_{j,\iota}$ 是 $z^\iota$ 在 $p_j(z):=\prod_{y∈S_j}( z − y)$ 中的系数)。
2. 计算 $e(g_1, g_2)^{α^\top B(s_0^0)} = L_1 · L_2$,其中
$$
L_1:= e(C_1, K_1)e(C_2, K_2)^{-1}e(C_3, K_3)^{-1},
$$
$$
L_2:=\prod_{i∈I} (e(C_4, K_{4,i})e(C_{5,π(i)}, K_{5,i})^{-1}e(C_{6,π(i)}, D_{6,i}))^{μ_i}.
$$
3. 最后计算 $M ← C_0/e(g_1, g_2)^{α^\top B(s_0^0)}$。
安全性。 上述方案的完全安全来自[3]中KP‐DSE方案的完全安全以及我们从 KP‐DSE到KP‐ABE转换的嵌入引理。这一点由下面的定理所涵盖。我们将矩阵迪菲‐赫尔曼假设以及素数阶子群中的扩展迪菲‐赫尔曼指数假设(EDHE3p、EDHE4p)分别参考至[3,12],。
定理2。
上述KP-ABE在 $D_b$-Matrix-DH、$(d+1, l)$-EDHE3p以及$(d+1, m, k)$-EDHE4p假设下是完全安全的(在非对称素数阶群中),其中 $d$ 是可调整的整数, $l= \lceil|S|/d\rceil$, 其中 $S$ 是密文查询,而 $m$、 $k$ 分别是所有密钥查询中访问矩阵的最大行数和列数。更准确地说,对于任意多项式时间攻击者 A,设 $q_1$ 表示阶段1中的查询次数,则存在运行时间与 A相同且加上一些多项式时间的多项式时间算法 $B_1$、 $B_2$、 $B_3$,使得对于任意 $λ$,
$$
\text{Adv}
{KP-ABE}^A (λ) ≤(2q_1+ 3)\text{Adv}
{D_b\text{-MatDH}}^{B_1} (λ)+
q_1\text{Adv}
{(d+1,m,k)-EDHE4p}^{B_2} (λ)+ \text{Adv}
{(d+1,l)-EDHE3p}^{B_3} (λ).
$$
证明。 这直接由KP‐DSE到KP‐ABE的推导(即,引理1通过引理2、3)以及素数阶 KP‐DSE的安全性(即,来自[3]的定理3,通过[2]中的定理11、12)得出。
4 效率性能
优化解密时间
我们方案的解密时间可以通过减少配对次数来优化,因为配对是主要的运算操作。这是通过使用恒等式 $\prod_i e(a_i , b) = e(\prod_i a_i , b)$ 实现的,其中我们将与同一群$G_2$ 元素(此处为 $b$)进行双线性对运算的群‐$G_1$ 元素 $a_i$ 进行捆绑。
为简单起见,此处我们考虑复合阶方案。素数阶方案可以以类似的方式实现。在解密过程中,我们也可以如下计算元素 $L_2$:
$$
L_2= e(C_4,\prod_{i∈I} K_{4,i}) · \prod_{x=1}^{l} \left(e(C_{5,x}, \prod_{\substack{i∈I \ s.t.\,j_i=x}} K_{5,i}^{-μ_i})e(C_{6,x}, \prod_{\substack{i∈I \ s.t.\,j_i=x}} D_{6,i}^{μ_i})\right). \tag{5}
$$
原始解密如公式(4)所示,最多需要 $2m+4$ 次配对,而通过公式(5)的上述替代方法则需要 $2l+ 4= 2t/d+ 4$ 次配对。为了最小化解密时间,我们选择两种方法中开销较小的一种。
除了配对外,总解密时间还包括指数运算的成本,最多为 $md+m$ 次。因此,复合阶方案的总解密时间为 $c_1(md+ m)+ c_2(\min{2m+ 4, 2t/d+ 4})$,其中 $c_1$、 $c_2$ 分别为一次指数运算和一次配对的成本。当除 $d$ 以外的所有参数固定时,该值变为 $k_1d+ k_2/d+ k_3$,其中 $k_1$、 $k_2$、 $k_3$ 为某些常数。该值在 $d$ 处于中间某个位置时达到最小(该位置取决于 $k_1$、 $k_2$、 $k_3$)。此最小化过程将在下文图1(d)中展示。我们还注意到,最小函数反映在图1(d)左侧部分尖锐的脊线处。
渐近效率比较
我们在表2中提供了ABE方案之间渐近效率的对比。我们考虑的是完全安全方案,这些方案要么是完全无界的,要么支持固定大小密文。满足此条件的方案包括[2,3]的无界ABE和固定大小密文方案也属于[2,3]。文献中的所有其他方案要么仅是选择性安全的,要么在某些参数上受限。
表2. KP‐ABE方案间渐近效率的比较
| 方案 | 公钥 | 私钥 | 密文 | 加密时间 | 解密时间 | 无界? |
|---|---|---|---|---|---|---|
| 无界ABE的[2,3] | $O(m)$ | $O(m)$ | $O(t)$ | $O(1)$ | $O(m)$ | yes |
| 固定大小密文ABE的[2,3] | $O(mT)$ | $O(mT)$ | $O(1)$ | $O(T)$ | $O(mT)$ | 否, $T= \max t$ |
| 我们的新方案 | $O(d)$ | $O(md)$ | $O(t/d)$ | $O(d)$ | $O(\min{m, t/d})$ | 是 |
具体效率
我们在素数阶群中提供了我们的KP‐ABE方案的具体效率。我们采用 $b= 1$ 的实例化方式,以最大化效率,因此该方案可基于SXDH假设[3]。为了展示具体性能,我们使用一个包含 $m= 40, t= 60$ 和 vary $d= 1,4,20$ 在表3中。我们注意到,我们只是直接计算了相应操作的次数。通过考虑多指数运算和多配对算法(例如,[27]),这可以进一步改进;此处省略。
为了获得更直观的认识,我们在表4中使用254位Barreto‐Naehrig(BN)曲线进行实例化。此类曲线的群元素大小如下: $|G_1| = 509, |G_2| = 255,$ 和 $|G_T| = 2032$ 比特[1]。关于在这些曲线上的时间性能,我们参考了[27],的实现,其中 $G_1$、 $G_2$、 $G_T$ 中的指数运算分别耗时104、57、164微秒,而一次配对操作耗时342微秒。
为了便于观察,我们还在图1中绘制了三种情况下的估计效率图:(1) $m= 40, t= 60$;(2) $m= 30, t= 30$;以及 (3) $m= 10, t=20$,分别用蓝色、绿色和红色表示。我们可以观察到,通过调整 $d$,可以在大小和时间性能之间获得一种权衡: $d$ 越大,往往意味着公钥和私钥越大,但密文大小更小,加密时间更快。有趣的是,总解密时间在中间某个位置达到最小(例如,当 $m= 40$ 时, $t= 60$ 在 $d= 4$ 处达到最优)。
表3. 我们的素数阶KP‐ABE在 $b= 1$ 下的效率。这里我们使用一个包含 $m= 40, t= 60$ 的例子。
| 调整 $d$ | 公钥 | 私钥 | 密文 | 加密时间(指数(G₁)) | 解密时间(配对) |
|---|---|---|---|---|---|
| 通用 $2d+1$ | $2md+ 6m+ 6$ | $4t/d+ 8$ | $2t+ 6t/d$ | $1$ | $2md+ 2m\min{4m+8, 4t/d+8}$ |
| $d= 1$ | $14$ | $326$ | $248$ | $480$ | $1$ |
| $d= 4$ | $20$ | $566$ | $68$ | $210$ | $1$ |
| $d= 20$ | $52$ | $1846$ | $20$ | $138$ | $1$ |
表4。 使用BN曲线实例化时,我们KP‐ABE在表3中的具体效率。
| 调整 $d$ | 公钥(比特) | 私钥(比特) | 密文(比特) | 加密时间 | 解密时间 | 总计 |
|---|---|---|---|---|---|---|
| 通用 $(2d+1)(2md ×509$ | $+ 6m+ 6)(4t/d+ ×255$ | $+ 6m+ 6)(4t/d+ ×255$ | $+ 6m+ 6)(4t/d+ ×255$ | $8)(2t+ 6t ×509$ | $8)(2t+ 6t ×509$ | $8)(2t+ 6t ×509$ |
| $d= 1$ | $7,126$ | $83,130$ | $126,232$ | $49.8$ 毫秒 | $164$ μs | $9.1$ 毫秒 |
| $d= 4$ | $10,180$ | $144,330$ | $34,612$ | $20$ 毫秒 | $164$ μs | $22.8$ 毫秒 |
| $d= 20$ | $26,468$ | $470,730$ | $10,180$ | $14.2$ 毫秒 | $164$ μs | $95.7$ 毫秒 |
5 扩展
密文策略、具有权衡的双策略ABE。 通过使用[7],的通用转换,我们立即也得到了具有类似权衡(但某种程度上是对偶的)的密文策略ABE方案,与我们的 KP‐ABE方案相对应。此外,通过使用[7],的通用双策略转换,我们还得到了双策略ABE[5] ,其结合了密钥策略和密文策略两部分的权衡。
无界属性加密的效率权衡
923

被折叠的 条评论
为什么被折叠?



