セキュリティ

BitLocker ドライブ暗号化の強化点

Byron Hynes

 

概要:

  • BitLocker の強化点
  • BitLocker を入手し、インストールする
  • サーバー上で BitLocker を使用する
  • 完全なデータ保護を実現するための注意点

昨年の TechNet Magazine のセキュリティ特集号では、Windows BitLocker ドライブ暗号化のいくつかの機能を簡単に紹介し、Windows Vista の初期リリースでこの機能がどのように実装されているかについて説明しました。最近、

Windows Vista® Service Pack 1 と新しい Windows Server® 2008 オペレーティング システムがリリースされたため、今回再び BitLocker® を取り上げることにしました。

この記事では、最新バージョンで加えられたいくつかの変更点を紹介し、BitLocker をサーバーにインストールして使用する方法について概説します。また、注意が必要な最近の報道についても取り上げます (なお、昨年の記事「BitLocker ドライブ暗号化を使用したデータ保護の概要」については、technet.microsoft.com/magazine/cc138009.aspx を参照してください)。

新機能

今回の BitLocker のリリースで導入された変更点は、基本的な操作を変えることなく、新たな柔軟性を実現しています。この記事では、これらの変更点のうち、コンピュータへのアクセスに 3 要素認証を使用することを可能にするデータ ボリュームのサポート、64 ビット システム用の新しい業界標準のファームウェアである Unified Extensible Firmware Interface (UEFI) のサポート、ボリューム メタデータの暗号化攻撃に対する保護の強化、およびトラステッド プラットフォーム モジュール (TPM) の使用の拡大について説明します。

データ ボリューム

Windows Vista の初期リリースで提供された BitLocker コントロール パネルでは、Windows® オペレーティング システム ボリューム (通常は C: ドライブ) の暗号化のみを有効にできました。通常、家庭用コンピュータは、ユーザーのデータとプログラムがすべてオペレーティング システムと同じボリューム上に保存されるように構成されているため、多くの消費者にとってはこれで十分でした。ただし、ビジネス環境、特にサーバー上では、このような構成が使用されないことがよくあります。このため、最も多かった顧客からの要望の 1 つは、データ ボリューム、つまりコンピュータ上にある OS ボリューム以外のボリュームを暗号化できる機能でした (BitLocker はリムーバブル メディアを暗号化できるようには設計されていないことに注意してください)。

図 1 の例では、コンピュータ上に 3 つの使用可能なボリュームがあります (スタートアップに使用する小さなアクティブ パーティションまで含めると、実際には 4 つです)。オペレーティング システムは、C: ドライブにインストールされています (これは、アイコンに付いた Windows の "旗" によって表されています)。この他に E: と P: という 2 つのボリュームがあります。P: ボリュームは既に BitLocker によって暗号化されており、現在はロックされています。E: ボリュームは暗号化されていません。Windows Vista SP1 と Windows Server 2008 では、BitLocker コントロール パネル アプレットから、これらのデータ ボリュームの暗号化とロック解除を行うことができます。

図 1 Bitlocker のインターフェイス

図 1** Bitlocker のインターフェイス **(画像を拡大するには、ここをクリックします)

既定では、オペレーティング システム ボリュームが BitLocker によって暗号化されている場合、オペレーティング システム ボリュームのロックが解除されると、暗号化されているデータ ボリュームのロックも必ず解除されます。コントロール パネルを使用してデータ ボリュームのロックを解除する場合、このオプションがチェック ボックスとして表示されます (図 2 参照)。

図 2 自動ロック解除用のキーを保存する

図 2** 自動ロック解除用のキーを保存する **(画像を拡大するには、ここをクリックします)

データ ボリュームの "自動ロック解除" を有効または無効にするには、manage-bde.wsf コマンド ライン ツールを使用します。Manage-bde.wsf は Windows に付属している強力なスクリプトで、BitLocker と共にインストールされる Windows Management Instrumentation (WMI) プロバイダを基盤として使用します。

たとえば、データ ボリューム P: をマークして、手動でなければロックを解除できないようにするには、次のコマンドを使用します。

manage-bde.wsf –autounlock –disable P:

P: の自動ロック解除を再び有効にするには、次のコマンドを使用します。

manage-bde.wsf –autounlock –enable P:

