Clé USB Chiffrée

Nous allons voir ici comment faire une clé USB chiffrée pour transporter vos données. En cas de perte ou de vol, les données stockées seront illisibles.

Cette clé sera utilisable sous Linux et Windows, avec une dépendance à Veracrypt pour Windows.

Création de la clé chiffrée

Nous créerons la clé sous Windows avec Veracrypt.

Nous n'aborderons pas l'installation de Veracrypt ici.
Téléchargement de Veracrypt pour Windows

Une fois Veracrypt installé, lancer le et cliquer sur Create Volume.

Sélectionner Create an encrypted file container et cliquer sur Next >.

Sélectionner Standard VeraCrypt volume et cliquer sur Next >.

Cliquer sur Select Device....

Sélectionner votre clé et cliquer sur OK.

Cliquer sur Next >.

Sélectionner Create encrypted volume and format it puis cliquer sur Next >.

Changer les algorithmes utilisés si vous le souhaitez et cliquer sur Next >.

Cliquer sur Next >.

Entrer votre mot de passe et cliquer sur Next >.

Choisir si vous comptez stocker des fichiers de plus de 4 Go et cliquer sur Next >.

Bouger votre souris de manière aléatoire pour générer un nombre aléatoire, sélectionner ou non le Quick Format et cliquer sur Format.

TOUS LES FICHIERS PRESENTS SUR LA CLE SERONT PERDUS.

Félicitations, votre clé est chiffrée.

Cliquer sur Exit.

Utilisation de la clé chiffrée sous Windows

Ouvrir la clé

Sous Windows, nous sommes dépendant de VeraCrypt pour déchiffrer la clé. Une fois la clé branchée, aller sur VeraCrypt et cliquer sur Select Device....

Sélectionner votre partition et cliquer sur OK.

Sélectionner un label de disque et cliquer sur Mount.

Entrer votre mot de passe et cliquer sur OK.

Si aucune erreur ne s'est produite, vous trouverez le volume monté dans votre explorateur de fichier.

Fermer la clé

Pour éjecter la clé, il faut d'abord la démonter. Pour cela, sur VeraCrypt, sélectionner la clé et cliquer sur Dismount.

Vous pouvez éjecter la clé de manière classique.

Utilisation de la clé chiffrée sous Linux

Ouvrir la clé

Sous Linux, l'utilisation de la clé est bien plus simple. Après avoir branché la clé, il suffit d'ouvrir la clé avec cryptsetup :

cryptsetup --type tcrypt open <volume-path> <name>

Avec fdisk -l, on trouve le chemin du volume, ici /dev/sda1 :

Disk /dev/sda: 57.3 GiB, 61530439680 bytes, 120176640 sectors
Disk model:  SanDisk 3.2Gen1
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x8a879de4

Device     Boot Start       End   Sectors  Size Id Type
/dev/sda1        2048 120174591 120172544 57.3G  7 HPFS/NTFS/exFAT

On va donc ouvrir la clé avec :

cryptsetup --type tcrypt open /dev/sda1 my-key

On vous demandera le mot de passe de la clé également.

Vous pouvez ensuite monter de manière classique le volume qui sera dans /dev/mapper/, dans notre cas /dev/mapper/my-key :

udisksctl mount -b "/dev/mapper/my-key"

Fermer la clé

Démonter la clé de manière classique :

udisksctl unmount -b "/dev/mapper/my-key"

Ensuite, on va fermer la clé avec cryptsetup :

cryptsetup --type tcrypt close /dev/mapper/my-key

Vous pouvez enfin retirer la clé.

Script

Personnelement, j'utilise udisksctl pour monter et démonter mes clés. Cependant, vous pouvez utiliser mount.

J'ai donc fais des scripts placés dans /usr/local/bin/ :

vim /usr/local/bin/cryptopen
#!/usr/bin/sh

set -e

if [ $# -lt 1 ]; then
    echo "usage: cryptopen <device>"
    exit 0
fi

if [ $(id -u) -eq 0 ]; then
	echo "Dont be root please"
	exit 1
fi

RAND=$(echo $RANDOM | md5sum | head -c 20)
NAME="encrypted-device-$RAND"

sudo cryptsetup --type tcrypt open $1 "$NAME"

udisksctl mount -b "/dev/mapper/$NAME"
vim /usr/local/bin/cryptclose
#!/usr/bin/sh

set -e

if [ $# -lt 1 ];then
    echo "usage: cryptclose <device>"
    exit 0
fi

if [ $(id -u) -eq 0 ]; then
	echo "Dont be root please"
	exit 1
fi

udisksctl unmount -b $1

sudo cryptsetup --type tcrypt close $1