首页 理论教育 传感器网络加密协议(SNEP)优化方案

传感器网络加密协议(SNEP)优化方案

时间:2023-06-22 理论教育 版权反馈
【摘要】:为了加密消息和产生消息认证码,SNEP采用了轻量级版本的RC5。使用了分离的密钥,加密用Kencr;产生消息认证码的是Kmac;产生随机数的是Krand。SNEP另外一个重要特点是,它是由发送方A和接收方B共同维护的计数器。因为加密和生成消息认证码时,均用到计数器的值c,这也提供了语义安全。如果需要数据机密和认证,第一个消息也能用普通SNEP。

传感器网络加密协议(SNEP)优化方案

为了加密消息和产生消息认证码(MAC),SNEP采用了轻量级版本的RC5。使用了分离的密钥,加密用Kencr;产生消息认证码(MAC)的是Kmac;产生随机数的是Krand。所有的密钥都是由初始的主密钥自举的(Bootstrapped),这个主密钥是由基站和节点共享的。一个伪随机函数F用来派生出密钥。由于FKX)=MACKX)是引导密钥的函数,并且消息认证码(MAC)有很强的单向性,所以密钥是计算上独立产生的。这意味着如果有一个密钥被损坏,双方不用传送任何机密信息,就能派生出一个新的密钥。

SNEP另外一个重要特点是,它是由发送方A和接收方B共同维护的计数器(Counter)。每一次成功的传输之后,AB双方将计数器累加,这将确保新鲜性和语义安全。对加密来说,计数器的值是一个输入。因此,即使相同的明文传输了两次,每次传输中的密文也是不同的。这为数据机密性提供了语义安全。

在SNEP里,A方为了发送数据片段D,发送以下消息给B方:

AB:∈,M

其中,∈是加密数据片段,例如978-7-111-34574-9-Part02-71.jpgM是消息认证码(MAC),例如978-7-111-34574-9-Part02-72.jpgc是计数器的值。

注意:计数器的值c和加密消息∈首先连接到一起,即c∈,并被传给消息认证码(MAC)生成函数。得到的消息认证码(MAC)和加密消息∈一起传输。这提供了数据机密性和认证。因为加密和生成消息认证码(MAC)时,均用到计数器的值c,这也提供了语义安全。计数器还确保了新鲜性。然而,应用在普通SNEP里的计数器只能保证弱新鲜性,例如,它能确保相同的消息不被多个节点重放。而强新鲜性,通过发送一个新鲜数(Nonce)η,即一个不可预测的随机数,挑战发送方。为做到这一点,需要做到:(www.xing528.com)

1)节点A随机产生一个新鲜数ηA,把它和请求消息ρA一起发送。

ABηAρA

2)节点B返回应答消息ρB和经消息认证码(MAC)计算后的ρB和新鲜值ηA

如果消息认证码(MAC)验证是正确的,节点A知道当它发出请求时,节点B生成响应。如果需要数据机密和认证,第一个消息也能用普通SNEP。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