[네트워크] HTTPS와 SSL

kcm dev blog·2021년 10월 3일
0

CS 스터디

목록 보기
4/4

HTTPS

  • http

    hypertext transfer protocol의 약어로 html 전송을 위한 통신 프로토콜
    (=web browser(client)와 web server(server)가 통신하기 위한 프로토콜)

  • https: http + SSL(over Secure Socket Layer)

    기존의 http에 보안 강화 수단인 SSL이 추가된 통신 프로토콜이다

SSL

SSL Protocol Layer


HTTPS는 SSL이라는 프로토콜 위에서 동작하는 프로토콜중 하나이다.
즉, HTTPS는 SSL/TLS 프로토콜을 통해 브라우저와 서버가 통신하는 방식이라고 할 수 있다

SSL? TLS?
SSL과 TLS는 같은 것을 지칭한다. SSL은 인터넷 기업 Netscape가 처음 개발하였고, 표준화 기구 IETF가 관리하게 되면서 TLS로 명칭이 변했다. 다만 SSL이 더 대중적으로 쓰이면서 SSL이라고 많이들 부른다

SSL 디지털 인증서

client와 server간 통신을 제3자가 보증해주는 전자화된 문서
장점

  • 내용 유출 방지
  • client-server간 신뢰
  • 통신 내용을 중간에 빼내어 악의적으로 변경하는 것을 방지

이러한 기술을 실현하기 위해서는 암호화가 필요하다

암호화

  • 대칭키
    : 암호화와 복호화하기 위해 사용되는 키가 같은 경우를 의미한다

  • 공개키
    : 암호화와 복호화하기 위해 사용되는 키가 다른 것을 의미한다.

A키로 암호화된 데이터를 복호화 하려면 B키가 필요하고, 역으로 B키로 암호화된 데이터를 복호화 하려면 A키가 필요하다.

인증서의 역할

  • client가 server를 보장할 수 있게 함
  • client에게 public key를 제공한다

CA(Certificate Authority) 인증업체

  • 엄격한 조건을 모두 만족하는 업체에서 인증권한을 취득하여 인증서를 발급해준다

인증서의 구성

  • 인증업체(CA) 정보 + 서비스 도메인
    -> client가 원하는 server에 접속했는지 보장
  • 서버측에서 public key생성
    -> 공개키 + 공개키로 암호화하는 방법 고안 가능
    -> 도메인과 공개키 정보는 CA로부터 라이선스 구매시 제출해야 한다.

CA에서는 도메인에서 제출한 인증서를 비공개키로 암호화하여 보관한다. 또한 CA의 공개키는 브라우저(크롬, 사파리, 파이어폭스 등)에서 리스트 형태로 보관하고 있다.

SSL의 동작방법

Handshake

  • 실제 데이터, 즉, client, server가 주고 받는 정보는 대칭키를 사용한다(공개키 사용은 많은 컴퓨팅 자원을 필요로 하기 때문이다)
  • 대칭키의 키: 공개키

Session(통신)

연결해제

profile
오늘 배운건 오늘 소화하자!

0개의 댓글