Аннотация
Обновление для системы безопасности, описанное в бюллетене по безопасности Майкрософт MS10-070, вносит изменения в механизм шифрования по умолчанию в ASP.NET, что позволяет выполнять подтверждение подлинности (подписывание) в дополнение к шифрованию. В этой статье описываются параметры конфигурации, позволяющие вернуться к традиционному шифрованию в ASP.NET.
Дополнительные сведения об этом обновлении для системы безопасности см. на веб-сайте Майкрософт по адресу
http://www.microsoft.com/rus/technet/security/bulletin/ms10-070.mspx
Дополнительная информация
ASP.NET позволяет дополнительно шифровать или подтверждать подлинность данных с использованием конфигурации в разделе MachineKey. Обновление для системы безопасности, описанное в бюллетене MS10-070, изменяет поведение шифрования в ASP.NET по умолчанию, позволяя выполнять подтверждение подлинности (подписывание) в дополнение к шифрованию, даже если было запрошено только шифрование.
После установки обновления для системы безопасности, описанного в бюллетене по безопасности MS10-070, при настройке шифрования для ASP.NET выполняются перечисленные ниже действия.
-
Во время шифрования данных для них создается сигнатура HMAC, которая прикрепляется к данным.
-
Перед выполнением расшифровки проверяется подлинности сигнатуры HMAC.
Перечисленные ниже параметры приложения (appSettings) ASP.NET управляют применением подписывания в дополнение к шифрованию.
Параметр |
Тип |
Значение по умолчанию |
Поддерживаемые версии .NET |
---|---|---|---|
aspnet:UseLegacyEncryption |
Логический |
Ложь |
Microsoft .NET Framework 2.0 с пакетом обновления 1 (SP1) |
aspnet:UseLegacyMachineKeyEncryption |
Логический |
Ложь |
Microsoft .NET Framework 4.0 |
aspnet:ScriptResourceAllowNonJsFiles |
Логический |
Ложь |
Microsoft .NET Framework 3.5 с пакетом обновления 1 (SP1) |
Описание параметра aspnet:UseLegacyEncryption
Этот параметр определяет, будет ли выполняться дополнительная проверка подлинности с ключом HMAC даже в тех случаях, когда подраздел подтверждения подлинности раздела machineKey конфигурации ASP.NET не настроен на проверку сигнатуры HMAC.
aspnet:UseLegacyEncryption |
Описание |
---|---|
Ложь (по умолчанию) |
Этот параметр определяет дополнительное выполнение проверки подлинности сигнатуры HMAC при настройке ASP.NET на использование шифрования. Проверка выполняется, даже если раздел machineKey не указывает на подписывание с использованием ключа HMAC. |
Истина |
Параметр указывает ASP.NET не выполнять проверку подлинности сигнатуры HMAC в тех случаях, когда раздел machineKey настроен на использование шифрования, но не подписывания HMAC. |
Для настройки этого параметра следует добавить следующую конфигурацию в файл web.config:
<configuration> ... <appSettings> ... <add key="aspnet:UseLegacyEncryption" value="false" /> </appSettings> </configuration>
Описание параметра aspnet:UseLegacyMachineKeyEncryption
Этот параметр определяет, будет ли выполняться дополнительная проверка подлинности с помощью класса System.Web.Security.MachineKey ключа HMAC даже в тех случаях, когда представленный аргумент MachineKeyProtection не указывает на выполнение проверки подлинности.
aspnet:UseLegacyMachineKeyEncryption |
Описание |
---|---|
Ложь (по умолчанию) |
Этот параметр определяет дополнительное выполнение проверки подлинности сигнатуры HMAC с помощью класса MachineKey при настройке ASP.NET на использование шифрования. Она производится даже если представленный аргумент MachineKeyProtection не указывает на выполнение проверки подлинности. |
Истина |
Этот параметр приводит к отказу от выполнения проверки подлинности сигнатуры HMAC с помощью класса MachineKey в тех случаях, когда ASP.NET настроена на использование шифрования без применения подписи HMAC через представленный аргумент MachineKeyProtection. |
Для настройки этого параметра следует добавить следующую конфигурацию в файл web.config:
<configuration> ... <appSettings> ... <add key="aspnet:UseLegacyMachineKeyEncryption" value="false" /> </appSettings> </configuration>
Описание параметра aspnet:ScriptResourceAllowNonJsFiles
Этот параметр определяет, будет ли обработчик ScriptResource.axd в ASP.NET обслуживать файлы, не являющиеся файлами JavaScript (расширение JS). ScriptResource.axd — это обработчик ASP.NET, который возвращает исходные файлы JavaScript компонентам AJAX на веб-страницах ASP.NET.
aspnet:ScriptResourceAllowNonJsFiles |
Описание |
---|---|
Ложь (по умолчанию) |
Этот параметр настраивает ASP.NET на обслуживание с помощью обработчика ScriptResource.axd только статических файлов с расширением JS (JavaScript). |
Истина |
Этот параметр настраивает ASP.NET на обслуживание любых статических файлов, к которым приложение ASP.NET имеет доступ через обработчик ScriptResource.axd. |
Для настройки этого параметра следует добавить следующую конфигурацию в файл web.config:
<configuration> ... <appSettings> ... <add key="aspnet:ScriptResourceAllowNonJsFiles" value="false" /> </appSettings> </configuration>
Ссылки
Дополнительные сведения о разделе MachineKey см. на следующем веб-сайте корпорации Майкрософт:
http://msdn.microsoft.com/ru-ru/library/w8h3skw9.aspx Дополнительные сведения о классе System.Web.Security.MachineKey см. на следующем веб-сайте корпорации Майкрософт:
http://msdn.microsoft.com/ru-ru/library/system.web.security.machinekey.aspxДополнительные сведения об использовании параметров приложения (appSettings) см. в следующих статьях базы знаний Майкрософт:
815786 Сохранение пользовательских данных в конфигурационном файле приложения и их извлечение из него с использованием Visual C#
313405 Сохранение пользовательских данных в конфигурационном файле приложения и их извлечение из него с использованием Visual Basic .NET или Visual Basic 2005
Дополнительные сведения о настройке ASP.Net см. в следующей статье базы знаний Майкрософт:
307626 Сведения: обзор конфигурации ASP.NET