|
|
Lexikon auf Ihrer Homepage |
|
Lexikon als Lesezeichen hinzufügen |
dm-crypt ist ein Kryptographie-Modul des Device Mappers im Linux-Kernel. Man kann mit dm-crypt Daten mit verschiedenen Algorithmen ver- und entschlüsseln, dies kann auf beliebige Gerätedateien (englisch: Devices) angewandt werden, in den meisten Fällen Partitionen oder Festplatten. Es wird hier also eine zusätzliche Schicht zwischen (verschlüsselten) (Roh-)Daten und dem Dateisystem aufgebaut. Für den Benutzer geschieht dies vollkommen transparent. dm-crypt eignet sich so zur Festplattenverschlüsselung (Partitionen oder ganze Festplatten). dm-crypt unterstützt eine Vielzahl von Verschlüsselungsalgorithmen, da es die Crypto API des Linuxkernels nutzt.
Einen anderen Ansatz verfolgt die (transparente) Dateiverschlüsselung, bei der das Dateisystem für die Ver- und Entschlüsselung zuständig ist.
Inhaltsverzeichnis |
Eine gängige Erweiterung ist LUKS („Linux Unified Key Setup“), welche die verschlüsselten Daten um einen Header erweitert, in dem Metadaten sowie bis zu acht Schlüssel gespeichert werden. Vorteile gegenüber „reinem“ dm-crypt sind: ein standardisiertes Format, Informationen über die Art der Verschlüsselung im Header, Vergabe von bis zu acht Schlüsseln sowie die Änderung und Löschung von Schlüsseln, ohne Umschreiben der verschlüsselten Daten.
Da der Header, den LUKS in den Container schreibt, eine Klartext-Kennung, sowie den verwendeten Verschlüsselungs- und Hash-Algorithmus und die Größe des Masterschlüssels enthält, ist eine automatische Erkennung und einfache Verwaltung von LUKS-Containern möglich. Es macht die Verschlüsselung aber auch gegenüber Dritten und Angriffsprogrammen erkennbar. Damit wird eine glaubhafte Abstreitbarkeit schwierig bis unmöglich. Der LUKS-Header incl. Schlüsseldaten verkleinert außerdem den nutzbaren Speicherplatz auf dem Medium um 1028 KiB (Standardeinstellung). Im Gegensatz zu verschiedenen Dateisystemen, wie z.B. der Superblock bei ext2, werden diese für den Betrieb des Datenträgers wichtigen Daten nicht auf dem Medium verteilt repliziert gespeichert. Wenn sie überschrieben werden oder aufgrund eines Hardwaredefektes nicht mehr ausgelesen werden können, sind die Nutzdaten auf dem Medium nicht mehr zu entschlüsseln.
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 sind, als Speicherplatz vorhanden ist):
| Offset | Datentyp | Inhalt | |
|---|---|---|---|
| 0 | 0hex | char[6] | Magische Zahl {'L', 'U', 'K', 'S', 0xBA, 0xBE } |
| 6 | 6hex | uint16_t | LUKS-Version (derzeit stets 0x0001) |
| 8 | 8hex | char[32] | Name des Chiffrieralgorithmus (z.B. "twofish" oder "aes") |
| 40 | 28hex | char[32] | Name des Chiffriermodus (z.B. "cbc-essiv:sha256") |
| 72 | 48hex | char[32] | Name der Hashfunktion (z.B. "sha1" oder "ripemd160") |
| 104 | 68hex | uint32_t | Offset zu den Daten (in Sektoren) |
| 108 | 6Chex | uint32_t | Anzahl der Schlüsselbytes |
| 112 | 70hex | char[20] | Prüfsumme des PBKDF2-Masterschlüssels |
| 132 | 84hex | char[32] | Salt des PBKDF2-Masterschlüssels |
| 164 | A4hex | uint32_t | Anzahl der PBKDF2-Iterationen (Default: 10) |
| 168 | A8hex | char[40] | UUID der Partition (im üblichen Hex-Format, z.B. "504c9fa7-d080-4acf-a829-73227b48fb89") |
| 208 | D0hex | (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:
| Offset | Datentyp | Inhalt |
|---|---|---|
| 0 | uint32_t | Status: Aktiv=0x00AC71F3; Inaktiv=0x0000DEAD |
| 4 | uint32_t | Anzahl der Iterationen für PBKDF2 |
| 8 | 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 | ||
Die nachfolgende Auflistung erhebt keinen Anspruch auf Vollständigkeit. Je nach Einsatzzweck variiert außerdem die Relevanz der einzelnen Eigenschaften, so dass diese Auflistung keine allgemein gültige Wertung von LUKS ermöglicht.
Bedingt durch den zusätzlichen Rechenaufwand der Verschlüsselungsalgorithmen entstehen Performanceeinbußen, der Datendurchsatz sinkt gegenüber unverschlüsselten Datenträgern. Eine Verbesserung kann durch schnellere Prozessoren, Mehrkernprozessoren, der Optimierung der Algorithmen auf die jeweilige Architektur oder einer Implementierung als Hardwareverschlüsselung erreicht werden.
Auf mit dm-crypt verschlüsselte Daten sind teilweise kryptographische Angriffe denkbar:[2]
Mit FreeOTFE existiert eine zu LUKS kompatible Implementierung für Microsoft Windows.
Ein vom Funktionsumfang annähernd vergleichbares alternatives Produkt für Windows und Linux ist TrueCrypt. DiskCryptor (für Microsoft Windows) nutzt ein anderes Format, aber ist dafür freie Software.