Поделиться через


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

Функция защищенного выпуска ключей (SKR) доступна в управляемом модуле аппаратной безопасности (HSM) и в премиум-предложении 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 или конфиденциальные виртуальные машины (CVM) на базе AMD SEV-SNP, или конфиденциальные контейнеры, работающие в анклавах CVM на базе AMD SEV-SNP и т. д.

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

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

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

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

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

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

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

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

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

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

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

Нет. Не в это время.

Ссылки

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

Экземпляр контейнера Azure с защищёнными контейнерами и безопасным выпуском ключа посредством побочных контейнеров

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

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

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

Пакеты SDK ДЛЯ AKV