OEM-Lizenzen: Schutz gegen unberechtigte Benutzung von Software-Funktionen

Mit Hilfe der TwinCAT 3 Lizenztechnologie kann eine SPS-Anwendung durch Bindung an eine Hardware (Beckhoff IPC oder TwinCAT-Dongle) vor unberechtiger Benutzung/Klonen geschützt werden. Mit der gleichen Lizenztechnik können auch Zusatzfunktionalitäten der SPS-Anwendung für Endkunden freigeschaltet werden.

Voraussetzung für die Nutzung dieser Funktion: Ausstellung eines TwinCAT OEM Zertifikates

Systemvoraussetzungen

Hinweis: Eine User DB ist für die Nutzung von OEM-Lizenzen nicht erforderlich.

OEM-Lizenzen: Schutz gegen unberechtigte Benutzung von Software-Funktionen 1:

Sicherer Schutz nur bei Verwendung von Beckhoff IPC oder TwinCAT Lizenzdongle

Verwenden Sie für einen sicheren Schutz unbedingt einen Beckhoff IPC oder einen TwinCAT 3 Lizenzdongle. Der Einsatz von OEM-Lizenzen auf Nicht-Beckhoff-Rechnern ohne TwinCAT 3 Lizenzdongle wird nicht unterstützt und ist unsicher!

OEM-Lizenzen: Schutz gegen unberechtigte Benutzung von Software-Funktionen 2:

Sicherer Schutz nur bei Verwendung der neuesten TwinCAT-3-Version

Verwenden Sie für einen sicheren Schutz (z. B. eine sichere Verschlüsselung) immer die neueste TwinCAT-3-Version. Diese bietet die höchste Sicherheit.

Verwenden Sie mindestens TwinCAT 3.1 Build 4024.x.
Verwenden Sie aus Sicherheitsgründen keine ältere Version!

Allgemeine Hinweise

OEM-Lizenzen: Schutz gegen unberechtigte Benutzung von Software-Funktionen 3:

Nutzung von OEM-Lizenzen = Bootprojekt verschlüsseln!

Denken Sie daran, dass die per FB_CheckLicense abgefragte License-ID im Binärcode mit einem Hex-Editor leicht gefunden und (mit einem gewissen Aufwand) manipuliert werden kann. Arbeiten Sie daher unbedingt mit einer Verschlüsselung des Bootprojektes (am sichersten), oder verschleiern Sie zumindest die abgefragte License-ID im Quellcode bestmöglich.

Typische Anwendungsfälle

Ablauf

Zunächst muss das TwinCAT 3 Engineering für die Erzeugung von Anwendungslizenzen konfiguriert werden. Sie benötigen dazu u. a. ein kleines Tool, das nicht Bestandteil des serienmäßigen Auslieferungsumfangs des TwinCAT 3 Engineerings ist.

Wie Sie das TwinCAT 3 Engineering für Anwendungslizenzen vorbereiten, wird im Abschnitt Vorbereitung des TwinCAT 3 Engineering beschrieben.

In der folgenden Grafik ist der prinzipielle Ablauf der Lizenzierung dargestellt:

OEM-Lizenzen: Schutz gegen unberechtigte Benutzung von Software-Funktionen 4:

Request OEM certificate

OEM-Lizenzen: Schutz gegen unberechtigte Benutzung von Software-Funktionen 5:

Basis für die Lizenzierung ist ein von Beckhoff signiertes OEM-Zertifikat, mit dem das Ausstellen der Lizenzen erfolgt (durch Signierung des License Request Files).

Wie Sie dieses Zertifikat beantragen und installieren, wird im Abschnitt Erstellung des "OEM Certificate Request Files" beschrieben.

Verwenden Sie unbedingt ein starkes Passwort für Ihr OEM-Zertifikat!

Create OEM license type

OEM-Lizenzen: Schutz gegen unberechtigte Benutzung von Software-Funktionen 6:

Mithilfe von Daten (OEM GUID) aus dem OEM-Zertifikat wird eine Beschreibungsdatei für einen Lizenztyp erzeugt. Diese Lizenzbeschreibungsdatei ist die Basis für die Erstellung eines „License Request Files“ (siehe nachfolgender Schritt).

Wie Sie die Lizenzbeschreibungsdatei erzeugen, wird im Abschnitt Lizenzbeschreibungsdatei für eine OEM-Applikationslizenz erstellen beschrieben.

Mit einem OEM-Zertifikat kann eine beliebige Anzahl an Lizenzbeschreibungsdateien erzeugt werden:

OEM-Lizenzen: Schutz gegen unberechtigte Benutzung von Software-Funktionen 7:

Create license request file

OEM-Lizenzen: Schutz gegen unberechtigte Benutzung von Software-Funktionen 8:

Nun können Sie für ein spezifisches „License Device“ (TwinCAT-3-Dongle oder Beckhoff IPC) eine „License Request File“ erzeugen.

Wie Sie die Datei erzeugen, wird im Abschnitt License Request Files für eine OEM-Applikationslizenz erstellen beschrieben.

Anwendungslizenzen für einen Nicht-Beckhoff-IPC (Plattform-Level 90 oder größer) erfordern aus Sicherheitsgründen immer einen TwinCAT-3-Dongle!

Sign license request file

OEM-Lizenzen: Schutz gegen unberechtigte Benutzung von Software-Funktionen 9:

Das erzeugte „License Request File“ muss mit dem OEM-Zertifikat signiert werden und wird dadurch zum „License Response File“. Dieses ist die eigentliche Lizenzdatei, die an das spezifische Gerät gebunden ist, das beim Erstellen das „License Request File“ angegeben wurde.

Wie Sie das „License Request File“ mit dem OEM-Zertifikat signieren, wird im Abschnitt Manuelle Erstellung über das TwinCAT Engineering beschrieben.

Anschließend muss die erzeugte Lizenzdatei auf dem „License Device“ (TwinCAT-3-Dongle oder Beckhoff IPC) zur Verfügung gestellt werden (siehe License Response Files für eine OEM-Applikationslizenz importieren).

Ab TwinCAT 3 Build 4022.16 steht die TC3 PLC Lib Tc2_Utilities in der Version 3.3.24 zur Verfügung, die verschiedene Funktionsbausteine zum Lizenzhandling bietet. Sie umfasst unter anderem Funktionsbausteine, mit deren Hilfe Lizenzdateien direkt in einer SPS‑Anwendung auf einem TwinCAT-3-Dongle abgelegt oder von diesem heruntergeladen werden können. (Siehe Dokumentation TC3 PLC Lib Tc2 Utilities)

Die erforderliche TC3 PLC Lib Tc2_Utilities können Sie herunterladen: Tc2_Utilities.zip

Check for valid OEM license

OEM-Lizenzen: Schutz gegen unberechtigte Benutzung von Software-Funktionen 10:

Die TwinCAT-3-Runtime überprüft beim Start (und während der Laufzeit), ob die Anwendungslizenz gültig ist. Das Ergebnis dieser Überprüfung können Sie mit dem SPS‑Funktionsbaustein FB_CheckLicense abfragen (siehe OEM-Applikationslizenz in einer SPS-Applikation abfragen).

In Ihrer SPS-Anwendung können Sie dann wie erforderlich auf das Ergebnis der Lizenz-Validitätsprüfung reagieren und haben somit unter Kontrolle, wie auf das Vorhandensein oder Fehlen Ihrer Anwendungslizenz reagiert werden soll.