Security Foundations & Cryptography
정보 보호의 3대 요소인 CIA와 데이터의 기밀성, 무결성을 보장하는 암호학적 알고리즘 및 수학적 토대를 다루는 학습 노드입니다.
sys.entry
M
Me
hyunyoun's Blog
posts6 min read
1. Overview
보안 기초 및 암호학(Security Foundations & Cryptography, SFC)은 디지털 세계의 안전을 지탱하는 가장 근본적인 물리적/수학적 방어 체계를 다룹니다.
모든 보안 활동의 목표는 정보의 **기밀성(Confidentiality), 무결성(Integrity), 가용성(Availability)**이라는 CIA 3대 요소를 유지하는 것입니다. 학습자는 대칭키와 공개키 암호화의 논리적 차이, 데이터 변조를 막는 해시(Hash) 함수의 물리적 특성, 그리고 디지털 서명(Digital Signature)을 통한 부인 방지(Non-repudiation) 기술을 학습합니다. 이를 통해 단순히 암호 라이브러리를 쓰는 수준을 넘어, 데이터 전송과 보관의 전 과정에서 신뢰 사슬(Chain of Trust)을 구축하는 역량을 갖춥니다.
2. Scope & Boundaries
In-Scope
- Core Concepts: CIA Triad, 위험(Risk)/위협(Threat)/취약점(Vulnerability)의 공학적 정의
- Symmetric Crypto: AES, DES 등 대칭키 알고리즘의 작동 원리 및 키 관리 물리
- Asymmetric Crypto: RSA, ECC 등 공개키 인프라(PKI)와 인증서 체계
- Integrity & Auth: 해시 함수(SHA), HMAC, 디지털 서명 및 전자 결속 역학
Out-of-Scope
- 상세한 네트워크 방화벽 설정 (10-02 Infrastructure Security 영역으로 위임)
- 암호학적 난수 생성기의 물리적 하드웨어 구현 (02. CA 영역으로 위임)
Boundaries
- SFC vs. Mathematics: SFC는 암호 알고리즘의 '수학적 증명' 자체보다, 해당 알고리즘이 컴퓨팅 시스템에서 '어떻게 정보를 보호하는 도구로 작동하는지'에 집중하며 01. Math 노드와 협력합니다.
3. Counterexample
- 단순히 암호화 함수를 호출하는 코드를 작성하는 것은 SFC 학습이 아닙니다. 왜 암호화 시 **솔트(Salt)**나 **IV(Initialization Vector)**가 물리적으로 필요한지 그 **무작위성(Entropy)**의 원리를 설명하고, 암호화 알고리즘 자체를 직접 설계(Roll your own crypto)하는 것이 왜 실무 보안에서 치명적인 실패 사례가 되는지 보안 공학적으로 논증할 수 있어야 합니다.
4. Prerequisites
- 수학적 구조 및 연산 물리 (Basic): 모듈로 연산, 소수이론 등 정수론 기초가 필요합니다. (01. MAC)
- 컴퓨터 과학 및 공학 루트 (Recommended): 정보 보호의 전반적인 맥락 이해가 권장됩니다. (ROOT)
5. Learning Map
- Security Mindset: 보호해야 할 자산과 공격 모델을 정의하는 보안 사고방식을 익힙니다.
- Secret Sharing: 대칭키 암호화를 통해 데이터를 안전하게 가두는 물리적 메커니즘을 배웁니다.
- Public Trust: 모르는 상대와도 안전하게 키를 교환하는 공개키 인프라의 논리를 이해합니다.
- Verifying Content: 데이터가 조금이라도 변했는지 확인하는 무결성 검증 체계를 탐구합니다.
6. Learning Topics
Basic
Core: 보안의 목적과 CIA 모델 (Security Objectives)
- Why to Learn: 모든 보안 조치의 정당성을 확보하고 보호 대상을 명확히 하기 위함입니다.
- What to Learn:
- CIA Triad: 기밀성, 무결성, 가용성의 정의와 상충 관계
- 자산(Asset), 위협(Threat), 취약점(Vulnerability)의 상관관계 물리
- 위협 모델링(Threat Modeling)의 기초 개념
- How to Learn:
- 일상적인 서비스(예: 이메일)에서 CIA 각 요소가 침해되었을 때 발생하는 사회적/물리적 파괴 사례 분석
- '가용성'을 보장하기 위한 이중화가 '기밀성'을 낮출 수 있는 트레이드오프 상황 토론
- Implement: 특정 시스템의 위협 요소를 나열하고 CIA 관점에서 대응 우선순위를 정한 분석표
Recommended
Core: 대칭키 암호화와 키 관리 (Symmetric Cryptography)
- Why to Learn: 대용량 데이터를 빠르고 안전하게 암호화하기 위한 실무적 기반을 다지기 위해서입니다.
- What to Learn:
- 블록 암호(Block Cipher) vs 스트림 암호(Stream Cipher) 물리
- 대칭키 알고리즘(AES)의 전치(Transposition)와 치환(Substitution) 구조
- 키 교환의 고전적 난제와 물리적 보관 전략
- How to Learn:
- 동일한 평문을 서로 다른 IV를 사용하여 암호화했을 때의 결과물 차이를 바이너리 수준에서 비교
- 비밀번호 저장 시 단순 해시와 Salted 해시의 물리적 보안 강도 차이 실험
- Implement: 안전한 대칭키 생성 및 안전한 저장소(Vault 등) 연동 코드 예제
Practical
Core: 공개키 인프라와 PKI (Public Key & PKI)
- Why to Learn: 인터넷과 같은 개방된 망에서 신뢰할 수 없는 노드 간의 안전한 통신을 가능케 하기 위함입니다.
- What to Learn:
- 비대칭키(공개키-개인키) 쌍의 수학적/논리적 연동 물리
- 인증 기관(CA)과 디지털 인증서(X.509)의 신뢰 사슬 역학
- TLS 핸드셰이크 과정에서의 비대칭키와 대칭키의 하이브리드 활용물리
- How to Learn:
- OpenSSL을 사용하여 자체 서명 인증서(Self-signed)를 만들고 이를 브라우저에 등록하는 실습
- 웹사이트의 SSL 인증서 경로를 추적하여 최상위 Root CA까지의 신뢰 연결 확인
- Implement: 디지털 서명을 활용한 메시지 발신자 인증 및 데이터 무결성 검사 모듈
Advanced
Core: 현대 암호학과 포스트 양자 보안 (Advanced Crypto)
- Why to Learn: 양자 컴퓨팅 등 변화하는 기술 환경에서도 데이터의 장기적 안전성을 보장하기 위해서입니다.
- What to Learn:
- 영지식 증명(Zero-knowledge Proof): 정보를 공개하지 않고 진실을 입증하는 논리
- 동형 암호(Homomorphic Encryption): 암호화된 상태로 연산하는 물리적 배경
- 양자 내성 암호(PQC) 알고리즘의 표준화 동향
- How to Learn:
- 영지식 증명이 적용된 프라이버시 보호 기술(예: 자산 증명)의 논리 흐름도 분석
- 현재 널리 쓰이는 RSA가 양자 컴퓨터에 의해 무력화되는 물리적 이유 연구
- Implement: PQC 알고리즘 라이브러리를 활용한 미래 대비 암호화 프로토타입
7. Terminology
8. References
Primary References
- [P3] CyBOK - Cryptography / Security Foundations — Comprehensive security body.
- [P1] CS2023 - SEC/Security — Academic standards for security.
Secondary References
- [Applied Cryptography] Bruce Schneier — The practical "crypto bible".
- [Serious Cryptography] Jean-Philippe Aumasson — Modern algorithm guide.
Industry References
- [NIST Computer Security Resource Center] — Encryption standards (AES, SHA).
- [OWASP Secure Coding Practices] — Essential for implementation security.
9. Final Checklist
Primary Checklist
- 데이터 전송 시 '중간자 공격(MITM)'을 차단하기 위해 공개키 암호화와 디지털 서명이 어떻게 물리적으로 결합되는지 설명할 수 있는가? (P3)
- 해시 함수의 충돌 저항성(Collision Resistance)이 데이터 무결성 보장에 기여하는 물리적 이유를 기술 가능한가? (P1)
Secondary Checklist
- 128비트 vs 256비트 암호화 강도의 차이를 브루트 포스 공격에 소요되는 물리적 시간 관점에서 산출 가능한가?
- 웹 브라우저가 특정 웹사이트의 HTTPS 연결을 신뢰하기 위해 수행하는 인증서 체인 검증 단계(Root-Intermediate-Leaf)를 숙지하고 있는가?
Industry Checklist
- 실무 서비스 설계 시 민감 정보(개인정보)의 '보관' 시 암호화와 '제공' 시 마스킹의 물리적 차이를 구분하여 적용할 수 있는가? (SFIA)
- 암호화 키 권한 관리(KMS) 체계를 구축하여 개발자로부터 실제 키 노출을 물리적으로 격리하는 설계를 제안 가능한가?