Как стать автором
Обновить

О TPM подробно

Время на прочтение8 мин
Количество просмотров54K
Автор оригинала: Darien Graham-Smith

Что это за загадочный маленький чип такой, который необходим для Windows 11? Дэриен Грэм-Смит разбирается.

Купи вы сегодня компьютер с Windows ОС, и в нём наверняка будет модуль TPM. Доверенный платформенный модуль – это, по сути, обычный чип, который отвечает за безопасность. Разработала его Trusted Computing Group. Это отраслевая организация с более чем 100 членами, в том числе AMD, Dell, Google, Intel, Lenovo и Microsoft. Вместе они работают над тем, чтобы сделать вычислительные устройства и приложения более защищёнными.

Организация так или иначе функционировала с 1999 года. Первый TPM-стандарт, где в полной мере изложена функциональность модуля, опубликовала в 2009 году (любопытно, что представлен он был в версии 1.2). Разработчики быстро взяли его на вооружение. Случилось это отчасти благодаря тому, что его стала поддерживать Windows Vista. В 2015-м в спецификацию TPM 2.0 добавили несколько функций, а модуль по-прежнему оставался передовой технологией для "доверенных вычислений".

Несмотря на широкое распространение, TPM всегда был необязательным компонентом. Включать ли его в дизайн устройства, решал производитель. Пользователь же в свою очередь решал, включать ли его в настройках BIOS. Однако с выходом Windows 11 расклад поменялся. Microsoft объявила, что будет поддерживать последнюю версию ОС только на тех компьютерах, где установлен и включён TPM 2.0.

Решение оказалось спорным. Для установки Windows 10 не требовался модуль, да и Windows 11 тоже без него обойтись может. Microsoft даже выпустила инструкцию, чтобы пользователи могли обновиться до Windows 11 без TPM (pcpro.link/331tpmhack). Однако в таком случае ваш ПК лишится поддержки и, возможно, не будет получать обновления в будущем.

Так почему же Microsoft решила сделать модуль TPM 2.0 обязательным? Чтобы узнать это, надо разобраться, что такое TPM и как он работает.

Где находится TPM?

Доверенный платформенный модуль изначально задуман как маленький недорогой чип, который был интегрирован в процессор на материнской плате. Когда использование TPM вошло в обиход, производители стали припаивать чип напрямую к плате.

Технический стандарт не требует, чтобы TPM был выполнен в виде физического чипа. На практике все функции TPM могут выполнять встроенные программы CPU. Собственно, это и происходит с процессорами на Windows 11: ОС поддерживает определённый перечень аппаратного обеспечения от Intel и AMD.

Как работает TPM?

TPM работает как мини-компьютер. Он принимает команды, отвечает на них, а также хранит и выдаёт информацию. Для этого у него имеется встроенная память: по техническому стандарту у модуля должно быть по крайней мере 7 Кб хранилища, однако у новых TPM имеется свыше 100 Кб. Память эта энергонезависима, т. е. сохраняет данные после отключения питания, как и SSD.

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

К примеру, если приложение вверяет пароль TPM, то модуль может сделать этот пароль доступным только для того процесса, где он изначально был сохранён. Если же информацию запрашивает другая программа — например, зловред какой-нибудь — TPM откажет в доступе. Поскольку модуль полностью независим от Windows, вредонос, по сути, загнан в угол.

Итак, TPM может как разрешить, так и запретить предоставлять данные. Происходит так потому, что модуль способен оценить состояние аппаратной конфигурации и войти в ПО, запущенное на ПК. Таким образом он определяет, является ли среда знакомой и безопасной, и реагирует соответственно.

Если установить пароль при включении ПК, TPM здесь тоже будет полезен: модуль сверит введённые учётные данные с теми, что хранятся в его памяти. Так злоумышленник не сможет отделаться от процедуры ввода пароля, просто очистив BIOS.

Защита от брут-форса тоже предусмотрена: если ввести неверный пароль несколько раз, придётся подождать некоторое время, прежде чем попытаться снова. Причём время ожидания увеличивается после каждой неудачной попытки. Большое число неудачных попыток приведёт к принудительной отсрочке на сутки. И не пытайтесь поменять дату в BIOS или вынуть батарейку CMOS — у TPM имеются собственные часы.

