(57)【要約】【課題】  適切な復号鍵を自動的に選択して復号することができるファイル管理技術を提供する。【解決手段】  機密ファイルを暗号化した暗号化ファイルを保管するファイル格納装置と、前記暗号化ファイルを復号するための復号鍵を保管する鍵管理装置とからなるファイル管理システムにおけるファイル管理方法において、予め特定された一方向性関数により、前記機密ファイルを識別するファイル識別情報と生成された乱数とを用いて復号鍵対応情報を前記ファイル格納装置で生成するステップと、当該生成した復号鍵対応情報と前記復号鍵を対にして前記ファイル格納装置から送信し前記鍵管理装置に保管するステップと、前記復号鍵に対応する暗号鍵で前記機密ファイルを暗号化し、暗号化した暗号化ファイルを前記ファイル識別情報と前記乱数と対にして前記ファイル格納装置に保管するステップとを有する。【選択図】  図１
2006285697.tif 000002
【特許請求の範囲】
【請求項１】
機密ファイルを暗号化した暗号化ファイルを保管するファイル格納装置と、前記暗号化ファイルを復号するための復号鍵を保管する鍵管理装置とからなり、指定された機密ファイルに対応する復号鍵を前記鍵管理装置から読み出し、当該読み出された復号鍵により暗号化ファイルを復号するファイル管理システムにおけるファイル管理方法において、
予め特定された一方向性関数により、前記機密ファイルを識別するファイル識別情報と生成された乱数とを用いて復号鍵対応情報を前記ファイル格納装置で生成するステップと、
当該生成した復号鍵対応情報と前記復号鍵を対にして前記ファイル格納装置から送信し前記鍵管理装置に保管するステップと、
前記復号鍵に対応する暗号鍵で前記機密ファイルを暗号化し、暗号化した暗号化ファイルを前記ファイル識別情報と前記乱数と対にして前記ファイル格納装置に保管するステップと
を有することを特徴とするファイル管理方法。
【請求項２】
前記機密ファイルを読み出す場合は、前記ファイル識別情報に対応する乱数を読み出し、当該読み出された乱数と対応する前記ファイル識別情報を対にして前記ファイル格納装置から前記鍵管理装置に送信するステップと、
前記送信された乱数とファイル識別情報を前記鍵管理装置が受信し、受信した前記乱数と前記ファイル識別情報を前記一方向性関数により変換して復号鍵対応情報を求めるステップと、
前記鍵管理装置が当該求めた復号鍵対応情報に対応する復号鍵を読み出し、前記ファイル格納装置に送信するステップと、
前記ファイル格納装置が受信した復号鍵により前記暗号化ファイルを復号するステップと
を有することを特徴とする請求項１に記載のファイル管理方法。
【請求項３】
機密ファイルを暗号化した暗号化ファイルを保管するファイル格納装置と、前記暗号化ファイルを復号するための復号鍵を保管する鍵管理装置とからなり、指定された機密ファイルに対応する復号鍵を前記鍵管理装置から読み出し、当該読み出された復号鍵により暗号化ファイルを復号するファイル管理システムであって、
前記ファイル格納装置は、
前記復号鍵に対応する暗号鍵で前記機密ファイルを暗号化し、暗号化した暗号化ファイルを当該機密ファイルを識別するファイル識別情報と生成された乱数と対にして保管する暗号化ファイル保管手段と、
予め特定された一方向性関数により、前記ファイル識別情報と前記乱数とを用いて復号鍵対応情報を生成する復号鍵対応情報生成手段と、
前記機密ファイルを読み出す場合に、前記ファイル識別情報に対応する乱数を前記暗号化ファイル保管手段から読み出し、当該読み出された乱数と対応する前記ファイル識別情報を対にして前記鍵管理装置に送信するファイル識別情報送信手段と、
前記鍵管理装置から受信する復号鍵により前記暗号化ファイルを復号する暗号化ファイル復号手段とを有し、
前記鍵管理装置は、
前記ファイル格納装置から受信した前記復号鍵対応情報と前記復号鍵を対にして保管する復号鍵保管手段と、
前記ファイル格納装置において前記機密ファイルを読み出す場合に、前記ファイル格納装置から受信した前記乱数と前記ファイル識別情報を前記一方向性関数により変換して前記復号鍵対応情報を求める復号鍵対応情報算出手段と、
当該求めた復号鍵対応情報に対応する復号鍵を前記復号鍵保管手段から読み出し、前記ファイル格納装置に送信する復号鍵送信手段とを有する
ことを特徴とするファイル管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子ファイルの暗号化及び復号化に用いられる鍵を管理する技術に関するものである。
【背景技術】
【０００２】
電子ファイルの暗号化及び復号化に用いられる鍵を管理するための従来技術の例として、USB（Universal serial bus）キーと呼ばれる記録媒体に鍵を格納し、USBキーをパソコン等のユーザ端末に抜き挿しすることでユーザ端末の電子ファイルを暗号化／復号化する技術がある（非特許文献１参照）。
【０００３】
上記の従来技術では、鍵は管理者端末で生成され、USBキーに記録され、鍵が記録されたUSBキーがユーザに配布される。管理者端末では、各鍵が各ユーザに対応付けられて管理されており、管理者はユーザからの要求に応じて、鍵の新規発行、再発行等の作業を行う。ユーザはUSBキーを各自のユーザ端末に挿入し、鍵を利用するためのパスワードを入力することにより、ユーザ端末で動作する暗号復号プログラムが鍵を利用して電子ファイルの暗号化／復号化を行う。
【非特許文献１】平成１７年３月１７日検索、インターネットhttp://c4t.jp/products/package/c4u/
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記の従来技術では、暗号化されたファイルを復号するための鍵を利用するには、パスワードを入力する必要があった。従って複数の鍵を使い分ける場合、それぞれの鍵に対応するパスワードも複数使い分ける必要があった。しかし、人間が記憶して使い分けることができるパスワードの数には限りがあるため、使い分ける鍵の数にも限りがあった。従って同一の鍵で復号することができる暗号化ファイルは複数存在することとなり、一つの鍵の漏洩により複数の暗号化ファイルが復号されてしまうという危険性が存在する。また、パスワードを忘失した場合には暗号化されたファイルを復号できなくなるという問題も存在した。
【０００５】
本発明は上記の点に鑑みてなされたものであり、たとえ一つの鍵が漏洩してもその鍵で復号できる暗号化ファイルの数を一つのみに抑えることができ、暗号化ファイルを復号する際に適切な復号鍵をパスワードに頼ることなく自動的に選択して復号することができるファイル管理技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記の課題は、機密ファイルを暗号化した暗号化ファイルを保管するファイル格納装置と、前記暗号化ファイルを復号するための復号鍵を保管する鍵管理装置とからなり、指定された機密ファイルに対応する復号鍵を前記鍵管理装置から読み出し、当該読み出された復号鍵により暗号化ファイルを復号するファイル管理システムにおけるファイル管理方法において、予め特定された一方向性関数により、前記機密ファイルを識別するファイル識別情報と生成された乱数とを用いて復号鍵対応情報を前記ファイル格納装置で生成するステップと、当該生成した復号鍵対応情報と前記復号鍵を対にして前記ファイル格納装置から送信し前記鍵管理装置に保管するステップと、前記復号鍵に対応する暗号鍵で前記機密ファイルを暗号化し、暗号化した暗号化ファイルを前記ファイル識別情報と前記乱数と対にして前記ファイル格納装置に保管するステップとを有することを特徴とするファイル管理方法により解決できる。
【０００７】
上記の構成において、前記機密ファイルを読み出す場合は、前記ファイル識別情報に対応する乱数を読み出し、当該読み出された乱数と対応する前記ファイル識別情報を対にして前記ファイル格納装置から前記鍵管理装置に送信するステップと、前記送信された乱数とファイル識別情報を前記鍵管理装置が受信し、受信した前記乱数と前記ファイル識別情報を前記一方向性関数により変換して復号鍵対応情報を求めるステップと、前記鍵管理装置が当該求めた復号鍵対応情報に対応する復号鍵を読み出し、前記ファイル格納装置に送信するステップと、前記ファイル格納装置が受信した復号鍵により前記暗号化ファイルを復号するステップとを有する。
また、本発明は、機密ファイルを暗号化した暗号化ファイルを保管するファイル格納装置と、前記暗号化ファイルを復号するための復号鍵を保管する鍵管理装置とからなり、指定された機密ファイルに対応する復号鍵を前記鍵管理装置から読み出し、当該読み出された復号鍵により暗号化ファイルを復号するファイル管理システムであって、前記ファイル格納装置は、前記復号鍵に対応する暗号鍵で前記機密ファイルを暗号化し、暗号化した暗号化ファイルを当該機密ファイルを識別するファイル識別情報と生成された乱数と対にして保管する暗号化ファイル保管手段と、予め特定された一方向性関数により、前記ファイル識別情報と前記乱数とを用いて復号鍵対応情報を生成する復号鍵対応情報生成手段と、
前記機密ファイルを読み出す場合に、前記ファイル識別情報に対応する乱数を前記暗号化ファイル保管手段から読み出し、当該読み出された乱数と対応する前記ファイル識別情報を対にして前記鍵管理装置に送信するファイル識別情報送信手段と、前記鍵管理装置から受信する復号鍵により前記暗号化ファイルを復号する暗号化ファイル復号手段とを有し、前記鍵管理装置は、前記ファイル格納装置から受信した前記復号鍵対応情報と前記復号鍵を対にして保管する復号鍵保管手段と、前記ファイル格納装置において前記機密ファイルを読み出す場合に、前記ファイル格納装置から受信した前記乱数と前記ファイル識別情報を前記一方向性関数により変換して前記復号鍵対応情報を求める復号鍵対応情報算出手段と、当該求めた復号鍵対応情報に対応する復号鍵を前記復号鍵保管手段から読み出し、前記ファイル格納装置に送信する復号鍵送信手段とを有することを特徴とするファイル管理システムとして構成してもよい。
【発明の効果】
【０００８】
本発明によれば、暗号化ファイル毎に異なる復号鍵を対応付けることができるので、たとえ一つの復号鍵が漏洩したとしても、その復号鍵に対応する暗号化ファイルしか復号できず、他の暗号化ファイルまで復号されるのを防止できる。また鍵管理装置では、復号鍵を復号鍵対応情報と対応付けて管理するが、復号鍵対応情報は一方向性関数により生成された乱数であるため、たとえ鍵管理装置内の情報が漏洩したとしても、どの復号鍵がどの暗号化ファイルに対応するのか判別できないことから、ファイル格納装置内の暗号化ファイルが特定されるのを防止できる。
【０００９】
更に、暗号化ファイルを復号する際のパスワード入力を不要とし、パスワードに頼ることなく適切な復号鍵を自動的に選択して復号することができる。また、パスワード忘失により暗号化ファイルを復号できなくなるという問題を解消することができる。また、鍵管理装置としてユーザが保持する携帯端末等を用いることにより、従来必要であった管理者による管理者端末での作業を無くすことができる。
【発明を実施するための最良の形態】
【００１０】
以下、図面を参照して本発明の実施の形態について説明する。本実施の形態では、パソコン等のユーザ端末に格納されたファイルを暗号化／復号化するために用いる鍵（以下、暗号復号鍵という）を、ユーザが所有する携帯電話機等の携帯端末に、暗号化／復号化の対象となるファイルと対応付けて格納する。ただし、暗号復号鍵はファイル名と対応付けるのではなく、ファイルと対応付けられているがそのままではどのファイルと対応付けられているか識別できない識別情報と対応付けられている。
【００１１】
（システム構成）
まず、図１を参照して本実施の形態のシステム構成について説明する。図１に示すように本実施の形態のシステムは、ユーザ端末１と携帯端末２とを有している。ユーザ端末１は、暗号化機能１１、復号化機能１２、及び通信機能１３を備えた暗号復号アプリケーション１０と、暗号化対象ファイル２１及び暗号化ファイル２２（＝復号化対象ファイル）を格納するデータ記憶部２０とを有している。また、暗号化機能１１は、暗号復号鍵生成機能１４とファイル暗号化機能１５を有し、復号化機能１２は、暗号復号鍵要求機能１６とファイル復号化機能１７を有している。
【００１２】
携帯端末２は、ユーザ認証機能３１、暗号復号鍵管理機能３２、及び通信機能３３を備えた鍵管理アプリケーション３０と、管理ＩＤと暗号復号鍵を対応付けて管理する管理テーブル４１を格納するデータ記憶部４０とを有している。また、暗号復号鍵管理機能３２は、暗号復号鍵登録機能３４と暗号復号鍵検索機能３５とを有している。
【００１３】
図２に、ユーザ端末１と携帯端末２のハードウェア構成例を示す。図２に示すとおり、ユーザ端末１は、入力装置５１、通信装置５２、表示装置５３、CPU５４、RAM５５、ハードディスク等のデータ記憶装置５６を備えた一般的なコンピュータの構成を有している。また、携帯端末２は、入力装置６１、通信装置６２、表示装置６３、CPU６４、揮発性メモリ６５、不揮発性メモリ６６を有しており、上記の管理テーブル４１は不揮発性メモリ６６に格納される。
【００１４】
図１で示した暗号復号アプリケーションのプログラムが図２に示すハードウェア構成を有するユーザ端末上で実行されることにより、本発明のファイル格納装置における各手段が実現される。また、図１で示した鍵管理アプリケーションのプログラムが図２に示すハードウェア構成を有する携帯端末上で実行されることにより、本発明の鍵管理装置における各手段が実現される。
【００１５】
なお、本明細書及び特許請求の範囲において、「携帯端末」とは、本発明に係る処理を実行可能な持ち運び可能な装置のことであり、例として小型パソコン、携帯電話機、PDA等があるがこれらに限定されるわけではない。また、これら「携帯端末」は全てコンピュータの一種である。
【００１６】
（処理概要）
以下、上記の構成を持つシステムにおける処理シーケンスを図３、図４のシーケンスチャートを参照して説明する。まず、図３を参照してファイルを暗号化する際の処理について説明する。
【００１７】
携帯端末２のユーザが携帯端末２にパスワード（英数字）を入力する（ステップ１）と、携帯端末２はユーザ端末１に対して通信路を確立する（ステップ２）。続いて、ユーザがユーザ端末１上で暗号化対象ファイルを指定することにより（ステップ３）、ユーザ端末１はデータ記憶部２０から暗号化対象ファイル名（例えばfile1.doc）を読み出す（ステップ４）。また、ユーザ端末１は、暗号復号鍵（例えばFC69ZAZ9rz……）と管理ＩＤ用乱数（例えばpSRhTpkKDt……）を生成し（ステップ５）、管理ＩＤ用乱数と暗号化対象ファイル名のハッシュ値（例えばCBE725C88A…..、これを管理ＩＤとする）を生成する（ステップ６）。そして、ユーザ端末１は、生成した暗号復号鍵と管理ＩＤとを携帯端末２に送信する（ステップ７）。
【００１８】
携帯端末２は、受信した暗号復号鍵と管理ＩＤとを図３に示すように管理テーブルに登録し、登録結果をユーザ端末１に通知する（ステップ８、９）。
【００１９】
ユーザ端末１は、暗号化ファイル（file1.doc.cmk）を新規作成し（ステップ１０）、暗号化ファイルの先頭に管理ＩＤ用乱数を書き込む（ステップ１１）。更に、管理ＩＤ用乱数の後に、管理ＩＤを生成するときに使用したハッシュ関数種別と暗号化対象ファイルの内容を暗号化するための暗号アルゴリズム種別を書き込む（ステップ１２）。そして、その暗号アルゴリズムを用いて暗号化した暗号化対象ファイルの内容を暗号アルゴリズム種別の後に書きこむ（ステップ１３、１４）。このようにして作成された暗号化ファイルの構成は図３に示す通りとなる。ユーザ端末１は、暗号化ファイルをデータ記憶部２０に格納するとともに、暗号化対象ファイルを削除する（ステップ１５、１６）。
【００２０】
次に、復号化の処理について図４を参照して説明する。
【００２１】
暗号化の場合と同様に、ユーザが携帯端末２にパスワード（英数字）を入力すると携帯端末２とユーザ端末１間で通信路が確立される（ステップ２１、２２）。続いてユーザがユーザ端末１において復号化対象ファイルを指定すると（ステップ２３）、ユーザ端末１は、データ記憶部２０から暗号化前ファイル名、管理ＩＤ用乱数、ハッシュ関数種別、暗号アルゴリズム種別を復号化対象ファイルから読み出し、暗号化前ファイル名、管理ＩＤ用乱数、ハッシュ関数種別を携帯端末２に送信する（ステップ２４、２５）。
【００２２】
携帯端末２は、ユーザ端末１から受信したハッシュ関数種別で示されるハッシュ関数により、管理ＩＤ用乱数と暗号化前ファイル名からハッシュ値（管理ＩＤ）を生成する（ステップ２６）。そして携帯端末２は、管理テーブル４１から上記管理ＩＤをキーに、管理ＩＤに対応する暗号復号鍵を読み出し、その暗号復号鍵をユーザ端末１に送信する（ステップ２７、２８）。
【００２３】
暗号復号鍵を受信したユーザ端末１は、暗号化前ファイル名（file1.doc）を持つ復号化ファイルを新規作成し（ステップ２９）、復号化対象ファイル（file1.doc.cmk)の内容（暗号文）をデータ記憶部２０から読み出し（ステップ３０）、復号化対象ファイルの内容（暗号文）を、ステップ２８で受信した暗号復号鍵を用いて、復号化対象ファイルに記載されている暗号アルゴリズム種別で示される暗号アルゴリズムにより復号化し、新規作成した復号化ファイル（file1.doc)に書き込む（ステップ３１）。これにより復号化を完了する。
【００２４】
（処理詳細）
次に、図３、４で示したシーケンスに沿って、各装置で実行される処理をフローチャートを参照して詳細に説明する。まず、暗号化の処理について説明する。
【００２５】
図５は、携帯端末２における認証処理（図３のステップ１）のフローチャートである。携帯端末２において鍵管理アプリケーション３０が起動されると、鍵管理アプリケーション３０は、携帯端末２の表示装置６３にユーザに対して英数字によるパスワードの入力を促す画面を表示し（ステップ１０１）、ユーザからのパスワード入力を入力装置６２により受け付ける（ステップ１０２）。パスワードは、携帯端末２のユーザを認証するためのものであり、予め携帯端末２に登録されているものとする。図６に携帯端末２に表示されるパスワード入力画面例を示す。
【００２６】
鍵管理アプリケーション３０は、ユーザから入力されたパスワードが予め登録されているものと一致するか否か判断する（ステップ１０３）。ユーザから入力されたパスワードが、予め登録されているものと一致した場合、鍵管理アプリケーション３０は、携帯端末２とユーザ端末１との間の通信路を確立する（ステップ１０４）。通信路としては、鍵管理アプリケーション３０で制御可能な赤外線、Bluetooth、有線接続等、どのようなものを用いてもよい。パスワードが登録されているものと一致しなかった場合は、鍵管理アプリケーション３０は処理を終了する。
【００２７】
次に、図７を参照してユーザ端末１における暗号復号鍵生成処理（図３のステップ３〜７）について説明する。まず、暗号復号アプリケーション１０が、ユーザからの起動命令により起動する（ステップ１０５）。起動した暗号復号アプリケーション１０は、ユーザ端末１の表示装置５３に、ユーザに対して暗号化もしくは復号化の対象となるファイルの指定を促す画面を表示し、ユーザからのファイル指定を受け付ける（ステップ１０６）。
【００２８】
暗号復号アプリケーション１０は、ユーザから指定されたファイルの拡張子により、そのファイルが暗号化対象ファイルか、復号化対象ファイルかを判断する（ステップ１０７）。本実施の形態では、拡張子が“.cmk”であれば復号化対象ファイルと判断し、それ以外であれば暗号化対象ファイルと判断する。
【００２９】
ユーザから指定されたファイルが暗号化対象ファイルである場合、暗号復号アプリケーション１０は、暗号化対象ファイル名を読み出し、ユーザによる暗号化命令を受け付ける（ステップ１０８）。図８（ａ）にファイルを選択するための画面例を示し、図８（ｂ）に暗号化を指定する画面例を示す。
【００３０】
暗号化命令を受けた暗号復号アプリケーション１０は、暗号復号鍵と管理ＩＤ用乱数を生成する（ステップ１０９）。暗号復号鍵と管理ＩＤ用乱数は互いに異なる乱数であり、それぞれ指定されたファイル毎に異なるものが生成される。乱数の生成アルゴリズムは既存のものでよい。暗号復号鍵はファイルを暗号化、復号化するために用いられるものであり、管理ＩＤ用乱数は暗号化／復号化対象のファイルを一意に識別するために用いられる管理ＩＤ生成に用いられるものである。
【００３１】
なお、暗号復号アプリケーション１０は、必要に応じて暗号復号鍵を携帯端末２の鍵管理アプリケーション３０に渡す形式に変換する。これは例えば、暗号アルゴリズムに依存する暗号復号鍵の形式（例えばTLV形式等）を予め長さがわかっているバイナリデータに統一するための変換である。
【００３２】
続いて、暗号復号アプリケーション１０は、ステップ１０９で生成した管理ＩＤ用乱数と、暗号化対象ファイル名をハッシュ関数に入力し、ハッシュ値を生成する（ステップ１１０）。ハッシュ関数は既存のものでよい。このハッシュ値を管理ＩＤとする。そして、暗号復号アプリケーション１０は、暗号復号鍵及びステップ１１０で生成した管理ＩＤを、ステップ１０４で確立した通信路を介して携帯端末２の鍵管理アプリケーション３０に送信する（ステップ１１１）。
【００３３】
図９は、携帯端末２における暗号復号鍵登録処理（図３のステップ８〜９）のフローチャートである。携帯端末２の鍵管理アプリケーション３０は、ユーザ端末１の暗号復号アプリケーション１０から通信路を介して送信されてきた暗号復号鍵及び管理ＩＤを受信し（ステップ１１２）、受信した暗号復号鍵及び管理ＩＤを、携帯端末２の不揮発性メモリ６６上の管理テーブル４１に登録する（ステップ１１３）。そして、登録結果を通信路を介してユーザ端末１に送信する（ステップ１１４）。なお、登録結果は登録に成功したか否かを示す情報である。
【００３４】
図１０は、ユーザ端末１におけるファイル暗号化処理（図３のステップ１０〜１６）のフローチャートである。
【００３５】
ユーザ端末１の暗号復号アプリケーション１０は、携帯端末２の鍵管理アプリケーション３０から通信路を介して登録結果を受信する（ステップ１１５）。暗号復号アプリケーション１０は、受信した登録結果が成功か失敗か判断し（ステップ１１６）、登録結果が成功だった場合、ユーザが指定した暗号化対象ファイルのファイル名に拡張子“.cmk”を付加したものをファイル名とした暗号化ファイルを新規作成する（ステップ１１７）。
【００３６】
続いて暗号復号アプリケーション１０は、ステップ１１７で新規作成した暗号化ファイルの先頭に、ステップ１０９で生成した管理ＩＤ用乱数を書き込む（ステップ１１８）。
【００３７】
そして暗号復号アプリケーション１０は、ステップ１１８で書き込んだ管理ＩＤ用乱数の後に、ハッシュ関数種別、暗号アルゴリズム種別を書き込む（ステップ１１９）。暗号アルゴリズム種別は、復号のときにどのアルゴリズムを使用して復号すればよいかを判断するために使用するものである。なお、暗号復号アプリケーション１０が特定の暗号アルゴリズムのみを使用する場合は暗号アルゴリズム種別は必要ない。また、ハッシュ関数種別は、鍵管理アプリケーション３０がどのハッシュ関数を使用して管理ＩＤを生成すればよいかを判断するために使用される。なお、特定のハッシュ関数のみを用いる場合はハッシュ関数種別は必要ない。
【００３８】
続いて、暗号復号アプリケーション１０は、ユーザが指定した暗号化対象ファイルの内容（平文）を、暗号化ファイルに書き込んだ暗号アルゴリズム種別が表す暗号アルゴリズムにより、ステップ１０９で生成した暗号復号鍵を用いて暗号化する（ステップ１２０）。そして、ハッシュ関数種別、暗号アルゴリズム種別の後に暗号化した暗号文を書き込む（ステップ１２１）。
【００３９】
暗号復号アプリケーション１０は、ステップ１２１で作成した暗号化ファイルを、データ記憶部２０内の所定のファイル格納場所に保存し（ステップ１２２）、暗号化対象ファイルを削除する（ステップ１２３）。
【００４０】
ステップ１１６において登録結果が失敗だった場合、暗号復号アプリケーション１０は、表示装置５３に暗号復号鍵の登録が失敗した旨を表示し（ステップ１２４）、終了する。
【００４１】
次に、復号化の処理について説明する。
【００４２】
復号化の場合、図７のステップ１０６においてユーザは復号化対象ファイルを選択する。図７のステップ１０６、１０７において、暗号復号アプリケーション１０は復号化対象ファイルが指定されたことを検知すると、指定されたファイル名から拡張子“.cmk”を除いたものを暗号化前のファイル名とし、復号化対象ファイルから、先頭に書き込まれている管理ＩＤ用乱数と、その次に書き込まれているハッシュ関数種別、暗号アルゴリズム種別を読み出す（図１１のステップ１２５）。暗号復号アプリケーション１０は、暗号化前ファイル名と、管理ＩＤ用乱数及びハッシュ関数種別を、通信路を介して携帯端末２の鍵管理アプリケーション３０に送信する（ステップ１２６）。
【００４３】
図１２に、携帯端末２における暗号復号鍵検索処理（図４のステップ２６〜２８）のフローチャートを示す。携帯端末２の鍵管理アプリケーション３０は、ユーザ端末１から暗号化前ファイル名と、管理ＩＤ用乱数及びハッシュ関数種別を受信する（ステップ１２７）。そして、鍵管理アプリケーション３０は、受信した暗号化前ファイル名と管理ＩＤ用乱数とを、受信したハッシュ関数種別に対応するハッシュ関数に入力して管理ＩＤとなるハッシュ値を生成する（ステップ１２８）。
【００４４】
そして、鍵管理アプリケーション３０は、ステップ１２８で生成した管理ＩＤをキーとして、携帯端末２の不揮発性メモリ６６上の管理テーブル４１から、管理ＩＤに対応付けて登録されている暗号復号鍵を検索する（ステップ１２９）。ステップ１３０において、暗号復号鍵の検索に成功した場合、鍵管理アプリケーション３０は、検索結果成功を示す情報とともに、検索した暗号復号鍵を、通信路を介してユーザ端末１に送信する（ステップ１３１）。ステップ１３０において、暗号復号鍵が管理テーブル４１に存在せずに検索に失敗した場合、鍵管理アプリケーション３０は、検索結果失敗を示す情報を通信路を介してユーザ端末１に送信する（ステップ１３２）。
【００４５】
ステップ１３０において検索成功の場合、ユーザ端末１の暗号復号アプリケーション１０は、携帯端末２の鍵管理アプリケーション３０から通信路を介して検索結果成功を示す情報と検索により得た暗号復号鍵を受信する（図１３のステップ１３３）。なお、暗号復号アプリケーション１０は、ステップ１０９で暗号復号鍵の変換を行った場合、受信した暗号復号鍵に対してステップ１０９で行った変換とは逆の変換を行う。
【００４６】
続いて、暗号復号アプリケーション１０は、暗号化前ファイル名を持つ新規ファイルを作成し（ステップ１３４）、ステップ１０７で指定された復号化対象ファイルから、暗号文を読み取る（ステップ１３５）。暗号復号アプリケーション１０は、ステップ１３３で受信した暗号復号鍵を用いて、ステップ１２５で読み取った暗号アルゴリズム種別に対応する暗号アルゴリズムによりステップ１３５で読み取った暗号文を復号化し（ステップ１３６）、復号化した内容をステップ１３４で作成した新規ファイルに書き込む（ステップ１３７）。なお、ステップ１３０において検索失敗の場合、その旨の情報を受信し（ステップ１３８）、暗号復号鍵の検索が失敗した旨を表示する（ステップ１３９）。
【００４７】
上記のように本実施の形態に係るシステムによれば、携帯端末側でファイルに対応付けて暗号復号鍵を管理するが、そのままではどのファイルを指しているのか識別不可能な情報と対応付けて暗号復号鍵を管理するため、たとえ管理テーブルの内容が漏洩したとしても、どの暗号復号鍵がどのファイルに対応するのか判別できないことから、ユーザ端末において特定のファイルが復号化されるのを防止できる。また、ファイル毎に異なる暗号復号鍵を用いて暗号化／復号化を行うので、たとえ１つの暗号復号鍵が特定のファイルに対応するものであることが知られたとしても、他の暗号復号鍵で暗号化されたファイルまで復号化されるのを防止できる。
【００４８】
また、本実施の形態では、ユーザが保持する携帯端末で暗号復号鍵を管理するので、管理者による管理者端末での作業を削減できる。
【００４９】
なお、上記の実施の形態では、暗号化ファイル（復号化対象ファイル）の名前を選択する段階においてユーザ端末へのパスワード入力等を必要としていないが、予め定めた鍵（パスワード等）を入力しないと正しい暗号化前ファイル名をユーザ端末が取得することができないこととしてもよい。これにより、たとえ携帯端末が悪意の第三者の手に渡り、携帯端末のパスワードが解読されたとしても、上記の鍵が破られない限りユーザ端末は暗号化ファイル名を取得することができず、結果として、携帯端末は暗号化ファイルに対応する暗号復号鍵をユーザ端末に送信することができなくなるので、ファイルの不正復号化をより強固に防止できる。
【００５０】
これは例えば、次のようにして実現できる。暗号化対象ファイル名に単に”cmk”を付けたものを暗号化ファイル名とする代わりに、暗号化時に暗号化対象ファイルを選択した後、鍵（パスワード等）を入力し、その鍵を用いて暗号化対象ファイル名を暗号化したものを暗号化ファイル名とし、暗号化ファイルを何かしらの識別情報（暗号化ファイルの内容を識別する情報）と対応付けて格納し、復号化時には、その識別情報を参照して暗号化ファイルを選択し、上記の鍵を入力し、暗号化ファイル名を復号化して、暗号化対象ファイル名（暗号化前ファイル名）を得る。以降の処理は上記の実施の形態と同様である。
【００５１】
なお、本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
【図面の簡単な説明】
【００５２】
【図１】本発明の実施の形態におけるシステムの機能構成図である。
【図２】本発明の実施の形態におけるシステムのハードウェア構成図である。
【図３】本発明の実施の形態におけるシステムの処理シーケンス図である。
【図４】本発明の実施の形態におけるシステムの処理シーケンス図である。
【図５】携帯端末２における認証処理のフローチャートである。
【図６】携帯端末２に表示されるパスワード入力画面例である。
【図７】ユーザ端末１における暗号復号鍵生成処理のフローチャートである。
【図８】ファイルを選択するための画面例（ａ）及び暗号化を指定する画面例（ｂ）である。
【図９】携帯端末２における暗号復号鍵登録処理のフローチャートである。
【図１０】ユーザ端末１におけるファイル暗号化処理のフローチャートである。
【図１１】ユーザ端末１における暗号復号鍵要求処理のフローチャートである。
【図１２】携帯端末２における暗号復号鍵検索処理のフローチャートである。
【図１３】ユーザ端末１におけるファイル復号化処理のフローチャートである。
【符号の説明】
【００５３】
１  ユーザ端末
２  携帯端末
１０  暗号復号アプリケーション
１１  暗号化機能
１２  復号化機能
１３  通信機能
１４  暗号復号鍵生成機能
１５  ファイル暗号化機能
１６  暗号復号鍵要求機能
１７  ファイル復号化機能
２０  データ記憶部
２１  暗号化対象ファイル
２２  暗号化ファイル
３０  鍵管理アプリケーション
３１  ユーザ認証機能
３２  暗号復号鍵管理機能
３３  通信機能
３４  暗号復号鍵登録機能
３５  暗号復号鍵検索機能
４０  データ記憶部
４１  管理テーブル
５１、６１  入力装置
５２、６２  通信装置
５３、６３  表示装置
５４、６４  CPU
５５  RAM
５６  データ記憶装置
６５  揮発性メモリ
６６  不揮発性メモリ
【図１】
2006285697.tif 000003
【図２】
2006285697.tif 000004
【図３】
2006285697.tif 000005
【図４】
2006285697.tif 000006
【図５】
2006285697.tif 000007
【図６】
2006285697.tif 000008
【図７】
2006285697.tif 000009
【図８】
2006285697.tif 000010
【図９】
2006285697.tif 000011
【図１０】
2006285697.tif 000012
【図１１】
2006285697.tif 000013
【図１２】
2006285697.tif 000014
【図１３】
2006285697.tif 000015