Linux : Veracrypt en ligne de commande

I. Présentation de Veracrypt

VeraCrypt est un logiciel de chiffrement dit "On the fly encryption" (OTFE), que l'on peut traduire par du chiffrement à la volé ou transparente. Il faut entendre par là que l'on peut utiliser un volume ou un disque chiffré normalement, mais ce qui y sera stocké sera chiffré et non compréhensible par celui qui n'aura pas la clé adéquate. VeraCrypt est en réalité un Fork du célèbre TrueCrypt, qui a vu sa réputation mise à mal par un mystérieux abandon de ses développeurs.

Nombreux ont été les fork à la "mort" de TrueCrypt, VeraCrypt se présente aujourd'hui comme un projet sérieux et maintenu qui peut être utilisé de la même façon que l'était TrueCrypt.

Dans ce tutoriel, nous allons voir comment utiliser VeraCrypt en ligne de commande, sous Linux. Pour information, j'effectue ce tutoriel avec la version 1.0f-2 de VeraCrypt sur une machine sous Debian 8 "Jessie".

II. Installation de Veracrypt sous Linux

La première chose à faire est bien entendu d'installer VeraCrypt, sous Linux, même en ligne de commande, cela est assez simple. On va tout d'abord récupérer la dernière version du projet sur ce lien : http://sourceforge.net/projects/veracrypt/files/

Voici ce que l'on peut voir :

veracrypt-linux-ligne-command-03

Ici, la dernière version à l'heure où j'écris ce tutoriel est la version 1.0f-2. On peut le voir car elle se trouve la plus en haut et c'est la dernière version stable sortie.

Note : Lorsque l'on télécharge un outil, il est important de s'assurer d'utiliser la dernière version de celui-ci. Les mises à jour et upgrades de logiciels permettent bien souvent de corriger des vulnérabilités connues ou d'obtenir des fonctionnalités supplémentaires

On va donc télécharger cette version,

wget http://sourceforge.net/projects/veracrypt/files/VeraCrypt%201.0f-2/veracrypt-1.0f-2-setup.tar.bz2

On pourra alors décompresser l'archive récupérée avec la commande suivante :

tar xvjf veracrypt-1.0f-2-setup.tar.bz2

Une fois cela fait, voici ce que l'on pourra voir dans notre répertoire :

veracrypt-linux-ligne-command-02

Ici, on voit donc que l'on peut installer VeraCrypt en ligne de commande pour les processus 64 bits, 32 bits et la même chose en mode graphique. Comme je l'ai dit précédemment, sous Linux comme sous Windows, VeraCrypt peut être utilisé en mode graphique. Ce qui nous intéresse dans le cadre du tutoriel est l'installation et l'utilisation en mode ligne de commande. Il faut avant toute installation savoir quel type de processus vous avez, pour cela, vous pouvez saisir la commande suivante :

uname -r

Voici ce que j'ai pour ma machine virtuelle :

veracrypt-linux-ligne-command-04

Il s'agit donc d'une 32 bits. Si vous avez quelque chose comme "i486", "i586", "i686" ou "i386", vous êtes en 32 bits. Si vous voyez "x86_64", vous êtes en 64 bits.
Selon que vous soyez en 32 ou 64 bits, il faut choisir un installeur différent. Pour ma part, je choisi donc l'installeur 32 bits et l'exécute :

./veracrypt-1-0f-2-setup-console-x64

On va alors devoir sélectionner "1" pour installer VeraCrypt :

veracrypt-linux-ligne-command-01

On enchainera en acceptant les conditions d'utilisation. A la fin de l'installation, nous pourrons utiliser la commande "veracrypt".

III. Utilisation de VeraCrypt sous Linux

