笠原一輝のユビキタス情報局

ノートPCをセキュアに持ち運べるVistaの「BitLocker」




 筆者もそうだが、何らかの形でノートPCを持ち運び、出先で使うということは少なくない。その際に注意しなければならないのが、ノートPC本体の紛失によるHDD内データの流出だ。持ち歩きの場合、出先での盗難や置き忘れといった事態からはどうしても逃れることはできないので、それを前提に対策を立てなければいけない。

 ノートPCのデータ流出に対して有効なのが、Windows Vista EnterpriseおよびUltimateでサポートされたHDD暗号化技術「BitLocker」だ。BitLockerを利用することで、ユーザーが意図しないHDDの読み取りを防止できる。今回はBitLockerを使い、使い勝手の善し悪しや、性能の低下度合いなどをチェックする。

●Vistaが起動していない時にHDDの内容を保護する

 BitLockerはWindows Vistaの5つあるSKU(製品構成)のうち、企業向けの上位SKUであるEnterpriseとコンシューマ向けの最上位SKUであるUltimateにのみ搭載されている機能だ。Enterpriseは、ライセンス契約している企業ユーザーのみが購入できるので、一般のユーザーがBitLockerを利用するためには、Ultimateを購入する必要がある。

 BitLockerが実現するのは、OSのシステムがインストールされているHDDのパーティションそのものの暗号化だ。おそらく多くのユーザーがWindowsのログイン用にパスワードをかけていると思うが、そのパスワードはあくまでログイン用のパスワードで、ファイルにアクセス制限をかけているわけではない。仮にHDDを外して他のPCに取り付ければ、HDDの中身は丸見えになってしまう。

 したがって、PCを盗まれてしまった場合、Windowsにはログインできなかったとしても、HDDの中身は丸見えになってしまう。BitLockerを利用すれば、HDDを他のPCに接続した場合でも、OSやデータが格納されているパーティションへのアクセスを防ぐことができる。

 なお、OSが一度起動してしまえば、ユーザーやアプリケーションは暗号化されていることを意識する必要はない。BitLockerの役割は、OSが起動していない時に、HDDのデータを保護するためのものなのだ。

●TPMあり/なしの2つのモード

 BitLockerには標準で2つの動作モードが用意されている。それは、「TPMあり」と「TPMなし」だ。TPM (Trusted Platform Module)とは、TCG(Trusted Computing Group)により規定されているセキュリティチップのことを指している。最近のビジネス向けノートPCでは搭載されていることが多い。TPMにはソフトウェアからは改竄することが不可能な暗号化鍵が封じ込められているほか、暗号化処理に必要な乱数生成機など、PCのセキュリティを向上させるのに必要な数々の機能が用意されている。

 例えば、暗号化鍵がHDD上に格納されている場合、何らかの処理はされていたとしても、基本的にはその暗号化鍵はソフトウェアから読める状況になる。仮にHDD上にある暗号化鍵を悪意のあるソフトウェアなどに読みとられてしまった場合、せっかくHDDにかけた暗号化そのものが意味がなくなってしまう可能性がある。しかし、TPMを組み合わせることで、暗号化鍵はハードウェアとしてTPM内部に封じ込めてあるので、その危険性は圧倒的に低くなるのだ。

 BitLockerではPC上にTPMチップがある場合、このTPMの暗号化鍵を利用してHDDの暗号化を行なう。このため、信頼性の高い暗号化が可能であり、現在の技術ではほぼ解読は不可能と言ってよい。しかも、暗号化鍵はPCの内部に封じ込めてあるので、ユーザーは特にその存在を気にせずに利用することができる。

 なお、システムにTPMチップがない場合、暗号化鍵はソフトウェア的にUSBのフラッシュドライブに格納して利用することになる。この場合、ユーザーは起動時などに常にそのUSBフラッシュドライブを差し込んでロックを解除する必要があり、やや面倒なことになる。暗号化鍵が入ったUSBフラッシュドライブを読み取られてしまう危険性や利便性などを考えると、基本的にはTPMチップが存在していることがBitLocker利用の前提と考えた方が良いだろう。

【図1】TPMチップあり、なしでの違い

●TPM v1.2に対応したセキュリティチップが必要

 PCのセキュリティを実現するTPMだが、その仕様は複数ある。例えば、筆者が以前利用していたThinkPad T42には、v1.1のTPMが搭載されていた。これに対して、今利用しているThinkPad T60(2007-79J)にはv1.2のTPMが搭載されている。このように、一口にTPMチップといっても、複数のバージョンがあるので注意したい。BitLockerで利用できるのは現行のv1.2であり、それ以前のv1.1やv1.0に準拠したTPMは利用することができないのだ。

 ちなみに、デスクトップPCであってもTPM(v1.2)がオンボードで搭載されているマザーボードなどでは、それをBitLockerに利用することができる。ただし、BitLockerは、基本的に1パーティション、Windowsがシステムとして動作しているドライブしか暗号化することができないという制限がある(なお、NTFSにはファイルを暗号化するEFSという仕組みが用意されており、起動ドライブ以外を暗号化したい場合にはそちらを利用する)。従って、複数のHDDを装着して利用することの多い、デスクトップPC向けとは言い難いのも事実だ。もっとも、企業などでHDDの盗難に備えてシステムドライブを暗号化したいという用途であれば、デスクトップPCでも意味はあるだろう。

 さて、今回BitLockerをレビューするにあたり、筆者が普段仕事用にメインマシンとして利用しているThinkPad T60(2007-79J)を利用した。ThinkPad T60(2007-79J)には、TPM v1.2に準拠したセキュリティチップが搭載しており、これをBitLockerに利用することができる。

 なお、LenovoのThinkPadシリーズには、このTPMの機能を活用するClient Security Solutionsというソフトウェアがバンドルされている。Client Security Solutionsは、Windows Vista用になってバージョン8にバージョンアップされたが、XP用のバージョン7でサポートされてきたLenovo独自のファイルの暗号化機能は削除されている。その替わりに、このBitLockerを利用することが考えられているようで、LenovoのWebサイトには、ThinkPadとBitLockerを組み合わせて利用する場合の注意点などが掲載されている。なお、Client Security Solutionsの他の機能、例えば指紋認証やパスワードマネージャ(Webサイトのパスワードなどを管理する機能)などはBitLockerを有効にしても問題なく利用することができる。

●BitLockerを利用するには2つのパーティションが必要になる

 Windows VistaのシステムドライブをBitLockerで暗号化して保護するためには、HDD上に最低でも2つのパーティションが必要になる。これはOSをブートさせるブートローダーを暗号化していないパーティションに格納する必要があるためだ(BIOSからはBitLockerで暗号化された領域を読み出すことができない)。まず、BIOSから暗号化されていないパーティション上にあるブートローダーに起動シーケンスが渡され、その後暗号化されたパーティションにあるWindows Vistaのシステムが呼び出されるという仕組みになっている。

 従って、OSをインストールする前に、起動用のパーティションを作成しておく必要があるのだ。MicrosoftのWebサイトなどで公開されているBitLockerのマニュアルを読むと、この起動用パーティションの容量は1.5GB以上となっているが、ThinkPadシリーズの場合には2GBにしておく必要があった。というのも、ThinkPadシリーズには、データのバックアップツールとして「Rescue and Recovery」というツールが用意されているのだが、それとの互換性を確保するために最低でも2GBのサイズを確保し、さらに起動用のパーティションは、Windows Vistaのシステムドライブの後ろに置くという指示がRescue and Recoveryのマニュアルに書いてある。まずOS用のパーティションを確保した後、2GB以上のパーティションを後ろの領域に作成する必要がある。

 Windows Vistaでこうした複雑なパーティション構成を作成する場合には、コマンドラインからdiskpartというコマンドを利用する必要がある。diskpartを利用するには、Windows VistaのDVDを利用して起動し、“Windowsのインストール”という画面になったら“コンピュータを修復する”というオプションを選び“システム回復オプション”を呼び出す。システム回復オプションの中から“コマンドプロンプト”を選んでコマンドプロンプトを起動しdiskpartコマンドを入力することで、複雑なパーティションの設定が可能になる。なお、diskpartコマンドの使い方は別掲のMicrosoftのWebサイトが詳しいので興味がある読者はそちらを参照していただきたい。筆者は面倒なので、diskpartは使わず、Windows XPのインストーラのディスク領域設定ツールを利用した。もともとThinkPadにはWindows XPがインストールされていたので、Windows XP ServicePack2の起動CDを利用してパーティションを作成したのだ。

 BitLocker向けにパーティションを設定する場合は、Microsoftのサイトである“Windows Vista Beta 2 BitLocker ドライブ暗号化のステップ バイ ステップ ガイド”というサイトが役に立つ。β2向けの設定方法だが、製品版でもほぼそのまま利用できるので、実際にBitLocker向けに設定しようという場合には役に立つので参考にしていただきたい。

□diskpartコマンドの使い方(Windows 2003 Serverでの利用方法、Vistaでも基本的には同じ)
http://www.microsoft.com/technet/prodtechnol/windowsserver2003/ja/library/ServerHelp/ca099518-dde5-4eac-a1f1-38eff6e3e509.mspx?mfr=true
□Windows Vista Beta 2 BitLocker ドライブ暗号化のステップ バイ ステップ ガイド
http://www.microsoft.com/japan/technet/windowsvista/library/c61f2a12-8ae6-4957-b031-97b4d762cf31.mspx
□Windows BitLocker Drive Encryption Step-by-Step Guide(製品版のガイド、英語)
http://technet2.microsoft.com/WindowsVista/en/library/c61f2a12-8ae6-4957-b031-97b4d762cf311033.mspx?mfr=true

