Cryptoparty 12. April 2017 – Programme, Materialien, Links

Keiner soll es erraten – Symmetrische Verschlüsselung, Datei- und Festplattenverschlüsselung

Hier ist der Link zur Präsentation für unsere Cryptoparty. (Download: Zip-Archiv | Tarball )

Das Diskussionsforum für weiter Fragen, Anregungen und Anmerkungen. Einfach registrieren und loslegen.

Bedrohungsmodell (threat models) allgemein

Bedrohungsmodelle ermöglichen die Beurteilung von Risiken, die durch die Nutzung digitalisierter Kommunikation entstehen können. Sie beschreiben Möglichkeiten von Angriffen und decken Verhaltensweisen oder Übertragungswege und -formen auf, die mit Risiken verbunden sein können. Dieses Wissen kann eine Hilfe sein, um die Grenzen und Möglichkeiten von technischen Lösungen wie Ende-zu-Ende-Verschlüsselung oder Transportverschlüsselung für den jeweilige Anwendungsfall besser einzuschätzen und eigenes Verhalten entsprechend anzupassen.

Die Folien zu dem Vortrag What the Hell is Threat Modelling Anyway? sind eine Einführung dieser Konzeptualisierung von Risiken, die mit der Verwendung digitaler Kommunikationsmittel einhergehen.

Festplattenverschlüsselung

Mit VeraCrypt – einem Fork von TrueCrypt – existiert eine betriebssystemübergreifende Software zur Festplatten- und Dateicontainerverschlüsselung, die aktiv weiterentwickelte Versionen zur Verfügung stellt. Ein erster Audit wurde im Herbst 2016 durchgeführt und dabei entdeckte Fehler in der Version 1.19 bereinigt.

Bestehende TrueCrypt-Laufwerke und Container können mit VeraCrypt geöffnet und weiterverwendet werden, auch wenn ein Umzug anzuraten ist. TrueCrypt – der Vorgänger auf dem Veracrypt aufbaut – wird leider nicht mehr weiterentwickelt. Die letzte komplette Version 7.1 a kann immer noch eingesetzt werden, auch wenn einzelne Fehler, die nach Erstellen dieser Version gefunden worden sind, und technische Schulden nicht mehr beseitigt werden.

Seine Features hat VeraCrypt von TrueCrypt übernommen, darunter auch die glaubhafte Abstreitbarkeit (plausible deniability) der Existenz von versteckten Betriebssystemen und Laufwerken (Hidden Volumes). Inzwischen gibt es allerdings auch einige Funktionen, die deutlich über TrueCrypt hinaus gehen, so die Betriebssystemverschlüsselung bei UEFI-Startumgebungen mit GPT-Platten für 64-bit-Ausgaben ab Windows 8, leider aber noch mit Einschränkungen, z. B. hinsichtlich versteckter Systeme.

Linux Nutzer können mit etwas Aufwand die Kernel-basierte Verschlüsselung (dm-crypt/cryptsetup/LUKS) einsetzen um glaubhafte Abstreitbarkeit zu implementieren. Nutzer von Solid State Drives (SSDs) müssen allerdings erwägen, ob sie für Nutzung dieses Feature die Deaktiverung des discard/TIRM Features in Kauf nehmen können.

Für Windows-Systeme wird auch DiskCryptor als Alternative genannt. Mit dieser Software lassen sich derzeit nur gesamte Partitionen (Laufwerke) verschlüsseln und keine Datei-Container anlegen. Für DiskCryptor sind noch keine Sicherheitsüberprüfungen (Audits) bekannt. Die aktuelle Version datiert aus 2014 und es sind aktuell keine neuen Releases geplant. Etliche Nutzer beobachten unlängst Probleme wie etwa Datenverlust, weshalb wir von einem produktiven Einsatz aktuell abraten.

Bitlocker unterstützt alle nativen Windows-Festplatten-Schemata. Allerdings müssen AnwenderInnen – wie bei allen Cloused Source Programmen – in die korrekte, hintertürenfreie Implementierung der Software vertrauen, ohne das überprüfen zu können. Aktuell kann nicht ausgeschlossen werden, dass Bitlocker Hinterüren enhält. Ferner ist die Entfernung eines bestimmten Verschlüsselungs-Features von Microsoft noch nicht plausibel begründet worden und hat Sicherheitsexperten dazu bewogen, Bitlocker nicht länger für die Verschüsselung von Windowssystemen zu empfehlen.

Unter Linux steht mit dm-crypt in Verbindung LUKS (Unter Verwendung von cryptsetup) ein leistungsfähiges und performantes Verschlüsselungssystem zur Verfügung, dass direkt in das Betriebssystem (Kernel) integriert wurde. Ähnlich wie bei DiskCryptor lassen sich hiermit allerdings keine Datei-Container erzeugen. Tutorials für die Verschlüsslung mit dm-crypt finden sich für u. a. für Ubuntu, Mint, ArchLinux, Gentoo, Fedora und OpenSUSE. Bei der Einrichtung einer Komplettverschlüsselung und insbesondere bei der Verwendung von SolidState-Drives (SSDs) sollte darauf geachtet werden, dass die Daten beim Ruhezustand (Hibernate) auf die Platte geschrieben werden (Supend to Disk).

Unter MacOSX steht neben VeraCrypt das von Apple bereitgestellte aber nicht-quelloffene FileVault2 zur Verfügung. Im Gegensatz zur Vorgängerversion ist die Implementierung aus Sicherheitsaspekten deutlich verbessert worden. Eine Hintertür kann – wie bei allen nicht-quelloffenen Cryptosystemen – allerdings nicht ausgeschlossen werden. Vorsicht ist beim Upgrade des Betriebssystems über den Market geboten: Einige der aktuellen Installer, welche die Daten über das Netz laden, erkennen verschlüsselte Partitionen nicht, so dass bei einem Upgrade ernsthaften Probleme auftreten können (u. a. hängt das Upgrade in einer Schleife fest und lässt sich erst installieren, nachdem FileVault2 entfernt wurde). Aufgrund einer schweren Sicherheitslücke bei den USB-Anschlüssen, waren die Passwörter der verschlüsselten Partitionen kurzzeitig auslesbar.

Für BSD-System steht geli für die Festplatten- und Container-Verschlüsselung zur Verfügung.

Dateiverschlüsselung

Für Linux-Systeme kann für die Dateiverschlüsselung GnuPGP, OpenSSL, aescrypt und cccrypt verwendet werden.
Ein Wort zur Vorsichtig: Die OpenSSL Implementierung des symmetrischen Verschlüsselungsalgorithmus AES (Advanced Ecryption Algorithm) ist für zeitbezogene Angriffe auf den Zwischenpuffer (cached timing attacks) verwundbar. Dieser Angriff ist unter der Abkürzung CREAM bekannt geworden.

Unter Windows Systemen kann AESCrypt für die Dateiverschlüsselung oder GnuPGP for Win eingesetzt werden.

MacOSX-Nuzter*Innen können über FileFault, die integrierte Verschlüsselung von Apple, Container anlegen und in diesen Dateien ablegen. FileFault ist allerdings nicht quelloffen, weshalb keine zuverlässige Aussagen über die Vertrauenswürdigkeit und Sicherheit der Implementierung getroffen werden können. Alternativ bietet sich AESCrypt an.

Festplatten-Eraser: Sicherer Löschen

Für das Sichere Löschen von Dateien stehen unter Linux eine Reihe von Werkzeugen bereit. Dazu zählen unter anderem shred, wipe und srm/sfill.

Erfahrende MacOSX-Nuzter*Innen können das Kommandozeilenwerkzeug (Terminal) srm nutzen. shred kann über die Paketverwaltung homebrew nachinstalliert werden.

Unter Windows steht mit Eraser (Heidi Eraser) ebenfalls ein quelloffenes, freies Werkzeug für das Sichere Lösche von Dateien zur Verfügung. Eraser erlaubt es, zeitlich versetzte Aufgaben für das sichere Löschen zu definieren, da die zahlreichen angebotenen Verfahren teilweise die Festplatte ziemlich beanspruchen können. Eine deutsch-sprachige Anleitung findet sich unter http://www.datenfeger.de/eraser-anleitung/.

Hinweis: Sicheres Löschen ist auf Speichermedien mit Flash-Technologie (USB-Sticks, Solid State Drives) u. U. nicht zuverlässig.

Mit BleachBit lassen sich unter Windows, MacOSX und Linux allgemeine Datenspuren, wie etwa Browser-Cookies oder temporäre Dateien beseitigen.

Weiterführende Links

Videoerklärung von AES, in englisch

Videoerklärung von HMAC-Algorithmen, in englisch

Das CrypTool-Portal ermöglicht jedermann einen einfachen Zugang zu Verschlüsselungs-Techniken. Alle Lernprogramme im CT-Projekt sind Open-Source, kostenlos und (auch) in deutsch. Das CrypTool-Projekt entwickelt die weltweit am meisten verbreitete E-Learning-Software für Kryptographie und Kryptoanalyse.
Ein ausführliches Buch zu den mathematischen Hintergründen der in Cryptool vorgestellten Verfahren findet sich hier.

Handbuch der angewandten Kryptografie (orig. “Handbook of Applied Cryptography”):
Offizielle Download-Seite für die einzelnen englischen Kapitel zur privaten Verwendung.