X.509 用戶端憑證 - AWS IoT Core

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

X.509 用戶端憑證

X.509 憑證提供 AWS IoT 驗證用戶端和裝置連線的能力。用戶端憑證必須 AWS IoT 先註冊,用戶端才能與之通訊 AWS IoT。客戶端證書可以在同一個地區的多個 AWS 帳戶中註冊, AWS 區域 以便於在同一地區之間移動設備。 AWS 帳戶如需詳細資訊,請參閱 在多個帳戶註冊中使用多個 X.509 AWS 帳戶用戶端憑證

我們建議為每個裝置或用戶端提供唯一的憑證,藉此更精細地管理用戶端,包括憑證撤銷作業。裝置必須支援憑證的輪換和替代,以確保憑證過期時操作順暢。

如需使用 X.509 憑證支援數個裝置的詳細資訊,請參閱 裝置佈建,以檢閱 AWS IoT 支援的不同憑證管理和佈建選項。

AWS IoT 支援下列 X.509 用戶端憑證類型:
  • 由所產生的 X.509 憑證 AWS IoT

  • 由使 AWS IoT用註冊的 CA 簽署的 X.509 憑證。

  • 未註冊 AWS IoT且有 CA 簽署的 X.509 憑證。

本節說明如何在 AWS IoT中管理 X.509 憑證。您可以使用主 AWS IoT 控台或執 AWS CLI 行下列憑證作業:

如需有關執行這些作業之 AWS CLI 命令的詳細資訊,請參閱 AWS IoT CLI 參考

使用 X.509 用戶端憑證

X.509 憑證會驗證與的用戶端和裝置連線。 AWS IoT相較於其他識別和身分驗證機制,X.509 憑證具備多種好處。X.509 憑證可讓裝置使用非對稱金鑰。例如,您可以將私密金鑰燒錄到裝置上的安全儲存空間,這樣敏感的密碼編譯資料永遠不會離開裝置。由於私有金鑰絕對不會離開裝置,因此 X.509 憑證提供更勝於其他機制 (例如使用者名稱和密碼或承載符記) 的強大用戶端身分驗證。

AWS IoT 使用 TLS 通訊協定的用戶端驗證模式來驗證用戶端憑證。TLS 支援多種程式設計語言與作業系統,且普遍用於加密資料。在 TLS 用戶端驗證中, AWS IoT 要求 X.509 用戶端憑證,並驗證憑證的狀態和憑 AWS 帳戶 證登錄。然後,它會向用戶端提出與憑證中包含的公開金鑰對應的私密金鑰的擁有權證明。 AWS IoT 要求用戶端將伺服器名稱指示 (SNI) 延伸功能傳送至傳輸層安全性 (TLS) 通訊協定。如需設定 SNI 延伸模組的詳細資訊,請參閱 運輸安全 AWS IoT Core

若要促進安全且一致的用戶端與 AWS IoT 核心連線,X.509 用戶端憑證必須具備下列項目:

您可以建立使用 Amazon 根 CA 的用戶端憑證,也可以使用由其他憑證授權單位 (CA) 簽署的自有用戶端憑證。如需使用 AWS IoT 主控台建立使用 Amazon 根 CA 之憑證的詳細資訊,請參閱建立 AWS IoT 用戶端憑證。如需使用您自己的 X.509 憑證的詳細資訊,請參閱 建立您自己的用戶端憑證

對於有憑證授權機構憑證簽署的憑證,其過期日期與時間會於憑證建立時設定。由於所產生的 X.509 憑證在二零四年十二月三十一日午夜 AWS IoT 到期 (2049-12-31T23:59:59 Z)。

AWS IoT Device Defender 可以在支援常見 IoT 安全性最佳實務的 AWS 帳戶 裝置上執行稽核。這包括管理您的 CA 或 Amazon 根 CA 簽署的 X.509 憑證的到期日。如需管理憑證到期日的詳細資訊,請參閱裝置憑證即將到期CA 憑證即將到期

在官方 AWS IoT 部落格上,請參閱如何使用 AWS IoT管理 IoT 裝置憑證輪換

