ASP.NET で Web.config ファイルに格納されている接続文字列情報を暗号化するには

http://msdn.microsoft.com/ja-jp/library/dx0f3cf2%28v=vs.80%29.aspx
1. Windowsコマンドラインで、ASP.NET IIS 登録ツール (aspnet_regiis.exe) を実行

path %path%;%systemroot%\Microsoft.NET\Framework\(versionNumber)
aspnet_regiis -pe "connectionStrings" -app "/SampleApplication"

標準出力で、暗号化された接続文字列を含むweb.configが表示される。

2. ASP.NET を実行しているユーザー アカウントまたは ID を特定

<%@ Page Language="VB" %>
<% Response.Write(System.Security.Principal.WindowsIdentity.GetCurrent().Name) %>

3. ASP.NET を実行するユーザー アカウントまたは ID へ、暗号キーへの読み取りアクセス権を渡す
例:NETWORK SERVICE アカウントに、コンピュータ レベルの "NetFrameworkConfigurationKey" RSA キー コンテナへのアクセスを許可する例を次に示します。

aspnet_regiis -pa "NetFrameworkConfigurationKey" "NT AUTHORITY\NETWORK SERVICE"

以上で、web.configファイルに格納された接続文字列の暗号化は終了である

4. 暗号化された Web.config ファイルの内容を復号化する
web.configファイルに格納された接続文字列の復号が行いたい場合、以下の処理を実施する。

aspnet_regiis -pd "connectionStrings" -app "/SampleApplication"

ファイル名をweb.configに変更して、後でapp.configに戻してやるという手順をとれば、App.Config内の接続文字列を暗号化できるらしい。
http://blogonos.wordpress.com/2006/08/17/app-config%E5%86%85%E3%81%AE%E6%8E%A5%E7%B6%9A%E6%96%87%E5%AD%97%E5%88%97%E3%82%92%E6%9A%97%E5%8F%B7%E5%8C%96%E3%81%99%E3%82%8B/

aspnet_regiis -pe "connectionStrings" -f "(web.configのあるフォルダ)"