78、漫游服务认证方案及组密钥传输协议的改进与分析

漫游服务认证方案及组密钥传输协议的改进与分析

一、改进的匿名认证方案

1.1 现有方案的问题

Youn 等人指出了 Chang 等人方案存在的安全漏洞,攻击者可以通过多种方式恢复移动用户的身份:
- 被动攻击 :被动攻击者窃听消息,利用 $V_2$ 和 $K_2$ 来恢复用户身份。攻击者选择候选身份 $ID’ {MN}$,计算 $SK’ = V_2 \oplus h(n {HA} || ID’ {MN})$,并测试 $K’_2 = SK’ \oplus h(SK’ || n {MN})$ 是否与 $K_2$ 相同。若相同,则猜测的身份即为真实身份。
- 恶意移动用户攻击 :恶意移动用户 $MN’$ 拥有有效智能卡,通过合法运行方案获取 $SID’ = ID_{MN’} \oplus h(h(x) || n’ {HA})$。它窃听消息,替换随机数,捕获 $SID$ 后可恢复用户身份。
- 已知会话密钥攻击 :若会话密钥 $SK$ 泄露,攻击者计算 $Flag = V_2 \oplus SK$,搜索满足 $Flag = h(n
{HA} || ID)$ 的身份。由于用户身份格式固定且较短,攻击者可在多项式时间内通过穷举搜索找到。
- 侧信道攻击 :若智能卡敏感信息泄露,攻击者提取 $h(x)$,结合通信消息中的 $SID$ 和 $n_{HA}$ 可恢复用户身份。

1.2 改进方案

改进方案包括注册、认证和会话密钥建立三个阶段。

1.2.1 注册阶段

移动用户 $MN$ 向归属代理 $HA$ 提交身份 $ID_{MN}$ 和密码 $WP_{MN}$。$HA$ 计算虚拟身份 $VID = h(ID_{MN} || r_{MN})$ 和参数 $R = VID \oplus WP_{MN}$,为用户生成随机参数 $r_{MN}$,并通过安全信道交付包含 ${ID_{MN}, ID_{HA}, VID, R, h(x_{MN}), h(x), h(.)}$ 的智能卡。

1.2.2 认证和会话密钥建立阶段

以下是具体步骤:
1. $MN$ 插入智能卡,输入密码 $WP^ _{MN}$,计算 $C = (R \oplus WP^ {MN}) \oplus n {MN}$,发送消息 $m_1 = {Login req., n_{MN}, ID_{HA}}$ 给 $FA$。
2. $FA$ 记录 $n_{MN}$,生成随机数 $n_{FA}$,发送认证消息 $m_2 = {Authentication req., n_{FA}, ID_{FA}}$ 给 $HA$。
3. $HA$ 检查 $ID_{FA}$,若为盟友则生成随机数 $n_{HA}$,发送消息 $m_3 = {n_{HA}, ID_{HA}}$ 给 $FA$,$FA$ 再转发消息 $m_4 = {n_{HA}, n_{FA}, ID_{FA}}$ 给 $MN$。
4. $MN$ 收到 $m_4$ 后,计算 $SID = VID \oplus h(h(x) || n_{HA})$,$SK = h(h(x_{MN}) || ID_{MN} || ID_{FA} || n_{MN} || n_{FA})$,哈希值 $S_1 = h(n_{FA} || SID || V_1 || V_2 || n_{MN})$,并发送消息 $m_5 = {SID, V_1, V_2, n_{MN}, S_1, ID_{HA}}$ 给 $FA$。
5. $FA$ 收到 $m_5$ 后,计算 $S^ 1 = h(n {FA} || SID || V_1 || V_2 || n_{MN})$,若 $S^ 1 = S_1$,则计算 $S_2 = h(K {FH} || n_{HA} || SID || V_1 || V_2 || n_{MN})$,发送消息 $m_6 = {SID, V_1, V_2, n_{MN}, S_2, ID_{FA}}$ 给 $HA$。
6. $HA$ 收到 $m_6$ 后,检查 $ID_{FA}$,计算 $S^ 2 = h(K {FH} || n_{HA} || SID || V_1 || V_2 || n_{MN})$,若结果有效,继续检查 $VID$、$WP^ {MN}$ 和 $SK$ 的有效性:
- 计算虚拟身份 $VID^ = SID \oplus h(h(x) || n_{HA})$,检查 $VID^ = h(ID
{MN} || r_{MN})$。
- 若有效,计算 $C^ = n_{MN} \oplus VID$ 和 $V^ 1 = h(n {HA} || C^ )$,检查 $V^ 1 = V_1$,这意味着 $WP^ {MN} = WP {MN}$。
- 若相等,计算 $SK^
= h(h(x
{MN}) || ID_{MN} || ID_{FA} || n_{MN} || n_{FA})$ 和 $V^ _2 = h(SK^ || n_{HA})$,检查 $V^ 2$ 的有效性。
7. $HA$ 计算 $K_1 = SK \oplus h(K
{FH} || n_{FA})$,$V_3 = h(ID_{FA} || h(x_{MN}) || n_{MN})$,$S_3 = h(K_{FH} || n_{FA} || K_1 || V_3)$,发送消息 $m_7 = {K_1, V_3, S_3}$ 给 $FA$。
8. $FA$ 收到 $m_7$ 后,计算 $S^
3 = h(K {FH} || n_{FA} || K_1 || V_3)$,若 $S^ 3 = S_3$,计算 $SK = K_1 \oplus h(K {FH} || n_{FA})$,$K_2 = SK \oplus h(SK || n_{MN})$,发送消息 $m_8 = {V_3, K_2}$ 给 $MN$。
9. $MN$ 收到 $m_8$ 后,计算 $V^
3 = h(ID {FA} || h(x_{MN}) || n_{MN})$,检查 $V^ _3 = V_3$。若有效,计算 $SK^ = K_2 \oplus h(SK || n_{MN})$,若 $SK^* = SK$,则记录会话密钥 $SK$ 用于未来通信。

