(57)【特許請求の範囲】
【請求項１】
ファイル記述子をプロセス毎に管理するＯＳを備えたコンピュータにて、予め特定のディレクトリを暗号化領域として設定し、該暗号化領域以外に存在するアプリケーションソフトウェアにて作成した平文ファイルを前記暗号化領域に保存するときに暗号化し、暗号化領域内の暗号化ファイルを暗号化領域の外に在るアプリケーションソフトウェアにて開くときに前記暗号化ファイルを復号化するファイル暗号化ソフトウェアを使用する暗号化・復号化システムに於いて、
コンピュータの記憶領域に暗号化対象ディレクトリテーブルと暗号化対象テーブルとを設け、予め設定した前記ディレクトリを暗号化領域として前記暗号化対象ディレクトリテーブルに登録する手順と、
前記ファイル暗号化ソフトウェアを用いて前記平文ファイルを暗号化する際に、前記暗号化対象ディレクトリテーブルを参照し、前記平文ファイルのディレクトリが暗号化領域である場合、前記平文ファイルのファイル記述子とプロセスＩＤとを対応づけて前記暗号化対象テーブルに格納する手順と、
暗号化対象テーブルを参照し、前記平文ファイルのファイル記述子とプロセスＩＤとが一致することを確認したとき、暗号化対象ファイルであると判別し暗号化して保存する手順と、
前記ファイル暗号化ソフトウェアを用いて前記暗号化ファイルを復号化する際に、前記暗号化対象ディレクトリテーブルを参照し、前記暗号化ファイルのディレクトリが暗号化領域である場合、前記暗号化ファイルのファイル記述子とプロセスＩＤとを対応づけて前記暗号化対象テーブルに格納する手順と、
暗号化対象テーブルを参照し、前記暗号化ファイルのファイル記述子とプロセスＩＤとが一致することを確認したとき、暗号化対象ファイルであると判別し復号化して開く手順と、を有することを特徴とする請求項１に記載の暗号化・復号化システムに於けるファイル判別方法。
【請求項２】
前記暗号化対象テーブルにファイル記述子及びプロセスＩＤとを対応づけて格納する際にこれらに加えて使用フラグを立てて前記暗号化対象テーブルに格納すると共に、暗号化対象テーブルを参照する際にファイル記述子とプロセスＩＤとが一致することに加えて使用フラグが立っていることを確認したときに暗号化対象ファイルであると判別することを特徴とする請求項１に記載の暗号化・復号化システムに於けるファイル判別方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ファイル記述子をプロセス毎に管理するＯＳを備えたコンピュータシステムにおいて、特定のディレクトリに暗号化／復号化等所定の機能を付与するソフトウェアを使用する場合のファイル判別方法に関する。
【０００２】
【従来の技術】
コンピュータ等で作成した画像データやテキストデータ等のファイルを機密保持のため暗号化するファイル暗号化ソフトウェアが用いられている。
例えば、特定のディレクトリを暗号化領域に設定し、暗号鍵を持つユーザーが暗号化領域以外に在るアプリケーションソフトウェアにより作成した平文ファイルの保存先を暗号化領域に設定した場合、当該平文ファイルを自動的に暗号化して暗号化ファイルとして前記暗号化領域に保存し、暗号化領域内の暗号化ファイルを暗号化領域の外に在るアプリケーションソフトウェアにより開くときに自動的に復号化し、暗号鍵を持たない者はそのいずれの操作も出来ないというものである。
【０００３】
ＷＩＮＤＯＷＳ（マイクロソフト社の登録商標、以下同様）用として開発されたファイル暗号化ソフトウェアの場合、ＷＩＮＤＯＷＳにおいてファイルに付加されるファイル記述子がプロセスに依存していないことを利用して、ファイル記述子により暗号化対象のファイルかどうかの判別を行っている。暗号化対象ファイルのファイル記述子を登録しておく暗号化対象テーブルは各プロセスに共通で使用できるため、図５（ａ）のように１つだけ設けられている。
【０００４】
【発明が解決しようとする課題】
しかしながら、ＷＩＮＤＯＷＳ用に開発されたファイル暗号化ソフトウェアをＷＩＮＤＯＷＳ以外のファイル記述子をプロセス毎に管理するオペレーションシステム（ＯＳ）例えばＬＩＮＵＸに適用する場合、ＬＩＮＵＸではファイルに付加されるファイル記述子がプロセス毎に管理されているため、プロセスが異なるファイルのファイル記述子が同じになることがあり、ファイル記述子だけではファイルを判別できないこととなり、図５（ｂ）に示すようにプロセス毎に暗号化対象テーブルを設けなければならない。従って、プロセスが多くなると、ファイルの管理が複雑になり、暗号化対象テーブルの領域が大きくなるという不具合が発生する。
【０００５】
本発明は、上述したファイル記述子をプロセス毎に管理するＯＳを備えるコンピュータシステムにおけるファイル判別方法の課題を解決する為になされたものであって、ファイルの管理を容易にし、暗号化対象テーブルの領域を小さくすることを目的とする。
【０００６】
【課題を解決するための手段】
上記課題を解決し目的を達成するために本発明は、ファイル記述子をプロセス毎に管理するＯＳを備えたコンピュータにて、予め特定のディレクトリを暗号化領域として設定し、該暗号化領域以外に存在するアプリケーションソフトウェアにて作成した平文ファイルを前記暗号化領域に保存するときに暗号化し、暗号化領域内の暗号化ファイルを暗号化領域の外に在るアプリケーションソフトウェアにて開くときに前記暗号化ファイルを復号化するファイル暗号化ソフトウェアを使用する暗号化・復号化システムに於いて、コンピュータの記憶領域に暗号化対象ディレクトリテーブルと暗号化対象テーブルとを設け、予め設定した前記ディレクトリを暗号化領域として前記暗号化対象ディレクトリテーブルに登録する手順と、前記ファイル暗号化ソフトウェアを用いて前記平文ファイルを暗号化する際に、前記暗号化対象ディレクトリテーブルを参照し、前記平文ファイルのディレクトリが暗号化領域である場合、前記平文ファイルのファイル記述子とプロセスＩＤとを対応づけて前記暗号化対象テーブルに格納する手順と、暗号化対象テーブルを参照し、前記平文ファイルのファイル記述子とプロセスＩＤとが一致することを確認したとき、暗号化対象ファイルであると判別し暗号化して保存する手順と、前記ファイル暗号化ソフトウェアを用いて前記暗号化ファイルを復号化する際に、前記暗号化対象ディレクトリテーブルを参照し、前記暗号化ファイルのディレクトリが暗号化領域である場合、前記暗号化ファイルのファイル記述子とプロセスＩＤとを対応づけて前記暗号化対象テーブルに格納する手順と、暗号化対象テーブルを参照し、前記暗号化ファイルのファイル記述子とプロセスＩＤとが一致することを確認したとき、暗号化対象ファイルであると判別し復号化して開く手順と、を有することを特徴とするものである。
【０００７】
更に本発明は、前記暗号化対象テーブルにファイル記述子及びプロセスＩＤとを対応づけて格納する際にこれらに加えて使用フラグを立てて前記暗号化対象テーブルに格納すると共に、暗号化対象テーブルを参照する際にファイル記述子とプロセスＩＤとが一致することに加えて使用フラグが立っていることを確認したときに暗号化対象ファイルであると判別することを特徴とするものである。
【００１０】
【発明の実施の形態】
以下、図示した実施例に基づいて本発明を詳細に説明する。
図１（ａ）、（ｂ）はファイル記述子をプロセス毎に管理するオペレーションシステム（ＯＳ）であるＬＩＮＵＸにおいて、ファイル暗号化ソフトウェアを使用する場合のディレクトリを暗号化領域として設定するための暗号化対象ディレクトリテーブルと暗号化対象ファイルを判別するためファイル記述子とプロセスＩＤとを対応づけて格納するための暗号化対象テーブルの一例を示している。
暗号化対象テーブルには、暗号化対象ファイルと判別されたファイルのファイル記述子とプロセスＩＤとを対応づけて登録する領域と前記ファイル記述子と前記プロセスＩＤの領域が使用中であることを示す使用フラグとが設けられている。
【００１１】
さらに具体的には、図２に模式的に示すようにカーネル空間に暗号化機能を有するＣＶＦＳ（Ｃｒｙｐｔ Ｖｉｒｔｕａｌ Ｆｉｌｅ Ｓｙｓｔｅｍ）が存在し、該ＣＶＦＳには暗号化領域とするディレクトリを登録する暗号化対象ディレクトリテーブルと暗号化対象と判別されたファイルのファイル記述子とプロセスＩＤとを対応づけて格納するための暗号化対象テーブルが組み込まれている。
【００１２】
ＣＶＦＳ内の暗号化対象ディレクトリテーブルには予め暗号化領域とする暗号化対象ディレクトリ（／ｈｏｍｅ／ｅｎｃ）を登録しておく。ファイル（／ｆｉｌｅ．ｔｘｔ）の暗号化／復号化を行う場合、第一に“ｏｐｅｎシステムコール（ｓｙｓ ｏｐｅｎ）”が実行され、カーネル空間側にディレクトリとファイル名（／ｈｏｍｅ／ｅｎｃ／ｆｉｌｅ．ｔｘｔ）が通知され、ＣＶＦＳ内で前記ファイルのディレクトリが暗号化対象ディレクトリテーブルに登録されているものかを確認し、暗号化対象ディレクトリと判別された場合、前記ファイルのファイル記述子とプロセスＩＤを暗号化対象テーブルに登録し、使用フラグを「１」とする。
次に“ｗｒｉｔｅ／ｒｅａｄシステムコール（ｓｙｓ ｗｒｉｔｅ／ｒｅａｄ）”が実行され、前記ファイルのファイル記述子とプロセスＩＤとが暗号化対象テーブルに格納されていて使用フラグが「１」である場合にのみ前記ファイルを暗号化対象ファイルと判別し、暗号化／復号化を行う。
【００１３】
ＬＩＮＵＸを例にファイルを暗号化／復号化する場合について説明する。
図３はファイルを暗号化するフローチャートを示す図であり、最初に暗号化領域とするディレクトリ（／ｈｏｍｅ／ｅｎｃ）を暗号化対象ディレクトリテーブルに登録する（Ｓ３０１）。前記暗号化領域以外に存在するアプリケーションソフトウェアにて作成した平文ファイル（／ｆｉｌｅＡ．ｔｘｔ）の保存先を暗号化領域に指定した場合（Ｓ３０２）、“ｏｐｅｎシステムコール（ｓｙｓ ｏｐｅｎ）”が実行され（Ｓ３０３）、カーネル空間側にディレクトリとファイル名（／ｈｏｍｅ／ｅｎｃ／ｆｉｌｅＡ．ｔｘｔ）が通知され、ＣＶＦＳ内で前記平文ファイルのディレクトリが暗号化対象ディレクトリテーブルに登録されているものかを確認し（Ｓ３０４）、暗号化対象ディレクトリと判別された場合、前記平文ファイルのファイル記述子とプロセスＩＤとを対応づけて暗号化対象テーブルに登録し、使用フラグを「１」とする（Ｓ３０５）。
尚、ここで使用フラグは４バイトにて構成され、図１（Ｃ）に示すように最小桁Ｕを除く上位桁はすべて「０」であり、未使用のときＵ＝「０」、使用中のときＵ＝「１」とするものとする。
【００１４】
次に“ｗｒｉｔｅシステムコール（ｓｙｓ ｗｒｉｔｅ）”が実行され（Ｓ３０６）、前記平文ファイルのファイル記述子とプロセスＩＤとが暗号化対象テーブルに格納されていて使用フラグが「１」であるかを確認し（Ｓ３０７）、暗号化対象ファイルと判別された場合にのみ前記平文ファイルを暗号化し保存する（Ｓ３０８）。暗号化ファイルを閉じた場合（Ｓ３０９）、“ｃｌｏｓｅシステムコール（ｓｙｓ ｃｌｏｓｅ）”が実行され（Ｓ３１０）、前記暗号化ファイルのファイル記述子とプロセスＩＤとが対応づけて登録されている暗号化対象テーブルの領域の使用フラグを「０」とし、前記領域を使用可能とする（Ｓ３１１）。
Ｓ３０４において前記平文ファイルのディレクトリが暗号化対象ディレクトリテーブルに登録されていない場合、およびＳ３０７において暗号化対象ファイルと判別されなかった場合は、平文ファイルの状態で保存される（Ｓ３１２）。
【００１５】
次に暗号化されたファイルを復号化する動作について説明する。
図４はファイルを復号化するフローチャートを示す図であり、暗号化領域にある暗号化ファイル（ｆｉｌｅＢ．ｔｘｔ）を暗号化領域以外に在るアプリケーションソフトウェアにて開く時（Ｓ４０１）、“ｏｐｅｎシステムコール（ｓｙｓｏｐｅｎ）”が実行され（Ｓ４０２）、カーネル空間側にディレクトリとファイル名（／ｈｏｍｅ／ｅｎｃ／ｆｉｌｅＢ．ｔｘｔ）が通知され、ＣＶＦＳ内で前記暗号化ファイルのディレクトリが暗号化対象ディレクトリテーブルに登録されているものかを確認し（Ｓ４０３）、暗号化対象ディレクトリと判別された場合、前記暗号化ファイルのファイル記述子とプロセスＩＤとを対応づけて暗号化対象テーブルに登録し、使用フラグを「１」とする（Ｓ４０４）。
【００１６】
次に“ｒｅａｄシステムコール（ｓｙｓ ｒｅａｄ）”が実行され（Ｓ４０５）、前記暗号化ファイルのファイル記述子とプロセスＩＤとが暗号化対象テーブルに格納されていて使用フラグが「１」であるかを確認し（Ｓ４０６）、暗号化対象ファイルと判別された場合にのみ前記暗号化ファイルを復号化し開く（Ｓ４０７）。復号化されたファイルを閉じた場合（Ｓ４０８）、“ｃｌｏｓｅシステムコール（ｓｙｓ ｃｌｏｓｅ）”が実行され（Ｓ４０９）、前記復号化されたファイルのファイル記述子とプロセスＩＤとが対応づけて登録されている暗号化対象テーブルの領域の使用フラグを「０」とし、前記領域を使用可能とする（Ｓ４１０）。
Ｓ４０３において前記暗号化ファイルのディレクトリが暗号化対象ディレクトリテーブルに登録されていない場合、およびＳ４０６において暗号化対象ファイルと判別されなかった場合は、復号化されない状態で開かれる（Ｓ４１１）。
【００１７】
次に暗号化対象ファイルをごみ箱に移動する場合について説明する。ＬＩＮＵＸではごみ箱の設定がユーザ毎に異なるため、ごみ箱の設定を登録する領域をＣＶＦＳに設ける。暗号化領域内にある暗号化されたファイルをごみ箱に移動する場合、移動先がＣＶＦＳに登録されているごみ箱であることを確認し、前記ファイルを復号化しないで移動処理を行う。また、ごみ箱に移動した暗号化されたファイルを暗号化領域に戻す場合、移動元がＣＶＦＳに登録されているごみ箱であることを確認し、前記ファイルを暗号化しないで移動処理を行う。このことにより暗号化ファイルをごみ箱に移動する場合において機密が保持される。
【００１８】
以上、本発明をＬＩＮＵＸに適用した例に基づいて説明したが、本発明はこれに限定されるものではなく、ファイル記述子がプロセス毎に管理されているＯＳ上で動作するソフトウェアで所定のファイルを判別するような場面で有用である。また、「ディレクトリ」、「ファイル記述子」、「プロセスＩＤ」といった語句は、適用するＯＳ毎に適宜読み替えれば良いことは言うまでもない。
【００１９】
【発明の効果】
本発明により、ファイルに付加されるファイル記述子がプロセス毎に管理されているＯＳ（ＬＩＮＵＸ等）において、ＷＩＮＤＯＷＳ用に開発されたファイルを判別する必要のあるソフトウェア（ファイル暗号化ソフトウェア等）を使用する場合、ファイル判別方法が容易で、ファイル判別用テーブルの領域を小さくすることが可能となる。
また、暗号化対象テーブルに使用フラグを設けることにより暗号化対象テーブルの領域を有効に活用することが可能となる。
【００２０】
【その他】
尚、本文中「ＷＩＮＤＯＷＳ」は登録商標です。
【図面の簡単な説明】
【図１】  本発明に係る各種テーブルの一例
【図２】  本発明に係るＣＶＦＳ模式図の一例
【図３】  本発明に係るファイル暗号化フローチャートの一例
【図４】  本発明に係るファイル復号化フローチャートの一例
【図５】  従来の各種テーブル
【図１】
0004039064.tif 000002
【図２】
0004039064.tif 000003
【図３】
0004039064.tif 000004
【図４】
0004039064.tif 000005
【図５】
0004039064.tif 000006