본문 바로가기
CS

HTTP vs HTTPS

by alasdkfm 2023. 5. 10.

목차

    HTTP (Hyper Text Transfer Protocol)

    • 인터넷 상에서 클라이언트와 서버가 데이터를 주고 받을 때 사용하는 통신 규약 (프로토콜)
    • raw text를 교환하기 때문에 보안 문제 존재. (신호가 탈취될 경우, 내용이 그대로 노출됨)
    • 80번 포트 사용

    HTTPS (Hyper Text Transfer Protocol Secure)

    • HTTP의 문제점을 보완 (+ 암호화)
    • 클라이언트와 서버는 SSL 프로토콜을 사용하여 통신.
    • https는 텍스트를 암호화 (대칭키/ 비대칭키 모두 사용)
    • 443 포트 사용

     암호화

    • 대칭키 암호화 : 클라이언트와 서버가 동일 키로 암호화/복호화 진행 -> 속도 빠름/ 키 노출시 위험
    • 비대칭키 암호화 : 1쌍의 공개키/개인키 사용 -> 속도 느림/ 안전
      • 공개키로 암호화: 개인키를 본인만 가지고 있기 때문에 본인만 볼 수 있음

    HTTPS 동작 과정

    • 연결시 : 서버와 클라이언트 간 '비대칭키'를 사용하여 세션키 교환 (세션키 : 대칭키)
    • 데이터 교환시 : 빠른 연산을 위해 대칭키 활용