Azure 認證裝置 - Edge 安全核心

Edge 安全核心認證需求

程式用途

Edge 安全核心是執行完整操作系統之裝置的安全性認證。 Edge 安全核心目前支援 Windows IoT 和 Azure Sphere OS。 Linux 支援即將推出。 此計畫可讓裝置合作夥伴透過符合一組額外的安全性準則來區分其裝置。 符合此準則的裝置可啟用下列承諾:

  1. 硬體型裝置身分識別
  2. 能夠強制執行系統完整性
  3. 保持最新狀態且可遠端管理
  4. 提供待用數據保護
  5. 提供傳輸中的數據保護
  6. 內建安全性代理程式和強化

Windows IoT OS 支援

適用於 Windows IoT 的 Edge 安全核心需要 Windows 10 IoT 企業版 1903 版或更新版本

注意

Windows 安全核心測試會要求您從正在驗證 IoT 裝置上的 管理員 istrator 命令提示字元下載並執行下列套件https://aka.ms/Scforwiniot。。

Windows IoT 硬體/韌體需求

注意

硬體必須支援並啟用下列專案:

  • Intel 或 AMD 虛擬化延伸模組
  • 信賴平台模組 (TPM) 2.0
  • 針對 Intel 系統: 適用於導向 I/O 的 Intel 虛擬化技術(VT-d)、Intel 信任執行技術 (TXT),以及 SINIT ACM 驅動程式套件必須包含在 Windows 系統映像中(適用於 DRTM)
  • 針對 AMD 系統: AMD IOMMU 和 AMD-V 虛擬化,以及 SKINIT 套件必須整合到 Windows 系統映像中(適用於 DRTM)
  • 核心 DMA 保護 (也稱為記憶體存取保護)


名稱 SecuredCore.Hardware.Identity
狀態 必要
描述 需求的目的是要驗證裝置身分識別是以硬體為根目錄,而且可以是具有 Azure IoT 中樞 裝置布建服務 (DPS) 的主要驗證方法。
需求相依性 TPM v2.0 裝置
驗證類型 手動/工具
驗證 裝置會在測試期間使用 TPM 驗證機制向 DPS 註冊。
資源 Azure IoT 中樞 裝置佈建服務:


名稱 SecuredCore.Hardware.MemoryProtection
狀態 必要
描述 需求的目的是要驗證 DMA 未在可外部存取的埠上啟用。
需求相依性 只有當支援 DMA 的埠存在時
驗證類型 手動/工具
驗證 如果裝置上有支援 DMA 的外部埠,則用來驗證 IOMMU 或 SMMU 的工具組已啟用並設定這些埠。


名稱 SecuredCore.Firmware.Protection
狀態 必要
描述 需求的目的是要確保裝置有足夠的防護功能,避免韌體安全性威脅。
需求相依性 DRTM + UEFI
驗證類型 手動/工具
驗證 要透過 Edge安全核心代理程式 工具組驗證的裝置,可透過下列其中一種方法確認其受到保護,免於韌體安全性威脅:
  • DRTM + UEFI 管理模式風險降低
  • DRTM + UEFI 管理模式強化
資源


名稱 SecureCore.Firmware.SecureBoot
狀態 必要
描述 需求的目的是驗證裝置的開機完整性。
需求相依性 UEFI
驗證類型 手動/工具
驗證 要透過 Edge安全核心代理程式 工具組驗證的裝置,以確保每次裝置開機時都會驗證韌體和核心簽章。
  • UEFI:已啟用安全開機


名稱 SecuredCore.Firmware.Attestation
狀態 必要
描述 需求的目的是確保裝置可以從遠程證明 Microsoft Azure 證明 服務。
需求相依性 Azure 證明 服務
驗證類型 手動/工具
驗證 要透過工具組驗證的裝置,以確保可以收集平臺開機記錄和開機活動的測量,並從遠程證明 Microsoft Azure 證明 服務。
資源 Microsoft Azure 證明

Windows IoT 設定需求



名稱 SecuredCore.Encryption。儲存體
狀態 必要
描述 驗證敏感數據是否可在非揮發性記憶體上加密的需求。
驗證類型 手動/工具
驗證 要透過 Edge Secure-core Agent 工具組驗證的裝置,以確保安全開機和 BitLocker 已啟用並系結至PCR7。


