암호 기술 (Cryptography Technology) — 평문을 인가받지 않은 자가 해독할 수 없는 형태로 변환하여 기밀성·무결성·인증을 제공하는 학문·기술. 자동차 사이버보안의 기반이며, OTA 업데이트의 인증·무결성 검증·TLS Handshake·펌웨어 Hash·HSM 기반 Secure Boot 등에서 공통으로 쓰인다.
역사적 배경
암호학의 발달은 문자 대입 방법의 시대, 복잡한 기계를 이용한 시대, 현대 암호 시대로 구분된다. 1940년대 말 Shannon에 의해 이론으로 정립되었고, 1970년대 초 전자 산업 발달로 확산되었다.
| 단계 | 시기 | 방법 | 대표 시스템 |
|---|---|---|---|
| 1 | 고대 ~ 19세기 말 | 단순한 문자 대입 — 평문의 통계적 빈도 특성을 이용한 암호화 | 시저(Caesar)·비게네르(Vigenere)·뷰포트(Beaufort) 암호 |
| 2 | 20세기 초 ~ 1940년 말 | 복잡한 기계(Rotor Machine)를 이용한 알고리즘 | 독일 ENIGMA, 미국 M-209 |
| 3 | 1941년 초 ~ 현재 | 복잡도 높은 수학적 알고리즘 | 블록 암호, 스트림 암호, 공개키 암호 |
Enigma는 제2차 세계대전 시 독일이 사용. 자판에 평문을 입력하면 회전자에 의해 변환된 암호문이 출력되도록 설계.
비밀키 암호 vs 공개키 암호
프로세스 비교
Symmetric (비밀키): Plain Text → Encrypt (Secret Key) → Cipher Text → Decrypt (Secret Key) → Plain Text Asymmetric (공개키): Plain Text → Encrypt (Public Key) → Cipher Text → Decrypt (Private Key) → Plain Text
장단점 비교
| 구분 | 장점 | 단점 |
|---|---|---|
| 비밀키 암호 (Symmetric) | 속도가 빠름 / 다양한 암호 방식의 핵심 함수로 사용 / 키 크기가 상대적으로 작음 | 키 사전 공유 필요 / 통신 상대자가 늘면 키 가지 수가 로 증가 / 키를 자주 갱신해야 함 |
| 공개키 암호 (Asymmetric) | 개인 키만 안전하게 보관하면 됨 / 인증·전자서명 응용 가능 / 관리할 키 수가 적음 | 상대적으로 속도가 느림 / 키 크기가 큼 / 공개키 인증을 위한 별도 수단(PKI) 필요 / 역사가 짧아 검증 부족 |
→ 실제 시스템에서는 하이브리드: 공개키로 세션키 교환 → 이후 비밀키로 대량 데이터 암호화 (예: TLS Handshake).
블록 암호 (Block Cryptography)
비트 평문을 입력으로 하고 비트 키를 변수로 하여 비트 암호문을 출력하는 함수. 을 입출력 크기, 를 키 크기라 함.
| 알고리즘 | 연도 | 기관·개발자 | 비고 |
|---|---|---|---|
| DES (Data Encryption Standard) | 1972 | 미국 상무성 공모 → IBM | 컴퓨터·통신 정보 보호 표준 |
| RC5 (Ron’s Code 5) | 1994 | RSA Laboratories, Rivest | 가변 블록·키 크기 |
| SAFER (Secure And Fast Encryption Routine) | 1993 | Massey (미국 Cylink사 의뢰) | 블록 암호 알고리즘 |
| AES (Advanced Encryption Standard) | 1997 공모 / 2001 FIPS 197 | NIST | DES 후속 표준 |
공개키 암호 (Public Key Cryptography)
1976년 Diffie와 Hellman이 수학적 함수 알고리즘 기반으로 개념을 소개. 기존 비밀키와 달리 공개 키(Public Key)와 개인 키(Private Key) 두 개를 분리 사용.
| 알고리즘 | 연도 | 개발자 | 특징 |
|---|---|---|---|
| RSA | 1978 | Rivest, Shamir, Adleman | 가장 널리 쓰이는 공개키 암호. 기밀성과 전자 서명을 동시에 제공 |
| ECC (Elliptic Curve Cryptography) | 1985 | Miller, Koblitz | 빠른 속도·제한된 대역폭 환경에 유용 — 자금 전송, 무선 통신, 서명, 인증 |
이 밖에 Rabin, Williams, ElGamal, McEliece 공개키 암호 등이 있음.
자동차 적용: ECC는 키·서명 크기가 RSA 대비 작아 ECU 자원 제약 환경에서 유리. HSM, TLS 인증서, TUF Root·Targets 서명 등에 사용.
해시 함수 (Hash Functions)
임의의 유한길이 비트 스트링을 고정된 길이(비트) 비트 스트링으로 변환하는 함수. 입력 메시지에 대해 해시 코드(hash code) 또는 해시값(hash value)을 출력. 출력 길이가 비트인 해시 함수를 비트 해시 함수라 함.
적용 방법
- Sender: Message → HASH → hash value (메시지와 함께 전송)
- Receiver: (전송 받은) Message → HASH → hash value
- Sender의 hash value와 Receiver의 hash value를 비교하여 일치(Match) / 불일치(Mismatch) 판정
SHA (Secure Hash Algorithm)
= SHS (Secure Hash Standard). 1993년 미국 NIST가 SHA-0(FIPS PUB 180) 제정. 1995년 개정되어 SHA-1(FIPS PUB 180-1) 발표. 오늘날에는 SHA-256/224, SHA-512/384 사용.
| 세대 | 알고리즘 | 비고 |
|---|---|---|
| SHA-0 / SHA-1 | 160비트 출력 | 충돌 공격으로 deprecated |
| SHA-2 | SHA-224/256/384/512 | 현행 표준 |
| SHA-3 | Keccak 기반 | 차세대 표준 |
OTA 적용: 펌웨어 무결성 검증은 SHA-256 이상을 권장하며 SHA-1은 사용 금지.
MAC (Message Authentication Code)
해시 함수의 특별한 형태로 대칭 키(Symmetric Key) 기술에 의해 메시지 인증을 제공. 데이터 무결성과 생성 인증, 그리고 대칭키 방식에서의 식별(identification) 기능을 제공. 블록 암호 기반 MAC과 해시 함수 기반 MAC으로 구분.
적용 방법
- Sender: Message + Symmetric Key → MAC Algorithm → MAC (메시지와 함께 전송)
- Receiver: (전송 받은) Message + Symmetric Key → MAC Algorithm → MAC
- 두 MAC 값을 비교 → 일치/불일치
해시 vs MAC
| 구분 | 해시 | MAC |
|---|---|---|
| 키 필요 | ✗ | ✓ (대칭키) |
| 무결성 | ✓ | ✓ |
| 인증 | ✗ | ✓ |
| 전형 사용처 | 체크섬, 파일 식별자 | CAN 메시지 인증, 세션 데이터 보호 |
디지털 서명 (Digital Signature)
디지털 서명은 해시 함수와 결합되어 데이터 무결성(Data Integrity)을 제공. 해시 함수로 축약된 메시지에 서명하여 계산·메모리·전송량을 크게 줄인다.
생성·검증 흐름
전자 서명 생성 (Sender):
- Message → HASH → hash value
- hash value + Private Key → 디지털 서명 알고리즘 → Signature
- (Message + Signature) 전송
전자 서명 검증 (Receiver):
- 받은 Message → HASH → hash value (재계산)
- Signature + Public Key → 디지털 서명 알고리즘 → hash value (복원)
- 두 hash value를 비교 → 일치(Match) / 불일치(Mismatch)
자동차 적용: OTA 펌웨어 서명, TUF role 메타데이터 서명, ECU 부팅 시 Secure Boot 이미지 서명 검증.
식별 및 개체 인증 (Identification and Entity Authentication)
서로 통신하는 송·수신자 중 한 쪽이 다른 한 쪽의 신원(identity)을 특정 프로토콜을 통해 확인하는 방법. 사용되는 프로토콜을 식별 프로토콜 또는 개체 인증 프로토콜이라 함. 식별과 개체 인증을 구분하기도 하나 일반적으로 동일한 것으로 취급.
- 주된 응용 분야: 자원에 대한 접근 제어(Access Control).
- 메시지 인증(MAC·Digital Signature)과 달리, 개체 인증은 통신 상대방 자체가 누구인지 검증.
자동차 도메인 적용 맵
| 보안 속성 | 암호 기술 | 자동차 적용 |
|---|---|---|
| Confidentiality (기밀성) | 블록 암호 (AES), 공개키 암호 | 진단 통신 암호화, TLS 세션, 개인정보 보호 |
| Integrity (무결성) | 해시 함수, MAC, Digital Signature | OTA 펌웨어 무결성, CAN 메시지 MAC, Secure Boot |
| Authentication (인증) | MAC, Digital Signature, Entity Authentication | ECU ↔ 서버 인증, TUF 서명 검증, 진단 세션 인증 |
| Non-repudiation (부인 방지) | Digital Signature | 업데이트 배포 기록, 사이버보안 사건 감사 |