Bluetooth® 메시 인증서 기반 프로비저닝 기술 개요

Bluetooth® 메시 인증서 기반 프로비저닝

기술 개요

릴리스 : 1.0.0
문서 버전 :   1.0
마지막 업데이트 : 2023년 9월 19일
저자 :   

마틴 울리, Bluetooth SIG
에릭 앤더린드, 카이트스프링 주식회사
한누 말랏, 실리콘 연구소
옴카르 쿨카르니, 노르딕 세미컨덕터

개정 내역

Version

Date

Author

Changes

1.0.0

September 19, 2023

Martin Woolley, Bluetooth SIG
Erik Anderlind, KiteSpring Inc.
Hannu Mallat, Silicon Laboratories
Omkar Kulkarni, Nordic Semiconductor

Initial version

 

참고

Bluetooth Mesh 프로필 specification의 이름이 변경되어 이제 Bluetooth Mesh 프로토콜 specification으로 불립니다. 이 문서와 관련 문서에서 버전 1.1 specification을 언급할 때는 이 이름을 사용하지만, 버전 1.0 specification은 계속해서 Bluetooth Mesh Profile specification이라고 합니다.

 

1. 배경

Bluetooth 메시 인증서 기반 프로비저닝은 Bluetooth® 메시 프로토콜 specification 버전 1.1에 도입되었습니다. Bluetooth 메시 인증서 기반 프로비저닝의 기능 및 이점을 완전히 이해하려면 Bluetooth 메시 버전 1.0의 몇 가지 측면을 이해해야 합니다. 이 섹션에서는 Bluetooth 메시 인증서 기반 프로비저닝을 검토하는 데 도움이 되는 컨텍스트와 배경을 제공합니다.

1.1 프로비저닝

프로비저닝은 장치가 Bluetooth Mesh 네트워크의 일부가 되는 절차입니다. 프로비저닝은 사용자가 네트워크를 시운전하거나 새 디바이스를 추가하는 과정에서 수행됩니다. 프로비저닝은 바쁜 업무 환경에서 수행되는 경우가 많으며 일반적으로 디바이스를 물리적으로 설치한 후에 수행됩니다.

1.2 장치 식별 및 자격 증명

프로비저닝되지 않은 디바이스는 고유한 디바이스 UUID로 자신을 식별합니다. 또한 공장에서 할당된 고유한 프로비저닝 코드 또는 정적 공개-개인 키쌍이 있을 수도 있습니다. 이 경우 (원시) 공개 키는 디바이스 ID와 신뢰할 수 있는 연결이 없습니다. 디바이스 제조업체는 지원되는 경우 사람이 읽을 수 있는 형식의 코드를 제공하거나 NFC를 통한 코드 또는 공개 키 스캔을 지원하거나 프로비저닝 담당자의 카메라를 사용하여 읽은 QR 코드를 제공할 수 있습니다.

1.3 인증

프로비저닝 절차에는 프로비저닝을 받는 디바이스( 프로비저닝 대상 디바이스)가 프로비저닝하려는 실제 디바이스인지 프로비저너의 사용자가 확인할 수 있도록 설계된 인증 단계가 포함되어 있습니다. 이를 통해 인적 오류 및 중간자 공격의 가능성을 방지할 수 있습니다.

Bluetooth® 메시 프로파일 specification 버전 1.0에는 여러 가지 형태의 인증이 정의되어 있습니다. 위에서 언급한 자격 증명을 사용하는 대신 난수 또는 문자 시퀀스가 생성될 수 있으며, 최종 사용자는 해당 시퀀스를 입력해야 합니다. 예를 들어, 출력 OOB 인증에서는 프로비전 수신자가 디바이스가 지원하는 동작을 사용하여 필요한 크기의 무작위로 선택된 숫자를 출력해야 합니다. 또는 디바이스 제조업체에서 사람이 읽을 수 있거나 기계가 읽을 수 있는 정적 OOB 인증 코드를 디바이스와 함께 제공할 수도 있습니다. 예를 들어 카메라가 장착된 프로비저너가 디바이스에 인쇄된 QR 코드를 스캔할 수 있습니다. 프로비저너는 올제로 인증 값을 사용하여 인증을 수락하도록 선택할 수도 있습니다. 그런 다음 인증 값을 포함하는 확인 교환이 프로비저닝 소유자를 통해 이루어지며, 성공하면 프로비저닝 대상자가 인증되고 나머지 절차가 진행될 수 있습니다.

