Master-Praktikum Java-Card

NUMMER: 142022
KÜRZEL: mpJavCard
MODULBEAUFTRAGTE:R: Prof. Dr.-Ing. Christof Paar
DOZENT:IN: Dr.-Ing. Pawel Swierczynski
FAKULTÄT: Fakultät für Informatik
SPRACHE: Deutsch
SWS: 3
CREDITS: 3
ANGEBOTEN IM: unregelmäßig

PRÜFUNGEN

FORM: Praktikum, studienbegleitend
TERMIN: Siehe Prüfungsamt.

LERNFORM

Praktikum

LERNZIELE

Nach dem erfolgreichen Abschluss des Praktikums versteht der Studierende folgende
Zusammenhänge:
• Authentifizierung (Challenge/Response Protokoll) gegenüber dem Kartenmanager der Java Card zur Verwaltung des Systems
• Erstellen von kryptographischen Java Card Applets
• Aufruf der Funktionen des Hardware Co-Prozessors
• Übertragung und Installation von Java Card Applets ¨
• Ansteuern von Java Card Applets
• Verarbeiten eingehender APDUs sowie Erstellen ausgehender APDUs, usw.
• Umgang mit dem Übertragungsprotokoll in C++

INHALT

In diesem Praktikum erlernen die Teilnehmer den sicheren Umgang mit Java Cards.
Diese Smart Cards können spezielle Java Applets auf einem Mikrocontroller ausfuhren. Die ¨
Programmiersprache Java kommt in Millionen von eingebetteten Geräten zum Einsatz, z.B.
in SIM Karten, die den GSM Standard implementieren. Dabei stellen Java Cards die kleinste
aller bekannten Java Plattformen dar. Diese fuhren einen reduzierten Satz von Java Code aus
und bieten eine Schnittstelle zu sicheren kryptographischen Co-Prozessoren (DES, 3-DES, AES,
usw.), welche den Ver- und Entschlusselungsprozess erheblich beschleunigen. Der erste Teil des ¨
Praktikums erläutert Grundlagen über die Funktionsweise und den Aufbau von Java Cards.
Anschließend wird den Teilnehmern vermittelt, wie die Authentifizierung (SCP01/SCP02) gegenüber einer Java Card funktioniert. In einem dritten Schritt erlernen die Teilnehmer das ¨
Erstellen von Java Card Applets, deren Konvertierung und Upload auf die Java Card selbst.
Anschließend wird den Teilnehmern vermittelt wie die eigenes erstellten Java Applikationen
gemäß dem GlobalPlatform Standard selektiert und ausgeführt werden können. Ein Großteil der Programmierarbeiten erfolgt dabei in C++. In einem Abschlussprojekt werden einige sicherheitsrelevante Anwendungen - inklusive einer Blockchiffre - für die Java Card implementiert.

VORAUSSETZUNGEN CREDITS

Keine

EMPFOHLENE VORKENNTNISSE

Keine