SDB:Kryptofilesystem 9.3

aus openSUSE, der freien Wissensdatenbank


Version: 9.3

Inhaltsverzeichnis

Ändern von Kryptopartitionen/-Dateien in SUSE Linux Professional 9.3

Technischer Hintergrund

Mit SUSE LINUX 9.3 haben wir das Verschlüsselungsmodul von loop_fish2 auf twofish umgestellt. Zusammen mit cryptoloop ist twofish nun der Standard für Kryptopartitionen. Die Umstellung wurde vorgenommen, da twofish zusammen mit cryptoloop sicherer ist (cryptoloop verwendet als Initialisierungsvektor die Blocknummer, während loop_fish2 hierzu stets die Null verwendet) und als Standardlösung für Kryptopartitionen eingesetzt wird.

ACHTUNG: NICHT FSCK AUSFÜHREN

Die beiden Module verwenden ein unterschiedliches On-Disk-Format, sodass beim Zugriff über das falsche Modul die Skripte für das automatische Booten zwar das Dateisystem erkennen (da in beiden Fällen der erste Block ziemlich gleich ist), doch feststellen, dass der Rest falsch aussieht und deshalb einen Dateisystemcheck vorschlagen. Führen Sie diesen Dateisystemcheck nicht aus – antworten Sie stattdessen mit Nein und stellen Sie sicher, dass das richtige Modul verwendet wird. Falls Sie diesen Warnhinweis nicht beachten, führt der Dateisystemcheck unweigerlich zum Totalverlust Ihrer Daten.

SUSE Linux verwendet künftig die folgenden Kryptofilesystem-Implementierungen:

SUSE-Version Verschlüsselung Schlüssellänge Kernelmodule Initialisierungsvektor (IV)
Vor 9.1 twofish 160 Bit loop_fish2 Konstante
9.1 und 9.2 twofish256 256 Bit loop_fish2 Konstante
9.3 twofish256 256 Bit twofish, cryptoloop Blocknummer

Wie Sie sehen, ist der Name des Verschlüsselungsalgorithmus twofish256 zwar derselbe für SUSE LINUX 9.1/9.2 und 9.3, doch es wird jeweils ein anderes Kernelmodul verwendet. Leider verwenden die beiden Module nicht das gleiche On-Disk-Format, sodass die Module inkompatibel sind. Natürlich lässt sich auch nicht feststellen, welches On-Disk-Format vorliegt, da sich sonst der Verschlüsselungstyp aus verschlüsselten Daten ableiten ließe, woraus wiederum eine Sicherheitslücke entstünde.

Diese Einschränkungen ziehen einige Probleme nach sich, die sich nicht durch ein technisches Verfahren abdecken lassen. Daher ist für den folgenden Fall ein manueller Eingriff erforderlich:

Neuinstallation und Zugriff auf alte Kryptopartition

Wenn Sie SUSE LINUX 9.3 neu installieren, um damit auf bereits bestehtende Kryptopartitonen aus SUSE LINUX 9.1 oder 9.2 zuzugreifen, müssen Sie in Ihren Konfigurationsdateien den richtigen Verschlüsselungsnamen angeben. Dies ist entweder /etc/cryptotab oder /etc/fstab. Wie erwähnt, gibt es 3 verschiedene Implementationen, von denen zwei denselben Verschlüsselungsnamen verwenden. Um diese beiden voneinander zu unterscheiden, haben wir den Verschlüsselungsnamen twofishSL92 als Alias für twofish256 mit loop_fish2 implementiert. Ändern Sie also in Ihren Konfigurationsdateien:

twofish256 in twofishSL92

Beispiel:

Alte cryptotab-Datei aus SUSE LINUX 9.2:

/dev/loop0  /dev/hda3  /secret  reiserfs  twofish256 noatime

Neue cryptotab-Datei in SUSE LINUX 9.3:

/dev/loop0  /dev/hda3  /secret  reiserfs  twofishSL92 noatime

Folgende Fälle konnten durch technische Lösungen abgedeckt werden:

Update älterer Distributionen

Während eines System-Updates werden /etc/fstab und /etc/cryptotab vom YaST-Installationsprogramm geändert.

Installation einer neuen Distribution

Neuinstallationen verwenden ausschließlich das neue Cryptoloop-Modul.