Bachelor of Science Graduation Project:
Intel-Quark Processor PUF
Location: Eindhoven, The Netherlands
Within a research project at Intrinsic ID we are looking for a motivated student in Computer Science, who is ready to start his/her BSc graduation project. The goal of the project is to develop a prototype firmware implementation for deriving a chip-unique identifier on an Intel Quark chip, based on Intrinsic ID’s Physical Unclonable Function (PUF) technology. PUFs can be seen as “biometrics of a device” or a device specific fingerprint.
Intrinsic ID’s PUF technology is based on reading out the uninitialized startup values of SRAM memory. On Intel chips SRAM memory is available, but it gets initialized and used in the boot flow. The goal of this assignment is to study the possibilities of modifying the boot flow in order to preserve the uninitialized SRAM startup values for use as a PUF. This opens up interesting new use cases for hardware authentication and binding of software to a specific chip.
An Intel Quark development board, Galileo, will be used to study the details of the boot flow and make a prototype implementation in which the PUF is used to identify the Intel chip. Extensive documentation and source code are available for this platform.
The assignment requires in-depth study of the first phases of the UEFI-compliant boot sequence. Because the very first code to be run needs to be in x86 assembly, some assembler code will have to be written as part of the project. In addition to the core functionality and depending on time available, issues related to reliability (aging) and security (restricting SRAM access) can be considered as well.
Responsibilities include, but are not limited to
- Analyzing the boot sequence that is part of the Galileo development kit;
- Making modifications on a Quark boot loader in order to preserve and extract uninitialized SRAM from an Intel Quark processor;
- Designing (in collaboration with experienced security architects and engineers) the architecture for a simple demonstrator that generates a chip-unique ID;
- Implementing the building blocks for the unique ID demonstrator;
- Writing documentation / user guide.
Required experience and appreciated qualities
- Student in Computer Science, ready to start working on final thesis project for BSc degree;
- Experience with embedded/low-level software;
- Experience with software development tools such as: Visual Studio, Eclipse;
- Knowledge of UEFI BIOS architecture is a pre;
- Knowledge of Intel Instruction Set Architecture is a pre;
- Able to think outside of the box: find unexpected ways to solve problems or meet requirements;
- Good organizational skills and excellent problem solving abilities.
About Intrinsic ID
Intrinsic ID is a high tech security company that spun out from Philips. We develop, market and sell truly unique security products based on the unique silicon fingerprint of a chip. As a leader in this field we provide the root of trust, authentication and key management solutions to blue chip semiconductor companies and OEMs in the mobile, IoT, embedded and government markets. Our headquarters are in Silicon Valley but our R&D office is in Eindhoven (The Netherlands). Currently we are seeking highly motivated individuals to help us grow our company and further expand our product portfolio to provide ubiquitous security for the connected world.
Intrinsic ID B.V.
High Tech Campus 9
5656 AE Eindhoven