5

SslStream は、暗号タイプ、キーの長さ、ハッシュ アルゴリズムなどをピア SSL スタックとネゴシエートすることになっています。コードで使用すると、ネゴシエーションが常にデフォルトで RC4 と MD5 になることがわかりました。セキュリティを強化するために 3DES または AES を使用したいと考えています。

Web を見回すと、この問題への参照はわずかしかなく、解決策はありません。ある投稿者は、2 つのスタック間の最小公分母が安全であると同時に、高速である/使用する CPU リソースが少ないという追加の利点があるため、これは実際に理にかなっていると主張しています。これは技術的には正しいかもしれませんが、複雑さとコストの間の私の特定のトレードオフは別の場所にあります (私は長いキーで AES を使用することを好みます)。

誰かが助けることができれば、私はそれを感謝します.

4

5 に答える 5

3

SSLStream は、オペレーティング システムで提供される Schannel を使用します。スイートは、Microsoft Schannel Provider によって選択された既定の順序で一覧表示されます。

Windows ビスタ:

RSA with AES_128 CBC SHA
RSA with AES_256 CBC SHA
RSA with RC4_128 SHA

...

Windows XP:

RSA with RC4 128 MD5
RSA with RC4 128 SHA

RSA with 3DES CBC SHA

....

Microsoft 管理コンソール (Windows Vista) のグループ ポリシー オブジェクト スナップインを使用して、 SSL 暗号スイートの順序グループ​​ ポリシー設定を構成することにより、暗号スイートのリストを変更することもできます。

しかし問題は、Windows XPではSSLStream で使用できる暗号のリストにAES が含まれていないことです。ただし、Windows XP のレジストリ設定を変更することは可能です: 3DES暗号を取得するための HKLM\System\CurrentControlSet\Control\Lsa\FIPSAlgorithmPolicy 1 。

于 2008-10-15T09:56:04.707 に答える
1

レジストリを簡単に変更することで、選択可能なプロトコルを選択できます。たとえば、RC4を選択する機能を削除します。クライアントとサーバーは一般的にサポートされているアルゴリズムを見つけるためにネゴシエートするため、接続の一方の端(サーバーなど)でのみ変更を加える必要があります。

http://msdn.microsoft.com/en-us/library/ms925716.aspx

ジェームスのご多幸をお祈りします

于 2009-11-18T09:44:46.100 に答える
0

Java では、ニーズや好みに応じてさまざまなアルゴリズム/暗号を注文できます。.NETにも同様のAPIがあるかもしれません...

于 2008-09-20T11:03:45.030 に答える
0

両方のリストにある最も安全な一連のアルゴリズムを使用する必要があります。SslStream は SChannel SSPI をラップしていて、それが壊れていれば、Internet Explorer、IIS、および Windows 上の他のすべても壊れてしまうため、そうではないとは信じがたいです。

古いバージョンの SChannel.dll/Secur32.dll を使用している可能性があります。インストールされている OS と Internet Explorer のバージョンは何ですか?

SCHANNEL でプロトコルを無効にすることができます。これが行われていないことを確認していただけますか?

于 2008-09-18T14:10:46.997 に答える
0

XP SP3 と IE7 をすべてのアップデートで使用しています。レジストリは、すべてが有効になっているように構成されているようです。

于 2008-09-18T15:17:03.373 に答える