Das Tor-Projekt arbeitet an einer neuen Verschlüsselung für den Tor-Circuit-Traffic. Sie bekommt den Namen „Counter Galois Onion“ (CGO)und soll einige Angriffe verhindern können.
Die Änderungen betreffen die Verschlüsselung der Tor-Relays. Diese setzt auf TLS für die Kommunikationsverschlüsselung zwischen den Relays sowie zwischen Clients und Relays. Allerdings ist ein spezieller Algorithmus zur Verschlüsselung von Nutzerdaten nötig, während diese über mehrere Relays in einem Circuit laufen. Das bezeichnet Tor als Relay-Verschlüsselung. „Der Client teilt einen symmetrischen Schlüssel mit jedem Relay in seinem Circuit und verschlüsselt eine ausgehende Nachricht oder ‚Relay-Zelle‘ mit jedem dieser Schlüssel. Jedes Relay kann eine einzelne Verschlüsselungsebene entfernen, bis die Zelle des Clients das Exit-Relay erreicht“, schreiben die Entwickler.
Auf ihrem Weg durch den Circuit muss Tor sicherstellen, dass die Daten auf dem Weg vom Client nicht verändert werden. Im alten Design zur Prüfung gibt es einige Mängel, die Angriffe ermöglichen, etwa sogenannte „Tagging-Attacks“. Bösartige Akteure können dadurch Traffic im Onion-Netzwerk verfolgen. Sie können aber auch sicherstellen, dass sie beide Enden eines Circuit kontrollieren und den Verkehr gezielt leiten und deanonymisieren. Zwar lassen sich dabei erzeugte höhere Fehlerraten von den Clients erkennen, jedoch führen beispielsweise DDoS-Attacken auf Tor zu Fehlalarmen. Die Tor-Entwickler schätzen diese Attacke als besonders wichtig ein und wollen sie mit dem neuen CGO verhindern.
Mit CGO wollen die Programmierer auch weniger gravierende Probleme lösen. Einerseits geht es um Forward-Secrecy, also dem Verhindern davon, dass Sitzungen aus der Vergangenheit in Zukunft entschlüsselt werden können. Das alte Tor-Design nutzt denselben AES-Schlüssel für die gesamte Lebenszeit eines Circuits. Kommt der Key während der Lebenszeit eines Circuits abhanden, lässt sich die ganze Sitzung damit entschlüsseln. „Wenn die Lebensdauer eines Circuits nur wenige Minuten beträgt, ist das nicht weiter schlimm, aber manchmal bleiben Circuits tagelang bestehen“, führt das Tor-Projekt aus. Langlebige Circuits seien demnach sogar besser für die Anonymität, weshalb es eigentlich eine gute Idee sei, sie verstärkt zu nutzen. Ein weiteres Problem stellt ein 4-Byte-Digest für die Authentifizierung einer Zelle. Dazu kommt hier auch noch SHA-1 zum Zuge – „das zumindest sein Alter zeigt“, so die Autoren.
All das soll nun der Counter-Galois-Onion-Algorithmus (Spezifikation) lösen. Die Tor-Entwickler fassen knapp zusammen, dass CGO dafür sorgt, dass die vollständige Nachricht und alle künftigen Nachrichten nicht wiederherstellbar werden, sofern etwaige Stellen der verschlüsselten Daten verändert werden. Die Tor-Maintainer stellen den GCO-Krypto-Algorithmus in einem Paper vor. Detailliertere Informationen finden Interessierte im zugehörigen Blog-Beitrag auf der Tor-Projektseite.
Die Implementierung ist auf einem gutem Weg, versichern die Tor-Programmierer. Sie haben CGO bereits für Arti, eine Tor-Umsetzung in Rust, geschrieben. Auch in C liegt eine Umsetzung vor, außerdem ist das Arti-Projekt noch „Work-in-progress“ und unfertig. Als nächste Schritte wollen sie CGO standardmäßig in Arti aktivieren und die CGO-Aushandlung für die Onion-Dienste implementieren – aufgrund der Komplexität könnte das Feature aber Arti vorbehalten bleiben. Zudem wollen sie die Performance für moderne Prozessoren optimieren.
(
Sie haben heise+ bereits abonniert? Hier anmelden.
Oder benötigen Sie mehr Informationen zum heise+ Abo