【図2】BitLockerでの2つのパーティション
Windows VistaのDVDでブートし、インストールのメニューが表示されたら「コンピュータを修復する(R)」を選択する 「次へ」を選択する
表示されたメニューからコマンドプロンプトのリンクを押す コマンドプロンプトから「diskpart」と入れるとdiskpartが起動する。以前のFDISKの代わりとして利用することができる

●暗号化には数時間かかる

 パーティションの設定ができたら、実際にWindows Vistaをインストールする。インストールが終わり、データのバックアップなどが終わったら、実際にBitLockerを有効にする。有効にするのは非常に簡単で、コントロールパネルの中に用意されているBitLockerの設定ツールを呼び出し、“BitLockerをオンにする”のリンクを押せば、あとは指示に従っていくだけだ。

 ONにすると、タスクバーの通知領域に暗号化が進行中であることが表示される。ちなみに、この暗号化にかかる時間は数時間とされているが、筆者のノートPCでは160GBのHDDに100GB近いデータがあるので、実に6時間近くかかった。暗号化を行なうのは、寝る前などPCを使わないことが確実な時にするといいだろう。

 ONにする時に、USBフラッシュドライブやネットワークフォルダなどに、回復キーをバックアップすることを促される。この回復キーはTPMに何らかの障害が発生したときや起動領域に変更を加えた場合などに、OS起動時に回復キーを入れるように要求される。この回復キーの実体は48桁の数字で、回復キーを要求された時にキーのファイルではなく、直接この数字列を入力しても回復することが可能になっている。このため、心配な人は回復キーを印刷して保存しておくといいだろう(実際、バックアップには印刷というオプションも用意されている)。もちろん、この回復キーが漏れてしまってはせっかく暗号化した意味がないので、印刷した場合はその紙を人の目には触れないようにする必要がある。

 なお、Windows Vista Ultimateの特典機能である「Ultimate Extra」には“BitLockerとEFS拡張機能”と呼ばれる追加機能が用意されており、これをインストールするとコントロールパネルに“キーの安全なオンラインバックアップ機能”と呼ばれるアイコンが追加される。これを利用すると、Microsoftが提供しているWebサービス“Windows Marketplace”の機能の1つである“デジタルロッカー”に回復キーをバックアップすることができる。なお、バックアップした回復キーはWebブラウザがある環境であれば、デジタルロッカーからいつでもダウンロードできるので、安心だ。

 なお、回復キーを求められるシーンは、BIOSのアップデートも含まれており、BIOSアップデートを行なったときには必ず回復キーが要求されることになる。一度要求されると、起動時にずっと要求されることになるが、要求されて回復キーを入れOSをブートした後でコントロールパネルのBitLockerの設定で、BitLockerを一時的にオフにした後で有効にすると次からは回復キーが要求されなくなる。なお、LenovoのThinkPadシリーズの場合、Rescue and Recoveryを導入した場合も、この回復キーの入力が求められる。Rescue and Recoveryを導入したあとは、前述のようにBitLockerをON/OFFしてもずっと回復キーを入れろといわれるようになるので、それを避けるために次のコマンドをコマンドプロンプト(管理者権限で実行)から実行しておけば、次から回復キーを入れる必要がなくなる。

bcdedit -deletevalue {globalsettings} extendedinput

標準ではBitLockerはOFFになっている。“BitLockerをONにする”というリンクを押すとONにすることができる 有効にする前に回復パスワードを保存する。ブートパーティションに問題が発生した場合などに必要になる BitLockerの暗号化には数時間かかる
キーの安全なオンラインバックアップという機能がUltimate Extraを通じて提供される Windows Liveにログインして回復パスワードを保存する
保存された回復パスワード 保存された回復パスワードはWindows Marketplaceのデジタルロッカーに保存され、Webブラウザを通じてダウンロードすることができる

●バックアップは確実に

 筆者の仕事ノートPCにBitLockerをインストールした後の感想だが、今のところ不自由はでていない。気になる、性能の低下だが、軽くベンチマークをしてみたところ、やはり若干の低下が認められた。「PCMark05 v1.2.0」を実行したところ、システムトータルで3.3%の性能低下が確認できた。

