Die Anzahl an Cyberangriffen nimmt ständig zu und diese beschränken sich auch nicht mehr nur auf IT-Systeme. Die immer dichtere Vernetzung mit den Produktionssystemen der OT im Zuge von Industrie 4.0 und immer mehr Fernwartungszugänge erhöhen das Risiko weiter. Herkömmliche Anbindungen von Sensoren und Aktoren über einfache Datenleitungen und Busse sind allzu oft nur schlecht oder gar nicht gesichert und stellen so ein zusätzliches Risiko dar. Die bisher gebräuchliche Absicherung durch Netzwerksegmentierung ist vielfach nicht mehr ausreichend; gerade auch, weil immer mehr Kommunikation über diese Perimeter hinaus geht. Abhilfe schaffen hier neue Sicherheitskonzepte wie etwa ein Zero-Trust-Ansatz.
Was versteht man unter Zero Trust?
Bei Zero Trust handelt es sich um ein Sicherheitskonzept, das auf dem Grundsatz basiert, erst einmal nichts und niemandem zu trauen: Keinem Anwender, keinem Dienst, keinem Gerät; und dies auch unabhängig von Standort und Herkunft, egal ob von innerhalb oder außerhalb des eigenen Netzwerks. Aus diesen Annahmen ergibt sich zwingend, dass jeglicher (sicherer) Datenverkehr gesichert (verschlüsselt) werden muss und dass sich jeder Benutzer oder Dienst identifizieren und authentisieren muss. Da im Ausgangszustand grundsätzlich nichts erlaubt ist, müssen für jeden Dienst oder Benutzer Regeln (Policies) festgelegt werden, wer was wann und mit wem darf. Das Resultat sind zweckgebundene virtuelle Verbindungen bzw. Netzwerke, die nur vorher definierte Kommunikation miteinander erlauben. Diese Strategie stellt sicher, dass ein Angreifer, dem es gelungen ist, in ein gesichertes Netzwerk einzudringen, keinen oder nur begrenzten Schaden anrichten kann. Es leuchtet ein, dass derartig komplexe Systeme im Allgemeinen schwer einzurichten und zu warten sind, wobei die Komplexität der Aufgabe mit der Heterogenität der Komponenten steigt.
Sichere Kommunikation durch Ende-zu-Ende Verschlüsselung
Dabei ist zu berücksichtigen, dass sich alle Microserver, die an der Kommunikation teilnehmen, auch ohne Benutzer-Interaktion wie etwa einer Passwort-Eingabe selbstständig identifizieren und authentisieren können müssen. In der Praxis werden hierzu Zertifikate eingesetzt, die über eine Public Key Infrastruktur (PKI) verwaltet werden. Damit nicht nur eine zentrale Verbindung zwischen einem Edge-Gateway und der jeweiligen IT abgesichert werden kann, muss so eine PKI alle an einer Kommunikation teilnehmenden Sensorknoten bzw. Microserver mit eigenen Zertifikaten ausrüsten, damit diese auch untereinander sicher kommunizieren können. Dabei ist es ein großer Vorteil, wenn sich dieses Setup auch lokal ausführen lässt und nicht für jeden einzelnen Microserver von einer zentralen IT erledigt werden muss.
Einfache Handhabung mit PKI2go
Die PKI2go-Software von Perinet ermöglicht genau diese Funktionalität: Entweder manuell mittels einer einfachen und benutzerfreundlichen grafischen Drag&Drop-Funktion in einem Browserfenster oder automatisiert über eine REST-API (Maschinen-Schnittstelle). Dabei erkennt die Software automatisch alle verfügbaren Hosts, die dann einfach einer spezifischen Applikation bzw. einer spezifischen PKI zugewiesen werden können. Die Rollen von Host, Server und Clients können dabei entweder physisch von periNODE oder periCORE Microserver-Geräten oder virtuell von periMICA-Containern auf einem Edge-Computer übernommen werden.
PKI2go bietet durch seine Fähigkeiten zum Erstellen und Signieren eigener Root-, Host- und Client-Zertifikate die Möglichkeit, eigene lokale Zertifizierungsstellen (Certificate Authorities, CA) zu erstellen. Dabei übernehmen die einzelnen Zertifikate die folgenden Funktionen:
• Root-Zertifikat: Zertifikat, das die Root-CA (Zertifizierungsstelle) identifiziert, der ein Host (periNODE- oder periMICA-Container) vertraut, wenn mTLS (mutual TLS) aktiviert ist.
• Host-Zertifikat: ein eindeutiges Zertifikat, das der Server-Host (periNODE oder periMICA-Container) verwendet, um sich bei der Kommunikation mit einem Client (z.B. einem Webbrowser-Client) zu authentisieren. Es enthält den Hostnamen und sollte aus Konsistenzgründen von derselben Root-CA ausgestellt werden. Dieses Zertifikat beweist die Originalität bzw. Identität eines Gerätes.
• Client-Zertifikat: Zertifikat, das von einem Client (periNODE, periMICA-Container, Web-Browser-Client) verwendet wird, um sich bei der Kommunikation mit einem Server (z.B. MQTT-Broker) zu authentisieren. Darüber hinaus können sich Benutzer mit bestimmten Benutzerrollen und entsprechenden Client-Zertifikaten registrieren und Administratoren können diesen Mechanismus nutzen, um bestimmten Benutzern unterschiedliche Berechtigungsstufen zu gewähren.
Wenn sich jeder lokale Netzwerkteilnehmer erfolgreich authentisiert hat, kann eine gegenseitige mTLS-Verbindung auf der Grundlage der lokalen PKI aufgebaut werden. Jeder Netzwerkteilnehmer ist dabei nur zu den Operationen berechtigt, die durch die Fähigkeiten seines Client-Zertifikats vorgegeben sind.
Benutzer und Benutzerrollen
Um eine Zugriffskontrolle durch Client-Zertifikate zu ermöglichen, unterstützen periNODE-Geräte und periMICA-Container derzeit die folgenden Benutzerrollen:
- Admin: Erlaubt alle Operationen, einschließlich Firmware-Update, Sicherheitseinstellungen und Änderungen von Konfigurationen.
- Super: Erlaubt nur bestimmte Konfigurationseinstellungen und Lesezugriff, Firmware-Update und Sicherheitseinstellungen sind nicht möglich.
- Reader: Nur Lesezugriff möglich.
PKI2go-Container werden standardmäßig mit einem ersten Benutzernamen ausgeliefert. Weitere Benutzer können einfach erzeugt werden. Nach Auswahl der gewünschten Benutzerrollen, werden die Client-Zertifikate automatisch erzeugt und heruntergeladen.
Starterkits: Auch ohne Spezialkenntnisse sofort loslegen
Mit dem Starter Kit Plus lässt sich ohne Vorkenntnisse ganz einfach eine verteilte Beispielanwendung konfigurieren, bei der virtuelle (periMICA-Container) und physische (periNODEs) Einheiten über SPE kommunizieren. Abstandsmetriken werden kontinuierlich mit dem periNODE Distance erfasst, an dem ein Ultraschallsensor (0-10V) angebracht ist. Ein Abstand von weniger als 100mm aktiviert den Schütz über den periNODE GPIO. Die mit dem periMICA-Container DistanceControl gezeigte Beispiel-Python-Anwendung entscheidet, ob der Schütz ein- oder ausgeschaltet wird. Dabei können nur autorisierte Clients auf die Daten zugreifen, wenn das richtige Client-Zertifikat vorgelegt wird. Alle anderen Zugriffe werden nach dem Zero-Trust-Prinzip blockiert. Nutzer des Starter Kit Plus lernen, wie sie ohne eigene Software auf alle Entitäten zugreifen können. Der PKI2go-Container auf dem im Kit enthaltenen periMICA Edge-Computer bietet dabei eine benutzerfreundliche Schnittstelle zur Verwaltung der Zertifizierungsstelle, die die Schlüssel und Zertifikate erstellt und an die Hosts und Clients ausliefert.
Weitere Funktionen bzw. Software-Container enthalten einen MQTT-Broker zur Verteilung von Sensor-/Aktuator-Metriken, eine Grafana-basierte Weboberfläche zur grafischen Darstellung von Ergebnissen, eine Beispielanwendung zur Abstandsmessung und einen allgemeinen Debian Allzweck-Anwendungscontainer.
So wird Sensorkommunikation richtig sicher
Das Besondere an der patentierten Sicherheitslösung ist, dass PKI2go unabhängig vom Netzwerk-Setup lokal und mit praktisch beliebig vielen PKI-Instanzen ganz einfach aufgesetzt, betrieben und gewartet werden kann. So kann beispielsweise für jede Maschine bzw. Anlage eine eigene PKI oder auch getrennte PKIs für Anlagensteuerung und vorausschauende Wartung aufgesetzt werden. Dies erhöht weiter die Sicherheit gegen Cyberangriffe. Dabei können sich die beteiligten Sensoren gegenseitig und auch gegenüber weiteren Systemen, wie etwa in der IT, ganz ohne Passwörter selbstständig identifizieren und authentisieren. Wegen der fortschreitenden Miniaturisierung ist die komplette für die Sicherheit benötigte kryptografische Infrastruktur in standardisierte Microserver integrierbar, die so klein sind, dass sie in Sensorkabel-Anschlussstecker passen. Damit lässt sich jeder Sensor smart machen und auch Altanlagen können ganz einfach für sichere Kommunikation nachgerüstet werden.