임베디드 시스템 위한 공개키 인프라스트럭처
눈에 보이지 않는 시스템에도 보안 필요
2014년 09월호 지면기사  / 글│스테픈 크레머(Steffen Kremer), 마티아스 쿠스터(Matthias Kuster) 보안 엔지니어 ESCRYPT GmbH (ETAS 자회사)



임베디드 시스템이 없다고 가정해 보자. 우리가 사용하는 세탁기, 텔레비전, 휴대폰 등의 전자기기와 기차, 항공기, 자동차 등의 복잡한 시스템은 기능을 전혀 발휘할 수 없을 것이다. 그런데 이러한 대부분의 임베디드 시스템은 하드웨어 면에서나 기능 면에서 사용자의 눈에 잘 띄지 않는다.

예를 들어, 자동차 운전자는 자동차 컴포넌트 간 통신을 담당하는 임베디드 시스템을 전혀 눈으로 볼 수 없다. 한편 하나의 통합된 시스템 내에서 임베디드 시스템은 제어 및 처리 기능 말고도 다양한 기능을 부여받게 된다. 임베디드 시스템에 이러한 다양한 기능을 부여하려는 제조업체는 원가 절감, 규격 경량화 및 에너지 소비 극소화에 관심을 갖게 된다. 

네트워크화 증가 추세

한 가지 아쉬운 점은 임베디드 시스템의 효율성을 향상시키는 과정에서 종종 보안은 뒷전으로 밀린다는 사실이다. IT 시스템의 네트워크와 복잡성 증대를 고려해 봐도 이러한 현상은 더욱 두드러진다. 그 결과 시스템의 취약성이 여기저기서 끊임없이 발견되고 있다. IT 보안은 임베디드 시스템과 비슷한 성격을 가지고 있다. 즉 보안이 잘 이뤄지고 있다면 사용자는 보안 시스템의 존재를 인지하지 못한다. 한편 IT 보안에서 가장 중요한 이슈는 시스템 네트워킹이다. 시스템 간 통신이 증가하고 있으며, 내부 네트워크 뿐 아니라 외부 인터넷을 이용한 통신이 빈번해지고 있다. 이러한 통신의 개방성으로 인해 침입 시도가 성공할 가능성이 매우 커진 상태이며, 많은 사람이 통신 경로 보호에 중점을 두게 됐다.

암호 키(cryptographic key)의 중요성

시스템 간 데이터 교환 과정을 보호해야 할 필요성이 커지면서 암호 키 및 그에 수반한 암호화가 IT 보안의 중요한 단계가 됐다. 다음의 애플리케이션 예시를 보면 자동차 산업에서 암호화의 중요성을 명확히 알 수 있다.

기능에 대한 엄격한 접근 통제는 모든 자동차 기능이 만족해야 하는 기본 규칙이다. 자동차에 장착된 특정 ECU만이 기능에 접근할 수 있어야 하며 인증된 서비스 업체만이 이러한 기능을 통제할 수 있어야 한다. 또 몇몇 기능의 접근 권한은 개별 자동차 사용자에게도 주어져야 한다. 이러한 기본 규칙을 준수하려면 접근 및 통신 권한을 특정 디지털 키를 소유한 자에게만 부여하는 암호화 과정이 필요하다. 암호 키가 외부에 알려지면 침입자가 신원을 도용해 자동차 기능에 접근하게 된다. 따라서 암호 키의 보호가 특히 중요하며, 암호 키 사용 영역이 최소한으로 유지돼야 한다.

예를 들어, 특정 제조사의 모든 자동차나 특정 모델군 전체에 적용되는 일반 키를 이용해 주행기록계 조작을 방지하려고 한다면 큰 오산이다. 이러한 경우 침입시도 세력이 많은 비용을 들여 해당 공개 키를 해킹하기만 하면 막대한 이득을 얻을 수 있을 것이다. 이들은 수많은 고객에게 주행기록계 조작 서비스를 제공하면서 초기 비용을 쉽게 회수할 수 있다. 그러나 100%의 철통 보안을 제공하는 단일한 시스템은 존재하지 않는다. 사실 보안 수준은 보안이 무너지기 전까지의 투입 시간과 기술에 의해 결정될 뿐이다. 앞의 예시와 반대로 침입시도 세력이 매번 조작을 시도할 때마다 새로운 보안 키를 입력해야 한다고 생각해 보자. 이러한 경우 침입시도 세력은 각각의 주행기록계 조작을 시도할 때마다 높은 비용을 들여 키를 해킹해야 하기 때문에 충분한 이득을 얻을 수 없게 된다.

