Импорт защищенных модулем HSM ключей в Управляемый модуль HSM (BYOK)
Управляемый модуль HSM для Azure Key Vault поддерживает возможность импорта ключей, созданных в локальном модуле HSM. Ключи всегда будут находиться под защитой модуля HSM. Этот сценарий обычно называется созданием собственных ключей (BYOK). Для защиты ключей управляемый модуль HSM использует адаптеры HSM Marvell LiquidSecurity (соответствующие стандарту FIPS 140-2 и уровню безопасности 3).
Информация в этой статье поможет вам подготовить и создать ваши собственные ключи, защищенные модулем HSM, и передать их в управляемый модуль HSM.
Примечание.
Эта функция недоступна для Microsoft 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 из этой строки, вам необходимо следующее:
- Подписка на Microsoft Azure. Если у вас ее нет, зарегистрируйтесь, чтобы воспользоваться бесплатной пробной версией.
- Azure CLI 2.12.0 или более поздней версии. Чтобы узнать версию, выполните команду
az --version
. Если вам необходимо выполнить установку или обновление, обратитесь к статье Установка Azure CLI. - Управляемый модуль HSM — список поддерживаемых HSM в вашей подписке. Выполните действия из статьи Краткое руководство. Подготовка и активация управляемого устройства HSM с помощью Azure CLI.
Azure Cloud Shell
В Azure есть Azure Cloud Shell, интерактивная оболочка среды, с которой можно работать в браузере. Для работы со службами Azure можно использовать Bash или PowerShell с Cloud Shell. Для запуска кода из этой статьи можно использовать предварительно установленные команды Cloud Shell. Ничего дополнительного в локальной среде устанавливать не нужно.
Начало работы с Azure Cloud Shell
Вариант | Пример и ссылка |
---|---|
Нажмите кнопку Попробовать в правом верхнем углу блока кода или команд. При нажатии кнопки Попробовать код или команда не копируется в Cloud Shell автоматически. | |
Чтобы открыть Cloud Shell в браузере, перейдите по адресу https://shell.azure.com или нажмите кнопку Запуск Cloud Shell. | |
Нажмите кнопку Cloud Shell в строке меню в правом верхнем углу окна портала Azure. |
Чтобы использовать Azure Cloud Shell, выполните следующие действия:
Запустите Cloud Shell.
Нажмите кнопку Копировать в блоке кода (или блоке команд), чтобы скопировать код или команду.
Вставьте код или команду в окно сеанса Cloud Shell, нажав клавиши CTRL+SHIFT+V в Windows и Linux или CMD+SHIFT+V в macOS.
Нажмите клавишу ВВОД, чтобы запустить код или команду.
Чтобы войти в Azure с помощью интерфейса командной строки, введите следующее:
az login
Дополнительные сведения о параметрах входа с помощью ИНТЕРФЕЙСА командной строки см. в разделе о входе с помощью Azure CLI.
Поддерживаемые модули HSM
Имя поставщика | Тип поставщика | Поддерживаемые модели модуля HSM | Дополнительные сведения |
---|---|---|---|
Cryptomathic | ISV (Enterprise Key Management System) | Несколько торговых марок и моделей HSM, в том числе
|
|
Entrust | Производитель, HSM как услуга |
|
Новое средство BYOK и документация для nCipher |
Fortanix | Производитель, HSM как услуга |
|
Экспорт ключей SDKMS в поставщики облачных служб для BYOK — Azure Key Vault |
IBM | Производитель | IBM 476x, CryptoExpress | IBM Enterprise Key Management Foundation |
Marvell | Производитель | Все модули HSM LiquidSecurity со
|
Новое средство BYOK и документация для Marvell |
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-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
Шаг 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-HSM P256K.
Известная проблема. Импорт целевого 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. Дополнительные сведения см. на этой странице цен и сравнения характеристик.