Zum sicheren Speichern von Lizenzen und Berechtigungen dient entweder die rein softwarebasierte CmActLicense oder die Schutzhardware CmDongle, die es für USB, SD, microSD, CFast, CF oder als ASIC im kleinen VQFN-Gehäuse mit USB- und SPI-Schnittstelle gibt (Bild oben links). Alle Bauformen enthalten einen SmartCard-Chip, ähnlich wie in der Gesundheitskarte oder im Reisepass. Als Verschlüsselungsverfahren stehen sowohl die symmetrische Verschlüsselung AES (Advanced Encryption Standard) als auch die asymmetrische Verschlüsselung mit RSA oder ECC (Elliptic Curve Cryptography) zur Verfügung.
»Security by Obscurity«, auf den ersten Blick undurchschaubare, geheim gehaltene Verfahren taugen meist nicht. Besser ist es, die Schutzverfahren offenzulegen, sodass sich evaluieren lässt, gegen welche Angriffe die Mechanismen Schutz bieten. Bei größeren Datenmengen und Programmcodes oder beim präventiven Schutz vor Produktpiraterie und modularer Lizenzierung wird symmetrisch verschlüsselt. Die Schlüssel werden sicher gespeichert und können nicht dupliziert werden. Der höchste Schutzgrad wird mit speziellen Crypto-Controllern oder SmartCard-Chips erreicht, die auch die Hardware gegen Angriffe schützen und nach internationalen Standards wie Common Criteria zertifiziert sind.
Beim Integritätsschutz geht es vor allem darum, dass Patientendaten oder der Programmcode nicht manipuliert werden können. Durch asymmetrische Verschlüsselung mit RSA bzw. ECC oder durch elektronische Signaturen kann sichergestellt werden, dass das Zielsystem selbst prüfen kann, ob die Daten unverändert sind und ob sie von einem berechtigten Herausgeber kommen. Die genannten Verfahren bilden nur die Basis. Wie immer stellt sich für Gerätehersteller die Frage: »Make or Buy?« Nicht jeder Entwickler ist mit der Kryptographie vertraut und kann komplette Konzepte umsetzen, die die Mechanismen bei Daten und Programmen anwenden, Schlüssel erzeugen und verteilen, diese sicher im Zielsystem speichern und auch die Integration in Geschäftsprozesse und eCommerce-Anwendungen, AppStores und ERP-Systeme realisieren.
Ein Schutz für alle Fälle
Sowohl für die Integration in die Produkte als auch in die Prozesse sind bereits Werkzeuge am Markt erhältlich. Sie bieten in der Regel einen sehr guten Schutz und werden kontinuierlich weiterentwickelt – wie zum Beispiel der CodeMeter. Neben der oben genannten sicheren Speicherung der Schlüssel und Optionen, mit denen beliebige Lizenzmodelle abgebildet werden, gehören die Tools zur Integration in die Software dazu. Mithilfe der Protection Suite (Bild 1) und dem CodeMeter API wird der Schutz eingebaut.
Mit der Protection Suite wird die generierte Software zusätzlich verschlüsselt. Sie enthält zwei grundlegende Optionen: AxProtector und ExProtector. Ersterer wird auf Standardbetriebssystemen wie Linux, Android, Windows oder macOS verwendet. Er kann für native Code, .NET und Java verwendet werden. Der ExProtector wird auf Geräten eingesetzt, bei denen der Hersteller selbst das Betriebssystem an seine Bedürfnisse anpasst, beispielsweise bei VxWorks oder Linux. Die Architektur von ExProtector enthält weitergehende Möglichkeiten, um die Integrität des gesamten Gerätes sowie die Authentizität der Software sicherzustellen.
Mit der CodeMeter License Central können Lizenzen individuell erstellt, verwaltet und ausgeliefert werden. Je nach Kundenwunsch lässt sie sich als On-Premise-Software direkt beim Kunden oder durch Wibu-Systems in der Cloud betreiben.