이번 호는 전편에 이어 블루투스의 신뢰성 특징 및 페어 링 방법, LE보안 및 처리 량, CIP프로필 매핑 등에 대해서 논의코자 한다.
블루투스 입문
1. 신뢰성 (Reliability)
Bluetooth의 대표적인 신뢰성 기능은 두 가지이다. 첫째, 채널 사용 방식으로서 주파수 도약 확산 스펙트럼(Frequency Hopping Spread Spectrum, FHSS)을 사용하며, 둘째, 사용하는 주파수 변조 방식으로 가우시안 주파수 편이 변조(Gaussian Frequency Shift Keying, GFSK)를 채택한다.
BLE(Bluetooth Low Energy)는 2.4GHz ISM(산업, 과학 및 의료) 주파수 대역에서 3개의 광고 채널과 37개의 데이터 채널을 포함한 총 40개의 채널로 작동한다. BLE는 FHSS 방식을 통해 이 주파수 대역 내에서 각 채널 간 도약(hopping)을 수행한다. BLE 장치는 마스터 장치가 제어하고 슬레이브 장치(들)에게 전달하는 의사난수 도약 시퀀스를 따른다. 이러한 스펙트럼 도약은 초당 최대 1600회까지 발생할 수 있으며, 도약 중 BLE 장치는 현재 채널의 통신 품질을 지속적으로 모니터링한다. 간섭이 발생하거나 신호 품질이 좋지 않다고 판단되면, 해당 채널을 사용하지 않도록 표시하고 나머지 데이터 채널로 통신을 계속한다.
또한 이러한 주파수 변조는 이름 그대로 가우시안 필터(Gaussian filter)를 사용하여 송신 신호의 가장자리를 부드럽게 만들어 채널 전환 간의 변화를 완화한다. 이러한 필터링된 키잉은 송신 신호의 대역폭을 줄이고, 신호가 차지하는 스펙트럼이 감소하기 때문에 대역 외 간섭(out-of-band interference)을 줄이는 데 도움이 된다.
2. 링크(Linking)
두 장치 간 암호화된 링크를 설정할 때, 두 장치는 각각 지원할 수 있고 연결에 관련된 응용 프로그램에서 허용 가능한 적절한 키 길이를 협상한다. 이 과정에서 중앙 장치(Central device)가 주변 장치(Peripheral device)에 제안된 키 크기를 전송한다. 중앙 장치는 일반적으로 스마트폰이나 태블릿이며, 주변 장치는 헤드셋, 피트니스 트래커 등이다.
산업 자동화 및 본 문서의 목적에 맞춰 보면, 중앙 장치는 BLE 게이트웨이, 주변 장치는 센서나 태블릿이 된다. 중앙 장치는 연결을 시작하고, 광고 중인 주변 장치를 검색하며, 데이터 흐름을 제어한다. 반면 주변 장치는 자신의 존재를 광고하고, 중앙 장치로부터의 연결 요청을 기다린 후 연결이 설정되면 데이터를 제공한다.
중앙 장치는 처음에 자신이 지원하는 최대 키 크기를 제안하며, 주변 장치가 이를 수용할 수 있으면 승인한다. 수용할 수 없을 경우 주변 장치는 자체 제안을 다시 전송한다. 이러한 제안 교환은 합의에 도달하거나 상호 허용 가능한 키 길이를 설정할 수 없다고 판단될 때까지 계속되며, 후자의 경우 암호화 설정은 중단된다.
3. 페어링 (Pairing)
BLE는 LE 레거시와 LE 보안 연결 두 가지 주요 페어링 방식을 제공한다. LE 레거시는 Bluetooth v4.0 사양의 일부로서 Just Works 또는 Passkey Entry와 같은 덜 강력한 보안 방식을 사용한다. LE 보안 연결은 Bluetooth v4.2에서 도입되었으며, 키 생성 및 교환을 위해 타원 곡선 디피-헬만(ECDH) 암호화를 사용하여 향상된 보안을 제공한다.
BLE 페어링 과정에는 두 장치 간의 안전한 연결을 설정하기 위해 다양한 연결(association) 모델이 사용된다. 여기에는 다음이 포함된다.
· Just Works: 이 모델은 MITM(중간자 공격)에 대한 보호를 제공하지 않으며, 패스키를 입력하거나 표시할 사용자 인터페이스가 없는 경우에 일반적으로 사용된다.
· Passkey Entry: 이 모델은 사용자에게 한쪽 또는 양쪽 장치에 패스키를 입력하게 한다. MITM 보호를 제공한다.
· Numeric Comparison: 두 장치가 숫자를 표시하고, 사용자가 숫자가 일치하는지 확인한다. 강력한 MITM 보호를 제공한다.
· Out of Band (OOB): 외부 통신 방법(예: NFC)을 사용하여 암호화 정보를 교환하며, 강력한 MITM 보호를 제공한다.
(1) LE 레거시 페어링 개요
LE 레거시는 Just Works, Passkey Entry 및 Out of Band 연결 모델을 지원한다. LE 레거시의 페어링 단계는 다음과 같다.
① 페어링 기능 교환(Pairing Feature Exchange): 장치가 입출력 기능과 사용할 연결 모델에 대한 정보를 교환한다.
② 단기 키(STK, Short Term Key) 생성: 선택된 연결 모델에 따라 장치는 페어링 과정 중 링크를 암호화하는 데 사용되는 임시 키(STK)를 생성한다.
③ 장기 키(LTK, Long Term Key) 생성 및 분배: 장치는 LTK 및 기타 키(예: IRK(Identity Resolving Key), CSRK(Connection Signature Resolving Key))를 생성하고 교환하여 향후 보안 연결에 사용한다.
(2) 보안 기능
① LE 레거시 페어링의 한계: Just Works 모델은 장치를 인증하지 않기 때문에 MITM 공격에 취약하다.
② Bluetooth 4.0에 한정됨: LE Legacy Pairing은 Bluetooth 4.0 사양의 일부이며, 이후 Bluetooth 4.2부터 도입된 LE 보안 연결은 LE 레거시의 알려진 취약점을 보완하는 강력한 보안 기능을 제공한다.
(3) LE 보안 연결 페어링 개요
LE 보안 페어링의 주요 특징은 다음과 같다.
① 타원 곡선 디피-헬만(ECDH) 키 교환
· LE Secure Pairing은 두 장치 간의 공유 비밀키(디피-헬만 키)를 생성하기 위해 ECDH 알고리즘을 사용한다. 이 키는 이후 장기 키(LTK) 및 기타 암호화 키를 유도하는 데 사용된다.
· ECDH는 키가 무선으로 전송되지 않도록 하여 도청에 강한 보안을 제공한다.
LE 보안 연결에서 지원하는 연결 모델은 Just Works, Passkey Entry, Numeric Comparison, Out of Band이다.
② 페어링 단계
· 페어링 기능 교환: 장치가 입출력 기능에 대한 정보를 교환하고 사용할 연결 모델을 결정한다.
· 공개키 교환: 장치는 ECDH 알고리즘을 사용하여 공개키를 교환하고 공유 비밀키를 생성한다.
· 인증 단계: 선택된 연결 모델(예: Passkey Entry, Numeric Comparison)을 사용하여 장치가 상호 인증을 수행한다.
· 단기 키(STK) 생성: 장치는 공유 비밀키를 사용하여 임시 키(STK)를 생성한다.
· 장기 키(LTK) 생성 및 분배: 장치는 LTK와 IRK(무작위 사설 주소를 해석하는 키), CSRK(데이터 서명용 키)를 생성하고 교환하여 메시지의 진위성을 보장한다.
③ 보안 기능
· 수동 도청 방지: ECDH 키 교환은 공유 비밀키가 무선으로 전송되지 않도록 하여 도청에 강하다.
· MITM 공격 방지: 사용된 연결 모델(예: Numeric Comparison, Passkey Entry)에 따라 LE Secure Pairing은 인증을 통해 강력한 MITM 보호를 제공한다.
LE 보안의 장점은 LE 레거시 페어링에 비해 향상된 보안 기능을 제공한다는 것이다. 이는 높은 수준의 보안이 필요한 애플리케이션에 적합하며, Numeric Comparison 및 Passkey Entry와 같은 모델을 통해 보안성과 사용자 편의성의 균형을 이룬다. 또한 구형 장치와의 하위 호환성도 유지하여 LE 보안 연결을 지원하지 않는 장치와 통신 시 LE 레거시 페어링으로 전환할 수 있다.
4. LE 보안 (LE Secure)
BLE가 보호해야 할 세 가지 일반적인 공격 유형은 다음과 같다.
· ID 추적(Identity tracking): 블루투스 주소를 이용해 네트워크 상의 장치를 추적하는 공격.
· 수동 도청(Passive eavesdropping): 공격자가 장치 간 전송되는 데이터를 몰래 청취하는 경우.
· 능동 도청 또는 중간자 공격(MITM): 공격자가 네트워크 상에서 블루투스 장치로 가장하여 통신 내용을 도청하거나 데이터를 변조하는 경우.
ID 추적은 블루투스 주소를 악용하므로, 이를 방지하려면 개인정보 보호가 필요하다. BLE가 제공하는 LE Privacy 기능을 활성화하면 광고 모드에서 장치 정보가 노출되는 것을 방지할 수 있다. 이 기능은 광고 패킷 내 MAC 주소(Media Access Control)를 임의의 값으로 변경하여 실제 MAC 주소를 숨기는 방식으로 작동한다. 이 과정은 페어링 중 장치 간 암호화 키 교환 시 시작되며, 교환된 암호화 키를 통해 실제 MAC 주소를 해석할 수 있다.
이 기능을 가능하게 하는 키는 IRK(Identity Resolution Key)이며, 한 장치가 다른 장치의 광고 패킷에 나타난 임의 MAC 주소를 실제 MAC 주소로 변환할 수 있도록 한다. 일반적으로 임의 MAC 주소 변경 주기는 장치 제조사가 펌웨어에서 구현한 타이머 설정에 따라 결정되며, 이를 통해 장치가 주소 변경 주기를 인식할 수 있다.
수동 도청으로부터 데이터를 보호하기 위해 BLE는 데이터 전송 시 AES-CCM(Advanced Encryption Standard with CBC-MAC) 암호화를 사용하며, 데이터 무결성을 동시에 검증한다. 이 암호화는 AES-128(128비트 대칭키)을 사용하며, 송신자와 수신자가 동일한 키로 암복호화를 수행한다. 모든 과정은 SMP(Security Manager Protocol)에 의해 관리된다.
MITM 공격으로부터 네트워크를 보호하기 위해 BLE는 정의된 보안 수준(Security Level) 중 최소 Level 3 이상을 준수해야 한다. BLE의 보안 수준은 다음과 같다.
Level 1: 보안 없음(인증 및 암호화 없음) — 단순 연결.
Level 2: 비인증 암호화 — 페어링 필요하지만 “Just Works” 방식.
Level 3: 인증된 암호화 — OOB(NFC 등) 또는 Passkey 사용.
Level 4: 가장 높은 보안 수준 — 인증된 LE Secure Connections, 128비트 암호화 키 사용.
5. 처리량 (Throughput)
모든 네트워크 통신에서 송수신에 걸리는 시간이 기저 기술의 처리량을 결정한다. BLE의 간단한 다이어그램은 그림 1과 같다.
‘T’는 송신 패킷(Transmission packet), ‘R’은 상대 장치로부터 패킷 수신을 확인하는 응답 패킷(Receive packet), ‘T_IFS’는 두 연속 패킷 간의 시간 간격(Inter Frame Space)이다.
BLE 4.2 이상 버전에서 T_IFS는 150μs이며, 전송 패킷(T)과 수신 패킷(R)에 걸리는 시간은 패킷 길이와 사용된 PHY에 따라 달라진다.
BLE 장치에서 사용된 PHY는 보드레이트를 결정한다. LE 1M PHY의 보드레이트는 1Mbps이며, LE 2M PHY는 2Mbps이다. LE 1M PHY는 일반적으로 사용되고, 2M PHY는 Bluetooth 5.0 이후 점차 채택되고 있다.
BLE의 처리량은 페이로드, Bluetooth 버전, 사용 모드 및 PHY 등 여러 요인에 따라 달라진다. BLE 4.2 이상에서는 총 패킷 길이가 265바이트이며, 페이로드는 최대 251바이트이다. 패킷 구조는 다음과 같다.
· Preamble (1~2바이트) – 수신기에서 주파수 동기화, 이득 제어, 심볼 타이밍 추정을 수행.
· Access Address (4바이트) – 각 연결에 고유하며 충돌 방지.
· PDU (2~257바이트) – 헤더, 페이로드, MIC(Message Integrity Check)로 구성.
· CRC (3바이트) – 오류 검출.
BLE 4.2 (LE 1M PHY)의 최대 처리량은 약 0.65 Mbps, BLE 5.0 (LE 2M PHY)의 최대 처리량은 1.16 Mbps이다. MTU(251바이트)를 초과하는 데이터의 경우 L2CAP 계층에서 분할(fragmentation) 과정을 통해 여러 패킷으로 나누어 전송하며, 수신 측에서 재조립된다. 이 기능은 EtherNet/IP 패킷과 같이 BLE MTU보다 큰 메시지를 전송할 때 유용하다. 예를 들어, BLE를 통해 기계에 연결된 모바일 장치가 EtherNet/IP 메시지를 읽어야 할 경우 데이터는 여러 조각으로 분할되어 전송된다.
6. 프로파일 (Profiles)
BLE 스택의 호스트 계층(Host Layer)은 애플리케이션 계층 아래, 제어 계층 위에 위치하며, 애플리케이션이 장치와 통신하는 방식을 표준화한다. 호스트 계층은 특정 사용 사례를 위한 서비스 집합으로 구성된 프로파일(Profiles)을 제공한다. 대표적으로 다음 두 가지가 있다.
· GAP(Generic Access Profile): BLE 네트워크의 장치 검색 및 연결 정의
· GATT(Generic Attribute Profile): 연결된 장치 간 데이터 및 속성 교환 방식 정의
GAP은 장치가 자신을 광고하고, 연결을 설정하며, 연결의 보안을 관리하는 방식을 정의한다. GAP에서는 장치가 네 가지 주요 역할을 수행할 수 있다.
· Broadcaster: 데이터를 방송하지만 연결은 허용하지 않음
· Observer: 방송 데이터를 수신하지만 연결하지 않음
· Central: 다른 장치를 검색하고 연결을 시작
· Peripheral: 자신의 존재를 광고하고 연결 요청을 수락
산업 자동화의 경우, 일반적으로 Central–Peripheral 구조를 사용하여 안정적이고 안전한 연결을 구축한다. GAP는 또한 SMP(Security Management Protocol)을 통해 연결 보안을 관리하고 BLE 장치 주소(48비트, 12자리 16진수, XX:XX:XX:XX:XX:XX 형식)를 설정한다.
장치 검색 및 연결이 완료되면 GATT 프로파일이 활성화되어 데이터가 서비스, 특성(Characteristics), 속성(Attribute) 형태로 구조화되고, 읽기/쓰기 방식이 정의된다. GATT Server는 장치 측에 구현되어 하나 이상의 서비스를 포함하며, 각 서비스는 특성과 속성을 포함한다. 일반적인 특성은 다음 속성들로 구성된다.
· 특성 값(Characteristics Value)
· 특성 값 UUID (범용 고유 식별자)
· 특성 값 핸들(Handle)
· 속성(Properties)
· 디스크립터(Descriptors, 예: 형식 또는 단위)
이러한 항목은 GATT 서버의 속성 테이블에 저장된다. 속성 테이블에는 각 항목의 핸들(Handle), 유형(Type), 권한(Permissions) 등이 정의되어 있으며, 클라이언트 장치가 접근할 수 있는 방식이 결정된다. UUID는 Bluetooth SIG에서 정의된 16비트 또는 제조사 정의 128비트 형식으로 구성된다.
<예시>
· GATT 서비스: 온도 센서 서비스 (Temperature Sensor Service)
· 서비스 핸들: 0x0001 | UUID: 0x1234
이 예시에서 GATT 클라이언트(모바일 장치나 제어 시스템)는 핸들 0x0002를 참조하여 온도 값을 읽고, 핸들 0x0003에 쓰기(write)하여 온도 임계값을 설정할 수 있다.







































/smartmap_2_21.png)
/smartmap_2_22.png)
/smartmap_2_23.png)
/smartmap_2_24.png)
/smartmap_2_25.png)
/smartmap_2_26.png)
/smartmap_2_27.jpg)