9

Cuando un usuario inicia sesión según el método de autenticación de formularios predeterminado, el servidor crea una cookie que contiene datos cifrados (utilizando la clave de máquina como clave para el cifrado).¿Es seguro el ticket de autenticación de formularios?

Esto significa que si alguien a encontrar/conjetura/acceso Clave del equipo para el servidor, que será registrado para la aplicación web.

he desarrollado algunas aplicaciones que se encuentran en 4 servidores. Entonces, codifiqué la misma clave de máquina para todos los servidores en machine.config y no puedo usar el modo de generación automática.

  1. ¿Es posible forzar la fuerza de la llave de la máquina?
  2. ¿Hay algún otro método? (No quiero utilizar Windows y pasaporte)
  3. e IS de autenticación de formularios suficientemente seguro? (es decir, aceptable para aplicaciones de banca electrónica)
+0

Recuerde marcar la respuesta que ayudó más :-) – reach4thelasers

Respuesta

18

Los tickets de autenticación de formularios ASP.NET se cifran utilizando el algoritmo Rijndael. Rijndael se creó como un reemplazo para DES (Estándar de encriptación de datos) que ofrecía formas ilimitadas de encriptar datos y también era susceptible a ataques de fuerza bruta. Un número de Desafío DES se organizaron a finales de los 90 por RSA Security para desafiar a los equipos para romper DES con el fin de poner de relieve sus vulnerabilidades inherentes: http://en.wikipedia.org/wiki/DES_Challenges

En comparación Rijndael (también conocido como estándar de cifrado avanzado AES) utiliza las claves más largas - 256bits y un algoritmo de doble encriptación. Para descifrar una clave Rijndael de 256 bits (como la clave de máquina ASP.NET) se requerirían 2^200 operaciones (aproximadamente 10^60 - diez con 60 ceros), casi imposible de romper la fuerza bruta. Combine eso con el hecho de que el boleto ASP.NET cambia regularmente, y cuando descifrado básicamente se ve como una cadena aleatoria de letras y números (tan imposible determinar si lo que ha descifrado la fuerza bruta es correcto o no) puede estar seguro de que nadie lo hará estará descifrando su cookie de autenticación de formularios pronto.

Más información sobre Rijndael y sus posibles ataques aquí:

http://en.wikipedia.org/wiki/Advanced_Encryption_Standard#Known_attacks

1

La primera regla de cifrado es que el mensaje es tan seguro como la clave. Si alguien tiene acceso a su clave, no hay un método lo suficientemente seguro.

  1. dudo es posible ataque de fuerza bruta la clave del equipo en cualquier momento razonable.
  2. creo autenticación Fomrs es la única solución web verdad que sale de la caja en ASP.NET. Puedes implementar el tuyo propio, pero dudo que sea más seguro.
  3. ¿Suficientemente seguro para qué? Es secuestrable por un hombre en el medio en una conexión no encriptada y vulnerable a ataques XSRF si desactiva la validación de eventos (en formularios web) o no usa los tokens de seguridad (MVC). De lo contrario, es seguro para los exploits que se descubren y arreglan todo el tiempo en todas las tecnologías.
+0

Por qué le bruta forzar la clave del equipo requieren que los servidores son llevados hacia abajo? La fuerza bruta básicamente está comprobando todas las combinaciones posibles para intentar adivinar la clave de la máquina. – reach4thelasers

+0

Creo que esto requerirá enviar la cookie al servidor? ¿O no? De todos modos, la clave de la máquina es realmente larga y no se puede forzar fácilmente. – Stilgar

+0

Rijndael es solo un algoritmo, se puede ejecutar en cualquier máquina.Si puede ADIVINAR la clave del equipo comprobando todas las combinaciones posibles para la clave del equipo, puede descifrar el ticket en cualquier computadora. El servidor ya conoce la clave del equipo, por lo que no necesita adivinarla cuando se devuelve el ticket. – reach4thelasers

Cuestiones relacionadas