Linux Unified Key Setup

Disambiguazione – "LUKS" rimanda qui. Se stai cercando il pittore statunitense, vedi George Luks.

Nell'ambito della sicurezza informatica, il Linux Unified Key Setup, abbreviato LUKS, è un metodo di cifratura dei dischi rigidi. Le sue specifiche sono state scritte da Clemens Fruhwirth nel 2004 ed è stato originariamente pensato per Linux.

Mentre la maggior parte dei software di crittografia di dischi hanno implementazioni e formati diversi e incompatibili, e spesso non documentati, lo standard LUKS è indipendente dalla piattaforma e può essere utilizzato per cifrare dischi in un'ampia varietà di strumenti. Questo non solo assicura piena compatibilità e interoperabilità tra software diversi, ma garantisce che la gestione delle password avvenga in una modalità sicura e documentata.

LUKS è l'implementazione di riferimento per Linux; è basato su una versione migliorata di cryptsetup che usa il processo di cifratura chiamato dm-crypt. Può essere usato anche su Microsoft Windows mediante FreeOTFE.

Formati su disco

Gli header sono compatibili con le vecchie versioni; le nuove versioni di LUKS possono leggere gli header delle vecchie versioni.

LUKS1

LUKS1 Header

Offset Data type Description
0 0hex char[6] Magic number {'L', 'U', 'K', 'S', 0xBA, 0xBE }
6 6hex uint16_t Versione di LUKS (0x0001 per LUKS1)
8 8hex char[32] Algoritmo di cifratura (ad es. "twofish", "aes")
40 28hex char[32] Modalità di cifratura (ad es. "cbc-essiv:sha256")
72 48hex char[32] Funzione crittografica di hash (ad es. "sha1", "ripemd160")
104 68hex uint32_t Offset del payload (posizione dei dati crittografati) in incrementi di 512 byte
108 6Chex uint32_t Numero di byte chiave
112 70hex char[20] Checksum della chiave principale PBKDF2
132 84hex char[32] Parametro salt della chiave master PBKDF2
164 A4hex uint32_t Numero di iterazioni della chiave master PBKDF2 (predefinito: 10)
168 A8hex char[40] UUID of the partition (ad es. "504c9fa7-d080-4acf-a829-73227b48fb89")
208 D0hex (48 Bytes) Keyslot 1
…
544 220hex (48 Bytes) Keyslot 8
592 byte in totale

Formato di ciascun keyslot

Offset Data type Description
0 uint32_t Stato del keyslot: Active=0x00AC71F3; Disabled=0x0000DEAD
4 uint32_t Parametro di iterazione di PBKDF2
8 char[32] Parametro salt di PBKDF2
40 uint32_t Settore iniziale della chiave
44 uint32_t Numero di strisce anti-forensi (Impostazione predefinita: 4000)
48 byte in totale

Note

  1. ↑ LUKS On-Disk Format Specification (PDF), su gitlab.com.

Voci correlate

Collegamenti esterni