암호화 스위트 (Cipher Suite) 는 일반적으로 다음과 같은 구조를 가지고 있습니다.
SSLv3, TLSv1, TLSv1.1, TLSv1.2 와 같이 암호화 통신에 사용할 프로토콜을 명시하는 부분 입니다. 일반적으로 SSLv3는 취약점으로 인하여 브라우저에서 지원을 중단하고 있는 추세 입니다.
WITH 앞쪽 부분이 보통 키교환과 인증 (전자서명을 통한 인증서 검증) 을 담당하는 부분입니다. 키 교환 알고리즘은 RSA, DH, DHE, ECDH, ECDHE 을 제공하게 됩니다.
키를 교환할 상대방이 교부한 인증서가 정말 내가 접속하고자 하는 상대방이 맞는지 상위 인증기관 (CA)를 통하여 확인하게 되는데, 이 때 사용되는 알고리즘을 의미합니다. 보통 RSA, DSS, ECDSA, ANON 등이 있습니다. 인증서를 만들때 인증서 서명 요청 (CSR)을 작성하여 상위 인증기관 (CA)에 요청하게 되는데, 이 때 선택한 알고리즘이 선택되게 됩니다.
만약 인증서 생성시 사용한 CSR에 RSA알고리즘을 넣어서 제출했다면 Cipher Suite는 다음과 같이 선택 될 수 있습니다.
실제 데이터를 암호화 하는 부분은 WITH 뒷쪽에 표현된 Cipher Suite 값을 이용하여 처리 합니다. 공개키 알고리즘을 이용하여 대칭키를 만들어 공유한 이후 실데이터 암호화를 진행하게 되는데 이 때 사용되는 알고리즘이 3DES, AES, AES128 같은 것들입니다.
실데이터를 AES128 과 같은 것으로 암호화 할 때 실데이터를 일률적으로 암호화 하는 것이 아니라 블록 단위로 쪼개서 암호화 하게 됩니다. 이 때 암호화 된 암호문을 가지고 실데이터를 추측하는 것을 방지하기 위하여 특정한 블록 암호 운용방식을 선택하게 되는데 이것이 블록 암호 운용 방식 입니다.