Arch Linux(Manjaro)のWindowsでYubikeyを使用して設定する

Arch Linux(Manjaro)のWindowsでYubikeyを使用して設定する

WindowsにYubiKeyが設定されており、Manjaro(Chrome)で使用しようとしています。オンラインで多くを確認しましたが、この問題を解決できないようです。

を使用すると、ykman list次のようになります。

YubiKey 5 NFC [OTP+FIDO+CCID] Serial: ...

追いかけようとするこのガイドラインyubicoウェブサイト上で。

また、私が見つけたYubiKeyに関するArchWiki記事libu2f-host私のコンピュータにインストールされ、追加しました。70-u2f.rules/etc/udev/rules.d/ディレクトリに追加します(指示には、インストール時にルールを自動的に追加する必要があることを示しますがlibu2f-host)。

を使用すると、ykman-gui次のインターフェースが表示されます。 ここに画像の説明を入力してください。

ただし、Chromeを開いてYubiKeyを使用する必要があるWebサイトにログインしようとすると、次のエラーが発生します。

ここに画像の説明を入力してください。

これは次のことを意味します。

No valid client certificate found in the request. No valid certificates found in the user's certificate store.

YubiKeyをまったく接続しないと、同じエラーメッセージが表示されることに注意する価値があります!

それでは、これを行う方法はありますか?足りないステップはありますか?

ベストアンサー1

Webサイトがクライアント証明書を待っているように見えるため、FIDO U2Fモードではなく、YubiKeyのPIV(スマートカード)モードを特別にサポートすることもできます。

これをサポートするには、ツールをインストールしccidてパッケージ化し、それを使用するようにChromeブラウザを設定する必要があります。これを行うには、まずブラウザのすべてのインスタンスを閉じてから、次のコマンドを使用します。openscnssmodutil/usr/lib/opensc-pkcs11.so

modutil -dbdir sql:$HOME/.pki/nssdb/ -add "Smart card/YubiKey PKCS#11" -libfile /usr/lib/opensc-pkcs11.so

デフォルトでは、YubiKey PIVモードはCCID準拠のスマートカードリーダーとPKCS#11準拠のスマートカードの組み合わせをエミュレートします。

(源泉:ArchWiki YubiKeyページのこのセクションそしてCACスマートカード認証ガイドライン.)

CCIDはUSB接続のスマートカードリーダーや他のデバイスとインターフェースするためのハードウェア規格であり、PKCS#11はPIVスマートカードと通信するためのソフトウェア標準です。 2つの間のギャップを解消するために、ccidサービスドライバはpcscd次のためのPC / SCソフトウェアインターフェイスを提供します。どのスマートカードに似たデバイスどのopensc低レベルのPC / SCインターフェースを使用し、特にPIV目的のための高レベルのPKCS#11互換ソフトウェアインターフェースを提供するライブラリーを提供します。 (はい、これは複雑で多層システムです。)

ChromeはChromiumと同様に、$HOME/.pki/nssdb証明書管理にNSS共有DBを使用します。このコマンドは、互換性のあるスマートカードリーダーと同様のデバイスにアクセスするために使用されるOpenSC PKCS#11ライブラリへの参照を追加します。既定では、共有NSS DB(Chromeを含む)を使用するすべてのデバイスに「次のスマートカードを使用できます。認証用のクライアント証明書の潜在的なソースがある場合は、そのコンピュータのスマートカードリーダーサブシステムと通信する方法次のようになります。」

このコマンドは実行時にYubiKeyを接続する必要はありませんが、Chromeブラウザが接続されている必要があります。いいえコマンドの実行中に実行:ブラウザが実行されている場合は、すでにNSS DBを読み込み、終了時に以前の値で上書きされるため、コマンドの実行は効果的にキャンセルされます。

何らかの理由でChromeにはこの設定を構成するためのGUIが含まれていないため、modutilこれを構成するにはパッケージのツールが必要です。nss

この設定の問題を解決する必要がある場合は、まずYubiKeyを挿入し、opensc-tool --list-readersOpenSCレイヤーでYubiKeyが認識されていることを確認してください。応答は次のようになります。

$ opensc-tool --list-readers
# Detected readers (pcsc)
Nr.  Card  Features  Name
0    Yes             Yubico YubiKey OTP+FIDO+CCID 00 00

それでも機能しない場合は、pcscdデーモンが実行されていることを確認してください。

その後、opensc-tool --reader N --name -vNは、前のコマンド出力の左端の列にあるYubiKeyの「リーダー番号」(スマートカードリーダーなどの他のデバイスがない場合は0でなければなりません)を使用して、OpenSCがPIVコンテンツの存在を認識していることを確認します。 YubiKeyにあります。後者のコマンドに対する応答には、次の行を含める必要があります。

Card name: Personal Identity Verification Card

トラブルシューティングの2番目の部分は、Chromeを起動し、設定 - >詳細 - >プライバシーとセキュリティ - >証明書管理に移動することです。この時点で、YubiKey PINを入力するように求めるポップアップウィンドウが表示されます。これは、情報を表示するためにYubiKeyにアクセスする必要がある副作用です。これにより、ChromeがPKCS#11ライブラリを使用してOpenSCを介してYubiKey PIV機能にアクセスできることを確認できます。

PINを入力した後、証明書管理に表示される証明書ページには、使用可能なハードウェアサポートクライアント証明書が1つ以上あることが表示されます。この時点で証明書の表示を選択できます。情報は、YubiKeyに含まれるべき情報と一致する必要があります。つまり、内容について質問がある場合は、YubiKeyを発行した人または組織に連絡する必要があります。

ChromeでYubiKeyに保存されている証明書を表示できる場合は、YubiKey PIV認証ウェブサイトにアクセスできるようになりました。ブラウザがYubiKey PINの入力を求められた場合は、ブラウザを終了するかYubiKeyを取り外すまでYubiKeyにアクセスできるため、ブラウザセッションごとに複数のPINを要求することはできません。

YubiKeyを挿入するときにブラウザがすでに実行されている場合、YubiKeyが挿入されたことを認識するのに数秒かかることがあります。したがって、キーを挿入した後に確認されたウェブサイトをクリックする前に数秒待つ必要があります。

おすすめ記事