1.4 실용적인 문제

블루투스® Mesh 1.0에서 지원되는 인증 옵션을 사용하는 데는 몇 가지 현실적인 문제가 있을 수 있습니다. 프로비전 대상 디바이스가 보이지 않거나 잘 보이지 않을 수 있으며 각 개별 디바이스에 대해 최종 사용자의 직접적인 상호 작용이 필요한 옵션이 있습니다. 또한 인증 값을 표시하기 위해 LED를 깜박이는 것과 같은 동작은 실제적으로 소수의 장치에 사용하는 경우에만 적합합니다. 작은 인증 값은 낮은 수준의 엔트로피를 제공하며 특별히 안전하지 않습니다. 긴 숫자 시퀀스는 데이터 입력 요구 사항으로 인해 부담이 될 수 있으며 적절한 디스플레이를 추가할 경우 제품 비용이 증가할 수 있습니다.

이러한 문제를 주소 위해 프로비저닝 절차의 일부로 디지털 인증서를 사용하는 것이 블루투스® Mesh v1.1에 도입되었습니다. 다음 섹션에서는 디지털 인증서에 대한 일반적인 개요를 제공하고, 이어서 장치 프로비저닝에 사용되는 방법에 대한 세부 사항을 설명하는 섹션을 제공합니다.

1.5 디지털 인증서

디지털 인증서( 줄여서인증서) 는 법인의 신원을 확인하는 데 사용됩니다. 각 엔티티에는 신원 외에도 수학적으로 관련된 한 쌍의 키가 있습니다. 공개 키는 보안을 손상시키지 않고 누구에게나 자유롭게 배포할 수 있습니다. 해당 개인 키는 절대 공개되지 않으며 소유주인 기업만 알 수 있습니다. 신원을 확인하는 행위를 인증 하며, 인터넷 세계에서 인증서는 도메인 이름 또는 host 이름을 기반으로 서버를 인증하는 주요 방법입니다. 디바이스 인증서도 마찬가지로 특정 디바이스를 식별하는 데 사용됩니다. 예를 들어, 블루투스® 메시 프로비저닝은 디바이스 UUID와 회사(제조업체) 이름의 조합을 ID로 사용합니다.

인증서는 다양한 필드와 값을 포함하는 디지털 문서입니다. X.509 표준은 인증서 문서의 형식을 정의하며 일반적으로 사용됩니다. 인증서는 신원을 엔터티의 공개 키 값에 바인딩하고 제3자가 해당 연결을 확인하여 통신 중인 엔터티가 해당 엔터티가 주장하는 엔터티인지 확인할 수 있는 메커니즘을 제공하는 방식으로 작동합니다.  

인증서는 누구나 만들 수 있지만, 신뢰할 수 있는 신뢰 기반이 확립된 인증서는 인증 기관(CA)이라고 하는 신뢰할 수 있는 기관에서 발급합니다. CA는 특정 ID를 가진 엔터티가 특정 공개 키 값과 연결되어 있고(바인딩되어 있고) 동일한 키에 다른 ID가 바인딩되어 있지 않다는 확인을 제공합니다. 기본적으로 CA는 해당 엔터티가 자신이 주장하는 사람인지 확인합니다. CA를 신뢰하면 CA가 발급한 모든 인증서의 진실성을 신뢰할 수 있습니다.

인증서의 내용, 인증서가 생성되는 보안 절차 및 발급 기관의 보안 관행은 모두 CA에 대한 신뢰와 따라서 발급하는 인증서에 대한 신뢰에 기여합니다.

