Zum Inhalt springen

Linux Unified Key Setup

aus Wikipedia, der freien Enzyklopädie

Das Linux Skriptfehler: Ein solches Modul „Vorlage:lang“ ist nicht vorhanden. bzw. kurz LUKS ist eine Spezifikation für die Festplattenverschlüsselung, die von Clemens Frühwirth 2004 für Linux zur Verschlüsselung ganzer Partitionen entwickelt wurde. LUKS beschreibt das Format der Verschlüsselung auf dem Volume und ist grundsätzlich plattformunabhängig.<ref>Skriptfehler: Ein solches Modul „Vorlage:Literatur“ ist nicht vorhanden.</ref>

Unter Linux ist Vorlage:Monospace das zentrale Dienstprogramm zur Verwaltung von LUKS-Skriptfehler: Ein solches Modul „Vorlage:lang“ ist nicht vorhanden..<ref>Skriptfehler: Ein solches Modul „Vorlage:Literatur“ ist nicht vorhanden.</ref>

Eigenschaften[Bearbeiten]

Zur Vermeidung von Wörterbuchangriffen implementiert LUKS PBKDF2, das zum von RSA Security entwickelten Standard PKCS #5 gehört.<ref>Skriptfehler: Ein solches Modul „Vorlage:Literatur“ ist nicht vorhanden.</ref>

On-Disk-Format[Bearbeiten]

Eine mit LUKS verschlüsselte Festplattenpartition besitzt folgenden Header (Mehrbytewerte sind dabei im Big-Endian-Format abgespeichert, Klartext-Bezeichner sind dabei mit Nullbytes aufgefüllt, wenn sie kürzer als der vorgesehene Speicherplatz sind):

LUKS1-Header<ref>Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. (PDF) Version 1.2.2Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Ehemals im Vorlage:Referrer (nicht mehr online verfügbar);Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref>
Offset Datentyp Inhalt
000 000hex char[6] Magische Zahl {'L', 'U', 'K', 'S', 0xBA, 0xBE }
006 006hex uint16_t LUKS-Version (bei LUKS1 0x0001)
008 008hex char[32] Name des Chiffrieralgorithmus (z. B. "twofish" oder "aes")
040 028hex char[32] Name des Chiffriermodus (z. B. "cbc-essiv:sha256")
072 048hex char[32] Name der Hashfunktion (z. B. "sha1" oder "ripemd160")
104 068hex uint32_t Offset zu den Daten (in Sektoren)
108 06Chex uint32_t Anzahl der Schlüsselbytes
112 070hex char[20] Prüfsumme des PBKDF2-Masterschlüssels
132 084hex char[32] Salt des PBKDF2-Masterschlüssels
164 0A4hex uint32_t Anzahl der PBKDF2-Iterationen (Default: 10)
168 0A8hex char[40] UUID der Partition (im üblichen Hex-Format, z. B. "504c9fa7-d080-4acf-a829-73227b48fb89")
208 0D0hex (48 Bytes) Keyslot 1 (siehe unten)
…
544 220hex (48 Bytes) Keyslot 8 (siehe unten)
592 Bytes total

Jeder der acht Keyslots besitzt dabei folgendes Format:

Format eines LUKS-Keyslots
Offset Datentyp Inhalt
00 uint32_t Status: Aktiv=0x00AC71F3; Inaktiv=0x0000DEAD
04 uint32_t Anzahl der Iterationen für PBKDF2
08 char[32] Salt für PBKDF2
40 uint32_t Startsektor für Schlüsseldaten
44 uint32_t Anzahl der Anti-Forensic-Stripes (Default: 4000)
48 Bytes total

LUKS2[Bearbeiten]

Seit Linux-Kernel-Version 4.12 gibt es eine neue LUKS-Version, die einige neue Funktionen bietet:<ref>gitlab.com (PDF)</ref>

  • Authenticated Encryption – benötigt das "dm-integrity"-Feature, das ebenfalls mit Kernel-Version 4.12 eingeführt wurde, um die zusätzlichen Metadaten pro Sektor zu speichern.
  • Passwortableitungsfunktion Argon2 (in den Varianten Argon2i und Argon2id), welche parallele Brute-Force-Angriffe erschwert.
  • Der LUKS-Header kann jetzt an einem separaten Ort gespeichert werden. Die LUKS-Metadaten werden im JSON-Format und redundant gespeichert (Schlüsseldaten aus Sicherheitsgründen nur einmal).
  • Unterstützung für externe Schlüsselspeicher und Authentifizierungsmethoden.
  • Konvertierung von LUKS1 nach LUKS2 und umgekehrt (sofern keine neuen Features von LUKS2 benutzt werden) ist on-the-fly möglich.
  • Das sektorweise Übertragen einer unverschlüsselten Partition in eine verschlüsselte LUKS-Containerpartition bzw. der umgekehrte Vorgang um eine Verschlüsselung rückgängig zu machen, ist ohne Kopie über eine zusätzliche Partition möglich. Dieser Vorgang setzt aber voraus, dass für die Header-Daten innerhalb der Partition Platz vorhanden ist. Das Dateisystem darf dazu nicht den kompletten Platz in einer Partition ausfüllen.

Weblinks[Bearbeiten]

Einzelnachweise[Bearbeiten]

<references />