To top
Resources Resources
[Translate to German:]

Kategorien: Software-Schutz

Universal Firm Code

Die neu eingeführten Universal Firm Codes sind die Basis für eine sichere Weitergabe von Lizenzen ohne Zutun des Softwareherstellers. Die Lizenzerstellung für Universal Firm Codes erfolgt mit Zertifikaten und geht damit andere Wege als bisher. Damit ergibt sich die Möglichkeit, Lizenzen nachfolgend sicher zwischen CmDongles und CmActLicenses, und in Zukunft auch in die CmCloud, zu übertragen.

Für Transfer notwendig

Der Grund für die Einführung des Universal Firm Codes war der Wunsch vieler Softwarehersteller, Lizenzen einfacher verschieben oder ausleihen zu können. Bislang war für die dauerhafte Übertragung einer Lizenz der Kontakt zwischen Anwender und Softwarehersteller zwingend notwendig. Für das temporäre Ausleihen gibt es eine Lösung, die ohne direkten Kontakt auskommt; allerdings sind hier Vorbereitungen auf allen Seiten erforderlich, die bei einer Lizenzänderung überall erneut vorgenommen werden müssen. Das alles ist unkomfortabel und verursacht viel Implementierungs- und Supportaufwand. 

Bevor wir uns im nächsten Artikel „Verleihen und Verschieben von Lizenzen“ die neuen Lösungen für den Transfer von Lizenzen anschauen, wollen wir zunächst einen Blick auf die Funktionalität und die Unterschiede zu den bisherigen Firm Codes anschauen.

Ein Firm Item pro Hersteller

Ein Firm Item ist die oberste Eintragsebene innerhalb eines CmContainers, also eines CmDongles (Hardware) oder einer CmActLicense (softwarebasierte Lizenzierung). Das Firm Item ist einem bestimmten Softwarehersteller zugeordnet; nur er hat das Recht, Veränderungen auf den darunterliegenden Ebenen vorzunehmen. Die Zuordnung wird durch den Firm Code hergestellt, den Wibu-Systems jedem Softwarehersteller zuteilt.

Bisher gab es die Firm Codes ab 100.000 für die hardwarebasierte Aktivierung und die Firm Codes ab 5.000.000 für die softwarebasierte Aktivierung. Die neuen Universal Firm Codes liegen im Bereich ab 6.000.000. Diese können nun sowohl in CmDongles als auch in CmActLicenses programmiert werden. Sobald CmCloud verfügbar ist, sind diese Lizenzen auch dort verwendbar.

Sicherheit weiterhin gegeben

Einer der Gründe für die bislang strikt getrennten Bereiche der Firm Codes von Hard- und Software ist die Sicherheit. In der gesicherten Umgebung der CodeMeter-Hardware sind Lizenzen und kryptographische Schlüssel sicherer untergebracht als in Software. Prinzipbedingt lässt sich alles, was auf einem Rechner läuft, mit entsprechendem Aufwand nachvollziehen und extrahieren. Daher kann der Softwarehersteller für den neuen Universal Firm Code weiterhin selbst festlegen, in welche CmContainer-Typen die Lizenz programmiert werden darf. Außerdem legt er ganz genau fest, ob und wohin ein Lizenztransfer erlaubt ist. Geregelt wird das über die CmActId, die in festgelegte Bereiche für CmDongle (1***), CmActLicense (2***) und CmCloudLicense (3***) aufgeteilt ist. Über diese Festlegung kann die Sicherheit für Lizenzen in einem CmDongle wieder auf das alte Niveau gebracht werden.

Der Softwarehersteller bestimmt also selber, in welchen Umgebungen seine Lizenzen und Schlüssel verfügbar sein werden. Dies ermöglicht wiederum, für unterschiedliche Applikationen auch unterschiedliche Sicherheitsniveaus vorzugeben. Während die Lizenz für das teure Premiumprodukt nur in ein CmDongle programmiert werden kann, darf die abgespeckte Demoversion auch mit softwarebasierten Testlizenzen betrieben werden, die einfach über das Internet bereitgestellt werden.

Zertifikate sichern Übertragung

Bei der Ausstellung der Lizenzen gehen wir neue Wege: Lizenzen werden als Zertifikate, angelehnt an den Standard X.509, erstellt. Alle Schlüssel werden über asymmetrische Verschlüsselung so im Zertifikat hinterlegt, dass nur der CmContainer diese wieder entschlüsseln kann, für den die Lizenz ausgestellt wurde. Die Wege für den Transport der Anfragen und Zertifikate sind wie bisher die Kontext- und Update-Dateien (*.WibuCmRaC und *.WibuCmRaU).

Die Funktionalität der Lizenzen in einem neuen Universal Firm Code deckt alles ab, was Softwarehersteller bislang verwendet haben: Eine Lizenz kann ein festes Ablaufdatum, einen flexiblen Benutzungszeitraum oder Wartungszeitraum haben; sie kann zusätzliche Daten enthalten oder auch einen Einheitenzähler mitführen. Das alles und vieles mehr ist bisher schon und mit dem Universal Firm Code weiterhin möglich. Zusätzlich gibt es nun die Möglichkeit, Product Items ineinander zu verschachteln, siehe Artikel „Nested Product Items“ auf Seite 10.

Lokale Mehrfachlizenzen

Eine Änderung gibt es bei der Verwendung der Lizenzanzahl: Mit Universal Firm Codes kann man einer Lizenzanzahl die Eigenschaft „nur lokal verwendbar“ zuordnen. Damit kann man zum Beispiel vier Lizenzen haben, die nur lokal verwendbar sind (könnte die erlaubte Anzahl der gleichzeitigen Instanzen eines Programms festlegen). Die bisherige Konvention, dass die Lizenzanzahl 0 als lokale Lizenz angesehen wird, entfällt damit.

Um generelle Hacks für softwarebasierte Lizenzen eines Softwareherstellers zu verhindern, wurde in CmActLicenses die Verschlüsselung in unterschiedlichen Lizenzen (unterschiedlicher Product Code) durch einen zusätzlichen Schlüssel beeinflusst, der in die Verschlüsselung mit eingeht. Dieser Schlüssel „Product Item Secret Key“ (PISK) wird bei der Erzeugung der Lizenz durch die Firm Security Box (FSB) abgeleitet. Diese Methode wurde jetzt auch auf die Hardware übertragen, um das hohe Sicherheitsniveau des CmDongles auch im gemischten Betrieb mit CmActLicenses weiter zu garantieren. Außerdem gibt es weiterhin die Möglichkeit, dass der Softwarehersteller durch Ändern des Firm Keys in seiner FSB sicherstellt, dass Wibu-Systems keine Lizenzen mit den gleichen Schlüsseln erzeugen kann; diese Möglichkeit ist damit nun auch für CmActLicenses gegeben.

Voraussetzungen

Die neue Lizenzerstellung über Zertifikate benötigte im CodeMeter Lizenzserver und in allen anderen Komponenten größere Änderungen. Für die Verwendung von Universal Firm Codes wird daher CodeMeter 6.0 oder höher benötigt. Das neue Verfahren ist auch der Grund dafür, dass Universal Firm Codes erst mit den aktuellen CmDongles des Seriennummernbereichs 3-xxxxxxx unterstützt werden können – es fehlte schlicht der Platz in der Firmware der Vorgängermodelle, um das neue Verfahren dort unterbringen zu können. Ab Firmware-Version 2.06 werden CmDongles 3-xxxxxxx dann Universal Firm Codes verwenden können. Diese Firmware erscheint im Dezember zusammen mit der CodeMeter Version 6.10.

Natürlich kann CodeMeter 6.10 auch mit bisherigen CmActLicenses (ab 5.000.000) umgehen. Ebenso kann ein CmDongle 3-xxxxxxx sowohl neue Universal Firm Codes als auch bisherige Firm Codes (ab 100.000) parallel beinhalten. Es ist alles abwärtskompatibel. Die AxProtectoren zum Schutz Ihrer Software können ebenfalls mit mehreren Firm Codes umgehen und sind somit bereit für die neuen Universal Firm Codes.

Product Item Option

CmDongles
(> 100.000)

CmActLicenses
(> 5.000.000)

Universal Licenses
(> 6.000.000)

Text 

Ja

Ja

Ja

Lizenzanzahl 

Ja

Ja

Ja

Aktivierungsdatum 

Ja

Ja

Ja

Verfallsdatum 

Ja

Ja

Ja

Nutzungszeitraum 

Ja

Ja

Ja

Nutzungseinheiten 

Ja

Ja

Ja

Feature Map 

Ja

Ja

Ja

Wartungszeitraum 

>= Firmware 1.18

>= Firmware 1.18

Ja

Nachlaufzeit 

>= Runtime 4.40

>= Runtime 4.40

Ja

Mindest-Laufzeitversion 

>= Runtime 5.20

>= Runtime 5.20

Ja

User Data

Ja

Ja

Ja

Protected Data

Ja

Ja

Ja

Extended Protected Data 

Ja

Ja

Ja

Lizenzinformation 

Ja

Ja

Ja

Hidden Data 

Ja

Ja

Ja

Secret Data 

Ja

Ja

Ja

Module Items

 

 

Ja