You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/key-vault/keys/about-keys.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,13 +9,13 @@ tags: azure-resource-manager
9
9
ms.service: key-vault
10
10
ms.subservice: keys
11
11
ms.topic: overview
12
-
ms.date: 02/17/2021
12
+
ms.date: 01/24/2023
13
13
ms.author: mbaldwin
14
14
---
15
15
16
16
# About keys
17
17
18
-
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.
18
+
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.
19
19
20
20
|Resource type|Key protection methods|Data-plane endpoint base URL|
@@ -20,7 +19,7 @@ This document describes specifications for importing HSM-protected keys from cus
20
19
21
20
## Scenario
22
21
23
-
A Key Vault customer would like to securely transfer a key from their on-premises HSM outside Azure, into the HSM backing Azure Key Vault. The process of importing a key generated outside Key Vault is generally referred to as Bring Your Own Key (BYOK).
22
+
A Key Vault customer would like to securely transfer a key from their on-premises HSM outside Azure, into the HSM backing Azure Key Vault. The process of importing a key generated outside Key Vault is referred to as Bring Your Own Key (BYOK).
24
23
25
24
The following are the requirements:
26
25
* The key to be transferred never exists outside an HSM in plain text form.
@@ -31,7 +30,7 @@ The following are the requirements:
Wrapping Key|AES|Vendor HSM|An [ephemeral] AES key generated by HSM on-prem
33
+
Wrapping Key|AES|Vendor HSM|An [ephemeral] AES key generated by HSM on-premises
35
34
Target Key|RSA, EC, AES (Managed HSM only)|Vendor HSM|The key to be transferred to the Azure Key Vault HSM
36
35
37
36
**Key Exchange Key**: An HSM-backed key that customer generates in the key vault where the BYOK key will be imported. This KEK must have following properties:
@@ -51,20 +50,19 @@ To perform a key transfer, a user performs following steps:
51
50
52
51
Customers use the BYOK tool and documentation provided by HSM vendor to complete Steps 3. It produces a Key Transfer Blob (a ".byok" file).
53
52
54
-
55
53
## HSM constraints
56
54
57
55
Existing HSM may apply constraints on key that they manage, including:
58
56
* The HSM may need to be configured to allow key wrap-based export
59
57
* The target key may need to be marked CKA_EXTRACTABLE for the HSM to allow controlled export
60
-
* In some cases, the KEK and wrapping key may need to be marked as CKA_TRUSTED. This allows it to be used to wrap keys in the HSM.
58
+
* In some cases, the KEK and wrapping key may need to be marked as CKA_TRUSTED, which allows it to be used to wrap keys in the HSM.
61
59
62
60
The configuration of source HSM is, generally, outside the scope of this specification. Microsoft expects the HSM vendor to produce documentation accompanying their BYOK tool to include any such configuration steps.
63
61
64
62
> [!NOTE]
65
-
> Steps 1, 2, and 4 described below can be performed using other interfaces such as Azure PowerShell and Azure Portal. They can also be performed programmatically using equivalent functions in Key Vault SDK.
63
+
> Several of these steps can be performed using other interfaces such as Azure PowerShell and Azure Portal. They can also be performed programmatically using equivalent functions in Key Vault SDK.
66
64
67
-
### Step 1: Generate KEK
65
+
### Generate KEK
68
66
69
67
Use the **az keyvault key create** command to create KEK with key operations set to import. Note down the key identifier 'kid' returned from the below command.
> Services support different KEK lengths; Azure SQL, for instance, only supports key lengths of [2048 or 3072 bytes](/azure/azure-sql/database/transparent-data-encryption-byok-overview#requirements-for-configuring-customer-managed-tde). Consult the documentation for your service for specifics.
77
75
78
-
### Step 2: Retrieve the public key of the KEK
76
+
### Retrieve the public key of the KEK
79
77
80
78
Download the public key portion of the KEK and store it into a PEM file.
81
79
82
80
```azurecli
83
81
az keyvault key download --name KEKforBYOK --vault-name ContosoKeyVaultHSM --file KEKforBYOK.publickey.pem
84
82
```
85
83
86
-
### Steps 3: Generate key transfer blob using HSM vendor provided BYOK tool
84
+
### Generate key transfer blob using HSM vendor provided BYOK tool
87
85
88
86
Customer will use HSM Vendor provided BYOK tool to create a key transfer blob (stored as a ".byok" file). KEK public key (as a .pem file) will be one of the inputs to this tool.
89
87
@@ -121,16 +119,16 @@ If CKM_RSA_AES_KEY_WRAP_PAD is used, the JSON serialization of the transfer blob
121
119
122
120
* kid = key identifier of KEK. For Key Vault keys it looks like this: https://ContosoKeyVaultHSM.vault.azure.net/keys/mykek/eba63d27e4e34e028839b53fac905621
123
121
* alg = algorithm.
124
-
* dir = Direct mode, i.e. the referenced kid is used to directly protect the ciphertext which is an accurate representation of CKM_RSA_AES_KEY_WRAP
122
+
* dir = Direct mode, that is, the referenced kid is used to directly protect the ciphertext that is an accurate representation of CKM_RSA_AES_KEY_WRAP
125
123
* generator = an informational field that denotes the name and version of BYOK tool and the source HSM manufacturer and model. This information is intended for use in troubleshooting and support.
126
124
127
125
The JSON blob is stored in a file with a ".byok" extension so that the Azure PowerShell/CLI clients treats it correctly when ‘Add-AzKeyVaultKey’ (PSH) or ‘az keyvault key import’ (CLI) commands are used.
128
126
129
-
### Step 4: Upload key transfer blob to import HSM-key
127
+
### Upload key transfer blob to import HSM-key
130
128
131
129
Customer will transfer the Key Transfer Blob (".byok" file) to an online workstation and then run a **az keyvault key import** command to import this blob as a new HSM-backed key into Key Vault.
0 commit comments