들여다보기: 아키텍처 개요

Dropbox의 인프라는 확장성이 있고 안전하며, 인프라 전반에 걸쳐 여러 계층의 안전한 데이터 전송, 암호화, 네트워크 구성, 애플리케이션 레벨 제어 환경으로 구성되어 있습니다.

파일 인프라

Dropbox 사용자는 데스크톱, 웹사이트, 모바일 클라이언트, Dropbox와 연결된 타사 애플리케이션 등 여러 인터페이스를 통해 언제든지 파일과 폴더에 액세스할 수 있습니다. 각 인터페이스는 사용자가 데이터에 액세스하기 쉬울 뿐 아니라 데이터를 처리하고 보호할 수 있는 보안 설정 및 기능을 갖추었습니다. 이들 클라이언트는 모두 보안 서버와 연결되며, 사용자가 파일에 액세스하고, 사람들과 파일을 공유할 수 있도록 해줍니다. 또한, 파일이 추가, 변경, 삭제될 때마다 계정에 연결된 장치를 업데이트합니다.

Dropbox 분산 파일 시스템

Dropbox 파일의 인프라스트럭처는 다음과 같은 요소로 구성됩니다.

블록 서버

블록 서버는 Dropbox 애플리케이션에 있는 파일을 블록으로 쪼개 각 블록을 강력한 암호로 암호화하고, 내용이 변경된 블록만 동기화합니다. 파일 내용이 변경되면 새로운 파일 블록 또는 수정된 파일 블록이 처리된 후 스토리지 서버로 전송됩니다.

메타데이터 서버

파일 이름, 유형 등 사용자 데이터에 관한 기본 정보를 의미하는 메타데이터는 파일 블록과 별개로 자체 개별적인 스토리지 서비스에 보관됩니다. 메타데이터는 사용자 계정에 있는 모든 데이터의 지표 역할을 하며, 필요에 따라 공유되고 복제되어 성능과 높은 가용성 요구사항을 충족합니다.

스토리지 서버

파일에 담긴 콘텐츠는 암호화된 블록으로 스토리지 서버에 저장됩니다. 스토리지 서버는 해시값을 기준으로 암호화된 파일 블록을 검색하며, 모든 파일은 유휴 상태에서 강력한 암호로 다시 암호화되어 보안이 더욱 강화됩니다.

알림 서비스

이 서비스는 Dropbox 계정에서 변경되는 내용을 전담 모니터링하는 별도의 서비스입니다. 파일 데이터 또는 메타데이터는 이 서비스에 저장되거나 이 서비스로 전달되지 않습니다. 대신 클라이언트가 롱폴링 방식으로 이 서비스를 연결하고 대기해 있다가 변경 내용이 있으면 해당 클라이언트에 신호를 보냅니다.

Dropbox Paper 인프라

Dropbox 사용자는 웹, 모바일 클라이언트, 또는 Dropbox Paper와 연결된 타사 애플리케이션을 통해 언제든지 Paper 문서에 액세스할 수 있습니다. 이들 클라이언트는 모두 보안 서버와 연결되며, 사용자가 Paper 문서에 액세스하고, 사람들과 문서를 공유할 수 있도록 해 줍니다. 또한 문서가 추가, 변경, 삭제될 때마다 계정에 연결된 장치를 업데이트합니다.

Dropbox Paper 분산 파일 시스템

Dropbox Paper의 인프라스트럭처는 다음과 같은 요소로 구성됩니다.

Paper 애플리케이션 서버

Paper 애플리케이션 서버는 사용자 요청을 처리하고, 수정된 Paper 문서의 변경 사항을 사용자에게 전송하며, 알림 서비스를 수행합니다. Paper 애플리케이션 서버가 사용자가 변경한 내용을 Paper 데이터베이스에 전송하면 변경 사항은 영구 저장소에 보관됩니다. Paper 애플리케이션 서버와 Paper 데이터베이스 간의 통신은 강력한 암호로 암호화됩니다.

Paper 이미지 서버

Paper 문서에 업로드된 이미지는 유휴 상태에서 Paper 이미지 서버에 저장되고 암호화됩니다. Paper 애플리케이션과 Paper 이미지 서버 간의 이미지 데이터 전송은 암호화된 세션을 통해 진행됩니다.

Paper 데이터베이스

Paper 문서에 관한 특정한 메타데이터와 문서에 담긴 콘텐츠는 Paper 데이터베이스의 영구 저장소에서 암호화됩니다. 여기에는 Paper 댓글, 업무 등 문서에 담긴 콘텐츠뿐 아니라 제목, 문서를 공유한 회원, 권한, 폴더 연계 등 Paper 문서에 관한 정보가 포함됩니다. Paper 데이터베이스는 필요에 따라 공유되고 복제되어 성능과 높은 가용성 요구사항을 충족합니다.

