La crittografia dell'intero disco sull'unità SSD ne riduce la durata?


55

Vorrei assumere che una distribuzione cifratura completa del disco introdurrebbe scritture supplementari ogni volta che il computer viene avviato e spegnimento. Dato che si ritiene che i dischi a stato solido abbiano una capacità media inferiore per le scritture prima dell'errore, una soluzione di crittografia dell'intero disco può ridurre la durata prevista del disco su cui è distribuita?

Se i miei presupposti non sono corretti, suppongo che questo sia un punto controverso. Grazie in anticipo.


questo è un duplicato esatto di superuser.com/questions/57573/…

1
@JarrodRoberson intendi questa domanda? superuser.com/questions/39719/… Ad ogni modo, le relative domande hanno tutte risposte inferiori, quindi non le chiuderei come ingannevoli
Ivo Flipse,

@IvoFlipse il nocciolo della domanda che ho contrassegnato come un duplicato afferma "... Questo metterà effettivamente l'unità in uno stato completamente usato e come questo influenzerà il livellamento dell'usura e le prestazioni dell'unità? ...", è esattamente questo stessa domanda.

Risposte:


49

Pensa alla crittografia come a un adattatore. I dati vengono semplicemente codificati prima di essere scritti o decodificati prima di essere letti. L'unica differenza è che a un certo punto viene passata una chiave (di solito quando l'unità / driver viene inizializzata) da utilizzare per la crittografia / decrittografia.

Ecco un grafico (approssimativo) che ho messo insieme per mostrare lo schema di base:

Schema dimostrativo della crittografia completa dell'unità

Come puoi vedere, non è necessario eseguire ulteriori letture o scritture poiché il modulo di crittografia crittografa i dati prima che i dati vengano scritti sui piatti e li decodifica prima che vengano inviati al processo che ha eseguito la lettura.

La posizione effettiva del modulo di crittografia può variare; può essere un driver software o può essere un modulo hardware nel sistema (ad es. controller, BIOS, modulo TPM) o persino nell'unità stessa. In ogni caso, il modulo si trova "nel mezzo del filo" tra il software che esegue le operazioni sui file e i dati effettivi sui piatti dell'unità.


24
Questa risposta è logicamente errata! Dipende da quanti blocchi il sistema operativo crittografa alla volta. Supponiamo che crittografa 4K alla volta, quindi la semplice modifica di un byte comporterà la scrittura su 8 blocchi da 512 byte su SSD, mentre senza crittografia, il sistema operativo (se ottimizzato bene) deve solo scrivere su 1 blocco da 512 byte. Quindi la crittografia si aggiunge alle scritture su disco 8x. In pratica, il sistema operativo può scegliere una dimensione di blocco appropriata per la crittografia, ma la risposta non risolve questo problema e non fa alcuna affermazione al riguardo. Quindi in pratica questa risposta può essere corretta ma logicamente è sbagliata, almeno è incompleta.
Icando,

21
@icando, è una semplificazione generica. Inoltre, di cosa stai parlando è un codice di flusso . Il programma di crittografia full-disk più comune / popolare, TrueCrypt , utilizza i cifrari a blocchi . Se riesci a segnalare un sistema di crittografia dell'intero disco che è progettato male e / o utilizza un codice di flusso che comporta questo tipo di impatto, ti preghiamo di farlo e spiegherò felicemente la risposta.
Synetech,

1
Se il modulo di crittografia si trova nell'unità stessa, allora puoi essere sicuro che tenga conto della natura degli SSD (altrimenti il ​​mfg è stupido e vuoi un rimborso). Se il modulo si trova nel BIOS, può essere facilmente aggiornato per includere un algoritmo migliore, se necessario.
Synetech,

1
Per quanto riguarda il software, è ancora più facile da aggiornare. TrueCrypt, ad esempio, è stato aggiornato analizzato in termini di usura SSD [1] [2] e il problema principale non è l'usura, ma potrebbe essere vulnerabile agli attacchi .
Synetech,

9
Il problema con la crittografia completa del disco è che DISCARD / TRIM è generalmente disabilitato per motivi di sicurezza. Tutte le unità SSD hanno una dimensione logica del blocco di 4kb, l'implementazione sottostante sottostante questo livello è tenuta segreta dalla maggior parte dei produttori, anche con le unità più recenti che mostrano dimensioni di pagina di 8kb, sono ancora 4kb sotto le copertine con il firmware che fa le traduzioni. Niente di tutto ciò è una preoccupazione che il firmware fa la cosa giusta con la concatenazione delle scritture, quindi l'affermazione che la crittografia aggiunge qualcosa di molto meno le scritture 8X è l'ignoranza della crittografia e delle strategie di scrittura del filesystem e del firmware.

24

Risposta breve:
se il controller del disco non utilizza la compressione, la risposta di Synetech è corretta e la crittografia non cambierà nulla. Se il controller utilizza la compressione, probabilmente la crittografia ridurrà la durata del disco (rispetto a un disco identico in cui non viene utilizzata la crittografia).

Risposta lunga:
alcuni controller SSD utilizzano la compressione per ridurre al minimo la quantità di dati scritti sui chip flash effettivi e per migliorare le prestazioni di lettura (i controller SandForce ne sono un ottimo esempio, potrebbero essercene altri). Funzionerà meglio se i dati scritti sul disco sono facilmente comprimibili. File di testo, file eseguibili, immagini non compresse (ad esempio BMP) e simili possono di solito essere compressi abbastanza mentre i file che sono già compressi o crittografati sono quasi impossibili da comprimere poiché i dati sembreranno quasi completamente casuali all'algoritmo di compressione nel controller .

