周志勝,周美秀
(1. ARM中國,深圳 518048;2.暨南大學 電子工程系,廣東 廣州 510632;3.暨南大學-ARM嵌入式與物聯網聯合實驗室,廣東 廣州510632)
萬物互聯時代悄然來臨,小至路由器、智能音箱、冰箱,大到汽車、工業設備,越來越多的物品都接入了互聯網,進入了物聯網時代。市場研究機構Gartner 預測,到2020 年,全球所使用的物聯網裝置數量將達210億個[1]。
然而,迅猛發展的物聯網在給人們帶來便利的同時,安全隱患也如影相隨,成為物聯網產業發展的一個痛點。2016年10月,一款名為Mirai的新型木馬后門通過控制大量DVR和網絡攝像頭,攻占了諸多物聯網設備,全球由其控制的終端機器達500萬以上[2]。2018年5月,第九屆中國(永康)國際門業博覽會上,有人使用一種特斯拉線圈制成的“小黑盒”連開了8家品牌商的智能鎖,最快的一把只用了3 s[3]。物聯網的安全問題比想象中的更加嚴重,其威脅正不斷上升。物聯網對安全提出了新的挑戰以及更高的預防要求,平臺、操作系統、通信系統甚至整個連接渠道都擔負有預防的責任。
國際針對物聯網安全的研究從2011 年起便迅速發展。這些研究的焦點集中在數據遠程處理的安全性上,可根據物聯網的特點,提出在資源有限的嵌入式設備中引入輕量級安全加密元素,以構建新的物聯網安全架構[4]。國內針對物聯網安全的研究與國際研究的時間同步,由于物聯網體系的多元異構,難以建立起標準統一的安全保護體系,因此只能根據物聯網面臨的不同安全問題,采取不同的應對措施,構建混合多元的物聯網安全機制[5]。針對物聯網終端資源受限和數量巨大的影響,國內許多研究者提出在物聯網感知層采用輕量級安全技術,節省存儲、運算和傳輸資源消耗,提高響應速度,不過度追求高安全級別,而在資源受限的情況下提供適當的安全保護[6]。在物聯網感知層,許多傳感器和嵌入式設備可被植入相對簡單的安全措施,如基于硬件的物理防復制功能和輕量級加密方法等,但這些安全手段普遍存在以下不足[7]:
(1)受制于終端設備較弱的計算能力和較小的存儲容量,安全運算耗時較多,服務請求響應慢;
(2)終端設備能源供應有限,耗能較大的加密方法很難正常完成;
(3)數據本地化處理較少,網絡流量壓力大。
可以看出,這些安全手段只能提供一定程度的安全保護,難以取得令人滿意的總體效果。并且由于物聯網的生態日益豐富,數以百計的芯片廠商進入后,驅使物聯網市場建立統一的底層安全架構與標準。現有安全保護體系存在技術封閉、不全面、資源消耗大等缺點,因此需在物聯網安全領域建立針對物聯網平臺的專屬統一安全架構,以應對日益復雜的物聯網安全威脅。
物聯網能夠通過互聯網連接數十億或數萬億的異構對象,因此迫切需要靈活的分層架構。物聯網基本模型包括應用程序,網絡層和感知層。根據應用場景不同,還有一些其他模型,如五層結構、基于中間件的結構、基于SOA的結構等[8]。
2010年華為首先提出物聯網“云管端”的概念,把物聯網看成“云管端”一體化運營體系[9]。云是云服務,端是智能終端,管則是鏈接“云”和“端”之間的各種設備。與傳統模型相比,“云管端”架構忽視了系統的功能而強調物理形態,更容易形成針對性分析,本文根據“云管端”架構具體分析物聯網安全問題。
若想大規模部署物聯網,就必須構建一個新的統一的安全模型。
基于此,ARM 于2017 年底發布了平臺安全架構(Platform Security Architecture,PSA)。PSA是一個由威脅模型、安全分析以及硬件和固件規范組成的整體,它與開源參考實施共同幫助使用者在最低安全層面為所有互聯設備實現統一的安全設計[10-11]。PSA吸收并整合了行業的最佳實踐,其服務對象是整個物聯網生態系統,從芯片設計師、設備開發者到云和網絡基礎架構提供商以及軟件供應商。PSA提供了一種無需自行開發所有元件就能構建安全系統的方法,可確保數十億設備的安全。PSA的結構體系如圖1所示。

圖1 PSA的結構體系

圖2 PSA的三個階段和四步模型
以智慧零售行業為例,基于ARM PSA的原則搭建物聯網安全架構。所謂智慧零售,就是運用互聯網、物聯網、大數據和人工智能等技術,構建商品、用戶、支付等零售要素的數字化,采購、銷售、服務等零售運營的智能化,以更高的效率、更好的體驗為用戶提供商品和服務。例如,實行全產品電子價簽、布設多媒體電子貨架,利用互聯網、物聯網技術收集分析各種消費行為等。由于智慧零售領域物聯網設備的碎片化,每個具體產品的價值相對較低,導致廠家能夠投入到物聯網設備的研發資源和安全防護相對有限,在大批量部署物聯網設備時,容易被黑客抓住漏洞。ARM公司的PSA平臺可從源頭整合資源,在硬件和固件級別上同步進行安全設計。
PSA可助力企業利用物聯網技術構建模塊開發和部署解決方案,從而將創新產品更快地推向市場,降低解決方案復雜性。PSA提供了一個基于行業最佳實踐的方案,即在硬件和固件級別上同步進行安全設計,主要包括如下三部分:
(1)分析(Analyze),即充分理解風險和威脅因素;
(2)創造軟件和硬件的架構規范(Architect);
(3)實施(Implementation),即幫助相關人員在實體環境中將其變成可能[12]。
針對物聯網相關標準,ARM PSA提出了四步模型[13]:
(1)針對設備的身份必須是唯一的;
(2)可信賴的已知啟動程序;
(3)如果發生任何潛在問題,都必須要實現軟件升級;
(4)基于證書的認證,需確保與其實現通信的設備可信賴,并非偽造的虛假設備。
PSA將行業最佳實踐匯總成一整套架構文件、安全分析和要求,并提供開源參考固件實現,以通過所有架構、標準。可選擇與生態系統伙伴合作,使得用戶能更快速、更安全、最大范圍地實現物聯網安全。PSA的三個階段和四步模型如圖2所示。
在PSA上,安全實施始于分析,即分析考慮需要保護的資產以及在此范圍內應當顧及的威脅。以智慧零售的具體場景——智慧標簽為例,智慧標簽針對大商場和眾多生活便利店而設計,其目的是方便修改眾多商品的價格,并及時上傳到云端。消費者通過云端便可方便查詢具體商品的價格和優惠。
智慧標簽所要保護的資產主要包括商品名稱、價格以及折扣等,這些信息不牽涉個人隱私,但被攻擊后,攻擊者便能從網絡上隨意修改價格,或者造成服務器宕機導致消費者無法訪問,給店主造成一定的經濟損失。由于這些智慧標簽一般安裝于商場或便利店內部,所以部署的環境較為安全;標簽的作用在于顯示,無需直接與消費者交互,所以設備本身也較為安全。考慮到標簽數量眾多,在保證其使用、維護的方便性和安全性基礎上,智慧標簽的成本也不可忽視。綜上所述,對智慧零售而言,主要應防止網絡攻擊與克隆智慧標簽和網關。
2.2.1 確定TRNG 真隨機數產生器
密碼學算法是物聯網安全的核心。所有不同的密碼學算法-身份驗證、安全存儲加密,以及傳輸數據的加密都依賴于安全可信的真隨機數。通常軟件庫中的“random()”函數就是一個Pseudo-Random Generation (PRNG)偽隨機數生成算法。因此,當一個設備最早初始化時,首先需要初始化一個PRNG Seed(由于物聯網設備一般比較小巧、簡單,通常不具備足夠的硬件entropy源,所以需要從外部注入一個PRNG Seed)。從安全角度考慮,最好用硬件的TRNG生成組件,不僅可以實現PRNG的功能,還可以隨機產生初始化的PRNG Seed[14]。
2.2.2 確定硬件的信任根
通常物聯網設備上的敏感數據、用于加密設備和云端通信的密鑰,以及驗證固件更新簽名的密鑰都需要保護起來。比較流行的辦法是對它們進行簽名和加密。簽名和加密的密鑰需要通過設備唯一的根密鑰獲取,即常說的硬件信任根。這樣的信任根通常由SoC/MCU廠家提供并且每個設備具有唯一的根信任。通常SoC/MCU在制造時就會產生并寫入芯片的防侵入、防篡改區域,如OTP。如果MCU無法提供這樣預先植入硬件信任根的方式,也可以在設備生產階段產生信任根并存到MCU的寫保護區域。
2.2.3 保護外部FLASH
多數物聯網設備會采用MCU內部FLASH+一片更大外部FLASH的方式。由于外部FLASH比較容易被其他人訪問,為防止別人通過外部FLASH獲取重要信息或者進行攻擊,存儲在外部FLASH上的數據和固件必須經過存儲在MCU內部的密鑰進行簽名和加密。一種比較流行的方式是在外置FLASH上使用加密文件系統。
2.2.4 保護調試和工廠接口
許多嵌入式設備有用于工廠生產或者現場維護的硬件接口,如JTAG或USB。這些接口在設備的運輸過程中或者部署后,比較容易成為黑客攻擊的目標。建議完成工廠測試流程后把這些工廠生產或者調試的接口從物理上移除或者封起來。若不能移除(設備需要保留在現場或者保留返回工廠做維護的接口),則需要設置相應的授權才能允許訪問這些接口,以保證只有正式授權過的工廠人員或者維護人員才能訪問該設備,并對設備進行現場維護等。用于做調試或者維護接口認證的密鑰需要能夠通過空中升級更新,方便在該密鑰被泄露時能被及時更換。
依照PSA從端、管、云三個層面入手設計安全解決方案。根據上述分析,此處的智能零售系統需通過網關上云,所以安全保護圍繞網關展開。終端具有移動化、微型化特征,包括攝像頭、傳感器及其他智能設備等,在網關加密后,通過運營商2G/3G/4G網絡、寬帶、WiFi等進行數據傳輸,向物聯網應用、服務提供者提供統一的設備管理云平臺,進行集中的數據分析、存儲,以及數據的使用和挖掘。系統架構如圖3所示。
2.3.1 設備端的安全
(1)通過硬件的信任根還可以實現安全啟動和安全存儲。在國際標準的UEFI 2.3.1 Errata C后都有定義安全啟動的協議。主要是通過阻止那些沒有被信任根簽名的固件和OS啟動,以保證設備上運行的軟件都已經過正式授權,避免被惡意刷機和空中升級成非授權軟件。
(2)通過保護外部FLASH,接口加密防止采用物理設備的訪問方式來獲取密鑰,或進行設備克隆等攻擊。
(3)網關和智慧標簽之間通過AES加密,借助完善的設備錄入網關機制保障末端無線通信的安全。

