Como configurar o modo de encriptação legada no ASP.NET

Traduções de Artigos Traduções de Artigos
Artigo: 2425938 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Sumário

A actualização de segurança descrita no boletim de segurança MS10-070 da Microsoft efectua alterações ao mecanismo de encriptação predefinido do ASP.NET para que efectue a validação (assinatura), bem como a encriptação. Este artigo descreve opções de configuração para reverter o comportamento legado da encriptação no ASP.NET.

Para mais informações sobre esta actualização de segurança, visite o seguinte Web site:
http://www.microsoft.com/portugal/technet/seguranca/boletins/MS10-070.mspx

Mais Informação

O ASP.NET permite aos utilizadores optar por encriptar ou validar dados através da configuração da secção MachineKey. A actualização de segurança à qual o boletim MS10-070 se refere altera o comportamento predefinido da encriptação no ASP.NET para efectuar tanto a validação como a encriptação, mesmo que apenas seja necessária a encriptação.

Após instalar a actualização de segurança descrita no boletim de segurança MS10-070, são realizadas as seguintes operações ao configurar a encriptação para o ASP.NET:
  • Durante a encriptação de dados, é gerada uma assinatura HMAC para os dados encriptados, a qual é anexada aos mesmos.
  • Durante a desencriptação dos dados, a assinatura HMAC é validada antes da desencriptação dos dados.
As seguintes chaves das definições de aplicação (appSettings) do ASP.NET controlam tanto o comportamento da assinatura como o da encriptação.
Reduzir esta tabelaExpandir esta tabela
ChaveTipoValor PredefinidoSuportado em versões .NET
aspnet:UseLegacyEncryptionBooleanFalseMicrosoft .NET Framework 2.0 Service Pack 1
Microsoft .NET Framework 2.0 Service Pack 2
Microsoft .NET Framework 3.5
Microsoft .NET Framework 3.5 Service Pack 1
Microsoft .NET Framework 4.0
aspnet:UseLegacyMachineKeyEncryptionBooleanFalseMicrosoft .NET Framework 4.0
aspnet:ScriptResourceAllowNonJsFilesBooleanFalseMicrosoft .NET Framework 3.5 Service Pack 1
Microsoft .NET Framework 4.0

Descrição da definição de aplicação aspnet:UseLegacyEncryption

Esta definição de aplicação especifica se a encriptação efectua adicionalmente a validação com uma chave HMAC, mesmo que a secção de validação da secção machineKey da configuração do ASP.NET não esteja configurada para a validação de assinaturas HMAC.
Reduzir esta tabelaExpandir esta tabela
aspnet:UseLegacyEncryptionDescrição
False (Predefinido)Esta definição configura o ASP.NET para efectuar adicionalmente a validação de assinaturas HMAC quando o ASP.NET estiver configurado para utilizar encriptação. Isto irá ocorrer mesmo que a validação em machineKey não esteja configurada para assinar utilizando uma chave HMAC.
TrueEsta definição configura o ASP.NET para não efectuar a validação de assinaturas HMAC quando estiver configurado para utilizar encriptação e não utilizar a assinatura HMAC através de validação em machineKey.

Nota: esta definição pode permitir que um cliente malicioso desencripte, falsifique ou de alguma forma adultere dados encriptados.

Para configurar esta definição, adicione a seguinte configuração ao ficheiro web.config do computador ou da aplicação:
<configuration> ... <appSettings> ... <add key="aspnet:UseLegacyEncryption" value="false" /> </appSettings> </configuration>

Descrição da definição de aplicação aspnet:UseLegacyMachineKeyEncryption

Esta definição de aplicação especifica se a encriptação através da classe System.Web.Security.MachineKey irá efectuar adicionalmente a validação com uma chave HMAC mesmo que o argumento MachineKeyProtection fornecido não especifique que a validação seja efectuada.
Reduzir esta tabelaExpandir esta tabela
aspnet:UseLegacyMachineKeyEncryptionDescrição
False (Predefinido)Esta definição configura o ASP.NET para efectuar adicionalmente a validação de assinaturas HMAC através da classe MachineKey quando o ASP.NET estiver configurado para utilizar encriptação. Isto irá ocorrer mesmo que o argumento MachineKeyProtection fornecido não especifique que a validação seja efectuada.
TrueEsta definição configura o ASP.NET para não efectuar a validação de assinaturas HMAC através da classe MachineKey quando estiver configurado para utilizar encriptação e não utilizar a assinatura HMAC através do argumento MachineKeyProtection fornecido.

