[오토저널] 자동차 사이버보안의 키관리


자동차와 다양한 외부 통신
자동차에서 사이버보안이 필요한 이유를 제도적 특면과 기술적 측면에서 찾아볼 수 있다. 제도적 이유는 UN Regulation 155와 같은 규제가 사이버보안 관리를 의무로 명시하고 있어, 자동차 제조사는 사이버보안 관리체계를 갖추고 자동차의 연구개발과 생산 등의 과정에서 사이버보안 관리체계를 적용하여야 한다. 자동차에서 사이버보안이 필요한 기술적 이유는, 자동차의 외부 통신 기능이 늘어나면서 공격표면(Attack Surface)가 늘어나 해킹 등의 사이버 공격에 취약할 수 있어 사이버 공격으로부터 운전자, 탑승자 및 보행자를 보호하기 위해서이다.

기존의 자동차가 갖는 외부 통신은 스마트폰과 자동차의 블루투스 연결, 텔레매틱스(Telematics) 서비스를 위한 인터넷 연결 정도였다. 현재는, 자동차와 충전기 간
의 통신인 V2G(Vehicle-to-Grid), 자동차와 자동차 간 통신(V2V: Vehicle-to-Vehicle)과 자동차와 도로를 비롯한 교통 인프라 간 연결(V2I: Vehicle-to-Infra) 등으로 확대되고 있다. 자동차와 스마트폰 간의 통신도 NFC(Near Field Communication), BLE(Bluetooth Low Energy)와 UWB(Untra-Wide Band) 통신을 사용하는CCC(Car Connectivity Consortium)의 Digital Key 서비스 등으로 확대되어 다양한 통신을 활용하고 있다.



자동차 외부 통신을 위한 보안
자동차 외부 통신은 자동차와 자동차 외부의 개체들과 연결하는 통신이다. 자동차 외부의 개체로는 다른 자동차, 도로설비, 충전기, 진단기기, 스마트폰, 클라우드 등 다양하게 존재하고 있으며 그 종류가 지속적으로 증가하고 있는 추세이다. 자동차 외부 통신을 안전하게 하는 것은 자동차의 사이버보안을 확보함에 있어서 가장 기본이 되는 출발점이다. 자동차 자체가 보안 측면에서 안전하더라도 자동차가 정보를 주고 받는 외부 개체가 안전하지 않거나 신뢰할 수 없다면 자동차의 보안 수준을 심각하게 위협할 수 있기 때문이다.​

 

​자동차의 외부 통신 보안은 두 가지 계층으로 구분하여 적용되어야 한다. 첫째는 네트워크 계층의 사이버보안 기술이 필요하고, 다른 하나는 서비스 계층의 사이버보안 기술이 필요하다.

 


 

네트워크 계층의 사이버보안은 차량과 외부 개체 간의 통신에 다른 개체나 해커가 참여하지 못하도록 한다. 여기에서는 기밀성(Confidentiality)를 주요하게 다루며, 암호화 기술을 적용하는 것이 보통이다. 서비스 계층에서는 네트워크 계층과는 달리 차량에 대한 인증이 더욱 중요하다. 차량이 클라우드의 서비스 시스템과 연결되는 경우, 차량의 네트워크 계층 보안은 차량과 클라우드와 연결하는 게이트웨이(Gateway) 시스템 간에 이루어진다. 차량에게 실제 서비스를 제공하는 주체는 클라우드의 게이트웨이와 별개의 응용시스템이다. 차량과 응용 시스템 간에는 별도의 보안이 필요하기 때문에, 차량의 서비스 계층 보안이 별도로 적용되어야 한다. 이를 이해하기 위해, 컴퓨터로 금융사 홈페이지에 접속하여 인터넷뱅킹을 사용하는 상황을 가정해 보자. 컴퓨터의 웹브라우저는 http 대신 https로 접속하여 TLS(Transport

Layer Security)나 SSL(Secure Socket Layer)이 적용된 네트워크 통신 보안채널을 구성한다. 나의 컴퓨터와 금융사 게이트웨이 간에 https로 네트워크 보안이 확보된 이후, 사용자는 은행이 제공하는 사용자 인증 기술로 사용자 인증을 수행해야 한다. 여기서 사용되는 사용자 인증 기술은 서비스 계층의 보안에 해당한다.

 

자동차 보안과 PKI(공개키 기반구조)

자동차 외부 통신의 보안을 확보하기 위해, 네트워크 계층에서 TLS를 주로 적용한다. TLS는, TLS 제공을 위한 X.509 규격의 공개키 인증서를 활용하여 운영된다. 서비스 계층의 보안은 서비스의 종류와 형식 등에 따라 다양한 보안 기술을 채용하고 있다. V2V와 V2I를 위해서 IEEE 1609.2 표준 기술이 사용된다. 전기차 충전서비스는 ISO 15118-2 혹은 ISO 15118-20 표준 기술로 보호된다. 차량과 스마트폰 간의 직접 통신에 기반한 디지털키는 CCC Digital Key의 보안 규격을 따른다. 이들 기술의 공통점은 공개키 인증서를 활용한다는 점이다. 이 외에도, 제조사가 자동차의 소프트웨어나 펌웨어를 업데이트하는 OTA(Over The Air) Update도 보안 기술 적

용을 위해 공개키 인증서를 사용하고 있다. 이들 서비스들은 공개키 인증서를 사용하고 있다는 공통점이 있으나, 공개키 인증서 간의 호환성이 없기 때문에 특정 서비스의 공개키 인증서가 다른 서비스에서 사용될 수는 없다.

 


 

자동차가 공개키 인증서를 사용하기 위해서, 공개키 기반구조(PKI: Public Key Infrastructure)가 필수적이다. PKI는 자동차가 사용할 공개키 인증서를 발급하고, 문제가 발생한 인증서를 폐지하는 등의 인증서 관리를 통해 인증(authentication)을 위한 보안 인프라의 역할을 제공한다. 자동차에는 다양한 외부 통신을 활용하는 다양한 서비스가 적용되고, 서비스 별로 서로 다른 공개키 인증서를 사용하기 때문에 서로 다른 PKI가 자동차와 연계되어야 한다.

 

기존의 IT 환경과 마찬가지로 자동차 환경에서도 PKI를 안전하게 운영하는 것은 중요한 문제이다. 보안 관점에서 PKI는 TTP(Trusted Third Party)에 해당하여, PKI를 활용하는 모든 주체가 PKI 시스템과 PKI 제공자를 신뢰할 수 있어야 한다.

 

자동차의 키관리

자동차 외부 통신의 보안에서 인증의 기반을 제공하는 PKI 시스템과 PKI 제공자를 신뢰할 수 있다고 하더라도, PKI를 이용하는 자동차가 갖춰야 하는 보안 기술이 있다. 공개키 인증서를 사용할 자동차는 개인키(Private Key)를 안전하게 저장하고, 개인키를 사용하는 암호학적 연산을 신뢰할 수 있는 안전한 환경에서 수행해야 한다. 자동차의 개인키에 대응하는 공개키(Public Key)가 생성되면, 공개키에 대응하는 공개키 인증서를 PKI 시스템이 발급한다. 공개키 인증서를 발급하기 위한 PKI 시스템의 구성요소로 RA(Registration Authority, 등록기관)과 CA(Certificate Authority, 인증기관)이 필요하지만, 자동차에서 가장 중요한 것은 개인키를 관리하는 것이다.

 

자동차의 개인키를 자동차에게 부여하는 것은 여러 가지 방법이 가능하다.

 

•자동차 외부에서 개인키와 공개키를 생성하여 자동차에 주입

•자동차 내부에서 개인키와 공개키를 생성

•자동차 외부에서 초기 개인키와 공개키를 생성하여 자동차에 주입하고, 서비스 이용을 위한 개인키와 공개키를 자동차 내부에서 생성

 

위의 3가지 방법 외에도 다양한 방법이 존재할 수 있다.

 


 

자동차의 Bootstrapping

자동차는 공장에서 생산되는 공산품의 일종이다. 공산품은 공장에서 대량 생산되기 때문에 동일한 공정의 동일한 절차에 의해서 생산될 수 밖에 없고, 생산된 자동차는 동일한 하드웨어와 동일한 소프트웨어를 가지게 된다. 보안 측면에서 큰 문제는, 차량이 서비스를 위해서 다른 차량과 구분되는 서로 다른 암호학적 키를 가져야 한다는 점이다. 같은 공장에서 만들어진 같은 모델의 제품이라고 하더라도 서로 다른 일련 번호를 가져야 하는 것과 동일한 문제이다.

 

자동차 혹은 자동차 전장부품의 하드웨어 생산이 먼저 이루어지면, 소프트웨어 탑재가 진행된다. 컴퓨터의 하드웨어가 만들어진 후에 운영체계와 응용 프로그램들이 설치되는 것과 동일하다. 자동차 전장부품에 소프트웨어까지 탑재되면 생산의 주요 과정이 거의 완료되지만, 외부 통신과 연결하여 서비스를 사용할 수는 없다. 서비스를 사용하기 위해서 환경 설정, 변수 설정, 보안 정책 설정이 필요하고, 전장부품이 사용할 암호학적 키(개인키와 공개키 등)의 설정도 필요하다. 이러한 과정을 부트스트래핑(bootstrapping)이라고 한다. 부트스트랩(bootstrap)의 원래 뜻은 목이 긴 부츠(boots)에 발을 넣어 착용하기 어려워 부츠의 목 끝 부분에 손잡이(strap)를 부착하여 착용이 쉽도록 하는 것에서 기인한다. 보안에서 부트스트래핑인 각각의 기기들이 보안 기능을 활성화하기 위해 필요한 초기 설정들을 통칭해서 일컫는다.

 

