Intelでは「実行を許可するコードはホワイトリスト形式(明示的に許可したもの以外全てを拒否する)であり、常に最新の脅威に追従していかなければならないブラックリストベースよりも、効率的にセキュリティを実現できる」と説明しています。
Windows系のOSでは、Windows Vista (Ultimate または Enterprise)/ Windows Server 2008 以降で実装されたシステム暗号化技術「BitLocker」で、Intel TXTの機能を利用しています。
現在使われている主なWindows系OSで、BitLockerを利用可能なのは、
・Windows 7 Ultimate または Enterprise
・Windows 8 Professional
・Windows Server 2008 R2 (全エディション)
・Windows Server 2012 (全エディション)
です。ここでは、Windows 8 ProfessionalでBitLockerによる暗号化を施された環境を構築してみたいと思います。
Windows 8のシステムドライブをBitLockerで暗号化
256GBのSSDをほぼ半分ずつに割って、それぞれにWindows 7 Ultimateと、Windows 8 Professionalを導入してある環境ですので、その中のWindows 8側を暗号化します。予めDQ77MKのUEFIでTPMを有効化しておくと作業がスムーズに進行します。
Windows 8 ProfessionalではBitLocker機能は標準で用意されていますので、特に新たな準備は必要になりません。検索チャームを使ってBitLockerを呼び出すだけです。「BitLockerドライブの暗号化」を選択しましょう。
今回はWindowsの起動ドライブを暗号化しますので、Cドライブの「BitLockerを有効にする」をクリックします。なお、BitLockerの仕様上、システムドライブ以外のドライブを暗号化してもTPMが利用されず、Intel TXTの恩恵を受けることは出来ません。
暗号の解除に問題が発生した場合に必要となる、回復キーのバックアップ方法を尋ねられます。今回はUSBメモリに保存しますので「ファイルに保存する」を選択します。Windows 8をMicrosoftアカウントに関連づけている場合には「Microsoftアカウントに保存する」を選択すると、オンラインでの確認が可能となり便利かもしれません。
Windows 8のBitLockerは、暗号化の範囲を選べるようになりました。従来のドライブ全体の暗号化以外に、速度重視の使用済み領域のみの暗号化という選択肢が追加されています。ただ、この方法は新規ドライブであれば良いのですが、ある程度使い込んだ後のドライブに対しては削除ファイル復旧ツールなどを利用されると削除したファイルを復元される恐れがあると言われています。よりセキュリティ強度を高めるためには全体を暗号化する方が確実です。
ここまでの手順で準備は整いましたので、暗号化の実行に移ります。その際「BitLockerシステムチェックを実行する」を選択しておくと、回復キーの照合を予めチェックしてくれますので、実行しておく方が無難です。
全てのオプションを指定し終えると、再起動を促されますので、指示に従い再起動しましょう。
再起動後は、バックグラウンドで暗号化が実行されます。その間もPCは利用できますが、PCの性能によっては少々動作が重くなるかもしれません。
後は完了メッセージが表示されれば、ドライブの暗号化は完了です。では、実際に暗号化されたドライブはどのように見えるのかを検証してみましょう。
まず、暗号化を実際に行った環境(OSとハードウェアの組み合わせ)では、今までと全く変わらずにWindowsを利用することが出来ます。パフォーマンスは5%程度低下すると言われていますが、最近のPCでは特に体感できるほどの差ではないでしょう。
次に他の環境から暗号化されたドライブを見ようとした場合です。先述の通り、このSSDにはWindows 7 Ultimateもインストールされていますので、Windows 7側から見たらどうなるかを調べてみましょう。
下の図はWindows 7側で「コンピューター」を表示した状態です。この場合、OSを起動した側(Windows 7の領域)がCドライブとなり、Windows 8の領域はDドライブとなっています。
ドライブのアイコン自体は表示されますが、鍵がかかった形のアイコンとなり、空き容量などの情報も表示されません。
Dドライブを開こうとしても、アクセスは拒否されます。
それでは、他のPCからこのSSDをブートしてみましょう。例えば、私のメインPC(Core i7-970+ASUS P6X58D-E)でブートしようとした場合です。
回復キーを入力するよう促され、先に進めないようになっています。ただ、このSSDは前述の通りデュアルブート環境で、Windows 7側には暗号をかけていません。その場合、この画面でF11キーを押すことでブートローダーに切り替わり、Windows 7側はそのまま利用することが出来ます。
さらに、こちらのPCでUSB接続により外付けドライブとした場合の挙動です。Windows 7ではBitLockerの有効化が認識され、鍵がかかった形のアイコンで表示されます。つまり、デュアルブート環境のWindows 7側で見た場合と同様です。
一方、BitLockerをサポートしていない、Windows XP環境に接続した場合はどうなるのでしょうか。これも確認してみました。
まず、BitLockerを無効にしているWindows 7環境の方を開いた状態です。ごく普通にファイル一覧が表示され、中のファイルへのアクセスも可能です。それではBitLockerを有効化しているWindows 8環境の方です。
Windows XP環境では、BitLockerパーティションもごく普通にHDDアイコンで表示されます。しかし、これを開こうとするとこの領域は未フォーマットのパーティションとして認識され、内部の情報にはアクセス出来ません。
このように、BitLockerでは極めて簡単な作業だけで、強固なセキュリティ環境を得ることが出来ます。不要になれば、回復キーなどの情報さえきちんと揃っていればBitLockerの解除も容易に出来ますので、HDD/SSDの盗難などに対しては簡便でありながらかなり有効な漏洩対策となり得ることがわかります。TPMなどの認証を経ていない暗号化では、別のPCに接続されてしまえば漏洩のリスクがありますが、システムドライブに対してはTPMを活用している分、セキュリティ強度は大幅に向上します。
ここまでの実験で一つ気になったのは、果たしてIntel TXTの特徴であるハードウェア処理によるトラストチェーンがきちんと機能しているのかわからないという点です。そこでソフトウェア的には全く同一のシステムドライブを作る、つまりHDDデュプリケーターによりそっくりクローン化した環境を用意したらどうなるかについて検証してみました。デュプリケーターはセクター情報を完全にコピーしますので、純粋にシステムドライブのハードウェアだけが違うという環境を作ることが出来るからです。
作成したクローンを、DQ77MKのコピー元ドライブと同じSATAポートに接続して、純粋に差し替えてみた結果は以下の通りでした。
きちんとハードウェアレベルでの信頼性が検証されていることがわかります。
Intel TXTの恩恵といえるのは、TPMを必ず備えているということもありますが、強固なセキュリティ環境を、システムのパフォーマンスに殆ど影響を及ぼすことなく実現している点にもあります。公式の情報ではHDD/SSDについて5%程度のパフォーマンスダウンがあるといわれていますが、元々高性能なIvy BridgeのCore i7にSATA 6Gbps対応環境のSSDという組み合わせですから、体感できるようなパフォーマンスの低下は特にありませんでした。
実は他のチームメンバーも含め、Intel TXTの本来の動作である「TPM+ACによるトラストチェーン」を証明する方法をずっと模索していたのですが、上記HDDデュプリケーターによる完全コピーを利用した場合の検証以外には証明出来たといえる結果は出ませんでした。エンタープライズ系の環境を個人ユーザーのレベルで検証するのは困難ですし、体験版のソフトウェアなどにしても簡単にダウンロードしてくるだけというものはなかなかありませんでした。Intel TXTについては、コンシューマーユーザーにとって、なかなか効果を実感しがたい機能であるといわざるを得ません。
ただ、PCを業務利用しているという前提があり、漏洩を絶対に避けなければいけない情報を保管しているような状況であれば、是非使いたい機能といえるでしょう。
ZIGSOWにログインするとコメントやこのアイテムを持っているユーザー全員に質問できます。