Skip to main content

Bootapplikation verschlüsseln und/oder signieren

Know-how-Schutz und Kopierschutz des Download-Codes und der Bootapplikation erreichen Sie am Besten mit zertifikatsbasierter Verschlüsselung. Mit der Signierung kann sichergestellt werden, dass nur Applikationen aus vertrauenswürdiger Quelle auf die SPS geladen werden.

Ein passendes Zertifikat können Sie bei Bedarf unmittelbar vom Verschlüsselungsassistenten des CODESYS Security Agent erstellen lassen.

Anmerkung

Auch das CODESYS-Projekt selbst, also der Quellcode der Applikation, kann mit einem Zertifikat verschlüsselt sein, das nur bestimmte Benutzer bekommen. Für weitere Informationen zum Thema Zertifikate siehe: Zertifikate für CODESYS und SPS

Tipp

Für allgemeine Informationen zu Zertifikaten in der CODESYS Development System-Umgebung siehe: Zertifikate für CODESYS und SPS

Applikation mit Zertifikat verschlüsseln

Damit die Daten der Bootapplikation in nicht lesbarer Form transferiert werden, sollten Sie sie zertifikatsbasiert verschlüsseln. Die lizenzbasierte Verschlüsselung (Dongle) ist nicht mehr zu empfehlen.

Hinweis: Falls Sie die Applikation auf verschiedene Steuerungen laden wollen, benötigen Sie für jede Steuerung das passende Zertifikat.

Voraussetzungen: Sie haben ein Projekt mit einer Applikation.

  1. Selektieren Sie die Applikation im Gerätebaum.

  2. Wählen Sie im Kontextmenü den Befehl Eigenschaften.

    Der Dialog Eigenschaften - <Applikationsname> erscheint.

  3. Wählen Sie die Registerkarte Security

  4. Wählen Sie bei Schutz die Option Verschlüsselung mit Zertifikaten.

    Anmerkung

    Wenn in der Ansicht Security-Screen auf der Registerkarte Benutzer im Bereich Security-Level die Option Verschlüsselung von Downloads, Online-Changes und Bootapplikationen aktiviert ist, ist die Option Verschlüsselung mit Zertifikaten bereits fest eingestellt.

    Das Dialogfeld Zertifikate für Verschlüsselung wird aktiv.

  5. Wenn Sie bereits ein gültiges Zertifikat für die Applikatsverschlüsselung auf dem Computer haben, dies aber noch nicht in der Tabelle eingetragen ist, klicken Sie die Schaltfläche _cds_icon_cert_store_open.png. Wenn Sie noch kein Zertifikat haben, fahren Sie mit Schritt 7 fort.

    Der Dialog Zertifikatsauswahl öffnet sich zur Auswahl eines Zertifikats vom lokalen Windows Certificate Store.

  6. Selektieren Sie im unteren Bereich ein Zertifikat und bringen es mit der Schaltfläche _cds_icon_arrow_up.png in das obere Feld. Bestätigen Sie mit OK.

    Das Zertifikat erscheint im Dialog Security im Feld Zertifikate für Verschlüsselung.

  7. Wenn Sie noch kein gültiges Zertifikat haben, können Sie direkt eines erzeugen lassen. Klicken Sie im Dialog Eigenschaften der Applikation die Schaltfläche Verschlüsselungsassistent und klicken Sie im Dialog Verschlüsselungsassistent die Schaltfläche Start.

    Der Verschlüsselungsassistent fordert Sie zur Eingabe von Schlüssellänge (Bit) und Gültigkeitsdauer (Tage) auf.

    Die Applikation kann nun nur mit dem angegebenen Zertifikat von der Steuerung gelesen werden.

  8. Hinweis: Wenn Sie die Bootapplikation signieren wollen: Aktivieren Sie die Option Applikationscode digital signieren im Dialog Eigenschaften und führen Sie die Schritte 1-13 der nachfolgenden Anleitung "Bootapplikation nur mit Zertifikat signieren, nicht verschlüsseln" aus.

Bootapplikation nur mit Zertifikat signieren, nicht verschlüsseln

Wenn Sie in den Eigenschaften der Applikation die Option Mit Zertifikat signieren / Applikationscode digital signieren aktivieren, wird die Applikation nicht verschlüsselt, aber mit Hilfe der Signatur die Urheberschaft und Integrität sichergestellt.

