¿Es una mala idea usar cadenas codificadas en base 64 para las contraseñas?

4

En primer lugar, perdóname si esto parece una pregunta extremadamente ingenua y sin educación. Cualquier forma, por lo que arriba, ¿es una mala idea? Quiero decir, pensarlo, no parece una mala idea. Mi lógica es la siguiente:

Los sitios deben almacenar las contraseñas de forma segura de todos modos, con sales y hashes (y en ocasiones pimientos). Al usar una contraseña estándar, como Password (solo para ejemplos), se agregará a un formato mucho más "ilegible" para el almacenamiento cuando se use para una cuenta en un sitio web. Si se hace como debería, debería tomar un tiempo para que cualquiera descifre la contraseña.

Ahora, si baso el 64 Password en UGFzc3dvcmQ= y luego lo uso como mi contraseña, ya tengo 3 caracteres adicionales y luego incluí el hecho de que se salvan y se borren. ¿Debería crear una contraseña con hash más segura? Derecho?

¿La base 64 hace que una contraseña sea más segura? ¿Los sitios web codifican / decodifican en base a 64 antes de incluir sal y hash?

Entiendo que si alguien logra obtener la base de datos de contraseñas y tiene una lista de todos los hashes, y asumiendo que logran descifrar mi contraseña a UGFzc3dvcmQ= , creo que es fácil adivinar la base 64, descodificarla. ya que es una cadena de aspecto obvio.

En última instancia, ¿me servirá mejor si utilizo una contraseña codificada en base 64 en lugar de completa en texto claro? Además, ¿qué sucede si realizo varias codificaciones agregando caracteres adicionales entre las codificaciones? Por ejemplo:

password > UGFzc3dvcmQ= > U**E**GFz**n**c3**C**dv**o**cm**d**Q**E**= > VUVHRnpuYzNDZHZvY21kUUU9
    
pregunta matthew walker 22.12.2016 - 09:49
fuente

3 respuestas

5

Todas las preguntas del tipo "¿Este truco inteligente hará que mi contraseña sea más segura?" depende de la misma cosa: ¿Qué contraseñas intenta el atacante primero cuando se fuerza de forma bruta el hash? La persona que te ataca no es estúpida, y probará las cosas que tienen más probabilidades de tener éxito primero, y las menos probables más adelante.

A menos que el atacante te esté atacando específicamente y conozca tu esquema de codificación, es más probable que pruebe la contraseña no codificada antes de la contraseña codificada. Así que, en ese sentido, esto es una victoria para usted (al menos hasta que todos empiecen a hacerlo y los atacantes se vuelvan tan comunes que comiencen a intentar este tipo de cosas temprano).

¿Pero es muy práctico? ¿Vas a memorizar la cadena codificada? Entonces, ¿por qué no memorizar algo al azar (y por lo tanto más seguro) en su lugar? ¿Utilizará algún servicio en línea para codificar la contraseña cada vez que la use? Entonces es posible que lo haya enviado a través de HTTP y que se registre en registros en todo el Internet, y eso no es muy bueno. Entonces, ¿vas a instalar algún software que haga la codificación localmente? Entonces, ¿por qué no instalar simplemente un administrador de contraseñas reales ?

Entonces, sí, en un sentido estricto, UGFzc3dvcmQ= es una contraseña mejor que password . Pero no, esto no alivia la necesidad de contraseñas y administradores de contraseñas completamente aleatorios.

    
respondido por el Anders 22.12.2016 - 10:16
fuente
1

Siempre que su contraseña sea lo suficientemente compleja, no esté basada en un diccionario, etc. no importa cómo lo recuerde. Es cómo se almacena y se asegura lo que cuenta. Agregar un paso adicional mediante la codificación B64 no lo hará más seguro si el resultado se almacena simplemente como un hash MD5.

Sin embargo, lo que está haciendo es pasar de la usabilidad a la seguridad con una dosis de impracticabilidad para el usuario final. :)

    
respondido por el CuttlefishJones 22.12.2016 - 11:17
fuente
0

Piénsalo así. Cuando elige una contraseña para una cuenta en un sitio web, tiene que confiar en el sitio web que hace un buen trabajo de hashing de la contraseña. Elegir una contraseña débil como 'contraseña' y codificación (la codificación no ofrece beneficios para las contraseñas de texto simple, aquí hay un sitio donde puede decodificar cadenas codificadas en base64: enlace ) siempre es una mala idea porque su contraseña puede estar mal asegurada en su base de datos. Así que primero elige una contraseña que sea única, lo suficientemente larga y aleatoria. Este tipo de construcciones extrañas de codificación de agregar caracteres y codificación nuevamente son totalmente innecesarias, mi consejo es que solo use un administrador de contraseñas que pueda generar (y recordar) una buena contraseña aleatoria para usted.

    
respondido por el John Opdenakker 22.12.2016 - 10:11
fuente

Lea otras preguntas en las etiquetas