Инициализацией в Matter называется назначение новому устройству учетных данных в связанной группе. Уполномоченное устройство – это устройство, которое выполняет инициализацию. Инициализируемое устройство – это новое устройство, которое нужно добавить в связанную группу.
В целом процесс ввода в эксплуатацию можно разбить на несколько этапов:
Обнаружение устройств
Перед началом процесса ввода в эксплуатацию вводимое в эксплуатацию устройство должно начать передавать объявления. Комиссионер может рекламировать себя, используя любой из трех методов Обнаружения с комиссией. Уполномоченное лицо также должно предоставить полезную нагрузку для регистрации.
Подключиться к устройству (PASE)
Обнаружив объявление и сопоставив дискриминатор, комиссионер использует код доступа из полезной нагрузки интеграции, чтобы выполнить Passcode Authenticated Session Establishment (PASE) и подключиться к устройству. Это метод безопасного создания ключей, которые оба устройства смогут использовать для установления связи. На этом этапе комиссар также включает отказоустойчивость. Отказоустойчивость позволяет вернуть устройство в исходное состояние, если ввод в эксплуатацию не завершился успешно.
Получение информации об инициализируемом устройстве
Комиссар считывает все дескрипторы от Комиссионера. DescriptorCluster находится на конечной точке 0 устройства и описывает все остальные конечные точки. Комиссионер также считывает кластер базовой информации, который включает такие сведения, как идентификатор поставщика, идентификатор товара, название товара и серийный номер.
На этом этапе контроллер также считывает тип устройства, которое добавляется, что помогает улучшить UX на стороне контроллера.
Нормативные требования
Комиссионер настраивает нормативную информацию на Комиссионере с помощью команды SetRegulatoryConfig. Нормативная информация включает в себя сведения о настройке местоположения (в помещении, на улице или и то, и другое) устройства или настройке кода страны.
Подтверждение инициализируемого устройства
Цель процедуры подтверждения уполномоченного лица – определить, сертифицировано ли устройство и является ли оно подлинным устройством Matter. Уполномоченное устройство извлекает сертификат подтверждения устройства (DAC) и промежуточный сертификат подтверждения продукта (PAI) из уполномочиваемого устройства. Эти сертификаты содержат идентификатор поставщика, идентификатор товара и открытый ключ подтверждения. После получения сертификатов уполномоченный выполняет запрос на аутентификацию, который должен быть подписан закрытым ключом аттестации, и использует его для установления подлинности уполномоченного.
Запрос на подпись сертификата (CSR)
Уполномочивающее устройство отправляет уполномочиваемому запрос на подпись сертификата (CSR). Устройство, добавляемое в сеть, создает уникальную пару рабочих ключей, которая будет использоваться в Certificate Authenticated Session Establishment (CASE). Устройство, добавляемое в сеть, возвращает полученную информацию CSR устройству, добавляющему в сеть.
Добавить сертификат NOC
Уполномоченный использует информацию CSR, полученную от уполномоченного, и передает ее менеджеру административного домена (ADM) для создания доверенного операционного сертификата узла (NOC). Комиссионер устанавливает корневой сертификат на комиссионера с помощью команды AddTrustedRootCertReq, а затем устанавливает рабочий сертификат узла с помощью команды AddNOC.
Инициализация сети
Инициализирующее устройство настраивает рабочую сеть на инициализируемом устройстве. Этот шаг необходим для устройств с поддержкой Thread или Wi-Fi. Этот шаг не требуется для устройств Ethernet, которые уже подключены к сети. Используются команды ScanNetworks, AddOrUpdateWifiNetwork и ConnectNetwork.
Оперативное обнаружение
После того как новое устройство подключится к сети, комиссионер использует обнаружение в рабочей сети, чтобы найти его. Обнаружение в рабочей сети – это процесс, в ходе которого введенные в эксплуатацию узлы обнаруживаются в рабочей сети с помощью DNS-SD. Если подключаемое устройство использует Wi-Fi, оно будет обнаружено с помощью mDNS.
Операционное обнаружение помогает комиссионеру и другим узлам в сети узнать, какой IP-адрес и порт использует комиссионер.
Установление сеанса CASE
После обнаружения нового узла между комиссионером и устройством устанавливается сеанс CASE. Этот сеанс инициируется уполномоченным лицом, и устройство отвечает на него. На этом этапе происходит обмен рабочими сертификатами и устанавливается общее доверие путем проверки того, что они находятся в одной логической структуре.
Инициализация завершена
Комиссионер использует CASE, чтобы отправить команду CommissioningComplete на новое устройство. Это последний шаг в процессе ввода в эксплуатацию. CommissioningComplete также автоматически отключает таймер безопасности. После успешного ввода в эксплуатацию устройство работает как любой другой узел в рабочей сети.