gbmin's Tech Notes

서버 구축 및 유지보수, 클라우드 컴퓨팅, 네트워크 보안, IT 분야 기술 노트. :)

Tech Notes/SSL

암호 스위트 - Cipher Suite

gbmin 2023. 5. 3. 20:12

암호 스위트(Cipher Suite)는 SSL/TLS 프로토콜에서 사용하는 암호화 기법의 조합을 나타낸다.
암호 스위트는 클라이언트와 서버 간의 통신에서 사용되며, SSL/TLS 핸드셰이크(handshak) 과정에서 어떤 암호화 기법을 사용할 것인지 협상한다.

- 목차

암호 스위트(Cipher Suite)란?

1) 암호 스위트(Cipher Suite) 알고리즘 종류

2) 대표적인 암호 스위트(Cipher Suite)의 종류

3) 암호 스위트(Cipher Suite)의 구조

4) 암호 스위트(Cipher Suite) 설정 방법

5) EOL(end of life)

 

 

암호 스위트(Cipher Suite)란?

암호 스위트(Cipher Suite)란 SSL/TLS 프로토콜에서 사용하는 대칭키 암호화와 공개키 암호화, HMAC 등의 암호화 기법을 조합한 것을 말한다. 여러 가지 암호화 기법을 조합하여 암호 스위트를 구성할 수 있으며, 각 암호 스위트마다 강도가 다르다.

 

1) 암호 스위트(Cipher Suite) 알고리즘 종류

대칭키 암호화 알고리즘
AES (Advanced Encryption Standard)
3DES (Triple Data Encryption Standard)
RC4 (Rivest Cipher 4)

공개키 암호화 알고리즘으로는
RSA (Rivest–Shamir–Adleman)
DHE_RSA (Diffie-Hellman Ephemeral with RSA Signature)
ECDHE_RSA (Elliptic Curve Diffie-Hellman Ephemeral with RSA Signature)
ECDHE_ECDSA (Elliptic Curve Diffie-Hellman Ephemeral with ECDSA Signature)

해시함수 (HMAC 메시지 인증 코드(Message Authentication Code, MAC)에서 사용됨.)

SHA-1, SHA-256, SHA-384

 

 

2) 대표적인 암호 스위트(Cipher Suite)의 종류

TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
TLS_RSA_WITH_AES_128_GCM_SHA256
TLS_RSA_WITH_AES_256_GCM_SHA384
TLS_RSA_WITH_AES_128_CBC_SHA256
TLS_RSA_WITH_AES_256_CBC_SHA256
TLS_RSA_WITH_RC4_128_SHA
TLS_RSA_WITH_RC4_128_MD5



3) 암호 스위트(Cipher Suite)의 구조

TLS_RSA_WITH_AES_128_CBC_SHA256

TLS : 프로토콜 버전
RSA : 서버 인증서 인증 알고리즘
AES-128-CBC : 대칭키 암호화 알고리즘
SHA-256 : MAC 알고리즘


4) 암호 스위트(Cipher Suite) 설정 방법

설정 방법은 어플리케이션 프로그램 별로 다양하며 아파치 웹 서버를 예를 들면

SSL/TLS 설정 파일을 수정하여 암호화 스위트를 구성할 수 있다.
아파치 웹 서버에서는 httpd.conf 또는 ssl.conf 파일에서 SSLCipherSuite 지시어를 사용하여 암호화 스위트를 설정할 수 있다.

 


NULL 인증서, MD5 해시 함수 및 3DES 암호화를 사용하지 않도록 설정하는 방법

SSLCipherSuite HIGH:!aNULL:!MD5:!3DES

 

ECDHE 기반의 암호화 스위트를 사용하고, 각각 다른 해시 함수와 대칭키 암호화 기법을 사용하여 암호화를 설정

SSLCipherSuite ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256

 

5) EOL(end of life)

암호화 알고리즘의 EOL은 보안 취약점이나 기술적인 한계로 더 이상 유지보수되지 않는 상태를 말한다.
SHA-1 2017년 이후 SHA-1은 더 이상 안전하지 않은 알고리즘이라고 인식되어, SSL/TLS 인증서에서 사용할 수 없도록 제한이 되었다.
RC4는 2015년 이후 보안 결함이 발견되어, SSL/TLS에서는 사용하지 않도록 권장되고 있다.
SSLv3는 2014년 POODLE 취약점이 발견되어 더 이상 사용되지 않는 암호화 프로토콜이다.
DES와 MD5는 1990년대 이후로 권장되지 않고 있다.

구체적인 정보는 각 암호화 알고리즘의 제조사나 공식 웹사이트에서 확인해야 한다.
이외에도 더 많은 알고리즘이 EOL이 되거나 대체되고 있는 상황이기 때문에 최신 보안 표준을 참고하는 것이 좋다.

 

 

[암호 스위트(Cipher Suite) 검사 사이트]

https://www.ssllabs.com/ssltest/ - SSL Labs - SSL/TLS 연결을 분석하고, 보안 문제가 있는 암호화 스위트 및 프로토콜을 검색

https://www.ssllabs.com/ - Qualys SSL Labs SSL/TLS 연결 및 인증서를 평가하고, 취약점을 검색

https://cryptcheck.fr/ - CryptCheck HTTPS 서버의 암호화 구성을 검사하고, 취약한 암호화 스위트를 검색