Аттестация

Сертифицированные устройства — это устройства, прошедшие процесс Matter Connectivity Standards Alliance (Alliance) .

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

  • он был изготовлен сертифицированным производителем.
  • это настоящее устройство.
  • он прошел испытания на соответствие требованиям Matter .

На этапе разработки производитель может тестировать свои Устройства без полного процесса Аттестации. Тестировщики должны быть четко проинформированы о том, что Устройство находится на стадии тестирования, и оно еще не сертифицировано и не запущено. Как только производитель переходит на этап производства, экосистема поставщика должна обеспечить соблюдение всех требований Аттестации.

Аттестация использует инфраструктуру открытых ключей ( PKI ), которая использует корневые центры сертификации и промежуточные сертификаты, аналогично широко распространенным сертификатам аутентификации сервера, используемым для SSL/TLS. Этот процесс называется цепочкой сертификатов аттестации устройства.

Аттестация устройств PKI

DAC — это сертификат X.509 v3. Первая версия X.509 была опубликована в 1988 году ITU-T. X.509 v3 с сертификатом инфраструктуры открытых ключей и списком отзыва сертификатов (CRL), используемый Matter , указан в RFC5280 . Он содержит:

  • Открытый ключ
  • Эмитент
  • Предмет
  • Серийный номер сертификата
  • Действительность, при этом срок действия может быть неопределенным
  • Подпись

Идентификатор поставщика и идентификатор продукта являются атрибутами MatterDACName в субъекте DAC.

DAC уникален для каждого устройства и связан с уникальной парой ключей подтверждения в продукте. Он выдается CA, связанным с производителем устройства.

Подпись DAC проверяется с помощью Product Attestation Intermediate Certificate ( PAI ), который также выдается PAA. Однако поставщик может выбрать создание одного PAI для каждого продукта (PID-специфического), группы продуктов или для всех своих продуктов.

В корне цепочки доверия открытый ключ Центра сертификации продукта ( PAA ) Центра сертификации ( CA ) проверяет подписи из PAI. Обратите внимание, что хранилище доверия Matter является федеративным, а набор сертификатов PAA, которым доверяют уполномоченные, хранится в центральной доверенной базе данных (распределенный реестр соответствия). Ввод PAA в доверенный набор требует соблюдения политики сертификатов, управляемой Alliance .

Инфраструктура открытого ключа подтверждения подлинности
Рисунок 1: Инфраструктура открытого ключа подтверждения подлинности

PAI также является сертификатом X.509 v3, который включает в себя:

  • Открытый ключ
  • Эмитент
  • Предмет
  • Серийный номер сертификата
  • Действительность, при этом срок действия может быть неопределенным
  • Подпись

Идентификатор поставщика и идентификатор продукта (необязательно) являются атрибутами MatterDACName в субъекте DAC.

Наконец, PAA является корневым сертификатом в цепочке и является самоподписанным. Он включает в себя:

  • Подпись
  • Открытый ключ
  • Эмитент
  • Предмет
  • Серийный номер сертификата
  • Действительность

Дополнительные подтверждающие документы и сообщения

Процесс аттестации имеет несколько документов и сообщений. Следующие пункты представляют собой краткий обзор их функции и состава. Изображение ниже помогает понять их иерархию.

Иерархия документов подтверждения подлинности
Рисунок 2: Иерархия документов подтверждения подлинности
Документ Описание
Декларация о сертификации (CD) CD позволяет устройству Matter доказать свое соответствие протоколу Matter . Всякий раз, когда процессы сертификации Matter завершаются, Alliance создает CD для типа устройства, чтобы Поставщик мог включить его в прошивку. CD включает в себя, среди прочего, следующую информацию:
  • ВИД
  • PID (один или несколько)
  • ID категории сервера
  • Идентификатор категории клиента
  • Уровень безопасности
  • Информация о безопасности
  • Тип сертификации (разрабатываемая, временная или официальная)
  • Подпись
Информация о прошивке (необязательно) Информация о прошивке содержит номер версии CD и один или несколько дайджестов компонентов прошивки, таких как ОС, файловая система, загрузчик. Дайджесты могут быть либо хэшем программных компонентов, либо хэшем подписанных манифестов программных компонентов.

Поставщик мог бы также включить в информацию о прошивке только «хэш-хэши» ее компонентов, а не массив отдельных хэшей.

Информация о прошивке является необязательным элементом в процессе аттестации и применяется, когда у поставщика есть безопасная загрузочная среда, которая обрабатывает пару ключей аттестации.
Информация об аттестации Сообщение, отправленное Комиссаром Комиссару. Информация об аттестации объединяет TLV, содержащую Элементы аттестации и Подпись аттестации .
Элементы аттестации Это TLV, содержащий:

  • Сертификат Декларации
  • Временная метка
  • Подтверждение Nonce
  • Информация о прошивке (необязательно)
  • Информация о поставщике (необязательно)
Аттестационный вызов Внеполосный вызов, полученный во время Passcode Authenticated Session Establishment (PASE) / Certificate Authenticated Session Establishment (CASE) и используемый для дальнейшей защиты процедуры и предотвращения повторных подписей. Поступает из сеанса CASE , сеанса PASE или возобновленного сеанса CASE .
Подтверждение TBS (подлежит подписанию) Сообщение, содержащее элементы аттестации и задачу аттестации.
Подтверждение подписи Подпись TBS подтверждения, подписанная с использованием закрытого ключа подтверждения устройства.

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

Комиссар несет ответственность за удостоверение Комиссара. Он выполняет следующие шаги:

  1. Комиссар генерирует случайный 32-байтовый nonce подтверждения. На жаргоне криптографии nonce (число, используемое один раз) — это случайное число, сгенерированное в криптографической процедуре и предназначенное для однократного использования.
  2. Комиссар отправляет одноразовый код в DUT и запрашивает информацию об аттестации.
  3. DUT генерирует информацию об аттестации и подписывает ее с помощью закрытого ключа аттестации.
  4. Комиссар извлекает сертификаты DAC и PAI из устройства и ищет сертификат PAA в своем хранилище доверенных сертификатов Matter .
  5. Комиссар подтверждает информацию об аттестации. Условия проверки следующие:
    • Цепочка сертификатов DAC должна быть проверена, включая проверки отзыва PAI и PAA.
    • VID на DAC совпадает с VID на PAI.
    • Подпись, подтверждающая подлинность, действительна.
    • Случайное число в элементах подтверждения подлинности устройства совпадает с случайным числом, предоставленным Комиссаром.
    • Подпись декларации сертификата действительна при использовании одного из известных ключей подписи декларации сертификата Alliance .
    • Информация о прошивке (если она имеется и поддерживается Комиссаром) соответствует записи в Распределенном реестре соответствия.
    • Дополнительные проверки VID/PID также выполняются между кластером базовой информации об устройстве, декларацией сертификации и DAC.