HTTP vs HTTPS 시뮬레이션 V13 (Smart Pause)

http://hai-core.duckdns.org 일치
PAUSED
HTTP
App
Hacker
Server
HTTPS
App
Root CA
List
Hacker
Server
제어판
실시간 설명
시뮬레이션 시작 대기중...

왼쪽 화면을 클릭하면 일시정지 됩니다.
아래로 스크롤하여 더 알아보기

HTTP vs HTTPS: 개념 및 차이점 완벽 정리

1. 기본 개념: 엽서와 금고

HTTP (HyperText Transfer Protocol)

HTTPS (HyperText Transfer Protocol Secure)


2. 주요 차이점 비교

구분 HTTP HTTPS
보안성 낮음. 데이터가 그대로 노출됨. 높음. 데이터가 암호화되어 안전함.
URL 시작 http:// https://
포트 번호 80 443
인증서 불필요 SSL/TLS 인증서 필요
검색엔진(SEO) 불리함 유리함 (검색 순위 가산점)

3. 인증서는 어떻게 확인하나요? (Chain of Trust)

브라우저는 서버가 제시한 인증서를 3단계로 엄격하게 검증합니다.

1단계: 신뢰할 수 있는 기관인가? (Root CA)

여러분의 PC(윈도우)와 브라우저에는 이미 "세계적으로 신뢰할 수 있는 인증기관(Root CA)" 목록이 내장되어 있습니다.

2단계: 유효기간과 폐기 여부

3단계: 도메인 일치 여부 (Domain Verification)


4. 내가 만든 인증서 vs 신뢰기관 인증서 (CA)

내가 만든 인증서 (Self-Signed)

신뢰기관 인증서 (Trusted CA)


5. 공개키(Public Key)와 비밀키(Private Key)

HTTPS가 안전한 이유는 두 가지 열쇠를 사용하기 때문입니다.

비유: 여러분(브라우저)은 서버가 준 열린 자물쇠(공개키)로 편지함을 잠가서 보냅니다. 이 자물쇠를 열 수 있는 열쇠(비밀키)는 서버만 가지고 있어서, 중간에 해커가 편지함을 가로채도 열어볼 수 없습니다.

Q. 공개키로도 암호를 풀 수 있나요? (전자 서명)

네, 가능합니다! 하지만 용도(방향)가 다릅니다.

Q. 누구나 인증서(공개키)를 가질 수 있는데, 해킹 위험은 없나요?

전혀 없습니다.

Q. 해커가 공개키를 훔쳐서 통신 내용을 엿볼 순 없나요?

안 됩니다. (이 부분이 가장 중요합니다!)

  1. 방향성: 여러분(브라우저)이 데이터를 보낼 때는 공개키로 잠급니다(암호화).
  2. 해커의 입장: 해커는 "잠긴 상자""잠그는 자물쇠(공개키)"만 가지고 있습니다.
  3. 불가능: 이미 잠긴 상자를 "잠그는 자물쇠"로 여는 것은 불가능합니다.
  4. 유일한 열쇠: 이 상자를 열 수 있는 건, 서버 깊숙한 곳에 있는 비밀키뿐입니다.
요약: 공개키는 "넣을 수 있는 구멍(투입구)"일 뿐, "꺼낼 수 있는 문(출구)"이 아닙니다.

7. 세션키 (Session Key)는 뭔가요?

"그냥 공개키/비밀키로 계속 대화하면 안 되나요?"
안 됩니다. 너무 느리기 때문입니다.

HTTPS의 현명한 전략 (하이브리드)

  1. 만날 때만 (Handshake):
    • 느리지만 안전한 '공개키'를 사용해 '세션키'를 몰래 주고받습니다.
  2. 대화할 때 (Data Transfer):
    • 이제 서로 공유한 빠른 '세션키'를 이용해 데이터를 순식간에 암호화해서 주고받습니다.
    • 매번 새로 생성: 이 세션키는 이번 연결(Session)에서만 쓰고 즉시 버립니다. 다음 접속 때는 또 새로운 키를 만듭니다. (그래서 해커가 과거의 키를 알아내도 미래의 대화는 안전합니다.)

8. API 호출도 HTTPS를 써야 하나요?

네, 무조건 써야 합니다.