DP5: Extraportion Privatsphäre für Messaging-, Chat- und VoIP-Dienste
Onlinestatusanzeigen in Freundeslisten sind ein gefundenes Fressen für staatliche und nichtstaatliche Überwacher. Wer seinen Status nicht mit dem BND, Hinz und Kunz und seinem Dienstleister teilen will, für den könnte DP5 eine Alternative sein.
- Monika Ermert
Ein von Wissenschaftlern in Großbritannien, Kanada und den USA entwickeltes Protokoll soll Presence Services, etwa die Anwesenheitsanzeige eines Messengers, datenschutzfreundlicher machen. Dem Privacy Preserving Presence Protocol P (DP5) fehlt es nur noch an Clientimplementierungen, sagte Ian Goldberg, Cryptoexperte der Universität in Waterloo, vergangene Woche auf der Post-Snowden-Krypto-Konferenz in Brüssel. DP5 soll klassische Buddylisten für Chat-/XMPP- und VoIP-Dienste ersetzen, dabei die Anonymität der Nutzer dauerhaft wahren und Metadaten über persönliche Netze dem öffentlichen Auge entziehen.
Vor einem Jahr kündigten die Wissenschaftler DP5 erstmals beim CCC-Kongress an. Von der Serverseite her könne man sofort los legen, sagte Goldberg (PDF-Download) in Brüssel. DP5, das fünfte "P", steht für eine Extraportion Privatsphäre und erlaubt es, vertrauliche Präsenzdienste aufzusetzen. In Zeiten, in denen neugierige Großunternehmen oder Geheimdienste aller Länder die sozialen Netze von Nutzern standardmäßig ausforschen, kann das nur hilfreich sein.
Nutzer-Informationen zerstückelt
Die Präsenzinfos und mögliche Adressen zum Aufbau einer dann verschlüsselten Kommunikation werden dazu verschlüsselt ausgegeben. Registrierung und Abruf erfolgen jeweils über andere Server. Um auch die Abrufserver "dumm" zu halten, setzt man auf Private Information Retrieval (PIR). Für die Verschlüsselung werden vorab die öffentlichen Teile eines Schlüsselpärchens zwischen den Chat-Partnern ausgetauscht. Das wird über einen anderen Kanal (out of band) realisiert, also nicht über den Dienst, den man nutzt. Dabei erhält jeder Chat-Partner einen eigenen Schlüssel.
So werden jeweils Kurzzeitschlüssel für einen Tag, beziehungsweise häufig erneuerte Signaturen für den aktuellen Online-Status erzeugt und an den Registration Server gesendet. Der wiederum leitet diese Informationen an ein Netz von Abrufservern. Um Muster gleichbleibender Netze vollends zu verbergen, werden die Daten von Freunden durch verteilte Abrufe auf mehreren DP5-PIR-Servern gesammelt und erst beim Empfänger wieder zusammengesetzt. Die DP5-PIR-Server enthalten jeweils alle Nutzer-Informationen.
Schutz der Identität
Die Anwendung von Schlüsseln und Signaturen für die Erzeugung von IDs erlaubt die Nutzung des Präsenzdienstes, ohne dass gegenüber der Plattform Identitäten preisgegeben werden. Sowohl die Identität des Nutzers, als auch seiner Freunde bleibt geschützt. Zudem kann mittels PIR die Topologie der Netze noch weiter verborgen werden. Weil pro Freund jeweils ein Schlüsselpaar geteilt wird, lassen sich überdies unterschiedliche Untergruppen mit unterschiedlichen Rechten kreieren. Überdies lassen sich via Kurzzeitsignaturen rasch Chat-Partner rausschmeißen. Für sie erscheint der Nutzer dann offline, verspricht die Spezifikation.
Der Rechenaufwand für die Berechnung der Schlüssel und Signaturen ist dabei laut Goldberg durch das Splitten in zwei Datenbanken gemindert. Die Langzeitepoche enthält Schlüssel für einen Tag. Die schneller getakteten Kurzzeit-Epochen enthalten jeweils nach wenigen Minuten erneuerte kurzzeitige User IDs und Signaturen.
Für Facebook nicht geeignet
Goldberg räumte ein, dass sich das Konzept nicht für sehr, sehr große Gruppen eignet. "Facebook kann das nicht einsetzen", bemerkte er. Für Tausende oder auch ein paar Nutzer mehr skaliere das Konzept aber gut. Wenn jeder Nutzer bereit wäre, einen Euro zu bezahlen, könnte man durchaus auch 1 Million Nutzer einbinden.
Die DP5 Library ist in C++ geschrieben, fürs Netzwerkprotokoll wurde Phython verwendet, und der Kern der kryptografischen Teile basiert auf OpenSSL. Für eine Implementierung fehlt es nun laut Goldberg bloß noch an Clients, teilte er in Brüssel mit und hoffte wohl, dort Mitstreiter zu finden. (des)