자동차보안, ‘선보안 후연결’ 단일 디바이스 보안

자동차 한 대에 들어가는 코드는 일반적인 OS(Operating System)에 든 코드보다 훨씬 더 많습니다. 자동차는 지금도 이미 완전한 IT 디바이스입니다. ‘커넥티드카(Connected Car)’란 그 디바이스들이 서로 그리고 인프라와 연결되는 일일 뿐, 미래의 일이 아니라 현재의 일입니다.

자동차보안은 ‘IoT(Internet of Things) 보안’의 맥락으로 봐야 합니다. IoT 보안은 기존 IT 보안과는 그 성질이 판이합니다. 그런데 IoT 또한 결국 IT의 일부이므로, 사물인터넷 IoT의 반대 개념으로서 기존의 인터넷 사용을 사람인터넷 ‘IoM(Internet of Man)’으로 부르도록 하겠습니다.

결론부터 말하자면, IoT 보안은 ‘선보안 후연결 (Secure First, then Connect)’ 원칙에 따른 보안입니다. 이는 IoM 시대에서 IoT 시대로 이동하는 과정에서 발생하는 보안 패러다임의 변화입니다. 간단히 말해, 사물은 인터넷에 연결하기 전에 보안 먼저 해야 합니다. 물론 자동차도 그러합니다.

IoM : 선연결 후보안  방식

IoT와 IoM의 결정적 차이는 사람이 있냐 없냐의 차이입니다. IoM 동작의 바탕은 사용자의 자율성입니다. 컴퓨터는 아주 일반적인 계산능력만을 제공하고, 사용자는 그 계산능력을 이용해 자기가 원하는 작업을 자유롭게 수행합니다. 이렇듯 컴퓨터는 ‘일반 목적(General Purpose)‘을 달성하기 위한 도구이므로 설계 또한 일반 적으로, 즉 기능의 제한을 최소한으로 두고 설계합니다. 사람이 인터넷을 사용할 때도 마찬가지입니다. 많은 사 람들이 각자 다른 목적으로 인터넷을 사용하기 때문에 인터넷 서비스 또한 일반적인 목적에 부합하는 방 식으로 만들어집니다. 인터넷 서비스 사업자들은 더 많이 그리고 더 넓게 확장되는 ‘연결성(Connectivity)‘을 최우선 가치로 여깁니다. 인터넷 서비스가 성공하려면 무조건 많은 사람이 필요하니까. 따라서 IoM 환경 또한 일반적인 컴퓨터와 마찬가지로 일반적으로, 즉 기능의 제한을 최소한으로 두고 설계합니다.

AutoCrypt01

하지만 무조건 연결성 확장만 한다고 해서 사업이 성공하는 것은 아닙니다. 어떤 방법을 통해서든 결국 돈을 벌어야 합니다. 그런 사업적 필요에 따라 사용자 인증 등의 일반성 제한이 발생합니다. 어떤 사용자가 누 구인지 알아야 하고 진짜로 그 사람이 맞는지 확인해야 하고 전자상거래 시스템도 갖춰야 하므로, 이때 각종 보안조치의 필요가 생겨납니다. 이렇듯 일단 연결부터 하고 연결성을 높인 이후에 보안조치를 적용하는 IoM은 ‘선연결 후보안(Connect First then Secure)’ 방식이라 할 수  있습니다.

IoT : 선보안 후연결  원칙

그런데, 사람이 아닌 사물이 인터넷에 연결되는 IoT 시대가 도래했습니다. IoT와 IoM의 가장 큰 차이는 인터넷에 접속하는 사물은 사람이 아니라는 점입니다. 사람은 앞서 이야기한 ‘일반 목적’에 따라 행동하지만, 사물은 ‘특수 목적(Special Purpose)‘을 달성하기 위한 도구일 뿐입니다. 어떤 사물이 어떤 일을 하고, 만약 그 일이 아닌 다른 일을 해버리게 되면 잘못 동작하는 사물이 사람의 안전을 위협할 수도 있기 때문에 위험합니다. 때문에 애초에 주어진 특수한 목적에만 충실하게 동작하게끔 설계해야 합니다. 마찬가지 이유로 사물을 인터넷에 연결할 때도 특수 목적에만 충실하게끔 설계해야 하고, 연결 전에 이미 완전한 보안성을 갖춰야 하는 것이 IoT의 ‘선보안 후연결(Secure First, then Connect)’ 원칙입니다.

