JP4431691B2 - Crypto system with cache invalidation processing function - Google Patents

Crypto system with cache invalidation processing function Download PDF

Info

Publication number
JP4431691B2
JP4431691B2 JP2003028955A JP2003028955A JP4431691B2 JP 4431691 B2 JP4431691 B2 JP 4431691B2 JP 2003028955 A JP2003028955 A JP 2003028955A JP 2003028955 A JP2003028955 A JP 2003028955A JP 4431691 B2 JP4431691 B2 JP 4431691B2
Authority
JP
Japan
Prior art keywords
file
encryption
cache
processing
open
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.)
Expired - Fee Related
Application number
JP2003028955A
Other languages
Japanese (ja)
Other versions
JP2004240699A (en
Inventor
浩 市瀬
知市 藤澤
Original Assignee
ネッツエスアイ東洋株式会社
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 ネッツエスアイ東洋株式会社 filed Critical ネッツエスアイ東洋株式会社
Priority to JP2003028955A priority Critical patent/JP4431691B2/en
Publication of JP2004240699A publication Critical patent/JP2004240699A/en
Application granted granted Critical
Publication of JP4431691B2 publication Critical patent/JP4431691B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、キャッシュ制御機能を備えた暗号システムに関する
【0002】
【従来の技術】
近年、コンピュータシステムにおけるセキュリティを維持する目的で電子ファイルを自動的に暗号化するシステムが提案されている。例えば、情報処理学会研究報告「コンピュータセキュリティ」アブストラクトNo.006−004に開示されているように、ユーザの所有するパソコンに暗号システム(ソフトウェア)をインストールしておくと、暗号システムがコンピュータシステムをバックグラウンドで常時監視し、指定するフォルダ(暗号化フォルダ)へのファイル保存、あるいは指定フォルダからのファイル読み出しを検知しこれを自動的に暗号化或いは復号するというものである。
【0003】
例えば、予め暗号システムに所定のパスワード(或いは鍵データ)を入力しておき(鍵データありの状態)、所定のアプリケーションを開いて暗号化フォルダから所定のファイルを読み出すと、これを暗号システムが検知しファイルを自動的に復号し平文の状態で表示する。また、作成したファイルを指定のフォルダに保存するとこれを自動的に暗号化することが出来る。また、鍵データを与えない状態(鍵データなしの状態)にしておくと暗号化フォルダ内のファイルを所定のアプリケーションで開いても復号せず、ファイルは暗号文のまま表示される。従って、鍵データなしの状態に設定しておけば、ユーザ不在時に第3者がユーザのパソコンにアクセスしても、指定のファイルは暗号化された状態が保持されるのでセキュリティは維持される。
【0004】
ところで、このように指定フォルダにファイルを入出力するときに伴う暗号化処理において、アプリケーションがキャッシュメモリ上に保持しているデータを直接読み出すといった処理が起きることがあるが、このとき、前記暗号処理機能が大きく制限されるといったことが知られている。
図16はコンピュータシステムにおいてオペレーションシステムと従来の暗号システムと所定のアプリケーション等のプログラムが起動しコンピュータシステムのハードウェアと一体になって動作している状態を示したものである。図16において、コンピュータシステムはオペレーションシステムや暗号システムや所定のアプリケーション等のプログラムが格納されている記憶装置1(ハードディスク)と、前記プログラムの起動時に記憶装置1からプログラムがロードされるメインメモリ2と、前記メインメモリ2よりも読み出し速度が早いキャッシュメモリ3と、前記プログラムの起動後に前記メインメモリ2に常駐するOS(オペレーションシステム)4と、プログラム起動後にメインメモリ2に常駐する暗号システム5と、プログラム起動後にメインメモリ2に常駐する第1のアプリケーション6及び第2のアプリケーション7とを備えている。また、前記OS4は前記第1のアプリケーション6及び第2のアプリケーション7からのシステムコールを処理するI/Oマネージャ8と、前記I/Oマネージャ8からの指示に基づき前記記憶装置1に対するファイルの入出力処理を実行するファイルシステムドライバ9と、前記キャッシュメモリ3と記憶装置1との間のデータのやりとりを制御するメモリマネージャ10と、前記メモリマネージャ10を介して前記アプリケーション6,7とキャッシュメモリ3との間のデータのやり取りを制御するキャッシュマネージャ11とを備えている。また、従来の暗号システム5はI/Oマネージャ8とファイルシステムドライバ9との間に介在し記憶装置1に入出力するファイルを暗号化或いは復号する暗号処理部12と、ユーザが入力したパスワードや鍵データを照合し前記暗号処理部12の暗号処理機能のON−OFFを制御する鍵入力部13とを備えている。
【0005】
図16に示した従来の暗号システムは以下のように動作する。
まず、コンピュータシステムにおいてOS4を起動後、暗号システム5を起動する。そこで、暗号システム5はパスワード(或いは鍵データ)の入力を促すメニューを表示するが、このときユーザは前記メニューに対しパスワードを入力しない状態とする。(以下、「鍵データなし」と表現する。)
次に、鍵入力部13はパスワードが入力されないので暗号処理機能OFFの指示を発行しこれを暗号処理部12に伝える。暗号処理部12は前記鍵入力部13からの暗号処理機能OFFの指示に従い、以後入出力したファイルを暗号処理せずに、そのままI/Oマネージャ4若しくはファイルシステムドライバ9にファイルを引き渡すように動作する。
【0006】
図17〜21は従来の暗号システム(鍵入力なし)の起動後の動作をフローチャートで示したものである。以下、図17〜図21のフローチャートを用いながら説明する。まず、暗号システム(鍵データなし)の状態において、第1のアプリケーション6を起動する。そこで、第1のアプリケーション6において所定のファイルを新規に作成するとアプリケーション6は新規にファイルをオープンするようシステムコール(OS4に対する指示)を発行する。(図17、STEP1-1)
【0007】
次に、I/Oマネージャ8は前記第1のアプリケーション6のシステムコールに従い第1のファイル識別子を作成する。(図13、STEP1-2)
ここで、ファイル識別子とは、新規に作成しようとするファイル(オープンファイル)の管理情報であって、オープン操作の特定のインスタンス(実例)を表すものと言われている。
更に、I/Oマネージャ8は作成した第1のファイル識別子を用い、ファイルオープン処理をファイルシステムドライバ9に指示する。(図17、STEP1-3)
【0008】
次に、ファイルオープン処理が完了すると、第1のアプリケーション6はキャッシュマネージャ11に対しオープン処理を実行したファイルをキャッシュメモリ3上にマッピングするようシステムコールを発行する。(図17、STEP2-1)
そこで、キャッシュマネージャ11は前記マッピング処理の依頼をメモリマネージャ10に指示する。(図17、STEP2-2)
そして、メモリマネージャ10は前記マッピング処理の依頼に従い、キャッシュメモリ3上にキャッシュ(保存)されるファイルのファイルマップを作成する。(図17、STEP2-3)
【0009】
次に、第1のアプリケーション6は記憶装置1から所定のファイルを読み出す目的でファイルの読み出し処理をI/Oマネージャ4に依頼する。(図18、STEP3-1)I/Oマネージャ4は前記依頼を受けてファイルシステムドライバ9にファイル読み出し処理を指示する。(図18、STEP3-2)ファイルシステムドライバ9は前記読み出し処理の指示を受けると、まず該当するファイルがキャッシュメモリ3に存在するか否かをキャッシュマネージャ10に問い合わせる。(図18、STEP3-3)
【0010】
そこで、キャッシュメモリ3には該当するファイルが存在しないので、メモリマネージャ10が働きファイル未読部分(この場合はファイルの全て)を記憶装置1から読み出すようにI/Oマネージャ8に依頼する。(図18、STEP3-4、3-5)
そして、I/Oマネージャ8はファイル読み出し処理をファイルシステムドライバ9に指示する。(図18、STEP3-6)
【0011】
ファイルシステムドライバ9は前記指示に従って記憶装置1からファイル未読部分(本説明例ではファイルの全て)を読み出すと、これをI/Oマネージャ8を介してメモリマネージャ10に送出する。そして、メモリマネージャ10は受け取ったファイル(暗号文の状態)をキャッシュメモリ3に書き込む。(図18、STEP3-7、3-8)
【0012】
一方、キャッシュメモリ3への書き込みが完了すると、第1のアプリケーション6は、I/Oマネージャ8とメモリマネージャ10を介して、キャッシュメモリ3に書き込まれたファイル(暗号文の状態)を読み出し、これを第1のファイル識別子に対応するファイル(暗号文の状態)として保持する。(図18、STEP3-9)
以上、第1のアプリケーションを起動して記憶装置1からファイルを読み出し、キャッシュメモリ3にファイルが暗号文の状態で書き込まれるまでの処理を説明した。
【0013】
ここで、第1のアプリケーション6を終了させたとする。このとき、第1のアプリケーション7はアプリケーションを閉じる前に第1のファイル識別子に対するファイルクローズ処理をI/Oマネージャ8に依頼する。(図19、STEP4-1)
ところが、I/Oマネージャ8は第1のアプリケーション6からの前記ファイルクローズ処理依頼を保留する。これは、別のアプリケーションが起動したときにキャッシュメモリ3上のデータを利用できるようにオペレーションシステムがキャッシュデータを管理しているからである。(図19、STEP4-2)
【0014】
次に、第1のアプリケーション6終了後に第2のアプリケーション7を起動する。
そして、第2のアプリケーション7上において記憶装置1からファイルを読み出す目的で、まず新規にファイルをオープンするようシステムコールを発行する。(図19、STEP4-3)
I/Oマネージャ8は前記システムコールに従い第2のファイル識別子を発行する。なお、このとき第1のファイル識別子は既に作成されているので、I/Oマネージャ8はこれとは重複しないよう第2のファイル識別子を作成するようになっている。(図19、STEP4-4)
【0015】
次に、I/Oマネージャ8は作成した第2のファイル識別子を用いてファイルオープン処理をファイルシステムドライバ9に指示する。(図19、STEP4-5)
ファイルシステムドライバ9は前記指示に従いファイルオープン処理を実行する。
(図19、STEP4-6)
【0016】
そこで、ファイルオープン処理が完了すると、第2のアプリケーションは記憶装置1から目的とするファイル(第1のアプリケーション6にて読み出したファイルに相当)を読み出すようシステムコールを発行する。(図20、STEP5-1)
I/Oマネージャ8は作成済みの第2のファイル識別子を用いてファイル読み出し処理をファイルシステムドライバ9に指示する。(図20、STEP5-2)
ここで、ファイルシステムドライバ9は目的のファイルがキャッシュメモリ3上に存在するか否かキャッシュマネージャ11に問い合わせる。(図20、STEP5-3)
【0017】
キャッシュマネージャ11は前記問い合わせに対し目的とするファイルの有無を確認するが、ここではキャッシュメモリ3上に目的のファイルが暗号文の状態で存在するので、目的のファイルが有る旨の応答をファイルシステムドライバ9に返送する。そこで、ファイルシステムドライバ9は前記応答を受け取るとキャッシュメモリ3から目的とするファイルを読み出すようキャッシュマネージャ11に依頼する。(図20、STEP5-4)
【0018】
キャッシュマネージャ11は前記依頼に従いキャッシュメモリ3からのファイル読み出し処理をメモリマネージャ10に指示する。(図21、STEP5-5)
メモリマネージャ10は前記指示に従いキャッシュメモリ3から目的のファイル(暗号文の状態)を読み出し、これをキャッシュマネージャ11を介してファイルシステムドライバ9へ送出する。(図21、STEP5-6)
【0019】
ファイルシステムドライバ9は前記受け取ったファイルをI/Oマネージャ8を介して第2のアプリケーション7へ送出する。(図21、STEP5-7)
第2のアプリケーション7はファイルシステムドライバ9から送出されたファイル(暗号文の状態)を受け取ると、これを第2のファイル識別子に対応するファイルとして保持しファイルの読み出しを完了する。(図17、STEP5-9)
【0020】
以上、アプリケーションが記憶装置1からファイルを読み出すときに実行するオープン処理と、読み出し処理と、キャッシュメモリ3に関する処理についてオペレーションシステム4の働きを中心に説明した。
この説明では暗号システムが「鍵データ無し」の状態を維持しており、アプリケーションが記憶装置1またはキャッシュメモリ3からファイルを読み出しても、ファイルが暗号処理されることがないので特に問題となることはない。
【0021】
【発明が解決しようとする課題】
ここで、暗号システム5において、パスワードを入力し「鍵データ有り」にした状態を考える。例えば、あるアプリケーションを起動して記憶装置1から所定の文書ファイル等を読み出そうとしたとき、キャッシュメモリ3上には目的とする文書ファイルに関連するキャッシュデータが既に存在している場合がある。この例は図18、STEP3-4のYESの処理ステップに該当している。このとき、「鍵データ無し」→「鍵データ有り」に切り替えてもキャッシュメモリ3上には暗号文のデータがそのままキャッシュデータとして残っているので、アプリケーションはキャッシュメモリ3に保持されているファイル(暗号文の状態)を読み込んでしまう。
【0022】
よって、「鍵データ入力有り」の状態にしたのにもかかわらず、アプリケーションはキャッシュメモリ3から読み出したファイルを正常な状態(平文の状態)で表示することができない。また逆に、キャッシュメモリ3上に平文のキャッシュデータが保持されている場合、「鍵データ有り」→「鍵データ無し」の状態に切り替えても、アプリケーションはキャッシュメモリ3から読み出したファイルをそのまま平文として表示してしまうといったことも起きてしまう。(セキュリティ上問題である。)
【0023】
この現象は前述したようにアプリケーションプログラムからファイルクローズ処理の要求があっても、I/Oマネージャ8が前記要求を保留し、他のアプリケーションがキャッシュメモリ3上に保持されているキャッシュデータを引き続き利用できるようにオペレーションシステムが制御していることに起因している。従って、「鍵データ無し」→「鍵データ有り」或いは「鍵データ有り」→「鍵データ無し」に切り替えても、これに対応してキャッシュメモリ3上に保持されているキャッシュデータが書き変わることがないので、従来の暗号システムはオペレーションシステムのキャッシュ処理機能との整合性に問題を抱え、その暗号処理機能が制限されてしまうという問題点を抱えていた。また、キャッシュメモリ上に残っているデータをリセットするには、コンピュータを再起動してから再度暗号システムを起動し直せば良いが大変煩雑であり、再起動するまでコンピュータを利用できない等ユーザに不便さを強いることになる。
本発明は、上記目的を解決するためになされたものであって、キャッシュ処理機能を備えオペレーションシステムとの整合性に優れた暗号システムを提供することを目的とする。
【0024】
【課題を解決するための手段】
上記目的を解決するために、本発明に係わる請求項1記載の発明は、オペレーションシステムと記憶装置(ハードディスク)とを有するコンピュータシステムの所定のフォルダを暗号化領域に設定する機能と、該暗号化領域に保存するファイルを自動的に暗号化或いは前記暗号化領域から読み出したファイルを自動的に復号する暗号処理機能と、前記暗号処理機能をON−OFFする機能を備えた暗号システムにおいて、前記暗号処理機能のON−OFFの切り替えに伴い前記コンピュータシステムが管理するキャッシュメモリ上に保持された暗号化対象のファイルに付帯するキャッシュデータを無効化或いは書き換えるためのキャッシュメモリ無効処理ステップを備えた暗号システムであって、前記暗号システムは、前記オペレーションシステムがファイルオープン処理時に作成するファイル識別子が登録されているオープンファイルテーブルと、前記オペレーションシステムを監視し前記オペレーションシステムが作成したファイル識別子を前記オープンファイルテーブルに登録する処理ステップを有するオープンファイル監視部と、前記暗号化領域として設定されたフォルダのパス名が登録された暗号化対象テーブルと、前記オープンファイルテーブルに登録されたファイル識別子からオープンファイルのパス名を取得すると共に取得したオープンファイルのパス名と前記暗号化対象テーブルに登録された暗号化フォルダのパス名とを比較照合する処理ステップを有するキャッシュ無効化制御部と、前記オペレーションシステムが暗号化領域から読み出した暗号文のファイルを復号すると共に暗号化領域に保存すべき平文のファイルを暗号化してオペレーションシステムに引き渡す暗号処理ステップを有する暗号処理部と、ユーザが入力するパスワード若しくは鍵データを検知して前記入力されたパスワード若しくは鍵データを照合すると共に前記照合結果に基づき前記暗号処理部の暗号処理機能のON−OFFを制御する処理ステップを有する鍵入力部とを備え、前記暗号処理機能のON−OFFの切り替えに伴い、前記キャッシュ無効化制御部が前記取得したオープンファイルのパス名と前記暗号化フォルダのパス名とを比較照合する処理ステップを実行し、該比較照合の結果前記オープンファイルのパス名の先頭部分が前記暗号フォルダのパス名に一致したとき、キャッシュメモリ上に保持されている前記オープンファイルに付帯したキャッシュデータを無効化する処理ステップを備えたものである。
【0025】
本発明に係わる請求項2記載の発明は、オペレーションシステムと記憶装置(ハードディスク)とを有するコンピュータシステムの所定のフォルダを暗号化領域に設定する機能と、該暗号化領域に保存するファイルを自動的に暗号化或いは前記暗号化領域から読み出したファイルを自動的に復号する暗号処理機能と、前記暗号処理機能をON−OFFする機能を備えた暗号システムにおいて、前記暗号処理機能のON−OFFの切り替えに伴い前記コンピュータシステムが管理するキャッシュメモリ上に保持された暗号化対象のファイルに付帯するキャッシュデータを無効化或いは書き換えるためのキャッシュメモリ無効処理ステップを備えた暗号システムであって、前記暗号システムは、前記オペレーションシステムがファイルオープン処理時に作成するファイル識別子が登録されているオープンファイルテーブルと、前記オペレーションシステムを監視し前記オペレーションシステムが作成したファイル識別子を前記オープンファイルテーブルに登録する処理ステップを有するオープンファイル監視部と、前記暗号化領域として設定されたフォルダのパス名が登録された暗号化対象テーブルと、前記オープンファイルテーブルに登録されたファイル識別子からオープンファイルのパス名を取得すると共に取得したオープンファイルのパス名と前記暗号化対象テーブルに登録された暗号化フォルダのパス名とを比較照合する処理ステップを有するキャッシュ無効化制御部と、前記オペレーションシステムが暗号化領域から読み出した暗号文のファイルを復号すると共に暗号化領域に保存すべき平文のファイルを暗号化してオペレーションシステムに引き渡す暗号処理ステップを有する暗号処理部と、ユーザが入力するパスワード若しくは鍵データを検知して前記入力されたパスワード若しくは鍵データを照合すると共に前記照合結果に基づき前記暗号処理部の暗号処理機能のON−OFFを制御する処理ステップを有する鍵入力部とを備え、前記暗号処理機能のON−OFFの切り替えに伴い、前記キャッシュ無効化制御部が前記取得したオープンファイルのパス名と前記暗号化フォルダのパス名とを比較照合する処理ステップを実行し、該比較照合の結果前記オープンファイルのパス名の先頭部分が前記暗号フォルダのパス名に一致したとき、前記オープンファイルに対応するデータをキャッシュメモリ若しくは記憶装置から読み出す処理ステップと、該キャッシュメモリ若しくは記憶装置から読み出したファイルのデータを暗号処理部にて暗号処理する処理ステップと、前記暗号処理したファイルのデータをキャッシュメモリ上に保持する前記オープンファイルに付帯したキャッシュデータに対して上書きする処理ステップを備えたものである。
【0026】
本発明に係わる請求項3記載の発明は、請求項2において、前記上書き処理ステップの実行前に、前記オープンしたファイルの日付情報を取得する処理ステップを備え、該上書き処理ステップ実行後に前記取得した日付情報を記憶装置に書き込む処理ステップを備えたものである。
【0027】
【発明の実施の形態】
以下、図示した実施例に基づいて本発明を詳細に説明する。
図1は本発明に係わるキャッシュ処理機能を備えた暗号システムのブロック図を示したものであって、暗号システムがオペレーションシステムと所定のアプリケーションとコンピュータシステムのハードウェアと一体になって動作している状態を示している。
【0028】
図1において、I/Oマネージャ8とファイルシステムドライバ9とキャッシュマネージャ11とメモリマネージャ10とを有するOS(オペレーションシステム)4は、コンピュータシステムに常駐して第1のアプリケーション6や第2のアプリケーション7等からのシステムコールを処理し、記憶装置1やキャッシュメモリ3とのデータのやり取りを制御する。
【0029】
また、暗号システム5はユーザが入力したパスワード或いは鍵データを検知してこれを照合すると共に後述する暗号処理部12の暗号処理機能のON−OFFを制御する鍵入力部13と、暗号化対象ファイルが保存されているフォルダのパス名一覧を有する暗号処理対象判別テーブル14と、アプリケーションがオープンしたファイルのファイル識別子が登録されているオープンファイルテーブル15と、前記鍵入力部13からの指示によって起動しキャッシュメモリ3上のデータ書き換え若しくはデータ無効化を制御するキャッシュ無効化制御部16と、I/Oマネージャ8からのファイルオープン指示を検知し新規にオープンしたファイルのファイル識別子を前記オープンファイルテーブル15に登録するオープンファイル監視部17と、前記オープンファイル監視部17とファイルシステムドライバ9との間に介在し入力されたファイルを暗号化或いは復号する暗号処理部12とを備えている。
【0030】
図1に示した暗号化システムは以下のように動作する。
まず、コンピュータシステムにおいてOS(オペレーションシステム)4を起動後、暗号システム5を起動する。そこで、暗号システムはパスワード(或いは鍵データ)の入力を促すメニューを表示するが、ここではまず、ユーザが前記メニューに対しパスワードを入力しない状態を説明する。(以下、この状態を「鍵データなし」と表現する。)
次に、鍵入力部13はパスワードが入力されないので暗号処理機能OFFの指示を暗号処理部12に与える。暗号処理部12は前記鍵入力部13からの指示に従い、以後入力されたファイルを暗号処理せずに、そのままI/Oマネージャ4(オープンファイル監視部17を経由)若しくはファイルシステムドライバ9にファイルを引き渡すように動作する。
【0031】
図2〜10は図1の暗号システムの処理手順の第1の実施例をフローチャートで示したものである。以下図2〜10のフローチャートを用いながら説明する。まず、暗号システム(「鍵データなし」の状態)において、第1のアプリケーション6を起動する。
そこで、第1のアプリケーション6において文書等のファイルを新規に作成するときに、アプリケーション6はまず新規にファイルをオープンするようシステムコール(OS4に対する指示)を発行する。(図2、STEP1-1)
【0032】
次に、I/Oマネージャ8は前記第1のアプリケーション6のシステムコールに従い第1のファイル識別子を作成する。(図2、STEP1-2)
なお、ファイル識別子については従来技術の説明と同様なので説明を省略する。
【0033】
更に、I/Oマネージャ8は作成した第1のファイル識別子を用いて、オープンファイル監視部17を介してファイルオープン処理をファイルシステムドライバ9に指示する。(図2、STEP1-3)
そして、ファイルシステムドライバ9は前記指示に従いファイルオープン処理を実行する。(図2、STEP1-4)
また、オープンファイル監視部17は前記I/Oマネージャ8の作成した第1のファイル識別子をオープンファイルテーブル15に登録する。このとき、オープンファイルテーブルには図15に示すように、オープンしたファイルのファイル識別子(第1のファイル識別子等)が登録される。(図2、STEP1-5)
【0034】
次に、ファイルオープン処理が完了すると、第1のアプリケーション6はキャッシュマネージャ11に対しオープン処理を実行したファイルをキャッシュメモリ3上にマッピングするようシステムコールを発行する。(図2、STEP2-1)
そこで、キャッシュマネージャ11は前記マッピング処理の依頼をメモリマネージャ10に指示する。(図3、STEP2-2)
そして、メモリマネージャ10は前記マッピング処理の依頼に従いキャッシュメモリ3上にキャッシュ(保存)されるファイルのファイルマップを作成する。(図3、STEP2-3)
【0035】
次に、第1のアプリケーション6は記憶装置1から所定のファイルを読み出す目的でファイルの読み出し処理をI/Oマネージャ4に依頼する。(図3、STEP3-1)
I/Oマネージャ4は前記依頼を受けてファイルシステムドライバ9にファイル読み出し処理を指示する。(図3、STEP3-2)ファイルシステムドライバ9は前記読み出し処理の指示を受けると、まず該当するファイルがキャッシュメモリ3に存在するか否かをキャッシュマネージャ10に問い合わせる。(図3、STEP3-3)
【0036】
そこで、キャッシュマネージャ10は該当するファイルが存在しないと応答を返すと共に、メモリマネージャ10が働いてファイル未読部分(この場合はファイルの全て)を記憶装置1から読み出すようにI/Oマネージャ8に依頼する。(図3、STEP3-4、3-5)
そして、I/Oマネージャ8はファイル読み出し処理をファイルシステムドライバ9に指示する。(図4、STEP3-6)
【0037】
ファイルシステムドライバ9は前記指示に従って記憶装置1からファイル未読部分(本説明例ではファイルの全て)を読み出すと、これをI/Oマネージャ8を介してメモリマネージャ10に送出する。そして、メモリマネージャ10は受け取ったファイル(暗号文の状態)をキャッシュメモリ3に書き込む。(図4、STEP3-7、3-8)
【0038】
一方、キャッシュメモリ3への書き込みが完了すると、第1のアプリケーション6は、I/Oマネージャ8とメモリマネージャ10を介して、キャッシュメモリ3に書き込まれたファイル(暗号文の状態)を読み出し、これを第1のファイル識別子に対応するファイル(暗号文の状態)として保持する。(図4、STEP3-9)
【0039】
ここで、第1のアプリケーション6を終了させたとする。このとき、第1のアプリケーション7はアプリケーションを閉じる前に第1のファイル識別子に対するファイルクローズ処理をI/Oマネージャ8に依頼する。(図4、STEP4-1)
ところが、I/Oマネージャ8は第1のアプリケーション6からの前記ファイルクローズ処理依頼を保留する。これは、別のアプリケーションが起動したときにキャッシュメモリ3上のデータを利用できるようにオペレーションシステムがキャッシュデータを管理しているからである。(図4、STEP4-2)
【0040】
ここで、鍵入力部13/暗号システムに鍵データ(或いはパスワード)を入力する。鍵入力部13は鍵データが入力されたことを検知し(以後「鍵データ有り」と言う)、キャッシュ無効化制御部16へキャッシュ無効化指示を出す。(図5、STEP6-1)
キャッシュ無効化制御部16は前記キャッシュ無効化指示を受けると暗号処理対象判別テーブル14を参照し、暗号化対象(フォルダ)のパス名を取得する。(図5、STEP6-2)
ここで、前記暗号処理対象判別テーブル14は図15に示すように、記憶装置1内の暗号化対象フォルダのパス名の一覧を示したものであって、暗号処理対象フォルダの一覧の何れかに保存されたファイルのみ、暗号処理を施すよう暗号システムに管理されている。
【0041】
次に、キャッシュ無効化制御部16は暗号化対象フォルダのパス名を参照すると、オープンファイルテーブル15を参照し、第1のファイル識別子を読み出し、これに対応するファイルのパス名(¥◯◯●●¥△△▲▲¥□□■■¥◇◇◆◆等)を取得する。(図5、STEP6-3)
そして、キャッシュ無効化制御部16は取得した暗号化対象(フォルダ)のパス名と、オープンファイル一覧のファイル識別子から所得したパス名とを順次比較照合し、オープンファイル一覧のファイルが暗号処理対象のものであるか否か判定する。(図5、STEP6-4)
もし、オープンファイル一覧のファイルが暗号処理対象外であればキャッシュ無効化処理を終了し(図5、STEP6-5のNo)、暗号処理対象であれば次のステップ(図5、STEP6-5のYES)へと進む。
【0042】
ここで、図6、STEP6-5の判定について説明する。例えば、第1のファイル識別子から取得したオープンファイルのパス名を¥◯◯●●¥△△▲▲¥□□■■¥◇◇◆◆とし、暗号化対象(フォルダ)のパス名を¥◯◯●●¥△△▲▲とする。
このとき、両者のパス名を先頭から比較すると、暗号化対象(フォルダ)のパス名(¥◯◯●●¥△△▲▲)はオープンファイルのパス名(¥◯◯●●¥△△▲▲¥□□■■¥◇◇◆◆)の先頭部分に完全に一致している。つまり、第1のファイル識別子に対応するオープンファイルは暗号化対象のフォルダ(¥◯◯●●¥△△▲▲)のサブフォルダ内に存在していることを意味している。
従って、暗号化対象(フォルダ)のパス名と取得したオープンファイルのパス名とを先頭から比較して、暗号化対象(フォルダ)のパス名が所得したオープンファイルのパス名に先頭から完全に一致したとき、対象とするオープンファイルは暗号化対象として判定することができる。もし、一致しなければ対象とするオープンファイルは暗号化対象のフォルダ以外のところに存在する。
【0043】
次に、キャッシュ無効化制御部16は、オープンファイルが暗号化対象と判定されると、取得したオープンファイルのパス名を用いて新たにファイルのオープン処理をするようシステムコールを発行する。(図5、STEP6-6)ところが、I/Oマネージャ8は第1のファイル識別子を既に作成済みなので、自動的に第2のファイル識別子を作成する。(図6、STEP6-7)
【0044】
次に、I/Oマネージャ8は作成した第2のファイル識別子を用いて(オープンファイル監視部17及び暗号処理部12を介し)ファイルシステムドライバ9にファイルオープン処理を指示する。(図6、STEP6-8)
ファイルシステムドライバ9は前記指示に従い、ファイルオープン処理を実行する。(図6、STEP6-9)
【0045】
次に、キャッシュ無効化制御部16は第2のファイル識別子に付帯するキャッシュ(以下、キャッシュ1と呼ぶ)の無効化指示を(I/Oマネージャ8とメモリマネージャ10とを介して)キャッシュマネージャ11に与える。(図6、STEP7-1)
キャッシュマネージャ11は前記キャッシュ1の無効化指示を受けると、メモリマネ−ジャ10に対してキャッシュ1の無効化を指示する。(図6、STEP7-2)
メモリマネージャ10は前記キャッシュ1の無効化指示に従い、第2のファイル識別子に対応するファイルとキャッシュ1との対応関係を破棄し、キャッシュ1のデータをキャッシュメモリ3から破棄する。(図6、STEP7-3)
【0046】
次にキャッシュ1の無効化が終了すると、キャッシュ無効化制御部16は第2のファイル識別子を使用してファイルクローズ処理をI/Oマネージャ8に依頼する。(図6、STEP7-4)
I/Oマネージャ8は前記ファイルクローズ処理依頼を(オープンファイル監視部17と暗号処理部12とを介し)ファイルシステムドライバ9に指示する。(図6、STEP7-5)
ファイルシステムドライバ9は前記指示に従い、第2のファイル識別子に対する
ファイルクローズ処理を実行し、キャッシュ無効化処理は終了する(図7、STEP7-6)
【0047】
次に、第2のアプリケーション7を起動し、第1のアプリケーションが第1のファイル識別子にてオープン処理依頼したファイルを記憶装置1から読みだすときを考える。
まず、第2のアプリケーション7は記憶装置1からファイルを読み出す前にファイルをオープンするようにシステムコールを発行する。(図7、STEP8-1)
前記システムコールを受けてI/Oマネージャ8は第3のファイル識別子を作成する。
【0048】
次に、I/Oマネージャ8は作成した第3のファイル識別子を用いて(オープンファイル監視部17と暗号処理部12を介して)ファイルオープン処理をファイルシステムドライバ9に指示する。ファイルシステムドライバ9は前記指示に従いファイルオープン処理を実行する。(図7、STEP8-4)
【0049】
そこで、第2のアプリケーション7は作成された第3のファイル識別子を用いて記憶装置1からファイルを読み出すようシステムコールを発行する。(図8、STEP9-1)I/Oマネージャ8は前記システムコールを受けて、第3のファイル識別子を用いて(オープンファイル監視部17と暗号処理部12を介し)ファイル読み出し処理をファイルシステムドライバ9に指示する。(図8、STEP9-2)
ファイルシステムドライバ9は前記指示を受け取ると、第3のファイル識別子に付帯するキャッシュの有無をキャッシュマネージャ11に問い合わせる。(図8、STEP9-3)
【0050】
このとき、キャッシュマネージャ11はキャッシュ無しと回答する。
そこで、ファイルシステムドライバ9は第3のファイル識別子に付帯するキャッシュの処理をキャッシュマネージャ11に依頼する。(図8、STEP9-4)
キャッシュマネージャ11は前記依頼をメモリマネージャ10に指示する。(図8、STEP9-5)メモリマネージャ10は前記指示に従い、第3のファイル識別子に付帯するキャッシュとしてキャッシュ2を準備し(図8、STEP9-6)ファイルシステムドライバ9は第3のファイル識別子に付帯するキャッシュ2の読み出しをキャッシュマネージャ11を介してメモリマネージャ10に指示する。(図8、STEP9-7及び図9、STEP9-8)
【0051】
そこで、メモリマネージャ10はキャッシュメモリ3にはファイルが読み込まれていないので、ファイル読み出し処理をI/Oマネージャ8に依頼する。(図9、STEP9-9)
I/Oマネージャ8は前記ファイル読み出し処理依頼を(オープンファイル監視部17と暗号処理部12とを介し)ファイルシステムドライバ9に指示する。(図9、STEP9-10)ファイルシステムドライバ9は前記指示に従い記憶装置1から第3のファイル識別子に対応するファイルを読み出し、暗号化処理部12に渡す。(図9、STEP9-11)暗号処理部12は前記受けとったファイルを復号しこれをI/Oマネージャ8に渡す。(図9、STEP9-12)
I/Oマネージャ8は受け取った復号後のファイルをメモリマネージャ10に渡す。(図9、STEP9-13)メモリマネージャ10は前記受けとった復号後のファイルをキャッシュメモリ3にキャッシュ2として書き込む。(図9、STEP9-14)
【0052】
次に、ファイルシステムドライバ9はキャッシュマネージャ11とメモリマネージャ10とを介し、キャッシュメモリ3から復号後のファイルを読み出しI/Oマネージャに渡す。(図10、STEP10-1)
そこで、I/Oマネージャ8は受けとった復号後のファイル(キャッシュメモリ3上のキャッシュ2から読み出したデータ)を第2のアプリケーションに渡す。そして、第2のアプリケーション7はこれを受け取り復号した状態(平文の状態)でファイルを表示することができる。そして、アプリケーション2からの読み出し指示に基づく、全ての処理を完了する。(図10、STEP10-2、10-3)
【0053】
この結果、鍵データ入力無しの状態から鍵データ入力有りの状態に移行したとき、
鍵入力部13がこれを検知し、キャッシュ無効化制御部16がキャッシュメモリ3上にあったキャッシュデータ(暗号文の状態)をキャッシュメモリ3から破棄し、以後キャッシュデータに対応するファイルを記憶装置1から読みだそうとすると、キャッシュメモリ3上の前記無効となったキャッシュデータ(暗号文の状態)を読み出さずに、新たに記憶装置1からファイルを読み出して復号した状態でキャシュメモリ3上に平文のデータとして新たに書き込むように制御したので、鍵入力無しから有りの状態変化に伴い、キャッシュメモリ3上のキャッシュ内容を暗号化の状態から復号した状態へと書き換えることが可能となる。
【0054】
なお、再び「鍵データ入力有り」の状態から「鍵データ入力無し」の状態へ戻したときにも処理ステップは全く同様であり、キャッシュメモリ3上のキャッシュ内容が復号した状態(平文の状態)のデータであるか、或いは暗号文の状態のデータであるかの違いだけなので、説明は省略する。
【0055】
ここで、鍵データ入力有り或いは無しの状態変化に伴い、キャッシュメモリ3上のキャッシュデータを無効化する代わりにこれを書き換えるように処理してもよい。
以下、この書き換えの処理ステップについて説明する。
【0056】
図11〜14は本発明に係わる暗号システムの第2の実施例の処理手順をフローチャートで示したものである。以下、図11〜14にそって処理手順を説明する。
なお、暗号システムの第2の実施例の機能ブロック図は図1に示した第1の実施例のものと同一であるので図示を省略する。
まず、コンピュータシステムにおいてOS4を起動後、暗号システム5を起動する。以下、第1の実施例と同様な処理手順(図2〜図6のSTEP1-1〜STEP6-9)を実行するが、この処理手順については説明を省略する。
【0057】
さて、図2〜図6のSTEP1-1〜STEP6-9と同じ処理手順の実行を終了した状態において、キャッシュ無効化制御部16の処理依頼に基づき第2のファイル識別子が作成され、これに対応するファイルのオープン処理が完了している。この時点ではキャッシュメモリ3には暗号文の状態でファイルが存在している。
【0058】
そこで、キャッシュ無効化制御部16はI/Oマネージャ8を介してファイルシステムドライバ9に対し、ファイル日付情報の取得を要求する。(図11、STEP11-1)ファイルシステムドライバ9は前記要求に従い記憶装置1からファイル日付情報を読み出し、これをキャッシュ無効化制御部16へ返送する。そして、キャッシュ無効化は日付情報を受けとりこれを保持する(図11、STEP11-2、11-3、11-4)
【0059】
次に、キャッシュ無効化制御部16は第2のファイル識別子を用いファイル読み出し処理をI/Oマネージャ8に依頼する。I/Oマネージャ8は前記依頼に基づきファイル読み出し処理をファイルシステムドライバ9に指示する。(図11、STEP11-5、11-6)
ここで、ファイルシステムドライバは前記読み出し処理指示を受けると、まず該当するファイルがキャッシュメモリ3上に存在するか否かキャッシュマネージャ11に問い合わせる。(図11、STEP11-7)
【0060】
本説明例ではキャッシュメモリ3には目的とするファイルが暗号文の状態で存在している。従って、キャッシュマネージャ10は前記問い合わせに対して目的とするファイルがキャッシュメモリ3上にあると回答する。(図12、STEP11-8のYES)そこで、ファイルシステムドライバ9はキャッシュ有りの回答を受けると、キャッシュマネージャ11とメモリマネージャ10とを介してキャッシュメモリ3から目的とするファイル(暗号文の状態)を読み出し、これを暗号処理部12へ送出する。(図12、STEP11-9)
【0061】
次に、暗号処理部12は受けとった暗号文のファイルを復号し、これをI/Oマネージャ8へ送出する。I/Oマネージャ8は受けとった復号後のファイルをキャッシュ無効化制御部16へ送出する。
そこで、キャッシュ無効化制御部16はこれをキャッシュメモリ3に上書きするようI/Oマネージャ8に依頼する。(図12、STEP11-13、11-14)
【0062】
I/Oマネージャ8は前記キャッシュメモリ3への上書き処理をファイルシステムドライバ9へ指示する。ファイルシステムドライバ9はキャッシュマネージャ11を介して、キャッシュメモリ3への上書き処理をメモリマネージャ10に依頼する。メモリマネージャ10は前記上書き指示に従いキャッシュメモリ3に復号後のファイルを上書きする。(図13、STEP11-15〜STEP11-17)
【0063】
次に、キャッシュ無効化制御部16は図11のSTEP11-4にて取得してあったファイルの日付情報をファイルに付与するようI/Oマネージャ8に依頼する。I/Oマネージャ8は前記依頼を受けると日付情報付与の処理をファイルシステムドライバ9に指示する。しかし、ファイルシステムドライバ9は前記指示と日付情報を記憶したまま次の処理ステップへ処理を引き渡す。(図13、STEP11-18〜STEP11-20)
【0064】
そこで、キャッシュ無効化制御部16は第2のファイル識別子に対するファイルをクローズ処理するようI/Oマネージャ8に依頼する。I/Oマネージャ8は前記依頼に従いファイルクローズ処理をファイルシステムドライバ9に指示する。
そして、ファイルシステムドライバ9は前記指示に従いファイルクローズ処理を実行すると同時にSTEP11-20で記憶しておいた指示に従い記憶装置1に対して取得してあった日付情報を付与する。(図13、STEP11-21、STEP22及び図14、STEP11-23)なお、日付情報を取得せずにそのままファイルクローズ処理を実行すした場合、その処理中に記憶装置1の日付情報が自動的に更新されてしまう。従って、ファイルクローズ処理前に日付情報を取得して設定しておき、日付情報が更新されないように上記のような処理ステップとしている。
【0065】
ここで、キャッシュメモリ3上のファイルが変更(上書き)されたときに、オペレーションシステム4がこれを検知している。そして、前記ファイルクローズ処理の実行後にキャッシュマネージャ11が働き、キャッシュメモリ3上のファイル(平文の状態)を記憶装置1のファイルに上書きするよう(メモリマネージャ10を介して)I/Oマネージャに依頼する。(図14、STEP11-24)
【0066】
I/Oマネージャ8は前記上書き処理依頼に従い、暗号システム5を介してファイルシステムドライバ9に対しファイル上書き処理を指示する。(図14、STEP11-25)
ところが、暗号システムは前記ファイルシステムドライバ9への上書き処理の指示をブロック(横取り)して、上書き処理終了の応答をI/Oマネージャ8に返送し、キャッシュ上書き処理を完了させるようにしている。(図14、STEP11-26)
【0067】
以上示した処理手順によって、「鍵データ無し」から「鍵データ有り」の状態へ変わったときに、暗号システムがこれを検知し、キャッシュメモリ3上のファイルデータを暗号文の状態から平文の状態へ上書きするようにしたので、オペレーションシステムのキャッシュメモリの管理機能になんら影響を与えることなく、キャッシュデータを継続して利用することが可能となる。なお、「鍵データ有り」の状態から
「鍵データ無し」の状態へと変化した場合も、処理手順は同じであるので説明を省略する。
【0068】
【発明の効果】
本発明により、コンピュータシステムと一体となって動作する暗号システムにおいて、暗号システムへの鍵データ入力の有り無しの切り替えに伴い、暗号化対象のファイルに付帯するキャッシュメモリ上の古いデータが無効化されると共に、暗号化対象のファイルのデータが暗号化若しくは復号した上で新たにキャッシュメモリ上に書き込まれるように制御したので、コンピュータシステムのキャッシュ管理機能との整合性に優れた暗号システムのキャッシュメモリ制御方法を提供するのに著効を奏す。
【図面の簡単な説明】
【図1】本発明に係る暗号システムのブロック図
【図2】本発明に係る暗号システムの第1の実施例の処理手順を示したフローチャート図(1/9)
【図3】本発明に係る暗号システムの第1の実施例の処理手順を示したフローチャート図(2/9)
【図4】本発明に係る暗号システムの第1の実施例の処理手順を示したフローチャート図(3/9)
【図5】本発明に係る暗号システムの第1の実施例の処理手順を示したフローチャート図(4/9)
【図6】本発明に係る暗号システムの第1の実施例の処理手順を示したフローチャート図(5/9)
【図7】本発明に係る暗号システムの第1の実施例の処理手順を示したフローチャート図(6/9)
【図8】本発明に係る暗号システムの第1の実施例の処理手順を示したフローチャート図(7/9)
【図9】本発明に係る暗号システムの第1の実施例の処理手順を示したフローチャート図(8/9)
【図10】本発明に係る暗号システムの第1の実施例の処理手順を示したフローチャート図(9/9)
【図11】本発明に係る暗号システムの第2の実施例の処理手順を示したフローチャート図(1/4)
【図12】本発明に係る暗号システムの第2の実施例の処理手順を示したフローチャート図(2/4)
【図13】本発明に係る暗号システムの第2の実施例の処理手順を示したフローチャート図(3/4)
【図14】本発明に係る暗号システムの第2の実施例の処理手順を示したフローチャート図(4/4)
【図15】暗号化対象テーブルとオープンファイルテーブルを示した図
【図16】従来の暗号システムのブロック図
【図17】従来の暗号システムの処理手順を示したフローチャート図(1/5)
【図18】従来の暗号システムの処理手順を示したフローチャート図(2/5)
【図19】従来の暗号システムの処理手順を示したフローチャート図(3/5)
【図20】従来の暗号システムの処理手順を示したフローチャート図(4/5)
【図21】従来の暗号システムの処理手順を示したフローチャート図(5/5)
【符号の説明】
1…記憶装置(ハードディスク)
2…メインメモリ
3…キャッシュメモリ
4…OS(オペレーションシステム)
5…暗号システム
6…第1のアプリケーション
7…第2のアプリケーション
8…I/Oマネージャ
9…ファイルシステムドライバ
10…メモリマネージャ
11…キャッシュマネージャ
12…暗号化処理部
13…鍵入力部
14…暗号化対象テーブル
15…オープンファイルテーブル
16…キャッシュ無効化制御部
17…オープンファイル監視部
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an encryption system having a cache control function.
[0002]
[Prior art]
In recent years, a system for automatically encrypting an electronic file has been proposed for the purpose of maintaining security in a computer system. For example, IPSJ Research Report “Computer Security” Abstract No. As disclosed in 006-004, when a cryptographic system (software) is installed in a personal computer owned by the user, the cryptographic system constantly monitors the computer system in the background and designates a folder (encrypted folder). Detecting file storage or reading a file from a specified folder and automatically encrypting or decrypting it.
[0003]
For example, when a predetermined password (or key data) is input to the encryption system in advance (with key data), a predetermined application is opened and a predetermined file is read from the encryption folder. The file is automatically decrypted and displayed in plain text. Moreover, when the created file is saved in a specified folder, it can be automatically encrypted. If the key data is not given (no key data), the file in the encrypted folder is not decrypted even if it is opened by a predetermined application, and the file is displayed as ciphertext. Therefore, if the key data is not set, even if a third party accesses the user's personal computer when the user is absent, the specified file is kept in an encrypted state, so that security is maintained.
[0004]
By the way, in the encryption process accompanying the input / output of the file to / from the designated folder as described above, there is a case where the process of directly reading the data held in the cache memory by the application may occur. It is known that the function is greatly limited.
FIG. 16 shows a state in which an operation system, a conventional encryption system, a program such as a predetermined application, etc. are activated and operate integrally with the computer system hardware in the computer system. In FIG. 16, the computer system includes a storage device 1 (hard disk) in which a program such as an operation system, a cryptographic system, and a predetermined application is stored, and a main memory 2 into which the program is loaded from the storage device 1 when the program is started. A cache memory 3 having a faster reading speed than the main memory 2, an OS (operation system) 4 that is resident in the main memory 2 after the program is started, and an encryption system 5 that is resident in the main memory 2 after the program is started, A first application 6 and a second application 7 that are resident in the main memory 2 after the program is started are provided. The OS 4 also processes the system call from the first application 6 and the second application 7, and the file input to the storage device 1 based on an instruction from the I / O manager 8. A file system driver 9 that executes output processing, a memory manager 10 that controls the exchange of data between the cache memory 3 and the storage device 1, and the applications 6 and 7 and the cache memory 3 via the memory manager 10. And a cache manager 11 for controlling the exchange of data with the. In addition, the conventional encryption system 5 is interposed between the I / O manager 8 and the file system driver 9, and encrypts or decrypts a file input / output to / from the storage device 1, and a password input by the user, And a key input unit 13 for collating key data and controlling ON / OFF of the cryptographic processing function of the cryptographic processing unit 12.
[0005]
The conventional cryptographic system shown in FIG. 16 operates as follows.
First, after the OS 4 is activated in the computer system, the encryption system 5 is activated. Therefore, the encryption system 5 displays a menu that prompts the user to input a password (or key data). At this time, the user does not input a password to the menu. (Hereafter, expressed as “no key data”.)
Next, since the password is not input, the key input unit 13 issues an instruction to turn off the encryption processing function and notifies the encryption processing unit 12 of this. The cryptographic processing unit 12 operates to deliver the file to the I / O manager 4 or the file system driver 9 as it is without performing cryptographic processing on the input / output file thereafter in accordance with the instruction to turn off the cryptographic processing function from the key input unit 13. To do.
[0006]
FIGS. 17 to 21 are flowcharts showing operations after activation of a conventional cryptographic system (no key input). Hereinafter, a description will be given using the flowcharts of FIGS. First, the first application 6 is activated in the state of the cryptographic system (no key data). Therefore, when a predetermined file is newly created in the first application 6, the application 6 issues a system call (instruction to the OS 4) to open a new file. (Fig. 17, STEP1-1)
[0007]
Next, the I / O manager 8 creates a first file identifier according to the system call of the first application 6. (Fig. 13, STEP1-2)
Here, the file identifier is management information of a file (open file) to be newly created, and is said to represent a specific instance (example) of the open operation.
Furthermore, the I / O manager 8 uses the created first file identifier to instruct the file system driver 9 to perform a file open process. (Fig. 17, STEP1-3)
[0008]
Next, when the file open process is completed, the first application 6 issues a system call to the cache manager 11 so as to map the file on which the open process has been executed on the cache memory 3. (Fig. 17, STEP2-1)
Therefore, the cache manager 11 instructs the memory manager 10 to request the mapping process. (Fig. 17, STEP2-2)
Then, the memory manager 10 creates a file map of files to be cached (saved) on the cache memory 3 in accordance with the request for the mapping process. (Figure 17, STEP2-3)
[0009]
Next, the first application 6 requests the I / O manager 4 to read a file for the purpose of reading a predetermined file from the storage device 1. (FIG. 18, STEP3-1) The I / O manager 4 receives the request and instructs the file system driver 9 to perform a file read process. (FIG. 18, STEP 3-2) Upon receiving the read processing instruction, the file system driver 9 first inquires of the cache manager 10 whether the corresponding file exists in the cache memory 3 or not. (Figure 18, STEP3-3)
[0010]
Therefore, since the corresponding file does not exist in the cache memory 3, the memory manager 10 works to request the I / O manager 8 to read out the unread file portion (in this case, all the files) from the storage device 1. (Fig. 18, STEP3-4, 3-5)
Then, the I / O manager 8 instructs the file system driver 9 to read the file. (Figure 18, STEP3-6)
[0011]
When the file system driver 9 reads the unread file portion (all files in this example) from the storage device 1 in accordance with the instruction, it sends it to the memory manager 10 via the I / O manager 8. Then, the memory manager 10 writes the received file (ciphertext state) in the cache memory 3. (Figure 18, STEP3-7, 3-8)
[0012]
On the other hand, when the writing to the cache memory 3 is completed, the first application 6 reads the file (ciphertext state) written to the cache memory 3 via the I / O manager 8 and the memory manager 10, Is stored as a file (ciphertext state) corresponding to the first file identifier. (Figure 18, STEP3-9)
The process from when the first application is activated to read a file from the storage device 1 and until the file is written to the cache memory 3 in a ciphertext state has been described.
[0013]
Here, it is assumed that the first application 6 is terminated. At this time, the first application 7 requests the I / O manager 8 to perform a file closing process for the first file identifier before closing the application. (Figure 19, STEP4-1)
However, the I / O manager 8 suspends the file close processing request from the first application 6. This is because the operation system manages the cache data so that the data on the cache memory 3 can be used when another application is started. (Figure 19, STEP4-2)
[0014]
Next, after the first application 6 ends, the second application 7 is activated.
Then, for the purpose of reading the file from the storage device 1 on the second application 7, first, a system call is issued so as to open a new file. (Figure 19, STEP4-3)
The I / O manager 8 issues a second file identifier according to the system call. At this time, since the first file identifier has already been created, the I / O manager 8 creates the second file identifier so as not to be duplicated. (Figure 19, STEP4-4)
[0015]
Next, the I / O manager 8 instructs the file system driver 9 to perform a file open process using the created second file identifier. (Figure 19, STEP4-5)
The file system driver 9 executes a file open process according to the instruction.
(Figure 19, STEP4-6)
[0016]
Therefore, when the file open process is completed, the second application issues a system call to read the target file (corresponding to the file read by the first application 6) from the storage device 1. (Fig. 20, STEP5-1)
The I / O manager 8 instructs the file system driver 9 to perform a file read process using the created second file identifier. (Fig. 20, STEP5-2)
Here, the file system driver 9 inquires of the cache manager 11 whether or not the target file exists on the cache memory 3. (Fig. 20, STEP5-3)
[0017]
The cache manager 11 confirms whether or not the target file exists in response to the inquiry. Here, since the target file exists in the ciphertext state in the cache memory 3, a response indicating that the target file exists is sent to the file system. Return to the driver 9. Therefore, when the file system driver 9 receives the response, it requests the cache manager 11 to read out the target file from the cache memory 3. (Figure 20, STEP5-4)
[0018]
The cache manager 11 instructs the memory manager 10 to read a file from the cache memory 3 in accordance with the request. (Figure 21, STEP5-5)
The memory manager 10 reads the target file (ciphertext state) from the cache memory 3 in accordance with the instruction and sends it to the file system driver 9 via the cache manager 11. (Figure 21, STEP5-6)
[0019]
The file system driver 9 sends the received file to the second application 7 via the I / O manager 8. (Figure 21, STEP5-7)
When the second application 7 receives the file (ciphertext state) sent from the file system driver 9, it holds this as a file corresponding to the second file identifier and completes reading of the file. (Figure 17, STEP5-9)
[0020]
As described above, the open process, the read process, and the process related to the cache memory 3 executed when the application reads a file from the storage device 1 have been described focusing on the operation of the operation system 4.
In this description, the encryption system maintains the state of “no key data”, and even if an application reads a file from the storage device 1 or the cache memory 3, the file is not encrypted, which is a particular problem. There is no.
[0021]
[Problems to be solved by the invention]
Here, let us consider a state where the password is entered and “key data exists” in the encryption system 5. For example, when an application is started and a predetermined document file or the like is read from the storage device 1, cache data related to the target document file may already exist on the cache memory 3. . This example corresponds to the YES processing step of FIG. 18, STEP 3-4. At this time, since the ciphertext data remains as cache data in the cache memory 3 even if “no key data” → “with key data” is switched, the application stores the file ( (Ciphertext state) is read.
[0022]
Therefore, the application cannot display the file read from the cache memory 3 in a normal state (plain text state), even though the state is “with key data input”. On the other hand, if plain text cache data is stored in the cache memory 3, the application reads the file read from the cache memory 3 as plain text even when switching from “with key data” to “without key data”. It also happens that it is displayed as. (This is a security problem.)
[0023]
As described above, even if there is a request for file close processing from the application program as described above, the I / O manager 8 holds the request and other applications continue to use the cache data held in the cache memory 3. This is due to the fact that the operation system controls so as to be able to. Therefore, even if switching from “no key data” → “with key data” or “with key data” → “no key data”, the cache data held in the cache memory 3 is rewritten accordingly. Therefore, the conventional cryptographic system has a problem in consistency with the cache processing function of the operation system and has a problem that the cryptographic processing function is limited. In addition, resetting the data remaining in the cache memory can be done by restarting the computer and then restarting the cryptographic system, but it is very complicated and inconvenient for the user, such as being unable to use the computer until the computer is restarted. It will be forced.
The present invention has been made to solve the above-described object, and an object thereof is to provide an encryption system having a cache processing function and excellent in consistency with an operation system.
[0024]
[Means for Solving the Problems]
In order to solve the above object, the invention according to claim 1 according to the present invention comprises a function for setting a predetermined folder of a computer system having an operation system and a storage device (hard disk) as an encryption area, and the encryption. An encryption system having an encryption processing function for automatically encrypting a file stored in an area or automatically decrypting a file read from the encryption area, and a function for turning on and off the encryption processing function. A cryptographic system comprising a cache memory invalidation processing step for invalidating or rewriting cache data attached to a file to be encrypted held on a cache memory managed by the computer system in accordance with ON / OFF switching of a processing function The cryptographic system includes the operation system. An open file table in which a file identifier created by the system during file open processing is registered, and an open file monitoring unit that monitors the operation system and registers the file identifier created by the operation system in the open file table And the encryption target table in which the path name of the folder set as the encryption area is registered and the path name of the open file obtained from the file identifier registered in the open file table and the acquired open file path name A cache invalidation control unit having a processing step of comparing and collating a name with a path name of an encrypted folder registered in the encryption target table, and a file of ciphertext read from the encryption area by the operation system An encryption processing unit having an encryption processing step for decrypting and encrypting a plain text file to be stored in the encryption area and delivering it to the operation system; and detecting the password or key data input by the user and inputting the password or key And a key input unit having a processing step for controlling ON / OFF of the cryptographic processing function of the cryptographic processing unit based on the verification result, and according to the ON / OFF switching of the cryptographic processing function, The cache invalidation control unit executes a processing step of comparing and collating the acquired path name of the open file and the path name of the encrypted folder, and the first part of the path name of the open file is the cipher as a result of the comparison and collation. Conversion When the path name of the folder matches, a processing step of invalidating the cache data attached to the open file held in the cache memory is provided.
[0025]
The invention according to claim 2 relating to the present invention, A function for setting a predetermined folder of a computer system having an operation system and a storage device (hard disk) as an encryption area, and a file automatically stored in the encryption area or a file read from the encryption area In an encryption system having an encryption processing function for automatically decrypting the encryption processing function and a function for turning on / off the encryption processing function, a cache memory managed by the computer system is switched on and off when the encryption processing function is switched An encryption system comprising a cache memory invalidation processing step for invalidating or rewriting cache data incidental to a held file to be encrypted, wherein the encryption system is a file created by the operation system during file open processing The identifier is registered An open file table, an open file monitoring unit having a processing step of monitoring the operation system and registering a file identifier created by the operation system in the open file table, and a path of a folder set as the encryption area Gets the open file path name from the encryption target table registered name and the file identifier registered in the open file table, and the acquired open file path name and encryption registered in the encryption target table A cache invalidation control unit having a processing step of comparing and collating with a folder path name, and decrypting a ciphertext file read from the encryption area by the operation system and encrypting a plaintext file to be stored in the encryption area Turn into An encryption processing unit having an encryption processing step to be delivered to the operation system; and a password or key data input by a user is detected, the input password or key data is verified, and encryption processing of the encryption processing unit is performed based on the verification result A key input unit having a processing step for controlling ON-OFF of the function, Along with the ON / OFF switching of the cryptographic processing function, the cache invalidation control unit executes a processing step of comparing and verifying the acquired open file path name and the encrypted folder path name, and performing the comparison verification As a result, the first part of the path name of the open file is the cipher Conversion A processing step of reading data corresponding to the open file from the cache memory or the storage device when the path name of the folder matches, and a processing of encrypting the data of the file read from the cache memory or the storage device by the encryption processing unit And a step of overwriting the cache data attached to the open file that holds the data of the encrypted file in the cache memory.
[0026]
According to a third aspect of the present invention, in the second aspect, the method includes a processing step of acquiring date information of the opened file before the execution of the overwriting processing step, and the acquisition is performed after the overwriting processing step is performed. A processing step for writing date information to a storage device is provided.
[0027]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, the present invention will be described in detail based on illustrated embodiments.
FIG. 1 is a block diagram of an encryption system having a cache processing function according to the present invention, and the encryption system is integrated with an operation system, a predetermined application, and hardware of a computer system. Indicates the state.
[0028]
In FIG. 1, an OS (operation system) 4 having an I / O manager 8, a file system driver 9, a cache manager 11, and a memory manager 10 is resident in a computer system and includes a first application 6 and a second application 7. The system call from the above is processed, and the exchange of data with the storage device 1 and the cache memory 3 is controlled.
[0029]
The encryption system 5 detects a password or key data input by the user, collates it, and controls the ON / OFF of the encryption processing function of the encryption processing unit 12 described later, and an encryption target file Is started by an instruction from the key input unit 13 and an encryption processing target determination table 14 having a list of path names of folders in which files are stored, an open file table 15 in which file identifiers of files opened by applications are registered, and A cache invalidation control unit 16 that controls data rewriting or data invalidation on the cache memory 3 and a file identifier of a newly opened file upon detection of a file open instruction from the I / O manager 8 are stored in the open file table 15. Open file monitoring unit 17 to be registered And a cryptographic processing unit 12 that encrypts or decrypts the interposed input files between the open file monitoring unit 17 and the file system driver 9.
[0030]
The encryption system shown in FIG. 1 operates as follows.
First, after starting the OS (operation system) 4 in the computer system, the cryptographic system 5 is started. Therefore, the encryption system displays a menu that prompts the user to input a password (or key data). Here, first, a state where the user does not input a password to the menu will be described. (Hereafter, this state is expressed as “no key data”.)
Next, since the password is not input, the key input unit 13 gives the encryption processing unit 12 an instruction to turn off the encryption processing function. In accordance with the instruction from the key input unit 13, the encryption processing unit 12 does not perform the encryption process on the input file thereafter, and directly sends the file to the I / O manager 4 (via the open file monitoring unit 17) or the file system driver 9. Works to deliver.
[0031]
2 to 10 are flowcharts showing the first embodiment of the processing procedure of the cryptographic system of FIG. This will be described below with reference to the flowcharts of FIGS. First, the first application 6 is activated in the cryptographic system (in the state of “no key data”).
Therefore, when a new file such as a document is created in the first application 6, the application 6 first issues a system call (instruction to the OS 4) to open a new file. (Figure 2, STEP1-1)
[0032]
Next, the I / O manager 8 creates a first file identifier according to the system call of the first application 6. (Figure 2, STEP1-2)
Since the file identifier is the same as the description of the prior art, the description is omitted.
[0033]
Further, the I / O manager 8 instructs the file system driver 9 through the open file monitoring unit 17 using the created first file identifier. (Figure 2, STEP1-3)
Then, the file system driver 9 executes a file open process according to the instruction. (Figure 2, STEP1-4)
The open file monitoring unit 17 registers the first file identifier created by the I / O manager 8 in the open file table 15. At this time, as shown in FIG. 15, the file identifier (first file identifier or the like) of the opened file is registered in the open file table. (Figure 2, STEP1-5)
[0034]
Next, when the file open process is completed, the first application 6 issues a system call to the cache manager 11 so as to map the file on which the open process has been executed on the cache memory 3. (Fig. 2, STEP2-1)
Therefore, the cache manager 11 instructs the memory manager 10 to request the mapping process. (Figure 3, STEP2-2)
Then, the memory manager 10 creates a file map of files to be cached (saved) on the cache memory 3 in accordance with the request for the mapping process. (Figure 3, STEP2-3)
[0035]
Next, the first application 6 requests the I / O manager 4 to read a file for the purpose of reading a predetermined file from the storage device 1. (Figure 3, STEP3-1)
In response to the request, the I / O manager 4 instructs the file system driver 9 to perform a file read process. (FIG. 3, STEP 3-2) Upon receiving the read processing instruction, the file system driver 9 first inquires of the cache manager 10 whether or not the corresponding file exists in the cache memory 3. (Figure 3, STEP3-3)
[0036]
Therefore, the cache manager 10 returns a response that the corresponding file does not exist, and the memory manager 10 works to request the I / O manager 8 to read the unread file portion (in this case, all of the files) from the storage device 1. To do. (Figure 3, STEP3-4, 3-5)
Then, the I / O manager 8 instructs the file system driver 9 to read the file. (Figure 4, STEP3-6)
[0037]
When the file system driver 9 reads the unread file portion (all files in this example) from the storage device 1 in accordance with the instruction, it sends it to the memory manager 10 via the I / O manager 8. Then, the memory manager 10 writes the received file (ciphertext state) in the cache memory 3. (Figure 4, STEP3-7, 3-8)
[0038]
On the other hand, when the writing to the cache memory 3 is completed, the first application 6 reads the file (ciphertext state) written to the cache memory 3 via the I / O manager 8 and the memory manager 10, Is stored as a file (ciphertext state) corresponding to the first file identifier. (Figure 4, STEP3-9)
[0039]
Here, it is assumed that the first application 6 is terminated. At this time, the first application 7 requests the I / O manager 8 to perform a file closing process for the first file identifier before closing the application. (Figure 4, STEP4-1)
However, the I / O manager 8 suspends the file close processing request from the first application 6. This is because the operation system manages the cache data so that the data on the cache memory 3 can be used when another application is started. (Figure 4, STEP4-2)
[0040]
Here, key data (or password) is input to the key input unit 13 / encryption system. The key input unit 13 detects that key data has been input (hereinafter referred to as “key data present”), and issues a cache invalidation instruction to the cache invalidation control unit 16. (Figure 5, STEP6-1)
When the cache invalidation control unit 16 receives the cache invalidation instruction, the cache invalidation control unit 16 refers to the encryption processing target determination table 14 and acquires the path name of the encryption target (folder). (Figure 5, STEP6-2)
Here, as shown in FIG. 15, the encryption processing target discrimination table 14 shows a list of path names of encryption target folders in the storage device 1, and is stored in any of the encryption processing target folder lists. Only the saved file is managed by the cryptographic system to perform cryptographic processing.
[0041]
Next, when the cache invalidation control unit 16 refers to the path name of the encryption target folder, the cache invalidation control unit 16 refers to the open file table 15, reads the first file identifier, and the path name of the corresponding file (¥ ◯◯ ● ● ¥ △△ ▲▲ ¥ □□ ■■ ¥ ◇◇ ◆◆ etc.) (Figure 5, STEP 6-3)
Then, the cache invalidation control unit 16 sequentially compares and collates the acquired path name of the encryption target (folder) with the path name obtained from the file identifier of the open file list, and the file of the open file list is the target of encryption processing. It is determined whether it is a thing. (Figure 5, STEP 6-4)
If the file in the open file list is not subject to encryption processing, the cache invalidation processing is terminated (No in STEP 6-5 in FIG. 5), and if it is subject to encryption processing, the next step (in FIG. YES)
[0042]
Here, the determination in FIG. 6, STEP 6-5 will be described. For example, the path name of the open file acquired from the first file identifier is ¥ ◯◯ ●● ¥ △△ ▲▲ ¥ □□ ■■ ¥ ◇◇ ◆◆ and the path name of the encryption target (folder) is ¥ ◯ ◯ ●● ¥ △△ ▲▲.
At this time, when comparing the path names of both from the top, the path name (¥ ◯◯ ●● ¥ △△ ▲▲) of the encryption target (folder) is the path name of the open file (¥ ◯◯ ●● ¥ △△ ▲). ▲ ¥ □□ ■■ ¥ ◇◇ ◆◆) completely matches the beginning. That is, it means that the open file corresponding to the first file identifier exists in the subfolder of the encryption target folder (¥ ◯◯ ●● ¥ △△ ▲▲).
Therefore, the path name of the encryption target (folder) and the acquired open file path name are compared from the beginning, and the path name of the encryption target (folder) completely matches the path name of the earned open file from the beginning. Then, the target open file can be determined as an encryption target. If they do not match, the target open file exists outside the encryption target folder.
[0043]
Next, when it is determined that the open file is to be encrypted, the cache invalidation control unit 16 issues a system call to newly open the file using the acquired path name of the open file. However, since the I / O manager 8 has already created the first file identifier, the I / O manager 8 automatically creates the second file identifier. (Figure 6, STEP 6-7)
[0044]
Next, the I / O manager 8 instructs the file system driver 9 to perform a file open process (via the open file monitoring unit 17 and the cryptographic processing unit 12) using the created second file identifier. (Fig. 6, STEP 6-8)
The file system driver 9 executes a file open process according to the instruction. (Figure 6, STEP 6-9)
[0045]
Next, the cache invalidation control unit 16 issues a cache invalidation instruction (via the I / O manager 8 and the memory manager 10) to the cache attached to the second file identifier (hereinafter referred to as cache 1). To give. (Figure 6, STEP7-1)
When the cache manager 11 receives the cache 1 invalidation instruction, the cache manager 11 instructs the memory manager 10 to invalidate the cache 1. (Figure 6, STEP7-2)
The memory manager 10 discards the correspondence between the file corresponding to the second file identifier and the cache 1 according to the invalidation instruction of the cache 1 and discards the data in the cache 1 from the cache memory 3. (Figure 6, STEP7-3)
[0046]
Next, when the invalidation of the cache 1 is completed, the cache invalidation control unit 16 requests the I / O manager 8 to perform a file close process using the second file identifier. (Figure 6, STEP7-4)
The I / O manager 8 instructs the file system driver 9 (via the open file monitoring unit 17 and the encryption processing unit 12) to make the file close processing request. (Figure 6, STEP7-5)
The file system driver 9 follows the above instruction to the second file identifier
The file close process is executed, and the cache invalidation process ends (Fig. 7, STEP7-6)
[0047]
Next, consider the case where the second application 7 is activated and the first application reads from the storage device 1 the file requested to be opened by the first file identifier.
First, the second application 7 issues a system call so as to open a file before reading the file from the storage device 1. (Fig. 7, STEP8-1)
In response to the system call, the I / O manager 8 creates a third file identifier.
[0048]
Next, the I / O manager 8 instructs the file system driver 9 to perform file open processing (via the open file monitoring unit 17 and the encryption processing unit 12) using the created third file identifier. The file system driver 9 executes a file open process according to the instruction. (Fig. 7, STEP8-4)
[0049]
Therefore, the second application 7 issues a system call to read the file from the storage device 1 using the created third file identifier. (FIG. 8, STEP9-1) The I / O manager 8 receives the system call and performs file read processing using the third file identifier (via the open file monitoring unit 17 and the encryption processing unit 12) as a file system driver. 9 is instructed. (Fig. 8, STEP9-2)
When the file system driver 9 receives the instruction, it inquires of the cache manager 11 whether or not there is a cache attached to the third file identifier. (Fig. 8, STEP9-3)
[0050]
At this time, the cache manager 11 replies that there is no cache.
Therefore, the file system driver 9 requests the cache manager 11 to perform a cache process attached to the third file identifier. (Fig. 8, STEP9-4)
The cache manager 11 instructs the memory manager 10 on the request. (FIG. 8, STEP 9-5) The memory manager 10 prepares the cache 2 as a cache attached to the third file identifier in accordance with the above instruction (FIG. 8, STEP 9-6). The file system driver 9 sets the third file identifier. Reading the attached cache 2 is instructed to the memory manager 10 via the cache manager 11. (Fig. 8, STEP9-7 and Fig.9, STEP9-8)
[0051]
Therefore, the memory manager 10 requests the I / O manager 8 to read the file because no file is read into the cache memory 3. (Fig. 9, STEP9-9)
The I / O manager 8 instructs the file system driver 9 (via the open file monitoring unit 17 and the encryption processing unit 12) to make the file read processing request. (FIG. 9, STEP 9-10) The file system driver 9 reads the file corresponding to the third file identifier from the storage device 1 in accordance with the instruction and passes it to the encryption processing unit 12. (FIG. 9, STEP 9-11) The encryption processing unit 12 decrypts the received file and passes it to the I / O manager 8. (Fig. 9, STEP9-12)
The I / O manager 8 passes the received decrypted file to the memory manager 10. (FIG. 9, STEP 9-13) The memory manager 10 writes the received decrypted file as the cache 2 in the cache memory 3. (Fig. 9, STEP9-14)
[0052]
Next, the file system driver 9 reads the decrypted file from the cache memory 3 via the cache manager 11 and the memory manager 10 and passes it to the I / O manager. (Figure 10, STEP10-1)
Therefore, the I / O manager 8 passes the received decrypted file (data read from the cache 2 on the cache memory 3) to the second application. And the 2nd application 7 can display a file in the state (plaintext state) which received and decoded this. Then, all processes based on the read instruction from the application 2 are completed. (Fig. 10, STEP10-2, 10-3)
[0053]
As a result, when shifting from the state without key data input to the state with key data input,
The key input unit 13 detects this, and the cache invalidation control unit 16 discards the cache data (encrypted state) stored in the cache memory 3 from the cache memory 3, and thereafter stores a file corresponding to the cache data in the storage device. If the data is read from 1, the invalid cache data (ciphertext state) on the cache memory 3 is not read, and the file is newly read from the storage device 1 and decrypted on the cache memory 3. Since control is performed so as to newly write as plaintext data, the cache content in the cache memory 3 can be rewritten from the encrypted state to the decrypted state in accordance with a change in state with no key input.
[0054]
It should be noted that the processing steps are exactly the same when returning from the “key data input present” state to the “key data input absent” state again, and the cache contents in the cache memory 3 have been decrypted (plaintext state). Therefore, the description will be omitted.
[0055]
Here, in accordance with the state change with or without key data input, processing may be performed so that the cache data on the cache memory 3 is rewritten instead of being invalidated.
Hereinafter, the rewriting processing steps will be described.
[0056]
FIGS. 11 to 14 are flowcharts showing the processing procedure of the second embodiment of the cryptographic system according to the present invention. The processing procedure will be described below with reference to FIGS.
The functional block diagram of the second embodiment of the cryptographic system is the same as that of the first embodiment shown in FIG.
First, after the OS 4 is activated in the computer system, the encryption system 5 is activated. Hereinafter, processing procedures similar to those in the first embodiment (STEP 1-1 to STEP 6-9 in FIGS. 2 to 6) are executed, but description of these processing procedures is omitted.
[0057]
Now, in the state where execution of the same processing procedure as STEP1-1 to STEP6-9 in FIGS. 2 to 6 is finished, a second file identifier is created based on the processing request of the cache invalidation control unit 16 and corresponds to this. Open processing of the file to be completed has been completed. At this time, a file exists in the cache memory 3 in a ciphertext state.
[0058]
Therefore, the cache invalidation control unit 16 requests the file system driver 9 to acquire file date information via the I / O manager 8. (FIG. 11, STEP 11-1) The file system driver 9 reads the file date information from the storage device 1 in accordance with the request and returns it to the cache invalidation control unit 16. Cache invalidation receives date information and holds it (FIG. 11, STEP11-2, 11-3, 11-4).
[0059]
Next, the cache invalidation control unit 16 requests the I / O manager 8 to perform a file read process using the second file identifier. Based on the request, the I / O manager 8 instructs the file system driver 9 to read the file. (Fig. 11, STEP11-5, 11-6)
When the file system driver receives the read processing instruction, the file system driver first inquires of the cache manager 11 whether the corresponding file exists in the cache memory 3. (Fig. 11, STEP11-7)
[0060]
In this example, the target file exists in the cache memory 3 in a ciphertext state. Therefore, the cache manager 10 replies to the inquiry that the target file is in the cache memory 3. (FIG. 12, YES in STEP 11-8) Therefore, when the file system driver 9 receives an answer indicating that there is a cache, the target file (ciphertext state) is received from the cache memory 3 via the cache manager 11 and the memory manager 10. Is sent to the cryptographic processing unit 12. (Fig. 12, STEP11-9)
[0061]
Next, the cryptographic processor 12 decrypts the received ciphertext file and sends it to the I / O manager 8. The I / O manager 8 sends the received decrypted file to the cache invalidation control unit 16.
Therefore, the cache invalidation control unit 16 requests the I / O manager 8 to overwrite this in the cache memory 3. (Fig. 12, STEP11-13, 11-14)
[0062]
The I / O manager 8 instructs the file system driver 9 to overwrite the cache memory 3. The file system driver 9 requests the memory manager 10 to overwrite the cache memory 3 via the cache manager 11. The memory manager 10 overwrites the decrypted file in the cache memory 3 in accordance with the overwrite instruction. (Fig. 13, STEP11-15 to STEP11-17)
[0063]
Next, the cache invalidation control unit 16 requests the I / O manager 8 to give the file date information acquired in STEP 11-4 of FIG. 11 to the file. Upon receiving the request, the I / O manager 8 instructs the file system driver 9 to perform date information addition processing. However, the file system driver 9 passes the processing to the next processing step while storing the instruction and date information. (Fig. 13, STEP11-18 to STEP11-20)
[0064]
Therefore, the cache invalidation control unit 16 requests the I / O manager 8 to close the file corresponding to the second file identifier. The I / O manager 8 instructs the file system driver 9 to perform file close processing in accordance with the request.
Then, the file system driver 9 executes the file closing process in accordance with the instruction, and at the same time, gives the date information acquired to the storage device 1 in accordance with the instruction stored in STEP 11-20. (FIG. 13, STEP 11-21, STEP 22 and FIG. 14, STEP 11-23) When the file close process is executed without acquiring the date information, the date information in the storage device 1 is automatically updated during the process. It will be updated. Accordingly, the date information is acquired and set before the file closing process, and the above processing steps are performed so that the date information is not updated.
[0065]
Here, when the file on the cache memory 3 is changed (overwritten), the operation system 4 detects this. Then, after executing the file closing process, the cache manager 11 operates to request the I / O manager to overwrite the file (plain text state) on the cache memory 3 with the file in the storage device 1 (via the memory manager 10). To do. (Fig. 14, STEP11-24)
[0066]
The I / O manager 8 instructs the file system driver 9 to perform file overwrite processing via the encryption system 5 in accordance with the overwrite processing request. (Figure 14, STEP11-25)
However, the cryptographic system blocks (interprets) the overwrite process instruction to the file system driver 9 and returns a response indicating the completion of the overwrite process to the I / O manager 8 to complete the cache overwrite process. (Figure 14, STEP11-26)
[0067]
When the processing procedure described above changes the state from “no key data” to “with key data”, the cryptographic system detects this and changes the file data on the cache memory 3 from the ciphertext state to the plaintext state. Thus, the cache data can be used continuously without affecting the cache memory management function of the operation system. From the state of “Key data available”
Since the processing procedure is the same when the state changes to the state of “no key data”, the description is omitted.
[0068]
【The invention's effect】
According to the present invention, in an encryption system that operates integrally with a computer system, old data on a cache memory attached to a file to be encrypted is invalidated when key data input to the encryption system is switched. In addition, the encryption system cache memory is excellent in consistency with the cache management function of the computer system because the data of the file to be encrypted is encrypted or decrypted and then controlled to be newly written into the cache memory. It is very effective in providing a control method.
[Brief description of the drawings]
FIG. 1 is a block diagram of a cryptographic system according to the present invention.
FIG. 2 is a flowchart (1/9) showing the processing procedure of the first embodiment of the cryptographic system according to the present invention.
FIG. 3 is a flowchart (2/9) showing the processing procedure of the first embodiment of the cryptographic system according to the present invention.
FIG. 4 is a flowchart (3/9) showing a processing procedure of the first embodiment of the cryptographic system according to the present invention.
FIG. 5 is a flowchart (4/9) showing a processing procedure of the first embodiment of the cryptographic system according to the present invention.
FIG. 6 is a flowchart (5/9) showing the processing procedure of the first embodiment of the cryptographic system according to the present invention.
FIG. 7 is a flowchart (6/9) showing a processing procedure of the first embodiment of the cryptographic system according to the present invention.
FIG. 8 is a flowchart (7/9) showing the processing procedure of the first embodiment of the cryptographic system according to the present invention.
FIG. 9 is a flowchart (8/9) showing a processing procedure of the first embodiment of the cryptographic system according to the present invention.
FIG. 10 is a flowchart (9/9) showing the processing procedure of the first embodiment of the cryptographic system according to the present invention.
FIG. 11 is a flowchart (1/4) showing the processing procedure of the second embodiment of the cryptographic system according to the present invention.
FIG. 12 is a flowchart (2/4) showing a processing procedure of the second embodiment of the cryptographic system according to the present invention.
FIG. 13 is a flowchart (3/4) showing the processing procedure of the second embodiment of the cryptographic system according to the present invention.
FIG. 14 is a flowchart (4/4) showing a processing procedure of the second embodiment of the cryptographic system according to the present invention.
FIG. 15 shows an encryption target table and an open file table.
FIG. 16 is a block diagram of a conventional cryptographic system.
FIG. 17 is a flowchart (1/5) showing a processing procedure of a conventional cryptographic system.
FIG. 18 is a flowchart (2/5) showing a processing procedure of a conventional cryptographic system.
FIG. 19 is a flowchart (3/5) showing a processing procedure of a conventional cryptographic system.
FIG. 20 is a flowchart (4/5) showing a processing procedure of a conventional cryptographic system.
FIG. 21 is a flowchart (5/5) showing a processing procedure of a conventional cryptographic system.
[Explanation of symbols]
1. Storage device (hard disk)
2 ... Main memory
3 ... Cache memory
4 ... OS (Operation System)
5. Cryptographic system
6 ... 1st application
7 ... Second application
8 ... I / O manager
9 ... File system driver
10 ... Memory manager
11 ... Cache manager
12 ... Encryption processing unit
13 ... Key input part
14 ... Encryption target table
15 ... Open file table
16: Cache invalidation control unit
17 ... Open file monitoring unit

Claims (3)

オペレーションシステムと記憶装置(ハードディスク)とを有するコンピュータシステムの所定のフォルダを暗号化領域に設定する機能と、該暗号化領域に保存するファイルを自動的に暗号化或いは前記暗号化領域から読み出したファイルを自動的に復号する暗号処理機能と、前記暗号処理機能をON−OFFする機能を備えた暗号システムにおいて、
前記暗号処理機能のON−OFFの切り替えに伴い前記コンピュータシステムが管理するキャッシュメモリ上に保持された暗号化対象のファイルに付帯するキャッシュデータを無効化或いは書き換えるためのキャッシュメモリ無効処理ステップを備えた暗号システムであって、
前記暗号システムは、前記オペレーションシステムがファイルオープン処理時に作成するファイル識別子が登録されているオープンファイルテーブルと、前記オペレーションシステムを監視し前記オペレーションシステムが作成したファイル識別子を前記オープンファイルテーブルに登録する処理ステップを有するオープンファイル監視部と、前記暗号化領域として設定されたフォルダのパス名が登録された暗号化対象テーブルと、前記オープンファイルテーブルに登録されたファイル識別子からオープンファイルのパス名を取得すると共に取得したオープンファイルのパス名と前記暗号化対象テーブルに登録された暗号化フォルダのパス名とを比較照合する処理ステップを有するキャッシュ無効化制御部と、 前記オペレーションシステムが暗号化領域から読み出した暗号文のファイルを復号すると共に暗号化領域に保存すべき平文のファイルを暗号化してオペレーションシステムに引き渡す暗号処理ステップを有する暗号処理部と、ユーザが入力するパスワード若しくは鍵データを検知して前記入力されたパスワード若しくは鍵データを照合すると共に前記照合結果に基づき前記暗号処理部の暗号処理機能のON−OFFを制御する処理ステップを有する鍵入力部とを備え、前記暗号処理機能のON−OFFの切り替えに伴い、前記キャッシュ無効化制御部が前記取得したオープンファイルのパス名と前記暗号化フォルダのパス名とを比較照合する処理ステップを実行し、該比較照合の結果前記オープンファイルのパス名の先頭部分が前記暗号フォルダのパス名に一致したとき、キャッシュメモリ上に保持されている前記オープンファイルに付帯したキャッシュデータを無効化する処理ステップを備えていることを特徴とする暗号システム。
A function for setting a predetermined folder of a computer system having an operation system and a storage device (hard disk) as an encryption area, and a file automatically stored in the encryption area or a file read from the encryption area In an encryption system having an encryption processing function for automatically decrypting and an ON-OFF function of the encryption processing function,
A cache memory invalidation processing step for invalidating or rewriting cache data attached to a file to be encrypted held on a cache memory managed by the computer system in accordance with ON / OFF switching of the cryptographic processing function is provided. A cryptographic system,
The cryptographic system includes an open file table in which a file identifier created by the operation system during file open processing is registered, and a process of monitoring the operation system and registering the file identifier created by the operation system in the open file table An open file monitoring unit having a step, an encryption target table in which a path name of a folder set as the encryption area is registered, and a path name of the open file from a file identifier registered in the open file table A cache invalidation control unit having a processing step of comparing and collating the path name of the open file acquired together with the path name of the encrypted folder registered in the encryption target table; and An encryption processing unit having an encryption processing step for decrypting a ciphertext file read from the encryption area and encrypting a plaintext file to be stored in the encryption area and delivering it to the operation system, and a password or key data input by the user And a key input unit having a processing step of verifying the input password or key data and controlling ON / OFF of the cryptographic processing function of the cryptographic processing unit based on the verification result. Along with the ON / OFF switching of the function, the cache invalidation control unit executes a processing step of comparing and collating the acquired open file path name and the path name of the encrypted folder. when the first portion of the path name of the open file matches the path name of the encrypted folder Cryptographic system characterized in that it comprises a process step of invalidating the cache data attached to the open file held in the cache memory.
オペレーションシステムと記憶装置(ハードディスク)とを有するコンピュータシステムの所定のフォルダを暗号化領域に設定する機能と、該暗号化領域に保存するファイルを自動的に暗号化或いは前記暗号化領域から読み出したファイルを自動的に復号する暗号処理機能と、前記暗号処理機能をON−OFFする機能を備えた暗号システムにおいて、
前記暗号処理機能のON−OFFの切り替えに伴い前記コンピュータシステムが管理するキャッシュメモリ上に保持された暗号化対象のファイルに付帯するキャッシュデータを無効化或いは書き換えるためのキャッシュメモリ無効処理ステップを備えた暗号システムであって、
前記暗号システムは、前記オペレーションシステムがファイルオープン処理時に作成するファイル識別子が登録されているオープンファイルテーブルと、前記オペレーションシステムを監視し前記オペレーションシステムが作成したファイル識別子を前記オープンファイルテーブルに登録する処理ステップを有するオープンファイル監視部と、前記暗号化領域として設定されたフォルダのパス名が登録された暗号化対象テーブルと、前記オープンファイルテーブルに登録されたファイル識別子からオープンファイルのパス名を取得すると共に取得したオープンファイルのパス名と前記暗号化対象テーブルに登録された暗号化フォルダのパス名とを比較照合する処理ステップを有するキャッシュ無効化制御部と、前記オペレーションシステムが暗号化領域から読み出した暗号文のファイルを復号すると共に暗号化領域に保存すべき平文のファイルを暗号化してオペレーションシステムに引き渡す暗号処理ステップを有する暗号処理部と、ユーザが入力するパスワード若しくは鍵データを検知して前記入力されたパスワード若しくは鍵データを照合すると共に前記照合結果に基づき前記暗号処理部の暗号処理機能のON−OFFを制御する処理ステップを有する鍵入力部とを備え、前記暗号処理機能のON−OFFの切り替えに伴い、前記キャッシュ無効化制御部が前記取得したオープンファイルのパス名と前記暗号化フォルダのパス名とを比較照合する処理ステップを実行し、該比較照合の結果前記オープンファイルのパス名の先頭部分が前記暗号フォルダのパス名に一致したとき、前記オープンファイルに対応するデータをキャッシュメモリ若しくは記憶装置から読み出す処理ステップと、該キャッシュメモリ若しくは記憶装置から読み出したファイルのデータを暗号処理部にて暗号処理する処理ステップと、前記暗号処理したファイルのデータをキャッシュメモリ上に保持する前記オープンファイルに付帯したキャッシュデータに対して上書きする処理ステップを備えたことを特徴とする暗号システム。
A function for setting a predetermined folder of a computer system having an operation system and a storage device (hard disk) as an encryption area, and a file automatically stored in the encryption area or a file read from the encryption area In an encryption system having an encryption processing function for automatically decrypting and an ON-OFF function of the encryption processing function,
A cache memory invalidation processing step for invalidating or rewriting cache data attached to a file to be encrypted held on a cache memory managed by the computer system in accordance with ON / OFF switching of the cryptographic processing function is provided. A cryptographic system,
The cryptographic system includes an open file table in which a file identifier created by the operation system during file open processing is registered, and a process of monitoring the operation system and registering the file identifier created by the operation system in the open file table An open file monitoring unit having a step, an encryption target table in which a path name of a folder set as the encryption area is registered, and a path name of the open file from a file identifier registered in the open file table A cache invalidation control unit having a processing step of comparing and collating the path name of the open file acquired together with the path name of the encrypted folder registered in the encryption target table; and An encryption processing unit having an encryption processing step for decrypting a ciphertext file read from the encoding area and encrypting a plaintext file to be stored in the encryption area and delivering it to the operation system, and a password or key data input by the user And a key input unit having a processing step of verifying the input password or key data and controlling ON / OFF of the cryptographic processing function of the cryptographic processing unit based on the verification result. Along with the ON / OFF switching of the function, the cache invalidation control unit executes a processing step of comparing and collating the acquired open file path name and the path name of the encrypted folder. when the first portion of the path name of the open file matches the path name of the encrypted folder A processing step of reading data corresponding to the open file from a cache memory or a storage device; a processing step of encrypting data of a file read from the cache memory or the storage device by an encryption processing unit; and An encryption system comprising a processing step of overwriting cache data attached to the open file that holds data in a cache memory.
前記上書き処理ステップの実行前に、前記オープンファイルの日付情報を取得する処理ステップを備え、該上書き処理ステップ実行後に前記取得した日付情報を記憶装置に書き込む処理ステップを備えたことを特徴とする請求項2記載の暗号システム。  The method includes a processing step of acquiring date information of the open file before execution of the overwriting processing step, and a processing step of writing the acquired date information into a storage device after execution of the overwriting processing step. Item 3. The encryption system according to item 2.
JP2003028955A 2003-02-06 2003-02-06 Crypto system with cache invalidation processing function Expired - Fee Related JP4431691B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003028955A JP4431691B2 (en) 2003-02-06 2003-02-06 Crypto system with cache invalidation processing function

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003028955A JP4431691B2 (en) 2003-02-06 2003-02-06 Crypto system with cache invalidation processing function

Publications (2)

Publication Number Publication Date
JP2004240699A JP2004240699A (en) 2004-08-26
JP4431691B2 true JP4431691B2 (en) 2010-03-17

Family

ID=32956262

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003028955A Expired - Fee Related JP4431691B2 (en) 2003-02-06 2003-02-06 Crypto system with cache invalidation processing function

Country Status (1)

Country Link
JP (1) JP4431691B2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4630800B2 (en) * 2005-11-04 2011-02-09 キヤノン株式会社 Print management system, print management method and program
JP4787055B2 (en) 2006-04-12 2011-10-05 富士通株式会社 Information processing apparatus with information division recording function
JP2007179541A (en) * 2006-12-11 2007-07-12 Toshiba Corp Information terminal device
US8555089B2 (en) 2009-01-08 2013-10-08 Panasonic Corporation Program execution apparatus, control method, control program, and integrated circuit
CN103379483B (en) 2012-04-16 2017-06-06 中兴通讯股份有限公司 A kind of method of information of mobile terminal safety management, device and mobile terminal
CN104660589B (en) * 2015-01-20 2021-09-10 中兴通讯股份有限公司 Method, system and terminal for encrypting control and information analysis of information

Also Published As

Publication number Publication date
JP2004240699A (en) 2004-08-26

Similar Documents

Publication Publication Date Title
JP6055988B1 (en) Computer program, secret management method and system
US6378071B1 (en) File access system for efficiently accessing a file having encrypted data within a storage device
US6507911B1 (en) System and method for securely deleting plaintext data
JP4593774B2 (en) Encrypted file system and method
JP3741357B2 (en) Data storage method and system, and data storage processing recording medium
US8856521B2 (en) Methods and systems for performing secure operations on an encrypted file
JP2005128996A (en) Information processing apparatus and system, and program
JP5354001B2 (en) Information processing apparatus, information processing system, and program
US7013392B1 (en) File processing unit
CN112269547A (en) Active and controllable hard disk data deleting method and device without operating system
US20020172363A1 (en) Data security on a mobile device
WO2007091652A1 (en) Tally information management method and management device
CN115758420B (en) File access control method, device, equipment and medium
JP4431691B2 (en) Crypto system with cache invalidation processing function
JP2004070674A (en) Data protecting device, data protecting method and program in electronic data interchange system
JP4895990B2 (en) Image processing apparatus and data erasing method
US20080080717A1 (en) Information processing apparatus, control method therefor and program
JPH10301856A (en) File access system and recording medium
JP2005165900A (en) Information leak prevention system
JP4897782B2 (en) Document management system, document management method, and program thereof
TWI263432B (en) Data security method for storage apparatus and storage media and electronic device
JP2012145982A (en) Computer system for information leakage countermeasures and program
CN101763319A (en) Disk FDE (Full Disk Encryption) system and method
JP2004199317A (en) Security system of computer
JPH1145202A (en) File erasure preventing device

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20050719

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060203

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20060203

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090818

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090825

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091021

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: 20091110

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091117

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130108

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130108

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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

Free format text: PAYMENT UNTIL: 20130108

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20130108

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130108

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140108

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees