Hardware Security

[ main | schedule | cases | smartcard practicalities | project work | side-channel lab ]

Group project: JavaCard smartcard development

Groups spring 2017

(RU) (TUE)
Group Case Members Reader & card 1st version report 2nd version report
(some groups)
CalcApplet Final report
1 Joost van Dijk,
Frans Panken
- & B1,3
X
?
X
2 Loyalty Card Stan Derksen,
Stijn Meijer,
Tom Nies,
Ivar Derksen
R4,H8 & B2,4
X
X
X
X
3 (RU) e-Purse Abdullah Rasool,
Tom Sandmann,
Laurens Brinker,
Javier Gil Pascual
R3,H9 & A11,12
X
X
X
4 e-Purse Matthias Ghering,
Ronnie Swanink,
Albin Ohlsson,
Wouter van der Linde
R2,H1 & A10, J2
X
X
X
X
5 (RU) e-Purse Colin Smits,
Roland Middelweerd,
Thierry Simon,
Finn de Ridder
R1,H7 & A8,7
X
X
X
6 Rental Car Geert Derks,
Chaitali Gangurde,
Amber van der Heijden,
Robin Kwant
R9,H2 & A5,6
X
X
X
7 Wytze Korstanje,
Loth Janssen,
Jose Luis Torre Arce
R8,H10 & A3,4
X
X
8 Patrol Rationing Henry He,
Stjepan Roić,
Eireen Westland,
Coen Boot
R7,H5 & A1,2
X
X
X
9 e-Purse Gijs Rijnders,
Thomas Veens,
Kasper Rijksen,
Xiaowei Wang
R10,H17 & J3,6
X
X
X
10 (RU,TUE) Patrol Rationing Alex Suciu,
Cees Mandjes,
Leon Botros,
Rang Salih
R5,H16 & JD5,8
X
?
X
X

Preliminary steps

Form a group of 4 people from one university, pick one of the cases as your group project. Inform us of your group by email and obtain a smartcard and reader for your group.

Once you have the hardware, make sure you can get the reader working, and that you can get an applet installed on the smartcard. As a first step you can try out the Chipknip terminal, on your own bank card, to see if the card reader works. Then install the Calculator applet on the smartcard and try this out with the Calculator terminal (see the smartcard practicalities subpage). Necessary links for software (the JCOP Eclipse plugin and a VM image with Eclipse with that plugin installed) will be emailed. Email Niels Samwel to confirm that you have this working!

First phase: Design phase

We have written up a document about the JavaCard project [PDF] with hints and tips, esp. about documenting your design. It is based on the experiences of previous years when we taught the same course. Read it carefully and check it regularly during the project, and use it as a checklist for the project reports before handing them in.

First step in the project: think about

and write this up in a few pages (8 pages max, but you should manage in less). N.B. an important challenge is in writing this up as clearly and concisely as you possibly can.

Email the report to Erik Poll and Niels Samwel by Feb 27. Include your group number both in the filename and the document itself, and all your names and which university you are from.

Hints:

Second phase: Building phase

Go ahead and build it.

Keep track of any design decisions you make along the way, and record where you deviate from the original high level design. This may happen because of technical restrictions, because you run out of time, or because you thought of better ways to do things.

Implementing the crypto can be time-consuming, and the nastiest to debug, so it may be wise to make a first implementation without (m)any of the cryptographic checks in place.