始终在 Azure SQL 中加密(客户端加密)

Always Encryption in Azure SQL ( Client Side Encryption)

我已经在我的项目中实施了 Always Encryption 方法,在知道它加密客户端代码中的数据并且从不向数据库引擎泄露数据之后。

我已经完成 here and here 并且清楚地知道 Encryption/Decryption 是在客户端级别(驱动程序)中完成的。

此外,我也已经在此站点上发布了一个 并且得到了相同的答案。

不过,我需要向我的官员证明,在数据库调用和客户端代码之间,数据将 encrypted.They 忽略文档。

我应该如何向他们证明在客户端和 SQL 服务器之间的网络中数据是加密的而不是解密的?

我尝试使用进程监视器。但它似乎不起作用,它列出了 Visual Studio 执行(主要是 DLL 调用)

背后的所有进程


我可以用Fiddler来监控吗?

您可以使用 SQL 可以通过 SSMS 访问的探查器。
您可以在 SSMS 菜单中找到它,如工具 -> Sql 服务器分析器。
通过一些 google 搜索,您可以找到有关如何使用它的资源。

我会创建两个具有相同架构的 table。使用 Always Encrypted 加密其中一个 table 的几列。
运行 select,为每个 table 插入和指向查找查询。您将看到对于具有 Always Encrypted 列的 table,您将看到针对加密列发送到 SQL 服务器的加密值,而对于明文 table,发送到服务器的所有值都将是纯文本格式。

SQL-Profiler 是一种很好的方式来证明数据在 Network.I 尝试过 Fiddler 以及 SQL Profile 的过程中是加密的。两者都证明我的数据是通过客户端和 SQL 服务器之间的通道加密的。我想在此显示图像。 (可能对其他人有帮助)

Fiddler(客户端网络流量)

SQL-Profiler(数据从客户端到 SQL 服务器加密)