BitLocker コントロール パネルでは、BitLocker とデータ ボリュームを使用して行うことができるすべての操作が提供されるわけではないため、-? オプションを使用して、manage-bde.wsf コマンドの詳細を確認してください。manage-bde.wsf の構文は、『Windows BitLocker ドライブ暗号化デザイン ガイド』と『Windows BitLocker ドライブ暗号化展開ガイド』にも記載されています。これらのガイドは Microsoft ダウンロード センター (go.microsoft.com/fwlink/?LinkId=115215) からダウンロードできます。

TPM、USB、PIN の組み合わせ

BitLocker で使用できる認証要素の追加を望む声も顧客から多く聞かれました。BitLocker は、コンピュータの TPM チップを使用して、プラットフォームの整合性を検証します。つまり、BIOS を含む初期起動コンポーネントが改変されたり、破損していないかどうかを確認します。ただし、Windows Vista のリリース以降は、PIN、または BitLocker を有効にしたときに作成されたキーが保存されている USB フラッシュ ドライブを要求することもできるようになりました。

Windows Server 2008 と Windows Vista SP1 では、これら 3 つの要素をすべて組み合わせることができます。TPM は引き続きプラットフォームの整合性を検証し、USB キーは "ユーザーが持っているもの"、PIN は "ユーザーが知っているもの" を表します。この構成によって、権限のないユーザーによるコンピュータの起動や、BitLocker によって保護されたドライブのロック解除に対して、非常に強力な保護が提供されます。

ただし、セキュリティの世界ではよくあることですが、これにもトレードオフがあります。BitLocker をこのように構成すると、コンピュータを自動的に再起動することはまずできません。たとえば、サーバーの場合は、シームレスな再起動とより高度な保護のどちらが重要であるかを判断する必要があります。

UEFI のサポート

Windows Server 2008 と Windows Vista SP1 では、Unified Extensible Firmware Interface (UEFI) が搭載されているコンピュータのサポートも追加されました。UEFI は、ほとんどのコンピュータが起動時に使用する従来の BIOS を近代化した仕様です。UEFI の詳細については、www.uefi.org を参照してください。

強化された保護

BitLocker がシステムの変更を検出した場合、または必要な PIN や USB キーが起動時に提供されなかった場合、BitLocker は回復モードに入ります。回復モードでは、BitLocker が有効になっているボリュームのロックが維持され、回復コンソールというテキスト モードのダイアログ ボックスが表示されます。

ドライブのロックを解除するには、回復パスワード (48 桁の数字) をキーボードか USB フラッシュ ドライブから入力する必要があります (USB フラッシュ ドライブに保存された回復パスワードは、テキストではなくバイナリ形式であるため、回復キーと呼ばれることがあります)。

BitLocker は、回復パスワードを使用し、ボリューム メタデータ内に保存されているキー (まずボリューム マスタ キー (VMK)、次にフルボリューム暗号化キー (FVEK)) を解読することによって、ドライブのロックを解除します。正常に回復を完了するには、回復パスワードのコピーを提供する必要があります。

このため、ユーザーが回復パスワードを (USB フラッシュ ドライブなどに) 保存するだけでなく、管理者もこのパスワードを一元管理し、保存しておくことを強くお勧めします。オペレーティング システムには、Active Directory® ドメイン サービス (ADDS) に回復パスワードを保存する機能も実装されています。

ボリューム メタデータ内に保存されているシークレット (VMK など) は暗号化されています。また、暗号化によってボリューム メタデータ全体の整合性が維持されます。BitLocker がボリューム メタデータの改ざんを検出した場合、そのメタデータの使用は拒否され、保護ボリュームのロックは解除されません。この状態では、回復パスワードのみを使用してドライブのロックを解除することはできません。

ただし、このような状況が発生するのは、コンピュータが計画的なセキュリティ攻撃の被害に遭った場合のみです。この場合、おそらくコンピュータは既に悪意のある人物の手に渡っているため、それ以上なす術はないでしょう。計画的でない単純な変更がプラットフォームに加えられた場合や、PIN を忘れた場合、このような状況は発生しません。

ボリュームのロックを解除するには、次の 3 つが必要です。

  • 回復パスワード (キーボードからテキストを入力するか、USB フラッシュ ドライブを使用します)
  • 暗号化された FVEK と VMK が格納されているバイナリ キー パッケージ
  • Bitlocker 修復ツール

