認證

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

在調試過程中,認證裝置必須完成認證。 換句話說,必須證明它是正版聲明,且是正版產品。因此,所有 Matter 裝置都會擁有包含認證金鑰組和相關憑證鏈結的憑證。裝置認證憑證 (DAC) 位於這個鏈結中。接受佣金的裝置向委員會取得 DAC 後,後者將保證以下事項:

  • 是由通過認證的製造商製造
  • 我使用的裝置就是正版裝置
  • 已通過 Matter 項法規遵循測試

在開發階段,製造商可以在沒有完整的認證程序的情況下測試裝置。測試人員應明確得知裝置正在進行測試,且裝置尚未經過認證和推出。製造商進入正式環境階段後,佈建工具的生態系統應會強制執行所有認證要求。

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

裝置認證 PKI

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

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

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

每部裝置的 DAC 都不得重複,且與產品中的唯一認證金鑰組相關聯。此 ID 是由與裝置製造商相關聯的 CA 核發。

DAC 的簽名會由 PAA 核發的產品認證中繼憑證 (PAI)。不過,廠商可以選擇為每個產品 (PID 專用)、一組產品或所有產品都建立一個 PAI。

在信任鏈結的根層級,產品認證主管機關 (PAA) 憑證授權單位 (CA) 公開金鑰會驗證來自 PAI 的簽名。請注意,Matter 信任存放區是聯合式的,而佣金者信任的 PAA 憑證組合會維護在中央信任的資料庫 (分散式法規遵循帳本) 中。如要在信任集合中進入 PAA,需符合 Alliance 管理的憑證政策。

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

PAI 也是 X.509 v3 憑證,其中包含:

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

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

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

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

其他認證文件和訊息

認證程序包含數個文件和訊息,下列項目為其功能和組合的簡要概述。下圖有助於瞭解其階層結構。

認證文件階層
圖 2:認證文件階層
文件 說明
認證聲明 (CD) CD 可讓 Matter 裝置證明其符合 Matter 通訊協定。每次 Matter 認證程序完成後,Alliance 都會建立該裝置類型的持續推送軟體更新,以便供應商將其納入韌體中。CD 含有其他資訊:
  • VID
  • PID (一或多個)
  • 伺服器類別 ID
  • 客戶類別 ID
  • 安全等級
  • 安全性資訊
  • 認證類型 (開發、臨時或官方)
  • 簽名
韌體資訊 (選填) 韌體資訊包含 CD 版本號碼,以及一或多個韌體元件摘要,例如 OS、檔案系統和系統啟動載入程式。摘要可以是軟體元件的雜湊,或是軟體元件已簽署資訊清單的雜湊。

供應商也可以選擇納入韌體資訊中,只納入其元件的「雜湊雜湊」,而不是在認證程序中處理個別雜湊的鍵組。

韌體資訊是可在認證程序中處理安全鍵組合的選用元素。
認證資訊 委員會傳送給委員會的訊息。認證資訊結合了包含認證元素認證簽名的 TLV。
認證元素 這是包含下列項目的 TLV:

  • 憑證宣告
  • 時間戳記
  • 認證 Nonce
  • 韌體資訊 (選填)
  • 供應商專屬資訊 (選填)
認證挑戰 在建立 Passcode Authenticated Session Establishment (PASE)/Certificate Authenticated Session Establishment (CASE) 工作階段期間產生的頻外驗證問題,用於進一步保護程序並避免重播的簽名。來自 CASE 工作階段、PASE 工作階段或重新啟用的 CASE 工作階段。
認證 TBS (待簽署) 包含 Attestation Elements 和 Attestation Challenge 的訊息。
認證簽章 使用裝置認證私密金鑰簽署的 Attestation 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 的其中一個知名認證宣告簽署金鑰。
    • 韌體資訊 (如已使用且獲得委員會支援) 符合「Distributed Compliance derer」(分散式法規遵循分類) 中的條目。
    • 裝置基本資訊叢集、認證宣告和 DAC 之間也會進行額外的 VID/PID 驗證。