一种无线环境监测数据采集与推送系统

2015-03-30 09:34杨运平吴成宾
关键词:收集器公钥洋葱

杨运平,吴成宾

(1.四川凯路威电子有限公司,四川 绵阳 621000;2.成都大学信息网络中心,四川 成都 610106)

一种无线环境监测数据采集与推送系统

杨运平1,吴成宾2

(1.四川凯路威电子有限公司,四川 绵阳 621000;2.成都大学信息网络中心,四川 成都 610106)

针对自然灾害易发区环境监测的现状,设计了一种无线环境监测数据采集和推送系统,给出了系统的总体结构以及各主要组成监测单元的构成.一方面,结合传感网节点资源紧张的特点,提出了基于消息队列遥测传输协议的信息推送方案;另一方面,为了避免监控中心下达的配置命令等指令数据被非法监听甚至纂改,改进了现有的洋葱路由协议,在通信实体间预先建立安全的通信链路,从而确保了数据在各种通信实体间的安全传输.

环境监测;无线传感网;推送;消息队列遥测传输协议;洋葱路由器

0 引言

山洪、泥石流高发易发等复杂野外环境,隐藏着许多潜在的危险因素,给人民的生命与财产安全带来巨大隐患.长期以来,人们试图通过各种方法观测、提前发现危险因素,尽量做到在灾害发生前做出预警提示,从而降低灾害带来的损失.目前,对灾害发生前的预警人们主要采用2种方案:一是借助简单设备,定期或不定期观测危险区域相关参数的变化情况,比如温度、湿度、压力、位移、雨量等,记录保存到纸质材料或计算机中,并做同比和环比分析,从而预测出可能到来的灾害概率,这种方法简单易行,但是效率较低,不能作为一种常规通用的监测手段;二是利用传感器与互联网手段来完成对自然灾害频发区域的早期监测、数据分析与预警提示,这种方案大大提高了监测与预测效率,但其缺点是布设通信线缆成本高昂,且后期维护不易,因此这种方案也不适宜大规模推广应用.随着技术的进步,通过引入无线传感器网、移动通信网、互联网及数据库等技术[1-4],完全可以实现在复杂环境下的全天候原始监测数据实时采集、传输与处理等一系列工作,从而取代老旧的监测系统甚至人工系统,其特别适合于通信基础设施比较薄弱的环境.此外,由于原始的监测数据保存在大型数据库中,相关部门也可以通过互联网远程访问被监测对象,从而为正确决策提供大数据支持.基于此,本研究设计了一种无线环境监测数据采集和推送系统,给出了系统的总体结构以及各主要组成监测单元的构成.

1 系统结构

本研究所设计的无线环境监测数据采集与推送系统总体结构如图1所示.

图1 系统总体结构示意图

1.1 采集节点

本系统的采集节点由数个传感器、单片机、模数转换电路、无线射频芯片和电源等组成.传感器采集的数据通过模数转换电路转换为数字信号后送给低功耗单片机处理单元,数据信号经过处理后通过射频电路和天线发送给收集器.采集节点和收集器之间可以双向通信,即采集节点可以向收集器发送监测到的数据信息,同时也可以通过收集器向采集节点发送操作指令.图2为采集节点构造示意图.

图2 采集节点构造示意图

1.2 收集器

收集器的主要功能是通过无线模块接收监控中心或其他收集器/采集节点传来的数据或指令,并将接收到的数据通过3/4G无线信道传送到监控中心.收集器内置Flash存储单元,当与监控中心通信中断时,可以暂存采集节点送来的原始数据到Flash中,待通信恢复后,再将Flash中的数据批量补发给监控中心.同时,本系统收集器采用太阳能电池板或外接电源供电,保证了收集器可长时间无人值守工作.此外,收集器之间可以实现双向通信,收集器通过运行ucLinux嵌入式操作系统,配置高增益全向天线,以保证实时接收采集节点或其他收集器传来的数据.监测区域可按一定距离布设多个收集器.图3为收集器结构示意图.

图3 收集器结构示意图

1.3 监控中心

监控中心主要实现2大功能:其一,接收收集器送来的原始采集数据并将其存入数据库,然后根据一定的智能算法与历史数据做同比、环比等对比分析,判断是否出现异常,若有,则立即向相关部门和有关责任人员发出语音或短信通知报警,并在大屏幕上实时绘出被监测对象的坐标、高程、状态与监测指标等信息变化图,从而为环境灾害应急响应提供较为可靠的数据依据和充裕的时间保证;其二,向下辖的各收集器推送各种配置和命令数据,例如配置不同收集器的数据上报频率,推送给收集器要求其主动上报某一时间段内的原始监测数据,收集器时钟校准,采集节点逻辑分组调整等命令.收集器同时负责与采集节点的双向通信.图4为系统监控中心组成示意图.

图4 系统监控中心组成示意图

