Trusted Codes
BlogOktober 20264 Min. LesezeitENDEESFRITNL

Ist das nicht einfach eine Authenticator-App? Gleicher Algorithmus, andere Aufgabe

Gleicher Algorithmus, andere Aufgabe: sechs Unterschiede und eine ehrliche Antwort auf die 30-Sekunden-Frage.

Wenn technisch versierte Leute Trusted Codes zum ersten Mal sehen, sagen sie oft: "Das ist also eine Authenticator-App." Damit haben sie halb recht. Im Kern verwenden beide denselben Algorithmus. Messer und Gabel sind aber auch beide aus Metall, und trotzdem benutzt niemand sie für dieselbe Aufgabe.

Was gleich ist

Authenticator-Apps wie Google Authenticator verwenden TOTP, den zeitbasierten Einmalpasswort-Algorithmus, der als offener Standard RFC 6238 veröffentlicht ist. Ein gemeinsames Geheimnis und die aktuelle Uhrzeit gehen hinein, und ein kurzer Code kommt heraus. Trusted Codes nutzt genau diesen Standard mit derselben HMAC-Funktion. Eigene Kryptografie haben wir bewusst nicht erfunden, denn TOTP wird seit mehr als zehn Jahren untersucht und eingesetzt.

Der Unterschied liegt in allem, was darum herum gebaut ist.

1. Es funktioniert zwischen Menschen, auf jedem Kanal

Ein Authenticator schützt eine einzige Tür, nämlich die Anmeldung bei einer Website. Der Code wandert von deinem Telefon in ein Formular, und ein Server prüft ihn.

Trusted Codes arbeitet zwischen zwei Menschen. Der Code geht von einer Person zur anderen: am Telefon ausgesprochen, im Videoanruf genannt, in einen Chat getippt, in eine E-Mail geschrieben oder an der Haustür abgefragt. Stell dir ein Passwort vor, das in jeder Situation funktioniert, während der Authenticator eine einzelne Tür öffnet.

2. Wörter statt Ziffern

Ein Authenticator zeigt "482 913". Trusted Codes zeigt drei Wörter, zum Beispiel "Fluss Kerze Einwand".

Ziffern sind für Maschinen gemacht. Lies "482 913" unter Zeitdruck über eine schlechte Telefonleitung vor und achte darauf, wie oft dein Gegenüber "482 930" notiert. Wörter lassen sich leichter aussprechen, leichter richtig verstehen und leichter für die paar Sekunden behalten, die der Vergleich dauert. Deshalb fragen Wachposten nach einer Losung und nicht nach einer PIN.

Die Wörter sind außerdem stärker als die Ziffern. Sechs Ziffern ergeben 1.000.000 Kombinationen. Trusted Codes entnimmt demselben Algorithmus 33 Bit und bildet sie auf drei Wörter aus einer Liste von 2.048 ab. Das ergibt 8.589.934.592 Kombinationen. Ein einzelner Rateversuch trifft mit einer Wahrscheinlichkeit von etwa 1 zu 8,6 Milliarden.

Die Wortlisten gibt es in neun Sprachen: Englisch, Deutsch, Französisch, Spanisch, Italienisch, Niederländisch, Portugiesisch, Latein und Esperanto. Die letzten beiden sind für Teams gedacht, die von keiner Landessprache abhängen wollen. Die Sprache ändert, welche Wörter du siehst, aber nicht, wie schwer sie zu erraten sind.

3. Der Code verrät dir, wer spricht

Bei einem Authenticator musst du vorher wissen, zu welchem Konto ein Code gehört. Der Code selbst sagt nichts aus.

Bei Trusted Codes funktioniert es auch in die andere Richtung. Jedes Mitglied einer Verbindung hat eigene Wörter, und die sind in jeder Verbindung andere. Nennt dir jemand drei Wörter, tippst oder sprichst du sie ein, und die App zeigt dir, wer es ist: "Anna, M&A-Projekt". Die Suche läuft auf deinem Telefon. Das ist wie eine Rufnummernanzeige, die kein Außenstehender fälschen kann.

