【SSS】YubiKeyを使ったWindows起動時サインイン2段階認証

YubikeyをWindowsに設定

当記事は商売のように広告料を得るリンクを採用。記事の出来が悪ければ容赦なく避け、情報だけ頂くといい。

Windowsの起動時サインイン(ログイン)にYubiKeyを設定していき、ユーザー名(それ用のものを作成:毎回入力)+パスワード+YubiKeyが必須の状態を作り出して「紛失激強耐性」を狙う。

なお、BitLockerでの記憶装置暗号化をすでにやっている方向けで(後でも可能)、やらないとWindowsセーフモードで解除可能らしいため必須の模様。

※BitLockerはHomeエディションでも、ノートパソコンならほぼデフォルトで暗号化されているはず。

Windows起動前にVeraCryptのパスワード入力を求められるため、「Windows起動時サインインに2段階認証を設定」でパスワード2回入力となってしまう。

なので、普通に指紋認証か顔認証をWindows Helloの方で設定し、YubiKeyを使わなくても良いだろう。付いていないならなんとも言えない。

Windows Helloは簡単に設定できるため公式参照
この記事でやる方法と勘違いしがちの話

先に述べておくと、万人にオススメできる方法ではないほど元が初心者向けではないが、詰まないよう保険をかけつつ初心者でも挑戦できるようにしておいた。

チャレンジレスポンス認証を使い2段階認証を設定するが、パスワード管理のKeePassなどと認証方法が被っており、上書きされるかもしれない(未検証:認証情報の流用は可能)。この記事は初めてチャレンジレスポンスを設定したときに書いたものであるため、初めてYubiKeyを使う方は問題なし。

なお、とにかく公式にあるどぎつい長文英語を参考にしており、解決しなければYubico Login for Windows Configuration Guide – Yubicoを確認。

どのYubiKeyが万能? や仕様は以下の記事を参照。

ちゃんと公式か代理店から買ったー?
全体的な流れ
  • ステップ.1
    対応YubiKeyの用意・ある程度のデメリットと仕様を理解

    上級的な内容を結構すっ飛ばすため

  • ステップ.2
    ローカルアカウントにする

    すでにローカルでも要確認、わからなくても要確認、BitLockerの回復キーも確認

  • ステップ.3
    専用ソフトYubico Login for Windowsのダウンロード・インストール

  • ステップ.4
    ちゃんとした設定とリカバリーコードの発行

  • ステップ.5
    【わざと最後】ローカルアカウントパスワード以外のWindows Helloを削除

    PINや生体認証を削除しないと、YubiKey以外でもサインイン可能である

スポンサーリンク

用意するものは黒いYubiKeyでOK

最新の対応状況は公式ブログの冒頭へアクセス。

使えるシリーズか確認
画像にカーソルをあわせたひとー!

わかりやすくいうと、

  • 青いセキュリティキー(YubiKey呼びではない):使えない
  • 黒いYubiKey:だいたい使える
  • YubiKeyのバージョンが4以上:だいたい使える
  • コレさえあれば大体使えるYubiKey 5 NFC:やっぱり使える
https://amzn.to/34IGSij
販売元:正規代理店の株式会社ソフト技研

公式か正規代理店を勧める理由は以下。

参考購入方法:公式か正規代理店から買うこと | やりすぎセキュリティ

仕様:セキュリティの2段階認証と利便性の生体認証

2段階認証顔認証指紋認証PIN
利便性
セキュリティ
偽造耐性
サインイン方法コレのみPINも可能PINも可能コレのみ
やりすぎセキュリティ主観

実は「Windows Helloの生体認証設定時にPIN設定も必須」となっており、PINのみより入口を増やしている生体認証のほうがリスク増加(といいつつ、PINはその端末でしか使えないため実際のリスクは低)。

※「生体認証の調子が悪ければPINで入力」というスマホおなじみ方式である。

そこに生体認証は偽造問題も浮上してくるため、PINよりセキュリティは下がるイメージだ。

2段階認証は利便性を犠牲にしてユーザー名(短いのでOK)・パスワード・YubiKeyとなり、ダントツでセキュア。

顔認証はバランス最強なので、記事を見て絶望したら「顔にしよう!」と鞍替えしてもいい。

なお、セキュリティキーのみでパスワードレスは設定不可である(後述:苦言:Windows起動時サインイン(ログイン)にキーのパスワードレスは存在しない)。

