Windows 11便利テク

実験!Windows 11でTPMをクリアしたらサインインできなくなるのか?

 Windows 11では、サインインの方法として、標準でTPMを使ったPIN、顔認証などのWindows Helloが利用される。では、セットアップ後にTPMが使えなくなったらどうなるのだろうか? 実際に試してみた。

 TPM(Trusted Platform Module)について知りたいという方は、以下の関連記事を参照されたい。

PINはTPMを利用するための合い言葉

 Windows 11の初期設定の際、PINや顔認証のセットアップが実行されるが、この認証では自動的にTPMに保存された情報を利用するように構成される。

 PCでTPM 2.0が利用可能な場合(利用できない場合はソフトウェアベースの手法でキーを保護)、TPM内に公開鍵/秘密鍵のキーペアが作成される。ユーザーを認証する際は、TPM内のキーにアクセスして署名を取得する必要があるが、そのためにはユーザーが秘密鍵の所有者であることを証明する必要がある。このためにPIN、または生体認証が使われるという仕組みになっている。

 要するに、サインイン時に入力しているPINは、そのものが認証に使われるのではなく、TPMにアクセスするための暗証番号としてのみ使われていることになる。

 Windows 11では、このほかBitlocker、デバイス暗号化、Credential Guardなど、TPMは広く使われているが、もっとも身近にTPMの存在を感じられるのは、このサインインの際のPINということになる。

 なお、以下の関連記事にあるようにインストール時にTPMチェックを回避する方法も紹介されているが、推奨されないので、検証目的での利用などに留めておくべきだろう。

セットアップ後にTPMを無効化してみる

 さて、ここまででWindows 11でTPMが身近に使われていることが分かったと思うが、このTPMはUEFI(BIOS)で簡単に無効化できる。

 TPMが有効な状態のPCで、後から無効にしたらどうなるのだろうか? Hyper-Vの仮想マシンを使って実際に確かめてみよう。

【ステップ1】実験環境

 まずは、現在の状態を確認しておこう。対象の環境はWindows 11のHyper-Vにセットアップした仮想マシンで、仮想マシンの設定で[セキュリティ]の[トラステッドプラットフォームモジュールを有効にする]をオンにした環境だ。仮想マシン側でtpm.mscを実行すると、以下のようにTPMが有効になっていることが確認できる。

テスト環境。Hyper-VでTPMをオンにしてセットアップした状態

 サインインはPINのみが設定されている状態となる。TPMにアクセスする方法が違うだけなので、顔認証でも指紋認証でも結果は同じだ。

 なお、Windows 11では、標準で[セキュリティ向上のため、このデバイスではMicrosoftアカウント用にWindows Helloサインインのみを許可する]がオンに設定されている。

 このため、サインイン時にMicrosoftアカウント(メールアドレスとパスワード)を利用することはできない。

サインインはWindows Hello PINに設定してある

【ステップ2】TPMをオフにする

 このマシンをシャットダウンし、仮想マシンの設定で[トラステッドプラットフォームモジュールを有効にする]のチェックボックスを外し、TPMをオフの状態にする。これで、認証に必要なTPM内の暗号鍵ペアにアクセスできなくなる。

 果たして、サインインはできるのだろうか?

TPMをオフにする

【ステップ3】サインインできるか試す

 仮想マシンを起動して、サインイン画面を表示すると、以下のように「問題が発生したため、暗証番号(PIN)を使用できません。クリックして暗証番号(PIN)をもう一度設定してください。」と表示される。

TPMをオフにした状態のサインイン画面。PINが使えなくなったことが表示される

 方法は後述するステップ6と同じだが、ここでPINを再設定すると、TPMがオフの状態でのPINとなり、認証情報がハードウェアではなくソフトウェアベースで保管されることになる。つまり、見た目は同じでも、仕組みがまったく違う(TPMが使われない)ので注意が必要だ。

 Windows 11では、前述したように標準でWindows Hello以外のサインインが許可されていない。あらかじめ、この設定をオフにしておけば、サインインオプションとしてMicrosoftアカウントを使ったサインインも可能だ。

[セキュリティ向上のため、このデバイスではMicrosoftアカウント用にWindows Helloサインインのみを許可する]をオフにしておけば、サインインオプションからMicrosoftアカウントでもサインイン可能になる

【ステップ4】TPMをオンに戻す

 PINを再設定する前に、TPMをオンに戻すことで、以前の認証情報をもう一度使えるかどうかを確認する。

 TPMをオンに変更し、再起動すると、問題なくPINの入力画面が表示され、以前のPINをそのまま使ってサインインすることができた。

オンに戻せば元通りPINでサインインできる

【ステップ5】TPMをクリアする

 続いて、TPMはオンにした状態のまま、TPMの情報をクリアしてみる。やり方としては、UEFIからクリアする方法と、Windows 11からクリアする方法があるが、今回はtpm.mscを使って、Windows 11上でTPMをクリアした。

 この場合、TPM内の暗号鍵ペアがリセットされ、以前のPINは完全に使えなくなる。このため、PINを再設定する必要がある。

tpm.mscからTPMをクリアして再起動する
TPMがクリアされるため、PINの再設定が必要になる

【ステップ6】PINを再設定する

 PINを再設定するには、Microsoftアカウントと本人確認の2段階の認証が必要になる。

 SMSやメールアドレスなどでの2段階認証が完了すると、新しいPINを入力する画面が表示される。この設定が完了すると、TPM内の新しい暗号鍵ペアを使ってサインインできるようになる。

 なお、企業で管理された端末を除き、PINは同じものを再利用できる。TPM内の認証情報は置き換わるが、それを取り出すためのPINを同じにしておけば、オペレーションとしては以前と変わらない方法となる。

Microsoftアカウントでサインイン
2段階認証の方法を選択。画面では登録されているのがSMSのみなのでSMSを利用
スマートフォンで受信したコードを入力
PINを再設定するための確認画面が表示される
新しいPINを設定するとサインインできるようになる

結果まとめ

 このように、TPMをオフにしても、救済処置があるため、いきなりサインインできなくなることはない。シンプルにオフにしただけの場合はオンに戻すことで元のPINを利用できる。クリアしてしまった場合はMicrosoftアカウントでの認証を経てPINを再設定できる。

 ただし、TPMをオフにした状態でPINを再設定するとソフトウェアベースでの管理になるので注意が必要だ。TPMの意味がなくなってしまう。

 また、この方法はPINを忘れてしまった場合にも応用できる。同様にPINを再設定すれば、元通りサインイン可能なので、慌てずに済むだろう。