Aller au contenu

✅ 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.md
  • docs/epics/crypto-proof/PD-25-srp-phase2/PD-25-tests.md
  • src/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).