- Chiffrer ses données, disques, fichiers sur Windows ou Ubuntu : le dossier
- VeraCrypt : Comment chiffrer le disque système avec sur Windows
- Comment protéger l’accès à un dossier par un mot de passe
- EFS : Chiffrer ses fichiers ou dossier sur Windows 7, 8.1 ou 10
- CryptoMator : chiffrer (crypter) son cloud Dropbox, OneDrive, Google Drive
- Quelles solutions pour chiffrer ses disques et données sur Linux
- Boxcryptor : chiffrer les fichiers du Cloud (OneDrive, Dropbox, Google Drive, …)
- Chiffrer un disque (bloc) et un système de fichiers : les différences
- Chiffrer son disque système à l’installation d’Ubuntu 22.04 LTS
- Chiffrer un disque ou clé USB sur Ubuntu 22.04 avec LUKS
Sur Windows, on connaît BitLocker pour chiffrer ses disques.
Mais quelles sont les solutions pour chiffrer ses disques, partitions ou fichiers personnelles sur Linux ?
En effet, on peut installer Ubuntu, Mint, Debian, Fedora ou tout autre distribution Linux sur un PC portable.
On peut aussi utiliser Linux sur des serveurs qui stockent des fichiers et données importants.
Il faut donc protéger et sécuriser l’accès à ces données.
On trouve alors beaucoup de solutions comme eCryptfs, VeraCrypt, LUKS/dm-crypt, PGP, eCryptFS, FSCrypt, etc.
Cet article vous donne la liste des projets libres et propriétaires ainsi que les différentes solutions techniques de chiffrements de données.
Table des matières
Les différents types de solutions de chiffrement de données sur Linux
Il existe énormément d’utilitaires, projets pour chiffrer les données et disques.
Chacun ne fonctionne pas au même niveau et ne permettent pas de chiffrer le même type de données.
Ainsi on distingue :
- Les solutions de chiffrement d’application comme DBMS, PGP, OpenSSL et Themis. Ces derniers chiffrent les flux de fichiers. L’application gère l’algorithme de chiffrement (AES, RSA) et l’utilisateur doit chiffrer l’accès au fichier.
- Le chiffrement du système de fichiers ou Filesystem-level encryption (FBE) comme eCryptfs, ext4 encryption, fscrypt pour Linux. C’est le système de fichiers qui chiffrent les données quelque soit le type d’application utilisée.
- Le chiffrement de disque ou par bloc comme LUKS/dm-crypt, BitLocker ou FileVault. C’est le niveau en dessous du système puisqu’il chiffre le disque au complet.
- Enfin le chiffrement matérielle comme SED ou OPAL
Le schéma ci-dessous reprend les différents de chiffrement.
Les différences entre ces types de chiffrement et lequel choisir sont abordés sur la page suivante :
Le noyau de Linux fournit des API de chiffrement (Linux Kernel Crypto API) qui permettent :
- Chiffrements symétriques
- Chiffrements AEAD
- Résumé du message, y compris le résumé du message à clé
- Génération de nombres aléatoires
- Interface de l’espace utilisateur
Certains solutions de chiffrement peuvent s’appuyer dessus pour chiffrer les données.
Quelles solutions pour chiffrer ses disques et données sur Linux
Sur Linux, les chiffrements utilisant le système de fichiers se combinent très bien au chiffrement de disque (par bloc).
Ainsi, vous pouvez très bien chiffrer un disque avec LUKS/dm-crypt puis chiffrer une partition ou des fichiers avec fscrpt ou eCryptfs.
fscrypt
fscrypt (précédemment nommé ext4 encryption)comme son nom l’indique est un chiffrement sur le système de fichiers.
Il utilise une API fournit par ext4 nommée fscrypt.
Différents répertoires peuvent utiliser différentes clés de chiffrement. Dans un répertoire chiffré, tous les contenus, noms de fichiers et liens symboliques des fichiers sont chiffrés.
Tous les sous-répertoires sont également chiffrés.
Enfin les métadonnées sans nom de fichier, telles que les horodatages, la taille et le nombre de fichiers et les attributs étendus, ne sont pas chiffrées.
Il faut donc utiliser fscrypt pour chiffrer des fichiers ou quelques répertoires.
Pour chiffrer un disque en entier, il faut plutôt se tourner vers dm-crypt ou eCryptfs.
eCryptfs
Comme son nom l’indique eCryptfs est une autre solution de chiffrement sur le système de fichiers.
Avec ce dernier, vous pouvez chiffrer des fichiers, répertoires très facilement.
Contrairement à fscrypt, eCryptfs chiffre aussi les métadonnées.
Toutes les métadonnées cryptographiques sont stockées dans les en-têtes des fichiers, de sorte que les données cryptées peuvent être facilement déplacées, stockées pour sauvegarde et récupérées.
Il y a d’autres avantages, mais il y a aussi des inconvénients, par exemple eCryptfs ne convient pas pour crypter des partitions complètes, ce qui signifie également que vous ne pouvez pas protéger l’espace d’échange avec lui.
ZFS
ZFS est un système de fichiers créé par Sun Microsystems devenu ensuite Oracle qui supporte le chiffrement intégré.
ZFS est licencié sous la licence commune de développement et de distribution (CDDL).
Certaines distributions Linux peuvent donc ne pas l’inclure par défaut et cela peut aussi poser polémique.
Les fonctionnalités de ZFS comprennent:
- stockage groupé (gestion de volume intégrée – zpool), copie sur écriture, instantanés
- vérification de l’intégrité des données et réparation automatique (nettoyage), RAID-Z
- une taille de fichier maximale de 16 exaoctets et un maximum de 256 quadrillions de zettaoctets stockage sans limite de nombre de systèmes de fichiers (jeux de données) ou de fichiers
LUKS/dm-crypt : le chiffrement de disque
dm-crypt est une solution de chiffrement de bloc utilisant les routines cryptographiques de l’API Crypto du noyau Linux.
Il peut être utilisé pour les types de chiffrement de périphérique par blocs suivants: LUKS (par défaut), simple et possède des fonctionnalités limitées pour les périphériques loopAES et Truecrypt (abandonné).
L’expansion la plus notable concerne l’extension LUKS (Linux Unified Key Setup), qui stocke toutes les informations de configuration nécessaires pour dm-crypt sur le disque lui-même et fait abstraction de la gestion des partitions et des clés dans le but d’améliorer la facilité d’utilisation.
Les périphériques accessibles via le mappeur de périphériques sont appelés périphériques de bloc.
Par exemple ci-dessous, un disque chiffré avec LUKS.
Le contenu déchiffré est accessible par une partition /dev/mapper/vgubuntu-root de type Block Device.
Il peut être configuré pour fournir une authentification de pré-démarrage via un initrd, chiffrant ainsi toutes les données sur un ordinateur – à l’exception du chargeur de démarrage, du noyau et de l’image initrd elle-même.
Au moins deux interfaces et commandes sont actuellement disponibles: cryptsetup et cryptmount.
- cryptsetup : Cryptsetup est l’outil de ligne de commande pour s’interfacer avec dm-crypt pour créer, accéder et gérer des périphériques chiffrés. Il permet de monter et monter un disque chiffré
- cryptmount permet à n’importe quel utilisateur de monter et de démonter un système de fichiers dm-crypt sans avoir besoin de privilèges de superutilisateur.
Au démarrage l’utilisateur doit saisir le mot de passe qui fait office de clé de déchiffrement.
La commande cryptsetup est alors utilisée pour monter le disque déchiffré.
Cela déverouille l’accès au disque chiffré.
Le chiffrement par défaut pour LUKS est aujourd’hui aes-xts-plain64, c’est-à-dire AES comme chiffrement et XTS comme mode de fonctionnement.
Se reporter à ces tutoriels :
- Chiffrer son disque système à l’installation d’Ubuntu 20.04 LTS
- Chiffrer un disque ou clé USB sur Ubuntu 20.04 avec LUKS
VeraCrypt
VeraCrypt est le successeur de TrueCrypt sous licence libre.
Il permet de créer un disque virtuel chiffré dans un fichier ou une partition. L’ensemble du dispositif de stockage demande une authentification avant de monter le disque virtuel.
VeraCrypt utilise le mode d’opération XTS.
Il permet notamment les types de chiffrements suivants :
- Crée un disque chiffré virtuel dans un fichier et le monte en tant que disque réel.
- Chiffrer une partition entière ou un périphérique de stockage tel qu’une clé USB ou un disque dur.
- Chiffrer une partition ou un lecteur sur lequel Windows est installé (authentification de pré-démarrage).
- Le chiffrement est automatique, en temps réel (à la volée) et transparent.
- La parallélisation et le pipelining permettent aux données d’être lues et écrites aussi rapidement que si le lecteur n’était pas chiffré.
- Le chiffrement peut être accéléré par le matériel sur les processeurs modernes.
- Fournit un déni plausible, au cas où un adversaire vous obligerait à révéler le mot de passe: volume caché (stéganographie) et système d’exploitation caché.
Enfin il supporte Microsoft Windows, macOS et Linux.
Le site propose plusieurs tutoriels autour de VeraCrypt :
- VeraCrypt : créer un conteneur chiffré pour protéger ses données sur Windows ou Ubuntu
- VeraCrypt : Chiffrer un disque sur Ubuntu 20.04 LTS
Comparatif des solutions de chiffrement de données pour Linux
Ce tableau récapitule les principales solutions de chiffrements de données.
Solutions de chiffrements | Type | Systèmes de fichiers supportés | Algorithme de chiffrement supporté | Compatibilité Windows | Licence |
Loop-AES | Par bloc / disque | AES | GPL | ||
dm-crypt/LUKS | Par bloc / disque | Tous les algorithmes supportés par le noyaux Linux | GPL | ||
VeraCrypt | Par bloc / disque | AES, Twofish, Serpent, Camellia, Kuznyechik | Apache License | ||
TrueCrypt | Par bloc / disque | AES, Twofish, Serpent | TrueCrypt License | ||
eCryptfs | Systèmes de fichiers | ext3, ext4, xfs (with caveats), jfs, nfs… | AES, Blowfish, Twofish | GPL | |
fscrypt | Systèmes de fichiers | ext4, F2FS, UBIFS | AES, ChaCha12 | GPL (kernel), Apache 2.0 (pour les outils utilisateurs) | |
ZFS | Systèmes de fichiers | ZFS | CDDL |
Pour un tableau plus complet, suivre ce lien.