웹풀스택 공부 중
HTTPS의 보안 적용 방식 본문
HTTPS
- 웹 통신 내 요청, 응답에 대한 암호화
- HTTPS의 목적:
- SSL (Secure Socket Layer) 혹은 TLS (Transport Layer Security) Protocol을 통해 HTTP 보안 강화
- 요청을 보내고, 응답 받는 두 주체 (End-to-End)만 HTTP 요청 및 응답을 읽을 수 있게 암호화 한다
- MITM (Man-in-the-Middle) 공격 방지
- MITM 공격 종류
- Sniffing (스니핑, 도청): Wireshark를 통해 유저의 모든 웹 서핑 패킷 도청 가능
- Packet Injection (패킷 주입)
- Session Hijacking (세선 하이재킹)
- SSL Stripping (SSL Striping)
- MITM 공격 종류
- 보안 적용 방식
- 대칭키 암호화 방식과 비대칭키 암호화 방식의 장단점만 사용한다
- 대칭키: 키 하나만 쓴다 -> 노출될 시 매우 위험험하다
- 암호화 / 복호화 연산 속도가 빠르다
- Client와 Server간 요청/응답을 주고받을 때 연산속도가 매우 빨라 성능 영향을 안준다
- 비대칭키 (Private, Public): 비공캐키, 공개키 두개 다 쓴다
- 공개키는 누구나 볼 수 있고 노출되어도 안전하나 연산 속도가 느리다
- 갑을 관계를 내포한다: 갑 = Private key, 을 = Public key
- 1:N = 단일 서버: 다수 클라이언트
- 1 = 단일 서버만 사용가능한 키: 비공개키
- N = 다수 클라이언트라면 모두 사용가능한 키: 공개키
- 수학공식으로 이루어져있다
- 공개키를 Client에게 공유한다
- 그래서 HTTPS는 안전하고 빠르다
- 두개의 암호화 전략을 다 쓴다!
- Server 와 Client가 비대칭키를 주고받아, 그걸 통해 생성한 대칭키 (= Session Key)로 암호화 통신을 한다

- CA: SSL 인증서를 발급하는 기관 (= 신뢰할 수 있는 기관)
- 인증된 서버인지, 인증기관에 의해 암호화된 서버의 공개키인지
- 피싱 방지: 실제로 도메인을 소유하고 있는 올바른 서버와 통신하고 있는지 확인한다
- CA (비공개키) -> (CA로 암호화된) WS (공개키) -> WB의 CA 공개키로 CA로 암호화된 WS의 공개키를 복호화시킨다 -> WB와 WS가 각각 가지고 있는 공개키와 비공개키로 Pre-master-key를 만든다 -> Master Key -> Session Key -> WS 와 WB의 Session Key끼리 비교를 한다 -> 같을 때 소통한다
- Server 와 Client가 비대칭키를 주고받아, 그걸 통해 생성한 대칭키 (= Session Key)로 암호화 통신을 한다
- 두개의 암호화 전략을 다 쓴다!
반응형
'웹개발 > 웹 개념' 카테고리의 다른 글
| Git 파일 관리 (0) | 2024.09.03 |
|---|---|
| CORS (Cross-Origin Resource Sharing, 교차 출처 리소스 공유)와 SOP (Same-Origin Policy)란? (0) | 2024.08.25 |
| Web Storage와 Session이란? (0) | 2024.08.25 |
| Cookie(쿠키)란? (0) | 2024.08.25 |
| Proxy란? (0) | 2024.08.23 |