Notebook Schutz durch Verschlüsselung

VeraCrypt Verschlüsselung besser als TrueCrypt?

Mai 2016, rund zwei Jahre nach der Abkündigung der TrueCrypt Verschlüsselung im Mai 2014 interessiert mich was aus der Software und dem Sourcecode geworden ist. Kurzerhand möchte ich im heutigen Blog Beitrag den TrueCrypt Abkömmling VeraCrypt analysieren. VeraCrypt wurde von der französischen Firma IDRIX im Jahre 2014 aufgenommen und weiterentwickeln. Prinzipiell kann davon ausgegangen werden, dass IDRIX nicht unter direkten Einfluss des amerikanischen Geheimdienstes steht und somit die Lösung verlässliche Sicherheitsmerkmale besitzt. Da der Sourcecode der Lösung weiterhin Quellen offen zur Verfügung steht, können Backdoors über die Prüfmöglichkeit der Community nicht einfach eingebaut werden.

VeraCrypt vs. TrueCrypt: 3 Grundfunktionen - Containerverschlüsselung, Partitionsverschlüsselung, Festplattenverschlüsselung
Grundfunktionen von VeraCrypt 1.17

Die Software kann kostenfrei von der VeraCrypt Webseite geladen werden, die Installation erfolgt in wenigen Schritten, wobei ich die Version 1.17 vom 13. Februar 2016 unter Windows 10 Professional getestet habe.

VeraCrypt vs. TrueCrypt Verschlüsselung

Leider wurde die Software gegenüber TrueCrypt 7.1 nicht sehr stark funktionell erweitert. Ebenso wie TrueCrypt steht bei VeraCrypt drei prinzipielle Verschlüsselungsmethoden zur Verfügung:

  1. Verschlüsselung von Containern über (a) Passwort, (b) Keyfile, oder (c) Schlüsselmedium mit PKCS#11 Schnittstelle, wobei der Container als Laufwerksbuchstaben gemountet werden kann.
  2. Verschlüsselung von gesamten Partitionen oder versteckten Partitionen, wobei die Partition ebenfalls als Laufwerksbuchstaben gemountet werden kann.
  3. Verschlüsselung der gesamten Systemplatte, wobei vor dem Systemboot ein Passwort und eine optionale Iterationsstärke namens PIM eingegeben werden kann.

In meiner Analyse werde ich mich primär der Containerverschlüsselung und der gesamten Systemverschlüsselung für Windows widmen.

Die Container-Verschlüsselung

VeraCrypt unterstützt eine Vielzahl an symmetrischen Verschlüsselungsverfahren für sein neues Container-Format.

VeraCrypt vs. TrueCrypt: Verschlüsselungsalgorithmen: AES, Serpent, Twofish und Kombinationen
Die VeraCrypt Verschlüsselungsalgorithmen: AES, Serpent, Twofish und Kombinationen

Einige der Algorithmen sind wesentlich Security technisch verstärkt worden, nachzulesen auf der Anbieter Seite beziehungsweise Wikipedia. Für meine Analyse möchte ich mehr auf die funktionellen Eigenschaften der Verschlüsselungslösung eingehen, anstatt auf die kryptographischen Merkmale die ohnehin nur Diplom Mathematiker und Kryptologen verstehen. Folgende an Meldemöglichkeiten an einem VeraCrypt-Container stehen zur Verfügung:

  • Passwort Anmeldung
  • KeyFile, eine beliebige Datei deren ersten 1024 Byte als Verschlüsselung-Passwort genutzt werden. Hier hat man die Möglichkeit das Keyfile auf einem USB Speicher oder anderen Speicherort abzulegen um eine zwei Faktoren Authentifizierung zu ermöglichen
  • Nutzung eines Schlüssel-Speicher Mediums zum Beispiel einer Smartcard oder USB-Crypto-Token über eine PKCS#11 Schnittstelle. Da einem normalen Benutzer eine solle spezielle Hardware in der Regel nicht zur Verfügung steht, werde ich in meinem Beitrag diese Option vorstellen.
Einen Container anlegen

Bei der Anlage eines VeraCrypt-Containers definiert man den symmetrischen Schlüsselalgorithmus und die Größe des Containers. Das Anlegen erfolgt in hoher Geschwindigkeit und nach der Anmeldung am Container wird der verschlüsselte Speicher als Laufwerk unter einem definierbaren Laufwerksbuchstaben angemeldet.

