TrueCrypt

Software zum Erstellen und Nutzen von verschlüsselten Kontainern für Linux, Mac OS und Windows
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 4. August 2014 um 14:43 Uhr durch Anselmikus (Diskussion | Beiträge) (Ehemals geplante Merkmale in zukünftigen Versionen: WP:DK). Sie kann sich erheblich von der aktuellen Version unterscheiden.

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 bis zur Version Windows 7, 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.

TrueCrypt

Basisdaten

Entwickler TrueCrypt Foundation
Erscheinungsjahr 2. Februar 2004
Aktuelle Version 7.1a (letzte Version mit vollem Funktionsumfang; 7. Februar 2012);
7.2 (eingeschränkter Funktionsumfang; 28. Mai 2014);
zu den Umständen siehe Bekanntgabe der Einstellung des Projekts
Betriebssystem Windows, Mac OS X, Linux
Programmier­sprache C, C++, Assembler
Kategorie Festplattenverschlüsselung
Lizenz TrueCrypt License (Freeware, proprietär)
deutschsprachig ja
www.truecrypt.org

Laut einer Meldung vom 28. Mai 2014 auf der offiziellen Webseite wurde die Entwicklung von TrueCrypt im Mai 2014 eingestellt.[2][3] Auf der Website wird eine Anleitung für den Wechsel zu BitLocker bereitgestellt.[4] Zudem wird dort gewarnt, dass die Nutzung von TrueCrypt unsicher sei, da TrueCrypt ungelöste Sicherheitslücken enthalten könne.

Funktionen

Algorithmen

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

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

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.[5] 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.[6]

Portabler Modus

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

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.[7] 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.[8] Da der Bootloader unverschlüsselt auf der Festplatte gespeichert ist, greift hier das Prinzip der glaubhaften Abstreitbarkeit nicht.[9] 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.[10] 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)

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.[11] 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.[12]

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

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,[13] nicht von Virenscannern erkannt werden.

Es existiert ein weiteres Angriffsszenario, das zur Erlangung des geheimen TrueCrypt-Passworts führen kann. Voraussetzung ist, dass der Rechner über einen FireWire-Anschluss verfügt, und ein gerade laufendes System mit gemountetem TrueCrypt-Volume.[14] In diesem Zustand kann auch bei gesperrtem Computer 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.

Auch der Einsatz einer sogenannten Kaltstartattacke 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

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

Version 7.2, die offenbar letzte Version von TrueCrypt, wurde mit einer Version 3.1 der TrueCrypt-Lizenz ausgeliefert. Dort wurden Hinweise auf Trademarks der TrueCrypt Foundation sowie sämtliche Hinweise auf Kontaktmöglichkeiten entfernt.

Geschichte

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

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

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

Untersuchungen der Software

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

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

Im April 2014 wurden die Ergebnisse einer kommerziellen Teil-Begutachtung der Software veröffentlicht, wobei der Bootloader und der Windows-Kernel-Treiber untersucht wurde – eine vollständige Analyse der eigentlichen TrueCrypt-Software steht, mit Phase 2, noch aus.[23] Die Autoren des Berichts fanden elf Fehler, von denen sie keine als schwer, vier als mittelschwer, vier als leicht und drei in die niedrigste Kategorie „informational“ einstuften. Hinweise auf eine Hintertür wurden nicht gefunden.

Bekanntgabe der Einstellung des Projekts

Am 28. Mai 2014 wurde die bisherige Internetseite des Projekts durch eine Warnung ersetzt, dass die Entwicklung von TrueCrypt eingestellt worden sei. TrueCrypt sei nicht sicher, da es nicht behobene Sicherheitslücken enthalten könne. Weiterhin wurde eine Empfehlung veröffentlicht, als Alternative BitLocker zu verwenden, sowie Anleitungen, wie mit TrueCrypt verschlüsselte Daten nach BitLocker migriert werden könnten.[3][2]

Informationen zu TrueCrypt wurden dabei nicht mehr auf einer eigenen Domain, sondern bei SourceForge angeboten. Die Inhalte der ursprünglichen Domain waren nicht mehr zugänglich und im Internet Archive gesperrt. Auf Sourceforge wurde ausschließlich eine neue und in den Funktionen eingeschränkte Version 7.2 angeboten, die bei der Benutzung vor Sicherheitslücken warnt. Diese Version dient zur Entschlüsselung von mit TrueCrypt verschlüsselte Daten, um diese auf andere Verschlüsselungslösungen zu migrieren. Die in der vorhergehenden Begutachtung gefundenen Fehler waren dagegen nicht behoben. Die letzte TrueCrypt-Version mit vollem Funktionsumfang ist somit die Version 7.1a.

