[Unit 6] HTTPS

JeongYeon·2023년 5월 1일
0

[SEB FE]section3

목록 보기
16/19
post-thumbnail

HTTPS

HTTPS
HTTP Secure의 약자로, 기존의 HTTP 프로토콜을 더 안전하게 사용할 수 있음을 의미한다.
HTTP와 달리 요청과 응답으로 오가는 내용을 암호화 한다.


HTTP로 보낸 요청HTTPS로 보낸 요청
위의 두 이미지를 비교해 보면 똑같은 요청을 보냈어도 HTTPS프로토콜로 보냈을 때 데이터가 암호화되어있는 것을 알 수 있다.
➡️ HTTPS 요청 및 응답은 중간에 제 3자에게 데이터가 탈취되도 그 내용을 알 수 없다.


암호화 방식

1.대칭 키 암호화 방식
대칭키 암호화 방식은 하나의 키만 사용한다.
암호화 할때 사용한 키로만 복호화가 가능하다.

  • 공개 키 방식에 비해 연산 속도가 빠르다
  • 키를 주고받는 과정에서 탈취당했을 경우 암호화가 소용없어지기 때문에 키 관리에 신경써야 한다.

    2.공개 키(비대칭 키) 암호화 방식
    비대칭 키 암호화 방식은 두 개의 키를 사용한다.
    암호화 할때 사용한 키와 다른 키로만 복호화가 가능하다.
  • 두 개의 키를 각각 공개 키, 비밀 키라고 한다.
  • 공개키는 공개되어있어 누구나 접근 가능하다.
    • 공개키를 사용해 암호화된 데이터를 보내면, 비밀키를 가진 사람만 그 내용을 복호화 할 수 있다.
  • 요청을 보내는 사용자가 공개 키를 갖고, 요청을 받는 서버가 비밀 키를 갖는다.
  • 공개키를 사용해 암화화된 데이터가 탈취당해도 비밀키가 없으면 복호화 할 수 없어 대칭키 보다 보안성이 더 좋다
  • 대칭 키 보다 더 복잡한 연산이 필요해 더 많은 시간을 소모한다.

SSL/TLS 프로토콜
HTTPS는 HTTP 통신을 하는 소켓 부분에서 SSL/TLS라는 프로토콜을 사용해 서버인증과 데이터 암호를 진행한다.
SSL이 표준화 되어 바뀐이름이 TLS이다.

SSL/TLS 특징

  • CA를 통한 인증서사용
  • 대칭 키, 공개 키 암호화 방식 모두 사용

인증서, CA(Certificate Authority)
HTTP를 사용하면 브라우저가 서버의 응답과 함께 전달된 인증서를 확인할 수 있음
인증서를 발급해주는 공인된 기관 ➡️ CA

  • 서버는 인증서를 발급하기 위해 CA로 정보와 공개키를 전달
  • CA는 서버의 공개키와 정보를 CA의 비밀키로 암호화해 인증서 발급


    CA의 비밀키로 암호화된 인증서는 CA의 공개 키
    로만 복호화 가능하고, CA에서 발급한 인증서가 맞으면 복호화가 성공적으로 진행되어야 한다.
  • 복호화가 성공하면 해당 서버가 신뢰할 수 있는 서버임을 알 수 있게 된다.
  • 복호화가 실패하면 서버가 보내준 인증서가 신뢰할 수 없는 인증서임을 확인하게 된다.

" 서버와 클라이언트 간의 CA를 통해 서버를 인증하는 과정과 데이터를 암호화하는 과정을 아우른 프로토콜을 SSL/TLS라고 하고, HTTP에서 SSL/TLS 프로토콜을 더한 것을 HTTPS라고 한다. "


참조, 출처 : 코드스테이츠

profile
프론트엔드 개발자 될거야( ⸝⸝•ᴗ•⸝⸝ )੭⁾⁾

0개의 댓글