起こったこと
普段、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
コメント