Как Windows использует доверенный платформенный модуль

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

См. также:

Обзор протокола TPM

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

Традиционно доверенные платформенные модули (TPM) представляют собой отдельные микросхемы, впаянные в материнскую плату компьютера. Некоторые реализации позволяют поставщикам оборудования оценивать и сертифицировать TPM отдельно от остальной системы. Хотя отдельные реализации TPM все еще распространены, их использование является проблематичным на тех встроенных устройствах, которые отличаются небольшими размерами или низким энергопотреблением. В некоторых более новых реализациях TPM функциональные возможности TPM интегрируются в тот же набор микросхем, который используют другие платформенные компоненты, обеспечивая при этом логическое разделение, аналогичное изолированным микросхемам TPM.

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

Trusted Computing Group (TCG) — некоммерческая организация, которая публикует и поддерживает спецификации доверенного платформенного модуля. Целью TCG является разработка, определение и продвижение нейтральных по отношению к поставщикам, глобальных отраслевых стандартов, которые поддерживают аппаратный корень доверия для взаимодействующих доверенных вычислительных платформ. TCG также публикует спецификации TPM в виде международного стандарта ISO/IEC 11889 с использованием процесса предоставления общедоступной спецификации, которую определяет Совместный технический комитет 1, куда входят представители Международной организации стандартизации (ISO) и Международной электротехнической комиссии (IEC).

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

Организация TCG разработала TPM в качестве недорогого массового решения безопасности, которое соответствует требованиям различных клиентских сегментов. Свойства безопасности различаются в зависимости от реализации TPM так же, как в зависимости от сектора различаются требования клиентов и регулирующих органов. Например, при государственных закупках некоторые правительства четко определяют требования к безопасности модулей TPM, а некоторые — нет.

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

TPM в Windows

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

Поставщик шифрования платформы

В Windows предусмотрена система шифрования под названием Cryptographic API: Next Generation (CNG), концепция которой заключается в применении алгоритмов шифрования различными способами, но в рамках общего программного интерфейса (API). Приложения, в которых осуществляется шифрование, могут использовать общий API, не имея данных о том, каким образом применяется алгоритм и какой именно это алгоритм.

CNG выглядит, как стандартная начальная точка, однако эта система шифрования представляет собой некоторые из преимуществ, которые обеспечивает TPM. В рамках интерфейса CNG Windows или сторонние разработчики предоставляют поставщик служб шифрования (то есть обеспечивают реализацию алгоритма), который внедряется в виде самих по себе библиотек программного обеспечения либо в комбинации программного обеспечения и доступного оборудования системы или оборудования от стороннего поставщика. В случае реализации через оборудование поставщик служб шифрования взаимодействует с оборудованием за пределами интерфейса программного обеспечения CNG.

Поставщик службы шифрования платформы, представленный в операционной системе Windows 8, обладает следующими специальными свойствами TPM, которые отсутствуют в поставщиках исключительно программных CNG или присутствуют, но являются менее эффективными:

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

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

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

Виртуальная смарт-карта

Смарт-карты— это надежно защищенные физические устройства, на которых, как правило, хранится один сертификат и соответствующий закрытый ключ. Пользователи вставляют смарт-карту во встроенное или USB-устройство для чтения карт и вводит PIN-код для ее разблокировки. Windows может получить доступ к сертификату карты и использовать закрытый ключ для авторизации либо для разблокировки томов данных с защитой BitLocker. Смарт-карты популярны, поскольку они обеспечивают двухфакторную проверку подлинности, для которой нужно что-то, что имеется у пользователя (то есть смарт-карта), и что-то, что он знает (например PIN-код смарт-карты). Однако смарт-карты достаточно трудно использовать, поскольку пользователю для этого необходимо приобрести смарт-карты и устройства для чтения смарт-карт и выполнить развертывание.

В Windows благодаря функции виртуальной смарт-карты TPM может имитировать постоянно вставленную смарт-карту. TPM становится "чем-то, что имеется у пользователя", но при этом пользователю по-прежнему требуется PIN-код. И хотя физические смарт-карты имеют ограничения по количеству попыток ввода PIN-кода, при превышении которого карта блокируется и требуется перезагрузка, защита виртуальной смарт-карты основывается на системе защиты TPM от атак перебором по словарю, которая не допускает слишком большого количества попыток угадать PIN-код.

В случае использования виртуальных смарт-карт на базе доверенного платформенного модуля модуль защищает закрытый ключ сертификата во время его использования и хранения, не допуская его копирования или использования в каких-либо других целях. Использование компонента, являющегося частью системы, вместо отдельной физической смарт-карты позволит снизить общие эксплуатационные расходы, поскольку в этом случае исключены такие сценарии, как "карта утеряна" и "карта забыта дома", и при этом пользователь получает все преимущества многофакторной проверки подлинности с помощью смарт-карты. Виртуальные смарт-карты просты в использовании: для их разблокировки требуется только PIN-код. Виртуальные смарт-карты поддерживают те же сценарии, что и физические смарт-карты, в том числе вход в Windows или проверка подлинности для доступа к ресурсам.

Windows Hello для бизнеса

Windows Hello для бизнеса обеспечивает различные варианты проверки подлинности, предназначенные для замены паролей, которые могут быть трудны для запоминания и легко могут быть скомпрометированы. Кроме того, при использовании решений по принципу "имя пользователя — пароль" часто для проверки подлинности на различных устройствах и в различных службах выбираются одинаковые комбинации имени пользователя и пароля; если эти учетные данные станут кому-либо известны, они будут скомпрометированы во многих местах. Windows Hello для бизнеса готовит устройства поочередно и объединяет информацию, указанную на каждом устройстве (т.е. криптографический ключ) с дополнительной информацией для проверки подлинности пользователей. В системе с доверенным платформенным модулем модуль может защитить ключ. Если в системе отсутствует TPM, ключ защищают программные средства. В качестве дополнительных данных, которые пользователь должен предоставить, может служить значение PIN-кода или, если в системе установлено необходимое оборудование, биометрические сведения, такие как отпечаток пальца или распознавание лиц. Для защиты личных данных биометрическая информация используется только на заданном устройстве, у которого имеется доступ к специальному ключу: эти данные не передаются на другие устройства.

Для внедрения новой технологии проверки подлинности необходимо, чтобы поставщик удостоверений и организации развернули и начали применять эту технологию. Windows Hello для бизнеса позволяет пользователям проводить проверку подлинности со своей существующей учетной записью Майкрософт, учетной записью Active Directory, учетной записью Microsoft Azure Active Directory или даже использовать для этого службы поставщика удостоверений от сторонних разработчиков или службы проверяющей стороны, которые поддерживают проверку подлинности Fast ID Online V2.0.

Поставщики удостоверений могут различными способами обрабатывать учетные данные на клиентских устройствах. Например, организация может подготовить только устройства с TPM, чтобы иметь уверенность в том, что TPM защищает учетные данные. Для того чтобы система была способна отличить TPM от вредоносной программы, действующей как TPM, требуются следующие свойства TPM (см. рис. 1):

  • Ключ подтверждения. Производитель TPM может создать в модуле специальный ключ, который называется ключ подтверждения. Сертификат ключа подтверждения, подписанный изготовителем, указывает, что ключ подтверждения присутствует в TPM, который был сделан производителем. Решения могут использовать этот сертификат с TPM с содержащимся в нем ключом подтверждения, который подтверждает, что в сценарии действительно задействован TPM от конкретного производителя TPM (а не вредоносная программа, имитирующая TPM).

  • Ключ удостоверения аттестации. В целях защиты личных данных в большинстве сценариев TPM не используется ключ подтверждения. Вместо этого в них используются ключи удостоверения подлинности, и ЦС применяет ключ удостоверения подлинности и его сертификат для подтверждения того факта, что в реальном TPM действительно имеется один или несколько ключей удостоверения подлинности. ЦС удостоверений выпускает сертификаты ключей удостоверения подлинности. Несколько ЦС удостоверений, как правило, рассматривают один и тот же сертификат ключа подтверждения, который может определить TPM как уникальный, но создано может быть любое количество сертификатов ключей удостоверения подлинности в целях ограничения распространения информации в другие сценарии.

