Autenticación sin guardar contraseña

1

¿Hay algún problema de seguridad con el siguiente protocolo de autenticación?

cuando el usuario crea su cuenta, proporciona su nombre de usuario y contraseña. Almaceno el nombre de usuario y blowfishEncrypt (toEncrypt = nombre de usuario, clave = contraseña) (llamémoslo token)

y luego, cuando el usuario desea iniciar sesión, simplemente vuelvo a crear el token (ella debe proporcionar el nombre de usuario y la contraseña) y comparo los dos.

La idea es no tener contraseñas almacenadas en la base de datos. Pero supongo que confío en el hecho de que si conozco el valor original y cifrado, no puedo obtener la contraseña.

¿Hay algo obviamente malo con este enfoque?

    
pregunta user19689 13.12.2012 - 13:19
fuente

2 respuestas

8

El problema es que la operación de encriptación es bastante eficiente y, por lo tanto, las contraseñas se pueden forzar de manera eficiente. Es mejor usar los estándares existentes que hacen exactamente lo que estás describiendo pero de una manera segura (y con frecuencia ya implementada), como en enlace

    
respondido por el pepe 13.12.2012 - 13:54
fuente
0

Se llama "sal" y se introdujo en la década de 1980 aproximadamente para el cifrado Unix. Es mejor utilizar los protocolos de cifrado existentes. Los errores son fáciles de construir y una auditoría muy complicada.

    
respondido por el fubra 14.12.2012 - 13:50
fuente

Lea otras preguntas en las etiquetas