728x90
반응형

OpenSSL 기반 사설인증서와 공인인증서 차이

SSL/TLS 프로토콜은 웹 사이트와 사용자 간의 안전한 통신을 보장하기 위해 인증서를 사용합니다. 이 인증서는 사설인증서(Self-Signed Certificate)공인인증서(CA-Signed Certificate)로 구분되며, 각각 고유한 특징과 사용 사례를 가집니다. OpenSSL은 두 유형의 인증서를 생성하고 관리하는 강력한 도구로, 보안 요구 사항에 따라 적합한 인증서를 선택하고 구성할 수 있도록 지원합니다.

이번 포스트에서는 사설인증서와 공인인증서의 차이점, 장단점, 그리고 OpenSSL을 활용한 인증서 생성 방법을 살펴보겠습니다.

사설인증서(Self-Signed Certificate)

개념

사설인증서는 인증 기관(CA)의 개입 없이 사용자가 직접 생성한 인증서입니다. 이는 테스트 환경이나 내부 시스템에서 주로 사용되며, 배포 및 관리가 간편합니다.

특징

  • 발급 주체: 사용자 또는 시스템 관리자
  • 신뢰 수준: 신뢰할 수 있는 루트 CA가 없어 브라우저에서 경고가 발생
  • 용도: 내부 시스템, 개발 및 테스트 환경

장점

  1. 비용 절감: 인증 기관을 통한 발급 비용이 없음
  2. 빠른 생성: OpenSSL 명령어로 즉시 생성 가능
  3. 간편한 사용: 소규모 프로젝트나 내부 네트워크에 적합

단점

  1. 신뢰 부족: 브라우저와 사용자 간 신뢰 문제 발생
  2. 보안 취약점: 공인인증서에 비해 신뢰 체계가 없어 취약

OpenSSL을 활용한 사설인증서 생성

생성방법 1 - 일관 생성

# 개인 키와 사설인증서 생성
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout private.key -out selfsigned.crt

생성방법 2 - 순차 생성

# 1. 개인 키 생성
openssl genpkey -algorithm RSA -out private.key

# 2. 인증 요청서(CSR) 생성
openssl req -new -key private.key -out certificate.csr

# 3. 셀프 서명 인증서 생성
openssl x509 -req -days 365 -in certificate.csr -signkey private.key -out selfsigned.crt

공인인증서(CA-Signed Certificate)

개념

공인인증서는 신뢰할 수 있는 인증 기관(CA)이 발급한 인증서로, 인터넷 사용자의 신뢰를 얻기 위해 필수적입니다. 웹 사이트 보안을 위한 HTTPS 구현에 널리 사용됩니다.

특징

  • 발급 주체: 신뢰할 수 있는 루트 CA
  • 신뢰 수준: 대부분의 브라우저와 운영 체제에서 신뢰됨
  • 용도: 공개 웹사이트, 전자 상거래, 금융 서비스 등

장점

  1. 신뢰도: 브라우저와 운영 체제에서 자동으로 신뢰
  2. 보안성: 체계적인 인증 절차로 보안 강화
  3. 브랜드 이미지 향상: 사용자의 신뢰를 확보하여 서비스 신뢰도 증가

단점

  1. 비용 부담: 유료 발급 및 갱신 필요
  2. 발급 시간: 인증 기관의 검증 절차로 인해 시간이 소요

OpenSSL을 활용한 공인인증서 요청(CSR) 생성

# 개인 키 생성
openssl genpkey -algorithm RSA -out private.key

# CSR 생성
openssl req -new -key private.key -out certificate.csr

# 인증서 생성 => 공인기관에서 생성
# openssl x509 -req -days 365 -in certificate.csr -signkey private.key -out selfsigned.crt => 생성 명령은 공인기관마다 차이

위에서 생성한 CSR 파일을 인증 기관에 제출하여 공인인증서를 발급받을 수 있습니다.

사설인증서와 공인인증서의 비교

구분 사설인증서(Self-Signed) 공인인증서(CA-Signed)
발급 주체 사용자 또는 시스템 관리자 인증 기관(CA)
신뢰도 낮음 높음
비용 없음 유료
사용 사례 내부 네트워크, 테스트 환경 공개 웹사이트, 금융 서비스
구현 복잡성 간단 인증 과정 필요
브라우저 경고 경고 발생 경고 없음

인증서 선택 가이드

  • 사설인증서를 고려해야 하는 경우:

    • 내부 네트워크 및 테스트 환경에서 빠르게 보안을 설정해야 할 때
    • 비용 절감이 중요한 소규모 프로젝트
  • 공인인증서를 고려해야 하는 경우:

    • 공개 웹사이트나 민감한 데이터를 다루는 서비스
    • 사용자 신뢰와 브랜드 이미지를 강화하고자 할 때

마무리

사설인증서와 공인인증서는 각각의 장단점과 사용 사례를 가집니다. OpenSSL은 두 유형의 인증서를 모두 지원하며, 사용자의 필요에 따라 적합한 인증서를 선택하고 구현할 수 있습니다. 인증서 선택 시 보안 요구 사항과 비용, 사용 환경을 종합적으로 고려하여 최적의 솔루션을 구성하세요.

Keywords

사설인증서, 공인인증서, OpenSSL, CSR, 인증 기관, SSL/TLS, 데이터 보안, HTTPS, 인증서 관리

728x90
반응형

+ Recent posts