PR

マイクロソフト
セキュリティ レスポンス マネージャ
小野寺 匠

 今回は,情報漏えいから個人情報や機密情報を保護する方法の一つとしてBitlockerを取り上げる。以前取り上げたEFS (Encrypting File System)はファイル・レベルの暗号化機能。これに対してBitlockerはディスク(ボリューム)・レベルの暗号化である。Windows Vistaで初めて実装されたこのBitlockerについて,その技術を解説する。なおBitlockerは,Windows Vista UltimateまたはWindows Vista Enterpriseでのみ使用できる。

 BitlockerはOSの機能ではあるが,ハードウエアのサポートを必要とする。条件は以下の4項目だ。

  • TPM 1.2以上が搭載されていること(TPMが搭載されていない場合は,USBフラッシュドライブ等のデバイスでも代用可能)
  • ディスク・ボリューム(パーティション)が二つ以上あること
  • Bitlockerで使用する二つのボリュームがNTFSでフォーマットされていること
  • PC起動中のUSBデバイスへのアクセスに対応したBIOSであること

     もし,単一ディスク・ボリュームでVistaをインストールしてしまった場合は,Bitlocker Drive Preparation Tool(注: http://support.microsoft.com/kb/930063/en-us)を使用して,ディスクのボリューム構成を見直すことが可能である。

    Bitlockerの二つのボリューム

     通常,x86アーキテクチャのPCは,BIOSが起動ディスク上の決まった位置にあるMBR(Master Boot Record)を読み,適切なボリュームのOSローダー(boot manager)を読み込んでOSを起動する。単純にOSがインストールされているボリューム全体を暗号化すると,このBoot managerまでが暗号化されてしまい,暗号を解除するすべを持たないBIOSはOSを起動できなくなる。このためBitlockerを使う場合は最低限,OSの起動と暗号化の解除に関するデータを格納する暗号化されていないボリューム(システム・ボリューム)と,OSなどがインストールされているボリューム(OSボリューム)の二つのボリュームを必要とする(図1)。


    図1●Bitlockerを利用するには二つ以上のボリュームが必要
    [画像のクリックで拡大表示]

     現時点では,Bitlockerの対象にできるのはOSボリューム一つだけである。他のボリュームについては,Windows Vistaで拡張されたEFSの機能の一つである「ドライブ・ルートからのEFSの適用」を使うことで,データが入っているディスク全体を暗号化することができる。

     Bitlockerの暗号化には3種類の暗号鍵を使う。実際にボリュームを暗号化するFVEK(Full Volume Encryption Key),FVEKを暗号化するVMK(Volume Master Key),VMKを暗号化するSRK(Storage Root Key)である(図2)。ディスク上に存在する暗号鍵はFVEKとVMKの2種類だけで,どちらも別の場所に存在する暗号鍵で暗号化される。そのままの状態で格納されることはない。


    図2●Bitlockerで使う暗号鍵の管理
    [画像のクリックで拡大表示]

     OSボリュームの暗号化・復号化は,FVEKを使ってセクター単位に実施する。FVEKの鍵はAES(CBC Mode)で,これにElephant diffuserと呼ぶ暗号を解読しにくくする処理を組み合わせる。鍵強度は標準ではAES 128ビットを使うが,256ビットも選択できる。

     FVEKは,Bitlockerで最も重要な鍵であり,厳重に保護しなければならない。そこでVMKという別の暗号鍵を使ってFVEKを暗号化し,各暗号化ボリュームにメタデータ(管理情報)の一つとして格納する。さらにVMKは,SRKを使って暗号化た上でシステム・ボリュームに格納する。

     そしてもう一つのSRKは,ディスク上ではなくTPM(Trusted Platform Module)という特別な領域に格納される。TPMは,暗号鍵などの重要なデータを安全に保管するための専用セキュリティ・チップで,不正な方法で強引にデータをチップから吸い上げるタンパリング攻撃からデータを保護する耐タンパー性を持っている。TPMを搭載していないPC環境では,USBデバイスでTPMを代用することもできる。しかし,TPMのような耐タンパー性はないので,USBデバイス自体の管理を十分に行わなければならない。

     各鍵の流れをPCの起動からOSの起動までの時間経過に沿って整理したものが図3である。


    図3●起動の流れと暗号鍵の遷移
    [画像のクリックで拡大表示]

    Bitlockerの管理性,利便性

     Bitlockerは,標準ではTPMのみを使用して鍵(SRK)を管理する。加えて,USBデバイスのみ,TPMとPIN(個人識別番号)の併用,TPMとUSBデバイスの併用という選択肢も用意されている。それぞれの方法により一長一短がある。操作性・管理性とセキュリティ・レベルの関係を示したものが図4である。


    図4●操作性・管理性とセキュリティ・レベルの関係
    [画像のクリックで拡大表示]

     TPMのみで管理する方法が,管理者にもユーザーにも負担が少なく,展開も比較的容易である。しかしTPMのみでは,OSの管理外での不正なディスクの読み取りを制限することはできるものの,OS起動に対する追加のセキュリティを得ることができない。USBデバイスまたはPINを組み合わせて使うと,「知っている」または「持っている」という第2の要素によってOSの起動を制限することができる。

     これによって,紛失・盗難時のOSへの攻撃を最小限に抑えることができるが,USBデバイスの場合はデバイス自体をユーザーが厳密に管理する必要がある。USBデバイスをオフィスに忘れて外出したりすると,PCを全く起動できなくなるなど利便性への影響がある。PINの場合はUSBデバイスのような懸念はないが,パスワード同様に漏れる可能性があり,定期的に変更するなどの管理が必要になる。

     重要なのは,どの方法を使うにしても,PIN忘れ,USBデバイスの紛失・破損,TPM破損など,トラブルへの備えが重要である。特に企業では,退社した社員のPCのボリュームを強制的に復号化できるようにするなどの要件も存在する。

     個人で使う場合は,回復パスワードを必ず保管する必要がある。回復パスワードは,USBデバイスへの保存,ローカル・ディスクへの保存,印刷の三つの保存方法がある。ローカルに保存した場合は必ずCDなどのメディアに保存し安全な場所に保管しなければならない。ローカルに保存したままでは,必要なときに使用できないことになる。

     企業では,Active Directoryに回復パスワードやTPMのオーナー・パスワードを保管することで,比較的に容易に回復処理を行うことができる。グループポリシーを使用して,「Active Directory ドメイン サービスへのBitlockerバックアップを有効にする」「コントロール パネル セットアップ:回復フォルダを構成する」「コントロール パネル セットアップ:回復オプションを構成する」(図5)を設定する必要があり,自動的には回復パスワードはActive Directoryに集約されない点に注意しておきたい。


    図5●Bitlockerのグループポリシー
    [画像のクリックで拡大表示]

     Bitlockerの導入には準備と計画が必要だが,PCの持ち出しや紛失による情報漏えいリスクが高いと考えるのであれば十分に導入する価値がある。また,Bitlockerを含め,ITの管理統制を実施できる環境を作ることが,BitlockerやEFS,RMSの効果を最大に引き出し,情報漏えいリスクの最小化につながる。