VeraCrypt vs. TrueCrypt: Container anlegen am Client oder Netzwerk-Share
VeraCrypt Container anlegen am Client oder Netzwerk-Share
Performance!

Die Performance ist speziell für AES verschlüsselte Container sehr gut. Zusätzlich hier wird die Intel AES-NI Hardwareverschlüsselung aktiv, sollte die CPU dies unterstützen. Hier ein Vergleich der Verschlüsselungsgeschwindigkeit auf einem 400€ Core-m3 Notebook (208 MB/s AES Verschlüsselungsdurchsatz) und auf einem 1600€ i5-Quad-Core Notebook.

VeraCrypt vs. TrueCrypt: Performancevergleich zwischen AES, Twofish, Serpent und Kombinationen auf einem M3-Core
VeraCrypt vs. TrueCrypt: Performancevergleich zwischen AES, Twofish, Serpent und Kombinationen auf einem M3-Core
VeraCrypt vs. TrueCrypt: Performancevergleich zwischen AES, Twofish, Serpent und Kombinationen auf einem i5-QuadCore
VeraCrypt vs. TrueCrypt: Performancevergleich zwischen AES, Twofish, Serpent und Kombinationen auf einem i5-QuadCore

Eine Mehrbenutzer Nutzung eines Containers der auf einem Netzwerk- oder Cloud-Share liegt ist nicht empfohlen und auch nicht unterstützt. Multi -User-Betrieb einer Datenverschlüsselung lässt sich mit VeraCrypt daher nicht realisieren. Perfekt eignet sich diese Methode für vertrauliche Dokumente, Passworte, private Bilder und Arbeitsunterlagen die man unterwegs mitnehmen beziehungsweise in der Cloud speichern möchte.

VeraCrypt vs. TrueCrypt: Beispiel eines verschlüsselten Containers
Beispiel eines verschlüsselten Containers

Nicht zu empfehlen ist die Containerverschlüsselung in Firmen Einsatz, da es keinerlei zentrales Management für die Passwörter und Keyfiles gibt und daher bei vergessenen Passwörtern oder verlorenen Keyfiles keine Recovery-Funktionen möglich sind. Im Firmenumfeld sind auch ausscheidende Mitarbeiter, erkrankte Mitarbeiter oder sogar verstorbenen Mitarbeiter beim Recovery verschlüsselter Daten zu berücksichtigen.

Zwei-Faktoren-Benutzeridentifizierung (2FA)

Die Nutzung einer Smartcard oder eine Crypto-Tokens sind denkbar einfach. Über das Hauptmenü VeraCrypt.exe -> Einstellungen -> Sicherheitstokens… (Englisch: VeraCrypt.exe -> Settings -> Security Tokens…) muss der Pfad der PKCS#11 Bibliothek definiert werden. In meinem Test habe ich die Smartcard / Token Middleware cv act sc/interface des deutschen Herstellers cv cryptovision GmbH genutzt und kann diese sehr empfehlen. Die PKCS#11 Bibliothek von cv act sc/interface liegt unter “C:\WINDOWS\system32\cvP11.dll”. Die Smartcard Middleware hat sofort mit VeraCrypt funktioniert.

Es können beliebige Schlüsseldateien (Englisch: Keyfiles) über VeraCrypt.exe -> Extras -> Sicherheitstoken-Schlüsseldateien verwalten… auf die Smartcard bzw. Crypto-Token geladen werden. Diese Schlüsseldateien können dann bei der Erstellung eines Containers für die Entschlüsselung desselben ausgewählt und genutzt werden. Da die benutzte Schlüsseldatei auf mehreren Smartcards bzw. Crypto-Token geladen werden kann, erzeugt man so Backup-Medien, sollte die originale Smartcard bzw. der Crypto-Token verloren gehen oder defekt werden.

Kein X.509 Standard

Leider unterstützt VeraCrypt keine gängigen X.509 Zertifikate bzw. die zugehörigen privaten Schlüssel der Zertifikate. Des Weiteren gibt es keine Unterstützung der Microsoft CSP Schnittstelle. Per CSP-Schnittstelle und X.509 Unterstützung könnte man viel einfacher PKI-Zertifikate für die Verschlüsselung nutzen. Stattdessen müssen zusätzliche binäre Daten auf der Smartcard für die VeraCrypt-Verschlüsselung verwaltet werden.

Smartcard PKCS#11 Schlüsseldatei (KeyFile) verwalten
Smartcard PKCS#11 Schlüsseldatei (KeyFile) verwalten

