Qué hacer con las contraseñas comprometidas a través de sitios maliciosos o hacks de sitios [duplicado]

2

Por lo tanto, mi pregunta o hipótesis es que: la mayoría de las personas usan solo algunas contraseñas para los servicios en línea de todos , obtener una de estas contraseñas significa que puede acceder a los sitios de esa persona fácilmente que no tienen ninguna otra. seguridad de inicio de sesión (por ejemplo, 2-factor). Un sitio web que toma contraseñas y correos electrónicos puede almacenar esas contraseñas de manera malintencionada, o un sitio pirateado puede hacerlo ...

Dos opciones vienen a la mente:

  1. Hash la contraseña del lado del cliente. Sí, "entonces el hash se convierte en la contraseña", pero si cada sitio usa un algoritmo de hashing ligeramente diferente, la misma contraseña de texto sin formato generará un hash diferente, y saber que el hash de un sitio no ayuda al atacante a ingresar a otro sitio .

  2. ¿Podríamos implementar un algoritmo de conocimiento cero para contraseñas?

pregunta benbyford 06.04.2017 - 09:26
fuente

3 respuestas

1

Esta no es una respuesta definitiva, solo algunos pensamientos.

1. Hashing del lado del cliente.

Veo lo que buscas: proteger la contraseña de texto sin formato. Una idea como esta se basa en cada sitio que usa un esquema de hashing diferente (de lo contrario, puede hacer listas de los sitios que usan el mismo esquema de hash y saber que sus hashes / contraseñas serán intercambiables).

Supongo que esto ayudaría un poco, pero ciertamente no resuelve el problema, y se basa en que los desarrolladores cambien sus esquemas de hashing de los valores predeterminados (lo que es peligroso por otras razones si no entienden realmente cómo funciona el hashing de contraseñas). ).

2. Prueba de conocimiento cero basada en contraseña

No soy un experto en pruebas de conocimiento cero, pero tengo entendido que son un subconjunto de Algoritmos de clave pública. Los algoritmos de clave simétrica (como el cifrado AES) se pueden combinar fácilmente con contraseñas ... clave pública, no tanto. Mi intuición es que si desarrolla esta idea por completo, básicamente va a reinventar el SSL autenticado por el cliente, ¿así que solo use eso?

Mis comentarios

Las contraseñas de la OMI en su conjunto son un barco que se hunde; son un sistema roto Esto se debe a que estamos en el punto de la historia en el que la capacidad del pirata informático de contraseñas de fuerza bruta está comenzando a superar la capacidad del cerebro humano de recordar contraseñas complejas.

En lugar de intentar parchar un barco que se hunde, sugiero que nosotros (como industria) nos movamos lo más rápido posible para adoptar sistemas de autenticación no basados en contraseñas. Cosas como las teclas 2FA o ssh no tienen los mismos problemas fundamentales que las contraseñas, y son el tipo de soluciones que deberíamos aceptar.

P.S. Al momento de escribir, la pregunta tiene 3 votos cerrados como "demasiado amplio". He hecho una cosa peligrosa aquí cuando edité la pregunta del OP para que fuera menos amplia, y luego publiqué una respuesta a la pregunta recién redactada. Espero que esto sea aceptable.

    
respondido por el Mike Ounsworth 06.04.2017 - 17:02
fuente
1

Esto es, sin duda, solo una respuesta de tipo "opinión personal" a una pregunta amplia, pero ...

La respuesta que realmente está buscando es un sistema de autenticación centralizado y confiable para servicios en línea, con configuración sin fricción y autenticación federada. Básicamente, usted (nosotros) necesitamos algo como Facebook para la autenticación, pero cuando la organización no estaba dispuesta / no podía rastrear el uso individual en múltiples sitios, y las personas tenían el control de su información personal (es decir, se proporciona un código de token único). para cada sitio para cada usuario, los datos personales solo se publican de forma opcional, etc.). Entonces, los sitios no necesitarían almacenar contraseñas en absoluto, y el problema desaparece (la mayoría de las personas puede mantener el acceso a un sistema razonablemente seguro, especialmente si ese sistema tiene una buena seguridad de acceso, TFA, etc.).

Desafortunadamente, ese sistema no existe actualmente y podría ser imposible de construir (e incluso si pudiera construirse, podría ser imposible mantener el solvente como una entidad comercial) ... pero esa es la respuesta "real". imho.

    
respondido por el Nick 06.04.2017 - 17:24
fuente
0

La respuesta que busca está en su pregunta: no permita que los usuarios usen la misma contraseña que en otros sitios web, ni aplique la autenticación de dos factores (2FA).

¿Cómo evitar que el usuario reutilice las contraseñas? En el lado del cliente, al lado del campo de contraseña, coloque un botón para generar una contraseña aleatoria larga. Coloque un límite inferior (16 por ejemplo) en el tamaño de la contraseña para que la mayoría de las contraseñas no se ajusten: esto le dará el incentivo para usar las contraseñas generadas. También puede aconsejar a sus usuarios que dejen que su navegador recuerde la contraseña.

Sin embargo, puede esperar una caída en el número de usuarios, ya que algunos podrían ser rechazados por estas restricciones. Pero hay formas psicológicas para hacer que realicen este paso adicional, como hacer que llenen un formulario fácil para crear su cuenta, y luego en otra página le piden su contraseña que indica que es el último paso. La mayoría no querrá que su tiempo dedicado a crear una cuenta se desperdicie en el último paso.

    
respondido por el A. Hersean 06.04.2017 - 11:51
fuente

Lea otras preguntas en las etiquetas