Voraussetzung: Sie benötigen ein Zertifikat für digitale Signatur, das Sie im Security-Screen auf Registerkarte Benutzer einem Benutzerprofil zuweisen. Falls Sie noch kein solches Zertifikat im Dialog zur Auswahl haben, sehen Sie zunächst die Anleitung Für ein Benutzerprofil ein Zertifikat für die digitale Signatur konfigurieren. Wenn ein geeignetes Zertifikat bereits vorliegt, führen Sie die folgenden Schritte durch:

  1. Doppelklicken Sie in der Registerkarte Benutzer auf das Zertifikat für die Digitale Signatur.

    Der Dialog Zertifikat erscheint.

  2. Wählen Sie in der Registerkarte Details auf die Schaltfläche In Datei kopieren.

    Die Zertifikatexport-Assistenz startet.

  3. Wählen Sie bei der Abfrage Privaten Schlüssel exportieren die Option Nein, privaten Schlüssel nicht exportieren.

  4. Wählen Sie bei Format der zu exportierenden Datei das Format DER-codiert-binär X.509 (.CER).

  5. Wählen Sie im nächsten Schritt einen Dateinamen und den Speicherort für das Zertifikat aus.

  6. Nach dem letzten Schritt Fertig stellen erscheint eine Meldung, ob der Exportvorgang erfolgreich abgeschlossen wurde.

  7. Öffnen Sie nach erfolgreichem Exportvorgang in CODESYS den Geräteeditor mit einem Doppelklick auf die Steuerung im Gerätebaum und wählen Sie die Registerkarte Dateien für den Dateitransfer.

  8. Wählen Sie im rechten Dialogteil Laufzeit den Pfadcert/import.

  9. Wählen Sie im linken Dialogteil Host den Pfad im Dateisystem, wo Sie das exportierte Zertifikat abgelegt haben und selektieren Sie das Zertifikat.

  10. Klicken Sie auf _cds_button_double_arrow_right.png.

    Das Zertifikat wird in den Ordner cert/import kopiert.

  11. Wählen Sie nun die Registerkarte SPS-Shell.

  12. Geben Sie in die Eingabezeile der Registerkarte den Befehl cert-import trusted <Dateiname.cer> ein und drücken Sie die Eingabetaste. Achten Sie darauf, dass der Dateiname mit der Dateiendung .cer angegeben wird, da ansonsten das Zertifikat nicht erfolgreich importiert wird.

    Das Zertifikat wird auf der Steuerung unter trusted angelegt. Mit diesem Zertifikat kann die Steuerung die Integrität der Bootapplikation prüfen.

  13. Öffnen Sie die Ansicht Security-Screen mit einem Doppelklick auf _cds_icon_cyber_screen_grey.png in der Statusleiste.

    Stellen Sie sicher, dass auf der Registerkarte Benutzer die Schutzoption Verschlüsselung von Downloads, Online-Changes und Bootapplikationen erzwingen nicht aktiviert ist.

  14. Selektieren Sie das Applikationsobjekt im Gerätebaum und öffnen Sie über das Kontextmenü den Dialog Eigenschaften - -Applikationsname- und dort die Registerkarte Security. Wählen Sie die Option Mit Zertifikat signieren. Sie gelangen zum Dialog Eigenschaften. Dieser Dialog ist alternativ auch in der Ansicht Security-Screen auf Registerkarte Projekt erreichbar. Doppelklicken Sie dort im unteren Fensterteil auf den Eintrag für die Applikation.

    Hinweis: Wenn in der Ansicht Security-Screen die für alle Projekte geltende Option Signieren von Downloads, Online-Changes und Bootapplikationen erzwingen aktiviert ist, ist die Option Mit Zertifikat signieren bereits ausgewählt.

    Nun kann die Steuerung die Integrität der Applikation prüfen. Sie können die Applikation nur auf die Steuerung übertragen, wenn das für die Signierung verwendete Zertifikat gültig ist.

Download, Online-Change und Bootapplikation verschlüsseln

Wenn der CODESYS Security Agent installiert ist, enthält die Ansicht Security-Screen eine weitere Registerkarte: Geräte. Sie ermöglicht das Konfigurieren von Zertifikaten für die verschlüsselte Kommunikation mit Steuerungen. Sehen Sie in diesem Fall die Hilfe zum CODESYS Security Agent: CODESYS Security Agent.

Alternative über die SPS-Shell:

Wenn Sie den CODESYS Security Agent nicht zur Verfügung haben, können Sie über die SPS-Shell des Geräteeditors wie folgt vorgehen:

Um Zertifikate der Steuerung für die Verschlüsselung von Download, Online-Change und Bootapplikation zu verwenden, müssen diese Zertifikate zuerst auf der Steuerung erzeugt, von der Steuerung geladen und in den Windows Certificate Store installiert werden.

