증명

인증 기기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가 있습니다.

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

증명 절차

커미셔너는 커미셔니를 증명할 책임이 있습니다. 다음 단계를 실행합니다.

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