El proyecto SoftU2F está en desuso y ya no es compatible. SoftU2F se creó para admitir Touch ID para U2F cuando los navegadores no lo admitieron, pero la funcionalidad ahora está disponible en macOS usando Touch ID en:
SoftU2F tiene varios problemas de compatibilidad que no se solucionarán, por lo que recomendamos cambiar a una de estas alternativas.
¡Gracias a todos los que usaron SoftU2F a lo largo de los años, y un agradecimiento especial a Ben Toews por escribir y mantener la implementación original!

Soft U2F es un autenticador de software U2F para macOS. Emula un dispositivo HID U2F de hardware y realiza operaciones criptográficas utilizando el llavero MacOS. Esta herramienta funciona con Google Chrome/Chromium, Safari, Firefox y las implementaciones U2F incorporadas de Opera.
Tomamos en serio la seguridad de este proyecto. Informe cualquier vulnerabilidad de seguridad al programa GitHub Bug Bounty.
Puede descargar el instalador aquí.
La aplicación se ejecuta en segundo plano. Cuando un sitio cargado en un navegador compatible con U2F intenta registrarse o autenticarse con el token de software, verá una notificación pidiéndole que acepte o rechace la solicitud. Puede experimentar en el sitio de demostración U2F de Yubico.
Descarga el agente de lanzamiento
$ launchctl unload ~/Library/LaunchAgents/com.github.SoftU2F.plist
Eliminar el agente de lanzamiento Plist
$ rm ~/Library/LaunchAgents/com.github.SoftU2F.plist
Eliminar el .app
$ sudo rm -rf /Applications/SoftU2F.app/
Descargue la extensión del núcleo (esto puede fallar si un navegador todavía está hablando con el controlador. Eliminar el .kext y reiniciar el sistema solucionará esto)
$ sudo kextunload /Library/Extensions/softu2f.kext
Eliminar la extensión del núcleo
$ sudo rm -rf /Library/Extensions/softu2f.kext
Dígale a MacOS que se olvide de la instalación
$ sudo pkgutil --forget com.GitHub.SoftU2F
Hecho
Un autenticador USB almacena material clave en hardware, mientras que Soft U2F almacena sus teclas en el llavero MacOS. Hay que argumentar que es más seguro almacenar las claves en el hardware, ya que el malware que se ejecuta en su computadora puede acceder al contenido de su llavero, pero no puede exportar el contenido de un autenticador de hardware. Por otro lado, el malware también puede acceder a las cookies de su navegador y tiene acceso completo a todas las sesiones de sitios web autenticadas, independientemente de dónde se almacenen las claves U2F.
En el caso de malware instalado en su computadora, una diferencia significativa entre el almacenamiento de hardware y clave de software para U2F es la duración del compromiso. Con el almacenamiento de la llave de hardware, solo se ve comprometido mientras el malware se ejecuta en su computadora. Con el almacenamiento de clave de software, podría continuar comprometiéndose, incluso después de que se haya eliminado el malware.
Algunas personas pueden decidir que el escenario de ataque anterior vale la compensación de usabilidad del almacenamiento de llaves de hardware. Pero, para muchos, la seguridad de U2F basada en software es suficiente y ayuda a mitigar contra muchos ataques comunes, como vertederos de contraseñas, ataques de fuerza bruta y exploits relacionados con el phishing.
Debe tener herramientas de línea de comandos XCode instaladas para crear este proyecto.
# Install Commaned Line Tools
xcode-select --install
# Build softu2f.kext and SoftU2F.app.
script/buildHay dos partes para suave U2F: el controlador y la aplicación. Para usar una versión modificada del controlador, debe deshabilitar la protección de integridad del sistema. La aplicación se puede modificar y ejecutar a través de Xcode normalmente.
Cada sitio web que usa U2F tiene una aplicación para aplicar. Por ejemplo, el ID de APP de la página de demostración U2F de Yubico es https://demo.yubico.com . Cuando el autenticador U2F de bajo nivel recibe una solicitud para registrar/autenticar un sitio web, no recibe la cadena amigable de la aplicación APP-ID. En cambio, recibe un resumen de SHA256 de la APP-ID. Para poder mostrar un mensaje de alerta útil cuando un sitio web intenta registrarse/autenticarse, en este repositorio se mantiene una lista de digestos de ID de App-ID. Puedes encontrar la lista aquí. Si falta el ID APP-IN de su empresa en esta lista, abra una solicitud de extracción para agregarla.
Este proyecto tiene licencia MIT, excepto los archivos en /inc , que se incluyen con sus propias licencias.