基于ABE的ICN内容访问控制
1. 解密算法
解密算法如下:
Algorithm 11.6 Decrypt
1: Start from the public attribute APub;
2: For each attribute An that the decryptor possesses, compute:
Zn,UIDdec ·e(Xn,UIDdec,(C1,n)knC3,n)
e(Yn,(C2,n)knC3,n)
= e(ϕ,ψ)rUIDdec(In−1);
3: If e(ϕ,ψ)rUIDdec(In−1) is the decryptor’s private key, go to step 2 with attribute An−1; else
go to step 4;
4: Calculate
Sk = C/(e(C′,DUID)/e(ϕ,ψ)rUIDdec(In−1)).
if DecSk(C′′) == ROOT, Success; else Failure.
2. 属性排名
该ABE方案扩展了传统ABE方案的功能,能够支持同一属性值之间的比较。例如,在职业属性中,“医生”和“护士”两个属性值可以进行比较,且存在“医生 > 护士”的关系,即医生属性包含了护士的所有特权,而护士没有医生的额外特权。
在传统ABE解决方案中,同一属性的不同值对应的加密组件是相互独立的。而本方案通过在密钥生成算法中故意分配适当的值来实现属性排名功能。以职业属性为例,为医生分配$h_P$,为护士分配$h_N$,使得$h_P = h^{\alpha_P}$,$h_N = h^{\alpha_N}$,其中$h \in Z_{n’}^*$,且$\alpha_P < \alpha_N$。这样,很容易推导出$S_P = \phi h_P$和$S_N = \phi h_N$。
若用户被分配了医生的密钥$S_P = \phi h^{\alpha_P}$,只要$\alpha_P < \alpha_N$,该用户就可以计算出护士的对应密钥$S_N$:
$S_N = \phi h^{\alpha_N} = (\phi h^{\alpha_P})h^{\alpha_N - \alpha_P} = (S_P)h^{\alpha_N - \alpha_P}$
但如果用户只有护士属性,由于$\alpha_P - \alpha_N < 0$,在RSA假设下,由于$n’$的保密性,无法高效计算$h^{-1}$,所以无法推导出医生的密钥。
TTP可以在密钥生成算法中为用户分配$\Delta h$和$\Delta r$两个值,用户后续可以根据这些值推导出对应护士属性的密钥。修改后的密钥生成步骤3如下:
$X_{P,UID} = \phi^{r_{UID}}S_P^{r_P}$
$Y_P = \phi^{r_P}$
$Z_{P,UID} = e(\phi, \psi)^{r_{UID}I_P}$
$L_{UID} = T^{1/P_{UID}^{Pub}}$
$\Delta h = h^{(\alpha_N - \alpha_P)r_P}$
$\Delta r = \Delta hI_N/I_P$
用户UP的护士属性的$r_{UID}$变为$r’
{UID} = r
{UID}\Delta h$,相应地可以计算出:
$X_{N,UID} = (X_{P,UID})^{\Delta h} = \phi^{r_{UID}\Delta h}S_N^{r_P} = \phi^{r’
{UID}}S_N^{r_P}$
$Y_N = Y_P$
$Z
{N,UID} = (Z_{P,UID})^{\Delta r} = (e(\phi, \psi)^{r_{UID}I_P})^{\Delta hI_N/I_P} = e(\phi, \psi)^{r_{UID}\Delta hI_P} = e(\phi, \psi)^{r’
{UID}I_P}$
$L’
{UID} = L_{UID}$
需要注意的是,为确保两个可比较属性的$h$值相同,可比较属性需要由同一权威机构管理。
3. 在ICN中应用基于ABE的命名方案
使用该命名方案,在ICN场景中可以实现以下功能:
- 内容所有者无需了解消费者的密钥即可指定访问控制策略。
- 策略机密性可得到充分保护,防止泄露给攻击者。
- 强制消费者逐步暴露属性,以高效确定其访问资格。
- 支持灵活的属性管理。
发布数据内容的步骤如下:
1. 内容所有者首先创建一个随机对称密钥$K$。
2. 使用$K$对要发布的数据进行加密,得到密文$C$。
3. 利用密文$C$生成元数据。
4. 内容所有者指定属性访问策略$P$,以确定合法消费者应满足的属性要求。
5. 使用该策略按照加密算法对$K$进行加密,加密结果作为内容名称。
4. 性能分析与评估
性能评估从计算和通信两方面进行,包括实际实现和复杂度分析。
4.1 命名方案评估
从性能方面评估ABE - 基于的命名方案,包括计算和通信(存储)开销分析。计算消耗分析通过与现有ABE方案进行比较,通信比较分别针对内容名称和内容本身进行。
4.2 实际实现
使用具有四核2.80 GHz处理器和4 GB内存的Ubuntu 10.04机器进行实验,使用基于配对的密码学(PBC)库处理配对计算。生成一个A1型曲线进行测试,随机生成的素数长度为512位。
对密钥生成、加密和解密操作分别运行十次,策略设置为不同数量属性的合取子句。实验结果表明,理论上时间消耗应与属性数量呈线性关系,但实际曲线并非完全线性,这是由于初始化全局参数、文件读写、内存分配和释放等操作的时间消耗与属性数量有关但并非严格成比例,以及解密算法步骤4中的额外配对操作等因素导致。
4.3 复杂度比较
为进行比较,对每个原子操作测试五十次,取平均值作为基准。实验结果显示,配对操作耗时最长,因此比较指标设定为解密过程中的配对操作数量。
相关术语定义如下:
- $N_{attr}$:消费者拥有的属性数量。
- $N_{all}$:网络中定义的属性总数,$N_{all} \gg N_{attr}$。
- ICN - ABE:本文提出的命名方案。
不同方案的解密计算成本比较如下表所示:
| 方案 | 隐藏策略 | 配对操作数量 |
| ---- | ---- | ---- |
| CP - ABE | 否 | $2N_{invo} + 1$ 或 0 |
| CN | 否 | $N_{all} + 1$ 或 0 |
| NYO | 是 | $2N_{attr} + 1$ |
| YRL | 是 | $2N_{attr} + 2$ |
| GIE | 是 | $3N_{invo}$ 或 $3N_{part}$ |
| ICN - ABE | 是 | $2N_{invo} + 1$ 或 $2N_{part}$ |
通信成本方面,比较了内容名称的大小。在PBC库中,使用8字节的数据结构元素表示一个元素,本文方案的网络名称需要24字节的存储空间。与其他方案相比,本文方案的名称大小较小,能够适应现有的ICN解决方案。
不同方案的密文大小比较如下表所示:
| 方案 | 密文大小 |
| ---- | ---- |
| CP - ABE | $1G_1 + (2N_{ciph} + 1)G_0$ |
| CN | $1G_1 + (N_{all} + 1)G_0$ |
| NYO | $\geqslant 1G_1 + (2N_{all} + 1)G_0$ |
| YRL | $1G_1 + (3N_{all} + 3)G_0$ |
| GIE | $N_{ciph}G_1 + 3N_{ciph}G_0$ |
| ICN - ABE | $1G_1 + (2N_{ciph} + 4)G_0 + N_{ciph}Z_p$ |
5. 安全分析
从安全角度分析方案的强度,基于攻击模型进行评估。
5.1 安全定理
定理11.1:设$G_0$和$G_1$如前文定义,对于任何攻击者A,其在安全挑战游戏中获得的优势是可忽略的。
证明思路:证明攻击者无法破解加密算法以暴露任何数据,并且无法进行合谋攻击。因为如果合谋攻击可行,攻击者在安全游戏中可以克服单个用户无法满足策略的限制,仍然解密出秘密信息,从而获得不可忽略的优势。
5.2 ABE安全模型
命名方案可以建模为挑战者和攻击者之间的游戏,游戏包括以下五个步骤:
1.
设置
:挑战者运行全局设置算法,返回全局参数给攻击者。
2.
阶段1
:攻击者可以以多个不同用户的名义向挑战者请求一定数量的属性密钥。挑战者为每个涉及的用户运行节点加入算法,返回相应的秘密信息。攻击者扮演这些用户向挑战者请求属性,挑战者运行权威设置算法创建权威参数,并运行密钥生成算法生成相应的属性密钥。
3.
挑战
:攻击者向挑战者提供两条消息$M_0$和$M_1$以及一个访问策略$A$,且挑战者创建的用户中没有满足策略$A$的属性。挑战者抛硬币$b$,使用策略$A$对$M_b$进行加密:
$C =
\begin{cases}
e(\phi, \psi)^{\alpha s} & \text{if } b = 1 \
e(\phi, \psi)^{\theta} & \text{if } b = 0
\end{cases}$
然后将密文发送给攻击者。
4.
阶段2
:攻击者可以向挑战者请求更多属性和用户,但如果任何单个用户能够获得满足策略$A$的属性组合,挑战者将中止游戏。
graph TD;
A[设置] --> B[阶段1];
B --> C[挑战];
C --> D[阶段2];
综上所述,本文提出的基于ABE的ICN内容访问控制方案在属性排名、性能和安全等方面具有一定的优势,能够满足ICN场景下的内容访问控制需求。
基于ABE的ICN内容访问控制(续)
6. 解密过程中的属性暴露分析
在解密过程中,攻击者若想获取额外属性信息,会在遇到自己不拥有的第一个属性$A_k$时停止。因为若攻击者能得知这个额外属性,必然是从算法11.6的步骤3中获取,这意味着攻击者拥有该属性的秘密密钥$Z_{i,UID}$,这与攻击者不拥有该属性的假设相矛盾。
7. 方案优势总结
- 属性排名灵活性 :该方案通过巧妙的密钥分配机制,实现了同一属性不同值之间的排名比较,如医生和护士属性。高排名用户(医生)可合法推导低排名角色(护士)的密钥组件,而低排名角色无法推导高排名角色的密钥,且此过程对TTP工作量影响小,仅符合条件的用户可使用该功能。
- 访问控制便捷性 :在ICN场景中,内容所有者无需提前了解消费者密钥即可指定访问控制策略,策略机密性得到保护,消费者可逐步暴露属性以确定访问资格,同时支持灵活的属性管理。
-
性能优越性
:
- 计算性能 :与现有ABE方案相比,在解密过程中所需的配对操作数量具有竞争力,如在不同属性数量情况下,ICN - ABE的计算成本与其他方案对比表现良好。
- 通信性能 :内容名称的存储空间较小,能够适应现有的ICN解决方案,密文大小在支持匿名性的方案中也具有优势。
- 安全性保障 :通过安全定理证明攻击者在安全挑战游戏中获得的优势可忽略,无法破解加密算法和进行合谋攻击,同时在解密过程中能有效防止攻击者获取额外属性信息。
8. 实际应用建议
- 属性管理 :确保可比较属性由同一权威机构管理,以保证属性排名功能的正常实现。例如在医疗场景中,医院作为权威机构统一管理职业属性(医生、护士等)。
- 密钥分配 :TTP在分配密钥时,可根据实际情况决定是否将$h^{\alpha_N - \alpha_P}$等相关值分配给高排名用户,以便其在需要时推导低排名角色的密钥。
- 性能优化 :在实际应用中,可根据不同场景的属性数量和访问需求,选择合适的加密和解密策略,以进一步优化计算和通信性能。
9. 未来发展展望
随着ICN技术的不断发展和应用场景的日益复杂,基于ABE的内容访问控制方案还有进一步的发展空间。例如,可以进一步研究如何在保证安全性和性能的前提下,支持更复杂的属性关系和访问策略;探索如何与其他安全技术相结合,提供更全面的安全保障;以及如何优化方案以适应大规模网络环境下的高效应用等。
| 方面 | 优势 |
|---|---|
| 属性排名 | 支持同一属性值比较,高排名用户可推导低排名角色密钥,TTP工作量小 |
| 访问控制 | 所有者无需提前了解消费者密钥,策略机密性好,支持属性逐步暴露和灵活管理 |
| 计算性能 | 解密配对操作数量有竞争力 |
| 通信性能 | 内容名称和密文存储空间小 |
| 安全性 | 攻击者优势可忽略,防止合谋攻击和额外属性信息泄露 |
graph LR;
A[属性管理] --> B[实际应用];
C[密钥分配] --> B;
D[性能优化] --> B;
B --> E[未来发展];
总之,基于ABE的ICN内容访问控制方案为ICN场景下的内容安全访问提供了一种有效的解决方案,具有良好的性能和安全性,同时在实际应用和未来发展中具有广阔的潜力。
超级会员免费看
21

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



