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


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 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의 보안 아키텍처에 대한 자세한 내용은 Dropbox Business 보안 백서(영문)를 참조하시기 바랍니다.