WSNs中基于三因素节点评估的安全认证方案
2.3 登录阶段
本文引用地址:https://www.eepw.com.cn/article/276364.htm 当用户插入智能卡并输入自己的用户名和密码
并发送请求给网关节点来请求服务时,用户的智能卡需要进行如下的认证过程:
(1)Ui插入智能卡并输入用户名和密码
,并向网关节点发出登录请求。
(2)智能卡计算和
,然后检验
是否等于Ni。如果相等,用户的合法身份就会得到确认并进行下面的步骤;否则,拒绝用户的登录请求。
(3)智能卡计算DIDi=h(PW||IDi) h(Ti ||x),这里的Ti是用户当前的时间戳。Ci =h( Ni||x||Ti )。
(4)Ui→GW:用户把{DIDi,Ci,Ti,x,h(.)}传给网关节点。
2.4 认证阶段
网关节点GW在Tg收到{DIDi,Ci,Ti,x,h(.)}后,会进行如下操作来验证Ui的身份:
(1)验证Tg-Ti是否不大于ΔT。如果时,网关节点进行下面的步骤;否则网关节点拒绝用户的请求。这里,ΔT表示期望的传输延时时间间隔。
(2)计算。通过使用
=DIDi
h(Ti||x)
h(x),
=h(
||x||Ti )来进行计算。
(3)认证Ci是否等于。如果Ci =
,网关节点就接受用户的登录请求;否则拒绝用户的请求。
(4)GW→Sn:{DIDi,,Ei,h(.),x,Cg}。网关节点查询网络中节点的信任度找到Sn,然后计算
,
,并通过公共信道传送{DIDi,
,Ei,h(.),x,Cg}给传感器节点Sn。T是网关节点发送请求时的时间戳。Sn是经过节点信任度计算后得出的可信节点中,最邻近的网关节点的传感器节点。λ是GW节点产生的随机数[12]。
(5)GW→Ui:{Cg,λ,h(.),x}。网络节点通过公共信道传送{Cg,λ ,h(.),x}给用户Ui。
(6)传感器节点Sn检查T和Ei。传感器节点Sn在Tn时刻收到{DIDi, ,Ei,h(.),x}后,首先验证Tn -
是否不大于ΔT,如果满足执行后面步骤;否则拒绝用户的请求。然后再验证Ei是否等于h(DIDi ||Sn||x||
)。如果等于,Sn发送{Sn}给用户Ui来回复用户的请求;否则拒绝用户的请求。
2.5 交互认证阶段
用户收到{Cg,λ,h(.),x}和{Sn}以后,会执行如下步骤:
Ui检查Cg。用户首先验证Cg是否等于h(DIDi ||Sn||x||λ)。如果等于,用户和传感器使用Cg作为会话密钥进行通信;否则验证失败。
2.6 密码更改阶段
为了更改用户密码,用户插入智能卡后先输入原来的IDi和PWi来确认用户的身份,再输入新密码。步骤如下:
(1)用户智能卡验证密码。用户智能卡计算PW是否等于h(PWB),如果相等,可以进行下面的步骤;否则拒绝修改密码。
(2)智能卡计算 ,
,并用PW*和
代替智能卡中的PW和Ni[13] 。
3 安全及性能分析
3.1 安全性分析
(1)抵抗重放攻击。在认证阶段,需要保证Tg-Ti≤ΔT和Tn -≤ΔT,而ΔT是经过反复试验所得出的有效时间间隔,这可以很好保证网络免受攻击者的重放攻击。
(2)抵制内部攻击。一个有特权的内部攻击者能够截获用户Ui的不加处理的用户名和密码,并模仿用户来获取网络服务[14]。而本方案在注册阶段用PW=h(PWiB)来代替PWi放到安全通道传输。这种方法可以防止密钥被攻击者截获。所以,本方案可以抵御内部攻击。
(3)防止伪装攻击。用户若想模仿一个合法用户登录到WSNs上,必须要有DIDi来认证其合法性。然而,DIDi=h(PW||IDi)h(Ti||x)是通过单向哈希函数得到的,而攻击者由于无法得到IDi,x,PW,从而无法得到DIDi和Ci。这有效地保护了网络免受伪装攻击。
(4)交互认证。交互认证是用来验证用户、网关节点、传感器节点三者身份有效性的一个很重要的方法[15]。首先本方案用节点信任度来计算每个节点的信任度,保证通信过程中,用户和网关节点只与可信的传感器节点进行通信,从而保证了认证过程的安全。其次,在用户Ui登录网关节点后,网关节点会通过计算Ni=h(PW||IDi)h(x)来验证用户身份的合法性。然后,在认证阶段,网关节点发送{DIDi,
,Ei,h(.),x,Cg}给传感器节点Sn,发送{Cg,λ,h(.),x}给用户Ui,这样,用户Ui可以通过Cg=h(DIDi||Sn||x||λ)来认证网关节点和Sn。最后,传感器节点Sn可以通过Ei=h(DIDi||Sn||x||
)来认证网关节点。这样,本方案可以有效地实现用户、网关节点和传感器节点三者的交互认证。
(5)安全地更改密码。本方案可以让用户及时更新密码,即用户只要通过认证,就可以用PW*和来替换用户智能卡里的PW和Ni。
表2 给出了本方案与Watro等的方案、Wong等方案、Das等方案在安全性上的对比。通过对比从而发现本方案比其它的方案更安全。
3.2 性能分析
为了把本方案与其它相关方案作性能对比,本文评估它们的计算花费、通信花费、存储花费和节点能量花费。
(1)计算花费
首先需要定义各计算花费的符号表示,th表示哈希函数的计算时间,ttr表示节点信任度的计算时间,tPU表示公钥的计算时间,tPR表示私钥的计算时间。需要注意的是,tPU和tPR远高于th。在认证阶段,Watro等提出的方案的计算花费为,Wong等提出的方案的计算花费为4th,Das等提出的方案的计算花费为5th,本方案的计算花费为
。
本方案与Watro等提出的方案相比,Watro等提出的方案在认证阶段需要两个公钥计算时间和两个私钥计算时间,并且它使用复杂的Diffie- Hellman和RSA来进行计算,而论文所提出的方案除了计算哈希函数外,还需要计算节点信任度,而信任度计算的复杂性不高,有着很高的优越性。
然而,与其余的两个方案相比,本方案的计算时间会高于它们。但是,其余两种方案都存在安全问题,而本方案可以解决它们没解决的安全问题,从而提供比它们更好的安全性。
(2)通信花费
本文提出的方案每进行一个成功的认证,需要进行四次信息交换,而其它的三个认证方案分别需要两次、四次和三次信息交换。尽管Watro等提出的方案需要很少的信息交换,但是此方案的计算花费很大,并不适用于资源有限的无线传感器网络,而提出的方案的信息量要少于其他的三个方案。
评论