Tengo un servicio de directorio que puede hablar varios protocolos y se usa para la autenticación de usuarios. Actualmente, las credenciales de usuario se almacenan utilizando Bcrypt para protegerlas en caso de una base de datos comprometida.
Lamentablemente, hay una serie de servicios que me gustaría apuntar a este servidor que solo admiten MS-CHAPv2 para la autenticación (específicamente equipos inalámbricos). MS-CHAPv2 no envía la contraseña al servidor de autenticación, sino que aplica MD4 a la contraseña para derivar una clave de cifrado y luego la usa para cifrar un hash de desafío que consiste en valores aleatorios elegidos tanto por el cliente como por el servidor y el contraseña del usuario.
Mi sensación inicial es para admitir MS-CHAPv2. Tendría que almacenar la contraseña del usuario en texto sin formato o el MD4 de la contraseña del usuario. Ninguno de estos son aceptables para mí.
¿Hay alguna forma de almacenar las contraseñas de los usuarios de manera segura y aún así ser compatible con MS-CHAPv2?