87、无线传感器网络中基于硬件的随机数生成

无线传感器网络中基于硬件的随机数生成

1 引言

无线通信网络的新进展推动了低成本传感器网络的发展,这些网络由大量称为“motes”的传感器设备组成。这些设备体积小、计算能力有限且资源严重受限,可应用于军事、商业、健康、家庭和环境监测等多个领域。然而,这些传感器节点常部署在开放区域,易受到各种攻击,如消息篡改、监听流量、注入未授权消息、节点伪装或提供虚假信息等。

传感器网络的关键安全问题包括数据机密性、完整性、新鲜度、消息认证、访问控制、语义安全和消息重放保护等,解决这些问题依赖于密码学,因此需要精心设计密码学随机数生成器。在密码学中,随机数用于加密密钥、会话密钥、公钥生成和初始化向量等,整个密码应用的安全性取决于随机数的安全性。

本文提出了一种基于接收信号强度指示器(RSSI)的硬件随机数生成技术。RSSI用于测量接收到的无线电信号的功率,使用它的好处是通信运营成本低且无需额外硬件。基于RSSI读数生成的随机数可用于大量密码操作。

2 相关工作

2.1 软件与硬件随机数生成器的区别

随机数生成器(RNG)分为软件和硬件两种类型,它们生成随机数的方式有根本区别。
- 软件随机数生成技术 :使用数学算法生成随机数,需要种子值进行初始化,种子值通常来自计算机中的重复事件,如按键间隔时间、鼠标移动、系统时钟或操作系统中的运行进程。因此,种子值容易被猜测,即使种子值难以猜测,一旦算法被发现,也能轻易生成重复的数字序列。此外,无线信道上的网络时序容易被监测,传感器时钟缓慢,时序也容易预测,所以软件随机数生成技术不安全。
- 硬件随机数生成技术 :简单且在一定程度上安全,不需要种子值和生成随机数的算法。它利用物理现象中的随机性,如湿度、光线、温度、原子核、放射性衰变等。与软件技术相比,硬件技术被认为是真正随机的,因为即使攻击者找到一个密钥,也很难猜测未来的密钥。

2.2 常见随机数生成技术及其弱点

技术名称 简介 弱点
线性同余生成器(LCG) 最常用的软件RNG,根据线性递推公式 $x_n = ax_{n - 1} \mod m$ 生成随机数序列,其中 $a$、$m$ 是参数,$x_0$ 是种子 输出可预测,不适合用于密码学目的
线性反馈移位寄存器(LFSR) 可高效在硬件中实现,能生成具有高质量统计分布的长随机序列 本身由于线性特性不安全,通常作为更复杂生成器的基本模块
逆同余生成器 与LCG类似但非线性,使用 $x_{n + 1} = (ax_n^{-1} + b) \mod m$ 生成随机数,其中 $x_n^{-1}$ 是 $x_n$ 模 $m$ 的乘法逆元 计算成本高,不常使用

2.3 基于物理噪声的硬件随机数生成

为避免软件和用户输入生成随机数的缺点,可以使用物理过程产生的随机噪声生成硬件随机数。但这种方法也存在问题:
- 噪声源必须是随机且不可预测的,通常是基于原子尺度波动的自然模拟过程,如热噪声、核衰变和电磁噪声等。这些事件涉及大量变量,结果难以预测。
- 常用的电阻中的热噪声、散粒噪声和闪烁噪声虽然足够随机且可紧凑廉价设计,但幅度很小,需要放大后才能采样。放大过程会带来两个问题:一是放大器不完美,会导致初始纯噪声和放大后的输出噪声之间存在差异;二是难以屏蔽弱信号免受周围强数字信号的干扰。

3 预备知识

3.1 问题陈述

  • 目标 :提出一种基于RSSI的高效硬件随机数生成技术,用于生成无线传感器网络中的加密密钥,确保即使攻击者确定一个密钥,也无法用它预测未来的密钥。
  • 测试 :使用“NIST随机性测试套件”对生成的结果进行测试,以检查其随机性。

3.2 平台

  • 硬件 :使用Tmote,配备250kbps 2.4GHz IEEE 802.15.4 Chipcon无线收发器。这些motes集成了湿度、温度和光线传感器,可通过USB端口进行编程和数据收集。Telosb有48k闪存和10k RAM。
  • 软件 :利用TinyOS和NesC的强大功能实现无线传感器网络的安全架构,使用TinyOS 2.02版本。选择该平台是因为它可以在真实传感器网络测试床上进行测试,并在传感器节点上进行实时演示。

