文件的加密通信 I/O

Encrypted Communication for File I/O

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

[Browser]  <== SSL ==>  [Pres-Server]  <== SSL ==>  [App-Server]  <== Oracle NET encryption ==>  [Database]

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

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

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

我认为,我的问题的解决方案是使用 IPsec 来保护我们的应用程序服务器与托管将存储上传文件的文件系统的服务器之间的通信。

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

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

Microsoft OS 具体的 IPsec 信息可以在 https://technet.microsoft.com/en-us/network/bb531150.aspx.

找到

作为任何偶然发现此问题的人的旁注,SMB 3 可能是某些环境的可行解决方案。参见 http://blogs.technet.com/b/filecab/archive/2012/05/03/smb-3-security-enhancements-in-windows-server-2012.aspx

SMB 3 的 OS 要求是 Windows 8 和 Windows Server 2012。您可以找到 Windows OS 版本支持的列表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.

的 SMB 版本