Поддержка анклавов приложений с узлами конфиденциальных вычислений intel SGX на Служба Azure Kubernetes

Конфиденциальные вычисления в Azure позволяют защитить конфиденциальные данные во время их использования. Анклавы на основе Intel SGX позволяют запускать приложения, упакованные в виде контейнера в AKS. Контейнеры, выполняемые в доверенной среде выполнения (TEE), обеспечивают изоляцию от других контейнеров, ядра узла в защищенной аппаратной защищенной, защищенной целостности, защищенной проверенной средой.

Обзор

Служба Azure Kubernetes (AKS) поддерживает добавление Узлы виртуальных машин конфиденциальных вычислений Intel SGX в качестве пулов агентов в кластере. Эти узлы позволяют выполнять конфиденциальные рабочие нагрузки в аппаратном TEE. TEEs позволяют выполнять код на уровне пользователя из контейнеров, чтобы выделить частные регионы памяти для выполнения кода напрямую с ЦП. Эти области выделенной памяти, которые выполняются напрямую ЦП, называются анклавами. Анклавы помогают защитить конфиденциальность данных, целостность данных и целостность кода от других процессов, выполняемых на том же узле, а также оператора Azure. Модель выполнения Intel SGX также удаляет промежуточные уровни гостевой ОС, ОС узла и гипервизора, тем самым уменьшая контактную зону для атак. Использование модели выполнения на основе оборудования с изоляцией для каждого контейнера в узле позволяет приложениям напрямую выполнять задачи с использованием ЦП, поддерживая при этом специальный блок памяти зашифрованным для каждого контейнера. Узлы конфиденциальных вычислений с конфиденциальными контейнерами — это отличное дополнение к вашей стратегии без доверия, планированию безопасности и глубокой защите контейнеров.

Рисунок конфиденциального вычислительного узла AKS, на котором показаны конфиденциальные контейнеры с защищенным кодом и данными.

Функция узлов конфиденциальных вычислений Intel SGX

  • Изоляция контейнеров на уровне оборудования с помощью доверенной среды выполнения Intel SGX (TEE)
  • Кластеры разнородных пулов узлов (сочетание конфиденциальных и неконфиденциальных пулов узлов)
  • Планирование модуля pod на основе зашифрованного кэша страниц (EPC) с помощью надстройки AKS "confcom"
  • Предварительно установлен драйвер DCAP Intel SGX и зависимость ядра
  • Горизонтальное автомасштабирование pod и автомасштабирование кластера на основе используемых ресурсов ЦП
  • Поддержка контейнеров Linux на рабочих узлах виртуальной машины Ubuntu 18.04 2-го поколения

Надстройка конфиденциальных вычислений для AKS

Функция надстройки обеспечивает дополнительную возможность в AKS при выполнении пулов узлов с поддержкой intel SGX конфиденциальных вычислений. Надстройка confcom в AKS включает приведенные ниже функции.

Подключаемый модуль устройства Azure для Intel SGX

Подключаемый модуль устройства реализует интерфейс подключаемого модуля устройства Kubernetes для памяти кэша зашифрованных страниц (EPC) и предоставляет драйверы устройств из узлов. Фактически этот подключаемый модуль предоставляет память EPC как еще один тип ресурса в Kubernetes. Пользователи могут указать для этого ресурса ограничения так же, как для любых других ресурсов. Помимо функции планирования подключаемый модуль устройства помогает назначать разрешения драйвера устройств Intel SGX для развертываний конфиденциальных контейнеров. Благодаря этому разработчик подключаемого модуля может не подключать тома драйвера Intel SGX в файлах развертывания. Эта надстройка в кластерах AKS выполняется как набор управляющей программы на каждый узел виртуальной машины, поддерживающий Intel SGX. Пример реализации развертывания на основе памяти EPC (kubernetes.azure.com/sgx_epc_mem_in_MiB) вы можете изучить здесь.

Вспомогательный компонент цитаты Intel SGX с компонентами программного обеспечения платформы

В рамках подключаемого модуля для каждого узла виртуальной машины, который поддерживает Intel SGX в кластере AKS, развертывается еще один набор управляющей программы. Этот набор управляющей программы помогает вашим конфиденциальным приложениям-контейнерам при вызове удаленного запроса аттестации из proc.

Приложения анклава, которые выполняют удаленную аттестацию, должны создать цитату. Цитата предоставляет криптографическое подтверждение удостоверения и состояния приложения, а также среду узла анклава. Создание цитат использует некоторые доверенные компоненты программного обеспечения intel, которые являются частью компонентов программного обеспечения платформы SGX (PSW/DCAP). Этот PSW упаковывается как набор управляющих программ, которые выполняются на каждом узле. Вы можете использовать PSW при запросе цитаты аттестации из приложений анклава. Использование предоставленной службы AKS помогает лучше поддерживать совместимость между PSW и другими компонентами SW на узле с драйверами Intel SGX, которые являются частью узлов виртуальной машины AKS. Дополнительные сведения о том, как приложения могут использовать этот набор управляющей программы без необходимости упаковать примитивы аттестации в рамках развертываний контейнеров еще здесь

Модели программирования

Конфиденциальные контейнеры через партнеров и OSS

Конфиденциальные контейнеры позволяют конфиденциально запускать существующие неизмененные приложения-контейнеры в среде выполнения большинства распространенных языков программирования (Python, Node, Java и т. д.). Эта модель упаковки не нуждается в изменениях исходного кода или повторной компиляции и является самым быстрым методом для запуска в анклавах Intel SGX, достигнутых путем упаковки стандартных контейнеров Docker с помощью проектов с открытым исходным кодом или решений партнеров Azure. В этой модели упаковки и выполнения все части приложения-контейнера загружаются в доверенную границу (анклав). Следовательно, она будет хорошим решением для готовых приложений-контейнеров, доступных на рынке, или пользовательских приложений, которые в настоящее время выполняются на узлах общего назначения. Дополнительные сведения о процессе подготовки и развертывания см. здесь

Контейнеры с поддержкой анклавов

Узлы конфиденциальных вычислений в AKS также поддерживают контейнеры, запрограммированные для запуска в анклаве с использованием специального набора инструкций, доступного из ЦП. Эта модель программирования обеспечивает более строгий контроль над ходом выполнения и требует использования специальных пакетов SDK и платформ. Она обеспечивает максимальный контроль над блок-схемой приложения с самым низким уровнем доверенной вычислительной базы (TCB). Разработка контейнеров с поддержкой анклава включает в себя ненадежные и доверенные элементы для приложения-контейнера, что позволяет управлять обычным объемом памяти и объемом памяти кэша зашифрованных страниц (EPC), в котором выполняется анклав. Дополнительные сведения о контейнерах с поддержкой анклава см. здесь.

Вопросы и ответы

Найдите ответы на некоторые распространенные вопросы о поддержке пула узлов Служба Azure Kubernetes (AKS) для узлов конфиденциальных вычислений intel SGX

Next Steps

Развертывание кластера AKS с конфиденциальными вычислительными узлами

Примеры для быстрого начала работы с конфиденциальными контейнерами

Конфиденциальные виртуальные машины Intel SGX — список SKU DCsv2

Конфиденциальные виртуальные машины Intel SGX — список SKU DCsv3

Сеанс вебинара по углубленной защите с помощью конфиденциальных контейнеров