Cette page n'a pas encore d'étiquettes.
Apportez votre aide…

Ceci est une ancienne révision du document !



Partition/Zone disque chiffrée avec cryptoloop

Comme tout le monde, vous avez des informations personnelles et/ou professionnelles que vous souhaiteriez ne pas laisser à l'indiscrétion du premier venu ? Vous voudriez un moyen sûr de mettre des données à l'abri, même d'un vol de portable ou de disque dur ?
Cryptoloop vous offre une solution efficace et simple à mettre en place.
Mini How-To pour un coffre-fort en 3 coups de cuillère à pot.

Pour créer notre coffre-fort virtuel, nous allons tout d'abord créer un fichier de la taille que l'on souhaite attribuer à notre coffre (dans ce tuto nous prendrons 100 Mo), puis le monter système de fichier, et ce en utilisant l'algorithme de chiffrement de votre choix (ici twofish).

On utilise l'utilitaire dd pour créer un fichier de 100 Mo (100 blocs de 1 Mo) que l'on remplit de 0 (input file = /dev/zero), par exemple le fichier "private" dans votre répertoire personnel :

$ dd if=/dev/zero bs=1M count=100 of=~/private

NB : Pour rendre une éventuelle tentative de décryptage plus difficile, on peut utiliser /dev/random comme entrée :

$ dd if=/dev/random bs=1M count=100 of=~/private

Cependant, le temps de création du fichier passe alors de quelques secondes à plusieur minutes, voir plusieurs dizaines de minutes. Mais on est jamais trop prudent ;)

Lançons le module cryptoloop :

$ sudo modprobe cryptoloop

Vérifions :

$ lsmod | grep cryptoloop

Vous devriez obtenir 2 lignes ressemblant à ceci (les nombres ne sont pas nécessairement identiques) :

cryptoloop              3584  0 
loop                   14728  1 cryptoloop

Listez alors les algorithmes de chiffrement disponibles avec la commande :

$ sudo modinfo /lib/modules/`uname -r`/kernel/crypto/* | grep description

A moins d'avoir un noyau personnalisé selon vos envies, vous devriez avoir un truc du genre :

    description:    ARC4 Cipher Algorithm
    description:    Blowfish Cipher Algorithm
    description:    Cast5 Cipher Algorithm
    description:    Cast6 Cipher Algorithm
    description:    CRC32c (Castagnoli) calculations wrapper for lib/crc32c
    description:    Null Cryptographic Algorithms
    description:    Deflate Compression Algorithm for IPCOMP
    description:    DES & Triple DES EDE Cipher Algorithms
    description:    Khazad Cryptographic Algorithm
    description:    MD4 Message Digest Algorithm
    description:    Michael MIC
    description:    Serpent Cipher Algorithm
    description:    SHA1 Secure Hash Algorithm
    description:    SHA256 Secure Hash Algorithm
    description:    SHA-512 and SHA-384 Secure Hash Algorithms
    description:    Quick & dirty crypto testing module
    description:    Twofish Cipher Algorithm

Si vous avez installé l'algorythme AES avec le paquet loop-aes-utils :

$ sudo modinfo /lib/modules/`uname -r`/kernel/arch/i386/crypto/* | grep description

Vous obtiendrez quelque chose du genre :

description:    Rijndael (AES) Cipher Algorithm, i586 asm optimized

Choisissez un algorithme de chiffrement (pas de hashage ou de digest) comme blowfish ou twofish. Dans ce tuto, j'ai choisi twofish. Notez le nom sur un bout de papier ou avec un copié-collé si vous n'êtes pas sûr de pouvoir l'orthographier correctement.

On monte alors le fichier avec losetup, en précisant l'algorithme de chiffrement choisi avec l'option -e :

$ sudo losetup -e twofish /dev/loop0  ~/private

Attention extrême : (ça fait peur hein ?) Le mot de passe qui vous est demandé n'est pas le mot de passe sudo ! En effet, vous l'aviez saisi juste au-dessus, il a alors été mémorisé pour quelques minutes. Ce mot de passe est celui de la partition : il vous sera demandé à chaque fois que vous voudrez monter cette partition. Choisissez donc un bon mot de passe, différent de votre mot de passe habituel.

Si vous avez un message d'erreur vous indiquant que /dev/loop0 est occupé, trouver un emplacement libre avec la commande :

$ sudo losetup -f

Il faut encore créer le système de fichier sur la nouvelle partition, par exemple ext3 :

$ sudo mkfs.ext3 /dev/loop0

et le point de montage :

$ sudo mkdir /mnt/private

et voilà, votre coffre-fort est créé !

Vous pouvez libérer /dev/loop0 :

$ sudo losetup -d /dev/loop0

Afin de pouvoir (dé)monter le système de fichier chiffré, ajoutez cette ligne dans /etc/fstab :

 /home/votre_login/private /mnt/private ext3 noauto,encryption=twofish,user,exec,uid=votre_login 0 0

en remplaçant "votre_login" par votre nom d'utilisateur (Si vous rencontrez un problème lors du montage, essayer d'enlever l'option ",uid=votre_login")

Vous pouvez maintenant monter votre partition (uniquement lorsque vous en avez besoin) avec :

$ mount /mnt/private

en entrant le mot de passe, et la démonter lorsque vous avez fini de travailler dessus :

$ umount /mnt/private

NB : uid=votre_login permet à la partition montée de vous appartenir complètement, ainsi, vous êtes le seul à pouvoir accéder à vos documents, et vous pouvez travailler dedans sans aucun souci. Pour savoir comment gérer les droits d'accès plus finement, vous pouvez vous référer à mount_fstab, le principe est donc le même que pour les partitions physiques du disque dur.

Pour ne pas avoir à charger "à la main" (ie via modprobe) le module cryptoloop, il suffit de l'ajouter au fichier /etc/modules :

$ sudo -s
# echo "cryptoloop" >> /etc/modules
# exit

Ainsi, le module sera chargé à chaque démarrage (sans lui vous obtenez une erreur lorsque vous essayez de monter la partition chiffrée).

Travailler dans la partition cryptée est très simple. Ouvrez nautilus le navigateur de fichier en allant dans le poste de travail, puis allez dans le système de fichier, dans le dossier mnt, et enfin entrez dans le dossier private. Ce dossier est votre dossier de travail entièrement crypté et accessible seulement par vous !

Pour déplacer des données, utilisez nautilus normalement, en faisant un copier-coller, un cliquer-déplacer… C'est un dossier parfaitement normal.

D'ailleur, il est préférable de travailler sur vos documents confidentiels directement dedans, car il ne sert à rien de protéger vos fichiers dans une partition chiffrée s'il en reste des traces en clair sur une de vos partitions.

Si vous déplacez des données dedans, au lieu de déplacer des données (ce qui reviendrait à les copier puis les effacer de façon "conventionelle"), copiez-les et effacez-les avec une méthode plus sûre (voir le mini how-to Détruire efficacement un fichier).

Cryptoloop n'est pas l'unique solution, ni la plus efficace. Je l'ai décrite ici car c'est, à mon avis la plus simple à mettre en place pour protéger une quantité variable de donnée. Si vous souhaitez aller plus loin, et notamment utiliser le successeur de cryptoloop (dm-crypt), je vous recommande la lecture de l'excellent How-To http://www.ubuntulinux.org/wiki/EncryptedFilesystemHowto (en anglais).

Voici une autre solution :

http://www.pariscyber.com/security/freeotfe/index.php


Contributeur : eks

Basé sur http://www.ubuntulinux.org/wiki/EncryptedFilesystemHowto (dernière partie)

  • cryptoloop.1218640101.txt.gz
  • Dernière modification: Le 13/08/2008, 17:10
  • (modification externe)