(57)【特許請求の範囲】
【請求項１】
第一のファイルシステムに従う第一のファイルシステム実体の領域に、第二のファイルシステムに従う第二のファイルシステム実体を配置し、かつ、当該第二のファイルシステム実体の物理アドレス位置を上記第一のファイルシステムにおける所定領域に記録した記憶媒体にアクセスするにあたって、
上記記憶媒体から上記物理アドレス位置の情報を取得する情報取得手段と、
上記第一のファイルシステムに従って第一のファイルシステム実体を処理対象としつつ上記取得された物理アドレス位置の情報に基づいて上記第二のファイルシステムに従う第二のファイルシステム実体にアクセスするアクセス手段と、
上記第二のファイルシステム実体が配置される上記第一のファイルシステム実体を、上記第一のファイルシステムに従った操作で書込または消去を不能とさせる脆弱性低下手段とを備え、
上記脆弱性低下手段は、初期起動時に上記第一のファイルシステム実体の属性を上記第一のファイルシステムに従って書込または消去を不能とし、上記第二のファイルシステムに従う第二のファイルシステム実体に対するアクセス時に上記第一のファイルシステム実体の属性を書込または消去を可能としつつ、同アクセスの終了時に上記第一のファイルシステム実体の属性を書込または消去を不能に戻す、ことを特徴とするファイルシステム管理装置。
【請求項２】
上記第一のファイルシステムにおける特定位置の未使用領域上に、上記第二のファイルシステム実体の物理アドレス位置を記憶していることを特徴とする上記請求項１に記載のファイルシステム管理装置。
【請求項３】
上記アクセス手段は、オペレーティングシステム上で実行するユーザモードアプリケーションを実行することにより実現され、
同ユーザモードアプリケーションの起動時に上記第一のファイルシステム実体の属性を書込または消去を可能としつつ、上記第一のファイルシステム実体を排他的にオープンすることで同オペレーティングシステムの論理規定に基づいて他からの書込または消去を不能とし、同ユーザモードアプリケーションの終了時に同第一のファイルシステム実体の属性を書込または消去を不能とすることを特徴とする上記請求項１または請求項２に記載のファイルシステム管理装置。
【請求項４】
上記アクセス手段は、オペレーティングシステムに組み込まれるファイルシステムドライバを実行することにより実現され、上記第一のファイルシステム実体の書込または消去を管理することを特徴とする上記請求項１または請求項２に記載のファイルシステム管理装置。
【請求項５】
所定の機能をコンピューターに実現させるためのファイルシステム管理プログラムであって、
第一のファイルシステムに従う第一のファイルシステム実体の領域に、第二のファイルシステムに従う第二のファイルシステム実体を配置し、かつ、当該第二のファイルシステム実体の物理アドレス位置を上記第一のファイルシステムにおける所定領域に記録した記憶媒体にアクセスするにあたって、
上記記憶媒体から上記物理アドレス位置の情報を取得する情報取得機能と、
上記第一のファイルシステムに従って第一のファイルシステム実体を処理対象としつつ上記取得された物理アドレス位置の情報に基づいて上記第二のファイルシステムに従う第二のファイルシステム実体にアクセスするアクセス機能と、
上記第二のファイルシステム実体が配置される上記第一のファイルシステム実体を、上記第一のファイルシステムに従った操作で書込または消去を不能とさせる脆弱性低下機能とを実現させ、
上記脆弱性低下機能は、初期起動時に上記第一のファイルシステム実体の属性を上記第一のファイルシステムに従って書込または消去を不能とし、上記第二のファイルシステムに従う第二のファイルシステム実体に対するアクセス時に上記第一のファイルシステム実体の属性を書込または消去を可能としつつ、同アクセスの終了時に上記第一のファイルシステム実体の属性を書込または消去を不能に戻す、ことを特徴とするファイルシステム管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファイルシステム管理装置およびファイルシステム管理プログラムに関する。
【背景技術】
【０００２】
コンピュータ用記憶装置の記憶領域をファイルシステムにより管理する場合、ファイルシステムに対応したマッピング／解釈手段が必要であり、ソフトウェアもしくはハードウェアに実装する必要がある。
ハードウェアにマッピングを実装するのはコストアップやハードウェアの複雑化になるため、一般的にはソフトウェアにマッピング解釈手段を実装する。広く普及しているオペレーティングシステム（ＯＳ）には、あらかじめいくつかのファイルシステムに対応したマッピング／解釈手段を用意している。
【０００３】
ＯＳにより対応されていないファイルシステム（以下、独自ファイルシステムと呼ぶ）を採用する場合、以下の二種類のいづれかのマッピング／解釈手段が必要である。
第一の方法は、独自ファイルシステム実体を物理的記憶領域にダイレクトに配置し、ＯＳの解釈ソフトウエアと同じインターフェイスを持つ、独自ファイルシステムに対応したカーネルモードソフトウエア（一般的にはファイルシステムドライバ）で解釈を行う方法である（以下、このアクセス方法をカーネルモードアクセスと呼ぶ）。
【０００４】
この場合、ユーザはＯＳのユーザーインターフェイス（ＵＩ）を使用して独自ファイルシステムに配置されたファイルをアクセスすることが可能となる。
しかしこの方法は、ＯＳにカーネルモードソフトウェアをインストールする必要があり、セキュリティポリシによりカーネルモードソフトウェアのインストールが禁止されたログイン環境では、いったんカーネルモードソフトウェアのインストールが許可される権限のログイン環境に切り替えて、カーネルモードソフトウェアをインストールする必要がある。パソコン管理者一人が何十、何百ものパソコンを管理しているような企業では、大きな負担となる。
【０００５】
第二の方法は、ＯＳにより対応済みのファイルシステム（以下、標準ファイルシステムと呼ぶ）実体の内部に、独自ファイルシステム実体を配置する（以下、この構造を二重ファイルシステム構造と呼ぶ）。この際、独自ファイルシステム実体は標準ファイルシステムにて定義された単一もしくは複数のファイルイメージとなるため、独自ファイルシステムを解釈する機能を持つ独自のユーザモードアプリケーションが、単一のもしくは複数のファイルイメージにアクセスすることにより、独自ファイルシステム実体にアクセスすることが可能となる（以下、ユーザモードアクセスと呼ぶ）。
【０００６】
この場合、厳格なセキュリティポリシを設定したログイン環境でも問題とならない。しかしこの方法は、ファイル操作を独自アプリケーションが有する独自ＵＩで処理するため、ユーザはＯＳのＵＩと異なる操作性で使用しなければならない。
このように第一のファイルシステムと第二のファイルシステムを相互に関連づける手法を開示するものとして特許文献１に示すものが開示されている。
【特許文献１】特表２００６−５２３８８２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ひとつの独自ファイルシステムに対して、上述した二つの方法のどちらでもアクセスすることができれば、利用方法は増す。例えば、独自ファイルシステムを頻繁に利用するパソコンにはカーネルモードアクセスを用いて利便性を向上させ、臨時で使用するパソコンではユーザモードアクセスを用いて運用性を向上させるといった利用方法が可能となる。
上述した二重ファイルシステム構造を採用することよって実現可能となるが、この場合に問題が二点存在する。
【０００８】
第一の問題として、ＯＳ内で二重ファイルシステム構造を解析するため、単一のファイルシステム構造をマッピングする場合に比べると、パフォーマンスは低下し、ＣＰＵ使用率は上昇する。
頻繁に利用することが前提のカーネルモードアクセスはパフォーマンス低下やＣＰＵ使用率上昇を防ぐことが望ましく、これが第一の課題である。
第二の問題として、独自ファイルシステム実体をファイルイメージとして認識させた場合、一個のファイルを削除や改変する手順により、独自ファイルシステム実体を削除や改変することが可能となってしまうという危険性がある。
【０００９】
一個のファイルを削除する手順にて、ファイルシステム内の複数個、場合によって何千何万個のファイルを同時に消失するため、ユーザの誤操作によるリスクが極めて高く、これを防止することが第二の課題である。
なお、上述した特許文献１に開示されるものは、第一のファイルシステムを採用する記録媒体を第二のファイルシステムを採用するインターフェイスを介してアクセスするものであり、このような二重ファイルシステム構造を提供することはできない。
【００１０】
本発明は、上記課題にかんがみてなされたもので、ひとつの独自ファイルシステムに対して、カーネルモードアクセスを用いて利便性を向上させることができ、かつ、ユーザモードアクセスを用いて運用性を向上させることも可能なファイルシステム管理装置およびファイルシステム管理プログラムの提供を目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するため、第一のファイルシステムに従う第一のファイルシステム実体に第二のファイルシステムに従う第二のファイルシステム実体をマッピングするとともにマッピングの対応関係をマッピング情報として上記第一のファイルシステムにおける所定領域に記録した記憶媒体にアクセスするにあたって、上記記憶媒体から上記マッピング情報を取得するマッピング情報取得手段と、上記第一のファイルシステムに従って第一のファイルシステム実体を処理対象としつつ上記マッピング情報取得手段の取得した上記マッピング情報に基づいて上記第二のファイルシステムに従う第二のファイルシステム実体にアクセスするアクセス手段と、を備える構成としてもよい。
また、主たる発明は、第一のファイルシステムに従う第一のファイルシステム実体の領域に、第二のファイルシステムに従う第二のファイルシステム実体を配置し、かつ、当該第二のファイルシステム実体の物理アドレス位置を上記第一のファイルシステムにおける所定領域に記録した記憶媒体にアクセスするにあたって、上記記憶媒体から上記物理アドレス位置の情報を取得する情報取得手段と、上記第一のファイルシステムに従って第一のファイルシステム実体を処理対象としつつ上記取得された物理アドレス位置の情報に基づいて上記第二のファイルシステムに従う第二のファイルシステム実体にアクセスするアクセス手段と、上記第二のファイルシステム実体が配置される上記第一のファイルシステム実体を、上記第一のファイルシステムに従った操作で書込または消去を不能とさせる脆弱性低下手段とを備え、上記脆弱性低下手段は、初期起動時に上記第一のファイルシステム実体の属性を上記第一のファイルシステムに従って書込または消去を不能とし、上記第二のファイルシステムに従う第二のファイルシステム実体に対するアクセス時に上記第一のファイルシステム実体の属性を書込または消去を可能としつつ、同アクセスの終了時に上記第一のファイルシステム実体の属性を書込または消去を不能に戻す、構成としてある。
【００１２】
このような手法は必ずしも実体のある装置に限られる必要はなく、その方法としても機能することは容易に理解できる。従って、必ずしも実体のある装置に限らず、その方法としても有効であることに相違はない。
ところで、このようなファイルシステムを実現させるソフトウェアは、記録媒体上において記録され、利用される。むろん、その記録媒体は、磁気記録媒体であってもよいし光磁気記録媒体であってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。また、一次複製品、二次複製品などの複製段階については全く問う余地無く同等である。その他、供給方法として通信回線を利用して行なう場合でも本発明が利用されていることにはかわりない。
【００１３】
さらに、一部がソフトウェアであって、一部がハードウェアで実現されている場合においても発明の思想において全く異なるものではなく、一部を記録媒体上に記憶しておいて必要に応じて適宜読み込まれるような形態のものとしてあってもよい。
本発明をソフトウェアで実現する場合、ハードウェアやオペレーティングシステムを利用する構成とすることも可能であるし、これらと切り離して実現することもできる。例えば、各種の演算処理といっても、その実現方法はオペレーティングシステムにおける所定の関数を呼び出して処理することも可能であれば、このような関数を呼び出すことなくハードウェアから入力することも可能である。そして、実際にはオペレーティングシステムの介在のもとで実現するとしても、プログラムが媒体に記録されて流通される過程においては、このプログラムだけで本発明を実施できるものと理解することができる。
【００１４】
また、本発明をソフトウェアで実施する場合、発明がプログラムを記録した媒体として実現されるのみならず、本発明がプログラム自体として実現されるのは当然であり、プログラム自体も本発明に含まれる。
【発明を実施するための最良の形態】
【００１５】
本明細書および添付図面の記載により、少なくとも以下の事項が明らかになる。
上記主たる発明の構成によれば、記憶媒体では、第一のファイルシステムに従う第一のファイルシステム実体に、第二のファイルシステムに従う第二のファイルシステム実体をマッピングするとともに、マッピングの対応関係をマッピング情報として上記第一のファイルシステムにおける所定領域に記録している。
そして、第二のファイルシステム用ソフトウェアが、上記第一のファイルシステムに従って第一のファイルシステム実体を処理対象としつつ、上記マッピング情報に基づいて上記第二のファイルシステムに従う第二のファイルシステム実体にアクセスする。
このようにすれば、第二のファイルシステム実体を第一のファイルシステム実体にマッピングした情報に基づいて、第一のファイルシステム実体を処理対象としつつ、第二のファイルシステム実体にアクセスすることができる。
【００１６】
例えば、カーネルモードアクセスにより二重ファイルシステムを解釈する初期段階にて、独自ファイルシステム実体（第二のファイルシステム実体）の物理アドレス位置情報（マッピング情報）を取得・保持し、その後の独自ファイルシステム実体へのアクセス時は保持している物理アドレス位置情報を参照し、ダイレクトに記憶領域にアクセスすることができる。
従って、ＯＳ内で二重ファイルシステム構造を解析する必要がなくなり、パフォーマンスの低下や、ＣＰＵ使用率の上昇を防ぐことができる。
【００１７】
上記マッピング情報の記憶領域は適宜設定可能である。その一例として、同マッピング情報は、上記第一のファイルシステムにおける特定位置の未使用領域上に、上記第二のファイルシステム実体の物理アドレス位置を記憶するように構成してもよい。
上記のように構成した場合、上記第一のファイルシステムにおける特定位置の未使用領域上に上記第二のファイルシステム実体の物理アドレス位置を記憶しており、未使用領域であるので第一のファイルシステムと併存可能であるし、特定位置とすることで、第一のファイルシステムを解析することなく読み込むことができる。むろん、物理アドレス位置を記憶するので、その後も第一のファイルシステムを解析する必要はない。
ただし、第一のファイルシステムをそのアルゴリズムに基づいて解析し、独自ファイルシステムとしての上記第二のファイルシステム実体の位置を探索することも可能である。
【００１８】
次に、第二の課題に対応する一例として、上記第二のファイルシステム実体がマッピングされる上記第一のファイルシステム実体を、上記第一のファイルシステムに従った操作で書込または消去を不能とさせる脆弱性低下手段を有する構成としてもよい。
上記のように構成した場合、上記第二のファイルシステム実体は上記第一のファイルシステム実体内にマッピングされており、本来であれば、ユーザーは第一のファイルシステムに従って一つの第一のファイルシステム実体を削除することが可能である。そして、この第一のファイルシステム実体が複数の第二のファイルシステム実体を含んでいるのであれば、最悪の場合にはすべての第二のファイルシステム実体を破壊しかねない。しかしながら、ユーザーなどが第一のファイルシステムに従った操作でこのような第一のファイルシステム実体を削除等しようとしても、脆弱性低下手段がそのような書込または消去を不能とさせる。
【００１９】
これにより、危惧される第二の課題にも対応することができる。
このような脆弱性低下手段を実現するより具体的な構成は様々である。その一例として、上記脆弱性低下手段は、初期起動時に上記第一のファイルシステム実体の属性を上記第一のファイルシステムに従って書込または消去を不能とし、上記第二のファイルシステムに従う第二のファイルシステム実体に対するアクセス時に上記第一のファイルシステム実体の属性を書込または消去を可能としつつ、同アクセスの終了時に上記第一のファイルシステム実体の属性を書込または消去を不能に戻す構成としてもよい。
【００２０】
上記のように構成した場合、初期起動時には上記第一のファイルシステム実体の属性を上記第一のファイルシステムに従って書込または消去を不能とする。従って、この状態でで第一のファイルシステムに従った操作をしても書込または消去することは防止される。一方、上記第二のファイルシステムに従った操作で第二のファイルシステム実体にアクセスする時には、上記第一のファイルシステム実体の属性を書込または消去を可能とするので、所望のアクセスが可能である。むろん、この場合にも操作を誤って必要なファイル実体を消去してしまうことはあり得るが、あくまでも第二のファイルシステム上の操作なので同操作に対応した一又は複数のファイルが影響を受けるにすぎず、誤った第一のファイルシステムの操作ですべてのファイルを消去してしまう事態とは異なる。そして、第二のファイルシステムに従った操作でのアクセス終了時には、再度、上記第一のファイルシステム実体の属性を書込または消去を不能に戻す。これにより、以降は第一のファイルシステムに従って書込または消去してしまうことを防止する。
【００２１】
このような構成を実現するより具体的な構成の一例として、上記第二のファイルシステム用ソフトウェアは、オペレーティングシステム上で実行するユーザモードアプリケーションとして提供され、同ユーザモードアプリケーションの起動時に上記第一のファイルシステム実体の属性を書込または消去を可能としつつ、上記第一のファイルシステム実体を排他的にオープンすることで同オペレーティングシステムの論理規定に基づいて他からの書込または消去を不能とし、同ユーザモードアプリケーションの終了時に同第一のファイルシステム実体の属性を書込または消去を不能とする構成としてもよい。
【００２２】
上記のように構成した場合、上記第二のファイルシステム用ソフトウェアは、オペレーティングシステム上で実行するユーザモードアプリケーションとして提供されている。従って、第二のファイルシステムの操作を行なうにあたってオペレーティングシステムによる制約は受けている。この状態で、ユーザモードアプリケーションの起動時に上記第一のファイルシステム実体の属性を書込または消去を可能とすることでアクセスは可能となる。このときに、誤ってユーザモードアプリケーション以外で第一のファイルシステムからアクセスして書込または消去しかねないため、上記第一のファイルシステム実体を排他的にオープンする。これにより、オペレーティングシステムの論理規定に基づいて他からの書込または消去を不能となる。そして、同ユーザモードアプリケーションの終了時に同第一のファイルシステム実体の属性を書込または消去を不能とし、第一のファイルシステムからアクセスして書込または消去することを防止する。
【００２３】
また、別の具体的な構成の一例として、上記第二のファイルシステム用ソフトウェアは、オペレーティングシステムに組み込まれるファイルシステムドライバとして提供され、上記第一のファイルシステム実体の書込または消去を管理する構成としてもよい。
上記のように構成した場合、上記第二のファイルシステム用ソフトウェアは、オペレーティングシステムに組み込まれるファイルシステムドライバとして提供されている。従って、よりオペレーティングシステムに組み込まれた状態でのファイルシステムへの対応が可能となる。そして、オペレーティングシステムに組み込まれた状態で上記第一のファイルシステム実体の書込または消去を管理する。これにより、ユーザなどが誤った操作で第二のファイルシステム実体をマッピングしてある第一のファイルシステム実体を書込または消去し、多数のファイルシステム実体を瞬時にアクセス不能としてしまうことを防止できる。
【００２４】
むろん、このようなシステムは、その構成要素ごとに発明として理解することも可能である。その一例として、第一のファイルシステムに従う第一のファイルシステム実体に、第二のファイルシステムに従う第二のファイルシステム実体をマッピングするとともに、マッピングの対応関係をマッピング情報として上記第一のファイルシステムにおける所定領域に記録する記憶媒体単体での発明の認識も可能である。
また、同様にして、上記マッピング情報は、上記第一のファイルシステムにおける特定位置の未使用領域上に、上記第二のファイルシステム実体の物理アドレス位置を記憶する構成として認識することもできる。
【００２５】
以下、図面にもとづいて本発明のより具体的な実施形態を説明する。
図１は、本発明の一実施形態にかかる記憶媒体のファイルシステムにおけるファイルシステム実体の構成を示している。
また、標準ファイルシステムの特性により、独自ファイルシステム実体が標準ファイルシステム実体内に断片化して配置された場合も、全ての断片の物理アドレスを保持していれば問題はない。
【００２６】
ただし、独自ファイルシステム実体の断片が多くなるほど、パフォーマンス低下やＣＰＵ使用率の上昇を招く。そのため独自ファイルシステム実体の断片は可能な限り少なくなる配置をすることが求められる。
図１は、第一のファイルシステムとしてＦＡＴを採用する例を示している。このように、標準ファイルシステム（第一のファイルシステム）にＦＡＴを選択した場合、独自ファイルシステム実体はリニアな配置にすることが可能である。さらに、ＦＡＴ内のファイルの容量制限により独自ファイルシステム（第二のファイルシステム）実体が複数のファイルイメージに対応された場合も、独自ファイルシステム実体をリニアに配置することは可能である。
【００２７】
同図において、記憶領域の先頭にはＢＰＢ（バイオスパラメータブロック）、ＦＡＴ（ファイルアロケーションテーブル）、ＤＥ（ディレクトリエントリ）といった管理領域が確保され、その後の領域がファイルシステム領域となっている。このファイルシステム領域を独自ファイルシステムの領域として利用する。ただし、標準ファイルシステム上からは、あたかも複数のファイル１〜ファイルＸ（Ｆｉｌｅ  Ｎｏ．１〜Ｆｉｌｅ  Ｎｏ．Ｘ）が保存されているように見えている。
【００２８】
カーネルモードソフトウェアにより独自ファイルシステム実体の物理アドレス位置情報を取得する方法として、以下の二つが適用可能である。
第一の方法は、標準ファイルシステムをそのアルゴリズムに基づいて解析し、独自ファイルシステム実体の位置を探索する方法である。
第二の方法は、標準ファイルシステムの特定位置の未使用領域に、あらかじめ独自ファイルシステム実体の物理アドレス位置を記録する方法である。
第一の方法は、ＯＳ内で二重ファイルシステム構造を解析するため、単一のファイルシステム構造をマッピングする場合に比べると、パフォーマンスは低下し、ＣＰＵ使用率は上昇する。
【００２９】
従って、本発明では、第二の方法を用いている。ただし、本発明は本質的に第一の方法を否定するものではなく、第二の方法を採用しつつも第一の方法で独自ファイルシステム実体の位置を探索することは可能である。
一方、脆弱性の低下を防止するため、本発明では、記憶装置のハードウェアもしくはファームウェアに以下のモードを設けている。
・モード１
独自ファイルシステム実体に対応したファイル情報、またそれらファイルの上位に位置するディレクトリ情報、また独自ファイルシステム実体を含む領域を書き込み不可に設定する。
・モード２
独自ファイルシステム実体を含む領域を書込み可に設定する。
【００３０】
そして、記憶装置の電源投入時やリセット受信時はモード１に設定する。このため、独自ファイルシステム実体に対応したファイルを削除することが不可能となる。
一方、独自ファイルシステム実体にアクセスする際は、ユーザモードアプリケーションはその直前にモード２に切り替え、独自ファイルシステム実体に対応したファイルを排他的にオープンする。このため、ＯＳの論理規定により独自ファイルシステムは保護される。
そして、アプリケーション終了時等、独自ファイルシステム実体をクローズする際は、再度モード１に切り替える。
【００３１】
次に、このようなカーネルモードソフトウェアとユーザモードアプリケーションとで暗号化領域を共通化する他の実施形態について説明する。
まず、暗号化領域の基本構造は暗号化された論理ドライブ（以下、暗号化論理ドライブまたは第二のファイルシステムと呼ぶ）である。
カーネルモードソフトウェアをインストールしていないＰＣのユーザ権限においてもアプリケーションから暗号化論理ドライブにアクセス可能な仕組みとして、物理ドライブ上に偽装ファイルシステムパラメータを配置することにより、暗号化論理ドライブ実体（第二のファイルシステム実体）を偽装された論理ドライブ（以下、偽装論理ドライブと呼ぶ）上のファイル（第一のファイルシステム実体）として認識させる。
【００３２】
この際に暗号化論理ドライブのサイズが大きい場合は、偽装論理ドライブ上にて複数のファイルに分割されて配置させる。
また、どのＰＣ環境でも暗号化論理ドライブや暗号化論理ドライブファイルが消失しないような仕組みを、ソフトウェア、ハードウェアに設ける。
図２および図３は、それぞれハードディスクドライブとＵＳＢフラッシュメモリなどの記憶装置の場合における記憶領域上でのファイルシステムの物理的な配置を示している。
図２に示すハードディスクの場合（Ｆｄｉｓｋ形式のレイアウトを示すが、ハードディスクであればＦｄｉｓｋ形式に限定されるわけではない）、先頭領域にＭＢＲ（マスターブートレコード）を備え、その次には未使用領域が確保され、その後、ＦＡＴ３２構造（第一のファイルシステム）からなる複数の偽装論理ドライブの領域が確保されている。同図では第１〜第ｘの論理ドライブの領域が確保されている状況を示している。
２Ｔバイト以上の場合には、ＭＢＲの代わりにＧＰＴ（ＧＵＩＤパーティションテーブル）を使用する方法もあり、この場合の物理的な配置は図１０に示している。
【００３３】
ここで、各偽装論理ドライブは、ＦＡＴ３２構造（第一のファイルシステム）となっているので、その内部は偽装論理ドライブパラメータ領域と、暗号化論理ドライブ実体領域とに分けられ、これによって第二のファイルシステムである暗号化論理ドライブが形成されることになる。
第一のファイルシステムを構成する偽装論理ドライブ上のパラメータは、ＦＡＴ３２構造を踏襲して以下のようになっている。
ＦＢＰＢは、フェイクバイオスパラメータブロック（ＦａｋｅＢｉＯＳＰａｒａｍｅｔｅｒＢｌｏｃｋ：便宜上の名称）であり、ＦＡＴ３２構造におけるブートパラメータブロック（ＢＰＢ）の構造である。
【００３４】
ＥＰＢ１は、エンクリプションパラメータブロック１（ＥｎｃｒｙｐｔｉｏｎＰａｒａｍｅｔｅｒＢｌｏｅｋＮｏ．１：便宜上の名称）であり、本実施形態では、以下のＥＦｉｌｅ１の先頭位置と、全ＥＦｉｌｅの合計サイズが記録されている。このＥＰＢ１の位置であるが、第二のファイルシステム実体の先頭か末尾もしくは内部の空き領域もしくはそれらの複数の場所に設置可能である。
すなわち、第一のファイルシステムに従う第一のファイルシステム実体（偽装論理ドライブ内のＥＦｉｌｅ  １〜ＥＦｉｌｅ  ｘ）に、第二のファイルシステムに従う第二のファイルシステム実体（ＥＦｉｌｅ  １〜ＥＦｉｌｅ  ｘの領域を利用）がマッピングされ、かつ、マッピングの対応関係をマッピング情報として上記第一のファイルシステムにおける所定領域（偽装論理ドライブにおけるＦＡＴ３２構造の先頭に配置されたＥＰＢ１領域）に記録されていることになる。
【００３５】
なお、ＥＰＢ１には、固有のシグニチャが記録される他、ＥＦｉｌｅ  １の先頭位置、全ファイルの合計サイズが記録されている。
ＦＦＡＴは、フェイクファット（ＦａｋｅＦＡＴ：便宜上の名称）であり、通常は２個備える。ＦＡＴ３２構造を採用するために設けられているが、実際のファイルシステム実体の配置はＥＰＢ１に記録されたＥＦｉｌｅ１の先頭位置と、全ＥＦｉｌｅの合計サイズとに基づいて解析されることになる。
ＦＤＥｓとＳＷ（これらは別々の場所に設置することができる）は、暗号化論理ドライブファイルを含むすべてのフェイクディレクトリエントリ（ＦａｋｅＤｉｒｅｃｔｏｒｙＥｎｔｒｙ：便宜上の名称）である。また、ユーザモードアプリケーションの実体などユーザが使用する任意のファイルを設置することが可能である。
【００３６】
ＥＦｉｌｅ  １〜ＥＦｉｌｅｘは、暗号化論理ドライブファイルの実体である。
一方、図３にはＵＳＢフラッシュメモリのような大規模外付けメモリでドライブを増設する場合における、スーパフロッピー形式のレイアウトを示している。このようなＵＳＢフラッシュメモリはそれ自体が暗号化論理ドライブとなる。そして、先頭領域にはＦＡＴ３２構造のための所定のパラメータ領域が形成されている。また、これ以降には暗号化論理ドライブ実体（ＥＦｉｌｅ  １〜ＥＦｉｌｅ  ｘ）のための領域が確保されている。
【００３７】
暗号化論理ドライブ実体の内部は、以下のような領域が確保されている。
ＥＢＰＢは、暗号化論理ドライブのバイオスパラメータブロック（ＢＩＯＳＰａｒａｍｅｔｅｒＢｌｏｃｋ）であり、ＦＡＴ３２のＢＰＢ構造である。
ＥＰＢ２は、エンクリプションパラメータブロック（ＥｎｃｒｙｐｔｉｏｎＰａｒａｍｅｔｅｒＢｌｏｃｋＮｏ．２）であり、固有のシグニチャや暗号データを復号するためのパラメータを保存している。
【００３８】
ＥＦＡＴ（便宜上の名称）は、暗号化論理ドライブのＦＡＴである。通常は２個備え、認証前は暗号化されている。
ＥＤＥｓ／ＥＣｏｎｔｅｎｔｓ（便宜上の名称）は、暗号化論理ドライブのディレクトリエントリ（ＤｉｒｅｃｔｏｒｙＥｎｔｒｙ）やファイル内容であり、認証前は暗号化されている。
次に、これらの物理的配置を前提としたソフトウェアからの見え方について説明する。  カーネルモードソフトウェアをインストールしていないＰＣ上でのユーザモードアプリケーションからは以下のように見えることになる。
【００３９】
・セクタ単位での見え方
セクタ単位では物理的実体にダイレクトにアクセスできる。これは本発明が物理的な配置の変更などを実施するものではないからである。
・エクスプローラ上でのドライブ構成
図４は、ハードディスクドライブの場合のエクスプローラ上で表示されるドライブ構成を示している。第一論理ドライブ（図には第一論理ドライブを示しているが、第一論理ドライブには限られない）内には、ファイルがｘ個表示される。図２に示すようにＦＡＴ３２構造の偽装論理ドライブパラメータには暗号化論理ドライブ実体としてｘ個のファイル実体が存在するように書き込まれており、かつ、未使用領域には「第一のファイルシステムに従う第一のファイルシステム実体に、第二のファイルシステムに従う第二のファイルシステム実体をマッピングするとともに、マッピングの対応関係をマッピング情報として（上記第一のファイルシステムにおける所定領域に）記録」している。このため、不用な空き領域は存在しない。
【００４０】
むろん、このような暗号化論理ドライブ実体を設けていない第２ドライブ以降は通常どおりに表示される。上記では、第一論理ドライブ内に暗号化の論理ドライブを設定したが、任意のドライブを論理ドライブとして、残りを通常ドライブとして使用することもできる。
図５は、ＵＳＢフラッシュメモリの場合のエクスプローラ上で表示されるドライブ構成を示している。当該ドライブ内には、ファイルがｘ個表示される。この場合も、図３に示すようにＦＡＴ３２構造の論理ドライブパラメータには暗号化論理ドライブ実体としてｘ個のファイル実体が存在するように書き込まれているからである。また、未使用領域には「第一のファイルシステムに従う第一のファイルシステム実体に、第二のファイルシステムに従う第二のファイルシステム実体をマッピングするとともに、マッピングの対応関係をマッピング情報として（上記第一のファイルシステムにおける所定領域に）記録」している。
【００４１】
一方、カーネルモードソフトウェアをインストールしたＰＣ上では以下のように見えることになる。
まず、認証前について説明する。
・セクタ単位での見え方
セクタ単位ではアクセス不可とする。カーネルモードソフトウェアをインストールしているので、暗号化された状態のデータの改変や削除を防止するため、カーネルモードソフトウェアの一機能としてセクタ単位でのアクセスを不可としている。
・エクスプローラ上でのドライブ構成
ハードディスクドライブの場合、認証前は、暗号化された状態のデータの改変や削除を防止するため、カーネルモードソフトウェアの一機能として、ハードディスクドライブにおける全ての論理ドライブは認織されないようにしている。
【００４２】
ＵＳＢフラッシュメモリの場合も、同様に、認証前は、暗号化された状態のデータの改変や削除を防止するため、カーネルモードソフトウェアの一機能として、ＵＳＢフラッシュメモリにおける全ての論理ドライブは認織されないようにしている。
次に、認証後について説明する。
・セクタ単位でのアクセス
認証によって復号化が許可されるので、偽装論理ドライブパラメータと、ＥＰＢ２のサイズ分を除く全領域が認識され、カーネルモードソフトウェアの一機能としてソフトウェアからのアクセスを可能とする。
【００４３】
まず、図６は、認証後のハードディスクドライブ上でのセクタ単位でのアクセス状況のイメージを示している。
ハードディスクドライブの場合は、セクタ単位でのアクセスをより容易にするため、カーネルモードソフトウェアの一機能として、第一論理ドライブ内では、第二のファイルシステムである暗号化論理ドライブのバイオスパラメータブロック、ＦＡＴ、ディレクトリエントリやファイル内容が配置されているかのようにアクセスされるようにしている。
【００４４】
なお、暗号化の脆弱性の低下防止のため、カーネルモードソフトウェアの一機能としてＥＰＢ２についてはアクセスできないようにしている。
図７は、同様に認証後のＵＳＢフラッシュメモリ上でのセクタ単位でのアクセス状況のイメージを示している。
ＵＳＢフラッシュメモリの場合も、ハードディスクドライブとほぼ同様であり、カーネルモードソフトウェアの一機能として暗号化論理ドライブのバイオスパラメータブロック、ＦＡＴ、ディレクトリエントリやファイル内容が配置されているかのようにアクセスされるようにしている。
【００４５】
・エクスプローラ上でのドライブ構成
カーネルモードソフトウェアの存在により、暗号化論理ドライブへのアクセスがＯＳの一機能として実現されているため、第一論理ドライブには、ユーザの暗号化データが復号された状態で存在する。すなわち、ユーザーが普段使い慣れているＯＳのＵＩそのものにより、暗号化論理ドライブ（第二のファイルシステム）へのアクセスが実現されている。
このような表示やアクセスは、ハードディスクドライブの場合も、ＵＳＢフラッシュメモリの場合も全く同様である。
【００４６】
図８は、認証後のハードディスクドライブの場合におけるエクスプローラ上で表示されるドライブ構成を示しており、図９は、認証後のＵＳＢフラッシュメモリの場合におけるエクスプローラ上で表示されるドライブ構成を示している。
いずれの場合においても第二のファイルシステムに則って第二のファイルシステム実体の解析が完了しているので、ユーザーが作成したファイル（ＵｓｅｒＦｉｌｅ１〜ＵｓｅｒＦｉｌｅｘ）が表示され、通常のアクセス（書き込み、読み込み、消去など）が可能である。
【００４７】
次に、暗号化領域の保護について説明する。すなわち、第一のファイルシステム上に存在するファイルシステム実体としての第二ファイルシステム上での第二ファイルシステム実体のまとまりである暗号化領域の消失の防止策である。
カーネルモードソフトウェアをインストールしていないＰＣの場合について説明する。
予想される危険性は、ファイル化された暗号化論理ドライブが削除されたり、それらファイルを含む偽装ＦＡＴ３２論理ドライブがフォーマットされる可能性があるということである。また、この場合、空き領域に平文データが保存可能になってしまう。
【００４８】
本実施形態で実現される防止策は、以下のようなものである。
暗号化ストレージ製品のファームウェアに仕組みを持たせ、データ書き込み領域設定を、全領域書き込み可、全領域書き込み不可、ＭＢＲ／ＦＢＰＢ／ＧＰＴ／ＧＰＴエントリ配列書き込み不可という、３つのパターン用意する。ここにおいて、
全領域書込不可モードとは、製品の電源投入後／リセット受信後の初期状態であり、データ書き込みについては、全領域を書込不可能とする。
全領域書込モードとは、暗号化領域の作成／削除時のみ、このモードに設定することにより、暗号化領域の作成時や削除時には、全領域に対する書込を可能とする。
【００４９】
そして、ＭＢＲ／ＦＢＰＢ／ＧＰＴ／ＧＰＴエントリ配列書き込み不可モードとは、ＰＣでの認証後に設定されるモードであり、フォーマットや領域解放を禁止する。
以上のようにデータ書き込みの可否を領域ごとに設定する。これにより、認証前は全領域書き込み不可のため、リスクはない。しかし、認証後は、偽装論理ドライブのパラメータブロックやＭＢＲ，ＧＰＴは変更不可であるため、フォーマットや領域解放のリスクはない。そして、暗号化論理ドライブファイルはユーザーモードアプリケーションにより常に排他的オープンされるため、ファイル改変や削除のリスクもない。
【００５０】
なお、このようなモード切替は、ユーザ権限のＯＳから発行可能なコマンド（メディア挿入／取り出し、容量取得など）を組み合わせ、ソフトウェアから命令する。このような仕組みは比較的簡単に実現できる通常の手段といえる。
次に、カーネルモードソフトウェアをインストールしたＰＣに接続した場合について説明する。
予想される危険性は、暗号化論理ドライブがフォーマットされたり、開放されてしまうことである。
本実施形態で実現される防止策は、以下のようなものである。
【００５１】
フォーマットや領域開放を防止するサービスプログラムをＰＣにインストールすることで実現できる。かかるサービスプログラムは、カーネルモードソフトウェアの一機能としても良いし、カーネルモードソフトウェアをインストールする際に同時にインストールしても良い。カーネルモードソフトウェアとは別にアプリケーションをインストールするのであれば、カーネルモードソフトウェアで同アプリケーションの存在を確認し、存在しない場合には機能を制限するということも可能である。
【００５２】
以上、説明したように、本実施形態においては、第一のファイルシステムに対応している論理ドライブを使用し、同論理ドライブ内に同第一のファイルシステムに対応したＦＡＴ３２構造の論理ドライブ実体（ＥＦｉｌｅ１〜ＥＦｉｌｅｘ）を生成しつつ、空き領域は残さない。そして、同第一のファイルシステムに対応したＦＡＴ３２構造における論理ドライブパラメータの領域内にはＥＰＢ１を確保し、同ＥＰＢ１には論理ドライブ実体の先頭位置と、全論理ドライブ実体の合計サイズを記録している。これにより、第一のファイルシステムに従う第一のファイルシステム実体（論理ドライブ実体）に、第二のファイルシステムに従う第二のファイルシステム実体（論理ドライブ実体の領域を利用）がマッピングされ、かつ、マッピングの対応関係をマッピング情報としてＥＰＢ１領域に記録することになる。そして、カーネルモードソフトウェアやユーザモードアプリケーションにて同ＥＰＢ１領域を参照することで第一のファイルシステム実体にマッピングされた第二のファイルシステムに従う第二のファイルシステム実体の物理的配置を知ることができる。その後、いずれかのソフトウェアにより、第二のファイルシステム実体のデータに基づき、第二のファイルシステムに則ってファイルシステムの利用（書き込み、読み込み、消去など）を実現することが可能となる。
【００５３】
なお、本発明は上記実施例に限られるものでないことは言うまでもない。当業者であれば言うまでもないことであるが、
・上記実施例の中で開示した相互に置換可能な部材および構成等を適宜その組み合わせを変更して適用すること
・上記実施例の中で開示されていないが、公知技術であって上記実施例の中で開示した部材および構成等と相互に置換可能な部材および構成等を適宜置換し、またその組み合わせを変更して適用すること
・上記実施例の中で開示されていないが、公知技術等に基づいて当業者が上記実施例の中で開示した部材および構成等の代用として想定し得る部材および構成等と適宜置換し、またその組み合わせを変更して適用することは本発明の一実施例として開示されるものである。
【図面の簡単な説明】
【００５４】
【図１】本発明の一実施形態にかかる記憶媒体のファイルシステムにおけるファイルシステム実体の構成を示している。
【図２】ハードディスクドライブの場合における記憶領域上でのファイルシステムの物理的な配置を示す図である。
【図３】ＵＳＢフラッシュメモリの場合における記憶領域上でのファイルシステムの物理的な配置を示す図である。
【図４】ハードディスクドライブの場合のエクスプローラ上で表示されるドライブ構成を示す図である。
【図５】ＵＳＢフラッシュメモリの場合のエクスプローラ上で表示されるドライブ構成を示す図である。
【図６】認証後のハードディスクドライブ上でのセクタ単位でのアクセス状況のイメージを示す図である。
【図７】認証後のＵＳＢフラッシュメモリ上でのセクタ単位でのアクセス状況のイメージを示す図である。
【図８】認証後のハードディスクドライブの場合におけるエクスプローラ上で表示されるドライブ構成を示す図である。
【図９】認証後のＵＳＢフラッシュメモリの場合におけるエクスプローラ上で表示されるドライブ構成を示す図である。
【図１０】２Ｔバイト以上のハードディスクドライブの場合における記憶領域上でのファイルシステムの物理的な配置を示す図である。
【符号の説明】
【００５５】
ＥＦｉｌｅ（１〜ｘ）…暗号化論理ドライブ実体
ＥＰＢ１…エンクリプションパラメータブロック１
ＵｓｅｒＦｉｌｅ（１〜ｘ）…ユーザーが作成したファイル
ＥＦＡＴ…暗号化論理ドライブのＦＡＴ
ＥＤＥｓ／ＥＣｏｎｔｅｎｔｓ…暗号化論理ドライブのディレクトリエントリやファイル内容
【図１】
0005184041.tif 000002
【図２】
0005184041.tif 000003
【図３】
0005184041.tif 000004
【図４】
0005184041.tif 000005
【図５】
0005184041.tif 000006
【図６】
0005184041.tif 000007
【図７】
0005184041.tif 000008
【図８】
0005184041.tif 000009
【図９】
0005184041.tif 000010
【図１０】
0005184041.tif 000011