Les services de chiffrement d’IBM : Key Protect, Cloud HSM 7.0 et Hyper Crypto Services
Après avoir exploré les offres de chiffrement d’AWS, Microsoft et Google, nous explorons le catalogue d’IBM. Le fournisseur propose trois services. Le premier repose sur une architecture multitenant, le deuxième sur des partitions virtuelles isolées sur des HSM maison mutualisés et le troisième sur des HSM monolocataires.
IBM Key Protect est un KMS basé sur le cloud afin de gérer les clés de chiffrement et leur cycle de vie, pour les services IBM Cloud, l’architecture de cloud distribué IBM Cloud Satellite et les applications développées par les clients de Big Blue.
IBM entend faire profiter à ses utilisateurs des « racines de confiance » basées sur des modules HSM (« Hardware Security Module ») FIPS 140-2 de niveau 3. Pour cela, il faut coupler l’API REST compatible avec un large ensemble de langages de programmation et le service de gestion d’accès IBM Cloud IAM. Avec l’API, il est possible d’associer des métadonnées clé-valeur pour identifier les clés (un nom, une description et une étiquette) qu’il faut utiliser avec prudence (ne pas désigner la fonction exacte de la clé, mais utiliser un référentiel maison semble une bonne pratique).
Qu’est-ce qu’IBM Key Protect ?
IBM Key Protect permet de gérer deux types de clés symétriques : les clés racines, équivalents des clés CMK qui protègent un trousseau et les clés standards. Là encore, il est possible d’importer ses propres clés. L’on peut chiffrer des enveloppes contenant la clé racine et la clé standard qui chiffrent les données en plus des fichiers eux-mêmes.
Toutes les clés d'IBM Key Protect sont générées à partir de l’algorithme AES-GCM 256. Key Protect repose sur une architecture multitenant régionale (au sens cloud du terme). Les ressources sont isolées dans un environnement d’exécution sécurisée partagé dans une région cloud multizone. Les différentes instances s’exécutent sur des clusters et des conteneurs partagés. IBM assure que les requêtes API sont exécutées dans un contexte de sécurité spécifique à chaque client et à leurs utilisateurs.
En 2020, les 20 premières clés étaient gratuites, puis les 1 000 suivantes coûtaient 0,75 dollar (0,63 euro) par clé par mois. Il fallait payer 0,60 dollar (0,51 euro) par mois par clé jusqu’à 9 000 clés et 0,50 dollar (0,42 euro) au-delà.
Depuis, IBM a changé son modèle tarifaire. Il facture 1,045 dollar par version de clé racine par mois (0,95 dollar par mois). Les cinq premières versions de clés sont gratuites. Une version de clé peut être une nouvelle clé générée ou une rotation de cette clé. Les clés DEK ne sont pas facturées.
Avec IBM Cloud Satellite, l’instance déportée d’IBM Key Protect est facturée 780 dollars par mois et par emplacement (un emplacement correspondant à un environnement de cloud privé ou de cloud public où un Satellite est déployé). Le client doit lui-même déployer deux HSM Thales pour déployer le KMS.
Avec Hyper Protect Crypto Services, IBM respecte le plus haut niveau de conformité FIPS 140-2
Hyper Protect Crypto Services est un service KMS dédié. Il est associé à un HSM Cloud certifié Common Criteria Part 3 EAL 4 et FIPS 140-2 niveau 4, le plus haut niveau de conformité aux exigences de sécurité d’une banque proposée par un fournisseur cloud (ce niveau ajoute une protection physique et électrique aux compromissions humaines ou environnementales). Il s’intègre à l’API IBM Key Protect for IBM Cloud, qui permet de générer et chiffrer les clés.
Avec l’approche KYOK (Keep Your Own Key), IBM assure que le client peut lui-même administrer les clés et que ses propres administrateurs n’ont pas accès aux précieux sésames. L’accès à distance est possible via l’API EP11 (PKSCS #11) et des infrastructures utilisant le framework gRPC. IBM utilise ses propres HSM de la gamme Crypto Express associés à la plateforme LinuxOne (les modèles IBM 4767 ou Crypto Express5S, 4768 ou Crypto Express6S, et 4 769 ou CryptoExpress 7S respectent les normes citées ci-dessus). Là encore, les partitions virtuelles sont isolées sur des conteneurs spécifiques. Chaque application ou service dispose de son magasin de clés dédié.
L’initialisation des instances peut se faire via le gestionnaire fourni dans le service ou avec IBM Cloud Trusted Key Entry (TKE). Le HSM permet de générer des clés standard et d’encapsulage AES-GCM 256 bits pour les clés racines 128, 192 ou 256 bits. De même pour les clés DEK. Il est possible d’importer des clés de même type. Ici, il n’est question de ne gérer que des clés symétriques. Par ailleurs, IBM précise que cette solution est conseillée pour protéger des bases de données ou des environnements VMware.
Unified Key Orchestrator : une gestion des clés de chiffrement multicloud
Hyper Protect Crypto Services peut aussi jouer le rôle d’une couche de gestion de clés multicloud. IBM a développé la fonction Unified Key Orchestrator. Ce control plane permet de gérer des magasins de clés internes, mais également ceux de Microsoft Azure (Azure Key Vault), GCP (Cloud KMS et Cloud HSM) et AWS (AWS KMS).
Dans ce cas-là, les clés sont générées par le HSM dédié sur IBM Cloud, puis envoyer vers les coffres des KMS des fournisseurs tiers via API.
Avec Unified Key Orchestrator, il est possible d’assigner des collections de clés à des groupes d’utilisateurs via un IAM.
Comme AWS avec son offre CloudHSM, il est recommandé d’allouer au minimum deux unités « Crypto » dans une même région cloud à des fins de haute disponibilité. Chaque unité de chiffrement opérationnelle (contenant les environnements KMS et HSM) et unité de reprise (backup) coûte 1533 dollars par mois (2,13 dollars par heure, 720 heures pour 30 jours). Il faut donc débourser 3066 dollars par mois pour exécuter Hyper Crypto Services en mode standard.
Si une organisation choisit d’utiliser Unified Key Orchestrator, c'est-à-dire de se connecter à un magasin de clés externe à IBM Cloud, ce prix grimpe à 6,25 dollars par heure. Les cinq premiers magasins de clés externes sont gratuits. Un magasin supplémentaire coûte environ 225 dollars par mois.
IBM Cloud Hardware Security Module, un HSM monolocataire
De son côté, IBM Cloud Hardware Security Module 7.0 est un service HSM dédié à un locataire unique, certifié FIPS 140-2 de niveau 3 qui peut être hébergé en Asie du Sud Est, aux États-Unis ou en Europe (disponible dans 60 centres de données IBM, dont ceux de Londres, Francfort, Amsterdam, Paris et Milan).
Pour proposer ce service, IBM se repose sur la gamme de HSM SafeNet Luna de Thales (ex Gemalto). C’est ce module qui permet chez IBM d’effectuer des signatures numériques, du chiffrement de base de données, d’appliquer des DRM, ou encore de protéger des transactions financières.
IBM Cloud HSM 7.0 permet de générer des clés asymétriques RSA 2048, 4 096 et 8 192 bits. Il est également possible d’accéder à des clés ECDSA P256, 384, 521 et BrainPool512r1.
Pour le chiffrement symétrique, le HSM en question supporte les clés AES128, 256, DES, et 3DES. Il supporte 10 000 opérations RSA et 20 000 pour le chiffrement ECC.
Une instance de Cloud HSM est facturée 1306,25 dollars par mois (1,97 dollar par heure). IBM continue de commercialiser son service Cloud HSM 6.0 au même prix. Celui-ci dispose d’une certification FIPS 140-2 de niveau 2.