Kategorien: Software-Lizenzierung
Urgent – Emergency
Seit 2006 bietet Ihnen Wibu-Systems mit CodeMeter License Central ein Werkzeug, mit dem Sie Lizenzen erzeugen, ausliefern und verwalten können. Schon im Jahr nach der Markteinführung war klar, dass Wibu-Systems neben der Option, CodeMeter License Central selbst zu installieren, auch eine schlüsselfertige Lösung als Software-as-a-Service in der Cloud anbieten sollte. Dies war die Geburtsstunde unseres Wibu Operating Services Teams, kurz WOPS.
Das erste Rechenzentrum war der firmeneigene Serverraum – zu dieser Zeit bereits mit Temperaturkontrolle, redundantem RAID-Speicher und alternativer Verbindung zum Internet ausgestattet. Nach wenigen Jahren wurde, vor allem aus Kapazitätsgründen, der Umzug in ein externes Rechenzentrum vollzogen. Dabei wurde höchstes Augenmerk auf Datensicherheit und Redundanz gelegt. Im letzten Jahr passierte dann das, was als Worst Case bezeichnet werden kann: Trotz eigentlich vorhandener Redundanz bei Speicher, Anbindung etc. kam es zu einem Ausfall mit einer nennenswerten Dauer.
Dieser Artikel nimmt dies als Anlass, um zusammenzufassen, welche Optionen der Business-Continuity es bereits heute gibt und welche weiteren Maßnahmen von Wibu-Systems ergriffen wurden und noch werden. Dabei betrachten wir sowohl die Anwendungsfälle, dass neue Anwender mit Lizenzen versehen werden oder bestehende Anwender vorhandene Lizenzen geplant auf ein anderes System umziehen als natürlich auch den Fall, dass bestehende Lizenzen ausfallen und ein Produktionssystem am Laufen gehalten wird.
Sicherheit fest eingebaut
Eine der großen Stärken von CodeMeter ist die Tatsache, dass CodeMeter Protection Suite Ihre zu schützende Software verschlüsselt und dabei einen Schlüssel verwendet, der sicher in der Lizenz gespeichert ist. Damit wird eine extrem starke Bindung zwischen der Lizenz und Ihrer geschützten Software hergestellt, was aber auch bedeutet, dass Ihre Software in diesem Fall nicht ohne passende Lizenz startet. Um die Sicherheit gegen Attacken wie Memory-Dumping zu erhöhen, werden Teile Ihrer Software verschlüsselt im Speicher gehalten und erst bei Bedarf dynamisch entschlüsselt. Damit ist die Lizenz nicht nur beim Starten der Anwendung notwendig, sondern auch in von der Nutzerinteraktion abhängigen Intervallen erforderlich.
Warnung statt Fehler
Eine Strategie, die aus Sicherheitssicht nicht zu empfehlen ist, ist, die Software trotz fehlender Lizenz laufen zu lassen und lediglich Warnmeldungen über die fehlenden Lizenzen anzuzeigen. Für einige wenige Märkte und Kundengruppen mag dies eine gangbare Lösung sein, doch reduziert es die Lizenzierung auf eine freiwillige Selbstkontrolle. Aus meiner eigenen über 20-jährigen Erfahrung in der Unterstützung von Kunden bei der Integration von CodeMeter kann ich Ihnen sagen, dass dies bei mir lediglich einmal vorgekommen ist.
In diesem Fall kann CodeMeter Protection Suite nicht bzw. im sogenannten No-License-Modus verwendet werden. Die Software wird dabei mit einem Schlüssel verschlüsselt, der sich nicht in der Lizenz befindet, sondern in der Software verschleiert eingebunden ist. Die Software startet dann immer, auch wenn keine Lizenz vorhanden ist. Per CodeMeter Core API wird dann die Lizenz abgefragt und falls diese nicht vorhanden oder abgelaufen ist, werden an der Maschine rote Warnlampen angeschaltet.
Diese Option führt dazu, dass die Software in allen oben genannten Anwendungsfällen läuft, aber auf Kosten der Sicherheit.
Prüfung nur bei Start
Für den Anwendungsfall, dass eine Lizenz während des Betriebs ausfällt, werde ich ab und zu von Kunden gefragt, ob es möglich ist, die Lizenz nur beim Start der Software zu prüfen, vor allem im Zusammenhang mit CodeMeter Protection Suite. Die Antwort ist Ja: Es gibt Optionen bei denen alle benötigten kryptografischen Daten bereits beim Start eingelesen und in einem Cache vorgehalten werden. Natürlich reduziert dies den Schutz gegen Memory-Dumping extrem, da ja alles Benötigte im Speicher vorliegt.
Auch halte ich persönlich den Anwendungsfall für fragwürdig, da ein Neustart der Software nicht mehr möglich ist. Das Schreckgespenst „Eine Person hält einen CmStick für einen Memory-Stick, nimmt diesen mit und die Anlage bleibt stehen“ war vielleicht gegenwärtig, als Memory-Sticks noch teure Luxusobjekte waren, ist aber heute mehr als nur verblasst. Ein „Brechen“ einer CmActLicense im laufenden Betrieb habe ich nur erlebt, wenn virtuelle Maschinen in HAUmgebungen verschoben wurden. Und diese Anforderung kann durch spezielle Einstellungen der Bindung erfüllt werden.
Alles in allem ist die Option „Prüfung nur bei Start“ möglich, doch bietet sie nur Hilfe in einem stark begrenzten Szenario und steht in keinem Verhältnis zur Reduktion der Sicherheit.
Offline-Notfall-Lizenz
In allen sicherheitstechnisch besseren Lösungen benötigt der Anwender eine Lizenz. Die einfachste Lösung ist die mit Ihrer Software gelieferte Offline-Notfall-Lizenz. Dies ist eine CmActLicense, die nicht an eine bestimmte Hardware gebunden ist. Sie kann also auf jedem beliebigen Rechner verwendet werden. Dabei legen Sie fest, wie lange die in der CmActLicense enthaltenen Lizenzen für Ihre Software lauffähig sind und dass diese CmActLicense-Datei nur einmal pro Rechner verwendet werden kann.
Mit dem Import der Datei auf einem Rechner wird diese CmActLicense im System verankert. Auch nach dem Löschen der Datei erkennt die CodeMeter Runtime, dass diese Datei bereits verwendet wurde und verhindert einen erneuten Import. Die Lizenzen versehen Sie mit einer Usage Period von x Tagen. Bei der ersten Verwendung der Lizenz durch Ihre Software wird die Usage Period gestartet. Nach den x Tagen sind die Lizenzen abgelaufen und können nicht mehr verwendet werden.
Meist werden diese Offline-Notfall-Lizenzen mit dem vollständigen Funktionsumfang der Software modelliert, in einigen Fällen werden sogar zukünftige Funktionen bereits freigeschaltet. Im Bedarfsfall können Sie neue Lizenz-Dateien erstellen, die der Anwender dann ein weiteres Mal nutzen kann.
Sicherheitstechnisch ist dies ein Trade-off zwischen Sicherheit und Verfügbarkeit. Ein potenzieller Angreifer kann sich damit eine zwar zeitlich begrenzte Lizenz besorgen und hat damit mehr Angriffsfläche, als wenn er keine Lizenz besäße. Die Lizenz selbst ist aber beschränkt, kann bei erkannten Angriffen sofort gesperrt werden und zur Laufzeit kann CodeMeter Protection Suite alle Funktionen zur dynamischen Entschlüsselung Ihrer Software verwenden.
Von einem Einsatz in virtuellen Umgebungen rate ich stark ab, da man sich hier immer wieder einen neuen virtuellen Rechner einrichten kann und das Spiel damit jederzeit auf Anfang zurücksetzen kann.
Notfall-Dongle
Eine meiner bevorzugten Lösungen ist der Notfall-Dongle. Dieser enthält vergleichbar zur Offline-Notfall-Lizenz in der Regel alle Lizenzen bzw. einen Product Code, der alle Features freischaltet. Wahlweise sind diese Lizenzen mit einer Usage Period oder einem Unit Counter versehen. Eine Usage Period funktioniert, wie bei den Offline-Notfall-Lizenzen beschrieben, für x Tage ab der ersten Verwendung. Nach den x Tagen sind die Lizenzen abgelaufen. Sie können diese Lizenzen als Hersteller zurücksetzen, um Ihren Anwender nach Gebrauch des Notfall-Dongles eine erneute Ausfallsicherheit zu gewährleisten.
Ein Unit Counter kann in einem von Ihnen definierten Intervall bei der Verwendung der Software heruntergezählt werden, ähnlich wie Minuten beim Telefonieren. Wenn Sie zum Beispiel im 10-Minuten-Takt zählen, dann bedeutet ein Unit Counter von 144 (24 Stunden mal 6 pro Stunde), dass die Software damit einen Tag am Stück läuft oder zweimal je einen halben Tag oder jede beliebige Stückelung. In diesem Fall kann der Notfall-Dongle mehrfach verwendet werden und zum Beispiel bei Übergabe auch vom Anwender getestet werden.
Sicherheitstechnisch ist der Notfall-Dongle das Nonplusultra. Auch in der Handhabung ist er einfach. Er deckt den Anwendungsfall ab, dass der Anwender den Notfall-Dongle bereits besitzt. Für neue Installationen bei neuen Kunden kommt ein zeitlicher Verzug hinzu, bis der Notfall-Dongle beim Anwender eintrifft.
Notfall-Cloud-Container
Analog zum Notfall-Dongle können Sie einen Notfall-Cloud-Container einrichten. Ihr Anwender erhält eine Credential-Datei, welche die Zugangsdaten zum Notfall-Cloud-Container enthält. Im Notfall importiert er diese Credential-Datei auf seinem System und ein virtueller Dongle mit den Notfall-Lizenzen steht ihm sofort zur Verfügung.
Sicherheitstechnisch steht der CmCloudContainer dem CmDongle als Notfall-Container in nichts nach. Er benötigt eine permanente Online-Verbindung, kann aber sofort geliefert werden. Damit ist er auch für neue Kunden optimal einsetzbar. Außerdem können Sie die Lizenzen speziell auf den Kunden zuschneiden und die Lizenzen nach Gebrauch direkt zurücksetzen. Aus Gründen der Einfachheit würde ich die Prozesse aber analog zum Notfall-Dongle implementieren und eine Mischung aus CmCloudContainer (für neue Kunden) und CmDongles (für Offline-Fälle) vorsehen.
Online-Notfall-Lizenz
Analog zu CmDongle oder CmCloudContainer können Sie auch CmActLicenses als Notfall-Container verwenden. Im Gegensatz zu den beiden vorprogrammierten Containern wird eine CmActLicense erst bei Bedarf über CodeMeter License Central erstellt. Dabei können Sie entscheiden, ob Sie eine globale Lizenz für alle Funktionen oder eine speziell auf den Kunden zugeschnittene Lizenz verwenden.
Um von eventuellen Ausfällen der produktiven CodeMeter License Central unabhängig zu sein, wird die CodeMeter License Central für Notfall-Lizenzen in einem anderen Rechenzentrum komplett autark betrieben. Dieses zweite Rechenzentrum bietet Wibu-Systems an; Sie können diese CodeMeter License Central auch bei sich selbst betreiben.
Die einzige benötigte Verbindung zwischen der produktiven CodeMeter License Central und der Notfall-Instanz ist ein Automatismus, der für neue Lizenzen oder neue Kunden auf dem Produktivsystem eine entsprechende Notfall-Lizenz auf dem Notfall-System anlegt. Das Regelwerk für diese Synchronisation kann an Ihre Anforderungen angepasst werden. Zusätzlich können Sie Notfall-Lizenzen in dieser Instanz manuell erzeugen und neuen Kunden zur Verfügung stellen, falls zu diesem Zeitpunkt das Produktivsystem nicht zur Verfügung steht.
Sicherheitstechnisch bietet diese Lösung die gleiche Sicherheit wie eine Standard-CmActLicense. Sie deckt alle Anwendungsfälle ab, sowohl neue Kunden und Umzüge als auch Lizenzausfälle. Durch Monitoring-Tools kann der Verbrauch überwacht werden und verwendete Notfall-Lizenzen automatisch oder nach Workflow aufgefüllt werden.
Erneute Aktivierung
Eine spezielle Lösung für verlorene bzw. kaputte Lizenzen ist die erneute Aktivierung in CodeMeter License Central. Sie definieren, in welchem Umfang sich der Anwender eine Kopie einer Lizenz auf einem neuen Gerät erstellen kann. Sie können überwachen, wie oft Kunden dies verwenden und bei Verdacht auf Missbrauch eingreifen.
Die vorhergehende – ersetzte – Lizenz wird in CodeMeter License Central markiert und bei der nächsten Gelegenheit zurückgezogen oder gesperrt. Dazu kann es hilfreich sein, wenn Sie automatische Updates der Lizenzen innerhalb Ihrer Software anstoßen.
Sicherheitstechnisch bietet diese Lösung die gleiche Sicherheit wie die für die Lizenzierung verwendeten CmContainer. Im Gegensatz zu den oben dargestellten temporären Notfall-Lizenzen ist dies eine sofortige und nachhaltige Lösung eines Lizenzausfalls unter der Voraussetzung, dass die produktive CodeMeter License Central zu diesem Zeitpunkt verfügbar ist.
Erhöhte Redundanz in WOPS
Beginnend im Jahr 2024 bietet das Hosting unseres Wibu Operating Services Team bei zwei der vier Editionen eine weiter erhöhte Redundanz an. Zusätzlich zu den lokalen Redundanzen von Rechner, Speicher und Anbindung werden die Daten der CodeMeter License Central in ein zweites separates Rechenzentrum gespiegelt. Je nach Edition erfolgt die Umschaltung im Notfall sofort automatisch (High Availability System) oder manuell bei Bedarf (High Performance Edition).
Verschiedene Wege
Die Verbindung zu Ihrer von WOPS betriebenen CodeMeter License Central hängt nicht nur von der Verfügbarkeit unseres System ab, sondern auch von dem Weg dahin. So spielen zum Beispiel Nameserver eine wichtige Rolle, um den Surfer im Internet bei Eingabe von lc.codemeter.com zur richtigen Adresse zu führen. Ein Nameserver steht nicht unter der Verantwortung von Wibu-Systems, sondern ist ein generelles Adressbuch im Internet von verschiedenen Providern.
Um auch hier Redundanz zu bieten, sind alle Systeme sowohl unter lc.codemeter.com als auch unter lc.licensecentral.de verfügbar. Die beiden Adressen sind bei unterschiedlichen Providern registriert, so dass auch hier die maximale Redundanz gegeben ist.
Zusätzlich dazu stehen mit lc2.codemeter.com und lc2.licensecentral.de zwei weitere alternative Eintrittspunkte zu unserm Hosting zur Verfügung. Dies sind alternative Routen zu verschiedenen Zugangspunkten.
Fazit
Redundanz und Business Continuity werden bei Wibu-Systems schon seit Beginn des Hosting-Angebotes vor mehr als 15 Jahren großgeschrieben und werden permanent verbessert, wie zum Beispiel durch das zusätzliche Rechenzentrum und die Datenspiegelung ab 2024. Wählen Sie aus den verfügbaren Optionen die beste Möglichkeit für sich und Ihre Anwendungsfälle aus.
KEYnote 47 – Ausgabe Frühjahr/Sommer 2024