Codemeter Embedded 2.0

Embedded-Systeme schützen

Codemeter Embedded 2.0

Wie lässt sich Know-how schützen und mit einem entwickelten Gerät oder der Software Geld verdienen? Verschlüsselung macht beides möglich. Doch ist der beste Verschlüsselungsalgorithmus nutzlos, wenn der dazugehörige Schlüssel nicht sicher verwahrt wird. Daum stellen sich weitere Fragen: Wie wird der Schlüssel übertragen? Wie kann er im Feld aktualisiert werden, auch wenn das System offline ist? Ist dies dann immer noch auf dem höchsten Sicherheitsniveau? Wie verwalten der Hersteller und der Kunde alle Schlüssel der betriebenen Geräte?

Die Schutzhardware CmDongle gibt es für unterschiedliche Bauformen. Die Schlüssel und Lizenzen werden im Smart Card Chip sicher abgelegt. (Bild: Wibu-Systems AG)

Die Verschlüsselung basiert bei Codemeter auf AES und elliptischen Kurven (ECC), Schlüssel werden wahlweise in einer Hardware oder Datei abgelegt. Hardware bedeutet hier ein Secure Element – ein individualisierter Chip, der alle geheimen Informationen intern enthält und nicht preisgibt. Kryptographische Berechnungen werden auf einem eigenen Prozessor innerhalb des Chips durchgeführt, die Schlüssel verlassen diesen also nicht, nur die berechneten Ergebnisse werden nach außen zur Verfügung gestellt. Das ist der höchste Sicherheitslevel und wird in ähnlicher Form auch von der SIM-Karte im Handy oder einem TPM-Chip vorgenommen. Dieser Chip kann in Form eines USB-Dongles, einer microSD-Card oder auch als ASIC per SPI-Anbindung mit dem System kommunizieren. Wird eine rein softwarebasierte Lösung benötigt, so deckt CmActLicense die gleiche Funktionalität wie ein Dongle ab, nur dass die Kryptooperationen hier nicht in einer speziellen Hardware, sondern auf dem geschützten System selbst ablaufen. Die CmActLicense-Datei ist dabei selbst verschlüsselt und an verschiedenen individuellen Merkmale des Systems gebunden, damit diese nicht kopierbar ist. Ein weiterer Weg der Schlüsselspeicherung ist die Freigabe eines Codemeter-Servers über ein Netzwerk. So können mehrere Geräte ihre Lizenzen von einer zentralen Instanz beziehen, ohne dass jedes Gerät mit individuellen Lizenzen ausgestattet werden muss. Die Kommunikation selbst ist dabei mit wechselnden Transportschlüsseln gesichert, so dass auch hier Abhören oder Manipulieren unmöglich ist. Zum Codemeter-API sind diese Varianten alle transparent und können bei Bedarf auch gemischt werden, da alle Schlüsselspeichermethoden funktionskompatibel sind.

Modularer Aufbau von CodeMeter Embedded 2.0, sodass jeder Hersteller die für seine Anwendung passende Konfiguration nutzen kann. (Bild: Wibu-Systems AG)

Wie kommen Schlüssel und Lizenzen in den Schlüsselspeicher?

Auch das ist in der Praxis umfangreicher als nur der Schlüsseltransport selbst: die Lizenzen müssen auch verkauft, erzeugt und verwaltet werden. Das Erzeugen und Verwalten übernimmt ein Tool namens Codemeter License Central. Wie die anderen Systeme skaliert es von der Einzelplatzinstallation auf einem Rechner für kleine Stückzahlen und manuelle Lizenzerzeugung über kleine Online-Shopsysteme bis hin zur Anbindung an unternehmensweite ERP- Systeme mit hochverfügbarem Hosting in beliebigen Rechenzentren. In der Codemeter License Central werden für jedes Zielgerät individuelle Lizenzen erzeugt. Diese Updatedatei kann mit beliebigen Medien transportiert werden, da sie zum einen verschlüsselt und manipulationssicher ist und zum anderen nur innerhalb des für die vorgesehenen Lizenzcontainers — also Dongle oder CmActLicense – entschlüsselt werden kann. Auf diesem Weg können auch nach der Auslieferung noch Funktionserweiterungen freigeschaltet werden oder lauf- oder stückzahlbegrenzte Lizenzen erneuert werden. Auch die Freischaltung einer Demolizenz zu einer Vollversion ist möglich. Die AES-Verschlüsselung ist erwiesenermaßen sicher. Wenn etwas geknackt wird, ist oft ein Implementierungsfehler schuld, nicht der Algorithmus selbst. Mit der Protection Suite steht ein Tool zur Verfügung, das die Verschlüsselung der zu schützenden Programme oder Libraries übernimmt. Ohne weitere Kenntnisse in Verschlüsselungstechniken kann ein Entwickler hier nach Abschluss seiner Funktionstests die Software schützen und das Lizenzsystem aktivieren. Verschlüsselung, Anhängen des Entschlüsselungstools und der Metadaten erledigt ein Codemeter-Tool.

Was ist neu bei Codemeter 2.0 (CmE 2.0)?

Zum einen ist CmE 2.0 jetzt in der Lage, mit mehreren Prozessen auf einen Schlüsselspeicher zuzugreifen. Leistungsfähige Systeme im Embedded-Markt ermöglichen jetzt eine Erweiterung der Funktionen, so dass sich mehrere geschützte Programme oder Prozesse den Zugriff auf einen CmContainer teilen können. Durch ein intern verändertes Design wird das Lizenzsystem dadurch flexibler und performanter, genannt License Core. Die neue Funktion ermöglicht auch die Anbindung an weitere Softwarekomponenten. So kann, basierend auf dem License Core, jetzt auch ein OPC UA-Stack genutzt werden, der Codemeter als Schlüsselspeicher nutzt. Auch das Update der CodeMeter-Lizenzen ist über das OPC UA-Protokoll möglich. Durch den vermehrten Einsatz von Secure Elements in Form von Chips, die direkt beim Design neuer Hardware im Layout berücksichtigt werden, wurde die SPI-Schnittstelle für die Kommunikation implementiert. Dies spart den Umweg über den USB-Stack, spart somit Strom und bindet den Chip direkt an. Weiterhin bleibt der CmE kein Produkt von der Stange – viele Funktionen sind modular ausgeführt. Ziel ist und bleibt, eine möglichst kompakte Software zu liefern. Was nicht benötigt wird, wird auch nicht mit ausgeliefert. Daher wird bei einer Neukundenanfrage auch zunächst das Zielsystem und der Use Case betrachtet und dann ein entsprechendes Paket geschnürt. So ist es möglich, dass der CmE mit den Kundenanforderungen individuell skaliert und nicht als monolithischer Block daherkommt und unnötig Systemressourcen belegt.

WIBU-Systems AG
www.wibu.de

Das könnte Sie auch Interessieren