TOTP-Codes teilen, ohne das Geheimnis zu teilen

Kolleginnen einen gültigen TOTP-Code geben und das Geheimnis am selben Ort lassen, und was jeder Ansatz am Tag des Entzugs bedeutet.

Das Geheimnis und die aktuelle Uhrzeit sind die einzigen Eingaben eines TOTP-Codes: Man kann also keinen ohne das Geheimnis berechnen. Der Kniff besteht nicht darin, das Geheimnis anders zu teilen, sondern darin, dass das Gerät jeder Person es nicht mehr braucht: Etwas hält das Geheimnis und liefert die Codes auf Anfrage. Diese Unterscheidung ist das ganze Thema von wie man 2FA-Codes im Team sicher teilt; dieser Artikel handelt von der Mechanik.

Warum der Unterschied so sehr zählt

Ein Code gilt rund dreißig Sekunden. Ihn einer Kollegin zu schicken ist etwa so heikel, wie eine Paket-Sendungsnummer vorzulesen: Bis er durchsickert, ist er schon ungültig, und er hätte ohnehin nur für einen Anmeldeversuch getaugt.

Ein Geheimnis ist alles wert, was das Konto wert ist, solange die 2FA eingerichtet bleibt. Es hat meist 16 bis 32 Zeichen, es ist das, was der QR-Code enthält, und seine Kopien sind unsichtbar: Nichts auf der Sicherheitsseite des Kontos wird Ihnen je sagen, dass 2024 vier Personen den Einrichtungsbildschirm gescannt haben.

Diese Asymmetrie ist es, die „wir teilen die Codes“ und „wir haben einmal den QR-Code geteilt“ zu zwei völlig verschiedenen Sicherheitslagen macht, auch wenn beides nach 2FA-Teilen aussieht.

Drei Wege, Codes statt Geheimnisse zu verteilen

Ein geteilter Tresor, der die Codes anzeigt

Das Geheimnis wird einmal eingegeben, von der Person, die das Konto verwaltet, und verschlüsselt gespeichert. Kolleginnen, denen Zugriff gegeben wurde, öffnen den Eintrag und sehen den aktuellen Code mit seinem Countdown. Die Zeichenkette dahinter sehen sie nie und können daraus keine eigene App einrichten.

Das ist die vielseitige Antwort, und die, die Zugänge und Abgänge übersteht, weil der Zugriff eine Liste ist, die man ändert, statt eines Geheimnisses, das man nicht zurückrufen kann.

Als Produkt ist das eine geteilte Authenticator-App: Der Tresor hält das Geheimnis, die Menschen halten nichts.

Ein API-Aufruf aus Ihren eigenen Werkzeugen

Erfolgt die Anmeldung durch ein Skript, einen nächtlichen Export, einen CI-Job oder einen Bot, der auf einem Kundenkonto postet, muss der Code gar nicht bis zu einem Menschen gelangen. Ihre Werkzeuge fragen den aktuellen Code beim Anmelden ab, und das Geheimnis bleibt serverseitig.

Die Regel: Die Kennung, mit der Ihr Skript den Code anfordert, muss genauso geschützt sein wie das Konto selbst, und auf das eine Konto beschränkt, das es braucht.

Ihn absichtlich vorlesen

Jemand mit Zugriff liest einer Kollegin den Code am Telefon vor. Das gehört benannt, weil die meisten Teams es ohnehin tun und weil es nicht falsch ist. Man teilt genau die flüchtige Sache und sonst nichts.

Seine Grenzen sind praktisch, nicht kryptografisch: Es braucht zwei wache Personen zugleich, es hinterlässt keine Spur, wer sich angemeldet hat, und es macht eine Person zum Engpass für alle anderen.

Was man verliert, wenn man stattdessen das Geheimnis teilt

Kommt das Geheimnis heraus, in einen Kanal kopiert, als Bild aufgenommen oder in eine geteilte Notiz gelegt, werden drei Dinge auf einmal wahr und bleiben es bis zum Zurücksetzen der 2FA:

  • Man verliert die Zählbarkeit. Unmöglich zu wissen, wie viele Geräte es halten.
  • Man verliert den Entzug. Jemanden aus einem Kanal zu entfernen entfernt das Geheimnis nicht aus seiner Authenticator-App.
  • Man verliert die Unabhängigkeit des zweiten Faktors. Überall, wo das Geheimnis neben dem Passwort liegt, hält ein Angreifer, der diesen Ort erreicht, beide Faktoren.

Nichts davon ist theoretisch, und nichts davon erscheint in einer Prüfung des Kontos selbst. Es zeigt sich Monate später, wenn jemand, der das Unternehmen verlassen hat, noch immer einen funktionierenden Codegenerator besitzt.

Eine kurze Prüfliste

  • Das Geheimnis wird einmal eingegeben, an einem Ort, von einer Administration des Kontos.
  • Alle anderen haben Zugriff auf die Codes, gewährt Person für Person und Konto für Konto.
  • Die Abrufe werden protokolliert, damit „wer hat sich am Dienstag angemeldet“ eine Antwort hat.
  • Die Wiederherstellungscodes liegen beim Geheimnis, nicht verteilt mit ihm.
  • Jedes Geheimnis, das irgendwo veröffentlicht wurde, gilt als verbrannt: die 2FA an diesem Konto zurücksetzen und neu einrichten.

Häufige Fragen

Nicht auf dem eigenen Gerät: Das Geheimnis ist neben der Uhrzeit die einzige Eingabe. Was man dagegen tun kann, ist etwas anderes das Geheimnis halten und den Code auf Anfrage erzeugen zu lassen, was ein geteilter Tresor oder ein API-Aufruf tut.

Weiterlesen · Codes im Team teilen

5 Min. Lesezeit

Wie man 2FA-Codes im Team sicher teiltLeitfaden

Vier Wege, 2FA-Codes im Team zu teilen, was jeder kostet, und wie man die Codes weitergibt, ohne das Geheimnis zu verteilen, das sie erzeugt.