068. 암호학 (Cryptography)
⚠️ 이 문서는 수학적 알고리즘과 논리를 이용하여 정보의 기밀성, 무결성, 인증, 부인방지라는 정보보안의 4대 핵심 목표를 달성하는 학문이자 기술 체계인 '암호학'의 본질을 다룹니다.
핵심 인사이트 (3줄 요약)
- 본질: 암호학(Cryptography)은 평문(Plaintext)을 누구나 읽을 수 없는 암호문(Ciphertext)으로 변환하고, 정당한 권한(Key)을 가진 자만이 이를 다시 평문으로 되돌릴 수 있게 만드는 수학적 자물쇠이자 서명 기술이다.
- 가치: 과거에는 군사 및 외교 기밀을 숨기는 데 국한되었으나, 현대에는 인터넷 뱅킹, 전자상거래, 블록체인 등 전 세계 디지털 경제를 지탱하는 절대적인 신뢰(Trust) 인프라로 진화하였다.
- 융합: 현대 암호학은 기밀성을 제공하는 대칭키/비대칭키 암호화, 무결성을 보장하는 해시 함수, 인증과 부인방지를 달성하는 전자서명을 융합하여 TLS/SSL, VPN, PKI라는 거대한 보안 생태계를 형성한다.
Ⅰ. 개요 및 필요성 (Context & Necessity)
정보보안의 핵심은 나쁜 해커로부터 나의 정보를 지키는 것이다. 이를 달성하기 위해 방화벽이나 백신 같은 '네트워크/시스템 보안' 기술을 사용하지만, 해커가 방화벽을 뚫고 들어오거나 케이블에서 전송되는 데이터를 낚아채는(스니핑) 상황까지 막을 수는 없다.
**암호학(Cryptography)**은 이러한 최악의 상황, 즉 "데이터가 해커의 손에 넘어간 상황"에서도 정보가 안전하도록 만드는 최후의 방어선이다. 암호화된 데이터는 해커의 눈에 무의미한 쓰레기 데이터로 보이기 때문에, 정보를 훔쳐 가더라도 아무것도 할 수 없게 만든다.
📢 섹션 요약 비유: 성벽(방화벽)을 높게 쌓아도 도둑이 날아서 들어오면 보물을 뺏깁니다. 하지만 보물 자체를 풀 수 없는 마법의 투명 상자(암호화)에 넣어두면, 도둑이 상자를 통째로 훔쳐 가더라도 안의 보물을 꺼낼 수 없습니다. 암호학은 보물 자체에 마법을 거는 학문입니다.
Ⅱ. 암호학이 제공하는 4대 보안 서비스
암호학은 단순히 데이터를 '숨기는(기밀성)' 데서 끝나지 않는다. 다음 4가지 강력한 보안 서비스를 제공하기 위해 각기 다른 수학적 도구를 활용한다.
| 보안 속성 | 역할 및 목표 | 사용되는 암호학적 도구 (Algorithms) |
|---|---|---|
| 기밀성 (Confidentiality) | 인가되지 않은 자가 정보를 읽을 수 없도록 숨김. | 대칭키 암호 (AES, ARIA), 비대칭키 암호 (RSA) |
| 무결성 (Integrity) | 데이터가 전송되거나 저장되는 도중 변조되지 않았음을 보장. | 해시 함수 (SHA-256), 메시지 인증 코드 (MAC) |
| 인증 (Authentication) | 정보를 보낸 사람이 내가 아는 진짜 그 사람인지 신원 확인. | 디지털 서명 (Digital Signature), MAC |
| 부인방지 (Non-repudiation) | 송신자가 나중에 "내가 안 보냈어!"라고 발뺌하는 것을 막음. | 비대칭키 기반의 디지털 서명, 타임스탬프 |
┌───────────────────────────────────────────────────────────────────────┐
│ 암호학의 4대 기능과 현대 암호 알고리즘 맵핑 시각화 │
├───────────────────────────────────────────────────────────────────────┤
│ │
│ [목표: 안전한 온라인 뱅킹 송금 100만 원] │
│ │
│ (1) 기밀성: 송금 금액과 계좌번호가 남에게 보이면 안 됨. │
│ ▶ [ AES-256 알고리즘 ] 으로 데이터를 쓰레기 문자로 변환! │
│ │
│ (2) 무결성: 중간 해커가 100만 원을 1000만 원으로 바꾸면 안 됨. │
│ ▶ [ SHA-256 해시 ] 로 데이터 지문을 떠서 전송! │
│ │
│ (3) 인증: 진짜 은행 서버가 보낸 영수증이 맞는지 확인해야 함. │
│ ▶ 은행의 [ RSA 개인키로 디지털 서명 ] 하여 발송! │
│ │
│ (4) 부인방지: 은행이 나중에 "우린 돈 안 받았어"라고 우기면 안 됨. │
│ ▶ 서명된 영수증은 은행 개인키로만 만들 수 있으므로 오리발 불가! │
└───────────────────────────────────────────────────────────────────────┘
[다이어그램 해설] 하나의 안전한 송금을 위해, 단순히 암호화(기밀성) 하나만 쓰이지 않는다. 기밀성, 무결성, 인증을 모두 섞어서 완성한 보안 통신 프로토콜이 바로 우리가 매일 쓰는 HTTPS(TLS)이다. 현대 암호학은 이 4가지 무기를 적재적소에 섞어 쓰는(하이브리드) 거대한 요리법과 같다.
- 📢 섹션 요약 비유: 편지를 보낼 때, 글씨를 투명 잉크로 쓰는 것(기밀성), 편지봉투 입구에 왁스 도장을 찍어 안 뜯었음을 증명하는 것(무결성), 나만의 도장을 찍어 내가 보냈음을 확인하는 것(인증 및 부인방지)이 합쳐져 완벽한 암호 우편이 완성됩니다.
Ⅲ. 실무 적용: 케르크호프스의 원리 (Kerckhoffs's Principle)
네덜란드 암호학자인 오귀스트 케르크호프스(1883년)가 주창한 현대 암호학의 가장 위대한 대원칙이다. "암호 시스템의 안전성은 알고리즘의 비밀성에 의존해서는 안 되며, 오직 키(Key)의 비밀성에만 의존해야 한다."
- 잘못된 설계 (Security by Obscurity): 우리 회사 천재 개발자가 아무도 모르는 독자적인 암호 알고리즘을 짰으니 안전하다고 믿는 행위. 알고리즘 코드가 유출되면 시스템은 끝장난다.
- 현대 암호 설계: AES나 RSA 같은 글로벌 표준 알고리즘은 수학적 구조가 전 세계에 100% 공개되어 있다. 수만 명의 천재 해커들이 뚫어보려 했지만 수학적으로 불가능함(Computationally infeasible)이 증명되었다. 따라서 알고리즘이 공개되어도 **내 비밀키(Key)**만 꽁꽁 숨기면 내 데이터는 영원히 안전하다.
Ⅳ. 결론
"암호학은 불신(Distrust)을 수학으로 극복하여 신뢰(Trust)를 창조하는 기술이다." 과거의 암호학이 군사들의 비밀을 감추는 은닉의 기술이었다면, 오늘날의 암호학은 얼굴을 마주치지 않은 수십억 명의 사람들이 인터넷상에서 서로의 신원을 확인하고 돈을 거래할 수 있게 만드는 디지털 인류의 필수 인프라가 되었다.
📌 관련 개념 맵
- 목표 4원칙: 기밀성, 무결성, 인증성, 부인방지
- 핵심 무기 체계: 대칭키, 비대칭키, 해시 함수
- 설계 대원칙: 케르크호프스의 원리 (알고리즘 공개, 키 은닉)
👶 어린이를 위한 3줄 비유 설명
- 친구랑 비밀 편지를 주고받고 싶은데 중간에 나쁜 악당이 뺏어 볼까 봐 걱정돼요.
- 그래서 글씨를 나랑 친구만 아는 '마법의 암호표'를 써서 아무도 못 알아보는 외계어로 바꿔서 편지를 보내요.
- 이렇게 내용을 꽁꽁 숨기고(기밀성), 편지지가 안 찢어졌는지 확인하고(무결성), 진짜 내 친구가 보낸 게 맞는지(인증) 수학적으로 지켜주는 학문이 바로 암호학이랍니다!