VeraCrypt
VeraCrypt ist eine Software zur Datenverschlüsselung, insbesondere zur vollständigen oder partiellen Verschlüsselung von Festplatten und Wechseldatenträgern.[2] VeraCrypt erschien erstmals 2013 als Abspaltung von TrueCrypt und ist teilweise dazu kompatibel. Größere Bekanntheit erhielt das Projekt durch das unerwartete Ende der Entwicklung TrueCrypts.
VeraCrypt | |
---|---|
Basisdaten | |
Entwickler | IDRIX (Paris) |
Erscheinungsjahr | 22. Juni 2013 |
Aktuelle Version | 1.25.4[1] (3. Dezember 2021) |
Betriebssystem | Windows, macOS, Linux |
Programmiersprache | C, C++, Assembler |
Kategorie | Festplattenverschlüsselung |
Lizenz | Apache-Lizenz und TrueCrypt-Lizenz 3.0 |
deutschsprachig | ja |
veracrypt.fr |
Sicherheit
Der Vorgänger TrueCrypt wurde in der Version 7.1a, auf der VeraCrypt basiert, einer Auditierung unterzogen und zunächst als relativ fehlerarm bewertet. Eine unabhängige Sichtung des Quelltextes der Version 1.18 von VeraCrypt fand im Jahr 2016 statt. Durchgeführt wurde diese vom Unternehmen Quarkslab in Zusammenarbeit mit der Initiative Ostif. Während der Vorbereitungen wurde die Meldung herausgegeben, das Audit würde womöglich sabotiert, da E-Mails zwischen den Parteien ihr Ziel nicht erreicht hätten. Später wurde ein falsch konfiguriertes E-Mail-Programm vermutet und die Veröffentlichung dieser Probleme als Fehler bezeichnet.[3]
Im August 2016 wurde vorab ein schwerwiegender Fehler bestätigt, der sowohl in True- als auch VeraCrypt das Erkennen von versteckten Container (Hidden Volumes) ermöglicht und somit den Schutz des Benutzers durch die glaubhafte Abstreitbarkeit aufhebt. Eine Lösung floss in die Version 1.18a von VeraCrypt ein, allerdings mussten Benutzer ihre vorhandenen Containerdateien erneuern.[4]
Der endgültige Bericht legte zahlreiche Programmierfehler offen. Einige davon flossen erst nach der Abspaltung von TrueCrypt ein – andere wurden bereits bei der früheren Auditierung festgestellt und nicht behoben. So wurde die Verwendung einer bekannt fehlerhaften Version der Programmbibliothek zlib aus dem Jahre 1998 bemängelt, insbesondere da TrueCrypt seinerseits bereits eine modernere Variante nutzte. Passwörter werden im Zusammenspiel mit einer Komplett-Verschlüsselung der Systempartition gar nicht oder nur unzureichend im Arbeitsspeicher überschrieben, sodass sich zumindest die Länge des Passworts auslesen lässt. Des Weiteren wurde der neu hinzugefügte Algorithmus „GOST 28147-89“ auf unsichere Art angewandt.[5]
Die kritischen, in Version 1.18 vorhandenen Fehler wurden mit der Version 1.19 korrigiert.[6]
VeraCrypt ist auch für generelle, softwarebasierte Festplattenverschlüsselungsmethoden betreffende Angriffe anfällig. Da der zum Entschlüsseln benötigte Schlüssel im Arbeitsspeicher des Computers gespeichert wird, ist bei Zugriff auf die genutzte Hardware eine Kaltstartattacke möglich.[7] Passwörter können durch Malware oder hardwareseitige Kompromittierungen des Systems wie Hardware-Keylogger abgefangen werden, die Verwendung von Schlüsseldateien kann diese Angriffsmethode jedoch erschweren.
In einer erst im Dezember 2019 veröffentlichten Sicherheitsuntersuchung der Vorgängersoftware TrueCrypt aus dem Jahr 2010 durch das Bundesamt für Sicherheit in der Informationstechnik (BSI) wurden zahlreiche als sicherheitsrelevant eingestufte Fehler aufgeführt, von denen viele auch in der zur Zeit der Veröffentlichung aktuellen VeraCrypt-Version (1.24 vom 6. Oktober 2019) noch enthalten gewesen seien. Allerdings sei keine der Schwachstellen einzeln betrachtet dramatisch und es wurden einige der Fehler umgehend behoben.[8][9]
Funktionen
Kompatibilität zu TrueCrypt
VeraCrypt ist in weiten Teilen zu TrueCrypt kompatibel. Dementsprechend ermöglicht das Programm, mit Hilfe eines Kompatibilitätsmodus bereits existierende TrueCrypt-Container zu entschlüsseln. Weiterhin lassen sich viele der Funktionen des TrueCrypt-Derivates auch in dessen Wurzel finden. Jedoch sind viele der von den VeraCrypt-Entwicklern implementierten Verbesserungen nur in dem veracrypteigenen Containerformat nutzbar. Daher empfehlen die Herausgeber von VeraCrypt, auf dessen eigenes Format zu migrieren.[10][11][12]
Verschlüsselungsmöglichkeiten
VeraCrypt bietet die Möglichkeit, gesamte Systeme, einzelne Partitionen oder sogenannte Container zu verschlüsseln. Bei letzterem handelt es sich um spezielle Dateien mit fester Größe, die nach dem Entschlüsseln wie virtuelle Laufwerke behandelt werden. Als Verschlüsselungsmodus wird XTS genutzt.
Algorithmen
Als Verschlüsselungs-Algorithmen stehen AES, Serpent, Twofish, Camellia und Kuznyechik zur Verfügung. Die Auswahlmöglichkeiten und die theoretische Stärke der Verschlüsselung werden jedoch dadurch erhöht, dass die Algorithmen AES, Serpent und Twofish miteinander in Kaskaden kombinierbar sind.[13]
Temporär war auch die Blockchiffre Magma (definiert im russischen Standard GOST 28147-89) verfügbar. Diese Verschlüsselung wurde jedoch mit Version 1.19 nach einem Sicherheitsaudit (VeraCrypt 1.18 Security Assessment) entfernt, da Magma inzwischen als kryptographisch schwach gilt.
Für die kryptologischen Hash-Werte stehen SHA-256, SHA-512, Streebog, RIPEMD-160 und Whirlpool zur Verfügung.[14] Beginnend mit VeraCrypt 1.0f ließen sich keine neuen Container mehr mit der veralteten Hashfunktion RIPEMD-160 anlegen, die Erstellung von Systempartitionen hingegen wird damit noch unterstützt.[15]
Personal Iterations Multiplier
Unter dem Personal Iterations Multiplier (PIM) verstehen die Entwickler von VeraCrypt eine mit Version 1.12 eingeführte Möglichkeit, die Anzahl der Verschlüsselungs-Iterationen zu verändern.
Der 512 Byte große Header eines Containers enthält unter anderem den Hauptschlüssel, mit dessen Hilfe sich der Container entschlüsseln lässt. Damit für potentielle Angreifer das Erraten dieses Schlüssels durch Ausprobieren (Brute-Force-Methode) erschwert wird, werden die Hash-Funktionen zum Erstellen des Headers mehrfach aufgerufen. Die Entwickler von VeraCrypt entschieden sich, die Anzahl dieser Iterationen von etwa 1000 deutlich zu erhöhen. So werden mit RIPEMD-160 bei einer vollständigen Systemverschlüsselung bis zu 327.661 Iterationen durchgeführt, bei Standard-Containern und einfachen Partitionen können es sogar bis zu 655.331 werden.
Hierdurch wird zwar die theoretische Sicherheit deutlich erhöht, jedoch steigt auch die zum Entschlüsseln notwendige Zeit an. Die für den Dateizugriff notwendige Zeit bleibt jedoch unverändert. Daher ermöglicht es VeraCrypt den Anwendern, die Anzahl der Iterationen zu variieren. Das Schema zur Berechnung der Iterationen lautet für Systempartitionen PIM × 2048, während es bei den restlichen Nutzungsmöglichkeiten 15000 + (PIM × 1000) beträgt. Der Wert des PIM muss jedes Mal für das Entsperren mit angegeben werden.
Aus Sicherheitsgründen wird eine sehr geringe Anzahl an Iterationen nur bei langen Passwörtern mit über 20 Zeichen ermöglicht.[16][12][17]
Glaubhafte Abstreitbarkeit
Wie das Vorbild TrueCrypt ermöglicht VeraCrypt den Benutzern glaubhafte Abstreitbarkeit. Dies wird durch sogenannte hidden volumes (deutsch: versteckte Container) umgesetzt.
Hierunter wird ein innerhalb eines anderen Containers verstecktes, virtuelles Laufwerk verstanden, das mit Hilfe eines separaten Passwortes entsperrt werden muss. Standardmäßig wird freier Speicherplatz eines regulären Containers mit zufälligen Daten aufgefüllt. In diesem freien Bereich wird von VeraCrypt der etwaige versteckte Container gespeichert. Für einen außenstehenden Betrachter ist nicht erkennbar, ob es sich bei einem Bereich eines Containers um überschriebenen freien Speicherplatz oder einen versteckten Container handelt.
Der äußere und der darin versteckte Container sind jeweils mit einem separaten Passwort zugänglich. Je nachdem, welches der beiden Passwörter eingegeben wird, wird der jeweilige Container entsperrt. Hierdurch können Anwender, wenn sie beispielsweise von den Behörden zur Herausgabe des Passwortes aufgefordert werden, weniger sensible Daten durch Eintippen des Passwortes für den äußeren Container preisgeben, ohne dass hierdurch die sensibleren Daten im versteckten Container erkennbar werden. Da für einen Angreifer nicht erkennbar ist, dass ein versteckter Container genutzt wurde, bleiben hierdurch die Daten geschützt.[18][11]
Leistung
VeraCrypt unterstützt die parallelisierte Verschlüsselung[19] für Multicore-Systeme und, unter Microsoft Windows, die sogenannten pipelined Lese- und Schreibanfragen (eine Form von asynchroner Berechnung)[20] um die Leistung von Verschlüsselung und Entschlüsselung zu optimieren. CPUs, welche AES-NI unterstützen, können mit VeraCrypt den Algorithmus AES mit Hardware-Beschleunigung verwenden, was die Leistung vergrößert. 64-Bit-CPUs wurden in VeraCrypt für die Verwendung von Twofish und Camellia optimiert.[21]
Einzelnachweise
- VeraCrypt Release Notes. (abgerufen am 29. Dezember 2021).
- VeraCrypt. 5. Mai 2018 (veracrypt.fr [abgerufen am 23. Mai 2018]).
- Hauke Gierow: Mails zu VeraCrypt-Audit verschwinden spurlos. In: golem.de. 15. August 2016, abgerufen am 1. Juli 2017.
- Hauke Gierow: Hidden-Volumes sind nicht versteckt. In: golem.de. 22. August 2016, abgerufen am 1. Juli 2017.
- Hanno Böck: Veracrypt-Audit findet schwerwiegende Sicherheitslücken. In: golem.de. 18. Oktober 2016, abgerufen am 1. Juli 2017.
- ostifadmin: The QuarksLab audit of VeraCrypt has been completed, and this is the public release of the results. In: ostif.org. 17. Oktober 2016, abgerufen am 1. Juli 2017.
- Cold Boot Attacks are Still Hot: Security Analysis of Memory Scramblers in Modern Processors. (PDF) Abgerufen am 8. Oktober 2018 (englisch).
- Hanno Böck: BSI verschweigt Truecrypt-Sicherheitsprobleme. In: golem.de. 16. Dezember 2019 (S. 3 des Artikels)
- Olivia von Westernhagen: BSI musste Audit-Ergebnisse zu TrueCrypt-Sicherheitsmängeln veröffentlichen. In: heise online. 17. Dezember 2019.
- Andreas Maslo: Vorteile der VeraCrypt-Datenverschlüsselung. In: com! 8. September 2015, abgerufen am 1. Juli 2017.
- Daten verschlüsseln. In: Privacy Handbuch. Abgerufen am 1. Juli 2017.
- Mounir Idrassi: Why is this more secure than TrueCrypt? In: VeraCrypt-Forum. 14. Oktober 2014, abgerufen am 1. Juli 2017 (englisch).
- Mounir Idrassi: Encryption Algorithms. In: VeraCrypt-Dokumentation. 17. Oktober 2016, abgerufen am 1. Juli 2017 (englisch).
- Mounir Idrassi: Hash Algorithms. In: VeraCrypt-Dokumentation. 27. August 2016, abgerufen am 1. Juli 2017 (englisch).
- Mounir Idrassi: Missing Hash Algo RIPEMD-160. In: VeraCrypt-Forum. 12. Juni 2015, abgerufen am 27. Juli 2017 (englisch).
- Mounir Idrassi: Header Key Derivation, Salt, and Iteration Count. In: VeraCrypt-Dokumentation. 9. Juli 2015, abgerufen am 1. Juli 2017 (englisch).
- Hauke Gierow: VeraCrypt sucht Windows-Programmierer. In: golem.de. 20. Januar 2016, abgerufen am 1. Juli 2017.
- Mounir Idrassi: Hidden Volume. In: VeraCrypt-Dokumentation. 3. Juli 2016, abgerufen am 1. Juli 2017 (englisch).
- CodePlex Archive. Abgerufen am 25. Mai 2020.
- CodePlex Archive. Abgerufen am 25. Mai 2020.
- VeraCrypt - Free Open source disk encryption with strong security for the Paranoid. Abgerufen am 25. Mai 2020.