콘텐츠로 바로가기

Security & Cryptography

정보 시스템의 보호 원칙인 CIA(기밀성, 무결성, 가용성)를 달성하기 위한 암호 기술과 보안 공학을 다루는 학습 노드입니다.

Article
M

Me

hyunyoun's Blog

security-cryptographysecuritycryptographysecurity-foundationslearningapplied-cryptographycryptographic-protocolkey-management-lifecycle9 min read

1. Overview

보안 및 암호학(Security & Cryptography, SEC)은 디지털 자산의 기밀성(Confidentiality), 무결성(Integrity), 가용성(Availability)을 보장하기 위한 기술적, 관리적 제어 체계를 다룹니다. 본 카테고리는 현대 보안의 근간이 되는 수학적 암호 원리부터, 안전한 신원 인증 프로토콜, 클라우드 기반의 제로 트러스트(Zero Trust) 아키텍처, 그리고 위협 모델링을 통한 사전 예방 공학을 탐구합니다.

CS2023의 Security (SEC) 지식 영역과 CyBOK(Cyber Security Body of Knowledge)을 근간으로 삼아, 공격자의 관점(Offensive, Red Team)과 방어자의 전략(Defensive, Blue Team)을 균형 있게 다룹니다.

과거의 SEC가 경계망(Perimeter) 기반의 방화벽 설정에 그쳤다면, 현대의 SEC는 **'내부망도 신뢰할 수 없다'**는 전제 하에 모든 요청을 검증하는 제로 트러스트, 개발 초기 단계부터 보안을 내재화하는 DevSecOps(09. SED와 연계), 그리고 양자 내성 암호(PQC)로 진화하는 동적인 공학 분야입니다.

2. Scope & Boundaries

In-Scope

  • 암호학(Cryptography): 대칭키(AES)/비대칭키(RSA, ECC) 암호화, 암호학적 해시 함수(SHA-3), 전자서명, 난수 생성기, 키 교환(Diffie-Hellman) 및 PKI 신뢰 체계.
  • 네트워크 및 전송 보안: TLS 1.3 핸드셰이크 프로토콜, VPN(IPsec, WireGuard) 터널링, IDS/IPS 및 차세대 방화벽 작동 원리.
  • 애플리케이션 및 시스템 보안: OWASP Top 10 대응, 시큐어 코딩 패턴, 메모리 보호 기법(ASLR, DEP), 샌드박싱.
  • 신원 및 접근 제어(IAM): 다중 요소 인증(MFA), 인증 프로토콜(OAuth 2.0, OIDC, SAML), 권한 모델(RBAC, ABAC), 제로 트러스트 아키텍처.

Out-of-Scope

  • 물리적 시설 보안: 데이터 센터 출입 통제, CCTV 배치, 생체 인식 하드웨어의 물리 설계 → 인프라/설비 보안으로 위임.
  • 국가 안보 및 사이버전 정치학: 국가 간 사이버전 전략, 해킹 조직 분석, 정치적 거버넌스 → 보안 정책 및 법제도 영역으로 위임.
  • 단순 행정적 컴플라이언스: GDPR, ISMS-P 등 기술 외적 개인정보보호법의 행정 절차 및 서류 작업 작성 가이드.

Boundaries

  • SEC는 데이터의 '물리적 전송(08. NC)' 자체보다 그 데이터가 '인가된 대상에게만(기밀성)', '변조 없이(무결성)', '필요할 때 가용하게(가용성)' 제공되도록 보장하는 암호학적/구조적 통제 목적성에 집중합니다.
  • 소프트웨어 배포 파이프라인 최적화는 SED(09)에서 다루지만, 그 파이프라인 내부에 취약점 스캐닝(SAST/DAST)을 통제(Gate)로 심는 보안 공학적 판단은 SEC의 영역입니다.

