Le EEPROM funzionano conservando la carica nei transistor floating gate. Pensa a questi transistor come minuscoli condensatori che perdono estremamente lentamente (in genere con una durata di conservazione di oltre 10 anni), tranne con la disposizione aggiuntiva che puoi dire se è carica o scarica. Programmarne uno implica semplicemente alimentarlo con una fonte di energia e tirare il gate ad alta o bassa tensione per un breve periodo. Il meccanismo interno è chiamato iniezione tunnel. Se si lascia il gate "flottante" (cioè non collegato a terra o alla tensione positiva) dopo aver scollegato l'alimentazione, rimane al valore memorizzato.
Cancellare i dati su una EEPROM dovrebbe semplicemente comportare l'impostazione di tutto su non carico. Tuttavia, minuscole impurità ferrose nella matrice e nei connettori possono avere una suscettibilità magnetica sufficiente a rimanere parzialmente magnetizzate dal piccolo campo elettrico prodotto dalla carica trattenuta. Analizzando questa magnetizzazione, può essere possibile dedurre i dati latenti. Pertanto, la scrittura di dati casuali può fornire tariffe sufficientemente onerose per impedire l'analisi. Tuttavia, un'opzione migliore sarebbe quella di impostare tutte le celle a 1, quindi a 0, quindi a caso. Questo perché ci possono essere casi in cui piccoli delta di magnetizzazione sono utili per un aggressore, che sono garantiti per essere distrutti quando tutte le celle vengono caricate e poi scaricate.
La memoria flash è una storia diversa e in realtà utilizza due tecnologie diverse. Il flash NAND è comune, così come lo è il NOR. Entrambi i tipi consentono solo le scritture in blocchi (o "pagine"), anche se in genere i blocchi NAND sono molto più grandi dei blocchi NOR (che di solito sono un byte).
Il flash NAND è molto simile alle EEPROM in termini di costruzione, in quanto utilizzano transistor a gate flottante. Tuttavia, i transistor sono disposti in una catena in serie. Questa costruzione significa che è possibile eseguire due opzioni: impostare un singolo bit su 1 o impostare tutti i bit nella cella su 0. Il flash NOR funziona in modo simile, ma esegue invece l'iniezione di elettroni caldi attraverso una pompa di carica. La distinzione più importante qui è che il flash NOR richiede che la pompa di carica produca una tensione istantanea molto alta, mentre la NAND esegue le scritture a una tensione interna molto più bassa.
Come tale, la tecnologia NAND ha meno probabilità di promuovere la magnetizzazione rilevabile delle impurità ferrose rispetto a NOR, ma detiene lo stesso rischio per l'EEPROM. Raccomanderei comunque l'1, 0, triplo passaggio casuale per l'alta sicurezza, ma un singolo passaggio casuale dovrebbe essere più che sufficiente per chiunque non sia preoccupato per gli attaccanti che hanno accesso alle apparecchiature di microscopia a forza elettrostatica.
Devi anche tenere a mente che questi attacchi sono molto teorici e non credo che nessuno sia mai riuscito a recuperare i dati completamente cancellati da una EEPROM.