29、基于ABE的ICN内容访问控制

基于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场景下的内容安全访问提供了一种有效的解决方案,具有良好的性能和安全性,同时在实际应用和未来发展中具有广阔的潜力。

基于数据驱动的 Koopman 算子的递归神经网络模型线性化,用于纳米定位系统的预测控制研究(Matlab代码实现)内容概要:本文围绕“基于数据驱动的Koopman算子的递归神经网络模型线性化”展开,旨在研究纳米定位系统的预测控制方法。通过结合数据驱动技术与Koopman算子理论,将非线性系统动态近似为高维线性系统,进而利用递归神经网络(RNN)建模并实现系统行为的精确预测。文中详细阐述了模型构建流程、线性化策略及在预测控制中的集成应用,并提供了完整的Matlab代码实现,便于科研人员复现实验、优化算法并拓展至其他精密控制系统。该方法有效提升了纳米级定位系统的控制精度与动态响应性能。; 适合人群:具备自动控制、机器学习或信号处理背景,熟悉Matlab编程,从事精密仪器控制、智能制造或先进控制算法研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①实现非线性动态系统的数据驱动线性化建模;②提升纳米定位平台的轨迹跟踪与预测控制性能;③为高精度控制系统提供可复现的Koopman-RNN融合解决方案; 阅读建议:建议结合Matlab代码逐段理解算法实现细节,重点关注Koopman观测矩阵构造、RNN训练流程与模型预测控制器(MPC)的集成方式,鼓励在实际硬件平台上验证并调整参数以适应具体应用场景。
提供了一套完整的基于51单片机的DDS(直接数字频率合成)信号波形发生器设计方案,适合电子爱好者、学生以及嵌入式开发人员学习和实践。该方案详细展示了如何利用51单片机(以AT89C52为例)结合AD9833 DDS芯片来生成正弦波、锯齿波、三角波等多种波形,并且支持通过LCD12864显示屏直观展示波形参数或状态。 内容概述 源码:包含完整的C语言编程代码,适用于51系列单片机,实现了DDS信号的生成逻辑。 仿真:提供了Proteus仿真文件,允许用户在软件环境中测试整个系统,无需硬件即可预览波形生成效果。 原理图:详细的电路原理图,指导用户如何连接单片机、DDS芯片及其他外围电路。 PCB设计:为高级用户准备,包含了PCB布局设计文件,便于制作电路板。 设计报告:详尽的设计文档,解释了项目背景、设计方案、电路设计思路、软硬件协同工作原理及测试结果分析。 主要特点 用户交互:通过按键控制波形类型和参数,增加了项目的互动性和实用性。 显示界面:LCD12864显示屏用于显示当前生成的波形类型和相关参数,提升了项目的可视化度。 教育价值:本资源非常适合教学和自学,覆盖了DDS技术基础、单片机编程和硬件设计多个方面。 使用指南 阅读设计报告:首先了解设计的整体框架和技术细节。 环境搭建:确保拥有支持51单片机的编译环境,如Keil MDK。 加载仿真:在Proteus中打开仿真文件,观察并理解系统的工作流程。 编译与烧录:将源码编译无误后,烧录至51单片机。 硬件组装:根据原理图和PCB设计制造或装配硬件。 请注意,本资源遵守CC 4.0 BY-SA版权协议,使用时请保留原作者信息及链接,尊重原创劳动成果。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值