Title of the paper: Physical Unclonable Functions and Applications: A Tutorial

Available at: https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=6823677

Abstract

This paper describes the use of physical unclonable functions (PUFs) in low-cost authentication and key generation applications. First, it motivates the use of PUFs versus conventional secure nonvolatile memories and defines the two primary PUF types: “strong PUFs” and “weak PUFs”. It describes strong PUF implementations and their use for low-cost authentication. After this description, the paper covers both attacks and protocols to address errors. Next, the paper covers weak PUF implementations and their use in key generation applications. It covers error-correction schemes such as pattern matching and index-based coding. Finally, this paper reviews several emerging concepts in PUF technologies such as public model PUFs and new PUF implementation technologies.

Introduction

A PUF is based on the idea that even though the mask and manufacturing process is the same among different ICs, each IC is actually slightly different due to normal manufacturing variability.

Types of PUFs

Strong PUFs are typically used for authentication, while weak PUFs are used for cryptographic key generation.

Weak PUF Model

Strong PUF Model

Error Correction

Example Strong PUF Architectures

Optical PUF

Arbiter PUF

Although key generation has zero error tolerance, PUF authentication usually incorporates an allowable error threshold, thereby decreasing the stability requirement, and often obviating the need for error correction.

Low-Cost Authentication: Strong PUFs

Because the strong PUF does not require secure nonvolatile memory, antitamper circuitry, or additional supporting crypto acceleration hardware, a PUF-based solution requires less area, power, and mask layers than a traditional approach to secure authentication.

Authentication Protocol

The requirements of a strong PUF state that an adversary provided with polynomial CRPs should not be able to predict the response to a new challenge.
The protocol for using PUFs is significantly different than most public/private key cryptographic systems. Consider a server authenticating a client.

  1. PUF is manufactured.

  2. Server obtains access to PUF and generates a table of CRPs. These pairs are stored in internal secret storage.

  3. PUF is given to the client.

  4. The client submits a request to the server to authenticate.

  5. Server picks a known CRP and submits the challenge to the client.

  6. The client runs the challenge on the PUF, returns the response to the server.

  7. Server checks to see that the response is correct and marks the CRP as used.

Because the server cannot predict the PUF behavior, it must internally store CRPs to be used later.

Each CRP must be used only once. Therefore, the server must either store enough CRPs so that it will not run out, or it must periodically ‘‘recharge’’ the table by establishing secure communication with an authenticated client and requesting responses to new challenges.

To address the CRP table scalability problem, newer protocols based on storage of a compact model for PUF have emerged. A brief discussion of these protocols is included later.

  • Intra-PUF variation is a measure of the reproducibility of responses from an individual PUF circuit.

  • Inter-PUF variation is a measure of the uniqueness of an individual PUF circuit.

→ For the application of secure authentication, intra-PUF variation should be low (ideally 0%), and inter-PUF variation should be high (ideally 50% on average).

The security of a strong PUF depends on several factors (if any one of these factors is compromised, the security of the PUF itself is also compromised):

Example Weak PUF Architectures

Ring-Oscillator PUF

→ Therefore, at the time of provisioning, one can select only pairs of oscillators whose frequencies are sufficiently far apart to define the PUF output bits. This increases the PUFs robustness toward noise and environmental variations.

SRAM PUF

Both the arbiter PUF and the ring-oscillator PUF ultimately depend on variations in the propagation delay of
gates. However, this is not the only physical property on which a PUF can be built. A popular weak PUF structure exploits the positive feedback loop in a SRAM or SRAM-like structure shown below:

→ Therefore, by using repeated measurements, one can assess the stability of a SRAM PUF output bit and selectively use the most stable bits as the PUF output. This process is used in conjunction with traditional coding techniques to mitigate the noise inherent to SRAM PUFs.

Cryptographic Key Generation: Weak PUFs

Once the key is derived from the weak PUF, it is stored in secure volatile memory during the device’s operation. This key can then be used for authentication, encryption, and other cryptographic protocols.

Key Generation Protocol

Because weak PUFs like the ones discussed above have effectively fixed ‘‘challenge bits,’’ the key generation protocol is fairly simple:

In both of these cases, the complexity lies in the limitations of physical implementations that result in both statistical and systematic noise that must be corrected/mitigated.

Weak PUF can be used for authentication (similar to strong PUF) by supplementing it with a hardware HMAC/AES implementation.

A key challenge in adapting strong PUFs to key generation is in correcting errors in PUF response bits. To this end, ‘‘pattern matching’’ technique can be used.

SRAM PUF Implementation

Ring-Oscillator PUF Implementation

Emerging PUF Concepts

New PUF architectures and applications are continually being developed:

  1. Model-based PUFs

    1. The server stores a “secret model”, that emulates the PUF challenge-response behavior, instead of storing a large number of CRPs

    2. Such a ‘‘secret model’’ PUF still requires both the ‘‘secure bootstrapping’’ phase as well as the secure storage, as the PUF and authenticating server must ‘‘agree’’ on a secret PUF model.

  2. Timed Authentication and Public Models (referred as PPUF)

    1. The PPUF model is public, and there is no secret information anywhere in the protocol (neither on the device nor the server).

    2. The authentication capability derives solely from the computational difference between the hardware and the model, and the unclonability of the hardware (PPUF model storage must be resistant against tampering or rewriting).

Remark: Nobody could propose a PPUF architecture slower by only a constant factor than the PPUF hardware, but what about generating all the possible CRPs based on the public model and instead of computing the response for each challenge sent we look for the saved challenge and send it (using a fast memory)

New Terms

To Read About