物聯網資安 硬體安全 密碼 金鑰 智慧城市 嵌入式裝置 惡意程式

純軟體模組不足以抵禦 IoT設備防駭迫在眉睫

善用輕量化HSM優勢 組織物聯網資安大軍

2019-06-11
本文將簡述FIPS PUB 140-2對於密碼模組的四個安全等級,然後介紹三種基於硬體安全模組的安全機制。考量物聯網設備計算資源受限,一個輕量化硬體安全模組僅須採用較低計算量的對稱式金鑰密碼系統,就足以提供相當程度的安全性,更容易被物聯網設備所接受。

 

近年來,由於嵌入式裝置(Embedded Devices)價格相對便宜與無線通訊技術的成熟,物聯網(Internet of Thing,IoT)已被快速的發展中。物聯網於現今已廣泛地涵蓋智慧家庭、智慧城市、智慧汽車與智慧工廠等各類型的應用,從人們身邊的智慧裝置到工廠機台,都可能透過網路互相通訊並交換資料。

嵌入式裝置通常作為物聯網的終端實體物件,例如感測器(Sensor)、IP攝影機與智慧手環等。這些小型裝置架構簡單且執行的程序也較為單純,它們相互地傳遞資料,最後提供高價值資訊給使用者。因此,終端實體物件扮演物聯網基礎建設中極為重要的角色。

2016年,一支名為「Mirai」的惡意程式嚴重地襲擊物聯網安全,特別是IP攝影機。受到Mirai感染的裝置將掃描一群物聯網設備,並且查看是否開啟特定的服務端口,然後透過預設的帳號與通行碼(Password)企圖登入目標設備,最後使攻擊者可遠端遙控受控制的物聯網設備。這些受控制的物聯網設備形成一個殭屍網路(Botnet),然後對目標服務進行分散式阻斷服務(Distributed Denial-of-Service,DDoS)攻擊。

事實上,物聯網設備可被看作一台小型電腦,因此依然可能遭遇一般電腦面臨的安全問題。萬物相連的時代,惡意程式可快速地將自己散播出去而感染數以萬計的物聯網設備,使得基於物聯網的資訊系統完全地落入攻擊者的操控之下。隨著物聯網資安意識的抬頭,經濟部與國家通訊傳播委員會已共同努力推動一系列的物聯網資安要求規範,例如影像監控系統資安標準。由此可知,國內也正積極發展物聯網資安的技術研發與檢測能量。

一般來說,提供物聯網設備的防禦機制可以建立在純軟體或硬體模組之上。基於純軟體的防禦機制的優點包含開發快速、更新容易、成本較低等等,所以特別適合於計算資源(如電力、記憶體容量與計算能力等)較為受限的嵌入式設備。然而,基於純軟體的防禦機制若是運行在一個非信賴的執行環境中,則仍然威脅著物聯網設備的安全性。舉例來說,惡意程式可以被植入在物聯網設備中,然後強奪控制權,甚至取得儲存於記憶體之中的私密金鑰。

再者,攻擊者較容易分析基於純軟體防禦機制的程式碼,而發現潛在的軟體漏洞(例如緩衝區溢位或Return-to-libc),最後導致安全缺口。

基於硬體模組的防禦機制,雖然須花費額外的硬體成本,但是卻可以提供一個獨立且不受干擾的執行環境,讓重要的程序能夠被執行在可信賴的環境中,而免於攻擊者的迫害。

硬體安全模組(Hardware Security Module,HSM)是一種可執行密碼系統(Cryptosystem)的硬體模組,既可以是單獨的處理器,也可以是協同處理器。FIPS PUB 140-2訂定了HSM的安全層級,另外密碼模組驗證計畫(Cryptographic Module Validation Program,CMVP)也負責制定驗證HSM的相關標準。因此,在經過審慎的安全檢測與確認後,硬體模組將能夠為物聯網設備帶來強健的安全性。

認識硬體安全模組與FIPS PUB 140-2標準

HSM的應用範圍從生活常見的晶片卡到獨立的資訊系統設備,圖1舉例幾種常見的HSM的產品類型。HSM通常須執行至少一種以上的密碼系統,並且被使用來加密、產生或儲存金鑰與其他安全參數等。FIPS PUB 140-2, Security Requirements for Cryptographic Modules定義了四個安全等級,藉此規範一個HSM的安全強度,其中等級越高則安全性需求越高。以下將簡要描述FIPS PUB 140-2對HSM的四個安全等級之需求。

圖1  常見的硬體安全模組的產品類型。

