초보자를 위한 SSL/TLS 가이드: 무료와 유료 인증서의 차이점

2024. 6. 10. 12:16CS

728x90

내가 만든 사이트가?

 

1. SSL의 등장 배경과 역사

인터넷이 상용화되면서 데이터 전송 과정에서 도청, 변호, 위변조의 위험성이 커졌습니다.
예를 들어 사용자가 웹사이트에 로그인할 때 입력하는 ID 와 비밀번호가 중간에서 도청될 수 있습니다.
이러한 보안 문제를 해결하기 위해 안전한 데이터 전송 방식의 필요성이 대두됐습니다.

개인정보 보호 및 기밀성 유지

인터넷에서 전송되는 데이터는 개인 정보나 금융 정보 등 민감한 정보를 포함할 수 있습니다.
이러한 정보가 유출되면 심각한 문제가 발생할 수 있기 때문에, 기밀성을 유지하는 것이 중요합니다.

SSL의 탄생

TLS 발전 역사

1994년, Netscape Communications는 이러한 문제를 해결하기 위해 SSL(Secure Sockets Layer) 프로토콜을 개발했습니다.
SSL은 데이터 암호화를 통해 안전한 통신을 보장하는 기술입니다.

TLS로의 발전

1999년, SSL 3.0이 발전하여 TLS(Transport Layer Security)로 이어졌습니다.
TLS는 SSL의 후속 버전으로, 보안 기능이 강화되고 현재까지 사용되고 있습니다.
최신 버전은 TLS 1.3(a.k.a. tls 3.0)으로, 더 나은 보안성과 성능을 제공합니다.

여담으로, 현재 TLS 1.2 (a.k.a  TLS 2.0) 은 보안 취약점이 발견되어 금지되어 있습니다. (링크)

2. SSL의 기본 개념과 필요성

SSL 의 기본 개념에는 크게 3 가지 존재합니다.

데이터 암호화

SSL/TLS는 데이터 암호화를 통해 전송되는 데이터를 보호합니다.
암호화된 데이터는 중간에서 도청되더라도 해독할 수 없기 때문에 안전합니다.

데이터 무결성

SSL/TLS는 데이터 무결성을 보장합니다.
데이터가 전송 중에 변경되지 않았음을 확인할 수 있어, 변조된 데이터를 감지하고 방지할 수 있습니다.

인증

SSL/TLS는 서버와 클라이언트 간의 신원을 인증서를 통해 확인합니다.
이를 통해 사용자와 서버가 서로 신뢰할 수 있게 됩니다.

SSL/TLS 의 기본 개념 3가지, 데이터 암호화, 데이터 무결성, 인증 들은 사용자에게 신뢰도를 제공, 웹사이트의 신뢰성을 높입니다.
이러한 이유로, SSL/TLS 는 사실 핵심 요소입니다.

3. 인증 기관(CA)의 역할

인증 기관(CA, Certificate Authority) 는 SSL/TLS 인증서를 발급하고 관리하는 조직입니다.
CA 는 도메인 소유자의 신원을 확인하고, 인증서를 발급해줘 사용자들이 해당 웹사이트가 신뢰할 수 있음을 보장합니다. 

인증 기관의 역할

  1. 도메인 소유권 확인
    CA 는 인증서를 발급하기 전에 도메인 소유권을 확인합니다.
    이를 통해 인증서가 올바른 도메인 소유자에게 발급되도록 합니다.
  2. 인증서 발급 및 서명
    CA 는 확인된 도메인 소유자에게 SSL/TLS 인증서를 발급하고, 서명합니다.
    서명된 인증서는 브라우저와 운영 체제에서 신뢰할 수 있는 인증서로 인식됩니다.
  3. 인증서의 신뢰성 보장
    CA 는 인증서의 유효성을 관리하고, 문제가 발생할 경우 인증서를 폐지합니다.
    이를 통해 인증서의 신뢰성을 유지합니다.

4. 신뢰할 수 있는 인증 기관 목록

Let's Encrypt (무료)

Let's Encrypt는 무료 SSL/TLS 인증서를 제공하는 인증 기관입니다.
자동화된 인증서 발급 및 갱신을 지원하여 SSL 도입을 쉽게 할 수 있습니다.

Comodo

Comodo는 다양한 SSL/TLS 인증서를 제공하는 유료 인증 기관입니다.
도메인 검증(DV), 조직 검증(OV), 확장 검증(EV) 인증서를 제공하며, 높은 신뢰성을 자랑합니다.

DigiCert

DigiCert는 기업용 SSL/TLS 인증서 발급을 전문으로 하는 인증 기관입니다.
다양한 보안 솔루션을 제공하며, 강력한 보안과 신뢰성을 보장합니다.

GlobalSign

