无密钥托管的属性加密方案

无密钥托管的基于属性的加密

摘要

基于属性的加密(ABE)是一种用于加密数据细粒度共享的有前景的密码学原语。然而,ABE存在一个主要缺陷,称为密钥托管问题。密钥生成中心(KGC)可以为任意属性集合的用户生成私钥,更严重的是,KGC能够使用其主密钥直接解密密文CT。这可能对数据安全和隐私构成潜在威胁。本文提出了一种新型的无密钥托管的密文策略ABE方案。在我们的构造中,我们使用两个权威机构:KGC和OAA(外包属性机构)。除非KGC与OAA共谋,否则任一机构都无法独立解密密文CT。该方案被证明在标准模型下是选择性安全的。我们给出了将单个授权机构的 KP‐ABE和CP‐ABE转换为解决密钥托管问题的通用方法。我们的ABE方案天然支持对外包密文解密。

关键词 :云存储 Access control Attribute-based加密 Key托管 Outsourcing decryption

1 引言

您认为存储在在线云存储中的数据是安全的吗?尽管云存储服务提供商(如 Dropbox、谷歌、微软等)宣称他们提供了保护系统的安全机制,但云存储服务提供商自身又如何呢?将数据迁移到云端后,我们可以随时随地方便地访问数据。但我们必须对数据的安全性和隐私保持警惕,尤其是敏感数据。最好在上传到云存储之前先对敏感数据进行加密。这样,即使云存储系统被攻破,我们的数据隐私也不会泄露。将数据整体加密的一个缺点是,这严重限制了用户以细粒度方式共享其加密数据的灵活性。假设一个用户希望授予项目成员访问某个项目所有文档的权限,那么他要么需要

充当中介,为此成员解密所有相关文件,要么必须将他的秘密解密密钥交给该成员。这两种选择都不太理想。特别是当用户希望与不同的人共享不同的文档时,情况更加棘手。

萨哈伊和沃特斯 [1]首次提出了基于属性的加密(ABE)的概念来解决这一问题。基于属性的加密(ABE)是一种用于一对多通信中细粒度数据访问控制的密码学原语。在传统的基于身份的加密(IBE)[2],中,密文是根据目标用户的身份计算得到的,只有该用户本人才能解密密文,属于一对一通信。作为 IBE的推广,ABE在公钥密码系统中引入了访问结构的创新思想,使得用户的私钥或密文基于访问结构生成,只有满足指定条件的用户才能解密密文CT。然而,属性基加密(ABE)存在一个主要缺陷,称为密钥托管问题。我们将该问题分为两类:(1)类型1:密钥生成中心(KGC)能够为任意访问结构或属性集合生成用户的私钥;(2)类型2:密钥生成中心(KGC)可以利用其主密钥直接解密密文。这些都可能对云存储中的数据机密性和隐私构成潜在威胁,从而影响其在云存储中的广泛应用。

为什么我们需要解决密钥托管问题?难道KGC不值得信任吗?让我们以公钥基础设施(PKI)为例。PKI是一种通过证书颁发机构(CA)将公钥与其对应用户身份绑定的机制。需要注意的是,尽管PKI是可信的,但它并不知晓用户的私钥。然而,在属性基加密中,用户的私钥是由密钥生成中心生成的。即使KGC是可信的,我们仍然不希望它能够解密我们的加密数据。

通过我们的研究,我们得出一个非正式的结论:如果一个ABE方案中仅存在一个机构(KGC),则该ABE方案本质上具有密钥托管问题。用户的私钥由 KGC生成,且密文中不包含用户特定信息。否则,将违背属性基加密设计用于细粒度数据共享的初衷。因此,我们将注意力集中在两个权威机构之间的协作如何解决密钥托管问题。

1.1 相关工作

萨哈伊和沃特斯 [1]首次提出了属性基加密(ABE)的概念。随后,ABE 发展出两种形式:密钥策略属性基加密(KP‐ABE)[3–6]和密文策略ABE( CP‐ABE)[6–9]。在 KP‐ABE 中,密文与属性集合相关联,而用户的私钥与访问结构相关联。在 CP‐ABE 中,情况正好相反,用户的私钥由属性标记,而密文与访问结构相关联。

赫尔[10, 11]通过提出一种安全的两方计算协议解决了密钥托管问题。原始的密钥生成中心被分为两部分:密钥生成中心和数据存储中心。安全的2PC协议确保其中任何一方都无法单独生成密钥。密钥生成中心负责用户认证并颁发秘密

将密钥交给他/她。这种方法的缺点是缺乏通用性,并且其安全性是在随机预言模型下证明的。张等人[12]提出了一种解决密钥托管问题的方案。张等人引入了另一个KGC无法获知的私钥x,这一点与我们所提出的方案有相似之处。然而,由于用户能够获得x,如果用户与KGC共谋,KGC便可以解密任何密文。此外,张等人仅将这一思想应用于基于身份的加密。

王等人[13]通过结合利贝尔和维尔纳的基于身份的加密方案[14]与密钥策略属性基加密[3]实现了权威问责。由于用户的私钥包含密钥生成中心未知的保密信息,如果密钥生成中心根据用户的身份伪造私钥,我们可以通过密钥族编号来判定是密钥生成中心还是用户不诚实。然而,密钥生成中心仍然可以使用其主密钥直接解密密文CT。

1.2 我们的贡献

我们的主要贡献可以总结如下。
(1) 我们提出了一种解决密钥托管问题的方案。(2) 我们证明了该方案在标准模型下是选择性安全的。(3) 我们的方案中使用了两个机构,即KGC和OAA(外包属性机构)。该方案能够抵抗来自好奇的KGC或OAA的共谋攻击,甚至能够抵抗不诚实用户与KGC或OAA共谋的攻击。(4) 我们给出了将单一授权机构的 KP‐ABE和CP‐ABE转换为无密钥托管问题的通用方法。(5) 在扩展部分,我们展示了一种更实用的支持外包解密的属性基加密方案。

表 1显示了与其他相关工作的比较。

1.3 我们的主要思想

我们将基于 Rouselakis 和 Waters 的 CP‐ABE [6] 构建我们的方案。提出无密钥托管问题的方案面临两个挑战。其一是如何将一个机构分割为两个不同的机构。我们必须确保任何一个机构都无法独立解密密文或生成用户的私钥。此外,还需要一种协议使这两个机构能够相互通信以生成用户的私钥。另一个挑战是,是否存在一种通用的转换方法,能够从所有单一授权机构的 ABE 方案中消除密钥托管问题。

为了解决第一个挑战,一个自然的想法是让不同的机构拥有不同的主密钥,并执行相同的密钥生成过程。用户学习到这两个密钥后,可以将它们重新组合成单一授权机构属性基加密中的私钥格式。然而,在这种简单的思路中,用户需要进行额外的计算才能得到最终的私钥。如果用户的私钥规模较大,则由用户自行计算其私钥将是低效的。因此,不同机构不能执行相同的操作。

密钥生成过程是显而易见的。格林等人提出的ABE方案中的外包解密[15]给了我们一个启示。在他们的方案中,解密步骤被分为两个阶段。两个阶段意味着两个解密密钥。那么,我们能否使用两个权威机构分别独立地生成这两个解密密钥呢?我们对这个问题给出了肯定的回答。然而,他们的方案仍然存在密钥托管问题。

为了解决第二个挑战,每个方案的主密钥中都包含“a”。改变“a”会影响用户私钥的指数。核心思想是提供一种方法,使得每个机构持有“a”的一部分,且任何一方都无法独立恢复“a”。注意,某些方案[3, 8]使用y而非a,且y等价于a。

1.4 组织结构

