Надежная технология выполнения - Trusted Execution Technology

Технология Intel Trusted Execution (Intel TXT, ранее известный как Технология LaGrande) - это компьютерная аппаратная технология, основными задачами которой являются:

  • Подтверждение подлинности платформы и ее Операционная система.
  • Гарантия того, что подлинная операционная система запускается в доверенной среде, которую затем можно считать надежной.
  • Предоставление доверенной операционной системы с дополнительными возможностями безопасности, недоступными непроверенной.

Intel TXT использует Модуль доверенной платформы (TPM) и криптографические методы для обеспечения измерений программного обеспечения и компонентов платформы, чтобы системное программное обеспечение, а также приложения для локального и удаленного управления могли использовать эти измерения для принятия решений о доверии. Он дополняет Intel Management Engine. Эта технология основана на отраслевой инициативе Группа доверенных вычислений (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 до значений по умолчанию. Для серверных платформ первое измерение выполняется аппаратным обеспечением (то есть процессором) для измерения модуля с цифровой подписью (называемого модулем аутентифицированного кода или ACM), предоставляемого чипсет производитель. Процессор проверяет подпись и целостность подписанного модуля перед его выполнением. Затем ACM измеряет первый модуль кода BIOS, который может выполнить дополнительные измерения.

Измерения модулей кода ACM и BIOS расширены до PCR0, который, как утверждается, содержит статическое ядро ​​корневого измерения доверия (CRTM), а также измерение BIOS. Надежная вычислительная база (УТС). BIOS измеряет дополнительные компоненты в PCR следующим образом:

  • PCR0 - CRTM, Код BIOS и расширения хост-платформы[а]
  • ПЦР1 - Конфигурация хост-платформы
  • ПЦР2 - Вариант ПЗУ Код
  • ПЦР3 - Конфигурация и данные дополнительного ПЗУ
  • ПЦР4 - Код IPL (начального загрузчика программы) (обычно Главная загрузочная запись - MBR)
  • ПЦР5 - Конфигурация и данные кода IPL (для использования кодом IPL)
  • PCR6 - События перехода между состояниями и пробуждения
  • PCR7 - Контроль производителя хост-платформы

Динамическая цепочка доверия начинается, когда операционная система вызывает специальную инструкцию безопасности, которая сбрасывает динамические PCR (PCR17–22) до значений по умолчанию и запускает измеряемый запуск. Первое динамическое измерение выполняется аппаратным обеспечением (то есть процессором) для измерения другого модуля с цифровой подписью (называемого SINIT ACM), который также предоставляется производителем набора микросхем и чья подпись и целостность проверяются процессором. Это называется динамическим корнем измерения доверия (DRTM).

Затем SINIT ACM измеряет первый модуль кода операционной системы (называемый измеряемой средой запуска - MLE). Прежде чем MLE будет разрешено выполнение, SINIT ACM проверяет, соответствует ли платформа требованиям политики управления запуском (LCP), установленной владельцем платформы. LCP состоит из трех частей:

  1. Проверка того, что версия SINIT равна или новее указанного значения
  2. Проверка правильности конфигурации платформы (PCONF) путем сравнения PCR0–7 с заведомо исправными значениями (владелец платформы решает, какие PCR включать)
  3. Проверка правильности MLE путем сравнения его измерения со списком заведомо исправных измерений.

Целостность LCP и ее списки заведомо исправных измерений защищены путем хранения хеш-измерения политики в TPM в защищенном энергонезависимом месте, которое может быть изменено только владельцем платформы.

Выполнить как доверенная ОС

Как только LCP удовлетворяется, SINIT ACM позволяет MLE работать в качестве доверенной ОС, разрешая доступ к специальным регистрам безопасности и разрешая доступ TPM на уровне местоположения 2. Теперь MLE может выполнять дополнительные измерения динамических PCR. Динамические ПЦР содержат измерения:

  • PCR17 - DRTM и политика управления запуском
  • PCR18 - Код запуска доверенной ОС (MLE)
  • PCR19 - Надежная ОС (например, конфигурация ОС)
  • PCR20 - Надежная ОС (например, ядро ​​ОС и другой код)
  • PCR21 - в соответствии с определением доверенной ОС
  • PCR22 - в соответствии с определением доверенной ОС

Эта технология также обеспечивает более безопасный способ инициализации платформы операционной системой. В отличие от обычной инициализации процессора [которая включает в себя загрузочный процессор (BSP), отправляющий запускающее межпроцессорное прерывание (SIPI) каждому прикладному процессору, таким образом, каждый процессор запускается в «реальном режиме», а затем переходит в « виртуальный режим »и, наконец,« защищенный режим »], операционная система избегает этой уязвимости, выполняя безопасный запуск (также известный как измеренный запуск), который переводит процессоры приложений в особое состояние сна, из которого они напрямую запускаются в защищенном режиме с включенной подкачкой , и им не разрешено покидать это состояние.[3]

Заявление

Значения ПЦР доступны как локально, так и удаленно. Кроме того, TPM имеет возможность поставить цифровую подпись для значений PCR (т. Е. Котировки PCR), чтобы любой объект мог проверить, что измерения поступают от TPM и защищены им, что позволяет удаленной аттестации обнаруживать фальсификацию, повреждение и т. Д. и вредоносное ПО. Кроме того, эти значения можно использовать для идентификации среды выполнения (конкретная версия BIOS, уровень ОС, конфигурация и т. Д.) И сравнения их с собственными списками заведомо хороших значений для дальнейшей категоризации платформы. Эта возможность оценивать и назначать уровни доверия платформам известна как Trusted Compute Pools.

Некоторые примеры использования доверенных вычислительных пулов:

  • Изоляция - возможность контролировать, подключается ли платформа к производственной сети или помещена в карантин, на основе ее уровня доверия или невозможности пройти политику управления запуском.
  • Политика на основе доверия - например, ограничение выполнения критически важных приложений только на платформах, соответствующих указанному уровню доверия.
  • Соблюдение нормативных требований и аудит - демонстрация того, что критические, личные или конфиденциальные данные обрабатывались только на платформах, отвечающих требованиям доверия.

Многочисленные серверные платформы включают Intel TXT, а функциональность TXT используется поставщиками программного обеспечения, включая HyTrust, PrivateCore, Citrix, и VMware. Открытый исходный код проекты также используют функциональность TXT; Например, tboot обеспечивает систему целостности на основе TXT для Ядро Linux и Xen гипервизор.[4][5]

Смотрите также

Примечания

  1. ^ CRTM измеряется процессором, а исходный код BIOS измеряется ACM (все другие измерения, выполняемые BIOS или другим кодом прошивки), но только после измерения этого кода.

Рекомендации

  1. ^ "Использование SHA-1 в TPM v1.2". Группа доверенных вычислений. Получено 2014-03-14.
  2. ^ «Часто задаваемые вопросы по спецификации библиотеки TPM 2.0». Группа доверенных вычислений. Получено 2014-03-14.
  3. ^ «Глава 2.2: Запуск MLE». Руководство по разработке программного обеспечения Intel Trusted Execution Technology (Intel® TXT) (PDF). Intel.
  4. ^ "tboot (надежная загрузка)". sourceforge.net. 6 октября 2014 г.. Получено 16 ноября, 2014.
  5. ^ Джозеф Чихула (28 февраля 2011 г.). «Надежная загрузка: проверка запуска Xen» (PDF). xenproject.org. Получено 16 ноября, 2014.

внешняя ссылка