3. Counterexample

  • 단순 취약점 스캐너 실행: Nmap이나 자동화된 스캐너 툴을 돌려 취약점 보고서를 뽑는 것만으로는 SEC 학습이 아닙니다. 발견된 취약점이 하부 **메모리 오염(Buffer Overflow)**이나 인증 로직 우회를 통해 어떻게 시스템 전체의 루트(Root) 권한 탈취로 이어지는지(Exploit Chain) 메커니즘을 분석해야 합니다.
  • 암호 알고리즘 명칭만 암기: 단순히 "보안을 위해 AES-256을 쓴다"고 보안이 완성되지 않습니다. **초기화 벡터(IV)**의 유일성 보장 실패나 운용 모드(ECB vs GCM) 선택의 실수로 인해 암호문이 어떻게 해독 가능한지 패턴을 이해하고, 안전한 키 관리(KMS) 전략을 수립하는 것이 핵심입니다.
  • 방화벽(Perimeter) 만능주의: 방화벽 룰만 설정하면 내부망은 안전하다고 믿는 구시대적 착각입니다. 한 번 내부망이 뚫리면(Lateral Movement) 속수무책이 되는 구조를 타파하고, 모든 서비스 간 통신(mTLS)을 검증하는 제로 트러스트 관점의 접근이 필요합니다.

4. Prerequisites

  • 수리와 컴퓨팅 논리 (Basic): 소수 이론, 모듈로 연산, 이산 대수학(Discrete Mathematics) 기초 지식이 현대 암호(RSA, ECC) 알고리즘 이해의 필수 수리적 토대입니다. (P1)
  • 네트워크 및 통신 (Recommended): TCP/IP 흐름, 패킷 구조, HTTP 프로토콜의 특성(Stateless)을 깊이 이해해야 세션 하이재킹(Session Hijacking), XSS, CSRF 공격을 실질적으로 방어할 수 있습니다. (P1)
  • 운영체제 프로세스 모델 (Practical): 프로세스 메모리 구조(Stack, Heap), 커널/유저 스페이스 격리, 권한(Permission) 체계에 대한 이해가 시스템 해킹 방어의 기반입니다. (P1)

5. Learning Map

Sequence Core Cluster Objective & Description Evidence (BoK)
1 Security Foundations & Principles 정보 보안의 핵심 목표인 CIA 3요소(기밀성, 무결성, 가용성)를 이해하고 심층 방어(Defense in Depth) 등 보안 아키텍처의 기본 원칙을 수립합니다. P3
2 Cryptography & PKI 대칭/비대칭키 암호화, 해시 함수 알고리즘의 수학적 원리를 학습하고 공개키 기반구조(PKI)를 통한 디지털 서명 및 신뢰 체계를 구축합니다. P1
3 Application Security & Secure Coding OWASP Top 10을 비롯한 주요 취약점(SQLi, XSS 등)의 공격 메커니즘을 분석하고, 이를 방어하기 위한 시큐어 코딩(Secure Coding) 원칙을 적용합니다. P1
4 Threat Modeling & Zero Trust Architecture STRIDE 등의 위협 모델링 기법으로 잠재적 공격 벡터를 식별하고, 내부망도 신뢰하지 않는 제로 트러스트(Zero Trust) 아키텍처를 설계합니다. Industry

6. Learning Topics

Basic

Core Topic 01: 보안의 3요소와 기본 설계 원칙 (Security Foundations)

  • Why to Learn: 모든 보안 대책이 어떤 비즈니스 자산을 지키기 위한 것인지 명확한 목적성을 세우고, 불필요한 과잉 투자를 방지하며 시스템 설계 초기부터 보안을 내재화(Security by Design)하기 위함입니다.
  • What to Learn:
    • Concepts: CIA Triad(기밀성, 무결성, 가용성), 인증(Authentication)과 인가(Authorization), 책임 추적성(Accountability/Non-repudiation), 심층 방어(Defense in Depth), 최소 권한 원칙(Principle of Least Privilege).
    • Skills: 비즈니스 자산의 중요도에 따른 보안 요구사항 등급 정의, 단일 장애점(SPOF) 식별 및 접근 제어 정책 설계.
    • Tools: 정보보호 정책 명세서 템플릿, 기초 위협 식별 프레임워크.
    • Trade-offs: 강력한 보안 통제(MFA 반복, 복잡한 비밀번호) vs 사용자 편의성 저하 및 시스템 운영 유지 비용 증가.
  • How to Learn:
    • 1단계: 최근의 대규모 클라우드 데이터 유출 사고 사례를 CIA 관점에서 분석하여 어떤 요소(기밀성 침해, 가용성 마비 등)가 파괴되었는지 사후 보고서(Post-mortem)를 작성합니다.
    • 2단계: '자물쇠가 없는 문'과 '자물쇠가 열 개 있는 문'의 위험도, 관리 비용, 통행 효율성을 비교하며 적정 보안(Right-sizing Security)의 개념을 토론합니다.
  • Implement: 특정 이커머스 서비스에 대한 데이터 흐름도(DFD) 기반의 자산 식별 및 CIA 보호 가이드라인.