Voraussetzung: Sie sind mit der Steuerung verbunden.

  1. Öffnen Sie den Geräteeditor mit einem Doppelklick auf die Steuerung im Gerätebaum und wählen Sie die Registerkarte SPS-Shell.

    Die Registerkarte erscheint mit einem leeren Anzeigefenster. Darunter finden Sie eine Eingabezeile für ein Kommando.

  2. Geben Sie ein Fragezeichen ? in die Eingabezeile ein und drücken Sie die Eingabetaste.

    Im Anzeigefenster werden alle Kommandos aufgelistet.

  3. Geben Sie den Befehl cert-getapplist in die Eingabezeile ein.

    Es werden alle verwendeten Zertifikate aufgelistet mit Informationen zur Komponente und ob das Zertifikat zur Verfügung steht.

  4. Wenn für die Komponente CmpApp kein Zertifikat vorhanden ist, geben Sie den Befehl cert-genselfsigned <Number of the Component in the applist> ein. Falls bereits ein geeignetes Zertifikat vorhanden ist, machen Sie direkt mit Schritt 6 weiter.

  5. Wählen Sie die Registerkarte Log und klicken Sie auf die Aktualisierungsschaltfläche _cds_icon_update.png.

    Es wird angezeigt, ob das Zertifikat erfolgreich erzeugt wurde.

  6. Geben Sie auf der Registerkarte SPS-Shell den Befehl cert-getcertlist ein und drücken Sie die Eingabetaste.

    Die eigenen Zertifikate, die zur Verschlüsselung verwendet werden können, werden aufgelistet. Für den nächsten Schritt sind die Informationen Number und Key usage(s) von Bedeutung.

    Number: Die hier angegebene Nummer geben Sie im nächsten Schritt als Parameter ein.

    Key usage(s): Data Encipherment bedeutet, dass es sich um ein Zertifikat der Steuerung für Download, Online-Change und Bootapplikation handelt.

  7. Exportieren Sie das gewünschte Zertifikat mit dem Kommando cert-export own 0 und drücken Sie die Eingabetaste. 0 ist die Number des Zertifikats mit Key usage(s):Data Encipherment.

    Es wird angezeigt, dass das Zertifikat in einen Ordner cert exportiert wurde.

  8. Wählen Sie die Registerkarte Dateien des Geräteeditors.

  9. Klicken Sie im rechten Dialogteil Laufzeit auf die Aktualisierungsschaltfläche _cds_icon_update.png.

    Die Liste der Dateien und Verzeichnisse wird aktualisiert.

  10. Öffnen Sie in der Liste den Ordner cert und in diesem den Unterordner export.

  11. Öffnen Sie in der linken Dialoghälfte Host das Verzeichnis, wohin das Zertifikat von der Steuerung geladen werden soll.

  12. Selektieren Sie in der rechten Dialoghälfte das Zertifikat, das Sie exportiert haben und klicken Sie auf _cds_button_double_arrow_left.png.

    Das Zertifikat wird in den ausgewählten Ordner kopiert.

  13. Gehen Sie über Ihren Datei-Explorer in den Ordner, wo das Zertifikat hin kopiert wurde und doppelklicken Sie das Zertifikat.

    Der Dialog Zertifikat erscheint und zeigt die Informationen zu diesem Zertifikat an.

  14. Klicken in der Registerkarte Allgemein auf die Schaltfläche Zertifikat installieren.

    Der Zertifikatimport-Assistent startet.

  15. Wählen Sie beim Zertifikatimport-Assistent im Dialog Zertifikatspeicher die Option Alle Zertifikate in folgendendem Speicher speichern und wählen Sie den Ordner Controller Certificates aus.

    Das Steuerungszertifikat wird im Windows Certificate Store in den Ordner Controller Certificates importiert und steht nun zur Verschlüsselung von Download, Online-Change und Bootapplikation zur Verfügung.

  16. Öffnen Sie den Security-Screen mit einem Doppelklick auf die Schaltfläche _cds_icon_cyber_screen_grey.png in der Statusleiste.

  17. Wenn Sie möchten, dass Downloads, Online-Changes und Bootapplikationen Ihres Projekts immer verschlüsselt werden, aktivieren Sie in der Registerkarte Benutzer im Bereich Security-Level die Option Verschlüsselung von Downloads, Online-Changes und Bootapplikationen erzwingen.

  18. Öffnen Sie die Registerkarte Projekt und doppelklicken Sie im Bereich Verschlüsselung von Bootapplikation, Download und Online-Change die Applikation.

    Der Eigenschaftendialog der Applikation erscheint.

  19. Wählen Sie die Registerkarte Security und wählen Sie in der Auswahlliste Schutz die Option Verschlüsselung mit Zertifikaten aus und klicken Sie auf die Schaltfläche _cds_icon_cert_store_open.png.

    Hinweis: Wenn im Security-Screen die für alle Projekte geltende Option Verschlüsselung von Downloads, Online-Changes und Bootapplikationen erzwingen aktiviert ist, ist die Verschlüsselung mit Zertifikaten bereits ausgewählt.

  20. Wählen Sie im Dialog Zertifikatsauswahl aus dem Ordner Controller Certificates das entsprechende Zertifikat aus und klicken Sie auf die Schaltfläche _cds_icon_arrow_up.png.

  21. Bestätigen Sie den Dialog mit OK.

    Das Zertifikat wird im Eigenschaftendialog angezeigt.

  22. Bestätigen Sie den Eigenschaftendialog der Applikation.

    Das Zertifikat wird im Secruity-Screen in der Registerkarte Projekt im Bereich Verschlüsselung von Bootapplikation, Download und Online-Change angezeigt.

    Bootapplikation, Download und Online-Change werden verschlüsselt.

