SmartCard Lab

Lecturer (assistant)
Number0000001291
Type
Duration4 SWS
TermWintersemester 2019/20
Language of instructionGerman
Position within curriculaSee TUMonline
DatesSee TUMonline

Dates

Course criteria & registration

Objectives

At the end of this module, students are able to design and program complex digital embedded systems. They achieve this by designing a side-channel resistant smart card firmware, running on a microcontroller-based smart card emulator. As a result of the lab, the students present a working smart card which is able to decrypt video data streams and is resistant to differential power analysis (DPA) attacks. The students familiarize themselves with smart card communication protocols (ISO7816), microcontroller programming and debugging, countermeasures against DPA attacks on smart cards and embedded devices, and basic cryptographic algorithms.

Description

In this lab, students work together in teams to design and implement a smart card used to decrypt video data streams, similar to a pay TV application. The software for the smart card will run on a microcontroller-based smart card emulator. Emphasis is placed in creating a high security implementation. To measure the security of the smart card and to assess the cost/benefit tradeoffs of the implemented countermeasures, side channel analysis attacks are conducted and evaluated.

Prerequisites

Good knowledge of digital circuits, basics of microcontrollers programming in C or assembly language The following modules should be passed before taking the course: - Cryptography - C/C++ Lab (or similar) It is recommended but not mandatory to take the following modules additionally: - Secure Implementation of Cryptographic Algorithms

Teaching and learning methods

In addition to individual support by the advisor or tutor, introductory lectures and support for project scheduling are given at the beginning of each course. Teaching method: Aside from two mandatory sessions at the beginning of the semester and the presentations at the end of the semester, the students are free to schedule their work hours. It is recommended that the students make regular appointments with the advisor or tutor to discuss the progress of the project. The project work is carried out by the students in small groups. Lab rooms of the institute are open during the University’s working hours and support from a tutor or advisor is offered during the lapse of the whole project.

Examination

Considering the learning objectives, the exam is split into the following parts: - Lab work: Work is to be carried out and documented in groups; each student must keep a lab protocol. - The capability to create complex embedded systems in practice is shown in a 30-minute presentation on the project and subsequent discussion. This contributes to 50% of the final grade. - The theoretical knowledge on the topics is examined during a 10-minutes long oral examination. This contributes to the other 50% of the final grade.

Recommended literature

Handbuch der Chipkarten, Wolfgang Rankl und Wolfgang Effing, ISBN-13: 978-3-446-40402-1 Understanding Cryptography, Christof Paar and Jan Pelzl, ISBN-13: 978-3-642-04100-6

Links

Additional Information

Offered in winter and summer semester.

Course

During the course of this lab, students learn how attacks on the implementation of cryptographic algorithms (so-called Side-Channel Attacks) work, and learn to implement countermeasures that help thwart these attacks. Students work in groups of 2-3 people. <br/> The attacks are carried out with high-precision, high-resolution oscilloscopes. The data measurements are then processed with Matlab on a PC. The cryptographic algorithms with the attack countermeasures are implemented on 8-bit microcontrollers, which can be accessed via a standard interface with a smartcard reader (ISO 7816 UART).

Introduction to the Lab: Introduction to the lab tasks, and presentation of attack scenarios

Introduction to DPA (Differential Power Analysis): Overview of the AES algorithm, attacks on the implementation of AES and demonstration.

Integration phase:

Creation of a clone card by using a key extracted by performing attacks on the reference card.

  • Work distribution:
  • Team A: Differential Power Analysis (DPA) attack, extraction of cryptographic keys, and documentation
  • Team B: Design of a Smartcard based on a microcontroller, creation of a test environment, implementation of the ISO7816 protocol

Presentation of intermediate results

Introduction of countermeasures:

  • Work distribution:
  • Team A: Implementation of attack countermeasures
  • Team B: DPA attacks on the new card, and evaluation of the countermeasures

Final presentation

Please find above the scheduled dates for the lectures and presentations.

Contact: Michael Gruber, m.gruber@tum.de