Me he estado preguntando acerca de esto por un tiempo, pero no pude encontrar mucho en la web, por lo que espero que alguien pueda orientarme en la dirección correcta para entender mejor este tema.
¿Sería viable / seguro usar algo como un dispositivo Fido U2F como método de autenticación principal (principalmente pensando en aplicaciones web aquí, pero posiblemente no se limita a)?
He estado usando certificados SSL del lado del cliente en el pasado para esto, pero por supuesto eso requiere configuración del cliente; Sé que lo mismo debería ser posible con una tarjeta inteligente estándar, pero, por supuesto, la mayoría de los dispositivos en la actualidad carecen de un lector de tarjetas inteligentes. Las claves Fido parecen el factor de forma perfecto para transportar un par de claves privadas sin necesidad de un lector; para dispositivos móviles, solo puede usar NFC (como lo hace Yubikey más reciente) o un adaptador "on the go" incorporado.
Ahora, comprendo el problema de la clave robada, pero me imagino que podría resolverse / mitigarse usando un PIN para desbloquear la clave, como ocurre con la mayoría de las tarjetas inteligentes. Como medida de seguridad adicional, los sitios web pueden solicitar una contraseña como "factor 2". Eso significaría, por supuesto, tener que recordar una contraseña, pero solo para aquellos sistemas realmente críticos, absolutamente desea estar bien protegido.
En mi esperanza, algo como esto podría ayudar en gran medida a mejorar tanto el punto de vista de seguridad como a reducir la fricción de inicio de sesión (para los usuarios) y la complejidad (para los implementadores) también.
Ahora, ¿hay algún problema / bloqueo importante en esta forma? Casi suena como si los navegadores ya pudieran usar una tarjeta inteligente para la autenticación, lo único que faltaría sería desarrollar un dispositivo real (asumiendo que no hay manera de agregar un PIN a los dispositivos Fido) ..