MySelf·Lab démo · noindex

🔐 Architecture de sécurité

Transparence assumée. Cette page documente nos défenses et leurs limites. Pas de sécurité par l'obscurité : une red team mérite de savoir ce qu'elle attaque. Tout le code est sous licence AGPL-3.0. Pour le cadre du test, voir les règles d'engagement ; pour les démonstrations, l'Attack Simulator.

1. Authentification — SelfRecover sans email

2. Chiffrement des données — deux modèles selon la sensibilité

a) Blind-key serveur (profil : bio, localisation, lien) — XChaCha20-Poly1305, clé dérivée d'un secret serveur stocké hors base et hors webroot. Un dump SQL ne révèle que des blobs.

b) Bout-en-bout côté client (mémo perso) — chiffré dans le navigateur (WebCrypto). Argon2id (64 Mio, t=3, p=1 — profil partagé SelfDataGuard / SelfRecover, défini dans Primitives et tenu égal par un test de conformité) → HKDF par étiquette → une vault_key aléatoire chiffre le mémo, wrappée dans deux enveloppes (mot de passe + passphrase de secours). Le serveur ne détient aucune clé.

✅ Ce que ça protège

  • Blind-key : vol de disque, dump SQL, injection
  • E2E : même un accès admin ou root sur le serveur → le mémo reste illisible

⛔ Ce que ça ne protège pas (assumé)

  • Blind-key : un admin / un RCE qui lit la clé peut déchiffrer le profil & les DM
  • E2E : un serveur compromis persistant servant un JS piégé captant le mot de passe au déverrouillage (faille du « code servi »)

3. Une clé par usage — SelfRecover, le mémo, SelfDataGuard

4. Durcissement applicatif

5. Modération — SelfModerate anti-manipulation

6. Modèle de menace — honnête

✅ Neutralisé

  • Exfiltration de la base (dump, disque volé) — blobs
  • Bruteforce de mot de passe (rate-limit)
  • Manipulation de la modération (Sybil, pack-voting)
  • CSRF, clickjacking, vol de session passif
  • Vol du mémo, même avec un accès root (E2E au repos)

⚠️ Limites connues

  • Profil & DM lisibles par qui obtient la clé serveur (.blindkey), par exemple via un RCE — pas par le panneau admin
  • Serveur compromis persistant → altération du code servi (« code servi »)
  • Métadonnées non chiffrées (qui parle à qui, quand)

7. Feuille de route

E2E étendu aux messages privés et au profil · superviseur d'intégrité hors machine : l'altération du code servi et les requêtes hors périmètre sont déjà détectées, mais depuis la machine surveillée — un accès root persistant peut donc faire taire le témoin ; restent à construire le témoin extérieur et le confinement automatique réversible · quorum distribué (Shamir) pour les clés critiques.