Toute les manipulations ci-dessous ont été réalisées sur mon système Fedora 8.

Pré-requis

Les manipulations suivantes nécessite le paquet cryptsetup-luks qui s'installe par la commande.

# yum install cryptsetup-luks

Préparer la clé USB

Il est vivement conseillé de remplir sa clé USB avec des données aléatoires., cela rend le cassage de clé beaucoup plus difficile. Avoir des données aléatoires de bonne qualité est assez long. Voici les commandes à utiliser :

# shred  -n 5 -v /dev/sdb1
# dd if=/dev/urandom of=/dev/sdb1

"une bonne vingtaine de minute pour ma clé usb 1Go"

Chiffrer la clé

En réalité on ne chiffre pas la clé entière, on chiffre une partition de la clé. Par exemple sur une clé de 2Go, vous pouvez très bien faire une partition de 500Mo qui ne sera pas chiffrée et une autre partition de 1,5Go qui elle sera chiffrée. Pour ma part, j'ai utilisé une clé de 1Go que j'ai chiffré entièrement.

Pour réalisé ce chiffrage, j'ai utilisé cryptsetup couplé avec LUKS.

# cryptsetup --verbose --verify-passphrase luksFormat /dev/sdb1
 
 WARNING!
 ========
 This will overwrite data on /dev/sdb1 irrevocably.
 
 Are you sure? (Type uppercase yes): YES
 Enter LUKS passphrase: (enter your passphrase, and write it down somewhere!)
 Verify passphrase: (repeat passphrase)
 
 # cryptsetup luksOpen /dev/sdb1 sdb1
 Enter LUKS passphrase:
 #

Cette commande permet d'associer la partition de la clé usb à un fichier sur voitre système ("ex : /dev/mapper/sdb1"). Ce fichier peut maintenant être utilisé comme n'importe quel périphérique.

Formatage de la clé

J'ai choisi de formater ma clé en FAT16 et de lui donner le nom cryptkey afin de pouvoir m'en servir sur les systèmes Windows.

# mkfs.vfat -F 16 -n cryptkey /dev/sdb1

Monter la clé

Comme pour n'importe qul périphérique, le montage est réalisé par la commande suivante.

# mkdir /mnt/cryptkey
# mount /dev/mapper/sdb1 /mnt/cryptkey

Ajouter un mot de passe utilisateur

Il est nécessaire de fournir une clé supplémentaire afin que votre utilisateur normal puisse accéder à la clé.

# cryptsetup luksAddKey /dev/sdb1
Enter any LUKS passphrase: (enter an existing password for this partition)
key slot 0 unlocked.
Enter new passphrase for key slot: (enter the extra password)
#

Démonstration

Maintenant que la clé est prête, il suffit de la brancher pour que Fedora vous demande un mot de passe. La preuve en image :

Cryptkey

Il suffit de rentrer le mot de passe utilisateur et le tour est joué.