Jun. 17, 2024
打造安全的IoT裝置
安全啟動概述
安全啟動(Secure Boot)是一種程序或系統設計的功能,在確保在啟動或重新啟動時系統能夠運行在最低風險的狀態下。通常包括以下幾個步驟:
- 身份驗證和授權:確保只有授權的用戶或程序才能夠啟動系統或訪問敏感資源。
- 環境檢查:系統會進行一系列檢查,確保硬體、軟體和網絡環境符合預期的安全標準,如檢查防火牆設置、漏洞是否需要更新等。
- 啟動驗證:系統可能要求用戶輸入密碼、驗證碼或其他身份驗證方式,以確保使用者是經授權的。
- 安全模式啟動:在某些情況下,系統可以進入安全模式,這意味著僅啟動必要的系統服務和程序,以減少潛在的安全風險。
如何在微控制器上執行安全啟動
在微控制器和微處理器中實施的安全功能,為了確保系統啟動過程中只執行經過身份驗證和可信賴的軟/硬體。有助於防止未經授權或惡意軟/硬體在設備上運行,從而提高系統的整體安全性。
安全啟動通常運作方式如下:
- 啟動程序驗證(Bootloader Verification)
- 數字簽名驗證(Digital Signature Verification)
- 信任鏈(Chain of Trust)
- 安全啟動密鑰(Secure Boot Key)
- 安全啟動配置(Secure Boot Configuration)
啟動程序驗證(Bootloader Verification)
安全啟動過程通常從存儲在唯讀記憶體中(ROM)或設備的安全部分的啟動程序開始。啟動程序中會有下一階段,啟動程序或操作系統使用的數位簽章或哈希(Hash)。
圖一
數位簽章驗證(Digital Signature Verification)
在啟動過程中,啟動程序檢查下一階段啟動程序或操作系統的數位簽章,以確保其完整性和真實性。此簽章是使用設備製造商或開發者持有的私鑰生成的。
圖二
信任鏈(Chain of Trust)
如果數位簽章驗證成功,啟動程序允許加載並執行下一階段應用程序或操作系統。創建了一個信任鏈,其中啟動過程中的每個後續階段都在執行之前進行驗證。
圖三
安全啟動配置(Secure Boot Configuration)
設備製造商或開發者可以通過指定設備上允許運行的軟/硬體組件來配置安全啟動過程。可以包括列入白名單的特定設備或通訊指令、黑名單中已知的非法設備,或強制執行其他安全策略。
圖四
安全啟動的好處與挑戰
好處
- 保護免受惡意軟/硬體的侵害:防止未經授權或惡意軟/硬體在設備上運行
- 數據完整性:確保在設備上運行的軟體未被篡改或損壞。
- 信任鏈:啟動程序到操作系統和應用程序建立一個安全的信任鏈,確保只有可信賴的軟/硬體組件被執行。
挑戰
- 複雜性:實施安全啟動需要謹慎的設計和配置,以確保它不會意外地鎖定合法的軟/硬體更新或修改。
- 維護:需要定期更新和維護,以確保安全啟動過程對不斷變化的威脅保持安全。
結論
由於科技技術日新月異,各式傳感器和微控制器的成本,與體積也逐漸降低縮小,使得IoT產品被廣泛的製作運用,使我們更容易實現智慧工廠與智慧家庭等應用。
當所有裝置都可藉由網路,進行遠端控制與資料傳輸,惡意攻擊者也能透過相同管道竊取裝置的訊息內容,或是對裝置進行控制。
Microchip 提供 Crypto Authentication IC 安全解決方案,並提供Trust Platform Design Suite軟體平台,進行連通微控制器與Microchip加密IC的安全認證服務,使得進入安全認證設備的門檻降低。
參考出處
- UEFI Secure Boot Customization.https://media.defense.gov/2020/Sep/15/2002497594/-1/-1/0/CTR-UEFI-SECURE-BOOT-CUSTOMIZATION-20200915.PDF/CTR-UEFI-SECURE-BOOT-CUSTOMIZATION-20200915.PDF
- Microchip Technology Inc. Secure Authentication ICs. https://www.microchip.com/en-us/products/security/security-ics
- Microchip Technology Inc. Trust Platform Design Suite. https://www.microchip.com/en-us/products/security/trust-platform/tpds
- The whys and hows of secure boot, August 10, 2017 - Nathan Padoin. https://www.embedded.com/the-whys-and-hows-of-secure-boot/
- Building security into IoT and IIoT end devices, April 20, 2017 Lee Teschler. https://www.microcontrollertips.com/building-security-iotiiot-end-devices/