4
01 보안은 자동차 전자 장치에 있어 새로운 주제는 아니다. 오늘날 ECU는 이미 시동 시에는 물론 소프트웨어가 업데이트될 때마다 어플리케이션의 신뢰성을 검사한다. 보안 관련 진단 서비스는 인 증 성공 후에 비로소 추가로 사용할 수 있다. 한편, 차량 전자 장 치의 네트워킹 수준과 함께 외부 인터페이스 장치의 수가 증가함 에 따라 잠재적인 공격영역 또한 증가하고 있다. 또한 네트워킹 은 본질적으로 보안과 관련된 새로운 유스케이스를 가능하게 한 다. 전기 이동성 분야에서 자동 청구 기능은 이러한 유스케이스 의 일례이다. 보안에 대한 필요성이 높아지면서 반도체 제조업체는 보안을 위 한 하드웨어 지원을 더욱 강화해 왔다. 현재는 다양한 마이크로 컨트롤러에서 하드웨어 보안 모듈(HSM)을 사용할 수 있다. 일반 적으로 HSM을 사용하는 이유는 아래와 같다(그림 1). > 성능 강화: 특수 가속기를 사용하여 암호화와 같은 암호학적 계산 수행에 소요되는 시간을 단축한다. 이로써 대기 시간이 단축되고 메인 프로세서의 부하가 감소한다. > 파티셔닝: 메모리 파티셔닝을 통해 암호화 키와 같은 기밀 데 이터 저장을 위한 공간을 생성한다. > 유연성: HSM의 프로그래밍 기능을 통해 다양한 유스케이스 및 OEM 관련 요구사항에 대응할 수 있다. HSM의 설계 및 기능성 HSM은 멀티코어 프로세서의 추가 프로세서 코어에 비유할 수 있는 마이크로 컨트롤러의 하위 시스템이다. 일반적으로, HSM은 시스템의 다른 부분에 의한 액세스로부터 보호되는 자체 RAM 및 플래시 메모리를 갖추고 있다. 아울러, 암호화 알고리즘의 계 산 시간을 단축하기 위한 하드웨어 가속기를 갖고 있다. 그리고 ECU 네트워킹의 지속적인 증가와 함께 데이터 보안을 위한 요구사항 또한 증가하고 있다. 데이터를 효율적으로 보호하기 위해 프로 그래밍이 가능한 ‘하드웨어 보안 모듈’(HSM: hardware security modules)과 같은 특수 ECU 하드웨어 유닛의 사용이 점진적으로 증가하고 있다. HSM은 다양한 어플리케이션 지원이 가능해야 한다. 이를 위해 HSM 펌웨어는 얼마만큼 유연하고 구성 가능해야 할 까? 모든 상황에서 보호 보안 관련 AUTOSAR 시스템을 위한 유연한 HSM 펌웨어 그림 1: 일반적으로, HSM은 세 가지 목적을 위해 사용된다.

모든 상황에서 보호 - Vector Informatik · 2019-02-12 · 통신은 ISO 15118 표준에 부합해야 한다. 여기서 까다로운 암호 화 알고리즘, 특히 자동차

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 모든 상황에서 보호 - Vector Informatik · 2019-02-12 · 통신은 ISO 15118 표준에 부합해야 한다. 여기서 까다로운 암호 화 알고리즘, 특히 자동차

01

보안은 자동차 전자 장치에 있어 새로운 주제는 아니다. 오늘날

ECU는 이미 시동 시에는 물론 소프트웨어가 업데이트될 때마다

어플리케이션의 신뢰성을 검사한다. 보안 관련 진단 서비스는 인

증 성공 후에 비로소 추가로 사용할 수 있다. 한편, 차량 전자 장

치의 네트워킹 수준과 함께 외부 인터페이스 장치의 수가 증가함

에 따라 잠재적인 공격영역 또한 증가하고 있다. 또한 네트워킹

은 본질적으로 보안과 관련된 새로운 유스케이스를 가능하게 한

다. 전기 이동성 분야에서 자동 청구 기능은 이러한 유스케이스

의 일례이다.

보안에 대한 필요성이 높아지면서 반도체 제조업체는 보안을 위

한 하드웨어 지원을 더욱 강화해 왔다. 현재는 다양한 마이크로