Возможности доверенного платформенного модуля. Рисунок 1. Управление криптографическим ключом TPM

При использовании Windows Hello для бизнеса Майкрософт может выполнять роль ЦС для проверки подлинности. Службы Майкрософт могут выдавать сертификат ключа удостоверения подлинности для каждого устройства, пользователя и поставщика удостоверения, чтобы гарантировать защиту личных данных и помочь поставщикам удостоверений обеспечить выполнение требований TPM на устройстве перед тем, как будут подготовлены учетные данные Windows Hello для бизнеса.

Шифрование диска BitLocker

BitLocker обеспечивает шифрование в полном объеме для защиты неиспользуемых данных. При наиболее распространенной конфигурации устройства жесткий диск разбивается на несколько томов. Операционная система и данные пользователя содержатся в одном томе, в котором хранится конфиденциальная информация, а в прочих томах содержатся общедоступные данные, например компоненты загрузки, системная информация и средства восстановления. (Эти другие тома используются достаточно редко, чтобы они не были видны пользователям.) Без дополнительных механизмов защиты, если том, содержащий операционную систему и пользовательские данные, не зашифрован, кто-то может загрузить другую операционную систему и легко обойти требуемые разрешения операционной системы на чтение любых пользовательских данных.

При наиболее распространенной конфигурации BitLocker шифрует диск с операционной системой, и если компьютер или жесткий диск будут утеряны или украдены в выключенном состоянии, данные на этом томе останутся конфиденциальными. При включении компьютер запускается, как обычно, и пользователю предлагается войти в Windows. При этом единственным способом входа в систему для пользователя является ввод его учетных данных, после чего операционная система сможет обеспечить применение обычных разрешений для файлов. Однако в случае изменения каких-либо этапов процедуры загрузки, например загрузки другой операционной системы с USB-устройства, том с операционной системой и данными пользователя будет недоступен для чтения и использования. TPM и встроенное ПО системы совместно записывают данные о запуске системы, в том числе сведения о загруженном программном обеспечении и параметрах конфигурации, например, была ли загрузка осуществлена с жесткого диска или USB-устройства. BitLocker исходит из того, что TPM позволит использовать ключ только в том случае, если запуск будет выполнен ожидаемым образом. Встроенное ПО системы и TPM разрабатывались таким образом, чтобы они в тесном взаимодействии обеспечивали следующие возможности:

  • Корневой каталог доверия оборудования для измерения. TPM позволяет программному обеспечению отправлять ему команды, которые выполняют запись показателей программного обеспечения или сведений о конфигурации. Эти сведения можно рассчитать с помощью хэш-алгоритма, который преобразует множество данных в небольшое, статистически уникальное хэш-значение. Встроенное ПО системы имеет компонент под названием "базовый доверенный источник оценки" (CRTM), который неявно является надежным. CRTM безусловно хэширует следующий компонент программного обеспечения и записывает значение показателя, отправляя команду TPM. Последующие компоненты— системное встроенное ПО или загрузчики операционной системы— продолжают процедуру, измеряя любые компоненты программного обеспечения, которые они загружают, прежде чем запустить. Поскольку показатель каждого компонента отправляется в TPM перед выполнением, компонент не может стереть свой показатель из TPM. (Однако в случае перезагрузки системы показатели удаляются.) В результате на каждом этапе процедуры запуска системы TPM хранит показатели программного обеспечения загрузки и информацию о конфигурации. Любые изменения в программном обеспечении загрузки или конфигурации приведут к возникновению новых показателей в TPM на этом и последующих этапах. Поскольку системное встроенное ПО безусловно запускает цепочку измерения показателей, оно обеспечивает аппаратный корень доверия для показателей TPM. На определенном этапе процесса запуска значение записи всех загруженных программ и информации о конфигурации уменьшается, и цепочка показателей заканчивается. TPM позволяет создавать ключи, которые можно использовать только в том случае, если конфигурация платформы регистрирует, что показатели имеют определенные значения.

  • Ключ используется только в том случае, если измерения загрузки точны. BitLocker создает ключ в TPM, который может быть использован только в том случае, если показатели загрузки соответствуют ожидаемым значениям. Ожидаемое значение рассчитывается на том этапе запуска, когда диспетчер загрузки Windows запускается из тома на системном жестком диске, где расположена операционная система. Диспетчеру загрузки Windows, который хранится в загрузочном томе незашифрованным, необходимо использовать ключ TPM, чтобы он мог расшифровать данные, которые считываются в память из тома с операционной системой, после чего запуск продолжается с использованием зашифрованного тома с операционной системой. В случае загрузки другой операционной системы или изменения конфигурации значения показателей в TPM будут другими, и TPM не позволит диспетчеру загрузки Windows использовать ключ, а процесс запуска не будет продолжен в обычном режиме, поскольку данные в операционной системе не удастся расшифровать. Если кто-либо попытается загрузить систему с использованием другой операционной системы или с другого устройства, показатели программного обеспечения или конфигурации в TPM будут неправильными, и TPM не позволит использовать ключ, необходимый для расшифровки тома с операционной системой. В качестве защитной меры предусмотрено, что в случае внезапного изменения значений показателей пользователь всегда может воспользоваться ключом восстановления BitLocker для получения доступа к данным тома. Организации могут настроить BitLocker для хранения ключа восстановления доменные службы Active Directory (AD DS).