下面是认证和会话密钥建立阶段的 mermaid 流程图:

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(MN插入智能卡):::process
    B --> C(MN计算C和m1并发送给FA):::process
    C --> D(FA记录nMN,生成nFA,发送m2给HA):::process
    D --> E(HA检查IDFA,生成nHA,发送m3给FA):::process
    E --> F(FA转发m4给MN):::process
    F --> G(MN计算SID、SK、S1,发送m5给FA):::process
    G --> H(FA计算S1*,若相等计算S2,发送m6给HA):::process
    H --> I(HA检查IDFA,计算S2*,若有效检查VID、WP*MN和SK):::process
    I --> J(HA计算K1、V3、S3,发送m7给FA):::process
    J --> K(FA计算S3*,若相等计算SK、K2,发送m8给MN):::process
    K --> L(MN计算V3*、SK*,若相等记录SK):::process
    L --> M([结束]):::startend

二、改进方案的安全分析

2.1 匿名性

  • 对抗被动攻击者 :被动攻击者窃听消息,由于 $V_2$ 不包含 $ID_{MN}$,$K_2$ 不提供身份线索,$SID$ 是哈希值组合,攻击者无法恢复用户身份,方案提供用户匿名性。
  • 对抗恶意移动用户 :恶意移动用户即使拥有有效智能卡,也只能获取虚拟身份,无法恢复其他用户的真实身份。

2.2 安全性

  • 已知会话密钥攻击 :会话密钥 $SK$ 包含只有 $HA$ 知道的 $x_{MN}$,且用于计算 $V_2$。攻击者即使获得 $SK$,也难以通过 $V_2$ 和 $SK$ 穷举搜索找到 $ID_{MN}$,方案对已知会话密钥攻击具有抗性。
  • 侧信道攻击 :攻击者从智能卡提取 $h(x)$ 并窃听消息,虽能获得虚拟身份,但由于 $SK$ 包含 $h(x_{MN})$,$ID_{MN}$ 与秘密参数 $r_{MN}$ 关联,攻击者无法恢复会话密钥和用户身份。

综上所述,改进方案通过增加额外秘密值和虚拟身份,克服了原有方案的安全漏洞,提供了更好的匿名性和安全性,且使用低成本函数,适用于移动环境。

三、认证组密钥传输协议的分析

3.1 组密钥传输协议概述

组密钥交换协议可分为密钥协商协议和密钥传输协议。密钥协商协议要求每个参与者为会话密钥贡献部分信息,而密钥传输协议允许一个可信实体生成会话密钥并传输给所有参与者。

Sun 等人提出了一种基于秘密共享而非加密算法的组密钥传输协议。该协议只需服务器在一轮分发中一次性广播 $n + 1$ 条消息,所有合法用户在所有会话中只需存储一个秘密份额。

3.2 Sun 等人协议的详细流程

3.2.1 用户注册

每个用户登录密钥生成中心(KGC)订阅组密钥分发服务。在注册过程中,KGC 与每个用户 $U_i$ 共享一个秘密 $s’_i$,并跟踪注册用户的行为,移除未订阅的用户。

3.2.2 组密钥生成和分发
  1. 组内指定的发起者向 KGC 发送包含当前会话中注册用户 $U_1, U_2, \ldots, U_n$ 身份的消息 ${u_1, u_2, \ldots, u_n}$,请求组密钥分发服务。
  2. KGC 根据收到的消息广播所有参与者的列表作为响应。
  3. 每个用户 $U_i$ 向 KGC 发送一个随机挑战 $r_i$。
  4. KGC 随机选择 $S$ 生成当前服务的组密钥 $K = g^S$,并使用衍生秘密共享将 $S$ 分割成两部分 $n$ 次,即 $S = s_1 + s’_1 = s_2 + s’_2 = \cdots = s_n + s’_n$。然后计算:
    • $M_i = {g^{s_i + r_i}, u_i, H(u_i, g^{s_i + r_i}, s’_i, r_i)}$,$i = 1, 2, \ldots, n$
    • $Auth = H(K, g^{s_1 + r_1}, \ldots, g^{s_n + r_n}, u_1, \ldots, u_n, r_1, \ldots, r_n)$
      最后,KGC 一次性向用户广播 ${M_1, \ldots, M_n, Auth}$。
  5. 用户 $U_i$ 收到 $M_i$ 和 $Auth$ 后:
    • 首先计算 $h = H(u_i, g^{s_i + r_i}, s’_i, r_i)$,检查 $h$ 是否与 $M_i$ 中的对应部分相等。若不相等则中止,否则继续。
    • 计算 $K’ = g^{s’_i} * g^{s_i + r_i} / g^{r_i}$ 和 $Auth’ = H(K’, g^{s_1 + r_1}, \ldots, g^{s_n + r_n}, u_1, \ldots, u_n, r_1, \ldots, r_n)$,检查 $Auth’$ 是否与 $Auth$ 相同。若相同,则 $K’$ 即为 KGC 分发的组密钥 $K$。
  6. 每个用户 $U_i$ 向 KGC 返回一个值 $h’_i = H(s’_i, K’, u_1, \ldots, u_n, r_1, \ldots, r_n)$。KGC 计算 $h_i = H(s’_i, K, u_1, \ldots, u_n, r_1, \ldots, r_n)$,检查 $h’_i$ 是否与 $h_i$ 相等,以确保每个用户都获得了正确的组密钥。

以下是组密钥生成和分发阶段的表格总结:
|步骤|操作|
|----|----|
|1|发起者向 KGC 发送用户身份消息请求服务|
|2|KGC 广播参与者列表|
|3|每个用户 $U_i$ 向 KGC 发送随机挑战 $r_i$|
|4|KGC 生成组密钥 $K$,分割 $S$,计算 $M_i$ 和 $Auth$ 并广播|
|5|用户 $U_i$ 验证并计算组密钥 $K’$|
|6|用户 $U_i$ 向 KGC 返回 $h’_i$,KGC 验证|

3.3 Sun 等人协议的攻击分析

3.3.1 外部攻击
  • 方法一
    1. 攻击者 $A$ 从 KGC 与授权用户 $U_i$ 之间的广播信道获取 $(M_1, \ldots, M_2, Auth)$。
    2. 由于 $A$ 知道 $M_i = {g^{s_i + r_i}, u_i, H(u_i, g^{s_i + r_i}, s’_i, r_i)}$,可获取 $H(u_i, g^{s_i + r_i}, s’_i, r_i)$。
    3. 已知 $(u_i, g^{s_i + r_i})$ 且 $r_i$ 为公共值,$A$ 可获取 $s’_i$。
    4. $A$ 通过计算 $K = g^{s’_i} * g^{s_i + r_i} / g^{r_i}$ 获得会话密钥 $K$。
  • 方法二
    1. $A$ 从广播信道获取 $(M_1, \ldots, M_2, Auth)$。
    2. 从 $M_i$ 中获取 $u_i$ 和 $g^{s_i + r_i}$。
    3. 已知 $r_i$ 为公共值,$A$ 知道 $(Auth, g^{s_1 + r_1}, \ldots, g^{s_n + r_n}, u_1, \ldots, u_n, r_1, \ldots, r_n)$。
    4. $A$ 通过猜测攻击从 $Auth = H(K, g^{s_1 + r_1}, \ldots, g^{s_n + r_n}, u_1, \ldots, u_n, r_1, \ldots, r_n)$ 中获取会话密钥 $K$。
3.3.2 内部攻击

Sun 等人的协议中,每个内部用户都能重构组密钥,但没有额外的安全保障。虽然他们关注了每个参与者秘密份额的安全性,但协议仍无法抵御内部攻击。