Verschlüsselte Systempartition (Windows)

Bei der Nutzung von VeraCrypt als Festplattenverschlüsselung installiert sich eine Pre-Boot-Authentication Software (PBA Bootloader) in den ersten Sektoren der Festplatte. Dies ermöglicht die Passworteingabe beziehungsweise Eingabe der PIM vor den Systemstart von Windows. Ohne korrekte Eingabe des Passwortes und optional der PIM kann niemand die verschlüsselte Windows Partition starten. Ähnlich arbeitet auch der Microsoft BitLocker, der ebenfalls vor dem Windows Start nach dem USB-Stick fragt oder einen Schlüssel im TPM Chip nutzt.

VeraCrypt vs. TrueCrypt: Festplatten-Verschlüsselung der Windows Systemplatte
VeraCrypt Festplatten-Verschlüsselung der Systemplatte

Leider wird bei dem Betriebsmodus nur eine Passwort Authentifizierung unterstützt und kein Keyfile beziehungsweise eine Smartcard oder Cryptotoken. Laut Angaben des Anbieters wurde die Sicherheit in der PBA gegenüber TrueCrypt deutlich verbessert und 2015 eine Angriffsmöglichkeit eliminiert.

VeraCrypt Installation

Die Installation auf meinem Windows 10 System verlief problemlos die Verschlüsselung der 50 GB Systempartition erfolgte auf schwacher Hardware in weniger als einer halben Stunde. VeraCrypt gibt an das neben Windows auch weitere Betriebssysteme  wie Linux und Mac OS X ebenfalls verschlüsselt werden können. Diese Funktion habe ich nicht getestet und mich ausschließlich auf Windows beschränkt.

Kritikpunkte

Die Pre-Boot-Authentication ist SEHR puristisch gestaltet, ein schwarzer Bildschirm mit weißem Text in der linken oberen Ecke erinnert an MS-DOS 3.0 aus dem Jahre 1984. Als zusätzliche Einschränkung wird in dem Modus nur ein US Keyboard unterstützt, gegebenenfalls sind die Zeichen der deutschen Tastatur somit einer falschen Taste zugeordnet.

VeraCrypt Pre-Boot Authentication Bootloader, ohne Smartcard und TPM Unterstützung
VeraCrypt Pre-Boot Authentication Bootloader

Leider unterstützt VeraCrypt zu dem Boot-Zeitpunkt auch keine virtuelle Tastatur die von Tablets heute benötigt werden. Man muss also eine physikalische Tastatur am VeraCrypt Client betreiben, so auch am Microsoft Surface 3 und Microsoft Surface Pro 4 Tablet. Das Microsoft Surface Book kann man nur mit verbundener Tastatureinheit booten und nicht im Clipboard/Tablet Modus.

Kritisch ist, dass die Festplatte ist nur durch ein einziges Passwort geschützt wird, daher ist ein Multi-User-Betrieb für Firmen nicht empfehlenswert, da das Passwort des Clients allen Nutzern bekannt sein muss. Ein verfügbarer TPM Security-Chip wird bewusst durch VeraCrypt nicht unterstützt, der Softwareanbieter sieht den TPM-Chip als nicht sichere Lösung an. Meiner Meinung nach sollte den Benutzer die Freiheit zu stehen ob, er einer Sicherheitslösung vertraut oder nicht. Ich sehe in dieser Behauptung des Anbieters eher das mangelnde Vermögen die Software funktional zu erweitern.

Wiederum gibt es kein zentrales Management für die Verwaltung mehrere Clients, es stehen auch keinerlei Recovery-Funktion zur Verfügung die bei Firmennutzung wichtig sind. Die fehlende zwei Faktoren Authentifizierung erfüllt häufig die Mindestanforderungen an die IT-Security im Firmenbetrieb nicht.

VeraCrypt Resümee

Zusammenfassend kann ich über VeraCrypt folgendes anführen:

  • Kostenfreie Lösung, gut für den Privatgebrauch geeignet
  • Open Source: Quelltext einsehbar und dadurch sicherer als andere Lösungen
  • Gute Unterstützung verschiedener, symmetrische Verschlüsselungsalgorithmen
  • Unterstützt die Hardware-Verschlüsselung AES-NI der modernen Intel CPUs mit deutlichem Performance Gewinn gegenüber einer reiner Software Verschlüsselung
  • die Container Verschlüsselung ist gut für vertrauliche Daten die unterwegs benötigt oder in die Cloud gespeichert werden
  • die Festplattenverschlüsselung bietet Schutz aller Daten bei Diebstahl der Hardware, jedoch nur mit Passwortschutz
  • Kein Multi-User-Betrieb möglich
  • Mangelnde zwei Faktoren Authentifizierung
  • Keine TPM Unterstützung

