2

我正在为 Windows Azure 平台开发一个 Web 应用程序。

考虑之一是内容的加密。这里的内容包括 - blob 存储中的文件、表存储中的一些二维数据、SQL Azure 中的应用程序数据。

我想在这里检查是否有任何特定的最佳实践或现有的加密模型可以遵循。

4

3 回答 3

2

您可以为传输加密“免费”做两件基本的事情:

  • Microsoft 通过 http 或 https 提供存储访问。显然应该选择 Https。这将保护 Azure 表和/或 blob 之间的传输层。

  • SQL Azure DB 还支持连接加密(使用 .NET 中的 SQLConnection 对象)。这会加密您的 API/应用程序和 SQL Azure 数据库之间的通信。SQL Azure 数据库包括 IP 过滤,因此您可以锁定对您的开发箱的访问,并且仅限于内部 Azure 数据中心

对于 Azure 中的数据持久性,您必须自己进行内容加密(这可能会发生变化,即使 MS 内部加密了您的数据,您也应该假设它未加密)。

SQL Azure DB 不支持 TDE(传输数据加密),也不支持 SQL 加密的更高级功能。如果你想这样做,你必须在 VM (Azure IaaS) 上运行一个专用的 SQL Server 来自己配置这些功能。理论上,您可以加密 API 层上的所有内容(加密/解密),但这会非常慢,并且您无法利用索引等固有的 SQL DB 功能。

如果可以通过键/值对访问数据,则 Azure 表存储是加密内容的更好选择。您可以自己加密内容,并且更易于管理,因为您只会基于单个键而不是数千行来执行单个“值”或“列集”。Blob 存储也是如此。

于 2013-10-16T00:20:02.233 回答
1

这篇博文解释了如何在 Windows Azure 存储上使用加密,并举例说明了一些公司的做法。 http://blogs.msdn.com/b/windowsazure/archive/2011/04/22/storing-encrypted-data-in-windows-azure.aspx

于 2013-10-17T17:47:55.960 回答
0

我们使用安装在 Web 角色上的域证书加密/解密 Azure 配置设置和其他内容。我在我的博客上发布了一个完整的示例:Securing Azure ServiceConfiguration values for Enterprise Deployment

于 2013-10-16T03:09:44.213 回答