‧等級1:此等級為最低的安全等級,其中規範HSM須執行至少一種已被認可的密碼系統;FIPS PUB 140-2 Annex A列出幾種已被認可的密碼系統,例如AES、3-DES、SHA-1、RSA等其他。符合等級1的HSM未考量實體攻擊之防禦機制,比較適合安全需求較低的資訊系統或搭配額外的保護機制。

‧等級2:此等級除了包含等級1的安全需求外,也考量實體攻擊的防禦機制,例如HSM的外蓋需覆蓋一層特殊塗料,當HSM的外蓋以實體方式被打開時,將會迫使塗料的外觀留下被破壞的證據。符合等級2的HSM也需要具備基於角色(Role-based)的鑑別機制,藉此授權給特定的對象存取HSM提供的服務。

‧等級3:此等級更進一步地加強HSM對實體攻擊的防禦機制。當攻擊者企圖以實體方式取得儲存於HSM中的關鍵安全參數(Critical Security Parameter,CSP)時,HSM須有能力偵測此類攻擊並且清除HSM內的CSP,藉此避免攻擊者取得CSP。符合等級3的HSM須具備基於身分(Identity-based)的鑑別機制,藉此授權給特定身分的對象存取HSM的服務。等級3的HSM還需要設計專屬的端口,以用來輸入或輸出CSP。

‧等級4:此等級提供最高的安全需求,除了包含先前安全等級對於實體攻擊的防禦機制外,符合等級4的HSM也要能夠抵禦外在環境的影響,例如電壓與溫度。當HSM偵測周圍環境發生異常或劇烈的變化時,則會清除HSM中的CSP,或者有能力排除外在環境變化對自身的影響。

輕量化硬體安全模組與物聯網設備的未來

針對輕量化硬體安全模組與物聯網設備的未來,以下從三方面來探討說明。

輕量化硬體安全模組的可能性

一個HSM通常會考量對各類實體攻擊的基本防護,因此HSM可以提供一個獨立的安全儲存空間與不被外界干擾的執行環境。考量物聯網設備通常建置在小型的嵌入式設備,如何以最少資源提供足夠的安全性已成為物聯網資安的主要挑戰之一。幸運的是,隨著現今密碼技術的發展,計算量相對較少的對稱式金鑰密碼系統將可提供一定程度的防禦機制,相當適合計算資源受限的物聯網設備。

先進加密標準(Advanced Encryption Standard,AES)即為一種常見的區塊加密演算法,也很適合被用來產生隨機亂數,圖2顯示AES運作於CBC(Cipher Block Chaining)工作模式的加密程序。在第一個區塊進行加密時,除了輸入1與金鑰(K1)外,也引入一個初始向量(Initialization Vector,IV);當IV值被改變時,即便使用同樣的金鑰為2則相同的明文進行加密,也將分別得出相異的密文,進而抵擋已知明文攻擊(Known-plaintext Attack)。

圖2  運行於CBC工作模式的AES加密程序。

此外,由於每一個區塊的輸出都將影響下一個區塊的輸出,使得AES-CBC具有錯誤傳播(Error Propagation)的特性,因此AES-CBC可以將最後一個區塊的輸出當作訊息鑑別碼(Message Authentication Code,MAC),用以確保訊息的完整性與來源性。請特別注意,當AES-CBC被用來產生MAC時,為了安全性的考量,通訊雙方通常不會使用IV值,而且輸出1~輸出3也不會傳送給接收方。

總結來說,若是考量HSM會為小型裝置帶來太多計算資源的負擔,可以採用對稱式金鑰密碼系統來代替計算量相對較高的公開金鑰密碼系統,而減少電力與計算上的成本,而且同時兼顧機密性、完整性以及來源性。如此,輕量化HSM將更容易被物聯網設備所採用。

安全的金鑰管理與儲存空間

隨著國內個人資料保護法與歐盟GDPR的發布,個人隱私資料已經成為安全機制所保護的主要對象。充斥在人們周遭環境的物聯網設備更是需要處理許多與個人隱私有關的資料。因此,儲存在物聯網設備的個人隱私資料都應該受到加密保護。不過,物聯網設備該如何安全地儲存金鑰,而免於攻擊者竊取,則是相當棘手的問題。

一個裝載HSM的物聯網設備,可以將金鑰儲存在HSM中,並且由HSM執行加解密程序。當機敏資料需要被保護時,物聯網設備的主計算平台可以將機敏資料送到HSM中,然後先由HSM加密後再輸出至主計算平台,最終將密文儲存在主計算平台的記憶體內。藉由HSM的協助,安全的金鑰儲存問題可以獲得良好的解決方案。

