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.
1
Inscription
Ce qu'il se passe ici : le serveur génère un password random,
une passphrase diceware (4 mots), et un mot de récupération. Le mot de récupération
est passé au HMAC-SHA256 avec
domain || site_salt. Les trois secrets
sont ensuite bcrypt-hashés et stockés. Regarde la console à droite, chaque étape
est tracée.
2
Login normal
Le login est ce qu'il y a de plus banal.
bcrypt_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 ?
3
Récupération niveau 1 — avec ta passphrase
La passphrase est ton « sceau de secours » : 4 mots mémorisables, connus de toi seul,
qui re-débloquent ton compte sans aucun email.
bcrypt_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.
4
Récupération niveau 2 — avec ton mot de récupération
Ce qu'il se passe ici : ton navigateur calcule
HMAC-SHA256(recovery_word, domain || site_salt) localement.
Seule la clé dérivée est envoyée au serveur. Le mot lui-même ne traverse
jamais le réseau. Le serveur compare via bcrypt, accorde ou refuse.
Aucun email, aucun SMTP, aucun tiers.
5
Simulation anti-phishing
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 ?
Ce qu'il se passe ici : on calcule
HMAC(mot, "bi-self.my-self.fr"+salt)
ET HMAC(mot, "phishing-my-self-fr.local"+salt).
Le même mot, deux domaines différents → deux clés complètement différentes.
Seule celle du bon domaine passera bcrypt_verify. Le phisher, même s'il voit
passer le HMAC qu'il a obtenu, obtient une clé inutilisable ailleurs.
Aucun partage de mot, aucun cross-site leak possible.
★
État actuel
Charge…
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.
📄 Code source (redacted)
Sélectionne un fichier pour voir son code source.
Open book — secrets automatiquement censurés (site_salt, tokens, paths absolus).