名稱 SecuredCore.Encryption.TLS
狀態 必要
描述 需求的目的是驗證對必要 TLS 版本和加密套件的支援。
需求相依性 Windows 10 IoT 企業版 1903 版或更新版本。 注意:其他需求可能需要其他服務更大的版本。
驗證類型 手動/工具
驗證 要透過工具組驗證的裝置,以確保裝置支援最低 TLS 版本 1.2,並支援下列必要的 TLS 加密套件。
  • TLS_RSA_WITH_AES_128_GCM_SHA256
  • TLS_RSA_WITH_AES_128_CBC_SHA256
  • TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  • TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
資源 IoT 中樞 中的 TLS 支援
Windows 10 中的 TLS 加密套件


名稱 SecuredCore.Protection.CodeIntegrity
狀態 必要
描述 此需求的目的是要驗證此裝置上是否提供程式碼完整性。
需求相依性 HVCI 會在裝置上啟用。
驗證類型 手動/工具
驗證 要透過 Edge 安全核心代理程式 工具組驗證的裝置,以確保裝置上已啟用 HVCI。
資源 Hypervisor 保護的程式代碼完整性啟用


名稱 SecuredCore.Protection.NetworkServices
狀態 必要
描述 需求的目的是要驗證從網路接聽輸入的服務並未以較高的許可權執行。
驗證類型 手動/工具
驗證 要透過 Edge 安全核心代理程式 工具組驗證的裝置,以確保接受網路連線的第三方服務不會以提升的 LocalSystem 和 LocalService 許可權執行。
  1. 例外狀況可能適用

Windows IoT 軟體/服務需求



名稱 SecuredCore.Built-in.Security
狀態 必要
描述 需求的目的是要確定裝置可以藉由將數據傳送至適用於IoT的 Azure Defender 來報告安全性資訊和事件。
注意:從 GitHub 下載及部署安全性代理程式
目標可用性 2022
驗證類型 手動/工具
驗證 裝置必須產生安全性記錄和警示。 裝置記錄和警示訊息至 Azure 資訊安全中心。
  1. 裝置必須執行 Azure Defender microagent
  2. Configuration_Certification_Check必須在模組對應項中回報 TRUE
  3. 驗證來自適用于 IoT 的 Azure Defender 的警示訊息。
資源 適用于 IoT 的 Azure Docs IoT Defender


名稱 SecuredCore.Protection.Baselines
狀態 必要
描述 需求的目的是要驗證系統是否符合基準安全性設定。
目標可用性 2022
需求相依性 適用於 IoT 的 Azure Defender
驗證類型 手動/工具
驗證 要透過工具組驗證的裝置,以確保 Defender IOT 系統組態效能評定已執行。
資源 https://techcommunity.microsoft.com/t5/microsoft-security-baselines/bg-p/Microsoft-Security-Baselines
https://www.cisecurity.org/cis-benchmarks/

Windows IoT 原則需求


此計畫的某些需求是以公司與 Microsoft 之間的商務合約為基礎。 下列需求不會透過我們的測試控管進行驗證,但貴公司必須認證裝置。



名稱 SecuredCore.Policy.Protection.Debug
狀態 必要
描述 需求的目的是要驗證裝置上的偵錯功能已停用。
需求相依性
驗證類型 手動/工具
驗證 要透過工具組驗證的裝置,以確保偵錯功能需要授權才能啟用。


名稱 SecuredCore.Policy.Manageability.Reset
狀態 必要
描述 這項需求的目的是要針對兩個使用案例來驗證裝置:a) 能夠執行重設(移除使用者資料、移除使用者設定)、b) 在更新造成問題的情況下,將裝置還原為最後已知的良好狀態。
需求相依性
驗證類型 手動/工具
驗證 要透過工具組和提交檔的組合驗證裝置,裝置支援這項功能。 裝置製造商可以判斷要實作這些功能以支援遠端重設,還是只實作本機重設。


