본문 바로가기
네트워크/Network

[Network]Cipher Suite(TLS/SSL)

by jamong1014 2020. 9. 29.
반응형

 

 

https://i0.wp.com/rsec.kr/wp-content/uploads/2017/07/2017-07-29_14-29-10.png?w=879&ssl=1

 

프로토콜

tlsv1, tlsv1.1, tlsv1.2 와 같은 암호화 통신에 사용할 프로토콜을 명시하는 부분입니다.


키 교환

WITH 앞쪽 부분이 보통 키교환과 인증 (전자 서명을 통한 인증서 검증)을 담당하는 부분, 키 교환 알고리즘은 RSA, DH, DHE, ECDH, ECDHE을 제공하게 됩니다.

RSA : 비대칭키를 이용한 키교환 방식

DH : 디피 헬만 방식

DHE : Ephermeral을 지원하는 디피 헬만 방식

ECDH : Elliptic Curve Diffie Hellman, Propose Cheme 방식

ECHDE : Elliptic Curve 및 Ephermeral을 지원하는 디피 헬만 방식


인증

키를 교환할 상대방이 교부한 인증서가 정말 내가 접속하고자 하는 상대방이 맞는지 상위 인증기관 (CA)를 통하여 확인하게 되는데, 이 때 사용되는 알고리즘을 의미합니다. 보통 RSA, DSS, ECDSA, ANON 등이 있습니다. 인증서를 만들때 인증서 서명 요청 (CSR)을 작성하여 상위 인증기관 (CA)에 요청하게 되는데, 이 때 선택한 알고리즘이 선택되게 됩니다.

RSA : 키교환 및 인증을 모두 RSA 알고리즘을 이용

DH-RSA : 키교환은 디피 헬만 (Diffie Hellman), 인증은 RSA

ECDHE-RSA : 키교환은 ECDHE, 인증은 RSA


암호화

실제 데이터를 암호화 하는 부분은 WITH 뒷쪽에 표현된 Cipher Suite 값을 이용하여 처리 합니다. 공개키 알고리즘을 이용하여 대칭키를 만들어 공유한 이후 실데이터 암호화를 진행하게 되는데 이 때 사용되는 알고리즘이 3DES, AES, AES128 같은 것들입니다.


블록 암호 운용 방식

실데이터를 AES128 과 같은 것으로 암호화 할 때 실데이터를 일률적으로 암호화 하는 것이 아니라 블록 단위로 쪼개서 암호화 하게 됩니다. 이 때 암호화 된 암호문을 가지고 실데이터를 추측하는 것을 방지하기 위하여 특정한 블록 암호 운용방식을 선택하게 되는데 이것이 블록 암호 운용 방식 입니다.

CBC : Chipher Block Chaining, 암호 블록 체인 모드, CTR과 CBC-MAC을 조합하여 계산, 느림

GCM : Galois/Counter Mode, 갈르와 카운터 모드, CTR과 GHASH를 조합하여 계산, 빠름


메시지 인증

블록 단위로 암호화 된 메시지들이 상대방이 암호화 한 것이 맞는지 확인하기 위하여 무결성을 검증하게 되는데, 이 때 사용되는 것이 메시지 인증 (Message Authentication) 부분입니다. 이를 보통 MAC (Message Authentication Code) 라고 하는데, 여기에 해쉬 알고리즘 (SHA, SHA256, SHA384, MD5 등) 을 이용하기 때문에 HMAC이라고 부르게 됩니다.

송신자/수신자는 HMAC에 사용할 대칭키를 알고 있습니다송신자는 암호화 메시지와 대칭키를 결합한 후, SHA등의 해쉬 알고리즘을 이용하여 MAC 을 추출하여 이것을 메시지와 함께 보냅니다.수신자도 암호화 메시지와 대칭키를 결합한 후, SHA등의 해쉬 알고리즘을 이용하여 MAC을 추출합니다. 그 다음 송신자가 보낸 MAC과 수신자가 스스로 계산한 MAC을 비교하여 동일하면 암호화 메시지의 무결성에 문제가 없다고 판단합니다.

 

참고:https://rsec.kr/?p=455

 

반응형

댓글