사소해 보이지만 아주 중요한 차이가 있습니다. IoM의 ‘선연결 후보안(Connect First then Secure)’은 선택적인 방식이지만 IoT의 ‘선보안 후연결(Secure First, then Connect)’은 무조건적 원칙입니다. 일관되게 지켜야 하는 기본적인 규칙이란 뜻입니다. 다시 말해 IoM은 ‘선보안 후연결’ 방식으로 설계할 수 있고 또 권장할 만한 일이지만, IoT는 ‘선연결 후보안’ 방식으로 설계해선 안됩니다.

AutoCrypt02

이는 사물의 연결과 그 연결을 통해 수집한 정보를 바탕으로 한 서비스를 제공하는 일이 IoT의 애초 목적이기 때문이기도 합니다. 사물을 굳이 인터넷에 연결하는 까닭은 냉장고 문에 붙은 스크린으로 웹서핑을  하기 위해서가 아닙니다. 그런 건 IoT에 대한 일반인의 이해를 돕기 위한 광고 영상일 뿐, IoT의 목적은 사물을 인터넷에 연결하고 이를 통해 수집한 데이터를 분석하고 그러한 데이터 마이닝 작업을 통해 정리하여 보다 유의미해진 정보를 서비스 형태로 제공하기 위함입니다. 그러므로 사물이 수집해서 서버로 보내는 데이터가 오염되어 있으면 안됩니다. 잘못된 데이터에 기반한 서비스는 위험할 수 있기 때문입니다. 특히 자동차처럼 인간의 안전과 직결된 사물이라면 잘못된 정보에 따른 문제는 치명적으로 위험해집니다. 그렇기 때문에라도 사물은 인터넷 연결에 앞서 완전한 보안성을 우선 갖춰야 하는 것입니다.

IoT 디바이스의 설계 : 3개 계층 통합 단일 디바이스

IoM 환경의 컴퓨터와 인터넷은 그 사용 목적이 일반적이기 때문에 ‘범용(Wide Use)‘으로 설계됩니다. 도구를 사용해 어떤 일을 할 지는 사람이 결정하는 일이기 때문에, 사용자가 어떤 일도 할 수 있게끔 아주 일반적으로 만듭니다. 따라서 충분한 일반성 그리고 충분한 연결성을 확보하기 위해서 다소 위험하더라도 개방된 구조를 택할 수밖에 없습니다. 모든 전산 시스템은 ‘어플리케이션/시스템/네트워크’라는 3개의 계층으로 구성되는데, 충분한 일반성과 연결성을 확보하기  위해 그 계층들은 서로 분리되어야 하고, 따라서 보안조치 또한 3개 계층에 각각 따로 적용해야 했습니다. 그래서 보안의 분야를 분류할 때도 ‘네트워크 보안’, ‘시스템 보안’, ‘어플리케이션 보안’ 식으로 나누고 각각 따로 서로 다른 일로 취급했습니다.

AutoCrypt03

하지만 IoT 보안은 ‘특수 목적’에만 충실하게끔 만들어진 도구의 보안입니다.

즉, 위 3개 계층을 따로  설계해 조합해서 각각 따로 보안조치를 취하는 기존 방식이 아니라, 애초에 3개 계층 전체를 하나의 단일한 도구로서 설계해야 합니다. 다시 말해, 네트워크/시스템/어플리케이션 보안을 서로 다른 분야로 나눠서 보는 게 아니라, 그 모두를 합한 단일 IoT 디바이스에  대한 총체적 보안으로 이해해야 하는 것입니다. 그렇게 하지 않으면 그건 보안을 따지기에 앞서 애초에 도구 자체로서도 이미 위험합니다. 거듭 강조하는 바, IoT 디 바이스는 애초에 주어진 특수한 목적에만 충실하게끔 설계되어야만 합니다.

IoM 보안과 IoT 보안, 서로 다른 두 개념의 차이를 제대로 이해하지 못하면 IoT 환경에 대해 IoM 보안 방법론을 그대로 적용하는 실수를 저지르게 됩니다. 예를 들어 보자면, 자동차회사가 인터넷에 연결되는 자 동차를 만들고 보안 위험성 검사를 보안회사에 의뢰합니다. 보안회사는 기존 IoM 보안 방법론에 따라 각종 취약점 테스트를 하고 보고서를 제출하고, 자동차회사는 그 보고서에 따라 취약점을 막는 보안 패치를 추가합니다. 그리고 새로운 위협이 나타날 때까지는 ‘잠정적으로 안전하다’고 판단합니다. 이것이 현재 일반적으로 행하는 자동차보안 조치입니다. 하지만 이는 애초에 잘못된 일입니다. 자동차, 나아가 IoT 보안은 처음부터 기존의 취약점이란 개념이 아예 없어야  합니다.

