🛠️ 11강. 보안 요구사항 도출과 분류
"보안 목표는 나침반, 보안 요구사항은 지도다!"
안녕하세요, 사이버보안 항해 중이신 개발자 여러분!
이제 보안 목표(Cybersecurity Goal)까지 세웠다면…
다음 스텝은? 바로 요구사항으로 구체화하는 겁니다!
🎯 목표만으로는 제품이 만들어지지 않아요!
요구사항이 있어야 구현, 검토, 검증까지 쭉 이어질 수 있죠.
이번 강의에서는 보안 요구사항을 어떻게 도출하고,
어떻게 분류하고,
어떻게 시스템과 연계할 수 있을지 알아보겠습니다.
🧱 1. 보안 요구사항이란?
보안 요구사항(Security Requirement)은
"시스템이 보안 목표를 만족하기 위해 구현되어야 할 조건"입니다.
- 요구사항은 구체적이어야 하고
- 검증 가능해야 하며
- 개발 프로세스에 통합될 수 있어야 합니다!
🎯 한 마디로, 보안 목표를 '개발언어'로 번역한 것!
📂 2. 요구사항의 유형 – 기능적 vs 비기능적
✅ 기능적 요구사항 (Functional Requirement)
"무엇을 해야 하는가?"
- 시스템이 어떤 기능을 제공해야 하는지 정의
- 주로 보안 서비스나 메커니즘 중심
예시:
- 차량 도어는 인증된 명령에 의해서만 잠금 해제되어야 한다.
- OTA 업데이트는 무결성 검증이 성공한 경우에만 적용된다.
🔒 비기능적 요구사항 (Non-Functional Requirement)
"어떻게 해야 하는가?"
- 시스템의 품질 속성 또는 운영 조건 정의
- 성능, 유지보수성, 가용성, 정책 등 포함
예시:
- 모든 인증 로그는 삭제 불가능하고 1년 이상 보관되어야 한다.
- 데이터 전송은 TLS 1.2 이상 암호화 프로토콜을 사용해야 한다.
💡 둘 다 중요! 기능적 요구사항은 “행동”을,
비기능적 요구사항은 “조건”을 잡아줍니다.
🧭 3. 요구사항 분류 프레임워크
ISO/SAE 21434에서는 다음과 같은 관점으로 요구사항을 분류할 수 있어요:
유형 | 설명 | 예시 |
---|---|---|
기능적(Functional) | 보안 동작 수행 | 접근 통제, 인증 기능 |
기술적(Technical Control) | 기술적 수단을 통한 보호 | 암호화, 방화벽 |
조직적(Organizational) | 정책/절차/운영 규칙 | 로그 관리 절차, 권한 분리 운영 |
🧩 요구사항은 ‘어떻게 구현할 것인가’에 따라 역할이 나뉘고 책임자가 달라집니다.
🏗️ 4. 시스템 레벨과의 연계 – 어디에 붙일까?
보안 요구사항은 시스템 개발의 다양한 레벨에 맞춰야 합니다:
시스템 레벨 | 보안 요구사항 적용 예 |
---|---|
시스템 아키텍처 | 보안 도메인 분리, 경계 보호 |
소프트웨어 모듈 | 인증 모듈 구현, 암호화 처리 |
네트워크 구성 | 방화벽 설정, 보안 프로토콜 사용 |
운영 정책 | 패치 관리 절차, 접근 권한 정책 |
🎯 보안 요구사항은 단순 문장이 아니라,
시스템 설계와 직접 연결되어야 진짜 힘을 발휘합니다!
🚗 실전 예제: 차량 진단 시스템 보안
🧭 보안 목표:
- 진단 명령은 인증된 장치로부터만 수신되어야 한다.
📋 보안 요구사항:
유형 | 요구사항 예시 |
---|---|
기능적 | 진단 요청 시 mutual authentication 절차를 수행해야 한다. |
비기능적 | 인증 실패 시 5초간 재요청을 제한해야 한다. |
기술적 제어 | TLS 1.3 이상 사용, 인증서 유효성 검사 필수 |
조직적 | 인증서 갱신 주기는 6개월마다 실시한다. |
🧾 실무 팁!
- 요구사항은 “개발자가 구현할 수 있는 언어”로 표현하자
- 너무 광범위하거나 막연한 표현은 피하자 (❌ "보안에 유의한다")
- 요구사항마다 검증 기준(Test Case)도 함께 고려하자
- 가능한 한 요구사항 추적성(Traceability) 확보하자 (Goal ↔ Req ↔ Test)
✅ 오늘의 요약
항목 | 내용 |
---|---|
보안 요구사항 | 보안 목표를 시스템적으로 구현하기 위한 구체적 조건 |
기능적 요구 | “무엇을 해야 한다” – 행동 중심 |
비기능적 요구 | “어떻게 해야 한다” – 품질/정책 중심 |
시스템 연계 | 아키텍처, 모듈, 네트워크, 운영 레벨에 연결 필요 |
분류 관점 | 기능적, 기술적 제어, 조직적 요구사항으로 정리 가능 |
⏭️ 다음 강의 예고
12강. 아키텍처 설계와 보안 통합
보안 요구사항이 정리되었다면,
이제 그것을 아키텍처 설계에 어떻게 녹여낼지 고민할 차례입니다.
- 도메인 분리
- 보안 경계 설정
- ECU 간 신뢰 관계
이 모든 걸 다뤄볼 예정이에요!
🧠 시스템 설계자와 보안 담당자가 함께 보는 필수 강의! 기대해주세요 🔒🏗️
'Cybersecurity > ISO.SAE 21434' 카테고리의 다른 글
(사이버보안 10강) TARA – 위험 평가와 보안 목표 도출 (0) | 2025.06.18 |
---|---|
(사이버보안 9강) TARA – 공격경로와 위협 시나리오 그리기 (0) | 2025.06.17 |
(사이버보안 8강) TARA 시작하기 – 위협 분석의 시작 (3) | 2025.06.14 |
(사이버보안 7강) 사이버보안 계획(Cybersecurity Plan) 세우기 (3) | 2025.06.14 |
(사이버보안 6강) 사이버보안 개발 프로세스 전개 개요 (5) | 2025.06.10 |