Accueil
  Linux
  Cryptographie
    Generateur pwd
    Codes ASCII
    Base 64
    Chiffrement de César
    Chiffrement RC4
    Logiteque
    FAQ
    
    Liens
  Securité
  Projets
  Liens
  Me contacter
  Clef PGP


disable
Traduire en :
 

Cryptographie sous Linux


Version non définitive du document

Réalisation d'un container chiffré

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

création du system de fichiers

Creation d'un system de fichier (ici 10Mega)
user$ dd if=/dev/urandom of=~/.crypto bs=1024k count=10
user$ mkdir ~/container
user$ su
root# losetup /dev/loop0 -e aes /home/user/.crypto
root# mkfs.ext2 /dev/loop0
root# losetup -d /dev/loop0
root# chmod 4755 /sbin/losetup
root# echo "/dev/loop0 /home/user/container ext2 user,umask=000,noauto 0 0" >> /etc/fstab

Rq: Il est possible d'utiliser /dev/zero pour remplir le fichier, c'est plus rapide sur des machines pas très puissantes, mais cela introduit des failles dans le systeme l'attaquant peut connaître des informations.

Utilisation

Mise en place du container

user$ losetup /dev/loop0 -e aes /home/user/.crypto
user$ mount /dev/loop0 /home/user/container

Supression du container

user$ umount /home/user/container
user$ losetup -d /dev/loop0

Liens

http://encryptionhowto.sourceforge.net/previous/Encryption-HOWTO-0.2.1-4.html Le "Encryption How-to" (en anglais)

https://www.bouissou.net/wws/d_read/open-crypto/linux-crypto/mkcryptfs Un petit script permettant de configurer facilement les containers.

http://sourceforge.net/projects/loop-aes/



imprimer © 2002-2003 Antoine CANONNE
dernière mise à jour le 11/07/2003