文件I / O的加密通信

时间:2015-01-21 16:53:00

标签: c# encryption file-io

我们要求在飞行中和静止时加密通过我们的ASP.NET MVC应用程序的所有数据。对于数据库中持久存储的数据,设计很简单:

[Browser]  <== SSL ==>  [Pres-Server]  <== SSL ==>  [App-Server]  <== Oracle NET encryption ==>  [Database]
  • 我们在浏览器和表示层服务器之间使用SSL。
  • 我们在表示层服务器和应用程序服务器之间使用SSL(应用服务器使用WCF服务)。
  • 我们在应用程序服务器和数据库服务器之间使用加密的Oracle连接。
  • 我们正在使用Oracle加密来加密数据库。

我们的应用程序还存储上传的文件。我们计划将这些文件存储在数据库之外(出于性能和其他管理原因)。我希望文件存储在加密文件系统中(可能在SAN中)。我的问题是如何加密应用程序服务器和存储文件的文件系统之间的通信?

[Browser]  <== SSL ==>  [Pres-Server]  <== SSL ==>  [App-Server]  <== ??? ==>  [File System]

认为 Windows中的标准文件i / o已加密。有关如何加密此通信渠道的任何建议?应用层代码是C#。

1 个答案:

答案 0 :(得分:0)

我相信我的问题的解决方案是使用IPsec来保护我们的App服务器和托管文件系统的服务器之间的通信,这些文件系统将存储上传的文件。

[Browser]  <== SSL ==>  [Pres-Server]  <== SSL ==>  [App-Server]  <== IPSec ==>  [File System]

可以在http://en.wikipedia.org/wiki/IPsec找到IPsec概述。

可以在https://technet.microsoft.com/en-us/network/bb531150.aspx找到Microsoft OS特定的IPsec信息。

对于任何偶然发现这种情况的人来说,SMB 3可能是适用于某些环境的可行解决方案。请参阅http://blogs.technet.com/b/filecab/archive/2012/05/03/smb-3-security-enhancements-in-windows-server-2012.aspx

SMB 3的操作系统要求是Windows 8和Windows Server 2012.您可以在http://blogs.technet.com/b/josebda/archive/2013/10/02/windows-server-2012-r2-which-version-of-the-smb-protocol-smb-1-0-smb-2-0-smb-2-1-smb-3-0-or-smb-3-02-you-are-using.aspx找到哪些Windows操作系统版本支持哪些SMB版本。