Full Disk Encryption con chiavi casuali

2

TrueCrypt crittografa e decrittografa un disco con una password che viene convertita in una chiave pseudo-casuale con la funzione PBKDF2.

Altri programmi FDE usano chiavi casuali che sono memorizzate sul disco. Dove sono memorizzate esattamente queste chiavi casuali? Devono essere accessibili dopo l'avvio del computer e prima che venga caricato il sistema operativo per decrittografare il disco.

Le chiavi casuali sono crittografate e possono essere decodificate con la password scelta dall'utente. Perché le chiavi casuali sono usate per FDE? Se qualcuno è in grado di ottenere la password, l'hacker otterrebbe comunque la chiave di crittografia. Non ci sarebbe differenza tra chiavi casuali e chiavi pseudo-casuali.

    
posta Max 14.10.2015 - 15:56
fonte

1 risposta

4

Nella crittografia a disco intero di solito hai una gerarchia di chiavi. Una chiave di crittografia chiave (KEK) è derivata da una password utente, come hai affermato spesso questo viene fatto usando PBKDF2 (in alternativa al giorno d'oggi è preferito lo scrypt). Il KEK viene quindi utilizzato per crittografare la chiave di crittografia del disco (DEK) che viene effettivamente utilizzata per crittografare il supporto di archiviazione.

Non sono completamente sicuro che TrueCrypt utilizzi realmente la chiave derivata dalla password per crittografare il disco. Comunque, venendo alla tua prima domanda: Dove vengono memorizzate esattamente queste chiavi casuali? Ogni soluzione FDE ha una piccola parte del disco che non è crittografata e dove il DEK è memorizzato in modo sicuro (criptato, vedi processo sopra). Questo è il motivo per cui attacchi come Evil-Maid possono funzionare. All'avvio, il sistema deve avviare un ambiente minimale che richieda all'utente la sua password, ricava il KEK e decrittografa il DEK. Quindi controlla se il DEK è effettivamente corretto (probabilmente decifrando un modello noto fisso). In tal caso, viene avviata la decrittografia del disco e il sistema continua la procedura di avvio.

La tua prossima domanda: Perché le chiavi casuali sono usate per FDE? Immagina di non usare chiavi casuali e invece una chiave a schema fisso che ad esempio è basata sul tempo. Un utente malintenzionato deve solo identificare il tempo di installazione appropriato e può ridurre in gran parte la quantità di chiavi alla forza bruta!

If someone is able to get the password, the hacker would get the cipher key anyway.

È vero, questo è il motivo per cui abbiamo bisogno di password complesse, solide primitive crittografiche per ricavare le chiavi da esse e chiavi forti che crittografano il disco. I primi due sono essenzialmente quelli che fanno in modo che il KEK impieghi il più a lungo possibile. Alla fine, un aggressore avrà successo, dopotutto è una forza bruta. Tuttavia, vogliamo che non ci provi nemmeno perché ci vorrebbe troppo tempo e le informazioni su di esso memorizzate probabilmente obsolete e inutili. In alternativa, includiamo azioni penalizzanti, ossia un timeout crescente in caso di immissione di una password errata o una cancellazione forzata dopo un numero specifico di tentativi.

La chiave che crittografa i media deve essere casuale e difficile da usare come forza bruta, altrimenti un utente malintenzionato potrebbe facilmente scegliere tale chiave invece del processo di derivazione KEK progettato per essere lento.

    
risposta data 14.10.2015 - 16:37
fonte

Leggi altre domande sui tag