본문 바로가기
AUTOSAR

AUTOSAR Crypto Driver란? 실제 암호 연산은 어디에서 수행될까?

by Autosar 2026. 7. 1.
반응형

이전 글에서는 AUTOSAR의 암호 서비스 관리 모듈인 CSM(Crypto Service Manager) 에 대해 알아보았다. CSM은 다양한 보안 기능에서 필요한 암호 서비스를 관리하고, Crypto Job을 생성하여 하위 계층으로 전달하는 역할을 수행한다고 설명했다.

 

"그럼 AES, SHA, CMAC 같은 암호 알고리즘은 누가 실제로 계산하는 걸까?"

 

정답은 Crypto Driver이다.

 

이번 글에서는 AUTOSAR Crypto Driver의 역할과 CSM, CryIf, HSM과의 관계를 알아보자.

 

AUTOSAR Crypto Stack 다시 살펴보기

 

AUTOSAR는 암호 기능을 하나의 모듈에서 모두 처리하지 않는다.

암호 서비스는 여러 계층으로 구성된 Crypto Stack을 통해 수행된다.

 

구조는 다음과 같다.

 

Crypto Driver는 이 구조에서 실제 암호 알고리즘을 수행하는 핵심 모듈이다.

 

Crypto Driver란?

 

Crypto Driver는 AUTOSAR Crypto Stack에서 실제 암호 알고리즘을 수행하는 BSW(Basic Software) 모듈이다.

 

CSM은 암호 서비스를 요청하고, CryIf는 요청을 전달하며,

실제 AES, SHA, CMAC, RSA 등의 계산은 Crypto Driver에서 수행된다.

 

즉, CSM은 무엇을 수행할지 결정하고, Crypto Driver는 실제로 계산을 수행한다.

 

Crypto Driver는 어떤 기능을 수행할까?

 

Crypto Driver는 Cryptographic Primitive(암호 연산 기능)를 구현하며, CSM과 CryIf를 통해 상위 모듈에 암호 서비스를 제공한다.

여기서 Cryptographic Primitive란 AES나 SHA처럼 암호화에 사용되는 기본 알고리즘 또는 암호 서비스를 의미한다.

 

대표적인 Cryptographic Primitive는 다음과 같다.

  • MAC Generation (CMAC) : 메시지 인증 코드(MAC) 생성
  • Hash (SHA-256) : 데이터 무결성 검증을 위한 해시 계산
  • Symmetric Cipher (AES) : 대칭키 기반 암호화 및 복호화
  • Random Number Generation (RNG) : 난수 생성
  • Digital Signature (RSA / ECC) : 전자서명 생성 및 검증
  • Key Management : 암호 키 생성, 저장, 갱신 및 삭제

실제 지원하는 Cryptographic Primitive는 사용하는 MCU, HSM(Hardware Security Module), Crypto Driver 구현에 따라 달라질 수 있다.

 

예를 들어 SecOC에서는 일반적으로 MAC Generation(CMAC) 이 주로 사용되며, FOTA에서는 SHA-256 Hash와 Digital Signature(RSA 또는 ECC) 를 이용해 소프트웨어의 무결성과 서명을 검증하는 경우가 많다.

 

SecOC에서는 Crypto Driver를 어떻게 사용할까?

 

예를 들어 차량 속도 메시지를 보호한다고 가정해 보자.

SecOC는 다음과 같은 데이터를 준비한다.

  • Authentic I-PDU
  • Freshness Value
  • Data Identifier
  • Secret Key

하지만 SecOC는 AES-CMAC 알고리즘을 직접 계산하지 않는다.

대신 CSM에 MAC 생성을 요청한다.

 

이후 처리 과정은 다음과 같다.

 

즉, Crypto Driver는 AES-CMAC 연산을 수행하여 Authenticator(MAC)를 생성하는 역할을 담당한다.

 

AES-CMAC 연산이란?

 

많은 사람들이 AES와 AES-CMAC을 같은 개념으로 생각하지만 둘은 목적이 다르다.

AES는 데이터를 암호화하는 알고리즘이다.
반면 AES-CMAC은 AES 알고리즘을 이용하여 MAC(Message Authentication Code)을 생성하는 알고리즘이다.

 

즉, SecOC에서는 생성된 MAC을 이용하여 수신 ECU가 데이터의 무결성과 송신자를 검증한다.

중요한 점은 데이터를 암호화하는 것이 아니라 인증 정보를 생성하는 것이라는 점이다.

 

Crypto Driver는 HSM과 어떤 관계일까?

 

Crypto Driver는 소프트웨어만으로 암호 연산을 수행할 수도 있고,

하드웨어 보안 모듈(HSM)을 사용할 수도 있다.

 

만약 ECU 내부에 HSM이 존재한다면, Crypto Driver는 HSM을 이용하여 암호 연산을 수행한다.

이렇게 하면 암호 연산 속도 향상, Secret Key 보호, 보안성 향상이라는 장점을 얻을 수 있다.

 

즉, Crypto Driver는 HSM을 사용할 수도 있고, 사용하지 않을 수도 있다.

HSM은 Crypto Driver가 활용하는 하드웨어 가속기라고 이해하면 된다.

 

CryIf는 왜 필요할까?

 

Crypto Driver 앞에는 CryIf(Crypto Interface)가 존재한다.

CryIf는 CSM과 Crypto Driver 사이를 연결하는 인터페이스 계층이다.

덕분에 MCU가 변경되거나 Crypto Driver가 변경되더라도 CSM은 동일한 API를 사용할 수 있다.

 

즉, CryIf는 하드웨어 독립성을 제공하는 추상화 계층이라고 볼 수 있다.

CryIf에 대한 자세한 내용은 다음 글에서 별도로 알아보겠다.

 

CSM과 Crypto Driver의 차이

 

정리


Crypto Driver는 AUTOSAR Crypto Stack에서 실제 암호 알고리즘을 수행하는 핵심 모듈이다.

 

SecOC, Secure Boot, OTA Update, UDS Security Access와 같은 다양한 보안 기능은 CSM을 통해 암호 서비스를 요청하고, Crypto Driver가 실제 AES, SHA, CMAC 등의 연산을 수행한다. 또한 Crypto Driver는 필요에 따라 HSM을 이용하여 하드웨어 기반 암호 연산과 키 보호 기능을 활용할 수 있다.

 

즉, CSM이 암호 서비스를 관리하는 모듈이라면, Crypto Driver는 실제 암호 알고리즘을 실행하는 엔진이라고 이해하면 된다.

 

다음 글에서는 CryIf(Crypto Interface)란 무엇이며, 왜 Crypto Driver 앞에 별도의 인터페이스 계층이 필요한지 자세히 알아보겠다.

반응형