2011-12-07 16 views
1

は私がRSAProtectedConfigurationProviderまたはMy Own Providerを使用する必要がありますか?

Aspnet_regiis.exeに-pef「のconnectionStringsキーローカルマシンを使用して、私のweb.configファイルの接続文字列を暗号化する次のコマンドを使用して理解して何から、両方のファーム内のサイトや単一のサーバー上のweb.configのセクションを暗号化するには":私は-pc演算子を使用して独自のキーを作成し、このようなものを使用することができますしかし、 "C \ Webサイト\の名前がMyWebSite"

:私は何

<configProtectedData> 
    <providers> 
    <add name="MyProvider" 
      type="System.Configuration.RsaProtectedConfigurationProvider, System.Configuration, Version=2.0.0.0, 
       Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, 
       processorArchitecture=MSIL" 
      keyContainerName="MyKeys" 
      useMachineContainer="true" /> 
    </providers> 

違いは何ですか? RSAProtectedConfigurationProviderは、マシンキーを使用していて変更することができないほど安全ではありませんか?私は自分の鍵を使ってそれらを変更することができますか?ファームとシングルサーバーの両方に推奨されるソリューションはどれですか?あるいは、コードを変更したり書いたりせずにこれらのセクションを暗号化するより良い方法がありますか?

答えて

1

単一サーバーの場合、ASP.NETによってインストールされたキーコンテナを再利用できますが、それがNetFrameworkConfigurationKeyと誤認されていない場合は、ASP.NETサイトを実行しているアカウントに適切なアクセス許可を与える必要がありますキーコンテナに移動します。

Webファームの場合、マシンにカスタムキーコンテナを作成し、それをWebファーム内の他のすべてのマシンにエクスポートする方がよいでしょう。この方法で、同じ暗号化された設定ファイルを再利用して、各Webファームマシンで実行されます。 ただし、これは必須ではありません。暗号化されていない設定ファイルを展開し、各マシンのASP.NETデフォルトキーコンテナを使用して各マシンで暗号化することができます。

また、質問のタイトルは少し誤解を招きます。暗号化に関しては、常に十分に確立されたライブラリを使用し、独自のカスタム暗号化ロジックを使用しないでください。間違ったやり方は簡単ではありません。

カスタムキーコンテナを使用するか、またはASP.NETによってインストールされたものをRsaProtectedConfigurationProviderで再利用するという点では、提供されるセキュリティレベルの点で違いはありません。

+0

Webファームではこれを実行する必要がありますか。ファームに対して再利用できますか?このセキュリティの問題はどのようなものでしょうか? – User101

+0

@ User101、私は、Webファーム全体に同じキーを持つカスタムコンテナを展開することは必須ではないということを強調して答えを更新しました。ちょっとメンテナンスが簡単です。 –

+0

ありがとう - 私は独自のカスタムロジックを使用していません。そのNetFrameworkConfigurationKeyを使用するか、独自のキーを作成/エクスポート/インポートすることになります。違いがなければ、使いやすさのためにデフォルトのものに解決します! – User101

関連する問題