SoftU2Fプロジェクトは非推奨であり、サポートされなくなりました。 SoftU2Fは、ブラウザがサポートしていない場合にU2FのTouch IDをサポートするために作成されましたが、機能はTouch IDを使用してMACOで利用可能になりました。
SoftU2Fには、修正されないいくつかの互換性の問題があるため、これらの代替品の1つに切り替えることをお勧めします。
長年にわたってSoftU2Fを使用してくれたすべての人に感謝し、元の実装を書いて維持してくれたBen Toewsに感謝します!

Soft U2Fは、MacOSのソフトウェアU2F認証器です。ハードウェアU2F HIDデバイスをエミュレートし、MacOSキーチェーンを使用して暗号化操作を実行します。このツールは、Google Chrome/Chromium、Safari、Firefox、およびOperaの組み込みU2F実装で動作します。
このプロジェクトのセキュリティを真剣に受け止めています。 Github Bug Bountyプログラムにセキュリティの脆弱性を報告します。
ここからインストーラーをダウンロードできます。
アプリはバックグラウンドで実行されます。 U2F互換性のあるブラウザにロードされたサイトがソフトウェアトークンに登録または認証を試みると、リクエストを受け入れるか拒否するように依頼する通知が表示されます。 YubicoのU2Fデモサイトで実験できます。
LaunchDエージェントをアンロードします
$ launchctl unload ~/Library/LaunchAgents/com.github.SoftU2F.plist
起動エージェントプリストを削除します
$ rm ~/Library/LaunchAgents/com.github.SoftU2F.plist
.appを削除します
$ sudo rm -rf /Applications/SoftU2F.app/
カーネル拡張機能をアンロードします(ブラウザがドライバーと話している場合、これは失敗する可能性があります。.kext .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キーが保存される場所に関係なく、すべての認証されたWebサイトセッションに完全にアクセスできます。
コンピューターにインストールされているマルウェアの場合、U2Fのハードウェアとソフトウェアキーストレージの意味のある違いは、妥協の期間です。ハードウェアキーストレージを使用すると、マルウェアがコンピューターで実行されている間にのみ妥協されます。ソフトウェアキーストレージを使用すると、マルウェアが削除された後でも、引き続き侵害される可能性があります。
上記の攻撃シナリオは、ハードウェアキーストレージのユーザビリティトレードオフに値すると判断する人もいます。しかし、多くの人にとって、ソフトウェアベースのU2Fのセキュリティは十分であり、パスワードダンプ、ブルートフォース攻撃、フィッシング関連のエクスプロイトなどの多くの一般的な攻撃に対して緩和するのに役立ちます。
このプロジェクトを構築するために、Xcodeコマンドラインツールをインストールする必要があります。
# Install Commaned Line Tools
xcode-select --install
# Build softu2f.kext and SoftU2F.app.
script/buildソフトU2Fには、ドライバーとアプリの2つの部分があります。ドライバーの変更されたバージョンを使用するには、システムの整合性保護を無効にする必要があります。アプリは、Xcodeを介して正常に変更して実行できます。
U2Fを使用するすべてのWebサイトには、APP-IDがあります。たとえば、YubicoのU2FデモページのAPP-IDはhttps://demo.yubico.comです。低レベルのU2F AuthenticatorがWebサイトを登録/認証するリクエストを受信した場合、フレンドリーなApp-ID文字列は受け取りません。代わりに、APP-IDのSHA256ダイジェストを受け取ります。 Webサイトが登録/認証を試みているときに有用なアラートメッセージを表示できるようにするには、このリポジトリにApp-IDダイジェストのリストが維持されます。ここでリストを見つけることができます。会社のApp-IDがこのリストから欠落している場合は、プルリクエストを開いて追加します。
このプロジェクトは、自分のライセンスに含まれている/incのファイルを除き、MITライセンスを受けています。