[Network] HTTP / HTTPS / SSL

이유진·2022년 2월 15일
0

HTTP 란?

  • HyperText Transfer Rrotocol의 약자
  • 데이터(HyperText)를 주고 받기 위한 프로토콜(통신 규약)
  • 암호화 되지 않은 평문 데이터 전송하는 통신으로 보안에 취약
  • 80번 포트 사용

HTTPS 란?

  • HyperText Transfer Protocol Secure의 약자
  • HTTP + 데이터 암호화 추가된 프로토콜(HTTP 보안 강화)
  • 소켓 통신에서 일반 텍스트 대신,
    SSL or TLS 프로토콜을 통해 세션 데이터를 암호화
  • SSL 사용으로 통신처리 시간 소요, 자원 소모
  • 443번 포트 사용

대칭키 암호화 / 비대칭키 암호화

대칭키(Symmetric Key) 암호화

  • 클라이언트(메세지를 보냄) / 서버(메세지를 받음)가 동일한 키를 사용하여 암호화 & 복호화 같이 할 수 있는 방식의 암호화 기법
  • 키 노출되어 해킹 위험 노출
  • 연산 속도 fast(why? 동일한 키로 주고 받기 때문)

비대칭키(Public Key, 공개키) 암호화

  • 1개 쌍으로 구성(공개키 / 개인키) 사용하여 암호화 & 복호화 방식 사용
  • 키 노출되나, 비교적 안전
  • 연산 속도가 대칭키보다 slow
    • 공개키 : 소유자 외 타인에게 공개된 키
    • 개인키 : 자신(서버)만 가지고 있는 키

SSL 란?

  • Secure Sockets Layer, 보안 소켓 계층
  • 웹사이트와 브라우저 사이에 전송된 데이터를 암호화하여 넷 연결 보안 유지 기술
  • 대칭키를 주고받을 때만 공개키 암호화 방식을 사용,
    이후에는 계속 대칭키 암호화 방식으로 통신

TLS 란?

  • Transport Layer Security, 전송 계층 보안
  • 가장 최신 기술(더 강력한 버전의 SSL)

[referance]

(https://ko.wikipedia.org/wiki/HTTPS)
(https://www.digicert.com/kr/what-is-ssl-tls-https/)
(https://mangkyu.tistory.com/98)
(https://sdesigner.tistory.com/85)
(https://devlimk1.tistory.com/135)

profile
차근차근 배워나가는 주니어 개발자

0개의 댓글