本文其余部分安排如下:第2节介绍一些密码学背景信息。第3节描述无密钥托管的CP‐ABE(WoKE‐CP‐ABE)的形式化定义及其安全模型。在第4节中,我们提出了WoKE‐CP‐ABE方案的构造方法。在第5节中,我们分析了所提出方案的安全性,并将该方案与多机构属性基加密进行了比较。在第6节中,我们讨论了一些扩展。最后,对全文进行总结。

2 背景

2.1 访问结构

定义 2.1 访问结构 [16] 。设 {P₁; P₂; …; Pₙ} 为一组参与方。若集合 A ⊆ 2^{P₁,P₂,…,Pₙ} 满足:对于任意 B,C,若 B ∈ A 且 B ⊆ C,则 C ∈ A,则称该集合 A 为单调的。访问结构(相应地,单调访问结构)是 {P₁; P₂; …; Pₙ} 的非空子集的一个集合(相应地,单调集合)A,即 A ⊆ 2^{P₁,P₂,…,Pₙ}{∅}。A 中的集合称为授权集合,不在 A 中的集合称为非授权集合。

在我们的场景中,各方的角色由属性承担。因此,访问结构A将包含授权的属性集合。从现在起,我们专注于单调访问结构。

定义2.2 线性秘密共享方案(LSSS)[16] 。设 K是一个有限域,Q 是一个在秘密域 S ∈ K 上的秘密共享方案,用于实现访问结构 A。我们称 Q 是定义在 K 上的线性秘密共享方案,如果:
1. 每个参与方的份额是定义在 K 上的一个向量。也就是说,对于每个i,存在一个常数di,使得参与方Pi的份额取自 K^di。我们用Qi,j(s, r)表示参与方Pi的份额中的第j个坐标(其中s ∈ S为秘密值,r ∈ R为分发者的随机输入)。
2. 对于每个授权集合,从分片中重构秘密的重构函数是线性的。也就是说,对于每个G ∈ A,存在常数 {ai,j: Pi ∈ G; 1≤j ≤ di},使得对于每个秘密s ∈ S以及随机输入r ∈ R的任意选择,

$$
s = \sum_{P_i \in G} \sum_{1 \leq j \leq d_i} a_{i,j} \cdot Y_{i,j}(s, r)
$$

其中常数和算术运算均在域 K 上进行。

该方案中份额的总大小定义为 d = ∑_{i=1}^n d_i。

2.2 双线性映射

定义2.3 双线性映射 。设G₀和G₁为两个素数阶p的乘法循环群。令g为G₀的生成元,e为一个双线性映射,e : G₀ × G₀ → G₁。该双线性映射e具有以下性质:
- 双线性 :对于所有 u,v ∈ G₀ 和 a,b ∈ ℤ_p,我们有 e(u^a, v^b) = e(u,v)^{ab}。
- 非退化性 :e(g,g) ≠ 1。
- 可计算性 :存在一个用于双线性映射 e : G₀ × G₀ → G₁ 的高效算法。

注意到映射 e 是对称的,因为 e(g^a, g^b) = e(g,g)^{ab} = e(g^b, g^a)。

2.3 假设

我们将在下方陈述我们的复杂性假设。

定义2.4 q型假设 。在初始阶段,挑战者调用群生成算法,输入安全参数,选择一个随机群元素 g ∈ G₀, 以及 q + 2 个随机指数 a,s,b₁,b₂,…,b_q ∈ ℤ_p。然后,他将群描述 (p, G₀, G₁, e) 以及以下所有项发送给攻击者:

g, g^s
g^a^i, g^b_j, g^{s b_j}, g^{a_i b_j}, g^{a_i b_j²} ∀(i,j) ∈ [q,q]
g^{a_i b_j / b_j’} ∀(i,j,j’) ∈ [2q,q,q] with j ≠ j’
g^{a_i / b_j} ∀(i,j) ∈ [2q,q] with i ≠ q+1
g^{s a_i b_j / b_j’}, g^{s a_i b_j / b_j’²} ∀(i,j,j’) ∈ [q,q,q] with j ≠ j’

