HSM PKCS

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche

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.

Voir aussi