본문 바로가기

Information/IT 관련

UWB(Ultra Wide Band, 초광대역) 기술 분석(2/2)

반응형

UWB에서 사용하는 주파수

UWB는 500 MHz에 이르는 광 대역폭을 사용합니다. 그렇기에 UWB를 이용해서 세밀한 거리 측정이 가능하다는 것은 앞 글에서 살펴 봤습니다. 

 

IEEE 802.15.4-2011에서의 UWB  대역폭 기준은 500 MHz~1300 MHz입니다.

 

여기서 문제는, 각 나라에서는 무선 주파수에 대해서 각 주파수별로 사용 용도를 한정해서, 사용 주파수끼리 간섭이 발생하지 않도록 하고 있습니다. 

 

UWB의 경우는 사용되는 파워 레벨이 매우 낮아서 간섭 현상이 많지 않으나, 그래도 다른 주파수와 혼용되면 간섭이 발생할 것이기에, UWB에 대해서도 지정된 주파수만을 사용하도록 하고 있고, 각 나라마다 다른 주파수 대역이 가능하기에, UWB 표준에서는 3.1 GHz~10.6 GHz 사이에 14개의 밴드를 만들어서 선택적으로 사용할 수 있도록 했습니다.

 

 

출처: https://www.researchgate.net/figure/Frequency-band-plan-for-UWB-band-groups_fig3_263364745

 

 

3.1GHz~10.6GHz 사이에서 각 나라별로 사용할 수 있는 주파수 대역이 다른데, 각 나라별로 허용되는 UWB 주파수는 아래 자료에 정리되어 있습니다.

 

A Summary of Worldwide Telecommunications Regulations governing the use of Ultra-Wideband radio

 

 

이 자료에 의하면 우리나라는 3.7 GHz~4.8 GHz와 7.2 GHz~10.2 GHz 사이의 주파수를 사용할 수 있습니다.

 

 

그러나, 이 자료가 작성된 이후에 2018년 10월에 과기정통부가 6.0 GHz~7.2 GHz 사이를 UWB로 사용할 수 있도록 분배했습니다.

 

관련 기사: http://www.ciokorea.com/news/39873

 

그래서, 2020.7월 현재 우리나라에서 사용 가능한 UWB 주파수는,

  • 3.7 GHz ~ 4.8 GHz
  • 6.0 GHz ~ 7.2 GHz
  • 7.2 GHz ~ 10.2 GHz

 


Use Case: Car Key (자동차용 키)

가까운 시일 내에, 일상생활에서 UWB가 사용될 가장 큰 유즈 케이스는 'Car Key'일 것입니다.

 

애플이 BMW 차량 대상으로 NFC(Near Field Communication)를 이용한 Car Key를 내놓으면서, 내년 2021년에는 NFC가 아닌 UWB용 Car Key를 내놓을 것이라고 했습니다.

 

애플 아이폰으로 BMW 차량의 도어를 열 수 있고 시동을 걸 수 있다는 소개 동영상: 

https://youtu.be/oDiPvLzzNm4?t=68

  

 

기존의 무선 자동차 키

자동차의 카키가 무선으로 등장한 것은 오래전 일입니다. 가지도 있는 자동차 키로 수십 미터 밖에서 차량 도어를 열고 닫을 수 있습니다.

 

 또한, 자동차 키를 소지하고만 있어도 도어가 열리고, 키를 가지고 있는 상태에서 시동 버튼만 누르면 시동이 걸리는 방법도 있습니다. 이를 PKES(Passive Keyless Entry and Start) 시스템이라고 합니다.

 

