Trusted Platform Module (TPM, доверенный платформенный модуль) — независимый компонент системы, который контролирует ее состояние и обеспечивает защиту данных с помощью шифрования. TPM может быть реализован как отдельный чип в устройстве или как программа, однако аппаратные TPM считаются более надежными.
TPM присутствует в большинстве современных компьютеров и ноутбуков и может использоваться для шифрования диска, аутентификации и управления доступом, а также для защиты лицензионных продуктов от изменения и копирования.
Корни доверия (Roots of Trust)
Важной частью TPM являются корни доверия (Roots of Trust, RoT) — элементы системы, которые должны быть доверенными, потому что проконтролировать, что их поведение нормально, невозможно. Доверие к этим элементам обеспечивает сертификация, подтверждающая, что конкретная реализация корня доверия соответствует стандартам безопасности.
В TPM входят три корня доверия:
- Root of Trust for Measurement (RTM) — корень доверия, отвечающий за измерение состояния системы;
- Root of Trust for Storage (RTS) — корень доверия, отвечающий за хранение данных;
- Root of Trust for Reporting (RTR) — корень доверия, отвечающий за формирование отчетов.
Устройство Trusted Platform Module
В TPM входят следующие компоненты:
- Блок ввода-вывода — управляет потоком информации между TPM и остальной системой.
- Криптографический процессор — отвечает за создание ключей, шифрование и расшифровку, а также хэширование.
- Энергонезависимая память — необходима для хранения данных, которые не должны сбрасываться при отключении питания, в частности некоторых криптографических и аутентификационных данных.
- Реестры конфигурации платформы (Platform Configuration Registers, PCR) — содержат информацию о целостности системы.
- Подсистема авторизации — отвечает за проверку поступающих на TPM команд перед их выполнением.
Принцип работы Trusted Platform Module
Модуль TPM работает под управлением собственного встроенного ПО и не зависит от операционной системы устройства. Он может принимать и выполнять команды, хранить данные и выдавать их по запросу. Криптопроцессор в составе TPM способен генерировать случайные числа, ключи шифрования и цифровые подписи, вычислять хэши и шифровать данные с помощью симметричных и асимметричных алгоритмов. В частности, TPM таким образом шифрует ключи, с помощью которых защищаются данные на компьютере, что воспользоваться ими без помощи модуля становится невозможно. TPM используют, например, программные средства полнодискового шифрования, такие как BitLocker.
TPM также способен контролировать состояние системы. В частности, модуль проверяет, нет ли признаков внешнего вмешательства в его аппаратное и программное обеспечение. Если он обнаружит существенные изменения, он может отказаться предоставлять доступ к защищенным данным.