不存在概率多项式时间(PPT)攻击者能够区分 e(g,g)^{s a_{q+1}} ∈ G₁ 与从G₁中随机选取的元素。

3 无密钥托管的CP‐ABE

3.1 定义

一个无密钥托管的CP‐ABE(WoKE‐CP‐ABE)由五个算法组成。

KGC‐设置 (1ᵏ) → (PK_KGC, MK_KGC) 这是一个随机化算法,以安全参数k ∈ ℕ作为输入。它输出系统公钥PK_KGC和主密钥MK_KGC。

OAA‐设置 (PK_KGC) → (PK_OAA, MK_OAA) 这是一个随机化算法,以PK_KGC作为输入。它输出系统公钥PK_OAA和主密钥MK_OAA。系统的公钥参数PK可视为PK_KGC ∪ PK_OAA。

密钥生成 这是一个密钥颁发协议。在此协议中,密钥生成中心和属性授权机构共同为用户生成具有属性集合S ⊆ ℤ_p的私钥SK。

加密 (PK, M, T) → 密文CT 这是一个随机化算法,输入为系统公钥PK、明文消息M和访问结构 T,输出为密文CT。

解密 (CT, SK, PK) → M 该算法以在访问结构 T下加密的密文CT、属性集合 S的私钥SK以及系统公钥PK作为输入。如果 T(S) = 1成立,则输出明文消息M。

3.2 无密钥托管的CP‐ABE(WoKE‐CP‐ABE)的选择性安全模型

我们定义了一个游戏,用于在选择明文攻击下证明无密钥托管的CP‐ABE( WoKE‐CP‐ABE)的选择性安全性。

初始化阶段 攻击者 A声明他希望挑战的挑战访问结构 T*。

设置阶段 在此阶段,挑战者 B模拟KGC‐设置和OAA‐设置,将系统公钥PK提供给攻击者 A。

第一阶段 攻击者 A针对多个属性集合S_i发起私钥查询请求,其中对所有i 满足 T*(S_i) = 0。挑战者 B调用密钥生成并发送私钥SK_i给攻击者 A。

挑战阶段 攻击者 A提交两个等长的消息M₀和M₁。挑战者 B随机掷一枚硬币b,并使用 T* 加密M_b 。然后 B将密文传递给攻击者 A。

阶段2 重复第一阶段。

猜测 攻击者 A输出一个关于b的猜测b′。

攻击者 A在此游戏中的优势定义为 |Pr[b′ = b] - 1/2|。

定义3.1 . 如果所有概率多项式时间对手在上述安全游戏中关于k的优势至多为可忽略的优势,则该无密钥托管的密文策略属性基加密方案是选择性安全的。

3.3 WoKE‐CP‐ABE的密钥托管模型

还有其他四种类型的攻击者。上述的攻击者(称为I型对手)关注属性基加密方案,而以下的攻击者则关注密钥托管问题。

II型攻击者 。它被定义为一个好奇的KGC。此类攻击者拥有系统部分主密钥,并试图从密文中提取有用信息。然而,此类攻击者受到限制,即他不能与任何用户或OAA共谋。

III型攻击者 。它被定义为好奇的OAA。该攻击者与II型攻击者类似,只是其掌握的主密钥部分不同。需要注意的是,限制条件是他不能与任何用户或密钥生成中心共谋。

IV型攻击者 。定义为与KGC共谋的不诚实用户。此类攻击者拥有密钥生成中心的主密钥,并可请求所有不诚实用户的私钥SK。该攻击者的目标是从非预期发送给他的密文中获取有用信息。注意,IV型攻击者不能与属性授权机构 OAA共谋。

