以下、本発明の実施形態について添付図面を参照しながら説明する。
図1は、本発明の実施形態に係るデバイス制限システム構成を概略的に示す図である。図1に示す如く、本実施形態に係るデバイス制限システムは、クライアント端末101と、管理者端末102と、管理サーバ103とが、LAN等のネットワーク(通信回線)104を介して相互に通信可能に接続された構成となっている。クライアント端末101と、管理者端末102と、管理サーバ103とは、コンピュータ等の情報処理装置で構成される。なお、クライアント端末101は、本発明の通信装置の一構成例であり、管理サーバ103は、本発明の情報処理装置の一構成例である。また、図1に示すデバイス制限システムは、本発明の情報処理システムの一構成例である。
クライアント端末101は、ユーザが利用する端末である。このクライアント端末101には、エージェントプログラムとフィルタドライバとがインストールされている。クライアント端末101は、管理サーバ103から配布される監視ポリシーにより、端末に接続されているデバイス(ハードディスクやUSBメモリ等)を制御する機能や操作ログを管理サーバ103に送信する機能を有している。
管理者端末102は、管理者が利用する端末である。この管理者端末102は、端末にインストールされているWEBブラウザを通じて管理サーバ103に接続し、システムの設定や状態を操作、閲覧する機能を有している。
管理サーバ103は、クライアント情報や監視ポリシー等のシステム情報を保持する管理サーバである。管理サーバ103は、管理者端末102に対してシステム設定画面を提供する機能、クライアント端末101からの操作ログを受信する機能、監視ポリシーを配布する機能を有している。
なお、本発明は、図1に示すシステム構成が適用可能なものではなく、クライアント端末101、管理者端末102及び管理サーバ103は、それぞれ複数台あっても構わない。
図2は、図1におけるクライアント端末101、管理者端末102及び管理サーバ103の情報処理装置のハードウェア構成を概略的に示すブロック図である。
図2において、201はCPUであり、システムバス204に接続される各デバイスやコントローラを統括的に制御する。
また、ROM202又は外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)や、サーバ或いは各クライアントの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
RAM203は、CPU201の主メモリ、ワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラム等をRAM203にロードして、プログラムを実行することで各種動作を実現するものである。
また、入力コントローラ(入力C)205は、キーボード209や不図示のマウス等のポインティングデバイスからの入力を制御する。
ビデオコントローラ(VC)206は、ディスプレイ210への表示を制御する。ディスプレイは、CRTディスプレイでも液晶ディスプレイ等でも構わない。
メモリコントローラ(MC)207は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク(HD)やフロッピーディスク(登録商標)(FD)或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等の外部メモリ211へのアクセスを制御する。
通信I/Fコントローラ(通信I/FC)208は、ネットワーク105を介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いたインターネット通信等が可能である。
なお、CPU201は、例えばRAM203内の表示情報領域へアウトラインフォントの展開(ラスタライズ)処理を実現することにより、ディスプレイ201上での表示を可能としている。また、CPU201は、ディスプレイ210上の不図示のマウスカーソル等でユーザ指示可能とする。
本発明を実現するためのプログラムは外部メモリ211に記録されており、必要に応じてRAM202にロードされることによりCPU201によって実行されるものである。さらに、本発明に係わるプログラムが用いる各種データ及び各種テーブルは外部メモリ211に格納されており、これらについての詳細な説明は後述する。
図3は、図1におけるクライアント端末101のモジュール構成を概略的に示すブロック図である。
まず、クライアント端末101は、オペレーティングシステム308とそのオペレーティングシステムで動作するプログラムである、設定用プログラム301、一時書き込みプログラム302、制御・通信サービスプログラム303、印刷監視モジュール310、フィルタドライバ(ファイルシステム)304、フィルタドライバ(CD−RW/DVDライティング)305、ファイルシステムドライバ306、CD−RW/DVDライティングドライバ307、プリンタドライバ313、デバイス309、プリンタ314で構成される。
設定用プログラム301は、エージェントプログラムの停止画面や申請画面等のユーザ操作画面を提供する。
一時書き込みプログラム302は、一時書き込み機能によりデバイスの一時利用が許可された場合、クライアント端末101に接続されたデバイスへファイルを書き出す機能を提供する。
制御・通信サービスプログラム303は、常駐プログラムとして動作し、フィルタドライバ(ファイルシステム)304とフィルタドライバ(CD−RW/DVDライティング)305とに対する動作設定、管理サーバ103から監視ポリシーを取得する機能や操作ログを送信する機能を提供する。
印刷監視モジュール310は、制御・通信サービスプログラム303内で呼び出されるモジュールで、印刷の実行を制御する機能を提供する。
フィルタドライバ(ファイルシステム)304は、ハードディスクやUSBメモリ、フロッピー(登録商標)ディスクドライブ、共有フォルダのデバイスに対するファイル操作を監視する。そして、フィルタドライバ(ファイルシステム)304は、制御・通信サービスプログラム303より設定された動作条件に基づいて、操作を禁止する機能を提供する。
フィルタドライバ(CD−RW/DVDライティング)305は、CD−R、CD−RW、DVD等の光ディスクに対する操作を監視し、制御・通信サービスプログラム303より設定された動作条件に基づいて、操作を禁止する機能を提供する。
ファイルシステムドライバ306は、オペレーティングシステム308が外部メモリ211を制御するための機能を提供する。
CD−RW/DVDライティングドライバ307は、オペレーティングシステム308がCD−R、CD−RW、DVD等の光ディスクを制御するための機能を提供する。
プリンタドライバ313は、オペレーティングシステム308がプリンタ314を制御するための機能を提供する。
プリンタ314は、字データ、画像データ及び図形データ等を紙やOHPシート等に印刷する装置を意味する。
デバイス309は、内蔵ハードディスク等のクライアント端末101に内蔵されているデバイスやネットワーク上に接続されている共有フォルダ、又は、USBメモリ、フロッピー(登録商標)ディスク、光ディスク等の取り外し可能な記憶媒体を意味する。
図4は、図1における管理者端末102のモジュール構成を概略的に示すブロック図である。
管理者端末102は、オペレーティングシステム403、そのオペレーティングシステム403上で動作するプログラムであるWEBブラウザアプリケーション401、電子メール受信アプリケーション402で構成され、図2の外部メモリ211に格納される。
管理者は、このWEBブラウザアプリケーション401を利用して管理サーバ103へ接続し、システム情報の設定や閲覧を行う機能を提供する。また、電子メール受信アプリケーション402は、管理サーバ103からの電子メールを受信する機能を提供する。
図5は、図1における管理サーバ103のモジュール構成を概略的に示すブロック図である。
管理サーバ103は、オペレーティングシステム505とそのオペレーティングシステム505上で動作するプログラムであるログ受信プログラム501、WEBサーバ502、管理用WEBアプリケーション503、データベース504で構成される。これらは、図2に示す外部メモリ211に格納される。
ログ受信プログラム501は、クライアント端末101からの操作ログを受信し、データベースに格納する機能を提供する。
管理用WEBアプリケーション503は、WEBサーバ502上で動作し、管理者端末102にインストールされているWEBブラウザアプリケーション401からの要求に対して、設定画面やシステム情報、操作ログ情報を提供する機能とクライアント端末101からの監視ポリシー取得要求に対して、監視ポリシーを配布する機能を提供する。
次に、データベース313は、設定されたシステム情報を保存したり、クライアント端末101から送信された操作ログを保存する機能を提供する。なお、上記モジュールは、図2の外部メモリ211に格納される。
図6は、本実施形態におけるデバイス制限システムの処理手順の一例を示すフローチャートである。
はじめに、図6に示す各ステップを実行する装置について説明する。まず、図6に示すステップS601乃至ステップS611の処理は、クライアント端末101のCPU201が、外部メモリ211等の記憶手段に格納された制御・通信サービスプログラム303や設定用プログラム301、印刷監視モジュール310をRAM203にロードして実行することにより実現される。
次に、図6に示すステップS621乃至ステップS625の処理は、管理サーバ103のCPU201が、外部メモリ211等の記憶手段に格納された管理用WEBアプリケーション503をRAM203にロードして実行することにより実現される。
また、図6に示すステップS626とステップS627の処理は、管理サーバ103のCPU201が、外部メモリ211等の記憶手段に格納されたログ受信プログラム501をRAM203にロードして実行することにより実現される。
最後に、図6に示すステップS651乃至ステップS653の処理は、管理者端末102のCPU201が、外部メモリ211等の記憶手段に格納されたWEBブラウザアプリケーション401と電子メール受信アプリケーション402をRAM203にロードして実行することにより実現される。以上が、図6に示す各ステップを実行する装置である。
次に、図6に示すフローチャートの各ステップについて説明する。はじめに、ステップS651、ステップS652とステップS621、ステップS622の監視ポリシー作成処理について説明する。
まず、管理者端末102のCPU201は、管理者による画面操作に基づいて、WEBブラウザアプリケーション401を起動する。
そして、管理者端末102のWEBブラウザアプリケーション401は、管理サーバ103の管理用WEBアプリケーション503に接続し、承認情報(ユーザIDやパスワード)を送信する(ステップS651)。
次に、管理サーバ103の管理用WEBアプリケーション503は、管理者端末102から送信された認証情報を受信し、認証処理を実行する(ステップS621)。ここでいう認証処理とは、IDとパスワードによる認証やスマートカード等の認証デバイスによる認証を意味する。
認証処理が成功した場合、管理者端末102のWEBブラウザアプリケーション401は、監視ポリシー(図10)を入力する監視ポリシー設定画面(図9)を表示する。逆に認証に処理が失敗した場合、管理者端末102のCPU201は、WEBブラウザアプリケーション401に承認に失敗した旨のエラーメッセージ(不図示)を表示する。
なお、監視ポリシー設定画面には、図9に示すように、監視ポリシー名の設定(0901)、監視ポリシーの説明(0902)、フロッピー(登録商標)ディスクのアクセス制御と操作ログの設定(0903)、リムーバブルディスクのアクセス制御と操作ログの設定(0904)、ローカルハードディスクのアクセス制御と操作ログの設定(0905)、パケットライトによる光ディスクへのアクセス制御と操作ログの設定(0906)、ライティングソフトによる光ディスクへのアクセス制御と操作ログの設定(0907)、印刷の制御と操作ログの設定(0908)、共有フォルダへのアクセス制御と操作ログの設定(0909)が表示される。
また、上記監視ポリシーとは、図10に示すように、フロッピー(登録商標)ディスク、リムーバブルディスク、ローカルハードディスク、光ディスク、ネットワークドライブに対する読み込み命令、書き込み命令、ファイル名変更命令、削除命令を禁止するかどうかの設定やプリンタに対する印刷命令を禁止するかの設定、そして、上記命令をログとして記録するかを定義した情報である。
次に、管理者により監視ポリシー設定画面(図9)を用いて監視ポリシー(図10)が入力され、監視ポリシーの作成ボタン(0910)が押下されると、管理者端末102のWEBブラウザアプリケーション401は、入力した監視ポリシー、監視ポリシー名及び監視ポリシーの説明を管理サーバ103に送信する(ステップS652)。
次に、管理サーバ103の管理用WEBアプリケーション503は、監視ポリシー、監視ポリシー名及び監視ポリシーの説明を受信し(ステップS622)、監視ポリシーテーブル(図11)に格納する(ステップS623)。
ここで、監視ポリシーテーブルには、図11に示すように、監視ポリシーを特定するための監視ポリシーID、監視ポリシー名、監視ポリシーの説明、監視ポリシーの作成時刻及び監視ポリシーが格納される。
また、監視ポリシーは、監視ポリシーテーブルに格納される際、文字列に変換され、各プロパティに次の情報が格納される。即ち、FD_CTRLプロパティにはフロッピー(登録商標)ディスクのアクセス制御設定が格納される。FD_LOGプロパティにはフロッピー(登録商標)ディスクの操作ログ設定が格納される。RM_CTRLプロパティにはリムーバブルディスクのアクセス制御設定が格納される。RM_LOGプロパティにはリムーバブルディスクの操作ログ設定が格納される。HD_CTRLプロパティにはローカルハードディスクのアクセス制御設定が格納される。HD_LOGプロパティにはローカルハードディスクの操作ログ設定が格納される。PCD_CTRLプロパティにはパケットライトによる光ディスクへのアクセス制御設定が格納される。PCD_LOGプロパティにはパケットライトによる光ディスクへの操作ログ設定が格納される。WCD_CTRLプロパティにはライティングソフトによる光ディスクへのアクセス制御設定が格納される。WCD_LOGプロパティにはライティングソフトによる光ディスクの操作ログ設定が格納される。PRT_CTRLプロパティには印刷の制御設定が格納される。PRT_LOGプロパティには印刷の操作ログ設定が格納される。NET_CTRLプロパティにはネットワークドライブへのアクセス制御設定が格納される。NET_LOGプロパティにはネットワークドライブの操作ログ設定が格納される。
以上の処理により、ステップS651、ステップS652とステップS621、ステップS622との監視ポリシー作成処理が完了する。
次に、ステップS601、ステップS602とステップS623とのインストール処理について説明する。
まず、クライアント端末101のCPU201は、管理者の画面操作に基づいて、クライアント端末101にエージェントプログラム311とフィルタドライバ312をインストールする(ステップS601)。
ここで、エージェントプログラム311とは、図3に示した設定用プログラム301、一時書き込みプログラム302、制御・通信サービスプログラム303、印刷監視モジュール310を意味する。
また、フィルタドライバ312とは、図3に示したフィルタドライバ(ファイルシステム)304とフィルタドライバ(CD−RW/DVDライティング)305を意味する。
次に、インストールが完了すると、クライアント端末101のCPU201は、設定用プログラム301を起動し、管理サーバ103のIPアドレス等のネットワーク情報を設定するための画面(不図示)を表示する。
そして、当該画面を用いて管理者によりネットワーク情報を入力されると、クライアント端末101の設定用プログラム301は、当該入力されたネットワーク情報を、制御・通信サービスプログラム303に通知する。
次にクライアント端末101の常駐プログラムである制御・通信サービスプログラム303は、通知されたクライアント情報(図7)を管理サーバ103の管理用WEBアプリケーション503に送信する(ステップ602)。
ここで、クライアント情報とは、図7に示すように、当該クライアント端末101が接続されたドメインの名称(ドメイン名)、当該クライアント端末101に設定登録されたユーザ名、当該クライアント端末101のIPアドレス、当該クライアント端末101のコンピュータ名を含む情報である。なお、このクライアント情報は、ステップS624の監視ポリシーの取得処理で、クライアント情報テーブルから監視ポリシーIDを取得するために利用される。
そして、管理サーバ103の管理用WEBアプリケーション503は、クライアント情報を受信し、クライアント情報テーブル(図8)にクライアント情報を格納する(ステップS621)。
ここで、クライアント情報テーブルには、図8に示すように、エージェントプログラム311を識別するためのエージェントID、クライアント端末101のドメイン名、コンピュータ名とIPアドレス、クライアント端末101にログインしているユーザ名と、クライアント端末101に適用する監視ポリシーのID(監視ポリシーID)が格納される。
また、上記監視ポリシーIDは、ステップS622で作成した監視ポリシーのIDが格納される。これにより、管理サーバ103は、クライアント情報テーブルの監視ポリシーIDを参照することで、クライアント端末101に適用されている監視ポリシーを知ることができる。
なお、上記実施形態では、クライアント端末101に対して監視ポリシーを適用したが、クライアント端末101にログインするユーザに対して監視ポリシーを適用することも可能である。また、クライアント端末やユーザをグルーピングすることにより、グループ単位で監視ポリシーを適用、管理することも可能である。
以上の処理により、ステップS601、ステップS602とステップS623のインストール処理が完了する。
なお、上記実施形態では、管理者の画面操作に基づいてエージェントプログラム311とフィルタドライバ312をインストールしたが、ディレクトリサービスを利用して自動的にインストールすることも可能である。
次に、ステップS603、ステップS604とステップS624の監視ポリシー適用処理について説明する。
まず、クライアント端末101の常駐プログラムである制御・通信サービスプログラム303は、管理サーバ103に対して監視ポリシー取得要求(図23)を送信する(ステップS603)。
ここで、監視ポリシー取得要求とは、図23に示すように、当該クライアント端末101が接続されたドメインの名称(ドメイン名)、当該クライアント端末101のコンピュータ名、当該クライアント端末101のユーザ名、問い合わせの内容を識別する問い合わせ種別ID、エージェントプログラムを識別するエージェントIDを含む情報である。
また、ステップS603の監視ポリシー取得要求の送信処理は、クライアント端末101の制御・通信サービスプログラム303が管理者の画面操作に基づいて実行するか、又は、制御・通信サービスプログラム303が予め設定された間隔で定期的に実行する。
次に、管理サーバ103の管理用WEBアプリケーション503は、監視ポリシー取得要求を受信し、エージェントID、ドメイン名、ユーザ名、コンピュータ名をキーに、クライアント情報テーブル(図8)を参照し、監視ポリシーIDを取得する。
さらに、管理サーバ103の管理用WEBアプリケーション503は、取得した監視ポリシーIDをキーに監視ポリシーテーブル(図11)を参照し、監視ポリシー(1101)を取得する。そして、管理サーバ103の管理用WEBアプリケーション503は、クライアント端末101の制御・通信サービスプログラム303へ監視ポリシーを返信する(ステップS624)。
次に、監視ポリシーを受信したクライアント端末101の制御・通信サービスプログラム303は、監視ポリシー適用処理(図12)を実行する(ステップS604)。
以下、図12を参照して、監視ポリシー適用処理を説明する。なお、図12のステップS1201乃至ステップS1203の処理は、クライアント端末101のCPU201が外部メモリ211等の記憶手段に格納された制御・通信サービスプログラム303をRAM203にロードして実行することにより実現される。
はじめに、クライアント端末101の常駐プログラムである制御・通信サービスプログラム303は、受信した監視ポリシーをクライアント端末101の外部メモリ211にファイル形式で保存する(ステップS1201)。
なお、ここで保存したファイルは、監視ポリシーファイル(図13)と呼ばれ、ファイル内の各プロパティは、図13に示すように、先に説明した監視ポリシーテーブルの監視ポリシー(1101)と同じ値を意味する。
次に、クライアント端末101の制御・通信サービスプログラム303は、外部メモリ211に格納されている監視ポリシーファイル(図13)を参照し、印刷処理の実行を許可、又は拒否するかを定義した情報を印刷監視モジュール310に設定する。そして、印刷監視モジュール310は、印刷処理の実行を監視する(ステップS1202)。
さらに、クライアント端末101の制御・通信サービスプログラム303は、外部メモリ211に格納されている監視ポリシーファイル(図13)を参照し、監視ポリシーで禁止しているデバイスのパスと禁止するファイル操作をフィルタドライバ312が保持する拒否条件(図21)に設定する(ステップS1203)。
ここで、拒否条件とは、図21に示すように、フィルタドライバ312がアクセス制御を行うファイルパスと、そのファイルに対して実行される読み込み命令、書き込み命令、ファイル名の変更命令、削除命令のうち、どの命令を禁止するかを定義した情報が格納される。
具体的には、監視ポリシー設定画面(図9)のフロッピー(登録商標)ディスクのアクセス制御909のように、アクセス制御がリードオンリー(読み込み操作のみ許可)に設定されている場合、拒否条件には、フロッピー(登録商標)ディスクドライブのパスとそのパスに対する書き込み命令、ファイル名の変更命令、削除命令の禁止が登録される。これにより、フロッピー(登録商標)ディスクに格納されているファイルに対して、任意のプログラムから書き込み命令が実行された場合、フィルタドライバ312により、操作を禁止することができる。
また、この拒否条件は、フロッピー(登録商標)ディスク、リムーバブルディスク、ローカルハードディスク、CD・DVDドライブ、ネットワークドライブ毎に設定され、全ての文字列を意味する*(アスタリスク)等ワイルドカード文字を使用して、ファイルパスを設定することも可能である。
なお、各アクセス制御の項目(なし、リードオンリー、全て禁止)に対応する禁止命令を図22に示す。
また、ファイルドライバ312は、拒否条件の他に、許可条件(図20)を保持する。この許可条件とは、フィルタドライバ312がアクセス制御を行うファイルパスと、そのファイルに対して実行される読み込み命令、書き込み命令、ファイル名の変更命令、削除命令のうち、どの命令を許可するかを定義した情報が格納される。
また、この許可条件は、ファイルパスの代わりに、プロセスIDを登録することにより、そのプロセスが実行するファイル操作命令を制御することも可能である。
具体的には、図14のステップS1404のように、制御・通信サービスプログラム303のプロセスIDが、許可条件に登録された場合、制御・通信サービスプログラム303から実行されるファイル操作命令は、拒否条件に登録されているフォルダやファイルに対しても、常に実行が許可される。以上の処理により、図12に示す監視ポリシー適用処理が完了する。
これにより、クライアント端末101において、監視ポリシーで禁止しているファイル操作が実行された場合、フィルタドライバ312がファイル操作を中断させることが可能となる。
なお、ステップS1201で保存した監視ポリシーファイルは、エージェントプログラム311が格納されているフォルダと同じフォルダに格納される。このフォルダは、クライアント端末101のフィルタドライバ(ファイルシステム)304によって、エージェントプログラム311以外のプログラムからアクセスを禁止している。その為、他のプログラムからフォルダ内のファイルを閲覧することや情報を書き込むことはできない。
以下、図14を参照して、エージェントプログラム311が格納されているフォルダ(エージェントプログラムフォルダ)のアクセス制御処理を説明する。なお、図14のステップS1401乃至ステップS1404の処理は、クライアント端末101のCPU201が外部メモリ211等の記憶手段に格納された制御・通信サービスプログラム303をRAM203にロードして実行することにより実現される。
まず、クライアント端末101の常駐プログラムである制御・通信サービスプログラム303は、エージェントプログラム311が格納されているフォルダのパスを取得する(ステップS1401)。
そして、制御・通信サービスプログラム303は、フィルタドライバ(ファイルシステム)304が保持する拒否条件(図21)に、ステップS1401で取得したエージェントプログラム311のパスと、そのパスに対する読み込み命令、書き込み命令、ファイル名変更命令、削除命令の禁止を設定する(ステップS1402)。
次に、クライアント端末101の制御・通信サービスプログラム303は、自身のプロセスIDを取得する(ステップS1403)。
そして、制御・通信サービスプログラム303は、フィルタドライバ(ファイルシステム)304が保持する許可条件に、ステップS1403で取得したプロセスIDと、そのプロセスに対する読み込み命令、書き込み命令、ファイル名変更命令、削除命令の許可を設定する(ステップS1404)。
以上の処理により、図14に示すエージェントプログラムフォルダのアクセス制御処理が完了する。これにより、他のプログラムが監視ポリシーファイル及びエージェントプログラム311を操作することができない。
以上の処理により、ステップS603、ステップS604とステップS624の監視ポリシー適用処理が完了する。
次に、ステップS606のデバイス操作が行われた場合の処理について説明する。
まず、クライアント端末101のCPU201は、ユーザの画面操作により、ファイルやプリンタ等のデバイスに対して、アクセス命令を実行する(ステップS606)。もし、実行した命令がプリンタ操作の場合、クライアント端末101の印刷監視モジュール310がプリンタ操作のアクセス制御を実行する(図15)。一方、実行した命令がファイル操作の場合、フィルタドライバ312がファイル操作のアクセス制御を実行する(図16)。
はじめに、図15を参照してプリンタ操作を実行した場合の処理を説明する。なお、図15のステップS1501乃至ステップS1504の処理は、クライアント端末101のCPU201が外部メモリ211等の記憶手段に格納された制御・通信サービスプログラム303と印刷監視モジュール301をRAM203にロードして実行することにより実現される。
先ず、クライアント端末101の印刷監視モジュール301は、印刷操作を検知し、制御・通信サービスプログラム303に通知する(ステップS1501)。
次に、クライアント端末101の常駐プログラムである制御・通信サービスプログラム303は、印刷監視モジュール301からの通知を受けて、外部メモリ211に格納されている監視ポリシーを参照し、印刷の実行が禁止されているかを判断する(ステップS1502)。
印刷が禁止されていない場合、制御・通信サービスプログラム303は、印刷監視モジュール301に対して、印刷操作の許可命令を通知する。そして、印刷監視モジュール301は、処理をオペレーティングシステム308に渡し、印刷処理を実行する(ステップS1503)。
逆に、印刷が禁止されている場合、制御・通信サービスプログラム303は、印刷監視モジュール301に対して、印刷操作の禁止命令を通知する。そして、印刷監視モジュール301は、印刷の実行命令をオペレーティングシステム308に渡さず、印刷を実行したプログラムに印刷失敗の情報を送信し、印刷を中断させる(ステップS1504)。以上の処理が、印刷を実行した場合の処理となる。
次に、図16を参照してファイル操作を実行した場合の処理を説明する。なお、図16のステップS1601乃至ステップS1607の処理は、クライアント端末101のCPU201が外部メモリ211等の記憶手段に格納されたフィルタドライバ312をRAM203にロードして実行することにより実現される。
ステップS601の説明でも触れたが、ここでいうフィルタドライバ312とは、図3に示したフィルタドライバ(ファイルシステム)304とフィルタドライバ(CD−RW/DVDライティング)305とを意味する。フィルタドライバ(CD−RW/DVDライティング)305は、光ディスクに対するファイル操作を制御する。これに対し、フィルタドライバ(ファイルシステム)304は、フロッピー(登録商標)ディスク、リムーバブルディスク、ローカルハードディスク、ネットワークドライブに対するファイル操作を制御する。
上記フィルタドライバ(ファイルシステム)304とフィルタドライバ(CD−RW/DVDライティング)305は、制御対象のデバイスが違うことを除いて、同様の処理を行うため、ここでは、フィルタドライバ312として説明する。
はじめに、クライアント端末101のフィルタドライバ312は、ファイル操作が実行されたことを検知する(ステップS1601)。
次に、クライアント端末101のフィルタドライバ312は、実行されたファイル操作が、自らが保持する許可条件に一致するか判定する(ステップS1602、ステップS1603)。具体的には、操作の対象ファイル又はプロセスが、許可条件に登録したファイル又はプロセスと同じであるかを判断する。そして、許可条件で登録したファイル又はプロセスと同じである場合、ファイル操作命令が許可条件で許可した命令であるかを比較し、判断を行う。次に、許可条件に一致する場合、クライアント端末101のフィルタドライバ312は、操作を中止せず、下位ドライバへ情報を送信し処理を完了する(ステップS1607)。
逆に、許可条件に一致しない場合、クライアント端末101のフィルタドライバ312は、ファイル操作の内容が拒否条件(図21)に一致するかチェックを実行する(S1604)。具体的には、操作の対象ファイルが、拒否条件に登録したファイルと同じであるかを判断する。そして、拒否条件で登録したファイルと同じ場合、ファイル操作命令が拒否条件で禁止している命令であるかを比較し、判断を行う。次に、拒否条件に一致しない場合、クライアント端末101のフィルタドライバ312は、下位ドライバへ情報を送信し、処理を完了する(ステップS1607)。
一方、ステップS1605において、拒否条件に一致する場合、クライアント端末101のフィルタドライバは、検知したファイル操作を中断する(ステップS1606)。以上の処理が、ファイル操作を実行した場合の処理となる。
次に、ステップS608、ステップS609及びステップS626、ステップS627処理の操作ログの記録処理について説明する。
まず、クライアント端末101の常駐プログラムである制御・通信サービスプログラム303は、外部メモリ211に格納されている監視ポリシーファイルを参照し、操作ログを記録するか判定する(ステップS608)。
操作ログを記録する場合、クライアント端末101の制御・通信サービスプログラム303は、管理サーバ103のログ受信プログラム501に、操作ログ(図17)を送信する(ステップS609)。
ここで、操作ログとは、図17に示すように、エージェントプログラムを特定するエージェントID、操作ログ発生時刻、操作ログが発生したクライアント端末101のコンピュータ名、ドメイン名、IPアドレス、MACアドレスや操作ログの種類を識別するイベントID、操作が許可、又は禁止されたのかを意味する詳細イベントID、操作が実行されたデバイス情報を格納するデバイスID、操作対象のファイルのファイル名、ファイルサイズ、出力先ファイルパス、実行プロセス名、印刷ページ数、印刷実行時間、印刷実行プリンタ名、印刷実行プリンタのポート番号、印刷ファイル名を含む情報を意味する。
また、操作ログの印刷ページ数、印刷実行時間、印刷実行プリンタ名、印刷実行プリンタのポート番号、印刷ファイル名は、印刷を実行した場合にのみ記録される。一方、操作ログのファイル名、ファイルサイズ、出力ファイルパスは、ファイル操作を実行した場合にのみ記録される。
次に、管理サーバ103のログ受信プログラム501は、操作ログ(図17)を受信する(ステップS626)。そして、ログ受信プログラム501は、操作ログを操作ログテーブル(図18)に格納する(ステップS627)。
一方、操作ログを送信しない場合、クライアント端末101の制御・通信サービスプログラム303は、ステップS609の処理を実行せず、次のステップに進む。
以上の処理により、ステップS608、ステップS609とステップS626、ステップS627処理の操作ログの記録処理が完了する。
なお、上記ステップ603〜610の処理は、オペレーティングシステム308が終了するか、ユーザの画面操作に基づいて、クライアント端末101のCPU201がエージェントプログラムを停止するまで実行する。
次に、ステップS611のエージェントプログラム停止処理について説明する。まず、クライアント端末101の設定用プログラム301は、ユーザの操作に基づいて、エージェントプログラムの停止命令が実行されると、エージェントプログラムの停止処理を実行する(ステップS611)。
以下、図19を参照して、エージェントプログラムの停止処理について説明する。なお、図19のステップS1901の処理は、クライアント端末101のCPU201が、外部メモリ211等の記憶手段に格納された設定用プログラム301をRAM203にロードして実行することにより実現される。
また、図19のステップS1902からステップS1904の処理は、クライアント端末101のCPU201が、外部メモリ211等の記憶手段に格納された制御・通信サービスプログラム303をRAM203にロードして実行することにより実現される。
まず、クライアント端末101の設定用プログラム301は、パスワード入力画面(不図示)を表示する(ステップS1901)。
そして、クライアント端末101の設定用プログラム301は、ユーザによりパスワード入力画面を用いてパスワードが入力された後、常駐プログラムである制御・通信サービスプログラム303に対して、エージェントプログラムの停止命令とパスワードを通知する(ステップS1902)。
次に、制御・通信サービスプログラム303は、予め決められたパスワードと設定用プログラム301から通知されたパスワードとが一致しているか比較する(ステップS1903)。
そして、一致している場合、制御・通信サービスプログラム303は、フィルタドライバ312及び印刷制御プログラム310に対して、停止命令を送信する(ステップS1904)。
さらに、制御・通信サービスプログラム303は、自らのプログラムを終了し、エージェントプログラムの停止処理を完了する(ステップS1905)。
以上の処理により、ステップS511のエージェントプログラム停止処理を完了する。なお、上記パスワードによる認証処理は、故意にエージェントプログラムを停止させ、デバイス制限機能を無効にすることを防ぐためである。
最後に、ステップS625とステップS653の監視ログ閲覧処理について説明する。図6において、まず、管理者端末102のCPU201は、WEBブラウザアプリケーション401を起動し、WEBブラウザアプリケーション401に検索画面(不図示)を表示する。
そして、ユーザの画面操作により検索条件が入力されると、管理者端末102のWEBブラウザアプリケーション401は、管理サーバ103の管理用WEBアプリケーション503に検索条件を送信する(ステップS653)。
次に、管理サーバ103の管理用WEBアプリケーション503は、操作ログテーブル(図18)を参照し、検索条件に一致する操作ログを取得し、管理者端末102に送信する(ステップS625)。
そして、管理者端末102のWEBブラウザアプリケーション401は、操作ログの内容を表示する。以上の処理により、ステップS625とステップ653の監視ログ閲覧処理が完了する。以上が、本実施形態におけるデバイス制限システムの処理手順となる。
図24は、本実施形態におけるデバイス制限システムの自動承認機能及び要約レポート作成機能の一処理例を示すフローチャートである。
はじめに、図24に示すフローチャートの各ステップを実行する装置について説明する。まず、図24に示すステップS2401乃至ステップS2415の処理は、クライアント端末101のCPU201が、外部メモリ211等の記憶手段に格納された制御・通信サービスプログラム303と設定用プログラム301をRAM203にロードして実行することにより実現される。
次に、図24に示すステップS2441乃至ステップS2451の処理は、管理サーバ103のCPU201が、外部メモリ211等の記憶手段に格納された管理用WEBアプリケーション503をRAM203にロードして実行することにより実現される。
また、図24に示すステップS2431とステップS2432の処理は、管理サーバ103のCPU201が、外部メモリ211等の記憶手段に格納されたログ受信プログラム501をRAM203にロードして実行することにより実現される。
最後に、図24に示すステップS2471乃至ステップS2474の処理は、管理者端末102のCPU201が、外部メモリ211等の記憶手段に格納されたWEBブラウザアプリケーション401と電子メール受信アプリケーション402をRAM203にロードして実行することにより実現される。以上が、図24に示すフローチャートの各ステップを実行する処理装置となる。
次に、図24に示すフローチャートの各ステップについて説明する。はじめに、ステップS2441とステップS2471の承認ルール設定処理について説明する。
まず、管理者端末102のCPU201は、管理者の画面操作に基づいて、WEBブラウザアプリケーション401を起動し、管理サーバ103の管理用WEBアプリケーション503に接続する。そして、管理者端末102のWEBブラウザアプリケーション402は、承認ルールの一覧を表示する承認ルール一覧画面(図25)を表示する。ここで、承認ルールとは、承認条件と承認動作、承認ルール名を含む情報をいう。
上記承認ルールの承認条件には、図27に示す条件を設定することができ、ステップS2401で、申請された一時許可申請の内容(ファイル、申請者、過去の申請結果等)が、図27に示す条件に一致していた場合、自動処理を実行する。なお、ステップS2401は、本発明の受付手段、要求手段の一処理例である。
また、承認動作(図28)とは、上記承認条件に一致した場合に実行する動作を定義した情報で、一時許可申請を自動的に許可、拒否処理することや、管理者が一時許可申請を閲覧し、手動で承認処理を実行するなどの動作を設定することができる。
なお、本実施形態では、承認条件を図27に示す条件とした。しかしながら、一時申請したファイルのファイル名やパス、拡張子、ファイルサイズ、文字列、所有者等を条件に指定することや、申請したファイル中に個人情報が含まれている、特定の文字列が含まれている等を検索条件に指定することも可能である。
また同じく、本実施形態では、承認動作を図28に示す動作とした。しかしながら、承認条件に一致した場合、任意のプログラムを実行すること等を承認動作に設定することも可能である。
次に、管理者端末102のWEBブラウザアプリケーション401は、当該画面を用いて、管理者により承認ルールの追加ボタン(2501)が押下されると、承認ルール名、承認条件、承認動作を入力する承認ルール設定画面(図26)を表示する。
そして、当該画面を用いて、管理者により承認ルール名(2601)、承認条件(2602)、動作条件(2603)が入力され、承認ルールの作成ボタン(2604)が押下される。すると、管理者端末102のWEBブラウザアプリケーション401は、管理サーバ103の管理用WEBアプリケーション503に、承認ルール名、承認条件及び動作条件を送信する(ステップS2471)。
そして、管理サーバ103のWEBブラウザアプリケーション401は、承認ルール名、承認条件及び動作条件を受信し、承認ルールテーブル(図29)と承認条件テーブル(図30)に格納する(ステップS2441)。
ここで、承認ルールテーブルには、図29に示すように、承認ルールを識別するID、承認ルールのルール名、承認ルールを更新した日付、承認ルールが有効であるかを示す有効フラグ、そして、承認動作が格納される。
また、承認条件テーブルには、図30に示すように、承認条件を識別するID、関連する承認ルールテーブルの承認ルールID、承認ルールの作成日、承認条件、承認条件の値、他の承認条件テーブルとの関連(AND、OR)を表わす論理符号が格納される。
以上の処理により、ステップS2441とステップS2471の承認ルール設定処理が完了する。
次に、ステップS2442とステップS2472のファイルの解析設定処理について説明する。ファイルの解析処理は、ステップS2447のファイルの解析処理で使用する値を設定する処理となる。
まず、管理者端末102のCPU201は、管理者の画面操作に基づいて、WEBブラウザアプリケーション401を起動し、管理サーバ103の管理用WEBアプリケーション503に接続する。
そして、管理者端末102のWEBブラウザアプリケーション401は、ファイルの解析設定画面(図39)を表示する。
ここで、ファイルの解析設定画面には、一時許可申請されたファイルの先頭から何文字を取得するのかを設定する「取得する文字数」(3901)、一時許可申請されたファイル内の検索文字列を設定する「検索する文字列」(3902)、一時許可申請されたファイル内のどういった形式の図形又はイメージを取得するかを設定する「取得する図形・イメージ」(3903)が表示される。
次に、管理者の画面操作によって上記値が入力され、適用ボタン(3904)が押下されると、WEBブラウザアプリケーション401は、管理サーバ103の管理用WEBアプリケーション503に上記設定値を送信する(ステップS2472)。
そして、管理サーバ103の管理用WEBアプリケーション503は、ファイル解析設定テーブル(図54)に値を保存する(ステップS2442)。
ここで、ファイル解析設定テーブルには、図38のステップS3801で使用する取得する文字数、ステップS3803で使用する検索文字列、ステップS3804で使用するビットマップ、JPG、GIF、グラフ、図形オブジェクトの値が格納される。
以上の処理により、ステップS2442とステップS2472のファイルの解析設定処理が完了する。
次に、ステップS2401の一時許可申請処理について説明する。クライアント端末101の設定用プログラム301と制御・通信サービスプログラム303は、一時許可申請処理(図31)を実行する(ステップS2401)。
以下、図31を参照して、一時許可申請処理を説明する。なお、図31に示すステップS2471乃至ステップS2473の処理は、クライアント端末101のCPU201が、外部メモリ211等の記憶手段に格納された制御・通信サービスプログラム303と設定用プログラム301をRAM203にロードして実行することにより実現される。
はじめに、クライアント端末101のCPU201は、管理者の画面操作に基づいて、設定用プログラム301を起動する。そして、設定用プログラム301は、一時許可申請情報(図32)を入力する一時許可申請画面(図33)を表示する。
ここで、一時許可申請情報とは、エージェントプログラムを識別するエージェントID、クライアント端末101が所属するドメインの名前(ドメイン名)、クライアント端末101のコンピュータ名、クライアント端末101にログインしているユーザ名、申請者の名前、申請者の電子メールアドレス、申請理由、デバイスに格納したいファイルの絶対パスが記述された出力ファイルリスト、ファイルを出力するデバイスのパス、問い合わせの種類を識別する問い合わせ種別ID、ファイルを出力するデバイスの種類、ファイルを出力するデバイスのボリュームシリアルID、ファイルを出力するデバイスの製品名、ファイルを出力するデバイスのベンダーID、プロダクトID、シリアルIDを含む情報である。ただし、一時許可申請情報に含まれるファイルを出力するデバイスの種類、ファイルを出力するデバイスのボリュームシリアルID、ファイルを出力するデバイスの製品名、ファイルを出力するデバイスのベンダーID、プロダクトID、シリアルIDは、ステップS3101にて、ファイルを出力するデバイスのパスをもとに取得するため、一時許可申請画面(図33)から表示および入力はしない。例えば、出力するデバイスがUSBメモリの場合、USBメモリ内の記憶手段から、一時許可申請情報に含まれるファイルを出力するデバイスの種類、ファイルを出力するデバイスのボリュームシリアルID、ファイルを出力するデバイスの製品名、ファイルを出力するデバイスのベンダーID、プロダクトID、シリアルIDを取得する。
次に、当該画面を用いて、申請者により、申請者名(3301)、申請者の電子メールアドレス(3302)、ファイルを出力するデバイスのパス(3303)、デバイスに出力するファイルが記述された出力ファイルのリスト(3304)、申請理由(3305)が入力され、申請ボタン(3306)が押下されると、クライアント端末101の設定用プログラム301は、一時許可申請画面(図33)から入力された情報と、一時許可申請画面(図33)から入力されたファイルを出力するデバイスのパス(3303)をもとに、ファイルを出力するデバイスの種類、ファイルを出力するデバイスのボリュームシリアルID、ファイルを出力するデバイスの製品名、ファイルを出力するデバイスのベンダーID、プロダクトID、シリアルIDを取得し、一時許可申請情報に格納する。そして、制御・通信サービスプログラム303に通知する(ステップS3101)。ただし、ファイルを出力するデバイスがUSBメモリでない場合は、ファイルを出力するデバイスのベンダーID、プロダクトID、シリアルIDは取得できないため値を設定しない。
次に、通知を受けたクライアント端末101の制御・通信サービスプログラム303は、クライアント端末101のドメイン名、コンピュータ名、ログインユーザとエージェントIDを取得し、一時許可申請情報に格納する。そして、一時許可申請情報の出力ファイルリストに登録されているファイルからファイルの属性情報(図34)を取得する(ステップS3102)。ここで、ファイルの属性情報(図34)内の「ファイルのハッシュ値」は、OSに対して、当該ファイルのハッシュ値の演算の依頼を行い、OSが演算することにより得られた当該ファイルのハッシュ値をOSから取得する。
ここで、ファイルの属性情報とは、ファイルの絶対パス、作成日時、更新日時、ファイルのハッシュ値、サイズを含む情報である。
さらに、クライアント端末101の制御・通信サービスプログラム303は、出力ファイルリストに登録されているファイルを、管理サーバ103の外部メモリ211の所定の領域へコピーを実行する(ステップS3103)。
次に、クライアント端末101の制御・通信サービスプログラム303は、管理サーバ103の管理用WEBアプリケーション503に一時許可申請情報とファイルの属性情報を送信する(ステップS3104)。
そして、クライアント端末101の制御・通信サービスプログラム303は、一時許可申請画面に一時許可申請が完了した内容のメッセージ(不図示)を表示する(ステップS3105)。以上の処理により、ステップS2401の一時許可申請処理が完了する。
次に、ステップS2446の一時許可申請情報の保存処理について説明する。まず、ステップS2401で一時許可申請情報とファイルの属性情報を送信された管理サーバ103の管理用WEBアプリケーション503は、一時許可申請情報の保存処理(図35)を実行する(ステップS2446)。
以下、図35を参照して、一時許可申請情報の保存処理を説明する。なお、図35に示すステップS3501とステップS3502の処理は、管理サーバ103のCPU201が、外部メモリ211等の記憶手段に格納された管理用WEBアプリケーション503をRAM203にロードして実行することにより実現される。
まず、管理サーバ103の管理用WEBアプリケーション503は、ステップS3103でコピーしたファイルが、管理サーバ103の外部メモリ211にある所定の領域へコピーされているか確認する(ステップS3501)。
次に、管理サーバ103の管理用WEBアプリケーション503は、ステップS3104で送信された一時許可申請情報を一時許可申請テーブル(図36)に格納する。
ここで、一時許可申請テーブルには、一時許可申請を識別する一時許可申請ID、エージェントプログラムを識別するID、一時許可申請の処理状況、一時許可申請を実行したユーザ名、一時許可申請が実行されたコンピュータ名、一時許可申請が実行されたコンピュータが所属するドメイン(ドメイン名)、申請者の氏名と電子メールアドレス、申請理由、一時許可申請したファイルを出力するデバイス、承認者のID、一時許可申請の承認理由、一時許可申請が許可された場合の有効期間、一時書き込みプログラム302の利用回数、ファイルを出力するデバイスのパス、ファイルを出力するデバイスの種類、ファイルを出力するデバイスのボリュームシリアルID、ファイルを出力するデバイスの製品名、ファイルを出力するデバイスのベンダーID、プロダクトID、シリアルIDを含む情報を格納することができる。
次に、管理サーバ103の管理用WEBアプリケーション503は、ファイルの属性情報をファイル属性テーブル(図37)に格納する(ステップS3502)。
ここで、ファイル属性テーブルには、ファイル属性テーブルのレコードを識別するファイル属性ID、関連している一時許可申請テーブルの一時許可申請ID、申請したファイルの絶対パス、作成日、更新日、ハッシュ値、ファイルサイズ、ヘッダ文字列、フッタ文字列とステップS3801で取得する先頭文字列、ステップS3803で取得する特定文字列の回数、ステップS3804で取得する図形・イメージデータ、ステップS3805で取得する個人情報の有無、ステップS3806で取得する内容分析の結果、ステップS3807で取得するスコア値を含む情報を格納することができる。
以上の処理により、ステップS2446の一時許可申請情報の保存処理が完了する。
次に、ステップS2447のファイル解析処理について説明する。まず、管理サーバ103の管理用WEBアプリケーション503は、ステップS3103でコピーしたファイルに対して解析処理(図38)を実行する。
以下、図38を参照して、ファイルの解析処理を説明する。なお、図38に示すステップS3801乃至ステップS3809の処理は、管理サーバ103のCPU201が、外部メモリ211等の記憶手段に格納された管理用WEBアプリケーション503をRAM203にロードして実行することにより実現される。また、図38に示す処理は、本発明の分析手段による一処理例である。
はじめに、管理サーバ103の管理用WEBアプリケーション503は、一時許可申請情報の出力ファイルリストに登録されたファイルを解析し、そのファイルに含まれる文字列の先頭文字列を取得する(ステップS3801)。また、上記処理で取得する文字数は、ファイル解析設定テーブルの取得する文字数列から取得する。
次に、管理サーバ103の管理用WEBアプリケーション503は、一時許可申請情報の出力ファイルリストに登録されたファイルを解析し、ファイルのヘッダ文字列、フッタ文字列を取得する(ステップS3802)。
さらに、管理サーバ103の管理用WEBアプリケーション503は、一時許可申請情報の出力ファイルリストに登録されたファイルを解析し、ファイル内にファイルの解析設定画面(図39)で設定した文字列が含まれているか検索する(ステップS3803)。具体的には、管理サーバ103の管理用WEBアプリケーション503は、ファイル解析設定テーブルの検索文字列の値を取得し、ファイル内にその文字列が含まれているか検索し、該当した文字列の出現回数を記録する。
次に、管理サーバ103の管理用WEBアプリケーション503は、一時許可申請情報の出力ファイルリストに登録されたファイルを解析し、ファイルの解析設定画面(図39)で設定した形式(3903)のイメージ・図形データがファイル内に埋め込まれているか判定する。そして、含まれている場合、管理サーバ103の管理用WEBアプリケーション503は、そのイメージ・図形データを取得する(ステップS3804)。
さらに、管理サーバ103の管理用WEBアプリケーション503は、一時許可申請情報の出力ファイルリストに登録されたファイルを解析し、ファイル内に個人情報が含まれているか判定する。具体的には、ファイル内に含まれている氏名、住所及び電話番号等の単語を検索し、該当件数が予め設定した判定基準に達するかによって個人情報が含まれているかを判定する(ステップS3805)。また、管理サーバ103の管理用WEBアプリケーション503は同時に該当した単語の件数を記録する。
次に、管理サーバ103の管理用WEBアプリケーション503は、一時許可申請情報の出力ファイルリストに登録されたファイルを解析し、ファイルの内容をカテゴリ判定する。具体的には、ファイル中に含まれている単語を取得し、その単語の意味と出現回数によって、予め定義されたカテゴリ(ビジネス、プライベート、金融、教育、イメージデータ、その他、等)に分類する(ステップS3806)。
次に、管理サーバ103の管理用WEBアプリケーション503は、スコアリング処理を実行する(ステップS3807)。具体的には、上記ステップS3801からステップS3807の解析処理毎に予め点数と閾値を設定しておき、その処理結果が閾値を超えた場合、その処理の点数を加算し、全体の点数(スコア)を取得する。
次に、管理サーバ103の管理用WEBアプリケーション503は、一時許可申請情報の出力ファイルリストに登録されたファイル全てに対して、解析処理を実行したか判別する(ステップS3808)。
そして、解析を実行していないファイルがある場合、管理サーバ103の管理用WEBアプリケーション503は、ステップS3801に戻り、再度解析を実行する。さらに、管理サーバ103の管理用WEBアプリケーション503は、上記ステップS3101からステップS3108で取得した解析結果を、ファイル属性テーブル(図37)に格納する(ステップS3809)。以上の処理により、ステップS2447のファイル解析処理が完了する。
次に、ステップS2448の自動承認処理について説明する。まず、管理サーバ103の管理用WEBアプリケーション503は、一時許可申請の自動承認処理(図40)を実行する(ステップS2448)。
以下、図40を参照して、自動承認処理を説明する。なお、図40に示すステップS4001至ステップS4006の処理は、管理サーバ103のCPU201が、外部メモリ211等の記憶手段に格納された管理用WEBアプリケーション503をRAM203にロードして実行することにより実現される。
はじめに、管理サーバ103の管理用WEBアプリケーション503は、承認ルールテーブル(図29)に格納されている承認ルールを取得する(ステップS4001)。
次に、管理サーバ103の管理用WEBアプリケーション503は、1つ目の承認ルールの承認条件とステップS2446で保存した一時許可申請情報の内容を比較し、値が一致するか判定する(ステップS4003)。具体的には、承認条件に図27に示す「過去に、一時許可申請したファイルが許可されたことがある」が設定されていた場合、一時許可申請されたファイルと同一の絶対パスとハッシュ値が既にファイル属性テーブルに存在するか検索する。
次に、該当するレコードがあった場合、管理サーバ103の管理用WEBアプリケーション503は、そのレコードの一時許可申請IDをキーに一時許可申請テーブルを検索し、該当するレコードの申請状況列を取得する。
そして、管理サーバ103の管理用WEBアプリケーション503は、その申請状況列の値が承認を許可した値であった場合、過去に一時許可申請を許可したことがあるファイルと判断する。以上のように、過去の一時申請情報を用いて承認条件に一致するかを判定する。なお、ステップS4003は、本発明の検索手段の一処理例である。
次に、承認ルールに一致する場合、管理サーバ103の管理用WEBアプリケーション503は、一致した承認ルールの承認動作が「一時許可申請を管理者の判断により承認処理する」であるか判定する(ステップS4005)。
もし、一致した承認ルールの承認動作が「一時許可申請を管理者の判断により承認処理する」の場合、ステップS4004に進む。逆に、一致した承認ルールの承認動作が「一時許可申請を管理者の判断により承認処理する」以外の場合、一時許可申請の承認処理(図41)を実行する(ステップS4006)。なお、一時許可申請の承認処理の手順は、ステップS2451で説明する。ステップS4006は、本発明の承認手段の一処理例である。
一方、承認ルールに一致しない場合、管理サーバ103の管理用WEBアプリケーション503は、次の承認ルールに対してステップS4003の処理を実行する。なお、上記処理は、ステップS2471で作成した承認ルール全てに対して繰り返し実行する(ステップS4002)。
次に、全ての承認ルールに一致しなかった場合、管理サーバ103の管理用WEBアプリケーション503は、承認動作を管理者の判断により承認処理すると判定し、次のステップに進む(ステップS4004)。以上の処理により、ステップS2448の自動承認処理が完了する。
次に、ステップS2449からステップS2451の処理とステップS2473、ステップS2474の管理者による一時許可申請の承認処理について説明する。
まず、管理サーバ103の管理用WEBアプリケーション503は、ステップS2448の自動承認処理によって、「一時許可申請を管理者の判断により承認処理する」と判定されたかを判別する(ステップS2449)。
もし、「一時許可申請を管理者の判断により承認処理する」と判定されなかった場合、管理サーバ103の管理用WEBアプリケーション503は、一時許可申請がステップS2448で自動承認されたと判断し、処理を終了する。
逆に、「一時許可申請を管理者の判断により承認処理する」と判定された場合、管理サーバ103の管理用WEBアプリケーション503は、管理者の電子メールアドレスに電子メールを送信する(ステップS2450)。これにより、一時許可申請が行われたことが管理者に通知される。
なお、上記実施形態では、管理者に電子メールを送信することで、一時許可申請が行われたことを通知した。しかしながら、一時許可申請の通知は、管理者端末102の画面に通知画面を表示することや任意のプログラムを実行することにより、実現することも可能である。
次に、管理者端末102のCPU201は、管理者の画面操作に基づいて管理者端末102の外部メモリ221に格納されている電子メール受信アプリケーション402を起動し、電子メールを受信する(ステップS2473)。
そして、管理者端末102のCPU201は、管理者の画面操作に基づいて管理者端末102の外部メモリ221に格納されているWEBブラウザアプリケーション401を起動し、管理サーバ103の管理用WEBアプリケーション503に接続する。
さらに、管理者端末102のWEBブラウザアプリケーション401は、一時許可申請を承認処理する一時許可申請承認画面(図42)を表示し、管理者によって一時許可申請承認の有無、有効期間、承認理由を含む承認情報が入力されるのを待つ(ステップS2474)。
ここで、以下、図42を参照して、一時許可申請承認画面について説明する。まず、図42の4201には、ステップS2401で申請した一時許可申請の申請時間、一時許可申請の状態(未承認、許可、拒否)、一時許可申請を実行したクライアント端末101のコンピュータ名、及び、所属するドメイン(ドメイン名)、ユーザ名、ファイルを出力するデバイスの情報(デバイスの種類、出力先のパス、デバイスの製品名、ボリュームシリアルID、ベンダーID、プロダクトID、シリアルID)、申請理由を表示する。
図42の4202には、一時許可申請したファイル全体のスコア、一時許可申請した各ファイルのファイル名とそのファイルのスコア、個人情報判定の結果、特定文字列判定の結果、ファイル内容の分析結果、ファイル内の図形やイメージデータの有無、過去の申請の有無を含むファイルの解析結果情報を表示する。
図42の4203には、ファイルの書き込みを許可する期間と書き込みを実行できる回数、承認理由を入力する項目を表示する。以上が、図42に示す一時許可申請承認画面となる。
また、図42の4204の詳細ボタンを押下した場合、管理者端末102のWEBブラウザアプリケーション401は、図43に示すファイルの分析結果画面を表示する。本分析結果画面は、本発明の分析結果情報の一例であり、この分析結果画面を管理サーバ103が管理者端末102に対して送信する処理は、本発明の送信手段の一処理例である。
ファイルの分析結果画面は、一時許可申請した各ファイルの分析結果を詳細表示する画面である。この画面には、ファイルの分析結果が表示され、管理者は、一時許可申請で申請したファイルがどのような内容のファイルであるかを容易に判断することができる。
以下、図43を参照して、ファイルの分析結果画面について説明する。まず、図43の4301に、申請したファイルのファイル名、作成日、更新日、サイズ、ハッシュ値とファイルの先頭からの文字列、ヘッダ文字列、フッタ文字列が表示される。
図43の4302には、ファイル内容のカテゴリ分析結果、ステップS3807の処理で取得したスコア値、ステップS3806で解析したファイル内容の分析結果、ステップS3805で解析した個人情報の有無とファイル内に含まれている個人情報を意味する単語の出現回数、ステップS3103で解析した特定文字列の回数と出現回数が表示される。
図43の4303には、ステップS3804で取得した、ファイル内に含まれている図形やイメージデータが一覧表示される。
そして、図43の4304には、一時許可申請したファイルと同じファイルが、過去に申請されていた場合、過去の承認履歴を表示する。
また、図43の4305の詳細ボタンが押下された場合、管理者端末102のWEBブラウザアプリケーション401は、一時許可申請したファイルと過去に一時許可申請したファイルの差分を取得し、差分を画面に表示する(図44)。管理サーバ103がこの差分情報を算出する処理は、本発明の算出手段の一処理例である。
なお、過去に一時許可申請を実行したことがあるファイルを取得するには、ファイル属性テーブルに格納されているハッシュ値、絶対パスを取得し、一時許可申請したファイルの値と比較することによって判定する。以上が、図43に示すファイルの分析結果画面となる。
次に、一時許可申請承認画面を用いて、有効期間(4205)、書き込みを実行できる回数(4206)、承認理由(4207)が入力され、「一時許可申請を許可する」ボタン(4208)、又は、「一時許可申請を拒否する」ボタン(4209)が管理者により押下される。すると、管理者端末102のWEBブラウザアプリケーション401は、管理サーバ103の管理用WEBアプリケーション503に一時許可申請情報を送信する(ステップS2474)。
次に、管理サーバ103の管理用WEBアプリケーション503は、一時許可申請を受信し、承認処理(図41)を実行する(ステップS2451)。この一時許可申請を受信する処理は、本発明の受信手段の一処理例である。
以下、図41を参照して、一時許可申請の承認処理を説明する。なお、図41に示すステップS4101至ステップS4103の処理は、管理サーバ103のCPU201が、外部メモリ211等の記憶手段に格納された管理用WEBアプリケーション503をRAM203にロードして実行することにより実現される。
まず、管理サーバ103の管理用WEBアプリケーション503は、承認情報を基に、一時許可申請テーブルに格納されている該当レコードの処理状況、承認理由、有効期間、回数を更新する(ステップS4101)。
次に、管理サーバ103の管理用WEBアプリケーション503は、ステップS2473で取得した承認情報と一時許可申請テーブルの情報を基に、一時ポリシーを作成し、一時ポリシーテーブル(図45)に格納する(ステップS4102)。
ここで、一時ポリシーテーブルには、図45において、エージェントプログラムを識別するエージェントID、一時ポリシーテーブルの作成時間、一時許可申請の有効期間、一時許可申請を実行したコンピュータ名、ユーザ名、一時許可申請を実行したコンピュータが所属するドメイン(ドメイン名)、一時ポリシーデータが格納される。
また、一時ポリシーテーブルに格納される一時ポリシーデータとは、一時許可申請の有効期間(Expiredtプロパティ)、一時書き込みプログラム302によって書き込みを実行できる回数(Countプロパティ)、エージェントプログラムを識別するエージェントID(AgentIDプロパティ)、一時許可申請を実行したクライアント端末101が所属するドメイン名(Domainnameプロパティ)、一時許可申請を実行したクライアント端末101のコンピュータ名(ComputerNameプロパティ)、一時許可申請を実行したユーザ名(UserNameプロパティ)、ステップS2473で承認されたファイルのパスとハッシュ値(HASHIDプロパティ)、ファイルを出力するデバイスのパス(OUTPUTPATHプロパティ)、ファイルを出力するデバイスの種類(DEVICETYPEプロパティ)、製品名(DEVICENAMEプロパティ)、ボリュームシリアルID(VOLUMSERIALIDプロパティ)、ベンダーID(VENDERIDプロパティ)、プロダクトID(PRODUCTIDプロパティ)、シリアルID(SERIALIDプロパティ)を含む情報を指す。
なお、HASHIDプロパティは、申請したファイルの数だけ作成され、ファイルの絶対パスとハッシュ値をコンマ文字で区切った形式で格納される。また、VENDERIDプロパティ、PRODUCTIDプロパティ、SERIALIDプロパティは、ファイルを出力するデバイスがUSBメモリの場合以外は、値は設定されない。
そして、最後に管理サーバ103の管理用WEBアプリケーション503は、一時許可申請テーブルに格納されている電子メールアドレスを取得し、承認処理が完了したことを電子メールにて通知する(ステップS4103)。
なお、上記実施形態では、申請者に電子メールを送信することで、一時許可申請が承認されたことを通知した。しかしながら、一時許可申請の承認通知は、申請者の画面に通知メッセージを表示することや任意のプログラムを実行することも可能である。以上の処理により、管理者による一時許可申請の承認処理が完了する。
次に、ステップS2402とステップS2443、ステップS2444の一時許可申請の承認状況問い合わせ処理について説明する。
はじめに、クライアント端末101の制御・通信サービスプログラム303は、管理サーバ103の管理用WEBアプリケーション503に対して一時許可申請の処理状況問い合わせ処理(図46)を実行し、管理用WEBアプリケーション503から一時許可申請の処理状況を取得する(ステップS2402、ステップS2443)。
以下、図46を参照して、一時許可申請の処理状況問い合わせについて説明する。なお、図46に示すステップS4601至ステップS4603の処理は、クライアント端末101のCPU201が、外部メモリ211等の記憶手段に格納された制御・通信サービスプログラム303をRAM203にロードして実行することにより実現される。
また、図46に示すステップS4604至ステップS4606の処理は、管理サーバ103のCPU201が、外部メモリ211等の記憶手段に格納された管理用WEBアプリケーション503をRAM203にロードして実行することにより実現される。
まず、クライアント端末101の制御・通信サービスプログラム303は、管理サーバ103の管理用WEBアプリケーション503に対して、処理状況問い合わせ情報(図47)を送信する(ステップS4601)。
ここで、処理状況問い合わせ情報とは、エージェントプログラムを識別するエージェントID、問い合わせの種類を識別する問い合わせID、一時許可申請を実行したコンピュータ名とユーザ名、一時許可申請を実行したコンピュータが所属するドメイン(ドメイン名)を含む情報である。
次に、管理サーバ103の管理用WEBアプリケーション503は、処理状況問い合わせ情報を受信する(ステップS4604)。
そして、管理サーバ103の管理用WEBアプリケーション503は、その処理状況問い合わせ情報のエージェントIDをキーに、一時許可申請テーブルから一時許可申請の処理状態を取得する(ステップS4605)。
次に、管理サーバ103の管理用WEBアプリケーション503は、一時許可申請の処理状態をクライアント端末101に送信する(ステップS4606)。
そして、一時許可申請の処理状態が未承認又は拒否だった場合、管理用WEBアプリケーション503は、クライアント端末101から再度、処理状況問い合わせ情報が送信されるのを待つ。
逆に、一時許可申請の処理状態が許可の場合は、ステップS2445に進む(ステップS2444)。
次に、クライアント端末101の制御・通信サービスプログラム303は、管理サーバ103の管理用WEBアプリケーション503から送信された一時許可申請の処理状態を受信する(ステップS4602)。
そして、クライアント端末101の制御・通信サービスプログラム303は、受信した一時許可申請の処理状況をクライアント端末101の画面に表示する。図48に、一時許可申請の処理状況結果画面の一例を示す。
以上の処理により、ステップS2402とステップS2443、ステップS2444の一時許可申請の処理状況問い合わせ処理が完了する。
次に、ステップS2403からステップS2407とステップS2445の一時ポリシー適用処理について説明する。
まず、クライアント端末101の制御・通信サービスプログラム303は、ステップS2402の一時許可申請の処理状況問い合わせ処理の結果が許可されたのか、拒否されたのか、又はまだ承認処理されていないのかを判定する(ステップS2403)。
一時許可申請が承認されていない場合、クライアント端末101の制御・通信サービスプログラム303は、ステップS2403に戻り、再度問い合わせを実行する。
一方、一時許可申請が承認されており、承認結果が拒否であった場合、クライアント端末101の制御・通信サービスプログラム303は、一時書き込みプログラム302の起動画面を無効にする(ステップS2415)。
逆に、一時許可申請が承認されており、承認結果が許可であった場合、クライアント端末101の制御・通信サービスプログラム303は、一時ポリシーの取得処理(図49)を実行する(ステップS2404、ステップS2445)。なお、ステップS2404は、本発明の取得手段の処理例である。
以下、図49を参照して、一時ポリシーの取得処理を説明する。なお、図49に示すステップS4901とステップS4902の処理は、クライアント端末101のCPU201が、外部メモリ211等の記憶手段に格納された制御・通信サービスプログラム303をRAM203にロードして実行することにより実現される。
また、図49に示すステップS4903とステップS4905の処理は、管理サーバ103のCPU201が、外部メモリ211等の記憶手段に格納された管理用WEBアプリケーション503をRAM203にロードして実行することにより実現される。
まず、クライアント端末101の制御・通信サービスプログラム303は、管理サーバ103の管理用WEBアプリケーション503に対し、一時ポリシー配布要求(図47)を送信する(ステップS4901)。
ここで、一時ポリシー配布要求とは、図47に示すように、エージェントプログラムを識別するエージェントID、問い合わせの種類を識別する問い合わせID、一時許可申請を実行したコンピュータ名とユーザ名、一時許可申請を実行したコンピュータが所属するドメイン(ドメイン名)を含む情報である。
次に、管理サーバ103の管理用WEBアプリケーション503は、一時ポリシー配布要求を受信する(ステップS4903)。
そして、管理用WEBアプリケーション503は、一時ポリシー配布要求で取得したエージェントIDをキーに一時ポリシーテーブルを参照し、一時ポリシーデータを取得する(ステップS4904)。
さらに、管理用WEBアプリケーション503は、一時ポリシーデータをクライアント端末101へ送信する(ステップS4905)。
次に、クライアント端末101の制御・通信サービスプログラム303は、一時ポリシーデータを受信する(ステップS4902)。以上の処理により、一時ポリシーの取得処理を完了する。
そして、一時ポリシーの取得処理を完了すると、クライアント端末101の制御・通信サービスプログラム303は、受信した一時ポリシーデータを、クライアント端末101の外部メモリ221にファイル形式(図50)で格納する(ステップS2404)。なお、このファイルを一時ポリシーファイルと呼ぶ。なお、一時ポリシーファイルには、書き出しが許可されたファイルのハッシュ値と書き出しが許可された出力先とが対応して記憶されている。
また、この一時ポリシーファイルは図6で説明した監視ポリシーファイルを保護する処理(図14)と同様に、フィルタドライバ(ファイルシステム)304によって、エージェントプログラム以外から該当する記録領域へのアクセスが禁止されている。従って、他のプログラムからは、内容を閲覧したり、書き換えたりすることはできない。本処理は、本発明の記憶手段、禁止条件設定手段の処理例である。
次に、クライアント端末101の制御・通信サービスプログラム303は、ステップS2405で作成した一時ポリシーファイルを参照し、現在の時刻が一時ポリシーファイルのExpiredtプロパティで定義している有効期間内であるか判断する(ステップS2406)。なお、ステップS2406は、本発明の期間判定手段の処理例である。
もし、有効期限外の場合、クライアント端末101の制御・通信サービスプログラム303は、一時書き込みプログラム302の起動画面を無効にする(ステップS2415)。
逆に、有効期限内の場合、クライアント端末101の制御・通信サービスプログラム303は、一時書き込みプログラム302の起動画面を有効にする(ステップS2407)。
以上の処理により、ステップS2403からステップS2407とステップS2445の一時ポリシー適用処理が完了する。
次に、ステップS2408からステップS2412の一時書き込み処理について説明する。
まず、クライアント端末101のCPU201は、申請者の画面操作により、一時書き込みプログラム302を起動し、一時書き込み設定画面(図51)を表示する。一時書き込み設定画面には、一時許可申請で承認されたファイルとファイルを出力するデバイスの種類と製品名、ファイルを出力するデバイスのパス、ファイルを出力するデバイスのボリュームシリアルID、ベンダーID、プロダクトID、シリアルID、そして、書き込み条件が表示される。
そして、申請者によって5101の書き込みボタンが押下されると(ステップS2408)、クライアント端末101の一時書き込みプログラム302は、書き込み条件の判定処理を実行する(ステップS2409)。
ここで、書き込み条件とは、一時許可申請承認画面(図42)で入力されたファイル書き込みを許可する期間と回数、一時許可申請で申請したファイルのパスとハッシュ値を含む情報である。一時書き込みプログラム302は、ファイルをデバイスにコピーする際、上記値を参照し、出力するファイルが書き込み条件の値を満たしている場合のみ、ファイルをデバイスにコピーする。
以下、図52を参照して、書き込み条件の判定処理を説明する。なお、図52に示すステップS5201乃至ステップS5206の処理は、クライアント端末101のCPU201が、外部メモリ211等の記憶手段に格納された一時書き込みプログラム302をRAM203にロードして実行することにより実現される。
まず、クライアント端末101の一時書き込みプログラム302は、クライアント端末101の外部メモリ211に格納されている一時ポリシーファイルのExpiredtプロパティを参照する。そして、クライアント端末101の一時書き込みプログラム302は、現在の時刻が、一時ポリシーファイルで設定されている有効期限内であるかを判定する(ステップS5201)。
そして、現在の時刻が一時ポリシーファイルで設定されている有効期限を過ぎている場合、一時書き込みプログラム302は、書き込み条件に一致しないと判定する(ステップS5208)。
一方、現在の時刻が一時ポリシーファイルで設定されている有効期限を過ぎていない場合、一時書き込みプログラム302は、クライアント端末101の外部メモリ211に格納されている一時ポリシーファイルのCountプロパティを参照する。そして、一時書き込みプログラム302は、書き込み処理可能な回数が1以上であるか判定する(ステップS5202)。
そして、書き込み処理可能な回数が1未満の場合、一時書き込みプログラム302は、書き込み条件に一致しないと判定する(ステップS5208)。一方、書き込み処理可能な回数が1以上の場合、一時書き込みプログラム302は、出力先デバイスの確認処理を実行する(ステップS5203)。そして、出力先デバイスの確認処理で、ファイルを出力するデバイスが申請時と同じデバイスであると判定された場合、次のステップに進む(ステップS5204)。一方、出力先デバイスの確認処理で、ファイルを出力するデバイスが申請時と同じデバイスでないと判定された場合、一時書き込みプログラム302は、書き込み条件に一致しないと判定する(ステップS5208)。なお、ステップS5203は、本発明のデバイス判定手段の処理例である。
次に一時書き込みプログラム302は、図51の画面を介してデバイスへの書き込みが指示されたファイルのハッシュ値をOSから取得し、一時ポリシーファイル(図50)に含まれるHASHID(HASHIDには、絶対パスとハッシュ値が含まれている)内の絶対パスを取得する。ここで取得する絶対パスは、一時書き出しの承認依頼した際に、書き出すファイルが格納されていた絶対パスである。(ステップS5205)。また、ここで、図51の画面を介して書き込み指示されたファイルのハッシュ値は、次のような処理により、OSから取得することができる。まず、一時書き込みプログラム302は、OSに対して当該ファイルのハッシュ値の取得依頼を行うと、OSは当該ファイルのハッシュ値を演算して取得して、一時書き込みプログラム302に渡す。これにより、一時書き込みプログラム302は、図51の画面を介して書き込み指示されたファイルのハッシュ値をOSから取得することができる。
そして、一時書き込みプログラム302は、クライアント端末101の外部メモリ211に格納されている一時ポリシーファイルのHASHIDプロパティ内に、ステップS5205で取得したハッシュ値と絶対パスが含まれているか検索する(ステップS5206)。
具体的には、一時ポリシーファイルを検索し、図51の画面を介して書き出し指示がされたファイルのハッシュ値が、一時ポリシーファイル内のハッシュ値と同じかを判定する。
ここで、ハッシュ値とは、書き出すファイル(データ)を一意に特定できる識別情報である。なお、ステップS5206は、本発明のデータ判定手段の処理例である。
もし、HASHIDプロパティにハッシュ値と絶対パスが含まれていた場合、即ち、図51の画面を介して書き出し指示がされたファイルのハッシュ値と一時ポリシーファイル内のハッシュ値とが同じと判定された場合、クライアント端末101の一時書き込みプログラム302は、一時許可申請を行ったファイルと同じファイルであると判断し、書き込み条件に一致すると判定フラグを設定する(ステップS5207)。なお、ステップS5207は、本発明の出力許可手段の処理例である。
逆に、HASHIDプロパティにハッシュ値が含まれていない場合、即ち、図51の画面を介して書き出し指示がされたファイルのハッシュ値と一時ポリシーファイル内のハッシュ値とが異なると判定された場合、一時書き込みプログラム302は、一時許可申請を行ったファイルと同じファイルではないと判定し、書き込み条件に一致しないと判定フラグを設定する(ステップS5208)。以上の処理により、書き込み条件の判定処理が完了する。なお、ステップS5203の出力デバイスの確認処理とは、図55の処理を指す。以上のよりにより、一時的に使用が許可されたデバイスに対して一時的に書き出しが許可されたデータの出力を当該デバイスのみに対して許可することにより、情報の漏洩を防止することが可能となる。
以下、図55を参照して、書き込み条件の判定処理を説明する。まず、はじめに一時書き込みプログラム302は、クライアント端末101の外部メモリ211に格納されている一時ポリシーファイルのOUTPUTPATHプロパティに設定されている出力先デバイスのパスが存在するかを判定する(ステップS5501)。すなわち、図51の画面を介して書き出し指示されたファイルの書き出し先(出力先)(出力先デバイスのパス)と、一時ポリシーファイル内の書き出しが許可されたデバイスへの書き出し先(出力先デバイスのパス)とが同じかを判定する。もし、出力先デバイスのパスが存在する場合、すなわち、図51の画面を介して書き出し指示されたファイルの書き出し先(出力先)(出力先デバイスのパス)と、一時ポリシーファイル内の書き出しが許可されたデバイスへの書き出し先(出力先デバイスのパス)とが同じと判定された場合、次のステップに進む。一方、出力先デバイスのパスが存在しない場合、一時書き込みプログラム302は、ファイルを出力するデバイスが申請時のデバイスと異なると判定し、処理を終了する(ステップS5508)。
次に、一時書き込みプログラム302は、ファイルを出力するデバイスのボリュームシリアルIDを取得し、一時ポリシーファイルのVOLUMSERIALIDプロパティと一致するか判定する(ステップS5502)。もし、VOLUMSERIALIDプロパティの値と一致する場合は、次のステップに進む。一方、一時ポリシーファイルのVOLUMSERIALIDプロパティと一致しない場合、一時書き込みプログラム302は、ファイルを出力するデバイスが申請時のデバイスと異なると判定し、処理を終了する(ステップS5508)。
次に、一時書き込みプログラム302は、ファイルを出力するデバイスの種類を取得し、一時ポリシーファイルのDEVICETYPEプロパティと一致するか判定する(ステップS5503)。もし、DEVICETYPEプロパティと一致する場合、次のステップに進む。一方、一時ポリシーファイルのDEVICETYPEプロパティと一致しない場合、一時書き込みプログラム302は、ファイルを出力するデバイスが申請時のデバイスと異なると判定し、処理を終了する(ステップS5508)。
次に、一時書き込みプログラム302は、ファイルを出力するデバイスの製品名を取得し、一時ポリシーファイルのDEVICENAMEプロパティと一致するか判定する(ステップS5504)。もし、DEVICENAMEプロパティと一致する場合、次のステップに進む。一方、一時ポリシーファイルのDEVICENAMEプロパティと一致しない場合、一時書き込みプログラム302は、ファイルを出力するデバイスが申請時のデバイスと異なると判定し、処理を終了する(ステップS5508)。
次に、一時書き込みプログラム302は、ファイルを取得するデバイスの種類を取得し、USBメモリであるかを判定する(ステップS5505)。もし、USBメモリでない場合、一時書き込みプログラム302は、ファイルを出力するデバイスが申請時と同じデバイスであると判定する(ステップS5507)。一方、USBメモリである場合、一時書き込みプログラム302は、USBメモリのベンダーID、シリアルID、プロダクトIDを取得する。
そして、一時書き込みプログラム302は、一時ポリシーファイルのVENDERIDプロパティ、PRODUCTIDプロパティ、SERIALIDプロパティと一致するか判別する(ステップS5506)。一致している場合、一時書き込みプログラム302は、ファイルを出力するデバイスが申請時と同じデバイスであると判定する(ステップS5507)。逆に、一致していない場合、一時書き込みプログラム302は、ファイルを出力するデバイスが申請時と異なるデバイスであると判定する(ステップS5508)。以上が、出力デバイスの確認処理となる。
これにより、ファイルを出力するデバイスが申請時に指定したデバイスと異なる場合、デバイスへのファイル書き込みを未然に防止することができる。
次に、クライアント端末101の一時書き込みプログラム302は、書き込み条件の判定処理の結果を判定フラグから判定する(ステップS2410)。その結果、書き込み条件に一致しないと判定された場合、一時書き込みプログラム302は、一時書き込みプログラム302の起動画面を無効にする(ステップS2415)。
逆に、書き込み条件に一致すると判定された場合、一時書き込みプログラム302は、ファイルの書き込み処理(図53)を実行する(ステップS2411)。
以下、図53を参照して、ファイルの書き込み処理を説明する。なお、図53に示すステップS5301乃至ステップS5303の処理は、クライアント端末101のCPU201が、外部メモリ211等の記憶手段に格納された一時書き込みプログラム302をRAM203にロードして実行することにより実現される。
また、図53に示すステップS5304乃至ステップS5310の処理は、クライアント端末101のCPU201が、外部メモリ211等の記憶手段に格納されたフィルタドライバ(ファイルシステム)304をRAM203にロードして実行することにより実現される。
まず、クライアント端末101の一時書き込みプログラム302は、自らのプロセスIDを取得し、フィルタドライバ(ファイルシステム)304が保持する許可条件に登録する(ステップS5301)。
ここで、許可条件には、フィルタドライバ312がアクセス制御を行うファイルパスと、そのファイルに対して実行される読み込み命令、書き込み命令、ファイル名の変更命令、削除命令のうちどの命令を許可するかを定義した情報が格納される。そして、上記許可条件の値に一致する場合、フィルタドライバ312は、ファイルの禁止操作を行わない。
なお、許可条件は、ファイルパスの代わりに、プロセスIDを登録することにより、そのプロセスが実行するファイル操作命令を制御することも可能である。
また、フィルタドライバ312は、許可条件のほかに、拒否条件も保持している。拒否条件には、フィルタドライバ312がアクセス制御を行うファイルパスと、そのファイルに対して実行される読み込み命令、書き込み命令、ファイル名の変更命令、削除命令のうちどの命令を禁止するかを定義した情報が格納される。そして、上記拒否条件に一致した場合、フィルタドライバ312は、ファイル操作が禁止する。
次に、クライアント端末101の一時書き込みプログラム302は、オペレーションシステムのAPIを使用して、一時許可申請で申請されたファイルを、指定のデバイスにコピーする(ステップS5302)。
そして、クライアント端末101のフィルタドライバ(ファイルシステム)304は、ステップS5302で実行したファイル操作を検知し、フック処理を実行する(ステップS5304)。
次に、フィルタドライバ(ファイルシステム)304は、そのファイル操作が許可条件に一致するか判定する(ステップS5305)。具体的には、操作の対象ファイルまたはプロセスが、許可条件に登録したファイルまたはプロセス(所定のアプリケーション)と同じであるかを判断する。そして、許可条件で登録したファイルまたはプロセスと同じ場合、ファイル操作命令が許可条件で許可した命令であるかを比較し、判断を行う。本処理は、本発明の許可設定手段、アプリケーション判定手段の処理例である。
許可条件に一致する場合、クライアント端末101のフィルタドライバ(ファイルシステム)304は、下位ドライバへ情報を送信する(ステップS5306)。
一方、判定結果が許可条件に一致する場合、クライアント端末101のフィルタドライバ(ファイルシステム)304は、ファイル操作が拒否条件に一致するか判定する(ステップS5307)。具体的には、操作の対象ファイルまたはプロセスが、拒否条件に登録したファイルと同じであるかを判断する。そして、許可条件で登録したファイルと同じ場合、ファイル操作命令が拒否条件で許可した命令であるかを比較し、判断を行う。
もし、拒否条件に一致しない場合、クライアント端末101のフィルタドライバ(ファイルシステム)304は、下位ドライバへ情報を送信する(ステップS5306)。
一方、拒否条件に一致する場合、クライアント端末101のフィルタドライバ(ファイルシステム)304は、ファイル操作を中断し、ファイル操作を禁止する(ステップS5309)。以上により、ファイルの書き込み処理が完了する。
次に、ファイルの書き込み処理後、クライアント端末101の一時書き込みプログラム302は、クライアント端末101の外部メモリ211に格納されている一時ポリシーファイルのCountプロパティの値を1つ減算する(ステップS5312)。
以上の処理により、ステップS2408からステップS2412の一時書き込み処理が完了する。
次に、ステップS2413からステップS2415およびステップS2431、ステップS2432のログ送信処理について説明する。
まず、クライアント端末101の制御・通信サービスプログラム303は、ステップS2411で書き込み処理したファイルの操作ログ(図17)を管理サーバ103に送信する処理を実行する(ステップS2413)。
次に、管理サーバ103の管理用WEBアプリケーション503は、操作ログを受信する(ステップS2431)。
そして、管理用WEBアプリケーション503は、操作ログを操作ログテーブル(図18)に保存する(ステップS2432)。
次に、クライアント端末101の制御・通信サービスプログラム303は、クライアント端末101の外部メモリ211に格納されている一時ポリシーファイルのExpiredtプロパティを参照する。そして、クライアント端末101の制御・通信サービスプログラム303は、現在の時刻が、一時ポリシーの有効期間を過ぎているか判定する(ステップS2414)。
現在の時間が、一時ポリシーの有効期限を過ぎている場合、クライアント端末101の制御・通信サービスプログラム303は、一時書き込みプログラム302の起動画面を無効にする。
一方、一時ポリシーの有効期限を過ぎていない場合、クライアント端末101の制御・通信サービスプログラム303は、管理者の画面操作に基づいてエージェントプログラムが終了されるのを待つか、または、ステップS2408に戻り、申請者の画面操作により、ファイル書き込み処理が発生するのを待つ。
以上の処理により、ステップS2412からステップS2415およびステップS2431、ステップS2432のログ送信処理が完了する。
以上が本実施形態におけるデバイス制限システムの自動承認機能および要約レポート作成機能の処理手順となる。
以上のように、本実施形態においては、ファイル単位でデバイスに格納されるファイルを制御することができ、また、過去の承認履歴を使用して自動承認するため、管理者の負担を軽減することができる。さらに、管理者の承認処理においても、申請されたファイルの内容を分析し、レポート表示するため、管理者は容易にファイルの内容を把握し、承認処理することが可能である。
これにより、管理者の意図しない情報が外部に持ち出されることを防止するとともに、管理者の負担を大幅に軽減することができる。
また、一時的に使用が許可されたデバイスに対して一時的に書き出しが許可されたデータの出力を当該デバイスのみに対して許可することにより、情報の漏洩を防止することが可能となる。
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。