Wer in Österreich einen Laptop verliert oder dessen Diebstahl meldet, gibt ohne Verschlüsselung meist auch sämtliche Daten preis: Kundenakten, Steuerunterlagen, Passwörter im Browser und private Fotos. Eine Festplatte verschlüsseln Sie unter Linux nativ und kostenlos mit LUKS (Linux Unified Key Setup). Das System sitzt direkt im Kernel, nutzt AES-256 und schützt eine ganze Partition oder Platte, nicht nur einzelne Ordner. Dieses Tutorial führt Sie in 12 nachvollziehbaren Schritten durch die komplette LUKS Verschlüsselung: vom ersten Befehl bis zur TPM2-Bindung und dem Notfallplan.

Geplante Arbeitszeit: rund 45 bis 60 Minuten für ein zweites Laufwerk, je nach Datenmenge auch länger. Sie brauchen keine kommerzielle Software und kein Abo. Alle Befehle laufen im Terminal und funktionieren auf Ubuntu 24.04 LTS, Debian 12, Fedora 41 und nahezu jeder aktuellen Distribution.

Was ist LUKS und warum sollten Sie Ihre Festplatte verschlüsseln?

LUKS ist der Standard für Festplattenverschlüsselung unter Linux. Das Verfahren wurde 2004 vorgestellt und arbeitet auf dem dm-crypt-Kernelmodul, also direkt im Linux-Kernel. Das Werkzeug dazu heißt cryptsetup. Anders als bei der Verschlüsselung einzelner Dateien sichert LUKS einen kompletten Block-Layer (eine Partition, ein USB-Stick oder ein ganzes Laufwerk). Alles, was darauf liegt, also Dateisystem, Metadaten und Inhalte, ist im ausgeschalteten Zustand unlesbar.

Der Kern des Konzepts ist eine Trennung zwischen Master-Key und Passphrase. Die eigentlichen Daten verschlüsselt ein zufällig erzeugter Master-Key. Dieser Master-Key liegt selbst verschlüsselt im LUKS-Header, abgesichert durch Ihre Passphrase. Das hat zwei praktische Vorteile: Sie können die Passphrase ändern, ohne die gesamte Platte neu zu verschlüsseln, und Sie können mehrere Passphrasen (sogenannte Keyslots) für dieselbe Platte hinterlegen.

Warum das wichtig ist, zeigt ein Blick auf die Praxis. Eine moderne SSD lässt sich in Minuten ausbauen und an einem zweiten Rechner auslesen. Ein BIOS-Passwort oder der Linux-Login schützen davor nicht, denn beide hindern niemanden daran, die Platte abzustöpseln. Erst eine echte Festplattenverschlüsselung macht die Daten ohne Passphrase wertlos. Für Selbstständige und Unternehmen kommt der rechtliche Aspekt dazu: Die DSGVO verlangt in Artikel 32 dem Stand der Technik entsprechende Maßnahmen, und Verschlüsselung gilt als anerkannte Schutzmaßnahme. Geht ein verschlüsseltes Gerät verloren, kann das eine Meldepflicht nach Artikel 33 entschärfen.

LUKS1 vs. LUKS2: Welches Format Sie nehmen sollten

Seit cryptsetup 2.1 ist LUKS2 das Standardformat für neue Container. LUKS2 bringt einen redundanten Header, JSON-basierte Metadaten und vor allem die moderne Schlüsselableitung Argon2id mit. Für neue Installationen ist LUKS2 die richtige Wahl. LUKS1 brauchen Sie nur in Ausnahmefällen, etwa wenn ein älterer Bootloader die /boot-Partition direkt entschlüsseln muss. Ubuntu 24.04 LTS und Fedora 41 setzen bei der Installationsverschlüsselung standardmäßig auf LUKS2.

LUKS vs. VeraCrypt vs. BitLocker im Vergleich

Bevor Sie loslegen, lohnt der Blick auf die Alternativen. Alle drei Werkzeuge verschlüsseln Daten zuverlässig, unterscheiden sich aber bei Plattform, Quelloffenheit und Einsatzzweck. LUKS ist der native Linux-Weg, BitLocker der von Windows, und VeraCrypt der plattformübergreifende Allrounder für Container und externe Medien. Wer auf einem reinen Linux-System eine ganze Platte absichern will, fährt mit LUKS am besten.

MerkmalLUKS / cryptsetupVeraCryptBitLocker
PlattformLinux (nativ im Kernel)Windows, macOS, LinuxWindows (Pro, Enterprise)
QuelloffenJa (GPL)JaNein (proprietär)
Standard-ChiffreAES-256 (aes-xts-plain64)AES, frei wählbarAES-256-XTS
SchlüsselableitungArgon2idPBKDF2 (viele Iterationen)nicht offengelegt
Ganze SystemplatteJaJa (Windows), eingeschränktJa
KostenKostenlosKostenlosMit Windows Pro
TPM2-UnterstützungJa (systemd-cryptenroll)NeinJa