Core Topic 02: 암호 메커니즘과 신뢰 기반 (Cryptography & PKI)

  • Why to Learn: 인터넷이라는 공개된 네트워크 상에서 상대방의 신원을 검증하고 데이터를 가로채기(Sniffing)나 변조 불가능한 상태로 안전하게 전송하기 위한 필수 수학적 기반 기술이기 때문입니다.
  • What to Learn:
    • Concepts: 대칭키(AES) vs 비대칭키(RSA, ECC), 암호학적 해시 함수(SHA-256)와 충돌 저항성(Collision Resistance), 디지털 서명, 공개키 기반 구조(PKI) 및 인증서(CA) 체인.
    • Skills: 하이브리드 암호화 과정에서의 키 교환(Key Exchange - Diffie-Hellman) 추적, 인증서 경로(Certificate Path) 및 해지(CRL/OCSP) 검증 논리 이해.
    • Tools: OpenSSL CLI, GnuPG, AWS KMS / HashiCorp Vault.
    • Trade-offs: 비대칭키 암호 알고리즘의 강력한 키 분배 안전성 vs 대칭키 대비 수십~수백 배 느린 암복호화 연산 오버헤드.
  • How to Learn:
    • 1단계: OpenSSL CLI를 사용하여 직접 개인키/공개키 쌍을 생성하고, 공개키로 텍스트를 암호화한 뒤 개인키로 복호화하는 비대칭 통신 전 과정을 실습합니다.
    • 2단계: 웹 브라우저가 HTTPS(TLS) 핸드셰이크 단계에서 대칭키(세션 키)를 안전하게 교환하고 서버의 인증서를 검증하는 과정을 Wireshark 패킷 단위로 분석합니다.
  • Implement: 특정 민감 데이터(예: 사용자 주민등록번호, 비밀번호 해시)를 안전하게 다루기 위한 키 관리 시스템(KMS) 연동 암호화 모듈 설계.

Practical

Core Topic 03: 애플리케이션 보안 및 시큐어 코딩 (AppSec & Secure Coding)

  • Why to Learn: 방화벽이 아무리 견고해도 합법적인 포트(80, 443)를 통해 들어오는 소프트웨어 로직 결함(예: 입력값 미검증)으로 인한 데이터 유출 공격을 원천 차단하기 위함입니다.
  • What to Learn:
    • Concepts: OWASP Top 10 취약점(SQL Injection, XSS, CSRF, 취약한 직접 객체 참조(IDOR), SSRF), 안전하지 않은 역직렬화(Insecure Deserialization).
    • Skills: 화이트리스트 기반의 입력값 검증(Input Validation) 및 출력 인코딩 구현, 시큐어 코딩 컨벤션(Secure Coding Standard) 수립 및 준수 여부 진단.
    • Tools: Burp Suite (Proxy/Repeater), OWASP ZAP(동적 분석), SonarQube / Snyk(정적 분석).
    • Trade-offs: 모든 입력에 대한 깐깐한 화이트리스트 검증(개발 복잡도 증가) vs 정규식을 통한 단순 블랙리스트 필터링(우회 취약점 발생 위험).
  • How to Learn:
    • 1단계: 의도적으로 취약하게 설계된 웹 훈련 환경(DVWA, WebGoat)에서 XSS 및 SQLi 공격 페이로드를 주입하여 플래그를 탈취하고, 원인 소스 코드를 분석하여 패치 코드를 작성합니다.
    • 2단계: CI/CD 파이프라인에 정적 분석 도구(SAST)를 연동하여 평문으로 하드코딩된 비밀번호나 SQLi 취약점이 검출된 PR(Pull Request)을 자동으로 차단하는 설정을 해 봅니다.
  • Implement: 시큐어 코딩 수칙이 적용된 안전한 API 서버 구축 및 공격 시뮬레이션 방어 결과 리포트.

