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 |
Initial version |
참고 Bluetooth Mesh 프로필 specification의 이름이 변경되어 이제 Bluetooth Mesh 프로토콜 specification으로 불립니다. 이 문서와 관련 문서에서 버전 1.1 specification을 언급할 때는 이 이름을 사용하지만, 버전 1.0 specification은 계속해서 Bluetooth Mesh Profile specification이라고 합니다. |
1. 배경
서브넷 브리징은 Bluetooth® 메시 프로토콜 specification 버전 1.1에 도입되었습니다. Bluetooth 메시 서브넷 브리징의 기능과 이점을 완전히 이해하려면 Bluetooth 메시 버전 1.0의 특정 측면을 이해해야 합니다. 이 섹션에서는 Bluetooth 메시 서브넷 브리징 기능을 검토하는 데 도움이 되는 컨텍스트와 배경을 제공합니다.
1.1 서브넷
블루투스® 메시 네트워크는 모든 유니캐스트 주소의 주소 공간을 구성합니다. Bluetooth 메시 네트워크는 이 공통 주소 공간을 공유하는 하나 이상의 서브넷으로 구성될 수 있습니다. 각 서브넷에는 고유한 네트워크 키(NetKey)가 있으며, 노드가 프로비저닝될 때 이 NetKey가 제공되면 해당 노드는 해당 서브넷의 멤버가 됩니다.
노드는 둘 이상의 NetKey를 보유할 수 있으므로 둘 이상의 서브넷의 구성원이 될 수 있지만, Bluetooth 메시 프로파일 specification 버전 1.0에서는 메시지가 한 서브넷에서 다른 서브넷으로 전달될 수 있는 방법이 없었습니다. 서브넷은 서로 완전히 격리되어 있었습니다.
1.2 지역 격리
네트워크를 여러 개의 서브넷으로 분할하여 네트워크의 한 부분을 다른 부분으로부터 격리하는 기능은 여러 가지 이점을 제공합니다.
1.2.1 지역 격리 및 보안
한 서브넷의 디바이스가 다른 서브넷의 디바이스와 상호 작용할 수 없도록 하는 것은 보안상의 이유로 유용하거나 필수적일 수도 있습니다. 한 방에 있는 스마트 디바이스가 같은 방에 있는 다른 디바이스와 통신할 수 있지만 방 밖에 있는 디바이스와는 통신할 수 없는 호텔 객실을 예로 들어 보겠습니다. 각 호텔 객실의 디바이스를 자체 서브넷에 배치하면 각 객실의 디바이스를 다른 객실의 디바이스로부터 격리하고 호텔의 객실 보안 요구 사항을 충족할 수 있습니다.
그림 1 - 호텔 객실 및 서브넷 영역 격리
1.2.2 지역 격리 및 네트워크 효율성
서브넷을 사용하여 건물의 한 영역에 네트워크 트래픽을 포함할 수도 있습니다. 이는 메시지가 의도한 모든 목적지 노드에 도달하기 위해 릴레이가 필요하고 Bluetooth 메시 관리 플러딩 사용 중인 경우에 특히 유용할 수 있습니다. 서브넷은 메시지가 릴레이될 때에도 메시지가 경계를 넘을 수 없도록 디바이스 그룹에 경계를 설정하는 것으로 생각할 수 있으므로 대상 디바이스가 없는 네트워크의 일부로 관련 없는 메시지가 릴레이되는 것을 방지할 수 있습니다.
이 기술은 일반적으로 사무실에서 한 층과 다른 층을 격리하는 데 사용되며, 그림 2에 나와 있습니다. 3층의 전등 스위치에서 보낸 메시지는 같은 서브넷에 속해 있기 때문에 해당 층의 천장에 있는 릴레이 노드에 의해 릴레이되지만, 스위치에서 전송을 수신할 수 있는 위층과 아래층의 릴레이는 즉시 메시지를 삭제하므로 메시지가 층을 넘어 전파되지 않습니다.
그림 2 - 사무실의 서브넷
1.3 리플레이 공격 및 시퀀스 번호
악성 디바이스는 수동적으로 메시지를 수신한 후 나중에 재전송하여 네트워크에 무단 변경을 일으킬 수 있습니다. 이러한 공격을 리플레이 공격이라고 합니다. Bluetooth® Mesh는 리플레이 공격을 방지하는 리플레이 보호 메커니즘을 정의합니다.
리플레이 보호에는 24비트 시퀀스 번호(SEQ)가 포함된 논스 값이 연결된 모든 메시지가 포함되며, 소스 노드는 새 메시지를 전송할 때마다 이 값을 증가시켜야 합니다. 노드가 5초에 한 번씩 메시지를 전송하는 경우, SEQ 값을 감싸는 데 2년이 넘게 걸립니다. 그러나 이를 방지하기 위해 SEQ 값은 전체 네트워크에서 공유되는 32비트 초기화 벡터(IV) 값으로 확장됩니다. IV는 SEQ 값이 소진될 위험이 있을 때마다 IV 업데이트 절차라는 절차를 통해 자동으로 업데이트됩니다.
32비트 IV 값 자체는 메시지에 포함되지 않습니다. 대신 IVI라는 단일 비트 필드는 네트워크에서 한 번에 사용할 수 있는 두 개의 가능한 IV 값 중 어떤 것이 메시지와 관련이 있는지를 나타냅니다.
수신 장치는 각 소스 주소 마지막으로 성공적으로 처리된 메시지의 IV 및 SEQ 값을 추적합니다 주소 동일한 소스 유니캐스트 주소 마지막으로 수신한 메시지보다 IV 및 SEQ 값 조합이 더 높지 않은 메시지가 수신되면 리플레이 공격 가능성이 있는 것으로 간주하여 삭제합니다.
1.4 Bluetooth® 메시 1.0의 서브넷 평가
Bluetooth Mesh 프로파일 specification의 버전 1.0에 정의된 서브넷은 보안 및 네트워크 활용 효율성이 뛰어난 몇 가지 이점을 제공합니다. 그러나 서브넷이 부과하는 영역 격리의 절대적인 특성으로 인해 충족하기 어려운 몇 가지 요구 사항이 있습니다. 서브넷을 사용하여 네트워크의 관련 없는 부분으로 메시지가 이동하는 것을 제한해야 하는 경우, 네트워크 계획자는 서브넷 사용 방법에 대해 신중하게 고려해야 합니다. 설치자는 네트워크를 처음 만들 때 필요한 서브넷을 설정해야 합니다.
Bluetooth 메시 지시 전달(Bluetooth 메시 지시 전달 기술 개요 문서 참조)은 노드 간 트래픽 흐름을 네트워크의 관련 부분으로 제한하는 우수한 접근 방식을 제공합니다. 서브넷도 때때로 비슷한 결과를 얻을 수 있지만, 서브넷 영역 격리는 선택한 디바이스만 메시지를 처리하도록 제한한다는 점에서 Bluetooth 메시 전달 방식만큼 정밀하게 대상을 지정하여 사용할 수 없습니다. 이제 네트워크 사용 효율성 요구 사항을 주소 위한 방법으로 Bluetooth 메시 직접 전달이 권장됩니다.
서브넷을 네트워크 보안 메커니즘으로 사용하는 영역 격리는 강력한 기능입니다. 하지만 호텔에서 각 객실에 서브넷 영역 격리를 사용했다고 상상해 보세요. 고객들은 기술적으로 스마트한 호텔 객실에서 디바이스와 시스템을 수동 및 자동으로 제어할 수 있다는 사실에 만족합니다. 호텔 경영진은 한 방의 디바이스가 다른 방의 디바이스를 간섭하는 데 사용할 수 없다는 사실에 만족합니다. 그러나 호텔 경영진은 각 호텔 객실의 센서가 재실 데이터를 보고할 수 있는 게이트웨이를 설치하여 객실 청소 및 세탁 서비스를 방해받지 않고 예약할 수 있는 TCP/IP 기반 GUI 시스템을 제공하고자 합니다. Bluetooth® 메시 1.0 서브넷을 사용할 때 모든 호텔 객실에 게이트웨이 노드가 없으면 이 작업을 수행할 수 없습니다.
2. 서브넷 브리징 정보
때로는 서브넷이 제공하는 영역 격리를 손상시키지 않으면서 서로 다른 서브넷에 있는 디바이스 간의 통신이 필요한 사용 사례가 있습니다. Bluetooth Mesh 서브넷 브리징 기능으로 이를 가능하게 합니다.
2.1 기능 및 이점
Bluetooth 메시 서브넷 브리징 기능 사용하면 네트워크에서 영역 격리를 위해 서브넷을 사용할 뿐만 아니라 인접한 다른 서브넷에 있는 특정 디바이스 간의 통신도 선택적으로 허용할 수 있습니다.
2.1.1 서브넷 브리징 활성화하기
네트워크 계획자는 네트워크에서 서브넷 브리지 역할을 할 노드를 결정하여 인접한 두 서브넷의 특정 노드 간에 제어된 통신을 허용해야 합니다. 브리지 설정 서버 모델이 있으면 노드에서 Bluetooth 메시 서브넷 브리징이 지원됨을 나타냅니다.
노드를 서브넷 브리지로 만들려면 서브넷 브리지라는 상태의 값이 활성화로 설정되어 있어야 합니다. 그런 다음 브리징 테이블이라는 추가 상태를 노드의 Bluetooth Mesh 서브넷 브리징 기능을 구성하는 항목으로 채워야 합니다.
2.1.2 브리징 테이블 상태
브리징 테이블은 Bluetooth 메시 서브넷 브리징이 수행될 소스 및 대상 주소를 정의하는 항목이 포함된 상태입니다. 항목은 한 주소에서 다른 주소로 한 방향으로만 또는 양방향으로만 브리징을 사용할 수 있도록 정의합니다. 두 경우 모두 각 서브넷의 네트워크 키에 대한 인덱스 값도 각 브리징 테이블 항목에 포함됩니다. Bluetooth® 메시 프로토콜 specification의 4.2.42절에 브리징 테이블 항목의 전체 형식이 나와 있으며, 여기서는 그림 3에 반복되어 있습니다.
필드 |
크기(비트) |
묘사 |
방향 |
8 |
브리지 트래픽에 허용되는 길 안내 |
NetKeyIndex1 |
12 |
첫 번째 서브넷의 NetKey 인덱스 |
NetKeyIndex2 |
12 |
두 번째 서브넷의 NetKey 인덱스 |
주소1 |
16 |
첫 번째 서브넷에 있는 노드의 주소 |
주소2 |
16 |
두 번째 서브넷에 있는 노드의 주소 |
그림 3 - 브리징 테이블 상태 입력 형식
길찾기 필드는 0x01 또는 0x02 값을 사용합니다.
0x01은 소스 주소 (SRC)가 주소1 브리징 테이블 항목과 같고 목적지 주소 일광 절약 시간제가 주소2와 같은 메시지의 경우 한 방향의 브리징만 허용되어 첫 번째 서브넷에서 두 번째 서브넷으로 메시지가 전달될 수 있음을 의미합니다.
0x02는 소스 주소 (SRC)가 주소2와 같고 목적지 주소 일광 절약 시간제가 주소1과 같은 메시지에 대해 두 번째 서브넷에서 첫 번째 서브넷을 포함하여 어느 방향으로든 브리징을 수행할 수 있음을 의미합니다.
2.1.3 서브넷 브리징 및 보안
서브넷을 사용하면 네트워크의 서로 다른 부분을 서로 격리할 수 있으며, 이는 일부 시나리오에서 한 서브넷의 노드가 다른 서브넷의 노드와 통신하지 못하도록 하는 보안상의 이점이 있습니다.
Bluetooth 메시 서브넷 브리징을 사용하면 서브넷 간 통신이 가능합니다. 그러나 브리징 테이블은 특정 소스 및 목적지 주소 쌍과 특정 서브넷 쌍 사이에서만 이러한 통신이 이루어지도록 합니다. 예를 들어, 호텔에서 게스트는 블루투스 메시 서브넷 브리징 및 블루투스 메시 다이렉트 포워딩을 사용하여 자신의 객실이 속한 서브넷에서 호텔 전체의 하우스키핑 팀으로 메시지를 전송하는 버튼을 눌러 객실 청소를 원한다는 신호를 하우스키핑 팀에 보낼 수 있습니다. 그러나 게스트의 객실에 있는 다른 디바이스는 해당 서브넷 외부의 다른 노드와 통신할 수 없습니다. Bluetooth 메시 서브넷 브리징을 사용하면 서브넷 간 통신을 선택적으로 제어할 수 있지만 그렇지 않은 경우 영역 격리를 통해 제공되는 보안 이점을 유지할 수 있습니다.
서브넷 브리지는 목적지 노드와 동일한 방식으로 리플레이 보호를 수행하여 서브넷 브리지가 처리하는 메시지에서 소스 주소 대해 IV 및 SEQ 값을 추적합니다. IV 및 SEQ 값 조합이 특정 소스 주소 브리징을 위해 마지막으로 수신한 값보다 숫자로 더 높지 않으면 삭제됩니다. 이러한 방식으로 서브넷 브리지는 다음 서브넷을 서비스 거부 공격으로부터 보호하여 다음 서브넷의 목적지 노드보다 먼저 리플레이 보호를 수행합니다.
2.1.4 서브넷 브리징 작동 중
Bluetooth 메시 서브넷 브리징은 서브넷 브리지 노드 내의 네트워크 Layer에서 수행됩니다. 메시지를 수신하면 브리징 테이블에서 Address1 및 Address2 필드가 메시지의 소스 주소 및 대상 주소와 일치하는 항목 또는 Address2에 메시지 SRC 주소가 포함되고 Address1에 메시지 DST 주소가 포함되며 방향 필드에 양방향 브리징이 지원됨을 나타내는 항목이 있는지 확인합니다. 메시지 네트워크 PDU가 소스 서브넷에 대한 NetKey로 암호화되었는지 확인하기 위해 추가 확인이 이루어집니다. 이러한 조건이 충족되면 메시지는 소스 서브넷 NetKey를 사용하여 복호화되고 대상 서브넷 NetKey로 다시 암호화된 다음 재전송됩니다. 서브넷 브리지 노드의 적절한 구성이 준비되어 있으면 메시지를 두 번 이상 재전송하여 여러 서브넷을 통해 이동할 수 있습니다.
소스 및 목적지 주소 가능한 단방향 또는 양방향 브리징 항목 형식의 브리징 테이블에 없는 메시지는 다른 서브넷으로 재전송되지 않습니다. 릴레이 또는 블루투스 메시 전달은 적절한 경우 현재 서브넷 내에서 메시지가 재전송될 수 있습니다.
2.1.5 서브넷 브리징 및 다이렉트 포워딩
Bluetooth Mesh 직접 전달( Bluetooth Mesh 직접 전달 기술 개요 문서 참조)은 Bluetooth Mesh 서브넷 브리징과 함께 사용할 수 있으며 두 개의 노드 종속성 관계를 수반합니다.
첫 번째 종속성은 첫 번째 서브넷의 소스 노드와 두 번째 서브넷의 구성원으로서 서브넷 브리지 사이에 존재합니다. 두 번째 종속성은 첫 번째 서브넷의 구성원인 서브넷 브리지와 두 번째 서브넷의 목적지 노드 사이에 존재합니다.
서브넷 브리지는 두 노드 종속성 관계에서 지원 노드 역할을 하며 종속 노드를 대신하여 경로 검색 및 유지 관리 절차, 메시지 전달을 수행합니다.
3. 닫기
Bluetooth Mesh 서브넷 브리징을 사용하면 교차 서브넷이 필요한 경우 보안을 손상시키지 않고 훨씬 더 유연하고 쉽게 서브넷을 설정할 수 있습니다.