物聯網為何需要基於硬體的安全機制

作者 : Sharon Hagi,Silicon Labs安全長

在電子設計中,安全性至關重要,對於複雜、資源受限、高度連通的物聯網(IoT)而言,更是如此。本文分析為什麼用軟體方法實現物聯網安全性無法達到合格的保障和防護等級,並解釋了為什麼現在硬體方法成為設計和實現物聯網方案的要素…

在電子設計中,安全性至關重要,對於複雜、資源受限、高度連通的物聯網(IoT)而言,更是如此。實現物聯網安全需要依靠成熟的安全原則並警惕不斷變化的威脅,而設計工程師將產品推向市場時面臨一些物聯網安全挑戰。本文分析為什麼用軟體方法實現物聯網安全性無法達到合格的保障和防護等級,並解釋了為什麼現在硬體方法成為設計和實現物聯網方案的要素。文章還強調了用更全面的方法實現物聯網安全性的好處,鼓勵大家擁抱全新的思維方式。

物聯網面臨安全威脅

物聯網目前正逐漸融入大多數工業和商業營運體系中,包括公共設施、重要的基礎設施、交通、金融、零售和醫療。物聯網設備能夠感知和測量物理世界,收集人類的各種活動資料,促進了智慧、自動化、自主命令和控制技術的廣泛部署。透過無處不在的物聯網互連智慧設備,企業能夠創造出真正革命性的技術,從而改善未來人類社會和經濟生活的方方面面。

然而,幾乎每個星期都有主流媒體報導數位安全性的漏洞問題,通常是消費者信用卡資訊被盜或因不當使用而造成損失,與每天發生的成千上萬個網路安全遭受攻擊的案例相比,這只不過是九牛一毛。安全攻擊包括竊取有價值的資料、造成大範圍破壞,更有甚者,會控制關鍵的系統。從消費者的角度來看,分散式阻斷服務(DDoS)攻擊可能是最常見的威脅。2016年造成整個網際網路中斷的Mirai僵屍網路第一次敲響了警鐘,使各機構意識到這類威脅。繼Mirai之後,Aidra、Wifatch和Gafgyt,以及BCMUPnP、Hunter52和Torii53等新加入的僵屍網路,累計侵入了數百萬個物聯網設備,擴散它們的DDoS惡意攻擊軟體、加密貨幣挖礦軟體,以及垃圾郵件中繼代理。

隨著我們工作和生活中出現更多的物聯網設備,潛在的安全攻擊無處不在,而且規模越來越大。來看看它對智慧城市的影響,智慧城市以無所不在的無線通訊和機器/深度學習為基礎,基本的實現理念包括根據需求進行交通控制、跨電網自動負載平衡管理和智慧街燈。以智慧交通控制為例,設想大城市控制交通流量的感測器、交通訊號燈、協調管控車輛的汽車網狀網路和控制設備等基礎設施暴露給對手的情形。在重要的十字路口利用無線網路控制交通訊號燈或車輛之間的通訊,已經不再是好萊塢大片中才會出現的場景,而是一項真實存在的嚴肅議題。

再想一想連網醫療設備、商店內協助改善零售購物體驗的智慧標籤,以及家電如何連網。如果你能用自己的智慧型手機啟動爐子、開鎖、關閉警報系統,那麼其他人呢?

上述的例子跟我們所有人都相關,但是,有很多情形是普通消費者看不到的。設想針對自動化製造環境部署的工業物聯網(IIoT),如果出現了安全性漏洞將會導致怎樣的混亂,生產停機和設備損壞又可能造成怎樣的財務後果?

隨著潛在的攻擊呈指數級增長,物聯網的安全防護必須全面而穩健,並具有快速恢復的能力(圖1)。

圖1 物聯網設備數及面臨的威脅均呈指數增長。(圖片來源:Gartner、Softbank、IBM X-Force威脅情報指數2019,以及Symantec網際網路安全威脅報告2018)

物聯網安全不能只依靠軟體

試圖竊聽或非法獲取資訊並不是什麼新鮮事。荷蘭電腦研究員Wim van Eck早在1985年就進行了相關的研究。他透過截取顯示器的電磁場並進行解碼,成功地從顯示器中獲取了資訊。他的開創性工作強調了一個事實:利用一些價格不高的元件,便可以繞開昂貴的安全防護措施而達到目的。

