Physically Unclonable Function Enhancement to Guarantee Repeatable Behavior
Publication Date: 2010-Aug-31
The IP.com Prior Art Database
Described is a method to connect the output of the physically unclonable function (PUF) circuit into a comparator that can perform the PUF output comparison multiple times. If the comparison is always the same result, then this circuit is tagged as repeatable and used to implement the PUF function. If the comparator gives inconsistent results, then that particular PUF circuit is tagged as unrepeatable and not used. The output is then optionally run through a compression circuit to filter only the repeatable bits to the output.
Ȉ ˇ Ȉ ˇ
For security reasons, it is desirable to implement physically unclonable functions (PUF) in integrated circuits. This enables one to implement different functions or security keys in two chips where the differences in the two chips are physically undetectable. Physically unclonable functions can be used to implement challenge-response authentication. There are many ways to do this. One example is to power up an SRAM and hope that the data that is in the SRAM cells is consistent after every power-up. However, this method is very unreliable because random process variation will not make the SRAM cells strongly favor one state or another. This means that variation in temperature and voltage can make the SRAM initialize to different states [1, 2].
Most parameter variation in semiconductor elements follows a Gaussian distribution. For a Gaussian distribution, 68.2% of the element variation is within 1 standard deviation of the mean (see Figure 1).
Examples are linewidth, gate oxide thickness, alignment, threshold voltage, and others. When designing PUF circuits to take advantage of this natural variation, the Gaussian nature of most variation will result in small amounts of variation between most physical elements. This can cause unrepeatable and inconsistent function which is undesirable in PUF circuits. This invention will result in filtering out the unrepeatable and inconsistent PUF circuits and allow only the ones with large natural variation to be used resulting in repeatable and consistent PUF circuit outputs.
The main idea of this invention is to connect the output of the PUF circuit into a comparator that can perform the PUF output comparison multiple times. If the comparison is always the same result, then this circuit is tagged as repeatable and used to implement the PUF function. If the comparator gives inconsistent results, then that particular PUF circuit is tagged as unrepeatable and not used. Figure 2 is a circuit that implements the described function.
Sequence of operation:
1: 1st Read PUF of circuit (0 or 1 is read) into Latch New
2: 2nd Read PUF of circuit (0 or 1 is read), Latch New is transferred to Latch Previous and 2nd read is captured in Latch New
3: Reset pulses from 0 to 1 to 0. This precharges Repeatable
to 1 when Reset goes to a 1 and
evaluates the XOR of Mux
when Reset goes back to 0. If New
are the same, then Same
is a 0 and Repeatable
and REPEATABLE stay at a
1. If New