Sicherheit durch Kryptochip-Speicherkarten

Ordnungsmerkmale

erschienen in: <kes> 2006#5, Seite 62

Rubrik: BSI Forum

Schlagwort: Krypto-Hardware

Zusammenfassung: Die Vereinigung von mobilen Speicherkarten und Krypto-Smartcards – im folgenden Kryptochip-Speicherkarte genannt – erschließt die Nutzung von Kryptohardware für mobile Endgeräte. Die Kryptochip-Speicherkarte kann grundsätzliche Abhängigkeiten konventioneller Smartcards von ihrer Umgebung (z. B. Lesegerät) aufheben und ermöglicht so neue Sicherheitsarchitekturen. Neue Sicherheitsanwendungen und die prototypische Umsetzung werden an zwei Beispielen vorgestellt.

Autor: Von Markus Buschky und Heiko Knospe, Fachhochschule Köln, Cezary Glowacz, Lars Hanke und Georg Wambach, T-Systems und Antonius Klingler, BSI

Die Kombination von mobilen Speicherkarten (SD, MMC, USB) mit Krypto-Smartcards stellt eine neue, aktuelle Entwicklung im Bereich der Hardware-Sicherheit dar. Beispiele sind Lösungen der Firmen RSA, Kobil, IICS, Renesas, Giesecke & Devrient und Samsung. Erste erfolgreiche Anwendungen insbesondere im E-Government-Bereich, zum Beispiel durch T-Systems, NCP und Utimaco, belegen das Potenzial dieser Kombination.

Die Kryptochip-Speicherkarte bietet bis auf die optische Ausweisfunktion sämtliche Möglichkeiten konventioneller, scheckkartengroßer Smartcards und hat darüber hinaus eine Reihe von Vorteilen: Die Bauform und die Speicherkarten-Schnittstelle ermöglichen den Verzicht auf separate Lesegeräte, die für mobile kleine Endgeräte wie PDAs und Smartphones nicht zur Verfügung stehen oder die Handhabung erschweren. Der nichtflüchtige Speicher mit bis einigen Gigabyte Speicherkapazität kann die dazugehörige Anwendungssoftware gleich mit aufnehmen und vom Anwender für die sichere Datenspeicherung und den Datentransport genutzt werden. Mit dem Multi Media 2.0 Standard wird zudem die Übertragung von so genannten Application-Protocol-Data-Unit-Kommandos (APDU) über die Speicherkarten-Schnittstelle genormt, sodass Smartcard-Befehle direkt verfügbar werden.

Kryptochip-Speicherkarten ermöglichen also die Nutzung von Krypto-Smartcards in mobilen Endgeräten. Auf den ersten Blick bleiben die nachfolgend genannten Nachteile konventioneller Krypto-Smartcards bestehen: Die Ver- und Entschlüsselung großer Datenmengen muss auf dem Endgerät erfolgen. Die Speicherung wichtiger Daten – ob nun signiert, verschlüsselt oder signiert und verschlüsselt – wird nicht durch die Krypto-Smartcard kontrolliert; dadurch können zum Beispiel Integritätsverletzungen nur erkannt, aber nicht verhindert werden. Oft stellt die Krypto-Smartcard nur eine Sicherheitskomponente des Anwendungssystems dar, dessen Gesamtsicherheit durch die Endgeräte- oder Serveranwendung mitbestimmt wird. Diese sind jedoch weiteren Bedrohungen ausgesetzt (z. B. durch manipulierten Code).

Kryptochip-Speicherkarten können aber mehr als konventionelle Krypto-Smartcards. Die schnellere Schnittstelle mobiler Speicherkarten eröffnet neue Einsatzmöglichkeiten bis hin zur Echtzeitverschlüsselung in der Breitbandkommunikation. Die exklusive Reservierung von Megabytes an nichtflüchtigem Speicher für die Krypto-Smartcard ermöglicht erstmals den endgeräteunabhängigen Komplettschutz großer Datenmengen. Die vergleichsweise hohe Performance und die Verfügbarkeit eines großen Speichers entwickeln den Gedanken eines kompakten Komplettsystems konsequent fort und ermöglichen somit das Potenzial neuer persönlicher, unternehmens- oder institutionseigener Sicherheitsanwendungen zu erschließen.

Schematischer Aufbau

