Clé USB encryptée avec Ubuntu: utilisation simplifiée de LUKS

Ma problématique

Avoir une partition chiffrée sur ma clé USB, pour y stocker et transporter des informations personnelles ou données sensibles à mon goût (travail, clients, projets, etc…)
– que cela soit utilisable le plus simplement possible avec Linux (Ubuntu Linux dans mon cas)
– que cela soit le plus naturel et standard possible pour Linux = pas de technologie propriétaire
le multi-plateforme je m’en fous, c’est tout Linux chez moi, donc pas besoin de TrueCrypt (qui de toute façon est mort et compromis). Pragmatisme: du temps où j’utilisais TrueCrypt, je n’ai monté ma clé qu’une seule fois en plusieurs années sur un Windows… donc au pire j’utiliserai un LiveUSB ou liveCD Ubuntu si je dois accéder à la partition chiffrée de ma clé sur une machine avec Windows.

Sur mes ordinateurs j’utilise de temps en temps encfs, accompagné de l’interface graphique Gnome Encfs Manager, c’est pratique pour monter à la demande des dossiers chiffrés, mais pas assez adapté à mon usage sur media amovible.

Et je suis tombé sur cet article « Create an encrypted password protected USB pen drive » qui décrit une méthode simple et rapide utilisant LUKS (Linux Unified Key Setup), et qui semble répondre à mes attentes.

Donc je vais vous en faire une version FR, un peu plus approfondie, et avec captures d’écran.

clefusb3_mini
La petite clé USB en question, accompagnée de son porte-clé SIMCA 🙂

1. Créer les partitions

Bon tout d’abord ma clé étant de 32Go, j’ai décidé de réserver 8Go pour la partition cryptée et le reste en FAT32 des familles (lisible partout) pour les fichiers courants, de masse et surtout sans intérêt sensible (car je ne vois pas bien l’intérêt d’encrypter ma version 4K de Big Buck Bunny…)

Un petit coup avec GParted pour créer deux partitions, l’une de 8Go formatée en EXT4, l’autre disposant du reste de l’espace formatée en FAT32
gparted-2-partitions_mini
Voilà c’est fait en 2 minutes.
Note/ajout: en fait je recommande plutôt de mettre la partition FAT32 en première position, car bien souvent Windows ne reconnaît qu’une seule partition sur les clés USB et c’est la 1ere. (voir en bas d’article l’adaptation faite pour utilisation en mode LiveUSB)

L’utilitaire disque d’Ubuntu, c’est là que ça se passe!

L’utilitaire disque par défaut d’Ubuntu n’est autre que gnome-disk-utility qui peut s’appeler autrement selon les version d’Ubuntu. Pour les utilisateur de Xubuntu, Lubuntu, etc… sudo apt-get install gnome-disk-utility si vous ne l’avez pas.
Facile à trouver et à lancer!
lancer-disque_mini

Une fois dans « Disques » (heu oui c’est le nom en Français pour Ubuntu de cet utilitaire… on se croirait sur Mac…bref…), -> choisir dans le panneau de gauche la clé USB en question, puis cliquez pour sélectionner la partition à chiffrer dans le panneau de droite, et cliquez sur la petite roue d’engrenage afin de choisir l’option « formater » dans le menu.
gnome-disk1_mini

Là un choix de partitionnement est proposé, certes beaucoup plus restreint qu’avec GParted, mais celui qui nous intéresse est ici: choisir « Chiffré, compatible avec les systèmes Linux (LUKS + Ext4) »
gnome-disk-choose-luks

Puis choisir un bon mot de passe (et dont vous vous rappellerez). Vous pouvez donner un nom à cette partition (c’est plus pratique à l’usage), et pas besoin d’écraser les données car la partition est neuve.
gnome-disk-luks-password_mini

Une petite confirmation et zou! C’est lancé!
gnome-disk-confirm_mini

Le système de fichier chiffré se crée…
gnome-disk-create-luks-fs_mini

La partition ext4 est crée, avec sa couche de chiffrement LUKS.
La partition LUKS a un petit cadenas pour son statut verrouillé/déverrouillé que vous pouvez changer d’un simple clic. (note elle est déverrouillée à la création, aussi elle est utilisable immédiatement).
gnome-disk-luks-created_mini
Bon c’est plein d’images dans ce tuto, mais en fait tout cela dure à peine quelques minutes.

Utilisation comme média amovible

Tout cela c’est bien, mais c’est encore plus simple à l’utilisation!

Lorsque vous branchez la clé sur votre ordinateur, le système reconnaît qu’il s’agit d’une partition LUKS et il vous demande le mot de passe pour la déverrouiller. Une fois le « sésame ouvre-toi » saisi, la partition est alors montée et utilisable 🙂

