SSL/TLS

SSL TLS에서 사용되는 암호화 스위트 (Cipher Suite) 란 무엇일까?

  • jroh

Cipher Suite는 TLS 핸드쉐이크를 통해 클라이언트/서버간 최종 협의되는데, 어떤 프로토콜을 사용할 지, 어떻게 암호화하여 통신할 지에 대한 여러 정보가 포함됩니다.

notion image

프로토콜 (Protocol)

SSLv3, TLSv1, TLSv1.1, TLSv1.2 와 같이 암호화 통신에 사용할 프로토콜. SSLv3는 취약점으로 인해 지원 중단 추세.

키교환 (Key Exchange)

WITH 앞쪽. 키 교환 알고리즘:

  • RSA : 비대칭키를 이용한 키교환
  • DH : Diffie Hellman 방식
  • DHE : Ephermeral 을 지원하는 DH (PFS 지원)
  • ECDH : Elliptic Curve Diffie Hellman
  • ECDHE : EC 및 Ephermeral 을 지원하는 DH (PFS 지원)

인증 (Authentication)

상위 인증기관(CA)를 통한 인증서 검증 알고리즘: RSA, DSS, ECDSA, ANON 등.

  • RSA : 키교환 및 인증 모두 RSA
  • DH-RSA : 키교환은 DH, 인증은 RSA
  • ECDHE-RSA : 키교환은 ECDHE, 인증은 RSA

암호화 (Encryption)

WITH 뒷쪽. 대칭키 암호화 알고리즘: 3DES, AES, AES128 등.

블록 암호 운용 방식 (Block Cipher Operation Mode)

  • CBC : Chipher Block Chaining
  • GCM : Galois/Counter Mode

메시지 인증 (Message Authentication)

MAC(Message Authentication Code). 해쉬 알고리즘(SHA, SHA256, SHA384, MD5 등)을 이용하여 HMAC을 생성:

  • 송/수신자는 대칭키를 공유
  • 송신자는 메시지+대칭키 해쉬를 MAC으로 첨부
  • 수신자도 동일하게 계산하여 비교해 무결성 확인
notion image

이렇게 6가지 항목을 이용하여 SSL/TLS 암호화 통신에 사용할 알고리즘을 선택하고, 그 집합을 Cipher Suite라고 합니다.

감사합니다~


📎

RSA 인증서 (Certification) 와 전자서명 (Digital Sign)의 원리SSL/TLS