Benutzerdefinierte Sicherheitszertifikate für OPC UA auf PLCnext Control konfigurieren
Dies ist eine Aktualisierung eines Artikels, der ursprünglich im November 2018 veröffentlicht wurde.
Alle PLCnext Controls beinhalten einen eingebetteten OPC UA-Server. Dieser Server bietet, wie alle OPC UA-Server, die Option, sichere Verbindungen mit Clients über Public-Key-Kryptografie herzustellen. Dieser Leitfaden beschreibt, wie Sie Ihr eigenes Sicherheitszertifikat (einschließlich Ihres eigenen privaten Schlüssels) verwenden, um eine sichere OPC UA-Verbindung mit einem PLCnext Control aufzubauen.
Für allgemeine Informationen zur Verwaltung von OPC UA-Server-Zertifikaten verweisen wir auf:
- Den OPC UA-Einstellungen-Abschnitt des integrierten Hilfesystems von PLCnext Engineer.
- Das PLCnext Info Center:
- Eingebetteter OPC UA-Server (eUA)
- Zertifikatsauthentifizierung.
Einführung
Der eingebettete OPC UA-Server des PLCnext Control benötigt X.509-Zertifikate, um vertrauenswürdige Kommunikation mit OPC UA-Clients zu gewährleisten. Es gibt vier Haupttypen von Zertifikaten, die verwendet werden können:
Option 1 – Automatisch generiertes selbstsigniertes Zertifikat.
- Die erforderlichen Zertifikate werden automatisch vom PLC erstellt.
- Einfach einzurichten.
- Nützlich für Tests und für den dauerhaften Einsatz in sicheren LANs.
Option 2 – Manuell generiertes selbstsigniertes Zertifikat.
- Keine zusätzlichen Sicherheitsvorteile gegenüber Option 1, gibt dem Administrator aber mehr Kontrolle über die Zertifikatsverwaltung.
Option 3 – Von Ihrer eigenen Zertifizierungsstelle (CA) signiertes Zertifikat.
- Keine zusätzlichen Sicherheitsvorteile gegenüber Option 1 und 2, ermöglicht aber eine strukturiertere Verwaltung von Zertifikaten.
Option 4 – Von einer vertrauenswürdigen Zertifizierungsstelle ausgestelltes Zertifikat.
- Erfordert den Kauf eines Zertifikats von einer vertrauenswürdigen Drittanbieter-CA wie Symantec oder GeoTrust. Dies ist die empfohlene Option für öffentliche oder andere unsichere Netzwerke, da alle Clients ein von einer vertrauenswürdiger CA signiertes Zertifikat akzeptieren sollten.
Voraussetzungen
Für die erfolgreiche Durchführung der folgenden Verfahren benötigen Sie:
- Grundlegendes Verständnis von Public-Key-Kryptografie und X.509-Zertifikaten.
- Grundlegendes Verständnis von OPC und (speziell) OPC UA-Technologie.
Die in diesem Leitfaden beschriebenen Verfahren wurden mit folgender Hard- und Software vorbereitet:
- AXC F 2152 Controller, Firmware-Version 2020.6.1
- PLCnext Engineer Version 2020.6
- UAExpert Version 1.5.1
- XCA Version 2.3.0 mit einer bereits erstellten Datenbank
Weiterführende Literatur
- Public-Key-Kryptografie
- X.509
- X.509-Zertifikate erstellen (PDF)
- Was ist OPC?
- OPC Unified Architecture
- Das OPC UA-Sicherheitsmodell für Administratoren (PDF)
Verfahren
Option 1 – Automatisch generiertes selbstsigniertes Zertifikat
Dies ist die Standardoption beim Erstellen eines neuen Projekts in PLCnext Engineer.
- Dem Verfahren zur Konfiguration des OPC UA-Servers im Video auf dem Technical Support YouTube-Kanal folgen.
Dadurch wird automatisch ein selbstsigniertes Zertifikat im Identity Store namens OPC UA-self-signed erstellt, das Sie auf der webbasierten Verwaltungsseite des PLC im Fenster Zertifikatsauthentifizierung (im Sicherheits-Bereich) sehen können.
Beim Herstellen einer Verbindung zum OPC UA-Server von UA Expert aus kann der Name des selbstsignierten Zertifikats „eUAServer@axc-f-2152-1“ gesehen werden:
Da das Zertifikat nicht von einer vertrauenswürdigen CA signiert ist, muss der Benutzer diesem Zertifikat explizit vertrauen.
Nach der Bestätigung, dass dem Zertifikat vertraut werden kann, kann UA Expert den Fehler „BadCertificateHostNameInvalid“ anzeigen. Das liegt daran, dass die URL, die für die Verbindung zum OPC UA-Server verwendet wurde, mit keinen Einträgen in den Feldern IPAddresses oder DNSnames des Zertifikats übereinstimmt (die im UA Extensions-Bereich oben zu sehen sind). Dies kann korrigiert werden, indem die entsprechenden Einträge zum Zertifikat hinzugefügt werden, was im OPC UA-Einstellungsfenster in PLCnext Engineer möglich ist.
Beachten Sie, dass UA Expert zwar die Option bietet, BadCertificateHostNameInvalid-Fehler zu ignorieren und trotzdem eine Verbindung zum Server herzustellen, viele andere OPC UA-Clients jedoch einfach die Verbindung verweigern, wenn sie auf diesen Fehler stoßen.
Option 2 – Manuell generiertes selbstsigniertes Zertifikat
- In XCA ein neues selbstsigniertes Zertifikat erstellen.
- Eine Datenbank unter dem Menüpunkt „Datei“ öffnen (oder erstellen).
- Im Reiter „Zertifikate“ auf den Button „Neues Zertifikat“ klicken:
- Im nächsten Dialogfeld ist der Reiter „Quelle“ aktiv. Die Signieroption „selbstsigniertes Zertifikat erstellen“ sollte standardmäßig bereits aktiviert sein:
- Auf den Reiter „Subject“ wechseln und die Felder ausfüllen. Ein Beispiel ist unten gezeigt.
- Auf den Button „Neuen Schlüssel generieren“ klicken. Dies generiert einen einzigartigen privaten Schlüssel für dieses Zertifikat.
- Im Reiter „Erweiterungen“ die Gültigkeitsdauer des Zertifikats auf den gewünschten Zeitraum setzen und einen Eintrag in das Feld „X509v3 Subject Alternative Name“ machen. Dieses Feld darf nicht leer sein – das ist eine Anforderung der OPC UA-Spezifikation. Die IPAddresses- und DNSnames-Felder, die in Option 1 erwähnt wurden, entsprechen diesen Feldern.
- Auf OK klicken, um das Zertifikat zu erstellen.
- Nach Erstellung des Zertifikats dieses im Hauptfenster von XCA auswählen und auf „Exportieren“ klicken. Zertifikat und unverschlüsselten privaten Schlüssel im Format „PEM + key (*.pem)“ exportieren:
- In PLCnext Engineer das OPC UA-Server-Feld „Zertifikat“ von „Selbstsigniert durch Controller“ auf „Datei auf Controller“ ändern.
- PLCnext Engineer-Projekt auf den PLC herunterladen.
- Auf der webbasierten Verwaltungsseite des PLC zum Fenster Zertifikatsauthentifizierung im Sicherheits-Bereich navigieren. Ein neuer Identity Store namens OPC UA-configurable wurde erstellt.
- Zertifikat und Schlüssel aus der in Schritt 7 erstellten Datei in den neuen Identity Store laden:
- Zertifikat laden, indem Sie auf den „Setzen“-Button klicken und die Zertifikat/Schlüssel-Datei auswählen. Ein Fehler erscheint, der anzeigt, dass das bestehende Schlüsselpaar und das neue Zertifikat nicht übereinstimmen.
- Privaten Schlüssel laden, indem Sie auf den „Setzen“-Button klicken und die Zertifikat/Schlüssel-Datei auswählen. Der Fehler verschwindet.
- PLCnext Runtime neu starten, damit der OPC UA-Server das neue Zertifikat übernimmt.
Es ist nun möglich, einen Client mit dem OPC UA-Server über dieses manuell erstellte selbstsignierte Zertifikat zu verbinden. Beim Verbinden mit UA Expert können die Details des benutzerdefinierten Zertifikats eingesehen werden.
Option 3 – Von Ihrer eigenen CA signiertes Zertifikat
In XCA ist es möglich, Ihre eigene Zertifizierungsstelle (CA) zu erstellen und Ihre Zertifikate damit zu signieren. Die zusätzlichen erforderlichen Schritte sind im Dokument „X.509-Zertifikate erstellen“ beschrieben, das am Anfang dieses Artikels referenziert wird. Beachten Sie, dass beim Exportieren der .pem-Datei das Exportformat „PEM chain (*.pem)“ sein muss.
Wie in Option 2 oben sollte dieses Zertifikat in den OPC UA-configurable Identity Store geladen werden.
Option 4 – Von einer vertrauenswürdigen CA ausgestelltes Zertifikat
In diesem Fall wird das Zertifikat von einer vertrauenswürdigen Zertifizierungsstelle gekauft und signiert. Auch dieses Zertifikat sollte in den OPC UA-configurable Identity Store geladen werden. Wenn die CA dem OPC UA-Client bekannt ist, sollten beim Verbinden mit dem OPC UA-Server keine Warnungen oder Fehler auftreten.
Zertifikate auf einem zentralen Server verwalten
Anstatt Sicherheitszertifikate manuell auf dem PLC zu laden, können Zertifikate stattdessen von einem OPC UA Global Discovery Server an den PLC gepusht werden. Das hilft bei der Verwaltung von Sicherheitszertifikaten in einem Netzwerk mit mehreren OPC UA-Servern.
Dieses Thema wird in einem anderen Beitrag behandelt.
Industrietechnik
- Fertigungsabläufe mit ISO 9004 optimieren: Ein bewährter Qualitätsmanagement-Leitfaden
- Vollständige Verbindungstabelle in E3.series 2021 erstellen – Komplettanleitung
- Elektrokonstruktion meistern: Projekte mit E3.schematic-Funktionen optimieren
- Schwachstellen im Elektrodesign-Prozess erkennen: Ein praktischer Leitfaden
- Mitarbeiterkosten mit Overhead korrekt berechnen: Vollständiger Leitfaden
- Partner effektiv zu Supply-Chain-Sicherheitsrisiken einbinden
- Edge AI für Optimierung von Lager- und Fertigungsabläufen nutzen
- Wettbewerber überholen mit digitalen Arbeitsanweisungen
- Alibaba Cloud Connector mit PLCnext integrieren: Schritt-für-Schritt-Anleitung
- PC per Wake-on-LAN mit PLCnext fernwecken