2 协议

2.1 命令格式

本系统定义监控中心、收集器与采集节点之间的数据交换命令格式为:帧头+报文数据内容(最大65535+8字节)+帧尾.

帧头(SOH)以0x01表示,帧尾(EOH)以0x02表示,位于0x01与0x02之间的数据表示通过收集器传来的采集节点监测到的原始数据或者监控中心发给收集器的配置或命令报文.

为了方便实际报文包的组包和解包,定义报文数据内容格式如表1所示:

表1 报文内容字段格式(长度单位:字节)

表1中,Src或Dest,表示监控中心或采集器编号,0表示监控中心,1~255表示采集器;Node,表示采集节点,取值范围0~255,其中0表示本条命令仅涉及监控中心和采集器之间通信;ID,命令编号,支持多达256条不同种类的命令;Len,指净荷数据总长度,以字节为单位,这里的净荷数据是指经Zlib压缩后的数据;Data,净荷数据,包括命令数据、响应数据、主动上报数据和监测数据;Checksum,从Src字段(含)到校验前一个字节(含)的累加和.

2.2 信息推送协议

监控中心通过信息推送技术手段将数据或配置指令送达收集器,并采用MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)协议[5].MQTT协议是IBM开发的一个即时通讯协议,是为大量计算能力有限,且工作在低带宽、不可靠的网络的远程传感器和控制设备通讯而设计的协议,采用轻量级发布和订阅消息传输机制,几乎支持所有平台,可以把所有联网物品和外部连接起来,它具有以下主要的几项特性:使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合;对负载内容屏蔽的消息传输;使用TCP/IP提供网络连接.

此外,MQTT协议采用小型传输,开销很小,协议交换最小化,以降低网络流量;使用Last Will和Testament特性通知有关各方客户端异常中断的机制.基于MQTT协议的上述特点,本系统决定采用此协议,同时,监控中心采用MQTT协议架构把命令、控制、配置等信息推送给各收集节点,并随时接收收集节点采集到的现场环境监测数据.

2.3 匿名通信协议

监控中心与与各收集器(以下简写为C)之间通过公众信道连接,攻击者通过运用窃听、流量分析等多种手段不难获得或推断出一些有价值的信息,包括通信双方的真实IP地址、ID等敏感信息,进而实施恶意破坏行为.因此,在进行数据交换前,必须首先建立安全可信的链路.匿名通信技术可以力争避免攻击者探知通信流的真实来源及目的地,它隐藏了通信对象间的真实关系,故能较有效地对抗窃听、跟踪等攻击手段.Tor[6](The onion router,洋葱路由器技术)是一种有效的匿名通信技术,Tor由洋葱代理(Onion Proxy,OP)和一组洋葱路由器(Onion Router,OR)组成,在通信前,OP通过选择OR建立一条从源到目的地的安全链路,以后的所有数据都沿这条链路传输.Tor支持基于证书的公钥密码体制,但依赖于可信的第三方提供证书服务与管理.本系统通过简化文献[7]的方法,设计了一种Tor匿名通信系统技术,即可满足Tor系统中的用户认证问题,又能在2个洋葱路由器间实现密钥协商,同时免去了原有Tor系统中使用证书的复杂性问题.为叙述方便,假定系统中只有2个洋葱路由器,其具体实现步骤为:

1)系统初始化.目录服务器DS和登记在其上的多个洋葱路由器(Tor1,Tor2,…,Torn)都向密钥生成中心注册,得到了各自的公钥和私钥;

2)C上的OP向目录服务器DS发出问询洋葱路由器信息的请求,DS收到请求后,随机选取2个洋葱路由器的信息返回给OP;

3)匿名传输路径的建立过程.假设OP的私钥为SKOP,公钥为PKOP;洋葱路由器代理OR的私钥为SKOR,公钥为PKOR;洋葱路由器 ORi的私钥为SKORi,公钥为 PKORi,其中 i=1,2.

(1)OP与第一个洋葱路由器OR1建立连接的过程.

①OP选取随机数a属于RZq,计算WA=aP,OP创建Create数据包,包含第一个序列号C1以及WA,PKOP发送给 OR1.

②OR1收到OP发送来的数据后,验证OP公钥的合法性.如合法,则选取随机数b属于RZq,计算TB=bP并将TB发送给OR1,随后OR1计算会话密钥 KOP,OR1.OR1向 OP 回复一个 Created 数据包,包含虚电路序列号C1以及它所计算出来的会话密钥KOP,OR1的散列值 H(KOP,OR1).

③OP收到OR1发送来的数据后,验证OR1的公钥是否合法,若验证通过,计算会话密钥KOP,OR1,计算共享密钥的散列值,并与从OR1收到的共享密钥的散列值做对比,如果相同则第一个链路建立成功,否则返回出错信息.

(2)OP通过第一个洋葱路由器OR1跟第二个洋葱路由器OR2建立连接的过程.

①OP选取随机数c属于RZq,计算WA=cP.并把WA,PKOP和想要连接的第二个洋葱路由OR2的地址组合成一个Create数据包,用和第一个洋葱路由协商好的共享密钥KOP,OR1加密后放入数据包中发送给 OR1.

②OR1用共享密钥KOP,OR1解开加密的数据包,并把Create数据包发送给OR2;OR2收到Create数据包中的数据,用前述类似方法,随机数d属于RZq,计算 TB=dP,并计算它和 OP的会话密钥KOP,OR2.OR2向 OR1回复一个 Created 数据包,包含虚电路序列号C2以及TB,共享密钥KOP,OR2的散列值 H(KOP,OR2).

③OR1把从OR2收到的Create数据包用它与OP之间的共享密钥KOP,OR1加密后发送给OP.

④OP收到OR2的数据包后用OR1的共享密钥KOP,OR1解开,并用同样的方法验证OR2的公钥,并计算它与OR2之间的共享密钥KOP,OR2及其散列值H(KOP,OR2)并与从OR2收到的散列值做对比,如果相同则建立第二个链路成功,否则返回错误信息.

4)从本地服务器加密之后发送出来的数据在经过逐层解密后就是明文信息,可正常加载HTTP信息.

由于建立了包含2个洋葱路由器的虚电路,C发出去的数据首先用OR2的公钥密钥加密,然后用OR1的公钥密钥加密.OR1在收到数据后,用其私钥解密,验证完整性后,把数据发给 OR2.OR2收到OR1的数据后,用其私钥解密,得到明文数据,至此安全的HTTP连接成功建立.

3 结语

本研究设计了一种无线环境监测数据采集和推送系统,并给出了消息数据格式,确保监控中心、收集器与采集器3类对象沟通无障碍.该系统采用基于无证书公钥密码体制的洋葱路由协议建立安全的HTTP连接,确保数据传输的安全性,并针无线传感器网络资源紧张的特点,提出了基于MQTT轻量级协议的信息推送机制.下一步的工作将对该系统做进一步的节能和优化工作,解决诸如同一分组中的部分采集节点电能耗费太快,导致节点过早死亡,以及由于样本减少,致使采集到的数据滤波结果不够准确.畸变较多等问题,进一步提高本系统对复杂自然环境的适应能力.

[1]黄建清,王卫星,姜晟,等.基于无线传感器网络的水产养殖水质监测系统开发与试验[J].农业工程学报,2013,29(4):183 -190.

[2]付春辉.基于uClinux操作系统的声光信号后处理软件设计与实现[D].成都:电子科技大学,2013.

[3]林澍,刘曦,林怡琛,等.一种Ku频段全向高增益天线设计[J].航天器工程,2012,23(6):103 -107.

[4]杨文婷.基于HTTP长连接的消息推送平台的研究与实现[D].武汉:华中科技大学,2012.

[5]任亨,马跃,杨海波.基于MQTT协议的消息推送服务器[J].计算机系统应用,2014,23(3):77 -82.

[6]杨元原,马文平,白晓峰,等.一种混合的Tor匿名通信系统[J].计算机应用研究,2010,18(10):141 -144.

Acquisition and Push System of Wireless Environmental Monitoring Data

YANG Yunping1,WU Chengbin2
(1.Sichuan Kiloway Electronics Co.,Ltd.,Mianyang 621000,China;2.Information Network Center,Chengdu University,Chengdu 610106,China)

In view of the current situation of environmental monitoring in the natural disaster-prone areas,this paper designs a kind of wireless environment monitoring data acquisition and push system,including the architecture of the system and main components of monitoring units.On the one hand,considering the limited resources of sensor network nodes,this paper proposes an information pushing scheme based on the message queue telemetry transmission(MQTT)protocol.On the other hand,in order to avoid the illegal eavesdropping or modifying of instruction data such as configuration command issued by monitoring center,this paper improves the onion routing protocol to pre-establish secure communication link between communication entities for ensuring secure transmission of data.

environmental monitoring;wireless sensor network;push;MQTT;onion router

X830.3;TP274+.2

A

1004-5422(2015)01-0059-04

2015-01-14.

四川省科技厅科技支撑计划(2014SZ0107).

杨运平(1962—),男,博士后,副教授,从事计算机物联网技术研究.

猜你喜欢
收集器公钥洋葱
一种病房用24小时尿蛋白培养收集器的说明
一种用于内镜干燥的酒精收集器的设计与应用
洋葱:别闹了,我不是“白衣天使”
一种基于混沌的公钥加密方案
神奇的公钥密码
切洋葱
P2X7 receptor antagonism in amyotrophic lateral sclerosis
雷电收集器
SM2椭圆曲线公钥密码算法综述
土壤重金属收集器