認定デバイスとは、 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が管理する証明書ポリシーを満たす必要があります。
PAI は X.509 v3 証明書でもあり、以下が含まれます。
- 公開鍵
- 発行元
- 件名
- 証明書のシリアル番号
- 有効性(有効期限は不定の場合があります)
- 署名
ベンダー ID とプロダクト ID(省略可)は、DAC サブジェクトの MatterDACName の属性です。
最後に、PAA はチェーン内のルート証明書であり、自己署名されています。以下が含まれています。
- 署名
- 公開鍵
- 発行元
- 件名
- 証明書のシリアル番号
- 有効性
その他の証明書ドキュメントとメッセージ
証明書プロセスには、いくつかのドキュメントとメッセージがあります。以下に、その機能と構成の概要を示します。下の図は、階層を理解するのに役立ちます。
| ドキュメント | 説明 |
|---|---|
| 認定宣言(CD) | CD を使用すると、
Matter デバイス
が
Matter プロトコルに準拠していることを証明できます。
Matter
認定プロセスが完了すると、
Allianceはデバイスタイプ用の CD
を作成するため、ベンダーは
ファームウェアに含めることができます。CD には、次のような情報が含まれます。
|
| ファームウェア情報(省略可) | ファームウェア情報 には、CD バージョン番号と、OS、ファイル システム、ブートローダーなど、ファームウェア内のコンポーネントの 1 つ以上のダイジェストが含まれます。ダイジェストは、ソフトウェア コンポーネントのハッシュまたは
ソフトウェア コンポーネントの署名付きマニフェストの
ハッシュのいずれかです。 ベンダーは、個々のハッシュの配列ではなく、コンポーネントの「ハッシュのハッシュ」のみをファームウェア情報に含めることもできます。 ファームウェア情報は、証明書プロセスの省略可能な要素であり、ベンダーが証明書鍵ペアを処理するセキュアブート環境を使用している場合に適用されます。 |
| 証明書情報 | コミッショナーからコミッショナーに送信されるメッセージ。証明書情報には、証明書要素 と証明書署名 を含む TLV が含まれています。 |
| 証明書要素 | 以下を含む TLV です。
|
| 証明書チャレンジ | セッション確立中に派生した帯域外チャレンジ。手順をさらに保護し、再生された署名を回避するために使用されます。Passcode Authenticated Session Establishment (PASE)Certificate Authenticated Session Establishment (CASE) セッション、PASEセッション、または再開された CASEセッションから取得されます。CASE |
| 証明書 TBS(署名対象) | 証明書要素と証明書チャレンジを含むメッセージ。 |
| 証明書署名 | デバイス証明書の秘密鍵を使用して署名された証明書 TBS の署名。 |
証明書の手順
コミッショナーは、コミッショナーの証明を担当します。次の手順を実行します。
- コミッショナーは、32 バイトのランダムな証明書ノンスを生成します。暗号化の専門用語では、ノンス(1 回使用される番号)は、暗号化手順で生成され、1 回だけ使用されるランダムな番号です。
- コミッショナーはノンスを DUT に送信し、証明書情報をリクエストします。
- DUT は証明書情報を生成し、証明書の秘密鍵で署名します。
- コミッショナーはデバイスから DAC 証明書と PAI 証明書を復元し、 その Matter トラスト ストアから PAA 証明書を検索します。
- コミッショナーは証明書情報を検証します。検証の条件は次のとおりです。
- PAI と PAA の失効チェックなど、DAC 証明書チェーンを検証する必要があります。
- DAC の VID が PAI の VID と一致する。
- 証明書署名が有効である。
- デバイス証明書要素のノンスが、コミッショナーから提供されたノンスと一致する。
- 証明書宣言署名が、 Alliance's の既知の証明書宣言署名 鍵のいずれかを使用して有効である。
- ファームウェア情報(存在し、コミッショナーでサポートされている場合)が、分散コンプライアンス台帳のエントリと一致する。
- デバイスの基本情報クラスタ、証明書宣言、DAC の間でも、VID/PID の追加検証が行われます。