TrueCrypt

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
TrueCrypt
Screenshot
Basisdaten
Entwickler TrueCrypt Foundation
Aktuelle Version 7.1a
(7. Februar 2012)
Betriebssystem Windows, Mac OS X, Linux
Programmier­sprache C, C++, Assembler
Kategorie Festplattenverschlüsselung
Lizenz TrueCrypt License (Freeware, proprietär)
Deutschsprachig Ja (Windows)
www.truecrypt.org

TrueCrypt ist eine Software zur Datenverschlüsselung, insbesondere zur 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 „quelloffen“ und „frei“ sei[1], dennoch gilt die Software aufgrund rechtlicher Probleme weder als Freie Software, noch entspricht sie der Open-Source-Definition der Open Source Initiative.

Funktionen[Bearbeiten]

Algorithmen[Bearbeiten]

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.

Partitions- oder Container-Verschlüsselung[Bearbeiten]

TrueCrypt kennt drei Arbeitsweisen im Umgang mit verschlüsselten Daten:

  1. Ein ganzes Gerät (beispielsweise eine Festplatte) wird verschlüsselt. Das führt dazu, dass Betriebssysteme das verschlüsselte Gerät als nicht initialisiert ansehen und u. U. zur Partitionierung raten werden, solange das Gerät nicht eingehängt ist. Diese Partitionsverschlüsselung ist schneller als die nachfolgend beschriebene Methode, jedoch werden vorhandene Daten bei der Verschlüsselung überschrieben (ausgenommen bei der Verschlüsselung der Systemplatte).
  2. Eine bestehende Partition wird verschlüsselt. Dabei kann nur eine komplette Systempartition ohne Verlust der vor der Verschlüsselung vorhandenen Daten verschlüsselt werden. Bei anderen Partitionen oder externen Laufwerken werden die vor der Verschlüsselung vorhandenen Daten gelöscht und sollten vorher extern gesichert werden.
  3. TrueCrypt kennt sogenannte Container-Dateien. Container sind insbesondere geeignet, auf einer ansonsten nicht verschlüsselten Partition einen privaten verschlüsselten Bereich für sensible Daten anzulegen. Innerhalb eines Containers verwaltet TrueCrypt ein Dateisystem. Zum Lesen und Schreiben mountet TrueCrypt diese Datei. Unter Windows wird dazu ein neues virtuelles Laufwerk erstellt. Unter Mac OS X und Linux wird der Container in ein beliebiges Verzeichnis eingehängt. Zugriffe auf das Laufwerk/das Verzeichnis unterscheiden sich nicht von Zugriffen auf andere, nicht durch TrueCrypt erzeugte Pendants. Die Ver- und Entschlüsselung übernimmt der TrueCrypt-Treiber im Hintergrund (englisch on the fly). Container können, wenn sie nicht eingebunden sind, wie normale Dateien behandelt werden, beispielsweise auf eine DVD gebrannt werden.

Konzept der glaubhaften Abstreitbarkeit[Bearbeiten]

Ein besonderes Sicherheitsmerkmal von TrueCrypt ist das Konzept der glaubhaften Abstreitbarkeit (englisch plausible deniability), also die Möglichkeit, bewusst Spuren versteckter Daten zu vermeiden. Dadurch soll es unmöglich sein, die Existenz verschlüsselter Daten nachzuweisen. TrueCrypt bietet hierfür eine besondere Funktion: Versteckte Container (Hidden Volumes) können innerhalb des freien Speicherplatzes eines anderen verschlüsselten Volumes versteckt werden. Wird man z. B. gezwungen, das Passwort für das Volume herauszugeben, gibt man nur das Passwort für das äußere Volume heraus; das versteckte und mit einem anderen Passwort verschlüsselte Volume bleibt unentdeckt. So sieht ein Angreifer nur unwichtige Alibi-Daten, die vertraulichen Daten sind verschlüsselt im freien Speicherplatz des verschlüsselten Volumes verborgen.[2] Allerdings ist zu beachten, dass auf dem physischen Datenträger, im Betriebssystem oder innerhalb der verwendeten Programme Spuren zurückbleiben können, die die Existenz des versteckten Volumes für einen Angreifer offenbaren.[3]

Portabler Modus[Bearbeiten]

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.

Verschlüsselung von Systempartitionen[Bearbeiten]

Seit Version 5.0 unterstützt TrueCrypt auch die „Full System Encryption“ bzw. „Whole Disk Encryption“ genannte (auch als Pre-Boot Authentication bekannte) 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 für Windows-Vista-, Windows-7- und Windows-8-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.

Funktionalität mit Solid State Drives (SSD)[Bearbeiten]

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.[8] 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.[9]

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.

Angriffsszenario[Bearbeiten]

Seit Juli 2009 kursiert ein Bootkit für alle Windows-Versionen der x86-Architektur, welches die Eingabe des Kennworts für die TrueCrypt-Pre-Boot-Authentifizierung 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,[10] nicht von Virenscannern erkannt werden.

Es existiert ein weiteres Angriffsszenario, das zur Erlangung des geheimen TrueCrypt-Passworts führen kann. Voraussetzung ist ein gerade laufendes System mit gemountetem TrueCrypt-Volume.[11] In diesem Zustand kann auch bei gesperrtem Computer mit einer speziellen Software über eine 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.

