Chiffrement de clé usb avec TrueCrypt

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

5 Responses

  1. Uggy
    Uggy 19 juillet 2013 at 19h57 | |

    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 ?

  2. administrateur
    administrateur 21 juillet 2013 at 22h48 | |

    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)

  3. administrateur
    administrateur 21 juillet 2013 at 23h10 | |

    – 1048576000 octets (1,0 GB) copiés, 1466,51 s, 715 kB/s

  4. Uggy
    Uggy 29 juillet 2013 at 18h24 | |

    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+

  5. administrateur
    administrateur 1 août 2013 at 10h51 | |

    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.

Leave a Reply

You must be logged in to post a comment.