Information Security Stack Exchange is a question and answer site for information security professionals. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Older magnetic storage exhibited some data remanence, so a recommendation emerged to wipe data by overwriting it multiple times with varying patterns — the “Gutmann wipe”. More recent hard disk technology does not require such precautions.

What are similar known results for EEPROM and flash memory (whatever the difference is)? Specifically, I would like to know the origin of the following rules for key erasure in the Mobile Operating System Protection Profile (§4.2.1 FCS_CKM_EXT.4.1), which unfortunately does not come with a rationale:

  • For non-volatile EEPROM, the zeroization shall be executed by a single direct overwrite consisting of a pseudo-random pattern (…).
  • For (…) non-volatile flash memory, the zeroization shall be executed by a single direct overwrite consisting of a single direct overwrite with zeros (…).

[Related: Why is there a difference between EEPROM and flash?]

share|improve this question

EEPROMs work by storing charge in floating-gate transistors. Think of these transistors like tiny capacitors that leak extremely slowly (typically with retention lifetimes of 10+ years), except with the added provision that you can tell whether it's charged or uncharged. Programming one simply involves feeding it a power source and pulling the gate to high or low voltage for a short time. The internal mechanism is called tunnel injection. If you leave the gate "floating" (i.e. neither connected to ground or positive voltage) after disconnecting the power, it remains at the stored value.

Clearing the data on an EEPROM should simply involve setting it all to uncharged. However, tiny ferrous impurities in the die and connectors may have sufficient magnetic susceptibility to remain partially magnetised by the tiny electric field produced by the held charge. By analysing this magnetisation, it may be possible to deduce latent data. As such, writing random data may provide sufficiently overbearing charges to prevent analysis. However, a better option would be to set all cells to 1, then 0, then random. This is because there may be cases where tiny magnetisation deltas are useful to an attacker, which are guaranteed to be destroyed when all cells are charged then discharged.

Flash memory is a different story, and actually uses two different technologies. NAND flash is common, as is NOR. Both types only allow writes in blocks (or "pages"), though typically NAND blocks are much larger than NOR blocks (which are usually a byte).

NAND flash is very similar to EEPROMs in terms of construction, in that they use floating-gate transistors. However, the transistors are arranged in a series chain. This construction means that two options can be performed: setting a single bit to 1, or setting all bits in the cell to 0. NOR flash works in a similar way, but performs hot-electron injection through a charge pump instead. The most important distinction here is that NOR flash requires the charge pump to produce a very high instantaneous voltage, whereas NAND performs writes at a much lower internal voltage.

As such, NAND technology is less likely to promote detectable magnetisation of ferrous impurities than NOR, but holds about equal risk to EEPROM. I would still recommend the 1, 0, random triple-pass for high security, but a single random pass should be more then enough for anyone not worried about attackers that have access to electrostatic force microscopy equipment.

You should also keep in mind that these attacks are very much theoretical, and I don't believe anyone has ever managed to recover fully erased data from an EEPROM.

share|improve this answer

In the Mobile Operating System Protection Profile, it's said:

Compliance to Guidelines for Media Sanitization (SP 800-88 Rev1, dated Sept 2012) Appendix A, Table A-3 Mobile Device Sanitization is recommended.

And on the SP 800-88 Rev1 - draft you can find the following recomendations:

Table A-8. Flash-Based Storage Device Sanitization

SSD (...) The Clear pattern should be at least a single pass with a fixed data value, such as all zeros.

SCSI SSD (...) The Clear pattern should be at least a single pass with a fixed data value, such as all zeros.

USB Removable Media This includes Pen Drives, Thumb Drives, Flash Drives, Memory Sticks, etc. (...) The Clear pattern should be at least two passes, to include a pattern in the first pass and its complement in the second pass. Additional passes may be used.

So, there's difference whether the chip is used in a SSD drive or in a removable (!) drive.

Table A-9. RAM and ROM-Based Storage Device Sanitization

Electronically Erasable PROM (EEPROM)

Overwrite media by using organizationally approved and validated overwriting technologies/methods/tools.

And for eeproms, no specific details are given, just a basic overwrite.

I couldn't find a rationale in the document, perhaps the bibliography in the end of the document provided some information that raised some eyebrows and for some kind of storage the level was higher...

share|improve this answer
Oh man. You are lost in a large maze of twisting requirements, all different. You are likely to be eaten by a grue. – Gilles Jun 11 '13 at 21:35

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.