Der Aufbau einer Kryptochip-Speicherkarte ist in Abbildung 1 schematisch dargestellt. Die Darstellung beruht auf heute verfügbaren Kryptochip-Speicherkarten und ist auf Varianten wie die High-Density-SIM der Firmen Spansion oder Atmel übertragbar. Das Terminal (Endgerät) umfasst die Terminal-Anwendung, welche die Speicherbefehle über das Betriebssystem überträgt und die kryptographische Kommunikation mit der Kryptochip-Speicherkarte über die Schnittstellen PKCS#11, Microsoft CSP oder direkt bewerkstelligt. Der Controller der Kryptochip-Speicherkarte verteilt die standardisierten Befehle an die Speicherkarte beziehungsweise an die Krypto-Smartcard. In der Krypto-Smartcard wird dann die ausgewählte Smartcard-Anwendung angesprochen.

[Illustration]
Abbildung 1: Vereinfachte Darstellung von Terminal und Kryptochip-Speicherkarte

Zusätzlich zum sicheren Speicherbereich einer konventionellen Smartcard von typisch 32 oder 64 Kilobytes kann die Kryptochip-Speicherkarte einen Teil ihres nichtflüchtigen Speichers exklusiv für die Krypto-Smartcard reservieren. Dieser Speicherbereich von vielen Megabytes kann auf mehrere Smartcard-Anwendungen verteilt und jeweils ausschließlich durch die zugewiesene Smartcard-Anwendung angesprochen werden. Solche Speicherbereiche sind unsichtbar für die Funktion als Speicherkarte und können vom Terminal nicht direkt adressiert werden.

Klassische Anwendungen

Die Kryptochip-Speicherkarte bietet wie eine konventionelle Smartcard einen sicheren Speicher für einige wenige geheime Schlüssel und kann Zertifikate bereitstellen. Beide Systeme offerieren kryptographische Operationen der Schlüsselerzeugung, des Schlüsseltauschs, der Signatur und Verschlüsselung und stellen eine sichere Ablaufumgebung für Smartcard-Anwendungen dar. Dem entsprechend ist die Krypto-Smartcard sehr gut für die Anwendungsfälle User Authentication, Data Encryption, Data Signature, Device Authentication, Secure Channel, Mobile Payment und Mobile Banking geeignet. In den Anwendungsfällen Digital Rights Management (DRM), Software Use (License) Management und Data Privacy Protection muss die Krypto-Smartcard durch eine verbundene Terminal-Anwendung ergänzt werden.

Ein herkömmlicher nichtflüchtiger Flash-Memory-Bereich bietet einen nur teilweise geschützten Speicher (mechanisch oder Passwort) und ist daher für Anwendungsfälle wie Secure Vault, Secure Mass Storage, DRM, Content Protection, Software Transfer, Mobile Ticketing und Data Privacy Protection nur bedingt geeignet. In diesen Anwendungsfällen muss die Sicherheit durch das Terminal oder gar eine Remote-Server-Anwendung durchgesetzt werden.

Neue Anwendungen

Die Kombination von Speicherkarten mit Krypto-Smartcards ermöglicht neue Sicherheitsarchitekturen für unsichere Umgebungen, insbesondere in den neun nachfolgend beschriebenen Anwendungsfällen.

Im Anwendungsfall Secure Vault schützt die Kryptochip-Speicherkarte sensitive Daten im reservierten Bereich, zum Beispiel das komplette Personal Secure Environment (PSE) einer Public-Key-Infrastruktur. Der Zugriff auf diesen Speicher wird durch die Kryptochip-Speicherkarte kontrolliert und so zum Beispiel das unbefugte Kopieren eines passwortgeschützten PSE oder das Hinzufügen von weiteren Wurzelzertifikaten verhindert.

Für Secure Mass Storage werden große Mengen sensitiver Daten durch die Kryptochip-Speicherkarte selbst verschlüsselt und abgelegt. Im Gegensatz zur Hybridverschlüsselung mit konventionellen Krypto-Smartcards verlässt kein geheimer Schlüssel die Kryptochip-Speicherkarte: Ver- und Entschlüsselung erfolgen nur innerhalb der Kryptochip-Speicherkarte.

Beim Anwendungsfall Platform Integrity werden mithilfe der Kryptochip-Speicherkarte Zielzustand und Integrität von Betriebssystem und Anwendungssoftware ohne externe Kommunikation gewährleistet oder wiederhergestellt. Die Kryptochip-Speicherkarte transportiert die Zielsoftware, schützt deren Integrität und dient der Zielsoftware während der Ausführung als externer Sicherheitsanker.

