Aller au contenu

PD-7 - Specification Review (Contractual Audit)

Point 1 ✅ RÉSOLU Type : Contradiction (reclassé en Ambiguïté rédactionnelle) Reference : PD-7-specification.md §7.1 (INV-01, INV-02) ; PD-7-tests.md TC-NOM-04 Description : La specification interdit toute exportation de cle et indique que les cles ne quittent jamais le HSM, alors que le test exige une verification de signature hors HSM avec la cle publique correspondante, impliquant une cle disponible hors HSM. Impact : Incompatibilite contractuelle entre invariants et tests ; audit et acceptation contestables. Gravite : Majeur → Mineur (après correction)

Résolution appliquée : - PD-7-specification.md §7.1 : Invariants reformulés avec distinction explicite clés privées/publiques + note normative FIPS/PKI - PD-7-tests.md §2.1 : Invariants alignés sur la nouvelle formulation - PD-7-tests.md TC-NOM-04 : Clarification que seule la clé publique est utilisée hors HSM

Conformément aux standards FIPS 140-2, PKCS#11 et NF Z42-013, la non-exportabilité concerne exclusivement les clés privées. L'export des clés publiques est nécessaire à la vérification tierce des signatures.

Point 2 ✅ RÉSOLU Type : Incoherence Spec<->Tests Reference : PD-7-specification.md §9 ; PD-7-tests.md §2.2 (CA-01..CA-08), TC-NOM-03, TC-LOC-01 Description : Les tests reposent sur des criteres d'acceptation CA-01..CA-08 qui ne sont pas definis ni references dans la specification (la liste §9 est non numerotee et n'inclut pas explicitement CA-01 FIPS L3 ni CA-08 localisation EU). Impact : Base contractuelle d'acceptation ambiguë ; risque de divergence entre attentes d'audit et texte contractuel. Gravite : Majeur → Mineur (après correction)

Résolution appliquée : - PD-7-specification.md §9 : Critères d'acceptation normalisés en table CA-01..CA-08 avec traçabilité vers les exigences (R-36-xx, RNF-36-xx)

La chaîne de traçabilité contractuelle est désormais complète : Exigence → Critère d'acceptation → Test.

Point 3 ✅ RÉSOLU Type : Ambiguite Reference : PD-7-specification.md §5 (RNF-36-01) ; PD-7-tests.md TC-PERF-01 Description : La latence P99 < 50 ms n'indique ni l'operation cible, ni le point de mesure, ni le contexte reseau/environnement ; le test suppose une operation (signature) et un banc de test non definis par la specification. Impact : Resultats de performance non comparables et acceptation contestable. Gravite : Majeur → Mineur (après correction)

Résolution appliquée : - PD-7-specification.md §5.1 : Conditions de mesure de latence normalisées (opération cible: signature RSA-4096/SHA-256, point de mesure: appel C_Sign → réception, contexte: OVH→VPN→AWS, charge nominale, P99 sur N≥1000)

Point 4 ✅ RÉSOLU Type : Non testable Reference : PD-7-specification.md §5 (RNF-36-02) Description : La disponibilite 99,95 % ne definit pas la fenetre de mesure, le SLI, ni le perimetre (service HSM seul vs bout-en-bout) et aucun scenario de test n'est specifie. Impact : Exigence non auditable ; risque de non-conformite non detectee. Gravite : Majeur → Mineur (après correction)

Résolution appliquée : - PD-7-specification.md §5.2 : Conditions de mesure de disponibilité normalisées (SLI: ratio opérations réussies/tentées, fenêtre: mois calendaire glissant, périmètre: cluster HSM PROD, exclusions: maintenance planifiée ≥48h)

Point 5 ✅ RÉSOLU Type : Risque secu/conformite Reference : PD-7-specification.md §5 (RNF-36-03) ; PD-7-tests.md TC-LOC-01, §9 (Observabilite) Description : "Localisation des donnees UE uniquement" ne precise pas le perimetre des donnees (cles, journaux, metriques, sauvegardes, traces CloudWatch/SIEM). Le test ne verifie que la region HSM. Impact : Risque de non-conformite RGPD/sovereainete si les donnees d'audit/monitoring sortent de l'UE sans detection. Gravite : Majeur → Mineur (après correction)

