Доверенный платформенный модуль¶
Доверенный платформенный модуль (Trusted Platform Module, TPM) — это специализированный криптографический сопроцессор, встроенный в материнскую плату компьютера или другого устройства, который обеспечивает аппаратную защиту конфиденциальных данных, целостность загрузки и аутентификацию платформы. TPM представляет собой микросхему, реализующую набор криптографических функций (генерация и хранение ключей, шифрование, хеширование) и защищённое энергонезависимое хранилище для секретов, таких как ключи шифрования, сертификаты и пароли. Основное назначение модуля — создание «корня доверия» (root of trust), то есть аппаратно гарантированной точки отсчёта для проверки, что программное обеспечение и конфигурация системы не были изменены злоумышленником или вредоносным кодом.
¶История развития
¶Предпосылки создания
Потребность в аппаратной защите вычислительных платформ возникла в конце 1990-х годов, когда стало очевидно, что программные средства защиты (антивирусы, брандмауэры) не могут гарантированно противостоять атакам на уровне загрузчика или операционной системы. Вредоносное ПО, такое как руткиты, способно скрывать своё присутствие от программного обеспечения, работающего в той же среде.
¶Группа TCG и первые спецификации
В 1999 году компании Intel, Microsoft, IBM, Hewlett-Packard и другие основали Trusted Computing Group (TCG) — консорциум, разрабатывающий открытые стандарты для доверенных вычислений. В 2003 году TCG опубликовала первую версию спецификации TPM 1.1b, а в 2006 году — версию 1.2, которая стала широко распространённой. Версия 1.2 поддерживала алгоритмы RSA (до 2048 бит), SHA-1 и AES-128, а также включала механизмы аттестации платформы.
¶Переход на TPM 2.0
В 2014 году была выпущена спецификация TPM 2.0, которая кардинально переработала архитектуру. В отличие от TPM 1.2, где алгоритмы были жёстко зафиксированы, TPM 2.0 стал гибким: поддерживает различные алгоритмы (RSA, ECC, SHA-256, SM3, SM4, AES-256), а также позволяет добавлять новые криптографические примитивы через профили. TPM 2.0 также ввёл более совершенную систему управления ключами и политиками доступа. Начиная с 2016 года, многие производители материнских плат и ноутбуков начали встраивать TPM 2.0 по умолчанию. В 2021 году Microsoft объявила, что TPM 2.0 является обязательным требованием для установки Windows 11, что стимулировало массовое внедрение модуля.
¶Архитектура и устройство
¶Аппаратная реализация
TPM может быть реализован тремя способами:
- Дискретный TPM (dTPM) — отдельная микросхема, припаянная к материнской плате, с собственным процессором, памятью и защищённым хранилищем. Обеспечивает наивысший уровень безопасности, так как физически изолирован от основной системы.
- Интегрированный TPM (fTPM) — реализация в виде выделенной области внутри чипсета или процессора (например, в AMD Platform Security Processor или Intel Management Engine). Занимает меньше места, но может быть уязвим к атакам на уровне прошивки.
- Программный TPM (vTPM) — эмуляция модуля в виртуальной среде (гипервизоре). Используется в облачных вычислениях и виртуальных машинах, но не обеспечивает аппаратной защиты.
¶Основные компоненты
- Криптографический движок — выполняет операции RSA, ECC, AES, SHA-256, а также генерацию случайных чисел (TRNG — True Random Number Generator).
- Защищённое хранилище — энергонезависимая память (NVRAM), доступная только через команды TPM. Содержит ключи, сертификаты, значения PCR (Platform Configuration Registers).
- PCR (Platform Configuration Registers) — набор регистров (обычно 24 для TPM 2.0), в которые последовательно записываются хеши измеряемых компонентов (BIOS, загрузчик, ядро ОС). Значения PCR невозможно изменить напрямую — только путём добавления нового хеша (операция extend).
- Endorsement Key (EK) — уникальный ключ, встроенный в TPM производителем. Служит для идентификации конкретного модуля и используется при аттестации платформы.
- Storage Root Key (SRK) — корневой ключ для шифрования всех остальных ключей, хранящихся в TPM.
¶Принцип работы
¶Измерение целостности загрузки (Secure Boot)
Процесс доверенной загрузки начинается с BIOS/UEFI, который измеряет (вычисляет хеш) свой код и записывает результат в PCR 0. Затем загрузчик измеряет своё состояние и записывает в PCR 1, и так далее. Если на каком-то этапе код был изменён (например, руткитом), хеш не совпадёт с эталонным, и TPM может заблокировать доступ к ключам или отказать в расшифровке диска.
¶Шифрование диска (BitLocker, LUKS)
TPM хранит ключ шифрования диска, который выдаётся только при условии, что значения PCR соответствуют доверенной конфигурации. Если злоумышленник загрузит систему с другого диска или изменит загрузчик, TPM не отдаст ключ, и данные останутся зашифрованными.
¶Аттестация платформы
TPM может подписывать отчёт о состоянии системы (содержащий значения PCR) с помощью ключа Attestation Identity Key (AIK). Этот отчёт позволяет удалённому серверу (например, корпоративному VPN или облачному провайдеру) убедиться, что устройство не скомпрометировано, прежде чем предоставить доступ.
¶Классификация и стандарты
¶Версии TPM
- TPM 1.2 — устаревшая версия, поддерживает только RSA-2048, SHA-1, AES-128. Используется в устройствах до 2014 года.
- TPM 2.0 — современная версия, поддерживает ECC (NIST P-256, P-384, P-521), SM2, SM3, SM4, SHA-256, SHA-384, SHA-512. Гибкая архитектура с профилями алгоритмов.
¶Профили TPM 2.0
TCG определяет несколько профилей (Platform Specific Profiles), адаптирующих TPM под разные платформы:
- PC Client — для настольных и портативных компьютеров.
- Mobile — для смартфонов и планшетов.
- IoT — для встраиваемых систем.
- Server — для серверов.
¶Применение
¶Операционные системы
- Windows — BitLocker (шифрование диска), Windows Hello (биометрическая аутентификация), Virtual Smart Card, Credential Guard.
- Linux — LUKS (шифрование диска) с TPM, Integrity Measurement Architecture (IMA), система инициализации systemd (поддержка TPM для хранения ключей).
- macOS — начиная с чипов Apple T2 (2018) и M1/M2, используется Secure Enclave, которая по функционалу аналогична TPM, но реализована в процессоре.
¶Корпоративная безопасность
- VPN и удалённый доступ — аттестация клиентских устройств перед подключением к корпоративной сети.
- Управление цифровыми правами (DRM) — защита контента от несанкционированного копирования.
- Аутентификация устройств — привязка лицензий и сертификатов к конкретному TPM.
¶Облачные вычисления
Виртуальные TPM (vTPM) используются в облачных платформах (Azure, AWS, Google Cloud) для обеспечения доверенной загрузки виртуальных машин и защиты ключей шифрования.
¶Критика и ограничения
¶Уязвимости
- Атаки на шину — некоторые реализации TPM 1.2 были уязвимы к перехвату данных на шине LPC (Low Pin Count) между TPM и чипсетом.
- Атаки на прошивку — в 2018 году были обнаружены уязвимости в Intel Management Engine, который может использоваться для реализации fTPM.
- Физический доступ — при наличии физического доступа к устройству злоумышленник может снять данные с дискретного TPM с помощью сложного оборудования (например, анализатора спектра).
¶Вопросы конфиденциальности
Критики (включая Electronic Frontier Foundation) отмечали, что TPM может использоваться для реализации DRM-ограничений, которые ограничивают права пользователя на управление собственным устройством. Например, TPM может запретить установку неподписанной операционной системы или модификацию прошивки.
¶Совместимость
TPM 2.0 не обратно совместим с TPM 1.2, что создаёт проблемы при миграции старых систем. Кроме того, для работы TPM требуется поддержка в BIOS/UEFI и операционной системе, что не всегда реализовано корректно.
¶Интересные факты
- В 2021 году, после выхода Windows 11, спрос на TPM-модули резко вырос, что привело к дефициту и росту цен на дискретные TPM 2.0.
- TPM используется не только в компьютерах, но и в автомобилях (для защиты прошивки ЭБУ), банкоматах, медицинском оборудовании и игровых консолях (например, Xbox One и PlayStation 5).
- В России TPM-модули не являются обязательными для государственных информационных систем, однако в рамках импортозамещения разрабатываются отечественные аналоги (например, модуль «АМДЗ» на базе российских микросхем).
¶Источники
- Trusted Computing Group (TCG) — TPM 2.0 Library Specification, 2019.
- Microsoft — Windows 11 System Requirements: TPM 2.0, 2021.
- NIST — Special Publication 800-147: BIOS Protection Guidelines, 2011.
- Electronic Frontier Foundation — Trusted Computing: Promise and Risk, 2003.
- Intel — Platform Trust Technology (PTT) and fTPM, 2020.
- AMD — AMD Platform Security Processor (PSP) Technical Overview, 2019.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →


