본문 바로가기
기타

[암호기술] 인증 시스템이 포함된 SSL 통신 및 인증서 검증원리

by bkuk 2023. 3. 7.

기본용어

 

CA (Certificate Authority)

  • 디지털 인증서를 제공하는 공인된 기업 (Certificate Authority 혹은 Root Certificate)
  • 대표적인 CA 서비스 제공 기업과 시장점유율
    • Symantec (VeriSign, Thawte, Geotrust) with 42.9% market share
    • Comodo with 26%
    • GoDaddy with 14%
    • GlobalSign with 7.7%

 

RA (Registration Authority)

  • 신원확인, 고객데이터 유지 등 인증기관의 입증을 대행하는 등록기관
  • 사용자의 인증서 발급 요청을 등로하고, 신원확인 기능을 수행

 

SSL 인증서의 서비스 보증방법

  • 웹브라우저가 서버에 접속하면 서버는 제일 먼저 인증서를 제공한다.
  • 브라우저는 인증서를 발급한 CA가 자신이 갖고있는 CA 리스트에 있는지 확인한다.
  • 리스트에 있다면 해당 CA의 공개키를 이용해서 인증서를 복호화 한다.
  • 인증서를 복호화 할 수 있다는 것은 이 인증서가 CA의 비공개키에 의해서 암호화 된 것을 의미한다. 즉 데이터를 제공한 사람의 신원을 보장해주게 되는 것이다.

 

SSL 인증서를 사용한 https 통신

출처: https://velog.io/@guswlsapdlf/https%EC%9D%98-%EB%8F%99%EC%9E%91-%EC%9B%90%EB%A6%AC

 

https 통신은 대칭키와 비대칭키 방식을 전부 사용하는 하이브리드 방식이다.
https는 보안을 위해 SSL '인증서'를 사용하고 있다. 이 인증서는 CA로부터 발급받는다. 즉, public key와 private key쌍의 정보가 거짓이 없고 유효한 정보라는 사실을 CA로부터 인증받는 것이다. 그 절차는 다음과 같다.

  1. 서버에서는 인증기관(RA)에게 public key와 private key를 생성할 것을 요청한다. 키쌍의 요청을 위임한 것이다.
  2. 요청을 받은 RA는 Public Key와 hash code가 포함된 인증서를 생성하는데, 이 hash code는 CA에 Private Key로 암호화되었다.
  3. 이 인증서는 SSL 인증서로, 서버측으로 SSL 인증서를 발급해준다.
  4. Client는 Server를 통해서 이 인증서를 받게된다.
  5. Client PC에는 CA의 Public Key가 존재한다. 이를 통해서 인증서를 복호화 한다.
  6. 복호화에 성공한다면 신뢰할 수 있는 것이다.