Estoy implementando un servicio donde las contraseñas específicas de la aplicación parecen una buena opción para mejorar la seguridad. Una pregunta sobre por qué y cuándo podrían tener sentido ya se ha discutido aquí Cuenta de Google: implicaciones del uso de contraseñas específicas de la aplicación
Ahora, estoy interesado en cómo, especialmente con hashes fuertes como bcrypt o scrypt.
- Supongo que Google, iCloud & Co almacena los hashes de las contraseñas específicas de la aplicación.
- Dado que todas las contraseñas específicas de la aplicación se asignan al mismo nombre de usuario, ¿eso significa que uno tiene que comparar el hash de la contraseña dada con todos los hashes conocidos del nombre de usuario dado?
- Si es así, y digo que uso un algoritmo de cifrado como bcrypt o scrypt con maxtime entre 100 y 200 milisegundos, ¿no tendría que paralelizar el hashing y amp; ¿Comparación para minimizar el tiempo de espera en el peor de los casos?
- ¿Hay alguna buena razón por la que decidieron no usar nombres de usuario específicos de la aplicación? p.ej. por ejemplo, tengo una cuenta "foo" y ":" no está permitido en un nombre de usuario, ¿por qué no usar "foo: bar" como el nombre de usuario específico de la barra de aplicaciones de la cuenta "foo"? De esa manera, la relación nombre de usuario < - > La contraseña es 1: 1 de nuevo. ¿Es porque los usuarios no deberían tener que recordar nombres múltiples?
Muchas gracias por tus pensamientos.