Chiffrer une partition : Ce court tutoriel va vous permettre d'empêcher l'accès à une partition de disque dur. La partition sera chiffrée et le déchiffrement ne sera possible qu'avec le bon mot de passe. L'accès peut également être subordonné à la présence d'un fichier, mais ce cas ne sera pas traité ici. Il sera facile de généraliser ce tutoriel pour d'autres cas.
Si les bons modules ne sont pas lancés, vérifier leur présence avec "lsmod" :
Le paquet "loop-aes-utils" doit être installé. J'ai dû forcer le chargement du module "cryptoloop" par le noyau que j'avait recompilé.
Principe : on génère une clé plus ou moins aléatoire dans un fichier. Ce fichier est chiffré symétriquement par gnupg. C'est le mot de passe utilisé qui servira au déblocage du fichier aléatoire lequel servira de clé pour la partition.
La partition est désignée comme chiffrée puis elle est formatée. Le montage de la partition demande le mot de passe et le démontage n'en demande pas.
Afin d'automatiser le processus, on utilise fstab pour n'avoir qu'une simple commande à entrer.
Les commandes sont à faire en tant que super utilisateur.
echo $RANDOM$RANDOM$RANDOM | sha1sum | gpg --symmetric > cle_XX.gpg
dd if=/dev/zero of=/dev/XX bs=1024 count=50
Lier un périphérique de boucle à la partition XXlosetup -e aes-256 -K cle.gpg /dev/loop/0 /dev/XX
À ce stade, il suffira d'utiliser /DEV/LOOP/0 comme n'importe quel périphérique.
Ne plus utiliser /dev/XX. En particulier un formatage détruirait la partition chiffrée !
mke2fs -j /dev/loop/0
mkdir /tmp/test
mount /dev/loop/0 /tmp/test
umount /dev/loop/0
losetup -d /dev/loop/0
losetup -e aes-256 -K cle.gpg /dev/loop/0 /dev/XX
mkdir /tmp/test
mount /dev/loop/0 /tmp/test
Ne pas oublier d'indiquer le chemin complet vers le fichier clé.
/dev/hdc2 /mnt/aes ext2 defaults,noauto,user,loop=/dev/loop/0,encryption=AES256,gpgkey=cle.gpg
Il suffira ensuite, en tant que simple utilisateur :mount /mnt/aes