[ODOP:16]사이퍼 스위트(Cipher Suite/TLS v1.2)

tls 1.2 에서 사용하는 cipher suite 를 설명 합니다

  • 간단히 말하면 암호화 셋팅 메시지는 아래와 같이 구성 된다

TLS 1.2 기준

스크린샷 2024-08-14 오후 4.36.29.png

문맥 설명

프로토콜 TLS

TLS / SSL

키 교환 방식 ECDHE

클라이언트와 서버가 세션 키를 안전하게 공유할 수 있도록 하는 역할 세션 키를 생성하고 교환하는 과정을 보호 한다
  • RSA
  • DH(Diffie-Hellman)
  • ECDHE(Elliptic Curve Diffie-Hellman Ephemeral)

RSA

과정

  • 클라이언트는 서버의 공개 키를 이용해 프리마스터 시크릿을 암호화 하여 서버로 전송 한다
  • 서버는 자신의 비밀키를 사용해 이를 복호화 하여 프리마스터 시크릿을 얻는다
  • 이 프리마스터 시크릿을 바탕으로 양측은 동일한 세션 키를 생성한다 특징
  • 현재는 보안 문제가 있어 사용이 권장되지 않음
  • 특히 정적 RSA 키 교환 방식은 PFS(Perfect Forward Secrecy) 를 제공하지 않기 때문에 현대의 TLS 에서는 거의 사용하지 않음

DH(Diffie-Hellman)

과정

  • 클라이언트와 서버는 서로 공개적으로 공개 된 값을 교환 하고, 이 값과 자신의 비밀 키를 이용 해 같은 세션 키를 계산 한다 특징
  • 양 측이 동일한 세션 키를 계산 하지만, 중간에 누군가가 이 값을 가로챈다 해도 비밀키를 모르면 계산 불가

ECDH (Elliptic-Curve Diffie-Hellman)

과정

  • DH 방식과 유사하나, 더 효율적인 타원 곡선 암호화 알고리즘 (ECC) 사용 특징
  • 동일한 보안 수준을 유지 하면서 더 짧은 키 길이로 높은 성능을 제공
  • 현대의 TLS 에서 많이 사용되는 방식

DHE(Ephemeral Diffie-Hellman)

과정

  • DH 방식의 일시적 임시 버전으로, 각 세션마다 새로운 키를 생성 한다 특징
  • PFS 를 제공 하며, 세션이 끝난 후에도 이후의 통신을 보호할 수 있다
  • 일회용 키를 사용하므로 과거 세션의 키가 노출 되어도 이후 세션에는 영향을 미치지 않는다

ECDHE (Ephemeral Elliptic-Curve Diffie-Hellman)

과정

  • ECDH 방식의 일시적 버전
  • 각 세션마다 새로운 타원 곡선 키를 생성 한다 특징
  • DHE 와 동일하게 PFS 를 제공 하면서도 성능과 보안성을 높였다
  • 현재 TLS 에서 가장 널리 사용되고 있는 키 교환 방식

인증서 검증 RSA

서버(또는 양측)의 신원을 검증하기 위해 사용 됨 일반적으로 디지털 인증서를 통해 이루어지며 클라이언트가 서버의 공개 키를 안전하게 얻을 수 있도록 함

RSA / DSA(Digital Signature Algorithm) / ECDSA(Elliptic Curve Digital Signature Algorithm)

대칭 암호화 알고리즘 AES_128

AES_*(Advanced Encryption Standard + 키의 길이) / 3DES(Triple DES) / ChaCha20

데이터의 기밀성을 보호한다 세션 키를 사용하여 데이터를 암호화 하고 복호화 한다

블록 암호화 운용 방식 CBC

ECB(Electronic Codebook) / CBC(Cipher Block Chaining) / CFB(Cipher Feedback)

블록 암호화는 기본적으로 고정 된 크기의 블록을 처리한다 다양한 크기의 데이터를 처리하기 위해 운용 모드가 필요하다

인증 방식

  • Client 는 받은 서버의 인증서가 신뢰할 수 있는지 검토 후 공개 키를 추출한다
  • 서명자(ex: Server)는 문서의 데이터 일부를 해시 함수를 이용해 해시 값을 생성, 이를 개인 키로 암호화 한 뒤 문서에 첨부함
  • Client 는 이 인증서를 공개키로 복호화 한 뒤 개인 키로 암호화 된 해시값 역시 공개 키로 복호화
  • MAC
    • 무결성 확인용 인증 방식
    • 메시지 데이터 일부를 MAC 알고리즘으로 변환 하여 메시지에 첨부한 후 수신자가 똑같은 방식으로 변환, 일치 여부 검사