luks-gnome-password

Pas besoin d’étape pour re-vérouiller la partition, il suffit de la démonter/éjecter comme à l’habitude et le système se charge de cela.
C’est vraiment super pratique d’utilisation: brancher la clé sur l’ordi, saisir le mot de passe et hop c’est bon, rien d’autre à faire.
Note: LUKS/cryptsetup/dm-crypt est présent dans la plus part des distributions Linux (noyau Linux versions 2.6 et +)

Note sur le stockage du mot de passe et la sécurité

Lors de la demande de saisie du mot de passe, le système vous demande si vous souhaitez vous souvenir du mot de passe. Sachez que dans ce cas le mot de passe sera stocké sur votre ordinateur, dans le trousseau de clé (normalement protégé par votre mot de passe utilisateur du système).
Donc à vous de voir: c’est super pratique car la partition cryptée se monte et se déverrouille toute seule lorsque vous branchez la clé (sans rien à faire), mais le risque est que si quelqu’un connaît votre mot de passe système ou tout simplement accède à votre ordinateur alors que votre session est ouverte il pourra accéder au contenu chiffré de la clé juste en la branchant!
Donc évaluez bien le niveau de sécurité que vous souhaitez adopter.

LUKS ne dissimule pas sa caractéristique de partition chiffrée, donc si vous vous faites alpaguer par la mafia russe, les chinois du FBI ou notre bonne gendarmerie nationale, inutile de leur faire croire qu’il n’y a rien sur cette partition: elle est clairement annoncée comme cryptée!

Les captures d’écran et le tuto ont été fait sur Ubuntu 14.04, mais j’ai réalisé la même procédure sur mon autre ordi avec Ubuntu 12.04 dans les mêmes conditions. Et j’utilise la clé USB de l’un à l’autre.

Du coup je réfléchi à adopter la même procédure pour du stockage plus massif sur un disque dur externe, car cette méthode me semble vraiment très pratique.



Utilisation avec un système en LiveUSB

J’ai fait quelques modifications à ma clé et son partitionnement. Avec comme suit:
– Partition 1: FAT32 pour du stockage au tout-venant et multi-plateforme.
– Partition 2: un OS Linux en LiveUSB (c’est un peu comme le LiveCD mais sur clé USB), ici la distro CrunchBang installée avec UNetbootin (qui est dans les dépôts Canonical).
– Partition 3: ma partition cryptée avec LUKS
partitions-clef_mini

Ainsi, si je suis sans ordinateur et que je dois utiliser celui de quelqu’un d’autre, alors je peux toujours booter sur mon système Live pour accéder à ma partition chiffrée. La solution tout-terrain! 🙂

crunchbanglive_mini
Ouverture de la partition chiffré sous CrunchBang Live.

