HSM PKCS
Portail > Mise en œuvre et exploitation
Un HSM (Hardware Security Module) protège les clés privées des autorités : la clé est générée dans le matériel, ne sort jamais en clair, et toutes les signatures s'y déroulent. C'est le socle de confiance d'une PKI sérieuse.
Pourquoi un HSM
- La sécurité de toute la chaîne dépend du secret de la clé de CA.
- Un HSM rend la clé non exportable et journalise son usage.
- Il accélère et isole les opérations cryptographiques.
- Il répond aux exigences de conformité (certifications FIPS 140-2/3, Critères Communs).
PKCS#11 : l'interface standard
PKCS#11 (Cryptoki) est l'API standard d'accès aux jetons cryptographiques (HSM, cartes à puce). Concepts :
| Notion | Description |
|---|---|
| Slot / Token | Emplacement logique ; le token contient les objets cryptographiques. |
| Objet | Clé, certificat… avec des attributs (CKA_*). |
| CKA_EXTRACTABLE / CKA_SENSITIVE | Contrôlent si une clé peut sortir. Pour une CA : non extractible, sensible. |
| Mécanisme | Algorithme supporté (RSA-PKCS, ECDSA, SHA-256…). |
Le module PKCS#11 du fournisseur (bibliothèque .so) est chargé par l'application (CA, Vault, openssl via engine/provider).
# Lister les objets d'un token via le module PKCS#11 du fournisseur pkcs11-tool --module /usr/lib/libcs_pkcs11_R3.so --list-objects --login
KMIP : gestion du cycle de vie des clés
KMIP (Key Management Interoperability Protocol) est un protocole standard pour gérer les clés (création, distribution, rotation, destruction) entre clients et un gestionnaire/HSM, là où PKCS#11 sert surtout à utiliser les clés. Les deux sont complémentaires.
Intégration avec les logiciels de PKI
- Vault : managed keys PKCS#11 — la clé de CA reste dans le HSM (Vault PKI).
- EJBCA / Dogtag : CA d'entreprise s'appuyant sur PKCS#11 pour les clés de CA.
- openssl : via un provider/engine PKCS#11 pour signer avec une clé en HSM.
- SoftHSM : implémentation logicielle de PKCS#11, pratique pour tester une intégration avant de cibler le HSM réel.
Cas Utimaco
Les HSM Utimaco (gamme CryptoServer / SecurityServer) exposent une bibliothèque PKCS#11 et des interfaces de gestion ; ils peuvent abriter les clés racine et intermédiaire de la PKI, piloter les ICA, et s'intégrer aux CA logicielles et à Vault. La racine reste typiquement sur un HSM dédié, hors ligne (Autorités de certification).
Bonnes pratiques
- Clés de CA : non extractibles, usage journalisé, sauvegarde par mécanisme HSM (clé de transport, partage de secret), jamais en clair.
- Tester l'intégration avec SoftHSM avant le matériel.
- Documenter slots, labels, mécanismes utilisés et la procédure de rotation.
- Cérémonie de clé formalisée pour la racine (voir l'axe gouvernance).
Points clés à retenir
- Le HSM rend la clé de CA non exportable et signe en interne.
- PKCS#11 = utiliser les clés (interface standard) ; KMIP = gérer leur cycle de vie.
- Intégration via managed keys (Vault), PKCS#11 (EJBCA, openssl) ; SoftHSM pour les tests.
- Utimaco peut héberger racine/intermédiaires et piloter les ICA.