3.3 接收信号强度指示器(RSSI)

RSSI是对接收到的无线电信号功率的测量,其测量值无单位,范围在0 - 255之间,可表示为从物理层获得的8位或10位数字,具体位数取决于硬件。由于RSSI是传输功率的函数,不同的传输功率会导致不同的RSSI读数。

4 提出的技术

4.1 实验设置

进行室内实验,实验设置如下:
- 一台带有串口的PC或笔记本电脑,插入一个mote作为基站,基站作为PC串口和motes网络之间的桥梁。
- 其余motes为移动设备,由电池供电,放置在离基站不同的位置。

4.2 数据收集阶段

  • Tmotes配备了Chipcon CC2420无线电用于无线通信,CC2420会测量每个数据包的RSSI值,并提供随时可读的数字RSSI。
  • 移动motes向连接到PC或笔记本电脑的基站发送数据包,基站接收数据包后测量每个数据包的RSSI值,并可在PC屏幕上查看。
  • 通过改变motes的位置获取不同的RSSI值,然后在PC上对RSSI轮廓进行整理并转换为二进制数,得到的二进制输出即为随机数。

4.3 随机性测试阶段

使用“NIST随机性测试套件”对生成的二进制输出进行测试,以检查结果数据的随机性。NIST统计测试套件包含16个测试,用于测试由硬件或软件密码学随机或伪随机数生成器产生的任意长二进制序列的随机性。

graph LR
    A[实验设置] --> B[数据收集阶段]
    B --> C[随机性测试阶段]

5 结果与分析

5.1 测试原理

使用测试统计量计算P值,P值总结了反对原假设(即被测试序列是随机的)的证据强度。对于每个测试,P值是一个完美随机数生成器在给定测试所评估的非随机性类型下,生成比被测试序列更不随机序列的概率。
- 如果P值等于1,则序列似乎具有完美的随机性。
- 如果P值为零,则序列似乎完全不随机。
通常选择显著性水平α在[0.001, 0.01]范围内,密码学中常用的α值约为0.01。如果P值≥α,则接受原假设,即序列似乎是随机的;如果P值 < α,则拒绝原假设,即序列似乎是非随机的。

5.2 测试结果

序号 统计测试 P值 结论
1 频率测试(n, ϵ) 0.731 SUCCESS
2 块频率测试(n, ϵ) 0.2012 SUCCESS
3 游程测试(n, ϵ, τ) 0.1749 SUCCESS
4 块中最长连续1的测试(n, ϵ) 1.0 SUCCESS
5 扑克测试(n, ϵ) 0.679 SUCCESS
6 非重叠模板匹配测试(n, ϵ) 0.99 SUCCESS
7 重叠模板匹配测试(n, ϵ) 1.0 SUCCESS
8 Maurer的“通用统计”测试(n, ϵ, L, Q) 0.42 SUCCESS
9 累积和(Cusum) - 正向测试(n, ϵ?) 0.459 SUCCESS
10 累积和(Cusum) - 反向测试(n, ϵ) 0.762 SUCCESS
11 线性复杂度测试(n, ϵ, M) 0.481 SUCCESS
12 随机游走变体测试(n, ϵ) 0.79 SUCCESS
13 串行测试(n, ϵ, L, Q) 0.433 SUCCESS
14 串行 - 字节测试(n, ϵ) 0.629 SUCCESS
15 串行 - 双比特测试(n, ϵ) 0.216 SUCCESS

5.3 测试结论

所有测试的P值均大于0.01,这些测试都成功,因此可以得出结论:生成的数字是真正随机的,可用于几乎所有密码操作中提供安全保障。

6 结论

高效的密钥分配解决方案对于无线传感器网络中安全组通信的可行性至关重要。本文开发了一种用于无线传感器网络安全组通信的密钥分配方案,该方案使用单向密钥链为可能在有损环境中丢失的数据包提供会话密钥恢复的自愈机制。此外,基于RSSI的硬件随机数生成技术为无线传感器网络的安全提供了一种有效的方法,通过实验验证了生成的随机数具有较高的随机性,可满足密码学应用的需求。未来,可以进一步研究如何优化该技术,提高随机数生成的效率和安全性,以适应更复杂的应用场景。

7 技术优势与应用前景

7.1 技术优势
  • 低成本 :基于RSSI的随机数生成技术无需额外硬件,利用现有的无线通信设备即可实现,降低了硬件成本。例如,Tmote本身就具备测量RSSI的能力,无需添加新的模块。
  • 高随机性 :通过实验测试,生成的随机数在“NIST随机性测试套件”中表现良好,P值均大于0.01,证明其具有较高的随机性,可用于密码学应用中保障安全。
  • 自适应性 :由于RSSI是传输功率的函数,随着节点位置的变化和环境的改变,RSSI值也会相应变化,从而生成不同的随机数,具有一定的自适应性。
