Cryptoparty 09. November 2016 – 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 digitalisierter 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äsdiebstahl und Betrugsfallen berücksichtigt werden. Cloudsysteme können ebenfalls anfällig für Angriffe sein, die Identitäsdiebstahl und Diebstahl von sensiblen Dokumenten oder Fotografien ermöglichen.

Zero-Knowledge-Cloudsysteme und Backups in der Cloud

In Anlehnung an den Zero-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 Zero-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 Zero-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 Zero-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 Zero-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 Zero-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.

Nutzer*Innen von Cloudspeichern ohne Zero-Knowledge-Funktionalitäten können die OpenSource-Backup-Lösung duplicity (Linux, Kommandozeilenwerkzeug), deja dup (Linux, grafisches Oberflache) oder Duplicati (Windows) nutzen. Diese Backup-Software verschlüsselt die Daten auf dem eingesetzten Rechnern, bevor diese dann in den Cloud-Speicher übertragen werden.

Alternative Cloudsysteme

In den letzten Jahren sind zu 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 Nutzer 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. Schließlich bietet NextCloud die Möglichkeit andere NextCloud miteinander zu vernetzen (föderiertes System). Mit der Collabora Online Office stehen einen zudem weitere Möglichkeiten offen.  Nextcloud ist ein noch junger Fork des Owncloud-Projekts. Da die Zukunft des letzten aber ungewisst ist, empfehlen wir aktuell sich im Zweifel eher 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 anderen 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.

Blogs und Microblogs

Blogs

WordPress hat sich in den letzten Jahren von einer Defacto-Software für Blogger zu einem sog. Content-Management-System entwickelt und stellt auf diese Weise tausende Sites im Netz bereit. WordPress fällt vor allem durch die vergleichsweise einfache Installation und Nutzung auf. Bei den meisten Anbietern von Shared-Hosting oder virtuellen RootServern lässt sich WordPress in der Regel problemlos installieren.
Für WordPress stehen zahlreiche Themes und Plugins zur Verfügung, die Blogger*Innen oder Seitenbetreiber*Innen dabei unterstützen, der eignen Individualität im Netz Ausdruck zu verleihen und bieten Möglichkeiten diese zu vernetzen. Der Vorteil beim sog. Self Hosting besteht vor allem darin, dass Blogger*Innen die Rechte über ihre Inhalte nicht über Allgemeine Geschäftsbedingungen und unter den Prämissen des US-Rechts an den Anbieter der Plattform übertragen und so einen wesentlichen Teil der Hoheit über ihre im Netz veröffentlichten Inhalte behalten.

Als Alternative zu WordPress kommen häufig schlankere, reine Blog-Systeme zum Einsatz. In den vergangen Monaten hat Ghost für Furore gesorgt. Anders als WordPress steht der Fokus hier vor allem auf dem Schreiben und der Veröffentlichung von Artikeln. Allerdings ist die Software derzeit noch nicht bei jedem Hosting-Anbieter ohne weiteres installierbar, auch wenn das dafür einsetzte Basissystem node.js in der jüngeren Vergangenheit an Verbreitung gewonnen hat.

Schließlich gibt es noch die Möglichkeit ein Blog oder eine Website auf der Grundlage von Textdateien, die einem bestimmten Format (Markdown) entsprechen, auf dem eigenen Rechner genieren zu lassen. Die entstandene, statische Website, die dann keinerlei Datenbanksystem mehr benötigt, kann dann auf den eigenen Server hochgeladen werden. In den letzten Jahren sind zahlreiche static site generators entstanden. Einer der bekanntesten ist noch immer jekyll.

Microblogs

Unter einem Mircobloggingdienst versteht man im allgemeinen einen Dienst der die Veröffentlichung von Kurzbeiträgen ermöglicht. Die Grenzen zwischen Sozialem Netzwerk und Microblogging ist dabei häufig fließend.

Zu den Microblogs, die Nutzer*Innen im Selfhosting betrieben können, oder für die es zumindest freie Accounts gibt, zählen z. B. GnuSocial (früher Status.Net) und pump.io, die beide einen föderierten Ansatz verfolgen, d. h. versuchen verteilte Installationen miteinander zu vernetzen.

GnuSocial unterstützt Nachrichten mit einer Länge von 1024 Zeichen. Diese Beiträge werden Queets genannt. Queeterer haben zudem die Möglichkeit Bilddateien in ihre Kurzmitteilung hochzuladen. GnuSocial bietet außerdem die Möglichkeit Links in Queets automatisch zu kürzen (URL-Shortener). Über Schlagworte (Tags) kann sich ein Nutzer in einem Profil selbst beschreiben. Queets können Standortinformationen enthalten. Diese Option ist – abhängig von der verwendeten Installation – standardmäßig nicht aktiviert. Das Profil bietet Nutzer*Innen zudem die Möglichkeit der Selbstbeschreibung (Biografie) an. Außerdem kann eine Website als Adresse hinterlegt werden. Impressum und vergleichbare Angaben sind nicht vorgesehen.
GnuSocial kann unter GnuSocial.de ausprobiert werden. Da GnuSocial das OStatus-Protokoll versteht, sind Apps verfügbar.

pump.io stellt eine sehr klare, moderne Weboberfläche zur Verfügung, die an Twitter erinnert. Anders als bei Twitter ist die Länge der Nachrichten nicht auf 140 Zeichen begrenzt. pump.io hat verschiedene technischen Protokolle zusammen getragen, die prinzipiell einen breiten Einsatz ermöglichen und auch die Probleme föderierter Netze zu adressieren versuchen. Da pump.io das ActivityStreams-Protokoll implementiert hat, kann es über entsprechende Apps auch dazu verwendet werden sportliche Aktivitäten, gehörte Musik oder Check-Ins an bestimmten Orten zu veröffentlichen und zu protokollieren. Inwieweit diese Möglichkeiten außerhalb von experimenteller Arbeit im Rahmen von Hacktivismus einer größeren Netzöffentlichkeit zu kommen werden, ist bisher schwer einschätzbar.
pump.io-Nutzer*Innen stehen für Android die Apps Puma und Impeller zur Verfügung, die über den FDroid-Store bezogen werden können. Für Desktop-Geräte machen die beiden Anwendungen Pumpa und Dianara derzeit den besten Eindruck.

Alternative ›Soziale Netzwerke‹

Wenngleich pump.io und GnuSocial durchaus auch als Soziale Netzwerke aufgefasst werden können, gibt es daneben auch weitere föderierte Ansätze, die explizit auf den Anspruch eines sozialen Netzwerkes hinarbeiten.

Unter föderiertem Ansatz wird im Zusammenhang mit Sozialen Netzwerken an dezentrale, verteilte, unabhängige Systeme gedacht, die sich bei Bedarf miteinander verbinden. Anders als bei den großen Rechnerverbünden (Cluster, Clouds) in den DataCentern von Facebook, Google und Twitter werden die Daten der Nutzer*Innen hier nicht in einem zentralisierten Datensilo gespeichert. Prinzipiell können also wenige Nutzer*innen einen bestimmten Zirkel sogar auf einer eigenen Instanz (Server, Pod, Host) abbilden. Es gibt sogar Verfahren, die ohne Rechner (Server, Hosts) im Netz auskommen und die Teilnehmer*Innen direkt miteinander verbinden (Peer-to-Peer).

Die aus Nutzer*Innensicht einfachste Variante ein Soziales Netzwerk aufzubauen ist der Einsatz von Retroshare. Retroshare ist eine Software, die auf dem eigenen Gerät installiert wird und die über ein verteiltes Verfahren, eine sog. Verteilte Hashtable (DHT), die Vernetzung direkt zwischen den Teilnehmen realisiert (Peer-To-Peer, P2P). Wenngleich die Benutzeroberfläche etwas in die Jahre gekommen wirkt, bietet Retroshare Instant-Messaging, Mailing, Voice-over-IP, Dateiaustausch und sieht sogar die Führung verteilter Foren vor. Identität wird in Retroshare über einen OpenPGP-Schlüssel abgebildet, den Freunde untereinander austauschen können. Diese Schlüssel werden in der verteilen Hashtabelle abgelegt. Für die Verschlüsselung nutzt RetroShare nach der Identifkation der beteiligten Kommunikationspartner eine modifizierte Version von OpenSSL. Der Austausch großer Dateien über Retroshare braucht Geduld, da die Übertragung aufgrund der Peer-To-Peer-Verbindung und der meist asymmetrischen Anbindung der Teilnehmer, einige Zeit in Anspruch nehmen kann. Das RetroShare-Team sucht derzeit händeringend nach Entwicklern, um die Software weiter zu entwickeln. Ein Prüfung der kryptografischen Elemente des Systems (Audit) hat bisher nicht statt gefunden.

Friendica ist ein umfassendes, verteiltes Soziales Netzwerk. Neuen Nutzern können in der Dokumentation eine Einführung konsultieren.
Ähnlich wie bei Facebook können Nutzer detaillierte Informationen zu ihren Vorlieben, Interessen und ihren Beziehungen angeben. In den Beiträgen ist es möglich Hyperlinks, Bilddateien, Video und Klangdateien einzubinden. Wie Facebook oder Twitter bietet Friendica die Möglichkeit, Schlagworte in den Beiträgen über Hashtags zu kennzeichnen. Wie bei Facebook ist die Möglichkeit gegeben über einen Kalender Ereignisse zu teilen oder anzulegen. Zudem können persönliche Notizen verfasst werden. Nutzer können ihre Kontakte über Gruppen organisieren oder diesen Beitreten. Ein IRC-Chat kann direkt integriert werden. Community Pages und Friendica Forums runden die Möglichkeiten ab. Die Standardoberfläche wirkt aus heutiger Sicht etwas angestaubt. Allerdings bietet Friendica Betreibern die Möglichkeit Themes zu installieren oder diese selbst anzupassen. Plugins erlauben ferner andere Dienste einzubinden. Die Verbindung zu Facebook (Facebook Connector) wurde vor Kurzem abgeschaltet, da Facebook die eigenen Schnittstellen so verändert hat, dass ein sog. Crossposting aus Friendica heraus nicht mehr möglich ist. Kritiker loben immer wieder die einfache Installation von Friendica.

Das Projekt Diaspora* wurde im Jahr 2015 als Crowdfunding-Projekt unter dem Eindruck der starken Expansion von Facebook ins Leben gerufen. Nach zwei Jahren Entwicklungsarbeit haben die ursprünglichen Entwickler Diaspora* dann der Open-Source-Gemeinde übergeben. Seither wurde das Projekt kontinuierlich weiterentwickelt.
Anders als bei den üblichen Sozialen Netzwerken ist Diaspora* auf Datensparsamkeit ausgelegt. Das Profil verlangt, verglichen mit vielen andren Sozialen Netzwerken, kaum Angaben zur eigenen Person (Selbstbeschreibung/Biografie, das Gender/Geschlecht wurde bewusst als Eingabefeld definiert). Diese Einschränkung verhindert einerseits die Suche nach Nutzer*Innen über Merkmale, trägt aber der Privatsphäre der Nutzer Rechnung.
Nachrichten könne im Markdown-Format eingegeben werden, so dass etwa Links oder Formatierungen innerhalb von Beiträgen möglich werden.
Ähnlich wie bei Google+ (Kreise) oder Facebook (Gruppen) haben Nutzer*Innen die Möglichkeiten ihre Kontakte in sog. Aspekten zu organisieren. Die Sichtbarkeit bestimmter Beiträge kann so je nach Kommunikationskontext getrennt werden. Links werden, ähnlich wie bei Facebook, mit einer Vorschau eingebunden. Hashtags haben bei Diaspora* eine zentrale Bedeutung. Nutzer*Innen sind in der Lage die Kommunikationsströme, die mit diesen Schlagworten arbeiten, zu abonnieren.
Kritiker haben sehen bei Diaspora* vor allem die relativ komplexe Installation als Hürde, die sich aus den eingesetzten Technologien ergibt. Die Anforderungen eines Hostings sind dadurch erhöht, was als Widerspruch zu dem ursprünglichen heeren Ziel eines dezentralen Systems, bei dem jeder Nutzer seine eigene Instanz (Pod) betreibt, aufgefasst wurde. Hier lohnt sich eine vorsichtige Evaluierung.

Für Friendica existieren eine Reihe von Apps die das OStatus-Protokoll von GnuSocial unterstützen. Mit dem Android Client for Friendica existiert auch eine Android-App die speziell für Friendica Nutzer*Innen ausgelegt ist. Die Diaspora* Entwickler wollen keine zu hohen Erwartungen bei den Apps schüren. Android-Nutzer können allerdings die App Pusteplume ausprobieren.

Als vielversprechender Ansatz für eine sinnvolle Realisierung verteilter, dezentraler Vernetzung wird aktuell Etherum diskutiert. Dabei wird die dezentrale Datenbank der Bitcoin-Währung, die sog. Blockchain zu einer dezentrale, verteilte Infrastruktur weiterentwickelt, auf der nicht länger nur eine Währung übertragen werden kann, sondern auf deren Basis verteile Soziale Netzwerke oder Messaging-Systeme denkbar werden. Dieses Feature wird bereits als das Rückrat von Web 3. 0 bezeichnet, für dass eine Verlagerung zu dezentralen Ansätzen vorhersagt. Akasha könnte ein erste Soziales Netzwerk werden, dass Web 3.0 auf der Basis von der Blockchain dezentral umsetzt.

Weiterführende Links

Jeff Reifmann hat sich in seinem Artikel mit alternativen Sozialen Netzwerken u. a. mit Diaspora*, Pump.io und GnuSocial befasst.

Die Wikis der Alternativen Sozialen Netzwerke bieten häufig detaillierte Installationsanleitungen. Eine sorgfältige Vorbereitung lohnt sich, um sicher zu stellen, dass der verwendete Hosting-Anbieter die notwendigen Voraussetzungen auch erfüllt.

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.

Literatur

Roberto Simanowski: Facebook-Gesellschaft. Matthes & Seitz, Berlin. 238 Seiten
Ralf Adelmann: „Von der Freundschaft in Facebook. Mediale Politiken sozialer Beziehungen in Social Network Sites“ in: Oliver Leistert, Theo Röhle (Hrsg.): Generation Facebook. Über das Leben im Social Net, transcript, Bielefeld 2011, S. 127–144.
Anders Albrechtslund: Online Social Networking as Participatory Surveillance in: First Monday, Vol. 13, No. 3, 2008
Byung-Chul Han: Transparenzgesellschaft, 3. Auflage, Matthes & Seitz, Berlin 2013.