Sicherheit des Schlüssel-Fingerabdrucks

Stelle deine Frage öffentlich an die Threema-Forum-Community - über 4.600 Mitglieder helfen dir weiter. > Frage stellen <
  • Betriebssystem: Android (4.2.2)
    Threema Version: 3.7 (Gekauft über: Google Play)

    Problembeschreibung:
    Ich habe eine Frage zur kryptografischen Sicherheit / Eindeutigkeit des Schlüssel-Fingerabdrucks im Vergleich zum Scannen des QR-Codes.

    Es geht darum, die Identität eines Kontaktes zu verifizieren, dessen QR-Code ich aufgrund der Entfernung nicht Scannen kann. Natürlich kann er mir ein Bild seines Codes schicken und den kann ich auch scannen. Aber kryptografisch ist das natürlich Nonsens. :daumenrunter:
    Meine Idee:

    • Ich habe den Code von Alice gescannt. Dieser Kontakt ist also vertrauenswürdig. :daumen:
    • Alice hat den Code von Bob gescannt - also für sie vertrauenswürdig. :daumen:
    • Wenn mir jetzt Alice die ID und den Schlüssel-Fingerabdruck übermittelt, die bei ihr für den Kontakt Bob angezeigt werden und diese mit dem übereinstimmen, was bei mir für den Kontakt Bob angezeigt wird: Kann ich dann Bob ebenfalls als vertrauenswürdig betrachten? Oder sind da aus kryptografischer Sicht noch Hintertüren möglich?


    Kann diese Frage jemand beantworten?


    [hr]
    Erstellt über das Supportanfrage-Formular.

  • Zusatzfrage:
    Ist es denn genauso sicher, wenn ich über Alice ein Foto des QR-Codes von Bob erhalte (ohne den Fingerabdruck)? Da ist doch zumindest bei der Erstellung ein weiteres Gerät involviert und ich muss das Foto zum Abscannen des Codes auch auf ein weiteres Gerät übertragen. Überprüfen kann ich nur die ID.
    Ergibt sich die Frage: Wie fälschungssicher ist eine Threema-ID? :hmm:

  • Du musst dem Gerät von Alice sowieso vertrauen, ob es ein Foto oder eine Nachricht überträgt sollte für die Sicherheit keine Rolle spielen. Aber warte sonst noch bis Crixus etwas dazu sagt, er scheint sich da noch etwas besser auszukennen.

    Jeder Tag könnte Threema Web für iOS Tag sein.

    Jeder Tag ist Threema Web für iOS Tag.

    Jeder Tag könnte Threema Multidevice Tag sein.

    Jeder Tag ist Threema Multidevice Tag.

    Nur mit Threema Safe schläft man ruhig.

  • Grundsätzlich müsste Alice erstmal manuell den QR-Code von Bob erstellen. Threema bietet keine Möglichkeit, sich den QR-Code *einer anderen Person* anzeigen zu lassen. Ansonsten wäre das genauso sicher. Der QR-Code enthält ja den öffentlichen Schlüssel bzw. Fingerabdruck.

    Wie fälschungssicher ist eine Threema-ID?
    Nun, eine Threema-ID besteht aus nur acht Zeichen. Alle möglichen Threema-IDs könnte man sich auf dem lokalen Computer ohne großen Aufwand schnell generieren lassen. Allerdings hilft das nicht wirklich, denn die Threema-ID ist nichts anderes als eine „Hausnummer“ und die wird in diesem Fall zentral von der Threema GmbH vergeben. Und jeder, der eine Nachricht an eine Threema-ID schreiben möchte, der geht ja zur Threema GmbH (bzw. zu deren Servern) und sagt „Hey, ich hab' eine Nachricht für die ID '7ZF3V1PX', bitte weiterleiten“. Und dass macht Threema dann. Deshalb gibt es hier kein Problem, weil es eine zentrale Instanz überwacht und keine ID zwei Personen gleichzeitig zuweist. Letztlich läuft es so ab: Wenn du Threema zum ersten Mal startest, dann schickst du eine Anfrage an Threema die lautet „Ich brauche eine ID” und Threema schaut dann nach, welche noch frei sind und gibt dir dann eine zufällige davon.

    Was du vermutlich meinst, wie fälschungssicher ein kryptografischer Schlüssel ist. Und das ist auch wirklich relevant, weil mit diesen die Verschlüsselungsoperationen durchgeführt werden. Threema verwendet hierzu Curve25519 und das ist auch sicher. Was bedeutet das?
    Nun, angenommen Angreifer „Eve“ möchte den kryptografischen Schlüssel von „Bob“ stehlen. Sie kennt den öffentlichen Schlüssel von „Bob“, muss jetzt allerdings den privaten Schlüssel finden, um auch erfolgreich Angriffe starten zu können. Das Problem: Das ist praktisch nicht möglich, der Rechenaufwand dafür ist so groß, dass selbst die NSA mit all ihren Supercomputern an ihre Grenzen stoßen würde. Die Wahrscheinlichkeit, dass es einem oder mehreren zusammengeschlossenen Supercomputern gelingt, diesen privaten Schlüssel zu finden ist so gering, dass es sich gar nicht erst lohnt, auf die Suche zu gehen.

    Heißt: Die kryptografischen Schlüssel sind sehr fälschungssicher, ja.

  • Guten Tag zusammen

    Ich habe eine ähnliche Frage:

    Wie kann ich den QR Code eines Kontaktes am einfachsten einscannen, wenn der Kontakt im Ausland lebt? Klar er kann ja ein Foto des QR Codes schicken, aber das müsste ja dann ausserhalb Threema geschehen, da ich diesen ansonsten nicht scannen kann, was ja nicht mehr sicher ist (möchte nicht dass der QR Code über ein zweites Handy und per Whatsapp oder ähnliches verschickt wird.

    Bin noch neu hier und bei Threema, also entschuldigt wenn es eine sehr banale Idee gibt und ich nicht darauf gestossen bin!

  • Es muss doch nicht sein, dass der QR-Code eingescannt wird. Das Ergebnis ist doch nur die Markierung mit den 3 grünen Punkten. Weitere Vorteile hadt Du deshalb nicht.

    Wenn es denn unbedingt sein muss, kannst Du Dir ja trotzdem den Screenshot per Threema schicken lassen, und den dann vom Bildschirm am PC abfotografieren.

    Das ist aber wie geschrieben nicht der "Normalablauf". Sicherheitsrelevant ist der Code allerdings eigentlich nicht.

  • Der QR-Code ist nicht dazu gedacht, verschickt zu werden. Es geht darum, vor Ort und persönlich den QR-Code vom Smartphone der anderen Person abzuscannen. Denn dann kannst du dir auch wirklich sicher sein, dass du mit der richtigen Person sprichst.

    Es mag in der Praxis nicht oder nur extrem selten vorkommen, aber was möglich wäre:

    Eine Person, sagen wir Alice, schickt dir per E-Mail die Threema-ID. Ein Angreifer schaltet sich dazwischen, fängt die E-Mail ab und ändert die Threema-ID in der E-Mail. Nun bekommst du die E-Mail und schreibst eine Nachricht an die in der Mail genannten Threema-ID. Was du nicht weißt: Die ID wurde vom Angreifer verändert und du schreibst jetzt eigentlich eine Nachricht direkt an den Angreifer anstatt an Alice. Der Angreifer kann die Nachricht lesen und einfach an Alice weiterleiten. Das heißt ihr beide wüsstet nicht, dass ein Dritter alles mitlesen kann. Wenn du jetzt möchtest, dass dir Alice via Threema den QR-Code schickt (damit du drei grüne Punkte hast), so kann der Angreifer wiederum diese Nachricht abfangen, den QR-Code mit seinem QR-Code ersetzen und es ist rein gar nichts an Sicherheit gewonnen.

    Deshalb soll der QR-Code nur persönlich abgescannt werden. Angenommen du und Alice trefft euch und scannt die QR-Codes ab, dann könntet ihr den Angriff entdecken.

  • Wie die anderen hier schon geschrieben haben, muss der QR Code nicht unbedingt gescannt

    werden.

    Solange die Threema Server nicht manipuliert wurden und du dich beim Hinzufügen

    nicht vertan hast, kannst du ziemlich sicher sein, dass nur der richtige Empfänger die Nachrichten lesen kann.

    Was man auch bedenken sollte: Sobald ein Kontakt Gelb oder Grün ist, werden Threema Anrufe

    von Gerät zu Gerät aufgebaut, was deine IP Adresse preisgeben kann. (Außer natürlich man hat die Einstellung "Anrufe immer über Server" aktiviert). Solange ein Kontakt rot ist, werden die Anrufe immer über den Server geleitet um deine IP Adresse zu schützen.

    Zum Thema:

    Da ich mit vielen sowieso schon lange verschlüsselte E-Mails schreibe habe ich meinen QR Code einfach signiert. So können die anderen verifizieren das es wirklich meiner ist. - Setzt natürlich Voraus, das man den anderen vorher seinen PGP Schlüssel auf einem sicheren Weg zukommen lassen hat, bzw. das Vertrauen durch Web of Trust besteht. (https://de.wikipedia.org/wiki/Web_of_Trust)

  • Was man auch bedenken sollte: Sobald ein Kontakt Gelb oder Grün ist, werden Threema Anrufe

    von Gerät zu Gerät aufgebaut, was deine IP Adresse preisgeben kann. (Außer natürlich man hat die Einstellung "Anrufe immer über Server" aktiviert). Solange ein Kontakt rot ist, werden die Anrufe immer über den Server geleitet um deine IP Adresse zu schützen.

    Das ist mir neu! :-O

    War das schon immer so?

  • Siehe hier, Retired:

    Zitat

    WebRTC connections can be established in two ways: Either a direct connection between the two devices is used (using STUN to help with NAT traversal), or one or both sides use a TURN server to relay the encrypted packets.

    Relaying has the advantage of hiding the public IP address from the call partner, thus providing added privacy when the peer is not trusted. On the other hand it exposes some metadata towards the TURN server, and the connection quality (especially latency) may be worse than in a direct call. By default, Threema enforces relay-ing through TURN for all unverified contacts (with a single red dot as verification status). Optionally, users can enforce relaying for all calls through the “Always relay calls” option in the “Privacy” settings.