차세대 마이크로컨트롤러의 보안 계층

2016년 05월호 지면기사  /  글│다닐로 가이타노 치안시토(Danilo Gaetano CIANCITTO) 시니어 엔지니어 STMicroelectronics

이 글은 보안을 강화하기 위해 취할 수 있는 모든 단계를 알아보고, 하드웨어 관점에서 실리콘 벤더들이 구현하는 모든 대응방법을 살펴본다. 이러한 대응방법은 여러 잠재적 공격을 방어하면서 공격 시도에 대한 증거를 남길 수 있는 멀티레이어 아키텍처를 기반으로 한다.

 

향상된 성 능 , 상대적으로 저렴한 가 격 , 마이크로 컨트롤러 추상화 계층(Microcontroller Abstraction Layers, MCAL)까지 갖춘 전자 디바이스로 개발 시 하드웨어 규격은 신경 쓰지 않고 소프트웨어에만 집중할 수 있어 자동차 제조사는 전기 기반 기능 전반에서의 마이크로컨트롤러 사용을 늘리는 추세다.

최근 자동차 신모델에 탑재되는 마이크로컨트롤러는 대략 70개 정도이지만, 인포테인먼트와 더불어 차량과 차량, 모바일기기, 인터넷 등 차량 주변의 전체 환경을 연결하는 V2X(Vehicle to X) 애플리케이션에서 기능적인 요구사항들이 새롭게 더해지면서 그 수치는 계속 늘어나고 있다. 이러한 상황에서 ‘공격 표면(attack surface)’이라는 치명적인 보안 문제가 대두됐는데, 불법침입과 인증되지 않은 조작에 대비해 애초에 견고하게 설계되지 않은 시스템은 문제가 될 수밖에 없다.

이 글에서는 보안을 강화하기 위해 취할 수 있는 모든 단계를 알아보고, 하드웨어 관점에서 실리콘 벤더들이 구현하는 모든 대응 방법을 살펴본다. 이러한 대응방법은 여러 잠재적 공격을 방어하면서 공격 시도에 대한 증거를 남길 수 있는 멀티레이어 아키텍처를 기반으로 한다.

 

보안 위협

자동차 에코시스템은 ABS, 에어백, 브레이크 제어, 스티어링 제어, 엔진 제어, 크루즈 컨트롤, 스톱앤고, 자율주차 시스템, 내비게이션 통합 시스템(GPS 및 갈릴레오) 등의 첨단 운전자 지원 시스템(ADAS)이 등장하면서 지속적으로 진화하고 있다. 이러한 ADAS 시스템은 상호 연결돼 더욱 복잡해지는 반면 조명제어, 에어 컨디셔닝, 윈도 와인더, 엔진 시동, 도어 개폐 등의 소소한 기능들까지 전자 디바이스로 대체되고 있다.

 

 

그림 1에서는 차량 내 각 기능들이 동일한 통신 버스를 사용해 데이터와 정보를 함께 교환하는 마이크로컨트롤러 네트워크에 의해 관리되는 것을 볼 수 있다. 이러한 통신 버스로 파워트레인, 섀시 및 안전(safety), 차체 전자 기능에는 CAN, 플렉스레이(FlexRay), LIN이 쓰이며 인포테인먼트에는 MOST와 이더넷이 사용된다. 이들 통신 버스는 최근의 신세대 마이크로컨트롤러 일부에 탑재된다.

자동차의 순수한 기계적 환경이 정교한 전자장치로 발전하면서 운전자와 탑승자를 위한 편의성과 액티브 · 패시브 세이프티(safety) 측면에서 부가가치를 창출하고 있다. 그러나 동시에 모든 ECU가 서로 연결되기 때문에 개인 정보와 데이터 신뢰성과 관련해 심각한 보안 문제가 나타나고 있다. 예를 들어 수십여년 전의 CAN은 보안 설계가 견고하지 않았다. 차량 내부에서 모든 CAN메시지는 방송 모드로 다른 모든 부품에 전송됐고 이 버스도 공인, 인증, 암호화 프로토콜을 전혀 지원하지 않았다.

