Linux et cryptographie

("cryptage" du disque et des e-mails sous Linux)


English


I. Dans Mandrake 9.1/9.2

Chiffrement OpenPGP des e-mails

Chiffrement transparent de containers ("cryptage" du disque dur)

Chiffrement du swap

Chiffrement transparent maximal du système (partitions)


II. Dans SuSE, Knoppix, Fedora, etc.

Chiffrement OpenPGP des e-mails

Les commandes et scripts


III. Qu'est-ce que Linux ?






I. Dans Mandrake 9.1/9.2


Chiffrement OpenPGP des e-mails

GPG (GnuPG) est préinstallé dans toutes les distributions Linux.
On génère sa clef par la commande gpg --gen-key

a) Les logiciels courrier contiennent des plug-in OpenPGP (KMail, Mozilla, Evolution) :

KMail (KDE)



b) L'outil Kgpg (Mandrake 9.2) permet la gestion graphique des clefs PGP :

Kgpg pour KDE 3



Chiffrement transparent de containers ("cryptage" du disque dur)

Chiffrement à la volée par AES de containers (disques virtuels) : l'outil DrakLoop (menu "Applications / Archivage / Autre", ou dans un terminal commande drakloop - le paquetage RPM "mountloop" doit avoir été installé -) permet la création du container qui est ensuite monté automatiquement au démarrage du compte:

drakloop




Chiffrement du swap

La partition de swap peut être chiffrée de manière transparente par AES (l'impact sur les performances du système est imperceptible).

a) À créer durant l'installation

b) Après l'installation, par modification du fichier /etc/fstab :

Par exemple, si le swap est sur /dev/hda4 :

/dev/hda4 swap swap defaults 0 0

devient

/dev/hda4 swap swap encrypted 0 0

puis rebooter Linux.



Chiffrement transparent maximal du système (partitions)

Certaines partitions du système peuvent être chiffrées de manière transparente par AES.

a) Lors de l'installation de Linux : les partitions /home et /tmp (à chaque démarrage de l'ordinateur, il faudra entrer autant de mots de passe qu'il y a de partitions chiffrées).

Au début de l'installation de Linux, au moment de la création des partitions, choisir :
- "Partitionnement personnalisé"
- "Passer en mode expert"
- Cliquer sur les partitions que l'on souhaite voir chiffrées (seules /home et /tmp sont chiffrables; la racine / et /var ne sont pas chiffrables actuellement lors de l'installation de la Mandrake)
- "Options"
- Ajouter comme option : "encrypted"
- Entrer un mot de passe d'au moins 20 caractères
- "Point de montage"

Partition chiffrée dans la Mandrake 8.2



b) Après l'installation de Linux, le chiffrement de /var est possible en procédant à une modification "à la main" (réservé aux experts de Linux!), en sauvegardant la partition, puis en la démontant, en la chiffrant avec les commandes données dans le Linux Encryption How To http://encryptionhowto.sourceforge.net/Encryption-HOWTO-4.html#ss4.3, puis en restaurant /var sur la nouvelle partition chiffrée et en modifiant le fichier /etc/fstab.

Pour un chiffrement de toutes les partitions, racine comprise, voir le Disk-Encryption-HowTo http://tldp.org/HOWTO/Disk-Encryption-HOWTO/





II. Dans SuSE, Knoppix, Fedora, etc.


Chiffrement OpenPGP des e-mails

(voir plus haut)



Les commandes et scripts

SuSE, Knoppix :

Installez mkcryptfs*.gz :
https://www.bouissou.net/wws/d_read/open-crypto/linux-crypto/mkcryptfs.

