Nachdem wir nun einige wichtige Konzepte eines Knotens kennengelernt haben, sehen wir uns an, wie Geräte miteinander kommunizieren können.
Die Matter-Spezifikation verwendet komplexe Methoden zum Verschlüsseln und Entschlüsseln von Informationen sowie sichere Mechanismen, um die Identität eines Knotens zu bestätigen und kryptografische Anmeldedaten freizugeben.
Wenn mehrere Geräte in einem Netzwerk dieselbe Sicherheitsdomain verwenden und somit eine sichere Kommunikation zwischen Knoten möglich ist, wird dies als Fabric bezeichnet. Fabrics nutzen dasselbe übergeordnete Zertifikat (Root of Trust) der Zertifizierungsstelle (CA) und im Kontext der Zertifizierungsstelle eine eindeutige 64-Bit-Kennung, die Fabric-ID genannt wird.
Bei der Inbetriebnahme werden einem neuen Knoten die Fabric-Anmeldedaten zugewiesen, damit er mit anderen Knoten in derselben Fabric kommunizieren kann.
Anmeldedaten für den Betrieb
Die Root of Trust wird auf einem Knoten festgelegt, der vom Commissioner in Betrieb genommen wird. Dies ist in der Regel ein Gerät mit einer Art GUI, z. B. ein Smartphone, ein Hub oder ein Computer, nachdem es von einem Administrative Domain Manager (ADM) empfangen wurde. Dies ist oft ein Ökosystem, das als Trusted Root-Zertifizierungsstelle (CA) fungiert.
Der Commissioner hat Zugriff auf die Zertifizierungsstelle. Daher fordert er im Namen des in Betrieb genommenen Knotens oder Commissionee die Node Operational Credentials von der Zertifizierungsstelle an. Die Anmeldedaten bestehen aus zwei Teilen:
Die Node Operational Identifier (oder Operational Node ID) ist eine 64-Bit-Nummer, die jeden Knoten in der Fabric eindeutig identifiziert.
Node Operational Certificate (NOC) sind die Anmeldedaten, die Knoten verwenden, um innerhalb einer Fabric zu kommunizieren und sich zu identifizieren. Sie werden durch den Prozess Node Operational Certificate Signing Request (NOCSR) generiert.
NOCSR ist ein Verfahren, das auf dem in Betrieb genommenen Knoten ausgeführt wird. Er bindet mehrere kryptografische Elemente und sendet sie dann an den Commissioner, der das CA-Ökosystem nach dem entsprechenden NOC fragt. Abbildung 1 zeigt diesen Abhängigkeitsbaum und die Reihenfolge, in der einige Vorgänge ausgeführt werden.
Das Verständnis der einzelnen kryptografischen Elemente ist für die SDK-Entwicklung wichtig, aber die vollständige Analyse ihrer Rolle und Auswirkungen würde den Rahmen dieser Einführung sprengen. Wichtige Hinweise:
- NOCs werden vom CA-Ökosystem auf realen Produktions-Fabrics ausgestellt.
- NOCs sind kryptografisch an das eindeutige Node Operational Key Pair (NOKP) gebunden.
- Der NOKP wird vom Knoten generiert, der während des Inbetriebnahmevorgangs in Betrieb genommen wird.
- Die an das Ökosystem gesendeten NOCSR-Informationen enthalten den öffentlichen Schlüssel für den Knotenbetrieb, der private Schlüssel für den Knotenbetrieb wird jedoch nie an den Commissioner oder die Zertifizierungsstelle gesendet.
- Der NOCSR-Prozess verwendet Eingaben aus dem Attestierungsverfahren, signiert die CSRSR-Informationen und validiert so die Anfrage an die Zertifizierungsstelle, ein vertrauenswürdiges NOC zu generieren.
Das Attestierungsverfahren ist ein Verfahren, mit dem der Commissioner Folgendes bescheinigt:
- Das Gerät hat die Matter-Zertifizierung durchlaufen.
- Das Gerät ist tatsächlich das, was es vorgibt zu sein: Es weist seinen Anbieter, seine Produkt-ID und andere Herstellungsinformationen kryptografisch nach.
Multi-Admin
Knoten können auch in mehr als einer Fabric in Betrieb genommen werden. Diese Eigenschaft wird oft als „Multi-Admin“ bezeichnet. Beispielsweise kann ein Gerät sowohl in der Fabric des Herstellers als auch in der Fabric eines Cloud-Ökosystems in Betrieb genommen werden, wobei jede Fabric einen anderen Satz verschlüsselter Kommunikationen verarbeitet und unabhängig voneinander funktioniert.
Da mehrere Fabrics gleichzeitig vorhanden sein können, kann ein Gerät mehrere Sätze von Knoten-Anmeldedaten haben. Das Datenmodell des Knotens wird jedoch gemeinsam genutzt: Die Clusterattribute, Ereignisse und Aktionen sind in allen Fabrics gleich. Obwohl Thread- und/oder WLAN-Anmeldedaten während des Inbetriebnahmevorgangs festgelegt werden, sind sie Teil des Networking Operational Cluster, werden von allen Fabrics gemeinsam genutzt und sind Teil des DM des Knotens, nicht der Fabric-Anmeldedaten.