王 浩,張 曉,王 平,梁 晶
(重慶郵電大學自動化學院工業物聯網與網絡化控制教育部重點實驗室,重慶 400065)
ISAl00.11a標準由美國儀器儀表協會(ISA)下屬的ISA100工業無線委員會制定,是工業無線領域的三大標準之一[1]。筆者所在的重點實驗室作為國際Voting Member和ISA WCI工作組的成員參加了ISA 100.11a標準的制定工作。
ISA100.11a作為一個開放性網絡,可能受到非法入侵、毀壞數據和重放攻擊等威脅,攻擊者會利用工業無線網絡存在的漏洞對網絡資源和信息進行未授權訪問和篡改等惡意操作[2,3],因此,我們必須采取一定的安全措施,以保證用戶的安全操作和網絡節點間的安全通信,保護網絡內部的資源和維持正常的生產秩序。針對工業物聯網的安全需求,本實驗室設計并實現一種基于ISA100.11a協議的安全開發平臺,為安全技術的推廣提供技術支持。
我們的ISA100.11a安全開發平臺是基于本實驗室開發的硬件平臺和ISA100.11a通信協議棧,實現標準中的安全服務,并預留二次開發接口,用于學習和開發基于ISA100.11a協議的安全系統。
(1)網關設備
ISA100.11a網關是一種集成 ISA100.11a核心協議的短程無線通信設備。它需要現場總線電源供電,工作頻段為2.4GHz,選用美國 ATMEL公司的AT91R40008微處理器,提供串口和以太網口兩種連接方式。
(2)無線模塊
ISA100.11a路由設備和終端節點設備的無線模塊主要由天線部分、CC2530芯片部分、電源模塊部分和晶體振蕩電路四部分組成。其工作頻段為2.4GHz,集成 ISA100.11a 核心協議,由自帶電源供電,是一種低能耗、短程無線網絡通信設備。
(3)傳感器類型
本安全開發平臺提供的傳感器類型包括溫濕度傳感器、煙霧傳感器和瓦斯傳感器。
ISA100.l1a標準協議體系結構定義了物理層、數據鏈路層、網絡層、傳輸層和應用層。數據鏈路層包括 IEEE 802.15.4 的 MAC 子層、ISAl00.lla的MAC擴展層和數據鏈路層上層;應用層包括應用子層、用戶應用進程和設備管理器。
在ISA安全體系中,安全管理器負責整個網絡的安全管理:①設備自身的安全是通過設備的管理應用進程DMAP中設備安全管理對象DSMO進行管理,可以由DSMO向設備的應用進程發起安全服務請求;②ISA的安全服務主要應用于通信協議棧的數據鏈路層和傳輸層,當使用特定的密鑰時,數據鏈路層安全可以抵御來自系統外部的攻擊者,而傳輸層安全是抵御那些存在于網絡邊緣的攻擊者。ISA提供的安全服務主要由設備內的安全管理對象DSMO和網絡中安全管理器進行交互式管理。
加密算法使用標準中規定的AES加密算法[4,5],其密鑰長度為 128bit,加密和完整性校驗使用CCM模式。本平臺中的安全算法由CC2530中的AES硬件協處理器輔助實現,并根據是否加密與校驗碼長度,將數據安全操作分成8種安全級別。
本平臺密鑰生成使用標準中規定的SKG協議,該協議中使用的算法為HMAC,HMAC算法的原理框圖如圖1所示。圖中ipad表示16個值為0x36的十六進制值串;opad表示16個值為0x5C的十六進制值串;表示異或運算; II表示連接運算;MMO Hash算法為無密鑰的散列算法,通過AES加密算法協助完成。

圖1 HMAC算法原理框圖
ISA100.11a支持對稱密鑰和非對稱密鑰的使用,由于非對稱密鑰只是在高安全級別下用于安全引導操作,因此本文主要介紹對稱密鑰的管理。根據密鑰的使用特點可將密鑰分為如下五種類型。
(1)全網密鑰(Global key):全網共享密鑰,不具備安全性能,為保持數據結構的一致性在未建立共享密鑰的時候處理PDU。
(2)加入密鑰(Join key):設備與安全管理者共享,共享密鑰準備階段時接收,引導新設備入網。
(3)主密鑰(Master key):設備與安全管理者共享,由密鑰協商機制導出,用于密鑰分發以及安全管理,需要定期更新。
(4)數據鏈路層密鑰(DL key):本地DL子網共享,由安全管理者分發,用于數據鏈路層的完整性校驗碼MIC的計算,需要定期更新。
(5)會話密鑰(Session key):設備與安全管理者或設備之間共享,可由安全管理者分發或者由密鑰協商機制產生,用于傳輸層數據加密及校驗,需要定期更新。
密鑰的建立和更新根據安全策略的不同而有所區別,主要方法由安全管理者生成,并使用主密鑰進行安全下發。
密鑰需要定期地更新,其生命周期如圖2所示。每個密鑰從建立到撤銷的整個有效期之內,可能會處在多個不同階段,需要根據具體應用需求對密鑰進行維護和更新。

圖2 密鑰生命周期
入網認證是一種基于網絡的安全機制,用于驗證加入節點身份的真實性,同時根據該節點身份為其分配相應的網絡資源。
一個新設備安全加入網絡的過程如圖3所示,共包括六個步驟。

圖3 ISA100.11a安全入網
(1)在新設備入網之前,已通過手持設備寫入或者其它方式存儲加入密鑰和全網密鑰;
(2)新設備依次監聽網絡內的可用信道,直到成功收到某個路由設備發出的信標并根據其時間信息完成時間同步。構造安全系統加入請求報文根據默認安全策略進行安全處理后發送給路由設備;
(3)路由轉發新設備的安全系統入網請求給網絡管理者;
(4)網絡管理者的管理實體收到設備網絡層鏈接請求,根據網絡實際情況為設備分配通信資源并產生加入響應,并將這個響應連同安全入網請求信息傳送給安全管理者。該安全管理者驗證設備加入請求的合法性。如果認證失敗,該網絡管理者撤回分配給新設備的資源,斷開連接。如果認證成功,安全管理者將提供包括隨機數、主密鑰、會話密鑰、和鏈路層加密密鑰在內的安全信息,生成響應報文返回給系統管理者;
(5)路由設備的安全管理模塊收到該包,完成完整性校驗后將該報文發送給新設備的管理模塊;
(6)新設備中的安全管理模塊對安全系統加入響應報文進行校驗。如果認證失敗,則該包將被拋棄,同時新設備重新發起加入請求。如果認證成功,新設備將解密獲得相關密鑰,并回復安全入網確認。此時新設備與安全管理者和安全管理代理建立了安全的連接關系,同時新設備根據響應包中的安全策略進行安全通信。
ISA100.11a網絡安全著重關注安全數據傳輸的機密性和完整性,其安全通信協議棧能夠實現數據點到點和端到端的安全保護。圖4為網絡數據安全傳輸流程。

圖4 ISA100.11a安全數據傳輸
在此過程中,如下的不同設備角色可選擇不同安全相關操作。
(1)現場設備:對數據包在傳輸層和數據鏈路層進行加密/解密,生成數據鏈路層的時間戳,并利用時間戳、DPDU及密鑰生成完整性認證碼MIC;
(2)路由設備:對數據包進行數據鏈路層完整性校驗和加密/解密,利用數據鏈路層時間戳抵御重放攻擊;
(3)網關:對數據包進行數據鏈路層、傳輸層完整性校驗和加密/解密,利用數據鏈路層時間戳抵御重放攻擊;
(4)控制系統:對數據包進行傳輸層完整性校驗和加密/解密。
①數據鏈路層安全
數據鏈路層幀結構基于IEEE Std 802.15.4數據幀,因此具有相同的MAC幀頭。DPDU幀結構如圖5所示。

