LUKS è costruito su dm-crypt. Il formato di LUKS è fondamentalmente un'intestazione che precede i dati crittografati (i dati effettivi vengono spostati da un "offset" (vedere man cryptsetup
) per consentire l'archiviazione dell'intestazione in primo piano dei dati. I dati sono ancora crittografati con dm -crypt ed è possibile (presupponendo la conoscenza della chiave) di aprire un volume LUKS usando solo i comandi in modalità normale.
Quindi LUKS compensa solo i dati - non cambia il modo in cui i dati vengono crittografati.
Ciò che LUKS ti offre è un modo per memorizzare fino a otto copie della chiave di crittografia in modo sicuro in un'intestazione, con ogni copia crittografata da un'altra chiave derivata da una passphrase specifica dell'utente.
La forza aggiunta di LUKS è che genera la chiave principale e può quindi garantire che la chiave sia più strong di quella fornita dall'utente finale. Inoltre, utilizza "PBKDF2" per ricavare le chiavi utilizzate per crittografare la chiave dati dalla passphrase e "anti-forensic key splitting" per archiviare in modo più sicuro quel materiale chiave crittografato.
Inoltre, puoi "staccare" l'intestazione LUKS (cioè non memorizzarla con i dati), nel qual caso il suddetto "offset" sarebbe zero.
Per risolvere il tuo FUD, se l'intestazione LUKS è danneggiata o persa, perderai la chiave di crittografia per i dati e, di conseguenza, la tua capacità di accedere a quei dati. La soluzione a questo è di fare un backup dell'intestazione.
Se la corruzione si trova nei dati stessi, ci sarà, come dici tu, una mappatura 1: 1 esatta tra i settori cifrati e decrittografati danneggiati.