PROTECTION
CodeMeter Embedded trifft TPM
Wie bringt man CodeMeter Embedded und ein TPM zusammen? Manchmal ist auf einem Embedded-Gerät oder einem IoT
Device bereits ein TPM oder ein ähnliches Secure Element vorhanden. Da liegt die Frage nahe, ob man dieses Secure Element
nicht auch wie einen CodeMeter ASIC als sicheren Schlüsselspeicher nutzen kann, zumal diese Module bei hohen Stückzahlen
sehr preiswert sind oder für Bezahlsysteme ohnehin bereits auf der Zielhardware vorhanden sind.
Die Antwort lautet: Ja, das geht mit CodeMeter
Embedded. Die Leistung eines CodeMeter
ASIC wird ein TPM jedoch nie erreichen können.
Die CodeMeter-Hardware im Dongle oder
ASIC ist hinsichtlich des Secure Elements
sehr leistungsfähig und hat eine für den Code-
Meter-Betrieb optimierte Speicherstruktur und
Firmware. TPM-Chips und andere Secure
Elements sind mit einem anderen Ziel entwor-
fen worden: möglichst preisgünstig einen oder
mehrere sichere Anker für Secure Boot oder
andere betriebssystemnahe Prozesse bereit-
zustellen. Allein beim verfügbaren sicheren
Speicher ist ein CodeMeter-Chip haushoch
überlegen, von den Möglichkeiten wie Code
Moving ganz zu schweigen.
Falls der Einsatz eines hochsicheren CodeMeter
ASIC nicht notwendig ist, kommt oft CmAct-
License zum Einsatz. Die Struktur der Daten-
speicherung ist kompatibel zum CmDongle, die
Daten werden jedoch in einer speziellen Lizenz-
datei abgelegt. Damit diese sicher ist, muss
12
sie an bestimmte Merkmale des Systems ge-
bunden werden. Ohne eine feste Verankerung
im System könnte die Datei kopiert werden.
Bei CmActLicense gibt es dafür die kunden-
spezifischen Bindungen. Hier wird die Lizenz
an individuelle, auf dem Embedded-System
verfügbare Merkmale gebunden wie zum
Beispiel CPU ID, MAC, GPU ID oder IMEI.
Diese Anpassung muss von jedem Hersteller
vorgenommen werden.
An dieser Stelle kann die TPM-Integration helfen.
Im einfachsten Fall stellt das TPM mit dem En-
dorsement Key ein individuelles Merkmal bereit,
an dem die CmActLicense verankert werden
kann. Auf diese Weise werden beide Welten
miteinander verknüpft: Die CmActLicense stellt
die sichere Speicherstruktur und als sicherer
Anker dient das TPM oder ein anderes Secure
Element, aus dem eine individuelle, krypto-
graphisch gesicherte Identität gelesen werden
kann.
Mit einem TPM lässt sich auch eine Bindung
realisieren, die auf unterschiedlichen Systemen
funktioniert und die nicht an jede Hardware
neu angepasst werden muss. Dazu wird
anstelle des reinen Auslesens der individuellen
Identität ein kryptographischer Prozess ini-
tiiert: die Platform Attestation. Damit wird
die Authentizität des Schlüssels geprüft und
sichergestellt, dass der CodeMeter Embedded-
Prozess in der gesicherten Software wirklich
direkt mit dem TPM kommuniziert.
In dieser Kombination funktioniert die CmAct-
License als sicherer Speicher für Schlüssel und
Zertifikate. Dieser Softwaretresor ist mit einem
Schlüssel abgeschlossen, der sich im TPM, also
in einer gesicherten Hardware, befindet. Damit
ist die Kombination von TPM und CmActLicense
ein guter und universeller Weg, wenn kein
CmDongle oder CodeMeter ASIC zum Einsatz
kommt, aber trotzdem ein hardwarebasierter
Schlüsselspeicher gewünscht ist.