Intel Trust Domain Extensions ( TDX ) — это технология уровня ЦП , предложенная Intel в мае 2021 года для реализации доверенной среды выполнения , в которой виртуальные машины (называемые «доверенными доменами» или TD) аппаратно изолированы от монитора виртуальных машин (VMM) хоста, гипервизора и другого программного обеспечения на хосте. Эта аппаратная изоляция предназначена для предотвращения нарушения конфиденциальности и целостности виртуальной машины TD со стороны злоумышленников с административным или физическим доступом. TDX также поддерживает функцию удаленной аттестации, которая позволяет пользователям определять, включена ли в удаленной системе защита TDX, прежде чем отправлять ей конфиденциальные данные. [1]
Intel TDX особенно полезен для поставщиков облачных услуг, поскольку он повышает изоляцию виртуальных машин клиентов и обеспечивает более высокий уровень уверенности в том, что поставщик облачных услуг не сможет получить доступ к данным клиента. [2] [3] [4] [5]
Intel TDX был описан в патенте США под номером 20210141658A1, на который подана заявка. [6]
TDX состоит из нескольких компонентов, включая расширения архитектуры набора инструкций Virtual Machine Extensions (VMX) , технологию шифрования памяти и новый режим работы ЦП , называемый SEAM («Безопасный арбитражный режим»), в котором размещается модуль TDX. [7]
TDX определяет два класса памяти: разделяемая память и частная память. Разделяемая память предназначена для использования при взаимодействии с хостом TD и может получать некоторую защиту TDX. Частная память получила полную защиту конфиденциальности и целостности TDX.
TDX реализует защиту памяти, шифруя память TD с помощью 128-битного ключа AES-XTS per-TD. Чтобы избежать утечки зашифрованного текста, доступ к памяти ограничен режимом SEAM, а прямой доступ к памяти невозможен. Если включена защита целостности памяти, для частной памяти генерируется MAC с использованием SHA-3-256, и если проверка MAC не проходит, TD VM завершается. Регистры TD VM также остаются конфиденциальными, сохраняя их в состоянии сохранения per-TD и очищая их, когда TD возвращает управление TD VM. [1] [8]
Этот раздел нуждается в расширении . Вы можете помочь, дополнив его. ( Ноябрь 2021 ) |
TDX обеспечивает аппаратную изоляцию TD VMs, выступая посредником во всех коммуникациях VMM с TD через модуль TDX и предотвращая доступ VMM к данным TD. VMM взаимодействует с модулем TDX с помощью инструкцийSEAMCALL
new и CPU . SEAMCALL используется VMM для вызова модуля TDX с целью создания, удаления или выполнения TD. SEAMRET используется модулем TDX для возврата выполнения обратно в VMM. [1] [9] [10]SEAMRET
Функция удаленной аттестации TDX основана на технологии SGX, чтобы позволить кому-либо определить, что удаленный TD имеет включенную защиту TDX до отправки ему конфиденциальных данных. Отчет удаленной аттестации может быть сгенерирован модулем TDX, вызывающим инструкцию SEAMREPORT. Инструкция SEAMREPORT генерирует структуру "Report", подписанную MAC, которая включает такую информацию, как номера версий компонентов TDX. Затем VMM будет использовать анклавы SGX для преобразования этой структуры "Report" в удаленно проверяемую "Quote", которую он будет отправлять в систему, запрашивающую аттестацию. [1]
TDX доступен для процессоров Intel Xeon 5-го поколения (кодовое название Emerald Rapids ) и вариантов Edge Enhanced Compute процессоров Xeon 4-го поколения (кодовое название Sapphire Rapids ). [11]
Первые исправления для поддержки технологии TDX в ядре Linux были опубликованы в списке рассылки ядра Linux примерно в июне 2021 года [12] , были объединены 24 мая 2022 года и включены в основную версию ядра Linux 5.19. [13]
Microsoft Azure объявила, что с 24 апреля 2023 года их новые виртуальные машины серий DCesv5 и ECesv5 будут поддерживать Intel TDX. [14] Они также опубликовали информацию о том, как использовать Intel TDX в рамках аттестации Microsoft Azure. [15]
TDX в некоторой степени похож на SGX , поскольку оба являются реализациями доверенных сред выполнения . Однако они существенно различаются по объему защиты, и SGX требует, чтобы приложения были переписаны для поддержки SGX, в то время как TDX требует поддержки только на уровне оборудования и операционной системы. [16] На хосте VMM TDX включает использование анклавов SGX для включения поддержки удаленной аттестации. Кроме того, даже операционная система, которая не поддерживает работу в качестве TD VM, может быть защищена путем запуска в качестве вложенной VM внутри TD VM. [1]