(57)【要約】【課題】  機密情報を関係者のみに開示されるよう伝達でき、受信側の情報処理装置でも、保存場所に関係なく、機密情報として安全に保管可能にする。【解決手段】  機密情報は暗号ファイル、一般情報のみは平文ファイルとして保存し、機密情報を処理する実行環境と、一般情報を処理する実行環境とを分け、全てのアクセスの可否を下記ポリシーに従って判定し、必要に応じて暗号処理を行う。（１）暗号ファイルを復号化する権限と、平文ファイルの書き込み権限とを、同一の実行環境にあるアクセス主体には与えない。（２）暗号ファイルを復号化する権限を与えたアクセス主体には、常に暗号化を伴う書き込み権限を与える。（３）暗号ファイルを復号化する権限と、ネットワークアクセスの権限とを、同一の実行環境にあるアクセス主体には与えない。（４）ファイルのコピーや移動に使われるアクセス主体には、ファイルの暗号化権限も復号化権限も与えない。【選択図】図１
2005165900.tif 000002
【特許請求の範囲】
【請求項１】
機密情報を含むファイルを暗号ファイルとして、一般情報のみ含むファイルを平文ファイルとして保存しており、前記機密情報の漏洩を防止する情報漏洩防止装置であって、
前記機密情報を取り扱うプログラムが動作する第１の実行環境と、前記一般情報を取り扱うプログラムが動作する第２の実行環境とを分ける実行環境分離部と、
所定の鍵を用いてデータの暗号化および／または復号化処理を実行する暗号処理部と、
当該情報漏洩防止装置にて動作するプログラムの実行により発行されるファイルアクセスを検知するステップと、
当該アクセス要求元のアクセス主体を識別するステップと、
前記アクセス対象が前記暗号ファイルか前記平文ファイルかを識別するステップと、
当該アクセスの可否をポリシーに従って判定し、必要に応じて前記暗号処理部を呼び出すステップと、を実行するアクセス制御部とを備え、
前記ポリシーは、
プログラムの識別子と前記第１または第2の実行環境との組み合わせで表されたアクセス主体毎に、ファイルへのアクセス権を予め定義したものであり、
当該ポリシーは、
前記暗号ファイルを読み出して復号化する権限を与えられたアクセス主体から、前記暗号化ファイルへの上書きや、新規ファイルへの書き込みが行われるときには、書き込むデータを暗号化すること、を定義しておき、
前記アクセス制御部は、前記アクセス主体が要求するアクセスの可否を、前記ポリシーに従って判定した結果、暗号ファイルの復号化を伴う読み出しや、暗号化を要する書き込みであった場合には、当該アクセスを許可するとともに、前記読み出したファイルの復号化処理や、書き込むファイルの暗号化処理を、前記暗号処理部に実行させる
ことを特徴とする情報漏洩防止装置。
【請求項２】
請求項１記載の情報漏洩防止装置において、
前記ポリシーは、
前記暗号ファイルを読み出して復号化する権限を与えられたプログラムが動作する前記第１の実行環境では、当該第１の実行環境におけるアクセス主体には、平文ファイルの書き込みは許可しないこと、を定義しており、
前記アクセス制御部は、前記第１の実行環境で動作するアクセス主体によるアクセスが平文ファイルの書き込みであった場合には、前記ポリシーに従い、当該アクセスを許可せず、エラーを通知する。
【請求項３】
請求項１記載の情報漏洩防止装置において、
前記ポリシーは、
平文ファイルの書き込み権限を与えられたプログラムが動作する前記第２の実行環境では、当該第２の実行環境におけるアクセス主体には、暗号ファイルの書き込みは許可しないこと、を定義しており、
前記アクセス制御部は、当該第２の実行環境で動作するアクセス主体によるアクセスが前記暗号ファイルの書き込みであった場合には、前記ポリシーに従い、当該アクセスを許可せず、エラーを通知する。
【請求項４】
請求項１記載の情報漏洩防止装置において、
前記情報漏洩防止装置は、他の情報漏洩防止装置との間で、前記ファイルをやり取りするための手段を備えており、
上記暗号処理部は、前記機密情報の暗号化および／または復号化を行うために前記他の情報漏洩防止処理装置と間で共有する鍵を保持し、前記アクセス制御部から呼び出されたときには、当該鍵を用いて前記ファイルの暗号化および／または復号化処理を行う。
【請求項５】
請求項１記載の情報漏洩防止装置において、
前記ポリシーはさらに、前記暗号ファイルを復号化せずに読み出す権限と、前記新規ファイルに対して書き込む権限とを、同一のアクセス主体に与えることを定義しておき、
前記アクセス制御部は、当該アクセス主体による暗号ファイルの読み出しを検知すると、前記ポリシーに従い、当該暗号ファイルの読み出しを許可するが、前記暗号処理部による読み出した前記暗号ファイルの復号化は許可せず、
前記アクセス主体による新規ファイルへの書き込みを検知すると、前記ポリシーに従い、暗号化を伴わない書き込みを許可する。
【請求項６】
機密情報を含むファイルを暗号ファイルとして、一般情報のみ含むファイルを平文ファイルとして保存しており、前記機密情報の漏洩を防止する情報漏洩防止装置であって、
前記暗号ファイルを復号化して参照可能な第１のプログラムと、前記平文ファイルへのデータ書き込みが可能な第２のプログラムとを、前記情報処理装置にて実行するときに、
前記第１のプログラムが動作する第１の実行環境と、前記第２のプログラムが動作する第２の実行環境とを区別する実行環境分離部を備え、
前記実行環境分離部は、前記第１の実行環境にて動作する前記第１のプログラムのユーザインタフェースと、前記第２の実行環境にて動作する前記第２のプログラムのユーザインタフェースとのいずれか一方を当該情報漏洩防止装置の利用者に提供し、他方を前記利用者から隠蔽し、
前記実行環境分離部は、前記第１プログラムと、前記第２プログラムとが共有可能なデータエリアが存在する場合に、前記第１のプログラムが前記データエリアへ書き込んだデータを、前記第２の実行環境へ切り替わるときに消去し、再び前記第１の実行環境へ切り替わるときに、前記消去したデータを前記データエリアへ書き戻す。
【請求項７】
機密情報を含むファイルを暗号ファイルとして、一般情報のみ含むファイルを平文ファイルとして保存しており、前記機密情報の漏洩を防止する情報漏洩防止装置であって、
前記機密情報を取り扱うプログラムが動作する第１の実行環境と、前記一般情報を取り扱うプログラムが動作する第２の実行環境とを分ける実行環境分離部と、
当該情報漏洩防止装置にて動作するプログラムの実行により発行されるファイルアクセスとネットワークアクセスとを検知するステップと、
当該アクセス要求元のアクセス主体を識別するステップと、
前記アクセス対象が前記ネットワークの場合には、当該ネットワークアクセスの可否をポリシーに従って判定するステップを実行し、
前記アクセス対象が前記ファイルの場合には、前記アクセス対象が暗号ファイルか平文ファイルかを識別するステップと、
当該アクセスの可否を前記ポリシーに従って判定するアクセス制御部とを備え、
前記ポリシーは、
プログラムの識別子と前記第１または第２の実行環境との組み合わせで表されたアクセス主体毎に、アクセス権を予め定義したものであり、
当該ポリシーは、
前記暗号ファイルを読み出して復号化する権限と、前記ネットワークアクセスの権限とは、重複して同一のアクセス主体には与えないことと、
前記暗号ファイルを復号化せずに読み出す権限を与えられたアクセス主体には、ネットワークアクセスを許可すること、と定義しておき、
前記アクセス制御部は、前記暗号ファイルを読み出して復号化する権限をもつアクセス主体からのネットワークアクセスを検知したときに、前記ポリシーに従って当該ネットワークアクセスを無効にし、
前記暗号ファイルを復号化せずに読み出す権限を与えられたアクセス主体からのネットワークアクセスを検知したときに、前記ポリシーに従って当該ネットワークアクセスを許可する。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステムが管理する情報の漏洩を防止するアクセス制御技術に関する。
【背景技術】
【０００２】
コンピュータシステムにおける情報漏洩というセキュリティ脅威は、外部の人間の悪意によって発生するケースと、内部の人間の悪意によって発生するケース、内部の人間の過失によって発生するケースに分けられる。コンピュータウィルスやトロイの木馬といった不正なプログラムが外部から混入して活動することによって、機密情報がネットワークを介して外部へ流出するといった問題は、そのような不正なプログラムを作成した外部の人間の悪意によって生じ得る。また、内部の人間であれば、例えば電子メールのようなネットワークサービスを利用して機密情報を外部へ送付したり、可搬記憶媒体にコピーして持ち出したり、ハードディスクごと持ち出すことは比較的容易である。その他、ファイルサーバが管理するネットワークドライブへ保存して、関係者以外が参照できる状態にもできる。このうち、特に電子メールを利用した情報漏洩は、内部の人間の過失によって生じる可能性もある。
【０００３】
クライアント−サーバ型のコンピュータシステムを考えた場合、サーバ装置については専用の部屋に設置して物理的に保護しているケースもあるが、クライアント装置は利用者が直接操作できる環境に置かれている。このため、クライアント装置に置かれた機密情報は、常に内部の人間による脅威にさらされているとも言える。
【０００４】
また、クライアントコンピュータで扱う情報には、公開可能な一般情報と、関係者以外に開示してはならない機密情報とが混在することが多い。情報漏洩を防止するには、可搬記憶媒体の利用やネットワークを用いたデータ転送を全て禁止すればよいが、一般情報までデータ転送ができなくなるため、業務遂行上支障がでてしまうことが情報漏洩対策を難しくしているともいえる。
【０００５】
このような、一般情報が格納されたファイルと機密情報が格納されたファイルとが混在するコンピュータシステムにおいて、機密情報ファイルの外部持ち出しを禁止する技術は、例えば特許文献１に開示されている。当該技術によれば、あらかじめ定められた機密フォルダに保存されている機密ファイルの内容を、前記機密フォルダ以外へ出力することを禁止できる。前記機密フォルダ以外とは、ハードディスク内にある機密フォルダ以外のフォルダだけでなく、フロッピー（登録商標）ディスクやネットワークドライブ、プリンタも含む。一方、前記機密フォルダ以外のフォルダに保存されているファイルであれば、出力先に制限は設けない。これにより、機密ファイルとそうでないファイルが混在するコンピュータシステムにおいて、機密ファイルの出力先のみ制限可能としている。
【０００６】
【特許文献１】特開２００２−２８８０３０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
組織において機密情報を取り扱うことを考えると、実際にはネットワークや可搬記憶媒体を利用して機密ファイルを交換し、取り扱い資格をもつ関係者間で参照したり、編集したりすることもあり得る。
【０００８】
上記特許文献１で開示されている技術では、一度機密フォルダに保存されたファイルは持ち出しできないため、取り扱い資格をもつ関係者間であっても機密ファイルの受け渡しはできないといった問題がある。
【０００９】
また、ネットワークや可搬記憶媒体から持ち込まれたファイルに機密情報が含まれている場合に、利用者が当該ファイルを必ずしも機密フォルダ下に保存するとは限らない。ファイルを渡す側の利用者が注意していても、どこに保存するかはファイルを受け取る側の利用者の裁量にまかされており、保存場所によっては後で外部に持ち出すことも可能といった問題もある。
【００１０】
また、機密ファイルには機密情報がそのまま格納されていることから、例えば機密フォルダを含むハードディスクを持ち出して、他の装置からアクセスすれば、情報漏洩につながるといった問題もある。
【００１１】
更に、機密情報を取り扱っているプログラムから、他のプログラムへ機密情報が不正に流れるのを防ぐことを目的に、共有データエリアを用いたプログラム間のデータ転送を禁止しているが、これにより機密文書の編集作業時における利便性が低下するといった問題もある。
【課題を解決するための手段】
【００１２】
本発明は、公開可能な一般情報と、関係者以外に開示してはならない機密情報とが混在する情報処理装置において、機密情報については、可搬記憶媒体、ネットワーク、共有データエリアを用いても、関係者のみに開示されるよう安全に伝達でき、機密情報を受け取る側の情報処理装置でも、受け取った情報の保存場所に関係なく、機密情報として安全に保管可能な情報漏洩防止システムを提供する。
【００１３】
本発明の情報漏洩防止システムは、下記４つの条件を全て満たすポリシーを予め定義して、情報が不当に開示されないように保護するものである。
（１）暗号ファイルを読み出して復号化する権限と、平文ファイルへ書き込む権限とを、重複して同一のアクセス主体には与えない、
（２）暗号ファイルを読み出して復号化する権限を与えられたアクセス主体が、暗号化ファイルへの上書きや、新規ファイルへの書き込みを行うときには、書き込むデータを暗号化する、
（３）暗号ファイルを読み出して復号化する権限と、ネットワークアクセスの権限とを、重複して同一のアクセス主体には与えない。
（４）情報の閲覧や編集には使われず、ファイルのコピーや移動に使われるアクセス主体には、ファイルを暗号化する権限も、ファイルを復号化する権限も与えない。
【００１４】
ただし、アクセス主体とは、プログラムの識別子と実行環境との組み合わせで表される。
【００１５】
より具体的には、本発明は、その一態様において、機密情報を含むファイルを暗号ファイルとして、一般情報のみ含むファイルを平文ファイルとして保存しており、前記機密情報の漏洩を防止する情報漏洩防止装置であって、当該情報漏洩防止装置は、前記機密情報を取り扱うプログラムが動作する第１の実行環境と、前記一般情報を取り扱うプログラムが動作する第２の実行環境とを分ける実行環境分離部と、所定の鍵を用いてデータの暗号化および／または復号化処理を実行する暗号処理部と、当該情報漏洩防止装置にて動作するプログラムの実行により発行されるファイルアクセスを検知するステップと、当該アクセス要求元のアクセス主体を識別するステップと、前記アクセス対象が前記暗号ファイルか前記平文ファイルかを識別するステップと、当該アクセスの可否をポリシーに従って判定し、必要に応じて前記暗号処理部を呼び出すステップと、を実行するアクセス制御部とを備える。
【００１６】
そして、前記ポリシーは、プログラムの識別子と前記第１または第2の実行環境との組み合わせで表されたアクセス主体毎に、ファイルへのアクセス権を予め定義したものであり、当該ポリシーは、前記暗号ファイルを読み出して復号化する権限を与えられたアクセス主体から、前記暗号化ファイルへの上書きや、新規ファイルへの書き込みが行われるときには、書き込むデータを暗号化すること、を定義しておき、前記アクセス制御部は、前記アクセス主体が要求するアクセスの可否を、前記ポリシーに従って判定した結果、暗号ファイルの復号化を伴う読み出しや、暗号化を要する書き込みであった場合には、当該アクセスを許可するとともに、前記読み出したファイルの復号化処理や、書き込むファイルの暗号化処理を、前記暗号処理部に実行させることを特徴とする。
【００１７】
このようなポリシーに従ってアクセス制御および暗号処理を実行することにより、復号化して読み出された機密情報は、当該機密情報を読み出したプログラムによってファイルに上書き保存されるときも、新規ファイルとして保存されるときも、必ず暗号化して保存される。さらに、ファイルの保存場所が可搬記憶媒体やネットワークを介して接続された他の情報処理装置（ネットワークドライブという）内のフォルダであるかを問わず、必ず暗号化して保存される。
【００１８】
更に前記情報漏洩防止装置は、他の情報漏洩防止装置との間で、前記ファイルをやり取りするための手段を備えており、上記暗号処理部は、前記機密情報の暗号化および／または復号化を行うために前記他の情報漏洩防止処理装置と間で共有する鍵を保持し、前記アクセス制御部から呼び出されたときには、当該鍵を用いて前記ファイルの暗号化および／または復号化処理を行う。
【００１９】
これにより、可搬記憶媒体や、ネットワークドライブを介して関係者間で機密情報を安全に受け渡すことも可能となる。
【００２０】
前記ポリシーはさらに、前記暗号ファイルを復号化せずに読み出す権限と、前記新規ファイルに対して書き込む権限とを、同一のアクセス主体に与えることを定義しておき、前記アクセス制御部は、当該アクセス主体による暗号ファイルの読み出しを検知すると、前記ポリシーに従い、当該暗号ファイルの読み出しを許可するが、前記暗号処理部による読み出した前記暗号ファイルの復号化は許可せず、前記アクセス主体による新規ファイルへの書き込みを検知すると、前記ポリシーに従い、暗号化を伴わない書き込みを許可する。
【００２１】
これにより、例えばローカルのハードディスクドライブに保存された暗号ファイルを、上記アクセス主体により可搬記憶媒体やネットワークドライブにコピーすれば、暗号ファイルのままコピーされるため、関係者以外に開示される心配がない。更には、コピーの際に復号化処理や暗号化処理を省けるので、オーバーヘッドの軽減にもつながるといった効果もある。
【００２２】
また本発明は、他の態様において、機密情報を含むファイルを暗号ファイルとして、一般情報のみ含むファイルを平文ファイルとして保存しており、前記機密情報の漏洩を防止する情報漏洩防止装置であって、当該情報漏洩防止装置は、前記暗号ファイルを復号化して参照可能な第１のプログラムと、前記平文ファイルへのデータ書き込みが可能な第２のプログラムとを、前記情報処理装置にて実行するときに、前記第１のプログラムが動作する第１の実行環境と、前記第２のプログラムが動作する第２の実行環境とを区別する実行環境分離部を備える。
【００２３】
そして、前記実行環境分離部は、前記第１の実行環境にて動作する前記第１のプログラムのユーザインタフェースと、前記第２の実行環境にて動作する前記第２のプログラムのユーザインタフェースとのいずれか一方を当該情報漏洩防止装置の利用者に提供し、他方を前記利用者から隠蔽し、前記実行環境分離部は、前記第１プログラムと、前記第２プログラムとが共有可能なデータエリアが存在する場合に、前記第１のプログラムが前記データエリアへ書き込んだデータを、前記第２の実行環境へ切り替わるときに消去し、再び前記第１の実行環境へ切り替わるときに、前記消去したデータを前記データエリアへ書き戻すことを特徴とする。
【００２４】
これにより、復号化して読み出された機密情報が、共有データエリア（クリップボードとも呼ぶ）を介して、平文ファイルへの書き込み権限や、ネットワークアクセスの権限をもつアクセス主体へ転送されることを防げるので、機密情報が平文で保存されたり、平文でネットワークを流れたりすることを防止できる。
【００２５】
また本発明は、他の態様において、機密情報を含むファイルを暗号ファイルとして、一般情報のみ含むファイルを平文ファイルとして保存しており、前記機密情報の漏洩を防止する情報漏洩防止装置であって、当該情報漏洩防止装置は、前記機密情報を取り扱うプログラムが動作する第１の実行環境と、前記一般情報を取り扱うプログラムが動作する第２の実行環境とを分ける実行環境分離部と、当該情報漏洩防止装置にて動作するプログラムの実行により発行されるファイルアクセスとネットワークアクセスとを検知するステップと、当該アクセス要求元のアクセス主体を識別するステップと、前記アクセス対象が前記ネットワークの場合には、当該ネットワークアクセスの可否をポリシーに従って判定するステップを実行し、前記アクセス対象が前記ファイルの場合には、前記アクセス対象が暗号ファイルか平文ファイルかを識別するステップと、当該アクセスの可否を前記ポリシーに従って判定するアクセス制御部とを備える。
【００２６】
そして、前記ポリシーは、プログラムの識別子と前記第１または第２の実行環境との組み合わせで表されたアクセス主体毎に、アクセス権を予め定義したものであり、当該ポリシーは、前記暗号ファイルを読み出して復号化する権限と、前記ネットワークアクセスの権限とは、重複して同一のアクセス主体には与えないことと、前記暗号ファイルを復号化せずに読み出す権限を与えられたアクセス主体には、ネットワークアクセスを許可すること、と定義しておき、前記アクセス制御部は、前記暗号ファイルを読み出して復号化する権限をもつアクセス主体からのネットワークアクセスを検知したときに、前記ポリシーに従って当該ネットワークアクセスを無効にし、前記暗号ファイルを復号化せずに読み出す権限を与えられたアクセス主体からのネットワークアクセスを検知したときに、前記ポリシーに従って当該ネットワークアクセスを許可することを特徴とする。
【００２７】
これにより、機密情報を平文で取り扱い可能なアクセス主体は、ネットワークドライブをアクセスできないため、ネットワーク上を機密情報が平文で流れることを防止できる。また、電子メール機能をもつプログラムに対して、暗号ファイルを復号化せずに読み出す権限と、ネットワークアクセスの権限を与えておくことで、機密情報を暗号ファイルのままメールに添付して送信することも可能となる。
【００２８】
以上により、機密情報を含むファイルは常に暗号ファイルとして保存されているため、当該暗号ファイルを含む記憶媒体が持ち出されたとしても、機密情報が平文で流出することがない。これは、電子メールや可搬記憶媒体、ネットワークドライブを通じて機密情報を受け取った側においても同様である。
【発明の効果】
【００２９】
本発明によれば、公開可能な情報と、機密情報とを混在して取り扱う情報処理装置と上記機密情報が伝達される他の情報処理装置において、機密情報を安全に保管可能であり、さらに、機密情報が有資格者のみに開示されるよう安全に取り扱いできるようになる。
【発明を実施するための最良の形態】
【００３０】
図１は、情報漏洩防止システムを実施する情報処理装置１００の一構成例を示す。上記情報処理装置１００は、中央演算処理装置ＣＰＵ１０３、主記憶１０２、デバイス制御部１０４、表示装置１０５、入力装置１０６、記憶装置１０７、ネットワーク１３０を通じて他の情報処理装置とのやりとりを制御する通信制御部１０８を、バス等の通信線１１２に接続することで構成される。上記入力装置１０６には、キーボードやマウスの他に、カード読取装置等も含む。
【００３１】
上記主記憶１０２には、複数のシェルを実行可能なＯＳ１０１が搭載されている。シェルとは、ファイルのコピーや移動、名称変更、削除、プログラムの起動など、ＯＳがユーザに提供するユーザインタフェースを実現するソフトウェアモジュール（プログラム）であり、ＯＳの種類によっては、デスクトップやワークスペースと呼ぶこともある。
【００３２】
上記シェルが複数実行中の場合に、上記入力装置１０６と表示装置１０５を通じて同時に利用可能なユーザインタフェースは、いずれか１つのシェルと該シェルから起動されたプログラムとが提供するユーザインタフェースである。つまり、可視のシェルは常に１つであり、当該可視のシェルから起動されたプログラムが提供するユーザインタフェースも可視となる。他のシェル（および該シェルから起動されたプログラム）が提供するユーザインタフェースを利用したいときには、可視のシェルを切り替えるためのシステムコールを上記ＯＳ１０１に対して出せばよい。
【００３３】
本実施例の情報漏洩防止システムは、複数のシェル各々の管理下で利用できるユーザインタフェース（シェルと該シェルから起動されたプログラムが提供するもの）を、利用者からの要求に応じて切り替えるユーザインタフェース（ＵＩと称す）分割管理部１２０と、上記ＯＳ１０１上で動作するプログラムによるファイルアクセスやネットワークアクセスを検知して、ポリシー１２３に従って制御するアクセス制御部１２１と、当該アクセス制御部１２１から呼び出され、鍵データ１２４に登録されている鍵を用いてデータの暗号化及び復号化処理を実行する暗号処理部１２２とから構成される。
【００３４】
図１において、上記各処理部１２０〜１２２が主記憶に含まれている。これは、ＣＰＵ１０３に実行されることにより、情報処理装置１００上に上記各処理部１２０〜１２２を具現化するプログラムが、主記憶１０２に格納されていることを示している。また、主記憶１０２に格納されているプログラムやデータは、予め、あるいは必要なときに情報処理装置１００が利用可能な記憶媒体や通信媒体（ネットワーク１３０またはネットワーク１３０を伝搬する搬送波）を介して、他の装置から記憶装置１０７に格納され、必要に応じて主記憶１０２へ出力されるものである。
【００３５】
図１では、上記暗号処理部１２２をソフトウェアモジュールとして記載しているが、上記鍵データ１２４と共にハードウェアモジュールで実現してもよい。また、上記ポリシー１２３は上記アクセス制御部１２１のみがアクセス可能な状態で、上記鍵データ１２４は上記ＵＩ分割管理部１２０と暗号処理部１２２のみがアクセス可能な状態で、上記記憶装置１０７に格納しておいてもよい。他の実施形態として、鍵データ１２４を、利用者が携帯するＩＣカードに格納しておき、上記情報処理装置１００を利用するときに上記入力装置１０６に当該ＩＣカードを挿入して、上記ＵＩ分割管理部１２０と暗号処理部１２２からアクセスするようにしてもよい。
【００３６】
本実施形態では、標準的に利用するユーザインタフェースと、秘匿された機密情報を取り扱うためのユーザインタフェースとを使い分けながら機密情報を保護する方法について説明する。標準的に利用するユーザインタフェースは、上記シェル１１０および該シェル１１０から起動されたプログラムが提供する。秘匿された機密情報を取り扱うためのユーザインタフェースは、上記シェル１１１および該シェル１１１から起動されたプログラムが提供する。図１のＰ１は、上記シェル１１０から起動されたプログラムであり、Ｐ２とＰ３は共に上記シェル１１１から起動されたプログラムである。上記シェル１１１およびプログラムＰ２とＰ３が提供するＵＩは、機密情報を取り扱うために利用され、上記シェル１１０およびプログラムＰ１が提供するＵＩは、その他一般の情報を取り扱うために利用される。
【００３７】
上記アクセス制御部１２１は、これらシェル１１０〜１１１と該シェルから起動されたプログラムが発行するファイルアクセスやネットワークアクセスを、上記ポリシー１２３に従って制御する。
【００３８】
上記ファイルアクセスとは、ローカルドライブへのアクセスと、ネットワークドライブへのアクセスの両方を指す。ローカルドライブへのアクセスとは、上記デバイス制御部１０４を介して上記記憶装置１０７内のファイルへアクセスすることであり、ネットワークドライブへのアクセスとは、上記通信制御部１０８とネットワーク１３０を介してリモートの情報処理装置が管理する記憶装置１０７内のファイルへアクセスすることである。
【００３９】
上記シェル１１０〜１１１やプログラムＰ１〜Ｐ３にとっては、アクセス対象がローカルドライブにあってもネットワークドライブにあっても、共通の方法でアクセスできるようなインタフェースが上記ＯＳ１０１によって提供されている。つまり、アクセス対象がローカルドライブか、ネットワークドライブかによって、アクセス経路を上記デバイス制御部１０４とするか、上記通信制御部１０８とするかは、上記ＯＳ１０１が判断して切り替える。なお、上記アクセス制御部１２１によるアクセス検知とアクセス制御処理は、上記ＯＳ１０１によるアクセス経路の切り替え処理に先立って実行するものであり、ローカルドライブだけでなく、ネットワークドライブへのファイルアクセスも制御対象となる。
【００４０】
一方、上記ネットワークアクセスとは、上記通信制御部１０８とネットワーク１３０を介して他の情報処理装置で動作するプログラムとの通信のことを指す。これは、例えば電子メールの送受信や、ＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）によるファイルのダウンロードや、ＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）によるファイル転送、Ｔｅｌｎｅｔによる遠隔操作などを指すが、上記ネットワークドライブに対するファイルアクセスは含まない。
【００４１】
次に、上記情報漏洩防止システムが利用する鍵データ１２４とポリシー１２３の内容を、一例を挙げて説明する。
【００４２】
上記鍵データ１２４は、図４に示すように、ログイン画面（図２に示す）にて上記利用者が入力するユーザＩＤと照合するためのインデックス４０１と、プログラムの実行環境登録エリア４０２と、データの暗号と復号に利用する鍵の登録エリア４０３と、シェルおよび該シェルから起動されるプログラムの実行権限となるユーザＩＤ登録エリア４０４、およびシェルの表示状態を表す状態値登録エリア４０５を、利用者毎に記憶したものである。上記実行環境登録エリア４０２には、ユーザインタフェースを用途に応じて区別するための名称を登録する。図４では、実行環境を「標準」と「秘匿」の２種類定義している。実行環境を切り替えることは、利用可能なユーザインタフェースを切り替えることであり、これらは可視のシェルを切り替えることと同義である。
【００４３】
図４の例では実行環境「標準」に対応する鍵の登録エリア４０３に何も登録されていない。これは、実行環境が「標準」のプログラム（シェルおよび該シェルから起動されたプログラム）からは、データの暗号化・復号化を一切行わないことを意味する。反対に、実行環境が「秘匿」である特定のプログラムからは、上記暗号処理部１２２を通じて、上記実行環境「秘匿」に対応する鍵（図４の例では、０ｘ１２３４５６７８）を用いたデータ暗号化・復号化が可能となる。
【００４４】
他の実施形態として、上記鍵データ１２４にて、２種類以上の実行環境にそれぞれ異なる鍵を対応付けておき、実行環境、つまりユーザインタフェースを切り替える度に使用可能な鍵も切り替わるようにしてもよい。これは、情報を極秘や秘密といったレベルで分けて管理する場合や、人事情報や経営情報といったカテゴリに分けて管理する場合などに有効である。また、機密情報の取り扱い資格をもつ利用者と、もたない利用者とが情報処理装置１００を共用するケースでは、取り扱い資格をもたない利用者の鍵データについては、上記実行環境「標準」のみ利用可能となるように、実行環境「秘匿」の情報（上記鍵の登録エリア４０３や、ユーザＩＤ登録エリア４０４）を削除しておけばよい。
【００４５】
図３は、上記ポリシー１２３の一例である。ポリシー１２３は以下の考え方に従うものである。すなわち、
（１）暗号ファイルを復号化して読み出す権限と、平文ファイルへの書き込み権限とを、同一の実行環境にあるアクセス主体には与えない。
（２）暗号ファイルを復号化して読み出す権限を与えられたアクセス主体には、暗号ファイルや、新規ファイルに対する書き込みの際に常に暗号化を行わせる。
（３）暗号ファイルを復号化して読み出す権限と、ネットワークアクセスの権限とを、同一の実行環境にあるアクセス主体には与えない。
（４）情報の閲覧や編集には使われず、ファイルのコピーや移動に使われるアクセス主体には、ファイルを暗号化する権限も、ファイルを復号化する権限も与えない。
【００４６】
アクセス主体登録エリア３０１は、ファイルアクセスやネットワークアクセスの主体を、プログラムＩＤ，実行環境，パス名，特徴値の組み合わせで表したものである。上記プログラムＩＤは、上記ＯＳ１０１上で動作するプログラムに対して与える識別名である。また、実行環境とは上記プログラムがどのような情報を取り扱うために利用されるのかを表す。上記シェル１１０およびプログラムＰ１は、実行環境「標準」側にて動作するプログラムであり、上記シェル１１１およびプログラムＰ２〜Ｐ３は、実行環境「秘匿」側で動作するプログラムである。なお、プログラムの実行環境は、該プログラムの起動に使われたシェルの実行環境と同じものとする。シェルの実行環境は、上記ＵＩ分割管理部１２０がシェルを起動する際に上記鍵データ１２４を基に決定する。上記パス名とは、プログラムファイルを絶対パス名で表したものである。更に、特徴値とは上記プログラムファイルの真正性を確認するために用いる値で、例えばプログラムファイルのサイズやハッシュ値を用いる。
【００４７】
図３の例では、「シェル」というプログラムＩＤが２箇所に記述されているが、プログラムファイルはどちらも共通のため、パス名とその特徴値も共通となっている。このように、ポリシー１２３を用いれば、一つのプログラムについて、その実行環境毎に平文ファイル、暗号ファイル、新規ファイル、ネットワークに対して異なるアクセス権を設定できる。また、プログラム「Ｐ１」は、実行環境「標準」のシェルから起動されるプログラムであり、プログラム「Ｐ２」と「Ｐ３」は共に実行環境「秘匿」のシェルから起動されるプログラムである。上記ポリシー１２３では、このような情報で表されるアクセス主体のアクセス権を、平文ファイルに対するアクセス権登録エリア３０２、暗号ファイルに対するアクセス権登録エリア３０３、新規ファイルに対するアクセス権登録エリア３０４、ネットワークに対するアクセス権登録エリア３０５にて記述している。
【００４８】
アクセス権の表記について説明する。各種ファイルへのアクセス権のうち、Ｒは読み出し、Ｗは書き込み権限を有することを意味する。また、ファイルの暗号化または復号化の権限を有する場合は、（暗号）、（復号）と表記している。上記読み出し権限（Ｒ）のうち、（復号）の表記がないものは、ファイルの内容を復号化せずにそのまま読み出すことを意味する。また、上記書き込み権限（Ｗ）のうち、（暗号）の表記がないものは、データの暗号化処理をせずにそのままファイルに書き込むことを意味する。一方、ネットワークに関しては、アクセス権を有するものを「許可」と表記し、アクセス権がないものを「禁止」と表記している。ネットワークのアクセス権を有するアクセス主体は、通信相手とのデータ送信とデータ受信の両方が可能であり、反対にアクセス権をもたないアクセス主体は、データ送信もデータ受信も禁止される。なお、本実施形態でのアクセス権には「許可」と「禁止」の２種類しかないが、他の実施形態として、一般的なファイアウォールが行っているように、通信相手のＩＰアドレスやポート番号を用いたアクセス権設定であってもよい。
【００４９】
次に、各アクセス主体が有するアクセス権について説明する。図３のうち、平文ファイルに対して読み出し（Ｒ）と書き込み（Ｗ）の両権限を持つプログラムは、実行環境が「標準」に属するシェル１１０とＰ１だけであることが分かる。これは、標準側が平文ファイルを利用することを目的としたプログラムの実行環境であることを意味する。
【００５０】
一方、暗号ファイルに対して読み出し（Ｒ）と書き込み（Ｗ）の両権限を持つプログラムは、実行環境が「秘匿」のプログラム「Ｐ２」と「Ｐ３」だけである。これは、「秘匿」側が、機密情報が含まれた暗号ファイルを利用することを目的としたプログラム実行環境であることと、その中でも一部のプログラムのみが暗号ファイルへの書き込み（Ｗ）権限を持つことを意味する。ここで重要なことは、暗号処理部１２２によって、上記プログラム「Ｐ２」と「Ｐ３」が暗号ファイルを読み出す（Ｒ）ときには自動復号処理を、暗号ファイルに書き込み（Ｗ）を行うときには自動暗号処理を、実行するように上記アクセス制御部１２１が制御することである。
【００５１】
暗号化と復号化に用いる鍵は、上記鍵データ１２４にて実行環境「秘匿」に割り当てられた鍵である。また、上記プログラム「Ｐ２」をはじめとする「秘匿」側のプログラムから平文ファイルへの書き込み（Ｗ）を許可していないのは、機密情報が平文ファイルを介して、実行環境「標準」側のプログラムに読み出されないよう保護するためである。反対に、実行環境「標準」側のプログラムから暗号ファイルへの書き込み（Ｗ）を許可していないのは、機密情報が格納されたファイルが破壊されないよう保護するためである。
【００５２】
また、新規ファイルへの読み出し（Ｒ）と書き込み（Ｗ）は、上記ポリシー１２３に記載された何れのプログラムからも可能とする。このうち、上記プログラム「Ｐ２」と「Ｐ３」に限っては、新規ファイルへの書き込み（Ｗ）時に自動暗号処理を、読み出し（Ｒ）時には自動復号処理を、上記暗号処理部１２２によって実行する。ただし、ファイルにデータが格納されていない場合は、読み出し（Ｒ）時の自動復号処理は実行しない。
【００５３】
更に、本実施例では、ファイルだけでなくネットワークの利用に関しても制御を行えるよう、上記ポリシー１２３にてネットワーク利用の可否についてもプログラム毎に定義している。図３の例では、上記プログラム「Ｐ２」と「Ｐ３」からのネットワーク利用を禁止して、その他アクセス主体からのネットワーク利用は許可している。これは、上述のようにプログラム「Ｐ２」と「Ｐ３」が暗号ファイルを平文として読み出せることから、機密データを平文で上記ネットワーク１３０に送信できないようにするためである。
【００５４】
このほか、図３に示される、様々なアクセス主体による様々な対象へのアクセス制御内容をポリシー１２３として利用可能である。
【００５５】
次に、上記情報処理装置１００の起動からプログラムの起動までの、上記ＵＩ分割管理部１２０の処理ステップを、図６を用いて説明する。
【００５６】
ステップ６０１は、上記情報処理装置１００の起動であり、上記ＯＳ１０１と、上記アクセス制御部１２１と、上記暗号処理部１２２と、上記ＵＩ分割管理部１２０が、上記主記憶１０２にロードされて実行を開始する。このとき上記表示装置１０５には、図２に示すようなログイン画面２００を、上記ＵＩ分割管理部１２０によって表示する。つまり、ＯＳが標準で提供するログイン用のユーザインタフェースに替わって、上記ＵＩ分割管理部１２０が上記ＯＳ１０１へのログイン処理を実行する。ここで上記情報処理装置１００の利用者は、上記入力装置１０６を通じて上記ログイン画面２００に自己のユーザＩＤとパスワードを入力する。
【００５７】
ステップ６０２では、上記ログイン画面２００に入力されたユーザＩＤを、上記鍵データ１２４のインデックス４０１と照合して、上記利用者の鍵データを検索する。
【００５８】
ステップ６０３では、上記利用者の鍵データに登録してある各実行環境に対応付けられたユーザＩＤと、上記利用者が入力したパスワードを用いて上記ＯＳ１０１へログインする。つまり、「標準」の実行環境に対応付けられたユーザＩＤ「Ｓｕｚｕｋｉ＿１」によるログインと、「秘匿」の実行環境に対応付けられたユーザＩＤ「Ｓｕｚｕｋｉ＿２」によるログインを実行する。なお、上記利用者が入力したユーザＩＤは、鍵データ１２４を検索するために使うものであり、上記ＯＳ１０１へのログインには使われない。
【００５９】
ステップ６０４では、上記ＵＩ分割管理部１２０が、「標準」のシェル１１０をユーザＩＤ「Ｓｕｚｕｋｉ＿１」の権限で起動し、「秘匿」のシェル１１１をユーザＩＤ「Ｓｕｚｕｋｉ＿２」の権限で起動する。このとき、上記表示装置１０５には上記鍵データ１２４にて状態値が「１」となっているシェル（図4の例では実行環境が「標準」のシェル１１０）が表示されるようにする。
【００６０】
ステップ６０５では、上記起動したシェルの情報を、プログラムテーブルに登録する。当該プログラムテーブルは、図５に示すように、プログラムＩＤ登録エリア５０１と、実行環境登録エリア５０２と、プロセス番号登録エリア５０３と、特徴値登録エリア５０４からなり、上記ＵＩ分割管理部１２０が上記主記憶１０２内に作成し、上記ＯＳ１０１上で実行中のプログラムの情報を登録して管理する。上記ＵＩ分割管理部１２０は、プログラムの起動を検知すると、当該プログラムの実行環境を確認してから、プロセス番号とパス名を上記ＯＳ１０１から取得し、実行環境とプロセス番号を、それぞれ上記実行環境登録エリア５０２と上記プロセス番号登録エリア５０３に登録する。
【００６１】
次に、上記プログラムのパス名と実行環境の組み合わせを上記ポリシー１２３から検索し、該当するプログラムがあればそのプログラムＩＤを上記プログラムテーブル５００に登録するとともに、特徴値も算出して登録する。上記ポリシー１２３に該当するプログラムがなければ、上記プログラムテーブル５００にはプログラムＩＤとして「ＮＵＬＬ」を登録するとともに、特徴値として「−１」を登録する。
【００６２】
プログラムの実行環境の確認について補足説明する。プログラムがシェルの場合、上記ＵＩ分割管理部１２０が当該シェルを起動するときに、上記鍵データ１２４にて指定された実行環境を確認して、上記実行環境登録エリア５０２に登録する。シェル以外のプログラムであれば、当該プログラムの起動元となったシェルの実行環境を確認して、上記実行環境登録エリア５０２に登録する。
【００６３】
また、上記プロセス番号とは、上記ＯＳ１０１が実行中の各プログラムに対して割り当てるユニークな番号である。上記プログラムテーブル５００に登録された情報は、上記アクセス制御部１２１や、上記暗号処理部１２２から参照されるものである。また、上記ＵＩ分割管理部１２０がプログラムの終了を検知したときには、上記テーブルから該当する情報を削除する。
【００６４】
ステップ６０６では、図９に示すように、自己のアイコン２０４をシェルの画面上に表示して、利用者からの要求待ち状態となる。利用者からの要求の他にも、プログラムの起動や終了を検知したときには、上記ステップ６０５で説明したとおり、上記プログラムテーブル５００への登録や削除を実行する。
【００６５】
図９は、上記ログイン画面２００を通じて利用者がログインに成功した後に、上記表示装置１０５に表示されるユーザインタフェースの一例を示すものである。２０１は、上記秘匿側のユーザインタフェースであり、上記プログラムＰ２とＰ３のウィンドウと、利用者が上記ＵＩ分割管理部１２０と対話するためのアイコン２０４ａと、当該アイコン２０４ａを上記入力装置１０６によって選択（例えばマウスによってクリック）することで表示されるメニュー２０３ａを含む。当該メニュー２０３ａには、選択可能な実行環境の名称一覧を表示すると共に、現在表示されているシェルが何れの実行環境であるか分かるようにマーク（レ印）を付与する。利用者は、上記メニュー２０３ａを通じてユーザインタフェース（実行環境）の切り替え要求を上記ＵＩ分割管理部１２０に通知することができる。２０２は、標準側のユーザインタフェースへ表示を切り替えたときの画面であり、プログラムＰ１のウィンドウの他、アイコン２０４ｂと、メニュー２０３ｂを含む。これらユーザインタフェースはあくまでも一例であり、上記プログラムＰ１〜Ｐ３以外のプログラムのウィンドウを含む場合もあれば、可視のウィンドウを持たないプログラムが実行中の場合もある。
【００６６】
図７は、上記メニュー２０３を通じたユーザインタフェースの切り替え要求を受けたときの、上記ＵＩ分割管理部１２０の処理を示すものである。利用者からのユーザインタフェース切り替え要求を受けると、ステップ７０１にて、上記共有データエリア１０９に現在格納されているデータを、上記ＵＩ分割管理部１２０が占有するメモリ空間あるいは記憶装置１０７内に保存してから、共有データエリア１０９内のデータを消去する。このようなデータ保存に必要な記憶領域は、上記ＵＩ分割管理部１２０が実行環境毎に確保して利用する。
【００６７】
ステップ７０２では、上記表示装置１０５の画面を、上記利用者が要求するユーザインタフェース（実行環境）の画面へと切り替えるよう、上記ＯＳ１０１に対してシステムコールを発行する。
【００６８】
ステップ７０３では、上記ＵＩ分割管理部１２０が実行環境毎のデータ保存用に確保した記憶領域のうち、切り替え先の実行環境用の記憶領域Ｘにデータがあれば、当該データを上記共有データエリア１０９内に書き戻して復元すると共に、上記記憶領域Ｘに保存されているデータをクリアする。
【００６９】
上記共有データエリア１０９とは、プログラム間でのデータ共有に使われる記憶領域であり、上記ＯＳ１０１が管理している。情報処理装置１００の利用者は、当該共有データエリア１０９を利用することで、プログラム間でデータのコピーや移動を行いながら文書の編集作業が可能となる。よって、上記ステップ７０１とステップ７０３の処理は、実行環境の異なるプログラム間で、上記共有データエリア１０９を用いた不正なデータ交換を防止するために必要となる。
【００７０】
ステップ７０４では、上記鍵データ１２４の状態値登録エリア４０５の状態値を、表示切り替え後のユーザインタフェース（実行環境）に合わせて変更し、利用者からの要求待ち状態に戻る。
【００７１】
次に、図８を用いて上記アクセス制御部１２１と暗号処理部１２２の処理について説明する。上記アクセス制御部１２１は、上記情報処理装置１００におけるファイルアクセスやネットワークアクセスをステップ８００にて検知すると、ステップ８０１にて当該アクセスの要求元となるプログラムのプロセス番号を確認する。
【００７２】
ステップ８０２では、当該プロセス番号を用いて、上記アクセスを発行したプログラムのＩＤと特徴値を、上記プログラムテーブル５００から取得する。ここで、取得したプログラムＩＤが「ＮＵＬＬ」の場合は、当該プログラムは上記ポリシー１２３にて権限の設定がされていない、つまりファイルアクセスやネットワークアクセスを許可されていないものとみなし、ステップ８０３で上記プログラムにエラーを返す。
【００７３】
プログラムＩＤが「ＮＵＬＬ」でなければ、アクセス対象によって以下のように処理を分ける。
【００７４】
アクセス対象がファイルの場合は、ステップ８０４にて、アクセス対象となるファイルが平文ファイルか、暗号ファイルか、新規ファイルかを確認する。
【００７５】
ここで上記暗号ファイルは、図１０に示すように、暗号化されたファイル本体１００８とは別に、ラベル部１００１〜１００７をもつ。１００２は、暗号ファイルに対して最後に書き込みを行ったプログラムの実行環境を文字列で表したものであり、１００１は当該実行環境の文字列のサイズをバイト数で表している。また、１００４は暗号ファイルに対して最後に書き込みを行ったユーザのＩＤを文字列で表したものであり、１００３は当該ユーザＩＤの文字列のサイズをバイト数で表している。１００５は、上記１００２と同じ文字列であり、１００６は、上記１００４と同じ文字列である。１００７は、ファイル本体１００８の暗号化に用いた実効鍵であり、そのサイズは固定である。上記１００５から１００７は、当該暗号ファイルに対して最後に書き込みを行ったプログラムの実行環境に割り当てられた鍵（上記鍵データ１２４に登録されている）により暗号化されている。上記実効鍵１００７を取得するには、暗号化された上記１００５から１００７を、上記鍵データ１２４に登録された鍵により復号化する必要がある。このとき復号化した上記１００５と上記１００６の文字列が、それぞれ上記１００２と１００４の文字列と同じとなれば、実効鍵１００７も正しく復号化したことになる。
【００７６】
上記ラベル部１００１〜１００７は、利用者自身がプログラムを通じて編集するものではなく、上記暗号処理部１２２が生成するものである。該ラベル部は、ファイルの先頭部分に格納してもよいし、上記ＯＳ１０１がファイルやディレクトリ毎に管理しているパーミッションや、ファイルサイズ、更新日時などの情報に追加する形で格納してもよい。
【００７７】
図８の説明に戻り、上記ステップ８０４では、アクセス対象となるファイルに、上記ラベル部１００１〜１００７が存在するかどうかを確認し、あれば暗号ファイルへのアクセスとみなし、なければ平文ファイルへのアクセスとみなす。また、アクセス対象となるファイルが上記記憶装置１０７に存在しない場合には、新規ファイルへのアクセスとみなす。アクセス対象が暗号ファイルの場合には、更に上記ラベル部から実行環境の文字列１００２を確認する。
【００７８】
ステップ８０５では、上記ポリシー１２３を参照して、上記アクセスが正当なものかを判定する。特に、アクセス対象が暗号ファイルの場合には、上記ラベル部に記述されている実行環境の文字列１００２が、アクセス要求元のプログラムの実行環境と合致していることまで確認する。その結果、上記アクセスが正当でない（ポリシー違反）であれば、ステップ８１０にて、アクセス要求元のプログラムにエラーを返す。正当でないアクセスには、例えば、特徴値が上記ポリシー１２３の登録値と異なるプログラムからのアクセスや、読み出し（Ｒ）しか許可されていないファイルに対して書き込み（Ｗ）を要求した場合などが含まれる。
【００７９】
アクセス対象が暗号ファイルで、且つ暗号・復号権限をもつプログラムからの読み出し（Ｒ）や書き込み（Ｗ）要求であれば、ステップ８０６にて上記暗号処理部１２２を呼び出す。暗号処理部１２２では、ステップ８０７にて上記鍵データ１２４にある鍵の登録エリア４０３から、アクセス要求元のプログラムの実行環境に対応する鍵を取得する。ステップ８０８では、当該鍵を用いて読み出しデータの復号化処理や、書き込みデータの暗号化処理を実行する。
【００８０】
読み出しデータの復号化処理時には、上記暗号ファイルに付与されたラベル部１００１〜１００７のうち、実行環境の文字列１００２が、上記アクセス要求元のプログラムの実行環境と一致していれば、上記実行環境に対応する鍵を用いて上記実効鍵１００７を復号化する。
【００８１】
以後、当該実効鍵を用いて読み出しデータの復号化処理を実行する。書き込みデータの暗号化処理時には、上記暗号ファイルに付与されたラベル部１００１〜１００７のうち、例えばユーザＩＤの文字列１００４と１００６など、更新すべき事項があれば上記ラベル部を更新する。
【００８２】
アクセス対象が暗号ファイルで、且つ復号せずに読み出す（Ｒ）権限をもつプログラムからの読み出し（Ｒ）要求であれば、上記暗号処理部１２２を呼び出さずに該アクセス（ステップ８０９）を実行する。また、暗号ファイルに対して暗号化せずに書き込む（Ｗ）権限をもつプログラムからの書き込み（Ｗ）要求の場合も、上記暗号処理部１２２を呼び出さずに該アクセス（ステップ８０９）を実行する。
【００８３】
アクセス対象が平文ファイルで、読み出し（Ｒ）権限をもつプログラムからの読み出し（Ｒ）要求であれば、復号化を伴わないアクセスをステップ８０９にて実行する。同じく、アクセス対象が平文ファイルで、書き込み（Ｗ）権限をもつプログラムからの書き込み（Ｗ）要求であれば、暗号化を伴わないアクセスをステップ８０９にて実行する。
【００８４】
アクセス対象が新規ファイルで、且つ暗号・復号権限をもつプログラムからの読み出し（Ｒ）や書き込み（Ｗ）要求であれば、ステップ８０６にて上記暗号処理部１２２を呼び出す。暗号処理部１２２では、ステップ８０７にて上記鍵データ１２４にある鍵の登録エリア４０３から、アクセス要求元のプログラムの実行環境に対応する鍵を取得する。ステップ８０８では、当該鍵を用いて書き込みデータの暗号化処理や、読み出しデータの復号化処理を実行する。
【００８５】
上記書き込みデータの暗号化処理時には、上記ラベル部１００１〜１００７（図１０）を上記新規ファイルに付与する。また、上記新規ファイルからの読み出し時に、上記ラベル部１００１〜１００７がなければ復号化処理は実行しない。
【００８６】
なお、新規ファイルとは、ファイルを新規に生成（オープン）してからクローズするまでの状態を指し、上記新規ファイルの書き込み／読み出しとは、そのクローズまでの書き込み／読み出しを意味する。上記新規ファイルが一度クローズされた後は、当該ファイルに上記ラベル部１００１〜１００７が付与されていれば暗号ファイルとみなし、付与されていなければ平文ファイルとみなす。
【００８７】
アクセス対象が新規ファイルで、且つ暗号・復号権限をもたないプログラムからの読み出し（Ｒ）や書き込み（Ｗ）要求であれば、暗号化や復号化を伴わないアクセスをステップ８０９にて実行する。
【００８８】
ステップ８０２において、アクセス対象がネットワークの場合の処理について説明する。
【００８９】
ステップ８１１では、上記ポリシー１２３を参照して、上記アクセスが正当なものかを判定する。その結果、上記アクセスが正当でない（ポリシー違反）であれば、ステップ８１２にて、アクセス要求元のプログラムにエラーを返す。一方、正当なアクセスであれば、上記通信制御部１０８によるデータ送受信処理へ移行する。
【００９０】
なお、本実施形態では、上記アクセス制御部１２１でファイルアクセスとネットワークアクセスの両方を制御するが、それぞれが異なるアクセス制御部によって制御されるものであってもよい。
【００９１】
以上の情報漏洩防止システムが搭載された情報処理装置１００の利用例を示しながら、機密情報の漏洩が防止可能なことを説明する。
【００９２】
上記情報処理装置１００の利用者は、図２に示したログイン画面２００に自己のユーザＩＤとパスワードを入力して上記ＯＳ１０１へのログインに成功すると、実行環境「標準」もしくは「秘匿」のいずれかのユーザインタフェースが、上記表示装置１０５に表示される。ここでは、図９に示した実行環境「標準」のユーザインタフェースの画面２０２が表示されるものとして説明する。
【００９３】
当該実行環境「標準」において、プログラムＰ１が電子メール機能を備えたプログラムとすると、図３に示したポリシー１２３に従えば、上記利用者は任意のファイルを電子メールに添付して送信できる。このとき、暗号ファイルについては復号化せずに読み出して電子メールに添付されるため、ネットワーク上も暗号データとして流れるとともに、送信先においても鍵を共有している関係者のみが復号化できることから、情報を漏洩することなく電子メールを用いた機密情報の伝達が可能となる。これは、上記プログラムＰ１を用いた暗号ファイルの受信についても同じである。
【００９４】
また、実行環境「標準」側のシェル１１０を用いて、暗号ファイルをコピーするときでも、上記ポリシー１２３に従えば暗号ファイルを復号化せずに読み出し、そのまま新規ファイルに書き込むことになるため、可搬記憶媒体やネットワークドライブへコピーしても機密情報が平文で持ち出されることはない。これは、実行環境「秘匿」側のシェル１１１を用いた場合も同じである。つまり、上記シェル１１０〜１１１を用いれば、暗号ファイルは暗号ファイルのままコピーできる。これには、コピー処理時の不要な復号・暗号処理を省けるという効果もある。
【００９５】
一方、機密情報を参照したり、編集したりするには、画面を実行環境「秘匿」側へ切り替える。具体的には、図９に示した実行環境「標準」の画面２０２において、アイコン２０４ｂをクリックしてメニュー２０３ｂを表示し、実行環境を「秘匿」を指定して画面２０１へ切り替える。
【００９６】
当該実行環境「秘匿」において、プログラムＰ２やＰ３が文書の参照や編集の機能を備えたプログラムとすると、図３に示したポリシー１２３に従えば、上記利用者はプログラムＰ２やＰ３を用いて暗号ファイルを復号化できる。つまり、暗号ファイルに格納されている機密情報の参照や編集が可能となる。
【００９７】
機密情報の編集においては、一般的な文書作成と同様に、上記プログラムＰ２とＰ３の間で、上記共有データエリア１０９を用いたデータ転送も可能である。ただし、実行環境切り替え時には、上記ＵＩ分割管理部１２０が共有データエリア１０９の内容を消去するため、機密情報が実行環境「標準」側のプログラムＰ１へ転送されることはない。
【００９８】
編集後のデータを保存するときには、元のファイルへの上書きであっても、新規ファイルとしての保存であっても必ず暗号化され、機密情報が平文で保存されることはない。これは、ファイルの格納場所がどこであっても同様である。これにより、情報処理装置１００内のハードディスクや可搬記憶媒体が盗難にあっても、機密情報が平文のまま読み取られることはない。
【００９９】
また、図３に示したポリシー１２３に従えば、プログラムＰ１であれば暗号ファイルを復号化せずに読み出して平文ファイルへ書き込めるので、平文ファイルに暗号データを書き込むことも可能になるが、この場合でも情報漏洩にはならない。
【０１００】
ネットワークアクセスに関して言えば、上記プログラムＰ２やＰ３によるネットワークアクセスは、上記ポリシー１２３にて禁止している。したがって、復号化された機密情報が、Ｐ２やＰ３によってネットワークへ流出することもない。
【０１０１】
また、何らかの原因により、コンピュータウィルスやトロイの木馬と呼ばれるような不正なプログラムが上記情報処理装置１００内に混入しても、上記ポリシー１２３にて指定されていないプログラムにはファイルアクセス、ネットワークアクセスともに許可しないため、機密情報の漏洩につながることはない。
【０１０２】
上述のように、図３の例のように、下記４つの条件を全て満たすポリシー１２３を予め管理者が定義しておくことにより、内部者の不正によるものも含めた情報漏洩を防ぐことが可能になる。
【０１０３】
なお、上記ポリシー１２３は、プログラムとその実行環境を組み合わせたアクセス主体毎にアクセス権を設定するものであるが、一般的なアクセス制御のように、ユーザやグループの識別子を用いたアクセス権設定も必要であれば、上記ＯＳ１０１が備えるアクセス制御機能を、上記アクセス制御部１２１と併用すればよい。
【図面の簡単な説明】
【０１０４】
【図１】本実施形態における情報漏洩防止システムを搭載した情報処理装置の一構成例を示す図。
【図２】情報漏洩防止システムが提供するログイン画面の一例を示す図。
【図３】本実施形態において、ポリシー１２３の一例を示す図。
【図４】本実施形態において、鍵データ１２４の一例を示す図。
【図５】本実施形態において、プログラムテーブル５００の一例を示す図。
【図６】情報処理装置１００の起動時におけるＵＩ分割管理部１２０の処理のフローチャートを示す図。
【図７】ユーザインタフェース切り替え時におけるＵＩ分割管理部１２０の処理のフローチャートを示す図。
【図８】アクセス制御部１２１と暗号処理部１２２によるアクセス制御処理のフローチャートを示す図。
【図９】表示装置１０５に表示されるユーザインタフェースの一例を示す図。
【図１０】暗号ファイルの構造に関する一例を示す図。
【符号の説明】
【０１０５】
１００・・・情報処理装置、１０１・・・ＯＳ、１０２・・・主記憶、１０３・・・ＣＰＵ、１０４・・・デバイス制御部、１０５・・・表示装置、１０６・・・入力装置、１０７・・・記憶装置、１０８・・・通信制御部、１０９・・・共有データエリア、１１０・・・標準側のシェル、１１１・・・秘匿側のシェル、１１２・・・通信線、１２０・・・ＵＩ分割管理部、１２１・・・アクセス制御部、１２２・・・暗号処理部、１２３・・・ポリシー、１２４・・・鍵データ、１３０・・・ネットワーク、２００・・・ログイン画面、２０１・・・秘匿側のユーザインタフェース、２０２・・・標準側のユーザインタフェース、２０３・・・メニュー、２０４・・・アイコン、３０１・・・アクセス主体登録エリア、３０２・・・平文ファイルに対するアクセス権登録エリア、３０３・・・暗号ファイルに対するアクセス権登録エリア、３０４・・・新規ファイルに対するアクセス権登録エリア、３０５・・・ネットワークに対するアクセス権登録エリア、４０１・・・インデックス、４０２・・・実行環境登録エリア、４０３・・・鍵の登録エリア、４０４・・・ユーザＩＤ登録エリア、４０５・・・状態値登録エリア、５００・・・プログラムテーブル、５０１・・・プログラムＩＤ登録エリア、５０２・・・実行環境登録エリア、５０３・・・プロセス番号登録エリア、５０４・・・特徴値登録エリア、１００１・・・実行環境の文字列サイズ、１００２・・・実行環境の文字列、１００３・・・ユーザＩＤの文字列サイズ、１００４・・・ユーザＩＤの文字列、１００５・・・実行環境の文字列、１００６・・・ユーザＩＤの文字列、１００７・・・実効鍵、１００８・・・暗号化されたファイル本体、Ｐ１〜Ｐ３・・・プログラム
【図１】
2005165900.tif 000003
【図２】
2005165900.tif 000004
【図３】
2005165900.tif 000005
【図４】
2005165900.tif 000006
【図５】
2005165900.tif 000007
【図６】
2005165900.tif 000008
【図７】
2005165900.tif 000009
【図８】
2005165900.tif 000010
【図９】
2005165900.tif 000011
【図１０】
2005165900.tif 000012