使用SQL Server TDE编写远程备份时,网络通信是否已加密?


9

他们确实说没有“愚蠢的问题”之类的东西,所以去了:

我了解SQL Server 透明数据加密(TDE)会加密静态数据,以便在有人闯入您的存储并窃取这些文件时对您的数据库文件(.mdf)和备份文件(.bak)进行加密。我还了解到,从磁盘读取数据时,数据将被解密,因此不会在内存中(移动中)对数据进行加密。因此,运行远程查询(从SensitiveData中选择*)的用户请求的数据在通过网络传输时不会被加密,因此很容易被拦截。

因此,假设以上所有方法都是正确的,这是我的愚蠢问题:如果我的SQL Server实例在计算机A上并且我的TDE数据库备份被写到远程计算机B上的存储中,那么备份操作数据是否在从计算机A传输时被加密了?将计算机A写入计算机B的磁盘上?我认为必须这样做(因为我想加密操作首先在计算机A上进行),但是在任何Microsoft文档或博客中都找不到对此的确认。同样,在还原操作过程中-是否有人在计算机B处拦截从磁盘上传输的数据以在计算机A上还原数据库-他们会发现运动中的数据已加密吗?


2
这确实是一个好问题
Shanky

Answers:


7

是的,备份是在网络上移动时进行加密的,因为TDE数据是在磁盘上加密的,并且备份操作永远不会对其解密

保罗·兰达尔的备用神话

神话30-09)备份通过缓冲池读取数据

。备份子系统打开其自己的数据库文件通道,以避免因必须将所有内容读入SQL Server的内存并将其读回到备份设备(以及在此过程中有效刷新缓冲池)而导致性能下降。如果您要求进行页面校验和检查,它将使用它自己的一小部分内存。

如果将页面加载到缓冲池中(SQL用于缓存数据库表和索引数据的“常规”内存空间),则必须将其解密。但是备份却不能做到这一点,它们只是将原始的加密“扩展区”(连续的8页块)转储到您的备份目标位置。

我能够得到Paul Randal的证实,他的上述评论仍然与TDE有关

它的工作方式完全相同。缓冲池进行加密,然后在将页面写入磁盘之前添加页面校验和。备份从不读取缓冲池。因此,是的,TDE数据库的备份仍具有加密功能。页面校验和是通过备份代码而不是缓冲池代码验证的。

换句话说,如果您已在数据库上启用了CHECKSUM,则在进行加密(在正常的SQL写操作期间)将其添加。这意味着备份过程可以读取原始(加密)范围,验证校验和以及写入备份,而无需解密数据。

这几乎可以肯定是(在SQL 2016之前)使用TDE在数据库上启用备份压缩的原因,因为加密数据不是很可压缩

这是因为在备份TDE加密数据库时,不会解密数据库页面。它们以与正常时相同的加密状态进行备份,然后进行压缩。从本质上讲,加密数据非常独特,因此数据压缩对加密数据的作用不大。

对于还原操作,适用相同的原理。加密的备份在整个网络上保持加密状态,并以仍处于加密状态写入恢复服务器的磁盘。仅在还原完成后将数据库加载到内存中时,才对它们进行解密。


3

...备份操作数据从计算机A传输到计算机B的磁盘时是否已加密?

是的,它进入缓冲池时被解密,离开时被加密。在这种情况下,由于我们要写入磁盘,因此先对其进行加密,然后再进行写入。由于写入是通过网络进行的,因此数据本身已加密,但网络流量的任何其他部分均未加密。

...在还原操作过程中...他们会发现运动中的数据已加密吗?

是的,因为与上述相同,但顺序相反。数据已在磁盘上加密,正在以加密状态读取和传输。然后,它进入实例并加载到缓冲池中,在此过程中未加密该缓冲,这是下一步。


1
我认为这是正确的,但是由于您所说的原因,我不确定它是否正确。我以为BACKUP会将原始数据库EXTENTS(而不是页面)发送到磁盘,因此在将它们加载到内存时绕过了解密步骤。我可能错了,但是现在正在寻找文档。
BradC

1
找到它后,请参阅Paul Randal的神话30-09:“备份子系统打开其自己的数据库文件通道,以避免因必须将所有内容读入SQL Server的内存并返回到备份设备而导致性能下降”。没有特别提到TDE,但是如果备份过程是它自己的通道,那么解密并立即重新加密似乎是浪费。如果已启用,它们甚至可以验证CHECKSUMS和/或在不解密的情况下应用压缩。
BradC

@BradC我并不是说备份本身可以这样工作,而是加密/解密过程如何与静态数据一起工作。如果模棱两可,我将对其进行更改,但是我并不是说这就是在加密/解密发生的时间和地点进行备份的方式。
肖恩·加拉迪

但是,如果备份过程不使用缓冲池,那么您的推理是错误的,即使结论(备份数据包已加密)由于其他原因是正确的。
BradC

@BradC不,原因是它已经被写入磁盘,因此已经被加密了。。。不确定我说备份是解密的,然后通过BP重新加密。我认为说它已经被加密是相当直接的,因此复制到另一个磁盘或从另一个磁盘复制它并不会解密它。。。不确定您如何混淆它。
肖恩·加拉迪
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.