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
- TwinCAT 3-OEM-Zertifikat
(nur für das Erstellen eines Lizenztyps und der Signierung von Lizenzdateien, nicht für die Nutzung einer OEM-Lizenz) - Betriebssystem: mind. Windows 10
(Windows CE / Windows Embedded Compact wird nicht unterstützt!) - Beckhoff IPC oder TwinCAT 3 Lizenzdongle
- TwinCAT-Version: Mind. TwinCAT 3.1 Build 4024
- TC3 PLC Lib Tc2_Utilities v3.3.24 (oder höher)
Hinweis: Eine User DB ist für die Nutzung von OEM-Lizenzen nicht erforderlich.
![]() | 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! |
![]() | 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. |
Allgemeine Hinweise
![]() | 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. |
- Für die Anwendungslizenzierung ist keine Benutzerdatenbank erforderlich.
- Die Lizenzvalidierung erfolgt durch die TwinCAT‑3‑Runtime (XAR). Die TwinCAT-3-Runtime muss also auf dem IPC installiert sein.
- Die Gültigkeit der Anwendungslizenz ist unabhängig von der Gültigkeitsdauer des OEM‑Zertifikates. Die Anwendungslizenz bleibt also auch nach Ablauf der Gültigkeitsdauer des OEM-Zertifikates gültig.
- Die Nutzung von OEM-Applikationslizenzen erfordert immer einen TwinCAT-3-Dongle oder einen Beckhoff IPC.
- Bei IPCs mit einem Plattform-Level >= 90 (Nicht-Beckhoff-IPCs) muss aus Sicherheitsgründen immer ein TwinCAT-3‑Dongle als „License Device“ verwendet werden!
Typische Anwendungsfälle
- Die Anwendung soll durch Binden an eine Hardware (TwinCAT-3-Dongle oder Beckhoff IPC) gegen Klonen geschützt werden.
- In der Anwendung sollen bestimmte Zusatzfunktionen durch eine zugehörige Lizenz freigeschaltet werden.
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:
Request OEM certificate
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
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:
Create license request file
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
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 TwinCAT 3 PLC-Bibliothek 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 TwinCAT 3 PLC-Bibliothek Tc2 Utilities)
Die erforderliche TwinCAT 3 PLC-Bibliothek Tc2_Utilities können Sie herunterladen: Tc2_Utilities.zip
Check for valid OEM license
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.