1 - ISC 2015

Extracting Robust Keys
from NAND Flash
Physical Unclonable Functions
Shijie Jia, Luning Xia, Zhan Wang, Jingqiang Lin,
Guozhu Zhang and Yafei Ji
Institute of Information Engineering, CAS, Beijing, China
ISC 2015
11th September,2015
1
Outline
 Motivation
 NAND Flash memory basics
 Robust key generation
 Experiments and Evaluation
 Conclusion
2
Outline
 Motivation
 NAND Flash memory basics
 Robust key generation
 Experiments and Evaluation
 Conclusion
3
Motivation
NAND Flash memory is ubiquitous
 Smart phones, SD cards,
USB memory stick, etc.
The keys used by electronic devices
need be protected
 contain many confidential information
 many applications need to identify and
authenticate users
4
Motivation
 Physically uncloable function (PUF)
 PUFs are hardware primitives which produce unpredictable and
instantiation dependent outcomes.
 Noises exist in the PUFs
 PUF responses are generally not perfectly reproducible.
 In general, fuzzy extractors (ECC and hash function )are used to
ensure the reliability of the responses.
 As the error rate increases, the cost of fuzzy extractor is rather high
for devices with limited hardware resources.
5
Motivation
 Physically uncloable function (PUF)
 PUFs are hardware primitives which produce unpredictable and
instantiation dependent outcomes.
 Noises exist in the PUFs
 PUF responses are generally not perfectly reproducible.
 In general, fuzzy extractors (ECC and hash function )are used to
ensure the reliability of the responses.
 As the error rate increases, the cost of fuzzy extractor is rather high
for devices with limited hardware resources.
6
Motivation
We focus on
 NAND Flash Physical Unclonable Function (NFPUF)
 Error reduction techniques
 First, we present three methods to extract raw NFPUF numbers.
 partial erasure
 partial programming
 program disturbance
 Second, we introduce two methods to select the cells.
 bit-map
 position-map
7
Outline
 Motivation
 NAND Flash memory basics
 Robust key generation
 Experiments and Evaluation
 Conclusion
8
NAND Flash memory basics
Uncertain States of Cells
 on account of variations in manufacturing processes,
the threshold voltages vary from cell to cell.
 When the threshold voltage is not shifted sufficiently from the
programmed state to the erased state, and vice versa,
the cell will be in an uncertain state.
9
NAND Flash memory basics
Uncertain States of Cells
 on account of variations in manufacturing processes,
the threshold voltages vary from cell to cell.
 When the threshold voltage is not shifted sufficiently from the
programmed state to the erased state, and vice versa,
the cell will be in an uncertain state.
10
NAND Flash memory basics
Disturbance Related to Array Organization
 During the programming operations ,there exists noises
between the adjacent cells.
 After many repeating operations, it makes the adjacent cells
flip
11
NAND Flash memory basics
Disturbance Related to Array Organization
 During the programming operations ,there exists noises
between the adjacent cells.
 After many repeating operations, it makes the adjacent cells
flip
12
Outline
 Motivation
 NAND Flash memory basics
 Robust key generation
 Experiments and Evaluation
 Conclusion
13
Robust key generation
----Extracting Raw NFPUF Numbers

Partial Erasure
11111111

Erase a block

program a page to “0”

perform fixed number (PENum) of
00000000 0
partial erasure operations (Te)
to the selected page

record the number of partial
11001010 2
11011110 3
erasure operations that the
selected cells need to flip
01001000 1
Raw NFPUF
Numbers:
21431324
14
Robust key generation
----Extracting Raw NFPUF Numbers

Partial Erasure
11111111

Erase a block

program a page to “0”

perform fixed number (PENum) of
00000000 0
partial erasure operations (Te)
to the selected page

record the number of partial
11001010 2
11011110 3
erasure operations that the
selected cells need to flip
01001000 1
Raw NFPUF
Numbers:
21431324
15
Robust key generation
----Extracting Raw NFPUF Numbers

Partial Programming

Erase a block

perform fixed number (PPNum) of
partial programming operations (Tp)
to the selected page

11111111 0
10110111 1
00110101 2
record the number of partial
programming operations that the
selected cells need to flip
Raw NFPUF
Numbers:
00100001 3
21431324
16
Robust key generation
----Extracting Raw NFPUF Numbers

Partial Programming

Erase a block

perform fixed number (PPNum) of
partial programming operations (Tp)
to the selected page

11111111 0
10110111 1
00110101 2
record the number of partial
programming operations that the
selected cells need to flip
Raw NFPUF
Numbers:
00100001 3
21431324
17
Robust key generation
----Extracting Raw NFPUF Numbers

Program Disturbance

Erase a block

perform fixed number (PDNum) of
programming operations to the
selected page

record the number of programming
operations that the selected cells
in its physically adjacent page
need to flip
Raw NFPUF
Numbers:
11111111 0
10110111 1
00110101 2
00100001 3
21431324
18
Robust key generation
----Extracting Raw NFPUF Numbers

Program Disturbance

Erase a block

perform fixed number (PDNum) of
programming operations to the
selected page

record the number of programming
operations that the selected cells
in its physically adjacent page
need to flip
Raw NFPUF
Numbers:
11111111 0
10110111 1
00110101 2
00100001 3
21431324
19
Robust key generation
----Extracting Robust Keys from Raw NFPUF Numbers
Fluctuations of raw NFPUF numbers from four
cells of a MLC type NAND Flash memory chip
20
Robust key generation
----Extracting Robust Keys from Raw NFPUF Numbers
21
Robust key generation
----Extracting Robust Keys from Raw NFPUF Numbers
22
Robust key generation
----Extracting Robust Keys from Raw NFPUF Numbers
23
Outline
 Motivation
 NAND Flash memory basics
 Robust key generation
 Experiments and Evaluation
 Conclusion
24
Experiments

Setup

Platform: a Flash test board with an ARM Cortex-M3 controller

Tested NAND Flash memory chips
25
Evaluation

The security and reliability of the keys

speed (for performance)

reproducibility (for reliability)

uniqueness (for security)

randomness (for high-entropy)
26
Evaluation ——speed
Parameters setting of the raw NFPUF numbers extraction methods
The average throughput of the raw NFPUF numbers (Kbits/second)
27
Evaluation ——speed
Parameters setting of the raw NFPUF numbers extraction methods
The average throughput of the raw NFPUF numbers (Kbits/second)
28
Evaluation
——Reproducibility (Intra-chip variations)
29
Evaluation
——Uniqueness (Inter-chip variations)
The inter-chip variations of the three proposed extraction methods
30
Evaluation ——Randomness
The percentage of bit “1” with temperature changes
31
Outline
 Motivation
 NAND Flash memory basics
 Robust key generation
 Experiments and Evaluation
 Conclusion
32
 First, we proposed three methods to extract raw NFPUF
numbers from NAND Flash memory chips.
 Second, we utilized the bit-map or position-map method to
select the cells with the most reliable relationship of the size
between raw NFPUF numbers.
 At last, we evaluated the primary characteristics of the key
under various temperature and aging conditions.
 Our key generator eschews the costly ECC overheads to
generate robust and error-free keys.
33
34