馬少華 張興 韓冬 史偉
摘要:為滿足應(yīng)用于監(jiān)測(cè)大棚種植基本環(huán)境的無線傳感器節(jié)點(diǎn)認(rèn)證的需求,在傳感器IRIS節(jié)點(diǎn)上實(shí)現(xiàn)了基于橢圓曲線加密體制的數(shù)字簽名算法(ECDSA),并在ECDSA程序中嵌入7種針對(duì)提高ECDSA性能的優(yōu)化算法,通過開/關(guān)的方式,比較各優(yōu)化算法的空間復(fù)雜度(消耗ROM/RAM空間)和時(shí)間復(fù)雜度(初始化所需時(shí)間、簽名產(chǎn)生所需時(shí)間、認(rèn)證所需時(shí)間)。通過試驗(yàn)測(cè)試和綜合比較分析,提出了適合應(yīng)用于大棚種植監(jiān)測(cè)的無線傳感器節(jié)點(diǎn)認(rèn)證方案。
關(guān)鍵詞:智能農(nóng)業(yè);無線傳感器節(jié)點(diǎn);網(wǎng)絡(luò)安全認(rèn)證;橢圓曲線數(shù)字簽名算法;優(yōu)化
中圖分類號(hào): S126 文獻(xiàn)標(biāo)志碼: A
文章編號(hào):1002-1302(2015)04-0389-03
收稿日期:2015-01-07
基金項(xiàng)目:國家自然科學(xué)基金(編號(hào):61272214);遼寧省博士科研啟動(dòng)基金(編號(hào):20121045);遼寧省高等學(xué)校杰出青年學(xué)者成長(zhǎng)計(jì)劃(編號(hào):LJQ2014066)。
作者簡(jiǎn)介:馬少華(1988—),男,江蘇大豐人,碩士研究生,從事物聯(lián)網(wǎng)信息安全研究。E-mail:756918512@qq.com。
通信作者:張 興,副教授,研究生導(dǎo)師,從事網(wǎng)絡(luò)體系架構(gòu)與協(xié)議、信息安全等研究。E-mail:zhang_xing@emails.bjut.edu.cn。
現(xiàn)代設(shè)施農(nóng)業(yè)是適應(yīng)市場(chǎng)化、集約化、國際化大生產(chǎn)的新型現(xiàn)代農(nóng)業(yè)產(chǎn)業(yè)形態(tài),是傳統(tǒng)農(nóng)業(yè)向現(xiàn)代高效農(nóng)業(yè)轉(zhuǎn)變過程的必然選擇,設(shè)施農(nóng)業(yè)發(fā)展?fàn)顩r在一定程度上反映了農(nóng)業(yè)現(xiàn)代化水平[1-2]。大棚種植是設(shè)施農(nóng)業(yè)中一個(gè)重要組成部分,具有利用適宜作物生長(zhǎng)的環(huán)境溫濕度和光合作用來控制植物生長(zhǎng)的優(yōu)點(diǎn)。由Eko節(jié)點(diǎn)構(gòu)成的智能農(nóng)業(yè)傳感網(wǎng)能夠收集對(duì)農(nóng)作物影響非常大的土壤溫濕度、光照等信息,通過無線多跳的ZigBee+4G方式傳送到種植園主的手機(jī)上,方便其了解農(nóng)作物生長(zhǎng)的環(huán)境狀況,以便采取有效措施促進(jìn)生產(chǎn)。 目前,智能農(nóng)業(yè)傳感網(wǎng)已應(yīng)用于國內(nèi)外的種植園和果蔬大棚中,對(duì)農(nóng)作物的生長(zhǎng)管理、產(chǎn)品產(chǎn)量和質(zhì)量提高具有顯著效果,它的精度高、靈活性強(qiáng)、可靠性高、經(jīng)濟(jì)性好等優(yōu)點(diǎn)使其在設(shè)施農(nóng)業(yè)領(lǐng)域具有非常好的應(yīng)用前景[3]。但是,如果智能農(nóng)業(yè)傳感網(wǎng)發(fā)給種植園主的是虛假信息或是被篡改的不真實(shí)信息,那么智能農(nóng)業(yè)傳感網(wǎng)非但不能對(duì)生產(chǎn)起促進(jìn)作用,反而會(huì)耽誤灌溉、施肥等有效時(shí)機(jī),或使農(nóng)作物的生長(zhǎng)環(huán)境變得更糟。智能農(nóng)業(yè)傳感網(wǎng)的安全保障就變得至關(guān)重要。 通過分析可知,只要保證農(nóng)業(yè)傳感信息的來源可靠和在傳輸過程中不被篡改就足夠了,而無需對(duì)這些信息進(jìn)行保密。當(dāng)前的問題是對(duì)稱加密算法在信息加密方面非常有效,而在認(rèn)證方面無法保證鄰居之間對(duì)密鑰的安全建立;非對(duì)稱加密算法的開銷非常大,不適合資源非常有限的無線傳感器網(wǎng)絡(luò)。ECC算法的實(shí)施有效解決了這一問題,但尚未見在Eko節(jié)點(diǎn)的IRIS平臺(tái)上實(shí)施[4-5]。
為滿足應(yīng)用于大棚種植的無線傳感器網(wǎng)絡(luò)中節(jié)點(diǎn)認(rèn)證的需求,本研究實(shí)現(xiàn)了在傳感器IRIS平臺(tái)上運(yùn)行基于橢圓曲線加密體制的數(shù)字簽名算法(ECDSA);并加入7種優(yōu)化算法,通過對(duì)它們測(cè)試、比較和分析,提出了一個(gè)適于大棚種植的節(jié)點(diǎn)認(rèn)證方案,從而使簽名和認(rèn)證時(shí)間大大縮短,并確保該方案適用于資源有限的由Eko節(jié)點(diǎn)構(gòu)成的智能農(nóng)業(yè)傳感網(wǎng)。
1 軟硬件平臺(tái)
1.1 硬件平臺(tái)
現(xiàn)在得到應(yīng)用的Eko節(jié)點(diǎn)為Crossbow公司產(chǎn)品,目前,該公司的WSN方面的產(chǎn)品已被MEMSIC公司收購。Eko傳感器節(jié)點(diǎn)基于IRIS平臺(tái),其ROM空間為128 k字節(jié),RAM空間為8 k字節(jié);通信模塊位于ISM免費(fèi)頻段2.4 GHz,并支持IEEE 802.15.4協(xié)議,數(shù)據(jù)的傳輸率為250 kb/s,最大可視傳輸距離超過了1 000 m(最大可視傳輸距離指無障礙情況下的通信,2008年,在北京北海兩岸布置IRIS節(jié)點(diǎn)測(cè)試得到最大可視距離);處理器芯片采用是低功耗的ATmega1281,其性能有利于進(jìn)行數(shù)字簽名中的大量復(fù)雜運(yùn)算。
1.2 軟件平臺(tái)
Eko節(jié)點(diǎn)使用的是無線傳感器平臺(tái)所特有的開源操作系統(tǒng)TinyOS,由nesC編程語言編寫。TinyOS是一款基于事件驅(qū)動(dòng)型的操作系統(tǒng),其特點(diǎn)是能很有效地調(diào)度各種組件,從而高效地完成各項(xiàng)系統(tǒng)功能。
2 ECDSA及其優(yōu)化算法
2.1 ECC簡(jiǎn)介
橢圓加密算法(ECC)的數(shù)學(xué)基礎(chǔ)是利用橢圓曲線上的有理點(diǎn)構(gòu)成Abel加法群上橢圓離散對(duì)數(shù)的計(jì)算困難性,是目前公鑰加密體制中對(duì)1 bit所提供加密強(qiáng)度最高的加密算法。ECC僅需使用160 bits的密鑰長(zhǎng)度就可獲得等同于RSA加密算法采用密鑰長(zhǎng)度為1 024 bits的安全強(qiáng)度[4-6]。本研究采用160 bit的橢圓加密算法算法。
2.2 數(shù)字簽名原理
所謂數(shù)字簽名,就是只有消息的發(fā)送方才能產(chǎn)生的別人無法偽造的一段數(shù)字串,這段數(shù)字串同時(shí)也是對(duì)信息的發(fā)送方發(fā)送信息真實(shí)性的一個(gè)有效證明。數(shù)字簽名一般通信過程如圖1所示。 (1)節(jié)點(diǎn)A通過自己的私鑰和數(shù)字簽名生成算法對(duì)消息M進(jìn)行簽名,得到簽名S,并附在消息M上。(2)節(jié)點(diǎn)B收到來自節(jié)點(diǎn)A的消息后,通過節(jié)點(diǎn)A的公鑰和數(shù)字簽名認(rèn)證算法對(duì)收到的消息進(jìn)行認(rèn)證,根據(jù)返回的簽名有效值來判斷消息的真?zhèn)巍?/p>
2.3 ECDSA數(shù)字簽名方案
ECDSA數(shù)字簽名方案是ECC和DSA的結(jié)合。整個(gè)簽名過程與DSA類似,所不同的是簽名、認(rèn)證中采用的算法是ECC,最后的簽名S為(r,s)(圖1)。ECDSA數(shù)字簽名生成算法和簽名認(rèn)證算法如下。(1)數(shù)字簽名生成算法:記P=(x,y)。節(jié)點(diǎn)A選取一隨機(jī)整數(shù)k滿足1≤k
2.4 ECDSA的7種優(yōu)化算法
ECDSA可劃分為ECC算法模塊和數(shù)字簽名模塊。其中ECC模塊由大整數(shù)運(yùn)算和橢圓曲線類組成,數(shù)字簽名模塊由數(shù)字簽名的產(chǎn)生和認(rèn)證組成。本研究選取4種優(yōu)化大整數(shù)運(yùn)算的算法(巴雷特減法算法[7]、混合乘法算法[8]、混合平方算法[9]、曲線優(yōu)化算法[8])、2種優(yōu)化橢圓曲線的算法(射影平面坐標(biāo)系[8]、滑動(dòng)窗口[8])和1種優(yōu)化簽名認(rèn)證的算法(夏米爾技巧優(yōu)化算法[9])。由于本研究側(cè)重于對(duì)各優(yōu)化算法在 IRIS 節(jié)點(diǎn)上的性能分析,各優(yōu)化算法具體知識(shí)可詳見參考文獻(xiàn)[8-9]。
3 ECDSA及7種優(yōu)化算法的實(shí)現(xiàn)
3.1 ECDSA的實(shí)現(xiàn)
本研究設(shè)定消息長(zhǎng)度為52 b,為提高測(cè)試結(jié)果的準(zhǔn)確性,每個(gè)程序測(cè)試10次,試驗(yàn)結(jié)果取10次測(cè)試結(jié)果的算術(shù)平均值。測(cè)試結(jié)果見表1,ECDSA所占用的ROM和RAM在IRIS節(jié)點(diǎn)的承受范圍之內(nèi),初始化所需的時(shí)間也較短,但簽名生成所需時(shí)間和簽名認(rèn)證所需時(shí)間較長(zhǎng),特別是簽名認(rèn)證所需時(shí)間超過了1 min。
表1 ECDSA在IRIS節(jié)點(diǎn)上的測(cè)試結(jié)果
節(jié)點(diǎn)類型
所需空間(byte) 所需時(shí)間(s)
ROM RAM 初始化 簽名生成 簽名認(rèn)證
IRIS 16 860 817 0.000 1 31.954 4 64.225 5
3.2 優(yōu)化算法的測(cè)試
本研究對(duì)上述7種優(yōu)化算法通過開關(guān)的方式來測(cè)試其在IRIS節(jié)點(diǎn)上所耗的ROM/RAM空間、初始化所需時(shí)間、簽名產(chǎn)生時(shí)間和認(rèn)證所需時(shí)間。
3.2.1 主要程序代碼
##NN
CFLAGS+=-DBARRETT_REDUCTION #巴雷特減法
CFLAGS+=-DHYBRID_MULT #混合乘法
CFLAGS+=-DHYBRID_SQR #混合平方法
CFLAGS+=-DCURVE_OPT #曲線優(yōu)化算法
##ECC
CFLAGS+=-DPROJECTIVE #射影平面坐標(biāo)系
CFLAGS+=-DSLIDING_WIN #滑動(dòng)窗口優(yōu)化算法
##ECDSA
CFLAGS+=-DSHAMIR_TRICK #夏米爾技巧
3.2.2 7種優(yōu)化算法的測(cè)試結(jié)果分析 由圖2-a中虛線可知,初始化時(shí)間值較大的有巴雷特減法算法、滑動(dòng)窗口算法、夏米爾技巧優(yōu)化算法,其他算法初始化時(shí)間幾乎為零。這是因?yàn)榘屠滋販p法算法、滑動(dòng)窗口算法、夏米爾技巧優(yōu)化算法需要進(jìn)行預(yù)運(yùn)算。而由實(shí)線發(fā)現(xiàn),滑動(dòng)窗口算法對(duì)初始化時(shí)間影響最大,幾乎降低了50%的時(shí)間。因此,滑動(dòng)窗口算法對(duì)初始化時(shí)間影響最大。
由圖2-b、圖2-c可知,射影平面坐標(biāo)系優(yōu)化算法對(duì)減少簽名的產(chǎn)生和認(rèn)證所需時(shí)間影響最大。由圖2-b、圖2-c中虛線可知,射影平面坐標(biāo)系優(yōu)化算法對(duì)產(chǎn)生簽名和簽名認(rèn)證的效率提高3倍以上;結(jié)果表明,關(guān)閉射影平面坐標(biāo)系優(yōu)化算法會(huì)降低產(chǎn)生簽名和簽名認(rèn)證的效率8倍以上。雖然射影平面坐標(biāo)系優(yōu)化算法很有效,但也是消耗ROM空間最多的算法。
夏米爾技巧優(yōu)化算法也是提高簽名認(rèn)證效率較好的算法。由圖2-c中虛線可知,夏米爾技巧優(yōu)化算法對(duì)簽名認(rèn)證效率提高了2倍,但所需的ROM、RAM空間分別增加了548、634 b;而實(shí)線可知,關(guān)閉夏米爾技巧優(yōu)化算法后,簽名認(rèn)證效率降低160%,但減少了2 204 b的ROM空間,而RAM值幾乎沒有減少,是因?yàn)楫?dāng)關(guān)閉夏米爾技巧優(yōu)化時(shí),滑動(dòng)窗口算法被用于簽名認(rèn)證。
由圖2-b、圖2-c和圖3中虛線可知,滑動(dòng)窗口算法對(duì)產(chǎn)生簽名的效率和簽名認(rèn)證的效率提高了1.2倍,但RAM值劇增了2.5倍;由圖2-b、圖2-c和圖3中實(shí)線可知,關(guān)閉滑動(dòng)窗口算法對(duì)產(chǎn)生簽名的效率和簽名認(rèn)證的效率降低了130%,但節(jié)省了632b的RAM空間。
由圖2-b、圖2-c虛線可知,混合乘法、混合平方法和曲線優(yōu)化算法對(duì)提高產(chǎn)生簽名和簽名認(rèn)證的效率不大。而從圖2-b、圖2-c實(shí)線發(fā)現(xiàn),以上3種優(yōu)化算法分別對(duì)產(chǎn)生簽名的效率提高了1. 8、1.6、2.1倍;對(duì)簽名認(rèn)證的效率分別提高了1.8、1.5、2.0倍。這是因?yàn)樵诋a(chǎn)生簽名和簽名認(rèn)證的運(yùn)算中最耗時(shí)的運(yùn)算為求逆運(yùn)算,只有在開啟射影平面坐標(biāo)優(yōu)化算法取締求逆運(yùn)算的情況下,才會(huì)使產(chǎn)生簽名和簽名認(rèn)證運(yùn)算中最耗時(shí)的運(yùn)算變?yōu)槟3诉\(yùn)算,這樣才會(huì)使以上3種優(yōu)化算法的優(yōu)化效果明顯。
由上述分析可知, 從消耗RAM空間的角度看,滑動(dòng)窗口算法>夏米爾技巧算法>巴雷特減法>混合乘法=混合平
方法=曲線優(yōu)化算法=射影平面坐標(biāo)法;從消耗ROM空間的角度看,射影平面坐標(biāo)法>巴雷特減法≈ 混合平方法>混合乘法>曲線優(yōu)化算法≈夏米爾技巧算法>滑動(dòng)窗口算法;從簽名效率角度看,射影平面坐標(biāo)法>曲線優(yōu)化算法>混合乘法>混合平方法>滑動(dòng)窗口算法>夏米爾技巧算法>巴雷特減法(圖3)。
4 適合大棚種植的ECDSA方案
由于IRIS節(jié)點(diǎn)中RAM資源稀少,根據(jù)上述分析,切實(shí)可行方案有如下2種:方案一為選用混合平方法、混合乘法、曲線優(yōu)化算法和射影平面坐標(biāo)法;方案二為選用混合平方法、混合乘法、曲線優(yōu)化算法、射影平面坐標(biāo)法和巴雷特減法。2個(gè)方案的測(cè)試結(jié)果見表2。其中,方案一中RAM值為817 b,時(shí)間復(fù)雜度為7.286 8 s;方案二RAM值為909 b,時(shí)間復(fù)雜度為7.2818 s。比較結(jié)果顯示,方案一較方案二RAM值小 92 b,而時(shí)間復(fù)雜度大0.005 s。綜合大棚種植的特點(diǎn), 方案一
表2 各方案在IRIS節(jié)點(diǎn)上測(cè)試結(jié)果
類別
空間復(fù)雜度(byte) 時(shí)間復(fù)雜度(s)
ROM RAM 初始化時(shí)間 簽名時(shí)間 認(rèn)證時(shí)間
方案1 21 594 817 0 2.424 9 4.861 9
方案2 23 022 909 0.006 5 2.418 4 4.856 9
是更為可取的方案選項(xiàng)。因此,適合大棚種植的ECDSA方案為混合平方法+混合乘法+曲線優(yōu)化算法+射影平面坐標(biāo)法。
5 結(jié)論
本研究主要?jiǎng)?chuàng)新點(diǎn)有2個(gè)方面:(1)將基于ECC加密算法的數(shù)字簽名算法(ECDSA)在IRIS節(jié)點(diǎn)上實(shí)現(xiàn),并測(cè)試ECDSA消耗的ROM/RAM空間、初始化時(shí)間、產(chǎn)生簽名時(shí)間和簽名認(rèn)證時(shí)間;(2)通過開/關(guān)的方式,測(cè)試7種ECDSA的優(yōu)化算法的ROM/RAM空間、初始化時(shí)間、產(chǎn)生簽名時(shí)間和簽名認(rèn)證時(shí)間,并從空間復(fù)雜度(ROM/RAM空間)和時(shí)間復(fù)雜度(初始化所耗時(shí)間、產(chǎn)生簽名所耗時(shí)間、簽名認(rèn)證所耗時(shí)間)比較各優(yōu)化算法。通過測(cè)試與比較分析,提出了適合應(yīng)用于大棚種植監(jiān)測(cè)的無線傳感器節(jié)點(diǎn)認(rèn)證方案。
參考文獻(xiàn):
[1]戴起偉,曹 靜,凡 燕,等. 面向現(xiàn)代設(shè)施農(nóng)業(yè)應(yīng)用的物聯(lián)網(wǎng)技術(shù)模式設(shè)計(jì)[J]. 江蘇農(nóng)業(yè)學(xué)報(bào),2012,28(5):1173-1180.
[2]戴起偉,凡 燕,曹 靜,等. 物聯(lián)網(wǎng)技術(shù)與江蘇智能農(nóng)業(yè)產(chǎn)業(yè)發(fā)展[J]. 江蘇農(nóng)業(yè)科學(xué),2011,39(5):1-3.
[3]肖 婷,莊義慶,糜 林,等. 物聯(lián)網(wǎng)傳感技術(shù)在大棚草莓生產(chǎn)中的應(yīng)用[J]. 江蘇農(nóng)業(yè)學(xué)報(bào),2014,30(5):1185-1187.
[4]張 興,何涇沙,韋 潛. 無線傳感器網(wǎng)絡(luò)中節(jié)點(diǎn)移動(dòng)場(chǎng)景下的密鑰管理方法[J]. 東南大學(xué)學(xué)報(bào):自然科學(xué)版,2011,41(2):227-232.
[5]張 興,何涇沙,韋 潛,等. 無線傳感器網(wǎng)絡(luò)中移動(dòng)場(chǎng)景下的安全路由重構(gòu)[J]. 北京工業(yè)大學(xué)學(xué)報(bào),2012,38(9):1377-1383.
[6]蔡 冰,葉 玲. 基于ECC數(shù)字簽名的實(shí)現(xiàn)及優(yōu)化[J]. 計(jì)算機(jī)工程,2009,35(19):161-163.
[7]Menezes A J,van Oorschot P C,Vanstone S A. Handbook of Applied cryptography[M]. boca raton:crc press,1996:603-604.
[8]Gura N,Patel A,Wander A. Comparing elliptic curve cryptography and RSA on 8-bit CPUs[C]//Proceedings of the 2004 Workshop in Cryptographic Hardware and Embedded Systems.2004:119-132.
[9]Hankerson D,Menezes A,Vanstone S. Guide to elliptic curve cryptography[M]. Berlin:Springer,2004:75-152.