SharePoint 和 OneDrive、Microsoft Teams 和 Exchange 的加密

Microsoft 365 是一个高度安全的环境,在多个层中提供广泛的保护:物理数据中心安全、网络安全、访问安全、应用程序安全性和数据安全。

SharePoint 和 OneDrive

SharePoint 中的所有客户文件都受到始终对单个租户独占的唯一每个文件密钥的保护。 密钥由 SharePoint 服务创建和管理,或者客户使用、创建和管理客户密钥时。 上传文件时,SharePoint 在上传请求的上下文中执行加密,然后再发送到 Azure 存储。 下载文件时,SharePoint 会基于唯一文档标识符从 Azure 存储检索加密的客户数据,并在将客户数据发送给用户之前对其进行解密。 Azure 存储无法解密,甚至无法识别或理解客户数据。 所有加密和解密都发生在强制实施租户隔离的同一系统中,即Microsoft Entra ID和 SharePoint。

Microsoft 365 中的多个工作负载将数据存储在 SharePoint 中,包括 Microsoft Teams(将所有文件存储在 SharePoint 中)和 OneDrive(使用 SharePoint 进行存储)。 SharePoint 中存储的所有客户数据都使用一个或多个 AES 256 位密钥) 加密 (,并分布在数据中心,如下所示。 (此加密过程的每个步骤都经过 FIPS 140-2 级别 2 验证。有关 FIPS 140-2 符合性的其他信息,请参阅 FIPS 140-2 Compliance.)

  • 每个文件都拆分为一个或多个区块,具体取决于文件大小。 每个区块都使用其自己的唯一 AES 256 位密钥进行加密。

  • 更新文件时,更新的处理方式相同:更改拆分为一个或多个区块,每个区块使用单独的唯一密钥进行加密。

  • 这些区块(文件、文件和更新增量)以 Blob 的形式存储在 Azure 存储中,这些 Blob 随机分布在多个 Azure 存储帐户中。

  • 这些客户数据区块的加密密钥集本身是加密的。

    • 用于加密 Blob 的密钥存储在 SharePoint 内容数据库中。
    • 内容数据库受数据库访问控制和静态加密的保护。 Azure SQL 数据库中使用透明数据加密 (TDE) 执行加密。 (Azure SQL 数据库是 Microsoft Azure 中的一项通用关系数据库服务,它支持关系数据、JSON、空间和 XML 等结构。) 这些机密位于 SharePoint 的服务级别,而不是租户级别。 这些机密 (有时称为主密钥,) 存储在称为密钥存储的独立安全存储库中。 TDE 为活动数据库以及数据库备份和事务日志提供静态安全性。
    • 当客户提供可选密钥时,客户密钥存储在 Azure 密钥保管库中,服务使用该密钥来加密租户密钥,该密钥用于加密站点密钥,然后使用该密钥对文件级密钥进行加密。 实质上,当客户提供密钥时,会引入新的密钥层次结构。
  • 用于重新组装文件的映射与加密密钥一起存储在内容数据库中,与解密它们所需的主密钥分开。

  • 每个 Azure 存储帐户在每个访问类型中都有自己的唯一凭据, (读取、写入、枚举和删除) 。 每组凭据都存放在安全的密钥存储中,并定期刷新。 如上所述,有三种不同类型的存储,每种类型的存储都有一个不同的函数:

    • 客户数据以加密 Blob 的形式存储在 Azure 存储中。 对每个客户数据区块的密钥进行加密并单独存储在内容数据库中。 客户数据本身对如何解密没有线索。
    • "内容数据库"是一个 SQL Server 数据库。 它包含查找和重新组合 Azure 存储中保存的客户数据 Blob 所需的映射,以及加密这些 Blob 所需的密钥。 但是,密钥集本身 (加密,如上述) 中所述,保存在单独的密钥存储中。
    • 密钥存储在物理上独立于内容数据库和 Azure 存储。 它保存每个 Azure 存储容器的凭据,以及内容数据库中保存的加密密钥集的主密钥。

这三个存储组件(Azure Blob 存储、内容数据库和密钥存储)在物理上是分开的。 保留在其中任一个组件中的信息在其自身上都不可用。 如果无法访问这三个区块,则无法检索区块的密钥、解密密钥以使其可用、将密钥与其相应的区块关联、解密每个区块或从其构成区块重新构造文档。

BitLocker 证书(用于保护数据中心内计算机上的物理磁盘卷)存储在安全存储库中, (受场密钥保护的 SharePoint 机密存储) 。

保护每个 Blob 密钥的 TDE 密钥存储在两个位置:

  • 安全存储库,其中包含 BitLocker 证书,并受场密钥保护;和
  • 在由 Azure SQL Database 管理的安全存储库中。

用于访问 Azure 存储容器的凭据也保存在 SharePoint 机密存储中,并根据需要委托给每个 SharePoint 场。 这些凭据是 Azure 存储 SAS 签名,具有用于读取或写入数据的单独凭据,并应用了策略,以便每 60 天自动过期一次。 不同的凭据用于读取或写入数据 (不同时) 和 SharePoint 场没有枚举权限。

注意

对于Office 365美国政府客户,数据 Blob 存储在 Azure 美国政府存储中。 此外,访问美国政府Office 365 SharePoint 密钥仅限于经过专门筛选Office 365员工。 Azure 美国政府运营人员无法访问用于加密数据 Blob 的 SharePoint 密钥存储。

有关 SharePoint 和 OneDrive 中的数据加密的详细信息,请参阅 SharePoint 和 OneDrive 中的数据加密

SharePoint 中的列表项

列表项是临时创建或可在网站中更动态地生存的较小客户数据区块,例如用户创建列表中的行、SharePoint 博客中的单个文章或 SharePoint Wiki 页面中的条目。 列表项存储在内容数据库 (Azure SQL 数据库) 中,并使用 TDE 进行保护。

中转数据的加密

在 OneDrive 和 SharePoint 中,存在两种数据进入和退出数据中心的方案。

  • 客户端与服务器的通信 - 通过 Internet 与 SharePoint 和 OneDrive 的通信使用 TLS 连接。
  • 数据中心之间的数据移动 - 在数据中心之间移动数据的主要原因是进行异地复制以实现灾难恢复。 例如,SQL Server 事务日志和 blob 存储增量沿着此管道传输。 虽然此数据已使用专用网络传输,但会通过一流的加密进一步保护这些数据。

Exchange

Exchange 对所有邮箱数据使用 BitLocker,BitLocker 加密中介绍了 BitLocker 配置。 服务级别加密在邮箱级别加密所有邮箱数据。

除了服务加密之外,Microsoft 365 还支持基于服务加密构建的客户密钥。 客户密钥是 Microsoft 管理的用于 Exchange 服务加密的密钥选项,也是 Microsoft 路线图中的选项。 这种加密方法提供了 BitLocker 无法提供的增强保护,因为它分离了服务器管理员和数据解密所需的加密密钥,并且加密直接应用于数据 (与 BitLocker 相比,BitLocker 在逻辑磁盘卷上应用加密,) 从 Exchange Server 复制的任何客户数据保持加密。

Exchange 服务加密的范围是存储在 Exchange 中的静态客户数据。

Microsoft Teams

Teams 使用 TLS 和 MTLS 来加密即时消息。 所有服务器到服务器流量都需要 MTLS,无论流量是限制在内部网络还是跨越内部网络外围。

此表汇总了 Teams 使用的协议。

通信类型 加密者
服务器到服务器 MTLS
客户端到服务器 (例如即时消息和状态) TLS
媒体流 (例如媒体) 的音频和视频共享 TLS
媒体的音频和视频共享 SRTP/TLS
信号 TLS

媒体加密

媒体通信是使用安全 RTP (SRTP) 进行加密的,SRTP 是为 RTP 通信提供保密性、身份验证和重播攻击保护的实时传输协议 (RTP) 的配置文件。 SRTP 使用使用安全随机数生成器生成的会话密钥,并使用信令 TLS 通道进行交换。 客户端到客户端媒体流量通过客户端到服务器连接信号协商,但在直接进行客户端到客户端时使用 SRTP 进行加密。

Teams 使用基于凭据的令牌通过 TURN 安全访问媒体中继。 媒体中继通过 TLS 保护的通道交换令牌。

Fips

Teams 使用 FIPS (联邦信息处理标准) 符合加密密钥交换的算法。 有关 FIPS 实现的详细信息,请参阅 联邦信息处理标准 (FIPS) 出版物 140-2