이 PKES는 키와 자동차 간에 무선 전파를 이용해서 간단한 Challenge-Response 프로토콜을 사용해서 인증하고, 인증이 성공하면 도어락 개폐, 시동 등을 걸 수 있습니다.

 

  • 사용되는 무선 주파수는, 키는 송신 주파수로 433.92Mz를, 자동차는 134.2KHz를 송신 주파수로 사용합니다. 즉, 서로 다른 2개의 주파수를 송/수신으로 사용
  • Challenge-Response는 암호학에서 사용되는 용어로, 어떤 한쪽인 A가 어떤 난수를 Challenge로 상대방인 B에게 보내면, B가 Challenge 값에 대해 자신이 가지고 있는 암호화키로 어떤 계산을 해서 A에게 Response를 보내고, A가 이 Response를 분석해서 인증해주는 프로토콜을 말합니다. 

PEKS에서의 Challenge-Response 프로토콜을 도식화해보면,

 

 

1) Car는 주기적으로 자신의 ID(2 Bytes)를 담은 신호를 사방으로 전송

2) Key가 1번에서 보낸 ID 신호를 받고, 자신에게 등록된 ID이면 reply 신호를 해당 Car에게 보냄

3) Car는 어떤 난수(random value)를 생성하고 이를 Key에게 Challenge값으로 보냄

4) Key는 자신이 가지고 있는 암호화 키로 이 Challenge값을 변형해서 Response로 Car에게 보냄. 이때 사용되는 알고리즘은 DST40 (DST40 암호화 자료)

5) Car는 Key가 보낸 Response가 올바른 것인지 검증한 후, 제대로 된 것이면 차량을 unlock 함

 

이 프로토콜은 비교적 쉽게 깰 수 있습니다. 두 가지 방법을 소개하겠습니다.

 

첫 번째 방법은 DST40에 대한 레인보우 테이블(Rainbow Table)을 만들어서 깨는 것입니다.

 

레인보우 테이블은, 모든 가능한 조합을 미리 테이블로 만들어 두는 것을 말합니다. 

 

DST40의 경우 40비트 입력값에 대해서 24비트 출력을 내고, 이때 사용되는 키는 40비트이기에, 총 5.5TB의 메모리만 있으면 됩니다.

 

즉, DST40 알고리즘을 PC에 구현해서, 가능한 모든 조합을 조사해두는 것입니다. (1개당 1us에 계산된다면 약 12일 정도 돌리면 됩니다. )

 

그러고 나서,  위의 PEKS 프로토콜에서 3) 번에 해당하는 과정을 암호화 키를 알아내려는 자동차 키에 대해서 시도합니다. 즉, 어떤 Challenge 값을 자동차 키에게 보내고, 받은 응답을 레인보우 테이블에서 찾아봅니다. 그러면 후보가 되는 키 들이 나올 것이고(40비트 입력에 24비트 출력되는 알고리즘이기에 중복되는 출력이 있음), 다시 한번 다른 Challenge 값을 보내서 자동차 키로부터의 Response를 받아서 레인보우 테이블에서 찾아보면, 이제는 정확한 키를 알아챌 수 있습니다. 

 

이제 자동차 키에 대한 암호화 키를 알아냈기에, 실제 자동차와 통신을 하면서 해당 키로 DST40을 돌려서 Response 하는 모듈만 라즈베리 파이 같은 것으로 만들면 됩니다.

 

 

아래는 이와 같은 방법으로 Tesla Model S를 훔치는 것을 설명하는 웹 페이지와 시연 동영상입니다.

 

https://www.esat.kuleuven.be/cosic/news/fast-furious-and-insecure-passive-keyless-entry-and-start-in-modern-supercars/

 

Fast, Furious and Insecure: Passive Keyless Entry and Start in Modern Supercars | COSIC

High-end vehicles are often equipped with a Passive Keyless Entry and Start (PKES) system. These PKES systems allow to unlock and start the vehicle based on the physical proximity of a paired key fob; no user interaction is required. Researchers have alrea

www.esat.kuleuven.be

 

youtu.be/aVlYuPzmJoY


두 번째 방법은 Relay Attack을 이용하는 것입니다.

 

