Software as a Service

Andreas Mühlbauer,

Lizenzierung in Edge und Cloud

Als Applikationen in die Cloud verlagert wurden, dachte man, das Thema Lizenzierung hätte sich erledigt. Aber nicht alles ist in der Cloud gut aufgehoben, und nun ist die Lizenzierung beim Betrieb von Containern aufgrund der damit einhergehenden Skalierung noch einmal wichtiger geworden.

© peach_adobe/stock.adobe.com

In grauer Vorzeit wurde Software auf Disketten ausgeliefert. Diese wurden im Laufe der Zeit durch CDs und DVDs abgelöst. Die Anwender installierten die Software auf ihren PC. Diese Lösungen werden heute als On-Premises bezeichnet und stellen die Hersteller heute wie damals vor mehrere Herausforderungen. Eine davon sind die Systemvoraussetzungen beim Anwender. Sie benötigen entsprechende Rechenleistung, um eine Software auszuführen, aber auch Wechselwirkungen mit anderer Software können zu Problemen führen. Eine zweite, aus Sicht der Hersteller noch wichtigere Herausforderung ist das Verhindern unberechtigter Nutzung der Software. Dazu wurden einst kopiergeschützte Datenträger eingeführt. Bei höherpreisiger Software kommt oft ein Dongle zum Einsatz. Auch rechnergebundene Aktivierungen werden für diese Art der Software eingesetzt.

Cloud SaaS setzt sich durch

Um Software online zur Nutzung bereitzustellen, hat sich Software as a Service (SaaS) in der Cloud etabliert. Anwendungen wie Online-Karten oder Online-Übersetzungstools haben ihre On-Premises-Versionen komplett abgelöst. Bei dieser Cloud-Software wird die Anwendung in der Regel vom Hersteller betrieben und zur Benutzung online zur Verfügung gestellt. Anwender benötigen lediglich einen Browser, in einigen Fällen einen Thin-Client. SaaS reduziert damit die Anforderungen an die lokalen Computer, öffnet die Türen zu Software auf mobilen Geräten und verändert die Anforderungen an Schutz und Lizenzierung. Im Gegensatz zur On-Premises-Software wird hier kein Kopierschutz benötigt, und die Lizenzierung kann an eine Benutzeridentifikation gekoppelt werden.

Anzeige
Lizenzierung über Schutzhardware. © Wibu-Systems

Auch haben sich die Entwicklungswerkzeuge der Programmierer beim Sprung in die Cloud geändert. Während On-Premises-Anwendungen oft in C++ oder .NET geschrieben sind, kommen hier mit Python, JavaScript & Co. viele verschiedene Programmierumgebungen zum Einsatz. SaaS-Lösungen in der Cloud sind in der Regel bereits durch ihre Architektur hoch skalierbar. Der Trend „Cloud First“ schwappt aus dem Endkunden-Umfeld auch auf B2B-Anwendungen über. Ein Beispiel dafür sind Predictive-Maintenance-Anwendungen für Steuerungen und Anlagen.

Die neue Cloud-Welt könnte aus Sicht des Herstellers so schön sein, wenn nicht Fragen wie Verfügbarkeit der Cloud, benötigte Bandbreite, Latenzzeiten und vor allem rechtliche Fragen wie „Wo sind meine Daten?“ dem Cloud-Computing entgegenstünden. Die Kompromisslösung ist Edge Computing. Hier laufen die Cloud-Lösungen am Rande der Cloud bei Anwendern und tauschen, wenn überhaupt, nur minimale Daten mit der Cloud aus. Die Hersteller möchten dabei alle Vorteile ihrer Cloud-Software nutzen: Skalierbarkeit und Flexibilität bei der Entwicklungsumgebung. Docker und anderen Container-Lösungen sei Dank ist es technisch verhältnismäßig einfach umzusetzen, eine Cloud-Lösung als Edge-Lösung bereitzustellen. Die verschiedenen Dienste werden dazu zusammen mit allen notwendigen Software-Bestandteilen in einzelnen Containern bereitgestellt und erfordern auf Anwenderseite weder komplizierte Installationsvorgänge noch Abhängigkeiten auf andere Software. Durch die Isolation sind auch Wechselwirkungen mit Software anderer Hersteller ausgeschlossen.

