NAND Flash Can Verify a Device's Identity
itwbennett writes "Researchers at UC San Diego and Cornell University have developed software that they say can detect variations in flash behavior that are unique to each chip. 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." Related: from last October, another description of such error-based identity assignment.
...which is defeated by a mitm attack spoofing the appropriate response.
right...lets program the chips thousands of times to detect bleed over voltages and reduce the life of the device by 1000 fold to get a unique fingerprint for the flash chip.
that will certainly help eliminate counterfeits. and recude the life of the device by a factor of many thousands so consumers will have to replace the entire device more frequently. win win all around!
An the lock that goes with this 'perfect' key will most likely be picked through a deficient identification and validation system.
With increasing densities I doubt you have to go so far as to look at program disturb. Even just the distribution of bad cells which are present in all flash chips from the factory happens in a random enough manner to be able to ID each chip. There is no realistic way to be able to duplicate the bad cell pattern either. The only way you could ever hope to do it would be to get a flash chip with no defects (or only a few overlapping ones) and mark extra cells as defective. Feasible for a couple kilobit chip but not possible for gigibit densities.
A better ID system would be DRAM really. Write blanket 0s to a block of the memory and halt the refresh operation, then read it a second or two later and see how many have flipped to 1 and in what pattern (the 0 to 1 flip takes much longer than the 1 to 0 flip so it would be more reproducible).
How long before it's used as evidence in court?
A team at the Fraunhofer Institute for Secure Information Technology, Garching, Germany, has produced such physically unclonable functionality in chip circuitry by using a component's particular material properties to construct a digital key. The chip fingerprinting method relies on a correspondence between the digital key and a material property of the silicon circuit that is not easily copied. More details at http://www.tikalon.com/blog/blog.php?article=2011/chip_fingerprint
From TFA
The hacker might test the NAND flash itself and store the expected values on the chip, then replay the expected results when the chip was tested. In this way, they could impersonate the authentic chip. However, tests showed that there would not be enough room on any chip to store the data needed to carry this out. The amount of data needed would grow with the capacity of the chip and would be orders of magnitude larger than its capacity, he said.
That's not what a hacker is going to do. A hacker is going to measure the chip's 'response function' to the ID/validation signals. And then he is going to find another chip. Probability dictates that for a sufficiently similar manufacturing process, another chip will have the same occurrence of behaviour NAND cells, except of course they will have a randomly different spatial location on the chip. Then all you need to do is remap the NAND cells' locations through a modified driver, and replicate the response function. YOu may not even need to have a similar occurrence of behaviours, it could be sufficient to find just enough to replicate the response function.
There is no need to have a complete deterministic model of the chip. You can treat it as a black box and replicate its essential characteristics in a different way. The principle is a mantra in reverse engineering anyway
Entia non sunt multiplicanda praeter necessitatem.
How long before it's used as evidence in court?
I'm more worried that this will be used for new DRM systems that are hard to crack. You could make some really nasty anti-tampering protections with this.
"Screw Sun, cross-platform will never work. Let's move on and steal the Java language." - Visual J++ Product Manager
I have an ass full of shit in my pants.
This reminds me of floppy disk weakly magnetized regions which were used for copy protection back in the Apple II days.
They would read the same sector over and over and see if some of the bits changed. If they didn't, it was a copy.
Flash parts may already have a unique ID built in (i.e. serial number), and can also have one-time-programmable memory areas. So while this is interesting, I don't really see why it's needed.
Here's a technote about these features from 2007: http://www.micron.com/get-document/?documentId=138
Presumable counterfeit devices could be detected simply by reading the flash serial number and comparing it to sales records.
Yes there are some unique traits that exist for different NAND chips. But age, usage, temperature and other external factors will alter this over time. The result your expensive PS4? is labeled 'hacked' because it got a bit hot and damaged the chip in a manor not noticeable under normal conditions. Your games no longer run and your hardware is worthless because companies feel the need to "verify device identities".