컨트롤러에서 하드웨어 보안 모듈(HSM)을 사용할 수 있다. 일반

적으로 HSM을 사용하는 이유는 아래와 같다(그림 1).

> 성능 강화: 특수 가속기를 사용하여 암호화와 같은 암호학적

계산 수행에 소요되는 시간을 단축한다. 이로써 대기 시간이

단축되고 메인 프로세서의 부하가 감소한다.

> 파티셔닝: 메모리 파티셔닝을 통해 암호화 키와 같은 기밀 데

이터 저장을 위한 공간을 생성한다.

> 유연성: HSM의 프로그래밍 기능을 통해 다양한 유스케이스

및 OEM 관련 요구사항에 대응할 수 있다.

HSM의 설계 및 기능성

HSM은 멀티코어 프로세서의 추가 프로세서 코어에 비유할 수

있는 마이크로 컨트롤러의 하위 시스템이다. 일반적으로, HSM은

시스템의 다른 부분에 의한 액세스로부터 보호되는 자체 RAM

및 플래시 메모리를 갖추고 있다. 아울러, 암호화 알고리즘의 계

산 시간을 단축하기 위한 하드웨어 가속기를 갖고 있다. 그리고

ECU 네트워킹의 지속적인 증가와 함께 데이터 보안을 위한 요구사항 또한 증가하고 있다. 데이터를 효율적으로 보호하기 위해 프로

그래밍이 가능한 ‘하드웨어 보안 모듈’(HSM: hardware security modules)과 같은 특수 ECU 하드웨어 유닛의 사용이 점진적으로

증가하고 있다. HSM은 다양한 어플리케이션 지원이 가능해야 한다. 이를 위해 HSM 펌웨어는 얼마만큼 유연하고 구성 가능해야 할

까?

모든 상황에서 보호

보안 관련 AUTOSAR 시스템을 위한 유연한 HSM 펌웨어

그림 1: 일반적으로, HSM은 세 가지 목적을 위해 사용된다.

Page 2: 모든 상황에서 보호 - Vector Informatik · 2019-02-12 · 통신은 ISO 15118 표준에 부합해야 한다. 여기서 까다로운 암호 화 알고리즘, 특히 자동차

02

기술기사 / 모든 상황에서 보호

절차는 HSM과 메인 프로세서 간의 복잡한 상호 작용을 해야하

며, 자동차의 OEM 요구사항과 호환돼야 한다.

다른 유스케이스는 메시지 인증 기능이다. 여기서 전송된 메시지

는 메시지 인증 코드(MAC: Message authentication code) 첨부

와 함께 확장된다. 이로써 수신자는 메시지의 신뢰성을 검사할

수 있다. 해당 코드를 계산 및 검사하는 프로세스에서 추가적인

오버헤드를 발생시켜 ECU 상의 프로세서 부하를 증가시킨다.

CAN FD를 사용할 경우 비교적 작은 데이터 패킷이 연속적으로

빠르게 도착하는 부하 프로필을 가져오게 된다. 데이터 크기가

작아 MAC의 가속화 계산은 매우 빠르게 일어난다. 그러나 높은

주파수로 인해 메인 프로세서와 HSM 간 통신의 추가 오버헤드

가 특히 중요하다. 이것은 HSM 펌웨어 구현 시에 고려되어야 하

며 가능한 한 많이 줄여야 한다.

전기 자동차의 경우 차량과 충전소(차량에서 그리드까지) 간의

통신은 ISO 15118 표준에 부합해야 한다. 여기서 까다로운 암호

화 알고리즘, 특히 자동차 소유자와 네트워크 운영자 간의 청구

업무를 가능케 하는 데 사용되는 암호화 알고리즘이 사용된다.

인터넷에서 널리 사용되는 TLS(Transport Layer Security: 전송 계

층 보안)에 의해 통신이 보호된다. 통신 보호 외에 인증서의 안전

한 저장 및 설치를 위한 프로세스가 설정된다. HSM을 통해 TLS

연결 설정을 위한 메인 프로세서와 시간 집약적인 프로세스 부하

를 줄이고, 개인 키와 같은 보호해야 하는 컨텐츠를 시스템의 다

른 부분에서 분리할 수 있다.

상기 어플리케이션 영역은 오늘날 HSM 펌웨어에 대한 요구사항

