PKI-Zertifikate (PKI – Public Key Infrastructure) eignen sich ideal, um im Internet of Things (IoT) eine sichere Kommunikation, Zugangskontrolle und das Signieren von Code zu ermöglichen. Die Prozesse für das Zertifikat-Lebenszyklusmanagement müssen jedoch sorgfältig geplant werden. In diesem Text erklärt der PKI-Experte Tamás Horváth, wie Sie diese Prozesse für bestmögliche Sicherheit und Effizienz gestalten können.
PKI ist derzeit die beste verfügbare Technologie, um sichere Internetkommunikation und Software-Updates in IoT-Anwendungen zu ermöglichen sowie den Zugriff auf IoT-Dienste und -Geräte zu kontrollieren.
PKI macht die Verwendung von Pre-Shared Keys überflüssig
Die PKI stellt für IoT-Geräte und -Dienste vertrauenswürdige Identitäten auf Basis von Zertifikaten zur Verfügung. So ist eine authentifizierte und verschlüsselte Punkt-zu-Punkt-Kommunikation (N-to-N) ohne vorab freigegebene kryptografische Schlüssel möglich.
Zudem unterstützt die PKI die Verwendung von Berechtigungszertifikaten, die den Zertifikatsinhaber (ein Gerät oder einen Dienst) autorisieren, auf eine bestimmte Ressource zuzugreifen oder die Zugehörigkeit zu einer bestimmten Infrastrukturdomäne (z. B. einem Gebäude) dokumentieren. Berechtigungszertifikate können daher auch andere Arten von zentralen Berechtigungsdiensten wie OAuth und OpenID Connect ersetzen und gleichzeitig für Anonymität sorgen.
Zahlreiche unterschiedliche IoT-Produktlebenszyklen
Die Nutzung von PKI-Zertifikaten in IoT-Anwendungen ist unkompliziert, weil sie von den meisten Kommunikationsprotokollen, Authentifizierungs- und Zugriffs-Produkten sowie digitalen Diensten unterstützt werden.
Die Prozesse für ein sicheres und effizientes Zertifikat-Lebenszyklusmanagement müssen jedoch sorgfältig geplant werden. Der wichtigste Grund dafür ist die große Vielfalt der möglichen IoT-Produktlebenszyklen, die durch folgende Faktoren definiert sind:
- Die Lieferkette eines IoT-Produkts kann verschiedene Schritte umfassen, z. B. die Herstellung von Chips und elektronischen Schaltungen, die Gerätemontage, das Branding, die Bindung des Produkts an einen Netzbetreiber, die Installation in einem Infrastruktursegment und die Übergabe des Produkts vom Lieferanten an den Betreiber. Hinzu kommen verschiedene Akteure.
- Der Betrieb von IoT-Produkten – die Nutzung in einem personalisierten Kontext durch einen bestimmten Benutzer, die Installation in einer bestimmten Infrastrukturdomäne (z. B. Gebäude, Stadt oder Organisation) oder die Zuordnung zu einer bestimmten Service-Instanz variiert sehr stark. In einigen Fällen kann das IoT-Produkt von einer autorisierten Person in einer sicheren Umgebung aktiviert werden, während andere Szenarien eine Aktivierung über das Internet per Remote-Management erfordern.
- Auch nach der Produktion kann der Lebenszyklus stark variieren. Einige Geräte können den Besitzer oder den Einsatzbereich wechseln. Einige befinden sich in öffentlichen Bereichen, andere können bei Verlust oder Diebstahl erhebliche Schäden verursachen. Andere wiederum erfordern möglicherweise eine regelmäßige oder kurzfristige Wartung in einer sicheren Umgebung oder am Einsatzort.
Stabile Vertrauensbasis über den gesamten Lebenszyklus
Bei der Gestaltung von Prozessen für das Lebenszyklusmanagement von PKI-Zertifikaten müssen Sie die Basis dafür schaffen, dass das Vertrauen in die IoT-Geräte in allen Lieferketten und Produktlebenszyklen aufrecht erhalten wird. Das ist eine Grundvoraussetzung, um die folgenden Gefahren abzuwehren:
- Gefälschte Produkte, die in die Lieferkette oder ein geschütztes betriebliches Umfeld eingeschleust werden.
- Nicht registrierte und potenziell manipulierte Produkte, die in die Lieferkette oder ein geschütztes betriebliches Umfeld eingeschleust werden (z. B. ein Standardprodukt, das ohne Ihr Wissen mit Ihrem Smart Home-Netzwerk- und Servicekonto verknüpft wird).
- Unbefugter Zugriff auf Geräte oder Dienste, mit dem Ziel Systeme zu sabotieren oder Schäden zu verursachen (z. B. durch den Zugriff Krimineller auf Smart Manufacturing-Systeme).
- Der Zugriff auf Geräte von nicht autorisierten Diensten oder nicht autorisierten Geräten oder die Weiterleitung von Daten dieser Geräte (Abhören von Daten).
Vertrauenswürdige Identitäten von Anfang an
Um das Vertrauen in IoT-Geräte über den gesamten Lebenszyklus aufzubauen und zu erhalten, müssen ihre Identitäten nahtlos kontrolliert werden. Daher ist es erforderlich, bereits in einem frühen Stadium des Produktlebenszyklus eine vertrauenswürdige Identität für das Gerät oder seine Komponenten zu etablieren. Diese Identität muss dann validiert werden, sobald der Komponente oder dem Gerät in der nächsten Lieferkettenstufe eine andere Identität zugewiesen wird oder wenn die Nutzung des Geräts im betrieblichen Umfeld beginnt (d. h., wenn es für einen Benutzer personalisiert oder in einer Infrastrukturdomäne installiert wird).
Im Idealfall erhalten IoT-Gerätekomponenten wie SIM-Karten, eSIM-Chips, Mikrocontroller-Boards oder fahrzeuginterne Komponenten ihre erste zertifikatsbasierte Identität vom Hersteller während der Produktion in einer zuverlässigen und gesicherten Umgebung.
Neue Zertifikate für jede Produktlebensphase
Liefert ein Hersteller IoT-Gerätekomponenten an den nächsten Hersteller in der Produktionskette, sollte er auch eine Identitätenliste der Komponenten über einen sicheren Kanal bereitstellen. So kann der nächste Hersteller nicht autorisierte Komponenten herausfiltern und neue herstellerspezifische oder kontextspezifische Zertifikate für die Produkte bereitstellen.
Dieser Prozess sollte in jeder Phase der Produktionskette von IoT-Geräten durchgeführt werden. Wird das Endprodukt dann von einem Verbraucher oder einem Unternehmen gekauft, muss der Betreiber für das betriebliche Umfeld, in dem das Produkt eingesetzt wird, ein neues Zertifikat zur Verfügung stellen. Dafür wird zunächst die Identität überprüft, die das Produkt vom letzten Hersteller in der Produktionslieferkette erhalten hat.
Zertifikate vereinfachen die Zugangskontrolle
Der Name des Lieferanten, der Name der betrieblichen Infrastrukturdomäne oder andere Identifikatoren wie die Kundenkonto-ID können in Registrierungsanfragen, Zertifikatsanfragen und Zertifikaten auf verschiedene Weise ausgedrückt werden. Am häufigsten werden URIs (Uniform Resource Identifier), DNS (Domain Name System) -Domain-Namen oder IP-Adressen (Internet Protocol) verwendet.
Wird der betriebliche Kontext im Zertifikat angegeben, kann das Zertifikat auch direkt als Autorisierung des Geräts oder des Dienstes in einem bestimmten Umfeld oder Gebäude fungieren. Dadurch können sich die kommunizierenden Parteien ohne zusätzliches Autorisierungs- oder Zugangsmanagementsystem gegenseitig erkennen. So liefert beispielsweise ein Sensor oder eine Kamera nur dann Daten an den Kontroll- und Überwachungsdienst derselben Einrichtung, wenn sich die Zertifikate auf die gleiche betriebliche Domäne beziehen.
Nur der rechtmäßige Besitzer kann das Gerät steuern
Im Allgemeinen stellt das Zertifikat für den betrieblichen Kontext sicher, dass:
- nur der rechtmäßige Besitzer das Gerät steuern kann
- nur das Gerät des Besitzers auf das Servicekonto des Besitzers zugreifen kann.
- das Gerät nur im betrieblichen Kontext eingesetzt werden darf.
- das Gerät keine Daten unbeabsichtigt an andere Bereiche oder Parteien liefert.
Zertifikate können grundsätzlich auch Wildcards enthalten, sodass alle Geräte in einer Domäne den gleichen Schlüssel und das gleiche Zertifikat verwenden würden. Ich empfehle, solche Wildcard-Zertifikate nicht in IoT-Anwendungen zu nutzen, da die Gerätelebenszyklen damit nicht individuell gesteuert werden können.
Vier Schritte zur Ausstellung einer neuen Identität für Geräte
Technisch gesehen umfasst die Ausstellung einer neuen Identität für ein IoT-Gerät die folgenden vier Schritte:
- Registrierung (Anmeldung) des Geräts bei einem bestimmten Hersteller, Lieferanten oder Betreiber.
- Generierung eines neuen kryptografischen Schlüsselpaares, entweder auf dem Gerät oder durch einen sicheren Dienst (dieser Schritt ist optional).
- Anforderung und Ausstellung eines PKI-Zertifikats für das Gerät.
- Sichere Bereitstellung des Zertifikats (und optional des privaten Schlüssels) für das richtige Gerät.
Alle diese Schritte unterliegen Sicherheitsanforderungen, um zu gewährleisten, dass nur berechtigte Personen diese Schritte durchführen können und der kryptografische Schlüssel sowie das PKI-Zertifikat mit dem vorgesehenen Gerät verknüpft sind.
Registrierungs- und Zertifizierungsstellen
Dafür sind eine Registrierungsstelle (RA) und eine Zertifizierungsstelle (CA) erforderlich:
- Die Aufgabe der RA besteht darin, die Berechtigung für eine Geräteregistrierung zu überprüfen, sodass nur die vorgesehenen Geräte registriert werden, um Zertifikate für die nächste Phase ihres Lebenszyklus zu erhalten. Die Registrierungsdaten enthalten eine Verknüpfung der bestehenden Identität des Gerätes zur angeforderten Identität oder zu einer engeren Identitätsnamensdomäne.
- Die Aufgabe der Zertifizierungsstelle besteht darin, Zertifikate auszustellen und zu gewährleisten, dass nur registrierte (autorisierte) Geräte Zertifikate für die nächste Lebensphase erhalten. Die Zertifizierungsstelle stellt zudem sicher, dass die öffentlichen Schlüssel und Zertifikate mit den Geräten verknüpft sind, welche die entsprechenden privaten Schlüssel besitzen. Die vorhandenen Zertifikate der Geräte können verwendet werden, um für die Zertifizierungsstelle einen Identitätsnachweis zu erbringen.
Automatisierte Bereitstellung von Zertifikaten
Aufgrund der potenziell großen Anzahl von Geräten in IoT-Anwendungen wird dringend empfohlen, die Prozesse der Geräteregistrierung und Zertifikatsbereitstellung zu automatisieren. Das macht die Prozesse sicherer und wirtschaftlicher.
Registrierungs- und Zertifikatsanforderungen können von einem CRM-System (Customer Relationship Management), Fertigungssystemen oder einem Gerätemanagementsystem (z. B. einer IoT-Plattform) erzeugt werden. Zertifikatsanforderungen können auch vom angeschlossenen Gerät selbst erzeugt und gesendet werden. Dies wird auch als automatische Zertifikatsregistrierung bezeichnet wird. Die Bereitstellung von Schlüsseln und digitalen Zertifikaten direkt von der Zertifizierungsstelle für die Geräte vereinfacht die Sicherheitsinfrastruktur erheblich.
Es gibt keine standardisierten Protokolle für die Registrierung, aber das ist kein großes Problem, da die Übertragung von Registrierungsdaten an einen Dienst sehr einfach ist. Wichtiger ist jedoch, dass es mehrere standardisierte Zertifikatsverwaltungsprotokolle für die Anforderung und Bereitstellung von Zertifikaten gibt, z. B. SCEP, CMC, CMP, EST, ACME. CMP und EST eignen sich am besten für das Zertifikatsmanagement während des Lebenszyklus der Produkte, u. a., weil sie eine automatische Zertifikatsregistrierung ermöglichen, die auf der Authentifizierung des anfragenden Geräts mit seinem bestehenden Zertifikat basiert.
Ereignisse während der betrieblichen Lebensphase
Nachdem ein IoT-Gerät in den vorgesehenen Betriebskontext gebracht wurde, befindet es sich normalerweise im Betriebszustand. Doch es kann verloren gehen, gestohlen, beschädigt, kompromittiert oder aus dem Betrieb genommen werden. Es kann aber auch für Instandhaltungsmaßnahmen außer Betrieb genommen werden, einem anderen Besitzer oder betrieblichen Umfeld zugeordnet werden. Zudem kann die Gültigkeit des Zertifikats, welches das Gerät vom Betreiber erhalten hat, ablaufen, sodass eine Verlängerung notwendig wird.
Der automatisierte Austausch oder die Verlängerung der Zertifikate wird durch die oben genannten Protokolle CMP und EST unterstützt. Das IoT-Gerät selbst oder ein IoT-Gerätemanagementsystem kann die Gültigkeit des aktuellen Zertifikats überwachen und bei Bedarf automatisch ein neues Zertifikat mit verlängerter Gültigkeit anfordern.
Widerrufene Zertifikate werden nicht akzeptiert
Auch Verlust, Kompromittierung oder Stilllegung von Geräten sollten berücksichtigt werden. Standard-PKIs beinhalten eine Widerrufsfunktion, die Zertifikate ungültig macht. Im Rahmen der standardmäßigen Zertifikatsvalidierung ruft die validierende Partei den Sperrstatus des Zertifikats entweder aus einem Repository von Zertifikatswiderrufslisten (CRLs) oder einem Online Certificate Status Protocol (OCSP)-Server ab.
Ein widerrufenes Zertifikat wird nicht akzeptiert, wenn das zugehörige Gerät den Zugriff auf einen Dienst anfordert. Dann werden auch keine verschlüsselten Nachrichten an das Gerät gesendet. CRLs und OCSP-Rückmeldungen lassen sich auch zwischenspeichern,, um die Antwortzeiten und Verfügbarkeit zu verbessern (Mögliche Nachteile dieser Infrastrukturen zur Zertifikatsvalidierung und alternative Konzepte werde ich in einem zukünftigen Blogbeitrag erläutern).
Geräteverluste oder Komprimittierungen erfordern die Meldung des Ereignisses an ein IoT-Support- oder Gerätemanagementsystem, welches wiederum betroffene Zertifikate über eine Schnittstelle zur Zertifizierungsstelle widerrufen kann. Die Zertifizierungsstelle kündigt Widerrufe über die oben genannten CRLs- und OCSP-Dienste an. Ein Besitzer- oder Betreiberwechsel oder die Stilllegung von Geräten aufgrund von Ereignissen wie z. B. einer Vertragskündigung können von einem CRM-System überwacht werden, das den Widerruf auslösen kann. Unter den Standardprotokollen für das Zertifikatsmanagement unterstützt nur CMP den Widerruf.
Gestaltung der Prozesse – Zusammenfassung
Die Gestaltung der bestmöglichen PKI-Zertifikatsverwaltungsprozesse für IoT-Geräte umfasst die folgenden Schritte:
- Analysieren Sie den Produktlebenszyklus.
- Definieren Sie den richtigen Zeitpunkt und den richtigen Mechanismus zur Bereitstellung des ersten Zertifikats für das Produkt oder seine Komponenten (idealerweise in einer gesicherten Produktionsumgebung).
- Entwickeln Sie eine lückenlose Kette von vertrauenswürdigen Identitäten entlang der gesamten Lieferkette und des Produktlebenszyklus.
- Stellen Sie sicher, dass die Ausstellung von hersteller- oder kontextspezifischen Zertifikaten sowie die Erneuerung, der Widerruf, die Stilllegung und der Austausch dieser Zertifikate automatisiert werden. Die Automatisierung dieser Prozesse ist die Basis für Sicherheit und Wirtschaftlichkeit der IoT-Lösung.
- Nutzen Sie – soweit möglich – die automatische Zertifikatsregistrierung der Geräte direkt von den Zertifizierungsstellen. Dadurch wird die Sicherheitsinfrastruktur erheblich vereinfacht.
- Nutzen Sie die Fähigkeit von PKI-Zertifikaten zur Angabe der betrieblichen Domäne oder anderer Berechtigungsdaten, da dies die Zugangskontrollinfrastruktur vereinfachen kann.