Ein Punkt wird bei dieser Art der Migrations-Projekte oft übersehen: Die geänderten Anforderungen an Lizenzierung und Softwareschutz. Während bei Cloud-Lösungen, die durch den Hersteller betrieben werden, Kopierschutz sowie Schutz des geistigen Eigentums irrelevant sind, kommt dieser Punkt bei einer Edge-Lösung zurück wie ein Bumerang: Ähnlich wie bei On-Premises läuft die Anwendung wieder in der Obhut der Anwender. Auch bei der Lizenzierung kommen altbekannte Anforderungen aus der On-Premises-Welt hinzu, und dazu noch neue Anforderungen, wie sich die Skalierbarkeit der Systeme in der Lizenz abbilden lässt. Analog zur On-Premises-Welt wird ein nicht kopierbarer, sicherer Anker für die Lizenzierung benötigt.

Lizenzierung auf einem Edge-Device

Verwendung einer Lizenz in der Cloud. © Wibu-Systems

Eine Sonderstellung nehmen Edge-Devices ein. Der Hersteller liefert eine fertige Lösung bestehend aus Hardware und Software, die die lokale Systemlandschaft mit den Systemen in der Cloud verbindet und den Datenfluss kontrolliert. Die Lizenzierung kann hier entweder über die kontaktierten Cloud-Systeme erfolgen, die über Login eine Benutzeridentifikation ermöglichen, oder als klassische On-Premises-Lizenz auf dem Gerät selbst. Werden für eine verschlüsselte Kommunikation Zertifikate mit schützenswerten privaten Schlüsseln verwendet, kommen sichere Anker zum Einsatz. Dies können TPM-Chips oder Dongles sein.

Auf den Geräten in der lokalen Systemumgebung hängt es vom genauen Anwendungsszenario, dem Schutzbedürfnis des Herstellers und der Akzeptanz der Anwender ab, welche Lizenzierungsart verwendet werden kann. Die Systeme sind oft in der Lage, mehrere Container parallel zu betreiben, und so stellt sich die Frage, wie sich die Anzahl der betriebenen Container und damit der darin laufenden Dienste kontrollieren und regulieren lässt. Optimale Kontrolle hat der Hersteller, wenn Systeme mit integriertem Security-Chip und Lizenzierungsmechanismus verwendet werden oder sich ein Dongle am Gerät anstecken lässt. Die Lizenz befindet sich dann im Gerät in einem sicheren Chip, und die kryptographischen Funktionen aus den Containern lassen sich direkt oder über einen explizit dafür erstellten Container zur Lizenzverwendung benutzen. Wenn es möglich ist, über ein Edge-Device eine Lizenz aus einem Cloud-basierten Lizenzierungssystem zu verwenden, kann der Hersteller ebenfalls sicher sein, dass die Lizenzen korrekt gezählt werden. Die Voraussetzung ist eine dauerhafte Verbindung ins Internet und die uneingeschränkte Verfügbarkeit der Cloud-Lizenz.

Für eine softwarebasierte Lizenzierung der in einem Container laufenden Anwendung muss man sich etwas genauer mit der Materie beschäftigen und eine für den Anwendungsfall passende Lösung finden. Container wurden dafür entwickelt, alles möglichst gut zu abstrahieren und Datenverkehr zum Host oder zu anderen Containern auf gewünschte Transfers zu beschränken. Damit sind die üblicherweise verwendeten System-Merkmale nicht auszulesen und es ist ebenso nicht möglich, die Daten der Lizenz zu persistieren. Um eine solche Lizenzierung umsetzen zu können, wird aber ein sicherer Anker im Container benötigt, der sich an die eine Lizenz binden lässt. Die Lizenzdaten müssen dann innerhalb des Systems so gespeichert werden, dass sie im Container erhalten bleiben. Diese Voraussetzungen vertragen sich nicht direkt mit Skalierung, also dem Starten mehrerer Container parallel. In diesen Fällen wird man die Lizenz in einem separaten Lizenzierungscontainer betreiben, der dann die Lizenzen für die anderen Container auf dem lokalen System bereitstellt. Um an einen sicheren Anker zu kommen, wird dieser Lizenzierungscontainer mit gewissen Rechten laufen müssen. Man muss sich darüber im Klaren sein, dass die gewünschte Abstraktion von Containern im direkten Widerspruch zum Kontroll- und Lizenzierungswunsch des Herstellers steht.

