Handbuch. Security Management. TwinCAT 3. Version: Datum:

Handbuch Security Management TwinCAT 3 Version: Datum: 1.1 06.07.2017 Inhaltsverzeichnis Inhaltsverzeichnis 1 Vorwort ............................
Author: Andrea Brandt
4 downloads 2 Views 4MB Size
Handbuch

Security Management

TwinCAT 3

Version: Datum:

1.1 06.07.2017

Inhaltsverzeichnis

Inhaltsverzeichnis 1 Vorwort ....................................................................................................................................................... 5 1.1

Hinweise zur Dokumentation ..........................................................................................................  5

1.2

Sicherheitshinweise ........................................................................................................................  6

2 Einführung ................................................................................................................................................. 7 3 OEM-Zertifikate ........................................................................................................................................ 12 3.1

OEM-Zertifikat beantragen und installieren ..................................................................................  13

3.2

OEM-Zertifikat verlängern.............................................................................................................  15

4 Benutzerdatenbanken (User DBs) ......................................................................................................... 16 4.1

Benutzerdatenbank anlegen.........................................................................................................  16

4.2

Benutzerdatenbank mit Projekt verbinden....................................................................................  21

4.3

Distribution von Benutzerdatenbanken.........................................................................................  22

5 Schutz der OEM-Anwendungssoftware ................................................................................................ 24 5.1

Benutzerzugriffsberechtigungen ...................................................................................................  24 5.1.1 Benutzer und Benutzergruppen anlegen und editieren ................................................... 25 5.1.2 Rechte von Benutzergruppen anpassen.......................................................................... 27 5.1.3 Zugriffsberechtigungsgruppen (Object Protection Level) anlegen und editieren ............. 29 5.1.4 Zugriffsberechtigungen im Projekt zuweisen ................................................................... 32 5.1.5 Einloggen / Auswahl eines Benutzerkontos ..................................................................... 34

5.2

Verschlüsselung ...........................................................................................................................  34 5.2.1 Source Code verschlüsseln ............................................................................................. 35 5.2.2 Custom Libraries verschlüsseln ....................................................................................... 35 5.2.3 Project File verschlüsseln ................................................................................................ 36 5.2.4 Boot-Projekt verschlüsseln .............................................................................................. 37 5.2.5 Boot File verschlüsseln .................................................................................................... 38 5.2.6 Anzeige des Objektschutzstatus ...................................................................................... 38

5.3

Dateien signieren (Schutz gegen unautorisierte Änderungen) .....................................................  39

5.4

OEM-Applikationslizenzen............................................................................................................  40 5.4.1 OEM-Applikationslizenzen erstellen ................................................................................ 41 5.4.2 OEM-Applikationslizenz in einer SPS-Applikation abfragen ............................................ 48 5.4.3 Eine Custom Library an eine OEM-Applikationslizenz binden ......................................... 49

Security Management

Version: 1.1

3

Inhaltsverzeichnis

4

Version: 1.1

Security Management

Vorwort

1

Vorwort

1.1

Hinweise zur Dokumentation

Diese Beschreibung wendet sich ausschließlich an ausgebildetes Fachpersonal der Steuerungs- und Automatisierungstechnik, das mit den geltenden nationalen Normen vertraut ist. Zur Installation und Inbetriebnahme der Komponenten ist die Beachtung der Dokumentation und der nachfolgenden Hinweise und Erklärungen unbedingt notwendig. Das Fachpersonal ist verpflichtet, für jede Installation und Inbetriebnahme die zu dem betreffenden Zeitpunkt veröffentliche Dokumentation zu verwenden. Das Fachpersonal hat sicherzustellen, dass die Anwendung bzw. der Einsatz der beschriebenen Produkte alle Sicherheitsanforderungen, einschließlich sämtlicher anwendbaren Gesetze, Vorschriften, Bestimmungen und Normen erfüllt. Disclaimer Diese Dokumentation wurde sorgfältig erstellt. Die beschriebenen Produkte werden jedoch ständig weiter entwickelt. Wir behalten uns das Recht vor, die Dokumentation jederzeit und ohne Ankündigung zu überarbeiten und zu ändern. Aus den Angaben, Abbildungen und Beschreibungen in dieser Dokumentation können keine Ansprüche auf Änderung bereits gelieferter Produkte geltend gemacht werden. Marken Beckhoff®, TwinCAT®, EtherCAT®, Safety over EtherCAT®, TwinSAFE®, XFC®und XTS® sind eingetragene und lizenzierte Marken der Beckhoff Automation GmbH. Die Verwendung anderer in dieser Dokumentation enthaltenen Marken oder Kennzeichen durch Dritte kann zu einer Verletzung von Rechten der Inhaber der entsprechenden Bezeichnungen führen. Patente Die EtherCAT Technologie ist patentrechtlich geschützt, insbesondere durch folgende Anmeldungen und Patente: EP1590927, EP1789857, DE102004044764, DE102007017835 mit den entsprechenden Anmeldungen und Eintragungen in verschiedenen anderen Ländern. Die TwinCAT Technologie ist patentrechtlich geschützt, insbesondere durch folgende Anmeldungen und Patente: EP0851348, US6167425 mit den entsprechenden Anmeldungen und Eintragungen in verschiedenen anderen Ländern.

EtherCAT® ist eine eingetragene Marke und patentierte Technologie lizensiert durch die Beckhoff Automation GmbH, Deutschland Copyright © Beckhoff Automation GmbH & Co. KG, Deutschland. Weitergabe sowie Vervielfältigung dieses Dokuments, Verwertung und Mitteilung seines Inhalts sind verboten, soweit nicht ausdrücklich gestattet. Zuwiderhandlungen verpflichten zu Schadenersatz. Alle Rechte für den Fall der Patent-, Gebrauchsmusteroder Geschmacksmustereintragung vorbehalten.

Security Management

Version: 1.1

5

Vorwort

1.2

Sicherheitshinweise

Sicherheitsbestimmungen Beachten Sie die folgenden Sicherheitshinweise und Erklärungen! Produktspezifische Sicherheitshinweise finden Sie auf den folgenden Seiten oder in den Bereichen Montage, Verdrahtung, Inbetriebnahme usw. Haftungsausschluss Die gesamten Komponenten werden je nach Anwendungsbestimmungen in bestimmten Hard- und SoftwareKonfigurationen ausgeliefert. Änderungen der Hard- oder Software-Konfiguration, die über die dokumentierten Möglichkeiten hinausgehen, sind unzulässig und bewirken den Haftungsausschluss der Beckhoff Automation GmbH & Co. KG. Qualifikation des Personals Diese Beschreibung wendet sich ausschließlich an ausgebildetes Fachpersonal der Steuerungs-, Automatisierungs- und Antriebstechnik, das mit den geltenden Normen vertraut ist. Erklärung der Symbole In der vorliegenden Dokumentation werden die folgenden Symbole mit einem nebenstehenden Sicherheitshinweis oder Hinweistext verwendet. Die Sicherheitshinweise sind aufmerksam zu lesen und unbedingt zu befolgen!

Akute Verletzungsgefahr! Wenn der Sicherheitshinweis neben diesem Symbol nicht beachtet wird, besteht unmittelbare Gefahr für Leben und Gesundheit von Personen! GEFAHR

Verletzungsgefahr! Wenn der Sicherheitshinweis neben diesem Symbol nicht beachtet wird, besteht Gefahr für Leben und Gesundheit von Personen! WARNUNG

Schädigung von Personen! Wenn der Sicherheitshinweis neben diesem Symbol nicht beachtet wird, können Personen geschädigt werden! VORSICHT

Schädigung von Umwelt oder Geräten Wenn der Hinweis neben diesem Symbol nicht beachtet wird, können Umwelt oder Geräte geschädigt werden. Achtung

Tipp oder Fingerzeig Dieses Symbol kennzeichnet Informationen, die zum besseren Verständnis beitragen. Hinweis

6

Version: 1.1

Security Management

Einführung

2

Einführung

Das TwinCAT 3 Security Management stattet das TwinCAT 3 Engineering mit Funktionen zum Schutz der OEM-Anwendungssoftware auf Beckhoff IPCs aus: • Know How-Schutz durch Verschlüsselung von Source Code und Boot File • Kopierschutz durch den Einsatz der TwinCAT-3-Lizenztechnologie für die OEMAnwendungssoftware. (Erfordert einen Beckhoff IPC/EPC!) • Definition von Benutzergruppen mit konfigurierbaren Zugangsbeschränkungen zum Source Code Durch die Nutzung der TwinCAT-3-Lizenztechnologie kann der OEM zudem selbst Lizenzen für Funktionserweiterungen seiner Anwendungssoftware generieren und diese vermarkten. (Erfordert einen Beckhoff IPC/EPC!)

TwinCAT 3.1 Build 4022 Die beschriebenen Funktionalitäten erfordern mindestens TwinCAT 3.1 Build 4022. Hinweis

Betriebssystem mindestens Windows 7

Hinweis

Für die Nutzung des vollen Funktionsumfanges des TwinCAT 3 Security Managements ist mindestens Windows 7 (bzw. dessen Embedded-Version) erforderlich. Windows XP und Windows CE (Windows Embedded Compact) unterstützen weder die Verschlüsselung des Boot Files noch OEM-Lizenzen.

Um das TwinCAT 3 Security Management verwenden zu können, ist ein von Beckhoff signiertes OEMZertifikat [} 12] erforderlich. Das OEM-Zertifikat sichert über eine Signierung die Benutzerdatenbank (User DB) [} 16] ab. Die User DB ist ein zentrales Element des TwinCAT 3 Security Managements, die den Zugriff auf die Komponenten der OEM-Anwendung regelt.

Wenn ein Projekt von einem autorisierten Anwender mit einer spezifischen User DB verknüpft wird, kann dieses danach nur noch in Verbindung mit dieser User DB geöffnet werden.

Security Management

Version: 1.1

7

Einführung

Die Benutzerzugriffsberechtigungen [} 24] werden innerhalb der User DB über sogenannte „Object Protection Groups“ geregelt. Im folgenden Beispiel heißen diese „Development“ und „Public“. Diesen Gruppen werden die Benutzer „John Smith“ und „Guest“ zugeordnet. Jeder Gruppe werden Rechte zugewiesen. Die Zuordnung wird in sogenannten „Object Protection Leveln“ zusammengefasst, die dann den Projektkomponenten im TwinCAT 3 Engineering zugewiesen werden können.

Damit sind zunächst die Zugriffsrechte innerhalb des TwinCAT 3 Engineering festgelegt. Ein Zugriff auf den Source Code über die Betriebssystemebene ist aber weiterhin möglich. Daher müssen die entsprechenden Dateien zusätzlich auf Dateiebene verschlüsselt werden.

8

Version: 1.1

Security Management

Einführung

Verschlüsselung immer mit Object Protection Level

Hinweis

Um eine Projektkomponente vor unbefugten Zugriff zu schützen, muss dieser im TwinCAT 3 Engineering ein Object Protection Level zugewiesen werden und sie muss auf Betriebssystemebene verschlüsselt werden. Eine Verschlüsselung ohne Einstellung des korrekten Object Protection Levels verschlüsselt zwar die entsprechende Datei auf Betriebssystemebene, würde aber weiterhin einen Zugriff im TwinCAT 3 Engineering zulassen. Umgekehrt würde die Einstellung eines korrekten Object Protection Levels zwar den Zugriff im TwinCAT 3 Engineering festlegen, aber ein Zugriff auf den Source Code über die Betriebssystemebene wäre weiterhin möglich.

Der für die Verschlüsselung verwendete Schlüssel ist in der Benutzerdatenbank gesichert. Die zugehörige Benutzerdatenbank muss daher immer auf dem Engineering-Rechner vorhanden sein. (Verzeichnis: c: \Twincat\3.1\CustomConfig\userDBs)

Security-Management-Konsole Zur Konfiguration der generellen Funktionen steht Ihnen eine zentrale Security-Management-Konsole zur Verfügung.

Security Management

Version: 1.1

9

Einführung 1. Aktivieren Sie die Symbolleiste "TwinCAT XAE Security" im Menü View > Toolbars.

ð Die Symbolleiste „TwinCAT XAE Security“ wird im Symbolleistenbereich angezeigt.

2. Klicken Sie auf die Schalfläche "Security Management" neben der Dropdown-Liste. Alternativ finden Sie den Befehl "Security Management" im Menü "TwinCAT".

10

Version: 1.1

Security Management

Einführung ð Die Security-Management-Konsole öffnet sich. Über die Konsole können Sie das TwinCAT 3 Security Managements konfigurieren.

Hinweise zur Konfiguration finden Sie in den folgenden Abschnitten: • OEM-Zertifikate [} 12] • Benutzerdatenbanken (User DBs) [} 16] • Schutz der OEM-Anwendungssoftware [} 24]

Security Management

Version: 1.1

11

OEM-Zertifikate

3

OEM-Zertifikate

Basis für die Nutzung der Funktionen des TwinCAT 3 Security Managements ist ein von Beckhoff signiertes OEM-Zertifikat. Ein OEM kann im Security Management ein sogenanntes „OEM Certificate Request File“ erstellen und dieses per Mail an Beckhoff schicken ([email protected]). Beckhoff prüft den Antrag, signiert das File und schickt das fertige OEM-Zertifikat wieder an die beantragende Email-Adresse zurück.

Mit dem im Zertifikat enthaltenen OEM Key können dann die verschiedenen Funktionen des TwinCAT 3 Security Managements genutzt werden: • Erstellen einer Benutzerdatenbank (User DB) zur Benutzerzugriffssteuerung • Erstellen von OEM-Applikationslizenzbeschreibungsdateien • Ausstellen (Signieren) von OEM-Applikationslizenzen HINWEIS! Verwenden Sie für diese Tätigkeiten, für die der Umgang mit dem Passwort des Private Keys erforderlich ist, einen sicheren PC, um ein Ausspähen des Passwortes vorzubeugen.

Gültigkeit des OEM-Zertifikats Die Gültigkeit des OEM-Zertifikats ist aus Sicherheitsgründen auf zwei Jahre begrenzt.

12

Version: 1.1

Security Management

OEM-Zertifikate Der OEM kann vor Ablauf der zwei Jahre eine Verlängerung seines Zertifikats beantragen, um ohne Unterbrechung weiterarbeiten zu können. (Siehe Abschnitt "OEM-Zertifikat verlängern [} 15]") Was passiert, wenn die Gültigkeit des Zertifikats abgelaufen ist? Diese Funktionen sind mit einem ungültigen (abgelaufenen) OEM-Zertifikat nicht mehr möglich: • Erstellen einer Benutzerdatenbank • Erstellen von OEM-Applikationslizenzbeschreibungsdateien • Ausstellen (Signieren) von OEM-Applikationslizenzen Die Benutzerdatenbank behält weiterhin Ihre Gültigkeit und der Administrator kann auch weiterhin Änderungen/Anpassungen in der Datenbank machen. Eine neue Benutzerdatenbank kann jedoch nicht mehr erstellt werden.

3.1

OEM-Zertifikat beantragen und installieren

ü Die Security-Management-Konsole [} 9] ist geöffnet. 1. Wählen Sie die Registerkarte "Certificates" aus. 2. Klicken Sie auf "Create New OEM Certificate".

Security Management

Version: 1.1

13

OEM-Zertifikate ð Das Eingabefenster "Create OEM Certificate" öffnet sich.

3. Geben Sie die erforderlichen Daten für ein „OEM Certificate Request File“ ein: • Geben Sie einen "OEM-Name" ein. Den OEM-Namen können Sie frei wählen. Er sollte aber einen klaren Bezug zu Ihrer Firma haben. • Geben Sie einen "Unique Name" ein. Der OEM Unique Name muss ein einmaliger Name sein, anhand dessen das Zertifikat eindeutig identifiziert werden kann, z. B. die URL der Webseite Ihrer Firma, oder Ihre Emailadresse. • Tragen Sie die gewünschten Funktionen für Ihr Zertifikat ein. Aktiveren Sie dazu die Auswahlkästchen der Funktionen im Bereich "Certificate for". Mindestanforderung ist "Sign Database Key", da Sie sonst keine Benutzerdatenbank anlegen können. Optional können Sie die Funktion "Sign License Request" auswählen. • Die beiden Datumsfeldern "Issue Date" und "Expire Date" werden automatisch ausgefüllt und sollten nicht verändert werden. HINWEIS! Beachten Sie das Datum, an dem Ihr Zertifikat auslaufen wird, um rechtzeitig eine Verlängerung Ihres Zertifikates zu beantragen. (Siehe Abschnitt "OEMZertifikat verlängern [} 15]") 4. Wenn Sie alle Felder ausgefüllt haben, klicken Sie auf "Start" und wählen Sie ein Verzeichnis aus, um die Datei zu speichern. ð Ein Dialog zur Auswahl eines Passwortes für den OEM Private Key öffnet sich. 5. Vergeben Sie ein Passwort für den OEM Private Key, bestätigen Sie das Passwort durch eine wiederholte Eingabe und schließen Sie den Dialog mit "OK".

ð Die Datei wird gespeichert. 6. Ihre Anfrage für ein Beckhoff OEM-Zertifikat muss von Ihrem lokalen Beckhoff-Kontakt autorisiert werden. Schicken Sie die erzeugte Datei daher per E-Mail an Ihren lokalen Beckhoff-Kontakt und bitten ihn, diese Anfrage zu autorisieren und sie Beckhoff-intern an [email protected] weiterzuleiten. 7. Wenn Sie das Zertifikat signiert zurückerhalten haben, speichern Sie dieses auf Ihrem EngineeringSystem im Verzeichnis c:\twincat\3.1\customconfig\certificates. ð Nach dem Neustart des TwinCAT Engineering sehen Sie dieses Zertifikat in der Security-ManagementKonsole in der Registerkarte "Certificates". HINWEIS! Kontrollieren Sie, ob das Zertifikat auch als "valid" (gültig) angezeigt wird.

14

Version: 1.1

Security Management

OEM-Zertifikate

Passwort nicht vergessen!

Hinweis

3.2

Beckhoff kann ihr Passwort nicht wiederherstellen oder zurücksetzen. Wenn Sie Ihr Passwort für Ihr OEM-Zertifikat vergessen oder verlieren, können Sie das Zertifikat nicht mehr verwenden und müssen sich ein neues OEM-Zertifikat ausstellen lassen.

OEM-Zertifikat verlängern

Um ein OEM-Zertifikat zu verlängern, schicken Sie das bestehende Zertifikat vor Ablauf der Gültigkeit an [email protected] mit der Bitte, das Zertifikat neu zu signieren und so zu verlängern.

Security Management

Version: 1.1

15

Benutzerdatenbanken (User DBs)

4

Benutzerdatenbanken (User DBs)

4.1

Benutzerdatenbank anlegen

ü Die Security-Management-Konsole [} 9] ist geöffnet. 1. Wählen Sie in der Registerkarte "Certificates" Ihr OEM-Zertifikat aus. 2. Klicken Sie anschließend auf "Create New User DB".

ð Der Dialog "Create new User DB" öffnet sich.

16

Version: 1.1

Security Management

Benutzerdatenbanken (User DBs) 3. Wählen Sie den ersten Eintrag ("Database File") aus und geben Sie einen Dateinamen für die zu erstellende Datenbank ein. HINWEIS! Die Datenbank muss im Ordner c:\TwinCAT \3.1\CustomConfig\UserDBs gespeichert werden.

Security Management

Version: 1.1

17

Benutzerdatenbanken (User DBs) 4. Geben Sie einen Namen für die Datenbank ("Database Name") ein. Dieser wird im Programm zur Anzeige der ausgewählten Datenbank benutzt.

18

Version: 1.1

Security Management

Benutzerdatenbanken (User DBs) 5. Geben Sie einen "Database Unique Name“ an, der die eindeutige Identifizierung dieser Datenbank innerhalb Ihres Unternehmens ermöglicht.

6. Geben Sie einen Namen und ein Passwort für den Administrator der Datenbank an. HINWEIS! Der hier angelegte "Database Admin" wird ausschließlich zum Signieren der Datenbank verwendet. Dieser "Database Admin" kann nicht zum Einloggen oder für Änderungen in der Datenbank

Security Management

Version: 1.1

19

Benutzerdatenbanken (User DBs) genutzt werden. Um Änderungen in der Datenbank machen zu können, muss mindestens ein Benutzer der Datenbank der Administrator-Gruppe angehören.

7. Prüfen Sie, ob "Database Template" und "OEM Certificate File" (gültige) Einträge enthalten. 8. Klicken Sie auf "OK". ð Die Datenbank wird gespeichert. Ein Dialog öffnet sich mit der Aufforderung das Passwort des OEM Private Key einzugeben, mit dem die Datenbank signiert werden muss, um verwendet werden zu können. 9. Geben Sie das Passwort des OEM Private Keys an und bestätigen Sie den Dialog mit "OK".

ð Ein weiterer Dialog öffnet sich mit der Nachfrage, ob die Datenbank aktiviert werden soll. 10. Bestätigen Sie den Dialog mit "OK".

20

Version: 1.1

Security Management

Benutzerdatenbanken (User DBs) 11. Wählen Sie zuletzt in der Registerkarte "Database" der Securitiy-Management-Konsole die neu angelegte Datenbank als Arbeitsdatenbank aus und bestätigen Sie mit "OK".

ð Die Datenbank ist angelegt und aktiviert. In diesem Fenster können Sie auch eine andere Datenbank auswählen. Mit der Auswahl "none" wird das Arbeiten mit einer Benutzerdatenbank ausgeschaltet. Damit stehen die Funktionen des TwinCAT 3 Security Managements nicht mehr zu Verfügung. Eine Ausnahme bildet die Funktion "OEM Application License": • OEM Application Licenses können weiterhin signiert werden, da diese Funktion nur ein gültiges OEMZertifikat erfordert, aber keine aktive Benutzerdatenbank. • Ver- und Entschlüsselung ist nicht mehr möglich, da der Encryption Key in der Benutzerdatenbank gespeichert ist. • Mit dieser User DB verknüpfte Projekte können nicht mehr geöffnet werden.

4.2

Benutzerdatenbank mit Projekt verbinden

Ein Projekt muss initial einmal manuell mit einer Benutzerdatenbank verbunden werden. Die Verknüpfung mit der Datenbank wird dann im Projekt gespeichert. ü Eine Benutzerdatenbank ist angelegt und aktiviert. Ein TwinCAT‑Projekt ist geöffnet. 1. Klicken Sie im TwinCAT‑Projekt doppelt auf den SYSTEM-Knoten, um die Systemeinstellungen zu öffnen. 2. Öffnen Sie die Registerkarte "Settings".

Security Management

Version: 1.1

21

Benutzerdatenbanken (User DBs) 3. Aktivieren Sie im Bereich "User Database" das Auswahlkästchen "Connect with current user database".

4. Klicken Sie auf "Apply", um die Einstellung zu übernehmen. ð Das Projekt ist mit der Benutzerdatenbank verbunden. In den Eigenschaften ("Properties") einer Projektkomponente wird der Bereich "Security" sichtbar.

4.3

Distribution von Benutzerdatenbanken

Beachten Sie beim Arbeiten mit User DBs folgende Hinweise: • Die User DB muss in der aktuellen TwinCAT-3-Version immer im Verzeichnis c:\TwinCAT \3.1\CustomConfig\UserDBs gespeichert werden. • Eine User DB kann auf Dateiebene frei kopiert und eingefügt werden. • Beim Anlegen einer User DB wird ein eineindeutiger User DB Key erzeugt, der diese Datenbank eindeutig identifiziert.

22

Version: 1.1

Security Management

Benutzerdatenbanken (User DBs) • Wenn ein Projekt mit einer User DB verknüpft wird, kann es nur mit einer User DB mit dem gleichen Dateinamen und dem gleichen User DB Key geöffnet werden. • Modifikationen des Inhalts einer User DB wirken sich nicht auf den User DB Key aus (dieser wird einmalig beim Erstellen der User DB generiert). Sie können also prinzipiell mit mehreren unterschiedlichen Versionen einer User DB arbeiten. Beispiel: Die „Inhouse“-Version einer User DB beinhaltet andere Benutzerkonten als die Version, die auf dem Steuerungsrechner zum Endkunden ausgeliefert wird. Damit kann der Endkunde nur eine festgelegte Auswahl an verfügbaren Benutzerkonten sehen und Sie können die verfügbaren Zugriffsmöglichkeiten auf der ausgelieferten Maschine gegenüber der „Inhouse“-Entwicklungsumgebung stark einschränken. • Nach dem Erzeugen einer User DB wird das OEM-Zertifikat nicht mehr für das Arbeiten mit der User DB benötigt. • Änderungen der User DB müssen von einem Administrator der User DB signiert werden. Die entsprechende Abfrage kommt automatisch nach Änderungen in der User DB beim Verlassen der Security-Management-Konsole.

Security Management

Version: 1.1

23

Schutz der OEM-Anwendungssoftware

5

Schutz der OEM-Anwendungssoftware TwinCAT 3.1 Build 4022 Die beschriebenen Funktionalitäten erfordern mindestens TwinCAT 3.1 Build 4022. Hinweis

Betriebssystem mindestens Windows 7

Hinweis

5.1

Für die Nutzung des vollen Funktionsumfanges des TwinCAT 3 Security Managements ist mindestens Windows 7 (bzw. dessen Embedded-Version) erforderlich. Windows XP und Windows CE (Windows Embedded Compact) unterstützen weder die Verschlüsselung des Boot Files noch OEM-Lizenzen.

Benutzerzugriffsberechtigungen

Zugriffsrechte werden im TwinCAT 3 Engineering immer Gruppen zugewiesen und nicht einzelnen Benutzern. Benutzer wiederum können einer oder mehreren Gruppen zugewiesen werden und erben deren Zugriffsrechte. Neue Gruppen können ebenfalls Mitglied einer bestehenden Gruppe sein und deren Rechte erben.

Um die Zuweisung von Zugriffsrechten aller Gruppen für ein bestimmtes Objekt im TwinCAT 3 Engineering zu vereinfachen, werden diese in sogenannten „Object Protection Leveln“ organisiert. Ein Object Protection Level bildet eine Matrix aus den vorhandenen Gruppen und den jeweils verfügbaren Rechten für ein TwinCAT‑3‑Objekt. Für jede einzelne Gruppe definieren Sie, was die Gruppe für Rechte in diesem spezifischen Object Protection Level besitzt. Das Object Protection Level weisen Sie schließlich einem Objekt im TwinCAT 3 Engineering zu. Damit können Sie einem Objekt im TwinCAT 3 Engineering komfortabel eine Sammlung von gruppenspezifischen Rechten zuweisen und müssen nicht jedes Objekt für jede Gruppe einzeln definieren. Die verfügbaren Rechte sind „View“, „Delete“, „Modify“ und „Add / Remove Children“.

24

Version: 1.1

Security Management

Schutz der OEM-Anwendungssoftware

5.1.1

Benutzer und Benutzergruppen anlegen und editieren

Anlegen und Editieren von Benutzern In der Registerkarte "Users" der Security-Management-Konsole können Sie die Einstellungen für existierende Benutzer ändern und neue Benutzer anlegen.

Mindestens einen Benutzer mit Administrator-Rechten

Hinweis

Um Änderungen in der Datenbank machen zu können, muss mindestens ein Benutzer der Datenbank der Administrator-Gruppe angehören. Legen Sie daher immer einen Benutzer mit Administratorrechten an. Der beim Anlegen der User DB definierte „Database Admin“ wird ausschließlich zum Signieren der Datenbank verwendet. Dieser Account kann nicht zum Einloggen oder für Änderungen in der Datenbank genutzt werden.

ü Die Security-Management-Konsole [} 9] ist geöffnet. 1. Wählen Sie die Registerkarte "Users" aus.

2. Klicken Sie auf "Add", um einen neuen Benutzer hinzuzufügen. ð Der Dialog "Edit User Credentials" öffnet sich. 3. Geben Sie dem Benutzer einen Namen ("Name") und weisen Sie ihn einer Benutzergruppe zu, indem Sie das entsprechende Auswahlkästchen aktivieren ("Groups"). 4. Bei einem Windows-Account kann die Authentifizierung automatisch über Windows erfolgen. Bei allen anderen Benutzern müssen Sie ein Passwort für diesen Benutzer festlegen. Klicken Sie dazu auf "Change Password". ð Ein Dialog zum Festlegen eines Passworts öffnet sich.

Security Management

Version: 1.1

25

Schutz der OEM-Anwendungssoftware 5. Vergeben Sie ein Passwort für den Benutzer, bestätigen Sie das Passwort durch eine wiederholte Eingabe. 6. Schließen Sie den Dialog mit "OK".

ð Der neue Benutzer erscheint in der Übersicht. 7. Wenn Sie einen Eintrag bearbeiten möchten, markieren Sie den Benutzer in der Übersicht und klicken Sie auf "Edit". 8. Schließen Sie den Dialog "Edit User Credentials" mit "OK". ð Ein neuer Benutzer ist im System angelegt. Erst mit dem Speichern und Signieren der Benutzerdatenbank werden alle gemachten Änderungen final übernommen und sind gültig. Anlegen und Editieren von Benutzergruppen In der Registerkarte "Groups" der Security-Management-Konsole können Sie die Einstellungen für existierende Benutzergruppen ändern und neue Benutzergruppen anlegen. ü Die Security-Management-Konsole [} 9] ist geöffnet.

26

Version: 1.1

Security Management

Schutz der OEM-Anwendungssoftware 1. Wählen Sie die Registerkarte "Groups" aus.

2. Klicken Sie auf "Add", um eine neue Gruppe anzulegen. ð Der Dialog "Edit User Group" öffnet sich. 3. Geben Sie der Gruppe einen Namen ("Name"). 4. Wenn die Gruppe die Rechte einer anderen Gruppe erben soll, wählen Sie die entsprechende Gruppe im Bereich "Groups" aus. 5. Schließen Sie den Dialog mit "OK". ð Die neue Gruppe erscheint in der Übersicht. 6. Wenn Sie einen Eintrag bearbeiten möchten, markieren Sie die Benutzergruppe in der Übersicht und klicken Sie auf "Edit". 7. Schließen Sie den Dialog "Edit User Group" mit "OK". ð Eine neue Benutzergruppe ist im System angelegt. Erst mit dem Speichern und Signieren der Benutzerdatenbank werden alle gemachten Änderungen final übernommen und sind gültig. In der Registerkarte "Rights [} 27]" können Sie Benutzergruppen Rechte zuweisen. Weitere Informationen finden Sie im Abschnitt "Rechte von Benutzergruppen anpassen [} 27]".

5.1.2

Rechte von Benutzergruppen anpassen Mindestens TwinCAT 3.1 Build 4022 Die im nachfolgenden beschriebene Funktionalität erfordert mindestens TwinCAT 3.1 Build 4022.

Hinweis Security Management

Version: 1.1

27

Schutz der OEM-Anwendungssoftware In der Registerkarte "Rights" der Security-Management-Konsole verwalten Sie die den Benutzergruppen zugewiesenen Rechte. ü Die Security-Management-Konsole [} 9] ist geöffnet. 1. Wählen Sie die Registerkarte "Rights" aus. 2. Markieren Sie in der Spalte "UserGroups" die Zeile mit dem gewünschten Recht und klicken Sie auf die Schaltfläche "Grant".

ð Der Dialog "Grant Right to User Groups" öffnet sich.

28

Version: 1.1

Security Management

Schutz der OEM-Anwendungssoftware 3. Wählen Sie über die Auswahlkästchen aus, welche Benutzergruppen dieses Recht haben sollen.

4. Klicken Sie auf "OK". ð Die Änderungen werden (temporär) übernommen. Erst mit dem Speichern und Signieren der Benutzerdatenbank werden alle gemachten Änderungen final übernommen und sind gültig.

5.1.3

Zugriffsberechtigungsgruppen (Object Protection Level) anlegen und editieren

ü Die Security-Management-Konsole [} 9] ist geöffnet. 1. Wählen Sie die Registerkarte "Object Protection" aus. 2. Klicken Sie auf "Add". ð Der Dialog "Edit Object Protection Level" öffnet sich.

Security Management

Version: 1.1

29

Schutz der OEM-Anwendungssoftware 3. Ordnen Sie allen im Security Management definierten Gruppen die Benutzerrechte für diesen spezifischen Object Protection Level einzeln zu, indem Sie die jeweiligen Auswahlkästchen aktivieren. Im folgenden Beispiel ist die Definition des Object Protection Levels "Public" dargestellt:

• Die Benutzergruppe "Guest" kann ein mit diesem Object Protection Level versehenes TwinCAT‑Objekt lesen, aber nicht verändern. • Die Benutzergruppe "Service" kann ein mit diesem Object Protection Level versehenes TwinCAT‑Objekt lesen und verändern, aber nicht löschen.

30

Version: 1.1

Security Management

Schutz der OEM-Anwendungssoftware • Die Benutzergruppe "Developers" hat vollen Zugriff. Im folgenden Beispiel darf nur die Benutzergruppe "Developers" auf das TwinCAT‑Objekt zugreifen. Die restlichen Benutzergruppen haben keinerlei Rechte.

4. Bestätigen Sie den Dialog mit "OK". ð Der Object Protection Level mit den Benutzerrechten ist im System angelegt und wird in der Übersicht der Registerkarte "Objekt Protection" in der Security-Management-Konsole angezeigt. 5. Vergeben Sie dementsprechend für weitere Benutzergruppen die gewünschten Benutzerrechte in einem Object Protection Level. 6. Um einen Object Protection Level zu editieren, markieren Sie die gewünschte Spalte und klicken Sie auf "Edit".

7. Um ein Object Protection Level zu entfernen, klicken Sie auf "Remove". 8. Um die Position des ausgewählten Object Protection Level in der Übersicht zu verändern, klicken Sie auf "Move up" bzw. "Move down". Erst mit dem Speichern und Signieren der Benutzerdatenbank werden alle gemachten Änderungen final übernommen und sind gültig.

Security Management

Version: 1.1

31

Schutz der OEM-Anwendungssoftware

5.1.4

Zugriffsberechtigungen im Projekt zuweisen

Die erstellten Object Protection Level [} 29] können Sie einfach und komfortabel TwinCAT‑Objekten zuweisen, z. B. einem SPS-Projekt. ü Die Zugriffsberechtigungsgruppen sind definiert. ü Das Projekt ist mit einer Benutzerdatenbank verbunden. 1. Markieren Sie das SPS-Objekt im SPS-Projektbaum im Projektmappen-Explorer. ð Die Ansicht "Properties" aktualisiert sich. (Wenn die Ansicht "Porperties" nicht geöffnet ist, wählen Sie den Befehl "Properties Window" im Menü "View", um diese zu öffnen.) 2. Wählen Sie aus der Dropdown-Liste der Eigenschaft "ObjectProtection" in der Kategorie "Security" das gewünschte Object Protection Level aus.

3. Setzen Sie zusätzlich den Wert der Eigenschaft "Encryption" über die Dropdown-Liste auf "TRUE". HINWEIS! Diese Einstellung ist wichtig, um den Zugriff auf den Source Code z. B. über die Betriebssystemebene zu verhindern.

32

Version: 1.1

Security Management

Schutz der OEM-Anwendungssoftware ð Auf das SPS-Projekt können nun die Benutzergruppen zugreifen, die im Object Protection Level festgelegt worden sind. Mit dem Speichern des SPS-Projektes werden die Einstellungen übernommen. Im Beispiel Object Protection Level "Public":

• Die Benutzergruppe "Guests" kann lesend auf das SPS-Projekt zugreifen. • Die Benutzergruppe "Developers" hat vollen Zugriff. (Für die restlichen Benutzergruppen sind hier keine Zugriffsrechte definiert worden, da sie im Beispielprojekt nicht genutzt werden.) Die in der Wurzel des SPS-Projektes festgelegten Zugriffsrechte werden im SPS-Projektbaum automatisch an alle Unterelemente des SPS-Objektes weitervererbt, wenn diese die Eigenschaften "Object Protection Level" und "Encryption" haben. Für jedes Unterelement kann aber auch eine eigene, individuelle Zuweisung des "Object Protection Levels" und der Verschlüsselung erfolgen. Dies stellen Sie in den Eigenschaften des Unterelements ein.

Auch hier müssen Sie zusätzlich die Eigenschaft "Encryption" für das Objekt einstellen, um den Zugriff auf den Source Code z. B. über die Betriebssystemebene zu verhindern.

Security Management

Version: 1.1

33

Schutz der OEM-Anwendungssoftware

5.1.5

Einloggen / Auswahl eines Benutzerkontos

Ein Benutzerkonto können Sie einfach und komfortable über das Auswahlfeld in der der SecurityManagement-Symbolleiste auswählen. ü Sie haben die Security-Management-Symbolleiste [} 9] geöffnet. 1. Wählen Sie aus der Dropdown-Liste das Benutzerkonto aus.

2. Wenn das Einloggen des Benutzers ein Passwort erfordert, öffnet sich ein Dialog zur Eingabe des Passworts. Geben Sie das Passwort ein. Wenn die Authentifizierung über den Windows User Account erfolgt, wird kein Passwort abgefragt, da die Authentifizierung bereits über das Einloggen bei Windows erfolgt ist.

ð Das ausgewählte Benutzerkonto wird in der Security-Management-Symbolleiste angezeigt.

Abhängig von den Rechten des Benutzerkontos können auch bestimmte TwinCAT‑Menüpunkte ausgegraut und damit deaktiviert sein.

5.2

Verschlüsselung TwinCAT 3.1 Build 4022 Die beschriebenen Funktionalitäten erfordern mindestens TwinCAT 3.1 Build 4022.

Hinweis

34

Version: 1.1

Security Management

Schutz der OEM-Anwendungssoftware

Betriebssystem mindestens Windows 7

Hinweis

Für die Nutzung des vollen Funktionsumfanges des TwinCAT 3 Security Managements ist mindestens Windows 7 (bzw. dessen Embedded-Version) erforderlich. Windows XP und Windows CE (Windows Embedded Compact) unterstützen weder die Verschlüsselung des Boot Files noch OEM-Lizenzen.

TwinCAT 3 verwendet eine 256-Bit-AES-Verschlüsselung mit Private und Public Key. Folgende Objekte können Sie in TwinCAT verschlüsseln: • Source Code [} 35] • Custom Libraries [} 35] • Project File [} 36] • Boot Project [} 37] • Boot File [} 38] Der für die Verschlüsselung verwendete Schlüssel ist in der Benutzerdatenbank gesichert. Die zugehörige Benutzerdatenbank muss daher immer auf dem Engineering-Rechner vorhanden sein. (Verzeichnis: c: \Twincat\3.1\CustomConfig\userDBs)

5.2.1

Source Code verschlüsseln

Der Zugriff auf verschlüsselte Objekte wird über den Object Protection Level festgelegt. Daher müssen Sie neben der Verschlüsselung immer den gewünschte Object Protection Level für das TwinCAT‑3‑Objekt einstellen. Object Protection Level und Verschlüsselung können Sie einfach und komfortabel in den Eigenschaften (Properties) des jeweiligen TwinCAT‑Objektes zuweisen, z. B. einem SPS-Projekt. Das Projekt muss dazu mit der Benutzerdatenbank verbunden sein. Im Abschnitt "Zugriffsberechtigungen im Projekt zuweisen [} 32]" wird die Verschlüsselung und die Festlegung von Object Protection Leveln beschrieben. Mit dem Speichern des Projektes werden die gemachten Einstellungen übernommen.

5.2.2

Custom Libraries verschlüsseln

Anwender können den eigenen Source Code auch in Form von sogenannten Custom Libraries organisieren. Die Komponenten dieser Custom Libraries können mit den gleichen Mechanismen verschlüsselt und mit Zugriffsberechtigungen versehen werden, wie der übrige Anwender-Source-Code. Security Management

Version: 1.1

35

Schutz der OEM-Anwendungssoftware Wenn das aktuelle Projekt mit einer Benutzerdatenbank verknüpft ist, können Sie beim Speichern der Custom Library auswählen, wie diese gespeichert werden soll. Wählen Sie für non-compiled Libraries (=Libraries im Source Code) den Dateityp "Encrypted Library files".

Siehe auch Benutzerdatenbank mit Projekt verbinden [} 21]

5.2.3

Project File verschlüsseln

Die Verschlüsselung des Project Files stellen Sie über den TwinCAT‑Projektknoten ein. ü Das Projekt ist mit einer Benutzerdatenbank verbunden. 1. Markieren Sie den TwinCAT‑Projektknoten im Projektbaum im Projektmappen-Explorer. 2. Wählen Sie im Kontextmenü den Befehl "Encrypt Project File".

36

Version: 1.1

Security Management

Schutz der OEM-Anwendungssoftware ð In der Ansicht "Properties" wird der Wert der Eigenschaft "EncryptFile" in der Kategorie "Security" auf TRUE gesetzt.

ð Das Project File ist verschlüsselt. Es beinhaltet Informationen zu den Komponenten der Lösung. Mit dem Einstellen der Verschlüsselung wird nur das Project File selbst verschlüsselt. Die Verschlüsselung wird nicht auf die im Projekt enthaltenen Komponenten vererbt. Die Verschlüsselung muss bei allen (Haupt-) Komponenten des Projektes einzeln eingestellt werden.

5.2.4

Boot-Projekt verschlüsseln Betriebssystem mindestens Windows 7

Hinweis

Für die Nutzung des vollen Funktionsumfanges des TwinCAT 3 Security Managements ist mindestens Windows 7 (bzw. dessen Embedded-Version) erforderlich. Windows XP und Windows CE (Windows Embedded Compact) unterstützen weder die Verschlüsselung des Boot Files noch OEM-Lizenzen.

Die Verschlüsselung des Boot-Projektes (auf dem Target-System) stellen Sie im Wurzelknoten des SPSProjektes ein. ü Das Projekt ist mit einer Benutzerdatenbank verbunden. 1. Klicken Sie doppelt auf das SPS-Projektobjekt im SPS-Projektbaum im Projektmappen-Explorer. ð Die SPS-Projekteinstellungen werden in einem Editor geöffnet. 2. Wählen Sie in der Registerkarte "Project" in der Dropdown-Liste der Einstellung "Encryption" den Eintrag "Encrypt boot project" aus.

ð Das Boot-Projekt ist verschlüsselt. Security Management

Version: 1.1

37

Schutz der OEM-Anwendungssoftware

5.2.5

Boot File verschlüsseln Betriebssystem mindestens Windows 7

Hinweis

Für die Nutzung des vollen Funktionsumfanges des TwinCAT 3 Security Managements ist mindestens Windows 7 (bzw. dessen Embedded-Version) erforderlich. Windows XP und Windows CE (Windows Embedded Compact) unterstützen weder die Verschlüsselung des Boot Files noch OEM-Lizenzen.

Die Verschlüsselung des Boot Files auf dem Zielsystem stellen Sie im SYSTEM-Knoten des TwinCAT‑Projektes ein. ü Das Projekt ist mit einer Benutzerdatenbank verbunden. 1. Klicken Sie doppelt auf das SYSTEM-Objekt im TwinCAT‑Projektbaum im Projektmappen-Explorer. ð Die SYSTEM-Einstellungen werden in einem Editor geöffnet. 2. Wählen Sie in der Registerkarte "Settings" in der Dropdown-Liste der Einstellung "Encryption Key" den Eintrag "User DB Key" aus.

ð Das Boot File ist verschlüsselt.

5.2.6

Anzeige des Objektschutzstatus

Den Status eines TwinCAT‑Objektes erkennen Sie am Disketten-Symbol im Icon des Objektes im Projektbaum.

38

Version: 1.1

Security Management

Schutz der OEM-Anwendungssoftware

Zur Anzeige des Schutzstatus eines TwinCAT‑Objektes wird die normale Statusanzeige eines TwinCAT‑Objektes erweitert. In der nachfolgenden Tabelle sind die Symbole und ihre Bedeutungen aufgelistet. Symbole des TwinCAT-Objektstatus Symbol

Bedeutung Keine Änderungen

Änderungen, nicht gespeichert

Signiert

Verschlüsselt

Regeln: 1. Türkis überschreibt Blau 2. Rot überschreibt alle anderen Farben

5.3

Dateien signieren (Schutz gegen unautorisierte Änderungen)

Durch das Signieren von Komponenten (Dateien) des Projektes stellen Sie sicher, dass einzelne Projektkomponenten nicht unautorisiert ausgetauscht werden können. Wenn das Projekt mit einer Benutzerdatenbank verbunden ist, können Sie die Signierung in den Eigenschaften der jeweiligen Projektkomponente einstellen. Markieren Sie die Projektkomponente im Solution Explorer und setzen Sie in der Ansicht "Properties" den Wert der Eigenschaft "Signed" auf TRUE.

Security Management

Version: 1.1

39

Schutz der OEM-Anwendungssoftware

HINWEIS! Signieren Sie auch die Projektdatei selbst, da dort die Information gespeichert ist, welche darunter liegenden Komponenten signiert sein müssen!

5.4

OEM-Applikationslizenzen Beckhoff IPC/EPC Die beschriebenen Funktionalitäten zu OEM-Applikationslizenzen erfordern einen Beckhoff IPC. IPCs mit einem Plattform-Level 90 (oder höher) werden nicht unterstützt.

Hinweis

Keine TwinCAT-3-Dongle-Unterstützung

Hinweis

Zurzeit können TwinCAT‑3‑Dongles noch nicht für OEM-Applikationslizenzen genutzt werden. (Dieses Feature ist noch in der Entwicklung.)

Betriebssystem mindestens Windows 7

Hinweis

Für die Nutzung des vollen Funktionsumfanges des TwinCAT 3 Security Managements ist mindestens Windows 7 (bzw. dessen Embedded-Version) erforderlich. Windows XP und Windows CE (Windows Embedded Compact) unterstützen weder die Verschlüsselung des Boot Files noch OEM-Lizenzen.

TwinCAT 3.1 Build 4022 Die beschriebenen Funktionalitäten erfordern mindestens TwinCAT 3.1 Build 4022. Hinweis Die TwinCAT‑3‑Lizenztechnologie steht nun auch OEMs zur Verfügung, um die jeweilige OEM-Applikation durch Binden an eine Hardware (Beckhoff IPC oder TwinCAT Dongle) vor Klonen zu schützen. Mit der gleichen Technik kann ein OEM auch sogenannte „Feature-Lizenzen“ erteilen, also Zusatzfunktionalitäten seines Programmes mit der TwinCAT‑3‑Lizenztechnologie schützen und seinen Endkunden lizenzieren. Für die Erstellung und Nutzung von TwinCAT-3-OEM-Applikationslizenzen ist lediglich ein TwinCAT-3-OEM-Zertifikat erforderlich, keine User DB. Die Nutzung von TwinCAT-3-OEM-Applikationslizenzen erfordert auf dem Steuerungsrechner lediglich die Standard TwinCAT‑3‑Runtime (min. Build 4020.32). Das Betriebssystem des Steuerungsrechners muss mindestens Windows 7 sein.

40

Version: 1.1

Security Management

Schutz der OEM-Anwendungssoftware Lizenzierungsprozess Der Lizenzierungsprozess unterteilt sich in folgende Schritte: 1. Erstellen einer generellen Lizenzbeschreibungsdatei. Die Lizenzierungsbeschreibungsdatei dient zum Beschreiben und Auswählen eines spezifischen Lizenztyps im Laufe des Lizenzierungsprozesses. Sie enthält u.a. eine eindeutige License ID, die zur eindeutigen Identifikation dieses Lizenztyps dient. 2. Erstellen eines License Request Files für das gewünschte Zielsystem. 3. Signieren des License Request Files mit dem OEM-Zertifikat und damit Erzeugen eines License Response Files für das angegebene Zielsystem. Diese aktiviert dann auf dem jeweiligen Zielsystem die zugehörige OEM-Applikationslizenz.

Die Details des Lizenzierungsprozesses werden auf den folgenden Seiten beschrieben.

5.4.1

OEM-Applikationslizenzen erstellen

Die folgende Grafik soll einen generellen Überblick über den Lizenzierungsprozess vermitteln:

Der linke Teil der Grafik (hellgrauer Kasten) stellt weitgehend die Erstellung eines License Request Files für eine TwinCAT‑3‑Lizenz, bzw. deren Prüfung in der TwinCAT‑3‑Runtime dar. Der rechte Teil der Grafik (dunkelgrauer Kasten) zeigt die Prozesse der Lizenzvergabe, die vom Beckhoff Lizenzserver übernommen werden. Bei einer OEM-Applikationslizenz erfolgt dieser Teil, also die Ausstellung einer Lizenz, jedoch durch den OEM über eine Signierung mit dem OEM Private Key. Der Beckhoff Lizenzserver ist also nicht in den Prozess des Erstellens einer OEM-Applikationslizenz eingebunden.

Security Management

Version: 1.1

41

Schutz der OEM-Anwendungssoftware

OEM-Zertifikate nur in sicherer Umgebung verwenden

Hinweis

Da für das Ausstellen einer OEM-Applikationslizenz mit dem OEM-Zertifikat und dessen Passwort hantiert werden muss, führen Sie den Vorgang nur in einer gegenüber Schadsoftware abgeschotteten Umgebung (= gesicherter PC) durch, um z. B. das Abgreifen des Passwortes für den OEM Private Key durch Schadsoftware zu verhindern.

Wenn Steuerungsrechner und Engineering-Rechner separate Geräte sind, sieht der Prozessfluss wie folgt aus:

Die einzelnen Schritte werden in den Unterkapiteln beschrieben.

5.4.1.1

Vorbereitung des TwinCAT 3 Engineering

Das TwinCAT Engineering ist standardmäßig nicht für die Erstellung von OEM-Lizenzen vorkonfiguriert. 1. Erstellen Sie vorab folgende Verzeichnisse: • c:\TwinCAT\3.1\CustomConfig\Licenses • c:\TwinCAT\3.1\Components\Base\License 2. Kopieren Sie in das Verzeichnis c:\TwinCAT\3.1\Components\Base\License das Tool „CreateLicense.exe*“. Dieses Tool können Sie über den Email-Alias [email protected] anfragen.

5.4.1.2

Lizenzbeschreibungsdatei für eine OEM-Applikationslizenz erstellen

Die Parameter des Typs einer TwinCAT‑3‑Lizenz werden in einer Lizenzbeschreibungsdatei im XML-Format mit der Extension „.tmc“ festgelegt. Eine Lizenzbeschreibungsdatei beinhaltet: • eine eineindeutige „License ID“, die den Lizenztyp sicher identifizierbar macht • die eineindeutige OEM-ID (aus dem OEM-Zertifikat) • den OEM-Namen • den Namen des Lizenztyps • die Bestellnummer 42

Version: 1.1

Security Management

Schutz der OEM-Anwendungssoftware • optional eine Email-Adresse für die Zusendung des License Request Files per Email

Über die OEM-ID kann die Lizenz einem spezifischen OEM zugeordnet werden. Nur dieser OEM (mit dieser OEM-ID in seinem OEM-Zertifikat) kann die Lizenz mit seinem OEM-Zertifikat signieren und damit gültig machen. Eine OEM-Lizenzbeschreibungsdatei können Sie mit einem geeigneten Editor öffnen und verändern, wenn die XML-Struktur dabei nicht beschädigt wird. Neue OEM-Lizenzbeschreibungsdatei angelegen ü Die Security-Management-Konsole [} 9] ist geöffnet. 1. Wählen Sie in der Registerkarte "Certificates" das OEM-Zertifikat aus, auf dessen Basis die OEM‑Lizenzbeschreibungsdatei erstellt werden soll. 2. Klicken Sie auf "Create Template License TMC File". ð Der Dialog "Create Licenses TMC File" öffnet sich. 3. Geben Sie die Parameter für die OEM‑Lizenzbeschreibungsdatei ein: • Speichern Sie die Lizenzbeschreibungsdatei im Ordner C:\TwinCAT\3.1\CustomConfig\Licenses, und starten Sie das TwinCAT Engineering neu. HINWEIS! Erst dann wird die Lizenzbeschreibungsdatei von TwinCAT 3 erkannt. • Geben Sie einen Lizenznamen und eine Lizenzbestellnummer ein.

Security Management

Version: 1.1

43

Schutz der OEM-Anwendungssoftware

4. Starten Sie das TwinCAT 3 Engineering neu, damit der neue Lizenztyp erkannt wird. ð Die Lizenzbeschreibungsdatei ist erstellt.

44

Version: 1.1

Security Management

Schutz der OEM-Anwendungssoftware

5.4.1.3

License Request Files für eine OEM-Applikationslizenz erstellen

1. Klicken Sie doppelt auf den SYSTEM-Unterknoten "License" im TwinCAT‑Projektbaum, um den TwinCAT 3 Lizenzmanager zu öffnen.

ð Die Lizenzeinstellungen öffnen sich in einem Editor. 2. Öffnen Sie die Registerkarte "Manage Licenses" und bewegen Sie die Laufleiste des Listenfelds nach unten. ð Am Ende der Liste finden Sie die neu erstellte OEM-Lizenz.

3. Aktivieren Sie das Auswahlkästchen der Lizenz. 4. Öffnen Sie die Registerkarte "Order Information".

5. Optional können Sie bei "System ID" auch einen TwinCAT‑3‑Lizenz-Dongle als Lizenz-Hardware auswählen (gestrichelte Linie). 6. Stellen Sie als "Provider" den jeweiligen OEM ein. HINWEIS! Sie dürfen nicht den Eintrag "Beckhoff" auswählen, dieser gilt nur für TwinCAT‑3‑Lizenzen von Beckhoff. Security Management

Version: 1.1

45

