차량 사이버보안/자동차 사이버보안 입문

대칭키 vs 비대칭키 — 차량에서 왜 둘 다 쓸까

vsec 2026. 5. 26. 08:10
차량 보안 기초 — 암호학 시리즈
암호학 시리즈 전체 구성
1
이전 글
암호학이란 무엇인가 — 단방향과 양방향
Hash · 무결성 · 기밀성 · 암호학 전체 구조
DONE
2
2편 · 지금 읽는 글
대칭키 vs 비대칭키 — 차량에서 왜 둘 다 쓸까
AES · RSA · ECC · 키 배포 문제 · 차량 적용 사례
NOW
3
다음 글
전자서명은 어떻게 동작하는가 — Secure Boot·OTA의 핵심
전자서명 · 인증서 · Secure Boot 원리
NEXT
1편 복습
암호학은 크게 두 가지로 나뉩니다. 단방향(Hash)은 복호화가 불가능하고 무결성 확인에 씁니다. 양방향(Encryption)은 복호화가 가능하고 기밀성 보호에 씁니다.
이번 2편에서는 양방향 암호화 안으로 들어갑니다.

양방향 암호화는 한 종류가 아닙니다. 다시 두 가지로 나뉩니다.

같은 키로 잠그고 여는 대칭키,
잠그는 키와 여는 키가 다른 비대칭키.

차량 보안은 이 두 가지를 모두 사용합니다.
왜 하나로는 부족한지가 이번 편의 핵심입니다.

대칭키 — 같은 열쇠로 잠그고 연다

대칭키는 가장 직관적인 방식입니다. 암호화할 때 쓴 키와 복호화할 때 쓰는 키가 같습니다.

대칭키 동작 구조
원본 데이터
🔑 같은 키로
암호화
암호문
🔑 같은 키로
복호화
원본 데이터
대표 알고리즘: AES-128, AES-256, ChaCha20

집 현관문과 같습니다. 같은 열쇠로 잠그고, 같은 열쇠로 엽니다. 열쇠를 가진 사람만 문을 열 수 있습니다.

대칭키의 가장 큰 장점 — 빠르다

대칭키는 연산이 매우 빠릅니다. 대용량 데이터를 실시간으로 암호화할 수 있습니다.

그래서 차량 통신 암호화 대부분은 대칭키 기반으로 동작합니다.
ECU 간 메시지, OTA 데이터 전송, TLS 세션 데이터 — 빠른 처리가 필요한 곳에는 AES 같은 대칭키가 씁니다.

그런데 치명적인 문제가 있다

여기서 가장 어려운 질문이 나옵니다.

대칭키의 핵심 문제 — Key Distribution
🚗 차량
——키 전달——→
👿 공격자가
키를 훔침
——→
🖥️ 서버
⚠️ 키를 전달하는 과정에서 누군가 훔치면 — 이후 모든 통신이 뚫립니다

차량과 서버가 같은 키를 가져야 하는데, 그 키를 처음에 어떻게 안전하게 공유할 것인가? 이게 키 배포(Key Distribution) 문제입니다.

⚠️ 대칭키의 딜레마:

키를 암호화해서 전달하려고 해도, 그 암호화에 쓸 키를 또 어떻게 전달하느냐는 문제가 생깁니다. 닭이 먼저냐 달걀이 먼저냐 문제와 같습니다.

비대칭키 — 잠그는 키와 여는 키가 다르다

비대칭키는 이 문제를 완전히 다른 방식으로 해결합니다. 키를 두 개 사용하는 겁니다.

🔓 공개키 (Public Key)
누구에게나 공개해도 됩니다. 인터넷에 올려놓아도 괜찮습니다.

이 키로 암호화한 데이터는 개인키로만 풀 수 있습니다.
용도: 암호화 · 서명 검증
🔐 개인키 (Private Key)
절대 외부에 공개하면 안 됩니다. 오직 소유자만 가집니다.

공개키로 암호화된 데이터를 복호화하거나 서명을 만들 때 씁니다.
용도: 복호화 · 서명 생성
비대칭키 암호화 구조
원본 데이터
🔓 공개키로
암호화
암호문
🔐 개인키로
복호화
원본 데이터
대표 알고리즘: RSA-2048, ECC (P-256, P-384)
비대칭키가 키 배포 문제를 해결하는 방법:
공개키는 누구에게나 줄 수 있습니다. 상대방이 공개키로 암호화해서 보내면, 개인키를 가진 나만 복호화할 수 있습니다. 키를 비밀리에 전달할 필요가 없습니다.

그런데 비대칭키는 느리다

비대칭키는 수학적으로 훨씬 복잡한 연산을 사용합니다. AES보다 수십~수백 배 느립니다. 대용량 데이터나 실시간 통신 전체를 비대칭키로 처리하는 건 현실적으로 어렵습니다.


RSA vs ECC — 차량에서는 왜 ECC가 늘어나나

비대칭키 알고리즘에는 대표적으로 RSA와 ECC가 있습니다. 차량에서 ECC 사용이 늘어나는 이유가 있습니다.

항목 RSA ECC
키 길이 2048~4096 bit 256~384 bit
연산 속도 상대적으로 느림 빠름
메모리 사용 많음 적음
보안 강도 (동등) RSA-3072 ≈ ECC-256 더 짧은 키로 동등 보안
차량 적합성 리소스 부담 있음 Embedded에 유리
차량 ECU는 PC와 달리 CPU·메모리·부팅 시간이 제한적입니다. 같은 보안 강도라면 더 짧은 키와 빠른 연산을 제공하는 ECC가 차량 환경에 훨씬 유리합니다.

