Tpm security что это
Основы доверенного платформенного модуля
Область применения
В этой статье для ИТ-специалистов описаны компоненты модуля доверенных платформ (TPM 1.2 и TPM 2.0) и рассказывается, как они используются для смягчения атак словарей.
Модуль доверенных платформ (TPM) — это микрочип, предназначенный для предоставления базовых функций, связанных с безопасностью, в первую очередь с ключами шифрования. TPM устанавливается на материнскую доску компьютера и взаимодействует с остальной частью системы с помощью аппаратного автобуса.
Компьютеры, которые включают TPM, могут создавать криптографические ключи и шифровать их, чтобы их можно было расшифровать только с помощью TPM. Этот процесс, часто называемый упаковкой или привязкой ключа, может помочь защитить ключ от раскрытия. Каждый TPM имеет главный ключ упаковки, называемый корневым ключом хранилища, который хранится в самом TPM. Частная часть корневого ключа хранилища или ключа подтверждения, созданного в TPM, никогда не подвергается воздействию любого другого компонента, программного обеспечения, процесса или пользователя.
Можно указать, можно ли перенести ключи шифрования, созданные TPM. Если указать, что они могут быть перенесены, общедоступные и частные части ключа могут быть подвержены другим компонентам, программному обеспечению, процессам или пользователям. Если указать, что ключи шифрования невозможно перенести, частная часть ключа никогда не будет выставлена за пределами TPM.
Компьютеры, которые включают TPM, также могут создавать ключ, который завернут и привязан к определенным измерениям платформы. Этот тип ключа можно разверять только тогда, когда эти измерения платформы имеют те же значения, что и при создания ключа. Этот процесс называется «запечатывая ключ к TPM». Расшифровка ключа называется unsealing. TPM также может запечатать и размыть данные, которые создаются за пределами TPM. С помощью этого закрытого ключа и программного обеспечения, например шифрования диска BitLocker, можно заблокировать данные до тех пор, пока не будут выполнены определенные условия оборудования или программного обеспечения.
С помощью TPM частные части ключевых пар хранятся отдельно от памяти, контролируемой операционной системой. Ключи могут быть запечатаны в TPM, а некоторые гарантии состояния системы (гарантии, определяя надежность системы) могут быть сделаны до того, как ключи будут отмыты и выпущены для использования. TPM использует собственные внутренние схемы прошивки и логики для обработки инструкций. Таким образом, она не зависит от операционной системы и не подвержена уязвимостям, которые могут существовать в операционной системе или программном обеспечении приложений.
Сведения о том, какие версии Windows поддерживают версии TPM, см. в обзоре технологии Trusted Platform Module. Функции, доступные в версиях, определяются в спецификациях группой надежных вычислений (TCG). Дополнительные сведения см. на странице Доверенный модуль платформы на веб-сайте Группы доверенных вычислений: Модуль доверенных платформ.
В следующих разделах представлен обзор технологий, поддерживаюных TPM:
В следующем разделе описаны службы TPM, которые можно управлять централизованно с помощью параметров групповой политики: TPM Group Policy Параметры.
Измеренная загрузка с поддержкой для проверки
Функция Measured Boot предоставляет программное обеспечение для антивирусных программ с доверенным журналом (устойчивым к подмене и фальсификации) всех компонентов загрузки. Программное обеспечение antimalware может использовать журнал, чтобы определить, являются ли компоненты, которые использовались до этого, надежными и зараженными вредоносными программами. Он также может отправлять журналы измеренной загрузки на удаленный сервер для оценки. Удаленный сервер может при необходимости начать действия по исправлению, взаимодействуя с программным обеспечением на клиенте или с помощью вне диапазона механизмов.
Виртуальная смарт-карта на основе TPM
Виртуальная смарт-карта эмулирует функциональность традиционных смарт-карт. Виртуальные смарт-карты используют чип TPM, доступный на компьютерах организации, а не отдельную физическую смарт-карту и читатель. Это значительно снижает затраты на управление и развертывание смарт-карт на предприятии. Для конечных пользователей виртуальная смарт-карта всегда доступна на компьютере. Если пользователю необходимо использовать несколько компьютеров, для каждого компьютера пользователю должна быть выдана виртуальная смарт-карта. Компьютер, который является общим для нескольких пользователей, может принимать несколько виртуальных смарт-карт, по одному для каждого пользователя.
Хранилище сертификатов на основе TPM
TPM защищает сертификаты и ключи RSA. Поставщик ключей TPM (KSP) обеспечивает простое и удобное использование TPM как способ жесткой защиты частных ключей. TPM KSP создает ключи при регистрации организации на сертификаты. KSP управляется шаблонами в пользовательском интерфейсе. TPM также защищает сертификаты, импортируемые из внешнего источника. Сертификаты на основе TPM являются стандартными сертификатами. Сертификат никогда не может оставить TPM, из которого создаются ключи. Теперь TPM можно использовать для крипто-операций с помощью API криптографии: Следующее поколение (CNG). Дополнительные сведения см. в API криптографии.
Комлеты TPM
Вы можете управлять TPM с помощью Windows PowerShell. Подробные сведения см. в материале TPM Cmdlets in Windows PowerShell.
Интерфейс физического присутствия
Для TPM 1.2 спецификации TCG для TPMs требуют физического присутствия (обычно при нажатии клавиши) для включаемой TPM, ее отключения или очистки. Эти действия обычно не могут быть автоматизированы с помощью скриптов или других средств автоматизации, если только отдельный OEM не поставляет их.
Состояния tPM 1.2 и инициализация
TPM 1.2 имеет несколько возможных штатов. Windows автоматически инициализирует TPM, что приводит его в состояние включено, активировано и принадлежит.
Клавиши одобрения
Надежное приложение может использовать TPM только в том случае, если TPM содержит ключ подтверждения, который является ключевой парой RSA. Частная половина пары ключей находится внутри TPM и никогда не раскрывается и не доступна за пределами TPM.
Заверение ключа
Аттестация ключа TPM позволяет органу сертификации проверять, что частный ключ защищен TPM и что TPM является тем, который доверяет органу сертификации. Проверенные ключи подтверждения используются для привязки удостоверения пользователя к устройству. Сертификат пользователя с заверенным ключом TPM обеспечивает более высокую гарантию безопасности, которая обеспечивается неэкспортируемостью, антиударом и изолированностью ключей, предоставляемых TPM.
Anti-hammering
Когда TPM обрабатывает команду, она делает это в защищенной среде, например, выделенном микроконтроллере на дискретном чипе или в специальном аппаратном режиме на основном процессоре. TPM используется для создания криптографического ключа, который не раскрывается за пределами TPM. Он используется в TPM после получения правильного значения авторизации.
TPMs имеют защиту от молотка, которая предназначена для предотвращения атак грубой силы или более сложных атак словаря, которые пытаются определить значения авторизации для использования ключа. Основной подход заключается в том, чтобы TPM разрешала только ограниченное число сбоев авторизации, прежде чем она предотвратит дополнительные попытки использования ключей и замков. Предоставление подсчета отказов для отдельных ключей не является технически практическим, поэтому TPMs имеют глобальную блокировку, когда возникает слишком много сбоев авторизации.
Так как многие сущности могут использовать TPM, один успех авторизации не может сбросить защиту от молотка TPM. Это предотвращает создание злоумышленником ключа с известным значением авторизации, а затем его использование для сброса защиты TPM. TPMs предназначены для того, чтобы забыть о сбоях авторизации через некоторое время, чтобы TPM не вводит состояние блокировки без необходимости. Пароль владельца TPM можно использовать для сброса логики блокировки TPM.
TPM 2.0 для борьбы с молотком
TPM 2.0 имеет четко определенное поведение для борьбы с молотком. Это в отличие от TPM 1.2, для которого защита от молотка была реализована производителем, и логика сильно различалась по всей отрасли.
Для систем с TPM 2.0 TPM настраивается Windows для блокировки после 32 сбоев авторизации и для того, чтобы каждые два часа забыть об одном сбое авторизации. Это означает, что пользователь может быстро попытаться использовать ключ с неправильным значением авторизации 32 раза. Для каждой из 32 попыток TPM записи, если значение авторизации было правильным или нет. Это непреднамеренно вызывает ввод TPM заблокированного состояния после 32 неудачных попыток.
Попытки использовать ключ со значением авторизации в течение следующих двух часов не возвращают успеха или сбоя; вместо ответа указывается, что TPM заблокирован. После двух часов один сбой авторизации забыт, а число сбоев авторизации, запоминаемого TPM, снижается до 31, поэтому TPM покидает заблокированный режим и возвращается к нормальной работе. При правильном значении авторизации ключи можно использовать в обычном режиме, если в течение следующих двух часов не произойдет сбоев авторизации. Если в течение 64 часов не было сбоев авторизации, TPM не запоминает сбоев авторизации, и 32 неудачных попытки могут повториться.
Windows 8 сертификации не требуется, чтобы системы TPM 2.0 забывали о сбоях авторизации при полном отключении системы или при сбое работы системы. Windows требуется, чтобы сбои авторизации забывались, когда система работает нормально, в режиме сна или в состояниях с низкой мощностью, кроме отключения. Если система Windows TPM 2.0 заблокирована, TPM оставляет режим блокировки, если система остается на два часа.
Защита от молотка для TPM 2.0 может быть немедленно сброшена, отправив команду блокировки сброса в TPM и предоставив пароль владельца TPM. По умолчанию Windows автоматически содержит TPM 2.0 и сохраняет пароль владельца TPM для использования системным администратором.
В некоторых корпоративных ситуациях значение авторизации владельца TPM настраивается на централизованное хранение в Active Directory и не хранится в локальной системе. Администратор может запустить MMC TPM и сбросить время блокировки TPM. Если пароль владельца TPM хранится локально, он используется для сброса времени блокировки. Если пароль владельца TPM не доступен в локальной системе, администратор должен предоставить его. Если администратор пытается сбросить состояние блокировки TPM с неправильным паролем владельца TPM, TPM не разрешает еще одну попытку сбросить состояние блокировки в течение 24 часов.
TPM 2.0 позволяет создавать некоторые ключи без значения авторизации, связанного с ними. Эти ключи можно использовать при блокировке TPM. Например, BitLocker с конфигурацией только для TPM по умолчанию может использовать ключ в TPM для запуска Windows даже при блокировке TPM.
Обоснование по умолчанию
Изначально BitLocker разрешает пин-код от 4 до 20 символов. Windows Hello имеет собственный ПИН-код для logon, который может быть от 4 до 127 символов. И BitLocker, и Windows Hello используют TPM для предотвращения атак грубой силы ПИН-кода.
TPM можно настроить для использования параметров предотвращения атак Dictionary (пороговое значение блокировки и продолжительность блокировки) для управления количеством попыток неудачных авторизации до блокировки TPM и времени, необходимого для того, чтобы сделать еще одну попытку.
Параметры предотвращения атак Dictionary предоставляют способ сбалансировать потребности в безопасности с возможностью использования. Например, когда BitLocker используется с конфигурацией TPM + PIN, со временем количество пин-кодов ограничено. TPM 2.0 в этом примере можно настроить, чтобы разрешить сразу 32 пин-кода, а затем только одно предположение каждые два часа. Это максимум 4415 догадки в год. Если ПИН-код составляет 4 цифры, все возможные комбинации ПИН-кода 9999 можно будет использовать в течение чуть более двух лет.
Для увеличения длины ПИН-кода злоумышленнику требуется большее количество догадок. В этом случае продолжительность блокировки между каждой догадкой может быть сокращена, чтобы законные пользователи могли повторить неудачную попытку раньше, сохраняя при этом аналогичный уровень защиты.
Начиная с Windows 10 версии 1703 минимальная длина ПИН-кода BitLocker была увеличена до 6 символов, чтобы лучше увязываться с другими функциями Windows, которые используют TPM 2.0, включая Windows Hello. Чтобы помочь организациям с переходом в Windows 10 версии 1703 с установленным накопительным обновлением в октябре 2017 г., Windows 10 версии 1709 и выше, а также Windows 11, длина ПИН-кода BitLocker по умолчанию составляет 6 символов, но ее можно уменьшить до 4 символов. Если минимальная длина ПИН-кода будет уменьшена с шести символов по умолчанию, период блокировки TPM 2.0 будет продлен.
Смарт-карты на основе TPM
Интеллектуальная Windows на основе TPM, которая является виртуальной смарт-картой, может быть настроена, чтобы разрешить вход в систему. В отличие от физических смарт-карт, процесс регистрации использует ключ на основе TPM со значением авторизации. В следующем списке показаны преимущества виртуальных смарт-карт:
Физические смарт-карты могут применять блокировку только для пин-кода физической смарт-карты, и они могут сбросить блокировку после правильного пин-кода. С помощью виртуальной смарт-карты защита от молотка TPM не сбрасывается после успешной проверки подлинности. Допустимые количества сбоев авторизации перед блокировкой TPM включают в себя множество факторов.
Производители оборудования и разработчики программного обеспечения могут использовать функции безопасности TPM для удовлетворения их требований.
Целью выбора 32 сбоев в качестве порога блокировки является то, что пользователи редко блокирует TPM (даже при обучении вводить новые пароли или при частой блокировке и разблокировать компьютеры). Если пользователи заблокировать TPM, они должны подождать два часа или использовать другие учетные данные для входа, например имя пользователя и пароль.
Что такое доверенный платформенный модуль (TPM)?
Доверенный платформенный модуль (TPM) используется для повышения безопасности компьютера. Он используется такими службами, как шифрование диска BitLocker, Windows Hello и другие, для безопасного создания и хранения криптографических ключей, а также для подтверждения того, что операционная система и встроенное ПО на вашем устройстве соответствуют указанным сведениям и не были изменены.
Как правило, это отдельная микросхема на системной плате, хотя стандарт TPM 2.0 позволяет изготовителям, например Intel или AMD, встраивать возможности доверенного платформенного модуля в набор микросхем.
Доверенный платформенный модуль используется уже более 20 лет и входит в состав компьютеров с 2005 г. В 2016 г. версия TPM 2.0 (текущая версия на момент написания этой статьи) стала стандартом для новых компьютеров.
Когда вы шифруете данные, чтобы защитить их от посторонних глаз, программа для шифрования берет фрагмент данных, который нужно зашифровать, и объединяет его с длинной случайной строкой символов, чтобы создать новый (зашифрованный) фрагмент данных. Длинная случайная строка символов, используемая программой для шифрования, является криптографическим ключом.
Примечание: Незашифрованные данные называются «открытым текстом». Зашифрованная версия этих данных называется «зашифрованным текстом».
Расшифровать такой текст и прочитать исходный фрагмент данных может только пользователь, у кого есть правильный криптографический ключ.
Имеется ли на моем компьютере доверенный платформенный модуль?
Существует высокая вероятность того, что на вашем компьютере уже есть доверенный платформенный модуль и, если ему менее 5 лет, это версия TPM 2.0.
Чтобы узнать, есть ли доверенный платформенный модуль на вашем компьютере с Windows 10, выберите Пуск > Параметры > Обновление и безопасность > Безопасность Windows > Безопасность устройства. Если он у вас есть, на экране будет отрезок Процессор безопасности.
Совет: Если вы не видите раздел Процессор безопасности, возможно, на вашем устройстве есть TPM, но она отключена. Чтобы узнать, как включить его, см. статью Включение TPM 2.0 на компьютере.
Далее нужно узнать, какая версия доверенного платформенного модуля есть на вашем компьютере. Выберите Сведения об обработчике безопасности и на появившемся экране найдите версию спецификации. Должна быть указана версия 1.2 или 2.0.
Важно: Для Windows 11 требуется TPM 2.0. Дополнительные сведения см. в статье Требования к системе для Windows 11.
Хотите узнать больше о доверенном платформенном модуле? См. статью Обзор технологии доверенного платформенного модуля.
Использование Windows модуля доверенных платформ
Операционная Windows улучшает большинство существующих функций безопасности в операционной системе и добавляет новые новые функции безопасности, такие как Device Guard и Windows Hello для бизнеса. Теперь аппаратные компоненты системы защиты размещены глубже в операционной системе, чем это было в предыдущих версиях Windows, благодаря чему достигается максимальная безопасность платформы и повышение удобства использования. Для достижения многих из этих улучшений безопасности Windows широкое использование модуля доверенных платформ (TPM). В этой статье представлен краткий обзор TPM, описывается его работа, а также обсуждаются преимущества, которые TPM предоставляет для Windows и совокупное влияние на безопасность Windows на компьютере с TPM.
См. также:
Обзор протокола TPM
TPM представляет собой модуль шифрования, который повышает безопасность компьютера и защищает личные данные. Защита данных путем шифрования и дешифрования, защита учетных данных и проверка программ, запущенных в системе, являются основными функциями, связанными с безопасностью компьютера. TPM участвует в этих и других сценариях.
Традиционно доверенные платформенные модули (TPM) представляют собой отдельные микросхемы, впаянные в материнскую плату компьютера. Некоторые реализации позволяют поставщикам оборудования оценивать и сертифицировать TPM отдельно от остальной системы. Хотя отдельные реализации TPM все еще распространены, их использование является проблематичным на тех встроенных устройствах, которые отличаются небольшими размерами или низким энергопотреблением. В некоторых более новых реализациях TPM функциональные возможности TPM интегрируются в тот же набор микросхем, который используют другие платформенные компоненты, обеспечивая при этом логическое разделение, аналогичное изолированным микросхемам TPM.
Модули TPM являются пассивными: они получают команды и возвращают ответы. Чтобы предоставить доступ ко всем преимуществам TPM, поставщик оборудования должен аккуратно интегрировать модуль TPM в системное оборудование и встроенное ПО. Это позволит модулю отправлять команды и получать ответы. Модули TPM изначально были разработаны для обеспечения безопасности и конфиденциальности владельца и пользователей платформы, однако более новые версии обеспечивают безопасность и конфиденциальность непосредственно самого системного оборудования. Однако перед использованием в расширенных сценариях модуль TPM необходимо подготовить к работе. Windows автоматически предусматривает TPM, но если пользователь переустановит операционную систему, пользователю может потребоваться сообщить операционной системе о том, чтобы она снова явно закажила TPM, прежде чем она сможет использовать все функции 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 обеспечивают практическую безопасность и конфиденциальность. В следующих разделах описаны основные функции безопасности, связанные с 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 использует поставщик службы шифрования платформы для защиты ключа, связанного с сертификатом. В смешанных средах, где на некоторых компьютерах может не быть 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 как уникальный, но создано может быть любое количество сертификатов ключей удостоверения подлинности в целях ограничения распространения информации в другие сценарии.
При использовании 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 key-in 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 во время загрузки:
При добавлении новых функций безопасности Windows функция измеряемой загрузки добавляет к показателям, записанным в TPM, данные конфигурации, связанные с безопасностью. Функция измеряемой загрузки запускает сценарии удаленной аттестации в соответствии со встроенным системным ПО и состоянием инициализации Windows.
Подтверждение работоспособности устройств
Некоторые 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 безопасности. Корпорация Майкрософт и другие участники продолжают улучшать глобальные стандарты, касающиеся TPM. Мы находим все новые и новые приложения, использующие данный модуль, и прикладываем все усилия, чтобы обеспечить нашим клиентам ощутимые преимущества. Корпорация Майкрософт включила поддержку большинства функций TPM в свою версию Windows для Интернета вещей (IoT) под названием Windows IoT Core. Устройства IoT, которые могут развертываться в небезопасных физических местоположениях и подключаться к таким облачным службам, как Azure IoT Hub, могут использовать TPM для управления совершенно новыми способами, удовлетворяя все возникающие требования к безопасности.