콘텐츠로 바로가기

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

  1. Security Mindset: 보호해야 할 자산과 공격 모델을 정의하는 보안 사고방식을 익힙니다.
  2. Secret Sharing: 대칭키 암호화를 통해 데이터를 안전하게 가두는 물리적 메커니즘을 배웁니다.
  3. Public Trust: 모르는 상대와도 안전하게 키를 교환하는 공개키 인프라의 논리를 이해합니다.
  4. 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 관점에서 대응 우선순위를 정한 분석표

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

Term (EN / ko, abbr) 1문장 정의 단계(기본/권장/실무/심화) 역할/맥락 관련 개념 유사/대비/함께 사용 오해 포인트 Evidence(Primary/Secondary/Industry) Flags(core/misused/legacy)
CIA Triad 정보 보안의 세 가지 핵심 원칙인 기밀성, 무결성, 가용성을 총칭하는 공학적 모델입니다. 기본 보안 지표 Risk Mgmt AIC 단순히 '비밀'로만 오해 P3:CyBOK core
Hash Function 임의의 길의 데이터를 고정된 길이의 고유한 값으로 변환하는 일방향 함수 물리입니다. 기본 무결성 확인 SHA-256 Encryption 복호화가 된다고 오해 P1:CS2023/Crypto core
Salt 비밀번호 해싱 시 동일한 입력에 대해 다른 결과값을 생성하기 위해 추가하는 물리적 난수 데이터입니다. 추천 보안 강화 Rainbow Table Pepper 단순히 '비밀번호 일부'로 오해 P3:CyBOK core
Digital Signature 송신자의 개인키로 암호화한 해시값을 통해 발신자 신원과 메시지 불변성을 동시에 증명하는 논리입니다. 실무 부인 방지 PKI Certificate 단순히 '이미지 서명'으로 오해 P1:CS2023/Crypto core

8. References

Primary References

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) 체계를 구축하여 개발자로부터 실제 키 노출을 물리적으로 격리하는 설계를 제안 가능한가?