証明書

認定デバイスとは、Connectivity Standards Alliance (Alliance) Matter 認定プロセスを経たデバイスです。

認定デバイスは、構成プロセス中に自身を構成証明する必要があります。つまり、商品が宣伝どおりのものであり、正規品であることを証明する必要があります。したがって、すべての Matter デバイスには、構成証明鍵ペアと関連する証明書チェーンを含む認証情報が含まれています。Device Attestation CertificateDAC)は、このチェーンの一部です。認定中のデバイスが DAC をコミッショナーに提示すると、コミッショナーは次のことを証明します。

  • 認定されたメーカーが製造したものである。
  • 純正デバイスである。
  • Matter コンプライアンス テストに合格している。

開発フェーズでは、メーカーは完全な構成証明プロセスなしでデバイスをテストできます。デバイスはテスト中であり、まだ認定とリリースが行われていないことをテスターに明示的に伝える必要があります。メーカーが本番環境フェーズに入ると、プロビジョナーのエコシステムはすべての構成証明要件を適用する必要があります。

構成証明では、SSL/TLS で使用されている広く採用されているサーバー認証証明書と同様に、ルート認証局と中間証明書を利用する公開鍵基盤PKI)が使用されます。このプロセスはデバイス認証証明書チェーンと呼ばれます。

デバイス認証 PKI

DAC は X.509 v3 証明書です。X.509 の最初のバージョンは、1988 年に ITU-T によって公開されました。Matter で使用される公開鍵基盤証明書と証明書失効リスト(CRL)を含む X.509 v3 は、RFC5280 で指定されています。内容は次のとおりです。

  • 公開鍵
  • 発行元
  • 件名
  • 証明書のシリアル番号
  • 有効期限(有効期限が不明な場合)
  • 署名

ベンダー ID と商品 ID は、DAC の件名の MatterDACName の属性です。

DAC はデバイスごとに一意で、プロダクト内の一意の証明書鍵ペアに関連付けられています。デバイス メーカーに関連付けられた CA によって発行されます。

DAC の署名は、PAA によって発行されるプロダクト構成証明中間証明書PAI)と照合して検証されます。ただし、ベンダーは、商品(PID 固有)、商品グループ、またはすべての商品に対して 1 つの 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 をファームウェアに含めることができます。CD には、次の情報が含まれています。
  • VID
  • PID(1 つ以上)
  • サーバー カテゴリ ID
  • クライアント カテゴリ ID
  • セキュリティ レベル
  • セキュリティ情報
  • 認定タイプ(開発、暫定、正式)
  • 署名
ファームウェア情報(省略可) [ファームウェア情報] には、CD バージョン番号と、ファームウェア内のコンポーネント(OS、ファイルシステム、ブートローダなど)の 1 つ以上のダイジェストが含まれています。ダイジェストは、ソフトウェア コンポーネントのハッシュまたはソフトウェア コンポーネントの署名付きマニフェストのハッシュのいずれかです。

ベンダーは、個々のハッシュの配列ではなく、コンポーネントの「ハッシュのハッシュ」のみをファームウェア情報に含めることもできます。

ファームウェア情報は構成証明プロセスのオプション要素であり、ベンダーが構成証明鍵ペアを処理するセキュアブート環境を持っている場合に適用されます。
構成証明情報 コミッショナーからコミッショナーに送信されたメッセージ。構成証明情報は、構成証明要素構成証明署名を含む TLV を組み合わせたものです。
構成証明要素 これは、次を含む TLV です。

  • 証明書の宣言
  • タイムスタンプ
  • 構成証明ノンス
  • ファームウェア情報(省略可)
  • ベンダー固有の情報(省略可)
構成証明チャレンジ Passcode Authenticated Session Establishment (PASE) / Certificate Authenticated Session Establishment (CASE) セッションの確立中に取得されたアウトオブバンド チャレンジ。プロシージャのセキュリティを強化し、リプレイされた署名を回避するために使用されます。CASE セッション、PASE セッション、または再開された CASE セッションから取得されます。
構成証明 TBS(署名が必要) 構成証明要素と構成証明チャレンジを含むメッセージ。
構成証明の署名 デバイス構成証明秘密鍵を使用して署名された構成証明 TBS の署名。

構成証明手順

コミッショナーは、コミッショネイトの証明を行う責任があります。次の手順を実行します。

  1. コミッショナーは、32 バイトのランダムな構成証明ノンスを生成します。暗号用語では、ノンス(1 回だけ使用される数値)は、暗号手順で生成され、1 回だけ使用することを目的とした乱数です。
  2. コミッショナーは DUT にノンスを送信し、構成証明情報をリクエストします。
  3. DUT は構成証明情報を生成し、構成証明秘密鍵で署名します。
  4. コミッショナーはデバイスから DAC 証明書と PAI 証明書を復元し、Matter トラストストアから PAA 証明書を検索します。
  5. コミッショナーが証明書情報を検証します。検証の条件は次のとおりです。
    • DAC 証明書チェーンは、PAI と PAA の取り消しチェックなど、検証する必要があります。
    • DAC の VID が PAI の VID と一致している。
    • 構成証明署名が有効である。
    • デバイス構成証明要素のノンスが、コミッショナーから提供されたノンスと一致している。
    • 証明書宣言署名は、Alliance の既知の証明書宣言署名鍵のいずれかを使用して有効です。
    • ファームウェア情報(存在し、コミッショナーによってサポートされている場合)が、分散コンプライアンス レジャーのエントリと一致している。
    • デバイスの基本情報クラスタ、認証申告、DAC 間で追加の VID/PID 検証も行われます。