7.2 应用前景
  • 军事领域 :在军事通信中,传感器网络需要高度安全的通信保障。基于RSSI的随机数生成技术可用于生成加密密钥,保护军事信息的机密性和完整性,防止敌方监听和篡改。
  • 商业领域 :在商业环境监测、物流跟踪等应用中,传感器网络的安全至关重要。随机数可用于身份认证、数据加密等,确保商业数据的安全传输和存储。
  • 医疗领域 :在医疗健康监测中,传感器网络收集患者的生理数据,这些数据需要严格保密。随机数生成技术可用于保护患者隐私,防止数据泄露。

8 技术挑战与改进方向

8.1 技术挑战
  • 环境干扰 :RSSI值容易受到环境因素的影响,如障碍物、电磁干扰等,可能导致生成的随机数不够稳定。
  • 节点移动性 :在移动传感器网络中,节点的移动会导致RSSI值的快速变化,增加了随机数生成的复杂性。
  • 测试局限性 :“NIST随机性测试套件”虽然是一种常用的随机数测试方法,但可能无法完全检测出所有类型的非随机性。
8.2 改进方向
  • 抗干扰措施 :采用信号处理技术,如滤波、降噪等,减少环境干扰对RSSI值的影响,提高随机数的稳定性。
  • 移动性管理 :开发适应节点移动性的随机数生成算法,根据节点的移动速度和方向动态调整随机数生成策略。
  • 多测试方法结合 :结合多种随机数测试方法,如DIEHARD测试套件等,更全面地检测随机数的随机性。

9 总结与展望

9.1 总结

本文介绍了一种基于RSSI的硬件随机数生成技术,该技术在无线传感器网络的安全领域具有重要意义。通过实验设置、数据收集和随机性测试,验证了生成的随机数具有较高的随机性,可用于密码学应用中保障安全。同时,分析了该技术的优势、应用前景、挑战和改进方向。

9.2 展望

未来,随着无线传感器网络的不断发展,对随机数生成技术的要求也会越来越高。我们可以进一步探索利用更多的物理现象生成随机数,提高随机数的质量和安全性。同时,结合人工智能和机器学习技术,优化随机数生成算法,使其能够更好地适应复杂的应用环境。

技术相关 详情
技术优势 低成本、高随机性、自适应性
应用领域 军事、商业、医疗
技术挑战 环境干扰、节点移动性、测试局限性
改进方向 抗干扰措施、移动性管理、多测试方法结合
graph LR
    A[技术优势] --> B[应用前景]
    C[技术挑战] --> D[改进方向]
    B --> E[总结与展望]
    D --> E

综上所述,基于RSSI的随机数生成技术为无线传感器网络的安全提供了一种有效的解决方案,但仍需要不断地研究和改进,以满足日益增长的安全需求。在实际应用中,我们可以根据具体的场景和需求,选择合适的技术和算法,确保传感器网络的安全稳定运行。

分布式微服务企业级系统是一个基于Spring、SpringMVC、MyBatis和Dubbo等技术的分布式敏捷开发系统架构。该系统采用微服务架构和模块化设计,提供整套公共微服务模块,包括集中权限管理(支持单点登录)、内容管理、支付中心、用户管理(支持第三方登录)、微信平台、存储系统、配置中心、日志分析、任务和通知等功能。系统支持服务治理、监控和追踪,确保高可用性和可扩展性,适用于中小型企业的J2EE企业级开发解决方案。 该系统使用Java作为主要编程语言,结合Spring框架实现依赖注入和事务管理,SpringMVC处理Web请求,MyBatis进行数据持久化操作,Dubbo实现分布式服务调用。架构模式包括微服务架构、分布式系统架构和模块化架构,设计模式应用了单例模式、工厂模式和观察者模式,以提高代码复用性和系统稳定性。 应用场景广泛,可用于企业信息化管理、电子商务平台、社交应用开发等领域,帮助开发者快速构建高效、安全的分布式系统。本资源包含完整的源码和详细论文,适合计算机科学或软件工程专业的毕业设计参考,提供实践案例和技术文档,助力学生和开发者深入理解微服务架构和分布式系统实现。 【版权说明】源码来源于网络,遵循原项目开源协议。付费内容为本人原创论文,包含技术分析和实现思路。仅供学习交流使用。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值