Zertifikat für die Verschlüsselung von Bootapplikation, Download und Online-Change löschen

Voraussetzung: Sie haben das Zusatzprodukt CODESYS Security Agent installiert. Auf Ihrem Computer ist bereits ein Zertifikat mit der Information „Verschlüsselte Applikation“ installiert.

  1. Doppelklicken Sie in der Ansicht Security-Screen, Registerkarte Projekt, im unteren Fensterteil auf den Eintrag für die Applikation.

    Der Dialog Eigenschaften, Registerkarte Verschlüsselung für die Applikation öffnet sich.

  2. Wählen Sie die Verschlüsselungstechnik Verschlüsselung mit Zertifikaten. Klicken Sie im Feld Zertifikate auf die Schaltfläche _cds_icon_cert_store_open.png.

  3. Im Dialog Zertifikatsauswahl löschen Sie das Zertifikat, wie es bereits oben beschrieben ist.

  4. Beenden Sie den Dialog Zertifikatsauswahl mit OK.

    Das Zertifikat wird im Dialog Eigenschaften nicht mehr angezeigt.

Mit Dongle verschlüsseln

Wichtig

Die Verschlüsselung mit einem Dongle wird nicht mehr als sichere Verschlüsselungsmethode eingestuft.

Es wird empfohlen, stattdessen mit Zertifikaten zu verschlüsseln.

Voraussetzungen: Sie haben ein Projekt mit einer Applikation, die Sie als verschlüsselte Bootapplikation auf die Steuerung laden wollen. Ein Dongle zur Lizenzverwaltung steckt auf Ihrem Computer.

  1. Selektieren Sie die Applikation im Gerätebaum.

  2. Wählen Sie im Kontextmenü den Befehl Eigenschaften.

    Der Dialog Eigenschaften - <Applikationsname> erscheint.

  3. Wählen Sie die Registerkarte Security.

  4. Wählen Sie bei Verschlüsselungstechnik die Option Einfache Verschlüsselung aus und geben den Produkt-Code ein, den Sie vom Hardwarehersteller für die Steuerung erhalten haben. Je nach Steuerung ist diese mit Hilfe eines Dongles geschützt (der Firmcode wird automatisch angezeigt), oder aber beispielsweise über eine fest eingebaute Wibu-SD-Karte.

  5. Wählen Sie den Befehl Online → Einloggen und führen Sie einen Download der Applikation durch.

    Wenn der passende Dongle und/oder die gültige Lizenz vorhanden sind, können Sie die Applikation auf die Steuerung laden. Standardmäßig wird dabei automatisch eine Bootapplikation im Steuerungsverzeichnis angelegt. Diese Standardeinstellung ist in den Eigenschaften der Applikation in Kategorie Bootapplikation definiert.

  6. Loggen Sie wieder aus, ändern Sie die Applikation und loggen Sie erneut ein.

    Sie werden gefragt, ob Online-Change durchgeführt werden soll. Im Abfragedialog haben Sie auch die Möglichkeit, die Bootapplikation auf der Steuerung zu aktualisieren. Wenn Dongle und Lizenz passen, können Sie einloggen, ansonsten erhalten Sie eine entsprechende Meldung.