Veranstaltung: Master-Praktikum Java-Card

Nummer:
142022
Lehrform:
Praktikum
Verantwortlicher:
Prof. Dr.-Ing. Chris­tof Paar
Dozenten:
Prof. Dr.-Ing. Chris­tof Paar (ETIT), M. Sc. Pawel Swierczynski (ETIT)
Sprache:
Deutsch
SWS:
3
LP:
3
Angeboten im:
Sommersemester

Termine im Sommersemester

  • Vorbesprechung: Mittwoch den 19.04.2017 ab 15:15 im ID 2/632
  • Praktikum Mittwochs: ab 16:15 bis 17.45 Uhr im ID 2/632

Ziele

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 ausführen. 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 führen 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 Entschlüsselungsprozess 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. An­schlie­ßend wird den Teil­neh­mern ver­mit­telt wie die eigenes erstellten Java Applikationen gemäß dem GlobalPlatform Standard selektiert und ausgefuehrt 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

keine

Empfohlene Vorkenntnisse

keine

Sonstiges

Sonstige Kursinformationen

  • ACHTUNG: Der Moodle-Kurs ist von nun an freigeschaltet (Montag, den 21.03.2016). Melden Sie sich daher bitte umgehend im Moodle Kurs an. Der Kurs ist nämlich auf 30 Teilnehmer beschränkt.
  • Attention: The lab-course is now opened in Moodle (since Monday, 03/21/2016). Please register as soon as possible in the Moodle platform, since we have only up to 30 slots available.