빠에야는 개발중

SSL 인증서 본문

공부/보안

SSL 인증서

빠에야좋아 2018. 3. 19. 17:37

SSL 인증서는 클라이언트-서버 간 안전한 통신을 위해 사용 되는 기술이다. 그 맥락은 전자 서명과 비슷한데, 몇 가지 개념이 추가적으로 들어간다.

공개키와 대칭키

암호화/복호화의 방법에는 공개키(비대칭키) 방식과 대칭키 방식이 있다. 공개키 방식은 암호화, 복호화 하는 키가 서로 다르기 때문에 중간 과정에서의 탈취의 염려가 적다. 그래서 일반적인 전자 서명에서 많이 사용되는 기법이다.
반면에 대칭키는 하나의 키로 암호화와 복호화를 모두 처리한다. 그렇기 때문에 중간에 키가 탈취되면 안전성이 전혀 없어진다.

두 가지를 모두 사용하자

이렇게만 보면 공개키를 사용하지 대칭키를 왜 사용하냐 하겠지만 공개키에는 사실 큰 단점이 있었으니 그것은 바로 성능이다. 서로 다른 키로 암호화와 복호화를 하는 만큼 처리 시간이 대칭키에 비해서 매우 오래 걸린다. 이는 성능을 중시하는 클라이언트-서버 통신 환경에서 매우 불리하게 작용하기 때문에 개선할 필요가 있었다. 그래서 상대적으로 성능이 좋은 대칭키 방식을 융합하여 사용하게 된다.

SSL 통신 방식

  1. 클라이언트는 서버에게 통신을 요청하면서 클라이언트에서 새로 생성한 랜덤 데이터, 사용할 수 있는 CA 공개키 리스트 등을 담아 보낸다.
  2. 서버는 클라이언트의 요청을 받아 서버에서 새로 생성한 랜덤 데이터, 결정한 CA 종류, 서버의 공개키가 담긴 인증서를 보낸다.
  3. 클라이언트는 서버가 결정한 CA의 공개키를 이용하여 인증서를 복호화 하고 서버가 믿을 수 있음을 알아낸다.
  4. 클라이언트는 각자가 생성한 랜덤 데이터를 조합하여 새로운 대칭키를 만들고, 복호한 인증서에서 나온 서버의 공개키를 사용하여 새로운 대칭키를 암호화한다.
  5. 서버는 클라이언트가 보낸 암호화 된 대칭키를 서버의 비대칭키로 복호화하여 원문을 알아낸다.
  6. 이제 클라이언트와 서버는 새로 만든 대칭키를 사용하여 통신한다.

여담

SSL에서 사용하는 대표적인 공개키 알고리즘에는 RSA 등이 있다. 대칭키 알고리즘은 DES 등이 있다.
HTTPS에서 SSL 방식을 사용한다.
SSL은 옛 단어이고, 지금은 TLS라는 이름으로 바뀌었다.

'공부 > 보안' 카테고리의 다른 글

Oauth에 대해서  (0) 2018.02.26
전자 서명이란?  (0) 2018.02.23
Comments