用于保护 Windows 和 Linux VM 的加密选项

已完成

假设贵公司贸易合作伙伴的安全政策要求使用强加密来保护其贸易数据。 你使用了 Windows 服务器上运行的 B2B 应用程序,并将数据存储在服务器数据磁盘中。 过渡到云后,你需要向贸易合作伙伴证明未经授权的用户、设备或应用程序无法访问贵方 Azure VM 上存储的数据。 你需要确定一种用于实现 B2B 数据加密的策略。

审核要求指定,加密密钥必须在内部管理,而不能由任何第三方管理。 此外,还要确保保持基于 Azure 的服务器的性能和可管理性。 因此,在实现加密之前,你需要确保不会遇到性能问题。

什么是加密?

加密是将有意义的信息转换成看似无意义的内容,例如,字母和数字的随机序列。 加密过程将某种形式的密钥用作创建加密数据的算法的一部分。 此外,执行解密也需要使用密钥。 密钥可以是对称的(即同一个密钥可用于加密和解密);也可以是非对称的(即使用不同的密钥进行加密和解密)。 后者的一个示例是数字证书中使用公钥 - 私钥对

对称加密

使用对称密钥的算法(例如,高级加密标准 (AES))通常比公钥算法更快,往往用于保护大型数据存储。 由于只有一个密钥,必须制定相应的过程来防止密钥公开。

非对称加密

使用非对称算法,只有密钥对的私钥成员必须保持私密和安全。 顾名思义,公钥可供任何人使用,而不会影响加密数据。 但是,公钥算法的缺点在于,它们的速度比对称算法慢,并且无法用于加密大量数据。

密钥管理

在 Azure 中,Microsoft 或客户可以管理加密密钥。 需要展示 HIPAA 或其他法规合规性的组织往往会提出让客户管理密钥的要求。 此类合规性可能要求记录对密钥的访问,同时要求定期进行密钥更改并记录此类更改。

Azure 磁盘加密技术

适用于 Azure VM 的基于加密的主要磁盘保护技术包括:

  • Azure 存储服务加密 (SSE)
  • Azure 磁盘加密 (ADE)

SSE 在数据中心的物理磁盘上执行。 如果有人直接访问物理磁盘,数据将被加密。 当从磁盘访问数据时,数据会被解密并加载到内存中。

ADE 可加密虚拟机的虚拟硬盘 (VHD)。 如果使用 ADE 保护 VHD,则磁盘映像只能由拥有该磁盘的虚拟机访问。

可以使用这两种服务来保护数据。

存储服务加密

SSE 是 Azure 中内置的一个加密服务,用于保护静态数据。 Azure 存储平台会先自动加密数据,然后再将数据存储到多个存储服务(包括 Azure 托管磁盘)。 系统将默认启用采用 256 位 AES 加密技术的加密,且这将由存储帐户管理员管理。

SSE 会针对所有新的和现有的存储帐户启用,并且不能禁用。 数据默认受保护,因此无需修改代码或应用程序,即可使用 SSE。

SSE 不影响 Azure 存储服务的性能。

Azure 磁盘加密

虚拟机 (VM) 所有者将管理 ADE。 它使用 Windows VM 上的 BitLocker 和 Linux VM 上的 DM-Crypt 来控制受 Windows 和 Linux VM 控制的磁盘的加密。 BitLocker 驱动器加密是一种与操作系统相集成的数据保护功能,可以解决由于计算机丢失、被盗或被不当解除授权而导致的数据盗窃或泄露威胁。 同样,在将 Linux 的静态数据写入存储之前,DM-Crypt 会加密这些数据。

ADE 可确保 VM 磁盘上的所有数据在 Azure 存储中都经过了静态加密;对于备份到恢复保管库的 VM,必须使用 ADE。

凭借 ADE,VM 会根据客户控制的密钥和策略启动。 ADE 与 Azure Key Vault 集成,以管理这些磁盘加密密钥和机密。

注意

ADE 不支持加密基本层 VM,因此不能将本地密钥管理服务 (KMS) 与 ADE 配合使用。

何时使用加密

计算机数据在传输过程中(通过 Internet 或其他网络进行传输)和处于静态时(已保存到存储设备)都会面临风险。 保护 Azure VM 磁盘中的数据时,静态数据的保护是主要考虑因素。 例如,某人可能会下载与 Azure VM 关联的虚拟硬盘 (VHD) 文件,并将其保存在便携式计算机上。 如果 VHD 未加密,则可在自己的计算机上装载 VHD 文件的任何人都有可能能够访问 VHD 的内容。

对于操作系统 (OS) 磁盘,密码等数据会自动进行加密,因此即使 VHD 本身未加密,也不容易访问此类信息。 应用程序还可以自动加密自身的数据。 但是,即使是在使用此类保护的情况下,如果恶意用户获取了数据磁盘的访问权限,并且该磁盘本身未加密,那么他们也能够利用该应用程序的数据保护中存在的任何已知弱点。 如果实施了磁盘加密,这类恶意利用就不可能出现。

SSE 是 Azure 本身的一部分,使用 SSE 时,应该不会对 VM 磁盘 I/O 造成明显的性能影响。 具有 SSE 的托管磁盘现在是默认设置,无需对其进行更改。 ADE 将使用 VM 操作系统工具 BitLocker 和 DM-Crypt。 因此,在 VM 磁盘上执行加密或解密时,VM 本身必须执行一些操作。 这一额外的 VM CPU 活动的影响通常可忽略不计,但在某些情况下除外。 例如,如果你拥有一个大量占用 CPU 的应用程序,有时可能需要将 OS 磁盘保持为未加密状态以最大限度地提高性能。 对于这种情况,可以将应用程序数据存储在独立的已加密数据磁盘上,这样使你能够在不损害安全性的情况下获得所需的性能。

Azure 提供两种用于保护 Azure VM 磁盘的互补性加密技术。 这两种技术(SSE 和 ADE)可在不同的层上进行加密,满足不同的目的。 两者都使用 AES 256 位加密。 同时使用这两种技术可以提供深层防御保护,防范有人未经授权访问 Azure 存储和特定 VHD。