ASP.NET ganha melhorias em criptografia
Entre as mudanças estão transformação aplicada à chave máquina diferente e introdução do parâmetro “purpose”.
O .NET↳.NET113 conteúdosNovidades do .NET 9 – o tipo genérico OrderedDictionaryDev (Back & Front) · dez 2024Novidades .NET 10: novas formas de uso do .NET CLIDev (Back & Front) · dez 2025Novidades do .NET 5: implementando um proxy reverso com YARP + ASP.NET 5Dev (Back & Front) · nov 2020Ver tudo em Dev (Back & Front) → 4.5 traz várias melhorias relacionadas à criptografia no ASP.NET, novas APIs Protect e Unprotect, e várias modificações de segundo plano. Levi Broderick, desenvolvedor da Microsoft com foco em ASP .NET, explica a motivação, as mudanças e a compatibilidade em uma série de artigos.
O ASP.NET precisa de duas chaves secretas para criptografar – chave de decodificação e chave de validação; esse par é chamado de chave máquina. A chave máquina é reutilizada entre componentes diferentes. O primeiro artigo de Levi mostra como esse design do .NET 4.0 pode levar a problemas de segurança em um componente e também causar um impacto muito maior em outros componentes do sistema.
De forma parecida, as APIs MachineKey.Encode e Decode disponíveis para desenvolvedores também utilizam a mesma chave máquina para criptografia. Portanto, desenvolvedores podem introduzir seus próprios problemas de segurança que podem, novamente, ter um efeito cascata.
A maioria dessas preocupações (e outras) foi destacada neste documento (pdf). Apesar de a maior parte dos exploits ter sido corrigida, alguns dos problemas apontados continuam.
Como uma solução, o .NET 4.5 traz as seguintes mudanças:
- A transformação aplicada à chave máquina agora é bem diferente – a chave máquina com alguns bits modificados é usada como uma chave derivada da náquina em uma função de definição de chave que gera a chave que a aplicação realmente usa.
- Novas APIs Protect e Unprotect, que combinam MACing e criptografia em um único passo chamado “proteção”. As APIs Encode e Decode ainda estão disponíveis, mas foram substituídas.
- Introdução do parâmetro “purpose”, que pode isolar um consumidor específico das APIs de criptografia de outras que são usadas para fortalecer a criptografia, e torná-la menos vulnerável para corrigir problemas encontrados em outras áreas.
Essas mudanças não são habilitadas por padrão e precisam ser explicitamente acionadas na web config (isso é feito nos novos templates de projeto do ASP.NET). Todas elas são descritas em detalhes no segundo artigo. O terceiro aborda cenários de uso avançado e várias observações.
Com informações de InfoQ
Google contrata desenvolvedores JavaScript para Fuchsia
Google contrata desenvolvedores para dar suporte a JavaScript com Node.js para o Fuchsia, um sistema híbrido desenvolvido para computadores e apps android.







Redação iMasters