V型攻击者 。定义为与OAA共谋的不诚实用户。此类攻击者与IV型攻击者类似,区别在于用户可以与OAA共谋,而不是与密钥生成中心共谋。注意,V型攻击者不能与密钥生成中心共谋。

据我们所知,我们提出这四种攻击者是因为必须证明该构造具有抗密钥托管性。我们必须考虑II型和III型攻击者,因为我们的方案必须能够防止任何密钥生成机构对方案发起攻击。而IV型攻击者和V型攻击者则是某种更“强大”的攻击者,他们试图获取有关对抗组织的私钥的信息,从而解密一些本不应由他们解密的消息。

需要注意的是,一个合理的假设是密钥生成中心无法与属性授权机构共谋。否则,我们的方案可被视为仅具有单一授权机构的方案,且根据我们在第1节中的分析,该“授权机构”可以解密任何密文。

4 我们的构造

设G₀是一个素数阶p的双线性群,g是G₀的生成元。此外,令e : G₀ × G₀ → G₁表示双线性映射。安全参数k将决定群的大小。目前我们假设属性是ℤₚ中的元素。然而,属性可以是使用抗碰撞哈希函数 H : {0,1}* → ℤₚ 的任何有意义的唯一字符串。我们的构造如下。

KGC‐设置 (1ᵏ) → (PK_KGC, MK_KGC) 该算法调用群生成算法 G(1ᵏ),获得群和双线性映射 D = (p, G₀, G₁, e) 的描述。然后随机选择 g, u, h, w, v ∈ G₀ 和 a₀ ∈ ℤₚ。发布的系统公钥 PK_KGC 为

$$
D, g, u, h, w, v, e(g, g)^{a_0}
$$

主密钥 MK_KGC 是 a₀。

OAA‐设置 (PK_KGC) → (PK_OAA, MK_OAA) 在ℤₚ中均匀随机选择λ。我们可以将a₀视为a/λ。公布的系统公钥PK_OAA为

$$
(e(g, g)^{a_0})^\lambda = e(g, g)^a
$$

主密钥 MK_OAA 是 λ。

然后,系统的公钥PK可以被视为

$$
PK = (D, g, u, h, w, v, e(g, g)^a)
$$

密钥生成 密钥生成中心和属性授权机构参与用户的密钥颁发协议。在该协议中,密钥生成中心需要与属性授权机构通信以生成用户的私钥。密钥颁发协议包含以下步骤:

  1. 首先,密钥生成中心和属性授权机构分别独立地对具有属性集合 S = {A₁, A₂, ⋯, A_k} ⊆ ℤₚ 的用户U进行认证。
  2. 密钥生成中心选择一个随机指数 h ∈ ℤₚ* 并将其发送给U。该指数h用于防止属性授权机构获取用户U的完整私钥。
  3. 密钥生成中心选取 r₀’, r₁’, r₂’, …, r_k’ ∈ ℤₚ* 并计算

$$
S, K’ 0 = g^{a_0/h} w^{r_0’/h}, w^{1/h}, K’_1 = g^{r_0’}, \
{K’
{i,2} = g^{r’ i}, K’ {i,3} = (u^{A_i} h)^{r’ i} v^{-r’_i}} {i \in [k]}
$$

然后将其发送给属性授权机构。

  1. OAA 选择 r₀’‘, r₁’‘, r₂’‘, …, r_k’’ ∈ ℤₚ* 并计算

$$
S, K’‘ 0 = (K’_0)^\lambda \cdot (w^{1/h})^{r’‘_0}, K’‘_1 = (K’_1)^\lambda \cdot g^{r’‘_0}, \
{K’‘
{i,2} = (K’ {i,2})^\lambda \cdot g^{r’‘_i}, K’‘ {i,3} = (K’ {i,3})^\lambda \cdot (u^{A_i} h)^{r’‘_i} v^{-r’‘_i}} {i \in [k]}
$$

然后将其发送给用户。

