프로토콜
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을 비교하여 동일하면 암호화 메시지의 무결성에 문제가 없다고 판단합니다.
'네트워크 > Network' 카테고리의 다른 글
[Network]IGMP 스누핑 (0) | 2022.01.20 |
---|---|
[Network]동일 서브넷에서 호스트들끼리의 통신이 라우팅?? (0) | 2020.10.03 |
[Network]DOT(Dns Over Tls) vs DOH(Dns Over Https) (0) | 2020.09.28 |
[Network]HTTP header (0) | 2020.09.27 |
[Network]VLAN? (0) | 2020.09.27 |
댓글