차량 Secure Boot과 HSM이란? 암호화 키 관리와 펌웨어 위변조 방지

차량 내부 Secure Boot 및 HSM: 암호화 키 관리 및 펌웨어 위변조 방지

자동차가 소프트웨어 중심으로 발전하면서 차량 내부에 탑재되는 전자제어장치(ECU)의 역할도 크게 달라지고 있다. 과거에는 엔진, 변속기, 조명, 공조장치처럼 각각의 기능을 제어하는 것이 ECU의 주요 역할이었다면, 최근 차량에서는 자율주행, 커넥티드 서비스, OTA 업데이트, 디지털 키 등 다양한 소프트웨어 기능이 ECU와 고성능 컴퓨팅 장치에서 실행된다.

이처럼 차량 소프트웨어의 중요성이 커질수록 펌웨어가 임의로 변경되지 않았는지 확인하고, 암호화 키를 안전하게 보호하는 기술​이 중요해진다.

대표적인 기술이 Secure Boot(보안 부팅)​과 HSM(Hardware Security Module, 하드웨어 보안 모듈)​이다.

AUTOSAR의 보안 관련 설명에서도 Secure Boot은 ECU가 부팅되는 과정에서 펌웨어의 인증 여부와 변조 여부를 확인하는 기능으로 설명되며, HSM은 별도의 보안 영역 또는 ECU 내부에 통합된 형태로 구현될 수 있다고 설명한다.

Secure Boot이란 무엇인가?

Secure Boot은 ECU가 전원을 켠 뒤 소프트웨어를 실행하기 전에 실행하려는 펌웨어가 신뢰할 수 있는 코드인지 검증하는 기술이다.

일반적인 부팅 과정에서는 부트로더가 플래시 메모리에 저장된 펌웨어를 읽어 실행한다. 그러나 공격자가 물리적 접근이나 취약점을 이용해 펌웨어를 악성 코드로 교체한다면 차량은 정상적인 소프트웨어가 아닌 변조된 프로그램을 실행할 가능성이 있다.

Secure Boot은 이러한 문제를 막기 위해 부팅 단계에서 검증 절차를 추가한다.

개념적으로 다음과 같은 흐름으로 이해할 수 있다.

전원 공급

→ Boot ROM 또는 초기 부트 코드 실행

→ 부트로더 검증

→ 애플리케이션 펌웨어 인증 및 무결성 확인

→ 검증 성공

→ 정상적인 소프트웨어 실행

반대로 검증에 실패하면 해당 소프트웨어를 실행하지 않거나 복구 절차로 넘어가는 방식으로 설계할 수 있다.

여기서 중요한 것은 단순히 파일이 존재하는지를 확인하는 것이 아니라 그 펌웨어가 신뢰할 수 있는 출처에서 생성된 것이며 변경되지 않았는지 확인하는 것이다.

펌웨어 위변조는 왜 위험할까?

자동차 ECU에는 차량의 중요한 기능과 연결된 소프트웨어가 들어간다.

예를 들어 차량 통신을 담당하는 게이트웨이 ECU나 제동·조향과 관련된 제어 시스템, 충전 시스템, 인포테인먼트 장치 등이 네트워크로 연결될 수 있다.

만약 공격자가 악성 펌웨어를 ECU에 설치할 수 있다면 단순한 정보 유출을 넘어 차량 내부 통신이나 특정 기능에 영향을 줄 가능성이 있다.

따라서 자동차 보안에서는 네트워크 통신만 보호하는 것으로 충분하지 않다.

소프트웨어가 처음 실행되는 순간부터 신뢰할 수 있는 상태인지 확인하는 보안 체계가 필요하다.

이것이 Secure Boot이 중요한 이유다.

HSM은 어떤 역할을 할까?

HSM은 일반적인 CPU가 사용하는 메모리 영역과 구분되는 보안 기능을 위한 하드웨어 기반 실행 및 저장 환경으로 이해할 수 있다.

자동차용 HSM은 구현 방식에 따라 별도의 보안 컨트롤러 형태로 구성되거나 ECU 내부에 통합될 수 있다. AUTOSAR의 보안 개요에서도 HSM의 구성 요소로 보안 저장 영역, 암호 연산 가속기, 난수 생성 기능, 보안 CPU 등을 제시한다.

HSM의 중요한 목적 중 하나는 암호화 키를 일반 애플리케이션 코드가 직접 노출하지 않도록 보호하는 것이다.

예를 들어 차량의 특정 ECU가 메시지를 인증하기 위해 암호 키를 사용한다고 가정해 보자.

