高效CP-ABE支持非单调访问

部署运行你感兴趣的模型镜像

高效支持非单调访问结构的密文策略属性基加密

1 引言

如今,越来越多的客户倾向于使用公共基础设施(例如云存储)进行在线数据共享。然而,这些公共服务提供商是“不可信的”,可能会泄露用户的资料。因此,客户倾向于采用公钥加密作为保护数据机密性的有力机制[1]。一般来说,传统公钥加密算法不适合支持具有复杂访问控制策略的数据共享[2]。原因在于两个方面。首先,数据发送者必须在加密数据之前定义所有接收者的精确列表,并获取他们的公钥。其次,数据需要针对每个特定接收者的公钥进行加密,这将显著增加发送者的计算开销。

萨哈伊和沃特斯[3]提出了一种名为属性基加密(ABE)的新型公钥加密理念。属性基加密算法使得数据发送者能够表达其希望如何共享数据,具体方式如下。首先,每条数据接收者由一组称为“属性”的字符串表示。然后为每个接收者生成与其属性关联的私钥。最后,数据发送者通过在所有接收者属性上的公式来描述数据访问控制策略。当且仅当接收者的属性满足访问公式时,该接收者才能解密密文。

Sahai-Water方法的主要缺点是,访问控制策略只能用由单个阈值门组成的单调访问公式表达。

戈亚尔等人[4]提出了一种名为密钥策略属性加密(KP-ABE)的属性基加密变体,该方案可大幅增强访问结构的表达能力。在 KP-ABE 方案中,用户的私钥可以表示由 m-of-n(1 ≤ m ≤ n, m, n ∈ Z+) 门限门组成的任意单调访问公式。注意,与门可用 n-of-n门限门表示,而或门可用 1-of-n门限门表示。

Bethencourt 等人[5]提出的另一种 ABE 变体是密文策略属性加密(CP-ABE)。相反,CP-ABE 的密文与阈值访问结构相关联。CP-ABE 算法也支持由与、或或门限门组成的任意单调访问公式。尽管 KP-ABE 和 CP-ABE 比最初的属性基加密构造更具表达性,但仍存在一个根本性限制,即单调访问公式无法表达负约束。

为了解决非单调访问公式的问题,Ostrovsky等人 6 提出了一种支持在属性上任意访问公式的KP-ABE方案,包括非单调访问结构。OSW构造采用了广播撤销机制[7]的思想,以支持负属性和非负属性的表达。但其公共参数由 O(n)个群元素组成,私钥由 O(tlog(n))个群元素组成,其中 t表示线性秘密共享方案 8 生成的份额数量, n是全局属性集合的大小。Lewko等人 9 提出了一种比OSW更高效的非单调ABE方案,其中公共参数仅为 O(1)个群元素,私钥大小为 O(t)。OSW方案和改进后的方案中,密文均由 O(n)个群元素构成。首次明确支持CP-ABE中非单调性的研究是由Cheung和 Newport 10 提出的。他们描述了一种可证明安全的CP-ABE方案,通过使用一次性签名实现选择密文安全性。但他们的访问结构仅由正属性和负属性上的AND门构成,换句话说,他们仅支持NOT和AND操作。

1.1 我们的贡献

在本研究中,我们提出了一个基于判定双线性Diffie-Hellman(DBDH)假设的高效的CP-ABE构造。该方案中的访问结构可以是包含NOT、AND、OR和门限门的任意公式。该高效构造的安全性证明基于DBDH假设。

在此构造中,属性的否定被视为与原始属性(正属性)并列的一个独立的负属性。从高层次上看,当且仅当该技术隐式地使秘密共享对用户可用时

表1. 支持非单调访问结构的属性基加密系统比较。
| 系统 | Type | 访问结构 | 支持的策略 |
| — | — | — | — |
| OSW [6] | 密钥策略属性基加密 | 线性秘密共享方案矩阵 | 与、或、阈值、非 |
| LSW [9] | 密文策略属性 | 基加密 与门 | 与、或、阈值、非 |
| CN [10] 我们的方案 C | P-ABE LS | SS矩阵 | 与,非 |
| | | | AND, OR,阈值 , NOT |

如果给定属性未出现在用户自身的属性中,则系统可以支持带有负属性的单调访问结构。采用负属性的主要缺点是用户属性的数量可能会显著增加。假设通用属性的大小为 n,我们必须通过添加负属性将每个用户的属性集扩展到大小 n。