つまり、管理者は、企業内で上記の 3 つをいつでも利用できるようにしておく必要があります。

回復パスワードは、手動でも自動でもバックアップできます。個人的には、グループ ポリシー設定を使用して、回復パスワードを Active Directory ドメイン サービスに自動的にバックアップすることをお勧めします。

この設定を構成する場合は、バイナリ キー パッケージをバックアップするオプションも指定してください (図 3 参照)。このバイナリ キー パッケージには、暗号化された VMK と FVEK が含まれているため、必要に応じて BitLocker 修復ツールを使用できます。

図 3 回復情報にキー パッケージを含めるようにグループ ポリシーを構成する

図 3** 回復情報にキー パッケージを含めるようにグループ ポリシーを構成する **(画像を拡大するには、ここをクリックします)

BitLocker 修復ツールは、BitLocker が有効になっているディスクが破損した場合に、そのディスクのデータ回復を支援することを目的としています。これは高度なツールであり、経験豊富な管理者が使用することを想定しています。BitLocker 修復ツールの詳細については、マイクロソフト サポート技術情報の記事 (support.microsoft.com/kb/928201) か、私の Web キャスト (ライブ デモも含まれています)「企業における Microsoft BitLocker: BitLocker ツールの活用方法」(go.microsoft.com/fwlink/?LinkId=114985) を参照してください。

ここで指摘しておきますが、BitLocker を使用しても、データのバックアップが必要なことに変わりはありません。ディスクが破損した場合や、計画的な攻撃の被害を受けた場合、BitLocker 修復ツールを使用しても、なんらかのデータを (すべてのデータとなればなおさら) 回復できる保証はありません。

拡大する TPM の使用

技術的に見れば、これは BitLocker の変更点ではありませんが、ここで取り上げるだけの価値はあります。SP1 の前のバージョンでは、BitLocker が TPM を使用する唯一の Windows OS コンポーネントでしたが、その他の機能でも TPM が使用されるようになりました。たとえば Windows は、TPM を使用できることを検出した場合、乱数の生成時に TPM を使用し、エントロピーを増大させます。これにより、あらゆる種類の暗号化の質が向上します (また、ゲームのパフォーマンスも向上する可能性があります)。

ただし、TPM の使用が拡大したことによって、イベント ビューアに表示される TPM 関連のイベントが必ずしも BitLocker に関するイベントではなくなります。IT プロフェッショナルは、他のシステム コンポーネント (および可能性としては、他のベンダのソフトウェア) が TPM を使用することによって、イベントがログに記録されることに注意する必要があります。

Windows Server 2008 における BitLocker

Windows Vista と Windows Server 2008 は同じコード ベースを使用しているため、Windows Vista SP1 で BitLocker に加えられた変更は、Windows Server 2008 でも実装されています。ですが、サーバーと BitLocker との間にはどのような関係が存在するのでしょうか。結局、BitLocker の目的は、コンピュータをオフライン攻撃から保護することです。つまり、BitLocker によって、実行中のシステムやサーバーは保護されません。また、サーバーは常時実行されているのが当然であると考えられています。

ただし、サーバー自体、またはサーバーから取り外されたハード ディスクがオフライン攻撃にさらされる可能性があることがわかりました。このような攻撃が実際に発生しないとしても、BitLocker はサーバーやハード ディスクを廃棄する際に、非常に役立ちます (これについては後述します)。まず、サーバー上に BitLocker をインストールし、実行する方法について説明します。

BitLocker を入手し、インストールする

BitLocker は、Windows Server 2008 のすべてのエディションでオプション コンポーネント (機能) として提供され、サーバー マネージャまたはコマンド ラインからインストールする必要があります。BitLocker の一部は、NTFS フィルタ ドライバとして実装されています。このフィルタ ドライバをインストールするには、コンピュータを再起動する必要があるため、サーバー上で BitLocker を有効にすると再起動が必要になることに注意してください。また、Windows Vista の場合と同様、Windows Server 2008 の BitLocker も分割読み込み構成を必要とします。これは、コンピュータの起動に使用されるアクティブ パーティションが暗号化されていない状態を維持する構成です。BitLocker ドライブ準備ツールは、製造元によってあらかじめサーバーが構成されていない場合に、BitLocker をサポートするようにハード ディスクを正しく構成できるツールです。ただし、ハード ドライブのパーティション分割作業に慣れている場合は、もちろんハード ディスクを手動で構成してもかまいません。

