Импорт защищенных модулем 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, в том числе
  • nCipher
  • Thales
  • Utimaco
Дополнительные сведения см. на сайте Cryptomathic.
Entrust Производитель,
HSM как услуга
  • Семейство модулей HSM nShield
  • nShield как услуга
Новое средство BYOK и документация для nCipher
Fortanix Производитель,
HSM как услуга
  • Служба управления ключами для самостоятельной защиты (SDKMS)
  • Equinix SmartKey
Экспорт ключей SDKMS в поставщики облачных служб для BYOK — Azure Key Vault
IBM Производитель IBM 476x, CryptoExpress IBM Enterprise Key Management Foundation
Marvell Производитель Все модули HSM LiquidSecurity со
  • встроенным ПО версии 2.0.4 или более поздней
  • встроенным ПО версии 3.2 или более новой
Новое средство BYOK и документация для Marvell
nCipher Производитель,
HSM как услуга
  • Семейство модулей HSM nShield
  • nShield как услуга
Новое средство BYOK и документация для nCipher
Securosys SA Производитель,
HSM как услуга
Семейство Primus HSM, Securosys Clouds HSM Новое средство BYOK и документация для Primus
StorMagic ISV (Enterprise Key Management System) Несколько торговых марок и моделей HSM, в том числе
  • Utimaco
  • Thales
  • nCipher
Дополнительные сведения см. на сайте StorMagic.
SvKMS и Azure Key Vault (BYOK)
Thales Производитель
  • Семейство HSM 7 Luna со встроенным ПО версии 7.3 или более поздней
Новое средство 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:

Создание 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 отобразятся свойства импортированного ключа.

Следующие шаги

Теперь ключ, защищенный с помощью аппаратного модуля безопасности, можно использовать в хранилище ключей. Дополнительные сведения см. на этой странице цен и сравнения характеристик.