TrueCrypt ist eine Software zur Verschlü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 10, unter macOS ab Version 10.4 und unter Linux mittels dm-crypt.
Laut einer Meldung vom 28. Mai 2014 auf der offiziellen Website wurde die Entwicklung von TrueCrypt im Mai 2014 eingestellt. Auf der Website wird eine Anleitung für den Wechsel zu BitLocker bereitgestellt.truecrypt.sourceforge.net Zudem wird dort gewarnt, dass die Nutzung von TrueCrypt unsicher sei, da TrueCrypt ungelöste Sicherheitslücken enthalten könne. Hingegen stellten Jacob Appelbaum und Laura Poitras auf dem Chaos Communication Congress im Dezember 2014 fest, . Die Computerzeitschrift c’t empfahl, vorerst weiterhin die Vorgängerversion TrueCrypt 7.1a zu verwenden.Jürgen Schmidt: . In: c’t 14/2014, S. 20 (PDF).
VeraCrypt, das sich im Juni 2013 von TrueCrypt abspaltete, wird nach wie vor weiterentwickelt und behebt einige der bei dem Audit von TrueCrypt gefundenen Probleme.
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: 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). 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. 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 macOS 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 (). 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 (), 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.TrueCrypt Foundation: , Artikel mit weiterführenden Informationen auf truecrypt.org, 2006, englisch 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.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. Im August 2016 wurde ein Fehler im TrueCrypt Quellcode gefunden, der es ermöglicht, die Existenz eines versteckten Containers (Hidden Volume) zu beweisen. Mounir Idrassi, der Entwickler von VeraCrypt, bestätigte diesen Fehler. Eine Fehlerbehebung floss in die Version 1.18a von VeraCrypt, jedoch müssen Nutzer ihre Containerdaten erneuern.
Portabler Modus Ab 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 Ab 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 Windows XP, Windows Vista, Windows 7 und Windows Server 2003, jeweils in den 32- oder 64-Bit-Ausführungen.TrueCrypt Foundation: , Übersicht über die Eigenschaften der Programmversion Ist die gesamte Systempartition verschlüsselt, erscheint vor dem Starten des Betriebssystems ein spezieller TrueCrypt-Bootloader, der zur Kennworteingabe auffordert. Diese Aufforderung kann man ab Version 6.1 aber auch unterdrücken oder durch einen eigenen Text ersetzen.TrueCrypt Foundation: , Dokumentation Da der Bootloader unverschlüsselt auf der Festplatte gespeichert ist, greift hier das Prinzip der glaubhaften Abstreitbarkeit nicht.TrueCrypt Foundation: Stattdessen kann jedoch ein verstecktes Betriebssystem innerhalb einer TrueCrypt-Partition abgelegt werden.
Ein Vorteil der Verschlüsselung der Systempartition ist, dass Temporär-, Auslagerungs- 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.TrueCrypt Foundation: , Dokumentation 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-Kommando TRIM 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.Media Addicted: SSDs and TrueCrypt: Durability and Performance Issues Zumindest beim Einsatz verschlüsselter 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.
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.).
Die Performance beim Lesen von verschlüsselten SSDs wurde durch die Unterstützung von Read-Ahead-Buffering unter Windows ab Version 6.2 verbessert.
Angriffsszenario Seit Juli 2009 kursiert ein Bootkit für die damals gängigen Windows-Versionen mit x86-Architektur (Windows 2000 bis Windows 7). Das Programm verändert den Master Boot Record der verschlüsselten Festplatte und wird bei einem Rechnerstart zuerst geladen. Dadurch kann es die Eingabe des Kennworts für die TrueCrypt-Pre-Boot-Authentifizierung ausspähen. Betroffen sind nur Systeme mit BIOS, Systeme mit EFI dagegen nicht. Für eine Infektion sind Administratorrechte oder ein physischer Zugang zur Hardware erforderlich. Das Programm soll nicht von Virenscannern erkannt werden können.
Ein weiteres Angriffsszenario, das auch andere Verschlüsselungssysteme wie BitLocker aushebeln kann, setzt voraus, dass der zur Entschlüsselung verwendete Rechner über einen FireWire-Anschluss verfügt und der Angreifer auf diesen physisch zugreifen kann.Annika Kremer: , gulli.com, 3. Februar 2012. TrueCrypt im Speziellen schreibt nach erfolgtem Einhängen der virtuellen Festplatte zwei Schlüsselwerte aus dem Header der Containerdatei in den Arbeitsspeicher. Nachfolgende Entschlüsselungen von Dateien im Container erfolgen mit diesen Schlüsseln. Auch wenn der PC gesperrt ist, kann nun über eine Firewire-Verbindung der Inhalt des Arbeitsspeichers kopiert werden. Dieses Speicherabbild kann danach mit einer Software nach den zwei Schlüsselwerten durchsucht werden. Der Header der Containerdatei kann im Folgenden ersetzt und eine veränderte TrueCrypt-Version erzeugt werden, die die zuvor extrahierten Schlüssel zur Entschlüsselung nutzt. Auch von Windows selbst angelegte Speicherabbilder können für einen derartigen Angriff genutzt werden, deren Erstellung lässt sich aber leicht unterbinden.