Zum Digital Rights Management (DRM) setzt die Kryptochip-Speicherkarte die Einhaltung der Nutzungsrechte durch und kann bei Bedarf Bezahlverfahren einbinden. Gerade weil die Kryptochip-Speicherkarte selbst den Speicher kontrolliert, sind erweiterte Nutzungsbeschränkungen wie write-only oder read-once einfach durchsetzbar.

Im Anwendungsfall Mobile Ticketing kann das elektronische Ticket durch die Krypto-Smartcard nicht-kopierbar im reservierten Speicherbereich gehalten und eigenständig überprüft werden. Mobile Tickets können somit ohne jede Serverkommunikation weitergegeben und kontrolliert werden. Auch werden Peer-to-Peer-Szenarien unterstützt.

Zur Integrity Attestation prüft die Kryptochip-Speicherkarte die Selbstauskunft des Terminals über seinen Zielzustand, wobei die Referenzangaben über den Zielzustand im reservierten Speicherbereich der Kryptochip-Speicherkarte hinterlegt sind.

Bei Data Privacy Protection werden persönliche Daten im reservierten Speicherbereich abgelegt und die Zugriffskontrolle durch die Krypto-Smartcard durchgesetzt. Im Gegensatz zur konventionellen Smartcard ist auch die integritätsgesicherte Protokollierung aller Zugriffe auf die reservierten Speicherbereiche möglich.

Für Online Encryption und Broadband Encryption wird der Controller der Kryptochip-Speicherkarte zur symmetrischen Hochgeschwindigkeitsverschlüsselung benutzt, wobei der geheime Schlüssel in der Krypto-Smartcard erzeugt und gegebenenfalls gespeichert wird.

Aktuelle Arbeiten

Prototyp Secure Mass Storage

In den Arbeiten der Autoren wurde der Anwendungsfall Secure Mass Storage wie oben beschrieben am Beispiel einer am Markt verfügbaren Kryptochip-Speicherkarte realisiert. Hierzu wurden einschlägige Standards der Java-, Terminal- und Smartcard-Programmierung benutzt. Die durch die Closed-Source-Entwicklungsumgebungen generierten Smartcard- und Terminal-Anwendungen und die Kommunikation mit der Kryptochip-Speicherkarte wurden analysiert. Die Autoren rekonstruierten die Funktion der exklusiven Reservierung von Speicherbereichen für die Krypto-Smartcard und realisierten die Terminal- und Kartenanwendungen unter Einbeziehung des gesicherten Flash-Speichers. Die Implementierung diente als Proof-of-Concept für den genannten Anwendungsfall. Aufgrund des Entwicklungscharakters können keine abschließenden Aussagen zur Performanz gemacht werden.

Prototyp Breitbandverschlüsselung

In weiteren Arbeiten der Autoren wurden die symmetrische Hochgeschwindigkeitsverschlüsselung durch den Controller der Kryptochip-Speicherkarte spezifiziert und die Hardware-Entwicklungsmöglichkeiten ausgelotet. Im Rahmen geplanter Arbeiten wird eine Proof-of-Concept-Hardwarelösung entwickelt. Das Projektumfeld und die vorgesehenen Einsatzbereiche sehen eine siebenstellige Anwenderzahl allein im öffentlichen Bereich in Deutschland vor.

Weiterentwicklungen

Aus Sicht der Autoren bietet sich eine Weiterentwicklung der Nutzung von Kryptochip-Speicherkarten insbesondere im Bereich des Trusted Computing an. Die Spezifikationen der Trusted Computing Group (TCG) sehen grundsätzlich eine Vertrauensinfrastruktur beschränkter Flexibilität und für das Trusted Platform Module (TPM) unter anderem keine symmetrische Verschlüsselungsfunktion vor. Hierauf aufbauende Ansätze benötigen eine eigene Terminalarchitektur beziehungsweise eine Aufgabenteilung mit konventionellen Smartcards im Rahmen der beschränkten Möglichkeiten. Die Kryptochip-Speicherkarte hingegen kann über die Wahrnehmung von Teilaufgaben hinaus insbesondere die Rolle des Servers gegenüber dem Terminal wahrnehmen. Sie bietet die einzigartige Chance, als Person oder Unternehmen beziehungsweise Institution die Hoheit über das Terminal zu erhalten, und ist damit notwendiger Bestandteil eines Personal Trusted Device. Entsprechende Weiterentwicklungen sind beabsichtigt.