¿Existe algún riesgo si se filtra una base de datos de identificadores de claves de dispositivos U2F?
El registro de una clave funciona mediante:
- Enviar solicitud de inscripción con "AppID" a dispositivo U2F.
- El dispositivo U2F responde con "Key Handle, Public Key".
Trabajos de autenticación de:
Envíe la solicitud de autenticación con "AppID, Key Handle, Challenge" al dispositivo U2F.
El dispositivo U2F firma esto y devuelve "Desafío firmado" al servidor.
El "identificador de clave" es un elemento opaco, que puede ser una clave privada encriptada, que está cifrada por el controlador de la tarjeta inteligente U2F, pero también puede ser información que solo se puede usar para que el controlador de la tarjeta inteligente regenere la clave privada , como una semilla que se coloca en un RNG determinista que es único para ese dispositivo U2F, una rutina de generación HMAC (Yubico U2F usa esto), o podría ser simplemente una identificación que apunta al almacenamiento interno en la clave U2F, pero eso limitaría la cantidad de sitios web en los que se puede registrar la clave U2F.
De acuerdo con el estándar, el usuario debe ser autenticado por nombre de usuario y contraseña antes de iniciar la autenticación U2F.
Pero digamos que omitimos la contraseña completamente, y en su lugar permitimos que el usuario ingrese su nombre de usuario, luego son llevados a la autenticación U2F y, voilá, están en.
Sin embargo, esto significaría que un usuario malintencionado podría enumerar todos los manejadores de claves, por lo que perdería todos los manejadores de claves en la base de datos.
¿Sería un riesgo para la seguridad el manejo de llaves con fugas? Parece que no debería ser así, pero como los manejadores de claves podrían contener claves privadas encriptadas, podrían ser (?). Un identificador de clave no sería utilizable por un sitio que no sea su AppID designado, ya que el dispositivo U2F rechazaría cualquier intento de autenticación que use un identificador de clave "robado". Sin embargo, esto lo impone el software / navegador cliente, ya que un software / navegador cliente malicioso podría simplemente falsificar el ID de aplicación.