[glux] Criptare un file con losetup
Andrea
aerdan@inventati.org
Dom 12 Feb 2006 00:54:57 CET
Ciao a tutti,
sto cercando di creare una chiave USB criptata seguendo le indicazioni date alla
pagina:
http://www.fizban.net/static/articolios/html/secureFS.html
e ho fatto come segue.
Inserisco la chiavetta ma mi assicuro che non sia montata e formatto la chiavetta con:
# fdisk /dev/sda
Cancello la partizione esistente e ne creo una nuova, ora formatto la partizione
in ext2 con:
# mke2fs /dev/sda1
mke2fs 1.37 (21-Mar-2005)
Etichetta del filesystem=
Tipo SO: Linux
Dimensione blocco=4096 (log=2)
Dimensione frammento=4096 (log=2)
125952 inode, 251644 blocchi
12582 blocchi (5.00%) riservati per l'utente root
Primo blocco dati=0
8 gruppi di blocchi
32768 blocchi per gruppo, 32768 frammenti per gruppo
15744 inode per gruppo
Backup del superblocco salvati nei blocchi:
32768, 98304, 163840, 229376
Scrittura delle tavole degli inode: fatto
Scrittura delle informazioni dei superblocchi e dell'accounting del
filesystem:
fatto
Questo filesystem verrà automaticamente controllato ogni 21 mount, o
180 giorni, a seconda di quale venga prima. Usare tune2fs -c o -i per
cambiare.
Ricompilo il kernel (05) con il supporto per:
Loopback device support - CONFIG_BLK_DEV_LOOP - loop
Cryptoloop Support - CONFIG_BLK_DEV_CRYPTOLOOP - cryptoloop
Blowfish cipher algorithm - CONFIG_CRYPTO_BLOWFISH - blowfish
L'algoritmo blowfish perchè permette di utilizzare varie dimensioni per le
chiavi
di criptazione, nel frattempo... controllo la versione di losetup che servirà
per montare il dispositivo criptato. La man page non è utile in quanto non
riporta se la versione permette l'utilizzo di algoritmi arbitrari provo con:
# losetup --help
usage:
losetup loop_device # give info
losetup -d loop_device # delete
losetup -f # find unused
losetup [ options ] {-f|loop_device} file # setup
where options include
--offset <num>, -o <num>
start at offset <num> into file.
--pass-fd <num>, -p <num>
read passphrase from file descriptor <num>
instead of the terminal.
--encryption <cipher>, -e <cipher>
encrypt with <cipher>.
Check /proc/crypto or /proc/crypto/cipher for available ciphers.
--nohashpass, -N
Don't hash the password given. (previous versions hash, non-debian
doesn't.
--keybits <num>, -k <num>
specify number of bits in the hashed key given
to the cipher. Some ciphers support several key
sizes and might be more efficient with a smaller
key size. Key sizes < 128 are generally not
recommended
Pare che l'opzione --encryption permetta di scegliere tra diversi algoritmi
gestiti dal kernel.
Installo il kernel e riavvio la macchina.
Ora il cat di /proc/crypto include blowfish una volta caricatolo
name : blowfish
module : blowfish
type : cipher
blocksize : 8
min keysize : 4
max keysize : 56
Ora creo un file che verrà criptato nella mia home dir di dimensioni a seconda
della chiavetta, la mia è da 918,3MB quindi creo un file da 900MB con:
$ dd if=/dev/urandom of=~/crypto bs=1024k count=900
A questo punto quando do il comando:
# losetup -e des /dev/loop0 crypto
Password:
ioctl: LOOP_SET_STATUS: Invalid argument
mi da questo errore che non capisco. Lo stesso se uso blowfish-128.
Cercando in google ho trovato alcuni riferimenti a:
- modulo cryptoapi, che però mi pare sia riferito a kernel della serie 2.4
- pacchetti loop-aes-source e loop-aes-ciphers-source che però non ho idea se
possano servirmi
- modulo Device Mapper che però non sono riuscito a trovare con menuconfig
Secondo voi quale potrebbe essere il problema?
lsmod restituisce:
cryptoloop 3840 0
des 11776 0
loop 15880 1 cryptoloop
ext2 63464 1
blowfish 9856 0
usb_storage 30464 1
scsi_mod 76604 2 sd_mod,usb_storage
ehci_hcd 31108 0
ohci_hcd 21252 0
usbcore 115556 8
usb_storage,hsfusbcd2,hsfosspec,ehci_hcd,usbhid,ohci_hcd
uname -a
Linux maddo 2.6.8.05 #1 Sat Feb 11 22:55:43 CET 2006 i686 GNU/Linux
Ciao e grazie.
a
--
ð Gli uomini sono fratelli fra loro. Cessano di esserlo quando
¶ la terra viene divisa da steccati e confini.
ñ
² Heinmot-Tayala-Ket, Nez Percé
€
¯ KeyID: 5AF81406 2005-01-03 [scadenza: 2015-01-01]
3 KeyFpr: A4E2 7C7C CFC7 1B1E E405 6443 9E07 AF95 5AF8 1406
Maggiori informazioni sulla lista
glux