(57)【要約】【課題】本発明はコンピュータシステムと一体となって動作する暗号システムにおいて、キャッシュ上に暗号処理されないデータが残ってしまうことが起きる問題を解決するためになされたものであって、暗号システムへの鍵データ入力の有り無しの切り替えに伴い、暗号化対象のファイルに付帯するキャッシュメモリ上の古いデータが無効化するように制御したので、コンピュータシステムのキャッシュ管理機能との整合性に優れた暗号システムのキャッシュメモリ制御方法を提供するのに著効を奏す。【解決手段】オペレーションシステムと記憶装置（ハードディスク）とを有するコンピュータシステムの所定のフォルダに保存するファイルを自動的に暗号化する機能を備えた暗号システムにおいて、前記暗号処理機能のＯＮ−ＯＦＦの切り替えに伴い前記コンピュータシステムが管理するキャッシュメモリ上に保持された暗号化対象のファイルに付帯するキャッシュデータを無効化或いは書き換えるためのキャッシュメモリ無効処理ステップを備えた暗号システム。【選択図】図１
2004240699.tif 000002
【特許請求の範囲】
【請求項１】
オペレーションシステムと記憶装置（ハードディスク）とを有するコンピュータシステムの所定のフォルダを暗号化領域に設定する機能と、該暗号化領域に保存するファイルを自動的に暗号化或いは前記暗号化領域から読み出したファイルを自動的に復号する暗号処理機能と、前記暗号処理機能をＯＮ−ＯＦＦする機能を備えた暗号システムにおいて、
前記暗号処理機能のＯＮ−ＯＦＦの切り替えに伴い前記コンピュータシステムが管理するキャッシュメモリ上に保持された暗号化対象のファイルに付帯するキャッシュデータを無効化或いは書き換えるためのキャッシュメモリ無効処理ステップを備えた暗号システムであって、
前記暗号システムは、前記オペレーションシステムがファイルオープン処理時に作成するファイル識別子が登録されているオープンファイルテーブルと、前記オペレーションシステムを監視し前記オペレーションシステムが作成したファイル識別子を前記オープンファイルテーブルに登録する処理ステップを有するオープンファイル監視部と、前記暗号化領域として設定されたフォルダのパス名が登録された暗号化対象テーブルと、前記オープンファイルテーブルに登録されたファイル識別子からオープンファイルのパス名を取得すると共に取得したオープンファイルのパス名と前記暗号化対象テーブルに登録された暗号化フォルダのパス名とを比較照合する処理ステップを有するキャッシュ無効化制御部と、前記オペレーションシステムが暗号化領域から読み出した暗号文のファイルを復号すると共に暗号化領域に保存すべき平文のファイルを暗号化してオペレーションシステムに引き渡す暗号処理ステップを有する暗号処理部と、ユーザが入力するパスワード若しくは鍵データを検知して前記入力されたパスワード若しくは鍵データを照合すると共に前記照合結果に基づき前記暗号処理部の暗号処理機能のＯＮ−ＯＦＦを制御する処理ステップを有する鍵入力部とを備え、前記暗号処理機能のＯＮ−ＯＦＦの切り替えに伴い、前記キャッシュ無効化制御部が前記取得したオープンファイルのパス名と前記暗号化フォルダのパス名とを比較照合する処理ステップを実行し、該比較照合の結果前記オープンファイルのパス名の先頭部分が前記暗号フォルダのパス名に一致したとき、キャッシュメモリ上に保持されている前記オープンファイルに付帯したキャッシュデータを無効化する処理ステップを備えていることを特徴とする暗号システム。
【請求項２】
前記暗号処理機能のＯＮ−ＯＦＦの切り替えに伴い、前記キャッシュ無効化制御部が前記取得したオープンファイルのパス名と前記暗号化フォルダのパス名とを比較照合する処理ステップを実行し、該比較照合の結果前記オープンファイルのパス名の先頭部分が前記暗号フォルダのパス名に一致したとき、前記オープンファイルに対応するデータをキャッシュメモリ若しくは記憶装置から読み出す処理ステップと、該キャッシュメモリ若しくは記憶装置から読み出したファイルのデータを暗号処理部にて暗号処理する処理ステップと、前記暗号処理したファイルのデータをキャッシュメモリ上に保持する前記オープンファイルに付帯したキャッシュデータに対して上書きする処理ステップを備えたことを特徴とする請求項１記載の暗号システム。
【請求項３】
前記上書き処理ステップの実行前に、前記オープンファイルの日付情報を取得する処理ステップを備え、該上書き処理ステップ実行後に前記取得した日付情報を記憶装置に書き込む処理ステップを備えたことを特徴とする請求項２記載の暗号システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、キャッシュ制御機能を備えた暗号システムに関する
【０００２】
【従来の技術】
近年、コンピュータシステムにおけるセキュリティを維持する目的で電子ファイルを自動的に暗号化するシステムが提案されている。例えば、情報処理学会研究報告「コンピュータセキュリティ」アブストラクトＮｏ．００６−００４に開示されているように、ユーザの所有するパソコンに暗号システム（ソフトウェア）をインストールしておくと、暗号システムがコンピュータシステムをバックグラウンドで常時監視し、指定するフォルダ（暗号化フォルダ）へのファイル保存、あるいは指定フォルダからのファイル読み出しを検知しこれを自動的に暗号化或いは復号するというものである。
【０００３】
例えば、予め暗号システムに所定のパスワード（或いは鍵データ）を入力しておき（鍵データありの状態）、所定のアプリケーションを開いて暗号化フォルダから所定のファイルを読み出すと、これを暗号システムが検知しファイルを自動的に復号し平文の状態で表示する。また、作成したファイルを指定のフォルダに保存するとこれを自動的に暗号化することが出来る。また、鍵データを与えない状態（鍵データなしの状態）にしておくと暗号化フォルダ内のファイルを所定のアプリケーションで開いても復号せず、ファイルは暗号文のまま表示される。従って、鍵データなしの状態に設定しておけば、ユーザ不在時に第３者がユーザのパソコンにアクセスしても、指定のファイルは暗号化された状態が保持されるのでセキュリティは維持される。
【０００４】
ところで、このように指定フォルダにファイルを入出力するときに伴う暗号化処理において、アプリケーションがキャッシュメモリ上に保持しているデータを直接読み出すといった処理が起きることがあるが、このとき、前記暗号処理機能が大きく制限されるといったことが知られている。
図１６はコンピュータシステムにおいてオペレーションシステムと従来の暗号システムと所定のアプリケーション等のプログラムが起動しコンピュータシステムのハードウェアと一体になって動作している状態を示したものである。図１６において、コンピュータシステムはオペレーションシステムや暗号システムや所定のアプリケーション等のプログラムが格納されている記憶装置１（ハードディスク）と、前記プログラムの起動時に記憶装置１からプログラムがロードされるメインメモリ２と、前記メインメモリ２よりも読み出し速度が早いキャッシュメモリ３と、前記プログラムの起動後に前記メインメモリ２に常駐するＯＳ（オペレーションシステム）４と、プログラム起動後にメインメモリ２に常駐する暗号システム５と、プログラム起動後にメインメモリ２に常駐する第１のアプリケーション６及び第２のアプリケーション７とを備えている。また、前記ＯＳ４は前記第１のアプリケーション６及び第２のアプリケーション７からのシステムコールを処理するＩ／Ｏマネージャ８と、前記Ｉ／Ｏマネージャ８からの指示に基づき前記記憶装置１に対するファイルの入出力処理を実行するファイルシステムドライバ９と、前記キャッシュメモリ３と記憶装置１との間のデータのやりとりを制御するメモリマネージャ１０と、前記メモリマネージャ１０を介して前記アプリケーション６，７とキャッシュメモリ３との間のデータのやり取りを制御するキャッシュマネージャ１１とを備えている。また、従来の暗号システム５はＩ／Ｏマネージャ８とファイルシステムドライバ９との間に介在し記憶装置１に入出力するファイルを暗号化或いは復号する暗号処理部１２と、ユーザが入力したパスワードや鍵データを照合し前記暗号処理部１２の暗号処理機能のＯＮ−ＯＦＦを制御する鍵入力部１３とを備えている。
【０００５】
図１６に示した従来の暗号システムは以下のように動作する。
まず、コンピュータシステムにおいてＯＳ４を起動後、暗号システム５を起動する。そこで、暗号システム５はパスワード（或いは鍵データ）の入力を促すメニューを表示するが、このときユーザは前記メニューに対しパスワードを入力しない状態とする。（以下、「鍵データなし」と表現する。）
次に、鍵入力部１３はパスワードが入力されないので暗号処理機能ＯＦＦの指示を発行しこれを暗号処理部１２に伝える。暗号処理部１２は前記鍵入力部１３からの暗号処理機能ＯＦＦの指示に従い、以後入出力したファイルを暗号処理せずに、そのままＩ／Ｏマネージャ４若しくはファイルシステムドライバ９にファイルを引き渡すように動作する。
【０００６】
図１７〜２１は従来の暗号システム（鍵入力なし）の起動後の動作をフローチャートで示したものである。以下、図１７〜図２１のフローチャートを用いながら説明する。まず、暗号システム（鍵データなし）の状態において、第１のアプリケーション６を起動する。そこで、第１のアプリケーション６において所定のファイルを新規に作成するとアプリケーション６は新規にファイルをオープンするようシステムコール（ＯＳ４に対する指示）を発行する。（図１７、ＳＴＥＰ１−１）
【０００７】
次に、Ｉ／Ｏマネージャ８は前記第１のアプリケーション６のシステムコールに従い第１のファイル識別子を作成する。（図１３、ＳＴＥＰ１−２）
ここで、ファイル識別子とは、新規に作成しようとするファイル（オープンファイル）の管理情報であって、オープン操作の特定のインスタンス（実例）を表すものと言われている。
更に、Ｉ／Ｏマネージャ８は作成した第１のファイル識別子を用い、ファイルオープン処理をファイルシステムドライバ９に指示する。（図１７、ＳＴＥＰ１−３）
【０００８】
次に、ファイルオープン処理が完了すると、第１のアプリケーション６はキャッシュマネージャ１１に対しオープン処理を実行したファイルをキャッシュメモリ３上にマッピングするようシステムコールを発行する。（図１７、ＳＴＥＰ２−１）
そこで、キャッシュマネージャ１１は前記マッピング処理の依頼をメモリマネージャ１０に指示する。（図１７、ＳＴＥＰ２−２）
そして、メモリマネージャ１０は前記マッピング処理の依頼に従い、キャッシュメモリ３上にキャッシュ（保存）されるファイルのファイルマップを作成する。（図１７、ＳＴＥＰ２−３）
【０００９】
次に、第１のアプリケーション６は記憶装置１から所定のファイルを読み出す目的でファイルの読み出し処理をＩ／Ｏマネージャ４に依頼する。（図１８、ＳＴＥＰ３−１）Ｉ／Ｏマネージャ４は前記依頼を受けてファイルシステムドライバ９にファイル読み出し処理を指示する。（図１８、ＳＴＥＰ３−２）ファイルシステムドライバ９は前記読み出し処理の指示を受けると、まず該当するファイルがキャッシュメモリ３に存在するか否かをキャッシュマネージャ１０に問い合わせる。（図１８、ＳＴＥＰ３−３）
【００１０】
そこで、キャッシュメモリ３には該当するファイルが存在しないので、メモリマネージャ１０が働きファイル未読部分（この場合はファイルの全て）を記憶装置１から読み出すようにＩ／Ｏマネージャ８に依頼する。（図１８、ＳＴＥＰ３−４、３−５）
そして、Ｉ／Ｏマネージャ８はファイル読み出し処理をファイルシステムドライバ９に指示する。（図１８、ＳＴＥＰ３−６）
【００１１】
ファイルシステムドライバ９は前記指示に従って記憶装置１からファイル未読部分（本説明例ではファイルの全て）を読み出すと、これをＩ／Ｏマネージャ８を介してメモリマネージャ１０に送出する。そして、メモリマネージャ１０は受け取ったファイル（暗号文の状態）をキャッシュメモリ３に書き込む。（図１８、ＳＴＥＰ３−７、３−８）
【００１２】
一方、キャッシュメモリ３への書き込みが完了すると、第１のアプリケーション６は、Ｉ／Ｏマネージャ８とメモリマネージャ１０を介して、キャッシュメモリ３に書き込まれたファイル（暗号文の状態）を読み出し、これを第１のファイル識別子に対応するファイル（暗号文の状態）として保持する。（図１８、ＳＴＥＰ３−９）
以上、第１のアプリケーションを起動して記憶装置１からファイルを読み出し、キャッシュメモリ３にファイルが暗号文の状態で書き込まれるまでの処理を説明した。
【００１３】
ここで、第１のアプリケーション６を終了させたとする。このとき、第１のアプリケーション７はアプリケーションを閉じる前に第１のファイル識別子に対するファイルクローズ処理をＩ／Ｏマネージャ８に依頼する。（図１９、ＳＴＥＰ４−１）
ところが、Ｉ／Ｏマネージャ８は第１のアプリケーション６からの前記ファイルクローズ処理依頼を保留する。これは、別のアプリケーションが起動したときにキャッシュメモリ３上のデータを利用できるようにオペレーションシステムがキャッシュデータを管理しているからである。（図１９、ＳＴＥＰ４−２）
【００１４】
次に、第１のアプリケーション６終了後に第２のアプリケーション７を起動する。
そして、第２のアプリケーション７上において記憶装置１からファイルを読み出す目的で、まず新規にファイルをオープンするようシステムコールを発行する。（図１９、ＳＴＥＰ４−３）
Ｉ／Ｏマネージャ８は前記システムコールに従い第２のファイル識別子を発行する。なお、このとき第１のファイル識別子は既に作成されているので、Ｉ／Ｏマネージャ８はこれとは重複しないよう第２のファイル識別子を作成するようになっている。（図１９、ＳＴＥＰ４−４）
【００１５】
次に、Ｉ／Ｏマネージャ８は作成した第２のファイル識別子を用いてファイルオープン処理をファイルシステムドライバ９に指示する。（図１９、ＳＴＥＰ４−５）
ファイルシステムドライバ９は前記指示に従いファイルオープン処理を実行する。（図１９、ＳＴＥＰ４−６）
【００１６】
そこで、ファイルオープン処理が完了すると、第２のアプリケーションは記憶装置１から目的とするファイル（第１のアプリケーション６にて読み出したファイルに相当）を読み出すようシステムコールを発行する。（図２０、ＳＴＥＰ５−１）
Ｉ／Ｏマネージャ８は作成済みの第２のファイル識別子を用いてファイル読み出し処理をファイルシステムドライバ９に指示する。（図２０、ＳＴＥＰ５−２）
ここで、ファイルシステムドライバ９は目的のファイルがキャッシュメモリ３上に存在するか否かキャッシュマネージャ１１に問い合わせる。（図２０、ＳＴＥＰ５−３）
【００１７】
キャッシュマネージャ１１は前記問い合わせに対し目的とするファイルの有無を確認するが、ここではキャッシュメモリ３上に目的のファイルが暗号文の状態で存在するので、目的のファイルが有る旨の応答をファイルシステムドライバ９に返送する。そこで、ファイルシステムドライバ９は前記応答を受け取るとキャッシュメモリ３から目的とするファイルを読み出すようキャッシュマネージャ１１に依頼する。（図２０、ＳＴＥＰ５−４）
【００１８】
キャッシュマネージャ１１は前記依頼に従いキャッシュメモリ３からのファイル読み出し処理をメモリマネージャ１０に指示する。（図２１、ＳＴＥＰ５−５）
メモリマネージャ１０は前記指示に従いキャッシュメモリ３から目的のファイル（暗号文の状態）を読み出し、これをキャッシュマネージャ１１を介してファイルシステムドライバ９へ送出する。（図２１、ＳＴＥＰ５−６）
【００１９】
ファイルシステムドライバ９は前記受け取ったファイルをＩ／Ｏマネージャ８を介して第２のアプリケーション７へ送出する。（図２１、ＳＴＥＰ５−７）
第２のアプリケーション７はファイルシステムドライバ９から送出されたファイル（暗号文の状態）を受け取ると、これを第２のファイル識別子に対応するファイルとして保持しファイルの読み出しを完了する。（図１７、ＳＴＥＰ５−９）
【００２０】
以上、アプリケーションが記憶装置１からファイルを読み出すときに実行するオープン処理と、読み出し処理と、キャッシュメモリ３に関する処理についてオペレーションシステム４の働きを中心に説明した。
この説明では暗号システムが「鍵データ無し」の状態を維持しており、アプリケーションが記憶装置１またはキャッシュメモリ３からファイルを読み出しても、ファイルが暗号処理されることがないので特に問題となることはない。
【００２１】
【発明が解決しようとする課題】
ここで、暗号システム５において、パスワードを入力し「鍵データ有り」にした状態を考える。例えば、あるアプリケーションを起動して記憶装置１から所定の文書ファイル等を読み出そうとしたとき、キャッシュメモリ３上には目的とする文書ファイルに関連するキャッシュデータが既に存在している場合がある。この例は図１８、ＳＴＥＰ３−４のＹＥＳの処理ステップに該当している。このとき、「鍵データ無し」→「鍵データ有り」に切り替えてもキャッシュメモリ３上には暗号文のデータがそのままキャッシュデータとして残っているので、アプリケーションはキャッシュメモリ３に保持されているファイル（暗号文の状態）を読み込んでしまう。
【００２２】
よって、「鍵データ入力有り」の状態にしたのにもかかわらず、アプリケーションはキャッシュメモリ３から読み出したファイルを正常な状態（平文の状態）で表示することができない。また逆に、キャッシュメモリ３上に平文のキャッシュデータが保持されている場合、「鍵データ有り」→「鍵データ無し」の状態に切り替えても、アプリケーションはキャッシュメモリ３から読み出したファイルをそのまま平文として表示してしまうといったことも起きてしまう。（セキュリティ上問題である。）
【００２３】
この現象は前述したようにアプリケーションプログラムからファイルクローズ処理の要求があっても、Ｉ／Ｏマネージャ８が前記要求を保留し、他のアプリケーションがキャッシュメモリ３上に保持されているキャッシュデータを引き続き利用できるようにオペレーションシステムが制御していることに起因している。
従って、「鍵データ無し」→「鍵データ有り」或いは「鍵データ有り」→「鍵データ無し」に切り替えても、これに対応してキャッシュメモリ３上に保持されているキャッシュデータが書き変わることがないので、従来の暗号システムはオペレーションシステムのキャッシュ処理機能との整合性に問題を抱え、その暗号処理機能が制限されてしまうという問題点を抱えていた。また、キャッシュメモリ上に残っているデータをリセットするには、コンピュータを再起動してから再度暗号システムを起動し直せば良いが大変煩雑であり、再起動するまでコンピュータを利用できない等ユーザに不便さを強いることになる。
本発明は、上記目的を解決するためになされたものであって、キャッシュ処理機能を備えオペレーションシステムとの整合性に優れた暗号システムを提供することを目的とする。
【００２４】
【課題を解決するための手段】
上記目的を解決するために、本発明に係わる請求項１記載の発明は、オペレーションシステムと記憶装置（ハードディスク）とを有するコンピュータシステムの所定のフォルダを暗号化領域に設定する機能と、該暗号化領域に保存するファイルを自動的に暗号化或いは前記暗号化領域から読み出したファイルを自動的に復号する暗号処理機能と、前記暗号処理機能をＯＮ−ＯＦＦする機能を備えた暗号システムにおいて、前記暗号処理機能のＯＮ−ＯＦＦの切り替えに伴い前記コンピュータシステムが管理するキャッシュメモリ上に保持された暗号化対象のファイルに付帯するキャッシュデータを無効化或いは書き換えるためのキャッシュメモリ無効処理ステップを備えた暗号システムであって、前記暗号システムは、前記オペレーョンシステムがファイルオープン処理時に作成するファイル識別子が登録されているオープンファイテーブルと、前記オペレーションシステムを監視し前記オペレーションシステムが作成したファイル識別子を前記オープンファイルテーブルに登録する処理ステップを有するオープンファイル監視部と、前記暗号化領域として設定されたフォルダのパス名が登録された暗号化対象テーブルと、前記オープンファイルテーブルに登録されたファイル識別子からオープンファイルのパス名を取得すると共に取得したオープンファイルのパス名と前記暗号化対象テーブルに登録された暗号化フォルダのパス名とを比較照合する処理ステップを有するキャッシュ無効化制御部と、前記オペレーションシステムが暗号化領域から読み出した暗号文のファイルを復号すると共に暗号化領域に保存すべき平文のファイルを暗号化してオペレーションシステムに引き渡す暗号処理ステップを有する暗号処理部と、ユーザが入力するパスワード若しくは鍵データを検知して前記入力されたパスワード若しくは鍵データを照合すると共に前記照合結果に基づき前記暗号処理部の暗号処理機能のＯＮ−ＯＦＦを制御する処理ステップを有する鍵入力部とを備え、前記暗号処理機能のＯＮ−ＯＦＦの切り替えに伴い、前記キャッシュ無効化制御部が前記取得したオープンファイルのパス名と前記暗号化フォルダのパス名とを比較照合する処理ステップを実行し、該比較照合の結果前記オープンファイルのパス名の先頭部分が前記暗号フォルダのパス名に一致したとき、キャッシュメモリ上に保持されている前記オープンファイルに付帯したキャッシュデータを無効化する処理ステップを備えたものである。
【００２５】
本発明に係わる請求項２記載の発明は、請求項１において、前記暗号処理機能のＯＮ−ＯＦＦの切り替えに伴い、前記キャッシュ無効化制御部が前記取得したオープンファイルのパス名と前記暗号化フォルダのパス名とを比較照合する処理ステップを実行し、該比較照合の結果前記オープンファイルのパス名の先頭部分が前記暗号フォルダのパス名に一致したとき、前記オープンファイルに対応するデータをキャッシュメモリ若しくは記憶装置から読み出す処理ステップと、該キャッシュメモリ若しくは記憶装置から読み出したファイルのデータを暗号処理部にて暗号処理する処理ステップと、前記暗号処理したファイルのデータをキャッシュメモリ上に保持する前記オープンファイルに付帯したキャッシュデータに対して上書きする処理ステップを備えたものである。
【００２６】
本発明に係わる請求項３記載の発明は、請求項２において、前記上書き処理ステップの実行前に、前記オープンしたファイルの日付情報を取得する処理ステップを備え、該上書き処理ステップ実行後に前記取得した日付情報を記憶装置に書き込む処理ステップを備えたものである。
【００２７】
【発明の実施の形態】
以下、図示した実施例に基づいて本発明を詳細に説明する。
図１は本発明に係わるキャッシュ処理機能を備えた暗号システムのブロック図を示したものであって、暗号システムがオペレーションシステムと所定のアプリケーションとコンピュータシステムのハードウェアと一体になって動作している状態を示している。
【００２８】
図１において、Ｉ／Ｏマネージャ８とファイルシステムドライバ９とキャッシュマネージャ１１とメモリマネージャ１０とを有するＯＳ（オペレーションシステム）４は、コンピュータシステムに常駐して第１のアプリケーション６や第２のアプリケーション７等からのシステムコールを処理し、記憶装置１やキャッシュメモリ３とのデータのやり取りを制御する。
【００２９】
また、暗号システム５はユーザが入力したパスワード或いは鍵データを検知してこれを照合すると共に後述する暗号処理部１２の暗号処理機能のＯＮ−ＯＦＦを制御する鍵入力部１３と、暗号化対象ファイルが保存されているフォルダのパス名一覧を有する暗号処理対象判別テーブル１４と、アプリケーションがオープンしたファイルのファイル識別子が登録されているオープンファイルテーブル１５と、前記鍵入力部１３からの指示によって起動しキャッシュメモリ３上のデータ書き換え若しくはデータ無効化を制御するキャッシュ無効化制御部１６と、Ｉ／Ｏマネージャ８からのファイルオープン指示を検知し新規にオープンしたファイルのファイル識別子を前記オープンファイルテーブル１５に登録するオープンファイル監視部１７と、前記オープンファイル監視部１７とファイルシステムドライバ９との間に介在し入力されたファイルを暗号化或いは復号する暗号処理部１２とを備えている。
【００３０】
図１に示した暗号化システムは以下のように動作する。
まず、コンピュータシステムにおいてＯＳ（オペレーションシステム）４を起動後、暗号システム５を起動する。そこで、暗号システムはパスワード（或いは鍵データ）の入力を促すメニューを表示するが、ここではまず、ユーザが前記メニューに対しパスワードを入力しない状態を説明する。（以下、この状態を「鍵データなし」と表現する。）
次に、鍵入力部１３はパスワードが入力されないので暗号処理機能ＯＦＦの指示を暗号処理部１２に与える。暗号処理部１２は前記鍵入力部１３からの指示に従い、以後入力されたファイルを暗号処理せずに、そのままＩ／Ｏマネージャ４（オープンファイル監視部１７を経由）若しくはファイルシステムドライバ９にファイルを引き渡すように動作する。
【００３１】
図２〜１０は図１の暗号システムの処理手順の第１の実施例をフローチャートで示したものである。以下図２〜１０のフローチャートを用いながら説明する。まず、暗号システム（「鍵データなし」の状態）において、第１のアプリケーション６を起動する。
そこで、第１のアプリケーション６において文書等のファイルを新規に作成するときに、アプリケーション６はまず新規にファイルをオープンするようシステムコール（ＯＳ４に対する指示）を発行する。（図２、ＳＴＥＰ１−１）
【００３２】
次に、Ｉ／Ｏマネージャ８は前記第１のアプリケーション６のシステムコールに従い第１のファイル識別子を作成する。（図２、ＳＴＥＰ１−２）
なお、ファイル識別子については従来技術の説明と同様なので説明を省略する。
【００３３】
更に、Ｉ／Ｏマネージャ８は作成した第１のファイル識別子を用いて、オープンファイル監視部１７を介してファイルオープン処理をファイルシステムドライバ９に指示する。（図２、ＳＴＥＰ１−３）
そして、ファイルシステムドライバ９は前記指示に従いファイルオープン処理を実行する。（図２、ＳＴＥＰ１−４）
また、オープンファイル監視部１７は前記Ｉ／Ｏマネージャ８の作成した第１のファイル識別子をオープンファイルテーブル１５に登録する。このとき、オープンファイルテーブルには図１５に示すように、オープンしたファイルのファイル識別子（第１のファイル識別子等）が登録される。（図２、ＳＴＥＰ１−５）
【００３４】
次に、ファイルオープン処理が完了すると、第１のアプリケーション６はキャッシュマネージャ１１に対しオープン処理を実行したファイルをキャッシュメモリ３上にマッピングするようシステムコールを発行する。（図２、ＳＴＥＰ２−１）
そこで、キャッシュマネージャ１１は前記マッピング処理の依頼をメモリマネージャ１０に指示する。（図３、ＳＴＥＰ２−２）
そして、メモリマネージャ１０は前記マッピング処理の依頼に従いキャッシュメモリ３上にキャッシュ（保存）されるファイルのファイルマップを作成する。（図３、ＳＴＥＰ２−３）
【００３５】
次に、第１のアプリケーション６は記憶装置１から所定のファイルを読み出す目的でファイルの読み出し処理をＩ／Ｏマネージャ４に依頼する。（図３、ＳＴＥＰ３−１）
Ｉ／Ｏマネージャ４は前記依頼を受けてファイルシステムドライバ９にファイル読み出し処理を指示する。（図３、ＳＴＥＰ３−２）ファイルシステムドライバ９は前記読み出し処理の指示を受けると、まず該当するファイルがキャッシュメモリ３に存在するか否かをキャッシュマネージャ１０に問い合わせる。（図３、ＳＴＥＰ３−３）
【００３６】
そこで、キャッシュマネージャ１０は該当するファイルが存在しないと応答を返すと共に、メモリマネージャ１０が働いてファイル未読部分（この場合はファイルの全て）を記憶装置１から読み出すようにＩ／Ｏマネージャ８に依頼する。（図３、ＳＴＥＰ３−４、３−５）
そして、Ｉ／Ｏマネージャ８はファイル読み出し処理をファイルシステムドライバ９に指示する。（図４、ＳＴＥＰ３−６）
【００３７】
ファイルシステムドライバ９は前記指示に従って記憶装置１からファイル未読部分（本説明例ではファイルの全て）を読み出すと、これをＩ／Ｏマネージャ８を介してメモリマネージャ１０に送出する。そして、メモリマネージャ１０は受け取ったファイル（暗号文の状態）をキャッシュメモリ３に書き込む。（図４、ＳＴＥＰ３−７、３−８）
【００３８】
一方、キャッシュメモリ３への書き込みが完了すると、第１のアプリケーション６は、Ｉ／Ｏマネージャ８とメモリマネージャ１０を介して、キャッシュメモリ３に書き込まれたファイル（暗号文の状態）を読み出し、これを第１のファイル識別子に対応するファイル（暗号文の状態）として保持する。（図４、ＳＴＥＰ３−９）
【００３９】
ここで、第１のアプリケーション６を終了させたとする。このとき、第１のアプリケーション７はアプリケーションを閉じる前に第１のファイル識別子に対するファイルクローズ処理をＩ／Ｏマネージャ８に依頼する。（図４、ＳＴＥＰ４−１）
ところが、Ｉ／Ｏマネージャ８は第１のアプリケーション６からの前記ファイルクローズ処理依頼を保留する。これは、別のアプリケーションが起動したときにキャッシュメモリ３上のデータを利用できるようにオペレーションシステムがキャッシュデータを管理しているからである。（図４、ＳＴＥＰ４−２）
【００４０】
ここで、鍵入力部１３／暗号システムに鍵データ（或いはパスワード）を入力する。鍵入力部１３は鍵データが入力されたことを検知し（以後「鍵データ有り」と言う）、キャッシュ無効化制御部１６へキャッシュ無効化指示を出す。（図５、ＳＴＥＰ６−１）
キャッシュ無効化制御部１６は前記キャッシュ無効化指示を受けると暗号処理対象判別テーブル１４を参照し、暗号化対象（フォルダ）のパス名を取得する。（図５、ＳＴＥＰ６−２）
ここで、前記暗号処理対象判別テーブル１４は図１５に示すように、記憶装置１内の暗号化対象フォルダのパス名の一覧を示したものであって、暗号処理対象フォルダの一覧の何れかに保存されたファイルのみ、暗号処理を施すよう暗号システムに管理されている。
【００４１】
次に、キャッシュ無効化制御部１６は暗号化対象フォルダのパス名を参照すると、オープンファイルテーブル１５を参照し、第１のファイル識別子を読み出し、これに対応するファイルのパス名（￥◯◯●●￥△△▲▲￥□□■■￥◇◇◆◆等）を取得する。（図５、ＳＴＥＰ６−３）
そして、キャッシュ無効化制御部１６は取得した暗号化対象（フォルダ）のパス名と、オープンファイル一覧のファイル識別子から所得したパス名とを順次比較照合し、オープンファイル一覧のファイルが暗号処理対象のものであるか否か判定する。（図５、ＳＴＥＰ６−４）
もし、オープンファイル一覧のファイルが暗号処理対象外であればキャッシュ無効化処理を終了し（図５、ＳＴＥＰ６−５のＮｏ）、暗号処理対象であれば次のステップ（図５、ＳＴＥＰ６−５のＹＥＳ）へと進む。
【００４２】
ここで、図６、ＳＴＥＰ６−５の判定について説明する。例えば、第１のファイル識別子から取得したオープンファイルのパス名を￥◯◯●●￥△△▲▲￥□□■■￥◇◇◆◆とし、暗号化対象（フォルダ）のパス名を￥◯◯●●￥△△▲▲とする。
このとき、両者のパス名を先頭から比較すると、暗号化対象（フォルダ）のパス名（￥◯◯●●￥△△▲▲）はオープンファイルのパス名（￥◯◯●●￥△△▲▲￥□□■■￥◇◇◆◆）の先頭部分に完全に一致している。つまり、第１のファイル識別子に対応するオープンファイルは暗号化対象のフォルダ（￥◯◯●●￥△△▲▲）のサブフォルダ内に存在していることを意味している。
従って、暗号化対象（フォルダ）のパス名と取得したオープンファイルのパス名とを先頭から比較して、暗号化対象（フォルダ）のパス名が所得したオープンファイルのパス名に先頭から完全に一致したとき、対象とするオープンファイルは暗号化対象として判定することができる。もし、一致しなければ対象とするオープンファイルは暗号化対象のフォルダ以外のところに存在する。
【００４３】
次に、キャッシュ無効化制御部１６は、オープンファイルが暗号化対象と判定されると、取得したオープンファイルのパス名を用いて新たにファイルのオープン処理をするようシステムコールを発行する。（図５、ＳＴＥＰ６−６）ところが、Ｉ／Ｏマネージャ８は第１のファイル識別子を既に作成済みなので、自動的に第２のファイル識別子を作成する。（図６、ＳＴＥＰ６−７）
【００４４】
次に、Ｉ／Ｏマネージャ８は作成した第２のファイル識別子を用いて（オープンファイル監視部１７及び暗号処理部１２を介し）ファイルシステムドライバ９にファイルオープン処理を指示する。（図６、ＳＴＥＰ６−８）
ファイルシステムドライバ９は前記指示に従い、ファイルオープン処理を実行する。（図６、ＳＴＥＰ６−９）
【００４５】
次に、キャッシュ無効化制御部１６は第２のファイル識別子に付帯するキャッシュ（以下、キャッシュ１と呼ぶ）の無効化指示を（Ｉ／Ｏマネージャ８とメモリマネージャ１０とを介して）キャッシュマネージャ１１に与える。（図６、ＳＴＥＰ７−１）
キャッシュマネージャ１１は前記キャッシュ１の無効化指示を受けると、メモリマネ−ジャ１０に対してキャッシュ１の無効化を指示する。（図６、ＳＴＥＰ７−２）
メモリマネージャ１０は前記キャッシュ１の無効化指示に従い、第２のファイル識別子に対応するファイルとキャッシュ１との対応関係を破棄し、キャッシュ１のデータをキャッシュメモリ３から破棄する。（図６、ＳＴＥＰ７−３）
【００４６】
次にキャッシュ１の無効化が終了すると、キャッシュ無効化制御部１６は第２のファイル識別子を使用してファイルクローズ処理をＩ／Ｏマネージャ８に依頼する。（図６、ＳＴＥＰ７−４）
Ｉ／Ｏマネージャ８は前記ファイルクローズ処理依頼を（オープンファイル監視部１７と暗号処理部１２とを介し）ファイルシステムドライバ９に指示する。（図６、ＳＴＥＰ７−５）
ファイルシステムドライバ９は前記指示に従い、第２のファイル識別子に対するファイルクローズ処理を実行し、キャッシュ無効化処理は終了する（図７、ＳＴＥＰ７−６）
【００４７】
次に、第２のアプリケーション７を起動し、第１のアプリケーションが第１のファイル識別子にてオープン処理依頼したファイルを記憶装置１から読みだすときを考える。
まず、第２のアプリケーション７は記憶装置１からファイルを読み出す前にファイルをオープンするようにシステムコールを発行する。（図７、ＳＴＥＰ８−１）
前記システムコールを受けてＩ／Ｏマネージャ８は第３のファイル識別子を作成する。
【００４８】
次に、Ｉ／Ｏマネージャ８は作成した第３のファイル識別子を用いて（オープンファイル監視部１７と暗号処理部１２を介して）ファイルオープン処理をファイルシステムドライバ９に指示する。ファイルシステムドライバ９は前記指示に従いファイルオープン処理を実行する。（図７、ＳＴＥＰ８−４）
【００４９】
そこで、第２のアプリケーション７は作成された第３のファイル識別子を用いて記憶装置１からファイルを読み出すようシステムコールを発行する。（図８、ＳＴＥＰ９−１）Ｉ／Ｏマネージャ８は前記システムコールを受けて、第３のファイル識別子を用いて（オープンファイル監視部１７と暗号処理部１２を介し）ファイル読み出し処理をファイルシステムドライバ９に指示する。（図８、ＳＴＥＰ９−２）
ファイルシステムドライバ９は前記指示を受け取ると、第３のファイル識別子に付帯するキャッシュの有無をキャッシュマネージャ１１に問い合わせる。（図８、ＳＴＥＰ９−３）
【００５０】
このとき、キャッシュマネージャ１１はキャッシュ無しと回答する。
そこで、ファイルシステムドライバ９は第３のファイル識別子に付帯するキャッシュの処理をキャッシュマネージャ１１に依頼する。（図８、ＳＴＥＰ９−４）
キャッシュマネージャ１１は前記依頼をメモリマネージャ１０に指示する。（図８、ＳＴＥＰ９−５）メモリマネージャ１０は前記指示に従い、第３のファイル識別子に付帯するキャッシュとしてキャッシュ２を準備し（図８、ＳＴＥＰ９−６）ファイルシステムドライバ９は第３のファイル識別子に付帯するキャッシュ２の読み出しをキャッシュマネージャ１１を介してメモリマネージャ１０に指示する。（図８、ＳＴＥＰ９−７及び図９、ＳＴＥＰ９−８）
【００５１】
そこで、メモリマネージャ１０はキャッシュメモリ３にはファイルが読み込まれていないので、ファイル読み出し処理をＩ／Ｏマネージャ８に依頼する。（図９、ＳＴＥＰ９−９）
Ｉ／Ｏマネージャ８は前記ファイル読み出し処理依頼を（オープンファイル監視部１７と暗号処理部１２とを介し）ファイルシステムドライバ９に指示する。（図９、ＳＴＥＰ９−１０）ファイルシステムドライバ９は前記指示に従い記憶装置１から第３のファイル識別子に対応するファイルを読み出し、暗号化処理部１２に渡す。（図９、ＳＴＥＰ９−１１）暗号処理部１２は前記受けとったファイルを復号しこれをＩ／Ｏマネージャ８に渡す。（図９、ＳＴＥＰ９−１２）
Ｉ／Ｏマネージャ８は受け取った復号後のファイルをメモリマネージャ１０に渡す。（図９、ＳＴＥＰ９−１３）メモリマネージャ１０は前記受けとった復号後のファイルをキャッシュメモリ３にキャッシュ２として書き込む。（図９、ＳＴＥＰ９−１４）
【００５２】
次に、ファイルシステムドライバ９はキャッシュマネージャ１１とメモリマネージャ１０とを介し、キャッシュメモリ３から復号後のファイルを読み出しＩ／Ｏマネージャに渡す。（図１０、ＳＴＥＰ１０−１）
そこで、Ｉ／Ｏマネージャ８は受けとった復号後のファイル（キャッシュメモリ３上のキャッシュ２から読み出したデータ）を第２のアプリケーションに渡す。そして、第２のアプリケーション７はこれを受け取り復号した状態（平文の状態）でファイルを表示することができる。そして、アプリケーション２からの読み出し指示に基づく、全ての処理を完了する。（図１０、ＳＴＥＰ１０−２、１０−３）
【００５３】
この結果、鍵データ入力無しの状態から鍵データ入力有りの状態に移行したとき、
鍵入力部１３がこれを検知し、キャッシュ無効化制御部１６がキャッシュメモリ３上にあったキャッシュデータ（暗号文の状態）をキャッシュメモリ３から破棄し、以後キャッシュデータに対応するファイルを記憶装置１から読みだそうとすると、キャッシュメモリ３上の前記無効となったキャッシュデータ（暗号文の状態）を読み出さずに、新たに記憶装置１からファイルを読み出して復号した状態でキャシュメモリ３上に平文のデータとして新たに書き込むように制御したので、鍵入力無しから有りの状態変化に伴い、キャッシュメモリ３上のキャッシュ内容を暗号化の状態から復号した状態へと書き換えることが可能となる。
【００５４】
なお、再び「鍵データ入力有り」の状態から「鍵データ入力無し」の状態へ戻したときにも処理ステップは全く同様であり、キャッシュメモリ３上のキャッシュ内容が復号した状態（平文の状態）のデータであるか、或いは暗号文の状態のデータであるかの違いだけなので、説明は省略する。
【００５５】
ここで、鍵データ入力有り或いは無しの状態変化に伴い、キャッシュメモリ３上のキャッシュデータを無効化する代わりにこれを書き換えるように処理してもよい。
以下、この書き換えの処理ステップについて説明する。
【００５６】
図１１〜１４は本発明に係わる暗号システムの第２の実施例の処理手順をフローチャートで示したものである。以下、図１１〜１４にそって処理手順を説明する。
なお、暗号システムの第２の実施例の機能ブロック図は図１に示した第１の実施例のものと同一であるので図示を省略する。
まず、コンピュータシステムにおいてＯＳ４を起動後、暗号システム５を起動する。以下、第１の実施例と同様な処理手順（図２〜図６のＳＴＥＰ１−１〜ＳＴＥＰ６−９）を実行するが、この処理手順については説明を省略する。
【００５７】
さて、図２〜図６のＳＴＥＰ１−１〜ＳＴＥＰ６−９と同じ処理手順の実行を終了した状態において、キャッシュ無効化制御部１６の処理依頼に基づき第２のファイル識別子が作成され、これに対応するファイルのオープン処理が完了している。この時点ではキャッシュメモリ３には暗号文の状態でファイルが存在している。
【００５８】
そこで、キャッシュ無効化制御部１６はＩ／Ｏマネージャ８を介してファイルシステムドライバ９に対し、ファイル日付情報の取得を要求する。（図１１、ＳＴＥＰ１１−１）ファイルシステムドライバ９は前記要求に従い記憶装置１からファイル日付情報を読み出し、これをキャッシュ無効化制御部１６へ返送する。そして、キャッシュ無効化は日付情報を受けとりこれを保持する（図１１、ＳＴＥＰ１１−２、１１−３、１１−４）
【００５９】
次に、キャッシュ無効化制御部１６は第２のファイル識別子を用いファイル読み出し処理をＩ／Ｏマネージャ８に依頼する。Ｉ／Ｏマネージャ８は前記依頼に基づきファイル読み出し処理をファイルシステムドライバ９に指示する。（図１１、ＳＴＥＰ１１−５、１１−６）
ここで、ファイルシステムドライバは前記読み出し処理指示を受けると、まず該当するファイルがキャッシュメモリ３上に存在するか否かキャッシュマネージャ１１に問い合わせる。（図１１、ＳＴＥＰ１１−７）
【００６０】
本説明例ではキャッシュメモリ３には目的とするファイルが暗号文の状態で存在している。従って、キャッシュマネージャ１０は前記問い合わせに対して目的とするファイルがキャッシュメモリ３上にあると回答する。（図１２、ＳＴＥＰ１１−８のＹＥＳ）そこで、ファイルシステムドライバ９はキャッシュ有りの回答を受けると、キャッシュマネージャ１１とメモリマネージャ１０とを介してキャッシュメモリ３から目的とするファイル（暗号文の状態）を読み出し、これを暗号処理部１２へ送出する。（図１２、ＳＴＥＰ１１−９）
【００６１】
次に、暗号処理部１２は受けとった暗号文のファイルを復号し、これをＩ／Ｏマネージャ８へ送出する。Ｉ／Ｏマネージャ８は受けとった復号後のファイルをキャッシュ無効化制御部１６へ送出する。
そこで、キャッシュ無効化制御部１６はこれをキャッシュメモリ３に上書きするようＩ／Ｏマネージャ８に依頼する。（図１２、ＳＴＥＰ１１−１３、１１−１４）
【００６２】
Ｉ／Ｏマネージャ８は前記キャッシュメモリ３への上書き処理をファイルシステムドライバ９へ指示する。ファイルシステムドライバ９はキャッシュマネージャ１１を介して、キャッシュメモリ３への上書き処理をメモリマネージャ１０に依頼する。メモリマネージャ１０は前記上書き指示に従いキャッシュメモリ３に復号後のファイルを上書きする。（図１３、ＳＴＥＰ１１−１５〜ＳＴＥＰ１１−１７）
【００６３】
次に、キャッシュ無効化制御部１６は図１１のＳＴＥＰ１１−４にて取得してあったファイルの日付情報をファイルに付与するようＩ／Ｏマネージャ８に依頼する。Ｉ／Ｏマネージャ８は前記依頼を受けると日付情報付与の処理をファイルシステムドライバ９に指示する。しかし、ファイルシステムドライバ９は前記指示と日付情報を記憶したまま次の処理ステップへ処理を引き渡す。（図１３、ＳＴＥＰ１１−１８〜ＳＴＥＰ１１−２０）
【００６４】
そこで、キャッシュ無効化制御部１６は第２のファイル識別子に対するファイルをクローズ処理するようＩ／Ｏマネージャ８に依頼する。Ｉ／Ｏマネージャ８は前記依頼に従いファイルクローズ処理をファイルシステムドライバ９に指示する。
そして、ファイルシステムドライバ９は前記指示に従いファイルクローズ処理を実行すると同時にＳＴＥＰ１１−２０で記憶しておいた指示に従い記憶装置１に対して取得してあった日付情報を付与する。（図１３、ＳＴＥＰ１１−２１、ＳＴＥＰ２２及び図１４、ＳＴＥＰ１１−２３）なお、日付情報を取得せずにそのままファイルクローズ処理を実行すした場合、その処理中に記憶装置１の日付情報が自動的に更新されてしまう。従って、ファイルクローズ処理前に日付情報を取得して設定しておき、日付情報が更新されないように上記のような処理ステップとしている。
【００６５】
ここで、キャッシュメモリ３上のファイルが変更（上書き）されたときに、オペレーションシステム４がこれを検知している。そして、前記ファイルクローズ処理の実行後にキャッシュマネージャ１１が働き、キャッシュメモリ３上のファイル（平文の状態）を記憶装置１のファイルに上書きするよう（メモリマネージャ１０を介して）Ｉ／Ｏマネージャに依頼する。（図１４、ＳＴＥＰ１１−２４）
【００６６】
Ｉ／Ｏマネージャ８は前記上書き処理依頼に従い、暗号システム５を介してファイルシステムドライバ９に対しファイル上書き処理を指示する。（図１４、ＳＴＥＰ１１−２５）
ところが、暗号システムは前記ファイルシステムドライバ９への上書き処理の指示をブロック（横取り）して、上書き処理終了の応答をＩ／Ｏマネージャ８に返送し、キャッシュ上書き処理を完了させるようにしている。（図１４、ＳＴＥＰ１１−２６）
【００６７】
以上示した処理手順によって、「鍵データ無し」から「鍵データ有り」の状態へ変わったときに、暗号システムがこれを検知し、キャッシュメモリ３上のファイルデータを暗号文の状態から平文の状態へ上書きするようにしたので、オペレーションシステムのキャッシュメモリの管理機能になんら影響を与えることなく、キャッシュデータを継続して利用することが可能となる。なお、「鍵データ有り」の状態から
「鍵データ無し」の状態へと変化した場合も、処理手順は同じであるので説明を省略する。
【００６８】
【発明の効果】
本発明により、コンピュータシステムと一体となって動作する暗号システムにおいて、暗号システムへの鍵データ入力の有り無しの切り替えに伴い、暗号化対象のファイルに付帯するキャッシュメモリ上の古いデータが無効化されると共に、暗号化対象のファイルのデータが暗号化若しくは復号した上で新たにキャッシュメモリ上に書き込まれるように制御したので、コンピュータシステムのキャッシュ管理機能との整合性に優れた暗号システムのキャッシュメモリ制御方法を提供するのに著効を奏す。
【図面の簡単な説明】
【図１】本発明に係る暗号システムのブロック図
【図２】本発明に係る暗号システムの第１の実施例の処理手順を示したフローチャート図（１／９）
【図３】本発明に係る暗号システムの第１の実施例の処理手順を示したフローチャート図（２／９）
【図４】本発明に係る暗号システムの第１の実施例の処理手順を示したフローチャート図（３／９）
【図５】本発明に係る暗号システムの第１の実施例の処理手順を示したフローチャート図（４／９）
【図６】本発明に係る暗号システムの第１の実施例の処理手順を示したフローチャート図（５／９）
【図７】本発明に係る暗号システムの第１の実施例の処理手順を示したフローチャート図（６／９）
【図８】本発明に係る暗号システムの第１の実施例の処理手順を示したフローチャート図（７／９）
【図９】本発明に係る暗号システムの第１の実施例の処理手順を示したフローチャート図（８／９）
【図１０】本発明に係る暗号システムの第１の実施例の処理手順を示したフローチャート図（９／９）
【図１１】本発明に係る暗号システムの第２の実施例の処理手順を示したフローチャート図（１／４）
【図１２】本発明に係る暗号システムの第２の実施例の処理手順を示したフローチャート図（２／４）
【図１３】本発明に係る暗号システムの第２の実施例の処理手順を示したフローチャート図（３／４）
【図１４】本発明に係る暗号システムの第２の実施例の処理手順を示したフローチャート図（４／４）
【図１５】暗号化対象テーブルとオープンファイルテーブルを示した図
【図１６】従来の暗号システムのブロック図
【図１７】従来の暗号システムの処理手順を示したフローチャート図（１／５）
【図１８】従来の暗号システムの処理手順を示したフローチャート図（２／５）
【図１９】従来の暗号システムの処理手順を示したフローチャート図（３／５）
【図２０】従来の暗号システムの処理手順を示したフローチャート図（４／５）
【図２１】従来の暗号システムの処理手順を示したフローチャート図（５／５）
【符号の説明】
１…記憶装置（ハードディスク）
２…メインメモリ
３…キャッシュメモリ
４…ＯＳ（オペレーションシステム）
５…暗号システム
６…第１のアプリケーション
７…第２のアプリケーション
８…Ｉ／Ｏマネージャ
９…ファイルシステムドライバ
１０…メモリマネージャ
１１…キャッシュマネージャ
１２…暗号化処理部
１３…鍵入力部
１４…暗号化対象テーブル
１５…オープンファイルテーブル
１６…キャッシュ無効化制御部
１７…オープンファイル監視部
【図１】
2004240699.tif 000003
【図２】
2004240699.tif 000004
【図３】
2004240699.tif 000005
【図４】
2004240699.tif 000006
【図５】
2004240699.tif 000007
【図６】
2004240699.tif 000008
【図７】
2004240699.tif 000009
【図８】
2004240699.tif 000010
【図９】
2004240699.tif 000011
【図１０】
2004240699.tif 000012
【図１１】
2004240699.tif 000013
【図１２】
2004240699.tif 000014
【図１３】
2004240699.tif 000015
【図１４】
2004240699.tif 000016
【図１５】
2004240699.tif 000017
【図１６】
2004240699.tif 000018
【図１７】
2004240699.tif 000019
【図１８】
2004240699.tif 000020
【図１９】
2004240699.tif 000021
【図２０】
2004240699.tif 000022
【図２１】
2004240699.tif 000023