Flash memory has "fingerprints": distinctive subcritical manufacturing flaws


Mark sez, "University researchers have developed a way to check the authenticity of NAND flash. Pegged as a method to defeat counterfeiting within the manufacturing chain, this method would allow companies within the hardware industry to verify the flash chips. And whilst analysts state that this is not likely to be something that consumers would be particularly interested in, it does bear a striking similarity to the idea behind camera fingerprinting (to marry an image to a specific source camera) – so perhaps some sort of consumer awareness of the perverse uses might be of benefit?"

The system uses "physically unclonable functions" (PUFs), or variations in manufacturing that are unique to each element of each flash chip. Swanson described one PUF that his team has worked with, called Program Disturb. It uses a type of manufacturing flaw that doesn't affect normal operation but causes problems under test conditions.

Data is written and erased from NAND flash through changes in the states of each cell, which are applied by sending a voltage through the cell. If a cell is rewritten many times in a row, the voltage can bleed into an adjacent cell so much that the adjacent cell also changes its state. The order in which cells are modified prevents this from happening in normal operation, Swanson said.

In the test, the number of repetitions it takes to disturb the neighboring cell depends on the thickness of the barriers between the cells and other factors, which vary from one chip to another, Swanson said. The Program Disturb test counts the number of repetitions needed to cause the cell next door to change its state, typically hundreds or thousands. It can be run again later to see if that number matches the original result.

NAND flash can verify a device's identity

(Thanks, Mark!)

(Image: VIA VT6430 PCI Flash Reader Chip Image, a Creative Commons Attribution (2.0) image from viagallery's photostream and my fingerprint (index, left hand), a Creative Commons Attribution (2.0) image from fazen's photostream)