名稱 SecuredCore.Policy。更新。時間
狀態 必要
描述 此原則的目的是確保裝置保持安全。
驗證類型 手動
驗證 提交的承諾,認證裝置可以從提交日期起持續 60 個月。 以某種方式提供給購買者和裝置本身的規格應該會指出其軟體將更新的持續時間。


名稱 SecuredCore.Policy.Vuln.Disclosure
狀態 必要
描述 此原則的目的是確保有一個機制可收集和散發產品中的弱點報告。
驗證類型 手動
驗證 將會檢閱提交和接收認證裝置弱點報告程式的檔。


名稱 SecuredCore.Policy.Vuln.Fixes
狀態 必要
描述 此原則的目的是為了確保在可用的修正程式 180 天內解決高/關鍵性(使用 CVSS 3.0) 的弱點。
驗證類型 手動
驗證 將會檢閱提交和接收認證裝置弱點報告程式的檔。


Linux OS 支援

注意

尚不支援 Linux。 以下代表預期的需求。 如果您想要認證 Linux 裝置,包括裝置 HW 和 OS 規格,以及它是否符合下列每個草稿需求,請連絡 iotcert@microsoft.com 。

Linux 硬體/韌體需求


名稱 SecuredCore.Hardware.Identity
狀態 必要
描述 需求的目的是要驗證裝置識別是以硬體為根目錄。
需求相依性 TPM v2.0
或 *其他支援的方法
驗證類型 手動/工具
驗證 要透過工具組驗證的裝置,以確保裝置有 HWRoT 存在,而且可以使用 TPM 或 SE 透過 DPS 進行布建。
資源 使用 DPS 設定自動布建


名稱 SecuredCore.Hardware.MemoryProtection
狀態 必要
描述 需求的目的是要驗證確保記憶體完整性有助於保護裝置免于易受攻擊的週邊設備。
驗證類型 手動/工具
驗證 周邊的記憶體區域必須使用硬體/韌體進行閘道,例如記憶體區域網域控制站或 SMMU(系統記憶體管理單位)。


名稱 SecuredCore.Firmware.Protection
狀態 必要
描述 需求的目的是要確保裝置有足夠的防護功能,避免韌體安全性威脅。
驗證類型 手動/工具
驗證 要透過工具組驗證的裝置,可透過下列其中一種方法來確認裝置不受韌體安全性威脅的保護:
  • 執行 SRTM + 執行時間韌體強化的已核准 FW
  • 經核准的 Microsoft 協力廠商進行韌體掃描和評估
資源 https://trustedcomputinggroup.org/


名稱 SecureCore.Firmware.SecureBoot
狀態 必要
描述 需求的目的是驗證裝置的開機完整性。
驗證類型 手動/工具
驗證 要透過工具組驗證的裝置,以確保每次裝置開機時都會驗證韌體和核心簽章。
  • UEFI:已啟用安全開機
  • Uboot:已啟用已驗證的開機


名稱 SecuredCore.Firmware.Attestation
狀態 必要
描述 需求的目的是確保裝置可以從遠端證明 Microsoft Azure 證明 服務。
相依性 TPM 2.0
或 *支援的 OP-TEE 型應用程式鏈結至 HWRoT (Secure Element 或 Secure Enclave)
驗證類型 手動/工具
驗證 要透過工具組驗證的裝置,以確保可以收集平臺開機記錄和適用的執行時間測量,並從遠端證明 Microsoft Azure 證明 服務。
資源 Microsoft Azure 證明
認證入口網站測試包含證明用戶端,當與 TPM 2.0 結合時,可以驗證 Microsoft Azure 證明 服務。


名稱 SecureCore.Hardware.SecureEnclave
狀態 必要
描述 驗證安全記憶體保護區是否存在以及記憶體保護區可用於安全性函式的需求目的。
驗證類型 手動/工具
驗證

Linux 設定需求


名稱 SecuredCore.Encryption。儲存體
狀態 必要
描述 驗證敏感性資料是否可在非揮發性儲存體上加密的需求。
驗證類型 手動/工具
驗證 要透過工具組驗證的裝置,以確保已啟用儲存體加密,且預設演算法為 XTS-AES,金鑰長度為 128 位或更高。


