PD-282 — Dossier de conformite (Gate 3, CONFORMITY_CHECK, v2)¶
- Story : PD-282 — ProofEnvelope : scellement HSM (PROOF-14) + materiel validation eIDAS (PROOF-05b)
- Gate : 3 (CONFORMITY_CHECK)
- Iteration : v2
- Date : 2026-03-02
- P1 (Review) : Claude Opus 4.6
- P2 (Confrontation) : ChatGPT gpt-5.3-codex
- Score v1 precedent : 6.562 (NON_CONFORME)
Documents de reference¶
- PD-282-specification.md (v2 corrigee, ChatGPT)
- PD-282-tests.md (v2 corriges, ChatGPT)
- PD-282-review-step3-v2.md (Claude, phase 1)
- PD-282-confrontation-step3-v2.md (ChatGPT, phase 2)
Corrections v1 → v2 appliquees¶
Les 15 ecarts v1 (2 BLOQUANT, 10 MAJEUR, 3 MINEUR) ont ete corriges : - TC-INV-06/07/09/10 : scenarios Given/When/Then ajoutes (BLQ v1 resolu) - "hors normalisation transport" : supprime de TC-NOM-02 (BLQ v1 resolu) - Q-03 : supprimee (ERR-05 fait foi) - CA-08 : conditionne a H-01 - Clauses AND journalisation : retirees de TC-NOM-01/02 - Q-06 codes d'erreur : supprimee, references retirees des tests - TC-NEG-08 : rejet uniquement (pas de nettoyage) - tsaCertificateChain : lien PD-81 documente - INV-282-06 : patterns secrets listes (privateKey, secretKey, sessionToken, hmacSecret, dek) - ERR-05 : note monitoring ajoutee - EPIC-XX : remplace par independant + labels - SEALED : "resolution manuelle" supprime - certSerialNumber : normalisation uppercase a l'ingestion documentee
Synthese des ecarts v2¶
| Gravite | Nombre |
|---|---|
| BLOQUANT | 2 |
| MAJEUR | 5 |
| MINEUR | 6 |
| Total | 13 |
Note : 5 observations supplementaires de la review (HD-02 JCS+jsonb, HD-03 concurrence, AMB-04 reconciliation, RSC-01 OCSP cert scellement, AMB-05 ordre temporel) sont classees comme notes pour le plan — elles representent des considerations d'implementation, pas des defauts documentaires. Elles seront reprises en etape 4.
Ecarts BLOQUANTS¶
ECT-01 — Mode B (verification online publique) sans test nominal positif¶
- Source : Review IST-01, Confrontation DIV-01
- Type : Incoherence Spec/Tests
- Description : La spec inclut explicitement Mode B (online public) dans le perimetre. TC-NOM-04 couvre uniquement Mode A (air-gapped). TC-ERR-08 couvre l'echec A/B. Aucun test nominal ne verifie le chemin positif Mode B.
- Impact : Perimetre contractualise sans preuve de conformite positive.
- Criticite : BLOQUANT
ECT-02 — Statut OCSP "revoked" defini mais comportement non contractualise¶
- Source : Review IST-05, Confrontation DIV-02
- Type : Lacune spec
- Description : L'enum ocspResponses[].status inclut good|revoked|unknown. Aucune regle metier ne precise le comportement lorsque le statut d'un certificat est "revoked" au moment de la finalisation. L'enveloppe pourrait etre scellee avec un certificat revoque.
- Impact : Force probante contestable si certificat revoque au moment T de la preuve.
- Criticite : BLOQUANT
Ecarts MAJEURS¶
DIV-01 — Horodatage signedAt non protege par le sceau¶
- Source : Review HD-01, Confrontation DIV-03
- Type : Hypothese dangereuse
- Description : signedAt est dans envelopeSeal (exclu du sceau). Un attaquant avec acces ecriture pourrait le modifier. Mitige par validationTimestamp (dans verificationMaterial, protege par le sceau).
- Criticite : MAJEUR (mitige par validationTimestamp + token TSA PD-81)
DIV-02 — Role des trois chaines de certificats non explicite¶
- Source : Review AMB-02, Confrontation DIV-08
- Type : Ambiguite
- Description : Trois tableaux certificateChain existent sans semantique contractuelle explicite de chacun.
- Criticite : MAJEUR
DIV-03 — Exigence monitoring DOIT mais hors perimetre¶
- Source : Review CTR-01, Confrontation DIV-04
- Type : Contradiction
- Description : Note ERR-05 utilise DOIT pour une exigence declaree hors perimetre. Incoherence normative.
- Criticite : MAJEUR
DIV-04 — Normalisation certSerialNumber non testee¶
- Source : Review IST-03, Confrontation DIV-05
- Type : Incoherence Spec/Tests
- Description : La normalisation uppercase est contractualisee mais aucun test ne verifie entree minuscule, persistance normalisee, comparaison.
- Criticite : MAJEUR
DIV-05 — Pas de test negatif producedAt > validationTimestamp¶
- Source : Review IST-04, Confrontation DIV-06
- Type : Incoherence Spec/Tests
- Description : TC-NOM-03 verifie le cas nominal. Aucun test ne couvre la violation de la contrainte temporelle.
- Criticite : MAJEUR
Ecarts MINEURS¶
MIN-01 — TC-NOM-08 non rattache dans la matrice de couverture¶
- Source : Review IST-02, Confrontation DIV-07
- Description : Le test atomicite existe mais n'est pas relie a un invariant dans la matrice.
- Criticite : MINEUR
MIN-02 — Liste de patterns anti-secrets qualifiee de "minimaux" sans gouvernance¶
- Source : Review AMB-01
- Description : Le terme "minimaux" implique extensibilite sans mecanisme defini.
- Criticite : MINEUR
MIN-03 — Format base64-DER vs base64-DER-OCSP non distingue formellement¶
- Source : Review AMB-03
- Description : Deux labels de format, meme regex de validation. Distinction implicite.
- Criticite : MINEUR
MIN-04 — "Policy degradee" non formellement equivalente a OCSP_UNAVAILABLE¶
- Source : Review AMB-06
- Description : Terme utilise dans le tableau de format sans lien explicite vers l'enum.
- Criticite : MINEUR
MIN-05 — Distinction absent vs vide pour ocspResponses implicite¶
- Source : Review AMB-07
- Description : La distinction cle absente vs tableau vide est structurellement critique mais implicite.
- Criticite : MINEUR
MIN-06 — Substitution de composants internes non testee explicitement¶
- Source : Review IST-06
- Description : TC-NEG-09 teste la copie du seal entre enveloppes mais pas la substitution de composants internes (verificationMaterial).
- Criticite : MINEUR
Notes pour le plan (etape 4) — hors scoring¶
| Ref | Sujet | Action plan |
|---|---|---|
| HD-02 | JCS + jsonb round-trip | Specifier que le sceau est calcule sur la forme pre-persistance. Stocker le canonical form ou utiliser json au lieu de jsonb. |
| HD-03 | Concurrence finalisation | Implementer SELECT FOR UPDATE ou optimistic locking sur UNSEALED->SEALED. |
| AMB-04 | Mecanisme de reconciliation | Referencer le PD exact ou documenter le mecanisme dans le plan. |
| AMB-05 | Ordre temporel | Documenter dans le plan : assembler verificationMaterial AVANT calcul sceau. |
| RSC-01 | OCSP certificat scellement | Evaluer inclusion d'un OCSP pour le cert HSM ProbatioVault dans verificationMaterial. |
Scoring¶
| Critere | Score | Justification |
|---|---|---|
| completeness | 7.0 | Bonne couverture (12 INV, 12 CA, 8 ERR). Corrections v1 appliquees. Reste : OCSP revoked non specifie (-2 BLQ), notes pour plan non penalisantes. |
| testability | 6.0 | Tests largement ameliores (TC-INV-06/07/09/10 definis, audit clauses retirees). Reste : Mode B sans test positif (-2 BLQ), certSerialNumber (-1), producedAt (-1). |
| clarity | 7.0 | Contradictions v1 resolues. Reste : signedAt falsifiable mitige (-1), roles certificats (-1), monitoring DOIT/hors perimetre (-1). |
| traceability | 9.0 | Matrice de couverture complete. TC-NOM-08 non rattache (-0.25). Substitution composants non testee (-0.25). Bonne tracabilite globale. |
Score moyen : (7.0 + 6.0 + 7.0 + 9.0) / 4 = 7.25
Delta v1→v2 : 7.25 - 6.562 = +0.688 (amelioration significative, delta >= 0.5)