Matter でのコミッショニングとは、Fabric の認証情報を新しいデバイスに割り当てるプロセスです。コミッショナーは、コミッショニング プロセスを行うデバイスです。コミッショニーは、Fabric にプロビジョニングする必要がある新しいデバイスです。
試運転のフローは、大きく分けて複数の段階に分けることができます。
![コミッショニング フロー](https://developers.home.google.com/static/matter/primer/images/primer-commissioning.png?authuser=4&hl=ja)
デバイス検出
コミッショニング フローを開始する前に、コミッショニーは自ら広告を開始する必要があります。コミッショニーは、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
はフェイルセーフ タイマーを自動的に解除します。コミッショニングが正常に完了すると、デバイスは運用ネットワーク上の他のノードと同様に動作します。