Аппаратные характеристики устройства важны для функции BitLocker— от них зависит ее способность защищать данные. Во-первых, имеет значение, предоставляет ли устройство векторы атак, когда система отображает экран входа в систему. Например, если устройство Windows имеет разъем, через который возможен прямой доступ к памяти, и любой пользователь может вставить свое оборудование и считать память, злоумышленник может считать ключ расшифровки тома с операционной системы из памяти на этапе отображения экрана входа в Windows. Чтобы снизить этот риск, организации могут таким образом настроить BitLocker, чтобы ключ TPM запрашивал одновременно правильные показатели программного обеспечения и значение авторизации. Процесс запуска системы прерывается диспетчером загрузки Windows, и пользователю предлагается ввести значение авторизации для ключа TPM или вставить USB-устройство с этим значением. Этот процесс не дает BitLocker автоматически загрузить ключ в память в тех случаях, когда это может быть опасно, но использовать его не очень удобно.

Более новое оборудование и Windows лучше работают вместе, чтобы отключить прямой доступ к памяти через порты и уменьшить векторы атак. В итоге организации могут разворачивать больше систем, и при этом пользователям не придется вводить дополнительную информацию для авторизации в процессе запуска. Правильное оборудование позволяет применять BitLocker при конфигурации "только TPM", что дает пользователям возможность входить в систему только один раз без использования PIN-кода или USB-ключа во время загрузки.

Device Encryption

Device Encryption — это потребительская версия BitLocker, которая базируется на той же технологии. Это работает, если клиент выполняет вход с помощью учетной записи Майкрософт и система соответствует требованиям современного резервного оборудования, шифрование диска BitLocker включается автоматически в Windows. Ключ восстановления копируется в Microsoft Cloud, и пользователь может получить к нему доступ через свою учетную запись Майкрософт. Требования к современному резервному оборудованию сообщают Windows, что оборудование подходит для развертывания шифрования устройств и позволяет использовать конфигурацию "только TPM" для простого взаимодействия с потребителем. Кроме того, оборудование текущего режима ожидания снижает вероятность изменения значений показателей и предлагает пользователю воспользоваться ключом восстановления.

Что касается показателей программного обеспечения, Device Encryption учитывает показатели служб, предоставляющих программные компоненты (на основании подписей кода от производителей, например, изготовителей оборудования или Microsoft), вместо того чтобы самостоятельно выполнять точное хэширование программных компонентов. Это позволяет обслуживать компоненты без изменения итоговых значений показателей. Что касается показателей конфигурации, используемые значения выбираются на основе политики безопасной загрузки, а не многочисленных других параметров конфигурации, записанных во время запуска. Эти значения также изменяются достаточно редко. В результате получается, что функция Device Encryption включается на соответствующем оборудовании удобным для пользователя способом, и при этом осуществляется защита данных.

