Nachdem wir nun einige Schlüsselkonzepte eines Knotens verstanden haben, analysieren wir, was die Kommunikation zwischen Geräten ermöglicht.
Die Matter Spezifikation verwendet ausgefeilte 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 verwenden dasselbe Zertifikat der Zertifizierungsstelle (Certificate Authority, CA) auf oberster Ebene (Root of Trust) und im Kontext der CA eine eindeutige 64-Bit-Kennung namens Fabric-ID.
Beim Inbetriebnahmeprozess werden die Fabric-Anmeldedaten einem neuen Knoten zugewiesen, damit dieser mit anderen Knoten in derselben Fabric kommunizieren kann.
Betriebsanmeldedaten
Der Root of Trust wird auf einem Knoten bei der Inbetriebnahme vom Commissioner festgelegt. Das ist in der Regel ein Gerät mit einer grafischen Benutzeroberfläche, z. B. ein Smartphone, Hub oder Computer. Der Commissioner erhält den Root of Trust von einem Administrative Domain Manager (ADM). Das ist oft ein Ökosystem, das als vertrauenswürdige Zertifizierungsstelle (Trusted Root Certificate Authority, CA) fungiert.
Der Commissioner hat Zugriff auf die CA. Er fordert daher die Betriebsanmeldedaten des Knotens im Namen des in Betrieb zu nehmenden Knotens oder Commissionee von der CA an. Die Anmeldedaten bestehen aus zwei Teilen:
Die Betriebs-ID des Knotens (oder Operational Node ID) ist eine 64-Bit-Zahl, die jeden Knoten in der Fabric eindeutig identifiziert.
Das Betriebszertifikat des Knotens (Node Operational Certificate, NOC) ist die Gruppe von Anmeldedaten, die Knoten verwenden, um innerhalb einer Fabric zu kommunizieren und sich zu identifizieren. Sie werden durch den Prozess Anfrage für das Signieren des Betriebszertifikats des Knotens (Node Operational Certificate Signing Request, NOCSR) generiert.
NOCSR ist ein Verfahren, das auf dem in Betrieb zu nehmenden Knoten ausgeführt wird. Dabei werden mehrere kryptografische Elemente verknüpft und an den Commissioner gesendet, der das entsprechende NOC vom CA-Ökosystem anfordert. Abbildung 1 zeigt diesen Abhängigkeitsbaum und die Reihenfolge, in der einige Vorgänge ausgeführt werden.
Es ist wichtig, jedes kryptografische Element für die SDK-Entwicklung zu verstehen. Eine vollständige Analyse ihrer Rolle und Auswirkungen würde jedoch den Rahmen dieses Leitfadens sprengen. Wichtig ist Folgendes:
- NOCs werden vom CA-Ökosystem in Produktions-Fabrics ausgestellt.
- NOCs sind kryptografisch an das eindeutige Betriebsschlüsselpaar des Knotens (Node Operational Key Pair, NOKP) gebunden.
- Das NOKP wird vom in Betrieb zu nehmenden Knoten während des Inbetriebnahmeprozesses generiert.
- Die an das Ökosystem gesendeten NOCSR-Informationen enthalten den öffentlichen Betriebsschlüssel des Knotens. Der private Betriebsschlüssel des Knotens wird jedoch niemals an den Commissioner oder die CA gesendet.
- Der NOCSR-Prozess verwendet Eingaben aus dem Attestierungsverfahren, signiert die CSRSR-Informationen und validiert so die Anfrage an die CA, ein vertrauenswürdiges NOC zu generieren.
Das Attestierungsverfahren ist ein Prozess, mit dem der Commissioner Folgendes zertifiziert:
- Das Gerät hat die Matter Zertifizierung durchlaufen.
- Das Gerät ist tatsächlich das, was es vorgibt zu sein: Es beweist kryptografisch seinen Anbieter, seine Produkt-ID und andere Herstellungsinformationen.
Mehrere Administratoren
Knoten können auch in mehr als einer Fabric in Betrieb genommen werden. Diese Eigenschaft wird oft als „Multi-Admin“ bezeichnet. Ein Gerät kann beispielsweise sowohl in der Fabric des Herstellers als auch in der Fabric eines Cloud-Ökosystems in Betrieb genommen werden. Jede Fabric verarbeitet eine andere Gruppe verschlüsselter Kommunikation und funktioniert unabhängig.
Da mehrere Fabrics gleichzeitig vorhanden sein können, hat ein Gerät möglicherweise mehrere Gruppen von Betriebs-Anmeldedaten für Knoten. Das Datenmodell des Knotens wird jedoch gemeinsam genutzt: Die Clusterattribute, Ereignisse und Aktionen sind zwischen den Fabrics identisch. Obwohl die Thread und/oder WLAN-Anmeldedaten während des Inbetriebnahmeprozesses festgelegt werden, sind sie Teil des Networking Operational Cluster, werden von allen Fabrics gemeinsam genutzt und sind Teil des Datenmodells des Knotens, nicht der Fabric Anmeldedaten.