Virtual TPM を試す


Windows 10 Enterprise (build 10586) の Hyper-V では Virtual TPM を仮想マシンに追加することができます。
手元の環境で試した結果、色々とはまったりしたので、メモを兼ねて手順を残しておきます。

概要

Windows 10 ではデバイス ガードや Virtual Secure Mode (VSM) というセキュリティ機能が追加されました。
デバイス ガードについては以下の動画がわかりやすいので省略しますが、コード署名の検証を行う機能です。

Windows 10 Webcast シリーズ「Device Guard」
https://channel9.msdn.com/Shows/Windows10-TechJP/Win10-Webcast-06

2015-11-22

で、この Device Guard (VSM ?) の機能の一部として、Hyper-V の Virtual TPM が含まれているようです。
仮想マシン内で BitLocker や Virtual Smart Card を使えるようになるので、一部の人には結構ありがたいかも。

要件

  • Windows 10 Enterprise build 10586 以降
  • UEFI + セキュア ブート
  • 分離ユーザー モードの有効化
  • デバイス ガードの GPO 有効化
  • 第二世代の VM
  • winrm qc

事前設定

1. BIOS で UEFI Boot と Secure Boot を有効にします。(画面は NUC5I5MYHE)

1
2

2. F10 などで Boot Option を立ち上げ、UEFI と付いたメディアからインストールします。
   ISO の中身を丸ごと USB にファイルコピーすれば、UEFI boot できるメディアが作れると思います。

3

3. msinfo32 を起動して、UEFI かつセキュアブートしていることを確認します。

4

4. Hyper-V とあわせて、分離ユーザー モードの機能を追加します。

5

5. gpedit.msc を開いて、[コンピューターの構成 ] – [管理用テンプレート] – [システム] – [デバイス ガード] の
   [仮想化ベースのセキュリティを有効にする] を有効化して、OS 再起動。

7

6

6. ここまで終わると、msinfo32 でデバイス ガード関連の項目が新たに表示されていることが確認できます。
   利用可能な項目 (赤枠内 3 段目) が必須項目 (2 段目) に対してすべて満たしていれば問題ありません。

8

7. 最後に、コマンドプロンプトを管理者実行して、WinRM qc を実行します。

10

仮想マシンへの Virtual TPM の追加

1. 準備ができたところで、Hyper-V で第二世代の仮想マシンを作って、設定画面を開いてみます。
   セキュリティの項目で、[トラステッド プラトフォーム モジュールを有効にする] にチェックします。

9

この際、分離ユーザー モードが…とか、winrm が…とかが表示されている場合は、事前設定が漏れています。

2. OS を起動してデバイス マネージャーを開くと、TPM 2.0 がきちんと認識されています。
   BitLocker ももちろん利用可能。VM も Windows 10 で試していますが、Hyper-V 側で TPM を
   エミュレーションしていると思うので、ほかの OS でも問題なく使える気がします。

11
12

というわけで、無事に vTPM が利用できるようになりました。これ検証とかでも使えるし、地味に便利。

私の場合は、そもそも BIOS で UEFI boot を有効にしていたのに、レガシーブートになっていたりして
使えるようになるまで色々とはまったりしましたが、ひとまず上記で無事に動くようになりました。

デバイス ガードの本質は vTPM 以外にもある気がしますが、まだまだ情報が少なめなので、
なんか見つけたら続きを書こうと思います。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です