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 cryptographiques.

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) (racine de confiance) et, dans le contexte de l'autorité de certification, un identifiant unique de 64 bits appelé ID de fabric.

Ainsi, le processus de mise en service consiste à 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 sorte d'IUG, comme un smartphone, un hub ou un ordinateur, après l'avoir reçue 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'AC. Il demande donc les identifiants opérationnels du nœud à l'autorité de certification au nom du nœud en cours de mise en service ou du nœud à mettre en service. Les identifiants se composent de deux parties :

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

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

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

Dépendances de génération de NOC
Figure 1 : Dépendances de génération de NOC

Bien qu'il soit important de comprendre chaque élément cryptographique pour le développement du SDK, l'analyse complète de leur rôle et de leurs implications n'entre pas dans le cadre de ce guide. Voici quelques points importants à noter :

  • Les NOC sont émis par l'écosystème d'AC sur des structures de production réelles.
  • Les NOC sont liés de manière cryptographique à la paire de clés opérationnelles de nœud (NOKP) unique.
  • La NOKP est générée par le nœud mis en service pendant le 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, en signant les informations CSRSR et en validant ainsi la demande de l'autorité de certification pour 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-Admin

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

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