Acabo de leer algunos mensajes sobre el soporte de FIDO (o la falta de ellos) en los administradores de contraseñas y quiero verificar si mi entendimiento es correcto.
Mi entendimiento de FIDO (v1) es que el dispositivo contiene un secreto que nunca dejará de usar, y todo lo que tiene que soportar son firmas digitales basadas en pares de claves derivadas de este secreto. Más o menos, cuando inicia sesión en example.com, el dispositivo calcula un par de llaves específico del sitio en función de algún KDF (secreto, "example.com") y luego firma el desafío del servidor con eso.
En otras palabras, un token FIDO no tiene que funcionar como fuente de material de codificación secreta, lo que significa que no tiene sentido usarlo con un administrador de contraseñas sin conexión / independiente. Después de todo, desea que la base de datos de contraseñas se cifre con una clave que no esté almacenada en la base de datos o junto a ella, por lo que establece una contraseña maestra de la que deriva la clave. Un dispositivo FIDO le permite probar la posesión de una clave, pero como es (por razones prácticas) "conocimiento cero", no sirve para desbloquear una base de datos cifrada.
(En contraste, los yubikeys que ofrecen otros modos, así como FIDO, tienen sentido junto con los administradores de contraseñas, precisamente porque pueden mantener su clave y exportarla cuando necesite abrir el administrador de contraseñas).
Entonces, por ejemplo, pwsafe + yubikey existe, pero pwsafe + genérico FIDO no es probable que ocurra pronto. (No he comprobado el estándar FIDO2 en detalle, tal vez tenga un modo para esto).
Pero luego lees cosas como keeper password manager habilita la compatibilidad con FIDO . ¿Cómo se supone que funciona esto? ¿Se guarda el secreto de alguna forma en sus servidores, que solo se le entrega cuando se autentica con éxito con FIDO?
(Me pregunto si esto va en un intercambio de pila de datos de cifrado o cifrado, pero comenzaré publicándolo aquí).