Advanced

Core Topic 04: 위협 모델링과 제로 트러스트 아키텍처 (Threat Modeling & Zero Trust)

  • Why to Learn: 원격 근무와 클라우드 도입으로 인해 '경계(Perimeter) 붕괴'가 일상화된 현대 환경에서, 내부자 사고까지 대비하는 최상위 아키텍처 설계 역량을 확보하기 위함입니다.
  • What to Learn:
    • Concepts: 위협 모델링(STRIDE, DREAD), 공격 트리(Attack Tree), 측면 이동(Lateral Movement), 제로 트러스트(Zero Trust) 5대 원칙(Verify Explicitly, Least Privilege Access, Assume Breach), 마이크로 세분화(Micro-segmentation).
    • Skills: 시스템 아키텍처 다이어그램에서 공격 벡터(Attack Vector) 식별 및 기술적/절차적 완화 전략(Mitigation) 수립.
    • Tools: Microsoft Threat Modeling Tool, IAM Policy Simulator, 서비스 메시(Istio - mTLS).
    • Trade-offs: 완벽한 네트워크 격리 및 모든 트랜잭션 단위의 재검증(운영 관리 복잡도 및 레이턴시 증가) vs 신뢰 기반의 내부망 허용(침해 시 막대한 피해 확산).
  • How to Learn:
    • 1단계: 특정 클라우드 서비스(예: 서버리스 이미지 변환 앱) 아키텍처를 대상으로 STRIDE 분석을 수행하여 Spoofing, Tampering 등의 위협을 식별하고 우선순위 방어 대책을 도출합니다.
    • 2단계: VPN 기반의 기존 망 접속 방식을 탈피하고, 모든 API 접근 시도에 대해 OIDC/OAuth 2.0 기반의 기기 무결성 체크와 MFA를 강제하는 제로 트러스트 워크플로우를 도식화합니다.
  • Implement: 'Assume Breach(이미 침해되었다고 가정하라)' 원칙을 적용한 전사적 마이크로서비스 간 인증 아키텍처 로드맵 및 보안 정책안.

7. Terminology

Term (EN / ko, abbr) 1문장 정의 단계(기본/권장/실무/심화) 역할/맥락 관련 개념 유사/대비/함께 사용 오해 포인트 Evidence(Primary/Secondary/Industry) Flags(core)
Public Key Cryptography 공개키와 비밀키를 한 쌍으로 사용하여 암호화와 서명을 수행하는 비대칭 방식입니다. 기본 보호 원리 RSA, ECC vs. Symmetric Key 공개키가 암호화에만 사용된다고 착각(서명엔 비밀키 사용) Primary core
Zero Trust 내부 망조차 신뢰하지 않고 모든 접근 시도를 명시적으로 재검증하는 보안 모델입니다. 심화 아키텍처 IAM vs. Perimeter Security 단순히 방화벽을 제거하는 기술로 오해함(전략의 변화임) Industry SP 800-207 core
STRIDE Model 6가지 위협 유형을 통해 시스템 아키텍처의 취약점을 분석하는 마이크로소프트의 기준입니다. 실무 분석 기법 Threat Modeling vs. DREAD 단순히 해킹 기법의 목록으로 오해(설계 분석 도구임) Industry, CyBOK core
Perfect Forward Secrecy 장기 세션 키가 유출되어도 과거에 기록된 통신 내역은 복호화할 수 없는 속성입니다. 권장 암호 안정성 DH Exchange TLS 1.3 일반적인 암호화 방식이면 당연히 보장된다고 믿는 오해 Primary core

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)하고 이상 패턴 감지 시 즉각 대응할 수 있는 런북을 갖췄는가?

Security Foundations & Cryptography

6 / 6