Sicurezza SSD (Flash Memory) quando i dati vengono crittografati

9

Sto esaminando le tecniche correnti sulla sicurezza della memoria flash. Ho appreso che l'aggiornamento non sul posto delle memorie flash ci impedisce di adattare le stesse tecniche di crittografia utilizzate sui dischi rigidi: vedere L'architettura della memoria Flash (SSD) influisce sulle tecniche di crittografia? -  e mi stavo chiedendo quale tipo di meccanismo venga usato per affrontarlo.

Per porre la mia domanda in una forma chiara, lascia che i dati "a" siano memorizzati nell'indirizzo "x", ma dopo la crittografia i dati "a" non possono essere memorizzati nello stesso indirizzo "x" (perché c'è nessun aggiornamento sul posto nelle memorie flash). Pertanto, ciò che facciamo è crittografare i dati, pronunciare " a" "e archiviarli in un altro indirizzo" x "". Dato che i dati non crittografati "a" sono ancora disponibili, dobbiamo eliminarli (si noti che negli SSD possiamo solo cancellare un intero blocco alla volta), il che comporta la cancellazione e lo spostamento di tutti i dati trovati nello stesso blocco di "a ". Il problema è che ciò causerà molte operazioni di cancellazione e, se continua così, la memoria si esaurirà dopo un numero limitato di cancellature.

Vorrei sapere se esistono soluzioni per questo problema.

    
posta lferasu 16.08.2011 - 19:56
fonte

3 risposte

9

Penso che questa domanda ci stia chiedendo un po 'di più su cosa accade quando crittografate i dati su un dispositivo in cui tali dati non erano stati precedentemente crittografati. Le unità SSD e le unità HDD soffrono di diversi possibili compromessi correlati a questo. Questo è fondamentalmente riferito (almeno sulla venerabile Wikipedia) come data residance . Questo articolo offre molte informazioni sui vari modi in cui i dati possono rimanere o essere trapelati sui dischi rigidi.

Dove l'SSD presenta un problema speciale, presenta anche una nuova risoluzione: il comando " Secure Erase " compensare, proprio come TRIM ha aiutato a compensare con le cancellazioni.

Se i tuoi problemi di sicurezza sono sufficientemente alti da preoccuparti per l'attività a livello di blocco dei dati non crittografati, ti suggerisco quanto segue: considera qualsiasi unità che abbia mai conservato dati sensibili in uno stato non crittografato per essere contaminata . Utilizza la partizione o la crittografia dell'intero disco a livello di dispositivo.

Questo vale per i sistemi HDD e per i sistemi SSD. Il caso particolare sarebbe un file sovrascritto. Le tecniche avanzate di recupero sono state teorizzate per leggere i dati sovrascritti (quindi algoritmi di pattern wipe sicuri: DoD 5220.22-M), sebbene questo possa essere un artefatto di unità a bassa densità ( link e link ). Tuttavia, i file system avanzati potrebbero elaborare una sovrascrittura in un'altra posizione o acquisire istantanee di dati quando non crittografati.

    
risposta data 16.08.2011 - 20:22
fonte
4

Credo che esista un equivoco su come funziona la crittografia dei dati sugli attuali SSD. I dati vengono scritti dall'host al dispositivo in formato 8 bit / 10 bit. A livello del livello di collegamento i dati vengono convertiti in formato 8 bit / byte e quindi inviati alla cache (DRAM o SRAM). Se il controller supporta la crittografia (la maggior parte di essi lo fa) i dati vengono quindi crittografati al volo e le informazioni di parità vengono generate per i dati crittografati prima che i dati e le informazioni di parità vengano scritti nelle pagine Flash NAND effettive in uno schema round robin (dopo il multiplexing sui canali disponibili).

In altre parole, i dati non vengono scritti in un formato non crittografato se si desidera la crittografia, piuttosto, la crittografia viene eseguita in linea. Se ciò non avvenisse, si potrebbe scrivere una sola pagina per blocco, quindi criptare i dati, scriverli alla pagina successiva e invalidare la pagina precedente, che lascerebbe comunque i dati non crittografati per chiunque possa accedervi facendo una eliminazione globale o scaricando l'intero contenuto dell'IC. Pertanto, sarebbe necessario, per scrivere una pagina, crittografarlo (e scriverlo nella pagina successiva dello stesso blocco) e quindi cancellare l'intero blocco e copiare solo la pagina crittografata in un altro blocco. Se qualcuno lo facesse, l'amplificazione della scrittura sarebbe astronomica.

Saluti, Michael

    
risposta data 13.05.2013 - 23:13
fonte
3

Gli aggiornamenti intenzionali non sul posto vengono spesso utilizzati per software o dati critici come il BIOS. Il non-evento involontario viene solitamente eseguito da algoritmi di livellamento dell'usura. Per il normale accesso ai file su determinati tipi di controller flash, è possibile scrivere driver per consentire la scrittura dello stesso indirizzo dopo la cancellazione. La dimensione del blocco è in genere di 128kB, il che non è male considerando le grandi dimensioni dei componenti e dei file flash tipici.

Se si richiede la cancellazione a livello di byte, è possibile passare alla EEPROM seriale. EEPROM è l'antenato della memoria Flash. Ha tempi di lettura e scrittura più rapidi e non richiede la cancellazione a livello di blocco prima della scrittura. Il più grande svantaggio di EEPROM è la capacità. Le EEPROM più grandi sono 8 MB rispetto a Flash a 256 GB! L'EEPROM ha una durata di circa 100.000 cicli di scrittura / cancellazione, che è simile al flash comune, ma ben al di sotto del flash ad alta resistenza che ha un ordine di grandezza di più cicli (1.000.000).

FRAM (ferroelectric random access memory) è un'opzione meno popolare che ha anche velocità di lettura e scrittura e accesso a livello di byte, ma scarsa disponibilità e scarso supporto in termini di strumenti e software. Ha una durata molto più lunga e un consumo energetico inferiore, ma si trova principalmente sui componenti system-on-chip (SoC) piuttosto che come memoria autonoma.

    
risposta data 17.08.2011 - 00:08
fonte

Leggi altre domande sui tag