반응형
암호화는 왜 필요한가
암호화가 필요한 이유를 한 문장으로 요약하면:
신뢰할 수 없는 환경에서
안전하게 데이터를 다루기 위해서
야.
인터넷, 네트워크, 서버, 클라우드 전부 사실은:
"누군가 볼 수도 있고,
변조할 수도 있고,
가짜로 꾸밀 수도 있는 환경"
이거든.
암호화는 그 문제를 해결하기 위해 존재해.
1. 인터넷은 원래 안전하지 않다
많은 사람들이 착각하는 게:
인터넷 = 안전한 통신망
이라고 생각하는 건데,
실제로는 반대야.
인터넷은 기본적으로:
누구나 중간에서 볼 수 있는 공개 네트워크
에 가까워.
예를 들어 옛날 HTTP는:
POST /login
id=admin
password=1234
이렇게 평문으로 갔어.
즉 중간 라우터나 공유기, ISP가 보면:
아이디/비밀번호 그대로 보임
가능했어.
2. 암호화의 핵심 목적 3가지
보통 보안에서는 CIA 라고 부름.
1) 기밀성 (Confidentiality)
남이 못보게
하는 것.
예:
- 비밀번호
- 계좌정보
- 주민번호
- 메신저 내용
HTTPS의 데이터 암호화가 대표적.
2) 무결성 (Integrity)
중간에 변조되지 않았는지
보장.
예:
10000원 송금
했는데 중간에서:
10000000원
으로 바꾸면 큰일 나잖아.
그래서:
- Hash
- HMAC
- 전자서명
같은 걸 사용해 변조 여부를 검증함.
3) 인증 (Authentication)
진짜 상대가 맞는지
확인.
예:
- 진짜 은행 서버인지
- 가짜 피싱 사이트 아닌지
- JWT 발급자가 진짜인지
TLS 인증서가 대표 사례.
3. 암호화가 없으면 실제로 생기는 일
로그인 탈취
공용 와이파이:
카페 WiFi
에서 평문 통신하면:
- 패킷 스니핑
- 세션 탈취
가능.
데이터 위변조
중간 공격자(MITM)가:
응답 데이터 조작
가능.
서버 위장
가짜 서버 만들어서:
은행 사이트처럼 위장
가능.
4. HTTPS는 사실 암호화 시스템 종합세트
많은 사람들이 HTTPS를:
그냥 SSL
정도로 생각하는데 실제로는:
- 대칭키 암호화
- 공개키 암호화
- Hash
- 전자서명
- 인증서
- 키교환
이 다 들어간 거야.
현대 인터넷 신뢰 구조 자체라고 보면 됨.
5. 암호화는 단순 "숨기기"가 아니다
이거 엄청 중요함.
암호화는 단순히:
내용 숨기기
만 하는 게 아니야.
실제로는:
"신뢰를 수학적으로 증명"
하는 기술에 가까워.
예를 들어:
- JWT 위변조 검증
- Git commit hash
- Docker image digest
- 블록체인
- 코드 서명
- 앱스토어 배포 검증
이런 것도 전부 암호학 기반이야.
6. 현대 시스템은 암호화 없이는 불가능
암호화가 없으면 사실상:
- 인터넷 뱅킹
- 클라우드
- 로그인
- 결제
- VPN
- 모바일 앱
- OAuth
- API 인증
전부 불가능해.
7. 실무 개발자 관점에서 중요한 이유
실무에서는 암호화를 직접 구현하는 경우보다:
암호화 시스템을 올바르게 사용하는 능력
이 더 중요해.
예:
- bcrypt 왜 쓰는가
- JWT 서명 검증
- HTTPS termination
- secret 관리
- TLS 인증서 구조
- OAuth token 흐름
8. 결국 암호화의 본질
정리하면 암호화는:
신뢰할 수 없는 환경에서
신뢰를 만들기 위한 기술
이야.
그리고 현대 인터넷은 사실상:
암호화 위에서 돌아가는 시스템
이라고 봐도 될 정도야.
반응형
'system_fundamentals > security_cryptography' 카테고리의 다른 글
| CIA Triad (기밀성/무결성/가용성) (0) | 2026.05.13 |
|---|---|
| 인터넷은 왜 기본적으로 위험한가 (0) | 2026.05.13 |
| Salt는 왜 필요한가 (0) | 2026.05.13 |
| bcrypt는 왜 일부러 느린가 (0) | 2026.05.13 |
| 암호화 학습목차 Index (0) | 2026.05.13 |
댓글