이동 중인 데이터라고도 하는 전송 중 데이터는 데이터가 발신자와 대상 사이의 네트워크를 통해 이동할 때 발생합니다. 네트워크를 통해 이동하는 동안 데이터는 해커에 의한 가로채기에 취약해집니다. 조직은 TLS(전송 계층 보안)를 통해 데이터를 전송하기 전부터 대상에 도달할 때까지 암호화함으로써 이러한 위험을 완화할 수 있습니다. 전송 중 데이터의 보안을 강화하는 것은 미사용 데이터(저장된 데이터) 및 사용 중인 데이터(처리된 데이터)를 보완하는 기본적인 보안 전략입니다.
주요 요점
- 전송 중 데이터는 네트워크를 통해 활발하게 이동 중인 데이터로, 브라우저와 서버 간, 모바일 앱과 백엔드 서비스 간, API와 마이크로서비스 간 또는 리전 간 데이터베이스 복제 중에 이동하는 데이터입니다.
- 전송 중에 데이터가 암호화되지 않은 경우, 악의적인 행위자가 패킷 스니핑, MITM(중간자 공격) 또는 세션 하이재킹을 통해 데이터를 가로챌 수 있습니다.
- TLS(전송 계층 보안)는 데이터가 소스에서 출발하기 전에 암호화하고 대상에 도착했을 때만 복호화하여 전송 중 데이터를 보호합니다.
- 전송 중 암호화는 전체 데이터 보호 전략의 일부일 뿐이며, 이러한 보호 전략에는 미사용 데이터와 사용 중인 데이터 보호도 포함되어야 합니다.
- MongoDB와 같은 고급 데이터베이스 플랫폼은 데이터를 종단 간으로 보호합니다. 전송에는 TLS를 사용하고, 미사용 데이터에는 표준 암호화를 사용하고, Queryable Encryption과 같은 기능을 사용합니다.
목차
전송 중 데이터 이해
전송 중 데이터란 공용 인터넷, 사설망 또는 클라우드 환경 내 서비스 등을 통해 위치 간에 이동 중인 데이터를 의미합니다. 최신 분산 애플리케이션에서 이 데이터를 보호하는 것은 기본적인 보안 요건입니다.
데이터는 전송 중, 미사용, 사용 중 세 가지 상태에서 모두 보호되어야 합니다.
데이터가 이동하는 경로:
데이터 상태가 다르면 보안 고려 사항도 달라집니다. 전송 중 데이터는 권한이 없는 당사자가 가로채거나, 검사하거나, 수정하려고 시도할 수 있는 네트워크를 통해 이동하므로 특히 노출되기 쉽습니다.
전송 중인 데이터가 취약한 이유
전송 중 데이터가 하나의 격리된 경로로만 이동하는 경우는 드뭅니다. 흔히 다음을 거쳐 이동합니다.
공개 인터넷 상의 공용 IP 주소.
공유 인프라가 있는 기업 네트워크.
가상 사설 클라우드 내 사설망.
하이브리드 및 멀티 클라우드 환경.
강력한 보안 제어가 없으면 전송 중 데이터가 다음에 노출될 수 있습니다.
도청 및 패킷 스니핑: 공격자가 암호화되지 않은 데이터를 가로채서 자격 증명이나 개인 데이터와 같은 민감한 정보를 읽습니다.
MITM 공격: 공격자가 클라이언트와 서버 사이에 개입하여 한쪽 또는 양쪽 당사자를 가장합니다.
세션 하이재킹 및 토큰 탈취: 도난당한 세션 쿠키나 액세스 토큰을 통해 애플리케이션에 무단으로 액세스할 수 있습니다.
변조: 요청 또는 응답이 이동 중에 수정되어 트랜잭션이 변경되거나 악성 페이로드가 삽입될 수 있습니다.
전송 중 데이터를 보호하지 못하면 데이터 유출, 고객 신뢰 상실, 데이터 손실, 운영 중단은 물론 GDPR, HIPAA, PCI DSS와 같은 프레임워크에 따른 규제상 제재로 이어질 수 있습니다.
전송 중 데이터 암호화 작동 방식(TLS/SSL)
암호화는 데이터가 시스템을 벗어나기 전에 읽을 수 없는 형식으로 변환되도록 보장합니다. 이는 주로 이전 SSL 프로토콜의 후속 프로토콜인 TLS(전송 계층 보안)를 통해 달성됩니다.
일반적인 TLS 연결 과정은 다음과 같습니다.
핸드셰이크: 클라이언트와 서버가 암호화 기법 및 암호 제품군에 대해 합의합니다.
검증: 시스템은 신뢰할 수 있는 인증 기관(CA)에서 발급한 디지털 인증서를 검증합니다.
키 교환: 공개 키와 개인 키로 세션에 대한 안전한 대칭 암호화를 설정합니다.
일단 설정되면 데이터는 암호화된 형태로 이동합니다. 데이터를 가로채더라도 올바른 복호화 키 없이는 이해할 수 없습니다.
전송 중 데이터에 대한 현대적인 성공 기준은 다음과 같습니다.
모든 웹 애플리케이션에 HTTPS 사용.
TLS 1.2 또는 TLS 1.3 지원.
강력한 암호 제품군과 비대칭 암호화 사용.
적절한 인증서 교체 및 철회 확인 유지.
디지털 인증서에 대한 엄격한 유효성 검사 시행.
서비스와 환경 전반에 걸쳐 암호화를 일관되게 적용하는 것이 중요합니다. 부분적인 도입은 안전한 아키텍처라 하더라도 약점을 만들 수 있습니다.
권장사항: 전송 중인 데이터를 보호하는 방법
전송 중 데이터를 보호하기 위해 조직은 다층적 접근 방식을 적용해야 합니다.
모든 곳에서 기본적으로 TLS 사용
클라이언트-서버 및 서비스 간 트래픽을 암호화하세요.
TLS 1.0 및 1.1과 같은 레거시 프로토콜을 비활성화하세요.
모든 외부 엔드포인트가 안전한 연결을 유지하는지 확인하세요.
인증서를 올바르게 검증하세요
프로덕션 환경에서는 절대 인증서 검증을 비활성화하지 마세요.
프라이빗 네트워크 배포서버의 경우 신뢰할 수 있는 CA 또는 내부 PKI를 사용하세요.
만료되었거나 잘못 구성된 디지털 인증서를 모니터링하세요.
액세스 경로 통제
광범위한 공개 노출보다 비공개 네트워킹 사용을 우선시하세요.
IP 허용 목록, 방화벽 및 보안 그룹을 사용하세요.
서로 통신할 수 있는 서비스를 제한하세요.
전송 중 자격 증명 및 토큰 보호
암호화되지 않은 연결을 통해 비밀번호나 암호화 키를 전송하지 마세요.
단기 토큰과 보안 쿠키를 사용하세요.
다운그레이드 공격을 방지하기 위해 HSTS를 적용하세요.
모니터링 및 테스트
TLS 구성을 정기적으로 스캔하세요.
침투 테스트를 수행하세요.
비정상적인 인증 및 네트워크 트래픽 패턴이 발생하면 로그를 생성하고 경고를 보내세요.
강력한 암호화 기술은 운영 규율과 병행되어야 합니다.
일반적인 시나리오에 대한 지침
웹 및 모바일 애플리케이션
HTTPS를 적용하세요.
보안 쿠키와 HSTS를 사용하세요.
신뢰할 수 있는 로드 밸런서에서 TLS을 종료하세요.
API 및 마이크로서비스
내부 서비스 간 통신을 암호화하세요.
상호 TLS를 사용하여 인증하세요.
서비스 메시 및 제로 트러스트 네트워킹 패턴을 고려하세요.
데이터 파이프라인, 백업 및 마이그레이션
리전 간에 복제 트래픽을 암호화하세요.
파일 전송 및 백업 도구가 보안 통신 프로토콜을 사용하도록 하세요.
공용 IP 주소를 통해 마이그레이션 엔드포인트를 노출하지 마세요.
규제 대상 워크로드
전송 중 강력한 암호화는 규제 대상 산업의 컴플라이언스 요구 사항을 지원합니다. 암호화만으로는 컴플라이언스가 보장되지 않지만, 대부분의 데이터 보호 규정에서는 필수 제어 요소입니다.
MongoDB가 전송 중 데이터를 보호하는 방법
안전한 데이터베이스 플랫폼은 전송 중 데이터 보호를 간단하고 안정적으로 만들어야 합니다.
클라우드에서 기본적으로 TLS 사용
MongoDB Atlas에서는 모든 전송 중 데이터가 TLS를 사용하여 기본적으로 암호화됩니다. 여기에는 다음이 포함됩니다.
애플리케이션에서 데이터베이스 서버로 연결됩니다.
클러스터의 노드 간 트래픽.
복제 및 백업 트래픽.
고객은 표준 MongoDB Atlas 배포서버에 대해 암호화를 수동으로 활성화할 필요가 없습니다.
구성 가능한 최신 암호화 표준
MongoDB는 TLS 1.2와 같은 최신 TLS 버전을 지원하며, 많은 환경에서 TLS 1.3을 사용할 수 있고 엔터프라이즈 배포서버에서는 구성 가능한 암호 제품군도 제공합니다. 이를 통해 조직은 내부 보안 조치 및 컴플라이언스 요구 사항에 맞춰 암호화를 조정할 수 있습니다.
배포 모델 전반에서 안전한 연결
MongoDB Atlas(관리형 클라우드): 기본적으로 TLS가 적용됩니다.
Enterprise Advanced(자체 관리형): 엔터프라이즈 제어 기능을 사용하여 TLS를 구성할 수 있습니다.
Community Edition: TLS는 지원되지만 명시적으로 활성화해야 합니다.
배포 유형에 관계없이 MongoDB는 이동 중 데이터의 보안을 위한 기반을 제공합니다.
전송 중인 데이터 그 이상: 전체 데이터 수명 주기 보호
전송 중인 데이터를 보호하는 것은 더 광범위한 데이터 보호 전략의 한 부분입니다.
MongoDB는 다음도 지원합니다:
디스크 수준 암호화 및 고객 관리형 키를 통한 미사용 데이터 암호화.
클라이언트 사이드 필드 레벨 암호화를 통한 사용 중 암호화.
미사용, 전송 중은 물론 쿼리 중일 때도 민감한 필드를 암호화된 상태로 유지하는 Queryable Encryption과 같은 고급 기능.
Queryable Encryption을 사용하면 데이터베이스 서버에 일반 텍스트를 노출하지 않고도 애플리케이션이 암호화된 데이터로 작업할 수 있습니다. 이는 무단 액세스로 인한 위험을 크게 줄이고 매우 민감한 정보를 처리하는 데이터 워크로드를 보호하는 데 도움이 됩니다.
전송 중 데이터의 보안을 강화하기 위해 암호화를 추가하거나 암호학 전문가가 될 필요는 없습니다. 최신 데이터베이스 플랫폼은 설계 단계부터 이러한 기능을 제공해야 합니다. 아래 차트는 다양한 암호화 방법을 강조해 보여줍니다. Queryable Encryption 호환성 전체 목록은 여기에서 확인하세요.
관련 자료
- MongoDB TLS 구성 — 안전한 MongoDB 연결을 위한 TLS/SSL 구성에 관한 단계별 문서를 읽어보세요.
- 전송 중 암호화 — MongoDB가 TLS를 사용하여 네트워크를 통해 이동하는 데이터를 암호화하여 애플리케이션과 데이터베이스 간의 민감한 정보를 보호하는 방법을 알아보세요.
- 미사용 데이터 암호화 — MongoDB가 미사용 데이터 암호화 및 키 관리 옵션으로 저장된 데이터를 보호하는 방법을 알아보세요.
- MongoDB의 데이터 암호화 — 민감한 데이터의 생애 주기 전반에 걸쳐 데이터를 보호하기 위한 MongoDB의 데이터 암호화 기능 개요를 살펴보세요.
- Queryable Encryption — MongoDB가 민감한 필드를 암호화된 상태로 유지하면서 암호화된 데이터에 대한 쿼리를 활성화하는 방법을 알아보세요.