자동차의 외부 통신에서 필요한 보안을 정의하는 IEEE

1609.2, ISO 15118-2 등의 표준 기술이 있으나, 이들 표준은 부트스트래핑 과정을 담지 않는다. 부트스트래핑 기술은 보안 기술을 동작시키기 위해서 가장 중요한 부분이지만, 보안기술을 채용하는 각 기업들이 “알아서, 안전하게, 문제없이, 잘” 해야 하는 부분이다.

키관리를 위한 제조사와 부품사의 협력

자동차나 전장부품에 보안을 적용하기 위해 부트스트래핑을 구축하더라도 해결해야 하는 문제가 있다. 전기차의 충전서비스를 생각해보자. 전기차 전장부품들

중에서 충전서비스를 담당하는 것은 EVCC(Electric Vehicle Communication Controller)이고, 충전서비스를 위한 보안 부트스트래핑이 적용되어야 하는 대상도 EVCC이다. 하지만, 자동차의 충전서비스가 운영되기 위해서는 전장부품이 아니라 자동차 전체 수준에서 서비스 관리가 필요하다. 충전서비스를 위한 차량의 차대번호나 소유자 정보 등을 EVCC가 제공할 수는 없기 때문이다. 보안 부트스트래핑은 EVCC를 대상으로 이루어져야 하지만, 서비스의 부트스트래핑은 차량 단위에서 이루어져야 하기 때문에, EVCC의 부품사와 자동차 제조사가 부품의 보안 부트스트래핑과 차량의 서비스 부트스트래핑을 긴밀하게 연동하여야 한다.

 

전기차와 EVCC를 예시로 설명하였지만, 자동차에는 전기차 충전서비스만 탑재되는 것이 아니다. 다양한 외부통신 서비스가 적용되고, 차량 내에서 서비스 구동을 담당하는 제어기가 서로 다르고, 자동차 제조사가 연동해야 하는 제어기 부품사도 서로 다르다. 자동차 제조사는 서비스 별로 부트스트래핑 체계를 운영하여야 하고, 서비스 별로 부품사와 연동도 필요하다. 자동차의 외부 통신은 운전자나 탑승자의 편의 기능과 직결되며, 제공되는 편의 범위는 더욱 늘어날 전망이다. 이런 이유로, 자동차 제조사가 운영해야 하는 서비스 부트스트래핑은 더욱 복잡해질 수 밖에 없다.

 

자동차의 보안 확보는 키관리와 부트스트래핑부터

자동차의 사이버보안 중에서 가장 취약하기 쉬운 지점이 외부 통신이다. 자동차가 외부 통신이 가능한데 보안이 적용되어 있지 않다면, 시건 장치가 없는 문을 만들어 놓고 도둑이 침입하지 않기를 기대하는 것과 같다.

 

외부 통신 뿐만 아니라, 자동차에 사이버보안 기술을 적용하여 보안 위협에 대응하기 위해서 암호학적 키(Key)를 자동차 또는 전장부품에 설치할 수 밖에 없다. 이제는 필수라고 여겨지는 OTA Update도 자동차와 업데이트 서버 간의 안전한 연결을 위해 암호학적 키가 필요하다. 암호학적 키는 부트스트래핑을 통해 설치되거나 활성화되기 때문에 자동차의 보안 확보가 부트스트래핑부터 시작된다고 해도 지나침이 없다.

 

앞서 언급한 것처럼 부트스트래핑은 부품사가 해야하는 역할이 있고, 제조사가 해야하는 역할이 있어 부품사와 제조사의 긴밀한 협력이 꼭 필요한다. 더욱이, 자동차에 탑재되는 외부 통신 기능이 늘어나면 부트스트래핑을 “알아서, 안전하게, 문제없이, 잘” 구축하는 것이 어려운 문제가 된다.

 

국내를 비롯하여 해외의 제조사들은 자동차의 사이버보안 수준을 높이기 위해 키관리 체계를 구축하고 있다. 키관리는 암호학적 키의 생성, 발급, 갱신, 폐지, 삭제 등에 이르는 키의 생애주기(Lifecycle)를 관리하는 것이다. 그 중에서도 가장 어려운 부분 중의 하나가 키의 생성과 발급이다. 키의 생성과 발급이 제대로 이루어지지 않으면, 키를 사용하는 자동차의 사이버보안이 제대로 이루어지지 않는다. 이런이유로, 키의 초기 생성과 발급을 제공하는 부트스트래핑이 무엇보다 중요하다. 이 글을 통해, 자동차 사이버보안에 관심을 가지고 있는 많은 독자들이 키관리와 부트스트래핑의 중요성에 대해서 인지할 수 있는 계기가 되길 기대한다.​​​​

 

글 / 심상규 (아우토크립트)

출처 / 오토저널 2025년 3월호 

Copyright © Global Auto News