TLS(전송 계층 보안) 인증서는 카우치베이스 서버 배포를 통한 네트워크 통신을 보호하는 데 필수적인 구성 요소입니다. TLS는 클라이언트와 서버 간에 전송되는 데이터의 기밀성, 무결성 및 신뢰성을 보장합니다. 이 포괄적인 가이드는 관리자가 배포의 보안을 강화할 수 있도록 Couchbase Server에서 TLS 인증서의 구성 및 활용을 이해하기 쉽게 설명하는 것을 목표로 합니다.
이 3부 시리즈에서는 먼저 TLS의 역사와 관련된 구성 요소를 살펴본 다음, 다음 3부에서는 파트 2 에서 TLS의 기능적 측면을 살펴보고 마지막으로 파트 3 Couchbase Server에서 TLS를 사용하는 방법을 살펴보겠습니다.
TLS의 이해 및 작동 방식
TLS의 몇 가지 기본 사항부터 설명하겠습니다. TLS는 신뢰할 수 없는 네트워크를 통해 클라이언트와 서버 간에 보안 연결을 설정하는 암호화 프로토콜입니다. TLS는 기존 SSL 프로토콜을 대체하여 엔드투엔드 암호화를 제공함으로써 도청, 변조, 위변조로부터 데이터를 보호합니다. TLS는 비대칭 및 대칭 암호화 알고리즘, 보안 키 교환 메커니즘, 디지털 인증서의 조합을 통해 작동합니다.
TLS의 핵심은 이러한 인증서의 사용으로, 웹사이트나 조직과 같은 엔티티의 ID를 암호화 키 쌍에 바인딩하는 디지털 문서입니다. 카우치베이스 서버는 공개 키 인증서에 x.509 표준을 사용합니다.
TLS의 역사 및 버전
수년에 걸쳐 TLS는 보안 취약점을 해결하고 전반적인 강도와 성능을 개선하기 위해 여러 차례 버전 업데이트를 거쳤습니다. TLS v1.0이 가장 먼저 널리 채택된 버전이었지만, POODLE 및 BEAST 공격을 비롯한 일부 취약점이 발견되어 더 강력한 버전의 필요성이 제기되었습니다. TLS v1.1은 더욱 강력한 암호화 알고리즘을 도입하고 TLS v1.0에 존재하던 취약점을 제거했습니다. 이후 TLS v1.2는 향상된 암호화 제품군, 강화된 순방향 비밀성, 최신 암호화 알고리즘 지원으로 보안을 더욱 강화했습니다. 가장 최신 버전인 TLS v1.3은 훨씬 더 중요한 변화를 가져왔습니다. 더 빠른 핸드셰이크를 제공하고, 지연 시간을 줄이며, 오래되고 취약한 암호화 알고리즘을 제거하여 보안을 개선함으로써 지금까지 가장 안전하고 효율적인 버전이 되었습니다.
TLS v1.3에서는 핸드셰이크 프로세스를 재설계하여 보안 연결을 설정하는 데 필요한 왕복 횟수를 줄였을 뿐만 아니라, 완전 전달 비밀(PFS) 사용을 의무화하고 오래된 암호화 알고리즘에 대한 지원을 제거하여 보안을 더욱 강화했습니다. TLS v1.3은 전송 중인 데이터에 대한 도청 및 변조를 방지하여 이전 버전에서 제기된 보안 문제를 해결합니다. 또한 TLS v1.3은 클라이언트가 추가 왕복 없이 연결을 재개할 수 있는 '0-RTT(제로 왕복 시간 재개)'라는 기능을 도입하여 동일한 서버에 대한 반복 방문 시 성능을 개선합니다.
TLS 버전 | TLS 릴리스 날짜 | TLS 수명 종료일 | 카우치베이스 서버 7.2 |
SSL 2.0 | 1995년 2월 | 1996 | 지원되지 않음 |
SSL 3.0 | 1996년 11월 | 2014 | 지원되지 않음 |
TLS 1.0 | 1999년 1월 | 사용 중단 | 사용 중단/비활성화 |
TLS 1.1 | 2006년 4월 | 사용 중단 | 사용 중단/비활성화 |
TLS 1.2 | 2008년 8월 | 활성 | 기본 최소값 |
TLS 1.3 | 2018년 8월 | 활성 | 선호 |
인증 기관과 그 역할
TLS 영역에서는 인증 기관(CA)이 중추적인 역할을 합니다. CA는 디지털 인증서의 발급, 해지 및 관리를 담당하는 신뢰할 수 있는 기관입니다. 이들은 신뢰의 게이트키퍼 역할을 하며 법인의 적법성을 확인하고 인증서에 서명합니다.
일반적으로 엔터티(예: 웹사이트 또는 사용자)의 인증서는 중개 인증 기관이라고 알려진 곳에서 생성하고 관리합니다. 중간 인증 기관은 다시 루트 인증 기관에서 인증서를 발급하고 관리합니다.
엔터티 인증서는 일반적으로 몇 개월 동안만 유효하고 중간 인증서는 몇 년마다 교체되며 루트 인증서는 수십 년 동안 유효할 수 있습니다. 이 루트 인증 기관은 일반적으로 보안상의 이유로 오프라인으로 유지되며, 키 세레모니라고 알려진 중간 인증 기관의 인증서를 교체해야 할 때만 거의 액세스하지 않습니다. 키 인증은 일반적으로 여러 계층의 물리적 및 절차적 보안 조치가 있는 안전하고 통제된 환경에서 수행됩니다.
공개 키 암호화
비대칭 암호화라고도 하는 공개 키 암호화는 수학적으로 관련된 한 쌍의 키를 사용하여 안전한 통신 및 데이터 보호를 가능하게 하는 암호화 체계입니다. 공개 키 및 개인 키. 공개적으로 공유 및 배포되는 공개 키는 데이터를 암호화하는 데 사용되며, 비밀로 유지되고 키 소유자에게만 알려진 개인 키는 암호화된 데이터의 암호를 해독하는 데 사용됩니다. 개인 키는 일반적으로 생성된 호스트를 벗어나지 않습니다. 공개 키로 암호화된 메시지는 해당 개인 키를 통해서만 해독할 수 있으므로 개인 키를 가지고 있는 의도된 수신자만 원본 정보에 액세스할 수 있습니다. 비대칭 암호화는 대칭 암호화보다 계산 집약적이며 속도가 느립니다.
TLS는 초기 핸드셰이크 중에 비대칭 암호화를 사용하여 클라이언트가 세션 키라고 하는 공유 비밀 키를 서버에 전송한 다음, 대칭 암호화로 암호화된 양방향 통신을 설정하는 데 사용합니다. TLS는 대량의 데이터에 대해 고속의 효율적인 암호화를 제공하기 때문에 보안 세션 중 실제 데이터 전송에 대칭 암호화를 사용합니다.
디지털 서명
디지털 인증서에서 키는 디지털 서명으로 알려진 프로세스를 통해 인증서에 서명하는 데 사용됩니다. CA(인증 기관)가 엔터티(예: 웹사이트 또는 사용자)에 인증서를 발급할 때 CA의 개인 키. 이 서명은 법인의 신원 정보 및 공개 키를 포함하여 인증서의 내용을 기반으로 계산됩니다. 디지털 서명은 인증서의 내용을 CA의 신원에 바인딩하고 인증서의 무결성을 보장하는 고유한 지문 역할을 합니다. 인증서를 다른 사람에게 제공할 때 다른 사람은 CA의 공개 키 를 사용하여 디지털 서명을 확인합니다. 서명이 유효하면 인증서가 변조되지 않았으며 신뢰할 수 있는 CA에서 실제로 발급되었음을 확인하여 안전한 통신 및 인증 목적으로 인증서의 진위와 신뢰성을 확립합니다.
X.509 인증서
X.509 인증서는 공개 키 인프라(PKI) 시스템에서 웹사이트 또는 조직과 같은 단체의 신원을 공개 키에 바인딩하는 데 사용되는 디지털 문서입니다. 여기에는 법인의 이름, 공개 키, 인증 기관(CA)의 디지털 서명, 유효 날짜 및 기타 메타데이터와 같은 필수 정보가 포함되어 있습니다. 데이터를 암호화 및 복호화하는 데 사용되는 민감한 정보인 암호화 키와 달리, X.509 인증서는 암호화 또는 복호화를 직접 수행하지 않습니다. 대신, 인증서에 포함된 공개 키의 진위 여부를 확인하고 당사자 간의 신뢰를 구축하는 수단으로 사용됩니다.
인증서에 포함된 내용은 다양할 수 있지만 일반적인 인증서 파일의 구성 요소는 오른쪽에 나와 있습니다.
제목 대체 이름(SAN)
TLS 인증서 내에서 SAN(주체 대체 이름) 확장은 추가적인 유연성과 보안을 제공합니다. SAN 필드를 사용하면 인증서가 유효한 여러 ID(예: 도메인 이름 또는 IP 주소)를 지정할 수 있습니다. 이 확장은 단일 인증서가 특정 서버와 연결된 여러 도메인 또는 하위 도메인을 커버해야 할 때 특히 유용합니다.
이제 TLS의 구성 요소에 대해 살펴봤으니, 다음으로 다음을 살펴보겠습니다. 작동 중인 일부 작품.