Skip to main content

How To: Zertifikate für IDE und SPS handhaben

Die Zertifikate für die Verschlüsselung im CODESYS Development System oder für die Kommunikation mit der SPS können selbstsigniert oder CA-signiert sein. Welche Zertifizierungsstufe eingesetzt wird, hängt vom Sicherheitsanspruch ab. Sie können Zertifikate mit speziellen Tools oder in der CODESYS-Umgebung erstellen.

CA signierte Zertifikate

CA-signierte Zertifikate müssen durch einen vertrauenswürdigen externen Zertifizierungsdienstleister (Certification Authority, CA) oder durch eine CA, die in der Anlage des Betreibers untergebracht ist, erstellt werden. Um ein CA-signiertes Zertifikat zu erhalten, können Sie ein selbst erstelltes Zertifikat über einen Certificate Signing Request (CSR) an eine CA senden und hinterher wieder auf Ihrem Computer oder auf der SPS installieren.

Extensions bei CAs

Die CA verwendet die Daten aus dem Certificate Signing Request (CSR), um daraus das X.509-Zertifikat für die SPS zu erstellen. Beim Signieren des CSR ist die Übernahme folgender x509v3-Extensions aus dem CSR zwingend notwendig:

Key Usage, Extended Key Usage, Subject Alternative Name, jeweils mit dem Flag Critical

Selbstsignierte Zertifikate

Selbstsignierte Zertifikate können Sie selbst mit dem eigenen privaten Schlüssel signiert erstellen. Sie sind nicht durch eine CA signiert. In der CODESYS-Umgebung werden Sie durch Dialoge und Verschlüsselungsassistenten beim Erstellen selbstsignierter Zertifikate unterstützt.

Tipp

Ein selbstsigniertes Zertifikat ist für Testzwecke nützlich. Es kann auch als Übergangslösung dienen, bis ein von einer CA signiertes Zertifikat bereitsteht.

Zertifikate im Windows Certificate Store speichern

Zertifikatsverwaltung auf dem Entwicklungsrechner unter Windows

Auf Ihrem Computer müssen gültige Zertifikate für die Verschlüsselung eines CODESYS-Projekts und für den Austausch zwischen der SPS und dem CODESYS Development System im lokalen Windows Certificate Store (certmgr) liegen.

Tipp

Um eine Zertifikatsdatei aus dem lokalen Dateisystem in den Windows Certificate Store zu installieren, doppelklicken Sie auf die Datei im Dateiverzeichnis. Sie erhalten dann den passenden Importassistenten.

Siehe hierzu: Zertifikate der SPS

Der Security-Screen bietet eine Oberfläche zur Zertifikatshandhabung für das Projekt wie auch für die Zertifikate, die für die Kommunikation mit der SPS nötig sind. Im Fall der Kommunikation zwischen CODESYS und SPS bietet der Security-Screen eine Alternative zu den entsprechenden Kommandos der SPS-Shell des Geräteeditors.

Die Zertifikatsverwaltung auf der SPS liegt in der Hand des Anlagenbetreibers.

Was mit Zertifikaten verschlüsselt oder signiert werden kann

Tabelle 1. Mit Hinweisen zu den dazu unterstützenden CODESYS-Komponenten

Package

Im Add-on CODESYS Package Designer

Projekt

Über den Dialog der Projekteinstellungen

Einzelne Programmiereinheiten im Projekt

Mit Hilfe der Funktionen der Bibliothek CmpX509Cert.library

Bibliothek

Beim Speichern als übersetzte Bibliotheksdatei

Applikationscode, Bootapplikation, Quellcode downloaden, Online-Change

Eine unmittelbare Unterstützung für das Erstellen eines Zertifikats erhalten Sie in diesem Fall durch einen Verschlüsselungsassistenten im Dialog Eigenschaften der Applikation.

Kommunikation zwischen Programmiersystem und SPS

Eine unmittelbare Unterstützung für das Erstellen eines Zertifikats für verschlüsselte Kommunikation mit der Steuerung wird Ihnen direkt beim ersten Verbinden mit einer geschützten Steuerung angeboten. Dieses Zertifikat ist zunächst nur temporär gültig.

Kommunikation zwischen Automation Server Connector über den Edge Gateway mit dem Automation Server

Für das Einrichten der zertifikatsverschlüsselten Kommunikation erhalten Sie ab V1.35.0.0 des CODESYS Automation Server Unterstützung durch den Dialog Quick Setup.

