Mise en service

La mise en service dans Matter correspond au processus d'attribution d'identifiants Fabric à un nouvel appareil. Le Commissioner est l'appareil qui assure le processus de mise en service. Le Commissionee est le nouvel appareil qui doit être mis en service dans Fabric.

De manière générale, le flux de mise en service peut être divisé en plusieurs étapes :

Flux de mise en service
Figure 1 : Flux de mise en service (niveau élevé)

Détection d'appareils

Avant le début du flux de mise en service, le Commissionee doit commencer à se faire connaître. Il peut le faire à l'aide de l'une des trois méthodes de détection pouvant être mises en service. Il doit également fournir la charge utile d'intégration.

Se connecter à l'appareil (PASE)

Une fois que le Commissioner a vu l'annonce et qu'il a trouvé le Discriminator, il utilise le code secret de la charge utile d'intégration pour établir Passcode Authenticated Session Establishment (PASE) afin de se connecter à l'appareil. Il s'agit de la méthode permettant d'établir de manière sécurisée des clés que les deux appareils pourront utiliser pour communiquer. À cette étape, le Commissioner arme également un dispositif de sécurité. Ce dispositif permet de rétablir l'état d'origine de l'appareil si la mise en service échoue.

Obtenir des informations sur le Commissionee

Le Commissioner lit tous les descripteurs du Commissionee. Le DescriptorCluster se trouve sur le point de terminaison 0 de l'appareil et décrit tous les autres points de terminaison. Le Commissioner lit également le cluster d'informations de base, qui inclut des informations telles que l'ID du fournisseur, l'ID du produit, le nom du produit et le numéro de série. À cette étape, le Commissioner lit également le type d'appareil du Commissionee, ce qui permet de déterminer l'expérience utilisateur côté Commissioner.

Configuration réglementaire

Le Commissioner configure les informations réglementaires sur le Commissionee à l'aide de la commande SetRegulatoryConfig. Les informations réglementaires incluent la configuration de l'emplacement (intérieur/extérieur/les deux) de l'appareil ou la configuration du code pays, par exemple.

Attestation du Commissionee

L'objectif de la procédure d'attestation du Commissionee est de déterminer si un appareil a été certifié et s'il s'agit d'un appareil Matter authentique. Le Commissioner extrait le certificat d'attestation de l'appareil (DAC) et le certificat intermédiaire d'attestation du produit (PAI) du Commissionee. Ces certificats contiennent l'ID du fournisseur, l'ID du produit et la clé publique d'attestation. Une fois les certificats reçus, le Commissioner envoie une demande de défi qui doit être signée par la clé privée d'attestation et l'utilise pour établir l'authenticité du Commissionee.

Demande de signature de certificat (CSR)

Le Commissioner envoie une demande de signature de certificat (CSR) au Commissionee. Le Commissionee crée une paire de clés opérationnelles unique qui sera utilisée ultérieurement dans une Certificate Authenticated Session Establishment (CASE). Le Commissionee renvoie les informations CSR résultantes au Commissioner.

Ajouter un certificat opérationnel de nœud (NOC)

Le Commissioner utilise les informations CSR reçues du Commissionee et les transmet au gestionnaire de domaine administratif (ADM) pour générer un certificat opérationnel de nœud (NOC) de confiance. Le Commissioner installe le certificat racine sur le Commissionee à l'aide de la commande AddTrustedRootCertReq, puis installe le certificat opérationnel de nœud à l'aide de la commande AddNOC.

Mise en service du réseau

Le Commissioner configure le réseau opérationnel sur le Commissionee. Cette étape est nécessaire pour les appareils Thread ou Wi-Fi. Elle n'est pas nécessaire pour les appareils Ethernet, car ils sont déjà connectés au réseau. Elle utilise les commandes ScanNetworks, AddOrUpdateWifiNetwork et ConnectNetwork.

Détection opérationnelle

Une fois le nouveau nœud mis en service connecté au réseau, le Commissioner utilise la détection opérationnelle pour le trouver sur le réseau opérationnel. La détection opérationnelle est le processus par lequel les nœuds mis en service sont trouvés sur le réseau opérationnel à l'aide de DNS-SD. Si le Commissionee est un appareil Wi-Fi, il utilise mDNS pour le détecter.

La détection opérationnelle permet au Commissioner et aux autres nœuds du réseau de connaître l'adresse IP et le port utilisés par le Commissionee.

Établissement de session CASE

Une fois le nouveau nœud mis en service détecté, une CASE session est établie entre le Commissioner et l'appareil. Cette session est initiée par le Commissioner et l'appareil y répond. À cette étape, les certificats opérationnels sont échangés et une confiance partagée est établie en vérifiant qu'ils se trouvent dans le même Fabric logique.

Mise en service terminée

Le Commissioner utilise CASE pour envoyer la commande CommissioningComplete au nouvel appareil mis en service. Il s'agit de la dernière étape du processus de mise en service. CommissioningComplete désarme également automatiquement le minuteur de sécurité. Une fois la mise en service terminée, l'appareil fonctionne comme n'importe quel autre nœud du réseau opérationnel.