CoCoon - Codesign for Countermeasures against Malicious Applications on Java Cards

  • Berlach, Reinhard, (Teilnehmer (Co-Investigator))
  • Steger, Christian (Teilnehmer (Co-Investigator))
  • Lackner, Michael, (Teilnehmer (Co-Investigator))
  • Irauschek, Michael, (Teilnehmer (Co-Investigator))

Projekt: Foschungsprojekt

Projektdetails

Beschreibung

Java Karten sind kleine elektronische Geräte mit stark eingeschränkten Ressourcen. Ihre
Hauptaufgabe ist es sicherheitskritische Daten zu verarbeiten und zu speichern. Heutzutage
werden diese Karten in verschiedenen Kontexten eingesetzt wie elektronisches Geld,
Zugangskontrollen oder elektronische Reisepässe. Die Anzahl dieser Karten wird sich in
naher Zukunft, wegen der wachsenden Zahl von Smartphones und mobilen drahtlos verbundenen
Geräten, immer weiter erhöhen. Java Karten werden in verschiedenen sicherheitskritischen
Systemen eingesetzt wie bei Nahfeldkommunikation (Near Field Communication,
Abkürzung NFC) und bei Fingerabdrucksensoren. Java Karten unterstützen verschiedene
kryptographische Funktionen wie Checksummenberechnung, Entschlüsselung und Verschlüsselung von Daten mithilfe von geheimen Schlüsseln. Diese Schlüssel werden sicher
in der Karte gespeichert und verwaltet. Die Sicherheit der Java Karten Anwendungen
werden durch das Java Karten Sandbox Modell gewährleistet. Dieses Modell gewährleistet,
dass keine Java Karten Anwendung, die auf der Karte ausgeführt wird, in der Lage
ist illegale Operationen auszuführen. Das Modell basiert auf der Tatsache, dass vor der
Anwendungsinstallation ein einmaliger Veriffikationsprozess ausgeführt wird. Diese Veriffikation stellt sicher, dass die Anwendung die Java Karten Spezifikation erfüllt und keine
illegalen Operationen oder Speicherzugriffe enthält. Unglücklicherweise ist es mithilfe einer
Laufzeitattacke möglich das Sandbox Modell zu umgehen. Eine Laufzeitattacke ist
zum Beispiel ein Beschuss mit einem Laser oder ein kurzzeitiger Spannungsabfall in der
Stromversorgung.
In dieser Arbeit werden neuartige Gegenmaßnahmen gegen verschiedene Attacken vorgestellt
um eine zukünftig sichere Java Karte zu ermöglichen. Diese Gegenmßnahmen
werden entweder rein in Software oder mit Hardwareunterstützung ausgeführt. Neuartige
digitale Schutzeinheiten werden in die Karte integriert um Speichergrenzen, Java
Datentypen, Kontroll
uss und Datenintegrität während der Laufzeit zu überprüfen. Die
Schutzeinheiten werden durch das Einfügen von neuen sicherheitsrelevanten Instruktionen
in den Befehlssatz von zwei Java Karten Modellen angesprochen. Das erste Modell
ist ein schnell ausführbares und leicht modifizierbares Systemmodell in der Hardwarebeschreibungssprache
SystemC. Das zweite Modell ist ein taktgenaues Modell von Oregano
Systems welches in VHDL programmiert ist. Der Prozessor der beiden Modelle ist
ein 8-Bit 8051 kompatibler Prozessor. Beide Modelle werden während dieser Arbeit zur
Erforschung von verschiedenen Software und Hardware Gegenmaßnahmen von Attacken
eingesetzt. Die Verschiebung der Sicherheitsfunktionen von Software zur Hardware erhöht
die Ausführungsgeschwindigkeit von Anwendungen auf der Karte. Die zusätzlich erforderliche
digitale Logik für die neuen digitalen Schutzeinheiten bleibt relativ gering. Solch
eine erhöhte Sicherheit für Java Karten wird benötigt, um zum Beispiel die sichere Installation
und Ausführung von Anwendungen zu ermöpglichen die durch den Kartenbenutzer
installiert werden. Eine solche, vom Kartenbesitzer kontrollierte Karte, könnte ein nächstes
profitables Geschäfts- und Anwendungsfeld für Java Karten sein.
StatusAbschlussdatum
Tatsächlicher Beginn/ -es Ende1/04/1130/09/14