현대적인 자동차는 CAN 버스로 메시지를 교환해 자동차 도어 개폐와 엔진 시동을 수행한다. 메시지는 차량 내의 ECU와 전자키 내부의 ECU 간에 교환된다. 만일 이 시스템에 문제가 생기면 도둑이 아무런 문제없이 손쉽게 차량을 훔칠 수 있다. 또 해커는 차량내의 GPS에 접근해 운전자가 자주 방문하는 장소를 감시하면서 운전자가 어디에 있으며 언제 자동차를 세워두는지 알아낼 수 있다.

뿐만 아니라 메일, SMS, 비디오 스트리밍, 영상 전화와 같은 인터넷 모바일 기능에 이용되는 블루투스, GPRS, UMTS 등의 무선통신 채널로 해커들의 ‘공격 표면’을 넓힐 수 있다. 이들은 언제라도 통신과 운전 시스템을 훼손하거나 악성 소프트웨어를 삽입해 원격제어를 통해 실시간 자동차 위치, 자주 이용하는 루트, 차량 안에서 이뤄지는 모든 대화와 같은 민감한 데이터를 빼내려고 한다.

‘오픈 시스템’은 그 말뜻처럼 지속적으로 다양한 방식의 공격에 더욱 노출된 상태이며, 차량 내부의 내장 및 외부 통신 네트워크도 끊임없이 발전해 현재의 보안 조치들로는 이러한 시스템을 모두 보호할 수 없다.

현재까지는 자동차의 내 · 외부 공격을 방어하기 위한 방법이 이론적인 제안 수준에 머물러 있지만, 해커가 운전자의 생명과 직결될 수 있는 운전 시스템(브레이크, ABS, 에어백, 내비게이션)을 컨트롤 할 수 있는 가능성은 우리의 예상보다 높다.
일부 기술 논문을 통해 이러한 공격 표면을 이용한 자동차 컨트롤의 가능성을 가설로만 볼 수 없다는 것을 확인할 수 있다.

예를 들어 워싱턴 대학과 샌디에이고 대학의 연구팀은 이 주제와 관련해 가장 유명하면서도 흥미로운 연구를 수행해 최신 자동차 보안에 대한 실험적 분석을 통해 ECU의 내부 취약성을 입증했다. 이들은 어떻게 운전자의 의지를 완전히 무시하고 자동차 안전의 핵심 기능을 전반적으로 비교적 손쉽게 통제할 수 있는지, 그리고 어떻게 충돌 후 모든 증거를 완벽하게 삭제해 공격의 흔적을 없앨 수 있는지를 밝혀냈다.

바로 이 일로 불과 수년 만에 EVITA(E-safety Vehicle Intrusion Protected Applications) 및 HIS(Hersteller Initiative Software)와 같은 컨소시엄이 생겨나 침입시도, 외부 조작 등을 방어할 수 있는 시스템의 설계 및 검증 가이드라인을 제시하게 됐다. 이들 그룹은 갈수록 정교해지는 암호화통신 프로토콜 기반의 소프트웨어 애플리케이션을 제안하는 동시에 불법 펌웨어 변경, 무허가 침입, 불법 남용을 피할 수 있도록 하드웨어 관점에서 보다 견고한 마이크로컨트롤러를 구현하는 매우 흥미로운 가이드라인을 제안하고 있다.

 

실리콘 벤더 참여

지금까지 소프트웨어 애플리케이션 관점에서 ‘공격 표면’에 관해 살펴보았다면 이는 가장 많이 사용되는 전송 버스 CAN의 내부적인 취약점에서 전반적인 이유를 찾아야 하며 이제 초첨을 하드웨어 아키텍처에 맞춰야 한다. 이와 더불어 어떻게 ECU를 ‘봉인’해 무단 설치나 악성 소프트웨어 업로딩, 트로이 목마, 가짜 업그레이드와 같은 모든 불법적인 조작으로부터 보호할 것인지, 아니면 적어도 불법적인 접근을 제한하고 모든 탬퍼링 시도의 삭제 가능성을 차단해 증거를 남길 수 있도록 가이드라인을 어떻게 모두 구현할 수 있을지에 초점을 맞출 필요가 있다.

이러한 이유로 한 실리콘 벤더와 가장 유명한 OEM 중 한 곳이 협력해 차량용 차세대 마이크로컨트롤러를 개발했다. 이 쿼드 코어 마이크로컨트롤러는 하드웨어 보안모듈(HSM, Hardware Security Module)이라고 하는 전용 보안 코어를 사용해 시스템 보안 구성, 보안 부트, 외부 접근 보호, 플래시 메모리 보호, 암호화 기능 및 EOL 보호(end of life protection)와 같은 안전 및 보안 기능을 제공한다.

그림 2는 ECU 내부에서 HSM 모듈이 메모리와 주변장치 접근을 위한 다른 코어에서 완벽하게 독립하기 위해 어떻게 임베디드되는지를 보여준다. HSM 모듈은 데이터와 코드에 모두 전용 플래시 섹터를 가지며, 허용되는 접근이 엄격히 유지된다.

 



시스템 보안 구성

시스템 보안 구성은 하드웨어 레벨에서 디바이스의 보안과 관련된 모든 민감한 데이터를 보호하는 첫 번째 단계다. 전원이 켜지기 전 리셋 단계에서 실행되는 모든 초기 구성을 제어하고 무단 침입과 무단 변경을 방지한다.

실리콘 벤더와 소프트웨어 개발자는 모두 DCF(Device Configuration Format)를 사용해 이러한 모든 초기 구성을 유지해 부트 단계에서 테스트 플래시 및 사용자 테스트 플래시 내부에서 DCF에 연결된 특정 메모리 위치, ECC 오류 및 패리티 오류를 검사할 수 있다. SSCM(System Status Configuration Module)은 ECC 오류가 없는지 확인하기 위해 모든 DCF를 읽는다. 리셋 단계와 각기 다른 단계에서 여러보안 기능들을 검사한다. 이렇게 파라미터 몇 개를 크로스 체크하는 컨트롤 방식을 이용해 여러 공격 방법으로 특정 메모리 위치를 수정하려 하거나 강제로 다른 부팅을 통해 새로운 악성 펌웨어를 로드하려는 시도를 차단하고 디바이스의 모든 초기화 단계에서 강력한 통제를 유지할 수 있다.

 



디바이스 수명 주기

하드웨어 아키텍처의 규칙은 해당 디바이스의 사전 정의된 기능적 상태에 기반을 둔다.
보안 설계자는 소프트웨어 개발 시 애플리케이션의 마지막 구현 단계에서 충분한 자유를 누릴 수 있도록 하는 보안 레벨 몇 단 을 제공하도록 노력을 기울여 왔다. 사실 이러한 소프트웨어 애플리케이션은 써드파티에 위임되는 경우가 많으며 이 경우 서로 다른 개발자가 요구하는 모든 요건을 만족시킬 수 있는 확장성(incremental)과 비가역성을 갖춘 보호 기능이 필요하다.

대부분의 보안 방식은 디바이스 수명주기(Device Life Cycle, DLC) 위치를 고려해 적용된다. 확장성과 비가역성의 5가지 구성이 가능하며 이들 구성은 실리콘 벤더 뿐만 아니라 소프트웨어 개발자도 프로그램을 해 모든 침입과 조작 공격에 대해 대응할 수 있도록 한다. 5가지 구성은 그림 4에서 볼 수 있다.

 

 

 

각 단계에서 보안 레벨은 비가역적인 방식으로 증가한다. 두 번째 단계인 ‘고객 납품(Customer Delivery)’ 수명주기에서는 보안 메커니즘이 크게 제한돼 소프트웨어 개발 단계에 상당한 수준의 자유가 허용된다.
완전한 보안 기능은 ‘현장 디바이스(Device in Field)’에서 적용된다.

