Доверенный платформенный модуль TPM
Доверенный платформенный модуль (Trusted Platform Module, TPM) — это специализированный криптографический микроконтроллер, предназначенный для обеспечения аппаратной безопасности вычислительных устройств. Он представляет собой отдельный чип, встроенный в материнскую плату или интегрированный в центральный процессор, который хранит криптографические ключи, сертификаты и пароли, защищая их от программных и физических атак. TPM является ключевым компонентом концепции доверенной загрузки (Trusted Boot) и используется для подтверждения целостности операционной системы и программного обеспечения.
История
Разработка TPM началась в конце 1990-х годов по инициативе консорциума Trusted Computing Group (TCG), в который вошли компании Intel, AMD, IBM, Microsoft и другие. Первая версия спецификации, TPM 1.1, была опубликована в 2003 году. Она определяла базовые функции хранения ключей и генерации случайных чисел. В 2005 году вышла версия TPM 1.2, которая стала стандартом де-факто для многих корпоративных и потребительских устройств на протяжении более десяти лет. TPM 1.2 поддерживал алгоритмы RSA и SHA-1, а также реализовывал концепцию «корня доверия» (Root of Trust).
В 2014 году TCG представила спецификацию TPM 2.0, которая значительно расширила функциональность модуля. Ключевыми нововведениями стали поддержка более современных криптографических алгоритмов (ECC, SHA-256, AES), гибкая система управления политиками и возможность использования TPM в различных сценариях, включая виртуализацию и облачные вычисления. С 2016 года Microsoft начала требовать наличия TPM 2.0 для сертификации устройств под управлением Windows 10, что стимулировало массовое внедрение модуля. В 2021 году Microsoft сделала TPM 2.0 обязательным требованием для установки Windows 11, что привело к значительному росту популярности технологии.
Устройство и принцип работы
Аппаратная архитектура
TPM представляет собой автономный микроконтроллер, содержащий собственную энергонезависимую память (NVRAM) для хранения ключей и конфигурации, оперативную память (RAM) для временных данных и криптографический сопроцессор. В отличие от основного процессора, TPM изолирован от операционной системы, что делает его устойчивым к программным атакам. Чип подключается к материнской плате через интерфейсы LPC (Low Pin Count) или SPI (Serial Peripheral Interface). В современных процессорах (например, Intel и AMD) TPM может быть реализован как часть встроенного контроллера управления (fTPM) или в виде отдельного модуля.
Основные функции
TPM выполняет три ключевые задачи:
- Генерация и хранение ключей: модуль способен генерировать криптографические ключи внутри себя, не раскрывая их операционной системе. Ключи хранятся в защищённой области памяти, доступ к которой возможен только через команды TPM.
- Аттестация платформы: TPM может создавать цифровые подписи, подтверждающие, что устройство находится в доверенном состоянии. Для этого используются значения, записанные в регистры конфигурации платформы (PCR).
- Защита целостности: TPM участвует в процессе доверенной загрузки, проверяя хэши загрузчика, ядра операционной системы и драйверов. Если какой-либо компонент был изменён, TPM может заблокировать загрузку или уведомить пользователя.
Регистры конфигурации платформы (PCR)
PCR — это специальные регистры внутри TPM, которые хранят хэш-значения, отражающие состояние системы. В процессе загрузки каждый этап (BIOS, загрузчик, ядро) вычисляет хэш своего кода и записывает его в PCR. Поскольку PCR не могут быть сброшены программно, злоумышленник не может подменить значения. Аттестация платформы происходит путём сравнения текущих значений PCR с эталонными (например, полученными от производителя).
Классификация
TPM классифицируются по версиям спецификации и способу реализации.
По версии спецификации
- TPM 1.2: устаревшая версия, поддерживающая только алгоритм RSA (до 2048 бит) и хэш SHA-1. Используется в устройствах, выпущенных до 2016 года. Не поддерживает современные требования к безопасности, такие как SHA-256.
- TPM 2.0: современная версия, поддерживающая алгоритмы RSA, ECC, AES, а также хэши SHA-256, SHA-384 и SHA-512. Обеспечивает гибкость в настройке политик и совместимость с новыми операционными системами.
По способу реализации
- Дискретный TPM (dTPM): отдельный микроконтроллер, припаянный к материнской плате. Обеспечивает максимальную изоляцию и защиту от физических атак, но увеличивает стоимость устройства.
- Интегрированный TPM (fTPM): реализован программно в микрокоде процессора или встроенного контроллера управления. Дешевле в производстве, но потенциально уязвим для атак на уровне прошивки процессора.
- Программный TPM (sTPM): эмуляция TPM на уровне операционной системы. Используется в виртуальных машинах и тестовых средах, не обеспечивает аппаратной защиты.
Применение
Защита операционной системы
TPM используется для обеспечения безопасной загрузки (Secure Boot) и доверенной загрузки (Trusted Boot). В Windows 10 и 11 TPM участвует в проверке подписей драйверов и загрузчика, а также в шифровании диска с помощью BitLocker. BitLocker использует TPM для хранения ключей шифрования, что позволяет автоматически разблокировать диск при загрузке, если система не была изменена.
Аутентификация и управление доступом
TPM может хранить учётные данные для входа в систему (например, PIN-коды Windows Hello) и сертификаты для аутентификации в корпоративных сетях. Модуль также используется для защиты от атак на основе подбора паролей, блокируя доступ после нескольких неудачных попыток.
Криптографические операции
TPM может выполнять операции шифрования и подписи данных без передачи ключей в оперативную память. Это применяется в системах электронной подписи, защите электронной почты (S/MIME) и VPN-соединений.
Виртуализация и облачные вычисления
В гипервизорах (например, Hyper-V) TPM может быть виртуализирован, что позволяет каждой виртуальной машине иметь свой собственный «виртуальный TPM». Это обеспечивает изоляцию и защиту данных в облачных средах.
Критика и ограничения
Несмотря на широкое распространение, TPM подвергается критике по нескольким причинам. Во-первых, модуль может быть использован для реализации цифрового управления правами (DRM), ограничивая возможности пользователя по управлению собственным устройством. Например, TPM может блокировать установку неподписанных операционных систем или драйверов. Во-вторых, TPM 1.2 использует устаревший алгоритм SHA-1, который подвержен коллизионным атакам. В-третьих, физические атаки на TPM (например, с помощью лазерного сканирования или анализа электромагнитного излучения) возможны, хотя и требуют дорогостоящего оборудования. Наконец, внедрение TPM 2.0 как обязательного требования для Windows 11 вызвало критику со стороны пользователей устаревших компьютеров, которые не могут обновить систему без замены оборудования.
Интересные факты
- В 2017 году исследователи из Университета Бирмингема продемонстрировали атаку на TPM 1.2, позволяющую извлечь ключи шифрования BitLocker с помощью анализа времени выполнения операций.
- TPM 2.0 поддерживает до 24 регистров PCR, тогда как TPM 1.2 — только 16.
- В России использование TPM регулируется Федеральным законом «О безопасности критической информационной инфраструктуры», который требует применения сертифицированных средств криптографической защиты информации, включая TPM, в государственных информационных системах.
Источники
- Trusted Computing Group. TPM 2.0 Library Specification (2014).
- Microsoft. Windows 11 System Requirements (2021).
- National Institute of Standards and Technology (NIST). Special Publication 800-147: BIOS Protection Guidelines (2011).
- Intel. Intel Platform Trust Technology (PTT) Overview (2020).
- AMD. AMD Platform Security Processor (PSP) Documentation (2019).
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →