Cryptography Reference
In-Depth Information
cherschutz, der eine nicht beabsichtigte Interaktion von Applikationen verhindert, ist für Chip-
karten-Betriebssysteme ein wichtiges Sicherheitsmerkmal und wird im Java™-Card-Standard
noch weiter ausgebaut. Ein weiterer Vorteil von Java™ ist das kompakte Bytecode-Format.
Dadurch benötigen nachgeladene Java™-Card-Applikationen relativ wenig nichtflüchtigen
Speicher (EE- oder Flash-Speicher) auf der Chipkarte. Nachteilig für bestimmte Chipkarten-
Anwendungen ist bei JavaCard™ allerdings die langsamere, da interpretierte Ausführung des
Programms und der höhere Bedarf an flüchtigen RAM-Speicher.
Java™-Laufzeitumgebungen existieren für unterschiedlich ausgerichtete Systeme:
Die J2EE-Laufzeitumgebung (Java™ Enterprise Edition) führt Internet-Applikationen auf
Servern aus.
Die J2SE-Laufzeitumgebung (Java™ Standard Edition) ist fester Bestandteil in fast allen
Internet-Browsern und ermöglicht die Ausführung von Java™-Applets und Java™-
Applikationen auf PCs.
Die J2ME-Laufzeitumgebung (Java™ Micro Edition) ist für kleine mobile Geräte wie
Mobiltelefone oder PDAs konzipiert.
Die JavaCard™-Laufzeitumgebung ist für Chipkarten in [JCRE03] spezifiziert.
Die kleinste Java™-Laufzeitumgebung wird vom JavaCard™-Forum (JCF) für Chipkarten
spezifiziert [JC06]. Das JCF ist ein Zusammenschluss der verschiedenen Chipkarten-Hersteller
mit SUN, der 1997 ins Leben gerufen wurde. Ziel war es, Java™ speziell für Chipkarten zur
Verfügung zu stellen. Im Vergleich zu den anderen Java™-Derivaten besitzt JavaCard™ eini-
ge Besonderheiten:
JavaCard™-2.x besitzt einen deutlich veränderten Interpreter im Vergleich zu den anderen
Java™-Standards (siehe [VM03]).
JavaCard™-Anwendungen werden über einen eigenen Prozess auf Chipkarten installiert
und sind in einem speziellen Ladeformat CAP-Datei (Converted Applet) codiert.
Die JavaCard™-Laufzeitumgebung verfügt über zusätzliche Sicherheitsmechanismen, wie
die Bytecode-Firewall oder auch ein spezielles Transaktions-Handling, [API221]. Das
Transaktions-Handling ermöglicht atomare Vorgänge. Ein atomarer Vorgang hat entweder
seinen Ausgangs- oder Zielzustand eingenommen. Ein Zwischen-Zustand ist nicht möglich.
„Atomarität“ ist zum Beispiel für das Verändern eines Geldbörsenbetrags auf der Chipkarte
notwendig.
Die Unterschiede von JavaCard™ im Vergleich zu anderen Java™-Varianten zeigen deutlich
die Besonderheiten von Chipkarten-Betriebssystemen hinsichtlich Sicherheit und begrenzter
Ressourcen. Gerade deshalb wurde auch das JCF gegründet, da nur Chipkarten-Hersteller über
dieses KnowHow verfügen. Sie arbeiten im JCF eng mit SUN, der Firma, die das System Ja-
va™ entwickelt hat, zusammen. Java™ ist sowohl eine Programmiersprache, als auch die
Beschreibung einer Laufzeitumgebung, in der die Java™-Applikationen ausgeführt werden.
Der JavaCard™-Interpreter verfügt, im Gegensatz zum Standard-Java™, über den speziellen
Sicherheitsmechanismus der Bytecode-Firewall, Abb. 7-6. Einzelne JavaCard™-Applets sind
in Applikations-Kontexte zusammengefasst und gekapselt. Ein Zugriff über einen Applikati-
ons-Kontext ist nur bei Einhaltung bestimmter Sicherheits-Bedingungen möglich. Dadurch
wird verhindert, dass Applikationen unterschiedlicher Anbieter sich unbeabsichtigt gegenseitig
Search WWH ::




Custom Search