在数字时代,数据安全变得至关重要。Microsoft Azure 提供了一系列加密技术,以保护数据在静态、使用中和传输过程中的安全。本文将详细介绍这些技术,包括数据存储解决方案、密钥管理以及数据传输过程中的加密方法。
数据静态加密指的是在物理介质上持久存储的任何形式的数字数据的加密,包括数据备份、归档数据以及存储在光学或磁性介质上的文件。Azure 提供了多种数据存储解决方案,如文件存储、磁盘存储、Blob 存储和表存储,以满足不同组织的需求。
Azure 提供了多种数据加密模型,包括:
客户端加密是在 Azure 外部执行的。云服务提供商无法访问加密密钥,因此无法解密数据。组织可以控制解密密钥。
服务端加密提供了三种不同的加密模型,分别提供不同的密钥管理服务:
Azure 磁盘加密可用于保护 Windows 和 Linux 虚拟机上的操作系统和数据磁盘。加密密钥保存在 Azure Key Vault 中。如果使用 Azure 备份服务,还可以备份和还原使用密钥加密密钥配置(KEK)的加密虚拟机。
存储在 Blob 存储和文件共享中的数据可以使用服务端和客户端场景进行静态加密。
通过Azure存储服务加密(SSE),数据在存储之前可以自动加密,并在检索时自动解密。SSE 使用 256 位高级加密标准(AES)加密。
使用 Azure 存储客户端库 .NET NuGet 包在上传到 Azure 存储之前加密数据是一种实现方法。如果使用客户端加密与 Key Vault,则数据使用一次性对称内容加密密钥(CEK)进行加密。这个密钥由 Azure 存储客户端生成。CEK 使用密钥加密密钥(KEK)进行加密。它可以在本地管理,也可以存储在 Key Vault 中。
Azure SQL 数据库是一种通用的关系数据库,支持关系数据、JSON、空间和 XML 数据。SQL 数据库支持通过透明数据加密(TDE)功能进行服务端加密,以及通过 Always Encrypted 功能进行客户端加密。
TDE 用于加密 SQL Server、Azure SQL 数据库和 Azure SQL 数据仓库的数据文件。它使用存储在数据库引导记录中的数据库加密密钥(DEK)。加密在页面级别进行,页面在写入文件之前被加密,并在读取到内存时被解密。TDE 默认在新创建的 Azure SQL 数据库上启用。
此功能允许在将数据存储在 Azure SQL 数据库之前,在客户端应用程序中对其进行加密。还可以将数据的拥有者和查看者与数据管理者分开,后者不应访问数据本身。
Azure 数据湖是收集各种类型数据的地方,在数据被组织之前。数据湖支持静态数据加密,可以在创建帐户时设置。Azure 数据湖商店管理密钥,这是默认设置,但也可以自己管理它们。
有多种方法可以加密从一个位置移动到另一个位置的数据。首先,当数据在云服务和客户之间传输时,它使用传输层安全(TLS)进行保护。完美前向保密(PFS)通过使用唯一的密钥保护客户客户端系统和 Microsoft 云服务之间的连接,这使得在传输过程中访问数据变得困难。
通过 Azure 门户与 Azure 存储的所有交互都通过 HTTPS 进行。另一个选项是使用 HTTPS 上的存储 REST API。可以通过启用存储帐户所需的安全传输来确保 REST API 在访问存储帐户中的对象时使用 HTTPS。共享访问签名(SAS)包括一个选项,指定在使用 SAS 时只能使用 HTTPS 协议。客户端加密在数据发送到 Azure 存储实例之前对其进行加密,因此它在通过网络传输时是加密的。
运行 Windows Server 2012 或更高版本的虚拟机可以使用 SMB 3.0 在Azure虚拟网络上加密数据传输。可以为整个服务器启用 SMB,也可以仅为其特定部分启用。
在运行 Windows 的 VNs 之间传输、从 VNs 传输或在 VNs 之间传输的数据可以通过多种方式进行加密。可以使用的方式将取决于连接的性质。可以使用远程桌面协议(RDP)连接并登录到 VM,RDP 会话中传输的数据可以使用 TLS 进行保护。
安全外壳(SSH)是一种加密连接协议,允许在不安全的连接上进行安全登录。可以使用 SSH 连接到托管在Azure上的 Linux VM。
可以通过创建一个虚拟专用网络来连接到 Azure,该网络创建了一个安全隧道以保护跨网络发送的数据的隐私。
可以使用 Azure VPN 网关在公共连接上发送加密流量,将虚拟网络与本地位置或虚拟网络之间进行传输。
可以使用点对点 VPN 使单个计算机访问 Azure 虚拟网络。安全套接字隧道协议(SSTP)用于创建 VPN 隧道,该隧道看起来像一个 HTTPS 连接。
本地场所可以使用站点到站点 VPN 网关连接到 Azure 虚拟网络,通过 IPsec/IKE(IKEv1 或 IKEv2)VPN 隧道进行连接。但是,这种类型的连接需要一个具有分配给它的公共 IP 地址的本地 VPN 设备。