일반적으로 ‘JDP 생산(JDP Production)’에서 ‘고객 납품’ 수명주기로 이행하는 단계에서 디바이스는 맨 처음 생산자에서부터 첫 번째 소프트웨어 개발자로 넘겨지고, 소프트웨어 개발자는 더 복잡한 시스템에 마이크로프로세서를 통합한다. 또 ‘고객 납품’에서 ‘OEM 생산(OEM Production)’ 단계로 이행하는 동안 디바이스 내부에서 실행하는 최종 소프트웨어 애플리케이션은 아마도 써드파티에 의해 개발될 가능성이 커지며, 이들은 자신의 설계 자산을 보호하는 데 관심이 크다. 일련의 컨트롤과 비가역적인 보호를 통해 자동차에 최종 애플리케이션이 내장되는 단계까지의 모든 참여자의 요구를 만족시킬 수 있어야 한다.

자동차에 설치되는 최종 애플리케이션까지 참여 주체들의 모든 요구를 만족시키기 위해 일련의 통제와 비가역적인 보호가 필요하다.
디바이스가 ‘현장 디바이스(Device in Field)’수명주기에 들어갈 때 말이다.

‘고장 분석(Failure Analysis)’은 디바이스 수명 주기의 마지막으로, 공장에 반환된 모든 제품을 테스트한다. 디바이스의 관련 기능 일부는 작동하지 않으며 EOL 보호를 위해 마이크로컨트롤러는 비작동 상태가 된다.

 

보안부트

부트단계에서는 디바이스의 4개 코어 중 2개만 리셋해 웨이크 업된다.
‘IOP’(Input Output Processor)와 HSM 코어다. DCF 레코드를 통해, BAF(Boot Assisted Flash)를 실행하는 IOP와 고객이 정의한 코드를 실행하는 HSM CPU 간 핸드셰이크 절차(handshake procedure)가 활성화된다. IOP 코어는 시스템 설정을 실행하는 반면, HSM 코어는 플래시 무결성 검사와 같은 몇 가지 검사를 수행하고 민감한 데이터가 수정되지 않았는지 또는 침입 시도가 탐지되지 않았는지 확인한다.

보안 부트는 통제를 유지하면서 사전 결정된 특정 경계 안에서 동시에 마이크로 부트 단계와 함께 탬퍼링 공격이나 ROM에서의 펌웨어 조작을 검사할 수 있다. 공격이나 조작이 발견되는 경우, 모든 암호화 기능을 작동 중지시켜 암호화 키 전부를 더 이상 사용할 수 없게 만든다.

POR(Power on Reset) 에서의 IOP 코어는 디바이스 수명주기 중 ‘고객납품’ 단계에 있을 때 BAF를 실행하도록 프로그래밍됐다. 이 BAF는 일부 메모리위치에 프로그래밍되는 임베디드 코드로 OTP(One Time Programmable)와 OPP(Over Program Protection)라는 두 개의 메커니즘이 보호한다. 이러한 방식으로 부트는 언제나 통제를 받는 방식으로 실행이 된다. 또한 직렬 부트로더를 이용해 RAM에 접근을 허용하거나 애플리케이션 코드의 맨 처음으로 직접 이동할 수 있다.

최종 애플리케이션 출시와 관련된 다른 소프트웨어 개발자들의 펌웨어 업로드를 허용하기 위해 BAF는 DLC의 ‘고객 납품’과‘OEM 생산’ 단계에서만 적용되고 ‘현장 디바이스’ 수명주기에서는 중지돼 애플리케이션 코드 실행만 제공한다. 이와 같이 하드웨어 시스템 리소스를 이용한 비허가 펌웨어 업그레이드를 시도하는 것은 완전히 차단된다. 그 후 DLC의 ‘현장 디바이스 단계에서는 OEM이 개발한 애플리케이션만 펌웨어 업그레이드를 수행할 수 있다.

 

외부 접근 보호

일부 통신 버스를 이용하는 고도의 상호 연결 기능을 고려해 자동차용 전자장치를 선택할 때, 외부 인터페이스로의 접근을 보호하고 통제해야하는데 필요한 조건은 보안 관련 설계 엔지니어들에게 가장 어려운 과제 중 하나다. 바로 이러한 이유로 디바이스에 대한 모든 접근을 가장 선택적으로 수행할 수 있도록 다중 보안 아키텍처가 개발됐다. 그림 5와 같이 JTAG용 보안 아키텍처는 다양한 메커니즘을 갖추고 있다.

