Copyright © 2009 Ariel Maiorano
Copyright © 2011 Eric Gérard
Copyright © 2011 Gaël Montreuil
Article paru dans le n°165 de la Gazette Linux de août 2009.
Cet article est publié selon les termes de la Open Publication License. La Linux Gazette n'est ni produite, ni sponsorisée, ni avalisée par notre hébergeur principal, SSC, Inc.
Table des matières
Sur son site Web, nous apprenons que
TrueCrypt est un logiciel libre, open-source, de chiffrement de
disque pour Windows Vista/XP
, Mac OS X
et Linux
. Son utilisation la plus fréquente est la
création d'un disque virtuel chiffré dans un fichier (appelé fichier volume), monté comme un
disque réel. De plus, il implémente également des mécanismes plausibles de déni, un volume
caché à l'intérieur d'un autre volume, et, bien sûr, la possibilité de chiffrer une partition
entière ou un volume de stockage externe. Le chiffrement du système n'est, quant à lui
actuellement, supporté seulement par Windows.
Le chiffrement est automatique, temps-réel (à la volée) et transparent. Concernant cette propriété de chiffrement «à la volée» effectuée par TrueCrypt, on peut lire dans la documentation officielle:
[Chiffrement «à la volée» signifie que les données sont automatiquement chiffrées ou déchiffrées juste avant qu'elles soient lues ou écrites, sans aucune intervention de la part de l'utilisateur. Aucune donnée ne peut être lue (déchiffrée) sans utiliser le mot de passe / fichier clé ou clé de chiffrement correcte. Le système de fichier entier est chiffré (i.e. les noms de fichiers, de répertoites, le contenu des fichiers, l'espace libre, les métadonnées, etc.)]
Bien que plus populaire dans le monde des systèmes d'exploitation Windows
[1], TrueCrypt fonctionne bien sous Linux
, et ses fichiers
volume sont totalement indépendant des systèmes d'exploitation. La documentation générale à propos de
l'utilisation du programme est principalement orientée sur l'interface graphique des
différentes versions de Windows
, mais les informations à propos de son fonctionnement, les
algorithmes de chiffrement, les algorithmes de hachage, les détails techniques etc. sont très
complets et s'appliquent également à la version Linux
.
Comme cela a déjà été mentionné, dans la documentation officielle, nous savons que
TrueCrypt est un logiciel libre et open-source. Cependant, malgré
de nombreuses demandes d'utilisateurs, il n'a pas été inclus dans le plupart des distributions
et dépôts populaires de Linux à cause de certaines préoccupations concernant les
licences collectives de TrueCrypt. [1]La
majorité des distributeurs Linux
considère qu'il n'est pas libre; Dans ce courrier, d'un représentant Red Hat
, il est expliqué pourquoi ils pensent cela, et
même si Fedora
respecte toutes les conditions et/ou obligations imposées par cette licence,
ils ne seraient pas protégé contre une attaque en justice de la part de TrueCrypt. Pour connaitre la position officielle de Fedora
sur cette question, vous
pouvez consulter ce lien, et pour Ubuntu
celui-ci.
De toute façon, si vous projetez de redistribuer TrueCrypt, ou un programme basé sur lui, vous aurez probablement besoin d'une aide juridique. Cela étant dit, vous pouvez, bien entendu, télécharger la totalité du code source et l'utiliser comme il vous convient pour vos besoins privés.
TrueCrypt implémente trois algorithmes de chiffrement par blocs (également appelés chiffreurs, ainsi il y a des chiffreurs par blocs, des chiffreurs à clé symétrique, etc.): AES (pour chiffrement avancé standard), Twofish et Serpent. Le programme peut aussi combiner l'usage des chiffreurs, aussi, lorsque vous devez sélectionner l'algorithme à utiliser, vous voyez des options comme Serpent-AES ou Twofish-Serpent. Les fonctions cryptographiques de hachage implémentées et disponibles dans TrueCrypt sont RIPEMD-160, SHA-512, et Whirlpool.
Si cela ne vous est pas familier, sachez qu'un chiffreur par blocs opère sur des morceaux de données de taille fixe, chacune d'eux est un bloc. AES, par exemple, utilise des blocs de 128 bits de long. Ces blocs sont constitués de vos données: ce que vous voulez chiffrer, habituellement du texte. Lorsqu'un chiffreur chiffre un bloc de texte, sa sortie est un bloc transformé de même longueur, appelé bloc de texte chiffré. Ceci est fait en utilisant la clé, comme autre entrée du processus de chiffrement, clé qui possède également une longueur fixe (jusqu'à 256 bits avec Twofish, par exemple).
Un autre aspect à prendre en considération est qu'il est nécessaire d'effectuer d'autres étapes si vous voulez chiffrer un texte dont la taille est supérieure à celle du bloc utilisé par le chiffreur. Dans ce cas, l'implémentation choisit un mode opératoire (ce n'est pas fait par l'algorithme lui-même). Le bloc chiffré, issu du chiffrement du bloc de texte précédent, peut être combiné avec le bloc de texte à chiffrer suivant. Le mode dans lequel vous utilisez un algorithme détermine la façon dont les blocs seront chainés, si un tel procédé doit être déterminé. Lorsque vous utilisez un mode chaîné, le premier bloc ne dispose pas de la sortie précédente, dans ce cas vous utilisez un vecteur d'initialisation (IV), habituellement composé de données aléatoires.
La clé n'est pas le tableau de caractères ASCII qui compose votre mot de passe - du moins, pas au cours des dernières implémentations cryptographiques - mais la sortie d'une fonction de hachage cryptographique appliquée à ce mot de passe et à un groupe de bits aléatoires (salt).
Les fonctions cryptographiques de hachage peuvent prendre un bloc de données d'une taille arbitraire et retourner une taille de bloc fixe en sortie (par exemple, 128 bits de long pour MD5). Cette sortie est appelée la valeur de hachage, parfois appelée condensé du message - le message étant les données entrées ou simplement le condensé. Tout changement de l'entrée produit une valeur de hachage sensiblement différente.
Le salt (grain de sel) est un nombre aléatoire, une partie de l'entrée de la fonction de hachage, habituellement simplement concaténée avec le mot de passe, qui fait que le même mot de passe ne génère pas la même valeur de hachage. Il est aussi public que le résultat du hachage et vous devez toujours disposer des deux valeurs pour effectuer une comparaison de mot de passe. De cette façon il est plus difficile d'attaquer le mot de passe par dictionnaire.
Des standards définissent que la fonction de hachage doit être répétée - un minimum de 1000 itérations est recommandé dans le standard RSA PKCS5 - hachant à chaque fois la valeur de hachage issue de l'itération précédente, pour finalement produire les octets de la clé utilisée comme clé d'entrée d'un chiffreur symétrique.
En ce qui concerne la théorie générale de chiffrement, vous pouvez consulter la version en ligne du livre Handbook of Applied Cryptography. Vous trouverez ensuite une description très brève et basique de chaque algorithme, mais si vous voulez d'autres références ou une discussion plus approfondie sur chacun d'entre eux, consultez les références, et comment ils sont implémentés dans TrueCrypt, dans la documentation technique du programme. Souvenez vous, également, que les chiffreurs de blocs peuvent être utilisés dans différents modes. Ces modes définissent la méthode de chainage (ou non) des blocs en chiffrant chaque bloc de texte. Les versions récentes de TrueCrypt utilisent le mode XTS (standard IEEE 1619).
Chiffreurs symétriques disponibles dans TrueCrypt:
AES: Advanced Encryption Standard (standard avancé de chiffrement). Publié originellement sous le nom de Rijndael (1998), un mot dérivé des noms des auteurs: Joan Daemen et Vincent Rijmen. Cet algorithme a été sélectionné en 2001 lors du concours NIST's AES (National Institute of Standards and Technology), ainsi le standard spécifie qu'il est approuvé par le Federal Information Processing Standard (FIPS-17) et peut être utilisé par les organisations gouvernementales US (ou d'autres) pour protéger les informations sensibles. Il produit de blocs de 128 bits à partir de clés de 128, 192 et 256 bits. Rijndael supporte d'autres tailles de blocs et de clés mais les valeurs citées sont les seules utilisées par AES. Il est intéressant de noter qu'il a été analysé en profondeur et est utilisé dans le monde entier.[2]
Serpent: Cet algorithme a été finaliste au concours AES et a terminé en seconde place, juste derrière Rijndael. Les auteurs sont Ross Anderson, Eli Biham et Lars Knudsen. Il implémente une taille de bloc de 128 bits. Ses clés peuvent être de 128, 192 et 256 bits de longueur. Première publication en 1998.
Twofish: Un autre finaliste du concours AES. Les auteurs sont: Bruce Schneier, JohnKelsey, Doug Whiting, DavidWagner, ChrisHall et Niels Ferguson. Il implémente une taille de blocs de 128 bits avec des clés de tailles variables: d'un minimum de 8 bits à un maximum de 256 bits, par multiple de 8 bits. Egalement publié en 1998.
Fonctions cryptographiques de hachage disponibles:
RIPEMD-160: Acronyme de RACE Integrity Primitives Evaluation Message Digest. Les auteurs sont: Hans Dobbertin, Antoon Bosselaers et Bart Preneel. Il produit une valeur de hachage de 160 bits de long, mais il existe d'autres versions de cet algorithme (RIPEMD-128, RIPEMD-256 et RIPEMD-320). Première publication en 1996.
SHA-512: SHA est l'acronyme de Secure Hash Algorithm. Il appartient à la famille SHA-2. Ces fonctions ont été conçues par le NSA, et publiée par le NIST comme US FIPS en 2001. Comme vous l'avez probablement deviné, SHA-512 produit des valeurs de hachage de 512 bits.
Whirlpool: Conçu par un des auteurs de Rijndael, Vincent Rijmen et Paulo S. L. M. Barreto. Publié en 2000. Il produit des valeurs de hachage de 512 bits de long.
Nous allons construire et installer la dernière version de TrueCrypt à partir des sources
(à la date de l'article, la dernière version est 6.2a, publiée le 15 juin 2009). Vous pouvez
également télécharger les paquets .deb et .rpm, pour Ubuntu
et OpenSUSE
respectivement, depuis
le site de TrueCrypt. Bien sûr, vous ne pouvez procéder ainsi que si vous disposez d'une des
deux distributions Linux
supportées. Sinon, ou si vous utilisez l'une d'elles mais préférez
compiler le programme que vous utiliserez sur votre système, vous devrez télécharger le code
source pour Linux
/Mac OS X
et continuer à lire la section installation. Note: le paquet .zip
du code source ne contient pas les mêmes fichiers; si vous trouvez un fichier .sln
(Microsoft
Visual Studio solution) au lieu d'un fichier Makefile, c'est que vous avez téléchargé la
version Windows.
La documentation nous dit que notre système doit comprendre les composants suivants pour pouvoir compiler votre logiciel:
GNU Make
GNU C++ Compiler 4.0 ou compatible
pkg-config
Librairie partagée wxWidgets 2.8 et fichiers d'entêtes ou code source de la librairie wxWidgets 2.8 (disponibles sur http://www.wxwidgets.org)
Librairie FUSE et fichiers d'entêtes (disponibles sur http://fuse.sourceforge.net and http://code.google.com/p/macfuse)
RSA Security Inc. PKCS #11 Cryptographic Token Interface (Cryptoki) 2.20 header files (disponibles sur ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-11/v2-20) placés dans un chemin include standard, ou dans un répertoire défini par la variable d'environment 'PKCS11_INC'.
En fonction de votre distribution Linux
, vous devriez déjà respecter la majorité de ces
prérequis. (Mais surement pas tous dans les distributions par défaut, j'en ai peur). Vous
devrez, bien sûr, les installer depuis les paquets de distribution ou des sources, comme vous
préférez. Les composants qui vont manqueront probablement sont les entêtes FUSE et RSA, ainsi
que les wxWidgets, si vous n'en avez pas eu besoin avant. Quelques conseils et notes rapides,
avant de procéder à une installation pas à pas:
Si vous téléchargez les paquets de distribution FUSE, souvenez vous de télécharger les paquets "fuse" ou "libfuse" et "libfuse-devel" pour votre distribution.
Considérez, également, que vous aurez besoin des sources du noyau si vous voulez compiler FUSE; le nom du paquet dans la plupart des distributions est kernel-devel.
Le fichier d'entête principal RSA (pkcs11.h) comporte des
commentaires dans le code source indiquant que certaines portions de
code doivent être dé-commentées avant l'utilisation; Ne faites pas
cela, car il n'y en a pas besoin. Le fichier Common/SecurityToken.h
contenu dans les sources de TrueCrypt possède toutes les lignes
#define nécessaires.
Si vous compilez une version NOGUI de TrueCrypt (c'est à dire, exécuter dans un environnement non graphique), comme nous allons effectuer dans cet article, notez que vous devrez quand même télécharger le code source de la librairie wxWidgets. L'installer ne sera, cependant, pas nécessaire.
Voici, donc, les instructions d'installation pas à pas. La seule
supposition, faite ici, est que les fichiers TrueCrypt 6.2a
Source.tar.gz
et wxX11-2.8.10.tar.gz
ont été placés dans le répertoire
/tmp
. Le site de TrueCrypt ne semble pas fournir de lien public direct
pour le téléchargement, et les codes source des librairies wx sont
hébergées chez Sourceforge, vous devrez donc télécharger ces fichiers à
l'aide de votre navigateur Internet. Les fichiers include de PCKS #11
seront téléchargés à l'aide de la commande wget. Enfin, toutes les
commandes ne nécessitent pas que vous soyez connecté en tant que root
,
mais, dans ces exemples, je me suis connecté en tant que
root
.
[root@w2 ~]#
[root@w2 ~]#
cd /tmp[root@w2 tmp]#
mkdir pkcs11[root@w2 tmp]#
cd pkcs11[root@w2 pkcs11]#
wget ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-11/v2-20/pkcs11.h[root@w2 pkcs11]#
wget ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-11/v2-20/pkcs11f.h[root@w2 pkcs11]#
wget ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-11/v2-20/pkcs11t.h[root@w2 pkcs11]#
cd ..[root@w2 tmp]#
tar xvfz wxX11-2.8.10.tar.gz[root@w2 tmp]#
tar xvfz "TrueCrypt 6.2a Source.tar.gz"[root@w2 tmp]#
cd truecrypt-6.2a-source/[root@w2 truecrypt-6.2a-source]#
export PKCS11_INC=/tmp/pkcs11[root@w2 truecrypt-6.2a-source]#
make NOGUI=1 WX_ROOT=/tmp/wxX11-2.8.10 wxbuild[root@w2 truecrypt-6.2a-source]#
make NOGUI=1 WXSTATIC=1[root@w2 truecrypt-6.2a-source]#
cd Main[root@w2 Main]#
./truecrypt --test[root@w2 Main]#
cp truecrypt /usr/local/bin/
Note: A la fin de l'exécution de TrueCrypt avec l'option --test
,
vous devriez obtenir Self-tests of all algorithms passed
. Les binaires
compilés de TrueCrypt doivent être copiés manuellement dans le répertoire
système, car le fichier Makefile
ne fournit pas de répertoire cible
d'installation.[3]
Maintenant, d'après la documentation, votre système Linux
doit
répondre à certaines exigences pour faire fonctionner TrueCrypt:
Kernel, incluant FUSE, outils de gestion des volumes logiques (device mapper), et modules de chiffrement
librairie FUSE (disponible sur http://fuse.sourceforge.net)
les outils de gestion des volumes logiques (disponibles sur http://sources.redhat.com/dm)
Comme il a été dit précédemment, vous devriez déjà avoir la plupart
de ces programmes avec une distribution « moderne » de Linux
. Par exemple,
FUSE peut avoir été installé lors du processus de compilation. Prenez en
compte que les noyaux récents de Linux comprennent déjà FUSE. Si votre
système ne contient pas tous les composants, suivez les liens fournis dans
la documentation officielle, ou cherchez sur Internet pour trouver les
paquets correspondants à votre distribution.
Cela fait, vérifiez que le module du noyau FUSE se charge; si il se charge correctement, c'est bon.
[root@w2 tmp]#
modprobe fuse
La documentation officielle concernant les options
de la ligne de commandes concernent seulement la version Windows
de
TrueCrypt. Aussi, avant de présenter un couple d'exemples sur
l'utilisation de ce logiciel, j'ai effectué un copier/coller ci-après de
ce que l'aide nous dit, si nous voulons savoir comment exécuter TrueCrypt
et que nous sommes sous Linux
ou MacOS
; Utilisons l'option -h
. C'est un
bon moyen d'avoir une idée de ce qu'un programme peut
faire.
[root@w2 tmp]#
truecrypt -h
Usage: truecrypt [--auto-mount <str>] [--backup-headers] [--background-task] [-C] [-c]
[--create-keyfile] [--delete-token-keyfiles] [-d] [--encryption <str>] [--explore]
[--filesystem <str>] [-f] [--fs-options <str>] [--hash <str>] [-h] [--import-token-keyfiles]
[-k <str>] [-l] [--list-token-keyfiles] [--load-preferences] [--mount] [-m <str>]
[--new-keyfiles <str>] [--new-password <str>] [--non-interactive] [-p <str>]
[--protect-hidden <str>] [--protection-keyfiles <str>] [--protection-password <str>]
[--random-source <str>] [--restore-headers] [--quick] [--size <str>] [--slot <str>]
[--test] [-t] [--token-lib <str>] [-v] [--version] [--volume-properties]
[--volume-type <str>] [Volume path] [Mount point]
--auto-mount=<str> Auto mount device-hosted/favorite volumes
--backup-headers Backup volume headers
--background-task Start Background Task
-C, --change Change password or keyfiles
-c, --create Create new volume
--create-keyfile Create new keyfile
--delete-token-keyfiles Delete security token keyfiles
-d, --dismount Dismount volume
--encryption=<str> Encryption algorithm
--explore Open explorer window for mounted volume
--filesystem=<str> Filesystem type
-f, --force Force mount/dismount/overwrite
--fs-options=<str> Filesystem mount options
--hash=<str> Hash algorithm
-h, --help Display detailed command line help
--import-token-keyfiles Import keyfiles to security token
-k, --keyfiles=<str> Keyfiles
-l, --list List mounted volumes
--list-token-keyfiles List security token keyfiles
--load-preferences Load user preferences
--mount Mount volume interactively
-m, --mount-options=<str> TrueCrypt volume mount options
--new-keyfiles=<str> New keyfiles
--new-password=<str> New password
--non-interactive Do not interact with user
-p, --password=<str> Password
--protect-hidden=<str> Protect hidden volume
--protection-keyfiles=<str> Keyfiles for protected hidden volume
--protection-password=<str> Password for protected hidden volume
--random-source=<str> Use file as source of random data
--restore-headers Restore volume headers
--quick Enable quick format
--size=<str> Size in bytes
--slot=<str> Volume slot number
--test Test internal algorithms
-t, --text Use text user interface
--token-lib=<str> Security token library
-v, --verbose Enable verbose output
--version Display version information
--volume-properties Display volume properties
--volume-type=<str> Volume type
A la suite de la liste des options de la ligne de commandes, des détails et quelques exemples simples d'utilisation sont affichés à l'écran. J'inclurai dans les sections suivantes un couple d'exemples standards, mais, avec les informations fournies, vous pouvez voir exactement comment ça fonctionne.
Nous allons, maintenant, créer des fichiers volume exemples puis les monter. Ces fichiers
sont chiffrés et déchiffrés "à la volée" lorsqu'ils sont montés. Vous pouvez les considérer
comme des fichiers .iso
en lecture/écriture, par exemple, mais sans utiliser la commande
mount; à la place, vous utiliserez les binaires TrueCrypt. Lorsque vous travaillez à
l'intérieur d'une partition "montée", le chiffrement (et déchiffrement, bien sûr) se font
automatiquement.
La première action que nous allons accomplir est la création d'un
fichier volume standard de 5 Mo. Notez que nous utiliserons l'option -t
,
qui signifie "Utiliser l'interface texte utilisateur", et l'option -c
pour "Créer un nouveau volume". Nous allons être guidés pour renseigner
toutes les informations nécessaires pour créer le volume. Nous pourrions,
comme prévu, utiliser d'autres options de ligne de commandes pour
déterminer certaines de ces informations, mais je pense que cela est plus
clair de cette façon.
[root@w2 tmp]#
[root@w2 tmp]#
mkdir tests[root@w2 tmp]#
cd tests/[root@w2 tests]#
[root@w2 tests]#
truecrypt -t -c Volume type: 1) Normal 2) Hidden Select [1]: 1 Enter volume path: /tmp/tests/file.tc Enter volume size (sizeK/size[M]/sizeG): 5M Encryption algorithm: 1) AES 2) Serpent 3) Twofish 4) AES-Twofish 5) AES-Twofish-Serpent 6) Serpent-AES 7) Serpent-Twofish-AES 8) Twofish-Serpent Select [1]: 1 Hash algorithm: 1) RIPEMD-160 2) SHA-512 3) Whirlpool Select [1]: 1 Filesystem: 1) FAT 2) None Select [1]: 1 Enter password: WARNING: Short passwords are easy to crack using brute force techniques! We recommend choosing a password consisting of more than 20 characters. Are you sure you want to use a short password? (y=Yes/n=No) [No]: y Re-enter password: Enter keyfile path [none]: Please type at least 320 randomly chosen characters and then press Enter: Characters remaining: 247 Characters remaining: 57 Done: 100,000% Speed: 782 KB/s Left: 0 s The TrueCrypt volume has been successfully created.[root@w2 tests]#
Nous pouvons voir que le fichier a été créé avec la taille souhaitée. (Le programme ajoute une entête, mais elle est relativement petite).
[root@w2 tests]#
ls -latotal 5208 drwxr-xr-x 2 root root 4096 jul 4 21:03 . drwxrwxrwt 9 root root 65536 jul 4 21:01 .. -rw------- 1 root root 5242880 jul 4 21:04 file.tc
[root@w2 tests]#
Maintenant que le fichier volume est créé, nous allons le monter et créer un fichier test à l'intérieur. Nous créerons d'abord un répertoire temporaire comme point de montage, pour effectuer ces essais.
[root@w2 tests]#
mkdir mount_point[root@w2 tests]#
truecrypt -t file.tc /tmp/tests/mount_point
A ce stade, vous pourriez obtenir un message d'avertissement:
Warning: Your system uses an old version of the Linux kernel.
Due to a bug in the Linux kernel, your system may stop responding when
writing data to a TrueCrypt volume. This problem can be solved by
upgrading the kernel to version 2.6.24 or later.
Si vous avez correctement installé FUSE et les composants requis, vous pouvez ignorer ce message, et le reste du processus de montage se poursuivra sans soucis.
Enter password for /tmp/tests/file.tc: Enter keyfile [none]: Protect hidden volume (if any)? (y=Yes/n=No) [No]:
[root@w2 tests]#
Créons, maintenant, le fichier de test puis démontons le volume.
L'option -d
de la ligne de commande démonte tous les volumes TrueCrypt
actuellement montés.
[root@w2 tests]#
ls file.tc mount_point[root@w2 tests]#
cd mount_point/[root@w2 mount_point]#
ls -latotal 20 drwx------ 2 root root 16384 ene 1 1970 . drwxr-xr-x 3 root root 4096 jul 4 22:32 ..
[root@w2 mount_point]#
cat > secret.txtThis is a secret test.
[root@w2 mount_point]#
cat secret.txtThis is a secret test.
[root@w2 mount_point]#
cd ..[root@w2 tests]#
truecrypt -d[root@w2 tests]#
ls mount_point[root@w2 tests]#
L'utilisation de fichiers
clés peut apporter une amélioration importante de la sécurité: Il
sera combiné avec le mot de passe pour le chiffrement et déchiffrement.
Aux fins de test, nous utiliserons un fichier compressé; la documentation
recommande ce type de fichier (mp3
, par exemple) ainsi que des fichiers
générés aléatoirement. Vous pouvez les considérer comme des clés privées.
Vous pouvez également utiliser des fichiers publics , mais c'est un secret
que vous ne devrez partager qu'avec les gens avec lesquels vous partagez
également le mot de passe. Il servira comme source de données
aléatoires.
[root@w2 tests]#
truecrypt -t -cVolume type: 1) Normal 2) Hidden Select [1]: 1 Enter volume path: volume2.tc Enter volume size (sizeK/size[M]/sizeG): 1M Encryption algorithm: 1) AES 2) Serpent 3) Twofish 4) AES-Twofish 5) AES-Twofish-Serpent 6) Serpent-AES 7) Serpent-Twofish-AES 8) Twofish-Serpent Select [1]: 1 Hash algorithm: 1) RIPEMD-160 2) SHA-512 3) Whirlpool Select [1]: 2 Filesystem: 1) FAT 2) None Select [1]: 1 Enter password: WARNING: Short passwords are easy to crack using brute force techniques! We recommend choosing a password consisting of more than 20 characters. Are you sure you want to use a short password? (y=Yes/n=No) [No]: y Re-enter password: Enter keyfile path [none]: ../fuse-2.7.4.tar.gz Enter keyfile path [finish]: Please type at least 320 randomly chosen characters and then press Enter: Characters remaining: 40 Done: 100,000% Speed: 267 KB/s Left: 0 s The TrueCrypt volume has been successfully created.
[root@w2 tests]#
Le montage a, également, été effectué de la façon attendue. En premier lieu, je ne vais pas spécifier de fichier clé, pour montrer comment le logiciel indique qu'il y a un problème. Notez que le mot de passe était correct.
[root@w2 tests]#
mkdir mount_point2[root@w2 tests]#
truecrypt -t volume2.tc mount_point2Enter password for /tmp/tests/volume2.tc: Enter keyfile [none]: Protect hidden volume (if any)? (y=Yes/n=No) [No]: Incorrect password or not a TrueCrypt volume. Enter password for /tmp/tests/volume2.tc: Protect hidden volume (if any)? (y=Yes/n=No) [No]: Incorrect password or not a TrueCrypt volume. [CTRL-C]
[root@w2 tests]#
[root@w2 tests]#
truecrypt -t volume2.tc mount_point2 Enter password for /tmp/tests/volume2.tc: Enter keyfile [none]: ../fuse-2.7.4.tar.gz Enter keyfile [finish]: Protect hidden volume (if any)? (y=Yes/n=No) [No]:[root@w2 tests]#
Comme vous pouvez le voir à travers ces exemples, utiliser TrueCrypt
avec la ligne de commandes n'est pas compliqué du tout. C'est un outil
puissant pour sécuriser rapidement des fichiers en utilisant une
cryptographie forte et les déplacer facilement. (Le fichier volume peut
être copié sur une clé USB, puis monté ensuite sur un système Windows
, par
exemple). Il fonctionne sous Linux
, il est bien documenté, il est libre et
vous avez accès à son code source. D'un point de vue cryptographie,
l'implémentation est robuste, moderne et basée sur des algorithmes bien
connus, la durée de vie du programme, et sa popularité, peut vous donner
une confiance certaine.
Statistiques TrueCrypt http://www.truecrypt.org/statistics
[1] Commentaires de Rick Moen: Une lecture approfondie de la version courante de la licence de la version 2.7 de TrueCrypt suggère, à mon avis, en tant que passionné des licences de logiciel, que la fondation TrueCrypt a réglé tous les problèmes cités par Red Hat Legal (relayés par Tom Calloway), les éditeurs de paquets d'Ubuntu, les développeurs de Debian et de Gentoo.
La page wiki de Fedora
citée prétend toujours
que la licence est propriétaire, mais ma conviction est que cela concerne une version
précédente, probablement la version 2.5.
La licence TrueCrypt n'est toujours pas approuvée par OSI (parce que il y a toujours une licence utilisateur unique, et plus encore elle n'a pas été proposée à la certification), mais sa dernière version apparait, néanmoins, totalement compatible avec la définition Open Source.
[2] Commentaires de Rick Moen: Ces analyses sont les meilleurs arguments pour AES/Rijndael, et les raisons pour lesquelles on mérite de s'y attarder. Ailleurs dans le domaine des logiciels, il est souvent dit que les nouveaux algorithmes sont meilleurs, et donc les nouveaux chiffreurs devraient être plus dignes de confiance. En cryptographie, c'est l'inverse. Les nouveaux chiffreurs, si impressionnantes que soient leurs spécifications et leurs conceptions, sont traités avec circonspection, le plus vieux le meilleur. Ainsi, dans la compétition qui a conduit au choix de Rijndael pour l'AES, Twofish, l'algorithme de Bruce Schneier semblait, superficiellement, avoir l'avantage sur son prédécesseur Blowfish -- mais, en fait Blowfish est le plus digne de confiance des deux, car il a beaucoup plus résisté à des attaques plus variées et plus longues par des experts en cryptographie, sans être cassé.
[3] Commentaires de René Pfeiffer: C'est une bonne pratique de
télécharger, décompresser et compiler en tant qu'utilisateur différent
de root
. Vous n'avez besoin des droits root
que pour installer un
logiciel. Sur chaque système, j'ai un user constructeur qui prépare
tout; root
ne fait que l'installation. faites attention au fait que
la majorité des fichiers Makefile
et des fichiers de configuration
sont constitués de code qui tournent sur votre machine. Personne n'est
parfait, et, si le script plante, les dommages seront moindres si vous
utilisez un user dédié, sans droits, pour la construction.
L'adaptation française de ce document a été réalisée dans le cadre du Projet de traduction de la Gazette Linux.
Vous pourrez lire d'autres articles traduits et en apprendre plus sur ce projet en visitant notre site : http://www.traduc.org/Gazette_Linux.
Si vous souhaitez apporter votre contribution, n'hésitez pas à nous rejoindre, nous serons heureux de vous accueillir.