一种无需密码的无线传感器网络高效相互认证和密钥协商方案
摘要
无摘线要传感器网络(WSN)通常部署在敌对或无人看管区域,用户需要从中获取实时数据。传感器节点采集的数据通常具有较高的私密性和敏感性,因此用户在获取传感器节点感知的信息之前必须通过身份认证。为了增强无线传感器网络的安全性并防止非法用户访问传感器节点,本文设计了一种高效且安全的身份认证协议。所提协议充分利用了物理不可克隆函数、单向哈希函数和按位异或操作等轻量级密码原语的优势。此外,用户仅需使用生物特征(如指纹、虹膜)即可访问远程系统,无需依赖任何密码,避免了记忆和丢失密码的麻烦。为证明该方案的安全性,本文给出了基于随机预言模型的著名形式化安全性证明以及传统的启发式讨论。此外,性能比较结果表明,我们的方案具有更低的通信开销和计算复杂度,适用于无线传感器网络中资源受限的传感器设备。
关键词 认证 · 物理不可克隆函数(PUF) · 无线传感器网络 · 随机预言模型 · 生物特征
1 引言
作为物联网(IoTs)的关键组成部分,美军首先提出了对无线传感器网络(WSNs)理论与应用的研究。无线传感器网络是由大量分布在监测区域内的小型传感器节点组成的一种新型智能网络系统。随着微电子技术、传感器技术、无线通信和嵌入式应用的发展,无线传感器网络能够在任何环境、任何地点、任何时间获取用户期望的信息,有力地推动了物联网的发展。
传感器是工业4.0时代的核心组件,它将物理信息转换为标准信号并反馈给信息物理系统(CPS),是未来工业4.0时代的核心基础技术。传感器被随机分布并部署在监测区域内部或附近,能够通过自组织形成网络。通常,这些传感器节点是一种微型嵌入式系统,不仅能够采集和处理本地信息,还能处理其他节点传输的数据,同时具备数据存储、管理和融合能力,并可与其他节点协同完成某些特定任务。传感器是实现工业自动检测与控制的第一步。在现代工业生产中,特别是在自动化生产过程中,需要利用传感器对各种参数进行监测和控制,以确保设备处于正常工作状态,或保证产品达到最佳质量。甚至可以说,如果没有大量高质量低成本传感器,就不会有现代工业生产系统,更不必提工业4.0系统的构建。
近年来,无线传感器网络(WSN)正逐渐成为我们日常生活中不可或缺的一部分,并引起了学术界和工业界的广泛关注。它们被广泛应用于各种工业和农业领域,如农业温度监测、智能电网用电监控、医疗护理中的人体健康监测等。通常,无线传感器网络由许多分散的用户、大量随机分布的轻量级传感器以及具有相对较强处理能力的网关节点(GWN)组成。
在作物栽培领域,传感器节点可以监测并获取温室内的温度、阳光、氮浓度、湿度、二氧化碳浓度等实时信息,工作人员能够直接远程获取这些实时信息,了解作物生长环境的实时状况。
在军事应用中,为了监控我方部署和敌方入侵,需要大量高安全性的传感器节点。由于容易受到恶意攻击,无线传感器网络的安全变得极为重要。被俘获的传感器不仅无法监视敌人,还可能泄露我方的重要机密信息。此外,无线传感器网络的应用将扩展到日常生活中的敏感信息感知与传输,可能涉及家庭生活的细节,例如水电使用情况、病人、老人或儿童的监测。基于无线传感器网络的家庭应用若缺乏适当的隐私保护是不可接受的。毕竟,大多数家庭都不愿公开自己的私人信息。无线传感器可放置在房屋内,用于收集家庭水电消耗的信息,也可用于监控室内的场景。然而,传感器读数可能暴露家庭成员的日常活动,例如所有家庭成员何时外出,或何时有人洗澡(不同的用水量也可能揭示其身份)。室内场景包含更直接的隐私信息。因此,必须采取措施保护数据隐私。
在无线传感器网络中,需要保护用户的敏感数据和行为信息,以抵御窃听、截获和篡改等恶意攻击。在各种安全机制中,用户身份认证是访问控制的第一道防线和基础。传感器节点需要先对用户身份进行认证,然后才允许用户访问其采集的传感数据。目前,基于轻量级密码原语的身份认证协议被广泛认为是确保无线传感器网络中安全实时信息获取的最有效方法,许多学者对此进行了大量研究[1–8]。
除了传统网络面临的安全挑战外,无线传感器网络中的认证协议还面临两个额外的挑战。首先,传感器节点的计算能力、存储空间和电源储备有限;其次,无线传感器网络通常用于与安全相关的工业应用中。传感器节点部署在敌对或无人看管区域,这意味着传感器节点容易被攻击者捕获,导致传感器节点中的秘密信息泄露。因此,设计的协议需要实现高安全性,尤其是前向安全性。
由于互联网是公开且不安全的,攻击者可以轻易控制通信信道并发起各种网络攻击。为了防止非法用户获取网络服务并确保无线传感器网络的安全,有必要建立一种高效且安全的认证机制,以实现以下安全目标:用户匿名性、前向安全性、相互认证、会话密钥协商、不可追踪性。此外,一个好的协议还应能够抵抗各种已知攻击,例如冒充攻击、密码猜测攻击、重放攻击、智能卡丢失攻击、拒绝服务(DOS)攻击、中间人攻击、特权内部人员攻击等。
1.1 相关工作
2009年,Das [4]提出了首个基于智能卡的无线传感器网络双向认证协议,为无线传感器网络中的认证协议开辟了新的研究方向。然而,后来被指出该协议存在严重的安全漏洞,即无法实现相互认证和用户匿名性。随着研究的深入,O‐Sharif 等人 [5], Mishra 等人 [6]相继提出了基于哈希函数的无线传感器网络身份认证协议。这些协议在性能方面具有更大优势。
此外,Li和Hwang提出了一种基于用户生物特征的远程用户认证协议 [8],该协议使用随机数代替时间戳,因此无需在两个实体之间同步时钟。此外,它允许用户自由修改密码,并具有良好的用户体验。然而,Das[9]证明了该方案存在一些设计缺陷,即在初始阶段未验证用户的密码,导致产生不必要的额外通信和计算开销。此外,该方案直接对用户的生物特征进行哈希处理,可能导致在登录阶段和密码修改阶段出现生物特征验证失败的问题。为了克服这些缺陷,Das提出了一种基于三因素的方案,可提供强认证。此外,An[10]分析了Das协议的安全性[9]并指出该协议仍然容易受到多种攻击,且无法实现相互认证。随后,他提出了一种增强的双向认证方案,能够抵御密码猜测攻击和冒充攻击。另外,Li等人[11]发现该方案[9]无法实现会话密钥协商,且不能抵抗伪造攻击。因此,Li等人设计了一种基于用户生物特征的相互认证和密钥协商协议。之后,Khan等人[12]研究了An的方案[10]并发现其仍存在一些漏洞,随后提出了一个改进版本以避免潜在的安全漏洞。
此外,Ibjaoun 等人 [13]改进了 An 的方案 [10]并提出了一种新的协议。Turkanovic 等人 [14]提出了一种用于无线传感器网络的基于密码的双向认证协议,该协议仅使用异或操作和哈希函数。然而,Chang 和 Le [7]指出,他们的方案存在后向保密性、冒充攻击和传感器节点欺骗攻击等问题。随后, Chang 和 Le 提出了一种改进方案,克服了先前协议的漏洞,同时降低了存储成本并提高了协议的效率。此外,Amin 和 Biswas [15]指出 Turkanovic 等人的方案 [14]存在多个安全弱点,且安全参数效率不高。为了解决这些缺陷,他们设计了一种适用于无线传感器网络的轻量级认证协议,该协议能够实现相互认证、用户匿名性、能效以及友好的密码修改。
2017年,查图尔韦迪等人[16]证明了在Li等人提出的方案中,用户隐私和三因素认证无法得到保障[11]。此外,该方案未能抵抗
然后,查图尔韦迪等人提出了一种基于用户生物特征的隐私保护认证协议,并声称他们的协议能够实现真正的三因素认证、用户匿名性,并能抵抗各种主动和被动攻击。
2018年,达斯等人[17]提出了一种适用于无线传感器网络的高效认证协议。他们的方案非常有效,因为它采用了轻量级密码原语。2019年,戈佩等人[18]设计了一种具有前向安全性的隐私保护认证协议。该协议无需存储任何敏感参数,仅使用轻量级密码原语。2020年,Bian 等人[19]设计了一种基于物理不可克隆函数(PUF)的双向认证协议,利用模糊提取器和用户指纹生物特征,能够提供所需的安全特性。
通过回顾上述无线传感器网络安全协议的研究与开发,可以清楚地看到,迄今为止几乎所有的协议都未达到预期的安全效果,大多数协议在提出后不久即被攻破。这一现象的根本原因在于这些协议在设计之初缺乏科学合理的理论指导。尽管新协议改进了旧协议中的安全风险,但并未从根本上消除这些风险,最终导致新协议中很快又被发现新的安全漏洞。虽然上述现象反映了该领域研究人员的热情,但也暴露了研究过程中存在的一些问题。根据当前认证协议的研究现状以及对这些问题的正确理解与把握,我们设计了一种基于物理不可克隆函数(PUF)的新认证协议,降低了新协议被快速攻破的概率。在我们的协议中,设备与服务器之间的认证基于物理不可克隆函数的激励‐响应对机制。
基于PUF响应生成的密钥,实现了带会话密钥协商的相互认证,从而可保护协议免受克隆攻击和旁路攻击。此外,攻击者无法获取关于PUF响应或密钥的任何信息,使得中间人攻击和篡改攻击对我们的协议无能为力。此外,我们的协议使用PUF响应对替代以往协议中的密码或数字证书,使攻击者无法分析和破解密码,能够抵抗密码猜测攻击和冒充攻击。该协议的优势在于设备端无需预存密码或密钥,从而降低了存储开销,并消除了密码或密钥泄露的风险。
1.2 我们的贡献
针对现有WSNs协议存在的问题,本文在深入研究无线传感器网络和物联网技术后,提出了新的方法来解决相关问题,包括:
- 结合用户生物特征和物理不可克隆函数(PUF),设计了一种高效、便捷且安全的无密码认证协议。
- 利用用户设备独特的物理特性,实现了该方案的强安全性。
- 无需在用户设备或服务器上存储用户生物特征,避免了用户生物特征泄露的风险。
- 利用模糊提取器和物理不可克隆函数(PUF)来提取或重构密钥。
- 可在无需密码的情况下实现认证,降低了存储开销,消除了密码泄露的风险,并增强了协议的实用性。
1.3 组织结构
本文其余部分安排如下:第2节简要回顾模糊提取器、物理不可克隆函数和安全模型的基础知识。第3节介绍我们的双因素认证方案的详细内容。第4节和第5节分别给出形式化安全证明和各种抗攻击性分析。第6节对所提方案的性能进行分析与比较。结论在第7节中给出。
2 预备知识
本节简要介绍了基础知识,包括本文中使用的符号、物理不可克隆函数、模糊提取器和安全模型。
2.1 符号
本文所用符号及其描述见表1。
| 符号 | 描述 |
|---|---|
| GWN | 网关节点 |
| ∥ | 连接操作 |
| A | 对手 |
| IDi | 用户Ui的标识 |
| SIDj | 传感器节点SNj的标识 |
| T1, T2, T3, T4 | 时间戳 |
| R | PUF的响应值 |
| C | PUF的挑战值 |
| h(⋅) | 单向哈希函数 |
| Ui | 第i个用户 |
| Bi | 用户Ui的生物特征 |
| SCi | 用户Ui的智能卡 |
| ri, rj | 用户Ui、传感器节点SNj生成的随机数 |
| x | GWN的私钥 |
| ⊕ | 按位异或操作 |
| △T | 预期传输延迟 |
| SK | 会话密钥 |
| SNj | 第j个传感器节点 |
2.2 物理不可克隆函数
物理不可克隆函数(PUF)是一种新型加密组件。它能够提取由于制造工艺不一致导致的门电路或连接线路之间的随机差异,并利用这些随机差异生成加密的(响应)信号。这种物理对象中的随机差异可被视为其“指纹”,对每个物理对象而言都是唯一的。PUF具有计算速度快、不可克隆和不可预测等优点,在无线传感器网络的轻量级认证和安全密钥生成方面具有很高的研究价值。
在安全协议的设计中,物理不可克隆函数结构可被视为单向函数的硬件等效。物理不可克隆函数结构被视为挑战响应系统的黑箱,对于任何挑战值C,均可生成唯一的响应值R,但无法从响应值反推出挑战值。
由挑战值C和相应的响应值R组成的元组(C, R)称为物理不可克隆函数的挑战‐响应对(CRPs)。
基于物理不可克隆函数的认证协议不需要存储任何密钥和复杂的认证基础设施,适用于轻量级和超轻量级协议。
2.3 模糊提取器
同一个人在不同时间提取的生物特征略有不同,模糊提取器的作用就是消除这些细微差异。换句话说,即使从同一人采集的生物特征发生轻微变化,也能通过模糊提取器生成相同的结果。模糊提取器 Fe=(Gen,Rep)由两部分组成:
- 生成算法 Gen : Gen(Bi) = (σi, θi)。对于输入的生物特征 Bi (生物特征的第一次采样),Gen 返回一个随机字符串 σi 和一个辅助字符串 θi。σi 可公开,而 θi 需保密。
- 重生成算法 Rep : Rep(B’i, θi) = σi。对于输入的生物特征 B’i(同一生物特征的第二次采样),Rep 可以从 B’i 和 θi 中恢复 σi。
使用模糊提取器,用户可以将自己的生物特征(如指纹、声纹、虹膜等)作为输入,并调用生成算法Gen来生成两个随机字符串 σi和 θi。该随机字符串 σi可用作密码系统的密钥参与密码系统操作,而公共辅助字符串 θi可公开存储,无需保密。密码系统操作结束后,密钥 σi立即被销毁。当密码系统再次需要该密钥进行加密操作时,用户将其生物特征 Bi和公共辅助字符串 θi作为输入,调用再生算法 Rep,即可重新生成密钥 σi。由此可见,用户无需存储密钥,当需要输入密钥时,只需输入自身的生物特征 Bi即可。模糊提取器能够安全可靠地恢复密钥 σi,解决了密钥的生成与存储问题。
2.4 安全模型
我们根据Chang和Le的[7]随机预言模型(ROM)描述我们的安全模型。
参与者 . Ui是协议的参与者。该模型允许每个用户与其他用户执行多个协议。 Πt Ui 是 t个实例的 Ui。
设 IDSt i 为参与方实例 Πt Ui 的会话标识符,它是 Πt Ui 接收和发送的所有消息的函数。设 IDt i 为 Πt Ui 的通信对端的标识符,即与 Ui 希望建立会话密钥的一组用户。
配对 两个实例 Πt Ui 和 Πm Uj 是配对的,当且仅当 IDSt i=IDSm j ,IDt i=IDm j。
新鲜性 。实例 Πt Ui 是新鲜的,如果其在收到最后一条消息后状态为接受,并且 Πt Ui 及其通信方均未被 Reveal 查询过。
对手模型 。 密钥协商的安全性取决于对手的能力,这种能力通过一系列查询来模拟。假设概率多项式时间(PPT)对手 A完全控制通信信道,并且可以查询任何实例。A可以执行以下查询:
- Execute(Πt,Πu ∶) 对手获取两个诚实参与者之间传输的所有消息。
- Send(Π t ,m ∶) 攻击者 A发送一个伪造的消息 m 给预言机 Πt ,预言机会根据协议规则进行回复。如果 m= null(消息为空),表示预言机 Πt将发起一个新的会话。
- 设备破解查询(Π t Ui ) ∶ 用户 Ui将用户设备中存储的参数返回给攻击者。已被 设备破解查询 查询过的用户的状态称为“腥败的”。
- CorruptSensor(Π t Sj ) ∶ 该查询将传感器节点中存储的信息响应给攻击者。已被CorruptSensor查询过的传感器的状态被称为“腥败的”。
- Test(Π t ) ∶ 此查询试图模拟对手区分会话密钥与随机密钥的能力。Test预言机随机选择一个常数b ∈{0, 1}。如果b= 0,则返回随机密钥;否则,返回真实的会话密钥。假设A只能进行一次Test查询。
语义安全 对于任意攻击者A,succ表示A对某些新鲜实例发起Test查询并正确猜测b的值这一事件。该A成功攻击协议的优势定义为advA(k)=|2 ⋅Pr[ succ] −1|。如果对手 A的优势advA(k)可以忽略不计,则该协议具有语义安全。
哈希预言机 。哈希函数h(⋅)通过随机预言机Hash进行建模。哈希预言机维护一个二元列表Lh ∶(u, v)。当A向Hash发送u后,若列表Lh中存在元组(u, v),则该预言机返回v;否则,它随机选择一个常数v ∈{0, 1}lh并将其发送给A。最后,哈希预言机将元组(u, v)插入列表Lh中。类似地,函数PUF(⋅)被建模为随机预言机PUF。
3 我们的方案
本节介绍了我们的高效基于生物特征的匿名认证方案。
我们的协议包含三个实体:用户、传感器节点(SNs)和网关节点 (GWN)。希望获得服务的用户必须在网关上注册并成为合法用户。然后,在 GWN的帮助下,传感器与用户相互认证,之后用户访问无线传感器网络以获取所需数据。
3.1 初始化阶段
该阶段由服务器执行,具体细节如下。
(1)网关节点 GWN 随机选择一个常数 x 作为系统主密钥。
(2)为每个传感器 SIDj 分配不同的身份 SNj。 GWN 计算 fj= h(SIDj ∥x),并将 SIDj 和 fj 写入 SNj 的内存中,然后将 SNj 部署到网络中。
3.2 注册阶段
此阶段由用户和服务器通过安全通道完成。注册后,用户将成为无线传感器网络的合法用户。详细信息如
所示。
(1) Ui选择一个身份IDi,录入其生物特征Bi。然后,Ui随机生成一个常数ri和一个挑战Ci。
(2) Ui计算Ri= PUF(Ci),(σi,θi)=Gen(Bi), MBi= h(ri ∥σi), C∗ i = Ci ⊕h(σi)以及AIDi= h(IDi ∥σi ∥ri)。最后,Ui通过安全通道向 GWN提交注册请求{AIDi, MBi,(C∗ i, Ri)}。值得注意的是,σi仅依赖于Ui的生物特征,且在后续通信中不会向任何人透露。
(3) GWN收到注册请求后,验证AIDi的唯一性。然后GWN计算fi=h(AIDi ∥x)和ki=MBi ⊕fi,并将{ AIDi,(C∗i, Ri)}存储在其数据库中。最后,GWN将{ki}发送给Ui并完成注册。
(3) Ui{收到i} ki后,计算V = h(IDi ∥σi ∥ri), r∗ i = ri ⊕ h(IDi ∥ σi)和θ∗ i = θi ⊕ h(IDi),并将{ki, V, r∗ i, θ∗ i}插入其移动设备中。
值得注意的是,我们不会将Ui的生物特征Bi直接存储在移动设备上,而仅使用物理不可克隆函数和模糊提取器存储辅助信息。此外,我们的方案由于不使用密码作为认证因素,因此更加安全和便捷。
3.3 登录阶段
显示了我们的方案的信息流。在图4中,GWN 通过步骤1和2同时对 SN 和 Ui 进行认证。步骤3和4表示 SN 和 Ui 对 GWN 进行认证。步骤5用于确认 SN 和 Ui 已生成相同的会话密钥。在此过程中,SN 和 Ui 在 GWN 的协助下完成相互认证,这将部分计算任务转移至网关节点。这大大降低了用户尤其是传感器的计算开销,缓解了传感器计算能力有限的问题。
在访问服务之前,Ui需要输入其身份 IDi并录入生物特征 Bi,然后通过以下步骤登录服务器。图3展示了所提协议的登录阶段。
(1) 用户输入其IDi和Bi。然后移动设备计算σi = h(IDi), Rep(Bi, θi), 以及ri = h(IDi ∥ σi) ⊕ r∗i。
(2) 移动设备验证V ? =h(IDi ∥ σi ∥ ri) 是否成立。若该等式不成立,则本次会话结束。只有提供正确IDi 和生物特征Bi 的用户才能通过移动设备的本地验证。
(3) User i 随机选择一个常数 α,并计算MBi =h(ri ∥ σi),fi =ki ⊕MBi,A3 =h(fi ∥ T1),Yi = α ⊕A3, AIDi =h(IDi ∥ σi ∥ ri) 以及A1 =h(A3 ∥ AIDi ∥ SIDj)。最后,移动设备发送m1={AIDi, Yi, A1, T1}至SNj并完成登录。
3.4 相互认证和密钥协商阶段
在本小节中,Ui 和传感器节点SNj 在GWN的帮助下相互进行Auth。步骤如所示。
(1)接收到消息m1={AIDi,Yi,A1, T1}, SNj 通过T1 检查T′1 − T1?<△T的新鲜性,若T1 无效,则中止登录请求。否则,SNj 计算A2=h(fj ∥A1 ∥ T2)并提交m2={AIDi,A1,SIDj,A2,T1,T2}至 GWN。
(2) GWN检查T1,T2的有效性。如果T1,T2无效,则本次会话结束。否则,GWN计算f′j=h(SIDj ∥x)、A′2=h(f′j ∥A1 ∥T2)、f′i=h(AIDi ∥x)、A′3=h(f′i ∥T1)和A′1=h(A′3 ∥ AIDi ∥SIDj)。然后GWN验证A′1?=A1和A′2?=A2是否成立。若验证失败,GWN终止本次会话。
(3) GWN 计算 L =A′3 ⊕h(f′j ∥T3),M = h(A′3) 和A4= h(f′i ∥A′1)。接着,GWN 通过 AIDi 检索挑战‐响应对 (C∗i, Ri),然后计算 C = C∗i ⊕h(A1) 和 R = Ri ⊕ h(A′3)。最后,GWN 向传感器节点SNj 发送响应 m3={L, M, R, A4, C, T3}。
(4) 在接收到 m3, SNj 后,通过 T3 与 T′3 −T3? <△T 检查时间戳的新鲜性,若不成立则终止会话。否则,传感器节点SNj 计算 A∗3= L ⊕h(fj ∥T3) 和 M∗= h(A∗3),然后验证 M∗?=M 是否相等。若相等,则传感器节点SNj 通过计算 α=Yi ⊕ A∗3 对 α 进行解码。接着,传感器节点SNj 随机选择一个常数 β,并计算 Dij= h(α ∥T4)⊕β。最后,传感器节点SNj 向 Ui发送消息 m4={Dij, A4, C, T4}。
(5) Ui验证T4的有效性。然后Ui计算A′4 =h(fi ∥A1),并验证A′4? =A4是否成立。若验证成功,Ui继续计算Ci=C⊕h(A1)⊕h(σi),R′i=PUF(Ci),(Kus,γ)=Gen(R′i), β=Dij ⊕h(α ∥T4),SK=h(Kus ∥α∥β),γ′= γ ⊕h(β)以及Auth=h(SK ∥ Kus ∥α∥β)。最后,Ui向SNj发送m5={γ′, Auth}。
(6) SNj计算Ri=R ⊕h(A∗3), γ= γ′ ⊕h(β), Kus=Rep(Ri,γ)和SK =h(Kus ∥α∥β)。然后SNj验证Auth ? =h(SK ∥Kus ∥α∥β)是否成立。若成立, SNj接受相同的SK作为会话密钥;否则,SNj终止本次会话。
4 形式化安全证明
在此证明中,我们将协议执行视为模拟器与攻击者之间的一场博弈。模拟器执行协议的初始化阶段,并生成系统主密钥和一些公开参数。具体细节如下。
定理 1 Π 是图5中描述的协议。qh 、qP 和 qs 分别表示对哈希预言机、物理不可克隆函数(PUF)和发送预言机进行查询的次数。lh 和 lP 分别是哈希预言机和 PUF 预言机的输出长度。lB 是生物特征的字符串长度。然后,
AdvΠ(A) ≤ q²h / 2lh + q²P / 2lP + qs / 2lB
证明 我们设计了一系列博弈 Gi(0 ≤ i ≤ 5)。在所有博弈中,预言机对攻击者的查询作出如上所述的响应。博弈 G1 模拟了攻击者对真实协议的攻击,随后的博弈将逐步修改预言机的应答方法,使得相邻两个博弈中攻击者成功概率的差异可以忽略不计。 Pr[Succi] 表示攻击者在博弈 Gi中成功的概率。
Game G0 :这是一个真实协议攻击游戏。所有预言机均通过真实协议响应 A的查询。事件Succ0表示攻击者成功猜出了b被Test预言机使用的比特。
Game G1 : 哈希 预言机以以上方式回答 A 的查询,其他预言机根据真实协议响应 A 的查询。然后,
Game G2 :窃听攻击通过在认证过程中查询Execute(Πt,Πu)来建模。在A查询 Test预言机之后,需要验证Test输出的是真实的SK还是一个随机字符串。我们知道SK= h(Kus ∥α∥β),其计算需要参数Kus 、 γ 和 α,但这些参数无法从通信记录中计算得出,除非A获取了Ui的移动设备、生物特征并攻破了传感器节点。因此,窃听攻击不会增加A在此游戏中成功的概率。由此可得
游戏 G3 :此游戏可视为一种主动攻击,通过添加哈希和发送预言机的模拟来实现。A试图欺骗合法实体接受其修改后的消息。由于所有传输的消息mi(i = 1, 2,⋯, 5)均包含随机数α,β和时间戳Ti(i= 1,⋯, 4),在查询发送预言机时不会发生碰撞。除非哈希输出冲突,否则G3和G2不可区分,而该概率小于 q²h / 2lh+1。因此,
游戏 G4 :在此游戏中,Send 和 物理不可克隆函数 查询被模拟。由于物理不可克隆函数是安全的,我们具有以下关系:
Game G5 :在此终止性游戏中,CorruptDevice 和 CorruptSensor 查询被模拟。A可以获取存储在 Ui 的移动设备和 SNj 中的秘密信息。由于我们的方案未使用密码作为认证因子,攻击者无法利用从移动设备和传感器节点获取的信息进行字典攻击。因此,
在 G5 ,中,因为攻击者无法获取关于物理不可克隆函数的任何信息(在与物理不可克隆函数 相关的信息(C、Ri)被随机数替换后,攻击者无法察觉任何变化),因此他无法获取关于 会话密钥的任何信息。这表明攻击者无法在会话密钥与Test查询中的随机数之间进行区分。
然后,
(1) AdvΠ(A)=2Pr[Succ0] − 1
(2) Pr[Succ1] −Pr[Succ0]= 0
(3) Pr[Succ2]=Pr[Succ1]
(4) |Pr[Succ3] − Pr[Succ2] | ≤ q²h / 2lh+1
(5) |Pr[Succ4] −Pr[Succ3] | ≤ q²P / 2lP+1
(6) |Pr[Succ5] −Pr[Succ4] | ≤ qs / 2lB+1
从(1)、(2)、(3)和(7)可得如下关系:
(7) Pr[Succ5]= 1/2
(8) 1/2 AdvΠ(A) = |Pr[Succ0] − 1/2 | = |Pr[Succ2] − 1/2 | = |Pr[Succ2] −Pr[Succ5]|
(9) |Pr[Succ2] − Pr[Succ5]| ≤ |Pr[Succ2] − Pr[Succ3]| + |Pr[Succ3] −Pr[Succ4]| + |Pr[Succ4] −Pr[Succ5]| ≤ q²h / 2lh+1 + q²P / 2lP+1 + qs / 2lB+1
最后,求解(8)和(9),我们得到所需结果:
◻
5 安全分析与讨论
我们进一步基于第4节分析协议的相互认证及其他安全性。
5.1 相互认证和会话密钥协商
通常,用户和传感器完全相信持有其长期秘密信息的实体必须是系统私钥的所有者(GWN)。网关节点分别使用A1 =h(A3 ∥AIDi ∥SIDj)和A2 =h(fj ∥A1 ∥ T2) 对用户和传感器节点进行认证。我们知道A3 =h(fi ∥ T1)、fi =ki ⊕ MBi、MBi =h(ri ∥ σi)。显然,A3 受到用户生物特征信息Bi、随机数ri 和时间戳T1的保护。因此,对手在不知道A3 的情况下伪造A1 是一个棘手的问题。此外,由于A2 受到fj的保护, A无法伪造合法的A2 来欺骗服务器。类似地,传感器节点通过验证M=h(A′3)来检查用户的真实性,而用户则通过Auth机制对传感器进行验证。最后,Ui和 传感器节点SNj 建立相同的 会话密钥 SK=h(Kus ∥α∥β)。
5.2 用户匿名性
为了实现用户匿名性,Ui发送伪身份 AIDi= h(IDi ∥σi ∥ri),而不是将其真实身份 IDi发送给 GWN。并且 AIDi受到用户生物特征 σi和随机数 ri的保护。如果对手 A试图猜测 IDi,然后通过 AIDi= h(IDi ∥σi ∥ri)验证其正确性,则他/她必须同时获得 σi和 ri。但这对 A来说是一项棘手的任务。因此,所提出的方案确保了匿名性。
5.3 防止物理攻击
物理攻击是指对手篡改可信的移动设备或传感器节点以谋取自身利益。在我们的方案中,任何对物理不可克隆函数的篡改都会导致设备发生变化并使物理不可克隆函数失效。因此,物理不可克隆函数将无法产生正确的输出 Ri= PUF(Ci)。然后 GWN 可以检测到篡改并采取必要措施。此外,物理不可克隆函数无法被克隆或重新创建。因此,物理攻击失败。
5.4 完美前向保密
假设A已获取Ui和SNj 的全部密钥,并截获了在公共信道中传输的所有消息 mi(i= 1,…, 5)。然后A竭尽全力计算SK =h(Kus ∥α∥β),其中(Kus,γ)=Gen(R′i), R′i=PUF(Ci),且α,β为两个随机数。如上所述,物理不可克隆函数无法被复制或重建,同时会话密钥SK受到随机数α和β的保护。因此,A无论如何都无法获得Kus的值。因此,我们的方案实现了完美前向保密。
5.5 设备丢失攻击抗攻击性
假设 A窃取了(或拾取了)用户的移动设备,然后试图通过侧信道攻击获取信息 {ki、V、r∗i和 θ∗i}。然而,如上所述,任何此类操作都将破坏物理不可克隆函数。此外,在我们的方案中,移动设备上既不存储用户生物特征也不存储身份信息,因此攻击者无法从移动设备中获得任何有价值的数据。而且,用户的身份 IDi 通过随机数 ri 进行隐藏,这可以防止敏感信息泄露。因此,设备丢失攻击失败。
5.6 抵御密码猜测攻击
显然,我们的协议不使用密码作为认证因素。它仅使用从挑战中提取的秘密信息Ri和从用户生物特征中提取的密钥 σi来加密客户端数据。因此,对手没有机会进行密码猜测攻击。
5.7 抵御内部人员攻击
Ui向服务器发送假名AIDi,而不是以明文形式发送IDi,其中AIDi=h(IDi ∥σi ∥ri)。由于秘密值 σi和ri受到哈希函数的保护,对手 A没有机会获取它们。对手可能尝试猜测IDi的值,然后通过AIDi=h(IDi ∥σi ∥ri)验证其正确性。然而,即使任何能够访问服务器的人也无法获得秘密信息 σi和ri,因此对手无法判断该猜测是否正确。因此,所提协议不受特权内部人员攻击的影响。
5.8 抵御重放攻击
假设 A从一个不安全的公共信道截获了登录消息{AIDi, Yi, A1,T1},并将其重新发送给传感器节点SNj。然而,传感器节点将通过检查时间戳T′1 −T1 <△T 是否有效来检测该重放攻击。如果条件不成立,传感器节点SNj 将终止此次会话。此外,即使 A修改了时间戳以满足T′1 −T1 <△T 的要求,GWN仍可通过验证A′1?=A1, A′2?=A2,是否成立来发现该篡改行为,其中A1 =h(A3 ∥AIDi ∥SIDj),A3 =h(fi ∥T1),且A2 =h(fj ∥A1 ∥T2)。
5.9 抵御用户冒充攻击
对手可能会通过以下两种方式对所提出的方案发起用户冒充攻击。
- 如果对手窃取或拾取了一个移动设备,并成功猜出IDi,则他可以冒充设备所有者。然而,如上所述,这是不可能的。
- 为了冒充合法用户Ui, A需要伪造一个有效的登录请求m1={AIDi, Yi, A1 ,T1} 以通过GWN的认证,其中AIDi =h(IDi ∥ σi ∥ ri),Yi = α ⊕A3,且A1 =h(A3 ∥AIDi ∥ SIDj)。然而,为了计算A1,,对手必须获得A3 =h(fi ∥ T1),其中fi =ki ⊕MBi,MBi =h(ri ∥ σi)。这是不可行的,因为对手在任何情况下都无法获取 σi 和ri。此外,对手在没有IDi 的情况下也无法计算AIDi。而且,A在没有α的情况下也无法计算Yi。
综上所述,对手冒充合法用户的优势微乎其微。
5.10 抵御服务器欺骗攻击
A可能伪造一个有效的响应消息 m3={L, M, R, A4, C, T3},其中 L =A′3 ⊕ h(f′j ∥T3) 且 A′3= h(f′i ∥T1)。但是,即使 A 截获了公共信道中传输的所有消息,并提取了用户移动设备上存储的全部信息,也无法获得 fi 和 fj。这是因为无法获取 x。此外,A 在不知道 C′3= Ci 的情况下也无法计算 C。因此,服务器欺骗攻击失败。
5.11 抵抗中间人攻击
A可能伪造m1={AIDi, Yi, A1,T1}以通过GWN的认证,以及伪造有效响应消息m3={L, M, R, A4, C, T3}以通过Ui的认证。根据上述分析,A无法计算 AIDi, Yi, A3和C。此外,我们的协议能够抵御服务器/用户冒充攻击。结果表明,中间人攻击必然失败。
5.12 抵御短期密钥泄露攻击
假设 A已经获知临时密钥 α和 β,然后试图获取 会话密钥 SK=h(Kus ∥α∥β)。然而,在不知道 Kus的情况下,对手无法计算 SK。此外,Kus只能由用户移动设备中的物理不可克隆函数生成。因此,即使 A获得了 α和 β,也无法计算出 SK。从而抵御短期密钥泄露攻击失败。
5.13 抵御拒绝服务攻击
Ui只有在通过本地认证后才能向服务器发送登录请求。如果用户使用正确的身份 IDi和生物特征 Bi通过认证,则该会话将继续;否则,会话将被终止。此外,如上所述,重放和冒充攻击对我们的协议无效。结果表明,抵御拒绝服务攻击必然失败。
5.14 抵御已知会话密钥攻击
即使对手A获得了之前的会话密钥,他也无法计算当前的会话密钥=哈希函数h(Kus ∥α∥β)。为了计算SK,A必须知道随机数 α和 β。然而,在我们的方案中, α和 β在每次会话中都是动态更新的,并且与之前会话无关,因此A无法从之前的会话密钥获取它们。此外,Kus 仅依赖于移动设备的物理不可克隆函数,A永远无法获得它。因此,已知会话密钥攻击失败。
6 性能分析与讨论
本节分析并比较了协议[16, 18–20]以及我们的协议在安全、计算效率和通信效率方面的表现。结果表明,所提协议在安全性和效率方面具有一定的优势。
表2表明,[19, 16]和[20]无法抵御物理攻击。[18]和[16]无法抵御服务器欺骗攻击。[18]和[20]易受短期密钥泄露攻击的影响。[19, 18]和[16]无法抵御拒绝服务攻击。此外,[18]存在无法抵抗用户冒充攻击的问题。然而,我们的方案克服了这些 weaknesses,具有更强的安全性。
| 表2 安全对比 | [19] | [18] | [16] | [20] | Our |
|---|---|---|---|---|---|
| 相互认证和密钥协商 | √ | √ | √ | √ | √ |
| 抵御已知会话密钥攻击 | √ | √ | √ | × | √ |
| 抵御中间人攻击 | √ | √ | √ | √ | √ |
| 防止物理攻击 | × | √ | × | × | √ |
| 完美前向保密 | √ | √ | √ | √ | √ |
| 抵御被盗移动设备攻击 | √ | √ | × | × | √ |
| 抵御密码猜测攻击 | √ | √ | √ | √ | √ |
| 抵御内部人员攻击 | √ | √ | √ | √ | √ |
| 抵御重放攻击 | √ | √ | √ | √ | √ |
| 抵御服务器欺骗攻击 | √ | × | × | √ | √ |
| 抵御拒绝服务攻击 | × | × | × | √ | √ |
| 用户匿名性 | √ | √ | √ | √ | √ |
| 抵御用户冒充攻击 | √ | × | √ | √ | √ |
| 抵御短期密钥泄露攻击 | √ | × | √ | × | √ |
| 表3 不同操作的时间 | 操作 | 时间(毫秒) |
|---|---|---|
| Th (用户设备) | 0.026 | |
| Th (服务器端) | 0.011 | |
| TPUF | 0.13 | |
| Gen(⋅) | 2.67 | |
| Rep(⋅) | 3.35 | |
| Tm(用户设备) | 21.86 | |
| Tm(服务器端) | 14.6 | |
| Tc | 1.87 |
为了评估所提协议的计算效率,我们将所提协议与另外四种典型方案的计算时间进行比较[16, 18–20]。
根据Bian等人提供的广泛使用的实验结果[19],这些协议中涉及的基本操作时间如表3所示。显然,模运算的执行时间远长于其他操作,而哈希操作和 PUF操作的执行时间相对较短。模运算的执行时间大约是PUF操作的200倍,哈希操作的750倍。
| 表4 性能比较 | 登录阶段 | 认证阶段 | 通信开销 |
|---|---|---|---|
| User | GWN | User | |
| [19] | 6Th+Rep | 6Th+ TPUF+Gen | 11Th+Rep |
| [18] | Th+ TPUF | 8Th+ 2TPUF | 12Th |
| [16] | 3Th+ Rep+ 2Tm | 2Th+Tm | 4Th+ 3Tm |
| [20] | 3Th+ Rep+ 2Tm | 4Th+Tm | 6Th+ Tm+Tc |
| Our | 6Th+ 1Rep | 7Th+ TPUF+Gen | 10Th |
| 表5 效率比较 | 登录阶段 (ms) | 认证阶段 | 总时间 (ms) |
|---|---|---|---|
| 用户 (ms) | GWN (ms) | 用户 (ms) | |
| [19] | 3.506 | 2.956 | 3.471 |
| [18] | 0.156 | 0.468 | 0.312 |
| [16] | 47.148 | 21.912 | 43.844 |
| [20] | 47.148 | 21.964 | 23.796 |
| Our | 3.506 | 2.982 | 0.11 |
此外,我们假设IDi、PUF、随机数、时间戳、哈希输出和椭圆曲线上的点的大小分别为160位、128位、64位、32位、160位和320位。我们使用的加密算法是AES‐256。另外,我们忽略异或和连接操作的耗时。我们使用表3中的基本耗时来评估五种协议在认证和密钥协商阶段的计算时间。详细信息如表4所示。
在我们方案的登录阶段,用户执行了六次哈希操作和一次Rep(⋅)函数,耗时6Th+ 1Rep ≈ 3.506ms。在认证阶段,用户执行了七次哈希操作、一次物理不可克隆函数(PUF)和一次Gen(⋅)函数,耗时7Th+TPUF+ Gen ≈ 2.982ms;服务器GWN执行了十次哈希操作,耗时10Th ≈ 0.11ms。因此,我们方案的计算开销为6.598ms。类似地,其他相关方案的计算开销分别为 9.933ms、0.936ms、112.904ms、92.908ms和6.598ms。效率比较见表5。
从图6中可以明显看出,查图尔韦迪等人[16]的方案耗时最长,大约是我们的方案的17倍。我们的方案比方案[16, 19, 20]耗时更少,这是因为方案[16, 19, 20]使用了更多耗时的模运算和加密/解密操作,而我们的方案未使用这些操作。我们的方案的时间消耗仅为方案[19]的66.5%以及方案[16]的5%。此外,我们的方案比方案[18]需要更多的计算时间。这是因为我们使用的密码算法比方案[18]具有更高的安全,这也是我们的方案能够克服方案[18]四个弱点的原因。
在我们的方案中,共有五个消息 mi(i= 1, 2,…, 5)在通信信道上传输。因此通信开销为160 ∗ 9+ 64 ∗ 7+ 32 ∗ 5= 2048位。其他方案的通信开销可以以相同方式计算,计算结果如表4所示。
由图7可知,所提协议的通信开销约为方案[18]的 90%以及方案[20]的 95%,分别降低了约10%和4.5%。尽管略高于方案[19]和[16],但我们的方案克服了方案[19]的两个缺陷以及方案[16]的四个缺陷。
我们的方案在提高安全性和降低通信开销之间没有达到良好的平衡。然而,为了提高协议的安全性和计算效率,牺牲一些通信开销是可以接受的。
7 结论
本文提出了一种基于物理不可克隆函数(PUF)和生物特征的双因素认证协议。所提协议无需使用密码,也不需要存储任何与生物特征相关的信息,从而完全消除了密码和生物特征泄露的风险。此外,模糊提取器的使用增强了协议的鲁棒性。我们在随机预言模型(ROM)下给出了安全性证明,启发式讨论表明我们的方案能够抵御多种攻击。更重要的是,我们的方案不需要密码,使用户免去了记忆和丢失密码的麻烦。此外,与其他相关方案相比,我们的方案具有更低的通信开销和计算复杂度,因此非常高效。在未来的工作中,我们将考虑进一步降低该方案的计算复杂度和通信成本,使其更加高效和实用。
基于PUF的无密码认证方案
15

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



