Among all the different research lines related to hardware security, there is a particular topic
that strikingly attracts attention. That topic is the research regarding the so-called Physical
Unclonable Functions (PUF). The PUFs, as can be seen throughout the Thesis, present the
novel idea of connecting digital values uniquely to a physical entity, just as human biometrics
does, but with electronic devices. This beautiful idea is not free of obstacles, and is the core
of this Thesis. It is studied from different angles in order to better understand, in particular,
SRAM PUFs, and to be able to integrate them into complex systems that expand their
potential.
During Chapter 1, the PUFs, their properties and their main characteristics are defined. In
addition, the different types of PUFs, and their main applications in the field of security are
also summarized.
Once we know what a PUF is, and the types of them we can find, throughout Chapter 2
an exhaustive analysis of the SRAM PUFs is carried out, given the wide availability of
SRAMs today in most electronic circuits (which dramatically reduces the cost of deploying
any solution). An algorithm is proposed to improve the characteristics of SRAM PUFs, both
to generate identifiers and to generate random numbers, simultaneously. The results of this
Chapter demonstrates the feasibility of implementing the algorithm, so in the following
Chapters it is explored its integration in both hardware and software systems.
In Chapter 3 the hardware design and integration of the algorithm introduced in Chapter 2
is described. The design is presented together with some examples of use that demonstrate
the possible practical realizations in VLSI designs.
In an analogous way, in Chapter 4 the software design and integration of the algorithm
introduced in Chapter 2 is described. The design is presented together with some examples
of use that demonstrate the possible practical realizations in low-power IoT devices. The
algorithm is also described as part of a secure firmware update protocol that has been
designed to be resistant to most current attacks, ensuring the integrity and trustworthiness of
the updated firmware.In Chapter 5, following the integration of PUF-based solutions into protocols, PUFs
are used as part of an authentication protocol that uses zero-knowledge proofs. The cryptographic
protocol is a Lattice-based post-quantum protocol that guarantees the integrity and
anonymity of the identity generated by the PUF. This type of architecture prevents any type of
impersonation or virtual copy of the PUF, since this is unknown and never leaves the device.
Specifically, this type of design has been carried out with the aim of having traceability of
identities without ever knowing the identity behind, which is very interesting for blockchain
technologies.
Finally, in Chapter 6 a new type of PUF, named as BPUF (Behavioral and Physical Unclonable
Function), is proposed and analyzed according to the definitions given in Chapter 1.
This new type of PUF significantly changes the metrics and concepts to which we were
used to in previous Chapters. A new multi-modal authentication protocol is presented in this
Chapter, taking advantage of the challenge-response tuples of BPUFs. An example of BPUFs
is illustrated with SRAMs.
A proposal to integrate the BPUFs described in Chapter 6 into the protocol of Chapter 5,
as well as the final remarks of the Thesis, can be found in Chapter 7