憑證管理是 Azure 裝置登錄檔(ADR)的一項選用功能,讓您能為物聯網裝置發行並管理 X.509 憑證。 它為每個 ADR 命名空間配置專用的雲端公開金鑰基礎設施(PKI),無需任何本地伺服器、連接器或硬體。 它管理所有已配置至該 ADR 命名空間的物聯網裝置的簽發與續期憑證。 這些 X.509 憑證可用於你的物聯網裝置與 IoT Hub 進行認證。
使用憑證管理還需要使用 IoT Hub、Azure 裝置登錄檔(ADR)和裝置配置服務(DPS)。 憑證管理目前處於公開預覽階段。
這很重要
Azure IoT Hub 搭配 ADR 整合和 Microsoft 支援的 X.509 憑證管理目前處於 公開預覽 階段,不建議用於生產工作負載。 欲了解更多資訊,請參閱 常見問題集:IoT Hub 有什麼新意?
功能概觀
以下功能支援 IoT Hub 裝置的預覽版憑證管理:
| 特徵 / 功能 | Description |
|---|---|
| 在 ADR 命名空間中建立多個憑證授權中心(CA) | 在雲端中建立具有根和發行 CA 的兩層 PKI 階層。 |
| 為每個 ADR 命名空間建立唯一的根憑證授權機構(CA) | 在您的 ADR 命名空間中建立最多 1 個根 CA (也稱為認證) |
| 每個原則最多建立一個發行 CA | 在您的 ADR 命名空間中建立最多 1 個發行 CA (也稱為原則),並自訂已發行憑證的有效期限。 |
| 簽署和加密演算法 | 憑證管理支援 ECC (ECDSA) 及曲線 NIST P-384 |
| 雜湊演算法 | 憑證管理支援 SHA-384 |
| HSM 金鑰 (簽署和加密) | 金鑰是使用 Azure 受控硬體安全性模組 (Azure 受控 HSM) 來佈建。 在你的 ADR 命名空間內建立的 CA 會自動使用 HSM 簽名和加密金鑰。 Azure HSM 不需要 Azure 訂用帳戶。 |
| 終端實體憑證的簽發與續期 | 終端實體憑證,也稱為葉子憑證或裝置憑證,由發出的 CA 簽署並交付給裝置。 末端證書也可由發行 CA 續期。 |
| 分葉憑證的大規模佈建 | ADR 命名空間中定義的政策直接連結到裝置配置服務(Device Provisioning Service)註冊,供憑證配置時使用。 |
| CA 憑證與物聯網集線器的同步 | 你 ADR 命名空間中定義的政策會同步到適當的物聯網中樞。 這將使 IoT Hub 能夠信任任何使用終端實體憑證認證的裝置。 |
入職與營運憑證
如今,憑證管理支援最終實體 營運憑證的發行與續期。
入職資格認證: 要使用憑證管理,裝置必須透過裝置配置服務(Device Provisioning Service,DPS)進行配置。 裝置若要配置 DPS,必須使用支援的 一種登入憑證進行載入與認證,該憑證包括 X.509 憑證(從第三方憑證中心取得)、對稱金鑰及可信平台模組(TPM)。 這些憑證通常會在裝置出貨前安裝。
營運證書: 終端實體營運證書是一種營運憑證。 當裝置由 DPS 配置完成後,該憑證由發出的 CA 頒發給裝置。 與入職憑證不同,這些憑證通常壽命短暫,且會在裝置運作時頻繁或根據需要更新。 裝置可利用其操作憑證鏈直接與物聯網中樞進行認證,並執行典型操作。 如今,憑證管理僅提供操作性憑證。
憑證管理的運作方式
憑證管理由多個整合元件組成,協同運作以簡化公鑰基礎架構(PKI)在物聯網裝置間的部署。 要使用憑證管理,您必須設定:
- IoT Hub (預覽)
- Azure Device Registry (ADR) namespace
- 裝置配置服務(DPS)實例
IoT 中樞 (預覽) 整合
連結到 ADR 命名空間的物聯網中樞可利用憑證管理功能。 你可以將 CA 憑證從 ADR 命名空間同步到所有物聯網集線,讓每個物聯網集線都能驗證任何試圖連接已核發憑證鏈的物聯網裝置。
Azure 裝置註冊整合
憑證管理使用 Azure 裝置登錄檔(ADR) 來管理 CA 憑證。 它與物聯網集線及裝置配置服務(DPS)整合,提供無縫的裝置身份管理與 CA 憑證管理體驗。
下圖展示了 Azure IoT Hub 中 ADR 命名空間中用於驗證物聯網裝置的 X.509 憑證階層結構。
- 每個啟用憑證管理的 ADR 命名空間,都會有由 Microsoft 管理的獨特憑證(root CA)。 此憑證代表鏈中最高層的憑證授權機構。
- ADR 命名空間中的每個原則都定義一個由根 CA 簽署的發行 CA (ICA)。 每個政策只能與連結到命名空間的樞紐共享其 CA 憑證。 此外,每個原則只能向在該命名空間內註冊的裝置發行分葉憑證。 你可以設定每個政策所簽發憑證的有效期。 最短有效期為1天,最長有效期為90天。
- 建立憑證和政策後,你可以直接將這些 CA 憑證與 IoT Hub 同步。 IoT Hub 現在將能驗證顯示此憑證鏈的裝置。
裝置配置服務整合
若要讓裝置收到分葉憑證,則必須透過裝置佈建服務 (DPS)進行佈建。 你需要設定 個人或團體註冊,這包括定義:
- 用於該註冊的上線認證的特定類型。 支援的方法包括可信平台模組(TPM)、對稱金鑰或 X.509 憑證。
- 在你的 ADR 命名空間內建立的特定的政策。 此原則會向由此註冊所佈建的裝置簽署並發行分葉憑證。
裝置配置服務現在在配置期間接受憑證簽署請求(CSR)。 CSR 會送交給 DPS 與 PKI,PKI 驗證請求並轉發給適當的發行憑證中心(ICA)以簽發已簽署的 X.509 憑證。
憑證管理目前支援配置期間的以下協定:HTTP 與 MQTT。 欲了解更多 DPS 憑證簽署請求的資訊,請參考 DPS 裝置 SDK 範例。
備註
雖然每個 ADR 命名空間都有設定 PKI,但它不會被公開為外部 Azure 資源。
端對端裝置配置與憑證管理(執行時經驗)
下圖說明了設備配置與憑證管理的端對端流程:
- 物聯網裝置連接至 DPS 端點,並利用預先設定的入門憑證與服務進行認證。 作為註冊呼叫的一部分,裝置會發送憑證簽署請求(CSR)。 CSR 包含關於裝置的資訊,例如其公開金鑰及其他識別細節。
- DPS 會根據其 DPS 註冊中所連結的 IoT 中樞,將 IoT 裝置指派到某個 IoT 中樞。
- 裝置識別碼會在 IoT Hub 建立,並註冊到適當的 ADR 命名空間。
- DPS 利用 CSR 向 PKI 申請操作憑證。 PKI 會驗證 CSR,並將其轉發給與 DPS 註冊相關的政策(發行 CA)。
- 該原則會簽署作業憑證並發行它。
- DPS 會將操作憑證及物聯網中樞連線資訊回傳給裝置。
- 裝置現在可以透過將完整的憑證鏈傳送到 IoT Hub 來與 IoT Hub 進行認證。
分葉憑證的續期
終端實體葉子憑證可使用與首次憑證發行相同的機制進行續期。 當裝置偵測到需要更新運作憑證時,必須再次向 DPS 發起註冊呼叫,並提交新的憑證簽署請求(CSR)。 CSR 會再次被傳送到適當的發行憑證機構 (ICA),以要求一個續期的分葉憑證。 核准後,續期的運作證書將返還至裝置,用於安全通訊。
每個裝置負責監控其運作憑證的到期日,並在需要時啟動憑證續期。 作為最佳實務,我們建議在證書到期前續期,以確保通訊不中斷。 操作證書包含其 Valid from 與 Valid until 日期,裝置可監控以判斷何時需要續期。 在此預覽期間,我們建議裝置使用其 Device Twin 報告屬性 來報告憑證的發行與憑證到期日。 這些屬性接著可以用於觀察,例如建立儀表板。
停用裝置
憑證管理在公開預覽期間不支援憑證撤銷。 若要移除使用 X.509 操作憑證的裝置連線,可以在物聯網中樞中停用該裝置。 要停用裝置,請參見 「停用或刪除裝置」。
限制和配額
請參閱 Azure 訂閱與服務限制 ,了解 IoT Hub 憑證管理的最新限制與配額資訊。