(57)【要約】【課題】ディスク容量の軽減を図るNTFS圧縮とファイルの機密データ保持を目的とするファイルの暗号化を同時に使用し，ファイルの読み込み，書きこみ時に透過的にファイルの暗号化，NTFS圧縮をしようできる方式を提供することにある。【解決手段】NTFS圧縮の設定及び解除を行うファイル入出力を判別する手段と，当該ファイルの暗号化をファイル入出力時に透過的に行う手段と，当該ファイルのメモリ上のキャッシュに存在するファイルデータを廃棄する手段と，NTFS圧縮の設定を明示的に発生させる手段とを備えたものである。【選択図】図１
2004199312.tif 000002
【特許請求の範囲】
【請求項１】
既存ストレージメカニズム上のファイルを管理するように構成されたNTFSファイルシステムを有するコンピュータシステムにおいて，ストレージ容量の軽減を図るファイルデータの圧縮を行うNTFS圧縮機能上で，データの圧縮が行われるファイルに対し，ファイルデータのセキュリティを確保するファイルの暗号化を行い，ファイルのデータ圧縮と暗号化の相互利用方法。
【請求項２】
請求項1に記載の方法において，ファイルの暗号化，復号を行う手段を有し，外部から供給される暗号鍵を用いてファイルの暗号化と復号が機能し，ファイルの入出力時に透過的にデータの圧縮，解除，暗号化，復号を実施することを含むことを特徴とする方法。
【請求項３】
請求項2に記載の方法において，暗号化されたファイルに対しNTFS圧縮機能を実施することにおいて，暗号化されたデータの破壊を防ぎ，また，NTFS圧縮によって圧縮され，かつ，暗号化されたファイルに対してNTFS圧縮の解除を行う場合に暗号化されたデータの破壊を防ぐ，NTFS圧縮機能を実施することを含むことを特徴とする方法。
【請求項４】
請求項2に記載の方法において，ファイルの暗号化を行う領域を任意に設定することを可能とし，ファイルの暗号化，復号対象を判別する機能を有し，ファイルの暗号化を行う領域から領域外へのファイルまたはディレクトリの移動，また，ファイルの暗号化を行う領域外から領域内へのファイルまたはディレクトリの移動時に，NTFS圧縮機能によって圧縮された属性を保持することを含むことを特徴とする方法。
【請求項５】
請求項2に記載の方法において，NTFS圧縮機能により，ファイル入出力時にNTFS圧縮属性を保持する機能と，NTFS圧縮属性を持つファイルの，ファイルの暗号化を行う領域とのファイル入出力時にNTFS圧縮属性を保持すること特徴とする方法。
【請求項６】
請求項2に記載の方法において，ファイルの暗号化を行う手段と，ファイルの暗号化を行う領域を判別する手段と，NTFS圧縮機能により圧縮されたファイルまたはディレクトリを判別する手段と，を有することを特徴とし，NTFS圧縮されたファイルの編集時に透過的に暗号化する手段と，NTFS圧縮されたファイルの編集時にメモリ上にキャッシュしているファイルデータをファイルの編集後にメモリ上のキャッシュデータを廃棄する手段とを有することで，編集後のファイルを再び読みこむ場合に，ファイルデータの破壊を防ぐ方式を，含むことを特徴とする方法。
【請求項７】
請求項2に記載の方法において，暗号化されたファイルに対し，当該ファイルのメモリ上に存在するキャッシュデータを廃棄する手段を有することで，NTFS圧縮機能の圧縮設定時，または解除設定時に，キャッシュデータを廃棄する処理方式と，圧縮設定時に発生する圧縮処理，または解除設定時に際して発生する解除処理の後，当該ファイルのメモリ上に存在するキャッシュデータを廃棄する処理方式によって，当該ファイルの再読みこみ時にファイルデータの破壊を防ぐ方式を，含むことを特徴とする方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は，肥大したデータファイルの圧縮と，データファイルの機密保持をファイルの暗号化を，ファイルの読み込み，書きこみ時に透過的に行うことで確保するセキュリティシステム，セキュリティ方式，セキュリティ処理プログラムに関する。ここで透過的とは、ファイル入出力要求がファイルシステムへたどり着く前に所定の処理（暗号化／復号、圧縮／解凍）を施すことを指す。
【０００２】
【従来の技術】
WindowsNT(登録商標)ファイルシステム（NTFS）は，ファイル単位，ディレクトリ単位，ボリューム単位での圧縮機能をサポートしており，このNTFS圧縮はファイル属性として設定することで，NTFSボリューム内でディスクの容量不足を避けることが可能となり，ユーザが圧縮されたファイルを意識することなく透過的にファイルの圧縮，及び解除を行うことができる。
【０００３】
また，NTFS2000以降に追加された機密データを保護する為の暗号化ファイルシステム（EFS）を用いることで，他のユーザがそのファイルにアクセスした場合に，読み取ることができないようファイルを暗号化し，ファイルは所有者のユーザアカウントを使用してログオンした場合にファイルの読み取りが可能となり，また，他のユーザがログオンしても暗号化されたファイルにはアクセスすることはできず，共有しているシステム上でファイルが保護される。
詳しくは「インサイドWindowsNT第２版  日経ＢＰソフトプレス発行  David.A.Solomon著  p428−p433，p465−p467」等に開示されている。
【特許文献１】特開2002-17520号公報
【０００４】
【発明が解決しようとする課題】
上述したNTFSボリュームでは，ディスク容量の軽減を図るNTFS圧縮とEFSを用いたファイルの暗号化は，NTFSボリュームに対して相互的に排他で使用され，NTFS圧縮を使用すればEFSによるファイルの暗号化機能を使用することができず，また，EFSを用いてファイルの暗号化機能を用いればNTFS圧縮機能を使用することができない欠点がある。
本発明の目的はかかる問題を解決し，ディスク容量の軽減を図るNTFS圧縮とファイルの機密データ保持を目的とするファイルの暗号化を同時に使用し，ファイルの読み込み，書きこみ時に透過的にファイルの暗号化，NTFS圧縮をしようできる方式を提供することにある。
【０００５】
【課題を解決するための手段】
本発明によれば前述した目的は，NTFSボリューム上でNTFS圧縮機能において，NTFS圧縮の設定及び解除を行うファイル入出力を判別する手段と，当該ファイルの暗号化をファイル入出力時に透過的に行う手段と，当該ファイルのメモリ上のキャッシュに存在するファイルデータを廃棄する手段と，NTFS圧縮の設定を明示的に発生させる手段とを備えることにより達成される。
本発明においては，前記NTFS圧縮の設定及び解除を行うファイル入出力を判別する手段と，当該ファイルの暗号化をファイル入出力時に透過的に行う手段と，当該ファイルのメモリ上のキャッシュに存在するファイルデータを廃棄する手段と，NTFS圧縮の設定を明示的に発生させる各手段が，カーネル空間で動作するフィルタドライバとして設けられていることが望ましい。
本発明は，カーネル空間上で動作するフィルタドライバにより，ファイルの入出力時にファイルの暗号化を行う領域の検知を行うことができ，前述のEFSを用いずにファイルの暗号化をファイル入出力時に透過的に行うことでNTFS圧縮とファイルの暗号化を相互的に使用することができる。
【０００６】
【発明の実施の形態】
本発明について図面を参照して説明する。
図1は本発明の一実施例の構成を示すブロック図であり，図2は本実施例の動作手順を示すフローチャート図である。
図1に示すように，ユーザ空間から要求されるNTFS圧縮機能と，機密データを保持する暗号化とを相互的に使用する方式は，ユーザ空間上で動作するアプリケーションプログラム1がボリューム13上のファイルに対して，NTFS圧縮機能をサポートするWin32レイヤ2と，カーネル空間でファイル入出力を管理するI/Oマネージャ3と，暗号化/復号対象判別手段4，圧縮属性判別手段5，圧縮属性設定要求判別手段6，暗号化/復号手段7，圧縮属性設定/解除手段8，キャッシュデータ廃棄手段9を備えたフィルタドライバ10と，フィルタドライバをバイパスしてファイル入出力要求を受信するNTFSファイルシステムドライバ12と，NTFSファイルシステムドライバ11と連携するキャッシュマネージャ11と，ファイル入出力対象が保存されているボリューム13とで構成されている。以下，各手段の機能について説明する。
【０００７】
フィルタドライバ10は，I/Oマネージャからファイル入出力要求を受信し，暗号化/復号対象判別手段4によってファイル入出力対象が暗号化/復号を行う対象であるかを判別し，ファイル入出力対象が暗号化/復号対象であれば暗号化/復号手段7によって暗号化/復号を行う。
暗号化/復号手段7は，ファイル入出力対象が暗号化/復号対象と判別されたファイルに対し，ファイルの読みこみ，書きこみ要求であれば透過的にファイルの読み込み時に復号化，ファイルの書きこみ時に暗号化を行う機能を有し，ファイルの読み込み，書きこみの種別によってメモリ上のキャッシュデータに対して暗号化/復号を行うか，ボリューム内のファイルに対して暗号化/復号を行うかを選択する機能を有している。
【０００８】
圧縮属性判別手段5は，暗号化/復号手段7によって暗号化/復号を行う際に，暗号化/復号対象ファイルがNTFS圧縮機能によって圧縮されているファイルであるかを判別する機能を有し，判別した結果を暗号化/復号手段7に通知することで，暗号化/復号処理方法を決定させる機能を有している。
圧縮属性設定要求判別手段6は，ユーザ空間領域から発行されたファイル入出力要求がNTFS圧縮の設定要求であるかを判別する機能を有している。
圧縮属性設定/解除手段8は，カーネル空間上でNTFS圧縮の設定，解除を行う機能を有し，ボリューム13内にあるファイルに対して，ファイルの圧縮を行うことが可能となる。
【０００９】
キャッシュデータ廃棄手段9は，キャッシュマネージャが行うファイルデータの先読みによって，蓄積されたファイルデータや，ファイル入出力の高速化を図る為に，ファイルの読みこみによって蓄積されたキャッシュ内のファイルデータを廃棄する機能を有している。
【００１０】
次に，図1の構成及び図2のフローチャート図を参照して，本実施例のNTFS圧縮とファイルの暗号処理動作について詳述する。
まず，既に暗号化されているファイルに対して，ユーザ空間側でNTFS圧縮の設定，または，解除を行う場合について説明する。
Win32レイヤ2からボリューム13内のファイルに対してNTFS圧縮機能の圧縮，または解除要求をカーネル空間側へ図2のステップA1に対応するファイル入出力要求を発行し，図2のステップA2においてファイル入出力要求がNTFS圧縮の圧縮属性の設定，または解除要求であるかを，フィルタドライバ10内の圧縮属性設定要求判別手段6によって判別し，圧縮属性の設定，または解除要求であれば図2のステップA3を実施する。ステップA2の判別で，ファイル入出力要求が圧縮属性の設定，または解除でない場合はフィルタドライバ10で行う処理を終了し，ファイル入出力要求をNTFSファイルシステムドライバ12へバイパスする。
【００１１】
次に，図2のステップA3のファイル入出力対象ファイルが，フィルタドライバ10の暗号化/復号対象判別手段4によって判別することで，暗号化/復号の対象であれば図2のステップA4を実施し，対象でない場合はフィルタドライバ10で行う処理を終了し，ファイル入出力要求をNTFSファイルシステムドライバ12へバイパスする。
ファイル入出力要求がNTFS圧縮の設定，または解除と判別され，また，ファイル入出力対象ファイルが暗号化/復号対象であれば，ステップA4のメモリ上のキャッシュに存在するファイル入出力対象のファイルデータを廃棄し，ステップA5によってファイル入出力要求をNTFSファイルシステムドライバへ送信し，NTFSボリュームが有している圧縮機能によりファイルを圧縮し，その後，ファイルの圧縮に伴ってキャッシュに蓄積されたファイルデータに対してステップA6を実施することで，再度，廃棄する。
【００１２】
次にNTFS圧縮により圧縮されたファイルに対して，暗号化を行う方法について図３のフローチャートを基に説明する。
図３のステップB1によって，NTFS圧縮により圧縮されたファイルに対しての書きこみ要求が実施された場合，ステップB2によって，書きこみ対象ファイルが暗号化/復号対象であるかを判別し，暗号化/復号対象であると判別されたならば，ステップB3の処理を行い，対象でない場合はNTFSファイルシステムドライバへファイル書きこみ要求をバイパスする。
ステップB3の判定で，書きこみ対象ファイルがNTFS圧縮によって圧縮されたファイルであるかを判別し，圧縮されたファイルであればステップB4へと処理を移行し，圧縮されたファイルでない場合はステップB8〜9の処理によって，図1の暗号化/復号手段7によって書きこむデータを暗号化する。
【００１３】
ファイル書きこみ対象が圧縮されたファイルであり，かつ，暗号化対象ファイルであるとステップB2，B3で判別されたファイルは，ステップB4によって書きこむデータを暗号化し，その暗号化したデータをキャッシュへと書きこみ，ステップB5を実施することで，キャッシュに存在する暗号化されたデータを図1のボリューム13に書きこむ。その後，ステップB6において，キャッシュに存在する暗号化されたファイルデータを廃棄することで，NTFS圧縮によるファイルの圧縮と，機密データのセキュリティ保持を保つファイルの暗号化が実現される。
【００１４】
NTFS圧縮によって圧縮されたファイルの移動についての処理を，図４を用いて説明する。
図４のステップC1において，NTFS圧縮によって圧縮されたファイルに対して，ファイル移動要求が，ユーザ空間側から発行された場合に，ステップC2において，移動対象のファイルが暗号化/復号対象であるかを判別し，その結果，暗号化/復号対象であると判別された場合はステップC3の処理を実施し，対象でない場合には，NTFSファイルシステムドライバへファイルの移動処理要求をバイパスする。
【００１５】
ステップC3において，移動対象ファイルの複製となるファイルを，ファイルの移動先に作成し，ステップC4によって，移動対象のファイルの属性に圧縮属性が存在することを判別し，その結果，ステップC5において，図1の圧縮属性設定/解除手段8によって移動先に作成したファイルに対して，NTFS圧縮を設定する。
ステップC6〜7によって，ファイルの暗号化/復号を行い，その後，移動対象のファイルを削除することで，NTFS圧縮されたファイルの移動時に，暗号化/復号を実施することが可能となる。
【００１６】
【発明の効果】
以上説明したように，本発明のNTFS圧縮とファイルの暗号化を行う方式によれば，NTFS圧縮と機密データの保持を行う為のファイルの暗号化が相互的に使用することが可能となる。
なお，本発明はファイルデータのセキュリティを保持する際に，ファイルの暗号化，復号をファイル入出力時に透過的に行い，また，肥大したデータファイルの軽減を行う為に暗号化したファイルをNTFS圧縮によってファイルデータの軽減を行うことにおいて，特に効果が発揮される。
【図面の簡単な説明】
【図１】本発明の一実施例の構成を示すブロック図。
【図２】本実施例の動作手順を示すフローチャート図。
【図３】NTFS圧縮により圧縮されたファイルに対して，暗号化を行う方法を説明するフローチャート図。
【図４】NTFS圧縮によって圧縮されたファイルの移動についての処理を説明するフローチャート図。
【符号の説明】
1・・・アプリケーションプログラム、2・・・Win32レイヤ、3・・・I/Oマネージャ、4・・・暗号化/復号対象判別手段、5・・・圧縮属性判別手段，6・・・圧縮属性設定要求判別手段，7・・・暗号化/復号手段，8・・・圧縮属性設定/解除手段，9・・・キャッシュデータ廃棄手段、10・・・フィルタドライバ，11・・・キャッシュマネージャ、12・・・NTFSファイルシステムドライバ、13・・・ボリューム
【図１】
2004199312.tif 000003
【図２】
2004199312.tif 000004
【図３】
2004199312.tif 000005
【図４】
2004199312.tif 000006