인터넷에 연결되는 사물은 애초에 특수한 목적에만 충실하게끔 설계되어야 합니다. 그렇기 때문에 현장에서 자주 듣는 “자동차보안에서도 시그니처 방식보다 로지컬 방식이 유리한가?” 질문은 애초에 잘못된 질문인 것입니다. 로지컬 방식이 시그니처  방식보다 우수하거나 효율적이기 때문에 더 적합한 게 아니라, 애초에 IoT 보안은 로지컬 방식이어야 합니다. 그리고 그 ‘로직(Logic)’은 해당 ‘IoT 디바이스’에 대한 총체적 보안의 일부로서 동작해야 합니다.

자동차보안과 교통 인프라 보안의  통합

자동차 자체 보안과 교통 인프라 보안 통합의 필요, 이 또한 앞서 ‘선보안  후연결(Secure  First,  then Connect)’ 원칙에 따른 IoT 보안의 특수성입니다. IoM 환경에서는 사용자가 인터넷을 사용하다가 자기 신원의 인증이 필요한 때 사용자 인증 등의 보안조치를 취합니다. 이는 곧 개인의 사생활 보호 조치를 신원이 노출되는 부분에 대하여 선택적 그리고 집중적으로 할 수 있다는 뜻입니다.

하지만 IoT 환경에서는 IoT 환경만의 특수한 보안조치가 추가로 필요합니다. ‘선보안 후연결’ 원칙에 따라 사물이 인터넷에 접속하기 전에 완전한 인증 절차가 일어나기 때문에 그 사물을 사용하는 사용자의 사생활이 항상 노출되는 위험이 있습니다. 자동차를 예로 들면 차량의 위치, 따라서 운전자의 위치가 늘 노출되는 것입니다. 게다가 자동차는 단독으로 존재하는 것이 아니라 공공시설인 교통 인프라에 연결되기 때문에 PKI(Public Key Infrastructure) 등 공적 인증 절차를 거쳐야 하므로 사생활 문제는 훨씬 더 심각해집니다.

AutoCrypt04

그렇기 때문에 자동차 자체 보안과 교통 인프라 보안은 둘 중에 무엇이 더 중요한 지를 따질 일이 아니라, 자동차와 인프라는 개념 상 동등한 중요도를 가진 채 함께 총체적인 보안성을 달성하게끔 안전하게 설계되어야 합니다. 자동차보안의 특수성을 예로 들어 살펴보자. 자동차는 인터넷에 연결된 사물로서 고유한 ID를 가집니다. ‘선보안 후연결’ 원칙에 따라 인터넷에 접속할 때는 이미 인증이 완료된 상태입니다. 즉, 자동차는 주행 중에 그 위치가 항상 노출됩니다. 운전자가 임의로 인터넷 연결을 끊어버린다면? 아니, 교통 인 프라는 자동차의 인터넷 연결을 전제로 교통상황을 통제하고 관리하므로 그럴 수 없습니다. 그런데 이렇게 자 동차 그리고 운전자의 위치정보, 즉 사생활이 마구 노출되어도 될까요? 바로 이 지점에서 기존 IoM과 다른 IoT만의 보안 방법의 필요가 추가로 발생합니다. 위 사생활 노출 문제 해결을 위해, 자동차는 복수의 ID를 가지고 있고 주행 중에 이를 정기적으로 교체하고, 그러한 인위적 익명성으로써 교통 인프라는 그 자동차를 특정한 자동차가 아니라 하나의 교통의 단위로서만 인식하게 됩니다. 그런 방법을 통해서 IoT의 ‘선보안 후연결’ 상태에서도 익명성을 추가로 부여해 줌으로써 사생활을 보호할 수 있습니다.

자동차보안 토탈 솔루션

 근미래 교통 환경에서는 자동차 자체 보안과 교통 인프라 보안이 서로 완전한 상호작용을 이루기 때문에  어느 한쪽이 더 중요하다고 말할 수 없습니다. 따라서 자동차의 KMS(Key Management System) 그리고 인프라의 PKI의 유기적 결합 등 자동차보안 기술의 연구개발 또한 자동차와 인프라 모두에 대해 총체적 그리고 종합적으로 진행되어야 합니다. 이는 자동차보안 제품이 서로 다른 각종 보안도구들의 단순한 나열이나 조합이 아니라 일체로 완전한 ‘토탈 솔루션‘ 또는 ‘풀 패키지‘으로 개발되어야 하는 까닭이기도 합니다.

아래에서 자동차보안의 ‘토탈 솔루션’을 이루는 필수요소들와 각각의 선택 기준을 살펴봅시다. 이는 각 각의 독립적 개체가 아니라 하나의 전체를 이루는 요소로서 이해해야  합니다.