Inizializzazione di una partizione cifrata LUKS con cifratura o / dev / urandom

1

Ho creato alcuni dispositivi crittografati con LUKS e cryptsetup su Linux e sono piuttosto a mio agio con la crittografia del disco in questo senso.

L'ho visto menzionato in molti posti diversi che quando si imposta una partizione / disco LUKS, è consigliabile prima sovrascrivere l'intera partizione / disco con /dev/urandom . Ho visto alcuni punti che consigliano che non è necessario, in quanto il disco può essere sovrascritto utilizzando il codice, che è molto più veloce. ( /dev/urandom max su un sistema a 4.6GHz può superare i 20MB / s, mentre sono sicuro che un cifrario CBC AES-256 può funzionare a oltre 2 GB / s, il che significa che la mia crittografia del disco può essere eseguita a 100 102,4 volte più veloce se sto usando il cipher invece di /dev/urandom , la velocità del disco è il fattore limitante qui.

Sta usando il codice per inizializzare il disco come "sicuro" come usando /dev/urandom ? Suppongo di sì, dato che i dati di output dovrebbero essere teoricamente indistinguibili tra i due.

Inoltre, come si fa a sovrascrivere l'intera partizione / disco usando il codice? Ho perso il link e non riesco a ricordare come farlo.

    
posta Naftuli Kay 21.01.2015 - 02:32
fonte

2 risposte

2

Per usare il modulo crypto del kernel per inizializzare la partizione / disco, fai questo:

cryptsetup create --key-file=/dev/urandom eraseme /dev/sde
dd if=/dev/zero bs=1M of=/dev/mapper/eraseme
cryptsetup remove eraseme

Questo inizializza una mappatura crittografica denominata eraseme che estende la partizione / disco usando i dati di / dev / urandom come chiave. Scrive gli zeri sulla mappatura e quindi elimina la mappatura. Utilizza l'opzione --cipher per utilizzare la crittografia non predefinita, se necessario.

È molto più veloce della lettura da urandom. Sul mio computer, scrivendo su un ramdisk ottengo questi dati sulle prestazioni:

  • 640 MB / s zeri ( dd if=/dev/zero bs=1M of=/dev/sde )
  • Modulo di crittografia da 270 MB / s utilizzando la crittografia predefinita aes-cbc-essiv: sha256 (comandi come sopra)
  • 8.7 MB / s casuale ( dd if=/dev/urandom bs=1M of=/dev/sde )
risposta data 08.03.2015 - 16:36
fonte
1

/dev/urandom è fondamentalmente solo un cifrario di flusso, solo con il rieseding periodico dalle sue fonti di entropia per proteggere contro il suo stato o le fonti di entropia che vengono compromesse.

Dato che è estremamente improbabile che lo stato del tuo cifrario venga compromesso durante l'inizializzazione del disco, che se questo è accaduto un utente malintenzionato ha abbastanza controllo sul tuo sistema che probabilmente sei avvitato comunque, e il fatto che i numeri casuali non sono In realtà viene utilizzato per qualcosa come il materiale delle chiavi crittografiche, non c'è alcuna preoccupazione che io possa pensare con l'inizializzazione del disco scrivendo su di esso l'output di un cifrario inizializzato con una chiave casuale e IV.

    
risposta data 21.01.2015 - 03:28
fonte

Leggi altre domande sui tag