(57)【要約】【課題】  ユーザ負担を増大させることなく、アプリケーションによる二次記憶媒体への不正なアクセスを防止する。【解決手段】  アクセス制御管理部４は、アプリケーション１がオペレーティングシステム２を介して二次記憶媒体３に対してファイル操作を行う際に、オペレーティングシステム２が送出する制御コマンドを取り込み（横取りし）、アクセス制御管理情報テーブル５の情報に従って、二次記憶媒体３または仮想ディスク６に対してアクセス制御を行う。アクセス制御管理部４は、基本的に、オペレーティングシステム２を介するアプリケーション１からの指示に従って、あたかも二次記憶媒体３に対してファイル操作を行うごとく、仮想ディスク６に対してファイル操作を行う。【選択図】  図１
2005258926.tif 000002
【特許請求の範囲】
【請求項１】
仮想記憶手段と、
アプリケーションがオペレーティングシステムを介して二次記憶媒体に対してファイル操作を行う際に、前記オペレーティングシステムからのファイル操作信号を取り込む取込手段と、
前記取込手段により取り込んだファイル操作信号に基づいて、前記仮想記憶手段に対してファイル操作を行うファイルアクセス制御手段と
を具備することを特徴とするファイルアクセス制御装置。
【請求項２】
ファイル種別毎に、前記仮想記憶手段または前記二次記憶媒体へのファイル操作の可否を登録したアクセス制御管理情報記憶手段を具備し、
前記ファイルアクセス制御管理手段は、前記アクセス制御管理情報記憶手段に記憶されているファイル操作の可否に基づいて、前記仮想記憶手段または前記二次記憶媒体へのファイル操作を行うことを特徴とする請求項１記載のファイルアクセス制御装置。
【請求項３】
前記ファイル種別には、前記アプリケーションにより作成されるデータファイルと、前記アプリケーションの動作を規定するアプリケーション設定情報と、前記アプリケーションの作業用の作業ファイルとを含むことを特徴とする請求項２記載のファイルアクセス制御装置。
【請求項４】
アプリケーションがオペレーティングシステムを介して二次記憶媒体に対してファイル操作を行う際に、前記オペレーティングシステムからのファイル操作信号を取り込み、該ファイル操作信号に基づいて、仮想ディスクに対してファイル操作を行うことを特徴とするファイルアクセス制御方法。
【請求項５】
アプリケーションがオペレーティングシステムを介して二次記憶媒体に対してファイル操作を行う際に、前記オペレーティングシステムからのファイル操作信号を取り込むステップと、
前記ファイル操作信号に基づいて、仮想ディスクに対してファイル操作を行うステップと
をコンピュータに実行させることを特徴とするファイルアクセス制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファイルアクセス制御装置、ファイルアクセス制御方法およびファイルアクセス制御プログラムに関する。
【背景技術】
【０００２】
コンピュータなどにおいて実行されるアプリケーションは、オペレーティングシステムを介して、該オペレーティングシステムやその他の重要なデータファイル等が保存されているハードディスク等の二次記憶媒体に対して、データファイルや、アプリケーション設定ファイル、作業ファイルなどの作成（新規）、削除、更新（上書き）などを行う。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、アプリケーションとして、出所不明なアプリケーションや動作挙動の不明なアプリケーションを実行する場合、アプリケーションが二次記憶媒体に対してどのようなファイル操作を行うかが不確実である。このような場合、二次記憶媒体に記憶されているオペレーティングシステムや重要なデータファイルを破壊したり、改竄してしまうなど、不正なアクセスを行う危険性がある。このため、このようなアプリケーションを実行する場合、二次記憶媒体に対してデータを保護するためのセキュリティを設ける必要がでてくるが、このようなセキュリティ設定は、煩雑であり、ユーザ負担が大きいという問題がある。
【０００４】
本発明は、このような事情を考慮してなされたものであり、その目的は、ユーザ負担を増大させることなく、アプリケーションによる二次記憶媒体への不正なアクセスを防止することができるファイルアクセス制御装置、ファイルアクセス制御方法およびファイルアクセス制御プログラムを提供することにある。
【課題を解決するための手段】
【０００５】
この発明は上記の課題を解決すべくなされたもので、本発明は、仮想記憶手段と、アプリケーションがオペレーティングシステムを介して二次記憶媒体に対してファイル操作を行う際に、前記オペレーティングシステムからのファイル操作信号を取り込む取込手段と、前記取込手段により取り込んだファイル操作信号に基づいて、前記仮想記憶手段に対してファイル操作を行うファイルアクセス制御手段とを具備することを特徴とする。
【０００６】
また、本発明は、請求項１記載のファイルアクセス制御装置において、ファイル種別毎に、前記仮想記憶手段または前記二次記憶媒体へのファイル操作の可否を登録したアクセス制御管理情報記憶手段を具備し、前記ファイルアクセス制御管理手段は、前記アクセス制御管理情報記憶手段に記憶されているファイル操作の可否に基づいて、前記仮想記憶手段または前記二次記憶媒体へのファイル操作を行うことを特徴とする。
【０００７】
また、本発明は、請求項２記載のファイルアクセス制御装置において、前記ファイル種別には、前記アプリケーションにより作成されるデータファイルと、前記アプリケーションの動作を規定するアプリケーション設定情報と、前記アプリケーションの作業用の作業ファイルとを含むことを特徴とする。
【０００８】
また、本発明は、アプリケーションがオペレーティングシステムを介して二次記憶媒体に対してファイル操作を行う際に、前記オペレーティングシステムからのファイル操作信号を取り込み、該ファイル操作信号に基づいて、仮想ディスクに対してファイル操作を行うことを特徴とする。
【０００９】
また、本発明は、アプリケーションがオペレーティングシステムを介して二次記憶媒体に対してファイル操作を行う際に、前記オペレーティングシステムからのファイル操作信号を取り込むステップと、前記ファイル操作信号に基づいて、仮想ディスクに対してファイル操作を行うステップとをコンピュータに実行させることを特徴とする。
【発明の効果】
【００１０】
以上説明したように、本発明によれば、アプリケーションがオペレーティングシステムを介して二次記憶媒体に対してファイル操作を行う際に、取込手段により、前記オペレーティングシステムからのファイル操作信号を取り込み、ファイルアクセス制御手段により、前記取込手段により取り込んだファイル操作信号に基づいて、前記仮想記憶手段に対してファイル操作を行う。
したがって、ユーザ負担を増大させることなく、アプリケーションによる二次記憶媒体への不正なアクセスを防止することができるという効果が得られる。
【００１１】
また、本発明によれば、前記ファイルアクセス制御管理手段により、前記アクセス制御管理情報記憶手段にファイル種別毎に記憶されているファイル操作の可否に基づいて、前記仮想記憶手段または前記二次記憶媒体へのファイル操作を行う。
したがって、ユーザ負担を増大させることなく、アプリケーションによる二次記憶媒体への不正なアクセスを防止することができるという効果が得られる。
【００１２】
また、本発明によれば、前記ファイルアクセス制御管理手段により、前記アプリケーションにより作成されるデータファイル、前記アプリケーションの動作を規定するアプリケーション設定情報、前記アプリケーションの作業用の作業ファイル毎に、前記仮想記憶手段または前記二次記憶媒体へのファイル操作を行う。
したがって、ユーザ負担を増大させることなく、アプリケーションによる二次記憶媒体への不正なアクセスを防止することができるという効果が得られる。
【００１３】
また、本発明によれば、アプリケーションがオペレーティングシステムを介して二次記憶媒体に対してファイル操作を行う際に、前記オペレーティングシステムからのファイル操作信号を取り込み、該ファイル操作信号に基づいて、仮想ディスクに対してファイル操作を行う。
したがって、ユーザ負担を増大させることなく、アプリケーションによる二次記憶媒体への不正なアクセスを防止することができるという効果が得られる。
【００１４】
また、本発明によれば、アプリケーションがオペレーティングシステムを介して二次記憶媒体に対してファイル操作を行う際に、前記オペレーティングシステムからのファイル操作信号を取り込むステップと、前記ファイル操作信号に基づいて、仮想ディスクに対してファイル操作を行うステップとをコンピュータに実行させる。
したがって、ユーザ負担を増大させることなく、アプリケーションによる二次記憶媒体への不正なアクセスを防止することができるという効果が得られる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明を実施するための最良の形態について説明する。
【実施例１】
【００１６】
Ａ．実施形態の構成
以下、図面を参照して、本発明のファイルアクセス制御装置の一実施形態について説明する。図１は、本実施形態のファイルアクセス制御装置を適用したコンピュータの略構成を示すブロック図である。本実施形態のファイルアクセス制御装置は、オペレーティングシステムや、ハードディスクなどの書き換え可能な二次記憶媒体を備える、コンピュータなどの情報処理装置に適用可能である。
【００１７】
図において、アプリケーション１は、コンピュータ上で動作するプログラムである。オペレーティングシステム２は、コンピュータ上でシステム全体を制御するプログラムである。本実施形態では、特に、オペレーティングシステム２による、アプリケーション１からのコマンド（この場合、ファイルアクセスコマンドなど）に従って、ハードウェア（この場合、二次記憶媒体３）に対して、ファイルの新規作成、ファイルの読み込み、ファイルの書き込み、上書きなどを行うべく、二次記憶媒体（の制御部）３へ制御コマンドを送出する機能に注目する。なお、本実施形態では、二次記憶媒体３として、オペレーティングシステムや重要な各種設定ファイル、その他の実行プログラム、データファイルなどを保存しているハードディスクドライブを想定している。
【００１８】
アクセス制御管理部４は、オペレーティングシステム２の立ち上げ時に起動されるソフトウェアであり、起動後、オペレーティングシステム２が送出する制御コマンドを取り込み（横取りし）、アクセス制御管理情報テーブル５の情報に従って、二次記憶媒体３または仮想ディスク６に対してアクセス制御を行う。アクセス制御管理部４は、基本的に、オペレーティングシステム２を介するアプリケーション１からの指示に従って、あたかも二次記憶媒体３に対してファイル操作を行うごとく、仮想ディスク６に対してファイル操作を行う。したがって、ユーザからは、二次記憶媒体３に対してファイル操作を行っているか、仮想ディスク６に対してファイル操作を行っているかを意識することなく、アプリケーション１を動作させることが可能となっている。なお、本実施形態では、仮想ディスク６として、ＲＡＭなどの半導体メモリを想定している。
【００１９】
アクセス制御管理情報テーブル５は、図２に示すように、ファイル種別毎に、操作（Read、Write、Update）を行う際の条件（True／False）を保持している。ファイル種別としては、アプリケーション１により作成されるデータファイル、アプリケーション１の動作を規定するアプリケーション設定ファイル、アプリケーション１の作業用の作業ファイルを含んでいる。該アクセス制御管理テーブル５は、アクセス制御管理部４によって参照され、条件が「True」ならば、そのファイル操作に対する動作を実行し、条件が「False」ならば、そのファイル操作に対して動作しないことを示している。
【００２０】
次に、図３は、本実施形態によるファイルアクセス制御装置を用いたファイルアクセス動作を説明するための概念図である。アプリケーション１は、オペレーティングシステム２に予め用意されている機能を呼び出すためのＯＳ＿ＡＰＩを呼び出すことで、その機能を動作させるようになっている。本実施形態では、ＯＳ＿ＡＰＩとして、ファイルの新規作成（CreateFile()）や、読み込み（ReadFile()）、書き出し（WriteFile()）、ファイル名変更、すなわちリネイム（RenameFile(in old, in new)）、削除(DeleteFile())、クローズ（CloseHandle()）を取り上げる。
【００２１】
オペレーティングシステム２は、アプリケーション１から呼び出されたＯＳ＿ＡＰＩに従って、CreateFile()に対してはWBCreateFileHandle()、ReadFile()に対してはWBReadFile()、WriteFile()に対してはWBWriteFile()、RenameFile(in old, in new)に対してはWBRenameFile(in old, in new)、DeleteFile()に対してはWBDeleteFile()、そして、CloseHandle()に対してはWBCloseHandle()を送出する。
【００２２】
アクセス制御管理部４は、オペレーティングシステム２から上記コマンドを取り込み、アクセス制御管理情報テーブル５の情報に従って、二次記憶媒体３または仮想ディスク６に対してアクセス制御を行う。例えば、仮想ディスク６にアクセス制御する場合には、WBCreateFileHandle()に対してはVFCreateFileHandle()、WBReadFile()に対してはVFReadFile()、WBWriteFile()に対してはVFWriteFile()、WBRenameFile(in old, in new)に対してはVFRenameFile()、WBDeleteFile()に対してはVFDeleteFile()、WBCloseHandle()に対してはVFCloseHandle()を送出する。また、IsExist(in filename)は、ファイルの存在を確認するためのコマンドであり、IsRemoved()は、仮想ディスク６のファイルを移動するためのコマンドである。また、二次記憶媒体３にアクセス制御する場合には、WBCreateFileHandle()に対してはCreateFile()、WBReadFile()に対してはReadFile()、WBCloseHandle()に対してはCloseHandle()を送出する。また、IsExist(in filename)は、ファイルの存在を確認するためのコマンドであり、CheckPermission()は、許可チェックするためのコマンドである。
【００２３】
図４は、本実施形態によるファイルアクセス動作の一例を説明するための概念図である。図示の例では、アプリケーション（プロセス）１が二次記憶媒体３からファイルＡを読み出す（Ｒｅａｄ）場合には、アクセス制御管理部４は、そのコピーを仮想ディスク６に作成した後、アプリケーション１へ渡すようになっている。また、アプリケーション（プロセス）１が、作成したファイルＢを二次記憶媒体３へ書き込む（Ｗｒｉｔｅ）場合には、アクセス制御管理部４は、ファイルＢを仮想ディスク６に書き出し、二次記憶媒体３へは書き出さない。また、アプリケーション１が二次記憶媒体３に記憶されているファイルＣを削除（Ｄｅｌｅｔｅ）する場合には、仮想ディスク６上のファイルＣ（コピー）を削除するが、二次記憶媒体３に元々保存されているファイルＣは削除しない。また、アプリケーション１がファイルＤを新たに作成（Ｃｒｅａｔｅ）する場合には、二次記憶媒体３ではなく、仮想ディスク６上に作成する。このような動作は、前述したように、ユーザからは認識されることなく、実行させることが可能となっている。
【００２４】
Ｂ．実施形態の動作
次に、図面を参照して、本実施形態のファイルアクセス制御装置の動作について説明する。図５ないし図１０は、本実施形態のファイルアクセス制御装置を適用した情報処理装置の動作を示すデータシーケンス図である。
【００２５】
（１）ファイル同期動作（ファイル管理初期設定）
まず、ファイル同期動作（ファイル管理初期設定）について図５を参照して説明する。まず、アプリケーション１は、CreateFile()を送出する（Ｓａ１）。ＯＳ＿ＡＰＩ２は、CreateFile()が送出されると、CreateFile()に対応するWBCreateFileHandle()をアクセス制御管理部へ送出し（Ｓａ２）、アクセス制御管理部４は、仮想ディスク６のIsExist(filename)を送出する（Ｓａ３）。仮想ディスク６は、IsExist(filename)が送出されると、その結果を示すResultをアクセス制御管理部４へ返す（Ｓａ４）。アクセス制御管理部４は、仮想ディスク６からResultを受け取ると、VFCreateFileHandleを仮想ディスク６へ送出し（Ｓａ５）、これに対して、仮想ディスク６は、VritualFileHandleをアクセス制御管理部４へ返す（Ｓａ６）。
【００２６】
次に、上記手続きにおいてファイルが存在しない場合（Result=NotExist）には、アクセス制御管理部４は、二次記憶媒体３にIsExist(filename)を送出する（Ｓａ７）。これに対して、二次記憶媒体３は、ファイルの存在の有無を示すResultRealFileStatusを返す（Ｓａ８）。次いで、アクセス制御管理部４は、二次記憶媒体３に対して、アクセスの許可をチェックするためのCheckPermission()を送出し（Ｓａ９）、二次記憶媒体３は、その結果であるResultPermissionStatusを返す（Ｓａ１０）。この場合、アクセスは許可されない旨の結果が返ってくる。次いで、アクセス制御管理部４は、アプリケーション１に対して、ResultPermissionStatus=AccessDenied、ResultAccessDeniedを送出する（Ｓａ１１）。
【００２７】
次いで、アクセス制御管理部４が、二次記憶媒体３に対して、ファイルの新規作成をし指示するCreateFile()を送出すると（Ｓａ１２）、二次記憶媒体３は、新規ファイルを作成し、RealFileHandleをアクセス制御管理部４へ返す（Ｓａ１３）。アクセス制御管理部４は、二次記憶媒体３に対して、新規作成されたファイルを読み込むべく、ReadFileを送出する（Ｓａ１４）。これに対して、二次記憶媒体３は、ファイルのByteArrayをアクセス制御管理部４へ送出する（Ｓａ１５）。アクセス制御管理部４は、読み込んだファイルを仮想ディスク６に書き込むため、仮想ディスク６に対してVFWriteFileを送出し（Ｓａ１６）、二次記憶媒体３に対してCloseHandleを送出する（Ｓａ１７）。次いで、アクセス制御管理部４は、ＯＳ＿ＡＰＩに対してVirtualFileHandleを返し（Ｓａ１８）、ＯＳ＿ＡＰＩ２は、アプリケーション１に対してVirtualFileHandleを返す（Ｓａ１９）。
【００２８】
このようにして、ファイル同期動作（ファイル管理初期設定）においては、二次記憶媒体３に新規ファイルが作成される一方、そのコピーが仮想ディスク６に書き込まれ、それ以降、仮想ディスク６のファイル（コピー）に対してファイル操作が行われることになる。
【００２９】
（２）ファイル読み込み動作
次に、ファイル読み込み動作について図６を参照して説明する。まず、アプリケーション１は、CreateFile()を送出する（Ｓｂ１）。ＯＳ＿ＡＰＩ２は、CreateFile()に対してVirtualFileHandleをアプリケーション１へ返す（Ｓｂ２）。次いで、アプリケーション１は、ファイルを読み込むべく、ＯＳ＿ＡＰＩ２に対してReadFileを送出すると（Ｓｂ３）、ＯＳ＿ＡＰＩ２は、アクセス制御管理部４に対してWBReadFileを送出する（Ｓｂ４）。アクセス制御管理部４は、これを受けて、仮想ディスク６に対してVFReadFileを送出する（Ｓｂ５）。仮想ディスク６は、VFReadFileを受けて、ファイルのByteArrayをアクセス制御管理部４へ送出する（Ｓｂ６）。アクセス制御管理部４は、該ファイルのByteArrayをＯＳ＿ＡＰＩ２へ送出し（Ｓｂ７）、ＯＳ＿ＡＰＩ２は、アプリケーション１へ送出する（Ｓｂ８）。アプリケーション１は、該ファイルのByteArrayを受けると、ＯＳ＿ＡＰＩ２に対してCloseHandleを送出し（Ｓｂ９）、ＯＳ＿ＡＰＩ２は、アクセス制御管理部４に対してWBCloseHandleを送出し（Ｓｂ１０）、アクセス制御管理部４は、仮想ディスク６に対してVFCloseHandleを送出する（Ｓｂ１１）。このようにして、アプリケーション１から指示されたファイルは、仮想ディスク６から読み込まれることになる。
【００３０】
（３）ファイル書き込み動作
次に、ファイル書き込み動作について図７を参照して説明する。まず、アプリケーション１は、CreateFile()を送出する（Ｓｃ１）。ＯＳ＿ＡＰＩ２は、CreateFile()に対してVirtualFileHandleをアプリケーション１へ返す（Ｓｃ２）。次いで、アプリケーション１は、ファイルを書き込むべく、ＯＳ＿ＡＰＩ２に対してWriteFileを送出すると（Ｓｃ３）、ＯＳ＿ＡＰＩ２は、アクセス制御管理部４に対してWBWriteFileを送出する（Ｓｃ４）。アクセス制御管理部４は、これを受けて、仮想ディスク６に対してVFWriteFileを送出する（Ｓｃ５）。次いで、アプリケーション１は、ＯＳ＿ＡＰＩ２に対してCloseHandleを送出し（Ｓｃ６）、ＯＳ＿ＡＰＩ２は、アクセス制御管理部４に対してWBCloseHandleを送出し（Ｓｃ７）、アクセス制御管理部４は、仮想ディスク６に対してVFCloseHandleを送出する（Ｓｃ８）。このようにして、アプリケーション１で作成されたファイルは、仮想ディスク６に書き込まれる。
【００３１】
（４）ファイル名変更（またはファイル移動）動作
次に、ファイル名変更（またはファイル移動）について図８を参照して説明する。まず、アプリケーション１は、引数oldに現在のファイル名、引数newに新たなファイル名を指定してRenameFile(old,new)を送出する（Ｓｄ１）。ＯＳ＿ＡＰＩ２は、RenameFile(old,new)に対応するWBRenameFile(old,new)をアクセス制御管理部４へ送出し（Ｓｄ２）、アクセス制御管理部４は、まず、現在のファイル名のファイル（old）が仮想ディスク６に存在するか否かを確認するために仮想ディスク６にIsExist(old)を送出する（Ｓｄ３）。仮想ディスク６は、IsExist(old)を受けると、その結果を示すResultOldFileStatus1をアクセス制御管理部４へ返す（Ｓｄ４）。このとき、仮想ディスク６に現在のファイル名のファイル（old）があった場合、すなわち、ResultOldFileStatus1=Existである場合、アクセス制御管理部４は、現在のファイル名のファイル（old）が二次記憶媒体３に存在するか否かを確認するために二次記憶媒体３にIsExist(old)を送出する（Ｓｄ５）。二次記憶媒体３は、IsExist(old)を受けると、その結果を示すResultOldFileStatus2をアクセス制御管理部４へ返す（Ｓｄ６）。
【００３２】
このとき、現在のファイル名のファイル（old）がなかった場合には、アクセス制御部管理部４は、アプリケーション１に対して、ResultOldFileStatus=NotExist、すなわち、ResultOldNotExistを返す（Ｓｄ７）。
【００３３】
一方、現在のファイル名のファイル（old）があった場合には、アクセス制御部管理部４は、新たなファイル名のファイル（new）が二次記憶媒体３に存在するか否かを確認するために二次記憶媒体３にIsExist(new)を送出する（Ｓｄ８）。二次記憶媒体３は、IsExist(new)を受けると、その結果を示すResultNewFileStatusをアクセス制御管理部４へ返す（Ｓｄ９）。このとき、新たなファイル名のファイル（new）が既にあった場合には、アクセス制御管理部４は、ResultNewFileStatus=Exist、すなわち、ResultNewFilenameIsAlreadyExistをアプリケーション１に返す（Ｓｄ１０）。
【００３４】
一方、新たなファイル名のファイル（new）がなかった場合には、アクセス制御管理部４は、仮想ディスク６に対して、新たなファイル名のファイルを作成するためにVFCreateFileHandleを送出する（Ｓｄ１１）。仮想ディスク６は、VFCreateFileHandleに対して新たなファイル名のファイル（new）を作成した後、VritualFileHandleをアクセス制御管理部４に返す（Ｓｄ１２）。
【００３５】
次いで、アクセス制御管理部４は、二次記憶媒体３に対して、新たなファイル名のファイルを作成するためにCreateFile()を送出する（Ｓｄ１３）。二次記憶媒体３は、上記CreateFile()に対して新たなファイル名のファイル（new）を作成した後、RealFileHandleを返す（Ｓｄ１４）。さらに、アクセス制御管理部４は、二次記憶媒体３に対して、新たなファイルを読み込むためにReadFileを送出する（Ｓｄ１５）。これに対して、二次記憶媒体３は、新たなファイルのByteArrayをアクセス制御管理部４へ返す（Ｓｄ１６）。そして、新たなファイルのByteArrayを受け取ると、アクセス制御管理部４は、二次記憶媒体３に対してCloseHandleを送出する（Ｓｄ１７）。
【００３６】
次いで、アクセス制御管理部４は、読み込んだ新たなファイルを仮想ディスク６に書き込むために、仮想ディスク６に対してVFWriteFileを送出し（Ｓｄ１８）、仮想ディスク６に新たなファイルを書き込み、さらに、仮想ディスク６に対して、CloseHandleを送出する（Ｓｄ１９）。次いで、アクセス制御管理部４は、リネームを行うべく、仮想ディスク６に対してVFRenameFileを送出する（Ｓｄ２０）。これに対して、仮想ディスク６は、上記新たなファイルのファイル名をリネイムし、その結果を示すResultをアクセス制御管理部４へ返す（Ｓｄ２１）。アクセス制御管理部４は、該ResultをＯＳ＿ＡＰＩへ返し（Ｓｄ２２）、ＯＳ＿ＡＰＩ２は、アプリケーション１に返す（Ｓｄ２３）。
【００３７】
このようにして、アプリケーション１でファイル名の変更が行われた場合には、二次記憶媒体３と仮想ディスク６とでの整合を取りつつ、ファイル名を更新する。
【００３８】
（５）ファイル削除動作
次に、ファイル削除動作について図９を参照して説明する。まず、アプリケーション１は、ＯＳ＿ＡＰＩ２に対してDeleteFile()を送出する（Ｓｅ１）。ＯＳ＿ＡＰＩ２は、DeleteFile()に対してWBDeleteFile()をアクセス制御管理部４へ送出する（Ｓｅ２）。アクセス制御管理部４は、まず、削除すべきファイルが仮想ディスク６に存在するか否かを確認するために、仮想ディスク６に対してIsExistを送出する（Ｓｅ３）。仮想ディスク６は、IsExistを受けると、その結果を示すResultFileStatusをアクセス制御管理部４へ返す（Ｓｅ４）。
【００３９】
ここで、削除すべきフィルが仮想ディスクになかった場合、すなわち、ResultFileStatus=NotExistであった場合には、アクセス制御管理部４は、削除すべきファイルが二次記憶媒体３に存在するか否かを確認するために、二次記憶媒体３に対してIsExistを送出する（Ｓｅ５）。二次記憶媒体３は、IsExistを受けると、その結果を示すResultRealFileStatusをアクセス制御管理部４へ返す（Ｓｅ６）。そして、削除すべきファイルがない場合、すなわち、ResultFileStatus=NotExistである場合には、アクセス制御管理部４は、ResultFileStatus=Exist、すなわちResultNotExistをアプリケーション１に返す（Ｓｅ７）。
【００４０】
一方、二次記憶媒体３に指定された削除すべきファイルがある場合、すなわちResultFileStatus=Existである場合には、アクセス制御管理部４は、ファイルを削除するために仮想ディスク６に対してVFDeleteFile()を送出する（Ｓｅ８）。ここで、仮想ディスク６は、指定されたファイルを削除することになる。
【００４１】
次いで、アクセス制御管理部４は、削除が成功した旨を知らせるために、ＯＳ＿ＡＰＩ２に対してResultSuccessを返し（Ｓｅ９）、ＯＳ＿ＡＰＩ２は、アプリケーション１に対してResultSuccessを返す（Ｓｅ１０）。
【００４２】
このようにして、アプリケーション１でファイル削除が行われた場合には、仮想ディスク６上のファイルのみを削除する。
【００４３】
（６）アプリケーション終了動作
次に、アプリケーション終了動作について図１０を参照して説明する。ユーザがアプリケーション１の終了操作を行うと、アプリケーション１は、ＯＳ＿ＡＰＩ２に対してExit()を送出する（Ｓｆ１）。ＯＳ＿ＡＰＩ２は、これに対して、WBExit()をアクセス制御管理部４へ送出する（Ｓｆ２）。アクセス制御管理部４は、ファイルが更新されているか確認するためのIsUpdate()を呼び出し（Ｓｆ３）、ファイルが更新されている場合、すなわちIsUpdata(File)=Trueならば、仮想ディスク６に対してIsModified()を送出する（Ｓｆ４）。仮想ディスク６は、IsModified()に対する結果を示すResultをアクセス制御管理部４へ返す（Ｓｆ５）。
【００４４】
次いで、アクセス制御管理部４は、仮想ディスク６において更新されたファイルを二次記憶媒体３に保存するために、二次記憶媒体３に対してCreateFileを送出する（Ｓｆ６）。二次記憶媒体３は、CreateFileに対して、ファイル操作の許可を示すRealFileHandleをアクセス制御管理部４へ返す（Ｓｆ７）。これを受けて、アクセス制御管理部４は、更新されたファイルを二次記憶媒体３に保存するために、二次記憶媒体３に対してWriteFile()を送出する（Ｓｆ８）。ここで、二次記憶媒体３は、更新されたファイルを保存する。次いで、アクセス制御管理部４は、二次記憶媒体３に対してCloseHandleを送出し（Ｓｆ９）、その結果ResultをＯＳ＿ＡＰＩ２に返す（Ｓｆ１０）。
【００４５】
このようにして、アプリケーション１で終了が行われた場合には、その時点で開いているファイルが更新されたか確認し、更新されている場合、仮想ディスク６上の更新されたファイルを二次記憶媒体に保存した後に終了する。
【００４６】
以上説明したように、本実施形態のファイルアクセス制御装置によれば、アプリケーション１がオペレーティングシステム２を介して二次記憶媒体にアクセスする際に、アクセス制御管理部４により、二次記憶媒体にアクセスしているのと同じ状況を、ファイル種別毎にファイル操作の可否を規定したアクセス制御管理情報テーブル５を参照して、ＲＡＭなどを用いた仮想ディスク６上で行う。したがって、アプリケーションに対して特別な設計を必要とすることなく、また、ユーザ負担を増大させることなく、アプリケーションによる二次記憶媒体への不正なアクセスを防止することができ、オペレーティングシステム等の重要な情報の改竄を防止することができるという効果が得られる。
【００４７】
なお、上述した実施形態において、アプリケーション１の終了時には、アクセス制御管理情報テーブル５のフラグ（条件：Ｔｒｕｅ／Ｆａｌｓｅ）の設定に従って、仮想ディスク６に書き込まれたファイルを全て破棄するようにしてもよい。また、アクセス制御管理部４は、アプリケーションが起動される度に起動され、アプリケーションが終了される度に終了するようにしてもよい。
また、上述したアプリケーション１、オペレーティングシステム２、アクセス制御管理部４などは、コンピュータシステム内で実行される。
そして、上述したアクセス制御管理部４によるファイル操作に関する一連の処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。
すなわち、アクセス制御管理部４における、各処理手段、処理部は、ＣＰＵ等の中央演算処理装置がＲＯＭやＲＡＭ等の主記憶装置に上記プログラムを読み出して、情報の加工・演算処理を実行することにより、実現されるものである。
ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
【図面の簡単な説明】
【００４８】
【図１】本実施形態のファイルアクセス制御装置を適用したコンピュータの略構成を示すブロック図である。
【図２】アクセス制御管理情報テーブル５のデータ構成を示す概念図である。
【図３】本実施形態によるファイルアクセス制御装置を用いたファイルアクセス動作を説明するための概念図である。
【図４】本実施形態によるファイルアクセス動作の一例を説明するための概念図である。
【図５】ファイル同期動作（ファイル管理初期設定）を説明するためのシーケンス図である。
【図６】ファイル読み込み動作を説明するためのシーケンス図である。
【図７】ファイル書き込み動作を説明するためのシーケンス図である。
【図８】ファイル名変更（またはファイル移動）を説明するためのシーケンス図である。
【図９】ファイル削除動作を説明するためのシーケンス図である。
【図１０】アプリケーション終了動作を説明するためのシーケンス図である。
【符号の説明】
【００４９】
１…アプリケーション
２…オペレーティングシステム
３…二次記憶媒体
４…アクセス制御管理部（取込手段、ファイルアクセス制御手段）
５…アクセス制御管理テーブル（アクセス制御管理情報記憶手段）
６…仮想ディスク（仮想記憶手段）
【図１】
2005258926.tif 000003
【図２】
2005258926.tif 000004
【図３】
2005258926.tif 000005
【図４】
2005258926.tif 000006
【図５】
2005258926.tif 000007
【図６】
2005258926.tif 000008
【図７】
2005258926.tif 000009
【図８】
2005258926.tif 000010
【図９】
2005258926.tif 000011
【図１０】
2005258926.tif 000012