그래서 차량에서는 둘을 같이 쓴다

이게 이번 편의 핵심입니다. 대칭키와 비대칭키는 경쟁 관계가 아닙니다. 각각의 단점을 서로 보완합니다.

대칭키 (AES)
Symmetric Key
빠른 데이터 암호화
✅ 장점
  • 연산이 매우 빠름
  • 대용량 데이터에 적합
  • 실시간 처리 가능
❌ 단점
  • 키 배포 문제
  • 처음 키를 어떻게 나눌지가 문제
비대칭키 (RSA/ECC)
Asymmetric Key
신뢰 구조 만들기
✅ 장점
  • 키 배포 문제 해결
  • 공개키 공유만으로 충분
  • 인증·전자서명 가능
❌ 단점
  • 연산이 느림
  • 대용량 데이터에 부적합

실제 차량 보안 시스템은 이 두 가지를 조합합니다. 비대칭키로 신뢰를 만들고, 대칭키로 빠르게 데이터를 보호합니다.

TLS가 실제로 이렇게 동작한다

TLS 핸드셰이크 — 대칭키 + 비대칭키 조합 구조
1
서버가 공개키(인증서)를 클라이언트에 전달 — 누구나 볼 수 있어도 괜찮습니다
비대칭키
2
클라이언트가 공개키로 세션 키를 암호화해서 전달 — 서버의 개인키로만 복호화 가능합니다
비대칭키
3
이후 실제 데이터 통신은 세션 키(AES)로 암호화 — 빠르고 효율적입니다
대칭키
핵심 패턴: 비대칭키로 대칭키를 안전하게 교환하고, 실제 데이터는 대칭키로 처리합니다. 이 패턴이 TLS, OTA, Secure Boot 모두에 공통으로 적용됩니다.

차량에서 어디에 어떻게 쓰이나

차량 기술 사용 방식 역할
Secure Boot 비대칭키 (ECC/RSA) 펌웨어 전자서명 검증
OTA 데이터 전송 대칭키 + 비대칭키 비대칭키 인증 + 대칭키 데이터 암호화
TLS 통신 대칭키 + 비대칭키 비대칭키 키교환 → AES 통신
ECU 간 통신 (SecOC) 대칭키 (HMAC/AES) 메시지 인증·무결성
전자서명 검증 비대칭키 (ECC) 진짜 OEM이 만든 SW인지 확인
HSM 키 저장 대칭키 + 비대칭키 대칭키·개인키 모두 안전하게 보관

현업에서는 이렇게 느낀다

현업 경험 4가지

대칭키는 빠르지만 키 관리가 핵심 과제다 — 보안 기능 구현보다 키를 어떻게 저장하고 배포하느냐가 더 어려운 경우가 많습니다. 그래서 HSM이 중요해집니다.
비대칭키는 인증 구조에 거의 필수처럼 쓰인다 — Secure Boot, OTA, 인증서 기반 구조 대부분이 ECC나 RSA를 사용합니다. 개인키 보호가 전체 보안의 핵심이 됩니다.
실제 시스템은 둘 중 하나만 쓰지 않는다 — "비대칭키로 신뢰 만들기, 대칭키로 빠르게 보호하기" 패턴이 반복됩니다. TLS, OTA, Secure Boot 모두 같은 패턴입니다.
차량에서는 성능이 암호 알고리즘 선택에 영향을 준다 — Boot Time, CPU 사이클, 메모리 사용량까지 고려해야 합니다. 그래서 ECC가 RSA보다 선호되는 경우가 많아지고 있습니다.

마무리

대칭키는 빠르지만 키를 안전하게 나누는 게 어렵습니다.
비대칭키는 키 배포 문제를 해결하지만 느립니다.

그래서 실제 차량 보안은 둘을 조합합니다.
비대칭키로 신뢰를 만들고, 대칭키로 빠르게 보호합니다.

그런데 여기서 자연스럽게 다음 질문이 나옵니다. "진짜 OEM이 만든 OTA"라는 걸 어떻게 증명할까요? ECU는 펌웨어가 정품인지 어떻게 확인할까요?

이게 전자서명(Digital Signature)입니다. 지금까지 배운 Hash(1편) + 비대칭키(2편)가 결합되는 지점입니다. 3편에서 이어집니다.

NEXT — 3편 예고
전자서명은 어떻게 동작하는가 — Secure Boot·OTA의 핵심 원리
Hash와 비대칭키가 결합되면 전자서명이 됩니다. "진짜 OEM이 만든 소프트웨어"를 증명하는 구조, 그리고 Secure Boot와 OTA가 이걸 어떻게 사용하는지 이야기합니다.
전자서명 생성·검증 인증서(Certificate) Secure Boot 원리 OTA 무결성
핵심 요약
1
대칭키 = 같은 키로 암호화·복호화 — 빠르지만 키 배포 문제가 있습니다
2
비대칭키 = 공개키로 암호화, 개인키로 복호화 — 키 배포 문제를 해결하지만 느립니다
3
차량에서는 ECC가 RSA보다 선호된다 — 더 짧은 키, 더 빠른 연산, Embedded에 유리합니다
4
실제 시스템은 조합해서 쓴다 — 비대칭키로 신뢰 구조를 만들고, 대칭키로 실제 데이터를 보호합니다
5
TLS·OTA·Secure Boot 모두 같은 패턴 — 비대칭키 키교환 → 대칭키 통신 구조입니다
대칭키 비대칭키 AES RSA ECC 차량사이버보안 암호학기초 SecureBoot OTA보안 TLS
반응형