커미셔닝

Matter에서의 커미셔닝은 새 기기에 Fabric 사용자 인증 정보를 할당하는 프로세스를 의미합니다. 커미셔닝은 커미셔닝 프로세스를 실행하는 기기입니다. 위원회는 Fabric에 프로비저닝해야 하는 새로운 기기입니다.

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

커미셔닝 흐름
그림 1: 커미셔닝 흐름 - 개괄적 설명

기기 검색

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

기기에 연결 (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는 또한 장애 안전 타이머의 경보 시스템을 자동으로 해제합니다. 커미셔닝이 성공적으로 완료되면 기기는 작동 네트워크의 다른 노드처럼 작동합니다.