Attestation

Les appareils certifiés sont ceux qui ont passé la procédure de certification Connectivity Standards Alliance (Alliance) Matter.

Lors du processus de mise en service, un appareil certifié doit s'attester. En d'autres termes, il doit prouver qu'il est bien ce qu'il prétend être et qu'il s'agit d'un produit authentique. Ainsi, tous les appareils Matter disposent d'identifiants qui englobent la paire de clés d'attestation et une chaîne de certificats associée. Le certificat d'attestation de l'appareil (DAC) fait partie de cette chaîne. Une fois que l'appareil en cours de mise en service présente le DAC à son commissaire, ce dernier certifie que :

  • il a été fabriqué par un fabricant certifié.
  • il s'agit d'un appareil authentique.
  • il a réussi Matter tests de conformité.

Pendant la phase de développement, le fabricant peut tester ses appareils sans suivre l'intégralité du processus d'attestation. Les testeurs doivent être explicitement informés que l'appareil est en cours de test et qu'il n'a pas encore été certifié ni lancé. Une fois qu'un fabricant entre dans une phase de production, l'écosystème du provisionneur doit appliquer toutes les exigences d'attestation.

L'attestation utilise une infrastructure à clé publique (PKI) qui s'appuie sur des autorités de certification racine et des certificats intermédiaires, de la même manière que les certificats d'authentification de serveur largement adoptés pour SSL/TLS. Ce processus est appelé "chaîne de certificats d'attestation de l'appareil".

PKI d'attestation d'appareil

Le DAC est un certificat X.509 v3. La première version de X.509 a été publiée en 1988 par l'UIT-T. Le certificat X.509 v3 avec infrastructure à clé publique et la liste de révocation de certificats (CRL) utilisés par Matter sont spécifiés par la RFC5280. Il contient les éléments suivants :

  • Clé publique
  • Émetteur
  • Objet
  • Numéro de série du certificat
  • Validité, où l'expiration peut être indéterminée
  • Signature

L'ID du fournisseur et l'ID du produit sont des attributs de MatterDACName dans l'objet DAC.

Le DAC est unique à chaque appareil et associé à la paire de clés d'attestation unique du produit. Il est émis par une autorité de certification associée au fabricant de l'appareil.

La signature du DAC est validée par rapport au certificat intermédiaire d'attestation du produit (PAI), qui est également émis par une PAA. Toutefois, un fournisseur peut choisir de créer une PAI par produit (spécifique à un PID), par groupe de produits ou pour tous ses produits.

À la racine de la chaîne de confiance, la clé publique de l'autorité de certification (AC) de l'autorité d'attestation des produits (AAP) valide les signatures de l'autorité d'identité du produit. Notez que le truststore Matter est fédéré et que l'ensemble des certificats PAA approuvés par les commissaires est conservé dans une base de données de confiance centrale (le Distributed Compliance Ledger). Pour qu'une PAA soit incluse dans l'ensemble approuvé, elle doit respecter une règle de certification gérée par Alliance.

Infrastructure à clé publique pour l'attestation Matter
Figure 1 : Infrastructure à clé publique d'attestation Matter

L'identité d'attestation de plate-forme est également un certificat X.509 v3 qui inclut :

  • Clé publique
  • Émetteur
  • Objet
  • Numéro de série du certificat
  • Validité, où l'expiration peut être indéterminée
  • Signature

L'ID du fournisseur et l'ID du produit (facultatif) sont des attributs de MatterDACName dans le sujet DAC.

Enfin, le PAA est le certificat racine de la chaîne et il est autosigné. Il comprend les éléments suivants :

  • Signature
  • Clé publique
  • Émetteur
  • Objet
  • Numéro de série du certificat
  • Validité

Documents et messages d'attestation supplémentaires

Le processus d'attestation comporte plusieurs documents et messages. Les éléments suivants sont une brève présentation de leur fonction et de leur composition. L'image ci-dessous vous aidera à comprendre leur hiérarchie.