Eine ausführliche Anleitung zu VeraCrypt finden Sie in unserem VeraCrypt-Tutorial, falls Sie verschlüsselte Container plattformübergreifend nutzen wollen. Für ein reines Linux-Setup bleibt LUKS die schnellere und besser integrierte Lösung, weil es ohne zusätzliche Software auskommt.

Voraussetzungen: Was Sie vor dem Start brauchen

Damit das Tutorial reibungslos läuft, sollten folgende Punkte erfüllt sein. Die genannten Versionen sind die zum Zeitpunkt der Veröffentlichung verbreiteten stabilen Stände.

  • Linux-System mit Kernel 5.15 oder neuer (Ubuntu 24.04 LTS, Debian 12, Fedora 41 oder vergleichbar).
  • cryptsetup 2.x (Version 2.6 oder neuer empfohlen wegen aktueller Argon2id-Standardwerte).
  • Root-Rechte über sudo, da alle Befehle direkt auf Block-Geräte zugreifen.
  • Ein leeres Ziellaufwerk oder eine leere Partition. Achtung: Beim Formatieren werden alle vorhandenen Daten gelöscht.
  • Ein vollständiges Backup aller Daten, die auf dem Ziellaufwerk liegen, auf einem separaten Medium.
  • Eine starke Passphrase, idealerweise aus einem Passwort-Manager, mit mindestens 20 Zeichen oder vier zufälligen Wörtern.
  • Optional ein TPM2-Chip für automatisches Entsperren beim Booten (Schritt 11).

Ein Hinweis zur Sicherheit vorab: Eine Verschlüsselung ist nur so stark wie die Passphrase, die sie schützt. AES-256 lässt sich nicht durch Rechenleistung brechen, eine schwache Passphrase dagegen sehr wohl. Mehr Hintergrund zu sicheren Passwörtern liefert unser Leitfaden zur Passwortsicherheit.

Die 12 Schritte im Überblick

  1. cryptsetup installieren und Version prüfen
  2. Hardware-Leistung mit cryptsetup benchmark testen
  3. Zielgerät korrekt identifizieren und Daten sichern
  4. LUKS2-Container mit luksFormat anlegen
  5. Container öffnen und Dateisystem erstellen
  6. Laufwerk mounten und Daten ablegen
  7. LUKS-Header sichern (luksHeaderBackup)
  8. Zusätzliche Schlüssel und Keyslots verwalten
  9. Automatisches Einbinden mit crypttab und fstab
  10. Argon2id-Parameter für mehr Sicherheit härten
  11. TPM2-Bindung mit systemd-cryptenroll
  12. Notfall, Wiederherstellung und sicheres Schließen

Schritt 1: cryptsetup installieren und Version prüfen

Auf den meisten Distributionen ist cryptsetup bereits vorinstalliert, weil Installer es für verschlüsselte Setups nutzen. Prüfen Sie zuerst die Version und installieren Sie das Paket bei Bedarf nach.

# Version pruefen
cryptsetup --version

# Falls nicht vorhanden: Installation unter Debian/Ubuntu
sudo apt update
sudo apt install cryptsetup

# Unter Fedora
sudo dnf install cryptsetup

# Unter Arch Linux
sudo pacman -S cryptsetup

Die Ausgabe sollte ungefähr so aussehen:

$ cryptsetup --version
cryptsetup 2.7.5 flags: UDEV BLKID KEYRING FIPS KERNEL_CAPI PWQUALITY

Wichtig ist eine Version aus der 2er-Reihe. Erst ab cryptsetup 2.1 ist LUKS2 das Standardformat, und neuere 2.x-Versionen liefern die aktuellen Argon2id-Standardwerte mit. Prüfen Sie zusätzlich, ob das dm-crypt-Modul im Kernel verfügbar ist. In nahezu allen Distributionen ist das der Fall, eine manuelle Aktivierung ist selten nötig.

# dm-crypt-Modul laden (meist automatisch)
sudo modprobe dm-crypt

# Pruefen, ob es geladen ist
lsmod | grep dm_crypt

Schritt 2: Hardware-Leistung mit cryptsetup benchmark testen

Bevor Sie verschlüsseln, lohnt ein kurzer Leistungstest. Der Befehl cryptsetup benchmark misst, wie schnell Ihre CPU die verschiedenen Chiffren und Schlüsselableitungen verarbeitet. So sehen Sie, ob Ihr Prozessor AES-NI-Beschleunigung bietet (das tun praktisch alle CPUs seit etwa 2011) und welche Datenraten realistisch sind.

sudo cryptsetup benchmark

Eine typische Ausgabe auf einem modernen Notebook sieht so aus:

# Tests sind ungefaehre Werte mit AES-NI.
PBKDF2-sha256      1854371 Iterationen pro Sekunde fuer 256-Bit-Schluessel
argon2id           4 Iterationen, 1048576 KB Speicher, 4 Threads