我们发现,通过应用素数理论可以减小私钥的大小。算术基本定理指出,每个大于1的整数都可以唯一地表示为素数的乘积(不考虑顺序)。假设每个属性都被“映射”到一个唯一的素数,那么属性集合可以通过这些素数的乘积唯一表示。我们可以这样判断一个属性是否属于某个集合:一个属性(映射到素数 p)属于某个集合(其乘积为 s),当且仅当 s mod p= 0。

在表1中,我们总结了我们的方案与OSW、LSW和CN系统在类型、访问结构和支持的策略方面的比较。综合来看,我们的方案是首个支持非单调访问结构的表达性强的CP-ABE算法构造。

1.2 相关工作

属性基加密源于基于身份的加密 11 ,其中IBE实际上可以被视为属性基加密的一种特例。萨哈伊和沃特斯[3]提出了模糊基于身份的加密,作为属性基加密的雏形工作。随后,戈亚尔等人[4]将属性基加密系统分为密钥策略属性基加密和密文策略属性基加密。在密钥策略属性基加密系统中,一个加密的密文与一组属性相关联,而用户的私钥表示在属性上的访问结构。与之相反,在密文策略属性基加密系统中,用户的私钥与属性相关联,而加密的密文将反映访问策略。无论是在密钥策略属性基加密还是密文策略属性基加密系统中,只有当属性集合满足访问策略时,用户才能解密密文。

迄今为止,已经提出了许多不同的属性基加密构造[6,9,10,12–14,16,21]。其中大多数构造基于秘密共享方案[17,18](SSS);例外是通过与门[10]实现的构造。在这些基于SSS的系统中,随机性(或系统的主密钥[3,4])通过SSS被划分为多个份额;然后这些份额被嵌入到用户私钥(KP-ABE)或密文组件(CP-ABE)中。在与

基于门限门的系统,主密钥直接嵌入到私钥和密文组件中。一般来说,基于秘密共享方案的系统比另一种更具表达能力。基于秘密共享方案的属性基加密算法通常采用访问树[5,19]或线性秘密共享方案矩阵[14]作为访问结构。由于秘密共享方案仅限于表达单调访问结构(因为参与方总可以选择不贡献其份额),因此相应的属性基加密方案只能支持与、或或阈值门。同时,基于与门的系统可以自然地支持非门,但无法支持 m-of-n阈值门。

Ostrovsky等人[6]提出了首个基于LSSS矩阵的构造,该构造能够支持非门以及阈值门。OSW方案通过仅在叶节点上使用非门,将非单调访问结构转换为单调访问结构。然后通过以下方式支持负属性:当且仅当相应属性不存在时,才使共享份额对解密者“可用”。OSW基本构造要求每个密文恰好包含 d个属性。通过使用“填充”属性和并行加密系统,可以消除这一限制,但会牺牲效率。作为进一步的优化,Lewko等人[9]通过采用随机预言机模型,直接去除了对最大属性数量的限制。

2 背景

大多数现有的属性基加密方案仅考虑单调访问结构。我们的构造也将使用单调访问结构,并采用来自[8]的定义。

定义1(访问结构) 。设{P1,…, Pn}表示一组参与方。如果集合族 A ⊆ 2{P1 ,…,Pn} 满足:对于 ∀B, C,若 B ⊆ C且 B ∈ A,则 C ∈ A,那么称 A ⊆ 2{P1 ,…,Pn} 是单调的。访问结构(相应地,单调访问结构)是{P1,…, Pn}的非空子集所构成的一个集合族(相应地,单调集合族) A,即A ⊆ 2{P1 ,…,P n}{∅}。其中属于 A的集合称为授权集合,不属于 A的集合称为非授权集合。

我们还将大量使用线性秘密共享方案。单调访问结构可以用LSSS矩阵表示,我们采用[8]中给出的定义。

定义2(线性秘密共享方案) 。一个在参与方集合 P上的秘密共享方案Π被称为是线性的(在Z p上),如果满足以下条件:1. 每个参与方的份额构成一个在Z p上的向量。2. 存在一个具有 l行和 n列的矩阵 M,称为 Π的份额生成矩阵。对于所有 i ∈{1, 2,…, l}, M的第 i行标记为一个参与方ρ(i),其中 ρ是一个映射函数。当我们考虑列向量 v=(s, r2, r3,…, rn)时,其中 s ∈ Z p 是要共享的秘密,而 r2, r3,…, rn ∈ Z p 是随机选取的值,则 Mv是根据 Π得到的秘密 s的 l个份额所组成的向量,且份额(Mv)i属于参与方 ρ(i)。

