증명

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

법적 사안 증명 공개 키 인프라
그림 1: 법적 사안 증명 공개 키 인프라

또한 PAI는 다음을 포함하는 X.509 v3 인증서입니다.

  • 공개 키
  • 발급자
  • 제목
  • 인증서 일련 번호
  • 유효 기간: 만료가 확정되지 않을 수 있음
  • 서명

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

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

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

추가 증명 서류 및 메시지

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

증명 문서 계층 구조
그림 2: 증명 문서 계층 구조
문서 설명
인증 선언 (CD) CD를 사용하면 Matter 기기가 Matter 프로토콜 준수를 증명할 수 있습니다. Matter 인증 프로세스가 완료될 때마다 Alliance는 기기 유형에 맞는 CD를 생성하므로 공급업체가 이를 펌웨어에 포함할 수 있습니다. CD에는 다음과 같은 정보가 포함됩니다.
  • 동영상 ID
  • 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. 커미셔닝은 DUT로 nonce를 전송하고 증명 정보를 요청합니다.
  3. DUT가 증명 정보를 생성하고 증명 비공개 키로 서명합니다.
  4. 커미셔닝은 기기에서 DAC 및 PAI 인증서를 복구하고 Matter 트러스트 저장소에서 PAA 인증서를 조회합니다.
  5. 위원회는 증명 정보를 검증합니다. 검증 조건은 다음과 같습니다.
    • PAI 및 PAA의 취소 검사를 포함하여 DAC 인증서 체인을 검증해야 합니다.
    • DAC의 VID가 PAI의 VID와 일치합니다.
    • 증명 서명이 유효합니다.
    • 기기 증명 요소의 nonce는 커미셔너가 제공한 nonce와 일치합니다.
    • 인증서 선언 서명은 Alliance의 잘 알려진 인증 선언 서명 키 중 하나를 사용하여 유효합니다.
    • 펌웨어 정보 (존재하고 위원회에서 지원하는 경우)는 분산 규정 준수 원장의 항목과 일치합니다.
    • 기기 기본 정보 클러스터, 인증 선언, DAC 간에 추가 VID/PID 유효성 검사도 진행됩니다.