Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Azure SQL数据库透明数据加密(TDE)和#x2B;总是加密的安全吗?_C#_Sql Server_Azure_Encryption_Always Encrypted - Fatal编程技术网

C# Azure SQL数据库透明数据加密(TDE)和#x2B;总是加密的安全吗?

C# Azure SQL数据库透明数据加密(TDE)和#x2B;总是加密的安全吗?,c#,sql-server,azure,encryption,always-encrypted,C#,Sql Server,Azure,Encryption,Always Encrypted,我很好奇是否有人知道是否可以同时将透明数据加密(TDE)和始终加密的列级加密结合起来而不会引起问题 TDE加密整个数据库,但数据库管理员仍可查看表数据。然而,始终加密通过加密表中存储的值来保护数据不受我们员工的影响。但我们只需要以这种方式保护少数列 我读到在总是加密的列上执行压缩之类的操作是有风险的。所以我想知道使用Always Encrypted将TDE添加到数据库是否可以?我不想冒险破坏数据 谢谢我不明白为什么那样不行。TDE和始终加密基本上是不同的方法: TDE对数据文件进行编码,(IM

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

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

我读到在总是加密的列上执行压缩之类的操作是有风险的。所以我想知道使用Always Encrypted将TDE添加到数据库是否可以?我不想冒险破坏数据


谢谢

我不明白为什么那样不行。TDE和始终加密基本上是不同的方法:

  • TDE对数据文件进行编码,(IMHO)使用它的唯一原因是防止物理文件被盗时数据泄露
  • 始终加密使用公钥和私钥对列中的数据进行加密,所以即使您知道登录/传递到数据库,您仍然需要私钥来解码数据;它用于敏感数据,如信用卡等
当您同时使用这两种方法时,您将在列中对数据进行编码,这些列保存在编码数据文件中

我读到在总是加密的列上执行压缩之类的操作是有风险的

我找不到任何关于那件事的参考资料。你们可能会被压缩加密数据毫无意义的想法所误导

:

加密数据的压缩比同等的未加密数据要小得多。如果使用TDE加密数据库,备份压缩将无法显著压缩备份存储。因此,不建议同时使用TDE和备份压缩

:

加密数据不能被压缩,但压缩数据可以被加密。如果使用压缩,则应在加密数据之前对其进行压缩


谢谢你,我的直觉告诉我这也不应该有问题。关于加密和压缩的风险,我只是指你引用的最后一项——“加密数据不能压缩,但压缩数据可以加密”。但我想,如果加密后根本无法压缩,从技术上讲,这不是一个“风险”。