best practice per file system crittografato all'interno di un file

2

Questa è un'estensione della mia domanda su UNIX . Supponiamo di creare un file, mapparlo a /dev/loop0 e creare una partizione LUKS all'interno

dd if=/dev/zero of=myfile bs=1M count=1000
losetup /dev/loop0 myfile 
cryptsetup -c aes-cbc-essiv:sha256 -s 256 -v -y luksFormat /dev/loop0

Quindi apro la partizione crittografata

cryptsetup luksOpen /dev/loop0 myfile

Ora, il mio file crittografato appare come un disco /dev/mapper/myfile . Devo creare un filesystem prima che possa usarlo.

La mia domanda:

Quale sarebbe la migliore pratica in generale per quanto riguarda il mio setup. In particolare, ci sono opzioni / parametri del filesystem che dovrei cambiare dai valori di default? Qualche suggerimento su quale filesystem usare? Rivista? Qualche altro suggerimento o commento?

    
posta Martin Vegter 02.02.2014 - 11:36
fonte

2 risposte

5

Per quanto riguarda il codice da scegliere - questo è aes-cbc-essiv:sha256 (il vecchio valore predefinito) contro aes-xts-plain64:sha256 (il nuovo valore predefinito) - Ho già spiegato tutto questo in questa risposta:

Quanto è sicura la cifratura predefinita del disco pieno di Ubuntu?

Per quanto riguarda il filesystem da utilizzare - l'uso diretto di una partizione direttamente ti offre le migliori prestazioni: non c'è un secondo livello di traduzione che si frappone tra il tuo dispositivo pseudo-blocco e il tuo dispositivo a blocchi reale.

Dato che non sembra un'opzione per te, allora raccomanderei uno dei filesystem EXT piuttosto che uno dei più recenti copy-on-write, dato che l'accesso casuale a un file di grandi dimensioni con un file system COW sarebbe essere disordinato EXT4 è ovviamente il più recente e probabilmente più resiliente del lignaggio, sebbene se tu abbia solo un file di grandi dimensioni, allora la maggior parte delle funzionalità di FS non entrano in gioco. Quindi in questo senso probabilmente non importa un intero heap quale filesystem usi. Non stai davvero utilizzando le funzionalità del filesystem.

Se assegnate il file interamente alla creazione (come avete dimostrato nella vostra domanda, invece di creare un file sparse), il vostro file sarà un blocco contiguo e il file system diventerà in gran parte trasparente per le vostre operazioni. Inoltre, l'allocazione del tuo file PRIMA di mettere gli altri file su FS porterà il tuo file più vicino all'inizio del disco, il che rende il suo accesso a volte un po 'più veloce.

Per quanto riguarda la sicurezza: (a) non fornire la tua password, (b) non permettere a nessuno di toccare il tuo computer. Non c'è molto da fare. Poiché stai utilizzando un dispositivo non protetto, non c'è davvero alcuna protezione aggiuntiva significativa che possa essere implementata. Se crittografate l'intero computer, forse avrete qualcosa, ma così com'è, state attenti a come viene utilizzato.

    
risposta data 04.02.2014 - 19:05
fonte
5

Dal punto di vista della sicurezza, è improbabile che importi le opzioni del filesystem e del filesystem che usi all'interno del dispositivo di loopback crittografato. Personalmente userò ext4, dato che attualmente è lo standard di fatto per i filesystem di Linux.

Detto questo, vorrei fare un paio di modifiche su come stai configurando il contenitore LUKS:

  1. Riempi il file con byte casuali invece di zero byte (sostituisci /dev/zero con /dev/urandom ). Ciò garantisce che un utente malintenzionato non sia in grado di distinguere tra blocchi utilizzati e non utilizzati.

  2. Utilizza xts-plain64:sha256 anziché aes-cbc-essiv:sha256 e passa -s 512 anziché -s 256 . XTS è più recente di CBC-ESSIV ed è sia più performante che possibilmente più sicuro (si noti che richiede il doppio della dimensione della chiave per un livello di sicurezza equivalente).

risposta data 03.02.2014 - 05:13
fonte

Leggi altre domande sui tag