Cryptsetup pour crypter une clé USB sous Linux
Cryptsetup fournit une interface pour configurer le chiffrement sur des périphériques de bloc (comme des partitions /home ou d’espace d’échange (swap)) en utilisant dm-crypt, un sous-système transparent de chiffrement de disques dans le noyau Linux.
Il permet une prise en charge de LUKS (« Linux Unified Key Setup »), le standard associé au noyau Linux pour le chiffrement de disque.packages.debian.org
Identifier le device de sa clé USB
Il faut tout d’abord identifier la clé USB qui nous intéresse, avant d’éventuellement la partitionner pour enfin l’encrypter et la formater.
Voici plusieurs 3 méthodes :
lsblk -fs # list block devices chercher /dev/sd? pour les clé USB
sudo cat /var/log/messages | tail # fonctionne immédiatement après insertion de la clé USB
sudo fdisk /dev/sda1 # puis tapper p (infos de partitions) puis partitionner la clé
Crypter la clé USB
On va utiliser pour le cryptage/décryptage, un outil dénommé cryptsetup
avec LUKS (Linux Unified Key Setup).
Pré-requis
Il faut tout d’abord disposer des modules noyaux suivants dm-crypt
sha256
aes
sudo modprobe dm-crypt sha256 aes # chargement des modules nécessaires
sudo lsmod # vérifier qu'ils sont bien chargés
sudo apt install cryptsetup
Crypter le device
En considérant ci-dessous la clé USB est identifiée en tant que /dev/sda1 nous allons encrypter la partition avec la commande cryptsetup luksFormat
.
Attention bien identifier votre device au risque de perdre le contenu de cette partition
Cet opération va nous demander une passphrase (ou mot de passe) qu’il ne faudra pas perdre ! et il est possible de
sudo cryptsetup -y luksFormat /dev/sdaXX -c aes -s 256 -h sha256 # va nous demander 2 fois une passphrase secrète qui nous servira de clé privée
Monter/démonter la partition cryptée
Le montage et démontage de la partition cryptée s’effectue au moyen des commandes cryptsetup luksOpen
et cryptsetup luksClose
. Une fois décryptée la partition devra être montée classiquement via un mount, il faut donc garder à l’esprit qu’il faut effectuer 2 sortes de montages/démontages.
Formatage et 1er montage
sudo cryptsetup luksOpen /dev/sda1 secure # va créer /dev/mapper/secure
sudo mkfs -t ext4 -m 1 /dev/mapper/secure # formattage en ext4
sudo mkdir /media/macleusb
sudo mount /dev/mapper/secure /media/macleusb
sudo chown xxx:xxx /media/macleusb # si la clé reste connectée
à partir de là nous avons la clé cryptée montée.
Montage suivants
sudo cryptsetup luksOpen /dev/sda1 secure
sudo mount /dev/mapper/secure /media/macleusb
Démontage
avant de retirer la clé USB ne pas oublier de:
sudo umount /media/macleusb # démontage du volume déchiffré
sudo cryptsetup luksClose secure # fermeture du volume chiffré
lsof /media/xxx # si le umount échoue, pour plus d'infos
Liens
- doc cryptsetup FAQ