BitLocker を Windows Server 2008 にインストールするには、サーバー マネージャのグラフィカル インターフェイスを使用して、機能の一覧から BitLocker を選択するか (図 4 参照)、サーバー マネージャのコマンド ライン インターフェイスからコマンドを実行します。

図 4 サーバー マネージャで BitLocker を選択する

図 4** サーバー マネージャで BitLocker を選択する **(画像を拡大するには、ここをクリックします)

ServerManagerCmd –install BitLocker –restart

サーバー マネージャを使用すると、BitLocker と BitLocker 用の管理ツールがインストールされます。また、BitLocker 自体をインストールせずに、管理コンポーネントをインストールすることもできます。この操作を行った場合、フィルタ ドライバが含まれないため、再起動を回避できます。この管理コンポーネントの名前は "RSAT-BitLocker" です。

BitLocker は、Server Core インストールを実行しているコンピュータ上でも問題なく機能しますが、Server Core ではサーバー マネージャを使用して BitLocker をインストールしたり、グラフィカル ユーザー インターフェイスを使用して BitLocker を管理したりできません。コンポーネントのインストールには、コマンド ライン ツールの pkgmgr または ocsetup を使用します。

BitLocker バイナリをインストールし、必要な分割読み込み構成になるようにディスクを構成したら、OS ボリュームで BitLocker を有効にできます。Windows Server 2008 の BitLocker コントロール パネル アプレットでは、Windows Vista SP1 と同じアイコンとオプションが提供されます。BitLocker の詳細モードを有効にするには、ローカル ポリシー エディタを使用するか、グループ ポリシー オブジェクトをサーバーに適用することによって、既定の設定を調整する必要があります。

Server Core インストールを実行している場合、または単にコントロール パネルを使用したくない場合は、manage-bde.wsf を使用して BitLocker を有効にできます。ドライブ C: で BitLocker を有効にするには、次のコマンドを実行します。

manage-bde.wsf –on C: -RecoveryPassword –RecoveryKey F:\

C: は暗号化するボリューム、F:\ は回復キー (バイナリ形式) を保存する USB キーやその他のボリュームを表します。UNC パスを使用して、ネットワーク ドライブ上に回復キーを保存することもできます。また、回復パスワード (数値テキスト形式) も生成および表示されます。ハードウェア プラットフォームが BitLocker の要件をすべて満たしていることが保証されている場合は、–skiphardwaretest パラメータを追加するとよいでしょう。これにより、再起動を 1 回省くことができます。

サーバーのシナリオ

ここでは、サーバー上で BitLocker が役立つ具体的なシナリオをいくつか紹介します。先ほども述べたように、BitLocker は、オフライン攻撃 (Windows が実行されていないときに行われる攻撃) からの保護を目的としていることに注意してください。

ブランチ オフィス まず、サーバー上で BitLocker を使用する最もわかりやすい例は、Windows Server 2008 のブランチ オフィス戦略の一環として使用する場合です。すべてのサーバーの 3 分の 1 ~ 4 分の 1 が、ブランチ オフィス、つまり、物理的なセキュリティが比較的弱く、IT サポートを受けにくく、おそらくデータセンターへの接続回数も少ないオフィスに配置されています。ブランチ オフィスは、攻撃者にとって魅力的なターゲットでもあります。機密データをブランチ オフィスに保存すると便利であるが、それではデータセンターに保存した場合ほど容易にデータを物理的に保護できない場合、BitLocker を読み取り専用ドメイン コントローラ (RODC) などの機能と組み合わせて使用すると役立ちます。

これは、適切なレベルの保護について考える良い機会になります。データへの不正アクセスを防止することと、追加作業を行うことなくサーバーを直ちに利用できるようにすることは、どちらが重要でしょうか。個人的には、多くのブランチ オフィスでは、サーバーを再起動する際に PIN の入力を要求しても問題ないと思いますが、これはそれぞれの企業が決めることです。

