Security & Cryptography
정보 시스템의 보호 원칙인 CIA(기밀성, 무결성, 가용성)를 달성하기 위한 암호 기술과 보안 공학을 다루는 학습 노드입니다.
sys.entry
M
Me
hyunyoun's Blog
posts7 min read
1. Overview
보안 및 암호학(Security & Cryptography, SEC)은 디지털 자산의 기밀성(Confidentiality), 무결성(Integrity), 가용성(Availability)을 보장하기 위한 기술적, 관리적 제어 체계를 다룹니다. 본 카테고리는 현대 보안의 근간이 되는 수학적 암호 원리부터, 안전한 신원 인증 프로토콜, 클라우드 기반의 제로 트러스트(Zero Trust) 아키텍처, 그리고 위협 모델링을 통한 사전 예방 공학을 탐구합니다.
CS2023의 Security (SEC) 지식 영역과 CyBOK(Cyber Security Body of Knowledge)을 근간으로 삼아, 공격자의 관점(Offensive)과 방어자의 전략(Defensive)을 균형 있게 다룹니다.
2. Scope & Boundaries
In-Scope
- 암호학(Cryptography): 대칭/비대칭키 암호화, 안전한 해시 함수, 전자서명 및 PKI 신뢰 체계.
- 네트워크 및 전송 보안: TLS/SSL 핸드셰이크, VPN 기술, IDS/IPS 및 차세대 방화벽 작동 원리.
- 애플리케이션 보안: OWASP Top 10 대응, 시큐어 코딩 패턴, 정적(SAST)/동적(DAST) 분석 기법.
- 신원 및 접근 관리: 다중 요소 인증(MFA), RBAC/ABAC 권한 모델, 제로 트러스트 보안 원칙.
Out-of-Scope
- 물리적 시설 보안: 데이터 센터 출입 통제나 생체 인식 하드웨어의 물리 설계 (인프라 보안으로 위임).
- 국가 안보 및 국제법: 국가 간 사이버전 전략 및 정치적 거버넌스 (별도 정책 영역으로 위임).
- 단순 행정적 컴플라이언스: 기술 외적 개인정보보호법(GDPR/KPPA)의 행정 절차 및 서류 작업.
Boundaries
- SEC는 데이터의 '물리적 전송' 자체보다 그 데이터가 '인가된 대상에게만(C)', '변조 없이(I)', '필요할 때 가용하게(A)' 제공되도록 보장하는 통제 목적성에 집중합니다.
3. Counterexample
- 단순 취약점 스캐너 실행: 툴을 돌려 결과 보고서를 뽑는 것만으로는 SEC 학습이 아닙니다. 발견된 취약점이 하부 **메모리 오염(Corruption)**이나 인증 로직 우회를 통해 어떻게 시스템 전체 권한 탈취로 이어지는지 메커니즘을 분석해야 합니다.
- 암호 알고리즘 명칭만 암기: 단순히 AES-256을 쓴다고 보안이 완성되지 않습니다. **초기화 벡터(IV)**의 유일성이나 **운용 모드(GCM/CBC)**에 따른 취약점 차이를 이해하고 안전한 키 관리(KMS) 전략을 수립하는 것이 핵심입니다.
4. Prerequisites
- 수학과 컴퓨팅 논리 (Basic): 소수 이론, 모듈로 연산, 이산수학적 지식이 현대 암호 알고리즘 이해의 수리적 토대입니다. (P1
) - 네트워크 및 통신 (Recommended): 패킷 구조와 TCP/IP 흐름을 이해해야 세션 하이재킹이나 중간자 공격(MITM)을 실질적으로 방어할 수 있습니다. (P1
) - 운영체제 (Practical): 프로세스 격리 모델, 메모리 보호 기법(ASLR, DEP), 시스템 콜 권한 상승 경로에 대한 이해가 필요합니다. (P1
)
5. Learning Map
- Information Protection: 데이터 보호의 근본 목표인 CIA 3요소와 보안 설지의 기본 원칙(Defense in Depth)을 익힙니다. (P3
) - Cryptographic Core: 대칭/비대칭 키 보호의 수학적 원리와 무결성 검증을 위한 메시지 인증 코드(MAC)를 배웁니다. (P1
) - Application Defence: 웹/모바일 취약점 방어 패턴과 통신 구간 암호화 프로토콜을 실무에 적용합니다. (P1
) - Resilient Architecture: 위협 모델링을 통해 공격면을 분석하고 제로 트러스트 기반의 복구력 있는 시스템을 구축합니다.
6. Learning Topics
Basic
Core Topic 01: 보안의 3요소와 기본 설계 원칙 (Security Foundations)
- Why to Learn: 모든 보안 대책이 어떤 비즈니스 가치를 지키기 위한 것인지 명확한 목적성을 세우고 과잉 투자를 방지하기 위함입니다.
- What to Learn:
- Concepts: CIA Triad(기밀성, 무결성, 가용성), 책임 추적성(Accountability), 심층 방어(Defense in Depth).
- Skills: 자산의 중요도에 따른 보안 요구사항 등급 정의, 최소 권한 원칙(POLP) 적용.
- Tools: 보안 요구사항 명세서, 위협 모델링 기초.
- Trade-offs: 보안 강도 강화에 따른 사용자 편의성 및 시스템 성능 저하.
- How to Learn:
- 1단계: 최근의 대규모 보안 사고 사례를 CIA 관점에서 분석하여 어떤 요소가 파괴되었는지 보고서를 작성합니다.
- 2단계: '자물쇠가 없는 문'과 '열 개가 있는 문'의 위험도와 비용 효율성을 비교해 봅니다.
- Implement: 특정 서비스에 대한 자산 식별 및 CIA 보호 가이드라인.
Recommended
Core Topic 02: 암호 메커니즘과 신뢰 기반 (Cryptography & PKI)
- Why to Learn: 인터넷상에서 상대방의 신원을 확인하고 데이터를 가로채기 불가능한 상태로 전송하기 위한 필수 기반 기술이기 때문입니다.
- What to Learn:
- Concepts: 대칭키 vs 비대칭키, 해시 함수(Collision resistance), 디지털 서명, 인증서(CA) 체인.
- Skills: 하이브리드 암호화 과정(Key exchange) 추적, 인증서 경로 검증 논리 이해.
- Tools: OpenSSL, Hashcalc, KMS(Key Management Service).
- Trade-offs: 암호 알고리즘의 복잡도(안전성) vs 암/복호화에 따른 연산 오버헤드.
- How to Learn:
- 1단계: OpenSSL을 사용하여 직접 개인키를 생성하고, 공개키로 텍스트를 암호화한 뒤 복호화하는 전 과정을 실습합니다.
- 2단계: HTTPS 핸드셰이크 단계에서 대칭키가 안전하게 공유되는 과정을 패킷 단위로 분석합니다.
- Implement: 특정 민감 데이터를 안전하게 다루기 위한 하이브리드 암호화 모듈.
Practical
Core Topic 03: 애플리케이션 보안 및 시큐어 코딩 (AppSec & Secure Coding)
- Why to Learn: 소프트웨어 결함으로 인한 데이터 유출 공격의 90%가 발생하는 애플리케이션 계층을 원천적으로 보호하기 위함입니다.
- What to Learn:
- Concepts: SQL Injection, XSS, CSRF, 취약한 직접 객체 참조(IDOR), 안전하지 않은 역직렬화.
- Skills: 입력값 검증 및 출력 필터링 구현, 시큐어 코딩 컨벤션 준수 여부 진단.
- Tools: Burp Suite (Proxy), OWASP ZAP, Static Analysis Tools.
- Trade-offs: 블랙리스트 방식의 차단(누락 위험) vs 화이트리스트 방식의 허용(관리 복잡도).
- How to Learn:
- 1단계: 의도적으로 취약하게 설계된 웹 환경(DVWA 등)에서 공격 소스 코드를 분석하고 패치 코드를 작성합니다.
- 2단계: 개발 파이프라인에 정적 분석 도구를 연동하여 자동으로 취약점을 검출하는 설정을 해 봅니다.
- Implement: 보안 수칙이 적용된 안전한 API 서버 구축 및 보안 진단 결과 리포트.
Advanced
Core Topic 04: 위협 모델링과 제로 트러스트 아키텍처 (Threat Modeling & Zero Trust)
- Why to Learn: '내부자 사고'와 '경계 붕괴'가 일상화된 현대 환경에서 지속적인 안전을 확보하기 위한 최상위 설계 역량입니다.
- What to Learn:
- Concepts: STRIDE 위협 모델, 공격 트리(Attack Tree), 마이크로 세분화(Micro-segmentation), 제로 트러스트 5대 원칙.
- Skills: 시스템 구성도에서 공격 포인트 식별 및 완화 전략(Mitigation) 수립.
- Tools: Microsoft Threat Modeling Tool, IAM Policy Simulator.
- Trade-offs: 완벽한 격리 및 재검증 구조 vs 네트워크 지연 및 운영 관리 비용 증가.
- How to Learn:
- 1단계: 특정 클라우드 아키텍처를 대상으로 STRIDE 분석을 수행하여 우선순위 보안 대책을 도출합니다.
- 2단계: 모든 접근 시도에 대해 MFA를 강제하고 기기 무결성을 체크하는 제로 트러스트 워크플로우를 설계합니다.
- Implement: 제로 트러스트 원칙을 적용한 전사적 보안 아키텍처 로드맵 및 정책안.
7. Terminology
8. References
Primary References
- [P1] CS2023: SEC — Security Knowledge Area (Foundations to Applications).
- [P3] CyBOK — The Cyber Security Body of Knowledge (21 Knowledge Areas).
- [P5] SFIA v9: Information Security — 정보 보안 아키텍처 설계 및 관리 역량.
Secondary References
- [OWASP Top 10] — 웹 애플리케이션 보안 취약점의 글로벌 표준 가이드.
- [NIST Cybersecurity Framework] — 조직의 핵심 보안 기능을 관리하는 프레임워크 표준.
Industry References
- [Microsoft Security Best Practices] — 엔터프라이즈 환경의 보안 강화 실무 가이드.
- [Google Cloud Security Whitepapers] — 클라우드 기반 인프라 보안 및 가상화 보안 원칙.
9. Final Checklist
Primary Checklist
- 비대칭키 암호화와 전자서명을 사용하여 데이터 무결성과 송신처의 부인방지(Non-repudiation)를 보충했는가? (P3)
- 패스워드와 같은 민감 정보 저장 시 솔트(Salt)를 포함한 강력한 해시 알고리즘(Argon2, bcrypt)을 사용하는가? (P1-SEC)
Secondary Checklist
- 시스템 설계 시 STRIDE 모델을 통해 식별된 잠재 위협이 적절한 기술적 컨트롤로 완화되었는가?
- 개발 파이프라인에 소스코드 보안 분석(SAST) 및 알려진 라이브러리 취약점 검사(SCA)가 포함되었는가?
Industry Checklist
- "최소 권한의 원칙(POLP)"에 따라 사용자 및 API 키의 접근 범위가 필요한 수준으로 최소화되어 있는가?
- 보안 로그를 중앙에서 관측(Monitoring)하고 이상 패턴 감지 시 즉각 대응할 수 있는 런북을 갖췄는가?