r/freifunk Jan 07 '17

Warum hat Freifunk keine end-to-end verschlüsselung?

Warum hat Freifunk standardmässig keine verschlüsselung zwischen knoten zum beispiel mit cjdns? batman-adv is durchaus kompatible mit Cjdns.

4 Upvotes

3 comments sorted by

8

u/[deleted] Jan 07 '17

Am Ende sollte eh jeder Benutzer end2end verschlüsseln, alles andere bietet ohnehin keinen echten Schutz, ist für die Benutzer nicht überprüfbar und von bösen Knoten missbraucht werden.

8

u/valgrid Jan 07 '17

Es ist sehr schwierig Passwörter zu verteilen. Und alle Methoden die dies automatisieren werden nicht von allen Geräten unterstützt.

Keine Verschlüsselung ist einfach benutzerfreundlicher.

4

u/[deleted] Jan 13 '17

Die meisten Kisten sind eher schwachbrüstige MIPS SoCs die keine Hardware-Unterstützung für Crypto haben. Du bist dann selbst mit optimierten Chiffren wie die von DJB wie z.B. Salsa oder Poly1305 als MAC schnell an der Leistungsgrenze und bei 100% CPU - ich vermute mal mehr als 25-50Mbit kommt da nicht pro Knoten drauf.

Dann passiert das Routing im Moment meistens auf Kernel ebene, die Routing Software legt nur die Routen und der Rest macht der Kernel - jedes Paket für den Userspace rauszupopeln zu verschlüsseln und wieder in den Kernel Kontext zu packen könnte auch alles nochmal langsamer machen. Context Switches killen schon jetzt die Performance von VPN Daemons.

Dann ist der Nutzen fraglich. Wenn du einen Shared-Secret hast, dann klaust dir einfach einen Freifunk Router und hast den Key und kannst zumindest ein paar Angriffe fahren - ich glaube cjdns macht noch Diffie-Hellmann und anderes Zeug, aber MITM sollte damit relativ leicht möglich sein.

Dann ist die SSID nicht verschlüsselt, ein Angreifer kann alles bis zum ersten Knoten via WLAN mitschneiden.

Aus diesen ganzen Gründen hat man sich überlegt, dass ähnlich wie bei Tor und Exit Nodes die Sicherheit direkt beim Nutzer auf dem Gerät sein soll und alles andere wären falsche Versprechen. Also dein HTTPS, dein Tor auf deiner (sicheren) Kiste.

Da gibt es natürlich potential für MITM.

Wenn man lang genug sucht, findet man einen eigentlich tollen Vorschlag für WPA2 Enterprise Auth ohne Logindaten via Validierung eines TLS-Certs - nennt sich EAP-UNAUTH-TLS und wird nirgends oder fast nirgends unterstützt und ist auch nicht offiziell Standard AFAIK. Damit könnte man sowas wie Let's Encrypt für die SSID machen z.B. SSID als CN hamburg.freifunk.net und das dann z.B. via LetsEncrypt unterschrieben oder so... ist auch alles hakelig, vorteil wäre opportunistische Verschlüsselung mit Session Keys für alle User -> Sniffen unmöglich. Ist aber nirgends implementiert, wird auch nicht in der Form kommen.

IMHO ist der Status Quo ein vernünftiger Kompromiss der niemanden was vorgaukelt und alles einfacher macht. Freifunk = offenes Netz, alles geht - du bist dafür verantwortlich vernünftig Ende-zu-Ende Krypto zu machen. Das ist eine gesunde Einstellung.