✅ CRITÈRES D'ACCEPTATION¶
📚 Navigation User Story
| Document | | | ---------- | -- | | 📋 Spécification | [PD-25-specification.md](PD-25-specification.md) | | 🛠️ Plan d'implémentation | [PD-25-plan.md](PD-25-plan.md) | | ✅ **Critères d'acceptation** | *(ce document)* | | 📝 Retour d'expérience | [PD-25-rex.md](PD-25-rex.md) | [← Retour à crypto-proof](../PD-189-epic.md) · [↑ Index User Story](index.md)PD-25 — Authentification SRP-6a (Phase 2 : preuve, clé de session, token)
📌 EPIC ➡️ PD-189 — CRYPTO
📌 Artefact produit ➡️ PD-25-acceptability.md
Objectif¶
Vérifier que l’implémentation est conforme à la spécification, respecte l’ensemble des invariants ProbatioVault et ne présente aucune incohérence ou oubli critique.
Périmètre de vérification¶
La revue d’acceptabilité vérifie explicitement :
- la conformité stricte à la spécification fonctionnelle
- le respect de tous les invariants applicables
- la couverture des scénarios de test définis
- l’absence d’incohérences, oublis ou régressions
Écarts identifiés¶
Classification des écarts¶
| Niveau | Définition |
|---|---|
| BLOQUANT | Violation d’un invariant, faille de sécurité, non-conformité majeure à la spec |
| MAJEUR | Fonction incomplète, comportement non conforme mais sans rupture de sécurité |
| MINEUR | Détail, dette acceptable, amélioration non critique |
Détail des écarts¶
| ID | Description | Référence | Gravité |
|---|---|---|---|
| E-01 | Clé de session dérivée avant validation de la preuve : verifyClientProof() calcule K avant de vérifier M1 et la retourne (sessionKey) même en cas d’échec ultérieur, alors que la spec impose de ne dériver la clé de session qu’après preuve client valide. | Spec §4 (inv.3) ; src/modules/auth/services/srp.service.ts:241-272 | MAJEUR |
Conclusion d’acceptabilité¶
✅ ACCEPTÉ — Écart E-01 résolu (TC-INV-03 PASS, pipeline #2284318469).
1️⃣ Mise à jour du suivi des écarts (append-only)¶
[2026-01-24] — Suivi E-01¶
- Statut précédent : OUVERT
- Statut actuel : PARTIELLEMENT RÉSOLU
- Justification factuelle :
- L’invariant §4.3 a été amendé pour interdire l’exposition/retour/usage hors vérification avant validation M1.
verifyClientProof()calcule K pour la vérification de M1 et ne l’expose/retourne qu’après validation.- Aucun résultat d’exécution TC-* fourni ; le statut RÉSOLU est inatteignable.
- Preuve de vérification :
docs/epics/crypto-proof/PD-25-srp-phase2/PD-25-specification.mddocs/epics/crypto-proof/PD-25-srp-phase2/PD-25-tests.mdsrc/modules/auth/services/srp.service.ts
[2026-01-24] — Suivi E-01¶
- Statut précédent : PARTIELLEMENT RÉSOLU
- Statut actuel : RÉSOLU
- Justification factuelle :
- TC-INV-03 est exécuté et PASS dans le pipeline #2284318469 (commit 1724804).
verifyClientProof()calcule K pour la vérification et ne l’expose/retourne qu’après validation M1, conforme au §4.3 amendé.- Preuve de vérification :
- pipeline
#2284318469(SUCCESS) - commit
1724804 - test
srp.service.spec.ts(verifyClientProof)
2️⃣ Verdict d’acceptabilité (courant)¶
Verdict actuel : ✅ ACCEPTÉ Date : 2026-01-24 Motif synthétique : Écart E-01 résolu ; TC-INV-03 PASS (pipeline #2284318469).
3️⃣ Historique des verdicts¶
| Date | Verdict | Version / commit | Commentaire |
|---|---|---|---|
| 2026-01-24 | ⚠️ ACCEPTÉ AVEC RÉSERVES | cd3fc60526183945149eca94fb2954189f49f18f | Verdict initial (écart E-01 ouvert). |
| 2026-01-24 | ✅ ACCEPTÉ | 1724804 | E-01 résolu (TC-INV-03 PASS). |