BitLockerの概要を知るための超入門連載(全5回)。今回は、BitLockerとは何か? どんな種類があるのか? 他の機能との違いは? 仕組みは? 使える環境は? といった概要を説明する。
本入門連載では、システム管理者やシステムエンジニアの方々を主な対象として、IT業界でよく使われる技術や概念、サービスなどの解説をコンパクトにまとめておく。
「BitLocker」は、ハードディスクやSSD、USBメモリ、リムーバブルハードディスクなどの内容を暗号化してセキュリティを確保する機能である。Windows OS固有の機能であり、Windows Vista/Windows Server 2008から導入された。
保護したいボリューム(ドライブ文字)を選んでBitLockerによる暗号化を有効にすれば、そのボリューム全体が自動的に暗号化される。暗号化されたボリュームにアクセスするには、設定にもよるが、最初に一度だけパスワードを入力するか、スマートカード(ICカードの一種)などを挿入すれば自動的に暗号化が解除された状態でファイルにアクセスできる。
ディスク(ボリューム)の内容を全て暗号化しているため、例えば紛失や盗難などでディスクが盗まれたとしても、パスワード/スマートカードなどを持たない第三者はデータを読み出すことができなくなる。
実際にはBitLockerで暗号化するとデータが完全に読めなくなるというわけではない。暗号化されたデータは、原理的には時間をかければ解読されてしまう可能性があるからだ。ただし、現状では解読にとても長い時間がかかるため、十分安全な方式といえる(現代の暗号理論では、現実的な時間内で解読できなければ安全と考える。連載「マスターIT/暗号技術」の「暗号化の基礎」参照)。
とはいえパスワードが短すぎると解読にかかる時間が短くなり、安全性が低くなるので、なるべく複雑で長いものにするなどの対策は当然必要だ。
BitLockerには、主に内蔵ディスク(ハードディスクやSSD)を保護するための「BitLocker」と、リムーバブルディスクやUSBメモリなどを保護するための「BitLocker To Go」の2種類がある。
これらは機能的にはほぼ同じだ。ただ、内蔵ディスク、特に起動用のディスクを暗号化するためには、暗号化されたままではシステムを起動できないため、データ用のディスクとは少し異なる機能や設定が必要になる。
そのため、まずはUSBメモリやリムーバブルディスクから使ってみるといいだろう。本連載でも、次回でUSBメモリ/リムーバブルディスクを、その次の回で内蔵ディスクの暗号化について順次解説していく。
ところでディスク上のデータを暗号化する手法としては、Windows OSでは、BitLocker以外にも次のような方法が利用できる。
ファイルやフォルダ単位で暗号化する方法。プロパティ画面で暗号化の属性をオンにするだけでデータが暗号化される。詳細はTIPS「Windowsでファイルやフォルダを暗号化する方法」を参照していただきたい。
ファイルやフォルダをパスワード付きのZIPファイルにまとめてデータを保護する方法。ただしWindows 7以降のOSでは、ZIPにパスワードを付けるためにはサードパーティー製のツールが必要。詳細はTIPS「ZIPファイルにパスワードを付ける」を参照していただきたい。
いずれの方法も、暗号化の仕組みや使い方はそう難しくないが、安全な運用をするには少し注意が必要である。暗号化を設定したはずなのに、知らないうちに暗号化が解除されてしまうことがあるからだ(TIPS「暗号化はフォルダごと行う」参照)。
またEFSの方は、公開鍵暗号システムを使った暗号化を行っている関係上、暗号化データファイルを(リムーバブルメディアなどで他のシステムに)移動させようとすると、ユーザーの証明書データもやり取りする必要がある。Active Directoryドメインに参加してれば証明書はすべて自動的にやり取りされるのでユーザーの手間はかからないが、ワークグループネットワークの場合は自分で証明書も管理しなければならず、これはかなり面倒である。
これらと比較すると、BitLockerによる暗号化は非常に理解しやすい。ボリューム(ドライブ)単位で暗号化するので、一部のファイルやフォルダだけ暗号化が勝手に外れてしまうことはなく、ドメインでもワークグループでもユーザーの手間はほとんど変わらず利用できる。
BitLockerの大きな特長として、暗号化のパスワードがなくても「回復パスワード」や「回復キー」などという特別なキー情報を使って暗号化を解除できる点が挙げられる。前述のパスワード付きZIPファイルでは暗号化も復号も1つのパスワード文字列だけで行う。だが、BitLockerでは何種類かの鍵を使ってデータを保護している。
複数の鍵を使うのは、ユーザーが暗号化のパスワードを忘れてしまった場合に備える他、ディスク(PC)の所有者以外でも暗号化されたデータを解除できるようにするためである。組織で利用するPCの場合、例えば利用者が退職したら、中に入っているデータを誰も取り出せなくなってしまったというのでは困るだろう。そんな場合でも、システム管理者ならディスク内にあるデータにアクセスできるようにするため、パスワード以外の暗号化解除機能が幾つか用意されている。
またBitLockerドライブを利用するたびにいちいちパスワードを入力するのは面倒だろう。そのために自動的にロックを解除する方法が幾つか提供されている。
さらに、Active DirectoryドメインによるBitLockerドライブの管理機能(BitLockerドライブの利用の強制や回復キーの集中管理など)も提供されている。
BitLockerは、ファイル単位でなく、ボリューム全体を暗号化の対象としている。これを実現するため、BitLockerのドライバ(fvevol.sysフィルタードライバ)は、Windows OSのファイルシステムドライバとボリュームマネージャの間に入って、その間でやりとりされるデータを暗号化したり、復号したりしている。ディスクのブロックデータをそのまま暗号化しているので、ファイルシステムのタイプ(NTFSやFAT、exFAT)には関係なく利用できる。
ここで注目していただきたいのは、暗号化に使うキー自身が2段階で暗号化されているというところである。
BitLockerではボリュームデータを暗号化するために「AES」アルゴリズム(連載「マスターIT/暗号技術」の「AES暗号化」参照)を利用している。その暗号化の際に使われるのが「FVEK(Full Volume Encryption Key)」という256bitのキーである。FVEKは最初にBitLockerによる保護を有効にした時に一度だけ作成され、以後はずっと同じ値のFVEKが使われる。
FVEKはBitLockerの対象となっているボリュームのメタデータ領域に保存されている。ただし、これをそのまま保存していたのでは簡単に解読されてしまう。そこでFVEKそのものも、もう1つ別の「VMK(Volume Master Key)」というキーを使ってAESで暗号化されている。
VMKもランダムな数値を使ったキーであるが、こちらは場合によっては何度か作り直されることがある。例えばブート時のBitLockerの信頼性のチェーン*1が破られた場合はVMKを作り直すことができる。VMKを作り直しても、FVEKが同じならディスク上に記録されているデータは変わらないので、いちいちBitLocker暗号化の解除と再暗号化という、非常に時間のかかる処理をしなくても済む。
* ブートの各段階の連携のこと。BitLockerではブートシーケンスの各段階での挙動や実行モジュールの正当性などが厳密に管理されており、正規のブートシーケンスが守られているかどうかをチェックしている。
VMKは幾つかのキーや手法で暗号化されており、いずれの方法を使ってもVMKのデータ(=FVEKを復号するためのキー)が得られるようになっている。BitLockerで利用できる多様な暗号化の解除方法は、実はこのVMKを得るための方法の違いに由来する。次表にその主なものを示しておく。
用語 | 意味 |
---|---|
パスワード文字列 | 10〜20桁程度のパスワード文字による保護。BitLockerで暗号化されたドライブをシステムに接続後、パスワード文字列を入力すると暗号化を解除して、ファイルへアクセスできるようになる。簡単なパスワードだと総当たり攻撃などで解読される危険性があるので、十分長くて複雑なものにすること |
回復パスワード(数字パスワード) | 他の全てのキーを紛失した場合やシステムに問題が生じた場合などに備えて用意しておく、ロックを解除するためのキーデータ。10進数で48桁(8桁×6組)の数値列のこと。印刷したりテキストファイルにしたりしてUSBメモリやリモートのサーバなどに保存する他、Microsoftアカウント上に保存したり、Active Directoryディレクトリサービスに保存したりできる。基本的にはこの数字列を手動で入力してロックを解除する ※紛らわしいが、この数字パスワードのことを画面上では「回復キー 」と表示している部分がある |
TPM(Trusted Platform Module) | TPMとは、ハードウェア暗号化などをサポートする特殊なICチップのこと。OSボリューム(C:)をBitLockerで暗号化するためには(原則として)TPMが必要 |
PINコード | 4〜20桁の数字パスワード。TPMと共に利用する。起動時にPINコードの入力が必要なので、TPMだけの場合よりも、やや安全性が高くなる |
回復キー/外部キー/スタートアップキー | ロック解除用のキーデータを「.BEK(BitLocker Encryption Key)」という拡張子のファイル(バイナリ形式のデータファイル)に保存したもの。外部キーを使うとユーザーの手動入力なしにロックを解除できる。OS起動用に使われる回復キーを特にスタートアップキーと呼ぶ ※画面上で「回復キー」の数値を入力するように指示が出ることがあるが、それは実際には「回復パスワード」を指していることがほとんどである。回復パスワードは10進数の数字列、回復キーはバイナリデータファイルである |
USBキー | 回復キー(.BEKファイル)をUSBメモリに保存して、システムの起動に使えるようにしたもの。起動時にUSBメモリの装着が必要なので安全性が高くなるが、USBキーの紛失には注意。TPMやPINコードと併用すると安全性がさらに高くなる |
スマートカード(証明書ベースの保護機能) | ICカードに保存したキーデータ(公開鍵暗号のための証明書)を使う方法。起動時にスマートカードの装着が必ず必要なので、やや安全性が高いが、スマートカードの紛失には注意 |
ネットワークロック解除 | ネットワークを介してBitLockerのロックを解除する機能。ネットワーク接続されている環境で利用可能 |
Windowsアカウント | Windowsのユーザーアカウント情報やSIDを使ってロックを解除する機能 |
クリアキー | BitLockerによる保護を一時的に「中断」する時に使われる一時的な内部パスワードのことを「クリアキー」という。キーデータが暗号化されない状態で保存されている。システムやBIOSの更新の他、BitLocker環境ではうまく動作しないアプリケーションなどがある場合に、一時的にBitLockerを無効にするために使われる(Windows OSのアップグレード時などには自動的にこの中断処理が行われる)。中断状態での運用はセキュリティ的に非常に脆弱だし、キー情報が漏洩する可能性/機会が高くなるので、なるべく短時間に抑えること |
BitLockerで利用できるさまざまな解除方法 BitLockerのロックを解除するということは、内部的にはVMKの暗号化を解除してFVEKのキーデータを取得することを意味する。VMKへはさまざまな方法でアクセスできる一方で、最低でも1つは設定しておかないと二度とFVEKへアクセスできなくなる(=BitLocker暗号化を解除できなくなる)。 |
BitLockerの機能はWindows OSの全てのエディションで使える訳ではない。その全機能を利用するには、Active Directoryへの参加機能を持つような上位のエディションが必要だ。詳しくは下表を参照していただきたい。
機能 | 概要 | 対象OS |
---|---|---|
フル機能 | ■フル機能のサポート ・BitLockerボリュームの作成/管理 ・GUIの管理ツール ・CUIの管理ツール |
・Windows 7 Ultimate/Enterprise ・Windows 8 Pro/Enterprise ・Windows 8.1 Pro/Enterprise ・Windows 10 Pro/Enterprise ・Windows Server 2008 R2 ・Windows Server 2012 ・Windows Server 2012 R2 ・Windows Server 2016 ※Server OSの場合は「BitLockerドライブ暗号化」機能を追加すること |
読み書きのみ | ■限定的な読み書きアクセスのみのサポート ・BitLockerボリュームのロック解除と読み書き ・CUIの管理ツール(manage-bde.exe等) ※BitLockerディスクの作成やキーの追加/削除、パスワードの変更機能、GUIのツールサポートなどはない |
・Windows 7 Home Basic/Home Premium/Professional ・Windows 8(無印エディション) ・Windows 8.1(無印エディション) ・Windows 10 Home |
読み出しのみ | ■読み出しのみのサポート ・「Bit Locker To Goリーダー」ツールによるBitLockerボリュームの読み出し ※BitLockerディスクの作成や書き込みは不可 |
・Windows XP ・Windows Vista Home Basic/Home Premium |
各Windows OSでサポートされるBitLockerの機能 |
BitLockerは、基本的にはProやEnterpriseなどのエディションで使われることを意図した機能であるが、一部の機能は下位のエディションでも利用できる。
BitLockerのディスクを新規作成できない一方で、Windows 7以降であれば、既存のBitLockerディスクの内容を開いてファイルを読み書きしたり、追加・更新したりすることはできる。Windows Vista/XPの場合は,読み出ししかできない(詳細は次回解説)。
今回はBitLockerの概要についてまとめてみた。次回はリムーバブルディスクやUSBメモリでBitLocker To Goを使ってみよう。
→第2回「BitLocker To GoでUSBメモリやリムーバブルハードディスクを暗号化して保護する」へ
■更新履歴
【2017/03/02】表「各Windows OSでサポートされるBitLockerの機能」の「読み書きのみ」の行に「Windows 7 Professional」の記載が不足していたので追加しました。
Copyright© Digital Advantage Corp. All Rights Reserved.