Bluetooth Mesh 원격 프로비저닝

기술 개요

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

마틴 울리, Bluetooth SIG
옴카르 쿨카르니, 노르딕 세미컨덕터
피오트르 위니악지크, 실베어

개정 내역

Version

Date

Author

Changes

1.0.0

September 19, 2023

Martin Woolley, Bluetooth SIG
Omkar Kulkarni, Nordic Semiconductor
Piotr Winiarczyk, Silvair

Initial version

 

참고

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

 

1. 배경

원격 프로비저닝 기능은 Bluetooth® Mesh 프로토콜 사양의 버전 1.1에 도입되었습니다. 이 기능의 기능과 이점을 충분히 이해하려면 Bluetooth Mesh 버전 1.0의 특정 측면을 이해해야 합니다. 이 섹션에서는 다음에 이어지는 원격 프로비저닝에 대한 검토를 지원하는 컨텍스트와 배경을 제공합니다.

1.1 프로비저닝

디바이스는 프로비저닝 행위를 통해 Bluetooth Mesh 네트워크의 회원, 회원사 가 됩니다. 프로비저닝은 프로비저너라고 하는 장치 또는 애플리케이션을 사용하여 커미셔너가 수행하는 절차입니다. 디바이스를 프로비저닝하면 네트워크의 기본 네트워크 키(NetKey)와 디바이스 요소에 할당된 연속적인 유니캐스트 주소의 고유 범위 등 특정 중요 데이터 항목을 보유하게 됩니다. 프로비저닝 중인 장치를 프로비저닝 대상이라고 합니다.

원래 Bluetooth Mesh 프로필 사양 버전 1.0에 정의된 대로 프로비저너는 프로비저닝 대상과 직접 무선 범위 내에 있어야 했습니다.

1.1.1 프로비저닝 프로토콜

프로비저닝 목적으로만 사용되는 프로토콜을 프로비저닝 프로토콜이라고 합니다. Bluetooth ® Mesh 프로필 사양의 버전 1.0에서는 프로토콜에 10가지 유형의 PDU가 포함되었습니다.

1.1.2 무기명 프로비저닝

Bluetooth® Mesh 버전 1.0에서 프로비저닝 프로토콜은 연결을 통해 Bluetooth LE 애드버타이징 패킷 또는 GATT 절차를 사용하여 작동할 수 있습니다. 프로비저닝 프로토콜 PDU를 위한 컨테이너로 광고 패킷을 사용하는 것을 PB-ADV 베어러라고 합니다. 프로비저닝에 GATT를 사용하는 것은 PB-GATT 베어러로 알려져 있습니다.

1.1.3 프로비저닝 단계

프로비저닝은 다음 5단계로 진행됩니다:

  1. 비콘
  2. 초대
  3. 공개 키 교환
  4. 인증
  5. 프로비저닝 데이터 배포
1.1.3.1 비콘

프로비저닝할 준비가 된 새 디바이스는 디바이스가 지원하는 베어러에 따라 하나 또는 두 가지 유형의 Bluetooth LE 광고 패킷을 브로드캐스팅하여 사용 가능함을 알립니다. PB-ADV 베어러가 지원되는 경우 프로비저닝되지 않은 디바이스 비콘은 연결할 수 없고 스캔할 수 없는 비지시형 Bluetooth LE 광고 패킷으로 브로드캐스팅됩니다. PB-GATT가 지원되는 경우 mesh 프로비저닝 서비스의 UUID가 포함된 연결 가능한 광고 패킷이 브로드캐스트됩니다. 두 베어러가 모두 지원되는 경우 이 두 가지 형태의 광고가 인터리빙됩니다.

두 경우 모두 비콘 데이터에는 프로비저닝되지 않은 디바이스의 디바이스 UUID가 포함됩니다. 디바이스 UUID는 물리적 또는 소프트웨어 제품의 수명 기간 동안 변경되지 않는 디바이스의 고유 식별자이며 일반적으로 공장에서 할당됩니다.

1.1.3.2 초대

프로비저닝 담당자는 프로비저닝되지 않은 디바이스 비콘 및/또는 연결 가능한 광고( mesh )를 검색하고, 선택한 프로비저닝되지 않은 디바이스가 있는 PB-ADV 또는 PB-GATT 베어러 인스턴스에서 세션(링크라고 함)을 설정합니다. 그런 다음 프로비저닝 초대 PDU를 전송하여 프로비저닝 프로세스를 시작합니다. 이제 프로비저닝 수신자로 알려진 디바이스는 프로비저닝 프로세스의 다음 단계를 제어하는 데 사용되는 정보가 포함된 프로비저닝 기능 PDU로 응답합니다. 프로비저너는 이 정보를 기반으로 하는 콘텐츠로 프로비저닝 시작 PDU를 구성하여 전송합니다.

1.1.3.3 공개 키 교환

타원 곡선 암호화(ECC)는 프로비저너에서 프로비저닝되지 않은 장치로 NetKey를 안전하게 전송할 수 있도록 하는 데 사용됩니다. ECC는 타원 곡선의 수학적 속성에 기반한 공개 키 암호화 방식입니다. 비교적 작은 키 크기가 필요하며 컴퓨팅 성능이 제한된 장치에서 사용하기에 적합합니다.

제공자는 임시 공개/개인 키 쌍을 생성하고 선택한 무기명을 사용하여 Bluetooth 링크를 통해 제공받는 사람에게 공개 키를 보냅니다. 제공받는 사람은 동일한 링크를 통해 공개 키를 보내거나 보안을 강화하기 위해 QR코드 또는 근거리 무선 통신(NFC)과 같은 대역 외(OOB) 방법을 사용하여 공개 키를 제공할 수 있습니다. 제공받는 사람의 공개/개인 키 쌍은 정적으로 정의되거나 동적으로 생성될 수 있습니다.

서로의 공개 키를 소유하게 되면 키 계약 프로토콜을 통해 공유 비밀을 계산하고 이로부터 세션 키를 계산할 수 있습니다. 그런 다음 세션 키는 NetKey 전송을 보호하는 데 사용됩니다. 공유 비밀은 인증 단계에서 사용되는 확인 키와 장치의 장치 키를 계산하는 데에도 사용됩니다.

1.1.3.4 인증

프로비저닝은 종종 Bluetooth® Mesh 디바이스가 많은 위치에서 수행됩니다. 프로비저닝되는 디바이스가 의도한 디바이스인지 확인하고 중간자(MITM) 공격으로부터 보호하기 위해 프로비저닝 절차에는 인증 단계가 포함되어 있습니다.

인증은 다양한 형태를 취할 수 있으며, 프로비저닝되지 않은 디바이스의 기능에 따라 선택되며, 프로비저너는 초대 단계에서 받은 프로비저닝 기능 PDU를 통해 이를 알 수 있습니다.

출력 OOB 방법은 프로비저닝되지 않은 디바이스가 지원하는 동작을 사용하여 숫자 또는 텍스트 값을 출력하는 것입니다. 예를 들어 LED가 깜박이거나 신호음이 여러 번 울릴 수 있습니다. 출력 번호는 프로비저닝 담당자에게 입력되며, 확인 절차를 통해 예상 값이 입력되었는지 확인합니다.

입력 OOB 방법을 사용하는 경우 프로비저닝 담당자는 적절한 동작(예: 버튼을 여러 번 누르는 것)을 사용하여 프로비저닝되지 않은 디바이스에 입력되는 난수를 생성하고 확인 절차를 통해 이를 확인합니다.

정적 OOB 접근 방식은 장치 또는 포장에 인쇄된 고정 값을 포함하며, 이 고정 값은 프로비저닝에 입력되어 확인 절차에 사용됩니다.

어떤 방법을 사용하든 프로비저닝 중인 디바이스의 인증에 성공하거나 실패하고 사용자에게 결과를 알려줍니다.

1.1.3.5 프로비저닝 데이터 배포

인증에 성공하면 세션 키가 생성되어 링크를 통해 전송된 프로비저닝 데이터 PDU를 암호화하고 인증하는 데 사용됩니다. 프로비저닝 담당자는 장치의 기본 요소에 대한 기본 NetKey와 고유 유니캐스트 주소가 포함된 데이터를 전송합니다. 이제 장치가 프로비저닝되었다고 할 수 있습니다.

그림 1그림 1 - 프로비저닝 1단계 - 비콘 설정

그림 2

그림 2 - 프로비저닝 프로세스의 2~5단계

1.2 장치 키 및 커미셔닝 프로세스

Bluetooth® Mesh 보안 시스템에는 각각 고유한 역할을 하는 여러 보안 키가 포함되어 있습니다.

