[Network] TLS의 개요

Joney의 SW 공부 블로그·2023년 4월 23일
0

Network

목록 보기
1/1

HTTPS란?

  • HTTP 프로토콜을 암호화한 네트워크 통신 프로토콜
  • 클라이언트와 서버간의 통신을 암호화하기 위해 SSL이나 TLS를 사용
  • 보안 계층(SSl 혹은 TLS)이라는 독립적은 프로토콜 계층 위에 HTTP 프로토콜을 얹는 방식


SSL이란?

  • Secure Sockets Layer의 줄임말
  • 네트워크 통신을 암호화하기 위한 표준 기술
  • 현재는 더 이상 업데이트 되고 있지 않으며, 권장되지 않는 방식

TLS란?

  • Transport Layer Security
  • SSL의 다음 세대로 개발된 암호화 표준 기술
  • 큰 틀에서는 SSL과 유사한 방식으로 클라이언트와 서버를 인증

TLS HandShake

  • handshake는 클라이언트와 서버간의 메시지 교환을 나타냄
  • HTTPS 웹에 처음 커넥션할 때 진행 됨
  • handshake는 크게 4가지의 단계로 진행 됨
    1. Client Hello
      • 클라이언트가 서버에 접속을 하겠다고 하는 인사
      • 클라이언트는 브라우저가 지원하는 암호화 방식을 서버에 제시
      • 랜덤 데이터를 생성하여 서버에 전송
    2. Server Hello
      • 서버가 클라이언트에 하는 인사
      • 클라이언트가 제시한 암호화 방식을 선택하여 클라이언트에 통지
      • 서버의 Public Key가 포함된 서버 인증서를 클라이언트에 전송
      • 랜덤 데이터를 생성하여 클라이언트에 전송
    3. Key Exchange
      • 클라이언트는 서버와 주고 받은 랜덤 데이터를 참고해서 암호화 키를 생성해서 서버에 전달
      • 키는 서버가 전달한 Public Key로 암호화
    4. Finished
      • 클라이언트와 서버 모두 Finished 메시지 전송
      • 이후 클라이언트가 생성한 키로 암호화한 데이터를 통신

profile
SW 지식 노트 블로그

0개의 댓글