Hiérarchie des documents d'attestation
Figure 2 : Hiérarchie des documents d'attestation
Document Description
Déclaration de certification (CD) Le CD permet à l'appareil Matter de prouver sa conformité avec le protocole Matter. Chaque fois que les processus de certification Matter se terminent, Alliance crée une CD pour le type d'appareil afin que le fournisseur puisse l'inclure dans le micrologiciel. Le CD inclut, entre autres, les informations suivantes :
  • VID
  • PID (un ou plusieurs)
  • ID de la catégorie de serveur
  • ID de la catégorie de client
  • Niveau de sécurité
  • Informations sur la sécurité
  • Type de certification (développement, provisoire ou officiel)
  • Signature
Informations sur le micrologiciel (facultatif) La section Informations sur le micrologiciel contient le numéro de version du CD et un ou plusieurs résumés des composants du micrologiciel, tels que l'OS, le système de fichiers et le bootloader. Les résumés peuvent être un hachage des composants logiciels ou un hachage des manifestes signés des composants logiciels.

Le fournisseur peut également choisir d'inclure dans les informations sur le micrologiciel uniquement le "hachage des hachages" de ses composants, au lieu d'un tableau de hachages individuels.

Les informations sur le micrologiciel sont un élément facultatif du processus d'attestation et s'appliquent lorsqu'un fournisseur dispose d'un environnement de démarrage sécurisé qui gère la paire de clés d'attestation.
Informations sur l'attestation Message envoyé par le Commissaire au Commissaire. Les informations d'attestation combinent un TLV contenant les éléments d'attestation et une signature d'attestation.
Éléments d'attestation Il s'agit d'un TLV contenant :

  • Certificate Declaration
  • Horodatage
  • Nonce d'attestation
  • Informations sur le micrologiciel (facultatif)
  • Informations spécifiques au fournisseur (facultatif)
Attestation Challenge Défi hors bande dérivé lors de l'établissement de la session Passcode Authenticated Session Establishment (PASE)/Certificate Authenticated Session Establishment (CASE) et utilisé pour sécuriser davantage la procédure et éviter les signatures rejouées. Provient d'une session CASE, d'une session PASE ou d'une session CASE reprise.
Attestation TBS (à signer) Message contenant les éléments d'attestation et le défi d'attestation.
Signature de l'attestation Signature de l'attestation TBS, signée à l'aide de la clé privée d'attestation de l'appareil.

Procédure d'attestation

Le commissaire est responsable de l'attestation du commissaire. Il exécute les étapes suivantes :

  1. Le commissaire génère un nonce d'attestation aléatoire de 32 octets. Dans le jargon de la cryptographie, un nonce (nombre utilisé une seule fois) est un nombre aléatoire généré dans la procédure cryptographique et destiné à être utilisé une seule fois.
  2. Le commissaire envoie le nonce au DUT et demande les informations d'attestation.
  3. Le DUT génère les informations d'attestation et les signe avec la clé privée d'attestation.
  4. Le commissaire récupère le certificat DAC et PAI de l'appareil, puis recherche le certificat PAA dans son magasin de confiance Matter.
  5. Le commissaire valide les informations de l'attestation. Voici les conditions de validation :
    • La chaîne de certificats DAC doit être validée, y compris les vérifications de révocation sur le PAI et le PAA.
    • Le VID du DAC correspond à celui du PAI.
    • La signature de l'attestation est valide.
    • Le nonce dans les éléments d'attestation de l'appareil correspond à celui fourni par le commissaire.
    • La signature de la déclaration de certification est valide à l'aide de l'une des clés de signature de la déclaration de certification Alliance connues.
    • Les informations sur le micrologiciel (si elles sont présentes et acceptées par le commissaire) correspondent à une entrée du registre de conformité distribué.
    • Des validations VID/PID supplémentaires ont également lieu entre le cluster d'informations de base sur l'appareil, la déclaration de certification et le DAC.