Auch der Einsatz einer sogenannten Cold Boot Attacke kann zum Angriff auf einen mit TrueCrypt verschlüsselten Datenträger genutzt werden. Hierbei ist es unter bestimmten Bedingungen in einem eng bemessenen Zeitfenster nach Ausschalten eines Computers möglich, die zur Entschlüsselung benötigten kryptographischen Schlüssel aus dem Arbeitsspeicher auszulesen.

Lizenz[Bearbeiten]

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.[12] Auch das Fedora-Projekt rät aus den gleichen Gründen vom Einsatz der Software ab.[13] 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.

Geschichte[Bearbeiten]

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 Kryptographie-Standard PKCS#11.[14]

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.[15]

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.[16] Diese Option ist bei entsprechender Systemkonfiguration standardmäßig aktiviert, kann jedoch optional abgeschaltet werden.

In Folge der globalen Überwachungs- und Spionageaffäre gab es verstärkte Bemühungen, die Zuverlässigkeit von TrueCrypt zu verbessern und vertrauenswürdige Binärdateien zur Verfügung zu stellen. Zu diesem Zweck wurde mittels mehrerer Crowdfunding-Kampagnen über 60.000 Dollar gesammelt, mit dem unter anderem externe Sicherheitsunternehmen mit einem Audit des Quelltextes beauftragt werden sollten. Hierfür sagte auch der Kryptographie-Experte Bruce Schneier seine Unterstützung zu. Zur Verwaltung der Spendeneinnahmen wurde eine gemeinnützige Organisation mit Namen Open Crypto Audit Project und Sitz in North Carolina gegründet. Ein erster Vertrag zur Überprüfung der Windows Software sowie des Bootloaders wurde mit der Firma iSEC partners geschlossen; der Audit soll im Januar 2014 beginnen.[17] Ein weiteres Ziel des Projekts ist es, die TrueCrypt-Lizenz kompatibel zu etablierten Open-Source-Lizenzen wie etwa der GNU General Public License zu machen.[18]

Im Oktober 2013 konnte nachgewiesen werden, dass sich die auf der TrueCrypt-Webseite zum Download angebotenen Binärdateien tatsächlich aus dem veröffentlichten Quelltext reproduzieren lassen und somit frei von zusätzlichen, nicht im öffentlich einsehbaren Quelltext enthaltenen Hintertüren ist.[19]

Im April 2014 wurden die Ergebnisse einer kommerziellen Begutachtung der Software veröffentlicht[20]

Geplante Merkmale in zukünftigen Versionen[Bearbeiten]

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.[21]

Alternativen[Bearbeiten]

Transparente Ver- und Entschlüsselung von Daten bieten neben TrueCrypt außerdem:

sowie die proprietären Closed-Source-Produkte:

Siehe auch[Bearbeiten]

Weblinks[Bearbeiten]

Einzelnachweise[Bearbeiten]

  1. TrueCrypt is and will remain open-source and free software“ zit. nach: TrueCrypt License Version 3.0 auf der TrueCrypt-Webseite (Satz dort nicht (mehr) vorhanden)
  2. TrueCrypt Foundation: Hidden Volume, Artikel mit weiterführenden Informationen auf truecrypt.org, 2006, englisch
  3. A. Czeskis, D. J. St. Hilaire u. a.: Defeating Encrypted and Deniable File Systems: TrueCrypt v5.1a and the Case of the Tattling OS and Applications (PDF; 272 kB) In: Proceedings of 3rd USENIX Workshop on Hot Topics in Security, 29. Juli 2008. Abgerufen am 10. November 2009.
  4. TrueCrypt Foundation: Features, Übersicht über die Eigenschaften der Programmversion
  5. TrueCrypt Foundation: System Encryption, Dokumentation
  6. TrueCrypt Foundation: Plausible Deniability
  7. TrueCrypt Foundation: TrueCrypt Rescue Disk, Dokumentation
  8. Media Addicted: SSDs and TrueCrypt: Durability and Performance Issues
  9. http://www.truecrypt.org/docs/?s=trim-operation
  10. Bootkit hebelt Festplattenverschlüsselung aus in Heise.de vom 30. Juli 2009 (abgerufen am 30. Juli 2009)
  11. Passware, Inc.: „If a TrueCrypt volume is already dismounted, or the target computer is turned off, the memory image will not contain the encryption keys.“
  12. Kommentar zur Lizenz auf Debian-Legal
  13. Fedora Project: ForbiddenItems
  14. TrueCrypt Foundation: Security Tokens & Smart Cards
  15. http://www.golem.de/0905/67032.html
  16. http://www.truecrypt.org/docs/?s=hardware-acceleration
  17. Matthew Green: An Update in TrueCrypt, eingesehen am 14. Januar 2014.
  18. Vgl. Heise Online vom 19. Oktober 2013: Der Weg zu einem verlässlicheren TrueCrypt.
  19. Vgl. Heise online vom 28. Oktober 2013: Verschlüsselungssoftware TrueCrypt: Ein Zweifel weniger, zuletzt eingesehen am 14. Januar 2014.
  20. Open Crypto Audit Project TrueCrypt: öffentlich einsehbare Analyse des TrueCrypt-Audits, abgerufen am 15. April 2014.
  21. TrueCrypt Foundation: Future, geplante Veränderungen
  22. http://www.heise.de/mobil/artikel/SecurStick-Verschluesselung-ohne-Admin-Rechte-979390.html
  23. http://www.boxcryptor.com/
  24. http://www.cloudfogger.com/
  25. http://www.prot-on.com