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 des informations, ainsi que des mécanismes sécurisés pour assurer 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 fabric partagent le même certificat de niveau supérieur 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'un type d'IUG, 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 qui sert d'autorité de certification racine approuvée (CA).

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

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

Le certificat d'opération du nœud (NOC) est l'ensemble d'identifiants que les nœuds utilisent pour communiquer et s'identifier dans un Fabric. Elles sont générées par le processus Node Operational Certificate Signing Request (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 la CA 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 génération de NOC
Figure 1: Dépendances de génération de NOC

Bien que la compréhension de chaque élément cryptographique soit importante pour le développement du SDK, il n'entre pas dans le champ d'application de cet article de présentation d'analyser pleinement leur rôle et leurs implications. Il est important de noter que:

  • Les NOC sont délivrées par l'écosystème de l'autorité de certification sur des tissus de production réels.
  • Les NOC sont liées de manière cryptographique à la paire de clés opérationnelles de nœud (NOKP) unique.
  • Le NOKP est généré par le nœud en cours de mise 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 la CA pour générer un NOC approuvé.

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

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

Multi-administrateur

Les nœuds peuvent également être mis en service sur plusieurs Fabric. Cette propriété est souvent appelée "multi-administrateur". Par exemple, un appareil peut être commandé à la fois au Fabric du fabricant et au Fabric 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 d'exploitation de nœud. Toutefois, le modèle de données du nœud est partagé: les attributs, événements et actions du cluster sont communs entre les fabrics. Par conséquent, 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, étant partagés entre tous les Fabrics et faisant partie du DM du nœud, et non des identifiants Fabric.