¿Cuál es un requisito de contraseña razonable y seguro para el registro de usuarios?

10

Esta es la política de contraseña que acabo de recibir de UPS (solo para verificar el estado del paquete):

Su contraseña debe tener entre 8 y 26 caracteres de longitud. Debe contener al menos tres de los siguientes tipos de caracteres: letras minúsculas, mayúsculas, números, caracteres especiales o espacios. La contraseña no puede contener su ID de usuario, su nombre o su dirección de correo electrónico. (SSO_1007)

De hecho, tengo que romper mi cerebro para generar esta contraseña, pero no solo eso, lo más importante, estoy seguro de que después de 3 días olvidaré cuál es esta contraseña. Los usuarios no serán tan felices. El restablecimiento de contraseña puede ser frecuente. Creo que los usuarios intentarán evitar usar el sitio a menos que tengan que hacerlo.

¿Qué es una política de contraseña segura y razonable al configurar un sitio web? Creo que algunas compañías pueden temer que algunos hackers intenten contraseñas un millón de veces o más, por lo que agregan todos esos requisitos para "caracteres especiales, minúsculas, mayúsculas", pero ¿no será razonable apagar la cuenta o simplemente deshabilitar el contraseña y requiere un restablecimiento de contraseña si un usuario ha intentado 30 veces o 100 veces? ¿O agrega un retraso de 5 segundos cada vez que el usuario lo intentó 30 veces? Si es así, esos caracteres especiales no serán tan necesarios.

nonopolaridad
fuente
1
Si restablece la contraseña después de 30 intentos, solo ofrece una gran posibilidad de molestar a otros usuarios con las personas malas (hackers / script-kiddys) que empeorarían las cosas.
oezi
@oezi, ¿quieres decir que los piratas informáticos pueden molestar a las buenas personas simplemente iniciando sesión 30 veces con algunas contraseñas falsas? ¿Qué pasa con el retraso de 5 segundos después de 30 veces de intento que acabo de agregar?
nonopolaridad
14
Sin mencionar que no puedo tomar en serio la longitud máxima de una contraseña cuando no permite "Grapar correctamente la batería del caballo".
David Thornley
66
¿Qué tal el segundo método a continuación en este cómic Xkcd ?
Robert Harvey
66
Hola 動靜 能量, esta es probablemente una mejor pregunta para un sitio hermano, IT Security , pero se ha hecho y respondido allí en varias formas diferentes. Eche un vistazo a preguntas como esta o para obtener más información sobre el contexto en torno al comentario de Robert Harvey, eche un vistazo a esta pregunta .

Respuestas:

15

Para ser honesto, creo que tener requisitos estrictos de contraseña es una molestia y no un beneficio. Yo diría que, por regla general, lo más razonable es especificar una longitud, tal vez caracteres especiales + alfanuméricos. Algo más es pedirle a la gente que escriba su contraseña, lo que anula el propósito de tener contraseñas seguras. También odio tener que cambiar su contraseña cada x días con el habitual conjunto de reglas ridículas (por ejemplo, no puedo reutilizar las últimas 25 contraseñas); nuevamente, lo único que hace es obligar a las personas a escribir la cosa para que no se olviden En este punto, es mejor que no solicite una contraseña.

Wayne Molina
fuente
44
Escribir contraseñas no anula el propósito. Si tengo una contraseña realmente complicada escrita en un post-it pegada en mi monitor, entonces la única forma en que alguien puede acceder a mi cuenta es si han irrumpido en mi casa y están sentados en mi escritorio en mi estudio. En esta situación, tengo un problema mucho más grande que alguien que pueda rastrear mis entregas de UPS.
Qwerky
2
¿Qué pasa si es una política de la empresa y un compañero de trabajo encuentra la contraseña de alguien? Todavía se pueden causar daños, y la supuesta política de contraseña segura ayuda poco si es tan compleja que la mayoría de las personas simplemente la publican en su monitor para que cualquiera que pase pueda encontrar su contraseña para los datos de la compañía.
Wayne Molina
2
+1, estoy completamente de acuerdo con Wayne. Una gran parte, si no la mayor parte de las amenazas de seguridad provienen del "interior". Las políticas que obligan a los usuarios a terminar escribiendo contraseñas anulan completamente el propósito.
GrandmasterB
1
Sin mencionar el hecho de que puede molestar a los usuarios si necesitan pensar en una contraseña demasiado complicada para ajustarse a las reglas.
Mavrik
1
@mouviciel Confío lo suficiente como para poner cosas como mi billetera y teléfono allí, lo que valoro más que casi todas las cuentas en línea que tengo.
Qwerky
13

Mi opinión es que las contraseñas solo deben tener un requisito de longitud. No quieres que alguien ponga "a" como contraseña. Y como muestra la respuesta xkcd, una contraseña extremadamente difícil de recordar no siempre es tan segura. Siempre permita que las personas cambien su contraseña también. Y olvídate de la basura "no puedes usar ninguno de los caracteres contenidos en tu contraseña anterior".

Hacer una política de contraseña obscena hará más daño que bien. En la universidad, fui a la política de contraseña que era similar a la política de UPS Y tuviste que cambiarla cada 2 semanas Y no pudiste usar las 50 contraseñas anteriores que usaste. Entonces, lo que mis maestros recomendaron al configurar cuentas es usar nuestra contraseña regular que se ajusta a las reglas y agregar un contador al final de la misma y poner en su contraseña una pista de cuál es el número del contador.

Además, una política de contraseña estricta no hará nada cada vez que su base de datos de texto sin formato sea pirateada por un error de inyección SQL ... o envíe contraseñas por correo electrónico a sus usuarios y sea interceptada.

Básicamente, no haga que su sistema de contraseña sea una molestia para sus usuarios o los alentará a hacer cosas inseguras para que puedan solucionarlo. Por ejemplo, mi empresa al obtener un servidor dedicado de un centro de datos, nos configuraron contraseñas de 20 caracteres de longitud. Eran demasiado seguros para enviarnos un correo electrónico y tuvieron que ser enviados por fax. No pudimos cambiar las contraseñas, solo solicitamos que se genere una nueva contraseña de 20 caracteres. Y así fue para todos los usuarios ... así que lo que terminamos haciendo es crear un documento de texto en nuestros escritorios con la contraseña. Además, ya no los usamos porque a pesar de toda la "seguridad" que tenían, eran realmente bastante inseguros.

Earlz
fuente
Sin mencionar que si crea una contraseña lo suficientemente difícil de recordar, sus usuarios recurren al bloc de notas adhesivo en su escritorio. Una contraseña "segura" que deja a todos patéticamente abiertos a la ingeniería social no es segura.
Fomite
4

Asegúrese de dejar espacios. Todos los que conozco pueden escribir frases cortas más rápido de lo que pueden escribir la primera letra de cada palabra en la frase. Por ejemplo, intente escribir Bird in a Treey luego BiaT. Esto tiene la ventaja de que si escribe una frase vagamente adecuada como pick Up milko Meetings all dayen una nota adhesiva, obviamente no es una contraseña.

No soy un gran admirador de las reglas de "debes tener números y símbolos", pero si las aplicas consistentemente (p. Ej., Siempre es 1, a es siempre @), aún puedes escribir la frase en inglés en el adhesivo, aplicar las reglas conocidas solo para ti-leet-speak e ingresa B1rd in @ treeen el diálogo de contraseña. Desde el punto de vista de la seguridad, los números y símbolos no agregan mucho, pero no necesitan volverte loco como usuario.

Los sitios con una longitud máxima de contraseña me ponen nervioso si mi bonita frase se considera "demasiado larga". 26 parece razonable. Entiendo que alguien tiene que diseñar el ancho de la columna, pero 12 es estúpidamente corto.

Kate Gregory
fuente
1
Esto es muy inteligente. Use una frase espaciada todos los días ... Inteligente. Aunque me quedaré con mi sistema de una contraseña segura común con número y letra agregados dependiendo del servicio en el que estoy iniciando sesión. Solo sé cómo formarlos y siempre es la misma, pero la contraseña resultante es muy diferente (no aunque siempre es diferente, pero no me importan mucho esos duplicados raros).
Robert Koritnik el
1
¿El ancho de qué columna? Los cuadros de texto generalmente tienen desplazamiento interno, y si está almacenando la contraseña de texto sin formato en la base de datos, lo está haciendo mal.
Peter Taylor
Los DBS son baratos ahora. Con una buena encriptación también si permite contraseñas de 50 caracteres de longitud, el ancho de eso en db será de 110 máx. (102 para ser precisos). Pero lo convertiría en 150 varchar ... un buen diseño de base de datos debería significar que ninguna tabla tiene más de 20 columnas, por lo que esto no planteará ningún gran problema.
tgkprog
2

Seguro versus conveniente

La política de seguridad de una contraseña debe ser apropiada para el costo del compromiso. Si su sitio web tiene mi cuenta financiera, me gustaría una protección estricta con contraseña. Si es un sitio de fanáticos de nicho sobre Autobots, no necesita mucha protección.

Las reglas de UPS son razonables con la excepción de:

  • La longitud máxima es demasiado pequeña. Debe facilitar el uso de frases de contraseña que sean más fáciles de recordar y que sean más seguras.

No vi el reinicio después de X número de intentos en las reglas citadas, creo que esto es una tontería en la mayoría de los casos. Creo que es mejor que bloquees a alguien por un período de tiempo, en lugar de forzar un reinicio. Esto implica un cierto nivel de seguridad. Si eso no es necesario, entonces no lo es y bloquear / restablecer es un punto discutible.

Hay muchas reglas de política de contraseñas que tienen beneficios de seguridad marginal en el mejor de los casos. Sin embargo, también hay reglas que tienen beneficios reales y tangibles para la seguridad de su contraseña.

Reglas (y las razones):

  • longitud mínima

Evita un ataque combinatorio de prueba y error que rápidamente romperá una contraseña muy corta.

  • proscripción contra el uso de una sola palabra en inglés (o cualquier otro idioma)

Esto evita ataques de diccionario.

  • inclusión forzada de diferentes categorías (es decir, mayúsculas y minúsculas, números, puntuación)

Esto aumenta el espacio de ataque promedio.

Todos estos motivos se pueden rastrear para minimizar el sesgo del usuario al elegir las contraseñas. La mayoría de los usuarios están predispuestos a crear contraseñas más cortas y fáciles de recordar. Desafortunadamente, eso generalmente hace que la contraseña sea más fácil de atacar. Lo que la mayoría de los usuarios necesitan son instrucciones sobre cómo crear contraseñas memorables seguras o una frase de contraseña más larga.

Contraseñas memorables seguras

Cuando necesito crear una contraseña con un límite de longitud, siempre comienzo con una frase, así que tengo un mnemotécnico incorporado. Tomo la frase y obtengo el mismo carácter posicional de cada palabra. Ahora tengo una secuencia de solo personajes. Luego elijo mayúsculas, algunas basadas en nombres propios en la frase, o por patrón (primer y último, cada dos letras, etc.). Luego agrego signos de puntuación y números basados ​​en alguna regla o patrón arbitrario. (es decir, todas las 'j's son 7, usando' & 'donde hay una' y 'en la frase, etc.).

Mamá, acabo de matar a un hombre. Pon una pistola contra su cabeza. Apreté el gatillo, ahora está muerto.

Frase proporcionada por Queen

  1. mjkampagahhpmtnhd - primera letra de cada palabra
  2. MjkamPagahhPmtnhd - la carcasa coincide con la carcasa de la frase
  3. Mjk0mP0g0hhPmtnhd - cambió 'a' a 0
  4. Mjk0mP0g0 () Pmtnhd - cambió 'su cabeza' a ()

Después de escribirlo varias veces al pensar la frase, nunca tendré problemas para recordar.

dietbuddha
fuente
1
El verdadero problema es que la cuenta UPS será utilizada por una docena de personas en la empresa. Encerrándolos todo porque Fred en el transporte marítimo escrito mal que hará que 1, 2 caos, la gente para cambiar a Fedex
Martin Beckett
2
Creo que el problema es que las políticas de contraseña desagradables no aumentan la realseguridad (solo aumentan la percepción de seguridad) y en realidad pueden dañar la seguridad.
Martin York
@ Martin Beckett: 1) Para entornos que utilizan una política de bloqueo, debería haber, y generalmente hay formas alternativas de desbloquear su contraseña de inmediato 2) Cada persona debe tener su propia cuenta 3) La seguridad B2B generalmente se logra mejor a través de sistemas de clave pública como PKCS que no tienen que usar contraseñas
dietbuddha
@Loki Astari: Sí, eso es cierto para una política desagradable, la pregunta es qué reglas hacen que la política sea desagradable dado su contexto. Por ejemplo, creo que ambos podemos acordar que un requisito de longitud mínima es razonable. Definitivamente estoy de acuerdo en que cualquier requisito que incluya mantener el historial de sus contraseñas es desagradable, ya que no aumenta la seguridad.
dietbuddha
3
Sus ideas anteriores parecen lógicas, pero en realidad se está derrotando a sí mismo xkcd.com/936 . Estoy en desacuerdo con tres de sus 4 puntos y sugeriría que todos estos conducen a contraseñas más fáciles de descifrar. (La longitud es lo único positivo). La mejor contraseña sería:Mama, just killed a man.
Martin York
1

Su contraseña debe tener entre 8 y 26 caracteres.

La contraseña mínima de 8 caracteres es un legado de Lan Manager. El Lan Manager ha añadido las contraseñas dividiéndolas en 2 cadenas de 7 caracteres, y luego las hash. Al requerir un mínimo de 8 caracteres, garantizaron que la segunda palabra no fuera la misma que para una contraseña en blanco (no había sal, por lo que cada instancia de 7 espacios en blanco se convirtió en el mismo resultado).

Estoy seguro de que después de 3 días olvidaré cuál es esta contraseña.

Me he rendido, las reglas son tan tontas y ridículas que las escribo ahora. Todos excepto los pocos que uso para sitios web. Mi empleador actual también realiza un seguimiento de las últimas 24 contraseñas utilizadas para que no se puedan reciclar, ni la contraseña puede contener palabras en inglés de más de 3 caracteres (hacia adelante o hacia atrás). También se asegura de que no use una palabra anterior e incremente algún número como parte de ella (por lo tanto, si P4ssw0rd1se usara, no podría usar P4ssw0rd2, ni P4ssw0rd0).

Aprendí mi lección de la manera difícil en la oficina cuando tuve que cambiar una contraseña, tardé 45 minutos en hacer que el sistema aceptara un reemplazo, luego rápidamente olvidé lo que se me ocurrió y tuve que restablecerlo y desperdicié otros 45 minutos tratando de obtener algo que pudiera recordar que era lo suficientemente complejo como para cumplir con los requisitos (algunos de los requisitos se enumeran anteriormente, algunos no lo son y otros no lo sé). No es muy divertido tratar de encontrar algo que cumpla con las reglas que no se te permite saber. Al menos con juegos como Mastermind , se te dan pistas sobre lo cerca que estás. En la oficina, algunas personas usan una tarjeta inteligente , yo no soy uno de ellos.

Tangurena
fuente
1

Usar bcrypt cuando se almacena la contraseña es un buen primer comienzo, simplemente porque hace que los intentos de piratería por fuerza bruta sean inviables.

Hormiga
fuente
0

Razonable y seguro son mutuamente excluyentes. Son dos extremos de una barra. Lograr un equilibrio en el medio será lo mejor. Para llegar a lo seguro y la gente escribe las contraseñas o utiliza la función de desbloqueo de contraseña totalmente insegura.

El ejemplo anterior parece inclinarse más hacia lo seguro que lo razonable. He visto cosas peores.

Prefiero inclinarme hacia lo razonable. La clave es inclinarse hacia la seguridad en su back-end. Almacene la menor cantidad posible de sales, etc. Todos los últimos métodos recomendados para codificar las contraseñas en su base de datos y codificarlas también de una manera. Luego mantenga su base de datos y su código seguros. También capacite a cualquier persona que tenga derechos de administrador en su sistema para que necesiten usar una contraseña segura única. Recientemente se demostró que unir varias palabras del diccionario es más seguro que arrastrar mayúsculas y minúsculas. Se requirieron coincidencias de diccionario compuesto que realmente suman mucho tiempo para los piratas informáticos, sin embargo, estos aún eran memorables para los usuarios.

Bill Leeper
fuente
1
La razón y la seguridad no son conceptos opuestos. Pueden entrar en conflicto, pero generalmente es posible encontrar algo razonablemente seguro y razonablemente utilizable. Puede requerir un poco de pensamiento creativo, y no puede medirse adecuadamente en una lista de verificación, por lo que puede no ser visto de esa manera en muchos lugares.
David Thornley
Hay mucha historia donde lo razonable y la seguridad están en extremos opuestos. Puede permitir que los usuarios tengan contraseñas razonables (sin controles, todo vale) y eso es probablemente la menos segura, o tal vez ninguna contraseña, incluso menos segura. Microsoft aprendió esto de la manera difícil. Las personas querían un mejor correo electrónico, por lo que decidieron oye, permitamos las secuencias de comandos como en palabras, luego vinieron los virus de correo electrónico. Ha sido una batalla desde entonces. No puede tener un correo electrónico habilitado para la web (razonable) sin abrirse a riesgos de seguridad
Bill Leeper
Claro, es fácil tener facilidad de uso y seguridad diametralmente opuestas, si no toma buenas decisiones. Muchas de las opciones de Microsoft en 2005 y antes se hicieron aparentemente sin tener en cuenta la seguridad.
David Thornley
Por favor, dé un ejemplo donde tenga facilidad de uso Y seguridad. He trabajado en muchos lugares e implementado muchos sistemas seguros y aún no he visto esto. Y esta sería una aplicación web normal, no algo así como usar una clave .ssh para acceder a un sistema remoto. Mi abuela necesita poder hacer esto en su sistema Windows Vista :-)
Bill Leeper
Considere las frases de contraseña, como la reciente xkcd. Más seguro que la mayoría de las contraseñas, generalmente más fácil de recordar que las buenas, y con frecuencia más de los 26 caracteres que permite el sitio.
David Thornley
0

No es una palabra del diccionario, o una variación trivial de la misma. Eso es. Un paquete de dos palabras del diccionario es prácticamente indescifrable. Un sustituto de una sola letra para un personaje que no es un sustituto obvio (0-O, 1-I, 5-S) también.

Además, si limita el tiempo de respuesta (contraseña aceptada / denegada después de 1s, y no se permiten dos intentos paralelos para el mismo inicio de sesión), uno debe finalizar (OK o error) antes de intentar con otro, cualquier letra de 6 letras que no esté en el diccionario. La contraseña de caracteres especiales tardará 9 años en romperse.

SF.
fuente
0

La complejidad del requisito de contraseña debe equilibrarse con el contenido de sus sitios. Un banco debe requerir una contraseña altamente compleja (mayúsculas, minúsculas, números y caracteres especiales). Sin embargo, si el contenido es trivial, como las búsquedas guardadas y los números de seguimiento, el requisito de contraseña debe ser relajado. La longitud mínima de 6 caracteres debería ser suficiente. De lo contrario, simplemente molestará a su audiencia y le impedirá crear un inicio de sesión.

Jeson Martajaya
fuente