无线传感器网络中使用eSTREAM密码的认证加密
1. 引言
无线传感器网络(WSNs)由大量传感器节点组成,这些节点用于观测环境参数、检测运动,并通过无线媒体将数据传输到汇聚节点或基站。WSNs在民用和军事领域都有广泛应用,但面临着两大问题。一方面,传感器节点的能量、计算和通信能力有限;另一方面,由于它们可能部署在广阔区域或敌对领土,容易受到节点捕获、物理篡改、监控或窃听等攻击。因此,需要确保数据的机密性、认证性和完整性,而资源受限的传感器节点对加密社区和信息安全专家提出了挑战,需要研究出轻量级且强大的安全解决方案。
2. 相关工作
网络安全可以通过不同的网络层安全协议来保障,如IP层的IPSec、WSNs中的链路层安全协议TinySec和SPINS。不过,加密解决方案通常被认为更可靠。在密码学领域,早期的密码机时代之后,分组密码成为焦点,如1974年被选为标准的DES,以及2000年成为高级加密标准(AES)的Rijndael。分组密码经过了广泛测试和应用,具有较高的安全性,但在资源受限的WSNs中,复杂的加密硬件并不适用,高效的软件实现和同等的安全性才是关键。
流密码由于其设计特点,在软件实现方面具有优势。2004年,欧盟发起了eSTREAM密码项目,旨在选择安全和效率与AES相当的流密码。最初有34个提案,经过筛选,最终确定了适合软件实现的Rabbit、Salsa 20、Sosemanuk和HC 128,以及适合硬件实现的Trivium、Grain v1和MICKEY v2。
3. 使用流密码的认证加密
在网络环境中,通常使用哈希算法(如HMAC)来实现认证。分组密码在特定模式下(如CBC)可以提供认证加