JP5867190B2 - 情報処理装置、ファイル暗号化判定方法、権限決定方法およびプログラム - Google Patents

情報処理装置、ファイル暗号化判定方法、権限決定方法およびプログラム Download PDF

Info

Publication number
JP5867190B2
JP5867190B2 JP2012055313A JP2012055313A JP5867190B2 JP 5867190 B2 JP5867190 B2 JP 5867190B2 JP 2012055313 A JP2012055313 A JP 2012055313A JP 2012055313 A JP2012055313 A JP 2012055313A JP 5867190 B2 JP5867190 B2 JP 5867190B2
Authority
JP
Japan
Prior art keywords
file
application
information
encryption
authority
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.)
Active
Application number
JP2012055313A
Other languages
English (en)
Other versions
JP2013190896A (ja
Inventor
利光 薄羽
利光 薄羽
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2012055313A priority Critical patent/JP5867190B2/ja
Priority to US13/755,080 priority patent/US8793507B2/en
Priority to TW102106641A priority patent/TWI498767B/zh
Publication of JP2013190896A publication Critical patent/JP2013190896A/ja
Application granted granted Critical
Publication of JP5867190B2 publication Critical patent/JP5867190B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Description

本発明は、自動で暗号化を行う情報処理装置、そのためのファイル暗号化判定方法およびファイル暗号化判定プログラムに関する。また、本発明は、ファイルに対して許可する操作権限を自動で決定する情報処理装置、そのための権限決定方法および権限決定プログラムに関する。
これまで、ファイルの機密性を高めるために、ファイルを暗号化する取り組みが行われてきた。ただし、暗号化ファイルをアプリケーションで使用する場合には、特定アプリケーション専用のプラグインを使用する場合を除き、事前に復号してから使用しなければならず、その際にファイルの機密性を失うことがあった。
暗号化されたファイルをアプリケーションが使用する場合に機密性が失われる問題に関して、特許文献1には、様々なアプリケーションから暗号化ファイルを使用できる仕組みを提供するために、オペレーティングシステム(OS)が提供しているAPIをフックして、暗号化ファイルの復号処理や再暗号化処理を行うことが記載されている。
一般に、ファイルをユーザの指示によらないで暗号化しようとすると、任意のファイルが暗号化対象であるかを判定するために暗号化条件の設定が必要となる。例えば、特許文献1に記載されている情報処理装置では、フックしたAPIで処理対象となるファイルの内容に基づいて、当該ファイルが暗号化対象であるか否かを判定している。一例として、データのヘッダを参照して先頭8バイトの文字列が所定の文字列か否かを判定することによりデータのフォーマットがMS−WORDであるか否かを特定する例が示されている。この他、ファイルがあるフォーマットに従ったものであるか否かや、データ本体内に「confidential(機密)」という文字列が含まれているか否か、自然言語処理の結果から姓名に関する情報などの個人情報が含まれているか、画像であるか否か、画像の解像度が高解像度であるか否か、画像処理の結果から人間の顔に合致する画像が含まれているか等を判定することにより暗号化対象とするか否かを判定する例が示されている。
また、例えば、特許文献2には、オープン中の暗号ファイルを管理するためのファイルハンドルテーブルを用意して、アプリケーションプログラムからのファイル操作要求をフックし、自動的に暗号化および復号を行うことや、暗号化の対象とするディレクトリと暗号化したファイルを復元可能なユーザリストとをユーザ毎に設定可能にすることが記載されている。
特開2008−134821号公報 特開平10−260903号公報
特許文献1や特許文献2に記載されている方法によれば、ユーザが明示的に暗号化または復号の操作を指示しなくても、アプリケーションプログラム操作時にファイルの暗号化および復号を行うことができる。しかし、自動で暗号化を行う情報処理装置に適用させる暗号化条件を正しく設定することは非常に困難である。暗号化条件が正しく設定されない場合、無駄に膨大なファイルに対して暗号化が行われたり、逆に必要なファイルに暗号化が行われずに機密性が保持できないという問題が生じる。特に、暗号化条件が狭く設定された場合には暗号化漏れが発生する可能性が高い。
例えば、ディレクトリ名やアプリケーション名やユーザIDを暗号化条件に指定して、一律に自動暗号化処理を行うと、本来暗号化の必要のないファイルまで大量に暗号化されて処理速度の低下が懸念される。また、ディレクトリ構造や保有アプリケーション名、ログイン可能なユーザIDなどは使用環境によって異なるが、そのような使用環境によって異なる個別具体的な内容を用いて、暗号化が必要な範囲をもれのないように指定するのは困難であるだけでなく、手間がかかる。
なお、保存しようとするファイルに含まれる文字列や画像等のファイル内容に基づいて暗号化対象とするか否かを判定する方法によれば、アプリケーション単位、ディレクトリ単位またはユーザ単位で指定される一律の条件による暗号化処理の無駄は省けるかもしれない。しかし、機密情報を扱うファイルのファイル内容に、必ずしも「confidential(機密)」といった暗号化対象であることを明示する文字列や画像、個人情報が含まれているとは限らず、様々な種類の未知のファイルに対して暗号化条件をもれなく指定することは非常に困難である。
ところで、自動で暗号化を行う場合において暗号化もれが起こりやすい状況の一例として、暗号化ファイルをオープンした後に、そのファイルに一部内容の修正を加えて保存する場合が挙げられる。既に暗号化されたファイルを開いていることから、そのアプリケーションが保持しているファイル内容には機密情報が含まれる可能性が高いと言えるが、ユーザが、その後にファイル本体に含まれていた「confidential(機密)」といった文字列を削除したり、別の名前で保存したり、または別の場所に保存する操作を行うと、それにより暗号化条件に合致しなくなって暗号化が行われない場合があった。このケースの問題点は、一度重要なファイルとして指定されたファイルのデータが今現在どこにあるか、どのアプリケーションによって操作されているかを把握して、それに基づいて暗号化判定を行おうということが考えられていないことにある。
また、一度重要なファイルとして指定されたファイルのデータが今現在どこにあるか、どのアプリケーションによって操作されているかを把握しないことによる他の問題点として、情報処理装置がDRM(Digital Rights Management)システムと連携して動作する場合に、あるアプリケーションが複数のDRMファイルを開いていてファイル内容の転記を行うと、機密事項が転記された場合であっても新規保存するファイルに付与される操作権限に何ら制限がかからないということがあった。
従って、本発明は、自動で暗号化を行う情報処理装置において、動作環境や処理対象ファイルによって異なる個別具体的な暗号化条件を指定することを要せず、無駄な暗号化処理を低減し、かつ暗号化もれを適切に防ぐことを目的とする。
特に、暗号化条件を指定しなくても、一度重要なファイルとして指定されたデータに対する暗号化をもれなくすることを目的とする。
また、本発明は、あるアプリケーションが複数のDRMファイルを開いている場合に、それらのファイルに対する操作権限が不当に緩和されることを防ぐことを目的とする。
本発明による情報処理装置は、アプリケーションが起動してからこれまでに操作したファイルに関する情報であって、当該アプリケーションが1つ以上の暗号化ファイルを開いたか否かを示す情報を含むアプリ操作ファイル情報を保持するアプリ操作ファイル情報保持手段と、任意のアプリケーションによってクローズされた任意のファイルに対して、当該ファイルをクローズする操作を行ったアプリケーションについてアプリ操作ファイル情報保持手段に保持されているアプリ操作ファイル情報に基づいて、当該ファイルを暗号化対象とするか否かを判定する暗号化判定手段とを備え、暗号化判定手段は、任意のファイルに対して、当該ファイルをクローズする操作を行ったアプリケーションが起動してからこれまでに1つ以上の暗号化ファイルを開いたことがあれば、当該ファイルを暗号化対象と判定することを特徴とする。
本発明による情報処理装置は、アプリケーションが起動してからこれまでに操作したファイルに関する情報であって、当該アプリケーションが開いたファイルに付されている操作権限のうち最も低い権限である最低権限を示す情報を含むアプリ操作ファイル情報を保持するアプリ操作ファイル情報保持手段と、任意の新規保存ファイルまたは任意のアプリケーションによってオープンされた任意のファイルに対して、当該ファイルをクローズする操作を行ったまたは当該ファイルをオープンする操作を行ったアプリケーションについてアプリ操作ファイル情報保持手段に保持されているアプリ操作ファイル情報に基づいて、当該ファイルに対して許可する操作権限を決定する権限決定手段とを備え、権限決定手段は、最低権限を、ファイルに対して許可する操作権限として決定することを特徴とする。
本発明によるファイル暗号化判定方法は、アプリケーションが起動してからこれまでに操作したファイルに関する情報であって、当該アプリケーションが1つ以上の暗号化ファイルを開いたか否かを示す情報を含むアプリ操作ファイル情報を記憶装置に保持させ、情報処理装置が、任意のアプリケーションによってクローズされた任意のファイルに対して、当該ファイルをクローズする操作を行ったアプリケーションについて記憶装置に保持されているアプリ操作ファイル情報に基づいて、当該ファイルを暗号化対象とするか否かを判定し、情報処理装置が、ファイルをクローズする操作を行ったアプリケーションが起動してからこれまでに1つ以上の暗号化ファイルを開いたことがあれば、当該ファイルを暗号化対象と判定することを特徴とする。
本発明による権限決定方法は、アプリケーションが起動してからこれまでに操作したファイルに関する情報であって、当該アプリケーションが開いたファイルに付されている操作権限のうち最も低い権限である最低権限を示す情報を含むアプリ操作ファイル情報を記憶装置に保持させ、情報処理装置が、任意の新規保存ファイルまたは任意のアプリケーションによってオープンされた任意のファイルに対して、当該ファイルをクローズする操作を行ったまたは当該ファイルをオープンする操作を行ったアプリケーションについて記憶装置に保持されているアプリ操作ファイル情報に基づいて、当該ファイルに対して許可する操作権限を決定し、情報処理装置が、操作権限を決定する際、最低権限を、ファイルに対して許可する操作権限として定めることを特徴とする。
本発明によるファイル暗号化判定プログラムは、コンピュータに、アプリケーションが起動してからこれまでに操作したファイルに関する情報であって、当該アプリケーションが1つ以上の暗号化ファイルを開いたか否かを示す情報を含むアプリ操作ファイル情報を記憶装置に保持させる処理、および任意のアプリケーションによってクローズされた任意のファイルに対して、当該ファイルをクローズする操作を行ったアプリケーションについて記憶装置に保持されているアプリ操作ファイル情報に基づいて、当該ファイルを暗号化対象とするか否かを判定する処理を実行させ、判定する処理で、ファイルをクローズする操作を行ったアプリケーションが起動してからこれまでに1つ以上の暗号化ファイルを開いたことがあれば、前記ファイルを暗号化対象と判定させることを特徴とする。
本発明による権限決定プログラムは、アプリケーションが起動してからこれまでに操作したファイルに関する情報であって、当該アプリケーションが開いたファイルに付されている操作権限のうち最も低い権限である最低権限を示す情報を含むアプリ操作ファイル情報を記憶装置に保持させる処理、および任意の新規保存ファイルまたは任意のアプリケーションによってオープンされた任意のファイルに対して、当該ファイルをクローズする操作を行ったまたは当該ファイルをオープンする操作を行ったアプリケーションについて記憶装置に保持されているアプリ操作ファイル情報に基づいて、当該ファイルに対して許可する操作権限を決定する処理を実行させ、操作権限を決定する処理で、最低権限を、ファイルに対して許可する操作権限として定めさせることを特徴とする。
本発明によれば、自動で暗号化を行う情報処理装置において、動作環境や処理対象ファイルによって異なる個別具体的な暗号化条件を指定しなくても、無駄な暗号化処理を低減し、かつ暗号化もれを適切に防ぐことができる。
第1の実施形態の情報処理装置の構成例を示すブロック図である。 第1の実施形態の情報処理装置の動作例を示すフローチャートである。 第1の実施形態の情報処理装置の動作例を示すフローチャートである。 第2の実施形態の情報処理装置の構成例を示すブロック図である。 第2の実施形態の情報処理装置の他の構成例を示すブロック図である。 第1の実施例の情報処理装置(コンピュータ50)の構成例を示すブロック図である。 自動暗号化用ファイルフックプログラム52の構成例を示す機能ブロック図である。 自動暗号化ファイルのファイル構造の例を示す説明図である。 ファイル管理情報保持部526が保持する情報の一例を示す説明図である。 アプリケーション管理情報保持部527が保持する情報の一例を示す説明図である。 第1の実施例のファイルオープン時のフック処理の動作例を示すフローチャートである。 第1の実施例のファイルクローズ時のフック処理の動作例を示すフローチャートである。 本発明の概要を示すブロック図である。 本発明の概要を示すブロック図である。
実施形態1.
以下、本発明の実施形態について図面を参照して説明する。図1は、本発明の第1の実施形態の情報処理装置の構成例を示すブロック図である。図1に示す情報処理装置1は、ファイル操作検出手段11と、アプリ操作ファイル情報登録手段12と、アプリ操作ファイル情報保持手段13と、暗号化判定手段14と、暗号化手段15とを備える。
ファイル操作検出手段11は、アプリケーションからの所定のファイル操作が行われたことまたは行われることを検出する。例えば、オペレーティングシステムが提供するファイル操作用のAPIをフックすることで、アプリケーションからの所定のファイル操作要求を検出してもよい。この場合、ファイル操作検出手段11は、少なくともその要求によりファイルのオープン動作またはクローズ動作が行われるファイル操作要求を検出する。
アプリ操作ファイル情報登録手段12は、ファイル操作検出手段11によってアプリケーションが所定のファイル操作要求を行ったことが検出された場合に、当該ファイル操作の要求元であるアプリケーションの情報および操作対象とされたファイルの情報を取得する。そして、取得した中から必要な情報をアプリ操作ファイル情報として、アプリ操作ファイル情報保持手段13に保持させる。ここでは、情報を登録するだけでなく、既に登録されている情報を書き換えたり、消去する動作も含まれる。以下、これらの動作をまとめて更新と呼ぶ。
アプリ操作ファイル情報登録手段12は、アプリ操作ファイル情報として、少なくとも現在動作中の任意のアプリケーションについて、当該アプリケーションが起動から終了するまでの間に暗号化ファイルをオープンしたか否かがわかるような情報、例えば現在動作中のアプリケーションが起動してから今までに操作したファイルに関する情報を、アプリ操作ファイル情報保持手段13に記憶させる。さらに、アプリ操作ファイル情報登録手段12は、アプリケーション終了時または起動時に、当該アプリケーションに関するアプリ操作ファイル情報を削除またはクリアする機能を有していてもよい。また、アプリ操作ファイル情報登録手段12は、該当するアプリケーションが復号を許可されているか否か、また復号処理が成功したか否かを含めて、暗号化ファイルを正しくオープンしたか否かを示す情報をアプリ操作ファイル情報保持手段13に登録してもよい。
アプリ操作ファイル情報保持手段13は、アプリ操作ファイル情報を保持するための記憶手段である。アプリ操作ファイル情報保持手段13は、アプリ操作ファイル情報として、現在動作中のアプリケーションが起動してから今までに操作したファイルに関する情報を記憶する。例えば、暗号化ファイルをオープンしているアプリケーションプログラムに関する情報と、該アプリケーションプログラムによってオープンされているファイルに関する情報とを対応づけた情報を記憶してもよい。より具体的には、アプリケーションを識別するための識別子と、当該アプリケーションが起動してから今までに操作したファイルに暗号化ファイルが含まれていたか否かを示す暗号化ファイル操作フラグとを対応づけて記憶してもよい。さらに、そのファイル操作を行った時刻や、そのファイル操作を行ったユーザの情報を含んでいてもよい。
暗号化判定手段14は、ファイル操作検出手段11によってアプリケーションがファイルのクローズ操作要求を行ったことが検出された場合に、処理対象であるファイルが暗号化の対象であるか否かを判定する。暗号化判定手段14は、アプリ操作ファイル情報保持手段13に保持されているアプリ操作ファイル情報に基づいて、ファイルクローズ操作の要求元アプリケーションが今までに暗号化ファイルをオープンしたか否かを判定し、1つ以上の暗号化ファイルをオープンしていれば、それ以降にクローズするファイルを全て暗号化の対象とする。
暗号化手段15は、暗号化判定手段14の判定結果に基づいて、ファイルを暗号化する。
本実施形態において、ファイル操作検出手段11、アプリ操作ファイル情報登録手段12、暗号化判定手段14、暗号化手段15は、例えばプログラムに従って動作するCPUによって実現される。また、アプリ操作ファイル情報保持手段13は、例えば記憶装置によって実現される。また、ファイル操作検出手段11、アプリ操作ファイル情報登録手段12、暗号化判定手段14、暗号化手段15は、アプリケーションプログラムまたはそのモジュールとして提供され、情報処理装置1が備えるCPUがそのアプリケーションプログラムまたはそのモジュールを読み込むことによって動作する仕組みであってもよい。
次に、本実施形態の動作について説明する。図2および図3は、本実施形態の情報処理装置1の動作の一例を示すフローチャートである。本実施形態の動作は、ファイルのオープン動作が行われるファイル操作要求を検出したときの動作と、ファイルのクローズ動作が行われるファイル操作要求を検出したときの動作とで大きく2つに分けられる。
図2は、ファイルのオープン動作を伴うファイル操作要求を検出した際の情報処理装置1の動作の一例を示すフローチャートである。図2に示す例は、まずファイル操作検出手段11が、ファイルオープン動作を伴うファイル操作要求を検出するところから始まっている(ステップS11)。
ファイル操作検出手段11によってファイルオープン動作を伴うファイル操作要求が検出されると、アプリ操作ファイル情報登録手段12が、要求元アプリケーションに関する情報を取得する(ステップS12)。アプリ操作ファイル情報登録手段12は、例えば、要求元アプリケーションのプロセスIDやアプリケーション名を得てもよい。
次いで、アプリ操作ファイル情報登録手段12は、要求されたファイル操作(ここでは、ファイルオープン動作)を実行させ(ステップS13)、その結果得られる情報を基に、操作対象ファイルに関する情報を得る(ステップS14)。アプリ操作ファイル情報登録手段12は、例えば、ファイルオープン操作の対象ファイルのファイルハンドルや、そのファイルのファイル識別子や、ヘッダ情報を得てもよい。
次いで、アプリ操作ファイル情報登録手段12は、対象ファイルが暗号化ファイルであるか否かおよび暗号化ファイルであれば復号処理を含めて正しくオープンされたか否かを判定する(ステップS15,S16)。ここで、対象ファイルが暗号化ファイルであって正しくオープンされた場合には(ステップS15のYesかつステップS16のYes)、アプリ操作ファイル情報登録手段12は、要求元アプリケーションに関するアプリ操作ファイル情報を更新する(ステップS17)。例えば、アプリ操作ファイル情報登録手段12は、要求元アプリケーションのプロセスIDと対応づけて、暗号化ファイルをオープンしたことを示す暗号化ファイル操作フラグを、アプリ操作ファイル情報保持手段13に登録してもよい。
なお、正しくオープンされない例としては、指定したファイルが存在しない、暗号化ファイルを復号できない(復号失敗や復号する権限を有しない)などが挙げられる。逆に、正しくオープンされた状況とは、要求元アプリケーションが暗号化ファイルの内容を、以降自由に扱える状態を指している。
また、このとき登録されたアプリ操作ファイル情報は、そのアプリケーションが動作している間保持されるものとする。例えば、アプリ操作ファイル情報登録手段12が、アプリケーションの起動または終了が検出された際に、そのアプリケーションに関するアプリ操作ファイル情報をクリアする処理を行ってもよい。
また、上記動作は、既に1つ以上の暗号化ファイルを当該情報処理装置1が保持していることを前提としているが、これらの暗号化ファイルは、例えば、ユーザ操作によって手動で暗号化されたものであってもよいし、別の暗号化条件に従って自動で暗号化されたものであってもよい。もちろん、本発明による暗号化条件に従って自動で暗号化されたものであってもよい。
また、図3は、ファイルのクローズ動作を伴うファイル操作要求を検出した際の情報処理装置1の動作の一例を示すフローチャートである。図3に示す例は、まずファイル操作検出手段11が、ファイルクローズ動作を伴うファイル操作要求を検出するところから始まっている(ステップS21)。
ファイル操作検出手段11によってファイルクローズ動作を伴うファイル操作要求が検出されると、暗号化判定手段14は、要求元アプリケーションに関する情報を取得して、取得した要求元アプリケーションの情報を元に、当該アプリケーションのアプリ操作ファイル情報をアプリ操作ファイル情報保持手段13から読み出す(ステップS22,S23)。
そして、要求元アプリケーションが、今までに暗号化ファイルを1つ以上オープンしていた場合には(ステップS24のYes)、当該ファイルを暗号化の対象に決定し、暗号化手段15に暗号化処理を依頼する。暗号化手段15は、暗号化判定手段14の判定結果を受けて、対象ファイルを暗号化する(ステップS25)。
その後、要求されたファイル操作(ここでは、ファイルクローズ動作)を実行する(ステップS26)。
なお、アプリケーションが要求したファイル操作が、ファイルオープン動作とファイルクローズ操作の両方を伴うものである場合には、1回の検出において、上記で示した2つの動作を連続して行えばよい。
以上のように、本実施形態では、当該情報処理装置1上で動作する任意のアプリケーションに対して、「そのアプリケーションが1つ以上の暗号化ファイルをオープンしたこと」を暗号化条件として、自動暗号化処理を行っている。これにより、個別具体的な暗号化条件を設定、調査しなくても無駄な暗号化処理を低減し、かつ暗号化もれを適切に防ぐことができる。その理由は、暗号化条件がアプリケーションの処理内容やファイルの内容に非依存であるとともに、重要なファイルとして指定されたデータが今現在どのアプリケーションによって操作されうるかを認識可能にして、それに基づいて暗号化判定を行うからである。
実施形態2.
次に、本発明の第2の実施形態について説明する。第1の実施形態では、重要なファイルとして指定されたデータが今現在どのアプリケーションによって操作されうるかに基づいて暗号化判定を行うという着眼点の下、アプリ操作ファイル情報を保持し、それに基づいて暗号化の対象とするか否かの判定を行ったが、本実施形態では、同様の着眼点の下、アプリ操作ファイル情報を、ファイルに適切な権限を付すために利用する。
図4は、本実施形態の情報処理装置の構成例を示すブロック図である。図4に示す例では、情報処理装置2は、図1に示す構成の暗号化判定手段14および暗号化手段15に代えて、権限決定手段21と権限付与手段22とを備えている。また、アプリ操作ファイル情報登録手段12がアプリ操作ファイル情報登録手段12’に変更され、アプリ操作ファイル情報保持手段13がアプリ操作ファイル情報保持手段13’に変更されている。
アプリ操作ファイル情報登録手段12’は、アプリ操作ファイル情報として、そのアプリケーションで起動からこれまでの間に開いたファイルに付された権限のうち最も低い権限すなわち今までに開いたファイルのうち最も制限がかけられているファイルにおいて許されている権限を示す情報をアプリ操作ファイル情報保持手段13’に保持させる。
権限決定手段21は、ファイル操作検出手段11によってアプリケーションが所定のファイル操作要求を行ったことが検出された場合に、アプリ操作ファイル情報保持手段13に保持されているアプリ操作ファイル情報に基づいて、当該ファイルに付与する権限を決定する。
権限決定手段21は、例えば、ファイルクローズ時に操作対象とされたファイルに対して、そのファイル操作の要求元であるアプリケーションが起動してからこれまでに開いたファイルに付された権限のうち最低権限を付与するよう決定してもよい。
また、例えば、ファイルオープン時に、そのファイルに付されている権限に関わらず、そのファイル操作の要求元であるアプリケーションが起動してからこれまでに開いたファイル(当該ファイルを含む)に付された権限のうち最低権限で動作するように制御してもよい。
権限付与手段22は、権限決定手段21による決定に基づいて、指定されたファイルまたは指定されたファイルを操作するアプリケーションに当該ファイルに関する権限を付与する。
以上のように、本実施形態によれば、DRMシステムと連携して、アプリケーションが複数のDRMファイルを開いている時に、これら任意のファイルに対して、最も制限の厳しい権限を保存時やアプリケーションからの操作時に設定でき、アプリケーションによってファイル内容の転記などが行われる場合であっても、権限が不当に緩和されるることを防ぐことができる。
また、図5は、第2の実施形態の情報処理装置の他の構成例を示すブロック図である。図5に示す情報処理装置3のように、図1に示す自動暗号化機能を有する情報処理装置1と図4に示す情報処理装置2とを組み合わせて用いることも可能である。図5は、第2の実施形態の情報処理装置の他の構成例を示すブロック図である。この場合、アプリ操作ファイル情報登録手段12’’は、アプリ操作ファイル情報として、少なくとも現在動作中の任意のアプリケーションについて、当該アプリケーションが起動から終了するまでの間に暗号化ファイルをオープンしたか否かを示す情報に加えて、そのアプリケーションで起動からこれまでの間に開いたファイルに付された権限のうち最も低い権限すなわち今までに開いたファイルのうち最も制限がかけられているファイルにおいて許されている権限を示す情報をアプリ操作ファイル情報保持手段13’’に保持させればよい。
また、権限決定手段21は、例えば、ファイルを自動で暗号化する際に、そのファイルに、そのファイルを閉じるアプリケーションがこれまでに開いたファイルに付された権限のうちの最低権限を付与するように動作してもよい。
以下、実施例を用いて上記実施形態を説明する。図6は、本発明の情報処理装置の他の構成例を示すブロック図である。図6は、上記第1の実施形態の情報処理装置の一実施例に相当するコンピュータ50の例を示すブロック図である。
図6に示すコンピュータ50は、図示省略しているが、主制御手段としてCPU、主記憶手段としてROMやRAM、補助記憶手段としてハードディスク、入出力インタフェースとしてのキーボードやマウスおよびディスプレイ、通信インタフェースとしてのLANボード等を備えた一般的な情報処理装置であって、そのような物理手段を動作させるための各種機能手段として、アプリケーションプログラム51と、自動暗号化用ファイルフックプログラム52と、オペレーティングシステム53と、暗復号化処理プログラム55とがインストールされている。なお、これらのプログラムは、ネットワーク等の通信手段により提供されたり、CD−ROM等の記録媒体に格納して提供されることも可能である。
アプリケーションプログラム51は、文書の作成、編集などを行うための一般的なソフトウェアである。オペレーティングシステム53は、コンピュータ50を統括管理するソフトウェアである。なお、オペレーティングシステム53の例として、例えば、WindowsやLinux(いずれも登録商標)が挙げられる。
自動暗号化用ファイルフックプログラム52は、オペレーティングシステム53上でファイル処理を行うプログラムをフックするソフトウェアである。具体的には、オペレーティングシステム53に含まれるファイル処理を行うAPIをフックし、自動暗号化に必要な各種処理を実施するソフトウェアである。そのため、アプリケーションプログラム51によるAPIを用いたファイル処理は、この自動暗号化用フックプログラム52を経由して行われる。フックの実現方法は、従来より良く知られている手法を用いればよい。
なお、以下に示す例では、ファイル処理を行うAPIとして、「CreateFile()」、「CloseHandle()」、「Exitprocess()」をフックする場合について説明するが、フック対象とするAPIはこれに限定されない。例えば、「ReadFile()」、「WriteFile()」、「SetFilePointer()」、「GetFileSize()」などを含めてもよい。なお、これらのAPIでは、暗号化ファイルのファイル構成が図8に示すように非暗号化ファイルと異なるためにその差分を吸収するための各種処理を行うが、ファイルを暗号化対象とするか否かの判定処理には直接かかわらないため、説明省略する。
ここで、これらAPIを用いたファイル処理の大まかな流れについて説明すると、最初に「CreateFile()が呼び出されファイルがオープンされるとともに、ファイルハンドルと呼ばれる識別子が呼び出し元のアプリケーションに渡される。このファイルハンドルを指定して「ReadFile()」や「WriteFile()」等が呼びだれると、当該ファイルに対して読み込みや書き込み等が行われる。また、「CloseHandle()」が呼び出されるとそのファイルが閉じられ、一連のファイル処理が終了する。また、「ExitProcess()」が呼び出された場合には、そのアプリケーションプログラムが終了する。
記憶装置54は、主記憶手段と補助記憶手段とを含み、本実施例では、ファイル等を含む各種データを記憶する。なお、図6に示す例では、通常ファイル54bと、暗号化ファイル54aとが記憶されている。
暗復号化処理プログラム55は、指定されたファイルを暗号化したり、復号する処理を行う。暗復号化処理プログラム55が行う暗号化処理および復号処理には、ユーザが対象ファイルを選択後、コンテキストメニュー等で指示する場合に行われる暗号化処理および復号処理も含まれる。
図7は、自動暗号化用ファイルフックプログラム52のより具体的な構成例を示す機能ブロック図である。図7に示す自動暗号化用ファイルフックプログラム52は、API監視部521と、暗号化判定部522と、復号判定部523と、暗号化処理部524と、復号処理部525と、ファイル管理情報保持部526と、アプリケーション管理情報保持部527と、メイン制御部528とを含む。
API監視部521は、ファイル処理に関わるAPIを監視する。API監視部521は、例えば、API呼び出し指示検出部521aを有し、このAPI呼び出し指示検出部521aが、監視対象のAPIに対するアプリケーションプログラム51からの呼び出し指示を検出してもよい。
暗号化判定部522は、API監視部521によるAPIの監視の結果、監視対象のAPIに対するアプリケーションからの呼び出し指示が行われたことが検出されると、該APIにおいて処理対象とされたファイルが暗号化処理の対象となるか否かを判定する。
復号判定部523は、API監視部521によるAPIの監視の結果、監視対象のAPIに対するアプリケーションからの呼び出し指示が行われたことが検出されると、該APIにおいて処理対象とされたファイルが復号処理の対象となるか否かを判定する。なお、本実施例では、少なくとも暗号化処理部524で暗号化されたファイルは図8に示すようなファイル構造をとるものとする。図8に示すファイル構造は、ファイルが暗号化されていることを示すために、ヘッダに「FXENCDAT」の文字列を書き込まれている。なお、識別方法はこれに限定されない。例えば、任意の文字列に変更可能である。なお、この他、ファイルの識別子によって識別することも可能である。
暗号化処理部524は、暗号化判定部522の判定結果を受けて、指定されたファイルに対して暗号化処理を行う。
復号処理部525は、復号判定部523の判定結果を受けて、指定されたファイルに対して復号処理を行う。
ファイル管理情報保持部526は、処理対象とされたファイルに関する情報を保持する。ファイル管理情報保持部526は、例えば、処理対象とされたファイルに関する情報として、図9に示すようなファイル管理テーブルを保持してもよい。図9は、ファイル管理情報保持部526が保持する情報の一例を示す説明図である。図9に示すファイル管理テーブルには、ファイル識別子としての機能を果たすファイルハンドルと対応づけて、当該ファイルを利用しているアプリケーションプログラムのプロセスID、バッファ内におけるファイルの先頭位置アドレスを示す先頭位置情報、ファイルの読み出し位置を示す現在位置情報と、ファイルの大きさを示すファイルサイズとが保持される。
アプリケーション管理情報保持部527は、暗号化されたファイルを利用しているアプリケーションプログラムに関する情報を保持する。アプリケーション管理情報保持部527は、暗号化されたファイルを利用しているアプリケーションに関する情報として、例えば、図10に示すようなアプリケーション管理テーブルを保持してもよい。図10は、アプリケーション管理情報保持部527が保持する情報の一例を示す説明図である。図10に示すアプリケーション管理テーブルには、アプリケーションプログラムの単位であるプロセスを識別するプロセスIDと対応づけて、アプリケーションプログラムの実行ファイル名を示すプログラム名が保持される。
制御部528は、自動暗号化用ファイルフックプログラム52における各種処理を統括制御する。自動暗号化用ファイルフックプログラム52に実装される各処理機能部(例えば、API監視部521や、暗号化判定部522、復号判定部523、暗号化処理部524、復号処理部525、ファイル管理情報保持部526、アプリケーション管理情報保持部527)は、この制御部528からの指示に従って動作する。また、制御部528は、各処理機能部間で発生するデータの入出力も制御する。
なお、本実施例では、アプリケーションプログラム51、自動暗号化用ファイルフックプログラム52の各処理機能部、オペレーティングシステム53または暗復号処理プログラム55が各種処理を行うといった表現を用いるが、そのような場合には、それらプログラムまたはモジュールを読み込んだCPUが、読み込んだプログラムまたはモジュールに従って動作することにより各種処理を規定したコードを実行することを意味する。また、自動暗号化用ファイルフックプログラム52に含まれるファイル管理情報保持部526やアプリケーション管理情報保持部527が情報を保持するといった表現を用いるが、そのような場合には、自動暗号化用ファイルフックプログラム52に含まれる各種定義および処理に従ってCPUが動作することにより、ファイル管理情報保持部526用またはアプリケーション管理情報保持部527用の記憶領域が記憶装置等に確保され、その記憶領域にデータが記憶されることを意味する。
次に、本実施形態の動作を説明する。図11は、自動暗号化用ファイルフックプログラム52によるAPIフック処理のうちファイルオープン時のフック処理の動作例を示すフローチャートである。なお、図11では、ファイルオープン時に呼び出されるAPI「CreateFile()」を例に用いてファイルオープン時の自動暗号化用ファイルフックプログラム52におけるフック処理の動作例を示している。
図11に示すように、アプリケーションプログラム51から「CreateFile()」の呼び出しが指示されると、自動暗号化用ファイルフックプログラム52のAPI呼び出し指示検出部521aがその呼び出し指示を検出する(ステップS101)。なお、この「CreateFile()」の引数には、処理対象となるファイル名や、ファイルの存在の真偽に応じたより詳細な動作方法の指定などが設定される。
呼び出し指示が検出されると、自動暗号化用ファイルフックプログラム52の制御部528は、指示されたAPI「CreateFile()」を呼び出し、呼び出したAPIによってファイルをオープンさせる(ステップS102)。ファイルがオープンされると、戻り値としてファイルハンドルが渡される。
ファイルオープンが済むと、自動暗号化用ファイルフックプログラム52では、復号判定部523が、処理対象のファイルが復号処理の対象であるかを判定する(ステップS103)。復号判定部523は、例えば、ファイルヘッダに文字列「FXENCDAT」が設定されているか否か、およびAPIの呼び出し元アプリケーションがファイルの復号を許可されているアプリケーションプログラムであるか否かによって判定してもよい。本例では、ファイルヘッダに「FXENCDAT」が設定され、かつ、呼び出し元がファイルの復号を許可されているアプリケーションプログラムである場合には当該ファイルを復号処理の対象であると判定する。なお、ファイルヘッダの参照には、「ReadFile()」などのAPIを用いればよい。
なお、復号化許可の判定条件は、呼び出し元アプリケーションプログラムを用いる以外にも、ファイルの拡張子、ユーザID、パスワード、グループID、ファイルパス、有効期限、オープン回数などと組み合わせたものを判定条件としてもよい。
判定の結果、復号処理の対象でないと判定された場合には(ステップS104のNo)、この結果を受けた制御部528が、ファイル内からそのままデータ本体を読み出し、バッファに展開する(ステップS105)。次いで、制御部528からの指示を受けたファイル管理情報保持部526が、オープンされているファイルに関わる情報として、当該ファイルをオープンしたアプリケーションを識別するためのプロセスIDを含む情報をファイル管理テーブルに設定する(ステップS112)。その後、制御部528は、ファイルハンドルをAPIを呼び出したアプリケーションプログラム51に引き渡して(ステップS113)、このAPIの呼び出し指示による一連の処理を終了する。
一方、判定の結果、渡されたファイルハンドルによって示されるファイルが復号処理の対象であると判断された場合には(ステップS104のYes)、この結果を受けた制御部528が、ファイル内から暗号化されたAES(Advanced Encryption Standard)鍵を読み出し(ステップS106)、復号処理部525にユーザの秘密鍵を用いてAES鍵を復号させる(ステップS107)。なお、秘密鍵がなかった場合には、AES鍵を復号できないため復号失敗とすればよい(ステップS108のNo)。この場合、制御部528は、ファイルオープンエラーをアプリケーションプログラム51に返す(ステップS111)。
復号処理部525は、秘密鍵によりAES鍵が復号されると(ステップS108のYes)、次に、ファイル内からデータ本体を読み出して、これをバッファに展開するとともに復号されたAES鍵を用いて当該データ本体を復号する(ステップS109)。
復号処理部525による復号処理が完了すると、制御部528からの指示を受けたアプリケーション管理情報保持部527が、呼び出し元のアプリケーションについて、当該アプリケーションが暗号化ファイルをオープンしたことを示すために、当該アプリケーションに関する情報をアプリケーション管理テーブルに設定する(ステップS110)。ここでは、アプリケーション管理テーブルに、当該アプリケーションプログラムを識別するための識別子としてのプロセスIDと、アプリケーションプログラムがどのようなプログラムであるかを示すプログラム名とを含む情報を登録する。
以降は、復号対象でないファイルをオープンした場合と同様の処理を行えばよい。すなわち、ファイル管理情報保持部526が、当該ファイルに係わる情報をファイル管理テーブルに設定し(ステップS112)、その後制御部528が、ファイルハンドルをAPIを呼び出したアプリケーションプログラム51に引き渡して(ステップS113)、このAPIの呼び出し指示による一連の処理を終了する。
また、図12は、自動暗号化用ファイルフックプログラム52によるAPIフック処理のうちファイルクローズ時のフック処理の動作例を示すフローチャートである。なお、図12では、ファイルクローズ時に呼び出されるAPI「CloseHandle()」を例に用いてファイルクローズ時の自動暗号化用ファイルフックプログラム52におけるフック処理の動作例を示している。
図12に示すように、アプリケーションプログラム51から「CloseHandle()」の呼び出しが指示されると、自動暗号化用ファイルフックプログラム52のAPI呼び出し指示検出部521aがその呼び出し指示を検出する(ステップS201)。なお、この「CloseHandle()」の引数には、処理対象となるファイルに割り当てられたファイルハンドルなどが設定される。
呼び出し指示が検出されると、自動暗号化用ファイルフックプログラム52の制御部528は、呼び出し指示がされたAPIにて処理対象となるファイルがファイル管理テーブルに登録済みであるか否かの確認を行う(ステップS202)。この登録済みであるか否かの確認は「CloseHandle()」の引数に設定されたファイルハンドルがファイル管理テーブルに登録されているか否かに基づき行われる。
確認の結果、当該処理対象となるファイルがファイル管理テーブルに登録されていなかった場合には(ステップS203のNo)、制御部528は、そのまま「CloseHandle()」を呼び出し、呼び出したAPIによってファイルをクローズさせる(ステップS204)。そして、その処理結果をアプリケーションプログラム51に引き渡して(ステップS205)、このAPIの呼び出し指示による一連の処理を終了する。
一方、当該処理対象となるファイルがファイル管理テーブルに登録されていた場合には(ステップS203のYes)、制御部528は、「SetFilePointer()」を呼び出し、バッファ内におけるデータの読み出し位置を先頭に移す(ステップS206)。
次に、制御部528はファイル管理情報保持部526に指示し、ファイル管理テーブルから当該ファイルハンドルに対応するプロセスIDを取得し、取得したプロセスIDがファイル管理テーブルに登録されているか否かを確認する(ステップS207)。
確認の結果、ファイル管理テーブルに指定されたプロセスIDが登録されていなかった場合には(ステップS208のNo)、制御部528は、バッファの内容をそのままファイルに書き込んだ後(ステップS209)、「CloseHandle()」を呼び出してファイルをクローズさせる。それとともに、ファイル管理テーブル上の対応するファイル情報を削除して(ステップS210)、このAPIの呼び出し指示による一連の処理を終了する。
一方で、ファイル管理テーブルに指定されたプロセスIDが登録されていた場合には(ステップS208のYes)、暗号化処理部524による暗号化処理が開始される。この暗号化処理ではまず、所定の文字列が書き込まれたヘッダをファイルに書き込む(ステップS211)。
ヘッダの書き込みが終了すると、暗号化処理部524は、AES鍵を生成して、生成したAES鍵をユーザの公開鍵を用いて暗号化する(ステップS212)。また、生成されたAES鍵を用いてバッファ内のデータ本体を暗号化する(ステップS213)。その後、公開鍵を用いて暗号化されたAES鍵と、AES鍵を用いて暗号化されたデータ本体とをファイルに書き込み(ステップS214)、暗号化処理を終了する。
暗号化処理部524による暗号化処理が終了すると、制御部528は、「CloseHandle()」を呼び出してファイルをクローズさせるとともに、ファイル管理テーブル上の対応するファイル情報を削除して(ステップS210)、このAPIの呼び出し指示による一連の処理を終了する。
次に、プロセス終了時のフック処理の自動暗号化用ファイルフックプログラム52の動作を説明する。なお、ここでは、起動中のアプリケーションのプロセスの終了時に呼び出される「ExitProcess()」を例に用いてロセス終了時のフック動作を説明する。
アプリケーションプログラム51から「ExitProcess()」の呼び出しが指示されると、API呼び出し指示検出部521aがその呼び出し指示を検出する。呼び出し指示が検出されると、制御部528は、「ExitProcess()」を呼び出すことによりプロセスを終了するとともに、アプリケーション管理テーブル上の対応するアプリケーション情報を削除する。
以上のように、本実施例によれば、自動暗号用ファイルフックプログラム52が、ファイル管理情報保持部526とアプリケーション管理情報保持部527とを用いて、当該コンピュータ50上で動作しているアプリケーションについて、そのアプリケーションが今までに1つ以上の暗号化ファイルをオープンしたか否かを示す情報を管理し、その情報に基づいて、ファイルクローズ時に当該ファイルを暗号化するか否かを判定するので、個別具体的な暗号化条件を設定することを要せずに、無駄な暗号化処理を低減し、かつ暗号化もれを適切に防ぐことができる。
なお、上記実施例においては、Windowsに設けられているAPIをフックする場合について説明したが、他のオペレーティングシステムにも同等のAPIが用意されているので、他のオペレーティングシステムの場合にはそれら同等のAPIをフックして上記同様の処理を行えばよい。
また、本発明は、上記および図面に示す実施例に限定されることなく、その要旨を変更しない範囲内で変更して実施できるものである。ここで、変形例について幾つか列挙する。
例えば、以下のようにしてDRMシステムと連携させる応用が可能である。すなわち、アプリケーション管理テーブルに、当該アプリケーションで開いたファイルに付与されている操作権限のうち最も低いものを保持するようにし、暗号化処理(図12のステップS211〜S214)で、そのファイルを開いたアプリケーションについてのアプリケーション管理テーブルに保持された最低権限を付与して暗号化する。これにより、複数のDRMファイルを開いている時には、最も制限の厳しい権限を新規保存ファイルに設定でき、制限のより緩い権限のファイルが作成されることを防ぐことができる。
例えば、1つのアプリケーションで「編集、コピー/ペースト」のみが許可されたファイルAと、「編集、コピー/ペースト、印刷」のみが許可されたファイルBとを開いている場合、これまでのDRMシステムでは、ファイルAの内容をファイルBにコピーし、保存することでファイルBの権限で印刷できてしまう。このようなファイル内容の転記などによる権限の不当な緩和を阻止するために、ファイルBを保存する際にそのアプリケーションで開いたファイルの権限のうち最も低いものとして、ファイルAの権限「編集、コピー/ペースト」と同等の権限をファイルBに付与することで、権限の不当な緩和を阻止できる。
また、DRMシステムと連携する他の例としては、各アプリケーションを、そのアプリケーションについてのアプリケーション管理テーブルに保持された最低権限で動作させてもよい。上記例でいうと、ファイルBを開いた際またはファイルAを開いた際に、そのアプリケーションで開いたファイルの権限のうち最も低いものとして、ファイルAの権限「編集、コピー/ペースト」と同等の権限を、現在開いているファイルAおよびBに付与することで、保存前のファイルBに対しても権限の不当な緩和を阻止できる。
なお、上記各実施例はいずれもプロセスIDとファイルとが1対1で対応していることを前提に、そのプロセスIDによって識別されるアプリケーションによって重要なファイルがオープンされた場合に、そのアプリケーションがそれ以降に扱うファイルは、それより前にオープンした重要なファイルの内容を上書きしたものまたは転記したもの(別名にして保存するもの)である可能性があるとして、当該ファイルを暗号化処理の対象としたり、最低権限を付与する例を示した。
しかし、アプリケーションによっては1つプロセスが複数のファイルを開けるなど、必ずしもプロセスIDとファイルとが1対1に対応していないものがある。その場合、あるプロセスIDで識別されるアプリケーションが重要なファイルをオープンしたとしても、その重要なファイルの内容がそのプロセス内でどのバッファに管理されているかまでは他のプログラムからは見ることができない。そのような場合には、そのアプリケーションがそれ以降に扱うファイルは全て、それより前にオープンした重要なファイルの内容を上書きしたものまたは転記したもの(別名にして保存するもの)である可能性があるとして、当該ファイルを暗号化処理の対象としたり、最低権限を付与するようにしている。なお、この場合、必ずしも暗号化処理する必要のないファイルも暗号化されたり最低権限が付与されることになるが、アプリケーション名を指定して一律に暗号化処理する場合と比べれば暗号化処理による無駄は少なく、また不要であればユーザが後に手動で解除できるものであり、暗号化の対象とせずに、暗号化もれが発生するよりは好ましいと考える。
なお、メモ帳アプリケーションのようにプロセスIDとファイルとが1対1に対応している場合であっても、メモ帳アプリケーション間でファイル内容の転記が行われる可能性もあることから、そのような場合にも暗号化条件を適用させたい場合には、プロセスID単位ではなくアプリケーション名を単位に、暗号化ファイルを開いたか否かや開いたファイルの最低権限を管理するようにしてもよい。すなわち、プロセスIDを単位に管理していたアプリケーションについての情報を、アプリケーション名を単位に管理するようにすればよい。それにより、同じアプリケーション名を有するアプリケーションが1つでも起動された場合に、そのアプリケーション名を有するアプリケーションによって1つ以上の暗号化ファイルがオープンされていれば、それ以降同じ名をもつアプリケーションが起動されている間に限り、それらアプリケーションが保存するファイルは暗号化対象であると判定することができる。また、例えば、同じアプリケーション名を有するアプリケーションが1つでも起動された場合に、そのアプリケーション名を有するアプリケーションは、同じ名を有するアプリケーションが開いたファイルに付された権限のうち最低権限で動作したり、それ以降に保存するファイルにその最低権限を付すことができる。
次に、本発明の概要について説明する。図13および図14は、本発明の情報処理装置の概要を示すブロック図である。
図13に示す情報処理装置は、自動で暗号化を行う情報処理装置であって、アプリ操作ファイル情報保持手段101と、暗号化判定手段102とを備えている。
アプリ操作ファイル情報保持手段101は、アプリケーションが起動してからこれまでに操作したファイルに関する情報であって、当該アプリケーションが1つ以上の暗号化ファイルを開いたか否かを示す情報を含むアプリ操作ファイル情報を保持する。アプリ操作ファイル情報保持手段101は、例えば、プロセスIDまたはアプリケーション名を単位に識別され、当該情報処理装置上で動作する任意のアプリケーションについて、当該アプリケーションが起動してからこれまでに操作したファイルに関する情報を保持してもよい。なお、アプリ操作ファイル情報保持手段101は、上記実施形態では、アプリ操作ファイル情報保持手段13やアプリケーション管理情報保持部527として示されている。
暗号化判定手段102は、任意のアプリケーションによってクローズされた任意のファイルに対して、当該ファイルをクローズする操作を行ったアプリケーションについてアプリ操作ファイル情報保持手段に保持されているアプリ操作ファイル情報に基づいて、当該ファイルを暗号化対象とするか否かを判定する。なお、暗号化判定手段102は、上記実施形態では、暗号化判定手段14や暗号化判定部522として示されている。
そのように構成されることによって、個別具体的な暗号化条件を設定することを要せずに、無駄な暗号化処理を低減し、かつ暗号化もれを適切に防ぐことができる。
また、暗号化判定手段102は、例えば、任意のファイルに対して、当該ファイルをクローズする操作を行ったアプリケーションが起動してからこれまでに1つ以上の暗号化ファイルを開いたことがあれば、当該ファイルを暗号化対象と判定してもよい。
また、本発明による情報処理装置は、アプリケーションからの所定のファイル操作要求を検出するファイル操作検出手段と、ファイル操作検出手段によってアプリケーションがファイルのオープン動作を伴うファイル操作要求を行ったことが検出された場合に、当該ファイル操作要求の要求元であるアプリケーションの情報および操作対象とされたファイルの情報を取得して、アプリ操作ファイル情報保持手段に保持させるアプリ操作ファイル情報を更新するアプリ操作ファイル情報登録手段と、指定されたファイルに対して暗号化処理を実施する暗号化手段とを備え、暗号化判定手段は、ファイル操作検出手段によってアプリケーションがファイルのクローズ動作を伴うファイル操作要求を行ったことが検出された場合に、当該ファイル操作の要求元アプリケーションについてアプリ操作ファイル情報保持手段に保持されているアプリ操作ファイル情報に基づいて、操作対象とされたファイルを暗号化対象とするか否かを判定し、暗号化手段は、暗号化判定手段によって暗号化対象と判定されたファイルに対して暗号化処理を実施してもよい。
また、アプリ操作ファイル情報登録手段は、ファイル操作検出手段によってアプリケーションがファイルのオープン動作を伴うファイル操作要求を行ったことが検出された場合に、操作対象とされたファイルが暗号化ファイルであって、かつアプリケーションが暗号化ファイルの復号を許可されたアプリケーションであって正しく復号できた場合に、アプリ操作ファイル情報保持手段に、アプリケーションが1つ以上の暗号化ファイルを開いたことを示す情報を含むアプリ操作ファイル情報を保持させてもよい。
また、ファイルのファイルハンドルと、当該ファイルをオープンしているアプリケーションを識別する情報とを対応づけて保持するファイル管理情報保持手段を備えていてもよい。
また、図14に示す情報処理装置は、ファイルに対して許可する操作権限を自動で決定する情報処理装置であって、アプリ操作ファイル情報保持手段201と、権限決定手段202とを備えている。
アプリ操作ファイル情報保持手段201は、アプリケーションが起動してからこれまでに操作したファイルに関する情報であって、当該アプリケーションが開いたファイルに付されている操作権限のうち最も低い権限である最低権限を示す情報を含むアプリ操作ファイル情報を保持する。なお、アプリ操作ファイル情報保持手段201は、上記実施形態では、アプリ操作ファイル情報保持手段13’やアプリケーション管理情報保持部527として示されている。
権限決定手段202は、任意の新規保存ファイルまたは任意のアプリケーションによってオープンされた任意のファイルに対して、当該ファイルをクローズする操作を行ったまたは当該ファイルをオープンする操作を行ったアプリケーションについてアプリ操作ファイル情報保持手段に保持されているアプリ操作ファイル情報に基づいて、当該ファイルに対して許可する操作権限を決定する。
そのように構成されることによって、ファイルに対して許可されるアプリケーションの操作権限が不当に緩和されるることを防ぐことができる。
なお、図14に示す情報処理装置の例においても、さらに、アプリケーションからの所定のファイル操作要求を検出するファイル操作検出手段や、指定されたファイルに対して指定された権限を付与する制御を行う権限付与手段や、ファイルのファイルハンドルと、当該ファイルをオープンしているアプリケーションを識別する情報とを対応づけて保持するファイル管理情報保持手段を備えていてもよい。
本発明は、装置自体の用途を問わず、各種ファイル処理を行う情報処理装置、ファイル処理プログラム全般に適用可能である。
1,2,3 情報処理装置
11 ファイル操作検出手段
12,12’,12’’ アプリ操作ファイル情報登録手段
13,13’,13’’ アプリ操作ファイル情報保持手段
14 暗号化判定手段
15 暗号化手段
21 権限決定手段
22 権限付与手段
50 コンピュータ
51 アプリケーションプログラム
52 自動暗号化用ファイルフックプログラム
53 オペレーティングシステム
54 記憶装置
55 暗復号処理プログラム
521 API監視部
521a API呼び出し検出部
522 暗号化判定部
523 復号判定部
524 暗号化処理部
525 復号処理部
526 ファイル管理情報保持部
527 アプリケーション管理情報保持部
101,201 アプリ操作ファイル情報保持手段
102 暗号化判定手段
202 権限決定手段

Claims (9)

  1. アプリケーションが起動してからこれまでに操作したファイルに関する情報であって、当該アプリケーションが1つ以上の暗号化ファイルを開いたか否かを示す情報を含むアプリ操作ファイル情報を保持するアプリ操作ファイル情報保持手段と、
    任意のアプリケーションによってクローズされた任意のファイルに対して、当該ファイルをクローズする操作を行ったアプリケーションについて前記アプリ操作ファイル情報保持手段に保持されている前記アプリ操作ファイル情報に基づいて、当該ファイルを暗号化対象とするか否かを判定する暗号化判定手段とを備え
    前記暗号化判定手段は、任意のファイルに対して、当該ファイルをクローズする操作を行ったアプリケーションが起動してからこれまでに1つ以上の暗号化ファイルを開いたことがあれば、当該ファイルを暗号化対象と判定する
    ことを特徴とする情報処理装置。
  2. アプリケーションからの所定のファイル操作要求を検出するファイル操作検出手段と、
    前記ファイル操作検出手段によってアプリケーションがファイルのオープン動作を伴うファイル操作要求を行ったことが検出された場合に、当該ファイル操作要求の要求元であるアプリケーションの情報および操作対象とされたファイルの情報を取得して、前記アプリ操作ファイル情報保持手段に保持させるアプリ操作ファイル情報を更新するアプリ操作ファイル情報登録手段と、
    指定されたファイルに対して暗号化処理を実施する暗号化手段とを備え、
    暗号化判定手段は、前記ファイル操作検出手段によってアプリケーションがファイルのクローズ動作を伴うファイル操作要求を行ったことが検出された場合に、当該ファイル操作の要求元アプリケーションについて前記アプリ操作ファイル情報保持手段に保持されているアプリ操作ファイル情報に基づいて、操作対象とされたファイルを暗号化対象とするか否かを判定し、
    前記暗号化手段は、前記暗号化判定手段によって暗号化対象と判定されたファイルに対して暗号化処理を実施する
    請求項に記載の情報処理装置。
  3. アプリ操作ファイル情報登録手段は、ファイル操作検出手段によってアプリケーションがファイルのオープン動作を伴うファイル操作要求を行ったことが検出された場合に、操作対象とされたファイルが暗号化ファイルであって、かつ前記アプリケーションが前記暗号化ファイルの復号を許可されたアプリケーションであって正しく復号できた場合に、アプリ操作ファイル情報保持手段に、前記アプリケーションが1つ以上の暗号化ファイルを開いたことを示す情報を含むアプリ操作ファイル情報を保持させる
    請求項に記載の情報処理装置。
  4. ファイルのファイルハンドルと、当該ファイルをオープンしているアプリケーションを識別する情報とを対応づけて保持するファイル管理情報保持手段を備えた
    請求項1から請求項のいずれか1項に記載の情報処理装置。
  5. アプリケーションが起動してからこれまでに操作したファイルに関する情報であって、当該アプリケーションが開いたファイルに付されている操作権限のうち最も低い権限である最低権限を示す情報を含むアプリ操作ファイル情報を保持するアプリ操作ファイル情報保持手段と、
    任意の新規保存ファイルまたは任意のアプリケーションによってオープンされた任意のファイルに対して、当該ファイルをクローズする操作を行ったまたは当該ファイルをオープンする操作を行ったアプリケーションについて前記アプリ操作ファイル情報保持手段に保持されている前記アプリ操作ファイル情報に基づいて、当該ファイルに対して許可する操作権限を決定する権限決定手段とを備え
    前記権限決定手段は、前記最低権限を、前記ファイルに対して許可する操作権限として決定する
    ことを特徴とする情報処理装置。
  6. アプリケーションが起動してからこれまでに操作したファイルに関する情報であって、当該アプリケーションが1つ以上の暗号化ファイルを開いたか否かを示す情報を含むアプリ操作ファイル情報を記憶装置に保持させ、
    情報処理装置が、任意のアプリケーションによってクローズされた任意のファイルに対して、当該ファイルをクローズする操作を行ったアプリケーションについて前記記憶装置に保持されている前記アプリ操作ファイル情報に基づいて、当該ファイルを暗号化対象とするか否かを判定し、
    前記情報処理装置が、前記ファイルをクローズする操作を行ったアプリケーションが起動してからこれまでに1つ以上の暗号化ファイルを開いたことがあれば、当該ファイルを暗号化対象と判定する
    ことを特徴とするファイル暗号化判定方法。
  7. アプリケーションが起動してからこれまでに操作したファイルに関する情報であって、当該アプリケーションが開いたファイルに付されている操作権限のうち最も低い権限である最低権限を示す情報を含むアプリ操作ファイル情報を記憶装置に保持させ、
    情報処理装置が、任意の新規保存ファイルまたは任意のアプリケーションによってオープンされた任意のファイルに対して、当該ファイルをクローズする操作を行ったまたは当該ファイルをオープンする操作を行ったアプリケーションについて前記記憶装置に保持されている前記アプリ操作ファイル情報に基づいて、当該ファイルに対して許可する操作権限を決定し、
    前記情報処理装置が、前記操作権限を決定する際、前記最低権限を、前記ファイルに対して許可する操作権限として定める
    ことを特徴とする権限決定方法。
  8. コンピュータに、
    アプリケーションが起動してからこれまでに操作したファイルに関する情報であって、当該アプリケーションが1つ以上の暗号化ファイルを開いたか否かを示す情報を含むアプリ操作ファイル情報を記憶装置に保持させる処理、および
    任意のアプリケーションによってクローズされた任意のファイルに対して、当該ファイルをクローズする操作を行ったアプリケーションについて前記記憶装置に保持されている前記アプリ操作ファイル情報に基づいて、当該ファイルを暗号化対象とするか否かを判定する処理を実行させ
    前記判定する処理で、前記ファイルをクローズする操作を行ったアプリケーションが起動してからこれまでに1つ以上の暗号化ファイルを開いたことがあれば、前記ファイルを暗号化対象と判定させる
    めのファイル暗号化判定プログラム。
  9. コンピュータに、
    アプリケーションが起動してからこれまでに操作したファイルに関する情報であって、当該アプリケーションが開いたファイルに付されている操作権限のうち最も低い権限である最低権限を示す情報を含むアプリ操作ファイル情報を記憶装置に保持させる処理、および
    任意の新規保存ファイルまたは任意のアプリケーションによってオープンされた任意のファイルに対して、当該ファイルをクローズする操作を行ったまたは当該ファイルをオープンする操作を行ったアプリケーションについて前記記憶装置に保持されている前記アプリ操作ファイル情報に基づいて、当該ファイルに対して許可する操作権限を決定する処理を実行させ
    前記操作権限を決定する処理で、前記最低権限を、前記ファイルに対して許可する操作権限として定めさせる
    めの権限決定プログラム。
JP2012055313A 2012-03-13 2012-03-13 情報処理装置、ファイル暗号化判定方法、権限決定方法およびプログラム Active JP5867190B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2012055313A JP5867190B2 (ja) 2012-03-13 2012-03-13 情報処理装置、ファイル暗号化判定方法、権限決定方法およびプログラム
US13/755,080 US8793507B2 (en) 2012-03-13 2013-01-31 Information processing apparatus, file encryption determination method and authority determination method
TW102106641A TWI498767B (zh) 2012-03-13 2013-02-26 資訊處理裝置、檔案加密判定方法、權限決定方法以及程式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012055313A JP5867190B2 (ja) 2012-03-13 2012-03-13 情報処理装置、ファイル暗号化判定方法、権限決定方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2013190896A JP2013190896A (ja) 2013-09-26
JP5867190B2 true JP5867190B2 (ja) 2016-02-24

Family

ID=49158827

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012055313A Active JP5867190B2 (ja) 2012-03-13 2012-03-13 情報処理装置、ファイル暗号化判定方法、権限決定方法およびプログラム

Country Status (3)

Country Link
US (1) US8793507B2 (ja)
JP (1) JP5867190B2 (ja)
TW (1) TWI498767B (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140258720A1 (en) * 2013-03-11 2014-09-11 Barracuda Networks, Inc. Systems and methods for transparent per-file encryption and decryption via metadata identification
JP2015065615A (ja) * 2013-09-26 2015-04-09 株式会社日立ソリューションズ データ暗号化装置、データ暗号化プログラム及びデータ暗号化方法
CN106022148A (zh) * 2016-05-26 2016-10-12 北京金山安全软件有限公司 一种文件加密方法及装置
US10489600B2 (en) * 2017-04-28 2019-11-26 Dell Products L.P. Access path redirection for encrypted files
CN107329659B (zh) * 2017-06-30 2020-11-27 北京金山安全软件有限公司 一种权限设置方法、装置、电子设备及存储介质
WO2020039509A1 (ja) * 2018-08-21 2020-02-27 力 松永 利用対象の利用支援システムおよび方法
CN110059499A (zh) * 2019-03-22 2019-07-26 华为技术有限公司 一种文件访问权限认证方法及电子设备

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5699428A (en) * 1996-01-16 1997-12-16 Symantec Corporation System for automatic decryption of file data on a per-use basis and automatic re-encryption within context of multi-threaded operating system under which applications run in real-time
JPH10260903A (ja) 1997-03-19 1998-09-29 Hitachi Ltd グループ暗号方法、及びファイル暗号システム
US7096358B2 (en) * 1998-05-07 2006-08-22 Maz Technologies, Inc. Encrypting file system
TWI240178B (en) * 2001-06-15 2005-09-21 Fine Art Technology Co Ltd Transparent encrypting and decrypting method and system
JP4021791B2 (ja) * 2003-03-31 2007-12-12 富士通株式会社 ファイルのセキュリティ管理プログラム
US7503067B2 (en) * 2004-02-02 2009-03-10 Toshiba Corporation Preset security levels
JP3976738B2 (ja) * 2004-02-03 2007-09-19 Necシステムテクノロジー株式会社 機密文書管理装置、機密文書管理方法および機密文書管理プログラム
KR20070008653A (ko) * 2004-04-02 2007-01-17 마츠시타 덴끼 산교 가부시키가이샤 실행장치
TWI241818B (en) * 2004-06-10 2005-10-11 Ind Tech Res Inst Application-based data encryption system and method thereof
JP2008134821A (ja) 2006-11-28 2008-06-12 Fuji Xerox Co Ltd 電子ファイル処理プログラムおよび情報処理装置
JP4769241B2 (ja) * 2007-09-25 2011-09-07 Sky株式会社 アクセス権限制御システム
KR101091777B1 (ko) * 2010-07-16 2011-12-08 주식회사 파수닷컴 Drm 환경에서의 악성 코드 실시간 검사 장치 및 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체

Also Published As

Publication number Publication date
US8793507B2 (en) 2014-07-29
US20130246806A1 (en) 2013-09-19
TW201403367A (zh) 2014-01-16
JP2013190896A (ja) 2013-09-26
TWI498767B (zh) 2015-09-01

Similar Documents

Publication Publication Date Title
JP5867190B2 (ja) 情報処理装置、ファイル暗号化判定方法、権限決定方法およびプログラム
US7962755B2 (en) System and method for biometrically secured, transparent encryption and decryption
US7350084B2 (en) Data management system, data processing system, and computer-readable medium having on which data management program is recorded
EP1365306A2 (en) Data protection system
JP4593549B2 (ja) ファイル自動復号暗号化システムおよびプログラム
US8176535B2 (en) Information processing system, information processing method, and computer readable medium
JP2007304720A (ja) コンテンツ利用管理システム、コンテンツ提供システム、及びコンテンツ利用装置
JP4044126B1 (ja) 情報漏洩抑止装置、情報漏洩抑止プログラム、情報漏洩抑止記録媒体、及び情報漏洩抑止システム
JP6092057B2 (ja) ファイルアクセス制御装置、ファイルアクセス制御プログラム及びファイルアクセス制御方法
JP4471129B2 (ja) 文書管理システム及び文書管理方法、文書管理サーバ、作業端末、並びにプログラム
JP2010097550A (ja) ウイルス防止プログラム、コンピュータに着脱可能な記憶装置、及びウイルス防止方法
TW200905516A (en) Method and system for protecting file data against divulgence
JP2014078770A (ja) アクセス権付き暗号化装置、アクセス権付き暗号システム、アクセス権付き暗号化方法およびアクセス権付き暗号化プログラム
JP2008134821A (ja) 電子ファイル処理プログラムおよび情報処理装置
JP2008134820A (ja) 印刷制限処理プログラムおよび情報処理装置
JP2007188445A (ja) 情報漏えい防止システム及び情報漏えい防止方法
JP5282879B2 (ja) プライバシ情報保護システムとその方法
JP2005165900A (ja) 情報漏洩防止装置
US11546488B2 (en) Scanner, scanner control method, and storage medium
KR101745390B1 (ko) 데이터 유출 방지장치 및 그 방법
JP2007172021A (ja) ファイル操作装置、ファイル操作方法、およびプログラム
JP2006190050A (ja) マルチタスク実行システム及びマルチタスク実行方法
JP6782900B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
JP2008071177A (ja) 情報処理装置、その制御方法及び同方法をコンピュータに実行させるためのプログラム
JP2006339732A (ja) 電子情報暗号化システム、その電子情報暗号化方法、その記憶媒体及びそのプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150916

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151006

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151112

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151221

R150 Certificate of patent or registration of utility model

Ref document number: 5867190

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150