Maintenant que VeraCrypt est installé, nous allons pouvoir l'utiliser. Le principe de base étant le fait de créer un volume d'une taille définie qui sera chiffré. On devra donc monter ce volume pour le lire et y écrire des informations, puis on le refermera. Une fois fermé, il faudra saisir un mot de passe (et optionnellement avoir une clé) pour le déchiffrer et lire son contenu.
Dans cet exemple, nous allons prendre l'exemple le plus simple et construire un volume chiffré avec les spécifications suivantes :

  • Taille : 200 Mo
  • Chiffrement : AES - SHA512
  • Sécurisation par mot de passe seulement.

A. Créer un volume chiffré VeraCrypt

Pour créer un volume chiffré, il faut saisir la commande suivante :

veracrypt -t -c

Cela va lancer une suite d'option qui vont nous permettre de le configurer :

veracrypt-linux-ligne-command-05

Il nous est dans un premier temps demandé si le Volume sera un volume caché ou un volume "normal". Un volume caché est un volume chiffré caché dans un autre. Nous allons pour l'instant faire simple et saisir "1". On pourra ensuite saisir le chemin vers le volume à créer et par la même occasion son nom. Il est intéressant de savoir que l'extension n'importe pas dans notre cas. Cela signifie que votre volume chiffré pourra très bien s’appeler "Prise de note.odt", cela fonctionnera de la même façon et passera en plus totalement inaperçu aux personnes ne sachant pas qu'il s'agit d'un volume chiffré.

Il nous est dans un premier temps demandé l'algorithme de chiffrement que nous souhaitons utiliser. Pour rester simple, et parce que se lancer dans une comparaison de ces algorithmes ici serait un peu laborieux, nous allons garder la proposition par défaut qui est "AES" en saisissant "1".

veracrypt-linux-ligne-command-06

