c# - Azure SQL 数据库透明数据加密 (TDE) + 始终加密安全吗?

标签 c# sql-server azure encryption always-encrypted

我很好奇是否有人知道是否可以同时结合透明数据加密(TDE)和 Always Encrypted 列级加密而不会引起问题?

TDE 对整个数据库进行加密,但数据库管理员仍然可以查看表数据。而始终加密通过加密表中存储的值来保护我们员工的数据。但我们只需要通过这种方式保护少数列即可。

我了解到在 Always Encrypted 列上执行压缩等操作是有风险的。所以我想知道使用 Always Encrypted 将 TDE 添加到数据库是否可以?我不想冒损坏数据的风险。

谢谢

最佳答案

我不明白为什么这不起作用。 TDE 和 Always Encrypted 基本上是不同的方法:

  • TDE 对数据文件进行编码,(恕我直言)使用它的唯一原因是防止物理文件被盗时数据泄露
  • 始终加密使用公钥-私钥对列中的数据进行加密,因此即使您知道登录/传递数据库 - 您仍然需要私钥来解码数据;它用于信用卡等敏感数据

当您同时使用两者时 - 您已经在列中编码了数据,这些数据保存在编码数据文件中。

I read that it is risky to perform actions such as compression on an Always Encrypted column

我找不到任何相关的引用资料。您可能会误认为压缩加密数据没有意义

Microsoft about TDE backup compression :

Encrypted data compresses significantly less than equivalent unencrypted data. If TDE is used to encrypt a database, backup compression will not be able to significantly compress the backup storage. Therefore, using TDE and backup compression together is not recommended.

Microsoft about Always Encrypted compression :

Encrypted data cannot be compressed, but compressed data can be encrypted. If you use compression, you should compress data before encrypting it

关于c# - Azure SQL 数据库透明数据加密 (TDE) + 始终加密安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35527495/

相关文章:

azure - 如何在Azure DevOps中使用docker构建任务

C# 在 AD 中链接组策略

c# - NHibernate 对象中对象的刷新()

sql-server - 创建身份列需要多长时间?

sql - 使用 SQL 将行转换为列

powershell - Get-AzureRmAutomationCredential 与 Add-AzureAccount -Credential 之间的对象不兼容

c# - 如何检测类型是否为另一种通用类型

c# - EWS 在删除所需的与会者时向所有人发送邀请

java:获取 sqlexception 消息 "incorrrect syntax near ' {' "

powershell - 通过 powershell 在 Azure VM 连接中无法建立 SSL 连接错误