Это всё очень хорошо: TPM может перекрыть злоумышленникам доступ к системе и не дать зловреду заполучить учётные данные. Но мы пока не рассказали о главной функции TPM.

Криптографическая магия

TPM может хранить данные как в исходном виде, так и в зашифрованном. В последнем случае речь идёт о криптографии с открытым ключом. Такой метод подразумевает наличие пары ключей шифрования, один из которых можно держать в секрете, а другой – в открытом доступе. Зашифровать сообщение может любой, кто владеет общим ключом, а расшифровать тот, у кого имеется секретный ключ. Кроме того, секретный ключ используется, чтобы автоматически генерировать криптографическую хэш-функцию сообщения или файла. Так вы подтвердите использование общего ключа, т. е. то, что он был «подписан» вами и не является подделкой.

Итак, после того, как вы сохраните секретный ключ в TPM, он (ключ) сможет шифровать и расшифровывать файлы, а также создавать подписи. Если же в системе что-то пошло не так или же запрос поступил от неизвестного процесса, TPM просто откажется сотрудничать. Отправлять ключ обратно ключ в ОС нет необходимости, поскольку там его можно отследить. Лучше всего его полностью изолировать, так, чтобы извлечь его было нельзя никаким образом.

Как работает TPM в Windows

Улучшить защиту любого приложения, где есть функция шифрования, можно с помощью TPM. Это надёжнее, чем хранить ключи в системной памяти или на диске. Windows упрощает процесс шифрования за счёт компонента ОС под названием Platform Crypto Provider (Поставщик платформы для шифрования). Компонент предоставляет средства шифрования на базе TPM, а разработчикам не нужно вникать в работу модуля.

Вероятно, самая известная программа для шифрования в Windows —BitLocker. Она шифрует диск целиком, за исключением диспетчера загрузки Windows. Когда вы включаете компьютер, диспетчер запускается в обычном режиме. Увидев, что системный диск зашифрован, программа запрашивает ключ расшифровки у TPM. Модуль, признав в диспетчере загрузки доверенный процесс, предоставляет ключ. Ключ открывает доступ к файлам запуска Windows и другим данным, в результате чего компьютер загружается.

Сама по себе процедура может показаться бессмысленной, поскольку расшифровка и загрузка диска происходят автоматически. Это, однако, означает, что единственный способ получить доступ к ПК – это запустить Windows. Если пытаться получить доступ к диску с помощью другой ОС или другого железа, всё, что вы увидите – это нечитаемые зашифрованные данные. Если же TPM обнаружит изменения в коде диспетчера загрузки или в оборудовании, то откажется предоставить ключ и тем самым не даст зловреду внедриться в код запуска.

В целом, это хорошо, что BitLocker использует модуль, чтобы изолировать свой криптографический ключ. Отсюда возникает вопрос: что будет, если, к примеру, хост-компьютер сломается, и вам нужно перенести жёсткий диск на новую систему. Microsoft всё продумала: если диск зашифрован, BitLocker сгенерирует пароль восстановления из 48 символов. С помощью него можно расшифровать весь диск. По понятным причинам, хранить пароль на самом диске небезопасно. Если речь идёт о корпоративных компьютерах, он будет записан в доменные службы Active Directory. Доступ к нему могут получить только администраторы сети. Пароли обычных пользователей хранятся в аккаунтах Microsoft и находятся через поиск по сайту.

BitLocker доступен только в версиях Pro и Enterprise на 10-й и 11-й Windows. Но это не значит, что пользователи Home версии не могут позволить себе те же функции защиты. Они могут включить функцию под названием Device Encryption. Шифрование здесь работает так же, как в BitLocker: главное отличие в том, что Device Encryption менее придирчив к изменениям в железе и программной среде.

Также TPM помогает улучшить работу других элементов защиты. В Windows Enterprise и Education есть технология под названием Device Guard. Она применяется для запуска приложений в защищённой виртуальной среде. Через неё нельзя получить доступ к системному ПО. Credential Guard, в отличие от Device Guard, хранит секретные данные вроде хэшей паролей и учётных данных в виртуальной машине, к которым процессы, протекающие в обычной ОС, не могут получить доступ.

