Функция безопасного выпуска ключей с AKV и Конфиденциальными вычислениями Azure (ACC)

Защищенный выпуск ключей (SKR) — это функция управляемого HSM и Premium в Azure Key Vault (AKV). Выпуск безопасного ключа позволяет освободить защищенный ключ HSM из AKV в проверенную доверенной среде выполнения (TEE), например безопасную анклаву, teEs на основе виртуальных машин и т. д. SKR добавляет еще один уровень защиты доступа к ключам расшифровки и шифрования данных, где можно нацеливаться на среду выполнения приложения + TEE с известной конфигурацией получить доступ к материалу ключа. Политики SKR, определенные во время создания экспортируемых ключей, управляют доступом к этим ключам.

Поддержка SKR с предложениями AKV

Общий поток выпуска безопасного ключа с TEE

SKR может выпускать только ключи на основе созданных утверждений microsoft Аттестация Azure (MAA). Существует жесткая интеграция с определением политики SKR с утверждениями MAA.

Схема потока выпуска безопасного ключа.

Ниже приведены шаги для AKV Premium.

Шаг 1. Создание хранилища ключей уровня "Премиум" HSM с поддержкой HSM

Следуйте инструкциям по созданию AKV на основе Az CLI

Убедитесь, что для параметра [-sku] задано значение "Премиум".

Шаг 2. Создание политики выпуска безопасного ключа

Политика выпуска безопасного ключа — это политика выпуска формата JSON, определенная здесь , которая указывает набор утверждений, необходимых в дополнение к авторизации для освобождения ключа. Здесь приведены утверждения на основе MAA, как указано здесь для SGX и здесь для AMD SEV-SNP CVM.

Дополнительные сведения см. на странице конкретных примеров TEE. Дополнительные сведения о грамматике политики SKR см . в статье о политике безопасного выпуска ключей Azure Key Vault.

Перед настройкой политики SKR обязательно запустите приложение TEE через поток удаленной аттестации. Удаленная аттестация не рассматривается в рамках этого руководства.

Пример

{
    "version": "1.0.0",
    "anyOf": [ // Always starts with "anyOf", meaning you can multiple, even varying rules, per authority.
        {
            "authority": "https://sharedweu.weu.attest.azure.net",
            "allOf": [ // can be replaced by "anyOf", though you cannot nest or combine "anyOf" and "allOf" yet.
                {
                    "claim": "x-ms-isolation-tee.x-ms-attestation-type", // These are the MAA claims.
                    "equals": "sevsnpvm"
                },
                {
                    "claim": "x-ms-isolation-tee.x-ms-compliance-status",
                    "equals": "azure-compliant-cvm"
                }
            ]
        }
    ]
}


Шаг 3. Создание экспортируемого ключа в AKV с присоединенной политикой SKR

Здесь приведены точные сведения о типе ключа и других атрибутах.

az keyvault key create --exportable true --vault-name "vault name from step 1" --kty RSA-HSM --name "keyname" --policy "jsonpolicyfromstep3 -can be a path to JSON"

Шаг 4. Приложение, работающее в TEE, выполняет удаленную аттестацию

Этот шаг может быть связан с типом TEE, на котором выполняется приложение Intel SGX Enclaves или AMD SEV-SNP на основе конфиденциальных Виртуальные машины (CVM) или конфиденциальных контейнеров, работающих в анклавах CVM с AMD SEV-SNP и т. д.

Следуйте приведенным ниже примерам для различных типов TEE, предлагаемых в Azure:

Часто задаваемые вопросы

Можно ли выполнять SKR с предложениями не конфиденциальных вычислений?

№ Политика, подключенная к SKR, понимает только утверждения MAA, связанные с аппаратными TEEs.

Могу ли я принести свой собственный поставщик аттестации или службу и использовать эти утверждения для AKV для проверки и выпуска?

№ AKV понимает и интегрируется только с MAA сегодня.

Можно ли использовать пакеты SDK AKV для выполнения ключа RELEASE?

Да. Последний пакет SDK, интегрированный с api поддержки 7.3 AKV.

Можно ли предоставить общий доступ к некоторым примерам политик выпуска ключей?

Да, подробные примеры по типу TEE перечислены здесь.

Можно ли присоединить тип политики SKR с сертификатами и секретами?

№ В настоящее время нет.

Ссылки

Примеры политики SKR

Экземпляр контейнера Azure с конфиденциальными контейнерами Secure Key Release с клиентскими автомобилями контейнера

CVM в приложениях AMD SEV-SNP с примером выпуска безопасного ключа

REST API AKV с сведениями об SKR

Грамматика политики выпуска безопасного ключа Azure Key Vault

Пакеты SDK ДЛЯ AKV