guest@6admin.io:~$

EncFS : le chiffrement de fichiers sans partition dédiée

Chiffrer ses données sur Linux a toujours signifié LUKS, dm-crypt, une partition dédiée, une réinstallation. EncFS casse ce schéma: c’est un filesystem FUSE qui chiffre fichier par fichier, dans un répertoire normal, sans partition dédiée, sans réinstaller et sans droit root après le premier montage.

Le principe

EncFS crée deux répertoires: le cipher (les fichiers chiffrés, avec des noms chiffrés aussi) et le plain (le point de montage, où les fichiers apparaissent en clair). Tout ce que vous écrivez dans le plain est chiffré à la volée et stocké dans le cipher. Tout ce que vous lisez dans le plain est déchiffré à la volée depuis le cipher. Démontez le plain et il ne reste que le cipher: des noms illisibles, du contenu chiffré.

L’installation

apt-get install encfs

FUSE est un prérequis (encfs est un client FUSE, il tourne en userspace, pas dans le kernel). C’est pour ça que ça marche sans root: le montage est un mount FUSE, pas un mount kernel.

La création

encfs ~/.cipher ~/.plain
# Répondre aux questions (paranoid mode = AES-256, taille de bloc 1024)
# Entrer une passphrase

Le mode parano est le plus sécurisé: AES-256, IV dérivé du nom de fichier (les deux fichiers avec le même contenu ne produisent pas le même chiffrement), taille de bloc réduite pour éviter les fuites par taille de fichier.

Le montage

encfs ~/.cipher ~/.plain
# Entrer la passphrase
# Les fichiers apparaissent dans ~/.plain en clair

Et pour démonter:

fusermount -u ~/.plain

Le contenu de ~/.cipher reste chiffré. Un ls ~/.cipher montre des noms illisibles du type Xk3jHf9sL2m,4NpQ.

Ce que ça sert

Trois cas que j’ai rencontrés cette année:

  1. La clé USB chiffrée: le portknocking lit les fonctions kssh/kscp depuis une clé USB montée en encfs (le smount dans le .bashrc). La clé contient les fonctions, la passphrase n’est demandée qu’au montage et si la clé est perdue, la combinaison de ports n’est pas compromise.
  2. Les données d’un serveur partagé: un répertoire chiffré dans un home partagé, sans demander à l’admin de créer une partition LUKS.
  3. Le backup chiffré: un rsync vers un répertoire encfs et le backup distant ne contient que du chiffré.

Ce que ça ne fait pas

EncFS ne chiffre pas le swap, ne chiffre pas les fichiers temporaires de vos applications (tmp/) et ne protège pas contre un keylogger pendant que le plain est monté. C’est du chiffrement au repos, pas du chiffrement en cours d’utilisation.

EncFS est aussi vulnérable à l’analyse de métadonnées: le nombre de fichiers, leur taille, les timestamps du cipher, tout ça est visible sans la passphrase. Le mode parano réduit la fuite (blocs de taille fixe), mais le nombre de fichiers reste visible.

[edit: 2026] EncFS a été audité par Taylor Hornby (Defuse Security) en 2014 et des vulnérabilités ont été identifiées. Le projet est en mode maintenance et les alternatives modernes sont gocryptfs (Go, plus rapide, audit sûr) et fscrypt (kernel natif). Le principe du chiffrement sans partition reste valable, mais EncFS a été remplacé dans la pratique.