Krypto-Messenger Signal schützt Kontaktdaten vor den Server-Betreibern

Dem Server die Telefonnummern aller Kontakte im Adressbuch eines Handys übermitteln ohne dass der Betreiber an diese herankommt ...geht das? Die Entwickler des Ende-zu-Ende verschlüsselnden Messengers Signal für Android und iOS sagen ja, das geht.

In Pocket speichern vorlesen Druckansicht 48 Kommentare lesen
Krypto-Messenger Signal stellt Kontaktserver in einer SGX-Enklave vor

(Bild: Open Whisper Systems)

Lesezeit: 3 Min.
Von
  • Fabian A. Scherschel
Inhaltsverzeichnis

Die Entwickler des Ende-zu-Ende verschlüsselnden Smartphone-Messengers Signal arbeiten daran, den Dienst kompatibler mit den Wünschen normaler Nutzer zu machen, die keine Security-Experten sind. Signal testet deshalb momentan verschlüsselte Nutzerprofile und hat nun eine Möglichkeit vorgestellt, wie der Dienst in Zukunft herausfinden kann, welche Kontakte im lokalen Adressbuch des Anwenders ebenfalls Signal nutzen. Signal nennt diese Funktion Private Contact Discovery und will sicherstellen, dass die Betreiber des Servers keine Kontaktdaten einsehen können – obwohl diese von der App an den Server übermittelt werden.

Momentan hält der Signal-Server eine Liste aller Telefonnummern vor, die bei dem Dienst angemeldet sind. Das liegt in der Natur der Sache und gehört zu einer Reihe Metadaten, die auf dem Server anfallen und welche die Entwickler bisher nicht eliminieren können. Der Server weiß zum Beispiel auch, wer mit wem redet, obwohl der Inhalt der Nachrichten sicher verschlüsselt ist. Die Signal-Entwickler würden ihren Nutzern gerne eine Liste präsentieren, wer ihrer Kontakte ebenfalls den Messenger verwendet. Andere Apps nutzen für so etwas den Social Graph von Facebook oder schicken alle Telefonnummern aus dem Adressbuch an den eigenen Server.

Da man bei Signal aber vermeiden will, dass der Server-Betreiber weiß, wen der Nutzer im Kontaktbuch hat und das eben auch nicht Facebook oder ähnlichen Diensten preisgeben will, musste man sich eine andere Lösung überlegen. Signal schickt dafür Hashes aller Telefonnummern an den Server. Leider ist das alleine kein wirksamer Schutz, da Telefonnummern zu wenige Kombinationsmöglichkeiten bieten – Hacker oder Regierungsbeamte, die die Hashes in die Finger bekommen könnten sie knacken und an die Telefonnummern kommen.

Deswegen haben sich die Signal-Leute einen Weg überlegt, wie sie die Hashes vor dem eigenen Server schützen können. Der Code der Private Contact Discovery läuft deswegen in einer SGX-Enklave und bedient sich einer Technik namens Oblivious RAM (ORAM). Auf diesem Wege soll der Kontaktfinde-Dienst seine Arbeit verrichten können, ohne dass andere Prozesse auf dem Server (selbst wenn sie System-Rechte besitzen) Einblick in die verarbeiteten Daten haben. Das verhindert zum Beispiel, dass Regierungsbeamte mit rechtlicher Befugnis auf die Signal-Server zugreifen und die Kontaktdaten der Nutzer abgreifen können.

Laut den Signal-Entwicklern ist die Technik bisher noch experimentell, sie wollen sie aber in den nächsten Monaten in ihre Live-Infrastruktur integrieren. Wie die anderen Teile von Signal ist der Quellcode des Contact-Discovery-Dienstes öffentlich einsehbar und steht unter der AGPL-Lizenz.

Sollte die Technik funktionieren, scheint sie eine kreative Lösung für ein verbreitetes Problem zu sein. Messenger-Anbieter wollen zwar ihren Nutzern das Leben erleichtern und ihnen nach einer Installation möglichst viele Gesprächspartner anzeigen, sorgen aber mit einer Übermittlung des Telefonbuchs zum Server für ordentlich Konfliktpotential mit Datenschutzgesetzen, vor allem in der EU. Das geht so weit, dass solche Messenger auf Diensthandys oft nicht installiert werden dürfen, da die beruflichen Kontakte dem Datenschutz unterliegen. Natürlich sind auch Techniken wie Intels SGX und die Trustzone von ARM-Systemen nicht unfehlbar, immerhin ist der Ansatz von Signal aber ein Schritt in die richtige Richtung. (fab)