概要

マイクロソフト セキュリティ情報 MS10-070 に記載されているセキュリティ更新プログラムを適用すると、暗号化以外にも検証 (署名) を実行するように、ASP.NET で既定の暗号化メカニズムに変更が加えられます。この資料では、ASP.NET で暗号化を元の動作に戻す構成オプションについて説明します。このセキュリティ更新プログラムの詳細については、以下の Web サイトを参照してください。

http://www.microsoft.com/japan/technet/security/bulletin/ms10-070.mspx

詳細

ASP.NET では、ユーザーは、MachineKey セクションにある構成を介して、オプションでデータを暗号化または検証することができます。セキュリティ更新プログラム MS10-070 で対処されるセキュリティ更新により、暗号化のみが要求されている場合であっても暗号化に加えて検証を実行するように、ASP.NET の暗号化の既定の動作が変更されます。セキュリティ情報 MS10-070 に記載されているセキュリティ更新プログラムをインストールした後、ASP.NET に対して暗号化が設定されている場合、以下の操作が実行されます。

  • データの暗号化時に、暗号化されたデータに対して HMAC 署名が生成され、データに適用される。

  • データの復号化時に、データが復号化される前に HMAC 署名が検証される。

ASP.NET アプリケーションの設定 (appSettings) にある以下のキーが、暗号化に加えて署名の動作を制御します。

キー

種類

既定値

キーをサポートする .NET のバージョン

aspnet:UseLegacyEncryption

ブール値

False

Microsoft .NET Framework 2.0 Service Pack 1Microsoft .NET Framework 2.0 Service Pack 2Microsoft .NET Framework 3.5Microsoft .NET Framework 3.5 Service Pack 1Microsoft .NET Framework 4.0

aspnet:UseLegacyMachineKeyEncryption

ブール値

False

Microsoft .NET Framework 4.0

aspnet:ScriptResourceAllowNonJsFiles

ブール値

False

Microsoft .NET Framework 3.5 Service Pack 1Microsoft .NET Framework 4.0

aspnet:UseLegacyEncryption appSetting について

ASP.NET 構成の machineKey セクションの検証セクションが、HMAC 署名を検証するようには構成されていない場合であっても、このアプリケーション設定は、暗号化で HMAC キーを使用して追加で検証を実行するかどうかを指定します。

aspnet:UseLegacyEncryption

説明

False (既定値)

この設定は、ASP.NET が暗号化を使用するように構成されている場合、ASP.NET で追加で HMAC 署名を検証するように構成します。machineKey の検証が HMAC キーを使用して署名するようには構成されていない場合であっても、このような動作になります。

True

この設定は、暗号化を使用するが、machineKey の検証を介して HMAC 署名を使用しないように ASP.NET が構成されている場合、ASP.NET で HMAC 署名を検証しないように構成します。注: この設定では、悪意のあるクライアントが、暗号化されたデータを復号化、偽造、またはその他の方法で改ざんできる可能性があります。

この設定を構成するには、コンピューターまたはアプリケーションの web.config ファイルで、以下の構成を追加します。

<configuration> ... <appSettings> ... <add key="aspnet:UseLegacyEncryption" value="false" /> </appSettings> </configuration> 

aspnet:UseLegacyMachineKeyEncryption appSetting について

このアプリケーション設定は、指定されている MachineKeyProtection 引数で検証の実行を指定していない場合であっても、System.Web.Security.MachineKey クラスを介した暗号化で HMAC キーを使用して追加で検証を実行するかどうかを指定します。

aspnet:UseLegacyMachineKeyEncryption

説明

False (既定値)

この設定は、ASP.NET が暗号化を使用するように構成されている場合、ASP.NET で MachineKey クラスを介して追加で HMAC 署名を検証するように構成します。指定されている MachineKeyProtection 引数で検証の実行が指定されていない場合であっても、このような動作が行われます。

True

この設定は、ASP.NET で暗号化を使用するが、指定されている MachineKeyProtection 引数を介した HMAC 署名を使用しないように構成されている場合、ASP.NET で MachineKey クラスを介して HMAC 署名を検証しないように構成します。注: この設定では、悪意のあるクライアントが、暗号化されたデータを復号化、偽造、またはその他の方法で改ざんできる可能性があります。

この設定を構成するには、コンピューターまたはアプリケーションの web.config ファイルで、以下の構成を追加します。

<configuration> ... <appSettings> ... <add key="aspnet:UseLegacyMachineKeyEncryption" value="false" /> </appSettings> </configuration> 

aspnet:ScriptResourceAllowNonJsFiles appSetting について

このアプリケーション設定は、ASP.NET の ScriptResource.axd ハンドラーが、JavaScript (.js 拡張子) ではないファイルにサービスを提供するかどうかを指定します。ScriptResource.axd は ASP.NET のハンドラーで、ASP.NET の Web ページの AJAX コンポーネントに JavaScript ソース ファイルを返します。

aspnet:ScriptResourceAllowNonJsFiles

説明

False (既定値)

この設定は、ScriptResource.axd ハンドラーを介して、拡張子が .js (JavaScript) である静的ファイルのみにサービスを提供するよう ASP.NET を構成します。

True

この設定は、ScriptResource.axd ハンドラーを介して、ASP.NET アプリケーションがアクセスできるすべての静的ファイルにサービスを提供するよう ASP.NET を構成します。注: この設定を使用すると、ハンドラーを介して、ASP.NET アプリケーション内のすべてのファイルにサービスを提供することができます。このようなファイルに機密データが含まれている場合、この設定を使用すると、クライアントに機密情報が漏えいする可能性があります。

この設定を構成するには、コンピューターまたはアプリケーションの web.config ファイルで、以下の構成を追加します。

<configuration> ... <appSettings> ... <add key="aspnet:ScriptResourceAllowNonJsFiles" value="false" /> </appSettings> </configuration> 

関連情報

MachineKey セクションの詳細については、次のマイクロソフト Web サイトを参照してください。

http://msdn.microsoft.com/ja-jp/library/w8h3skw9.aspxSystem.Web.Security.MachineKey クラスの詳細については、以下のマイクロソフト Web サイトを参照してください。

http://msdn.microsoft.com/ja-jp/library/system.web.security.machinekey.aspxアプリケーション設定 (appSettings) の使用方法の関連情報を参照するには、以下のサポート技術情報番号をクリックしてください。

815786 Visual C# を使用して、アプリケーション構成ファイル内のカスタム情報を保存および取得する方法313405 Visual Basic .NET または Visual Basic 2005 を使用して、アプリケーション構成ファイル内のカスタム情報を保存および取得する方法ASP.NET の構成の関連情報を参照するには、以下のサポート技術情報番号をクリックしてください。

307626 INFO:ASP.NET の構成の概要

ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。

コミュニティは、質問をしたり質問の答えを得たり、フィードバックを提供したり、豊富な知識を持つ専門家の意見を聞いたりするのに役立ちます。