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
で、この 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)
2. F10 などで Boot Option を立ち上げ、UEFI と付いたメディアからインストールします。
ISO の中身を丸ごと USB にファイルコピーすれば、UEFI boot できるメディアが作れると思います。
3. msinfo32 を起動して、UEFI かつセキュアブートしていることを確認します。
4. Hyper-V とあわせて、分離ユーザー モードの機能を追加します。
5. gpedit.msc を開いて、[コンピューターの構成 ] – [管理用テンプレート] – [システム] – [デバイス ガード] の
[仮想化ベースのセキュリティを有効にする] を有効化して、OS 再起動。
6. ここまで終わると、msinfo32 でデバイス ガード関連の項目が新たに表示されていることが確認できます。
利用可能な項目 (赤枠内 3 段目) が必須項目 (2 段目) に対してすべて満たしていれば問題ありません。
7. 最後に、コマンドプロンプトを管理者実行して、WinRM qc を実行します。
仮想マシンへの Virtual TPM の追加
1. 準備ができたところで、Hyper-V で第二世代の仮想マシンを作って、設定画面を開いてみます。
セキュリティの項目で、[トラステッド プラトフォーム モジュールを有効にする] にチェックします。
この際、分離ユーザー モードが…とか、winrm が…とかが表示されている場合は、事前設定が漏れています。
2. OS を起動してデバイス マネージャーを開くと、TPM 2.0 がきちんと認識されています。
BitLocker ももちろん利用可能。VM も Windows 10 で試していますが、Hyper-V 側で TPM を
エミュレーションしていると思うので、ほかの OS でも問題なく使える気がします。
というわけで、無事に vTPM が利用できるようになりました。これ検証とかでも使えるし、地味に便利。
私の場合は、そもそも BIOS で UEFI boot を有効にしていたのに、レガシーブートになっていたりして
使えるようになるまで色々とはまったりしましたが、ひとまず上記で無事に動くようになりました。
デバイス ガードの本質は vTPM 以外にもある気がしますが、まだまだ情報が少なめなので、
なんか見つけたら続きを書こうと思います。