Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Аттестация ключей — это функция управляемого HSM в Azure. Он позволяет проверить целостность и подлинность криптографических ключей, хранящихся в аппаратном модуле безопасности (HSM). Он позволяет организациям проверять, что ключи создаются и хранятся в доверенном сертифицированном HSM уровня 3 FIPS 140-3, без выхода за пределы границы FIPS. Предоставляя криптографическое подтверждение того, что ключи безопасно обрабатываются, аттестация ключей повышает доверие к процессам управления ключами, обеспечивая соответствие строгим стандартам безопасности и нормативным требованиям. Эта функция особенно важна в сценариях, когда клиентам требуется гарантировать, что их ключи защищены от несанкционированного доступа, даже от поставщиков облачных служб.
Предпосылки
-
AZ CLI версии (2.73.0 или более поздней): введите команду
az --version, чтобы узнать версию. Если вам нужно установить или обновить, см. статью "Установка Azure CLI". -
Версия Python (3.13.2 или более поздняя): выполните команду
python3 --versionдля проверки версии. -
Pip3 версии (24.3.1 или более поздней): выполните команду
pip3 --versionчтобы проверить версию. - Разрешения: Криптопользователь управляемого устройства HSM или настраиваемая роль с правами на получение ключа
Скачивание или клонирование репозитория GitHub
Скачайте или клонируйте репозиторий GitHub со всеми файлами, необходимыми для аттестации ключей.
Настройка виртуальной среды и установка необходимых пакетов Python
Настройте виртуальную среду и установите необходимые пакеты Python из requirements.txt. В этом примере мы именуем виртуальную среду аттестацией. Убедитесь, что вы находитесь в репозитории, который вы скачали или клонировали на шаге 1. При использовании Windows используйте командную строку.
python3 –m venv attestation
attestation\Scripts\activate.bat
pip3 install –r requirements.txt
cd src/
Получение данных аттестации для конкретного ключа из HSM
Чтобы получить данные аттестации для определенного ключа из HSM, используйте команду Azure CLI: az keyvault key get-attestation. Включение версии ключа является необязательным. JSON-файл содержит ключевые свойства, аттестационный блоб и все сертификаты, необходимые для аттестации ключевых объектов. В этом примере json-файл называется attestation.json.
Употребление:
az keyvault key get-attestation --hsm-name <poolname> --name <keyname> --version <keyversion> --file <filename>.json
или
az keyvault key get-attestation --id https://<poolname>.managedhsm.azure.net/keys/<keyname>/<keyversion> --file <filename>.json
Примеры.
Для ключа с именем
contosokeyв HSM с именемcontoso:az keyvault key get-attestation --hsm-name contoso --name contosokey --file attestation.jsonили
az keyvault key get-attestation --id https://contoso.managedhsm.azure.net/keys/contosokey --file attestation.jsonДля ключа с именем
contosokeyв HSM с названиемcontoso, с определенной версией ключа48293232e672449b9008602b80618:az keyvault key get-attestation --hsm-name contoso --name contosokey --version 48293232e672449b9008602b80618 --file attestation.jsonили
az keyvault key get-attestation --id https://contoso.managedhsm.azure.net/keys/contosokey/48293232e672449b9008602b80618 --file attestation.json
Проверка данных аттестации
Python-скрипт validate_attestation.py извлекает блоб аттестации и сертификаты из JSON-файла. Он создает цепочку сертификатов, чтобы убедиться, что ключ подписан сертификатом Marvell, корневым сертификатом поставщика HSM, и проверяет, подписан ли ключ с помощью сертификата, подписанного корпорацией Microsoft. Он также анализирует атрибуты двоичного файла аттестации и выводит результаты. Асимметричные ключи получают аттестацию открытого и закрытого ключей, а симметричные ключи получают только аттестацию закрытого ключа. Необязательный параметр --v или --verbose может быть включен для просмотра свойств цепочки сертификатов и дополнительных сведений об атрибутах ключа.
Употребление:
python3 validate_attestation.py -af <attestation.json>
Примеры
Без подробного режима:
python3 validate_attestation.py -af attestation.jsonС подробным режимом:
python3 validate_attestation.py -af attestation.json --v
При запуске в режиме подробного вывода вы увидите, как мы производим проверку цепочки сертификатов и какие сертификаты используются для проверки целостности блока данных аттестации как Marvell, так и Microsoft.
Вы можете проверить сертификаты, которые мы используем с /src/vendor/marvell/marvell_validate_key_attestation.py.