Кроме того, TPM может понадобиться сетевым службам Windows. Так они удостоверятся, что компьютер, что пытается подключиться к серверу, тот же, что был изначально зарегистрирован. Они же проверяют, использует ли ПК BitLocker и другие средства защиты. Так обеспечивается гарантия безопасности на каждый день, а также удалённая поддержка и администрирование.

Что нового в TPM 2.0?

Windows 11 требуется не просто любой модуль TPM, ей нужна именно версия 2.0. Однако разница между спецификациями не велика. Всё описанное раннее может делать и оригинальный стандарт 1.2.

Ко времени выхода TPM 2.0 технологии значительно модернизировались. Изначально в спецификации модуля использовался популярный в то время метод шифрования RSA. Новая же версия также поддерживает более сильную криптографию на основе эллиптических кривых. Кроме того, он генерирует 256-битные хэши SHA-2. Взломать их сложнее, чем 160-битные SHA-1, которые стандарт TPM поддерживал изначально. Понятно, что Microsoft хотела стандартизовать самую безопасную версию TPM.

Возможно, ещё одна причина, почему Microsoft настаивает именно на второй версии модуля, заключается в том, что модуль работает с BIOS UEFI. Именно этот интерфейс компания рекомендовала долгое время в качестве лучшего выбора для Windows. Помимо того, что UEFI позволяет интегрировать некоторые функции BIOS в Windows, интерфейс также поддерживает защищённую загрузку. Это означает, что ОС не загрузится, если хэши не совпадают. А это в свою очередь гарантирует, что, если какой-нибудь руткит вмешивается в процесс запуска Windows, ОС не загрузится, и вы поймёте, что что-то идёт не так.

Проблемы с TPM

Огромное число пользователей жалуется на то, что требования к железу для Windows 11 излишни: для повседневных задач старый компьютер вполне сгодится для новой ОС. Однако есть те, кто не согласен с самой идеей TPM. Они утверждают, что модуль создаёт ложное чувство безопасности.

Важно понимать, что модуль не защитит от всех типов атак. Они бессилен против кейлоггеров — ПО, следящим за тем, какие клавиши вы нажимаете, когда вводите пароль на клавиатуре. Или от фишинговых писем, адресат которых предлагает ввести учётные данные на мошенническом веб-сайте. Может быть, поэтому Apple не присоединилась к Trusted Computing Group. Вместо этого компания разработала свой чип безопасности T2. Он следит не только за сохранностью ваших идентификационных данных, вроде отпечатка пальцев или пароля, но и контролирует микрофон, камеру и другое оборудование.

Беспокойство также вызывает вероятность того, что модуль может запретить пользователю делать то, что хочется на своём компьютере. К примеру, ОС с помощью TPM может удалённо проверить, действительно ли приложение разработал тот или иной издатель, и отказать в доступе, если оно не соответствует заявленной подписи. Хуже того, доступ к приложению может быть закрыт в любой момент– например, когда разработчик останавливает его поддержку или прекращает продажи.

Такие опасения высказывались в первые годы существования концепции доверенных вычислений. СМИ именовали модуль DRM-чипом, а Ричард Столлман, основатель движения свободного ПО, высмеивал TPM, однажды в шутку назвав его «вероломные вычисления». Сегодня о проблемах подобного рода почти не говорят. Теперь стало понятно, что, по всей вероятности, такие ограничения нужно реализовывать через облачные подписки на ПО, а не с помощью TPM.

Однако здесь не место вступать в эту дискуссию. Одно можно сказать наверняка: несмотря на то, что рост популярности TPM привёл к тому, что требования к безопасности ужесточились, мы не стали жить как при Большом Брате, как многие того боялись. Да, неприятно видеть, как Microsoft лишает огромное число компьютеров последней ОС. Но за стремление корпорации создать новый базовый уровень безопасности и за желание, чтобы грядущее поколение ПК было максимально защищённым, разносить в пух и прах компанию мы всё-таки не станем.

Теги:
Хабы:
Всего голосов 21: ↑10 и ↓11+1
Комментарии34

Публикации

Истории

Работа

Ближайшие события

19 сентября
CDI Conf 2024
Москва
24 сентября
Конференция Fin.Bot 2024
МоскваОнлайн
30 сентября – 1 октября
Конференция фронтенд-разработчиков FrontendConf 2024
МоскваОнлайн