키 관리

따라서 잠재적인 침입시도를 방지하려면 각각의 임베디드 시스템마다 개별 키가 적용돼야 한다. 그런데 수많은 키를 효과적으로 적용하면서도 이를 한 번에 효과적으로 관리하려면 중앙집중형 관리가 필요하다. 중앙집중형 키 관리는 키 오용 시도가 인식된 이후 키 잠김 기능을 용이하게 하는 데에도 도움이 될 것이다.

암호 키를 시스템 자체적으로 보관하는 것보다 중앙에서 집중적으로 관리하는 방법의 또 다른 이점은 먼 곳의 서버 시스템에서도 이 작업을 호스팅할 수 있다는 것이다. 이러한 시스템은 침입시도 세력이 물리적으로 쉽게 접근할 수 있는 임베디드 시스템보다 훨씬 효과적으로 보안을 확보할 수 있다.

적절한 보안을 확보하려면 기술적으로나 조직적으로 효과적인 조치가 필요하다. 그 중에서도 키 관리의 전 과정을 관장하는 작동 규칙을 정의 및 이행하고, 암호 키를 특별히 보호된 하드웨어에 저장하는 조치가 중요하다. 위계질서상 최상위층의 암호 키나 사용빈도가 매우 드문 암호 키도 오프라인, 즉 따로 보관된 스마트카드에 저장되면 침입시도를 대비한 추가적인 보호를 받을 수 있다.




키 유형

키는 크게 대칭적 키와 비대칭적 키로 나뉜다. 송신자와 수신자가 동일한 키를 사용한다면, 그 키는 대칭적 키이다. 반대의 경우가 비대칭적 키가 된다. 두 키 시스템 모두 데이터 암호화, 완전무결성 및 진위 확인과 관련한 옵션을 제공한다. 또한 비대칭적 암호 시스템은 부인방지 보호를 지원한다. 이 비대칭적 시스템은 공개키와 개인키 등 두 종류의 키에 기반을 한다. 즉 메시지의 진위를 확인하기 위해 서명이 필요한 경우 개인키가 필요하지만, 반면 이미 서명된 메시지를 받은 수신자라면 모두 공개키를 통해 서명을 검증할 수 있다.

PKI - 공개키의 인증

비대칭적 시스템에서는 기타 사용자의 공개키를 인증하기 위해 디지털 서명을 이용하는 신뢰할만한 중앙의 백엔드 서버를 사용할 수 있다. 디지털 서명은 사용자의 공개키와 신원(예: 시리얼 넘버)을 매치하는 인증서를 통해 생성된다. 이제 서명된 인증서를 받은 사용자는 공개키가 특정 당사자에 속해 있다는 점을 확인할 수 있다. 즉 각 사용자는 백엔드를 신뢰하기만 하면 되므로 백엔드의 공개키는 조작이 불가능하도록 각 사용자에게 안전하게 전송돼야 한다. 다층 구조를 포함할 수 있는 이러한 위계적 구조는 공개키 인프라스트럭처, 즉 PKI라고 알려져 있다.

임베디드 시스템의 PKI

임베디드 시스템의 제조는 대개 다양한 단계를 거쳐 자동화돼 있다. 따라서 키 및 인증서 관리는 임베디드 시스템 제조 과정에서부터 통합돼야 효율성을 극대화시킬 수 있다. 이 때 키 및 인증서 관리로 인한 비용을 절감하는 것이 핵심이다. 무엇보다도 신속하고 안전한 과정을 확보하기 위해서는 제조 중인 기기에 수동적인 상호작용 개입이 발생하지 않도록 해야 한다. 여기서 주목해야 할 점은 PKI 솔루션이 전자메일 암호나 SSL 인증을 위해 널리 쓰이고 있지만, 임베디드 시스템에 적용되기에는 기본적으로 적합하지 않다는 것이다. 근본적으로 기존의 PKI 솔루션은 신원을 확인하는 동안 공개키를 인증하기 위해 수동 상호작용을 필요로 한다. 이메일 암호화의 경우에는 이것이 큰 문제가 되지 않는다. 사용자가 사람이기 때문이다. 그러나 임베디드 시스템은 인증 요구를 자동 처리해야 하는 기계이기 때문에 이러한 점이 문제가 된다.

따라서 임베디드 시스템에 적용될 PKI 솔루션은 기존 솔루션보다 훨씬 복잡하고 요구사항이 많다. 임베디드 시스템이 노출된 리스크를 인식하고 적절한 대응책을 마련하는 것은 결국 업계의 몫이다. 바로 이러한 대목에서 공개키 인프라스트럭처가 적절한 솔루션을 제공하고 있다고 볼 수 있다. 

소프트웨어 업데이트 보안 확보

사물인터넷(IoT)은 점차 현실이 되고 있다. 기계와 차량에 네트워크화된 임베디드 시스템도 예외는 아니다. 현재 사물인터넷이 무궁무진한 가능성을 연 것은 사실이지만, 무단 사용 피해를 방지하기 위해서는 허가받지 않은 접근을 효과적으로 차단해야 한다. 무단 사용의 피해는 기업의 이미지 훼손, 산업 스파이 피해에서부터 인명 및 재산 손실에 이르기까지 광범위하다.

따라서 임베디드 소프트웨어가 장착된 시스템을 효과적으로 보호하려는 노력, 즉 임베디드 보안은 이제 더 이상 추가적인 경쟁력을 확보할 수 있는 요소가 아닌 필수사항이 됐다. 그런데 보안 업무에서는 전체적인 보안 체인을 함께 고려해야 한다. 보안 체인의 각 연결부분이 약하다면 전체 체인도 약할 수밖에 없다. 따라서 임베디드 보안을 위해서는 특정 애플리케이션뿐만 아니라 자원 제한적인 애플리케이션 운영 환경도 함께 고려한 맞춤형 솔루션이 필요하다. 이에 따라 ETAS의 자회사인 ESCRYPT는 컨설팅에서 시리즈 운영에 이르기까지 포괄적인 임베디드 보안 솔루션을 전문적으로 제공하고 있다.

ESCRYPT의 솔루션 중 점차 중요성이 커지고 있는 솔루션 부문은 바로 자동차 ECU 소프트웨어 업데이트 부문이다. 자동차 업계의 선도기업도 이미 Key Management Solution을 보안 시스템으로 사용하고 있다.

ESCRYPT의 토마스 볼링거(Thomas Wollinger) 박사는 “ESCRYPT 시스템을 통해 고객은 기존의 접근방식으로는 누릴 수 없었던 다양한 이점을 누릴 수 있다”며 “ESCRYPT 시스템은 중앙의 안전한 위치에서 모든 핵심 크립토그래피 키와 인증을 관리하기 때문에, 개발자는 우선 스마트카드를 통해 본인의 신원을 입증해야 최신 크립토그래피 서명을 통해 최신 소프트웨어 버전을 출시할 수 있다”고 말했다.

이에 따라 도로 위의 자동차 ECU는 크립토그래픽 키를 통해 해당 제조업체가 소프트웨어 업데이트를 실시하며, 무단 사용이나 허위 업데이트가 아님을 확인하게 된다. 볼링거 박사는 “ESCRYPT 시스템을 통해 고객은 간단한 방식으로 개발자 인증을 수정하거나 취소할 수 있다. 또한 인터넷 접속이 불가능한 테스트 주행 등의 경우, 오프라인 버전도 사용할 수 있다”고 덧붙였다.

ESCRYPT의 Key Management Solution은 고객이 직접 운영하거나 ESCRYPT가 관리 서비스(Managed Service)의 일환으로 운영될 수 있다. 또한 이 솔루션은 자동차 애플리케이션이나 소프트웨어 업데이트에 국한되지 않고 다양한 분야에 적용될 수 있다. 특히 사물인터넷 분야의 애플리케이션은 이 솔루션을 통해 한 차원 높은 보안 혜택을 입게 된다. 



AEM_Automotive Electronics Magazine


<저작권자(c)스마트앤컴퍼니. 무단전재-재배포금지>


  • 100자평 쓰기
  • 로그인


  • 세미나/교육/전시

TOP