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 de chiffrement et de déchiffrement des informations, ainsi que des mécanismes sécurisés pour assurer l'identité d'un nœud et partager des identifiants cryptographiques.

Chaque fois qu'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 appelé "Fabric". Les Fabrics partagent le même certificat de niveau supérieur de l'autorité de certification (CA) (Root of Trust) et, dans le contexte de l'autorité de certification, un identifiant unique 64 bits nommé Fabric ID (ID de structure).

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 mis en service par le commissaire, généralement un appareil doté d'un certain type d'IUG, tel qu'un smartphone, un hub ou un ordinateur, après l'avoir reçue d'un gestionnaire de domaine administratif (ADM). Il s'agit souvent d'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 à l'autorité de certification les identifiants opérationnels du nœud pour le compte du nœud mis en service ou du membre Commissionee. 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 opérationnel du nœud (NOC) est l'ensemble des identifiants qui permettent aux nœuds de communiquer et de s'identifier dans un Fabric. Ils sont générés par le processus de demande de signature de certificat opérationnel de nœud (NOCSR).

La procédure NOCSR est une procédure qui s'exécute sur le nœud mis en service. Il lie plusieurs éléments cryptographiques, puis les envoie au Commissaire, qui demande à l'écosystème d'autorités de certification le NOC correspondant. La figure 1 décrit 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 que la compréhension de chaque élément cryptographique soit importante pour le développement du SDK, l'analyse complète de leur rôle et de leurs implications sort du cadre de l'introduction. Notez les points suivants:

  • Les NOC sont délivrés par l'écosystème des CA sur des data fabrics réelles.
  • Les NOC sont liés de manière cryptographique à la paire de clés opérationnelle de nœud (NOKP) unique.
  • Le NOKP est généré 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 requête permettant à 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 obtenu la certification Matter.
  • L'Appareil est bel et 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 Fabric. Cette propriété est souvent appelée "multi-administrateur". Par exemple, un appareil peut être chargé à la fois par Fabric du fabricant et par Fabric d'un écosystème cloud, chaque Fabric gérant un ensemble différent de communications chiffrées et fonctionnant indépendamment.

Étant donné que 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 de cluster, les événements et les actions sont communs aux structures 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, partagé entre tous les Fabrics et une partie du DM du nœud, et non les identifiants Fabric.