Das Ziel fordert einen zweiten Faktor an
Drei Wege durch eine Zwei-Faktor-Abfrage, je nachdem, woher der Code kommt – und der eine Fall, den keiner abdeckt und dem Sie am Tag der Einrichtung begegnen.
Die Lage. Die Anmeldung klappt, dann verlangt das Ziel einen sechsstelligen Code. Woher dieser Code kommt, entscheidet, welchen der drei Wege Sie nehmen.
Der Code wird aus einem Schlüssel erzeugt, den Sie besitzen
Standard-TOTP – wie es eine Authenticator-App erzeugt. Haben Sie den
Base32-Schlüssel im verschlüsselten Verzeichnis unter totp_cle abgelegt,
erzeugt Diwall den aktuellen Code selbst:
{"type": "remplir_som", "id": 6, "valeur": "depuis_secrets_totp"}
Kein Mensch, keine Zwischenablage, nichts abzupassen. Der Schlüssel bleibt im verschlüsselten Verzeichnis, und der Code wird im Browserprozess berechnet, wie alle anderen Zugangsdaten.
Das ist der Weg, den Sie wählen sollten, wann immer er möglich ist.
Der Code kommt per SMS oder E-Mail
Sie können ihn nicht erzeugen – er wird Ihnen geschickt. attendre_mfa_ntfy
wartet, bis der Code über einen Benachrichtigungskanal eintrifft, füllt das
Feld aus und schickt ab:
[
{"type": "cliquer_som", "id": 5},
{"type": "attendre_mfa_ntfy", "id_som": 6, "timeout": 120}
]
id_som ist das nummerierte Codefeld; timeout die Wartezeit in Sekunden,
standardmäßig 120. Dieser Weg setzt eine vorher eingerichtete
Benachrichtigungsanbindung voraus – er liest nicht das Verzeichnis, denn der
Code existiert erst, wenn er verschickt wird.
Keins von beiden – ein Mensch tippt ihn ein
[
{"type": "remplir_som", "id": 6, "valeur": "123456"},
{"type": "cliquer_som", "id": 7}
]
Der ehrliche Notbehelf: Jemand liest den Code und ändert das Szenario vor dem Start. Das funktioniert und skaliert nicht – gut zu wissen, dass es geht, nichts, worauf man bauen sollte.
Der Fall, den keiner abdeckt
Die Einrichtung. Der allererste Code, in dem Moment, in dem das Geheimnis entsteht.
Wenn Sie die Zwei-Faktor-Authentifizierung aktivieren, erzeugt der Server den
Schlüssel und zeigt ihn ein einziges Mal an. In diesem Augenblick existiert
er nirgends sonst – weder in Ihrem verschlüsselten Verzeichnis noch in einer
Benachrichtigung. depuis_secrets_totp hat nichts zu lesen, und
attendre_mfa_ntfy hat auf nichts zu warten.
Dafür gibt es kein Werkzeug. Was funktioniert: die ganze Einrichtung in einem einzigen Szenario erledigen – den Schlüssel von der Seite lesen, den ersten Code berechnen, ihn abschicken und erst dann den Schlüssel ablegen –, damit zwischen zwei Aufrufen nichts erhalten bleiben muss. Das ist möglich, es wurde gemacht, und es ist wirklich umständlich.
Lieber hier gesagt als mitten in der Einrichtung entdeckt, auf einer Seite, die Sie nicht zurücklässt.
Eine Falle, die man kennen sollte
Ein TOTP selbst in evaluer zu berechnen, braucht die Krypto-API des Browsers,
die nur in einem sicheren Kontext existiert – HTTPS oder localhost. Auf
einem Ziel mit reinem HTTP fehlt sie schlicht, und Sie bekommen
Cannot read properties of undefined statt einer hilfreichen Meldung.
Sind Sie bewusst auf HTTP – ein Testrechner, ein lokales Gerät –, ist dieser Weg verschlossen. Nehmen Sie das verschlüsselte Verzeichnis.
Kurz gesagt
- Schlüssel im verschlüsselten Verzeichnis →
depuis_secrets_totp. Vorziehen. - Code wird Ihnen geschickt →
attendre_mfa_ntfymit dem nummerierten Feld. - Keins von beiden → ein Mensch tippt ihn ein, und für einen Einzelfall ist das in Ordnung.
- Die Einrichtung ist ein eigenes Problem: ein Szenario, keine Persistenz zwischen Aufrufen.
- Keine Browser-Kryptografie auf einem Ziel mit reinem HTTP.