マイクロソフト
Chief Security Advisor
高橋 正和

 今年に入っても相変わらず,個人情報や機密情報の漏えい事件が報道されている。情報保護については多くの対策が提唱されているものの,情報が流出する経路や特性について十分に分析されていない場合が少なくない。本来は技術的な対策を行うべき項目が人的なマネージメントに置き換えられてしまったり,技術的対策は講じても誤って適用されていたりすることがある。最近の事件の中に,こうした対策の不備によって情報が保護できなかったケースがないとは言い切れない。

 本稿では,情報が流出するルートを整理し,流出を防ぐための基本となるシステム面での対策を確認する。その上で,Bitlocker,EFS,RMSに代表される,Windows Vistaのデータ・レベルでの情報保護について,それぞれの特性と適用範囲を解説する。さらに,改めて注目されているクライアント(端末)側にデータを持たないアプローチ,つまりシン・クライアントについて,実装上の注意点を見てみることにする。

情報が流出するルート

 情報が流出する際の形態は,電子媒体だけでなく,紙媒体や人間の記憶などが考えられるが,ここではコンピュータで取り扱えるファイルとなっている情報(以下,データ)について考える。なお,データに含まれている内容を情報とよび,データと情報をできる限り区別する。

 データが流出する要因と経路は多岐にわたる(図1)。最も目につくパターンは,社外に持ち出したデータの「盗難・紛失」である。社内のパソコン(PC)や携帯しているPC,USBメモリーなどの外部メディア,さらにはデータをコピー(転送)した自宅のPCの場合もある。一般的に,社外に持ち出したデータは,組織内にある状態と比較して,リスクが高い状態にある。

 紛失や盗難は,PCやメディアといった物理的な物がなくなるため比較的発見が容易だが,不正アクセスなどによってデータが盗まれた場合は単にデータのコピーが外部に作成だけであり,発見が難しい。社員や関係者が電子メール,あるいはCD-ROMなどの外部記憶媒体を使って意図的に情報を盗み出す場合や,暴露型のウイルスによって情報が流出する場合も同じである。物理的に見れば,何もなくなっていないし,ファイルも変更されていない。

 情報流出はあまりに多くケースが考えられる。それぞれのケースに個別に対処していったのでは効果が期待できないばかりか,むしろ状況を悪くしてしまう可能性がある。次章では,効果的な情報流出対策を行うための基本となる、アクセス・コントロールとデータの保護について解説する。

図1●主な情報流出の経路
図1●主な情報流出の経路

組織内のPC・サーバを題材に情報保護を考える

 PCやサーバーにおける基本的な情報保護対策は,データへのアクセス制限である。一般的に,アカウントを認証し,アカウントに割り当てられたアクセス権に基づいてファイルなどのリソースに対するアクセスを制御する。ただしこれは,本質的にはアカウントの認証を行っているに過ぎない。ユーザー個人を認証しているとは限らないため,アカウントに対する「なりすまし」という問題がついて回る。

 なしすましが成功した場合,当然ながら,そのアカウントに与えられている権限がすべて付与される。このため,アカウントを破る攻撃は,不正アクセスの基本的な手段であり,日常的に行われている。例えば,IPAの白書でも取り上げられているが,外部からアクセス可能なSSHサーバーに対して,よく知られたアカウント(rootなど)に対するパスワード推測攻撃が頻繁に行われており,侵入に成功した例も少なくないとされている。こうしたなりすましを防ぐための基本的な対策は,よく知られたアカウント名を利用しない,複雑なパスワードを利用するといったことだ。加えて,最近は生体認証,ワンタイム・パスワード,スマートカードを使った認証などを利用するケースが増えている。

 一方で,アカウントに基づいたデータ保護は,データが格納されているメディアが,システムの管理下に置かれていることが前提となっている。例えば,PCからハードディスクを抜き出して,直接ディスクを読み取った場合,アカウントによるデータ保護は機能しない。このようなケースでも情報を守るための手段が,「データ・レベルの保護」である。具体的には,暗号化を中心とした技術を使う。データへのアクセスを止めることができない場合でも,そのデータに含まれる“情報”へのアクセスを制限できる。前回紹介したように,暗号化には主に,「ファイル・システム・レベル」,「ディスク・ボリューム・レベル」,「データ・レベル」の3段階での実行方法がある(図2)。マイクロソフトではそれぞれ,「EFS」(Encrypted File System),「BitLocker」,「RMS」(Rights Management System)として実装されている。

図2●データ保護の階層
図2●データ保護の階層  [画像のクリックで拡大表示]