Während anfangs über ein mögliches Defacement der TrueCrypt-Website spekuliert und vor dem Download der neuen Version gewarnt wurde, wird ein solches Szenario inzwischen für unwahrscheinlich gehalten: Die neuen Programm-Downloads tragen die korrekte offizielle elektronische Signatur des Herstellers. Zudem wurde im Quelltext keine Hintertür oder ähnliches gefunden, und ersten Berichten zufolge wurde das zum Download angebotene ausführbare Programm tatsächlich aus dem angebotenen Quelltext erstellt. Allerdings gibt es weiterhin Spekulationen, ob die Autoren von TrueCrypt einen National Security Letter erhalten und aus diesem Grund das Projekt eingestellt haben könnten.[24][25]

Ehemals geplante Merkmale in zukünftigen Versionen

Für spätere Versionen des Programms waren ein TrueCrypt-API zur Ansteuerung der Software durch andere Programme, eine Rohverschlüsselung für CD- und DVD-Volumes, vorgesehen. Zudem sollten in der Windows-Version Optionen zur Erstellung von Volumes aus der Kommandozeile hinzugefügt werden; diese waren in den Versionen für Linux und Mac OS X bereits verfügbar.[26]

Alternativen

Die Entwickler von Truecrypt empfehlen den Umstieg auf die bereits in ein Betriebssystem integrierten Festplattenverschlüsselungen.

  • für Windows: BitLocker, das seit Windows Vista und 7 in Microsofts Betriebssystemen integriert ist (Vista/7-Ultimate- und Enterprise-Ausgaben, Win8 Pro und Win8.1).
  • für Mac OS X: FileVault, das seit Version 10.3 in Apples Betriebssystem integriert ist.
  • für Linux: jedes der bereitgestellten Pakete, wie dm-crypt oder EncFS.

tcplay

Im Jahr 2011 wurde das Projekt tcplay gegründet. Die Software ist kompatibel zu TrueCrypt, steht im Gegensatz zum diesem aber unter einer als freie Open-Source-Lizenz anerkannten BSD-Lizenz.[27] tcplay ist Bestandteil unter anderem von DragonFly BSD[28] und Fedora[29].

Einzelnachweise

  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. a b http://sourceforge.net/projects/truecrypt/
  3. a b http://arstechnica.com/security/2014/05/truecrypt-is-not-secure-official-sourceforge-page-abruptly-warns/
  4. http://truecrypt.sourceforge.net/
  5. TrueCrypt Foundation: Hidden Volume, Artikel mit weiterführenden Informationen auf truecrypt.org, 2006, englisch
  6. 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.
  7. TrueCrypt Foundation: Features, Übersicht über die Eigenschaften der Programmversion
  8. TrueCrypt Foundation: System Encryption, Dokumentation
  9. TrueCrypt Foundation: Plausible Deniability
  10. TrueCrypt Foundation: TrueCrypt Rescue Disk, Dokumentation
  11. Media Addicted: SSDs and TrueCrypt: Durability and Performance Issues
  12. http://www.truecrypt.org/docs/?s=trim-operation
  13. Bootkit hebelt Festplattenverschlüsselung aus in Heise.de vom 30. Juli 2009 (abgerufen am 30. Juli 2009)
  14. 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.“
  15. Kommentar zur Lizenz auf Debian-Legal
  16. Fedora Project: ForbiddenItems
  17. TrueCrypt Foundation: Security Tokens & Smart Cards
  18. http://www.golem.de/0905/67032.html
  19. http://www.truecrypt.org/docs/?s=hardware-acceleration
  20. Matthew Green: An Update in TrueCrypt, eingesehen am 14. Januar 2014.
  21. Vgl. Heise Online vom 19. Oktober 2013: Der Weg zu einem verlässlicheren TrueCrypt.
  22. Vgl. Heise online vom 28. Oktober 2013: Verschlüsselungssoftware TrueCrypt: Ein Zweifel weniger, zuletzt eingesehen am 14. Januar 2014.
  23. Open Crypto Audit Project TrueCrypt: öffentlich einsehbare Analyse des TrueCrypt-Audits, abgerufen am 15. April 2014.
  24. http://arstechnica.com/security/2014/05/truecrypt-is-not-secure-official-sourceforge-page-abruptly-warns/
  25. http://krebsonsecurity.com/2014/05/true-goodbye-using-truecrypt-is-not-secure/
  26. TrueCrypt Foundation: Future, geplante Veränderungen; Website offline (4. August 2014)
  27. https://github.com/bwalex/tc-play
  28. http://leaf.dragonflybsd.org/mailarchive/commits/2011-07/msg00066.html
  29. https://bugzilla.redhat.com/show_bug.cgi?id=743497