Software Project FlexCOS

Instructors

Description

This project is a practical introduction to smartcard technology. Participants will gain knowledge about smartcard operating systems, applications, and general embedded systems design principles. The topics include low level work on the hardware (FPGA), the operating system, libraries, up to applications implementing protocols. The development will take place based on our own platform.

KVV page

Language

Time and Location

Supervised lab hours, meetings and presentations:

Grading

The grade will be computed as a weighted sum of the following:

Requirements

Knowledge of C is required. Depending on the topic chosen or suggested, knowledge of VHDL (or Verilog) is necessary. For some topics basic knowledge of cryptography is needed. Familiarity with the relevant smartcard specifications (ISO 7816, 14443, aso.) is not required but a great advantage. We use git for version control.

Project topics

Hardware and Software

contact: kbeilke@zedat.fu-berlin.de

Dates

Lecture 1, Tuesday April 09, Introduction

Assignment of topics and dates.

Lecture 2, , Friday April 12, 14:00, Fabeckstr. 15

Introduction to Xilinx ISE and SDK

Lecture 3, , Wednesday April 17, 16:00

Introduction to FlexCOS
Setup of SDK, Test with Hardware

Lecture 4, , Tuesday April 22, 10:30 - 12

Infrastructure: Assignment of tasks
1. Overview of Continous Integration Suites
2. WiKi (easily exportable Data)
3. Issue Tracking (i.e. Bugzilla, Trac, ...)
4. Documentation (automated from comments)
5. automated file header generation on commits
6. main target: public release

Lecture 5, , Wednesday April 23, 8:30 - 10

MIFARE (without supervision): tasks:
filesystem layout
communication according to ISO/IEC 14443
command set of MIFARE Classic
design of finite state machine
crypto1

Lecture 6, , Thursday April 25, 14:15

MIFARE (2/5)
1. Hardware and Software

Lecture 7, , Thursday April 25, 16:15

Crypto
1. Hardware and Software

Lecture 8, , Tuesday April 30, 10:30 - 12

Infrastructure:
1. Comparison of Continous Integration Suites: Continuum and BuildBot
2. WiKi DokuWIKI

Lecture 9, , Tuesday April 30, 16:00

Crypto
1. JTAG-Debugger
2. password (PIN) and keyfiles similar to TCOS
3. secuity attributes
4. target algorithms

Lecture 10, , Thursday May 2, 14:00

MIFARE (2/5)
1. made Xilinx SW work on 2 machines
2. project plan
3. MiFARE interaction with antenna, only ISO 14443-3 not 4
4. filesystem in memory

Lecture 11, , Tuesday May 7, 10:30 - 12

Infrastructure:
Setup of CI-Suite (incomplete)

Lecture 12, , Tuesday May 7, 16:00

Crypto
Filesystem (Password and Keyfiles)

Lecture 13, , Wednesday May 8, 8:00

MIFARE
Finished Setup Memory Layout

Lecture 14, , Tuesday May 14, 16:00

Crypto
More on Filesystem

Lecture 15, , Wednesday May 15, 10:30 - 12

Infrastructure:
Makefile Organisation

Lecture 16, , Thursday May 16, 14:00

MIFARE
Access Conditions
State Machine
Crypto1

Lecture 17, , Tuesday May 21, 10:30 - 12

Infrastructure:
Makefiles (nothing)

Lecture 18, , Thursday May 23, 14:00

MIFARE

Lecture 19, , Tuesday May 28, 10:30 - 12

Infrastructure:
nothing

Lecture 20, , Tuesday May 28, 16:00

Crypto
Filesystem, Access Conditions, Compact Format, SEs

Lecture 21, , Thursday May 30, 14:00

MIFARE
CUnit Tests on Windows with MinGW

Lecture 22, , Tuesday June 04, 10:30 - 12

Infrastructure:
canceled

Lecture 23, , Tuesday June 04, 16:00

Crypto
Access Condition Checks

Lecture 24, , Thursday June 06, 14:00

MIFARE
Preparation of live tests
MiFare Command test tools
Antenna

Lecture 25, , Monday June 10, 15:00

Crypto
Presentation preparation

Lecture 26, , Thursday June 13, 14:00

MIFARE
Antenna preparation

Lecture 27, , Thursday June 20, 14:00

MIFARE
Antenna tests
Presentation preparation

Lecture 28, , Tuesday June 25, 16:00

Crypto
Presentation preparation

Lecture 29, , Thursday June 27, 14:00

MIFARE
Antenna, Authentication status

Lecture 30, , Tuesday July 2, 10:00

Presentation Mifare

Lecture 31, , Tuesday July 2, 12:00

Crypto

Lecture 32, , Thursday July 4, 14:00

MIFARE
Antenna test

Lecture 33, , Tuesday July 9, 10:00

Presentation Crypto