asp.NetでConfigを暗号化する方法

4545 ワード

 
  


















asp.net2.0に対するwebが追加されました.configのデータの一部を暗号化する機能で、RSP P P r o t e c t e d ConfigurationProviderとDPP P P P r o t e c t e d ConfigurationProviderを使用して暗号化することができます.ここでは、RSP P r o t e c t e d ConfigurationProvidertとコンピュータレベルの鍵コンテナを使用して暗号化する手順について説明します.
1.まず、暗号化するウェブを特定する.configの構成セクションが暗号化できるかどうか
2.RSAキーコンテナの作成
3.web.configで使用する鍵コンテナを識別する
4.web.config暗号化
5.RSAキーコンテナへのアクセス権の付与
Step 1:まず暗号化するウェブを特定する.configの構成セクションが暗号化できるかどうか
ASP.NET 2.0はWebをサポートする.configの一部の構成セクションは暗号化され、次の構成セクションのデータは暗号化できません.
 
  
*
*
*
*
*
*
*
*
*
*

Step 2:RSAキーコンテナの作成
RSAキーコンテナを作成するには、ASPを使用します.NET IIS登録ツール(Aspnet_regiis.exe)およびCpcスイッチ.アプリケーションのWebを識別する鍵コンテナの名前を指定する必要があります.configファイルのconfigProtectedDataセクションで指定したR a s a P r o t e d ConfigurationProviderで使用する鍵コンテナ.新しく作成したRSAキーコンテナをエクスポートできるようにするには、-expオプションを含める必要があります.
たとえば、次のコマンドは、エクスポート可能なコンピュータレベルの鍵コンテナであるABeenKeysというRSA鍵コンテナを作成します.
aspnet_regiis -pc "ABeenKeys"�Cexp
Step 3: Modify web.config to identify the key container
Webを編集する.configファイルは、使用する鍵コンテナを識別します.
Webでconfigに鍵コンテナを追加して、ABeenKeysというコンピュータレベルのRSA鍵コンテナの
にxmlnsプロパティを追加
ABeenKeysというコンピュータクラスのRSAキーコンテナを使用したsaProtectedConfigurationProvider.
 
  


type="System.Configuration.RsaProtectedConfigurationProvider, System.Configuration, Version=2.0.0.0,Culture=neutral, processorArchitecture=MSIL"
keyContainerName="ABeenKeys"/>



Step 4: Encrypt the section of your web.config file
あなたのwebを暗号化します.configファイルの構成セクション
> aspnet_regiis -pe "connectionStrings"-app "/connectionTest" 
Step 5:RSAキーコンテナへのアクセス権の付与
次のコードで、どのユーザー権限を与えるべきかを決定できます.
Response.Write(System.Security.Principal.WindowsIdentity.GetCurrent().Name);
デフォルトでは、RSAキーコンテナは、サーバ上のNTFSアクセス制御リスト(ACL)によって厳密に保護されています.これにより、暗号化鍵にアクセスできるユーザを制限し、暗号化情報のセキュリティを向上させることができる.まずASP.にNETアプリケーションのプロセスIDは、RSAキーコンテナに対する読み取りアクセス権を付与し、ASP.RSAキーコンテナを使用するには、NETを使用します.Aspnet_を使用できますregiis.exeツールおよび-paスイッチ、ASP.NETアプリケーションのIDは、RSAキーコンテナの読み取り権限を付与します.たとえば、次のコマンドは、Windows Server 2003 NETWORK SERVICEアカウントに、ABeenKeysというコンピュータレベルのRSAキーコンテナへの読み取りアクセス権を付与します.
aspnet_regiis -pa "ABeenKeys""NT AUTHORITY\NETWORK SERVICE"
注意:
RSAキーコンテナがユーザレベルコンテナである場合、そのWindowsプロファイルにキーが格納されているユーザとしてログインする必要があり、ユーザレベルのRSAキーコンテナへのアクセス権を付与するために-pkuオプションを含める必要があります.
コンピュータ構成で指定したデフォルトのR s a P r o t e c t e d ConfigurationProviderを使用するには、まず、デフォルトのプロバイダに指定された鍵コンテナであるNetFrameworkConfigurationKeyという名前のコンピュータ鍵コンテナへのアクセス権をアプリケーションのWindows IDに付与する必要があります.たとえば、次のコマンドは、デフォルトのR s a P o t e c t e d ConfigurationProviderで使用されるRSAキーコンテナへのアクセス権をNETWORK SERVICEアカウントに付与します.
aspnet_regiis -pa "NetFrameworkConfigurationKey""NT AUTHORITY\NETWORK SERVICE"
NetFrameworkConfiguration Key RSAキーコンテナはAspnet_regiis.exeツールが発行するコマンドのデフォルト鍵コンテナ.従って、上記コマンドは、以下のように発行することもできる.
aspnet_regiis -pa "NT AUTHORITY\NETWORK SERVICE"