Измеряемая загрузка

В Windows 8 была представлена функция измеряемой загрузки как способ регистрации операционной системой цепочки показателей программных компонентов и сведений о конфигурации в TPM путем инициализации операционной системы Windows. В предыдущих версиях Windows цепочка показателей прерывалась на самом компоненте диспетчера загрузки Windows, и показатели в TPM не помогали определить начальное состояние Windows.

Процесс загрузки Windows проходит поэтапно и часто предполагает взаимодействие драйверов от сторонних разработчиков с оборудованием от определенного поставщика или внедрение решений против вредоносных программ. При работе с программным обеспечением функция измеряемой загрузки обеспечивает запись показателей ядра Windows, антивредоносных драйверов с ранним запуском и драйверов загрузки в TPM. При работе с параметрами конфигурации функция измеряемой загрузки обеспечивает запись информации, касающейся безопасности, например, данных подписи, которые используют антивредоносные драйверы, и данные конфигурации о функциях безопасности Windows (например, включена ли функция BitLocker).

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

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

TPM предлагает для сценариев следующие возможности использования показателей, записанных в TPM во время загрузки:

  • Удаленная аттестация. С помощью ключа удостоверения подлинности TPM может генерировать и криптографически подписывать заявление (илизаявленные значения) текущих показателей в TPM. Windows может создавать уникальные ключи удостоверений аттестации для различных сценариев, чтобы предотвратить совместную работу отдельных очисщиков для отслеживания одного и того же устройства. Дополнительная информация в квоте криптографически зашифрована, чтобы ограничить распространение информации и обеспечить более надежную защиту личных данных. Отправляя квоту для удаленного объекта, устройство может подтвердить, какие программы и параметры конфигурации были использованы для запуска устройства и инициализации операционной системы. Сертификат ключа удостоверения подлинности представляет собой дополнительное подтверждение того, что квота получена от реального TPM. Удаленная аттестация— это процедура записи показателей в TPM, создания квоты и отправки данных квоты в другую систему, выполняющую оценку показателей в целях установления доверия на устройстве. Этот процесс показан на рисунке 2.

При добавлении новых функций безопасности Windows функция измеряемой загрузки добавляет к показателям, записанным в TPM, данные конфигурации, связанные с безопасностью. Функция измеряемой загрузки запускает сценарии удаленной аттестации в соответствии со встроенным системным ПО и состоянием инициализации Windows.

Процесс создания свидетельства загрузочного программного обеспечения и конфигурации с помощью доверенного платформенного модуля. Рисунок 2. Процедура создания свидетельства программного обеспечения загрузки и конфигурации с помощью TPM

Подтверждение работоспособности устройств

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

Решения по управлению мобильными устройствами (MDM) могут получать простые сведения системы безопасности от службы подтверждения работоспособности Microsoft для клиента, не применяя при этом сложные квоты или подробные показатели TPM. Решения MDM могут действовать на основании сведений о безопасности, помещая в карантин неработоспособные устройства или блокируя доступ к облачным службам, таким как Microsoft Office 365.

Credential Guard

Credential Guard — это новая функция в Windows, которая помогает защитить учетные данные Windows в организациях, которые развернули AD DS. В прошлом учетные данные пользователя (например, пароль для входа) хэшировались для создания маркера авторизации. Пользователь использовал маркер для доступа к ресурсам, на использование которых у него имелось разрешение. Недостатком модели с маркером было то обстоятельство, что вредоносная программа, которая имела доступ к ядру операционной системы, могла просматривать память компьютера и собирать данные обо всех маркерах, используемых на тот момент. Злоумышленник мог воспользоваться полученными маркерами для входа на другие машины и заполучить еще больше учетных данных. Такой тип атаки называется "передача хэша". Принцип действия этой вредоносной технологии заключается в инфицировании одной машины с последующим инфицирование множества других машин в данной организации.

