Telefonnummer als Identifier: Zu kurz gedacht

Messenger wie WhatsApp und Signal nutzen die Telefonnummer als Identifier. Ihr kennt das Prinzip vermutlich: Über die Mobilfunknummer werden automatisch alle Kontakte identifiziert, die ebenfalls WhatsApp einsetzen. Das erfordert allerdings zunächst einen Upload des gesamten Adressbuchs auf den Server des Anbieters. Allein aus datenschutzrechtlicher Sicht ist das keine gute Idee.

Befürworter dieser Variante verteidigen dieses Prinzip oftmals mit dem Hinweis, dass die Telefonnummern beim Anbieter doch gehasht werden. Na dann können wir uns ja beruhigt zurücklehnen – oder etwa nicht? Nein, können wir nicht. Die Hashes von Telefonnummern sind notorisch unsicher, weil die Zeichenfolgen zu kurz und der Zeichenraum zu klein ist. Seit Jahren predige ich nun, dass eine Rainbow-Tabelle mit der Zuordnung Telefonnummer -> Hashwert mit vertretbarem Aufwand berechenbar wäre. Selbst wenn wir »aufwändige« Hash-Verfahren wie bspw. SHA-512 verwenden, so könnte ein durchschnittlicher Angreifer mit acht Nvidia GTX 1080 und Hashcat eine Rainbow-Tabelle in gut 32 Stunden erstellen [Link zur Quelle nicht erreichbar] – ein Witz und keine Herausforderung. (10¹⁵ / 8624700000 Hash/s = 115946,061892008 Sekunden bzw. 32 Stunden):

  • MD5: 83 Minuten
  • SHA-1: 4 Stunden
  • SHA-256: 12 Stunden
  • SHA-512: 32 Stunden
  • SHA-3: 42 Stunden
  • scrypt: 9 Jahre
  • PBKDF2-HMAC-SHA512: 9 Jahre

Die berechnete Zeit basiert auf der Verwendung von acht GTX 1080, die sich im Prinzip jeder beschaffen könnte. Einem Geheimdienst stehen noch ganz andere Mittel zur Verfügung. Soviel zum Thema »irreversibly hashed values«. Von diesem Märchen können wir uns hinsichtlich Telefonnummern nun endlich mal verabschieden.

Hilf mit die Spendenziele zu erreichen! Mitmachen ➡