키가 일반적인 애플리케이션 메모리에 평문으로 저장되어 있다면 공격자가 해당 메모리를 읽어 키를 확보할 가능성이 생긴다.

HSM을 사용하면 민감한 키를 보호된 영역에 저장하고 암호 연산 역시 보안 하드웨어를 통해 수행하도록 설계할 수 있다.

즉,

애플리케이션 → HSM에 암호 연산 요청 → HSM 내부에서 키 사용 → 결과 반환

과 같은 구조가 가능하다.

이때 애플리케이션이 실제 비밀 키 자체를 직접 읽지 못하도록 구성하는 것이 핵심이다.

암호화 키 관리가 중요한 이유

Secure Boot과 HSM을 설명할 때 빠지면 안 되는 부분이 Key Management(키 관리)​다.

암호 기술의 보안성은 단순히 강력한 알고리즘을 사용하는 것만으로 결정되지 않는다. 키가 유출되거나 잘못 관리되면 안전한 암호 알고리즘을 사용하더라도 시스템 전체의 보안성이 떨어질 수 있다.

차량에서는 다양한 암호 키가 사용될 수 있다.

예를 들어 펌웨어 인증을 위한 키, 차량 내부 통신 인증을 위한 키, 진단 기능과 관련된 키, 디지털 인증서 등을 관리해야 할 수 있다.

따라서 키의 생성, 저장, 배포, 갱신, 폐기와 같은 생명주기를 체계적으로 관리해야 한다.

AUTOSAR의 Key Manager 관련 자료에서도 ECU의 암호 키 자료를 초기화하고 업데이트하며 유지하는 기능과 Secure Onboard Communication에 필요한 키 관리가 중요한 요소로 다뤄진다.

Secure Boot에서 디지털 서명은 어떻게 활용될까?

Secure Boot에서는 일반적으로 암호학적 인증 정보를 이용해 펌웨어의 신뢰성을 검증한다.

개념적으로 펌웨어 제작자가 소프트웨어 이미지에 디지털 서명을 생성하면 ECU는 부팅 과정에서 해당 서명을 검증한다.

과정을 단순화하면 다음과 같다.

1. 개발 및 빌드 과정

정상적인 펌웨어 이미지를 생성한다.

2. 인증 정보 생성

펌웨어의 해시 등을 기반으로 서명 또는 인증 정보를 생성한다.

3. ECU 저장

인증된 펌웨어와 필요한 메타데이터를 차량의 비휘발성 메모리에 저장한다.

4. 부팅 시 검증

Bootloader 또는 보안 하드웨어가 펌웨어의 인증 정보를 검증한다.

5. 결과에 따른 실행

검증이 정상적으로 완료되면 펌웨어를 실행하고, 실패하면 실행을 차단하거나 복구 절차를 수행한다.

이렇게 하면 공격자가 펌웨어 내용을 임의로 변경했을 때 기존 인증 정보와 일치하지 않게 만들 수 있다.

해시와 암호화는 같은 것일까?

Secure Boot를 이해할 때 흔히 발생하는 오해가 해시와 암호화를 같은 개념으로 생각하는 것이다.

둘은 목적이 다르다.

해시는 데이터를 일정한 길이의 값으로 변환해 데이터가 변경되었는지 확인하는 데 활용할 수 있다. 반면 암호화는 데이터를 허가되지 않은 사람이 읽지 못하도록 보호하는 데 목적이 있다.

따라서 펌웨어 보안에서는 단순히 펌웨어를 암호화하는 것뿐만 아니라 무결성(Integrity)과 인증(Authentication)을 확인하는 과정​이 중요하다.

Secure Boot은 이러한 검증 메커니즘을 부팅 과정에 결합한다.

HSM과 Secure Boot의 관계

두 기술은 서로 대체하는 관계가 아니다.

Secure Boot이 “실행하려는 펌웨어가 신뢰할 수 있는가?”​를 검증하는 역할을 한다면, HSM은 이러한 보안 기능에 필요한 암호 연산과 키 보호 등을 하드웨어 기반으로 지원할 수 있다.

예를 들어 다음과 같은 구조를 생각할 수 있다.

부트 코드

↓

펌웨어 인증 정보 확인

↓

HSM 기반 암호 연산

↓

서명 또는 무결성 검증

↓

정상 펌웨어 실행

따라서 HSM은 Secure Boot을 구현하는 과정에서 중요한 보안 기반이 될 수 있다.

AUTOSAR 역시 Secure Boot, Secure Storage, 암호화 기술 및 보안 통신을 차량 보안 아키텍처의 주요 요소로 설명한다.

