26、基于属性的加密与访问控制技术解析

基于属性的加密与访问控制技术解析

1. 数据处理与上传流程

数据所有者(DO)会运行Quine - McCluskey算法,将函数 ( f_S ) 简化为最小和积表达式 ( f_{min}^S )。在简化过程中,对于那些当前未分配给任何DO的ID,可以考虑使用无关值 ( * ),以进一步减少隶属函数中乘积项的数量。例如,若 ( S = {000, 001, 011, 111} ),则 ( f_{min}^S = b_0b_1 + b_1b_2 )。

最后,DO将数据块和控制块上传到服务提供商(SSP)。其中,每个数据块由数据加密密钥(DEK)加密,而DEK则由控制块中的访问策略保护。

2. 数据更新处理

2.1 访问策略改变时的数据更新

  • 无关联控制块 :若最新访问策略没有关联的控制块,即自最新访问策略更改事件后未发生数据更新,DO会使用隐私保护密文策略基于属性的加密(PP - CP - ABE)对与最新访问策略关联的新随机DEK进行加密,并在文件末尾附加一个新的控制块。
  • 存在关联控制块 :若存在与最新访问策略关联的控制块,即至少有一个数据块已使用最新访问策略进行加密,DO可以简单地将控制块指针重定向到与最新访问策略关联的控制块。
  • 无指向的控制块 :若某个控制块没有被任何数据块指向,则应删除该控制块。

2.2 访问策略不变时的数据更新

若访问策略无需更改,DO可以直接执行PP - CP - ABE方案,并将更新后的数据块上传到SSP。数据块的ID和控制块指针保持不变。

3. 性能评估 - 安全评估

3.1 安全假设

PP - CP - ABE方案的安全性基于两个基本假设:联合决策双线性Diffie - Hellman(Co - DBDH)假设和决策线性Diffie - Hellman(DLDH)假设。给定一个双线性映射群系统 ( S = (p, G, G_T, e(\cdot, \cdot)) ),其中两个群 ( G ) 和 ( G_T ) 具有素数阶 ( p )。

3.2 对自适应选择明文攻击的安全性

可以证明,基于Co - DBDH假设,PP - CP - ABE方案对自适应选择明文攻击(IND - CPA)是安全的。

定理:设 ( E ) 是一个PP - CP - ABE方案。若Co - DBDH在群 ( G ) 上是 ( (t, q, \varepsilon) ) 难的,则PP - CP - ABE方案对自适应选择明文攻击(IND - CPA)是 ( (t’, q’, \varepsilon’) ) 安全的,其中 ( \varepsilon’ > \varepsilon/4 ), ( q = q’ ) 且 ( t’ > t )。

3.3 抗共谋攻击的安全性

ESP、DSP和SSP是不可信但诚实的服务提供商,它们可能会进行共谋攻击。然而,基于秘密共享的安全性和离散对数问题(DLP)的难度,即使ESP和DSP共谋,也无法推导出 ( e(g, g)^{\alpha s_2} ) 或 ( e(g, g)^{\alpha s} )。

定理:设 ( E ) 是一个PP - CP - ABE方案。若DLDH在群 ( G ) 上是 ( (t, q, \varepsilon) ) 难的,则PP - CP - ABE方案对盲密钥攻击是 ( (t, q, \varepsilon) ) 安全的。

4. 性能评估 - 计算开销分析

4.1 加密卸载的计算开销

操作 ESP 用户
Exp G0/G1 2a1/0 3/1
Mul G1 0 1
Hash to G0 a1 1

注: ( a_1 ) 是访问策略 ( T_{ESP} ) 中的属性数量。

4.2 解密卸载的计算开销

操作 DSP 用户
Exp G1 a1 1
Mul G1 2a1 2
Inv G1 a1 1
Pairing 2a1 + 1 0

注: ( a_1 ) 是访问策略 ( T_{ESP} ) 中的属性数量。

4.3 不同设备的计算时间

设备 配对(Pairing) Exp G0 Mul G0
PC (1GHZ CPU) 20 ms 5 ms 0.7 ms
Pocket PC (600 MHZ CPU) 550 ms 177 ms 26 ms
传感器 (8×8MHZ) 31250 ms 10720 ms 196 ms

从上述分析可以看出,服务提供商(ESP和DSP)的计算开销是线性的,而用户的计算开销是常数。在所有操作中,配对和椭圆曲线密码学(ECC)操作的计算量最大。实验结果表明,若不进行卸载,资源受限的设备很难执行这些操作。通过PP - CP - ABE方案,可以将大部分计算开销从用户卸载到服务提供商。

5. 存储性能分析

5.1 不同方案的存储开销比较

方案 密文存储开销(单数据接收者) 密文存储开销(多数据接收者) 密钥存储开销(TA) 密钥存储开销(用户)
ABDS O(logN) ≈O(log²N) O(1) O(logN)
Subset - Diff O(t² · log²t · logN) O(t² · log²t · logN) O(N) O(t logt logN)
BGW1 O(1) O(1) N/A O(N)
BGW2 O(N^(1/2)) O(N^(1/2)) N/A O(N^(1/2))
ACP O(N) O(N) O(N) O(1)

注: ( N ) 是系统中的用户总数, ( t ) 是为破解密文而勾结的最大用户数。

5.2 ABDS的存储优势

与广播加密方案相比,ABDS大大降低了可信机构(TA)和用户设备的密钥存储开销。在ABDS中,公钥(PK)和主密钥(MK)的大小是常数。用户只需存储 ( log(N) ) 位的属性分配信息。

虽然DO可能需要数据接收者的ID列表以及无关ID列表来进行布尔函数最小化,但这不会带来额外的存储开销。例如,数据发布者在广播后无需存储接收者的ID,从而可以释放存储空间;TA可以定期发布所有无关ID的最小化和积表达式,供数据发布者进一步减少消息数量。

综上所述,PP - CP - ABE方案和基于属性的数据存储(ABDS)系统在安全性、计算开销和存储开销方面都具有良好的性能,能够有效保护用户的加密数据,并实现信息理论上的最优。

6. 整体流程总结

graph LR
    classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px

    A([开始]):::startend --> B(数据处理):::process
    B --> C(数据上传):::process
    C --> D{数据更新?}:::process
    D -->|是| E{访问策略改变?}:::process
    E -->|是| F(按策略改变更新):::process
    E -->|否| G(按策略不变更新):::process
    D -->|否| H(性能评估):::process
    F --> H
    G --> H
    H --> I([结束]):::startend

这个流程图展示了整个过程的主要步骤,从数据处理开始,经过上传、更新等环节,最后进行性能评估。数据更新环节根据访问策略是否改变分为两种不同的处理方式。

7. 数据处理与上传详细解析

7.1 Quine - McCluskey算法简化

在数据处理阶段,使用Quine - McCluskey算法将函数 ( f_S ) 简化为最小和积表达式 ( f_{min}^S )。具体操作如下:
1. 确定集合 ( S ),例如 ( S = {000, 001, 011, 111} )。
2. 分析集合中元素的特征,找出可以合并的项。
3. 对于未分配的ID,使用无关值 ( * ) 进一步减少乘积项数量。
4. 最终得到简化后的表达式,如 ( f_{min}^S = b_0b_1 + b_1b_2 )。

7.2 数据上传流程

数据处理完成后,DO将数据块和控制块上传到SSP,具体步骤如下:
1. 生成数据加密密钥(DEK),用于加密数据块。
2. 使用PP - CP - ABE方案,根据访问策略保护DEK。
3. 将加密后的数据块和包含访问策略及保护后的DEK的控制块上传到SSP。

8. 数据更新操作详解

8.1 访问策略改变时的数据更新步骤

  • 无关联控制块情况
    1. 生成与最新访问策略关联的新随机DEK。
    2. 使用PP - CP - ABE对新DEK进行加密。
    3. 在文件末尾附加一个新的控制块,包含加密后的DEK和访问策略。
  • 存在关联控制块情况
    1. 查找与最新访问策略关联的控制块。
    2. 将控制块指针重定向到该控制块。
  • 无指向的控制块处理
    1. 检查所有控制块,找出没有被任何数据块指向的控制块。
    2. 删除这些无指向的控制块。

8.2 访问策略不变时的数据更新步骤

  1. 执行PP - CP - ABE方案,对更新后的数据块进行加密。
  2. 将更新后的数据块上传到SSP,保持数据块的ID和控制块指针不变。

9. 安全评估深入分析

9.1 Co - DBDH假设下的安全性证明

为了证明PP - CP - ABE方案对自适应选择明文攻击(IND - CPA)的安全性,采用反证法。假设存在一个概率多项式时间(PPT)算法 ( A ) 可以以不可忽略的概率 ( \varepsilon ) 破解该方案,即 ( Adv_{IND - CPA}^A(E) > \varepsilon )。通过构造一个PPT算法 ( B ) 来破解Co - DBDH问题,具体步骤如下:
1. Setup阶段
- 设 ( G_2 = G_1^{\xi} ), ( B ) 设置 ( \alpha = a\xi ) 并选择一个随机的 ( \beta \in Z_p )。
- 生成公钥 ( PK = \langle G_0, g = G_1, h = g^{\beta} = G_1^{\beta}, e(g, g)^{\alpha} = e(G_1^a, G_2) \rangle )。
- 将公钥发送给敌手 ( A )。
2. Learning阶段
- 敌手 ( A ) 根据公钥计算相应的密文。
- 学习过程在多项式时间后停止。
- 敌手 ( A ) 随时可以向 ( B ) 进行随机预言机查询,获取 ( H(att(x)) = G_1^r ),其中 ( r ) 是随机整数。
3. Challenges阶段
- 敌手 ( A ) 选择两个等长消息 ( M_0, M_1 ) 和一个有效策略 ( T ) 作为挑战发送给 ( B )。
- ( B ) 设置 ( s = b = q_R(0) ),对策略树进行加密。
- 计算 ( eC = M_{\sigma} \cdot e(g, g)^{\alpha s} = M_{\sigma} \cdot T ), ( C = h^s = (G_1^b)^{\beta} )。
- 输出密文 ( CT = \langle T, eC, C, \forall x \in Y_{ESP} \cup Y_{DO} : C_x, C’_x \rangle )。
4. Response阶段
- 敌手 ( A ) 返回一个比特猜测 ( \sigma’ ) 给 ( B )。
- 如果 ( \sigma = \sigma’ ), ( B ) 输出 ( Y ),否则输出 ( N )。

通过分析可知,当 ( T = e(G_1, G_2)^{ab} ) 时,密文 ( CT ) 是有效密文;否则,密文 ( CT ) 是无效密文。最终得出的概率结果与Co - DBDH假设矛盾,从而证明了PP - CP - ABE方案对自适应选择明文攻击的安全性。

9.2 DLDH假设下的抗盲密钥攻击安全性证明

假设存在一个PPT算法 ( A ) 可以以不可忽略的概率 ( \varepsilon ) 从多个盲化私钥 ( { \tilde{SK} i } ) 中恢复原始密钥 ( SK ),即 ( Adv {KS - BKA}^A(E) > \varepsilon )。通过构造一个PPT算法 ( B ) 来破解DLDH问题,具体步骤如下:
1. Setup阶段
- ( B ) 设置 ( a = \frac{\alpha}{\beta} ), ( b = \frac{r}{\beta} ) 且 ( \beta = \xi_1 ),得到 ( \alpha = a\beta = a\xi_1 ) 和 ( r = b\beta = b\xi_1 )。
- 生成公钥 ( PK = \langle G_0, g = G, h = g^{\beta} = G^{\xi} = G_1, e(g, g)^{\alpha} = e(G^a, G_1) \rangle )。
- 将公钥发送给敌手 ( A )。
2. Learning阶段
- 敌手 ( A ) 根据公钥计算相应的密文 ( CT ) 并查询解密密钥。
- ( B ) 返回盲化私钥 ( \tilde{SK} i = \langle eD_i = g^{t_i(\alpha + r)/\beta} = T^{t’_i}, \forall j \in S : D_j = g^r \cdot H(j)^{r_j}, D’_j = g^{r_j} \rangle ),其中 ( t’_i ) 是随机整数 ( Z_p )。
- 学习过程在多项式时间后停止。
- 敌手 ( A ) 随时可以向 ( B ) 进行随机预言机查询,获取 ( H(att(x)) = G^k ),其中 ( k ) 是随机整数。
3. Response阶段
- 敌手 ( A ) 输出一个值 ( Z )。
- ( B ) 检查 ( e(Z, G
{\xi_2}) = e(Z, G_2) = e(T, G) ) 是否成立。
- 如果成立,返回 ( Y ),否则返回 ( N )。

通过分析可知,当 ( T = G_{\xi_2}(a + b) ) 时,盲化私钥 ( \tilde{SK}_i ) 是有效密钥;否则,敌手 ( A ) 输出的结果不满足等式。最终得出的概率结果与DLDH假设矛盾,从而证明了PP - CP - ABE方案对盲密钥攻击的安全性。

10. 性能评估综合分析

10.1 计算开销评估

从加密卸载和解密卸载的计算开销分析可以看出,服务提供商(ESP和DSP)的计算开销与访问策略 ( T_{ESP} ) 中的属性数量 ( a_1 ) 呈线性关系,而用户的计算开销是常数。这表明PP - CP - ABE方案可以将大部分计算开销从用户卸载到服务提供商。

不同设备的计算时间实验结果显示,资源受限的设备(如传感器和口袋PC)在执行配对和ECC操作时计算时间较长,若不进行卸载,很难执行这些操作。通过在PC上的实验验证,PP - CP - ABE方案可以将超过90%的加密计算和超过99%的解密计算卸载到服务提供商。

10.2 存储开销评估

不同方案的存储开销比较表格清晰地展示了ABDS在密文存储开销和密钥存储开销方面的优势。与其他方案相比,ABDS的密文存储开销在平均情况下约为 ( O(log^2 N) ),密钥存储开销对于TA是 ( O(1) ),对于用户是 ( O(logN) )。

ABDS的存储优势主要体现在以下几个方面:
1. 公钥和主密钥大小为常数,减少了系统的整体存储负担。
2. 用户只需存储 ( log(N) ) 位的属性分配信息,降低了用户设备的存储开销。
3. 数据发布者在广播后无需存储接收者的ID,释放了存储空间。
4. TA可以定期发布无关ID的最小化和积表达式,进一步减少消息数量。

综上所述,PP - CP - ABE方案和ABDS系统在安全性、计算开销和存储开销方面都具有显著的优势,能够为移动云计算中的数据安全存储和检索提供有效的解决方案。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值