王友釗, 趙海丹, 黃 靜
(1.浙江大學 數(shù)字技術(shù)及儀器研究所,浙江 杭州 310027;2.浙江理工大學 信息學院,浙江 杭州310018)
?
基于SSL安全協(xié)議的作物生長環(huán)境監(jiān)測系統(tǒng)設計*
王友釗1, 趙海丹1, 黃 靜2
(1.浙江大學 數(shù)字技術(shù)及儀器研究所,浙江 杭州 310027;2.浙江理工大學 信息學院,浙江 杭州310018)
為解決作物生長環(huán)境監(jiān)測數(shù)據(jù)在采集傳輸過程中缺少安全性保障的問題,提出了以RS—485總線隔離Zig Bee網(wǎng)絡不安全因素,基于SSL協(xié)議進行加密網(wǎng)絡傳輸?shù)陌踩苑桨福⒃诜掌鞫藢SL安全連接進行了非阻塞和I/O復用擴展。研究結(jié)果表明:提出的安全方案能夠有效避免網(wǎng)關(guān)認證信息和數(shù)據(jù)協(xié)議格式泄漏,服務器具有穩(wěn)定的并發(fā)處理能力和數(shù)據(jù)吞吐率。
SSL協(xié)議; 網(wǎng)絡安全通信; 服務器; 并發(fā)性
現(xiàn)有的作物生長環(huán)境監(jiān)測系統(tǒng)大多局限于本地監(jiān)測[1~5],限制了環(huán)境監(jiān)測數(shù)據(jù)的共享?;诰W(wǎng)絡技術(shù)構(gòu)建作物生長環(huán)境監(jiān)測平臺,通過服務器匯聚各監(jiān)測網(wǎng)點的數(shù)據(jù),能夠擴大系統(tǒng)的應用范圍,提高數(shù)據(jù)資源的利用率。然而,隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,劫取用戶信息、篡改網(wǎng)絡數(shù)據(jù)等惡意網(wǎng)絡攻擊事件不斷涌現(xiàn)。因此,設計合理的數(shù)據(jù)采集網(wǎng)絡結(jié)構(gòu),利用用戶認證、數(shù)據(jù)加密等技術(shù)手段保障數(shù)據(jù)在采集傳輸過程中的安全性,具有重要的實際應用意義。
本文構(gòu)建的作物生長環(huán)境監(jiān)測系統(tǒng)結(jié)構(gòu)如圖1所示,包括傳感器網(wǎng)絡、嵌入式網(wǎng)關(guān)和服務器。系統(tǒng)主要針對傳感器網(wǎng)絡數(shù)據(jù)傳輸安全性、嵌入式網(wǎng)關(guān)數(shù)據(jù)傳輸安全性和服務器并發(fā)性進行了設計。
圖1 系統(tǒng)結(jié)構(gòu)框圖
1.1 傳感器網(wǎng)絡數(shù)據(jù)傳輸安全性
RS—485具有傳輸距離遠、穩(wěn)定性高、抗干擾能力強的特點[6]。利用RS—485總線傳輸數(shù)據(jù),可以隔離網(wǎng)絡不安全因素。農(nóng)業(yè)環(huán)境中存在不方便進行布線的特殊作業(yè)現(xiàn)場,限制了RS—485的應用。Zig Bee無線通信協(xié)議可以解決布線問題,但會受到拒絕服務等網(wǎng)絡攻擊[7]。系統(tǒng)將無線傳感網(wǎng)絡掛載到RS—485總線下,利用總線進行數(shù)據(jù)上傳,隔離了無線網(wǎng)絡中的不安全因素,保障傳感器網(wǎng)絡與嵌入式網(wǎng)關(guān)之間的數(shù)據(jù)傳輸安全。
1.2 嵌入式網(wǎng)關(guān)數(shù)據(jù)傳輸安全性
嵌入式網(wǎng)關(guān)與服務器間采用TCP網(wǎng)絡通信,為避免網(wǎng)關(guān)認證信息和數(shù)據(jù)協(xié)議格式泄露,需要對數(shù)據(jù)進行加密。SSL協(xié)議采用非對稱加密機制,當A,B雙方進行通信時,A將公鑰發(fā)送給B;B利用該公鑰加密自己的公鑰并發(fā)給A;此時A,B均持有對方公鑰,發(fā)送數(shù)據(jù)時利用對方的公鑰進行加密。加密數(shù)據(jù)必須由私鑰解密,即使竊聽者捕獲了加密數(shù)據(jù)或A最初發(fā)送的公鑰,由于不具備任何一方的私鑰,仍然無法對加密數(shù)據(jù)進行破解。系統(tǒng)基于SSL協(xié)議實現(xiàn)服務器與嵌入式網(wǎng)關(guān)間的加密數(shù)據(jù)通信,有效保障了嵌入式網(wǎng)關(guān)與服務器間的數(shù)據(jù)傳輸安全。
1.3 服務器并發(fā)性
作物生長環(huán)境監(jiān)測系統(tǒng)通過服務器實現(xiàn)數(shù)據(jù)共享,服務器必須滿足多客戶端并發(fā)和快速響應的需求。影響服務器并發(fā)性和響應速度的主要因素是數(shù)據(jù)加密和解密。數(shù)據(jù)加密是CPU密集型操作,其可靠性與加密位數(shù)有關(guān),位數(shù)越多安全性保障越高,計算時間也相應增長。服務器等待加密解密結(jié)果會增長響應時間,導致新客戶端連接請求處理滯后。系統(tǒng)通過I/O復用監(jiān)測網(wǎng)絡事件,根據(jù)SSL處理狀態(tài)實現(xiàn)非阻塞握手[8],并利用不同的任務線程分離客戶端請求處理和數(shù)據(jù)處理,降低了服務器的響應時間。
作物生長環(huán)境監(jiān)測系統(tǒng)硬件結(jié)構(gòu)包括有線傳感器節(jié)點、無線傳感器節(jié)點、嵌入式網(wǎng)關(guān)和Zig Bee網(wǎng)關(guān)。嵌入式網(wǎng)關(guān)硬件結(jié)構(gòu)如圖2所示,以基于ARM11架構(gòu)的S3C6410芯片為核心處理器,外圍接口模塊包括串口模塊、以太網(wǎng)模塊、存儲器模塊。串口模塊接收RS—485總線數(shù)據(jù),并通過以太網(wǎng)模塊與服務器通信。Zig Bee網(wǎng)關(guān)結(jié)構(gòu)框圖如圖3所示,由無線收發(fā)模塊、RS—232模塊、RS—485模塊及控制器構(gòu)成。CC2530通過串口將接收到的環(huán)境參數(shù)發(fā)送給控制器,控制器對數(shù)據(jù)進行協(xié)議封裝,通過RS—485模塊發(fā)送給嵌入式網(wǎng)關(guān)。
圖2 嵌入式網(wǎng)關(guān)結(jié)構(gòu)圖
圖3 Zig Bee網(wǎng)關(guān)結(jié)構(gòu)圖
3.1 嵌入式網(wǎng)關(guān)軟件設計
嵌入式網(wǎng)關(guān)軟件流程如圖4所示,通過Select模型監(jiān)聽I/O事件,避免I/O操作阻塞網(wǎng)關(guān)執(zhí)行其他任務。網(wǎng)關(guān)初始化后加載培育庫房和傳感器節(jié)點地址映射表。軟件檢測到傳感器數(shù)據(jù)包到達,根據(jù)傳感器硬件地址從映射表中獲取庫房編號和傳感器對應的軟件編號,按照服務器數(shù)據(jù)協(xié)議格式重新封裝數(shù)據(jù)包,并進行數(shù)據(jù)上傳。
圖4 嵌入式網(wǎng)關(guān)軟件流程圖
3.2 服務器端軟件設計
程序主體是一個基于SSL協(xié)議的非阻塞Server,軟件流程圖如圖5所示。系統(tǒng)通過關(guān)聯(lián)SelectableChannel,并利用Selector監(jiān)測其讀、寫、連接事件,實現(xiàn)非阻塞I/O復用;利用SSLEngineManager管理SSL連接狀態(tài),實現(xiàn)非阻塞SSL握手和數(shù)據(jù)加密;利用讀、寫、握手、數(shù)據(jù)處理等任務隊列,實現(xiàn)任務處理與服務器請求處理的分離。
3.3 平臺實現(xiàn)
本文設計的作物生長環(huán)境監(jiān)測系統(tǒng)基于Web技術(shù)實現(xiàn)用戶交互操作。Nginx具有系統(tǒng)資源消耗小的特點[9,10],作為Web服務器接收用戶交互請求,能夠保證交互平臺的穩(wěn)定運行。為實現(xiàn)業(yè)務的快速部署,系統(tǒng)基于MVC設計模式[11,12],利用Django應用開發(fā)框架處理用戶交互請求,并生成HTTP響應。
傳感器實時上傳的環(huán)境參數(shù)數(shù)據(jù),通過服務器篩選后存入到數(shù)據(jù)庫中,用戶可以查詢歷史數(shù)據(jù)記錄、環(huán)境參數(shù)變化趨勢及特定時間環(huán)境參數(shù)分布特征。圖6所示為1#培養(yǎng)庫中1#空氣溫度傳感器記錄的24 h溫度趨勢。
圖5 SSL服務器軟件流程圖
圖6 24 h溫度變化趨勢
本文對服務器的并發(fā)性和安全性進行了測試。利用Tcpdump工具對網(wǎng)絡通信數(shù)據(jù)包進行抓取,如圖7、圖8所示。
圖7 普通網(wǎng)絡數(shù)據(jù)包
圖8 加密網(wǎng)絡數(shù)據(jù)包
劫取者可從普通網(wǎng)絡通信數(shù)據(jù)包尾部直接獲得網(wǎng)關(guān)認證信息和數(shù)據(jù)協(xié)議格式;而對于本文設計系統(tǒng)的加密數(shù)據(jù)包,由于劫取者沒有私鑰,無法從加密數(shù)據(jù)中獲得認證信息和數(shù)據(jù)格式。
本文在不同并發(fā)等級下對服務器測試了10 000個連接請求,測試結(jié)果如表1所示。在不同的并發(fā)等級下,服務器每秒處理請求數(shù)能夠較穩(wěn)定地維持在2 000左右,具有良好的并發(fā)處理能力;服務器吞吐率維持在4 700 B/s左右,具有較快的數(shù)據(jù)傳輸速度。隨著并發(fā)請求數(shù)的增加,等待的請求數(shù)增加,服務器請求處理時間增長。但對于5 000的并發(fā)量等級,系統(tǒng)仍能保證在3.5 s內(nèi)完成請求處理。
表1 系統(tǒng)服務器并發(fā)性測試
Tab 1 Test of system server concurrency performance
并發(fā)等級每秒處理請求數(shù)最長響應時(ms)吞吐率(B/s)1002235.326334898.445002163.2421344856.1410002049.5623924722.0620002216.4635894833.2150002029.7635674713.34
本文設計的作物生長環(huán)境監(jiān)測系統(tǒng)采用RS—485總線進行傳感器網(wǎng)絡與嵌入式網(wǎng)關(guān)之間的數(shù)據(jù)傳輸,隔離了Zig Bee無線網(wǎng)絡的不安全因素;基于SSL協(xié)議實現(xiàn)嵌入式網(wǎng)關(guān)與服務器之間的加密數(shù)據(jù)通信,避免了網(wǎng)關(guān)認證信息和數(shù)據(jù)協(xié)議格式的泄漏,保障了服務器的數(shù)據(jù)安全性。服務器端程序?qū)SL網(wǎng)絡通信進行了非阻塞和I/O復用擴展,提高了服務器的并發(fā)處理能力。測試結(jié)果表明:本文設計的作物生長環(huán)境監(jiān)測系統(tǒng)能夠有效進行安全數(shù)據(jù)傳輸,并具有較穩(wěn)定的并發(fā)處理能力和數(shù)據(jù)吞吐率。
[1] 劉春紅,張 漫,張 帆,等.基于無線傳感器網(wǎng)絡的智慧農(nóng)業(yè)信息平臺開發(fā)[J].中國農(nóng)業(yè)大學學報,2011(5):151-156.
[2] 龐 娜,程德福.基于Zig Bee無線傳感器網(wǎng)絡的溫室監(jiān)測系統(tǒng)設計[J].吉林大學學報:信息科學版,2010(1):55-60.
[3] 李連駿,孫宇瑞,林劍輝.一種太陽能供電的土壤水分無線傳感器[J].江蘇大學學報:自然科學版,2009(6):541-544.
[4] 呂立新,汪 偉,卜天然.基于無線傳感器網(wǎng)絡的精準農(nóng)業(yè)環(huán)境監(jiān)測系統(tǒng)設計[J].計算機系統(tǒng)應用,2009(8):5-9.
[5] 屈利華,趙春江,楊信廷,等.Zig Bee無線傳感器網(wǎng)絡在溫室多源數(shù)據(jù)采集系統(tǒng)中的應用綜述[J].中國農(nóng)機化學報,2012(4):179-183.
[6] 馬曉飛,袁永明,張紅燕,等.基于Modbus的水產(chǎn)物聯(lián)設備驅(qū)動服務系統(tǒng)設計[J].傳感器與微系統(tǒng),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:模塊開發(fā)與架構(gòu)解析[M].北京:機械工業(yè)出版社,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實現(xiàn)[J].計算機工程與應用,2001,37(17):160-163.
王友釗(1963-),浙江天臺人,副教授,研究生導師,主要研究方向為嵌入式軟硬件技術(shù)、物聯(lián)網(wǎng)技術(shù)。
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