차량 사이버보안/ISO21434 실무

Cybersecurity Goal vs Requirement vs Claim — 계층 구조 혼란 정리

vsec 2026. 5. 19. 10:06
현업에서 보는 차량 보안 기술

자동차 사이버보안을 시작하면 이 용어들이 계속 등장합니다.

Cybersecurity Goal, Cybersecurity Requirement, Security Claim.

문제는, 이름이 전부 비슷하게 생겼다는 겁니다.

그래서 실제 프로젝트에서도 이런 대화가 반복됩니다.

"이거 Goal 아닌가요?" "아니, Requirement 아닌가요?" "Claim이 Requirement랑 뭐가 다른 거죠?"

ISO/SAE 21434 문서를 읽다 보면 계층 구조가 머릿속에서 꼬이기 시작합니다. 비슷한 이름, 비슷한 위치, 비슷해 보이는 내용.

하지만 이 구조를 한 번 제대로 이해하면, TARA부터 형식승인까지 전체 흐름이 한 번에 연결됩니다.

오늘은 자동차 사이버보안에서 가장 많이 혼동되는
Goal / Requirement / Claim의 차이를
실제 ECU 개발 흐름 기준으로 정리해봅니다.

왜 이 구조가 중요한가

자동차 보안은 단순히 "보안 기능을 넣는 작업"으로 끝나지 않습니다.

규제와 개발은 항상 이렇게 움직입니다.

CYBERSECURITY DEVELOPMENT FLOW
TARA
Risk
식별
GOAL
보안 목표
정의
REQUIREMENT
기술 요구사항
분해
IMPLEMENTATION
ECU
구현
VALIDATION
테스트·
검증
CLAIM
보안
입증

세 개념은 이 흐름에서 각자 다른 역할을 담당합니다.

CYBERSECURITY GOAL
"무엇을 보호할 것인가?"
TARA에서 도출된 위험을 바탕으로 보호 대상과 방향을 정의합니다. 구현 방법은 포함되지 않습니다.
CYBERSECURITY REQUIREMENT
"ECU가 무엇을 해야 하는가?"
Goal을 구현 가능한 기술 요구사항으로 분해합니다. 테스트로 검증할 수 있어야 합니다.
SECURITY CLAIM
"충족됐다는 걸 어떻게 증명하는가?"
구현 결과가 보안 목표를 달성했다는 주장입니다. 반드시 Evidence가 뒷받침되어야 합니다.

Cybersecurity Goal — 방향을 정의하는 단계

Goal은 가장 상위 개념입니다. TARA에서 위험 시나리오를 분석한 뒤, "무엇을 반드시 보호해야 하는가"를 정의합니다.

핵심은 기술 구현이 들어가지 않는다는 점입니다. Goal은 "목적"만 담습니다.

예시 — OTA 공격 시나리오

TARA 분석 결과, 공격자가 악성 OTA 패키지를 주입해 차량 기능을 변조할 수 있다는 Risk가 도출됐다고 가정합니다.

그럼 Cybersecurity Goal은 이렇게 나옵니다.

올바른 Goal

"인가되지 않은 소프트웨어가 ECU에 설치되지 않도록 해야 한다"

중요한 건, 이 문장에 Secure Boot, RSA, HSM 같은 구현 기술이 전혀 등장하지 않는다는 점입니다. Goal은 무엇을 달성해야 하는가만 정의합니다.

자주 하는 실수

"RSA-2048 기반 Secure Boot를 적용해야 한다" — 이건 Goal이 아닙니다. 이미 구현 방법이 들어갔습니다.

Cybersecurity Requirement — 구현을 지시하는 단계

여기서부터 구현 레벨로 내려옵니다. Requirement는 "Goal을 달성하기 위해 ECU가 무엇을 해야 하는가"입니다. Goal을 기술 요구사항으로 분해한 결과물입니다.

같은 OTA 예시로 보면

Goal: "인가되지 않은 소프트웨어 설치 방지"

이 Goal에서 다음과 같은 Requirement들이 도출됩니다.

번호 Cybersecurity Requirement 테스트 가능 여부
REQ-01 ECU는 부팅 시 소프트웨어 디지털 서명을 검증해야 한다 ✅ 검증 가능
REQ-02 ECU는 OEM 공개키를 HSM 내부에 저장해야 한다 ✅ 검증 가능
REQ-03 서명 검증 실패 시 부팅을 중단하고 오류 로그를 기록해야 한다 ✅ 검증 가능
REQ-04 Anti-Rollback 카운터 검증을 수행해야 한다 ✅ 검증 가능

이제 개발팀이 구현하고 테스트팀이 검증할 수 있는 수준이 됩니다.

핵심: Requirement는 반드시 테스트 가능해야 합니다. "충분히 안전해야 한다"처럼 기준이 없는 문장은 Requirement가 아닙니다.

Security Claim — 충족을 입증하는 단계

여기서 가장 많이 혼동됩니다. Claim은 Requirement가 아닙니다.

Claim은 "우리가 보안 목표를 실제로 달성했다고 주장하는 내용"입니다. 그리고 Claim에는 반드시 Evidence(근거)가 필요합니다.

왜 Claim이 필요한가

자동차 보안은 규제 산업입니다. 단순히 "Secure Boot 구현했어요"로 끝나지 않습니다. OEM, VTA, Auditor는 반드시 묻습니다.

"그걸 어떻게 증명할 수 있습니까?"

그래서 등장하는 게 Claim + Evidence 구조입니다.

Claim과 Evidence의 실제 형태

Claim 예시:

"이 ECU는 인증되지 않은 소프트웨어의 실행을 방지한다"

이 Claim을 뒷받침하는 Evidence는 다음과 같이 구성됩니다.

