본문 바로가기

HTTPS와 SSL/TLS Handshake 쉽게 이해하기

민이(MInE) 2025. 1. 25.
반응형

1. HTTPS가 뭔가요?

1.1 HTTP vs HTTPS

HTTP는 우리가 보내는 데이터가 누구나 볼 수 있는 "엽서"와 같다면, HTTPS는 "봉인된 편지"와 같아요.

HTTP: 안녕하세요! (누구나 읽을 수 있음)
HTTPS: [암호화된] #@$%^&* (특별한 키가 있어야 읽을 수 있음)

1.2 왜 HTTPS를 사용하나요?

  1. 데이터 암호화: 비밀번호나 개인정보를 안전하게 전송
  2. 신원 보증: 접속한 사이트가 진짜인지 확인 가능
  3. 데이터 보호: 전송 중 데이터가 변조되지 않았는지 확인

2. SSL/TLS Handshake 이해하기

2.1 실생활 비유: 비밀 대화를 나누는 과정

🤝 SSL/TLS Handshake는 두 사람이 비밀 대화를 시작하기 전에 서로를 확인하고, 어떻게 대화할지 정하는 과정과 같아요.

비유로 보는 Handshake 과정

[손님과 가게 주인의 대화]

손님: "안녕하세요! 여기가 진짜 OO은행 맞나요?"
주인: "네! 여기 제 신분증과 사업자 등록증이에요."
손님: "확인했어요. 이제 비밀이야기를 해도 되겠네요!"
주인: "그럼 이제부터는 암호를 써서 이야기해요."

2.2 실제 SSL/TLS Handshake 과정

1) ClientHello

클라이언트(브라우저): 
- "안녕하세요! 저는 이런 암호화 방식들을 사용할 수 있어요!"
- TLS 버전 정보
- 가능한 암호화 방식 목록
- 임시 난수 값

2) ServerHello & 인증서 전송

서버: 
- "반갑습니다! 이 암호화 방식을 사용해요."
- 선택한 TLS 버전
- 선택한 암호화 방식
- 서버의 인증서
- 임시 난수 값

3) 인증서 확인

클라이언트:
- 인증서가 신뢰할 수 있는 기관에서 발급받은 것인지 확인
- 인증서가 유효한지 확인
- 도메인 이름이 일치하는지 확인

4) 대칭키 교환

클라이언트:
- 실제 데이터 암호화에 사용할 대칭키 생성
- 서버의 공개키로 대칭키를 암호화해서 전송

서버:
- 받은 대칭키를 개인키로 복호화
- 이제 둘만 아는 비밀키가 생김!

2.3 실제 예시로 보는 HTTPS 통신

인터넷 뱅킹 접속 시

1. 브라우저: "안녕하세요, OO은행이죠?"
2. 서버: "네, 여기 저희 은행의 인증서가 있습니다"
3. 브라우저: "인증서 확인했어요. 이제 이 비밀키로 대화해요!"
4. 서버: "좋아요, 이제 안전하게 통신할 수 있어요"

3. HTTPS의 장단점

3.1 장점

  • 데이터를 안전하게 주고받을 수 있어요
  • 사이트가 진짜인지 확인할 수 있어요
  • 검색엔진 순위에 도움이 돼요
  • 브라우저에서 '안전함' 표시가 뜨므로 신뢰도가 높아져요

3.2 단점

  • 인증서를 구입하고 유지해야 해요
  • 일반 HTTP보다 처리 시간이 조금 더 걸려요
  • 서버 자원을 더 많이 사용해요

4. 알아두면 좋은 보안 팁

4.1 브라우저의 보안 표시 확인하기

🔒 자물쇠 아이콘: 안전한 연결
⚠️ 경고 아이콘: 주의 필요
❌ 위험 아이콘: 접속 위험

4.2 주의해야 할 상황

  • 자물쇠 아이콘이 없는 사이트에서 개인정보 입력
  • 인증서 오류 경고가 뜨는 사이트 접속
  • 주소창의 도메인 이름이 이상한 경우

5. 자주 묻는 질문

Q: HTTPS는 무조건 안전한가요?

A: HTTPS는 전송 과정의 보안을 제공하지만, 사이트 자체의 안전성은 보장하지 않아요.
마치 안전한 우체통을 통해 편지를 보내더라도, 받는 사람이 믿을 만한지는 별개의 문제죠.

Q: 인증서는 누가 발급하나요?

A: CA(Certificate Authority)라는 신뢰할 수 있는 기관에서 발급해요.
주민등록증을 나라에서 발급하는 것처럼, 인증서도 신뢰할 수 있는 기관에서 발급해줘요.

Q: 왜 모든 사이트가 HTTPS를 사용하지 않나요?

A: 인증서 비용, 설정의 복잡성, 서버 부하 등의 이유가 있지만,
최근에는 무료 인증서(Let's Encrypt)도 있어서 점점 더 많은 사이트가 HTTPS를 사용하고 있어요.

6. 정리

HTTPS는 우리의 데이터를 안전하게 지켜주는 보안 우체부라고 생각하면 됩니다. SSL/TLS Handshake는 이 우체부가 우리의 편지를 안전하게 전달하기 위해 하는 사전 준비 과정이에요.

비록 보이지 않는 곳에서 일어나는 일이지만, 우리의 개인정보를 지키는 중요한 보안 체계라는 것을 기억해주세요! 💪

반응형

댓글