728x90

이 두가지 방법은 TLS의 경우에도 사용하고있다.

 

  • (공개키 사용 방법) 클라이언트가 서버에 접속을 하고싶다고 서버에 말을 하면, 서버가내가 진짜 서버다라고 인증을 하는데 과정에서 공인인증서를 사용자에게 준다. 그러면 사용자는 서버의 공개키를 받고   공개키로 대칭키를 만들 있다. 그래서 대칭키를 만들어서 서버한테 안전하게 전달시켜준다. 안전하게 서버에게 전달하는 과정은, 클라이언트가 아까 받았던 서버의 공개키를 사용해서 대칭키를 암호화 시켜서 보낸다. 이렇게 하면 암호화된 내용은 누구든지 있지만 서버에 개인키가 없으면 대칭키를 복호화할 없다. 오로지 서버만이 메시지를 복호화할 있다. 그래서 서버는 클라이언트가 만든 동일한 세션키를 가질 있게 된다.
  • (Diffe-Hellman 방법) 클라이언트가 서버에 접속을 하고싶다고 서버에 말을 하면, 서버가 “내가 진짜 서버다” 라고 인증을 하는데 그 과정에서 공인인증서를 사용자에게 준다. 그러면 서버가 자신의 비밀값을 만든다. 그래서 Diffie-Hellman 파라메터를 클라이언트에게 전달하고, 클라이언트도 자신의 비밀값을 만든다. 그리고 클라이언트도 Diffie-Hellman 파라메터를 서버에게 전달한다. 그래서 클라이언트와 서버는 각자 받은 값(Diffie-Hellman 파라메터)과 각자의 비밀값을 가지고 계산을 하면은 둘만이 공유하는 비밀값이 되겠고, 계산해서 나온 값을 이용해서 세션키 혹은 다른 키를 이용해서 사용한다. 

'서버 > 암호' 카테고리의 다른 글

TLS Handshake 프로토콜 (4 단계)  (0) 2021.03.21
TLS Handshake 프로토콜 (3 단계)  (0) 2021.03.21
TLS Handshake 프로토콜 (2 단계)  (0) 2021.03.21
TLS Handshake 프로토콜 (1 단계)  (0) 2021.03.21
TLS의 절차  (0) 2021.03.20

+ Recent posts