AP1.Vergleich_Windows_Linux_v1.0_geschwrzt.pdf

Dieses Dokument ist Teil der Anfrage „Untersuchungen zum Verschlüsselungsprogramm „TrueCrypt“

Einstufung aufgehoben VS – NUR FÜR DEN DIENSTGEBRAUCH Untersuchung TrueCrypt Arbeitspaket 1 Funktionale Unterschiede zwischen Microsoft Windows und Linux Version Version: Datum: 1.0 15. September 2010
Historie

Version Autor Kommentar

 

Seite 2 von 26 ( I 7 | 2010
Inhaltsverzeichnis 1 Einleitung............................................................................................................................................. 5 1.1 Einführung.................................................................................................................................... 5 1.2 Verwendete Begriffe..................................................................................................................... 5 2 Methodik.............................................................................................................................................. 6 3 Versionsvergleich................................................................................................................................. 7 3.1 Gegenüberstellung....................................................................................................................... 7 3.2 Erläuterung................................................................................................................................. 10 3.2.1 Erstellen einer verschlüsselten Container-Datei.................................................................. 10 3.2.2 Erstellen einer verschlüsselten Partition (ohne Systemdateien).......................................... 10 3.2.3 Verschlüsseln der Systempartition oder -festplatte (Systemverschlüsselung) ..................... 10 3.2.4 Existierende Partition verschlüsseln.................................................................................... 10 3.2.5 Volume umschlüsseln ......................................................................................................... 10 3.2.6 Passwort ändern.................................................................................................................. 11 3.2.7 Volume-Header sichern / wiederherstellen.......................................................................... 11 3.2.8 Algorithmus für Headerschlüsselberechnung ändern.......................................................... 11 3.2.9 Erstellen einer TrueCrypt Rescue Disk................................................................................ 12 3.2.10 Versteckte Volumes........................................................................................................... 12 3.2.11 Schutz für versteckte Volumes.......................................................................................... 12 3.2.12 Verschlüsselungsalgorithmen........................................................................................... 13 3.2.13 Hash-Algorithmen............................................................................................................ 13 3.2.14 Eingänge des ZufallszahlengeneratorsZufallsquellen....................................................... 13 3.2.15 Kryptografischer „Mode of Operation“............................................................................... 14 3.2.16 Security Tokens und Smartcards....................................................................................... 14 3.2.17 Benutzung / Erstellung von Keyfiles.................................................................................. 15 3.2.18 Multi-Faktor-Authentisierung............................................................................................. 15 3.2.19 Pre-Boot-Authentication.................................................................................................... 15 3.2.20 Revoke Authentication....................................................................................................... 15 3.2.21 Pipelining während Ver- und Entschlüsselung.................................................................. 16 Seite 3 von 26 | | 2010
3.2.22 AES Hardwarebeschleunigung.......................................................................................... 16 3.2.23 Sprachunterstützung......................................................................................................... 16 3.2.24 Hotkeys............................................................................................................................. 16 3.2.25 Benutzen/Verwaltungen von Favoriten.............................................................................. 16 3.2.26 Ausführen von TrueCrypt ohne Administrator Rrechte...................................................... 17 3.2.27 Portable Version................................................................................................................ 18 3.2.28 Trennen der Volumes bei Energiesparmodus (Standby, Ruhezustand)............................ 18 3.2.29 Sicherer Ruhezustand....................................................................................................... 18 3.2.30 Passwort Caching............................................................................................................. 18 3.2.31 Grafisches Benutzer Interface (GUI) / Kommandozeileninterface (CLI)............................ 19 3.2.32 Verschiedene Dateisysteme.............................................................................................. 20 3.2.33 Unterschiede im Quellcode............................................................................................... 20 3.2.34 Nicht unterstützte Funktionsklassen.................................................................................. 21 4 Nicht vorhandene Funktionen............................................................................................................ 23 4.1 Linux........................................................................................................................................... 23 4.1.1 Systemverschlüsselung....................................................................................................... 23 4.1.2 Pipelining............................................................................................................................. 23 4.1.3 Sprachunterstützung........................................................................................................... 23 4.1.4 Hotkey-Unterstützung.......................................................................................................... 23 4.1.5 Portable Version.................................................................................................................. 23 4.1.6 Sicherer Ruhezustand......................................................................................................... 23 5 ASE_INT.NfD – Security Target Introduction...................................................................................... 24 5.1 ST / TOE Reference................................................................................................................... 24 5.2 TOE Overview............................................................................................................................ 24 5.2.1 Usage and major security features of the TOE.................................................................... 24 5.2.2 TOE Type............................................................................................................................ 24 5.2.3 Required non-TOE hardware/software/firmware................................................................. 24 5.3 TOE Description......................................................................................................................... 25 5.3.1 Physical Scope.................................................................................................................... 25 5.3.2 Logical Scope...................................................................................................................... 25 Seite 4 von 26 | | 2010
1 Einleitung 1.1 Einführung Ziel des Projektes ist es, genaue Kenntnisse über den Aufbau und die Funktionsweise sowie über die Sicherheit des Produktes „TrueCrypt“ zu erhalten und die Weiterentwicklung des Produktes vorzubereiten. Als erster Schritt dafür ist eine Analyse der Funktionen und Möglichkeiten von TrueCrypt und die Erstellung einer Übersicht über die funktionalen Unterschiede notwendig, welche zwischen der MS-Windows- und Linux-Version von TrueCrypt bestehen. Diese Unterschiede sind in verschiedenen Bereichen der Software zu finden und können unter anderem die graphische Oberfläche, die Kommandozeilenwerkzeuge oder den Pre-Boot-Mechanismus betreffen. Die folgende Dokumentation beschreibt die vorgenommene Analyse der MS Windows und Linux Version von TrueCrypt und stellt die gefundenen Unterschiede in einer kategorisierten und eindeutig durchnummerierten Tabelle dar. Es wird die Funktion benannt, eine detailliertere Beschreibung gegeben und gegebenenfalls Unterschiede zwischen den Versionen beschrieben. Ein vollständiges, teilweises oder gar nicht Vorhandensein wird mit entsprechenden Symbolen gekennzeichnet ,-,) . ( 1.2 Verwendete Begriffe Begriff Erläuterung Eine Datei, die aus „Löchern“ – Sequenzen von Nullbytes und den eigentlichen Daten Sparse-Datei besteht. Die Nullbytesequenzen werden nicht gespeichert und benötigen somit keinen Speicherplatz. Volume Ein zusammenhängend adressierbarer Block auf einem Speichermedium, der für ein oder mehrere Dateisysteme benutzt werden soll, z.B. Festplatte, Festplattenpartition, USB-Speichermedium, Container-Datei. Auf diesem Volume werden die Dateien von TrueCrypt verschlüsselt abgelegt. Seite 5 von 26 | | 2010
2 Methodik Um die Funktionen besser testen und vergleichen zu können, wurden zwei virtuelle Maschinen mit Windows XP und Linux erstellt. Als Linux-Variante wurde Ubuntu als eine der am weitesten verbreiteten Distributionen in der Version 10.04 gewählt. Dies ist eine LTS-Version (Long Term Support) mit 5 Jahren Support, sodass die Ergebnisse relativ lange verwendbar sein werden. Die Resultate sind im Prinzip auch auf andere Linux-Varianten übertragbar, insbesondere auf Debian, auf dem Ubuntu basiert, das aber bei der Aufnahme von Programmversionen in eine stabile Version sehr konservativ und auch wesentlich aufwändiger in der Konfiguration ist. Nachträglich wurden diese Tests erneut mit MS Windows 7 durchgeführt und die Resultate in die Tabelle aufgenommen. Als zu 1 testende TrueCrypt Version wurde die zum Erstellungszeitpunkt aktuellste Version (7.0 ) gewählt und auf den betreffenden Betriebssystemen installiert. Hierbei traten keine gravierenden Unterschiede oder Probleme auf. Als erstes wurden die beiden graphischen Oberflächen untersucht und verglichen, wobei auch hier keine nennenswerten Unterschiede auffielen. Lediglich die Einträge in der Menüleiste wiesen unterschiedliche Funktionen auf, welche in einem späteren Schritt mit näheren Beschreibungen aus der TrueCrypt Dokumentation in die unten stehende Tabelle eingefügt wurden. Im zweiten Schritt wurden parallel in beiden Betriebssystemen auf den ersten Blick erkennbare Funktionen getestet. Dazu gehörten unter anderem die Erstellung von verschlüsselten Container- Dateien in unterschiedlichen Größen und mit unterschiedlichen Formaten und Algorithmen, die Verschlüsselung einer kompletten Partition und die Nutzung von Keyfiles. Da alle in diesem Schritt getesteten Funktionen direkt in beiden Betriebssystemen verifiziert wurden, konnten bestehende Unterschiede eindeutig identifiziert werden. Um den kompletten Funktionsumfang von TrueCrypt zu identifizieren und weiterführende Informationen über bereits bekannte Funktionen zu erhalten, wurde in einem weiteren Schritt die 2 offizielle TrueCrypt Dokumentation vollständig analysiert. Einige neu identifizierte Funktionen wurden in den virtuellen Maschinen getestet, sowie alle festgestellten Unterschiede in der Tabelle vermerkt und beschrieben. Es wurde zusätzlich eine grobe Quellcodeanalyse durchgeführt, wobei unter anderem die Quellen der 3 MS Windows und Linux Version mit dem Tool „WinMerge “ verglichen wurden. Die Ergebnisse wurden ebenfalls in der Tabelle vermerkt. Zuletzt konnten noch einige weiterführende Informationen in diversen Foren und durch die Suchmaschine Google gefunden werden. 1 http://www.truecrypt.org/downloads 2 http://www.truecrypt.org/docs/ 3 http://winmerge.org/ Seite 6 von 26 | 2010
3 Versionsvergleich In diesem Abschnitt werden die TrueCrypt Versionen für MS Windows und Linux gegenübergestellt. In 3.1 (Gegenüberstellung) werden die Funktionen aufgelistet und die Unterstützung der jeweiligen Version durch entsprechende Symbole dargestellt. In 3.2 (Erläuterung) erfolgt dann die detaillierte Beschreibung der einzelnen Punkte. Funktion Ubuntu 10.04 Kategorie Windows 7 ID Gegenüberstellung Windows XP 3.1 3.2.1 Verschlüsselung Erstellen einer verschlüsselten Container-Datei  3.2.2 Verschlüsselung Erstellen einer verschlüsselten Partition (ohne Systemdateien)  3.2.3 Verschlüsselung Verschlüsseln der Systempartition oder -festplatte (Systemverschlüsselung)  3.2.4 Verschlüsselung Existierende Partition verschlüsseln   3.2.5 Sicherheit Volume umschlüsseln   3.2.6 Sicherheit Passwort ändern  3.2.7 Sicherheit Volume-Header sichern / wiederherstellen  3.2.8 Sicherheit Algorithmus für Headerschlüsselberechnung ändern  3.2.9 Sicherheit Erstellen einer TrueCrypt Rescue Disk  3.2.10 Sicherheit Versteckte Volumes  - Seite 7 von 26 | | 2010
Ubuntu 10.04 Funktion Windows 7 Kategorie Windows XP ID 3.2.11 Sicherheit Schutz für versteckte Volumes   3.2.12 Sicherheit Verschiedene Verschlüsselungsalgorithmen  3.2.13 Sicherheit Verschiedene Hash-Algorithmen  3.2.14 Sicherheit Eingänge des Zufallszahlengenerators 3.2.15 Sicherheit Kryptografischer 'Mode of Operation'  3.2.16 Authentisierung Security Tokens und Smartcards  3.2.17 Authentisierung Benutzung / Erstellung von Keyfiles  3.2.18 Authentisierung Multi-Faktor-Authentisierung  3.2.19 Authentisierung Pre-Boot-Authentication  3.2.20 Authentisierung Revoke Authentication    3.2.21 Performance Pipelining während Ver- und Entschlüsselung  3.2.22 Performance AES Hardware Beschleunigung  - - - 3.2.23 Benutzerfreundlichkeit Sprachunterstützung  3.2.24 Benutzerfreundlichkeit Hotkeys  Seite 8 von 26 | | 2010
3.2.25 Ubuntu 10.04 Funktion Windows 7 Kategorie Windows XP ID Benutzerfreundlichkeit Benutzen von Favoriten   Benutzerfreundlichkeit Verwalten von Favoriten  3.2.26 Benutzerfreundlichkeit Ausführen von TrueCrypt ohne Administratorrechte - - - 3.2.27 Benutzerfreundlichkeit Portable Version  Trennen der Volumes bei Energiesparmodus 3.2.28 Benutzerfreundlichkeit (Standby, Ruhezustand)  3.2.29 Benutzerfreundlichkeit Sicherer Ruhezustand  3.2.30 Benutzerfreundlichkeit Passwort Caching  Grafisches Benutzer Interface (GUI)  - 3.2.31 Benutzerfreundlichkeit Kommandozeileninterface (CLI) - - - 3.2.32 Benutzerfreundlichkeit Verschiedene Dateisysteme - - - 3.2.33 Quellcode Unterschiede im Quellcode - - - 3.2.34 Quellcode Nicht unterstützte Funktionsklassen - - - Seite 9 von 26 2010
3.2 Erläuterung 3.2.1 Erstellen einer verschlüsselten Container-Datei Diese Funktion erstellt eine verschlüsselte Datei, welche als Container fungiert und nach dem Einbinden wie ein normaler Datenträger behandelt werden kann. Unter Windows können diese zusätzlich als dynamisch eingestellt werden, d.h. belegen im leeren Zustand nur den tatsächlich benötigten Platz für die internen Verwaltungsinformationen und wachsen beim Speichern von Dateien in dem Volume entsprechend mit. Beim Löschen schrumpfen diese allerdings nicht wieder und sie besitzen auch andere Nachteile (z.B. Performance, Sichtbarkeit von leeren Bereichen nach außen). Das Erstellen von verschlüsselten Container-Dateien ist in allen getesteten Versionen verfügbar. 3.2.2 Erstellen einer verschlüsselten Partition (ohne Systemdateien) Diese Funktion erstellt eine verschlüsselte Partition auf einem internen oder externen Medium. Die Partition enthält kein Betriebssystem. Das Erstellen von verschlüsselten Partitionen ist in allen getesteten Versionen verfügbar. 3.2.3 Verschlüsseln der Systempartition oder -festplatte (Systemverschlüsselung) Diese Funktion verschlüsselt die Systempartition (-festplatte) und somit das komplette Betriebssystem. Das Verschlüsseln kann abgebrochen und fortgesetzt werden. Vor dem Bootvorgang muss sich der Benutzer per Volume-Passwort authentisieren. Im Anschluss daran wird das Betriebssystem geladen. Diese Funktion ist nur unter den beiden Windows Versionen möglich, unter der Linux Version wurde diese Funktion noch nicht implementiert. Gründe diesbezüglich werden in Abschnitt 4.1.1 aufgezeigt. 3.2.4 Existierende Partition verschlüsseln Mit dieser Funktion kann eine existierende unverschlüsselte Partition, welche schon Daten enthält, verschlüsselt werden, ohne dass diese Daten dabei verloren gehen. Das Verschlüsseln von existierenden Partitionen ist erst ab Windows Vista und unter Linux gar nicht möglich. 3.2.5 Volume umschlüsseln Beim Umschlüsseln des Volumes wird der Schlüssel mit dem die Daten verschlüsselt sind geändert. Dazu muss jeder Datenblock des Volumes gelesen, mit dem alten Schlüssel entschlüsselt, mit dem neuen Schlüssel verschlüsselt und dann wieder gespeichert werden. TrueCrypt bietet in keiner der getesteten Versionen die Umschlüsselung des Volumes an. Seite 10 von 26 | | 2010
Go to next pages