About keys

Azure Key Vault provides two types of resources to store and manage cryptographic keys. Vaults support software-protected and HSM-protected (Hardware Security Module) keys. Managed HSMs only support HSM-protected keys.

Resource type Key protection methods Data-plane endpoint base URL
Vaults Software-protected and HSM-protected (HSM key types in Premium SKU) https://{vault-name}.vault.azure.net
Managed HSMs HSM-protected https://{hsm-name}.managedhsm.azure.net
  • Vaults - Vaults provide a low-cost, easy to deploy, multi-tenant, zone-resilient (where available), highly available key management solution suitable for most common cloud application scenarios.
  • Managed HSMs - Managed HSM provides single-tenant, highly available HSMs to store and manage your cryptographic keys. Most suitable for applications and usage scenarios that handle high value keys. Also helps to meet most stringent security, compliance, and regulatory requirements.

Note

Vaults also allow you to store and manage several types of objects like secrets, certificates and storage account keys, in addition to cryptographic keys.

Cryptographic keys in Key Vault are represented as JSON Web Key [JWK] objects. The JavaScript Object Notation (JSON) and JavaScript Object Signing and Encryption (JOSE) specifications are:

The base JWK/JWA specifications are also extended to enable key types unique to the Azure Key Vault and Managed HSM implementations.

HSM Keys in vaults are protected by HSMs; Software keys aren't protected by HSMs.

  • Keys stored in vaults benefit from robust protection using FIPS 140 validated HSM. There are two distinct HSM platforms available: 1, which protects key versions with FIPS 140-2 Level 2, and 2, which protects keys with FIPS 140-2 Level 3 HSMs depending on when the key was created. All new keys and key versions are now created using platform 2 (except UK geo). To determine which HSM Platform is protecting a key version, get it's hsmPlatform.
  • Managed HSM uses FIPS 140-2 Level 3 validated HSM modules to protect your keys. Each HSM pool is an isolated single-tenant instance with its own security domain providing complete cryptographic isolation from all other HSMs sharing the same hardware infrastructure. Managed HSM keys are protected in single-tenant HSM-pools. You can import an RSA, EC, and symmetric key, in soft form or by exporting from a supported HSM device. You can also generate keys in HSM pools. When you import HSM keys using the method described in the BYOK (bring your own key) specification, it enables secure transportation key material into Managed HSM pools.

For more information on geographical boundaries, see Microsoft Azure Trust Center

Key types and protection methods

Key Vault supports RSA and EC keys. Managed HSM supports RSA, EC, and symmetric keys.

HSM-protected keys

Key type Vaults (Premium SKU only) Managed HSMs
EC-HSM: Elliptic Curve key Supported (P-256, P-384, P-521, secp256k1/P-256K) Supported (P-256, secp256k1/P-256K, P-384, P-521)
RSA-HSM: RSA key Supported (2048-bit, 3072-bit, 4096-bit) Supported (2048-bit, 3072-bit, 4096-bit)
oct-HSM: Symmetric key Not supported Supported (128-bit, 192-bit, 256-bit)

Software-protected keys

Key type Vaults Managed HSMs
RSA: "Software-protected" RSA key Supported (2048-bit, 3072-bit, 4096-bit) Not supported
EC: "Software-protected" Elliptic Curve key Supported (P-256, P-384, P-521, secp256k1/P-256K) Not supported

Compliance

Key type and destination Compliance
Software-protected (hsmPlatform 0) keys in vaults FIPS 140-2 Level 1
hsmPlatform 1 protected keys in vaults (Premium SKU) FIPS 140-2 Level 2
hsmPlatform 2 protected keys in vaults (Premium SKU) FIPS 140-2 Level 3
Keys in Managed HSM are always HSM protected FIPS 140-2 Level 3

See Key types, algorithms, and operations for details about each key type, algorithms, operations, attributes, and tags.

Usage Scenarios

When to use Examples
Azure server-side data encryption for integrated resource providers with customer-managed keys - Server-side encryption using customer-managed keys in Azure Key Vault
Client-side data encryption - Client-Side Encryption with Azure Key Vault
Keyless TLS - Use key Client Libraries

Next steps