(57)【要約】【課題】  クリップボードの利便性を確保しつつ保護データのクリップボードを介したコンピュータシステム外への持ち出しを防止する。【解決手段】  保護対象フォルダ３１へのアクセス権を有し、主記憶装置２０内のクリップボード２２に保護対象フォルダ３１内に格納された操作対象のデータを書き込む時、保護対象フォルダ３１に対応付けられた暗号鍵を使用して上記データを暗号化し暗号化された暗号化データをクリップボード２２に書き込み、クリップボード２２に書き込まれた暗号化データを補助記憶装置３０内に格納されるファイルに貼り付ける貼付時、暗号化データを復号化してからそのファイルに貼り付ける。【選択図】      図１
2006155155.tif 000002
【特許請求の範囲】
【請求項１】
補助記憶装置内に格納されている保護対象フォルダ内のデータの漏洩を防止する情報漏洩防止装置において、
前記保護対象フォルダへのアクセス権を有し、主記憶装置内の第１共有メモリエリアに前記保護対象フォルダ内に格納された操作対象のデータを書き込む書込時に、保護フォルダ管理テーブルに登録された前記保護対象フォルダに対応付けられた暗号鍵を使用して前記データを暗号化し、暗号化された暗号化データを前記第１共有メモリエリアに書き込む書込ユニットと、
前記保護対象フォルダへのアクセス権を有し、前記第１共有メモリエリアに書き込まれた前記暗号化データを補助記憶装置内に格納されるファイルに貼り付ける貼付時に、前記暗号化データを復号化してから前記ファイルに貼り付ける貼付ユニットと、
を備えたことを特徴とする情報漏洩防止装置。
【請求項２】
前記書込ユニットは、前記書込時に、前記主記憶装置内における前記第１共有メモリエリア以外の第２共有メモリエリアに前記暗号化データの識別子を書き込み、
前記貼付ユニットは、前記貼付時に、前記第２共有メモリエリアに書き込まれている識別子が前記第１共有メモリエリアに現在存在しているデータの識別子と一致するとき、前記データを復号化してから前記ファイルに貼り付け、
一致しないときまたは前記第２共有メモリエリア内に識別子が書き込まれていないとき、前記データを復号化せずにそのまま前記ファイルに貼り付ける、
請求項１に記載の情報漏洩防止装置。
【請求項３】
前記保護対象フォルダへのアクセス権を有さず、前記補助記憶装置内に格納されている非保護対象フォルダ内のデータを前記第１共有メモリエリアに書き込むときには暗号化せずにそのまま書き込み、前記第１共有メモリエリアに現在存在しているデータを前記ファイルに貼り付けるときにはそのデータを復号化せずそのまま貼り付けるバイパスユニットを備えた、
請求項１または２に記載の情報漏洩防止装置。
【請求項４】
補助記憶装置内に格納されている保護対象フォルダ内のデータの漏洩を防止する情報漏洩防止方法において、
前記保護対象フォルダへのアクセス権を取得し、
主記憶装置内の第１共有メモリエリアに前記保護対象フォルダ内に格納された操作対象のデータを書き込む時、保護フォルダ管理テーブルに登録された前記保護対象フォルダに対応付けられた暗号鍵を使用して前記データを暗号化し、暗号化された暗号化データを前記第１共有メモリエリアに書き込み、
前記第１共有メモリエリアに書き込まれた前記暗号化データを補助記憶装置内に格納されるファイルに貼り付ける時、前記暗号化データを復号化してから前記ファイルに貼り付ける、
ことを特徴とする情報漏洩防止方法。
【請求項５】
補助記憶装置内に格納されている保護対象フォルダ内のデータの漏洩を防止する情報漏洩防止プログラムであって、
前記保護対象フォルダへのアクセス権を取得し、
主記憶装置内の第１共有メモリエリアに前記保護対象フォルダ内に格納された操作対象のデータを書き込む時、保護フォルダ管理テーブルに登録された前記保護対象フォルダに対応付けられた暗号鍵を使用して前記データを暗号化し、暗号化された暗号化データを前記第１共有メモリエリアに書き込むステップと、
前記第１共有メモリエリアに書き込まれた前記暗号化データを補助記憶装置内に格納されるファイルに貼り付ける時、前記暗号化データを復号化してから前記ファイルに貼り付けけるステップと、
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステム内からの機密情報の漏洩を防止する情報漏洩防止装置、方法およびそのプログラムに関し、特に、クリップボードの利便性を確保するとともに、コンピュータシステム内において暗号や持ち出し禁止等で保護されたフォルダ内に格納されたファイルのデータをクリップボードを介してコンピュータシステム外に持ち出す事を防止する情報漏洩防止装置、方法およびそのプログラムに関する。
【背景技術】
【０００２】
コンピュータシステム内のデータ保護の為、暗号技術が一般的に使用されている。暗号技術の中でも、保護対象フォルダ内に格納されたファイルのデータは常に暗号化しておき、認証されたユーザがアクセスする場合にのみ、読み込み時に自動で復号化し、書き込み時に自動で暗号化することで、コンピュータシステム内に暗号化されたデータを保存し復号化された平文データを存在させない自動暗号という技術が知られている。
【０００３】
一方、情報漏洩防止の観点から、保護対象フォルダにアクセスするアプリケーションプログラム（以下、単にアプリケーションと記す）固有の識別子（プログラム名、プロセスＩＤ等）を予め管理テーブルに登録しておき、保護対象フォルダへのアクセスは、管理テーブルに登録されている特定のアプリケーションにのみ制限する技術が開示されている。
これらの技術を合わせることにより、機密情報の漏洩に対するセキュリティレベルの高いコンピュータシステムを構築する事が出来る。
【０００４】
また、保護対象フォルダにアクセスできるアプリケーショに、クリップボード（共有メモリエリア）を介してアプリケーション間でデータ転送を行う操作（「コピー」、「切り取り」、「貼り付け」といった操作）を禁止した専用アプリケーションを指定する技術がある。この技術によれば、クリップボードを介した上記操作が禁止されるので機密情報の漏洩を防止することができる。
【０００５】
さらに、特許文献１には、コンピュータシステム外への持ち出しを禁止されるべき機密ファイルとそうでない他のファイルを混在して使用可能にするため、アプリケーションが、予め定められた機密フォルダに保存されている機密ファイルを開いたとき、そのファイルの内容が機密フォルダ以外に出力されないように、開かれたファイルの内容の転送を制限（共有メモリエリアをロック）することで機密情報の漏洩を防止するという技術が開示されている（特許文献１の段落［００４２］〜［００４５］および［図１］の参照番号４４参照）。
【０００６】
【特許文献１】特開２００２−２８８０３０号公報（明細書の［特許請求の範囲］、段落番号［０００２］〜［０００７］、［００４２］〜［００４５］、図面の［図１］〜［図６］および要約書の［解決手段］参照）。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、一般的なアプリケーションは、クリップボードを介したアプリケーション間のデータ転送を行うコマンドを標準で持っているので、クリップボードを介した上記操作が制限または禁止されると利便性を欠くことになる。利便性を確保するためアプリケーションを保護対象フォルダにアクセスできるものとして登録すると、登録したアプリケーションから保護対象フォルダ内のデータを登録されていないアプリケーションにクリップボードを介してデータ転送することにより保護対象フォルダ内のデータをコンピュータシステム外に持ち出すことが可能となり、情報漏洩に対するセキュアリティに問題が生じる。
【０００８】
本発明は、上記問題を解決するためになされたものであり、クリップボードの利便性を確保するとともに、コンピュータシステム内における暗号、持ち出し禁止等で保護されたフォルダ内のデータを、クリップボードを介してコンピュータシステム外に持ち出す事を防止する情報漏洩防止装置、方法およびそのプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成する本発明による情報漏洩防止装置は、補助記憶装置内に格納されている保護対象フォルダ内のデータの漏洩を防止する情報漏洩防止装置において、前記保護対象フォルダへのアクセス権を有し、主記憶装置内の第１共有メモリエリアに前記保護対象フォルダ内に格納された操作対象のデータを書き込む書込時に、保護フォルダ管理テーブルに登録された前記保護対象フォルダに対応付けられた暗号鍵を使用して前記データを暗号化し、暗号化された暗号化データを前記第１共有メモリエリアに書き込む書込ユニットと、前記保護対象フォルダへのアクセス権を有し、前記第１共有メモリエリアに書き込まれた前記暗号化データを補助記憶装置内に格納されるファイルに貼り付ける貼付時に、前記暗号化データを復号化してから前記ファイルに貼り付ける貼付ユニットと、を備えたことを特徴とする。
【００１０】
上記情報漏洩防止装置において、前記書込ユニットは、前記書込時に、前記主記憶装置内における前記第１共有メモリエリア以外の第２共有メモリエリアに前記暗号化データの識別子を書き込み、前記貼付ユニットは、前記貼付時に、前記第２共有メモリエリアに書き込まれている識別子が前記第１共有メモリエリアに現在存在しているデータの識別子と一致するとき、前記データを復号化してから前記ファイルに貼り付け、一致しないときまたは前記第２共有メモリエリア内に識別子が書き込まれていないとき、前記データを復号化せずにそのまま前記ファイルに貼り付ける。
【００１１】
上記情報漏洩防止装置において、前記保護対象フォルダへのアクセス権を有さず、前記補助記憶装置内に格納されている非保護対象フォルダ内のデータを前記第１共有メモリエリアに書き込むときには暗号化せずにそのまま書き込み、前記第１共有メモリエリアに現在存在しているデータを前記ファイルに貼り付けるときにはそのデータを復号化せずそのまま貼り付けるバイパスユニットを備える。
【００１２】
上記目的を達成する本発明による情報漏洩防止方法は、補助記憶装置内に格納されている保護対象フォルダ内のデータの漏洩を防止する情報漏洩防止方法において、前記保護対象フォルダへのアクセス権を取得し、主記憶装置内の第１共有メモリエリアに前記保護対象フォルダ内に格納された操作対象のデータを書き込む時、保護フォルダ管理テーブルに登録された前記保護対象フォルダに対応付けられた暗号鍵を使用して前記データを暗号化し、暗号化された暗号化データを前記第１共有メモリエリアに書き込み、前記第１共有メモリエリアに書き込まれた前記暗号化データを補助記憶装置内に格納されるファイルに貼り付ける時、前記暗号化データを復号化してから前記ファイルに貼り付ける、ことを特徴とする。
【００１３】
上記目的を達成する本発明による情報漏洩防止プログラムは、補助記憶装置内に格納されている保護対象フォルダ内のデータの漏洩を防止する情報漏洩防止プログラムであって、前記保護対象フォルダへのアクセス権を取得し、主記憶装置内の第１共有メモリエリアに前記保護対象フォルダ内に格納された操作対象のデータを書き込む時、保護フォルダ管理テーブルに登録された前記保護対象フォルダに対応付けられた暗号鍵を使用して前記データを暗号化し、暗号化された暗号化データを前記第１共有メモリエリアに書き込むステップと、前記第１共有メモリエリアに書き込まれた前記暗号化データを補助記憶装置内に格納されるファイルに貼り付ける時、前記暗号化データを復号化してから前記ファイルに貼り付けけるステップと、をコンピュータに実行させることを特徴とする。
【発明の効果】
【００１４】
第１発明によれば、保護対象フォルダは補助記憶装置内に格納され登録アプリケーションのみがアクセスでき、保護対象フォルダ内のデータは主記憶装置内の第１共有メモリエリア（クリップボード）に暗号化されて書き込まれるので、主記憶装置内の全てのデータが第１共有メモリエリアを介さずにコンピュータシステム外に持ち出されても登録アプリケーションでないと暗号化されたデータは復号化されないので解読できず情報漏洩が防止できる。
【００１５】
第２発明によれば、暗号化されたデータの識別子が第２共有メモリエリアに書き込まれ、その後に識別子のない暗号化されていないデータが第１共有メモリエリアに書き込まれ第２共有メモリエリアに書き込まれた識別子はそのままであっても、第１共有メモリエリアに書き込まれたデータに対応する識別子と第２共有メモリエリアに書き込まれている識別子とが一致するか否かで第１共有メモリエリアに書き込まれたデータがこれに対応する暗号化されたデータであるか否かを確認でき暗号化されたデータを復号化することで解読データを信頼性あるものにすることができる。
【００１６】
第３発明によれば、非登録アプリケーションに対しても第１共有メモリエリア（クリップボード）の利便性が確保できるとともに、クリップボードに書き込まれたデータは登録アプリケーションのみが暗号化し復号化することができるので、クリップボード内の暗号化されたデータが非登録アプリケーションによりコンピュータシステム外に持ち出されても復号化されないので解読できず情報漏洩が防止できる。
【発明を実施するための最良の形態】
【００１７】
以下、添付図面を参照しつつ本発明の実施形態を詳細に説明する。
図１は本発明の一実施形態に係る情報漏洩防止装置のブロック構成図である。本発明の情報漏洩防止装置１は、例えばパーソナルコンピュータＰＣからなり、ＣＰＵ１０、キーボードやマウス等の入力装置１１、表示ユニットやプリンタ等の出力装置１２、音声入出力装置１３、フレキシブルディスク（ＦＤ）や光ディスクＣＤ（ＣＤ−ＲＯＭ、ＣＤ−ＲおよびＣＤ−ＲＷ）等の記録媒体からプログラムやデータを読み記録媒体に書く記録媒体Ｒ／Ｗ装置１４、本装置１と外部のコンピュータとの間でＬＡＮやインターネットを介してプログラムやデータを送受信する通信装置１５、主記憶装置２０および補助記憶装置３０を有する。ＣＰＵ１０、入力装置１１、出力装置１２、音声入出力装置１３、記録媒体Ｒ／Ｗ装置１４、通信装置１５、メインメモリ２０およびハードディスクＨＤ３０は、バスライン４０を介して互いに接続されている。
【００１８】
主記憶装置（以下、メインメモリと記す）２０は、バッテリバックアップされたＲＡＭからなり、ＣＰＵ１０が実行するプログラムやデータの一時記憶エリア、ＣＰＵ１０のワークエリアおよび固定のプログラムやデータの記憶エリアに用いられる。補助記憶装置（以下、ハードディスクＨＤと記す）３０は、必要に応じてＲＡＭに書き込まれるプログラムやデータを常時格納するものであり、例えば磁気ディスクからなる。
【００１９】
ＣＰＵ１０の起動により、入出力機能やメインメモリ２０やハードディスク３０の管理など、多くのアプリケーションから共通して利用される基本的な機能を提供するオペレーティングシステム（ＯＳ）２１がハードディスク３０からメインメモリ２０に書き込まれる。
【００２０】
メインメモリ２０のＯＳ２１内には第１共有メモリエリア（以下、クリップボードと記す）２２が設けられている。クリップボード２２とは、複数のアプリケーションがデータを交換するために使用する一種の共有メモリエリアのことであり、ＯＳ２１でコピー、切り取り、貼り付けといった操作を行ったデータを一時的に保存するメインメモリ２０上の１つのエリアである。
【００２１】
ＯＳ２１内にはクリップボード２２とは別のエリアに第２共有メモリエリア２３が設けられ、登録されたアプリケーションが保護対象フォルダ内のデータをクリップボード２２に転送したとき、そのデータに対応する識別子が第２共有メモリエリア２３に格納される。このデータには文書の文字、画像、図形、音声およびプログラム等のデータがある。
【００２２】
また、ＯＳ２１内には、情報漏洩防止装置１の使用に際して、ハードディスクＨＤ３０内のファイルにアクセスする時に動作するファイルアクセスプログラム２４、ハードディスクＨＤ３０内のデータをクリップボード２２へ書き込む時に動作するクリップボード書き込みプログラム２５およびクリップボード２２に書き込まれたデータをハードディスクＨＤ３０内のファイルに貼り付ける時に動作するクリップボード貼り付けプログラム２６が書き込まれる。
【００２３】
ＯＳ２１内には、これらの他に少なくとも１つのアプリケーションプログラムがユーザがそのアプリケーションプログラムを利用する時に書き込まれる。アプリケーションプログラムにはワードプロセッサ、表計算、電子メール、ウェブブラウザ、在庫管理、画像編集、ＣＡＤ、音楽・音声関係およびゲーム等に用いられるプログラムがある。
【００２４】
一方、ハードディスク３０内には、保護対象フォルダ３１、非保護対象フォルダ３２、保護フォルダ管理テーブル３３およびアクセス管理テーブル３４が格納される。保護フォルダ管理テーブル３３にはアプリケーション識別子、保護フォルダの識別子およびその保護フォルダ内のデータを暗号化するための暗号鍵の識別子が格納される。アクセス管理テーブル３４にはアプリケーション識別子およびこれに対応する保護フォルダの識別子が格納される。
【００２５】
アプリケーションプログラムは、保護フォルダ管理テーブル３３に登録される登録アプリケーション２７と登録されない非登録アプリケーション２８とに分けられ、通常ハードディスク３０内に格納されており、ユーザが利用する時にＯＳ２１に書き込まれる。
【００２６】
次に、本発明の情報漏洩防止装置の基本構成と作用について以下に説明する。
補助記憶装置３０内の保護対象フォルダ３１へのアクセス時に、アクセスした登録アプリケーション２７の識別子（プログラム名、プロセスID等）をアクセス管理テーブル３４に登録する。アクセス管理テーブル３４に登録された登録アプリケーション２７による第１共有メモリエリア（クリップボード）２２に対する操作（「コピー」、「切り取り」、「貼り付け」）があった場合、以下の第１〜第３処理を行う。
【００２７】
第１処理：クリップボード２２への書き込み（クリップボードに対するコピー操作または切り取り操作）時に、保護フォルダ管理テーブルに登録された保護対象フォルダ３１に対応付けられた暗号鍵を使用して操作対象のデータを暗号化し、暗号化されたデータをクリップボード２２に書き込み、主記憶装置２０内のクリップボード２２以外の第２共有メモリエリア２３に、上記暗号化データの識別子（データのハンドルネームや、データのハッシュ値等）を書き込む。
【００２８】
第２処理：クリップボード２２からの貼り付け（クリップボードに対する貼り付け操作）時に、第２共有メモリエリア２３内に書かれている識別子が、クリップボード２２に現在存在するデータの識別子と一致すれば、そのデータを復号化してから補助記憶装置３０内に格納されるファイルに貼り付ける。一致しないか、または第２共有メモリエリア２３内に識別子が書き込まれていない場合は、そのデータを復号化せずにそのままそのファイルに貼り付ける。
【００２９】
第３処理：保護対象フォルダ３１にアクセス可能な登録アプリケーション２７が登録されるアクセス管理テーブル３４に登録されていない非登録アプリケーション２８からクリップボード２２に対する操作があった場合は、特に処理をせず、通常通りクリップボード２２の使用を許可する。すなわち、非登録アプリケーション２８が、補助記憶装置３０内に格納されている非保護対象フォルダ３２内のデータを第１共有メモリエリア２２に書き込むときには暗号化せずにそのまま書き込み、第１共有メモリエリア２２に現在存在しているデータを上記ファイルに貼り付けるときにはそのデータを復号化せずそのまま貼り付ける。
【００３０】
上記第１〜第３処理によれば、クリップボード２２を使用する操作を禁止されていない非登録アプリケーション２８を使用して、登録アプリケーション２７が保護対象フォルダ３１にアクセスしクリップボード２２に書き込んだデータを、非登録アプリケーション２８がクリップボード２２を介して保護対象フォルダ３１外にデータを持ち出そうとしても、データは暗号化されているので持ち出すことはできても解読することはできない。これにより、暗号、持ちだし禁止等で保護された保護対象フォルダ３１内のデータを共有メモリエリアの一種であるクリップボード２２を介して持ち出すことを防止したまま、非登録アプリケーション２８によるクリップボード２２へのアクセスとその利用が可能となる。
【００３１】
また、上記第１〜第３処理によれば、登録アプリケーション２７によるクリップボード２２を介しての、非保護対象フォルダ３２内のファイルから保護対象フォルダ３１内のファイルへのデータの複写（移動）、および保護対象フォルダ３１内のファイル同士や非保護対象フォルダ３２内のファイル同士でのデータの複写（移動）は通常通りに行えるので、登録アプリケーション２７によるクリップボード２２を利用することで得られる利便性も失われない。
【００３２】
次に、本発明の情報漏洩防止装置におけるクリップボード操作時のデータの流れについて以下に説明する。
図２は登録アプリケーションによるクリップボード操作時のデータの流れを示す図であり、（Ａ）はハードディスク内のデータをクリップボードへ書き込む時のデータの流れを示す図であり、（Ｂ）はクリップボード内のデータをハードディスク内のファイルに貼り付ける時のデータの流れを示す図である。以降、図２〜図４において、保護対象のデータをクリップボードへ書き込む時には、保護フォルダ管理テーブル３３を参照して保護対象のデータを格納する保護対象フォルダ３１に対応付けられた暗号鍵でそのデータを暗号化し、クリップボードに書き込まれたデータをハードディスク内のファイルに貼り付ける時には、保護フォルダ管理テーブル３３とアクセス管理テーブル３４とを参照して保護対象フォルダ３１に対応付けられた暗号鍵で復号化する。
【００３３】
図２の（Ａ）に示されるように、登録アプリケーション２７が、ハードディスクＨＤ３０内に格納されている保護対象フォルダ３１内のデータをクリップボード２２へ書き込む時、データは暗号化されてクリップボード２２に転送され暗号化データが保存され、ＨＤ３０内に格納されている非保護対象フォルダ３２内のデータをクリップボード２２へ書き込む時、非保護対象フォルダ３２内のデータはそのままクリップボード２２に転送され平文データが保存される。
【００３４】
図２の（Ｂ）に示されるように、登録アプリケーション２７がクリップボード２２内に保存された暗号化データまたは平文データをＨＤ３０内のファイルに貼り付ける時、暗号化データは復号化され、平文データはそのまま、登録アプリケーション２７がアクセスしているＨＤ３０内の保護対象フォルダ３１または非保護対象フォルダ３２内のファイルに転送され、復号化データまたは平文データが保存される。
【００３５】
図３は非登録アプリケーションによるクリップボードの操作時のデータの流れを示す図であり、（Ａ）はハードディスク内のデータをクリップボードへ書き込む時のデータの流れを示す図であり、（Ｂ）はクリップボード内のデータをハードディスク内のファイルに貼り付ける時のデータの流れを示す図である。
【００３６】
図３の（Ａ）に示されるように、非登録アプリケーション２８が、ハードディスクＨＤ３０内に格納されている非保護対象フォルダ３２内のデータをクリップボード２２へ書き込む時、データはそのままクリップボード２２に転送され平文データが保存される。非登録アプリケーション２８が、ＨＤ３０内に格納されている保護対象フォルダ３１内のデータをクリップボード２２へ書き込むことはアクセス権がないのでできない。
【００３７】
図３の（Ｂ）に示されるように、非登録アプリケーション２８がクリップボード２２内に保存された平文データをＨＤ３０内のファイルに貼り付ける時、平文データはそのままＨＤ３０内のファイルに転送され平文データが保存される。非登録アプリケーション２８が、クリップボード２２内に保存された平文データをＨＤ３０内の保護対象フォルダ３１内のファイルに貼り付けることはアクセス権がないのでできない。
【００３８】
図４は登録アプリケーションによるクリップボードへの書き込み操作後に非登録アプリケーションによるクリップボードの貼り付け操作を行なった場合のデータの流れを示す図であり、（Ａ）は登録アプリケーションによりハードディスク内のデータをクリップボードへ書き込む時のデータの流れを示す図であり、（Ｂ）は非登録アプリケーションによりクリップボード内のデータをハードディスク内のファイルに貼り付ける時のデータの流れを示す図である。
【００３９】
図４の（Ａ）に示されるように、登録アプリケーション２７が、ハードディスクＨＤ３０内に格納されている保護対象フォルダ３１内のデータをクリップボード２２へ書き込む時、データは暗号化されてクリップボード２２に転送され暗号化データが保存され、ＨＤ３０内に格納されている非保護対象フォルダ３２内のデータをクリップボード２２へ書き込む時、非保護対象フォルダ３２内のデータはそのままクリップボード２２に転送され平文データが保存される。
【００４０】
図４の（Ｂ）に示されるように、非登録アプリケーション２８が、クリップボード２２内に保存された平文データをＨＤ３０内の非保護対象内のフォルダ内のファイルに貼り付ける時、平文データはそのままＨＤ３０内のファイルに転送され平文データが保存され、クリップボード２２内に保存された暗号化データをＨＤ３０内のファイルに貼り付ける時、暗号化データは復号化されずそのままＨＤ３０内のファイルに転送され暗号化データが保存される。非登録アプリケーション２８が、クリップボード２２内に保存された平文データまたは暗号化データをＨＤ３０内の保護対象フォルダ３１内のファイルに貼り付けることはアクセス権がないのでできない。
以下、図２〜４に示したデータの流れの制御についてフローチャートを用いて説明する。
【００４１】
図５は保護対象フォルダへのアクセス時におけるアプリケーションプログラムの登録処理の流れを示すブロック図である。本発明による情報漏洩防止装置１の実施形態では、登録アプリケーション２７または非登録アプリケーション２８がハードディスクＨＤ３０内のファイルにアクセスする際に、ＣＰＵ１０により実行されるドライバであるファイルアクセスプログラム２４が、ＯＳ２１のファイルシステムを介してＯＳ２１による通常のファイルアクセス処理を待たせ、保護対象フォルダ３１内のファイルに対してファイルアクセスプログラム２４を実行した後にＯＳ２が通常のファイルアクセスを実行するように構成されている。ファイルアクセスプログラム２４は、保護フォルダ管理テーブル３３を参照して上記ファイルが保護対象フォルダ３１に格納されたものか否かを判定し、ＹＥＳと判定されたとき、アクセス管理テーブル３４にアプリケーションの識別子および保護対象フォルダの識別子を登録する。
【００４２】
また、アプリケーション２７、２８がハードディスクＨＤ３０内のファイルのデータＡをクリップボード２２に書き込む際に、ドライバであるクリップボード書き込みプログラム２５が、ＯＳ２１による通常のクリップボード書き込み処理を待たせ、クリップボード書き込みプログラム２５を実行した後にＯＳ２がクリップボード２２にデータＡを書込むように構成されている。
【００４３】
さらに、アプリケーション２７、２８がクリップボード２２に書かれたデータＡをハードディスクＨＤ３０内のファイルに貼り付ける際に、ドライバであるクリップボード貼り付けプログラム２６が、ＯＳ２１による通常のクリップボード貼り付け処理を待たせ、クリップボード貼り付けプログラム２６を実行した後にＯＳ２がクリップボード２２からその読み込んだファイルにデータＡを貼り付けるように構成されている。
【００４４】
具体的には、ファイルアクセスプログラム２４、クリップボード書き込みプログラム２５およびクリップボード貼り付けプログラム２６に、ファイルアクセス、クリップボード書き込みおよびクリップボード貼り付けのそれぞれの呼び出しをフックするよう事前に登録しておく。以下に、ファイルアクセスプログラム２４、クリップボード書き込みプログラム２５およびクリップボード貼り付けプログラム２６の各処理についてフローチャートを用いて説明する。
【００４５】
図６は保護フォルダ管理テーブルの具体例を示す図であり、図７はアクセス管理テーブルの具体例を示す図である。保護フォルダ管理テーブル３３には、予めアプリケーションの識別子、例えばハンドル名（アプリケーションＡ、Ｂ）、保護対象フォルダの識別子、例えばフォルダの管理番号（フォルダ１、２）および暗号鍵の識別子、例えばハッシュ値（鍵α、β）を登録する。
【００４６】
ファイルアクセスプログラム２４は、アプリケーション２７、２８がハードディスクＨＤ３０内のファイルへのアクセスを要求したとき、要求したアプリケーションが予め図６に示す保護フォルダ管理テーブル３３に登録されたものか否か判定し、登録されていると判定したときは図７に示すアクセス管理テーブル３４にアプリケーションの識別子（アプリケーションＡ、Ｂ）および保護対象フォルダの識別子（フォルダ１、２）を登録する。
【００４７】
図８はアプリケーションプログラムによるファイルアクセス処理のフローチャートである。
ステップ８００では、アプリケーション２７、２８からＯＳ２のファイルシステムへの呼び出しが有るか否かを判定し、判定結果がＹＥＳのときはステップ８０１に進み、ＮＯのときはステップ８０３に進む。
ステップ８０１では、予め作成した保護フォルダ管理テーブル３３を参照してアプリケーション２７、２８により呼び出されたファイルが保護対象フォルダ３１に格納されたものか否かを判定し、判定結果がＹＥＳのときはステップ８０２に進み、ＮＯのときはステップ８０３に進む。
【００４８】
ステップ８０２では、アクセス管理テーブル３４にアプリケーションの識別子、例えばハンドル名および保護対象フォルダの識別子、例えばフォルダの管理番号を登録し、ステップ８０３に進む。
ステップ８０３では、通常通りファイルアクセスを開始する。すなわち、ＯＳ２によるファイルアクセスに処理を戻す。
【００４９】
図９はクリップボード書き込みプログラムによる処理のフローチャートである。このクリップボード書き込みプログラムによる処理（ステップ９０１〜９０４）は上記第１処理に相当する。
ステップ９００では、アプリケーション２７、２８からＯＳ２のクリップボード２２へのデータ、例えばデータＡの書き込み要求が有ったか否かを判定し、判定結果がＹＥＳのときはステップ９０１に進み、ＮＯのときはステップ９０５に進む。
ステップ９０１では、要求しているアプリケーション、例えば登録アプリケーション２７の識別子Ａがアクセス管理テーブル３４に登録されているか否かを判定し、判定結果がＹＥＳのときはステップ９０２に進み、ＮＯのときはステップ９０５に進む。
【００５０】
ステップ９０２では、アクセス管理テーブル３４で登録アプリケーション２７（アプリケーションＡ）に対応付けられた保護フォルダ１を取得し、ステップ９０３に進む。
ステップ９０３では、ステップ９０２で取得した保護フォルダ１が保護フォルダ管理テーブル３３で対応付けられた暗号鍵αでデータＡを暗号化し、ステップ９０４に進む。
【００５１】
ステップ９０４では、データＡの識別子を第２共有メモリエリア２３に書き込み、ステップ９０５に進む。このデータＡの識別子は、データＡを特定できれば何でもよく、例えばデータＡが格納されていたファイル名でもクリップボード２２に書き込んだ日付および／または時刻でもよい。
ステップ９０５では、通常通りデータＡをクリップボード２２に書き込む。すなわち、ＯＳ２によるクリップボード書き込みに処理を戻す。このステップ９０５は、上記第３処理に相当する。
【００５２】
図１０はクリップボード貼り付けプログラムによる処理のフローチャートである。このクリップボード貼り付けプログラムによる処理（ステップ１００１〜１００５）は上記第２処理に相当する。
ステップ１０００では、アプリケーション２７、２８からＯＳ２のクリップボード２２に保存されているデータ、例えばデータＡの貼り付け要求が有ったか否かを判定し、判定結果がＹＥＳのときはステップ１００１に進み、ＮＯのときはステップ１００６に進む。
ステップ１００１では、要求しているアプリケーション、例えば登録アプリケーション２７の識別子Ａがアクセス管理テーブル３４に登録されているか否かを判定し、判定結果がＹＥＳのときはステップ１００２に進み、ＮＯのときはステップ１００６に進む。
【００５３】
ステップ１００２では、第２共有メモリエリア２３に何等かのデータの識別子が書き込まれているか否かを判定し、判定結果がＹＥＳのときはステップ１００３に進み、ＮＯのときはステップ１００６に進む。
ステップ１００３では、第２共有メモリエリア２３に書き込まれている識別子がデータＡの識別子と一致するか否かを判定し、判定結果がＹＥＳのときはステップ１００４に進み、ＮＯのときはステップ１００６に進む。
【００５４】
ステップ１００４では、アクセス管理テーブル３４を参照して登録アプリケーション２７（アプリケーションＡ）に対応付けられた保護フォルダ１を取得し、ステップ１００５に進む。
ステップ１００５では、ステップ１００４で取得した保護フォルダ１が保護フォルダ管理テーブル３３で対応付けられた暗号鍵αでデータＡを復号化し、ステップ１００６に進む。
ステップ１００６では、通常通りデータＡをアプリケーションＡがアクセスしているファイルに貼り付ける。すなわち、ＯＳ２によるクリップボード貼り付けに処理を戻す。このステップ１００６は、上記第３処理に相当する。
【００５５】
ここで、第２共有メモリエリア２３にクリップボード２２に書き込んだデータの識別子を書き込む理由について以下に説明する。
クリップボード書き込みプログラム２５により第２共有メモリエリア２３にクリップボード２２に書き込んだデータの識別子を書き込む（ステップ９０４）のは保護対象データに対してのみであり、すなわちアクセス管理テーブル３４に登録されているアプリケーションからクリップボード２２へのアクセスが発生した（ステップ９０１でＹＥＳの）場合のみである。アクセス管理テーブル３４に登録されていないアプリケーションからクリップボード２２へのアクセスが発生した（ステップ９０１でＮＯの）場合はこの書き込み（ステップ９０４）は行われない。
【００５６】
このため、単に暗号化されたデータか否かを示すフラグを第２共有メモリエリア２３に書き込む場合、アクセス管理テーブル３４に登録されているアプリケーションからクリップボード２２へのアクセスが発生し、クリップボード２２に書き込んだ暗号化されたデータの識別子を第２共有メモリエリア２３に書き込むとフラグは１となり、その後アクセス管理テーブル３４に登録されていないアプリケーションからクリップボード２２へのアクセスが発生し、非保護対象データをクリップボード２２に書き込んだ場合、第２共有メモリエリア２３内のフラグ１は更新されず、クリップボード２２上のデータは非保護対象データであり平文であるにもかかわらず、第２共有メモリエリア２３内では暗号化されていることを示すフラグ１のままになってしまう。
【００５７】
このことを防止するために、第２共有メモリエリア２３にはデータの識別子を書き込むことにしてある。これにより、アクセス管理テーブル３４に登録されていないアプリケーションからクリップボード２２へのアクセスが発生した場合、第２共有メモリエリア２３の識別子は更新されず、クリップボード２２上のデータは平文という状態になり得るが、クリップボード２２上のデータには識別子が付されていないので、当然第２共有メモリエリア２３の識別子と一致せず、したがってクリップボード２２上のデータの識別子と第２共有メモリエリア２３の識別子とが一致するか否かにより、クリップボード２２内のデータが暗号文か平文かを判別できる。
【００５８】
（付記１）
補助記憶装置内に格納されている保護対象フォルダ内のデータの漏洩を防止する情報漏洩防止装置において、
前記保護対象フォルダへのアクセス権を有し、主記憶装置内の第１共有メモリエリアに前記保護対象フォルダ内に格納された操作対象のデータを書き込む書込時に、保護フォルダ管理テーブルに登録された前記保護対象フォルダに対応付けられた暗号鍵を使用して前記データを暗号化し、暗号化された暗号化データを前記第１共有メモリエリアに書き込む書込ユニットと、
前記保護対象フォルダへのアクセス権を有し、前記第１共有メモリエリアに書き込まれた前記暗号化データを補助記憶装置内に格納されるファイルに貼り付ける貼付時に、前記暗号化データを復号化してから前記ファイルに貼り付ける貼付ユニットと、
を備えたことを特徴とする情報漏洩防止装置。
【００５９】
（付記２）
前記書込ユニットは、前記書込時に、前記主記憶装置内における前記第１共有メモリエリア以外の第２共有メモリエリアに前記暗号化データの識別子を書き込み、
前記貼付ユニットは、前記貼付時に、前記第２共有メモリエリアに書き込まれている識別子が前記第１共有メモリエリアに現在存在しているデータの識別子と一致するとき、前記データを復号化してから前記ファイルに貼り付け、
一致しないときまたは前記第２共有メモリエリア内に識別子が書き込まれていないとき、前記暗号化データを復号化せずにそのまま前記ファイルに貼り付ける、
請求項１に記載の情報漏洩防止装置。
【００６０】
（付記３）
前記保護対象フォルダへのアクセス権を有さず、前記補助記憶装置内に格納されている非保護対象フォルダ内のデータを前記第１共有メモリエリアに書き込むときには暗号化せずにそのまま書き込み、前記第１共有メモリエリアに現在存在しているデータを前記ファイルに貼り付けるときにはそのデータを復号化せずそのまま貼り付けるバイパスユニットを備えた、
請求項１または２に記載の情報漏洩防止装置。
【００６１】
（付記４）
補助記憶装置内に格納されている保護対象フォルダ内のデータの漏洩を防止する情報漏洩防止方法において、
前記保護対象フォルダへのアクセス権を取得し、
主記憶装置内の第１共有メモリエリアに前記保護対象フォルダ内に格納された操作対象のデータを書き込む時、保護フォルダ管理テーブルに登録された前記保護対象フォルダに対応付けられた暗号鍵を使用して前記データを暗号化し、暗号化された暗号化データを前記第１共有メモリエリアに書き込み、
前記第１共有メモリエリアに書き込まれた前記暗号化データを補助記憶装置内に格納されるファイルに貼り付ける時、前記暗号化データを復号化してから前記ファイルに貼り付ける、
ことを特徴とする情報漏洩防止方法。
【００６２】
（付記５）
前記操作対象のデータを前記第１共有メモリエリアに書き込む時、
前記主記憶装置内における前記第１共有メモリエリア以外の第２共有メモリエリアに前記暗号化データの識別子を書き込み、
前記暗号化データを補助記憶装置内に格納されるファイルに貼り付ける時、
前記第２共有メモリエリア内に書き込まれている識別子が前記第１共有メモリエリアに現在存在しているデータの識別子と一致するとき、前記データを復号化してから前記ファイルに貼り付け、
一致しないとき、または前記第２共有メモリエリア内に識別子が書き込まれていないとき、前記データを復号化せずにそのまま前記ファイルに貼り付ける、
付記４に記載の情報漏洩防止方法。
【００６３】
（付記６）
前記保護対象フォルダにアクセス可能なアプリケーションが登録されるアクセス管理テーブルに登録されていないアプリケーションが、
前記補助記憶装置内に格納されている非保護対象フォルダ内のデータを前記第１メモリエリアに書き込むときには暗号化せずにそのまま書き込み、
前記第１共有メモリエリアに現在存在しているデータを前記ファイルに貼り付けるときにはそのデータを復号化せずそのまま貼り付ける、
付記４または５に記載の情報漏洩防止方法。
【００６４】
（付記７）
補助記憶装置内に格納されている保護対象フォルダ内のデータの漏洩を防止する情報漏洩防止プログラムであって、
前記保護対象フォルダへのアクセス権を取得するステップと、
主記憶装置内の第１共有メモリエリアに前記保護対象フォルダ内に格納された操作対象のデータを書き込む時、保護フォルダ管理テーブルに登録された前記保護対象フォルダに対応付けられた暗号鍵を使用して前記データを暗号化し、暗号化された暗号化データを前記第１共有メモリエリアに書き込むステップと、
前記第１共有メモリエリアに書き込まれた前記暗号化データを補助記憶装置内に格納されるファイルに貼り付ける時、前記暗号化データを復号化してから前記ファイルに貼り付けけるステップと、
をコンピュータに実行させることを特徴とするプログラム。
【００６５】
（付記８）
前記操作対象のデータを前記第１共有メモリエリアに書き込む時、
前記主記憶装置内における前記第１共有メモリエリア以外の第２共有メモリエリアに前記暗号化データの識別子を書き込むステップと、
前記暗号化データを補助記憶装置内に格納されるファイルに貼り付ける時、
前記第２共有メモリエリア内に書き込まれている識別子が前記第１共有メモリエリアに現在存在しているデータの識別子と一致するとき、前記データを復号化してから前記ファイルに貼り付けるステップと、
一致しないとき、または前記第２共有メモリエリア内に識別子が書き込まれていないとき、前記データを復号化せずにそのまま前記ファイルに貼り付けるステップと、
を備える付記７に記載のプログラム。
【００６６】
（付記９）
前記保護対象フォルダにアクセス可能なアプリケーションが登録されるアクセス管理テーブルに登録されていないアプリケーションが、
前記補助記憶装置内に格納されている非保護対象フォルダ内のデータを前記第１メモリエリアに書き込むときには暗号化せずにそのまま書き込むステップと、
前記第１共有メモリエリアに現在存在しているデータを前記ファイルに貼り付けるときにはそのデータを復号化せずそのまま貼り付けるステップと、
を備える付記７または８に記載のプログラム。
【図面の簡単な説明】
【００６７】
【図１】本発明の一実施形態に係る情報漏洩防止装置のブロック構成図である。
【図２】登録アプリケーションによるクリップボードの操作時のデータの流れを示す図であり、（Ａ）はハードディスク内のデータをクリップボードへ書き込む時のデータの流れを示す図であり、（Ｂ）はクリップボード内のデータをハードディスク内のファイルに貼り付ける時のデータの流れを示す図である。
【図３】非登録アプリケーションによるクリップボードの操作時のデータの流れを示す図であり、（Ａ）はハードディスク内のデータをクリップボードへ書き込む時のデータの流れを示す図であり、（Ｂ）はクリップボード内のデータをハードディスク内のファイルに貼り付ける時のデータの流れを示す図である。
【図４】登録アプリケーションによるクリップボードへの書き込み操作後に非登録アプリケーションによるクリップボードの貼り付け操作をした場合のデータの流れを示す図であり、（Ａ）は登録アプリケーションによりハードディスク内のデータをクリップボードへ書き込む時のデータの流れを示す図であり、（Ｂ）は非登録アプリケーションによりクリップボード内のデータをハードディスク内のファイルに貼り付ける時のデータの流れを示す図である。
【図５】保護対象フォルダへのアクセス時におけるアプリケーションプログラムの登録処理の流れを示すブロック図である。
【図６】保護フォルダ管理テーブルの具体例を示す図である。
【図７】アクセス管理テーブルの具体例を示す図である。
【図８】アプリケーションプログラムによる保護フォルダへのファイルアクセス処理のフローチャートである。
【図９】クリップボード書き込みプログラムによる処理のフローチャートである。
【図１０】クリップボード貼り付けプログラムによる処理のフローチャートである。
【符号の説明】
【００６８】
１    情報漏洩防止装置
１０    ＣＰＵ
１１    入力装置
１２    出力装置
１３    音声入出力装置
１４    記録媒体Ｒ／Ｗ装置
１５    通信装置
２０    主記憶装置（メインメモリ）
２１    オペレーティングシステム（ＯＳ）
２２    第１共有メモリエリア（クリップボード）
２３    第２共有メモリエリア
２４    ファイルアクセスプログラム
２５    クリップボード書き込みプログラム
２６    クリップボード貼り付けプログラム
２７    登録アプリケーションプログラム
２８    非登録アプリケーションプログラム
３０    補助記憶装置（ハードディスク：ＨＤ）
３１    保護対象フォルダ
３２    非保護対象フォルダ
３３    保護フォルダ管理テーブル
３４    アクセス管理テーブル
４０    バスライン
【図１】
2006155155.tif 000003
【図２】
2006155155.tif 000004
【図３】
2006155155.tif 000005
【図４】
2006155155.tif 000006
【図５】
2006155155.tif 000007
【図６】
2006155155.tif 000008
【図７】
2006155155.tif 000009
【図８】
2006155155.tif 000010
【図９】
2006155155.tif 000011
【図１０】
2006155155.tif 000012