산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial Internet of Things >> 임베디드

Bluetooth Mesh를 사용한 디자인:개인 정보 보호 및 보안

이 기사 시리즈의 1부와 2부에서는 Bluetooth 메시 아키텍처와 Bluetooth 메시 네트워크를 통해 메시지가 통신되는 방식에 대해 논의했습니다. 오늘날과 같이 연결된 세상에서 보안은 모든 설계의 핵심 요소입니다. 따라서 Bluetooth Mesh로 구동되는 IoT 애플리케이션은 절대적으로 안전하고 안정적인 기능을 제공하는 것이 중요합니다.

Bluetooth 메시 장치의 보안 구현은 Bluetooth SIG의 필수 요구 사항이며 비활성화할 수 없습니다. 메쉬가 아닌 BLE 지점 간 연결 보안 구현은 선택 사항입니다. Bluetooth Mesh 네트워크에 장치를 추가하고 Bluetooth Mesh 네트워크 내에서 데이터를 교환하는 프로비저닝 프로세스는 보안을 최우선으로 세심하게 설계되었습니다. Bluetooth 메시 프로토콜은 다음과 같은 여러 계층에서 발생할 수 있는 다양한 위협으로부터 네트워크를 보호합니다.

<울>
  • MITM(Man-in-the-Middle) 공격은 프로비저닝 중에 ECDH(Elliptic Curve Diffie-Hellman) 키 교환 프로토콜을 사용하여 방지됩니다.
  • 리플레이 공격은 시퀀스 번호를 사용하여 방지됩니다.
  • 폐기된 기기의 휴지통 공격은 키 새로 고침(블랙리스트) 절차에 의해 방지됩니다.
  • Bluetooth 메시 토폴로지는 스택의 여러 계층에서 네트워크를 보호하는 필수 보안 키의 요구 사항으로 구축되었습니다. 각 보안 및 개인 정보 보호 기능을 하나씩 살펴보겠습니다.

    프로비저닝:블루투스 메시 네트워크에 프로비저닝되지 않은 기기 추가

    Bluetooth 메시 장치는 프로비저닝 프로세스를 사용하여 메시 네트워크에 추가됩니다. 프로비저닝된 메시 장치를 노드라고 하고 프로비저닝을 수행하는 장치를 프로비저닝자라고 합니다. 일반적으로 휴대폰이 제공자 역할을 합니다. 메쉬 네트워크를 생성하고 네트워크 키 및 기타 필수 키를 할당합니다. 프로비저닝되지 않은 메시 장치는 프로비저닝 프로세스를 사용하여 Bluetooth 메시 네트워크에 추가됩니다. 또한 프로비저닝 도구는 프로비저닝된 메시 노드를 구성하고 메시 네트워크에서 Bluetooth 메시 노드의 기능을 제어합니다.

    프로비저닝 프로토콜은 PB-ADV(ADV 베어러) 또는 PB-GATT(GATT 베어러)의 두 가지 프로비저닝 베어러를 사용할 수 있습니다. 오늘날의 모바일 장치는 아직 PB-ADV 베어러를 지원하지 않습니다. 이러한 이유로 프로비저닝 프로세스는 PB-GATT 베어러를 통해 수행됩니다.

    프로비저닝되지 않은 메시 장치는 전원이 켜진 후 광고를 시작합니다. 프로비저닝 도구는 프로비저닝되지 않은 장치를 검색하고 프로비저닝되지 않은 장치와 표준 BLE 연결(PB-GATT로 가정)을 설정합니다. 그런 다음 ECDH(Elliptical Curve Diffie-Hellman) 프로토콜을 사용하여 키를 공유합니다. 따라서 ECDH를 사용한 키 교환은 매우 안전합니다.

    그런 다음 두 장치 모두 교환된 키를 사용하여 세션 키를 생성합니다. 세션 키는 네트워크 키, 장치 키(키 유형은 이 기사의 다음 섹션에서 설명함), IV 인덱스 및 유니캐스트 주소를 암호화하는 데 사용되며, 모두 프로비저닝된 Bluetooth 메시 노드로 전송됩니다. 성공적으로 프로비저닝된 후 메시 노드는 메시 노드의 기능을 제공자와 공유하는 구성 프로세스를 거칩니다. Provisioner는 구성된 노드에 애플리케이션 키를 할당합니다. 각 메시 노드에는 여러 애플리케이션 키가 있을 수 있으므로 각 애플리케이션 키는 키 바인딩이라는 프로세스를 사용하여 특정 메시 모델과 바인딩되어야 합니다. 이러한 방식으로 메쉬 스택은 지정된 메쉬 모델에 사용할 응용 프로그램 키를 알 수 있습니다.

    그림 1은 iOS 메시 도우미 애플리케이션이 있는 스마트폰이 CYBT-213043-MESH 평가 키트를 사용하여 구현된 조광 가능 전구를 프로비저닝하려고 할 때의 프로비저닝 순서를 보여줍니다.

    더 큰 이미지를 보려면 클릭하세요.

    그림 1:조도 조절이 가능한 전구를 위한 프로비저닝 프로세스. (출처:Cypress)

    그림에서 볼 수 있듯이 Dimmable Light bulb는 Unprovisioned Device Beacon을 전송합니다. 제공자가 장치를 추가하려고 하면 조광 가능 전구가 프로비저닝되지 않은 장치 목록에 표시됩니다. 사용자가 iOS 메시 앱에서 Dimmable Light 장치를 클릭하면 프로비저닝 프로세스가 시작됩니다.

    전화기가 프로비저닝 초대를 보내고 디밍 가능 전구는 지원되는 요소의 수, 지원되는 보안 알고리즘, 대역 외(OOB)를 사용하는 공개 키의 가용성 및 입력/출력 기능과 같은 기능으로 응답합니다. 사용자 가치를 표시합니다. 조광 가능 전구의 기능을 기반으로 ECDH 공개 키는 OOB 방식이나 Bluetooth 링크를 사용하여 교환됩니다. 그러면 인증이 수행됩니다.

    조광 가능 전구가 인증되면 Provisioner는 AES-CCM 암호화된 링크를 통해 프로비저닝 데이터를 보냅니다. 프로비저닝 데이터(네트워크 키, 장치 키, IV 인덱스, 유니캐스트 주소 등)가 조광 가능 전구로 전송되면 프로비저닝 프로세스가 완료됩니다. 이제 제공자가 조광 가능 전구를 구성할 수 있습니다(이 시퀀스 다이어그램에는 표시되지 않음).

    네트워크 키, 애플리케이션 키 및 기기 키

    네트워크 키를 소유하면 노드가 네트워크 내에서 메시지를 릴레이할 수 있도록 하는 네트워크 계층까지 암호를 해독하고 인증할 수 있습니다. 네트워크 암호화 키와 개인 키는 네트워크 키에서 파생됩니다. 네트워크의 모든 노드가 메시 릴레이 메시지를 수신 및 전달하더라도 실제 애플리케이션 데이터는 네트워크 키를 사용하여 해독할 수 없다는 점에 유의하는 것이 중요합니다. 장치가 적절한 응용 프로그램 키를 소유한 경우에만 응용 프로그램 데이터를 해독할 수 있습니다.

    네트워크 키 :노드는 하나 이상의 네트워크 키를 소유할 수 있습니다. 이를 통해 단일 Bluetooth 메시 네트워크 내에서 여러 서브넷을 생성할 수 있습니다. 예를 들어, 다층 주차 시스템을 고려하십시오. 각 수준을 자체 서브넷으로 분할하는 것이 유용할 수 있습니다. 이 파티셔닝은 모든 수준에서 메시지 중계를 방지하고 중계된 메시지를 원하는 수준으로 제한합니다.

    애플리케이션 키 :애플리케이션 키는 메시 네트워크 내의 장치 하위 집합 간에 공유됩니다. 일반적으로 이러한 장치는 유사한 기능을 가지고 있습니다. 예를 들어, 거실의 모든 전구는 동일한 애플리케이션 키를 공유할 수 있는 반면 모션 센서 또는 잠금 장치에는 별도의 애플리케이션 키가 있습니다. 전구의 상태를 변경하기 위한 메시 메시지는 거실의 전구에 의해서만 해독될 수 있습니다(즉, 필요한 애플리케이션 키가 포함된 유일한 장치).

    기기 키: 장치 키는 Provisioner에 의해 프로비저닝된 각 메시 노드에 할당됩니다. 이를 통해 메시 노드를 고유하게 식별할 수 있습니다. 장치 키는 제공자가 노드 구성 프로세스 중에만 사용합니다.

    노드 제거(키 새로 고침, 블랙리스트)

    표적 메쉬 네트워크의 일부였던 결함이 있거나 폐기된 메쉬 노드에서 얻은 보안 키를 사용하여 해커가 특정 메쉬 네트워크에 공격을 가하는 것을 방지하는 것이 중요합니다. 이러한 종류의 공격은 일반적으로 휴지통 공격으로 알려져 있습니다. 이러한 공격을 피하기 위해 Bluetooth SIG는 키 새로 고침 절차를 정의했습니다. 이 절차는 특정 노드를 블랙리스트에 추가하기 위해 프로비져너에 의해 시작될 수 있습니다. 키 새로 고침 절차는 블랙리스트에 있는 장치를 제외한 메시 네트워크의 모든 장치에 새 네트워크 키, 응용 프로그램 키 및 필요한 모든 정보를 발급합니다. 블랙리스트에 등록된 기기의 모든 키는 더 이상 메시 네트워크에 액세스하는 데 사용할 수 없습니다.

    개인정보(메시지 난독화):

    개인 정보 보호는 모든 사람에게 중요한 측면입니다. Bluetooth Mesh의 개인 정보는 개인 정보 키를 사용하여 처리됩니다. 앞에서 설명한 것처럼 개인 정보 키는 네트워크 키에서 파생됩니다. Bluetooth Mesh는 이 개인 정보 키를 사용하여 소스 주소와 같은 메시지 헤더 값을 난독화합니다. 소스 주소가 난독화되면 공격자가 소스 주소를 기반으로 메시지를 추적하는 것을 방지할 수 있습니다.

    재생 공격

    공격자는 무선 메시지를 캡처하고 동일한 패킷을 여러 번 재전송하여 메시 네트워크를 중단하도록 선택할 수 있습니다. 공격자가 도어록 잠금을 해제하기 위해 메시지를 캡처한다고 상상해보십시오. 공격자가 무선 메시지를 성공적으로 캡처하여 도어를 잠금 해제할 수 있으면 도어에 대한 액세스가 제공됩니다. 분명히 이것은 인명과 재산에 큰 위협이 될 것입니다. 이 문제를 해결하기 위해 Bluetooth SIG는 각 네트워크 메시지의 일부로 초기화 벡터 인덱스(IV 인덱스)와 시퀀스 번호(SEQ)의 두 필드를 제공했습니다.

    시퀀스 번호는 노드가 메시지를 게시할 때마다 증가합니다. 메시 노드는 마지막으로 처리된 유효한 메시 메시지보다 작거나 같은 시퀀스 번호를 가진 메시 메시지를 버립니다. 시퀀스 번호를 변경하려면 공격자가 메시지를 디코딩한 다음 암호화하는 데 필요한 모든 키를 소유해야 합니다. 이러한 키는 의도한 장치에서만 사용할 수 있습니다. 따라서 공격자가 메시지에 응답을 시도하더라도 대상 노드에 의해 삭제됩니다. IV 인덱스는 메시 네트워크 메시지에서 별도의 필드입니다. 메시지의 IV 인덱스 값은 마지막으로 처리된 유효한 메시 메시지보다 크거나 같아야 합니다. 그렇지 않으면 메시지가 삭제됩니다.

    간단히 말해서 Bluetooth Mesh의 프로비저닝 프로세스는 신뢰할 수 있는 장치만 네트워크에 추가할 수 있도록 하고 메시지 가로채기(man-in-the-middle) 공격을 방지합니다. 네트워크 키와 같은 보안 키는 서브넷 생성을 허용하는 반면 애플리케이션 키는 특정 애플리케이션에서만 메시 메시지를 디코딩할 수 있도록 합니다. 키 새로 고침 절차는 안전한 노드 제거를 구현하고 휴지통 공격으로부터 보호합니다. 모든 메시지에 시퀀스 번호를 추가하여 재생 공격을 방지합니다. 메시지 난독화는 보낸 사람의 신원을 보호합니다. 이러한 모든 기능은 Bluetooth Mesh를 매우 안전하고 비공개로 만듭니다.

    이 기사 시리즈의 다음 부분에서는 응용 프로그램에 대한 Bluetooth 메시 장치를 선택할 때 고려해야 할 사항에 대해 설명합니다.


    임베디드

    1. Synopsys는 HBM3 IP 및 검증을 통해 다중 다이 설계를 가능하게 합니다.
    2. Bluetooth Mesh로 설계:칩 또는 모듈?
    3. Cypress:Bluetooth MCU는 유비쿼터스 스마트폰 연결을 통해 메시 네트워킹을 제공합니다.
    4. Future Electronics, Silvair와 새로운 글로벌 파트너십 계약 체결
    5. Contrinex:Bluetooth 인터페이스가 있는 클라우드 지원 스마트 센서 및 안전 라이트 커튼
    6. Swissbit:데이터와 장치를 보호하는 하드웨어 기반 보안 솔루션
    7. IoT 보안을 강화하는 Bluetooth MCU
    8. 카메라 및 PIR 센서가 있는 Raspberry Pi 홈 보안 시스템
    9. 인내와 끈기로 이끌다
    10. 보안과 개인 정보 보호가 IoT를 가로막고 있습니까?