打造安全的IoT裝置

microchip-IoT

安全啟動概述

安全啟動(Secure Boot)是一種程序或系統設計的功能,在確保在啟動或重新啟動時系統能夠運行在最低風險的狀態下。通常包括以下幾個步驟:

  • 身份驗證和授權:確保只有授權的用戶或程序才能夠啟動系統或訪問敏感資源。
  • 環境檢查:系統會進行一系列檢查,確保硬體、軟體和網絡環境符合預期的安全標準,如檢查防火牆設置、漏洞是否需要更新等。
  • 啟動驗證:系統可能要求用戶輸入密碼、驗證碼或其他身份驗證方式,以確保使用者是經授權的。
  • 安全模式啟動:在某些情況下,系統可以進入安全模式,這意味著僅啟動必要的系統服務和程序,以減少潛在的安全風險。

如何在微控制器上執行安全啟動

在微控制器和微處理器中實施的安全功能,為了確保系統啟動過程中只執行經過身份驗證和可信賴的軟/硬體。有助於防止未經授權或惡意軟/硬體在設備上運行,從而提高系統的整體安全性。

安全啟動通常運作方式如下:

  1. 啟動程序驗證(Bootloader Verification)
  2. 數字簽名驗證(Digital Signature Verification)
  3. 信任鏈(Chain of Trust)
  4. 安全啟動密鑰(Secure Boot Key)
  5. 安全啟動配置(Secure Boot Configuration)

啟動程序驗證(Bootloader Verification)

安全啟動過程通常從存儲在唯讀記憶體中(ROM)或設備的安全部分的啟動程序開始。啟動程序中會有下一階段,啟動程序或操作系統使用的數位簽章或哈希(Hash)。

圖一 圖一

數位簽章驗證(Digital Signature Verification)

在啟動過程中,啟動程序檢查下一階段啟動程序或操作系統的數位簽章,以確保其完整性和真實性。此簽章是使用設備製造商或開發者持有的私鑰生成的。

圖二 圖二

信任鏈(Chain of Trust)

如果數位簽章驗證成功,啟動程序允許加載並執行下一階段應用程序或操作系統。創建了一個信任鏈,其中啟動過程中的每個後續階段都在執行之前進行驗證。

圖三 圖三

安全啟動配置(Secure Boot Configuration)

設備製造商或開發者可以通過指定設備上允許運行的軟/硬體組件來配置安全啟動過程。可以包括列入白名單的特定設備或通訊指令、黑名單中已知的非法設備,或強制執行其他安全策略。

圖四 圖四

安全啟動的好處與挑戰

好處

  1. 保護免受惡意軟/硬體的侵害:防止未經授權或惡意軟/硬體在設備上運行
  2. 數據完整性:確保在設備上運行的軟體未被篡改或損壞。
  3. 信任鏈:啟動程序到操作系統和應用程序建立一個安全的信任鏈,確保只有可信賴的軟/硬體組件被執行。

挑戰

  1. 複雜性:實施安全啟動需要謹慎的設計和配置,以確保它不會意外地鎖定合法的軟/硬體更新或修改。
  2. 維護:需要定期更新和維護,以確保安全啟動過程對不斷變化的威脅保持安全。

結論

由於科技技術日新月異,各式傳感器和微控制器的成本,與體積也逐漸降低縮小,使得IoT產品被廣泛的製作運用,使我們更容易實現智慧工廠與智慧家庭等應用。

當所有裝置都可藉由網路,進行遠端控制與資料傳輸,惡意攻擊者也能透過相同管道竊取裝置的訊息內容,或是對裝置進行控制。

Microchip 提供 Crypto Authentication IC 安全解決方案,並提供Trust Platform Design Suite軟體平台,進行連通微控制器與Microchip加密IC的安全認證服務,使得進入安全認證設備的門檻降低。

參考出處

You may also want to know