合取广播与基于属性的加密技术解析
1. 引言
在当今数字化时代,数据安全至关重要。广播与基于属性的加密技术为数据的安全传输和访问控制提供了强大的支持。本文将详细介绍几种广播属性基加密(ABE)方案,包括它们的构造、加密解密过程、安全性证明、密钥委托和效率分析。
2. 关键方案介绍
2.1 BKP - ABE1 方案
-
设置(Setup)
:
- 随机选择生成元 (g \in G) 和随机数 (\alpha \in Z_p)。
- 计算 (g_i = g^{(\alpha i)} \in G) ,其中 (i = 1, 2, \cdots, n, n + 2, \cdots, 2n)。
- 随机选择 (\gamma \in Z_p) ,设置 (v = g^{\gamma} \in G)。
- 随机选择 (h_0, \cdots, h_{m’} \in G)。
- 公钥 (pk = \left{g, g_1, \cdots, g_n, g_{n + 2}, \cdots, g_{2n}, v, h_0, \cdots, h_{m’}\right}) ,主密钥 (msk = (\alpha, \gamma))。
- 定义函数 (F : Z_p \to G) 为 (F(x) = \prod_{j = 0}^{m’} h_j^{(x^j)})。
-
加密(Encrypt)
:
- 输入用户索引集 (S \subseteq U) 和主观策略的线性秘密共享访问结构 ((M, \rho)) 。
- 随机选择 (s, y_2, \cdots, y_{k_s} \in Z_p) ,令 (u = (s, y_2, \cdots, y_{k_s}))。
- 对于 (i = 1) 到 (\ell_s) ,计算 (\lambda_i = M_i \cdot u) ,其中 (M_i) 是 (M) 的第 (i) 行向量。
-
密文 (ct = (C, C^{(1)}, {C^{(2)}
i}
{i \in [1, \ell_s]}, C^{(3)})) ,其中:
- (C = M \cdot e(g_n, g_1)^s)
- (C^{(1)} = g^s)
- (C^{(2)}_i = (g_1)^{\lambda_i}F(\rho(i))^{-s})
- (C^{(3)} = (v \prod_{j \in S} g_{n + 1 - j})^s)
-
密钥生成(KeyGen)
:
- 输入用户索引 (ID \in U) 和属性集 (\psi \subseteq N) 。
- 随机选择 (r \in Z_p) 。
-
私钥 (sk = \left{D^{(1)}, D^{(2)}, {D^{(3)}
x}
{x \in \psi}\right}) ,其中:
- (D^{(1)} = g^{\alpha ID \gamma + \alpha r})
- (D^{(2)} = g^r)
- (D^{(3)}_x = F(x)^r)
-
解密(Decrypt)
:
- 假设属性集 (\psi) 满足访问结构 ((M, \rho)) 且用户索引 (ID \in S) 。
- 计算重建常数 ({(i, \mu_i)}_{i \in I_s} = Recon(M, \rho)(\psi)) ,其中 (I_s = {i| \rho(i) \in \psi}) 。
- 计算 (K = \frac{e(g^{ID}, C^{(3)})}{e(\prod_{j \in S, j \neq ID} g_{n + 1 - j + ID}, C^{(1)})} \cdot \frac{\prod_{i = 1}^{\ell_s} \left(e(C^{(2)} i, D^{(2)}) \cdot e(C^{(1)}, D^{(3)} {\rho(i)})\right)^{\mu_i}}{e(C^{(1)}, D^{(1)})}) 。
- 消息 (M = C / K) 。
2.2 BKP - ABE2 方案
-
设置(Setup)
:
- 随机选择生成元 (g, v, h_0, \cdots, h_{m’} \in G) 和随机数 (\alpha, b \in Z_p)。
- 公钥 (pk = \left{g, g^b, g^{b^2}, v, v^b, h_0, \cdots, h_{m’}, e(g, g)^{\alpha}\right}) ,主密钥 (msk = (\alpha, b))。
- 定义函数 (F : Z_p \to G) 为 (F(x) = \prod_{j = 0}^{m’} h_j^{(x^j)})。
-
加密(Encrypt)
:
- 输入用户索引集 (S \subseteq U) 和属性集 (\omega \subseteq N) ,令 (R = U \setminus S) ,(R = {ID_1, \cdots, ID_r})。
- 随机选择 (s \in Z_p) ,选择随机数 (s_1, \cdots, s_r \in Z_p) 使得 (s = s_1 + \cdots + s_r)。
-
密文 (ct = \left{C, C^{(1)}, {C^{(2)}
k}
{k \in \omega}, {C^{(3)}
j}
{j \in [1, r]}, {C^{(4)}
j}
{j \in [1, r]}\right}) ,其中:
- (C = M \cdot (e(g, g)^{\alpha})^s)
- (C^{(1)} = g^s)
- (C^{(2)}_k = F(k)^s)
- (C^{(3)}_j = g^{b \cdot s_j})
- (C^{(4)}_j = (g^{b^2 \cdot ID_j}v)^{s_j})
-
密钥生成(KeyGen)
:
- 输入用户索引 (ID \in U) 和线性秘密共享访问结构 ((N, \pi) \in ALSSS) 。
- 随机选择 (t, z_2, \cdots, z_{k_o} \in Z_p) ,令 (v = (\alpha + b^2t, z_2, \cdots, z_{k_o}))。
- 对于 (i = 1) 到 (\ell_o) ,计算 (\sigma_i = N_i \cdot v) ,其中 (N_i) 是 (N) 的第 (i) 行向量。
- 随机选择 (r_1, \cdots, r_{\ell_o} \in Z_p) 。
-
私钥 (sk = \left{ {D^{(1)}
i}
{i \in [1, \ell_o]}, {D^{(2)}
i}
{i \in [1, \ell_o]}, D^{(3)}, D^{(4)}\right}) ,其中:
- (D^{(1)}_i = g^{\sigma_i}F(\pi(i))^{r_i})
- (D^{(2)}_i = g^{r_i})
- (D^{(3)} = (g^{b \cdot ID}v)^t)
- (D^{(4)} = g^t)
-
解密(Decrypt)
:
- 假设属性集 (\omega) 满足访问结构 ((N, \pi)) 且用户索引 (ID \in S) 。
- 计算重建常数 ({(i, \nu_i)}_{i \in I_o} = Recon(N, \pi)(\omega)) ,其中 (I_o = {i| \pi(i) \in \omega}) 。
- 计算 (K = \prod_{i = 1}^{\ell_o} \left(\frac{e(D^{(1)} i, C^{(1)})}{e(C^{(2)} {\pi(i)}, D^{(2)} i)}\right)^{\nu_i} \cdot \prod {j = 1}^{r} \left(\frac{e(D^{(4)}, C^{(4)}_j)}{e(D^{(3)}, C^{(3)}_j)}\right)^{\frac{1}{ID - ID_j}}) 。
- 消息 (M = C / K) 。
2.3 BCP - ABE1 和 BCP - ABE2 方案
这两个方案分别是 Boneh - Gentry - Waters 广播加密与 Waters 密文策略属性基加密(CP - ABE)的组合,以及 Sahai - Waters 广播加密与 Waters CP - ABE 的组合。它们的构造与上述方案类似,只是在具体参数和计算上有所不同。
3. 安全性证明
3.1 安全性证明思路
由于每个系统基于两个底层方案的组合,安全性证明基于两个基础假设中更强的假设。需要从更强的假设中提取出另一个(较弱)基础假设的问题实例,以便在原语的相应部分嵌入该较弱假设。
3.2 假设总结
| 方案 | 广播加密(BE) | 属性基加密(ABE) | 提取的假设 |
|---|---|---|---|
| BKP - ABE1 | BGW[8] BDHE | GPSW[16] BDH | ((g^s, g^{\alpha}, g^{\alpha q}, Z \stackrel{?}{=} e(g, g)^{\alpha q + 1 s})) |
| BKP - ABE2 | SW[22] MEBDH | GPSW[16] BDH | ((g^s, g^{a_1^2}, g^{\alpha / a_1^2}, Z \stackrel{?}{=} e(g, g)^{\alpha s})) |
| BCP - ABE1 | BGW[8] BDHE | W[23] BDHE | 无 |
| BCP - ABE2 | SW[22] MEBDH | W[23] BDHE | ((g^s, \forall_{1 \leq i, j \leq q; i \neq j} g^{a_i^2}, g^{\alpha / a_i^2}, g^{\alpha a_i^2 / a_j^2}, Z \stackrel{?}{=} e(g, g)^{\alpha s})) |
4. 密钥委托
4.1 BKP - ABE1 方案的密钥委托
支持 (sk(\top, \top) \to sk(ID, \top) \to sk(ID, (N, \pi))) 类型的委托。
- 从主密钥 (msk = sk(\top, \top)) 计算 (sk(ID, \top) = g^{(\alpha ID \gamma)})。
- 将 (sk(ID, \top)) 委托给 (sk(ID, (N, \pi)) = \left{ {D^{(1)}
i}
{i \in [1, \ell_o]}, {D^{(2)}
i}
{i \in [1, \ell_o]}\right}) :
- 随机选择 (z_2, \cdots, z_{k_o}, r_1, \cdots, r_{\ell_o} \in Z_p) 。
- (D^{(1)}
i = \left[sk(ID, \top)\right]^{N
{i, 1}} g^{\sum_{j = 2}^{k_o} N_{i, j} z_j} F(\pi(i))^{r_i}) ,(D^{(2)}_i = g^{r_i})。
4.2 BKP - ABE2 方案的密钥委托
支持 (sk(\top, \top) \to sk(ID, \top) \to sk(ID, (N, \pi))) 和 (sk(\top, \top) \to sk(\top, (N, \pi)) \to sk(ID, (N, \pi))) 两种类型的委托。具体委托过程较为复杂,这里不再详细展开。
5. 效率分析
5.1 效率比较表
| 方案 | 密文大小(|cipher|) | 私钥大小(|priv|) | 公钥大小(|pub|) |
| ---- | ---- | ---- | ---- |
| OSW [20] | ((2t + 1) + O(r)) | ((2k + 2) \cdot (\log n)) | ((3^{\dagger} \cdot \log n) + O(n)) |
| BCP - ABE1 | ((t + 1) + 1) | ((k + 2)) | ((m + \ell + 3)^{\dagger} + (2n - 1)) |
| BKP - ABE1 | ((k + 1) + 1) | ((2t)) | ((m + 4) + (2n - 2)) |
| BCP - ABE2 | ((t + 1) + 2r) | ((k + 2) + 2) | ((m + \ell + 3)^{\dagger} + 4) |
| BKP - ABE2 | ((k + 1) + 2r) | ((2t) + 2) | ((m + 4) + 3^{\dagger}) |
5.2 效率总结
- BKP - ABE1 方案的密文和私钥大小与原始(不可撤销)KP - ABE 方案几乎相同,但公钥大小与 (n) 呈线性关系。
- BKP - ABE2 方案将公钥大小降低到与原始 KP - ABE 几乎相同,而密文仅需额外的 (2r) 个群元素。
- 这些方案比之前的 OSW 方案更高效,并且可以通过使用随机预言机进一步改进,将公钥大小减少 (m) 个元素。
6. 总结
本文介绍了几种广播属性基加密方案,包括它们的构造、加密解密过程、安全性证明、密钥委托和效率分析。这些方案在数据安全和访问控制方面具有重要应用价值,为解决实际问题提供了有效的解决方案。未来,随着技术的发展,这些方案可能会在更多领域得到应用和改进。
7. 方案流程可视化
7.1 BKP - ABE1 方案流程
graph LR
classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px;
A([开始]):::startend --> B(设置):::process
B --> C(加密):::process
C --> D(密钥生成):::process
D --> E{属性集和索引是否满足条件}:::decision
E -- 是 --> F(解密):::process
E -- 否 --> G([结束]):::startend
F --> G
7.2 BKP - ABE2 方案流程
graph LR
classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px;
A([开始]):::startend --> B(设置):::process
B --> C(加密):::process
C --> D(密钥生成):::process
D --> E{属性集和索引是否满足条件}:::decision
E -- 是 --> F(解密):::process
E -- 否 --> G([结束]):::startend
F --> G
8. 应用场景分析
8.1 多用户数据共享场景
在企业或组织中,存在大量的数据需要在不同用户之间共享。广播属性基加密方案可以根据用户的属性(如部门、职位等)和访问策略,对数据进行加密和解密。例如,只有特定部门的员工才能访问某些敏感数据,通过设置相应的属性和访问结构,可以确保数据的安全性和隐私性。
8.2 物联网设备安全通信场景
在物联网环境中,大量的设备需要进行安全通信。广播属性基加密方案可以根据设备的属性(如类型、位置等)和访问策略,对设备之间的通信数据进行加密和解密。例如,只有特定区域内的设备才能与中心服务器进行通信,通过设置相应的属性和访问结构,可以确保通信的安全性和可靠性。
9. 技术挑战与展望
9.1 技术挑战
- 计算复杂度 :随着用户数量和属性数量的增加,加密和解密的计算复杂度会显著提高,可能会影响系统的性能。
- 密钥管理 :密钥的生成、分发和更新是一个复杂的过程,需要确保密钥的安全性和有效性。
- 安全性证明 :虽然目前的方案已经进行了安全性证明,但随着攻击技术的发展,需要不断验证和改进方案的安全性。
9.2 展望
- 优化算法 :通过优化加密和解密算法,降低计算复杂度,提高系统的性能。
- 智能密钥管理 :利用人工智能和机器学习技术,实现智能密钥管理,提高密钥的安全性和有效性。
- 跨领域应用 :将广播属性基加密技术应用到更多领域,如医疗、金融等,为这些领域的数据安全和访问控制提供支持。
10. 总结与建议
10.1 总结
本文详细介绍了几种广播属性基加密方案,包括 BKP - ABE1、BKP - ABE2、BCP - ABE1 和 BCP - ABE2 方案。这些方案在构造、加密解密过程、安全性证明、密钥委托和效率分析等方面都有各自的特点。通过对这些方案的研究和分析,可以为数据安全和访问控制提供有效的解决方案。
10.2 建议
- 根据实际需求选择方案 :在实际应用中,需要根据用户数量、属性数量、计算资源等因素,选择合适的广播属性基加密方案。
- 关注技术发展 :随着技术的不断发展,广播属性基加密技术也在不断进步。需要关注最新的研究成果,及时应用到实际系统中。
- 加强安全防护 :在使用广播属性基加密方案时,需要加强安全防护,确保密钥的安全性和有效性,防止数据泄露和攻击。
总之,广播属性基加密技术在数据安全和访问控制方面具有重要的应用价值。通过不断研究和改进这些方案,可以为解决实际问题提供更加有效的解决方案。
超级会员免费看
9633

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



