Les services de chiffrement de Microsoft : Azure Key Vault
Comment chiffrer ses données et ses identifiants applicatifs quand on est client de Microsoft Azure ? Le géant du cloud a lancé en 2015 Azure Key Vault, un service dédié à ce type d’opérations. Voici ses fonctions, ses qualités et les défauts les plus visibles.
Nous poursuivons notre revue des services cloud de chiffrement proposés par les fournisseurs cloud. Ici, nous établissons le portrait de la gamme de produits Azure Key Vault.
Celle-ci est composée de trois produits : un système de gestion de clés de chiffrement logiciel, l’accès à un pool de modules matériels de sécurité (HSM) managés et un service monolocataire aux mains des organisations.
Qu’est-ce qu’Azure Key Vault ?
Le KMS Azure Key Vault a plusieurs fonctions : la gestion de secrets, des clés de chiffrement et des certificats SSL/TLS ainsi que la surveillance des opérations depuis Azure Monitor. La protection offerte peut être logicielle (RSA, EC) ou matérielle (RSA-HSM, EC-HSM). Les modules HSM de Microsoft sont certifiés FIPS 140-2 de niveau 2. Le fournisseur précise que ses modules de sécurité sont conçus par nCipher (cédé par Thales à Entrust DataCard en 2019). Dès lors, l’importation de clés BYOK (« Bring You Own Key ») avec ce HSM se fait via les outils nCipher.
Une deuxième méthode a été mise en place pour les utilisateurs de HSM Thales, Fortanix, Marvell et CryptoMathic. Elle permet d’importer des clés asymétriques RSA 2048, 3 072 et 4 096 octets. Les clés elles-mêmes correspondent à des objets JSON. Azure Key vault prend en charge les algorithmes EC-P256, EC-P256K, EC-P384, EC-521, RSA 2K, 3K, 4K, et AES 128 bits, 256 bits (plusieurs méthodes de chiffrement et de hashs y sont associées).
Une solution pensée à l’origine pour protéger les secrets applicatifs
Comme AWS, Microsoft assure que « Azure Key Vault a été conçu de façon que Microsoft ne puisse pas visualiser ni extraire vos données ». Le service est relié à Azure Active Directory, le service d’annuaire de Microsoft pour la gestion d’identité, Azure RBAC, et peut être connecté à Azure Policy, le système de gestion des politiques de conformités du fournisseur. Le service peut être appelé par diverses API pour protéger des données dans des applications conçues par les développeurs et des contenus hébergés. Azure Key Vault a également pour fonction de séparer les secrets des applications. Les méthodes d’intégration varient selon le type de services à protéger.
Azure Key Vault comprend un ensemble de ressources qu’un utilisateur peut appeler via Azure CLI et Azure Power Shell. Depuis cette interface, un développeur appelle les ressources, crée les coffres de clés, y ajoute des secrets et les intègre en périphérie de VM, de containers et de certains services. Il est possible et même recommandé de configurer des backups ainsi que d’activer les options de récupération (dont la suppression réversible jusqu’à 90 jours).
S’il est envisageable de gérer les accès aux différents coffres de clés, il n’est pas possible de compartimenter le contenu d’un coffre. En clair, une fois l’accès au coffre utilisé, l’utilisateur peut en consulter l’intégralité du contenu, selon Yannick Beot Architecte Cloud Azure Entreprise solution center, chez Exakis Nelite. « Ce n’est pas grave. Il suffit de multiplier les coffres Key Vault afin d’établir des périmètres d’accès plus limités, mais plus cohérents par rapport aux éléments à protéger », recommande-t-il.
Si Azure Key Vault permet avant tout de séparer des identifiants du code des applications, il est également possible de gérer le chiffrement du stockage Azure (disques, blobs, VMs et containers), du TDE d’Azure SQL, d’Azure Kubernetes Service, d’Azure Databricks et d’Azure Synapse avec des clés asymétriques. Microsoft gère lui-même le chiffrement des services Office 365, mais les clients peuvent s’occuper du chiffrement de leurs applications personnalisées.
Une organisation peut tout de même gérer des clés client BYOK pour certains services depuis Azure Key Vault : Exchange Online, SharePoint Online et OneDrive entreprise. La FAQ d’Azure indique qu’il est possible de gérer le chiffrement de données d’applications tierces dans son cloud, en local et même sur des « clouds tiers ». La documentation ne donne pas d’exemple, mais une vidéo publiée en 2016 par l’équipe de Microsoft France permet d’en expliquer les grands principes.
Azure Key Vault est intégré avec Azure Event Grid et divers services dont Azure Logic Apps, Azure Functions ou encore Webhooks. Cela permet d’automatiser les opérations de chiffrement après notification, via un système Pub/Sub quand « le statut d’un secret est sur le point d’expirer, a expiré ou lorsqu’une nouvelle version est disponible », précise la documentation du géant du cloud.
Microsoft propose également en option un mécanisme automatique de rotation des clés de chiffrement, moyennant un coût supplémentaire.
Les tarifs d’Azure Key Vault
Microsoft Azure Key Vault est disponible dans l’ensemble des régions cloud de Microsoft Azure. Ce service multitenant s’appuie sur un pool de modules de sécurité matériels (HSM), souvent communs à plusieurs régions cloud réparties en zones géographiques. La firme propose deux niveaux de service : standard et premium. Dans les deux cas, les opérations de chiffrement et d’édition de certificats sont facturées à 0,03 dollar pour 10 000 transactions. Les renouvellements de certificats sont facturés 3 dollars par demande. Chaque rotation de clé de compte stockage Azure coûte 1 dollar. Le chiffrement asymétrique RSA 2048 est affiché au même prix que les opérations de chiffrement symétrique, tandis que les opérations avec les clés RSA 3072, 4096 et ECC sont facturés 0,15 dollar pour 10 000 transactions.
Pour ce qui est du chiffrement matériel, il faut s’abonner à l’offre Premium. Les clés RSA 2048 coûtent 1 dollar par mois chacune, en plus des frais liés aux opérations (0,03 dollar pour 10 000 transactions). Pour les clés « avancées » (RSA 3072, 4 096 et ECC), il faut compter 5 dollars par clé par mois pour les 250 premières, 2,50 dollars par clé par mois jusqu’à 1 500 clés, 0,90 par clé par mois jusqu’à 4 000 clés et au-delà, 0,40 dollar par clé par mois. Il faut ajouter 0,15 dollar pour 10 000 transactions (appels de clés). Le support technique est disponible à partir de 29 dollars par mois et le SLA couvre 99,9 % du temps d’utilisation.
Azure Key Vault Managed HSM : des modules « monolocataires » managés par Azure
Le géant du cloud dispose également d’Azure Key Vault Managed HSM. Cette offre apporte des modules matériels dédiés monolocataires, managés par Azure et conformes à la norme FIPS 140-2 de niveau 3. Cela entraîne la création de nouvelles ressources nommées Managed HSM. Il est possible de migrer les coffres HSM déjà créés avec la version mutualisée d’Azure Key Vault. Attention, Managed HSM ne prend pas en charge les clés protégées par logiciel. À l’instar de ses concurrents, la firme de Redmond assure l’isolation des clusters HSM au sein du périmètre du client, auquel s’ajoute un RBAC pour la gestion des rôles. Pour le moment, Microsoft propose des intégrations afin de chiffrer les données au repos d’Azure Storage, Azure SQL et Azure Information Protection.
Il est également possible d’importer des clés KEK et des clés cibles (RSA 2 048, 3 072, 4 096 bits) d’un HSM sur site, toujours via Azure CLI et Azure Cloud Shell (les HSM locaux compatibles sont listés dans la documentation par fournisseur : nCipher, Thales, Fortanix, Marvell et Crypthomatic).
Là encore, Azure Monitor doit permettre d’auditer les logs émis par Managed HSM et il faut déployer au moins deux clusters placés dans deux zones de disponibilités différentes. Lancé le 15 septembre 2020 (officiellement annoncé le 22 septembre), le service est disponible dans pratiquement toutes les régions Azure en 2023. Les équipements utilisés par le fournisseur sont très populaires chez les cloudistes américains : les adaptateurs HSM Marvell LiquidSecurity.
Dedicated HSM : Microsoft laisse les manettes aux clients à prix d’or
En revanche, le géant du cloud propose une tarification différente. En 2023, ce tarif est affiché à 3,20 dollars de l’heure. Sachant qu’il convient de déployer deux instances minimum pour des besoins de redondance, pour 720 heures d’utilisation (soit 30 jours complets), cela porte à 4 608 dollars par mois.
Microsoft Azure dispose également d’une offre Dedicated HSM, un HSM monolocataire non managé reposant sur une appliance SafeNet Luna Network HSM 7 A790. Le client en a l’administration exclusive, selon le fournisseur.
Dedicated HSM est facturé 4,85 dollars de l’heure. Deux instances coûtent donc, 6 984 dollars par mois pour 720 heures d’utilisation.