Аттестация

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Комиссар отвечает за аттестацию Комиссара. Он выполняет следующие действия:

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