(57)【要約】      （修正有）【課題】情報漏洩の発生を未然に防止することができる技術を提供する。【解決手段】イベント監視部１２０が検知したイベントが所定のファイル操作に該当する場合、イベント詳細確認部１３０は操作で指定されたファイルの所在及び種類を確認する。ファイル管理プログラム１００の管理対象である場合、ファイル受信部１４０は指定されたファイルを受信して一時保存する。ファイル検査部１５０は、このファイルが要保護ファイルか否かを検査する。要保護ファイルであると判定された場合、操作制御部１７０はファイル操作がコピーか否かを確認する。コピーの場合、操作制御部１７０はポリシー管理部１１０から取得したポリシー設定に基づきコピー拒否、暗号化コピー、平文のままコピーのうちいずれかの制御を実行し、制御内容を知らせるアラートを表示する。コピー以外の場合、実行意思を再確認するアラートを表示しユーザの回答に従う。【選択図】図３
2017083969.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
ユーザにより入力装置を介してなされるファイルの操作を監視する監視ステップと、
前記監視ステップで特定のファイル操作を検知すると、操作対象として指定されたファイルが少なくとも前記コンピュータからアクセス可能な他のコンピュータ又は外部記憶媒体である外部デバイスに格納されている場合に、前記ファイルが所定の保護情報を含む要保護ファイルであるか否かを判定する判定ステップと、
前記判定ステップで前記ファイルが要保護ファイルであると判定した場合、前記ファイル操作に対して所定の制御を行う制御ステップと、
を実行させるファイル管理プログラム。
【請求項２】
請求項１に記載のファイル管理プログラムにおいて、
前記制御ステップでは、
前記ファイル操作としてコピー又は移動のいずれかが検知された場合、前記ファイルの操作をキャンセルするか、前記ファイルを暗号化した上で操作を実行するか、もしくは、前記ファイルを平文の状態で操作を実行するかのいずれかの制御を行い、
前記ファイル操作として削除が検知された場合、ユーザに対し前記ファイル操作の実行意思を再確認する制御を行うことを特徴とするファイル管理プログラム。
【請求項３】
請求項１又は２に記載のファイル管理プログラムにおいて、
前記判定ステップで前記ファイルを要保護ファイルであると判定するための判定条件か、もしくは、前記制御ステップで前記ファイル操作に対し実行する制御の内容の少なくとも一方を予め設定された情報として前記コンピュータが有する記憶領域に記憶させる事前設定ステップをさらに含むことを特徴とするファイル管理プログラム。
【請求項４】
請求項３に記載のファイル管理プログラムにおいて、
前記事前設定ステップでは、
前記ファイル内に記載されている保護情報の種類及び各種類に対する記載箇所数の閾値を判定条件として予め記憶させ、
前記判定ステップでは、
前記事前設定ステップにより予め記憶させた前記判定条件に基づき、いずれかの保護情報の記載箇所数が閾値を超えている場合に前記ファイルが要保護ファイルであると判定することを特徴とするファイル管理プログラム。
【請求項５】
請求項３又は４に記載のファイル管理プログラムにおいて、
前記事前設定ステップでは、
前記ファイル操作に対して事前に定めた内容の制御を強制するか、もしくは、実行毎に制御の内容をユーザに選択させるかのいずれかを制御方法として予め設定された情報として記憶させ、
前記制御ステップでは、
前記事前設定ステップにより予め記憶させた制御方法に基づいて前記ファイル操作の制御を実行することを特徴とするファイル管理プログラム。
【請求項６】
請求項１から５の何れかに記載のファイル管理プログラムにおいて、
前記コンピュータは、
前記ユーザがファイルの操作を行うユーザ端末とは異なるコンピュータであり、前記ユーザ端末と前記ユーザ端末から通信回線を通じてアクセス可能な他のコンピュータ又は外部記憶媒体である外部デバイスを中継する装置であることを特徴とするファイル管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、個人情報や機密情報などの保護すべき情報が記録されたファイルに対する操作を制御するプログラムに関する。
【背景技術】
【０００２】
技術の進歩に伴い、我々を取り巻くコンピュータ環境は大きく様変わりし続けている。例えば、ノートＰＣは小型軽量化が進み、鞄に入れて持ち歩くのが苦にならないサイズに仕上げられている。また、ユーザが利用する端末のバリエーションが多様化しており、以前はノートＰＣが主流であったが、近年ではタブレットＰＣやスマートフォンをはじめとするタッチパネル式のデバイスが登場し、取扱いの手軽さからその市場シェアは急速に拡大している。
【０００３】
ユーザ端末の利便性が向上したことにより、社内の機密情報や個人情報が記録されたファイルをユーザ端末に入れて社外に持ち出して利用するシーンが以前に比べて格段に増加した。その裏返しとして保護すべき情報が外部に漏洩する危険性も確実に高まっており、これを未然に防ぐための適切な対策が求められている。
【０００４】
こうした中で従来、データファイルから検出したキーワードが所定の条件を満たすかを検査することにより、そのデータファイルに特定の情報が含まれているかを判定し、その特定の情報を検出する技術が知られている（例えば、特許文献１を参照）。また、データファイルがコンピュータから可搬型記憶媒体にコピーされる際に、上述の手法を用いて保護すべき情報が含まれているか否かを検査する技術が開示されている（例えば、特許文献２を参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−２３８６５号公報
【特許文献２】特開２０１４−１９１６７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
これらの先行技術によれば、コピーしようとしたデータファイルに保護すべき情報が含まれているか否かを高い精度で判定することが可能となると考えられる。しかしながら、コピー実行時の検査によって保護すべき情報が含まれていることが判定できたとしても、データファイルのコピー自体は何ら制限なく実行されるため、コピーされた媒体が外部に持ち出されれば情報漏洩する危険性が当然に生じる。したがって、検査を実行するのみでは情報漏洩の未然防止策として機能させることは不可能である。
【０００７】
そこで、本発明は、情報漏洩の発生を未然に防止することができる技術の提供を目的とする。
【課題を解決するための手段】
【０００８】
上記の課題を解決するため、本発明は以下の手段を採用する。
【０００９】
すなわち、本発明のファイル管理プログラムは、コンピュータに、ユーザにより入力装置を介してなされるファイルの操作を監視する監視ステップと、監視ステップで特定のファイル操作を検知すると、操作対象として指定されたファイルが少なくともコンピュータからアクセス可能な他のコンピュータ又は外部記憶媒体である外部デバイスに格納されている場合に、そのファイルが所定の保護情報を含む要保護ファイルであるか否かを判定する判定ステップと、判定ステップでファイルが要保護ファイルであると判定した場合、ファイル操作に対して所定の制御を行う制御ステップとを実行させる。
【００１０】
このような態様によれば、ユーザにより実行されるファイル操作のうち、ファイル操作で指定されたファイルが所定の保護情報を含む場合にのみ、そのファイル操作に対して所定の制御を行うことができる。したがって、個人情報や機密情報などを含む保護の必要性が高いファイルに対するファイル操作のみを制御の対象として、効率よくファイル管理を行うことができる。
【００１１】
また、制御ステップでは、ファイル操作としてコピー又は移動のいずれかが検知された場合、ファイルの操作をキャンセルするか、ファイルを暗号化した上で操作を実行するか、もしくは、ファイルを平文の状態で操作を実行するかのいずれかの制御を行い、ファイル操作として削除が検知された場合、ユーザに対しファイル操作の実行意思を再確認する制御を行う。
【００１２】
このような態様によれば、まず要保護ファイルがコピー又は移動されつつある場合には、その操作をキャンセルする（操作させない）か、暗号化した上で操作を実行するか、平文のまま操作を実行するかのいずれかの制御を行うことができる。情報漏洩の問題は、保護の必要性が高いファイルがユーザの端末にコピー又は移動された後で外部に持ち出されることにより発生する場合が多いが、ファイルを操作する段階でこのような制御を行うことにより、その後に発生し得る情報漏洩のリスクを抑制することが可能となる。
【００１３】
また、要保護ファイルが削除されつつある場合には、ユーザに対しそのファイル操作を本当に実行するか再確認し、ユーザからの回答に沿った動作を行うため、保護の必要性が高いファイルをユーザが誤って削除しようとした場合に、そのことをユーザに気付かせてキャンセルする機会を与えることができる。これにより、ユーザの誤操作によるファイルの消失を回避することが可能となる。
【００１４】
ファイル管理プログラムは、判定ステップでファイルを要保護ファイルであると判定するための判定条件か、もしくは、制御ステップでファイル操作に対し実行する制御の内容の少なくとも一方を予め設定された情報としてコンピュータが有する記憶領域に記憶させる事前設定ステップをさらに含む。
【００１５】
好ましくは、事前設定ステップでは、ファイル内に記載されている保護情報の種類及び各種類に対する記載箇所数の閾値を判定条件として予め記憶させ、判定ステップでは、事前設定ステップにより予め記憶させた判定条件に基づき、いずれかの保護情報の記載箇所数が閾値を超えている場合にファイルが要保護ファイルであると判定する。
【００１６】
保護すべき情報の内容は、業種や職務内容等によって多種多様である。例えば、銀行の業務に関係するファイルでは銀行の口座番号やクレジットカード番号が多く扱われ、またマーケティング関係のファイルではメールアドレスや住所、氏名等が多く扱われることが推測される。このように、保護すべき情報は一律に定められるものではなく場面に応じて柔軟に変更可能であることが求められる。上記の態様によれば、要保護ファイルであると判定するための判定条件を事前に設定しておくことができるため、保護すべき情報して扱う内容をファイル管理プログラムの利用環境に合わせて設定し、具体的にどの保護情報がいくつ記載されていた場合に要保護ファイルと判定するかを個別に設定することができるため、要保護ファイルとしての判定を精度よく行うことが可能となる。
【００１７】
また、制御ステップでファイル操作に対し実行する制御についても事前設定が可能であるため、社内或いは部内の方針に沿って、保護の必要性が高いファイルのコピーはすべて暗号化した上で実行させたり、コピーを強制的にキャンセルさせたりすることができる。これにより、統一的で抜け道のないファイル管理を実現することが可能となる。
【００１８】
さらに好ましくは、事前設定ステップでは、ファイル操作に対して事前に定めた内容の制御を強制するか、もしくは、実行毎に制御の内容をユーザに選択させるかのいずれかを制御方法として予め設定された情報として記憶させ、制御ステップでは、事前設定ステップにより予め記憶させた制御方法に基づいてファイル操作の制御を実行する。
【００１９】
このような態様によれば、ユーザが保護の必要性が高いファイルの取り扱いに慣れており、操作されるファイルに最適な制御方法をユーザが判断できる場合に、実行する制御方法をファイル操作の都度ユーザに選択させて柔軟かつより適切な制御を実現することが可能となる。
【００２０】
さらに好ましくは、ファイル管理プログラムを実行するコンピュータは、ユーザがファイルの操作を行うユーザ端末とは異なるコンピュータであり、ユーザ端末とユーザ端末から通信回線を通じてアクセス可能な他のコンピュータ又は外部記憶媒体である外部デバイスを中継する装置であってもよい。
【００２１】
このような態様によれば、ユーザが操作する端末とこの端末からアクセス可能な外部デバイスとの間を中継する装置にファイル管理プログラムをセットアップすることにより、個々の端末へのセットアップを行うことなくこれらの端末で行われたファイル操作を監視及び制御することができる。したがって、動作環境の事前準備に要する時間やコストを抑制して、ファイル管理プログラムによるファイル操作の監視及び制御を速やかに実現させることが可能となる。
【発明の効果】
【００２２】
本発明によれば、情報漏洩の発生を未然に防止することができる。
【図面の簡単な説明】
【００２３】
【図１】ファイル管理プログラムが動作する環境の概念図である。
【図２】ファイル管理プログラムが動作するコンピュータの構成図である。
【図３】ファイル管理プログラムの機能ブロック図である。
【図４】ファイル管理プログラムにおけるポリシー設定画面の例を表した図である。
【図５】ファイル管理処理及びイベント監視処理の手順例を示すフローチャートである。
【図６】ファイル管理メイン処理の手順例を示すフローチャートである。
【図７】ファイル管理プログラムがサーバから端末へのファイルコピー操作を制御する際の動作例を示すシーケンス図である。
【図８】ファイル管理プログラムが実行する制御により画面上に表示されるアラートメッセージの例を表した図である。
【図９】第２実施形態のファイル管理プログラムが動作する環境の概念図である。
【図１０】第２実施形態のファイル管理プログラムが動作するコンピュータの構成図である。
【図１１】第２実施形態のファイル管理プログラムの機能ブロック図である。
【図１２】第２実施形態のファイル管理プログラムにおけるポリシー設定画面の例を表した図である。
【図１３】第２実施形態のファイル管理プログラムによるファイル管理処理及びイベント監視処理の手順例を示すフローチャートである。
【図１４】第２実施形態のファイル管理プログラムによるファイル管理メイン処理の手順例を示すフローチャートである。
【図１５】第２実施形態のファイル管理プログラムがサーバから端末へのファイルコピー操作を制御する際の動作例を示すシーケンス図である。
【発明を実施するための形態】
【００２４】
以下、本発明の実施形態について、図面を参照しながら説明する。なお、以下の実施形態は好ましい例示であり、本発明はこの例示に限定されるものではない。
【００２５】
〔第１実施形態：ユーザ端末上で動作するファイル管理プログラム〕
図１は、一実施形態のファイル管理プログラムが動作するコンピュータ環境の概念図である。また、図１に示されるコンピュータ環境は、コンピュータ機器を用いたファイル管理システムを構成している。すなわち、ユーザが日々の業務で利用する端末１０にはＬＡＮ線が接続されている。これにより端末１０は、ネットワーク３０を介してサーバ２０をはじめとする他のコンピュータにアクセスすることができる。また、端末１０は、ＵＳＢやＳＣＳＩ等の各種ポートを介して接続されるＵＳＢメモリ４０や外付けハードディスクドライブ５０等の外部記憶媒体にアクセスすることも可能である。
【００２６】
ユーザは、端末１０を利用してファイルの新規作成、コピー、移動又は削除等のファイル操作を実行する。これらのファイル操作は、端末１０の内部記憶領域内で完結するケースと、上述した他のコンピュータ又は外部記憶媒体（以下、これらをまとめて「外部デバイス」と総称する場合がある。）との間でやりとりされるケースとが存在する。後者の場合、例えば、サーバ２０に格納されているファイルを端末１０にコピーする際には、ユーザはまずファイルエクスプローラ（商標：以下同じ。）等のファイル操作用アプリケーションを起動し、サーバ２０の特定のフォルダ内に存在するファイルの一覧をディスプレイ１４に表示させる。そして、一覧表示されたファイルの中からコピーしたいファイルをマウスクリックにより選択し、端末１０の内部記憶領域に設けられているフォルダにドラッグ＆ドロップ等することにより、選択したファイルのコピーを実行する。
【００２７】
本実施形態のファイル管理プログラムは、端末１０上で動作する。このファイル管理プログラムは、端末１０と外部デバイス（サーバ２０，ＵＳＢメモリ４０，外付けＨＤＤ５０等）との間で実行されるファイル操作のうち、少なくとも外部デバイスに既に格納されているファイルに対する操作（図１中に白抜き矢印で示された方向に流れるファイル操作）を監視及び制御するものである。
【００２８】
図２は、一実施形態のファイル管理プログラム１００が動作するコンピュータの構成図である。ファイル管理プログラム１００は、端末１０のカーネル空間で動作する（より正確には、端末１０のＣＰＵ１２がファイル管理プログラム１００を動作させる）。ファイル管理プログラム１００は、ユーザ空間で動作するアプリケーションにより実行されるファイル操作を常時監視し、必要に応じてそのファイル操作の制御を行う。
【００２９】
例えば、ユーザがファイルエクスプローラ上で行った操作によりサーバ２０から端末１０へのファイルコピーを要求するコマンドが発行された場合、ファイル管理プログラム１００がファイルエクスプローラによる動作（コピーイベントの発生）を検知する。発行されたコマンドは、ネットワークを介してサーバ２０に送信される。サーバ２０がこのコマンドを受信すると、ＣＰＵ２２が指定されたファイルパスの解釈等を行った上で、要求されたファイルを端末１０に向けて送信する。要求したファイルをサーバ２０から受信したことをファイル管理プログラム１００が検知すると、このファイルが保護を必要とするファイル（以下、「要保護ファイル」と称する場合がある。）であるか否かの検査を行い、要保護ファイルであると判定された場合には発行されたファイルコピーの操作に対し所定の制御を行うこととなる。
なお、ファイル管理プログラム１００による処理内容については、詳しく後述する。
【００３０】
図３は、一実施形態におけるファイル管理プログラム１００の機能ブロック図である。この図に示されるように、ファイル管理プログラム１００は、ポリシー管理部１１０、イベント監視部１２０、イベント詳細確認部１３０、ファイル受信部１４０、ファイル検査部１５０、ログ記録部１６０、操作制御部１７０、アラート出力部１８０及びファイル暗号化部１９０を有している。
【００３１】
ポリシー管理部１１０は、ファイル管理プログラム１００がファイル操作の監視及び制御を実行する上で必要となる詳細事項を、例えば社内のファイル管理担当者（以下、「管理者」と略称する。）に事前設定させ、その設定内容を端末１０の内部記憶領域に保存する。監視及び制御に関する詳細事項（以下、「ポリシー」と称する。）とは、例えば、監視対象とするデバイスの種類やファイルの種類、要保護ファイルとして判定するための条件等である。これらの事項が設定されている場合には、ファイル管理プログラム１００は端末１０に保存されている設定内容に沿ってファイル操作の監視及び制御を実行する。一方、ポリシーが未設定の場合には、ファイル管理プログラム１００はプログラム内で初期値として指定されている内容に沿ってファイル操作の監視及び制御を実行する。説明の便宜のため、以下の説明において「ファイル操作の監視及び制御」を「ファイル（操作）の管理」と言い換える場合がある。
【００３２】
イベント監視部１２０は、端末１０で実行されたファイル操作により発生するイベントの監視を行う。具体的には、ファイルのコピー、移動、削除の３つの操作に対応するイベントを常時監視する。
イベント詳細確認部１３０は、イベント監視部１２０が検知したファイル操作イベントで指定されたファイルが監視対象とするデバイス内に格納されているか否か、また監視対象とするファイルの種類であるか否かを判定する。なお、監視対象とするデバイス及びファイルの種類は、ポリシー管理部１１０に問い合わせてポリシーの設定内容又はプログラムの初期値を参照することにより確認する。
【００３３】
ファイル受信部１４０は、イベント詳細確認部１３０により監視対象デバイス内に格納されていることが確認されたファイルをそのデバイスから受信し、端末１０の内部記憶領域に一時保存する。
【００３４】
ファイル検査部１５０は、ファイル受信部１４０により一時保存されたファイルの内容を精査し、このファイルが要保護ファイルであるかを検査する。より具体的には、保護情報として設定されている各検出項目がファイル内に何箇所記載されているかをチェックし、記載箇所数が閾値を超えている場合に、当該ファイルが要保護ファイルであると判定する。なお、保護情報として設定されている検出項目及び各項目に対する閾値は、ポリシー管理部１１０に問い合わせて取得する。また、保護情報の記載箇所の検出は、公知の方法（例えば、特開２００６−２３８６５号公報）を用いて実現することができるため、ここではその詳細を省略する。
【００３５】
ログ記録部１６０は、ファイル検査部１５０により実行された検査の結果を端末１０の内部記憶領域に保存されているログファイルに追記する。ログファイルには、検査実行日時、ファイル操作の種類、操作対象に指定されたファイルの名称及び所在（コピー元ファイルのＵＮＣパス）、各検出項目の記載箇所数、判定結果（要保護ファイルか否か）等が検査単位で記録される。
【００３６】
操作制御部１７０は、ファイル検査部１５０により実行された検査において操作対象のファイルが要保護ファイルであると判定された場合に、その操作に対し所定の制御を行う。制御内容は、ポリシー管理部１１０に問い合わせて取得する。
アラート出力部１８０及びファイル暗号化部１９０は、操作制御部１７０によりなされるファイル操作に対する制御の過程で必要に応じて作動する補助機能である。アラート出力部１８０はアラートメッセージをディスプレイ上に表示し、ファイル暗号化部１９０はコピーの前処理としてファイルの暗号化を行う。ファイルの暗号化は公知の一般的な暗号化技術を用いて実現し、その方法は特に限定しない。
【００３７】
図４は、ポリシー管理部１１０により提供される設定画面の例を表した図である。この図に示されるように、設定画面にはファイル管理プログラム１００がファイル操作の監視及び制御を実行する上で必要となる事項が表示される。管理者は、この設定画面を通じてファイル操作の監視及び制御に関するポリシーを事前に設定することができる。
【００３８】
ポリシー管理部１１０は、例えば、ファイル管理の対象とするデバイスやファイルの種類、指定されたファイルが要保護ファイルであるか否かの判定条件、要保護ファイルであると判定された場合の制御方法等を設定させる。
【００３９】
対象デバイスとして「ネットワーク上のコンピュータ」「外部記憶媒体」等の「ローカルディスク」を除く選択肢が選択された場合、ファイル管理プログラム１００は選択された外部デバイスから端末１０へ向かうファイル操作のみを管理する。「ローカルディスク」も選択されている場合には、これに加えて端末１０内でのファイル操作及び端末１０から外部デバイスへ向かうファイル操作についても管理することが可能となる。
【００４０】
対象ファイルの選択肢には、例えば端末１０上に存在するファイルの種類が一覧表示される。全ての選択肢を選択した場合、ファイルの種類を問わずすべてのファイルが監視及び制御の対象となるが、選択されている種類が多ければ処理の負荷はそれだけ大きくなる。そこで、保護情報が含まれている可能性が低いファイルの種類が事前に判明している場合は、事前にその種類を対象から除外しておくことにより、ファイル管理プログラム１００の実行に伴いＣＰＵに掛かる負荷を軽減しレスポンスを向上させることができる。
【００４１】
また、ファイル操作で指定されたファイルが要保護ファイルであるか否かを判定するための条件として、保護情報として検出する項目及び各項目に対する閾値を設定させる。例えば、ファイル内にメールアドレスとして識別される記載が１０箇所以上ある場合に要保護ファイルとして扱いたい場合には、「メールアドレス」を選択し、これに対する閾値に「１０」を設定する。検出する項目の機密度、ひいては保護の必要性が高いほど閾値には小さな値を設定するのが好ましい。例えば、図４では「マイナンバー（社会保障・税番号：以下同じ。）」に対する閾値が「１」と設定されているが、これはファイル内にマイナンバーとして識別される記載が１箇所でも存在する場合には要保護ファイルとして判定することを意味する。
【００４２】
さらに、指定されたファイルが要保護ファイルであると判定された場合に実行する制御方法についてもポリシーでの事前設定を可能としている。例えば、ファイルのコピーイベントが検知され、コピーで指定されたファイルが要保護ファイルと判定された場合の制御方法として、管理者は「コピーを許可しない」「暗号化したファイルをコピーする」「平文のままコピーする」のうちいずれかの動作を選択することができる。
【００４３】
図５は、ファイル管理プログラム１００によるファイル管理処理及びイベント監視処理の手順例を示すフローチャートである。
【００４４】
図５中（Ａ）は、ファイル管理処理の手順例を示すフローチャートである。ファイル管理処理は、端末１０のＯＳ起動に伴いその動作を開始し、意図的に強制終了されない限りは端末１０がシャットダウンするまで動作し続ける。なお、フローチャートに示された各処理を実行するのはファイル管理プログラム１００であるが、ファイル管理プログラム１００を動作させる主体は端末１０のＣＰＵ１２であり、厳密にはＣＰＵ１２がフローチャートに示された各処理をファイル管理プログラム１００の有する各機能部に実行させる。
【００４５】
ステップＳ２００：ＣＰＵ１２がイベント監視部１２０にイベント監視処理を実行させる。イベント監視処理はイベント監視部１２０がイベントを検知する毎に実行され、実行を終えると、再びＣＰＵ１２によりイベント監視処理が呼び出される。つまり、端末１０のＯＳが起動している間は終始イベント監視処理が無限ループして呼び出され、これにより端末１０で発生するイベントが常にイベント監視部１２０により監視される。
【００４６】
図５中（Ｂ）は、イベント監視処理の手順例を示すフローチャートである。以下、手順例に沿って説明する。
ステップＳ２１０：ＣＰＵ１２はイベント監視部１２０に、端末１０で発生したイベントを検知させる。
ステップＳ２２０：ＣＰＵ１２はイベント監視部１２０に、前ステップで検知したイベントがファイルのコピー、削除、移動の３つの操作のいずれかに該当するか否かを確認させる。３つの操作のいずれかに該当する場合は（Ｙｅｓ）、ＣＰＵ１２は次にステップＳ３００を実行する。いずれの操作にも該当しない場合（Ｎｏ）、ＣＰＵ１２はファイル管理処理に復帰する。
ステップＳ３００：ＣＰＵ１２は、ファイル管理メイン処理を実行したのち、ファイル管理処理に復帰する。ファイル管理メイン処理の詳細は後述する。
なお、ＣＰＵ１２がファイル管理処理に復帰すると、再びイベント監視処理（ステップＳ２００）を呼び出して次に発生するイベントの検知に備える。
【００４７】
図６は、ファイル管理メイン処理の手順例を示すフローチャートである。以下、手順例に沿って説明する。
【００４８】
ステップＳ３０２：ＣＰＵ１２はイベント詳細確認部１３０に、ファイル操作で指定されたファイルの属性情報、より具体的には、ファイルの所在（格納場所）及び種類を確認させる。
ステップＳ３０４：ＣＰＵ１２はイベント詳細確認部１３０に、指定されたファイルの格納場所が、対象デバイス内であるか否かを確認させる。対象デバイス内に格納されている場合（Ｙｅｓ）、ＣＰＵ１２は次にステップＳ３０６を実行する。対象デバイス外に格納されている場合（Ｎｏ）、ＣＰＵ１２は次にステップＳ３２８を実行する。
【００４９】
ステップＳ３０６：ＣＰＵ１２はイベント詳細確認部１３０に、指定されたファイルの種類がファイル管理プログラム１００によるファイル管理の対象に該当するかを確認させる。ファイルの種類が管理対象に該当する場合（Ｙｅｓ）、ＣＰＵ１２は次にステップＳ３０８を実行する。ファイルの種類が管理対象外である場合（Ｎｏ）、ＣＰＵ１２は次にステップＳ３２８を実行する。
ステップＳ３０８：ＣＰＵ１２は、ファイル受信部１４０に指定されたファイルを受信して一時保存させた上でファイル検査部１５０にそのファイルが要保護ファイルであるかの検査を実行させ、ログ記録部１６０に検査結果を記録させる。ファイル検査処理の詳細は後述する。
ステップＳ３１０：ＣＰＵ１２は、ファイル検査部１５０によるファイル検査の結果を確認する。要保護ファイルと判定された場合（Ｙｅｓ）、ＣＰＵ１２は次にステップＳ３１２を実行する。要保護ファイルではないと判定された場合（Ｎｏ）、ＣＰＵ１２は次にステップＳ３２８を実行する。
【００５０】
ステップＳ３１２：ＣＰＵ１２は操作制御部１７０に、検知したイベントがファイルのコピー又は移動によるものであるかを確認させる。コピー又は移動によるものである場合（Ｙｅｓ）、ＣＰＵ１２は次にステップＳ３１４を実行する。コピー又は移動以外のファイル操作、すなわち削除によるものである場合（Ｎｏ）、ＣＰＵ１２は次にステップＳ３１６を実行する。
【００５１】
ステップＳ３１４：ＣＰＵ１２は操作制御部１７０に、ファイル管理プログラム１００により要保護ファイルの操作が許可されているか否かを確認させる。より具体的には、操作制御部１７０がポリシー管理部１１０に問い合わせを行い、事前に管理者によるポリシー設定がなされている場合はその設定内容を取得し、ポリシーが未設定の場合にはプログラム上で指定された初期値を取得することにより、要保護ファイルのコピー可否を確認する。コピーが許可されている場合（Ｙｅｓ）、ＣＰＵ１２は次にステップＳ３１８を実行する。コピーが許可されていない場合（Ｎｏ）、ＣＰＵ１２は次にステップＳ３２０を実行する。
【００５２】
ステップＳ３１６：ＣＰＵ１２は操作制御部１７０に、ファイルの操作（削除）を本当に実行するかをユーザに問うアラートメッセージを表示して（アラート出力部１８０）、ユーザからの回答を受け付けさせる。ユーザは、アラートメッセージの下方に表示された操作ボタンを押下することにより、実行するか否かを回答する。このようにしてユーザからの回答を受け付けることにより、ユーザがファイルの操作を誤って実行しようとしていた場合にその操作をキャンセルする機会を与えることができる。ユーザにより実行するとの回答がなされた場合（Ｙｅｓ）、ＣＰＵ１２は次にステップＳ３２２を実行する。実行しないとの回答がなされた場合（Ｎｏ）、ＣＰＵ１２はイベント監視処理に復帰する。
【００５３】
ステップＳ３１８：ＣＰＵ１２は操作制御部１７０に、ファイルの操作に際し指定されたファイルの暗号化が必要であるか否かを確認させる。より具体的には、操作制御部１７０がポリシー管理部１１０に問い合わせを行い、事前に管理者によるポリシー設定がなされている場合はその設定内容を取得し、ポリシーが未設定の場合にはプログラム上で指定された初期値を取得することにより、暗号化の要不要を確認する。暗号化が必要である場合（Ｙｅｓ）、ＣＰＵ１２は次にステップＳ３２４を実行する。暗号化が不要である場合（Ｎｏ）、ＣＰＵ１２は次にステップＳ３２６を実行する。
【００５４】
ステップＳ３２０：ＣＰＵ１２は操作制御部１７０に、ファイル管理プログラム１００が要保護ファイルの操作を許可していない旨、ひいては実行しようとした操作が拒否され強制的にキャンセルされたことを知らせるアラートメッセージを表示させる（アラート出力部１８０）。このように、要保護ファイルの操作が拒否されることにより、機密度の高いファイルが外部に持ち出されて情報漏洩する危険性を未然に回避することが可能となる。
ステップＳ３２２：ＣＰＵ１２は操作制御部１７０に、ファイルの操作（削除）を実行させる。
【００５５】
ステップＳ３２４：ＣＰＵ１２は操作制御部１７０に、指定されたファイルを暗号化した上で操作する旨を知らせるアラートメッセージを表示した上で（アラート出力部１８０）、ファイルの暗号化処理を実行させる（ファイル暗号化部１９０）。
例えば、公開鍵暗号方式を用いて暗号化した場合、端末１０は暗号化されたファイルを復号するための秘密鍵を有しており、暗号化処理がなされたファイルを読み取ることができる。ところが、暗号化されたファイルが仮に他のデバイスにコピーされた場合は、そのデバイス上に秘密鍵がセットされていない限りファイルを読み取ることができない。
【００５６】
したがって、ファイルを暗号化した上で操作を行うよう制御することにより、このファイルの利用を特定の環境内に制限することができる。こうすることで、操作したファイルが知らぬ間に他のデバイスにコピーされ予期しない場所で情報漏洩が生じる可能性を抑制することが可能となる。
【００５７】
ステップＳ３２６：ＣＰＵ１２は操作制御部１７０に、指定されたファイルを平文のまま操作する旨を知らせるアラートメッセージを表示させる（アラート出力部１８０）。
ステップＳ３２８：ＣＰＵ１２は操作制御部１７０に、前ステップまでに実行された処理を受けてファイルの操作（コピー、移動又は削除）を実行させる。
以上の処理を終えると、ＣＰＵ１２はイベント監視処理（図５中（Ｂ））に復帰する。
【００５８】
図７は、ファイル管理プログラム１００がサーバ２０から端末１０へのファイルコピー操作を制御する際の動作例を示すシーケンス図である。コンピュータ間でパケットを送受信する際に事前に行われるプロトコルのネゴシエーションやセッション確立に相当するステップについては一般的事項であるため記載を省略している。以下、動作例に沿って説明する。
【００５９】
端末１０で起動したファイルエクスプローラがサーバ２０上に存在する特定のフォルダを開こうとすると、端末１０からサーバ２０に対してファイル一覧を要求するコマンドが送信される（Ｓ１１）。このコマンドが発行されたとき、ファイル管理プログラム１００は端末１０でのイベント発生を検知するが、ファイルのコピー、移動又は削除のいずれかの操作に該当するイベントではないためそのままスルーする（Ｓ１２）。サーバ２０は、端末１０から受信した要求に応じ指定されたフォルダのファイル一覧を端末１０に送信する（Ｓ１３）。これにより、端末１０のファイルエクスプローラ上にはサーバ２０から返されたファイル一覧が表示される。
【００６０】
ファイルエクスプローラ上に表示されたファイル一覧の中からユーザがいずれかのファイルを選択し、そのファイルを端末１０のローカルフォルダ（内部格納領域内に設けられたフォルダ）にドラッグ＆ドロップすると、今度は端末１０からサーバ２０に対して選択したファイルのコピーを要求するコマンドが送信される（Ｓ１４）。このコマンドの発行に伴い、ファイル管理プログラム１００はファイルコピーのイベントが端末１０で発生したことを検知する（Ｓ１５）。このイベントはファイル管理プログラム１００が管理すべきイベントであるため、ファイル管理プログラム１００はコマンド送信時に付されたＩＤを保持してその後の処理に控える。サーバ２０は、端末１０から受信した要求に応じコピー対象として指定されたファイルを端末１０に送信する（Ｓ１６）。このファイルを送信する際には、Ｓ１４において端末１０からサーバ２０に対しコマンドを送信した際と同一のＩＤが付されているため、Ｓ１４での要求に対する応答として送信されたものであると識別することができる。
【００６１】
そこで、ファイル管理プログラム１００は、サーバ２０からＳ１４への応答として送信されたファイルの検査を実行する（Ｓ１７）。検査の結果、このファイルが要保護ファイルであると判明した場合、ファイル管理プログラム１００は、ポリシー設定に沿ってファイルコピーの制御を行う（Ｓ１８）。例えば、管理者により要保護ファイルは暗号化してコピーするようポリシー設定がなされている場合には、指定されたファイルが要保護ファイルである旨及び暗号化した上でコピーを行う旨をユーザに知らせるアラートメッセージを端末１０のディスプレイ１４に表示したのち、暗号化した上でファイルのコピーを実行する（Ｓ１９）。
【００６２】
図８は、ファイル管理プログラム１００が実行する制御によりディスプレイ１４に表示されるアラートメッセージの例を表した図である。
【００６３】
図８中（Ａ）：端末１０でサーバ２０に保存されているファイルを端末１０にコピーする際にディスプレイ１４に表示される内容を表した図である。この図に示されるように、このとき端末１０ではファイルエクスプローラが２つ起動されており、各々の上部に表示されているフォルダのパスから、左上のファイルエクスプローラではサーバ２０のフォルダが、右下のファイルエクスプローラでは端末１０のローカルフォルダが、それぞれ開かれていることが分かる。サーバ２０のフォルダには３つのファイルが格納されており、このうち右側に表示されているファイルアイコンがマウスで選択され、端末１０のローカルフォルダにドラッグ＆ドロップされることによりこのファイルがコピーされつつある。この後でマウスボタンの押下が解除されると、ファイル管理プログラム１００はファイルコピーのイベントを検知し、コピーしようとしたファイルの検査を実行する。
【００６４】
検査したファイルが要保護ファイルであると判定された場合、ファイル管理プログラム１００はポリシー設定に基づいてコピー操作の制御を実行する。このとき、制御を実行する直前に、制御内容をユーザに知らせるアラートメッセージをディスプレイ１４の最前面に表示する。
【００６５】
図８中（Ｂ）：要保護ファイルと判定された場合に実行する制御として、ポリシー設定では前述のように「操作をキャンセルする」「暗号化したファイルを操作する」「平文のまま操作する」のうちいずれかの動作を選択することが可能である。このうち、「操作をキャンセルする」が選択されている場合は、操作しようとしたファイルに保護情報が含まれているために操作が拒否された旨のアラートメッセージを表示する。ファイル管理プログラム１００が動作している間は端末１０にこのファイルをコピー又は移動することが不可能であるため、やむを得ずファイルが必要な場合には別の手段が求められる。そのため、必要に応じ管理者に問い合わせるよう促すメッセージも併記している。
【００６６】
図８中（Ｃ）：ポリシー設定で「暗号化したファイルを操作する」が選択されている場合は、操作しようとしたファイルに保護情報が含まれているため暗号化した上で操作を行う旨のアラートメッセージを表示する。
【００６７】
図８中（Ｄ）：図８中（Ａ）の左上に示されたファイルエクスプローラに表示されているファイルアイコンのうちいずれかが選択された状態でＤｅｌｅｔｅキーが押下されると、ファイル管理プログラム１００はファイル削除のイベントを検知し、削除しようとしたファイルの検査を実行する。検査したファイルが要保護ファイルであると判定された場合、ファイル管理プログラム１００は、本当に削除して問題がないか（操作を継続するかキャンセルするか）をユーザに問うアラートメッセージを表示する。このアラートメッセージには［ＯＫ］及び［キャンセル］の２種類のボタンが設けられており、ファイル管理プログラム１００は、ユーザによるいずれかのボタンの押下を受けて選択されたファイルの削除の実行又はキャンセルを行う。
【００６８】
〔第２実施形態：ユーザ端末と外部デバイスとを中継する機器上で動作するファイル管理プログラム〕
図９は、第２実施形態のファイル管理プログラム６００が動作する環境の概念図である。この環境は、端末１０とサーバ２０とがネットワーク３０を介して相互にアクセスが可能である点においては第１実施形態のファイル管理プログラム１００の動作環境と同様であるが、端末１０とサーバ２０との間に中継装置６０が存在している点、さらにファイル管理プログラム６００が端末１０ではなく中継装置６０上で動作する点が異なっている。図９に示される環境もまた、複数のコンピュータ機器類を中継する機器を用いたファイル管理システムを構成している。
【００６９】
中継装置６０は、例えば中継コンピュータであり、端末１０とサーバ２０との間で送受信される全てのパケットを中継する機能を有している。第２実施形態のファイル管理プログラム６００は中継装置６０上で動作し、端末１０とサーバ２０との間で送受信されるパケットのうち、特にファイル操作に関するパケットを監視及び制御することにより、ユーザによりなされるファイル操作の監視及び制御を実行する。
【００７０】
図１０は、第２実施形態のファイル管理プログラム６００が動作するコンピュータの構成図である。ファイル管理プログラム６００は、中継装置６０のカーネル空間で動作する（より正確には、中継装置６０のＣＰＵ６２がファイル管理プログラム６００を動作させる）。ファイル管理プログラム６００は、ネットワーク３０を介して端末１０とサーバ２０との間で送受信されるファイル操作に関するパケットを常時監視し、必要に応じてそのファイル操作の制御を行う。
【００７１】
例えば、ユーザが端末１０でファイルエクスプローラを起動してサーバ２０のフォルダを開き、一覧表示されたファイルのうちいずれかを選択して端末１０のローカルフォルダにコピーする操作を行った場合、選択したファイルのコピーを要求するパケットが端末１０からサーバ２０に向けて送信される。すると中継装置６０では、ファイル管理プログラム６００がこのパケットをキャプチャし、ユーザによりファイルのコピーが行われようとしていることを検知する。サーバ２０がこのパケットを受信すると、サーバ２０のＣＰＵ２２が指定されたファイルパスの解釈等を行った上で要求されたファイルを端末１０に向けて送信する。
【００７２】
端末１０から受信した要求に対する応答に当たるパケットがサーバ２０から送信されたことを中継装置６０が検知すると、ファイル管理プログラム６００が端末１０に向けて送信されたファイルを中継装置６０の内部格納領域に一旦バッファする。ファイル管理プログラム６００はこのファイルが要保護ファイルであるか否かの検査を行い、要保護ファイルであると判定された場合には、端末１０向けに送信されたパケットに改変を加えることにより、ユーザによりなされたファイルコピーの操作に対し所定の制御を実行することとなる。
【００７３】
なお実際には、ネットワーク３０には端末１０及びサーバ２０以外のコンピュータや外部記憶装置等も接続されており、これらの装置も含め相互間でパケットの送受信がなされるが、発明の理解を容易とするために、ここでは端末１０及びサーバ２０のみが接続された状態で、パケットの送受信が両者間でのみ発生し得るものと仮定して説明する。また、ファイル管理プログラム６００による処理内容については、詳しく後述する。
【００７４】
図１１は、第２実施形態のファイル管理プログラム６００の機能ブロック図である。この図に示されるように、ファイル管理プログラム６００は、ポリシー管理部６１０、パケット監視部６２０、パケット詳細確認部６３０、ファイル受信部６４０、ファイル検査部６５０、ログ記録部６６０、操作制御部６７０、アラート出力部６８０及びファイル暗号化部６９０を有している。このうち、ポリシー管理部６１０は、ポリシー設定の保存先が中継装置６０の内部記憶領域であることを除いては第１実施形態のファイル管理プログラム１００の機能ブロック図（図３）におけるポリシー管理部１１０と共通するため、ここではその説明を省略する。また、その他の機能部についても、共通する内容は省略する。
【００７５】
パケット監視部６２０は、中継装置６０で中継するパケットのうちファイル操作に係るパケットの監視を行う。具体的には、ファイルのコピー、移動及び削除に対応するパケットを常時監視する。
【００７６】
パケット詳細確認部６３０は、パケット監視部が検知したパケットの送信元が監視対象とする操作元コンピュータであるか否か、ファイル操作の対象として指定されたファイルが監視対象とするデバイス内に格納されているか否か、監視対象とするファイルの種類であるか否かを判定する。なお、監視対象とする操作元コンピュータやデバイス、ファイルの種類については、ポリシー管理部６１０に問い合わせて管理者による設定内容又はプログラムの初期値を参照することにより確認する。
【００７７】
ファイル受信部６４０は、パケット詳細確認部６３０により監視対象に該当することが確認されたファイルを、このファイルが送信されたパケットをキャプチャすることにより取得し、中継装置６０の内部格納領域に一時保存する。
【００７８】
ファイル検査部６５０は、ファイル受信部６４０により一時保存されたファイルの内容を精査し、このファイルが要保護ファイルであるかを検査する。要保護ファイルであるか否かを判定する上で必要となる情報は、ポリシー管理部６１０に問い合わせて取得する。
【００７９】
ログ記録部６６０は、ファイル検査部６５０により実行されたファイルの検査結果を中継装置６０の内部記憶領域に保存されているログファイルに追記する。ログファイルには、検査実行日時、ファイル操作の種類、操作元コンピュータ、操作対象に指定されたファイルの名称及び所在（コピー元ファイルのＵＮＣパス）、各検出項目の記載箇所数、判定結果（要保護ファイルか否か）等が検査単位で記録される。
【００８０】
操作制御部６７０は、ファイル検査部６５０により実行された検査において操作対象のファイルが要保護ファイルであると判定された場合に、その操作に対し所定の制御を行う。制御内容は、ポリシー管理部６１０に問い合わせて取得する。
アラート表示部６８０及びファイル暗号化部６９０は、操作制御部６７０によりなされるファイル操作に対する制御の過程で必要に応じて作動する補助機能である。アラート出力部６８０はアラートメッセージを操作元コンピュータのディスプレイ上に表示し、ファイル暗号化部１９０はコピーの前処理としてファイルの暗号化を行う。
【００８１】
図１２は、ポリシー管理部６１０により提供される設定画面の例を表した図である。この図に示されるように、設定画面にはファイル管理プログラム６００がファイル操作の監視及び制御を実行する上で必要となる事項が表示される。管理者は、この設定画面を通じてファイル操作の監視及び制御に関するポリシーを事前に設定することができる。
【００８２】
この図に示されるように、ここで設定可能なポリシー項目は、第１実施形態のファイル管理プログラム１００におけるポリシー管理部１１０（図４）の場合とは若干異なっている。本実施形態のファイル管理プログラム６００におけるポリシー管理部６１０では、監視対象とする操作元コンピュータを指定することが可能である。
【００８３】
ユーザの操作によってコピーされた保護ファイルが外部へ持ち出されることにより発生し得る情報漏洩を未然に回避するための制御という観点では、ユーザがファイル操作を行う端末１０等のコンピュータ（以下、「ユーザ端末」と称する場合がある。）すなわちサーバを除く全てのコンピュータを監視対象とし、サーバからユーザ端末への下り方向のファイル操作を制御することが少なくとも必須となる。しかしながら、例えばサーバ上で管理者がファイル操作を行うことによりサーバ上のファイルをユーザ端末にコピーする場合も有り得るため、下り方向のファイル操作を完全に制御するためには、サーバも含めた全てのコンピュータを監視対象とする必要がある。
【００８４】
ポリシー管理部６１０により提供される設定画面で、監視対象とする操作元コンピュータとして「全てのコンピュータ」を選択すると、ユーザ端末上で実行されるファイル操作に加え、サーバコンピュータ上で実行されるファイル操作も、ファイル管理プログラム６００による監視及び制御の対象とすることができる。
【００８５】
また、要保護ファイルの制御方法も、第１実施形態における選択肢とは若干異なっている。本実施形態においては、操作で指定されたファイルが要保護ファイルであると判定された場合に実行する制御として、「操作を許可しない（パケットを破棄してアラート出力）」「暗号化したファイルを操作させる」「平文のまま操作させる」のうちいずれかの動作を選択することができる。
【００８６】
なお、当該設定事項において、第１実施形態の選択肢を「操作する」としたのに対し（図４）、本実施形態においては「操作させる」と使役形で表現している。これは、第１実施形態と本実施形態とでファイル管理プログラムの動作主体が異なるためである。第１実施形態においては、ファイル管理プログラム１００が端末１０にインストールされており、ファイル管理プログラム１００と同一の主体（ＣＰＵ１２）が最終的なファイル操作を実行する。これに対し、本実施形態においては、ファイル管理プログラム６００が端末１０とは異なる環境（中継装置６０）にインストールされており、指定されたファイルを最終的に操作する主体がファイル管理プログラム６００の動作主体（ＣＰＵ６２）とは異なる主体であり、ファイル管理プログラム６００が間接的に作用して最終的なファイル操作を実行させる。
【００８７】
本実施形態のファイル管理プログラム６００は、ユーザによりファイル操作が行われるコンピュータとは異なる場所（中継装置６０）で動作するものであるため、操作で指定されたファイルがユーザのコンピュータに到着する前の段階で制御を実現させなければならない。そこで、操作で指定されたファイルがパケットとしてユーザのコンピュータに送信されるのを中継装置６０上で監視し、パケットで指定されている宛先（ユーザのコンピュータ）には直ちに送信させずに中継装置６０上で一旦バッファする。そして、バッファしたファイルを検査し要保護ファイルであると判定された場合には、ポリシー設定されている制御方法に沿ってバッファしたパケットに改変を加え、改変前のパケットで指定されていた宛先に改変後のパケットを送信することにより、ファイル操作の制御を実現させる。
【００８８】
図１３は、第２実施形態のファイル管理プログラム６００による中継ファイル管理処理及び中継パケット監視処理の手順例を示すフローチャートである。
【００８９】
図１３中（Ａ）は、中継ファイル管理処理の手順例を示すフローチャートである。中継ファイル管理処理は、中継装置６０のＯＳ起動に伴いその動作を開始し、意図的に強制終了されない限りは中継装置６０がシャットダウンするまで動作し続ける。なお、フローチャートに示す各処理を実行するのはファイル管理プログラム６００であるが、ファイル管理プログラム６００を動作させる主体は中継装置６０のＣＰＵ６２であるため、以下の説明ではＣＰＵ６２が各処理を実行するものとして説明する。
【００９０】
ステップＳ７００：ＣＰＵ６２は、中継パケット監視処理を実行する。中継パケット監視処理はＣＰＵ６２がパケットを検知する毎に実行され、実行を終えると、再び中継パケット監視処理が呼び出される。つまり、中継装置６０のＯＳが起動している間は終始イベント監視処理が無限ループして呼び出され、これにより中継装置６０が中継するパケットが常にＣＰＵ６２により監視される。
【００９１】
図１３中（Ｂ）は、中継パケット監視処理の手順例を示すフローチャートである。以下、手順例に沿って説明する。
ステップＳ７１０：ＣＰＵ６２はパケット監視部６２０に、中継装置６０で中継したパケットを検知させる。
ステップＳ７２０：ＣＰＵ６２はパケット詳細確認部６３０に、前ステップで検知したパケットがファイルのコピー、削除、移動の３つの操作のいずれかに該当するものであるか否かを確認させる。３つの操作のいずれかに該当する場合（Ｙｅｓ）、ＣＰＵ６２は次にステップＳ７３０を実行する。いずれの操作にも該当しない場合（Ｎｏ）、ＣＰＵ６２は中継ファイル管理処理に復帰する。
【００９２】
ステップＳ７３０：ＣＰＵ６２はパケット詳細確認部６３０に、検知したパケットの送信元コンピュータがファイル管理プログラム６００による監視対象であるかを確認させる。監視対象である場合（Ｙｅｓ）、ＣＰＵ６２は次にステップＳ８００を実行する。監視対象でない場合（Ｎｏ）、ＣＰＵ６２は中継ファイル管理処理に復帰する。
ステップＳ８００：ＣＰＵ６２は、中継ファイル管理メイン処理を実行したのち、中継ファイル管理処理に復帰する。中継ファイル管理メイン処理の詳細は後述する。
なお、ＣＰＵ６２が中継ファイル管理処理に復帰すると、再び中継パケット監視処理（ステップＳ７００）を呼び出して次に中継するパケットの検知に備える。
【００９３】
図１４は、第２実施形態のファイル管理プログラム６００による中継ファイル管理メイン処理の手順例を示すフローチャートである。
【００９４】
ステップＳ８０２：ＣＰＵ６２はパケット詳細確認部６３０に、ファイル操作で指定されたファイルの属性情報、より具体的には、ファイルの所在（格納場所）及び種類を確認させる。なお、ここでいう「ファイル操作」とは、中継ファイル管理メイン処理の呼び出し元である中継パケット監視処理（図１３中（Ｂ））の過程でパケットの監視により検知したファイル操作を指す。
【００９５】
ステップＳ８０４：ＣＰＵ６２はパケット詳細確認部６３０に、指定されたファイルの格納場所が対象デバイス内であるか否かを確認させる。対象デバイス内に格納されている場合（Ｙｅｓ）、ＣＰＵ６２は次にステップＳ８０６を実行する。対象デバイス外に格納されている場合（Ｎｏ）、ＣＰＵ６２は中継パケット監視処理に復帰する。
【００９６】
ステップＳ８０６：ＣＰＵ６２はパケット詳細確認部６３０に、指定されたファイルの種類がファイル管理プログラム６００によるファイル管理の対象に該当するかを確認させる。ファイルの種類が管理対象に該当する場合（Ｙｅｓ）、ＣＰＵ６２は次にステップＳ８０８を実行する。ファイルの種類が管理対象外である場合（Ｎｏ）、ＣＰＵ６２は中継パケット監視処理に復帰する。
【００９７】
ステップＳ８０７：ＣＰＵ６２はファイル受信部６４０に、指定されたファイルを操作元コンピュータに送信するパケットをバッファさせ、パケットに格納されているファイルを取り出し中継装置６０の内部格納領域に一時保存させる。
【００９８】
ステップＳ８０８：ＣＰＵ６２はファイル検査部６５０に、前ステップで一時保存されたファイルが要保護ファイルであるかを検査させ、ログ記録部６６０に検査結果を記録させる。ファイル検査処理の詳細は後述する。
【００９９】
ステップＳ８１０：ＣＰＵ６２は、ファイル検査部６５０によるファイル検査の結果を確認する。要保護ファイルと判定された場合（Ｙｅｓ）、ＣＰＵ６２は次にステップＳ８１２を実行する。要保護ファイルではないと判定された場合（Ｎｏ）、ＣＰＵ６２は次にステップＳ８２８を実行する。
【０１００】
ステップＳ８１２：ＣＰＵ６２は操作制御部６７０に、検知したパケットがファイルのコピー又は移動の操作により送信されたものであるかを確認させる。コピー又は移動の操作によるものである場合（Ｙｅｓ）、ＣＰＵ６２は次にステップＳ８１４を実行する。コピー又は移動のファイル操作、すなわち削除により送信されたものである場合（Ｎｏ）、ＣＰＵ６２は次にステップＳ８１６を実行する。
【０１０１】
ステップＳ８１４：ＣＰＵ６２は操作制御部６７０に、ファイル管理プログラム６００により要保護ファイルの操作が許可されているか否かを確認する。より具体的には、操作制御部６７０がポリシー管理部６１０に問い合わせを行い、事前にポリシー設定がなされている場合はその設定内容を取得し、ポリシー設定がなされていない場合にはプログラム上で指定されている初期値を取得することにより、要保護ファイルの操作の可否を確認する。操作が許可されている場合（Ｙｅｓ）、ＣＰＵ６２は次にステップＳ８１８を実行する。操作が許可されていない場合（Ｎｏ）、ＣＰＵ６２は次にステップＳ８２０を実行する。
【０１０２】
ステップＳ８１６：ＣＰＵ６２は操作制御部６７０に、ファイルの操作（削除）を本当に実行するかをユーザに問うアラートメッセージを送信させ（アラート表示部６８０）、ユーザからの回答を受け付けさせる。ユーザは、アラートメッセージの下方に表示された操作ボタンを押下することにより、実行するか否かを回答する。このようにしてユーザからの回答を受け付けることにより、ユーザがファイルの削除を誤って実行しようとしていた場合にその操作をキャンセルする機会を与えることができる。ユーザにより実行するとの回答がなされた場合（Ｙｅｓ）、ＣＰＵ６２は次にステップＳ８２２を実行する。実行しないとの回答がなされた場合（Ｎｏ）、ＣＰＵ６２は中継パケット監視処理に復帰する。
【０１０３】
ステップＳ８１８：ＣＰＵ６２は操作制御部６７０に、ファイルの操作に際し指定されたファイルの暗号化が必要であるか否かを確認する。より具体的には、操作制御部６７０がポリシー管理部６１０に問い合わせを行い、事前に管理者によるポリシー設定がなされている場合はその設定内容を取得し、ポリシー設定がなされていない場合にはプログラム上で指定された初期値を取得することにより、暗号化の要不要を確認する。暗号化が必要である場合（Ｙｅｓ）、ＣＰＵ６２は次にステップＳ８２４を実行する。暗号化が不要である場合（Ｎｏ）、ＣＰＵ６２は次にステップＳ８２６を実行する。
【０１０４】
ステップＳ８２０：ＣＰＵ６２は操作制御部６７０に、ファイル管理プログラム６００が要保護ファイルの操作を許可していない旨、ひいては実行しようとした操作が強制的にキャンセルされたことを知らせるアラートメッセージを送信させる。
ステップＳ８２１：ＣＰＵ６２は操作制御部６７０に、ステップＳ８０８でファイル受信部６４０にバッファさせた操作元コンピュータ宛のパケットを破棄させる。これにより、操作元コンピュータから送信された操作要求への応答として返されたパケットは操作元コンピュータには到着しないため、指定されたファイルが操作元コンピュータにコピーされるのを阻止することができる。
【０１０５】
ステップＳ８２２：ＣＰＵ６２は操作制御部６７０に、ステップＳ８０８でファイル受信部６４０によりバッファされた操作元コンピュータ宛のパケットを送信させることにより、ファイルの操作（削除）を実行させる。
【０１０６】
ステップＳ８２４：ＣＰＵ６２は操作制御部６７０に、指定されたファイルを暗号化した上で操作する旨を知らせるアラートメッセージを送信させた上で（アラート出力部６８０）、ステップＳ８０８でファイル受信部により一時保存されたファイルの暗号化処理を実行させる（ファイル暗号化部６９０）。
【０１０７】
ステップＳ８２５：ＣＰＵ６２は操作制御部６７０に、ステップＳ８０７でバッファされたパケットを改変し、改変前のパケットに格納されていた平文状態のファイルを前ステップで暗号化したファイルに置き換える。
ステップＳ８２６：ＣＰＵ６２は操作制御部６７０に、指定されたファイルを平文のまま操作する旨を知らせるアラートメッセージを送信させる（アラート出力部６８０）。
ステップＳ８２８：ＣＰＵ６２は操作制御部６７０に、ステップＳ８０７でバッファされたパケット（ステップＳ８２５を経ている場合には、このパケットに格納されていたファイルを暗号化ファイルに置き換えたパケット）を送信させる。これにより、パケットがファイル操作の操作元コンピュータに到着することにより、ファイルの操作（コピー、移動又は削除）が実行される。
以上の処理を終えると、ＣＰＵ６２は中継パケット監視処理（図１３中（Ｂ））に復帰する。
【０１０８】
図１５は、第２実施形態のファイル管理プログラム６００がサーバ２０から端末１０へのファイルコピー操作を制御する際の動作例を示すシーケンス図である。以下、動作例に沿って説明する。
【０１０９】
端末１０で起動したファイルエクスプローラがサーバ２０上に存在する特定のフォルダを開こうとすると、端末１０がサーバ２０に対してファイル一覧を要求するコマンドを発行する（Ｓ６１）。このコマンドが発行されると、中継装置６０上で動作しているファイル管理プログラム６００が端末１０からサーバ２０に向けて送信されたパケットを検知するが、ファイルのコピー、移動又は削除のいずれかの操作に該当するパケットではないためそのままスルーする（Ｓ６２）。
【０１１０】
サーバ２０は、端末１０から受信した要求に応じ指定されたフォルダのファイル一覧を端末１０に送信する（Ｓ６３）。ファイル管理プログラム６００はサーバ２０から端末１０に向けて送信されたパケットを検知するが、今回も上記のファイル操作には該当しないためスルーする（Ｓ６４）。このパケットが端末１０に到着すると、端末１０のファイルエクスプローラ上にはサーバ２０から返されたファイル一覧が表示される。
【０１１１】
端末１０でファイルエクスプローラ上に表示されたファイル一覧の中から、ユーザがいずれかのファイルを選択し、そのファイルを端末１０のローカルフォルダにドラッグ＆ドロップすると、今度は選択したファイルのコピーを要求するコマンドが端末１０からサーバ２０に向けて送信される（Ｓ６５）。このコマンドの発行に伴い、ファイル管理プログラム６００がファイルコピーのパケットが端末１０から送信されたことを検知する（Ｓ６６）。このパケットはファイル管理プログラム６００の管理対象に該当するため、ファイル管理プログラム６００はコマンド送信時のパケットに付されたＩＤを保持してその後の処理に控える。
【０１１２】
サーバ２０は、端末１０からのパケットを受信し、要求に対する応答としてコピー対象として指定されたファイルを端末１０に送信する（Ｓ６７）。このファイルを送信する際のパケットには、ステップＳ６５において端末１０からサーバ２０に対しコマンドを送信した際のパケットと同一のＩＤが付されているため、ステップＳ６５での要求に対する応答として送信されたものであることをファイル管理プログラム６００が識別することができる。
【０１１３】
そこで、ファイル管理プログラム６００は、サーバ２０からステップＳ６５への応答として送信されたパケットを中継装置６０の内部記憶領域に一旦バッファし、送信されたファイルの検査を行う（Ｓ６８）。検査の結果、このファイルが要保護ファイルであると判明した場合、ファイル管理プログラム６００は、ポリシー設定に沿ってファイルコピーの制御を行う（Ｓ６９）。例えば、管理者により要保護ファイルは暗号化してコピーするようポリシー設定がなされている場合には、まず、対象のファイルが要保護ファイルであるため暗号化した上でコピーする旨のアラートメッセージを端末１０に送信する（Ｓ７０）。そして、ファイルに暗号化処理を施し、ステップ６８でバッファしたパケットに対し暗号化したファイルを送信する形への改変を加えてから端末１０に送信する（Ｓ７１）。このパケットが端末１０に到着することにより、端末１０には暗号化されたファイルがコピーされることとなる。
【０１１４】
以上のように、上述した実施形態のファイル管理プログラム１００，６００によれば、ユーザにより実行されたファイル操作が常に監視され、指定されたファイルが要保護ファイルである場合に所定の制御を実行するため、個人情報や機密情報が含まれるファイルを適切に保護することができ、こうしたファイルが予期しない経路で外部に持ち出されることにより情報漏洩に至る危険性を回避することが可能となる。
また、要保護ファイルである場合には所定の制御を実行する前に必ずその内容をユーザに知らせるアラートメッセージを表示するため、ユーザにそのファイルの取り扱いに際し注意を促すことができる。
【０１１５】
第１実施形態のファイル管理プログラム１００はユーザがファイル操作を行うコンピュータ上に、第２実施形態のファイル管理プログラム６００は中継装置上に、それぞれインストールされて動作するものであり、その他の環境に対しては特別なセットアップが不要である。したがって、動作環境の事前準備に要する時間やコストを抑制することができ、ファイル操作の監視および制御を速やかに実現させることが可能となる。
【０１１６】
本発明は、上述した実施形態に制約されることなく、種々に変形して実施することが可能である。例えば、上述の第２実施形態のファイル管理プログラム６００は中継装置としての中継コンピュータ上で動作する例として説明したが、中継装置は端末型のコンピュータに限定されない。ファイル管理プログラムが動作可能な環境であれば、端末型コンピュータ以外の中継装置（例えば、コンピュータ組み込み型のハブ等）に実装することも可能である。
【０１１７】
また、ファイル管理メイン処理の手順例において、ファイル操作として削除が検知された場合に、その操作を本当に実行するかユーザに対し意思確認のアラートメッセージを表示するとしているが、これに限定されず、コピー又は移動のファイル操作が検知された場合にも、削除の場合と同様に各操作の実行前に意思確認のアラートメッセージを表示して、ユーザからの回答に沿って実行するよう処理を構成してもよい。
【０１１８】
さらに、ポリシー管理部１１０，６１０によるポリシー設定中、検査したファイルが要保護ファイルであると判定された場合の制御方法として「操作キャンセル」「暗号化して操作」「平文のまま操作」の３つの動作からいずれかを選択可能としたが、もう一つの選択肢として「ユーザに３つの動作のうちいずれかを選択させる」を加えることも可能である。この場合、ファイル操作が実行されるたびにユーザが任意の動作を選択することとなるため、捉え方によってはセキュリティレベルが低下するようにも見える。しかしながら、例えば機密度の高い情報を日々扱う部署等においては、ファイル管理プログラムによる強制的な操作制限が業務の支障となる可能性もあり、この選択肢が１つの対策として有効に機能すると考えられる。
【符号の説明】
【０１１９】
１０  端末
２０  サーバ
３０  ネットワーク
６０  中継装置
１００，６００  ファイル管理プログラム
１１０，６１０  ポリシー管理部
１２０，６２０  監視部
１３０，６３０  詳細確認部
１４０，６４０  ファイル受信部
１５０，６５０  ファイル検査部
１６０，６６０  ログ記録部
１７０，６７０  操作制御部
１８０，６８０  アラート出力部
１９０，６９０  ファイル暗号化部
【図１】
2017083969.tif 000003
【図２】
2017083969.tif 000004
【図３】
2017083969.tif 000005
【図４】
2017083969.tif 000006
【図５】
2017083969.tif 000007
【図６】
2017083969.tif 000008
【図７】
2017083969.tif 000009
【図８】
2017083969.tif 000010
【図９】
2017083969.tif 000011
【図１０】
2017083969.tif 000012
【図１１】
2017083969.tif 000013
【図１２】
2017083969.tif 000014
【図１３】
2017083969.tif 000015
【図１４】
2017083969.tif 000016
【図１５】
2017083969.tif 000017