圖3 智能零售系統架構圖
2.3.2 通信的安全
網關通過TRNG,獨立信任根+ Mbed TLS確保網關和設備管理云的通信安全。ARM Mbed TLS使開發人員可以非常輕松地在嵌入式產品中加入加密和SSL/TLS功能。它提供了直觀的API和可讀源代碼SSL庫,可在大部分系統上直接構建,也可以手動選擇配置各項功能。Mbed TLS庫提供了一組可單獨使用和編譯的加密組件,也可以使用單個配置頭文件加入或排除這些組件,以防止中間人攻擊、網絡數據監聽、回播攻擊等。其中Mbed TLS可實現如下核心功能[15]:
(1)SSL/TLS的加密通信;
(2)TCP/IP 通信 ;
(3)數據加解密;
(4)密鑰交貨協議;
(5)X.509證書的解析、生成和驗證;
(6)哈希/HMAC的生成;
(7)隨機數的產生。
2.3.3 云端的安全
云端支持安全的證書分發,給每個網關分發不同的安全根證書,在工廠生產階段植入到網關設備中。設備日常運行時,支持FOTA(安全固件升級功能),可以隨時通過云端更新設備的固件,解決可能存在的安全隱患。
在需要部署數萬個智慧標簽的情況下(如大型商場等),可以選擇基于ARM Cortex-A,帶TrustZone的網關設備。智慧標簽可選擇基于ARM Cortex-M0的低功耗MCU,RF433,ZigBee等近距離無線通信技術。
在只需要部署幾十或數百個智慧標簽的情況下(如便利店等),可選擇基于ARM Cortex-M4或Cortex-M33(帶TrustZone V8-M)的MCU做網關設備。智慧標簽同樣可以選擇基于ARM Cortex-M0的低功耗MCU,RF433,ZigBee等近距離無線通信技術。
確保了端到云的雙向安全問題后,零售商可以方便、安全地安裝眾多傳感器獲取用戶的消費行為信息,實時把商品價格下發到不同的門店。最重要的是,設備和云端完全互信,可從物聯網的網絡端和云端出發建立端、管、云的安全防護體系。以智慧零售行業為例,具體措施見表1所列。
2.6.1 設備安全訪問管理
基于IETF ACE 標準的設備安全訪問可以解決設備后期維護的安全問題。之前的設備維護大多通過輸入用戶名和驗證密碼的方式進行。如果維護人員需要維護某些設備,那么廠家便會把相應設備的用戶名和密碼告訴該維護人員。隨著需維護的設備逐漸增多,大量設備的用戶名和密碼會被不同的維護人員知悉,且隨著維護人員的流動,這些用戶名和密碼有可能泄露,被特定人員作為攻擊的工具使用。在搭建基于PSA的安全架構平臺后,可以基于IETF ACE靈活定義維護人員的權限,如哪個維護人員、什么時間段、對具體哪個物聯網設備進行維護與哪種行為的維護。時間過期后,該維護人員就會自動失去對此物聯網設備的訪問權限,或者云端可以主動撤銷一些維護
人員的權限,避免出現因維護設備而泄露設備訪問信息的情況。
2.6.2 網關本身的設備管理
之前如果網關有故障,就需要廠家派人員到現場調試維修,對于部分無法當場解決的問題,甚至會要求到國外解決后寄回國內替換,耗時長達數周或數月。借助PSA安全架構平臺,基于網關和物聯網云之間的安全互信,商家可以把網關上所有的配置信息保存到云端。在網關設備本身出現異常或者設備故障時,可以迅速通過更換新網關,從云端下載配置信息到新網關來大大降低系統的維護時間。
隨著物聯網的蓬勃發展,安全問題愈加突出,本文基于“云管端”架構分析了物聯網存在的主要安全問題和當前安全防護的不足。由于物聯網設備的多樣性及接口的不統一,ARM發布了PSA物聯網安全平臺,為所有互聯設備實現統一的安全設計。本文以智慧零售行業為例,基于PSA的原則搭建了物聯網安全架構,形成較為完善的智慧零售物聯網安全解決方案。通過這幾年的推廣和實踐,PSA也被越來越多的芯片廠家、模組廠家、云廠家所接受。PSA的目的是建立行業標準,與生態系統合作伙伴一起,方便用戶更快、更安全、最大規范地實現物聯網安全,實現客戶和商家價值共贏。

表1 PSA智能零售系統防護措施表