Webauftritt aktualisiert inkl. Transparenzbericht

Stelle deine Frage öffentlich an die Threema-Forum-Community - über 4.600 Mitglieder helfen dir weiter. > Frage stellen <
  • Hier mal die Antwort vom Threema Support:

    Zitat


    Guten Tag,

    Ja, das ist korrekt. Aufgrund der niedrigen Entropie bzw. Anzahl möglicher Kombinationen von Handynummern wäre eine Speicherung als Hash prinzipbedingt nicht sinnvoll, da die Hashes sowieso sehr leicht zu knacken wären. Damit nach einer ID-Wiederherstellung die verknüpfte Handynummer dem Benutzer wieder angezeigt werden kann, wird sie im Klartext gespeichert. Bei E-Mail-Adressen ist das Hashing sinnvoller, da diese je nach Länge/Zusammensetzung mehr Entropie enthalten können.

    Mit freundlichen Grüssen,
    Threema Support

    Einmal editiert, zuletzt von Chris (2. November 2016 um 20:05)

  • Ok, sie machen's also wirklich. Enttäuschend. Im Falle eines Datenlecks/Hacks fallen dem Angreifer so gleich die Telefonnummern aller Threema-Nutzer, die ihre Telefonnummer mit der ID verbunden haben, komplett im Klartext in die Hände. Sozusagen auf dem Silbertablett. Anderenfalls müsste der Hacker erst mal Millionen von Nummern "ent-hashen", was schon mehr Aufwand wäre (aber wohl nicht unmöglich). Und mit Hackerangriffen/Datenlecks muss man ja heutzutage anscheinend immer rechnen... dazu reicht ja ein Blick in die Tagespresse.

    Außerdem ergibt es aus technischer Sicht gar keinen Sinn, die Telefonnumer als Klartext zu speichern, denn zum Adressbuch-Abgleich (bei dem ja gehashte Telefonnummern übertragen werden) wird ja nur der Hash benötigt, und zwar von allen verbundenen Nutzern. D.h. die Telefonnummern müssen ohnehin in Form von Hashes vorliegen. Warum dann also zusätzlich die Klartext-Telefonnummern auch noch speichern?? Das ist absolut unnötig. Oder hab ich da einen Denkfehler drin?

    Auf jeden Fall mMn alles andere als Zero-Knowledge bzw. "wir-speichern-nur-was-technisch-nötig-ist".

    Ich fände es gut, wenn Threema die Klartext-Nummern löscht - einfach, um das Zero-Knowledge-Prinzip glaubwürdig vertreten zu können.

    - Andy

    Einmal editiert, zuletzt von andyg (2. November 2016 um 19:55)


  • Anderenfalls müsste der Hacker erst mal Millionen von Nummern "ent-hashen", was schon mehr Aufwand wäre (aber wohl nicht unmöglich).

    Wenn du diesen Post gelesen hättest, wüsstest du, dass es selbst auf einem regulären PC eine Sache von 1-2 Minuten ist. Oder mit einem optimierten Programm wohl so 1-2 Sekunden. Ich sehe den Sicherheitsgewinn nicht.


    Warum dann also zusätzlich die Klartext-Telefonnummern auch noch speichern?? Das ist absolut unnötig. Oder hab ich da einen Denkfehler drin?

    ...und wenn du die Antwort vom Support oben gelesen hättest, wüsstest du, dass sie auch noch zu folgendem Zweck verwendet wird:

    Zitat


    Damit nach einer ID-Wiederherstellung die verknüpfte Handynummer dem Benutzer wieder angezeigt werden kann, wird sie im Klartext gespeichert.

    Einmal editiert, zuletzt von dbrgn (2. November 2016 um 20:36)

  • Wenn du diesen Post gelesen hättest, wüsstest du, dass es selbst auf einem regulären PC eine Sache von 1-2 Minuten ist. Oder mit einem optimierten Programm wohl so 1-2 Sekunden. Ich sehe den Sicherheitsgewinn nicht.


    Der Post ist mir bekannt. Die Zeitangabe betrifft jedoch nur das ent-hashen einer einzigen Nummer. Wenn die gesamte Liste mit den Hashes sämtlicher verknüpfter Telefonnummern aller Threema-Nutzer bei einem Hack erbeutet wird, dann wird es wenigstens schon mal etwas aufwändiger, an alle Telefonnummern der (verknüpften) Threema-Nutzer zu kommen. Klar, kein unüberwindbares Hindernis für einen gezielten Angriff, aber so, wie es jetzt ist, würde die Information auf dem Silbertablett geliefert und können im Vorbeigehen abgegriffen werden.

    Zitat


    ...und wenn du die Antwort vom Support oben gelesen hättest, wüsstest du, dass sie auch noch zu folgendem Zweck verwendet wird: [verknüpfte Telefonnummer wiederherstellen]


    Stimmt, dazu kann sie verwendet werden. Ich persönlich finde aber nicht, dass das es wert ist, das Zero-Knowledge-Prinzip dafür aufzuweichen - zudem ich ja meine eigene Telefonnummer eh' kenne [emoji6]

    Einmal editiert, zuletzt von andyg (2. November 2016 um 21:26)


  • Die Zeitangabe betrifft jedoch nur das ent-hashen einer einzigen Nummer.

    Falsch, das waren 40 Millionen SHA256-Hashes :) Macht das den Grund unserer Meinungsverschiedenheit etwas deutlicher?

    Zitat


    Ich persönlich finde aber nicht, dass das es wert ist, das Zero-Knowledge-Prinzip dafür aufzuweichen

    Da würde ich dir 100% zustimmen, wenn es Zero-Knowledge wäre. Bei Telefonnummern ist es aber eher 99%-Knowledge.

    Einmal editiert, zuletzt von dbrgn (2. November 2016 um 21:39)

  • Lässt sich die Entropie nicht erhöhen indem man der Handynummer einen Salt beimischt und dann den hash Wert erzeugt?

    Dann wird bei Threema auf dem Server halt salt und hash gespeichert aber der Brutforce wird doch dann erschwert, oder lieg ich falsch?

  • Random Salt hat ein ganz anderes Problem: Klar kannst du einen Random Salt für den Hash einer Telefonnummer nutzen. Der ist dann aber beim Abgleich nicht bekannt. Nehmen wir an, es gäbe nur 25 verschiedene Salts, dann müsstest du für jede Telefonnummer alle 25 Salts durchprobieren.

    @"andyg": Für halbwegs vernünftige Passwörter funktionieren Salts in Kombination mit teuren Hash-Verfahren wunderbar, da ist ein Leak erstmal kein Problem. Für Telefonnummern wäre es immer noch recht wenig Entropie in Kombination mit einem schnellen Hash-Verfahren wie SHA256, trotz Salt.

    (Um Verwirrung zu vermeiden: Ich arbeite bei Threema, spreche hier aber für mich.)

  • Natürlich ist das etwas, das Threema eigentlich von Anfang an hätte transparent machen sollen, auch wenn ich es sehr gut finde, dass sie offen geantwortet haben. Mir fehlt da leider auch in Teilen das technische Verständnis. Wenn Threema an Behörden die Telefonnumer nur in gehashter herausgeben würde, wie kommt man dann auch an die Klartextnummer? Wieso genügt ein Hashwert, um die Systematik dahinter zu knacken? Funktioniert das nicht nur mit bereits vorhandenen Rainbow-Tabellen?


  • Wenn Threema an Behörden die Telefonnumer nur in gehashter herausgeben würde, wie kommt man dann auch an die Klartextnummer?

    Man tut das indirekt: Für jede mögliche Telefonnummer berechnest du den Hashwert. Dann schaust du, ob der erhaltene Hashwert mit einem der errechneten Hashwerte übereinstimmt. Falls ja, hast du die Telefonnummer gefunden.

  • Es sollte meiner Meinung nach tatsächlich im Cryptography Whitepaper erwähnt werden (falls nicht schon gemacht), dass das Telefonnummernhashing nicht viel wert ist.

    (Um Verwirrung zu vermeiden: Ich arbeite bei Threema, spreche hier aber für mich.)