幕后揭秘:架构概览

Dropbox 设计了多层安全保障措施,包括在安全可扩展的基础设施中设置安全数据传输、加密、网络配置和应用级控制功能。

文件基础设施

Dropbox 用户随时可以从多种界面(包括桌面、网络和移动客户端)或通过与 Dropbox 关联的第三方应用来访问文件和文件夹。每种界面都拥有安全设置和功能,既能处理和保护用户数据,又能确保便捷的访问通道。所有这些客户端都会连接到安全服务器,提供访问文件的权限,允许用户与他人共享文件,并在添加、更改或删除文件时更新关联设备。

Dropbox 分布式文件基础设施

我们的文件基础设施由下列组件构成:

元数据服务器

有关用户数据的特定基本信息被称为元数据,存储在自己独立的存储服务中,并在用户帐户中充当着数据索引的角色。元数据包括基本帐户和用户信息,如电子邮件地址、名称和设备名称。元数据还包括文件名称和类型等有关文件的基本信息,这些信息可用于支持版本历史、恢复和同步等功能。

元数据数据库

文件元数据存储在 MySQL 支持的数据库服务中,并会根据需要进行分片和复制,以满足性能和高可用性的要求。

屏蔽服务器

在设计过程中,Dropbox 所提供的独特安全机制超越传统的加密技术,用以保护用户数据。块服务器通过将每个文件分块,使用强密码对每个文件块进行加密,并仅同步修订版之间修改的块,从而处理来自 Dropbox 应用程序的文件。当 Dropbox 应用程序检测到新文件或对现有文件的更改时,应用程序会向块服务器发送更改通知,新的或修改的文件块会被处理并传输到块存储服务器中。此外,块服务器用于向用户传输文件和提供预览。

块存储服务器

块存储服务器会以加密数据块的形式存储用户文件的实际内容。 块存储服务器会以加密数据块的形式存储用户文件的实际内容。在传输之前,Dropbox 客户端会将文件拆分为多个文件块,为存储做准备。块存储服务器充当内容寻址存储 (CAS) 系统,并会根据哈希值检索每个单独的加密文件块。

预览服务器

预览服务器负责生成文件预览。预览会以不同文件格式呈现用户文件,更适合在最终用户设备上快速显示。预览服务器从块存储服务器中检索文件块以生成预览。请求文件预览时,预览服务器会从预览存储服务器中检索缓存预览,并将其传输到块服务器。预览最终通过块服务器提供给用户。

预览存储服务器

缓存预览在预览存储服务器中以加密形式存储。

通知服务

这是一项单独的服务,专门监控 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 文档的图片,预览服务器通过加密通道获取存储在 Paper 图片服务器中的图片数据。对于嵌入 Paper 文档的超链接,预览服务器使用源链接指定的加密通道获取图片数据并呈现图像预览。预览最终通过块服务器提供给用户。

预览存储服务器

Paper 使用 Dropbox 基础设施图中描述的相同预览存储服务器来存储缓存图像预览。缓存预览块在预览存储服务器中以加密形式存储。

专职的内部安全团队联手第三方安全专家识别并规避风险与漏洞,尽责保护这些服务。他们会定期执行应用、网络及其他方面的安全性测试和审核,确保我们的后端网络安全有保障。此外,我们的 负责任披露政策 还鼓励用户发现并报告安全漏洞。

数据中心

Dropbox 的企业系统和生产系统分布在美国各地的第三方子服务机构数据中心和托管服务商处。这些第三方服务提供商负责控制 Dropbox 基础设施范围内的物理、环境和运营方面的安全性。Dropbox 负责我们存放于第三方数据中心内的基础设施在逻辑、网络和应用方面的安全性。

加密

静态的 Dropbox 文件和 Dropbox Paper 文档采用 256 位高级加密标准 (AES)。为保护 Dropbox 应用(当前为桌面应用、移动应用、API 或网络应用) 与我们的服务器之间传输的数据,Dropbox 采用安全套接字层 (SSL)/传输层安全性 (TLS) 技术来保护数据传输,营造受 128 位或更高的高级加密标准 (AES) 加密技术保护的安全隧道。同样,Paper 客户端(移动设备、API 或网络)与托管服务之间的传输数据通过 SSL/TLS 进行加密。

证书锁定

在大多数场景中安装启用时,Dropbox 会在支持 HTTP 公钥锁定规范的现代浏览器中以及桌面和移动客户端上进行证书锁定。证书锁定是一道额外的检查关卡,可确保您关联的服务身份真实,而不是冒名顶替者。我们采用此措施的目的是防范技术精湛的黑客尝试以其他方式暗中窥探您的活动。

完全向前保密

对于我们控制的终端(桌面和移动设备)及最新浏览器,我们采用强密码并支持完全向前保密技术。通过实施完全向前保密,我们确保其他人无法使用我们的 SSL 私钥来解密过去的互联网流量。这可断开每个会话与所有之前会话的联系,为与 Dropbox 进行的加密通讯增加了一道额外的安全防线。此外,在网络上我们会将所有身份验证 Cookie 标记为安全,并启用 HTTP 严格传输安全 (HTSTS)。

密钥管理

Dropbox 的密钥管理基础设施在运营、技术和程序方面设计了安全控制体系,严格限制直接访问密钥的权限。加密密钥的生成、交换和存储在不同地方进行,分散处理。

Dropbox 会代表用户管理文件加密,以消除复杂性,支持高级产品功能并启用严格的加密控制。文件加密由生产系统基础设施安全控制体系和安全政策创建、存储和保护。我们采用唯一的 SSH 密钥对来限制对生产系统的访问。在安全政策和程序中要求对 SSH 密钥进行保护。我们设置了内部系统来管理安全的公钥交换流程,并安全存储私钥。

如需详细了解我们的控制力与可见性功能,请参阅 Dropbox Business 安全白皮书。