LUKS-Festplattenverschlüsselung mit USB-Key unter Linux

Annahmen für dieses Tutorial

Festplattenpartition zu verschlüsseln: /dev/sda4
USB-Stick welcher zur Entschlüsselung genutzt werden soll: /dev/sdc

Vorgehen

  • Partition mit (Pseudo-)Zufallszahlen überschreiben

    dd if=/dev/urandom of=/dev/sda4 bs=10M
    
  • Partition formatieren

    luksformat -t ext4 /dev/sda4
    

    -> Passwort 3mal eingeben

  • USB-Stick mit (Pseudo-)Zufallszahlen überschreiben

    dd if=/dev/urandom of=/dev/sdc
    
  • die ersten 256 Bytes des USB-Stick in Datei schreiben

    dd if=/dev/sdc of=/tmp/sda4.key bs=1 count=256
    
  • Entschlüsselung per USB-Key aktivieren (Key hinzufügen)

    cryptsetup luksAddKey /dev/sda4 /tmp/sda4.key
    
  • Die Datei /tmp/sda4.key löschen

  • UUID ermitteln mittels blkid
    Hier das Ergebnis auf meinem System - relevant ist hier die UUID

    der verschlüsselten Partition

    /dev/sda4: UUID="d2b3b898-7f2e-4000-b50b-40ecdeccf4e9" TYPE="crypto_LUKS"
    PARTUUID="dcc38e16-03"
    
  • /etc/crypttab anpassen - somit kann beim Starten des Systems die Entschlüsselung per USB-Key erfolgen

    sda4_crypt /dev/disk/by-uuid/d2b3b898-7f2e-4000-b50b-40ecdeccf4e9 /dev/sdc
    luks,tries=3,keyfile-size=256,keyfile-offset=0
    
  • /etc/fstab für automount anpassen

    /dev/mapper/sda4_crypt /mnt/crypt ext4 auto,defaults 0 0
    

Quellen