Cipher suite

TLS 1.2 이름은 길고 TLS 1.3 이름은 역할이 줄었다

TLS 1.2 cipher suite는 키 교환, 인증, 데이터 보호, 해시를 한 줄에 담습니다. TLS 1.3은 AEAD와 해시 중심으로 짧아지고, 키 교환과 인증은 확장과 인증서 알고리즘에서 따로 봅니다.

이름 해석

compare
TLS 1.2 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

ECDHE는 임시 키 교환, RSA는 서버 인증 서명, AES_128_GCM은 record 보호, SHA256은 PRF와 Finished 검증을 뜻한다.

TLS 1.3 TLS_AES_128_GCM_SHA256

AES_128_GCM과 SHA256만 이름에 남고 key_share와 Certificate 계열 메시지에서 나머지를 협상한다.

버전별 읽는 위치

matrix
항목TLS 1.2TLS 1.3
키 교환cipher suite 이름의 ECDHE/RSA 등ClientHello key_share 확장
인증이름의 RSA/ECDSA와 인증서Certificate와 CertificateVerify
데이터 보호AES_GCM, CBC 등 선택 가능AEAD cipher suite만 사용
해시PRF와 Finished 검증HKDF와 transcript hash

오해 방지

checkpoints
TLS 1.2

이름만 봐도 핸드셰이크 재료가 많이 보인다.

TLS 1.3

cipher suite 이름만으로 인증 방식까지 알 수 없다.

실무

버전, 확장, 인증서 알고리즘을 같이 읽어야 정확하다.