네트워크 키는 네트워크 계층과 관련된 PDU의 필드 암호화 및 인증에 사용됩니다. 이러한 방식으로 사용되는 특정 네트워크 키를 소유하고 있다는 것은 네트워크 키가 속한 서브넷의 노드 회원 자격 를 의미합니다.

애플리케이션 키는 Bluetooth Mesh 프로토콜 스택의 상위 계층과 관련된 PDU의 필드 암호화 및 인증에 사용되며 일반적으로 조명 또는 에어컨과 같은 특정 건물 시스템의 일부인 장치에 발급됩니다.

노드는 여러 개의 네트워크 키와 여러 개의 애플리케이션 키를 보유할 수 있습니다.

모든 노드에는 단일 장치 키(DevKey)가 있습니다. 이 키는 일반적으로 장치 구성과 관련된 특정 모델에 속한 메시지를 보호하는 데 사용됩니다. 노드는 프로비저닝될 때 DevKey를 계산합니다. 개발자 키는 네트워크를 통해 전송되지 않습니다.

Bluetooth® Mesh 네트워크가 처음 생성될 때, 특히 스마트 빌딩의 경우 일반적으로 계약업체 팀이 디바이스를 설치, 프로비저닝 및 구성한 후 완성된 네트워크를 건물 소유주에게 넘겨줍니다. 최적의 보안을 위해 이 시점에서 건물 소유주가 네트워크의 각 노드에서 보안 키를 변경할 수 있는 옵션이 있는 것이 바람직합니다.

Bluetooth Mesh 1.0은 전체 네트워크에서 네트워크 키와 애플리케이션 키를 변경할 수 있는 키 새로 고침 절차를 정의합니다. Bluetooth Mesh 1.0에 정의된 장치 키 변경 절차는 없습니다.

1.3 노드 주소

Bluetooth Mesh 주소 지정 체계가 포함되어 있습니다.

모든 요소에는 고유한 16비트 유니캐스트 주소가 있으며, 이 주소는 모든 메시지의 소스 주소로 사용되기도 하고 때로는 대상 주소로 사용되기도 합니다.

그룹 주소와 가상 주소는 노드 모음을 하나의 메시지로 주소 지정할 수 있는 두 가지 유형의 주소입니다. 특정 그룹 또는 가상 주소로 전송된 메시지를 수신하고 응답하려는 노드는 해당 주소에 가입해야 합니다.

원래 버전 1.0( Bluetooth Mesh )에서는 프로비저너가 먼저 네트워크에서 제거한 다음 다시 프로비저닝하지 않으면 요소의 유니캐스트 주소를 변경할 수 없었으며, 일반적으로 다시 한 번 전체 재구성을 해야 했습니다.

1.4 노드 구성

노드는 논리적 구조를 가지고 있습니다. 노드는 하나 이상의 요소로 구성됩니다. 요소는 장치의 개별적으로 주소 지정이 가능한 부분이며 고유한 유니캐스트 주소를 갖습니다. 노드 내의 요소 주소는 인접한 범위에서 할당되어야 하며, 기본 요소의 주소가 가장 낮아야 합니다.

요소에는 하나 이상의 모델이 포함됩니다. 모델은 장치를 켜고 끄거나 밝기를 변경하도록 제어하는 기능 등 특정 기능을 요소에 제공하는 표준화된 소프트웨어 구성 요소입니다. 모델에는 연결된 상태메시지가 있습니다. 대부분의 경우 노드와 요소, 모델 간의 관계는 하나의 노드가 1:n개의 요소를 포함하고 각 요소가 1:m개의 모델을 포함하는 계층적 구조입니다. 그러나 일부 유형의 모델은 둘 이상의 요소가 소유할 수 있으므로 엄격한 계층 구조는 아닙니다.

노드에 포함된 특정 요소의 수와 각 요소가 포함하는 특정 모델은 노드 컴포지션의 일부입니다. 노드의 컴포지션은 컴포지션 데이터 상태의 정보로 표시됩니다. 이 상태는 콘텐츠를 인덱싱된 여러 페이지로 나눕니다. 페이지 0이 중요하며 노드의 현재 활성 컴포지션 데이터를 포함합니다.

Bluetooth® Mesh 버전 1.0에서는 노드 재설정을 실행하고 다시 프로비저닝하지 않고는 노드의 구성을 변경할 수 없었습니다.

1.5 복잡한 장치

일부 장치는 개별 구성 요소가 많고 복잡하며, 각 구성 요소는 장치 전체에 특수 기능을 추가합니다. 예를 들어 DALI(디지털 주소 지정이 가능한 조명 인터페이스) 장치는 센서와 같은 개별 구성 요소를 연결하거나 분리할 수 있는 통신 버스를 중심으로 구축됩니다. 이러한 장치는 복잡한 논리 구조를 가진 정교한 장치일 뿐만 아니라 구성 요소를 쉽게 추가하거나 제거할 수 있기 때문에 구성 구조가 동적입니다.

2. 원격 프로비저닝 정보

원격 프로비저닝(RPR)은 Bluetooth® Mesh 프로토콜 사양 버전 1.1에 도입되어 mesh 네트워크를 통해 프로비저너의 직접적인 무선 범위 내에 있지 않은 노드의 프로비저닝 및 재프로비저닝을 가능하게 합니다.

2.1 기능 및 이점

RPR은 세 가지 주제 제목에 해당하는 기능과 이점을 제공합니다:

2.1.1 멀티홉 디바이스 프로비저닝

원격 프로비저닝을 사용하면 두 디바이스 간에 네트워크를 통한 통신 경로를 형성할 수 있다면 프로비저너와 프로비저닝되지 않은 디바이스가 어느 위치에 있든 상관없습니다. 따라서 많은 실제 상황에서 프로세스가 더욱 실용적입니다.

2.1.2 소유권 변경

RPR은 네트워크의 디바이스가 소유권을 변경하고 디바이스 키의 새 값을 설정할 때 유용한 절차를 정의합니다.

2.1.3 동적 장치 구성

이제 자체 물리적 구성의 변화를 감지할 수 있는 복잡한 장치는 필요한 mesh 구성 상태 데이터 변경을 표시할 수 있습니다. 프로비저너는 이를 인식하고 활성 컴포지션 데이터 상태를 새로운 컴포지션을 반영하도록 업데이트하는 RPR 절차를 시작할 수 있습니다. 이제 더 이상 이전에는 필요했던 디바이스 재설정, 재프로비저닝, 재구성을 수행할 필요가 없습니다.

새로운 플러그 앤 플레이 기능과 관련하여 mesh 프로토콜 사양 1.1에서는 디바이스의 수명 주기와 구조 및 구성에 대한 새로운 공식 명칭을 도입했습니다. 용어의 개념은 사양에 다음과 같이 설명되어 있습니다:

A 기간 은 노드의 수명 중 노드의 구조(예: 기능, 요소, 모델)와 노드 요소의 유니캐스트 주소가 변경되지 않는 기간입니다.

보조 센서 부착과 같은 물리적 장치의 하드웨어 구성 변경을 지원하거나 조명기구 네트워크에 새 기어를 부착하는 것과 같은 노드의 하위 시스템 구성 변경을 지원하려면 새 용어를 시작해야 할 수 있습니다. 변경 사항은 구성 데이터 페이지 128(4.2.2.3절 참조)을 채워서 노드에 표시되며, 노드에 새로운 기간 시작될 때 적용됩니다.

이니셜 기간 은 네트워크에서 노드가 프로비저닝될 때 시작됩니다.

A 기간 종료되고 새로운 term 은 노드 주소 새로 고침 절차 또는 노드 구성 새로 고침 절차가 실행될 때 시작됩니다(섹션 3.11.8 참조).

마지막 기간 은 네트워크에서 노드가 제거될 때 종료됩니다.

 

2.2 기술적 주요 사항

2.2.1 아키텍처

원격 프로비저닝에는 원격 프로비저닝 클라이언트 모델과 원격 프로비저닝 서버 모델이라는 두 가지 새로운 모델이 포함됩니다. 원격 프로비저닝 클라이언트 모델을 사용하면 프로비저닝 디바이스가 프로비저닝되지 않은 원격 디바이스와 통신하고 프로비저닝 프로세스를 제어할 수 있습니다. 이 디바이스를 PB-원격 클라이언트라고 합니다. 클라이언트 모델은 모델 메시지를 사용하여 프로비저닝 프로토콜 PDU를 송수신합니다. 메시지는 관리형 플러딩, 직접 전달 또는 이 두 가지 방법의 조합을 사용하여 일반적인 방식으로 네트워크를 통해 릴레이됩니다. 원격 프로비저닝 서버 모델을 사용하면 PB-원격 클라이언트가 직접 무선 범위에서 프로비저닝되지 않은 장치를 스캔하고 프로비저닝할 수 있습니다. 이 모델을 구현하는 디바이스를 PB-원격 서버라고 합니다. 또한 서버 모델은 디바이스 키 변경 또는 플러그 앤 플레이 디바이스 구성에 필요한 절차를 실행할 수 있도록 지원합니다.

원격 프로비저닝은 PB-원격 프로비저닝 베어러도 정의합니다. PB-원격 베어러는 PB-원격 서버 디바이스에서 구현될 때 PB-ADV 또는 PB-GATT를 사용하여 프로비저닝되지 않은 디바이스와 통신합니다. PB-원격 서버 디바이스에 구현된 경우, 이 베어러를 통해 프로비저닝 프로세스에 참여하는 원격 디바이스와 통신할 수 있습니다.

노드 프로비저닝 프로토콜 인터페이스라는 인터페이스가 정의되어 있으며, 이를 통해 디바이스 키 변경 플러그 앤 플레이 디바이스 구성을 비롯한 여러 가지 중요한 새 절차가 가능합니다.

원격 프로비저닝 모델은 다음과 같은 메시지를 정의합니다:

  1. 프로비저닝이 가능하고 PB-원격 서버의 직접 무선 범위 내에 있는 네트워크의 모든 디바이스를 검색할 수 있습니다.
  2. PB-원격 서버와 프로비저닝되지 않은 선택된 노드 간에 링크가 설정되도록 허용합니다.
  3. 프로비저닝 프로토콜 PDU를 캡슐화하여 클라이언트와 서버 간에 어느 방향으로든 전송할 수 있도록 합니다.
  4. 서버 역할을 하는 노드의 디바이스 키(DevKey)로 보안이 유지됩니다.
  5. 노드 프로비저닝 프로토콜 인터페이스 절차와 관련이 있습니다.

간단히 설명하면, 원격 프로비저닝은 PB-원격 클라이언트의 요청에 따라 PB-원격 서버가 프로비저닝되지 않은 선택된 장치에 대한 링크를 설정하는 방식으로 작동합니다. 그런 다음 원격 프로비저닝 메시지 내에 캡슐화된 프로비저닝 프로토콜 PDU를 수신하고 해당 PDU를 추출한 다음 링크를 통해 전송하고, 이에 대한 응답으로 프로비저닝 프로토콜 PDU를 수신하여 다른 원격 프로비저닝 메시지 내에 캡슐화하여 PB-원격 클라이언트로 다시 보냅니다. 그림 3을 참조하십시오.

이러한 방식으로 PB-Remote 클라이언트는 프로비저닝되지 않은 원격 장치로 일반적인 프로비저닝 프로세스를 실행합니다. PB-Remote 서버는 프로세스 내에서 베어러 간에 변환하고 클라이언트가 전송한 PB-Remote 메시지 내에서 프로비저닝 PDU를 프로비저닝되지 않은 디바이스로 전달함으로써 중개자 역할을 수행합니다.

그림 3

그림 3 - 원격 프로비저닝의 아키텍처

2.2.2 원격 프로비저닝의 단계

원격 프로비저닝은 다음 네 단계를 거치는 것으로 생각할 수 있습니다:

  1. 원격 스캔 수행
  2. 프로비저닝되지 않은 디바이스에 대한 링크를 엽니다.
  3. 디바이스 프로비저닝
  4. 링크 닫기
2.2.2.1 원격 스캔

그림 4

그림 4 - 원격 프로비저닝 스캔 절차

PB-원격 클라이언트는 원격 프로비저닝 스캔 시작 또는 원격 프로비저닝 확장 스캔 시작의 두 가지 형태의 원격 스캔을 요청할 수 있습니다. 그림 4를 참조하십시오.

2.2.2.1.1 원격 프로비저닝 스캔 절차

원격 프로비저닝 스캔 시작 메시지가 PB-원격 서버의 유니캐스트 대상 주소로 전송되어 프로비저닝할 수 있는 장치에 대한 스캔을 시작하도록 지시합니다. 이 메시지에는 특정 장치만 스캔할 것을 나타내는 장치 UUID가 포함될 수 있습니다(있는 경우). 또는 PB-원격 서버 범위 내에 있는 프로비전되지 않은 모든 장치를 검색할 수 있습니다. 이 두 가지 옵션을 각각 단일 장치 스캔다중 장치 스캔이라고 합니다.

원격 프로비저닝 스캔 시작은 승인된 메시지이며, PB-원격 서버 노드는 원격 프로비저닝 스캔 상태 메시지로 이에 응답합니다.

