(57)【要約】【課題】ある装置から別の装置に新たな提供対象情報を伝送するごとにその情報の復号に必要な復号鍵の伝送に安全な経路を用いなくても、復号鍵の安全を保てるようにする。【解決手段】サーバＤは初期設定にて共通乱数の初期値R1をＶＰＮ等の安全な経路でスマートフォンＣに送り、両者で同じ共有乱数R1を共有する。スマートフォンＣが新たな機密ファイルFiを要求（Ｓ１４）するごとに、サーバＤはその機密ファイルFiを共通鍵Kiで暗号化した暗号化機密ファイルe(Ki, Fi)と、共通鍵Kiを共有乱数Riで暗号化した二次鍵YiとをスマートフォンＣに送る（Ｓ２２）。このとき用いる通信路は安全でなくてもよい。スマートフォンＣは、二次鍵Yiを共有乱数Riで復号して共通鍵Kiを得、その共通鍵Kiで暗号化機密ファイルe(Ki, Fi)を復号する。このあと、サーバＤ及びスマートフォンＣは、各々が有する共有乱数Riを同じ一方向性関数を用いて次の値Ri+1へと更新する。【選択図】図６
2014175970.tif 000002
【特許請求の範囲】
【請求項１】
第１の装置と第２の装置とを有し、
前記第１装置は、
（Ａ）前記第１の装置と前記第２の装置との間で共有される、ｉ番目（ｉは１以上の整数）の共有乱数Ri、及び、前記共有乱数Riを（ｉ＋１）番目の共有乱数Ri+1へと更新するための共有情報、を記憶する第１の記憶手段と、
（Ｂ）前記第１の装置から前記第２の装置にｉ番目に提供する提供対象情報Fiについて、前記提供対象情報Fiを前記提供対象情報Fiに対応する暗号鍵で暗号化した暗号化情報e(Ki, Fi)と、前記暗号鍵に対応する復号鍵Kiを前記共有乱数Riで暗号化して得た暗号化済み鍵Yiと、を前記第２の装置に提供する提供手段と、
（Ｃ）前記復号鍵Kiを前記共有乱数Riで暗号化して前記暗号化済み鍵Yiを得た後、前記共有乱数Riを前記共有情報に従って更新することより（ｉ＋１）番目の共有乱数Ri+1を生成し、前記第１の記憶手段内にある前記共有乱数Riを（ｉ＋１）番目の共有乱数Ri+1へと更新する共有乱数更新手段と、
を有し、
前記第２の装置は、
（ａ）前記共有乱数Riと前記共有情報とを記憶する第２の記憶手段と、
（ｂ）前記第１の装置から提供される、前記ｉ番目の提供対象情報Fiに対応する前記暗号化情報e(Ki, Fi)及び前記暗号化済み鍵Yiを取得する暗号化情報取得手段と、
（ｃ）前記暗号化情報取得手段が取得した前記暗号化済み鍵Yiを、前記共有乱数Riを使用して復号して前記復号鍵Kiを算出すると共に、前記復号鍵Kiの算出のために前記共有乱数Riを使用した後、前記共有乱数Riを前記共有情報に従って更新することより（ｉ＋１）番目の共有乱数Ri+1を生成し、前記第２の記憶手段内にある前記共有乱数Riを（ｉ＋１）番目の共有乱数Ri+1へと更新する暗号化済み鍵復号手段と、
（ｄ）算出された前記復号鍵Kiを用いて、前記暗号化情報e(Ki, Fi)から提供対象情報Fiを復号する情報復号手段と、
を有する情報提供システム。
【請求項２】
前記第１の装置の前記提供手段が前記第２の装置に提供する前記暗号化済み鍵Yiは、前記暗号鍵に対応する復号鍵Kiを、前記共有乱数Riと、前記提供対象情報Fiに対する１番目の鍵用暗号鍵ri,1と、で二重に暗号化したものであり、
前記第１の装置は、更に、
（Ｄ）前記提供対象情報Fiに関して前記第２の装置に対して発行するｊ番目（ｊは１以上の整数）の閲覧制御情報Ti,jとして、ｊ番目の鍵用暗号鍵ri,jに対応するｊ番目の鍵用復号鍵di,jと（ｊ＋１）番目の鍵用暗号鍵ri,j+1とを含む閲覧制御情報Ti,jを前記第２の装置に対して発行する発行手段、
を備え、
前記第２の装置の前記暗号化済み鍵復号手段は、前記暗号化済み鍵Yiを、前記共有乱数Riと、前記機密情報Fiについて１番目に取得した閲覧制御情報Ti,1に含まれる１番目の鍵用復号鍵di,1と、を使用して復号することにより、前記復号鍵Kiを算出し、
前記第２の装置は、更に、
（ｅ）前記提供対象情報Fiに対応する一次鍵Xi,jを記憶する一次鍵記憶手段と、
（ｆ）前記提供対象情報Fiに関して前記管理装置から発行された前記ｊ番目の閲覧制御情報Ti,jを取得する閲覧制御情報取得手段と、
（ｇ）前記一次鍵記憶手段に記憶されている一次鍵Xi,jを、取得された前記閲覧制御情報Ti,jに含まれる前記ｊ番目の鍵用復号鍵di,jを用いて復号して前記復号鍵Kiを算出する一次鍵復号手段と、
（ｈ）前記ｊ番目の閲覧制御情報Ti,jに含まれるｊ番目の鍵用復号鍵di,jを使用して復号された前記復号鍵Kiを用いて前記暗号化機密情報e(Ki, Fi)が復号された後、前記復号鍵Kiを、前記ｊ番目の閲覧制御情報Ti,jに含まれる（ｊ＋１）番目の鍵用暗号鍵ri,j+1により暗号化することで次の一次鍵Xi,j+1を生成し、前記一次鍵記憶手段に記憶される前記提供対象情報Fiに対応する一次鍵Xi,jを、生成された前記次の一次鍵Xi,j+1へと更新する一次鍵更新手段と、
を備えることを特徴とする請求項１の情報提供システム。
【請求項３】
前記第２の装置の前記暗号化済み鍵復号手段が前記第２の記憶手段内にある前記共有乱数Riを（ｉ＋１）番目の共有乱数Ri+1へと更新する場合に、前記共有乱数Riを前記第２の記憶手段から消去する、ことを特徴とする請求項１又は２に記載の情報提供システム。
【請求項４】
前記第２の装置の前記一次鍵更新手段が前記一次鍵記憶手段に記憶される前記一次鍵Xi,jを前記次の一次鍵Xi,j+1へと更新する場合に、前記一次鍵Xi,jを前記一次鍵記憶手段から消去する、ことを特徴とする請求項２に記載の情報提供システム。
【請求項５】
（Ａ）相手装置との間で共有される、ｉ番目（ｉは１以上の整数）の共有乱数Ri、及び、前記共有乱数Riを（ｉ＋１）番目の共有乱数Ri+1へと更新するための共有情報、を記憶する記憶手段と、
（Ｂ）自装置から前記相手装置にｉ番目に提供する提供対象情報Fiについて、前記提供対象情報Fiを前記提供対象情報Fiに対応する暗号鍵で暗号化した暗号化情報e(Ki, Fi)と、前記暗号鍵に対応する復号鍵Kiを前記共有乱数Riで暗号化して得た暗号化済み鍵Yiと、を前記第２の装置に提供する提供手段と、
（Ｃ）前記復号鍵Kiを前記共有乱数Riで暗号化して前記暗号化済み鍵Yiを得た後、前記共有乱数Riを前記共有情報に従って更新することより（ｉ＋１）番目の共有乱数Ri+1を生成し、前記記憶手段内にある前記共有乱数Riを（ｉ＋１）番目の共有乱数Ri+1へと更新する共有乱数更新手段と、
を有する情報処理装置。
【請求項６】
コンピュータを、
（Ａ）相手装置との間で共有される、ｉ番目（ｉは１以上の整数）の共有乱数Ri、及び、前記共有乱数Riを（ｉ＋１）番目の共有乱数Ri+1へと更新するための共有情報、を記憶する記憶手段、
（Ｂ）自装置から前記相手装置にｉ番目に提供する提供対象情報Fiについて、前記提供対象情報Fiを前記提供対象情報Fiに対応する暗号鍵で暗号化した暗号化情報e(Ki, Fi)と、前記暗号鍵に対応する復号鍵Kiを前記共有乱数Riで暗号化して得た暗号化済み鍵Yiと、を前記第２の装置に提供する提供手段、
（Ｃ）前記復号鍵Kiを前記共有乱数Riで暗号化して前記暗号化済み鍵Yiを得た後、前記共有乱数Riを前記共有情報に従って更新することより（ｉ＋１）番目の共有乱数Ri+1を生成し、前記記憶手段内にある前記共有乱数Riを（ｉ＋１）番目の共有乱数Ri+1へと更新する共有乱数更新手段、
として機能させるためのプログラム。
【請求項７】
（ａ）相手装置との間で共有される、ｉ番目（ｉは１以上の整数）の共有乱数Ri、及び、前記共有乱数Riを（ｉ＋１）番目の共有乱数Ri+1へと更新するための共有情報、を記憶する記憶手段と、
（ｂ）ｉ番目の提供対象情報Fiを前記提供対象情報Fiに対応する暗号鍵で暗号化した暗号化情報e(Ki, Fi)と、前記暗号鍵に対応する復号鍵Kiを前記共有乱数Riで暗号化して得た暗号化済み鍵Yiと、を前記相手装置から取得する暗号化情報取得手段と、
（ｃ）前記暗号化情報取得手段が取得した前記暗号化済み鍵Yiを、前記共有乱数Riを使用して復号して前記復号鍵Kiを算出すると共に、前記復号鍵Kiの算出のために前記共有乱数Riを使用した後、前記共有乱数Riを前記共有情報に従って更新することより（ｉ＋１）番目の共有乱数Ri+1を生成し、前記記憶手段内にある前記共有乱数Riを（ｉ＋１）番目の共有乱数Ri+1へと更新する暗号化済み鍵復号手段と、
（ｄ）算出された前記復号鍵Kiを用いて、前記暗号化情報e(Ki, Fi)から提供対象情報Fiを復号する情報復号手段と、
を有する情報処理装置。
【請求項８】
コンピュータを、
（ａ）相手装置との間で共有される、ｉ番目（ｉは１以上の整数）の共有乱数Ri、及び、前記共有乱数Riを（ｉ＋１）番目の共有乱数Ri+1へと更新するための共有情報、を記憶する記憶手段、
（ｂ）ｉ番目の提供対象情報Fiを前記提供対象情報Fiに対応する暗号鍵で暗号化した暗号化情報e(Ki, Fi)と、前記暗号鍵に対応する復号鍵Kiを前記共有乱数Riで暗号化して得た暗号化済み鍵Yiと、を前記相手装置から取得する暗号化情報取得手段、
（ｃ）前記暗号化情報取得手段が取得した前記暗号化済み鍵Yiを、前記共有乱数Riを使用して復号して前記復号鍵Kiを算出すると共に、前記復号鍵Kiの算出のために前記共有乱数Riを使用した後、前記共有乱数Riを前記共有情報に従って更新することより（ｉ＋１）番目の共有乱数Ri+1を生成し、前記記憶手段内にある前記共有乱数Riを（ｉ＋１）番目の共有乱数Ri+1へと更新する暗号化済み鍵復号手段、
（ｄ）算出された前記復号鍵Kiを用いて、前記暗号化情報e(Ki, Fi)から提供対象情報Fiを復号する情報復号手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報配信システム、情報処理装置及びプログラムに関する。
【背景技術】
【０００２】
サーバ等の情報管理装置上の機密ファイルをスマートフォン等の端末で利用する場合に、端末の盗難などにより機密ファイルが漏洩する懸念がある。この懸念への対策として、情報管理装置から端末へとダウンロードする機密ファイルを暗号化しておき、端末内には暗号化された機密ファイルを保持する仕組みが知られている。端末で、暗号化された機密ファイルを閲覧する場合には、情報管理装置から、チケットなどと呼ばれる復号用情報を取得し、その復号用情報を用いて、暗号化された機密ファイルを復号する。
【０００３】
また従来、機密ファイルを暗号化する暗号化鍵を、乱数を用いて生成することも行われている。
【０００４】
特許文献１に開示された情報端末装置は、ダウンロードしたコンテンツを第１の鍵を用いて暗号化して暗号化コンテンツを求める第１の暗号化手段と、自端末に割当てられた識別情報を記憶する第１の記憶手段と、乱数を発生させる乱数発生手段と、前記識別情報と前記乱数発生手段によって発生された乱数とを用いて第２の鍵を生成する鍵生成手段と、この生成された第２の鍵を用いて第１の鍵を暗号化する第２の暗号化手段と、外部機器との間でデータの送受信を行う送受信手段と、前記暗号化コンテンツ、前記暗号化された第１の鍵、及び乱数とを対応づけて外部機器に移動させるコンテンツ移動手段とを有し、前記送受信手段と介して外部機器から乱数を含む鍵生成要求を受信すると、前記鍵生成手段は、この要求に含まれる前記乱数と前記第１の記憶手段に記憶されている識別情報とを用いて第２の鍵を生成し、前記送受信手段は、前記鍵生成手段によって生成された第２の鍵を前記外部機器に対して送信する。
【０００５】
特許文献２には、コンテンツ鍵によって暗号化されたコンテンツと、配信鍵によって暗号化されたコンテンツ鍵と、コンテンツ情報を格納したセキュアパッケージを、ネットワークを介して端末に配信するコンテンツ配信方法が開示されている。この方法では、暗号化されたコンテンツの復号鍵（＝復号配信鍵）を秘密分散法によりＬ個の分散復号配信鍵に分散し、ユーザの利用したコンテンツから得られるハッシュ値を、秘密分散法により分散された分散復号配信鍵のうちの、任意の分散復号配信鍵とし、任意の分散復号配信鍵を用いて復号鍵の残りの分散復号配信鍵を得、その得た残りの分散復号配信鍵をユーザの利用したコンテンツとは異なるコンテンツのための分散復号配信鍵とする。この方法では、配信鍵の１つに乱数を使用する。
【０００６】
特許文献３に開示されたコンテンツ配信システムでは、サーバとスマートフォンとは順序が割り当てられた複数の乱数を共有し、序数（ｉ）番目の乱数を暗号鍵として利用する。スマートフォンは、暗号化されたコンテンツである暗号化顧客情報と、この暗号化顧客情報の復号に用いる共通鍵Ｋｄをｉ番目の乱数で暗号化した暗号化共通鍵Ｘ（ｉ）を保持する。サーバは（ｉ）番目の乱数に対応する復号鍵ｄ（ｉ）を算出してスマートフォンに送付し、スマートフォンは復号鍵ｄ（ｉ）を用いた復号処理により共通鍵Ｋｄを算出し、復号鍵ｄ（ｉ）の有効期限切れ後または閲覧終了時に（ｉ＋１）番目の乱数で共通鍵Ｋｄを再暗号化して暗号化共通鍵Ｘ（ｉ+１）として保持し、（ｉ＋１）番目の乱数は消去する。このシステムでは、サーバからスマートフォンへコンテンツを提供する際に、ＶＰＮ（Virtual Private Network）等の安全な経路を用いて、複数の共有の乱数、暗号化共通鍵Ｘ（ｉ）の初期値Ｘ（１）、及び暗号化されたコンテンツをサーバからスマートフォンに伝達している（同文献の段落００５０）。これら三者が漏洩すると、コンテンツが復号できてしまうので、安全な経路で伝達することが必要である。したがって、このシステムでは、サーバからスマートフォンへと複数のコンテンツを提供する場合、新たなコンテンツを提供する都度、その新たなコンテンツに対応する複数の共有の乱数、暗号化共通鍵の情報、及びそのコンテンツを暗号化したもの、をサーバからスマートフォンに安全な経路で伝達する必要がある。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００７−１７４６５７号公報
【特許文献２】特開２００４−０３２３０７号公報
【特許文献３】特開２０１２−１５６８０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明は、第１の装置から第２の装置に新たな提供対象情報を伝送するごとに、その新たな提供対象情報の復号に必要な復号鍵を第１の装置から第２の装置に安全な経路で伝送しなくても、その復号鍵の安全を保てるようにすることを目的とする。
【課題を解決するための手段】
【０００９】
請求項１に係る発明は、第１の装置と第２の装置とを有し、前記第１装置は、（Ａ）前記第１の装置と前記第２の装置との間で共有される、ｉ番目（ｉは１以上の整数）の共有乱数Ri、及び、前記共有乱数Riを（ｉ＋１）番目の共有乱数Ri+1へと更新するための共有情報、を記憶する第１の記憶手段と、（Ｂ）前記第１の装置から前記第２の装置にｉ番目に提供する提供対象情報Fiについて、前記提供対象情報Fiを前記提供対象情報Fiに対応する暗号鍵で暗号化した暗号化情報e(Ki, Fi)と、前記暗号鍵に対応する復号鍵Kiを前記共有乱数Riで暗号化して得た暗号化済み鍵Yiと、を前記第２の装置に提供する提供手段と、（Ｃ）前記復号鍵Kiを前記共有乱数Riで暗号化して前記暗号化済み鍵Yiを得た後、前記共有乱数Riを前記共有情報に従って更新することより（ｉ＋１）番目の共有乱数Ri+1を生成し、前記第１の記憶手段内にある前記共有乱数Riを（ｉ＋１）番目の共有乱数Ri+1へと更新する共有乱数更新手段と、を有し、前記第２の装置は、（ａ）前記共有乱数Riと前記共有情報とを記憶する第２の記憶手段と、（ｂ）前記第１の装置から提供される、前記ｉ番目の提供対象情報Fiに対応する前記暗号化情報e(Ki, Fi)及び前記暗号化済み鍵Yiを取得する暗号化情報取得手段と、（ｃ）前記暗号化情報取得手段が取得した前記暗号化済み鍵Yiを、前記共有乱数Riを使用して復号して前記復号鍵Kiを算出すると共に、前記復号鍵Kiの算出のために前記共有乱数Riを使用した後、前記共有乱数Riを前記共有情報に従って更新することより（ｉ＋１）番目の共有乱数Ri+1を生成し、前記第２の記憶手段内にある前記共有乱数Riを（ｉ＋１）番目の共有乱数Ri+1へと更新する暗号化済み鍵復号手段と、（ｄ）算出された前記復号鍵Kiを用いて、前記暗号化情報e(Ki, Fi)から提供対象情報Fiを復号する情報復号手段と、を有する情報提供システムである。
【００１０】
請求項２に係る発明は、前記第１の装置の前記提供手段が前記第２の装置に提供する前記暗号化済み鍵Yiは、前記暗号鍵に対応する復号鍵Kiを、前記共有乱数Riと、前記提供対象情報Fiに対する１番目の鍵用暗号鍵ri,1と、で二重に暗号化したものであり、前記第１の装置は、更に、（Ｄ）前記提供対象情報Fiに関して前記第２の装置に対して発行するｊ番目（ｊは１以上の整数）の閲覧制御情報Ti,jとして、ｊ番目の鍵用暗号鍵ri,jに対応するｊ番目の鍵用復号鍵di,jと（ｊ＋１）番目の鍵用暗号鍵ri,j+1とを含む閲覧制御情報Ti,jを前記第２の装置に対して発行する発行手段、を備え、前記第２の装置の前記暗号化済み鍵復号手段は、前記暗号化済み鍵Yiを、前記共有乱数Riと、前記機密情報Fiについて１番目に取得した閲覧制御情報Ti,1に含まれる１番目の鍵用復号鍵di,1と、を使用して復号することにより、前記復号鍵Kiを算出し、前記第２の装置は、更に、（ｅ）前記提供対象情報Fiに対応する一次鍵Xi,jを記憶する一次鍵記憶手段と、（ｆ）前記提供対象情報Fiに関して前記管理装置から発行された前記ｊ番目の閲覧制御情報Ti,jを取得する閲覧制御情報取得手段と、（ｇ）前記一次鍵記憶手段に記憶されている一次鍵Xi,jを、取得された前記閲覧制御情報Ti,jに含まれる前記ｊ番目の鍵用復号鍵di,jを用いて復号して前記復号鍵Kiを算出する一次鍵復号手段と、（ｈ）前記ｊ番目の閲覧制御情報Ti,jに含まれるｊ番目の鍵用復号鍵di,jを使用して復号された前記復号鍵Kiを用いて前記暗号化機密情報e(Ki, Fi)が復号された後、前記復号鍵Kiを、前記ｊ番目の閲覧制御情報Ti,jに含まれる（ｊ＋１）番目の鍵用暗号鍵ri,j+1により暗号化することで次の一次鍵Xi,j+1を生成し、前記一次鍵記憶手段に記憶される前記提供対象情報Fiに対応する一次鍵Xi,jを、生成された前記次の一次鍵Xi,j+1へと更新する一次鍵更新手段と、を備えることを特徴とする請求項１の情報提供システムである。
【００１１】
請求項３に係る発明は、前記第２の装置の前記暗号化済み鍵復号手段が前記第２の記憶手段内にある前記共有乱数Riを（ｉ＋１）番目の共有乱数Ri+1へと更新する場合に、前記共有乱数Riを前記第２の記憶手段から消去する、ことを特徴とする請求項１又は２に記載の情報提供システムである。
【００１２】
請求項４に係る発明は、前記第２の装置の前記一次鍵更新手段が前記一次鍵記憶手段に記憶される前記一次鍵Xi,jを前記次の一次鍵Xi,j+1へと更新する場合に、前記一次鍵Xi,jを前記一次鍵記憶手段から消去する、ことを特徴とする請求項２に記載の情報提供システムである。
【００１３】
請求項５に係る発明は、（Ａ）相手装置との間で共有される、ｉ番目（ｉは１以上の整数）の共有乱数Ri、及び、前記共有乱数Riを（ｉ＋１）番目の共有乱数Ri+1へと更新するための共有情報、を記憶する記憶手段と、（Ｂ）自装置から前記相手装置にｉ番目に提供する提供対象情報Fiについて、前記提供対象情報Fiを前記提供対象情報Fiに対応する暗号鍵で暗号化した暗号化情報e(Ki, Fi)と、前記暗号鍵に対応する復号鍵Kiを前記共有乱数Riで暗号化して得た暗号化済み鍵Yiと、を前記第２の装置に提供する提供手段と、（Ｃ）前記復号鍵Kiを前記共有乱数Riで暗号化して前記暗号化済み鍵Yiを得た後、前記共有乱数Riを前記共有情報に従って更新することより（ｉ＋１）番目の共有乱数Ri+1を生成し、前記記憶手段内にある前記共有乱数Riを（ｉ＋１）番目の共有乱数Ri+1へと更新する共有乱数更新手段と、を有する情報処理装置である。
【００１４】
請求項６に係る発明は、コンピュータを、（Ａ）相手装置との間で共有される、ｉ番目（ｉは１以上の整数）の共有乱数Ri、及び、前記共有乱数Riを（ｉ＋１）番目の共有乱数Ri+1へと更新するための共有情報、を記憶する記憶手段、（Ｂ）自装置から前記相手装置にｉ番目に提供する提供対象情報Fiについて、前記提供対象情報Fiを前記提供対象情報Fiに対応する暗号鍵で暗号化した暗号化情報e(Ki, Fi)と、前記暗号鍵に対応する復号鍵Kiを前記共有乱数Riで暗号化して得た暗号化済み鍵Yiと、を前記第２の装置に提供する提供手段、（Ｃ）前記復号鍵Kiを前記共有乱数Riで暗号化して前記暗号化済み鍵Yiを得た後、前記共有乱数Riを前記共有情報に従って更新することより（ｉ＋１）番目の共有乱数Ri+1を生成し、前記記憶手段内にある前記共有乱数Riを（ｉ＋１）番目の共有乱数Ri+1へと更新する共有乱数更新手段、として機能させるためのプログラムである。
【００１５】
請求項７に係る発明は、（ａ）相手装置との間で共有される、ｉ番目（ｉは１以上の整数）の共有乱数Ri、及び、前記共有乱数Riを（ｉ＋１）番目の共有乱数Ri+1へと更新するための共有情報、を記憶する記憶手段と、（ｂ）ｉ番目の提供対象情報Fiを前記提供対象情報Fiに対応する暗号鍵で暗号化した暗号化情報e(Ki, Fi)と、前記暗号鍵に対応する復号鍵Kiを前記共有乱数Riで暗号化して得た暗号化済み鍵Yiと、を前記相手装置から取得する暗号化情報取得手段と、（ｃ）前記暗号化情報取得手段が取得した前記暗号化済み鍵Yiを、前記共有乱数Riを使用して復号して前記復号鍵Kiを算出すると共に、前記復号鍵Kiの算出のために前記共有乱数Riを使用した後、前記共有乱数Riを前記共有情報に従って更新することより（ｉ＋１）番目の共有乱数Ri+1を生成し、前記記憶手段内にある前記共有乱数Riを（ｉ＋１）番目の共有乱数Ri+1へと更新する暗号化済み鍵復号手段と、（ｄ）算出された前記復号鍵Kiを用いて、前記暗号化情報e(Ki, Fi)から提供対象情報Fiを復号する情報復号手段と、を有する情報処理装置である。
【００１６】
請求項８に係る発明は、コンピュータを、（ａ）相手装置との間で共有される、ｉ番目（ｉは１以上の整数）の共有乱数Ri、及び、前記共有乱数Riを（ｉ＋１）番目の共有乱数Ri+1へと更新するための共有情報、を記憶する記憶手段、（ｂ）ｉ番目の提供対象情報Fiを前記提供対象情報Fiに対応する暗号鍵で暗号化した暗号化情報e(Ki, Fi)と、前記暗号鍵に対応する復号鍵Kiを前記共有乱数Riで暗号化して得た暗号化済み鍵Yiと、を前記相手装置から取得する暗号化情報取得手段、（ｃ）前記暗号化情報取得手段が取得した前記暗号化済み鍵Yiを、前記共有乱数Riを使用して復号して前記復号鍵Kiを算出すると共に、前記復号鍵Kiの算出のために前記共有乱数Riを使用した後、前記共有乱数Riを前記共有情報に従って更新することより（ｉ＋１）番目の共有乱数Ri+1を生成し、前記記憶手段内にある前記共有乱数Riを（ｉ＋１）番目の共有乱数Ri+1へと更新する暗号化済み鍵復号手段、（ｄ）算出された前記復号鍵Kiを用いて、前記暗号化情報e(Ki, Fi)から提供対象情報Fiを復号する情報復号手段、として機能させるためのプログラムである。
【発明の効果】
【００１７】
請求項１、５、６、７又は８に係る発明によれば、第１の装置から第２の装置に新たな提供対象情報を暗号化したものを伝送するごとに、その新たな提供対象情報の復号に用いる復号鍵を第１の装置から第２の装置に安全な経路で伝送しなくても、その復号鍵の安全を保つことができる。
【００１８】
請求項２に係る発明によれば、提供対象情報の復号に用いる復号鍵を第２の装置に安全に保存しておくことができる。
【００１９】
請求項３に係る発明によれば、第三者が通信路から暗号化済み鍵を入手し、更に第２の装置を入手したとしても、それらの情報から復号鍵を求めることができず、ひいては提供対象情報を復号することができない。
【００２０】
請求項４に係る発明によれば、第三者が第２の装置を入手したとしても、第２の装置に記憶されている一次鍵では、第２の装置に記憶されている暗号化情報から提供対象情報を復号することができない。
【図面の簡単な説明】
【００２１】
【図１】実施形態のシステム構成の一例を示す図である。
【図２】実施形態のシステムにおける処理の流れを説明するための図である。
【図３】端末装置が有する閲覧管理データベースのデータ内容の一例を示す図である。
【図４】機密ファイル管理装置が有する端末管理データベースのデータ内容の一例を示す図である。
【図５】実施形態の方式を具体的なシーンに適用した例を説明するための図である。
【図６】ダウンロード段階における処理の流れの一例を示す図である。
【図７】端末装置にダウンロードした機密ファイルを利用する段階での処理の流れのうち、電子チケットを取得するまでの処理を説明するための図である。
【図８】端末装置にダウンロードした機密ファイルを利用する段階での処理の流れのうち、電子チケットを用いて機密ファイルを閲覧するまでの処理を説明するための図である。
【図９】端末装置にダウンロードした機密ファイルを利用する段階での処理の流れのうち、機密ファイルの閲覧終了後の終了処理を説明するための図である。
【発明を実施するための形態】
【００２２】
＜記号の説明＞
参照の便宜のために、以下の説明で用いる各種の記号の簡単な説明を以下にまとめる。
【００２３】
ｉ  端末装置２０が機密ファイル管理装置１０（以下「管理装置１０」と略称）からダウンロードする機密ファイルの通し番号を表すダウンロード番号。１以上の整数である。端末装置２０における機密ファイルの識別番号として機能する。
ｊ  同じ機密ファイルについて端末装置２０が管理装置１０から取得する電子チケットの通し番号を表すチケット番号。１以上の整数である。
Fi  端末装置２０が管理装置１０からｉ番目にダウンロードする機密ファイル。
Ki  ｉ番目の機密ファイルFiを暗号化する共通鍵。
N  端末装置２０に割り当てられた、公開鍵暗号方式の法数。
ri,j  共通鍵Kiを公開鍵暗号方式で暗号化（後述の「一次暗号化」）する際に用いる暗号鍵。
Xi,j  共通鍵Kiを暗号鍵ri,jで暗号化することにより得られた一次暗号化済みの鍵（「一次鍵」と呼ぶ）。電子チケットTi,jに対応しており、端末装置２０から電子チケットが破棄される毎に更新される。
di,j  一次鍵Xi,jを公開鍵暗号方式で復号する際に用いる復号鍵。di,jとri,jとのペアは、公開鍵暗号方式における鍵ペアである。復号鍵di,jは、管理装置１０が端末装置２０に提供する、機密ファイルFiについてのｊ番目の電子チケットTi,jに含まれる。
Ti,j  管理装置１０が端末装置に提供する、機密ファイルFiについてのｊ番目の電子チケット。端末装置２０内にある一次鍵を復号するための復号鍵di,jと、復号結果の共有鍵を再暗号化するための暗号鍵ri,j+1とを含む。再暗号化により生成された新たな一次鍵Xi,j+1が端末装置２０内の元の一次鍵に置き換えられる（一次鍵Xi,jの更新）。
Ri  管理装置１０と端末装置２０とが共有する共有乱数。機密ファイルFiについての最初の一次鍵Xi,1を暗号化（後述の「二次暗号化」）するために用いられる。
Yi  機密ファイルFiについての最初の一次鍵Xi,1を共有乱数Riで暗号化することにより得られた二次暗号化済みの鍵（「二次鍵」と呼ぶ）。管理装置１０から端末装置２０への鍵配送は、二次鍵の形で行う。
HF  共有乱数Riの更新のために用いる一方向性関数。管理装置１０と端末装置２０は同じ一方向性関数HFを共有しているので、更新後の共有乱数Ri+1も、両装置１０及び２０の間で同じ値となる。
【００２４】
＜システムの概要＞
この実施形態では、図１に示すように、機密ファイル管理装置１０（以下「管理装置１０」と略称）が保持する機密ファイルを、スマートフォンやパーソナルコンピュータ等の端末装置２０で機密を保持しつつ利用できるようにするシステムを提供する。このシステムでは、機密ファイルは、管理装置１０と端末装置２０との間で共通の共通鍵により暗号化して保護するとともに、この共通鍵を二重に暗号化することで、端末装置２０内の保存時（一重目の暗号化による保護）、及び管理装置１０から端末装置２０への鍵配送時（二重目の暗号化による保護）の両方で保護する。
【００２５】
図２に示すように、このシステムでの処理の流れは、大きく分けて、初期設定、機密ファイルのダウンロード、端末装置２０側での機密ファイルの利用（電子チケットの取得）、の３段階からなる。
【００２６】
図１に示すように、管理装置１０は、これら各段階の処理を担当する機能モジュールとして、初期設定部１２（初期設定段階）、ファイル提供部１４（ダウンロード段階）、及びチケット発行部１６（ファイル利用段階）を有する。また、管理装置１０は、これら各段階の処理のための管理情報を保持する端末管理データベース１８を備える。
【００２７】
端末装置２０は、機密ファイルを利用（例えば閲覧）するためのプログラムであるビューア２１を有する。ビューア２１は、上記３段階の各々を担当する初期設定部２３（初期設定段階）、ダウンロード処理部２５（ダウンロード段階）、及び閲覧制御部２７（ファイル利用段階）を有する。また、端末装置２０は、これら各段階の処理のための管理情報を保持する閲覧管理データベース２９を備える。
【００２８】
管理装置１０と端末装置２０は、インターネット等のデータ通信用のネットワーク３０を介して相互に通信可能となっている。
【００２９】
以下、このシステムにおける処理の各段階について図２を参照しつつ説明する。
【００３０】
（Ａ）初期設定
「初期設定」は、端末装置２０が管理装置１０から機密ファイル群の提供サービスを受けるために行う設定処理である。「初期設定」は、１つの端末装置２０につき１回行えばよい。「初期設定」段階では、以下の処理が行われる。
【００３１】
（Ａ１）「初期設定」段階では、まず管理装置１０の初期設定部１２が、共有乱数Riの初期値R1と、ＲＳＡ暗号方式で用いる法数Nを生成する。これら初期値R1及び法数Nは、個々の端末装置２０に固有の値である。法数Nは、機密ファイル保護のための共通鍵の一重目の暗号化（以下「一次暗号化」と呼ぶ）のために用い、初期値R1はその共通鍵の二重目の暗号化（以下「二次暗号化」と呼ぶ）のために用いる。初期設定部１２は、生成した初期値R1及び法数Nを、初期設定の対象である端末装置２０の識別情報に対応づけて、端末管理データベース１８に保存する。
【００３２】
次に、初期設定部１２が、その初期値R1及び法数Nを、安全な経路で、端末装置２０に提供する。
【００３３】
（ａ１）管理装置１０から提供された初期値R1及び法数Nを、端末装置２０の初期設定部２３が閲覧管理データベース２９に保存する。
【００３４】
以上の処理により、共有乱数Riの初期値R1と法数Nが管理装置１０・端末装置２０間で共有され、本実施形態の保護方式が利用可能な状態となる。
【００３５】
（Ｂ）機密ファイルのダウンロード
端末装置２０は、管理装置１０内の機密ファイルを利用しようとする場合、その機密ファイルを暗号化したもの（以下「暗号化機密ファイル」と呼ぶ）を管理装置１０からダウンロードし、保存する。そして、以後何度か行われるその機密ファイルの閲覧の際には、端末装置２０内に保存された暗号化機密ファイルが復号され表示される。ある１つの機密ファイルが端末装置２０にダウンロードされるのは基本的に１回だけである（ただし、端末装置２０から削除された暗号化機密ファイルを再度利用する場合には再度ダウンロードする）。「ダウンロード」は、ユーザが新たな機密ファイルを利用しようとする都度実行される。
【００３６】
この明細書では、端末装置２０にダウンロードされた機密ファイルを、序数ｉで識別する。序数ｉは、その端末装置２０が行ったダウンロードの回数を表す値であり、以下では「ダウンロード番号」とも呼ぶ。ダウンロード番号ｉの初期値（最初のファイルをダウンロードする際の値）は１であり、以後、新たな機密ファイルをダウンロードする都度１ずつ増やされる。端末装置２０にｉ番目にダウンロードされた機密ファイルを「機密ファイルFi」と表記する。
【００３７】
二次暗号化に用いる共有乱数Riは、端末装置２０に機密ファイルFiをダウンロードするごとに、管理装置１０と端末装置２０の双方で、共通の更新方式に従って更新する。共有乱数Riは機密ファイルFiに適用され、共有乱数Riの更新結果である共有乱数Ri+1は、機密ファイルFiの次にダウンロードされる機密ファイルFi+1に適用される。
【００３８】
図２に示される「ダウンロード」段階は、端末装置２０が初期設定後に最初の機密ファイルF1をダウンロードするときの処理の流れを示している。この流れを以下に説明する。
【００３９】
（ｂ１）端末装置２０のダウンロード処理部２５が、ユーザから指定された機密ファイルを要求するダウンロード要求を管理装置１０に送る。
【００４０】
（Ｂ１）管理装置１０のファイル提供部１４は、端末装置２０から要求された最初の機密ファイルF1の暗号化に用いる共通鍵K1を生成する。共通鍵K1は機密ファイルF1に固有のものとする。すなわち、端末装置２０に提供する別の機密ファイルFiには、その機密ファイルFi用に別の共通鍵Kiを用意する。
【００４１】
（Ｂ２）ファイル提供部１４は、共通鍵K1で機密ファイルF1を暗号化する。この暗号化の結果、暗号化機密ファイルe(K1, F1)が得られる。
【００４２】
（Ｂ３）管理装置１０は、公開鍵暗号方式による共通鍵K1の保護（一次暗号化）のために、端末管理データベース１８内にある当該端末装置２０に対応する法数Nを用いて、暗号鍵r1,1と復号鍵d1,1からなる最初の鍵ペアを生成する。この鍵ペアは、当該機密ファイルに対する最初の電子チケットに対応する。生成した鍵ペア（r1,1, d1,1）のうちの復号鍵d1,1は、後の使用に備えて、端末装置２０の識別情報に対応づけて端末管理データベース１８に登録する。
【００４３】
ここで、鍵ペア（ri,j, di,j）は、機密ファイルFiに対して発行されるｊ番目の電子チケットTi,jに対応しており、後で詳述するように、その鍵ペアのうちの復号鍵di,jはその電子チケットに組み込まれる。この仕組みからわかるように、鍵ペア（ri,j, di,j）は、機密ファイルFiごと、かつその機密ファイルFiに対する電子チケットTi,jごとに、異なるものが用いられる。
【００４４】
（Ｂ４）ファイル提供部１４は、共通鍵Kiを、最初の鍵ペア内の暗号鍵r1,1と共有乱数R1とを用いて二重に暗号化する。
【００４５】
より詳しくは、まず共通鍵K1を、暗号鍵r1,1を用いて公開鍵暗号方式で暗号化（「一次暗号化」）することで、一次暗号化済みの共通鍵（以下「一次鍵」と呼ぶ）X1を生成する。なお、一次鍵X1は、後述するように例えば機密ファイルF1が利用される都度端末装置２０側で更新されていくので、このとき管理装置１０が生成するのは、一次鍵X1の初期値X1,1である。
【００４６】
次に管理装置１０は、一次鍵X1の初期値X1,1を、機密ファイルF1用の共有乱数R1を用いて暗号化（「二次暗号化」）することで、二次暗号化済みの共通鍵（以下「二次鍵」と呼ぶ）Y1を生成する。
【００４７】
そして管理装置１０は、暗号化機密ファイルe(K1, F1)及び二次鍵Y1を、端末装置２０に送付する。この送付に用いる伝送路は、安全な経路である必要はない。
【００４８】
（Ｂ５）管理装置１０のファイル提供部１４は、二次鍵Y1の生成の後、端末管理データベース１８内の、端末装置２０に対応する共有乱数R1をR2へと更新する。この更新は、端末装置２０と共通の更新方式を用いて行う。これにより、更新後も、管理装置１０と端末装置２０とが同じ共有乱数R2を共有することとなる。共有乱数R2は、端末装置２０が２番目にダウンロードする機密ファイルF2のために用いられることになる。
【００４９】
（ｂ２）管理装置１０から暗号化機密ファイルe(K1, F1)及び二次鍵Y1を受信した端末装置２０では、ダウンロード処理部２５がその暗号化機密ファイルを閲覧管理データベース２９内に保存する。
【００５０】
（ｂ３）ダウンロード処理部２５は、受信した二次鍵Y1を、閲覧管理データベース２９内に保持している共有乱数R1により復号（「二次暗号化」の解除）することで一次鍵X1,1を求め、求めた一次鍵X1,1を閲覧管理データベース２９に保存する。
【００５１】
（ｂ４）ダウンロード処理部２５は、二次鍵Y1の復号の後、管理装置１０と共通の更新方式を用いて、閲覧管理データベース２９内の共有乱数R1を、次のダウンロード用の共有乱数R2へと更新する。更新の後、それまで閲覧管理データベース２９内に保持していた共有乱数R1は削除する。したがって、端末装置２０内には、常に最新の（すなわち、次のダウンロードで用いる）共有乱数だけが存在する。
【００５２】
以上、初期設定後の、端末装置２０に対する最初の機密ファイルのダウンロードの際の処理の流れを説明した。２番目以降の機密ファイルのダウンロードの際も、同様の処理が行われる。
【００５３】
（Ｃ）機密ファイルの利用
端末装置２０にて、ダウンロードした機密ファイルを利用（例えば閲覧、編集など）する場合には、管理装置１０から電子チケットを取得する。この電子チケットには、その機密ファイルのダウンロードの際に端末装置２０が取得した二次鍵から得た一次鍵を復号するための復号鍵が含まれている。端末装置２０は、この復号鍵を用いて一次鍵を復号することで、共通鍵を再生する。そして、ダウンロード段階で取得済みの暗号化機密ファイルを、この共通鍵を用いて復号することで、平文の機密ファイルを得る。
【００５４】
１つの例では、機密ファイルの利用の都度、端末装置２０がその機密ファイルに対応する電子チケットを管理装置１０から取得する。この場合、電子チケットを用いて開いた機密ファイルを閉じると、その電子チケットは無効となり、次に同じ機密ファイルを開く場合には、その機密ファイルに対応する新たな電子チケットを管理装置１０から取得する。
【００５５】
図２に示される「ファイル利用」段階は、端末装置２０がダウンロードした最初の機密ファイルF1を初めて利用するときの処理の流れを示している。この流れを以下に説明する。
【００５６】
（ｃ１）端末装置２０の閲覧制御部２７が、ユーザから指定された機密ファイル（ここでは機密ファイルF1が指定されたとする）のための電子チケットを管理装置１０に要求する。このとき閲覧制御部２７が管理装置１０に送る要求には、対象とする機密ファイルF1を特定するダウンロード番号ｉ＝１と、その機密ファイルF1に対応する何回目の電子チケットであるかを示すチケット番号ｊ（この場合は最初のチケット要求なので「１」）とが含まれる。
【００５７】
チケット要求を受け取った管理装置１０では、チケット発行部１６が、その要求に応じた電子チケットT1,1を発行するための処理を行う。この処理は以下の通りである。
【００５８】
（Ｃ１）チケット発行部１６は、その端末装置２０に対する機密ファイルF1のための次回の電子チケットT1,2に対応する鍵ペア（r1,2, d1,2）を生成する。生成した鍵ペア（r1,2, d1,2）のうちの復号鍵d1,2は、後の使用に備えて、端末装置２０の識別情報に対応づけて端末管理データベース１８に保存する。
【００５９】
（Ｃ２）次にチケット発行部１６は、今回用の鍵ペア（r1,1, d1,1）の復号鍵d1,1と、次回用の鍵ペア（r1,2, d1,2）の暗号鍵r1,2とを含んだ今回用の電子チケットT1,1を生成する。そして、生成した電子チケットT1,1を端末装置２０に送付する。
【００６０】
（ｃ２）電子チケットT1,1を受け取った端末装置２０では、閲覧制御部２７が、受け取った電子チケットT1,1を閲覧管理データベース２９に保存する。また閲覧制御部２７は、閲覧対象に指定された機密ファイルF1に対応する一次鍵X1,1を閲覧管理データベース２９から取得する。
【００６１】
（ｃ３）次に閲覧制御部２７は、受け取った電子チケットT1,1中の復号鍵d1,1を用いて一次鍵X1,1を復号し、共通鍵K1を得る。
【００６２】
（ｃ４）次に閲覧制御部２７は、その共通鍵を用いて暗号化機密ファイルe(K1, F1)を復号することで、平文の機密ファイルF1を得、その機密ファイルF1を画面表示するなどしてユーザの利用に供する。
【００６３】
（ｃ５）機密ファイルF1の復号の後、例えば機密ファイルの利用が終了したとき（例えば機密ファイルを閉じる操作が行われたとき）に、閲覧制御部２７は、共通鍵K1を電子チケット内の次回用の暗号鍵r1,2により再暗号化することで、次回用の一次鍵X1,2を生成し、生成した一次鍵X1,2を閲覧管理データベース２９に保存する。そして、メモリ内に存在する共通鍵K1、今回用の復号鍵d1,1、次回用の暗号鍵r1,2、及び閲覧管理データベース２９内の今回の電子チケットT1,1を削除する。
【００６４】
なお、電子チケットT1,1に有効期限が設定されており、機密ファイルF1が復号され利用（閲覧等）されている間にその電子チケットT1,1の有効期限が切れた場合、閲覧制御部２７は、その機密ファイルF1の表示を停止する。そして、上述した機密ファイルF1の利用終了時と同様、共通鍵K1の再暗号化（次回用の一次鍵X1,2の生成）と、メモリ内及び閲覧管理データベース２９内の関連情報の削除を行う。
【００６５】
以上、端末装置２０に暗号化機密ファイルe(K1, F1)がダウンロードされた後、端末装置２０がその暗号化機密ファイルe(K1, F1)に対する最初の電子チケットを取得して使用する際の処理の流れを説明した。端末装置２０で同じ暗号化機密ファイルe(K1, F1)に対する２番目以降の電子チケットが取得され利用される際も、同様の処理が行われる。
【００６６】
＜データベース＞
次に、図３及び図４を参照して、閲覧管理データベース２９及び端末管理データベース１８に保存されるデータ内容の一例を説明する。
【００６７】
図３に示すように、端末装置２０内の閲覧管理データベース２９には、管理装置１０から送付された当該端末装置２０に固有の法数N、ダウンロード番号ｉをカウントするカウンタｉ、共有乱数Riが保存されている。このうちカウンタｉが示すｉの値は次回のダウンロードの番号を示し、共有乱数Riは、次回のダウンロードの際に用いる値を示す。言い換えれば、図３に示すデータ内容は、端末装置２０が（ｉ−１）番目の機密ファイルFi-1をダウンロードした後、ｉ番目の機密ファイルFiをダウンロードする前の状態である。法数Nは固定値であるが、カウンタｉと共有乱数Riの値は、機密ファイルをダウンロードする毎に更新される。
【００６８】
また閲覧管理データベース２９には、ダウンロード番号ｉごとに、そのダウンロード番号ｉに対応するカウンタCi、暗号化機密ファイルe(Ki, Fi)、一次鍵Xi,j、及び電子チケットTi,jが保存される。
【００６９】
カウンタCiは、当該ダウンロード番号ｉに対応する機密ファイルFiの電子チケットの最新のチケット番号ｊを示す。この最新のチケット番号ｊは、端末装置２０にて電子チケットTi,jを用いて機密ファイルFiが利用されている間は、その電子チケットTi,jが機密ファイルFiについて当該端末装置２０が受け取った何個目の電子チケットであるかを表す。そして、機密ファイルFiの利用が終了して一次鍵Xi,jが更新される（上述のステップ（ｃ５））際に、カウンタCiの値は、機密ファイルFiに対する次の電子チケットTi,j+1を指すよう１増加されて（ｊ＋１）となる。
【００７０】
一次鍵の欄には、電子チケットTi,jを用いて機密ファイルFiが利用されている間は、その電子チケット中の復号鍵により復号可能な一次鍵Xi,jが保持される。機密ファイルFiの利用が終了すると、その欄内の値は一次鍵Xi,j+1へと更新され、次回取得予定の電子チケットTi,j+1に対応したものとなる。
【００７１】
電子チケットの欄は、「チケット保管ディレクトリ」として実装してもよい。チケット保管ディレクトリには、管理装置１０から取得した電子チケットTi,jが、その電子チケットTi,jを用いた機密ファイルFiの利用が終わるまで、保持される。機密ファイルFiの利用が終わると、その電子チケットTi,jはチケット保管ディレクトリから削除される（上述のステップ（ｃ５））。
【００７２】
例えば、図３の例のダウンロード番号２のレコード群は、対応する機密ファイルF2の１つ目の電子チケットT2,1の利用が終了したが、まだ２つ目の電子チケットT2,2は取得していない段階のものである。この場合、一次鍵の欄には２つ目の電子チケットT2,2に対応する一次鍵X2,2が保持され、チケット保管ディレクトリにはダウンロード番号２に対応する電子チケットは存在しない。
【００７３】
図４に示すように、管理装置１０内の端末管理データベース１８には、端末装置２０ごとに、その端末装置２０の識別情報に対応づけて、当該端末装置２０の管理情報が保持される。図４には、識別情報が「Ａ」である端末装置２０（以下では「端末装置Ａ」と呼ぶ）についての管理情報を代表例として示している。
【００７４】
この管理情報には、端末装置Ａに割り当てた固有の法数N、端末装置Ａのダウンロード番号ｉをカウントするカウンタｉ、端末装置Ａとの間の共有乱数Riが保存されている。保存されているカウンタｉ、共有乱数Riの意味は、端末装置２０の閲覧管理データベース２９に保持されるカウンタｉ、共有乱数Riと同じである。
【００７５】
また、端末装置Ａの管理情報には、ダウンロード番号ｉごとに、そのダウンロード番号ｉに対応するカウンタCi、機密ファイルFi、次回用の復号鍵di,j+1が含まれる。ダウンロード番号ｉ及びカウンタCiは、閲覧管理データベース２９のダウンロード番号ｉ及びカウンタCiと同じものである。これら両データベース１８及び２９のダウンロード番号ｉ及びカウンタCiは同期して更新される。機密ファイルFiの欄には、例えば管理装置１０内でその機密ファイルFiを一意に識別する識別情報が保持される。管理装置１０は、この識別情報を参照することで、端末装置Ａに対してｉ番目に提供した機密ファイルFiが何であるかが識別できる。なお、端末装置２０に提供した機密ファイルが何であるかを後で調べる必要がない場合には、機密ファイルの識別情報は保存しておかなくてもよい。次回用の復号鍵di,j+1は、上述のステップ（Ｃ１）でチケット発行部１６が生成したものであり、端末装置Ａに対して次回に発行する機密ファイルFiについての電子チケットTi,j+1に組み込むために、保存される。
【００７６】
管理装置１０及び端末装置２０は、これらデータベース１８及び２９に対して参照及び情報登録・更新をしながら、図２で説明した処理を実行していく。
【００７７】
＜具体例＞
以下、本実施形態の方式を具体的なシーンに適用した例を、図５を参照して説明する。この例では、会社Ａのセールス・パーソンであるユーザＢが、会社Ａの機密情報を記載した複数の機密ファイルを、ユーザＢの使用するスマートフォンＣ（端末装置２０の一例）にダウンロードし、営業活動のために社外において閲覧する場合を考える。機密ファイルはサーバＤ（機密ファイル管理装置１０の一例）内のディスクに保存されており、個々の機密ファイルは異なるＡＥＳ暗号２５６ビット鍵を用いて暗号化が施されているものとする（なお、ＡＥＳ暗号方式、及び鍵長２５６ビットはあくまで一例に過ぎず、他の暗号方式、他の鍵長でもよい）。上述の説明では機密ファイルのダウンロードの際に共通鍵が生成され、その共通鍵が機密ファイルが暗号化されるとしたが、この例では、サーバＤ内の機密ファイルは事前に暗号化され、暗号化機密ファイルの形で保管されているものとする。
【００７８】
ユーザＢが使用するスマートフォンＣには暗号化された機密ファイルを復号してユーザに提示するためのビューアＥ（ビューア２１の一例） が搭載されており、ユーザＢはこのビューアＥを用いて機密ファイルの閲覧を行う。以下では、機密ファイルの保護のために、ＡＥＳ暗号に加えて公開鍵暗号方式であるＲＳＡ暗号方式（ＲＳＡは一例にすぎず、他の暗号方式でもよい）が使用されるものとする。
【００７９】
サーバＤは、初期設定作業において、ユーザＢのスマートフォンＣ用の２０４８ビットの共有乱数Riの初期値R1を生成する。２０４８ビットのデータ長はあくまで一例に過ぎない。更にサーバＤは、ユーザＢによる機密ファイルFiの利用に先立ち、予めＶＰＮ（Virtual Private Network）等の安全な経路を用いて、共有乱数の初期値R1およびＲＳＡ暗号の法数NをスマートフォンＣへ送付する。
【００８０】
ここで、機密ファイルFi（i=1,2,...）は、上述の通り、２５６ビットのＡＥＳ暗号などの暗号方式を用いて暗号化されている。ここで、機密ファイルFiの暗号化に利用されている暗号鍵をKiで示す。この暗号鍵は、サーバＤ側の暗号化と、スマートフォンＣ側での復号との両方で用いられる共通鍵である。
【００８１】
スマートフォンＣのビューアＥは、初期設定作業においてサーバＤから送付された共有乱数の初期値R1及び法数Nを保存する。
【００８２】
この初期化の後、ユーザＢが機密ファイルFi（i=1,2,...）を取得して利用する手順は以下の通りとなる。ここで、Fiは、サーバＤからスマートフォンＣへｉ番目に送付される機密ファイルである。スマートフォンＣはサーバＤから機密ファイルFiの暗号化されたものをインターネット等の公衆回線網を利用してダウンロードする。機密ファイルFiはKiを共通鍵としてＡＥＳ暗号を用いて暗号化されているので、これを暗号化機密ファイルe(Ki, Fi)と表記する。
【００８３】
ユーザは、利用したい機密ファイルを暗号化したもの（暗号化機密ファイル）をサーバＤからスマートフォンＣにダウンロードし、その後その機密ファイルを利用する際にサーバＤから電子チケットを取得する。
【００８４】
機密ファイルのダウンロードの処理は、例えば、図６に示す流れとなる。
【００８５】
この手順では、ユーザＢがスマートフォンＣ内のビューアＥを操作し、サーバＤに対して、当該ユーザＢがアクセス権を持つ機密ファイルのリストを要求する。この要求は、ビューアＥからサーバＤに伝達される（Ｓ１０）。
【００８６】
サーバＤは、この要求に応じ、ユーザＢがアクセス可能な機密ファイルのリストを生成し、このリストをスマートフォンＣに返す（Ｓ１２）。
【００８７】
スマートフォンＣのビューアＥは、このリストを表示する。ユーザＢは、このリストの中から、利用したい機密ファイルを選択する。ユーザが選択した機密ファイルが、すでにスマートフォンＣ内にダウンロード済みのものである場合は、後述するファイルの利用段階（図７〜図９）に進む。ユーザが選択した機密ファイルがまだダウンロードされていない場合、ビューアＥは、サーバＤに対して、そのファイルの識別情報を含んだダウンロード要求を送る（Ｓ１４）。このダウンロード要求は、初期設定後のｉ番目のものであるとする。以降、要求された機密ファイルは、記号Fiで表す。
【００８８】
サーバＤは、ビューアＥから要求された機密ファイルFiに対応する暗号化機密ファイルe(Ki, Fi)をデータベースから取り出す（Ｓ１６）。また、その暗号化機密ファイルe(Ki, Fi)の生成に用いられた共通鍵Kiに対し、二重暗号化を施すことで、二次鍵Yiを得る（Ｓ１８）。より詳しくは、この二重暗号化の処理は以下の通りである。
【００８９】
サーバＤは、まず共通鍵KiをＲＳＡ等の公開鍵暗号方式を用いて暗号化する（一次暗号化）。この一次暗号化では、例えば２５６ビットの乱数ri,1が暗号鍵として使用される。1つの例では、乱数ri,j(i,j=1,2,...)を線形シフトレジスタ法などのあらかじめ定めた乱数生成法を用いて生成し、これらをＲＳＡ暗号の鍵ペアの一方の鍵とする。サーバＤでの共通鍵Kiの一次暗号化に用いる乱数すなわち暗号鍵ri,1は、その乱数生成法における乱数の初期値である。
【００９０】
なお、このとき、暗号鍵ri,1に対応する復号鍵di,1も併せて生成する。これには例えばユークリッドの互除法を用いる。
【００９１】
すなわち、サーバＤは、暗号鍵ri,jに対応する復号鍵di,jを算出するために、秘密情報として１０２４ビットの素数pおよびqを保持している。素数pおよびqは、初期設定時にスマートフォンＣに割り当てた法数Nの素因数であり、N=pqが成立する。法数NはスマートフォンＣに対して固有に割り当てられたもので、別のスマートフォンには上記Nとは異なる法数が割り当てられる。これにより、一つのスマートフォンが紛失あるいは盗難に遭った場合でも、他のスマートフォンの安全性に影響が及ばなくなる。
【００９２】
サーバＤは、ユークリッドの互助法を用いて以下の式
【数１】
2014175970.tif 000003
を満たす正の整数di,jを算出し、これを暗号鍵ri,jに対応する復号鍵とする。
【００９３】
ここでは、最初の暗号鍵ri,1に対応する復号鍵di,1を上述の方法で計算する。求めたdi,1は、いったんサーバＤ内に保存され、後で最初の電子チケットに組み込まれる。
【００９４】
共通鍵Kiの暗号化の説明に戻ると、共通鍵Kiを暗号鍵ri,1で暗号化（一次暗号化）することにより、暗号化された共通鍵である一次鍵（初期値）Xi,1が生成される。一次鍵の初期値Xi,1の具体的な値は、Ki^ri,1 mod N に同値な最小の正の整数である。
【００９５】
次にサーバＤは、一次鍵の初期値Xi,1を共有乱数Riにより更に暗号化（二次暗号化）する。二次暗号化の具体的な方式としては、例えばXi,1とRiとのビット毎の排他的論理和
【数２】
2014175970.tif 000004
を用いる（もちろん、これに限定されるわけではない）。
【００９６】
この二次暗号化により、二次鍵
【数３】
2014175970.tif 000005
が得られる。
【００９７】
さて、この具体例では、機密ファイルFiのダウンロードの際に、その機密ファイルFiを利用するための最初の電子チケットTi,1をサーバＤからスマートフォンＣに提供する。このために、サーバＤは、以下の手順により、機密ファイルFiについての最初の電子チケットTi,1を生成する（Ｓ２０）。
【００９８】
まずサーバＤは、電子チケットTi,1の作成のために、線形シフトレジスタ法などの乱数生成法により、共通鍵Kiの一次暗号化のための２番目の暗号鍵ri,2を生成する。この２番目の暗号鍵ri,2は、復号鍵で復号した共通鍵を再度暗号化する際に用いられる。
【００９９】
次にサーバＤは、序数ｉ（ダウンロード番号）とｊ（チケット番号：この場合は「１」）のペア、保存しておいた最初の復号鍵di,1、今回生成した２番目の暗号鍵ri,2、及び当該電子チケットの有効期限情報、を含んだ電子チケットTi,1を生成する。
【０１００】
また、サーバＤは、２番目の暗号鍵ri,2に対応する復号鍵di,2をユークリッドの互除法などにより求める。この２番目の復号鍵di,2は、サーバＤにいったん保存され、後で、スマートフォンＣに対する機密ファイルに関する次の電子チケットTi,2に組み込まれることになる。
【０１０１】
以上、機密ファイルFiのための最初の電子チケットTi,1について説明した。一般化すると、この具体例では、機密ファイルFiのための最初の電子チケットTi,jには、序数ｉ及びｊ、今回用いる復号鍵di,j、再暗号化に用いる暗号鍵ri,j+1、チケットの有効期限情報を含める。
【０１０２】
次にサーバＤは、暗号化機密ファイルe(Ki, Fi)、二次鍵Yi、及び最初の電子チケットTi,1を、スマートフォンＣに送付する（Ｓ２２）。この送付は、安全な経路を用いる必要はなく、例えば３Ｇ回線などの公衆回線網を利用してよい。
【０１０３】
また、サーバＤは、二次鍵Yiの生成の後、共有乱数をRiからRi+1へと更新する（Ｓ２４）。この更新は、サーバＤとスマートフォンＣと間で共有されている共通の一方向性関数HFを用いて行う。すなわち、次式により、共有乱数RiからRi+1を計算する。
【数４】
2014175970.tif 000006
【０１０４】
そして、サーバＤは、更新前の共有乱数Riを破棄し、更新後の共有乱数Ri+1を、スマートフォンＣからの次回のダウンロードに備えて保存する。
【０１０５】
仮に、サーバＤからスマートフォンＣに送信される二次鍵Yiを、ユーザＢ以外の第三者が盗み見、その第三者が更にスマートフォンＣを入手したとしても、そのスマートフォンＣにはその二次鍵Yiを復号するのに必要な共有乱数Riはすでに無い。なぜなら、スマートフォンＣは、サーバＤから二次鍵Yiを受信するとただちにその二次鍵Yiを共有乱数Riで復号し、その共有乱数Riを次の値Ri+1に更新した上で、その共有乱数Riを削除しているからである。したがって、その第三者は、二次鍵Yiを持っていたとしても共有乱数Riがないため正しい一次鍵Xi,1を得ることができず、スマートフォンＣ内にある暗号化機密ファイルe(Ki, Fi)を開くことができない。その時点でスマートフォンＣ内にある共有乱数Ri+1は、スマートフォンＣが次にダウンロードする暗号化機密ファイルe(Ki+1, Fi+1)のための二次鍵Yi+1に対応しており、これらはまだスマートフォンＣ内にはない。
【０１０６】
次に、スマートフォンＣ側の処理を説明する。
【０１０７】
Ｓ２２でサーバＤが送信した暗号化機密ファイルe(Ki, Fi)などを受信したスマートフォンＣは、まず、受信した二次鍵Yiを、保持している共有乱数Riを用いて復号することで、機密ファイルFiに対応する最初の一次鍵Xi,1を求める（Ｓ２６）。この計算では、次式に示すように、二次鍵Yiと共有乱数Riとの排他的論理和を求めればよい。
【数５】
2014175970.tif 000007
【０１０８】
スマートフォンＣは、求めた一次鍵Xi,1を保存する（Ｓ２８）。
【０１０９】
そして、スマートフォンＣは、共有乱数RiをRi+1に更新する（Ｓ３０）。この更新は、サーバＤでの更新と同様、例えば、サーバＤとスマートフォンＣとの間で共有されている共通の一方向性関数HFを用いて、上述の数式［数４］を用いて行えばよい。共通の一方向性関数HFは、例えばビューアＥにあらかじめ組み込んでおいてもよいし、初期設定時にサーバＤからスマートフォンＣに提供してもよい。
【０１１０】
以上の例では、その暗号化機密ファイルe(Ki, Fi)に対応する最初の電子チケットTi,1を、暗号化機密ファイルe(Ki, Fi)と同時にサーバＤからスマートフォンＣに送付した。別の例では、暗号化機密ファイルe(Ki, Fi)のみを先にサーバＤからスマートフォンＣに送付し、その後のスマートフォンＣからのチケット要求に応じて、最初の電子チケットTi,1を送付するようにしてもよい。
【０１１１】
次に、ダウンロードした暗号化機密ファイルe(Ki, Fi)をスマートフォンＣにて利用（例えば閲覧）する場合の手順の例を、図７〜図９を参照して説明する。
【０１１２】
スマートフォンＣにインストールされたビューアＥは、暗号鍵ri,jに割り付けられた序数ｊ（チケット番号）を記録するためのｉ個のカウンタCi、電子チケットを保管するためのチケット保管ディレクトリＧ、及びビューアＥに割り当てられた電子署名鍵Hを有している。ｉ番目のカウンタCiは、例えば暗号化機密ファイルのダウンロード時、又はこれに対応する最初の電子チケットT i,1がスマートフォンＣへ送付された際などに作成される。作成時に、カウンタCiは初期値「１」に設定される。
【０１１３】
ユーザＢが、ビューアＥに対して機密ファイルFiの閲覧を指示すると（Ｓ４０）、ビューアＥはまず、閲覧管理データベース２９内のチケット保管ディレクトリＧを検索し、機密ファイルFiの表示に必要な電子チケットを探す（Ｓ４２）。この例では、機密ファイルFiを開くのに用いた電子チケットは、その機密ファイルFiを閉じる際に破棄するので、スマートフォンＣ内には機密ファイルFiを開くための電子チケットTi,jは高々１つしか存在しない（すなわち、１つだけ存在するか，１つも存在しないかのいずれか）。したがって、ここでは、利用対象として指定された機密ファイルFiのダウンロード番号ｉに対応する序数ｉを有する電子チケットがチケット保管ディレクトリＧ内にあるかどうかを調べればよい。
【０１１４】
機密ファイルFiの表示に必要な電子チケットがチケット保管ディレクトリＧから見つかった場合、処理は図８のＳ５４に進む（詳細は後述）。
【０１１５】
機密ファイルFiの表示に必要な電子チケットがチケット保管ディレクトリＧから見つからなった場合、ビューアＥは、利用対象として指定された機密ファイルFiのダウンロード番号ｉに対応するカウンタCiの値ｊ（チケット番号）を取得する（Ｓ４４）。次に、ダウンロード番号ｉとチケット番号ｊのペアを含んだチケット発行要求を生成し、このチケット発行要求に対してビューアＥの電子署名鍵Ｈにより電子署名を付与する。そして、電子署名付きのチケット発行要求をサーバＤに送付する（Ｓ４６）。チケット発行要求の送付に用いる通信路は、安全なものである必要はなく、通常の３Ｇ回線などでよい。
【０１１６】
チケット発行要求を受け取ったサーバＤは、そのチケット発行要求の電子署名が正当なものであるかどうかを検証する（Ｓ４８）。電子署名が正当であれば、サーバＤのチケット発行部１６は、そのチケット発行要求内の序数ペア（ｉ，ｊ）に対応する今回用の復号鍵di,j、次回用の暗号鍵ri,j+1、有効期限情報、を含んだ電子チケットTi,jを作成し（Ｓ５０）、これにサーバＤの電子署名を付与してスマートフォンＣに送付する（Ｓ５２）。サーバＤから電子チケットを受け取ったスマートフォンＣは、図８のＳ５４に進む。
【０１１７】
Ｓ４２でチケット保管ディレクトリＧから電子チケットが見つかった場合、又はＳ５２にてサーバＤから電子チケットを取得した場合、スマートフォンＣは、図８に示すように、その電子チケットを検証する（Ｓ５４）。この検証では、１つには、その電子チケットに付されているサーバＤの電子署名が正当であるか否か、その電子チケットに含まれる序数ペア（ｉ，ｊ）が正当であるか否か、及び（ウ）その電子チケットに含まれている有効期限情報が示す有効期限が過ぎているかどうか、を検証する。序数ペアの検証では、電子チケットに含まれる序数ペア（ｉ，ｊ）が、利用対象の機密ファイルFiのダウンロード番号ｉと、そのｉに対応するカウンタCiが示す序数ｊとのペアに一致するか否かを検証する。一致すれば、序数ペアは正当である。
【０１１８】
Ｓ５４の検証において、電子署名が正当でない、序数ペアが正当でない、又は有効期限が過ぎている、のうちの一以上が成り立つ場合は、その電子チケットは無効であると判定する。この場合、スマートフォンＣのビューアＥは、チケット保管ディレクトリＧからその電子チケットを削除し（Ｓ５６）、画面上に、正当な電子チケットがないので、指定された機密ファイルの表示ができないことを説明するメッセージを表示する（Ｓ５８）。
【０１１９】
Ｓ５４の検証において、電子署名及び序数ペアが正当で、かつ有効期限が過ぎていなければ、その電子チケットTi,jは有効であると判定する。この場合、ビューアＥは、その電子チケットTi,jから復号鍵di,jを取り出し（Ｓ６０）、機密ファイルFiのダウンロード番号ｉに対応する一次鍵Xi,jを閲覧管理データベース２９から取得する（Ｓ６２）。次に、復号鍵di,jを用いて一次鍵Xi,jを復号することで、共通鍵Kiを求める（Ｓ６４）。
【０１２０】
この復号では、一次鍵Xi,jに対して、Xi,j^di,jmod N に同値な最小の正の整数を算出する。このとき、
【数６】
2014175970.tif 000008
とオイラーの定理により、
【数７】
2014175970.tif 000009
が成立するため、上記の演算により共通鍵Kiを正常に復号できることがわかる。
【０１２１】
求められた共通鍵Kiは、例えばスマートフォンＣのメモリ（一次記憶）上に置かれる。そして、その共通鍵Kiを用いて暗号化機密ファイルe(Ki, Fi)を復号することで平文の機密ファイルFiを求め（Ｓ６６）、求めた機密ファイルFiを画面に表示してユーザが操作できるようにする（Ｓ６８）。
【０１２２】
その後、ビューアＥは、ユーザから機密ファイルFiの利用を終了する指示が入力されるのを待ち（Ｓ７０）、その指示が入力されると、図９に示す終了処理に進む。
【０１２３】
図９に示す終了処理では、ビューアＥは、その機密ファイルFiのダウンロード番号ｉに対応するカウンタCi内の値ｊを１だけインクリメントする（Ｓ７２）。これによりカウンタCiは、機密ファイルFiに対応する次の電子チケットTi,j+1のチケット番号を指すこととなる。また、暗号化機密ファイルe(Ki, Fi)を復号に用いた共通鍵Kiを、今回用いた電子チケットTi,j内の次の暗号鍵ri,j+1により再暗号化する（Ｓ７４）。再暗号化により得られる一次鍵Xi,j+1は、機密ファイルFiに対応する次の電子チケットTi,j+1を取得することで復号できる。この次回用の一次鍵Xi,j+1を閲覧管理データベース２９に対し、ダウンロード番号ｉに対応づけて保存する。それまで保存していた今回用の一次鍵Xi,jは、閲覧管理データベース２９から削除する。そして、ビューアＥは、スマートフォンＣのメモリから、機密ファイルFi、復号鍵di,j 、次の暗号鍵r i,j+1、共通鍵Kiを削除し（Ｓ７６）、更にチケット保管ディレクトリＧから今回用いた電子チケットTi,jを削除する（Ｓ７８）。
【０１２４】
なお、ユーザが電子チケットTi,jを用いて機密ファイルFiを利用中にその電子チケットTi,jの有効期限が切れた場合、ビューアＥは、機密ファイルFiの表示を停止すると共に、図９に示した終了処理を行い、電子チケットTi,jの有効期限切れを示すメッセージを画面上に表示する。
【０１２５】
以上の例では、閲覧管理データベース２９内の一次鍵Xi,jを、終了処理（図９）のＳ７４にて次回用の一次鍵Xi,j+1へと置き換えたが、この置き換え処理は、図８のＳ６４で一次鍵Xi,jから共通鍵Kiを復号した直後に行ってもよい。共通鍵Kiを得た後は一次鍵Xi,jは不要となるので、共通鍵Kiを復号した直後にその一次鍵Xi,jを次回用の一次鍵Xi,j+1へと置き換えても問題はない。むしろ、一次鍵Xi,jが不要になってすぐにそれを次回用の一次鍵Xi,j+1に置き換えることで、機密ファイルのFiの安全性が増す。なぜなら、このようにすることで、共通鍵Kiを復号したあとは、電子チケットTi,jがスマートフォンＣ内にあったとしても、その電子チケットTi,jで復号可能な一次鍵Xi,jはすでにスマートフォンＣ内にない。したがって、仮にスマートフォンＣが盗難に遭ったとしても、スマートフォンＣ内の情報からは共通鍵Kiが得られないからである。スマートフォンＣを盗まれた場合、ユーザＢが直ちにサーバＤに対してそのスマートフォンＣへのチケット発行の停止を申請することで、スマートフォンＣ内の暗号化機密ファイルe(Ki, Fi)が安全に保護される。
【０１２６】
以上に説明したように、本実施形態では、共通鍵の情報（すなわち共通鍵Kiを一次暗号化して得られた一次鍵Xi,1）を管理装置１０から端末装置２０に提供する際に、その共通鍵の情報を、管理装置１０と端末装置２０との間で安全に共有している共有乱数Riで暗号化（二次暗号化）している。したがって、仮に通信路上を送信される共通鍵の情報（二次鍵Yi）を第三者が入手したとしても、その第三者は共有乱数Riを得ることができないので、共通鍵Kiを得ることができない。
【０１２７】
また、その共有乱数Riは、１つの暗号化機密ファイルe(Ki, Fi)をダウンロードする毎に、管理装置１０と端末装置２０との間で共通の方式により更新される。このため、暗号化機密ファイルe(Ki, Fi)毎に、そのファイルの復号に必要な共通鍵Kiが毎回異なった共有乱数Riで暗号化された状態（二次鍵Yi）で管理装置１０から端末装置２０に伝送されることとなる。このため、万が一第三者がある二次鍵Yiから共通鍵Kiを復号できたとしても、その復号により得られた情報（共通乱数Ri）では、別の機密ファイルに対応する別の共通鍵を復号することはできない。
【０１２８】
また、本実施形態では、共通乱数をRiからRi+1へと更新する際に、元の共通乱数Riを端末装置２０の閲覧管理データベース２９から削除している。このことにより、端末装置２０内には、常に次回ダウンロードする予定の暗号化機密ファイルe(Ki+1, Fi+1)に対応する共有乱数Ri+1が存在するのみであり、過去にダウンロードした暗号化機密ファイルに対応する共有乱数（例えばRi）はすでにない。したがって、仮に第三者が過去に通信路上を伝送された二次鍵（Yi等）を入手し、更に端末装置２０を入手したとしても、その過去の二次鍵（Yi等）は、入手した端末装置２０内に現在あるRi+1では復号できない。このような仕組みにより、端末装置２０が盗難等に遭っても、端末装置２０内にある暗号化機密ファイルe(Ki, Fi)の安全が保たれる。
【０１２９】
また、本実施形態では、初期設定段階でＶＰＮ等の安全な経路により共有乱数の初期値R1及び法数Nを一度管理装置１０から端末装置２０に提供すれば、その後の複数の機密ファイルFi及びこれらに対応する各二次鍵Yiの提供の際に安全な経路を使用する必要はない。したがって、端末装置２０が個々の機密ファイルFiを利用しようとする際に、端末装置２０から管理装置にＶＰＮ接続を行うなどと言った煩雑な手続をとる必要がない。
【０１３０】
また、本実施形態では、暗号化機密ファイルe(Ki, Fi)を復号するための共通鍵Kiが一次暗号化された状態、すなわち一次鍵Xi,jとして端末装置２０（スマートフォンＣ）に保存されている。そして、その一次鍵Xi,jを復号して共通鍵Kiを得るには、端末装置２０は管理装置１０から電子チケットTi,jを取得する必要がある。ここで、本実施形態では、電子チケットTi,jの中に共通鍵Kiの再暗号化用の暗号鍵ri,j+1を含めておき、その電子チケットTi,jの有効期限が切れると、端末装置２０がその再暗号化用の暗号鍵ri,j+1により共通鍵Kiを再暗号化し、元の一次鍵Xi,jを再暗号化により得られた次回用の一次鍵Xi,j+1に置き換えて保存する（一次鍵の更新）と共に、共通鍵Kiを削除する。次回用の一次鍵Xi,j+1は、管理装置１０から当該機密ファイル用の次の電子チケットを入手するまでは復号できないので、少なくとも次の電子チケットを入手するまでは、端末装置２０内の情報では次回用の一次鍵Xi,j+1を復号することができず、したがって暗号化機密ファイルe(Ki, Fi)も復号できない。
【０１３１】
更に、上記実施形態の一つの例では、端末装置２０にて電子チケットTi,jを用いて機密ファイルFiを利用する毎（利用が終了する毎）に、その電子チケットTi,jを破棄し、一次鍵Xi,jをXi,j+1に更新している。この例では、機密ファイルFiを利用していない間は端末装置２０には暗号化機密ファイルe(Ki, Fi)を復号するのに必要な情報がそろっていない（すなわち一次鍵Xi,j+1を復号するのに必要な電子チケットTi,j+1は、利用終了後、次の電子チケット入手までは、端末装置２０にはない）ので、その間に端末装置２０が例えば盗難に遭ったとしても、端末装置２０に次の電子チケットTi,j+1が提供されないよう手を打てば、暗号化機密ファイルe(Ki, Fi)の安全は保たれる。
【０１３２】
また、上記実施形態の一つの例では、電子チケットTi,jを用いて一次鍵Xi,jを復号し、復号結果の共通鍵Kiで暗号化機密ファイルe(Ki, Fi)を復号するとすぐに、一次鍵Xi,jをXi,j+1に更新し、端末装置２０から共通鍵Kiを削除している。この例では、暗号化機密ファイルe(Ki, Fi)の復号に必要な情報が端末装置２０内に揃っている期間、すなわち暗号化機密ファイルe(Ki, Fi)が漏洩の危険にさらされる期間、が最短に近くなる。
【０１３３】
以上では、端末装置２０にて電子チケットTi,jを用いて機密ファイルFiを利用する毎に、その電子チケットTi,jを破棄し、一次鍵Xi,jをXi,j+1に更新する方式を説明した。この方式では、機密ファイルFiを利用する毎に端末装置２０が管理装置１０から新たな電子チケットを入手する必要がある。別の例として、機密ファイルFiの利用が終了してもすぐには電子チケットTi,j及び一次鍵Xi,jを端末装置２０から破棄せず、電子チケットTi,jの有効期間の間は、その電子チケットTi,j及び一次鍵Xi,jを再利用する方式も考えられる。この方式では、電子チケットが有効期限切れになると、電子チケットTi,jの破棄及び一次鍵Xi,jのXi,j+1への更新を行う。この方式では、端末装置２０が入手した電子チケットTi,jの有効期間の間は、端末装置２０内に暗号化機密ファイルe(Ki, Fi)を復号できる情報が揃っているので、情報セキュリティの点では上述の実施形態には劣る。しかし、電子チケットTi,jの有効期限が切れた後、次の電子チケットTi,j+1を入手するまでの間は、端末装置２０内の暗号化機密ファイルe(Ki, Fi)は安全に保護される。また、端末装置２０は、機密ファイルFiの利用の都度管理装置１０から電子チケットを入手する必要がないので、運用上の煩雑さが軽減され、電子チケットの入手に必要な時間が減る分だけ機密ファイルFiの表示に要する時間が短縮される。
【０１３４】
また、以上の例では、管理装置１０と端末装置２０との間で共有する共有乱数Riを、それら両者で共有する一方向性関数HFを用いて更新したが、このような共通の関数による更新はあくまで一例に過ぎない。必要なのは、管理装置１０と端末装置２０との間で同じ共有乱数Riを共有し、かつその共有乱数Riは、使用（すなわち二次鍵の復号）が終わる毎に、その値Riから実質上予測できない次の値Ri+1に更新されるということであり、この条件が満たされるのであれば、共有乱数Riの更新にどのような方式を用いてもよい。例えば、特許文献３に例示される例と同様に、あらかじめ管理装置１０が共有乱数の数列を作成して端末装置２０に提供し、管理装置１０と端末装置２０が同期して、その数列から順に新たな共有乱数を選んでいく方式を採用してもよい。
【０１３５】
また、以上の例では、機密ファイルFiの暗号化と復号に同じ共通鍵を用いる共通鍵（対称鍵）暗号方式を用いたが、これは必須ではなく、非対称鍵暗号方式を用いてもよい。非対称鍵暗号方式を用いる場合、管理装置１０のファイル提供部１４は、機密ファイルFiの暗号化に用いた暗号鍵に対応する復号鍵を、共有乱数Ri及び当該機密ファイルFiについての１番目の鍵用暗号鍵ri,1で二重に暗号化して二次鍵Yiを生成し、この二次鍵Yiを端末装置２０に提供する。端末装置２０に保存される一次鍵Xi,jは、その復号鍵を鍵用暗号鍵ri,jで暗号化したものである。このように、非対称鍵暗号方式を用いる場合、上記実施形態の処理における「共通鍵Ki」を「復号鍵Ki」と読み替えて理解すればよい。なお、念のために言えば、機密ファイルFiの暗号化に共通鍵暗号方式を用いる場合、機密ファイルFiの暗号化に用いる暗号鍵と、この暗号鍵に対応する復号鍵（すなわち暗号化機密ファイルe(Ki, Fi)の復号に用いる復号鍵）は、同じ値（＝共通鍵Ki）である。
【０１３６】
また、以上の例では、共通鍵（復号鍵）Kiをまず鍵用の暗号鍵ri,jで一次暗号化した後、その一次暗号化結果の一次鍵Xi,jを更に共有乱数Riで二次暗号化することで二次鍵Yiを得たが、この暗号化の順序は必須ではない。このかわりに、共通鍵（復号鍵）Kiをまず共有乱数Riで暗号化し、その暗号化の結果を更に鍵用の暗号鍵ri,jで暗号化することで二次鍵Yiを得てもよい。この場合、端末装置２０は、二次鍵Yiを、共有乱数Riと、機密ファイルFiに対応する最初の電子チケットTi,1中の最初の鍵用復号鍵di,1と、を用いて復号することで、共通鍵（復号鍵）Kiを再生する。そして、この鍵Kiを用いて暗号化機密ファイルe(Ki, Fi)を復号した後、その鍵Kiを最初の電子チケットTi,1に含まれる２番目の鍵用暗号鍵ri,2により暗号化することで一次鍵Xi,2を求め、この一次鍵Xi,2を、次の電子チケットTi,2の使用に備えて閲覧管理データベース２９に保存する。端末装置２０が２番目の電子チケットTi,2を得た後の処理は、上述の例と同様である。
【０１３７】
上述した管理装置１０及び端末装置２０は、例えば、汎用のコンピュータに上述の各機能モジュールの処理を表すプログラムを実行させることにより実現される。ここで、コンピュータは、例えば、ハードウエアとして、ＣＰＵ等のマイクロプロセッサ、ランダムアクセスメモリ（ＲＡＭ）およびリードオンリメモリ（ＲＯＭ）等のメモリ（一次記憶）、ＨＤＤ（ハードディスクドライブ）、ＳＳＤ（ソリッドステートドライブ）、フラッシュメモリなどの二次記憶装置、各種Ｉ／Ｏ（入出力）インタフェース、ローカルエリアネットワークなどのネットワークとの接続のための制御を行うネットワークインタフェース等が、たとえばバスを介して接続された回路構成を有する。また、そのバスに対し、例えばＩ／Ｏインタフェース経由で、ＣＤやＤＶＤなどの可搬型ディスク記録媒体に対する読み取り及び／又は書き込みのためのディスクドライブ、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体に対する読み取り及び／又は書き込みのためのメモリリーダライタ、などが接続されてもよい。上に例示した各機能モジュールの処理内容が記述されたプログラムがＣＤやＤＶＤ等の記録媒体を経由して、又はネットワーク等の通信手段経由で、二次記憶装置に保存され、コンピュータにインストールされる。二次記憶装置に記憶されたプログラムがＲＡＭに読み出されＣＰＵ等のマイクロプロセッサにより実行されることにより、上に例示した機能モジュール群が実現される。
【符号の説明】
【０１３８】
１０  機密ファイル管理装置、１２  初期設定部、１４  ファイル提供部、１６  チケット発行部、１８  端末管理データベース、２０  端末装置、２１  ビューア、２３  初期設定部、２５  ダウンロード処理部、２７  閲覧制御部、２９  閲覧管理データベース、３０  ネットワーク、Ａ  会社、Ｂ  ユーザ、Ｃ  スマートフォン、Ｄ  サーバ、Ｅ  ビューア。
【図１】
2014175970.tif 000010
【図２】
2014175970.tif 000011
【図３】
2014175970.tif 000012
【図４】
2014175970.tif 000013
【図５】
2014175970.tif 000014
【図６】
2014175970.tif 000015
【図７】
2014175970.tif 000016
【図８】
2014175970.tif 000017
【図９】
2014175970.tif 000018