這種非侵入和被動式電磁邊通道攻擊如今變得更加複雜,並成為眾多攻擊武器的一種。其他旁路攻擊(Side-channel attack)的方法包括差分功耗分析(DPA)等,通常與電磁旁路攻擊一起使用。利用這種攻擊方式,在執行加密處理指示時,物聯網設備微控制器中的加密金鑰、密碼和個人身份等敏感資訊將以電磁訊號的形式被「洩露」。寬頻接收器作為軟體定義的無線電應用目前價格已經很低,在運作中可用於檢測和儲存電磁訊號。

DPA是一種複雜一些的竊取方式。透過簡單的功耗分析可以瞭解設備運作過程中的處理器功耗。由於處理設備所消耗的功率會因執行的函數而有所不同,因此可以用瞭解功耗情況來辨識離散函數。基於AES、ECC和RSA的加密演算法函數需要大量運算,可以透過功耗測量分析來辨識。以微秒時間間隔檢查功耗可以發現密碼學中經常使用的各種數位運算,例如平方和乘法。DPA在簡單的功耗分析中增加了統計和糾錯技術,可以實現機密資訊的高精準度解碼。

截取透過有線或無線通訊傳輸的資料也有可能暴露機密資訊。隱蔽通道和「中間人攻擊」是利用監聽物聯網設備與主機系統間的通訊來收集資料的一種有效方法,分析這些資料可能會洩露設備控制協定及接管遠端連網設備操作所需的私密金鑰。

駭客使用的另一種攻擊技術是對未受保護的微控制器和無線系統單晶片(SoC)元件進行植入攻擊。在最簡單的情況下,該技術可能會降低或干擾微控制器的供電電壓,使其出現奇怪的錯誤。隨後,這些錯誤可能觸發其他受保護的設備打開保存機密資訊的寄存器,進而被入侵。透過更改頻率,植入錯誤的觸發訊號或更改訊號電平來篡改系統的時脈訊號,也可能導致物聯網設備出現異常,從而暴露機密資訊,或導致控制功能被操控。這兩種情況都需要對設備內的印刷電路板進行物理訪問,但不是侵入性的。

由於許多用於保護物聯網設備的安全技術都是基於軟體,因此安全資訊很可能被非法讀取。AES、ECC和RSA等標準密碼加密演算法以軟體堆疊的形式在微控制器和嵌入式處理器上運作。使用價格低於100美元的設備和軟體不但可以查看功耗,還可以借助DPA技術獲得金鑰和其他敏感資訊。現在很容易得到現成的DPA軟體工具自動完成整個過程,因而甚至不需要熟練掌握這些分析方法。

這類攻擊已不再局限於理論領域,它們已被全球的駭客廣泛使用。隨著攻擊力度的不斷增加,物聯網設備和系統開發人員需要重新考慮其安全防護方法,提高安全防護功能,使其更加穩健並具備更好的復原能力。

轉向基於硬體的安全方法

在設計一種新的物聯網設備之前,最好全面瞭解該設備可能受到哪些攻擊,以及需要對什麼樣的威脅進行防備。嵌入式系統的設計規格通常是根據產品的功能要求及工作方式來制定,謹慎的做法是從一開始就審查安全需求並將其納入產品規格。大多數物聯網設備往往可以使用很多年,因此必須透過無線(OTA)的方式進行韌體更新,單這一點就可能引起更多的攻擊,因此需要加以考慮。要想防護所有的攻擊,需要一種從晶片到雲端的方法,實現基於硬體的安全設計。

採用硬體方法實現物聯網安全

這一部分將探討基於硬體的安全技術,為物聯網設備提供可靠的安全機制。從晶圓廠開始即在硬體中實現安全性,同時創建一個無法更改的固定標識,這樣的話,破壞此類IC或設備的代價將遠高於攻擊軟體安全性漏洞。嵌入式設計工程師在選擇微控制器或無線SoC時應認識到,與時脈速度、功耗、記憶體和週邊設備等設備標準一樣,設備的硬體安全特性也非常重要。

信任根(RoT)

對於任何包含處理器的設備,建立RoT是硬體驗證啟動過程的第一步。在晶圓廠製造IC晶圓的過程中,RoT通常作為根金鑰或映射嵌入到唯讀記憶體中,RoT是不可變的,並在設備引導過程中形成錨點以建立信任鏈。RoT還可以包含初始啟動映射,確保從執行第一條指令開始,設備運作的是可靠且經過授權的程式碼,RoT可保護設備免受惡意軟體的攻擊。

