VeraCrypt : comment chiffrer et cacher des fichiers, un disque dur externe ou une clef USB

Welcome to Trumpland 85
En bref
image dediée
Sécurité DOSSIER
Par
le mardi 14 février 2017 à 11:00
David Legrand

Nouvelle étape de notre grand dossier consacré au chiffrement. Aujourd'hui, nous avons décidé de nous intéresser à VeraCrypt, l'un des successeurs de TrueCrypt qui vous permettra aussi bien de chiffrer et de cacher quelques fichiers qu'un périphérique de stockage externe.

Suite à la fin de TrueCrypt intervenue courant 2014, de nombreuses alternatives ont vu le jour. La plupart avait alors fait le choix de rééexploiter le code source de cet outil qui permettait de protéger des données et des partitions via un chiffrement symétrique. Chaque équipe promettait d'assurer un suivi sur le long terme et des évolutions, mais deux ans plus tard, force est de constater que nombreuses sont celles qui ont abandonné.

VeraCrypt, un descendant audité et évolué de TrueCrypt

Parmi les « survivants », on compte VeraCrypt, un projet open source porté par le français Mounir Idrassi (voir notre interview) et financé en partie par des dons. Le développeur a réusssi à garder l'aspect multi-plateforme de l'outil tout en continuant à le renforcer et à l'améliorer.

En fin d'année dernière, un audit (PDF) commandé par l'OSTIF et mené par Quarkslab aboutissait à une série de corrections. Lorsque nous avons décidé de proposer une série de guides sur le chiffrement des données, via un outil libre qui ne dépendait d'aucun système en particulier, nous avons donc décidé de le faire à travers la version 1.19 de VeraCrypt.

Ces guides auront pour objectif d'expliquer comment l'utiliser pour :

Vous trouverez plus de détails sur les concepts développés par VeraCrypt, ses méthodes de chiffrement et son fonctionnement au sein de sa documentation, relativement complète. Une guide d'utilisation est aussi disponible (PDF). Nous nous attarderons sur le fonctionnement de l'interface graphique, mais sachez qu'il est possible d'utiliser VeraCrypt à travers la ligne de commandes.

Quelques concepts à connaître avant de commencer

Avant de commencer, évoquons quelques points qui seront utilisés tout au long de nos guides et sur lesquels nous ne reviendrons pas de manière systématique :

  • Les limites de VeraCrypt

Comme tout logiciel dédié à la sécurité et exploitant des procédures de chiffrement, VeraCrypt correspond à certains modèles de menace, mais ne protège pas de tout. Ainsi, l'équipe détaille dans sa documentation les éléments importants à prendre en compte, les mesures de sécurité à respecter ou même les limites de l'outil.

Tant de points qui sont importants à connaître pour assurer une véritable protection complète de vos données. Notez au passage qu'il est recommandé de faire attention à l'utilisation de périphériques de stockage à base de mémoire Flash lorsqu'ils utilisent la fonction TRIM ou le Wear-leveling.

  • Les éléments de sécurité

Pour assurer le chiffrement de conteneurs, disques et partitions, VeraCrypt permet d'utiliser trois éléments qui peuvent être combinés : un mot de passe, un ou plusieurs fichiers clef, un PIM (Personal Iterations Multiplier). Ce dernier correspond à une valeur prise en compte pour la dérivation de clef au niveau de l'en-tête du volume.

Le nombre par défaut peut être par celui de votre choix mais attention : plus il sera élevé, plus le temps nécessaire pour monter votre volume sera important. Cela peut néanmoins permettre de renforcer une phrase de passe un peu faible. Il est conseillé par l'équipe de VeraCrypt d'utiliser une phrase de passe d'au moins 20 caractères (voir notre guide pratique).

Les fichiers clefs peuvent être n'importe quels fichiers de votre choix (texte, vidéos, photos, etc.), mais attention, les premiers 1024 kilobytes ne devront jamais être modifiés (pensez donc à bien les sauvegarder). Il peut aussi s'agir de fichiers contenant des données aléatoires générés par VeraCrypt. Dans ce cas, ils peuvent être stockés sur une smart card pour peu qu'elle gère le standard PKCS #11. Cette possibilité fera l'objet d'un article séparé.

