Java ist überall – in Embedded-Geräten, auf Servern in der Cloud, in Unternehmensanwendungen oder kleinen Browser-Spielen, mit denen jeder gerne seine Zeit verbringt. Da Java allgegenwärtig ist, gibt es jedoch Risiken und Bedrohungen für die vielseitige Multiplattform-Technologie. Und diese Risiken lauern bei Java an jeder Ecke.
Beim Kompilieren von Java Source Code wird dieser zunächst in eine Zwischensprache, den so genannten Java Byte Code, übersetzt. Auf der jeweiligen Zielplattform kann dieser Code von der Java Virtual Machine (JVM) interpretiert und ausgeführt werden. Dieses Prinzip stellt die Plattformunabhängigkeit Javas sicher, allerdings birgt die Verwendung von Java Byte Code aus sicherheitstechnischer Sicht auch Gefahren:
Bereits mit einfachen, frei verfügbaren Tools lässt sich der Java Byte Code nicht nur beliebig manipulieren, sondern auch in Java Source Code rückübersetzten. Auch ungeübte Hacker sind somit in der Lage, die Programmlogik nachzuvollziehen, Kopien der Applikation anzufertigen oder einfache Lizenzabfragen in der Applikation zu entfernen.
Um solchen Missbrauch zu verhindern, bietet AxProtector Java die Möglichkeit, den Java Byte Code automatisch zu verschlüsseln. Nur mit der passenden Lizenz wird der verschlüsselte Byte Code dynamisch während des Ladevorgangs entschlüsselt und anschließend von der JVM interpretiert. Beim gesamten Vorgang befindet sich somit zu keiner Zeit unverschlüsselter Byte Code auf der Festplatte.
Für einfache Anwendungen werden alle Funktionen mit der gleichen Lizenz geschützt, d.h. durch AxProtector Java mit der zu dieser Lizenz zugehörigen Schlüssel verschlüsselt. Dies macht die Lizenzierung besonders sicher, da sie kryptographisch an das Vorhandensein eines Schlüssels gebunden ist. Für modulare Anwendungen können unterschiedliche Schlüssel für unterschiedliche Funktionen verwendet werden: Ein Anwender ist dann nur in der Lage, bestimmte Funktionen in der Applikation zu verwenden, wenn er über die entsprechende Lizenz verfügt, welche zur Entschlüsselung benötigt wird.
Es werden dabei alle sicheren Lizenz-Container von CodeMeter unterstützt: die sichere Hardware CmDongle (USB-Stick, sichere Speicherkarte oder ASIC) als auch die softwarebasierte CmActLicense, bei der die Lizenz an einen Rechner gebunden wird.
Mit AxProtector Java können flexible Lizenzierungsmodelle auf Klassen- oder Methodenebene einfach und schnell umgesetzt werden. Die Lizenzierungskonfiguration kann sowohl über eine graphische Benutzeroberfläche, eine xml-Datei oder direkt im Java Source Code per Annotation gesteuert werden, wodurch eine einfache Integration in die Build- und Auslieferungsprozesse ermöglicht wird.
Webinar anschauen: https://youtu.be/TwUo6D5C2lg