이 얼마나 다양한지를 보여준다. 그러나 가까운 미래에 보안 관

련 진단 서비스 및 인터넷 프로토콜 보안(IPsec)을 통한 데이터

트래픽의 검증을 가능하게 해 주는 새로운 ISO 표준화 인증서 기

반 진단 서비스인 TLS에 의해 검증된 IP(DoIP) 상의 진단 통신

(DoIP)과 같은 추가적인 어플리케이션의 개발을 예상할 수 있다.

AUTOSAR 시스템으로의 HSM 연결

ECU의 어플리케이션 소프트웨어와 베이직 소프트웨어는 AUTO-

SAR 시스템의 소프트웨어 아키텍처에 의해 구별된다. 베이직 소

프트웨어는 어플리케이션 소프트웨어에 버스 통신, 진단 및 메모

리 관리, 그리고 보안 관련 기능을 위한 암호화 서비스와 같은 다

HSM은 모든 프로세서 코어와 마찬가지로 모든 소프트웨어를 실

행할 수 있다는 점(즉, 프로그래밍이 가능)에 유의해야 한다. 기

본적으로 HSM의 기능을 결정하고 나머지 시스템과의 인터페이

스를 표시하는 것이 이 소프트웨어이고 이를 “HSM 펌웨어”라고

한다.

HSM의 장점을 요약하려면 보안 기능 구현을 위한 다음의 세 가

지 접근방식을 비교할 필요가 있다(그림 2).

> 메인 프로세서상의 퓨어 소프트웨어 솔루션

> 메인 프로세서상의 하드웨어 가속 솔루션

> HSM을 갖춘 솔루션

암호화 알고리즘은 대게 계산-집약적이므로 퓨어 소프트웨어 솔

루션은 긴 처리 시간이 필요하다. 많은 경우, 이는 바람직한 솔

루션이 아니다. 메인 프로세서상에서의 하드웨어 가속 연산 사용

과 HSM에서의 가속 연산은 비슷한 값을 얻는다. 그러나 소프트

웨어에서 계상을 수행할 때는 HSM이 향상된 동시발생성을 갖추

어서 더 뛰어나다. 이로써 메인 프로세서의 부하를 줄일 수 있

다.

HSM은 기밀 컨텐츠의 격리 및 보호를 위한 최상의 솔루션이다.

메모리 파티셔닝을 통해 보호해야 할 컨텐츠가 HSM에 캡슐화됨

으로써 어플리케이션의 나머지 부분으로부터 분리된다. 메인 프

로세서의 하드웨어 가속 솔루션의 경우 이는 제한된 수의 대칭되

는 키에만 적용된다. 반면, HSM는 메모리가 충분히 큰 경우 유연

성 있는 수의 키, 인증서 및 기타 컨텐츠를 저장할 수 있다.

유연성 측면에서 HSM은 프로그래밍 기능을 장점으로 활용할 수

있다. 메인 프로세서의 하드웨어 지원은 기능 범위가 고정되어

있어 변화하는 요구사항에 부응할 수 없다. 물론 이는 HSM의 하

드웨어 지원에도 해당된다. 그러나 HSM 펌웨어에서의 구현 요

구사항 옵션은 유연성 측면에서 큰 이점이 된다.

HSM 유스케이스

상기한 바와 같이 일부 ECU는 시동 시에 ECU 어플리케이션의 신

뢰성을 검사한다. 그러나 이 “보안 부팅” 방법은 시스템 부팅시간

을 길어지게 한다. HSM은 필요 시간을 크게 단축할 수 있고 시

스템 시작과 동시에 신뢰성 검사를 실행할 수도 있다. 그러나 이

그림 2: 보안 기능 구현을 위한 다양한 접근방식

Page 3: 모든 상황에서 보호 - Vector Informatik · 2019-02-12 · 통신은 ISO 15118 표준에 부합해야 한다. 여기서 까다로운 암호 화 알고리즘, 특히 자동차

03

기술기사 / 모든 상황에서 보호

그림 3: AUTOSAR 시스템으로의 HSM 연결

펌웨어의 설계가 적합한 경우 메인 프로세서의 여러 코어에서

HSM을 처리하는 것도 가능하다. 해당 유형의 통신은 AUTOSAR