Ensuite, il nous sera demandé l'algorithme de hashage à utiliser, ici aussi, nous allons garder l'algorithme proposé qui est "SHA-512" et également le système de fichier. Si votre volume chiffré n'est destiné qu'à être utilisé sous Linux, vous pouvez sélectionner Ext3 ou Ext4. Si votre volume chiffré pourra être utilisé sous des machines Windows également (s'il se trouve sur une clé USB par exemple), choisissez plutôt FAT ou NTFS. Dans notre cas, nous allons choisir un système de fichier qui est utilisable facilement sous les deux OS : FAT.

Viens ensuite la partie mot de passe, ici, il est important de saisir un mot de passe robuste. L'exemple présenté en dessous montre qu'en aillant saisi un mot de passe faible (en dessous de 20 caractères selon VeraCrypt), VeraCrypt me prévient et me conseille d'utiliser un mot de passe plus robuste :

veracrypt-linux-ligne-command-07

Il est important de noter qu'il est également possible d'utiliser, en plus du mot de passe que nous venons de saisir, une clé "keyfile" qui sera ensuite requise pour déchiffrer le volume à son ouverture. Selon la criticité des données stockées, il peut être judicieux d'utiliser un mot de passe ET une keyfile pour sécuriser son volume, néanmoins, il faut être prudent et éviter de perdre le mot de passe ou la keyfile.

Pour terminer, et initialiser le chiffrement du volume, il va falloir générer de l'entropie en saisissant au moins 320 caractères de façon aléatoire sur son clavier.

L'entropie va permettre à VeraCrypt d'utiliser la saisie de données aléatoires pour sécuriser son chiffrement. De façon générale, l'entropie signifie "désorganisation" ou "désordre". Une fois que suffisamment d'entropie sera générée, le volume sera créé.

B. Monter un volume chiffré VeraCrypt

Maintenant que notre volume chiffré est généré, nous allons vouloir l'utiliser. Pour cela, il faut "l'ouvrir", ou plus exactement le monter sur un dossier vide existant. Nous allons ici partir du principe que notre répertoire /mnt est vide et inutilisé. Vous êtes libre d'en choisir un autre si besoin, cela importe peu. Nous allons ensuite monter notre volume chiffré dans ce répertoire /mnt avec la commande suivante :

 veracrypt /opt/volume1 /mnt

Pour faire simple on va préciser en premier argument notre volume chiffré et en deuxième argument notre dossier de destination sur lequel monter notre volume. Ensuite, il nous sera demandé le mot de passe permettant le déchiffrement du volume chiffré, et optionnellement la keyfile associée si vous en avez utilisé une à la création du volume. Pour aller plus vite, et si vous avez utilisé une keyfile, vous pouvez la spécifier directement dans la commande avec l'option "-k" :

 veracrypt -k keyfile /opt/volume1 /mnt

Une fois le volume chiffré monté, on pourra librement y accéder en allant, dans le cas présent, dans le dossier /mnt. Pour vérifier que le volume est bien monté, vous pouvez utiliser la commande "mount", qui vous renverra, entre autre, la sortie suivante :

veracrypt-linux-ligne-command-08

Le volume chiffré étant bien monté, on va maintenant pouvoir travailler librement pour lire et écrire des fichiers dans notre volume chiffré, et cela de façon totalement transparente.

A noter également qu'il est possible de monter un volume chiffré en read-only. Cela évitera par exemple que le contenu de votre volume chiffré soit altéré par une mauvaise manipulation par exemple. Pour cela, il faut utiliser la commande suivante :

 veracrypt -m ro /opt/volume1 /mnt

Avec l'option "-m ro", le volume sera monté de la même façon, mais il sera impossible d'écrire à l'intérieur.

C. Démonter un volume chiffré VeraCrypt

Une fois que nous avons fini de travailler sur notre volume chiffré, il est important de penser à le démonter du système de fichier actuel. Cela peut se faire avec la commande suivante, dans le cas où mon volume s’appelle "volume1" :

veracrypt -d volume1

Si plusieurs volumes sont utilisés et montés, il est possible de tous les démonter en même temps via la commande suivante :

veracrypt -d

Une fois qu'un volume est démonté du système de fichier, il devient impossible de comprendre ce qu'il y a à l'intérieur. En effet, bien que son contenu reste lisible (cela veut dire que vous pouvez toujours ouvrir le fichier "volume1" avec un notepad par exemple), tout ce qui est  à l'intérieur est chiffré, donc impossible à comprendre. C'est là tout l'intérêt d'utiliser un volume chiffré !

VI. Désinstaller VeraCrypt

Pour désinstaller VeraCrypt, rien de plus simple, une commande a été prévue à cet effet :

veracrypt-uninstall.sh

Sachez cependant que même si vous avez désinstallé VeraCrypt, les volumes chiffrés créés seront toujours présents, vous n'aurez juste plus l’outil pour les déchiffrer.

Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Mickael Dorigny

Co-fondateur d'IT-Connect.fr. Auditeur/Pentester chez Orange Cyberdéfense.

Nombre de posts de cet auteur : 526.Voir tous les posts

5 thoughts on “Linux : Veracrypt en ligne de commande

  • Eh oui sourceforge n’a plus la côte , les devs se sont ré-attribué des appli comme: VLC, Notepad++ et GIMP il me semble.

    Merci pour le lien git adm

    Répondre
  • Bonjour,

    lorsque le processeur est un CORTEX ARMV7 d’un Raspberry PI 2 (RPI2) :
    que faut-il choisir 32 bits ou 64 bits (ou x86 ou x64) pour installer VERACRYPT?

    Le code :
    $ uname -r

    me donne le résultat sur mon RPI2:
    4.1.17-v7+

    Dans l’attente de vous lire, cordialement.

    Répondre
    • Bonjour, je sais je viens après la bataille!! LOL, un raspberry pi possède un processeur à architecture ARM et non x86 donc soit tu prend la source pour architecture ARM soit tu prends le package (sur le site officiel) spécialement conçu pour le raspberry

      Répondre
  • peut-on utiliser VERACRYPT sous LINUX en fenêtre graphique comme sous WINDOWS? et non pas en commandes

    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.