--- type: types/entity.md entity_type: technology tags: [encryption, storage, security, dm-crypt, luke, linux] created: 2026-07-31 modified: 2026-08-29 related: - see-also: LVM - see-also: Arch Linux sources: [Source - Arch Linux Cheat Sheet] confidence: 0.90 confidence_base: 0.90 provenance: sourced summary: Schutz ruhender Daten über das Kernelmodul dm-crypt und die LUKS-Schlüsselverwaltung zur transparenten Verschlüsselung von Speichergeräten unter Linux. --- # Disk Encryption **Typ:** technology ## Beschreibung Disk-Verschlüsselung bietet Schutz ruhender Daten auf Speichergeräten durch kryptographische Algorithmen. Unter Linux wird dies hauptsächlich durch das **dm-crypt** Kernel-Modul kombiniert mit **LUKS** (Linux Unified Key Setup) zur Schlüsselverwaltung implementiert. Diese Technologie schützt sensible Daten auf SSDs und HDDs vor unbefugtem Zugriff, besonders wichtig für Laptops, externe Laufwerke und Server mit physischen Zugriffsproblemen. ## Kerndaten - **Zweck:** Verschlüsselung gesamter Festplatte und Partitionen - **Status:** Aktiv, weit verbreitet - **Kernel-Modul:** dm-crypt (device-mapper Crypto Target) - **Schlüsselverwaltung:** LUKS (Linux Unified Key Setup) - **Verschlüsselungsalgorithmen:** AES, XTS, Serpent, Twofish, Camellia - **Hash-Algorithmen:** SHA-256, SHA-512, SHA-1 (Legacy) ## Komponenten ### dm-crypt Das device-mapper Crypto Target, das transparente Verschlüsselung von Block-Geräten bietet. Es arbeitet auf der Block-Geräte-Ebene und verschlüsselt/entschlüsselt Daten im laufenden Betrieb. **Hauptmerkmale:** - Transparente Verschlüsselung/Entschlüsselung - Unterstützt mehrere Verschlüsselungsmodi (ECB, CBC, XTS usw.) - Funktioniert mit beliebigen Block-Geräten - Kann gesamte Festplatten oder einzelne Partitionen verschlüsseln ### LUKS (Linux Unified Key Setup) Eine Spezifikation für Disk-Verschlüsselung, die eine standardisierte Methode zur Verwaltung von Verschlüsselungsschlüsseln bietet. LUKS fügt einen Header zum verschlüsselten Gerät hinzu, das die Schlüssel-Slots, Metadaten und Checksummen enthält. **Hauptmerkmale:** - Mehrere Schlüssel-Slots (bis zu 8 in LUKS1, mehr in LUKS2) - Schlüssel-Slot-Verwaltung (hinzufügen, entfernen, Passphrasen ändern) - Header-Backup und -Wiederherstellung - Unterstützung für Schlüsseldateien - Anti-Forensik-Funktionen (LUKS2) ## Einrichtung und Konfiguration ### Erstellen einer verschlüsselten Partition ```bash # Erstelle LUKS-Container cryptsetup luksFormat /dev/sdX1 # Öffne (entsperre) die verschlüsselte Partition cryptsetup open /dev/sdX1 crypted # Erstelle Dateisystem auf entschlüsseltem Gerät mkfs.ext4 /dev/mapper/crypted # Hänge das Dateisystem ein mount /dev/mapper/crypted /mnt ``` ### Ändern der Größe verschlüsselter Partitionen Bei Verwendung von LUKS mit LVM (häufige Konfiguration) ist der Arbeitsablauf zum Größenändern: 1. **Ändere die Größe des zugrunde liegenden Block-Geräts** (z.B. VM-Festplatte erweitern) 2. **Ändere die Größe des LUKS-Containers** 3. **Ändere die Größe des LVM Physical Volume** 4. **Ändere die Größe des LVM Logical Volume** 5. **Ändere die Größe des Dateisystems** **Beispiel für ESXi/SCSI:** ```bash # SCSI-Bus neu scannen, um erweiterte Festplatte zu sehen echo "1" > /sys/class/block/sdb/device/rescan # Prüfe Festplattengröße fdisk -l /dev/xyz # Ändere Größe des LUKS-Containers cryptsetup status crypted cryptsetup resize crypted cryptsetup status crypted # Ändere Größe des LVM PV (siehe [[LVM]]) pvresize /dev/mapper/crypted ``` ## SSD-TRIM-Unterstützung SSD TRIM ermöglicht es dem Betriebssystem, der SSD mitzuteilen, welche Blöcke nicht mehr in Gebrauch sind und verbessert damit Leistung und Haltbarkeit. Bei verschlüsselten Festplatten erfordert TRIM-Unterstützung eine sorgfältige Konfiguration. ### Aktivieren von TRIM auf verschlüsselten SSDs **Wichtig:** Das Zulassen von discard (TRIM) auf verschlüsselten Geräten kann Informationen über verwendete Blöcke verraten. Bedenke die Sicherheitsauswirkungen. **Optionen:** 1. **Erlaube discard auf LUKS-Ebene:** ```bash cryptsetup reencrypt --encrypt --reduce-device-size 16M --allow-discards /dev/sdX ``` 2. **Verwende fstrim auf gemountettem Dateisystem:** ```bash fstrim /mount/point ``` 3. **Konfiguriere periodisches TRIM:** ```bash # Aktiviere systemd-Timer systemctl enable fstrim.timer systemctl start fstrim.timer ``` **Referenz:** https://wiki.archlinux.org/title/Dm-crypt/Specialties#Discard/TRIM_support_for_solid_state_drives_(SSD) ## Beziehungen (häufige Distribution für Verschlüsselung) - **Ergänzt:** [[LVM]] (Logical Volume Manager) (Leistungsoptimierung) und anderen Systemen Ansatz ## Sicherheitsaspekte ### Best Practices 1. **Verwende starke Passphrasen:** Lange, komplexe Passphrasen mit hoher Entropie 2. **Backup LUKS-Header:** `cryptsetup luksHeaderBackup /dev/sdX1 --header-backup-file header.img` 3. **Mehrere Schlüssel-Slots:** Speichere Backup-Schlüssel in separaten Slots 4. **Schlüsseldateien:** Erwäge Schlüsseldateien für headless-Systeme 5. **Vermeide discard:** Für maximale Sicherheit, deaktiviere TRIM auf verschlüsselten Geräten ### Einschränkungen - **Schützt nicht vor:** Evil-Maid-Angriffen, Keyloggern, Schulter-Blicken - **Leistungs-Overhead:** Verschlüsselung/Entschlüsselung fügt CPU-Overhead hinzu (typischerweise 5-10%) - **Wiederherstellung:** Verlorene Passphrase = verlorene Daten (kein Hintertür) ## Siehe auch - [[LVM]] - Logical Volume Manager - TRIM-Optimierung für SSDs - Distribution mit hervorragender Verschlüsselungsunterstützung - [[Source - Arch Linux Cheat Sheet]] - https://wiki.archlinux.org/title/Dm-crypt - https://wiki.archlinux.org/title/LUKS - https://gitlab.com/cryptsetup/cryptsetup ## Beziehungen - **see-also:** [[LVM]] - **see-also:** [[Arch Linux]]