2017-10-27 18 views
-1

私は既存のC#.NET 4.5アプリケーションを開発中です。それは、NetworkStreamReadWriteコマンドを使用してTcpClientを使用して、メインフレームからデータをダウンロードするコンポーネント(私はどのような種類の詳細がありません)を持っています。もともとコードを書いた開発者が退社し、監査領域ではこれらのメインフレームデータセットのダウンロード方法のセキュリティが疑問視されています。元の開発者の命名規則は、FTPが使用されていることを示していますが、TcpClientNetworkStreamのドキュメントを読むと、実際にデータを転送するためのプロトコルについては言及されていません。NetworkStreamは安全ですか?

私のネットワーク環境は非常に限られていますが、TcpClientはネットワーク接続を提供するだけで、FTPなどのアプリケーションプロトコルは実際にデータを移動するためにTCP接続上で実行する必要があります。

私の質問は、どのプロトコルがNetworkStream.Readを使用していて、それは安全ですか?安全でない場合は、良い選択肢は何ですか?

+1

https://msdn.microsoft.com/en-us/library/system.net.security.sslstream.aspx –

+0

'NetworkStream'はプロトコルを使用しません(意味では意味します)。 \からソケットにデータを読み書きするだけです。また、TcpClientはTCPを使用していますが、これには組み込みのセキュリティはありません。 – Evk

答えて

0

を「確保」の主張でした。 Wiresharkで接続を形成してトラフィックをキャプチャすることで、これを視覚化することができます。

データを保護する必要がある場合は、SslStreamまたはNegotiateStreamを参照して、カスタムクライアント/サーバーアプリケーションのニーズに合っているかどうかを確認してください。

また、アプリケーションによっては、HTTPS経由でデータセットを提供できる場合があります。機密性ではなくデータセットの完全性を保護する必要がある場合は、digital signaturesをデータセットに追加し、受信後にその署名をチェックすることもできます。

0

NetworkStreamには固有のセキュリティはありません...ネットワークパケットビューアで何が読み取っているのかを見ることができます。

警告:あなたはそれを送信する前に、あなたがストリーミングされているデータが暗号化されているならば、あなたは合理的にそれがSystem.Net.Sockets.NetworkStreamは、任意の固有のセキュリティを持っていない、それ自体で...

関連する問題