#  Algorithmus | Schluessel |  Verschluesselung |  Entschluesselung
        aes-cbc        256b      1024,3 MiB/s      3210,7 MiB/s
    serpent-cbc        256b       102,4 MiB/s       540,1 MiB/s
        aes-xts        512b      2980,5 MiB/s      2975,8 MiB/s
    serpent-xts        512b       560,2 MiB/s       558,9 MiB/s

Die Zeile aes-xts 512b ist die entscheidende: 512 Bit Schlüssellänge im XTS-Modus entsprechen AES-256 für die Datenverschlüsselung. Werte über 2000 MiB/s zeigen, dass AES-NI aktiv ist und die Verschlüsselung die Festplattengeschwindigkeit nicht ausbremst. Liegt Ihr Wert deutlich darunter, fehlt vermutlich die Hardware-Beschleunigung, was vor allem ältere oder sehr günstige CPUs betrifft.

Die Argon2id-Zeile zeigt die Standardparameter der Schlüsselableitung: 4 Iterationen, rund 1 GiB Speicher (1048576 KB) und 4 Threads. Diese Werte erschweren das Durchprobieren von Passphrasen massiv, weil jeder Versuch ein Gigabyte Arbeitsspeicher und spürbar Rechenzeit kostet. Genau das ist der Sinn einer modernen, speicherharten Schlüsselableitung. Wer tiefer in Schlüsselableitungen einsteigen will, findet die Grundlagen in unserem Beitrag zu Hashing und Passwortsicherheit.

Schritt 3: Zielgerät identifizieren und Daten sichern

Dieser Schritt entscheidet über Erfolg oder Datenverlust. Der Befehl luksFormat überschreibt den Header des Zielgeräts unwiederbringlich. Wählen Sie das falsche Gerät, löschen Sie Ihr Betriebssystem oder Ihre Datenplatte. Verschaffen Sie sich deshalb zuerst einen genauen Überblick über alle Block-Geräte.

# Alle Laufwerke und Partitionen mit Groesse und Mountpoint auflisten
lsblk -o NAME,SIZE,TYPE,MOUNTPOINT,FSTYPE
NAME        SIZE TYPE MOUNTPOINT FSTYPE
sda         476G disk
|-sda1      512M part /boot/efi  vfat
`-sda2      475G part /          ext4
sdb         932G disk
`-sdb1      932G part            ext4

Im Beispiel ist sda die Systemplatte (gemountet auf /) und sdb ein zweites Laufwerk, das wir verschlüsseln wollen. Verschlüsseln Sie die Partition /dev/sdb1 oder, falls Sie die ganze Platte ohne Partitionstabelle nutzen, /dev/sdb. In diesem Tutorial verwenden wir durchgehend den Platzhalter /dev/sdX1. Ersetzen Sie ihn überall durch Ihr tatsächliches Gerät.

Sichern Sie jetzt alle Daten des Ziellaufwerks. Nach luksFormat ist nichts mehr lesbar. Wer eine bereits genutzte Platte verschlüsseln will, kopiert die Daten zuerst auf ein anderes Medium und spielt sie nach dem Einrichten zurück. Eine nachträgliche Verschlüsselung im laufenden Betrieb (cryptsetup reencrypt) ist zwar möglich, aber riskanter und für Einsteiger nicht zu empfehlen.

Schritt 4: LUKS2-Container mit luksFormat anlegen

Jetzt erstellen Sie den verschlüsselten Container. Der Befehl luksFormat schreibt den LUKS-Header, erzeugt den Master-Key und legt den ersten Keyslot mit Ihrer Passphrase an. Trotz des Namens formatiert er kein Dateisystem, das kommt erst in Schritt 5.

# LUKS2-Container mit Standardwerten anlegen
sudo cryptsetup luksFormat --type luks2 /dev/sdX1

cryptsetup fragt zur Sicherheit nach, ob Sie wirklich fortfahren wollen, und verlangt dann zweimal die Passphrase:

WARNING!
========
Hiermit werden die Daten auf /dev/sdX1 unwiderruflich ueberschrieben.

Are you sure? (Type 'yes' in capital letters): YES
Geben Sie die Passphrase fuer /dev/sdX1 ein:
Passphrase bestaetigen:

Tippen Sie YES in Großbuchstaben, sonst bricht der Befehl ab. Diese Sicherheitsabfrage ist Absicht. Nach Eingabe der Passphrase ist der Container in wenigen Sekunden fertig, weil nur der Header geschrieben wird, nicht die ganze Platte.

Die Standardwerte sind für die meisten Nutzer bereits sehr gut: AES-256 im XTS-Modus, Argon2id als Schlüsselableitung und SHA-256 als Hash. Wer Parameter explizit setzen will, etwa für besonders sensible Daten, nutzt zusätzliche Optionen.

# Mit explizit gesetzten Parametern
sudo cryptsetup luksFormat --type luks2 \
  --cipher aes-xts-plain64 \
  --key-size 512 \
  --hash sha256 \
  --pbkdf argon2id \
  --use-random \
  /dev/sdX1

Die folgende Tabelle erklärt die wichtigsten Parameter.

