Attestierung

Zertifizierte Geräte sind Geräte, die den Connectivity Standards Alliance (Alliance) Matter Zertifizierungsprozess durchlaufen haben.

Während des Inbetriebnahmeprozesses muss sich ein zertifiziertes Gerät attestieren. Mit anderen Worten: Es muss nachweisen, dass es das ist, was es vorgibt zu sein, und dass es sich um ein Originalprodukt handelt. Daher haben alle Matter Geräte Anmeldedaten, die das Attestierungsschlüsselpaar und eine zugehörige Zertifikatskette umfassen. Das Geräteattestierungszertifikat (Device Attestation Certificate, DAC) ist Teil dieser Kette. Sobald das in Betrieb genommene Gerät dem Commissioner das DAC präsentiert, bestätigt dieser, dass

  • es von einem zertifizierten Hersteller gefertigt wurde.
  • es ein Originalgerät ist.
  • es die Matter Compliance-Tests bestanden hat.

Während der Entwicklungsphase kann der Hersteller seine Geräte ohne den vollständigen Attestierungsprozess testen. Tester sollten ausdrücklich darüber informiert werden, dass sich das Gerät in der Testphase befindet und noch nicht zertifiziert und auf den Markt gebracht wurde. Sobald ein Hersteller in die Produktionsphase eintritt, sollte das Ökosystem des Bereitstellers alle Attestierungsanforderungen durchsetzen.

Bei der Attestierung wird eine Public-Key-Infrastruktur (Public Key Infrastructure, PKI) verwendet, die Stammzertifizierungsstellen und Zwischenzertifikate nutzt, ähnlich wie die weit verbreiteten Serverauthentifizierungszertifikate, die für SSL/TLS verwendet werden. Dieser Prozess wird als Geräteattestierungszertifikatskette bezeichnet.

Geräteattestierungs-PKI

Das DAC ist ein X.509 v3-Zertifikat. Die erste Version von X.509 wurde 1988 von der ITU-T veröffentlicht. Das von Matter verwendete X.509 v3-Zertifikat mit Public-Key-Infrastruktur und Zertifikatssperrliste (Certificate Revocation List, CRL) ist in RFC5280 angegeben. Es enthält:

  • Öffentlicher Schlüssel
  • Aussteller
  • Betreff
  • Seriennummer des Zertifikats
  • Gültigkeit, wobei das Ablaufdatum unbestimmt sein kann
  • Unterschrift

Anbieter-ID und Produkt-ID sind Attribute des MatterDACName im DAC-Betreff.

Das DAC ist für jedes Gerät eindeutig und mit dem eindeutigen Attestierungsschlüsselpaar im Produkt verknüpft. Es wird von einer Zertifizierungsstelle ausgestellt, die mit dem Gerätehersteller verknüpft ist.

Die Signatur des DAC wird anhand des Zwischenzertifikats für die Produktattestierung (Product Attestation Intermediate Certificate, PAI) validiert, das ebenfalls von einer PAA ausgestellt wird. Ein Anbieter kann jedoch ein PAI pro Produkt (PID-spezifisch), pro Produktgruppe oder für alle seine Produkte erstellen.

Am Anfang der Vertrauenskette validiert der öffentliche Schlüssel der Product Attestation Authority (PAA) Zertifizierungsstelle (Certificate Authority, CA) Signaturen aus dem PAI. Der Matter Trust Store ist föderiert und die von den Commissioners vertrauenswürdigen PAA-Zertifikate werden in einer zentralen vertrauenswürdigen Datenbank (Distributed Compliance Ledger) verwaltet. Für den Eintrag einer PAA in der vertrauenswürdigen Gruppe muss eine von der Alliance verwaltete Zertifikatrichtlinie erfüllt werden.

Matter-Attestierungs-Public-Key-Infrastruktur
Abbildung 1: Matter-Attestierungs-Public-Key-Infrastruktur

Das PAI ist ebenfalls ein X.509 v3-Zertifikat, das Folgendes enthält:

  • Öffentlicher Schlüssel
  • Aussteller
  • Betreff
  • Seriennummer des Zertifikats
  • Gültigkeit, wobei das Ablaufdatum unbestimmt sein kann
  • Unterschrift

Anbieter-ID und Produkt-ID (optional) sind Attribute des MatterDACName im DAC-Betreff.

Schließlich ist die PAA das Root-Zertifikat in der Kette und selbst signiert. Es enthält:

  • Unterschrift
  • Öffentlicher Schlüssel
  • Aussteller
  • Betreff
  • Seriennummer des Zertifikats
  • Gültigkeit

Zusätzliche Attestierungsdokumente und -nachrichten

