증명

인증된 기기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에서 관리하는 인증서 정책을 충족해야 합니다.

Matter 증명 공개 키 인프라
그림 1: Matter 증명 공개 키 인프라

PAI는 다음을 포함하는 X.509 v3 인증서이기도 합니다.

  • 공개 키
  • 발급자
  • 제목
  • 인증서 일련번호
  • 만료가 불확실할 수 있는 유효성
  • 서명

공급업체 ID 및 제품 ID (선택사항)는 DAC 주체의 MatterDACName 속성입니다.

마지막으로 PAA는 체인의 루트 인증서이며 자체 서명됩니다. 여기에는 다음이 포함됩니다.

  • 서명
  • 공개 키
  • 발급자
  • 제목
  • 인증서 일련번호
  • 유효성

추가 증명 문서 및 메일

증명 프로세스에는 여러 문서와 메시지가 있습니다. 다음 항목은 함수 및 구성에 관한 간단한 개요입니다. 아래 이미지는 계층 구조를 이해하는 데 도움이 됩니다.

증명 문서 계층 구조
그림 2: 증명 문서 계층 구조
문서 설명
인증 선언 (CD) CD를 사용하면 Matter 기기가 Matter 프로토콜 준수를 증명할 수 있습니다. Matter 인증 프로세스가 완료될 때마다 Alliance는 기기 유형에 맞는 CD를 생성하므로 공급업체가 펌웨어에 포함할 수 있습니다. CD에는 다음과 같은 정보가 포함됩니다.
  • VID
  • PID(1개 이상)
  • 서버 카테고리 ID
  • 클라이언트 카테고리 ID
  • 보안 수준
  • 보안 정보
  • 인증 유형 (개발, 임시 또는 공식)
  • 서명
펌웨어 정보 (선택사항) 펌웨어 정보에는 CD 버전 번호와 함께 OS, 파일 시스템, 부트로더와 같은 펌웨어 구성요소의 하나 이상의 다이제스트가 포함됩니다. 다이제스트는 소프트웨어 구성요소의 해시 또는 소프트웨어 구성요소의 서명된 매니페스트 해시 중 하나일 수 있습니다.

공급업체는 개별 해시 배열 대신 구성요소의 '해시-해시'만 펌웨어 정보에 포함할 수도 있습니다.

펌웨어 정보는 공급업체에서 증명 프로세스와 적용 가능한 키 쌍을 처리하는 키 환경의 선택적 요소입니다.
증명 정보 위원회가 커미셔널에게 보낸 메시지 증명 정보는 증명 요소증명 서명을 포함하는 TLV를 결합합니다.
증명 요소 다음이 포함된 TLV입니다.

  • 인증서 선언
  • 타임스탬프
  • 증명 nonce
  • 펌웨어 정보 (선택사항)
  • 공급업체별 정보 (선택사항)
증명 과제 Passcode Authenticated Session Establishment (PASE)/Certificate Authenticated Session Establishment (CASE) 세션 설정 중에 파생된 대역 외 챌린지로, 절차를 더 안전하게 보호하고 재생된 서명을 방지하는 데 사용됩니다. CASE 세션, PASE 세션 또는 재개된 CASE 세션에서 발생합니다.
증명 TBS (서명 필요) 증명 요소 및 증명 챌린지가 포함된 메시지
증명서 서명 기기 증명 비공개 키를 사용하여 서명된 증명 TBS의 서명입니다.

증명 절차

위원회장은 위원회를 증명할 책임이 있습니다. 다음 단계를 실행합니다.

  1. 커미셔너가 임의의 32바이트 증명 nonce를 생성합니다. 암호화 전문 용어에서 nonce (한 번 사용되는 숫자)는 암호화 절차에서 생성된 랜덤 숫자이며 한 번 사용됩니다.
  2. 커미셔너는 nonce를 DUT에 전송하고 증명 정보를 요청합니다.
  3. DUT는 증명 정보를 생성하고 증명 비공개 키로 서명합니다.
  4. 커미셔너가 기기에서 DAC 및 PAI 인증서를 복구하고 Matter 트러스트 저장소에서 PAA 인증서를 조회합니다.
  5. 위원회는 증명 정보를 검증합니다. 검증 조건은 다음과 같습니다.
    • PAI 및 PAA에 대한 취소 확인을 포함하여 DAC 인증서 체인을 검증해야 합니다.
    • DAC의 VID가 PAI의 VID와 일치합니다.
    • 증명서 서명이 유효합니다.
    • 기기 증명 요소의 nonce는 커미셔너가 제공한 nonce와 일치합니다.
    • 인증서 선언 서명은 Alliance의 잘 알려진 인증 선언 서명 키 중 하나를 사용하여 유효합니다.
    • 펌웨어 정보 (커미셔너가 지원하고 지원하는 경우)는 분산 규정 준수 원장의 항목과 일치합니다.
    • 기기 기본 정보 클러스터, 인증 선언, DAC 간에 추가 VID/PID 유효성 검사도 이루어집니다.