Schutz der OEM-Anwendungssoftware ð In der Liste im unteren Bereich des Fensters muss die ausgewählte OEM-Lizenz aufgelistet und aktiv (= nicht ausgegraut) sein. Wenn die Lizenz ausgegraut ist, ist nicht der korrekte "Provider" ausgewählt. Nur die als "aktiv" gekennzeichneten Lizenzen werden in das License Request File übernommen. 7. Klicken Sie auf "Generate File", um das License Request File (Endung: *.tclrq) zu erzeugen. ð Der Standarddialog zum Speichern einer Datei öffnet sich. 8. Wählen Sie einen Speicherort aus und bestätigen Sie den Dialog. 9. Wenn der OEM eine Email-Adresse angegeben hat und auf dem Engineering-Rechner ein Email-Client installiert ist, erfolgt eine Abfrage, ob das License Request File gleich per Email an die vom OEM eingegebene Email-Adresse gesendet werden soll.

10. Wenn der OEM keine Email-Adresse angegeben hat, kann das License Request File nicht per Email versendet werden und es muss anderweitig auf den Rechner transferiert werden, auf dem die Signierung des License Request Files mit dem OEM-Zertifikat (und somit das Ausstellen der OEMLizenz) erfolgen soll. ð Das Licence Request File für eine OEM-Applikationslizenz ist erstellt.

5.4.1.4

License Response Files für eine OEM-Applikationslizenz erstellen OEM-Zertifikate nur in sicherer Umgebung verwenden

Hinweis

Da für das Ausstellen einer OEM-Applikationslizenz mit dem OEM-Zertifikat und dessen Passwort hantiert werden muss, führen Sie den Vorgang nur in einer gegenüber Schadsoftware abgeschotteten Umgebung (= gesicherter PC) durch, um z. B. das Abgreifen des Passwortes für den OEM Private Key durch Schadsoftware zu verhindern.

Das Signieren eines License Request Files, und damit das Erstellen eines License Response Files, nehmen Sie im TwinCAT Engineering in der Security-Management-Konsole [} 9] vor.

46

Version: 1.1

Security Management

Schutz der OEM-Anwendungssoftware 1. Wählen Sie in der Registerkarte "Certificates" das OEM-Zertifikat aus.

2. Klicken Sie auf "Sign License Request File". ð Ein Explorer-Fenster öffnet sich. 3. Wählen Sie das zu signierende License Request File (Endung: *.tclrq) aus. ð Ein Dialog öffnet sich, in dem das Passwort abgefragt wird.

4. Geben Sie das Passwort ein und klicken Sie auf "OK". ð Die Signierung des License Request Files wird durchgeführt und das Ergebnis als License Response File (Endung: *.tclrs) gespeichert. Das License Response File muss nun wieder auf den Engineering-PC oder den Steuerungsrechner transferiert werden.

5.4.1.5

License Response Files für eine OEM-Applikationslizenz importieren

Die Aktivierung der OEM-Applikationslizenz erfolgt genauso wie bei einer TwinCAT‑3‑Standardlizenz. Der einfachste Weg, ein TwinCAT 3 Licence Response File in TwinCAT 3 zu aktivieren, ist der Import über den TwinCAT 3 Lizenzmanager. Weitere Informationen finden Sie in der Dokumentation "Lizenzierung" im Abschnitt "License Response Files importieren". Security Management

Version: 1.1

47

Schutz der OEM-Anwendungssoftware

5.4.2

OEM-Applikationslizenz in einer SPS-Applikation abfragen

TwinCAT 3 prüft beim Start der TwinCAT‑3‑Runtime automatisch, welche gültigen Lizenzen gefunden werden. Das Ergebnis können Sie mit dem Funktionsbaustein „FB_GetLicenses“ abrufen.

Ein Rückgabeparameter von „FB_GetLicenses“ ist ein Array mit den License IDs aller gefundenen gültigen TwinCAT‑3‑Lizenzen. Dieses Array können Sie nach der License ID der gewünschten Lizenz durchsucht werden. Die License ID der OEM-Lizenz können Sie der zugehörigen Lizenzbeschreibungsdatei oder dem Lizenzmanager entnehmen. Lizenzbeschreibungsdatei:

Registerkarte "Manage Licenses" des Lizenzmanagers:

48

Version: 1.1

Security Management

Schutz der OEM-Anwendungssoftware

Der OEM kann in seiner SPS-Applikation festlegen, wie auf das Vorhandensein bzw. Fehlen der OEMApplikationslizenz reagiert werden soll. Möglich sind ein Programmabbruch oder auch das Freischalten eines Zusatzfeatures.

TwinCAT-3-Dongle-Unterstützung Wenn sich die OEM-Lizenz auf einen TwinCAT‑3‑Dongle beziehen soll, ist mindestens TwinCAT 3 Build 4020.28 erforderlich. Hinweis

5.4.3

Eine Custom Library an eine OEM-Applikationslizenz binden

Für den Nutzungsschutz einer Custom Library, also das Binden einer OEM Library an eine OEM-Lizenz, bietet sich eine zweite Methode an, die Abfrage einer OEM-Lizenz zu realisieren. Diese hat den Vorteil, dass sich TwinCAT komplett um die Validierung kümmert. Das bedeutet, dass die Applikation von der TwinCAT‑3‑Runtime erst gar nicht gestartet wird, wenn keine gültige OEM-Lizenz für diese Custom Library gefunden wird. HINWEIS! Diese Methode eignet sich nicht für die sogenannten OEM-Feature-Lizenzen, also die Freigabe bestimmter Programm-Features durch eine OEM-Lizenz. Das Verhalten der TwinCAT‑3‑Runtime entspricht dem bei TwinCAT‑3‑Lizenzen, wenn eine erforderliche TwinCAT-3-Lizenz nicht vorhanden ist. Der TwinCAT‑3‑Runtime muss bekannt gemacht werden, welche Lizenz für die spezifizierte Custom Library erforderlich ist. Wählen Sie dazu im Kontextmenü des Wurzelknotens der Library den Befehl "Properties", um die LibraryProjekteigenschaften zu öffnen.

Security Management

Version: 1.1

49

Schutz der OEM-Anwendungssoftware

Aktivieren Sie die Kategorie "Licenses" und tragen Sie in der Tabelle die gewünschten Lizenzdaten ein.

• Den "License Key" finden Sie in der Detailbeschreibung der OEM-Lizenz. Um die Detailbeschreibung zu öffnen, klicken Sie im TwinCAT-Projektbaum doppelt auf den SYSTEM-Unterknoten "License". Wählen Sie die Registerkarte "Manage Licenses". Hier werden alle dem System bekannten

50

Version: 1.1

Security Management

Schutz der OEM-Anwendungssoftware Lizenztypen gelistet. OEM-Lizenzen werden am Ende der Liste aufgeführt. Mit einem Doppelklick auf den Eintrag einer Lizenz in dieser Liste öffnet sich ein Fenster mit den Details zu dieser Lizenz:

• Die "Provider ID" steht im OEM-Zertifikat. Diese finden Sie z. B. in der Security‑Management‑Konsole in der Registerkarte "Certificates". Wenn das Auswahlkästchen "Extended Info" aktiviert ist, dann werden in der Übersicht weitere Datenfelder angezeigt, u. a. die Provider (OEM) ID:

Security Management

Version: 1.1

51

Schutz der OEM-Anwendungssoftware Automatische Erzeugung und Nutzung von Trial-Lizenzen Wie auch bei einer TwinCAT-3-Standardlizenz kann mit dieser Methode der Abfrage einer OEM-Lizenz wahlweise automatisch eine Trial-Lizenz (für 7 Tage Dauer) erzeugt und genutzt werden. Wenn dies nicht gewünscht ist, aktivieren Sie bei der Konfiguration der Lizenzabhängigkeit das Auswahlkästchen "NoTrialLicense". Eine Trial-Lizenz wird dann weiterhin durch das TwinCAT 3 Engineering erzeugt, aber von der TwinCAT‑3‑Runtime abgelehnt. Speichern Sie das Projekt, um die Änderungen zu übernehmen.

52

Version: 1.1

Security Management

Suggest Documents