Aller au contenu

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)