
Extracting Robust Keys from NAND Flash Physical Unclonable Functions
"Learn about the extraction of robust keys from NAND Flash Physical Unclonable Functions in this study conducted by Shijie Jia, Luning Xia, Zhan Wang, Jingqiang Lin, Guozhu Zhang, and Yafei Ji from the Institute of Information Engineering, CAS, Beijing, China. Explore the motivation, NAND Flash memory basics, robust key generation, experiments, and evaluations presented in the research."
Download Presentation

Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.
E N D
Presentation Transcript
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 1 1 1 1 1 1 1 1 Erase a block 0 0 0 0 0 0 0 0 0 program a page to 0 1 0 1 0 0 1 0 0 0 perform fixed number (PENum) of partial erasure operations (Te) 1 1 0 0 1 0 1 0 2 to the selected page 1 1 0 1 1 1 1 0 3 record the number of partial erasure operations that the Raw NFPUF Numbers: 2 1 4 3 1 3 2 4 selected cells need to flip 14
Robust key generation ----Extracting Raw NFPUF Numbers Partial Erasure 1 1 1 1 1 1 1 1 Erase a block 0 0 0 0 0 0 0 0 0 program a page to 0 1 0 1 0 0 1 0 0 0 perform fixed number (PENum) of partial erasure operations (Te) 1 1 0 0 1 0 1 0 2 to the selected page 1 1 0 1 1 1 1 0 3 record the number of partial erasure operations that the Raw NFPUF Numbers: 2 1 4 3 1 3 2 4 selected cells need to flip 15
Robust key generation ----Extracting Raw NFPUF Numbers Partial Programming Erase a block 1 1 1 1 1 1 1 1 0 perform fixed number (PPNum) of 1 1 0 1 1 0 1 1 1 partial programming operations (Tp) to the selected page 0 0 1 1 0 1 0 1 2 record the number of partial 0 0 1 0 0 0 0 1 3 programming operations that the selected cells need to flip Raw NFPUF Numbers: 2 1 4 3 1 3 2 4 16
Robust key generation ----Extracting Raw NFPUF Numbers Partial Programming Erase a block 1 1 1 1 1 1 1 1 0 perform fixed number (PPNum) of 1 1 0 1 1 0 1 1 1 partial programming operations (Tp) to the selected page 0 0 1 1 0 1 0 1 2 record the number of partial 0 0 1 0 0 0 0 1 3 programming operations that the selected cells need to flip Raw NFPUF Numbers: 2 1 4 3 1 3 2 4 17
Robust key generation ----Extracting Raw NFPUF Numbers Program Disturbance Erase a block 1 1 1 1 1 1 1 1 0 perform fixed number (PDNum) of 1 1 0 1 1 0 1 1 1 programming operations to the selected page 0 0 1 1 0 1 0 1 2 record the number of programming 0 0 1 0 0 0 0 1 3 operations that the selected cells in its physically adjacent page Raw NFPUF Numbers: 2 1 4 3 1 3 2 4 need to flip 18
Robust key generation ----Extracting Raw NFPUF Numbers Program Disturbance Erase a block 1 1 1 1 1 1 1 1 0 perform fixed number (PDNum) of 1 1 0 1 1 0 1 1 1 programming operations to the selected page 0 0 1 1 0 1 0 1 2 record the number of programming 0 0 1 0 0 0 0 1 3 operations that the selected cells in its physically adjacent page Raw NFPUF Numbers: 2 1 4 3 1 3 2 4 need to flip 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
Thank you ! 34