強烈なデメリット:Microsoftアカウントの同期はできない

ローカルアカウントにする必要があるため、Microsoftアカウントとの同期はできず、パソコン初期化や乗り換え時に面倒な初期設定を強制される。

参考Windows 10のMicrosoftアカウントとローカルアカウントの違い | パソコン修理・サポートのドクター・ホームネットがお届けするコラム

未検証

といっても、同期したいタイミングでMicrosoftアカウントと連携すれば、再度その時の設定がクラウドの仕様上蘇るはず。

ぷっぷ
ぷっぷ

そんなにWindowsの機能使っていないからわからなーい(゚~゚o)

また、Windows備え付けのメール・カレンダーやOneDrive・Officeなどのアプリはいちいちインストール必須?(利用していないためよくわからない)

ブラウザやMicrosoftストアからインストール可能。おそらく各アプリ毎「Microsoftアカウントサインイン」を求められるはず。使えなくなるわけではなく、今までMicrosoftアカウントと連携していたものが全て解除される感じだ。

というわけで、元々ローカルアカウントの方でもどうなっているか確認、切り替えをしていく。

スポンサーリンク

【要確認】Microsoftアカウントからローカルアカウントへ切り替え

ここから設定が始まる。

後からやると公式の記述と違い意味不明になるため(体験談)、必ず先にローカルアカウントにしよう。

元々ローカルアカウントでも、ユーザー名を忘れていれば詰むので要確認

一連の流れ
  • ステップ.1
    Microsoftアカウントからローカルアカウントへ切り替える

    元々ローカルアカウントでも要確認

  • ステップ.2
    BitLockerの回復キーを保存していたか確認(しなくても良い)

    元々ローカルアカウントの方はユーザー名確認、BitLocker回復キー確認はスキップ

  • ステップ.3
    今後Windows起動時サインインする際のユーザー名・パスワードの設定

    仕事はパスワードとYubikeyがするので、ユーザー名は自由

デスクトップ左下のWindowsマーク → 設定 → アカウントへ進むと「ユーザーの情報」にたどり着くので、「ローカルアカウントでのサインインに切り替える」の部分を見よう。

Windowsマークから設定へ
アカウントからローカルアカウントサインインへ切り替え

そのとおりの文字が書いてあれば、「Microsoftアカウントで起動時にサインインしていた」ということなので切り替える必要あり。

逆に「Microsoft アカウントでのサインインに切り替える」と書いてあれば、ローカルアカウントなので切り替える必要はないが……。

ローカルアカウントだった方は元々ローカルアカウント専用の「詰み防止策」まで読み飛ばそう。

先へ進むと青い「ローカルアカウントへの切り替え」表示が出現(BitLocker暗号化済み確定)、BitLocker回復キーのバックアップが済んでいるかおそらく覚えていないため、公式で確認すること。

公式BitLocker 回復キーの確認(Microsoftアカウントへサインイン(ログイン)必須)

※BitLocker適用時に自ら拒否していない限りは「Microsoftアカウントに回復キーをアップロードされているはず」。

BitLocker回復キーの確認、実は不要疑惑

この回復キー確認、「ローカルアカウントへ変更する際に出た表示」だから案内しているだけで、YubiKey設定でコレが必要になることはまずない。しかも、過去の自分は重要な回復キーを保存していないわけもない

回復キーバックアップ済みならスキップ
この表示が出なかった場合BitLockerで暗号化されていない

ローカルアカウントへ切り替える

本人確認を案内どおりにすませ、ユーザー名は覚えやすい短いものでOK(日本語はバグりがちなので念のため禁止)。

本人確認
ローカルアカウントアカウント情報を作成
今まで使っていたパスワードでも問題ないが、新しいパスワードにするならダイスウェアで決めるといい

このアカウント情報を今後YubiKeyを差し込みながら(NFCならかざす?)使うことになる。

サインアウトするとこの記事へたどり着けなくなるため、ブックマークかQRコードで戻ってこよう。

あとは「サインアウトと完了」を押すとサインアウト → Windows起動時サインインに移動するので、何かやりかけならそれらを保存。

そして先程設定したアカウント情報を求められる。

といっても、以前のサインイン方法(生体認証やPIN)はまだ残っているためそちらで入ってもOK。

