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


Аттестация TPM

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

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

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

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

Обзор

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

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

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

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

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

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

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

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

Подробно рассмотрим процесс аттестации.

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

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

Схема, показывающая, как устройство запрашивает конфигурирование.

Nonce challenge

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

Схема, показывающая, как происходит расшифровка nonce.

Проверьте одноразовый ключ и получите учетные данные

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

Схема, показывающая, как устройство восстанавливает подключение к Службе подготовки устройств для проверки подлинности владения EK.