在[8]中证明了每个线性秘密共享方案都具有如下定义的线性重构性质: 假设{ΠA}是访问结构 A的一个LSSS。令 S ∈ A为任意授权集合,并令 I ⊆{1, 2,…, l}定义为 I={i : ρ(i) ∈ S}。那么存在常数{ωi ∈ Z}i∈I,使得如果{λi}是根据 Π对任意秘密 s生成的有效份额,则 s=Σi∈Iωiλi成立。此外,这些常数{ωi}可以在关于份额生成矩阵 M大小的多项式时间内求得。

在我们的构造中,对于任意线性秘密共享方案,目标向量被设为(1, 0, 0, …, 0),并且我们将有(1, 0, 0, …, 0) ∈ span({Mi}i∈I)。

在NM-CPABE方案中,参与方等同于属性。我们的构造通过将非单调访问结构转换为单调访问结构来支持NOT门。我们从[6]引入非单调访问结构的定义。

定义3 (非单调访问结构) 。设 P表示一组属性。 P中的属性可分为正(如 x) 和负(如 ¬x)两类。如果 x ∈P,则 ¬x ∈P,反之亦然。 x˘指可能为正或负的属性(即 x或 ¬x)。设{ΠA}A∈A表示针对一组可能的单调访问 ˜结构 A的线性秘密共享方案的给定族。可能的非单调访问结构 A集定义如下。

对于每个属性集合 P上的访问结构 A ∈ A ,在属性集合 P上定义了一个可能为非单调的访问结构 NM(A),其中˜ ˜P是 P中所有正属性的集合。 A被定义为这些 NM(A)˜访问结构的集合。并且 NM(A)通过如下方式定义:当且仅当 N(S)在 A中被授权时, S才在˜ ˜ ˜ ˜ NM(A)中被授权,其中 S ⊆ P和 N(S) ⊆ P定义如下:首先, S中的所有属性都在 N(S)中,因此 S ⊂ N(S);其次,对于每个满足 x∈/S的属性 x ∈P,令¬x ∈ N(S)。

3 高效构造

该高效构造中的主要技术新颖性在于找到一种将一定数量的属性“整合”到一个属性中的方法。从素数和整除理论中我们得知,任何正整数 N> 1都可以唯一地表示为 N= ∏i p i

我们首先定义一个特殊随机预言机,仅将字符串映射到“素化”元素。然后在私钥生成阶段,我们仅创建对应于所有“素数”乘积的秘密分量。

设置、Encrypt、KeyGen 和解密算法描述如下。

设置(λ) 。该算法以安全参数 λ 作为输入。并为系统启动选择 G1, G2, e, g。该算法选择随机指数 α, a ∈ Z p 。一种特殊的哈希函数 H′: {0, 1} ∗ → Z ≤p ,其中 Z≤p 表示小于或等于 p 的所有素正整数的集合。我们定义另一个哈希函数

H: {0, 1}∗= gH′ (∗)→ G1用于在 G1 中生成随机元素。令 H′(∗) = o,我们有 H(∗) = g公o。共参数 PK 和主密钥 MK 的生成方式如下

PK={g, e(g, g)α, ga}, MK= gα.

Encrypt(PK, NM(A), M) . 与之前一样,Encrypt 算法将 NM(A) 转换为单调形式 (M, ρ),其中 M是一个 l× nc LSSS 矩阵。 l也是访问结构 A中叶节点的数量, nc是节点数量。如 [8]中所讨论, l不会超过所有正属性的数量, n,且 M的列数至多等于 M的行数。即 nc ≤ l ≤ n,因此我们可以减小密文的大小。

该算法首先选择一个随机向量 v=(s, r2,…, rnc) ∈ Znc p ,然后发布密文为

CT={C= Me(g, g)αs, C′= gs, {Ci,j= gaMi,jvjH(j+ ρ(i))−s}1≤i≤l,1≤j≤nc}.

KeyGen(MK, S) . KeyGen 首先从 S 获取属性集合Su ,然后选择一个随机元素 t ∈ Zp。令 H(j+ x) = goj, x,其中 1 ≤ j ≤ nc和x ∈ Su。

私钥表示为

SK={K= gαgat, L= gt, OSu= ∏ 1≤j≤nc,x∈Su oj,x}.

解密(密文, 私钥) 。 与之前一样,令 I={i: ρ(i) ∈ Su},且{wi ∈ Zp}i∈I为一组常数,满足 s= ∑i∈I wiλi,其中{λi}i∈I是根据 M得到的有效份额̂。我们定义一种新的二元运算 % 如下。

a%̂b={0, b mod a== 0; a, otherwise.

解密算法首先计算

e(C′, K)/ ∏ 1≤j≤nc e(L,∏ i∈I C ω i %̂OS u i,j ) = e(C′, K)/ ∏ 1≤j≤nc (e(g t, g∑i ∈ I aM i, j v j ω i ̂ %O S u)· e(g t,∏ i∈I h −sω i ̂ %O S u j,ρ(i) )) = e(C′, K)/ ∏ 1≤j≤nc e(g t, g∑i ∈ I aM i, j v j ω i) = e(C′, K)/e(g t, g∑i ∈ I aM i, 1v1 ω i) = e(C′, K)/e(g, g) ats = e(g, g) αs .

然后消息被计算为

M= C/e(g, g) αs .

高效支持非单调访问结构的密文策略属性基加密

4 安全性证明

高效构造的安全性也可以在DBDH假设下得到证明。在本节中,我们将证明以下定理。

定理1 . 假设DBDH假设成立,则不存在多项式时间攻击者能够选择性破解最后的构造。

证明假 :设存在一个多项式时间攻击者 A,能够以非可忽略优势 ε选择性破解最后的构造。我们构造一个模拟器 B,其能够以非可忽略优势参与DBDH游戏。

模拟过程如下。

首先,挑战者启动系统并生成 G1, G2, g, e。然后,挑战者在 B的视野之外抛掷一枚公平的二元硬币 ν ∈{0, 1}。如果 ν= 1,挑战者设置 T= e(g, g)abc; 否则,设置 T= e(g, g)z。最后,挑战者将 g,ga, gb, gc和 T发送给模拟器 B。

初始化 。 模拟器运行 A的算法。攻击者选择挑战访问结构 NM(A)∗,其等价于 (M∗, ρ∗)。 M是一个 l∗× n∗ c线性秘密共享方案矩阵。

设置 。 模拟器 B选择一个随机元素 α′ ∈ Zp并设置 α= ab+α′,这意味着 e(g, g) α= e(ga, gb) · e(g, g)α ′。

随机预言机 H′和 H按如下方式编程。

哈希函数 H′返回与之前相同的结果。如果存在一个索引 i满足 ρ∗(i) = x且 i ≤ n∗,令 H′(j+ x) = oj,x,则我们有 H(j+ x)= g o j,x +aM ∗ i,j. 否则, H(j+ x) 返回与之前相同的答案。

阶段1 。 在此阶段, B将回答任何私钥查询。我们考虑一种情况,即需要为属性集合 S 生成私钥,其中 S 不满足 M∗。

B首先选择随机元素 r ∈ Z p。私钥分量 K和L定义为 K= g α ′ g ar, L= g r.

我们还像之前一样将属性集 S扩展为 Su。在挑战者的构造中,设 Ox=∏1≤j≤n ∗ c o j,x,则我们有 OS u =∏x∈Su Ox。我们按如下方式计算OS u 。

对于每个不带索引 i 的 x ∈ S u ,例如 ρ ∗ (i) = x,我们可以通过设 O ′ x =∏1 ≤ j ≤ n ∗ c o j,x. 简单地得到 Ox

对于访问结构中存在的其他属性 x ,我们必须确保每个指数 oj ,x 不是 OS u 的素因子。因此在这种情况我们计算 O′ x =∏1≤j≤ n∗ c (oj ,x+ b)。

最后我们计算 OS u 为 OS u =∏x ∈ S u O′ x 。

挑战 。 在此阶段, A向模拟器提交两条长度相等的挑战消息 M0和M1。 B抛掷一枚公平的二元硬币 μ ∈{0, 1},然后生成C= MμT e(g, g)α′s和 C′= gs。

根据线性秘密共享方案的定义,我们可以找到一个向量 ω=(ω1,…, ωn∗ c) ∈ Zn∗ p , 使得对所有 i满足 ω1= −1和 ωi · M∗ i= 0,其中 ρ∗(i) ∈ Su。

为了模拟 Ci,j 的值, B 选择随机元素 r2′,…, r′n∗ c 并令 v∗=(s, s+ r′ 2,…, s+ r′ nc) ∈ Zn∗ p.

密文组件 Ci,j 的计算方式为 Ci,j= gaM ∗ i,jv ∗ jωjH(j+ ρ(i))−s}1≤i≤l,1≤j≤n∗ c.

阶段2 。 与阶段1相同。

