course: Master Practical Course Java Card

number:
142022
teaching methods:
practical course
responsible person:
Prof. Dr.-Ing. Chris­tof Paar
Lecturers:
Prof. Dr.-Ing. Chris­tof Paar (ETIT), Dr.-Ing. Pawel Swierczynski (ETIT)
language:
german
HWS:
3
CP:
3
offered in:
summer term

Exam

Form of exam:lab
Registration for exam:Directly with the lecturer
continual assessment

goals

After successful participation, the student gains the following skills:

  • Understanding of authentication process (challenge/response protocol) to card manager applet residing on the Java-Card which is used for card content management
  • Development of cryptographic Java-Card applets
  • How to use the provided functions of the hardware co-processor
  • Transmission and installation of Java-Card applets
  • Processing with Java-Card applets
  • Processing of incoming as well as outgoing APDUs, etc.
  • How to make use of transmission protocols in C++

content

In this lab course, participants learn how to deal with Java-Cards. Those smartcards are able to execute specific Java applets on a micro-controller. The coding language Java is widely used by millions of embedded devices such as sim-cards, which implement for example the GSM standard. Java-Cards are one of the most compact of known Java platforms. They execute a reduced set of Java code and offer an interface to side-channel resistant and secured co-processors (DES, 3-DES, AES, etc.). They are used, e.g., to significantly accelerate the encryption as well as decryption process. The first part of this course explains the work-flow of Java-Cards and how they are built-up. In the second part, participants learn how the authentication process works at the examples of the (Secure Channel Protocol) SCP v1 and v2. Next, students gain skills of how to i) develop cryptographic Java-Card applets, ii) convert them, and iii) implement the corresponding upload mechanism. Finally, it will be explained how the installed Java applications can be selected and executed. Most of the tasks will be implemented in C++. In a final project, participants are supposed to implement several security-relevant applications for the Java-Card including one block cipher.

requirements

keine

recommended knowledge

none

miscellaneous

Sonstige Kursinformationen

  • ACHTUNG: Der Moodle-Kurs ist von nun an freigeschaltet (Montag, den 27.03.2017). 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/27/2017). Please register as soon as possible in the Moodle platform, since we have only up to 30 slots available.