Vous trouverez dans ce petit tutorial, la marche à suivre pour créer des containers chiffrés sous Linux.
Les utilisations sont nombreuses: création d'un cdrom chiffré, protection d'une partie du disque dur, ...
N'hésiter pas à me contacter si certaines choses ne vous paraissent pas claires, ou si vous êtes bloqués.
(Rq: J'ai fait la manipulation avec un noyau 2.4.20 sous Debian Woody)
Recompilation du noyau
Avant de pouvoir recompiler le noyau avec les bonnes options, il faut appliquer le patch lui permettant d'utiliser de la cryptographie, en effet pour des pour des raisons d'exportation, ces composants ne sont pas dans le noyau "standard",
ainsi qu'un patch modifiant le périphérique de loopback.
Vous pouvez les télécharger sur un miroir de kernel.org dans l'arborescence /pub/linux/kernel/crypto/va.b/patch-int-a.b.c.d.gz, /pub/linux/kernel/crypto/va.b/testing/loop-jari-a.b.c.d.patch où a.b.c. est la version du noyau et d la version du patch.
(NB: Pour les dernieres versions du noyau le patch peut se trouver dans un sous repertoire: testing).
root# cd /usr/src/linux
root# cp .config .. # Ce petit truc permet
root# make mrproper # d'eviter la supression du
root# mv ../.config . # fichier .config par mrproper
root# zcat patch-int-a.b.c.d.gz | patch -p1
root# cat loop-jari-a.b.c.d.patch | patch -p1
Ensuite vient la configuration du noyau*, en plus de votre configuration habituelle, il faut sélectionner les options suivantes.
* A l'aide des commandes classiques : make config (configuration en mode texte seulement), make menuconfig (configuration avec une interface ncurses), make xconfig (configuration avec une interface graphique).
- Dans la rubrique "Block devices"
- Loopback device support (CONFIG_DEV_LOOP)
- Dans la rubrique "Cryptography support (CryptoAPI)"
- CryptoAPI support (CONFIG_CRYPTO)
- Cipher Algorithms (CONFIG_CIPHERS)
- AES(aka Rijndael) cipher (CONFIG_CIPHER_AES)
- Crypto Devices (CONFIG_CRYPTODEV)
- Loop Crypto support (CONFIG_CRYPTOLOOP)
- Loop IV hack (CONFIG_CRYPTOLOOP_IV_HACK)
Compilation du noyau sous Debian
root# make-kpkg --bzimage --revision 1 binary-arch
root# make-kpkg --revision 1 modules_images