(57)【要約】【課題】ファイルの暗号化／復号化処理時にパフォーマンスロスの発生を回避することができるファイル管理装置及びファイル管理方法を提供する。【解決手段】アプリケーションファイルの書き込み要求があると、ファイルをワークエリアであるＲＡＭ１４に読み込み、ファイル５０内のデータパターン５２に基づいて、ＯＳ以下の階層でファイル５０が暗号化対象か否かを自動判断する。暗号化対象と判断された場合には、ＲＯＭ１２に記憶された暗号化プログラムを読み出し、当該プログラムに従ってファイル５０を暗号化する。次に、暗号化されたファイル５４に暗号情報ヘッダー５６を付加し、暗号情報ヘッダー５６を付加したファイル５４をＨＤＤ１６に格納する。一方、暗号化非対象と判断された場合には、ファイル５０を暗号化せずに、ＨＤＤ１６に格納する。その結果、ＨＤＤ１６には暗号化ファイルと非暗号化ファイルとが格納され、両ファイルは混在管理されることになる。【選択図】図２
2007026105.tif 000002
【特許請求の範囲】
【請求項１】
ファイルを記憶する記憶手段と、
前記記憶手段にファイルを記憶する前に、ファイルの暗号化の可否を示す暗号化情報に基づいて、ファイル毎に暗号化の必要性を判断する暗号化判断手段と、
前記暗号化判断手段により暗号化が必要と判断されたファイルを暗号化する暗号化手段と、
を備えたファイル管理装置。
【請求項２】
前記暗号化判断手段が暗号化の必要性を判断する判断基準を設定するための基準設定手段を更に備えた請求項１に記載のファイル管理装置。
【請求項３】
前記暗号化情報として、ファイルデータ内の任意のエリアに書かれたデータパターンを用いる請求項１又は２に記載のファイル管理装置。
【請求項４】
前記暗号化情報として、前記ファイル記憶手段に設けられたファイル管理領域に記憶されたファイル情報を用いる請求項１又は２に記載のファイル管理装置。
【請求項５】
前記ファイル情報が、ファイル名、拡張子、データサイズ、及び属性からなる群から選択される請求項４に記載のファイル管理装置。
【請求項６】
前記暗号化手段により暗号化されたファイルを管理するための管理情報に基づいて、ファイル毎に復号化の必要性を判断する復号化判断手段と、
前記復号化判断手段により復号化が必要と判断されたファイルを復号化する復号化手段と、
を更に備えた請求項１乃至５の何れか１項に記載のファイル管理装置。
【請求項７】
前記管理情報は、暗号化したファイルに付加される請求項６に記載のファイル管理装置。
【請求項８】
前記管理情報は、ファイルシステムの管理領域内に保持される請求項６に記載のファイル管理装置。
【請求項９】
前記管理情報は、ファイルシステムの管理領域以外の記憶領域に保持される請求項６に記載のファイル管理装置。
【請求項１０】
前記管理情報は、前記記憶手段以外の記憶手段に保持される請求項６に記載のファイル管理装置。
【請求項１１】
ファイルを記憶する記憶手段と、
前記記憶手段にファイルを記憶する前に、ファイルを構成する各ブロックの暗号化の可否を示す暗号化情報に基づいて、ブロック毎に暗号化の必要性を判断する暗号化判断手段と、
前記暗号化判断手段により暗号化が必要と判断されたブロックを暗号化する暗号化手段と、
を備えたファイル管理装置。
【請求項１２】
前記暗号化手段により暗号化されたファイルをブロック毎に管理するための管理情報に基づいて、ブロック毎に復号化の必要性を判断する復号化判断手段と、
前記復号化判断手段により復号化が必要と判断されたブロックを復号化する復号化手段と、
を更に備えた請求項１１に記載のファイル管理装置。
【請求項１３】
ファイルの書き込み要求があった場合に、ファイルの暗号化の可否を示す暗号化情報に基づいてファイル毎に暗号化の必要性を判断し、暗号化が必要と判断されたファイルを暗号化して記憶するファイル管理方法。
【請求項１４】
暗号化されたファイルをブロック毎に管理するための管理情報に基づいてブロック毎に復号化の必要性を判断し、復号化が必要と判断されたブロックを復号化する請求項１３に記載のファイル管理方法。
【請求項１５】
ファイルの書き込み要求があった場合に、ファイルの暗号化の可否を示す暗号化情報に基づいてファイル毎に暗号化の必要性を判断し、暗号化が必要と判断されたファイルを暗号化して記憶するファイル管理プログラム。
【請求項１６】
暗号化されたファイルをブロック毎に管理するための管理情報に基づいてブロック毎に復号化の必要性を判断し、復号化が必要と判断されたブロックを復号化する請求項１５に記載のファイル管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファイル管理装置、ファイル管理方法、及びファイル管理プログラムにかかり、特に、ファイルの書き込み時又は読み出し時に、ファイルの暗号化／復号化の必要性を自動的に判別するファイル管理装置、ファイル管理方法、及びファイル管理プログラム
に関する。
【背景技術】
【０００２】
近時、情報漏えい防止の観点から、オペレーション・システム（以下、「ＯＳ」という。）以下のレベルで、電子ファイルを暗号化して保存するファイル管理方法が種々検討されている。図１２に示すように、ＯＳ以下のシステムにファイルの暗号化／復号化処理を行う機能を導入することで、上位アプリケーションの変更が不要になり、汎用性が確保される。即ち、上位アプリケーションでは、ファイルの暗号化／復号化処理を意識せずに、ファイルアクセスを行うことができる。
【０００３】
例えば、コンピュータの記憶領域に暗号化対象領域（暗号化フォルダ）と非暗号化対象領域（非暗号化フォルダ）とを設定し、非暗号化対象領域に記憶された電子ファイルを暗号化対象領域へ移動させた場合に該電子ファイルを自動的に暗号化し、暗号化対象領域から非暗号化対象領域へ移動させた場合に自動的に復号化する電子ファイルの暗号化／復号処理方法が提案されている（特許文献１）。
【特許文献１】特開２００２−２１５４６３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載された方法では、オペレータが電子ファイルを暗号化するか否かを判断し、暗号化すると判断した場合に、図１３に示すように、ユーザがドラッグ＆ドロップで電子ファイルを非暗号化フォルダから暗号化フォルダへ移動させており、ファイルの移動操作に伴うパフォーマンスロスが発生する、という問題がある。特に、近時のＯＳ動作の高速化に伴い、より高速なファイルアクセスが要求されており、余計なパフォーマンスロスは回避する必要がある。
【０００５】
また、従来のファイル管理方法では、ハードディスク（ＨＤＤ）全体或いはＨＤＤ内のファイル全部を暗号化する方法、又は特許文献１に記載されているようにフォルダ別に暗号化・非暗号化を行うファイル管理方式を採用しているが、扱うデータのすべてが必ずしも機密情報を含むわけではなく、ファイル毎に暗号化すべきである。しかしながら、組み込み系では、ファイル毎に暗号化の可否を判断することは難しい。また、ファイル毎に暗号化した場合、ディレクトリ構造やファイル管理が複雑になったり、パテーション数、ファイル数、ファイルサイズが増加する、という問題がある。
【０００６】
本発明は、上記問題を解決すべく成されたものであり、本発明の目的は、ファイルの暗号化／復号化処理時にパフォーマンスロスの発生を回避することができるファイル管理装置、ファイル管理方法、及びファイル管理プログラムを提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するために本発明の第１のファイル管理装置は、ファイルを記憶する記憶手段と、前記記憶手段にファイルを記憶する前に、ファイルの暗号化の可否を示す暗号化情報に基づいて、ファイル毎に暗号化の必要性を判断する暗号化判断手段と、前記暗号化判断手段により暗号化が必要と判断されたファイルを暗号化する暗号化手段と、を備えたことを特徴とする。この第１のファイル管理装置によれば、ＯＳ以下の階層で暗号化が必要なファイルを自動的に判別して暗号化を行うので、ファイルの暗号化処理時にパフォーマンスロスの発生を回避することができる。
【０００８】
また、本発明の第２のファイル管理装置は、前記暗号化手段により暗号化されたファイルを管理するための管理情報に基づいて、ファイル毎に復号化の必要性を判断する復号化判断手段と、前記復号化判断手段により復号化が必要と判断されたファイルを復号化する復号化手段と、を更に備えたことを特徴とする。この第２のファイル管理装置によれば、ＯＳ以下の階層で復号化が必要なファイルを自動的に判別して復号化を行うので、ファイルの復号化処理時にパフォーマンスロスの発生を回避することができる。
【発明の効果】
【０００９】
以上説明したように本発明によれば、ファイルの暗号化／復号化処理時にパフォーマンスロスの発生を回避することができる、という効果がある。
【発明を実施するための最良の形態】
【００１０】
以下、図面を参照して本発明の実施の形態の一例を詳細に説明する。
（第１の実施の形態）
（ファイル管理装置の構成）
図１は本発明の実施の形態に係るファイル管理装置の構成図である。このファイル管理装置は、図１に示すように、装置全体の動作を司るＣＰＵ（中央処理装置）１０と、後述する書き込み処理ルーチンや読み込み処理ルーチンなどのプログラムを含む各種プログラムや各種パラメータ等が予め記憶されたＲＯＭ１２と、ＣＰＵ１０による各種プログラムの実行時におけるワークエリア等として用いられるＲＡＭ１４と、各種データを記憶するＨＤＤ（ハードディスク・ドライブ）１６と、を備えている。また、ＨＤＤ１６には、ファイルを管理するファイルディレクトリ２０が設けられている。
【００１１】
ＣＰＵ１０、ＲＡＭ１２、及びＲＯＭ１４は、システムバス１８を介して相互に接続されている。また、ＨＤＤ１６は、ＨＤＤを制御するＨＤＤコントローラ２１及びシステムバス１８を介して、ＣＰＵ１０、ＲＡＭ１２、及びＲＯＭ１４と相互に接続されている。
（ファイル書き込み処理）
まず、アプリケーションがメモリ上で一時作成したアプリケーションファイルの書き込み要求があった場合のファイル書き込み処理について説明する。図２はファイル書き込み処理の手順を示す模式図であり、図３はＣＰＵ１０が実行するファイル書き込み処理の処理ルーチンを示すフローチャートである。
【００１２】
図３に示すように、アプリケーションファイルの書き込み要求があると、ステップ１００で、ファイルをワークエリアであるＲＡＭ１４に読み込み、ファイル５０のデータ内の任意のエリアに書かれているデータパターン５２に基づいて、ＯＳ以下の階層でファイル５０が暗号化すべき対象である（暗号化対象）か否かを自動判断する（図２（Ａ））。データパターン５２としては、画像ファイルのヘッダー情報、データパターン、データサイズ等が挙げられる。暗号化対象か否かの判断基準は、ユーザが適宜設定することもできる。
【００１３】
ステップ１００で暗号化対象と判断された場合には、ステップ１０２に移行し、ＲＯＭ１２若しくはＲＡＭ１４に記憶されたブロック暗号方式やストリーム暗号方式等を用いた暗号化プログラムを読み出し、当該プログラムに従ってファイル５０を暗号化する（図２（Ｂ））。続くステップ１０４で、暗号化されたファイル５４に暗号情報ヘッダー５６を付加し（図２（Ｃ））、ステップ１０６で、暗号情報ヘッダー５６を付加したファイル５４をＨＤＤ１６に格納して（図２（Ｄ））、ルーチンを終了する。一方、ステップ１００で暗号化すべき対象ではない（暗号化非対象）と判断された場合には、ステップ１０６で、ファイル５０を暗号化せずに（図２（Ｅ））、ＨＤＤ１６に格納して（図２（Ｄ））、ルーチンを終了する。その結果、ＨＤＤ１６には暗号化されたファイル（暗号化ファイル）と暗号化されていないファイル（非暗号化ファイル）とが格納され、両ファイルは混在管理されることになる。
（ファイル読み出し処理）
次に、蓄積装置に格納したアプリケーションファイルの読み出し要求があった場合のファイル読み出し処理について説明する。図４はファイル読み出し処理の手順を示す模式図であり、図５はＣＰＵが実行するファイル読み出し処理の処理ルーチンを示すフローチャートである。
【００１４】
図５に示すように、アプリケーションファイルの読み出し要求があると、ステップ２００で、ＨＤＤ１６から所望のファイルをＲＡＭ１４に読み出し（図４（Ａ））、ステップ２０２で、暗号情報ヘッダー５６の有無により、ＯＳ以下の階層で読み出したファイルが復号化すべき対象である（復号化対象）か否かを自動判断する（図４（Ｂ））。ここで、読み出したファイルが暗号化ファイルの場合は復号化対象と判断され、非暗号化ファイルの場合は復号化非対象と判断される。
【００１５】
ステップ２０２で復号化対象と判断された場合（図４（Ｃ））には、ステップ２０４でファイル５４から暗号情報ヘッダー５６を削除する（図４（Ｄ））。続くステップ２０６でＲＯＭ１２に記憶された復号化プログラムを読み出し、当該プログラムに従ってファイル５４を復号化して、復号化したファイルをユーザが指定した場所に展開し（図４（Ｅ））、ルーチンを終了する。一方、復号化非対象と判断された場合には、そのままのファイルをユーザが指定した場所に展開し（図４（Ｅ））、ルーチンを終了する。
【００１６】
以上説明した通り、本実施の形態では、暗号化ファイルと非暗号化ファイルとでＨＤＤの記憶領域を分けることなく、暗号化ファイルと非暗号化ファイルとが混在管理されることになる。このように、システム上のファイル管理を同一領域で行うことができるので、ファイルの暗号化／復号化処理時に、ファイルの移動操作に伴うパフォーマンスロスは発生しない。
【００１７】
また、本実施の形態では、ＯＳ以下の階層で暗号化／復号化処理の可否を自動判断するので、この自動判断機能を導入するに際して、上位アプリケーションの変更が不要であるため、機能の導入が簡単である。
【００１８】
更に、本実施の形態では、ファイル毎に暗号化／復号化処理を行うため、ファイル毎に異なる暗号化キーを設定することが可能である。例えば、ファイルディレクトリに使用した暗号化キーの管理番号を格納しておいて、復号化の際には、暗号化キーの管理番号を元に復号化するためのキーを用いることで、ファイル毎に異なる暗号化キーを設定しても復号化が可能となる。
【００１９】
（第２の実施の形態）
第１の実施の形態では、ファイルのデータ内に書かれているデータパターンに基づいて暗号化対象であるか否かを自動判断する例について説明したが、第２の実施の形態では、ファイルデータの更新である場合には、ＨＤＤのファイルディレクトリに記憶されたファイル情報に基づいて暗号化対象であるか否かを自動判断する。
【００２０】
図１に示すファイル管理装置のＨＤＤ１６のファイルディレクトリ２０には、図６に示すように、ファイル名２２、拡張子２４、属性２６、更新時刻２８、更新日３０、ファイルが保存されているクラスタ３２、ファイルサイズ３４等のファイル情報が記憶されている。また、ファイルディレクトリ２０には、暗号化設定の有無を示す「暗号化設定」項目３６が設けられている。
【００２１】
図７は第２の実施の形態でのファイル書き込み処理の処理ルーチンを示すフローチャートである。図７に示すように、アプリケーションファイルの書き込み要求があると、ステップ３００で、ファイルをワークエリアであるＲＡＭ１４に読み込み、新規作成ファイルか否かを判断する。ステップ３００で新規作成ファイルであると判断された場合には、ステップ３０２に移行し、ファイルのデータ内の任意のエリアに書かれているデータパターンに基づいて、ＯＳ以下の階層でファイルが暗号化対象か否かを自動判断する。
【００２２】
ステップ３００で新規作成ファイルではないと判断された場合には、ファイルデータの更新であるから、ステップ３１０に移行し、ＨＤＤ１６のファイルディレクトリ２０からファイル情報を読み取る。そして、ステップ３０２で、読み取ったファイル情報に基づいて、ＯＳ以下の階層でファイルが暗号化対象か否かを自動判断する。暗号化対象か否かの判断基準は、ユーザが適宜設定することができる。例えば、所定の拡張子、ファイルサイズ、日付、属性、データパターン、ヘッダー情報、アクセス頻度等を持つファイルだけを暗号化対象とすることができる。
【００２３】
ステップ３０２で暗号化対象と判断された場合には、ステップ３０４に移行し、ＲＯＭ１２に記憶された暗号化プログラムを読み出し、当該プログラムに従ってファイルを暗号化する。続くステップ３０６で、「暗号化設定」項目３６を「あり」にする等、ファイルディレクトリ２０のファイル情報を記憶又は更新し、ステップ３０８で、暗号化されたファイルをＨＤＤ１６に格納して、ルーチンを終了する。
【００２４】
一方、ステップ３０２で暗号化非対象と判断された場合には、ファイルを暗号化せずにステップ３０６に移行する。そして、ステップ３０６で、「暗号化設定」項目３６を「なし」にする等、ファイルディレクトリ２０のファイル情報を記憶又は更新し、ステップ３０８で、暗号化されたファイルをＨＤＤ１６に格納して、ルーチンを終了する。
【００２５】
図８は第２の実施の形態でのファイル読み出し処理の処理ルーチンを示すフローチャートである。図８に示すように、アプリケーションファイルの読み出し要求があると、ステップ４００で、ＨＤＤ１６から所望のファイルをＲＡＭ１４に読み出し、ステップ４０２で、ＨＤＤ１６のファイルディレクトリ２０からファイル情報を読み取る。続くステップ４０４で、読み取ったファイル情報に基づいて、例えば「暗号化設定」の有無により、ＯＳ以下の階層で読み出したファイルが復号化対象か否かを自動判断する。
【００２６】
ステップ４０４で復号化対象と判断された場合には、ステップ４０６でＲＯＭ１２若しくはＲＡＭ１４に記憶された復号化プログラムを読み出し、当該プログラムに従ってファイルを復号化して、復号化したファイルをユーザが指定した場所に展開し、ルーチンを終了する。一方、ステップ４０４で復号化非対象と判断された場合には、そのままのファイルをユーザが指定した場所に展開し、ルーチンを終了する。
【００２７】
以上の通り、第２の実施の形態では、第１の実施の形態と同様の効果を得ることができる。更に、第２の実施の形態では、ユーザは多様なファイル情報に基づいて暗号化対象か否かの判断基準を設定することもできるので、ユーザの判断によってセキュリティレベルと処理速度の調整を図ることも可能となる。
【００２８】
（第３の実施の形態）
ファイルシステムにおいては、指定ファイルの追記、指定ファイルの部分読み出しといった処理が発生する。第１及び第２の実施の形態のように、ファイル毎に暗号化した場合には、追記や部分読み出しであっても、指定ファイルデータのすべてを一旦読み出し、メモリ上で復号化・追記・暗号化といった処理を行う必要がある。そこで、第３の実施の形態では、必要に応じ、ファイルをアクセスブロック単位（セクタ単位・クラスタ単位等）で暗号化することにより、データ追記や部分読み出し処理に対応する。
【００２９】
図９はファイルがブロック毎に暗号化されている場合の部分上書き更新処理の手順を示す模式図である。
【００３０】
アプリケーションファイルの先頭からｘＢｙｔｅのデータの上書き更新要求があると（図９（Ａ））、ＨＤＤ１６から所望のファイル６０の暗号情報ヘッダー６２をＲＡＭ１４に読み出して内容を解析し、ＯＳ以下の階層で上書き更新要求があったブロック６４が復号化対象か否かを自動判断する（図９（Ｂ）、（Ｃ））。ここで、上書き更新要求があったブロック６４が暗号化ブロックの場合は復号化対象と判断され、非暗号化ブロックの場合は復号化非対象と判断される。
【００３１】
復号化対象と判断された場合には、ＲＯＭ１２に記憶された復号化プログラムを読み出し、当該プログラムに従って暗号化ブロック６４を部分的に復号化する（図９（Ｄ））。次に、上書きデータをワークエリアであるＲＡＭ１４に読み込み、ブロック６４のデータを上書き更新する（図９（Ｅ））。そして、ブロック６４を再度暗号化してＨＤＤ１６に格納し、部分上書き更新処理を終了する（図９（Ｆ））。
【００３２】
以上の通り、第３の実施の形態では、第１の実施の形態と同様に、ファイルの暗号化／復号化処理時に、ファイルの移動操作に伴うパフォーマンスロスは発生しない。また、ＯＳ以下の階層で暗号化／復号化処理の可否を自動判断し、上位アプリケーションの変更は不要であるため、自動判断機能の導入が簡単である。
【００３３】
また、第３の実施の形態では、ファイルを更に複数個に分割したブロック単位で暗号化／復号化処理を行うため、ブロック毎に復号化・上書き更新・暗号化という処理を行うことができ、ファイルの部分的な読み出し処理、ファイルの部分的な上書き更新処理の場合にも、パフォーマンスロスが低減される。また、ブロック毎に異なる暗号化キーを設定することが可能である。
【００３４】
なお、上記の実施の形態では、暗号化したファイルの管理は、保存したデータが暗号化されていることを示す管理情報を「暗号情報ヘッダー」としてファイルに付加してＨＤＤに書き込むことにより行う例について説明したが、図１０に示すように、管理情報をアプリケーションのヘッダー部分やデータ領域の一部に埋め込んでもよい。また、図１１に示すように、ファイルディレクトリに「暗号化設定」という項目を追加する等して、管理情報をファイルシステムの管理領域（ファイルディレクトリエントリ）内に保持することもできる。或いは、管理情報をファイルシステムの管理情報以外の任意の記憶領域（例えば、ＨＤＤ内のファイルシステムの非管理領域、ＨＤＤ内のデータ記憶領域、又は他の記憶装置）に保持してもよい。
【図面の簡単な説明】
【００３５】
【図１】本発明の実施の形態に係るファイル管理装置の構成図である。
【図２】第１の実施の形態でのファイル書き込み処理の手順を示す模式図である。
【図３】第１の実施の形態でのファイル書き込み処理の処理ルーチンを示すフローチャートである。
【図４】第１の実施の形態でのファイル書き込み処理の手順を示す模式図である。
【図５】第１の実施の形態でのファイル読み出し処理の処理ルーチンを示すフローチャートである。
【図６】ファイルディレクトリの構成を示す概念図である。
【図７】第２の実施の形態でのファイル書き込み処理の処理ルーチンを示すフローチャートである。
【図８】第２の実施の形態でのファイル読み出し処理の処理ルーチンを示すフローチャートである。
【図９】第３の実施の形態での部分上書き更新処理の手順を示す模式図である。
【図１０】管理情報をアプリケーションのデータ領域の一部に埋め込んだ例を示す図である。
【図１１】管理情報をファイルシステムの管理領域内に保持する例を示す図である。
【図１２】ファイルの暗号化／復号化処理を行う機能を導入する階層を示す図である。
【図１３】従来技術の問題点を説明するための図である。
【符号の説明】
【００３６】
１０  ＣＰＵ（中央処理装置）
１２  ＲＯＭ
１４  ＲＡＭ
１６  ＨＤＤ（ハードディスク・ドライブ）
１８  システムバス
２０  ファイルディレクトリ
２１  ＨＤＤコントローラ
２２  ファイル名
２４  拡張子
２６  属性
２８  更新時刻
３０  更新日
３２  クラスタ
３４  ファイルサイズ
３６  項目
５０  ファイル
５２  データパターン
５４  ファイル
５６  暗号情報ヘッダー
６０  ファイル
６２  暗号情報ヘッダー
６４  ブロック
【図１】
2007026105.tif 000003
【図２】
2007026105.tif 000004
【図３】
2007026105.tif 000005
【図４】
2007026105.tif 000006
【図５】
2007026105.tif 000007
【図６】
2007026105.tif 000008
【図７】
2007026105.tif 000009
【図８】
2007026105.tif 000010
【図９】
2007026105.tif 000011
【図１０】
2007026105.tif 000012
【図１１】
2007026105.tif 000013
【図１２】
2007026105.tif 000014
【図１３】
2007026105.tif 000015