4. Kein technisches Wissen nötig

Wolltest du einen Authenticator-Code mit einem Team teilen, müsstest du ein Geheimnis erzeugen, daraus einen QR-Code machen, ihn sicher an alle verteilen und das für jede neue Person wiederholen. Das würde nur ein Entwickler tun, und fast niemand tut es.

Bei Trusted Codes legst du eine Verbindung an, zum Beispiel für einen Deal, für dein Finanzteam oder für alle Zahlungen über 50.000 Euro, und lädst die Beteiligten ein. Den Rest erledigt die App. Ein Authenticator gibt dir die Einzelteile eines Schlosses, und das für die Anmeldung bei einer einzigen Website. Trusted Codes gibt dir das fertige Schloss, und du verteilst nur noch die Schlüssel.

5. Für Gruppen gemacht

Ein Authenticator-Code gehört zu einer Person und einem Konto. Eine Verbindung in Trusted Codes kann aus zwei Menschen bestehen oder aus einem ganzen Team. Standardmäßig sieht jedes Mitglied eigene Wörter für diese Verbindung und kann jedes andere Mitglied prüfen. Vorstand, Finanzteam und externer Anwalt können eine Verbindung bilden, und eine Zahlungsanforderung innerhalb dieser Gruppe lässt sich in Sekunden prüfen.

6. Die Wörter entstehen auf deinem Gerät

Wie ein Authenticator berechnet Trusted Codes die Wörter auf dem Telefon. Die App fragt keinen Server nach den Wörtern des Tages, deshalb funktioniert die Prüfung auch ohne Netzverbindung: im Aufzug, im Ausland oder in einem Gebäude ohne Empfang.

"Aber ein Authenticator-Code ändert sich alle 30 Sekunden"

Das ist der häufigste Einwand, und er verdient eine direkte Antwort.

Ein Anmeldecode ändert sich alle 30 Sekunden, weil eine Maschine ein Anmeldeformular angreifen kann. Ein Skript kann Tausende Codes ausprobieren, und ein abgefischter Code lässt sich sofort wiederverwenden. Ein kurzes Zeitfenster begrenzt das.

Ein Gespräch zwischen Menschen ist eine andere Lage. Niemand kann in einem Telefonat Tausende Codes ausprobieren. Der Angreifer hat einen Versuch, und eine falsche Antwort beendet das Gespräch. Um Erfolg zu haben, müsste er die aktuellen Wörter genau dieser Verbindung und genau dieser Person kennen, bevor sie sich ändern. Ein 30-Sekunden-Code wäre zwischen Menschen ohnehin nutzlos, denn bis du "Wie lautet unser Code?" gefragt und dein Gegenüber die App geöffnet hat, hätte er sich schon geändert.

Deshalb wird der Abstand bei Trusted Codes in Stunden gemessen und nicht in Sekunden. Für Verbindungen lässt er sich in den Business-Tarifen auf sechs Stunden bis 30 Tage einstellen, je nachdem, wie sensibel die Beziehung ist. Beacons, die Mitarbeitende während eines Gesprächs mit Kunden einschalten, wechseln innerhalb von Minuten. Und ein Rateversuch hat weiterhin eine Chance von 1 zu 8,6 Milliarden.

Die Kurzfassung

Der Algorithmus ist derselbe, die Aufgabe eine andere. Ein Authenticator beweist einem Server, dass du dich anmeldest. Trusted Codes beweist einem Menschen, dass du du bist, auf jedem Kanal und mit Wörtern, die du laut aussprechen kannst.

Quellen

  • TOTP: Time-Based One-Time Password Algorithm, RFC 6238
  • HOTP: An HMAC-Based One-Time Password Algorithm, RFC 4226

Prüfe den Menschen, nicht den Kanal

Mit Trusted Codes teilen du und deine Kontakte drei Wörter, die sich in einem festen Abstand ändern. Das funktioniert auf jedem Kanal und kostet dich eine Frage.