コミッショニング

Matter のコミッショニングとは、新しいデバイスにファブリック認証情報を割り当てるプロセスです。コミッショナーは、コミッショニング プロセスを行うデバイスです。コミッショニーは、ファブリックにプロビジョニングする必要がある新しいデバイスです。

大まかに言うと、コミッショニング フローは複数のステージに分けることができます。

コミッショニング フロー
図 1: コミッショニング フロー - 概要

デバイス検出

コミッショニング フローを開始する前に、コミッショニーは自身のアドバタイズを開始する必要があります。コミッショニーは、3 つのコミッショナブル ディスカバリ メソッドのいずれかを使用して、自身をアドバタイズできます。コミッショニーは、オンボーディング ペイロードも提供する必要があります。

デバイスに接続する(PASE)

コミッショナーは、アドバタイズメントを確認して識別子を照合すると、オンボーディング ペイロードのパスコードを使用して Passcode Authenticated Session Establishment (PASE) を行い、デバイスに接続します。これは、両方のデバイスが通信を確立するために使用できる鍵を安全に確立する方法です。このステップでは、コミッショナーがフェイルセーフも有効にします。フェイルセーフは、コミッショニングが正常に完了しなかった場合に、デバイスを元の状態にロールバックする方法を提供します。

コミッショニー情報を取得する

コミッショナーは、コミッショニーからすべての記述子を読み取ります。DescriptorCluster はデバイスのエンドポイント 0 にあり、他のすべてのエンドポイントを記述します。コミッショナーは、ベンダー ID、プロダクト ID、プロダクト名、シリアル番号などの情報を含む基本情報クラスタも読み取ります。このステップでは、コミッショナーはコミッショニーのデバイスタイプも読み取ります。これにより、コミッショナー側の UX を促進できます。

規制構成

コミッショナーは、SetRegulatoryConfig コマンドを使用して、コミッショニーの規制情報を構成します。規制情報には、デバイスの場所(屋内、屋外、両方)の設定や国コードの設定などの情報が含まれます。

コミッショニーの証明

コミッショニーの証明手続きの目的は、デバイスが認定済みで、正規の Matter デバイスであるかどうかを判断することです。コミッショナーは、コミッショニーからデバイス認証証明書(DAC)と製品認証中間(PAI)証明書を抽出します。これらの証明書には、ベンダー ID、プロダクト ID、構成証明公開鍵が含まれています。証明書を受け取ると、コミッショナーは、アテステーション秘密鍵で署名する必要があるチャレンジ リクエストを行い、それを使用してコミッショニーの真正性を確立します。

証明書署名リクエスト(CSR)

コミッショナーは、コミッショニーに証明書署名リクエスト(CSR)を送信します。コミッショニーは、後で Certificate Authenticated Session Establishment (CASE) で使用される一意のオペレーション鍵ペアを作成します。コミッショニーは、結果の CSR 情報をコミッショナーに返します。

ノード運用証明書(NOC)を追加する

コミッショナーは、コミッショニーから受け取った CSR 情報を使用して、管理ドメイン マネージャー(ADM)に渡し、信頼できるノード運用証明書(NOC)を生成します。コミッショナーは、AddTrustedRootCertReq コマンドを使用してコミッショニーにルート証明書をインストールし、AddNOC コマンドを使用してノード運用証明書をインストールします。

ネットワークのプロビジョニング

コミッショナーは、コミッショニーに運用ネットワークを構成します。このステップは、Thread デバイスまたは Wi-Fi デバイスで必要です。デバイスがすでにネットワークに接続されているイーサネット デバイスの場合、この手順は必要ありません。ScanNetworks、AddOrUpdateWifiNetwork、ConnectNetwork コマンドを使用します。

運用に関する調査

新しくコミッショニングされたノードがネットワークに接続されると、コミッショナーはオペレーショナル ディスカバリを使用して、オペレーショナル ネットワーク上のノードを検出します。運用検出は、DNS-SD を使用して運用ネットワーク上でコミッショニングされたノードを検出するプロセスです。コミッショニーが Wi-Fi デバイスの場合、mDNS を使用してデバイスを検出します。

運用検出は、コミッショナーとネットワーク内の他のノードが、コミッショニーが使用している IP アドレスとポートを把握するのに役立ちます。

CASE セッションの確立

新しくコミッショニングされたノードが検出されると、コミッショナーとデバイスの間に CASE セッションが確立されます。このセッションはコミッショナーによって開始され、デバイスによって応答されます。このステップでは、運用証明書が交換され、同じ論理ファブリック内にあることを検証することで、共有信頼が確立されます。

コミッショニングの完了

コミッショナーは、CASE を使用して、新しくコミッショニングされたデバイスに CommissioningComplete コマンドを送信します。これは、コミッショニング プロセスの最後のステップです。CommissioningComplete は、フェイルセーフ タイマーも自動的に解除します。コミッショニングが正常に完了すると、デバイスは運用ネットワーク上の他のノードと同様に動作します。