ParameterStandardwertBedeutung
--typeluks2Header-Format. luks2 ist Standard und empfohlen.
--cipheraes-xts-plain64Verschlüsselungsalgorithmus und Modus.
--key-size512Schlüssellänge in Bit. 512 im XTS-Modus = AES-256.
--hashsha256Hash-Funktion für die Metadaten.
--pbkdfargon2idSpeicherharte Schlüsselableitung gegen Brute-Force.
--use-randomaktivNutzt /dev/random als Entropiequelle für den Master-Key.

Prüfen Sie nach dem Anlegen den Header. Der Befehl luksDump zeigt alle Parameter und belegten Keyslots.

sudo cryptsetup luksDump /dev/sdX1
LUKS header information
Version:        2
Epoch:          3
Cipher name:    aes
Cipher mode:    xts-plain64
Keyslots:
  0: luks2
        Key:        512 bits
        PBKDF:      argon2id
        Memory:     1048576
        Threads:    4

Schritt 5: Container öffnen und Dateisystem erstellen

Der verschlüsselte Container existiert jetzt, ist aber noch leer und geschlossen. Um ihn zu nutzen, öffnen Sie ihn mit cryptsetup open. Dabei vergeben Sie einen Namen, unter dem das entsperrte Gerät im Verzeichnis /dev/mapper/ erscheint.

# Container oeffnen, Name frei waehlbar (hier: cryptdaten)
sudo cryptsetup open /dev/sdX1 cryptdaten

# Passphrase eingeben, danach pruefen
ls -l /dev/mapper/cryptdaten

Das entsperrte Gerät liegt nun unter /dev/mapper/cryptdaten und verhält sich wie eine normale Platte. Alles, was Sie dorthin schreiben, verschlüsselt der Kernel transparent im Hintergrund. Jetzt fehlt noch ein Dateisystem. Für Linux-eigene Nutzung empfiehlt sich ext4, für plattformübergreifende externe Medien eher XFS oder Btrfs.

# ext4-Dateisystem im entsperrten Container anlegen
sudo mkfs.ext4 /dev/mapper/cryptdaten

# Optional: Label vergeben
sudo e2label /dev/mapper/cryptdaten cryptdaten

Wichtig zum Verständnis: Sie erstellen das Dateisystem auf dem /dev/mapper-Gerät, nicht direkt auf /dev/sdX1. Würden Sie mkfs versehentlich auf das rohe Gerät anwenden, zerstörten Sie den LUKS-Header. Achten Sie also genau auf den Pfad.

Schritt 6: Laufwerk mounten und Daten ablegen

Mit Dateisystem lässt sich der Container einbinden. Legen Sie einen Mountpunkt an und hängen Sie das entsperrte Gerät dort ein.

# Mountpunkt anlegen
sudo mkdir -p /mnt/cryptdaten

# Einbinden
sudo mount /dev/mapper/cryptdaten /mnt/cryptdaten

# Pruefen
df -h /mnt/cryptdaten

Ab jetzt arbeiten Sie ganz normal mit dem Verzeichnis /mnt/cryptdaten. Jede Datei, die Sie dort speichern, landet verschlüsselt auf der Platte. Beim Lesen entschlüsselt der Kernel sie transparent. Sie merken im Alltag keinen Unterschied, abgesehen von einem minimalen Geschwindigkeitsverlust, der dank AES-NI meist unter einem Prozent liegt.

Zum sauberen Schließen müssen Sie in umgekehrter Reihenfolge vorgehen: erst aushängen, dann den LUKS-Container schließen. Erst danach sind die Daten wieder vollständig verschlüsselt und unzugänglich.

# Aushaengen
sudo umount /mnt/cryptdaten

# Container schliessen (Daten sind danach wieder verschluesselt)
sudo cryptsetup close cryptdaten

Schritt 7: LUKS-Header sichern

Der LUKS-Header ist das Herz der Verschlüsselung. Er enthält den verschlüsselten Master-Key. Wird er beschädigt oder versehentlich überschrieben, sind sämtliche Daten verloren, selbst mit korrekter Passphrase. Deshalb gehört eine Sicherung des Headers zu den wichtigsten Schritten überhaupt.

# Header in eine Datei sichern
sudo cryptsetup luksHeaderBackup /dev/sdX1 \
  --header-backup-file ~/luks-header-sdX1.img

# Zugriffsrechte einschraenken
sudo chmod 600 ~/luks-header-sdX1.img

Bewahren Sie diese Header-Sicherung an einem sicheren, getrennten Ort auf, etwa auf einem verschlüsselten USB-Stick im Tresor. Behandeln Sie die Datei wie einen Schlüssel: Wer sie und Ihre Passphrase besitzt, kommt an die Daten. Ohne Passphrase nützt die Header-Sicherung niemandem.

Die Wiederherstellung läuft umgekehrt, falls der Original-Header je beschädigt wird.

# Header aus der Sicherung wiederherstellen
sudo cryptsetup luksHeaderRestore /dev/sdX1 \
  --header-backup-file ~/luks-header-sdX1.img

