Azure IoT Edge 安全性管理員
適用於: IoT Edge 1.5 IoT Edge 1.4
重要
IoT Edge 1.5 LTS 和 IoT Edge 1.4 LTS 為支援的版本。 IoT Edge 1.4 LTS 於 2024 年 11 月 12 日結束生命週期。 如果您是舊版,請參閱更新 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 中樞的裝置更新和適用於 IoT 的 Microsoft Defender。
IoT Edge 安全性管理員包含三個元件:
- IoT Edge 模組執行階段
- 透過如 PKCS#11 和信賴平台模組 (TPM) 標準實作,提供硬體安全性模組 (HSM) 抽象概念
- 硬體晶片根信任或 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 裝置的安全,請閱讀下列部落格文章: