UP | HOME

Freenet / Hyphanet: the long game

Wann immer eine neue Art Datenschutzverletzung bekannt wird,
erinnern sich einige an das Freenet Projekt,
aber wenige kennen es wirklich.
Ändern wir das.
Vision, Grundlagen und Neuerungen

(dark mode)

🇬🇧 An English version of the slides (Google translated, so expect some inconsistencies): draketo.de/software/freenet-hyphanet-the-long-game-de--google-translated-en.pdf

To test Freenet / Hyphanet: get the Installer (Windows / Linux / macOs) or the App (Android).

Wann immer neue Arten der Datenschutzverletzung bekannt werden, erinnern sich einige an das Freenet Projekt, aber wenige kennen es wirklich.

Daher liefert dieser Vortrag einen Einstieg in die heutigen Fähigkeiten von Freenet.1 Er erklärt, warum Freenet existiert und welche Vision all seine Weiterentwicklungen leitet, liefert ein Grundverständnis seiner Funktionsweise und der Werkzeuge, die es bietet, und zeigt die Fortschritte der letzten 15 Jahre.

Ein verteiltes Netz zum Schutz freier Kommunikation, eine Struktur ohne zentralisierte Macht, ein Ort zum Koordinieren der Arbeit für digitale Freiheit, wenn die Kämpfe um ein freies Netz zeitweise verloren werden sollten, ein Plan B für ein Internet, in dem Kommunikation funktioniert, ohne sich ständig verkaufen zu lassen.

Hier steht die HTML-Version des Vortrags. Schöner lesbar sind die Vortragsfolien (PDF).

Eine Aufnahme dieses Vortrages gibt es bei den SUMA-Kongress 2022 Videos.


PDF (drucken)

Warum Freenet?

Warum Freenet?

Warum Freenet?

“There is now no shield from forced exposure…The foundation of Groklaw is over…the Internet is over” –Groklaw, Forced Exposure (2013-08-20)

Warum ich?

Fragen

  • Warum gibt es Freenet?
  • Wie funktioniert Freenet?
  • Was ermöglicht Freenet?
  • Was hat sich geändert?

Was bietet Freenet?

Warum Freenet? Was bringt es?

  • Vertraulich oder pseudonym kommunizieren.
  • Technischer Grundpfeiler für den Schutz gegen Zensur.
  • Dafür: Hohes Datenschutzniveau.

“Covers the needs for protection expected from a secure data broker for Multi-Party Data Exchange in IoT for Health” \citep[Uni Bern]{Benoist2020} — Artikel

Im Freundeskreis sprechen: Vertraulich

friend-to-friend.png

Sprechen wie mit …

friend-to-friend-chat-whatsapp.png

… aber ohne den Überwachungs-Server

Ohne zentralen Server
friend-to-friend-chat-freenet.png

Mit Fremden sprechen

Verbundene Freundeskreise
friend-to-friend-foaf.png

Ohne Server

Verteilter Zwischenspeicher: Verfügbar wenn offline
friend-to-friend-foaf-offline.png

Pionier im Freundeskreis?

Opennet
opennet-seed.png

Einwurf: Wir starten eine Sharesite-Seite!

Warum brauchen wir das?

Warum brauchen wir das?

Spiegelbild der Welt

Durch die steigende Vermengung des digitalen Lebens mit dem Analogen wird Analoge Kommunikation zu einem Spiegelbild des beschränkten Lebens im Netz.
— Arne Babenhauserheide, Suma e.V. Kongress 2015 :-)

Das Netz verbreitet sich

Ohne pseudonyme Kommunikation und ohne vertrauliche Kommunikation im Internet, werden wir sie auch in der Analogen Welt verlieren.

Analoge Kommunikation


  • Im Überwachten Netz

  • Vertraulich
    gruene_jugend_ffm-stammtisch-cc_by-6272541036_17d2251176_o.jpg

    Im kleinen Rahmen

    Direkter Kontakt

  • Offiziell
    angela_merkel-eppofficial-european_peoples_party-cc_by-13564824463_ec3499360d_o.jpg

    Selbstzensur

    Fremdbestimmt

  • Pseudonym
    anonymous_munich-feb_14-cc_by-3282278914_d686734ef2_o.jpg

    Stetig auf der Hut

    Quellenschutz!


  • Stichwort: Panoptikum

Die Dystopie: Verlust der Pressefreiheit

I worry about my child and the Internet all the time, even though she's too young to have logged on yet. Here's what I worry about. I worry that 10 or 15 years from now, she will come to me and say 'Daddy, where were you when they took freedom of the press away from the Internet?' –Mike Godwin, Electronic Frontier Foundation, “Fear of Freedom” (1995)

Das Ziel des Freenet-Projektes ist es, den freien Informationsfluss zu gewährleisten.

Auch dann noch, wenn Kriminelle journalistisch Arbeitende und ihre Quellen bedrohen.

Technik und Politik

  • Tech alleine reicht nicht

    Totale Überwachung und Kontrolle sind möglich.

  • Politik alleine reicht nicht

    Wenn Überwachung und Zensur trivial sind, werden sie genutzt.

Tech und Politik

Technologie liefert die Grundlage, auf der Politik arbeiten kann: Überwachung und Zensur so aufwändig und teuer machen, dass wir den politischen Kampf gewinnen können.

The NSA surveillance doesn’t scale.
– Constanze Kurz (EuroPython 2014)

Zensurfreiheit

  • Kern von allem in Freenet
  • Alle Möglichkeiten und Entwicklungen dienen diesem Ziel
  • Artikel 5 GG: eine Zensur findet nicht statt

Folgerungen: Herrschaftsfreiheit

Niemand darf Macht über die Kommunikation anderer haben. Einige der Risiken für Kommunikation:

Direkte Zensur
entfernt Beiträge durch Drohung oder Löschung
Schikane oder Hetze
schließt Leute aus und treibt sie raus
Fluten mit Irrelevantem
macht Wichtiges unauffindbar
Zerrüttung der Gesprächskultur
verhindert Evolution von Ideen

Fragen

Braucht das nicht Moderation?

Freenet ermöglicht Moderation ohne zentrale Macht

Wähle selbst, wer für dich blocken kann.

Wenn dein pseudonymer Freundeskreis ein Pseudonym blockt, wird es für dich automatisch auch unsichtbar, es sei denn, du hast es explizit freigeschaltet.

Das Anti-Spam-System skaliert besser als Spam. Auch ohne ein Heer ausgebeuteter Content-Moderationsteams aus Billiglohnländern (weiter: Arte: „The cleaners“).

Heutige verteilte Plattformen ziehen langsam nach.

Und Hetze?

Den Opfern helfen Pseudonyme mehr als den Tätern

Wer Gewalt fürchten muss, kann ohne Pseudonym nicht öffentlich kommunizieren. Überwachung hilft so immer den Tätern.

Unter Klarnamen sind Leute aggressiver

Results show that in the context of online firestorms, non-anonymous individuals are more aggressive compared to anonymous individuals

Weiterlesen: Klarnamenspflicht schadet der Online-Kommunikation

Und Propaganda?

Propaganda will Herrschaft

Q: “Can I prevent someone from commenting in my thread?”

A: “You did understand the part about no power over others?”

Herrschaft ist zentralisierte Macht

Tik Toks Algorithmen treiben Leute in ein Labyrinth aus Desinformation.

Selbst zu entscheiden, welchen Einflüssen wir uns aussetzen, ist eine Frage Kommunikativer Selbstbestimmung.

Und Radikalisierung?

Soziale Medien machen alles — und schlimmeres — was Leute jemals bei Freenet befürchtet haben. Außer Zugriff auf brisante Informationen wo Leute sie wirklich bräuchten.

Und außer der Möglichkeit, aggressiven Propagandisten verbal die Stirn zu bieten, ohne sich in Gefahr zu bringen.

Zusammenfassung

  • Zensurfreiheit
  • Datenschutz
  • Vertrauliche Kommunikation
  • Pseudonyme

Eine technische Säule für Informationelle Selbstbestimmung.

Einwurf: Unsere Sharesite!

Funktionsweise

Warum will ich das wissen?

Funktionsweise von Freenet

  • Grundkonzepte
  • Schnittstellen
  • Schutzmaßnahmen

Warum Funktionsweise betrachten?

  • Quelle der Stärken von Freenet
  • Verständnis notwendig für Effizienz

Alleinstellungsmerkmale

  • Freund-zu-Freund Darknet (plus Opennet)
  • Hosting ohne Server (hochladen und verschwinden)
  • Stabile Pseudonyme (privater Schlüssel)
  • Kryptografie über Links (einfach nutzbar)
  • Dezentrale Spamresistenz (erprobt; hilft Kommunikationskultur)
  • Nutzungsabhängige Lebenszeit (anonym)

Praktisch: Seit 23 Jahren durch Tausende genutzt.

Grundkonzepte

  • Zugriff auf Daten: dezentral und skalenfrei (small world)
  • Referenzierung von Daten über Inhalts-Hash oder Öffentlichen Schlüssel
  • Private und Öffentliche Schlüssel als Links
  • Updates über Versionierung

Einstieg

Einstieg

  • Mit Freunden verbinden¹ (sicherer), oder
  • Mit Seednode verbinden

¹: High Security Mode: nur mit Freunden verbinden

opennet-einstieg.png

Small World / grob Skalenfreies Netz

  • Verbunden zu vielen Nahen Knoten und wenigen entfernten
  • 6 Degrees of Separation: Wie Briefe über Bekannte
  • Ring: Location liegt zwischen 0.0 und 1.0
  • Wer bei 0.3 ist, kennt v.a. Leute nahe 0.3
  • Bei Opennet über den Einstieg realisiert
  • Bei Friend-to-Friend über Tausch der Location

Datenoperationen

Dateien referenzieren: Schlüsseltypen

  • CHK: Datei nach Inhalt
  • SSK: Public/Private Key
    • USK: Aktualisierbar
    • KSK: Gemeinsames Passwort

CHKs sind 32kiB groß, SSKs 2kiB. Größere sind Bäume von CHKs mit SSK oder CHK für das Manifest.

Struktur der Schlüsseltypen

CHK@<routing>,<encryption>,<flags>/<name>/[optional-path]
SSK@<routing>,<encryption>,<flags>/<name>/[optional-path]
USK@<routing>,<encryption>,<flags>/<name>/<version>/[optional-path]
KSK@<password>

Nur <routing> wird ins Netz geschickt. <encryption> bleibt lokal.

Dateien aufteilen und hochladen

32k Blöcke
freenet-split-file.png

Schlüssel ist im Link (z.B. CHK).

Blöcke ohne Link nicht entschlüssel- oder erkennbar.

Verteilen
freenet-keyspace.png

Blöcke zufällig überschreiben.

Blöcke finden und zusammenfügen

32k Blöcke
freenet-join-file.png

Verfügbar, solange 50% der Blöcke auffindbar sind.

Sammeln
friend-to-friend-foaf-finding-block.png

Routing in Small-World Netzwerk über die Positionen der Freunde von Freunden (FOAF).

Lebenszeit

fetchpull-lifetime-small-success-count.png

Jeder Zugriff startet die Uhr neu.

Recht auf Vergessen?

  • Lebenszeit aus öffentlichem Interesse
  • Recht auf Vergessen in Technologie
  • Datenschutzfreundlich

Technischer Hintergrund: wichtigste Frage bei verteilten Speichernetzen: wie entscheiden wir, was wir löschen?

Und Update-Infos? In konstanter Zeit: Date Hints

  • Nutzer: SSK@…/meine-seite-1/...SSK@…/meine-seite-2/activelink.png
  • Entwickler: USK@…/meine/seite/1
    • SSK@[key]/[sitename]-DATEHINT-[year]
HINT
46
2013-7-5

DATEHINT-[year], DATEHINT-[year]-WEEK-[week], DATEHINT-[year]-[month], DATEHINT-[year]-[month]-[day]

Ordner

Ordner in Freenet: Manifest-Daten

key-utils-zw-data.png
  • Ein Archiv (Tarball), transparenter Zugriff

Ordner in Freenet: Als Manifest

Schnittstellen

Schnittstellen

  • Browser
  • Verteilte Datenbank für Programme
  • Plugins

Der Browser

  • Zugriff üblicherweise auf http://localhost:8888
  • freenetbrowser (automatisch generiertes Firefox-Profil) für bessere Sicherheit
  • Optimierungen für Pre-Fetching und Media-Streaming

http://localhost:8888/USK@rQn…,I1v…,AQACAAE/gms/16/

Externe Programme

  • Server für Foren/NNTP (FMS) und IRC (FLIP)
  • GUI-Programme (jSite)

Externe Programmier-Schnittstellen

Schnittstelle: FCP

Async für Programme:

  • Put/Putdir/Get
  • Subscribe to key
  • Plugins kontrollieren
ClientHello
Name=My Client
ExpectedVersion=2.0
EndMessage
NodeHello
...
EndMessage
ClientPut
URI=CHK@
UploadFrom=disk
Filename=/tmp/debian-dvd1.iso
Identifier=sarge-disk-1
Global=true
EndMessage

Latenz in der Praxis

  • Bis zu 2kiB, raw, realtime mode: <30s
  • Große Dateien, im Manifest: ~5 min
  • Realtime
    PriorityClass . 2 ;; high
    MaxRetries . 0 ;; default: 10
    RealTimeFlag . true
    DontCompress . true
    ExtraInsertsSingleBlock . 0
    ExtraInsertsSplitfileHeaderBlock . 0
    
  • Bulk
    PriorityClass . 3 ;; medium
    RealTimeFlag . false
    DontCompress . false
    

Schnittstelle: Plugins

  • In die Web-Oberfläche integriert
  • Schwache Abstraktion
  • Zugriff auf das Innenleben (riskant)
  • Leichtester Einstieg: Bestehendes Plugin anpassen

Beispiele: Sone oder Sharesite

Grundlagen der Kommunikation über Freenet

  • Einstieg: Seed-keys + Captcha-Queue: KSK-Prefix
  • Suche: Nutzerspezifische Seiten mit Links, Update-Infos
  • Verteilung: Gossip keys, Dateien einfach hochladen
  • Störungsresistenz: Web of Trust mit langsam steigender Sichtbarkeit

Einwurf: Konstruktive Spammer: https://xkcd.com/810/

Schutzmaßnahmen

Schutzmaßnahmen

  • Datenschutz trotz Browser
  • Abstreitbarkeit
  • Spam-Abwehr

Content Sanitizing: Vor dem Browser schützen

Browser und Media-Player: Anderes Bedrohungs-Szenario

⇒ Inhalte filtern, um Zugriffe auf Clearnet-Resourcen zu vermeiden

Beispiel: Album-Art einer Radiosendung über URL nachladen.

Abstreitbarkeit: Das war jemand anders

  • Anfragen haben Hops to Live (HTL)
  • Mit jedem Schritt um 1 verringert
  • HTL 18 wird nur bei 50% der Verbindungen verringert — Wahl bleibt über die Dauer der Verbindung bestehen
    ⇒ Anfragen mit HTL 18 können immer von einem anderen Knoten kommen

Spam-Abwehr

WoT (Web of Trust): Eine von zwei praktisch genutzten Möglichkeiten. Die andere ist FMS (Freenet Message System).

  • ID = USK
  • Trust -100 bis 100
  • Rank: Distanz → capacity
  • Score: Summe über alle Wertungen: trust * rank
  • Skaliert bei 22 Nachrichten pro Tag2 (Dunbar-Zahl)

Capacity

freenet-wot-rank.png
  • Rank 1 40 %. rank 1: 100 trust, 40 Punkte als Score.
  • Rank 2 16 %
  • Rank 3 6 %
  • Rank 4 2 %
  • Rank 5 und niedriger: 1 %

Integer-Mathematik: 2 * 6 / 100 = 0.

Propagation by Trust

  • 1-2 siehst nur Du,
  • 3-6 sehen nur direkte Kontakte (als trust +1 oder +2 ),
  • 7-16 erreicht Kontakte deiner Kontakte (Friend of a Friend),
  • 17-49 reicht 3 Schritte weit,
  • 51 + gibt der ID +1 bei allen, die Dich sehen.

Konsequenz der Integer-Mathematik.

Zusammenfassung

Alleinstellungsmerkmale
  • Freundeskreis / Opennet,
  • Ohne Server,
  • Schlüssel als Pseudonym,
  • Spamresistenz,
Grundkonzepte
  • Small-World
  • Schlüsseltypen (CHK: Inhalt, USK: Aktualisierbar, KSK: Passwort)
  • Dateien werden aufgeteilt, Redundanz
  • Lebenszeit nach Zugriffshäufigkeit
  • Ordner
  • Schnittstellen
  • Schutzmaßnahmen

Werkzeuge

Werkzeuge

Werkzeuge

Sieht spannend aus, aber was kann ich mit Freenet praktisch machen?

Der Browser

  • Browse
  • Hoch-/Herunterladen
  • Plugins
  • Freund-zu-Freund-Nachrichten
  • Lesezeichen mit Update-Info (5 min Latenz)
  • Indexe mit Listen von Seiten (pseudonym betriebene Crawler)

Neuerungen

Neuerungen

Neuerungen

Was sich in 15 Jahren seit dem Rewrite in 0.7 getan hat.

One secret of success: relentless optimization.

Pitch-Black Attack

2007 haben Christian Grothoff et al. eine Schwachstelle gefunden und belegt.

pitch-black-paper-screenshot.png

Pitch black gelöst

The mitigation

2021 haben wir sie endlich gefixt.

freenet-logo-blue-gpl.png

build 1490: “pitch black streaming”

Bessere Geschwindigkeit

  • Von 10kiB/s bis 11MB/s (und mehr)
  • Unterstützt bis zu 15.000 Subscriptions: Binnen 5 Minuten Updates sehen
  • 30 Sekunden Round-Trip-Zeit für Chat

Mehr HTML and CSS

  • Unterstützung für Teile von CSS3.
  • Nur, bei was die Sicherheit garantiert werden kann.

Mobil / Handy

mobile-node: Freenet auf Android

FreeChat: Chat auf Android

icicles: Nachrichten von Freunden und Knoten verbinden

Offene Fragen

Offene Fragen

  • Besseres Routing? (dank Pitch Black mitigation wurden auch neue Strukturen möglich)
  • Freund-zu-Freund Verbindungen über tor und i2p? (braucht UDP!)
  • Steganographic Transport Plugins (HTTP3?)
  • Dezentrale Suche in Freenet (Spider/Library optimierungsbedürftig)

Pläne

No plan survives contact with reality, but a good plan provides set-pieces for the path you might actually walk.

Zusammenfassung

Zusammenfassung

Zusammenfassung 1

Warum gibt es Freenet?
Freie Kommunikation
Was ermöglicht Freenet?
Vertraulich und Pseudonym, ohne zentrale Server, Datenschutzfreundliche Datenbank für verteilte Programme.
Wie funktioniert Freenet?
-
Einstieg:
Freund-zu-Freund (High Security) oder über Seednode (Opennet)
Routing:
Small-World mit FOAF-Routing
Dateien:
Aufteilen, Verschlüsseln, 100% Redundanz, Verfügbar solange genutzt.

Zusammenfassung 2

Was hat sich geändert?
Pitch Black gelöst, Spam-Schutz über WoT/Sone und FMS, schneller, IRC Chat, Multimedia-Streaming, Android-Unterstützung, Sharesite für einfachste Webseiten, Stetige Optimierung in praktischer Nutzung.

Nutzt Freenet / Hyphanet!

Werkzeuge
  • Sharesite
  • Sone
  • Verbindung im Freundeskreis

Appendix

Fußnoten:

1

Warum steht im Titel „Hyphanet“? Eine kurze Antwort gibt auf meiner Kommentarseite: Differences between Freenet / Hyphanet and Locutus

Dr. Arne Babenhauserheide 2023-07-26 Mi 00:00 - Impressum - GPLv3 or later (code), cc by-sa (rest)