¿Me equivoco al creer que las contraseñas nunca deben ser recuperables (hash de una manera)?

40

Recientemente olvidé mi contraseña para la cuenta en línea de nuestro proveedor de cable, solo para descubrir que nos la enviaron por texto simple en un correo electrónico. Rápidamente envié un correo electrónico al servicio de atención al cliente preguntándoles si estaban almacenando contraseñas en texto sin formato en su base de datos. De hecho, obtuve una respuesta rápida de uno de sus ingenieros de software que dijo que debido al "diseño de la aplicación" era necesario cifrar las contraseñas en un formato recuperable.

No envié un correo electrónico para preguntar si estaban usando sal, pero en general, pensé que se estaban adhiriendo al mínimo común denominador con respecto a la seguridad y recuperación de contraseñas.

¿Estoy en el error aquí? Si están utilizando un método de cifrado fuerte, ¿es esto perfectamente aceptable?

    
pregunta Rory Alsop 30.07.2011 - 06:21
fuente

3 respuestas

46

Para un ISP es muy probable que almacenen su contraseña en texto sin formato o utilizando un cifrado reversible. Este cifrado reversible no es un hash como afirma la respuesta.

Los ISP tienden a no utilizar hashes de una manera porque varios protocolos antiguos usan la contraseña como parte de desafío-respuesta digerir autenticación.

Lo más notable es APOP , que es una extensión del antiguo Protocolo de la Oficina de Correos. En el POP normal, el nombre de usuario y la contraseña se transmiten en texto claro, lo que obviamente es malo. Así que la gente pensó en una extensión que evitaba los ataques de olfateo y reproducción: el servidor envía un identificador único (por alguna extraña razón se llama marca de tiempo en la especificación, aunque es más). El cliente concatena este identificador y la contraseña antes de calcular el hash MD5. El servidor necesita hacer el mismo cálculo, por lo tanto, necesita la contraseña clara. Este protocolo está desactualizado; POP sobre SSL se debe utilizar en su lugar. Pero todavía es de uso común.

Además, los ISP a menudo ofrecen una serie de servicios y lograr que todos utilicen un mecanismo de autenticación central es un gran desafío. A menudo, las contraseñas se replican en esos servidores. Dado que esta replicación debe ser reproducible en cualquier momento por razones de confiabilidad, a menudo se almacena la contraseña de texto simple. Si una autenticación central no es posible, aún sería preferible almacenar los diferentes formatos cifrados en la fuente de replicación en lugar de la contraseña simple.

Obviamente, es extremadamente mala práctica entregar esas contraseñas a los clientes y al personal de soporte de primer nivel. Enviarlos en un simple correo electrónico lo hace aún peor.

    
respondido por el Hendrik Brummermann 30.07.2011 - 12:05
fuente
12

Hay muchos protocolos que requieren que las contraseñas se almacenen en texto plano (o cifradas, pero no con hash), por ejemplo, la autenticación HTTP Digest, por lo que existen razones legítimas para almacenar las contraseñas en un formato recuperable. Hecho bien, esto es aceptable. En el caso de un almacén de contraseñas expuestas (y una clave de cifrado), la mayoría de las contraseñas se pueden recuperar a un costo muy bajo, incluso si se las revisa, por lo que la diferencia no es tan grande.

Pero, su descripción de sus acciones no parece realmente convincente; puede ser legítima, pero no apostaría por ello.

Como usuario , sin embargo, nunca debe confiar en que su contraseña no esté almacenada en texto simple (por ejemplo, visible para las personas administrativas que ven su cuenta), o que el servicio realmente conserve la contraseña seguro. Esto significa que las precauciones normales de no compartir contraseñas entre sitios y hacer que la contraseña sea difícil de recordar con solo echarle un vistazo.

    
respondido por el Nakedible 30.07.2011 - 10:33
fuente
7

Los ISP, como todos los demás, son vulnerables a ataques internos, compromisos externos e ingeniería social, por lo que la práctica que describe es muy mala. Lo más importante es que no deberían enviarte a ti tu contraseña, que es demasiado fácil de diseñar socialmente. Deben restablecer su contraseña y enviarle un token para iniciar sesión y crear una nueva.

Más allá de eso, las personas reutilizan las contraseñas a pesar de todos nuestros esfuerzos para alentarlas a no hacerlo, por lo que cualquier almacenamiento en línea de contraseñas pone a los usuarios en riesgo.

Como señalan otros, hay algunos protocolos antiguos que requieren texto plano, como APOP y HTTP Digest Authn, que probablemente expliquen estos procesos internos antiguos. Microsoft tiene el mismo problema con algunos de sus sistemas más antiguos. Pero esos son malos protocolos que deberían eliminarse, debido a exactamente este tipo de razones.

De hecho, las contraseñas razonablemente buenas con un hash se pueden proteger de las grietas.
Consulte ¿Cómo hacer hash de forma segura las contraseñas? para saber cómo hacerlo (y cómo no hacerlo hazlo!)

    
respondido por el nealmcb 30.07.2011 - 19:09
fuente

Lea otras preguntas en las etiquetas