Der Attestierungsprozess umfasst mehrere Dokumente und Nachrichten. Die folgenden Elemente geben einen kurzen Überblick über ihre Funktion und Zusammensetzung. Das Bild unten hilft, ihre Hierarchie zu verstehen.

Hierarchie der Attestierungsdokumente
Abbildung 2: Hierarchie der Attestierungsdokumente
Dokument Beschreibung
Zertifizierungserklärung (Certification Declaration, CD) Mit der CD kann das Matter Gerät seine Konformität mit dem Matter Protokoll nachweisen. Nach Abschluss des Matter Zertifizierungsprozesses erstellt die Alliance eine CD für den Gerätetyp, damit der Anbieter sie in die Firmware aufnehmen kann. Die CD enthält unter anderem folgende Informationen:
  • VID
  • PID (eine oder mehrere)
  • Serverkategorie-ID
  • Clientkategorie-ID
  • Sicherheitsstufe
  • Sicherheitsinformationen
  • Zertifizierungstyp (Entwicklung, vorläufig oder offiziell)
  • Unterschrift
Firmwareinformationen (optional) Die Firmwareinformationen enthalten die CD-Versionsnummer und einen oder mehrere Digests von Komponenten in der Firmware, z. B. Betriebssystem, Dateisystem und Bootloader. Die Digests können entweder ein Hash der Softwarekomponenten oder ein Hash der signierten Manifeste der Softwarekomponenten sein.

Der Anbieter kann auch nur den „Hash-of-Hashes“ seiner Komponenten in die Firmwareinformationen aufnehmen, anstatt ein Array einzelner Hashes.

Firmwareinformationen sind ein optionales Element im Attestierungsprozess und anwendbar, wenn ein Anbieter eine sichere Bootumgebung hat, die das Attestierungsschlüsselpaar verwaltet.
Attestierungsinformationen Nachricht, die vom Commissionee an den Commissioner gesendet wird. Die Attestierungsinformationen kombinieren ein TLV mit den Attestierungselementen und eine Attestierungssignatur.
Attestierungselemente Dies ist ein TLV mit folgenden Elementen:

  • Zertifikatserklärung
  • Zeitstempel
  • Attestierungs-Nonce
  • Firmwareinformationen (optional)
  • Anbieterspezifische Informationen (optional)
Attestierungs-Challenge Out-of-Band-Challenge, die während der Passcode Authenticated Session Establishment (PASE)/ Certificate Authenticated Session Establishment (CASE) Sitzungseinrichtung abgeleitet wird und zur weiteren Sicherung des Verfahrens und zur Vermeidung von wiederholten Signaturen verwendet wird. Stammt entweder aus einer CASE Sitzung, einer PASE Sitzung oder einer fortgesetzten CASE Sitzung.
Attestierung TBS (zu signieren) Nachricht mit den Attestierungselementen und der Attestierungs-Challenge.
Attestierungssignatur Signatur der Attestierung TBS, signiert mit dem privaten Schlüssel der Geräteattestierung.

Attestierungsprozess

Der Commissioner ist für die Attestierung des Commissionee verantwortlich. Er führt die folgenden Schritte aus:

  1. Der Commissioner generiert eine zufällige 32-Byte-Attestierungs-Nonce. Im kryptografischen Jargon ist eine Nonce (einmal verwendete Zahl) eine Zufallszahl, die im kryptografischen Verfahren generiert wird und nur einmal verwendet werden soll.
  2. Der Commissioner sendet die Nonce an das DUT und fordert die Attestierungsinformationen an.
  3. Das DUT generiert die Attestierungsinformationen und signiert sie mit dem privaten Schlüssel der Attestierung.
  4. Der Commissioner ruft das DAC- und PAI-Zertifikat vom Gerät ab und sucht das PAA-Zertifikat in seinem Matter Vertrauens speicher.
  5. Der Commissioner validiert die Attestierungsinformationen. Das sind die Bedingungen für die Validierung:
    • Die DAC-Zertifikatskette muss validiert werden, einschließlich der Sperrprüfungen für das PAI und das PAA.
    • Die VID im DAC stimmt mit der VID im PAI überein.
    • Die Attestierungssignatur ist gültig.
    • Die Nonce in den Geräteattestierungselementen stimmt mit der vom Commissioner bereitgestellten Nonce überein.
    • Die Signatur der Zertifikatserklärung ist mit einem der Alliance's bekannten Signaturschlüssel der Zertifizierungserklärung gültig.
    • Die Firmwareinformationen (falls vorhanden und vom Commissioner unterstützt) stimmen mit einem Eintrag im Distributed Compliance Ledger überein.
    • Zusätzliche VID/PID-Validierungen finden auch zwischen dem Cluster „Gerätegrundinformationen“, der Zertifizierungserklärung und dem DAC statt.