I. I NTRODUCTION
This paper describes a design of RO based PUF on
FPGA [7]. In this section we provide a motivation and
background that led to ivestigation of physical unclonable
functions (PUFs) and a brief introduction to the topic of PUFs.
Then we describe our contribution to this topic.
A. Motivation and background
Nowadays, various electronic devices are everywhere
around us in our everyday life [6]. We all use devices such as
mobile phones, credit cards and RFIDs to store personal data
ensuring us access to bank accounts or private areas. For this
reason, all these devices became targets for adversaries, which
raises problems with security and privacy protection. Classical
cryptography offers various measures against these issues, but
they all consist in the concept of a secret key. It is assumed
that the device is able to contain secret information, which
remains hidden to the potential adversary. The secret keys
are often stored in a non-volatile memory, which is usually
difcult to secure.
This approach may be problematic in many cases. Safe
storages of keys are usually complicated and expensive to
achieve. Non-volatile memory tends to be vulnerable to invasive attacks, because the key is stored in a digital form [2]. For
high level of security, electronic devices have to be protected
by expensive circuits, which are able to detect manipulation
with the device and moreover, they need to be continually
power supplied. Another disadvantage can be the cost of
even basic cryptographic operations for resource constrained
platforms such as RFID chips.
B. Physical Unclonable Functions
The above described issues were one of the motivations
that led to the development of PUFs. PUFs are increasingly
used in proposals of cryptographic protocols and security
architectures. PUF is a function based on physical properties,
which are unique for each device. It uses local mismatches and
differences between physical components of a device arising
978-1-4799-6780-3/15 $31.00 2015 IEEE
DOI 10.1109/DDECS.2015.21
37
MUX
counter
2
>?
Output
0 or 1
N oscillators
counter
Input
38
Measurement circuit
fRO1
RO1
enable
OF
CE
Counter1
CLR
OF
fRO2
RO2
Overflow
detection
OF
CE
Q
C
RST
Counter2
CLR
reset
k
1
bj,i ,
k j=1
(2)
39
fRO1
most
significant bit
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
selected
positions
enable
RO1
fRO2
RO2
least
significant bit
.
.
.
.
.
pos = 9
w=3
multiplexer
s > sth
>
fRO i
Measurement
circuit
fRO j
result
Bit
selection
out
10
fROn
ROn
reset
sel
B. Entropy
So far we have selected appropriate bit positions based on
their stability si . However, in addition to their stability we have
to take into account their uniqueness among different FPGAs.
We may assume, that if we compare measured values from
two equally positioned RO pairs on two FPGAs, bits close
to the MSB will not differ, while bits approximately in the
middle between the most and the least signicant bits will be
different. It is unnecessary to consider bit positions close to
the LSB, since it is expected, that they will be different due
to their unstability.
The average entropy of bit position i within each FPGA
separately can be determined as follows:
m
Hintra (i) =
1
pj (k)log2 (pj (k)),
m j=1
(4)
k=0
pj (1) =
1
maj(ROj,k , i),
n
pj (0) = 1 pj (1),
(5)
k=1
k
1
bj,i ),
k j=1
(6)
Hinter (i) =
1
pl (k)log2 (pl (k)),
n
(7)
l=1 k=0
40
position(i)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
P (bi = 1)
0.98
0.3663
0.5430
0.5336
0.4998
0.4765
0.5056
0.4959
0.4931
0.4997
0.4960
0.4985
0.5001
0.4985
0.4975
0.4967
position(i)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
P (bi = 1)
0.8736
0.4239
0.5410
0.5248
0.5233
0.5233
0.5118
0.4978
0.4971
0.5047
0.5042
0.4969
0.5005
0.4996
0.4991
0.4977
TABLE I
M EASUREMENT RESULTS FOR 16- BIT COUNTER VALUES .
G. Inter-Hamming distance
Another important measure of the PUF quality is the
uniqueness generated responses among different FPGAs. We
determine this uniqueness via Inter-Hamming distance and is
dened as:
To prove that the PUF outputs generated this way are stable
and they differ among various FPGAs, we calculate their
bit error rate (BER), Intra-Hamming distance (HDintra ) and
Inter-Hamming distance (HDinter ).
E. Bit error rate
The verication of bit stability in this ROPUF design can
be done by calculating the bit error rate. For n-bit responses
of the i-th FPGA we dene BER as follows:
k
1
HD(Rpi , Ri,j ),
(9)
BER(i) =
n k j=1
m1 m
1
HDinter = m
HD(Rri , Rrj ) 100 [%]. (12)
2
i=1 j=i+1
m k
1
HD(Rri , Ri,j ) 100 [%], (11)
m k i=1 j=1
41
FPGA 1
FPGA 2,3
temperature [ C]
BER [%]
HDintra [%]
minHDintra [%]
maxHDintra [%]
temperature [ C]
BER [%]
HDintra [%]
minHDintra [%]
maxHDintra [%]
36.2
0.3111
0.3745
0
1.1111
38.9
0.48
0.5854
0
1.3333
64.8
0.3518
0.5382
0
1.1111
66.5
0.31
0.6403
0
2
36.2 64.8
3.5317
3.8927
0
8
36.2 64.8
2.9766
3.3346
0
7.8889
TABLE III
T HE STABILITY OF RESPONSES DURING DIFFERENT TEMPERATURE .
42