HTTPS의 동작 방식

어겐어갠·2022년 3월 31일
0

https는 텍스트 프로토콜이다

  1. 암호화 알고리즘의 종류
  • 메세지 다이제스트 (DM)

    메세지 무결성 검사
    해시를 사용(해서 압축)
    비 예측성
    역상저항성 (되돌릴 수 없다. 단방향)
    충돌저항성

  • 대칭키 암호

    암호화 / 복호화에 같은 비밀키를 사용
    속도가 빠름
    (키가 유출되지않는 이상) 안전
    양측 다 키를 공유해야만 함

  • 공개키 암호

    암호화키(공개키)와 복호화키(개인키)가 댜름 (비대칭 키)
    암호화 / 복호화 비용이 대칭키에 비해 매우 크다.
    보내고싶은 대상의 암호화키(공개키이므로 누구나 쉽게 가질 수 있음)로 암호화시킨 후 데이터를 송신하면 수신측해서 복호화키(개인키이므로 개인만 가지고있음)로 복호화하여 데이터 확인

  • 전자 서명

    공캐키 암호와 달리 공개키와 개인키의 역할이 반대이다.
    개인키로 서명(암호화)한 후 공개키로 이를 확인한다.

  1. SSL전자서명까지 이루어지는 과정
  • 보안이 안된 상태에서 송 수신 모두 같은 대칭키를 가지고싶음.
    -> 1) 공개키를 수신측에 보내준 뒤 공개키로 대칭키를 암호화 시킨뒤 그것을 반환하여 개인키로 복호화
    -> 2) 이로서 양측 다 같은 대칭키를 가지게 됌.

대칭키가 필요한 이유?
빠르고 코스트가 적기때문에

  • 그런데 1) 에서 보내준 공개키의 신뢰성이 보장받을 수 있는가?
    -> No. 중간자 공격으로 신뢰성을 보장할 수 없음.
    -> 공개키가 해당 서버의 것인지 믿을 수 있는 장치가 필요 = 인증서 (SSL)

인증서란?
서버의 공개키 + 서버의 정보(도메인 등등)을 조합하여 인증기관(CA)가 서명한 것.

다시

  • 보안이 안된 상태에서 송 수신 모두 같은 대칭키를 가지고싶음.
    -> 1) 송신자가 자신의 공개키와 전자서명을 수신측에 보내준다
    -> 2) 수신자는 (원래 가지고있던) CA의 공개키로 전자서명을 확인
    -> 3) 서명이 확인될 경우 이 공개키는 신뢰할 수 있음이 확인됌.
    -> 4) 신뢰성이 보장된 공개키로 대칭키를 암호화시켜 반환한다.
    -> 5) 이로서 양측 다 같은 대칭키를 가지게 됌.

이때 공유되는 대칭키는 세션키라고하며 세션때만 유지된다.
(세션이 종료되면 대칭키의 유효성은 사라지며, 세션이 시작할때마다 이 과정이 반복된다)

키워드
핸드세이크 프로토콜
싸이퍼슈트

profile
음그래

0개의 댓글