王 浩,張 曉,王 平,梁 晶
(重慶郵電大學(xué)自動(dòng)化學(xué)院工業(yè)物聯(lián)網(wǎng)與網(wǎng)絡(luò)化控制教育部重點(diǎn)實(shí)驗(yàn)室,重慶 400065)
ISAl00.11a標(biāo)準(zhǔn)由美國儀器儀表協(xié)會(huì)(ISA)下屬的ISA100工業(yè)無線委員會(huì)制定,是工業(yè)無線領(lǐng)域的三大標(biāo)準(zhǔn)之一[1]。筆者所在的重點(diǎn)實(shí)驗(yàn)室作為國際Voting Member和ISA WCI工作組的成員參加了ISA 100.11a標(biāo)準(zhǔn)的制定工作。
ISA100.11a作為一個(gè)開放性網(wǎng)絡(luò),可能受到非法入侵、毀壞數(shù)據(jù)和重放攻擊等威脅,攻擊者會(huì)利用工業(yè)無線網(wǎng)絡(luò)存在的漏洞對(duì)網(wǎng)絡(luò)資源和信息進(jìn)行未授權(quán)訪問和篡改等惡意操作[2,3],因此,我們必須采取一定的安全措施,以保證用戶的安全操作和網(wǎng)絡(luò)節(jié)點(diǎn)間的安全通信,保護(hù)網(wǎng)絡(luò)內(nèi)部的資源和維持正常的生產(chǎn)秩序。針對(duì)工業(yè)物聯(lián)網(wǎng)的安全需求,本實(shí)驗(yàn)室設(shè)計(jì)并實(shí)現(xiàn)一種基于ISA100.11a協(xié)議的安全開發(fā)平臺(tái),為安全技術(shù)的推廣提供技術(shù)支持。
我們的ISA100.11a安全開發(fā)平臺(tái)是基于本實(shí)驗(yàn)室開發(fā)的硬件平臺(tái)和ISA100.11a通信協(xié)議棧,實(shí)現(xiàn)標(biāo)準(zhǔn)中的安全服務(wù),并預(yù)留二次開發(fā)接口,用于學(xué)習(xí)和開發(fā)基于ISA100.11a協(xié)議的安全系統(tǒng)。
(1)網(wǎng)關(guān)設(shè)備
ISA100.11a網(wǎng)關(guān)是一種集成 ISA100.11a核心協(xié)議的短程無線通信設(shè)備。它需要現(xiàn)場總線電源供電,工作頻段為2.4GHz,選用美國 ATMEL公司的AT91R40008微處理器,提供串口和以太網(wǎng)口兩種連接方式。
(2)無線模塊
ISA100.11a路由設(shè)備和終端節(jié)點(diǎn)設(shè)備的無線模塊主要由天線部分、CC2530芯片部分、電源模塊部分和晶體振蕩電路四部分組成。其工作頻段為2.4GHz,集成 ISA100.11a 核心協(xié)議,由自帶電源供電,是一種低能耗、短程無線網(wǎng)絡(luò)通信設(shè)備。
(3)傳感器類型
本安全開發(fā)平臺(tái)提供的傳感器類型包括溫濕度傳感器、煙霧傳感器和瓦斯傳感器。
ISA100.l1a標(biāo)準(zhǔn)協(xié)議體系結(jié)構(gòu)定義了物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層和應(yīng)用層。數(shù)據(jù)鏈路層包括 IEEE 802.15.4 的 MAC 子層、ISAl00.lla的MAC擴(kuò)展層和數(shù)據(jù)鏈路層上層;應(yīng)用層包括應(yīng)用子層、用戶應(yīng)用進(jìn)程和設(shè)備管理器。
在ISA安全體系中,安全管理器負(fù)責(zé)整個(gè)網(wǎng)絡(luò)的安全管理:①設(shè)備自身的安全是通過設(shè)備的管理應(yīng)用進(jìn)程DMAP中設(shè)備安全管理對(duì)象DSMO進(jìn)行管理,可以由DSMO向設(shè)備的應(yīng)用進(jìn)程發(fā)起安全服務(wù)請(qǐng)求;②ISA的安全服務(wù)主要應(yīng)用于通信協(xié)議棧的數(shù)據(jù)鏈路層和傳輸層,當(dāng)使用特定的密鑰時(shí),數(shù)據(jù)鏈路層安全可以抵御來自系統(tǒng)外部的攻擊者,而傳輸層安全是抵御那些存在于網(wǎng)絡(luò)邊緣的攻擊者。ISA提供的安全服務(wù)主要由設(shè)備內(nèi)的安全管理對(duì)象DSMO和網(wǎng)絡(luò)中安全管理器進(jìn)行交互式管理。
加密算法使用標(biāo)準(zhǔn)中規(guī)定的AES加密算法[4,5],其密鑰長度為 128bit,加密和完整性校驗(yàn)使用CCM模式。本平臺(tái)中的安全算法由CC2530中的AES硬件協(xié)處理器輔助實(shí)現(xiàn),并根據(jù)是否加密與校驗(yàn)碼長度,將數(shù)據(jù)安全操作分成8種安全級(jí)別。
本平臺(tái)密鑰生成使用標(biāo)準(zhǔn)中規(guī)定的SKG協(xié)議,該協(xié)議中使用的算法為HMAC,HMAC算法的原理框圖如圖1所示。圖中ipad表示16個(gè)值為0x36的十六進(jìn)制值串;opad表示16個(gè)值為0x5C的十六進(jìn)制值串;表示異或運(yùn)算; II表示連接運(yùn)算;MMO Hash算法為無密鑰的散列算法,通過AES加密算法協(xié)助完成。
圖1 HMAC算法原理框圖
ISA100.11a支持對(duì)稱密鑰和非對(duì)稱密鑰的使用,由于非對(duì)稱密鑰只是在高安全級(jí)別下用于安全引導(dǎo)操作,因此本文主要介紹對(duì)稱密鑰的管理。根據(jù)密鑰的使用特點(diǎn)可將密鑰分為如下五種類型。
(1)全網(wǎng)密鑰(Global key):全網(wǎng)共享密鑰,不具備安全性能,為保持?jǐn)?shù)據(jù)結(jié)構(gòu)的一致性在未建立共享密鑰的時(shí)候處理PDU。
(2)加入密鑰(Join key):設(shè)備與安全管理者共享,共享密鑰準(zhǔn)備階段時(shí)接收,引導(dǎo)新設(shè)備入網(wǎng)。
(3)主密鑰(Master key):設(shè)備與安全管理者共享,由密鑰協(xié)商機(jī)制導(dǎo)出,用于密鑰分發(fā)以及安全管理,需要定期更新。
(4)數(shù)據(jù)鏈路層密鑰(DL key):本地DL子網(wǎng)共享,由安全管理者分發(fā),用于數(shù)據(jù)鏈路層的完整性校驗(yàn)碼MIC的計(jì)算,需要定期更新。
(5)會(huì)話密鑰(Session key):設(shè)備與安全管理者或設(shè)備之間共享,可由安全管理者分發(fā)或者由密鑰協(xié)商機(jī)制產(chǎn)生,用于傳輸層數(shù)據(jù)加密及校驗(yàn),需要定期更新。
密鑰的建立和更新根據(jù)安全策略的不同而有所區(qū)別,主要方法由安全管理者生成,并使用主密鑰進(jìn)行安全下發(fā)。
密鑰需要定期地更新,其生命周期如圖2所示。每個(gè)密鑰從建立到撤銷的整個(gè)有效期之內(nèi),可能會(huì)處在多個(gè)不同階段,需要根據(jù)具體應(yīng)用需求對(duì)密鑰進(jìn)行維護(hù)和更新。
圖2 密鑰生命周期
入網(wǎng)認(rèn)證是一種基于網(wǎng)絡(luò)的安全機(jī)制,用于驗(yàn)證加入節(jié)點(diǎn)身份的真實(shí)性,同時(shí)根據(jù)該節(jié)點(diǎn)身份為其分配相應(yīng)的網(wǎng)絡(luò)資源。
一個(gè)新設(shè)備安全加入網(wǎng)絡(luò)的過程如圖3所示,共包括六個(gè)步驟。
圖3 ISA100.11a安全入網(wǎng)
(1)在新設(shè)備入網(wǎng)之前,已通過手持設(shè)備寫入或者其它方式存儲(chǔ)加入密鑰和全網(wǎng)密鑰;
(2)新設(shè)備依次監(jiān)聽網(wǎng)絡(luò)內(nèi)的可用信道,直到成功收到某個(gè)路由設(shè)備發(fā)出的信標(biāo)并根據(jù)其時(shí)間信息完成時(shí)間同步。構(gòu)造安全系統(tǒng)加入請(qǐng)求報(bào)文根據(jù)默認(rèn)安全策略進(jìn)行安全處理后發(fā)送給路由設(shè)備;
(3)路由轉(zhuǎn)發(fā)新設(shè)備的安全系統(tǒng)入網(wǎng)請(qǐng)求給網(wǎng)絡(luò)管理者;
(4)網(wǎng)絡(luò)管理者的管理實(shí)體收到設(shè)備網(wǎng)絡(luò)層鏈接請(qǐng)求,根據(jù)網(wǎng)絡(luò)實(shí)際情況為設(shè)備分配通信資源并產(chǎn)生加入響應(yīng),并將這個(gè)響應(yīng)連同安全入網(wǎng)請(qǐng)求信息傳送給安全管理者。該安全管理者驗(yàn)證設(shè)備加入請(qǐng)求的合法性。如果認(rèn)證失敗,該網(wǎng)絡(luò)管理者撤回分配給新設(shè)備的資源,斷開連接。如果認(rèn)證成功,安全管理者將提供包括隨機(jī)數(shù)、主密鑰、會(huì)話密鑰、和鏈路層加密密鑰在內(nèi)的安全信息,生成響應(yīng)報(bào)文返回給系統(tǒng)管理者;
(5)路由設(shè)備的安全管理模塊收到該包,完成完整性校驗(yàn)后將該報(bào)文發(fā)送給新設(shè)備的管理模塊;
(6)新設(shè)備中的安全管理模塊對(duì)安全系統(tǒng)加入響應(yīng)報(bào)文進(jìn)行校驗(yàn)。如果認(rèn)證失敗,則該包將被拋棄,同時(shí)新設(shè)備重新發(fā)起加入請(qǐng)求。如果認(rèn)證成功,新設(shè)備將解密獲得相關(guān)密鑰,并回復(fù)安全入網(wǎng)確認(rèn)。此時(shí)新設(shè)備與安全管理者和安全管理代理建立了安全的連接關(guān)系,同時(shí)新設(shè)備根據(jù)響應(yīng)包中的安全策略進(jìn)行安全通信。
ISA100.11a網(wǎng)絡(luò)安全著重關(guān)注安全數(shù)據(jù)傳輸?shù)臋C(jī)密性和完整性,其安全通信協(xié)議棧能夠?qū)崿F(xiàn)數(shù)據(jù)點(diǎn)到點(diǎn)和端到端的安全保護(hù)。圖4為網(wǎng)絡(luò)數(shù)據(jù)安全傳輸流程。
圖4 ISA100.11a安全數(shù)據(jù)傳輸
在此過程中,如下的不同設(shè)備角色可選擇不同安全相關(guān)操作。
(1)現(xiàn)場設(shè)備:對(duì)數(shù)據(jù)包在傳輸層和數(shù)據(jù)鏈路層進(jìn)行加密/解密,生成數(shù)據(jù)鏈路層的時(shí)間戳,并利用時(shí)間戳、DPDU及密鑰生成完整性認(rèn)證碼MIC;
(2)路由設(shè)備:對(duì)數(shù)據(jù)包進(jìn)行數(shù)據(jù)鏈路層完整性校驗(yàn)和加密/解密,利用數(shù)據(jù)鏈路層時(shí)間戳抵御重放攻擊;
(3)網(wǎng)關(guān):對(duì)數(shù)據(jù)包進(jìn)行數(shù)據(jù)鏈路層、傳輸層完整性校驗(yàn)和加密/解密,利用數(shù)據(jù)鏈路層時(shí)間戳抵御重放攻擊;
(4)控制系統(tǒng):對(duì)數(shù)據(jù)包進(jìn)行傳輸層完整性校驗(yàn)和加密/解密。
①數(shù)據(jù)鏈路層安全
數(shù)據(jù)鏈路層幀結(jié)構(gòu)基于IEEE Std 802.15.4數(shù)據(jù)幀,因此具有相同的MAC幀頭。DPDU幀結(jié)構(gòu)如圖5所示。
圖5 數(shù)據(jù)鏈路層幀格式
MMIC對(duì)整個(gè)DHR和DL負(fù)載進(jìn)行完整性保護(hù),而DL負(fù)載根據(jù)安全策略可能會(huì)進(jìn)行加密保護(hù)。在DHR中,DMXHR是設(shè)計(jì)用于安全的擴(kuò)展頭。
②傳輸層安全
傳輸層所提供的安全服務(wù)由傳輸層策略決定,因此,在處理流入流出數(shù)據(jù)的時(shí)候,DSMO需要首先查看MIB表以確定相應(yīng)的策略。
安全開發(fā)平臺(tái)測(cè)試系統(tǒng)包括9個(gè)傳感設(shè)備、4個(gè)路由節(jié)點(diǎn)和1個(gè)網(wǎng)關(guān)節(jié)點(diǎn)。網(wǎng)關(guān)連接了現(xiàn)場設(shè)備層與監(jiān)控層,且安全管理器功能在網(wǎng)關(guān)上實(shí)現(xiàn)。本節(jié)內(nèi)容針對(duì)該測(cè)試系統(tǒng),從安全功能實(shí)現(xiàn),系統(tǒng)功耗與工作效率這三個(gè)方面進(jìn)行分析。
采用Chipcon General Packet Sniffer實(shí)時(shí)監(jiān)聽無線網(wǎng)中傳輸?shù)臒o線報(bào)文并進(jìn)行協(xié)議分析,其安全通信數(shù)據(jù)包如圖6所示。
圖6 安全實(shí)驗(yàn)系統(tǒng)分析
由數(shù)據(jù)包分析可以看出,本測(cè)試系統(tǒng)可實(shí)現(xiàn)安全策略可控,包括無安全、現(xiàn)場數(shù)據(jù)加密、數(shù)據(jù)鏈路層與傳輸層安全和數(shù)據(jù)鏈路層安全等形式。
ISA100.11a網(wǎng)絡(luò)作為無線傳感器網(wǎng)絡(luò)在工業(yè)現(xiàn)場的典型應(yīng)用,低功耗是其核心要求[7]。我們從如下三個(gè)開銷對(duì)平臺(tái)進(jìn)行了測(cè)試分析。
(1)計(jì)算開銷
計(jì)算開銷取決于算法的復(fù)雜性和計(jì)算過程的響應(yīng)時(shí)間。本平臺(tái)中安全算法主要集中于AES密碼算法。該算法實(shí)現(xiàn)基于CC2530中的AES協(xié)處理器,加解密過程中需要經(jīng)過DMA通道上傳下載數(shù)據(jù),運(yùn)算功率平均為7.68mW,計(jì)算開銷較低。
(2)存儲(chǔ)開銷
ISA100.11a安全測(cè)試系統(tǒng)使用128位對(duì)稱密鑰。網(wǎng)絡(luò)最低的安全等級(jí)是所有設(shè)備使用相同加入密鑰進(jìn)行入網(wǎng)認(rèn)證,因此每個(gè)設(shè)備需要保存相同的安全信息,包括密鑰值、密鑰生存周期、加密算法等。這些安全信息都以數(shù)組的形式被保存在安全管理信息庫中,僅占芯片代碼區(qū)的5%,可見安全信息的存儲(chǔ)將不會(huì)增加內(nèi)存空間的負(fù)擔(dān)。
(3)通信開銷
根據(jù)CC2530芯片手冊(cè),在比特率為250kb/s的情況下,接收數(shù)據(jù)平均耗能ERx=324nJ/bit,發(fā)送數(shù)據(jù)平均耗能為ETx=296nJ/bit,因此,通信開銷取決于信息交換次數(shù)以及發(fā)送數(shù)據(jù)包長度。在系統(tǒng)正常運(yùn)行過程中,額外的交互操作僅存在于安全密鑰建立和密鑰確認(rèn)部分;對(duì)每個(gè)數(shù)據(jù)包而言,其長度增加主要在于傳輸層校驗(yàn)碼以及數(shù)據(jù)鏈路層的校驗(yàn)碼,標(biāo)準(zhǔn)默認(rèn)校驗(yàn)碼長度為32bit,其開銷認(rèn)為可接受。
針對(duì)工業(yè)現(xiàn)場傳輸延時(shí)的要求,我們進(jìn)一步測(cè)試安全處理的時(shí)間消耗,以路由設(shè)備為被測(cè)設(shè)備,比較路由設(shè)備在處理無安全數(shù)據(jù)包和添加安全措施的數(shù)據(jù)包的時(shí)間消耗,選取20組時(shí)間值進(jìn)行分析。處理時(shí)間結(jié)果如圖7所示。
路由設(shè)備在轉(zhuǎn)發(fā)普通數(shù)據(jù)時(shí)需要消耗的平均時(shí)間為139208μs。而當(dāng)收到安全數(shù)據(jù)時(shí),路由設(shè)備需要對(duì)收到的安全數(shù)據(jù)包進(jìn)行校驗(yàn)和處理工作,此時(shí)路由設(shè)備消耗的的平均時(shí)間為139213μs。測(cè)試結(jié)果表明,路由設(shè)備解密和重新加密數(shù)據(jù)的操作并沒有造成過多的時(shí)間消耗,加密解密等安全措施不會(huì)增加網(wǎng)絡(luò)中現(xiàn)場設(shè)備、路由和網(wǎng)關(guān)處理數(shù)據(jù)的時(shí)間開銷。
圖7 數(shù)據(jù)安全和非安全處理時(shí)間比較
工業(yè)無線網(wǎng)絡(luò)作為一個(gè)開放性網(wǎng)絡(luò),具有較高的安全需求。我們?cè)O(shè)計(jì)并實(shí)現(xiàn)的ISA100.11a安全開發(fā)平臺(tái),建立以DSMO安全管理模塊為核心的安全通信協(xié)議棧體系,提供數(shù)據(jù)完整性、數(shù)據(jù)保密性和設(shè)備認(rèn)證等安全服務(wù)以保證網(wǎng)絡(luò)運(yùn)行安全。
本平臺(tái)經(jīng)過安全功能測(cè)試,表明可以實(shí)現(xiàn)多種安全策略的靈活部署,同時(shí)本平臺(tái)以集成化、模塊化為典型設(shè)計(jì)思路,可擴(kuò)展性強(qiáng)。并且,本開發(fā)平臺(tái)的功耗及效率測(cè)試結(jié)果表明使用本平臺(tái)搭建的系統(tǒng)是能夠滿足工業(yè)現(xiàn)場的低開銷低延時(shí)需求的。
[1]Wireless systems for industrial automation:Process control and related applications.ISA100.11a/2009 Draft standard
[2]Security framework for ubiquitous sensor network for Consent,Revised text of FCD 29180,ISO/IEC JTC1
[3]Xuan Zhang et al,Research and Implementation of Security Mechanism in ISA100.11a Networks,ICEMI'2009
[4]Cristina Alcaraz,Javier Lopez,A Security Analysis for Wireless Sensor Mesh Networks in Highly Critical Systems,IEEE,July,2010
[5]Gengyun WANG,Comparison and Evaluation of Industrial Wireless Sensor Network Standards ISA100.11a and WirelessHART,CHALMERS University of technology,Report No.EX036/2011
[6]WeiMin et al;Research and Implementation of the Security Method Based on WIA-PA Standard,Electrical and Control Engineering(ICECE),IEEE 2011
[7]王平;王泉;王恒;魏旻;李勇;工業(yè)無線技術(shù)ISA100.11a的現(xiàn)狀與發(fā)展[J]北京;中國儀器儀表,2009(10)