위험을 식별하고 → 요구사항으로 만들고 → 검증하고 → 증명하는
전체 흐름이 하나의 추적 가능한 체인으로 연결되어야 합니다.
오늘은 그 흐름을 산출물 단위로 통째로 정리합니다.
전체 그림부터 — 산출물은 하나의 흐름이다
개별 산출물을 하나씩 이해하기 전에 전체 흐름을 먼저 잡아야 합니다. 문서가 많아 보여도, 사실은 하나의 논리적 흐름 위에 놓여 있습니다.
산출물별 상세 정리
| 단계 | 산출물 | 핵심 질문 | 주요 내용 |
|---|---|---|---|
| ① | Item Definition | 무엇을 개발하는가? | 시스템 기능, 외부 인터페이스, 네트워크 연결, 데이터 흐름, 시스템 경계 |
| ② | Asset Identification | 무엇을 보호할 것인가? | 보안키, 소프트웨어 이미지, 차량 제어 기능, 진단 서비스, CAN 메시지 등 |
| ③ | TARA | 어떤 위험이 있는가? | Threat Scenario, Attack Path, Impact Rating, Attack Feasibility, Risk 산출 |
| ④ | Cybersecurity Goal | 무엇을 달성해야 하는가? | Risk가 높은 항목을 보안 목표로 정의. 구현 방법은 포함하지 않음 |
| ⑤ | Cybersecurity Requirement | 어떻게 구현할 것인가? | Goal을 실제 구현 가능한 수준의 요구사항으로 변환 |
| ⑥ | System/HW/SW Requirement | 누가 무엇을 개발하는가? | 보안 요구사항을 개발 영역(시스템/하드웨어/소프트웨어)별로 분해 |
| ⑦ | Implementation | 실제 구현이 되었는가? | 코드, 설정, 하드웨어 설계 등 실제 결과물 |
| ⑧ | V&V | 올바르게 만들었고, 효과가 있는가? | 코드 리뷰, 정적 분석, 요구사항 시험(Verification) / PenTest, 공격 시뮬레이션(Validation) |
| ⑨ | Cybersecurity Case | 충분한 보안을 달성했다는 증거는? | 위 모든 산출물의 결과를 연결한 최종 증거 문서 |
각 산출물, 현업에서는 이렇게 쓰인다
① Item Definition — 보안 분석의 범위를 정의한다
모든 것은 "무엇을 분석할 것인가"를 정하는 것에서 시작됩니다. Item Definition이 불분명하면 TARA 범위가 흔들리고, 뒤에 나오는 모든 산출물의 품질이 흔들립니다.
② Asset Identification — 보호 대상을 구체적으로 찾는다
자산(Asset)은 물리적인 것만이 아닙니다. 데이터와 기능도 자산입니다. Gateway ECU라면 진단 서비스, CAN 메시지 라우팅 기능, 보안키, 소프트웨어 이미지 모두가 보호 대상이 될 수 있습니다.
③ TARA — 사이버보안의 핵심 분석 문서
Threat Analysis and Risk Assessment. 여기서 나온 Risk 등급이 이후 모든 요구사항의 근거가 됩니다.
현업 경험
④ Cybersecurity Goal — "무엇을"을 정의한다
TARA에서 Risk가 높은 항목은 Cybersecurity Goal로 승격됩니다. Goal은 구현 방법을 포함하지 않습니다. "무엇을 달성해야 하는가"만을 정의합니다.
⑤ Cybersecurity Requirement — "어떻게"를 정의한다
Goal을 실제 엔지니어가 구현할 수 있는 수준으로 변환하는 단계입니다. 이 문서부터 개발 조직이 읽을 수 있는 내용이 됩니다.
Goal: "승인되지 않은 사용자의 ECU 재프로그램 방지"
→ Requirement: "ECU는 Flash Download 수행 전 UDS Security Access(0x27) 인증을 완료해야 한다"
⑥ System / HW / SW Requirement — 요구사항이 개발 조직으로 내려간다
Cybersecurity Requirement는 하나지만, 이를 구현하기 위해 시스템 / 하드웨어 / 소프트웨어 레벨로 분해됩니다.
System Req: ECU는 인증된 사용자만 재프로그램 가능해야 한다
SW Req: UDS Service 0x27 구현, Seed/Key 알고리즘 적용
HW Req: 암호키 저장을 위한 HSM 사용
현업 경험
⑦ Verification & Validation — 두 개의 V는 완전히 다른 질문이다
- 코드 리뷰
- 정적 분석 (MISRA·CERT)
- 요구사항 기반 기능 시험
- Integration Test
- Penetration Test
- 공격 시뮬레이션
- Fuzz Testing
- Residual Risk 판단
요구사항 시험을 다 통과했다고 해서 실제 보안이 충분하다는 의미는 아닙니다. Validation은 "공격자 관점"에서 다시 한번 검증하는 과정입니다.
⑧ Cybersecurity Case — 모든 증거를 묶는 최종 문서
많은 사람들이 마지막에야 이해하는 문서입니다. Cybersecurity Case는 새로 작성하는 문서가 아닙니다. 앞서 만든 모든 산출물의 결과를 연결하여 "우리는 충분한 보안을 달성했다"는 논거를 구성하는 문서입니다.
Cybersecurity Case는 보안을 '주장'하는 것이 아니라, 주장을 '증명'하는 것입니다.
TARA 결과 / Cybersecurity Goal / Requirement / 시험 결과 / 잔여 위험(Residual Risk) 분석 / 미결 사항 처리 이력
결국 자동차 사이버보안은 추적성(Traceability)의 싸움이다
실무 프로젝트에서 가장 자주 받는 질문이 있습니다.
"Secure Boot 구현했는데 이제 끝난 거 아닌가요?"
ISO/SAE 21434가 진짜로 묻는 것은 기술 그 자체가 아닙니다. 그 기술이 어떤 위험(TARA) 때문에 필요했고, 어떤 목표(Goal)를 달성하기 위한 것이며, 어떤 요구사항(Requirement)으로 정의되었고, 어떻게 검증(V&V)되었는지를 하나의 끊기지 않는 체인으로 증명하는 것입니다.
현업 경험
'차량 사이버보안 > ISO21434 실무' 카테고리의 다른 글
| TARA는 언제 다시 해야 할까? — 변경관리(Change Management)의 현실 (1) | 2026.06.08 |
|---|---|
| 보안 요구사항은 누가 작성해야 할까? — 시스템 엔지니어 vs 보안 엔지니어의 현실 (0) | 2026.06.05 |
| 왜 차량 사이버보안은 결국 “문서 싸움”이 될까?— Secure Boot보다 더 중요한 건 “설명할 수 있는가”다 (0) | 2026.05.20 |
| “HW는 같은데 SW만 조금 달라요” — TARA랑 보안 시험 다시 해야 하나? (0) | 2026.05.20 |
| Cybersecurity Goal vs Requirement vs Claim — 계층 구조 혼란 정리 (1) | 2026.05.19 |