자동차보안, ‘선보안 후연결’ 원칙
‘Automotive World 2017’ 행사가 1월 18일부터 01월 20일까지 3일 동안 일본 동경 빅사이트 전시장에서 개최되었다. ‘자동차 전자기술 박람회(CAR-ELE JAPAN)’, ‘전기&하이브리드 자동차 박람회(EV JAPAN)’, ‘자동차 경량화기술 박람회(Weight Reduction Expo)’, ‘자동차 IT 박람회(Connected Car JAPAN)’, ‘자동차 가공기술 박람회 (Processing Technology Expo)’ 등 5개 분야 박람회가 병렬로 진행되고 총 961개 기업이 참가한 대규모 행사다.
자동차란 참 흥미로운 사물이다. 자동차를 단지 인공적 동력으로 회전하는 바퀴를 노면과 마찰시켜 그 반작용으로 이동하는 교통수단의 뜻으로만 이해하는 사람은 아마 없을 것이다. 자동차는 “나의 자존심!” 사람들은 자동차라는 사물에 대해 사물 자체의 의미를 한참 초월하는 아주 복잡한 심리를 투영한다. 그래서 자동차는 그 시대를 대표하는 온갖 기술들이 최우선적으로 적용되는 당대 기술의 바로미터다. 그러니 자동차 박람회는 흥미진진할 수밖에 없는 행사다.
먼저 눈을 사로잡은 주제는 ‘소재’였다. 특히 경량화 연구개발 수준이 이제 꽤 원숙해져, 예전엔 어째 좀 장난감처럼 느껴지던 폴리카보네이트(Polycarbonate), 탄소섬유강화수지(CFRP, Carbon Fiber Reinforced Plastic) 등 플라스틱 소재가 더 이상 장난감처럼 보이지 않았다. 마그네슘 그리고 티타늄 합금, 세라믹 등 이미 익숙하다 여겼던 소재들도 이전과 달리 조금은 새로운 느낌이었다. 차체뿐 아니라 각종 부품의 경량화 시도 또한 눈부시게 발전했으니, 기술자들의 그간 연구개발 노력에 심심한 응원의 박수를 보낸다.
그렇지만 가장 큰 변화는 역시나 IT다. 자주 보고 듣긴 한다만 어째 좀 멀게 느껴지던 ‘커넥티드카(Connected Car)’란 말도 이젠 전혀 낯설지 않다. 이는 어쩌면 당연한 일인 건, 지금 생산되는 자동차 한 대에 들어가는 프로그래밍 코드는 우리가 흔히 사용하는 PC 운영체제(OS, Operating System)의 코드보다 훨씬 더 많고 점점 더 많아지고 있다. 이미 자동차는 완전한 IT 디바이스다. ‘커넥티드카’란 그 IT 디바이스들이 서로 그리고 인프라와 연결되는 일일 뿐이다. 미래의 일이 아니라 현재의 일이다.
그밖에 특이했던 점은, 여느 행사에 비해 참관객들의 질문이 놀라울 정도로 활발했다. 이 또한 자동차라는 대상에 대한 높은 관심 때문이겠다. 자동차보안 관련 부스 안에 있는데, 굳이 행사장 복도에 나서서 “이것 좀 봐 주세요!” 떠들지 않아도 자발적으로 찾아와 이것저것 질문하는 고객들이 아주 많았다. 이에, 그중 가장 중요하다고 생각되는 질문 3개와 그에 대한 답변을 통해서 자동차보안, 나아가 IoT보안의 가장 근본적이고 원천적인 의문을 해소해 보자.
Q1: 자동차보안은 기존 IT보안과 어떻게 다른가?
자동차보안이 ‘IoT(Internet of Things)보안’이기 때문에 다르다. 자동차보안은 IoT보안의 맥락으로 봐야 한다. 그런데 IoT도 결국 IT의 일부이므로, 사물인터넷 IoT의 반대 개념으로서 기존의 인터넷 사용을 사람인터넷 ‘IoM(Internet of Man)’으로 부르기로 하자. IoT와 IoM의 결정적 차이는 너무나 당연하게도, 사람이 있냐 없냐의 차이다. 사람이 컴퓨터를 사용할 때 그 동작의 바탕은 사용자의 자율성이다. 컴퓨터는 아주 일반적인 계산능력을 제공하고, 사람은 컴퓨터의 계산능력을 활용해 자기가 원하는 작업을 자유롭게 수행한다. 따라서 컴퓨터는 ‘일반 목적(General Purpose)’을 달성하기 위한 도구다. 그래서 컴퓨터를 만들 때도 일반적으로, 즉 기능의 제한을 최소한으로 두고 설계한다.
사람이 인터넷을 사용할 때도 마찬가지다. 정말 많은 사람들이 각자 다른 목적으로 인터넷을 사용하기 때문에 인터넷 서비스 또한 일반적인 목적에 부합하는 방식으로 만들어진다. 인터넷 서비스 사업자들은 더 많이 그리고 더 넓게 확장되는 ‘연결성(Connectivity)’를 최우선 가치로 여긴다. 인터넷 서비스가 성공하려면 무조건 많은 사람이 필요하니까. 그래서 IoM 환경 또한 일반적인 컴퓨터와 마찬가지로 일반적으로, 즉 기능의 제한을 최소한으로 두고 설계한다.
하지만 무조건 연결성 확장만 한다고 해서 사업이 성공하는 것은 아니다. 어떤 방법을 통해서든 결국 돈을 벌어야 한다. 그러한 사업적 필요에 따라 사용자 인증 등의 일반성 제한이 발생한다. 어떤 사용자가 누구인지 알아야 하고 진짜로 그 사람이 맞는지도 확인해야 하고 돈 거래가 가능하려면 전자상거래 시스템도 갖춰야 한다. 이때 각종 보안조치의 필요가 생겨난다. 이렇듯 일단 연결부터 하고 연결성을 높인 이후에 보안조치를 적용하는 IoM은 ‘선연결 후보안(Connect First then Secure)’ 방식이라 할 수 있다.
그런데, 사람이 아닌 사물이 인터넷에 연결되는 IoT 시대가 도래했다. IoT와 IoM의 가장 큰 차이는 인터넷에 접속하는 사물은 사람이 아니라는 점이다. 사람은 앞서 이야기한 ‘일반 목적’에 따라 행동하지만, 사물은 ‘특수 목적(Special Purpose)’을 달성하기 위한 도구일 뿐이다. 어떤 사물이 어떤 일을 한다. 만약 그 일이 아닌 다른 일을 막 해버리면 위험하므로 애초에 주어진 특수한 목적에만 충실하게 동작하게끔 설계해야 한다. 잘못 동작하는 사물은 사람의 안전을 위협할 수도 있고, 요즘 한창 연구가 활발한 사물 간의 전자상거래까지 실용화된다면 사물의 주인 입장에서는 아주 황당한 일이 일어날 수도 있다. “내 차가 엔진오일은 안 사고 세탁기 세제를 10박스나 샀어!” IoT를 IoM 보듯 본다면 실제로 일어날 수 있는 일이다.
마찬가지 이유로 사물이 인터넷에 연결될 때도 특수 목적에만 충실해야만 한다. 그렇기 때문에 사물이 인터넷에 연결될 때는 연결 전에 이미 완전한 보안성을 갖춰야 한다. 이는 IoT의 ‘선보안 후연결(Secure First, then Connect)’ 원칙이다. 사소해 보이지만 아주 중요한 차이가 있다. IoM의 ‘선연결 후보안(Connect First then Secure)’은 선택적인 방식이지만 IoT의 ‘선보안 후연결(Secure First, then Connect)’은 무조건적 원칙이다. 일관되게 지켜야 하는 기본적인 규칙이란 뜻이다. 다시 말해 IoM은 ‘선보안 후연결’ 방식으로 설계할 수 있고 권장할 만한 일이지만, IoT는 ‘선연결 후보안’ 방식으로 설계해선 안 된다.
이는 사물의 연결과 그 연결을 통해 수집한 정보를 바탕으로 한 서비스를 제공하는 일이 IoT의 애초 목적이기 때문이기도 하다. 사물을 굳이 인터넷에 연결하는 까닭이 뭘까. 냉장고 문에 붙은 스크린으로 웹서핑 하려고? 아니다. 사물을 인터넷에 연결하고 이를 통해 수집한 데이터를 서버가 받아서 분석하고, 그러한 데이터 마이닝 작업을 통해 정리한 유의미한 정보를 서비스로 제공하기 위함이다. 이때 사물이 수집해서 서버로 보내는 데이터가 오염되어 있으면 안 된다. 잘못된 정보에 기반한 서비스는 위험할 수 있기 때문이다. 특히 자동차라면 문제는 아주 심각해진다. 그렇기 때문에라도 사물은 인터넷 연결에 앞서 완전한 보안성을 우선 갖춰야 하는 것이다.
Q2: IoT보안에 시그니처 방식이 아닌 로지컬 방식을 적용해야 하는 이유는?
위 ‘Q1’에서 살펴본 사물의 ‘특수 목적(Special Purpose)’ 때문이다. 기존 IoM 환경의 컴퓨터와 인터넷은 그 사용 목적이 일반적이기 때문에 ‘범용(Versatile)’으로 설계된다. 도구를 사용해 어떤 일을 할 지는 사람이 결정하는 일이기 때문에, 사용자가 어떤 일도 할 수 있게끔 아주 일반적으로 만든다. 따라서 충분한 일반성 그리고 충분한 연결성을 확보하기 위해서 다소 위험하더라도 개방된 구조를 택할 수밖에 없다. 모든 전산 시스템은 ‘어플리케이션/시스템/네트워크’라는 3개의 계층으로 구성되는데, 충분한 일반성과 연결성을 확보하기 위해서는 그 계층들은 서로 분리되어야 하고, 따라서 보안조치 또한 3개 계층에 각각 따로 적용해야 했다. 그래서 보안의 분야를 분류할 때 ‘네트워크 보안’, ‘시스템 보안’, ‘어플리케이션 보안’ 식으로 따로 나누는 것이다.
하지만 IoT보안은 애초에 ‘특수 목적’에만 충실하게끔 만들어진 도구의 보안이다. 즉, 위 3개 계층을 따로 설계해 조합해서 각각 따로 보안조치를 취하는 기존 방식이 아니라, 3개 계층 전체를 하나의 단일한 도구로서 설계해야 한다. 다시 말해, 네트워크/시스템/어플리케이션 보안을 서로 다른 분야로 나눠서 보는 게 아니라, 그 모두를 합한 ‘하나의 IoT 디바이스’에 대한 총체적 보안으로 이해해야 하는 것이다. 그렇게 하지 않으면 그건 보안을 따지기에 앞서 애초에 도구 자체로서도 이미 위험하다. 거듭 강조하는 바, IoT 디바이스는 애초에 주어진 특수한 목적에만 충실하게끔 설계되어야만 한다.
IoM보안과 IoT보안, 서로 다른 두 개념의 차이를 제대로 이해하지 못하면 IoT 환경에 대해 IoM보안 방법론을 그대로 적용하는 실수를 저지르게 된다. 흔한 상황을 통해 어떤 실수인지 살펴보자. 자동차회사가 인터넷에 연결되는 자동차를 만든다. 보안 위험성 검사를 보안회사에 의뢰한다. 보안회사는 기존 IoM보안 방법론에 따라서 각종 취약점 테스트를 하고 보고서를 제출하고, 자동차회사는 그 보고서에 따라 취약점을 막는 보안 패치를 추가하고, 새로운 위협이 나타날 때까지는 ‘잠정적으로 안전하다’고 판단한다. 이것이 현재 일반적으로 행하는 자동차보안조치다. 하지만 이는 애초에 잘못된 것이다. 자동차, 나아가 IoT보안은 애초에 기존의 취약점이란 개념이 아예 없어야만 한다.
앞서 말했듯 인터넷에 연결되는 사물은 애초에 특수한 목적에만 충실하게끔 설계되어야 한다. 그렇기 때문에, 로지컬 방식이 시그니처 방식보다 우수하거나 효율적이기 때문에 더 적합한 게 아니라, 애초에 IoT보안은 로지컬 방식이어야만 하는 것이다. 그리고 그 ‘로직(Logic)’은 해당 ‘IoT 디바이스’에 대한 총체적 보안의 일부로서 동작해야 한다.
Q3: 자동차 자체 보안이 더 중요한가, 교통 인프라 보안이 더 중요한가?
이 또한 ‘Q1’에서 살펴본 ‘선보안 후연결(Secure First, then Connect)’ 원칙에 따른 IoT보안의 특수성 문제다. IoM 환경에서는 사용자가 인터넷을 사용하다가 자기 신원의 인증이 필요한 때 사용자 인증 등 보안조치를 취한다. 이는 곧 개인의 사생활 보호 조치를 신원이 노출되는 부분에 대하여 선택적 그리고 집중적으로 할 수 있다는 뜻이다. 하지만 IoT 환경에서는 IoT 환경만의 특수한 보안조치가 추가로 필요하다. ‘선보안 후연결’ 원칙에 따라 사물이 인터넷에 접속하기 전에 완전한 인증 절차가 일어나기 때문에 그 사물을 사용하는 사용자의 사생활이 항상 노출되는 위험이 있다. 자동차를 예로 들면 차량의 위치, 따라서 운전자의 위치가 늘 노출되는 것이다. 게다가 자동차는 단독으로 존재하는 것이 아니라 공공시설인 교통 인프라에 연결되기 때문에 PKI(Public Key Infrastructure) 등 공적 인증 절차를 거쳐야 하므로 사생활 문제는 훨씬 더 심각해진다.
그렇기 때문에 자동차 자체 보안과 교통 인프라 보안은 둘 중에 무엇이 더 중요한 지를 따질 일이 아니라, 자동차와 인프라는 개념 상 동등한 중요도를 가진 채 함께 총체적인 보안성을 달성하게끔 안전하게 설계되어야 한다. 자동차보안의 특수성을 예로 들어 살펴보자. 자동차는 인터넷에 연결된 사물로서 고유한 ID를 가진다. ‘선보안 후연결’ 원칙에 따라 인터넷에 접속할 때는 이미 인증이 완료된 상태다. 즉, 자동차는 주행 중에 그 위치가 항상 노출된다. 운전자가 임의로 인터넷 연결을 끊어버린다면? 아니, 교통 인프라는 자동차의 인터넷 연결을 전제로 교통상황을 통제하고 관리하므로 그럴 수 없다. 그런데 이렇게 자동차 그리고 운전자의 위치정보, 즉 사생활이 마구 노출되어도 될까? 바로 이 지점에서 기존 IoM과 다른 IoT만의 보안 방법의 필요가 추가로 발생한다. 위 사생활 노출 문제 해결을 위해, 자동차는 복수의 ID를 가지고 있고 주행 중에 이를 정기적으로 교체하고, 그러한 인위적 익명성으로써 교통 인프라는 그 자동차를 특정한 자동차가 아니라 하나의 교통의 단위로서만 인식하게 된다. 그런 방법을 통해서 IoT의 ‘선보안 후연결’ 상태에서도 익명성을 추가로 부여해 줌으로써 사생활을 보호할 수 있다.
이렇듯 근미래 교통 환경에서는 자동차 자체 보안과 교통 인프라 보안이 서로 완전한 상호작용을 이루어야 하기 때문에 어느 한쪽이 더 중요하다고 말할 수 없는 것이다. 그리고 자동차 자체의 KMS(Key Management System) 그리고 교통 인프라의 PKI의 유기적 결합 등 자동차보안 기술의 연구개발은 자동차와 인프라 모두에 대해 총체적 그리고 종합적으로 진행되어야 한다. 이는 자동차보안이 서로 다른 각종 보안도구들의 단순한 나열이나 조합이 아니라 완전한 ‘토탈 솔루션’ 그리고 ‘풀 패키지’으로 개발되어야 하는 까닭이기도 하다.
선보안 후연결(Secure First, then Connect) 원칙
Q1~Q3 내용을 정리하면 모두 IoT보안의 ‘선보안 후연결 (Secure First, then Connect)’ 원칙으로 귀결된다. 이는 IoM 시대에서 IoT 시대로 이동하는 과정에서 발생하는 보안 패러다임의 변화다. 복잡한 이야기가 아니다. 간단하게,
사물은 인터넷에 연결하기 전에 보안 먼저 해야 한다.