Сертифицированные устройства прошли процесс сертификации Connectivity Standards Alliance (Alliance) Matter.
В процессе инициализации сертифицированное устройство должно подтвердить свою подлинность. Иными словами, он должен доказать, что является тем, чем он себя называет, и что это подлинный продукт. Таким образом, у всех устройств Matter есть учетные данные, включающие пару ключей подтверждения и связанную с ней цепочку сертификатов. Сертификат подтверждения устройства (DAC) является частью этой цепочки. После того как устройство, находящееся на этапе ввода в эксплуатацию, предоставит DAC уполномоченному лицу, последнее должно подтвердить, что:
- он был изготовлен сертифицированным производителем.
- устройство является подлинным.
- прошло Matter проверок на соответствие требованиям.
На этапе разработки производитель может тестировать свои устройства без полной процедуры подтверждения. Тестировщики должны быть уведомлены о том, что устройство находится на стадии тестирования, ещё не сертифицировано и не выпущено. Когда производитель переходит к этапу производства, экосистема инициализатора должна обеспечивать соблюдение всех требований к аттестации.
Аттестация использует инфраструктуру открытых ключей (PKI), в которой применяются корневые центры сертификации и промежуточные сертификаты, аналогично широко используемым сертификатам аутентификации серверов, применяемым для SSL/TLS. Этот процесс называется цепочкой сертификатов аттестации устройства.
PKI для подтверждения устройства
DAC – это сертификат X.509 версии 3. Первая версия X.509 была опубликована в 1988 году Международным консультативным комитетом по телеграфии и телефонии (МККТТ). Сертификат X.509 версии 3 с инфраструктурой открытых ключей и список отзыва сертификатов (CRL), используемые Matter, описаны в RFC5280. Он содержит:
- Открытый ключ
- Издатель
- Тема
- Серийный номер сертификата
- Срок действия, который может быть неопределенным.
- Подпись
Идентификатор поставщика и идентификатор продукта – это атрибуты элемента MatterDACName в теме DAC.
DAC уникален для каждого устройства и связан с уникальной парой ключей аттестации в продукте. Он выпущен ЦС, связанным с производителем устройства.
Подпись DAC проверяется по промежуточному сертификату подтверждения продукта (PAI), который также выпускается PAA. Однако поставщик может создать один PAI для каждого товара (с указанием идентификатора товара), группы товаров или всех своих товаров.
В основе цепочки доверия лежит открытый ключ центра сертификации (ЦС) Product Attestation Authority (PAA), который используется для проверки подписей от PAI. Обратите внимание, что Matter – это федеративное хранилище доверия, а набор сертификатов PAA, которым доверяют комиссии, хранится в центральной доверенной базе данных (распределенном реестре соответствия). Чтобы добавить PAA в доверенный набор, необходимо соблюдать правила сертификации, которыми управляет Alliance.
PAI также является сертификатом X.509 версии 3, который включает:
- Открытый ключ
- Издатель
- Тема
- Серийный номер сертификата
- Срок действия, который может быть неопределенным.
- Подпись
Идентификатор поставщика и идентификатор продукта (необязательно) – это атрибуты объекта MatterDACName в теме DAC.
Наконец, PAA – это корневой сертификат в цепочке, и он самозаверяющий. В него входят:
- Подпись
- Открытый ключ
- Издатель
- Тема
- Серийный номер сертификата
- Срок действия
Дополнительные документы и сообщения
Процесс аттестации включает несколько документов и сообщений. Ниже приведен краткий обзор их функций и состава. На изображении ниже показана иерархия этих объектов.
| Документ | Описание |
|---|---|
| Декларация о сертификации (CD) | Сертификат устройства позволяет устройству Matter доказать, что оно соответствует протоколу Matter.
После завершения процессов сертификации Matter создает CD для типа устройства, чтобы поставщик мог включить его в прошивку.Alliance На компакт-диске, помимо прочего, содержится следующая информация:
|
| Информация о встроенном ПО (необязательно) | Раздел Firmware Information содержит номер версии CD и один или несколько дайджестов компонентов встроенного ПО, таких как ОС, файловая система и загрузчик. Дайджесты могут представлять собой хеш компонентов ПО или хеш подписанных манифестов компонентов ПО. Производитель также может включить в информацию о встроенном ПО только хеш хешей компонентов, а не массив отдельных хешей. Информация о встроенном ПО – это необязательный элемент процесса аттестации, который используется, если у производителя есть безопасная среда загрузки, обрабатывающая пару ключей аттестации. |
| Информация о подтверждении | Сообщение, отправленное уполномоченным лицу, назначенному уполномоченным. Подтверждение сочетает в себе TLV, содержащий элементы подтверждения, и подпись подтверждения. |
| Элементы подтверждения | Это TLV, содержащий:
|
| Attestation Challenge | Внеполосный запрос, полученный во время установления сеанса Passcode Authenticated Session Establishment (PASE)/Certificate Authenticated Session Establishment (CASE) и используемый для повышения безопасности процедуры и предотвращения повторного использования подписей. Поступает из CASE сеанса, PASE сеанса или возобновленного CASEсеанса. |
| Подтверждение TBS (для подписи) | Сообщение, содержащее элементы подтверждения и запрос на подтверждение. |
| Подпись подтверждения | Подпись Attestation TBS, подписанная с помощью закрытого ключа аттестации устройства. |
Процедура аттестации
Инициализирующее устройство отвечает за аттестацию инициализируемого устройства. Она выполняет следующие действия:
- Комиссар генерирует случайный 32-байтовый однократно используемый номер для подтверждения. В криптографии nonce (число, используемое один раз) – это случайное число, сгенерированное в криптографической процедуре и предназначенное для однократного использования.
- Комиссар отправляет устройству nonce и запрашивает информацию об аттестации.
- DUT создает информацию о подтверждении и подписывает ее с помощью закрытого ключа подтверждения.
- Комиссар получает сертификаты DAC и PAI от устройства и ищет сертификат PAA в своем хранилище доверенных сертификатов Matter.
- Уполномоченный проверяет информацию о подтверждении. Условия проверки:
- Цепочка сертификатов DAC должна быть проверена, в том числе на отзыв PAI и PAA.
- Идентификатор VID в DAC совпадает с идентификатором VID в PAI.
- Подпись аттестации действительна.
- Одноразовый код в элементах подтверждения устройства совпадает с одноразовым кодом, предоставленным комиссаром.
- Подпись декларации сертификата действительна, если она выполнена с помощью одного из известных ключей подписи декларации сертификата Alliance.
- Информация о встроенном ПО (если она есть и поддерживается уполномоченным органом) соответствует записи в распределенном реестре соответствия нормативным требованиям.
- Дополнительные проверки VID/PID также выполняются между кластером основной информации об устройстве, декларацией соответствия и DAC.