下面是外部攻击方法一的 mermaid 流程图:

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

    A([开始]):::startend --> B(A获取(M1, ..., M2, Auth)):::process
    B --> C(A获取H(ui, gsi+ri, si', ri)):::process
    C --> D(A获取si'):::process
    D --> E(A计算K = gsi' * gsi+ri / gri):::process
    E --> F([结束]):::startend

四、总结

改进的匿名认证方案通过增加额外的秘密值和虚拟身份,克服了原有方案的安全漏洞,为移动用户提供了更好的匿名性和安全性。该方案使用低成本函数,如单向哈希函数和异或运算,适用于移动环境。

而 Sun 等人提出的基于秘密共享的组密钥传输协议存在安全漏洞,容易受到外部和内部攻击,无法提供协议所声称的相互认证和密钥保密性。在设计和使用密钥交换协议时,需要充分考虑各种安全威胁,确保协议的安全性和可靠性。

本项目采用C++编程语言结合ROS框架构建了完整的双机械臂控制系统,实现了Gazebo仿真环境下的协同运动模拟,并完成了两台实体UR10工业机器人的联动控制。该毕业设计在答辩环节获得98分的优异成绩,所有程序代码均通过系统性调试验证,保证可直接部署运行。 系统架构包含三个核心模块:基于ROS通信架构的双臂协调控制器、Gazebo物理引擎下的动力学仿真环境、以及真实UR10机器人的硬件接口层。在仿真验证阶段,开发了双臂碰撞检测算法和轨迹规划模块,通过ROS控制包实现了末端执行器的同步轨迹跟踪。硬件集成方面,建立了基于TCP/IP协议的实时通信链路,解决了双机数据同步和运动指令分发等关键技术问题。 本资源适用于自动化、机械电子、人工智能等专业方向的课程实践,可作为高年级课程设计、毕业课题的重要参考案例。系统采用模块化设计理念,控制核心硬件接口分离架构便于功能扩展,具备工程实践能力的学习者可在现有框架基础上进行二次开发,例如集成视觉感知模块或优化运动规划算法。 项目文档详细记录了环境配置流程、参数调试方法和实验验证数据,特别说明了双机协同作业时的时序同步解决方案。所有功能模块均提供完整的API接口说明,便于使用者快速理解系统架构并进行定制化修改。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
【微电网】【创新点】基于非支配排序的蜣螂优化算法NSDBO求解微电网多目标优化调度研究(Matlab代码实现)内容概要:本文围绕基于非支配排序的蜣螂优化算法(NSDBO)在微电网多目标优化调度中的应用展开研究,提出了一种改进的智能优化算法以解决微电网系统中经济性、环保性和能源效率等多重目标之间的权衡问题。通过引入非支配排序机制,NSDBO能够有效处理多目标优化中的帕累托前沿搜索,提升解的多样性和收敛性,并结合Matlab代码实现仿真验证,展示了该算法在微电网调度中的优越性能和实际可行性。研究涵盖了微电网典型结构建模、目标函数构建及约束条件处理,实现了对风、光、储能及传统机的协同优化调度。; 适合人群:具备一定电力系统基础知识和Matlab编程能力的研究生、科研人员及从事微电网、智能优化算法应用的工程技术人员;熟悉优化算法能源系统调度的高年级本科生亦可参考。; 使用场景及目标:①应用于微电网多目标优化调度问题的研究仿真,如成本最小化、碳排放最低供电可靠性最高之间的平衡;②为新型智能优化算法(如蜣螂优化算法及其改进版本)的设计验证提供实践案例,推动其在能源系统中的推广应用;③服务于学术论文复现、课题研究或毕业设计中的算法对比性能测试。; 阅读建议:建议读者结合文中提供的Matlab代码进行实践操作,重点关注NSDBO算法的核心实现步骤微电网模型的构建逻辑,同时可对比其他多目标算法(如NSGA-II、MOPSO)以深入理解其优势局限,进一步开展算法改进或应用场景拓展。
内容概要:本文详细介绍了使用ENVISARscape软件进行DInSAR(差分干涉合成孔径雷达)技术处理的完整流程,涵盖从数据导入、预处理、干涉图生成、相位滤波相干性分析、相位解缠、轨道精炼重去平,到最终相位转形变及结果可视化在内的全部关键步骤。文中以Sentinel-1数据为例,系统阐述了各环节的操作方法参数设置,特别强调了DEM的获取处理、基线估算、自适应滤波算法选择、解缠算法优化及轨道精炼中GCP点的应用,确保最终获得高精度的地表形变信息。同时提供了常见问题的解决方案实用技巧,增强了流程的可操作性和可靠性。; 适合人群:具备遥感GIS基础知识,熟悉ENVI/SARscape软件操作,从事地质灾害监测、地表形变分析等相关领域的科研人员技术人员;适合研究生及以上学历或具有相关项目经验的专业人员; 使用场景及目标:①掌握DInSAR技术全流程处理方法,用于地表沉降、地震形变、滑坡等地质灾害监测;②提升对InSAR数据处理中关键技术环节(如相位解缠、轨道精炼)的理解实操能力;③实现高精度形变图的生成Google Earth可视化表达; 阅读建议:建议结合实际数据边学边练,重点关注各步骤间的逻辑衔接参数设置依据,遇到DEM下载失败等问题时可参照文中提供的多种替代方案(如手动下载SRTM切片),并对关键结果(如相干性图、解缠图)进行质量检查以确保处理精度。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值