In practical cryptography, a Physical Unclonable Function or PUF is a function that is embodied in a physical structure, that is easy to evaluate but hard to characterize.
The physical structure that contains the PUF consists of many random components. These random components are introduced during the manufacturing process and cannot be controlled.
A PUF is useful in challenge-response authentication. When a physical stimulus is applied to the structure, it reacts in an unpredictable way due to the presence of these random components. The applied stimulus is called the challenge, and the reaction of the PUF is called the response. A specific challenge and its corresponding response together form a challenge-response pair or CRP.
PUFs inherit their unclonability property from the fact that every PUF has a unique and unpredictable way of mapping challenges to responses. Two PUFs that were manufactured with the same process will still possess a unique challenge-response behavior. The unclonability property moreover states that it should be very hard to construct a PUF with the same challenge-response behavior as a given PUF. Physical unclonability is very hard because exact control over the manufacturing process, such that all parameters of the physical structure can be exactly defined, is very hard. Mathematical unclonability means that it should be very hard to compute an unknown response given the exact parameters or other CRPs from the PUF. This is because a response is created as a very complex interaction of the challenge with the random components. Modeling this interaction, even if the random values are known, should take a lot of computational effort. The combination of physical and mathematical unclonability renders a PUF truly unclonable.
Different sources of physical randomness can be used in PUFs. A distinction is made between PUFs in which physical randomness is explicitly introduced and PUFs that use randomness that is intrinsically present in a physical system.
Contents |
An optical PUF [1][2] consists of a transparent material that is doped with light scattering particles. When a laser beam shines on the material, a random and unique speckle pattern will arise. The placement of the light scattering particles is an uncontrolled process and the interaction between the laser and the particles is very complex. Therefore, it is very hard to duplicate the optical PUF such that the same speckle pattern will arise. We say the optical PUF is practically unclonable.
A coating PUF [3][4][5] can be built in the top layer of an IC. Above a normal IC, a network of metal wires is laid out in a comb shape. The space between and above the comb structure is filled with an opaque material and randomly doped with dielectric particles. Because of the random placement, size and dielectric strength of the particles, the capacitance between each couple of metal wires will be random up to a certain extent. This unique randomness can be used to obtain a unique identifier for the device carrying the Coating PUF. Moreover, the placement of this opaque PUF in the top layer of an IC protects the underlying circuits from being inspected by an attacker, e.g. for reverse-engineering. When an attacker tries to remove (a part of) the coating, the capacitance between the wires is bound to change and the original unique identifier will be destroyed. In [6] it was shown how an unclonable RFID Tag is be built with Coating PUFs.
A silicon PUF exploits the random variations in delays of wires and gates. Given an input challenge, a race condition is set up in the circuit, and two transitions that propagate along different paths are compared to see which comes first. An arbiter, typically implemented as a latch, produces a 1 or a 0, depending on which transition comes first. Many circuits realizations are possible and at least two have been fabricated. When a circuit with the same layout mask is fabricated on different chips, the logic function implemented by the circuit is different for each chip due to the random variations of delays.
A PUF based on a delay loop, i.e., a ring oscillator with logic, is described in [7]. A multiplexor-based PUF is described in [8]. A secure processor design using a PUF is described in [9]. A multiplexor-based PUF with an RF interface for use in RFID anti-counterfeiting applications is described in [10].
A Physically Unclonable Function is a function that relies on variations which inadvertently exist for the material used for hardware. They produce - given an input - an output that will be different from other instances of said hardware, thus providing a countermeasure against creation of exact clones for a specific product. They are present in all ICs having SRAM memory on board. Their behavior and application for anti-counterfeiting purposes were investigated in detail in [11] and in [12] On top of this they permit the implementation of secure secret key storage without storing the key in digital form.
An example would be an RFID tag, which can easily be cloned. When equipped with a PUF however, creating a clone in a reasonable timeframe can be next to impossible.[13]
Recently a new PUF was introduced [14]: the Butterfly PUF. The Butterfly PUF is based on cross-coupling of two latches or flip-flops. The mechanism being this PUF is similar to the one behind the SRAM PUF but has the advantage that it can be implemented on any SRAM FPGA.
A magnetic PUF exists on a magnetic stripe card. The physical structure of the magnetic media applied to a card is fabricated by blending billions of particles of barium ferrite together in a slurry during the manufacturing process. The particles have many different shapes and sizes. The slurry is applied to a receptor layer. The particles land in a random fashion, much like pouring a handful of wet magnetic sand onto a carrier. To pour the sand to land in the exact same pattern a second time is physically impossible due to the inexactness of the process, the sheer number of particles, and the random geometry of their shape and size. The randomness introduced during the manufacturing process cannot be controlled. This is a classic example of a PUF using intrinsic randomness.
When the slurry dries, the receptor layer is sliced into strips and applied to plastic cards, but the random pattern on the magnetic stripe remains and cannot be changed. Because of their physically unclonable functions, it is highly improbable that two magnetic stripe cards will ever be identical. In fact, using a standard size card, the odds of any two cards having an exact matching magnetic PUF are calculated to be 1 in 900 million. Further, because the PUF is magnetic, we know that each card will carry a distinctive, repeatable and readable magnetic signal.
The personal data encoded on the magnetic stripe contributes another layer of randomness. When the card is encoded with personal identifying information, the odds of two encoded magstripe cards having an identical magnetic signature are approximately 1 in 10 Billion. The encoded data can be used as a marker to locate significant elements of the PUF. This signature can be digitized and is generally called a magnetic fingerprint. An example of its use is in the Magneprint brand system.[15][16] [17]
The magnetic head acts as a stimulus on the PUF and amplifies the random magnetic signal. Because of the complex interaction of the magnetic head, influenced by speed, pressure, direction and acceleration, with the random components of the PUF, each swipe of the head over the magnetic PUF will yield a stochastic, but very distinctive signal. Think of it as a song with thousands of notes. The odds of the same notes recurring in an exact pattern from a single card swiped many times are 1 in 100 million, but overall the melody remains very recognizable.
The stochastic behavior of the PUF in concert with the stimulus of the head makes the magnetic stripe card an excellent tool for Dynamic Token Authentication, Forensic Identification, Key generation, One-Time Passwords, and Digital Signatures.
|
|