TPM
TPM (Trusted Platform Module, доверенный платформенный модуль) — это специализированный криптографический микроконтроллер, предназначенный для обеспечения аппаратной защиты конфиденциальной информации, проверки целостности операционной системы и загрузчика, а также для безопасного хранения ключей шифрования, сертификатов и паролей. TPM представляет собой отдельный чип, встраиваемый в материнскую плату компьютера или другого устройства, либо реализуемый в виде программного эмулятора (fTPM) на уровне прошивки процессора. Модуль соответствует стандарту ISO/IEC 11889, разработанному консорциумом Trusted Computing Group (TCG).
История
Предпосылки создания
Необходимость в аппаратном модуле доверия возникла в конце 1990-х годов в связи с ростом угроз, связанных с программными атаками на криптографические ключи и загрузочные сектора. Программные реализации шифрования (например, BitLocker в ранних версиях) были уязвимы для перехвата ключей из оперативной памяти. В 1999 году компании Microsoft, Intel, IBM, Hewlett-Packard и Compaq основали Trusted Computing Platform Alliance (TCPA), которая в 2003 году была преобразована в Trusted Computing Group (TCG). Первая спецификация TPM версии 1.1b была опубликована в 2003 году.
Развитие версий
- TPM 1.2 (2005—2009) — первая массовая версия. Использовала алгоритмы RSA (до 2048 бит) и SHA-1. Поддерживала базовые функции: генерацию ключей, аттестацию платформы, защищённое хранение. SHA-1 впоследствии был признан нестойким, что стало причиной перехода к новой версии.
- TPM 2.0 (2014) — кардинально переработанный стандарт. Введена поддержка алгоритмов ECC (эллиптическая криптография), AES, SHA-256, а также алгоритмов, одобренных для использования в России (ГОСТ Р 34.10-2012, ГОСТ Р 34.11-2012). Расширена архитектура команд, добавлена возможность гибкой настройки политик доступа и иерархий ключей. С 2016 года Microsoft требует наличия TPM 2.0 для сертификации устройств под управлением Windows 10 и Windows 11.
- TPM 2.0 для встраиваемых систем — облегчённая версия стандарта, оптимизированная для IoT-устройств, роутеров и промышленных контроллеров.
Принятие в России
В России использование TPM регулируется требованиями Федеральной службы по техническому и экспортному контролю (ФСТЭК) и Федеральной службы безопасности (ФСБ). Для применения в государственных информационных системах и системах критической информационной инфраструктуры (КИИ) допускаются только модули, реализующие российские криптографические стандарты (ГОСТ). В 2020-х годах российские производители (например, «Аквариус», «Депо», «Байкал Электроникс») начали выпуск материнских плат с TPM-модулями, поддерживающими ГОСТ. Существуют также программные реализации TPM, сертифицированные ФСТЭК.
Архитектура и устройство
Аппаратная реализация
TPM представляет собой отдельный микроконтроллер с собственной энергонезависимой памятью (NVRAM), генератором случайных чисел (TRNG), криптографическим сопроцессором и интерфейсом подключения (обычно LPC или SPI). Чип физически припаян к материнской плате или устанавливается в разъём (например, LPC-разъём на материнских платах форм-фактора Mini-ITX). Ключевые особенности:
- Изоляция: TPM работает независимо от центрального процессора и операционной системы, что исключает перехват ключей через уязвимости ОС.
- Защита от физического взлома: при попытке вскрытия корпуса чипа или воздействия (лазер, зонды) он сбрасывает ключи и переходит в нерабочее состояние.
- Энергонезависимая память: хранит ключи, сертификаты и метрики целостности даже при отключении питания.
Программная реализация (fTPM)
fTPM (firmware TPM) — это эмуляция TPM на уровне прошивки процессора (например, Intel Platform Trust Technology, AMD PSP). Она не требует отдельного чипа, но использует изолированную область процессора (TrustZone, Secure Enclave). fTPM менее устойчива к физическим атакам, но полностью совместима со стандартом TPM 2.0. В 2023 году были выявлены уязвимости fTPM на процессорах AMD, позволявшие извлечь ключи через локальный доступ.
Ключевые компоненты
- Корневой ключ хранилища (SRK) — главный ключ, генерируемый на этапе производства или первого включения. От него производятся все остальные ключи.
- Регистры конфигурации платформы (PCR) — набор регистров (обычно 24), в которые записываются хеши компонентов загрузки (BIOS, загрузчик, ядро ОС). Значения PCR могут быть только расширены (добавлены новые хеши), но не перезаписаны.
- Счётчик монотонных событий — защищённый от отката счётчик, используемый для защиты от replay-атак.
- Генератор случайных чисел (TRNG) — аппаратный источник энтропии, основанный на тепловом шуме или квантовых эффектах.
Функции и применение
Проверка целостности загрузки (Secure Boot)
TPM используется в связке с UEFI Secure Boot для создания «цепочки доверия»: на этапе загрузки каждый компонент (BIOS, загрузчик, ядро) вычисляет свой хеш и записывает его в PCR. Если хеш не совпадает с эталонным (например, из-за руткита), TPM блокирует загрузку или уведомляет ОС. В Windows эта функция реализована через BitLocker и Measured Boot.
Шифрование дисков (BitLocker, LUKS)
TPM хранит ключ шифрования тома (Volume Master Key) в зашифрованном виде, привязанном к значениям PCR. При загрузке TPM расшифровывает ключ только если PCR совпадают с ожидаемыми. Это предотвращает расшифровку диска при извлечении накопителя и подключении к другому компьютеру. В Linux аналогичная функция доступна через LUKS с TPM-токеном.
Аттестация платформы
TPM может создавать цифровые подписи, подтверждающие, что устройство работает в доверенной среде (например, не заражено вредоносным ПО). Эта функция используется в корпоративных сетях для контроля доступа, в системах DRM (Digital Rights Management) и в облачных вычислениях (например, для доверенной загрузки виртуальных машин).
Безопасное хранение сертификатов и паролей
TPM может генерировать и хранить асимметричные ключи (RSA, ECC), сертификаты X.509 и пароли. Приложения (браузеры, VPN-клиенты, почтовые клиенты) могут использовать TPM через API (например, Key Storage Provider в Windows). Это исключает хранение ключей в файловой системе, где они могут быть украдены.
Двухфакторная аутентификация
TPM может выступать в роли второго фактора (например, при входе в Windows Hello или при аутентификации на веб-сайтах через FIDO2). Ключи, сгенерированные TPM, не могут быть извлечены и скопированы, что делает фишинг бесполезным.
Классификация
По версии стандарта
- TPM 1.2 — устаревший, не поддерживает ECC и SHA-256. Используется в старых устройствах (до 2015 года). Не рекомендуется для новых систем.
- TPM 2.0 — современный стандарт, обязателен для Windows 11. Поддерживает российские криптоалгоритмы.
По способу реализации
- Дискретный TPM (dTPM) — отдельный чип, наиболее безопасный, но дорогой.
- Интегрированный TPM (iTPM) — часть чипсета материнской платы (например, в Intel PTT, AMD fTPM). Дешевле, но менее защищён от физических атак.
- Программный TPM (sTPM) — эмуляция на уровне драйвера (например, TPM Simulator от Microsoft). Используется для тестирования и разработки, не обеспечивает аппаратной защиты.
По типу интерфейса
- LPC (Low Pin Count) — устаревший, используется в TPM 1.2.
- SPI (Serial Peripheral Interface) — современный, используется в TPM 2.0.
- I²C — применяется в мобильных устройствах и встраиваемых системах.
Критика и ограничения
Проблемы безопасности
- Уязвимости прошивки: в 2018 году была обнаружена уязвимость TPM 2.0 в чипах Infineon (CVE-2017-15361), позволявшая извлечь закрытые ключи RSA. Производители выпустили обновления прошивки.
- Физические атаки: при наличии физического доступа к устройству возможен перехват данных на шине SPI (через осциллограф) или сброс TPM через подачу напряжения на контакты. Для защиты используются экранирование и датчики вскрытия.
- Атаки на fTPM: в 2023 году исследователи из Google показали, что fTPM на процессорах AMD может быть скомпрометирован через уязвимость в драйвере (CVE-2023-31315). Исправление выпущено в обновлении прошивки AGESA.
Проблемы совместимости
- ОС: TPM не поддерживается в Windows 7 и более ранних версиях. В Linux поддержка TPM 2.0 появилась начиная с ядра 4.4 (2016 год), но требует установки дополнительных утилит (tpm2-tools).
- Аппаратное обеспечение: для использования TPM 2.0 необходима материнская плата с соответствующим разъёмом или поддержкой fTPM в BIOS. На многих старых материнских платах (до 2015 года) TPM отсутствует.
Критика со стороны сообщества
- Потенциальное ограничение прав пользователя: TPM может использоваться для DRM (например, в Windows Media Player для защиты контента), что ограничивает возможность копирования легально приобретённых файлов. В 2000-х годах это вызывало протесты со стороны правозащитных организаций (например, Electronic Frontier Foundation).
- Зависимость от производителя: ключи, сгенерированные TPM, не могут быть перенесены на другое устройство. При выходе TPM из строя данные, зашифрованные BitLocker, могут быть потеряны без резервной копии ключа восстановления.
- Отсутствие стандартизации в России: до 2020-х годов TPM-модули с поддержкой ГОСТ были редкостью, что вынуждало госорганы использовать программные криптосредства (например, КриптоПро).
Интересные факты
- Первый TPM-чип был выпущен компанией Infineon в 2004 году.
- В 2021 году Microsoft сделала TPM 2.0 обязательным требованием для установки Windows 11, что вызвало критику из-за несовместимости с миллионами старых ПК. Однако позже были найдены способы обхода (например, через реестр).
- В России разработкой TPM-модулей с поддержкой ГОСТ занимается компания «Ангстрем» (Зеленоград). В 2022 году был представлен модуль «Ангстрем-ТМ» на базе отечественного микроконтроллера.
- TPM используется не только в ПК, но и в игровых консолях (Xbox One, PlayStation 4/5) для защиты от модификаций и пиратства.
- В 2023 году исследователи из Университета штата Мичиган продемонстрировали атаку на TPM через лазерное излучение, позволявшую сбросить PCR и обойти Secure Boot. Атака требует дорогостоящего оборудования и физического доступа.
Источники
- Trusted Computing Group. TPM 2.0 Library Specification. 2014.
- ISO/IEC 11889:2015. Information technology — Trusted Platform Module.
- Microsoft. Windows 11 Hardware Requirements. 2021.
- ФСТЭК России. Требования к средствам криптографической защиты информации. 2020.
- CVE-2017-15361. Infineon TPM RSA Key Extraction Vulnerability.
- CVE-2023-31315. AMD fTPM Vulnerability.
- «Ангстрем». Модуль доверенной загрузки «Ангстрем-ТМ». Техническая документация. 2022.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →