幕后揭秘:架构概览
Dropbox 设计了多层安全保障措施,包括在安全可扩展的基础设施中设置安全数据传输、加密、网络配置和应用级控制功能。
文件基础设施
Dropbox 用户随时可以从多种界面(包括桌面、网络和移动客户端)或通过与 Dropbox 关联的第三方应用来访问文件和文件夹。每种界面都拥有安全设置和功能,既能处理和保护用户数据,又能确保便捷的访问通道。所有这些客户端都会连接到安全服务器,提供访问文件的权限,允许用户与他人共享文件,并在添加、更改或删除文件时更新关联设备。
我们的文件基础设施由下列组件构成:
元数据服务器
有关用户数据的特定基本信息被称为元数据,元数据存储在自己独立的存储服务中,在用户帐户中充当着数据索引的角色。元数据包括基本帐户和用户信息,如电子邮件地址、名称和设备名称。元数据还包括文件名和类型等有关文件的基本信息,这些信息可用于支持版本历史、恢复和同步等功能。
元数据数据库
文件元数据存储在基于 MySQL 的元数据服务中,并会根据需要进行分片和复制,以满足性能和高可用性的要求。
块服务器
经过精心设计,Dropbox 所提供的独特安全机制超越传统的加密技术,可以保护用户数据。块服务器将每个文件分块,使用强密码对每个文件块进行加密,并仅同步修订版之间修改的块,以此来处理来自 Dropbox 应用程序的文件。当 Dropbox 应用程序检测到新文件或对现有文件的更改时,应用程序会向块服务器发送更改通知,新的或修改的文件块会被处理并传输到块存储服务器中。此外,块服务器还用于向用户传输文件和提供预览。
块存储服务器
块存储服务器会以加密数据块的形式存储用户文件的实际内容。块存储服务器会以加密数据块的形式存储用户文件的实际内容。在传输之前,Dropbox 客户端会将文件拆分为多个文件块,为存储做准备。块存储服务器充当内容寻址存储 (CAS) 系统,并会根据哈希值检索每个单独的加密文件块。
预览服务器
预览服务器负责生成文件预览。预览会以不同文件格式呈现用户文件,更适合在最终用户设备上快速显示。预览服务器从块存储服务器中检索文件块以生成预览。请求文件预览时,预览服务器会从预览存储服务器中检索缓存预览,并将其传输到块服务器。预览最终通过块服务器提供给用户。
预览存储服务器
缓存预览在预览存储服务器中以加密形式存储。
通知服务
这是一项单独的服务,专门监控 Dropbox 帐户是否有任何更改。没有文件数据或元数据存储在这里或传送到这里。每个客户端都会与此通知服务建立长轮询连接并等待。当 Dropbox 中的任何文件出现更改时,通知服务会通过关闭长轮询连接来向相关客户端发出更改信号。关闭连接表明客户端必须安全连接到元数据服务器,以同步出现的任何更改。
Dropbox Paper 基础设施
Dropbox 用户可随时从网络和移动客户端或通过与 Dropbox Paper 应用程序关联的第三方应用程序访问 Paper 文档。所有这些客户端都会连接到安全服务器,提供访问 Paper 文档的权限,允许用户与他人共享文档,并在添加、更改或删除文档时更新关联设备。
Dropbox Paper 的基础设施由以下组件构成:
Paper 应用程序服务器
Paper 应用程序服务器处理用户请求,将编辑后的 Paper 文档的输出呈现给用户,并执行通知服务。Paper 应用程序服务器将用户编辑写入 Paper 数据库,并将其放置于持久性存储空间。Paper 应用程序服务器和 Paper 数据库之间的通信会话使用强密码加密。
Paper 数据库
用户 Paper 文档的实际内容及有关这些 Paper 文档的特定元数据将以加密形式永久存储在 Paper 数据库中。其中包括 Paper 文档的相关信息(如标题、共享成员资格和权限、项目和文件夹关联以及其他信息),以及 Paper 文档本身的内容,包括评论和任务。Paper 数据库会根据需要被分片和复制,以满足性能和高可用性的要求。
元数据服务器
Paper 使用 Dropbox 基础设施图中描述的相同元数据服务器来处理有关 Paper 文档的信息,例如 Paper 文档文件修订历史记录和共享文件夹成员。Dropbox 直接管理位于第三方同地协作数据中心的元数据服务器。
元数据数据库
Paper 使用 Dropbox 基础设施图中描述的相同元数据数据库来存储与 Paper 文档相关的信息,例如共享、权限和文件夹关联。Paper 文档元数据存储在基于 MySQL 的数据库服务中,并会根据需要进行分片和复制,以满足性能和高可用性的要求。
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 在文件同步以及共享桌面客户端和移动客户端上使用证书锁定。 证书锁定是一项额外检查,旨在确保我们的客户端仅连接至具有授权证书颁发机构列表中的数字证书的服务器。我们采用证书锁定来防范掌控流氓证书颁发机构的民族国家攻击者,并保护您免受可能劫持您的连接的本地恶意软件的侵害。
完全向前保密
对于我们控制的终端(桌面和移动设备)及主流浏览器,我们采用强密码并支持完全向前保密技术。通过实施完全向前保密,我们确保其他人无法使用我们证书的私钥来解密过去的互联网流量。这可断开每个会话与所有之前会话的联系,为与 Dropbox 进行的加密通讯增加了一道额外的安全防线。此外,在网络上我们会将所有身份验证 Cookie 标记为安全,并启用 HTTP 严格传输安全 (HTSTS)。
密钥管理
Dropbox 的密钥管理基础设施在运营、技术和程序方面设计了安全控制体系,严格限制直接访问密钥的权限。加密密钥的生成、交换和存储在不同地方进行,分散处理。
Dropbox 会代表用户管理文件加密,以消除复杂性,支持高级产品功能并启用严格的加密控制。文件加密密钥由生产系统基础设施安全控制体系和安全政策创建、存储和保护。我们采用唯一的 SSH 密钥对来限制对生产系统的访问。在安全政策和程序中要求对 SSH 密钥进行保护。我们设置了内部系统来管理安全的公钥交换流程,并安全存储私钥。
如需详细了解我们的控制力与可见性功能,请参阅 Dropbox 安全白皮书。