0

我只是想在传输到 Azure SQL 之前有什么方法可以加密数据。

实际上我已经开发了一个 Azure Web App。我需要将数据加密到应用服务器本身的 Azure SQL DB 中。

我可以找到一些参考来加密 AzureDB 中的数据,例如Always EncryptionSymmetric Keys

但是所有引用都导致在 SQL Server 中加密数据(换句话说,数据将以纯文本形式从 App Server 传输到 SQL Server(通过插入查询),然后加密将在 SQL 中进行服务器)

所以,我想确保我的数据在发送到 Sql Server 之前应该被加密。

这将确保没有攻击者/黑客无法通过传输来破解我的数据

更新

我已经实现了 SSL 安全性,它可以保护 UI 和 App Server 之间的传输。但在这里我想保护 App Server 和 Azure SQL Server 之间的传输

查看此图以获得清晰的理解:

在此处输入图像描述

4

2 回答 2

2

SQL Server 中的 Always Encrypted 功能是一种客户端加密技术,这意味着它将加密客户端应用程序驱动程序中的数据。这意味着数据将在客户端和 SQL Server 之间的网络上加密,在 SQL Server 的内存中加密,在磁盘上加密。如果实施正确,它还可以保护数据免受在 SQL Server 上获得管理员权限的入侵者的侵害(基本上,您必须确保加密密钥未存储在 SQL Server 上,并且入侵者无法以任何方式访问加密密钥)。我在这里解释了如何做到这一点以及 Always Encrypted 提供的安全保证,详细一点。但是,由于 SQL Server 无法解密数据,因此您可以对加密数据执行的操作存在一些限制。您可以在此处阅读有关这些限制的更多信息。您可以在此处了解有关始终加密的更多信息。

于 2017-07-11T20:37:46.367 回答
1

加密传输中的数据应由 SSL/TLS 处理。

请参阅:https ://docs.microsoft.com/en-us/azure/sql-database/sql-database-security-overview

强调我的:

在数据“传输”进出数据库时,所有与 Azure SQL 数据库的连接都需要加密 (SSL/TLS)。在您的应用程序的连接字符串中,您必须指定参数来加密连接并且不信任服务器证书(如果您将连接字符串复制到 Azure 经典门户之外,这将为您完成),否则连接将不会验证身份服务器,并且容易受到“中间人”攻击。例如,对于 ADO.NET 驱动程序,这些连接字符串参数是 Encrypt=True 和 TrustServerCertificate=False。

于 2017-07-11T17:31:39.990 回答