名稱 SecuredCore.Encryption.TLS
狀態 必要
描述 需求的目的是驗證對必要 TLS 版本和加密套件的支援。
驗證類型 手動/工具
驗證 要透過工具組驗證的裝置,以確保裝置支援最低 TLS 版本 1.2,並支援下列必要的 TLS 加密套件。
  • TLS_RSA_WITH_AES_128_GCM_SHA256
  • TLS_RSA_WITH_AES_128_CBC_SHA256
  • TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  • TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
資源 IoT 中樞 中的 TLS 支援


名稱 SecuredCore.Protection.CodeIntegrity
狀態 必要
描述 這項需求的目的是要驗證授權程式碼是否以最低許可權執行。
驗證類型 手動/工具
驗證 要透過工具組驗證的裝置,以確保透過驗證 dm-verity 和 IMA 來啟用程式碼完整性


名稱 SecuredCore.Protection.NetworkServices
狀態 *必填
描述 需求的目的是要驗證接受來自網路輸入的應用程式並未以較高的許可權執行。
驗證類型 手動/工具
驗證 要透過工具組驗證的裝置,以確保接受網路連線的服務並未以 SYSTEM 或根許可權執行。

Linux 軟體/服務需求


名稱 SecuredCore.Built-in.Security
狀態 必要
描述 需求的目的是要確定裝置可以藉由將資料傳送至適用于 IoT 的 Microsoft Defender 來報告安全性資訊和事件。
驗證類型 手動/工具
驗證
  1. 裝置必須產生安全性記錄和警示。
  2. 裝置記錄和警示訊息至Azure 資訊安全中心。
  3. 裝置必須執行適用于 IoT 的 Azure Defender 微代理程式
  4. Configuration_Certification_Check必須在模組對應項中回報 TRUE
  5. 驗證來自適用于 IoT 的 Azure Defender 的警示訊息。
資源 適用于 IoT 的 Azure Docs IoT Defender


名稱 SecuredCore.Manageability.Configuration
狀態 必要
描述 需求的目的是要驗證裝置是否支援透過 Azure 稽核和設定系統設定(以及某些管理動作,例如重新啟動)。
相依性 azure-osconfig
驗證類型 手動/工具
驗證
  1. 裝置必須透過 IoT 中樞、其防火牆狀態、防火牆指紋、IP 位址、網路適配器狀態、主機名、主機檔案、TPM(沒有版本或存在)和套件管理員來源回報 (請參閱我可以管理什麼)
  2. 裝置必須透過 IoT 中樞 接受預設防火牆原則的建立(接受與卸除),以及至少一個防火牆規則,並接受正面遠端通知(請參閱 configurationStatus)
  3. 裝置必須接受透過 IoT 中樞 取代 /etc/hosts 檔案內容,並接受正面遠端通知(請參閱 https://learn.microsoft.com/en-us/azure/osconfig/howto-hosts?tabs=portal#the-object-model )
  4. 裝置必須接受並實作,透過 IoT 中樞 遠端重新啟動
注意:禁止操作員使用其他系統管理工具鏈(例如 Ansible 等),但裝置必須包含 azure-osconfig 代理程式,使其已準備好從 Azure 進行管理。


名稱 SecuredCore.Update
狀態 稽核
描述 需求的目的是驗證裝置可以接收及更新其韌體和軟體。
驗證類型 手動/工具
驗證 合作夥伴確認他們能夠透過 Azure 裝置更新和其他已核准的服務,將更新傳送至裝置。
資源 IoT 中樞的裝置更新


名稱 SecuredCore.Protection.Baselines
狀態 必要
描述 需求的目的是驗證裝置實作 Azure 安全性基準的程度
相依性 azure-osconfig
驗證類型 手動/工具
驗證 OSConfig 存在於裝置上,並報告其實作 Azure 安全性基準的程度。
資源
  • https://techcommunity.microsoft.com/t5/microsoft-security-baselines/bg-p/Microsoft-Security-Baselines
  • https://www.cisecurity.org/cis-benchmarks/
  • https://learn.microsoft.com/en-us/azure/governance/policy/samples/guest-configuration-baseline-linux


名稱 SecuredCore.Protection.Signed 更新
狀態 必要
描述 需求的目的是要驗證更新必須簽署。
驗證類型 手動/工具
驗證 要透過工具組驗證的裝置,以確保除非正確簽署並驗證,否則不會套用操作系統、驅動程式、應用程式軟體、連結庫、套件和韌體更新。

Linux 原則需求


名稱 SecuredCore.Policy.Protection.Debug
狀態 必要
描述 需求的目的是要驗證裝置上的偵錯功能已停用。
驗證類型 手動/工具
驗證 要透過工具組驗證的裝置,以確保偵錯功能需要授權才能啟用。


名稱 SecuredCore.Policy.Manageability.Reset
狀態 必要
描述 這項需求的目的是要根據兩個使用案例來驗證裝置:a) 能夠在更新造成問題時執行重設(移除用戶數據、移除使用者設定)、b) 將裝置還原為最後已知的良好狀況。
驗證類型 手動/工具
驗證 要透過工具組和提交文件的組合驗證裝置,裝置支援這項功能。 裝置製造商可以判斷要實作這些功能以支持遠端重設,還是只實作本機重設。


