it-swarm-es.com

Citas para la inapesión de la contraseña globalmente única.

Estoy buscando una fuente autorizada para hacer una copia de seguridad de mi posición en un desacuerdo sobre la política de contraseña.

Estoy teniendo un desacuerdo con un cliente sobre el proceso de identificación/autenticación de usuario para un sistema. La nuba de ella es que quieren que cada usuario tenga una contraseña globalmente única (i.e. No dos usuarios pueden tener la misma contraseña). He guardado todos los argumentos obvios contra esto (es una vulnerabilidad de seguridad, confunde la identificación con la autenticación, es inútil, etc.), pero están insistiendo en que no hay nada de malo en este enfoque.

Hice varias búsquedas de Google en busca de opiniones autoritarias (o semi-autoritativas, o incluso solo independientes) sobre esto, pero no pueden encontrar ninguna (, principalmente, es un paso falso tan obvio que no parece que valga la pena advertirla, como lejos como puedo decir). ¿Alguien puede apuntarme hacia cualquier otra opinión independiente, por favor?

He encontrado un artículo Daily WTF , pero (además de ser demasiado humorístico para ser autoritario), sufre del problema que menciono anteriormente, la falta de ayuda de este enfoque es tan evidente que No parece valioso explicar por qué.

Para aclarar, entiendo los problemas e incluso puedo explicarlos al cliente, pero el cliente se reuencia de aceptarlos, de ahí mi solicitud de fuentes independientes y/o autorizadas.

Cualquier puntero a fuentes independientes y/o autorizadas que confirman que esta es una mala idea recibida con gratitud ...

9
gkrogers

El artículo señala que el sistema gotea información: contraseñas de otras personas. ¡Cada vez que rechaza su contraseña, sabe que alguien en el sistema tiene esa contraseña!

Tal vez usted puede acercarse desde el punto de vista de lo caro que sería imponer tal situación, ya que solo almacenas hashes saladas (o lo que sea) y no su contraseña real?

¿Cómo puede detectar si los usuarios comparten la misma contraseña? ¿Esto significa que está almacenando la contraseña?

Creo que obtendrás algunas respuestas mejores, pero necesitas lucir más ampliamente en los problemas de autenticación. Comience con el enlace Wikipedia y comprenda primero el problema básico. Realmente no creo que quiera estar manejando la contraseña real en su base de datos central (AAA).

6
Bradley Kreider

rOX0R hace un buen punto: una razón por la que no hay artículos autorizados que hablen sobre la falta de amistabilidad de las contraseñas únicas globalmente es que requieren combinaciones de otras cosas que son Cubierto por artículos. Usted no tienda suario contraseñas reversiblemente .

Sin almacenar contraseñas, no hay forma de saber si los nuevos usuarios los están duplicando, a menos que haga algo difícil de usar un filtro de floración , pero eso definitivamente agrega complejidad injustificada y aumenta la superficie de ataque. Tratar de ser inteligente con autenticación o cifrado es una mala idea.

1
user502

¿Están hablando de asignar una contraseña globalmente única a cada usuario, o garantizar que cuando un usuario cambie una contraseña, es única?

Si el usuario está permitido cambiar su contraseña, entonces la UI expondrá otras contraseñas en virtud del error que obtienen. Obviamente, una mala, y probablemente va en contra de sus objetivos de seguridad.

En una nota relacionada, pueden estar interesados ​​en el cifrado de factores de RSA con un token de hardware o software. El token genera una contraseña única dependiente del tiempo que le sigue A PIN CODE. Este conjunto proporciona una contraseña única para cada usuario.

Si está utilizando Active Directory, o la membresía de ASP.NET, esta es una obviedad.

alt text

Si usa RSA, usted satisface la solicitud del cliente y aumenta la seguridad en el proceso. No puedo pensar en ninguna otra manera de acercarse a esta solución que el momento ...

1

Las contraseñas únicas globalmente no son malas en sí mismas. Lo que puede doler es cómo se mantiene esa propiedad. Hay dos formas principales de obtener contraseñas globalmente únicas:

  1. Suerte.
  2. Implementando algo que hace que el almacenamiento de contraseñas débil.

"Suerte" es seguro: con alta probabilidad, los usuarios elegirán contraseñas distintas: la probabilidad de que la colisión aumenta cuando el espacio de las contraseñas posibles se reduce, es decir, cuando los usuarios eligen contraseñas débiles.

Cualquier otra cosa que garantice que la contraseña Unicity sea insegura, aunque solo sea porque rechazar una contraseña generada por el usuario implica informar a ese usuario que la contraseña que acaba de elegir es también la contraseña de uno de sus colegas. Una implementación real también sería bastante ineficiente, o evitaría el uso de sales; Básicamente, si el sistema puede detectar eficientemente si una contraseña determinada está en uso o no, entonces un atacante podría usarlo para descifrar todas las contraseñas en paralelo. Es bastante inevitable.

Sin embargo, el cliente es siempre Derecho. Si insiste en hacer algo estúpido, entonces no puedes prevenirlo; Él es el que está pagando para que reciba la última palabra. Lo mejor que puede hacer (y eso también es el menos que puede hacer) es escribir una nota formal que le advierte sobre los peligros de su enfoque. Esto se ajusta a su "deber de proporcionar consejos" y lo protegerá legalmente cuando se produzca Hijinks.

1
Thomas Pornin

Después de volver a leer su pregunta, he decidido publicar una segunda respuesta:

pero están insistiendo en que no hay nada de malo en este enfoque.

Esta es una bestia de un argumento y limita con un argumento religioso. ¿Hay alguna manera de falsificar su reclamo? Si no, abandone AHORA .

¿Qué significa "incorrecto" en este contexto? Casi todas las decisiones que involucran la seguridad son una compensación. Podrían ser "correctos", si su objetivo principal es asegurarse de que todos tengan una contraseña única.

Si su objetivo es la seguridad, entonces el ONUS está en ellos para mostrar cómo se hace el sistema más seguro por el requisito. Por lo menos, deben mostrar cómo no hace que el sistema sea menos seguro y justifique el costo de la implementación.

1
Bradley Kreider