wiki/HowtoChiffrementData.md

148 lines
3.6 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

**Cette page a été importée automatiquement de notre ancien wiki mais n'a pas encore été révisée.**
# Howto Chiffrement des données/partitions
Inspiré de <http://www.debian-administration.org/articles/469>
## Avec LUKS
~~~
# aptitude install cryptsetup
~~~
### Creation
En renseignant un mot de passe manuellement :
~~~
# cryptsetup --verbose --verify-passphrase luksFormat /dev/md7
WARNING!
========
This will overwrite data on /dev/md7 irrevocably.
Are you sure? (Type uppercase yes): YES
Enter LUKS passphrase:
Verify passphrase:
Command successful.
# cryptsetup luksOpen /dev/md7 crypt_md7
Enter LUKS passphrase:
key slot 0 unlocked.
Command successful.
# mkfs.ext3 /dev/mapper/crypt_md7
~~~
En utilisant un fichier comme clef de chiffrement :
~~~
# dd if=/dev/random of=/root/.keyfile bs=1 count=256
# cryptsetup --verbose --key-size=256 luksFormat /dev/md7 /root/.keyfile
~~~
### Utilisation
Voir si une partition est de type LUKS :
~~~
# cryptsetup isLuks /dev/hda7
# cryptsetup luksDump /dev/hda7
~~~
Ouvrir une partition chiffrée :
~~~
# cryptsetup luksOpen /dev/mapper/vol1-crypto_test crypto_test
# cryptsetup luksOpen /dev/hda7 hda7_crypt
~~~
Ouvrir une partition chiffrée avec un fichier de clef :
~~~
# cryptsetup luksOpen --key-file /root/.keyfile /dev/md7 supersecretdata
~~~
Info sur la partition chiffrée :
~~~
# cryptsetup status crypto_test
~~~
Fermer une partition chiffrée :
~~~
# cryptsetup luksClose crypto_test
~~~
### Gestion des mots de passe
Ajouter un mot de passe :
~~~
# cryptsetup luksAddKey /dev/hda7
Enter any LUKS passphrase:
key slot 1 unlocked.
Enter new passphrase for key slot:
Verify passphrase:
Command successful.
~~~
Rem :
Sur des vieilles versions, il fallait avoir la partition non dechiffrée : <http://bugs.debian.org/460409>
Pour supprimer un mot de passe, on regarde le n° du mot de passe avec :
~~~
# cryptsetup luksDump /dev/hda7
~~~
Puis on le supprime avec la commande :
~~~
# cryptsetup luksKillSlot /dev/hda7 <n°>
~~~
Si l'entête du conteneur LUKS est corrompu, ceci rend la partition inutilisable
Procédure pour Sauvegarde de l'entête :
Le fichier contenant la sauvegarde de lentête est nommé ici backup-entete
~~~
# cryptsetup luksHeaderBackup --header-backup-file backup-entete /dev/hda7
~~~
Pour Restaurer l'entête :
~~~
# cryptsetup luksHeaderRestore --header-backup-file backup-entete /dev/hda7
~~~
## FAQ
Si vous obtnez un message de ce type :
~~~
Command failed: Failed to setup dm-crypt key mapping.
Check kernel for support for the aes-cbc-essiv:sha256 cipher spec and verify that /dev/md1 contains at least 133 sectors
~~~
La solution est :
~~~
# modprobe dm-mod
~~~
## Notes sur les algorithmes de chiffrement
Pour utiliser un algorithme de chiffrement spécifique, il faut le préciser au moment de la création de la partition :
~~~
# cryptsetup --verbose --cipher=aes-cbc-essiv:sha256 --verify-passphrase luksFormat /dev/md7
~~~
Le chiffrement aes-cbc-essiv est le chiffrement par défaut de cryptsetup pour les noyaux supérieurs au 2.6.10, car il corrige une vulnérabilité potentielle du chiffrement aes-cbc-plain.
Une autre méthode de chiffrement utilisée avec l'algorithme AES (Rijndael) est le mode XTS, qui est réputé plus résistants aux attaques par watermarking, mais nécessite un module spécifique (judicieusement nommé xts.ko) et une clef d'initialisation du double de la taille de la clef finale (voir <http://en.wikipedia.org/wiki/Disk_encryption_theory#XEX-based_tweaked-codebook_mode_with_ciphertext_stealing_.28XTS.29)>
Les autres algorithmes dignes dintérêt sont twofish et serpent, deux compétiteurs de l'AES face à Rijndael.