Flash Memory for Ubiquitous Hardware Security Functions

Slides:



Advertisements
Similar presentations
Kasumi Block Cipher Data Encryptors Darshan Gandhi Rushabh Pasad.
Advertisements

Random Number Generation & Testing Juan Soto 301/
Tunable Sensors for Process-Aware Voltage Scaling
Thank you for your introduction.
Spread Spectrum Chapter 7.
Spread Spectrum Chapter 7. Spread Spectrum Input is fed into a channel encoder Produces analog signal with narrow bandwidth Signal is further modulated.
1-1 Bard, Gerstlauer, Valvano, Yerraballi EE 319K Introduction to Microcontrollers Lecture 1: Introduction, Embedded Systems, Product Life-Cycle, ARM Programming.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 181 Lecture 18 DSP-Based Analog Circuit Testing  Definitions  Unit Test Period (UTP)  Correlation.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 261 Lecture 26 Logic BIST Architectures n Motivation n Built-in Logic Block Observer (BILBO) n Test.
1 A Statistical Test Suite for Random and Pseudorandom Number Generators for Cryptographic Application This contribution discusses some aspects of testing.
Physical Unclonable Functions and Applications
1 U NIVERSITY OF M ICHIGAN Reliable and Efficient PUF- Based Key Generation Using Pattern Matching Srini Devadas and Zdenek Paral (MIT), HOST 2011 Thomas.
Physical Unclonable Functions
PH4705 ET4305 Interface Standards A number of standard digital data interfaces are used in measurement systems to connect instruments and computers for.
5/4/2006BAE Analog to Digital (A/D) Conversion An overview of A/D techniques.
EET260: A/D and D/A converters
Multithreaded FPGA Acceleration of DNA Sequence Mapping Edward Fernandez, Walid Najjar, Stefano Lonardi, Jason Villarreal UC Riverside, Department of Computer.
Daniel E. Holcomb, Wayne P. Burleson and Kevin Fu
Nurbek Saparkhojayev and Dale R. Thompson, Ph.D., P.E. Computer Science and Computer Engineering Dept. University of Arkansas Matching Electronic Fingerprints.
Copyright 2005, Agrawal & BushnellVLSI Test: Lecture 21alt1 Lecture 21alt BIST -- Built-In Self-Test (Alternative to Lectures 25, 26 and 27) n Definition.
Chapter 9 Memory Basics Henry Hexmoor1. 2 Memory Definitions  Memory ─ A collection of storage cells together with the necessary circuits to transfer.
Design for Testability Theory and Practice Lecture 11: BIST
Design of a Control Workstation for Controller Algorithm Testing Aaron Mahaffey Dave Tastsides Dr. Dempsey.
Design and Implementation of a True Random Number Generator Based on Digital Circuit Artifacts Michael Epstein 1, Laszlo Hars 2, Raymond Krasinski 1, Martin.
Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are.
Yinglei Wang, Wing-kei Yu, Sarah Q. Xu, Edwin Kan, and G. Edward Suh Cornell University Tuan Tran.
ELEN 468 Lecture 251 ELEN 468 Advanced Logic Design Lecture 25 Built-in Self Test.
Physical-layer Identification of RFID Devices Authors: Boris Danev, Thomas S. Heyde-Benjamin, and Srdjan Capkun Presented by Zhitao Yang 1.
3/20/2013 Threshold Voltage Distribution in MLC NAND Flash: Characterization, Analysis, and Modeling Yu Cai 1, Erich F. Haratsch 2, Onur Mutlu 1, and Ken.
Self-Calibrating Audio Signal Equalization Greg Burns Wade Lindsey Kevin McLanahan Jack Samet.
Oppenheimer Technologies Rick King Jonathan Creekmore.
Real time DSP Professors: Eng. Julian Bruno Eng. Mariano Llamedo Soria.
ADC & DAC Signal Conversions.
Program Interference in MLC NAND Flash Memory: Characterization, Modeling, and Mitigation Yu Cai 1 Onur Mutlu 1 Erich F. Haratsch 2 Ken Mai 1 1 Carnegie.
DLS Digital Controller Tony Dobbing Head of Power Supplies Group.
/38 Lifetime Management of Flash-Based SSDs Using Recovery-Aware Dynamic Throttling Sungjin Lee, Taejin Kim, Kyungho Kim, and Jihong Kim Seoul.
Analog to Digital conversion. Introduction  The process of converting an analog signal into an equivalent digital signal is known as Analog to Digital.
Data Acquisition Systems
1 UCR Hardware Security Primitives with focus on PUFs Slide credit: Srini Devedas and others.
2010 IEEE ICECS - Athens, Greece, December1 Using Flash memories as SIMO channels for extending the lifetime of Solid-State Drives Maria Varsamou.
Extracting Robust Keys from NAND Flash Physical Unclonable Functions Shijie Jia, Luning Xia, Zhan Wang, Jingqiang Lin, Guozhu Zhang and Yafei Ji Institute.
Random Number Generators 1. Random number generation is a method of producing a sequence of numbers that lack any discernible pattern. Random Number Generators.
Accelerating Statistical Static Timing Analysis Using Graphics Processing Units Kanupriya Gulati and Sunil P. Khatri Department of ECE, Texas A&M University,
ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTEMS
An Embedded True Random Number Generator for FPGAs Bebek, Jerry Paul Kohlbrenner Lockheed Martin 3201 Jermantown Road Fairfax, VA 22030, USA
21 June 2009Robust Feature Matching in 2.3μs1 Simon Taylor Edward Rosten Tom Drummond University of Cambridge.
Sources of noise in instrumental analysis
Chapter 4 MARIE: An Introduction to a Simple Computer.
A paper by: Paul Kocher, Joshua Jaffe, and Benjamin Jun Presentation by: Michelle Dickson.
Sensor testing and validation plans for Phase-1 and Ultimate IPHC_HFT 06/15/ LG1.
16722 Mo: data acquisition150+1 data acquisition.
A New Class of High Performance FFTs Dr. J. Greg Nash Centar ( High Performance Embedded Computing (HPEC) Workshop.
1 SVY 207: Lecture 5 The Pseudorange Observable u Aim of this lecture: –To understand how a receiver extracts a pseudorange measurement from a GPS signal.
Stallings, Wireless Communications & Networks, Second Edition, © 2005 Pearson Education, Inc. All rights reserved Spread Spectrum Chapter.
Systems Architecture, Fourth Edition 1 Processor Technology and Architecture Chapter 4.
Intro. ANN & Fuzzy Systems Lecture 16. Classification (II): Practical Considerations.
Carnegie Mellon University, *Seagate Technology
Statistical Testing of Random Number Generators Juan Soto 301/
Components of a typical full-featured microcontroller.
November 25Asian Test Symposium 2008, Nov 24-27, Sapporo, Japan1 Sequential Circuit BIST Synthesis using Spectrum and Noise from ATPG Patterns Nitin Yogi.
RTL Hardware Design by P. Chu Chapter 9 – ECE420 (CSUN) Mirzaei 1 Sequential Circuit Design: Practice Shahnam Mirzaei, PhD Spring 2016 California State.
ULTRASONIC DISTANCE METER USING 8051
RL78 POC and LVD © 2010 Renesas Electronics Corporation. All rights reserved.
Digital Design.
VLSI Testing Lecture 14: Built-In Self-Test
CPE/EE 428/528 VLSI Design II – Intro to Testing (Part 3)
Analog-to-digital converter
Lecture 26 Logic BIST Architectures
Lecture 5 Memory and storage
Lecture 16. Classification (II): Practical Considerations
Presentation transcript:

Flash Memory for Ubiquitous Hardware Security Functions Yinglei Wang, Wing-kei Yu, Shuo Wu, Greg Malysa, G. Edward Suh, and Edwin C. Kan Cornell University May 21st, 2012

Outline Motivation Flash memory basics Device fingerprinting True Random number generation (RNG) Summary

Hardware Security Functions Device-specific fingerprints or secrets Physically unclonable functions (PUF) Authenticate hardware, bind IP/secret to a device, etc. True random number generators (RNG) Ensure freshness of communication Pseudo-random numbers on a virtual machine can be predictable Untrusted Supply Chain / Environments Authentic IC ??? Is this IC authentic? PUF PUF Challenges Responses Bits in software can be easily copied a recent study showed that reuse of virtual machine (VM) snapshots can break the Transport Level Security (TLS) protocol due to predictable random numbers Challenges Responses =?

State of the Art - Device Fingerprinting Need special circuits; interference with normal operation Flash memory fingerprints, speed and applicability issues Identical ring oscillators, Suh et al., DAC 2007 Initial state of SRAM, Holcomb et al., RFID security, 2007 Rare disturb phenomena, Prabhu et al., Trust 2011

State of the Art - Hardware RNG Hardware random number generation (RNG) Without quantum-random properties Low-temperature attack; Need special circuit Phase noise, Sunar et al., IEEE Transactions on Computers, 2007 Delay paths, Odonnell et al., MIT, 2004 Avalanche noise, Entropy key product Metastability, Cox et al., Hot Chips, 2011

Flash-Based Security Functions Unmodified Flash memory for security functions Device fingerprinting True random number generator Flash memory is ubiquitous Mobile devices, SSD, USB, etc. Pure software implementations Works with TI MSP430F2274 Microcontroller(16-bit RISC mixed-signal, used in sensor networks) TI OMAP4430 / NVIDIA Tegra 3 (ARM architecture) should also work (smartphones--android, galaxy, kindle fire) Show the msp430 device and say we can demo it (same code, device-specific output) If you are interested, you can come to us during the breaks and we can show you how the same code can produce device specific results.

Outline Motivation Flash memory basics Device fingerprinting True Random number generation (RNG) Summary

Flash Memory Operations Erase Program Threshold Voltage Vth ‘1’ Read Vth ‘0’ Page 0 Page 1 Page 2 …... Block 010011111000 011111111010 010010011001 …... Original Data 111111111111 111111111111 111111111111 …... After Erase 111111111111 000000000000 111111111111 …... Program Page 1

Outline Motivation Flash memory basics Device fingerprinting True Random number generation (RNG) Summary

Flash PUF (Fingerprints) Process variation makes every Flash bit unique Threshold voltage (program/erase time) Wear-out from P/E cycles Program/read disturb [Prabhu et al., TRUST 2011] Quantization margins in sense amplifiers However, digital interfaces are built to hide such analog variations How to expose the variations?

Partial Programming Standard Flash interfaces (such as ONFI – Open NAND Flash Interface) support an abort operation Program/erase can be interrupted Enables partial programming of individual bits Bit 2 Partial Programs Bit 1 Program Threshold Voltage Vth ‘1’ Read Vth ‘0’

Fingerprinting Algorithm Erase a block, pick a page Partial program Read the page and record the bits flipped in this partial program Repeat the above two steps until most bits flipped 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 0 0 1 1 2 1 0 0 1 0 0 1 0 3 0 0 0 1 0 0 0 0 4 Explain number on right means how many parital programs we have done so far, Explain final results by saying that bit 1 took 4 PP’s to flip to 0, bit 8 took 3 0 0 0 0 0 0 0 0 5 Final results: 4 1 3 5 2 2 4 3

Experimental Setup Flash test board Flash chips ARM microcontroller Socket for commercial off-the-shelf (COTS) Flash USB output All components available COTS Flash chips Go through this quickly Manufacturer Capacity Quantity Technology Numonyx 4Gbit 3 57nm SLC Hynix 10 SLC Micron 2Gbit 24 34nm SLC 16Gbit 5 MLC

Partial Program Number Fingerprints Correlation Function: Same page, same chip Same page, different chips Same chip, high Different chip: low Can effectively authenticate a chip

Larger Scale Experiments 24 Micron chips 24 pages from each chip 10 measurements from each page 16,384 bits per page

Uniqueness (Inter-Chip Variations) Compare measurements of the same page on different chips 66,240 pairs compared (24 chips choose 2)  24 pages  10 measurements Histogram with Gaussian fit in red outline The transition sentence on this page: Here are the results. As we mentioned before, every chip is unique and this is shown by the inter-chip variations. When we compare two measurements on the same page from different chips, the correlation should be very low. Here is a histogram of ….

Robustness (Intra-chip variations) Compare multiple measurements from the same page on the same chip 25,920 comparisons Also, the same chip should be identified as the same chip and this is shown by the intra-chip variations.

Performance False negatives False positives Time Measurements from different pages show as the same page Probability from overlapping Gaussians is 10-815 False positives Measurements from same page show as two different pages Probability from overlapping Gaussians is 10-539 Time ~10 seconds for all 16,384 bits in one page < 1 second for a 1,024-bit fingerprint The original version used the conservative estimation t=0.3 and t=0.7, I changed to using threshold of 0.5

Temperature Variation and Aging Correlation between measurements on the same pages is lower, but high enough Aging Flash memory chips change with aging (program/erase stress) Correlation is again reduced, but high enough even after 500,000 cycles Explain x axis of aging Specified flash chip lifetime

Fingerprint Security What does it take to fully characterize and memorize fingerprints for the entire Flash chip? Takes about 10 bits to store ordering 10x storage Many pages, ~10 seconds to characterize a page 16Gbit  1 million pages  ~17 weeks These would make the cost of faking a chip too high for economic purposes.

Outline Motivation Flash memory basics Device fingerprinting True Random number generation (RNG) Summary

Noises in Flash Memory Two types of noises Noise extraction Thermal noise (without quantum property) Random telegraph noise (RTN, caused by single electron capture and emission in the device, quantum noise) Noise extraction Partial Programs Single Electron Emission Single Electron Capture Link RNG to noise… our rng is based on noise in flash memory. From the threshold voltage perspective Vth ‘1’ Vth ‘0’ Threshold Voltage Stable ‘1’ Thermal noise region Stable ‘0’

Observed Noise Types Want RTN as quantum noise from single electron interaction Pure thermal RTN Either don’t show this, or go through it quickly RTN + Thermal Noise Moving average from RTN + Thermal Noise

RNG Algorithm Erase Partial program Read the page N times, if one oscillating bit shows RTN, record its position and partial program number Repeat above 2 steps until all bits are programmed Erase, partial program all RTN bits to proper level Read these bits M times Debiasing 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 3 . 1 k 1 1 1 0 0 0 1 1 1 1 1 Parallel

Randomness Use NIST Statistical Test Suite 2.2.1 (Aug. 2010) 10 sequences of 200,000 bits Generated from flash bits with pure RTN All pass! 10 sequences of 600,00 bits tested Generated from flash bits with RTN components To evaluate our results

Throughput: bits with Pure RTN Chip Hynix SLC Numonyx SLC Micron SLC Micron MLC Reading speed (KHz) 46.5 45.3 43.1 17.8 Number of bits characterized 303 478 1030 134 Number of bits identified 9 16 5 Max throughput (Kbits/sec) 8.03 5.35 2.71 -- Avg. throughput (Kbits/sec) 3.27 1.79 0.848 Min throughput (bits/sec) 107 34.8 8.14 All throughputs are for single flash bit

Throughput: bits with RTN component Chip Hynix SLC Numonyx SLC Micron SLC Micron MLC Reading speed (KHz) 46.5 45.3 43.1 17.8 Number of bits characterized 303 478 1030 134 Number of bits identified 27 81 58 28 Max throughput (Kbits/sec) 11.5 9.68 10.0 3.83 Avg. throughput (Kbits/sec) 3.28 3.87 3.53 1.26 Min throughput (bits/sec) 28.4 10.2 8.14 55.1 If we don’t care about RTN or thermal, we can use every bit We can use all of the bits if both thermal and RTN are used!

Environmental Variations Tested at -5 °C and -80 °C Thermal noise goes down with temperature RTN exists even at low temperature Aging Tested at 103 and 104 P/E cycles More noisy bits from aging Theoretically, the amplitude of RTN is independent of the temperature and some work shows the switching of RTN behavior even exists when the temperature approaches absolute zero

Outline Motivation Flash memory basics Device fingerprinting True Random number generation (RNG) Summary

Summary Flash memory is everywhere and can be used for computer security purposes without hardware changes Flash memory device fingerprinting Fast Robust and unique signatures Resistant to temperature variations and aging Flash memory as a True RNG Quantum noise from RTN and thermal noise Viable across temperature ranges, aging

Applicability Erase/program/read to the same physical address Accept RESET command when the chip is busy Disable ECC

NIST Test Suites Test Name Test Description 1 The Frequency (Monobit) Test: Tests proportion of zeros and ones for the whole sequence. 2 Frequency Test within a Block Tests the proportions of ones within M-bit Block. 3 The Run Test Tests the total number of runs in the sequence, where a run is an uninterrupted sequence of identical bits 4 Tests for the Longest-Run-of-Ones in a Block Tests the longest run of ones within M-bit Block and consistency with theory 5 The Binary Matrix Rank Test Tests rank of disjoint sub-matrices of the entire sequence and independence 6 The Discrete Fourier Transform (Spectral) Test Tests the peak heights in the Discrete Fourier Transform of the sequence, to detect periodic features that indicates deviation of randomness 7 The Non-overlapping Template Matching Test Tests the number of occurrences of a pre-specified target strings 8 The Overlapping Template Matching Test Tests the number of occurrences of a pre-specified target strings. When window found, slide only one bit before the next search 9 Maurer’s “Universal Statistics” Test Tests the number of bits between matching patterns 10 The Linear Complexity Test Tests the length of a linear feedback shift register, test complexity 11 The Serial Test Tests the frequency of all possible overlapping m-bit pattern 12 The Approximate Entropy Test Tests the frequency of all possible overlapping m-bits pattern across the entire sequence 13 The Cumulative Sums (Cusums) Test Tests maximal excursion from the random walk defined by the cumulative sum of adjusted (-1, +1) digits in the sequence 14 The Random Excursion Test Tests the number of cycles having exactly K visits in a cumulative sum random walk 15 The Random Excursions Variant Test Tests the total number of times that a particular state is visited in a cumulative sum random walk

NIST Test Results lalalala

More Uniqueness: Different Pages Compare correlation coefficients from measurements of different pages on different chips 1,656,000 pairs compared ((24 chips  24 pages) choose 2)  10 measurements Optional, perhaps not