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
© Copyright 2026 Paperzz