시스템과 HSM 펌웨어 간의 안전한 파티셔닝을 가능하게 해준

다. 해당 드라이버는 다양한 논리 처리 장치를 제공하므로 HSM

의 다양한 작업을 유연하게 처리할 수 있다. 해당 작업들은 HSM

펌웨어의 특정 기능 및 구성에 따라 생성되며, 특정 요구에 따라

HSM의 기능을 처리한다.

유연한 HSM 펌웨어 구현의 소프트웨어 아키텍처

HSM 펌웨어의 소프트웨어 아키텍처는 다양한 사용 사례를 구현

할 수 있도록 모듈화 및 구성을 할 수 있어야 한다. 따라서 HSM

펌웨어는 AUTOSAR 아키텍처와 유사한 방식으로 구성될 수 있

어 다음과 같은 이점이 있다.

> HSM은 암호화 드라이버의 AUTOSAR 개념을 암호화 확장 모

듈에 적용한다.

> 메모리 관리를 위한 AUTOSAR 모듈을 재사용하는 것이 가능

하다.

> HSM 펌웨어가 친숙한 AUTOSAR 도구로 구성된다.

암호 드라이버는 AUTOSAR 표준화 인터페이스를 가진 모듈형

처리 장치이다. 배포자 구성 요소(작업 배치자)는 보류 중인 작업

을 수신해, AUTOSAR와 동일하게 중간 계층(CRYIF)을 통해 HSM

의 관련 드라이버에 배포한다(그림 4). HSM의 처리 장치는 하드

웨어, 소프트웨어, 그리고 특수 기능의 세 가지 클래스로 분류할

수 있다. 첫 번째 클래스에는 모든 하드웨어 가속화 작업이 포함

된다. 해당 작업들은 일반적으로 고급 암호화 표준(AES: Ad-

vanced Encryption Standard) 계산, MAC 계산, 그리고 난수 생성

등이다. 두 번째 클래스는 비대칭 암호화 방식인 RSA와 타원 곡

선 연산과 같은 소프트웨어로 구현되는 알고리즘으로 구성된다.

양한 백그라운드 서비스를 제공한다. 암호화 서비스는 암호 서비

스 관리자(CSM: Crypto Service Manger) 모듈에 의해 제공된다.

제공되는 서비스에는 대칭 및 비대칭 암호화, 암호화 검사 합계

계산, MAC 또는 서명 생성 및 검증은 물론 난수 생성 등이 포함

된다.

이 밖에 CSM은 암호화 키, 인증서 및 어플리케이션 데이터와 같

은 보안 관련 정보를 저장하기 위한 데이터베이스에 대한 액세스

가 가능하게 해 준다. 구성에 따라 개별 내용을 읽고 쓰거나, 암

호 프로토콜을 사용하여 교환할 수 있다. 그리고 저장된 기밀 데

이터로부터 새로운 암호 키를 도출하기 위한 연산도 가능하다.

제공된 암호화 서비스는 보호해야 하는 컨텐츠가 데이터베이스

에 유지되도록 데이터베이스 컨텐츠에 직접 액세스한다.

서비스 구현을 위한 암호 연산은 소위 암호 드라이버(CRYPTO)에

의해 제공된다. 소프트웨어 드라이버와 하드웨어 드라이버 간에

는 일반적인 차이가 있다. 소프트웨어 드라이버(CRYPTO SW)는

암호화 알고리즘을 가진 소프트웨어 라이브러리에 의존한다. 이

와 달리 하드웨어 드라이버는 AUTOSAR 시스템에 HSM을 통합

할 뿐만 아니라 암호화 하드웨어 가속기를 통합할 수도 있다.

CSM은 암호화 인터페이스(CRYIF)로 알려진 중간 계층을 통해 드

라이버를 처리하므로 소프트웨어 및 하드웨어 솔루션을 동시에

작동시킬 수 있다.

HSM 암호 드라이버(CRYPTO HSM)의 주요 작업은 운영 지침을

HSM 펌웨어로 신속하게 라우팅하는 것이다. 드라이버와 HSM

펌웨어 간 통신은 마이크로 컨트롤러의 공유 메모리를 통해 이루

어진다. 다중 채널(HSM 채널)이 메모리에 생성될 수 있으며, 이

를 통해 드라이버가 HSM에 작동 지침을 전달한다(그림 3).

Page 4: 모든 상황에서 보호 - Vector Informatik · 2019-02-12 · 통신은 ISO 15118 표준에 부합해야 한다. 여기서 까다로운 암호 화 알고리즘, 특히 자동차

04

기술기사 / 모든 상황에서 보호

특수 기능에 해당하는 세 번째 클래스는 어플리케이션 관련 작업

으로 구성된다. 이 작업들을 통해 OEM 또는 ECU 관련 요구사항

구현이 가능하다. 본 설계는 하드웨어 특정 모듈을 캡슐화함으로

써 HSM 펌웨어의 높은 수준의 휴대성을 보장할 수 있다. 소프트

웨어 라이브러리를 통합함으로써 HSM 펌웨어는 다른 암호화 작

업을 통해 유연하게 보완될 수 있다.

HSM은 메모리 관리 또한 유연해야 한다. 일반적으로 메시지 인

증을 위해 소형의 많은 대칭 키가 HSM에 저장된다. 그러나 TLS

를 통해 보호되는 충전소 또는 진단 테스터와의 통신의 경우 몇

개 되지 않지만, 더 큰 인증서가 필요하다. Secure Store로 알려

진 이 데이터베이스는 메모리 관리를 위해 기존 기본 소프트웨어

모듈을 사용해 컨텐츠를 HSM의 비휘발성 메모리에 안전하게 저

장한다. 여기에는 중복 데이터 저장 및 메모리 분할 옵션이 포함

된다.

특정 HSM 하드웨어의 이용 가능한 계산 및 메모리 리소스는 제

한된다. 이용 가능한 리소스를 가진 모든 활용 사례를 구현할 수

있으려면 HSM 펌웨어를 어플리케이션 사례에 맞춰 조정해야 한

다. 가장 간단한 경우 구성 프로세스 과정에 암호화 알고리즘의

활성화 또는 비활성화가 포함되어야 한다. 그리고 데이터베이스

의 메모리 레이아웃이 최적화되어야 한다. AUTOSAR 시스템을

위한 기존 구성 도구는 사용자 친화적인 방식으로 해당 설정을

수행하는 데 사용된다.

전망

오늘날의 하드웨어 보안 모듈은 사용 사례에서 광대역폭을 처리

해야 하는 상황에 있다. 그러나 다양성, 범위 및 활용별 부분에 따

라 지속적인 성장을 예상할 수 있다. 이로 인해 HSM 펌웨어는 미

래에 실행할 수 있도록 유연하며 구성할 수 있어야 한다. 그뿐만

아니라 ECU별 어플리케이션과 OEM 관련 어플리케이션이 기밀

컨텐츠와 함께 작동하거나 시스템의 다른 부분으로부터 보호해

야 하는 경우 HSM에 대한 부하가 증가하게 될 것으로 예상된다.

따라서 효율적이고 유연하게 정의된 요구사항에 대응할 수 있는

솔루션이 필요하다. 이는 HSM 펌웨어와 어플리케이션에 대한

HSM의 인터페이스 모두에 영향을 미친다. Vector의 vHSM 솔루

션은 AUTOSAR 설계에 기초해 두 가지 기능을 모두 제공한다. 이

를 통해 소프트웨어를 간단하게 통합 및 구성할 수 있다.

그림 4: HSM 펌웨어 구현의 간략한 아키텍처

Dr. Bastian Zimmer임베디드 소프트웨어 부서 내 솔루션 관리팀의 수장이다. 그의 팀은 혁

신적인 주제와 Ethernet, 멀티코어, 보안 및 안전과 같은 기술을 책임지

고 있다. The Fraunhofer IESE에서 박사학위를 마친 후 2015년부터 벡

터에서 Solution Manager for Gateway Controllers였으며, 2016년부터

현재 업무를 담당하고 있다.

Max-Ferdinand Suffel임베디드 소프트웨어 부서 내 솔루션 관리팀의 소프트웨어 개발자이

다. University of the Saarland에서 컴퓨터공학을 전공하였고 2015년부

터 벡터에서 보안 분야의 새로운 기술 컨셉 및 솔루션 분야를 담당하고

있다.

독일 출판물 “Automobil Elektronik“ 2018년 7-8월 특별호

이미지 권리 Vector Informatik GmbH