【グラフ】BitLocker有効/無効でのPCMark05のスコア比較

 この3.3%をどうとるかは人それぞれだと思うが、筆者は体感上は全く差が出ない結果だと思っているし、実際導入前に比べて性能低下を体感したことはない。とりあえず性能低下に関してはあまり気にする必要がないのではないかというのが筆者の結論だ。

 ただし、一方で別の問題もある。具体的には暗号化をしたことによる、不便さだ。当たり前なのだが、暗号化しているためHDDを抜いて他のPCに指してもHDDデータは自分でも取り出すことができない。困るのは、OSのシステムが壊れて起動しなくなってしまった場合だ。実際、筆者も一度OS自体がブートしなくなってしまったことが発生した。どうもファイルシステムに異常がでてしまったようなのだが、何をやっても起動しなくなってしまったのだ。Windows Vistaには、DVDから起動して“回復オプション”と呼ばれる回復手段が用意されており、BitLockerで暗号化されているHDDでも、回復キーさえあれば復旧できるはずなのだが、筆者の場合ではこの回復オプションさえも起動しないという状況になってしまったのだ。

 BitLockerで暗号化されていない場合であれば、そのHDDを他のマシンにつないでデータを救い出すということが可能だが、暗号化されていたので、そのHDDの内部は全く見ることもできず、救い出すことはできなかった。結局、データそのものは日々とってあったバックアップから復旧できたので仕事には何の影響もなかったのだが、バックアップがなかったらと考えると背筋が寒い思いをしたのは事実だ。このあたりは暗号化による安全を実現することとのトレードオフと言えるので、仮に読者がBitLockerで暗号化をしようと思うのであれば2重、3重のバックアップをとっておくこととお奨めする。

BitLockerで暗号化したHDDを他のPCで読み取ろうとしても画面のように全く読むことができない

 もう1つ忘れてはならないことは、BitLockerの暗号化は、既存のアプリケーションやWindowsにログインしたあとは、アプリケーションやユーザーからは暗号化されていないのと同じに利用できるということだ。だから、例えばハイバネーションから復帰したときに、Windowsパスワードを入れなくてもログインできるようになっていたり、席を外したときにPCがログインした状態で放置されている時などには、容易にデータを盗むことが可能であるということだ。このため、きちんとレジューム時やスクリーンセーバーから復活した時にはWindowsパスワードを必要とするように設定するなど、他のセキュリティ関連の設定にも注意したい。あくまでBitLockerは、そうしたセキュリティ設定ではカバーできない事態(電源がオフになっている時にHDDが抜かれて他のPCに接続されてなかのデータが読まれてしまうという事態など)をカバーするためのものなのだ。


●ノートPCを盗難の備えとしては有効な手段

 以上のように、BitLockerは、既存の手段(WindowsパスワードやPCの起動パスワードなど)ではカバーできない、HDDそのものの盗難などの事態に備える手段として利用できる。実際、筆者が試してみてだめだったように、HDDそのものを抜いて他のPCに入れてみてもHDDのなかは全く見ることができない。これであれば、仮にPCそのものが盗難されたとしても、中に入っているデータの盗難というより大きな事態を防ぐことができるわけで、そのメリットは小さくない。ただし、すでに述べたように、自分自身でさえもデータを取り出すことができなくなるリスクがある点、あるいは若干の性能低下がある点はトレードオフといえ、そうした意味ではすべてのユーザーに必要な機能ではないことも事実だ。

 では、どんなユーザーに必要かと言えば、やはりノートPCをビジネス用途に利用しているユーザーということになるだろう。個人情報保護法の施行後、ビジネスにおいて情報が流出することは、大きなマイナスになりうるリスクであると考えられるようになっている。しかし、だからといってPCを持ち歩かない、というのもビジネスの効率をあげるという観点から考えるとやはり難しいところだ。その妥協点として、BitLockerのような手段で仮にPCそのものが盗まれたとしてもデータにアクセスすることを不可能にするような手段をとることは重要だと考えられる。

 筆者のようにSOHOでPCを使っている個人事業主や、外回りが多くそのためにノートPCを持ち歩かないといけないビジネスパーソンであれば、十分検討に値する機能ではないだろうか。

□関連記事
【6月18日】マイクロソフト、拡大するWindowsエコシステムをアピール
http://pc.watch.impress.co.jp/docs/2007/0618/ms2.htm
【3月17日】Windows Vistaのセキュリティ機能、XPとはここが違う(INTERNET)
http://internet.watch.impress.co.jp/static/vista/security/2007/03/07/index.html

バックナンバー

(2007年8月10日)

[Reported by 笠原一輝]


【PC Watchホームページ】


PC Watch編集部 pc-watch-info@impress.co.jp ご質問に対して、個別にご回答はいたしません

Copyright (c) 2007 Impress Watch Corporation, an Impress Group company. All rights reserved.