基于属性集的密文策略属性基加密(CP - ASBE)技术解析
1. 引言
在加密技术领域,属性基加密(ABE)是实现细粒度访问控制的重要手段。而密文策略属性基加密(CP - ASBE)作为 ABE 的一种增强形式,通过将用户属性组织成递归集合,并允许用户对属性组合施加动态约束,为加密系统带来了更高的灵活性和实用性。本文将深入探讨 CP - ASBE 的工作原理、安全性、效率以及性能评估。
2. CP - ASBE 的基本原理
用户可以利用密钥中的 D 元素,从内部集合 i 传递性地转换到外部集合,再从一个密钥转换到另一个密钥。因此,对于每个需要支持的级别,都需要一个唯一的 β。当使用深度为 d 的密钥结构时,用于在深度为 d 的集合之间或深度为 d 的集合与其深度为 d - 1 的父集合之间进行转换的值 ˆC 将使用 βd。为了允许在给定节点进行跨多个级别的转换,需要在该节点发布使用不同 β 的多个转换值。
2.1 使用示例
以一个具体策略为例,当使用两级密钥结构时,策略可以使用阈值门表示如下:
4 OF 4
(Course > 300), (Course < 400), (Grade > 2), (Year > 2007)
其中,像
Course > 300
这样的谓词将进一步展开,使用其组成的布尔属性表示。在 CP - ASBE 中,数值属性使用位袋表示,每个布尔属性表示数值的一位。
例如,对于一个修了两门课程的用户,其密钥结构如下:
{
{Course = 304, Grade = 2, Year = 2007},
{Course = 425, Grade = 3, Year = 2008}
}
只要策略(即密文)中没有指定的转换节点,用户就无法将课程 425 的成绩和年份属性与课程 304 的属性组合起来以满足上述策略。
3. CP - ASBE 的安全性
CP - ASBE 方案的安全性证明紧密遵循 BSW CP - ABE 的证明方法,并使用了通用群和随机预言机模型。
3.1 通用双线性群
通用群 G0 具有双线性映射 e : G0 × G0 → G1,可以通过一个预言机进行建模,该预言机使用随机字符串作为两个群 G0 和 G1 中元素的句柄。具体来说,考虑一个预言机 O,它选择加法群 Fp 的两个随机编码到足够长的字符串中,即单射映射 ψ0, ψ1 : Fp → {0, 1}m,其中 m > 3 log(p)。我们将 G0 表示为 {ψ0(x)|x ∈ Fp},G1 表示为 {ψ1(x)|x ∈ Fp}。
预言机提供对两个群中群操作(这里称为乘法)的访问,例如:
- 对于形式为 (multiply0, h, h′) 的查询,返回 ψ0(ψ−10 (h) + ψ−10 (h′))。
- 对于形式为 (inverse0, h) 的查询,返回 ψ0(−ψ−10 (h))。
如果 h 或 h′ 不在 ψ0 的范围内,预言机返回 ⊥。此外,预言机还提供对两个群中单位元素 (ψ0(0), ψ1(0))、规范生成元 (ψ0(1), ψ1(1)) 的访问,以及在群中采样随机元素的能力。对于查询 (pair, h, h′),其中 h = ψ0(α) 且 h′ = ψ0(β),O 返回 h′′ = ψ1(αβ)。
为了与构造中使用的双线性群表示法相关联,我们将 ψ0(1) 表示为 g,ψ0(x) 表示为 gx,e(g, g)y 表示为 ψ1(y)。那么上述对预言机的配对查询将写为 e(gα, gβ),响应写为 e(g, g)αβ。
最后,预言机 O 还包括一个随机函数 H : {0, 1}∗ → G0,它接受形式为 (hash, a) 的查询,对于任意长的字符串 a 返回 H(a)。
3.2 安全性定理
设 O、G0、G1 和 H 如上述定义。对于在 CP - ASBE 方案的安全游戏中可以访问 O 的任何对手 A,假设 q 是它从对 O 的查询以及与 CP - ASBE 安全游戏的交互中接收到的群元素总数的上界。那么 A 在 CP - ASBE 安全游戏中的优势为 O(q2/p)。
3.3 证明直觉
假设 s 是根据加密函数中描述的访问结构 T 随机分割的秘密。设 T′ 是通过移除所有转换节点下的子树从 T 派生的访问结构,即转换节点成为叶节点。为了恢复使用访问结构 T 加密的消息,用户必须获得 e(g, g)αs。用户可以将密文中的 C = gβ1s 与密钥中的 D = g(α + r{u})/β1 配对,得到 e(g, g)αs + r{u}s,即 e(g, g)αs 被 e(g, g)r{u}s 遮蔽。用户只有在满足树的条件下,即通过获得一组可以重构 e(g, g)r{u}s 的 e(g, g)r{u}qt(0),才能消除 e(g, g)r{u}s。
可以将密钥结构中每个属性集的密钥组件看作是 BSW 方案下的唯一密钥。即,如果 r{u} 是 CP - ASBE 密钥中使用的唯一随机数,那么对应于每个集合 Ai 的密钥组件(包括转换元素)可以看作是使用主秘密密钥 (β2, gr{u}) 颁发的 BSW 密钥。此外,每个以转换节点为根的子树可以看作是 BSW 方案下的访问结构。由于 BSW 具有抗合谋性,给定的子树只能使用单个集合(即单个 BSW 密钥)中的属性来满足。因此,拥有可以满足转换节点 t 下子树的集合的用户可以获得 e(g, g)r{u}qt(0)。由于 r{u} 对于 CP - ASBE 密钥是唯一的,只有单个 CP - ASBE 密钥内集合的属性可以用于满足 T′,从而满足原始访问结构。
4. CP - ASBE 的效率分析
4.1 密钥生成效率
- 计算开销 :密钥生成算法为用户颁发的密钥中的每个属性需要进行两次指数运算,为密钥中的每个集合(对于级别大于 2 的方案,包括递归集合)需要进行两次指数运算。
- 密钥大小 :私钥每个属性包含两个群元素,每个属性集包含一个群元素。与 BSW 相比,在计算方面,每个属性集的额外密钥生成成本是两次指数运算;在大小方面,每个属性集增加一个群元素。
4.2 加密效率
- 计算开销 :加密涉及树中每个叶节点进行两次指数运算,每个转换节点进行一次指数运算。
- 密文大小 :密文每个叶节点包含两个群元素,每个转换节点包含一个群元素。与 BSW 相比,在计算方面,每个转换节点的额外成本是一次指数运算;在大小方面,每个转换节点增加一个群元素。
4.3 解密效率
解密给定密文的成本取决于用于解密的密钥。即使对于给定的密钥,也可能有多种方式满足关联的访问树。解密算法需要:
1. 对于用于满足树的每个叶节点进行两次配对。
2. 对于从使用的叶节点到根的路径上的每个转换节点进行一次配对。
3. 对于从叶节点到根的路径上的每个节点进行一次指数运算。
通过采用扁平化递归调用
DecryptNode
的优化技术(类似于 BSW 中的方法,但进行了修改以适应转换节点),可以将成本降低为:
1. 每个使用的叶节点进行两次配对和一次指数运算。
2. 从使用的叶节点到根的路径上的每个转换节点进行一次配对和一次指数运算。
与 BSW 相比,额外成本是从使用的叶节点到根的路径上每个转换节点进行一次配对和一次指数运算。在多级(级别 > 2)实例化中,开销将按转换次数计算,而不是按转换节点计算,因为在这样的实例化中,给定的转换节点可能需要多次转换。
下面是一个简单的表格总结 CP - ASBE 与 BSW 的效率对比:
| 操作 | CP - ASBE 额外计算开销 | CP - ASBE 额外大小开销 |
| ---- | ---- | ---- |
| 密钥生成 | 每个属性集两次指数运算 | 每个属性集一个群元素 |
| 加密 | 每个转换节点一次指数运算 | 每个转换节点一个群元素 |
| 解密 | 每个转换节点一次配对和一次指数运算 | - |
5. CP - ASBE 的实现
我们实现了一个两级 CP - ASBE 方案,唯一的区别是实现的解密函数进行了优化,以提高效率和性能。
实现使用了为 BSW 开发的
cpabe
工具包(http://acsc.csl.sri.com/cpabe/),该工具包使用了基于配对的密码学库(http://crypto.stanford.edu/pbc/)。
cpasbe
工具包的接口与
cpabe
工具包类似,具体如下:
-
cpasbe - setup
:生成公钥和主密钥。
-
cpasbe - keygen
:给定主密钥,为给定的属性集生成私钥;将数值属性编译为位袋表示,并将结果属性视为一个“集合”。
-
cpasbe - enc
:给定公钥,根据给定的访问策略加密文件;策略中的数值比较由包含数值属性位袋表示的访问子树表示,子树的根节点视为转换节点。
-
cpasbe - dec
:给定私钥,解密文件。
下面是一个简单的 mermaid 流程图,展示 CP - ASBE 的基本流程:
graph LR
A[cpasbe - setup] --> B[生成公钥和主密钥]
B --> C[cpasbe - keygen]
C --> D[根据主密钥和属性集生成私钥]
B --> E[cpasbe - enc]
E --> F[根据公钥和访问策略加密文件]
D --> G[cpasbe - dec]
F --> G[根据私钥解密文件]
6. CP - ASBE 的性能评估
为了评估 CP - ASBE 相对于 BSW CP - ABE 的性能开销,我们进行了一系列实验。使用随机生成的策略和关联的密钥,比较了加密、解密和密钥生成时间。
实验使用的策略是析取范式的随机生成公式,叶节点数量从 23 到 66 不等。对于每个策略,生成一组满足该策略的代表性密钥用于解密。具体来说:
1. 为策略中的每个合取子句生成一个密钥,使其满足该子句。
2. 为策略中合取子句的每个组合生成一个密钥,使其满足组合中的所有子句。
生成的密钥包含布尔属性,范围从 1 到 422,包括使用 64 位表示每个整数的位袋表示。策略的解密时间是使用为该策略生成的所有密钥的解密时间的平均值。
实验在配备四核 3.0Ghz Intel Xeon 和 2GB RAM 的 Linux 机器上运行。两种实现都使用了在 512 位域上的曲线
y2 = x3 + x
构建的 160 位椭圆曲线群。
实验结果表明:
- 密钥生成时间与密钥中的属性数量呈线性关系,CP - ASBE 相对于 BSW CP - ABE 的开销非常小。平均而言,CP - ASBE 每个数值属性(即每个集合)增加 18ms 开销,当没有数值属性时没有开销。例如,生成一个包含 2 个数值属性(总共 145 个布尔属性)的密钥,使用 BSW CP - ABE 方案需要 5 秒,使用 CP - ASBE 方案需要 5.035 秒。
- 加密时间与策略树中的叶节点数量呈线性关系,CP - ASBE 相对于 BSW CP - ABE 的开销非常小。平均而言,CP - ASBE 每个策略中的转换节点增加 8.3ms 开销。
- 解密时间取决于策略树的结构和用于解密的密钥,即使对于给定的策略大小,解密时间也有很大差异。但在这种情况下,CP - ASBE 方案相对于 BSW CP - ABE 的开销也非常小,平均为 6.7ms。
这些开销结果与我们的效率分析一致,性能数据总体上与相关研究报告的结果一致。
综上所述,CP - ASBE 通过将用户属性组织成递归集合,为加密系统带来了更高的灵活性和实用性。在安全性方面,它基于通用群和随机预言机模型,具有可证明的安全性。在效率和性能方面,虽然相对于 BSW CP - ABE 有一定的额外开销,但这些开销非常小,并且通过优化技术可以进一步降低。未来,CP - ASBE 有望在支持类似“OR 角色”和“动态互斥角色”等传统 RBAC 约束方面发挥更大的作用,同时在标准模型下的安全性设计和多权威设置的扩展也是值得研究的方向。
基于属性集的密文策略属性基加密(CP - ASBE)技术解析
7. CP - ASBE 的优势与应用场景
CP - ASBE 作为一种先进的加密技术,具有多方面的优势,这也决定了它适用于多种特定的应用场景。
7.1 优势总结
- 支持复合属性 :CP - ASBE 能够自然地支持复合属性,将相关属性组合在一起,形成更复杂的访问控制规则。例如,在一个教育系统中,可以将课程、成绩和年份等属性组合成一个复合属性,用于精确控制对学习资料的访问。
- 多值分配支持 :该技术允许在单个密钥中为给定属性分配多个数值,提供了更高的灵活性。比如在一个员工信息管理系统中,员工可能有多个不同时期的绩效评分,CP - ASBE 可以方便地处理这种情况。
- 低开销实现多功能 :通过效率分析和性能评估可知,CP - ASBE 在实现这些额外功能的同时,相对于传统的 BSW CP - ABE 方案,增加的开销非常小,保证了系统的高效运行。
7.2 应用场景分析
- 教育领域 :在在线教育平台中,CP - ASBE 可以根据学生的课程信息、成绩和学习年份等属性,实现对教学资源的细粒度访问控制。例如,只有修读特定课程且成绩达到一定标准的学生才能访问高级学习资料。
- 企业信息管理 :企业内部的文件和数据通常需要根据员工的职位、部门、项目参与情况等属性进行访问控制。CP - ASBE 可以满足这种复杂的访问需求,确保敏感信息的安全。
- 医疗行业 :医疗数据包含患者的个人信息、病历记录、诊断结果等敏感内容。CP - ASBE 可以根据医生的权限、患者的授权等属性,实现对医疗数据的安全共享和访问控制。
下面是一个简单的表格,总结 CP - ASBE 的优势和应用场景:
| 优势 | 应用场景 |
| ---- | ---- |
| 支持复合属性 | 教育领域:教学资源访问控制 |
| 多值分配支持 | 企业信息管理:文件和数据访问控制 |
| 低开销实现多功能 | 医疗行业:医疗数据安全共享 |
8. 未来研究方向
尽管 CP - ASBE 已经展现出了很多优势,但仍然有一些值得深入研究的方向。
8.1 支持类似“OR 角色”和“动态互斥角色”
在传统的基于角色的访问控制(RBAC)设置中,“OR 角色”和“动态互斥角色”是常见的约束。研究 CP - ASBE 如何支持这些类似的构造和约束,将进一步拓展其在实际应用中的范围。例如,在一个企业的项目管理系统中,员工可能需要同时满足多个角色中的任意一个才能访问某些资源,或者在不同的时间段内只能扮演一个特定的角色。
8.2 标准模型下的安全性设计
目前 CP - ASBE 的安全性证明使用了通用群和随机预言机模型。设计在标准模型下安全的高效 CP - ASBE 方案是一个重要的研究方向。标准模型下的安全性证明更加严格,能够提供更高的安全保障。
8.3 多权威设置的扩展
将 CP - ASBE 扩展到多权威设置中,可以满足更复杂的分布式系统的安全需求。在多权威环境中,不同的权威机构可以负责不同的属性管理和密钥生成,提高系统的可扩展性和管理效率。
下面是一个 mermaid 流程图,展示未来研究方向的关系:
graph LR
A[支持类似“OR 角色”和“动态互斥角色”] --> B[拓展应用范围]
C[标准模型下的安全性设计] --> D[提高安全保障]
E[多权威设置的扩展] --> F[满足分布式系统需求]
B --> G[CP - ASBE 技术发展]
D --> G
F --> G
9. 总结
CP - ASBE 是一种具有创新性和实用性的加密技术,它通过将用户属性组织成递归集合,允许用户对属性组合施加动态约束,为加密系统带来了更高的灵活性和细粒度的访问控制能力。
在安全性方面,基于通用群和随机预言机模型的证明保证了其在一定条件下的安全性。效率和性能评估表明,虽然相对于传统的 BSW CP - ABE 方案有一定的额外开销,但这些开销非常小,并且可以通过优化技术进一步降低。
未来,随着对 CP - ASBE 技术的深入研究和不断改进,它有望在更多的领域得到应用,为信息安全提供更强大的支持。同时,解决标准模型下的安全性和多权威设置的扩展等问题,将使 CP - ASBE 技术更加完善和成熟。
总之,CP - ASBE 技术为加密领域的发展开辟了新的道路,具有广阔的应用前景和研究价值。
CP-ASBE技术:灵活性与安全性的加密方案
超级会员免费看

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



