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
Omkar Kulkarni, Nordic Semiconductor
Piotr Winiarczyk, Silvair

Initial version

 

참고

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

 

1. 배경

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

1.1 프로비저닝

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

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

1.1.1 프로비저닝 프로토콜

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

1.1.2 무기명 프로비저닝

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

1.1.3 프로비저닝 단계

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

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

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

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

1.1.3.2 초대

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

1.1.3.3 공개 키 교환

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

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

서로의 공개 키를 소유하게 되면, 키 합의 프로토콜을 통해 공유 비밀을 계산하고, 이를 통해 세션 키를 계산합니다. 이 세션 키는 NetKey 전송 보안에 사용됩니다. 또한, 공유 비밀은 확인 키 계산에도 사용됩니다. 인증 단계와 디바이스 키 장치의.

1.1.3.4 인증

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

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

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

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

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

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

1.1.3.5 프로비저닝 데이터 배포

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

그림 1그림 1 - 프로비저닝 1단계 - 비콘 송신

그림 2

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

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

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

네트워크 키는 네트워크 Layer과 관련된 PDU의 필드 암호화 및 인증에 사용됩니다. 이러한 방식으로 사용되는 특정 네트워크 키의 소유는 해당 네트워크 키가 속한 서브넷의 노드 멤버십 의미합니다.

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

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

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

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

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

1.3 노드 주소

Bluetooth® 메시에는 주소 지정 체계가 포함되어 있습니다.

모든 요소에는 고유한 16비트 유니캐스트가 있습니다. 주소 소스로 사용되는 주소 모든 메시지에 대해 그리고 가끔씩 목적지 주소 .

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

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

1.4 노드 구성

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

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

노드에 포함된 특정 요소의 수와 각 요소 포함하는 특정 모델은 노드 구성의 일부입니다. 노드의 구성은 다음과 같은 정보로 표시됩니다. 구성 데이터 상태. 이 상태는 콘텐츠를 여러 페이지로 나누어 색인화합니다. 페이지 0은 중요하며 노드의 현재 활성 구성 데이터 포함되어 있습니다.

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

1.5 복잡한 장치

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

2. 원격 프로비저닝 정보

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

2.1 기능 및 이점

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

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

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

2.1.2 소유권 변경

RPR은 네트워크의 장치 소유권이 변경될 때 유용한 절차를 정의하고 새로운 값을 설정할 수 있도록 합니다. 디바이스 키 .

2.1.3 동적 장치 구성

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

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

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-원격 서버 디바이스에 구현된 경우, 이 베어러를 통해 프로비저닝 프로세스에 참여하는 원격 디바이스와 통신할 수 있습니다.

Node Provisioning Protocol Interface 로 알려진 인터페이스가 정의되어 있으며 이를 통해 다음을 포함한 여러 가지 중요한 새 절차가 가능해집니다. 디바이스 키 플러그 앤 플레이 장치 구성 .

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

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

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

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

그림 3

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

2.2.2 원격 프로비저닝의 단계

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

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

그림 4

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

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

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

원격 프로비저닝 스캔 시작 메시지가 유니캐스트로 전송됩니다. 목적지 주소 PB-Remote 서버의 메시지로, 프로비저닝 가능한 장치 스캔을 시작하도록 지시합니다. 메시지에는 장치 UUID가 포함될 수 있으며, 이 UUID가 있는 경우 특정 장치만 스캔됨을 나타냅니다. 또는 PB-Remote 서버 범위 내에 있는 프로비저닝되지 않은 모든 장치를 스캔합니다. 이 두 가지 옵션을 각각 단일 장치 스캔다중 장치 스캔 이라고 합니다.

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

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

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

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

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

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

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

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

2.2.2.2 링크 열기

그림 5

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

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

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

2.2.2.3 장치 프로비저닝하기

그림6

그림 6 - 원격 프로비저닝

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

2.2.2.4 링크 닫기

그림7

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

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

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 프로토콜 specification에 정의된 NPPI 절차는 다음과 같습니다.

2.2.3.1 디바이스 키 새로 고침

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

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

2.2.3.2 노드 주소 새로 고침

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

2.2.3.3 노드 구성 새로 고침

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

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

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

이 절차가 실행되면 새로운 디바이스 키 노드에도 할당됩니다. 구성 데이터 노드의 상태는 프로시저에 의해 업데이트되지만 다른 상태는 변경되지 않습니다.

2.2.4 원격 프로비저닝 및 보안

그림 9는 원격 프로비저닝 보안 방식을 보여줍니다. PB-Remote에서 교환되는 메시지는 다음과 같습니다. 클라이언트 및 서버는 다음을 사용하여 보안됩니다. 디바이스 키 PB-Remote 서버 노드의 프로비저닝 절차는 표준 프로비저닝 보안을 사용하며, 1.1.3절에서 설명한 대로 일반적인 프로비저닝 절차의 2~5단계를 거칩니다.

그림9

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

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

2.2.5 대량 프로비저닝

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

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

3. 닫기

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