커미셔닝

Matter에서 커미셔닝이란 새 기기에 Fabric 사용자 인증 정보를 할당하는 프로세스를 의미합니다. 커미셔너는 커미셔닝 프로세스를 수행하는 기기입니다. 커미셔닝 담당자는 Fabric에 프로비저닝해야 하는 새 기기입니다.

개략적으로 커미셔닝 흐름은 여러 단계로 나눌 수 있습니다.

커미셔닝 흐름
그림 1: 커미셔닝 흐름 - 대략적인 수준

기기 검색

커미셔닝 절차를 시작하기 전에 커미셔닝 대상자가 광고를 직접 시작해야 합니다. 위원회는 세 가지 수수료 제공 탐색 방법 중 하나를 사용하여 자사를 광고할 수 있습니다. 수수료 담당자는 온보딩 페이로드도 제공해야 합니다.

기기에 연결 (PASE)

커미셔너가 광고를 보고 분류자를 매칭하면 온보딩 페이로드의 비밀번호를 사용하여 Passcode Authenticated Session Establishment (PASE)를 실행하여 기기에 연결합니다. 이는 두 기기 모두 통신을 설정하는 데 사용할 수 있는 키를 안전하게 설정하는 방법입니다. 이 단계에서 위원회는 장애 안전 장치도 설정합니다. 장애 안전 기능은 커미셔닝이 성공적으로 완료되지 않을 경우 기기를 원래 상태로 롤백하는 방법을 제공합니다.

커미셔닝 관리자 정보 확인

위원회는 위원회의 모든 설명을 읽습니다. DescriptorCluster는 기기의 엔드포인트 0에 있으며 다른 모든 엔드포인트를 설명합니다. 커미셔너는 공급업체 ID, 제품 ID, 제품 이름, 일련번호와 같은 정보가 포함된 기본 정보 클러스터도 읽습니다. 이 단계에서 커미셔너는 커미셔너 측의 UX를 주도하는 데 도움이 되는 커미셔닝의 기기 유형도 읽습니다.

규제 구성

커미셔너는 SetRegulatoryConfig 명령어를 사용하여 위원회에 대한 규제 정보를 구성합니다. 규제 정보에는 기기의 위치 (실내/실외/둘 다) 구성 또는 국가 코드 설정과 같은 정보가 포함됩니다.

커미셔닝 직원 증명

위원회 증명 절차의 목표는 기기가 인증을 받았고 정품 Matter 기기인지 확인하는 것입니다. 커미셔너가 위원회로부터 기기 증명 인증서 (DAC)제품 증명 중간 (PAI) 인증서를 추출합니다. 이러한 인증서에는 공급업체 ID, 제품 ID, 증명 공개 키가 포함됩니다. 인증서를 받으면 위원회는 증명 비공개 키로 서명되어야 하는 챌린지 요청을 실행하고 이를 사용하여 위원회의 신뢰성을 확인합니다.

인증서 서명 요청 (CSR)

위원회가 위원회에게 인증서 서명 요청 (CSR)을 보냅니다. 커미셔닝 담당자는 나중에 Certificate Authenticated Session Establishment (CASE)에서 사용할 고유한 운영 키 쌍을 만듭니다. 위원회는 그 결과로 얻은 CSR 정보를 위원회에 반환합니다.

노드 운영 인증서 (NOC) 추가

커미셔너는 위원회로부터 받은 CSR 정보를 사용하여 관리 도메인 관리자 (ADM)에 전달하여 신뢰할 수 있는 노드 운영 인증서 (NOC)를 생성합니다. 커미셔너는 AddTrustedRootCertReq 명령어를 사용하여 커미셔너에 루트 인증서를 설치한 후 AddNOC 명령어를 사용하여 노드 운영 인증서를 설치합니다.

네트워크 프로비저닝

커미셔너가 위원회에서 운영 네트워크를 구성합니다. 이 단계는 Thread 또는 Wi-Fi 기기에 필요합니다. 기기가 이미 네트워크에 연결된 이더넷 기기에는 이 단계가 필요하지 않습니다. ScanNetworks, AddOrUpdateWifiNetwork, ConnectNetwork 명령어를 사용합니다.

운영 탐색

새로 커미셔닝된 노드가 네트워크에 연결되면 커미셔너는 운영 검색을 사용하여 운영 네트워크에서 노드를 찾습니다. 운영 검색은 DNS-SD를 사용하여 운영 네트워크에서 의뢰된 노드를 찾는 프로세스입니다. 커미셔닝 대상이 Wi-Fi 기기인 경우 mDNS를 사용하여 기기를 검색합니다.

운영 탐색을 통해 커미셔너와 네트워크의 다른 노드가 커미셔닝 대상 IP 주소와 포트를 알 수 있습니다.

CASE 세션 설정

새로 커미셔닝된 노드가 검색되면 커미셔너와 기기 간에 CASE 세션이 설정됩니다. 이 세션은 커미셔너가 시작하고 기기에서 응답합니다. 이 단계에서는 운영 인증서가 교환되고 동일한 논리 패브릭에 있는지 확인하여 공유 트러스트를 설정합니다.

커미셔닝 완료

커미셔너는 CASE를 사용하여 새로 커밋된 기기에 CommissioningComplete 명령어를 전송합니다. 커미셔닝 프로세스의 마지막 단계입니다. 또한 CommissioningComplete는 장애 안전 타이머를 자동으로 해제합니다. 커미셔닝이 성공적으로 완료되면 기기는 운영 네트워크의 다른 노드처럼 작동합니다.