EPIC — Cryptographie, preuves et accès légaux (PD-189)¶
User Stories¶
| ID | Titre | Spec |
|---|---|---|
| PD-24 | PD-24 — Authentification SRP-6a (Phase 1) | 📋 |
| PD-25 | 📄 SPÉCIFICATION CANONIQUE CONTRACTUELLE | 📋 |
| PD-35 | PD-35 — Module d'enveloppes de clés (Key Wrapping) | 📋 |
| PD-36 | PD-36 — Implémenter un client HSM Cloud PKCS#11 | 📋 |
| PD-37 | PD-37 — Service de signature HSM des journaux d'au... | 📋 |
| PD-38 | PD-38 — Calcul de l'empreinte probatoire SHA3-256 ... | 📋 |
| PD-39 | 📄 SPÉCIFICATION CANONIQUE CONTRACTUELLE | 📋 |
Intention¶
Mettre en œuvre le cœur cryptographique de ProbatioVault, garantissant la confidentialité zero-knowledge, l'intégrité probatoire, la traçabilité des opérations sensibles et la capacité d'accès légal strictement encadré.
Cette EPIC porte la différenciation technologique et juridique majeure de ProbatioVault.
Problème de fond¶
ProbatioVault doit concilier des exigences a priori contradictoires :
- garantir que la plateforme ne puisse jamais lire les contenus utilisateurs ;
- produire des preuves cryptographiquement solides et vérifiables dans le temps ;
- permettre des partages et délégations d'accès sans re-chiffrement global ;
- assurer un accès judiciaire exceptionnel, traçable et proportionné ;
- résister aux compromissions applicatives et humaines ;
- s'inscrire dans des cadres normatifs et légaux reconnus (eIDAS, RFC, normes ISO).
Les problématiques clés sont :
- gestion sécurisée du cycle de vie des clés ;
- dérivation déterministe et reproductible sans stockage des secrets maîtres ;
- séparation stricte entre chiffrement, preuve et identité ;
- audit cryptographique append-only et horodaté ;
- gouvernance des accès légaux et d'urgence.
Sans une architecture cryptographique rigoureuse, la promesse probatoire et zero-knowledge serait intenable.
Solution de principe¶
L'EPIC CRYPTO met en place une architecture multi-couches, HSM-backed et auditée, reposant sur les principes suivants :
- Dérivation de clés utilisateur via Argon2id et HKDF (aucune clé stockée en clair) ;
- Utilisation d'un HSM Cloud (PKCS#11) pour :
- opérations sensibles,
- signature des journaux,
- rotation et protection des clés maîtres ;
- Chiffrement des contenus et métadonnées via enveloppes de clés (key wrapping) ;
- Hash probatoire SHA3-256 et construction d'arbres de Merkle ;
- Horodatage externe via TSA (RFC 3161) ;
- Recherche déterministe chiffrée compatible zero-knowledge ;
- Proxy Re-Encryption (PRE) pour partage et accès judiciaire sans exposition des clés ;
- Validation double et gouvernance humaine pour les accès exceptionnels ;
- Préparation à une implémentation bas niveau sécurisée (migration Rust).
La cryptographie est traitée comme un système de preuve, pas comme une simple brique technique.
Invariants¶
- Aucune clé de chiffrement utilisateur n'est stockée en clair.
- Le backend n'a jamais accès aux contenus déchiffrés.
- Toute opération cryptographique critique est auditée et signée.
- Les accès légaux nécessitent des validations multiples et traçables.
- Les preuves générées doivent être vérifiables hors plateforme.
- Le HSM est l'autorité ultime pour les clés et signatures.
User Stories associées¶
- PD-24 — Implémenter authentification SRP-6a (Phase 1)
- PD-25 — Implémenter authentification SRP-6a (Phase 2)
- PD-33 — Implémenter dérivation K_master avec Argon2id
- PD-34 — Implémenter dérivation K_encryption avec HKDF
- PD-35 — Créer module enveloppe clés (Key Wrapping)
- PD-36 — Implémenter client HSM Cloud PKCS#11
- PD-37 — Créer service signature HSM pour audit logs
- PD-38 — Implémenter calcul hash probatoire SHA3-256
- PD-39 — Configurer intégration TSA RFC 3161
- PD-40 — Implémenter rotation clés HSM
- PD-41 — Créer service PRE avec NuCypher/Umbral
- PD-42 — Implémenter recherche déterministe chiffrée
- PD-54 — Implémenter construction arbre de Merkle
- PD-72 — Créer worker PRE transfert coffre entreprise → salarié
- PD-81 — Créer module Legal PRE pour accès judiciaire
- PD-82 — Implémenter validation double (parent + autorité)
- PD-83 — Créer intégration hotline juridique / psy
- PD-181 — Implémenter signature électronique qualifiée eIDAS
- PD-204 — Suite PD-35 : post-dev module Key Wrapping
- PD-208 — Migration vers RUST
Impacts transverses¶
-
Architecture Définition de la chaîne cryptographique globale et des frontières de responsabilité entre modules.
-
Sécurité Zero-knowledge effectif, résistance aux compromissions, protection forte des clés et des preuves.
-
UX Indirect : confiance utilisateur maximale, partage sécurisé sans complexité apparente.
-
Mobile / Clients Gestion locale des secrets dérivés, intégration SRP, PRE et signatures.
-
Juridique Production de preuves opposables, accès judiciaire encadré, conformité eIDAS et normes probatoires.
-
Exploitation Supervision HSM, rotation des clés, audits cryptographiques et gestion des incidents majeurs.
Références¶
- Architecture Executive ProbatioVault — v4.x
- Cahier d'Architecture Technique (Tech Lead)
- Spécifications Cryptographiques ProbatioVault
- Normes : RFC 3161, RFC 5054 (SRP), eIDAS, OWASP ASVS
- Brevets et dossiers INPI (Legal PRE, preuve composite)
- Décisions d'architecture (ADR) liées à la cryptographie