CodeMeter

Lizenz verloren. Was nun?

Seit Jahren erzähle ich das Ereignis vom Dongle, der vom Hund gefressen wurde. Zugegeben, es war nicht der Dongle, sondern der Zettel mit dem Passwort für den Dongle, der gefressen wurde. Aber zeigt dieses Beispiel doch, dass der Träger einer Lizenz, oder in diesem Fall der Zugriff auf den Träger, verloren gehen kann. Und mit ihm dann die Möglichkeit, die Lizenzen zu nutzen.

Bei CodeMeter wird der Träger CmContainer

genannt und ist als separate Hardware (CmDongle), als verschlüsselte und rechnergebundene Lizenzdatei (CmActLicense) oder als Benutzer-Account in der Cloud (CmCloudContainer) verfügbar. Als unabhängiger Softwarehersteller entscheiden Sie, welche dieser CmContainer-Typen Sie Ihren Anwendern zur Verfügung stellen. Sie können die CmContainer-Typen dabei beliebig mischen und die Entscheidung dem Anwender überlassen oder dies zum Beispiel regional vorgeben.
Je nachdem, welchen CmContainer-Typen Sie erlauben, sind verschiedene Szenarien denkbar, in denen Lizenzen verloren gehen könnten. Allgemein gilt dabei, dass Sie als Hersteller dem Anwender schnell und am besten automatisch – 
ohne eigenen Aufwand – helfen wollen. Dabei soll aber das Risiko, dass der Anwender oder ein Dritter danach unberechtigt eine weitere Lizenz besitzt, minimal sein.

Automatische Wiederherstellung

Eine zentrale Rolle bei der Automatisierung des Prozesses spielt CodeMeter License Central. Sie haben die Möglichkeit, es dem Anwender zu erlauben, seine Lizenzen auf einen anderen CmContainer wiederherzustellen, unabhängig vom gewählten CmContainer-Typ. Sie definieren, wie oft der Anwender dies selbständig machen darf. Dabei können Sie eine initiale Anzahl und einen minimalen Zeitraum, nach dem der Anwender einen weiteren Versuch erhält, vorgeben. Falls in Ihrem Kundenklientel der Rechner typischerweise alle drei Jahre gewechselt wird, dann sind eine Wiederherstellung zu Beginn und je eine weitere nach zwei Jahren eine Einstellungsmöglichkeit, die den Support minimiert. Darüber hinaus können  Sie weitere Wiederherstellungen jederzeit manuell autorisieren und so in Einzelfällen eine größere Kulanz zeigen.
Bei einer CmActLicense ist es Ihnen zusätzlich möglich, ein Regelwerk für die Wiederherstellung in eine neue CmActLicense auf dem gleichen Computer zu definieren. Auch hier geben Sie die initiale Anzahl und einen
minimalen Zeitraum für eine weitere Wiederherstellung vor. Ebenso können Sie bestimmen, an welchen Eigenschaften erkannt werden soll, ob dies immer noch der gleiche Computer ist. Das Betrugsrisiko, dass die alte CmActLicense noch funktionstüchtig ist, ist in diesem Fall meist geringer. Und wenn, dann wäre diese auf dem gleichen Computer, was bei einer Einzelplatzlizenz in der Regel keine Bedrohung ist. Daher werden diese Einstellungen meist lockerer gewählt als die Einstellung zur Wiederherstellung in einen beliebigen CmContainer. Auch in diesem Fall können Sie als Hersteller weitere Wiederherstellungen in Einzelfall manuell autorisieren.

Eine interessante Option ist es, die manuelle Autorisierung über SOAP zu automatisieren. In diesem Fall erlauben Sie im Prinzip keine automatischen Wiederherstellungen. Der Anwender meldet sich an einem vorgelagerten Portal von Ihnen an. Dort prüfen Sie nach eigenen Kriterien, ob der Anwender eine Wiederherstellung automatisch erhalten soll und schalten diese per SOAP transparent für den Anwender frei. Somit können Sie den Workflow komplett automatisieren.

Sperrliste (Blacklist)

Im Fall der automatischen Wiederherstellung der Lizenzen in einen neuen CmContainer haben Sie die Möglichkeit, eine automatische Aktion komplett für den alten CmContainer oder nur für die wiederhergestellten Lizenzen zu definieren.
Sie können den CmContainer auf eine Sperrliste setzen lassen. Nun gibt es drei Möglichkeiten, wie diese Sperre auf den alten CmContainer übertragen wird:

  1. CodeMeter License Central generiert ein automatisches Update (Honeypot), welches die Sperre auslöst. Ihre Software prüft regelmäßig im Internet, ob automatische Updates vorliegen. Sobald dieses Honeypot-Update durchgeführt wurde, sind alle Ihre Lizenzen in diesem alten CmContainer gesperrt.
  2. Der Anwender verwendet den alten CmContainer, um eine weitere Lizenz zu aktivieren. In diesem Fall erkennt CodeMeter License Central, dass der CmContainer auf der Sperrliste steht und sperrt Ihre Lizenzen.
  3. Sie exportieren die Sperrliste und integrieren diese in der nächsten Version Ihrer Software. Sobald der Anwender die neue Version mit dem alten CmContainer verwendet, sperrt Ihre Software alle Ihre Lizenzen in diesem alten CmContainer.

Codebeispiele für die Fälle (1) und (3) erhalten Sie auf Anfrage. Im Fall (3) ist es auch möglich, eine Sperre verzögert durchzuführen. In diesem Fall wird der Zusammenhang zwischen neuere Version und Sperre verschleiert und die Wahrscheinlichkeit, dass der Anwender sich im Support meldet, erhöht. Das Ziel ist es ja, diese Fälle zu protokollieren, damit der Vertrieb den Anwender anrufen und vom Kauf einer weiteren Lizenz überzeugen kann. In den Fällen (1) und (2) erfolgt die Protokollierung automatisch.

Eine weniger radikale Version ist das Zurückziehen der wiederhergestellten Lizenzen. Analog zu den Fällen (1) und (2) wird ein automatisches Update erzeugt, welches von Ihrer Software automatisch ausgerollt oder bei jeder Aktion des Anwenders automatisch durchgeführt wird. In diesem Fall werden lediglich die Lizenzen vom CmContainern entfernt, die in einen anderen CmContainer wiederhergestellt worden sind.

Checkpoint-Lizenzen

Der oben beschriebene Sperrlisten-Mechanismus erfordert es, dass die Informationen zum Anwender übertragen werden müssen. Doch was ist, wenn der „Anwender“ den alten CmContainer nur im „stillen Kämmerlein ganz abgeschottet von Internet und Updates betreibt? Davon abgesehen, dass dies in Zeiten von IoT, IIoT und Cloud-Anwendungen eher unwahrscheinlich erscheint oder sich auf wenige Einzelfälle reduziert, gibt es auch hier eine technische Lösung mit CodeMeter License Central.

Lizenzen können als Checkpoint-Lizenzen definiert werden. Diese sind für den Anwender eigentlich unbegrenzt (perpetual), werden aber technisch mit einem konfigurierbaren Ablaufdatum versehen. Das Ablaufdatum ist eine definierte Zeitspanne der Aktivierung. Solange die Lizenz weiterhin gültig ist, wird sie über Ihrer Software regelmäßig erneuert. Technisch wird die Lizenz dabei zurückgegeben und erneut aktiviert. Damit wird der Checkpoint auf die definierte Zeitspanne zurückgesetzt.

Sollte also ein „Anwender“ in diesen Fall den alten CmContainer offline betreiben, dann laufen die darin enthaltenen Lizenzen ab und sind danach wertlos. Durch die sichere virtuelle Uhr im CmContainer ist auch das Zurücksetzen der Uhrzeit für die Lizenzen nicht möglich. Checkpoint-Lizenzen benötigen einen regelmäßigen, aber keinen permanenten Internetzugriff. Auch hier sind Codebeispiele auf Anfrage verfügbar.

CmDongles

Ein CmDongle kann kaputt gehen. Die Wahrscheinlichkeit ist bei einer MTBF (Mean Time Between Failures) von mehreren Millionen Betriebsstunden sehr gering. Ein CmDongle kann zerstört worden sein. Durch die robuste Bauweise, vor allem des CmStick/B und des CmStick/C Basic, ist die Wahrscheinlichkeit einer Zerstörung gering. In beiden Fällen „Kaputt“ oder „Zerstört“ ist eine Wiederherstellung nicht sicherheitskritisch, wenn der Anwender den alten CmDongle an Sie zurückschickt.

