帳號:
密碼:
最新動態
產業快訊
CTIMES / 文章 /
加密元件融入IoT裝置安全啟動程序
讓系統無懈可擊

【作者: Eustace Asanghanwa】   2017年09月26日 星期二

瀏覽人次:【25386】


安全啟動確保了嵌入式系統的操作是安全並且可預測的。它的價值在那些因出現故障而可能導致災難性後果的系統中能輕易的被看見。這類重要系統的範例包含家用爐灶和爐烤的熱控制器、汽車的引擎控制模組、交通號誌控制器、植入式醫療裝置中的治療傳輸系統以及無人駕駛列車的控制器等。


這些系統可能會因為它們的韌體發生故障而出現失靈或不可預測的操作。而這些故障可能從各種來源所導致,例如,因電源突波所造成記憶體故障的環境因素到被駭客注入的惡意程式碼執行等等。無論在何種情?下,安全啟動提供了在嘗試開始操作系統前先檢測韌體的完整性的方法。


安全啟動一直都是在有需要的情?下才會被執行。雖然安全啟動做為一個話題,但實際上卻可能很少被提及這種要性。但在很多關鍵系統中,一直有相對應的法規和標準來?制執行安全啟動以保障這些系統的安全運行。


因此,大部分的電腦滑鼠或手持計算器等一些重要性被認為較低的系統都直接跳過了嚴格的安全啟動過程,因為它們出現故障所導致的後果一般都很輕;然而,什麼樣的組合可稱之為一個關鍵的嵌入式系統呢?這個定義正因為物聯網(IoT)的出現和普及而悄然發生著變化。


IoT將安全啟動推向最前線

關鍵系統和非關鍵系統之間的差異正日漸縮小。隨著IoT的出現,可以說現在每個嵌入式系統都是一個關鍵系統,而不再像是一座孤島,所有的性能和故障都只限於其中。雖然IoT將嵌入式系統連接在一起提供了很大的好處,但是這種聯網的架構其直接後果就是消除了圍阻邊線。現在,任何一個連入網路的嵌入式系統都是潛在的風險,而世界上任何一個人都成為潛在的受害者。


因注入錯誤到嵌入式系統的韌體中而引發的潛在損害從來沒有像現在這樣大,像電力突波和通訊錯誤等自然系統故障的發生大致上還是和以前一樣,所以傳統的安全啟動程序還仍然有效。但是,人為注入的錯誤尤其是惡意類型的錯誤發生,無論是在種類上還是複雜程度上都在迅速增長。


在過去,攻擊者需要取得實質存取權限以在每一個獨立的系統中插入惡意錯誤。而現在,由於各個系統都是聯網的,攻擊者只需攻擊其中的一個系統即可輕鬆獲得存取其它許多遠端系統的權限。這會導致大量裝置被惡意控制,關鍵系統和儲存在雲端的資料遭到惡意存取,或是因為駭客炫技而發生臭名昭彰的資料泄露事件。這也就是為什麼我們有必要確保安全啟動解?方案必須能夠抵禦攻擊和錯誤注入的原因。


保障啟動過程

安全啟動包含兩個基本的要素:檢測韌體完整性的能力和對檢測過程完整性的保證。這些由來已久的要素很好理解,它們使用加密技術來實現各個目標,只在加密演算法的複雜程度和保障檢測過程完整性的安全硬體方法這兩方面有所演變。


檢測韌體的完整性涉及使用加密技術來建立類似指紋特徵的技術,即將一小段壓縮的數位編碼,可用來表示韌體並且輕鬆地檢測出變化。這種加密技術屬一類可產生指紋摘要、被稱為散列函數的加密算法。


常用的256位元安全散列算法,或簡稱為SHA256,可產生長度為256位元的摘要。SHA256是最新的散列算法,雖然它既不是最緊?的也算不上最精細的,但是它在安全性與嵌入式系統資源的有效使用二者之間取得了較好的平衡,這些嵌入式系統資源包括電源、程式碼空間和計算資源等。