차량 내부 통신 보안과의 연결

Secure Boot이 ECU 자체의 소프트웨어를 보호한다면 차량 내부 네트워크에서는 별도의 통신 보호가 필요하다.

예를 들어 CAN이나 기타 차량 네트워크를 통해 전달되는 메시지가 공격자에 의해 변조되면 문제가 발생할 수 있다.

AUTOSAR의 Secure Onboard Communication(SecOC)​은 차량용 임베디드 네트워크에서 ECU 간 데이터를 보호하기 위한 기능을 제공한다. SecOC는 메시지의 인증과 freshness 검증을 통해 수신 측에서 데이터의 신뢰성을 확인할 수 있도록 설계되어 있다.

이를 Secure Boot과 연결하면 보안 계층을 보다 명확하게 이해할 수 있다.

Secure Boot

→ ECU에서 실행되는 소프트웨어 보호

HSM

→ 암호 키와 암호 연산 보호

SecOC

→ ECU 사이에서 교환되는 중요 메시지 보호

이처럼 각각 다른 공격 지점을 보호한다.

OTA 업데이트에서는 왜 더욱 중요할까?

SDV에서는 차량이 출고된 이후에도 OTA를 통해 소프트웨어를 업데이트할 수 있다.

하지만 업데이트 기능이 존재한다는 것은 새로운 소프트웨어가 차량에 들어오는 경로가 하나 더 생긴다는 의미이기도 하다.

따라서 OTA 패키지가 정상적인 제조사 또는 신뢰할 수 있는 공급망에서 생성된 것인지 확인해야 한다.

또한 업데이트 과정에서 전원이 차단되거나 통신이 중단되는 상황을 고려해야 하며, 실패한 펌웨어가 차량의 정상적인 부팅을 방해하지 않도록 복구 구조도 필요하다.

이 때문에 실제 차량의 보안 설계에서는 Secure Boot, Secure Flash, 키 관리, HSM, OTA 보안 등을 독립적인 기능으로 보기보다 서로 연결된 하나의 보안 체계로 보는 것이 중요하다.

UN R155와 차량 사이버 보안

차량 사이버 보안은 기술적인 문제만이 아니라 규제와 개발 프로세스의 문제이기도 하다.

UN Regulation No. 155는 차량 사이버 보안과 Cyber Security Management System(CSMS)에 관한 규정을 다룬다. 규정에서는 CSMS를 차량에 대한 사이버 위협과 관련된 위험을 다루기 위한 체계적인 위험 기반 접근 방식으로 정의한다.

따라서 Secure Boot이나 HSM을 적용했다고 해서 그 자체만으로 차량 사이버 보안 요구사항을 모두 충족했다고 볼 수는 없다.

차량의 전체 생명주기에서 위험을 분석하고, 보안 요구사항을 정의하며, 개발·생산·운영 및 사후 대응 과정까지 관리하는 접근이 필요하다.

앞으로의 차량 보안에서 Secure Boot과 HSM

SDV가 확대되면서 자동차는 점점 더 많은 소프트웨어를 탑재하게 될 가능성이 높다.

차량용 컴퓨터의 성능이 높아지고 OTA 업데이트가 보편화될수록 소프트웨어의 신뢰성을 확인하는 과정 역시 중요해진다.

이때 Secure Boot은 ECU가 신뢰할 수 있는 펌웨어만 실행하도록 만드는 출발점이 되고, HSM은 암호화 키와 중요한 보안 연산을 보호하는 하드웨어 기반을 제공할 수 있다.

여기에 Secure Onboard Communication과 보안 진단, 안전한 OTA 업데이트, 침입 탐지 시스템 등을 결합하면 보다 다층적인 차량 사이버 보안 구조를 만들 수 있다.

결국 자동차 보안에서 중요한 것은 하나의 보안 기능을 추가하는 것이 아니다. 펌웨어가 만들어지는 순간부터 차량에 설치되고 업데이트되는 과정, 그리고 차량 내부에서 데이터가 교환되는 과정까지 각각의 단계에서 신뢰성을 유지하는 것​이 핵심이다.

Secure Boot과 HSM은 이러한 보안 체계를 구성하는 대표적인 기술이다. 특히 자율주행과 SDV가 발전할수록 차량 소프트웨어의 규모와 연결성이 커지는 만큼, 암호 키를 안전하게 관리하고 실행 코드의 무결성을 검증하는 하드웨어 기반 보안 기술의 중요성도 더욱 커질 것으로 예상된다.

댓글 남기기