Skip to content

Commit 3b21e3b

Browse files
committed
Updates
1 parent 3c910d4 commit 3b21e3b

File tree

4 files changed

+48
-51
lines changed

4 files changed

+48
-51
lines changed

articles/key-vault/keys/about-keys.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@ tags: azure-resource-manager
99
ms.service: key-vault
1010
ms.subservice: keys
1111
ms.topic: overview
12-
ms.date: 02/17/2021
12+
ms.date: 01/24/2023
1313
ms.author: mbaldwin
1414
---
1515

1616
# About keys
1717

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.
1919

2020
|Resource type|Key protection methods|Data-plane endpoint base URL|
2121
|--|--|--|

articles/key-vault/keys/byok-specification.md

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,12 @@ title: Bring your own key specification - Azure Key Vault | Microsoft Docs
33
description: This document described bring your own key specification.
44
services: key-vault
55
author: mbaldwin
6-
manager: devtiw
76
tags: azure-resource-manager
87

98
ms.service: key-vault
109
ms.subservice: keys
1110
ms.topic: conceptual
12-
ms.date: 02/04/2021
11+
ms.date: 01/24/2023
1312
ms.author: mbaldwin
1413
ms.custom: devx-track-azurepowershell, devx-track-azurecli
1514
---
@@ -20,7 +19,7 @@ This document describes specifications for importing HSM-protected keys from cus
2019

2120
## Scenario
2221

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).
2423

2524
The following are the requirements:
2625
* The key to be transferred never exists outside an HSM in plain text form.
@@ -31,7 +30,7 @@ The following are the requirements:
3130
|Key Name|Key Type|Origin|Description|
3231
|---|---|---|---|
3332
|Key Exchange Key (KEK)|RSA|Azure Key Vault HSM|An HSM backed RSA key pair generated in Azure Key Vault
34-
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
3534
Target Key|RSA, EC, AES (Managed HSM only)|Vendor HSM|The key to be transferred to the Azure Key Vault HSM
3635

3736
**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:
5150

5251
Customers use the BYOK tool and documentation provided by HSM vendor to complete Steps 3. It produces a Key Transfer Blob (a ".byok" file).
5352

54-
5553
## HSM constraints
5654

5755
Existing HSM may apply constraints on key that they manage, including:
5856
* The HSM may need to be configured to allow key wrap-based export
5957
* 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.
6159

6260
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.
6361

6462
> [!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.
6664
67-
### Step 1: Generate KEK
65+
### Generate KEK
6866

6967
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.
7068

@@ -75,15 +73,15 @@ az keyvault key create --kty RSA-HSM --size 4096 --name KEKforBYOK --ops import
7573
> [!NOTE]
7674
> 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.
7775
78-
### Step 2: Retrieve the public key of the KEK
76+
### Retrieve the public key of the KEK
7977

8078
Download the public key portion of the KEK and store it into a PEM file.
8179

8280
```azurecli
8381
az keyvault key download --name KEKforBYOK --vault-name ContosoKeyVaultHSM --file KEKforBYOK.publickey.pem
8482
```
8583

86-
### Steps 3: Generate key transfer blob using HSM vendor provided BYOK tool
84+
### Generate key transfer blob using HSM vendor provided BYOK tool
8785

8886
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.
8987

@@ -121,16 +119,16 @@ If CKM_RSA_AES_KEY_WRAP_PAD is used, the JSON serialization of the transfer blob
121119

122120
* kid = key identifier of KEK. For Key Vault keys it looks like this: https://ContosoKeyVaultHSM.vault.azure.net/keys/mykek/eba63d27e4e34e028839b53fac905621
123121
* 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
125123
* 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.
126124

127125
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.
128126

129-
### Step 4: Upload key transfer blob to import HSM-key
127+
### Upload key transfer blob to import HSM-key
130128

131129
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.
132130

133-
To import an RSA key use this command:
131+
To import an RSA key, use this command:
134132
```azurecli
135133
az keyvault key import --vault-name ContosoKeyVaultHSM --name ContosoFirstHSMkey --byok-file KeyTransferPackage-ContosoFirstHSMkey.byok --ops encrypt decrypt
136134
```

0 commit comments

Comments
 (0)