OpenSCに「Windows Hello for Business」が認識されてYubikeyが使えなくなった話

起こったこと

普段、SSHやVPNの認証にYubikeyのスマートカードを使用しているのだが、ある日からパスワードが違うと言われて使えなくなった。おかしいと思い調査したところ、OpenSCに「Windows Hello for Business」なるカードリーダーが認識されていた。

原因

無料のOfficeを使うため、大学のMicrosoftアカウントにログインしたことによるもの。

対処法

問題の確認

まずはスマートカードリーダーがWindows Helloにすり替わっていることの確認。
必ずコマンドプロンプトで以下を実行。Powershellでは動かない。

C:\sandbox>"C:\Program Files\OpenSC Project\OpenSC\tools\opensc-tool.exe" -l
# Detected readers (pcsc)
Nr.  Card  Features  Name
0    Yes             Windows Hello for Business 1
1    Yes             Yubico YubiKey FIDO+CCID 0

こんな感じで0番にWindows Hello for Businessが鎮座していると、こいつが他のアプリケーションからも呼び出されてしまう。

原因の修正

Windows + Rの「ファイル名を指定して実行」にて「gpedit.msc」と入力し、ローカルグループポリシーエディターを起動。以下の場所まで移動。
/コンピューターの構成/管理テンプレート/Windows コンポーネント/Windows Hello for Business/
そこに「スマートカードエミュレーションをオフにする」という設定があるので有効化する。

その後設定アプリより、「アカウント」→「サインインオプション」→「PIN (Windows Hello)」→「PINを忘れた場合」と進み、指示に従ってPINを再設定する。

問題の解消の確認

最初と同じコマンドの実行

C:\sandbox>"C:\Program Files\OpenSC Project\OpenSC\tools\opensc-tool.exe" -l
# Detected readers (pcsc)
Nr.  Card  Features  Name
0    Yes             Yubico YubiKey FIDO+CCID 0

こんな感じでWindows Helloが消えていればOK

コメント

タイトルとURLをコピーしました