Diwall

Français
Télécharger 1.24.4

La cible demande un second facteur

Trois façons de passer une demande de double authentification, selon d’où vient le code — et le seul cas qu’aucune ne couvre, que vous rencontrerez le jour de l’activation.

La situation. La connexion passe, puis la cible demande un code à six chiffres. D’où vient ce code décide laquelle des trois voies vous prenez.

Le code est calculé à partir d’une graine que vous détenez

Le TOTP standard — celui que produit une application d’authentification. Si vous avez rangé la graine base32 dans le répertoire chiffré sous totp_cle, Diwall calcule lui-même le code du moment :

{"type": "remplir_som", "id": 6, "valeur": "depuis_secrets_totp"}

Pas d’humain, pas de presse-papiers, rien à chronométrer. La graine reste dans le répertoire chiffré et le code est calculé dans le processus du navigateur, comme n’importe quel autre identifiant.

C’est la voie à préférer chaque fois qu’elle est possible.

Le code arrive par SMS ou par courriel

Vous ne pouvez pas le calculer — on vous l’envoie. attendre_mfa_ntfy attend que le code soit relayé par un canal de notification, remplit le champ et valide :

[
  {"type": "cliquer_som", "id": 5},
  {"type": "attendre_mfa_ntfy", "id_som": 6, "timeout": 120}
]

id_som est le champ du code, numéroté ; timeout est l’attente en secondes, 120 par défaut. Cette voie demande d’avoir configuré l’intégration de notification au préalable — elle ne lit pas le répertoire, puisque le code n’existe pas avant d’être envoyé.

Ni l’un ni l’autre — un humain le tape

[
  {"type": "remplir_som", "id": 6, "valeur": "123456"},
  {"type": "cliquer_som", "id": 7}
]

Le repli honnête : quelqu’un lit le code et modifie le scénario avant de le lancer. Ça marche, et ça ne passe pas à l’échelle — bon à savoir, pas de quoi bâtir dessus.

Le cas qu’aucune ne couvre

L’activation. Le tout premier code, au moment où le secret est créé.

Quand vous activez la double authentification, le serveur génère la graine et l’affiche une seule fois. À cet instant, elle n’existe nulle part ailleurs — ni dans votre répertoire chiffré, ni dans une notification. depuis_secrets_totp n’a rien à lire, et attendre_mfa_ntfy rien à attendre.

Aucun outillage ne couvre ce cas. Ce qui marche, c’est de faire toute l’activation dans un seul scénario — lire la graine sur la page, calculer le premier code, l’envoyer, et seulement ensuite ranger la graine — pour que rien n’ait à persister entre deux appels. C’est possible, cela a été fait, et c’est franchement malcommode.

Dit ici plutôt que découvert en pleine activation, sur une page qui ne vous laissera pas revenir en arrière.

Un piège à connaître

Calculer soi-même un TOTP dans evaluer demande l’API de cryptographie du navigateur, qui n’existe que dans un contexte sécurisé — HTTPS ou localhost. Sur une cible en HTTP simple, elle est tout bonnement absente, et vous obtenez Cannot read properties of undefined plutôt qu’un message utile.

Si vous êtes en HTTP par choix — une machine de test, un équipement local —, cette voie est fermée. Passez par le répertoire chiffré.

En bref

  • Graine dans le répertoire chiffré → depuis_secrets_totp. À préférer.
  • Code qui vous est envoyé → attendre_mfa_ntfy avec le champ numéroté.
  • Ni l’un ni l’autre → un humain le tape, et c’est très bien pour une fois.
  • L’activation est un problème à part : un seul scénario, aucune persistance entre les appels.
  • Pas de cryptographie du navigateur sur une cible en HTTP simple.