一种用于无线传感器网络的可计算密码认证方案
摘要
随着无线通信和移动技术的发展,无线传感器网络 (WSNs)已被应用于许多领域。然而,由于传感器节点资源受限,传统的安全措施不适用于无线传感器网络。因此,如何协调无线传感器网络的效率与安全性能已成为研究热点。同时,近年来广泛使用的静态密码认证被证明是不安全的。本文提出了一种面向无线传感器网络的安全高效的可计算密码认证方案。通过在安全性和性能方面的详细比较,所提出的方案能够以较低的开销抵御多种攻击。
关键词 -无线传感器网络;可计算密码;通信开销;网络安全
一、引言
随着无线通信和传感器技术的发展,无线传感器网络 (WSNs)已广泛应用于自动驾驶网络、数字家庭网络和军事监控等多个领域。然而,由于传感器节点的能量、计算和存储资源有限,传统的安全措施并不适用于无线传感器网络[1]。因此,如何以较低的开销抵御各种攻击,成为认证领域的研究热点。目前大多数已发布的认证方案采用静态密码作为第一重认证因素。然而,多项研究表明,静态密码容易受到字典攻击、重放攻击以及来自ࣛ的木马攻击。因此,静态密码在当今已不再安全[2‐6], ,新的无线传感器网络认证方案必须克服静态密码的缺点,实现用户U的权限分离,并具有更低的开销成本。
A. 相关工作
已提出许多用于无线传感器网络的认证方案,我们选择其中一些具有代表性的研究进行简要回顾。Lamport首次在 1981[7], 中为远程系统提出了一种单因素认证方案,但该方案易受到密码猜测攻击。Hwang等人首次采用智能卡(SC)与静态密码相结合的方式,在1990[8]中实现了双因素认证方案。然而,该方案易受到智能卡被盗和离线猜测攻击。Das等人首次提出了基于动态ID的认证,允许用户(U)自由更新密码[9]。Wang等人[10] 指出,该方案易受到冒充攻击,且无法实现相互认证。此外,还存在大量相关研究。
专注于无线传感器网络的认证方案,我们无需回顾所有这些工作。
B. 主要贡献
首先,据我们所知,本工作是首次在无线传感器网络认证中采用可计算密码。这一创新确保了用户的登录密码在各个阶段都保持可计算性和保密性,同时有效抵御攻击。
其次,我们的方案实现了用户U的权限分离以及消息的不可否认性、完整性和真实性。据我们所知,我们的方案最小化了用户的权限,并最大化了传感器数据的安全性。
第三,我们采用两种被广泛接受的传感器节点平台来计算总能量开销。该结果将鼓励更多设计者在设计认证方案时同时考虑这两种成本。
II. 预备知识
A. 本文符号说明
本文的符号说明见表I。
表I. 本文使用的符号说明
| 缩写 | 描述 |
|---|---|
| U, GW, SN, SC | 用户、网关、传感器节点和智能卡 分别 |
| ࣛ | 攻击者 |
| 身份 ୗେ ,身份 ୧ ,身份 ୋ ,身份 ୗ | 智能卡、用户、网关和传感器节点的身份 |
| BIO ୧ | 用户的生物特征 |
| 算法 | 自定义密码计算算法 |
| PW | 上次成功登录中使用的最近密码 登录 |
| Gen(∙)/Rep(∙) | 模糊提取器生成/复现 |
| h(∙) | 哈希函数 |
| HMAC ୩(∙) ,Ver ୩(∙) | 哈希消息认证码函数和使用密钥k的验证函数 |
基于可计算密码算法的认证采用自定义密码计算算法 (算法),该算法是保密计算的一种用户定义的算法。算法在算法1中描述。
算法1
输入:൛RNଵ,RNଶ,⋯RN୬ൟ 输出:{V,Vଵ}
1: 用户U定义一系列计算方法、随机数个数nୖୗୌ
2: 用户U插入智能卡SC,录入生物特征 BIO୧,输入身份ID୧和上次成功登录的密码PW
3: 智能卡SC检索身份 IDୗେ和时间戳TS,然后智能卡SC向用户U显示nୖ个随机数(RNଵ,RNଶ,⋯RN୬);
4: 用户U获取(RNଵ,RNଶ,⋯RN୬),并根据预定义的计算方法计算V,然后输入 V
5: 智能卡SC检索时间戳TSᇱ
6: 如果(TSTSTୗୌ)成立,则
7: 智能卡SC拒绝登录请求;
8: 否则
9: 智能卡 SC通过算法 计算V ∗=(RNଵ,RNଶ,⋯RN୬);
10: 如果(V ∗ ≠V)成立,则
11: 智能卡SC拒绝登录请求;
12: 否则
13: 用户U将V记为新的密码PW;
14: 智能卡SC继续执行认证方案的后续步骤,直到Vᇱ= h(TC୧ ∥RPW ∥PW),智能卡SC从其内存中检索V;
15: 如果(Vᇱ ≠V)成立,则
16: 智能卡SC拒绝登录请求;
17: 否则
18: 智能卡SC使用Vଵ= h(TC୧ ∥ RPW ∥V)更新V,用于下一次认证;
18: 结束如果
B. 攻击者能力模型
对手ࣛ的主要能力如下:
x ࣛ可能通过无线传感器网络[1]截获、篡改和重放传输的消息,并利用黑客技术获取存储在智能卡、网关和传感器节点中的信息。
x 我们假设ࣛ可以通过多种黑客技术(如安装“木马程序”、观察键盘输入、使用社会工程学手段以及攻击其他数据库[11])获取用户的通用密码和生物特征。此外,ࣛ猜测用户密码的成功概率约为 ଵ ଶ ల ,其中该密码包含n个字符。
III. 提出的方案
本文提出了一种用于无线传感器网络的可计算密码认证方案。我们的方案利用智能卡、算法 、密码 和生物特征实现认证,使用HMAC和哈希函数来保证消息的机密性、完整性和不可否认性。由于网关与传感器节点之间的成功通信必须依赖为用户U在注册阶段生成的密钥k ୧ ,因此我们的方案实现了用户U的权限分离。
A. 系统设置阶段
无线传感器网络选择一位专家作为系统管理员(SA)。SA在网关中注册所有智能卡,并将基本功能嵌入到智能卡、网关和传感器节点的内存中。所有在无线传感器网络中使用的智能卡都在 SA的帮助下于网关中注册,以实现用户U的权限分离。
B. 用户注册阶段
此阶段在由图1所示的系统管理员监控的严格且安全的环境中进行。
1) 系统管理员将新的智能卡分发给用户。用户将智能卡插入终端登录设备。智能卡向网关发送ܫܦௌ。
2) 网关检查ܫܦ ௌ是否已注册。当 ܫܦ ௌ合法时,网关向用户发送确认信息;否则,网关拒绝。
3) 用户定义 ܣ݈݃ݎ݅ݐh݉ௐ 、随机数个数݊ ோ 、计算阈值ܶ ௌு 以及初始值ܹܲ 。然后用户获取ܶܵ ଵ ,输入ܫܦ 和ܤܫܱ ,生成 ܴܰ ,并计算(ߪ ܫܦ ௌ ∥ ܫܦ ∥ ݊ ோ ∥ ߪ ߬ = ܩ݁݊ ܤܫܱ ܥܰ = ܴܰ ⨁ ܴܹܲ= ܫܦ ௌ ∥ ܫܦ ∥ ݊ ோ ∥ ܶ ௌு ∥ ܴܰ ∥ ߪ ,)(),h() ,h()。最后,用户将{ܶܵଵ , ܹܲ , ܴܹܲ, ܫܦ ௌ , ܴܰ} 发送给网关。
4) 网关在收到消息时检查 ܶܵ ଵ 。如果超过通信阈值,网关拒绝该消息。否则,网关生成一个随机数݇ ,检索ܫܦ ீௐ ,并计算 ܶܥ = ܲܫܦ = ܶܥ ⨁ܫܦ ௌ ⨁ ݇ ∥ ܴܰ ∥ ܫܦ ீௐ ܴܹܲ ∥ ܴܰ ܸ= ܶܥ ∥ ܴܹܲ ∥ ܹܲ h(),h(), h(),ܲܭீௐ = ܲܫܦ ∥ ݇ ∥ ܫܦ ீௐ ܲܫܦ ∥ ܫܦ ீௐ ⨁݇ ܣ = ܴܰ ⨁ ܶܵ ଶ ܶܵ ଶ ܲܫܦ ܸ h() 和h()。网关检索并将{,,}发送给用户U。最后,网关存储与ܲܫܦ 对应的{ܲܭ ீௐ , ܣ }。
5) U在接收到消息后检查ܶܵ ଶ 。如果超过通信阈值,U将拒绝该会话。否则,SC存储{ ܸ, ߬ , ܣ݈݃ݎ݅ݐh݉ௐ , ܶ ௌு , ܥܰ , ܲܫܦ } 。
C. 传感器节点注册阶段
为了抵御恶意传感器节点攻击并实现用户U的权限分离,我们的方案允许系统管理员监控传感器节点的注册阶段。用户 U必须参与该阶段并计算密钥k୧。此阶段如图2所示。
1) 传感器节点生成随机数݇,检索ܫܦௌே ,并将 ܫܦௌே替换为 ܲܫܦ= h(ܫܦௌே ∥ ݇ ∥ ܶܵଷ)。最后,传感器节点向网关发送{ܲܫܦ, ܫܦௌே, ܶܵଷ}2。) 网关在接收到消息时检查 ܶܵଷ。如果超过通信阈值,网关拒绝该消息。否则,网关检索 ܶܵସ ݇ ∥ ܲܫܦ ܶܥ= ܲܶܥ= ܶܥ⨁ܲܫܦ ܲܶܥ ܶܵସ 并计算h(),。然后网关将{,}发送给传感器节点,并存储与ܫܦௌே对应的{ܲܫܦ}。
3) 传感器节点在接收到消息时检查ܶܵସ。如果超过通信阈值,传感器节点拒绝网关。否则,传感器节点存储{ܲܶܥ}。
D. 登录阶段
通过我们的方案中的多个方面对U进行验证,例如Tୗୌ、ID୧、 IDୗେ、BIO୧、算法、PW的正确性,如图3所示,并描述如下。
1) 用户插入智能卡,输入相应的认证信息。智能卡获取时间戳ܶܵଵ 和 ܫܦ ௌ,生成随机数{ܴܰଵ, ܴܰ ଶ, ⋯,ܴܰ ೃ } 并向用户显示这些随机数。
2) 用户根据ܣ݈݃ݎ݅ݐh݉ௐ计算 ܸ ௐ并输入 ܸ ௐ。
3) 智能卡检索 ܶܵ ଶ 并检查用户是否在计算阈值内输入了 ܸ ௐ ?如果超出计算阈值,智能卡将拒绝此次登录。否则,智能卡计算 ܸ ௐ ∗ = ܣ݈݃ݎ݅ݐ ݉ ௐ ܴܰ ଵ ܴܰ ଶ ⋯ܴܰ ೃ h(,,),并验证 ܸ ௐ = ܸ ௐ ∗ 是否正确?若不正确,则智能卡拒绝该用户。否则,智能卡计算ߪ = ܴ݁(ܤܫܱ , ߬ )、 ܴܰ = ܥܰ ⨁ h(ܫܦ ௌ ∥ ܫܦ ∥ ݊ ோ ∥ ߪ )、 ܴܹܲ= ܶܥ = ܲܫܦ ⨁ܫܦ ௌ ⨁ ܫܦ ௌ ∥ ܫܦ ∥ ݊ ோ ∥ ܶ ௌு ∥ ܴܰ ∥ ߪ ܴܹܲ ∥ ܴܰ ܸ ᇱ = ܶܥ ∥ ܴܹܲ ∥ ܹܲ h()、h()、h(),然后检查ܸ ᇱ = ܸ是否正确?若不正确,智能卡拒绝该用户。否则,智能卡生成随机数ܴ ,检索ܶܵ ଷ ,并计算 ܦܫܦ ௌே = ܫܦ ௌே ⨁h(ܴܰ ∥ ܶܵ ଷ ∥ ܴ ∥ ܶܥ )、 ܲܭܵ = ܴ ⨁ ܶܥ ∥ ܶܵ ଷ ∥ ܴܰ ∥ ܲܭܵ ∥ ܦܫܦ ௌே ∥ ܲܫܦ ܶܵ ଷ ∥ ܶܥ ∥ ܴܰ ܥ =ܪܯܣܥ ோ h()、()。用户向网关发送{ܲܭܵ , ܶܵଷ ,ܦܫܦ ௌே , ܲܫܦ , ܥ }。
E. 认证与密钥协商阶段
在认证与密钥协商阶段,协商用于未来通信的临时密钥SK。整个阶段如图3所示。
1) 网关在接收到消息时检查 ܶܵଷ。如果超过通信阈值,网关拒绝该用户;否则,网关检索 ܫܦீௐ,获取{ܲܭீௐ,ܣ},并计算 ݇= ܲܭீௐ⨁ ܲܫܦ ∥ ݇ ∥ ܫܦீௐ ܲܫܦ ∥ ܫܦீௐ ܴܰ= ܣ⨁ ܶܥ= ݇ ∥ܴܰ ∥ ܫܦீௐ ܴ= ܲܭܵ⨁ h()、h()、h()、h( ܶܵଷ ∥ ܶܥ ∥ܴܰ ܸ݁ݎோ ),并验证( ܶܥ ∥ ܶܵଷ ∥ܴܰ ∥ ܲܭܵ ∥ܦܫܦௌே ∥ܲܫܦ ܥ= 1 ,)是否正确。若不正确,则网关拒绝该用户;否则,网关计算 ܫܦௌே= ܦܫܦௌே⨁ ܴܰ ∥ ܶܵଷ ∥ ܴ ∥ ܶܥ ܶܵସ ܲܫܦ h(),得到和{},生成一个随机数ܴீௐ ൫ܶܥ ∥ ܴீௐ ∥ ܶܵସ൯ ܶܥ= ݇ ∥ܲܫܦ ܲܭܵଶ= ܴ⨁ ܲܭܵଵ= ܴீௐ⨁ ൫ܶܥ ∥ ܶܵସ൯ ,并计算h()、 h、h、 ܥଵ= ܪܯܣܥோ ܴீௐ ∥ ܶܥ ∥ ܶܵସ ∥ܲܫܦ ∥ܲܭܵଵ ∥ܲܭܵଶ (),然后将{ܶܵସ, ܲܫܦ,ܲܭܵଵ,ܲܭܵଶ, ܥଵ}发送给传感器节点。
2) SN在接收到消息时检查ܶܵସ。如果超过通信阈值,SN拒绝GW。否则,SN计算 ܶܥ= ܲܫܦ⨁ܲܶܥ、 ܴீௐ= ܲܭܵଵ⨁h(ܶܥ ∥ ܶܵସ)、 ܴ= ܲܭܵଶ⨁h൫ܶܥ ∥ܴீௐ ∥ ܶܵସ൯,并检查 ܸ݁ݎோ ൫ܴீௐ ∥ ܶܥ ∥ ܶܵସ ∥ܲܫܦ ∥ܲܭܵଵ ∥ܲܭܵଶ、 ܥଵ൯= 1是否正确。如果不正确,SN拒绝GW。否则,SN生成一个随机数 ܴ ܲܭܵ= ܴ⨁ ܶܵହ ܶܥ ∥ܴீௐ ∥ܴ ∥ ܶܵହ ܥ= ܪܯܣܥோೕ ,检索并计算 h()、( ܶܥ ∥ ܶܵହ ∥ ܲܭܵ ∥ ܵܭ ܵܭ= ܴீௐ ∥ܴ ∥ܴ )、h()。最后,SN将{ܶܵହ,ܲܭܵ, ܥ}发送给GW。
3) 网关在接收到消息时检查 ܶܵ ହ 。如果超过通信阈值,网关拒绝该传感器节点;否则,网关计算 ܴ = ܲܭܵ ⨁ ܶܥ ∥ܴ ீௐ ∥ܴ ∥ ܶܵ ହ ܵܭ= ܴ ீௐ ∥ܴ ∥ܴ h(),h() 并验证 ܸ݁ݎ ோ ೕ ൫ܶܥ ∥ ܶܵ ହ ∥ ܲܭܵ ∥ ܵܭ ܥ ൯= 1 ,?如果不正确,则网关拒绝该传感器节点。否则,网关检索 ܶܵ ܶܥ ∥ ܴ ∥ܴܰ ∥ ܶܵ ܲܭܵ ଷ = ܴ ⨁ ܲܭܵ ସ = ܴ ீௐ ⨁ ,计算h(),h ൫ܴ ∥ܴ ∥ ܶܥ ∥ܴܰ ∥ ܶܵ ൯ ܥ ଶ = ܪܯܣܥ ோ ಸೈ ,( ܶܥ ∥ ܶܵ ∥ܴܰ ∥ܲܭܵ ଷ ∥ܲܭܵ ସ ∥ ܵܭ ܶܵ ܲܭܵ ଷ ܲܭܵ ସ ܥ ଶ ),并向用户发送{,,,}。
4) 用户在接收消息时检查ܶܵ 。如果超过通信阈值,用户拒绝网关。否则,智能卡计算 ܴ = ܲܭܵ ଷ ⨁ ܴ ீௐ = ܲܭܵ ସ ⨁ ܶܥ ∥ ܴ ∥ ܴܰ ∥ ܶܵ ൫ܴ ∥ ܴ ∥ ܶܥ ∥ ܴܰ ∥ ܶܵ ൯ ܵܭ= h(), h,h( ܴ ீௐ ∥ ܴ ∥ ܴ ܸ݁ݎ ோ ಸೈ )并验证( ܶܥ ∥ ܶܵ ∥ ܴܰ ∥ ܲܭܵ ଷ ∥ ܲܭܵ ସ ∥ ܵܭ ܥ ଶ = 1 ,)是否正确。如果不正确,智能卡拒绝网关。否则,智能卡使用 ܸ ଵ =h(ܶܥ ∥ ܴܹܲ ∥ ܸ ௐ)更新 ܸ,以用于下次登录。
F. 更新阶段
更新阶段是实用且安全的,我们的方案包含了该阶段,具体描述如下。
1) 智能卡验证用户身份的合法性是关键步骤,且秘密 ݇ 在网关中计算。
2) 认证完成后,U可以更新登录信息。U输入新的ܫܦ ௪, ܤܫܱ ௪, ݊ோ ௪, ܶௌு ௪并重新定义ܣ݈݃ݎ݅ݐh݉ௐ ௪, ܹܲ ௪。SC生成ܴܰ ௪并计算(ߪ ௪ , ߬ ௪ )= ܩ݁݊(ܤܫܱ ௪ ), ܥܰ ௪ =ܴܰ ௪ ⊕ h(ܫܦௌ ∥ ܫܦ ௪ ∥ ݊ ோ ௪ ∥ ߪ ௪ ), ܴܹܲ ௪ =h(ܫܦௌ ∥ 186 授权许可使用仅限于:东卡罗来纳大学。下载时间:2021年6月14日20:57:27协调世界时,来源:IEEEXplore。适用限制条款。 ܫܦ ௪ ∥ ݊ோ ௪ ∥ ܶௌு ௪ ∥ܴܰ ௪ ∥ ߪ ௪)。然后U检索ܶܵଵ ௪并向网关发送{ܫܦௌ,ܴܰ ௪, ܹܲ ௪,ܴܹܲ௪, ܶܵଵ ௪}。
3) 网关检查ܶܵଵ ௪。如果超过通信阈值,网关拒绝用户。否则,网关生成一个新的随机数 ݇ ௪ ݇ ௪ ∥ ܴܰ ௪ ∥ ܫܦீௐ ܶܥ ௪= ܲܫܦ ௪= ܶܥ ௪ ⊕ܫܦௌ ⊕ ܴܹܲ௪ ∥ ܴܰ ௪ ,计算h()、 h()、ܸ௪=h(ܶܥ ௪ ∥ ܴܹܲ௪ ∥ ܹܲ ௪)、ܲܭீௐ ௪=h( ܲܫܦ ௪ ∥ ܫܦீௐ ܲܫܦ ௪ ∥ ݇ ௪ ∥ ܫܦீௐ ⨁݇ ௪ ܣ ௪= ܴܰ ௪⨁ ܶܵଶ ௪ )和h(),检索,并向用户发送{ܶܵଶ ௪, ܸ௪, ܲܫܦ ௪}。网关更新对应于ܲܫܦ ௪ 的{ܲܭீௐ ௪, ܣ ௪}。
4) 用户检查 ܶܵଶ ௪。如果超过通信阈值,用户拒绝网关。否则,用户更新{ܶௌு ௪,ܣ݈݃ݎ݅ݐh݉ௐ ௪, ߬ ௪,ܸ௪, ܥܰ ௪, ܲܫܦ ௪}。
G. 传感器节点添加阶段
由于传感器节点的能量可能会耗尽,设计传感器节点的添加阶段以替换已耗尽的传感器节点是切实可行的。为了实现用户U的权限分离,该阶段要求每个新的传感器节点必须在系统管理员的监督下由合法用户注册,直到计算出k୧为止。
1) 新传感器节点 ܵܰ௪必须上传与系统设置阶段相同的所有功能和参数。第一步与登录阶段相同,直到计算出 ݇。认证通过后,网关允许用户将 ܵܰ௪添加到无线传感器网络中。
2) ܵܰ௪检索新的身份 ܫܦௌே ௪, ܶܵ௪并生成一个新的随机数݇ ௪。然后ܵܰ௪将ܫܦௌே ௪替换为 ܲܫܦ ௪=h( ܫܦௌே ௪ ∥ ݇ ௪ ∥ ܶܵ ௪),并向网关发送{ܲܫܦ ௪, ܶܵ௪, ܫܦௌே ௪}。
3) 网关检查ܶܵ௪的新鲜性。如果ܶܵ௪不是新鲜的,网关将拒绝该请求。否则,网关计算 ܶܥ ௪= h(݇ ௪ ∥ ܲܫܦ ௪) 和 ܲܶܥ ௪= ܶܥ ௪⨁ܲܫܦ ௪。然后网关检索时间戳ܶܵଵ ௪并向传感器节点发送{ܲܶܥ ௪, ܶܵ ଵ ௪}。最后,网关存储与 ܫܦ ௌே ௪对应的{ܲܫܦ ௪}。
4) 传感器节点检查ܶܵ ଵ ௪的新鲜性。如果ܶܵ ଵ ௪不是新鲜的,则传感器节点终止会话。否则,传感器节点存储{ܲܶܥ ௪ }。
H. 智能卡注销阶段
设置智能卡撤销阶段,以防止用户U的智能卡在实际环境中可能丢失或损坏。
IV. 安全分析
在本节中,我们使用形式化与非形式化安全分析方法对我们的方案进行分析。Burrow‐Abadi‐Needham逻辑是最流行且被广泛接受的形式化分析方法[12]。我们采用BAN逻辑作为形式化方法来分析我们的方案。
A. Formal Security Analysis
1)
Security Goals of Authentication Scheme:
Goal 1. GW| ≡ U ↔ୗ GW
Goal 2. GW| ≡ U| ≡ U ୗ ↔ GW
Goal 3. U| ≡ GW ୗ ↔ U
Goal 4. U| ≡ GW| ≡ GW ୗ ↔ U
Goal 5. SN| ≡ GW ୗ ↔ SN
Goal 6. SN| ≡ GW| ≡ GW ୗ ↔ GW
Goal 7. GW| ≡ SN ୗ ↔ GW
Goal 8. GW| ≡ SN| ≡ SN ୗ ↔ GW
2)
The Idealized Initial Status Forms of Our Scheme:
Aଵ: U| ≡#(R୧, Rୋ, R୨)
Aଶ: GW| ≡#(R୧, Rୋ, R୨)
Aଷ: SN| ≡#(R୧, Rୋ, R୨)
Aସ: U| ≡ U େ ፍሮ GW
Aହ: GW| ≡ GW େౠ ፍሮ SN
A: SN| ≡ SN େౠ ፍሮ GW
A: GW| ≡ GW େ ፍሮ U
A଼: SN ⊲{Rୋ}େౠ
Aଽ: GW ⊲{R୨}େౠ
Aଵ: U ⊲{Rୋ}େ
Aଵଵ: GW ⊲{R୧}େ
Aଵଶ: GW ⊲{U ୖ ↔ GW}େ
Aଵଷ: SN ⊲{GW ୖ ృ ር⎯ሮ SN}େౠ
Aଵସ: GW ⊲ ൜SN ୖ ౠ ↔ GWൠ େ ౠ
Aଵହ: U ⊲{GW ୖ ృ ር⎯ሮ U}େ
3)
The Idealized Transmitted Messages of Our Scheme:
M ଵ: U→ GW: {C୧ , DID ୗ , PKS ୧ , TS ଷ , PID ୧}
M ଶ: GW → SN: {Cଵ , PKS ଵ , PKS ଶ , PID ୨ , TS ସ}
M ଷ: SN→ GW: {TSହ , C ୨ , PKS ୨}
M ସ: GW → U: {Cଶ , PKS ଷ , PKS ସ , TS }
4)
The Main Analysis Steps of Our Scheme:
By A , A ଵଶ , and the message-meaning rule, we get:
S ଵ : GW| ≡ U| ∼ U ୖ ↔ GW
By Aଶ , S ଵ , and the nonce-verification rule which R୧ is the necessary part of SK, we get:
S ଶ : GW| ≡ U| ≡ U ୗ ↔ GW (Goal 2)
By Mଵ and the seeing rule, we get:
S ଷ : GW ⊲(C୧ , DID ୗ , PKS ୧ , TS ଷ , PID ୧)
By A , S ଷ , Aଵଵ , and the message-meaning rule, we get:
S ସ : GW| ≡ U| ∼ R ୧
By Sସ , Aଶ , freshness rule and nonce-verification, we get:
S ହ : GW| ≡ U| ≡ R ୧
By Sହ,Aଶ Aଵଵ,and session keys rule which R୧ is the necessary part of SK, we get:
S: GW| ≡ U ↔ୗ GW (Goal 1)
By Aଵହ , Sସ and message-meaning rule, we get:
S: U| ≡ GW | ∼ Rୋ
By Aଵ, S and nonce-verification, where Rୋ is the necessary part of SK, we get:
S଼: U| ≡ GW| ≡ GW ୗ ↔ U (Goal 4)
By Mସ and seeing rule, we get:
Sଽ: U ⊲(Cଶ,PKSଷ, PKSସ, TS)
By Aଵ, Sଽ, Aସ and message-meaning rule, we get:
Sଵ: U| ≡ GW | ∼ Rୋ
By Aଵ, Sଵ, freshness rule and nonce verification, we get:
Sଵଵ: U| ≡ GW| ≡ Rୋ
By Aଵ, Sଵଵ, Aଵ, and session key rule where Rୋ is the necessary part of SK, we get:
Sଵଶ: U| ≡ GW ୗ ↔ U (Goal 3)
By A, Aଵଷ, applying message-meaning rule, we get:
Sଵଷ: SN| ≡ GW| ∼ GW ୖୈ⎯ሮ SN
By Mଷ, Aଵଷ and nonce-verification rule, where Rୋ is the necessary part of SK, we get:
Sଵସ: SN| ≡ GW| ≡ GW ୗ ↔ SN (Goal 6)
By Mଷ and seeing rule, we get:
Sଵହ: SN ⊲(TSହ,C୨,PKS୨)
By A, Sଵହ, A଼ and message-meaning rule, we get:
Sଵ: SN| ≡ GW| ∼ Rୋ
By Aଷ, Sଵ, freshness rule and nonce verification, we get:
Sଵ: SN| ≡ GW| ≡ Rୋ
By Aଷ, Sଵ, A଼, and session key rule where Rୋ is the necessary part of SK, we get:
Sଵ଼: SN| ≡ GW ୗ ↔ SN (Goal 5)
By Aହ, Aଵସ, and message-meaning rule, we get:
Sଵଽ: GW| ≡ SN| ∼ SN ୖ ౠ ↔ GW
By Aଶ, Sଵଽ, and nonce-verification rule (where R୨ is the necessary part of SK), we get:
Sଶ: GW| ≡ SN| ≡ SN ୗ ↔ GW (Goal 8)
By Mଷ and seeing rule, we get:
Sଶଵ: GW ⊲(TSହ, C୨, PKS୨)
By Aହ, Sଶଵ, Aଽ and message-meaning rule, we get:
Sଶଶ: GW| ≡ SN| ∼ R୨
By Aଶ, Sଶଶ, freshness rule and nonce verification, we get:
Sଶଷ: GW| ≡ SN| ≡ R୨
By Aଶ, Sଶଷ, Aଽ and session key rule (where R୨ is the necessary part of SK), we get:
Sଶସ: GW| ≡ GW ୗ ↔ SN (Goal 7)
From the above formal analysis, it can be concluded that our scheme achieves all authentication security goals.
B. 非正式安全分析
1)
个人信息泄露攻击
ࣛ 可以获得SC、普通密码和U的生物特征,但ࣛ无法获取由算法计算出的临时且保密的密码。我们使用Tୗୌ来验证用户定义的算法,以防止猜测攻击。即使ࣛ破解了算法,也无法获得上次成功登录的密码,因为该密码是可计算的,且仅由合法用户在上次成功登录时获知。若ࣛ试图猜测PW,则成功概率约为 ଵ ଶభలబశభలబశల,其中PW包含n个字符,哈希函数输出为160位,该概率可忽略不计。由于可计算密码和上次成功登录的密码是随机且加密的,本方案能有效抵抗个人信息泄露攻击。
2)
匿名性
本方案使用{RN୧, TC୧}将身份IDୗେ和IDୗ加密为伪身份PID୧和DIDୗ。根据哈希函数性质,ࣛ无法从截获消息中推导出真实身份。若ࣛ试图猜测IDୗେ和IDୗ,成功概率分别约为 ଵ ଶలశభలబశభలబ 和 ଵ ଶలశభలబ,其中IDୗେ和IDୗ均为n字符,该概率可忽略。因此,本方案实现了用户U和传感器节点SN的匿名性。
3)
被盗智能卡攻击
若SC丢失,ࣛ可获取{算法、V、PID୧、CN୧、τ୧、Tୗୌ}。所有秘密信息均经哈希函数加密,故ࣛ无法推导出{ID୧、BIO୧、PW}。即使ࣛ尝试猜测BIO୧和PW,猜测PW的成功概率如前所述可忽略;猜测BIO୧的概率约为 ଵ ଶ భమశభమఴశభలబ,其中IDୗେ和ID୧为n字符,随机数128位,生物哈希输出160位,该概率亦可忽略。
4)
相互认证
本方案使用HMAC和Ver函数实现相互认证。所有认证功能至少由两个密钥加密,并通过哈希函数保护,比单密钥认证更安全,ࣛ无法冒充合法实体。
5)
在线猜测攻击
本方案采用临时加密随机数作为会话密钥关键参数。由于哈希函数特性,ࣛ无法推导这些随机数。猜测会话密钥的概率约为 ଵ ଶ భమఴశభమఴశభమఴ,其中随机数为128位,该概率可忽略。因此,本方案能有效抵御在线猜测攻击。
V. 与其他方案的比较
在本节中,我们将本方案与Dhillon和Kalra [13]、Amin等人 [14]、Srinivas等人 [15] 提出的几种优秀方案在安全性能和开销性能方面进行比较。
A. 安全性比较
本认证方案与其他方案的安全性能综合比较如表 II 所示。结果显示,本方案提供最佳安全性能。表中9/±符号表示方案是否能抵抗攻击。比较的安全属性如下:
1 = 个人信息泄露攻击
2 = 被盗智能卡攻击
3 = 相互认证
4 = 匿名性
5 = 在线猜测攻击
表II. 与其他方案的安全性比较
| 方案 | [13] | [14] | [15] | Ours |
|---|---|---|---|---|
| 1 | ± | ± | ± | 9 |
| 2 | ± | ± | 9 | 9 |
| 3 | ± | 9 | 9 | 9 |
| 4 | 9 | 9 | 9 | 9 |
| 5 | ± | 9 | 9 | 9 |
B. 开销比较
本节全面比较本方案与其他方案的开销性能,包括计算开销和通信开销。表III展示了总开销对比,表明本方案总开销最小。
表 III. 总开销比较
| 方案 | 计算 (ms) | 通信 (比特) | MICAz (mJ) |
|---|---|---|---|
| [13] | 0.451 | 3200 | 1.451 |
| [14] | 0.015 | 2272 | 1.022 |
| [15] | 0.919 | 4256 | 1.937 |
| Ours | 0.456 | 2080 | 0.947 |
根据研究[16],ECC和模糊提取器执行时间为0.442 ms,HMAC、Ver和哈希函数为0.0004 ms,对称加密/解密为0.1303 ms。哈希、身份及ECC密钥长度为160位,ECC和时间戳长度分别为320位和32位,随机数和HMAC长度为128位。我们在MICAz平台上计算能量消耗[17],公式如下:
计算开销 Eେ = 3 V × 8 mA × 1 ms = 0.024 mJ
传输开销每比特 E = 3 V × 17.4 mA / 1,250,000 ≈ 0.00021 mJ/bit
接收开销每比特 Eୖ = 3 V × 19.7 mA / 1,250,000 ≈ 0.00024 mJ/bit
VI. 结论
本文提出了一种基于可计算密码的安全高效认证方法。该方法采用用户自定义的密码计算算法,使每次登录密码均可计算且保密。此外,将上次成功登录的密码引入认证过程,有效抵御静态密码相关攻击。通过详细对比,本方案总开销最小。
1679

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



