it-swarm-es.com

¿Cuáles son los detalles de la implementación y la razón de la antiforgería de ASP.NET MVC3?

El antiforgeryToken se usa para prevenir los ataques de CSRF, sin embargo, los enlaces en MSDN no me dan mucha información sobre lo que hace exactamente el antiforgerio, o cómo funciona, o por qué se realizan las cosas como son.

De lo que me reúno, crea un hash dentro de una página web y una cookie. Uno o ambos usan el hashed IPrincipal.Name, y use el cifrado simétrico.

¿Alguien puede arrojar luz en cuanto a:

  1. Cómo funciona los antiforgerios internamente
  2. ¿Qué debe ser utilizado para proteger?
  3. ¿Qué no debería ser usado para proteger?
  4. ¿Cuál es el razonamiento detrás de las opciones de implementación para el # 1 anterior?
4

Todo el CSRF se evita mediante el uso de nonce criptográfico , que no puede ser obtenido por el atacante debido a : política del mismo origen . Este no es un problema que la criptografía simétrica puede resolver.

Echa un vistazo a la hoja de trucos de prevención de CSRF .

1
rook