작년 5월 미국 캘리포니아 주 오클랜드의 보안학회에서 발표된 논문 한 편이 블로거들 간에 적지 않은 논쟁을 불러일으켰다. 이 논문에서 저자들은 자동차의 표준 진단 컴퓨터에 접속해 브레이크의 동작을 멈추거나 엔진과 도어록을 마음대로 조정할 수 있었다고 주장했다. 하지만 당시 뜨거웠던 관심에 비해 지금은 거의 무반응에 가깝다. 해킹된 차량 모델이 2009년도 GM 세비 임팔라(Chevy Impala)인 것과 그 명성(?) 때문인지, 아니면 문제 확산을 원치 않은 논문 저자들이 애쓴 덕분인지는 알 수 없다. 당장은 이 문제가 수면 밑에 가라앉아 있지만 자동차가 진화할수록 해킹 위험에 더 많이 노출될 수 있다는 경고는 언제든 현실이 될 수 있다.
이 문제에 관한 한 독일은 여타 국가에 비해 한 발 앞서가고 있다. 독일 자동차 업계는 차내 통신 네트워크에서 인터넷 프로토콜(IP)을 네트워크 및 애플리케이션 계층의 보안 문제를 해결해 줄 하나의 옵션으로 주목하고 있다.
하나의 옵션 “IP”
오늘날 자동차에 사용되는 네트워크 기술이 점점 다양해지면서 전기/전자(E/E) 아키텍처는 복잡해지고 비용도 크게 상승하고 있다. 독일의 자동차 전자 혁신 단체인 EIENOVA(www.eenova.de)는 이 문제를 해결하기 위해 SEIS(Safety in Embedded IP-based Systems)라는 연구 프로젝트를 시작했다. SEIS는 차량 내부의 IP 기반 통신은 물론 차량 외부와의 통신을 위한 일관된 보안 솔루션을 개발하는데 목적이 있다.
최근 출시되는 신형 자동차는 약 70개 이상의 ECU가 CAN, LIN, FlexRay, MOST 등 최대 다섯 종류의 네트워킹 기술로 상호 연결돼 있다. 각각의 네트워크는 게이트웨이를 통해 서로 연결된다. 또한 차량 외부에는 다양한 종류의 통신 기술들이 존재한다. 대부분의 경우 이들 프로토콜은 직접 호환되지 않으므로 추가적인 통신 표준이 필요하다. SEIS는 이러한 장해물을 제거하기 위해 차량 내 도메인 간 네트워크 통신 기술로서 IP를 도입했다.
IP와 같은 일관된 통신 표준은 차량의 내부 연결에 따른 복잡성을 줄여주어 지속적으로 운용 안전성을 높여줄 수 있다. SEIS 프로젝트는 이러한 안전성뿐만 아니라, 권한이 없는 접근과 변조를 방지하는 보안성에 특히 관심을 기울이고 있다. 자동차가 주변 환경에 통합되면 될수록 외부로부터 더 많은 공격 루트가 열리게 되므로 당연히 보안상의 요구사항도 더 엄격해질 수밖에 없기 때문이다.
EIENOVA가 진행 중인 SEIS 프로젝트는 독일 연방정부의 하이테크 전략 및 자금지원 프로그램인 IKT 2020의 일환으로 독일 연방교육연구부(Federal Ministry of Education and Research, BMBF)가 후원한다. 이 프로젝트는 2009년 7월 1일부터 2012년 6월 3일까지 3년간 총 1,800만 유로의 예산이 투입될 예정이다.
프로젝트에는 아우디 AG, BMW AG, 다임러 AG, 폭스바겐 AG 등 독일 자동차 제조업체뿐만 아니라, 콘티넨탈 오토모티브와 로버트 보쉬, 일렉트로비트 오토모티브, 알카텔-루슨트 도이칠란트 등 부품업체, 칩 업체인 인피니언 테크놀로지스가 참여하고 있다. 또한 독일 주요 대학과 프라운호퍼 연구소 등이 참여한다. 전체 프로젝트 관리는 뭔헨에 있는 BMW 폴스청 운트 테크닉(Forschung und Technik GmbH) 사에서 맡고 있다.
이 협동 프로젝트는 6개의 서브프로젝트(subproject, SP)로 나뉘어져 있다. 첫 번째 서브프로젝트(SP 1)인 자동차 특유의 요구사항 분석은 이미 완료됐다. 현재 이 통신 시스템 요구사항에 근거해 여러 서브프로젝트에서는 서로 다른 계층에 가능성 있는 솔루션을 연구하고 있다. 그 중 서브프로젝트 3(SP 3)는 차내 통신용 시스템 소프트웨어와 관련이 있다. 즉, 여러 가지 유용한 미들웨어 솔루션에 대해 이들의 차량 용도로서 적용 가능성 측면에서 연구가 진행되고 있다. 최종적으로 서브프로젝트 6(SP 6)에서는 결과물을 시제품 형태로 구현하게 된다.
보안 미들웨어
차량용 통신 시스템에서는 일반적으로 애플리케이션 계층에서, 그리고 네트워크 아키텍처와 같은 다른 수단을 통해 보안 문제를 해결한다. 애플리케이션 계층의 보안 솔루션은 각각의 애플리케이션마다 개별적인 보안 솔루션을 채택할 수 있는 이점이 있지만, 반면에 각각의 애플리케이션을 보안 라이브러리와 결합해 사용해야 한다. 그 결과 실제로 시스템 전체에 걸쳐 많은 다양한 종류의 보안 번들이 필요해진다. 이에 대해 SEIS 프로젝트에서는 전체 보안 특성 그룹을 통일하기 위해 기본 미들웨어 계층의 서비스로서 보안성을 제공함으로써 유지 보수성 및 암호 민첩성을 높일 수 있도록 하고 있다.
기본 자동차 요구사항
프로젝트 SEIS는 적어도 미들웨어에 원격 절차 호출(Remote Procedure Calls, RPCs), 통지(notifications), 서비스 검색(service discovery)을 위한 메커니즘 및 통신을 보안할 선택적인 수단을 지원하는 것이 목표다.
비기능적인 요구사항에 대해 SEIS는 필요한 하드웨어 전력과 전자제어 장치(ECU)의 개수 측면에서의 확장성을 도전 과제로 제시하고 있다. 자동차에는 처리 능력이 각기 다른 CPU가 내장된 다양한 종류의 ECU가 탑재돼 있다. 경우에 따라서는 최신 32비트 ECU가 소형 16비트 또는 심지어 8비트 센서 소자와 통신해야 한다. 그러므로 차량용 미들웨어는 강력한 장치들에 대한 전체 기능 명세를 제공해야 한다. 뿐만 아니라 상호 운용성이 있는 기능 서브셋을 제공해야 하는데, 이것은 소형 센서 소자가 요구하는 통신을 지원한다. ECU 개수 측면에서의 확장성도 도전 과제다. ECU 개수는 두세 개에서 프리미엄 차량의 경우 70개까지 다양하다. 확장성의 또 다른 과제는 미들웨어가 E/E 측면에서 에너지 효율성을 다루는 중요한 기능이기 때문에, 서브네트워크 운용을 지원해야 한다. 이것은 차량의 안전한 운용에 영향을 주지 않고 동적으로 통신 네트워크의 일부를 종료할 수 있어야 한다.
보안 통신 미들웨어
차량용 보안 미들웨어의 모든 측면은 애플리케이션 관점에서 가장 잘 확인할 수 있다. 한 가지 의문은 보안 파라미터를 어떻게, 그리고 언제 설정하느냐 하는 것이다.
유스케이스(use-case)에 의한 분석은 순수한 차량 통신과, ECU와 가전(CE) 기기 사이의 잠재적으로 보안이 보장되지 않는 통신을 구별한다. SEIS 프로젝트는 차량 보안 요구사항과 가능성 있는 IP 관련 위협, 차내 통신을 위해 실제 통상적이고 필요한 요구사항에 초점을 맞추고 있다. 또한 이 연구에서는 개별 메시지의 주파수와 통신 파트너 간 다른 관련 의존성 등 통신의 동적 거동(behavior)을 명확히 하고 있다. 보호 목표의 기준은 ITU-T의 권고안 X.805에서 정의하고 있는 보안 서비스(security dimensions)에 두고 전문가 토론을 거쳐 차량 보안 요구에 대한 다음과 같은 의견을 도출했다.
이러한 요구사항을 만족하기 위해서는 적절한 보안 메커니즘을 확인해야 한다. SEIS의 목표 중 하나는 입증된 기능성으로부터 이점을 얻기 위해 표준에 어긋남이 없이 기존의 표준 프로토콜을 사용하는 것이다. 물론 적용 가능성은 자동차 환경에서 입증돼야 한다. 다음은 이러한 표준 프로토콜에 대한 SEIS의 예비 결과를 정리한 것이다.
보안 프로토콜
IP 기반 환경에서는 시스템 보안을 보장하기 위한 몇 가지 가능성이 있다. 이러한 시스템에서 한 가지 보안 솔루션은 IPsec이다. IPsec은 OSI 계층의 3계층에서 동작하며 데이터 스트림의 각 패킷을 인증하고 암호화해 안전한 IP 통신을 실현한다. 이 시스템은 ECU 소프트웨어 업데이트나 진단 등 종단 간 안전한 통신을 실현하기 위해 IPsec를 사용할 수 있다. 미들웨어는 일반적으로 OSI 계층의 4계층에서 7계층까지 동작하기 때문에, IPsec는 기본 네트워크가 종단 간 통신을 위해 IPsec를 사용하도록 강제함으로써 미들웨어에 의해 사용될 수 있다. 이것은 IPsec의 새로운 연결 래칭 기능에 의해 구현될 수 있다.
미들웨어 보안을 위해 사용할 수 있는 또 다른 솔루션은 전송 계층 보안(Transport Layer Security, TLS) 프로토콜이다. TLS는 가장 일반적으로 TCP 통신을 보호하기 위해 애플리케이션 라이브러리로서 사용된다. TLS를 미들웨어와 함께 사용할 경우에는 애플리케이션이 아닌 미들웨어의 일부가 되어야 한다. 이 아키텍처에서는 미들웨어가 통신 요청에 관련된 보안 요구사항을 지원한다. 이것은 두 종단점(endpoint) 사이에 이 미들웨어 통신 보호를 사용하는 모든 애플리케이션을 허용한다. 현재 TLS는 웹 브라우징, 전자 메일, 인터넷 팩스 및 인스턴트 메시징에 사용된다. 이러한 모든 기능은 오늘날 자동차에서 제공되는 통신 시나리오의 일부 사례에 불과하다. 또한 TLS는 백엔드와 자동차 정비소 또는 Car2x 통신에서도 사용할 수 있다.
애플리케이션 계층에는 가능성이 있는 몇 가지 프로토콜이 있다. 미들웨어는 이들을 사용하여 보안 서비스를 제공한다. SEIS 프로젝트에서는 몇 가지 후보 프로토콜을 검토하고 있다.
시큐어 쉘(Secure Shell, SSH) 프로토콜은 연결된 두 장치 간에 보안 채널을 사용해 데이터를 교환할 수 있다. 이 프로토콜은 자동차 정비소에서 ECU 업데이트가 성공적으로 실행되었는지 점검하기 위해 진단용으로 사용할 수 있다. 또한 지도 데이터나 메이커의 고유한 데이터 등 파일 디렉토리에 접속하거나 업데이트 할 때 사용할 수 있다. 또 다른 프로토콜은 참여자(participant) 간에 음성 트래픽의 안전한 전송을 위해 인터넷 전화에서 사용하는 실시간 보안 전송 프로토콜(Secure Real-time Transport Protocol, SRTP)이다. 이 프로토콜은 휴대용 기기에서 자동차로 오디오를 스트리밍하기 위해 또는 인터넷으로 연결된 자동차와 참여자 간에 음성 트래픽을 안전하게 전송하기 위해 사용할 수 있다. 현재 SSH와 SRTP 이외에도 여러 가지 프로토콜이 검토되고 있다.
SEIS 서브프로젝트
EIENOVA는 SP2에서 SP6까지의 솔루션에 대해 예상되는 도전 과제와 가능한 접근방법을 공개했다. 그 내용을 간단히 소개한다.
<저작권자 © AEM. 무단전재 및 재배포, AI학습 이용 금지>