認證

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

在調試期間,認證裝置必須自行認證。換句話說,網路世界必須證明其聲明屬於正版產品,而且屬於正版產品。因此,所有的 Matter 裝置都有包含認證金鑰組和相關憑證鏈結的憑證。裝置認證憑證 (DAC) 屬於這個鏈結。受委託開發的裝置向委員會提供 DAC 後,後者會認證:

  • 它是由認證製造商負責製作
  • 確實是正版裝置
  • 已通過 Matter 項法規遵循測試。

在開發階段,製造商不需完整認證程序即可測試其「裝置」。應由測試人員明確告知,該裝置正在測試,且尚未認證及推出。製造商進入正式生產階段後,佈建工具的生態系統應強制執行所有認證要求。

認證會使用公開金鑰基礎架構 (PKI),運用根憑證授權單位和中繼憑證,類似於廣泛採用的安全資料傳輸層 (SSL)/傳輸層安全標準 (TLS) 使用伺服器驗證憑證。這項程序稱為「裝置認證憑證鏈」。

裝置認證 PKI

DAC 是 X.509 v3 憑證。第一個版本的 X.509 是由 ITU-T 在 1988 年發布。Matter 使用的 X.509 v3 和公用金鑰基礎架構憑證和憑證撤銷清單 (CRL) 是由 RFC5280 指定。內容如下:

  • 公開金鑰
  • 核發單位
  • 主旨
  • 憑證序號
  • 有效性,例如到期日可否定
  • 簽名

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

每個裝置的 DAC 均不重複,而且會與產品中的專屬認證金鑰組相關聯。核發單位是與裝置製造商相關聯的 CA。

系統會依據產品認證中繼憑證 (PAI) 驗證 DAC 的簽名,這個憑證同樣是由 PAA 核發。不過,廠商可以選擇為每項產品 (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,這樣供應商可能會將其納入韌體中。CD 包含以下其他資訊:
  • 影片 ID
  • PID (一或多個)
  • 伺服器類別 ID
  • 用戶端類別 ID
  • 安全等級
  • 安全性 資訊
  • 認證類型 (開發、臨時或官方)
  • 簽名
韌體資訊 (選填) 韌體資訊包含 CD 版本號碼,以及韌體、檔案系統、系統啟動載入程式等韌體的一或多個元件摘要。摘要可以是軟體元件的雜湊值,或軟體元件已簽署資訊清單的雜湊值。

廠商也可以選擇在韌體資訊中加入其元件的「雜湊雜湊」,而不是在啟動應用程式程序中處理個別雜湊的陣列元素。

韌體資訊是啟動應用程式程序中的選用元素。
認證資訊 委員會傳送給總專員的訊息。認證資訊結合了包含認證元素認證簽章的 TLV。
認證元素 這是含有以下內容的 TLV:

  • 憑證宣告
  • 時間戳記
  • 認證 Nonce
  • 韌體資訊 (選填)
  • 供應商專屬資訊 (選填)
認證挑戰 頻外問題是在建立 Passcode Authenticated Session Establishment (PASE)/Certificate Authenticated Session Establishment (CASE) 工作階段時衍生,用於進一步保護程序及避免重播的簽名。來自 CASE 工作階段、PASE 工作階段或重新啟用的 CASE 工作階段。
認證 TBS (待簽署) 包含認證元素和認證挑戰的訊息。
認證簽章 認證 (TBS) 的簽名,可使用裝置認證私密金鑰簽署。

認證程序

委員負責檢驗委員會。它會執行下列步驟:

  1. Commissioner 會產生 32 位元組的隨機認證 Nonce。在密碼學術語中, Nonce (只能使用一次) 是密碼編譯程序中產生的隨機數字,僅限使用一次。
  2. 委員會將 Nonce 傳送至 DUT,並要求認證資訊。
  3. DUT 產生認證資訊,並使用認證私密金鑰簽署。
  4. 專員會從「裝置」復原 DAC 和 PAI 憑證,並從 Matter 信任存放區查詢 PAA 憑證。
  5. 委員驗證認證資訊。驗證條件如下:
    • DAC 憑證鏈必須通過驗證,包括 PAI 和 PAA 的撤銷檢查。
    • DAC 中的 VID 與 PAI 上的 VID 相符。
    • 認證簽章有效。
    • 「裝置認證元素」中的 Nonce 與「Commissioner」提供的 Nonce 相符。
    • 憑證宣告簽章可以使用 Alliance 廣為人知的憑證宣告簽署金鑰有效。
    • 韌體資訊 (如有提供且由 Commissioner 提供支援) 與「分散式法規遵循帳本」中的項目相符。
    • 裝置基本資訊叢集、認證宣告和 DAC 之間也會進行額外的 VID/PID 驗證。