智能医疗认证方案的安全分析

基于全球移动网络概念的智能医疗系统双向认证方案密码分析

摘要

认证与密钥协商方案是合法用户在全局移动网络概念下访问智能医疗系统服务的重要机制。然而,认证与密钥协商方案的设计仍然是一个极具挑战性的问题。本文分析了吴等人于2018年提出的针对全球移动网络概念下智能医疗系统的新型双向认证方案,指出该方案易受到恶意用户冒充攻击和离线猜测攻击,且存在效率低下问题。

1. 引言

随着电信和信息技术的快速发展,智能健康有望提供全面且优质的医疗服务。然而,由于这些系统涉及各种敏感信息,例如医疗数据和隐私记录,保护智能医疗系统的安全与隐私已成为一项不可或缺的任务(李等人,2016)。迄今为止,针对资源受限的移动用户的用户认证与密钥协商方案的设计已受到众多研究人员的广泛关注。

2004年,朱和马[1]首次提出了在无线环境下具有匿名性的双因素用户认证方案。然而,李等人[2]分析了朱和马的方案[1],指出该方案无法抵抗伪造攻击且未能实现相互认证。为了克服这些缺陷,李等人提出了一种改进方案[2]。2009年,张等人[3]发现李等人的方案[2]也无法提供匿名性,并对此进行了改进。遗憾的是,该改进方案被发现无法抵抗用户伪造攻击,且缺乏前向安全性[4]。2011年,尹等人[5]提出了一种基于数字证书的无线通信匿名认证方案。但后来该方案被指出无法实现公平密钥协商和不可追踪性[6]。2013年,江等人[7]设计了一种面向全球移动网络的新型匿名用户认证方案。然而,文等人[8]指出该方案无法抵御窃取验证者攻击和重放攻击。为弥补这些缺陷,文等人提出了一个改进方案[8]。随后,戈佩和黄[9]指出该改进方案仍然不安全,易受到离线猜测攻击和伪造攻击。2016年,戈佩和黄[10]分析了何等人的方案[11],并发现了一些弱点。基于此,他们提出了自己的认证方案。尽管该方案在GLOMONET环境中确实高效,但由于易受拒绝服务(DoS)攻击以及缺乏完美前向保密性,仍然存在安全隐患。

最近,吴等人[13]提出了一种基于全球移动网络概念的智能医疗系统new双向认证方案。在本文中,我们对该方案进行了分析,发现其容易受到恶意用户冒充攻击和离线猜测攻击,并且由于缺乏错误密码检测机制而导致效率低下。

本文其余部分组织如下:在第2节中,我们简要回顾吴等人提出的方案[13]。第3节指出了江等人方案的弱点。最后,我们在第4节得出结论。

表1. 符号说明
| 符号 | 含义 |
|------|------|
| MU | 移动用户 |
| FA | 外地代理 |
| HA | 本地代理 |
| $ID_{MU}$ | MU的身份标签 |
| $PW_{MU}$ | MU的密码 |
| $ID_{HA}$ | HA的身份标签 |
| x | HA的密钥 |
| $ID_{FA}$ | FA的身份 |
| $SK_{MU}$ | MU计算的会话密钥 |
| $SK_{FA}$ | FA计算的会话密钥 |
| $K_{fh}$ | FA与HA之间共享的密钥 |
| r, n | 随机数和安全长度 |
| h(·) | 单向哈希函数 |
| ⊕ | 异或操作 |
| ∥ | 消息连接操作 |

2. 吴等人的方案的回顾

本节中,我们简要回顾吴等人提出的方案[13]。该方案包含四个阶段:初始化阶段、注册阶段、相互认证与密钥协商(MAKA)阶段、密码更新阶段,并涉及三个实体:移动用户(MU)、归属代理(HA)和外部代理(FA)。

2.1 初始化阶段

在此阶段,FA选择$ID_{FA}$并发送以及一个随机数$r_1$到HA通过安全通道。然后HA计算$K_{fh} = h(ID_{FA} | r_1 | x)$并发送到FA同样通过安全通道。FA存储$K_{fh}$。此外,FA和HA共享以下椭圆曲线参数:一个有限域$\mathbb{F}_p$其中$p$是一个大素数,一个椭圆曲线群$G$其中$P$是生成元。

