Azure IoT Edge 安全性管理員

適用于: IoT Edge 1.4 checkmark IoT Edge 1.4

重要

支援的版本是 IoT Edge 1.4。 如果您是舊版,請參閱更新 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 身分識別服務的安全性服務,而 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 裝置及其作業的完整性。

Azure IoT Edge module runtime architecture

雲端介面

雲端介面可讓您存取可補充裝置安全性的雲端服務。 例如,此介面允許存取裝置身分識別生命週期管理的 裝置布建服務

管理 API

建立/啟動/停止/移除 IoT Edge 模組時,IoT Edge 代理程式會呼叫管理 API。 模組執行時間會儲存所有使用中模組的「註冊」。 這些註冊會將模組的身分識別對應至模組的某些屬性。 例如,這些模組屬性包括容器中執行之進程的進程識別碼(pid),以及 Docker 容器內容的雜湊。

工作負載 API 會使用這些屬性(如下所述)來驗證呼叫端是否已獲得動作的授權。

管理 API 是特殊權限 API,只能從 IoT Edge 代理程式呼叫。 由於 IoT Edge 模組執行時間啟動程式並啟動 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 代理程式模組報告屬性的 runtime.platform.version 屬性。

硬體安全性模組

IoT Edge 安全性管理員會實作整合硬體安全性模組 (HSM) 的信任平臺模組和 PKCS#11 介面標準。 透過這些標準,幾乎可以整合任何 HSM,包括具有專屬介面的 HSM。 我們強烈建議使用 HSM 進行安全性強化。

保護信任硬體的晶片根

必須有安全晶片,才能將信任錨定在 IoT Edge 裝置硬體內。 安全晶片有各種類型,包括信賴平台模組 (TPM)、內嵌安全元件 (eSE)、Arm TrustZone、Intel SGX,以及自訂安全晶片技術。 有鑑於 IoT 裝置實體協助工具的相關威脅,建議在裝置中使用安全晶片信任根目錄。

IoT Edge 安全性管理員旨在識別和隔離元件,以防禦 Azure IoT Edge 平臺的安全性和完整性,以進行自訂強化。 協力廠商,如製造商,應該使用其裝置硬體提供的自訂安全性功能。

瞭解如何使用軟體或虛擬 TPM,使用信賴平臺模組 (TPM) 強化 Azure IoT 安全性管理員:

在 Linux 或 Windows 上的 Linux 上使用 虛擬 TPM 建立和布建 IoT Edge 裝置。

下一步

若要深入瞭解如何保護您的 IoT Edge 裝置,請閱讀下列部落格文章: