728x90
반응형

이번에는 우리가 알고 있는 공인인증서는 무슨 역할을 하고, 왜 인증된 기관에서 받아야 하는지 알아보겠습니다.

인증서(Certificate)는 무엇이며 왜 만들어졌는가?

 

인증서는 아래와 같은 내용이 포함되어 있습니다.

- 발행 장소

- 소유자 이름과 email 주소

- 인증서의 용도, 유효기간

- Common Name(CN)

- Public Key

- Hash

 

인증서에 포함된 Public Key는 발행 주체(예를들면 서비스를 제공하는 웹 사이트 등)의 PK이며, 이 정보들은 인증기관의 private key로 암호화 되었습니다. 브라우저들은 유명한 인증 기관의 Public Key를 이미 포함하고 있어 인증서를 받아 발행 주체의 Public Key를 확인할 수 있습니다. 

 

개인적인 생각으로는 사용자가 서비스를 제공하는 웹 사이트에 접속할 때 별도로 Public Key를 전달하면 될 것을 왜 인증서를 만들고, 인증 기관까지 만들어서 이럴까 하는 생각도 들긴 합니다. 하지만, 인증서를 공인된 인증 기관에 신청할 때 신청 주체가 해당 도메인의 주인이 맞는지, 어떤 도메인을 언제까지 사용하는지에 대한 정보를 등록, 확인하는 절차가 있기 때문에, 사용자가 해당 사이트에 접속했을 때 공인된 인증서가 있다면 그 사이트를 보다 더 신뢰하고 정보를 교환할 수 있을 겁니다.

 

인증기관의 역할과 작동원리

 

인증서 발급을 신청한 주체는 Root Certification Authority (이하 CA)라 부르는 인증서 발급 기관에 인증서 발급을 신청합니다. CA의 인증서는 웹브라우저에 기본으로 설치되어 있으며, 인증서 신청주체는 일정 비용을 지불하고 인증을 요청할 수 있습니다. 또한 Let's Encrypt (무료이며 자동화된 개방형 인증 기관) 같은 무료 인증 기관도 있습니다. 

 

이제 유저들은 어떤 사이트에 https로 접속할 때 인증서를 먼저 확인하게 됩니다. SSL 의 이전 흐름도에 인증 과정을 추가하면 아래와 같습니다.

(* 인증서를 활용한 데이터 교환 절차)

인증기관은 발급하는 역할도 하지만, 철회 인증서(Revoked Certificate)들도 관리합니다. Root CA 인증서들은 모두 해당 기관에서 자체 서명(Self-signed)되어 있으며. 이제 다음 글에서는 자체 서명된 인증서를 만들고 이를 개인용 사이트 혹은 다른 용도로 어떻게 사용할 수 있는지 알아보겠습니다.

 

 

 

 

 

 

반응형

+ Recent posts