猜测 。 如果攻击者给出了一个正确的猜测μ′= μ,那么 B将输出 ν′= 1以猜测 T= e(g, g)abc;否则,它输出 ν′= 0以表明T= e(g, g)z。

现在我们按如下方式计算 B的优势。

If v= 0,攻击者无法获得关于 Bμ的任何信息。然后我们有 Pr[μ′= μ|ν= 0]= Pr[μ′= μ|ν= 0]= 1 2.

因为当 μ′= μ时, B输出 ν′= 0,即 Pr[ν′= ν|ν= 0]= Pr[μ′= μ|ν= 0]= 1 2.

如果 v= 1,攻击者可以获得关于Bμ的一些确切信息。如之前假设所述, A可以以不可忽略的优势输出一个正确的 μ′。此情况下 A的概率为 Pr[μ′= μ|ν= 1]= 1 2+ ε.

因为当 μ′= μ时, B输出 ν′= 1,所以我们有 Pr[ν′= ν|ν= 1]= Pr[μ′= μ|ν= 1]= 1 2+ ε.

最后,我们可以计算 B输出正确猜测ν′= ν的概率 Pr[ν′= ν]= Pr[ν′= ν, ν= 0]+ Pr[ν′= ν, ν= 1] = 1 2Pr[ν′= ν|ν= 0]+ 1 2 Pr[ν′= ν|ν= 1] = 1 2 + 1 2 ε.

因此, B可以在DBDH游戏中以非可忽略优势进行。所以不存在能在非可忽略优势下选择性破解最后构造的多项式时间攻击者。 A定理1成立。

5 比较

在本节中,我们从密钥大小、密文大小和计算时间方面将我们的方案与其他系统进行比较。为了避免不同安全假设的影响,我们仅考虑基于DBDH假设的这些构造。

设 L∗表示 ∗中任意元素的比特长度, T∗表示 ∗操作的时间。假设 n为系统中的属性数量, l为访问结构中的叶节点数量, nc为访问公式中的节点数量, nS为用户属性集的大小, I为满足访问结构的最小属性集大小。

我们总结了我们的方案与CN系统、沃特斯系统在 PK、 MK、 SK以及 CT大小方面的比较,如表2所示。注意,我们未计算消息、访问策略、双线性映射及其他基本组件的大小。在高效构造中,通过采用随机预言机,PK的大小减少至 O(1),适用于大宇宙构造。得益于素数理论, SK的大小也减少至 O(1)。

表2. CP-ABE系统中 PK、 MK、 SK和 CT大小的比较。
| 系统 | PK | MK | SK | CT |
| — | — | — | — | — |
| CN [10] | (3n+1)LG1+ LG2 | (3n+1)LZ p | (2n+1)LG1 | (n+1)LG1+ LG2 |
| 沃特斯 [14] | (n2+2)LG1 + L G2 | L G1 | (n+ nS+1)LG1 | (nl+1)LG1 |
| 我们的构造 2L G1 | + L G 2 | L G1 | 2L G1 + L Z p | (ncl+1)LG1 |

表3. CP-ABE系统中计算时间的比较。
| 系统 | 密钥生成 | 加密 | 解密 |
| — | — | — | — |
| CN系统 [10] | (2n+1)TG1 | (n+1)TG1 +2T G2 | (n+1)TG2 +2Te |
| 沃特斯 [14] | (nnS+ n+1)TG1 | (nl+1)TG1 +2T G2 | nIT G1 +(n+ I+1)TG 2 |
| 我们的构造 4T G | 1 | (ncl+1)TG1 +2T G2 | 2 ncITG1 +(nc+1)TG |

我们的方案与CN、Waters系统在私钥生成、加密和解密的计算时间上的比较如表3所示。在高效构造中,由于我们采用指数乘法代替群操作,私钥生成的时间显著减少。我们注意到,高效方案中的加密和解密时间比CN系统更长,原因是我们的构造引入了线性秘密共享方案矩阵作为访问结构,该结构能够支持非、与、或以及阈值操作。

6 结论

本文中,我们提出了一种支持非单调访问结构的密文策略属性基加密系统。该构造在DBDH假设下被证明是选择性安全的。

我们将我们的构造与其他支持非单调访问结构的系统进行了比较。结果表明,我们的方案是表达性强的支持属性否定的密文策略属性基加密构造。我们还将我们的构造与在DBDH假设下被证明安全的其他系统进行了比较。总的来说,我们的构造效率优于CN系统和沃特斯系统。

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值