2.2 注册阶段

在此阶段,安全的信道也被使用,并且有以下三个步骤:

步骤1 :MU选择$ID_{MU}$、$PW_{MU}$和一个随机数$r_0$,计算$H_{PW} = h(PW_{MU} | r_0)$和$PID_{MU} = h(ID_{MU} | r_0)$,并发送${ID_{MU}, PID_{MU}, H_{PW}}$到HA。

步骤2 :HA检查$ID_{MU}$的有效性。如果有效,则将$ID_{MU}$存入数据库。然后HA计算$D_1 = h(PID_{MU} | x) \oplus H_{PW}$和$D_2 = h(ID_{MU} | ID_{HA}) \oplus h(ID_{MU} | H_{PW})$。最后将${D_1, D_2, PID_{MU}, ID_{MU}, h(\cdot)}$存储在智能卡中并发放给MU。

步骤3 :MU计算$D_3 = r_0 \oplus h(ID_{MU} | PW_{MU})$并将其存储到智能卡中。

2.3 MAKA 阶段

步骤1 :MU将智能卡插入终端并输入$(ID_{MU}, PW_{MU})$。该智能卡计算$r_0 = D_3 \oplus h(ID_{MU} | PW_{MU})$和$H_{PW} = h(PW_{MU} | r_0)$。然后生成两个随机数$\mu, n \in \mathbb{Z} p^*$和$r {MU}$,并计算$B_1 = D_1 \oplus H_{PW}$,$B_2 = D_2 \oplus h(ID_{MU} | H_{PW})$,$C_1 = B_1 \oplus r_{MU}$,$Q_1 = \mu P$,$C_2 = h(PID_{MU} | r_{MU} | Q_1) \oplus ID_{MU}$,$newPID_{MU} = h(ID_{MU} | r_{MU})$,$C_3 = h(newPID_{MU} | ID_{HA} | B_1 | PID_{MU} | Q_1)$以及$M_1^{HA} = {PID_{MU}, C_1, C_2, C_3, ID_{MU}, Q_1}$。然后将消息$M_1^{HA}$发送给FA。

步骤2 :FA生成两个随机数$r_{FA} \in \mathbb{Z} p^ $和$v \in \mathbb{Z}_p^ $,计算$Q_2 = vP$,$C_4 = h(K {fh} | Q_2) \oplus r_{FA}$,$C_5 = h(C_4 | r_{FA} | Q_2) \oplus ID_{FA} | ID_{HA}$,并发送$M_1^{FA} = {PID_{MU}, C_1, C_2, C_3, C_4, C_5, Q_1, Q_2, ID_{FA}, r_{FA}}$到HA。

步骤3 :HA计算$B_1 = h(PID_{MU} | x) \oplus D_1$,$r_{MU} = C_1 \oplus B_1$和$newPID_{MU} = h(ID_{MU} | r_{MU})$。然后它检查$PID_{MU} = h(ID_{MU} | r_0)$。之后,HA计算$K_{fh} = h(ID_{FA} | r_1 | x)$,$r_{FA} = C_4 \oplus h(K_{fh} | Q_2)$,$ID_{FA} | ID_{HA} = C_5 \oplus h(C_4 | r_{FA} | Q_2)$。如果在短时间内验证未通过三次,$ID_{MU}$将被冻结。否则,HA计算$B_4 = h(newPID_{MU} | x)$,$K_{fh}^{new} = h(ID_{FA} | r_{FA} | x)$,$B_5 = h(ID_{HA} | ID_{FA}) \oplus h(B_4 | x)$,$C_6 = h(B_1 | B_4 | r_{MU} | Q_1 | Q_2) \oplus B_5$,$C_7 = h(B_4 | B_5 | C_6)$,$C_8 = h(K_{fh}^{new} | r_{FA} | Q_2) \oplus K_{fh}$,$C_9 = h(K_{fh}^{new} | r_{FA} | Q_2) \oplus K_{fh}$和$M_2^{HA} = {C_6, C_7, C_8, C_9}$。最后,HA发送$M_2^{HA}$到FA。

步骤4 :FA计算$K_{fh}^{new} = h(ID_{FA} | r_{FA} | x)$并检查$C_9 = h(K_{fh}^{new} | r_{FA} | Q_2) \oplus K_{fh}$。如果是,则计算$SK_{FA} = h(Q_1 | Q_2 | vQ_1)$,$C_{10} = h(SK_{FA} | C_6 | C_7)$。然后它发送$M_2^{FA} = {C_6, C_7, C_{10}, Q_2}$到MU,并用$r_{FA}$更新$K_{fh}$为$K_{fh}^{new}$。

步骤5 :当接收$M_2^{FA}$时,智能卡继续计算$B_5 = h(B_1 | B_4 | r_{MU} | Q_1 | Q_2) \oplus C_6$,$C_7 = h(B_4 | B_5 | C_6)$。如果成立,智能卡计算$SK_{MU} = h(Q_1 | Q_2 | \mu Q_2)$,并检查$C_{10} = h(SK_{MU} | C_6 | C_7)$。如果正确,智能卡计算$D_1^{new} = B_1 \oplus PW_{MU}$和$D_3^{new} = r_{MU} \oplus h(ID_{MU} | PW_{MU})$。最后,卡片用$D_1^{new}$替换$D_1$,用$D_3^{new}$替换$D_3$。

3. 吴等人提出的方案的弱点

在本节中,我们将说明吴等人提出的方案[13]容易受到恶意用户冒充攻击和节点捕获攻击,并存在前向安全问题、低效率问题。为了逻辑清晰地说明,我们首先给出关于攻击者能力的以下三个假设。

假设1 。攻击者完全控制用户与服务器之间的公共通信信道。因此,攻击者可以自由地从相关信道中截取、窃听、插入和重放所有合法消息。

假设2 。目前,存在多种有效方法可使攻击者提取智能卡中存储的值,例如科彻等人[14]和梅瑟吉斯等人[15]提出的方法。因此,我们假设攻击者可以获取用户的智能卡或破解用户的密码,但不能同时实现两者。

假设3 。攻击者能够离线猜测用户的密码,因为密码通常由用户自己自由选择,因此熵值较低。然而,攻击者无法在实际多项式时间内同时猜中密码和用户的指纹信息。

3.1 恶意用户冒充攻击

恶意用户冒充攻击意味着恶意注册用户可以冒充其他注册用户登录系统,并以其他合法用户的名义访问感知数据。在本小节中,仅假设1成立。假设攻击者A已窃听消息$M_1^{HA} = {PID_{MU}, C_1, C_2, C_3, ID_{MU}, Q_1}$,攻击者可发起如下攻击:

步骤1 :攻击者A使用以下信息向HA注册。具体而言,选择$ID_A$,$PW_A$,并发送消息${ID_A, PID_A, H_{PW_A}}$到HA。

步骤2 :当HA接收到消息时,它将检查$ID_A$、$PID_A$的格式并计算$D_1^A = h(PID_A | x) \oplus H_{PW_A}$和$D_2^A = h(ID_A | ID_{HA}) \oplus h(ID_A | H_{PW_A})$。然后将${D_1^A, D_2^A, PID_A, ID_A, h(\cdot)}$存储在智能卡中,并将其发放给攻击者A。

步骤3 :攻击者A从其智能卡中提取信息$D_1^A$,然后计算$B_1^A = D_1^A \oplus H_{PW_A} = h(PID_A | x)$。

步骤4 :攻击者A计算$r_{MU} = C_1 \oplus B_1^A$,其中$C_1$来自窃听消息$M_1^{HA}$。

步骤5 :攻击者A恢复用户身份$ID_{MU}$:$ID_{MU} = C_2 \oplus h(PID_{MU} | r_{MU} | Q_1)$。

步骤6 :由于$ID_{MU}$和$r_{MU}$均为已知,攻击者A可以计算$newPID_{MU} = h(ID_{MU} | r_{MU})$。

步骤7 :生成一个新的$\mu^ $,并计算$Q_1^ = \mu^* P$。

步骤8 :计算$C_2^ = h(PID_{MU} | r_{MU} | Q_1^ ) \oplus ID_{MU}$。

步骤9 :计算$C_3^ = h(newPID_{MU} | ID_{HA} | B_1^A | PID_{MU} | Q_1^ )$。

步骤10 :攻击者A伪造一条有效登录消息$M_1^{HA } = {PID_{MU}, C_1, C_2^ , C_3^ , ID_{MU}, Q_1^ }$。

步骤11 :接收后,FA生成随机数$r_{FA}$、$v$,计算$Q_2 = vP$,$C_4 = h(K_{fh} | Q_2) \oplus r_{FA}$,$C_5 = h(C_4 | r_{FA} | Q_2) \oplus ID_{FA} | ID_{HA}$,然后向HA发送消息$M_1^{FA } = {PID_{MU}, C_1, C_2^ , C_3^ , C_4, C_5, Q_1^ , Q_2, ID_{FA}, r_{FA}}$。

步骤12 :由于消息中的项目与吴等人的方案一致,HA自然会接受该消息,而未意识到攻击者A的存在。此外,HA将计算那些相关值并构造消息$M_2^{HA } = {C_6^ , C_7^ , C_8^ , C_9^*}$,然后将其传输给FA。

步骤13 :当接收$M_2^{HA }$时,FA首先计算$K_{fh}^{new} = h(ID_{FA} | r_{FA} | x)$,验证$C_9^ = h(K_{fh}^{new} | r_{FA} | Q_2) \oplus K_{fh}$其可能是有效的,然后计算$SK_{FA} = h(Q_1^ | Q_2 | vQ_1^ )$和$C_{10}^ = h(SK_{FA} | C_6^ | C_7^ )$。最后,FA更新$K_{fh}$为$K_{fh}^{new}$并向攻击者A发送消息$M_2^{FA } = {C_6^ , C_7^ , C_{10}^*, Q_2}$。

步骤14 :在获得消息后,攻击者A计算协商的会话密钥$SK_{MU}^ = h(Q_1^ | Q_2 | \mu^* Q_2)$。然后可以冒充用户MU来做他/她想做的任何事情。

3.2 离线猜测攻击1

假设用户MU的智能卡丢失或被盗,攻击者获得它。根据假设2,他/她有能力提取智能卡中存储的信息${D_1, D_2, D_3, PID_{MU}, ID_{MU}}$。一旦知道这些值,攻击者可以发起如下offline guessing password attack:

步骤1 :攻击者猜测一个密码$PW_{MU}^ $和一个身份标签$ID_{MU}^ $。

步骤2 :攻击者计算$r_0^ = D_3 \oplus h(ID_{MU}^ | PW_{MU}^*)$,其中$D_3$是从智能卡中提取的值。

步骤3 :攻击者检查等式$PID_{MU} = h(ID_{MU}^ | r_0^ )$是否正确。如果正确,则攻击者成功实施此次攻击,且$PW_{MU}^ $和$ID_{MU}^ $分别是正确密码和身份标签。否则,攻击者必须返回步骤1并猜测新的密码和身份标签,然后执行步骤2。

3.3 离线猜测攻击2

另一种猜测方法密码和身份标签将使用来自${C_1, C_2, C_3}$的值,这些值来自一个真实登录请求消息$M_1^{HA} = {PID_{MU}, C_1, C_2, C_3, ID_{MU}, Q_1}$。步骤如下:

步骤1 :攻击者猜测一个密码$PW_{MU}^ $和一个身份标签$ID_{MU}^ $。

步骤2 :攻击者计算$r_0^ = D_3 \oplus h(ID_{MU}^ | PW_{MU}^*)$,其中$D_3$是从智能卡中提取的值。

步骤3 :攻击者计算$H_{PW}^ = h(PW_{MU}^ | r_0^*)$。

步骤4 :攻击者计算$B_1^ = D_1 \oplus H_{PW}^ $,其中$D_1$是从智能卡中提取的值。

步骤5 :攻击者计算$r_{MU}^ = C_1 \oplus B_1^ $,其中$C_1$是从窃听消息$M_1^{HA}$中提取的值。

步骤6 :攻击者检查等式$C_2 = h(PID_{MU} | r_{MU}^ | Q_1) \oplus ID_{MU}^ $是否正确。如果正确,攻击者成功执行此次攻击,且$PW_{MU}^ $和$ID_{MU}^ $分别为正确密码和身份标签。否则,攻击者必须返回步骤1,猜测新的密码和身份标签,然后执行步骤2–6。

3.4 错误密码检测中的效率低下问题

在吴等人提出的方案中,没有登录检测机制。如果合法用户MU误输入了错误的密码,则该错误密码将不会被检测到,直到远程家用代理HA在登录与认证阶段的步骤3中验证$C_3$和$h(newPID_{MU} | ID_{HA} | B_1 | PID_{MU} | Q_1)$是否相等。因此,吴等人提出的方案在检测用户错误密码方面效率较低。

4. 结论

本文中,我们分析了吴等人于2018年提出的基于全球移动网络概念的智能医疗系统双向认证方案,指出该方案易受到恶意用户冒充攻击和离线猜测攻击,且由于缺乏错误密码检测机制而导致效率低下。

【四轴飞行器】非线性三自由度四轴飞行器模拟器研究(Matlab代码实现)内容概要:本文围绕非线性三自由度四轴飞行器模拟器的研究展开,重点介绍基于Matlab代码实现的四轴飞行器动力学建模与仿真方法。研究构建了考虑非线性特性的飞行器数学模型,涵盖姿态动力学与运动学方程,实现了三自由度(滚转、俯仰、偏航)的精确模拟。文中详细阐述了系统建模过程、控制算法设计思路及仿真结果分析,帮助读者深入理解四轴飞行器的飞行动力学特性与控制机制;同时,该模拟器可用于算法验证、控制器设计与教学实验。; 适合人群:具备一定自动控制理论基础和Matlab编程能力的高校学生、科研人员及无人机相关领域的工程技术人员,尤其适合从事飞行器建模、控制算法开发的研究生和初级研究人员。; 使用场景及目标:①用于四轴飞行器非线性动力学特性的学习与仿真验证;②作为控制器(如PID、LQR、MPC等)设计与测试的仿真平台;③支持无人机控制系统教学与科研项目开发,提升对姿态控制与系统仿真的理解。; 阅读建议:建议读者结合Matlab代码逐模块分析,重点关注动力学方程的推导与实现方式,动手运行并调试仿真程序,以加深对飞行器姿态控制过程的理解。同时可扩展为六自由度模型或加入外部干扰以增强仿真真实性。
基于分布式模型预测控制DMPC的多智能体点对点过渡轨迹生成研究(Matlab代码实现)内容概要:本文围绕“基于分布式模型预测控制(DMPC)的多智能体点对点过渡轨迹生成研究”展开,重点介绍如何利用DMPC方法实现多智能体系统在复杂环境下的协同轨迹规划与控制。文中结合Matlab代码实现,详细阐述了DMPC的基本原理、数学建模过程以及在多智能体系统中的具体应用,涵盖点对点转移、避障处理、状态约束与通信拓扑等关键技术环节。研究强调算法的分布式特性,提升系统的可扩展性与鲁棒性,适用于多无人机、无人车编队等场景。同时,文档列举了大量相关科研方向与代码资源,展示了DMPC在路径规划、协同控制、电力系统、信号处理等多领域的广泛应用。; 适合人群:具备一定自动化、控制理论或机器人学基础的研究生、科研人员及从事智能系统开发的工程技术人员;熟悉Matlab/Simulink仿真环境,对多智能体协同控制、优化算法有一定兴趣或研究需求的人员。; 使用场景及目标:①用于多智能体系统的轨迹生成与协同控制研究,如无人机集群、无人驾驶车队等;②作为DMPC算法学习与仿真实践的参考资料,帮助理解分布式优化与模型预测控制的结合机制;③支撑科研论文复现、毕业设计或项目开发中的算法验证与性能对比。; 阅读建议:建议读者结合提供的Matlab代码进行实践操作,重点关注DMPC的优化建模、约束处理与信息交互机制;按文档结构逐步学习,同时参考文中提及的路径规划、协同控制等相关案例,加深对分布式控制系统的整体理解。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值