Поделиться через


Аттестация доверенного платформенного модуля

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

Доверенный платформенный модуль (TPM) — это тип аппаратного модуля безопасности (HSM). В этой статье предполагается, что вы используете дискретный, встроенное ПО или интегрированный TPM. Программные эмулированные TPM хорошо подходят для прототипирования или тестирования, но они не обеспечивают тот же уровень безопасности, что и дискретные, встроенное ПО или интегрированные TPM. В рабочей среде не рекомендуется использовать программные модули TPM.

Эта статья относится только к устройствам, в которых используется TPM 2.0 с поддержкой ключа HMAC, и их ключам подтверждения. TPM является отраслевым стандартом ISO из доверенной вычислительной группы, и вы можете узнать больше о TPM в полной спецификации TPM 2.0 или спецификации ISO/IEC 11889. В этой статье также предполагается, что вы знакомы с парами открытых и закрытых ключей и как они используются для шифрования.

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

Обзор

В модулях TPM в качестве корня доверия используется так называемый ключ подтверждения (EK). EK уникален для модуля TPM. Если изменить EK, устройство фактически преобразуется в новое.

TPMs имеют другой тип ключа, называемого корневым ключом хранилища (SRK). Ключ SRK может сформировать владелец модуля TPM после получения права владения. Принятие права владения на доверенный платформенный модуль (TPM) — это способ (специально для TPM) заявить, что кто-то установил пароль на HSM. Если доверенный платформенный модуль продан новому владельцу, новый владелец может получить право владения на TPM для создания нового SRK. Создание нового SRK гарантирует, что предыдущий владелец не сможет использовать этот модуль TPM. Так как SRK уникален для владельца TPM, с помощью SRK можно запечатать данные в самом модуле TPM соответствующего владельца. SRK предоставляет владельцу песочницу для хранения ключей и позволяет отозвать доступ при продаже устройства или модуля TPM. Это напоминает переезд в новый дом: при смене владельца меняются дверные замки и убирается вся мебель, оставленная предыдущими владельцами (SRK), но адрес дома (EK) изменить нельзя.

После настройки устройства он имеет как EK, так и SRK доступны для использования.

Схема, демонстрирующая владение TPM.

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

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

Процесс аттестации

Когда устройство с TPM подключается к службе подготовки устройств, служба сначала проверка предоставленные EK_pub к EK_pub, хранящейся в списке регистрации. Если EK_pubs не совпадают, устройство не может быть подготовлено. Если EK_pub совпадают, служба подает устройству запрос на подтверждение владения закрытой частью EK. Для этого используется задача nonce — защищенная операция для аутентификации. Служба подготовки устройств формирует значение nonce, шифрует его с помощью SRK и EK_pub, которые предоставляются устройством при начальном вызове регистрации. В модуле TPM закрытая часть EK всегда хранится с поддержкой надлежащего уровня безопасности. Это позволяет предотвратить подделку и гарантирует защищенную подготовку маркеров SAS для разрешенных устройств.

Рассмотрим процесс аттестации в подробностях.

Запрос устройства на назначение Центра Интернета вещей

Сначала устройство подключается к службе подготовки устройств и запрашивает подготовку. При этом устройство предоставляет службе свой идентификатор регистрации, сведения об области идентификатора, а также EK_pub и SRK_pub модуля TPM. Служба передает зашифрованное значение nonce обратно на устройство и запрашивает у устройства расшифровку nonce. Результат используется для подписания маркера SAS с целью повторного подключения и завершения подготовки.

Устройство запрашивает подготовку

Задача nonce

Устройство принимает значение nonce и использует закрытые части EK и SRK для расшифровки nonce в TPM. При шифровании nonce доверие делегируется от EK, который является неизменяемым, к SRK, который может измениться, если право владения модулем TPM получит новый владелец.

Расшифровка nonce

Проверка nonce и получение учетных данных

Устройство затем может подписать маркер SAS с помощью расшифрованного значения nonce и повторно установить подключение к службе подготовки устройств, используя подписанный маркер SAS. По завершении задачи nonce служба разрешает подготовку устройства.

Процесс восстановления устройством подключения к службе подготовки устройств для проверки владения EK.