BitLocker メモ

ちょっとはまったので備忘録。

BitLocker は Windows の Pro 以上が必要です。

グループポリシーの設定をする

ブートドライブに BitLocker の設定をする場合、実質必ずグループポリシーの設定が必要です。

TPM が搭載されている場合、 TPM に複合キーを格納するモードで動作するので何も設定しなくても BitLocker の構成を行えるのですが、この状態だとパスワード (PIN) などでの認証ができません。これらの設定をするためにも必要になります。

グループポリシーの設定は

  1. 管理者権限で "gpedit.msc" を実行します。
  2. "コンピューターの構成 - 管理用テンプレート - Windows コンポーネント - BitLocker ドライブ暗号化 - オペレーティングシステムのドライブ" を選択します。

TPM がない環境で BitLocker 起動を有効にする

  1. "スタートアップ時に追加の認証を要求する" を選択し、 "有効" にする。
  2. "互換性のある TPM が装備されていない BitLocker を許可する" にチェックし、適用する。

TPM がある環境で BitLocker 起動時の追加認証を設定する

  1. "スタートアップ時に追加の認証を要求する" を選択し、 "有効" にする。
  2. 各スタートアップ構成で "許可する" を選択する。デフォルトで全項目が "許可する" になってると思うので、実質有効にするだけで OK 。
  3. 設定を確認して適用する。

"要求をする" にするとそれだけ使うようになりますが、 "要求をする" が複数あると BitLocker での設定時にエラーになります。

追加認証の具体的な設定 (PIN やスタートアップキーの作成) はコントロールパネルでの設定か、コマンドラインツールで行います。

PIN に数字以外を使えるようにする

"スタートアップの拡張 PIN を許可する" を有効にすると数字以外の文字も使えるようになり、パスワードと同等に使えるようになります。

"TPM でスタートアップキーと PIN を許可する" を使う

今回の本題。一番はまった。 TPM 下でスタートアップキーと PIN の両方を認証に使うモード。

スタートアップキーは USB メモリに鍵情報を仕込み、起動時にこのメモリが接続されていないと起動できなくなる、物理的な鍵と同様に使える機能です。

スタートアップキーは便利なのですが、さしたままにしたままどこかに放置してしまった場合とか、セキュリティリスク的には微妙なところもあるので PIN と組み合わせるとベストになります。

この設定をする方法が

  1. "コントロールパネル - BitLocker ドライブ暗号化" の GUI
  2. コマンドプロンプトの "manage-bde" コマンド (manage-bde -protectors -add c: -tpsk)
  3. PowerShell のコマンドレット "Add-BitLockerKeyProtector" (Add-BitLockerKeyProtector -TpmAndPinAndStartupKeyProtector)

の 3 通りありますが、私の環境では実際にできたのは 3. の PowerShell だけでした。のでこの構成をしたい場合は PowerShell を使うのがよいかと思います。

(2020/5/29 追記)

PowerShell で登録する場合、コマンドラインのパラメーター渡しや対話式でもコンソールに設定する PIN が出力され見えるようになってしまいます。設定する PIN を見せたくない場合は

$pw = Read-Host -AsSecureString

で入力待ちになり、コンソールに出力せずに文字列が入力できます。これで $pw 変数に設定したい PIN を格納し、

Add-BitLockerKeyProtector -Pin $pw -TpmAndPinAndStartupKeyProtector

とすることで PIN をコンソールに出さずに設定する事ができます。

注意点として Read-Host では入力確認がないので、自分が考えていたものと違ったものを入れてしまうと一発アウトになります。ので再起動からログオンができることを確認するまでは回復キーはすぐに使えるようにしておいた方がよいでしょう。

(2022/5/14 追記)

PowerShell での登録はスタートアップキーの追加になるので、まずコントロールパネルの BitLocker から BitLocker の設定をして有効化する (解除方式は PIN でよい) 。その後再起動をして PowerShell でのスタートアップキーを追加します。

パスワードは事前に環境変数で設定しておくとして、それ以外は対話式入力になるので次のように入力する。

  • MountPoint[0] → ブートドライブ名を入力 (c: のはず)
  • MountPoint[1]: → Enter するだけ
  • StartupKeyPath: → スタートアップキーの格納先 (外部 USB メモリのドライブ名)

(2022/5/15 追記)

BitLocker の保護方法でで "数字パスワード" となってるものは回復キーそのものなので、これを消すと回復キーから解除できなくなってしまうので消してはならない。また、 "manage-bde -protectors -get" で設定されている保護方法が表示されるが、その際に数字パスワードが平文で表示されてしまうので、このコマンドを実行する際は要注意。