認證

已認證裝置是指已通過 Connectivity Standards Alliance (Alliance) Matter 認證程序的裝置。

在調試過程中,認證裝置需要自行認證。換句話說,它必須證明自己是所聲稱的產品,且是正品。因此,所有 Matter 裝置都會提供憑證,其中包含認證金鑰組和相關聯的憑證鏈結。裝置認證憑證 (DAC) 是這個鏈結的一部分。在裝置進行調試時,如果將 DAC 提交給其委任者,後者將會認證下列事項:

  • 是由經過認證的製造商製造。
  • 是正版裝置。
  • 已通過 Matter 法規遵循測試。

在開發階段,製造商可以不經過完整的認證程序,即可測試裝置。測試人員應明確瞭解裝置仍在測試階段,尚未通過認證及發布。製造商進入正式發布階段後,供應者生態系統應強制執行所有認證要求。

認證會使用公用金鑰基礎架構 (PKI),利用根憑證授權單位和中介憑證,類似於廣泛採用的伺服器驗證憑證,用於 SSL/TLS。這項程序稱為「裝置認證憑證鏈結」。

裝置認證 PKI

DAC 是 X.509 第 3 版憑證。ITU-T 於 1988 年發布 X.509 第一版。Matter 使用的 X.509 第 3 版公用金鑰基礎架構憑證和憑證撤銷清單 (CRL) 是由 RFC5280 指定。其中包含:

  • 公開金鑰
  • 核發單位
  • 主旨
  • 憑證序號
  • 有效性,其中到期日可能不確定
  • 簽名

供應商 ID 和產品 ID 是 DAC 主體中 MatterDACName 的屬性。

每部裝置都有專屬的 DAC,且與產品中的專屬認證金鑰組相關聯。由與裝置製造商相關聯的 CA 核發。

系統會根據產品認證中繼憑證 (PAI) 驗證 DAC 的簽章,而這也是由 PAA 核發的憑證。不過,供應商可以選擇為每項產品 (PID 專屬)、產品群組或所有產品建立一個 PAI。

在信任鏈的根層級,產品認證單位 (PAA) 憑證授權單位 (CA) 公開金鑰會驗證 PAI 的簽名。請注意,Matter 信任存放區是聯邦式存放區,且由主管信任的 PAA 憑證組合會在中央信任資料庫 (分散式法規遵循總帳) 中維護。在信任集合中輸入 PAA 時,必須符合由 Alliance 管理的憑證政策。

Matter Attestation 公開金鑰基礎架構
圖 1:Matter 認證公開金鑰基礎架構

PAI 也是 X.509 第 3 版憑證,其中包含:

  • 公開金鑰
  • 核發單位
  • 主旨
  • 憑證序號
  • 有效性,其中到期日可能不確定
  • 簽名

供應商 ID 和產品 ID (選用) 是 DAC 主體中 MatterDACName 的屬性。

最後,PAA 是鏈中的根憑證,且是自行簽署的憑證。包括:

  • 簽名
  • 公開金鑰
  • 核發單位
  • 主旨
  • 憑證序號
  • 有效性

其他認證文件和訊息

認證程序包含多個文件和訊息。以下簡要介紹這些項目的功能和組成。下圖有助於瞭解其階層。

認證文件階層
圖 2:認證文件層級結構
文件 說明
認證聲明 (CD) CD 可讓 Matter 裝置證明其符合 Matter 通訊協定。Matter 認證程序完成後,Alliance 會為裝置類型建立 CD,供應商可能會將 CD 納入韌體。這張 CD 包含以下資訊:
  • VID
  • PID (一或多項)
  • 伺服器類別 ID
  • 用戶端類別 ID
  • 安全性等級
  • 安全性資訊
  • 認證類型 (開發、暫時或正式)
  • 簽名
韌體資訊 (選填) 「韌體資訊」包含 CD 版本號碼,以及韌體中一或多個元件的摘要,例如 OS、檔案系統、啟動載入程式。摘要可以是軟體元件的雜湊,也可以是軟體元件已簽署的資訊清單雜湊。

供應商也可以選擇只在韌體資訊中加入元件的「雜湊雜湊」,而非個別雜湊陣列。

韌體資訊是認證程序中的選用元素,適用於供應商擁有可處理認證金鑰組的安全啟動環境。
認證資訊 由委員向委員傳送的訊息。認證資訊會結合包含認證元素的 TLV 和認證簽章
認證元素 這是一個包含以下項目的 TLV:

  • 認證聲明
  • 時間戳記
  • 認證 Nonce
  • 韌體資訊 (選填)
  • 供應商專屬資訊 (選填)
認證挑戰 在建立 Passcode Authenticated Session Establishment (PASE)/Certificate Authenticated Session Establishment (CASE) 工作階段時衍生的額外挑戰,用於進一步強化程序安全性,並避免重送簽章。來自 CASE 工作階段、PASE 工作階段或已暫停的 CASE 工作階段。
認證 TBS (待簽署) 包含認證元素和認證挑戰的訊息。
認證簽名 使用裝置認證私密金鑰簽署的認證 TBS 簽章。

認證程序

授權人負責為授權人背書。執行下列步驟:

  1. 委任者會產生隨機的 32 位元組認證 Nonce。在加密編譯術語中,Nonce (一次性號碼) 是指在加密編譯程序中產生的隨機號碼,且只能使用一次。
  2. 發布者將 Nonce 傳送至 DUT,並要求認證資訊。
  3. DUT 會產生認證資訊,並使用認證私密金鑰簽署。
  4. 發布者會從裝置中復原 DAC 和 PAI 憑證,並從 Matter 信任存放區查詢 PAA 憑證。
  5. 專員會驗證認證資訊。驗證條件如下:
    • 必須驗證 DAC 憑證鏈結,包括對 PAI 和 PAA 的撤銷檢查。
    • DAC 上的 VID 與 PAI 上的 VID 相符。
    • 認證簽名有效。
    • 裝置認證元素中的 Nonce 與委任者提供的 Nonce 相符。
    • 憑證聲明簽章必須使用 Alliance 的公開認證聲明簽署金鑰之一才有效。
    • 韌體資訊 (如果存在且由主管機關支援) 與分散式法規遵循總帳中的項目相符。
    • 裝置基本資訊叢集、認證聲明和 DAC 之間也會進行額外的 VID/PID 驗證。