安全啟動過程

創建信任鏈的下一步是使用安全啟動過程啟動設備。使用經過身份驗證和授權的RoT映射完成啟動的第一階段後,啟動的第二階段就開始了。隨後,安全載入程式驗證並執行主應用程式碼。圖2顯示的方法使用了雙核心元件,當然這個過程也可用單核心元件來完成。如果需要,安全載入程式可以在程式碼執行之前啟動更新過程。Silicon Labs的無線SoC採用了一種增強的安全啟動實現方法,稱為具有RoT和安全載入程式(RTSL)的安全啟動。

圖2 RoT和安全啟動過程。(圖片來源:Silicon Labs)

另一種可大大提高安全性的硬體技術是物理不可克隆功能(PUF),它是在晶圓製造過程中於矽晶片內創建的物理特性。由於不可預測的原子級結構變化及其對既有的閘極或儲存單元電氣性能的影響,PUF可以為半導體元件提供唯一的身分標識。不可預測的/無序的變化為每個IC創建了獨一無二的「指紋」,實質上就是一個數位出生證明。它們是不可複製的,即使使用相同的製程和材料重新創建一個相同的IC,所生成的PUF也不同。使用單向轉換函數(利用空間可變性)或反覆運算挑戰-回應機制(利用時間可變性)等技術,能夠從PUF中提取可重複金鑰。PUF非常安全,並且具有防篡改能力。PUF金鑰可對安全金鑰儲存區中的所有金鑰進行加密,金鑰會在啟動時重新生成而不是儲存在快閃記憶體中,因此必須對單個設備發起全面攻擊才能提取金鑰。由PUF保護的金鑰也可以被應用程式處理,同時保持機密。為了進行逆向工程或完美複製PUF底層實現特有的分子變化,需要實際入侵奈米級矽晶片,這種技術及其複雜性是大多數(如果不是所有)侵入者是無法做到的。

Silicon Labs將硬體安全嵌入每個安全無線SoC和模組的核心。安全性貫穿產品整個生命週期,從晶片到雲端,從最初的設計到整個生命週期結束(圖3)。

圖3 硬體安全貫穿設備整個生命週期。(圖片來源:Silicon Labs)

安全單元

透過在硬體中提供安全功能,駭客在嘗試入侵或截取機密資訊時將面臨不可克服的挑戰,最終無功而返。Silicon Labs的第2代(Series 2)Wireless Gecko SoC就是一款具備硬體安全功能的無線SoC。Series 2 SoC採用一個安全單元將安全功能與主機分離。安全單元的屬性通常由單獨的晶片提供,但Series 2 SoC將一切都整合到一顆晶片上,為客戶提供更高的設備安全性和更低的物料清單(BOM)成本。

安全單元有四個關鍵功能來增強設備安全性:具有RTSL的安全啟動、專用安全核心、真亂數產生器(TRNG)和可以鎖定/解鎖的安全調變(圖4)。具有RTSL的安全啟動提供可靠的韌體執行,免受遠端攻擊。專用安全核心結合了DPA對策,包括使用隨機遮罩來保護內部運算過程,並將矽片上執行的運算時序隨機化。TRNG透過使用不確定的高熵隨機值幫助創建強大的加密金鑰,並符合NIST SP800-90和AIS-31標準。安全調變可以鎖定調變介面,以防止晶片在運作中被侵入,並允許調變介面驗證解鎖,以增強故障分析能力。

圖4 第2代Wireless Gecko SoC的架構—安全單元核心。(圖片來源:Silicon Labs)

結論

除了實現強大的安全性並降低成本,基於硬體的物聯網安全功能還有另外一個好處:降低功耗。在軟體中執行加密演算法會為微控制器帶來巨大的運算工作,這將增加功耗並縮短電池壽命,將加密處理轉移到專用安全核心可以使設計更節能且性能更高。

任何連網設備都面臨安全威脅,這些威脅無處不在,並且不斷變化。基於軟體的安全技術曾經效果良好,但現在已成為潛在的攻擊目標,硬體方式現在被認為是實現全面且穩健的安全機制唯一可行的方法。

本文同步刊登於EDN Taiwan 2020年5月號雜誌

掃描或點擊QR Code立即加入 “EETimes技術論壇” Line 群組 !

 EET-Line技術論壇-QR

發表評論