Chiffrement de clé usb avec TrueCrypt.
1) Insérer la clé usb.
Ne pas monter le périphérie de stockage externe.
2) Vérification :
pi@raspberrypi ~ $ sudo fdisk -l ... Disk /dev/sdb: 16.0 GB, 16039018496 bytes 255 heads, 63 sectors/track, 1949 cylinders, total 31326208 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0xf4ed403c Device Boot Start End Blocks Id System /dev/sdb1 63 31310684 15655311 b W95 FAT32
3) Création du point de montage crypté :
pi@raspberrypi ~ $ sudo mkdir -p /media/secret
4) Encrypter la partition :
pi@raspberrypi ~ $ sudo truecrypt -c Volume type: 1) Normal 2) Hidden Select [1]: 1 Enter volume path: /dev/sdb Encryption algorithm: 1) AES 2) Serpent 3) Twofish 4) AES-Twofish 5) AES-Twofish-Serpent 6) Serpent-AES 7) Serpent-Twofish-AES 8) Twofish-Serpent Select [1]: 1 Hash algorithm: 1) RIPEMD-160 2) SHA-512 3) Whirlpool Select [1]: 1 Filesystem: 1) None 2) FAT 3) Linux Ext2 4) Linux Ext3 5) Linux Ext4 Select [2]: 1 Enter password: WARNING: Short passwords are easy to crack using brute force techniques! We recommend choosing a password consisting of more than 20 characters. Are you sure you want to use a short password? (y=Yes/n=No) [No]: y Re-enter password: Enter keyfile path [none]: Please type at least 320 randomly chosen characters and then press Enter: Characters remaining: 298 Characters remaining: 271 Characters remaining: 187 Characters remaining: 148 Characters remaining: 41 Done: 70,651% Speed: 1,2 MB/s Left: 60 minutes
Soit à la fin :
Done: 100,000% Speed: 10 MB/s Left: 0 s The TrueCrypt volume has been successfully created.
Temps de cryptage : 3h30 à 1,2 mo/s pour 16 go.
5) Vérification :
pi@raspberrypi ~ $ sudo fdisk -l ... Disk /dev/sdb: 16.0 GB, 16039018496 bytes 64 heads, 32 sectors/track, 15296 cylinders, total 31326208 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x16efa3d2 Disk /dev/sdb doesn't contain a valid partition table
6) Montage du volume sans le montage l’absence de système de fichier :
pi@raspberrypi ~ $ sudo truecrypt -t /dev/sdb --filesystem=none -m=nokernelcrypto Enter password for /dev/sdb: Enter keyfile [none]: Protect hidden volume (if any)? (y=Yes/n=No) [No]:
7) Vérification des propriétées :
pi@raspberrypi ~ $ truecrypt -t --volume-properties Slot: 1 Volume: /dev/sdb Virtual Device: /dev/loop0 Mount Directory: Size: 14,9 GB Type: Normal Read-Only: No Hidden Volume Protected: No Encryption Algorithm: AES Primary Key Size: 256 bits Secondary Key Size (XTS Mode): 256 bits Block Size: 128 bits Mode of Operation: XTS PKCS-5 PRF: HMAC-RIPEMD-160 Volume Format Version: 2 Embedded Backup Header: Yes Data Read since Mount: 848 KB Data Written since Mount: 0 B
8) Formatage en ext4fs :
pi@raspberrypi ~ $ sudo mkfs.ext4 /dev/loop0 mke2fs 1.42.5 (29-Jul-2012) Rejet des blocs de périphérique : complété Étiquette de système de fichiers= Type de système d'exploitation : Linux Taille de bloc=4096 (log=2) Taille de fragment=4096 (log=2) « Stride » = 0 blocs, « Stripe width » = 0 blocs 979200 i-noeuds, 3915712 blocs 195785 blocs (5.00%) réservés pour le super utilisateur Premier bloc de données=0 Nombre maximum de blocs du système de fichiers=4009754624 120 groupes de blocs 32768 blocs par groupe, 32768 fragments par groupe 8160 i-noeuds par groupe Superblocs de secours stockés sur les blocs : 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208 Allocation des tables de groupe : complété Écriture des tables d'i-noeuds : complété Création du journal (32768 blocs) : complété Écriture des superblocs et de l'information de comptabilité du système de fichiers : complété
9) Liste des volumes chiffrés :
pi@raspberrypi ~ $ truecrypt --list 1: /dev/sdb /dev/loop0 -
10) Démonter le volume virtuel :
pi@raspberrypi ~ $ truecrypt -t /dev/sdb -d
11) Vérification :
pi@raspberrypi ~ $ truecrypt -t /dev/sdb -d Error: No such volume is mounted.
12) Monter la clé usb chiffré sur le point de montage :
pi@raspberrypi ~ $ truecrypt /dev/sdb /media/secret/ -m=nokernelcrypto Enter password for /dev/sdb: Enter keyfile [none]: Protect hidden volume (if any)? (y=Yes/n=No) [No]:
13) Vérification :
pi@raspberrypi ~ $ ls -l /media/secret/ total 16 drwx------ 2 root root 16384 juil. 19 00:01 lost+found pi@raspberrypi ~ $ df -h Sys. fich. Taille Util. Dispo Uti% Monté sur rootfs 7,3G 4,4G 2,7G 63% / /dev/root 7,3G 4,4G 2,7G 63% / devtmpfs 212M 0 212M 0% /dev tmpfs 44M 332K 44M 1% /run tmpfs 5,0M 0 5,0M 0% /run/lock tmpfs 88M 0 88M 0% /run/shm /dev/mmcblk0p1 56M 19M 38M 33% /boot /dev/sda1 15G 8,2G 5,8G 59% /media/stockage /dev/loop0 15G 166M 14G 2% /media/secret
14) Démontage de la clé usb chiffré :
pi@raspberrypi ~ $ truecrypt -t /dev/sdb -d pi@raspberrypi ~ $ ls -l /media/secret/ total 0 pi@raspberrypi ~ $ df -h Sys. fich. Taille Util. Dispo Uti% Monté sur rootfs 7,3G 4,4G 2,7G 63% / /dev/root 7,3G 4,4G 2,7G 63% / devtmpfs 212M 0 212M 0% /dev tmpfs 44M 332K 44M 1% /run tmpfs 5,0M 0 5,0M 0% /run/lock tmpfs 88M 0 88M 0% /run/shm /dev/mmcblk0p1 56M 19M 38M 33% /boot /dev/sda1 15G 8,2G 5,8G 59% /media/stockage
En général on utilise chiffrer/chiffrement plutot que crypter/cryptage 😉
Je fais quelques tests de perfs entre les différentes solutions de chiffrement sur Rasp.. tu écris a quelle vitesse (dd de 1GB par exemple) sur la partition chiffrée ?
Je crois qu’il faut que je me plonge dans la littérature sur le chiffrement et le déchiffrement… O_o
Quelle est ta procédure de bench ?
Commande utilisé :
pi@raspberrypi /media/secret/test $ sudo dd if=/dev/urandom of=disque_dur_virtuel01.dat count=500 bs=1048576
Résultats :
– 104857600 octets (105 MB) copiés, 131,566 s, 797 kB/s
– 209715200 octets (210 MB) copiés, 291,068 s, 721 kB/s
– 314572800 octets (315 MB) copiés, 395,739 s, 795 kB/s
– 524288000 octets (524 MB) copiés, 715,084 s, 733 kB/s
(Je suis entrain de faire le fichier de 1 go)
– 1048576000 octets (1,0 GB) copiés, 1466,51 s, 715 kB/s
Ok merci..
et si tu fais plutot if=/dev/zero ? (car urandom prend un peu de temps)
et des bs + petits genre bs=4096
Avec TrueCrypt je suis à 4,8 MB/s
dd if=/dev/zero bs=4096 count=244140 of=/data/truecryptClair/file_1GB
J’ai fait différents comparatifs.. qui feront peut etre l’objet d’un billet.. A+
Pour urandom, je suppose qu’il faut mieux mettre des données fictives que des zéros. Pour bs, certe la valeur est un peu élevé, je devrais refaire les tests avec d’autres valeurs.
Mes valeurs d’écriture sont faible sans doute dû à ma clé usb.