配送中のディスク ハード ドライブ上のデータを遠隔地に配送しなければならないことがよくあります。これには、ディスク自体を配送する場合も、サーバー全体を事前に構成して配送する場合も含まれます。配送中は、このようなディスク上のデータを管理することはできないため、データがコピー、紛失、または盗難に遭う可能性があります。

このようなリスクを軽減するには、配送前にコンピュータのボリュームで BitLocker を有効にし、回復キーまたは回復パスワードを除くキーの保護機能をすべて削除します。回復キーまたは回復パスワードは、サーバーとは別に手渡しするか、電話や暗号化された電子メールを使用して、送付先のスタッフに伝えることができます。コンピュータまたはディスクが到着したら、回復パスワードを使用して、ドライブのロックを解除します。受け取ったドライブは、必要に応じて、暗号化されたままにすることも (他のキーの保護機能を再度追加します)、完全に暗号化を解除することもできます。

これは、ブランチ オフィス用のドメイン コントローラやサーバーを事前に準備する場合、特に有効です。

サーバーの盗難 前のセクションで触れたように、サーバー (特にドメイン コントローラ) の盗難という非常に現実的な危険性が存在します。ラップトップは格好のターゲットかもしれませんが、慎重な計画によってサーバーがターゲットとして選択される場合もあります。TPM による整合性の確認のみを要求するように BitLocker が構成されている場合は、単純に盗んだサーバーの電源を入れれば、そのサーバーを簡単に起動できるでしょう。対照的に、サーバーのドライブが BitLocker によって保護されており、BitLocker が詳細モードで構成されている (USB キーと PIN のいずれかまたは両方が要求される) 場合、ある程度の時間内に有用な情報を取り出すことは非常に困難です。

ディスクの盗難 ただし、先ほどの場合とは逆に、ディスクのみが盗まれた場合でも、TPM によって非常に高いレベルの保護が提供されます。BitLocker によって保護されたドライブのロック解除に使用できるのは、元のサーバーの TPM のみであるため、ディスクを単純に別のコンピュータに取り付けても、そのデータを読み取ることはできません。

攻撃を受ける可能性の低減 TPM チップを搭載したサーバー ハードウェアを購入し、BitLocker プラットフォームで整合性の確認を実行することによって、一部のマルウェアに対する保護を強化できます。具体的には、BitLocker によって、Windows のオフライン時に加えられた変更や、初期起動コンポーネントの変更が検出されます。特にルートキットなど、マルウェアが自身のインストールに再起動を必要とする場合、このような保護が提供されます。これは総合的なソリューションではありませんが、Windows で提供されるコードの整合性などの機能や、Microsoft® ForefrontTM Client Security などの製品と組み合わせることによって、多層防御を構成する有効な層をもう 1 つ追加できます。

安全な廃棄 BitLocker の最も有用なシナリオの 1 つは、サーバーやディスクのライフサイクルにおける最後の場面で登場します。サーバーやそのディスクが適切に処理されないまま廃棄されているという話は、頻繁に耳にしたことがあるでしょう。使用済みのハード ドライブは、新しいハード ドライブよりもオークションで高値で売られています。これは、道徳観のない買い手がディスクから有用な情報を取り出すことができるのではないかと考えるためです。

さいわい、費用や時間をかけずにディスクから有用なデータを消去できる方法が、BitLocker によって提供されます。BitLocker を使用すると、基本的に情報は有用な形式でディスクに書き込まれません。暗号化されたデータは使い物にならず、すべてのキー情報はすばやく容易に削除できます。その後は、販売、リサイクル、異なる目的での再利用など、このディスク ハードウェアに何が起きても問題はなく、悪意のあるユーザーの手にデータが渡る心配はありません。

Windows Vista と Windows Server 2008 では、複数の上書きなど、BitLocker キーを削除できるようにフォーマット コマンドが更新されています。このため、単純かつ効率的な方法でドライブを廃棄できるようになりました。

最近の報道

記事の公開までに数週間かかるのは承知していますが、本稿の執筆時点では、最近多数の記事、新聞、ニュースで、興味深いハードウェアの特性と、それがどのように BitLocker や他の Windows セキュリティ機能、およびさまざまなベンダが提供している暗号化製品に影響するかが話題になっています。ここでは、いくつかの調査結果を簡単にご紹介します。