请注意,r₀’‘, r₁’‘, …, r_k’’ 的作用是对私钥进行随机化。否则,如果一个不诚实的用户与密钥生成中心串通,密钥生成中心就可以计算出 ((g^{r’_0})^\lambda)^{1/r’_0} = g^\lambda,并利用它通过计算 m·e(g,g)^{a s}/e(g^s, g^\lambda)^a = m 来解密任意密文。

  1. 用户获取其私钥作为

$$
SK = \left(S, h, K_0 = K’‘ 0 = g^{a_0 \lambda / h} w^{(r’_0 \lambda + r’‘_0)/h} = g^{a/h} w^{r/h}, K_1 = K’‘_1 = g^{r’_0 \lambda + r’‘_0} = g^r, \
{K
{i,2} = K’‘ {i,2} = g^{r’_i \lambda + r’‘_i} = g^{r_i}, K {i,3} = K’‘ {i,3} = (u^{A_i} h)^{r’_i \lambda + r’‘_i} v^{-(r’_0 \lambda + r’‘_0)} = (u^{A_i} h)^{r_i} v^{-r}} {i \in [k]}\right)
$$

我们隐式地设置 r = r₀’λ + r₀’‘, {r_i = r’ i λ + r’‘_i} {i ∈ [k]}。

加密 (PK, m, M, q()) → CT :在由线性秘密共享方案LSSS策略(M, q())编码的访问结构下对消息m ∈ G₁进行加密。设M的维度为l × n。M的每一行都标记有一个属性,q(i)表示第i行~M_i的标签。选择一个随机向量 ~z = (s, z₂, …, z_n)^T ∈ ℤₚⁿ,其中s是要在各份额中共享的随机秘密。份额向量为 ~k = (k₁, k₂, …, k_l)^T = M·~z。然后选择 l个随机值t₁, t₂, …, t_l ∈ ℤₚ,并按如下方式发布密文:

$$
CT = \left( (M, q()), m·e(g, g)^{a s}, C_0 = g^s, \
{C_{i,1} = w^{k_i} v^{t_i}, C_{i,2} = (u^{q(i)} h)^{-t_i}, C_{i,3} = g^{t_i}}_{i \in [l]}\right)
$$

解密 (CT, SK, PK) → m 要使用解密密钥SK对密文CT进行解密,请按如下步骤进行。假设 S满足访问结构,并令 I = {i : q(i) ∈ S}。由于属性集合满足访问结构,因此存在系数 x_i ∈ ℤₚ,使得 Σ x_i · ~M_i = (1, 0, …, 0) 成立。于是有 Σ x_i k_i = s。现在它计算

$$
\frac{m·e(g, g)^{a s} \prod_{i \in I} \left( \frac{e(C_{i,1}, K_1)}{e(C_{i,2}, K_{i,2}) e(C_{i,3}, K_{i,3})} \right)^{x_i}}{(e(C_0, K_0))^h}
= \frac{m·e(g, g)^{a s} \prod_{i \in I} \left( \frac{e(w^{k_i} v^{t_i}, g^r)}{e((u^{q(i)} h)^{-t_i}, g^{r_i}) e(g^{t_i}, (u^{A_i} h)^{r_i} v^{-r})} \right)^{x_i}}{(e(g^s, g^{a/h} w^{r/h}))^h}
= \frac{m·e(g, g)^{a s} e(w, g)^{r s}}{e(g^s, g^{a} w^{r})}
= m
$$

5 我们所提出方案的分析

5.1 选择性安全证明

在选择性安全证明中,我们将我们的CP‐ABE方案的选择性安全性归约到Rouselakis 和 Waters’[6]的选择性安全性,后者在第q类假设下被证明是选择性安全的,见第2.3节。由于篇幅有限,我们不得不省略完整的证明过程。

5.2 密钥托管问题的安全性分析