Schritt 8: Zusätzliche Schlüssel und Keyslots verwalten

Ein großer Vorteil von LUKS sind die Keyslots. LUKS1 erlaubt bis zu 8 Keyslots, LUKS2 sogar bis zu 32. Jeder Slot enthält eine eigene Passphrase oder Schlüsseldatei, die alle denselben Master-Key entsperren. So kann zum Beispiel ein Admin einen eigenen Wiederherstellungsschlüssel hinterlegen, oder mehrere Personen nutzen dieselbe Platte mit je eigener Passphrase.

# Zweite Passphrase hinzufuegen (fragt erst nach einer bestehenden)
sudo cryptsetup luksAddKey /dev/sdX1

# Eine Schluesseldatei als Schluessel hinterlegen
sudo dd if=/dev/urandom of=~/cryptdaten.key bs=512 count=8
sudo chmod 600 ~/cryptdaten.key
sudo cryptsetup luksAddKey /dev/sdX1 ~/cryptdaten.key

Eine Schlüsseldatei (Keyfile) ist praktisch für automatisierte Setups und Backup-Server, weil sie das interaktive Eintippen ersetzt. Sie muss aber genauso gut geschützt werden wie eine Passphrase. Einen kompromittierten oder nicht mehr benötigten Schlüssel entfernen Sie wieder gezielt.

# Belegte Keyslots anzeigen
sudo cryptsetup luksDump /dev/sdX1 | grep -A1 Keyslots

# Eine bestimmte Passphrase entfernen (fragt nach der zu loeschenden)
sudo cryptsetup luksRemoveKey /dev/sdX1

# Einen Keyslot per Nummer loeschen (Vorsicht, nicht ruecknehmbar)
sudo cryptsetup luksKillSlot /dev/sdX1 1

Eine Warnung: Löschen Sie niemals den letzten verbleibenden Keyslot. Ohne gültigen Slot lässt sich der Container nie wieder öffnen, und der Master-Key ist für immer verloren. Prüfen Sie vor jedem luksKillSlot mit luksDump, welche Slots belegt sind.

Schritt 9: Automatisches Einbinden mit crypttab und fstab

Manuelles Öffnen und Mounten bei jedem Start ist umständlich. Zwei Systemdateien automatisieren das: /etc/crypttab beschreibt, welche verschlüsselten Geräte beim Boot entsperrt werden, und /etc/fstab regelt, wo die entsperrten Geräte eingehängt werden. Sie arbeiten zusammen, crypttab zuerst, fstab danach.

Ermitteln Sie zuerst die UUID des verschlüsselten Geräts. Sie ist stabiler als /dev/sdX1, weil sich Gerätenamen je nach Anschlussreihenfolge ändern können.

# UUID des LUKS-Geraets anzeigen
sudo blkid /dev/sdX1
/dev/sdX1: UUID="a1b2c3d4-1234-5678-9abc-def012345678" TYPE="crypto_LUKS"

Tragen Sie das Gerät in /etc/crypttab ein. Die vier Spalten sind: Mapper-Name, Quellgerät, Schlüsseldatei (oder none für interaktive Eingabe) und Optionen.

# /etc/crypttab
# Name       Quellgeraet                                Schluessel  Optionen
cryptdaten   UUID=a1b2c3d4-1234-5678-9abc-def012345678  none        luks

Danach tragen Sie den Mountpunkt in /etc/fstab ein. Verweisen Sie auf das Mapper-Gerät, nicht auf das rohe LUKS-Gerät.

# /etc/fstab
/dev/mapper/cryptdaten   /mnt/cryptdaten   ext4   defaults,nofail   0   2

Die Option nofail ist wichtig: Sie verhindert, dass das System nicht bootet, falls das verschlüsselte Laufwerk einmal fehlt, etwa weil ein externes Medium nicht angesteckt ist. Testen Sie die Konfiguration vor dem nächsten Neustart, damit ein Tippfehler den Bootvorgang nicht blockiert.

# crypttab-Eintraege testen, ohne neu zu starten
sudo systemctl daemon-reload
sudo cryptdisks_start cryptdaten   # Debian/Ubuntu
sudo mount -a                       # fstab pruefen

Schritt 10: Argon2id-Parameter für mehr Sicherheit härten

Die Standardwerte von Argon2id sind bereits stark, aber bei besonders sensiblen Daten oder leistungsstarker Hardware können Sie sie weiter anheben. Drei Parameter steuern den Aufwand: Iterationen (--iter-time in Millisekunden), Speicherbedarf (--pbkdf-memory in KiB) und Parallelität (--pbkdf-parallel). Mehr Speicher und mehr Zeit machen das Durchprobieren von Passphrasen für Angreifer teurer.

ParameterStandardGehärtetWirkung
--iter-time2000 ms5000 msLängere Ableitungszeit pro Versuch
--pbkdf-memory1048576 KiB (1 GiB)2097152 KiB (2 GiB)Höherer RAM-Bedarf je Versuch
--pbkdf-parallel44Anzahl paralleler Threads