Nota: esta definição pode permitir que um cliente malicioso desencripte, falsifique ou de alguma forma adultere dados encriptados.

Para configurar esta definição, adicione a seguinte configuração ao ficheiro web.config do computador ou da aplicação:
<configuration> ... <appSettings> ... <add key="aspnet:UseLegacyMachineKeyEncryption" value="false" /> </appSettings> </configuration>

Descrição da definição de aplicação aspnet:ScriptResourceAllowNonJsFiles

Esta definição de aplicação especifica se o processador ScriptResource.axd do ASP.NET irá servir ficheiros que não JavaScript (extensão .js). O ScriptResource.axd é um processador do ASP.NET que devolve ficheiros de origem JavaScript a componentes AJAX numa página Web do ASP.NET.
Reduzir esta tabelaExpandir esta tabela
aspnet:ScriptResourceAllowNonJsFilesDescrição
False (Predefinido)Esta definição configura o ASP.NET para apenas servir ficheiros estáticos que tenham a extensão .js (JavaScript) através do processador ScriptResource.axd.
TrueEsta definição configura o ASP.NET para servir quaisquer ficheiros estáticos aos quais a aplicação ASP.NET tenha acesso através do processador ScriptResource.axd.

Nota: esta definição permite que qualquer ficheiro contido na aplicação ASP.NET seja servido através do processador. Caso algum destes ficheiros contenha dados sensíveis ou confidenciais, é possível que esta definição permita a fuga de informações sensíveis para um cliente. 

Para configurar esta definição, adicione a seguinte configuração ao ficheiro web.config do computador ou da aplicação:
<configuration> ... <appSettings> ... <add key="aspnet:ScriptResourceAllowNonJsFiles" value="false" /> </appSettings> </configuration>

Referências

Para mais informações sobre a secção MachineKey, visite o seguinte Web site da Microsoft:
http://msdn.microsoft.com/pt-pt/library/w8h3skw9.aspx
Para mais informações sobre a classe System.Web.Security.MachineKey, visite o seguinte Web site da Microsoft:
http://msdn.microsoft.com/pt-pt/library/system.web.security.machinekey.aspx
Para mais informações sobre como utilizar definições de aplicação (appSettings), clique nos números de artigo que se seguem para visualizar os artigos na Base de Dados de Conhecimento Microsoft:
815786 Como armazenar e obter informações personalizadas a partir de um ficheiro de configuração de aplicação utilizando Visual C#
313405 Como armazenar e obter informações personalizadas a partir de um ficheiro de configuração de aplicação utilizando Visual Basic .NET ou Visual Basic 2005
Para mais informações sobre a configuração do ASP.NET, clique no número de artigo que se segue para visualizar o artigo na Base de Dados de Conhecimento Microsoft:
307626 INFORMAÇÕES: Descrição geral da Configuração do ASP.NET
Nota Este é um artigo de ?PUBLICAÇÃO RÁPIDA? criado directamente a partir da organização de suporte da Microsoft. As informações contidas neste artigo são fornecidas ?tal como estão? em resposta a problemas recentes. Devido à urgência em disponibilizar este artigo, os materiais poderão incluir erros tipográficos e ser revistos em qualquer altura sem aviso prévio. Consulte os Termos de Utilização para outras considerações.

Propriedades

Artigo: 2425938 - Última revisão: 26 de outubro de 2010 - Revisão: 1.0
A informação contida neste artigo aplica-se a:
  • Microsoft .NET Framework 4.0
  • Microsoft .NET Framework 3.5 Service Pack 1
  • Microsoft .NET Framework 3.5
  • Microsoft .NET Framework 2.0 Service Pack 2
  • Microsoft .NET Framework 2.0 Service Pack 1 (x86)
Palavras-chave: 
kbexpertiseinter kbhowto kbsecurity kbsurveynew KB2425938

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com