Аннотация

Обновление для системы безопасности, описанное в бюллетене по безопасности Майкрософт 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)Microsoft .NET Framework 2.0 с пакетом обновления 2 (SP2)Microsoft .NET Framework 3.5Microsoft .NET Framework 3.5 с пакетом обновления 1 (SP1)Microsoft .NET Framework 4.0

aspnet:UseLegacyMachineKeyEncryption

Логический

Ложь

Microsoft .NET Framework 4.0

aspnet:ScriptResourceAllowNonJsFiles

Логический

Ложь

Microsoft .NET Framework 3.5 с пакетом обновления 1 (SP1)Microsoft .NET Framework 4.0

Описание параметра 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.Примечание. Этот параметр позволяет выдавать любой файл приложения ASP.NET через обработчик. Если такой файл содержит важные или конфиденциальные данные, этот параметр может привести к их утечке клиенту.

Для настройки этого параметра следует добавить следующую конфигурацию в файл 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

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.