Lo sé, lo sé, ¡las contraseñas de texto claro son terribles y siempre debes almacenar un hash!
Sin embargo, estoy interesado en todos de los problemas con el almacenamiento de contraseñas de texto claro para que pueda tomar una decisión razonablemente segura. ¿Hay otros problemas además de los dos obvios?
- Muchas personas reutilizan sus contraseñas y usted las pone en riesgo
- Un atacante ahora puede iniciar sesión como usuario en su sitio (aunque, ¿no podrían simplemente cambiar el hash en la base de datos para que sea una nueva contraseña en ese momento / ya tienen acceso a toda la información?)
Motivación : Si la contraseña en cuestión se genera aleatoriamente y solo la utiliza el servidor para autenticarse en nombre del usuario ante un servicio (un intento de "inicio de sesión único"), se niega el riesgo principal de reutilización. Si un atacante comprometiera la base de datos, podría iniciar sesión directamente en el servicio de terceros. Pero si tener la base de datos comprometida es algo de magnitud peor que tener un atacante para obtener acceso al servicio de terceros, ¿sigue siendo un problema?
DETALLES AGREGADOS DEL COMENTARIO:
Estoy intentando autenticarme desde un servidor con información de salud en un servidor Jabber de terceros, para que el cliente nunca tenga que conocer las credenciales de inicio de sesión del servidor Jabber. Luego, los tokens autenticados se pueden pasar del servidor al cliente para que el cliente pueda comunicarse directamente con el servidor Jabber.
Obviamente, el acceso a los datos de salud en la base de datos es un orden de magnitud más desastroso que obtener acceso al servicio Jabber.
Estoy tratando de tener cuidado aquí porque desconfío del texto claro, pero parece ser el mejor enfoque en esta situación en particular.