SSL 인증 동작

SSL 인증이란?

  • 먼저 SSL 은 대칭키, 비대칭키를 모두 사용하는 방식이다.

  • 서버가 제공하는 공개키, 서버가 가지고 있는 개인키를 사용하는 방식인 비대칭키 방식을 사용하게되면 보안적으로 탈취 가능성이 낮은 가장 이상적인 방식이 되겠지만, 비대칭키 방식은 많은 컴퓨팅 파워를 소모하는 방식으로 성능적인 문제가 발생할 수 있다.

  • 때문에, 실제 데이터는 대칭키를 사용해 통신을 하고, 대칭키를 공유하기 위해서 보안이 우수한 비대칭키 방식을 사용한다.

SSL 인증 동작방식

  1. 클라이언트 / 서버 사이의 3way-hand-shake 를 통해서 서로의 EndPoint가 연결을 확인한다. -> handshake 방식에서, 대칭키 전달을 위한 랜덤데이터, 암호화방식을 서로 공유한다.

  2. 서버의 신뢰성을 보장받기 위해서 다음의 과정을 거친다.

    1. 클라이언트가 서버에 요청을 할 시, 서버는 인증서를 클라이언트에게 전달한다.

    2. 웹 브라우저는 이 인증서를 발급한 CA 가 브라우저에 내장되어 있는지 확인하고,

    3. 브라우저에 내장되어 있는 CA 의 공개키를 사용해서 인증서를 복호화한다. -> 여기서 복호화 된다는 것은 서버가 신뢰할 수 있다는 것을 의미한다.

    4. 이를 통해서 서버의 신뢰성을 확인할 수 있다.

  3. 이전에 handshake 과정에서 공유했었던, 랜덤데이터와 암호화 방식을 사용해서 대칭키를 만들고 획득한 사이트 공개키로 암호화하여 대칭키를 공유한다.

  4. 공유된 대칭키를 통해서 데이터를 주고받게 된다.

Last updated