適用於:
IoT Edge 1.5
重要
IoT Edge 1.5 LTS 是 支援的版本。 自 2024 年 11 月 12 日起,IoT Edge 1.4 LTS 已結束生命週期。 如果您是舊版,請參閱更新 IoT Edge。
Azure IoT Edge 安全性管理員是一個界限良好的安全性核心,可藉由抽象化安全晶元硬體來保護 IoT Edge 裝置及其元件。 安全性管理員著重於安全性強化,並將技術整合點提供給原始設備製造商(OEM)。
安全性管理員會抽象化IoT Edge裝置上的安全晶片硬體,並為額外的安全性服務提供擴充性架構。
IoT Edge 安全性管理員會保護 IoT Edge 裝置及其軟體作業的完整性。 安全性管理員會從信任硬體 (如有提供) 的基礎硬體根目錄轉換信任,以啟動 IoT Edge 執行階段並監視進行中的作業。 IoT Edge 安全性管理員協同安全晶片硬體運作,以提供最強的安全保障。
IoT Edge 安全性管理員也透過主機層級模組提供一個對於安全性服務擴充的安全框架。 這些服務包括安全性監視和更新,這些更新需要裝置內具有特殊許可權存取某些裝置元件的代理程式。 擴充性架構可確保這些整合一律維護整體系統安全性。
IoT Edge 安全性管理員負責下列工作:
- 啟動 Azure IoT Edge 裝置
- 透過公證服務控制裝置硬體信任根目錄的存取
- 在運行時間監視IoT Edge作業的完整性
- 視需要布建裝置身分識別及管理信任轉換
- 請確保適用於 IoT 中樞的裝置更新和 Microsoft Defender for IoT 等服務的用戶端代理程式安全地執行
IoT Edge 安全性管理員有三個元件:
- IoT Edge 模組運行時間
- 硬體安全模組(HSM)的概念抽象,透過標準實作如 PKCS#11 和信任平台模組(TPM)來實現。
- 硬體晶元根信任或 HSM (選擇性,但強烈建議使用)
1.2 版和更新版本中的變更
在IoT Edge 1.0和1.1版中,稱為 安全性精靈 的元件會管理安全性管理員的邏輯安全性作業。 在 1.2 版中,數個主要責任會移至 Azure IoT 身分識別服務 安全性子系統。 從這些安全性工作移離安全守護程序後,其名稱不再符合其角色。 為了更清楚地反映此元件在 1.2 版和更新版本中的功能,它會重新命名為 模組運行時間。
IoT Edge 模組執行階段
IoT Edge 模組執行階段會委派來自 Azure IoT 身分識別服務安全性子系統的信任,以保護 IoT Edge 容器執行階段環境。 現在委派給 Azure IoT 身分識別服務的一個服務,會是透過 EST 伺服器自動憑證註冊和更新服務。 若要查看其運作方式,並建立針對 IoT Edge 裝置建立範例 EST 伺服器,請嘗試使用設定 Azure IoT Edge 安全傳輸伺服器的註冊教學課程。
此模組執行階段負責安全性管理員的邏輯安全性作業。 其代表 IoT Edge 裝置之信任運算基礎的重要部分。 模組執行階段會使用 IoT 身分識別服務的安全性服務,並透過裝置製造商所選擇的硬體安全性模組 (HSM) 進而強化。 強烈建議您使用 HSM 強化裝置。
設計原則
IoT Edge 會遵循兩個核心原則:達到最大的作業完整性,並且盡可能降低膨脹和變換。
最大幅度提供作業完整性
IoT Edge 模組執行階段能夠以任何所指定信任根目錄硬體的防禦功能中可得的最高完整性執行。 透過適當的整合,根信任硬體會靜態及在執行階段測量並監視安全性精靈,以抵禦竄改。
針對裝置進行的惡意實體存取一直是 IoT 中的一大威脅。 硬體根信任在防禦 IoT Edge 裝置的完整性中扮演重要角色。 硬體信任根目錄有兩種:
- 適用於保護敏感性資訊 (如祕密與密碼編譯金鑰) 的安全元件。
- 保護秘密的安全記憶體保護區 (如金鑰),以及機密機器學習模型和計量作業等敏感性工作負載。
有兩種執行環境可使用硬體信任根目錄:
- 標準或豐富執行環境 (REE),依賴使用安全項目來保護敏感性資訊。
- 受信任執行環境 (TEE),依賴使用安全保護區技術來保護敏感性資訊並提供軟體執行保護。
針對使用安全記憶體保護區作為硬體信任根目錄的裝置,IoT Edge 模組執行階段中的敏感性邏輯應該位於該保護區內。 模組執行階段的非敏感性部分可以位於 TEE 外部。 在所有情況下,我們都強烈建議原始設計製造商 (ODM) 和原始設備製造商 (OEM) 應從其硬體安全模組 (HSM) 延伸信任,以測量及防禦 IoT Edge 模組執行階段在啟動期間和執行階段的完整性。
將膨脹和流失降到最低
IoT Edge 模組執行階段的另一個核心原則是將變換最小化。 針對最高層級的信任,IoT Edge 模組執行階段可與裝置硬體根信任緊密耦合,並以原生程式碼的方式運作。 在這些情況下,通常會透過信任安全更新路徑的硬體根目錄來更新 IoT Edge 軟體,而不是作業系統的更新機制,因為使用此機制可能很困難。 建議 IoT 裝置進行安全性更新,但過多的更新需求或大型更新承載可能會在多個方面擴展受威脅面。 例如,您可能想要略過某些更新,以將裝置可用性最大化。 因此,IoT Edge 模組執行階段的設計為使已隔離的信任運算基礎維持小型,以鼓勵頻繁更新。
架構
IoT Edge 模組執行階段會運用任何可用的硬體信任根目錄技術來強化安全性。 硬體技術提供受信任執行環境時,這也能夠在標準/豐富執行環境 (REE) 與受信任執行環境 (TEE) 之間進行分割環境作業。 角色特定的介面會啟用 IoT Edge 的主要元件,以確保 IoT Edge 裝置及其作業的完整性。
雲端介面
雲端介面可讓您存取可輔助裝置安全性的雲端服務。 舉例來說,此界面可允許存取用於身分識別生命週期管理的裝置佈建服務。
管理 API
管理 API 由 IoT Edge 代理程式在建立/啟動/停止/移除 Edge 模組時呼叫。 模組執行階段會儲存所有使用中模組的「註冊」。 這些註冊將模組的身分識別對應到模組的某些屬性。 這些模組屬性的範例包括在容器中執行之處理序的處理序識別碼 (pid) 和 Docker 容器內容的雜湊。
工作負載 API 會使用這些屬性來驗證呼叫端是否已獲得動作的授權。
管理 API 是特殊權限 API,只能從 IoT Edge 代理程式呼叫。 由於 IoT Edge 模組執行階段會啟動 (Bootstrap) 及啟動 (Start) IoT Edge 代理程式,它能在證明 IoT Edge 代理程式沒有被竄改,然後為 IoT Edge 代理程式建立隱含的註冊。 工作負載 API 所使用的相同證明程序也會限制只有 IoT Edge 代理程式可以存取管理 API。
容器 API
容器 API 會與用於模組管理的容器系統 (例如 Moby 或 Docker) 互動。
工作負載 API
所有模組都可存取工作負載 API。 此 API 提供身分識別證明 (作為 HSM 根簽署權杖或 X509 憑證) 與模組的對應信任套件組合。 信任套件組合包含模組所應信任所有其他伺服器的 CA 憑證。
IoT Edge 模組執行階段使用證明程序來保護此 API。 當模組呼叫此 API 時,模組執行階段會嘗試尋找身分識別的註冊。 如果成功,其會使用註冊的屬性來測量模組。 若測量程序的結果符合註冊,則會產生新的身分識別證明。 對應的 CA 憑證 (信任套件組合) 會傳回至模組。 模組會使用此憑證來連線到 IoT 中樞、其他模組或啟動伺服器。 當簽署的權杖或憑證快要到期時,由模組負責要求新的憑證。
整合與維護
Microsoft 會在 GitHub 上維護 IoT Edge 模組執行階段和 Azure IoT 身分識別服務的主要程式碼基底。
當您讀取 IoT Edge 程式碼基底時,請記住模組執行階段已從安全性精靈進化。 程式碼基底可能仍包含安全性精靈的參考。
安裝與更新
IoT Edge 模組執行階段的安裝和更新是透過作業系統的套件管理系統來管理。 IoT Edge 裝置應該有硬體根信任,並且通常會透過安全性開機和更新管理系統來為模組執行階段的完整性提供額外的強化。 裝置製造商應該根據其個別的裝置功能來探索這些途徑。
版本管理
IoT Edge 執行階段會追蹤並回報 IoT Edge 模組執行階段的版本。 版本是回報為 IoT Edge 代理程式模組報告屬性 (property) 的 runtime.platform.version 屬性 (attribute)。
硬體安全模型
IoT Edge 安全性管理員會使用信賴平臺模組和 PKCS#11 介面標準來整合硬體安全性模組 (HSM)。 這些標準可讓您整合幾乎所有 HSM,包括那些具有專屬介面的 HSM。 使用 HSM 加強安全性。
保護晶元根信任硬體
安全的矽晶片為IoT Edge裝置硬體提供信任基礎。 安全晶片包括信賴平臺模組 (TPM)、內嵌安全元素 (eSE)、Arm TrustZone、Intel SGX 和自定義安全晶元技術。 由於實體存取IoT裝置時的威脅,在裝置中使用安全的晶片信任根很重要。
IoT Edge 安全性管理員會識別並隔離元件,以保護 Azure IoT Edge 平臺的安全性和完整性,以進行自定義強化。 裝置製造商和其他第三方可以使用其裝置硬體提供的自定義安全性功能。
瞭解如何使用軟體或虛擬 TPM,使用信賴平台模組 (TPM) 強化 Azure IoT 安全性管理員:
在 Linux 或Linux on Windows 上使用虛擬 TPM 建立及佈建 IoT Edge 裝置。
下一步
在下列部落格文章中深入瞭解如何保護您的 IoT Edge 裝置: