Di solito, i dischi che supportano la crittografia eseguono questa operazione in due passaggi.
Nel primo passaggio (di solito in produzione di fabbrica) viene scelta a caso una chiave segreta . Quindi, viene scelta una chiave di decrittografia e inizialmente è vuota.
La chiave segreta viene crittografata utilizzando la chiave di decrittografia e, quando il sistema viene acceso, esiste un'API in cui l'utente può fornire la chiave di decrittografia, se necessario. Quindi, la chiave segreta viene archiviata in un buffer di memoria temporaneo e utilizzata per crittografare (e decrittografare) tutto il traffico sui dischi magnetici.
Per cambiare la password, si fornisce la vecchia password, in cui la chiave di crittografia viene decrittografata e nuovamente crittografata con la nuova password. Questo richiede solo pochi istanti.
Per decrittografare il disco rigido devi conoscere la chiave segreta, che non lascia mai il disco stesso . Mentre alcuni schemi di crittografia sono vulnerabili alla forza bruta e all'analisi statistica (ad esempio perché lo schema di crittografia è un semplice "SECRET KEY (XOR) HARD DISK SETTORE" - è successo ), gli schemi attuali sono piuttosto solidi.
Ci sono alcune tecniche molto sofisticate che possono recuperare la chiave segreta del disco rigido, se il modello è conosciuto e supportato, dal disco rigido spento a condizione che non sia stato spento troppo a lungo, dai residui nella memoria volatile del disco rigido. Ma a quel punto ha molto più senso preoccuparsi di un attacco del tubo di gomma .
Il vantaggio del sistema a doppia chiave è, come hai sperimentato, che non è necessario decrittografare e ricodificare l'intero disco ogni volta che la chiave dell'utente cambia. Ciò rende l'operazione molto, molto veloce e riduce il rischio di un incidente nella mid-encryption che potrebbe lasciare il disco "bricked" in modo efficace.
Naturalmente, ci sono voci - non riesco a trovare il riferimento ora, quindi chiamiamolo possibilità teorica - che la chiave principale non è in realtà casuale, ma può ( ad esempio) derivato dal numero di serie del disco, forse con hash con un salt segreto (o in alternativa, può essere generato casualmente ... e quindi memorizzato segretamente insieme al numero di serie del disco ). Conoscendo l'hash, il salt e il numero di serie del disco e smantellando il disco o sovrascrivendo la sua interfaccia, diventa quindi possibile "facilmente" recuperare il contenuto del disco. Allo stesso tempo, una backdoor di questo tipo non è facile da scoprire.