2012-04-07 2 views
0

私は現在、クライアントサーバータイプのチャットルームで作業しています。私は問題に直ちに行きます:私はSecureStringを介してユーザーのパスワードを扱っていると私は問題をSystem.Net.Sockets経由で私のサーバーアプリケーションに送信している。私は「マーシャル」クラスでSecureStringを処理することでいくらか成功しましたが、それを1つのクライアントからサーバーに送信することは、その処理方法に基づいてほとんど不可能に思えます。私は平文で「公開」せずにSecureStringを電線で送信することさえできるかどうか探していて、数日間インターネットで検索してきました。SecureStringをリモートサーバーに送信する - これは可能ですか?

本質的に、SecureStringから何らかのタイプの情報を取得する方法があり、それをバイト[]に変換でき、その中でパスワードを取得するのに十分理解できるかどうかは疑問だ。

答えて

0

クライアント側にキーがある場合はいつでも、ユーザー自身がこのキーを取得する可能性があります。次に、別のユーザーのトラフィックを傍受できる場合は、このキーを使用してサーバーに送信しているものを復号化できるため、問題が発生します。

したがって、クライアントごとに個別のキーを作成できます。しかし、今ではサーバー上の復号化キーを調べる際に煩わしいオーバーヘッドがあります。

なぜhttpsを使用しないのですか?

+0

迅速な対応をありがとう!私は実際にhttpsを検討してきました - ちょうどかなりそれに精通していません。暗号化が完全に間違っていることを理解していない限り、鍵がどのように(アルゴリズム的に)使用されているか把握しなければならないでしょう。単にプレーンテキストのパスワードでスヌーピングするよりもはるかに厳しい作業です。しかし、私は確かにhttpsを見ていきます - 私の教授はSecureStringを調べることを提案しました。 httpsは実装が簡単ですか? –

+0

一般的には非常に簡単です。そうです。Webアプリケーションのように聞こえるでしょう。その場合は、サーバー(IIS?)に安全な証明書をインストールし、https://何でもあなたのアプリケーションにアクセスできるように設定します.comの代わりに.comを使用してください。あなたのお手伝いをするGoogle検索は次のとおりです:http://www.google.com/search?client=safari&rls=en&q=install+secure+certificate+iis&ie=UTF-8&oe=UTF-8つまり、これが宿題であれば、HTTPSの使用が簡単に回避できる問題を自分で解決することが特に必要な場合は、それを使用できない可能性があります。 –

+0

httpを介してWebサービスと通信しているWPFアプリケーションです。私はすでにグーグルグーグルで、問題についてあなたの意見を聞いていただけです。これは大学卒業の最終プロジェクトです。私はすでにそれを完了しました - ちょうどセキュリティのような余分な "機能"を追加しようとしています。私は教授の助言にすべてのことを尋ねていました。彼は一方的にも気にもしません。ご協力ありがとうございました!とても有難い。 –

関連する問題