IDRIX hat sich neben VeraCrypt anscheinend auch VeraCrypt+ und VeraCrypt Professional als Markenname schützen lassen. Dies lässt die Vermutung zu, dass es bald auch kommerzielle und erweiterte TrueCrypt Abkömmlinge geben wird, die gegebenenfalls auch im professionellen Firmenumfeld einsetzbar sind. Ich halte jedenfalls meine Augen weiter in Richtung VeraCrypt offen und freue mich auf eure Kommentare.

6 Gedanken zu „VeraCrypt Verschlüsselung besser als TrueCrypt?“

  1. Hey Andreas,

    echt gute Artikel und eine super Übersicht.

    Ich persönlich nutze ja immer 2 Partitionen und verschlüssel nur die Daten, damit wenn doch mal was mit dem OS ist ich wieder an meine Daten komme. Backup und Recovery ist damit zumindest ein wenig schneller und einfacher – Betriebssystem neu drauf und dann ist der Salat schon (fast) druch wenn man seine Keys gesicher hat.

    Mehr davon und mach so weiter!

    Sichere Grüße

    1. Danke für das Feedback Daniel!

      Experten sehen Gefahren darin nur die Datenpartition zu verschlüsseln, da die Windows Hibernation-Datei Risiken birgt und auf der OS Partition liegt und auch die Windows Temp Dateien ggfls. unverschlüsselt liegen. Praktischer ist es natürlich nur die Daten zu verschlüsseln, aber manche Personen oder Unternehmen wollen lieber alles zu 100% verschlüsselt wissen.

      Sichere Grüße zurück – nette Verabschiedung, werde ich mir gelegentlich ausborgen 🙂

      Andreas

  2. Hallo,
    DANKE für die vielen Erläuterungen auf der Homepage. Echt eine super gute Seite.
    TrueCrypt aber auch Veracrypt bieten bei der Passworteingabe aber keinen Schutz vor einem Keylogger, oder?
    Kann man bei einem der Programme vielleicht eine virtuelle Tastatur benutzen? Ist diese in den Programmen integriert?
    Die andere Frage welche ich mir Stelle: kann die Eingabe über ein virtuelle Tastatur nicht über einen “Videorecorder” mitgeschnitten werden welcher auf dem PC den Monitorbereich überwacht?
    VG
    Matthias

    1. Hallo Matthias,

      Danke für das Lob zum Blog. Wie Du richtig erkannt hast bietet weder TrueCrypt (veraltet) noch Veracrypt (der Nachfolger von Truecrypt) einen Schutz vor Keyloggern oder Video-Mitschnitten. Bei Keyloggern muss natürlich ein Angreifer zu erst dein System hacken um den Keylogger zu installieren, oder er hackt sich in die Funkverbindung Deiner Funktastatur (max. 10m!). Jeder Virenschutz heute erkennt aber solche Malware wie einen Keylogger, daher sollte das nicht mehr so einfach sein. Beim Video-Mitschnitt über Malware gibt es gute Nachrichten, die Eingabe des Passwortes erfolgt verdeckt, d.h. am Bildschirm kommen nur schwarze Bullets für jedes Zeichen. Somit kann Dir keiner über die Schulter schauen oder per Fernzugriff Deinen Bildschirminhalt klauen und so das Passwort ablesen.
      Wenn Du es aber besonders sicher haben möchtest, dann verzichtest Du auf Verschlüsselungspasswörter und nutzt entweder:

      – Schlüsseldateien -> hier werden von einer beliebigen Datei die ersten Bytes als Passwort genutzt, z.B. kann eine besondere Bilddatei genutzt werden für Deine Verschlüsselung

      – Sicherheitstoken mit einer PKCS#11 Software Schnittstelle -> dann kannst Du ein Secret auf einem Crypto-Token wie z.B. dem Yubikey 5 nutzen um deine Container zu öffnen. Der Yubikey ist dan zusätzlich mit einer PIN geschützt (wieder Keylogger Angriff möglich) aber durch Besitz und PIN ist das eine sichere Zwei-Faktoren-Authentisierung.

      Sichere Grüße, Andreas

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert