Импорт защищенных модулем HSM ключей в Key Vault (BYOK)
Чтобы обеспечить более высокий уровень защиты при работе с Azure Key Vault, можно импортировать ключи или создать их в аппаратных модулях безопасности (HSM). Ключи никогда не покидают их пределы. Этот сценарий обычно называется созданием собственных ключей (BYOK). Key Vault использует проверенные HSM FIPS 140 для защиты ключей.
Информация в этой статье поможет вам подготовить и создать ваши собственные ключи, защищенные модулем HSM, и передать их в Azure Key Vault.
Примечание.
Эта функция недоступна для Microsoft Azure, управляемой 21Vianet.
Этот метод импорта доступен только для поддерживаемых модулей HSM.
Дополнительные сведения и руководство по началу работы с Key Vault (в том числе по созданию хранилища ключей для ключей, защищенных модулем HSM) приведены в статье Об Azure Key Vault.
Обзор
Ниже представлен обзор этого процесса. Конкретные действия, которые необходимо для этого выполнить, описаны далее в этой статье.
- В Key Vault создайте ключ (который называется ключом обмена ключами (KEK)). KEK должен быть ключом RSA-HSM, с которым можно выполнять только операцию
import
. Только key Vault Premium и Managed HSM поддерживают ключи RSA-HSM. - Скачайте открытый ключ KEK в виде PEM-файла.
- Перенесите открытый ключ KEK на автономный компьютер, подключенный к локальному модулю HSM.
- На автономном компьютере используйте средство BYOK, предоставленное поставщиком HSM, для создания файла BYOK.
- Целевой ключ шифруется с помощью KEK и остается зашифрованным до тех пор, пока не будет передан в модуль HSM Key Vault. Локальный модуль HSM покидает только зашифрованная версия ключа.
- Ключ KEK, созданный в HSM Key Vault, экспортировать невозможно. HSM принудительно применяет правило, согласно которому за пределами HSM Key Vault не должно быть незашифрованной версии KEK.
- Ключ KEK должен находиться в том же хранилище ключей, в которое будет импортирован целевой ключ.
- Когда файл BYOK отправляется в Key Vault, HSM Key Vault использует закрытый ключ KEK для расшифровки материала целевого ключа и его импорта в качестве ключа HSM. Эта операция выполняется полностью в HSM Key Vault. Целевой ключ всегда остается под защитой HSM.
Необходимые компоненты
В следующей таблице перечислены предварительные требования для использования BYOK в Azure Key Vault.
Требование | Дополнительные сведения |
---|---|
Подписка Azure | Для создания хранилища ключей в Azure Key Vault требуется подписка Azure. Зарегистрируйтесь для получения бесплатной пробной версии. |
Хранилище ключей уровня "Премиум" или управляемое устройство HSM для импорта ключей, защищенных HSM | Дополнительные сведения об уровнях служб и возможностях Azure Key Vault см. на странице Цены на Key Vault. |
HSM из списка поддерживаемых HSM, средство BYOK и инструкции, предоставленные поставщиком HSM | Необходимо иметь разрешения для модуля HSM и базовые знания о том, как им пользоваться. Просмотрите список поддерживаемых модулей HSM. |
Azure CLI версии 2.1.0 или более поздней | Подробнее см. статью Установка Azure CLI. |
Поддерживаемые модули HSM
Имя поставщика | Тип поставщика | Поддерживаемые модели модуля HSM | Дополнительные сведения |
---|---|---|---|
Cryptomathic | ISV (Enterprise Key Management System) | Несколько торговых марок и моделей HSM, в том числе
|
|
Entrust | Производитель, HSM как услуга |
|
Новое средство BYOK и документация для nCipher |
Fortanix | Производитель, HSM как услуга |
|
Экспорт ключей SDKMS в поставщики облачных служб для BYOK — Azure Key Vault |
Futurex | Производитель, HSM как услуга |
|
Руководство по интеграции Futurex — Azure Key Vault |
IBM | Производитель | IBM 476x, CryptoExpress | IBM Enterprise Key Management Foundation |
Marvell | Производитель | Все модули HSM LiquidSecurity со
|
Новое средство BYOK и документация для Marvell |
nCipher | Производитель, HSM как услуга |
|
Новое средство BYOK и документация для nCipher |
Securosys SA | Производитель, HSM как услуга |
Семейство Primus HSM, Securosys Clouds HSM | Новое средство BYOK и документация для Primus |
StorMagic | ISV (Enterprise Key Management System) | Несколько торговых марок и моделей HSM, в том числе
|
SvKMS и Azure Key Vault (BYOK) |
Thales | Производитель |
|
Новое средство BYOK и документация для Luna |
Utimaco | Производитель, HSM как услуга |
u.trust Anchor, CryptoServer | Инструмент Utimaco BYOK и руководство по интеграции |
Поддерживаемые типы ключей
Имя ключа | Тип ключа | Размер ключа (кривая) | Источник | Description |
---|---|---|---|---|
Ключ обмена ключами (KEK) | RSA | 2048-разрядный 3072-разрядный 4096-разрядный |
HSM Azure Key Vault | Защищенная HSM пара ключей RSA, созданная в Azure Key Vault |
Целевой ключ | ||||
RSA | 2048-разрядный 3072-разрядный 4096-разрядный |
HSM от поставщика | Ключ для передачи в модуль HSM Azure Key Vault | |
EC | P-256 P-384 P-521 |
HSM от поставщика | Ключ для передачи в модуль HSM Azure Key Vault | |
Создание и передача ключа в Key Vault Premium HSM или управляемый HSM
Чтобы создать и передать ключ в Key Vault Premium или управляемом HSM:
- Шаг 1. Создание KEK
- Шаг 2. Скачивание открытого ключа KEK
- Шаг 3. Создание ключа и подготовка его к передаче
- Шаг 4. Передача ключа в хранилище ключей Azure
Создание KEK
KEK — это ключ RSA, созданный в Key Vault Premium или управляемом HSM. KEK используется для шифрования ключа, который необходимо импортировать (целевого ключа).
Ключ KEK должен:
- быть ключом RSA-HSM (2048-, 3072- или 4096-разрядным);
- создаваться в том же хранилище ключей, в которое планируется импортировать целевой ключ;
- поддерживать только операцию
import
.
Примечание.
Единственной допустимой операцией с ключом KEK должна быть операция "import", которая является взаимоисключающей с любыми другими операциями с ключами.
С помощью команды az keyvault key create создайте ключ KEK, для которого в качестве операции с ключами задана операция import
. Запишите идентификатор ключа (kid
), возвращаемый следующей командой. (Вы будете использовать значение kid
на шаге 3.)
az keyvault key create --kty RSA-HSM --size 4096 --name KEKforBYOK --ops import --vault-name ContosoKeyVaultHSM
Для управляемого устройства HSM:
az keyvault key create --kty RSA-HSM --size 4096 --name KEKforBYOK --ops import --hsm-name ContosoKeyVaultHSM
Скачивание открытого ключа KEK
Чтобы скачать открытый ключ KEK в PEM-файл, используйте команду az keyvault key download. Импортируемый целевой ключ шифруется с помощью открытого ключа KEK.
az keyvault key download --name KEKforBYOK --vault-name ContosoKeyVaultHSM --file KEKforBYOK.publickey.pem
Для управляемого устройства HSM:
az keyvault key download --name KEKforBYOK --hsm-name ContosoKeyVaultHSM --file KEKforBYOK.publickey.pem
Перенесите файл KEKforBYOK.publickey.pem на автономный компьютер. Он потребуется для выполнения следующего шага.
Создание ключа и подготовка его к передаче
Сведения о том, как скачать и установить средство BYOK, см. в документации поставщика HSM. Следуйте инструкциям поставщика HSM, чтобы создать целевой ключ, а затем создайте пакет для перемещения ключа (файл BYOK). Средство BYOK будет использовать значение kid
, полученное на шаге 1, и файл KEKforBYOK.publickey.pem, скачанный на шаге 2, для создания зашифрованного целевого ключа в файле BYOK.
Перенесите файл BYOK на подключенный компьютер.
Примечание.
Импорт 1024-разрядных ключей RSA не поддерживается. Импорт ключа эллиптической кривой с кривой P-256K поддерживается.
Известная проблема. Импорт целевого 4096-разрядного ключа RSA из модулей HSM Luna поддерживается только при использовании встроенного ПО версии 7.4.0 или более поздней.
Передача ключа в Azure Key Vault
Чтобы завершить импорт ключа, перенесите пакет обмена ключами (файл BYOK) с отключенного компьютера на компьютер, подключенный к Интернету. Чтобы передать файл BYOK в HSM Key Vault, используйте команду az keyvault key import.
Чтобы импортировать ключ RSA, используйте приведенную ниже команду. Параметр --kty является необязательным и по умолчанию имеет значение RSA-HSM.
az keyvault key import --vault-name ContosoKeyVaultHSM --name ContosoFirstHSMkey --byok-file KeyTransferPackage-ContosoFirstHSMkey.byok
Для управляемого устройства HSM
az keyvault key import --hsm-name ContosoKeyVaultHSM --name ContosoFirstHSMkey --byok-file KeyTransferPackage-ContosoFirstHSMkey.byok
Чтобы импортировать ключ EC, нужно указать тип ключа и имя кривой.
az keyvault key import --vault-name ContosoKeyVaultHSM --name ContosoFirstHSMkey --kty EC-HSM --curve-name "P-256" --byok-file KeyTransferPackage-ContosoFirstHSMkey.byok
Для управляемого устройства HSM
az keyvault key import --hsm-name ContosoKeyVaultHSM --name ContosoFirstHSMkey --byok-file --kty EC-HSM --curve-name "P-256" KeyTransferPackage-ContosoFirstHSMkey.byok
Если отправка прошла успешно, в Azure CLI отобразятся свойства импортированного ключа.
Следующие шаги
Теперь ключ, защищенный с помощью аппаратного модуля безопасности, можно использовать в хранилище ключей. Дополнительные сведения см. на этой странице цен и сравнения характеристик.