Sumário
A atualização de segurança descrita no boletim de segurança Microsoft MS10-070 faz alterações no mecanismo de criptografia padrão no ASP.NET para executar a validação (assinatura) além da criptografia. Este artigo descreve as opções de configuração para reverter para o comportamento de legado para criptografia no ASP.NET.
Para obter mais informações sobre esta atualização de segurança, visite o seguinte site:
http://www.microsoft.com/brasil/technet/security/bulletin/ms10-070.mspx
Mais Informações
O ASP.NET permite que os usuários criptografem ou validem dados através da configuração na seção MachineKey. A atualização de segurança corrigida pela atualização MS10-070 altera o comportamento padrão da criptografia no ASP.NET para executar a validação além da criptografia mesmo se esta for solicitada.
Depois que você instalar a atualização de segurança descrita no boletim de segurança MS19-070, as operações a seguir serão executadas quando a criptografia for configurada para o ASP.NET:
-
Durante a criptografia de dados, uma assinatura HMAC é gerada e anexada a eles.
-
A assinatura HMAC é validada antes da descriptografia de dados.
Além da criptografia, as seguintes chaves nas configurações do aplicativo ASP.NET (appSettings) controlam o comportamento da assinatura.
Chave |
Tipo |
Valor padrão |
Versões com suporte on.NET |
---|---|---|---|
aspnet:UseLegacyEncryption |
Valor booleano |
False |
Microsoft .NET Framework 2.0 Service Pack 1 |
aspnet:UseLegacyMachineKeyEncryption |
Valor booleano |
False |
Microsoft .NET Framework 4.0 |
aspnet:ScriptResourceAllowNonJsFiles |
Valor booleano |
False |
Microsoft .NET Framework 3.5 Service Pack 1 |
Descrição do aspnet:UseLegacyEncryption appSetting
Essa configuração de aplicativo especifica se a criptografia executará a validação com uma chave HMAC mesmo se a seção de validação em machineKey da configuração ASP.NET não for configurada para a validação de assinatura HMAC.
aspnet:UseLegacyEncryption |
Descrição |
---|---|
False (padrão) |
Esta opção configura o ASP.NET para executar a validação de assinatura HMAC quando o ASP.NET for configurado para usar a criptografia. Isso ocorrerá mesmo se a validação em machineKey não estiver configurada para assinar usando uma chave HMAC. |
True |
Nesta configuração, o ASP.NET não executa a validação de assinatura HMAC quando estiver configurado para usar criptografia e não a assinatura HMAC através da validação em machineKey. |
Para definir essa configuração, adicione a configuração a seguir no seu computador ou no arquivo web.config do aplicativo:
<configuration> ... <appSettings> ... <add key="aspnet:UseLegacyEncryption" value="false" /> </appSettings> </configuration>
Descrição de aspnet:UseLegacyMachineKeyEncryption appSetting
Esta configuração de aplicativo especifica se a criptografia pela classe System.Web.Security.MachineKey também executará uma validação com uma chave HMAC mesmo quando o argumento MachineKeyProtection fornecido não especifica se a validação foi executada.
aspnet:UseLegacyMachineKeyEncryption |
Descrição |
---|---|
False (padrão) |
Nesta configuração, o ASP.NET também executa a validação de assinatura HMAC através da classe MachineKey quando o ASP.NET for configurado para usar a criptografia. Isso ocorrerá mesmo se o argumento MachineKeyProtection fornecido não especifica se a validação foi executada. |
True |
Nesta configuração, o ASP.NET não executa a validação da assinatura HMAC através da classe MachineKey quando ela está configurada para usar a criptografia e não a assinatura HMAC pelo argumento MachineKeyProtection fornecido. |
Para definir essa configuração, adicione a seguinte configuração no seu computador ou no arquivo web.config do aplicativo:
<configuration> ... <appSettings> ... <add key="aspnet:UseLegacyMachineKeyEncryption" value="false" /> </appSettings> </configuration>
Descrição de aspnet:ScriptResourceAllowNonJsFiles appSetting
Esta configuração de aplicativo especifica se o manipulador do ScriptResource.axd no ASP.NET atenderá arquivos que não são JavaScript (extensão .js). ScriptResource.axd é um manipulador do ASP.NET que retorna os arquivos de origem do JavaScript para os componentes AJAX em uma página do ASP.NET.
aspnet:ScriptResourceAllowNonJsFiles |
Descrição |
---|---|
False (padrão) |
Nesta configuração, o ASP.NET atende somente arquivos estáticos que possuem a extensão .js (JavaScript) através do manipulador do ScriptResource.axd. |
True |
Nesta configuração, o ASP.NET atende qualquer arquivo estático acessível ao aplicativo ASP.NET através do manipulador do ScriptResource.axd. |
Para definir essa configuração, adicione a seguinte configuração no seu computador ou no arquivo web.config do aplicativo:
<configuration> ... <appSettings> ... <add key="aspnet:ScriptResourceAllowNonJsFiles" value="false" /> </appSettings> </configuration>
Referências
Para obter mais informações sobre a seção MachineKey, visite o seguinte site da Microsoft:
http://msdn.microsoft.com/pt-br/library/w8h3skw9.aspx Para obter mais informações sobre a classe System.Web.Security.MachineKey, visite o seguinte site da Microsoft:
http://msdn.microsoft.com/pt-br/library/system.web.security.machinekey.aspxPara obter mais informações sobre como usar as configurações do aplicativo (appSettings), clique nos números para exibir os artigos na Base de Dados de Conhecimento Microsoft:
815786 Como armazenar e recuperar informações personalizadas de um arquivo de configuração do aplicativo usando o Visual C#
313405 Como armazenar e recuperar informações personalizadas de um arquivo de configuração do aplicativo usando o Visual Basic .NET ou o Visual Basic 2005
Para obter mais informações sobre a configuração do ASP.NET, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft :
307626 INFORMAÇÕES: Visão geral da configuração de ASP.NET