Is Always Encrypted 方法在移动(插入)Azure 数据库之前加密数据
Is Always Encrypted method Encrypts data's the before moving(inserting into) Azure Database
我只是想知道在传输到 Azure 之前是否有任何方法可以加密数据 SQL。
实际上我开发了一个 Azure Web 应用程序。我需要将数据加密到应用服务器本身的 Azure SQL 数据库中。
我可以找到一些参考来加密 AzureDB 中的数据,例如 Always Encryption , Symmetric Keys
但所有引用都导致在 SQL 服务器中加密数据
(换句话说,数据将作为纯文本从 App Server 传输到 SQL 服务器(通过插入查询),然后加密将在 SQL 服务器中进行)
所以,我想确保我的数据在发送到 Sql 服务器之前应该加密。
这将确保没有 attackers/hackers 无法通过传输破解我的数据
更新
我已经实现了 SSL 安全,它可以保护 UI 和 App Server 之间的传输。但在这里我想保护 App Server 和 Azure SQL Server
之间的传输
看这张图可以清楚地理解:
加密传输中的数据应由 SSL/TLS 处理。
参见:https://docs.microsoft.com/en-us/azure/sql-database/sql-database-security-overview
强调我的:
All connections to Azure SQL Database require encryption (SSL/TLS) at all times while data is "in transit" to and from the database. In your application's connection string, you must specify parameters to encrypt the connection and not to trust the server certificate (this is done for you if you copy your connection string out of the Azure Classic Portal), otherwise the connection will not verify the identity of the server and will be susceptible to "man-in-the-middle" attacks. For the ADO.NET driver, for instance, these connection string parameters are Encrypt=True and TrustServerCertificate=False.
SQL 服务器中的 Always Encrypted 功能是一种客户端加密技术,这意味着它将加密客户端应用程序驱动程序中的数据。这意味着数据将在客户端和 SQL 服务器之间的网络上加密,在 SQL 服务器的内存中加密,在磁盘上加密。如果实施正确,它还可以保护数据免受在 SQL 服务器上获得管理员权限的入侵者的侵害(基本上您必须确保加密密钥未存储在 SQL 服务器上并且入侵者无法获取以任何方式访问加密密钥)。我将解释如何执行此操作以及 Always Encrypted , in some detail. However, since SQL server cannot decrypt the data, there are some limitations on what operations you can perform on encrypted data. You can read more about those limitations here. You can learn more about always encrypted here.
提供的安全保证
我只是想知道在传输到 Azure 之前是否有任何方法可以加密数据 SQL。
实际上我开发了一个 Azure Web 应用程序。我需要将数据加密到应用服务器本身的 Azure SQL 数据库中。
我可以找到一些参考来加密 AzureDB 中的数据,例如 Always Encryption , Symmetric Keys
但所有引用都导致在 SQL 服务器中加密数据 (换句话说,数据将作为纯文本从 App Server 传输到 SQL 服务器(通过插入查询),然后加密将在 SQL 服务器中进行)
所以,我想确保我的数据在发送到 Sql 服务器之前应该加密。
这将确保没有 attackers/hackers 无法通过传输破解我的数据
更新
我已经实现了 SSL 安全,它可以保护 UI 和 App Server 之间的传输。但在这里我想保护 App Server 和 Azure SQL Server
之间的传输看这张图可以清楚地理解:
加密传输中的数据应由 SSL/TLS 处理。
参见:https://docs.microsoft.com/en-us/azure/sql-database/sql-database-security-overview
强调我的:
All connections to Azure SQL Database require encryption (SSL/TLS) at all times while data is "in transit" to and from the database. In your application's connection string, you must specify parameters to encrypt the connection and not to trust the server certificate (this is done for you if you copy your connection string out of the Azure Classic Portal), otherwise the connection will not verify the identity of the server and will be susceptible to "man-in-the-middle" attacks. For the ADO.NET driver, for instance, these connection string parameters are Encrypt=True and TrustServerCertificate=False.
SQL 服务器中的 Always Encrypted 功能是一种客户端加密技术,这意味着它将加密客户端应用程序驱动程序中的数据。这意味着数据将在客户端和 SQL 服务器之间的网络上加密,在 SQL 服务器的内存中加密,在磁盘上加密。如果实施正确,它还可以保护数据免受在 SQL 服务器上获得管理员权限的入侵者的侵害(基本上您必须确保加密密钥未存储在 SQL 服务器上并且入侵者无法获取以任何方式访问加密密钥)。我将解释如何执行此操作以及 Always Encrypted