인증서를 만들 때 CA는 개인 키를 사용하여 인증서 본문에 대한 디지털 서명을 생성하고 서명을 인증서에 첨부합니다. 이 발급자 서명이 있다는 것은 CA가 인증서의 엔터티 이름과 공개 키의 연결을 보증한다는 것을 의미합니다. 운영 및 보안상의 이유로 CA는 일반적으로 하나 또는 여러 개의 중간 인증서 체인을 만들고 체인의 끝에 중간 인증서를 사용하여 최종 엔터티 인증서에 서명합니다.

인증 위해 인증서의 유효성을 검사하려면 인증 절차를 수행하는 엔터티는 CA의 루트 인증서를 가지고 있어야 하며 모든 중간 인증서를 획득한 다음 인증서에서 CA의 디지털 서명을 재귀적으로 유효성을 검사하는 데 사용해야 합니다. 인증하는 엔터티는 CA를 신뢰하고 서명을 검증할 때 신뢰할 수 있는 CA가 서명으로 이를 표시했기 때문에 인증서의 신원 정보 및 공개 키를 신뢰할 수 있다고 결론을 내릴 수 있습니다.

2. Bluetooth Mesh 인증서 기반 프로비저닝 정보

2.1 기능 및 이점

인증서 기반 프로비저닝 기능 사용하면 프로비저닝 중에 디지털 인증서를 디바이스 인증 기반으로 사용할 수 있으며 디바이스 UUID와 특정 공개 키 값의 연결을 안전하게 확인할 수 있습니다.

인증서를 사용하여 디바이스를 인증하는 경우 프로비저닝 중에 사용자가 디바이스를 물리적으로 보거나 들을 수 있어야 하는 것은 아닙니다. 프로비저닝 인증 중에 특정 디바이스와 사용자가 직접 상호 작용할 필요가 없으므로 네트워크에 참여하도록 허용된 디바이스를 인증하는 다른 방법(예: 인증된 UUID 목록, 후보 디바이스 인증서 해시 조합 또는 정적 OOB 비밀에 계속 의존하는 등)이 있어야 합니다. 인증서는 여러 가지 방법으로 더 나은 보안을 제공하며 출력 OOB와 같은 방법과 관련된 낮은 엔트로피의 문제를 겪지 않습니다. 이 기능 사용하면 다른 프로비저닝 인증 방법 및 작업을 사용할 때 발생할 수 있는 실질적이고 잠재적인 보안 문제가 완화됩니다.

2.2 기술적 주요 사항

2.2.1 장치 인증서

프로비저닝 중에 인증서 기반 인증 사용하려면 메시 장치에 장치 인증서라고 하는 연결된 디지털 인증서가 있어야 합니다. 이 인증서는 X.509 형식의 인증서이며 X.509 주체 이름 필드에 메시 장치 UUID 값이 포함되어 있습니다. 장치의 정적 공개 키도 인증서에 포함되어 있습니다. 인증서에는 장치 공급업체 및 제품 모델에 대한 식별자도 포함될 수 있습니다.

장치 인증서는 타사 CA 또는 장치 공급업체의 사내 CA에서 발급하고 서명합니다. 인증서에는 인증서가 준수하는 CA 정책을 나타내는 필드가 포함되어야 합니다.

2.2.2 장치 인증서의 사용 가능성

프로비저닝되지 않은 디바이스 비콘은 디바이스에서 브로드캐스트하여 프로비저닝할 수 있음을 나타냅니다. 이 유형의 비콘에는 OOB 프로비저닝 정보의 사용 가능 여부와 이 정보를 얻을 수 있는 소스를 나타내는 OOB 정보라는 필드가 포함됩니다. 비트 7이 설정되어 있으면 장치가 인증서 기반 프로비저닝을 지원함을 나타냅니다.

2.2.3 장치 인증서 검색

프로비저닝자가 프로비저닝 초대 PDU를 보내기 전에 적절한 장치 인증서를 프로비저닝자가 사용할 수 있어야 합니다. 장치 인증서는 다양한 소스에서 가져올 수 있습니다.

장치는 인증서 자체를 저장할 수 있고 선택적으로 프로비저닝 레코드라는 새로운 저장 메커니즘을 사용하여 인증서를 중간 저장할 수 있습니다(2.2.4 참조). 프로비저닝 레코드에는 필요할 때 인증서를 다운로드할 수 있는 인터넷 프로토콜 및 주소를 나타내는 URI가 포함됩니다. 이 specification에서는 NFC 태그 및 바코드와 같은 다른 소스를 사용하여 다운로드 URI를 제공하는 방법도 설명합니다.

인증서 다운로드 및 유효성 검사는 프로비저너가 수행합니다. 인증서 유효성 검사는 RFC5280에 따라 표준 인터넷 엔지니어링 태스크포스(IETF) 절차에 따라 수행됩니다. 전체 인증서 체인의 일부인 중간 인증서도 프로비저닝 레코드에 저장할 수 있습니다. 프로비저너는 인증서 서명 체인을 확인할 수 있도록 직접 또는 host 운영 체제를 통해 각 장치 공급업체에 대한 CA 루트 인증서를 로드하고 액세스하는 메커니즘을 제공해야 합니다.

새 건물에 메시 네트워크를 설치하는 경우와 같이 일부 상황에서는 인터넷 접속이 불가능할 수 있습니다. 이러한 상황을 수용하기 위해 프로비저너는 새 네트워크에서 디바이스를 프로비저닝하기 위해 현장에 가기 전에 디바이스 인증서를 미리 로드할 수 있습니다. 이러한 인증서 캐싱에 대한 절차는 현재 기능 정의에 포함되어 있지 않습니다.

2.2.4 프로비저닝 레코드

프로비저닝 레코드는 프로비저닝 중에 사용할 저장된 정보에 액세스하기 위한 읽기 전용 메커니즘을 제공합니다. 정의된 레코드 유형은 여러 가지가 있으며, 각 유형은 16비트 숫자 레코드 ID로 식별됩니다. 예를 들어 ID 값이 0x0000인 레코드에는 인증서 기반 프로비저닝 URI가 포함되어 있고, ID 값이 0x0001인 레코드에는 디바이스 인증서가 포함되어 있습니다.

프로비저닝 레코드를 나열하거나 검색할 수 있도록 새로운 프로비저닝 프로토콜 PDU가 정의되었습니다. 긴 레코드는 PDU에서 오프셋 및 조각 크기 매개변수를 사용하여 일련의 조각으로 검색됩니다.

2.2.5 Bluetooth Mesh 원격 프로비저닝 및 인증서

블루투스® 메시 원격 프로비저닝 기능 사용하면 프로비저너의 직접적인 무선 범위 내에 있지 않더라도 디바이스를 프로비저닝할 수 있습니다. 이는 특히 새로운 네트워크를 시운전할 때 실질적인 이점이 있습니다. 하지만 프로비저닝할 디바이스가 사용자의 시야에 들어오지 않는 경우도 있습니다. 실제로 10층 위에 위치할 수도 있습니다!

Bluetooth Mesh 인증서 기반 프로비저닝은 Bluetooth Mesh 원격 프로비저닝과 함께 사용할 수 있으며 이 문제를 해결합니다.

3. 닫기

블루투스® 메시 인증서 기반 프로비저닝은 공개 키 인프라를 사용하여 디바이스를 인증하는 업계 표준 접근 방식을 제공합니다. 인증서는 네트워크에 참여하기 위해 디바이스를 인증해야 하는 최종 사용자의 부담을 줄이고 불량 디바이스가 네트워크에 추가될 가능성을 줄여줍니다. 이 기능은 프로비저닝되지 않은 디바이스가 프로비저너 애플리케이션 직접적인 무선 범위 내에 있지 않아도 프로비저닝할 수 있는 Bluetooth 메시 원격 프로비저닝 기능 보완하여 시야와 귀에서 벗어날 수 있는 디바이스를 프로비저닝할 수 있습니다.