Content

Scroll back

Bürgerkarte mittels ARM TrustZone®

Für dieses Projekt wurde das ARM TrustZone® Betriebssystem
ANDIX OS verwendet, welches auf einem IMX53 Quick Start Board und einem Qemu
emulator lauffähig ist. Beide Platformen unterstützen die ARM TrustZone® Mechanismen.
Die Idee dieses Projektes ist einen Protoypen zu erstellen, welcher den privaten Schlüssel
statt auf einer Smartcard zu speichern in einem ARM TrustZone® geschützen Bereich zu
speichern. Die folgende Grafik illustriert die Umsetztung des Prototypen.
MOCCA bietet wie üblich eine Security Layer Endpunkt an. Bei einer Signaturanfrage wird eine
Verbindung mit dem RSA Trustlet in der TrustZone aufgebaut. Dieses Trusted Application
(Trustlet) verwaltet die privaten Schlüssel und erlaubt nur die Nutzung dieser Schlüssel eine
Extraktion des Schlüssels ist wie bei einer Smartcard nicht möglich. Das RSA Trustlet erzeugt
eine Signatur mit Hilfe des privaten Schlüssels und returniert die Signatur zurück an
MOCCA. Auf diese Weise wurde eine virtuelle Smartcard simuliert und eine ARM
TrustZone® implementiert.
Im Zuge dieses Projekts wurde eine Trusted Application (RSA Trustlet) weiterentwickelt, um
PKCS 1.5 Signaturen mittels RSA Schlüsseln in der TrustZone zu ermöglichen. Desweiteren
wurde MOCCA um eine spezielle Softwarekarte, eine Trusted Application Library und eine
JNI basierte Kommunicationsbibliothek erweitert. Mit diesen Komponenten war es möglich
MOCCA als lokale Bürgerkartenumgebung im Emulator zu starten, eine Kommunikation
mit der Trusted Application in der ARM TrustZone® herzustellen und eine ARM TrustZone®
basierte Bürgerkartenimplementierung umzusetzen.



Scroll forward