Kommunikation zwischen WebVisu und Webbrowser

Über den Security-Screen, über die Registerkarte Geräte oder über die Komponente CmpOpenSSL im Laufzeitsystem

Damit ein Zertifikat vom Browser als sicher eingestuft wird, muss es von einer vertrauenswürdigen Zertifizierungsstelle (CA) signiert sein.

Kommunikation zwischen Projekt und Remote TargetVisu

Sie erhalten unmittelbare Unterstützung beim ersten Starten, wenn das Laufzeitsystem die verschlüsselte Kommunikation fordert.

Kommunikation über OPC UA-Server

Über den Security-Screen

Beim Signieren des CSR ist die Übernahme der folgenden "x509v3-Extensions" aus dem CSR zwingend notwendig:

Key Usage,

Extended Key Usage

Subject Alternative Name

jeweils mit dem Flag Critical

Visualisierungselement HTML5

Im Dialog Visualisierungselemente-Repository



Zertifikate der SPS

Vertraulichkeit

Bei der Handhabung von SPS-Zertifikaten muss die Rolle des Anwenders differenziert werden. Der Anlagenbetreiber muss sicherstellen, dass nur ein Anwender in der Rolle des Systemadministrators im SPS-Zertifikatsspeicher konfigurieren und Zertifikate erneuern kann. Nur ein Systemadministrator darf auch die Zertifikatssperrliste auf der SPS anpassen.

Nur der Systemadministrator darf Zertifikate erzeugen, erneuern oder die Zertifikatssperrliste ändern. Der Zugriff auf den SPS‑Zertifikatsspeicher ist sicherheitskritisch.

SPS-Zertifikate im Windows Certificate Store speichern

In der Konfiguration des SPS-Zertifikatsspeichers ist festgelegt, für welche Anwendungsfälle die SPS gültige Zertifikate erwartet. Die dafür benötigten Zertifikatemüssen auf Ihrem Computer im lokalen Windows Certificate Store installiert sein.

CODESYS erleichtert das Erstellen und Verwalten der nötigen SPS-Zertifikate durch Verschlüsselungsassistenten und die Ansicht Security-Screen, Registerkarte Geräte. Alternativ können Sie die Kommandos der Registerkarte SPS-Shell des Geräteeditors nutzen. An beiden Stellen können Sie den Zertifikatsspeicher der aktuell verbundenen SPS einsehen und Zertifikate erstellen lassen. Beide Stellen bieten auch eine Übersicht aller "Anwendungsfälle" auf der SPS, für die ein Zertifikat nötig ist. Sie zeigen, ob bereits ein Zertifikat dafür vorliegt. Beispiele für Anwendungsfälle: Verschlüsselte Kommunikation, OPC UA-Server.

Bei jedem Anwendungsfall prüft CODESYS zunächst, ob die passenden Zertifikate im lokalen Windows Certificate Store als vertrauenswürdige Zertifikate vorliegen.

Selbstsignierte Zertifikate

Wenn für einen Anwendungsfall auf der SPS lokal noch kein gültiges Zertifikat installiert ist, können Sie im Security-Screen oder über die SPS-Shell auf der Steuerung ein selbstsigniertes Zertifikat erzeugen lassen, um damit unmittelbar weiterarbeiten zu können. Das selbstsignierte Zertifikat wird zunächst in der Kategorie Eigene Zertifikate angelegt. Sie können es dann in die Kategorie Vertrauenswürdige Zertifikate verschieben, damit die SPS ihm künftig vertraut. Zertifikate sind beispielsweise aufgrund einer Blacklist als nicht vertrauenswürdig eingestuft, oder sie sind zur expliziten Prüfung in Quarantäne, weil die SPS selbst nicht direkt prüfen konnte. Nach Prüfung können Sie Zertifikate in die Kategorie Vertrauenswürdige Zertifikate verschieben. Sie können Zertifikate auch wieder von der SPS löschen.

Siehe hierzu: Selbstsignierte Zertifikate erzeugenSelbstsignierte Zertifikate erzeugen

CA-Zertifikate

Um einen höheren Sicherheitslevel zu erreichen, sollten Sie ein selbstsigniertes Zertifikat durch ein CA-signiertes Zertifikat ersetzen. Wenn Sie noch kein CA-signiertes Zertifikat haben, können Sie es bei einer CA-Stelle anfordern (Certificate Signing Request, CSR). Exportieren Sie dazu aus dem Security-Screen oder über die SPS-Shell die betreffende SPS-Zertifikatsdatei ins lokale Dateisystem. Importieren Sie nach Rücksendung des signierten CA-Zertifikats dieses wieder in den SPS-Zertifkatsspeicher und den lokalen Windows Certificate Store.

Das direkte Erzeugen eines CSR ist über die SPS-Shell und ab CODESYS Security Agent V1.4.0.0 auch aus dem Security-Screen (Registerkarte Geräte) möglich.

Beachten Sie unbedingt, dass das CA-signierte Zertifikat folgende Einträge vom CSR übernommen hat: Key Usage, Extended Key Usage, Subject Alternative Name, jeweils mit dem Flag Critical.

Für weitere Informationen siehe:

Zertifikate automatisch durchsuchen

Mehrere Zertifikate für denselben Anwendungsfall

Wenn für einen Anwendungsfall auf der SPS mehrere Zertifikate vorliegen, bestimmt das System mit folgenden nacheinander durchgeführten Auswahlschritten, welches Zertifikat verwendet wird:

  1. Verwenden des Zertifikats, das vom Anwender direkt erstellt wurde. (Wird derzeit noch nicht berücksichtigt!)

  2. Filtern der bereits vorhandenen Zertifikate nach:

    • Subjekt (Verwender des Zertifikats)

    • Schlüsselverwendung

    • erweiterter Schlüsselverwendung

    • gültigem Zeitstempel

  3. Aufteilen der bisher gefundenen gültigen Zertifikate in „signiert“ und „selbstsigniert“

  4. Filtern der signierten Zertifikate und danach der selbstsignierten Zertifikate nach folgenden Kriterien:

    • längste Gültigkeitsdauer

    • stärkster Schlüssel

Zertifikate erneuern

Der Anlagenbetreiber muss dafür sorgen, dass ein Zertifikat rechtzeitig erneuert wird. Siehe hierzu: Zertifikat erneuernZertifikat erneuern

Zertifikatssperrliste

Die Zertifikatssperrliste kann derzeit ausschließlich über die SPS‑Shell ausgetauscht werden. Nur der Systemadministrator des Anlagenbetreibers sollte diese Sperrliste ändern können.

Tipp

Für eine Referenz der Funktionen des Security-Screen siehe: Security-Screen

Für eine Referenz der Funktionen der SPS-Shell siehe: SPS-Shell

Zertifikatsketten

Zwischen dem Root‑CA und dem Endzertifikat des OPC UA Servers oder Clients befinden sich ein oder mehrere Intermediate‑CA‑Zertifikate. Diese Zertifikats-Mittelschicht kann bei Bedarf einfach widerrufen und ersetzt werden, ohne das Root‑CA ändern zu müssen.

Die Unterstützung von Zertifikatsketten ist eine wichtige Maßnahme, um die Benutzerfreundlichkeit zu steigern und die Konfiguration zu erleichtern.

Zertifikatsketten enthalten neben dem eigentlichen genutzten X.509-Zertifikat auch die zugehörigen Zwischen- und Stamm-CA-Zertifikate. Diese zusätzlichen Zertifikate sind erforderlich, um die gesamte Kette bis zu den vertrauenswürdigen Stamm-CAs zu validieren. Ein X.509-Zertifikat ist ein eindeutiges digitales Zertifikat, das eine bestimmte Entität (beispielsweise Benutzer, Gerät oder Software) identifiziert.

Zertifikatsketten enthalten neben dem eigentlichen genutzten X.509-Zertifikat auch die zugehörigen Zwischen- und Stamm-CA-Zertifikate. Diese zusätzlichen Zertifikate sind erforderlich, um die gesamte Kette bis zu den vertrauenswürdigen Stamm-CAs zu validieren. Ein X.509-Zertifikat ist ein eindeutiges digitales Zertifikat, das eine bestimmte Entität (beispielsweise Benutzer, Gerät oder Software) identifiziert.

  • Die CA-Zwischenzertifikate müssen nicht auf die SPS übertragen werden. Das führt zu geringerem Konfigurationsaufwand.

  • Es genügt, dass auf der SPS vertrauenswürdige Root-Zertifikate (von einer Root CA) konfiguriert sind.

  • Wenn sich eine Kette ändert, beispielsweise weil ein Zwischenzertifikat abgelaufen ist, ist keine erneute Konfiguration des Zwischenzertifikats auf der validierenden SPS notwendig.