Main menu:

Site search

Categories

février 2009
L M M J V S D
 1
2345678
9101112131415
16171819202122
232425262728  

Archive

Crypter une clef USB

Il existe un moyen simple de crypter les données se trouvant sur une clef USB. Un petit paquet à installer, cryptsetup, et deux ou trois commandes à taper dans un terminal.

Le noyau Linux possède une interface Device Mapper qui permet de créer une sur-couche aux dessus des Block Devices. C’est un peu compliqué mais il suffit de retenir que cela permet entre autres choses de crypter une partition. De plus, cryptsetup supporte LUKS (Linux Unified Key Setup) qui est un standard permettant l’utilisation de plusieurs user/password différents et une sécurité accrue pour la protection de vos données contre certains types d’attaque (Low Entropy Attacks).
C’est une description succinte des possibilités de cryptsetup et je vous renvoie bien sûr à la page de manuel.

La première chose à faire est donc d’installer le paquet cryptsetup:

$ sudo aptitude install cryptsetup

Ensuite, il ne reste plus qu’à démonter la clef et à formater la partition au type LUKS. Vous pouvez définir le type de formatage (vfat, ext2/ext3…) ainsi que le type d’encryption et de hachage. Si votre clef USB est en /dev/sdb1, tapez ceci dans un terminal:

$ sudo umount /dev/sdb1
$ sudo luksformat /dev/sdb1
Creating encrypted device on /dev/sdb1...

WARNING!
========
This will overwrite data on /dev/sdb1 irrevocably.

Are you sure? (Type uppercase yes): YES
Enter LUKS passphrase: 
Verify passphrase: 
Command successful.
Please enter your passphrase again to verify it
Enter LUKS passphrase: 
key slot 0 unlocked.
Command successful.
mkfs.vfat 2.11 (12 Mar 2005)

Ceci est la commande par défaut. Elle formate en vfat. Si vous désirez un autre type de formatage et d’encryption, tapez:

$ sudo luksformat -t ext3 -c aes -h sha256 /dev/sdb1

en remplaçant dans la commande la valeur des switches par celle que vous voulez.

Attention toutefois au fait que si vous utilisez ext3 comme type de formatage, vous devez tenir compte du fait qu’il supporte la journalisation. Cela implique beaucoup plus d’accès disque que pour ext2 par exemple. Et sachez que les supports de type flash possèdent un nombre plus restreint d’accès lecture/écriture qu’un disque dur.

Lorsque vous introduirez dans votre PC la clef USB, elle sera montée automatiquement par Ubuntu et une petite fenêtre s’ouvrira demandant votre mot de passe. A ce moment, le contenu de la clef USB vous sera accessible.

Si vous essayez d’utilisez votre clef sous Windows, celui-ci vous répondra qu’elle n’est pas formatée et vous enjoindra à le faire. Et ceci même si vous avez pris soin de choisir le type vfat lors du formatage de la clef sous Ubuntu. Mais tout n’est pas perdu.
Si vous avez formaté votre clef en vfat, il est possible de l’utiliser, même cryptée, avec Windows. Pour cela, il faut installer sous Windows le programme FreeOTFE et veiller évidemment à ce que les paramètres d’encryption et de hachage soient définis de la même façon que lorsque vous avez formaté la clef sous Ubuntu. FreeOTFE est un programme open source qui supporte le standard LUKS et le rend accessible sous Windows.

Update (28/11/2017) :
Freeotfe.org n’existe plus. Je ne sais pas s’il existe une alternative mais je vous enjoins à consulter le site http://ctech.link/free-encryption qui offre une comparaison des différents types d’encryption disponibles actuellement.