データ・レベルの保護について

 ディスクを抜き出した場合を想定すると,ディスク・ボリューム全体を暗号化する「ディスク・ボリューム・レベルの暗号化」さえあれば,すべての問題が解決するように思うかもれない。しかし,話はそう簡単ではない。それぞれの手法は,適用する範囲が異なっており,想定する脅威によって,使い分ける必要がある(図3)。

 「ファイル・システム・レベルの暗号化」や「データ・レベルの暗号化」は,暗号を使ってファイルを保護するための有力な手法である。しかし,当然のことながら暗号化されていないファイルは保護することができない。このため,すべての重要なデータが保護されていることを保証することは難しい。これに対して「ディスク・ボリューム・レベルの暗号化」は,ディスク・ボリューム上のすべてのデータが暗号化されていることを保証できる。つまり,情報が保護されていることを保証することができる。

 一方で,「ディスク・ボリューム・レベルの暗号化」は,アカウントに基づいた制御をおこなうことが難しいため,システムが起動されている状態では,どのアカウントを使っても,すべてのデータが復号化された状態でアクセスできることになる。このため,特に複数のユーザーが利用するシステム(サーバーや共有マシン)上で情報を保護するためには,アカウント毎に復号化の権限を設定できる「ファイル・システム・レベルの暗号化」が必要になる。

 「ディスク・ボリューム・レベルの暗号化」や「ファイル・システム・レベルの暗号化」は,ログインに成功すれば,自動的に復号化された状態でデータにアクセスできるため,当該データをメールに添付したり,USBメモリーなどのリムーバブル・メディアに書き込んだ際には,復号化された状態で書き込まれることになる。つまり,Winnyウイルスによる情報流出のようなケースでは,復号化された情報が流出するため,情報を保護することができない。

 これに対して,「データ・レベルの暗号化」は,アプリケーションが認証とデータの復号化を行うため,メールに添付したデータや,リムーバブル・メディアに書き込んだデータも,暗号によって保護された状態が維持される。このような特性は,永続的な暗号化と呼ばれる。

 なお,外部メディアにファイルを書き込む際に,自動的に暗号化する仕組みによって情報保護を図る場合もあるが,これはボリューム・レベルの暗号化のアプローチに相当する。外部メディアそのものを紛失した場合には有効な機能だが,ログインしたユーザーがネットワーク経由でデータを転送した場合,データは復号化された状態で転送される。

図3●暗号化の手法と有効性
図3●暗号化の手法と有効性 [画像のクリックで拡大表示]

データ・レベルの暗号化について

 「データ・レベルの暗号化」の最も簡単な実装は,ドキュメントにパスワードをつけて保存する方法や,ドキュメントをパスワード付きでアーカイブ(zipなど)する方法である。パスワードのついたデータは,メールに添付された場合や,リムーバブル・メディアにコピーされた場合でも,パスワードによる保護を失うことはない。マイクロソフトの場合,「データ・レベルの暗号化」として,RMS(Rights Management System)というシステムを提供している。

 パスワードによる保護は,詳細な制御が行えず,パスワードを知っていれば,あらゆる操作ができてしまう。例えばパスワード付きで送られてきたドキュメントのパスワードを外して保存したり,パスワードを他人に教えることで,本来アクセスが許可されていない人にアクセスを許してしまったりする可能性がある。一時的な利用としては有効な手段だが,組織レベルの情報保護という観点からは,不十分な手法である。これに対してRMSは証明書と認証サーバーを使って,データ・レベルの暗号化・復号化を実装する仕組みで,組織レベルでの適用が可能になっている。

 RMSは,暗号処理はアプリケーションに実装することになる。OfficeなどについてはRMSの対応が行われているが,開発環境も用意されており,独自のアプリケーションにRMS機能を組み込むこともできる。RMSの特徴は,データ内に復号化のための鍵をもたず,認証サーバーが随時鍵を提供する点にある。この仕組みにより,利用者(証明書)ごとの詳細な制御が可能となる。加えて,ドキュメントを開く際に必ず認証サーバーへのアクセスが発生するため,万が一,ユーザーの証明書が流出した場合でも,認証サーバーからの復号鍵の提供を停止することで情報を保護できるほか,データ・アクセスのトラッキング(追跡)も可能だ。

 実際にRMSを利用する場合は,方針(ポリシー)に基づいて自動的にRMSが適用される状態を作ることが望ましい。例えばSharePointサーバーが持つRMSとの連携機能を使えば,フォルダにRMS保護を設定することで,アップロードされたファイルに対して自動的にRMSによる保護を適用することができる。この仕組みは応用範囲が広く,共同作業を進める場合に,修正履歴を管理できることに加えて,閲覧できる利用者と,編集できる利用者を分離することで,不用意なデータの変更を防ぐことができる。この手法は,SOX法対応で問題となることの多い,表計算ファイルの管理にもうまく適用することができる。RMSを効率的に運用していくためには,認証基盤や証明書の管理など,実装すべき事柄は少なくないものの,もっと注目されてしかるべき技術である。

 ここまで,データを保護する手法について話をしてきたが,データを持たないアプローチもある。シン・クライアントだ。では,前述のデータ保護の方法と比べてどうか。実際のところ,シン・クライアントにはいくつかの実現方法があるが,ここでは理解が容易なディスクレス・クライアントについて考えよう。

 シン・クライアントの最大のメリットは,端末にデータを持たないことにある。このため,端末を紛失した場合や,盗難にあった場合でも,データが外に漏れることはない(図4)。ただ,ネットワークによる転送や,外部メディアによる持ち出しはシン・クライアントだからと言って自動的に保証されるものではなく,実装に依存する。例えばシンプルなディスクレス・システムだと,本質的に通常のパソコンと同じで外部メディアへデータをコピーすることもできるし,ネットワーク経由でデータを転送することもできる。

図4●シン・クライアントにおけるデータ保護
図4●シン・クライアントにおけるデータ保護
[画像のクリックで拡大表示]

 加えて,同様にウイルス感染の有無も実装に依存する部分であること,サーバーにリスクが集中することも,考慮が必要な点である。

 このように、シン・クライアントすなわちセキュリティ・レベルが高いという考えは危険である。リスク低減のための有力な手法とするには,実装方法を理解し、適用する範囲を適切に選択する必要がある。