GlobalSign은 글로벌 인증 기관으로, 다양한 유형의 SSL/TLS 인증서를 제공합니다.
강력한 보안과 신뢰성을 제공하며, 다양한 추가 기능을 지원합니다.

5. 무료 공인 인증서와 유료 인증서의 차이

무료 공인 인증서 (예: Let's Encrypt)

  • 기본 보안 제공: 도메인 소유권 확인 후 무료로 인증서 발급.
  • 도메인 검증만 제공: 도메인 소유권만 확인, 회사 정보는 확인하지 않음.
  • 자동 발급 및 갱신: Certbot 도구로 간편하게 인증서 관리.
  • 제한된 지원: 주로 커뮤니티에서 도움을 받을 수 있음.
  • 짧은 유효 기간(90일): 90일마다 자동으로 갱신해야 함.

유료 인증서

  • 추가 기능 제공: 사이트 신뢰도를 높이는 기능 포함.
  • 다양한 인증서: 도메인, 회사 정보, 더 엄격한 보안 확인 가능.
  • 여러 도메인 지원: 한 번에 여러 도메인/서브도메인을 보호.
  • 보증 및 지원: 문제가 생기면 보상금 제공, 24시간 기술 지원.
  • 긴 유효 기간: 1년에서 3년까지 사용 가능.

6. Let's Encrypt와 Certbot

Let's Encrypt

Let's Encrypt는 무료로 SSL/TLS 인증서를 제공하는 공인 인증 기관입니다.
Let's Encrypt의 목표는 모든 웹사이트가 기본적으로 HTTPS를 사용하도록 하는 것입니다.
이를 위해 Let's Encrypt는 누구나 무료로 사용할 수 있는 인증서를 제공합니다.

  • 무료 SSL/TLS 인증서 제공
    Let's Encrypt는 무료로 SSL/TLS 인증서를 발급합니다.
    도메인 소유권을 확인한 후, 인증서를 발급하여 웹사이트가 안전하게 HTTPS를 사용할 수 있도록 합니다.
  • 자동화된 인증서 발급 및 갱신 지원
    Let's Encrypt는 인증서 발급과 갱신 과정을 자동화하여, 사용자가 간편하게 인증서를 관리할 수 있도록 지원합니다.

Certbot

Certbot은 Let's Encrypt 인증서를 손쉽게 발급하고 갱신할 수 있는 도구입니다.
Certbot을 사용하면 명령어 한 줄로 인증서를 발급하고 설치할 수 있어, SSL 도입 과정을 크게 간소화할 수 있습니다.

  • 손쉬운 인증서 발급 및 갱신
    Certbot을 사용하면 Let's Encrypt 인증서를 손쉽게 발급하고 갱신할 수 있습니다.
    명령어 한 줄로 인증서 발급과 설치를 완료할 수 있습니다.
  • 자동화된 갱신 지원
    Certbot은 인증서 갱신을 자동화하여, 인증서 유효 기간이 만료되지 않도록 합니다.
    이를 통해 지속적인 보안을 유지할 수 있습니다.

7. Self-signed 인증서와 공인 인증서의 차이

구글링을 좀 한 사람이면 "직접 만드는 self-signed 인증서도 있지 않냐?" 라고 질문을 남길 수도 있습니다.
틀린 말은 아니다만 둘 간에는 엄연한 신뢰성 차이가 존재합니다. 

결국 인증서는 내가 통신하는 상대가 안전하다라는 것을 알기 위한 매개체입니다.
이때 이 안전하다의 보증을 서주는게 CA 이고요. 이러한 인증서를 발급한 곳이 만약 CA 가 아니라 개인이라면,
과연 이 인증서가 안전하다고 보장이 될까요?

이에 대한 대답은 NO 입니다.
그러기에 만약 self-signed 인증서를 사용하는 웹사이트에 방문하면 다음과 같은 화면을 마주하게 됩니다.

self-assigned 를 사용한 개인 프로젝트

8. 마무리

SSL/TLS의 중요성 재확인

SSL/TLS는 안전한 인터넷 통신을 위해 필수적인 기술입니다.
데이터 암호화, 데이터 무결성, 인증 기능을 통해 보안을 강화합니다.

신뢰할 수 있는 인증서를 사용하는 방법

공인된 인증 기관(CA)에서 발급한 인증서를 사용하여,
브라우저와 운영체제에서 신뢰할 수 있는 HTTPS 연결을 설정할 수 있습니다.
Let's Encrypt와 같은 무료 인증 기관을 활용할 수도 있습니다.

Self-signed 인증서의 한계와 사용 사례

Self-signed 인증서는 개발 및 테스트 환경에서 유용하지만,
프로덕션 환경에서는 공인된 인증 기관의 인증서를 사용하는 것이 좋습니다.

 

728x90