Технология Intel Trusted Execution ( Intel TXT , ранее известная как LaGrande Technology ) — это компьютерная аппаратная технология, основными целями которой являются:
Intel TXT использует Trusted Platform Module (TPM) и криптографические методы для обеспечения измерений программного обеспечения и компонентов платформы, чтобы системное программное обеспечение, а также локальные и удаленные приложения управления могли использовать эти измерения для принятия решений о доверии. Он дополняет Intel Management Engine . Эта технология основана на отраслевой инициативе Trusted Computing Group (TCG) по продвижению более безопасных вычислений. Он защищает от программных атак, направленных на кражу конфиденциальной информации путем повреждения кода системы или BIOS или изменения конфигурации платформы.
Модуль доверенной платформы (TPM), как указано в TCG, обеспечивает множество функций безопасности, включая специальные регистры (называемые регистрами конфигурации платформы – PCR), которые содержат различные измерения в защищенном месте таким образом, чтобы предотвратить подмену. Измерения состоят из криптографического хеша с использованием алгоритма безопасного хеширования (SHA); спецификация TPM v1.0 использует алгоритм хеширования SHA-1 . Более поздние версии TPM (v2.0+) требуют SHA-2 . [1] [2]
Желаемой характеристикой криптографического алгоритма хэширования является то, что (для всех практических целей) результат хэширования (называемый хэш-дайджестом или хешем) любых двух модулей будет давать одинаковое значение хэша только в том случае, если модули идентичны.
Измерения могут быть кодом, структурами данных, конфигурацией, информацией или чем-либо, что может быть загружено в память. TCG требует, чтобы код не выполнялся до тех пор, пока он не будет измерен. Чтобы гарантировать определенную последовательность измерений, хэш-измерения в последовательности не записываются в разные PCR, а PCR «расширяется» измерением. Это означает, что TPM берет текущее значение PCR и измерение, которое должно быть расширено, хэширует их вместе и заменяет содержимое PCR этим результатом хэша. Эффект заключается в том, что единственный способ получить определенное измерение в PCR — это расширить точно такие же измерения в точно таком же порядке. Поэтому, если какой-либо измеряемый модуль был изменен, результирующее измерение PCR будет другим, и, таким образом, легко обнаружить, были ли изменены или повреждены какой-либо код, конфигурация, данные и т. д., которые были измерены. Механизм расширения PCR имеет решающее значение для установления цепочки доверия в уровнях программного обеспечения (см. ниже).
Технология поддерживает как статическую цепочку доверия, так и динамическую цепочку доверия. Статическая цепочка доверия запускается при включении платформы (или сбросе платформы), что сбрасывает все PCR до значений по умолчанию. Для серверных платформ первое измерение выполняется аппаратным обеспечением (т. е. процессором) для измерения модуля с цифровой подписью (называемого модулем аутентифицированного кода или ACM), предоставленного производителем чипсета . Процессор проверяет подпись и целостность подписанного модуля перед его выполнением. Затем ACM измеряет первый модуль кода BIOS, который может выполнять дополнительные измерения.
Измерения модулей кода ACM и BIOS расширены до PCR0, который, как говорят, содержит статический корень измерения доверия (CRTM), а также измерение BIOS Trusted Computing Base (TCB). BIOS измеряет дополнительные компоненты в PCR следующим образом:
Динамическая цепочка доверия начинается, когда операционная система вызывает специальную инструкцию безопасности, которая сбрасывает динамические PCR (PCR17–22) до их значений по умолчанию и начинает измеряемый запуск. Первое динамическое измерение выполняется аппаратным обеспечением (т. е. процессором) для измерения другого модуля с цифровой подписью (называемого SINIT ACM), который также предоставляется производителем чипсета и подпись и целостность которого проверяются процессором. Это известно как измерение динамического корня доверия (DRTM).
Затем SINIT ACM измеряет первый модуль кода операционной системы (называемый измеряемой средой запуска – MLE). Перед тем, как MLE будет разрешено выполниться, SINIT ACM проверяет, что платформа соответствует требованиям политики управления запуском (LCP), установленной владельцем платформы. LCP состоит из трех частей:
Целостность LCP и его списков заведомо хороших измерений защищена путем хранения хэш-измерения политики в TPM в защищенном энергонезависимом месте, которое может быть изменено только владельцем платформы.
После того, как LCP удовлетворен, SINIT ACM позволяет MLE выполняться как Trusted OS, разрешая доступ к специальным регистрам безопасности и разрешая доступ уровня TPM Locality 2. Теперь MLE может выполнять дополнительные измерения динамических PCR. Динамические PCR содержат измерение:
Технология также обеспечивает более безопасный способ инициализации платформы операционной системой. В отличие от обычной инициализации процессора [которая включала отправку процессором начальной загрузки (BSP) прерывания межпроцессорного прерывания запуска (SIPI) каждому процессору приложений, таким образом запуская каждый процессор в «реальном режиме», а затем переходя в «виртуальный режим» и, наконец, в «защищенный режим»], операционная система избегает этой уязвимости, выполняя безопасный запуск (он же измеряемый запуск), который переводит процессоры приложений в особое состояние сна, из которого они напрямую запускаются в защищенном режиме с включенной подкачкой и не могут выйти из этого состояния. [3]
Значения PCR доступны как локально, так и удаленно. Кроме того, TPM имеет возможность цифровой подписи значений PCR (т. е. PCR Quote), чтобы любой субъект мог проверить, что измерения получены от TPM и защищены им, что позволяет удаленной аттестации обнаруживать несанкционированное вмешательство, повреждение и вредоносное программное обеспечение. Кроме того, эти значения можно использовать для идентификации среды выполнения (конкретной версии BIOS, уровня ОС, конфигурации и т. д.) и сравнения их с собственными списками известных хороших значений для дальнейшей категоризации платформы. Эта способность оценивать и назначать уровни доверия платформам известна как Trusted Compute Pools.
Некоторые примеры использования пулов доверенных вычислений:
Многочисленные серверные платформы включают Intel TXT, а функциональность TXT используется поставщиками программного обеспечения, включая HyTrust , PrivateCore , Citrix и VMware . Проекты с открытым исходным кодом также используют функциональность TXT; например, tboot предоставляет систему целостности на основе TXT для ядра Linux и гипервизора Xen . [4] [5]
ПК с Windows 10 с привязкой PCR7 имеют возможность включать или отключать полное шифрование устройства . [6]