Definitivamente menos seguro
Las dos mayores preocupaciones se aplican a todos los tokens de software, no solo a FIDO.
Vulnerabilidades de la plataforma
Las claves de seguridad del hardware brindan una protección relativamente sólida de sus secretos criptográficos (ya sea una clave privada o un valor semilla). Esta protección se reduce considerablemente al implementar la funcionalidad en un sistema operativo de propósito general. Si el sistema operativo está comprometido, un atacante podría robar el secreto. Esto amplía el riesgo de incluir errores de firmware, modos de depuración, vulnerabilidades del sistema operativo, otro software, problema del usuario, etc.
Con los problemas conocidos que mantienen los teléfonos Android actualizados, es especialmente arriesgado en esa plataforma.
Control exclusivo
El segundo problema es que las credenciales comprometidas son evidentes con un token de hardware. Un usuario probablemente nunca notará cuando su teléfono inteligente es hackeado. Con toda probabilidad, la aplicación 2FA continuará funcionando normalmente. Con un token de hardware, un usuario definitivamente notará cuando su token se pierde o es robado.
Por lo general, puede asumir que un usuario tiene control exclusivo sobre su hardware 2FA hasta poco antes de que se notifique su pérdida. No puede haber tal suposición para las credenciales 2FA almacenadas en el software.
Mala seguridad, pero posiblemente valga la pena el compromiso
Al final, una implementación de software 2FA es más propensa a ser comprometida y menos propensa a detectar ataques exitosos.
Sin embargo, será más barato y más fácil de aprovisionar si sus usuarios ya tienen dispositivos compatibles.
Este es un compromiso clásico entre costo y seguridad, y las organizaciones toman decisiones como esta todo el tiempo. Personalmente, dado el bajo costo de los tokens de hardware, nunca elegiría la aplicación, incluso si fuera gratuita.