王友钊, 赵海丹, 黄 静
(1.浙江大学 数字技术及仪器研究所,浙江 杭州 310027;2.浙江理工大学 信息学院,浙江 杭州310018)
基于SSL安全协议的作物生长环境监测系统设计*
王友钊1, 赵海丹1, 黄 静2
(1.浙江大学 数字技术及仪器研究所,浙江 杭州 310027;2.浙江理工大学 信息学院,浙江 杭州310018)
为解决作物生长环境监测数据在采集传输过程中缺少安全性保障的问题,提出了以RS—485总线隔离Zig Bee网络不安全因素,基于SSL协议进行加密网络传输的安全性方案,并在服务器端对SSL安全连接进行了非阻塞和I/O复用扩展。研究结果表明:提出的安全方案能够有效避免网关认证信息和数据协议格式泄漏,服务器具有稳定的并发处理能力和数据吞吐率。
SSL协议; 网络安全通信; 服务器; 并发性
现有的作物生长环境监测系统大多局限于本地监测[1~5],限制了环境监测数据的共享。基于网络技术构建作物生长环境监测平台,通过服务器汇聚各监测网点的数据,能够扩大系统的应用范围,提高数据资源的利用率。然而,随着互联网技术的发展,劫取用户信息、篡改网络数据等恶意网络攻击事件不断涌现。因此,设计合理的数据采集网络结构,利用用户认证、数据加密等技术手段保障数据在采集传输过程中的安全性,具有重要的实际应用意义。
本文构建的作物生长环境监测系统结构如图1所示,包括传感器网络、嵌入式网关和服务器。系统主要针对传感器网络数据传输安全性、嵌入式网关数据传输安全性和服务器并发性进行了设计。
图1 系统结构框图
1.1 传感器网络数据传输安全性
RS—485具有传输距离远、稳定性高、抗干扰能力强的特点[6]。利用RS—485总线传输数据,可以隔离网络不安全因素。农业环境中存在不方便进行布线的特殊作业现场,限制了RS—485的应用。Zig Bee无线通信协议可以解决布线问题,但会受到拒绝服务等网络攻击[7]。系统将无线传感网络挂载到RS—485总线下,利用总线进行数据上传,隔离了无线网络中的不安全因素,保障传感器网络与嵌入式网关之间的数据传输安全。
1.2 嵌入式网关数据传输安全性
嵌入式网关与服务器间采用TCP网络通信,为避免网关认证信息和数据协议格式泄露,需要对数据进行加密。SSL协议采用非对称加密机制,当A,B双方进行通信时,A将公钥发送给B;B利用该公钥加密自己的公钥并发给A;此时A,B均持有对方公钥,发送数据时利用对方的公钥进行加密。加密数据必须由私钥解密,即使窃听者捕获了加密数据或A最初发送的公钥,由于不具备任何一方的私钥,仍然无法对加密数据进行破解。系统基于SSL协议实现服务器与嵌入式网关间的加密数据通信,有效保障了嵌入式网关与服务器间的数据传输安全。
1.3 服务器并发性
作物生长环境监测系统通过服务器实现数据共享,服务器必须满足多客户端并发和快速响应的需求。影响服务器并发性和响应速度的主要因素是数据加密和解密。数据加密是CPU密集型操作,其可靠性与加密位数有关,位数越多安全性保障越高,计算时间也相应增长。服务器等待加密解密结果会增长响应时间,导致新客户端连接请求处理滞后。系统通过I/O复用监测网络事件,根据SSL处理状态实现非阻塞握手[8],并利用不同的任务线程分离客户端请求处理和数据处理,降低了服务器的响应时间。
作物生长环境监测系统硬件结构包括有线传感器节点、无线传感器节点、嵌入式网关和Zig Bee网关。嵌入式网关硬件结构如图2所示,以基于ARM11架构的S3C6410芯片为核心处理器,外围接口模块包括串口模块、以太网模块、存储器模块。串口模块接收RS—485总线数据,并通过以太网模块与服务器通信。Zig Bee网关结构框图如图3所示,由无线收发模块、RS—232模块、RS—485模块及控制器构成。CC2530通过串口将接收到的环境参数发送给控制器,控制器对数据进行协议封装,通过RS—485模块发送给嵌入式网关。
图2 嵌入式网关结构图
图3 Zig Bee网关结构图
3.1 嵌入式网关软件设计
嵌入式网关软件流程如图4所示,通过Select模型监听I/O事件,避免I/O操作阻塞网关执行其他任务。网关初始化后加载培育库房和传感器节点地址映射表。软件检测到传感器数据包到达,根据传感器硬件地址从映射表中获取库房编号和传感器对应的软件编号,按照服务器数据协议格式重新封装数据包,并进行数据上传。
图4 嵌入式网关软件流程图
3.2 服务器端软件设计
程序主体是一个基于SSL协议的非阻塞Server,软件流程图如图5所示。系统通过关联SelectableChannel,并利用Selector监测其读、写、连接事件,实现非阻塞I/O复用;利用SSLEngineManager管理SSL连接状态,实现非阻塞SSL握手和数据加密;利用读、写、握手、数据处理等任务队列,实现任务处理与服务器请求处理的分离。
3.3 平台实现
本文设计的作物生长环境监测系统基于Web技术实现用户交互操作。Nginx具有系统资源消耗小的特点[9,10],作为Web服务器接收用户交互请求,能够保证交互平台的稳定运行。为实现业务的快速部署,系统基于MVC设计模式[11,12],利用Django应用开发框架处理用户交互请求,并生成HTTP响应。
传感器实时上传的环境参数数据,通过服务器筛选后存入到数据库中,用户可以查询历史数据记录、环境参数变化趋势及特定时间环境参数分布特征。图6所示为1#培养库中1#空气温度传感器记录的24 h温度趋势。
图5 SSL服务器软件流程图
图6 24 h温度变化趋势
本文对服务器的并发性和安全性进行了测试。利用Tcpdump工具对网络通信数据包进行抓取,如图7、图8所示。
图7 普通网络数据包
图8 加密网络数据包
劫取者可从普通网络通信数据包尾部直接获得网关认证信息和数据协议格式;而对于本文设计系统的加密数据包,由于劫取者没有私钥,无法从加密数据中获得认证信息和数据格式。
本文在不同并发等级下对服务器测试了10 000个连接请求,测试结果如表1所示。在不同的并发等级下,服务器每秒处理请求数能够较稳定地维持在2 000左右,具有良好的并发处理能力;服务器吞吐率维持在4 700 B/s左右,具有较快的数据传输速度。随着并发请求数的增加,等待的请求数增加,服务器请求处理时间增长。但对于5 000的并发量等级,系统仍能保证在3.5 s内完成请求处理。
表1 系统服务器并发性测试
Tab 1 Test of system server concurrency performance
并发等级每秒处理请求数最长响应时(ms)吞吐率(B/s)1002235.326334898.445002163.2421344856.1410002049.5623924722.0620002216.4635894833.2150002029.7635674713.34
本文设计的作物生长环境监测系统采用RS—485总线进行传感器网络与嵌入式网关之间的数据传输,隔离了Zig Bee无线网络的不安全因素;基于SSL协议实现嵌入式网关与服务器之间的加密数据通信,避免了网关认证信息和数据协议格式的泄漏,保障了服务器的数据安全性。服务器端程序对SSL网络通信进行了非阻塞和I/O复用扩展,提高了服务器的并发处理能力。测试结果表明:本文设计的作物生长环境监测系统能够有效进行安全数据传输,并具有较稳定的并发处理能力和数据吞吐率。
[1] 刘春红,张 漫,张 帆,等.基于无线传感器网络的智慧农业信息平台开发[J].中国农业大学学报,2011(5):151-156.
[2] 庞 娜,程德福.基于Zig Bee无线传感器网络的温室监测系统设计[J].吉林大学学报:信息科学版,2010(1):55-60.
[3] 李连骏,孙宇瑞,林剑辉.一种太阳能供电的土壤水分无线传感器[J].江苏大学学报:自然科学版,2009(6):541-544.
[4] 吕立新,汪 伟,卜天然.基于无线传感器网络的精准农业环境监测系统设计[J].计算机系统应用,2009(8):5-9.
[5] 屈利华,赵春江,杨信廷,等.Zig Bee无线传感器网络在温室多源数据采集系统中的应用综述[J].中国农机化学报,2012(4):179-183.
[6] 马晓飞,袁永明,张红燕,等.基于Modbus的水产物联设备驱动服务系统设计[J].传感器与微系统,2014,33(10):65-68.
[7] Fouda M M,Fadlullah Z M,Kato N.Assessing attack threat against Zig Bee-based home area network for smart grid communications[C]∥2010 International Conference on Computer Engineering and Systems(ICCES),IEEE,2010:245-250.
[8] Sobh T S,Elgohary A,Zaki M.Performance improvements on the network security protocols[J].International Journal of Network Security,2008,6(1):103-115.
[9] Chi X,Liu B,Niu Q,et al.Web load balance and cache optimization design based nginx under high-concurrency environment[C]∥2012 Third International Conference on Digital Manufacturing and Automation(ICDMA),IEEE,2012:1029-1032.
[10] 陶 辉.深入理解Nginx:模块开发与架构解析[M].北京:机械工业出版社,2013:183-192.
[11] Pop D P,Altar A.Designing an MVC model for rapid Web application development[J].Procedia Engineering,2014,69:1172-1179.
[12] 孙 莹,许俊华.MVC 编程模型在Web程序中的应用及Java实现[J].计算机工程与应用,2001,37(17):160-163.
王友钊(1963-),浙江天台人,副教授,研究生导师,主要研究方向为嵌入式软硬件技术、物联网技术。
Design of crop growth environment monitoring system based on SSL safety protocol*
WANG You-zhao1, ZHAO Hai-dan1, HUANG Jing2
(1.Institute of Digital Technology and Instrument,Zhejiang University,Hangzhou 310027,China; 2.College of Informatics and Electronics,Zhejiang Sci-Tech University,Hangzhou 310018,China)
To solve problem that monitoring datas of crop-growth environment lack of security guarantee in the collection and transmission process,propose a security scheme which uses RS—485 bus to isolate the unsafe factors of Zig Bee network,and transmit data based on SSL protocol,and on the server terminal,non-blocking and I/O multiplexing expansion has been done to the SSL secure connection.Research results show that the proposed security scheme can effectively avoid the leakage of gateway authentication information and data protocol format,and the server has stable concurrent processing capability and data throughput rate.
SSL protocol; network security communication; server; concurrency
2015—03—02
浙江省自然科学基金资助项目(LY12F03012)
10.13873/J.1000—9787(2015)09—0108—03
TP 393
A
1000—9787(2015)09—0108—03