[TLS] Cipher Suite
MAY 21, 2020
Cipher Suite
- TLS에서는 암호화하는 방법을 표준으로 특정하지 않고, server와 client가 합의해서 결정한다.
- 서로 합의해야 하는 알고리즘은 4가지이다.
— 대칭키 전달 방식,
— 인증서 서명 방식,
— 대칭키 알고리즘,
— HMAC 알고리즘
- TLS에서는 서버와 클라이언트가 이 4가지 알고리즘을 세트로 합의하고, 합의된 알고리즘으로 application layer의 내용을 암호화해서 전송한다.
- cipher suite는 TLSECDHERSAWITHAES256GCM_SHA384와 같이 표기한다. 이 cipher suite를 읽어보면, 다음과 같이 해석할 수 있다.
— 대칭키 전달 방식은 ECDHE(Elliptic Curve Diffie Hellman Ephermeral)을 사용하며,
— 인증서 서명 방식은 RSA로 서명된 인증서로 상호간의 신원을 확인하고,
— 대칭키 암호화 알고리즘은 AES 256bit와 GCM를 채택하고,
— HMAC 알고리즘으로는 SHA 384를 사용해서 메시지의 무결성을 확인한다.
- cipher suite는 여러가지 있다. 그중에서 client가 지원하면서 취약하지 않은 cipher suite의 리스트를 서버에게 알려주면, 서버는 그중에 지원하는 cipher suite를 선택해서 보내 합의한다.