2

サーバー/クライアントアプリケーションを作成しました。どちらもC#で記述されています。カスタムSSL実装でTCP/IP通信を使用します。現在、ログイン手順では、ログインするためにユーザー名とパスワードのペアが必要です。

ユーザー名/パスワードの必要性を排除するために、シングルサインオンを実装するように求められました。

したがって、クライアントが起動すると、現在ログインしているユーザーのSIDが判別され、サーバーに送信されます。サーバーは、この接続をSIDによってユーザーにマップします。

このソリューションはうまく機能しますが、安全なソリューションではないと思います。

クライアントには強い名前があり、もちろん難読化されています。

私はこのログインをハッキングする方法を考え始めました。ハッカーの観点からは非常に簡単だと思います。-ネットワーク上のユーザーのSIDを見つけることは問題ではありません-厳密な名前を削除して適切なコードを変更する現在のSIDの代わりにハードコードされたSIDを使用することは簡単に実装できます

それで、あなたはどう思いますか?より良い解決策を教えていただけますか?セキュリティを向上させる方法を教えてください。

または、Outlookがユーザー認証を処理する方法を教えてください。(Outlookをだますのはそれほど簡単ではないと思います/願っています)

ありがとうございました!

4

1 に答える 1

2

Windows認証で認証するには、を使用できますNegotiateStream

MSDNは、認証を実行するために使用できる適切な例を提供しています。

http://msdn.microsoft.com/en-us/library/system.net.security.negotiatestream(v=vs.85).aspx

于 2011-11-15T17:54:53.920 に答える