이를 위해 ‘패스(PASS)’라는 모듈이 구현됐는데 디바이스 플래시 접근을 막는 네이티브 태스크 외로 패스워드 메커니즘을 적용해 JTAG 포트 접속을 제한한다. 이러한 방식으로 JTAG 포트는 시도/응답(challenge/response) 프로토콜을 사용 엄격한 통제가 돼 자유로운 접속이 차단되는 것이다.

PASS모듈과 더불어 센서십(Censorship)이 제공된다. 센서십은 디바이스를 검열하거나 JTAG 비밀번호가 인식되지 않을 때 플래시 메모리 읽기 보호 및 디버그 인터페이스 접근을 실행할 수 있게 한다.

즉, 검열 DCF는 디바이스를 검열을 받거나 받지 않게 할 수 있는데, ‘OEM 생산’ 및 그 다음 단계부터 디버거 접근이 허용되는 경우 JTAG 인터페이스에 대해 플래시 메모리를 더 이상 읽을 수 없도록 수정한다.

 

 

이 밖에 디바이스 접근은 이른바 ‘Production Disable DCF’도 중요하다. 이 방법은 ‘현장 디바이스’ DLC부터 모든 접근 통제에서 우선권을 갖고 디버그 포트 인터페이스를 중지시킬 수 있다. 일단 이러한 DCF가 설정되면 마이크로컨트롤러는 아무제한 없이 실행되지만 디버그 포트 인터페이스는 실행할 수 없게 된다. 소프트웨어 개발자는 이 포트를 재작동하도록 결정할 수 있지만 디바이스는 더 이상 현장에서 사용할 수 없다. 이 방식은 CAN 및 FlexRay 보오 레이트(baud rate)에 클록지터(clock jitter)를 추가함으로써 사실상 통신 버스를 더 이상 작동할 수 없게 만든다.

마이크로컨트롤러의 디버그 포트 인터페이스를 통하는 메모리 접근을 제한하기 위해서 두 가지 보안 레벨이 추가됐다. HSM은 2개의 레지스터(HSMDUR 및 MDUR)를 사용해 메인 코어에 대한 접근과 외부 툴에 의한 동일한 HSM 코어로의 접근을 통제한다.

이와 같이 불법 접근이 있을 경우 동일한 TAP 컨트롤러를 엄격히 제한할 수 있다. 다시 말해 만일 공격자가 디버그 포트를 넘어 무허가 접근을 할 수 있다고 해도 동시에 HSM와 해당 코드에 접근하는 것은 불가능하다.

 

플래시 보호 메커니즘

마이크로컨트롤러 플래시 메모리는 외부 공격에 대해 가장 취약한 부분인데 여기에는 펌웨어와 함께 패스워드 및 암호키와 같은 모든 보안 구성이 저장돼 있다. 디바이스의 플래시 메모리 보호를 위해 여러 가지 시스템과 모듈이 마이크로컨트롤러 내부에 구현돼 있다.

MPU(Memory Protection Units)와 함께 플래시 메모리 콘텐츠를 보호를 위한 모듈이 두 가지 더 설계 · 구현됐다. 바로 PASS 및 TDM 모듈이다. 이 외에 HSM, 센서십 및 봉인(Sealing)도 플래시 메모리 접근을 효과적으로 제한할 수 있다.

 

 

 

그림 6은 PASS와 TDM 모듈의 협업으로 모든 플래시 메모리 삭제와 프로그램 동작을 실행 불가능하게 하고, 전용 DCF(OTP_EN)는 ‘버진(virgin)' 디바이스의 경우에만 디바이스 프로그래밍을 가능하게 하는 것을 보여준다.

MPU가 그 외 접근 레벨(읽기/쓰기 또는 사용자/관리자 모드 등)을 통해 메모리 사용을 보호하고 관리한다면 메모리 콘텐츠 수정이 가능한 공격과 외부 조작을 방어할 수 없다. 그래서 PASS 모듈이 추가됐다. 이 모듈은 256비트 비밀번호 방식을 사용해 모든 플래시 메모리 동작(플래시 읽기, 플래시 프로그램, 플래시 삭제)을 통제할 수 있을 뿐 아니라 외부 디버그 접근 포트에 대해서도 검사를 할 수 있다. 비밀번호는 ‘OEM 생산’ DLC와 다음 단계부터 보호되고 더 이상 드러나지 않는다. 즉, 256비트 비밀번호가 플래시테스트 DCF에 쓰여지면 더 이상 접근할 수 없으며 PASS 모듈 입력 레지스터를 통해서만 이 메모리 섹션을 수정할 수 있다.

TDM(Tampering Detection Module)은 사용자가 보호 중인 메모리 섹션의 일부를 삭제해야 하는 경우 디지털 펌(digital firm)을 남겨야 하는 일종의 전자 다이어리를 생성하기 때문에 데이터 조작 시도에 매우 효율적인 대응수단이다. 달리말하면 TDM에 의해 보호되는 모든 메모리 섹션은 특정 플래시 영역을 프로그래밍해야만 삭제할 수 있어 수정 및 펌웨어 업그레이드 시도에 대한 증거를 남기는 비가역적인 메커니즘을 보장한다.

디바이스에 구현되는 다른 플래시 보호 메커니즘으로는 버진 디바이스의 경우에만 메모리 삭제 요청을 허용하는 OTP/OPP(One Time Programmable/Over Programming Protection)가 있다.
또 메모리 영역을 완전히 보호하는 봉인(Sealing)은 ‘고장 분석’ DLC에서 선택된 섹션에 대한 접근을 불가능하게 한다.

HSM 모듈과 관련해 전용 플래시 메모리 섹션에 대한 접근을 제한하기 위해 다음 두 가지 보호 메커니즘이 보안 코어에 구현됐다. HSM 익스클루시브(HSM Exclusive)와 대체 인터페이스(Alternate Interface)다.

첫 번째는 HSM 플래시 메모리 전용 블록에 대한 접근을 HSM에게만 허용하는 방법이며, 두 번째는 HSM 플래시 레지스터에 대한 접근을 HSM 코어만이 전용 인터페이스를 통해서만 할 수 있도록 허용하는 것이다.

HSM 모듈의 각 메모리 블록은 ‘HSM 익스클루시브’로 지정할 수 있다. 이렇게 하면 이 블록은 대체 인터페이스를 통해서만 접근할 수 있다. 대체 인터페이스(Alternate Interface)란 삭제 및 프로그래밍 동작을 위해 메인 인터페이스 레지스터 기능을 복제한 플래시 레지스터 세트를 말한다. HSM 메모리 블록이 DCF로 대체 인터페이스에 매핑되면 메인 인터페이스는 이 블록에 대한 접근, 프로그래밍, 삭제를 할 수 없다는 뜻이다.

 

암호화 기능

자동차 네트워크 내부에서 통신 버스로 교환되는 모든 데이터 전송의 무결성, 인증성, 기밀성을 유지하는 가장 효율적인 방법은 암호화 시스템을 도입하는 것이다. 암호화 기능의 사용은 광범위하게 사용되는 CAN 스니퍼(sniffer) 기법을 이용한 모든 공격을 차단하는 최고의 솔루션일 것이다.

이것은 각각의 디바이스가 자체암호화 모듈을 탑재하거나 이러한 기능을 자동차 내부에서 센서와 액추에이터 간의 모든 메시지를 암호화 및 해독하는 담당하는 특별한 통합체에 위임해야 한다는 것을 의미한다.

앞으로 다룰 HSM 모듈은 암호화 채널 컨트롤러를 구현해 TRNG(True Random Number Generator)와 MPAES를 관리해 여러 가지 암호화 기능을 제공할 수 있다.

 

EOL(End of life) 보호
디바이스가 ‘고장 분석’ DLC로 넘어가면 발생 가능한 문제를 분석하기 위해 일부의 보호 메커니즘을 중지해야 한다. 얼핏 보면 이러한 구성은 임베디드된 펌웨어를 수정하고 디바이스를 원래의 시스템에 연결하기 위해 ‘현장 디바이스’ DLC로 되돌리는 것을 허용하기 때문에 보안 보호 규칙을 깨는 것처럼 보일 수 있다. 이러한 상황은 EOL 보호 메커니즘 내의 보호 기능 일부를 사용해서 해결할 수 있고 CAN 및 플렉스레이 전송 중단, E-fuse 보호 기능, 선택적으로는 BAF를 끊임없이 구동하면서 다시 사용할 수 있다.

E-fuse는 특별한 플래시 테스트 모드가 가동될 때 디바이스 내에 영구적인 증거를 남기는 기법이다. 이러한 방식에서는 구동을 되돌릴 수 없기 때문에 디바이스 상태를 쉽게 검출할 수 있고 디바이스를 FA에 영구적으로 유지하므로 현장 DCF로 반환할 수 없게 된다.

 

HSM 블록
HSM은 보안 요구사항, 침입방지 통제, 데이터 암호화에 대한 가장 포괄적인 해답이 될 수 있다. 도로 교통상황, 추돌 및 기상예보 정보 등에 대비하기 위해 차량 내 인포테인먼트 기기의 수가 갈수록 증가함에 따라 이러한 보안 기능은 이제 필수적이다.

HSM 모듈은 ASIC에 임베디드된 SoC이다. HSM 모듈은 100 MHz 코어, 전용 로컬 RAM, 예비 코드 및 데이터 플래시, 크로스바 및 MPU, 인터럽트 컨트롤러로 구성된다. 또 HSM/HOST 인터페이스가 탑재돼 안전하고 자율적인 방식으로 C3 모듈에서 마이크로컨트롤러 내부에서 다른 코어와 데이터와 명령을 교환할 수 있다.

HSM은 마이크로컨트롤러 기능뿐 아니라 진정한 난수 생성기(TRNG)와 MPAES 블록을 포함하는 내부 모듈 C3(암호화 채널 컨트롤러)가 내장돼 모든 암호화 기능을 제어하도록 설계됐다. 보안 부트와 디버그 인터페이스 접근 통제 다음으로 중요한 기능은 난수를 생성하고 모든 암호화 및 해독 기능을 구현하도록 암호화 키를 보관하는 것이다. 앞에서 언급했듯 CAN은 안전한 전송 기밀성을 보장하지 않는데다 방송 모드에서 전송하므로 보안의 관점에서 견고하게 설계됐다고 볼 수 없다. 또 전송된 데이터에 대한 인증성과 무결성을 보장하지 않는다. 암호화 메시지는 차량 내 전송 버스를 통한 이러한 모든 요구를 만족시킨다.

비대칭 및 대칭 키 알고리즘의 사용은 전송되는 데이터의 기밀성, 무결성 및 인증성을 허용할 수 있으며, 디지털 서명이나 MAC(Message Authentication Code)같은 HASH 기능은 데이터 송신자를 인증하는 디지털 서명을 제공하거나 보안 부트를 생성하는 CMAC(Cipher Message Authentication Code)를 제공할 수 있다.

모든 암호화 및 해독 기능과 구현되는 하드웨어는 메인 CPU에 대한 과부하 없이 CAN통신에 필요한 대역폭을 허용한다.

이 글에서는 EVITA 및 HIS 그룹에서 바라는 모든 보안 요구사항을 만족시키면서 차세대 자동차에 탑재될 가장 정교한 전장 디바이스를 검토해 보았다. 전자 디바이스에 임베디드된 하드웨어 보안 방식을 폭넓게 짚어볼 필요가 있었고 다층 아키텍처를 구현하는 방식에 초점을 두었다. 이러한 하드웨어 보호 기법은 마이크로컨트롤러 내부의 민감한 데이터에 대한 무허가 접근에 대해 강력한 보호를 제공하며, 암호화기능은 자동차의 CAN 전송 버스 내에서 사용할 수 있다.

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

PDF 원문보기

본 기사의 전문은 PDF문서로 제공합니다. (로그인필요)
다운로드한 PDF문서를 웹사이트, 카페, 블로그등을 통해 재배포하는 것을 금합니다. (비상업적 용도 포함)

  • [ 조상범 2016-06-06 오후 11:42:33 ]
  • 찬성

    (181)

    반대

    (259)

좋은 글이네요..

  • 100자평 쓰기
  • 로그인


TOP