본문 바로가기
공부/보안

[보안] SSL/TLS 인증서 발급 과정 및 인증 절차

by 웅대 2023. 10. 30.
728x90
반응형

https://growth-coder.tistory.com/259

저번 포스팅에서 대칭키 방식과 비대칭키 방식의 차이점과 이 둘을 혼합한 암호 모델에 대해서 공부하였다.

 

이번 포스팅에서는 SSL/TLS 인증서에 대한 개념을 공부해보려고 한다.

 

저번 포스팅에서 설명한 대칭키 방식과 비대칭키 방식을 혼합한 방식에 대해서 설명을 했었는데 그 방식이 사용된다.

(위 링크 참고)

 

SSL과 TLS

SSL과 TLS는 암호화 방식을 나타내는 암호화 프로토콜이다.

 

SSL은 MAC을 사용하여 메시지 변조를 방지하고 TLS는 MAC을 사용하지 않고 다른 방식을 사용한다.

 

이번 포스팅의 주된 내용은 SSL과 TLS의 개념적 차이가 아닌 동작 방식이기 때문에 이 둘의 차이점에 대해서는 깊게 알아보지는 않으려고 한다.

CA (Certificate Authority)

CA는 인증 기관으로 디지털 인증서를 발급해주는 기관이다.

 

SSL/TLS 기반 통신을 하기 위해서는 CA로부터 인증서를 발급받아야 한다.

 

이 CA는 엄격한 심사를 거친 기업만이 자격을 가지기 때문에 신뢰성이 보증된다.

 

SSL/TLS 인증서 발급 과정

이제 웹 사이트가 CA로부터 SSL/TLS 인증서를 발급받는 과정을 알아보자.

 

  1. 웹 사이트에서 공개키 - 개인키 쌍을 생성한다.
  2. 웹 사이트의 정보와 공개키를 바탕으로 CSR을 작성하여 CA에게 보낸다.
  3. CA는 웹 사이트의 공개키를 해시 후 CA의 개인키로 암호화해서 디지털 서명을 만든다.
  4. 웹 사이트 정보와 디지털 서명 정보를 포함하는 인증서를 웹 사이트에게 발급해준다.

 

SSL/TLS 통신 과정

CA로부터 인증서를 발급받은 서버가 클라이언트와 어떻게 통신하는지 알아보자.

 

우선 웹 브라우저에는 공인된 CA 기관의 목록과 각 기관의 공개키를 가지고 있다.

 

그리고 아래 과정을 진행한다.

https://www.imperva.com/learn/performance/cdn-and-ssl-tls/

  1. TCP 3 way handshaking 과정을 통해 연결을 확인한다.
  2. 클라이언트가 인증서를 요청하면 서버는 인증서를 준다.
  3. 인증서를 발급한 기관을 브라우저의 CA 목록에서 찾는다.
  4. 찾았다면 CA의 공개키를 가져온다.
  5. CA 공개키로 서명을 복호화한다.
  6. 서버의 공개키를 해시하여 서명을 복호화 한 값과 일치한지 확인한다.
  7. 이제 인증이 완료되었고 클라이언트는 대칭키를 서버와 교환한다.

7번에서 사용하는 방식이 이전 포스팅에서 다루었던 대칭키 방식과 비대칭키 방식의 혼합 방식이다.

(자세한 내용은 이전 포스팅 참고)

이전 포스팅에서도 말했듯이 여기서 사용하는 대칭키는 세션이 종료되면 폐기하기 때문에 세션키라고도 부른다.

 

지금까지 알아본 방식은 신뢰도가 높은 CA 기관으로부터 인증서를 발급받는 방식이다.

 

그런데 openssl을 사용하여 자신이 직접 인증서를 발급받을 수 있다.

 

물론 공인된 CA로부터 발급받은 것이 아니기 때문에 브라우저는 경고 메시지를 띄운다.

 

참고

https://babbab2.tistory.com/5

 

TLS(SSL) - 2. 인증서, CA, SSL 인증서를 통해 서버를 인증하는 방법

안녕하세요. 소들입니다 :D 저번 시간에 TLS의 정의, 암호화 방식에 대해 알아봤죠? 이번엔 TLS 인증서에 대해 공부해볼 거예요. •'-'•)و✧ 복습을 하자면 TLS의 암호화 방식은 대칭키 방식 + 비대

babbab2.tistory.com

https://heodolf.tistory.com/94

 

[OpenSSL] SSL/TLS 인증서 발급받기

0. 서론 FTP서버 만들기 포스트에서 FTP서버에 접속할 때, 사용자를 인증하고 접속하는 방법에 대해서 알아보았다. 각 사용자마다 접근 권한과 폴더를 지정하는 방법으로 행동에 제한을 둠으로써

heodolf.tistory.com

https://docs.aws.amazon.com/ko_kr/cloudhsm/latest/userguide/ssl-offload-overview.html

 

을 사용한 SSL/TLS 오프로드 작동 방식AWS CloudHSM작동합니다 - AWS CloudHSM

다음 이미지와 프로세스는 서버 확인 및 키 교환에 RSA가 사용된다고 가정합니다. 이 프로세스는 RSA 대신 Diffie-Hellman이 사용되는 경우와 약간 다릅니다.

docs.aws.amazon.com

https://www.imperva.com/learn/performance/cdn-and-ssl-tls/

 

CDN & SSL/TLS | CDN Guide | Imperva

CDN SSL/TLS: Discover the performance and security aspects of using SSL in conjunction with CDN — an increasingly popular choice for many website owners

www.imperva.com

 

728x90
반응형

댓글