The Fabric

Maintenant que nous avons compris certains concepts clés d'un nœud, nous allons analyser ce qui permet aux appareils de communiquer entre eux.

La spécification Matter utilise des méthodes sophistiquées pour chiffrer et déchiffrer les informations, ainsi que des mécanismes sécurisés pour garantir l'identité d'un nœud et partager des identifiants de chiffrement.

Lorsqu'un ensemble d'appareils d'un réseau partage le même domaine de sécurité et permet ainsi une communication sécurisée entre les nœuds, il est désigné par le terme "Fabric". Les Fabrics partagent le même certificat de premier niveau de l'autorité de certification (CA), appelé racine de confiance , et, dans le contexte de l'autorité de certification, un identifiant unique de 64 bits nommé ID de Fabric.

Le processus de mise en service consiste donc à attribuer les identifiants Fabric à un nouveau nœud afin qu'il puisse communiquer avec les autres nœuds du même Fabric.

Identifiants opérationnels

La racine de confiance est définie sur un nœud en cours de mise en service par le commissaire, généralement un appareil doté d'une interface graphique utilisateur, tel qu'un smartphone, un hub ou un ordinateur, après l'avoir reçu d'un gestionnaire de domaine administratif (ADM), qui sera souvent un écosystème agissant en tant qu'autorité de certification racine de confiance (CA).

Le commissaire a accès à l'autorité de certification. Il demande donc les identifiants opérationnels du nœud à l'autorité de certification au nom du nœud mis en service ou du commissaire. Les identifiants sont composés de deux parties :

L'identifiant opérationnel du nœud (ou ID opérationnel du nœud) est un nombre de 64 bits qui identifie de manière unique chaque nœud du Fabric.

Le certificat opérationnel du nœud (NOC) est l'ensemble des identifiants que les nœuds utilisent pour communiquer et s'identifier au sein d'un Fabric. Ils sont générés par le processus de demande de signature de certificat opérationnel du nœud (NOCSR).

NOCSR est une procédure qui s'exécute sur le nœud en cours de mise en service. Elle lie plusieurs éléments de chiffrement, puis les envoie au commissaire, qui demande à l'écosystème de l'autorité de certification son NOC correspondant. La figure 1 illustre cet arbre de dépendances et l'ordre dans lequel certaines opérations se produisent.

Dépendances de la génération de numéros de confirmation d'opération
Figure 1 : Dépendances de la génération de NOC

Bien qu'il soit important de comprendre chaque élément de chiffrement pour le développement du SDK, l'analyse complète de leur rôle et de leurs implications ne fait pas partie du champ d'application de ce guide. Il est important de noter que :

  • Les NOC sont émis par l'écosystème de l'autorité de certification sur les Fabrics de production réels.
  • Les NOC sont liés de manière cryptographique à la paire de clés opérationnelles du nœud (NOKP) unique.
  • La NOKP est générée par le nœud mis en service lors du processus de mise en service.
  • Les informations NOCSR envoyées à l'écosystème incluent la clé publique opérationnelle du nœud, mais la clé privée opérationnelle du nœud n'est jamais envoyée au commissaire ni à l'autorité de certification.
  • Le processus NOCSR utilise les entrées de la procédure d'attestation, signe les informations CSRSR et valide ainsi la demande de l'autorité de certification de générer un NOC de confiance.

La procédure d'attestation est un processus utilisé par le commissaire pour certifier que :

  • L'appareil a été certifié Matter.
  • L'appareil est bien ce qu'il prétend être : il prouve de manière cryptographique son fournisseur, son ID produit et d'autres informations de fabrication.

Multi-administrateur

Les nœuds peuvent également être mis en service sur plusieurs Fabrics. Cette propriété est souvent appelée multi-administrateur. Par exemple, un appareil peut être mis en service à la fois sur le Fabric du fabricant et sur celui d'un écosystème cloud, chaque Fabric gérant un ensemble différent de communications chiffrées et fonctionnant indépendamment.

Comme plusieurs Fabrics peuvent coexister, un appareil peut avoir plusieurs ensembles d'identifiants opérationnels de nœud. Toutefois, le modèle de données du nœud est partagé : les attributs, les événements et les actions du cluster sont communs entre les Fabrics. Ainsi, bien que Thread et/ou les identifiants Wi-Fi soient définis lors du processus de mise en service, ils font partie du cluster opérationnel de mise en réseau, partagé entre tous les Fabrics et faisant partie du DM du nœud, et non des identifiants Fabric.