PD-7 — HSM FIPS 140-2 Level 3 pour protection des clés cryptographiques¶
ID : PD-7
Epic : PD-193 — INFRA
Statut : Draft
Version : 1.0
Auteur : ProbatioVault
Audience : Architectes sécurité, RSSI, Infra, Audit externe
Références normatives : NF Z42-013, ISO 14641, FIPS 140-2, PKCS#11, RFC 3161
1. Objectif¶
Définir l’architecture, les exigences et les critères d’acceptation relatifs à l’utilisation d’un HSM certifié FIPS 140-2 Level 3 pour la protection des clés cryptographiques maîtres de ProbatioVault, utilisées dans les opérations de :
- signature probatoire,
- chiffrement et enveloppement de clés,
- horodatage (RFC 3161),
- journalisation probatoire append-only,
conformément aux exigences des normes NF Z42-013 et ISO 14641.
2. Contexte et justification¶
2.1 Contexte général¶
ProbatioVault repose sur un modèle zero-knowledge, dans lequel aucune clé cryptographique sensible ne doit être accessible ou exportable depuis les couches applicatives ou infrastructurelles classiques.
Les clés suivantes sont considérées comme critiques :
- clés de signature probatoire (journaux, racines de Merkle),
- clés maîtres d’enveloppage (K_master),
- clés d’horodatage et d’authentification HSM,
- clés de rotation et de délégation cryptographique (PRE, autorisations).
La compromission de ces clés remettrait en cause : - l’intégrité probatoire, - la conformité réglementaire, - la recevabilité juridique des preuves.
2.2 Problématique¶
Les solutions logicielles (KMS non matériels, secrets chiffrés applicativement) ne fournissent pas de garanties suffisantes contre :
- l’extraction de clés par un administrateur privilégié,
- la compromission de l’hyperviseur ou du noyau système,
- l’attaque post-mortem (snapshot, dump mémoire),
- la contestation juridique de la chaîne de confiance.
2.3 Principe retenu¶
L’usage d’un HSM matériel certifié FIPS 140-2 Level 3 minimum est requis afin de garantir :
- l’inviolabilité matérielle des clés,
- la non-exportabilité cryptographique,
- la séparation stricte des rôles,
- la traçabilité auditable des opérations cryptographiques.
3. Périmètre¶
3.1 Inclus¶
- Génération, stockage et usage des clés maîtres ProbatioVault
- Signature cryptographique probatoire
- Intégration applicative via PKCS#11
- Haute disponibilité en environnement PROD
- Interconnexion sécurisée OVH ↔ HSM
3.2 Exclus¶
- Gestion des clés utilisateurs finales (client-side)
- Chiffrement/déchiffrement des documents (effectué côté client)
- KMS applicatifs non matériels
4. Exigences fonctionnelles¶
| ID | Exigence | Priorité |
|---|---|---|
| R-36-01 | Le HSM DOIT être certifié FIPS 140-2 Level 3 minimum | MUST |
| R-36-02 | Le HSM DOIT être accessible depuis l’infrastructure OVH via VPN IPSec privé | MUST |
| R-36-03 | Le HSM DOIT supporter PKCS#11 pour l’intégration applicative | MUST |
| R-36-04 | Le HSM DOIT être déployé exclusivement en région EU | MUST |
| R-36-05 | Le HSM en PROD DOIT être en haute disponibilité (≥ 2 instances) | MUST |
| R-36-06 | Les environnements DEV/TEST PEUVENT utiliser un HSM on-demand | SHOULD |
5. Exigences non-fonctionnelles¶
| ID | Exigence | Cible | Conditions de mesure |
|---|---|---|---|
| RNF-36-01 | Latence PKCS#11 (P99) | < 50 ms | Voir §5.1 |
| RNF-36-02 | Disponibilité PROD | 99,95 % | Voir §5.2 |
| RNF-36-03 | Localisation des données | UE uniquement | Voir §5.3 |
5.1 Conditions de mesure de la latence (RNF-36-01)¶
| Paramètre | Valeur de référence |
|---|---|
| Opération cible | Signature RSA-4096 / SHA-256 via PKCS#11 (C_Sign) |
| Point de mesure | Temps écoulé entre l'appel C_Sign et la réception de la signature côté backend applicatif |
| Contexte réseau | Backend OVH (Paris) → VPN IPSec → AWS CloudHSM (eu-west-3 Paris) |
| Environnement | PROD ou environnement représentatif validé (même topologie réseau) |
| Charge | Conditions nominales (< 100 opérations/seconde) |
| Métrique | Percentile 99 sur un échantillon de N ≥ 1000 opérations |
Reproductibilité : Les mesures doivent être effectuées dans des conditions stables (pas de failover en cours, VPN établi, charge nominale). Les résultats sont horodatés et exportables pour audit.
5.2 Conditions de mesure de la disponibilité (RNF-36-02)¶
| Paramètre | Valeur de référence |
|---|---|
| SLI (Service Level Indicator) | Ratio opérations PKCS#11 réussies / opérations tentées |
| Fenêtre de mesure | Mois calendaire glissant |
| Périmètre | Cluster HSM PROD (2 instances minimum) |
| Exclusions | Maintenance planifiée annoncée ≥ 48h à l'avance |
5.3 Périmètre de localisation des données (RNF-36-03)¶
| Donnée | Localisation autorisée |
|---|---|
| Clés cryptographiques (privées et publiques) | HSM AWS eu-west-3 (Paris) uniquement |
| Journaux d'audit HSM | AWS eu-west-3 (CloudWatch Logs) |
| Métriques de supervision | AWS eu-west-3 (CloudWatch Metrics) |
| Sauvegardes HSM | AWS eu-west-3 (même région) |
Note RGPD : Aucune donnée cryptographique ou d'audit ne doit transiter ou être stockée hors de l'UE. Les accès administratifs depuis l'UE sont requis.
5bis. Diagrammes¶
5bis.1 Diagramme d'états — Cycle de vie d'une clé HSM¶
Ce diagramme représente les états et transitions d'une clé maître ProbatioVault au sein du HSM, conformément aux exigences KL-01 à KL-04 (§8) et aux invariants INV-01 à INV-04 (§7.1).
stateDiagram-v2
[*] --> Generation : C_GenerateKeyPair / C_GenerateKey
Generation --> Active : CKA_LOCAL=TRUE, CKA_TOKEN=TRUE [KL-01]
note right of Generation
Label assigné : pv-master-sign-*,
pv-master-wrap-*, pv-tsa-*,
pv-rotation-*
INV-02 : CKA_EXTRACTABLE=FALSE
end note
Active --> Active : C_Sign, C_Verify, C_WrapKey (usage nominal)
Active --> RotationEnCours : Date anniversaire création >= 365j [KL-02]
RotationEnCours --> Expired : Nouvelle clé active créée,\nlabel renommé pv-*-expired-YYYY [KL-03]
note right of RotationEnCours
Génération nouvelle clé en parallèle.
Ancienne clé reste utilisable
jusqu'à bascule complète.
end note
Expired --> Expired : C_Verify uniquement (vérification historique) [KL-03]
note right of Expired
C_Sign interdit.
C_DestroyObject interdit [KL-04].
Conservation indéfinie pour
valeur probatoire.
end note
Active --> TentativeSuppression : C_DestroyObject
TentativeSuppression --> Active : Opération refusée [KL-04]\n(journalisée INV-03)
Expired --> TentativeSuppressionArchive : C_DestroyObject
TentativeSuppressionArchive --> Expired : Opération refusée [KL-04]\n(journalisée INV-03)
Active --> TentativeExport : C_WrapKey (clé privée) / C_GetAttributeValue (sensible)
TentativeExport --> Active : Opération refusée [INV-01, INV-02]\n(journalisée INV-03)
state "État terminal" as Terminal
note right of Terminal
Aucun état terminal :
les clés ne sont jamais détruites (KL-04).
Les clés expirées restent dans le HSM
pour vérification historique indéfinie.
end note 5bis.2 Diagramme d'états — Cluster HSM (haute disponibilité)¶
stateDiagram-v2
[*] --> Initialisation : Déploiement CloudHSM
Initialisation --> Nominal : 2 instances UP [R-36-05]
note right of Initialisation
C_InitToken par Crypto Officer.
VPN IPSec OVH ↔ AWS établi [R-36-02].
end note
Nominal --> Nominal : Opérations PKCS#11 normales\n(latence P99 < 50ms) [RNF-36-01]
Nominal --> Dégradé : Perte d'une instance HSM
Nominal --> MaintenancePlanifiée : Maintenance annoncée >= 48h [RNF-36-02]
Dégradé --> Nominal : Instance restaurée (failover retour) [CA-06]
Dégradé --> Dégradé : Opérations PKCS#11 via instance restante
note right of Dégradé
Alerte CloudWatch [CA-07].
SLI dégradé mais service maintenu.
Bascule automatique (failover) [CA-06].
end note
MaintenancePlanifiée --> Nominal : Fin de maintenance
note right of MaintenancePlanifiée
Exclu du calcul SLI [RNF-36-02].
Annoncé >= 48h à l'avance.
end note
Dégradé --> Indisponible : Perte de toutes les instances
Indisponible --> Nominal : Restauration complète du cluster
note right of Indisponible
Incident critique.
Aucune opération PKCS#11 possible.
SLI impacté (objectif 99,95%) [RNF-36-02].
end note 5bis.3 Diagramme de séquence — Génération de clé maître¶
sequenceDiagram
participant CO as Crypto Officer
participant PKCS as Interface PKCS#11
participant HSM as CloudHSM (eu-west-3)
participant LOG as CloudWatch Logs
CO->>PKCS: C_OpenSession(slot, flags)
PKCS->>HSM: Ouverture session
HSM-->>LOG: Journal: C_OpenSession (timestamp, slot, résultat)
HSM-->>PKCS: Session handle
CO->>PKCS: C_Login(session, CU, PIN)
PKCS->>HSM: Authentification Crypto Officer
HSM-->>LOG: Journal: C_Login (timestamp, user_type, résultat)
HSM-->>PKCS: OK
CO->>PKCS: C_GenerateKeyPair(RSA-4096,<br/>CKA_LABEL="pv-master-sign-2026",<br/>CKA_EXTRACTABLE=FALSE,<br/>CKA_TOKEN=TRUE)
PKCS->>HSM: Génération dans le périmètre matériel
Note over HSM: Clé privée JAMAIS<br/>exportable [INV-01, INV-02].<br/>CKA_LOCAL=TRUE [KL-01].
HSM-->>LOG: Journal: C_GenerateKeyPair (timestamp, handle, label, résultat)
HSM-->>PKCS: Key handles (privée + publique)
PKCS-->>CO: Handles retournés
CO->>PKCS: C_GetAttributeValue(pubKey, CKA_VALUE)
PKCS->>HSM: Export clé publique uniquement
Note over HSM: Clé publique exportable<br/>pour vérification tierce [INV-01]
HSM-->>LOG: Journal: C_GetAttributeValue (timestamp, handle, résultat)
HSM-->>PKCS: Clé publique (bytes)
CO->>PKCS: C_Logout(session)
HSM-->>LOG: Journal: C_Logout (timestamp, résultat)
CO->>PKCS: C_CloseSession(session)
HSM-->>LOG: Journal: C_CloseSession (timestamp, résultat) 5bis.4 Diagramme de séquence — Signature probatoire (flux nominal)¶
sequenceDiagram
participant BE as Backend ProbatioVault<br/>(OVH Paris)
participant VPN as Tunnel VPN IPSec<br/>(AES-256, IKEv1)
participant PKCS as Interface PKCS#11
participant HSM as CloudHSM (eu-west-3)
participant LOG as CloudWatch Logs
BE->>VPN: Requête PKCS#11 (chiffrée)
VPN->>PKCS: C_OpenSession(slot, flags)
PKCS->>HSM: Ouverture session
HSM-->>LOG: Journal: C_OpenSession
HSM-->>PKCS: Session handle
PKCS->>HSM: C_Login(session, CU_service_account, PIN)
Note over HSM: Service account dédié [ACC-02].<br/>Credential distinct d'AWS IAM [ACC-03].
HSM-->>LOG: Journal: C_Login (résultat)
HSM-->>PKCS: OK
BE->>PKCS: C_SignInit(session, CKM_SHA256_RSA_PKCS, keyHandle)
PKCS->>HSM: Initialisation signature
HSM-->>LOG: Journal: C_SignInit (key_handle, mécanisme)
BE->>PKCS: C_Sign(session, merkleRoot)
PKCS->>HSM: Signature dans le périmètre matériel
Note over HSM: Clé privée reste dans le HSM [INV-01].<br/>Latence P99 < 50ms [RNF-36-01].
HSM-->>LOG: Journal: C_Sign (timestamp, key_handle, résultat)
HSM-->>PKCS: Signature (bytes)
PKCS-->>VPN: Signature retournée
VPN-->>BE: Signature (chiffrée via VPN)
Note over BE: Vérification possible avec<br/>la clé publique exportée [INV-01]
BE->>PKCS: C_Logout + C_CloseSession
HSM-->>LOG: Journal: C_Logout, C_CloseSession 5bis.5 Diagramme de séquence — Rotation annuelle de clé maître¶
sequenceDiagram
participant CO as Crypto Officer
participant PKCS as Interface PKCS#11
participant HSM as CloudHSM (eu-west-3)
participant LOG as CloudWatch Logs
participant INV as Inventaire HSM<br/>(audit trimestriel)
Note over CO,INV: Déclencheur : date anniversaire >= 365j [KL-02]
CO->>PKCS: C_OpenSession + C_Login (Crypto Officer)
HSM-->>LOG: Journal: session + login
rect rgb(230, 245, 230)
Note over CO,HSM: Phase 1 — Génération nouvelle clé
CO->>PKCS: C_GenerateKeyPair(RSA-4096,<br/>CKA_LABEL="pv-master-sign-2027",<br/>CKA_EXTRACTABLE=FALSE)
PKCS->>HSM: Génération nouvelle clé maître
HSM-->>LOG: Journal: C_GenerateKeyPair (nouveau label, résultat)
HSM-->>PKCS: Nouveaux handles
end
rect rgb(255, 245, 230)
Note over CO,HSM: Phase 2 — Archivage ancienne clé
CO->>PKCS: C_SetAttributeValue(ancienHandle,<br/>CKA_LABEL="pv-master-sign-expired-2026")
Note over HSM: Ancienne clé renommée [KL-03].<br/>C_Sign désactivé sur cette clé.<br/>C_Verify toujours autorisé.
HSM-->>LOG: Journal: modification label (résultat)
end
rect rgb(240, 240, 255)
Note over CO,INV: Phase 3 — Vérification et audit
CO->>PKCS: C_FindObjects (label "pv-*")
PKCS->>HSM: Inventaire complet
HSM-->>PKCS: Liste des objets (actifs + expirés)
CO->>INV: Export inventaire horodaté
Note over INV: Conservation trimestrielle [§8.2].<br/>Clés expirées présentes [KL-03].<br/>Aucune destruction [KL-04].
end
CO->>PKCS: C_Logout + C_CloseSession
HSM-->>LOG: Journal: logout + close 6. Solution retenue¶
6.1 Choix¶
AWS CloudHSM — Région eu-west-3 (Paris)
Justifications :
- Certification FIPS 140-2 Level 3
- Support natif PKCS#11
- Déploiement en VPC privé
- Haute disponibilité multi-HSM
- Localisation France (conformité RGPD)
6.2 Architecture cible¶
OVH (Paris) - Backend ProbatioVault - Tunnel VPN IPSec (AES-256, IKEv1)
AWS (eu-west-3 – Paris) - VPC privé HSM - Subnet privé dédié - 2 instances CloudHSM en haute disponibilité
Aucun accès Internet direct n’est autorisé vers les HSM.
7. Modèle de sécurité¶
7.1 Invariants de sécurité¶
| ID | Invariant | Description |
|---|---|---|
| INV-01 | Non-exposition des clés privées | Les clés privées générées ou stockées dans le HSM ne quittent jamais le périmètre du HSM. Les clés publiques associées PEUVENT être exportées pour permettre la vérification tierce des signatures (conformément aux standards PKI et FIPS 140-2). |
| INV-02 | Non-exportabilité des clés privées | Aucune exportation de clé privée n'est possible (en clair ou enveloppée) hors du HSM. |
| INV-03 | Journalisation | Toute opération cryptographique réalisée via le HSM est journalisée. |
| INV-04 | Séparation des clés | Aucune clé utilisateur finale (client-side) n'est stockée dans le HSM ; seules les clés maîtres ProbatioVault y résident (voir §7.1.1). |
7.1.1 Taxonomie des objets HSM (INV-04)¶
Définition — Clé utilisateur finale : Toute clé cryptographique générée, détenue ou contrôlée par un utilisateur final (personne physique ou morale cliente de ProbatioVault), typiquement générée côté client ou dans un contexte applicatif hors infrastructure ProbatioVault.
Objets autorisés dans le HSM :
| Catégorie | Label pattern | Type PKCS#11 | Usage autorisé |
|---|---|---|---|
| Clé maître de signature probatoire | pv-master-sign-* | CKK_RSA (4096) | Signature des racines Merkle, journaux |
| Clé maître d'enveloppement | pv-master-wrap-* | CKK_AES (256) | Enveloppement de clés dérivées |
| Clé d'horodatage (TSA) | pv-tsa-* | CKK_RSA (4096) | Signature RFC 3161 |
| Clé de rotation/délégation | pv-rotation-* | CKK_RSA / CKK_AES | Renouvellement cryptographique |
| Clé expirée (archivée) | pv-*-expired-YYYY | Tous types | Vérification historique uniquement |
Objets interdits dans le HSM :
| Catégorie | Exemple | Raison |
|---|---|---|
| Clés utilisateur finale | Clé de chiffrement document client | Gérée côté client (zero-knowledge) |
| Clés éphémères applicatives | Session keys, nonces | Non persistantes, gérées en RAM applicative |
| Clés tierces | Clés partenaires, intégrations | Hors périmètre ProbatioVault |
Critère d'audit : L'inventaire HSM DOIT contenir exclusivement des objets dont le label correspond aux patterns autorisés. Tout objet non conforme constitue une non-conformité INV-04.
Note normative : Conformément aux standards FIPS 140-2, PKCS#11 et aux exigences de valeur probatoire (NF Z42-013, eIDAS), la distinction entre clés privées (non-exportables) et clés publiques (exportables) est fondamentale. La vérifiabilité indépendante des signatures requiert l'accès aux clés publiques hors HSM.
7.1.2 Exigences de journalisation (INV-03)¶
Événements minimum à journaliser :
| Catégorie | Opération PKCS#11 | Données journalisées |
|---|---|---|
| Session | C_OpenSession, C_CloseSession | Timestamp, slot, user type, résultat |
| Authentification | C_Login, C_Logout | Timestamp, user type, résultat (succès/échec) |
| Génération de clé | C_GenerateKeyPair, C_GenerateKey | Timestamp, key handle, type, label, résultat |
| Signature | C_Sign, C_SignInit | Timestamp, key handle, mécanisme, résultat |
| Tentative d'export | C_WrapKey, C_GetAttributeValue (sensible) | Timestamp, key handle, résultat (refus attendu) |
| Suppression | C_DestroyObject | Timestamp, object handle, résultat |
Granularité : Journalisation par opération PKCS#11 individuelle.
Rétention :
| Paramètre | Valeur |
|---|---|
| Durée de conservation | 5 ans minimum (conformité NF Z42-013) |
| Stockage | AWS CloudWatch Logs (eu-west-3) |
| Export | Export SIEM possible pour archivage long terme |
Garanties :
| Garantie | Mécanisme |
|---|---|
| Intégrité | Logs CloudWatch immuables (pas de suppression sans trace) |
| Horodatage | Timestamp UTC synchronisé (NTP) |
| Corrélation | Identifiant de session permettant le chaînage des événements |
| Non-répudiation | Logs signés par AWS (attestation fournisseur) |
Critère d'audit : Toute opération PKCS#11 listée ci-dessus DOIT être retrouvable dans les logs dans un délai de 24h. L'absence d'événement pour une opération réalisée constitue une non-conformité INV-03.
7.2 Séparation des rôles¶
| Rôle ProbatioVault | Responsabilités |
|---|---|
| Crypto Officer | Initialisation HSM, politiques de sécurité |
| Crypto User | Opérations PKCS#11 cryptographiques |
| Infra Admin | Réseau, VPN, supervision (pas d'accès PKCS#11) |
| Backend applicatif | Appels PKCS#11, aucune clé accessible |
7.2.1 Correspondance rôles – identités PKCS#11¶
| Rôle ProbatioVault | Identité PKCS#11 (CloudHSM) | Opérations autorisées |
|---|---|---|
| Crypto Officer | CU (Crypto User) avec droits admin | C_InitToken, C_InitPIN, C_CreateObject (attributs), gestion politique |
| Crypto User | CU (Crypto User) | C_Sign, C_Verify, C_GenerateKeyPair, C_OpenSession, C_Login |
| Backend applicatif | CU (Crypto User) via service account | C_Sign, C_Verify, C_OpenSession (lecture seule sur clés) |
| Infra Admin | Aucune identité PKCS#11 | Aucune opération PKCS#11 ; accès limité à AWS Console (monitoring) |
Règles d'accès :
| Règle | Description | Vérification |
|---|---|---|
| ACC-01 | Infra Admin ne dispose d'aucun credential PKCS#11 | Inventaire des users CloudHSM |
| ACC-02 | Backend applicatif utilise un service account dédié (non personnel) | Audit des sessions PKCS#11 |
| ACC-03 | Les credentials PKCS#11 sont distincts des credentials AWS IAM | Configuration CloudHSM |
| ACC-04 | Toute tentative d'opération PKCS#11 sans credential valide échoue | TC-ERR-04, TC-NEG-02 |
Critère d'audit : Un inventaire des identités PKCS#11 (users CloudHSM) DOIT être maintenu et corrélable aux rôles ProbatioVault. L'existence d'un credential PKCS#11 pour un Infra Admin constitue une non-conformité.
8. Cycle de vie des clés¶
8.1 Exigences de cycle de vie¶
| ID | Exigence | Observable | Preuve attendue |
|---|---|---|---|
| KL-01 | Génération des clés exclusivement au sein du HSM | Attribut PKCS#11 CKA_LOCAL=TRUE sur toutes les clés | Inventaire HSM avec attributs exportés |
| KL-02 | Rotation annuelle des clés maîtres | Métadonnée de création (date) visible dans l'inventaire HSM | Clés avec creation_date < 365 jours en activité |
| KL-03 | Conservation des clés expirées pour vérification historique | Clés marquées CKA_LABEL avec suffixe -expired-YYYY | Inventaire HSM contenant les clés archivées |
| KL-04 | Aucune suppression rétroactive des signatures existantes | Absence d'opération C_DestroyObject sur clés ayant signé | Logs d'audit HSM sans événement de destruction |
8.2 Critères de vérification¶
| ID | Événement déclencheur | État observable | Artefact de preuve |
|---|---|---|---|
| KL-01 | Génération d'une nouvelle clé | CKA_LOCAL=TRUE, CKA_TOKEN=TRUE | Export attributs PKCS#11 |
| KL-02 | Date anniversaire de création | Nouvelle clé créée, ancienne marquée expirée | Log de rotation + inventaire |
| KL-03 | Expiration d'une clé maître | Clé présente avec label -expired-YYYY | Inventaire HSM |
| KL-04 | Tentative de suppression | Opération bloquée ou refusée | Log d'audit avec code erreur |
Audit : Un inventaire HSM horodaté DOIT être exporté trimestriellement et conservé dans le dossier d'audit. Les événements de rotation sont journalisés dans CloudWatch Logs.
9. Critères d'acceptation¶
Les conditions suivantes DOIVENT être validées pour l'acceptation contractuelle de la PD-7 :
| ID | Critère | Exigence(s) liée(s) | Priorité |
|---|---|---|---|
| CA-01 | Le HSM est certifié FIPS 140-2 Level 3 minimum (certificat NIST vérifiable) | R-36-01 | MUST |
| CA-02 | Connexion PKCS#11 fonctionnelle depuis le backend OVH via VPN IPSec | R-36-02, R-36-03 | MUST |
| CA-03 | Génération d'une paire de clés RSA 4096 réussie dans le HSM | R-36-03 | MUST |
| CA-04 | Signature SHA-256 réalisée par le HSM et vérifiable avec la clé publique | R-36-03 | MUST |
| CA-05 | Temps de réponse PKCS#11 inférieur à 50 ms en P99 (opération signature) | RNF-36-01 | MUST |
| CA-06 | Bascule automatique (failover) en cas de perte d'un HSM en PROD | R-36-05, RNF-36-02 | MUST |
| CA-07 | Supervision CloudWatch opérationnelle (métriques, alertes santé) | — | MUST |
| CA-08 | HSM déployé exclusivement en région EU (eu-west-3 ou région EU approuvée) | R-36-04, RNF-36-03 | MUST |
Traçabilité : Chaque critère d'acceptation est couvert par un ou plusieurs scénarios de test dans PD-7-tests.md (cf. matrice de couverture §2).
10. Contraintes¶
- Budget cible : ~3 500 € / mois
- DEV : HSM on-demand
- TEST : HSM 24/7
-
PROD : 2 HSM en haute disponibilité
-
Souveraineté :
- AWS Paris accepté temporairement
- Alternatives françaises à évaluer si exigence client : Thales DPoD, Atos Trustway
11. Traçabilité¶
| Élément | Référence |
|---|---|
| Epic | PD-193 |
| Norme | NF Z42-013 |
| Infrastructure | probatiovault-infra |
| Documentation | CLOUDHSM-DEV-DEPLOYMENT.md |
12. Risques et mesures de mitigation¶
| Risque | Mitigation |
|---|---|
| Dépendance fournisseur | Architecture remplaçable |
| Latence réseau | Batching et optimisation PKCS#11 |
| Exigence client souveraine | Étude HSM français prévue |
13. Conclusion¶
Cette spécification établit un socle de confiance matériel indispensable à la valeur probatoire de ProbatioVault. Le HSM constitue une ancre cryptographique forte, indépendante du backend applicatif et des opérateurs humains, garantissant l’intégrité, la conformité et la pérennité des preuves numériques.