HTTPS

yuJaeWu·2021년 1월 19일
0

TIL

목록 보기
43/68

HTTPS란?


우리가 기존에 알고있던 HTTP(HyperText Tranfer Protocol)은
www(World Wide Web)상에서 정보를 주고 받을수 있는 통신 규약이다.
Client-Server 간의 요청,응답(request,response)방식의 통신 규약이며,
이는 국제적 규약이다. 하지만 HTTP는 한계가 있다. 그것은 보안성인데
사용자의 정보나 프라이버시한 정보들도
큰 가림막 없이 살펴볼수도 있기때문에 위험한 부분도 많다.
이러한 문제를 해결하기 위에 이름뒤에 Secure라는 단어를 덧붙여서 만들어진 것이
지금 알아볼 HTTPS(HyperText Tranfer Protocol Secure)이다.


HTTPS의 주요기능


https의 기능은 많지만 주요기능을 꼽자면 세가지가 있다.

  • 인증
  • 암호화
  • 변경감지
    등이 있다.

보안방식


만일, 클라이언트(웹브라우저)가 평범한 http가 아닌
https 스킴을 갖는 URL 주소를 만나면,

  • 웹서버에 80번이 아닌 443번 포트번호로 TCP 연결을 맺고,
  • 바이너리 포멧으로 된 몇몇 보안 매개변수를 교환(핸드세이크, 키 교환)하고,
  • 그와 관련된 HTTPS 명령들이 그 뒤를 잇게 된다.

보안 연결 확립을 위한 핸드세이크 (SSL/TLS)

  • 주요 교환 대상
  • 프로토콜 버전 번호 교환
  • 상호 알고있는 암호 선택
  • 양단(클라이언트/서버) 간의 신원 인증
    .. (주로, 서버 인증서 위주로 사용)
    .. (대부분, 클라이언트 인증서는 보안이 보다 강화된 조직에서 만 사용)
  • 보안 채널 암호화를 위한 임시 세션 키 생성
    • 핸드세이크 절차
      1. 웹브라우저(클라이언트)가 서버에게 여러 암호 후보들을 보내고 서버 인증서를 요구
      2. 서버는 선택한 암호 및 서버 인증서를 보냄
      3. 클라이언트가 비밀 정보를 보내고, 클라이언트와 서버가 암호 키를 생성
      4. 상호 암호화 통신 시작
profile
어중간한 성공보다는 확실한 실패가 좋다.

0개의 댓글