LUKS : Déchiffrer un volume via une clé USB

De Adadov.net wiki
Révision datée du 3 juillet 2015 à 10:35 par Adadov (discussion | contributions) (Changement suite à la modif du modèle Info)
Article en cours de rédaction ou de modification !
Le présent article est actuellement en cours de rédaction ou de modification.
Adressez-vous à la personne en charge pour toute proposition ou modification.
Auteur / Editeur : Adadov
Dernière édition : 03/07/2015


Introduction

LUKS est le système de chiffrement de disque natif du noyau Linux, certaines distribution proposent même nativement lors de l'installation de chiffrer la partition qui contient vos données.

Cette sécurité a de quoi séduire dans de bien nombreux cas mais il peut des fois aussi être très contraignant de devoir saisir un mot de passe lors de chaque redémarrage de la machine ...

Pour simplifier un peu cette contrainte, LUKS permet d'avoir plusieurs clés pour déchiffrer les données, vous pouvez donc en ajouter une pour votre larbin stagiaire, votre petite soeur, la secrétaire ou tout autre personne que vous voulez faire souffrir (NB: penser à écrire un script de démarrage qui reboot la machine). Mais là encore s'il attrape une grève ou décide d'être malade, le problème revient ...

Alors pourquoi pas utiliser une clé USB branchée sur la machine ?? Il suffit de bien la cacher et ne le dire à personne pour que si quelqu'un vous piquait vos disques durs, il oublie totalement de la prendre avec et de ce fait ne puisse pas obtenir vos données (HOURRA !! Il aura pas les photos de votre femme et ses copines).

Bon par contre c'est pas tout ... Mais on fait comment ??

Création de la clé

On commence par générer une masse informe de données aléatoires (Allez Atoire !! Allez Atoire !! Allez !!)

[root@linux] # dd if=/dev/urandom of=/dev/sdb bs=1dblclick to copy

Puis de ces données on en prend une partie et on les place dans un fichier. Y'a plusieurs manières de faire, mais là je suis resté classique et j'ai simplement pris le début.

[root@linux] # dd if=/dev/sdb of=luks.secret.key count=4096 bs=1dblclick to copy

Puis on autorise cette clé à déchiffrer les données

[root@linux] # cryptsetup luksAddKey /dev/sda3 luks-secret.key --key-slot 1dblclick to copy

Une fois qu'on a fait tout ça, on supprime totalement ce fichier de notre système, on va pas en plus en garder une copie hors de la clé, pourquoi pas un néon qui afficherait notre mot de passe et le code de notre CB.

[root@linux] # shred --remove --zero luks-secret.keydblclick to copy

Modification de Dracut