以下、本発明の実施の形態について図面を参照しながら説明する。
図1は、本実施の形態に係るデバイス制限システムの構成を概略的に示すブロック図である。図1に示す如く、本実施形態に係るデバイス制限システムは、クライアント端末101と、管理者端末102と、管理サーバ103とが、LAN等のネットワーク(通信回線)104を介して相互に通信可能に接続された構成となっている。なお、図1に示すデバイス制限システムは、本発明の情報処理システムの一構成例である。
クライアント端末101と、管理者端末102と、管理サーバ103とは、コンピュータ等の情報処理装置で構成される。
クライアント端末101は、ユーザが利用する端末である。このクライアント端末101には、エージェントプログラムとフィルタドライバがインストールされている。クライアント端末101は、管理サーバ103から配布される監視ポリシーにより、端末に接続されているデバイス(ハードディスクやUSBメモリ等)を制御する機能や操作ログを管理サーバ103に送信する機能を有している。
管理者端末102は、管理者が利用する端末である。この管理者端末102は、端末にインストールされているWEBブラウザを通じて管理サーバ103に接続し、システムの設定や状態を操作、閲覧する機能を有している。
管理サーバ103は、クライアント情報や監視ポリシー等のシステム情報を保持する管理サーバである。管理サーバ103は、管理者端末102に対してシステム設定画面を提供する機能やクライアント端末101からの操作ログを受信する機能、監視ポリシーを配布する機能を有している。
また、クライアント端末101、管理者端末102、管理サーバ103は、それぞれ複数台あっても構わない。
図2は、図1におけるクライアント端末101、管理者端末102、管理サーバ103の情報処理装置のハードウェア構成を概略的に示すブロック図である。
図2において、201はCPU201であり、システムバス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で構成される。
また、クライアント端末101は、通信回線を介してプリンタ314と相互に通信可能に接続している。プリンタ314は、クライアント端末101からの印刷指示に応じて、印刷出力することができる。
設定用プログラム301は、エージェントプログラムを停止するための停止画面や各種申請を行なう申請画面等、ユーザ操作画面を提供する。
一時書き込みプログラム302は、一時書き込み機能によりデバイスの一時利用が許可された場合、クライアント端末101に接続されたデバイスへファイルを書き出す機能を提供する。
制御・通信サービスプログラム303は、常駐プログラムとして動作し、フィルタドライバ(ファイルシステム)304とフィルタドライバ(CD−RW/DVDライティング)305に対する動作設定、管理サーバ103から監視ポリシーを取得する機能や操作ログを送信する機能を提供する。
印刷監視モジュール310は、制御・通信サービスプログラム303内で呼び出されるモジュールで、印刷の実行を制御する機能を提供する。
また、印刷監視モジュール310を含む制御・通信サービスプログラム303と、設定用プログラム301と、一時書き込みプログラム302とから、エージェントプログラム311は構成される。
フィルタドライバ(ファイルシステム)304は、ハードディスクやUSBメモリ、フロッピー(登録商標)ドライブ、共有フォルダのデバイスに対するファイル操作を監視し、制御・通信サービスプログラム303より設定された動作条件に基づいて、操作を禁止する機能を提供する。
フィルタドライバ(CD−RW/DVDライティング)305は、CD−R、CD−RW、DVD等の光ディスクに対する操作を監視し、制御・通信サービスプログラム303より設定された動作条件に基づいて、操作を禁止する機能を提供する。
また、フィルタドライバ312は、フィルタドライバ(ファイルシステム)304とフィルタドライバ(CD−RW/DVDライティング)305とから構成される。
ファイルシステムドライバ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とそのオペレーティング上で動作するプログラムであるWEBブラウザアプリケーション401、電子メール受信アプリケーション402で構成される。また、これらのプログラム(401、402、403)は、図2に示す外部メモリ211に格納される。
管理者は、このWEBブラウザアプリケーション401を利用して管理サーバ103へ接続し、システム情報の設定や閲覧を行う機能を提供する。
また、電子メール受信アプリケーション402は、管理サーバ103からの電子メールを受信する機能を提供する。
図5は、図1における管理サーバ103のモジュール構成を概略的に示すブロック図である。
管理サーバ103は、オペレーティングシステム505とそのオペレーティング上で動作するプログラムであるログ受信プログラム501、WEBサーバ502、管理用WEBアプリケーション503、データベース504で構成される。また、これらのプログラム(501乃至505)は、図2に示す外部メモリ211に格納される。
ログ受信プログラム501は、クライアント端末101からの操作ログを受信し、データベースに格納する機能を提供する。
管理用WEBアプリケーション503は、WEBサーバ502上で動作し、管理者端末102にインストールされているWEBブラウザアプリケーション401からの要求に対して、設定画面やシステム情報、操作ログ情報を提供する機能とクライアント端末101からの監視ポリシー取得要求に対して、監視ポリシーを配布する機能を提供する。
次に、データベース504は、設定されたシステム情報の保存やクライアント端末101から送信された操作ログを保存する機能を提供する。
また、図3乃至図5に示した各モジュールは、図2の211に示すハードディスクやフロッピー(登録商標)ディスクに格納される。
図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に示すフローチャートの各ステップについて説明する。
はじめに、ステップS651、ステップS652とステップS621、ステップS622の監視ポリシー作成処理について説明する。
まず、管理者端末102のCPU201は、管理者による画面操作に基づいて、WEBブラウザアプリケーション401を起動し、ディスプレイにWEBブラウザを表示する。
そして、管理者端末102のWEBブラウザアプリケーション401は、管理サーバ103の管理用WEBアプリケーション503に接続し、承認情報(ユーザIDやパスワード)を送信する(ステップS651)。
次に、管理サーバ103の管理用WEBアプリケーション503は、管理者端末102から送信された認証情報を受信し、認証処理を実行する(ステップS621)。ここでいう認証処理とは、IDとパスワードによる認証やスマートカード等の認証デバイスによる認証を意味する。
次に、認証処理が成功した場合、管理サーバ103の管理用WEBアプリケーションは、管理者端末102に、監視ポリシー(図10)を入力するための監視ポリシー設定画面(図9)の情報(WEBブラウザに表示するための表示情報)を送信する。
そして、管理者端末102のWEBブラウザアプリケーション401は、当該監視ポリシー設定画面の情報を受信すると、当該情報に基づいてWEBブラウザに監視ポリシー設定画面(図9)を表示する。
また、認証処理が失敗した場合、管理サーバ103の管理用WEBアプリケーションは、管理者端末102に、承認に失敗した旨のエラーメッセージを表示するための表示情報(WEBブラウザに表示するための表示情報)を送信する。
そして、管理者端末102のCPU201は、当該表示情報を受信すると、当該情報に基づいて承認に失敗した旨のエラーメッセージ(不図示)をWebブラウザに表示する。
なお、監視ポリシー設定画面(図9)には、ポリシーセット名(監視ポリシー名)(0901)、コメントの入力欄(0902)、ローカルデバイスへのアクセス制御及びログを取得するか否かを設定する入力欄(0903、0904、0905、0906、0907)、印刷の制御と操作ログを取得するか否かを設定する入力欄(0908)、共有フォルダへのアクセス制御と操作ログを取得するか否かを設定する入力欄(0909)が表示される。
ここで、ローカルデバイスの一例として、フロッピー(登録商標)ディスク、リムーバブルディスク、ローカルハードディスク、光ディスクを示しているが、これ以外の記憶媒体を設定するようにしても構わない。
次に、光ディスクへのアクセス制御とログを取得するか否かを設定する入力欄(0906、0907)に関して簡単に説明する。
0906は、パケットライトによる光ディスクへのアクセス制御とログを取得するか否かを設定するための入力欄(CD、DVD(パケットライト))である。0907は、ライティングソフトによる光ディスクへのアクセス制御とログを収集するか否かを設定するための入力欄(CD/DVDライティングソフト)である。
以下に、図9の監視ポリシー設定画面を用いて、どのように、アクセス制御とログを収集するか否かを設定するかについて説明する。
まず、0903の入力欄を例に、ローカルデバイスへのアクセス制御及びログを取得するか否かを設定する方法について説明する。
0903の入力欄には、ログに関して、「Read」、「Write」、「Delete」、「Rename」のチェックボックスが表示されている。
図9の例では、フロッピー(登録商標)ディスクに関して、これら全てのチェックボックスにチェックされている。これは、フロッピー(登録商標)ディスクに記憶されているデータを「読み込んだ」場合、フロッピー(登録商標)ディスクにデータを「記憶させた(書き込んだ)」場合、フロッピー(登録商標)ディスクに記憶されたデータを「消去した」場合、フロッピー(登録商標)ディスクに記憶されている「データの名称(ファイル名等)を変えた」場合には、ともにそのログを操作ログとして収集(取得)する設定であることを示している。また、チェックボックスにチェックされていない項目については、当該項目に該当する操作をしたとしても、当該操作に関するログを取得しないことを示している。
また、0903の入力欄には、アクセス制御に関して、「あり」、「リードオンリー」、「全て禁止」のラジオボタンが表示されている。
図9の例では、「リードオンリー」が選択されており、これはフロッピー(登録商標)ディスクに記憶されたデータを読み込むことのみを許可している設定を示している。即ち、フロッピー(登録商標)ディスクにデータを書き込む(記憶させる)ことや、フロッピー(登録商標)ディスクに記憶されたデータを消去したり、当該データの名称(ファイル名)を変更すること等はできない設定となっている。
また、0904、0905、0906に関しては、フロッピー(登録商標)ディスクではなく、リムーバブルディスクやローカルディスク、光ディスク等へのアクセス制御及び、ログを収集するか否かを同様に設定することができる。
0907には、ライティングソフトにより、光ディスクへのデータの書き込みを許可するか否かを設定するチェックボックスと、ライティングソフトにより光ディスクにアクセスした場合に、ログを収集するか否かを設定するチェックボックスとが表示されている。
当該光ディスクへのデータの書き込みを許可するか否かを設定するチェックボックスに、チェックがされていれば、ライティングソフトにより光ディスクへのデータの書き込みを許可する。ログを収集するか否かを設定するチェックボックスにチェックがされていれば、ライティングソフトにより光ディスクにアクセスした場合に、ログを収集する設定がされていることを示している。また、これらの項目にチェックが付されていなければ、当該チェックされた項目の設定はされていないことを示す。
また、0908には、プリンタへの印刷を禁止するか否かを設定するためのチェックボックスと、プリンタへの印刷指示を行った場合に、その操作のログを収集するか否かを設定するためのチェックボックスとが表示されている。
図9の例では、0908に表示された、ログを収集するか否かを設定するためのチェックボックスにチェックされているため当該ログをすることを設定していることを示している。また、プリンタへの印刷を禁止するか否かを設定するためのチェックボックスにチェックがされていれば、プリンタへの印刷を禁止する設定がされていることを示し、チェックされていなければ、プリンタへの印刷を許可する設定がされていることを示している。
上述した「監視ポリシー(図10)」とは、監視ポリシー設定画面(図9)で入力された、フロッピー(登録商標)ディスク、リムーバブルディスク、ローカルハードディスク、光ディスク、ネットワークドライブに対する読み込み命令、書き込み命令、ファイル名の変更命令、データ削除命令を禁止するか否かの設定やプリンタに対する印刷命令を禁止するか否かの設定、そして、上記命令をログとして記録するかを定義した情報である。
次に、監視ポリシー設定画面(図9)を用いて、管理者により監視ポリシー(図10)が入力され、監視ポリシーの作成ボタン(0910)が押下される。すると、管理者端末102のWEBブラウザアプリケーション401は、入力した監視ポリシーと監視ポリシー名、監視ポリシーの説明を管理サーバ103に送信する(ステップS652)。
次に、管理サーバ103の管理用WEBアプリケーション503は、監視ポリシーと監視ポリシー名、監視ポリシーの説明を受信し(ステップS622)、監視ポリシーテーブル(図11)に格納する(ステップS623)。
ここで、監視ポリシーテーブルには、監視ポリシーを特定するための監視ポリシー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に設定登録されたユーザ名やIPアドレス、コンピュータ名を含む情報である。
なお、このクライアント情報は、ステップS624の監視ポリシーの取得処理で、クライアント情報テーブルから監視ポリシーIDを取得するために利用する。
そして、管理サーバ103の管理用WEBアプリケーション503は、クライアント情報を受信し、クライアント情報テーブル(図8)にクライアント情報を格納する(ステップS621)。
ここで、クライアント情報テーブルには、エージェントプログラム311を識別するためのエージェントID、クライアント端末101のドメイン名、コンピュータ名とIPアドレス、クライアント端末101にログインしているユーザ名と、クライアント端末101に適用する監視ポリシーのID(監視ポリシーID)が格納される。
また、上記監視ポリシーIDは、ステップS622で作成した監視ポリシーIDが格納される。これにより、クライアント情報テーブルの監視ポリシーIDを参照することで、クライアント端末101に適用されている監視ポリシーを知ることができる。
なお、上記実施形態では、クライアント端末101に対して監視ポリシーを適用したが、クライアント端末101にログインするユーザに対して監視ポリシーを適用することも可能である。また、クライアント端末やユーザをグルーピングすることにより、グループ単位で監視ポリシーを適用、管理することも可能である。
以上の処理により、ステップS601、ステップS602とステップS623のインストール処理が完了する。
なお、上記実施形態では、管理者の画面操作に基づいてエージェントプログラム311とフィルタドライバ312をインストールしたが、ディレクトリサービスを利用して自動的にインストールすることも可能である。
次に、ステップS603、ステップS604とステップS624の監視ポリシー適用処理について説明する。
まず、クライアント端末101の常駐プログラムである制御・通信サービスプログラム303は、管理サーバ103に対して監視ポリシー取得要求(図28)を送信する。
ここで、監視ポリシー取得要求とは、図28に示すように、当該クライアント端末101が接続されたドメインの名称(ドメイン名)、当該クライアント端末101のコンピュータ名、当該クライアント端末101のユーザ名、問い合わせの内容を識別する問い合わせ種別ID、エージェントプログラムを識別するエージェントIDを含む情報である。
また、ステップS603の監視ポリシー取得要求の送信処理は、クライアント端末101の制御・通信サービスプログラム303が、管理者の画面操作に基づいて実行するか、または、制御・通信サービスプログラム303が、予め設定された間隔で定期的に実行する。或いは、クライアント端末101の起動時に監視ポリシー取得要求を送信するようにしてもよい。
次に、管理サーバ103の管理用WEBアプリケーション503は、監視ポリシー取得要求を受信し、エージェントID、ドメイン名、ユーザ名、コンピュータ名をキーに、クライアント情報テーブル(図8)を参照し、監視ポリシーIDを取得する。
さらに、取得した監視ポリシーIDをキーに監視ポリシーテーブル(図11)を参照し、監視ポリシー(1101)を取得し、クライアント端末101の制御・通信サービスプログラム303へ監視ポリシーを返信する(ステップS624)。
クライアント端末101は、当該監視ポリシーを受信(取得)すると(ステップS603)、後述するエージェントプログラムのアクセス制御処理(図14)を実行する。
当該アクセス制御処理(図14)は、エージェントプログラムからのアクセスを許可設定する処理である。
次に、監視ポリシーを受信したクライアント端末101の制御・通信サービスプログラム303は、監視ポリシー適用処理(図12)を実行する(ステップS604)。ステップ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)を参照する。そして、クライアント端末101の制御・通信サービスプログラム303は、監視ポリシーで禁止しているデバイスのパスと禁止するファイル操作をフィルタドライバ312が保持する拒否条件(図39)に設定する(ステップS1203)。
ここで、拒否条件(図39)とは、フィルタドライバ312がアクセス制御を行うファイルパスと、そのファイルに対して実行される読み込み命令、書き込み命令、ファイル名の変更命令、削除命令のうち、どの命令を禁止するかを定義した情報が格納される。
具体的には、監視ポリシー設定画面(図9)のフロッピー(登録商標)ディスクのアクセス制御909のように、アクセス制御がリードオンリー(読み込み操作のみ許可)に設定されている場合、拒否条件には、フロッピー(登録商標)ディスクドライブのパスとそのパスに対する書き込み命令、ファイル名の変更命令、削除命令の禁止が登録される。これにより、フロッピー(登録商標)ディスクに格納されているファイルに対して、任意のプログラムから書き込み命令が実行された場合、フィルタドライバ312により、操作を禁止することができる。
また、この拒否条件は、図42に示すようにフロッピー(登録商標)ディスク、リムーバブルディスク、ローカルハードディスク、CD・DVDドライブ、ネットワークドライブ毎に設定される。また、全ての文字列を意味する*(アスタリスク)等ワイルドカード文字を使用して、ファイルパスを設定することも可能である。
なお、各アクセス制御の項目(なし、リードオンリー、全て禁止)に対応する禁止命令を図40に示す。
また、ファイルドライバ312は、拒否条件の他に、許可条件(図38)を保持する。この許可条件とは、フィルタドライバ312がアクセス制御を行うファイルパスと、そのファイルに対して実行される読み込み命令、書き込み命令、ファイル名の変更命令、削除命令のうち、どの命令を許可するかを定義した情報が格納される。
また、この許可条件は、ファイルパスの代わりに、プロセスIDを登録することにより、そのプロセスが実行するファイル操作命令を制御することも可能である。
具体的には、図14のステップS1404のように、制御・通信サービスプログラム303のプロセスIDが、許可条件に登録された場合(図43)、制御・通信サービスプログラム303から実行されるファイル操作命令は、拒否条件に登録されているフォルダやファイルに対しても、常に実行が許可される。
以上の処理により、図12に示す監視ポリシー適用処理が完了する。これにより、クライアント端末101において、監視ポリシーで禁止しているファイル操作が実行された場合、フィルタドライバ312がファイル操作を中断させることが可能となる。
なお、ステップS1201で保存した監視ポリシーファイルは、エージェントプログラムが格納されているフォルダと同じフォルダに格納される。このフォルダは、クライアント端末101のフィルタドライバ(ファイルシステム)304によって、エージェントプログラム以外のプログラムからアクセスを禁止している。その為、他のプログラムからフォルダ内のファイルを閲覧することや情報を書き込むことはできない。
以下、図14を参照して、エージェントプログラムフォルダのアクセス制御処理を説明する。なお、図14のステップS1401乃至ステップS1404の処理は、クライアント端末101のCPU201が、外部メモリ211等の記憶手段に格納された制御・通信サービスプログラム303をRAM203にロードして実行することにより実現される。
まず、クライアント端末101の常駐プログラムである制御・通信サービスプログラム303は、エージェントプログラムが格納されているフォルダのパスを取得する(ステップS1401)。
そして、フィルタドライバ(ファイルシステム)304が保持する拒否条件(図39)に、ステップS1401で取得したエージェントプログラムのパスと、そのパスに対する読み込み命令、書き込み命令、ファイル名変更命令、削除命令の禁止を設定する(ステップS1402)。
次に、クライアント端末101の制御・通信サービスプログラム303は、自身のプロセスIDを取得する(ステップS1403)。
そして、フィルタドライバ(ファイルシステム)304が保持する許可条件に、ステップS1403で取得したプロセスIDと、そのプロセスに対する読み込み命令、書き込み命令、ファイル名変更命令、削除命令の許可を設定する(ステップS1404)。
以上の処理により、図14に示すエージェントプログラムフォルダのアクセス制御処理が完了する。これにより、他のプログラムが、監視ポリシーファイルおよびエージェントプログラムを操作することができない。
以上の処理により、ステップS603、ステップS604とステップS624の監視ポリシー適用処理が完了する。
次に、ステップS605からステップS608とステップS6010のデバイス操作が行われた場合の処理について説明する。
まず、クライアント端末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は、ファイル操作の内容が拒否条件(図39)に一致するかチェックを実行する(S1604)。
具体的には、操作の対象ファイルが、拒否条件に登録したファイルと同じであるかを判断する。そして、拒否条件で登録したファイルと同じ場合、ファイル操作命令が拒否条件で禁止している命令であるかを比較し、判断を行う。
次に、拒否条件に一致しない場合、クライアント端末101のフィルタドライバ312は、下位ドライバへ情報を送信し、処理を完了する(ステップS1607)。
一方、ステップS1705において、拒否条件に一致する場合、クライアント端末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)。そして、管理サーバ103のログ受信プログラム501は、操作ログを操作ログテーブル(図18)に格納する(ステップS627)。
一方、操作ログを送信しない場合、クライアント端末101の制御・通信サービスプログラム303は、ステップS609の処理を実行せず、次のステップに進む。
以上の処理により、ステップS608、ステップS609とステップS626、ステップS627の処理の操作ログの記録処理が完了する。
なお、上記ステップS603〜610の処理は、オペレーティングシステム308が終了するか、ユーザの画面操作に基づいて、クライアント端末101のCPU201がエージェントプログラムを停止するまで実行する。
次に、ステップS611のエージェントプログラム停止処理について説明する。
まず、クライアント端末101の設定用プログラム301は、ユーザの操作に基づいて、エージェントプログラムの停止命令が実行されると、エージェントプログラムの停止処理を実行する(ステップS611)。
以下、図37を参照して、エージェントプログラムの停止処理について説明する。
なお、図37のステップS3701の処理は、クライアント端末101のCPU201が、外部メモリ211等の記憶手段に格納された設定用プログラム301をRAM203にロードして実行することにより実現される。
また、図37のステップS3702からステップS3705の処理は、クライアント端末101のCPU201が、外部メモリ211等の記憶手段に格納された制御・通信サービスプログラム303をRAM203にロードして実行することにより実現される。
まず、クライアント端末101の設定用プログラム301は、パスワード入力画面(不図示)を表示する(ステップS3701)。
そして、クライアント端末101の設定用プログラム301は、ユーザによりパスワード入力画面を用いてパスワードが入力された後、常駐プログラムである制御・通信サービスプログラム303に対して、エージェントプログラムの停止命令とパスワードを通知する(ステップS3702)。
次に、制御・通信サービスプログラム303は、予め決められたパスワードと設定用プログラム301から通知されたパスワードが一致しているか比較する(ステップS3703)。
そして、一致している場合、フィルタドライバ312および印刷制御プログラム310に対して、停止命令を送信する(ステップS3704)。
さらに、制御・通信サービスプログラム303は、自らのプログラムを終了し、エージェントプログラムの停止処理を完了する(ステップS3705)。
以上の処理により、ステップS511のエージェントプログラム停止処理を完了する。なお、上記パスワードによる認証処理は、故意にエージェントプログラムを停止させ、デバイス制限機能を無効にすることを防ぐためである。
最後に、ステップS625とステップS653の監視ログ閲覧処理について説明する。
まず、管理者端末102のCPU201は、WEBブラウザアプリケーション401を起動し、WEBブラウザアプリケーション401に検索画面(不図示)を表示する。
そして、ユーザの画面操作により検索条件が入力されると、管理者端末102のWEBブラウザアプリケーション401は、管理サーバ103の管理用WEBアプリケーション503に検索条件を送信する(ステップS653)。
次に、管理サーバ103の管理用WEBアプリケーション503は、操作ログテーブル(図18)を参照し、検索条件に一致する操作ログを取得し、管理者端末102に送信する(ステップS625)。
そして、管理者端末102のWEBブラウザアプリケーション401は、操作ログの内容を表示する。
以上の処理により、ステップS625とステップ653の監視ログ閲覧処理が完了する。以上が、本実施形態におけるデバイス制限システムの処理手順となる。
図19は、本実施形態におけるデバイス制限システムの一時許可機能についての一例を示すフローチャートである。なお、以下に説明する処理は、監視ポリシーによって該当するストレージデバイスに対して要求されるデータの持ち出しが禁止されているが、申請者が一時的に当該データの持ち出しを行いたい場合に実行される処理である。
はじめに、図19に示す各ステップを実行する装置について説明する。まず、図19に示すステップS1901乃至ステップS1912の処理は、クライアント端末101のCPU201が、外部メモリ211等の記憶手段に格納された設定用プログラム301と制御・通信サービスプログラム303をRAM203にロードして実行することにより実現される。
そして、図19に示すステップS1913乃至ステップS1923の処理は、クライアント端末101のCPU201が、外部メモリ211等の記憶手段に格納された一時書き込みプログラム302をRAM203にロードして実行することにより実現される。
次に、図19に示すステップS1981乃至ステップS1986の処理は、管理者端末102のCPU201が、外部メモリ211等の記憶手段に格納されたWEBブラウザアプリケーション401と電子メール受信アプリケーション402をRAM203にロードして実行することにより実現される。
また、図19に示すステップS1931とステップS1932の処理は、管理サーバ103のCPU201が、外部メモリ211等の記憶手段に格納されたログ受信プログラム501をRAM203にロードして実行することにより実現される。
最後に、図19に示すステップS1951乃至ステップS1966の処理は、管理サーバ103のCPU201が、外部メモリ211等の記憶手段に格納された管理用WEBアプリケーション503をRAM203にロードして実行することにより実現される。
以上が、図19に示す各ステップを実行する装置である。
次に、図19に示すフローチャートの各ステップについて説明する。
はじめに、ステップS1901からステップS1903およびステップS1951、ステップS1959の一時許可申請処理について説明する。
まず、クライアント端末101のCPU201は、申請者の画面操作に基づいて、設定用プログラム301を起動し、一時許可申請画面(図20)を表示する(ステップS1901)。ここで、一時許可申請画面には、一時許可申請画面に申請者名(2001)、申請理由(2002)、管理者が承認した場合に通知する為の電子メールアドレス(2003)(以降、承認通知メールアドレスと記述する)、ファイルを出力するUSBメモリ等の記憶装置のシリアルID(2005)を入力する項目が表示される。ここで、シリアルIDとは、記憶装置を識別可能な固有な情報である。ここでは、ファイルを出力する記憶装置としてUSBメモリを例に説明する。
図20に示す一時許可申請画面のシリアルIDの取得ボタン(2006)がユーザによってクリックされるとファイルダイアログが表示される。このファイルダイアログには、1又は複数のドライブが表示される。そして、CPU201は、当該表示された1又は複数のドライブの中から、ユーザにより、USBメモリが接続されたドライブが選択(指定)されたことを認識すると、当該USBメモリのシリアルID(2005)をOSから取得する。
このように、ユーザにより、USBメモリが接続されたドライブが指定されることにより、当該USBメモリのシリアルIDを取得することができるが、USBメモリのシリアルIDの入力欄(2005)に、ユーザが直接、シリアルIDを入力しても構わない。
次に、申請者の画面操作により各項目が入力され、申請ボタン(2004)が押下されると、クライアント端末101の設定用プログラム301は、入力された情報を制御・通信サービスプログラム303に通知する(ステップS1902)。
そして、常駐プログラムである制御・通信サービスプログラム303は、通知された情報にクライアント端末101のドメイン名、コンピュータ名とクライアント端末101にログインしているユーザ名、エージェントプログラムを識別するエージェントID、管理サーバ103への問い合わせを識別する問い合わせ種別IDを追加し、申請情報(図21)として、管理サーバ103に送信する(ステップS1903)。
次に、管理サーバ103の管理用WEBアプリケーション503は、送信された申請情報(図21)を受信する(ステップS1951)。
そして、管理用WEBアプリケーション503は、受信した申請情報(図21)を一時許可申請テーブル(図22)に格納する(ステップS1959)。ここで、一時許可申請テーブルには、エージェントプログラムを識別するエージェントID、一時許可申請の処理状態を格納する申請状態、一時許可申請を行った時間、一時許可申請を行ったユーザ名、一時許可申請を行ったコンピュータとドメイン名、一時許可申請画面から入力された申請者名、申請理由、(利用したい)入力されたUSBメモリのシリアルID、承認通知アドレスと承認処理を行った場合に格納される承認理由、承認時間を格納することができる。
以上の処理により、ステップS1901からステップS1903およびステップS1951、ステップS1959の一時許可申請処理が完了する。
次に、ステップS1960からステップS1966とステップS1981からステップS1986の一時許可申請の承認処理について説明する。
まず、管理サーバ103の管理用WEBアプリケーション503は、予め設定された管理の電子アドレスに電子メール(図23)を送信する(以降、この電子メールを申請通知メールと記述する)(ステップS1960)。
次に、管理者端末102の電子メール受信アプリケーション402は、管理者の画面操作に基づいて、申請通知メールを受信する(ステップS1981)。
そして、管理者端末102のCPU201は、管理者の画面操作に基づいて、WEBブラウザアプリケーション401を起動し、管理サーバ103の管理用WEBアプリケーション503に接続する(ステップS1982)。
次に、管理サーバ103の管理用WEBアプリケーション503は、申請情報画面(図24)を管理者端末102のWEBブラウザアプリケーション401に送信する(ステップS1961)。
それを受けて、管理者端末102のWEBブラウザアプリケーション401は、管理者申請情報画面(図24)を表示する(ステップS1983)。
ここで、申請情報画面には、一時許可申請の情報(2401)と一時許可申請の許可、拒否(2402)や書き込み条件を入力する項目(2403)、承認理由を入力する項目2404が表示される。
なお、書き込み条件(2403)は、一時許可申請の許可、拒否(2402)で、許可設定が選択されるまで設定を入力することができない。
次に、管理者により、一時許可申請の許可、拒否(2402)が入力されると、一時許可管理者端末102のWEBブラウザアプリケーション401は、一時許可申請の許可、拒否(2402)設定で、許可が選択されたか判定する(ステップS1984)。
そして、許可が選択された場合、管理者端末102のWEBブラウザアプリケーション401は、書き込み条件(2403)の設定を入力可能にし、管理者は、申請情報画面に書き込み条件(2403)の設定を行う(ステップS1985)。
ここで、書き込み条件とは、図25に示すようにデバイス利用を許可する期間、書き出し可能なファイルの数の上限値、書き出し可能なファイルサイズの上限値、ファイルの出力を許可するUSBメモリのシリアルIDを含む情報を意味する。この条件に一致している場合にのみ一時書き込みプログラム302を使用して、デバイスにファイルを出力することができる。
なお、上記実施形態では、書き込み条件に図25に示す条件を使用したが、特定のファイルやファイルの拡張子、所有者によってデバイスへのファイル出力を制限すること等の条件も設定可能である。例えば、図20に示す一時許可申請画面で、データの書き込みを行いたいストレージデバイスを指定し、管理者に申請することができる。
次に、管理者端末102のWEBブラウザアプリケーション401は、管理者により承認の実行ボタン(2405)が押下されると、承認情報を管理サーバ103の管理用WEBアプリケーション503に送信する(ステップS1986)。
ここで、承認情報とは、申請情報画面から設定された一時許可申請の許可(2402)、拒否と書き込み条件(2403)、承認理由(2404)を含む情報である。
次に、管理サーバ103の管理用WEBアプリケーション503は、承認情報を受信し、一時許可申請テーブル(図22)の申請状態、承認時間、承認理由を更新する(ステップS1962)。
そして、管理サーバ103の管理用WEBアプリケーション503は、承認情報を基に、一時許可申請が許可されたかを判断する(ステップS1963)。
もし、一時許可申請が拒否された場合、管理サーバ103の管理用WEBアプリケーション503は、ステップS1964、ステップS1965の処理を行わず、次の処理に進む。
逆に、一時許可申請が許可された場合、管理サーバ103の管理用WEBアプリケーション503は、承認情報を元に一時ポリシーを作成する(ステップS1964)。
ここで、一時ポリシーとは、デバイスへのアクセスを一時的に許可する期間や一時書き込みプログラム302を使用して書き込みを実行できるファイルの数とファイルの最大サイズ、一時許可申請を実行したコンピュータ名、ドメイン名、ユーザ名、エージェントIDを含む情報である。
次に、ステップS1964で作成した一時ポリシーは、管理サーバ103の管理用WEBアプリケーション503により、一時ポリシーテーブル(図26)に格納される(ステップS1965)。
ここで、一時ポリシーテーブルには、エージェントID、ポリシー作成時間、デバイスを一時利用できる有効期間、一時許可申請を行ったユーザ名、コンピュータ名、ドメイン名と一時ポリシーデータを格納することができる。
また、一時ポリシーテーブルの一時ポリシーデータは、ステップS1985で設定した有効期間(Expiredt)、書き込み可能なファイル数(FileCount)、最大ファイルサイズ(FileSize)、ファイルの出力を許可するUSBメモリのシリアルID(USBID)、一時許可申請を実行したコンピュータ(ComputerName)、一時許可申請を実行したコンピュータが所属するドメイン(DomainName)、一時許可申請を実行したユーザ名(UserName)、一時許可申請を実行したエージェントプログラムのエージェントID(agentID)が格納される。
次に、管理サーバ103の管理用WEBアプリケーション503は、承認通知メール(図27)を申請者に送信し、一時許可申請の承認処理が完了したことを申請者に通知する(ステップS1966)。これにより、申請者は、一時許可申請が処理されたことを知ることができる。
以上の処理により、ステップS1960からステップS1966とステップS1981からステップS1986の一時許可申請の承認処理が完了する。
次に、ステップS1904からステップS1907とステップS1952からステップS1955の一時許可申請の処理状況確認処理について説明する。
まず、クライアント端末101の常駐プログラムである制御・通信サービスプログラム303は、管理サーバ103に対して、問い合わせ情報(図28)を送信する(ステップS1904)。
ここで、問い合わせ情報とは、エージェントプログラムを識別するエージェントID、クライアント端末101のドメイン名とコンピュータ名、クライアント端末101にログインしているユーザ名、管理サーバ103への問い合わせを識別する問い合わせ種別IDを含む情報をいう。
次に、管理サーバ103の管理用WEBアプリケーション503は、問い合わせ情報を受信する(ステップS1952)。
そして、管理用WEBアプリケーション503は、送信された問い合わせ情報のエージェントID、ドメイン名、ユーザ名、コンピュータ名をキーにして、一時許可申請テーブル(図22)を参照する。そして、管理用WEBアプリケーション503は、該当する一時許可申請の処理状況を取得する(ステップS1953)。
次に、管理用WEBアプリケーション503は、クライアント端末101に一時許可申請の処理状況を返信する(ステップS1954)。
そして、管理用WEBアプリケーション503は、一時許可申請の処理状況が未承認または拒否されていた場合、クライアント端末101からの再度、問い合わせ情報が送信されるのを待つ。逆に、一時許可申請の処理状況が許可されていた場合、ステップS1956に進む(ステップS1955)。
次に、クライアント端末101の制御・通信サービスプログラム303は、一時許可申請の処理状況を受信する(ステップS1905)。
そして、一時許可申請の処理状況を受け取ったクライアント端末101の制御・通信サービスプログラム303は、結果画面(図29)を表示する(ステップS1906)。
もし、受信した一時許可申請の処理状況が未承認だった場合、クライアント端末101の制御・通信サービスプログラム303は、一定時間経ってから、再度、問い合わせ情報を送信する。
また、一時許可申請の処理状況が承認処理され、一時許可申請が拒否された場合、クライアント端末101の制御・通信サービスプログラム303は、一時書き込みプログラム302を起動できないように、一時書き込みプログラム302の起動画面を無効にする(ステップS1923)。
一方、一時許可申請の処理状況が承認処理され、一時許可申請が許可された場合、クライアント端末101の制御・通信サービスプログラム303は、画面に申請が許可された旨のメッセージ(不図示)を表示する。
以上の処理により、ステップS1904からステップS1907とステップS1952からステップS1955の一時許可申請の処理状況確認処理が完了する。
次に、ステップS1908からステップS1910とステップS1956からステップS1958の一時ポリシー適用処理について説明する。
まず、クライアント端末101のCPU201は、申請者の画面操作に基づいて、設定用プログラム301を起動する。そして、設定用プログラム301は、申請者の画面操作に基づいて、一時ポリシーの取得命令を、常駐プログラムである制御・通信サービスプログラム303に通知する。
次に、通知を受けたクライアント端末101の制御・通信サービスプログラム303は、管理サーバ103に対して、一時ポリシーの配布要求(図30)を送信する(ステップS1908)。
ここで、一時ポリシーの配布要求とは、エージェントプログラムを識別するエージェントID、クライアント端末101のコンピュータ名、ドメイン名、クライアント端末101にログインしているユーザ名、問い合わせの種類を識別するための問い合わせ識別IDを含む情報をいう。
そして、管理サーバ103の管理用WEBアプリケーション503は、一時ポリシーの配布要求を受信する(ステップS1956)。
さらに、管理サーバ103の管理用WEBアプリケーション503は、受信した一時ポリシーの配布要求のエージェントID、ユーザ名、ドメイン名、コンピュータ名をキーに一時ポリシーテーブル(図26)から一時ポリシーを取得する(ステップS1957)。
そして、一時ポリシー(図31)をクライアント端末101の制御・通信サービスプログラム303に返信する(ステップS1958)。
次に、クライアント端末101の制御・通信サービスプログラム303は、一時ポリシーを受信する(ステップS1909)。なお、ステップS1909は、本発明の取得手段の一処理例である。
さらに、クライアント端末101の制御・通信サービスプログラム303は、一時ポリシーファイル(図32)として、クライアント端末101の外部メモリ211にファイル形式で格納する(ステップS1910)。ステップS1910は、本発明の一時的データ持出設定手段の一処理例である。また、一時ポリシーファイルは、本発明の一時データ持出ポリシーの一例である。
なお、この一時ポリシーファイルは図6で説明した監視ポリシーファイルを保護する処理(図14)と同様に、フィルタドライバ(ファイルシステム)304によって、エージェントプログラム以外からの一時ポリシーファイルの記録領域へのアクセスが禁止されている。他のプログラムからは、内容を閲覧したり、書き換えたりすることはできない。本処理は、本発明のデータ持出設定手段の一処理例である。
また、この一時ポリシーファイル(図32)には、一時書き込みプログラム302を使用することができる期間(Expiredtプロパティ)、一時書き込みプログラム302を使用してデバイスに出力することができるファイルの数(FileCountプロパティ)、使用を許可したUSBメモリのシリアルID(USBIDプロパティ)、一時書き込みプログラムを使用してデバイスに出力することができるファイルの最大のデータサイズ(FileSizeプロパティ)、エージェントプログラムを識別するエージェントID(AgentID)、一時許可申請を行ったクライアント端末101のコンピュータ名(ComputerNameプロパティ)、ドメイン名(DomainNameプロパティ)とユーザ名(UserNameプロパティ)が格納される。
以上の処理により、ステップS1908からステップS1910とステップS1956からステップS1958の一時ポリシー適用処理が完了する。
次に、ステップS1911とステップS1912の書き込みプログラムの使用許可判定処理について説明する。
まず、クライアント端末101の常駐プログラムである制御・通信サービスプログラム303は、クライアント端末101のユーザ名、ドメイン名、ユーザ名が、一時ポリシーファイルのComputerNameプロパティ、DomainNameプロパティ、UserNameプロパティと一致する一時ポリシーファイルを検索する。
そして、該当した一時ポリシーファイルに記述されているExpiredtプロパティを参照し、現在の時間が一時ポリシーファイルに定義されている有効期間内であるか判断する(ステップS1911)。
もし、有効期間外の場合、クライアント端末101の制御・通信サービスプログラム303は、一時書き込みプログラム302を起動できないように一時書き込みプログラム302の起動画面を無効にする(ステップS1923)。
逆に、有効期間内の場合、クライアント端末101の制御・通信サービスプログラム303は、一時書き込みプログラム302を起動可能なように、一時書き込みプログラム302の起動画面を有効にする(ステップS1912)。これにより、申請者は、一時書き込みプログラム303の起動が可能となる。
以上の処理により、ステップS1911とステップS1912の一時書き込みプログラム302の使用許可判定処理が完了する。次に、ステップS1912からステップS1918の一時書き込み処理について説明する。
まず、クライアント端末101のCPU201は、申請者の画面操作に基づいて、一時書き込みプログラム302を起動する(ステップS1913)。
次に、クライアント端末101の一時書き込みプログラム302は、書き込み設定画面(図33)を表示する(ステップS1914)。ここで、書き込み設定画面(図33)には、ファイルを出力するデバイスのパスを入力する項目(3301)とデバイスに書き出したいファイルパスを入力する項目(3302)が表示される。
そして、書き込み設定画面(図33)を用いて、申請者によりファイルを出力するデバイスのパスとデバイスに書き出すファイルパスが入力され、書き込みボタン(3303)が押下される。すると、クライアント端末101の一時書き込みプログラム302は、書き込み条件の判定処理(図34)を実行する。
以下、図34を参照して書き込み条件の判定処理を説明する。
なお、図34に示すステップS3401乃至ステップS3406の処理は、クライアント端末101のCPU201が、外部メモリ211等の記憶手段に格納された一時書き込みプログラム302をRAM203にロードして実行することにより実現される。
まず、クライアント端末101の一時書き込みプログラム302は、外部メモリ211に格納されている一時ポリシーファイルのExpiredtプロパティを参照する。そして、クライアント端末101の一時書き込みプログラム302は、現在の時刻が一時ポリシーで設定した有効期間を超えているか判定する(ステップS3401)。
もし、有効期間を超えている場合、書き込み条件に一致しないと判定する(ステップS3406)。逆に、有効期間を超えていない場合、ステップS3402へ進む。
次に、一時書き込みプログラム302は、外部メモリ211に格納されている一時ポリシーファイルのFileCountプロパティを参照する。そして、一時書き込みプログラム302は、一時書き込みプログラム302を使用して出力したファイルの数が、一時ポリシーで設定した上限値を超えているか判定する(ステップS3402)。
もし、設定した値を超えている場合、書き込み条件に一致しないと判定する(ステップS3406)。逆に、設定した値を超えていない場合、ステップS3403へ進む。
次に、一時書き込みプログラム302は、外部メモリ211に格納されている一時ポリシーファイルのFileSizeプロパティを参照する。そして、一時書き込みプログラム302は、書き込みを行うファイルのサイズが、一時ポリシーで設定した最大ファイルサイズを超えているか判定する(ステップS3403)。もし、最大ファイルサイズ以上の場合、書き込み条件に一致しないと判定する(ステップS3406)。
逆に、最大ファイルサイズ以下の場合、ステップS3404に進む。次に、ステップS3404において、一時書き込みプログラム302は、申請者により入力された、ファイルを出力するデバイスのパスから当該デバイスを特定する。そして、一時書き込みプログラム302は、OSに対して当該デバイスのシリアルIDを取得するための要求を行い、OSからシリアルIDを取得する。
そして、当該取得したシリアルIDと一時ポリシーに含まれているシリアルID(USBIDプロパティ)とが同一か否かを判定する(ステップS3404)。シリアルIDが一致しないと判定した場合、書き込み条件に一致しないと判定する(ステップS3406)。逆に、書き込み条件に一致すると、書き込み条件に一致すると判定する(ステップS3405)。以上の処理により、書き込み条件の判定処理が完了する。
また、特定のストレージデバイスに対してのみ、データの書き込みを許可するように制御する方法として、以下のような処理を、ステップS3401からステップS3404の間で、更に実行する。
一時ポリシーの書き込み条件に、管理者より許可されたストレージデバイスを識別する識別情報(例えば、シリアル番号等)が含まれている。この該識別情報と、クライアント端末と通信可能なストレージデバイスの識別情報とを比較し、同一の識別情報であると判定した場合は、ステップS3404の処理を実行し、同一でない場合は、ステップS3405の処理を実行する。
上記実施形態では、ファイルのサイズや書き出すファイルの数を書き込み条件として説明したが、特定のファイルやファイルの拡張子、所有者を書き込み条件とすること等の条件も設定可能である。
次に、ステップS1915の処理で、判定結果が書き込み条件に一致しない場合、クライアント端末101の一時書き込みプログラム302は、書き込み処理を中断する(ステップS1916)。なお、ステップS1915の判定処理は、本発明の持出可否判定手段の一処理例である。
そして、一時書き込みプログラム302は、一時書き込みプログラム302を起動できないようにする為、一時書き込みプログラム302の起動画面を無効にし、処理を終了する(ステップS1923)。逆に、判定結果が条件に一致する場合、クライアント端末101の一時書き込みプログラム302は、ファイルの書き込み処理(図35)を実行する(ステップS1917)。なお、ステップS1917は、本発明の出力許可手段の一処理例である。
以下、図35を参照してファイルの書き込み手順を説明する。
なお、ステップS3501乃至ステップS3503の処理は、管理サーバ103のCPU201が、外部メモリ211等の記憶手段に格納された一時書き込みプログラム302をRAM203にロードして実行することにより実現される。
また、ステップS3504乃至ステップS3510の処理は、管理サーバ103のCPU201が、外部メモリ211等の記憶手段に格納されたフィルタドライバ(ファイルシステム)304をRAM203にロードして実行することにより実現される。
まず、クライアント端末101の一時書き込みプログラム302は、フィルタドライバ(ファイルシステム)304の許可条件(図38)に、一時書き込みプログラム302のプロセスのIDを登録する。これにより、ファイル操作命令(読み込み命令、書き込み命令、ファイル名の変更命令、削除命令)を全て許可するように設定する(ステップS3501)。なお、ステップS3501は、本発明のプロセス許可設定手段の一処理例である。
図44は、ステップS3501で一時書き込みプログラム302のプロセスIDである1001が、許可条件に登録された場合の許可条件を示している。これにより、一時書き込みプログラム302からのファイル操作は、フィルタドライバ(ファイルシステム)304で全て許可される。
次に、クライアント端末101の一時書き込みプログラム302は、一時書き込み設定画面(図33)の3301から入力されたファイルを出力するデバイスのフォルダに、3302で入力されたファイルをコピーする(ステップS3502)。
そして、ステップS3502の処理が実行されると、クライアント端末101のフィルタドライバ(ファイルシステム)304は、ファイル操作を検知する(ステップS3504)。
次に、クライアント端末101のフィルタドライバ(ファイルシステム)304は、検知したファイル操作の内容が、自らが保持する許可条件(図38)に一致するか判定する(ステップS3505)。なお、ステップS3505は、本発明のプロセス判定手段の一処理例である。
具体的には、操作の対象ファイルまたはプロセスが、許可条件に登録したファイルまたはプロセスと同じであるかを判断する。そして、許可条件で登録したファイルまたはプロセスと同じである場合、ファイル操作命令が許可条件で禁止している命令であるかを比較し、判断を行う。
もし、許可条件に一致する場合、クライアント端末101のフィルタドライバ(ファイルシステム)304は、通常通り下位ドライバへ情報を送信する(ステップS3510)。
逆に、許可条件に一致しない場合、クライアント端末101のフィルタドライバ(ファイルシステム)304は、検知したファイル操作の内容が、自らが保持する拒否条件(図39)に一致するか判定する(ステップS3507)。
具体的には、操作の対象ファイルが、拒否条件に登録したファイルと同じであるかを判断する。そして、拒否条件で登録したファイルと同じ場合、ファイル操作命令が拒否条件で禁止している命令であるかを比較し、判断を行う。
そして、拒否条件に一致しない場合、通常通り下位ドライバへ情報を送信する(ステップS3510)。
逆に、拒否条件に一致する場合、クライアント端末101の一時書き込みプログラム302は、ファイル操作を中断する(ステップS3509)。
なお、この一時書き込みプログラム302からのファイル書き込み処理において、ステップS3501で、許可条件に一時書き込みプログラム302のプロセスIDを登録している為、ステップS3507からステップS3509の処理は実行されることはない。
最後に、クライアント端末101の一時書き込みプログラム302は、ステップS3501で登録した許可条件のプロセスIDを削除し、許可条件をファイル書き込み処理実行前の状態に戻す(ステップS3503)。以上の処理により、ファイルの書き込み処理が完了する。
そしてファイルの書き込み処理完了後、クライアント端末101の一時書き込みプログラム302は、クライアント端末101の外部メモリ211に格納されている一時ポリシーファイルのFileCountプロパティの値を、デバイスに出力したファイル数だけ減算する(ステップS1918)。以上の処理により、ステップS1912からステップS1918の一時書き込み処理が完了する。
次に、ステップS1919とステップS1931、ステップS1932の操作ログ記録処理について説明する。
まず、クライアント端末101の一時書き込みプログラム302は、一時書き込みプログラム302で出力したファイルの操作ログ(図36)を、管理サーバ103のログ受信プログラム501に送信する(ステップS1918)。
次に、管理サーバ103のログ受信プログラム501は、操作ログを受信する(ステップS1931)。
そして、ログ受信プログラム501は、操作ログを操作ログテーブル(図18)に格納する(ステップS1932)。
以上の処理により、ステップS1919とステップS1931、ステップS1932の操作ログ記録処理が完了する。
次に、ステップS1920からステップS1923の書き込み条件判定処理について説明する。
まず、操作ログの送信が完了すると、クライアント端末101の一時書き込みプログラム302は、書き込み条件の判定処理(図41)を実行する(ステップS1920)。
以下、図41を参照して、書き込み条件の判定処理を説明する。
まず、クライアント端末101の一時書き込みプログラム302は、外部メモリ211に格納されている一時ポリシーファイルのExpiredtプロパティを参照する。そして、クライアント端末101の一時書き込みプログラム302は、現在の時刻が一時ポリシーで設定した有効期間を超えているか判定する(ステップS4101)。
もし、有効期間を超えている場合、書き込み条件に一致しないと判定する(ステップS4104)。逆に、有効期間を超えていない場合、ステップS4102へ進む。
次に、クライアント端末101の一時書き込みプログラム302は、外部メモリ211に格納されている一時ポリシーファイルのFileCountプロパティを参照する。そして、クライアント端末101の一時書き込みプログラム302は、一時書き込み処理を行ったファイルの数が、一時ポリシーで設定した上限値を超えているか判定する(ステップS4102)。
もし、設定した値を超えている場合、書き込み条件に一致しないと判定する(ステップS4104)。逆に、設定した値を超えていない場合、書き込み条件に一致していると判定する(ステップS4103)。
以上の処理により、書き込み条件の判定処理を完了する。
そして、ステップS1919で判定された結果、書き込み条件に一致しない場合、クライアント端末101の一時書き込みプログラム302は、一時書き込みプログラム302を起動できないように、一時書き込みプログラム302の起動画面を無効にする(ステップS1923)。
一方、書き込み条件に一致する場合、クライアント端末101の一時書き込みプログラム302は、管理者の画面操作に基づいて再度、一時書き込み処理が実行されるのを待つ(ステップS1922)。
以上の処理により、ステップS1920からステップS1923の書き込み条件判定処理が完了する。
なお、一時書き込みプログラム302は、書き込み条件に設定した期限またはファイルの出力回数の条件に一致しないか、申請者の画面操作によってエージェントプログラムが終了されるまで、一時書き込み処理を実行することができる。
以上の処理が、本実施形態におけるデバイス制限システムの一時許可機能の処理手順となる。
以上の構成により、本実施形態においては、デバイスの一時許可機能に二次的な制限や持ち出されたファイルの名前やサイズを記録する処理を実行するため、一時許可機能の不正利用を防止する仕組みを提供することができる。これにより、不正にデバイスの一時許可機能が利用され、情報漏洩が発生することを防止することができる。
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
以上、本発明の一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。