1 つはプリンストン大学の研究者によって発表されたもので、現代のコンピュータ メモリには情報が残ることを (非常に効果的に) 証明しています。これは "DRAM 内残留" と呼ばれることもあります (citp.princeton.edu/pub/coldboot.pdf 参照)。簡単に言うと、コンピュータ メモリ内の情報には、メモリへの電力が遮断された後も一定の期間アクセスできるという主張です。もちろん、Windows の実行中に、メモリ内のデータの暗号化を解除するキーが BitLocker によって保持されるため、権限のないユーザーがキーを入手することが懸念されます。

また、Adam Boileau 氏 (security-assessment.com/files/presentations/ab_firewire_rux2k6-final.pdf) は、IEEE 1394 (FireWire と呼ばれることがよくあります) によってダイレクト メモリ アクセス (DMA) が可能になることを実証しています。この手法を使用すると、Windows からシークレット (パスワードや暗号化キーなど) を取得できます。これについて興味深いのは、DMA が IEEE 1394 の特性であると言ってもよいことです。これは欠陥ではなく、Firewire の仕様です。

ただし、どちらの攻撃にも共通していることは、稼働中の (または少なくともごく最近まで稼動していた) コンピュータに物理的にアクセスする必要があることです。BitLocker は、オンライン攻撃に対する保護を提供するようには設計されておらず、またこの機能を有効にしても、ある程度の物理的なセキュリティは必要です。適切な多層防御を実装するには、さまざまなツールと機能を使用して物理的なセキュリティ環境を構築するだけでなく、企業の基本方針を策定し、継続的にユーザーを教育する必要があります。

また、これらは新しい発見ではありません。大分前から知られていることで、実際、Microsoft® Data Encryption Toolkit (DET) でも取り上げられています。DET で提供されているリスク分析は、顧客がセキュリティとユーザビリティ、およびセキュリティと実装および管理コストのバランスを考える際の参考資料として使用することを目的としています。このバランスを考える作業を軽視してはいけません。マイクロソフトでは、十分な知識を身に付けた顧客こそが、セキュリティ、ユーザビリティ、およびコストのトレードオフについての決断を下す資格があると考えています。

DET の他にも、何人かの私の同僚が、すばらしい解説とガイダンスを提供しています。まず、Russ Humphries は、ブログ記事 (go.microsoft.com/fwlink/?LinkId=115217) の中で、DRAM 内残留に関連するセキュリティのトレードオフについて述べています。また、Douglas MacIver は、System Integrity (SI) チームのブログ (go.microsoft.com/fwlink/?LinkId=115218) で、さらに具体的な構成手順や今すぐ実施できる対策について説明しています。この 2 つの有用なブログ記事を読まれることを強くお勧めします。また、DET にも目を通してください。

上記の推奨記事で述べられている特に重要なことは、詳細モードを使用する (つまり、USB キーか PIN を要求する) こと、およびスリープ モードでコンピュータを放置しないようにする (代わりに休止モードにする) ことです。

まとめ

BitLocker は、現在でも Windows Vista の最も便利な機能の 1 つです。SP1 リリースにおいて、BitLocker は顧客の意見に直接応える形で機能強化され、さらに多くのシナリオを可能にし、データ保護に関するより幅広いニーズに対応できるようになりました。オフライン時のデータ保護機能が Windows Server 2008 にも組み込まれたことで、データの保存先が、サーバーまたはクライアント ワークステーションのいずれであるか、およびデータセンター、ブランチ オフィス、またはモバイル ワーカーのデバイスのいずれであるかに関係なく、より多くの方法でデータを保護し、整合性を維持できるようになりました。

Byron Hynes は、マイクロソフトの Enterprise and Partner (EPG) グループの Enterprise Technology Strategist で、セキュリティ機能とセキュリティ製品を専門に扱っています。EPG の前は、2005 年から Windows Server 部門のメンバとして、BitLocker (System Integrity) チームと密接に協力して業務に取り組んでいました。皆さんのご意見やご質問をお待ちしています。Tech•Ed 2008 で声をかけていただくか、bhynes@microsoft.com (英語のみ) まで電子メールをお送りください。

© 2008 Microsoft Corporation and CMP Media, LLC.All rights reserved; 許可なしに一部または全体を複製することは禁止されています.