CryptoParty 25. Februar 2019 – Programme, Materialien, Links

»Das können wir selber – Alternative Soziale Netzwerke und Cloudsysteme«

Hier ist der Link zu unserer Präsentation. (Download: Zip-Archiv | Tarball )

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

Bedrohungsmodell (threat models) allgemein

Bedrohungsmodelle ermöglichen die Auseinandersetzung mit potentiellen Risiken, die durch die Nutzung digitaler Kommunikation entstehen können. Sie beschreiben also Möglichkeiten von Angriffen oder decken Verhalten oder Übertragungsformen auf, die mit Risiken verbunden sein können. Das Wissen um diese Risiken kann eine Hilfe sein, die Grenzen und Möglichkeiten von Ende-zu-Ende-Verschlüsselung für die jeweilige Anwendung besser einzuschätzen.

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

Das Bundesamt für Sicherheit in der Informationstechnik (BSI) stellt unter dem Abschnitt Themen der Cybersicherheit eine Information zu den Begriffen Bedrohung, Gefährdung und Risiko zur Verfügung.

Für Soziale Netzwerke sollten vor allem die allgemeinen Risiken wie Identitätsdiebstahl und Betrugsfallen berücksichtigt werden. Cloudsysteme können ebenfalls anfällig für Angriffe sein, die Identitätsdiebstahl und Diebstahl von sensiblen Dokumenten oder Fotografien ermöglichen.

Non-Knowledge-Cloudsysteme und Backups in der Cloud

In Anlehnung an den Non-Knowledge-Beweis wird der Begriff Zero Knowledge für eine Cloudtechnologie verwendet, die Nutzer*Innen – verglichen mit anderen Cloudsystemen – mehr Privatsphäre versprechen.
Dabei soll der Anbieter gegenüber einem Dritten, z. B. einer staatlichen Behörde, nötigenfalls sogar vor Gericht glaubhaft abstreiten können, Dateien spezifischer Nutzer in ihrem Systemen ausfindig machen zu können.
Der Non-Knowledge-Ansatz soll dadurch erreicht werden, dass die Dateien bereits auf den Geräten der Nutzer*Innen verschlüsselt werden. Idealerweise kennt der Anbieter den kryptographischen Schlüssel zu keinem Zeitpunkt, mindestens aber nur temporär (Sitzungsschlüssel), da das Verfahren von der Abstreitbarkeit des Zugriffs auf diesen Schlüssel abhängt.

Der von Edward Snowden empfohlene Anbieter SpiderOak bietet einen solchen verschlüsselten Non-Knowledge Dienst an, der bis zu 2 GB kostenfrei genutzt werden kann. Die Verschlüsselung der Dateien wird auf den Geräten der Nutzer*Innen durchgeführt. Dafür ist eine eigene Software notwendig, die SpiderOak für die gängigen Betriebssysteme, inkl. Tablets und Smartphones anbietet. Der Anbieter gibt an, dass der Non-Knowledge-Ansatz lediglich für die Desktop-Variante gelte.
Bei der Nutzung über die Website oder mit den mobilen Varianten, soll der Schüssel kurzzeitig im Speicher des Anbieter-Servers gehalten werden. Für diese beiden Anwendungsfällen ist also der Non-Knowledge-Ansatz eingeschränkt. Die Software, welche die Grundlage (Framework) für den Webzugang liefert, ist als OpenSource verfügbar und kann prinzipiell geprüft werden.
Ein weiterer Nachteil von Spideroak ist, dass weder die Desktop-Software noch die Serverarchitektur als OpenSource eingesehen werden können, auch wenn es Überlegungen des Anbieters gibt, dies eines Tages zu ändern. Nutzer*Innen, die besonderen Wert auf Privatsphäre legen, sollten darüber hinaus die Besonderheiten des Standorts des Anbieters nicht übersehen: Aufgrund des Sitzes in den USA können die Behörden durch einen sog. National Security Letters (NSL) Zugriff auf die gesamte Cloud erlangen, ohne dass der Anbieter diese Informationen an seine Kunden*Innen oder die Öffentlichkeit weiterreichen darf. Die Verschlüsselung der Daten auf den Nutzergeräten dürfte die Zugriffsmöglichkeiten für US-Behörden allerdings erheblich erschweren.

Nutzer*Innen von BSD- und Linux-Systemen können auf Tarsnap zurückgreifen. Tarsnap ist ein Kommandozeilenwerkzeug, dass verschlüsselte Backups mit dem Non-Knowledge-Ansatz kombiniert. Die Daten werden auf dem Linux/BSD-Gerät verschlüsselt und dann in eine Amazon S3-Cloud übertragen. Die Software wurde noch nicht unter einer OpenSource-Lizenz veröffentlicht, kann aber offenbar auch im Quellcode heruntergeladen werden. Das Bezahlmodell unterscheidet sich von üblichen Abomodellen: Nutzer*Innen zahlen für die gespeicherten Daten und die Übertragung in den Cloudspeicher – die Kosten werden von einem Guthaben-Konto abgezogen. Kritischen Nuzter*Innen dürfte, neben der fehlenden OpenSource-Veröffentlichung, vor allem die Wahl des Cloud-Speichers zumindest nicht geheuer sein. Auch wenn die Daten dort verschlüsselt abgelegt werden: Amazon S3 unterliegt der Zuständigkeit der US-Behörden und kann prinzipiell mit einem National Security Letter (NSL) zur Herausgabe von Daten gezwungen werden. Allerdings betreibt Amazon auch innerhalb Europas Datencenter, um Kunden alternative Speichermöglichkeiten anzubieten. Die externe Verschlüsselung ist grundsätzlich erlaubt und Basis des Tarsnap-Angebots. Solange keine Offenlegung des Quellcodes von tarnsnap unter einer OpenSource-Lizenz erfolgt kann nicht geprüft werden, ob sich keine Hintertüren in der Software befinden. Nutzer*Innen müssen sich, wie bei allen anderen Anbietern, auf die richtige Implementierung der Verschlüsselung und die Integrität des Anbieters verlassen.

Mit tresorit steht eine weitere Initiative aus der Schweiz zur Verfügung, welche mit der Speicherung von Daten innerhalb Europas wirbt und ebenfalls ein Non-Knowledge-Ansatz durch client-seitige Verschlüsselung der Daten (Ende-zu-Ende-Verschlüsselung) anbietet. Aufgrund der Verfügbarkeit der Software auf den gängigen Plattformen und Betriebssystemen und des Angebots eines Desktop-Clients, eines Webclients und von Apps, ist tresorit eher mit SpiderOak vergleichbar.

Alternative Cloudsysteme

In den letzten Jahren sind neben den großen Cloudanbietern auch freie OpenSource-Lösungen entstanden, die Nutzer*Innen mit dem entsprechenden Fachwissen in einem Shared-Hosting oder auf einem virtuellem RootServer installieren können.

Wer auf eine zentrale Instanz der Datenhaltung verzichten möchte, kann Dateien direkt mit einem Kommunikationspartner via Syncthing austauschen. Syncthing ermöglicht die Synchronisation großer Datenmengen (z. B. mehrerer geteilter Verzeichnisse) und setzt bei der Übertragung konsequent auf Transportverschlüsselung (TLS). Nutzer*Innen laden dafür eine direkt ausführbare Software auf ihr System, die einen kleinen Webserver startet, der für den Austausch eine einfach zu bedienende Webseite bereitstellt, über die Ordner für die Synchronisation festgelegt und Verbindungen zu anderen Teilnehmern hergestellt werden können. Die Identifikation erfolgt über eine sehr lange, eindeutige Identifikationsnummer, welche die Teilnehmer*Innen am besten über ein anderes sicheres Medium (z. B. verschlüsselte E-Mail oder Messenger-Nachricht) austauschen können. Die Ordner gleichen sich nach Aufbau der Verbindung automatisch miteinander ab. Einmal eingetragene Teilnehmer können auch gespeichert werden. Für Android-Systeme steht mittlerweile auch eine App zur Verfügung, so dass Syncthing für das Backup von Smartphones und Tablets verwendet werden kann. Aufgrund der vergleichsweise hohen Übertragungsraten positioniert sich Syncthing als konsequent verschlüsselte, quelloffenen Alternative zu kommerziellen, geschlossenen Angeboten wie etwa bitsync.

Das Nextcloud-Projekt bietet über den Dateiaustausch hinaus viele Features an – ansonsten häufig nur bei den Internetriesen vorzufinden –: Kalender und Kontakte, Fotogalerien und vieles mehr. Die Daten können auch aus einem anderen Speichersystem in die NextCloud integriert werden – sogar aus dem eigene Heim-NAS (Network Attached Storage). NextCloud ist in der Lage die Daten zu speichern und verschieden dort angemeldeten Nutzern Zugriff zu gewähren. Dateien und Verzeichnisse können auch über extern verfügbare Links geteilt werden, wobei der Zugriff zusätzlich über ein Passwort geschützt werden kann. Seit Version 14 steht nun auch eine durchgängig integrierte Ende-zu-Ende-Verschlüsselung zur Verfügung, welche den Non-Knowledge-Ansatz für Nextcloud-Nutzer*innen realisiert.

Schließlich bietet NextCloud die Möglichkeit mehrere NextCloud-Instanzen miteinander zu vernetzen (föderiertes System). Mit der Collabora Online Office steht zudem eine Online-Office-Lösung ähnlich wie Google-Doc zur Verfügung. Nextcloud ist ein noch junger Fork des Owncloud-Projekts. Da die Zukunft des letzten aber ungewiss ist, empfehlen wir aktuell sich für Nextcloud zu entscheiden.

Seafile stellt eine Alternative zu Owncloud dar, vor allem, wenn lediglich die Möglichkeit des Datenspeicherns und -austauschens gewünscht wird. Seafile bietet die Möglichkeit verschlüsselte Ordner als Container Dritten zur Verfügung zu stellen. Seafile bietet Desktop-Clients, die die Daten direkt auf dem eigenem Rechner verschlüsseln (Client-Side-Encryption).

Sowohl für Seafile, als auch für Nextcloud steht Software zur Verfügung, die auf einem Rechner installiert werden kann und die die Synchronisation von Dateien auf komfortable Weise im Hintergrund übernimmt. Für beide Systeme sind zudem Apps verfügbar, die einen Zugriff auf die Daten über Smartphones und Tablets erlauben

Verschlüsselte Backups

Borg (BorgBackup) ist eine Datensicherungssoftware, die schnelle inkrementelle Archivierung ermöglicht und für Linux, macOS und für BSD-basierte Systeme verfügbar ist. Unter Windows 10 lässt sich Borg experimentell im Linux Subystem betreiben. Borg nutzt die sog. Deduplikationstechnik, bei der redundante Daten (Duplikate) innerhalb eines Backup-Archivs erkannt und eliminiert werden. Borg vermeidet auf diese Weise die Durchführung von Vollbackups, die bei der Übertragung auf und von Servern oder innerhalb lokaler Netzwerke viel Bandbreite konsumieren können. Alle Archive werden dabei an einem gemeinsamen Speicherort (Repository) abgelegt. Das Repository kann sich in einem lokalen Speicher oder auf einem entfernen Rechner (Server) befinden. Beim zwingenden Initialisierungsvorgang wird das Repository nicht nur angelegt, sondern auch seine Eigenschaften wie Kompression und Verschlüsselung festgelegt. Nutzer*innen legen bei einer Backup-Automatisierung selbst fest, ob ein vollständiges Backup oder einer mit Deduplikation angelegt werden und wann welche alten Zwischenstände entfernt werden können (prune).

Lange Zeit existierte für Borg nur ein kommandozeilen-basiertes Werkzeug. Mit Vorta steht nun auch ein Desktop-Client für Linux, BSD und macOS zur Verfügung.

Mittlerweile bieten auch Dienstleister cloudbasierte Backup-Repostories an, so dass sich BorgBackups ähnlich wie tarsnap betreiben lassen, allerdings ohne die Daten bei einem großen Anbieter wie Amazon (AWS) speichern zu müssen.

Mit rclone lassen sich zudem auch komplette Borg Repositories in einen gängigen Cloudspace übertragen und sind dort dann durch die Verschlüsselung geschützt. Wer diese geklonen Repositories allerdings zur Wiederherstellung verwenden möchte, sollte zusätzlich die Daten sichern, die Borg im Home-Verzeichnis angelegt hat.

Mit duplicati steht eine ähnliches Backupsystem für Windows, Linux und macOS bereit. Duplicati wird seit Version 2.0 ähnlich wie synchting über eine Weboberfläche verwaltet und setzt ebenfalls Deduplikationstechnik ein um die Größe einzelner Backup-Läufe zu reduzieren. Zur Verschlüsselung kann entweder gpg oder die integrierte AES-Verschlüsselung verwendet werden.

Anders als borg ist die Sicherung der Backups bei verschiedenen Cloud-Anbietern integriert. Die Sicherung auf lokale oder externe Datenträger wird allerdings ebenso unterstützt, wie die Sicherung in ein NAS. Zusätzlich lässt sich duplicati auch mit rclone kombinieren.

Weiterführende Links

Ein kompletter Einführungskurs zur Kryptografie mit Videos, konzipiert über mehrere Wochen, komplett in englisch, findet sich bei coursera.org.

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 Skript zu den mathematischen Hintergründen findet sich hier.

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