VeraCrypt ConteneurVeraCrypt Fichiers clef

  • Partitions cachées et déni plausible

VeraCrypt propose de « cacher » les volumes chiffrés qu'il génère. Dans la pratique, il s'agit de placer un élément protégé dans un autre, de plus grande taille mais de manière invisible (à moins d'une analyse complète du disque). La seule manière d'accéder à l'un ou à l'autre étant les éléments de sécurité utilisés, ce qui constitue une sorte de tiroir à double fond pour vos données. Un concept connu sous le nom de déni plausible.

Pour créer un conteneur caché, deux possibilités : le faire au sein d'un conteneur VeraCrypt déjà existant (mode direct) ou suivre une procédure entièrement automatisée (mode normal). Dans ce second cas, l'application vous guidera dans la création du conteneur principal puis du conteneur caché.

Pour rappel, le second devra forcément être de plus petite taille. On peut ainsi placer des fichiers dans le conteneur principal qui peuvent paraitre crédible, puis les données que l'on veut protéger dans le conteneur caché. 

VeraCrypt Partition cachée

  • Peut-on stocker un conteneur chiffré dans le « cloud » ?

La plupart du temps, il n'est pas conseillé de stocker des conteneurs tels que ceux générés par VeraCrypt dans des services de stockage en ligne et d'utiliser plutôt des outils tels que BoxCryptor ou Cryptomator qui sont prévus à cet effet et chiffrent les données fichier par fichier.

Les conteneurs VeraCrypt prennent en effet la forme d'un fichier unique et la modification du moindre élément implique le besoin d'un nouvel upload complet. Ce n'est néanmoins pas le cas avec certains services qui proposent la synchronisation différentielle et analysent l'évolution des fichiers dans le détail. Ainsi, ils n'envoient que les différences relevées. C'est notamment le cas de Dropbox.

Téléchargement et installation

La procédure d'installation de VeraCrypt est relativement simple. Il suffit en effet de télécharger un fichier et de le lancer. Sous macOS, il faudra aussi disposer de FUSE 2.5 au minimum pour que l'application fonctionne. Outre un package général pour Linux, une version spécifique à Raspbian (Raspberry Pi ARMv7) est disponible.

L'interface de l'application est en anglais, mais il est possible d'utiliser des packs de langues (sous Windows uniquement), dont le français. Pour cela rendez-vous dans le menu Settings puis Language... Pour nos essais, nous resterons sur une interface en anglais puisqu'elle est disponible dans l'ensemble des OS.

Pour vérifier la validité du fichier téléchargé utilisez les empreintes SHA256/SHA512 (via un outil comme RapidCRC sous Windows) ou la signature en ajoutant la clef publique d'IDRIX (voir notre guide) : 

https://www.idrix.fr/VeraCrypt/VeraCrypt_PGP_public_key.asc
(ID=0x54DDD393, Fingerprint=993B7D7E8E413809828F0F29EB559C7C54DDD393)

Sous Linux l'archive téléchargée devra être décompressée. La méthode d'installation sera à choisir parmi les quatre fichiers qui seront à votre disposition (console ou interface graphique, 32 ou 64 bits) :

$ tar -xjvf veracrypt-1.19-setup.tar.bz2
veracrypt-1.19-setup-console-x64
veracrypt-1.19-setup-console-x86
veracrypt-1.19-setup-gui-x64
veracrypt-1.19-setup-gui-x86

$ ./veracrypt-1.19-setup-gui-x64
Verifying archive integrity... 100% All good.
Uncompressing VeraCrypt 1.19 Installer 100%

Pour désinstaller l'application, il suffira de lancer veracrypt-uninstall.sh.

Créer un conteneur chiffré

Passons maintenant à la pratique avec un premier élément assez simple : la création d'un conteneur. Ici, il s'agit de protéger des fichiers et des répertoires qui seront placés dans un fichier, un peu comme lorsque l'on compresse des données avec un mot de passe avec des outils tels que 7-Zip, WinRAR ou WinZip. La différence ici, c'est qu'il sera possible de « monter » ce fichier qui apparaîtra alors comme un lecteur physique. Il sera donc utilisable comme tel.

Pour procéder cliquez sur Create Volume puis Create an encrypted file container. Dans un premier temps nous opterons pour un volume standard. Sélectionnez ensuite un nom de fichier à créer et indiquez si vous voulez l'enregistrer dans l'historique ou non. Notez qu'il est possible d'utiliser n'importe quel nom de fichier et n'importe quelle extension. Cela permet de le rendre plus « discret » :

VeraCrypt ConteneurVeraCrypt Conteneur

Il faudra ensuite choisir parmi les algorithmes de chiffrement et de hash (ils sont détaillés ici et ). Notez que dans le cas des algorithmes de chiffrement, il est tout à fait possible d'en cumuler plusieurs, jusqu'à un maximum de trois. Ce sera le cas si Serpent(Twofish(AES)) est sélectionné par exemple.

Un outil de mesure des performances est proposé au sein de l'application afin de s'assurer que le matériel ne sera pas une source de limitation. Notez que le chiffrement AES est de plus en plus souvent accéléré materiellement au niveau du processeur (AES-NI). Cette accélération est désactivable dans les paramètres : Settings > Performance/Driver configuration.

Il faudra ensuite choisir la taille du conteneur, ce qui représente l'espace qui sera disponible une fois qu'il sera monté, puis les éléments de sécurité qui permettront d'assurer le chiffrement/déchiffrement :

VeraCrypt ConteneurVeraCrypt Conteneur

VeraCrypt demandera s'il est prévu de stocker des fichiers de plus de 4 Go, ce qui changera simplement le système de fichiers sélectionné par défaut pour le formatage. Il sera de toute façon possible de le modifier dans la fenêtre suivante, avec d'autres paramètres comme la taille des clusters ou le fait que le volume soit dynamique ou non.

Sous Linux, il sera demandé si l'on compte utiliser le volume avec d'autres OS. Dans le cas d'un volume dynamique, sa taille ne pourra pas aller au-delà de celle sélectionnée précédemment, mais l'espace occupé dépendra de celle des fichiers et répertoires qui se trouvent au sein du conteneur.

Il faudra ensuite bouger la souris au sein de la fenêtre pour générer assez de données aléatoires pour assurer une entropie suffisante pour les clefs de chiffrement. On pourra alors passer au formatage :

VeraCrypt ConteneurVeraCrypt Conteneur

Une fois cette phase terminée il sera temps de quitter la procédure de création. L'interface principale permettra alors de sélectionner une lettre de lecteur disponible, votre fichier (Select File...) puis de le monter. Ici, il faudra entrer les différents éléments de sécurité (mot de passe, fichiers clef, PIM). Des options complémentaires permettront d'opter pour la mise en place d'un lecteur accessible uniquement en lecture, vu comme un périphérique externe, etc.

Un lecteur physique apparaîtra alors dans le gestionnaire de fichiers. On pourra y créer, supprimer ou déplacer des éléments comme s'il s'agissait d'un périphérique de stockage. Une fois que l'accès n'est plus nécessaire, il suffit de le démonter. Le conteneur sera alors vu comme un fichier lambda, de la taille définie lors de sa création.

VeraCrypt ConteneurVeraCrypt Conteneur 

Si jamais vous préférez créer un conteneur caché, deux possibilités existent : via une procédure simplifiée (mode normal) ou dans une conteneur VeraCrypt déjà existant (mode direct). Dans le premier cas, un assistant permettra de créer un conteneur « externe » dans lequel on pourra placer des fichiers qui semblent sensibles, sans l'être réellement. 

Il invitera ensuite à créer le second conteneur d'une taille inférieure, dans lequel on pourra placer les fichiers que l'on souhaite réellement protéger. Pour accéder à l'un ou l'autre de ces conteneurs, il suffira d'utiliserez des éléments de sécurité différents lors du montage.

Chiffrer une partition/un disque non système

Passons à l'étape suivante : le chiffrement d'une partition ou d'un disque entier qui ne contient pas de système d'exploitation. Cette procédure est idéale pour protéger un périphérique de stockage comme une clef USB ou un disque dur externe. Pour nos essais, nous utilisons un disque dur USB 3.0 de 500 Go.

Une fois connecté, lancez la procédure de création de volume. Cette fois, sélectionnez Encrypt a non-system partition/drive. On aura là encore la possibilité de créer un volume normal ou caché. Nous commencerons par la première solution. 

Veracrypt Partition non systèmeVeracrypt Partition non système

Sélectionnez alors un périphérique ou une partition. Pour chiffrer un disque entier, celui-ci ne devra contenir aucune partition. Sous Linux, GParted est en général installé et permet d'effectuer une telle modification. Sous macOS l'Utilitaire de disque permettra de le faire alors que sous Windows il faudra utiliser l'outil Gestion des disques (clic droit sur le menu Démarrer > Gestion du disque).

Attention tout de même, certains systèmes auront tendance à vouloir initialiser des disques chiffrés de cette manière et pourront corrompre vos données. Pour l'éviter, optez pour le chiffrement d'une partition unique. 

Une fois le disque ou la partition sélectionné, il faudra choisir entre remplacer les données actuellement stockées et le chiffrement de données déjà existantes. Dans ce second cas, pensez à disposer d'une sauvegarde en cas de souci.

Choisissez ensuite les algorithmes de chiffrement/hash, les éléments de sécurité, puis passez à la collecte de données aléatoire pour renforcer l'entropie. Le chiffrement sera alors mis en place. Veillez à ne pas utiliser le formatage rapide si possible, afin de préserver la sécurité de la procédure.

Si vous avez opté pour un chiffrement de données existantes, le choix d'une méthode de nettoyage pouvant aller jusqu'à 35 passes sera nécessaire. Ici, il s'agit de s'assurer que les données précédemment présentes sur le disque ne sont plus lisibles. Cela peut demander jusqu'à plusieurs heures/jours selon les cas et dépendra de l'espace à traiter, des performances du périphérique et des paramètres sélectionnés.

Il sera néanmoins possible de marquer une pause ou d'interrompre la procédure (Defer). On pourra ensuite la reprendre via le menu Volumes > Resume interrupted process.

Veracrypt Partition non systèmeVeracrypt Partition non système

Une fois cette phase terminée il faudra quitter la procédure de création. L'interface principale permettra alors de sélectionner une lettre de lecteur disponible, votre périphérique (Select Device...) puis le monter. Ici il faudra entrer les différents éléments de sécurité (mot de passe, fichiers clef, PIM). Des options complémentaires permettront d'opter pour la mise en place d'un lecteur accessible uniquement en lecture, vu comme un périphérique externe, etc.

Un lecteur physique apparaîtra alors dans le gestionnaire de fichiers. On pourra y créer, supprimer ou déplacer des éléments comme s'il s'agissait d'un périphérique de stockage. Une fois que l'accès n'est plus nécessaire, il suffit de le démonter. Le périphérique sera alors vu comme contenant une partition non lisible (RAW) :

Partition RAW VeraCrypt

Là encore, si l'on veut créer une partition cachée, deux possibilités : via une procédure simplifiée (mode normal) ou dans une conteneur VeraCrypt déjà existant (mode direct). Dans le premier cas, un assistant permettra de créer un conteneur « externe » dans lequel on pourra placer des fichiers qui semblent sensibles, sans l'être réellement. 

Il invitera ensuite à créer le second conteneur d'une taille inférieure, dans lequel on pourra placer les fichiers que l'on souhaite réellement protéger. Pour accéder à l'un ou l'autre de ces conteneurs, il suffira d'utiliserez des éléments de sécurité différents lors du montage.

Vous pouvez maintenant utiliser votre machine comme bon vous semble et découvrir les nombreuses options de VeraCrypt. L'outil est en effet relativement complet, et permet d'aller bien plus loin que nos guides. N'hésitez d'ailleurs pas à partager vos astuces dans nos commentaires ou à poser vos questions au sein de nos forums.

Retrouvez notre dossier Chiffrement, clefs de sécurité et cryptobidules :


chargement
Chargement des commentaires...