2

使用 SQL Server SSL(连接字符串中的 Encrypted=true)+ TDE 与使用 SQL Server Always Encrypted 有什么区别?

关于 RGPD,一个比另一个更适应吗?

4

1 回答 1

6

Always Encrypted 的存在不仅仅是为了解决确保数据在传输过程中加密的问题。事实上,这甚至不是 Always Encrypted 解决的主要问题。

Always Encrypted 解决的大问题是透明数据加密 (TDE),保护加密数据的密钥和证书本身存储在数据库中。对于考虑将 SQL Server 数据库放在云中的人来说,这可能是一个问题,因为云提供商最终拥有解密数据的秘密。

使用 Always Encrypted,用于加密/解密列数据的列加密密钥 (CEK) 以其加密形式存储在数据库中。但这里有一个问题 -用于加密/解密 CEK 的密钥存储在数据库之外使数据库无法自行解密数据。

数据库所能做的就是

  1. 提供加密的 CEK,
  2. 提供 CMK 的位置,以及
  3. 服务/存储预加密数据。

由客户端从位于任何位置的密钥/证书存储中获取列主密钥 (CMK),然后使用 CMK 解密 CEK,并使用解密的 CEK 加密/解密数据。

这就是概念上的差异。以下是详细介绍它的几页:

请注意,Always Encrypted 在查询数据和其他方面有一些严重的缺点。这篇文章给出了一个很好的限制列表。使用带安全飞地的 Always Encrypted可以减轻其中一些缺点。

于 2018-10-23T01:00:30.283 回答