Tom's Hardware ha fatto un bel test proprio su questo su un SSD Intel 520 che può essere trovato su
http://www.tomshardware.com/reviews/ssd-520-sandforce-review-benchmark,3124-11.html

Ciò che fondamentalmente fanno è misurare l'amplificazione in scrittura (il rapporto tra la quantità di dati scritti in flash e la quantità di dati inviati all'unità) dell'unità quando si scrivono dati completamente comprimibili e dati completamente casuali. Per dati completamente casuali, l'amplificazione in scrittura è 2,9 *, il che significa che per ogni GB di dati inviati al disco, 2,9 GB vengono scritti in flash. L'articolo osserva che questo sembra essere approssimativamente lo stesso numero misurato su unità che non usano la compressione. Per i dati completamente comprimibili, il rapporto è 0,17, che è un po 'più basso.

L'uso normale probabilmente finirà da qualche parte nel mezzo a meno che i dati non siano crittografati. Le previsioni sulla durata nell'articolo sono in qualche modo accademiche, ma mostrano che la crittografia potrebbe sicuramente influenzare la durata su un SSD con un controller SandForce. L'unico modo per aggirare questo sarebbe se il controller stesso può eseguire la crittografia dopo che si è verificata la compressione.

* L'articolo non specifica il motivo per cui 2.9 è considerato un valore normale e non l'ho davvero studiato. Una spiegazione logica potrebbe essere che la maggior parte degli SSD utilizza NAND MLC che è un po 'soggetta a errori di bit (i bit in altre parti dei blocchi di cancellazione possono verificarsi durante la scrittura se ricordo bene). Per correggere ciò, i dati vengono probabilmente scritti in più punti in modo che sia sempre possibile il ripristino o la correzione.


i dati crittografati non sono più grandi, sono solo crittografati, la crittografia non fa aumentare le dimensioni dei dati. chi utilizza la compressione automatica dei file system nel 2012?

7
@JarrodRoberson: i controller SSD SandForce comprimono i dati per ridurre al minimo le scritture. Potrebbero esserci anche altri esempi.
John Bartholomew,

@JohnBartholomew Ho detto, filesystem, che vengono prima dei controller del disco. E per il tuo punto di vista, lo schema di compressione di SandForce rileva presumibilmente dati "non comprimibili" o "precompressi" e non li comprime nei suoi tentativi di ridurre le scritture, questo è un segreto, quindi non lo sapremo mai con certezza. Ad ogni modo, non occupa più spazio , solo più tempo in quel caso specifico.

1
@JarrodRoberson: Il punto è che se il controller tenta di comprimere tutto, le prestazioni (nel tempo e nello spazio) peggioreranno se tutti i dati inviati al disco sono crittografati. Sarà peggio nel tempo perché il controller perderà tempo a rilevare che i dati non sono comprimibili e lo spazio sarà peggiore rispetto a dare al disco dati non crittografati (e quindi, in alcuni casi, comprimibili).
John Bartholomew,

4
@JarrodRoberson: non ottenere il vantaggio di meno scritture suona esattamente come quello che l'OP stava chiedendo ed è una diretta conseguenza dell'uso della crittografia.
Leone,

6

La crittografia completa del disco non aumenta la quantità di dati scritti su un disco, a parte qualsiasi metadata che il livello di crittografia deve archiviare insieme al filesystem (che è trascurabile). Se si crittografano 4096 byte, vengono scritti 4096 byte.


1

La risposta dipende da cosa intendi per "crittografia del disco completo".

Se intendi semplicemente che tutti i metadati di file e filesystem sono crittografati sul disco, allora no, non dovrebbe avere alcun impatto sulla durata dell'SSD.

Tuttavia, se intendi un più tradizionale "L'intero contenuto del disco, compreso lo spazio inutilizzato, è crittografato", sì, ridurrà la durata della vita, forse in modo significativo.

I dispositivi SSD utilizzano il "livellamento dell'usura" per diffondere le scritture sul dispositivo in modo da evitare di consumare prematuramente alcune sezioni. Possono farlo perché i moderni driver del filesystem indicano specificamente all'SSD quando i dati in un determinato settore non vengono più utilizzati (è stato "scartato" ed), quindi l'SSD può riportare quel settore a zero e procedere a utilizzare qualunque settore ha la minima quantità di utilizzo per la prossima scrittura.

Con uno schema di crittografia tradizionale a disco intero, nessuno dei settori è inutilizzato. Quelli che non contengono i tuoi dati sono ancora crittografati. In questo modo un utente malintenzionato non sa quale parte del tuo disco contiene i tuoi dati e quale parte è solo un rumore casuale, rendendo così la decodifica molto più difficile.

Per utilizzare un tale sistema su un SSD, hai due opzioni:

  1. Consenti al filesystem di continuare a eseguire gli scarti, a quel punto i settori che non hanno i tuoi dati saranno vuoti e un attaccante sarà in grado di concentrare i suoi sforzi solo sui tuoi dati.
  2. Vieta al filesystem di eseguire gli scarti, nel qual caso la tua crittografia è ancora forte, ma ora non può fare un significativo livellamento dell'usura e quindi le sezioni più utilizzate del tuo disco si consumeranno, potenzialmente significativamente prima del resto.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.