(57)【特許請求の範囲】
【請求項１】
接続された外部記憶媒体に格納されたデータを管理する情報処理装置であって、
前記外部記憶媒体に、機密データを格納するための領域である特殊フォーマット領域が存在するか否かを検査する検査手段と、
前記特殊フォーマット領域にアクセスするためのアクセス手段と、
前記検査手段によって、前記外部記憶媒体が前記特殊フォーマット領域を持たないと判断された場合に、前記アクセス手段による前記外部記憶媒体へのアクセスを禁止するアクセス禁止手段と、を備え、
前記特殊フォーマット領域の情報をマウントする際に、前記アクセス禁止手段は、今回マウントする特殊フォーマット領域固有の識別情報を取得し、既にマウントした特殊フォーマット領域と一致するか否かをチェックし、一致しない場合はマウントを禁止することを特徴とする情報処理装置。
【請求項２】
前記アクセス手段が、前記情報処理装置内に設定された仮想マシンモニタ上で稼動するゲストＯＳである作業用ＯＳによって実現され、
前記仮想マシンモニタは、前記作業用ＯＳの内容を規定する作業用ＯＳイメージを外部から取得し、前記仮想マシンモニタ内に前記作業用ＯＳを設定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記外部記憶媒体は、前記作業用ＯＳイメージを格納するための領域を有し、
前記仮想マシンモニタは、前記作業用ＯＳイメージを前記外部記憶媒体から取得することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記作業用ＯＳイメージは、ネットワーク上のサーバに格納されており、
前記仮想マシンモニタは、ネットワークにアクセスして、前記作業用ＯＳイメージを前記サーバから取得することを特徴とする請求項２に記載の情報処理装置。
【請求項５】
前記作業用ＯＳは、前記機密データを利用又は編集するための作業用アプリケーションを含み、
前記アクセス手段は、前記外部記憶媒体の前記特殊フォーマット領域にアクセスし、前記作業用アプリケーションによって利用及び編集された機密データを前記特殊フォーマット領域に保存することを特徴とする請求項２乃至４の何れか１項に記載の情報処理装置。
【請求項６】
前記作業用ＯＳは、前記情報処理装置の２次記憶装置へのアクセスを管理する２次記憶装置アクセス制御手段を含み、
前記２次記憶装置アクセス制御手段は、前記作業用アプリケーションの前記２次記憶装置へのアクセス要求をフックし、このアクセス要求が前記２次記憶装置への書き込み要求である場合には、前記機密データをキャッシュメモリにキャッシュして書き込む処理を終了することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記特殊フォーマット領域は、前記特殊フォーマット領域の全サイズやセクタサイズを含む固有情報を保持する特殊フォーマットヘッダと、実セクタアドレスと特殊フォーマット領域のセクタアドレスの関係を暗号化して保存するセクタ管理テーブル記録領域と、機密データが格納されるフォーマット領域本体と、を有することを特徴とする請求項１乃至６の何れか１項に記載の情報処理装置。
【請求項８】
情報処理装置に接続された外部記憶媒体に格納されたデータを管理する情報処理方法であって、
検査手段が、前記外部記憶媒体に、機密データを格納するための領域である特殊フォーマット領域が存在するか否かを検査する工程と、
アクセス手段が、前記特殊フォーマット領域にアクセスする工程と、
アクセス禁止手段が、前記検査手段によって、前記外部記憶媒体が前記特殊フォーマット領域を持たないと判断された場合に、前記アクセス手段による前記外部記憶媒体へのアクセスを禁止する工程と、
前記特殊フォーマット領域の情報をマウントする際に、前記アクセス禁止手段が、今回マウントする特殊フォーマット領域固有の識別情報を取得し、既にマウントした特殊フォーマット領域と一致するか否かをチェックし、一致しない場合はマウントを禁止する工程と、
を備えることを特徴とする情報処理方法。
【請求項９】
前記アクセス手段が、前記情報処理装置内に設定された仮想マシンモニタ上で稼動するゲストＯＳである作業用ＯＳによって実現され、
前記仮想マシンモニタは、前記作業用ＯＳの内容を規定する作業用ＯＳイメージを外部から取得し、前記仮想マシンモニタ内に前記作業用ＯＳを設定することを特徴とする請求項８に記載の情報処理方法。
【請求項１０】
前記作業用ＯＳは、前記機密データを利用又は編集するための作業用アプリケーションを含み、
さらに、前記アクセス手段が、前記外部記憶媒体の前記特殊フォーマット領域にアクセスし、前記作業用アプリケーションによって利用及び編集された機密データを前記特殊フォーマット領域に保存する工程を備えることを特徴とする請求項９に記載の情報処理方法。
【請求項１１】
前記作業用ＯＳは、前記情報処理装置の２次記憶装置へのアクセスを管理する２次記憶装置アクセス制御手段を含み、
さらに、前記２次記憶装置アクセス制御手段が、前記作業用アプリケーションの前記２次記憶装置へのアクセス要求をフックし、このアクセス要求が前記２次記憶装置への書き込み要求である場合には、前記機密データをキャッシュメモリにキャッシュして書き込む処理を終了する工程を備えることを特徴とする請求項１０に記載の情報処理方法。
【請求項１２】
前記特殊フォーマット領域は、前記特殊フォーマット領域の全サイズやセクタサイズを含む固有情報を保持する特殊フォーマットヘッダと、実セクタアドレスと特殊フォーマット領域のセクタアドレスの関係を暗号化して保存するセクタ管理テーブル記録領域と、機密データが格納されるフォーマット領域本体と、を有することを特徴とする請求項８乃至１１の何れか１項に記載の情報処理方法。
【請求項１３】
請求項８乃至１２の何れか１項に記載の情報処理方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１４】
情報を記憶し、情報処理装置に接続されて用いられる、外部記憶媒体であって、
前記情報処理装置内にゲストＯＳをホストＯＳ上に生成するための元データを格納するための領域であるゲストＯＳ用元データ記憶領域と、
機密データを格納し、アクセス可能な手段が限定されている領域である特殊フォーマット領域と、を備え、
前記特殊フォーマット領域は、当該特殊フォーマット領域の情報をマウントする際に用いられる識別情報であって、前記情報処理装置に既にマウントされている特殊フォーマット領域と一致するか否かをチェックするための識別情報を有することを特徴とする外部記憶媒体。
【請求項１５】
前記特殊フォーマット領域は、前記特殊フォーマット領域の全サイズやセクタサイズを含む固有情報を保持する特殊フォーマットヘッダと、実セクタアドレスと特殊フォーマット領域のセクタアドレスの関係を暗号化して保存するセクタ管理テーブル記録領域と、機密データが格納されるフォーマット領域本体と、を有することを特徴とする請求項１４に記載の外部記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及び方法、コンピュータ読み取り可能な記録媒体、並びに、外部記憶媒体に関し、例えば、機密データの外部記憶媒体からの漏洩を防ぐための処理に関するものである。
【背景技術】
【０００２】
従来、データの２次流出防止方式として代表的なものに、Ｄｉｇｉｔａｌ  Ｒｉｇｈｔｓ  Ｍａｎａｇｅｍｅｎｔ技術がある。これは、利用者が再生ソフトウェアを利用して暗号化されたコンテンツを復号しながら実行するものであり、ネットワーク先のポリシサーバやローカルに保存された復号鍵をセキュリティポリシに従って配布・実行制御することにより、ライセンスを受けた利用者しかコンテンツを視聴できないようにする仕組みである。この基本的な仕組みについては、例えば特許文献１に開示されている。
【０００３】
【特許文献１】特開２００６−２６８８６７号号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に開示された方式の場合、基本的に暗号化によりコンテンツ保護するものであり、暗号解読によりコンテンツ保護が破られてしまう可能性がある。また、顧客データ等の機密データを取り扱った場合には、暗号化されているものの、機密データのコピーの拡散を止めることは不可能である。暗号化された顧客データを紛失した場合、顧客への謝罪や監督官庁への報告義務等があり、紛失自体が重大なコンプライアンス違反となってしまう昨今の事情を勘案しても、最適なソリューションであるとは言い難い。
【０００５】
本発明ではこのような状況に鑑みてなされたものであり、配布されたデータ（機密データ）を暗号化によって保護するだけでなく、そもそも配布されたデータの漏洩自体を防止するものである。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明は、外部記憶媒体に特殊フォーマット領域を作成し、特殊フォーマット領域にアクセス可能にすると共に、特殊フォーマット領域を持たない外部記憶媒体へのアクセスを禁止する。また、たとえ特殊フォーマット領域を有する外部記憶媒体であっても、その特殊フォーマット領域をゲストＯＳ（作業用ＯＳ）にマウントする際に、前回マウントした特殊フォーマット領域と一致する場合にのみ、マウントを許可するようにしている。
【０００７】
即ち、本発明による情報処理装置は、接続された外部記憶媒体に格納されたデータを管理する情報処理装置であって、外部記憶媒体に、機密データを格納するための領域である特殊フォーマット領域が存在するか否かを検査する検査手段と、特殊フォーマット領域にアクセスするためのアクセス手段と、検査手段によって、外部記憶媒体が特殊フォーマット領域を持たないと判断された場合に、アクセス手段による外部記憶媒体へのアクセスを禁止するアクセス禁止手段と、を備えることを特徴とする。ここで、アクセス手段は、情報処理装置内に設定された仮想マシンモニタ上で稼動するゲストＯＳである作業用ＯＳによって実現される。また、作業用ＯＳの内容を規定する作業用ＯＳイメージが外部から取得され、仮想マシンモニタ内に作業用ＯＳを設定する。作業用ＯＳイメージは機密データを格納する外部記憶媒体から取得するようにしても良いし、ネットワーク上のサーバから取得するようにしてもよい。
【０００８】
作業用ＯＳは、機密データを利用又は編集するための作業用アプリケーションを含んでいる。そして、アクセス手段が、外部記憶媒体の特殊フォーマット領域にアクセスし、作業用アプリケーションによって利用及び編集された機密データを特殊フォーマット領域に保存する。
【０００９】
さらに、作業用ＯＳは、情報処理装置の２次記憶装置へのアクセスを管理する２次記憶装置アクセス制御手段を含んでいる。そして、この２次記憶装置アクセス制御手段は、作業用アプリケーションの２次記憶装置へのアクセス要求をフックし、このアクセス要求が２次記憶装置への書き込み要求である場合には、機密データをキャッシュメモリにキャッシュして書き込む処理を終了する。
【００１０】
なお、特殊フォーマット領域は、特殊フォーマット領域の全サイズやセクタサイズを含む固有情報を保持する特殊フォーマットヘッダと、実セクタアドレスと特殊フォーマット領域のセクタアドレスの関係を暗号化して保存するセクタ管理テーブル記録領域と、機密データが格納されるフォーマット領域本体と、を備えている。
【００１１】
また、特殊フォーマット領域の情報をマウントする際に、今回マウントする特殊フォーマット領域固有の識別情報を取得し、既にマウントした特殊フォーマット領域と一致するか否かをチェックし、一致しない場合は当該マウントが禁止される。
【００１２】
本発明は、上述の情報処理装置に対応する情報処理方法やその方法を実行するためのプログラムを格納した記録媒体、並びに、当該情報処理に用いられる、特有の外部記憶媒体の内部構造をも提供する。
【００１３】
さらなる本発明の特徴は、以下本発明を実施するための最良の形態および添付図面によって明らかになるものである。
【発明の効果】
【００１４】
本発明の処理によれば、配布されたデータ（機密データ）の漏洩を効果的に防止することができる。
【発明を実施するための最良の形態】
【００１５】
本発明は、特殊フォーマットされた外部記憶媒体を接続した利用者端末上で仮想マシンモニタを起動し、その仮想マシンモニタにおける内蔵ハードディスクへの書込み禁止、特殊フォーマットされていない他の外部記録媒体への書出し禁止、ネットワークアクセス禁止を行う情報処理に関するものである。そして、利用者端末上で作成された機密データが特殊フォーマットされた外部記憶媒体以外の場所にはコピーできない環境を作ることで、機密データの外部記憶媒体からの漏洩を防ぐようにしている。
【００１６】
以下、添付図面を参照して本発明の実施形態について説明する。ただし、本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。また、各図において共通の構成については同一の参照番号が付されている。
【００１７】
＜情報処理システムの構成＞
図１は、本発明の実施形態に係る情報処理システムの概略構成を示す図である。情報処理システム１は、システムは利用者端末１０１と、外部記憶媒体１０２をＵＳＢケーブル１０３で接続した構成となっている。
【００１８】
利用者端末１０１においては、ベースとなるＯＳ１０８と、その上で動作するアプリケーション１０９（例えば、ウェブブラウザや文書作成アプリケーション）、仮想マシンモニタ１１０がインストールされており、仮想マシンモニタ１１０上で作業用ＯＳ１１１が動いている。この作業用ＯＳ１１１は、外部記憶媒体１０２からブートされたものである。なお、ここで、仮想マシンモニタ１１０とは、ソフトウェアでＰＣのハードウェア環境をエミュレートして、ＯＳの上で他のＯＳを動かすためのソフトウェアである。代表的な製品として、Ｍｉｃｒｏｓｏｆｔ社のＶｉｒｔｕａｌ  ＰＣやＶＭｗａｒｅ社のＶＭｗａｒｅ  Ｗｏｒｋｓｔａｔｉｏｎ等がある。図１で示される構成の場合、ＯＳ１０８がホストＯＳであり、作業用ＯＳ１１１がゲストＯＳとなる。
【００１９】
作業用ＯＳ１１１には、作業用アプリケーション１１２、ネットワークアクセス制御ドライバ１１３、外部媒体アクセス制御ドライバ１１４、２次記憶装置書込み制御ドライバ１１５、マウントツール１１６、及び特殊フォーマットＩ／Ｏドライバ１１７が組み込まれている。なお、作業用ＯＳ１１１の内容は、作業用ＯＳイメージ１０５の中にパッケージ化されている。
【００２０】
一方、外部記憶媒体１０２にはＦＡＴ（Ｆｉｌｅ  Ａｌｌｏｃａｔｉｏｎ  Ｔａｂｌｅ）フォーマット領域１０４と特殊フォーマット領域１０６がある。また、仮想マシンモニタ１１０で動作する作業用ＯＳイメージ１０５がＦＡＴフォーマット領域に、機密データ１０７が特殊フォーマット領域１０６に、それぞれ保存されている。なお、作業用ＯＳは必ずしも外部記憶媒体１０２内に無くてもよく、例えば、ネットワーク上の所定のサーバにアクセスして取得するようにしても良い。この場合、利用者がこのサーバにアクセスする際に認証処理を実行するようにすれば、セキュリティも強化される。
【００２１】
利用者端末１０１の作業用ＯＳ１１１上にある作業用アプリケーション１１２は、機密データ１０７を編集するためのアプリケーションであり、例えば、ワープロや表計算ソフト、音楽・動画編集ソフト、デザインツール、ＣＡＤ等の業務で使うアプリケーションがこれに該当する。
【００２２】
ネットワークアクセス制御ドライバ１１３は、作業用ＯＳ１１１内のアプリケーションがネットワークアクセスするのをＩＰパケットベースで監視し、特定の許可されたサイト以外へのネットワークアクセスを禁止する。この機能により、ＣＡＤのアクティベーションといった、実行にネットワーク接続が不可欠なアプリケーションを、作業用ＯＳ１１１上で利用可能としながらも、作業用ＯＳで利用中の機密データ１０７が、ネットワーク経由で漏洩されるのを防ぐことができるようになる。
【００２３】
外部媒体アクセス制御ドライバ１１４は、機密データ１０７を保存するための特殊フォーマット領域１０６がない、一般のＵＳＢメモリや外付けハードディスク等の外部記憶媒体１０２への書込みを禁止する機能を有している。
【００２４】
２次記憶装置書込み制御ドライバ１１５は、作業用ＯＳのファイルシステムから（仮想的な）２次記憶装置へのＩ／Ｏを監視し、データの書込みについてはメモリ中にキャッシュし、読み込みについてはキャッシュデータと２次記憶装置からの読み取りデータを合成したものを返すものである。これにより、（仮想的な）２次記憶装置をＲｅａｄ  Ｏｎｌｙのデバイスとして機能するようにできる。このドライバを作業用ＯＳ１１１に組み込むことにより、利用者が作業用ＯＳイメージ１０５を利用者端末１０１にコピーし、そこで仮想マシンモニタを利用して実行したとしても、機密データの書込みは仮想マシンモニタ経由で、利用者端末１０１にある作業用ＯＳイメージ１０５には保存できなくなる。従って、利用者端末１０１に不正に保存する意図で、利用者が作業用ＯＳイメージ１０５を利用者端末１０１にコピーして起動し、機密データ１０７をローカル保存しても、保存はできない仕組みになっている。
【００２５】
特殊フォーマットＩ／Ｏドライバ１１７は、外部記憶媒体１０２の特殊フォーマット領域１０６を作業用ＯＳ１１１にマウントして利用可能とするためのデバイスドライバである。マウントツール１１６を使って特殊フォーマット領域１０６をロードすることで、特殊フォーマット領域１０６を作業用ＯＳ１１１にマウントする。特殊フォーマット領域１０６は、この特殊フォーマットＩ／Ｏドライバ１１７がないとファイルとして認識できないため、他の既存ＰＣから機密データ１０７にアクセスしようとしても、ファイルアクセスできない。そして、外部記憶媒体１０２に保存された機密データ１０７は、既存のＰＣによってはファイルコピーできず、アクセスできる作業用ＯＳではネットワーク先やローカルへの保存ができない。また、特殊フォーマット領域１０６にしか機密データ１０７を保存できない。このため、機密データ１０７を外部記憶媒体から外部に漏洩することが不可能となる。このように、機密データ１０７は外部記憶媒体１０２に完全にバインドされてしまうため、この外部記憶媒体１０２を管理することにより、機密データ１０７を完全に管理することができる。
【００２６】
＜外部記憶媒体の内部構成＞
図２は、外部記憶媒体上の記憶領域の構成図である。本実施形態では、外部記憶媒体には機密データ１０７以外の通常のデータは格納されないことを前提としている。
【００２７】
図２に示されるように、記憶領域は、大きくＦＡＴフォーマット領域１０４、特殊フォーマット領域１０６、空き領域２０１の３つの領域に分かれている。ＦＡＴフォーマット領域１０４は、ＷｉｎｄｏｗｓやＬｉｎｕｘ等からアクセスできるファイルフォーマットの領域であり、作業用ＯＳイメージを格納しておく領域である。特殊フォーマット領域１０６は、特殊フォーマットヘッダ２０２、セクタ管理テーブル記録領域２０３と、その後に続く、セクタ単位に分割された記憶領域からなる。特殊フォーマットヘッダ２０２は、特殊フォーマット領域１０６の開始部分と、領域サイズや最新更新日時等、フォーマット領域情報を格納しておく部分である。セクタ管理テーブル記憶領域２０３は、実際の実セクタアドレスと、対応する特殊フォーマットセクタアドレスとの対を管理するためのセクタ管理テーブル（図３参照）を暗号化して保存しておく領域である。実際の機密データ１０７は、特殊フォーマット開始セクタ２０４から特殊フォーマット終了セクタ２０５に格納されている。
【００２８】
図３は、セクタ管理テーブル３００の構成図である。セクタ管理テーブル３００は、実セクタアドレス３０１と特殊フォーマットセクタアドレス３０２を対にして管理するためのテーブルである。例えば、実セクタアドレスが１２３で、特殊フォーマットセクタアドレスが６８２１の場合、特殊フォーマットＩ／Ｏドライバは、セクタアドレス１２３への読み書き処理のときに、特殊フォーマットのセクタアドレス６８１２への読み書き処理に変更して、外部記憶媒体１０２にアクセスする。このように、機密データ１０７は分散して特殊フォーマット領域１０６に格納されるので、セクタ管理テーブル３００が無いと、実セクタアドレス３０１のみ分っていても所望のデータにはアクセスすることはできない。また、セクタ管理テーブル３００自体も暗号化されているので、よりセキュリティを強化することができる。
【００２９】
＜機密データ編集処理＞
図４は、機密データ編集時の処理を説明するためのフローチャートである。まず、外部記憶媒体を利用者端末に接続する（ステップＳ４０１）。次に、仮想マシンモニタ１１０の起動が指示され、起動した仮想マシンモニタ１１０が外部記憶媒体１０２のＦＡＴフォーマット領域１０４に保存された作業用ＯＳイメージ１０５をブートする（ステップＳ４０２）。
【００３０】
続いて、外部媒体アクセス制御ドライバ１１４が、外部記憶媒体に特殊フォーマット領域１０６が含まれているかチェックする（ステップＳ４０３）。
【００３１】
そして、利用者が、起動した作業用ＯＳイメージ１０５のマウントツール１１６を利用して、特殊フォーマットＩ／Ｏドライバ１１７をロードし、特殊フォーマット領域１０６を作業用ＯＳ１１１にマウントする（ステップＳ４０４）。これにより、作業用ＯＳイメージ１０５（利用者端末１０１に導入された作業用ＯＳ１１１）から外部記憶媒体１０２内の機密データ１０７にアクセス可能となる。
【００３２】
また、利用者は作業用アプリケーション１１２を使って機密データ１０７を利用・編集することができようになる（ステップＳ４０５）。最後に編集した機密データ１０７が、マウントした外部記憶媒体１０２内の特殊フォーマット領域１０６に保存される（ステップＳ４０６）。なお、保存する際に、編集された機密データ１０７においてセクタ数が増加した場合には、セクタアドレスが特殊フォーマットＩ／Ｏドライバ１１７によって付与される。
【００３３】
＜特殊フォーマット領域マウント処理：ステップＳ４０４＞
図５は、特殊フォーマット領域１０６をマウントする処理（図４のステップＳ４０４）の詳細を説明するためのフローチャートである。
【００３４】
まず、利用者がマウントツール１１６を使って、特殊フォーマットＩ／Ｏドライバ１１７をロードする（ステップＳ５０１）。特殊フォーマットＩ／Ｏドライバ１１７がロードされると、特殊フォーマットＩ／Ｏドライバ１１７が外部記憶媒体１０２にアクセスして特殊フォーマットヘッダを検索する（ステップＳ５０２）。
【００３５】
そして、特殊フォーマットＩ／Ｏドライバ１１７は、当該特殊フォーマット領域１０６がＯＳ起動以降にマウントした唯一の特殊フォーマット領域か否か判断する（ステップＳ５０３）。より具体的には、作業ＯＳ起動後に一度以上特殊フォーマット領域１０６のある外部記憶媒体１０２をマウントしていた場合、このヘッダに含まれる各特殊フォーマット領域に固有のＩＤ情報から、この外部記憶媒体１０２が前回マウントされたものと同じものかどうかを調べる。これにより、これからマウントする特殊フォーマット領域１０６を含む外部記憶媒体１０２が、作業ＯＳ起動後マウントされた唯一の外部記憶媒体であることを確かめる。
【００３６】
ステップＳ５０３において当該特殊フォーマット領域が、新規、もしくは前回マウントされたものと同じ外部記憶媒体１０２のときは、特殊フォーマットＩ／Ｏドライバ１１７がセクタ管理テーブル３００を読み込んで復号する（ステップＳ５０４）。ここで、復号鍵については、Ｔｒｕｓｔｅｄ  Ｐｌａｔｆｏｒｍ  ＭｏｄｕｌｅやＩＣカード、難読化されたプログラム等、不正な利用者やプログラムによってアクセスできない安全な領域に保存されているものとする。復号して取得したセクタ管理テーブル３００を参照して、特殊フォーマット領域１０６の読み書き処理を開始する（ステップＳ５０５）。
【００３７】
一方、ステップＳ５０３において当該特殊フォーマット領域が、前回マウントされていて、そのマウントした外部記憶媒体１０２と異なる場合、機密データ１０７が前回マウントされていた中身のものから、これから新規にマウントしようとしている外部記憶媒体１０２にコピーされる恐れがあるため、特殊フォーマットＩ／Ｏドライバ１１７がこのマウント処理を中止する（ステップＳ５０６）。これにより、特殊フォーマット領域１０６に保存された機密データ１０７は、その領域から外部に永続的にコピーされることはない。つまり、別の特殊フォーマット領域を持った外部記憶媒体（例えばＵＳＢメモリ）を利用者端末１０１に差し込んで、そこにデータを書き出すことができないようになる。このように、所定の機密データ１０７は所定の引き出し元の外部記憶媒体にしか格納できないようになっている。
【００３８】
なお、特殊フォーマット領域１０６のある別の外部記憶媒体１０２へのコピーを許す場合には、ステップＳ５０３の処理は必要なく、無条件に特殊フォーマット領域１０６が見つかった時点でマウントすればよい。
【００３９】
＜ネットワークアクセス時の処理＞
図６は、ネットワークアクセス制御ドライバ１１３の処理を説明するためのフローチャートである。作業用ＯＳ上のアプリケーション１１２がネットワークアクセスを開始すると（ステップＳ６０１）、ネットワークアクセス制御ドライバ１１３がそのアクセスをフックする（ステップＳ６０２）。このフックについては、例えばＷｉｎｄｏｗｓの場合、標準実装されているパーソナルファイアウォールのフィルタドライバや、ＮＤＩＳの上位に組み込んでフックするＮＤＩＳのフィルタドライバの機能として実現可能である。
【００４０】
そして、ネットワークアクセス制御ドライバ１１３が、フックによって取得したＩＰパケット情報から、ＩＰパケット送信先のＩＰアドレスを取得する（ステップＳ６０３）。また、ネットワークアクセス制御ドライバ１１３が、予め用意されたアクセス禁止サイトへのＩＰアドレスに一致するかどうか検証し（ステップＳ６０４）、一致する場合、ＩＰパケット送信をキャンセルする（ステップＳ６０５）。一致しない場合、ＩＰパケット送信を許可する（ステップＳ６０６）。
【００４１】
＜外部記憶媒体接続時の処理＞
図７は、外部記憶媒体が接続されたときの外部媒体アクセス制御ドライバ１１４による処理を説明するためのフローチャートである。
【００４２】
まず、外部媒体アクセス制御ドライバ１１４は、外部記憶媒体を接続した時に、その内部に特殊フォーマットが存在するかどうかをチェックする（ステップＳ７０１）。そして、作業用ＯＳ上のアプリケーション１１２が外部記憶媒体１０２にアクセスしたとき（ステップＳ７０２）、外部媒体アクセス制御ドライバ１１４がＩ／Ｏパケットをフックする（ステップＳ７０３）。
【００４３】
そして、外部媒体アクセス制御ドライバ１１４は、予めチェックしておいた、アクセス先の外部記憶媒体１０２の特殊フォーマット領域１０６の有無についてのフラグを参照しながら、特殊フォーマット領域１０６が存在するかどうかを検証する（ステップＳ７０４）。
【００４４】
外部媒体アクセス制御ドライバ１１４が、特殊フォーマット領域１０６が存在すると判断した場合、Ｉ／Ｏパケットの送信を許可する（ステップＳ７０６）。一方、外部媒体アクセス制御ドライバ１１４が、存在しないと判断した場合は、Ｉ／Ｏパケットの送信を禁止する（ステップＳ７０５）。このような処理を実行することにより、特殊フォーマット領域１０６が存在しない、一般の外部記憶媒体に機密データ１０７がコピーされて漏洩してしまう事態を防止することができる。
【００４５】
＜２次記憶装置への書き込み処理＞
図８は、２次記憶装置書込み制御ドライバ１１５の処理を説明するためのフローチャートである。
【００４６】
作業用ＯＳ上のアプリケーション１１２が図示しない２次記憶装置（仮想のＨＤＤ）にアクセスすると（ステップＳ８０１）、２次記憶装置書込み制御ドライバ１１５がＩ／Ｏ要求をフックする（ステップＳ８０２）。
【００４７】
２次記憶装置書込み制御ドライバ１１５は、取得したＩ／Ｏ要求を解析して、２次記憶装置への書込み要求か読込み要求かをチェックする（ステップＳ８０３）。書込み要求の場合、２次記憶装置書込み制御ドライバ１１５は、メモリ中に書込みデータをキャッシュして（ステップＳ８０８）、書込み要求処理を完了する（ステップＳ８０９）。
【００４８】
一方、読込み処理の場合、２次記憶装置書込み制御ドライバ１１５は、２次記憶装置からデータを読み込み（ステップＳ８０４）、読み込んだデータが、部分的にでも既にメモリ中にキャッシュされているかどうかをチェックする（ステップＳ８０５）。キャッシュされている場合は、キャッシュされているデータを読込みデータに上書きして、上位のドライバに転送する（ステップＳ８０６）。メモリ中にキャッシュが存在しない場合、２次記憶装置から読込んだデータをそのまま転送する（ステップＳ８０７）。
【００４９】
このような２次記憶装置書込み制御ドライバ１１５の機能により、アプリケーション１１２にとってはデータが２次記憶装置に書き込まれているように見えるが、実際にはメモリ中にキャッシュされているだけで、データは２次記憶装置には一切記録されないようにすることが可能となる。
【００５０】
以上のアーキテクチャを採用することにより、機密データ１０７を外部記憶媒体１０２にバインドすることができる。また、外部記憶媒体１０２を物理的に管理することにより、機密データ１０７を拡散させることなく厳重に管理することができる。したがって、例えば委託元企業が作業を委託先企業に依頼し、その成果物をすべて回収して委託先企業の過失による２次流出を防ぎたい場合、特殊フォーマットされた外部記憶装置に、作業に必要なアプリケーションを組み込んだＯＳイメージと機密データを保存して配布して、委託先企業の端末ＰＣで作業をしてもらい、最後に外部記憶媒体ごと回収すればよい。また、委託先企業の端末ＰＣには仮想マシンモニタをインストールするだけでよく、端末ＰＣの構成を変更する必要がないため、導入しやすいのが大きな利点である。
【００５１】
＜まとめ＞
本発明の実施形態では、外部記憶媒体に特殊フォーマット領域を作成し、特殊フォーマット領域にアクセス可能にすると共に、特殊フォーマット領域を持たない外部記憶媒体へのアクセスを禁止する。このようにすることにより、外部記憶媒体を物理的に管理するだけで、内部にある機密データを漏洩されることなく確実に管理することができる。
【００５２】
また、たとえ特殊フォーマット領域を有する外部記憶媒体であっても、その特殊フォーマット領域をゲストＯＳ（作業用ＯＳ）にマウントする際に、前回マウントした特殊フォーマット領域と一致する場合にのみ、マウントを許可するようにしている。このようにすることにより、対応する機密データを取り出した外部記憶媒体にのみその機密データ（編集後或いは利用後の機密データ）を格納できるので、より確実に機密データの漏洩を防止することができる。
【００５３】
このように、データをＵＳＢメモリや持ち運び可能なコンパクト外付けハードディスクといった外部記憶媒体に格納し、利用は可能であるが、利用後の保存は、元々データのあった外部記憶媒体に限定され、コピーが他の場所に拡散できないようなデータの保管、及び利用を実現される。
【００５４】
また、機密データを取り扱うことができる作業用ＯＳを限定しており、これを外部から（例えば、機密データを格納する外部記憶媒体から、或いは、ネットワーク上の所定のサーバから）しか取得できないようにしている。これにより、既存のＰＣでは機密データを取り扱いことができなくなるので、機密データに対するセキュリティをより強固に設定することができる。
【００５５】
さらに、作業用ＯＳは、利用者端末（情報処理装置）のＨＤＤ（２次記憶装置）へのアクセスを管理する２次記憶装置書き込み制御部を含んでいる。そして、この２次記憶装置書き込み制御部は、作業用アプリケーションのＨＤＤへのアクセス要求をフックし、このアクセス要求がＨＤＤへの書き込み要求である場合には、機密データをキャッシュメモリにキャッシュして書き込む処理を終了する。これにより、利用者に対して、利用者端末は、恰もＨＤＤに機密データを記録するように振舞うことができるので、利用者に違和感を与えることが無い。そして、利用者端末内に機密データを残すことがないので、機密データの漏洩を防止することができる。
【００５６】
なお、本発明は、実施形態の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をシステム或は装置に提供し、そのシステム或は装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フロッピィ（登録商標）ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどが用いられる。
【００５７】
また、プログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータ上のメモリに書きこまれた後、そのプログラムコードの指示に基づき、コンピュータのＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。
【００５８】
また、実施の形態の機能を実現するソフトウェアのプログラムコードがネットワークを介して配信されることにより、システム又は装置のハードディスクやメモリ等の記憶手段又はＣＤ-ＲＷ、ＣＤ-Ｒ等の記憶媒体に格納され、そのシステム又は装置のコンピュータ(又はＣＰＵやＭＰＵ)が当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行することによっても、達成されるようにしてもよい。
【図面の簡単な説明】
【００５９】
【図１】本発明の実施形態による情報処理システムの概略構成を示す図である。
【図２】外部記憶媒体上の記憶領域の構成を示す図である。
【図３】セクタ管理テーブルの構成例を示す図である。
【図４】機密データ編集時の処理を説明するためのフローチャートである。
【図５】特殊フォーマット領域をマウントする処理を説明するためのフローチャートである。
【図６】ネットワークアクセス制御ドライバの処理を説明するためのフローチャートである。
【図７】外部媒体アクセス制御ドライバの処理を説明するためのフローチャートである。
【図８】２次記憶装置書込み制御ドライバの処理を説明するためのフローチャートである。
【符号の説明】
【００６０】
１０１…利用者端末
１０２…外部記憶媒体
１０３…ＵＳＢケーブル
１０４…ＦＡＴフォーマット領域
１０５…作業用ＯＳイメージ
１０６…特殊フォーマット領域
１０７…機密データ
１０８…ＯＳ
１０９…アプリケーション
１１０…仮想マシンモニタ
１１１…作業用ＯＳ
１１２…作業用アプリケーション
１１３…ネットワークアクセス制御ドライバ
１１４…外部媒体アクセス制御ドライバ
１１５…２次記憶装置書込み制御ドライバ
１１６…マウントツール
１１７…特殊フォーマットＩ／Ｏドライバ
２０１…空き領域
２０２…特殊フォーマットヘッダ
２０３…セクタ管理テーブル記録領域
２０４…特殊フォーマット開始セクタ
２０５…特殊フォーマット終了セクタ
３０１…実セクタアドレス
３０２…特殊フォーマットセクタアドレス
【図１】
0004287485.tif 000002
【図２】
0004287485.tif 000003
【図３】
0004287485.tif 000004
【図４】
0004287485.tif 000005
【図５】
0004287485.tif 000006
【図６】
0004287485.tif 000007
【図７】
0004287485.tif 000008
【図８】
0004287485.tif 000009