為安裝和實現安全啟動,嵌入式系統製造商在工廠製造過程中即對最終的操作韌體進行散列,並在嵌入式系統中同時安裝韌體和摘要。在實際操作過程中,嵌入式系統中的一段檢測程式碼會對操作韌體進行散列,並將所得的摘要與工廠安裝的摘要進行比較,如果摘要完全匹配,即說明操作程式碼的完整性沒有受損。


為確保檢測過程的完整性,最理想的做法是將檢測程式碼放在諸如ROM(唯讀記憶體)等類型的非揮發性記憶體中,使其不易受到電源突波等環境錯誤向量以及記憶體修改疏忽等其它記憶體損壞情?的影響。為因應快速變化的市場需求,通常會使用鎖定版的非揮發性記憶體技術,比如快閃記憶體和EEPROM,或是類似代替ROM的TrustZone技術等專用執行環境。


保護啟動過程免遭攻擊

上述的安全啟動過程在沒有惡意錯誤注入的情?下是充分夠用的,然而,這種情?在真實世界中並不常見,攻擊者只需要創建自己的韌體及相應的散列摘要並將二者都安裝到系統中即可擊敗安全啟動程序;這將破壞檢測完整性,因此需要一套驗證檢測過程。


該驗證檢測過程需要使用諸如密鑰這樣的秘密訊息,並生成韌體的認證摘要或是簡單的一個證書(圖一)。之所以這樣設計,是因為對手如果想要阻撓檢測系統正常運作就需要知道相同的秘密訊息以生成一對一致的韌體-簽名。



圖一 : 最佳的通用啟動程序,包括簽名操作韌體的工廠準備和現場驗證。
圖一 : 最佳的通用啟動程序,包括簽名操作韌體的工廠準備和現場驗證。

考慮到操作程式碼的驗證過程也需要存取同樣的秘密訊息,嵌入式系統很可能會被攻擊者拆解,試圖找出秘密訊息。而建立進階嵌入式系統所需分析工具與技術複雜性的大幅提升也為攻擊者提供意想不到的幫助,使他們能夠直接或透過相關服務存取這些工具以達到其利用系統的目的。


不出現特殊情?的話,我們很容易想像出嵌入式系統開發人員和攻擊者間猶如貓和老鼠的游戲接下來會如何發展。要不是出現了一種特殊類型的叫做加密元件(CE)的整合式電路,那麼這個遊戲還將繼續下去。


加密元件適時阻止攻擊

加密元件是專門設計用於抵禦諸如嘗試檢索機密內容或篡改等攻擊行為的整合式電路。執行帶有CE的安全啟動操作提供驗證韌體檢測和驗證過程中所需的完整性,其可整合到控制器或獨立的元器件中,為系統架構師提供所需的靈活性以迎合其執行需求。


對稱與非對稱密鑰加密技術

雖然安全啟動的基本要素即檢測和程序保持不變,但可以選擇對稱密鑰加密或非對稱密鑰加密技術來實現這兩大要素,以控制整個啟動驗證程序。


對稱密鑰加密技術在安全啟動過程的出廠設定和現場驗證兩個階段均使用相同的密鑰或相同密鑰的導數。如圖二和圖三所示,基於SHA256算法的驗證啟動程序就是一個對稱密鑰啟動過程的示例。



圖二 : 採用對稱密鑰保障安全啟動的出廠設定。
圖二 : 採用對稱密鑰保障安全啟動的出廠設定。

圖三 : 對稱密鑰流驗證過程。
圖三 : 對稱密鑰流驗證過程。

基於對稱密鑰的啟動程序具備速度方面的優勢,但是在保證供應鏈中啟動密鑰的機密性方面卻可能會遭遇困難。因此,封閉的生態系統是最受大家歡迎的,因為只有唯一的一個實體掌握其中的密鑰。