Diese Werte lassen sich nachträglich für einen bestehenden Keyslot ändern, ohne die Daten neu zu verschlüsseln. Der Befehl luksConvertKey rechnet den betroffenen Slot mit den neuen Parametern um.

# Argon2id-Parameter eines bestehenden Keyslots anheben
sudo cryptsetup luksConvertKey /dev/sdX1 \
  --pbkdf argon2id \
  --iter-time 5000 \
  --pbkdf-memory 2097152

Beachten Sie den Kompromiss: Höhere Werte verlängern auch Ihre eigene Entsperrzeit beim Booten. 2 GiB Speicher und 5 Sekunden sind ein vernünftiges Maximum für die meisten Desktops. Auf Geräten mit wenig RAM kann ein zu hoher Speicherwert sogar verhindern, dass die Entsperrung funktioniert, vor allem im frühen Boot-Stadium (initramfs). Testen Sie geänderte Parameter immer, bevor Sie sich darauf verlassen.

Schritt 11: TPM2-Bindung mit systemd-cryptenroll

Auf moderner Hardware sitzt ein TPM2-Chip (Trusted Platform Module). Damit lässt sich die Entsperrung an die Integrität des Systems koppeln: Bootet der Rechner unverändert, entsperrt das TPM die Platte automatisch, ohne dass Sie eine Passphrase eintippen. Wird die Hardware manipuliert oder die Platte in einen anderen Rechner gesteckt, verweigert das TPM die Herausgabe des Schlüssels. Das Werkzeug dafür heißt systemd-cryptenroll.

# Verfuegbare TPM2-Geraete anzeigen
sudo systemd-cryptenroll --tpm2-device=list

# LUKS-Geraet an das TPM2 binden (PCR 7 = Secure-Boot-Status)
sudo systemd-cryptenroll /dev/sdX1 \
  --tpm2-device=auto \
  --tpm2-pcrs=7

Danach ergänzen Sie in /etc/crypttab die Option tpm2-device=auto, damit das System beim Boot automatisch das TPM zum Entsperren nutzt.

# /etc/crypttab mit TPM2-Entsperrung
cryptdaten   UUID=a1b2c3d4-...   none   luks,tpm2-device=auto

Wichtig: Behandeln Sie die TPM2-Bindung als Komfort, nicht als Ersatz für eine starke Passphrase. Behalten Sie immer einen passphrasenbasierten Keyslot als Rückfallebene. Sonst sperren Sie sich aus, sobald ein Firmware-Update die gemessenen PCR-Werte verändert. Welche PCRs sinnvoll sind, hängt von Ihrem Bedrohungsmodell ab. PCR 7 deckt den Secure-Boot-Status ab und ist ein robuster Standard.

Schritt 12: Notfall, Wiederherstellung und sicheres Schließen

Zum Abschluss richten Sie einen Notfallplan ein. Drei Dinge gehören dazu: ein Header-Backup (Schritt 7), ein zweiter Keyslot (Schritt 8) und das Wissen, wie Sie den Master-Key im Ernstfall sichern. Wer alle drei beherrscht, verliert seine Daten auch bei Hardware-Defekten nicht.

Sie können den Master-Key des Containers exportieren und sicher verwahren. Damit lässt sich der Container selbst dann öffnen, wenn alle Passphrasen vergessen wurden. Behandeln Sie diesen Schlüssel wie hochsensibles Material.

# Master-Key anzeigen (nur in sicherer Umgebung ausfuehren)
sudo cryptsetup luksDump --dump-volume-key /dev/sdX1

# Container mit Volume-Key statt Passphrase oeffnen (Notfall)
sudo cryptsetup open --master-key-file ~/masterkey.bin /dev/sdX1 cryptdaten

Zum dauerhaften Löschen einer verschlüsselten Platte reicht es, den Header zu vernichten. Ohne Header ist der Master-Key weg, und die Daten sind selbst mit Passphrase nicht mehr rekonstruierbar. Das macht das sichere Löschen sehr schnell, denn Sie müssen nicht die ganze Platte überschreiben.

# LUKS-Header und damit alle Schluessel unwiderruflich loeschen
sudo cryptsetup luksErase /dev/sdX1

Damit ist die Einrichtung vollständig. Sie haben ein verschlüsseltes Laufwerk, ein gesichertes Header-Backup, mehrere Keyslots, gehärtete Argon2id-Parameter und optional eine TPM2-Bindung. Im Alltag arbeiten Sie ganz normal weiter, die Verschlüsselung läuft unsichtbar im Hintergrund.

Häufige Fehler beim Festplatte verschlüsseln und ihre Lösungen