Точно так же, как Microsoft Hyper-V обособляет виртуальные машины, Credential Guard с помощью виртуализации изолирует процесс, выполняющий хэширование учетных данных, в области памяти, к которой ядро операционной системы не имеет доступа. В процессе загрузки выполняется инициализация и защита этой изолированной области памяти, чтобы компоненты в более обширной среде ОС не могли ее изменить. Credential Guard использует TPM для защиты своих ключей с помощью показателей TPM, поэтому они доступны только на этапе загрузки, когда инициализируется отдельная область; они недоступны для ядра обычной операционной системы. Код локальной системы безопасности в ядре Windows взаимодействует с изолированной областью памяти, предъявляя учетные данные и получая взамен одноразовые маркеры авторизации.

Полученное решение обеспечивает комплексную защиту, поскольку даже если вредоносная программа запустится в ядре операционной системы, она не сможет получить доступ к секретной информации внутри изолированной области памяти, которая, собственно, создает маркеры авторизации. Решение не решает проблему средств ведения журнала ключей, так как пароли, которые записываются такими средствами ведения журнала, фактически проходят через обычное ядро Windows, но в сочетании с другими решениями, такими как смарт-карты для проверки подлинности, Credential Guard значительно повышает защиту учетных данных в Windows.

Заключение

TPM добавляет аппаратные преимущества безопасности в Windows. При установке на оборудовании, которое включает TPM, Window обеспечивает более высокий уровень безопасности. В таблице ниже перечислены ключевые преимущества основных функций TPM.


Функция Преимущества при использовании в системе с TPM
Поставщик шифрования платформы
  • Если компьютер скомпрометирован, закрытый ключ, связанный с сертификатом, нельзя скопировать с устройства.
  • Механизм атаки по словарю доверенного платформенного модуля защищает значения ПИН-кода для использования сертификата.
Виртуальные смарт-карты
  • Обеспечение безопасности, аналогичной безопасности физических смарт-карт, без развертывания физических смарт-карт или средств чтения карт.
Windows Hello для бизнеса
  • Учетные данные, подготовленные на устройстве, не могут быть скопированы в другом месте.
  • Перед подготовкой учетных данных подтвердите TPM устройства.
Шифрование диска BitLocker
  • Для предприятий доступно несколько вариантов защиты неактивных данных при балансировке требований к безопасности с различными аппаратными средствами устройства.
Шифрование устройства
  • Благодаря учетной записи Майкрософт и правильному оборудованию устройства потребителей легко получают преимущества защиты неактивных данных.
Измеряемая загрузка
  • Корневой каталог доверия оборудования содержит измерения загрузки, которые помогают обнаруживать вредоносные программы во время удаленной аттестации.
Подтверждение работоспособности устройств
  • Решения MDM могут легко выполнять удаленную аттестацию и оценивать работоспособность клиентов перед предоставлением доступа к ресурсам или облачным службам, таким как Office 365.
Credential Guard
  • Глубинная защита увеличивается, поэтому даже если вредоносная программа имеет права администратора на одном компьютере, значительно сложнее скомпрометировать дополнительные компьютеры в организации.

Хотя некоторые из упомянутых выше функций имеют дополнительные требования к оборудованию (например, поддержка виртуализации), TPM является основой безопасности Windows. Корпорация Майкрософт и другие участники продолжают улучшать глобальные стандарты, касающиеся TPM. Мы находим все новые и новые приложения, использующие данный модуль, и прикладываем все усилия, чтобы обеспечить нашим клиентам ощутимые преимущества. Корпорация Майкрософт поддерживает большинство функций доверенного платформенного модуля в своей версии Windows для Интернета вещей (IoT) под названием Windows IoT Core. Устройства IoT, которые могут развертываться в небезопасных физических местоположениях и подключаться к таким облачным службам, как Azure IoT Hub, могут использовать TPM для управления совершенно новыми способами, удовлетворяя все возникающие требования к безопасности.