基于FPGA实现的智能医疗系统鲁棒安全通信协议
摘要
无线技术和云计算的迅猛发展以多种方式为社会带来了巨大益处。其中一项应用该技术的领域是远程医疗或移动医疗, 在此领域中,安全是最受关注的重要问题之一。近年来,多媒体应用涵盖了移动网络、集成传感器以及物联网(IoT)服 务。在物联网系统的发展背景下,隐私、安全与信任问题多年来一直是一项挑战。目前仅有少数研究工作支持在物联 网赋能的医疗无线传感器网络(MWSNs)中实现安全通信。然而,现有协议存在一些设计缺陷,并容易受到多种安全攻 击的影响,包括传感器和用户冒充攻击。本文提出了一种在MWSNs中的新型架构,并针对该架构设计了一个基于轻量 级椭圆曲线密码学(ECC)的合适认证密钥建立协议。所提出的认证协议解决了现有协议中存在的安全问题。采用形式化 方法伯罗夫斯·阿迪·尼德汉姆(BAN)逻辑来证明该协议的正确性。进一步研究表明,该协议能够抵御已知的安全攻击。 此外,所提出的协议使用Verilog硬件描述语言(HDL)进行描述,并利用Altera Quartus II仿真工具对现场可编程门阵 列(FPGA)实现的功能进行了验证。我们协议的分析及其与其他类似协议的比较表明,所提出的协议比现有协议更加高 效且具有更强的鲁棒性。
关键词 :相互认证,MWSN,BAN逻辑,网关节点,传感器节点
1. 引言
最近,电子健康(E‐health)和移动健康(M‐health)在医疗/远程医疗管理系统中发挥着至关重要的作用, 帮助医生和患者随时随地访问数据[1]。在该系统中,患者的机密医疗数据需要通过不安全信道传输并存储在 云服务器上以实现远程访问,但如何安全传输是一个具有挑战性的任务[2]。此外,患者的医疗数据通常以纸 质副本或电子副本的形式直接存储在医院场所内。这种医疗数据存储方式的主要问题是存在被未授权窃取的风 险,可能被用于临床和教育研究或被保险公司获取[3]。对医疗数据的未授权访问会严重损害患者的隐私 [1, 4, 5, 6]。因此,主要挑战在于保护个人的医疗数据安全。
无线技术尤其是智能设备的发展在电子健康应用中发挥着至关重要的作用。近年来,无线体域网( WBAN)被应用于患者健康的实时监测,通过在患者身体内植入智能医疗传感器,采集血糖水平、心率、 胆固醇水平等医疗数据[7]。此外,MWSN使患者能够在医院周边区域自由活动,同时降低了治疗成本。在 该技术中,一些智能医疗传感器被植入患者身体以收集医疗数据,并通过无线介质将这些数据传输至远程 医院或医生[8, 9]。这将提供一种更快速的诊断方式,有效保障患者的生命安全。
然而,安全是实时监控和传输个人医疗数据时防止未授权访问的主要关注点[10, 11]。在此类传输过程 中,通常可能发生窃听、伪装攻击和重放攻击等各种安全攻击[10, 11]。为了提供安全性,需要提出一种强 健的协议,该协议的基本实体包括传感器节点、网关节点和便携式手持设备。通过注册阶段、认证和通信 阶段,在三个实体之间生成基于时间的相同会话密钥来维护协议的安全性[12, 9, 13]。连接的医疗设备与传 感器之间的通信需要进行适当的认证,以确认数据的真实性。因此,在传输医疗信息之前,用户之间需要 实现相互认证和密钥协商[12, 14, 15]。认证协议在此类场景中可用于确认有效的医疗数据[12, 16]。目前, 研究界已讨论了许多此类认证协议[17, 18, 19]。然而,这些协议容易受到身份和密码猜测攻击、传感器节点 伪装攻击等多种安全攻击的影响。因此,需要一种能够抵御各种攻击的强认证协议来实现此目的。
如今,由于住院患者数量庞大,医生持续监测患者状况是一项非常困难的任务。传感器技术通过互连 传感器并将数据存储在云服务器等公共区域,为这类问题提供了解决方案。在我们提出的解决方案中,明 确指出传感器感知的医疗数据被存储在云服务器中,医生可以随时从医院或家庭直接访问所需数据。因此, 智能医疗系统的应用通过监测患者的健康状况,提高了我们的生活质量。不同类型的传感器节点,如心电 图传感器、血压传感器、脉搏血氧仪传感器、惯性传感器等,可植入人体各部位,用于感知对疾病检测非 常有用的医疗信息。智能医疗系统可用于疾病的早期检测、健康监测、术后反馈等。此外,使用机器学习 方法对医疗信息进行数据分析,以提前检测癌症、帕金森病、哮喘等严重疾病也是可行的。通过这种方式, 医疗行业可以采用我们提出的解决方案进行实际应用,从而为智能医疗系统提供一个标准平台。
1.1. 动机与贡献
根据文献综述可知,在安全攻击的防御方面仍需改进。大多数文献存在自身局限性,例如未能提供用 户匿名性及其他理想功能,此外还容易受到某些攻击。通常而言,为了实现MWSN的安全通信,安全协议 必须能够抵御各类安全攻击;在本手稿中,我们提出了一种面向MWSN的具有隐私保护功能的用户认证协 议,该协议对安全威胁具备鲁棒性。此外,为确保适用于实时实现,所设计的协议还需支持硬件实现。现 有的认证和密钥建立方案未能提供硬件实现结果,而我们提出的方案使用Verilog硬件描述语言(HDL)进行 描述,并利用Altera Quartus II进行FPGA实现的仿真。最后,整个协议在Altera DE2 FPGA开发板上得 以实现。
1.2. 路线图
第2节全面概述了现有相关工作及其优缺点。第3节提出了适用于MWSNs的新型架构,并描述了所提 出的协议在各个阶段的具体内容。第4节使用BAN逻辑对所提出的协议进行正确性的形式化证明,并对该方 案进行了非形式化安全分析。在第5节中,将所提出的方案与多个现有的类似方案进行了对比分析,并利用 Altera Quartus II工具完成了硬件实现。第6节总结了本研究工作并指出了未来的研究方向。
2. 相关工作
2009年,达斯[20]提出了一种用于无线传感器网络的双因素认证协议,其中用户需要在移动设备中存 储一些秘密凭证。2010年,何等人[21]指出,达斯[20]的方案容易受到伪装攻击和内部攻击,并且被证明 用户无法更改密码。作为补救措施,何等人[21]提出了一种双因素认证协议,克服了[20]中发现的弱点。
2011年,库马尔等人[22]证明,何等人[21]的方案无法提供用户匿名性、传感器节点与用户之间的相互 认证,不能建立会话密钥,也无法抵御信息泄露攻击。
2012年,库马尔等人[23]提出了一种用于医疗保健应用的基于医疗无线传感器网络的强认证协议,并 声称该协议能够抵御多种安全攻击。然而,2014年汗‐库马里[24]指出,库马尔等人的方案[23]易受智能卡 被盗攻击的影响。此外,2015年何等人[25]指出,该方案[23]无法抵御内部攻击、离线猜测攻击,且无法 提供用户匿名性。随后在2016年,李等人[26]发现何等人[25]的方案在认证和会话密钥协商阶段存在错 误,且其方案缺乏错误密码检测机制,可能导致拒绝服务攻击。2017年,吴等人[27]也证明了何等人[25] 的方案无法抵御用户冒充攻击、离线猜测攻击以及传感器节点捕获攻击。
2016年,法拉什等人[28]提出了一种在物联网环境下使用异构无线传感器网络的鲁棒性用户认证与密 钥协商方案。同年,阿明‐比斯瓦斯[29]指出,[28]方案中的架构不适用于实际应用,因为在他们的方案中 用户直接与传感器节点通信,这会浪费传感器能量。并且阿明‐比斯瓦斯[29]建议了一种基于多网关的新颖 认证协议,可以克服上述缺点。然而,后来在[30],阿明等人指出[29]的方案也存在一个不利的弱点,即 用户在认证结束时仍需联系传感器,因此他们提出了一个适用于MWSN的新型双因素认证协议。不幸的是, 2018年,Ali等人[31]发现阿明等人的方案[30]容易受到用户冒充攻击、离线密码猜测攻击、身份猜测攻击 以及已知会话密钥临时信息攻击。同年,吴等人在[32]中提到[30]的方案仍然易受去同步攻击和离线猜测 攻击的影响。作为补救措施,吴等人[32]提出了一种相对鲁棒且轻量级的MWSNs双因素认证协议。最近, 李等人[33]指出吴等人的方案[32]未能实现前向保密,并且该方案缺乏用户友好性。
2017年,刘和钟[18]设计了一种用于无线医疗传感器网络的基于双线性对的认证协议。该方案需要一 个可信权威机构来进行用户认证,并在传感器节点与用户之间建立安全通信。最近,查拉等人[19]证明了 刘‐钟[18]方案容易受到多种已知安全威胁的影响,包括智能卡被盗攻击、离线密码猜测攻击和用户冒充攻 击。
为了克服现有局限性和漏洞,我们提出了一种基于椭圆曲线密码学的弹性三因素相互认证协议及密钥建立技术, 用于医疗环境中的无线传感器网络。
3. 提出的协议
在本节中,我们提出了一种适用于医疗无线传感器网络的架构。本节还介绍了所提出的协议,该协议 的设计旨在解决文献中发现的安全问题和漏洞。根据所设计的架构,在进行通信之前,所有协议实体(医 疗专业人员、传感器节点和网关节点)必须经过认证。所提出的协议包含七个阶段:(1) 系统设置,(2) 传 感器和网关节点注册,(3) 用户/专业人员注册,(4) 用户登录,(5) 网关‐传感器认证,(6) 密码更新,以及 (7) 传感器节点加入阶段。
3.1. 网络架构
我们提出了一种针对第1节所述的一种远程医疗系统的新型架构,该提出的架构如图1所示。在该架构 中,无线低功耗智能医疗传感器(如起搏器、脑神经模拟器、血糖水平传感器等)被植入患者身体内。这 些传感器通过蓝牙、Zigbee或红外通信技术定期将数据更新至附近的智能设备。
由于智能设备靠近患者,通常无需考虑安全方面的问题。任何医疗从业者或亲属都可以通过附近的网关或 接入点经由互联网访问存储在智能设备中的医疗数据。在提出的架构中,假设患者位于医院内,而医生可 能在医院内、家庭中,或在医院外任何地方漫游。网关1会定期通过簇头(智能设备)从传感器节点获取数 据,并将其存储到云服务器中。当医生在医院内部时,可通过网关1从传感器节点访问患者数据。如果医生 在医院外部,则可以通过其覆盖范围内的网关2或网关3从云服务器访问患者的离线数据。在此场景下,智 能设备与医疗从业者之间的通信始终通过不安全信道进行。因此,在建立通信或通过智能设备访问患者医 疗信息之前,用户与智能设备必须进行相互认证。因此,有必要开发一种轻量级硬件相互认证协议以实现 安全通信。
3.2. 系统设置阶段
在协议实体之间的认证过程中,必须存在一些需要在它们之间共享的秘密凭证[34, 35]。系统管理员 (SA)手动完成设置阶段,并将所有凭证存储在云服务器中。利用这些凭证,各实体可以完成其注册部分, 从而实现凭证的共享。所提出的协议采用轻量级密码系统ECC,以便在智能设备中实现。位于云中的服务 器构建一个椭圆曲线密码学 E(Fq) = 〈P, q, a, b, n,G(P)〉,并包含一个长期秘密值S SA ∈Fq。
3.3. 网关和传感器节点注册阶段
网关和传感器节点是对象,它们的注册需要人工协助。此阶段由系统管理员执行,通过执行以下步骤使其完成注 册。
步骤SGR1。 系统管理员选择一个身份 GWID j 用于 j th网关节点 GWj,这是该网关节点的唯一身份。系统管理员计算密钥值 S GW j =h(S SA||GWID j) 并存储到数据库中,使其对应于网关节点 GWj。此外,系统管理员将对 〈GWID j ,S GW j 〉存入网关节点 GWj的内存中。
步骤SGR2。 系统管理员为第kth个传感器节点S NID k 选择一个身份,并计算密钥值S SNk =h(S SA||S NID k) 。 该第kth个传感器节点仅对第j th个网关节点GWj可访问。因此,系统管理员将 〈S NID k 和S SNk =存储在网关 节点GWj和传感器节点S Nk的内存中。完成网关和传感器节点注册的流程也已在算法1中编译。
算法1 网关和传感器节点注册过程
- 系统管理员为 GWj 选择一个身份 GWIDj
- 系统管理员计算 S GWj=h(S SA||GWIDj) 并将其 存储在与 GWj 对应的数据库中
- 系统管理员将 〈GW IDj j 4 th , S GWj〉 这一对值存入 GW 的内存中:
- 系统管理员为第 k 个传感器节点 S Nk 选择一个身份 S NIDk
- 系统管理员计算 S SNk=h(S SA||S NIDk)
- 系统管理员将 〈S NIDk, S SNk〉 存储在 GWj 和传感器节点 S Nk 的内存中
这些共享秘密凭证在用户登录认证时,用于对实体网关节点和传感器节点进行认证。
最后,系统管理员发布已注册网关节点的ID列表,以供用户访问。传感器节点的身份信息被保密,以实现传感器 节点匿名性。
3.4. 用户注册阶段
通常,合法用户在经过适当的认证后,通过网关节点访问来自传感器节点的感知数据。由于认证需要 用户与传感器和网关节点之间共享某些凭据,因此在此阶段,用户通过系统管理员进行一次注册来共享其 凭据。该阶段的详细信息如下所述。
步骤UR1。 用户 Ui选择一个身份 IDi、一个密码 PWi,并使用其生物特征 Bi计算生物哈希值bibi= H(Bi)。 用户还计算 HIDi= h(IDi||bi) 和 HPWi= h(PWi||bi),并将注册信息 〈HIDi、HPWi、GWIDj〉 发送给系统管理员。
步骤UR2。 在收到用户请求后,系统管理员计算以下内容
A1= h(HIDi||HPWi) · P
A2= h(HIDi||S GWj) · P
A3= A2 ⊕ A1
A4= S GWj · P
系统管理员构造智能卡SC= 〈A3,A4, h(·),P〉并通过安全通道将智能卡发送给用户。
步骤UR3。 用户收到 系统管理员发来的智能卡后,进行计算
HPIDi= h(HIDi||PWi)
A5= h(HID||HPIDi) · P
A∗ 2= A3 ⊕ A1
A6= A∗ 2 ⊕ A4
用户存储 A5并替换 A4为 A6,在智能卡中。现在用户的智能卡变为 SC= 〈A3,A5,A6, h(·), P〉。该用户注册步骤集 也在算法 2 中提供。
算法2 用户注册过程
- 用户 Ui选择 IDi和 PWi
- Ui计算 bi= H(Bi)
- Ui计算 HIDi= h(IDi||bi) 和 HPWi= h(PWi||bi)
- Ui向 SA 发送 〈HIDi、HPWi、GWID j 〉
- SA 计算 A1=h(HIDi||HPWi) · P,A2=h(HIDi||S GW j) · P,A3=A2 ⊕A1以及 A4= S GWj · P
- SA 构造 智能卡SC = 〈A3, A4, h(·),P〉
- SA 将 智能卡SC 发送给 Ui
3.5. 登录阶段
当用户需要访问来自传感器节点 SNk 的感知数据时,需要通过网关节点GWIDj 登录。用户 Ui 执行以下步骤。
步骤 UL1。 Ui将智能卡SC插入终端(读卡器),并输入IDi、PWi以及生物特征Bi。
步骤 UL2。 智能卡SC计算bi=H(Bi),HIDi=h(IDi||bi) 和 HPID=h(HIDi||PWi)。智能卡还计算A∗ 5=h(HIDi|| HPIDi)。P并检查是否A∗ 5?= A5。如果为假,则智能卡终止会话;否则选择一个随机数ru ∈ Fq并计算
HPWi= h(PWi||bi)
A∗ 1= h(HIDi||HPWi) · P
A∗ 2= A3 ⊕ A∗ 1
A7= h(A∗ 2||T1)
A8= ru · P
A9= A8 ⊕ A∗ 2
A10= A6 ⊕ A9 = A4 ⊕ A8
其中T1是当前时间戳。
步骤 UL3。 智能卡向网关节点GWj发送登录消息M1= 〈A7,A9,A10, T1〉。
通过这种方式,用户可以启动协议并登录系统,以从传感器节点访问患者数据。
3.6. 认证阶段
此阶段用于认证协议实体并为其在未来的会话中建立会话密钥。认证阶段的详细描述如下。
步骤 AP1。 在接收到登录请求后,网关节点GWj将时间延迟 M T= T2 − T1,与网关节点的当前时间戳T2进 行验证。如果 M T不在可接受的时间延迟范围内,则GWj拒绝该请求;否则计算以下内容
A∗ 4= S GWj · P
A∗ 8= A10 ⊕ A4
A∗∗ 2= A9 ⊕ A∗ 8
A∗ 7= h(A ∗∗ 2 ||T1)
并检查A∗ 7 ?= A7是否成立。如果验证正确,GWj选择一个随机数rg ∈ Fq并计算
A11= rg · A∗ 8 = ru · rg · P
A12= r g · P
A13= h(S S N k ) · A12
A14= h(GWID j ||S S N k ) · P
A15= h(A14||T2)
A16= A∗ 8 ⊕ A13
网关将消息 M2= 〈A12,A11,A15,A16,T2〉发送至 SNk。
步骤AP2。 Afte r 接收到消息 M2 来自 GWj,传感器节点 SNk 验证时间延迟 M T= T3 − T2, 与当前的传感器节点处的时间戳 T3。如果 M T 不是允许的时间延迟,则 SNk 拒绝该请求
否则计算 A∗ 14=h(GWIDj ||SSNk) ·P,A∗ 15=h(A∗ 14||T2) 并检查 A∗ 15?=A15。如果为真,则选择一个随机数 rs ∈ Fq 并计算以下内容
A17= rs · A12
A18= h(A17||S S Nk ||T3)
A∗ 13= h(S S Nk) · A12
A∗∗ 8= A16 ⊕ A∗ 13
A19= rs · A∗∗ 8
A20= rs · P
最后,SNk计算会话密钥 sk= rs ·A11并发送消息 M3= 〈A19,A18,A20,T3〉。
步骤 AP3。 在收到来自SNk的消息M3后,网关节点GWj将时间延迟 M T= T4 − T3,与网关节点的当前时间戳T4进 行比对。如果 M T不在可接受的时间延迟范围内,则GWj拒绝该请求
否则计算 A∗ 17=rg ·A20,并验证 A∗ 18=h(A∗ 17||S SNk ||T3) =?A18 的正确性。如果验证通过,则网关节点计算 A21= h(A∗∗ ||A∗ 8||A∗ 4),并发送消息 M4= 〈A17, A21〉。此外,GWj 计算会话密钥sk = rg ·A19。
步骤AP4。 用户Ui从GWj收到消息M4后,计算A∗ 4= A6 ⊕ A∗ 2、A∗∗ 21= h(A∗ 2||A∗ 8||A∗ 4),并验证A∗ 21?= A21是否 成立。若成立,则用户计算会话密钥sk = ru ·A17。登录与认证机制如图2所示。
3.7. 密码更新阶段
假设现有用户希望更新密码以保持安全,需要执行一个流程。以下是描述此阶段的步骤。
步骤 PP1. 用户Ui将智能卡SC插入终端(读卡器),并输入IDi、PWi以及生物特征Bi
步骤 PP2。 智能卡SC 计算 bi= H(Bi)、HIDi=h(IDi||bi) 和 HPID=h(HIDi||PWi)。智能卡SC 还计算 A∗ 5= h(HIDi||HPIDi) · P,并验证 A∗ 5?=A5 是否成立。若不成立,则 智能卡SC 终止会话;否则,智能卡SC 允许 Ui 输入新 密码。
步骤 PP3。 用户将其新密码PWnew i输入到智能卡SC中。
步骤 PP4。 然后,智能卡SC计算以下内容
HPIDnew = h(HIDi||PW new i )
Anew 1= h(HIDi||HPW new i ) · P
Anew 3=(A3 ⊕ A1)⊕ Anew
Anew 5= h(HIDi||HPIDnew i) · P
智能卡将旧的 A3 和 A5 替换为新的 Anew 3 和 Anew 5 。
此过程也在算法3中进行了描述。
Algorithm3密码更新 process
- 用户 Ui输入 智能卡SC 并输入 IDi, PWi和 Bi
- 智能卡 SC 计算 bi= H(Bi), HIDi= h(IDi||bi) 和 HPID = h(HIDi||PWi)
- SC 还计算 A∗ 5= h(HIDi||HPIDi) · P
- 如果 (A∗ 5== A5) 成立,则
- SC 允许 Ui输入新密码。
- 用户将他的新密码 PWnew i输入到SC
- SC 计算 HPIDnew= h(HIDi||PWnew i), Anew 1= h(HIDi||HPWnew i) · P, Anew 3=(A3 ⊕ A1) ⊕ Anew 1, Anew 5=h(HIDi||HPIDnew i)· P
- SC 用新的 Anew 3和 Anew 5替换旧的 A3和 A5
- 否则
- SC 终止会话
- 结束 if
3.8. 传感器节点添加阶段
当传感器节点遭到攻击者入侵或失去电池供电能力时,它将丧失功能。因此,需要在现有的MWSN中安装一个新 的传感器节点SNnew k。在此阶段,我们提出了一种将新传感器节点安装到系统中的流程。该流程描述如下。
系统管理员为传感器节点 SNnew ID k 选择一个新的身份,计算一个密钥值 S S N k = h(S SA||SNnew ID k ),并将 〈SNID k 和 SSN k
4. 安全性分析
本节使用形式化方法BAN逻辑对认证进行分析,并通过非正式论证对多种安全攻击进行分析,以验证所提出 的协议的正确性。
4.1. 使用BAN逻辑的形式化证明
BAN逻辑的概念最早由Burrows、Abadi和Needham于1989年提出。BAN逻辑是一种用于提供认证 属性正确性形式化证明的逻辑方法[36]。新鲜消息、共享密钥以及所有公共参数的概念都可以通过BAN逻辑进行建模。挑战‐响应协议中的语句通常被理想化,且语句的真值基于实体对某项内容的信念
BAN逻辑。关于假设[37, 25],可以使用BAN逻辑中的证明来陈述正确性证明。然而,通过该逻辑分析是否 能够阻止所有可能的攻击仍值得怀疑。BAN逻辑通常应用于认证协议方案中,作为设计过程中形式化方法 的一部分,以防止缺陷[34, 38, 35]。
4.1.1. 符号说明
本节介绍了文献中使用的BAN逻辑的常见符号及其语法。此处并未详述所有符号,仅列出用于分析的符号。 其余符号可在基础论文[36]中找到。
- A相信 X :A |≡ X。这意味着A信任公式X在当前协议运行中具有真值。
- A看到 X :A/ X。其含义是,如果某人发送了包含公式X的消息,那么A便看到了公式X,可能是在执行了一 些操作之后。
- A曾经说过 X :A |∼ X。主体A在某个时间发送了一条消息,该消息包含语句X。目前尚不清楚X是在 当前协议运行期间发送的,还是很久以前发送的。主体曾相信A说过X。
- A拥有对控制 X的权限 :A |⇒ X。主体A对公式X具有控制权,且应当相信该语句公式。
- A和B共享 一个密钥K :A K←−−→B。认为这两个主体为他们的秘密通信共享密钥K,且只有这两个主体知道 K。
- X是 新鲜的 :](X)。语句 X是最近创建的。语句 X之前未被使用过,它可以是一个随机数。
- A和B共享一个秘密Y :A Y B。语句Y是两个主体A和B之间的共享秘密。他们之后可以使用它来相 互证明自己的身份。
4.1.2. 推理规则
本小节给出了最常用的规则及其用法。该概述虽不完整,但已足够进行分析。
消息含义规则: 当A信任该声明Y已与B共享,且A看到X与Y结合时,则A信任B曾经说过X。
R1: A |≡ B Y A, A/ 〈X〉Y A |≡ B |∼ X
对于随机值
R2: A Chooses random X A |≡]X
管辖规则: 如果A信任B对陈述X具有控制权,并且A信任B信任X,那么A信任X为真。
R4: A |≡ B||⇒ X, A||≡ B||≡ X A |≡ X
随机数验证规则: 如果P信任X是新鲜的,并且B曾经说过X,那么A认为B相信X。
R3: A |≡]X, A||≡]X, A||≡ B||≡ B||∼ X A||≡ B||≡ X
新鲜性规则: 如果一个语句的某个组成部分是新的,则整个语句也是新的:
R5: A |≡]X A |≡](X, Y)
会话密钥规则: 如果A信任语句公式X是新鲜的,并且A信任B信任X,而该公式是会话密钥的关键组成部 分,则A相信他或她与B共享会话密钥K。
R6: A |≡]X,A |≡ B |≡ X A |≡ A KB
以下可以也可以推广到两个以上的语句。如果有一个原则,就可以构建一个复合语句。
l 信任所有原子语句
R7: A |≡ X, A |≡ Y A |≡(X, Y)
关于子组件消息的一些其他规则。
R8: A |≡ B |∼(X, Y) A |≡ B |∼ X
R9: A |≡ B |≡(X, Y) A |≡ B |≡ X
R10: A |≡(X, Y) B |≡ X
R11: A/(X, Y) A/ X
4.1.3. 我们的协议的理想化形式
在正确分析之前,所提出的协议需要在BAN逻辑中进行理想化。
U → GW j : M1={〈P||T1〉h( HID||S GWj ) , 〈P||h(HID||S GWj )〉( r u ||P) , 〈ru||P〉 ( GW j ||P) , T1}
GW j → SNk: M2={(rg · P),(ru · r g · P),〈h(GWj ||P||T2)〉S S N k ,〈(ru · P),(rg · P)〉( S SN k ) , T2}
SNk → GW j : M3={(rs · ru · P),〈(rs · P||T3)〉( r g ·P||S S N k ) , T3}
GW j → U: M4={〈rs · r g · P||S GWj · P||ru · P〉h( HID||S GWj )· P}
4.1.4. 安全目标
以下以下是需要实现的安全目标列表 ieve
G1: GWj |≡ GWj h(HID||S GWj) U
G2: S Nk |≡ h(GWj ||P||T2)
G3: S Nk |≡ GWj skSNk
G4: GWj |≡ GWj skSNk
G5: Ui |≡ GWj skUi
4.1.5. 初始假设
关于上述安全目标,以下列出了一些初始假设。
AS1: GWj |≡ GWj P||S GWjU
AS2: GWj |≡]ru
AS3: GWj |≡ U |⇒ ru
AS4: GWj |≡]T1
AS5: S Nk |≡ GWj S S N kSNk
AS6: S Nk |≡]T2
AS7: S Nk |≡ GWj |⇒(GWj ||P)
AS8: S Nk |≡ GWj |⇒(rg)
AS9: S Nk |≡](rg)
AS10: GWj |≡ GWj (rg·P||S S N k ) SNk
AS11: GWj |≡]T3
AS12: GWj |≡]rs
AS13: Ui |≡]rs
AS14: Ui |≡ GWj |⇒(S GWj · P)
AS15: Ui |≡]rg
4.1.6. 正确性证明
将一组逻辑规则应用于理想化协议以及初始假设,以获得所需的安全目标。
根据消息M1并使用可见性规则,我们得到S T1= GWj/ {〈P||T1〉h(HID||S GWj) , 〈P||h(HID||S GWj)〉r u ||P, 〈ru||P 〉S GWj ||P,T1}。对各组成部分应用可见性规则,我们得到S T2=GWj/ 〈P||T1〉h(HID||S GWj) S T3=GW j/ 〈P|| h(HID||S GWj)〉r u ||P S T4= GWj/ 〈ru||P||T1〉S GWj ||P。根据假设AS 1,对S T4应用消息含义规则,我们得到S T5= GWj |≡U |∼(ru||P||T1)。在S T5上应用nonce验证规则,并结合假设AS 2,我们得到S T6= GWj |≡U |≡ (ru||P||T1)。对该规则应用于每个组成部分后,我们得到S T7= GWj |≡U |≡(ru||P)。结合假设AS 3使用管辖 规则,我们得到S T8= GW |≡(ru||P)。结合假设AS 2以及S T7使用会话密钥规则,我们得到S T9=GWj |≡ GW j(ru ||P) U。依次对S T9应用消息含义规则、nonce验证规则和管辖规则,并结合假设AS 4与AS 3, 我们得到S T10=GW j |≡U |≡h(HID||S GWj) 和 S T11=GWj |≡h(HID||S GWj)。最后,结合假设AS 4,对S T10应用会话密钥规则,我们得到G1=GWj |≡GW j h(HID||SGW j) U,即我们的目标G1。
根据M2并使用可见性规则,我们得到
S T12=S Nk/ {(rg ·P), (ru ·rg ·P), 〈h(GWj ||P||T2)〉(S SNk), 〈(ru ·P), (rg ·P)〉(S SNk), T2}。
对各个分量应用相同方法,得到 S T13=S Nk/ {〈h(GWj ||P||T2)〉S SNk} 和 S T14= S Nk/ {〈(ru ·P), (rg ·P)〉(S SNk), T2}。
在假设AS
4. 安全性分析
4.1. 使用BAN逻辑的形式化证明
4.1.6. 正确性证明(续)
5下,对S 13应用消息含义规则,我们得到
S T15=S Nk |≡GWk |∼h(GWj ||P||T2).
使用nonce验证规则和假设 AS6 在 S T15, 中,我们得到
S T16=S Nk |≡GWj |≡h(GWj ||P||T2).
根据假设 AS7 对 ST17 应用管辖规则,我们得到
G2= S Nk |≡h(GWj ||P||T2),这是我们的目标 G2。
依次对ST14应用消息含义、随机数验证和管辖规则,并基于假设AS5、AS6和AS8,我们得到
S T18=GWj |≡U |≡rg ·P和 S T19=GW j |≡rg ·P。
使用会话密钥规则和关于AS9在S T18,上的假设,我们得到
S T20= S Nk |≡GWj rg·P SNk,从而得到我们的 目标三 G3= S Nk |≡GWj sk SNk,因为 rg ·P是会话密钥 sk 的一个关键参数。
使用可见性规则于M3,,我们得到S T21= GWj/ {(rs · ru · P),〈(rs · P||T3)〉(rg· P),T3}。对组件应用可见性规则,我们得到S T22= GWj/ 〈(rs · P||T3)〉(rg· P)。结合AS 10,对S T22使用消息含义规则,我们得到S T23= GWj |≡S Nk |∼(rs · P||T3)。在S T23上应用nonce验证规则并使用假设AS 11,我们得 到S T24= GWj |≡S Nk |≡rs · P。结合假设AS 12使用管辖规则,我们得到 S T25= GW |≡(rs · P)。利用假设AS 12和S T24结合会话密钥规则,我们 得到G4=GWj |≡GW j sk S Nk,即我们的目标G4。
使用可见性规则处理M4,,我们得到
S T26= Ui/{〈(rs · rg · P)||(SGWj · P)||(ru · P)〉h(HID||S GWj )·P}.
应用消息含义规则和随机数验证规则于S T26,并基于假设AS13和AS15,可得
S T27= Ui |≡GWj |≡(rs · rg ·P)||(S GWj ·P)
使用管辖规则和假设 AS14 在 S 27, 中,我们得到
S 28= Ui |≡(rs · rg ·P)||(SGWj ·P)
同样应用组件规则,我们得到
S 29= Ui |≡GWj |≡(rs · rg ·P) 来自 S 27。由于 (rs · rg ·P) 是构造密钥 sk 以用于 Ui 的关键组成部分,根据会话 密钥规则以及 S T29, 中的假设 AS13,我们得到了最终目标 G5= Ui |≡GWj sk Ui。
在BAN逻辑中针对所述安全目标所获得的证明,证实了所提出的协议在相互认证属性方面的正确性。
4.2. 非形式化安全分析
本节通过非形式化论证对所提出的协议在各种安全威胁下的表现进行了分析。
命题1. 所提出的协议提供用户匿名性。
证明. 在所提出的协议中,所有消息通信 M1 , M 2 , M 3 和 M4 ,用户身份 IDi 均通过使用密码学单向哈希函数进行保护。此外,在 注册阶段,用户通过哈希函数将其生物特征 bi 对用户身份 IDi 进行掩码后提交给系统管理员,因此内部人员也无法获取用户的 身份。如果一个 对手试图从中间消息IDi、HIDi、A3和A5中猜测用户的身份。由于这些信息分别使用哈希函数并结合额外的 未知秘密bi、SGWj和HPIDi进行了掩码处理,因此验证所猜测的身份IDi的正确性在计算上是不可行的。因 此,攻击者无法获取或猜测用户的身份IDi。因此,所提出的协议提供了用户匿名性。
Proposition 2.所提出的协议对离线密码猜测攻击提供强保护 .
证明。 在所有通信消息中,用户的密码 PWi均通过单向哈希函数进行保护。在注册阶段,用户将其 身份与生物特征bi结合哈希函数掩码后提交给SA,因此内部人员无法获取用户的身份。如果攻击者试图从 中间消息HIDi、A3和A5中猜测用户的密码PWi,由于使用哈希函数对PWi进行掩码时还需要额外的秘密信 息bi、SGWj和HPIDi,验证所猜测的PWi是否正确在计算上是不可行的。因此,攻击者无法获取或猜测密码 PWi,从而使所提出的协议具备对离线密码猜测攻击的强保护。
命题3。所提出的协议对特权内部人员攻击具有弹性。
证明。 一个拥有特权的内部人员(A)可以访问位于 SA端的用户Ui的信息。即使攻击者获得了所有注册 信息,例如 〈HIDi、HPWi、GWIDj〉,他仍然无法猜测用户的用户身份 IDi。因为该身份受到用户密码PWi和 生物特征bi的保护,而这些无法从HIDi、HPWi和GWIDj中计算得出。
命题4。 所提出的协议对智能卡被盗攻击具有弹性。
证明。 如果攻击者A在注册后窃取了用户Ui的智能卡SC中存储的所有数据,即使攻击者获得了所有智能卡信息,例如〈 A3,A5A6, h(·)、P〉,也无法推测出用户身份IDi,因为该信息受到网关主密钥SGWj的保护,而主密钥无法由A3, A5, A6和P 计算得出。
命题5。所提出的协议抵抗用户冒充攻击。
证明. 假设A是一个拥有智能卡SCA= 〈Ad 3,Ad 5,Ad 6,h(·),P〉的诚实用户,并试图冒充另一个合法用户Ui。(A)构 造登录消息Md 1= 〈Ad 7,Ad 9,Ad 10,T1〉其中
HPWd i= h(PW d i ||bd i)
Ad 1= h(HIDd i ||HPWd i) · P
Ad 2= Ad 3 ⊕ Ad 1
Ad 7= h(A d 2||T1)
A8= ru · P
Ad 9= A8 ⊕ Ad 2
Ad 10= Ad 6 ⊕ Ad 9
并向网关节点 GWj 发送 Md 1。
接收到登录请求后,网关节点GWj检查时间延迟 M T= T2 − T1,,其中T2是网关节点GWj的当前时间戳。
由于T1为有效时间, M T将是一个可接受的时间延迟,因此网关节点GWj开始计算以下内容
A∗ 4 = S GWj · P
A∗ 8 = Ad 10 ⊕ A∗ 4
A∗∗ 2 = Ad 9 ⊕ A∗ 8
A∗ 7 = h(A ∗∗ 2 ||T1)
并检查是否 er A∗ 7 ? = Ad 7 。这将无法满足,因为A∗ 8 ,A8,意味着A∗∗,Ad 2 。因此建议 d 协议 withstan ds 用户冒充攻击。
命题6. 所提出的协议具有抵御网关节点冒充攻击的鲁棒性。
证明。由于从网关节点GWj发送给传感器节点S Nk的消息M2= 〈A12, A11, A15, A16, T2〉中包含A∗ 15=h(A∗ 14|| T2),其中A∗ 14=h(GWIDj ||S SNk) ·P由两个秘密参数GWIDj和S SNk构成。同时猜测这两个秘密参数在计算上 是不可行的。此外,从GWj发送给用户Ui的消息M4= 〈A17,A21〉中包含A21= h(A∗∗ ||A∗ 8||A∗ 4),其中A2=和 A4=分别由秘密参数HIDi和SGWj构成。同时猜测这两个秘密成分在计算上也是困难的。因此,所提出的 协议能够抵御网关节点冒充攻击。
命题7。所提出的协议能够抵御传感器节点伪装攻击。
证明。 假设攻击者截获了来自节点GWj的认证消息M2= 〈A12,A11,A15,A16, T2〉,并试图冒充节点SNk。因此, 攻击者需要计算伪造的消息M3=〈Ad 19,Ad 18,Ad 20,T3〉,其中
Ad 17= rds · A12
A18= h(Ad 17||S S Nk ||T3)
A∗ 13= h(S S Nk) · A12
A∗∗ 8= A16 ⊕ A∗ 13
Ad 19= rds · A∗∗ 8
A20= rds · P
但是,这些计算需要攻击者无法知晓的秘密参数S S Nk。因此,攻击者无法冒充传感器节点SNk。
命题8。所提出的协议具有抵抗重放攻击的鲁棒性。
证明。 对手通常使用重放攻击来模仿合法用户。我们假设对手截获了旧消息,并在当前会话中将这些捕获 的消息原封不动地发送给接收方。该协议使用系统时间戳来验证通信延迟,因此会拒绝对手发送的消息, 因为从旧时间戳计算出的通信延迟将超过允许的延迟。因此,我们提出的方案能够抵御重放攻击。
命题9。所提出的协议是安全的,可抵御不可追踪性攻击。
证明。 为了执行此攻击,对手通常会收集至少两个不同会话的登录认证消息,并尝试寻找消息之间的关系。 如果这些消息恰好相同,攻击者便推断它们属于单个用户。然而,在提出的方案中,攻击者无法通过收集 来自不同会话的一个或多个公开消息来追踪任何单个用户。每个会话中使用的时间戳和随机数都不同,因 此各会话的登录消息彼此不同。假设攻击者收集到登录消息 M1= 〈A7,A9,A10,T1〉,其中包含随机数 ru 和时 间戳 T1。由于时间戳和随机数是每会话新鲜生成的,因此每个会话的登录消息也各不相同。此外,如果攻 击者进一步捕获合法传感器节点的响应消息并试图追踪该传感器节点,也会因随机数和时间戳的新鲜性而 变得困难。
命题10。 所提出的协议能够抵抗离线传感器节点身份猜测攻击。
证明。 如果攻击者试图在离线模式下猜测传感器节点S k的身份SNID k ,在协议执行过程中,他捕获了所有 公开消息。注意,IDk并未内置于智能卡中;因此,攻击者无法从被盗的智能卡获取SNID k 。此外,攻击者 既无法从公开消息中提取也无法猜测SNID k ,因为消息M1, M2, M3和M4均不包含传感器节点的身份。
命题11. 所提出的协议能够抵御会话密钥计算攻击。
证明. 通常,实体之间通过公共信道通信的消息加密使用在协议中计算出的会话密钥。新鲜性是会话密钥的核心特征, 意味着该会话 密钥在每次会话中必须不同。在所提出的协议中,实体 Ui、GWNj和S Nk协商会话密钥 sk= rurgrs·P,该密 钥依赖于秘密随机数 ru、rg 和 rs。因此,会话密钥 sk 是新生成的。此外,由于攻击者不知道秘密值 ru、rg 和 rs,无法构造出会话密钥 sk。因此,提出的协议能够抵御会话密钥计算攻击。
表1:功能需求与安全威胁的比较
| 协议 | Ro1 | Ro2 | Ro3 | Ro4 | Ro5 | Ro6 | Ro7 | Ro8 | Ro9 | Ro10 | Ro11 | Ro12 | Ro13 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 李等人 [26] | ◦ | ◦ | × | ◦ | × | ◦ | ◦ | ◦ | × | ◦ | × | ◦ | × |
| 吴等人 [27] | ◦ | × | ◦ | × | ◦ | ◦ | × | × | ◦ | × | ◦ | ◦ | × |
| Yeh et al.[39] | × | ◦ | × | × | ◦ | ◦ | × | ◦ | × | × | × | ◦ | × |
| 何等人 [25] | ◦ | ◦ | ◦ | ◦ | × | ◦ | × | ◦ | ◦ | ◦ | ◦ | × | × |
| Shi 等 [40] | ◦ | × | × | × | ◦ | × | ◦ | ◦ | ◦ | ◦ | × | ◦ | × |
| Khan 和 Kumari [24] | ◦ | × | × | × | ◦ | ◦ | × | ◦ | ◦ | × | ◦ | ◦ | × |
| 库马尔等人 [23] | ◦ | × | × | × | × | ◦ | × | ◦ | ◦ | ◦ | ◦ | × | × |
| 提出的 | ◦ | ◦ | ◦ | ◦ | ◦ | ◦ | ◦ | ◦ | ◦ | ◦ | ◦ | ◦ | ◦ |
Ro1:克服不可追踪性问题,Ro2:抵御密码猜测攻击,Ro3:克服身份猜测攻击,Ro4:克服被盗智能卡攻击,Ro5:有效抵抗特权内 部人员攻击,Ro6:克服会话密钥攻击,Ro7:抵御伪装攻击,Ro8:抵御重放攻击,Ro9:实现动态节点添加的优势,Ro10:实现相 互认证并包含其优势,Ro11:实现传感器节点匿名性,Ro12:提供前向保密,Ro13:提供硬件实现,◦:是, ×:否。
表2:计算成本比较
| 协议 | C1 | C2 | C3 | C4 | C5 |
|---|---|---|---|---|---|
| 李等人 [26] | 7Th+ 6Ts | 5Th+ 2Ts | 6Th+ 2Ts | 18Th+ 10Ts | 96 毫秒 |
| 吴等人 [27] | 6Th+ 5Ts | 5Th+Ts | 10Th+ 2Ts | 21Th+ 8Ts | 80.1 毫秒 |
| Yeh et al. [39] | 2Th+ 4Tp | 3Th+ 2Tp | 5Th+ 2Tp | 10Th+ 8Tp | 8.376 毫秒 |
| 何等人 [25] | 3Th+ 5Ts | Th+ 2Ts | 4Th+ 3Ts | 8Th+ 10Ts | 91 毫秒 |
| Shi et al. [40] | 4Th+Tp | 4Th+ 2Tp | 6Th+ 3Tp | 14Th+ 6Tp | 9.652 毫秒 |
| Khan 和 Kumari [24] | 9Th+ 2Ts | 7Th | 6Th+Ts | 22Th+ 3Ts | 37.1 毫秒 |
| 库马尔等人 [23] | Th+ 3Ts | Th+ 2Ts | 4Th+ 2Ts | 6Th+ 7Ts | 63.9 毫秒 |
| 提出的 | 6Th+ 6Tp | 4Th+ 5Tp | 8Th+ 3Tp | 18Th+ 14Tp | 15.188毫秒 |
C1:网关节点的计算开销,C2:传感器节点的计算开销,C3:用户的计算开销,C4:总成本,C5:总运行时间。
命题12。 所提出的协议对拒绝服务攻击具有鲁棒性。
证明. 由于无线传感器网络资源受限,拒绝服务(DoS)攻击发生的可能性很高。DoS攻击通常在多个网络 层上执行,例如传输层、路由层、链路层和物理层。由于所提出的协议是基于请求‐响应通信原则设计的, 因此发生DoS攻击的可能性较低。我们已经减轻了洪泛攻击对提出的认证协议和用户造成的影响。用户总 会从传感器节点收到拒绝或确认消息,因此所获得的响应消息是真实的,而非DoS攻击。此外,协议中引 入了时间戳,可消除任何后续的重复请求。因此,我们的协议对DoS攻击具有鲁棒性。
命题13. 所提出的协议实现了完美前向保密。
证明。 假设一个攻击者获得了所有旧的已使用会话密钥,仍然无法利用已知信息推导出当前会话密钥和所 有未来会话密钥。因为sk= h(ru rg rs ·P) 使用了三个不同的随机数ru、rg和rs,对手无法同时正确猜测这些 随机数。因此,我们的协议实现了完美前向保密。
表3:通信成本比较
| 协议 | Co1 | Co2 | Co3 | Co4 |
|---|---|---|---|---|
| 李等人 [26] | 512 | 256 | 512 | 1280 |
| 吴等人 [27] | 1280 | 2048 | 1024 | 4352 |
| Yeh et al. [39] | 640 | 1792 | 1152 | 3584 |
| 何等人 [25] | 256 | 256 | 512 | 1024 |
| Shi 等人 [40] | 1024 | 4032 | 1344 | 6400 |
| Khan 和 Kumari[24] | 1536 | 1024 | 768 | 3328 |
| 库马尔等人 [23] | 256 | 256 | 256 | 768 |
| 提出的协议 | 2304 | 960 | 1152 | 4416 |
Co1:网关 n节点的通信开销,Co2:传感器节点的通信开销,Co3:用户的通信开销,Co4:总成本。
表4:存储成本比较
| 协议 | 存储成本(比特) |
|---|---|
| 李等人 [26] | 1792 |
| 吴等人 [27] | 1280 |
| Shi et al. [40] | 1536 |
| 何等人 [25] | 1280 |
| Yeh 等 [39] | 1536 |
| Khan 和 Kumari[24] | 1792 |
| 库马尔等人 [23] | 1280 |
| 提出的协议 | 1280 |
命题14. 所提出的协议在完成三方相互认证后建立会话密钥。
证明。 用户认证协议的目的是构建一个会话 密钥,使得各实体之间能够安全通信。我们的协议在传感器节点、网关节点和用户之间通过相互认证后构 造了会话密钥sk。因此,所提出的协议具有会话密钥协商的优点。
5. 效率评估和比较
在本节中,我们通过将我们的协议与相关其他协议在安全性、功能需求、计算开销、通信开销和存储开销方 面的比较,展示了我们协议的效率。我们对协议的效率进行了测量和对比,结果以不同的表格和图表形式展示。
5.1 安全威胁和功能需求
我们的协议克服了许多安全威胁并具备多种功能需求,这使得该协议更加 robust。表 1展示了我们的 协议与现有协议的全面比较。文献 [23, 24, 40, 27]中的协议容易受到密码猜测攻击和智能卡被盗攻击。然 而,文献[26, 39, 25]中的协议未提供传感器节点匿名性。
5.2. 计算成本比较
在医疗无线传感器网络中,由于能量限制,用户认证方案从计算开销的角度被设计为轻量级。提出的 方案应用了哈希函数和椭圆曲线密码系统,与其他操作(包括公钥密码函数和对称密钥加密/解密)相比, 这些方法更为轻量级。我们使用了哈希函数和对称密钥的运行时间 加密/解密分别为 Th ≈ 0.5 ms 和 Te/d ≈ 8.7 ms,依据现有信息。椭圆曲线点乘法的运行时间为 Tp ≈ 0.442 ms。在表 2中,展示了所提出的协议与现有协议在网关、传感器节点和用户上的计算开销。传感器节点的 计算能力远低于网关节点。为了提供更高的效率,必须降低传感器节点的计算开销。我们的协议如表 2和图 3所示,相较于 [23, 24, 25, 27, 26] 中的协议更加高效
5.3. 通信开销比较
通信开销被视为在登录‐认证阶段传输消息所需的总比特数。表3显示了我们的协议与现有类似协议的 通信开销比较。我们假设密码、身份、哈希函数(SHA‐512)输出哈希值和随机数的长度均为512比特。对称 加密(AES)的输出长度和椭圆曲线点的长度分别为256比特和320比特。在所提出的协议中,用户向网关节 点发送两个椭圆曲线点和一个哈希值,共计 640+512=1152比特;网关节点向传感器节点发送3个椭圆曲线 点和1个哈希值(960+512= 1472比特),并向用户发送1个椭圆曲线点和1个哈希值(320+512=832比特); 传感器节点传输3个椭圆曲线点(960比特)。因此,总通信开销为4416比特。不同方案的通信开销如表 fferent schemes are presented in the Table 3所示。该表表明,[40]中的协议通信开销高于其他协议,而所提 出的协议所需的通信开销几乎等于 其他协议在[27, 24, 39]中所需的开销。尽管[26, 25, 23]中的协议比我们的通信开销更低,但其协议未能满 足身份猜测、特权内部人员、伪装攻击等方面的安全功能。
5.4. 存储开销比较
通常,传感器节点和智能卡的存储容量相对网关节点较小。因此,降低传感器节点和智能卡的存储开 销至关重要。我们假设随机数、哈希函数输出、密码和身份的长度均为512位,密文长度为256位。几种协 议的存储开销比较如表4所示。可以看出,[26, 40, 39, 24]中的方案比其他方案需要更多的存储开销。所 提出的协议的智能卡存储与[27, 25, 23]中协议的智能卡存储相同。我们在图4中展示了通信和智能卡存储开 销。
5.5. 超大规模集成电路硬件实现结果
线性反馈移位寄存器(LFSR)在高端安全应用中生成随机数方面起着关键作用。目前存在两种不同的LFSR结构, 即斐波那契型LFSR和伽罗瓦型LFSR[42, 43, 44]。其中,斐波那契型LFSR非常适用于本方案的硬件实现。萨特
et. al. [45]提出了一种使用数字串行二进制域的椭圆曲线加密高速点乘器,并针对各种NIST推荐域进行 了分析。Lopez et. al. [46]描述了一种基于蒙哥马利乘法器方法的椭圆曲线标量乘法算法,无需任何预计 算。在[47],中,Lai等提出了一种用于双域椭圆曲线密码学的高效密码处理器,该处理器具备曲线参数和 可编程域中的所有基本ECC操作。Kimmo Jarvinen [48]介绍了一种用于高速椭圆曲线密码应用的新型基 于FPGA的密码处理器。
在安全相关应用中,随机数生成是间歇性产生数值的关键部分,这些数值可通过硬件中的斐波那契型 LFSR高效生成。LFSR由D触发器和异或门组成。反馈输入选择完全基于本原多项式,而n位LFSR可以生 成除 2n − 1零以外的所有值。在LFSR设计中,需设置一个初始值,且该初始值不能为零,否则它将始终停 留在零状态。在我们提出的协议中,使用多项式x160+ x158+ x157+ x155+ 1生成160位随机数,如图11所示。
由于资源限制以及在二进制域上的椭圆曲线,所提出的协议实现中采用的哈希算法和标量乘法为 SHA‐160GF(2163) 使用多项式x163 + x7 + x6 + x3 + 1。所提出的协议使用Verilog硬件描述语言(HDL)进行 描述,并利用Altera Quartus II对FPGA实现进行仿真。最后,整个协议在Altera DE2 FPGA开发板上实 现。出于实验目的,假设一位合法用户的id和密码为六个字符,即id= 123456和password= au@s04,则 协议中的相应项被验证,并且所有实体均生成相同的会话密钥sk。通过在密码检查时产生值1来验证所提出 协议的真实性,否则产生0。所提出协议的仿真结果如图12所示。
所提出的协议的完整硬件设置如图13所示。图5和图6显示了160位随机数的最高有效位和最低有效位。 此外,真实或合法用户的用户ID和密码显示在开发板的液晶显示屏上,同时点亮的LED灯表示整个协议已 通过认证,如图7和图8所示;否则,LED灯处于关闭状态。最后,针对合法与非法用户的有效的用户ID 和密码,由用户、网关和传感器节点生成的会话密钥如图9和图10所示。
6. 结论与未来研究
与系统的新颖架构一样,总存在改进的空间。在本文中,我们提出了一种针对MWSNs的架构。同时, 我们设计了一种基于椭圆曲线密码学(ECC)的鲁棒性相互认证协议以及一种密钥建立技术,适用于支持 物联网的无线传感器网络(WSN)中的医疗环境,以克服现有协议中的漏洞。所提出的协议通过形式化方 法BAN逻辑进行了分析。此外,非正式分析表明,我们的协议能够有效抵御多种安全威胁。我们对所提出 的方案与现有的类似方案进行了对比分析,比较结果显示所提出的协议优于其他协议。我们还提供了该提 出协议的现场可编程门阵列(FPGA)实现结果。近年来,随着云计算应用的兴起,安全数据共享协议成为 一项真正的挑战。在未来的工作中,可以设计一种云服务器与医生之间的认证数据共享协议,通过任意网 关访问离线数据,且具有较低的计算和通信开销,并实现更高的安全性。
1372

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



