Chipkarten Projekt
„Die Multi-Abo-Karte“
WS 2002 / 2003
Die Multi-Abo-Karte
• Eine Multi Abo Karte soll bargeldlose Transaktionen für
Veranstaltungen bei verschiedenen Providern ermöglichen.
• Es werden z.B. Eintrittskarten für Theater, Kino und
Fußballstadion gebucht.
• Die Termine werden bezahlt und als Datensatz auf die Karte
gespeichert.
• Beim Eintritt wird die Karte von einem Terminal abgefragt und
der Datensatz von der Karte gelöscht.
• Durch Verschlüsselung und PIN soll die Sicherheit gewährleistet
werden.
Das Projekt
• Das Problem
Jeder Abo- bzw. Eintrittskarten-Provider muss sein eigenes Applet
auf der Karte zur Verfügung stellen, obwohl alle den gleichen
Zweck haben.
• Die Lösung
– Ein Applet bedient mehrere Provider.
– Jeder Provider bekommt seinen eigenen (verschlüsselten) Anteil
am Datenbereich des Applets.
– Abhängig von der eingegebenen Provider-ID legt das Applet den
Speicherbereich fest, in dem gearbeitet wird.
Die Komponenten
• OffCard GUI
– Eingabeoberfläche für die Administration der Chipkarte
• OffCard Security
– Klassen, die der GUI für Authentifizierung und Personalisierung der
Karte zur Verfügung gestellt werden
• DataLayer
– Schicht zwischen OffCard und OnCard
• OnCard Applet
– Applikation auf der Chipkarte, welche die Informationen verwaltet
• OnCard Security
– Pinverwaltung, Personalisierung und Verschlüsselung auf der Karte
OffCard GUI
• Administrationstool für die Chipkartenanwendung
• Graphische Oberfläche mit Java Swing
Folgende Aktionen können aus der GUI gestartet werden
• Lesen der Datensätze je Provider
• Anlegen der Datensätze je Provider
• Löschen der Datensätze je Provider
• Kommuniziert mit der OnCard Applet Anwendung
• Verwendet Klassen der OffCard Security
OffCard Security
• Sicherheitsfeatures der GUI werden in der OffCard Security in
Form von Java Klassen ausgelagert
• Stellt die Authentizität von Terminal und Chipkarte sicher
• Personalisiert die Karte bei erstmaliger Benutzung
• Verifizierung der PINs
• Kommuniziert mit der OnCard Security
DataLayer
• Schnittstelle zwischen OffCard und OnCard
• Stellt der OffCard Anwendung Methoden für die Kommunikation
zur Chipkarte zur Verfügung
• Mittels des Treibers von Giesecke & Devrient werden
entsprechende APDUs zur Karte geschickt
• Response APDUs werden als Rückgabewerte dem OffCard Teil
übergeben
• Über ein TestTool können einzelne APDUs über die Konsole
direkt an die Karte geschickt werden
OnCard Applet
• Anwendung auf der Java Card wird als Applet implementiert
• Applet steuert die Kommunikation mit dem Terminal
• Datenbereiche der Provider werden zusammen in einer Klasse
„Abo.java“ gehalten
• Je Provider werden drei Byte Vektoren angelegt, in denen die
Daten abgespeichert werden
• Es gibt Methoden für das Abrufen, Anlegen und Löschen von
Datensätzen
OnCard Security
• Implementiert die Sicherheitsmerkmale der Chipkarte
•
•
•
•
•
Personalisiert die Karte
Setzt die CardID
Setzt den Masterkey, der für die Verschlüsselung benötigt wird
Verwaltet die PINs und verifiziert sie bei der Authentifizierung
Setzt die Security–States und versetzt die Karte damit auf
lesbar, beschreibbar oder löschbar
Zusammenspiel der Komponenten
OffCard
DataLayer
OnCard
Methodenaufruf
GUI
Methodenaufruf
Applet
Rückgabewert
Rückgabewert
Request APDU
Zugriffsschicht /
Treiber
Abo Application
Response APDU
Methodenaufruf
Security
Rückgabewert
Security

Projektvorstellung