인증된 기기는 Connectivity Standards Alliance (Alliance) Matter 인증 프로세스를 통과한 기기입니다.
커미셔닝 프로세스 중에 인증된 기기는 자체적으로 증명해야 합니다. 즉, 제품을 선보여 정품임을 증명해야 합니다. 따라서 모든 Matter 기기는 증명 키 쌍 및 연결된 인증서 체인을 포함하는 사용자 인증 정보를 가집니다. 기기 증명 인증서 (DAC)가 이 체인의 일부입니다. 시운전 중인 기기가 DAC를 커미셔너에게 전달하면 커미셔너는 다음을 인증합니다.
- 인증 제조업체에서 제조한 것입니다.
- 정품 장치입니다.
- Matter 규정 준수 테스트를 통과했습니다.
개발 단계 중에 제조업체는 전체 증명 프로세스 없이 기기를 테스트할 수 있습니다. 기기가 테스트 중이며 아직 인증 및 출시되지 않았다는 것을 테스터에게 명시적으로 알려야 합니다. 제조업체가 프로덕션 단계에 들어가면 프로비저닝 도구 생태계는 모든 증명 요구사항을 적용해야 합니다.
증명은 SSL/TLS에 널리 사용되는 서버 인증 인증서와 비슷한 방식으로 루트 인증 기관 및 중간 인증서를 활용하는 공개 키 인프라 (PKI)를 사용합니다. 이 프로세스를 기기 증명 인증서 체인이라고 합니다.
기기 증명 PKI
DAC는 X.509 v3 인증서입니다. X.509의 첫 번째 버전은 1988년에 ITU-T에 의해 게시되었습니다. Matter에서 사용하는 공개 키 인프라 인증서 및 인증서 해지 목록 (CRL)이 있는 X.509 v3는 RFC5280으로 지정됩니다. 여기에는 다음이 포함됩니다.
- 공개 키
- 발급자
- 제목
- 인증서 일련번호
- 만료가 불확실할 수 있는 유효성
- 서명
공급업체 ID 및 제품 ID는 DAC 제목의 MatterDACName
속성입니다.
DAC는 기기별로 고유하며 제품 내의 고유한 증명 키 쌍과 연결됩니다. 기기 제조업체와 연결된 CA에서 발급합니다.
DAC의 서명은 PAA에서 발급한 제품 증명 중간 인증서 (PAI)에 따라 검증됩니다. 그러나 공급업체는 제품당 (PID별), 제품 그룹 또는 모든 제품에 하나의 PAI를 만들 수 있습니다.
신뢰 체인의 루트에서 제품 증명 기관(PAA) 인증 기관 (CA) 공개 키는 PAI의 서명을 검증합니다. Matter 트러스트 저장소는 페더레이션되며, 커미셔너가 신뢰하는 PAA 인증서 세트는 신뢰할 수 있는 중앙 데이터베이스 (분산 규정 준수 원장)에서 유지보수됩니다. 신뢰할 수 있는 집합 내에서 PAA를 입력하려면 Alliance에서 관리하는 인증서 정책을 충족해야 합니다.
PAI는 다음을 포함하는 X.509 v3 인증서이기도 합니다.
- 공개 키
- 발급자
- 제목
- 인증서 일련번호
- 만료가 불확실할 수 있는 유효성
- 서명
공급업체 ID 및 제품 ID (선택사항)는 DAC 주체의 MatterDACName
속성입니다.
마지막으로 PAA는 체인의 루트 인증서이며 자체 서명됩니다. 여기에는 다음이 포함됩니다.
- 서명
- 공개 키
- 발급자
- 제목
- 인증서 일련번호
- 유효성
추가 증명 문서 및 메일
증명 프로세스에는 여러 문서와 메시지가 있습니다. 다음 항목은 함수 및 구성에 관한 간단한 개요입니다. 아래 이미지는 계층 구조를 이해하는 데 도움이 됩니다.
문서 | 설명 |
---|---|
인증 선언 (CD) | CD를 사용하면 Matter 기기가 Matter 프로토콜 준수를 증명할 수 있습니다.
Matter 인증 프로세스가 완료될 때마다 Alliance는 기기 유형에 맞는 CD를 생성하므로 공급업체가 펌웨어에 포함할 수 있습니다. CD에는 다음과 같은 정보가 포함됩니다.
|
펌웨어 정보 (선택사항) | 펌웨어 정보에는 CD 버전 번호와 함께 OS, 파일 시스템, 부트로더와 같은 펌웨어 구성요소의 하나 이상의 다이제스트가 포함됩니다. 다이제스트는 소프트웨어 구성요소의 해시 또는 소프트웨어 구성요소의 서명된 매니페스트 해시 중 하나일 수 있습니다. 공급업체는 개별 해시 배열 대신 구성요소의 '해시-해시'만 펌웨어 정보에 포함할 수도 있습니다. 펌웨어 정보는 공급업체에서 증명 프로세스와 적용 가능한 키 쌍을 처리하는 키 환경의 선택적 요소입니다. |
증명 정보 | 위원회가 커미셔널에게 보낸 메시지 증명 정보는 증명 요소와 증명 서명을 포함하는 TLV를 결합합니다. |
증명 요소 | 다음이 포함된 TLV입니다.
|
증명 과제 | Passcode Authenticated Session Establishment (PASE)/Certificate Authenticated Session Establishment (CASE) 세션 설정 중에 파생된 대역 외 챌린지로, 절차를 더 안전하게 보호하고 재생된 서명을 방지하는 데 사용됩니다. CASE 세션, PASE 세션 또는 재개된 CASE 세션에서 발생합니다. |
증명 TBS (서명 필요) | 증명 요소 및 증명 챌린지가 포함된 메시지 |
증명서 서명 | 기기 증명 비공개 키를 사용하여 서명된 증명 TBS의 서명입니다. |
증명 절차
위원회장은 위원회를 증명할 책임이 있습니다. 다음 단계를 실행합니다.
- 커미셔너가 임의의 32바이트 증명 nonce를 생성합니다. 암호화 전문 용어에서 nonce (한 번 사용되는 숫자)는 암호화 절차에서 생성된 랜덤 숫자이며 한 번 사용됩니다.
- 커미셔너는 nonce를 DUT에 전송하고 증명 정보를 요청합니다.
- DUT는 증명 정보를 생성하고 증명 비공개 키로 서명합니다.
- 커미셔너가 기기에서 DAC 및 PAI 인증서를 복구하고 Matter 트러스트 저장소에서 PAA 인증서를 조회합니다.
- 위원회는 증명 정보를 검증합니다. 검증 조건은 다음과 같습니다.
- PAI 및 PAA에 대한 취소 확인을 포함하여 DAC 인증서 체인을 검증해야 합니다.
- DAC의 VID가 PAI의 VID와 일치합니다.
- 증명서 서명이 유효합니다.
- 기기 증명 요소의 nonce는 커미셔너가 제공한 nonce와 일치합니다.
- 인증서 선언 서명은 Alliance의 잘 알려진 인증 선언 서명 키 중 하나를 사용하여 유효합니다.
- 펌웨어 정보 (커미셔너가 지원하고 지원하는 경우)는 분산 규정 준수 원장의 항목과 일치합니다.
- 기기 기본 정보 클러스터, 인증 선언, DAC 간에 추가 VID/PID 유효성 검사도 이루어집니다.