Sécuriser ses données avec le chiffrement
Par philippe voncken, jeudi 31 janvier 2008 à 22:31 :: Logiciels libres :: #45 :: rss
Je trouve que la méthode donnée sur Ubuntu-fr.org pour chiffrer ses partitions est trop lente au démarrage. C'est le module de "crypto" qui prend du temps. Je vais donc expliquer dans cette article ma méthode, qui a l'avantage de ne pas ralentir la séquence de démarrage, de ne pas déchiffrer les données systématiquement mais qui a le désavantage de devoir lancer une commande pour déchiffrer les données. A noter que cette commande a un temps d'exécution très court.
Comme je l'ai expliqué il y a quelques billets et un peu là aussi, j'ai chiffré ma partition de données, qui se trouve sur sda7, et ma partition de swap qui se trouve sur sda5. Pour rappel, j'ai fais le choix d'utiliser l'algorithme de chiffrement towfish avec la clé de hashage sha256.
Il faut commencer par installer cryptsetup et par modifier le fichier /etc/fstab en mettant en commentaire les lignes correspondantes à nos partitions sda5 et sda7. Cela permettra de ne plus monter automatiquement ces partitions.
sudo gedit /etc/fstab (faire la modification et enregistrer)
On vérifie que le module qui gère l'algorithme de notre choix est bien présent sur la machine. Si vous le souhaitez, vous pouvez remplacer towfish par un autre de la liste généré par la commande suivante.
sudo modinfo /lib/modules/`uname -r`/kernel/crypto/* | grep ko
Ensuite on formate la partition de données avec l'algorithme de chiffrement que l'on a choisie.
sudo umount /dev/sda7
sudo cryptsetup luksFormat -c twofish -h sha256 /dev/sda7
sudo cryptsetup luksOpen /dev/sda7 c_DATA
sudo mkfs.ext3 /dev/mapper/c_DATA
sudo mount -t ext3 /dev/mapper/c_DATA /mnt/DATA
sudo umount /mnt/DATA
sudo cryptsetup luksClose c_DATA
On crée le script ~/bin/decrypt.sh qui nous permettra d'utiliser une commande pour déchiffrer nos partitions.
touch ~/bin/decrypt.sh
On y met le texte suivant avec gedit par exemple.
#!/bin/sh -e
if [ ! -b /dev/mapper/c_swap ]
then
echo "monte la partition swap chiffree";
sudo cryptsetup -c twofish -d /dev/random -s 128 create c_swap /dev/sda5
sudo mkswap /dev/mapper/c_swap
sudo swapon /dev/mapper/c_swap
fi
if [ -b /dev/mapper/c_DATA ]
then
echo "verrouille la partition DATA";
sudo umount /mnt/DATA
sudo cryptsetup luksClose c_DATA
else
echo "monte la partition DATA chiffree";
sudo cryptsetup luksOpen /dev/sda7 c_DATA
sudo mount -t ext3 /dev/mapper/c_DATA /mnt/DATA
fi
Ensuite on le rend exécutable et on lui donne les droits appropriés.
chmod 755 ~/bin/decrypt.sh
sudo chown root:root ~/bin/decrypt.sh
On finit avec la création de l'alias qui permet de transformer notre script en commande. Il suffit maintenant de taper l'alias dans le terminal pour déchiffrer la partition de données et monter un swap chiffré. En retapant ce même alias on rechiffre en on démonte ces deux partitions.
Ressources complémentaires:
- http://www.rd.cri74.org/repository/securite/algo_chiffrement.pdf
Commentaires
Aucun commentaire pour le moment.
Ajouter un commentaire
Les commentaires pour ce billet sont fermés.