圖5 數據鏈路層幀格式
MMIC對整個DHR和DL負載進行完整性保護,而DL負載根據安全策略可能會進行加密保護。在DHR中,DMXHR是設計用于安全的擴展頭。
②傳輸層安全
傳輸層所提供的安全服務由傳輸層策略決定,因此,在處理流入流出數據的時候,DSMO需要首先查看MIB表以確定相應的策略。
安全開發平臺測試系統包括9個傳感設備、4個路由節點和1個網關節點。網關連接了現場設備層與監控層,且安全管理器功能在網關上實現。本節內容針對該測試系統,從安全功能實現,系統功耗與工作效率這三個方面進行分析。
采用Chipcon General Packet Sniffer實時監聽無線網中傳輸的無線報文并進行協議分析,其安全通信數據包如圖6所示。

圖6 安全實驗系統分析
由數據包分析可以看出,本測試系統可實現安全策略可控,包括無安全、現場數據加密、數據鏈路層與傳輸層安全和數據鏈路層安全等形式。
ISA100.11a網絡作為無線傳感器網絡在工業現場的典型應用,低功耗是其核心要求[7]。我們從如下三個開銷對平臺進行了測試分析。
(1)計算開銷
計算開銷取決于算法的復雜性和計算過程的響應時間。本平臺中安全算法主要集中于AES密碼算法。該算法實現基于CC2530中的AES協處理器,加解密過程中需要經過DMA通道上傳下載數據,運算功率平均為7.68mW,計算開銷較低。
(2)存儲開銷
ISA100.11a安全測試系統使用128位對稱密鑰。網絡最低的安全等級是所有設備使用相同加入密鑰進行入網認證,因此每個設備需要保存相同的安全信息,包括密鑰值、密鑰生存周期、加密算法等。這些安全信息都以數組的形式被保存在安全管理信息庫中,僅占芯片代碼區的5%,可見安全信息的存儲將不會增加內存空間的負擔。
(3)通信開銷
根據CC2530芯片手冊,在比特率為250kb/s的情況下,接收數據平均耗能ERx=324nJ/bit,發送數據平均耗能為ETx=296nJ/bit,因此,通信開銷取決于信息交換次數以及發送數據包長度。在系統正常運行過程中,額外的交互操作僅存在于安全密鑰建立和密鑰確認部分;對每個數據包而言,其長度增加主要在于傳輸層校驗碼以及數據鏈路層的校驗碼,標準默認校驗碼長度為32bit,其開銷認為可接受。
針對工業現場傳輸延時的要求,我們進一步測試安全處理的時間消耗,以路由設備為被測設備,比較路由設備在處理無安全數據包和添加安全措施的數據包的時間消耗,選取20組時間值進行分析。處理時間結果如圖7所示。
路由設備在轉發普通數據時需要消耗的平均時間為139208μs。而當收到安全數據時,路由設備需要對收到的安全數據包進行校驗和處理工作,此時路由設備消耗的的平均時間為139213μs。測試結果表明,路由設備解密和重新加密數據的操作并沒有造成過多的時間消耗,加密解密等安全措施不會增加網絡中現場設備、路由和網關處理數據的時間開銷。

圖7 數據安全和非安全處理時間比較
工業無線網絡作為一個開放性網絡,具有較高的安全需求。我們設計并實現的ISA100.11a安全開發平臺,建立以DSMO安全管理模塊為核心的安全通信協議棧體系,提供數據完整性、數據保密性和設備認證等安全服務以保證網絡運行安全。
本平臺經過安全功能測試,表明可以實現多種安全策略的靈活部署,同時本平臺以集成化、模塊化為典型設計思路,可擴展性強。并且,本開發平臺的功耗及效率測試結果表明使用本平臺搭建的系統是能夠滿足工業現場的低開銷低延時需求的。
[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]王平;王泉;王恒;魏旻;李勇;工業無線技術ISA100.11a的現狀與發展[J]北京;中國儀器儀表,2009(10)