정부가 2022년부터 한국형 위성항법시스템(KPS) 개발을 시작해 2035년 운용할 계획이다.
위성 항법 시스템은 크게 20~50개 위성을 쏘아 올려 세계 어디에서나 쓸 수 있는 범지구형 위성 항법 시스템(GNSS)과 특정 지역만 커버하기 위해서 정지 위성 또는 특정 지역을 순회하는 위성을 소수만 쏘아 올려 구성한 지역 한정 위성 항법 시스템 (RNSS)으로 나눌 수 있다.
범지구형 위성 항법 시스템엔 각각 미국·유럽·러시아·중국의 위성을 이용하는 위성항법시스템(GPS), 갈릴레오, 글로나스, 베이더우 시스템이 있다. KPS는 지역 한정 위성 항법 시스템으로 분류될 수 있으며, 인도(IRNSS)와 일본(QZSS)이 각각 운용을 하고 있다.
위성 항법은 위성 항법 수신기가 위성에서 전파로 송신된 시간 신호를 이용해 위치(경도, 위도, 고도·높이)를 높은 정밀도(몇 ㎝에서 몇 m까지)로 결정하는 기술을 의미한다. 이 시스템은 위치 제공, 항법 또는 수신기 위치를 추적하는 데 사용될 수 있다. 이 신호는 또 수신기가 현재의 시간을 고정밀로 계산해 시간 동기화가 가능하다.
자세히 살펴보면, 각각의 위성은 원자시계를 이용해 정확한 현재시간을 계산하고 공전 주기를 고려해 궤도 정보를 얻을 수 있고, 이를 이용해 자신의 위치를 계산할 수 있다.
위성은 시간과 위치 정보를 지상으로 전송하고 위성 항법 수신기는 4개 이상의 위성으로부터 이 정보를 수신하면 수신기 위치와 시간을 정확하게 계산할 수 있다. 수학적으로 단순화해 생각해 보면 본인 위치와 시간을 미지수로 두고 수신한 위성 위치와 시간을 이용하면 4개 이상의 2차 연립 방정식을 푸는 것과 유사한 문제라고 생각할 수 있다.
위성 항법 수신기는 자동차나 드론의 위치 계산, 변전소 또는 이동통신 기지국의 시간 동기화와 같이 우리 생활에 매우 밀접하게 사용되고 있다. 이들 응용을 고려했을 때 위치 오차와 시간 오차는 다양한 안전 문제를 야기할 수 있다. 따라서 위성 항법 시스템에 대한 보안 문제는 시스템 도입 이전에 설계 단계부터 충분히 고려해야 할 문제다.
위성 항법 시스템에 대한 보안 문제는 2008년 미국 텍사스 주립대의 토드 험프레이스(Todd Humphreys) 교수에 의해 처음 제기됐고, 이후에도 많은 연구자가 연구를 진행했다. 2011년 이란이 미국의 드론을 납치한 사건에서 위성 항법 시스템에 대한 공격을 통해 이뤄졌다는 주장이 제기됐었다. 북한은 2010년 최초로 GPS 전파 교란을 일으켰고 이로 인해 일부 이동통신 기지국에 영향을 받았고, 이후 2011년, 2012년, 2016년까지 GPS 교란 공격이 이어졌다.
위성 항법 공격은 크게 재밍 공격과 스푸핑 공격으로 나눌 수 있다. 재밍 공격은 모든 무선 통신에 가능한 공격으로 '외부에서 악의적인 의도로 신호나 노이즈를 생성해 원래의 통신 신호를 차단하거나 왜곡하는 것'을 의미한다. 〈본지 2023년 9월 1일자 25면 참조〉
즉, 위성에서 오는 항법 신호의 주파수에 노이즈를 전송하면 수신기는 위성의 신호를 복구할 수 없게 되고, 따라서 위치와 시간을 계산할 수 없게 된다. 일반적으로 위성의 신호를 수신하지 못하게 돼 위치와 시간을 계산할 수 없게 되면 수신기엔 '로스 오브 록(Loss of Lock)'이라는 메세지가 발생하고 사용자는 이 현상을 쉽게 탐지할 수 있다.
수신기가 위치를 찾지 못할 시 해결책은 별의 위치를 통한 추정, 지도와 나침반을 이용해 위치와 경로를 계획, 지형과 지표를 기억하고 카메라를 통해 위치를 추정하는 방법이나 관성 계측 장치를 통해 상대적으로 이동한 거리와 방향을 예측하는 방법 등이 존재한다.
재밍 공격은 물리적 공격이어서 시스템적으로 원천적인 방어가 불가능하므로 수신기 혹은 응용 측면에서 재밍을 탐지하고 위치 추적이나 경로 계획에 대한 대체 수단 개발이 필요하다.
스푸핑 공격은 위성 위치와 시간을 미리 계산해 특정 타깃으로 위치를 착각하게 하는 신호를 위조해 만들어 내는 공격과 기존 신호를 재전송(record-and-replay)해 과거의 위치로 돌아가게 하는 재전송 공격이 있다.
미국 GPS의 경우 민간 사용자를 위한 'C/A(Coarse/Acquisition) 코드'와 군사적 사용자를 위한 '정밀(Precision·P(Y)) 코드'를 사용한다. 군사적 사용자를 위해선 대칭키로 암호화한 P(Y) 코드를 사용하고 있으나 민간 사용자를 위한 C/A 코드는 보안이 전혀 고려돼 있지 않다.
따라서 민간 사용자의 경우 위조 공격과 재전송 공격이 모두 가능하다. 반면, 군사용 P(Y) 코드의 경우 재전송 공격을 통해 과거의 위치로 돌아가게 할 수 있다. 다만 모든 위성의 위치를 알기 때문에(궤도 정보는 공개이므로) 각각의 위성 신호를 다르게 지연시켜 전송할 경우 위치 조작 또한 가능하다는 게 이론적으로 알려져 있다.
또, P(Y) 코드가 군사적 목적으로 매우 제한적으로 제공이 되고 있기 때문에 P(Y) 코드에 대해 임의로 위치 혹은 시간 조작을 하는 공격이 가능한 것은 입증돼 있지 않다. C/A 코드의 경우엔 위성 항법 시뮬레이터 혹은 소프트웨어 기반 라디오(Software-defined Radio)에 오픈 소스만 이용하더라도 스푸핑 공격이 가능하다.
불행히도 이러한 재밍 공격과 스푸핑 공격은 위성 항법 구현 기술에 의존하지 않아 어떤 항법 기술을 사용하더라도 공격이 가능하다. 군용 GPS의 경우 명확히 공개된 실험 결과는 없으나 충분히 스푸핑 공격에 대한 가능성은 충분하다.
따라서 KPS 구현에 있어서도 이런 공격을 고려해야 한다. 물론 위성 항법 시스템 정의에 따르면 KPS 조차도 이런 공격을 피할 수 있다고 생각하지는 않는다.
하지만 몇 가지 고려 사항은 여전히 존재한다.
먼저 군사적 사용을 위한 P(Y) 코드 암호화는 무조건적으로 구현해야 한다. 공격이 불가능한 것은 아니지만 여전히 공격 난이도가 높고 다른 나라의 항법 시스템을 사용하지 못할 것을 고려하면 필요성은 충분하다. 다만 대칭키 암호를 사용하기 때문에 키 관리의 난이도가 높아 키가 유출될 경우 전체 시스템의 안전성에 문제를 일으킬 수 있다. 국가 보안 장비 수준으로 개발하고 운영해야 할 것으로 생각한다.
그럼 민간의 경우는 어떠한가?
현재 다양한 범지구형 위성 항법 시스템을 동시에 사용할 수 있는 수신기를 개발하고 있다. 이 경우 미국 GPS 하나에 의존하는 것보다는 스푸핑 공격의 난이도는 확실히 증가한다. 따라서 이러한 수신기들의 입력에 한국형 위성 항법 시스템의 입력이 동시에 사용되는 기술을 개발할 경우 공격 난이도가 증가한다. 단일 시스템을 사용하는 것보다 다양한 시스템의 입력을 이용해 가용성을 높여주는 수신기를 개발하는 것이 장기적으로 필요하다고 판단한다.
우주 시대에 한국형 위성 시스템은 중요한 역할을 할 수 있다. 하지만, 보안에 대한 고려없이 개발할 경우 더 큰 문제점이 발생할 수 있다는 것을 잊지 않아야 한다.
김용대 KAIST 과학치안연구센터장 (전기및전자공학부·정보보호대학원 교수) yongdaek@kaist.ac.kr
〈필자〉30여년간 보안을 연구했다. 국가보안기술연구소 전신인 한국전자통신연구원(ETRI) 부호기술부를 거쳐 미국 미네소타대 교수를 지냈다. 2012년 귀국해 한국과학기술원(KAIST) 전자공학부 및 정보보호대학원에서 보안 연구를 이어 가고 있다. 주요 연구 분야는 자율주행차, 드론, 이동통신, 블록체인 등 미래에 각광 받을 신기술의 보안 취약점이다. 김 교수는 세계 보안 최우수 학회 가운데 하나인 ACM CCS를 한국에 유치하는 등 한국과 세계 각국의 보안 연구를 연결하기 위해 노력하고 있다.