(57)【特許請求の範囲】
【請求項１】
符号化の方式に関する情報が格納されている第１の格納手段と、
少なくとも一部が暗号化されたファイルに対してアプリケーションが前記ファイルを利用する場合に、前記第１の格納手段を参照して、当該ファイルに施された符号化の方式を判別する判別手段と、
前記判別手段により判別された前記符号化の方式に対応する復号化の方式で、前記ファイルの少なくとも暗号化された部分を復号化する復号化手段と、
前記ファイルの少なくとも前記復号化手段により復号化された部分を解読する解読手段と、
第２の格納手段と、
前記ファイルの少なくとも前記解読手段により解読された部分を前記判別手段により判別された前記符号化の方式で符号化して該符号化されたファイルを前記第２の格納手段に格納し、該ファイルの格納位置を前記アプリケーションに通知する符号化手段と、を備える情報処理端末。
【請求項２】
前記判別手段は、前記アプリケーションが前記ファイルを利用する場合に、前記アプリケーションから前記ファイルを取得する、請求項１に記載の情報処理端末。
【請求項３】
前記ファイルに対して複数の異なる符号化の方式による符号化が施されている場合、前記復号化手段は、前記第１の格納手段を参照して前記複数の異なる符号化の方式に対応する複数の異なる復号化の方式により複数回の復号化を行う、請求項１または２に記載の情報処理端末。
【請求項４】
コンピュータが備える判別手段が、少なくとも一部が暗号化されたファイルに対してアプリケーションが前記ファイルを利用する場合に、符号化の方式に関する情報が格納されている第１の格納手段を参照して、当該ファイルに施された符号化の方式を判別する判別ステップと、
前記コンピュータが備える復号化手段が、前記判別ステップにて判別された前記符号化の方式に対応する復号化の方式で、前記ファイルの少なくとも暗号化された部分を復号化する復号化ステップと、
前記コンピュータが備える解読手段が、前記ファイルの少なくとも前記復号化ステップにて復号化された部分を解読する解読ステップと、
前記コンピュータが備える符号化手段が、前記ファイルの少なくとも前記解読ステップにて解読された部分を前記判別ステップにて判別された前記符号化の方式で符号化して該符号化されたファイルを第２の格納手段に格納し、該ファイルの格納位置を前記アプリケーションに通知する符号化ステップと、を含む情報処理方法。
【請求項５】
前記判別ステップでは、前記アプリケーションが前記ファイルを利用する場合に、前記アプリケーションから前記ファイルを取得する、請求項４に記載の情報処理方法。
【請求項６】
コンピュータに、
少なくとも一部が暗号化されたファイルに対してアプリケーションが前記ファイルを利用する場合に、符号化の方式に関する情報が格納されている第１の格納手段を参照して、当該ファイルに施された符号化の方式を判別する判別処理と、
前記判別処理にて判別された前記符号化の方式に対応する復号化の方式で、前記ファイルの少なくとも暗号化された部分を復号化する復号化処理と、
前記ファイルの少なくとも前記復号化処理にて復号化された部分を解読する解読処理と、
前記ファイルの少なくとも前記解読処理にて解読された部分を前記判別処理にて判別された前記符号化の方式で符号化して該符号化されたファイルを第２の格納手段に格納し、該ファイルの格納位置を前記アプリケーションに通知する符号化処理と、を実行させる、
プログラム。
【請求項７】
前記判別処理は、前記アプリケーションが前記ファイルを利用する場合に、前記アプリケーションから前記ファイルを取得する、請求項６に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理端末、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
アプリケーションがファイルを処理する場合、アプリケーションはファイルのオープン処理を行い、ファイルの内容を解釈して処理を行う。処理対象ファイルが暗号化されているとき、当該ファイルのオープン処理の前に、解読処理に関するソフトウェアが当該ファイルを解読する。アプリケーションは、ファイルのオープン処理において、解読されたファイルに対してオープン処理を行い、内容を解釈して処理する。
【０００３】
特定のアプリケーションにおいては、ファイルの符号化、復号化が行われる。例えば、アプリケーションがメーラの場合、base64という方式の符号化が用いられる。電子メールにはテキストデータしか載せられないため、電子メールに画像などのバイナリデータを添付する際に、base64にて画像データをテキストデータに置換（符号化）する。
【０００４】
また、アプリケーションにおけるファイルのオープン処理の実施タイミングは、実装に依るところがあり、統一されていない。そのため、ファイルのオープン処理の実施タイミングによっては、上述の解読処理及び復号化処理の実施タイミングが不適切となり、解読処理に関するソフトウェアが当該ファイルを解読対象でないと解釈して解読しない場合がある。例えば、アプリケーションがメーラの例では、送信側において、暗号化された添付ファイルが送信時にbase64により符号化される。受信側では、例えばプレビュー閲覧処理において、受信した添付ファイルのオープン処理にフックして（差し替えて）、解読処理に関するソフトウェアが解読処理を行う。しかし、受信した添付ファイルはbase64にて符号化されているため、解読処理に関するソフトウェアは、当該ファイルが暗号化されている（解読対象である）と解釈することができず、解読しない。この後にアプリケーションにおいて復号化処理が行われるものの、添付ファイルは暗号化されたままであるため、添付ファイルの内容が文字化けした状態で表示されたり、ファイルが破損しているとして添付ファイルを開けなかったりする状況が発生する。同様の状況はファイラでも発生する。すなわち、ZIPなどでアーカイブ（圧縮）された各ファイルが暗号化されたファイルである場合、ファイルのオープン処理に伴って解読する。しかし、ファイルはアーカイブされているため、解読処理に関するソフトウェアは、当該ファイルが暗号化されている（解読対象である）と解釈することができず、解読しない。この結果、ファイラにて当該ファイルの内容を適切に表示することができないという状況が発生する。
【０００５】
ここで、例えばＷｉｎｄｏｗｓ（登録商標）のメーラ、Ｍｉｃｒｏｓｏｆｔ  Ｏｕｔｌｏｏｋ（登録商標）で、同じくＷｉｎｄｏｗｓのＭｉｃｒｏｓｏｆｔ  Ｗｏｒｄ（登録商標）において暗号化されたファイル（暗号化ファイル）をプレビュー表示する場合の処理について説明する。この場合、Ｍｉｃｒｏｓｏｆｔ  Ｏｕｔｌｏｏｋでは、受信した暗号化ファイルを復号する。当該暗号化ファイルをプレビュー表示する場合は、復号された暗号化ファイルを一時ファイルとして保存する。そして、Ｍｉｃｒｏｓｏｆｔ  Ｗｏｒｄが起動し、暗号化ファイルの解読処理が行われる。
【０００６】
このように、アプリケーションにおいてファイルに対して符号化／復号化を行っている場合、当該アプリケーションで使用されるファイルが暗号化されたファイルであるとき、当該ファイルを一時ファイルとして保存して解読処理を別途行わなければならない、解読処理を行うためのアプリケーションを探さなければならないといった制約が生じる。その結果、アプリケーションの利便性や業務効率が低下する。
【０００７】
ファイルの暗号化／解読の関連技術は、特許文献１及び２に開示されている。特許文献１には、添付ファイルが暗号化されている場合に、入力データ（典型的には電子メールのデータ）からパスワードの候補を取得し、当該候補を用いて暗号化の解除を試みるデータ処理装置が開示されている。
【０００８】
特許文献２には、復号時にファイルヘッダを参照して解読対象であるか否かを判定する手段を有する情報処理装置が開示されている。なお、特許文献２においては、「復号」は解読の意味で用いられている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１５−１２５６５２
【特許文献２】特開２００８−１３４８２１
【発明の概要】
【発明が解決しようとする課題】
【００１０】
特許文献１には、アプリケーションによって添付ファイルに符号化が施されており、解読対象でないと判断された場合の処理についは記載されていない。
【００１１】
特許文献２では、符号化について考慮がされていないため、アプリケーションによってファイルに符号化が施されている場合は、当該ファイルは解読対象でないと判定されてしまい解読されないという問題があった。
【００１２】
本発明の目的は、上述の課題を解決する情報処理端末、情報処理方法及びプログラムを提供することにある。
【課題を解決するための手段】
【００１３】
本発明の情報処理端末は、符号化の方式に関する情報が格納されている第１の格納手段と、少なくとも一部が暗号化されたファイルに対してアプリケーションがファイルを利用する場合に、格納手段を参照して、当該ファイルに施された符号化の方式を判別する判別手段と、判別手段により判別された符号化の方式に対応する復号化の方式で、ファイルの少なくとも暗号化された部分を復号化する復号化手段と、ファイルの少なくとも復号化手段により復号化された部分を解読する解読手段と、ファイルの少なくとも解読手段により解読された部分を判別手段により判別された符号化の方式で符号化して該符号化されたファイルをアプリケーションに送信する符号化手段と、を備える。
【００１４】
本発明の情報処理端末は、符号化の方式に関する情報が格納されている第１の格納手段と、少なくとも一部が暗号化されたファイルに対してアプリケーションがファイルを利用する場合に、第１の格納手段を参照して、当該ファイルに施された符号化の方式を判別する判別手段と、判別手段により判別された符号化の方式に対応する復号化の方式で、ファイルの少なくとも暗号化された部分を復号化する復号化手段と、ファイルの少なくとも復号化手段により復号化された部分を解読する解読手段と、第２の格納手段と、ファイルの少なくとも解読手段により解読された部分を判別手段により判別された符号化の方式で符号化して該符号化されたファイルを第２の格納手段に格納し、該ファイルの格納位置をアプリケーションに通知する符号化手段と、を備える。
【００１５】
本発明の情報処理方法は、少なくとも一部が暗号化されたファイルに対してアプリケーションがファイルを利用する場合に、符号化の方式に関する情報が格納されている第１の格納手段を参照して、当該ファイルに施された符号化の方式を判別する判別ステップと、判別ステップにて判別された符号化の方式に対応する復号化の方式で、ファイルの少なくとも暗号化された部分を復号化する復号化ステップと、ファイルの少なくとも復号化ステップにて復号化された部分を解読する解読ステップと、ァイルの少なくとも解読ステップにて解読された部分を判別ステップにて判別された符号化の方式で符号化して該符号化されたファイルをアプリケーションに送信する符号化ステップと、を含む。
【００１６】
本発明の情報処理方法は、少なくとも一部が暗号化されたファイルに対してアプリケーションがファイルを利用する場合に、符号化の方式に関する情報が格納されている第１の格納手段を参照して、当該ファイルに施された符号化の方式を判別する判別ステップと、判別ステップにて判別された符号化の方式に対応する復号化の方式で、ファイルの少なくとも暗号化された部分を復号化する復号化ステップと、ファイルの少なくとも復号化ステップにて復号化された部分を解読する解読ステップと、ファイルの少なくとも解読ステップにて解読された部分を判別ステップにて判別された符号化の方式で符号化して該符号化されたファイルを第２の格納手段に格納し、該ファイルの格納位置をアプリケーションに通知する符号化ステップと、を含む。
【００１７】
本発明のプログラムは、コンピュータに、少なくとも一部が暗号化されたファイルに対してアプリケーションがファイルを利用する場合に、符号化の方式に関する情報が格納されている第１の格納手段を参照して、当該ファイルに施された符号化の方式を判別する判別処理と、判別処理にて判別された符号化の方式に対応する復号化の方式で、ファイルの少なくとも暗号化された部分を復号化する復号化処理と、ファイルの少なくとも復号化ステップにて復号化された部分を解読する解読処理と、ファイルの少なくとも解読処理にて解読された部分を判別処理にて判別された符号化の方式で符号化して該符号化されたファイルをアプリケーションに送信する符号化処理と、を実行させる。
【００１８】
本発明のプログラムは、コンピュータに、少なくとも一部が暗号化されたファイルに対してアプリケーションがファイルを利用する場合に、符号化の方式に関する情報が格納されている第１の格納手段を参照して、当該ファイルに施された符号化の方式を判別する判別処理と、判別処理にて判別された符号化の方式に対応する復号化の方式で、ファイルの少なくとも暗号化された部分を復号化する復号化処理と、ファイルの少なくとも復号化処理にて復号化された部分を解読する解読処理と、ファイルの少なくとも解読処理にて解読された部分を判別処理にて判別された符号化の方式で符号化して該符号化されたファイルを第２の格納手段に格納し、該ファイルの格納位置をアプリケーションに通知する符号化処理と、を実行させる。
【発明の効果】
【００１９】
本発明によれば、暗号化されたファイルがアプリケーションによって符号化されている場合であっても、当該アプリケーションにおいて当該ファイルを適切に使用することができる。
【図面の簡単な説明】
【００２０】
【図１】第１の実施形態にかかる情報処理端末１０００の構成を示す図である。
【図２】第１の実施形態にかかる情報処理端末１０００の動作を説明する図である。
【図３】第１の実施形態にかかる情報処理端末１０００ａの構成を示す図である。
【図４】第２の実施形態にかかる情報処理端末２０００の構成を示す図である。
【図５】第２の実施形態にかかる情報処理端末２０００の動作を説明する図である。
【図６】第２の実施形態にかかる符号化方式データベース２０６が格納する情報の一例を示す図である。
【図７】第２の実施形態にかかるファイル形式データベース２０７が格納する情報の一例を示す図である。
【図８】第１乃至第６の実施形態にかかる情報処理端末のハードウェア構成を示す図である。
【発明を実施するための形態】
【００２１】
［第１の実施形態］
図１は、第１の実施形態にかかる情報処理端末１０００の構成を示す図である。
【００２２】
情報処理端末１０００は、格納手段１０１、判別手段１０２、復号化手段１０３、解読手段１０４及び符号化手段１０５を備える。
【００２３】
格納手段１０１には、符号化の方式に関する情報が格納されている。
【００２４】
判別手段１０２は、少なくとも一部が暗号化されたファイルに対してアプリケーション（不図示）が当該ファイルを利用する場合に、格納手段１０１を参照して、当該ファイルに施された符号化の方式を判別する。
【００２５】
符号化手段１０３は、判別手段１０２により判別された符号化の方式に対応する復号化の方式で、ファイルの少なくとも暗号化された部分を復号化する。
【００２６】
ここで、アプリケーションとは、例えばメーラやファイラ等のアプリケーションであり、情報処理端末１０００にインストールされている。アプリケーションでは、処理対象ファイルを当該アプリケーションで処理可能な状態にするため、処理対象ファイルが符号化されている。
【００２７】
解読手段１０４は、ファイルの少なくとも復号化手段１０３により復号化された部分を解読する。
【００２８】
符号化手段１０５は、ファイルの少なくとも解読手段１０４により解読された部分を判別手段１０２により判別された符号化の方式で符号化して該符号化されたファイルをアプリケーションに送信する。
【００２９】
図２を用いて、情報処理端末１０００の動作を説明する。アプリケーションにおいてファイルのオープン処理が開始されると、判別手段１０２は、格納手段１０１を参照して、ファイルに対して施された符号化の方式を判別する（ステップＳ１１）。復号化手段１０３は、判別手段１０２により判別された符号化の方式に対応する復号化の方式で、ファイルの少なくとも暗号化された部分を復号化する（ステップＳ１２）。解読手段１０４は、ファイルの少なくとも復号化手段１０３により復号化された部分を解読する（ステップＳ１３）。符号化手段１０５は、ファイルの少なくとも解読手段１０４により解読された部分を判別手段１０２により判別された符号化の方式で符号化して、該符号化されたファイルをアプリケーションに送信する（ステップＳ１４）。アプリケーションは、符号化されたファイルを復号化して内容を解釈する。
【００３０】
第１の実施形態にかかる情報処理端末１０００によれば、上述の構成及び動作により、暗号化されたファイルがアプリケーションによって符号化されている場合であっても、当該アプリケーションにおいて当該ファイルを適切に使用することができる。
【００３１】
判別手段１０２は、アプリケーションがファイルを利用する場合に、アプリケーションから当該ファイルを取得する。例えば、アプリケーションにおいてファイルのオープン処理が開始されると、判別手段１０２は、Operating System（OS）のApplication Programming Interface（API）をフックして（差し替えて）、ステップＳ１１の処理を開始することができる。あるいは、アプリケーションにおいてファイルのオープン処理が開始されると、アプリケーションが判別手段１０２に当該ファイルを送信する態様とすることもできる。
【００３２】
［第２の実施形態］
図３は、第２の実施形態にかかる情報処理端末１０００ａの構成を示す図である。第１の実施形態にかかる情報処理端末１０００の構成と同様の構成については説明を省略する。
【００３３】
第１の実施形態では、符号化手段１０５は、符号化したファイルをアプリケーションに送信する。本実施形態では、符号化手段１０５ａは、符号化したファイルを、情報処理端末１０００ａが備える格納手段１０６ａに格納する。符号化手段１０５ａは、ファイルがアプリケーションにおいて処理可能な状態になったこと（解読され再度符号化されたこと）、あるいはアプリケーションにおいて処理可能な状態になったファイルを格納手段１０６ａに格納したこと及びその格納位置をアプリケーションに通知する。
【００３４】
本実施形態にかかる情報処理端末１０００ａにおいても、第１の実施形態と同様の効果を得ることができる。
【００３５】
なお、格納手段１０１ａと格納手段１０６ａをまとめて一つの格納手段としてもよい。
【００３６】
［第３の実施形態］
図４は、第３の実施形態にかかる情報処理端末２０００の構成を示す図である。
【００３７】
情報処理端末２０００は、ユーザが利用する情報端末である。情報処理端末２０００には、暗号化ソフトウェア２００及びアプリケーション３００がインストールされている。
【００３８】
暗号化ソフトウェア２００は、暗号化／解読手段２０１、符号化方式判別手段２０２、符号化方式登録手段２０３、ファイル形式判別手段２０４、ファイル形式登録手段２０５、符号化方式データベース２０６及びファイル形式データベース２０７を備える。
【００３９】
暗号化／解読手段２０１は、第１の実施形態における解読手段１０４に対応する。暗号化／解読手段２０１は、ファイルの暗号化／解読処理を実行する機能を有し、暗号化されていないファイル（平文ファイル）と暗号化されているファイル（暗号化ファイル）の相互変換を行う。ファイルのオープン処理に際し、ファイルが解読対象であるかを確認する方法としては、特許文献３に記載されているように、ファイルヘッダを参照して解読対象であるか否かを確認する方法がある。
【００４０】
符号化方式判別手段２０２は、第１の実施形態における判別手段１０２、復号化手段１０３及び符号化手段１０４に対応する。符号化方式判別手段２０２は、入力されたファイルに対して、符号化方式データベース２０６（後述）を用いて符号化の方式を特定する機能を有する。また、符号化方式判別手段２０２は、特定した符号化の方式及び当該符号化の方式に対応する復号化の方式を参照して、入力されたファイルに符号化及び復号化を施す。
【００４１】
符号化方式登録手段２０３は、符号化方式データベース２０６を更新する機能を有する。
【００４２】
ファイル形式判別手段２０４は、ファイル形式データベース２０７（後述）を参照してファイル形式を特定する機能を有する。
【００４３】
ファイル形式登録手段２０５は、ファイル形式データベース２０７を更新する機能を有する。
【００４４】
図６を参照すると、符号化方式データベース２０６は、種々の符号化の方式及び復号化の方式に関する情報を格納する。符号化方式データベース２０６は、第１の実施形態における格納手段１０１に対応する。符号化判別手段２０２は、符号化方式データベース２０６に登録されている符号化の方式であれば解釈することができる。
【００４５】
図７を参照すると、ファイル形式データベース２０７は、例えばファイルのヘッダサイズ、拡張子等ファイルの特徴となる情報、すなわちファイルフォーマットに関する情報を格納する。
【００４６】
図４を参照すると、符号化方式データベース２０６及びファイル形式データベース２０７にはそれぞれ、一般的に使用が想定される符号化の方式及び復号化の方式並びにファイル形式をあらかじめ格納しておく。また、符号化方式登録手段２０３及びファイル形式登録手段２０５により、ユーザの必要に応じて符号化の方式及び復号化の方式並びにファイル形式をそれぞれ符号化方式データベース２０６及びファイル形式データベース２０７に追加して格納することもできる。
【００４７】
アプリケーション３００は、ファイル処理関数３０１及び符号化／復号化関数３０２を有する。
【００４８】
ファイル処理関数３０１は、文書ファイルや画像ファイルなどのファイルを処理する際に用いられる。
【００４９】
符号化／復号化関数３０２は、入力情報に対して、符号化処理又は復号化処理を施す際に用いられる。
【００５０】
図５を用いて、情報処理端末２０００の動作を説明する。
【００５１】
ユーザが情報処理端末２０００にてアプリケーション３００の使用を開始する。ファイル処理関数３０１によってファイルのオープンに関する処理が開始されると、暗号化ソフトウェア２００は、OSのAPIをフックし（差し替え）、処理を開始する。
【００５２】
ファイル形式判別手段２０４は、対象ファイルがファイル形式データベース２０７に登録されているファイルフォーマットを有するか否か確認する（ステップＳ２１）。より詳細には、ファイル形式判別手段２０４は、オープンしようとするファイル（対象ファイル）に対し、ファイル形式データベース２０７を参照してファイルの拡張子、ヘッダ、データ部等を解釈する。ファイル形式判別手段２０４は、ステップＳ２１において、対象ファイルがファイル形式データベース２０７に登録されているファイルフォーマットを有すると判定した場合（ステップＳ２１でｙｅｓ）、対象ファイルは符号化されていないものであるとして対象ファイルをアプリケーション３００に渡す。ステップＳ２６において、対象ファイルを受け取ったアプリケーション３００は、ファイル処理関数３０１を用いて対象ファイルのオープン処理を行う。ステップＳ２１の処理が実行されることにより、符号化されていないファイルを開く際に無駄な処理が発生することを抑えることができる。
【００５３】
ファイル形式判別手段２０４が、ステップＳ２１において、対象ファイルがファイル形式データベース２０７に登録されているファイルフォーマットを有さないと判定した場合（ステップＳ２１でｎｏ）、ステップＳ２２において、符号化方式判別手段２０２は、対象ファイルになんらかの符号化が施されているとして、符号化方式データベース２０６に格納されている１番目の符号化の方式に対応する復号化の方式で復号化を試みる。
【００５４】
ステップＳ２３において、暗号／解読手段２０１は、復号化した結果が解読対象であるか否か確認する。解読対象であると判定された場合（ステップＳ２３でｙｅｓ）、ステップＳ２４において、暗号化／解読手段２０１が対象ファイルの解読処理を行う。そして、符号化方式判別手段２０２が１番目の符号化の方式で対象ファイルを符号化し（ステップＳ２５）、アプリケーション３００に渡す。符号化された対象ファイルを受け取ったアプリケーション３００は、ステップＳ２６において、ファイル処理関数３０１を用いて対象ファイルのオープン処理を行う。当該オープン処理には、符号化／復号化関数３０２による復号化の処理が含まれる。一方、解読対象でないと判定された場合（ステップＳ２３でｎｏ）、ステップＳ２７において、符号化方式判別手段２０２が１番目の符号化の方式で対象ファイルを符号化し、ステップＳ２８でＮ（Ｎは任意の整数）をインクリメントする。そして、ステップＳ２９において、符号化方式データベース２０６に格納されているＮ個の復号化の方式全てによる復号化を行ったか否か、すなわち、Ｎ＝＝ｍａｘであるか否かを判定する。Ｎ個の復号化の方式全てによる復号化を行っていない場合（ステップＳ２９でｎｏ）、ステップＳ２２に戻って、符号化方式データベース２０６に格納されている復号化の方式を２、３、…Ｎ番目の順に用いて対象ファイルの復号化を試みる。全ての復号化の方式による復号化を試みても解読対象に該当しない場合（ステップＳ２９でｙｅｓ）、符号化方式判別手段２０２は、対象ファイルをアプリケーション３００に渡す。ステップＳ２６において、対象ファイルを受け取ったアプリケーション３００は、ファイル処理関数３０１を用いて対象ファイルのオープン処理を行う。この場合、対象ファイルは暗号化されたままである。情報処理端末２０００は、例えば表示部（不図示）にポップアップメニューやログ等で解読失敗の旨等を表示することによりユーザに通知を行うことができる。
【００５５】
Ｎ番目の復号化の方式で復号化したファイルが解読対象に該当する場合は（ステップＳ２３でｙｅｓ）、ステップＳ２４において、暗号化／解読手段２０１が対象ファイルの解読処理を行う。そして、符号化方式判別手段２０２がＮ番目の符号化の方式で対象ファイルを符号化し（ステップＳ２５）、アプリケーション３００に渡す。符号化された対象ファイルを受け取ったアプリケーション３００は、ステップＳ２６において、ファイル処理関数３０１を用いて対象ファイルのオープン処理を行う。当該オープン処理には、符号化／復号化関数３０２による復号化の処理が含まれる。
【００５６】
本実施形態にかかる情報処理端末２０００によれば、暗号化されたファイルがアプリケーションによって符号化されている場合であっても、アプリケーション３００でこのファイルを適切に解釈し使用することができる。例えば、アプリケーションがメーラであって、暗号化され、かつbase64で符号化された添付ファイルを受信した場合、関連技術では、受信した添付ファイルのオープン処理（プレビュー閲覧処理）にフックして（差し替えて）解読処理を行う。しかし、暗号化された添付ファイルはbase64にて符号化されているので、解読処理に関するソフトウェアは、当該ファイルが暗号化されている（解読対象である）と解釈することができず、解読しない。この結果、添付ファイルを復号化しても内容が暗号化されたままであるため、添付ファイルの内容が文字化けした状態で表示されたり、ファイルが破損しているとして添付ファイルを開けなかったりする状況が発生していた。本実施形態にかかる情報処理端末２０００によれば、例えば暗号化された添付ファイルがbase64で符号化されている場合であっても、既存のメーラには改良を加えることなく、符号化の方式を解釈して内容を適切に表示することができる。メーラ以外のアプリケーションにおいても同様である。
【００５７】
アプリケーションとの関係で符号化の方式を特定することができる場合は、図５の処理を実施せずとも復号化を実施することができる。この場合、符号化方式データベース２０６は、アプリケーションの情報（例えばアプリケーション３００のハッシュ値）と符号化の方式とを対応づけて格納する。そして、符号化方式判別手段２０２は、アプリケーション３００の情報をキーとして符号化方式データベース２０６に格納されている符号化の方式を検索する。
【００５８】
符号化方式判別手段２０２は、解読処理を行った際に、符号化方式データベース２０６にアプリケーション３００の情報、例えばアプリケーション３００のハッシュ値を格納することができる。すなわち、図５のステップＳ２４の後にアプリケーション３００のハッシュ値と符号化の方式とを対応づけて格納するステップを追加することができる。これにより、一度符号化／復号化の方式を認識したアプリケーションであれば、次回以降は当該認識した方式で符号化／復号化を行うことができるため、次回以降のファイルの使用を効率化することができる。
【００５９】
また、符号化方式データベースに登録されている符号化の方式に、対象ファイルのファイルヘッダや種々の情報に基づいて優先順位をつける手段を備えることもできる。この場合、符号化方式判別手段２０２は、優先順位の高い符号化の方式に対応する復号化の方式から順に用いて対象ファイルの復号化を試みる。
【００６０】
なお、本実施形態では、動作の説明において、ユーザが情報処理端末２０００にてアプリケーション３００の使用を開始する際、ファイル処理関数３０１によってファイルのオープンに関する処理が開始されると、暗号化ソフトウェア２００は、OSのAPIをフックし、処理を開始すると説明した。しかし、これに限らず、第１の実施形態で説明したように、アプリケーションにおいてファイルのオープン処理が開始されると、アプリケーション３００が暗号化ソフトウェア２００に当該ファイルを送信する態様とすることもできる。
【００６１】
図５では、復号化処理を施されたファイルが解読対象でない場合に（ステップＳ２３でｎｏ）、符号化方式判別手段２０２が当該復号化処理を施されたファイルを符号化して（ステップＳ２７）Ｎをインクリメントする（ステップＳ２８）。そして、ステップＳ２２に戻り、ステップＳ２７において符号化されたファイルに対して別の方式で復号化を試みる。これに代えて、復号化処理を施されたファイルが解読対象でない場合は（ステップＳ２３でｎｏ）、符号化方式判別手段２０２が当該復号化処理を施されたファイルを符号化せずにＮをインクリメントして（ステップＳ２８）ステップＳ２２に戻る態様とすることができる。この場合、暗号化ソフトウェア２００がアプリケーション３００からファイルを取得した際に当該ファイルの複製を格納手段に格納しておき、ステップＳ２２では、格納手段に格納されているファイル（アプリケーション３００から取得したファイル）の複製に対して別の方式で復号化を試みる。これにより、ステップＳ２７の符号化の処理を省略することができる。
【００６２】
［第４の実施形態］
図５では、対象ファイルを復号化した後、該対象ファイルが解読対象であるか否か確認する（図５のステップＳ２３）そして、該対象ファイルが解読対象であった場合に（ステップＳ２３でｙｅｓ）、暗号化ソフトウェア２００の暗号化／解読手段２０１によって解読処理を行う（ステップＳ２４）。符号化がＭ（Ｍ≧２）重に施されている場合は、解読処理に移らず、復号化失敗としてＮをインクリメントし（ステップＳ２８）、復号化の処理（ステップＳ２２）を繰りかえすことになる。
【００６３】
本実施形態では、復号化の処理を１回でなく、Ｎ種類の各方式で繰り返し実施した後に対象ファイルが解読対象であるか否か確認する。Ｎ種類の各方式でＭ回の復号化を実施した後に解読対象であるか否か確認することで、アプリケーションにおいて、暗号化されたファイルに対してＭ重の符号化が施されている場合であっても当該ファイルを解読して使用することができる。
【００６４】
［第５の実施形態］
第３及び第４の実施形態では、対象ファイル全体を復号化して解読する態様について説明した。しかし、例えばアプリケーションがメーラの場合であって暗号化された添付ファイルがbase64等にて符号化されたファイルに格納されている場合には、暗号化ファイルの部分だけを復号化して解読する態様とすることもできる。
【００６５】
また、例えばビット単位やバイト単位で暗号化されている場合にも、暗号化されている部分を判別して当該暗号化されている部分だけを復号化して解読する態様とすることもできる。
【００６６】
［第６の実施形態］
本実施形態における情報処理端末は、第１乃至５の実施形態における情報処理端末の構成に加え、アプリケーションがファイルを使用する際に当該ファイルの複製を作成する複製手段を備える。本実施形態における情報処理端末では、複製手段により複製されたファイルに対して図２又は図５で説明した処理がなされる。これにより、暗号化され符号化された元のファイルは、解読されて符号化されたファイルにより上書きされることがないため、機密性を維持することができる。
【００６７】
［ハードウェア構成］
図８は、第１乃至第６の実施形態にかかる情報処理端末のハードウェア構成を示す図である。第１乃至第６の実施形態にかかる情報処理端末は、プロセッサ１００ａ、メモリ１００ｂ、ストレージ１００ｃ、入出力インタフェース（入出力Ｉ／Ｆ）１００ｄ及び通信インタフェース（通信Ｉ／Ｆ）１００ｅを備える。プロセッサ１００ａ、メモリ１００ｂ、ストレージ１００ｃ、入出力インタフェース１００ｄ及び通信インタフェース１００ｅは、相互にデータを送受信するためのデータ伝送路１００ｆで接続されている。
【００６８】
プロセッサ１００ａは、例えばCentral Processing Unitや Graphics Processing Unitなどの演算処理装置である。プロセッサ１００ａは、後述するストレージ１００ｃに格納されている各プログラムを実行することで、各処理部の機能をそれぞれ実現する。ここで、プロセッサ１００ａは、各プログラムを実行する際、これらのプログラムを後述するメモリ１００ｂ上に読み出してから実行しても良いし、メモリ１００ｂ上に読み出さずに実行しても良い。
【００６９】
メモリ１００ｂは、例えばRandom Access Memory（ＲＡＭ）やRead Only Memory（ＲＯＭ）などのメモリである。
【００７０】
ストレージ１００ｃは、例えばHard Disk Drive、Solid State Drive、又はメモリカードなどの記憶装置である。また、ストレージ１００ｃは、ＲＡＭやＲＯＭ等のメモリであってもよい。ストレージ１００ｃは、各処理部の機能を実現するプログラムを格納する。
【００７１】
通信インタフェース１００ｅは、外部装置や外部ネットワークとの間でデータを送受信する。通信インタフェース１００ｅは、例えば有線ネットワーク又は無線ネットワークを介して外部装置や外部ネットワークと通信する。なお、情報処理端末のハードウェア構成は、図８に示される構成に制限されない。
【００７２】
以上、本発明の実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の趣旨を逸脱しない限りにおいて他の変形例、応用例を含むことは言うまでもない。
【符号の説明】
【００７３】
１００ａ  プロセッサ
１００ｂ  メモリ
１００ｃ  ストレージ
１００ｄ  入出力インタフェース
１００ｅ  通信インタフェース
１００ｆ  データ伝送路
１０１、１０１ａ、１０６ａ  格納手段
１０２、１０２ａ  判別手段
１０３、１０３ａ  復号化手段
１０４、１０４ａ  解読手段
１０５、１０５ａ  符号化手段
２００  暗号化ソフトウェア
２０１  暗号化／解読手段
２０２  符号化方式判別手段
２０３  符号化方式登録手段
２０４  ファイル形式判別手段
２０５  ファイル形式登録手段
２０６  符号化方式データベース
２０７  ファイル形式データベース
３００  アプリケーション
３０１  ファイル処理関数
３０２  符号化／復号化関数
１０００、１０００ａ、２０００  情報処理端末
【図１】
0006763174.tif 000002
【図２】
0006763174.tif 000003
【図３】
0006763174.tif 000004
【図４】
0006763174.tif 000005
【図５】
0006763174.tif 000006
【図６】
0006763174.tif 000007
【図７】
0006763174.tif 000008
【図８】
0006763174.tif 000009