Schlüsselspeicherung im Container. © Wibu-Systems

Bei der von Wibu-Systems angebotenen Lösung CodeMeter sind die Lizenzsysteme in Dongle, softwarebasierter Lizenzierung und Cloud-Lizenz kryptographisch identisch und lassen sich so je nach Einsatzgebiet und Wunsch des Kunden anpassen, ohne dass die mit CodeMeter Protection Suite geschützten Applikationen oder Skripte noch einmal angefasst werden müssen. Die gegebenenfalls mehrfach laufenden Anwendungs-Container mit der geschützten Software werden über ein eigenes Netzwerk in der Containerwelt mit dem Lizenz-Container verbunden. Damit können die kryptographischen Aufrufe aus den Anwendungs-Containern auf die Lizenz zugreifen und werden isoliert transportiert. Der Lizenz-Container enthält entweder eine Anbindung an den eingebauten Security-Chip oder in die von Wibu-Systems betriebene Cloud. Bei Verwendung einer softwarebasierten Lizenz benötigt dieser Lizenz-Container Zugriff auf den Docker-Socket für die Verankerung. Über ein Named Volume werden die Lizenzinformationen auf dem System persistiert und überleben damit auch ein Versions-Update des Lizenz-Containers.

Lizenz-Server in der privaten Cloud

In manchen Anwendungsfällen laufen die Container nicht mehr zwingend auf der eigenen Hardware, sondern werden beispielsweise zu Simulationszwecken in einer Private Cloud gestartet. In den Umgebungen großer Anbieter gibt es andere Möglichkeiten, Lizenzen zu binden. Die Bindung einer softwarebasierten Lizenzierung erfolgt bei CodeMeter daher an vom Anbieter bereitgestellte Informationen über diese Systeme. Alternativ kann ein vertrauenswürdiger Lizenz-Server in der Cloud verwendet werden. In diesem Fall befindet sich ein virtueller Dongle in der Cloud und die Software im Container verbindet sich mittels einer Passwort-Datei verschlüsselt zu diesem virtuellen Dongle. Über den Lizenz-Server in der Cloud wird die Anzahl der gleichzeitig laufenden Instanzen der Software in den Containern überwacht. Neben den vorgefertigten Lösungsmöglichkeiten in der CodeMeter-Runtime können durch den Hersteller auch eigene Bindungen bereitgestellt werden. Das kann beispielsweise eine Enterprise-Lizenz sein, die es Kunden des Softwareherstellers ermöglicht, so viele Instanzen wie gewünscht zu betreiben.

Wolfgang Völker, Director Product Management & Support und Rüdiger Kügler, VP Sales und Professional Services, beide Wibu-Systems

Anzeige

Das könnte Sie auch interessieren

Anzeige

Programmiertool

Starkes Tool für Motion Control

Composer2 heißt das neue Tool von Elmo Motion Control, mit dem Maschinenkonstrukteure auf einfache Weise ihre eigenen Steueralgorithmen in Platinum-Antrieben und mehrachsigen Motion Controllern des Unternehmens entwickeln, testen und implementieren...

mehr...

Roboter-App

Cobot gegen Monotonie

Im baden-württembergischen Brackenheim demonstriert der metallverarbeitende Betrieb Honecker, wie kollaborative Roboter die menschlichen Kollegen unterstützen und sie von monotonen, körperlich anstrengenden Tätigkeiten entbinden.

mehr...
Anzeige
Anzeige
Anzeige

Plug & Produce

Integration interdisziplinärer Daten

Copa-Data präsentiert auf der SPS verschiedene disziplinübergreifende Anwendungsbeispiele der Softwareplattform Zenon. Der branchen- und herstellerübergreifende MTP-Standard unterstützt Unternehmen dabei, ihre Daten aus verschiedenen Disziplinen...

mehr...
Anzeige
Anzeige
Anzeige

Eplan-Plattform 2023

Mehr Tempo im Engineering

Die neue Eplan-Plattform 2023 vereinfacht und beschleunigt die Projektierung mit neuer Cloud-basierter Artikelverwaltung und Multinorm-Unterstützung für Schaltplan-Makros. So kommen Anwender gerade bei internationalen Projekten durch vereinfachtes...

mehr...