EVIDENCE LIST
📄
Secure Boot 설계 문서 및 아키텍처 명세
🔑
공개키 저장 구조 및 HSM 설정 문서
🧪
단위 테스트 및 통합 테스트 결과
🔍
Penetration Test 결과 및 취약점 처리 이력
📋
Validation Report (서명 실패 시나리오 포함)
📊
부팅 실패 로그 및 오류 처리 테스트 결과
Claim의 본질:
"우리는 안전하다"가 아니라,
"이 Evidence들이 있기 때문에 우리는 안전하다고 말할 수 있다"입니다.

세 개념 비교 — 한눈에 정리

구분 핵심 질문 포함 내용 작성 시점
Cybersecurity Goal 무엇을 보호할 것인가? 보호 대상, 보호 목적
(구현 기술 ❌)
TARA 완료 후
Cybersecurity Requirement ECU가 무엇을 해야 하는가? 기술 요구사항
(테스트 가능해야 함)
Concept Phase
Security Claim 충족됐다고 어떻게 증명하는가? 주장 + Evidence
(근거 없으면 무효)
Validation 완료 후

자주 나오는 실수 4가지

❌ 실수 1 — Goal에 기술이 들어간 경우
"RSA-2048 기반 Secure Boot를 적용해야 한다"

이건 Goal이 아니라 Requirement입니다.

Goal은 구현 방법 없이 보호 목적만 담아야 합니다.
✅ 올바른 Goal
"인가되지 않은 소프트웨어 실행을 방지해야 한다"

구현 기술 없이 보호 목적만 명시했습니다.

무엇을 보호할지만 정의 → 구현 자유도 확보.
❌ 실수 2 — 검증 불가 Requirement
"ECU는 충분히 안전해야 한다"

이건 테스트 기준이 없습니다.

개발팀도, 테스트팀도, 아무도 판단 기준을 모릅니다.
✅ 올바른 Requirement
"서명 검증 실패 시 부팅을 중단하고 오류 로그를 기록해야 한다"

조건과 결과가 명확합니다.

테스트 케이스를 바로 작성할 수 있습니다.

ISO 21434가 이 구조를 요구하는 이유 — Traceability

ISO 21434는 단순 기술 표준이 아닙니다. 핵심은 하나입니다.

"왜 이 보안 기능이 필요한지, 처음부터 끝까지 추적 가능해야 한다"

그래서 Goal, Requirement, Test, Claim이 서로 연결되어야 합니다.

TRACEABILITY CHAIN
TARA RISK
위험
시나리오
GOAL
보안
목표
REQUIREMENT
기술
요구사항
TEST CASE
검증
케이스
CLAIM
보안
입증

이를 Bidirectional Traceability(양방향 추적성)라고 합니다. Requirement가 바뀌면 연결된 Test Case와 Claim도 영향을 받습니다. 이 연결이 끊어지면 형식승인에서 문제가 됩니다.


현업에서는 이렇게 경험한다

현업 경험 4가지

OEM마다 Goal 레벨이 다르다 — 어떤 OEM은 매우 추상적인 Goal만 제공하고 Tier-1이 Requirement를 정의하게 합니다. 반대로 일부 OEM은 이미 구현 기술이 포함된 Requirement 수준의 내용을 "Goal"이라고 부르기도 합니다. 이름보다 역할로 판단하는 게 맞습니다.
검증 불가 Requirement는 프로젝트 후반에 터진다 — "안전해야 한다", "보안이 강해야 한다"처럼 기준이 없는 문장은 개발 단계에서는 넘어가지만, 테스트·Audit 단계에서 반드시 문제가 됩니다. 처음부터 테스트 가능하게 쓰는 훈련이 필요합니다.
Claim은 VTA/Audit 대응에서 핵심이 된다 — 실제 규제 대응에서는 "무엇을 구현했는가"보다 "왜 그것으로 충분하다고 판단했는가"를 설명해야 하는 순간이 옵니다. Claim 없이 구현물만 있으면 이 설명이 불가능합니다.
Traceability 관리가 생각보다 어렵다 — Requirement 하나가 바뀌면 연결된 Test Case, Evidence, Claim까지 영향이 갑니다. 프로젝트 후반일수록 이 연결을 유지하는 게 큰 작업이 됩니다. 보안 프로젝트에서 문서 관리 도구(ALM)가 중요한 이유입니다.

마무리

자동차 보안 개발은 보안 기능을 추가하는 작업이 아닙니다.

왜 필요한지 설명하고,
무엇을 해야 하는지 정의하고,
그 결과를 증명하는 과정입니다.

Goal은 방향을 만들고, Requirement는 ECU를 움직이며, Claim은 그 결과를 입증합니다.

그리고 ISO 21434는 이 전체 연결 구조—TARA → Goal → Requirement → Test → Claim—가 끊어지지 않고 이어져 있을 것을 요구하는 표준입니다.

핵심 요약
1
Cybersecurity Goal은 "무엇을 보호할 것인가" — 구현 기술이 들어가면 안 됩니다
2
Cybersecurity Requirement는 "ECU가 무엇을 해야 하는가" — 반드시 테스트 가능해야 합니다
3
Security Claim은 "우리가 실제로 안전하다고 주장하는 내용" — Evidence 없는 Claim은 주장에 불과합니다
4
Traceability는 Goal→Requirement→Test→Claim이 서로 연결되는 구조 — ISO 21434의 핵심 요구사항입니다
5
자동차 보안은 기능 구현보다 "왜 충분한가를 설명하는 구조"가 더 중요합니다
ISO21434 CybersecurityGoal SecurityRequirement SecurityClaim TARA 차량사이버보안 자동차보안설계 Traceability VTA CSMS
반응형