Project Laboratory Secure SoC for the Internet-of-Things

Module Number: EI78014

Duration: 1 semester

Occurence: Winter and summer semester

Language: English

ECTS: 6

Staff

Professor in charge: Georg Sigl

Amount of work

Contact hours: 60

Self-study hours: 120

Total: 180

Description of Achievement and Assessment Methods

Considering the learning objectives, the exam is split into the following parts: - Course work: The students show the practical capability to apply the FPGA design flows by delivering an implementation of an FPGA-based SoC able to operate in the context of IoT. The design must be processed and documented in groups. - The capability to design complex embedded systems and to apply hardware/software codesign is shown in an 30-minute presentation on the project with subsequent discussion. For individual evaluation, each student must keep a lab diary regarding the task developed in the laboratory. The presentation contributes to the final grade by 50%. - The understanding regarding the IoT protocols and the cryptographic algorithms are examined during a 10-minutes oral examination. This contributes to the final grade by 50%.

(Recommended) Requirements

Good knowledge of digital circuits, basics of VHDL design and FPGAs The following modules should be passed before taking the course: - Applied cryptology - HDL Design Laboratory (or similar) It is recommended but not mandatory to take the following modules additionally: - Secure Implementation of Cryptographic Algorithms

Learning outcome

At the end of this module, students are able to:

1) Design a complex digital embedded system;

2) Apply concepts from hardware/software codesign;

3) Understand the basis of IoT protocols;

4) Apply FPGA design flows including synthesis, mapping, place and route, microcontroller programming, and basic cryptographic algorithms; and

5) Understand the concepts of cryptographic algorithms.

Contents

Working together in teams, students must provide application layer security to a System-on-Chip (SoC) that operates in the context of IoT. The SoC is an FPGA-based device, which requires the hardware and software development. The SoC has two functionalities: i) acts as aggregator of a Sensor Wireless Network, composed by a set of SensorTags; and ii) implements a secure MQTT publisher (client) over the TLS (Transport Layer Security). The SoC is communicated to a MQTT Broker (Raspberry Pi 3) via Bluetooth LE. The communication is secured between the client and a server using TLS. TLS is a cryptographic protocol which uses a handshake mechanism to negotiate various parameters to create a secure connection between the client and the server. After the handshake is completed, an encrypted communication between client and server is established and no attacker can eavesdrop any part of the communication. The application of the sensor wireless network is open to the creativity of the students, which can develop any application based on SensorTags able to measure temperature, motion, humidity, pressure, light, magnetic field and acoustic characteristics of an environment.

Teaching and learning methods

Teacher-centered teaching with discussions during the introduction of the laboratory - Freely scheduled self-study with supervision from a tutor and an advisor during the project part

Media

The following media forms are used: - Introductive lectures (PowerPoint) - Laboratory notes with description of tasks and tool environments, coarse sketch of system concept - Individual discussions with advisor

Literature

Smart Card Handbook, Wolfgang Rankl and Wolfgang Effing, ISBN-13: 978-0-470-74367-6

- Understanding Cryptography, Christof Paar and Jan Pelzl, ISBN-13: 978-3-642-04100-6

- Scott Berkun, Making Things Happen, O'Reilly, 2008 Frederick P. Brooks, The Mythical Man Month, Addison-Wesley Longman, 1995

- Federal Information Processing Standard, Advanced Encryption Standard, FIPS PUB 197

- git-scm.com/book/en/

- www.touchsurgery.com/digital/list-healthcare-innovations/

- www.imedicalapps.com/2015/08/dexcom-g5-iphone-medical-app/