- dézippez par gunzip mkcryptfs.gz, puis ouvrez le script et modifiez les premières lignes pour choisir les paramètres correspondant à votre système (pour mémoire, dans un tel script, les lignes précédées par un signe # sont ignorées lors de l'exécution).

- mettez les droits "exécution" sur le script par les deux commandes :
chown root:root mkcryptfs
chmod 755 mkcryptfs
- copiez le script dans /usr/local/bin

Si vous souhaitez créer un container chiffré appelé "secret" et d'une taille de 500 Mo dans le compte de l'utilisateur "pierre" (/home/pierre):

Comme utilisateur "root", tapez:
mkcryptfs pierre secret 500
(Votre phrase de passe devra être longue d'au moins 20 caractères).

Comme utilisateur "pierre", montez votre container chiffré par:
mount /home/pierre/secret
Démontez le container par:
umount /home/pierre/secret

Voir l'annonce du script sur la liste francophone open-crypto http://www.openpgp.fr.st/bouissou20020322.txt et sur la liste anglaise linux-crypto http://mail.nl.linux.org/linux-crypto/2002-03/msg00071.html. Télécharger le script au format texte http://www.openpgp.fr.st/mkcryptfs.txt.
 

Mise en garde habituelle : attention, vous utilisez ce script sous votre propre responsabilité et à vos risques et périls!
 

Note sur le chiffrement loop : certains évoquent la possibilité, très théorique, d'une attaque cryptanalytique compliquée (http://www.off.net/%7Ejme/loopdev_vul.html) liée à l'absence de HMAC. Cette attaque ne remet pas directement en cause la sécurité du chiffrement loopback dans Linux.

Il est possible de modifier ensuite la taille du système de fichiers chiffré, par exemple l'agrandir (voir le message http://www.openpgp.fr.st/bouissou20020415.txt de Michel Bouissou en ce sens sur la liste open-crypto).


(voir aussi :

Cryptage de volume avec Linux 2.4.22/2.6 et crytoloop : http://www.linuxfrench.net/article.php?id_article=1299
Linux Encryption HowTo : http://encryptionhowto.sourceforge.net/Encryption-HOWTO-4.html#ss4.3

Documentation SuSE : http://sdb.suse.de/en/sdb/html/jsj_crypto_filesystem_mini_howto.html)



 
Fedora / RedHat :

Voir cette page : "Setting up an encrypted file system using CryptoAPI on RedHat 9" :
http://www.q-vadis.net/index.php?mID=stories&lng=en&art=5

Voir aussi le Linux Encryption HowTo http://encryptionhowto.sourceforge.net/Encryption-HOWTO-4.html#ss4.3 et le Disk-Encryption-HowTo http://tldp.org/HOWTO/Disk-Encryption-HOWTO/



Cas du CD-ROM bootable Knoppix (utilisation d'un container chiffré pré-existant avec Knoppix) :

Si vous voulez monter à l'aide du CD bootable Knoppix un container chiffré pré-existant, lisez les conseils http://www.openpgp.fr.st/bouissou20030226.txt donnés par Michel Bouissou sur la liste "open-crypto".
Vous pouvez aussi créer dans Knoppix un /home persistant chiffré qui sera localisé sur une clef USB ou une disquette Iomega ZIP.
 

Vérification du système de fichiers (e2fsck) sur un container chiffré :

La vérification par e2fsck du container chiffré est conseillée de temps à autres (par exemple tous les 100 montages). Procédure :
- D'abord démonter le container.
- Sous root, trouver un loop device inutilisé (par exemple /dev/loop5)
- Lancer successivement (pour un exemple où le container ".secret" appartenant à "pierre" est en AES 256 bits) :
losetup -e AES256 /dev/loop5 /home/pierre/.secret
e2fsck -fv /dev/loop5
losetup -d /dev/loop5




III. Qu'est-ce que Linux ?


Linux est le système d'exploitation idéal pour le chiffrement car ses sources sont publiques et libres (modifiables) et qu'il est le seul à être livré avec un chiffrement fort du système de fichiers (vulgairement appelé "cryptage" du disque dur) directement intégré au noyau (certaines distributions de Linux nécessiteront cependant la recompilation préalable du noyau). Linux a en outre la réputation d'être un système d'exploitation plutôt bien sécurisé.

Nos distributions préférées sont Mandrake http://www.mandrakelinux.com/fr/concept.php3 et SuSE http://www.suse.com/us/private/products/suse_linux/i386/10_reasons.html, ainsi que la distribution sur CD bootable Knoppix http://www.bouissou.net/knoppix-mib/doc-html/Knoppix-Mib.html, qui intègrent toutes trois une option de chiffrement du système de fichiers prête à l'emploi dans leur noyau par défaut.
RedHat 9 contient aussi cette fonction, mais avec un bug qui rend son installation plus difficile.

Note aux personnes résidant en France et soucieuses de respecter les réglementations locales sur la cryptologie : MandrakeSoft-France et SuSE-France ont reçu des autorisations de fourniture de la DCSSI.
 

Linux est gratuit : les 3 fichiers contenant l'image ISO des 3 CD-ROMs d'installation (3 gros fichiers de 700 Mo) peuvent être téléchargés gratuitement via http://www.linuxiso.org et gravés ensuite sur des CD-R vierges. Le jeu de 3 CD-ROMs peut aussi être acheté pour environ 5 euros sur le site français Ikarios http://ikarios.com/form ou sur le site américain Linux Central http://www.linuxcentral.com. Ces CD-ROMs peuvent être recopiés et diffusés librement en toute légalité et en autant d'exemplaires voulu. (Depuis sa version 6, la distribution SuSE est encore gratuite mais ses images ISO ne sont plus diffusées gratuitement : il faut soit acheter une version payante, soit faire une installation par FTP.)

Linux est en français : chacun de ses programmes annexes, ainsi que tout le système Linux lui-même, sont disponibles en une quarantaine de langues, dont de nombreuses langues régionales.

Linux est libre : en raison de la licence GNU free software http://www.april.org/groupes/gnufr/intro.html (logiciel libre) de la plupart des distributions, Linux ainsi que la plupart des programmes Linux peuvent être librement utilisés pour un usage commercial et librement modifiés. Ces programmes "logiciel libre" sont un service rendu par et pour la communauté Internet mondiale.
 

Pour voir à quoi ressemble un écran d'ordinateur sous Linux, visitez cette page de captures d'écran http://www.mandrakelinux.com/fr/fscreenshots.php3 (distribution Linux-Mandrake).

Pour une présentation générale du fonctionnement du système Linux, voyez ce site http://casteyde.christian.free.fr/system/linux/guide/1.0/online/c128.html.
 

Les utilisateurs d'ordinateur portable peuvent vérifier sur le site "Linux on Laptops" http://www.linux-on-laptops.com si leur modèle est compatible avec Linux.

Les utilisateurs de Mac, notamment de PowerPC, iMac et iBook, peuvent opter pour Yellow Dog http://www.yellowdoglinux.com/ ou Mandrake PPC http://www.linux-mandrake.com/en/ppc.php3, ou Debian http://www.debian.org, ou SuSE PPC http://www.suse.com, mais ces versions n'intègrent pas toutes le chiffrement, qui devra être ajouté par recompilation du noyau Linux.

Le "Guide de survie du débutant sous Linux" http://www.delafond.org/survielinux/ et le site d'aide Lea-Linux http://www.lea-linux.org sont deux excellentes sources pour l'installation et la prise en mains de Linux.

Le site francophone le plus connu pour les actualités sur Linux est la "Da Linux French Page" http://linuxfr.org.
 
 
 


 

Mise à jour : novembre 2003
Publié sous licence OpenContent
Copyright (c) 1997-2003, pplf Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
La reproduction exacte et la distribution intégrale de cet article est permise sur n'importe quel support d'archivage, pourvu que cette notice soit préservée.


Retour à l'accueil