SoftU2F项目被弃用,不再支持。当浏览器不支持时,创建了SoftU2F以支持U2F的触摸ID,但是现在使用触摸ID在MACOS上使用touch ID在:
SoftU2F存在几个无法解决的兼容性问题,因此我们建议切换到这些替代方案之一。
感谢多年来使用SoftU2F的所有人,并特别感谢Ben Toews写作和维护原始实施!

Soft U2F是MACOS的软件U2F验证器。它模拟了硬件U2F HID设备,并使用MACOS键链执行加密操作。该工具可与Google Chrome/Chromium,Safari,Firefox和Opera的内置U2F实现一起使用。
我们认真对待该项目的安全性。向GitHub Bug Bounty程序报告任何安全漏洞。
您可以在此处下载安装程序。
该应用程序在后台运行。当加载与U2F兼容的浏览器中的站点尝试在软件令牌上注册或身份验证时,您会看到一条通知要求您接受或拒绝请求。您可以在Yubico的U2F演示网站上进行实验。
卸载发射代理
$ launchctl unload ~/Library/LaunchAgents/com.github.SoftU2F.plist
删除发射代理PLIST
$ rm ~/Library/LaunchAgents/com.github.SoftU2F.plist
删除.app
$ sudo rm -rf /Applications/SoftU2F.app/
卸载内核扩展程序(如果浏览器仍在与驱动程序交谈,则可能会失败。删除.kext并重新启动系统将修复此功能)
$ sudo kextunload /Library/Extensions/softu2f.kext
删除内核扩展
$ sudo rm -rf /Library/Extensions/softu2f.kext
告诉MacOS忘记安装
$ sudo pkgutil --forget com.GitHub.SoftU2F
完毕
USB身份验证器将关键材料存储在硬件中,而软U2F将其钥匙存储在MacOS键链中。有一个论点是,将钥匙存储在硬件中更加安全,因为在计算机上运行的恶意软件可以访问钥匙链的内容,但无法导出硬件身份验证器的内容。另一方面,恶意软件也可以访问浏览器的cookie,并可以完全访问所有经过身份验证的网站会话,而不管u2F键存储在哪里。
对于计算机上安装的恶意软件,U2F的硬件和软件密钥存储之间的一个有意义的区别是妥协的持续时间。使用硬件密钥存储,您只有在计算机上运行恶意软件时才会妥协。使用软件密钥存储,即使删除了恶意软件,您也可能会继续妥协。
有些人可能会决定上述攻击方案值得在硬件密钥存储的可用性权衡。但是,对于许多人来说,基于软件的U2F的安全性就足够了,有助于减轻许多常见攻击,例如密码转储,蛮力攻击和相关的漏洞利用。
您必须安装Xcode命令行工具来构建此项目。
# Install Commaned Line Tools
xcode-select --install
# Build softu2f.kext and SoftU2F.app.
script/build软U2F有两个部分:驱动程序和应用程序。要使用驱动程序的修改版本,您必须禁用系统完整性保护。该应用程序可以正常修改并通过Xcode运行。
每个使用U2F的网站都有一个应用程序ID。例如,Yubico的U2F演示页面的APP-ID是https://demo.yubico.com 。当低级U2F Authenticator收到注册/身份验证网站的请求时,它不会收到友好的App-ID字符串。相反,它收到App-ID的SHA256摘要。为了在网站试图注册/身份验证时显示有用的警报消息,该存储库中保留了App-ID摘要列表。您可以在此处找到列表。如果您公司的App-ID缺少此列表,请打开拉动请求以添加它。
该项目已获得MIT许可,除了/inc中的文件,其许可随附。