名稱 SecuredCore.Policy。更新。時間
狀態 必要
描述 此原則的目的是確保裝置保持安全。
驗證類型 手動
驗證 提交時承諾,認證裝置必須保持裝置自提交日期起的 60 個月內保持最新狀態。 以某種方式提供給購買者和裝置本身的規格應該會指出其軟體將更新的持續時間。


名稱 SecuredCore.Policy.Vuln.Disclosure
狀態 必要
描述 此原則的目的是確保有一個機制可收集和散發產品中的弱點報告。
驗證類型 手動
驗證 將會檢閱提交和接收認證裝置弱點報告程序的檔。


名稱 SecuredCore.Policy.Vuln.Fixes
狀態 必要
描述 此原則的目的是為了確保在可用的修正程式 180 天內解決高/關鍵性(使用 CVSS 3.0) 的弱點。
驗證類型 手動
驗證 將會檢閱提交和接收認證裝置弱點報告程序的檔。

Azure Sphere 平台支援

Mediatek MT3620AN必須包含在您的設計中。 建置安全 Azure Sphere 應用程式的其他指引可以在 Azure Sphere 應用程式附注

Azure Sphere 硬體/韌體需求


名稱 SecuredCore.Hardware.Identity
狀態 必要
描述 需求的目的是要驗證裝置身分識別是以硬體為根目錄。
驗證類型 Prevalidated,不需要額外的驗證
驗證 由 Microsoft 提供


名稱 SecuredCore.Hardware.MemoryProtection
狀態 必要
描述 需求的目的是確保記憶體完整性有助於保護裝置免於易受攻擊的外圍設備。
驗證類型 Prevalidated,不需要額外的驗證
驗證 由 Microsoft 提供


名稱 SecuredCore.Firmware.Protection
狀態 必要
描述 需求的目的是要確保裝置有足夠的防護功能,避免韌體安全性威脅。
驗證類型 Prevalidated,不需要額外的驗證
驗證 由 Microsoft 提供


名稱 SecureCore.Firmware.SecureBoot
狀態 必要
描述 需求的目的是驗證裝置的開機完整性。
驗證類型 Prevalidated,不需要額外的驗證
驗證 由 Microsoft 提供


名稱 SecuredCore.Firmware.Attestation
狀態 必要
描述 需求的目的是確保裝置可以從遠程證明 Microsoft Azure 證明 服務。
驗證類型 Prevalidated,不需要額外的驗證
驗證 由 Microsoft 提供


名稱 SecureCore.Hardware.SecureEnclave
狀態 必要
描述 此需求的目的是驗證可從安全操作系統存取的硬體安全性。
驗證類型 Prevalidated,不需要額外的驗證
驗證 由 Microsoft 提供

Azure Sphere OS 設定需求


名稱 SecuredCore.Encryption。儲存體
狀態 必要
描述 此需求的目的是要驗證機密數據是否可以在非揮發性記憶體上加密。
驗證類型 Prevalidated,不需要額外的驗證
驗證 由 Microsoft 提供
資源 Azure Sphere 上的待用數據保護


名稱 SecuredCore.Encryption.TLS
狀態 必要
描述 需求的目的是驗證對必要 TLS 版本和加密套件的支援。
驗證類型 Prevalidated,不需要額外的驗證
驗證 由 Microsoft 提供
資源 IoT 中樞 中的 TLS 支援


名稱 SecuredCore.Protection.CodeIntegrity
狀態 必要
描述 這項需求的目的是要驗證授權程序代碼是否以最低許可權執行。
驗證類型 Prevalidated,不需要額外的驗證
驗證 由 Microsoft 提供


名稱 SecuredCore.Protection.NetworkServices
狀態 必要
描述 需求的目的是要驗證接受來自網路輸入的應用程式並未以較高的許可權執行。
驗證類型 Prevalidated,不需要額外的驗證
驗證 由 Microsoft 提供


名稱 SecuredCore.Protection.NetworkFirewall
狀態 必要
描述 此需求的目的是要驗證應用程式無法連線到尚未授權的端點。
驗證類型 Prevalidated,不需要額外的驗證
驗證 由 Microsoft 提供

Azure Sphere 軟體/服務需求


名稱 SecuredCore.Built-in.Security
狀態 必要
描述 這項需求的目的是要確定裝置可以藉由將數據傳送至 Microsoft 遙測服務來報告安全性資訊和事件。
驗證類型 Prevalidated,不需要額外的驗證
驗證 由 Microsoft 提供
資源 收集並解譯錯誤數據 - Azure Sphere
設定損毀傾印 - Azure Sphere


名稱 SecuredCore.Manageability.Configuration
狀態 必要
描述 這項需求的目的是要透過服務型組態控制來驗證裝置支持遠端管理。
驗證類型 Prevalidated,不需要額外的驗證
驗證 由 Microsoft 提供


名稱 SecuredCore.Update
狀態 必要
描述 需求的目的是驗證裝置可以接收及更新其韌體和軟體。
驗證類型 Prevalidated,不需要額外的驗證
驗證 由 Microsoft 提供


名稱 SecuredCore.Protection.Baselines
狀態 必要
描述 需求的目的是要驗證系統是否符合基準安全性設定
驗證類型 Prevalidated,不需要額外的驗證
驗證 由 Microsoft 提供


名稱 SecuredCore.Protection.Signed 更新
狀態 必要
描述 需求的目的是要驗證更新必須簽署。
驗證類型 Prevalidated,不需要額外的驗證
驗證 由 Microsoft 提供

Azure Sphere 原則需求


名稱 SecuredCore.Policy.Protection.Debug
狀態 必要
描述 原則的用途需要停用裝置上的偵錯功能。
驗證類型 Prevalidated,不需要額外的驗證
驗證 由 Microsoft 提供


名稱 SecuredCore.Policy.Manageability.Reset
狀態 必要
描述 原則要求裝置可以執行兩個使用案例:a) 能夠在更新造成問題的情況下執行重設(移除用戶數據、移除用戶設定)、b) 將裝置還原為最後已知的良好情況。
驗證類型 Prevalidated,不需要額外的驗證
驗證 由 Microsoft 提供


名稱 SecuredCore.Policy。更新。時間
狀態 必要
描述 此原則的目的是確保裝置保持安全。
驗證類型 Prevalidated,不需要額外的驗證
驗證 由 Microsoft 提供


名稱 SecuredCore.Policy.Vuln.Disclosure
狀態 必要
描述 此原則的目的是確保有一個機制可收集和散發產品中的弱點報告。
驗證類型 Prevalidated,不需要額外的驗證
驗證 Microsoft 透過 MSRC 收集 Azure Sphere 弱點,並透過技術社群部落格、Azure Sphere「新功能」頁面,以及透過 Mitre 的 CVE 資料庫發佈給客戶。
資源


名稱 SecuredCore.Policy.Vuln.Fixes
狀態 必要
描述 此原則的目的是為了確保在可用的修正程式 180 天內解決高/關鍵性(使用 CVSS 3.0) 的弱點。
驗證類型 Prevalidated,不需要額外的驗證
驗證 由 Microsoft 提供