JP5184041B2 - ファイルシステム管理装置およびファイルシステム管理プログラム - Google Patents

ファイルシステム管理装置およびファイルシステム管理プログラム Download PDF

Info

Publication number
JP5184041B2
JP5184041B2 JP2007269419A JP2007269419A JP5184041B2 JP 5184041 B2 JP5184041 B2 JP 5184041B2 JP 2007269419 A JP2007269419 A JP 2007269419A JP 2007269419 A JP2007269419 A JP 2007269419A JP 5184041 B2 JP5184041 B2 JP 5184041B2
Authority
JP
Japan
Prior art keywords
file system
entity
system entity
file
access
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2007269419A
Other languages
English (en)
Other versions
JP2009098890A (ja
JP2009098890A5 (ja
Inventor
太一 江尻
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Buffalo Inc
Original Assignee
Buffalo Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Buffalo Inc filed Critical Buffalo Inc
Priority to JP2007269419A priority Critical patent/JP5184041B2/ja
Priority to US12/251,762 priority patent/US8380666B2/en
Priority to CN200810170267XA priority patent/CN101430700B/zh
Publication of JP2009098890A publication Critical patent/JP2009098890A/ja
Publication of JP2009098890A5 publication Critical patent/JP2009098890A5/ja
Application granted granted Critical
Publication of JP5184041B2 publication Critical patent/JP5184041B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/164File meta data generation
    • G06F16/166File name conversion

Description

本発明は、ファイルシステム管理装置およびファイルシステム管理プログラムに関する。
コンピュータ用記憶装置の記憶領域をファイルシステムにより管理する場合、ファイルシステムに対応したマッピング/解釈手段が必要であり、ソフトウェアもしくはハードウェアに実装する必要がある。
ハードウェアにマッピングを実装するのはコストアップやハードウェアの複雑化になるため、一般的にはソフトウェアにマッピング解釈手段を実装する。広く普及しているオペレーティングシステム(OS)には、あらかじめいくつかのファイルシステムに対応したマッピング/解釈手段を用意している。
OSにより対応されていないファイルシステム(以下、独自ファイルシステムと呼ぶ)を採用する場合、以下の二種類のいづれかのマッピング/解釈手段が必要である。
第一の方法は、独自ファイルシステム実体を物理的記憶領域にダイレクトに配置し、OSの解釈ソフトウエアと同じインターフェイスを持つ、独自ファイルシステムに対応したカーネルモードソフトウエア(一般的にはファイルシステムドライバ)で解釈を行う方法である(以下、このアクセス方法をカーネルモードアクセスと呼ぶ)。
この場合、ユーザはOSのユーザーインターフェイス(UI)を使用して独自ファイルシステムに配置されたファイルをアクセスすることが可能となる。
しかしこの方法は、OSにカーネルモードソフトウェアをインストールする必要があり、セキュリティポリシによりカーネルモードソフトウェアのインストールが禁止されたログイン環境では、いったんカーネルモードソフトウェアのインストールが許可される権限のログイン環境に切り替えて、カーネルモードソフトウェアをインストールする必要がある。パソコン管理者一人が何十、何百ものパソコンを管理しているような企業では、大きな負担となる。
第二の方法は、OSにより対応済みのファイルシステム(以下、標準ファイルシステムと呼ぶ)実体の内部に、独自ファイルシステム実体を配置する(以下、この構造を二重ファイルシステム構造と呼ぶ)。この際、独自ファイルシステム実体は標準ファイルシステムにて定義された単一もしくは複数のファイルイメージとなるため、独自ファイルシステムを解釈する機能を持つ独自のユーザモードアプリケーションが、単一のもしくは複数のファイルイメージにアクセスすることにより、独自ファイルシステム実体にアクセスすることが可能となる(以下、ユーザモードアクセスと呼ぶ)。
この場合、厳格なセキュリティポリシを設定したログイン環境でも問題とならない。しかしこの方法は、ファイル操作を独自アプリケーションが有する独自UIで処理するため、ユーザはOSのUIと異なる操作性で使用しなければならない。
このように第一のファイルシステムと第二のファイルシステムを相互に関連づける手法を開示するものとして特許文献1に示すものが開示されている。
特表2006−523882号公報
ひとつの独自ファイルシステムに対して、上述した二つの方法のどちらでもアクセスすることができれば、利用方法は増す。例えば、独自ファイルシステムを頻繁に利用するパソコンにはカーネルモードアクセスを用いて利便性を向上させ、臨時で使用するパソコンではユーザモードアクセスを用いて運用性を向上させるといった利用方法が可能となる。
上述した二重ファイルシステム構造を採用することよって実現可能となるが、この場合に問題が二点存在する。
第一の問題として、OS内で二重ファイルシステム構造を解析するため、単一のファイルシステム構造をマッピングする場合に比べると、パフォーマンスは低下し、CPU使用率は上昇する。
頻繁に利用することが前提のカーネルモードアクセスはパフォーマンス低下やCPU使用率上昇を防ぐことが望ましく、これが第一の課題である。
第二の問題として、独自ファイルシステム実体をファイルイメージとして認識させた場合、一個のファイルを削除や改変する手順により、独自ファイルシステム実体を削除や改変することが可能となってしまうという危険性がある。
一個のファイルを削除する手順にて、ファイルシステム内の複数個、場合によって何千何万個のファイルを同時に消失するため、ユーザの誤操作によるリスクが極めて高く、これを防止することが第二の課題である。
なお、上述した特許文献1に開示されるものは、第一のファイルシステムを採用する記録媒体を第二のファイルシステムを採用するインターフェイスを介してアクセスするものであり、このような二重ファイルシステム構造を提供することはできない。
本発明は、上記課題にかんがみてなされたもので、ひとつの独自ファイルシステムに対して、カーネルモードアクセスを用いて利便性を向上させることができ、かつ、ユーザモードアクセスを用いて運用性を向上させることも可能なファイルシステム管理装置およびファイルシステム管理プログラムの提供を目的とする。
上記目的を達成するため、第一のファイルシステムに従う第一のファイルシステム実体に第二のファイルシステムに従う第二のファイルシステム実体をマッピングするとともにマッピングの対応関係をマッピング情報として上記第一のファイルシステムにおける所定領域に記録した記憶媒体にアクセスするにあたって、上記記憶媒体から上記マッピング情報を取得するマッピング情報取得手段と、上記第一のファイルシステムに従って第一のファイルシステム実体を処理対象としつつ上記マッピング情報取得手段の取得した上記マッピング情報に基づいて上記第二のファイルシステムに従う第二のファイルシステム実体にアクセスするアクセス手段と、を備える構成としてもよい。
また、主たる発明は、第一のファイルシステムに従う第一のファイルシステム実体の領域に、第二のファイルシステムに従う第二のファイルシステム実体を配置し、かつ、当該第二のファイルシステム実体の物理アドレス位置を上記第一のファイルシステムにおける所定領域に記録した記憶媒体にアクセスするにあたって、上記記憶媒体から上記物理アドレス位置の情報を取得する情報取得手段と、上記第一のファイルシステムに従って第一のファイルシステム実体を処理対象としつつ上記取得された物理アドレス位置の情報に基づいて上記第二のファイルシステムに従う第二のファイルシステム実体にアクセスするアクセス手段と、上記第二のファイルシステム実体が配置される上記第一のファイルシステム実体を、上記第一のファイルシステムに従った操作で書込または消去を不能とさせる脆弱性低下手段とを備え、上記脆弱性低下手段は、初期起動時に上記第一のファイルシステム実体の属性を上記第一のファイルシステムに従って書込または消去を不能とし、上記第二のファイルシステムに従う第二のファイルシステム実体に対するアクセス時に上記第一のファイルシステム実体の属性を書込または消去を可能としつつ、同アクセスの終了時に上記第一のファイルシステム実体の属性を書込または消去を不能に戻す、構成としてある。
このような手法は必ずしも実体のある装置に限られる必要はなく、その方法としても機能することは容易に理解できる。従って、必ずしも実体のある装置に限らず、その方法としても有効であることに相違はない。
ところで、このようなファイルシステムを実現させるソフトウェアは、記録媒体上において記録され、利用される。むろん、その記録媒体は、磁気記録媒体であってもよいし光磁気記録媒体であってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。また、一次複製品、二次複製品などの複製段階については全く問う余地無く同等である。その他、供給方法として通信回線を利用して行なう場合でも本発明が利用されていることにはかわりない。
さらに、一部がソフトウェアであって、一部がハードウェアで実現されている場合においても発明の思想において全く異なるものではなく、一部を記録媒体上に記憶しておいて必要に応じて適宜読み込まれるような形態のものとしてあってもよい。
本発明をソフトウェアで実現する場合、ハードウェアやオペレーティングシステムを利用する構成とすることも可能であるし、これらと切り離して実現することもできる。例えば、各種の演算処理といっても、その実現方法はオペレーティングシステムにおける所定の関数を呼び出して処理することも可能であれば、このような関数を呼び出すことなくハードウェアから入力することも可能である。そして、実際にはオペレーティングシステムの介在のもとで実現するとしても、プログラムが媒体に記録されて流通される過程においては、このプログラムだけで本発明を実施できるものと理解することができる。
また、本発明をソフトウェアで実施する場合、発明がプログラムを記録した媒体として実現されるのみならず、本発明がプログラム自体として実現されるのは当然であり、プログラム自体も本発明に含まれる。
本明細書および添付図面の記載により、少なくとも以下の事項が明らかになる。
上記主たる発明の構成によれば、記憶媒体では、第一のファイルシステムに従う第一のファイルシステム実体に、第二のファイルシステムに従う第二のファイルシステム実体をマッピングするとともに、マッピングの対応関係をマッピング情報として上記第一のファイルシステムにおける所定領域に記録している。
そして、第二のファイルシステム用ソフトウェアが、上記第一のファイルシステムに従って第一のファイルシステム実体を処理対象としつつ、上記マッピング情報に基づいて上記第二のファイルシステムに従う第二のファイルシステム実体にアクセスする。
このようにすれば、第二のファイルシステム実体を第一のファイルシステム実体にマッピングした情報に基づいて、第一のファイルシステム実体を処理対象としつつ、第二のファイルシステム実体にアクセスすることができる。
例えば、カーネルモードアクセスにより二重ファイルシステムを解釈する初期段階にて、独自ファイルシステム実体(第二のファイルシステム実体)の物理アドレス位置情報(マッピング情報)を取得・保持し、その後の独自ファイルシステム実体へのアクセス時は保持している物理アドレス位置情報を参照し、ダイレクトに記憶領域にアクセスすることができる。
従って、OS内で二重ファイルシステム構造を解析する必要がなくなり、パフォーマンスの低下や、CPU使用率の上昇を防ぐことができる。
上記マッピング情報の記憶領域は適宜設定可能である。その一例として、同マッピング情報は、上記第一のファイルシステムにおける特定位置の未使用領域上に、上記第二のファイルシステム実体の物理アドレス位置を記憶するように構成してもよい。
上記のように構成した場合、上記第一のファイルシステムにおける特定位置の未使用領域上に上記第二のファイルシステム実体の物理アドレス位置を記憶しており、未使用領域であるので第一のファイルシステムと併存可能であるし、特定位置とすることで、第一のファイルシステムを解析することなく読み込むことができる。むろん、物理アドレス位置を記憶するので、その後も第一のファイルシステムを解析する必要はない。
ただし、第一のファイルシステムをそのアルゴリズムに基づいて解析し、独自ファイルシステムとしての上記第二のファイルシステム実体の位置を探索することも可能である。
次に、第二の課題に対応する一例として、上記第二のファイルシステム実体がマッピングされる上記第一のファイルシステム実体を、上記第一のファイルシステムに従った操作で書込または消去を不能とさせる脆弱性低下手段を有する構成としてもよい。
上記のように構成した場合、上記第二のファイルシステム実体は上記第一のファイルシステム実体内にマッピングされており、本来であれば、ユーザーは第一のファイルシステムに従って一つの第一のファイルシステム実体を削除することが可能である。そして、この第一のファイルシステム実体が複数の第二のファイルシステム実体を含んでいるのであれば、最悪の場合にはすべての第二のファイルシステム実体を破壊しかねない。しかしながら、ユーザーなどが第一のファイルシステムに従った操作でこのような第一のファイルシステム実体を削除等しようとしても、脆弱性低下手段がそのような書込または消去を不能とさせる。
これにより、危惧される第二の課題にも対応することができる。
このような脆弱性低下手段を実現するより具体的な構成は様々である。その一例として、上記脆弱性低下手段は、初期起動時に上記第一のファイルシステム実体の属性を上記第一のファイルシステムに従って書込または消去を不能とし、上記第二のファイルシステムに従う第二のファイルシステム実体に対するアクセス時に上記第一のファイルシステム実体の属性を書込または消去を可能としつつ、同アクセスの終了時に上記第一のファイルシステム実体の属性を書込または消去を不能に戻す構成としてもよい。
上記のように構成した場合、初期起動時には上記第一のファイルシステム実体の属性を上記第一のファイルシステムに従って書込または消去を不能とする。従って、この状態でで第一のファイルシステムに従った操作をしても書込または消去することは防止される。一方、上記第二のファイルシステムに従った操作で第二のファイルシステム実体にアクセスする時には、上記第一のファイルシステム実体の属性を書込または消去を可能とするので、所望のアクセスが可能である。むろん、この場合にも操作を誤って必要なファイル実体を消去してしまうことはあり得るが、あくまでも第二のファイルシステム上の操作なので同操作に対応した一又は複数のファイルが影響を受けるにすぎず、誤った第一のファイルシステムの操作ですべてのファイルを消去してしまう事態とは異なる。そして、第二のファイルシステムに従った操作でのアクセス終了時には、再度、上記第一のファイルシステム実体の属性を書込または消去を不能に戻す。これにより、以降は第一のファイルシステムに従って書込または消去してしまうことを防止する。
このような構成を実現するより具体的な構成の一例として、上記第二のファイルシステム用ソフトウェアは、オペレーティングシステム上で実行するユーザモードアプリケーションとして提供され、同ユーザモードアプリケーションの起動時に上記第一のファイルシステム実体の属性を書込または消去を可能としつつ、上記第一のファイルシステム実体を排他的にオープンすることで同オペレーティングシステムの論理規定に基づいて他からの書込または消去を不能とし、同ユーザモードアプリケーションの終了時に同第一のファイルシステム実体の属性を書込または消去を不能とする構成としてもよい。
上記のように構成した場合、上記第二のファイルシステム用ソフトウェアは、オペレーティングシステム上で実行するユーザモードアプリケーションとして提供されている。従って、第二のファイルシステムの操作を行なうにあたってオペレーティングシステムによる制約は受けている。この状態で、ユーザモードアプリケーションの起動時に上記第一のファイルシステム実体の属性を書込または消去を可能とすることでアクセスは可能となる。このときに、誤ってユーザモードアプリケーション以外で第一のファイルシステムからアクセスして書込または消去しかねないため、上記第一のファイルシステム実体を排他的にオープンする。これにより、オペレーティングシステムの論理規定に基づいて他からの書込または消去を不能となる。そして、同ユーザモードアプリケーションの終了時に同第一のファイルシステム実体の属性を書込または消去を不能とし、第一のファイルシステムからアクセスして書込または消去することを防止する。
また、別の具体的な構成の一例として、上記第二のファイルシステム用ソフトウェアは、オペレーティングシステムに組み込まれるファイルシステムドライバとして提供され、上記第一のファイルシステム実体の書込または消去を管理する構成としてもよい。
上記のように構成した場合、上記第二のファイルシステム用ソフトウェアは、オペレーティングシステムに組み込まれるファイルシステムドライバとして提供されている。従って、よりオペレーティングシステムに組み込まれた状態でのファイルシステムへの対応が可能となる。そして、オペレーティングシステムに組み込まれた状態で上記第一のファイルシステム実体の書込または消去を管理する。これにより、ユーザなどが誤った操作で第二のファイルシステム実体をマッピングしてある第一のファイルシステム実体を書込または消去し、多数のファイルシステム実体を瞬時にアクセス不能としてしまうことを防止できる。
むろん、このようなシステムは、その構成要素ごとに発明として理解することも可能である。その一例として、第一のファイルシステムに従う第一のファイルシステム実体に、第二のファイルシステムに従う第二のファイルシステム実体をマッピングするとともに、マッピングの対応関係をマッピング情報として上記第一のファイルシステムにおける所定領域に記録する記憶媒体単体での発明の認識も可能である。
また、同様にして、上記マッピング情報は、上記第一のファイルシステムにおける特定位置の未使用領域上に、上記第二のファイルシステム実体の物理アドレス位置を記憶する構成として認識することもできる。
以下、図面にもとづいて本発明のより具体的な実施形態を説明する。
図1は、本発明の一実施形態にかかる記憶媒体のファイルシステムにおけるファイルシステム実体の構成を示している。
また、標準ファイルシステムの特性により、独自ファイルシステム実体が標準ファイルシステム実体内に断片化して配置された場合も、全ての断片の物理アドレスを保持していれば問題はない。
ただし、独自ファイルシステム実体の断片が多くなるほど、パフォーマンス低下やCPU使用率の上昇を招く。そのため独自ファイルシステム実体の断片は可能な限り少なくなる配置をすること求められる。
図1は、第一のファイルシステムとしてFATを採用する例を示している。このように、標準ファイルシステム(第一のファイルシステム)にFATを選択した場合、独自ファイルシステム実体はリニアな配置にすることが可能である。さらに、FAT内のファイルの容量制限により独自ファイルシステム(第二のファイルシステム)実体が複数のファイルイメージに対応された場合も、独自ファイルシステム実体をリニアに配置することは可能である。
同図において、記憶領域の先頭にはBPB(バイオスパラメータブロック)、FAT(ファイルアロケーションテーブル)、DE(ディレクトリエントリ)といった管理領域が確保され、その後の領域がファイルシステム領域となっている。このファイルシステム領域を独自ファイルシステムの領域として利用する。ただし、標準ファイルシステム上からは、あたかも複数のファイル1〜ファイルX(File No.1〜File No.X)が保存されているように見えている。
カーネルモードソフトウェアにより独自ファイルシステム実体の物理アドレス位置情報を取得する方法として、以下の二つが適用可能である。
第一の方法は、標準ファイルシステムをそのアルゴリズムに基づいて解析し、独自ファイルシステム実体の位置を探索する方法である。
第二の方法は、標準ファイルシステムの特定位置の未使用領域に、あらかじめ独自ファイルシステム実体の物理アドレス位置を記録する方法である。
第一の方法は、OS内で二重ファイルシステム構造を解析するため、単一のファイルシステム構造をマッピングする場合に比べると、パフォーマンスは低下し、CPU使用率は上昇する。
従って、本発明では、第二の方法を用いている。ただし、本発明は本質的に第一の方法を否定するものではなく、第二の方法を採用しつつも第一の方法で独自ファイルシステム実体の位置を探索することは可能である。
一方、脆弱性の低下を防止するため、本発明では、記憶装置のハードウェアもしくはファームウェアに以下のモードを設けている。
・モード1
独自ファイルシステム実体に対応したファイル情報、またそれらファイルの上位に位置するディレクトリ情報、また独自ファイルシステム実体を含む領域を書き込み不可に設定する。
・モード2
独自ファイルシステム実体を含む領域を書込み可に設定する。
そして、記憶装置の電源投入時やリセット受信時はモード1に設定する。このため、独自ファイルシステム実体に対応したファイルを削除することが不可能となる。
一方、独自ファイルシステム実体にアクセスする際は、ユーザモードアプリケーションはその直前にモード2に切り替え、独自ファイルシステム実体に対応したファイルを排他的にオープンする。このため、OSの論理規定により独自ファイルシステムは保護される。
そして、アプリケーション終了時等、独自ファイルシステム実体をクローズする際は、再度モード1に切り替える。
次に、このようなカーネルモードソフトウェアとユーザモードアプリケーションとで暗号化領域を共通化する他の実施形態について説明する。
まず、暗号化領域の基本構造は暗号化された論理ドライブ(以下、暗号化論理ドライブまたは第二のファイルシステムと呼ぶ)である。
カーネルモードソフトウェアをインストールしていないPCのユーザ権限においてもアプリケーションから暗号化論理ドライブにアクセス可能な仕組みとして、物理ドライブ上に偽装ファイルシステムパラメータを配置することにより、暗号化論理ドライブ実体(第二のファイルシステム実体)を偽装された論理ドライブ(以下、偽装論理ドライブと呼ぶ)上のファイル(第一のファイルシステム実体)として認識させる。
この際に暗号化論理ドライブのサイズが大きい場合は、偽装論理ドライブ上にて複数のファイルに分割されて配置させる。
また、どのPC環境でも暗号化論理ドライブや暗号化論理ドライブファイルが消失しないような仕組みを、ソフトウェア、ハードウェアに設ける。
図2および図3は、それぞれハードディスクドライブとUSBフラッシュメモリなどの記憶装置の場合における記憶領域上でのファイルシステムの物理的な配置を示している。
図2に示すハードディスクの場合(Fdisk形式のレイアウトを示すが、ハードディスクであればFdisk形式に限定されるわけではない)、先頭領域にMBR(マスターブートレコード)を備え、その次には未使用領域が確保され、その後、FAT32構造(第一のファイルシステム)からなる複数の偽装論理ドライブの領域が確保されている。同図では第1〜第xの論理ドライブの領域が確保されている状況を示している。
2Tバイト以上の場合には、MBRの代わりにGPT(GUIDパーティションテーブル)を使用する方法もあり、この場合の物理的な配置は図10に示している。
ここで、各偽装論理ドライブは、FAT32構造(第一のファイルシステム)となっているので、その内部は偽装論理ドライブパラメータ領域と、暗号化論理ドライブ実体領域とに分けられ、これによって第二のファイルシステムである暗号化論理ドライブが形成されることになる。
第一のファイルシステムを構成する偽装論理ドライブ上のパラメータは、FAT32構造を踏襲して以下のようになっている。
FBPBは、フェイクバイオスパラメータブロック(FakeBiOSParameterBlock:便宜上の名称)であり、FAT32構造におけるブートパラメータブロック(BPB)の構造である。
EPB1は、エンクリプションパラメータブロック1(EncryptionParameterBloekNo.1:便宜上の名称)であり、本実施形態では、以下のEFile1の先頭位置と、全EFileの合計サイズが記録されている。このEPB1の位置であるが、第二のファイルシステム実体の先頭か末尾もしくは内部の空き領域もしくはそれらの複数の場所に設置可能である。
すなわち、第一のファイルシステムに従う第一のファイルシステム実体(偽装論理ドライブ内のEFile 1〜EFile x)に、第二のファイルシステムに従う第二のファイルシステム実体(EFile 1〜EFile xの領域を利用)がマッピングされ、かつ、マッピングの対応関係をマッピング情報として上記第一のファイルシステムにおける所定領域(偽装論理ドライブにおけるFAT32構造の先頭に配置されたEPB1領域)に記録されていることになる。
なお、EPB1には、固有のシグニチャが記録される他、EFile 1の先頭位置、全ファイルの合計サイズが記録されている。
FFATは、フェイクファット(FakeFAT:便宜上の名称)であり、通常は2個備える。FAT32構造を採用するために設けられているが、実際のファイルシステム実体の配置はEPB1に記録されたEFile1の先頭位置と、全EFileの合計サイズとに基づいて解析されることになる。
FDEsとSW(これらは別々の場所に設置することができる)は、暗号化論理ドライブファイルを含むすべてのフェイクディレクトリエントリ(FakeDirectoryEntry:便宜上の名称)である。また、ユーザモードアプリケーションの実体などユーザが使用する任意のファイルを設置することが可能である。
EFile 1〜EFilexは、暗号化論理ドライブファイルの実体である。
一方、図3にはUSBフラッシュメモリのような大規模外付けメモリでドライブを増設する場合における、スーパフロッピー形式のレイアウトを示している。このようなUSBフラッシュメモリはそれ自体が暗号化論理ドライブとなる。そして、先頭領域にはFAT32構造のための所定のパラメータ領域が形成されている。また、これ以降には暗号化論理ドライブ実体(EFile 1〜EFile x)のための領域が確保されている。
暗号化論理ドライブ実体の内部は、以下のような領域が確保されている。
EBPBは、暗号化論理ドライブのバイオスパラメータブロック(BIOSParameterBlock)であり、FAT32のBPB構造である。
EPB2は、エンクリプションパラメータブロック(EncryptionParameterBlockNo.2)であり、固有のシグニチャや暗号データを復号するためのパラメータを保存している。
EFAT(便宜上の名称)は、暗号化論理ドライブのFATである。通常は2個備え、認証前は暗号化されている。
EDEs/EContents(便宜上の名称)は、暗号化論理ドライブのディレクトリエントリ(DirectoryEntry)やファイル内容であり、認証前は暗号化されている。
次に、これらの物理的配置を前提としたソフトウェアからの見え方について説明する。 カーネルモードソフトウェアをインストールしていないPC上でのユーザモードアプリケーションからは以下のように見えることになる。
・セクタ単位での見え方
セクタ単位では物理的実体にダイレクトにアクセスできる。これは本発明が物理的な配置の変更などを実施するものではないからである。
・エクスプローラ上でのドライブ構成
図4は、ハードディスクドライブの場合のエクスプローラ上で表示されるドライブ構成を示している。第一論理ドライブ(図には第一論理ドライブを示しているが、第一論理ドライブには限られない)内には、ファイルがx個表示される。図2に示すようにFAT32構造の偽装論理ドライブパラメータには暗号化論理ドライブ実体としてx個のファイル実体が存在するように書き込まれており、かつ、未使用領域には「第一のファイルシステムに従う第一のファイルシステム実体に、第二のファイルシステムに従う第二のファイルシステム実体をマッピングするとともに、マッピングの対応関係をマッピング情報として(上記第一のファイルシステムにおける所定領域に)記録」している。このため、不用な空き領域は存在しない。
むろん、このような暗号化論理ドライブ実体を設けていない第2ドライブ以降は通常どおりに表示される。上記では、第一論理ドライブ内に暗号化の論理ドライブを設定したが、任意のドライブを論理ドライブとして、残りを通常ドライブとして使用することもできる。
図5は、USBフラッシュメモリの場合のエクスプローラ上で表示されるドライブ構成を示している。当該ドライブ内には、ファイルがx個表示される。この場合も、図3に示すようにFAT32構造の論理ドライブパラメータには暗号化論理ドライブ実体としてx個のファイル実体が存在するように書き込まれているからである。また、未使用領域には「第一のファイルシステムに従う第一のファイルシステム実体に、第二のファイルシステムに従う第二のファイルシステム実体をマッピングするとともに、マッピングの対応関係をマッピング情報として(上記第一のファイルシステムにおける所定領域に)記録」している。
一方、カーネルモードソフトウェアをインストールしたPC上では以下のように見えることになる。
まず、認証前について説明する。
・セクタ単位での見え方
セクタ単位ではアクセス不可とする。カーネルモードソフトウェアをインストールしているので、暗号化された状態のデータの改変や削除を防止するため、カーネルモードソフトウェアの一機能としてセクタ単位でのアクセスを不可としている。
・エクスプローラ上でのドライブ構成
ハードディスクドライブの場合、認証前は、暗号化された状態のデータの改変や削除を防止するため、カーネルモードソフトウェアの一機能として、ハードディスクドライブにおける全ての論理ドライブは認織されないようにしている。
USBフラッシュメモリの場合も、同様に、認証前は、暗号化された状態のデータの改変や削除を防止するため、カーネルモードソフトウェアの一機能として、USBフラッシュメモリにおける全ての論理ドライブは認織されないようにしている。
次に、認証後について説明する。
・セクタ単位でのアクセス
認証によって復号化が許可されるので、偽装論理ドライブパラメータと、EPB2のサイズ分を除く全領域が認識され、カーネルモードソフトウェアの一機能としてソフトウェアからのアクセスを可能とする。
まず、図6は、認証後のハードディスクドライブ上でのセクタ単位でのアクセス状況のイメージを示している。
ハードディスクドライブの場合は、セクタ単位でのアクセスをより容易にするため、カーネルモードソフトウェアの一機能として、第一論理ドライブ内では、第二のファイルシステムである暗号化論理ドライブのバイオスパラメータブロック、FAT、ディレクトリエントリやファイル内容が配置されているかのようにアクセスされるようにしている。
なお、暗号化の脆弱性の低下防止のため、カーネルモードソフトウェアの一機能としてEPB2についてはアクセスできないようにしている。
図7は、同様に認証後のUSBフラッシュメモリ上でのセクタ単位でのアクセス状況のイメージを示している。
USBフラッシュメモリの場合も、ハードディスクドライブとほぼ同様であり、カーネルモードソフトウェアの一機能として暗号化論理ドライブのバイオスパラメータブロック、FAT、ディレクトリエントリやファイル内容が配置されているかのようにアクセスされるようにしている。
・エクスプローラ上でのドライブ構成
カーネルモードソフトウェアの存在により、暗号化論理ドライブへのアクセスがOSの一機能として実現されているため、第一論理ドライブには、ユーザの暗号化データが復号された状態で存在する。すなわち、ユーザーが普段使い慣れているOSのUIそのものにより、暗号化論理ドライブ(第二のファイルシステム)へのアクセスが実現されている。
このような表示やアクセスは、ハードディスクドライブの場合も、USBフラッシュメモリの場合も全く同様である。
図8は、認証後のハードディスクドライブの場合におけるエクスプローラ上で表示されるドライブ構成を示しており、図9は、認証後のUSBフラッシュメモリの場合におけるエクスプローラ上で表示されるドライブ構成を示している。
いずれの場合においても第二のファイルシステムに則って第二のファイルシステム実体の解析が完了しているので、ユーザーが作成したファイル(UserFile1〜UserFilex)が表示され、通常のアクセス(書き込み、読み込み、消去など)が可能である。
次に、暗号化領域の保護について説明する。すなわち、第一のファイルシステム上に存在するファイルシステム実体としての第二ファイルシステム上での第二ファイルシステム実体のまとまりである暗号化領域の消失の防止策である。
カーネルモードソフトウェアをインストールしていないPCの場合について説明する。
予想される危険性は、ファイル化された暗号化論理ドライブが削除されたり、それらファイルを含む偽装FAT32論理ドライブがフォーマットされる可能性があるということである。また、この場合、空き領域に平文データが保存可能になってしまう。
本実施形態で実現される防止策は、以下のようなものである。
暗号化ストレージ製品のファームウェアに仕組みを持たせ、データ書き込み領域設定を、全領域書き込み可、全領域書き込み不可、MBR/FBPB/GPT/GPTエントリ配列書き込み不可という、3つのパターン用意する。ここにおいて、
全領域書込不可モードとは、製品の電源投入後/リセット受信後の初期状態であり、データ書き込みについては、全領域を書込不可能とする。
全領域書込モードとは、暗号化領域の作成/削除時のみ、このモードに設定することにより、暗号化領域の作成時や削除時には、全領域に対する書込を可能とする。
そして、MBR/FBPB/GPT/GPTエントリ配列書き込み不可モードとは、PCでの認証後に設定されるモードであり、フォーマットや領域解放を禁止する。
以上のようにデータ書き込みの可否を領域ごとに設定する。これにより、認証前は全領域書き込み不可のため、リスクはない。しかし、認証後は、偽装論理ドライブのパラメータブロックやMBR,GPTは変更不可であるため、フォーマットや領域解放のリスクはない。そして、暗号化論理ドライブファイルはユーザーモードアプリケーションにより常に排他的オープンされるため、ファイル改変や削除のリスクもない。
なお、このようなモード切替は、ユーザ権限のOSから発行可能なコマンド(メディア挿入/取り出し、容量取得など)を組み合わせ、ソフトウェアから命令する。このような仕組みは比較的簡単に実現できる通常の手段といえる。
次に、カーネルモードソフトウェアをインストールしたPCに接続した場合について説明する。
予想される危険性は、暗号化論理ドライブがフォーマットされたり、開放されてしまうことである。
本実施形態で実現される防止策は、以下のようなものである。
フォーマットや領域開放を防止するサービスプログラムをPCにインストールすることで実現できる。かかるサービスプログラムは、カーネルモードソフトウェアの一機能としても良いし、カーネルモードソフトウェアをインストールする際に同時にインストールしても良い。カーネルモードソフトウェアとは別にアプリケーションをインストールするのであれば、カーネルモードソフトウェアで同アプリケーションの存在を確認し、存在しない場合には機能を制限するということも可能である。
以上、説明したように、本実施形態においては、第一のファイルシステムに対応している論理ドライブを使用し、同論理ドライブ内に同第一のファイルシステムに対応したFAT32構造の論理ドライブ実体(EFile1〜EFilex)を生成しつつ、空き領域は残さない。そして、同第一のファイルシステムに対応したFAT32構造における論理ドライブパラメータの領域内にはEPB1を確保し、同EPB1には論理ドライブ実体の先頭位置と、全論理ドライブ実体の合計サイズを記録している。これにより、第一のファイルシステムに従う第一のファイルシステム実体(論理ドライブ実体)に、第二のファイルシステムに従う第二のファイルシステム実体(論理ドライブ実体の領域を利用)がマッピングされ、かつ、マッピングの対応関係をマッピング情報としてEPB1領域に記録することになる。そして、カーネルモードソフトウェアやユーザモードアプリケーションにて同EPB1領域を参照することで第一のファイルシステム実体にマッピングされた第二のファイルシステムに従う第二のファイルシステム実体の物理的配置を知ることができる。その後、いずれかのソフトウェアにより、第二のファイルシステム実体のデータに基づき、第二のファイルシステムに則ってファイルシステムの利用(書き込み、読み込み、消去など)を実現することが可能となる。
なお、本発明は上記実施例に限られるものでないことは言うまでもない。当業者であれば言うまでもないことであるが、
・上記実施例の中で開示した相互に置換可能な部材および構成等を適宜その組み合わせを変更して適用すること
・上記実施例の中で開示されていないが、公知技術であって上記実施例の中で開示した部材および構成等と相互に置換可能な部材および構成等を適宜置換し、またその組み合わせを変更して適用すること
・上記実施例の中で開示されていないが、公知技術等に基づいて当業者が上記実施例の中で開示した部材および構成等の代用として想定し得る部材および構成等と適宜置換し、またその組み合わせを変更して適用することは本発明の一実施例として開示されるものである。
本発明の一実施形態にかかる記憶媒体のファイルシステムにおけるファイルシステム実体の構成を示している。 ハードディスクドライブの場合における記憶領域上でのファイルシステムの物理的な配置を示す図である。 USBフラッシュメモリの場合における記憶領域上でのファイルシステムの物理的な配置を示す図である。 ハードディスクドライブの場合のエクスプローラ上で表示されるドライブ構成を示す図である。 USBフラッシュメモリの場合のエクスプローラ上で表示されるドライブ構成を示す図である。 認証後のハードディスクドライブ上でのセクタ単位でのアクセス状況のイメージを示す図である。 認証後のUSBフラッシュメモリ上でのセクタ単位でのアクセス状況のイメージを示す図である。 認証後のハードディスクドライブの場合におけるエクスプローラ上で表示されるドライブ構成を示す図である。 認証後のUSBフラッシュメモリの場合におけるエクスプローラ上で表示されるドライブ構成を示す図である。 2Tバイト以上のハードディスクドライブの場合における記憶領域上でのファイルシステムの物理的な配置を示す図である。
符号の説明
EFile(1〜x)…暗号化論理ドライブ実体
EPB1…エンクリプションパラメータブロック1
UserFile(1〜x)…ユーザーが作成したファイル
EFAT…暗号化論理ドライブのFAT
EDEs/EContents…暗号化論理ドライブのディレクトリエントリやファイル内容

Claims (5)

  1. 第一のファイルシステムに従う第一のファイルシステム実体の領域第二のファイルシステムに従う第二のファイルシステム実体を配置し、かつ、当該第二のファイルシステム実体の物理アドレス位置を上記第一のファイルシステムにおける所定領域に記録した記憶媒体にアクセスするにあたって、
    上記記憶媒体から上記物理アドレス位置の情報を取得する情報取得手段と、
    上記第一のファイルシステムに従って第一のファイルシステム実体を処理対象としつつ上記取得された物理アドレス位置の情報に基づいて上記第二のファイルシステムに従う第二のファイルシステム実体にアクセスするアクセス手段と、
    上記第二のファイルシステム実体が配置される上記第一のファイルシステム実体を、上記第一のファイルシステムに従った操作で書込または消去を不能とさせる脆弱性低下手段とを備え
    上記脆弱性低下手段は、初期起動時に上記第一のファイルシステム実体の属性を上記第一のファイルシステムに従って書込または消去を不能とし、上記第二のファイルシステムに従う第二のファイルシステム実体に対するアクセス時に上記第一のファイルシステム実体の属性を書込または消去を可能としつつ、同アクセスの終了時に上記第一のファイルシステム実体の属性を書込または消去を不能に戻す、ことを特徴とするファイルシステム管理装置。
  2. 記第一のファイルシステムにおける特定位置の未使用領域上に、上記第二のファイルシステム実体の物理アドレス位置を記憶していることを特徴とする上記請求項1に記載のファイルシステム管理装置。
  3. 上記アクセス手段は、オペレーティングシステム上で実行するユーザモードアプリケーションを実行することにより実現され、
    同ユーザモードアプリケーションの起動時に上記第一のファイルシステム実体の属性を書込または消去を可能としつつ、上記第一のファイルシステム実体を排他的にオープンすることで同オペレーティングシステムの論理規定に基づいて他からの書込または消去を不能とし、同ユーザモードアプリケーションの終了時に同第一のファイルシステム実体の属性を書込または消去を不能とすることを特徴とする上記請求項1または請求項2に記載のファイルシステム管理装置。
  4. 上記アクセス手段は、オペレーティングシステムに組み込まれるファイルシステムドライバを実行することにより実現され、上記第一のファイルシステム実体の書込または消去を管理することを特徴とする上記請求項1または請求項2に記載のファイルシステム管理装置。
  5. 所定の機能をコンピューターに実現させるためのファイルシステム管理プログラムであって、
    第一のファイルシステムに従う第一のファイルシステム実体の領域第二のファイルシステムに従う第二のファイルシステム実体を配置し、かつ、当該第二のファイルシステム実体の物理アドレス位置を上記第一のファイルシステムにおける所定領域に記録した記憶媒体にアクセスするにあたって、
    上記記憶媒体から上記物理アドレス位置の情報を取得する情報取得機能と、
    上記第一のファイルシステムに従って第一のファイルシステム実体を処理対象としつつ上記取得された物理アドレス位置の情報に基づいて上記第二のファイルシステムに従う第二のファイルシステム実体にアクセスするアクセス機能と、
    上記第二のファイルシステム実体が配置される上記第一のファイルシステム実体を、上記第一のファイルシステムに従った操作で書込または消去を不能とさせる脆弱性低下機能とを実現させ、
    上記脆弱性低下機能は、初期起動時に上記第一のファイルシステム実体の属性を上記第一のファイルシステムに従って書込または消去を不能とし、上記第二のファイルシステムに従う第二のファイルシステム実体に対するアクセス時に上記第一のファイルシステム実体の属性を書込または消去を可能としつつ、同アクセスの終了時に上記第一のファイルシステム実体の属性を書込または消去を不能に戻す、ことを特徴とするファイルシステム管理プログラム。
JP2007269419A 2007-10-16 2007-10-16 ファイルシステム管理装置およびファイルシステム管理プログラム Active JP5184041B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2007269419A JP5184041B2 (ja) 2007-10-16 2007-10-16 ファイルシステム管理装置およびファイルシステム管理プログラム
US12/251,762 US8380666B2 (en) 2007-10-16 2008-10-15 File management device and storage device for managing mapping information between a first file system and a second file system
CN200810170267XA CN101430700B (zh) 2007-10-16 2008-10-16 文件系统管理装置和方法以及存储装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007269419A JP5184041B2 (ja) 2007-10-16 2007-10-16 ファイルシステム管理装置およびファイルシステム管理プログラム

Publications (3)

Publication Number Publication Date
JP2009098890A JP2009098890A (ja) 2009-05-07
JP2009098890A5 JP2009098890A5 (ja) 2010-11-25
JP5184041B2 true JP5184041B2 (ja) 2013-04-17

Family

ID=40584265

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007269419A Active JP5184041B2 (ja) 2007-10-16 2007-10-16 ファイルシステム管理装置およびファイルシステム管理プログラム

Country Status (3)

Country Link
US (1) US8380666B2 (ja)
JP (1) JP5184041B2 (ja)
CN (1) CN101430700B (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101274181B1 (ko) * 2006-02-13 2013-06-14 삼성전자주식회사 플래시 메모리를 관리하는 장치 및 방법
JP2009271848A (ja) * 2008-05-09 2009-11-19 Fujitsu Microelectronics Ltd ファイルシステム及びデータ管理方法
KR101895453B1 (ko) * 2011-11-09 2018-10-25 삼성전자주식회사 이기종 컴퓨팅 환경에서 보안 강화 방법 및 장치
US9575974B2 (en) * 2013-10-23 2017-02-21 Netapp, Inc. Distributed file system gateway
US9507800B2 (en) 2013-10-23 2016-11-29 Netapp, Inc. Data management in distributed file systems
CN103617039B (zh) * 2013-11-28 2017-02-01 北京华胜天成科技股份有限公司 一种访问用户空间文件系统的方法及装置
US10565162B2 (en) * 2017-08-02 2020-02-18 Mastercard International Incorporated Systems and methods for customized operating system conversion
CN108363727B (zh) * 2018-01-10 2020-06-02 贝壳找房(北京)科技有限公司 一种基于zfs文件系统的数据存储方法及装置
JP7244352B2 (ja) * 2019-05-22 2023-03-22 ファナック株式会社 ファイル管理装置
CN110837478A (zh) * 2019-11-06 2020-02-25 出门问问信息科技有限公司 文件管理方法、存储介质和电子设备

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001325128A (ja) * 2000-05-15 2001-11-22 Sony Corp ファイル管理方法、記録又は再生装置
US7430593B2 (en) * 2001-10-05 2008-09-30 International Business Machines Corporation Storage area network for topology rendering
US6892264B2 (en) * 2001-10-05 2005-05-10 International Business Machines Corporation Storage area network methods and apparatus for associating a logical identification with a physical identification
US7080140B2 (en) * 2001-10-05 2006-07-18 International Business Machines Corporation Storage area network methods and apparatus for validating data from multiple sources
CN100504854C (zh) * 2003-01-14 2009-06-24 联想(北京)有限公司 文件管理方法
JP4401666B2 (ja) * 2003-03-24 2010-01-20 池上通信機株式会社 デジタル画像記録装置及び画像ビューワー装置
WO2004090889A1 (en) 2003-04-14 2004-10-21 Koninklijke Philips Electronics N.V. Format mapping scheme for universal drive device
JP4655545B2 (ja) * 2004-08-23 2011-03-23 ソニー株式会社 メモリーカード及び再生装置
US8533845B2 (en) * 2005-02-15 2013-09-10 Hewlett-Packard Development Company, L.P. Method and apparatus for controlling operating system access to configuration settings
US7725671B2 (en) * 2005-11-28 2010-05-25 Comm Vault Systems, Inc. System and method for providing redundant access to metadata over a network

Also Published As

Publication number Publication date
CN101430700B (zh) 2011-06-22
US20090112950A1 (en) 2009-04-30
JP2009098890A (ja) 2009-05-07
US8380666B2 (en) 2013-02-19
CN101430700A (zh) 2009-05-13

Similar Documents

Publication Publication Date Title
JP5184041B2 (ja) ファイルシステム管理装置およびファイルシステム管理プログラム
US20080046997A1 (en) Data safe box enforced by a storage device controller on a per-region basis for improved computer security
JP4685038B2 (ja) 隠蔽領域管理装置および方法
US8533414B2 (en) Authentication and securing of write-once, read-many (WORM) memory devices
US7370166B1 (en) Secure portable storage device
JP4785679B2 (ja) 2次記憶装置への書込み制御方法及び情報処理装置
US20040148478A1 (en) Method and apparatus for protecting data in computer system in the event of unauthorized data modification
CN109214204B (zh) 数据处理方法和存储设备
JP4340327B1 (ja) マルチファンクションプリンタ
WO2023090297A1 (ja) 記憶装置及びプログラム
US8140795B2 (en) Hard disk drive with write-only region
KR101629740B1 (ko) 독립적 메모리 운영 체제를 갖는 정보 저장 장치 및 그 방법
US8407369B2 (en) Digitally shredding on removable drives
KR20100009330A (ko) 이동식저장장치를 이용한 데이터 영구삭제방법
JP5429280B2 (ja) データ処理装置、そのコンピュータプログラムおよびデータ処理方法
KR101110293B1 (ko) 파일 저장 장치의 파티션 액세스 제어 방법 및 제어 장치, 그 기록매체
KR102597220B1 (ko) 데이터 완전삭제 방법 및 시스템
US20220374534A1 (en) File system protection apparatus and method in auxiliary storage device
WO2013024702A1 (ja) 外部記憶装置及び外部記憶装置の制御方法
JP2019159766A (ja) データ保護装置、データ保護方法、およびデータ保護用プログラム
JP2009211245A (ja) フラッシュメモリ制御システムおよび制御方法
JP2006119944A (ja) データ記憶装置のデータ消去方法、データ消去プログラムおよび該データ消去プログラムが記憶された記憶媒体
US20110125972A1 (en) Information recording device and information recording method
JP2008158803A (ja) データリダイレクト装置及び方法、データリダイレクト用プログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101008

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101008

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120904

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121101

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130108

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130116

R150 Certificate of patent or registration of utility model

Ref document number: 5184041

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160125

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250