| Accueil | FAQ | Statistiques | Divers | Contact |
Linux : encrypter sa clé USB
Après avoir transformé une clé USB en couteau-suisse en utilisant à peine 100Mo, nous pouvons aussi transformer tout le reste de l'espace disque disponible en Fort Knox. Depuis le kernel 2.6 on peut tout encrypter sous Linux sans aucun logiciel grace à dm-crypt. Une clé USB étant si vite perdue (ainsi que toutes les données personelles qu'elle contient), il serait dommage de s'en priver.
Avec la nouvelle cryptoapi du kernel qui maintenant élimine les lacunes de cryptoloop, nous allons utiliser cryptsetup et l'extension LUKS (Linux Unified Key Setup). Son avantage principal étant de pouvoir utiliser dm-crypt (Device Mapper) avec une étonnante simplicité.
Installation
Nous avions créé une partition pour Damn Small Linux dans l'article précédant, nous allons créer maintenant la deuxième qui occupera la totalité de l'espace libre sur la clé. Nous assumerons que la clé est /dev/sdX et la partition à créer /dev/sdX2.
Installez cryptsetup :
Vérifiez que vous avez bien les modules aes et sha256 :
S'ils sont absents de la liste, chargez-les :
Il suffit d'encrypter la partition avec cryptsetup qui vous demandera une confirmation avant de continuer (à taper en majuscule), puis vous devrez entrer à deux reprises le mot de passe que vous souhaitez utiliser pour protéger vos données.
Si jamais une erreur concernant dm-crypt se produisait, utilisez la commande # modprobe dm_crypt puis relancez la ligne de commande ci-dessus.
Ouvrez le volume en lui donnant par exemple le nom provisoire de 'usbmapper'. Votre mot de passe vous sera demandé :
Si tout c'est bien passé vous pouver voir votre volume dans /dev/mapper :
Il ne reste plus qu'à formatter le volume :
Fermez le volume :
Bien que dans le cas d'une clé USB toute la procédure soit automatique avec gnome-mount, voici tout de même quelques commandes qui peuvent toujours être utiles :
Connaitre le nom du volume :
Avoir des informations sur ce volume :
Démonter puis fermer le volume :
Ouvrir un volume et le monter :
Aucun logiciel à installer et de plus, à chaque fois que la clé USB sera insérée, gnome-mount ouvrira une petite fenêtre pour nous demander le mot de passe. Il va de soit que si vous avez besoin de partager vos données encryptées entre Linux et Windows, il vous faudra plutôt envisager des solutions logicielles (truecrypt, ScramDisk)
Insérez la clé USB et créez la partition avec fdisk :
# fdisk /dev/sdX
- Tapez n pour créer une nouvelle partition
- Tapez p pour qu'elle soit primaire
- Tapez 2 pour que ce soit la deuxième partition
- Appuyez sur Entrée pour la valeur par défaut (1er cylindre)
- Appuyez sur Entrée pour la valeur par défaut (dernier cylindre)
- Tapez w pour enregistrer ces modifications
# apt-get install cryptsetup
# cat /proc/crypto
...
name : sha256
driver : sha256-generic
module : sha256
...
name : aes
driver : aes-generic
module : aes
...
# modprobe aes
# modprobe sha256
ATTENTION : ne vous trompez pas de partition, car en cas d'erreur toutes les données seraient perdues !
# cryptsetup luksFormat --cipher "aes-cbc-essiv:sha256" --key-size 256 /dev/sdX2
# cryptsetup luksOpen /dev/sdX2 usbmapper
# ls /dev/mapper
control usbmapper
# mkfs.reiserfs /dev/mapper/usbmapper
# cryptsetup luksClose usbmapper
Retirez la clé USB (pensez à démonter toute autre partition qui pourrait être montée), puis réinsérez-la. Normalement vous devriez avoir la fenêtre de gnome-mount vous demandant votre mot de passe, puis votre partition sera automatiquement décryptée et montée, prête à l'emploi :

# ls /dev/mapper
control luks_crypto
# cryptsetup status luks_crypto
# umount /point_de_montage
# cryptsetup luksClose luks_crypto
# cryptsetup luksOpen /dev/sdXX luks_crypto
# mount /dev/mapper/luks_crypto /point_de_montage
![]()