Macosでlibfido2を使用してUSBセキュリティトークンにPINを設定する

Macosでlibfido2を使用してUSBセキュリティトークンにPINを設定する

FIDO-U2F/FIDO2 USBセキュリティトークンを購入し、macOS(sonoma)のgithubにキーとして追加しました。

他のウェブサイトでは動作しません。キーにまだPINがないからだそうです。

キーPINは、macOSからBrewを介してインストールできるlibfido2によって提供されるfido2-tokenコマンドを使用して設定できます。

しかし、パラメータとしてデバイス名が必要ですが、どのデバイス名を使用するのかわかりません。 Linuxではユーザーデバイスを追加する必要があり、キー販売者はこれを行う方法を提供しますが、macOSに関する情報は提供しません。

WindowsはキーPINを設定するためのシステムパラメータにGUIインターフェイスを提供しますが、これを行うためにWindowsシステムを使用することを避けたいと思います。

編集1:質問を投稿した後、Appleアイコン>このMacについて>詳細>システムレポート> USBに移動すると、接続されたUSBデバイスを見ることができることがわかりました。バージョンによってパスが若干異なる場合があります。

Brewでlsusbをインストールしたときに見たように、そこにキーがリストされていますが、会話に使用できる/ devは表示されません。

答え1

さらなる調査の最後に解決策を見つけました。

Brewを介してlibfido2をインストールしたら、コマンドを使用してFIDO2セキュリティトークン(USBキーなど)を一覧表示できますfido2-token -L。他のコマンドの機能を提供します。

libfido2 コマンド、特に fido2-token コマンドのマニュアルはここにあります。https://developers.yubico.com/libfido2/Manuals/fido2-token.html

$ fido2-token -L
ioreg://4295015862: vendor=0x1e0d, product=0xf1d0 (NEOWAVE NEOWAVE Winkeo FIDO2)

$ fido2-token -I ioreg://4295015862
proto: 0x02
major: 0x01
minor: 0x00
build: 0x00
caps: 0x05 (wink, cbor, msg)
version strings: U2F_V2, FIDO_2_0
extension strings: hmac-secret
aaguid: 3789da91f94346bc95c350ea2012f03a
options: rk, up, noplat, noclientPin
fwversion: 0x0
maxmsgsiz: 2048
maxcredcntlst: 0
maxcredlen: 0
maxlargeblob: 0
pin protocols: 1
pin retries: undefined
pin change required: false
uv retries: undefined

ご覧のとおり、noclientPin現在キーPINが設定されていません。

その後、キーPINを設定しました。

$ fido2-token -S ioreg://4295015862
Enter new PIN for ioreg://4295015862: 
Enter the same PIN again: 

$ fido2-token -I ioreg://4295015862
proto: 0x02
major: 0x01
minor: 0x00
build: 0x00
caps: 0x05 (wink, cbor, msg)
version strings: U2F_V2, FIDO_2_0
extension strings: hmac-secret
aaguid: 3789da91f94346bc95c350ea2012f03a
options: rk, up, noplat, clientPin
fwversion: 0x0
maxmsgsiz: 2048
maxcredcntlst: 0
maxcredlen: 0
maxlargeblob: 0
pin protocols: 1
pin retries: 8
pin change required: false
uv retries: undefined

これで、キーPINが設定されていることを確認できます。

関連情報