8 thoughts on “Clé USB encryptée avec Ubuntu: utilisation simplifiée de LUKS”

  1. tof says:

    Hop mon disque externe de 1To qui me sert pour mes sauvegardes est lui aussi passé au chiffrage avec LUKS via la même méthode. Avec tout le disque chiffré d’un seul tenant sur une seule partition.

    Petite protection supplémentaire: sauvegarder l’entête de la partition chiffrée. Elle est localisée au début du disque, et si celle si venait à être endommagée (ne serait-ce que d’un bloc ou un secteur défectueux), alors toute la partition serait entièrement indéchiffrable (= perte totale des données).

    (info récupérée sur ce blog: http://blog.rom1v.com/2014/07/chiffrer-un-disque-dur-externe-ou-une-cle-usb-avec-luks/ )
    Export des entêtes:
    cryptsetup luksHeaderBackup /dev/XXX –header-backup-file fichier

    ce qui donne pour ma partition localisée sur /dev/sdb1:
    sudo cryptsetup luksHeaderBackup /dev/sdb1 --header-backup-file /home/krz/entete_luks_HHD1O

    Et je vais mettre ce fichier qui pèse 1Mo bien au chaud, juste au cas où… 😉 Et si un jour un problème survient il sera possible de restaurer les entêtes via la commande « cryptsetup luksHeaderRestore »

  2. 3fred1 says:

    Bonsoir,
    Je viens de suivre avec succès votre tuto pour chiffrer un disque dur externe et une clé usb.
    Mais par contre je n’arrive pas à avoir l’entête avec la ligne de commande que vous avez donné en commentaire.
    Voici ma demande d’aide : https://forum.ubuntu-fr.org/viewtopic.php?id=1884831
    Pourriez-vous me détailler comment faire pour avoir l’entête ? Ou me détailler la commande étape par étape comme vous avez fait avec ce tuto sur le chiffrement ? Merci.

    P.S : je suis débutant ;).

  3. lagine says:

    Je voudrais savoir si l’on peut crypter une clé USB et protéger les fichiers sous Windows. Je découvre un logiciel de cryptage gratuit mais je ne suis pas certain s’il fonctionne bien. Après l’essai, il semble qu’il peut associer un mot de passe à un fichier. En plus, il fonctionne sous Windows 10. http://www.reneelab.fr/cle-usb-protegee-en-ecriture.html

  4. tof says:

    @lagine Très franchement je n’accorderai aucun crédit à un système de chiffrement propriétaire!

    1. rien n’est assuré que le cryptage ne soit pas contournable ou cassable, à part la bonne parole du créateur du logiciel
    2. les lois de certains pays (ex: USA) imposent aux éditeurs de mettre des portes dérobées (backdoor) pour permettre l’accès aux données cryptées par les services gouvernementaux. C’est le fort soupçon qui pèse sur BitLocker de Microsoft.

    Pour Windows en Open-Source, il existe CipherShed (https://www.ciphershed.org/), un successeur de TrueCrypt. A l’époque où j’utilisais encore Windows (hum… il y a plus de 8 ans de cela), j’utilisais TrueCrypt pour chiffrer ma clef USB, c’était assez simple et pratique à l’usage.
    Il y a aussi LibreCrypt (https://github.com/t-d-k/LibreCrypt), qui utilise le système de chiffrement LUKS décrit dans cet article.

    (note: je n’ai pas testé ces logiciels, car je n’utilise plus Windows)

  5. Patrice says:

    Bonjour, super tuto. Pour info, quel est le thème gtk sur les captures d’ubuntu ?

    merci

    Patrice

  6. tof says:

    Salut Patrice,

    C’est le thème Vertex, dans sa variante « light »
    https://www.gnome-look.org/content/show.php/Vertex+-+Theme?content=166318
    https://github.com/horst3180/vertex-theme

    Pour le pack d’icônes, je ne sais plus car je suis passé à Numix circle par la suite: https://github.com/numixproject/numix-icon-theme-circle

  7. Anxious Cat says:

    Bonjour,

    J’ai suivi votre tuto pour configurer mon disque externe dse la façon suivante : création d’une partition de stockage non chiffrée (ext4 et non ntfs car je n’utilise plus windows chez moi depuis longtemps et que je préférerai lancer mon usb live plutôt que de faire mes manips sous windows), une partition usb live (fat32)et une partition chiffrée (ext4 ) avec « Disque ». le tout partitionné avec Gparted. Après de fastidieuses tentatives, je suis parvenu à configurer chacune des partitions de mon disque dur externe. Cependant, lorsque je lance la démo d’ubuntu à partir du usb live, je ne peux plus accéder à ma partition chiffrer. Même avec le mot de passe, la permission m’est refusée…
    J’utilise Ubuntu studio.
    Faut-il que je mette à jour mon usb live et que je sauvegarde les modifications sur l’espace dédié pour avoir accès à ma partition chiffrée?

    Merci d’avance et merci pour ce Tuto fort instructif!

  8. tof says:

    @Anxious Cat, à mon avis il doit s’agir d’une question de droits d’écriture sur la partition ext4 incluse dans le chiffrage LUKS.

    Je pense que ce n’est pas dû à LUKS (et son chiffrement) mais tout simplement à la propriété même des partitions EXT.
    C’est le même cas, je pense, que si vous formatiez une partition ext4 toute simple sur une clef USB, et si vous l’insérez dans un autre système : la partition sera montée normalement mais les droits en écriture seront affectés uniquement à l’utilisateur qui a créé la partition. Ce qui est un peu un problématique lorsque l’on ballade sa clé USB entre différentes machines et donc différents users…
    Il faut donc donner les droits à tout le monde sur cette partition « transportable ».

    Dans votre cas il vous faut d’abord déchiffrer la partition (avec le mot de passe) pour la monter dans votre système de fichier , et ensuite changer les droits en écriture de cette partition…
    La solution simple: repérer le chemin de montage et via un terminal utiliser la commande chmod (changer les droits d’accès) en utilisant votre chemin de partition.
    Astuce: si Nautilus vous ouvre le dossier automatiquement une fois déchiffré, la commande « Contrôle + L » fait afficher le chemin du dossier courant 😉

    Un exemple si votre chemin de montage est : /home/user/media/blablabla :
    sudo chmod -R 777 /home/user/media/blablabla
    Cela donne les droits en écriture à tous le monde (« 777 »), et de façon récursive (« -R » aussi dans les sous-dossiers) sur cette partition.
    Et là ça devient transportable

    Dans mon cas la partition se monte sur le chemin suivant : /media/krz/13LUKS (mais qui peut être différent selon le nom de votre partition)

Laisser un commentaire

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