Cryptography Reference
In-Depth Information
beeinflussen. Zum Beispiel darf es nicht möglich sein, dass einer anderen JavaCard™-
Anwendung den Geldbetrag einer elektronischen Börsen-Applikation manipuliert. Anderseits
soll aber die elektronische Börsen-Applikation in der Lage sein, eine Bonuspunkte-
Applikation über erfolgte Zahlungen zu informieren. Die dafür benötigten Informationen müs-
sen zwischen beiden Applikationen über die Bytecode-Firewall ausgetauscht werden. Dieses
Beispiel zeigt, dass die Bytecode-Firewall ein komplexer Sicherheits-Mechanismus in Java-
Card™-Chipkarten ist, der entsprechend auch Auswirkungen auf die Ausführungsgeschwin-
digkeit des JavaCard™-Bytecode-Interpreters hat.
Separation der Kontexte
durch Firewall
Applikations-
Kontext 2
Applikations-
Kontext 1
Applet
1
Applet
2
Applet
3
Applet
1
Applet
2
Java Card
Virtuelle Maschine
Abb. 7-6: Die Bytecode-
Firewall - Ein spezieller
Sicherheits-Mechanismus in
der JavaCard™-Virtuellen-
Maschine
Chipkarten Betriebssystem
Um das Laden von JavaCard™-Applikationen möglichst effizient zu realisieren, wurde das
CAP -Format im JCF spezifiziert (CAP, Converted Applet). Im CAP-File sind bestimmte
Strukturen schon so vorbereitet, dass der Bytecode-Loader auf der JavaCard™-Chipkarte mit
möglichst wenig Verarbeitungsschritten die JavaCard™-Applikation in den NVM (Non Vola-
tile Memory d.h. Flash- oder EE-Speicher) auf der Chipkarte ablegen kann.
Gerade das CAP-File trägt einen wichtigen Teil zu der Interoperabilität von Java™-Chipkarten
verschiedener Hersteller bei. Erst ein einheitliches Ladeformat wie CAP gewährleistet einen
herstellerunabhängigen Ladevorgang nach Chipkarten-Ausgabe. Das CAP wird, wie in Abb.
7-7 dargestellt, aus einer oder mehreren Class-Dateien vom CAP-File-Converter erzeugt.
Class-Dateien sind das Binärformat, in dem alle Java™-Applikationen vorliegen, nachdem der
Java-Compiler die Source-Code-Dateien für die Java-Laufzeitumgebung aufbereitet hat. Bei
der Umwandlung einer Class-Datei in die CAP-Datei findet auch eine Überprüfung des Java-
Programms statt. Normalerweise, d.h. in J2ME, J2SE und J2EE, ist diese Verifikation komplett
in die VM der Java™-Laufzeitumgebung integriert. Nur bei Chipkarten findet aus Ressour-
cengründen ein Teil dieser Überprüfung außerhalb der Laufzeitumgebung statt.
Search WWH ::




Custom Search