Anders sieht dies aus, wenn der CmDongle verschwunden ist. Dies passiert, wenn der CmDongle aus Versehen mit einem alten Com-puter entsorgt wurde. Oder der CmDongle wurde gestohlen. Meist geschieht dies aus Unwissenheit, weil der Dieb einen Memory-Stick vermutet. Dieser Fall kam in der Vergangenheit schon selten vor und ist in Zeiten von preiswerten Consumer Memory-Sticks auf nahezu Null zurückgegangen. Der bewusste Diebstahl eines CmDongles wegen einer Lizenz ist eher ungewöhnlich. Bei einer Wiederherstellung in diesem Fall ist es „nice to have“, den alten CmDongle auf die Sperrliste zu setzen. Manchmal hat alleine der Hinweis auf die Sperrliste schon dazu geführt, dass der alte CmDongle 
wiedergefunden“ wurde.

CmActLicenses

Lizenzen können über eine Rückgabe an CodeMeter License Central auf einen anderen Computer umgezogen werden. Auch ein Zwischenparken der Lizenz in der Cloud, genauer gesagt in CodeMeter License Central, ist möglich, wenn der Computer neu eingerichtet werden soll. Allerdings muss dies vorher erfolgen, solange die CmActLicense noch vorhanden und gültig ist. Wenn der alte Computer bereits entsorgt wurde, ist die CmActLicense weg. Ebenso wenn die Festplatte bereits formatiert wurde. Beide Fälle sind eher selten, da ein Rechnertausch mit Aufwand und Zeit verbunden ist und von professionellen IT-Abteilungen in der Regel gut geplant wird. Falls der Fall doch eintritt, kann dies durch die automatische Wiederherstellung und die Sperrliste optimal gelöst werden. Und im Falle des verschrotteten, alten Computers durch die Wiederherstellung in einen beliebigen CmContainer und im Falle der Neuinstallation sogar durch die Wiederherstellung auf dem gleichen Computer.

Ein weiterer möglicher Fehlerfall ist das Brechen einer Lizenz. Dies tritt ein, wenn der Anwender zu viel an seiner Hardware geändert hat. Durch die Fehlertoleranz und Robustheit von CodeMeter SmartBind treten hier nahezu keine False Positives ein. False Poitives sind Fälle, in denen keine Änderung erfolgt, aber dennoch eine Änderung erkannt wurde. Auch gehören die Zeiten des Aufschraubens und Ändern der Hardwarekonfiguration im normalen Büro-Umfeld eher der Vergangenheit an. Rechner sind heute leistungsfähig und preiswert, so dass nur noch wenige Bastler sich selber Rechner zusammenstellen und diese permanent ändern. Daher ist der Fall einer gebrochenen Lizenz sehr unwahrscheinlich.

Ähnlich ist der Fehlerfall einer ungültigen Lizenz. Dieser Fall tritt ein, wenn die Lizenzdatei und die im Rechner versteckten Werte nicht zusammenpassen. Mögliche Ursachen sind hier, dass der Anwender manuell Dateien verändert hat oder eine andere Software die versteckten Werte überschrieben hat. Die versteckten Werte sind mehrfach redundant gespeichert, so dass dies unwahrscheinlich bis sehr unwahrscheinlich ist.

Sowohl bei einer gebrochenen als auch einer ungültigen Lizenz ist das Wiederherstellen in einen neuen CmContainer in Kombination mit einer Sperrliste die optimale Lösung.

CmCloudContainer

Der CmCloudContainer befindert sich in der Cloud bei Wibu-Systems und kann daher per Definition nicht verloren gehen. Ein CmCloudContainer ist an einen Benutzer gebunden, der seine Zugangsdaten in Form einer Credential-Datei erhält. Mögliche Fehlerfälle sind hier das Verlieren der Credential-Datei und der Diebstahl durch eine Dritten. In beiden Fällen kann der Anwender im Lizenzportal eine neue Credential-Datei herunterladen und somit die alten Zugangsdaten ungültig machen. Mehr dazu im Artikel über CmCloudContainer in dieser Ausgabe.         

KEYnote 39 – Frühjahrsausgabe 2020

Nach oben