Импорт защищенных модулем HSM ключей в Управляемый модуль HSM (BYOK)

Управляемый модуль HSM для Azure Key Vault поддерживает возможность импорта ключей, созданных в локальном модуле HSM. Ключи всегда будут находиться под защитой модуля HSM. Этот сценарий обычно называется созданием собственных ключей (BYOK). Для защиты ключей управляемый модуль HSM использует адаптеры HSM Marvell LiquidSecurity (соответствующие стандарту FIPS 140-2 и уровню безопасности 3).

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

Примечание

Эта функция недоступна в Azure для Китая (21Vianet). Этот метод импорта доступен только для поддерживаемых модулей HSM.

Дополнительные сведения и руководство по началу работы с управляемым модулем HSM см. в статье о том, что такое управляемый модуль HSM.

Обзор

Ниже представлен обзор этого процесса. Конкретные действия, которые необходимо для этого выполнить, описаны далее в этой статье.

  • В управляемом модуле HSM создайте ключ (который называется ключом обмена ключами (KEK)). KEK должен быть ключом RSA-HSM, с которым можно выполнять только операцию import.
  • Скачайте открытый ключ KEK в виде PEM-файла.
  • Перенесите открытый ключ KEK на автономный компьютер, подключенный к локальному модулю HSM.
  • На автономном компьютере используйте средство BYOK, предоставленное поставщиком HSM, для создания файла BYOK.
  • Целевой ключ шифруется с помощью KEK и остается зашифрованным до тех пор, пока не будет передан в управляемый модуль HSM. Локальный модуль HSM покидает только зашифрованная версия ключа.
  • Ключ KEK, созданный в управляемом модуле HSM, экспортировать невозможно. Модули HSM принудительно применяют правило, согласно которому за пределами управляемого модуля HSM не должно быть незашифрованной версии KEK.
  • Ключ KEK должен находиться в том же управляемом модуле HSM, в который будет импортирован целевой ключ.
  • Получив файл BYOK, управляемый модуль HSM использует закрытый ключ KEK для расшифровки материала целевого ключа и его импорта в качестве ключа HSM. Эта операция выполняется полностью в HSM. Целевой ключ всегда остается под защитой HSM.

Предварительные требования

Чтобы использовать команды Azure CLI из этой строки, вам необходимо следующее:

Azure Cloud Shell

В Azure есть Azure Cloud Shell, интерактивная оболочка среды, с которой можно работать в браузере. Для работы со службами Azure можно использовать Bash или PowerShell с Cloud Shell. Для запуска кода из этой статьи можно использовать предварительно установленные команды Cloud Shell. Ничего дополнительного в локальной среде устанавливать не нужно.

Начало работы с Azure Cloud Shell

Параметр Пример и ссылка
Нажмите кнопку Попробовать в правом верхнем углу блока кода или команд. При нажатии кнопки Попробовать код или команда не копируется в Cloud Shell автоматически. Снимок экрана: пример открытия Azure Cloud Shell с помощью кнопки
Чтобы открыть Cloud Shell в браузере, перейдите по адресу https://shell.azure.com или нажмите кнопку Запуск Cloud Shell. Снимок экрана: запуск Cloud Shell в новом окне.
Нажмите кнопку Cloud Shell в строке меню в правом верхнем углу окна портала Azure. Снимок экрана: кнопка

Чтобы использовать Azure Cloud Shell:

  1. Запустите Cloud Shell.

  2. Нажмите кнопку Копировать в блоке кода (или блоке команд), чтобы скопировать код или команду.

  3. Вставьте код или команду в окно сеанса Cloud Shell, нажав клавиши CTRL+SHIFT+V в Windows и Linux или CMD+SHIFT+V в macOS.

  4. Нажмите клавишу ВВОД, чтобы выполнить код или команду.

Чтобы войти в Azure с помощью CLI, введите следующее:

az login

Дополнительные сведения о параметрах входа с помощью интерфейса командной строки см. в статье Вход с помощью Azure CLI.

Поддерживаемые модули HSM

Имя поставщика Тип поставщика Поддерживаемые модели модуля HSM Дополнительные сведения
Cryptomathic ISV (Enterprise Key Management System) Несколько торговых марок и моделей HSM, в том числе
  • nCipher
  • Thales
  • Utimaco
Дополнительные сведения см. на сайте Cryptomathic.
Новое средство BYOK и документация для 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
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 и руководство по интеграции

Поддерживаемые типы ключей

Имя раздела Тип ключа Размер ключа (кривая) Исходный домен Описание
Ключ обмена ключами (KEK) RSA-HSM 2048-разрядный
3072-разрядный
4096-разрядный
Управляемое устройство HSM Защищенная модулем HSM пара ключей RSA, созданная в управляемом модуле HSM
Целевой ключ
RSA-HSM 2048-разрядный
3072-разрядный
4096-разрядный
HSM от поставщика Ключ для передачи в управляемый модуль HSM
EC-HSM P-256
P-384
P-521
HSM от поставщика Ключ для передачи в управляемый модуль HSM
Симметричный ключ (oct-hsm) 128-разрядное
192-битный
256-битный
HSM от поставщика Ключ для передачи в управляемый модуль HSM

Создание ключа и его передача в управляемый модуль HSM

Чтобы создать ключ и передать его в управляемый модуль HSM, сделайте следующее:

Шаг 1. Создание KEK

KEK — это ключ RSA, который создается в Управляемом модуле HSM. KEK используется для шифрования ключа, который необходимо импортировать (целевого ключа).

Ключ KEK должен:

  • быть ключом RSA-HSM (2048-, 3072- или 4096-разрядным);
  • создаваться в том же управляемом модуле HSM, в который планируется импортировать целевой ключ;
  • поддерживать только операцию 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 --hsm-name ContosoKeyVaultHSM

Шаг 2. Скачивание открытого ключа KEK

Чтобы скачать открытый ключ KEK в PEM-файл, используйте команду az keyvault key download. Импортируемый целевой ключ шифруется с помощью открытого ключа KEK.

az keyvault key download --name KEKforBYOK --hsm-name ContosoKeyVaultHSM --file KEKforBYOK.publickey.pem

Перенесите файл KEKforBYOK.publickey.pem на автономный компьютер. Он потребуется для выполнения следующего шага.

Шаг 3. Создание ключа и подготовка его к передаче

Сведения о том, как скачать и установить средство BYOK, см. в документации поставщика HSM. Следуйте инструкциям поставщика HSM, чтобы создать целевой ключ, а затем создайте пакет для перемещения ключа (файл BYOK). Средство BYOK будет использовать значение kid, полученное на шаге 1, и файл KEKforBYOK.publickey.pem, скачанный на шаге 2, для создания зашифрованного целевого ключа в файле BYOK.

Перенесите файл BYOK на подключенный компьютер.

Примечание

Импорт 1024-разрядных ключей RSA не поддерживается. В настоящее время импорт ключа эклиптической кривой (EC) не поддерживается.

Известная проблема. Импорт целевого 4096-разрядного ключа RSA из модулей HSM Luna поддерживается только при использовании встроенного ПО версии 7.4.0 или более поздней.

Шаг 4. Перенос ключа в управляемый модуль HSM

Чтобы завершить импорт ключа, перенесите пакет обмена ключами (файл BYOK) с отключенного компьютера на компьютер, подключенный к Интернету. Чтобы передать файл BYOK в управляемый модуль HSM, используйте команду az keyvault key import.

az keyvault key import --hsm-name ContosoKeyVaultHSM --name ContosoFirstHSMkey --byok-file KeyTransferPackage-ContosoFirstHSMkey.byok

Если отправка прошла успешно, в Azure CLI отобразятся свойства импортированного ключа.

Дальнейшие действия

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