Diese fünf Fehler kosten Einsteiger am häufigsten Zeit oder Daten. Wer sie kennt, vermeidet sie.

  • Falsches Zielgerät bei luksFormat. Der mit Abstand teuerste Fehler. Wer /dev/sda statt /dev/sdb formatiert, löscht das System. Prüfen Sie immer zweimal mit lsblk, bevor Sie luksFormat ausführen.
  • Kein Header-Backup. Der LUKS-Header ist nur wenige Megabyte groß, aber ohne ihn sind alle Daten verloren. Sichern Sie ihn vor der ersten Datenablage, nicht erst später.
  • mkfs auf dem rohen Gerät. Das Dateisystem gehört auf /dev/mapper/cryptdaten, nicht auf /dev/sdX1. Andernfalls überschreiben Sie den LUKS-Header.
  • Letzten Keyslot gelöscht. Ohne gültigen Keyslot ist der Container unwiderruflich verloren. Behalten Sie immer mindestens einen funktionierenden Slot.
  • Schwache Passphrase. AES-256 ist nicht zu brechen, eine schlechte Passphrase schon. Nutzen Sie mindestens 20 Zeichen oder vier zufällige Wörter aus einem Passwort-Manager.

Troubleshooting: 8 typische Probleme lösen

Wenn etwas nicht funktioniert, hilft diese Tabelle bei der schnellen Diagnose der häufigsten Fehlermeldungen rund um die LUKS Verschlüsselung.

Problem / MeldungUrsacheLösung
“No key available with this passphrase”Falsche Passphrase oder falscher KeyslotPassphrase prüfen, Tastaturlayout kontrollieren (z/y), anderen Keyslot testen
“Device cryptdaten already exists”Container ist bereits geöffnetMit cryptsetup status cryptdaten prüfen, ggf. zuerst schließen
“Cannot use device, already in use”Gerät ist gemountet oder belegtumount ausführen, mit lsof blockierende Prozesse finden
“Not enough available memory”Argon2id-Speicherbedarf übersteigt RAM (oft im initramfs)--pbkdf-memory senken oder PBKDF2 für Boot-Partition nutzen
System bootet nicht nach fstab-EintragFalsche UUID oder fehlendes nofailRecovery-Modus, fstab korrigieren, nofail ergänzen
“Requested offset is beyond real size of device”Header beschädigt oder falsches GerätHeader aus Backup wiederherstellen (Schritt 7)
Langsame EntschlüsselungFehlende AES-NI-Beschleunigungcryptsetup benchmark prüfen, ggf. CPU-Mikrocode aktualisieren
TPM2 entsperrt nicht mehrPCR-Werte nach Firmware-Update geändertMit Passphrase entsperren, TPM2 neu einbinden (systemd-cryptenroll)

Bei jedem Fehler hilft zuerst sudo cryptsetup status cryptdaten für den aktuellen Zustand und sudo cryptsetup luksDump /dev/sdX1 für die Header-Informationen. Beide Befehle sind ungefährlich, sie verändern nichts.

Fortgeschrittene Tipps für Profis

Detached Header für mehr Sicherheit

Standardmäßig liegt der LUKS-Header auf demselben Gerät wie die Daten. Mit der Option --header lässt er sich auf ein separates Medium auslagern, etwa einen USB-Stick. Ohne diesen Stick sieht die Platte wie zufälliges Rauschen aus. Es gibt keinen sichtbaren Hinweis darauf, dass sie überhaupt verschlüsselt ist. Das erhöht die Sicherheit, weil ein Angreifer ohne den abgesetzten Header nicht einmal den Verschlüsselungstyp erkennt.

# Container mit abgesetztem Header anlegen
sudo cryptsetup luksFormat --type luks2 \
  --header /mnt/usbstick/sdX1-header.img \
  /dev/sdX1

# Mit abgesetztem Header oeffnen
sudo cryptsetup open --header /mnt/usbstick/sdX1-header.img \
  /dev/sdX1 cryptdaten

TRIM/Discard auf SSDs und der Sicherheitskompromiss

SSDs profitieren von TRIM-Befehlen, die ungenutzte Blöcke freigeben und die Lebensdauer verlängern. Bei LUKS ist TRIM standardmäßig abgeschaltet, weil es ein kleines Informationsleck erzeugt: Ein Angreifer kann erkennen, welche Blöcke belegt sind und welche nicht. Wer den Geschwindigkeitsvorteil will und das Leck akzeptiert, aktiviert TRIM über die Option discard.

# In /etc/crypttab discard ergaenzen
cryptdaten   UUID=a1b2c3d4-...   none   luks,discard

Für die meisten Heimanwender ist der Kompromiss vertretbar, weil das Informationsleck in der Praxis wenig verrät. Bei höchsten Sicherheitsanforderungen lassen Sie TRIM besser deaktiviert.

Ganzes System verschlüsseln

Dieses Tutorial behandelt ein zweites Laufwerk. Wer das gesamte System inklusive Wurzelverzeichnis verschlüsseln will, richtet das am einfachsten direkt bei der Installation ein. Ubuntu, Fedora und Debian bieten im Installer die Option “LVM mit Verschlüsselung” oder “Festplatte verschlüsseln” an, die im Hintergrund genau dieses LUKS2-Setup erzeugt. Eine nachträgliche Vollverschlüsselung des laufenden Systems ist mit cryptsetup reencrypt möglich, aber deutlich anspruchsvoller und sollte nur mit vollständigem Backup erfolgen.

