SoftU2F 프로젝트는 더 이상 사용되지 않으며 더 이상 지원되지 않습니다. Browsers가 지원하지 않을 때 U2F의 Touch ID를 지원하기 위해 SoftU2F가 만들어졌지만 이제 Touch ID를 사용하여 MacOS에서 기능을 사용할 수 있습니다.
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 인증자는 주요 자료를 하드웨어에 저장하는 반면 Soft U2F는 MacOS 키 체인에 키를 저장합니다. 컴퓨터에서 실행되는 맬웨어가 키 체인의 내용에 액세스 할 수 있지만 하드웨어 인증 자의 내용을 내보낼 수 없기 때문에 하드웨어에 키를 저장하는 것이 더 안전하다는 주장이 있습니다. 반면, 맬웨어는 브라우저의 쿠키에 액세스 할 수 있으며 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 데모 페이지의 앱 -ID는 https://demo.yubico.com 입니다. 낮은 수준의 U2F 인증자가 웹 사이트를 등록/인증하라는 요청을 받으면 친숙한 App-ID 문자열을받지 못합니다. 대신, 그것은 앱 -ID의 SHA256 다이제스트를받습니다. 웹 사이트가 등록/인증을 시도 할 때 유용한 경고 메시지를 표시하려면이 저장소에서 앱 ID 다이제스트 목록이 유지됩니다. 여기에서 목록을 찾을 수 있습니다. 이 목록에서 회사의 앱 -ID가 누락 된 경우 풀 요청을 엽니 다.
이 프로젝트는 자체 라이센스에 포함 된 /inc 의 파일을 제외하고 MIT 라이센스가 부여됩니다.