Paper 이미지 프락시 서비스

Paper 이미지 프록시 서비스는 Paper 문서에 업로드된 이미지 및 삽입된 하이퍼링크의 이미지 미리 보기를 전달합니다. 업로드된 이미지의 경우에는 Paper 이미지 서버에 저장된 데이터를 암호화된 채널을 통해 가져옵니다. 삽입된 하이퍼링크의 경우에는 데이터를 가져오고 HTTP와 HTTPS 중 소스 링크에서 지정한 쪽을 사용해 미리 보기를 실행합니다.

 

Dropbox는 내부 보안팀과 외부 보안 전문가를 통해 위험 요소와 취약점을 파악하고 이를 보완함으로써 이러한 서비스를 보호합니다. 이들은 정기적으로 애플리케이션, 네트워크, 기타 보안에 관한 테스트와 감사를 시행해 Dropbox의 백엔드 네트워크를 안전하게 유지합니다. 또한, Dropbox의 책임감 있는 공개 정책을 통해 보안상 취약점을 발견하고 이를 신고하도록 장려하고 있습니다.

데이터 센터

Dropbox 시스템 및 운영 시스템은 Dropbox가 위탁한 타사 업체의 데이터 센터 및 관리 서비스 공급업체에 상주해 있으며, 해당 업체는 미국에 소재해 있습니다. 이들 공급업체는 Dropbox 인프라의 물리적, 환경적, 운영적 보안을 관리합니다. Dropbox는 타사 데이터 센터에 상주해 있는 인프라의 논리적 보안, 네크워크 및 애플리케이션 보안을 관리합니다.

암호화

저장 중인 Dropbox 파일 및 Dropbox Paper 문서는 256비트 AES(고급 암호화 표준)로 암호화됩니다. Dropbox는 Dropbox 앱(현재 데스크톱, 모바일, API, 웹사이트)과 서버 간에 데이터를 전송할 때 128비트 이상 AES 암호화 방식으로 보호된 보안 터널을 생성하는 SSL(Secure Sockets Layer)/TLS(전송 계층 보안) 기술을 사용합니다. 이와 비슷하게, Paper 클라이언트(모바일, API, 또는 웹)와 호스팅된 서비스 간에 데이터를 전송할 때에는 SSL/TLS를 통해 암호화됩니다.

인증서 피닝

Dropbox는 데스크톱 및 모바일 클라이언트에서 인증서 고정 기법을 사용합니다. 이 기법은 사용자가 연결한 서비스가 실제 서비스가 맞는지 아니면 이를 사칭한 악성 프로그램인지를 별도로 검사합니다. Dropbox는 이 기법을 사용하여 여러 가지 방법을 통해 사용자를 염탐하는 전문 해커로부터 사용자를 보호합니다.

완전 순방향 비밀성

Dropbox가 관리하는 종단점(데스크톱 및 모바일) 및 최신 브라우저의 경우 Dropbox는 강력한 암호화 방식을 사용하고, 전달 완전 보안 기능을 지원합니다. Dropbox는 전달 완전 보안을 구현함으로써 개인 SSL 키가 이전 인터넷 트래픽 암호를 해독하는 데 사용될 수 없도록 했습니다.이 방식은 근본적으로 모든 이전 세션에서 각 세션 간의 연결을 끊어 Dropbox와의 암호화된 통신을 한층 더 보호합니다.아울러 Dropbox는 웹에서 모든 인증 쿠키를 보안 플래그로 지정하고, HSTS(HTTP Strict Transport Security)를 사용합니다.

키 관리

Dropbox의 키 관리 인프라스트럭처는 키에 대한 직접적인 액세스를 최소한으로 제한해 운영상·기술적·절차상 보안을 유지하도록 설계되었습니다. 암호화 키의 생성과 교환, 저장은 분산 처리를 위해 여러 곳에 분배됩니다.

 

Dropbox는 사용자를 대신해 파일 암호화를 관리하며 복잡성을 제거하고, 고급 제품 기능을 지원하며, 암호를 철저히 통제합니다. 파일 암호화는 생산 시스템 인프라의 보안 제어 기능과 정책을 통해 보호됩니다. 생산 시스템은 쌍으로 짝지어진 고유의 SSH 키로만 액세스할 수 있고, SSH 키의 보호는 보안 정책과 절차로 규정되어 있습니다. 보안 공개 키 교환 프로세스는 내부 시스템이 관리하며, 비공개 키는 안전하게 저장됩니다.

Dropbox Business 보안 백서에서 Dropbox의 보안 아키텍처 관한 더욱 자세한 내용을 확인하세요.