|
|
Lexikon auf Ihrer Homepage |
|
Lexikon als Lesezeichen hinzufügen |
| TrueCrypt | |
|---|---|
| | |
| Basisdaten | |
| Entwickler | TrueCrypt Foundation |
| Aktuelle Version | 7.1a (7. Februar 2012) |
| Betriebssystem | Windows, Mac OS X, Linux |
| Programmiersprache | C, C++, Assembler |
| Kategorie | Festplattenverschlüsselung |
| Lizenz | TrueCrypt License |
| Deutschsprachig | Ja (Windows) |
| truecrypt.org | |
TrueCrypt ist eine Software zur Datenverschlüsselung, insbesondere der vollständigen oder partiellen Verschlüsselung von Festplatten und Wechseldatenträgern. Das Programm läuft unter Windows ab der Version 2000, unter Mac OS X ab Version 10.4 und unter Linux mittels FUSE. TrueCrypt ist zwar auch als Quellcode verfügbar und in der Lizenzvereinbarung wird erwähnt, dass TrueCrypt „Open-source“ und „frei“ sei [1], dennoch gilt die Software aufgrund rechtlicher Probleme weder als freie Software noch entspricht sie der Open-Source-Definition.
Inhaltsverzeichnis |
TrueCrypt bietet die Verschlüsselungsalgorithmen AES, Twofish und Serpent an. Neben der Verwendung eines einzelnen Algorithmus steht auch die Option zur Verfügung, mehrere Algorithmen zu kaskadieren.
TrueCrypt kennt drei Arbeitsweisen im Umgang mit verschlüsselten Daten:
Ein besonderes Sicherheitsmerkmal von TrueCrypt ist das Konzept der glaubhaften Abstreitbarkeit (engl. plausible deniability), also die Möglichkeit, bewusst Spuren versteckter Daten zu vermeiden. Dadurch ist es sehr schwierig bis unmöglich, die Existenz verschlüsselter Daten nachzuweisen. TrueCrypt bietet hierfür zwei Funktionen:
Seit Version 3.1 unterstützt TrueCrypt auch einen sogenannten „Portable Mode“, womit das Programm nicht mehr installiert werden muss (siehe auch Portable Software). Dadurch kann es z. B. von USB-Sticks gestartet werden. Für diesen Modus werden auf den Windows-Betriebssystemen jedoch Administrator-Rechte benötigt, da, wie auch in der installierten Variante, beim Start von TrueCrypt für die (transparente) Ver- und Entschlüsselung ein Gerätetreiber geladen werden muss.
Alternativ ist der Start unter einem Live-System auf Windows-Basis wie Windows PE oder Bart PE möglich. Da diese Systeme von sich aus nicht auf die Festplatte schreiben, sondern lediglich im Hauptspeicher agieren, ist eine hohe Sicherheit gewährleistet.
Seit Version 5.0 unterstützt TrueCrypt auch die „Full System Encryption“ bzw. „Whole Disk Encryption“ (auch bekannt als Pre-Boot Authentication) genannte vollständige Verschlüsselung von Windows-Systempartitionen oder auch der gesamten Festplatte, auf der sich eine Systempartition befindet. Unterstützt werden zurzeit Windows XP, Windows Vista, Windows 7 und Windows Server 2003, jeweils in den 32- oder 64-Bit-Ausführungen.[4] Ist die gesamte Systempartition verschlüsselt, erscheint vor dem Starten des Betriebssystems ein spezieller TrueCrypt-Bootloader, der zur Kennworteingabe auffordert. Diese Aufforderung kann man seit Version 6.1 aber auch unterdrücken oder durch einen eigenen Text ersetzen.[5] Da der Bootloader unverschlüsselt auf der Festplatte gespeichert ist, greift hier das Prinzip der glaubhaften Abstreitbarkeit nicht.[6] Stattdessen kann jedoch ein verstecktes Betriebssystem innerhalb einer Truecrypt-Partition abgelegt werden. Ein Vorteil der Verschlüsselung der Systempartition ist, dass Temp-, Swap- und Ruhezustand-Dateien verschlüsselt auf der Partition abgelegt werden. Allerdings ist dies ab Version 7.0 auch für Windows Vista und Windows 7 Systeme auch ohne Systemverschlüsselung möglich. TrueCrypt verwendet hier allerdings Microsoft Windows eigene Verschlüsselungsmechanismen, um diese Dateien sicher abzulegen.
Es ist sowohl möglich, bereits vorhandene Systempartitionen und -festplatten im laufenden Windows-Betrieb zu verschlüsseln, als auch diesen Vorgang zu unterbrechen und zu einem späteren Zeitpunkt fortzusetzen. Auch ist es möglich, ebenfalls im laufenden Windows-Betrieb, die Verschlüsselung wieder rückgängig zu machen. Noch nicht vollständig ver- bzw. entschlüsselte Partitionen können nicht von einem anderen System gemountet werden. Es ist daher ratsam, den Prozess nicht unnötig zu unterbrechen.
Zu Beginn des Verschlüsselungsvorgangs einer Systempartition oder -festplatte erstellt TrueCrypt ein ISO-Abbild für eine systemspezifische Rettungs-CD („Rescue Disk“), welche im Notfall die Wiederherstellung des defekten Kopfbereichs oder des Bootloaders ermöglicht. [7] Die Daten der Partition können durch die CD nicht wiederhergestellt werden. Das ISO-Abbild muss anschließend auf CD gebrannt werden; TrueCrypt startet die Verschlüsselung erst, nachdem die fehlerfreie Lesbarkeit der Rettungs-CD geprüft wurde. Administratoren können diese sonst zwingende Verifikation durch virtuelle Laufwerke oder eine Kommandozeilenoption umgehen, um die Abbilder mehrerer Rechner zentral zu sammeln und nur im Bedarfsfall zu brennen.
Seit Juli 2009 existiert ein Bootkit für alle Windows-Versionen der x86-Architektur, welches die Eingabe des Kennworts für die TrueCrypt Pre-Boot Authentication ausspähen kann. Bislang sind alle X86-Rechner mit herkömmlichem BIOS davon betroffen, EFI-Systeme dagegen nicht. Nach einer erfolgreichen Infektion kann das Bootkit, das bei einem Rechnerstart zuerst geladen wird und sich zwischen Windows und TrueCrypt hängt,[8] nicht von Virenscannern erkannt werden.
Aufgrund ihres hohen Durchsatzes insbesondere bei zufällig verteilten Lese- und Schreiboperationen bieten sich Solid State Drives (SSD) als Trägermedien für verschlüsselte Containerdateien und Partitionen an. Wegen der Funktionsweise von SSDs, die sich von denen herkömmlicher Festplatten (HDD) grundlegend unterscheidet, ist bisher noch nicht abschließend geklärt, welche Auswirkungen SSD-spezifische Funktionen wie beispielsweise das ATA-TRIM-Kommando oder das in den Controllern von SSDs implementierte Wear-Leveling im Zusammenspiel mit dem Einsatz von TrueCrypt auf die Leistung und Langlebigkeit von SSDs haben.[9] Zumindest beim Einsatz von verschlüsselten Systempartitionen leitet TrueCrypt das TRIM Kommando an die SSD weiter. Dies gilt für alle Partitionen, die durch die Systemverschlüsselung geschützt sind, nicht jedoch beim Verschlüsseln von herkömmlichen Partitionen und Containern. Durch das Weiterreichen des TRIM-Kommandos kann ein Angreifer feststellen, wie viele Daten tatsächlich auf der SSD gespeichert sind. Bei versteckten Betriebssystemen wird das TRIM-Kommando nicht durchgereicht, um die glaubhafte Abstreitbarkeit zu gewährleisten.[10]
Möglicherweise ist es bei der Verschlüsselung ganzer SSD-Laufwerke oder ganzer Partitionen empfehlenswert, einen Teil des Speicherplatzes der SSD ungenutzt (unpartitioniert) zu belassen, um dem SSD-Controller die Möglichkeit zu geben, die freien Blöcke für das Wear-Leveling zu nutzen und so die Langlebigkeit der SSD zu erhöhen. Bei Systempartitionen ohne verstecktes Betriebssystem ist dies nicht notwendig (s.o.).
Insbesondere die Performance beim Lesen von verschlüsselten SSDs wurde durch die Unterstützung von Read-Ahead-Buffering unter Windows seit Version 6.2 verbessert.
Es existiert ein Angriffsszenario, das zur Erlangung des geheimen TrueCrypt-Passworts führen kann.[11] Voraussetzung ist ein gerade laufendes System mit gemountetem TrueCrypt Volume.[12] (Es existiert dasselbe Angriffsszenario auch für Microsofts BitLocker-Verschlüsselung.) In diesem Zustand kann bei Vorhandensein eines FireWire-Anschlusses mit einer speziellen Software über die FireWire-Verbindung der Inhalt des Arbeitsspeichers kopiert werden. Dieses Speicherabbild kann danach mit der Angriffssoftware durchsucht und das Passwort extrahiert werden. Damit kann schließlich vom Angreifer das TrueCrypt-Volume gemountet und gelesen werden. Der Hersteller bietet die Software außer für Behörden auch für Privatdetektive an. [13]
TrueCrypt basiert auf Encryption for the Masses (E4M), dessen Entwicklung im Jahr 2000 eingestellt worden war. Anfang 2004 wurde das Programm als TrueCrypt weiterentwickelt. Ein Nachteil dieser allmählichen Entwicklung ist die uneinheitliche Lizenz. Der Quellcode des Programms ist zwar offen, allerdings besitzen einzelne Programmteile unterschiedliche und teilweise autorenspezifische Lizenzen, die dann in der TrueCrypt Collective License zusammengefasst werden, welche weder von der OSI zertifiziert noch von der Free Software Foundation als frei anerkannt wurde und GPL-inkompatibel ist. Eine Vereinheitlichung der Lizenz steht derzeit nicht in Aussicht, da dafür die Zustimmung aller beteiligten Urheber nötig wäre. Nach einer Prüfung der Lizenz in Version 1.3 sah Debian aufgrund möglicher rechtlicher Probleme der Lizenz davon ab, diese als DFSG-konform anzuerkennen[14], und auch das Fedora-Projekt rät aus den gleichen Gründen vom Einsatz der Software ab.[15] Die aktuelle Lizenz-Version 3.0 erlaubt nur eine Weitergabe in unveränderter Form für das komplette Programm. Allerdings kann man Teile der Software bzw. des Quellcodes verwenden und in eigenen Projekten benutzen, wenn Lizenz und Urheber im Programm bzw. Projekt angegeben werden und das eigene Projekt keinen ähnlich klingenden Namen trägt.
Verschiedene Versionen für Linux gibt es seit Version 4.0. Seit Version 4.2 ist es auch möglich, unter Linux verschlüsselte Partitionen zu erstellen, davor war nur das Benutzen von unter Windows erstellten Partitionen möglich. Seit Version 5.0 steht TrueCrypt auch für Mac OS X 10.4 und 10.5 zur Verfügung. Seit Version 6.0 besteht auch unter Linux und Mac OS X die Möglichkeit, versteckte Container (hidden volumes) zu erstellen; weiterhin ist in Version 6.0 durch Parallelisierung die Leistung auf Multi-Core-Prozessoren wesentlich verbessert worden.
Die Version 6.1 unterstützt die Anbindung kryptografischer Token und Smartcards über den Kryptografie-Standard PKCS#11.[16]
Die Version 6.2 soll durch verbesserte Nutzung von Read-Ahead-Buffern die Geschwindigkeit von Truecrypt besonders bei der Nutzung von Solid State Disks (SSD) verbessern. [17]
Die Version 6.3 hat unter anderem den Support auch auf Windows 7 und Mac OS X 10.6 ausgedehnt.
Mit Version 7.0 wurde eine Unterstützung für Hardware-beschleunigtes AES eingeführt.[18] Diese Option ist bei entsprechender Systemkonfiguration standardmäßig aktiviert, kann jedoch optional abgeschaltet werden.
Für spätere Versionen des Programms ist ein TrueCrypt-API zur Ansteuerung der Software durch andere Programme, eine Rohverschlüsselung für CD- und DVD-Volumes, vorgesehen. Zudem sollen in der Windows-Version Optionen zur Erstellung von Volumes aus der Kommandozeile hinzugefügt werden; diese sind in den Versionen für Linux und Mac OS X bereits verfügbar.[19]
Transparente Ver- und Entschlüsselung von Daten bieten neben TrueCrypt außerdem:
sowie die proprietären Closed-Source-Produkte: