KryptografieLinux Desktop

Daten verschlüsseln mit VeraCrypt

Last Updated on: 6th Oktober 2020, 02:35 pm

Wer seine Daten schützen und verschlüsseln möchte, konnte bis vor einigen Jahren auf das bewährte Tool TrueCrypt zurückgreifen. Dieses war kostenlos für Windows und Linux verfügbar und galt nach bisherigem Stand der Technik als sicher. In der Verwendung war es recht unkompliziert und erfreute sich daher großer Beliebtheit.

„TrueCrypt is no longer safe. Be warned“

Seit Mai 2014 wird TrueCrypt aber nicht mehr weiterentwickelt. Die Softwareentwickler haben sich mit dem Hinweis „TrueCrypt is no longer safe. Be warned“ verabschiedet, ohne dies näher zu erläutern. Es wurden viele Spekulationen darüber im Web angestellt, was wohl passiert sein mag. Klarheit herrscht bis heute nicht und ich werde mich auf diesem Weg auch nicht an Spekulationen beteiligen. Wer sich dieses Thema mal ansehen möchte, findet bei heise.de einen guten Einstieg.VeraCrypt Wer sich jetzt fragt, ob VeraCrypt denn wohl sicher ist, kann sich das unabhängige Audit dazu mal ansehen. Demnach bestehen gegen die Version 1.19 keine Bedenken.

Stattdessen schauen wir uns eine echte Alternative zu TrueCrypt an: VeraCrypt. Das Tool gilt als Nachfolger von TrueCrypt (sog. FORK des Quellcodes auf github) und wird aktiv weiterentwickelt. VeraCrypt kann TrueCrypt Container öffnen und handhaben. Es wird genutzt für sog „on-the-fly-disk-encryption“ (OTFE), also die Möglichkeit, ein Laufwerk oder einen Datencontainer im Lese- oder Schreibvorgang zu ver- oder entschlüsseln. Dadurch ist es möglich, einen verschlüsselten Datencontainer wie eine normale Festplatte zu nutzen, ohne dass es zu nennenswerten Verzögerungen beim Lesen oder Schreiben von Daten kommt. Natrürlich dauert der Kryptovorgang etwas länger als direktes schreiben. Es geht aber sehr flott. Prinzipiell werden dabei die Daten „portionsweise“ zur Ver- oder Entschlüsselung kurz in den Arbeitsspeicher des Systems (RAM) geladen und dann erst gespeichert bzw in den Ausgabepuffer geschrieben. Details dazu finden sich auf der Dokumentationsseite.

Das grundsätzliche Problem mit Verschlüsselungssoftware

Wer seine Daten auf der Festplatte sichern will, kann dazu verschiedene Mechanismen der Verschlüsselung nutzen. Insbesondere bei SSD-Festplatten bieten die Hersteller oft sogar eine eigene Verschlüsselung der SSD-Platte von Werk ab an. Es ist aber in der Vergangenheit offenkundig geworden, dass sich diese Verschlüsselungen, vor allem bei Festplatten von Cruicial und Samsung, einfach umgehen ließen und die Daten ohne Passwort zugängig waren. Das ist unter Sicherheitsgesichtspunkten natürlich völlig inakzeptabel. Daher setzen mittlerweile die Hersteller von Cryptosoftware zunehmend auf eigene Verschlüsselungsmechanismen, die softwarebasiert funktionieren und von Hardwareunterstützung unabhängig sind. Selbst Microsofts BitLocker hat jüngst ebenfalls eine Softwarelösung implementiert und will sich nicht weiter von der AES-Unterstützung durch Intel-CPUs abhängig machen.

Ich persönlich habe noch keinen Bericht darüber gehört, dass die Hardwareunterstützung von AES-Verschlüsselungen die Intel-CPUs mitsich bringen, zum Datenschutzdesaster geraten sind. Das hier vorgestellte Tool VeraCrypt nutzt bei der AES-Verschlüsselung ebenfalls die AES-Unterstützung der CPU. Wem das zu unsicher ist, weil er befürchtet, dass Dritte auf diese Weise doch an seine Daten geraten könnten, der sollte einen anderen Verschlüsselungsmechanismus wählen. Ob dieser dann „sicherer“ ist, ist momentan schwer zu sagen. Alternativ kann die CPU-Unterstützung in VeraCrypt auch ausgeschaltet werden. Dazu in den Einstellungen später nach der Installation unter PREFERENCES->PERFORMANCE den entsprechenden Haken setzen:

VeraCrypt Preferences

Ich finde es aber wichtig auf dieses Thema hinzuweisen, weil Verschlüsselung eben nicht immer so sicher ist wie es oft in der Presse oder beim Stammtisch kolportiert wird. Es ist eine Barriere, die derzeit eine gewisse Wirksamkeit hat. Das kann sich aber mit zunehmender Rechenleistung der Großrechner bald ändern. Quantencomputer würden die derzeit existierenden Verschlüsselungen in Sekunden knacken und schutzlos werden lassen. Man sollte daher die Augen offen halten welches Land in der Forschung an Quantencomputern Fortschritte macht. Wenn diese Technik verfügbar ist, bedeutet es zunächst das Ende der digitalen Privatsphäre. Es wird dann etwas dauern, bis neue Algorithmen gefunden sind, die dann wieder einen wirksamen Schutz gegen Fremdzugriffe bieten (an deren Verbreitung Geheimdienste und Ermittlungsbehörden eher wenig Interesse haben dürften). Immerhin ist Google auf diesem Gebiet bereits ein entscheidender Durchbruch gelungen wie HEISE und Spiegel berichten.

Hinzu kommt, dass in Deutschland Geheimdienste nun auch dazu ermächtigt werden, jedwede Kommunikation zu überwachen. Anders als bei der Polizei besteht dafür kein Richtervorbehalt und es darf frei entschieden werden, wer überwacht wird. Aus meiner Sicht ist das ein Eingriff in die Privatsphäre, der durch nichts zu rechtfertigen ist. Aber dieses Thema zu diskutieren, ist sehr ausufernd und nicht Teil dieses Artikels.

Genug Vorgeplänkel, jetzt zur Anwendung:

Installation auf Ubuntu 18.04

Es gibt zwei Wege, VeraCrypt auf dem Ubuntusystem zu installieren. Entweder über die offiziellen Installationsscripte oder via PPA-Repos. Ich entscheide mich hier die PPA-Repos zu nutzen. PPA steht dabei für „Personal Package Archive“. PPA-ReposDabei handelt es sich um eine Schnittstelle, die es Entwicklern ermöglicht, eigene Pakete zur Verfügung zu stellen, die nicht dem offiziellen Release von Ubuntu angehören. Dies müssen allerdings erst aktiviert und den eigenen Quellen hinzugefügt sein, damit sie via apt verwendet werden können. Entsprechend sieht die Installation dann wie folgt aus:

sudo add-apt-repository ppa:unit193/encryption
sudo apt-get update
sudo apt install veracrypt

Nach der Installation sollte VeraCrypt dann in den Anwendungen von Ubuntu zu finden sein:

VeraCrypt Ubuntu Anwendungen
Das erste Ausführen sollte den folgenden Bildschirm hervorbringen:

VeryCrypt Startbildschirm

Gratulation! Wenn dieses Fenster erscheint, ist die Installation gelungen und VeraCrypt sollte einsatzbereit sein.

Der erste Datencontainer

Hier möchte ich nicht einen ganzen USB-Stick verschlüsseln, sondern einfach nur einen Datencontainer für vertrauliche Daten auf einer Festplatte erzeugen. Dies kann nun mit „Create Volume“ gestartet werden. Doch zuvor sollten wir kurz einen Blick auf die Verwendung des Datencontainers werfen. Es muss klar sein, dass dieser Teil der Festplatte, der hier als einfache „Datei“ im Dateisystem von Ubuntu erscheint, nicht direkt durch das System genutzt werden kann. Vielmehr belegt der Container immer die Größe, die wir beim Anlegen desselben wählen, egal wieviele Daten wir darin haben. Er sollte daher nur so groß gewählt sein wie die zu erwartende Datenmenge, die es zu schützen gilt, auch erfordert.

Wer viel im Ausland unterwegs ist weiß, dass bei der Einreise in viele Staaten mittlerweile das elektronische Equipment gerne vom Zoll bzw den dortigen Behörden (Stichwort „Homeland Security“) untersucht wird. Dann einen Datencontainer mit verschlüsselten Daten auf der Festplatte zu haben, weckt Begehrlichkeiten selbst, wenn diese für die Staaten ohne Belang sind. Es ist daher ratsam den CryptoContainer so anzulegen, dass er nicht sofort als solcher in Erscheinung tritt. Den Container „ClassifiedCryptoMaterial“ zu nennen, kann zu einem längeren Aufenthalt im Einreisebereich des Flughafens führen, als gedacht. Sinnvoller ist es, den Container im Bereich Videos anzulegen und ihn auch wie ein Video zu benennen. Dann muss natürlich auch die Dateigröße wie auch die Dateiendung als Video zu erkennen sein. Ich nenne ihn daher exemplarisch mal youporn_MiaBondage_fetish.part.divx. 🙂 Also offensichtlich der Teildownload einer Videodatei. Ubuntu erkennt anhand der Endung nun, dass es sich um eine Videodatei handelt und wird diese mit dem Totemplayer, VLC oder einem anderen Player öffnen, was dann zu einer Fehlermeldung führt. Der Fehler ist erklärlich, weil es ja nur ein .part. einer Datei ist, die noch nicht ganz heruntergeladen wurde….

Gleichwohl würde ich noch einen zweiten Container anlegen, der offenkundig verschlüsselt ist und gerne gefunden werden darf. Das erklärt dann auch die Existenz der Software VeraCrypt auf dem Rechner. Nennen wir ihn also ClassifiedDocs und legen ihn im Bereich Dokumente an. Der Zweitgenannte dient somit als „honeypott“ und das Passwort kann der freundliche Einreisebeamte auch gerne erfahren. In dem Container befindet sich nur Zeugs, dass wir persönlich wichtig finden, nicht aber Dinge wie Passwörter oder Kundendaten. Diese sind nur im ersten Container zu finden.

VeraCrypt vol dialog

Als nächstes wird abgefragt, ob es ein versteckter Container sein soll oder ein auffindbarer. Wie oben dargestellt favorisiere ich auffindbare Container. Wer ganz sicher gehen will kann auch dies unterbinden und entsprechend unauffindbare Container generieren. Einfach mal ausprobieren…

VeraCrypt Fileselect

„Never save history“ lasse ich stets aktiviert. Es geht niemanden, der „unerwartet“ Zugriff auf den Rechner hat etwas an, was in dem Cryptocontainer gespeichert und gelöscht worden ist… Auch solche Funde können ein Problem werden.

Die Frage nach der Art der Verschlüsselung beantworte ich mit AES und SHA-512. Nach aktuellem Stand der Technik ist das ein bisher noch gutes Schutzniveau der Daten.

VeryCrypt Schutzniveau

Die Größe des Containers bleibt wegen der zu erwartenden Datenmenge überschaubar auf 250MB. Mehr braucht mein honeypott nicht:

VeraCrypt VolSize

Der nun folgende Teil bei der Vergabe des Passworts ist noch einmal spannend. Ich persönlich verwende ein Passwort, dass den Behörden eventuell sowieso schon von der Dauerüberwachung bekannt ist (Amazon, Facebook, Google, was auch immer). Bei einem echten Cryptocontainer würde ich das Passwort so wählen, dass den Behörden nicht schon anheim gefallen ist.

VeraCrypt Password

Nun kann VeraCrypt endlich den Container anlegen. Wenn es beabsichtigt ist, den Container auch mittels Windows oder anderer Geräte zu nutzen, sollte das Dateisystem mit FAT gewählt werden.

VeraCrypt Filesystem

Im folgenden Dialog startet VeraCrypt nun endlich das Formatieren des Containers. Dabei sollte der Mauszeiger innerhalb des Dialogfensters in Bewegung bleiben, bis der obere Balken am Ende angekommen ist. Das Prinzip der Verschlüsselung, die hier angewendet wird ist, möglichst viele zufällige Werte zu bekommen, die nicht durch die CPU selbst generiert wurden. Man hat in Untersuchungen festgestellt, dass CPU-Werte sich wiederholen und für gute Kryptografie daher nicht eignen, weil sie vorherberechenbar sind. Daher werden die Mauszeigerpositionen in die Berechnungen mit aufgenommen und ergeben so „echte“ Zufallswerte.

VeraCrypt FormatFileTable

Nachdem der Container erstellt wurde, kann dieser unsere geheimen Daten nun aufnehmen. Dazu klicken wir zunächst auf „EXIT“ um den Dialog zu verlassen. Anschließend starten wir VeraCrypt erneut und wählen den Container auf Position 1 der Liste für den Mount-Vorgang. Dabei wird auch das Adminpasswort (sudo) abgefragt, weil der Mount-Befehl dies benötigt:

VeraCrypt PasswordOpen

Anschließend sollte der Container gemountet sein und als Laufwerk auf dem System zur Verfügung stehen:

VeraCrypt Mounted

Entsprechend lässt sich mit dismount der Container wieder schließen. Der soeben erzeugt Container ist übrigens „mobil“. Er kann, genau wie andere Dateien auch, auf andere Laufwerke verschoben oder sogar in die Cloud ausgelagert werden und funktioniert trotzdem mit VeraCrypt weiter. Wer den Container in die Cloud auslagert, kann diesen z.B. auch über sein Mobiltelefon nutzen. Unter Android empfehle ich dazu das Tool EDS Lite von Sovworks. Dieses ist über den alternativen Appstore F-Droid verfügbar. Die Vollversion ist natürlich auch über den Google-Playstore verfügbar… Viel Spaß mit dem Cryptocontainer!

Schreibe einen Kommentar