첫 번째 방법이, 해당 차종이 어떤 프로토콜과 알고리즘을 사용했는지 알아야 하고, 사전에 거대한 레인보우 테이블을 만들어야 하는데 반해, 이 방법은 그런 과정이 필요 없습니다.

 

 

1) 도둑 A는 차량이 보낸 ID 번호를 도둑 B에게 전송

2) 도둑 B는 원본 자동차 키가 있는 위치로 최대한 접근해서, 도둑A가 보낸 차량신호를 원본 자동차 키에게 전송

3) 도둑B는 원본 자동차 키로부터 받은 reply신호를 도둑 A에게 전송

4) 도둑 A는 reply신호를 차에게 보내고, 차로부터 Challenge 신호를 받아서 도둑 B에게 전송

5) 도둑 B는 받은 Challenge신호를 원본 자동차 키에게 전송하고 Response를 받아서 도둑 A에게 전송

6) 도둑 A는 Response를 차에 보내고, 자동차 문을 염

 

이처럼 Relay Attack은 PEKS 프로토콜을 쉽게 깰 수 있는데, PEKS 뿐만이 아니라 일반적인 무선 카 키에 대해서도 탈취가 가능합니다.

 

출처: https://cdn.comparitech.com/wp-content/uploads/2019/01/relay-car.jpg

1) 도둑 A가 차량에게 신호를 보냄(실제 자동차 키가 보내는 신호를 보냄. 이 신호는 쉽게 알아낼 수 있는 신호임)

2) 차량이 Challenge값을 도둑 A에게 보냄

3) 도둑 A는 이 Challenge값을 도둑 B에게 보냄 (도둑 B는 실제 자동차 키가 있는 곳에서 가까운 위치에 접근해 있음)

4) 도둑B는 Chalenge값을 실제 키에게 전송

5) 실제 키는 Challenge에 대한 Response를 생성해서 도둑B에게 전송함

6) 도둑B는 이 Response값을 도둑 A에게 전송하고, 도둑 A는 이 신호를 차에게 보내서 인증 성공해서 차량 탈취

 

아래 동영상은 이러한 Relay Attack을 이용해서 실제 차량을 훔치는 장면이 녹화된 동영상입니다.

 

youtu.be/8pffcngJJq0

 

 


스마트 폰을 이용한 Car Key

스마트 폰을 이용한 Car Key들이 등장했습니다. 

 

삼성 폰을 이용한 BMW Car Key가 거의 최초인 것 같고(확인되지 않음), 이 후 여러 자동차 벤더들이 스마트 폰을 이용한 Car Key를 선보였습니다.

 

[동영상] 삼성 폰 이용한 BMW Car Key

https://www.youtube.com/watch?v=9AD7dPts4n0

 

[동영상] 현대자동차의 스마트폰 이용한 카 키

https://www.youtube.com/watch?v=WjZTGsf_ozw

 

Car Key로 스마트 폰을 이용할 때 가장 큰 이슈는 2가지일 겁니다. 하나는 어떤 통신을 사용할 것인가. 두 번째는 암호화 키를 어디에 보관할 것인가.

 

가능한 통신 방법은 NFC, BLE, UWB

스마트폰 내에 암호화 키를 보관할 방법은 1)일반 메모리 영역  2)별도의 보안 칩(eSE 혹은 USIM)

 

결국 통신은 UWB, 암호화 키는 eSE에 보관하는 것이 맞는 방향성인 듯하고, CCC (Car Connectivity Consortium)에서도 이러한 방향으로 진행중이네요. 

 

[iPhone으로 BMW Car Key 사용할 수 있고, 2021년에는 UWB 통신을 이용한 Car Key도 선보일것이라는 동영상]

https://www.youtube.com/watch?v=oDiPvLzzNm4

 

 

 

이전 글: UWB(Ultra Wide Band, 초광대역) 기술 분석(1/2)

반응형