Modification de phrase de passe pour disque chiffré LUKS

Une phrase de passe complexe, longue et difficile à deviner c’est bien. La changer régulièrement c’est mieux. On peut également avoir besoin de plusieurs phrases de passe (si on veut confier son ancien lappy à une voisine dans le besoin, par exemple).

Les disques chiffrés avec Cryptsetup/LUKS sont de petites merveilles. LUKS supporte, en effet, plusieurs phrases de passe stockée dans les slots. On peut, à loisir, ajouter et supprimer des phrases de passe (jusqu’à 8). Facile alors de fournir une phrase de passe temporaire le temps d’un prêt.

Lister les infos :
% cryptsetup luksDump /dev/disk/by-id/scsi-SATA_Hitachi_HDS7216_PVF904Z23V7KLN-part1
LUKS header information for /dev/disk/by-id/scsi-SATA_Hitachi_HDS7216_PVF904Z23V7KLN-part1

Version:        1
Cipher name:    aes
Cipher mode:    cbc-essiv:sha256
Hash spec:      sha1
Payload offset: 1032
MK bits:        128
MK digest:      08 fc d8 1c f8 49 a9 a1 8e 47 8e b4 32 11 64 4a 5e ca 14 26
MK salt:        0a 24 2a 6e 90 68 a0 8e d3 06 bd 25 f5 c3 7e af
                d3 e9 0b 54 3a d3 f3 a3 b2 bd 4a 63 4a 54 63 c4
MK iterations:  10
UUID:           8702329c-0242-4d20-ad8c-1a5986d0ea82

Key Slot 0: ENABLED
        Iterations:             178684
        Salt:                   d5 76 c0 bc 93 55 76 31 15 75 10 65 76 ef 0e 32
                                02 6a 88 5c 95 b4 83 c2 dd 3b d1 36 de 58 b0 55
        Key material offset:    8
        AF stripes:             4000
Key Slot 1: DISABLED
Key Slot 2: DISABLED
Key Slot 3: DISABLED
Key Slot 4: DISABLED
Key Slot 5: DISABLED
Key Slot 6: DISABLED
Key Slot 7: DISABLED
Nous avons un slot (le 0) d’utilisé. C’est celui de la phrase de passe utilisé lors de la création du disque chiffré. Nous pouvons en ajouter une avec :
% cryptsetup luksAddKey /dev/disk/by-id/scsi-SATA_Hitachi_HDS7216_PVF904Z23V7KLN-part1
Enter any LUKS passphrase:
key slot 0 unlocked.
Enter new passphrase for key slot:
Verify passphrase:
Command successful.
On entre la phrase de passe existante pour débloquer le périphérique LUKS, puis la nouvelle, deux fois. On vérifiera le bon déroulement de l’opération avec un nouvel appel à la demande d’information :
Key Slot 0: ENABLED
        Iterations:             178684
        Salt:                   d5 76 c0 bc 93 55 76 31 15 75 10 65 76 ef 0e 32
                                02 6a 88 5c 95 b4 83 c2 dd 3b d1 36 de 58 b0 55
        Key material offset:    8
        AF stripes:             4000
Key Slot 1: ENABLED
        Iterations:             182347
        Salt:                   43 e8 e2 ee d3 be bc 4d 51 3f cc c8 16 4e 80 9b
                                83 60 28 cc 28 c9 91 32 eb 48 2d 21 5f 92 c7 74
        Key material offset:    136
        AF stripes:             4000
Key Slot 2: DISABLED
Key Slot 3: DISABLED
Key Slot 4: DISABLED
Key Slot 5: DISABLED
Key Slot 6: DISABLED
Key Slot 7: DISABLED
Le slot 1 est maintenant utilisé. On utilise ensuite la configuration habituelle pour tester (via le script d’init).
% /etc/init.d/cryptdisks start
Starting remaining crypto disks… satahitachi (starting)Enter LUKS passphrase:
key slot 1 unlocked.
Command successful.
 satahitachi (started)done.
Ça marche (bien sûr). On voit dans la sortie que c’est la clef sur le slot 1 qui a été utilisée.

Pour retirer une phrase de passe, c’est :
% cryptsetup luksDelKey /dev/disk/by-id/scsi-SATA_Hitachi_HDS7216_PVF904Z23V7KLN-part1 1
Enter any remaining LUKS passphrase:
key slot 0 unlocked.
Command successful.
On utilise alors l’une des phrase de passe stockée dans l’un des slot restant (ici 0). Un chagement de phrase de passe revient à ajouter la nouvelle et supprimer l’ancienne, tout simplement. C’est tout.

4 commentaires sur “Modification de phrase de passe pour disque chiffré LUKS

  1. Bon alors mortel ton entrée, je vois bien l'intérêt également quand tu es en déplacement et que quelqu'un d'autre zieute ton clavier pendant que tu tapes :)

  2. rectif:

    cryptsetup luksDelKey, ne fonctionne pas (ou plus)
    il faut remplacer cette option commande par luksRemoveKey

  3. Tout d'abord BONNE ANNEE, quelle apporte du bonheur !!

    Remarque pour le prêt de portable, il ne faut pas que l'utilisateur temporaire ai les droits root car
    il peut alors virer les autres passphrases ou au pire tout virer…. Là, plus de recouvrement possible :/

    Pour la clé usb, les solutions proposées sont trop intrusives et n'utilisent pas de fichier style pkcs12.
    Je planche sur une solution qui fait le boulot dans l'initrd pour permettre de chiffrer l'ensemble du disque (sauf /boot).
    Sinon il faut implémenter la lecture des pkcs#XX directement dans cryptsetup :P

Les commentaires sont fermés.