Häufig gestellte Fragen (FAQ)

Wie sicher ist die LUKS-Verschlüsselung wirklich?

LUKS nutzt AES-256 im XTS-Modus, denselben Algorithmus, den Regierungen und Banken für streng vertrauliche Daten einsetzen. AES-256 gilt nach heutigem Stand als praktisch nicht brechbar. Die reale Schwachstelle ist fast immer die Passphrase, nicht der Algorithmus. Mit einer starken Passphrase und aktuellem Argon2id ist eine LUKS-Platte ohne Zugangsdaten wertlos für Angreifer.

Verlangsamt die Verschlüsselung meinen Computer spürbar?

Auf jeder CPU mit AES-NI-Beschleunigung (praktisch alle seit etwa 2011) liegt der Geschwindigkeitsverlust meist unter einem Prozent und ist im Alltag nicht wahrnehmbar. Der Test cryptsetup benchmark zeigt Datenraten von oft über 2000 MiB/s, weit mehr als jede klassische Festplatte lesen kann. Nur sehr alte oder sehr günstige Prozessoren ohne Hardware-Beschleunigung verlieren spürbar Tempo.

Kann ich eine bereits genutzte Festplatte ohne Datenverlust verschlüsseln?

Grundsätzlich ja, mit cryptsetup reencrypt. Dieser Vorgang verschlüsselt eine bestehende Partition im laufenden Betrieb. Er ist aber riskanter als ein frisches Setup, weil ein Stromausfall während der Konvertierung Daten beschädigen kann. Für Einsteiger ist der sichere Weg: Daten sichern, Platte mit luksFormat neu verschlüsseln und Daten zurückspielen.

Was passiert, wenn ich meine Passphrase vergesse?

Ohne gültige Passphrase und ohne hinterlegten zweiten Keyslot oder gesicherten Master-Key sind die Daten unwiederbringlich verloren. Genau das ist der Zweck der Verschlüsselung. Deshalb gehören ein zweiter Keyslot (Schritt 8) und ein Header-Backup (Schritt 7) zur Pflichtausstattung. Bewahren Sie eine Wiederherstellungspassphrase an einem sicheren, getrennten Ort auf.

Brauche ich LUKS, wenn mein Laptop schon ein Login-Passwort hat?

Ja. Ein Login-Passwort schützt nur die laufende Sitzung. Wer die Platte ausbaut und an einen anderen Rechner anschließt, liest ohne Verschlüsselung sämtliche Daten. Erst LUKS macht die Festplatte ohne Passphrase unlesbar, auch im ausgebauten Zustand. Mehr zum Thema Datenabfluss lesen Sie in unserem Beitrag zu Datenlecks.

Funktioniert LUKS auch mit externen USB-Festplatten und Sticks?

Ja, der Ablauf ist identisch. Sie verschlüsseln einfach die Partition des USB-Geräts statt einer internen Platte. Beachten Sie aber, dass LUKS-verschlüsselte Medien nur auf Linux-Systemen direkt lesbar sind. Wer ein externes Medium auch unter Windows oder macOS nutzen will, ist mit dem plattformübergreifenden VeraCrypt besser bedient.

Was ist der Unterschied zwischen LUKS1 und LUKS2?

LUKS2 ist das neuere, seit cryptsetup 2.1 standardmäßige Format. Es bietet einen redundanten Header, JSON-Metadaten, bis zu 32 Keyslots (statt 8 bei LUKS1) und die moderne Schlüsselableitung Argon2id. Für neue Installationen ist LUKS2 die richtige Wahl. LUKS1 brauchen Sie nur für seltene Kompatibilitätsfälle mit älteren Bootloadern.

Fazit: Festplatte verschlüsseln in unter einer Stunde

Eine Festplatte zu verschlüsseln ist unter Linux keine Stunde Arbeit und kostet keinen Cent. Mit LUKS und cryptsetup bekommen Sie AES-256, die moderne Argon2id-Schlüsselableitung und optionale TPM2-Bindung, alles nativ im Kernel und quelloffen. Die wichtigsten Regeln zum Mitnehmen: das richtige Zielgerät doppelt prüfen, den Header sichern, einen zweiten Keyslot anlegen und eine starke Passphrase wählen. Wer diese vier Punkte beachtet, schützt seine Daten zuverlässig vor Diebstahl und Verlust und erfüllt zugleich einen zentralen Baustein der DSGVO-Konformität.

Die LUKS Verschlüsselung ist ein Baustein einer umfassenden Sicherheitsstrategie. Kombinieren Sie sie mit einem starken Passwort-Manager, aktueller Software und einem durchdachten Backup-Konzept. Dann sind Ihre Daten auch dann sicher, wenn das Gerät einmal in falsche Hände gerät.

Weiterführende Quellen