我正在研究现有的C#.NET 4.5应用程序。它有一个使用btoa
TcpClient
NetworkStream
和Read
命令从大型机下载数据的组件(我没有详细说明)。最初编写代码的开发人员离开了公司,审计区域现在质疑这些大型机数据集的下载安全性。原始开发人员的命名约定似乎表明正在使用FTP,但是阅读Write
和TcpClient
上的文档,没有提到用于实际传输数据的协议。
我的网络体验非常有限,但我的理解是NetworkStream
只提供网络连接,然后某种应用程序协议(如FTP)需要在TCP连接上运行才能实际移动数据
所以我的问题是,TcpClient
使用什么协议并且它是否安全?如果它不安全,那么什么是好的选择呢?
答案 0 :(得分:0)
NetworkStream没有固有的安全性......您可以通过任何网络数据包查看器查看它正在读取的内容。
警告:如果您发送的数据在发送之前已经过加密,那么您可以合理地声称它已经安全" ...
答案 1 :(得分:0)
本身System.Net.Sockets.NetworkStream
没有任何固有的安全性。您可以通过形成连接并使用Wireshark捕获流量来显示此信息。
如果您需要保护数据安全,请查看SslStream
或NegotiateStream
,看看它们是否符合您对自定义客户端/服务器应用程序的需求。
或者,根据您的应用程序,您可以通过HTTPS提供数据集。如果您只需要保护数据集的完整性而不是机密性,您还可以将digital signatures添加到数据集中,并在收到这些签名后检查这些签名。