非對稱密鑰加密技術(圖四)在安全啟動過程序出廠設定和現場驗證階段則使用單獨的密鑰。這兩個密鑰之間的關係由諸如橢圓曲線加密技術(ECC)等加密演算法來控制。ECC被用在橢圓曲線數位簽名演算法(ECDSA)的特殊協議中,該協議常應用於韌體簽名和驗證。



圖四 : 開放式合作夥伴生態系統中的安全啟動設定。
圖四 : 開放式合作夥伴生態系統中的安全啟動設定。

使用非對稱密鑰過程,例如ECDSA,也適用於安全散列算法SHA。實際上,SHA256會檢測操作韌體以建立一個摘要,然後使用ECDSA協議對摘要進行簽名以完成整個驗證韌體程序。所得到的簽名就是一個附有操作韌體並可安裝到嵌入式系統中的證書(圖五)。



圖五 : 非對稱密鑰流的現場驗證過程。
圖五 : 非對稱密鑰流的現場驗證過程。

非對稱的密鑰結構需要一個私鑰和一個公鑰,前者必須保密且只被用於出廠設定,而與其在數學上相對應的後者則只用於現場驗證階段。公鑰可以被任何人查看而不影響啟動程序的安全。因此,基於非對稱密鑰的安全啟動程序更適用於由多個實體共同構成的開放式生態系統。


適合製造業的安全啟動

如果安全啟動程序需高昂製造物流成本,那麼它很快就會被市場拋棄。因此,一個有效的安全啟動程序應該是可以確定操作程式碼和檢測過程的完整性且同時不會大幅增加製造流程的時間或成本。


雖然對於開放式和封閉式生態系統而言最佳的選擇分別是不對稱和對稱密鑰啟動程序,但是使用加密元件卻可以打破這個限制,使得任意一種啟動程序都可以應用於任意一個生態系統並且同時還能保持密鑰的機密性。但是,非對稱密鑰方法可以提供更多的自由度,使設計人員能夠在開放式合作夥伴生態系統中輕鬆打造一個從數學角度看非常嚴謹的信任鏈維護程序。


嵌入式系統的安全啟動程序一直以來都是由管理產品安全的相關法規和標準所推動。當嵌入式系統是一個在物理上獨立的系統、一個孤島式的存在時,這種模式是非常有效的。然而隨著IoT的出現,各個系統開始連入物聯網,錯誤圍堵邊界的消除不僅大大鼓勵了攻擊者,也大幅提高了各界對安全啟動的關注度。


事物的遠端可存取性意味著可更容易地存取嵌入式系統,而這樣就令世界上任何一個地方的任何一個人都可能成為系統攻擊的潛在受害者。雖然透過事後調查分析可能會顯示出哪個設備是罪魁禍首、哪家製造商應該被追責,但是損害已然造成。為限制相關責任,產品製造商正開始採取積極的措施在產品中整合防篡改安全啟動程序,並添加加密元件來成功保障安全啟動。


(本文作者為Microchip策略行銷經理)


相關文章
採用DSC和MCU確保嵌入式系統安全
碳化矽電子保險絲展示板提升電動汽車電路保護效能
軟體定義大勢明確 汽車乙太網路應用加速前進
台製控制器深耕產業專用領域
落實工業4.0 為移動機器人部署無線充電技術
comments powered by Disqus
相關討論
  相關新聞
» 黃仁勳:運算技術的創新 將驅動全新工業革命
» 意法半導體入選「2024全球百大創新機構」榜單
» GTC 2024:所羅門與NVIDIA合作加速生成式AI應用
» 日月光半導體與文藻攜手培育高科技跨域人才
» 帆宣與佳世達合組新創公司 啟動智慧醫療引擎


刊登廣告 新聞信箱 讀者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 遠播資訊股份有限公司版權所有 Powered by O3  v3.20.2048.3.93.173.205
地址:台北數位產業園區(digiBlock Taipei) 103台北市大同區承德路三段287-2號A棟204室
電話 (02)2585-5526 #0 轉接至總機 /  E-Mail: webmaster@ctimes.com.tw