Investigating SRAM PUFs in large CPUs and GPUs
This work addresses the need for hardware-based cryptographic features without additional dedicated hardware, though it is incremental as it builds on existing PUF research.
The paper tackled the problem of identifying intrinsic physically unclonable functions (PUFs) in standard PC components like CPUs and GPUs, finding that while most components exhibited non-random behavior, usable PUFs were discovered in Nvidia GPUs.
Physically unclonable functions (PUFs) provide data that can be used for cryptographic purposes: on the one hand randomness for the initialization of random-number generators; on the other hand individual fingerprints for unique identification of specific hardware components. However, today's off-the-shelf personal computers advertise randomness and individual fingerprints only in the form of additional or dedicated hardware. This paper introduces a new set of tools to investigate whether intrinsic PUFs can be found in PC components that are not advertised as containing PUFs. In particular, this paper investigates AMD64 CPU registers as potential PUF sources in the operating-system kernel, the bootloader, and the system BIOS; investigates the CPU cache in the early boot stages; and investigates shared memory on Nvidia GPUs. This investigation found non-random non-fingerprinting behavior in several components but revealed usable PUFs in Nvidia GPUs.