此外,為了更進一步地保護金鑰,HSM也可以採用對稱式金鑰密碼系統建立階層式金鑰管理機制。舉例來說,HSM中可以設定一把主金鑰(Master Key,MK),然後採用AES搭配CTR(Counter)工作模式,產生為了不同目的的子金鑰(Sub-key,SK)。

圖3說明運行於CTR工作模式的AES加密程序,其中每個區塊的輸出都可以當作子金鑰。如此一來,MK將不會直接參與在加解密的程序中,而讓攻擊者有機會取得大量與MK有關的資訊,進而有效地保護MK。此外,當SK的工作週期到達時,可以再選用另一個計數值,然後產生一把新的SK,使得機敏資料的保護可以獲得更高的保障。

圖3  運行於CTR工作模式的AES加密程序。

同樣地,若要實現上述的金鑰管理機制,HSM也可以採用AES,而無須倚靠較高計算量的公開金鑰密碼系統。由於HSM具備實體攻擊的基本防禦,當偵測到外力或周圍環境的劇烈變化時,HSM也將立即抹除儲存於內的主金鑰與子金鑰,而大幅降低洩漏機敏資料的可能性。

軟體程式的完整性證實方法

物聯網設備本身就是一台小型電腦,由軟體程式驅使硬體元件而提供所需的服務。但是,這些軟體程式也有可能被惡意地修改,或者由攻擊者植入惡意程式至物聯網設備中,而這些被感染的物聯網設備將被攻擊者所控制。

在桌上型電腦或筆記型電腦上,安裝防毒軟體偵測惡意程式的存在是很常見的防禦方式。不過,對於物聯網設備而言,上述的方法可能將遭遇到以下幾種限制。

首先,小型的嵌入式設備沒有太多的資源來偵測現今變化多端的惡意程式侵害。其次,基於純軟體的偵測機制將被修改為惡意程式,並且執行非預期的行為。最後,基於純軟體的方案難以避免惡意程式取得儲存於物聯網設備中的金鑰或其他CSP。

由於小型嵌入式設備的程式碼相對簡單,因此對於軟體安全的防禦機制可以著重於驗證程式碼的完整性上。遠程證實(Remote Attestation)方法即是一種可以讓驗證者遠端地檢查目標設備的軟體程式是否被破壞的偵測機制。

特別的是,基於HSM的防禦機制可以立即建立一個不被干擾的執行環境,進而提供一個可信賴基礎並且用來執行與遠程證實相關的程序。

當需要驗證軟體程式的完整性時,物聯網設備的主計算平台可以將軟體程式傳送到HSM內,然後由HSM產生相對應的MAC值。這個MAC值將被物聯網設備傳送到後端管理平台,然後與另一個事先計算好的MAC值相互比對。

假設比對結果不正確,則該物聯網設備將被列入黑名單中;反之,則可判定該物聯網設備正處於一個預期的可信賴狀態。

可信賴的物聯網設備能夠被賦予更重要的任務,而且建立更高層次的防禦機制,也能提供更具參考價值的資訊給使用者。

結語

物聯網為資訊科技帶來無限可能的發展,人們接收資訊的速度也越來越快,對於資訊設備的倚賴程度也將日益增加,但是這也使得攻擊者覬覦著物聯網設備。

物聯網的攻防戰原本就是一場實力懸殊的競賽,防禦方因為受限於計算資源的不足與考量使用者的便利性,被迫同時兼顧安全性與實務性。另一方面,攻擊者免除計算資源的限制而可以大肆地攻擊目標物。為了使得這場競賽的天秤能夠更趨平衡,付出些許的硬體成本使得物聯網設備具有足夠的安全機制,無疑是值得的。

國內近幾年積極推廣「物聯網資安認驗證規範」正是打造物聯網安全的最佳助瀾。往後,物聯網設備的供應商可以將商品送到受認可的檢測實驗室測試安全性。一旦檢測通過,使用者將對自家商品更具信心而獲得助益。

目前國內已有五家認可實驗室(截至2019年4月9日止),分別為財團法人台灣電子檢驗中心、財團法人電信技術中心、安華聯網科技股份有限公司、勤業眾信聯合會計師事務所以及行動檢測服務股份有限公司。期盼未來,國內的物聯網資安規範可以享譽到全世界,成為一個國際認可的資安規範。

<本文作者:國立中央大學資訊工程博士,目前擔任電檢中心(ETC)資訊與通信技術服務部的資安測試工程師,擁有CEH與NSPA資安證照。本身熱衷於密碼學的議題,也致力於推廣基於硬體安全模組的防禦機制。業務內容涵蓋:行動應用App資安檢測、軟體驗證與確效以及區塊鏈研究。研究興趣包含:可信賴計算、應用密碼學與軟體安全等。>


 


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!