my-self.fr Bi-Self / SelfRecover — démo live
⌛ —:—

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).

Credentials de cette session vide

Inscris-toi pour générer tes credentials (étape 1).

↻ Nouvelle session