証明書

認定デバイスとは、 Connectivity Standards Alliance (Alliance) Matter認定プロセスを完了したデバイスのことです。

認定デバイスは、コミッショニング プロセス中に証明 を行う必要があります。 つまり、主張どおりのデバイスであり、正規品であることを証明する必要があります。そのため、すべての Matter デバイスには、証明書鍵ペアと関連する証明書チェーンを含む認証情報があります。デバイス証明書DAC )はこのチェーンの一部です。コミッショニング中のデバイスが 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 には、次のような情報が含まれます。
  • VID
  • PID(1 つ以上)
  • サーバー カテゴリ ID
  • クライアント カテゴリ ID
  • セキュリティ レベル
  • セキュリティ情報
  • 認定タイプ(開発、暫定、公式)
  • 署名
ファームウェア情報(省略可) ファームウェア情報 には、CD バージョン番号と、OS、ファイル システム、ブートローダーなど、ファームウェア内のコンポーネントの 1 つ以上のダイジェストが含まれます。ダイジェストは、ソフトウェア コンポーネントのハッシュまたは ソフトウェア コンポーネントの署名付きマニフェストの ハッシュのいずれかです。

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

ファームウェア情報は、証明書プロセスの省略可能な要素であり、ベンダーが証明書鍵ペアを処理するセキュアブート環境を使用している場合に適用されます。
証明書情報 コミッショナーからコミッショナーに送信されるメッセージ。証明書情報には、証明書要素証明書署名 を含む TLV が含まれています。
証明書要素 以下を含む TLV です。

  • 証明書宣言
  • タイムスタンプ
  • 証明書ノンス
  • ファームウェア情報(省略可)
  • ベンダー固有の情報(省略可)
証明書チャレンジ セッション確立中に派生した帯域外チャレンジ。手順をさらに保護し、再生された署名を回避するために使用されます。Passcode Authenticated Session Establishment (PASE)Certificate Authenticated Session Establishment (CASE) セッション、PASEセッション、または再開された CASEセッションから取得されます。CASE
証明書 TBS(署名対象) 証明書要素と証明書チャレンジを含むメッセージ。
証明書署名 デバイス証明書の秘密鍵を使用して署名された証明書 TBS の署名。

証明書の手順

コミッショナーは、コミッショナーの証明を担当します。次の手順を実行します。

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