Posso creare un'immagine crittografata usando gli strumenti di crittografia openssl anziché dmsetup?


2

In genere, posso creare un'immagine ext4 crittografata facendo questo:

fallocate -l 6553600 encrypt.img
losetup -f encrypt.img
dmsetup create encrypt_disk --table "0 12800 crypt aes 32BYTEKEY 0 /dev/loop0 0"
mkfs.ext4 /dev/mapper/encrypt_disk

Quindi posso montare / dev / mapper / encrypt_disk in una directory e tutti i file in questo disco verranno crittografati automaticamente. E ho ottenuto un encrypt.img. Può essere caricato da dmsetup la prossima volta.

Ecco la mia domanda: posso creare un encrypt.img usando gli strumenti openssl invece di dmsetup? Forse piacerà questo:

fallocate -l 6553600 encrypt.img
losetup -f encrypt.img
mkfs.ext4 /dev/loop0
openssl aes ...

Grazie.


Ho sempre supposto che OpenSSL si concentrasse sui cifrari di flusso, ma ciò potrebbe non essere del tutto corretto, quindi assicurati che sia in grado di implementare i cifrari a blocchi come AES in modalità CBC (cipher block chaining). Detto questo, la prima regola della crittografia che insegnano nelle principali università è "Non provare a farlo da soli. Questa roba richiede esperti e grandi quantità di revisione tra pari. I migliori crittografi al mondo non lavorano da soli, e nemmeno dovresti ". quindi in sintesi, non andare troppo lontano dai sentieri battuti quando si tenta di implementare la crittografia. È più probabile che armeggiare indebolisca il sistema.
Frank Thomas,

Risposte:


1

No, non puoi farlo:
poiché il filesystem che usi è implementato nel kernel, hai bisogno di un'implementazione del dispositivo a blocchi crittografati sottostante che è implementata anche nel kernel, come nel caso dmsetup ... crypt.
opensslè un'implementazione dello spazio utente che esegue la crittografia all'esterno del kernel, quindi non può essere utilizzata per implementare dispositivi che supportano un file system.

Se invece hai usato un filesystem di userspace, che non lo è ext4, ma potrebbe essere qualcosa in giro fuse, questo potrebbe essere basato su qualcosa di diverso da un dispositivo a blocchi basato sul kernel, ma questo è un argomento abbastanza diverso.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.