Что это за загадочный маленький чип такой, который необходим для 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 лишает огромное число компьютеров последней ОС. Но за стремление корпорации создать новый базовый уровень безопасности и за желание, чтобы грядущее поколение ПК было максимально защищённым, разносить в пух и прах компанию мы всё-таки не станем.
Комментарии (33)
Don_Koton
15.09.2022 22:05+3У этой вещи есть один большой плюс. Если к тебе домой вламывается СБУ или ФСБ и обвиняет в чем нибудь, то компьютер становится бесполезен в следствии. Снять диск — придётся вводить пароль битлокера. Забрать компьютер — защита меньше, но пароль аккаунта все равно знать надо. Очень полезная вещь. Не 100% далеко, но это хотя бы как поставить дверь в квартиру, а не жить без неё.
gleb_l
15.09.2022 22:22+19Нынешняя проблема в том, что состав сейчас генерируется согласно политзаказу, а не на основе найденной на компьютере обвиняемого информации - поэтому есть она у вас, или нет - не имеет значения. Важнее знать, являетесь ли вы распознаваемым системой оппонентом, или просто статшумом. В первом случае на вас будет обращено особое внимание системы (вы окажетесь в фокусе линзы, собирающей солнечные лучи); во втором - вам достанется лишь средняя мощность системы в ваттах/кв.м.
Противостоять сконцентрированной энергии практически невозможно - можно только попытаться убежать, так как фокусируется система достаточно медленно.
Бояться же средней экспозиционной дозы - особого смысла пока не имеет - так как вероятность того, что вы попадете из второй когорты в первую просто в результате случайного анализа данных вашего ноута, практически равна нулю - она, например, гораздо выше от оставленных вами следов в современной инфосфере, логируемой с глубиной в половину срока президентства - стоит лишь запустить краулер по массиву сохраненных яровых данных.
dartraiden
15.09.2022 22:56Нынешняя проблема в том
Во-первых, ничто не вечно. Во-вторых, не везде же на планете СБУ и ФСБ.
Я хочу сказать, что апеллировать к «в России это не поможет, значит, это не нужно нигде и никому» не очень корректно. Тем более, что российский рынок даёт (давал) довольно малую часть дохода Microsoft.gleb_l
15.09.2022 23:34+1Если в исходном комментарии предикатом уже ограничено подмножество, для которого валидно высказывание, и я ставлю под сомнение его валидность для данного подмножества, не оспаривая сам предикат - то очевидно, что область спора ограничена предикатом.
Ваш комментарий выглядит примерно так:
А: наше Солнце - красный карлик
!— Б: если быть точным, не красный, а желтый
!—— В: почему вы считаете, что все звёзды - желтые карлики? В конце концов, во Вселенной миллионы разных звёзд!
dendron
16.09.2022 02:45+20Если к тебе домой вламывается СБУ или ФСБ и обвиняет в чем нибудь,
...то дальше следует ректальный криптоанализ, который вскрывает пароль в 100% случаев за считанные минуты.
Если вламывается ФБР/АНБ то скорее всего и этого не потребуется, ибо этот TPM - "кого надо TPM". В качестве примера можно почитать историю предшественника - чипа Clipper.
Так что скорей несите свои ключики на хранение в чёрную коробочку TPM и шифруйте проприетарным закрытым BitLocker, это звучит абсолютно надёжно и безопасно, нет никаких причин задавать лишние вопросы.
Exchan-ge
17.09.2022 00:04Если вламывается
Надо проще смотреть на вещи.
Вламывается обыкновенный домушник и уносит с собой ваш компьютер
Вариант 2 — вы оставили ноут в макдачной на столе среди толпы народа и отлучились ровно на пару минут с тем же результатом.
Вариант 3 (на данный момент имеющий абсолютное численное превосходство) — вы вынужденны срочно уехать, забрав только самое необходимое.
А потом в ваш дом приходят незнакомые вам люди и уносят все найденное с собой.silinio
17.09.2022 15:42Против обычного домушника достаточно VeraCrypt или LUKS, и без всяких там спецчипов.
Exchan-ge
17.09.2022 16:09Против обычного домушника достаточно VeraCrypt или LUKS, и без всяких там спецчипов.
Рядовой (и даже продвинутый) пользователь таких слов и не знает.
А про ТРМ (не в последнюю очередь благодаря 11 винде :) в курсе уже очень многие.
Благо на новых компах битлокер работает абсолютно прозрачно — пользователь об этом может и не знать.
Обычный вход с паролем/пином и все, никаких лишних телодвижений от него не требуется.
v1000
15.09.2022 22:07+1Разработчики быстро взяли его на вооружение. Случилось это отчасти благодаря тому, что его стала поддерживать Windows Vista.
мне кажется, в Vista майкрософт как раз попыталась впервые применить цифровую подпись драйверов, на словах ради безопасности, а на деле - больше было похоже, что таким образом компания хотела не дать конкурентам вроде линкукса возможности нормально работать на ПК платформе, блокируя доступность драйверов для аппаратных и переферийных устройств.
dartraiden
15.09.2022 22:58+3А как драйверы Windows мешают работать линуксу?
santjagocorkez
16.09.2022 00:17+7Очень просто:
Майкрософт, вот драйверы, подпиши
Нет ты, вот соглашение, подпиши сначала его
Но здесь сказано, что мне запрещается вендорить драйверы для любых платформ и программных сред без предварительного согласования с Майкрософт
Ну, да, так и есть
Но это же, фактически, запрет поддержки конкурирующих продуктов, нам придётся прекратить поддержку, например, linux, BSD, Solaris, AIX...
Да нет же, вам придётся сделать осознанный выбор, только и всего; и мы вас не принуждаем ни к одной из опций такого выбора
saboteur_kiev
16.09.2022 02:46Можете показать хотя бы один пример такого соглашения, где MS запрещал вендору выпускать драйвера для любых других программных платформ без согласования?
И хотя бы один случай, когда такое реально случилось?На предложение такого соглашения, тут же есть другой ответ. Подаю в суд на MS за попытку монополизации, и выгребаю у них денег гораздо больше, чем получил бы за сотрудничество.
v1000
16.09.2022 07:54+4Сразу найти не удалось, но из того, что помню - там была ситуация, что нельзя было раскрывать документацию по аппаратным устройствам или чипам, потому что это позволяло сделать обход использования цифровых подписей. А значит, и обход DRM на их основе. А в итоге, без документации не особо напишешь длайвер для линукса.
Второй заход против линукса, как я понял, было внедрение UEFI. Та-же песня про надежность и безопасность, а в итоге - ограничение доступа к аппаратному обеспечению.
mike66
15.09.2022 22:30Вы забыли упомянуть, что TPM так же содержит сертификаты для загрузчиков операционных систем и, что там прошиты обычно сетификаты для Windows (кто бы мог подумать) и, хорошо майкрософт частично владеет Canonical, сертификат для линукса. А если вы хотите поставить ну скажем FreeBSD или хакинтош, помимо виндовоза, то будете отключать TPM каждый раз когда нужно в него загрузиться. Это пока ещё дают его отключить.
Меня лично принципиально не устраивает, что кто то будет за меня решать какие операционны системы дозволено ставить на мой компьютер.
Короче, хотели «как лучше», получилось как всегда.dartraiden
15.09.2022 22:55+3Мне кажется, вы спутали TPM и Secure Boot. TPM никаких сертификатов Microsoft не содержит и никак не препятствует сторонним загрузчикам.
Кроме того, вам никто не мешает загнать в Secure Boot свои собственные ключи и ими подписать всё необходимое во FreeBSD. Ключи Microsoft там по очень простой причине — кроме Microsoft никто особо не рвался заниматься подписыванием загрузчиков. UEFI Forum, насколько я понимаю, от этой задачи предпочёл уклониться. Ну. то есть, если бы вместо Microsoft это была другая организация, то там были бы уже её ключи. А какие-то ключи по дефолту быть должны, потому что подавляющее большинство пользователей не станет запускать OpenSSL, генерировать ключи, проводить над ними манипуляции, подписывать ими загрузчик и загонять их в прошивку. Это подавляющее большинство банально не обладает необходимыми навыками, для них всё это выглядит, как rocket science.
vanxant
16.09.2022 01:02+2Странная статья. Как-то вообще не о том рассказывает.
TPM появилась из-за возникновения технологий виртуализации на десктопных ЦПУ. Проблема с хорошими гипервизорами в том, что они позволяют виртуализировать вообще всё, и работать по принципу матрёшки. Мальчиш-плохиш теперь может создать гипервизор, который даст ему полный доступ к памяти и дискам (и никакой битлокер не спасёт), записать его в БИОС и, в общем, всё. Законный владелец даже не сможет обнаружить факт наличия такого вот бэкдора. Устанавливать этот бэкдор могут прямо на китайской фабрике, где клепают материнки, прецеденты были.
TPM как раз предоставляет функции, которые аппаратно нельзя виртуализировать. Ну, точнее, это касается TPM 2.0, с первой попытки не получилось. И основаны эти функции на ассиметричной криптографии, т.е. на факте незнания Плохишом секретного ключа Майкрософт. Ну, от кого надо защита получается...
rzerda
16.09.2022 06:31+2Как аппаратный TPM 2.0 модуль защищает от гипервизора, который может виртуализировать вообще всё, в том числе и TPM 2.0 (прецеденты есть)? И, чтобы два раза не вставать, где именно в TPM 2.0 ключи Майкрософт?
makkarpov
16.09.2022 10:11+1Не факт, что именно Майкрософт, но каждый TPM имеет неизвлекаемый приватный ключ, а так же подписанный вендором сертификат. Сертификат удостоверяет, что этот приватный ключ реально от чипа, а не придуман гипервизором пять минут назад.
Соответственно, у вас есть две опции - либо виртуализовать TPM - тогда вы не пройдете аутентификациию, либо не виртуализовать - но тогда вы не сможете вмешаться в обмен, зашифрованный неизвестными ключами.
rzerda
16.09.2022 08:18+7Автор, у Вас ссылка ведёт не на оригинал статьи.
Ну и Вы изволите очень вольно обращаться с английским языком. TPM не был изначально интегрирован в процессор на материнской плате, а вставлялся туда в разъём. Нет процессоров на Windows 11, есть процессоры, которые ей официально поддерживаются, и они все умеют fTPM. Пароль можно сделать доступным не только для процесса, а только для приложения. Модуль не может войти в ПО, он может хранить информацию о том, что на компьютере запускалось. Два абзаца про генерацию ключей в модуле превратились в утверждение «лучше его полностью изолировать».
Опять же, если метод шифрования РША, почему тогда не БАХ-2 вместо SHA-2?
Sensimilla
16.09.2022 09:36Модуль TPM в современных процессорах Intel, все-таки находится в чипсете. Intel TPM - это комбинация чипсет + процессор
dartraiden
17.09.2022 01:16Строго говоря, даже не модуль, а его эмуляция. Это, конечно, не так хорошо, как отдельный модуль, но лучше, чем вообще ничего. Без этого у большинства пользователей будет именно «ничего», т.к. они не горят желанием что-то дополнительно покупать, а на бюджетных мамках модуль и воткнуть некуда — производители не выводят разъём ради экономии.
mikkrob
16.09.2022 14:40+2ваш ПК лишится поддержки и, возможно, не будет получать обновления в будущем.
ОМГ! Не получать обновления - это же просто воплощение мечты любого пользователя винды! XD
Exchan-ge
17.09.2022 00:10+2Решение оказалось спорным.
Решение оказалось превосходным — наши компы сейчас отлично защищены от случайного обновления на Windows 11 :)
dartraiden
up40k
Какие регистры PCR вы используете для проверки битлокером? По умолчанию PCR 7, 11; проверяется только цепочка подписей Secure Boot, причём корнем может быть только сертификат от Microsoft, в противном случае проверяются регистры PCR 0, 2, 4, 11.
Настройки прошивки - это PCR 1.
Ключи сертификатов UEFI, бывает, утекают. Если вовремя не обновлять их список у себя в прошивке - ссзб. Подсунут малварь в бутлодере, вы и не заметите.
Вариант с PCR 0, 2, 4, 11 выглядит более предпочтительным. Для пущего спокойствия можно и конфиги проверять.
При этом использовать TPM+PIN.
А где ваша граница между параноей и беспечностью?
dartraiden
Для этого у меня в планировщик загнан самописный скрипт, который периодически проверяет обновления UEFI Revocation List.
Усиленный PIN из 20 (максимально доступное значение) разнорегистровых букв и цифр.
up40k
Ох, сурово)
Тут есть один момент - в dbx только список хешей скомпрометированных бинарников. Вот тут пишут, что с помощью KEK тоже можно подписывать бинарники (у автора Lenovo ThinkStation P620 с AMI UEFI на борту, если я правильно понял, возможно, в других реализациях UEFI иначе, надо будет посмотреть как там в EDK2). Отзыв KEK вследствие компрометации - задача чуть менее тривиальная и хуже автоматизируемая, чем обновление dbx.
Впрочем, в вашем случае это будет не столь критично.