Résolution appliquée : - PD-7-specification.md §5.3 : Périmètre de localisation explicité (clés, journaux d'audit, métriques, sauvegardes → AWS eu-west-3 uniquement) + note RGPD

Point 6 ✅ RÉSOLU Type : Non testable Reference : PD-7-specification.md §8 Description : Rotation annuelle des cles maitres, conservation des cles expirees et absence de suppression retroactive des signatures ne sont associees a aucun critere observable ni scenario de test. Impact : Impossibilite d'auditer des exigences de cycle de vie critiques. Gravite : Majeur → Mineur (après correction)

Résolution appliquée : - PD-7-specification.md §8.1 : Exigences KL-01..KL-04 avec observables et preuves attendues - PD-7-specification.md §8.2 : Critères de vérification (événement déclencheur, état observable, artefact) - PD-7-tests.md §6bis : Scénarios TC-KL-01..TC-KL-04 (GIVEN/WHEN/THEN) - PD-7-tests.md §2 : Matrice de couverture mise à jour

Point 7 ✅ RÉSOLU Type : Ambiguite Reference : PD-7-specification.md §7.1 (INV-04) ; PD-7-tests.md TC-NOM-03, §5 (INV-04) Description : "Aucune cle utilisateur finale dans le HSM" ne definit pas ce qui constitue une cle utilisateur finale ni la taxonomie d'objets attendus ; le test se fonde sur un inventaire et des "types attendus" non specifies. Impact : Controle d'audit subjectif et contestable. Gravite : Majeur → Mineur (après correction)

Résolution appliquée : - PD-7-specification.md §7.1.1 : Taxonomie normative des objets HSM (définition "clé utilisateur finale", objets autorisés avec patterns de labels, objets interdits) - PD-7-tests.md §2.1 : INV-04 complété avec référence aux patterns autorisés - PD-7-tests.md §5 : Table des invariants mise à jour avec critères objectifs

Patterns autorisés : pv-master-sign-*, pv-master-wrap-*, pv-tsa-*, pv-rotation-*, pv-*-expired-YYYY

Point 8 ✅ RÉSOLU Type : Incoherence Spec<->Tests Reference : PD-7-tests.md TC-ERR-03 ; PD-7-specification.md §4 (R-36-05), §9 (critere 5) Description : Le test exige l'absence de "double-ecriture non controlee" et de "corruption d'audit" lors d'un failover, alors que la specification ne definit aucune garantie de coherence/transactionnalite du backend ni des journaux. Impact : Le test introduit des exigences non contractuelles et potentiellement inapplicables. Gravite : Majeur → Mineur (après correction)

Résolution appliquée : - PD-7-tests.md TC-ERR-03 : Aligné sur le périmètre strict de la PD-7 (HSM/infra) - Suppression des garanties applicatives hors périmètre (double-écriture, corruption d'audit) - Conservation des critères vérifiables : continuité crypto (CA-06), SLI disponibilité (RNF-36-02), visibilité monitoring (CA-07) - Ajout d'une note explicite délimitant le périmètre PD-7 vs backend

Point 9 ✅ RÉSOLU Type : Non testable Reference : PD-7-tests.md §8 (TC-NEG-02) Description : Le resultat attendu admet deux issues ("refus" ou "accepte mais trace") conditionnees a une politique d'acces non definie dans la specification. Impact : Test non deterministe ; impossibilite d'etablir un verdict contractuel unique. Gravite : Majeur → Mineur (après correction)

Résolution appliquée : - PD-7-tests.md §8 : TC-NEG-02 reformulé avec un scénario déterministe - Nouveau scénario : tentative de signature avec credentials invalides - Résultat unique attendu : refus (erreur PKCS#11 CKR_USER_NOT_LOGGED_IN) - Observable : audit de la tentative échouée (INV-03)

Point 10 ✅ RÉSOLU Type : Ambiguite Reference : PD-7-specification.md §7.1 (INV-03) ; PD-7-tests.md §9 (Journal d'audit) Description : "Toute operation cryptographique est journalisee" ne precise pas les evenements minimum, la granularite, la retention, ni les garanties d'integrite ; les tests supposent une journalisation exploitable/correlable sans criteres. Impact : Auditabilite incertaine et interpretations divergentes. Gravite : Majeur → Mineur (après correction)

Résolution appliquée : - PD-7-specification.md §7.1.2 : Nouvelle section détaillant les exigences de journalisation INV-03 - Événements minimum (session, auth, génération, signature, export, suppression) - Granularité : par opération PKCS#11 - Rétention : 5 ans minimum (NF Z42-013) - Garanties : intégrité, horodatage UTC, corrélation par session_id - PD-7-tests.md §9 : Observabilité alignée avec les nouvelles exigences

Point 11 ✅ RÉSOLU Type : Ambiguite Reference : PD-7-specification.md §7.2 ; PD-7-tests.md TC-ERR-04 Description : La separation des roles n'est pas traduite en regles d'acces ou en correspondance explicite avec les identites PKCS#11 ; le test presume qu'un "Infra Admin" ne peut pas executer d'operations PKCS#11. Impact : Controle d'acces non verifiable et risque de litige sur la conformite. Gravite : Majeur → Mineur (après correction)

Résolution appliquée : - PD-7-specification.md §7.2.1 : Nouvelle section avec correspondance rôles ↔ identités PKCS#11 - Table de correspondance (Crypto Officer → CU admin, Crypto User → CU, Backend → service account, Infra Admin → aucune identité) - Règles d'accès normatives (ACC-01 à ACC-04) - Critère d'audit : inventaire des identités PKCS#11 corrélable aux rôles - PD-7-tests.md TC-ERR-04 : Aligné sur ACC-01 et ACC-04 avec observables précis (codes erreur PKCS#11)