Démo SelfRecover
Tu cliques à gauche, le serveur s'exécute à droite. Pas de script. Pas de mise en scène. Ce sont les vrais logs de ton interaction.
HMAC-SHA256(clé = ton mot, message = nom d'hôte |v2 + sel).
Il n'envoie que l'empreinte : le mot lui-même ne part jamais. Le serveur,
lui, engendre un password et une passphrase diceware, puis hache les trois en Argon2id.
Regarde la console à droite, chaque étape est tracée — et vois ce qui ne s'y trouve pas.
argon2id_verify côté serveur,
et si ça match, on crée une session applicative (cookie sr_app_session).
Aucune magie. Ce qui compte c'est la suite : que se passe-t-il si tu perds ton password ?
argon2id_verify contre le
hash stocké, génération d'un nouveau password, invalidation de toutes les sessions
précédentes. Aucun tiers impliqué, aucun SMTP, aucun délai.
HMAC-SHA256(clé = ton mot, message = nom d'hôte |v2 + sel) localement.
Le nom d'hôte est celui qu'il lit dans sa barre d'adresse, jamais un
que le serveur lui donnerait — c'est là tout l'anti-hameçonnage. Seule la clé dérivée
part ; le mot ne traverse jamais le réseau. Le serveur compare via Argon2id, accorde
ou refuse. Aucun email, aucun SMTP, aucun tiers.
Même niveau, autre porte. Ici on ne te demande aucun identifiant : le code retrouve le compte à lui seul. Regarde le formulaire — il n'y a pas de champ où saisir un nom d'utilisateur, donc pas d'endroit où tester si un compte existe.
HMAC-SHA256(code, sel du service) et s'en sert comme index — une seule
requête retrouve le compte, sans identifiant. Le code est ensuite vérifié par Argon2id,
et le mot de récupération par le même HMAC client qu'à l'étape 4.
Les deux sont exigés : un code trouvé sur un papier ne suffit pas,
le mot seul non plus.
Essaie de te tromper volontairement sur l'un des deux : le message d'erreur est identique dans les deux cas, et le temps de réponse aussi. Dire lequel a échoué rendrait chaque facteur attaquable séparément. Essaie ensuite de rejouer un code déjà utilisé — il est consommé, et un code inconnu reçoit exactement la même réponse.
Simulons qu'un phisher héberge une copie pixel-perfect de SelfRecover
sur phishing-my-self-fr.local. Tu y entres ton mot de récupération.
Que se passe-t-il ?
Prochaines étapes (sessions 5-6) : démo SelfModerate (simulation d'une mini-communauté, votes, détection pack-voting, sanctions). Et démo binôme (étape 7) : comment l'identité SelfRecover rend la modération SelfModerate résistante aux attaques Sybil.
Sélectionne un fichier pour voir son code source.