如果数据库完全加密,查询如何工作?

时间:2018-12-06 02:12:12

标签: sql-server database encryption

我们使用SQL Server,不久将升级到SQL Server的最新版本,我相信它是SQL Server2017。我希望能够将我们的某些数据库移至云中,至少用于开发。我们公司已经制定了许多安全协议,并且公司中的一些(重要)人员对PII信息或企业信息在云中感到不舒服。不是我责怪他们。我已经读过SQL Server数据库可以加密,并且已经阅读了一些文档。这可能是我能够将一些数据存储到云中的解决方案。

我无法理解如何对一个加密的数据库写一个查询,而没有将该数据库至少暂时解密。查询或视图中引用的字段是否将转换为加密值以运行查询?或者,还有其他处理方式。我看到了有关TDS开销的一些统计信息,虽然它不是很漂亮,但是可能是可行的。谁能用不太普通的话解释这种加密的处理方式?

2 个答案:

答案 0 :(得分:0)

在对加密数据进行搜索时,必须使用与加密数据相同的算法对搜索查询进行加密。这样就消除了进行LIKE搜索以及使您能够以纯文本形式显示数据的可能性。

答案 1 :(得分:0)

  

我无法理解如何对加密数据库进行查询

如果加密数据库或数据,则有所不同。

通常数据库本身可以加密数据库(例如MSSQL),或者托管基础结构可以加密数据存储。在这种情况下-数据本身以加密方式存储,但是加密对经过身份验证的客户端是透明的(经过身份验证的客户端将像以前一样查询数据,没有任何更改)。密钥由基础架构或数据库管理。

另一种选择是存储已由客户端加密的数据,例如通过客户端应用程序仅加密PII。

存储所有已加密的数据将使数据不可搜索,或者您将需要使用确定性(通常是非安全)加密。这就是先前的答案所建议的。为此,甚至还有一个不错的工具CryptDB,它可以对数据库查询进行加密。