(57)【要約】【課題】有効なウィルスチェックを実現できないことがあった。【解決手段】ユーザーインターフェイスモジュール１０によりファイルの書き込みと読み出しの操作を受け付ける。仮想ファイルシステムドライバモジュール２０は所定のボリュームファイル内で上記ファイルを仮想セクタを基準として記録するように管理しており、ファイルの読み書きの上記操作に対応し、上記のように管理しているセクタ情報とともに仮想ディスクドライバモジュール３０にセクタ単位のデータの読み書きを指示し、読み書きされたセクタ単位のデータに基づいて受け付けられたファイル操作を実現する。この際、仮想ディスクドライバモジュール３０は上記オペレーティングシステムに対して上記ボリュームファイルを対象とする仮想セクタ単位のデータの読み書きに際し同セクタデータに対して暗号化を施して書き込みを行うとともに、読み込み時には復号化を行う。【選択図】図１
2007140727.tif 000002
【特許請求の範囲】
【請求項１】
ファイルをハードディスクなどの不揮発性の記録領域に対して読み書き可能であるとともに、各ファイルごとにセクタ単位でのデータの読み書きを実行可能なオペレーティングシステム上で動作する仮想ファイル管理装置であって、
ファイルの書き込みと読み出しの操作を受け付けてファイルの入出力を実現するユーザーインターフェイスと、
所定のボリュームファイルの存在を前提として、上記ファイルを仮想セクタを基準として同ボリュームファイル内で記録するように管理を実現する仮想ファイルシステムドライバと、
この仮想ファイルシステムドライバで管理されるセクタ情報に基づいて、上記オペレーティングシステムに対して上記ボリュームファイルを対象とする仮想セクタ単位のデータの読み書きを行うにあたり、仮想セクタのセクタデータに対して暗号化を施して書き込みを行うとともに、読み込み時には復号化を行う仮想ディスクドライバとを具備することを特徴とする仮想ファイル管理装置。
【請求項２】
所定の指示に対応して上記オペレーティングシステムに対して仮想ドライブをマウントさせるマウント指示手段と、
仮想マウントされる仮想ドライブとして上記ボリュームファイルの中身を対応させるボリュームファイルドライブ対応化手段とを具備することを特徴とする上記請求項１に記載の仮想ファイル管理装置。
【請求項３】
ウィルスチェックプログラムの起動に対応させて上記マウント指示手段とボリュームファイルドライブ対応化手段とを実行させることを特徴とする上記請求項１または請求項２のいずれかに記載の仮想ファイル管理装置。
【請求項４】
ウィルスチェックプログラムの起動を検知して実行させることを特徴とする上記請求項３に記載の仮想ファイル管理装置。
【請求項５】
ウィルスチェックプログラムの起動予約時間に対応させた起動予約で実行させることを特徴とする上記請求項３に記載の仮想ファイル管理装置。
【請求項６】
上記オペレーティングシステムで管理するファイルシステムに対応し、上記ボリュームファイルで管理される第一のファイル群とそれ以外の第二のファイル群のアクセスをフィルタし、第二のファイル群としてのアクセスについては上記オペレーティングシステムのファイルシステムで管理させることを特徴とする上記請求項１〜請求項５のいずれかに記載の仮想ファイル管理装置。
【請求項７】
上記暗号化と復号化のための複数のキャラクターコードからなる第一のパスワードを入力して保持するとともに、同第一のパスワードにおける各キャラクターコードについてキャラクターコードの偏りを分散化させるための分散化処理を行い、分散化後のコードを第二のパスワードとして上記暗号化と復号化の演算に利用することを特徴とする上記請求項１〜請求項６のいずれかに記載の仮想ファイル管理装置。
【請求項８】
ファイルをハードディスクなどの不揮発性の記録領域に対して読み書き可能であるとともに、各ファイルごとにセクタ単位でのデータの読み書きを実行可能なオペレーティングシステム上で動作する仮想ファイル管理方法であって、
ファイルの入出力を実現するために、ファイルの書き込みと読み出しの操作を受け付け、
所定のボリュームファイルの存在を前提として、上記ファイルを仮想セクタを基準として同ボリュームファイル内で記録するように管理し、
この管理されるセクタ情報に基づいて、上記オペレーティングシステムに対して上記ボリュームファイルを対象とする仮想セクタ単位のデータの読み書きを行うにあたり、仮想セクタのセクタデータに対して暗号化を施して書き込みを行うとともに、読み込み時には復号化を行うことを特徴とする仮想ファイル管理方法。
【請求項９】
ファイルをハードディスクなどの不揮発性の記録領域に対して読み書き可能であるとともに、各ファイルごとにセクタ単位でのデータの読み書きを実行可能なオペレーティングシステム上で動作する仮想ファイル管理プログラムであって、
ファイルの書き込みと読み出しの操作を受け付けてファイルの入出力を実現するユーザーインターフェイス機能と、
所定のボリュームファイルの存在を前提として、上記ファイルを仮想セクタを基準として同ボリュームファイル内で記録するように管理を実現する仮想ファイルシステムドライバと、
この仮想ファイルシステムドライバで管理されるセクタ情報に基づいて、上記オペレーティングシステムに対して上記ボリュームファイルを対象とする仮想セクタ単位のデータの読み書きを行うにあたり、仮想セクタのセクタデータに対して暗号化を施して書き込みを行うとともに、読み込み時には復号化を行う仮想ディスクドライバとの各機能をコンピュータに実現させることを特徴とする仮想ファイル管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、仮想ファイル管理装置、仮想ファイル管理方法、および仮想ファイル管理プログラムに関する。
【背景技術】
【０００２】
従来、ハードディスクなどのパーソナルコンピュータに備えられた記録装置に対してコンピュータウィルスによる攻撃が行われることがあり、対策として、ウィルスチェックプログラムやファイヤウォールプログラムを実行させている。
ファイヤウォールは、ファイルへ不正な変更がなされたことを検知して起動の許可を確認する。
【０００３】
ウィルスチェックソフトは、ウィルスソフトがファイルに潜んでいないか、あるいは感染したファイルが存在していないか検査する。ファイヤウォールやウィルスソフトとしては非特許文献１に開示されるものなどが知られている。
【非特許文献１】http://www.symantec.com/region/jp/
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上述した従来の手法では、新しいコンピュータウィルスが出てくるごとにその対策用のプログラム等が必要となり、いたちごっこになるという課題があった。
【０００５】
本発明は、上記課題にかんがみてなされたもので、新しいコンピュータウィルスが出てきても対策用のプログラムを必要とすることのない仮想ファイル管理装置、仮想ファイル管理方法および仮想ファイル管理プログラムの提供を目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、請求項１にかかる発明は、ファイルをハードディスクなどの不揮発性の記録領域に対して読み書き可能であるとともに、各ファイルごとにセクタ単位でのデータの読み書きを実行可能なオペレーティングシステム上で動作する仮想ファイル管理装置であって、ファイルの書き込みと読み出しの操作を受け付けてファイルの入出力を実現するユーザーインターフェイスと、所定のボリュームファイルの存在を前提として、上記ファイルを仮想セクタを基準として同ボリュームファイル内で記録するように管理を実現する仮想ファイルシステムドライバと、この仮想ファイルシステムドライバで管理されるセクタ情報に基づいて、上記オペレーティングシステムに対して上記ボリュームファイルを対象とする仮想セクタ単位のデータの読み書きを行うにあたり、仮想セクタのセクタデータに対して暗号化を施して書き込みを行うとともに、読み込み時には復号化を行う仮想ディスクドライバとを具備する構成としてある。
【０００７】
前提として、既存のコンピュータはオペレーティングシステムがファイルを管理している。これにより、ファイルをハードディスクなどの不揮発性の記録領域に対して読み書き可能となる。通常、ハードディスクなどの不揮発性の記録領域はセクタ単位で構成され、オペレーティングシステムは、各ファイルごとにセクタ単位でのデータの読み書きを実行している。
【０００８】
このようなオペレーティングシステム上で動作する上記のように構成した請求項１にかかる発明においては、ユーザーインターフェイスによりファイルの書き込みと読み出しの操作を受け付ける。仮想ファイルシステムドライバは所定のボリュームファイルの存在を前提として、上記ファイルを仮想セクタを基準として同ボリュームファイル内で記録するように管理しており、ユーザーインターフェイスにより受け付けられたファイルの読み書きの操作に対応し、この仮想ファイルシステムドライバで管理されるセクタ情報とともに仮想ディスクドライバにセクタ単位のデータの読み書きを指示し、読み書きされたセクタ単位のデータに基づいて受け付けられたファイル操作を実現する。この際、仮想ディスクドライバは上記オペレーティングシステムに対して上記ボリュームファイルを対象とする仮想セクタ単位のデータの読み書きを行うにあたり、仮想セクタのセクタデータに対して暗号化を施して書き込みを行うとともに、読み込み時には復号化を行う。これにより、セキュリティの確立したデータの読み書きが可能となる。
【０００９】
また、請求項２にかかる発明は、請求項１に記載の仮想ファイル管理装置において、所定の指示に対応して上記オペレーティングシステムに対して仮想ドライブをマウントさせるマウント指示手段と、仮想マウントされる仮想ドライブとして上記ボリュームファイルの中身を対応させるボリュームファイルドライブ対応化手段とを具備する構成としてある。
【００１０】
上記のように構成した請求項２にかかる発明においては、マウント指示手段が所定の指示に対応して上記オペレーティングシステムに対して仮想ドライブをマウントさせると、ボリュームファイルドライブ対応化手段が仮想マウントされる仮想ドライブとして上記ボリュームファイルの中身を対応させる。
【００１１】
この結果、オペレーティングシステムは、仮想ファイルシステムドライバや仮想ディスクドライバがなくても、マウントされたドライブとしてボリュームファイルの中身にアクセスすることが可能となる。
【００１２】
さらに、請求項３にかかる発明は、請求項１または請求項２のいずれかに記載の仮想ファイル管理装置において、ウィルスチェックプログラムの起動に対応させて上記マウント指示手段とボリュームファイルドライブ対応化手段とを実行させる構成としてある。
【００１３】
上記のように構成した請求項３にかかる発明においては、ウィルスチェックプログラムの起動に対応させて、ボリュームファイルの中身がマウントされたドライブとしてアクセス可能となり、ウィルスチェックプログラムは同ドライブの内容に対してウィルスチェックを行う。
【００１４】
さらに、請求項４にかかる発明は、請求項３に記載の仮想ファイル管理装置において、ウィルスチェックプログラムの起動を検知して実行させる構成としてある。
【００１５】
上記のように構成した請求項４にかかる発明においては、ウィルスチェックプログラムの起動に対応させるにあたり、ウィルスチェックプログラムの起動を検知し、仮想ドライブをマウントさせている。
【００１６】
さらに、請求項５にかかる発明は、請求項３に記載の仮想ファイル管理装置において、ウィルスチェックプログラムの起動予約時間に対応させた起動予約で実行させる構成としてある。
【００１７】
上記のように構成した請求項５にかかる発明においては、ウィルスチェックプログラムの起動に対応させるにあたり、ウィルスチェックプログラムの起動予約時間に対応させて予め起動予約を行ない、ウィルスチェックプログラムが起動するのに先だって起動して仮想ドライブをマウントさせておき、ウィルスチェックプログラムが起動したら既存のドライブとしてウィルスチェックを行う。
【００１８】
さらに、請求項６にかかる発明は、請求項１〜請求項５のいずれかに記載の仮想ファイル管理装置において、上記オペレーティングシステムで管理するファイルシステムに対応し、上記ボリュームファイルで管理される第一のファイル群とそれ以外の第二のファイル群のアクセスをフィルタし、第二のファイル群としてのアクセスについては上記オペレーティングシステムのファイルシステムで管理させる構成としてある。
【００１９】
上記のように構成した請求項６にかかる発明においては、上記ボリュームファイルで管理される第一のファイル群については、上述したように管理し、それ以外の第二のファイル群としてのアクセスについては上記オペレーティングシステムのファイルシステムで管理する。これを実現するために、上記オペレーティングシステムで管理するファイルシステムを前提として、第一のファイル群とそれ以外の第二のファイル群とに対するアクセスをフィルタし、それぞれを管理するファイルシステムを特定するようにしている。
【００２０】
さらに、請求項７にかかる発明は、請求項１〜請求項６のいずれかに記載の仮想ファイル管理装置において、上記暗号化と復号化のための複数のキャラクターコードからなる第一のパスワードを入力して保持するとともに、同第一のパスワードにおける各キャラクターコードについてキャラクターコードの偏りを分散化させるための分散化処理を行い、分散化後のコードを第二のパスワードとして上記暗号化と復号化の演算に利用する構成としてある。
【００２１】
上記のように構成した請求項７にかかる発明においては、上記暗号化と復号化のための複数のキャラクターコードからなる第一のパスワードを入力して保持する。通常、このような第一のパスワードにおける各キャラクターコードは、キャラクターコードを具現するコード体系においては偏在している。このため、実質的に暗号化と復号化に利用できるコードが減っている。このため、第一のパスワードにおける各キャラクターコードについてキャラクターコードの偏りを分散化させるための分散化処理を行い、分散化後のコードを第二のパスワードとして上記暗号化と復号化の演算に利用する。
【００２２】
このように、あるボリュームファイルを前提としてその内部に複数のファイルを保存し、本来のオペレーティングシステムではアクセスできなくしてコンピュータウィルスに認知されないようにする手法は必ずしも実体のある装置に限られる必要はなく、その方法としても機能することは容易に理解できる。このため、請求項８にかかる発明は、ファイルをハードディスクなどの不揮発性の記録領域に対して読み書き可能であるとともに、各ファイルごとにセクタ単位でのデータの読み書きを実行可能なオペレーティングシステム上で動作する仮想ファイル管理方法であって、ファイルの入出力を実現するために、ファイルの書き込みと読み出しの操作を受け付け、所定のボリュームファイルの存在を前提として、上記ファイルを仮想セクタを基準として同ボリュームファイル内で記録するように管理し、この管理されるセクタ情報に基づいて、上記オペレーティングシステムに対して上記ボリュームファイルを対象とする仮想セクタ単位のデータの読み書きを行うにあたり、仮想セクタのセクタデータに対して暗号化を施して書き込みを行うとともに、読み込み時には復号化を行う構成としてある。
【００２３】
すなわち、必ずしも実体のある装置に限らず、その方法としても有効であることに相違はない。
【００２４】
ところで、このような仮想ファイル管理装置は単独で存在する場合もあるし、ある機器に組み込まれた状態で利用されることもあるなど、発明の思想としてはこれに限らず、各種の態様を含むものである。従って、ソフトウェアであったりハードウェアであったりするなど、適宜、変更可能である。
【００２５】
発明の思想の具現化例として仮想ファイル管理装置のソフトウェアとなる場合には、かかるソフトウェアを記録した記録媒体上においても当然に存在し、利用されるといわざるをえない。
【００２６】
その一例として、請求項９にかかる発明は、ファイルをハードディスクなどの不揮発性の記録領域に対して読み書き可能であるとともに、各ファイルごとにセクタ単位でのデータの読み書きを実行可能なオペレーティングシステム上で動作する仮想ファイル管理プログラムであって、ファイルの書き込みと読み出しの操作を受け付けてファイルの入出力を実現するユーザーインターフェイス機能と、所定のボリュームファイルの存在を前提として、上記ファイルを仮想セクタを基準として同ボリュームファイル内で記録するように管理を実現する仮想ファイルシステムドライバと、この仮想ファイルシステムドライバで管理されるセクタ情報に基づいて、上記オペレーティングシステムに対して上記ボリュームファイルを対象とする仮想セクタ単位のデータの読み書きを行うにあたり、仮想セクタのセクタデータに対して暗号化を施して書き込みを行うとともに、読み込み時には復号化を行う仮想ディスクドライバとの各機能をコンピュータに実現させる構成としてある。
【００２７】
むろん、その記録媒体は、磁気記録媒体であってもよいし光磁気記録媒体であってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。また、一次複製品、二次複製品などの複製段階については全く問う余地無く同等である。その他、供給方法として通信回線を利用して行なう場合でも本発明が利用されていることにはかわりない。
【００２８】
さらに、一部がソフトウェアであって、一部がハードウェアで実現されている場合においても発明の思想において全く異なるものではなく、一部を記録媒体上に記憶しておいて必要に応じて適宜読み込まれるような形態のものとしてあってもよい。
【００２９】
本発明をソフトウェアで実現する場合、ハードウェアやオペレーティングシステムを利用する構成とすることも可能であるし、これらと切り離して実現することもできる。例えば、各種の演算処理といっても、その実現方法はオペレーティングシステムにおける所定の関数を呼び出して処理することも可能であれば、このような関数を呼び出すことなくハードウェアから入力することも可能である。そして、実際にはオペレーティングシステムの介在のもとで実現するとしても、プログラムが媒体に記録されて流通される過程においては、このプログラムだけで本発明を実施できるものと理解することができる。
【００３０】
また、本発明をソフトウェアで実施する場合、発明がプログラムを記録した媒体として実現されるのみならず、本発明がプログラム自体として実現されるのは当然であり、プログラム自体も本発明に含まれる。
【発明の効果】
【００３１】
以上説明したように本発明は、ボリュームファイル内に暗号化された複数のファイル群を保持させ、他のアプリケーションなどから同ファイル群の存在を認識できないようにしたので、コンピュータウィルスによる感染などを防ぐことが可能な仮想ファイル管理装置を提供することができる。
また、請求項２にかかる発明によれば、必要に応じてボリュームファイル内のファイル群の存在を通常のオペレーティングシステムを介して認識できるようにし、ウィルスチェックプログラムなどによるウィルスチェックを実現することが可能となる。
さらに、請求項３にかかる発明によれば、ウィルスチェックプログラムの起動中にだけボリュームファイル内のファイル群の存在を認識できるようにして不用意な感染を抑制することができる。
さらに、請求項４にかかる発明によれば、ウィルスチェックプログラムの起動を自動的に認識して最小限の期間だけボリュームファイル内のファイル群の存在を認識できるようにして不用意な感染を抑制することができる。
さらに、請求項５にかかる発明によれば、ウィルスチェックプログラムの起動を自動的に認識できない場合でも最小限の期間だけボリュームファイル内のファイル群の存在を認識できるようにして不用意な感染を抑制することができる。
さらに、請求項６にかかる発明によれば、ボリュームファイルが記録されたハードディスクドライブなどの残りの領域も利用することができるようになる。
さらに、請求項７にかかる発明によれば、パスワードを利用する暗号化復号化をできる限り有効に利用することができる。
さらに、請求項８にかかる発明によれば、同様の効果を奏する方法を提供でき、請求項９にかかる発明によれば、同様の効果を奏するプログラムを提供できる。
【発明を実施するための最良の形態】
【００３２】
（第１の実施形態）
図１は、本仮想ファイル管理装置を適用した仮想ファイル管理プログラムの概略構成を示している。
【００３３】
同図において、本仮想ファイル管理プログラムは、オペレーティングシステム上で動作する一つのアプリケーションである。このオペレーティングシステムはコンピュータにおいてファイルをハードディスクなどの不揮発性の記録領域に対して読み書き可能とするものであり、ハードディスクなどの不揮発性の記録領域に対して各ファイルごとにセクタ単位でのデータの読み書きを実行可能である。すなわち、ファイルを所定のセクタ単位のデータに分割してハードディスク上における所定のセクタに書き込み、書き込んだ複数のセクタの情報をファイル情報とともに管理し、任意に所望のファイルに対するアクセスが可能となっている。
【００３４】
本仮想ファイル管理プログラムは、三つのモジュールから構成される。
一つ目は、ファイルの書き込みと読み出しの操作を受け付けてファイルの入出力を実現するユーザーインターフェイスモジュール１０である。いわゆるＧＵＩ（グラフィックユーザーインターフェイス）で実現される本ユーザーインターフェイスは、ファイルやフォルダをツリー表示とともに一覧したり、ファイルやフォルダの移動、コピー、削除といった通常のファイラーと呼ばれる諸機能をグラフィカルな表示と、マウスやキーボードでの操作を受け付けることが可能である。むろん、ユーザーインターフェイスモジュール１０はユーザーインターフェイス機能に相当する。
このほかにも、後述するパスワードの管理を実現する。
【００３５】
二つ目は、仮想ファイルシステムドライバモジュール２０であり、所定のボリュームファイルの存在を前提として、ユーザーインターフェイスモジュールが提供するファイル操作をセクタ単位の仮想セクタデータに分割して管理する。セクタ単位の仮想セクタデータは、オペレーティングシステムのファイルシステムを利用してハードディスクに記録されるのではなく、ファイルを仮想セクタを基準として上記ボリュームファイル内で記録するようにセクタ情報などを管理を実現する。
【００３６】
管理に利用するのはオペレーティングシステムのファイルシステムと同様であり、ＦＡＴ（ファイルアロケーションテーブル）をはじめとして、バイオスパラメータブロックやＭＢＲなどを管理する。このようにオペレーティングシステムのファイルシステムと機能は共通するが、本プログラムはアプリケーションの一モジュールである。
【００３７】
三つ目は、仮想ディスクドライバモジュール３０であり、上記仮想ファイルシステムドライバモジュール２０で管理されるセクタ情報に基づいて、上記オペレーティングシステムに対して上記ボリュームファイルを対象とする仮想セクタ単位のデータの読み書きを行う。仮想セクタ単位のデータの読み書きは、仮想ファイルシステムドライバモジュール２０で管理されるセクタ情報を指定し、オペレーティングシステムの機能としてのハードディスクなどの不揮発性の記録領域に対するセクタ単位でのデータの読み書きの機能によって実現している。ここで、仮想セクタ単位のセクタ情報は、ボリュームファイルに対してはファイルの位置情報に変換されることになる。例えば、オペレーティングシステムの側ではこのボリュームファイルをシーケンシャルファイルとして認識することにし、セクタ情報をシーケンシャルファイルにおける位置情報に変換する。仮想セクタが５１２バイト単位であれば、セクタ番号を単純に５１２倍して位置情報とし、シーケンシャルファイルに対して同位置情報と５１２バイトのセクタデータを指定して読み書きを行うことになる。
【００３８】
一方、仮想ディスクドライバモジュール３０は、仮想セクタ単位のデータの読み書き時、セクタデータに対して暗号化を施して書き込みを行うとともに、読み込み時には復号化を行う。
【００３９】
通常、ファイルの暗号化・復号化は、不定長のデータに対して行う。このため、プログラムも汎用的に作る必要があり、小型化しにくい。しかし、セクタ単位での読み書きを対象とする暗号化・復号化はデータ長が固定となり、小型化可能である。従って、仮想単位のデータの読み書き時にセクタデータに対して暗号化を施して書き込みを行うとともに、読み込み時には復号化を行う本仮想ディスクドライバモジュール３０はコンパクトであって負荷も小さいというメリットを持つ。
【００４０】
ファイルの暗号化・復号化には、鍵となるパスワードが利用される。パスワードはバイト単位であれば、本来一桁ごとに２５６種の個別のコードを生成可能である。しかし、キャラクターコードを利用することを前提とすると、ユーザが入力できる英数字と一部の記号に限定され、キャラクタコードテーブル中でも偏在せざるを得ない。このような偏在は本来的には利用可能なコード群の中に利用不可能なコード群を含ませていることになり、暗号化能力を狭めるという課題を有することになる。本実施形態では、このような課題も解決する。
【００４１】
図２はこの変換の手順を示すフローチャートであり、図３はそのイメージを概略的に示している。
【００４２】
手順としては、ステップＳ１００にて英数字と一部の記号からなるキャラクターコードのパスワード（第一のパスワード）を入力して保持する。次に、ステップＳ１１０にて偏在する使用されないキャラクターコードを除き、使用されるキャラクターコードだけがシーケンシャルな並びとなるように変換し、ステップＳ１２０にて使用されるキャラクターコードだけが全体のキャラクターコードの中で略均等に分散するように分散させる（分散化処理に相当）。この分散は一律にしても良いが予め決めておいたランダムな分散をさせたり、最初のパスワードに基づくランダムな分散パターンを決定して分散させることが可能である。そして、ステップＳ１３０で分散させたパスワード（第二のパスワード）を出力する。
【００４３】
（第２の実施形態）
図４は、本仮想ファイル管理装置を適用した第２の仮想ファイル管理プログラムがオペレーティングシステム上で実行される際の概略構成を示している。
【００４４】
本実施形態は、第一の実施形態のボリュームファイルに対するユーザーインターフェイスモジュールによるパスワードを利用したアクセスに加え、ウィルスチェックプログラムによる同ボリュームファイルに対するアクセスも実現可能とする。
【００４５】
また、ボリュームファイルが保存されるハードディスクの残り領域を通常のドライブとしても利用可能とする。
【００４６】
第一の実施形態と同様の利用は、ハードディスクドライブ４０に記録されているボリュームファイル４３に対して、オペレーティングシステム（以下、ＯＳ）のディスクドライバ４１とＯＳのファイルシステムドライバ４２を介して仮想ファイル管理プログラム４４がアクセスして行う。ここでＯＳにはフィルタドライバ４５が組み込まれ、ファイルシステムドライバ４２の上位で上記仮想ファイル管理プログラムを含むユーザ側からのファイルアクセスに対して出力先をフィルタする。すなわち、ボリュームファイル４３に対するアクセスは仮想ファイル管理プログラムからのみに限定し、ボリュームファイル４３以外のファイルについてはユーザからのアクセスをダイレクトに実現する。
【００４７】
ここで、ユーザはボリュームファイルの存在を直に認識していないことも多いから、ボリュームファイルに対するアクセスには、当該ボリュームファイルに含まれて管理されている第一のファイル群を含めてフィルタする。そして、ハードディスクドライブ４０に含まれるそれ以外のファイルを第二のファイル群としてフィルタし、通常のファイルシステムドライバを介するアクセスを可能としている。
【００４８】
このような状態では、ユーザは仮想ファイル管理プログラムにパスワードを入力することで第一のファイル群に対するアクセスが可能であり、各ファイルを通常の領域にコピーして別のアプリケーションで利用することができる。しかし、他のアプリケーション、例えばウィルスチェックプログラムが第一のファイル群に対して直にアクセスすることはできない。この結果、コンピュータウィルスは第一のファイル群の存在すら把握できず、不用意に感染することを避けることができる。
【００４９】
反面、別の経路で感染したファイルがユーザの手を介してボリュームファイル内に侵入してしまっている場合には、ウィルスチェックプログラムが第一のファイル群に対してアクセスできない以上、除去することもできない。
【００５０】
このため、本実施形態では、所定の指示に対応して上記オペレーティングシステムに対して仮想ドライブをマウントさせるマウント指示ドライバ５１（マウント指示手段であり、マウント指示機能に相当する）と、仮想マウントされる仮想ドライブとして上記ボリュームファイルの中身を対応させるボリュームファイルドライブ対応化ドライバ５２（ボリュームファイルドライブ対応化手段であり、ボリュームファイルドライブ対応化機能に相当する）を備えている。
【００５１】
マウント指示ドライバ５１は、ＯＳに対してハードウェアとしては存在しないドライブがあたかも存在するように指示するものである。仮にこのマウント指示ドライバ５１が仮想的なハードウェアのドライブが存在するものとＯＳに指示すれば、ＯＳは当該ドライブに対して通常のディスクドライバ６１とファイルシステムドライバ６２を割り当てる。このため、他のアプリケーション、例えばウィルスチェックプログラムはハードディスクドライブ４０とは別の仮想ドライブ５０を認識することができ、この仮想ドライブ５０内のファイル群に対してウィルスチェックを行うことが可能となる。
【００５２】
このように仮想ドライブ５０をマウントさせるとともに、ボリュームファイルドライブ対応化ドライバ５２が起動されて仮想ドライブとして上記ボリュームファイルの中身を対応させる。
【００５３】
この結果、ウィルスチェックプログラムが、ファイルシステムドライバ６２とディスクドライバ６１を介して上記仮想ドライブ５０にアクセスすると、ボリュームファイルドライブ対応化ドライバ５２はボリュームファイルに含まれる第一のファイル群に対するアクセスのリクエストがあるものと認識し、上述した仮想ファイルシステムドライバモジュール２０と仮想ディスクドライバモジュール３０に対して同アクセスのリクエストに対応させる。
【００５４】
仮想ファイルシステムドライバモジュール２０と仮想ディスクドライバモジュール３０はユーザーインターフェイスモジュール１０からのアクセスのリクエストがったものと同様に対応し、必要に応じて仮想セクタ単位でＯＳに対してハードディスクドライブ４０の中のボリュームファイルにデータの読み書きを行い、アクセスのリクエストに対応する。  
【００５５】
これにより、ウィルスチェックプログラム６３は第一のファイル群に対してもウィルスチェックを行うことができる。
【００５６】
ただし、このように仮想ドライブ５０をマウントしている間はコンピュータウィルスに対しても第一のファイル群の存在が明らかになるから感染の対象ともなる。このため、本実施形態では、仮想ドライブ５０を限定的にマウントして感染対象期間を極力減らし、実質的に感染を抑制する。むろん、感染したファイルを別のアプリケーションで開くときには、ユーザーインターフェイスモジュール１０を介して第一のファイル群を操作して別のドライブなどにコピーをする必要があり、その際にウィルスチェックプログラム６３のリアルタイム検知で発見することも可能である。 
本実施形態では、図５と図６のフローチャートに示すようにして仮想ドライブ５０を限定的にマウントする。
【００５７】
図５に示す例は、ウィルスチェックプログラム６３の起動を検知できる場合に有効であり、ステップＳ２１０にてウィルスチェックプログラム６３の起動を検知すると、ステップＳ２２０にて仮想ドライブ５０をマウントする。仮想ドライブ５０のマウントは上述したとおりに行えばよい。ウィルスチェックプログラム６３が起動しているか否かはＯＳ上で管理されているタスクに基づいて検知すればよいが、ウィルスチェックプログラム６３自身の更新により必ずしもウィルスチェックプログラム６３を特定できない場合もありえる。この場合は、図６に示す例を利用することが好ましい。
【００５８】
仮想ドライブ５０のマウントによってウィルスチェックプログラム６３がウィルスチェックを実行し、ウィルスチェックが終了してウィルスチェックプログラム６３自身も終了すると、ステップＳ２３０にてこれを検知し、ステップＳ２４０にて仮想ドライブ５０をアンマウントする。アンマウントするとＯＳはアンマウントされたドライブを以後は認識しなくなり、ファイルシステムドライバ６２やディスクドライバ６１も終了してウィルスチェックプログラム６３を含めたすべてのアプリケーションなどから第一のファイル群の存在を認識できなくなる。
【００５９】
ウィルスチェックプログラム６３を特定できない場合は、図６に示す例を利用する。この例では、通常、ウィルスチェックプログラム６３が特定の時間に起動されるようにスケジュール化されていることを利用し、予めマウント開始時間と終了時間を予約することで、図５の例と同様に、ウィルスチェックプログラム６３の起動に合わせたマウントを実現する。
【００６０】
ステップＳ３１０にてウィルスチェックプログラム６３の起動予約時間となったことを検知すると、ステップＳ３２０にて仮想ドライブ５０をマウントする。ウィルスチェックプログラム６３の起動予約時間となったか否かは、直にウィルスチェックプログラム６３の起動予約データにアクセスして取得するようにしてもよいし、マニュアルで同起動予約時間を別途仮想マウント開始時間として予約するようにしてもよい。
【００６１】
仮想ドライブ５０のマウントによってウィルスチェックプログラム６３がウィルスチェックを実行し、ウィルスチェックが終了してウィルスチェックプログラム６３自身も終了する。ステップＳ３３０はウィルスチェックプログラム６３の終了は判断できないので、予め想定したウィルスチェックに要する所定時間が経過したか否かをステップＳ３４０にて判断しており、同時間が経過したらステップＳ３４０にて仮想ドライブ５０をアンマウントする。アンマウントするとウィルスチェックプログラム６３を含めたすべてのアプリケーションなどから第一のファイル群の存在を認識できなくなる。
【００６２】
このように、ユーザーインターフェイスモジュール１０によりファイルの書き込みと読み出しの操作を受け付ける。仮想ファイルシステムドライバモジュール２０は所定のボリュームファイルの存在を前提として、上記ファイルを仮想セクタを基準として同ボリュームファイル内で記録するように管理しており、ユーザーインターフェイスモジュール１０により受け付けられたファイルの読み書きの操作に対応し、この仮想ファイルシステムドライバモジュール２０で管理されるセクタ情報とともに仮想ディスクドライバモジュール３０にセクタ単位のデータの読み書きを指示し、読み書きされたセクタ単位のデータに基づいて受け付けられたファイル操作を実現する。この際、仮想ディスクドライバモジュール３０は上記オペレーティングシステムに対して上記ボリュームファイルを対象とする仮想セクタ単位のデータの読み書きを行うにあたり、仮想セクタのセクタデータに対して暗号化を施して書き込みを行うとともに、読み込み時には復号化を行う。これにより、セキュリティの確立したデータの読み書きが可能となる。
【図面の簡単な説明】
【００６３】
【図１】本仮想ファイル管理装置を適用した仮想ファイル管理プログラムの概略構成を示す図である。
【図２】パスワードの分散化処理に対応したフローチャートである。
【図３】パスワードの分散化処理を説明するイメージ図である。
【図４】第二の実施形態にかかる仮想ファイル管理プログラムの概略構成を示す図である。
【図５】仮想マウントを限定的にマウントさせるフローチャートである。
【図６】仮想マウントを限定的にマウントさせる他の例のフローチャートである。
【符号の説明】
【００６４】
１０…ユーザーインターフェイスモジュール
２０…仮想ファイルシステムドライバモジュール
３０…仮想ディスクドライバモジュール
４０…ハードディスクドライブ
４１…ディスクドライバ
４２…ファイルシステムドライバ
４３…ボリュームファイル
４４…仮想ファイル管理プログラム
４５…フィルタドライバ
５０…仮想ドライブ
５１…マウント指示ドライバ
５２…ボリュームファイルドライブ対応化ドライバ
６１…ディスクドライバ
６２…ファイルシステムドライバ
６３…ウィルスチェックプログラム
【図１】
2007140727.tif 000003
【図２】
2007140727.tif 000004
【図３】
2007140727.tif 000005
【図４】
2007140727.tif 000006
【図５】
2007140727.tif 000007
【図６】
2007140727.tif 000008