[1권 - 15장] 구글 드라이브 설계 #24
Replies: 10 comments 14 replies
|
동기화 충돌이 발생하는 대표적인 시나리오는 무엇이며, && 사용자 경험(UX) 측면에서는 동기화 충돌을 어떻게 다루어야 할까 |
|
파일을 여러 청크로 분할해 업로드할 때, 중간에 끊기면 끊어진 청크부터 재전송해야 하니까 청크 크기가 중요한데, 예를 들어, 너무 작은 청크면 네트워크 요청 오버헤드가 커지고, 너무 크면 실패 시 재전송 부담이 큼. 일반적으로 S3 multipart upload 같은 경우 (서버환경에 따라 진짜 동적으로 결정되는거라 갑론을박 할만한 질문거리는 아님. 그냥 읽어보고 PASS 해도 무관) |
|
전회사 사례) 업로드를 열심히 하던 컴퓨터가 갑자기 절전모드로 들어가면서 업로드가 끊겨버림 |
|
동기화 전략에서 델타 전략과 버전 벡터의 차이점은? |
롱폴링 ?롱 폴링(Long Polling)은 서버와 클라이언트 간의 통신을 효율적으로 유지하기 위한 웹 통신 기법 중 하나입니다. 일반적인 폴링(polling)은 클라이언트가 일정 간격으로 서버에게 “새로운 정보가 있는지”를 확인(요청)하는 방식입니다. 하지만 이렇게 짧은 간격으로 폴링을 하면 불필요한 요청/응답이 많이 발생해 서버나 네트워크 리소스를 낭비하게 되고, 긴 간격으로 폴링하면 실시간성이 떨어집니다. 롱 폴링은 이러한 문제를 개선하기 위해 다음과 같은 방식으로 작동합니다.
롱 폴링을 사용하면 클라이언트가 원하는 정보를 거의 실시간에 가깝게 전달받을 수 있으면서, 이벤트가 발생하지 않는 시간에는 빈번한 요청/응답이 이루어지지 않아 리소스 낭비가 줄어드는 장점이 있습니다. 이러한 이유로, 문서 협업 서비스(구글 드라이브 등)나 채팅 서비스에서는 클라이언트에게 변경 사항(알림)을 빠르게 전송해야 할 때 롱 폴링 기법을 많이 활용했습니다. 근래에는 WebSocket이나 Server-Sent Events(SSE) 등 더 효율적인 양방향(or 단방향 스트림) 통신 프로토콜이 존재하지만, 롱 폴링은 여전히 기존 인프라/브라우저 호환성, 혹은 간단한 구현 등을 이유로 많이 사용되는 기법입니다. 구글 드라이브를 설계할 때 블록 저장소가 있고 클라우드 저장소가 있는데, 각각의 역할 ? 나누는 이유는 ?시스템 디자인 관점에서 구글 드라이브(또는 유사한 대용량 파일 저장/공유 서비스)를 설계할 때, 파일 데이터를 **‘블록(Chunk/Block) 단위로 저장하는 저장소(Block Storage)’**와 그 위에 구축된 ‘클라우드 저장소(Cloud/Object Storage)’ 계층을 나누는 이유와 각각의 역할은 다음과 같습니다. 1. 블록(Chunk/Block) 저장소의 역할
2. 클라우드(또는 객체) 저장소의 역할
3. 구분하는 이유 요약
결론
이 둘을 분리함으로써, 구글 드라이브와 같은 대규모 파일 협업/공유 서비스는 데이터 전송 최적화, 저장 공간 효율화, 무중단 확장성을 모두 달성할 수 있게 됩니다. 메모리 캐시가 일반적으로 최종 일관성을 지원한다? 이게 무슨 말일까? 장단점은?
-> 읽기 성능 극대화 읽기에서: 요청 - 캐시 먼저 봄 - 없으면 DB => DB를 먼저 보는 다른 노드와 일관성이 차이 날 수 있음 블록이라는 게 cs 관점에서 어떤 개념인지?1. 블록의 기본 개념
2. 블록을 사용하는 이유
3. 다양한 맥락에서의 블록 예시3.1 파일 시스템(FAT, NTFS, ext4 등)
3.2 데이터베이스(DBMS)
3.3 분산 파일 시스템(HDFS, GFS 등)
3.4 클라우드 스토리지(예: AWS S3, GCP GCS)
4. 블록 개념 시각화아래는 “파일을 블록 단위로 나눈다”는 것을 간단히 도식화한 예시입니다. 파일 크기가 20MB이고, 블록 크기가 4MB라고 가정해 봅시다.
5. 블록 크기의 트레이드오프
→ 시스템 특성(파일 크기 분포, 업데이트 패턴, 네트워크 대역폭, 메모리 상황 등)에 따라 블록 크기를 적절히 결정합니다. 6. 결론
“알림이 오면 클라이언트가 최신 변경 사항을 가져온다" 는 시나리오의 정상 케이스는 OK 문제가 발생할 수 있는 상황은 어떤 게 있을까 ?알림 타이밍과 실제 데이터 적용 타이밍이 어긋나는 경우
알림 순서가 뒤바뀌거나, 알림이 중복/누락되는 경우
동시에 여러 클라이언트가 수정 요청을 하는 경우의 충돌(Conflict)
해결법 ?
|
|
이어올리기 방법 중 해당 방법들이 있다. (java + spring boot 기준)
aws s3 multipart upload api 활용 방법은 s3 사용이 필수라고 한다. aws s3 multipart upload api 활용 방법과 tus 프로토콜 방법 중 뭐가 더 나은가? |
|
추돌 감지를 어떻게 해야할까?
|
청크와 블록은 비슷하게 사용되기도 하지만, 기본 개념이 다름.청크(Chunk)파일이나 데이터를 전송하기 위해 논리적으로 나눈 단위임. 블록(Block)파일 시스템이나 스토리지에서 데이터를 저장하는 물리적 단위임. |
|
클라우드에 직접 저장하는 방식과 블록 저장소를 사용하는 방식의 차이점 |
|
이 문서는 Dropbox의 보안에 대한 종합적인 개요를 제공합니다. Dropbox는 사용자 신뢰를 최우선으로 생각하며, 이를 위해 다계층 보안 접근 방식을 채택하고 있습니다. 여기에는 기업, 인프라, 애플리케이션, 제품 전반에 걸친 보안 정책, 정기적인 보안 훈련, 침투 테스트, 그리고 내부 및 외부 위험 평가가 포함됩니다. Dropbox는 또한 데이터 보호 및 암호화, 침해 사고 대응, 네트워크 보안, 물리적 보안 등 다양한 측면에서 강력한 보안 조치를 구현하고 있습니다. Dropbox의 보안 프로그램은 위험을 평가하고 보안 문화를 구축하는 데 중점을 두고 있으며, 모든 직원이 고객 데이터 보호에 헌신하고 있습니다. 이 문서는 Dropbox가 어떻게 사용자 데이터를 안전하게 보호하고 있는지에 대한 자세한 정보를 제공합니다.
보안 정책은 기밀성, 무결성, 가용성 및 개인 정보 보호와 같은 요소에 대한 위험 평가 프로세스를 포함하며, 정기적인 교육 및 보안 점검이 이루어진다. Dropbox는 물리적 보안, 데이터 보안, 인증 및 장치 보안을 포함한 다층적 접근 방식을 통해 시스템과 제품의 보안을 강화하고 있다. 애플리케이션 보안 및 맬웨어 탐지를 위한 시스템을 구축해 사용자가 안전하게 서비스를 이용할 수 있도록 하며, 지속적으로 제3자 전문가의 침투 테스트를 통해 보안을 점검하고 개선하고 있다. 1.1. ️ Dropbox 신뢰 프로그램의 기초 Dropbox는 사용자가 믿어준 것에 대한 책임을 진지하게 여기고 있으며 정보를 보호하는 것을 중요시한다. 신뢰를 받기 위해 Dropbox는 안전성, 프라이버시, 투명성, 그리고 준수에 중점을 두어 계속 성장할 것이다. Dropbox 신뢰 프로그램 정책은 위험 평가 프로세스를 수립하여 모든 의사결정 과정에 반영된다. 1.2. 시스템 보안 및 신뢰성 프로그램 성과 리뷰는 최소 연 1회 실시되어 보안 체계를 점검한다. Dropbox는 보안, 개인 정보 보호, 준수 및 제품 신뢰성에 관한 정보를 제공하기 위해 Trust Center를 운영하고 있다. Trust Center에 대한 추가 정보는 trust.dropbox.com에서 확인할 수 있다. 1.3. Dropbox의 다층적 보안 접근 방식 Dropbox는 정보 보안 관리 프레임워크를 수립하여 신뢰 유지를 위한 목적, 방향, 원칙 및 기본 규칙을 기술한다. 보안을 위해 위험 평가를 실시하고, 보안, 기밀성, 무결성, 가용성 및 개인 정보를 지속적으로 개선한다. 정기적으로 보안 정책을 검토 및 업데이트하고, 보안 교육을 제공하며, 응용 프로그램 및 네트워크 보안 테스트를 수행한다. 내부 및 외부 위험 평가를 통해 보안 정책 준수 여부를 모니터링한다. 1.4. 서비스 보안을 위한 정책 모든 직원, 인턴, 계약자는 회사에 합류할 때 의무적인 보안 교육을 받으며, 지속적인 보안 인식 교육에도 참여한다. 정보 보호를 위해 사용자 및 드롭박스 정보의 보안 유지가 중요하다. 드롭박스 직원들은 정보 시스템 및 데이터에 접근하기 위해 자신을 인증하는 방법을 설명한다. 회사 정보를 접근하기 위한 모바일 장치의 최소 보안 요구사항이 규정되어 있다. 1.5. Dropbox 보안 시스템 개요 데이터 보안에 대해 Dropbox가 데이터 보호를 위해 채택한 특정 스토리지, 접근, 사용 요구 사항을 기술한다. 여행 보안에서는 Dropbox 직원이 해외 여행 전에 취해야 할 조치들을 설명한다. 판매 및 고객 경험(CX) 보안 가이드라인은 사용자 정보를 안전하게 보호하고, 직원들을 지키며, 사용자에게 지원을 제공하는 내용을 포함한다. 물리적 보안의 중요성 역시 언급되어 있다. 1.6. Dropbox의 보안 환경 유지 생산 물리적 보안 가이드라인은 생산 시설에 대한 물리적 접근 관리를 포함하고 있다. 사건 대응 계획은 보안, 개인 정보 보호 및 사이트 사건 보고 처리를 규명하고 있다. 직원들이 무단 저작물을 저장하거나 공유하는 것을 금지하고 있다. 사용자 데이터 개인정보 보호는 Dropbox의 개인정보 보호 정책에 따라 사용자 정보를 보호하고 처리하는 것을 목표로 한다. 1.7. Dropbox의 보안 프로그램 개요 모든 Dropbox 직원들은 고객 데이터를 보호하기 위해 보안 문화를 구축하고 이에 헌신하고 있다. 보안 프로그램은 정보 보안 프로그램과 일치하여 모든 제품과 서비스에 적용된다. 보안 위험은 주기적으로 검토되어 제품, 인프라 및 회사 차원에서 보안 관련 이니셔티브를 발생시킨다. Dropbox의 보안 팀은 전문적이고 경험이 풍부하여, 신용 카드 결제를 수용하기 위한 전용 결제 환경을 안전하게 유지하고 관리한다. 1.8. 프라이버시 프로그램 운영과 직원 보안 관리 직원들은 배경 검토를 거치고, 행동 강령 및 허용 사용 정책에 서명하며, 연간 보안 및 프라이버시 교육을 받는다. 직원의 접근 권한은 중앙 디렉토리를 통해 관리되며, 강력한 비밀번호와 이중 인증으로 인증된다. 모든 직원은 SSH 키 기반의 생산 네트워크 접근 권한이 제한되며, 방화벽 구성은 소수의 관리자에게만 제한적으로 통제된다. Dropbox는 기술적 접근 통제를 통해 직원들이 사용자 파일에 임의로 접근하지 못하도록 하며, 사용자 파일이 저장된 환경에 접근할 수 있는 엔지니어는 소수에 불과하다. 1.9. 드롭박스의 물리적 보안과 취약점 관리 기업 시설의 물리적 접근은 승인된 드롭박스 직원과 동반된 등록 방문객에게 제한되며, 배지 접근 시스템을 통해 인가된 개인만이 제한 구역에 들어갈 수 있다. 서버 및 네트워크 장비가 있는 구역의 접근은 배지 접근 시스템을 통해 허용된 승진 직원에게만 제한되며, 정기적으로 승인된 개인 목록이 검토된다. 보안팀은 정기적으로 자동화된 및 수동 보안 테스트와 패치 관리를 수행하며, 잠재적 보안 취약점과 오류를 식별하고 수정하기 위해 제3자 전문가와 협력한다. 이러한 평가에서 나온 결과와 권고 사항은 드롭박스 경영진에게 전달되어 필요에 따라 적절한 조치가 취해진다. 1.10. 드롭박스 보안 관리 및 대응 프로세스 모든 접근 요청은 경영진의 명시적 승인과 기록이 필요하며, 필요한 경우에는 물리적 보안 조치가 강화된다. 드롭박스는 사고 대응 정책을 마련하여 서비스 가용성, 보안, 프라이버시 문제를 효과적으로 대응하고 있으며, 전담 팀이 경고를 신속히 처리한다. 인프라 보안은 AWS 및 드롭박스 담당 팀이 공유 책임 모델에 따라 운영되며, 네트워크 보안 및 암호화는 여러 단계로 보장된다. 데이터 전송 및 저장 시 256비트 AES 암호화를 통해 사용자 데이터를 보호하고, 키 관리 시스템은 탈중앙화되어 안전하게 운영된다.
드롭박스의 보안 프로그램인 드롭박스 신뢰 프로그램은 원격 근무에 대한 글로벌 접근 방식이 발전하면서 필수적인 다층적 보안 접근 방식을 채택하고 있다. 파일 인프라는 드롭박스의 사용자들이 안전한 서버에 접속하여 파일에 액세스하고 공유할 수 있도록 구성되어 있으며, 메타데이터 및 파일 블록을 포함해 여러 구성 요소로 이루어져 있다. 드롭박스는 파일을 블록으로 나누어 강력한 암호화 기법으로 보호하며, 변경된 블록만 동기화하여 전송하는 독창적인 보안 메커니즘을 제공한다. 드롭박스의 신뢰성은 데이터 손실 방지 및 접근 가능성을 보장하는 여러 레이어의 중복성을 갖추고 있으며, 연간 데이터 내구성은 99.999999999% 수준으로 디자인되어 있다. 2.1. ️ Dropbox for Teams의 데이터 보호 및 보안 클라우드 솔루션을 사용하는 조직은 원격 및 분산 워크플로를 지원하기 위해 협업을 간소화하고 클라우드 위험을 사전에 관리해야 한다. 575,000개 이상의 기업과 조직이 Dropbox for Teams를 사용하여 안전하게 협업하고 있으며, 이는 파일 동기화 및 공유 기능을 포함한다. Dropbox for Teams는 산업 최우수 인프라와 고급 기업 보안 기능, 팀 및 콘텐츠 보안, 전자 서명 등을 제공하여 보안을 강화한다. 이 백서에 포함된 정보는 모든 Dropbox for Teams 제품에 적용되며, Paper는 Dropbox for Teams의 기능 중 하나로 포함된다. 2.2. Dropbox의 보안 접근 방식 이 백서에서는 Dropbox for Teams 제품의 보안 기능과 운영 보안 조치, 개인정보 보호 및 투명성 약속, 그리고 독립 인증 및 규제 준수 조치를 설명한다. Dropbox for Teams에 관한 정보는 특별한 언급이 없는 한 일반적으로 적용되며, 이는 기본적으로 Dropbox의 기능이다. 데이터 전송, 저장 및 처리 과정은 안전하게 이루어지며, 우리는 제품 및 아키텍처의 지속적인 개선을 통해 신속한 데이터 전송과 신뢰성을 보장한다. 2.3. Dropbox의 파일 인프라 구조 Dropbox의 파일 인프라는 미리보기 저장 서버, 블록 저장 서버, 메타데이터 데이터베이스로 구성되어 있다. 메타데이터는 사용자의 계정 및 파일에 대한 기본 정보를 포함하고 있으며, 이를 통해 버전 역사, 복구 및 동기화 기능을 지원한다. SSL/TLS를 통해 보안 서버와 연결되어 파일 공유 및 업데이트를 안전하게 수행할 수 있도록 지원한다. 파일 관련 기본 정보는 메타데이터 저장 서비스에서 인덱스로 관리되어 사용자 계정 데이터를 효율적으로 조회할 수 있도록 도와준다. 2.4. 드롭박스의 데이터 보안 메커니즘 드롭박스는 전통적인 암호화를 넘어서는 독특한 보안 메커니즘을 제공하여 사용자 데이터를 보호한다. 블록 서버는 파일을 블록으로 나누어 강력한 암호화 기법을 사용하여 각 파일 블록을 암호화하고, 수정된 블록만 동기화한다. 드롭박스 애플리케이션이 새 파일이나 기존 파일의 변경을 감지하면, 블록 서버에 변화를 통지하고 이를 처리하여 블록 저장 서버로 전송한다. 블록 서버는 사용자에게 파일과 미리보기를 전달하는 역할도 한다. 2.5. 블록 스토리지 서버와 미리보기 서비스 블록 스토리지 서버는 콘텐츠 주소 가능 스토리지(CAS) 시스템으로 작동하며, 각 개별 파일 블록은 해시 값에 따라 검색된다. 미리보기 서버는 파일의 미리보기를 생성하며, 이는 사용자의 파일을 보다 빠르게 표시할 수 있는 형식으로 변환된다. 미리보기 서버는 블록 스토리지 서버에서 파일 블록을 가져와 캐시된 미리보기를 생성하고 전달한다. 알림 서비스는 Dropbox 계정의 변경 사항을 모니터링하며, 파일이나 메타데이터를 저장하지 않거나 전송하지 않는다. 2.6. ️ Dropbox 데이터 저장 방식 파일 메타데이터는 Dropbox 서버에 저장되며, 파일 블록은 Amazon Web Services(AWS) 또는 Magic Pocket이라는 Dropbox의 전용 저장 시스템에 저장된다. Magic Pocket은 신뢰성과 보안을 위해 고안된 독자적인 소프트웨어와 하드웨어로 구성되어 있다. Magic Pocket과 AWS 모두 파일 블록을 암호화하여 저장하며, 두 시스템 모두 높은 신뢰성 기준을 충족한다. 사용자들은 웹 및 모바일 클라이언트를 통해 언제든지 Dropbox Paper 문서에 접근할 수 있으며, 이러한 클라이언트는 안전한 서버와 연결되어 문서 공유 및 업데이트를 지원한다. 2.7. ️ Dropbox Paper의 인프라 구조 Paper Doc의 콘텐츠 정보는 암호화된 청크 형태로 저장되며, 이에 관련된 메타데이터도 포함된다. 미리보기 서버는 Paper Doc 파일 데이터를 암호화된 블록으로 처리하고, 이를 사용자에게 제공한다. Paper Doc의 리비전 역사와 같은 미리보기 데이터는 SSL/TLS를 통해 여러 장치에 전달된다. 2.8. Paper Application Servers 및 데이터 관리 사용자 편집 내용은 Paper Databases에 기록되며, 이는 지속적인 저장소에 배치된다. HTTPS를 통해 Paper Application Servers와 Paper Databases 간의 통신 세션이 안전하게 유지된다. 사용자 문서의 실제 내용 및 관련 메타데이터는 암호화되어 Paper Databases에 저장된다. Paper Databases는 성능 향상 및 고가용성 요구를 충족하기 위해 샤딩 및 복제된다. 2.9. 이미지 및 문서 보안 관리 Previews Servers는 Paper docs에 업로드된 이미지와 하이퍼링크에 대한 미리보기를 생성하며, 이미지 데이터는 Paper Image Storage Servers에서 암호화된 채널을 통해 가져온다. 하이퍼링크에 대한 미리보기는 소스 링크에 명시된 암호화 기준에 따라 암호화하여 렌더링된다. 사용자에게는 Block Servers가 최종적으로 미리보기를 제공한다. Paper docs에서 저장되는 데이터는 주로 메타데이터와 사용자에 의해 업로드된 실제 내용으로 구성되며, 이들은 Paper doc data로 명칭된다. 모든 Paper doc 데이터는 Amazon Web Services (AWS)에 저장되며, AWS는 높은 신뢰성 기준을 충족하는 환경에서 Paper docs를 암호화하여 저장한다. 2.10. 다층 보안 접근 방식 신원 및 접근 관리, 데이터 관리, 네트워크 보안이 중요한 요소로 포함되어 있다. 신뢰성을 확보하기 위해 Dropbox는 중복 저장 시스템을 통해 데이터 손실을 방지하고, 가용성을 보장하는 여러 계층의 중복성을 개발하였다. 파일 메타데이터는 최소 N+2 가용성 모델에 따라 독립된 장치에 분산 저장되고, 시간당 최소 한 번의 증분 백업과 36시간마다의 전체 백업이 수행된다. 파일 차원에서도 최소 두 개의 지리적 지역에 중복된 파일 블록을 저장하며, 연간 데이터 내구성을 99.999999999% 이상 제공하는 구조를 가지고 있다.
데이터 분류 기능을 통해 개인 및 민감한 데이터가 자동으로 라벨링되어 외부 노출 위험을 줄이며, 민감한 정보가 공유될 때 관리자에게 DLP 알림이 전송된다. 데이터 거버넌스 추가 기능을 통해 팀 관리자는 법적 보류, 데이터 보존, 데이터 처분 기능을 사용하여 규정 준수와 리스크 관리에 도움을 받을 수 있다. 팀 관리자 역할을 통해 다양한 보안 및 공유 권한을 설정할 수 있으며, 회원 관리와 보고서 작성 기능을 활용해 사용자의 활동과 팀의 데이터를 효과적으로 관리할 수 있다. 이중 인증은 보안 코드를 통해 계정에 대한 추가 보호 계층을 제공하며, 관리자는 모든 팀 구성원 또는 특정 구성원에 대해 이를 강제할 수 있다. 3.1. Dropbox 보안 기능 및 데이터 보호 Dropbox는 외부로 민감한 파일이 공유될 때 알림 임계값을 구성하고 알림 수신자를 조정할 수 있는 기능을 제공한다. 관리자는 알림을 검토, 해결 또는 기각으로 표시할 수 있다. 관리자는 외부 공유 보고서를 통해 팀의 파일과 폴더가 외부로 공유된 내용을 확인할 수 있으며, 이를 통해 파일 유형, 공유한 사용자, 링크 설정 등을 필터링할 수 있다. 팀 관리자는 공유 설정을 통해 팀 수준의 기본 만료일, 비밀번호 제한 등을 설정할 수 있으며, 이는 데이터 손실의 위험을 줄이는 데 도움을 준다. Dropbox Enterprise는 민감한 데이터를 자동으로 분류하여 노출 위험을 줄일 수 있는 기능을 제공하며, 관리자는 팀 폴더에서 민감한 정보가 외부로 공유될 때 DLP 알림을 받을 수 있다. 3.2. 데이터 거버넌스 애드온 개요 Dropbox 데이터 거버넌스 애드온은 조직이 데이터에 대한 통제 및 보안을 강화하고, 규제 및 준수 요구를 충족하는 데 드는 위험과 비용을 줄이는 기능 세트를 제공한다. 애드온의 주요 기능으로는 확장된 버전 기록, 법적 구속, 데이터 보존, 데이터 처분 등이 있다. 확장된 버전 기록(EVH)을 통해 팀의 관리자는 지난 10년 동안 삭제되거나 변경된 파일을 복구할 수 있다. 법적 구속 기능을 통해 팀 및 준수 관리자는 해당 팀원이 생성하거나 수정한 콘텐츠를 조회 및 내보낼 수 있으나, 해당 멤버에게는 알림이 전해지지 않으며 권한은 유지된다. 데이터 보존 기능은 규정에 따라 일정 기간 보유해야 하는 콘텐츠의 우발적 삭제를 방지하는 데 도움을 준다. 이를 통해 고객은 가장 최근 "수정" 날짜에서 10년 이상 데이터를 보존할 수 있다. 데이터 처분 기능은 관리자가 특정 날짜에 데이터를 영구 삭제하여 보존 및 처분 요건을 준수할 수 있게 하며, 예정된 파일 삭제에 대한 보고서를 통해 활동을 모니터링할 수 있다. 3.3. 드롭박스 팀의 데이터 복구 및 보안 기능 추가 보안을 위해, 사용자는 10회 실패한 비밀번호 입력 후 드롭박스의 모든 데이터를 기기에서 삭제하는 옵션을 활성화할 수 있다. 기본적으로 드롭박스 모바일 클라이언트는 파일이 기기의 내부 저장소에 저장되지 않으며, 사용자가 기기를 드롭박스 계정과 연결 해제하면 저장된 파일은 자동으로 삭제된다. 사용자가 드롭박스 계정 보안 페이지에서 Paper와 연결을 끊으면 오프라인 Paper 문서가 자동으로 기기의 내부 저장소에서 삭제되며 로그아웃된다. 드롭박스 팀을 위한 다양한 도구들이 관리자들이 팀의 특정 요구에 맞게 드롭박스를 사용자화할 수 있도록 지원한다. 3.4. 드롭박스의 팀 관리 기능과 권한 구조 팀 관리자는 팀 전체의 보안 및 공유 권한을 설정하고, 관리자를 생성하며, 팀원을 관리할 수 있다. 팀 관리자는 모든 관리자 권한을 가진다. 사용자 관리 관리자는 팀 관리 작업의 대부분을 처리할 수 있으며, 팀원 추가 및 제거, 그룹 관리, 팀 활동 피드 조회가 가능하다. 지원 관리자는 팀원의 서비스 요청을 처리하며, 삭제된 파일 복원이나 이단계 인증 관련 문제를 도와줄 수 있다. 기업 관리 그룹은 관리자만 생성, 삭제 및 관리할 수 있으며, 사용자들은 직접 가입하거나 탈퇴 요청을 할 수 없다. 3.5. 사용자 관리 및 공유 권한 관리자는 팀원이 자신의 업무 Dropbox 계정이 연결된 컴퓨터에 두 번째 Dropbox 계정을 연결하는 것을 차단할 수 있다. 관리자는 사용자의 계정을 비활성화하여 데이터와 공유 관계를 유지하면서 회사 정보를 안전하게 보호할 수 있으며, 이후에 계정을 다시 활성화하거나 삭제할 수 있다. 관리자들은 팀원의 팀 계정으로 로그인할 수 있어, 팀원의 파일, 폴더 및 Paper 문서에 직접 접근하여 변경하거나 감사 작업을 수행할 수 있으며, 이러한 작업은 팀의 활동 로그에 기록된다. 팀 관리자는 Dropbox를 통한 팀의 공유 권한을 종합적으로 제어할 수 있으며, 팀원이 외부인과 파일 및 폴더를 공유할 수 있는 여부를 설정할 수 있다. 3.6. ️ Dropbox for Teams의 사용자 관리 및 인증 방법 관리자는 Dropbox for Teams 관리 콘솔에서 이메일 초대를 수동으로 생성할 수 있는 도구를 갖추고 있다. Active Directory와의 통합을 통해 기존의 Active Directory 시스템에서 계정을 자동으로 생성 및 제거할 수 있다. Dropbox for Teams는 중앙 신원 제공자에 로그인하여 팀원이 접근할 수 있도록 구성할 수 있으며, SSO 구현은 SAML 2.0을 기반으로 한다. Dropbox는 주요 신원 관리 제공자와 파트너십을 맺어 사용자가 자동으로 프로비저닝 및 해제될 수 있도록 지원한다. 3.7. Dropbox for Teams API 및 이중 인증 이중 인증은 사용자의 Dropbox 계정에 추가적인 보호층을 제공하며, 활성화 시 로그인 시 비밀번호와 함께 6자리 보안 코드가 필요하다. 관리자는 모든 팀원 또는 특정 팀원에 대해 이중 인증을 요구할 수 있으며, 이를 통해 인증 상태를 추적할 수 있다. 인증 코드는 문자 메시지 또는 TOTP 표준에 부합하는 앱을 통해 받을 수 있다. 사용자가 보안 코드를 받을 수 없는 경우, 16자리 일회용 백업 코드를 사용하거나, 추가 전화번호로 백업 코드를 받을 수 있는 옵션이 있다. Dropbox는 USB 보안 키를 통해 인증할 수 있는 FIDO U2F 표준도 지원한다. 3.8. Dropbox 기업 보안 관리 기능 Dropbox는 제3자 EMM 공급자와 통합되어, 관리자가 모바일 기기에서 팀원이 Dropbox를 사용하는 방식에 대한 더 많은 통제권을 제공한다. 관리자는 Dropbox Enterprise 계정을 통해 관리된 기기에서만 모바일 앱 사용을 제한하고, 앱 사용량을 파악하며, 분실된 기기를 원격으로 삭제할 수 있다. 관리자는 Dropbox Teams의 Advanced 및 Enterprise 플랜에서 사용자가 Dropbox와 동기화할 수 있는 기기의 수를 제한하고, 기기 승인을 사용자 또는 관리자 관리 방식으로 설정할 수 있다. 팀 관리자들은 팀 멤버에 대해 2단계 인증을 요구할 수 있으며, 이를 통해 계정 보안을 강화할 수 있다. 3.9. 드롭박스 비즈니스 보안 관리 기능 관리자는 회사의 드롭박스 팀으로 초대된 사용자가 팀으로 이동하거나 개인 계정의 이메일 주소를 변경하도록 요구할 수 있으며, 이를 통해 초대 강제 적용 기능을 활용할 수 있다. 관리자는 회사 이메일 주소를 사용하는 드롭박스 계정 수와 같은 주요 정보를 확인할 수 있으며, 필요시 모든 사용자를 팀으로 강제 가입시킬 수 있다. 드롭박스 관리자는 팀원의 웹 세션 시간을 제어할 수 있으며, 세션 기간이 만료되거나 유휴 상태가 길어진 경우 자동으로 로그아웃된다. 관리자는 제3자 애플리케이션의 사용자 계정 접근 권한을 검토하고 취소할 수 있으며, 필요시 사용자의 컴퓨터와 모바일 장치를 언링크하여 보안을 강화할 수 있다. 3.10. Dropbox 보안 기능 및 사용자 데이터 보호 Dropbox Support는 계정 관리자에게 일회용 보안 코드를 요구하여 사용자의 신원을 검증하며, 이 코드는 관리 콘솔에서만 얻을 수 있다. 각 사용자는 계정 설정에서 개인적인 활동 정보를 확인할 수 있으며, 공유된 폴더와 파일, 공유 링크, 이메일 알림 설정 등을 관리할 수 있다. 안전한 연결된 장치 목록은 사용자가 자신의 계정과 연결된 모든 컴퓨터 및 모바일 장치를 보여주며, 사용자는 장치를 해제하는 옵션이 있다. Dropbox는 사용자 데이터를 제로 지식 암호화 방식으로 보호하여, 클라우드에 저장된 암호화된 데이터의 복호화 키는 오직 사용자의 장치에만 저장된다. 따라서 Dropbox는 사용자 데이터에 접근할 수 없다.
데이터 암호화 시 192비트 nonce가 랜덤으로 생성되며, 이는 나중에 복호화에 사용된다. 기존의 알고리즘들과는 달리 XChaCha20-Poly1305는 랜덤 nonce를 지원한다. Dropbox는 256비트 대칭 키를 128비트 엔트로피에서 Blake2 해시를 통해 생성하고, 이 키는 사용자의 기기에서 보관된다. 사용자의 12개 회복 단어는 128비트 키를 복구하는 데 필요한 방법으로, 이를 안전한 장소에 보관할 것이 권장된다. ISO/IEC 27018 및 ISO/IEC 27701 인증을 통해, Dropbox는 사용자의 데이터 프라이버시와 보안을 최우선으로 고려하고 있으며, 이를 위해 연간 독립 감사를 받는다. 4.1. Dropbox의 데이터 암호화 방식 데이터 암호화 과정에서 192비트 nonce가 생성되며, 이는 이후 복호화를 위해 암호화된 페이로드와 함께 저장된다. XChaCha20-Poly1305는 무작위 nonce를 지원하므로, 매번 새로운 암호화 시 이전 nonce와 상관없이 새로운 무작위 nonce가 생성된다. Dropbox는 libsodium을 통해 암호화 구현을 지원하며, 이 라이브러리는 감사를 받은 널리 배포되는 NaCl의 포크이다. Dropbox 비밀번호 생성기는 각 플랫폼에서 암호적으로 안전한 랜덤 번호 생성기를 기본으로 사용하여 무작위 숫자를 생성한다. 4.2. 키와 복구 단어 iPhone의 경우, 암호화 키는 iOS 키체인에 저장되어 가장 안전한 저장소에 보관된다. BIP-39 표준을 사용하여 12개의 복구 단어를 통해 128비트 키를 백업할 수 있다. 이는 대규모 무작위 키를 사람 친화적인 방법으로 표현하는 방식이다. 12단어는 실제로 132비트에 해당하며, 추가 4비트는 체크섬으로 오류를 식별하는 데 사용된다. 복구 단어는 기기를 잃거나 도난당했을 때 암호화 키를 복구하는 방법을 제공하며, 이를 안전한 장소에 인쇄하여 보관할 것을 권장한다. 4.3. 장치 등록 절차 사용자가 이전에 등록한 장치가 없는 경우, 등록 장치는 128비트 비밀 사용자 키를 무작위로 생성한다. 사용자 키와 장치 키 쌍은 보안 운영 체제 특정 위치에 저장된다. 사용자의 비밀번호 데이터를 초기화하고 암호화하여 Dropbox 서버에 암호화된 페이로드를 업로드한다. 사용자가 이전에 등록한 장치가 있을 경우, 등록 승인 요청이 각 장치로 전송된다. 이때 등록 장치의 공개 키가 요청에 첨부된다. 사용자가 등록된 장치 중 하나에서 요청을 승인하면, 해당 장치는 사용자 키를 X25519 ECDH와 XSalsa20-Poly1305 방식으로 암호화한 후 Dropbox 서버에 업로드한다. 4.4. Dropbox 비즈니스 보안_whitepaper 개요 등록된 장치는 암호화된 비밀번호 데이터를 다운로드하고 사용자 키로 이를 복호화한다. 매일 많은 사람들과 조직들이 드롭박스에 중요 파일을 맡기며, 이는 드롭박스가 파일 보호와 개인 정보 보호를 책임져야 함을 의미한다. 드롭박스의 개인 정보 보호에 대한 약속은 모든 결정의 중심에 있는 중요한 요소이다. 4.5. Dropbox의 개인 데이터 보호 인증 ISO/IEC 27018은 2014년 8월에 출판되었으며, 사용자 개인정보와 데이터 보호를 특별히 다룬다. ISO/IEC 27701은 2019년에 출판된 최초의 인증 가능한 글로벌 개인정보 관리 표준으로, ISO/IEC 27001을 기반으로 정보 보안 관리 시스템을 확장하는 프레임워크를 제공한다. 드롭박스는 사용자의 데이터를 제어하고, 제공된 정보만을 바탕으로 서비스를 제공하며, 파일 및 페이퍼 문서를 추가, 수정, 삭제할 수 있다. 드롭박스는 사용자의 데이터에 대한 투명성을 강조하며, 데이터 저장 위치, 신뢰할 수 있는 파트너 및 계정이 닫힐 경우의 절차를 안내한다. ISO/IEC 27018과 ISO/IEC 27701은 ISO/IEC 27001을 보완하는 표준으로, 드롭박스는 2021년 10월에 ISO/IEC 27001 인증 갱신을 받았다. 드롭박스는 인증 유지를 위해 독립 제3자에 의한 연간 감사를 시행하므로, 이러한 관행이 정기적으로 검토된다. 4.6. 데이터 전송 및 개인 정보 보호 규정 드롭박스는 EU-U.S. 및 스위스-U.S. 데이터 프라이버시 프레임워크와 영국 확대 프레임워크를 준수하며, 개인 데이터 처리에 대한 원칙을 아는 데 있어 미국 상무부에 인증받았다고 한다. 드롭박스는 개인 데이터가 원칙과 일치하지 않게 처리될 경우 추가적인 책임을 지며, 이와 관련된 불만 사항은 JAMS라는 독립적인 제3자를 통해 조사 및 해결된다. GDPR은 2018년 유럽 연합의 규정으로, 개인 데이터 보호를 위한 포괄적인 프레임워크를 수립한다. 드롭박스는 이를 준수하기 위해 데이터 보호 책임자를 임명하고, 내부 프로세스를 강화하고 있다고 한다. 드롭박스는 EU 클라우드 행동 강령에 따라 GDPR 준수를 증명하였으며, 레벨 2 준수 마크를 획득해 기술적, 조직적, 계약적 조치를 이행했다고 밝히고 있다. 4.7. 드롭박스의 보안 및 개인정보 보호 정책 보안 및 개인정보에 대한 다양한 규제 및 산업-specific 요구사항이 조직에 적용될 수 있다. 드롭박스는 고객 비즈니스의 특정 요구에 맞춘 준수 조치를 결합하여 가장 널리 수용되는 기준에 따른 접근 방식을 가진다. 4.8. ️ ISO 표준 및 Dropbox의 보안 인증 Dropbox는 EY CertifyPoint를 통한 감사 과정을 통해 데이터 센터, 시스템, 애플리케이션, 사람 및 프로세스를 인증받았다. ISO/IEC 27001은 전 세계적으로 인정받는 정보 보안 관리 시스템(Information Security Management System, ISMS) 기준으로, 보안 모범 사례를 포함한다. ISO/IEC 27017은 클라우드 보안에 관한 국제 표준으로, 클라우드 서비스 제공 및 사용에 적용 가능한 보안 통제를 위한 지침을 제공한다. ISO/IEC 27018은 개인 정보를 처리하는 클라우드 서비스 제공업체를 위한 프라이버시 및 데이터 보호 표준으로, 고객들이 규제 및 계약 상 요구 사항을 해결할 수 있는 기초를 제공한다. 4.9. 인증 및 보안 기준 SOC 보고서는 조직 내에서 구현된 내부 통제에 대한 보고 프레임워크로, Dropbox는 Ernst & Young LLP의 독립 감사로 시스템과 프로세스를 검증받았다. SOC 3 보고서는 보안, 기밀성, 무결성, 가용성, 개인정보 보호와 관련된 다섯 가지 신뢰 서비스 기준를 포함하며, Dropbox는 해당 사항에 대한 독립 감사인의 의견을 포함하고 있다. SOC 2 보고서는 고객에게 100개 이상의 통제를 포함한 상세한 수준의 통제 기반 보증을 제공하며, Dropbox의 프로세스에 대한 설명과 감사 결과도 포함된다. Dropbox는 CSA STAR Level 2 인증과 Level 2 감사를 획득하였으며, 이는 ISO/IEC 27001, SOC 2 신뢰 서비스 기준, 그리고 CSA 클라우드 통제 매트릭스에 기반한 독립 평가 결과이다. 4.10. Dropbox의 규정 준수 및 보안 인증 NIST SP 800-171 R2에 따라 비정부 정보 시스템에서 제어된 비분류 정보를 보호하기 위한 지침을 제공하며, Dropbox의 시스템 및 프로세스는 Ernst & Young LLP에 의해 검증되었다. Dropbox는 FERPA 및 COPPA를 준수하여 교육기관이 서비스 이용 시 필요한 계약 조항을 동의할 경우 학생 정보를 안전하게 관리할 수 있도록 지원한다. FDA 21 CFR Part 11 규정을 따르며, 이와 관련한 백서와 도움말 센터 기사를 통해 준수 지원 방법을 설명한다. Dropbox는 SOC 2 Type II 인증을 획득하여 고객 데이터 보호에 대한 헌신을 표명하며, 추가적인 규정 준수 인증을 달성하기 위한 노력을 지속하고 있다.
모든 사용자 문서는 방화벽 뒤에 저장되며, 요청 시에는 발신자의 세션에 대한 인증이 이루어진다. 또한 데이터 전송에는 TLS(Transport Layer Security)와 AES 256비트 암호화가 사용된다. 모든 서명 요청 시, Dropbox Sign은 문서에 감사 추적 페이지를 부착하며, 이는 서명한 사람과 서명 시점을 기록한다. 변조 방지 감사 추적 기능을 통해 모든 조치가 철저히 기록되고 시간 스탬프가 부여된다. Dropbox Sign은 해싱 기술을 활용하여 서명 이전과 이후 문서의 유일한 기록을 생성함으로써, 문서 간의 변조 여부를 증명할 수 있는 기능을 제공한다. 사용자 인증을 위한 여러 기능이 제공되며, 2단계 인증을 통해 사용자 식별도를 높일 수 있다. 이는 SMS로 전송된 고유 코드를 사용해야 하며, 관리자는 필수 인증 방법을 설정할 수 있다. 5.1. Dropbox Sign의 문서 보안 이러한 문서의 예로는 신입 직원 채용 문서, 판매 계약, 건물 임대 계약, 파트너 관계, 공급업체 계약 등이 있다. 문서에는 종종 민감한 정보가 포함되어 있어, 보안이 가장 중요한 문제이다. Dropbox Sign Services는 문서와 관련된 거래의 보호를 최우선으로 하며, 모든 서명의 프라이버시, 보안, 보호를 보장하는 데 전념하고 있다. 이 백서에서는 보안에 대한 폭넓은 주제를 다루며, 최소 계약 가치를 구매하는 고객을 위해 맞춤형 보안 검토, 설문지 및 평가를 제공할 수 있는 옵션이 있다. 5.2. 문서 보안 및 감사 추적 시스템 데이터 전송에는 최고의 산업 관행인 TLS(Transport Layer Security)가 사용되며, 데이터는 SOC 1 Type II, SOC 2 Type I, ISO 27001 인증된 데이터 센터에 저장된다. 고객 문서는 AES 256비트 암호화를 통해 저장 및 암호화되어 있으며, 추가 정보는 보안 페이지에서 확인할 수 있다. 문서에 요청된 서명의 각 서명은 특정 감사 추적 페이지와 함께 부착되며, 이 페이지에는 서명자와 서명 시간의 전 세계 고유 식별자(GUID)가 포함된다. Dropbox Sign에서는 여러 종류의 감사 추적 이벤트가 발생하며, 현재 모든 감사 추적 이벤트 목록은 보안 페이지에서 확인할 수 있다. 5.3. Dropbox Sign의 보안 기능 서명 전후의 문서에 변조가 없었음을 입증해야 할 경우, 두 개의 고유한 문서 기록을 제공하여 증명할 수 있다. 강력한 인증 기능을 제공하여 사용자가 문서 서명 발급이나 서명을 실행하기 전에 신원을 확인할 수 있도록 한다. 2단계 인증을 설정할 수 있으며, 이는 Google Authenticator에서 생성된 코드 또는 SMS로 전송된 코드의 입력을 요구한다. 팀 관리자는 어떤 방법으로 2단계 인증이 이루어질지를 강제 적용할 수 있으며, 단일 로그인(Single Sign-On)도 지원한다. 5.4. Dropbox Sign 인증 및 보안 기능 Signer Access Code를 통해 사용자는 문서를 보기 위해 입력해야 하는 4~12자의 알파벳 및 숫자 조합의 코드를 설정할 수 있다. OAuth를 통해 API 호출 시 사용자를 대신해 인증을 지원하는 기능이 제공된다. SAML 2.0을 지원하여 기업의 단일 로그인 기능을 가능하게 한다. 역할 기반 보안 시스템을 통해 팀의 구성원에게 서로 다른 권한을 부여하여 관리자가 팀 설정 및 청구 정보를 제어할 수 있도록 한다. 5.5. ️ 규정 준수 인증 및 보증 Ernst & Young LLP에 의해 수행된 감사 시리즈를 통해 시스템, 애플리케이션, 인력 및 프로세스의 유효성이 검증되었다. SOC 3 보증 보고서는 보안, 기밀성, 무결성, 가용성, 프라이버시의 다섯 가지 신뢰 서비스 기준을 포함한다. SOC 2 보고서는 고객 데이터 보호를 위한 100개 이상의 통제 수단을 포함하여, Dropbox Sign의 프로세스에 대한 상세한 설명을 제공한다. ISO 27001은 세계적으로 인정받는 정보 보안 관리 시스템 표준으로, Dropbox Sign의 물리적, 기술적 및 법적 통제 사항을 지속적으로 관리하고 개선하는 데 초점을 맞춘다. 5.6. 데이터 보호 및 법적 준수 기준 HIPAA 및 HITECH 준수를 지원하는 Dropbox Sign은 의료 분야의 기술 발전을 장려하면서 건강 정보의 보안을 강화하는 법률이다. 이 법률은 의료 기관 및 개인에게 적용되며, 관련 문서는 고객 요청 시 제공된다. 미국 ESIGN 법은 전자 기록과 서명의 유효성을 인정하며, 서명 의도 증명 및 소비자 고지와 기록 보존을 요구한다. UETA는 전자 서명을 손으로 쓴 서명과 동일한 법적 효력을 부여하며, 미국의 모든 주에서 채택되었으나 뉴욕주에서는 적용되지 않는다. GDPR은 유럽 연합의 개인 데이터 처리 규제를 강화하여, Dropbox Sign은 이 규제를 준수하여 고객이 GDPR에 따라 서비스를 이용할 수 있도록 한다. 5.7. DocSend의 보안 기능 및 관리 도구 사용자는 문서 수준 분석을 통해 문서를 조회한 사람과 그들이 보낸 시간을 알 수 있으며, 허용 목록과 같은 기능으로 접근을 제한할 수 있다. DocSend는 안전한 파일 전송과 동적 워터마킹을 통해 불법 복제를 방지하고, 가상 데이터룸(VDR)을 통해 여러 문서를 하나의 링크로 공유할 수 있다. 데이터는 AES 256비트 암호화로 보호되며, 모든 파일은 안전하게 전송되고 저장된다. 감사 추적 기능을 통해 모든 액션은 시간 기록이 가능하며, 사용자 인증이 강화되어 문서 접근 전에 사용자의 신원을 확인할 수 있다.
사용자의 장치에서 데이터가 암호화되고 해독 키가 생성되므로 Dropbox 서버에서 데이터의 해독이 불가능하다. E2EE는 데이터 접근을 제한하여 비인가 접근 및 데이터 유출로부터 보호하며, Dropbox 자체를 포함한 외부 공격자로부터도 사용자를 보호한다. 암호화 키 관리 시스템(EKMS)을 통해 팀 내 모든 사용자에게 암호화된 키에 대한 접근 권한을 부여함으로써 효율적인 키 관리가 이뤄진다. 복구 키와 장치 키를 등록하여 장치 간의 안전한 통신을 도모하며, 이로 인해 데이터에 대한 접근 및 복구가 용이하다. 6.1. 엔드 투 엔드 암호화 (E2EE) 개요 E2EE는 사용자의 장치에서 데이터가 암호화되며, 이는 Dropbox 서버에 전송되기 전에 이루어지므로 외부의 무단 침입이나 위반을 방지한다. Dropbox 서버는 공개 키와 암호화된 개인 또는 대칭 키를 저장하고 배포하는 핵심 요소로, 정기적인 비암호화 인증과 권한 부여를 담당한다. 팀은 사용자들의 집합으로, 각 팀은 공유된 암호화된 팀 키에 의해 암호적으로 표현되며, 팀이 소유한 파일에만 접근할 수 있도록 한다. 관리자는 사용자 및 팀의 매개 변수를 관리할 수 있는 권한을 부여받으며, 복구 키를 통해 새로운 사용자나 장치를 등록할 수 있는 능력을 가진다. 6.2. 직원 보안 관리 및 접근 제어 직원은 채용 시 배경 조사를 통과하고 보안 정책을 이해하며 보안 교육을 이수해야 한다. 직원의 접근 권한은 역할과 책임에 따라 부여되며, 퇴사 시 즉시 해제된다. Dropbox의 보안 접근은 강력한 비밀번호, SSH 키 및 2단계 인증을 사용하는 조합으로 관리된다. 모든 접근 요청은 중요 관리자의 승인을 기반으로 하며, 생산 서버와 데이터 센터와 같은 자원에 대한 접근은 명확한 승인 절차를 따른다. 6.3. 최종 사용자 암호화 목표 및 위협 모델 이 문서는 암호화 보호에만 초점을 맞추며, 정기적인 접근 제어 메커니즘이 팀원 간의 보다 세분화된 접근 제어를 허용한다. 위협 모델은 Dropbox 서버에 대한 비밀성, Dropbox 직원에 대한 비밀성, 다른 팀 및 제3자에 대한 비밀성 확보를 포함해야 하며, 암호화된 파일의 무결성과 파일의 가용성을 보장해야 한다. 키 검증을 비활성화하면 위협 모델이 축소되며, 이 경우 무결성과 비밀성은 액티브 공격으로부터 보장되지 않는다. 키 회전이 이루어지면 이전 팀원이 신뢰할 수 없게 되는 시나리오에서도 암호화된 파일의 비밀성이 보장될 수 있도록 다루어야 한다. 6.4. 팀 중심 접근 방식과 자동 장치 등록 이 접근 방식을 통해 사용자 경험이 향상되고 프로토콜의 복잡성이 단순화되어 보안 문제의 위험이 줄어들게 된다. 자동 장치 등록 기능은 비기술 사용자가 새로운 장치에서 end-to-end 암호화 설정을 수동으로 할 필요 없이 보다 쉽게 설정할 수 있도록 지원한다. 보안 보장은 웹 클라이언트보다 네이티브 애플리케이션에서 더 강력하게 제공되며, 웹 클라이언트는 보다 동적으로 제공되기 때문에 보장이 약해진다. 키 검증이 비활성화될 경우, Dropbox 서버와 그에 대한 쓰기 권한을 가진 직원에게 신뢰가 연장되며, 데이터에 접근하는 공격자는 팀 파일 내용에 대한 정보를 얻지 못하게 된다. 6.5. 엔드투엔드 암호화 및 접근 제어 관계 이 기능은 팀 외부의 위협으로부터 보호하며, 팀 내 구성원 간의 암호화 보호는 필요하지 않다. 팀 내 구성원 간의 접근 제어는 정기적인 ACL(Access Control Lists)을 통해 구현된다. 팀원이 퇴사하기 전까지는 해당 팀원이 모든 팀 파일에 접근할 수 있으며, 퇴사 시 새로운 콘텐츠는 새로운 키로 암호화된다. 6.6. 암호화 및 키 관리 시스템 데이터 키는 Entity가 모든 종류의 데이터를 대칭적으로 암호화하는 데 사용되며, 각 데이터 단위는 새로운 고유의 데이터 키로 암호화된다. 대칭 키는 항상 다른 키에 의해 암호화된 형태로만 저장된다. 대칭 암호화에는 AES-256-GCM 알고리즘이 사용되며, 이 때 nonce는 장치 측에서 랜덤하게 생성된다. 비대칭 암호화에는 HPKE가 사용되며, 키 검증이 활성화되면 추가적인 인증 데이터가 포함된다. 팀 비밀 키와 네임스페이스 비밀 키는 암호화의 발신자로 역할을 한다. 암호화된 키 관리 시스템(EKMS)는 고객 측 암호화를 통해 데이터 기밀성을 보존하며, 모든 키가 장치에서 안전하게 암호화되어 서버 측에서 사용할 수 없도록 한다. 이는 강력한 종단 간 암호화를 확립한다. 6.7. EKMS의 키 종류와 관리 절차 Encrypted Team Folder Keys는 비대칭 키로, End-to-End Encryption으로 보호되는 폴더에 할당되고, 개인 키는 Team Key로 암호화되어 안전하게 서버로 전송된다. Team Key는 팀에 특별히 할당된 비대칭 키로, 개인 키는 Recovery 및 Device Keys로 암호화되어 서버로 전송된다. Device Key는 비대칭 키로, 개별 장치에 고유하게 할당되며, 오직 공용 키만 서버에 등록되고 개인 키는 해당 장치에서만 안전하게 저장된다. Recovery Key는 특정 팀에 할당된 비대칭 키로, 관리자가 생성하며 항상 적어도 하나의 복구 키가 유지되어야 한다.
접근 권한 철회는 장치 및 복구 키의 제어된 삭제를 보장하며, 이전 팀원이 팀의 데이터 보안을 위협할 수 없도록 한다. 접근 권한 철회는 복구 키와 장치 키에 대한 권한 철회를 포함하며, 이 과정은 새로운 팀 키가 영향을 받는 복구 공개 키로 재암호화되지 않도록 한다. 키 회전(Key Rotation)은 데이터 보안 및 기밀성을 유지하는 필수 절차이며, 접근 권한 철회 없이는 수행될 수 없다. 관리자는 관리자 콘솔을 통해 키 회전을 시작할 수 있으며, 이 과정에서는 새 팀 키를 생성하고 기존 키의 유효성을 확인하는 단계를 거친다. 7.1. 접근 권한 해지 개념 복구 키의 해지는 권한이 부여된 관리자가 수행할 수 있으며, 팀 키 회전이 시작될 때 새로운 팀 키는 해당 복구 공개 키로 재암호화되지 않아 새롭게 생성되거나 수정된 파일의 보안을 보장한다. 장치 키의 해지는 사용자가 팀을 떠날 경우 팀 키 회전을 통해 이루어지며, 새로운 팀 키는 해당 장치 공개 키로 재암호화되지 않는다. 키 회전은 데이터의 보안과 기밀성을 유지하기 위한 필수 과정이며, 이는 암호화 키를 업데이트하는 장치를 제공한다. 키 회전의 전제 조건은 접근 권한 해지로, 회전 전에 해지해야 할 사용자나 복구 키는 삭제되거나 비활성화로 표시되어야 한다. 7.2. 관리자에 의한 키 로테이션 새로운 팀 키의 지문은 관리자에게 표시되며, 이전 키 검증이 활성화된 경우 사용자에게 배포된다. 기존의 모든 활성화된 복구 키와 장치 키가 서버에서 검색되어 새로운 팀 개인 키가 재암호화된다. 각 기존 네임스페이스에 대해 새로운 네임스페이스 키가 도입되며, 이는 새로운 팀의 공개 키로 암호화된다. 기존 팀 키와 네임스페이스 키는 만료되며, 만료된 키는 암호화 작업에 사용되지 않고 오직 복호화에만 사용된다. 7.3. 외부 공유와 보안 메커니즘 외부 팀은 End-to-End Encryption에 등록되어 있어야 하며, 이를 위해 유효한 팀 키 쌍이 필요하다. 외부 팀이 키 회전을 수행할 경우, 공유 폴더의 키도 함께 회전되며, 이는 보안 강화를 위한 과정이다. 팀 키 지문은 키 회전으로 인해 여러 팀 키가 사용될 수 있는 상황에서 보안을 유지하는 데 필수적이다. Merkle Tree를 통해 팀 키 지문을 관리하고, 새로운 팀 키의 해시는 이전 Merkle Tree의 루트 해시와의 연동을 통해 계산된다. 7.4. 파일 암호화 및 복호화 과정 암호화 과정에서 각 블록의 해시 값은 Dropbox 서버에 저장되지만, 서버에서 복호화할 수는 없으며, 장치에서 복호화 가능해야 한다. 파일을 암호화하기 위해 새로운 랜덤 AES-256 키(복호화 키)를 생성하고, 이를 파일 키로 암호화한다. 복호화 과정은 파일 암호화의 단계를 역으로 수행하고, 각 복호화된 블록의 해시가 예상 해시와 일치하는지 확인한다. 새로운 복호화 키가 생성될 때마다 각 암호화와 수정은 이루어지며, 이는 Blockwise-AES-256-GCM의 revision 제한을 줄인다. 7.5. 고급 키 관리 Dropbox에서는 제3자의 데이터 보호 솔루션 없이도 데이터 암호화 모델을 쉽게 채택할 수 있다. 이를 통해 암호화 키를 안전하게 관리하고 다양한 기능을 제공받을 수 있다. 자동화된 팀 암호화 키의 연간 정기 회전 기능이 있어, 위협이 감지될 경우 언제든지 팀 암호화 키를 수동으로 취소하여 데이터 접근을 영구적으로 제거할 수 있다. Dropbox는 다층 암호화 모델을 사용하여 팀과 연관된 고유한 팀 암호화 키(TEK)를 생성하고 저장한다. 이 키는 산업 표준 하드웨어 보안 모듈(HSM)을 통해 관리된다. 고객은 Dropbox가 관리하는 암호화 키(DMEK) 기능을 통해 고유한 팀 수준의 암호화 키를 제공받아 데이터 보안 및 규정 준수에서 유연성을 증가시킬 수 있다. |
Uh oh!
There was an error while loading. Please reload this page.
1부에서 그룹별로 생성된 질문을 2부 아고라 세션에서 논의해 볼 수 있도록 질문을 남겨주세요!
드디어 마지막 세션 "구글 드라이브 설계" 입니다.
All reactions