본문 바로가기

기타개발

비대칭 키와 SSL 인증방식 그리고 handshake

비대칭 키와 SSL 인증방식 그리고 handshake

ssl인증방식과 handshake를 설명하기 앞서서 대칭키와 비대칭키에 대해서 알아야한다.

 

대칭키

대칭키는 하나의 키로 문서를 암호화 하는 방식이다. 대칭키는 키를 가지고 있는 사람은 이 키로 암호화된 문서를 복호화 할 수 있고 속도가 비대칭키 보다 빠르다는 장점이 있다.

 

비대칭키

 비대칭키는 2개의 키로 암호화와 복호화가 되는데 예를들어 a, b키가 있고 문서를 a키로 암호화 했다면 b를 가진자만이 복호화를 할 수있고 반대로 문서를 b로 암호화 했다면 a키로 복호화가 가능하다.

 비대칭키는 RSA 키방식을 주로 사용하고 여기서 키 a ,b 는 흔히 public key / private key로 말한다.
 
 
 

SSL 인증방식

 우리가 사용하는 웹사이트가 내정보를 안전하게 가지고 있는가? 를 생각해 보자
만약 사이트에 id와 password를 입력하고 로그인을 한다면 그 정보는 암호화 되어 통신되어야 안전할 것이다.
 
간단히 말해서 브라우저에 이렇게 표시되면 해당 사이트에서 통신되는 데이터는 암호화 되어서 안전하게 통신된다고 말할 수 있다.

 


 
 인증기관으로 인증된 서버는



다음과 같이 표시되며 표시된 웹사이트는 브라우저에서 입력된 정보가 암호화 되어 전송됩니다.
 
 
 
 

handshake

SSL인증방식에 의해서 암호화되어서 통신하면 안전하지만 대칭키 방식보다 느리다는 단점을 가지고 있다.
 이를 보완하기 위해서 비대칭키와 대칭키를 섞어쓰는 방법이 있는데 그 중 handshake 방법이 있다.
handshake는 처음에 비대칭키를 사용하여 인증하고 그 다음부터는 대칭키로 통신하는 방식이다.
 처음 통신할때 브라우저에서 Random key를 생성하고 이를 인증된 서버에 보내고 인증된 서버는 pirvate key로 대칭키를 확인할 수 있다.