2장. TLS 키 및 인증서 생성 및 관리
TLS(Transport Layer Security) 프로토콜을 사용하여 두 시스템 간에 전송된 통신을 암호화할 수 있습니다. 이 표준은 개인 및 공개 키, 디지털 서명 및 인증서와 함께ECDHE 암호화를 사용합니다.
2.1. TLS 인증서
TLS(Transport Layer Security)는 클라이언트-서버 애플리케이션이 정보를 안전하게 전달할 수 있도록 하는 프로토콜입니다. TLS는 공개 및 개인 키 쌍의 시스템을 사용하여 클라이언트와 서버 간에 전송된 통신을 암호화합니다. TLS는 SSL(Secure Sockets Layer)의 후속 프로토콜입니다.
TLS는 X.509 인증서를 사용하여 호스트 이름 또는 조직과 같은 ID를 디지털 서명을 사용하여 공개 키에 바인딩합니다. X.509는 공개 키 인증서의 형식을 정의하는 표준입니다.
보안 애플리케이션의 인증은 애플리케이션 인증서의 공개 키 값의 무결성에 따라 달라집니다. 공격자가 공개 키를 자체 공개 키로 교체하면 실제 애플리케이션을 가장하고 데이터 보안 액세스 권한을 얻을 수 있습니다. 이러한 유형의 공격을 방지하려면 모든 인증서에 CA(인증 기관)의 서명이 있어야 합니다. CA는 인증서의 공개 키 값의 무결성을 확인하는 신뢰할 수 있는 노드입니다.
CA는 디지털 서명을 추가하고 인증서를 발행하여 공개 키에 서명합니다. 디지털 서명은 CA의 개인 키로 인코딩되는 메시지입니다. CA의 공개 키는 CA 인증서를 배포하여 애플리케이션에서 사용할 수 있습니다. 애플리케이션은 CA의 디지털 서명을 CA의 공개 키로 디코딩하여 인증서가 유효하게 서명되었는지 확인합니다.
CA에서 서명한 인증서를 사용하려면 공개 키를 생성하여 서명을 위해 CA로 보내야 합니다. 이를 CSR(인증서 서명 요청)이라고 합니다. CSR에는 인증서에 대한 고유 이름(DN)도 포함됩니다. 두 가지 유형의 인증서에 제공할 수 있는 DN 정보에는 해당 국가의 경우 2자리 국가 코드, 주/도, 시/도, 도시 이름, 조직 이름, 이메일 주소 등이 포함될 수 있습니다. 현재 많은 상용 CA는 주체 대체 이름 확장을 선호하고 CSR의 DN을 무시합니다.
RHEL은 TLS 인증서 작업을 위한 두 가지 주요 툴킷을 제공합니다. gnutls 및 OpenSSL. openssl 패키지에서
유틸리티를 사용하여 인증서를 생성, 읽기, 서명 및 확인할 수 있습니다. openssl
gnutls-utils
패키지에서 제공하는 certtool
유틸리티는 다른 구문과 백엔드의 다양한 라이브러리 세트를 사용하여 동일한 작업을 수행할 수 있습니다.
추가 리소스
- RFC 5280: Internet X.509 공개 키 인프라 인증서 및 인증서 해지 목록 (CRL) 프로필
-
시스템에 OpenSSL(1)
,x509(1)
,ca(1)
,req(1)
및certtool(1)
도움말 페이지