残っていないのなら保険がないので要PIN設定追加。

サインアウトと完了
偶然QRコードが!

元々ローカルアカウント専用の「詰み防止策」

Microsoftアカウントからローカルアカウントへ切り替えた方は、設定済みのためYubico Login for Windowsダウンロードとインストールまで読み飛ばそう。

Microsoftアカウントからの切り替えと違い、BitLockerの回復キー確認について何も言われないはずのため、スキップしていいだろう。

気になる方は確認しておくといいが、やりすぎセキュリティ的には無意味判定。

参考Windows 10 での BitLocker 回復キーの検索

ぷっぷ
ぷっぷ

私はローカルアカウントでBitLockerを有効化できるか知らないし、パスワードは強制的に設定されているものとして話を進めるね∩(・∀・∩

Windows HelloのPIN設定をして、ローカルアカウントパスワード以外の認証方法で入れるよう、裏口入場を一時的に増やそう。

参考Windows 10(Windows Hello 暗証番号 PIN を設定する) | Windows入門ガイド | パナソニック パソコンサポート

※詰まないよう必ず保険をかける。なお、PINは後で削除するため簡単なものや使い回しでOK。

そして、いつも入力していないであろうユーザー名の確認をして、メモしておこう。

今後はこのユーザー名を毎回入力することになるため、長いなら再設定するといい。

スポンサーリンク

Yubico Login for Windowsダウンロードとインストール

ローカルアカウント前提のため、していないなら【要確認】Microsoftアカウントからローカルアカウントへ切り替えまで戻ろう。

詰み警告!詰むならこのタイミング

この記事の通りなら、「ローカルアカウント以外の認証方法(今まで使用していたPINや生体認証のWindows Helloシリーズ)をあえて残している」=そちらでサインイン可能なはずなので最終確認。WindowsキーLでロックし、YubiKey以外のサインインが使えたら続行していい。それらは設定ミスの際、「裏口入場詰み保険」として使う。

必須情報まとめ
  • ローカルアカウントのユーザー名
  • ローカルアカウントのパスワード
  • YubiKey
  • 一時的な裏口入場用:Windows HelloのPINや生体認証でのサインイン方法

公式から「Local accounts(ローカルアカウント)」にある「Download Yubico Login for Windows」の64bit版(ほぼこっち)か32bit版(絶滅危惧種)どちらかをダウンロード。

bit確認Windows10 – 32ビット版か64ビット版かを確認 – PC設定のカルマ

どちらかダウンロード

ダウンロードしたものをインストールするため、セットアップに従おう。

次へ
同意しないと使えないよ!
インストール場所は無視
インストール開始
インストール終了まで待機
変更を許可
フィニッシュ

そうすると再起動を促されるので、この記事をブックマークするか、QRコードを読み取って備えよう。

あえて今までのサインイン方法(PINや生体認証)を残しているため、まだYubiKeyを使う必要はない(どっちでサインインしてもOK)。

ダウンロードの章のQRコード
再起動予告

スポンサーリンク

構成手順:ちゃんとした設定とリカバリーコードの発行

構成が終わっていないため、「WindowsキーS」で「Login Configuration(ログイン設定)」を設定していく。

というか、リカバリーコードを発行しないのはまずい。

Login Configurationを探す
急にログイン呼びじゃん?
変更を許可

見つからないなら、初期設定だと「C:\Program Files\Yubico\Login」に「Yubico.Login.Config.exe」が保存されているのでダブルクリック。

チャレンジレスポンス認証を使うため、すでにKeePassなどで使っている場合上書きされてしまうかもしれない? この記事は初めてのチャレンジレスポンスのため、初めてなら無視(今後Slot1や2の記述がでた際、無理やり思い出そう)。

ぷっぷ
ぷっぷ

仮に上書きすることになっても、そっちのソフト側で「上書きしますよー」と出るとは思う∩(・∀・∩

公式の記述がわかりにくいとはいえ、登録ごとにを2回すればいいだけらしい。

Use a different YubiKey for each registration. If you are configuring backup keys, each user should have one YubiKey for the primary and a second one for the backup key.

引用:Primary and Backup Keys Yubico Login for Windows Configuration Guide – Yubico

登録ごとに異なるYubiKeyを使用します。バックアップキーを構成する場合、各ユーザーはメイン用に1つ、バックアップキー用に2つ目のYubiKeyを持っている必要があります。

もしダメだった場合は「Generate recovery code(リカバリーコードを生成する)」の下にある「Create backup device for each user(ユーザーごとにバックアップデバイスを作成する)」にチェックを入れる必要があるかもしれない。

Create Backup Device for Each User: Use this option to have the provisioning process register two keys for each user, a primary YubiKey and a backup YubiKey. If you do not want to provide recovery codes to your users, it is good practice to give each user a backup YubiKey. For more information, refer to the Primary and Backup Keys section above.

引用:Create Backup Device for Each User Yubico Login for Windows Configuration Guide – Yubico

ユーザーごとにバックアップデバイスを作成する:このオプションを使用して、プロビジョニングプロセスにユーザーごとにプライマリYubiKeyとバックアップYubiKeyの2つのキーを登録させます。 ユーザーにリカバリコードを提供したくない場合は、各ユーザーにバックアップYubiKeyを提供することをお勧めします。 詳細については、上記の「プライマリキーとバックアップキー」セクションを参照してください。

「ユーザーごとに」と書いているため、パソコンを共有するケースの項目なのか、そこに個人を含むのかよくわからない翻訳となっていてどちらも試すしかなさそうだ。

また、リカバリーコードでもわかりにくい記述があるので要確認。

If you select to save a recovery code while provisioning a user for a second key, any previous recovery code becomes invalid, and only the new recovery code will work.

引用:Generate Recovery Code Yubico Login for Windows Configuration Guide – Yubico

ユーザーに2番目のキーをプロビジョニングするときにリカバリコードを保存することを選択した場合、以前のリカバリコードは無効になり、新しいリカバリコードのみが機能します。

リカバリーコードを発行した際に、もしかしたら1つ目は無効化され、2つ目しか使えないということだろう。

面倒なので2つ保存し、実際に使うときは2つ目から入力すればいい。48桁を……。

ぷっぷ
ぷっぷ

私なら2つ用意していても、Windowsログインに関しては意味不明だしリカバリーコードでごまかすかも(゚~゚o)

YubiKey 1つの方はデフォルトのままでOK、参考にしたのは公式のSpecify Configuration(構成を指定する)部分なので、意味不明ならチラ見しておくこと。

次へ
すっごいインタラクティブ
基本デフォルトのままでNext
これは何をしているの?

「YubiKeyに2つある「スロット2」に、チャレンジレスポンスという認証方法で使う既存のシークレットの指定、なければ生成するついでにリカバリーコードも生成」という設定をしている。

Slotだけ詳細をチラ見しておき、Slot1は上書きせずデフォルトのSlot2のままにしておこう(他にSlot2を使った覚えがあるなら上書きされてしまう模様)。

Slots: Select the slot where the challenge-response secret will be stored. All YubiKeys that have not been customized come pre-loaded with a credential in slot 1, so if you are using Yubico Login for Windows to configure YubiKeys that are already being used for logging into other accounts, do not overwrite slot 1.

引用:Yubico Login for Windows Configuration Guide – Yubico

スロット:チャレンジ/レスポンスシークレットが保存されるスロットを選択します。 カスタマイズされていないすべてのYubiKeyには、スロット1に資格情報がプリロードされているため、Yubico Login for Windowsを使用して、他のアカウントへのログインにすでに使用されているYubiKeyを構成する場合は、スロット1を上書きしないでください。

関係がありそうな方は、極力公式を確認して意味を理解しておくこと。

かわいい
かわいい

急に難しくない?

ぷっぷ
ぷっぷ

元々難しいことをやっているけど、さらに「プライマリーがプロビジョニングでインタラクティブ」とか言い出すからついていけない(゚~゚o)

次に「表示されているローカルユーザー名」へ、今設定する構成を適用するためチェック。

なぜか*(アスタリスク)が……

ローカルアカウント名の横に「*」があると、すでにYubico Login for Windowsを設定済みのようで、私の場合は以前テストしたものが残っているから表示されている模様(初回テスト時はなかったはずだが、この記事のやり方の通りにすると*確定かも?)。「*」がなければそのまま設定、あったらあったでその設定に上書きされ、その後にリカバリーコードが生成される。

チェックを入れて次へ
差し込んでNext

私は設定2回目のため緑チェックだが、初回は黄色!マーク(どっちみち続行)。

構成は間違っていないはずなのでNext
YubiKeyを抜く

あとはリカバリーコードをどこかに保存してフィニッシュ。再起動は求められない。

リカバリーコードを保存
フィニッシュ

リカバリーコードはサインイン時、パスワード入力欄の下に表示されている文字から入力可能。コード使用時でもユーザー名とパスワードは必須なので注意。

念のためまたロック(WindowsキーL)→ YubiKey認証方法でサインインできるか確認しよう

保存場所は以下推奨。考えなしにパスワード管理ソフトへ入れると詰む

まだやることがあるため後でOK

必読ミスしたら詰む!紛失や壊れたときの準備

散々言っているが48桁地獄のペナルティため、紛失しないように……。

また、公式の後半にKnown Issues(既知の問題点)が書いてあるので、この記事のとおりにやっておかしい状態なら目を通そう。

【わざと最後】ローカルアカウントパスワード以外のWindows Helloを削除

他のWindows Hello(生体認証・PIN)を設定している場合はそれらでもサインイン可能=YubiKey以外でもサインインできてしまうため(裏口入場)、それらでのサインイン方法を削除する。

わざと最後の理由

万が一手順間違いで閉め出されても、裏口を最後まで残しておけば詰むことを避けられる

デスクトップ左下のWindowsマーク → 設定 → アカウント → サインインオプションの「パスワード以外」、というかPINを削除しよう。

「PINを削除で生体認証も停止する」ためPINだけでよく、ピクチャパスワードをお使いならそれも削除。

セキュリティキーは起動時サインイン用ではないので無視。

Windowsマークから設定へ
アカウント、サインインオプション
完全に「セキュリティキー」がサインイン時も使えるようにしか見えない……

削除したら一度Windowsをロック(WindowsキーL)、パスワード入力欄の下に「サインインオプション」と他の認証方法が表示されないのなら成功。

これで2段階認証の全てが完了した。

以上の設定方法はYubiKey屈指の面倒さなので、以下の対応サービスを参考にしてヌルい設定を堪能しよう。

スタバでYubiKeyを使えば、すごくデキる人にしか見えない。

かわいい
かわいい

YubiKeyを使う人はスタバで使わないでしょ

流し読み推奨:YubiKeyの解除

公式に解除の仕方は載っていないが、実験した結果Yubico Login for Windowsをアンインストールするだけで完了した。

実際に消すタイミングは、「再度設定時の指定したSlotへ上書き」といった仕様なのだろう。※「使わないならちゃんと消す必要がない」という意味。

アンインストール時は以下の英語が2回出現。要するに「再起動してアンインストールを完了するよ」ということである。

アンインストール時の再起動促し

セットアップでは、
システムの実行中に更新されます。次の操作を選択した場合
続行すると、セットアップを完了するために再起動が必要になります。

アンインストール時の再起動促しその2

構成のためにシステムを再起動する必要があります
Yubico Login forWindowsに加えられた変更
効果[はい]をクリックして今すぐ再起動するか、[いいえ]をクリックして再起動します
後で手動で再起動します。

スポンサーリンク

苦言:Windows起動時サインイン(ログイン)にキーのパスワードレスは存在しない

よーく見ると、他の認証方法では「Windowsのサインイン……」などと書いてあるのに、セキュリティキーには「アプリケーションの管理」としかない。

Windows サインインと書いてあるが……
セキュリティキーはアプリの話のみ

そのままセキュリティキーを進めると、やっぱりサインインの話ではなくセキュリティキーにPINを設定する話しか出てこない。

セキュリティキーに暗証番号を設定項目
生体認証とセキュリティキーを組み合わせることは可能。それを起動時できるようにしてほしいのだが……

このPINは「セキュリティキー紛失時にそれだけでWebログインされるリスク」を減らすためのものである(もはやパスワードレスではない)。

そして、公式にも「Webで」としか書かれていない。

セキュリティ キーは、Web でサインインする場合にユーザー名とパスワードの代わりに使用できるハードウェア デバイスです。

引用:Windows 10 のサインイン オプションとアカウント保護

そもそも、他の起動時サインイン認証方法設定場所に「セキュリティキー」とあるのがすべての元凶で、大変紛らわしい。

そういうわけで、YubiKeyを使ったパスワードレスを諦め目次に戻って設定するか、YubiKeyの導入をするといい。