이러한 암호 방식 리스트를 주고 받으면서 클라이언트와 서버 간에 어떤 암호 알고리즘, 해시 알고리즘, 키 교환방식을 쓰는지를 서로간에 합의를 해서 결정하게 된다.
암호 알고리즘, 해시 알고리즘, 전자 서명 방식, 키 교환 방식을 결정하게 된다.
클라이언트가 자신이 사용할 수 있는 리스트를 서버한테 주면은 서버가 그 중 하나를 선택하게 되는데
RSA, DH_DSS, … 이런것들이 키 설정 방식을 의미한다.
키 설정 방식을 간단하게 설명 하면 두 가지 방식이 있는데 1. 공개 키 방식 2. Diffie-Hellman 방식이 있다.
- RSA는 공개 키를 사용해서 세션키, 대칭키를 설정하는 방식이다.
- 나머지 DH_DSS, DH_RSA, DHE_DSS, DHE_RSA, DH_anon은 Diffie-Hellman 방식을 사용하는건데, 이 경우는 세 가지로 구분 되어 있다. 1. DH_DSS, DH_RSA는 fixed Diffie-Hellman 방식 2. DHE_DSS, DHE_RSA는 ephemeral Diffie-Hellman 방식 3. DH_anon는 anonymous Diffie-Hellman 방식 이 있다. 결국 키 설정은 Diffie-Hellman의 세 가지랑 공개 키 방식을 놓고 보면은 네 가지 있다고 볼 수 있다.
AES는 암호 알고리즘을 의미한다. 어떤 알고리즘을 사용 할 것인가를 말한다. 그리고 CBC는 블록체인을 말한다. 결국 AES000_CBS까지가 어떤 알고리즘을 사용 할 것인지를 말해준다.
SHA_256은 해쉬 알고리즘을 얘기한다.
그러나 전자 서명 방식은 다른 필드에 표현되어있다.
'서버 > 암호' 카테고리의 다른 글
키(🔑 "key") 계산 (0) | 2021.03.22 |
---|---|
키 교환 방법 (0) | 2021.03.21 |
TLS Handshake 프로토콜 (4 단계) (0) | 2021.03.21 |
TLS Handshake 프로토콜 (3 단계) (0) | 2021.03.21 |
TLS Handshake 프로토콜 (2 단계) (0) | 2021.03.21 |