원격 프로비저닝 스캔 보고서 메시지는 PB-원격 서버에서 스캔을 시작한 PB-원격 클라이언트로 다시 전송됩니다. 이 메시지에는 서버가 프로비저닝할 수 있는 프로비저닝되지 않은 각각의 검색된 장치에 대한 세부 정보가 포함되어 있으며, 식별 장치 UUID, 장치의 대역 외(OOB) 인증 기능 관련 정보, PB-원격 서버에서 측정한 신호 강도(RSSI), 프로비저닝 중인 장치에서 사용 가능한 경우 URI 해시 값 등의 정보가 포함되어 있습니다. 단일 디바이스 스캔은 지정된 디바이스 UUID에 대해서만 스캔 보고서 메시지를 생성합니다(디바이스가 검색된 경우).

2.2.2.1.2 원격 프로비저닝 확장 스캔 절차

이 변형된 원격 스캔을 통해 PB-원격 클라이언트는 프로비저닝되지 않은 디바이스 비콘 (PB-ADV의 경우) 또는 연결 가능한 광고 패킷의 서비스 데이터 AD 유형(PB-GATT의 경우)에서 찾을 수 없는 단일 디바이스에 대한 특정 추가 정보를 요청할 수 있습니다. 관심 있는 추가 정보는 Bluetooth® LE 스캔 응답 패킷 또는 동일한 디바이스의 대체 콘텐츠가 각각 포함된 추가 광고 패킷에서 확인할 수 있습니다.

확장 검색은 프로비저닝되지 않은 단일 장치 또는 PB-원격 서버 노드 자체에서 정보를 얻을 수 있습니다. 첫 번째 시나리오에서는 원격 프로비저닝 확장 스캔 절차가 단일 장치에 대해서만 수행되지만, PB-원격 서버 구현이 이를 지원하는 경우 각각 다른 장치 UUID를 대상으로 하는 절차의 여러 인스턴스가 동시에 실행될 수 있습니다.

PB-원격 클라이언트가 전송한 원격 프로비저닝 확장 스캔 시작 메시지는 지정된 유니캐스트 주소를 가진 PB-원격 서버 노드에 의해 원격 확장 스캔을 시작합니다. 이 메시지에는 값이 요청되는 AD 유형 목록이 포함될 수 있습니다( Bluetooth Mesh 프로토콜 사양에 문서화된 일부 제한 사항에 따라 달라질 수 있음). 메시지에 디바이스 UUID가 포함되어 있으면 프로비저닝되지 않은 지정된 디바이스를 검색하고, 그렇지 않으면 PB-원격 서버 노드 자체에서 정보를 획득합니다.

원격 프로비저닝 확장 스캔 시작이 승인되지 않은 메시지입니다.

원격 프로비저닝 확장 스캔 보고서 메시지는 서버에서 확장 스캔을 시작한 PB-원격 클라이언트로 다시 전송되며, PB-원격 서버에서 가져온 요청된 유형의 정보를 포함합니다.

2.2.2.2 링크 열기

그림 5

그림 5 - 프로비저닝되지 않은 디바이스에 대한 원격 링크 열기

PB-원격 클라이언트는 Device UUID 매개변수와 함께 원격 프로비저닝 링크 열기 메시지를 전송하여 PB-원격 서버 노드에 지정된 장치와 프로비저닝 링크를 설정하도록 요청할 수 있습니다. 이 메시지가 승인되면 서버는 원격 프로비저닝 링크 상태 메시지를 클라이언트에 다시 보냅니다. 그림 5를 참조하십시오.

원격 프로비저닝 링크 열기 메시지는 새로운 노드 프로비저닝 프로토콜 인터페이스 (2.2.3 참조)를 통해 사용할 수 있는 다른 절차를 위해 PB-원격 서버를 준비하는 데 사용될 수 있다는 점에 유의하세요.

2.2.2.3 장치 프로비저닝하기

그림6

그림 6 - 원격 프로비저닝

PB-원격 서버 노드와 프로비저닝되지 않은 대상 장치 간의 링크가 설정되면 PB-원격 클라이언트는 프로비저닝 프로세스를 자체적으로 진행할 수 있습니다. 이 프로세스는 필요한 프로비저닝 프로토콜 PDU가 원격 프로비저닝 PDU 전송 메시지라는 PB-원격 메시지 유형 내에 캡슐화된다는 점을 제외하면 1.1.3.2~1.1.3.5에 설명된 네 단계와 본질적으로 동일합니다. 서버는 PB-원격 메시지에서 프로비저닝 프로토콜 PDU를 추출하여 링크를 통해 프로비저닝되지 않은 장치로 전달합니다. 프로비저닝되지 않은 디바이스에서 PB-원격 서버로 전송된 프로비저닝 프로토콜 PDU는 원격 프로비저닝 PDU 보고서 메시지 내에 캡슐화되어 PB-원격 클라이언트 노드로 다시 전송됩니다. 그림 6을 참조하십시오.

2.2.2.4 링크 닫기

그림7

그림 7 - 원격 프로비저닝 링크 닫기

프로비저닝이 완료되면 PB-원격 클라이언트는 PB-원격 서버에 프로비저닝된 장치에 대한 링크를 닫으라고 지시합니다. 이는 원격 프로비저닝 링크 닫기 메시지를 보내면 서버가 원격 프로비저닝 링크 상태 메시지로 응답하는 방식으로 수행됩니다.

2.2.3 노드 프로비저닝 프로토콜 인터페이스

PB-Remote는 NPPI(노드 프로비저닝 프로토콜 인터페이스)라는 새로 정의된 인터페이스를 통해 사용할 수 있는 일련의 프로시저를 정의합니다. 원격 프로비저닝 서버 모델을 지원하는 노드는 NPPI 인터페이스와 관련 프로시저를 지원해야 합니다. 원격 프로비저닝 클라이언트 모델이 원격 프로비저닝 링크 열기 메시지를 전송하여 필요한 NPPI 프로시저를 나타내는 NPPI 프로시저 필드가 포함된 원격 프로비저닝 링크 열기 메시지를 보내면 NPPI 프로시저 중 하나를 시작할 수 있습니다. NPPI 프로시저는 원격 프로비저닝 서버 모델에 의해 실행됩니다.

노드 프로비저닝 프로토콜 인터페이스는 원격 프로비저닝 서버 모델이 원격 프로비저닝 서버 모델 자체로 전달되는 원격 프로비저닝 링크 열기 메시지를 수신할 때까지 닫힙니다. 인터페이스가 열리면 원격 프로비저닝 메시지 내에 캡슐화된 일반적인 흐름(프로비저닝 데이터 PDU 값에 대한 몇 가지 제약 조건이 있음)에 따라 프로비저닝 프로토콜 PDU가 교환됩니다. 그런 다음 원격 프로비저닝 서버 모델에서 이러한 PDU를 처리하여 선택한 절차를 실행합니다. 이는 그림 5, 6, 7에 표시된 것처럼 프로비저닝 프로토콜 PDU가 링크를 통해 프로비저닝되지 않은 장치로 전달되는 2.2.2.3에 설명된 동작과 대조적입니다.

그림8

그림 8 - NPPI 아키텍처

Bluetooth Mesh 1.1 프로토콜 사양에 정의된 NPPI 절차는 다음과 같습니다.

2.2.3.1 장치 키 새로 고침

이 절차를 사용하면 노드를 완전히 다시 프로비저닝할 필요 없이 새 장치 키를 노드에 할당할 수 있습니다. 노드의 요소 주소 및 NetKey 및 AppKey 목록과 같은 기존 데이터는 영향을 받지 않습니다.

이 절차는 표준 프로비저닝 프로토콜 및 절차를 사용하여 장치 키 후보라고 하는 새 후보 키를 계산하는 두 단계에 걸쳐 실행됩니다. 이 키는 절대로 장치를 떠나지 않으며 타원 곡선 암호화를 기반으로 하는 Diffie-Hellman 키 계약 프로토콜을 사용하여 구성 관리자가 이 키의 복사본을 안전하게 보유할 수 있도록 합니다. 이렇게 하면 이 절차와 관련된 보안이 디바이스의 초기 프로비저닝 시와 동일한 수준으로 유지됩니다. 이 단계에서는 노드의 디바이스 키가 변경되지 않았지만 새 키 값 후보가 노드에 알려져 있습니다. 2단계에서는 새 장치 키 후보를 사용하여 암호화된 액세스 메시지가 수신되면 장치 키 후보가 노드의 새 DevKey가 됩니다. 이는 새 키가 사용 중임을 나타냅니다. 이 시점에서 이전 키는 해지되고 새 후보 장치 키가 그 자리를 대신합니다.

2.2.3.2 노드 주소 새로 고침

노드 주소 새로 고침 절차를 사용하면 노드의 유니캐스트 주소와 디바이스 키를 재설정하거나 다시 프로비저닝하지 않고도 변경할 수 있습니다. 노드의 넷키 및 앱키 목록과 같은 기존 데이터는 영향을 받지 않습니다. 또한 기본 요소에 할당된 새 유니캐스트 주소부터 시작하여 연속적인 범위를 형성하는 주소를 각 요소에 할당하여 노드에 있는 요소 수를 변경하는 데 사용할 수도 있습니다.

2.2.3.3 노드 구성 새로 고침

이 절차를 통해 노드의 구성(예: 요소 및 모델 수)을 변경할 수 있으며, 물리적 구성 구조가 동적인 복잡한 장치에 일종의 플러그 앤 플레이 기능을 제공할 수 있습니다.

네트워크에 DALI 디바이스가 있다고 상상해 보세요. 이 장치는 내부 버스에 최대 128개의 서로 다른 구성 요소를 수용할 수 있는 정교한 조명 제품입니다. 예를 들어 다양한 유형의 센서가 노드에 연결되거나 연결 해제될 수 있습니다. 이러한 종류의 장치는 적절한 펌웨어로 프로그래밍하면 이러한 유형의 변화를 감지할 수 있습니다.

이 NPPI 절차는 물리적 컴포지션의 변경을 감지한 노드가 컴포지션 데이터 상태의 128페이지에 세부 정보를 기록하도록 요구합니다. PB-원격 클라이언트에 의해 시작되는 이 절차는 궁극적으로 새로운 컴포지션 상태 데이터를 128페이지에서 활성 컴포지션 상태 데이터가 저장되어 있는 0페이지로 복사하여 필요한 변경을 가져옵니다.

이 프로시저가 실행되면 새 장치 키도 노드에 할당됩니다. 노드의 컴포지션 데이터 상태는 프로시저에 의해 업데이트되지만 다른 상태는 변경되지 않습니다.

2.2.4 원격 프로비저닝 및 보안

그림 9는 원격 프로비저닝이 보호되는 방식을 보여줍니다. PB-Remote 클라이언트와 서버가 교환하는 메시지는 PB-Remote 서버 노드의 장치 키를 사용하여 보호됩니다. 이후 실행되는 프로비저닝 절차는 1.1.3절에 설명된 대로 일반적인 프로비저닝 절차의 2~5단계를 거치면서 표준 프로비저닝 보안을 사용합니다.

그림9

그림 9 - 원격 프로비저닝 보안

디바이스에서 지원되는 일부 인증 방법은 사용자가 디바이스를 보거나 듣거나 만질 수 있는지에 따라 달라집니다. 원격 프로비저닝은 프로비저닝 담당자로부터 상당한 거리에 있는 디바이스를 프로비저닝할 수 있도록 설계되었으므로 이러한 유형의 인증 방법은 최적이 아니거나 일부 상황에서는 비실용적일 수 있습니다. 다행히도 Bluetooth® Mesh 버전 1.1에는 인증서 기반 프로비저닝이라는 보이지 않는 원격 장치 프로비저닝에 이상적인 새로운 인증 방식이 추가되었습니다. 이 기능은 인증서 기반 프로비저닝 기술 개요 문서에서 설명합니다.

2.2.5 대량 프로비저닝

프로비저닝할 때 새 디바이스와 직접 무선 범위 내에 있어야 하기 때문에 Bluetooth® Mesh 1.0은 프로비저너를 재배치하지 않고 네트워크의 모든 디바이스 등 대규모 디바이스 컬렉션을 프로비저닝하는 데 적합하지 않았습니다.

원격 프로비저닝을 인증서 기반 프로비저닝과 결합하면 커미셔너가 시작한 단일 절차로 새 네트워크의 모든 디바이스를 프로그래밍 방식으로 프로비저닝하는 데 사용할 수 있는 프로비저닝 도구의 잠재력을 제공합니다.

3. 닫기

Bluetooth® Mesh 원격 프로비저닝 기능을 사용하면 네트워크에서 새 디바이스를 프로비저닝하는 작업이 훨씬 쉬워집니다. 새로운 노드 프로비저닝 프로토콜 인터페이스 절차는 실제 사용 사례를 반영하여 새로운 네트워크를 설정하고 복잡한 디바이스를 유지 관리하는 데 필요한 일반적인 워크플로우를 잘 지원합니다.

도움말 받기