II型攻击者 。II型攻击者被定义为好奇的KGC,且受限于其无法与任何用户或 OAA共谋。该攻击者需要恢复λ或s以解密密文me(g,g)^{as}。

$$
(e(g^{a_0}, g^s))^\lambda \rightarrow e(g, g)^{a s} \rightarrow m \quad \text{by using } \lambda, \quad (e(g, g)^a)^s \rightarrow m \quad \text{by using } s
$$

然而,计算λ或s与离散对数相关。由于计算离散对数被认为是困难的,因此我们的方案能够抵抗II型攻击者的攻击。□

III型攻击者 。该攻击者与II型攻击者类似。攻击者需要恢复a₀或s以解密密文 me(g,g)^{as}。由于计算离散对数被认为是困难的,因此本方案能够抵抗来自III型攻击者的攻击。□

IV型攻击者 。IV型攻击者被定义为与密钥生成中心共谋的不诚实用户。尽管该攻击者可以请求某些用户的私钥,但由于用户的私钥由属性授权机构进行了随机化处理,因此他无法获得比II型攻击者更多的关于λ的信息。该攻击者也需要恢复λ或s才能解密密文。由于计算离散对数被认为是困难的,因此本方案能够抵御来自IV型攻击者的攻击。□

V型攻击者 。V型攻击者被定义为与OAA共谋的不诚实用户。显然,这种攻击者的攻击能力弱于IV型攻击者。该攻击者需要恢复a₀, s或r₀’才能解密密文。

$$
(g^{a_0/h} w^{r’_0/h})^{h \lambda} \rightarrow g^{a w r’_0 \lambda}
$$

如果该V型攻击者知道r₀’,则可以利用来自不诚实用户的h计算任意属性集合。r₀’与离散对数问题相关。因此,我们的方案能够抵抗V型攻击者的攻击。□

5.3 与多机构属性基加密的比较

在多权威属性加密(multi‐authority ABE)[17–20]中,不同的机构管理不同的属性集合。Chase [17]提出了一种使用可信中心机构(CA)和全局标识符(GID)概念的多权威ABE方案。然而,该CA有能力解密任何密文CT。Chase 和 Chow[18]提出了一个无需可信中心机构(CA)的多权威ABE方案。但是,所有属性机构(AAs)必须通过安全的两方密钥交换协议相互通信,并且每个机构还需要提供关于某些参数的非交互式知识证明。如果共谋的属性机构(AAs)数量少于N − 1(N为系统中AAs的总数),则这些共谋方无法解密那些其属性集合S不满足访问策略T的密文CT。然而,每个AA对其所属属性具有绝对控制权。若某个AA与一个不诚实用户共谋,则相当于他们拥有了该AA所掌握的所有属性私钥,从而能够解密比该用户原本可访问更多的密文CT。我们的方案可以抵抗来自好奇的KGC或OAA的共谋攻击,甚至能够抵御不诚实用户与KGC或OAA共谋的情况,因为KGC和OAA都参与了每一个属性私钥的生成过程。此外,如果我们将在公共云中存储日常数据的用户场景应用多权威属性基加密,那么如何划分属性集合将成为一个问题。在类似场景下,采用我们提出的无密钥托管的单一授权机构ABE方案将更为合理。当用户数量较多时,我们可以采用分层方法[21]对其进行管理。

6 扩展

6.1 通用性

我们的去密钥托管方法可适用于其他属性基加密方案。将属性基加密方案中的单一授权机构转换为密钥生成中心和属性授权机构是容易的。在设置阶段,密钥生成中心执行与原始方案相同的设置阶段,属性授权机构对与a相关的部分e(g,g)^a执行指数运算。

现在我们将主要关注密钥生成。我们将分别分析CP‐ABE和密钥策略属性基加密的通用性。

对于CP‐ABE,我们将通过分析所提出的方案来描述转换方法。我们的方案与 Rouselakis 和 Waters的[6]在私钥生成上的主要区别在于K₀的生成方式。在我们的方案中,

$$
K’_0 = g^{a_0/h} w^{r’_0/h}, w^{1/h}, h \rightarrow (K’_0)^\lambda \cdot (w^{1/h})^{r’‘_0} = g^{a_0 \lambda / h} w^{(r’_0 \lambda + r’‘_0)/h} = g^{a/h} w^{r/h}, h
$$

在 Rouselakis 和 Waters 中,[6], K₀ = g^{a w r}。在密钥生成时,我们使用了另外两个部分,w^{1/h}和 h。我们可以将 h 称为无密钥托管部分,将 w^{1/h} 称为用于私钥随机化的附属部分。注意 OAA 也需要对

私钥。我们已经在第4节中分析了这一点。通过使用这两个部分,我们已经能够构建一个无密钥托管的方案。

对于KP‐ABE,与CP‐ABE略有不同。让我们看一个例子。在Rouselakis 和 Waters的[6]中,KGC还需要生成一个无密钥托管部分h并将其发送给用户。然后KGC使用[6]中的密钥生成算法,唯一的区别是将a替换为a₀/h。KGC将其发送给OAA。OAA以λ进行指数运算,并以类似于我们的方法进行随机化操作。然后OAA将其发送给用户。从这个例子可以看出,我们仅对指数进行处理。这与原始方案中用户的私钥格式无关。

加密算法是相同的,并且h用于解密算法中。显然,我们将不再对其进行分析。

6.2 一种更实用的外包解密ABE方案

属性基加密(ABE)的主要性能限制之一是密文的大小以及解密所需的时间随着访问结构的复杂度增加而增长。由于移动设备的计算能力有限,较长的解密时间是不可接受的。格林等人[15]提出了一种方法,通过将属性基加密密文的解密过程外包,以节省移动场景下用户的带宽和解密时间。用户拥有一个转换密钥和一个类ElGamal密钥。该转换密钥可交由代理,用于将满足该用户属性的任意属性基加密密文转换为类ElGamal密文,且不会向代理泄露密文内容。随后,用户可使用其类ElGamal密钥高效地解密该类ElGamal密文。格林等人 [15]需要对用户私钥中G₀的每个元素执行指数运算,使用 1/z完成。尽管该过程在原方案中由密钥生成中心(KGC)执行,但我们注意到它也可由用户自行完成。然而,如果用户希望在其频繁使用后更换其转换密钥,则需要对其私钥的每个元素执行指数运算。我们惊讶地发现,我们的方案天然支持密文的外包解密。h 已经是我们的类ElGamal密钥,而私钥的其他部分即为转换密钥。如果用户希望将 h 更换为 h′,他/她只需计算

$$
K’_0^{h/h’} = (g^{a/h} w^{r/h})^{h/h’} = g^{a/h’} w^{r/h’}
$$

并将新的 K₀ 更新至代理即可。该方法非常实用,并节省了更新过程中的传输带宽。

7 结论

密钥托管在属性基加密(ABE)中是一个相当具有挑战性的问题。我们形式化了无密钥托管的密文策略属性基加密(WoKE‐CP‐ABE)的概念,并提出了一种解决密钥托管问题的方案。在我们的构造中,我们使用两个相互协作的机构:密钥生成中心(KGC)和外包属性机构(OAA),它们共同为用户发放私钥。除非KGC与OAA共谋,否则任何一个机构都无法独立解密密文CT。本方案被证明是选择性安全的。标准模型下的安全性。我们提出了通用方法,用于将具有单一授权机构的密钥策略属性基加密和CP‐ABE转换,以解决密钥托管问题。此外,我们的方案天然支持外包密文解密。由于在具有单一授权机构的属性基加密中密钥生成中心的行为受到限制,这将促使人们将更敏感的数据存储到云中,并推动属性基加密在更广泛范围内的应用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值