Quando si utilizza LUKS, quali parti del disco rigido non sono crittografate?

0

A causa di storie come la seguente: link (forzate alle dogane degli aeroporti per decifrare i laptop) sono sempre più frequenti, Ho pensato a quanto segue. Che cosa succede se si viaggia semplicemente con un laptop in cui sono state crittografate le parti non crittografate in un'installazione FDE di LUKS tramite uno script e un cd live. L'intero disco rigido dovrebbe apparire come dati casuali e avresti la credibilità plausibile che hai cancellato il tuo disco rigido prima di partire. Una volta arrivato a destinazione, è sufficiente avviare il cd live, scaricare lo script da un server e decrittografare / avviare e il boot loader per avere di nuovo un laptop funzionante. Ora mi stavo chiedendo quanto avrebbe dovuto cifrare il mio script, cioè quali parti di un'installazione standard di FDE con LUKS non sono crittografate.

Quindi uso LUKS standard con una partizione di boot / ext2 da 512 MB:

$ sudo fdisk -l /dev/sdd

Disk /dev/sdd: 238.5 GiB, 256060514304 bytes, 500118192 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x0de4d334

Device Boot Start End Sectors Size Id Type
/dev/sdd1 * 2048 1050623 1048576 512M 83 Linux
/dev/sdd2 1050624 500118191 499067568 238G bf Solaris

La partizione / dev / sdd2 è completamente crittografata con AES / LUKS e dovrebbe quindi essere indistinguibile dai dati casuali. Sarebbe sufficiente avere uno script criptare il settore 0 fino a 1050624 in questo caso? O è il mio setup che perde dati in altri luoghi perché si tratta di qualcosa di più di semplici dati casuali? Fine di una partizione alla fine del disco forse? Dovrei crittografare anche i primi 50 MB di / dev / sdd2?

    
posta sukosevato 07.01.2015 - 14:22
fonte

1 risposta

3

Come hai detto la partizione di avvio non è affatto crittografata, perché dm-crypt + LUKS non la supporta.

Come seconda cosa una tipica partizione cifrata sotto dm-crypt + LUKS setup è la somma dei dati crittografati e un'intestazione di partizione (contenente la chiave master, tutti i keyslots e alcuni parametri di crittografia).

Questa intestazione ha una struttura ben nota quindi, anche se tutta la partizione è piena di dati casuali, l'intestazione della partizione perde la presenza di tale crittografia. Puoi facilmente eseguirne il backup su un sito Web remoto e sovrascriverlo sul disco con dati casuali per poi rimetterlo nella posizione originale.

Puoi anche ottenere tutti i parametri per la tua crittografia e feed con tutti i dati del comando dmsetup per decifrare la tua partizione senza usare cryptsetup o luks.

Non sono a conoscenza di altre possibili perdite.

Ulteriori informazioni sul formato dell'intestazione: link o vedi la domanda 6.12 qui: link


    Refers to LUKS On-Disk Format Specification Version 1.2.1
LUKS header:
offset  length  name             data type  description
0x0000   0x06   magic            byte[]     'L','U','K','S', 0xba, 0xbe
     0      6
0x0006   0x02   version          uint16_t   LUKS version
     6      3
0x0008   0x20   cipher-name      char[]     cipher name spec.
     8     32
0x0028   0x20   cipher-mode      char[]     cipher mode spec.
    40     32
0x0048   0x20   hash-spec        char[]     hash spec.
    72     32
0x0068   0x04   payload-offset   uint32_t   bulk data offset in sectors
   104      4                               (512 bytes per sector)
0x006c   0x04   key-bytes        uint32_t   number of bytes in key
   108      4
0x0070   0x14   mk-digest        byte[]     master key checksum
   112     20                               calculated with PBKDF2
0x0084   0x20   mk-digest-salt   byte[]     salt for PBKDF2 when
   132     32                               calculating mk-digest
0x00a4   0x04   mk-digest-iter   uint32_t   iteration count for PBKDF2
   164      4                               when calculating mk-digest
0x00a8   0x28   uuid             char[]     partition UUID
   168     40
0x00d0   0x30   key-slot-0       key slot   key slot 0
   208     48
0x0100   0x30   key-slot-1       key slot   key slot 1
   256     48
0x0130   0x30   key-slot-2       key slot   key slot 2
   304     48
0x0160   0x30   key-slot-3       key slot   key slot 3
   352     48
0x0190   0x30   key-slot-4       key slot   key slot 4
   400     48
0x01c0   0x30   key-slot-5       key slot   key slot 5
   448     48
0x01f0   0x30   key-slot-6       key slot   key slot 6
   496     48
0x0220   0x30   key-slot-7       key slot   key slot 7
   544     48

Key slot: offset length name data type description 0x0000 0x04 active uint32_t key slot enabled/disabled 0 4 0x0004 0x04 iterations uint32_t PBKDF2 iteration count 4 4 0x0008 0x20 salt byte[] PBKDF2 salt 8 32 0x0028 0x04 key-material-offset uint32_t key start sector 40 4 (512 bytes/sector) 0x002c 0x04 stripes uint32_t number of anti-forensic 44 4 stripes

    
risposta data 07.01.2015 - 15:30
fonte

Leggi altre domande sui tag