在多個帳戶註冊中使用多個 X.509 AWS 帳戶用戶端憑證

多帳戶註冊可讓您在相同區域或不同區域的 AWS 帳戶之間移動裝置。您可以在生產前帳戶中註冊、測試和設定裝置,然後在生產帳戶中註冊並使用相同的裝置和裝置憑證。您也可以在裝置或沒有已註冊 CA 的裝置憑證上註冊用戶端憑證 AWS IoT。如需詳細資訊,請參閱註冊未註冊 CA 所簽署的用戶端憑證 (CLI)

注意

iot:Data-ATSiot:Data (舊式)、iot:Jobsiot:CredentialProvider 端點類型上支援用於多帳戶註冊的憑證。如需有關 AWS IoT 裝置端點的詳細資訊,請參閱AWS IoT 裝置資料和服務端點

使用多帳戶註冊的裝置必須將伺服器名稱指示 (SNI) 延伸傳送至傳輸層安全性 (TLS) 通訊協定,並在連線時在host_name欄位中提供完整的端點位址。 AWS IoT AWS IoT 使用中的端點位址host_name將連線路由到正確的 AWS IoT 帳戶。未在 host_name 中傳送有效端點位址的現有裝置將繼續運作,但無法使用需要此資訊的功能。如需 SNI 延伸模組的詳細資訊,以及如何識別 host_name 欄位的端點位址,請參閱 運輸安全 AWS IoT Core

使用多帳戶註冊
  1. 您可以在有 CA 的情況下註冊裝置憑證。您可以在 SNI_ONLY 模式下在多個帳戶中註冊簽署 CA,並使用該 CA 將相同的用戶端憑證註冊到多個帳戶。如需詳細資訊,請參閱 在 SNI_ONLY 模式下註冊 CA 憑證 (CLI) - 建議

  2. 您可以在沒有 CA 的情況下註冊裝置憑證。請參閱註冊未註冊 CA 所簽署的用戶端憑證 (CLI)。註冊 CA 非必須。您不需要註冊簽署裝置憑證的 CA AWS IoT。

支援的憑證簽章演算法 AWS IoT

AWS IoT 支援下列憑證簽署演算法:

  • SHA256WITHRSA

  • SHA384WITHRSA

  • SHA512WITHRSA

  • SHA256WITHRSAANDMGF1 (RSASSA-PSS)

  • SHA384WITHRSAANDMGF1 (RSASSA-PSS)

  • SHA512WITHRSAANDMGF1 (RSASSA-PSS)

  • DSA_WITH_SHA256

  • ECDSA-WITH-SHA256

  • ECDSA-WITH-SHA384

  • ECDSA-WITH-SHA512

如需有關憑證驗證和安全性的詳細資訊,請參閱裝置憑證金鑰品質

注意

憑證簽署請求 (CSR) 必須包含公開金鑰。該金鑰可以是公開金鑰 (長度至少 2,048 位元) 或 ECC 金鑰 (至少 NIST P-256、NIST P-384 或 NIST P-521 曲線)。如需詳細資訊,請參閱 AWS IoT API 參考指南CreateCertificateFromCsr中的。

支援的關鍵演算法 AWS IoT

下表顯示了如何支持關鍵算法:

金鑰演算法 憑證簽章演算法 TLS 版本控制 支援? 是或否
RSA 的密鑰大小至少為 2048 位 全部 天然 TLS
ECC 尼斯特 P-256 /P-384/P-521 全部 天然 TLS
具有至少 2048 位元金鑰大小的 RSA PSS 全部 TLS 1.2
具有至少 2048 位元金鑰大小的 RSA PSS 全部 TLS 1.3

若要使用 CreateCertificateFromCSR 建立憑證,您可以使用支援的金鑰演算法來產生 CSR 的公開金鑰。若要使用RegisterCertificateRegisterCertificateWithoutCA 註冊您自己的憑證,您可以使用支援的金鑰演算法來產生憑證的公開金鑰。

如需詳細資訊,請參閱安全性原則