HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
🐣
프론트엔드 데브코스 3기 교육생
/
📚
3기 스터디 가이드
/
📒
CS 학습 스터디
/
SSL/TLS / (민종)

SSL/TLS / (민종)

HTTPSSSL/TLSSSL/TLS의 역사TLS 핸드셰이크사이퍼 슈트AEAD 사이퍼 모드인증 메커니즘키 교환 암호화 알고리즘Diffie-Hellman 키 교환 알고리즘SHA-256 알고리즘SEO에도 도움이 되는 HTTPS

HTTPS

  • SSL/TLS를 사용해서 암호화된 연결하는 하는 HTTP이다.
  • 애플리케이션 계층과 전송 계층 사이에 SSL/TLS 계층을 넣은 신뢰할 수 있는 HTTP이다.

SSL/TLS

  • 전송 계층에서 보안을 제공하는 프로토콜이다.
  • 클라이언트와 서버가 통신할 때 제3자가 메시지를 도청하거나 변조하지 못하도록 한다.
notion image
  • 위 그림처럼 SSL/TLS를 통해 공격자가 사용자 정보를 가로채는 네트워크상의 인터셉터(스푸핑)를 방지할 수 있다.
  • SSL/TLS는 보안 세션을 기반으로 데이터를 암호화하며 보안 세션이 만들어질 때 인증 메커니즘, 키 교환 암호화 알고리즘, 해싱 알고리즘이 사용된다.

SSL/TLS의 역사

  • 원래는 Secure Socket Layer로 SSL 1.0부터 시작하여 3.0을 거쳤다.
  • Transport Layer Security Protocol로 명칭이 변경되고 1.0 버전을 거쳐 1.3까지 업데이트 되었다.
  • 보통 위 2개의 명칭을 합쳐 SSL/TLS로 많이 부른다.
  • TLS 1.3은 사용자가 이전에 방문한 사이트에 다시 방문하는 경우 보안 세션을 만들 때 걸리는 통신을 하지 않아도 된다. (0-RTT)

TLS 핸드셰이크

  • 앞에서 언급한 보안 세션을 만들때 TLS 핸드셰이크를 이용한다.
notion image
  • 위 그림을 살펴보면, 클라이언트와 서버가 키를 공유하고 이를 기반으로 인증, 인증 확인 등의 작업이 일어나는 한 번의 RTT가 생긴 후 데이터를 송수신 하는 것을 볼 수 있다.
  • ClinetHello 단계에서 사이퍼 슈트를 서버에 전달하면 서버는 받은 사이퍼 슈트의 암호화 알고리즘 리스트를 제공할 수 있는지 확인한다.
    • 제공할 수 있다면 클라이언트로 인증서를 보내는 인증 메커니즘이 시작되고 이후 암호화된 데이터의 송수신이 시작된다.

사이퍼 슈트

  • 프로토콜, AEAD 사이퍼 모드, 해싱 알고리즘이 나열된 규악으로 다섯 개가 있다.
목록
  • TLS_AES_128_GCM_SHA256
  • TLS_AES_256_GCM_SHA384
  • TLS_CHACHA20_POLY1305_SHA256
  • TLS_AES_128_CCM_SHA256
  • TLS_AES_128_GCM_8_SHA256

AEAD 사이퍼 모드

AEAD(Authenticated Encryption with Associated Data)는 데이터 암호화 알고리즘이며 AES_128_GCM 등이 있습니다. 예를 들어 AES_128_GCM이라는 것은 128비트의 키를 사용하는 표준 블록 암호화 기술과 병렬 계산에 용이한 암호화 알고리즘 GCM이 결합된 알고리즘을 뜻합니다.
  • TLS 1.3 부터 추가되었다.

인증 메커니즘

  • 인증 기관에서 발급한 인증서를 기반으로 이루어진다.
  • 발급한 인증서는 안전한 연결할 시작하는데 있어 필요한 ‘공개키’를 클라이언트에 제공하고 사용자가 접속한 서버가 신뢰할 수 있는 서버임을 보장한다.
  • 인증서는 서비스 정보, 공개키, 지문, 디지털 서명 등으로 이루어져 있다.

키 교환 암호화 알고리즘

  • ECDHE(Elliptic Curve Diffie-Hellman Ephermeral) 또는,
  • 모듈식 기반의 DHE(Diffie-Hellman Ephermeral)를 사용한다.
    • 둘 다 Diffie-Hellman 방식을 근간으로 만들어졌다.

Diffie-Hellman 키 교환 알고리즘

  • 위 식에서 g와 x와 p를 안다면 y는 구하기 쉽지만 g와 y와 p만 안다면 x를 구하기 어렵다는 원리에 기반한 알고리즘이다.
notion image
  • 클라어인트와 서버 모두 개인키와 공개키를 생성하고 서로에게 공개키를 보내고 공개키와 개인키를 결합하여 사전 합의된 비밀키가 생성된다.
  • 공격자가 개인키, 공개키를 가지고있어도 합의된 비밀키가 없기 때문에 공격을 할 수 없다.
 

SHA-256 알고리즘

  • 해싱 알고리즘의 한 종류이다.
  • 해시 함수의 결과값이 256비트인 알고리즘으로 해싱을 해야할 메시지에 1을 추가하는 등의 전처리를 하고 이를 기반으로 해시를 반환한다.
[블록체인] SHA-256 해시 알고리즘에 대해 알아보자
“[블록체인] SHA-256 해시 알고리즘
https://losskatsu.github.io/blockchain/sha256/#4-sha-256-%EA%B3%BC%EC%A0%95

SEO에도 도움이 되는 HTTPS

  • 구글은 사이트 내 모든 요소가 동일하다면 HTTPS 서비스를 하는 사이트의 SEO 순위를 높게 매긴다.