Ergänzungen zum c't Artikel “Wolkige Verschlüsselung” vom 30.06.2014

von Oliver Weidner und Britta Görtz


Über eine Veröffentlichung zu unserem Projekt in der c't haben wir uns sehr gefreut. Bei den Verfassern Dr. Christoph Wegener und Dario Carluccio blieben einige Fragen offen. Wir möchten diese Chance nutzen, um weiter in die Tiefe zu gehen.


Der Qabel-Code


Bei dem auf GitHub veröffentlichten Code (C/C++ clientseitig, Node.js und Python serverseitig) handelt es sich auf ganzer Linie um Prototypen. Wir haben in einem Zeitraum von wenigen Monaten viele Ideen im Team ausprobiert. Täglich wurden etwas geändert, konzeptionell in Frage gestellt, verworfen und neu gecodet. Das führte dazu, dass nicht jede Funktionalität über eine Bibliothek eingebunden werden konnte, die Sinn gemacht hätte.


Auch bei der Behandlung des Drop- und Storage-Servers gingen wir so vor. Um unsere Ideen auf Machbarkeit zu testen, können wir nicht einfach auf fertige Lösungen zurückgreifen. Bei genauem Hinsehen bemerkt man aber auch, dass zum Beispiel die Python- und Node.js-Implementationen keinesfalls „comprehensive“ sind und dort schon auf bereits vorhandene High-level-Bibliotheken zurückgegriffen werden konnte.


Natürlich sieht unser langfristiger Plan vor, bereits vorhandene Lösungen zu nutzen und zu unterstützen – zum Beispiel wird niemand ein ZFS-Dateisystem als Voraussetzung für den Storage-Server wollen. Viele (verteilte) Datei- und Datenbanksysteme sind hier denkbar. Der derzeitige Storage-Server ist ein Minimal-Test. Bewährte und eingesetzte Lösungen wie S3 und einige andere sind fest eingeplant.


Außerdem müssen wir natürlich Lizenzinkompatibilitäten vermeiden. So gestaltet sich das Zusammenspiel der GPL mit eigens entwickelten Lizenzen wie unserer eigens entwickelten QaPL bekanntermaßen schwierig.


Anonymität und Metadatenverschleierung mit Qabel


Allein der Fakt, dass Qabel einen dezentralen Ansatz verfolgt, leistet beim Thema Metadatenverschleierung schon eine ganze Menge.


Es werden in der Zukunft – hoffentlich nicht nur von uns durchgeführte – Untersuchungen zur Metadatenverschleierung veröffentlicht. Wir betrachten hier Parameter wie zum Beispiel die Menge des benötigten Kommunikationsoverheads und die Mindestanzahl der benötigten Nutzer, um eine gewisse Anonymität gewährleisten zu können.


Die Tatsache, dass kein Accounting bei den Nachrichtenservern durchgeführt wird, ist ein weiterer Pluspunkt für die grundsätzliche Anonymität. Gewisse Probleme müssen wir dafür in Kauf nehmen und lösen – geplant ist bereits ein „Proof of Work“-Konzept, um die Kommunikation zu stabilisieren. So haben auch andere Systeme (wie zum Beispiel Bitcoin) diese Herausforderung gemeistert.


Idealerweise ist der Qabel-Client auch an mehrere Qabel-Server angeschlossen. Ein regelmäßiger automatischer Serverwechsel erfolgt im Hintergrund der Anwendung.


Das Schlüsselmanagement


Beim Design eines komplexen Systems ist es ein ganz normales Vorgehen, bestimmte Aspekte als gegeben anzunehmen. Das wurde hier für die Kontaktaufnahme („Schlüsseltausch“) getan. Dieser Umstand ist für ein endnutzerfreundliches System nicht tragbar – das ist uns klar, gerade weil Qabel die Vorteile von Systemen wie PGP mit Benutzerfreundlichkeit verbinden will. Ein Verfahren für die einfacher und sicherere Kontaktaufnahme ist bereits vorhanden und wird derzeit erprobt. Ganz grob gesagt, arbeiten wir an einer „Browser“-Komponente. Die Kernidee ist eine mit PGP-Keyservern vergleichbare Komponente. Zusätzlich wird die „Out of band“-Kontaktaufnahme dadurch vereinfacht. Wir übermitteln keine Schlüssel Out of band, sondern nur die Kontaktaufnahme und Fingerprints (wir stellen uns aktuell einen Fingerprint bzw. einen QR-Code – zum Beispiel auf einer Visitenkarte – vor). Die Kontaktdaten und die Schlüssel werden dann nachgeladen und mit dem OOB-Fingerprint verglichen. Das ist nicht nur sehr komfortabel, OOB bietet zudem zusätzliche Sicherheit.


Die Skalierbarkeit von Qabel


Die Skalierbarkeit von Qabel ist eine sehr lösbare Herausforderung. Derzeit ermitteln wir, wie hoch die ideale Nutzerzahl pro Server bzw. Anbieter ist, um die Grätsche zwischen Anonymität und Benutzbarkeit zu optimieren. Das System E-Mail hat im Prinzip dasselbe Problem – dort klappt es aber durch die Dezentralität, die auch von Qabel angestrebt wird, auch.


Zu guter Letzt die Erinnerung: Qabel ist Alpha. Wir brauchen ein Konzept wie Qabel, dass sich den Herausforderungen auf technischer und wirtschaftlicher Ebene stellt. Qabel ist ein Ökosystem, das Menschen dazu einlädt, es zu besiedeln. Fragen, konstruktive Kritik, Ideen sind herzlich Willkommen – uns vom Qabel-Team erreichen täglich viele Nachrichten mit wunderbaren Impulsen. Danke dafür. Bitte nicht aufhören!