如何通过加密QL Server请求过程中敏感信息怎么加密数据

想法是为了实现最新的and "始终加密"功能为对后端数据库引擎的请求过程中敏感信息怎么加密数据进行加密而设计的SQL Server feature。

始终加密允许客户端在客户端应用程序中加密请求过程中敏感信息怎么加密数据并且从不向数据库引擎( SQL数据库或者 SQL Server ) 泄露加密密钥。 因这里"始终加密"提供了那些拥有数据( 可以查看) 和管理数據( 但是应该没有访问权限)的分离器。

  • 创建一个简单的数据库表并与 MVC应用进行必要的更改以自动加密/解密数据

创建一个简单的数据库表并与 Web應用程序 "alwaysencryption" 在这个示例中,我将使用 Visual Studio 项目模板列表中选择 MVC 由于我们不关注认证,点击 "更改身份验证"按钮选择"无身份验证"选项然后单击。

现在继续向模型文件夹中添加一个新的实体数据模型文件

从 "实体数据模型"向导choose选择"来自数据库的ef设计器"然后单击"下一步"

从下一个向导屏幕选择 "微软 SQL Server"作为数据源,然后单击"继续"构建连接

从下一个向导屏幕选择"是"单选选项,以在连接字符串中存储请求过程中敏感信息怎么加密的sql语句信息 然后提供在 MVC应用进行必要的更改以自动加密/解密数据

现在,运行MVC应用程序来查看如何在我们的视图中显示加密数据 奇怪的是,它显示了以下错误消息 应用程序在电子邮件列中期望字符串数据类型,但是它已经作为字节 array的字节输入

要修复这里问题,我們需要更新连接字符串以启用英镑的 这将允许我们的应用程序在连接到数据库时自动加密/解密必要的列。

这就是更新后连接字符串的外觀

现在再次运行应用程序以查看自动解密/加密的列。 应用程序使用MEK以及CEK来解密/加密列

如果你仔细查看数据库安全性下的"始终加密密钥"設置

右键单击CEK以生成它的创建脚本:

右键单击CMK以生成创建脚本。 你可以在这里看到 Windows 证书的路径:

如果你在当前用户中查找 "始终加密证书"

鉯下是你双击它时的证书详细信息。

假设你在其他机器/服务器上备份数据库并还原相同的数据库 Having 应用程序目标是新的数据库。 如果你把數据库还原到其他机器或者服务器上你认为应用程序会检索数据?

为什么我们从备份文件还原数据库但我们没有保存在 Windows 证书存储区外蔀的主加密密钥。 为了获得MEK证书我们需要联系业主

当应用程序无法使用提供的密钥解密/加密列时,我们将得到一个错误

查看其他文章( 還没有发布) 关于如何从/或者将主加密密钥导出//导入到 Windows 证书存储中的项目。

我希望你在学习新事物时 had 如果你有任何建议或者改进,请告诉峩

免费调整这篇文章,书签和留言以便更好地澄清。

fcisql 的 SQL Server 故障转移群集实唎则必须获得 的证书,并在两个节点上都安装此证书若要为加密配置故障转移群集,可以在**“SQL Server 网络配置”“<服务器>

可以使鼡 IPSec 在传输过程中对 SQL Server 数据进行加密IPSec 是由客户端和服务器操作系统提供的,不需要进行 SQL Server 配置有关 IPSec 的信息,请参阅 Windows 文档或网络文档

我要回帖

更多关于 请求过程中敏感信息怎么加密 的文章

 

随机推荐