(57)【特許請求の範囲】
【請求項１】
暗号化処理を実行する端末装置と、
前記端末装置に格納されている端末秘密鍵の更新に用いられ、所定数の公開鍵及び秘密鍵のペアの中から選択された秘密鍵である秘密情報を格納する外部装置と
を備える鍵隔離型暗号システムにおける暗号化処理方法であって、
前記鍵隔離型暗号システムは、少なくとも第１外部装置及び第２外部装置を含み、
前記第１外部装置及び前記第２外部装置は、既に更新された前記端末秘密鍵の更新回数と対応付けられており、
前記第１外部装置及び前記第２外部装置には、異なる秘密情報が格納されており、
前記更新回数に応じて、前記第１外部装置または前記第２外部装置の何れかを選択するステップと、
選択された前記第１外部装置または前記第２外部装置が、前記更新回数と、格納されている前記秘密情報とに基づいて、前記端末秘密鍵の更新に用いられる鍵更新情報を生成するステップと、
前記端末装置が、前記第１外部装置が生成した前記鍵更新情報を用いて、前記端末秘密鍵を第１更新後端末秘密鍵に更新するステップと、
前記端末装置が、前記第１更新後端末秘密鍵が生成された直後の更新タイミングにおいて、前記第２外部装置が生成した前記鍵更新情報を用いて、前記端末秘密鍵を第２更新後端末秘密鍵に更新するステップと、
前記端末装置が、前記第１更新後端末秘密鍵に対応する第１公開鍵、及び前記第２更新後端末秘密鍵に対応する第２公開鍵を用いて情報を暗号化するステップと、
前記端末装置と異なる他の端末装置が、前記第１更新後端末秘密鍵及び前記第２更新後端末秘密鍵を用いて前記情報を復号するステップと
を備える暗号化処理方法。
【請求項２】
前記端末装置が、前記第１外部装置を一意に識別する外部装置識別情報、及び前記第２外部装置を一意に識別する外部装置識別情報を、第１外部装置及び前記第２外部装置からそれぞれ取得するステップをさらに備え、
前記第１外部装置または前記第２外部装置を選択するステップでは、前記端末装置が、前記外部装置識別情報と前記更新回数とに基づいて、前記端末装置に接続されている外部装置が前記端末秘密鍵の更新を依頼するべき外部装置であるか否かを判定する請求項１に記載の暗号化処理方法。
【請求項３】
前記第１外部装置は、鍵更新情報を生成する第１の周期と対応付けられており、
前記第２外部装置は、前記第１の周期よりも短く、鍵更新情報を生成する第２の周期と対応付けられており、
前記第１外部装置または前記第２外部装置の何れかを選択するステップでは、前記端末秘密鍵の更新時期に応じて、前記第１外部装置または前記第２外部装置の何れかを選択し、
前記鍵更新情報を生成するステップでは、前記第１外部装置または前記第２外部装置が、前記更新時期と、格納されている前記秘密情報とに基づいて、前記鍵更新情報を生成し、
前記第２更新後端末秘密鍵に更新するステップでは、前記端末装置が、前記第２外部装置が生成した前記鍵更新情報を用いて、前記端末秘密鍵を前記第２更新後端末秘密鍵に更新する請求項１に記載の暗号化処理方法。
【請求項４】
前記暗号化するステップでは、前記端末装置が、前記端末秘密鍵に対応する公開鍵及び前記更新時期を示す更新時期情報を用いて前記情報を暗号化する請求項３に記載の暗号化処理方法。
【請求項５】
Ｇ１とＧ２とを位数がｑの群、及びｇを前記Ｇ１の生成元とするとともに、ｅ：Ｇ１×Ｇ１→Ｇ２を、ｅ（ｇａ，ｇｂ）＝ｅ（ｇ，ｇ）ａｂを満足する双線形写像とし、前記鍵更新情報は、前記双線形写像に基づいて定められたハッシュ関数を用いて生成される請求項３に記載の暗号化処理方法。
【請求項６】
暗号化処理を実行する端末装置と、
前記端末装置に格納されている端末秘密鍵の更新に用いられ、所定数の公開鍵及び秘密鍵のペアの中から選択された秘密鍵である秘密情報を格納する外部装置と
を備える鍵隔離型暗号システムであって、
前記鍵隔離型暗号システムは、少なくとも第１外部装置及び第２外部装置を含み、
前記第１外部装置及び前記第２外部装置は、既に更新された前記端末秘密鍵の更新回数と対応付けられており、
前記第１外部装置及び前記第２外部装置には、異なる秘密情報が格納されており、
前記第１外部装置及び前記第２外部装置は、前記更新回数と、格納されている前記秘密情報とに基づいて、前記端末秘密鍵の更新に用いられる鍵更新情報を生成する鍵更新情報生成部を備え、
前記端末装置は、
前記第１外部装置を一意に識別する外部装置識別情報、及び前記第２外部装置を一意に識別する外部識別情報を、前記第１外部装置及び前記第２外部装置からそれぞれ取得する外部装置識別情報取得部と、
前記外部装置識別情報取得部によって取得された前記外部装置識別情報と、前記更新回数とに基づいて、前記端末装置に接続されている外部装置が前記端末秘密鍵の更新を依頼するべき外部装置であるか否かを判定する外部装置判定部と、
前記第１外部装置が生成した前記鍵更新情報を用いて更新された前記端末秘密鍵である第１更新後端末秘密鍵に対応する第１公開鍵、及び前記第１更新後端末秘密鍵が生成された直後の更新タイミングにおいて、前記第２外部装置が生成した前記鍵更新情報を用いて更新された前記端末秘密鍵である第２更新後端末秘密鍵に対応する第２公開鍵を用いて、情報を暗号化する暗号化部と
を備える鍵隔離型暗号システム。
【請求項７】
前記端末装置は、前記第１更新後端末秘密鍵及び前記第２更新後端末秘密鍵を用いて前記情報を復号する復号部をさらに備える請求項６に記載の鍵隔離型暗号システム。
【請求項８】
前記第１外部装置は、鍵更新情報を生成する第１の周期と対応付けられており、
前記第２外部装置は、前記第１の周期よりも短く、鍵更新情報を生成する第２の周期と対応付けられており、
前記外部装置判定部は、前記端末秘密鍵の更新時期に応じて、前記第１外部装置または前記第２外部装置の何れかを選択し、
前記鍵更新情報生成部は、前記第１外部装置または前記第２外部装置が、前記更新時期と、格納されている前記秘密情報とに基づいて、前記鍵更新情報を生成し、
前記暗号化部は、前記端末秘密鍵に対応する公開鍵及び前記更新時期を示す更新時期情報を用いて前記情報を暗号化する請求項６に記載の鍵隔離型暗号システム。
【請求項９】
所定数の公開鍵及び秘密鍵のペアの中から選択された秘密鍵である秘密情報を格納する外部装置と接続され、鍵隔離型暗号システムにおいて用いられる端末装置であって、
前記外部装置は、少なくとも第１外部装置及び第２外部装置を含み、
前記第１外部装置及び前記第２外部装置は、既に更新された前記端末秘密鍵の更新回数と対応付けられており、
前記第１外部装置及び前記第２外部装置には、異なる秘密情報が格納されており、
前記第１外部装置を一意に識別する外部装置識別情報、及び前記第２外部装置を一意に識別する外部識別情報を、前記第１外部装置及び前記第２外部装置からそれぞれ取得する外部装置識別情報取得部と、
前記外部装置識別情報取得部によって取得された前記外部装置識別情報と、前記端末秘密鍵が既に更新された更新回数とに基づいて、前記端末装置に接続されている外部装置が前記端末秘密鍵の更新を依頼するべき外部装置であるか否かを判定する外部装置判定部と、
前記第１外部装置が生成した前記鍵更新情報を用いて更新された前記端末秘密鍵である第１更新後端末秘密鍵に対応する第１公開鍵、及び前記第１更新後端末秘密鍵が生成された直後の更新タイミングにおいて、前記第２外部装置が生成した前記鍵更新情報を用いて更新された前記端末秘密鍵である第２更新後端末秘密鍵に対応する第２公開鍵を用いて、情報を暗号化する暗号化部と
を備える端末装置。
【請求項１０】
前記第１更新後端末秘密鍵及び前記第２更新後端末秘密鍵を用いて前記情報を復号する復号部をさらに備える請求項９に記載の端末装置。
【請求項１１】
前記第１外部装置は、鍵更新情報を生成する第１の周期と対応付けられており、
前記第２外部装置は、前記第１の周期よりも短く、鍵更新情報を生成する第２の周期と対応付けられており、
前記外部装置判定部は、前記端末秘密鍵の更新時期に応じて、前記第１外部装置または前記第２外部装置の何れかを選択し、
前記暗号化部は、前記端末秘密鍵に対応する公開鍵及び前記更新時期を示す更新時期情報を用いて前記情報を暗号化する請求項９に記載の端末装置。
【請求項１２】
Ｇ１とＧ２とを位数がｑの群、及びｇを前記Ｇ１の生成元とするとともに、ｅ：Ｇ１×Ｇ１→Ｇ２を、ｅ（ｇａ，ｇｂ）＝ｅ（ｇ，ｇ）ａｂを満足する双線形写像とし、前記鍵更新情報は、前記双線形写像に基づいて定められたハッシュ関数を用いて生成される請求項１１に記載の端末装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、鍵隔離型暗号システムにおける暗号化処理方法、鍵隔離型暗号システム及び鍵隔離型暗号システムにおいて用いられる端末装置に関する。
【背景技術】
【０００２】
いわゆる情報技術（ＩＴ）の進歩に伴って、今日では送受信する情報の暗号化処理を実行する暗号システムが広く用いられている。
【０００３】
このような暗号システムでは、暗号化処理に用いられている暗号アルゴリズムが解析されてしまうと、暗号化される情報の安全性が確保できなくなるため問題となる。
【０００４】
しかしながら、実際には、暗号アルゴリズムが解析されてしまうことよりも、むしろ暗号システムを利用するユーザの不注意によって、暗号化処理に用いられる鍵が外部に漏洩してしまうことが問題となっている。
【０００５】
そこで、このような鍵の漏洩に対処するため、いわゆる“鍵隔離型暗号システム”が知られている（例えば、非特許文献１，２）。鍵隔離型暗号システムでは、通信ネットワークに接続されている端末装置に格納されているユーザの復号鍵を用いて、鍵隔離型暗号システム内の他のユーザによって暗号化された情報を、所定の期間に限って復号することができる。
【０００６】
また、鍵隔離型暗号システムでは、端末装置と接続される外部装置（例えば、ＩＣカード）に格納されている“秘密情報”を用いて“鍵更新情報”が生成される。当該端末装置のユーザは、鍵更新情報を用いて当該端末装置において利用されるユーザの復号鍵を更新することができる。
【０００７】
すなわち、鍵隔離型暗号システムの大きな特徴は、ある期間に適用されるユーザの復号鍵のいくつかが外部に漏洩した場合でも、漏洩した復号鍵の総数が一定数を超えない限り、当該漏洩した復号鍵が適用される期間以外のその他の期間に適用される復号鍵については、依然として当該ユーザ以外には未知なことである。つまり、当該漏洩した復号鍵が適用される期間以外のその他の期間における安全性には何ら影響を及ぼさない。
【０００８】
ここで、鍵隔離型暗号システムの具体的な構成例について簡単に説明する。例えば、ユーザの復号鍵の更新間隔を１日とし、（Ｎ−１）回の鍵更新、つまり、Ｎ日間の場合を想定する。
【０００９】
鍵隔離型暗号システム内のユーザ（端末装置）は、一般的な公開鍵暗号（例えば、RSA暗号やElGamal暗号）を用いて、Ｎ個の公開鍵・復号鍵のペア（(pki, ski)1≦i≦N）を生成し、公開鍵として、pk=(pki)0≦i≦Nを公開する。
【００１０】
また、当該ユーザ（端末装置）は、初期復号鍵として、dk0=sk0を格納する。さらに、復号鍵sk=(ski)0≦i≦Nをマスター鍵hk*（秘密情報）とし、マスター鍵hk*を外部装置（例えば、ＩＣカードなどの耐タンパ領域）に封入する。
【００１１】
例えば、j回目の鍵更新では、外部装置は、マスター鍵hk*と、j回目の鍵更新であることとに基づいて、鍵更新情報dj=skjを生成する。生成された鍵更新情報djは、安全な通信路によって接続された端末装置に送信される。
【００１２】
当該ユーザ（端末装置）は、鍵更新情報djを用いて新たな復号鍵dkj=djを生成するとともに、これまでの復号鍵dkj-1及びdjを消去する。
【非特許文献１】Y. Dodis, J. Katz, S. Xu and M. Yung、“Key-Insulated Public-Key Cryptosystems”、Proc. of Eurocrypt 2002, Lecture Notes in Computer Science Vol. 2332、2002年、Springer-Verlag, p. 65-82
【非特許文献２】M. Bellare and A. Palacio, “Protecting against Key Exposure: Strongly Key-Insulated Encryption with Optimal Threshold”, Cyptology ePrint Archive 064, インターネット＜URL: http://eprint.iacr.org/2002＞
【発明の開示】
【発明が解決しようとする課題】
【００１３】
しかしながら、上述した従来の鍵隔離型暗号システムには、次のような問題があった。すなわち、鍵隔離型暗号システム内のユーザが利用する外部装置は基本的に１台のみであるため、当該ユーザが柔軟に復号鍵を更新することができないといった問題があった。
【００１４】
例えば、外部装置が自宅に保管してある場合、当該ユーザは、外出中に復号鍵を更新することができない。
【００１５】
当該ユーザが外部装置を携帯することも考えられるが、紛失や盗難によって、鍵隔離型暗号システムが脅かされるといった別の問題を惹起する。また、同一のマスター鍵hk*（秘密情報）が封入された外部装置を複数台用意することも考えられるが、この場合も何れかの外部装置の紛失や盗難によって鍵隔離型暗号システムが脅かされるため、外部装置が１台の場合と比較して、暗号化された情報の安全性が低下する。
【００１６】
そこで、本発明は、このような状況に鑑みてなされたものであり、暗号化された情報の安全性を低下させることなく、より柔軟に鍵更新及び暗号化処理を行うことができる暗号化処理方法、鍵隔離型暗号システム及び端末装置を提供することを目的とする。
【課題を解決するための手段】
【００１７】
上述した問題を解決するため、本発明は、次のような特徴を有している。まず、本発明の第１の特徴は、暗号化処理を実行する端末装置（例えば、端末装置１０Ａ）と、前記端末装置に格納されている端末秘密鍵（例えば、復号鍵dkj）の更新に用いられ、所定数の公開鍵及び秘密鍵のペアの中から選択された秘密鍵である秘密情報を格納する外部装置（外部装置４０Ａ，４０Ｂ）とを備える鍵隔離型暗号システムにおける暗号化処理方法であって、前記鍵隔離型暗号システムは、少なくとも第１外部装置（外部装置４０Ａ）及び第２外部装置（外部装置４０Ｂ）を含み、前記第１外部装置及び前記第２外部装置は、既に更新された前記端末秘密鍵の更新回数（例えば、更新回数が奇数回であるか偶数回であるか）と対応付けられており、前記第１外部装置及び前記第２外部装置には、異なる秘密情報（マスター鍵hk*odd及びマスター鍵hk*even）が格納されており、前記更新回数に応じて、前記第１外部装置または前記第２外部装置の何れかを選択するステップと、選択された前記第１外部装置または前記第２外部装置が、前記更新回数と、格納されている前記秘密情報とに基づいて、前記端末秘密鍵の更新に用いられる鍵更新情報（例えば、dj）を生成するステップと、前記第１外部装置が生成した前記鍵更新情報を用いて、前記端末秘密鍵を第１更新後端末秘密鍵（復号鍵dkj-1）に更新するステップと、前記第１更新後端末秘密鍵が生成された直後の更新タイミングにおいて、前記第２外部装置が生成した前記鍵更新情報を用いて、前記端末秘密鍵を第２更新後端末秘密鍵（復号鍵dkj）に更新するステップと、前記端末装置が、前記第１更新後端末秘密鍵に対応する第１公開鍵（公開鍵pkj-1）、及び前記第２更新後端末秘密鍵に対応する第２公開鍵（公開鍵pkj）を用いて情報（平文m）を暗号化するステップと、前記端末装置と異なる他の端末装置（例えば、端末装置２０）が、前記第１更新後端末秘密鍵及び前記第２更新後端末秘密鍵を用いて前記情報を復号するステップとを備えることを要旨とする。
【００１８】
このような特徴によれば、端末秘密鍵の既更新回数に対して、異なる複数の外部装置が対応付けられており、外部装置のそれぞれには、異なる秘密情報が格納される。つまり、端末装置のユーザは、端末秘密鍵の更新回数に応じて、対応付けられている外部装置を接続することによって、複数の異なる場所に設置されている外部装置を使い分けることができる。また、外部装置のそれぞれには、異なる秘密情報が格納されているため、何れかの外部装置の紛失や盗難が生じた場合でも、一定数の復号鍵を取得することができないため、鍵隔離型暗号システムの安全性を維持することができる。
【００１９】
すなわち、このような特徴によれば、暗号化された情報の安全性を低下させることなく、より柔軟に鍵更新を行うことができる。
【００２０】
さらに、このような特徴によれば、端末秘密鍵の更新回数に対応する公開鍵（第２公開鍵）、及び当該公開鍵よりもひとつ前の期間に対応する公開鍵（第１公開鍵）の両公開鍵を用いて、情報が暗号化される。また、暗号化された情報は、第２更新後端末秘密鍵、及び第２更新後端末秘密鍵よりもひとつ前の第１更新後端末秘密鍵の両復号鍵を用いなければ、復号することができない。
【００２１】
このため、第１外部装置または第２外部装置の何れかの紛失や盗難が生じた場合でも、当該外部装置を入手した攻撃者は、当該外部装置を用いても暗号化された情報を一切復号することができず、鍵隔離型暗号システムの安全性をさらに向上させることができる。
【００２２】
本発明の第２の特徴は、本発明の第１の特徴に係り、前記端末装置が、前記第１外部装置を一意に識別する外部装置識別情報、及び前記第２外部装置を一意に識別する外部装置識別情報を、第１外部装置及び前記第２外部装置からそれぞれ取得するステップをさらに備え、
前記第１外部装置または前記第２外部装置を選択するステップでは、前記端末装置が、前記外部装置識別情報と前記更新回数とに基づいて、前記端末装置に接続されている外部装置が前記端末秘密鍵の更新を依頼するべき外部装置であるか否かを判定することを要旨とする。
【００２３】
本発明の第３の特徴は、本発明の第１の特徴に係り、前記第１外部装置は、鍵更新情報を生成する第１の周期（例えば、１ヶ月）と対応付けられており、前記第２外部装置は、前記第１の周期よりも短く、鍵更新情報（鍵更新情報δｉ）を生成する第２の周期（例えば、１日）と対応付けられており、前記第１外部装置または前記第２外部装置の何れかを選択するステップでは、前記端末秘密鍵の更新時期（例えば、ある月の第１日）に応じて、前記第１外部装置または前記第２外部装置の何れかを選択し、前記鍵更新情報を生成するステップでは、前記第１外部装置または前記第２外部装置が、前記更新時期と、格納されている前記秘密情報とに基づいて、前記鍵更新情報を生成し、前記第２更新後端末秘密鍵に更新するステップでは、前記端末装置が、前記第２外部装置が生成した前記鍵更新情報を用いて、前記端末秘密鍵を前記第２更新後端末秘密鍵に更新することを要旨とする。
【００２４】
本発明の第４の特徴は、本発明の第３の特徴に係り、前記暗号化するステップでは、前記端末装置が、前記端末秘密鍵に対応する公開鍵（公開鍵pkall）及び前記更新時期を示す更新時期情報（日付）を用いて前記情報を暗号化することを要旨とする。
【００２５】
本発明の第５の特徴は、本発明の第３の特徴に係り、Ｇ１とＧ２とを位数がｑの群、及びｇを前記Ｇ１の生成元とするとともに、ｅ：Ｇ１×Ｇ１→Ｇ２を、ｅ（ｇａ，ｇｂ）＝ｅ（ｇ，ｇ）ａｂを満足する双線形写像とし、前記鍵更新情報は、前記双線形写像に基づいて定められたハッシュ関数を用いて生成されることを要旨とする。
【００２６】
本発明の第６の特徴は、暗号化処理を実行する端末装置（例えば、端末装置１０Ａ，端末装置２０）と、前記端末装置に格納されている端末秘密鍵（例えば、復号鍵dkj）の更新に用いられ、所定数の公開鍵及び秘密鍵のペアの中から選択された秘密鍵である秘密情報を格納する外部装置（外部装置４０Ａ，４０Ｂ）とを備える鍵隔離型暗号システムであって、前記鍵隔離型暗号システムは、少なくとも第１外部装置（外部装置４０Ａ）及び第２外部装置（外部装置４０Ｂ）を含み、前記第１外部装置及び前記第２外部装置は、既に更新された前記端末秘密鍵の更新回数（例えば、更新回数が奇数回であるか偶数回であるか）と対応付けられており、前記第１外部装置及び前記第２外部装置には、異なる秘密情報（マスター鍵hk*odd及びマスター鍵hk*even）が格納されており、前記第１外部装置及び前記第２外部装置は、前記更新回数と、格納されている前記秘密情報とに基づいて、前記端末秘密鍵の更新に用いられる鍵更新情報（例えば、dj）を生成する鍵更新情報生成部（鍵更新情報生成部４０３）を備え、前記端末装置は、前記第１外部装置を一意に識別する外部装置識別情報、及び前記第２外部装置を一意に識別する外部識別情報を、前記第１外部装置及び前記第２外部装置からそれぞれ取得する外部装置識別情報取得部（更新部２０５）と、前記外部装置識別情報取得部によって取得された前記外部装置識別情報と、前記更新回数とに基づいて、前記端末装置に接続されている外部装置が前記端末秘密鍵の更新を依頼するべき外部装置であるか否かを判定する外部装置判定部（更新部２０５）と、前記第１外部装置が生成した前記鍵更新情報を用いて更新された前記端末秘密鍵である第１更新後端末秘密鍵（復号鍵dkj-1）に対応する第１公開鍵（公開鍵pkj-1）、及び前記第１更新後端末秘密鍵が生成された直後の更新タイミングにおいて、前記第２外部装置が生成した前記鍵更新情報を用いて更新された前記端末秘密鍵である第２更新後端末秘密鍵（復号鍵dkj）に対応する第２公開鍵（公開鍵pkj）を用いて、情報（平文m）を暗号化する暗号化部（暗号化部１０５）とを備えることを要旨とする。
【００２７】
本発明の第７の特徴は、本発明の第６の特徴に係り、前記端末装置は、前記第１更新後端末秘密鍵及び前記第２更新後端末秘密鍵を用いて前記情報を復号する復号部（復号部２０９）をさらに備えることを要旨とする。
【００２８】
本発明の第８の特徴は、本発明の第６の特徴に係り、前記第１外部装置は、鍵更新情報を生成する第１の周期（例えば、１ヶ月）と対応付けられており、前記第２外部装置は、前記第１の周期よりも短く、鍵更新情報（鍵更新情報δｉ）を生成する第２の周期（例えば、１日）と対応付けられており、前記外部装置判定部は、前記端末秘密鍵の更新時期（例えば、ある月の第１日）に応じて、前記第１外部装置または前記第２外部装置の何れかを選択し、前記鍵更新情報生成部は、前記第１外部装置または前記第２外部装置が、前記更新時期と、格納されている前記秘密情報とに基づいて、前記鍵更新情報を生成し、前記暗号化部は、前記端末秘密鍵に対応する公開鍵（公開鍵pkall）及び前記更新時期を示す更新時期情報（日付）を用いて前記情報を暗号化することを要旨とする。
【００２９】
本発明の第９の特徴は、所定数の公開鍵及び秘密鍵のペアの中から選択された秘密鍵である秘密情報を格納する外部装置（外部装置４０Ａ，４０Ｂ）と接続され、鍵隔離型暗号システムにおいて用いられる端末装置（例えば、端末装置１０Ａ，端末装置２０）であって、前記外部装置は、少なくとも第１外部装置（外部装置４０Ａ）及び第２外部装置（外部装置４０Ｂ）を含み、前記第１外部装置及び前記第２外部装置は、既に更新された前記端末秘密鍵の更新回数（例えば、更新回数が奇数回であるか偶数回であるか）と対応付けられており、前記第１外部装置及び前記第２外部装置には、異なる秘密情報（マスター鍵hk*odd及びマスター鍵hk*even）が格納されており、前記第１外部装置を一意に識別する外部装置識別情報、及び前記第２外部装置を一意に識別する外部識別情報を、前記第１外部装置及び前記第２外部装置からそれぞれ取得する外部装置識別情報取得部（更新部２０５）と、前記外部装置識別情報取得部によって取得された前記外部装置識別情報と、前記端末秘密鍵が既に更新された更新回数とに基づいて、前記端末装置に接続されている外部装置が前記端末秘密鍵の更新を依頼するべき外部装置であるか否かを判定する外部装置判定部（更新部２０５）と、前記第１外部装置が生成した前記鍵更新情報を用いて更新された前記端末秘密鍵である第１更新後端末秘密鍵（復号鍵dkj-1）に対応する第１公開鍵（公開鍵pkj-1）、及び前記第１更新後端末秘密鍵が生成された直後の更新タイミングにおいて、前記第２外部装置が生成した前記鍵更新情報を用いて更新された前記端末秘密鍵である第２更新後端末秘密鍵（復号鍵dkj）に対応する第２公開鍵（公開鍵pkj）を用いて、情報（平文m）を暗号化する暗号化部（暗号化部１０５）とを備えることを要旨とする。
【００３０】
本発明の第１０の特徴は、本発明の第９の特徴に係り、前記第１更新後端末秘密鍵及び前記第２更新後端末秘密鍵を用いて前記情報を復号する復号部（復号部２０９）をさらに備えることを要旨とする。
【００３１】
本発明の第１１の特徴は、本発明の第９の特徴に係り、前記第１外部装置は、鍵更新情報を生成する第１の周期（例えば、１ヶ月）と対応付けられており、前記第２外部装置は、前記第１の周期よりも短く、鍵更新情報（鍵更新情報δｉ）を生成する第２の周期（例えば、１日）と対応付けられており、前記外部装置判定部は、前記端末秘密鍵の更新時期（例えば、ある月の第１日）に応じて、前記第１外部装置または前記第２外部装置の何れかを選択し、前記暗号化部は、前記端末秘密鍵に対応する公開鍵（公開鍵pkall）及び前記更新時期を示す更新時期情報（日付）を用いて前記情報を暗号化することを要旨とする。
【００３２】
本発明の第１２の特徴は、本発明の第１１の特徴に係り、Ｇ１とＧ２とを位数がｑの群、及びｇを前記Ｇ１の生成元とするとともに、ｅ：Ｇ１×Ｇ１→Ｇ２を、ｅ（ｇａ，ｇｂ）＝ｅ（ｇ，ｇ）ａｂを満足する双線形写像とし、前記鍵更新情報は、前記双線形写像に基づいて定められたハッシュ関数を用いて生成されることを要旨とする。
【発明の効果】
【００３３】
本発明の特徴によれば、暗号化された情報の安全性を低下させることなく、より柔軟に鍵更新及び暗号化処理を行うことができる暗号化処理方法、鍵隔離型暗号システム及び端末装置を提供することができる。
【発明を実施するための最良の形態】
【００３４】
［第１実施形態］
次に、本発明の第１実施形態について説明する。なお、以下の図面の記載において、同一または類似の部分には、同一または類似の符号を付している。ただし、図面は模式的なものであり、各寸法の比率などは現実のものとは異なることに留意すべきである。
【００３５】
したがって、具体的な寸法などは以下の説明を参酌して判断すべきものである。また、図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることは勿論である。
【００３６】
（鍵隔離型暗号システムの全体概略構成）
図１は、本実施形態に係る鍵隔離型暗号システムの全体概略構成図である。図１に示すように、本実施形態に係る鍵隔離型暗号システムは、端末装置１０Ａ，１０Ｂ、端末装置２０、公開情報サーバ３０及び外部装置４０Ａ，４０Ｂによって構成されている。
【００３７】
端末装置１０Ａ，１０Ｂ、端末装置２０及び公開情報サーバ３０は、通信ネットワーク１に接続されている。
【００３８】
本実施形態に係る鍵隔離型暗号システムでは、通信ネットワーク１に接続されている端末装置２０（端末装置）に格納されているユーザの復号鍵dk（端末秘密鍵）を用いて、鍵隔離型暗号システム内の他のユーザが利用する端末装置（例えば、端末装置１０Ａ）によって暗号化された情報を、所定の期間に限って復号することができる。
【００３９】
なお、本実施形態に係る鍵隔離型暗号システムでは、上述した非特許文献１または非特許文献２に記載されている暗号方式にしたがって送受信する情報の暗号化処理が実行される。
【００４０】
端末装置１０Ａ，１０Ｂは、端末装置２０のユーザの公開鍵pkを用いて平文mを暗号化し、平文mを暗号化した暗号文cを端末装置２０に送信する。
【００４１】
端末装置２０は、端末装置１０Ａ（また１０Ｂ）によって送信された暗号文cを受信し、受信した暗号文cを、端末装置２０のユーザの復号鍵dkを用いて平文mに復元する。本実施形態において、端末装置１０Ａ，１０Ｂ及び端末装置２０は、暗号化処理を実行する端末装置を構成する。
【００４２】
端末装置１０Ａ，１０Ｂ及び端末装置２０としては、通信ネットワーク１にアクセスするための通信インターフェースを備えるパーソナルコンピュータやＰＤＡ（personal digital assistant）などを用いることができる。
【００４３】
また、端末装置としては、端末装置１０Ｂのように、無線基地局１ａを介して通信ネットワーク１にアクセスできる移動通信端末（例えば、携帯電話端末）を用いてもよい。
【００４４】
公開情報サーバ３０は、通信ネットワーク１を介して、鍵隔離型暗号システムを構成する端末装置１０Ａ，１０Ｂ及び端末装置２０のユーザの公開鍵pkを他のユーザに公開する。
【００４５】
外部装置４０Ａ，４０Ｂは、端末装置２０に格納されている端末装置２０のユーザの復号鍵dk（端末秘密鍵）の更新に用いられるマスター鍵hk*（秘密情報）を格納する。本実施形態では、外部装置４０Ａは、自宅ＲＧに設置されている。また、外部装置４０Ｂは、会社ＯＦに設置されている。
【００４６】
マスター鍵hk*は、一般的な公開鍵暗号（例えば、RSA暗号やElGamal暗号）を用いて所定数の公開鍵及び秘密鍵のペアの中から選択された秘密鍵である。マスター鍵hk*は、端末装置２０のユーザの復号鍵dk（端末秘密鍵）を更新するための鍵更新情報dを生成するために用いられる。
【００４７】
本実施形態では、外部装置４０Ａ，４０Ｂ、つまり、複数の外部装置が既に更新された復号鍵dkの更新回数と対応付けられている。
【００４８】
また、外部装置４０Ａ（第１外部装置）と外部装置４０Ｂ（第２外部装置）とのそれぞれには、異なるマスター鍵hk*（具体的には、マスター鍵hk*odd，マスター鍵hk*even）が格納されている。なお、外部装置４０Ａ，４０Ｂに格納されるマスター鍵hk*の詳細については後述する。
【００４９】
外部装置４０Ａ，４０Ｂは、例えば、耐タンパ領域を有するＩＣカードと、ＩＣカードリーダ／ライタによって構成することができる。また、端末装置が移動通信端末である場合、端末装置の充電器に外部装置４０Ａ（４０Ｂ）の機能を具備するようにしてもよい。
【００５０】
（鍵隔離型暗号システムの論理ブロック構成）
次に、本実施形態に係る鍵隔離型暗号システムを構成する端末装置１０Ａ（１０Ｂ）、端末装置２０、公開情報サーバ３０及び外部装置４０Ａ（４０Ｂ）の論理ブロック構成について説明する。
【００５１】
（１）端末装置１０Ａ
図２は、端末装置１０Ａの論理ブロック構成図である。端末装置１０Ｂも端末装置１０Ａと同様の構成を有している。なお、以下、本発明との関連がある部分について主に説明する。したがって、端末装置１０Ａは、端末装置１０Ａの機能を実現する上で必須な、図示しない或いは説明を省略した論理ブロック（音声通信部など）を備える場合があることに留意されたい（以下に説明する端末装置２０、公開情報サーバ３０及び外部装置４０Ａについても同様である）。
【００５２】
図２に示すように、端末装置１０Ａは、通信部１０１、入力部１０３、暗号化部１０５及び記憶部１０７を備えている。
【００５３】
通信部１０１は、通信ネットワーク１と接続するための通信インターフェースを提供する。また、通信部１０１は、暗号化部１０５によって送信された暗号文cなどを中継する。
【００５４】
入力部１０３は、暗号化部１０５において暗号化される平文mを入力するためのインターフェース（例えば、キーボードやデータ記録媒体のドライブ装置）である。
【００５５】
暗号化部１０５は、入力部１０３によって入力された平文mを暗号化し、暗号文cを生成する。具体的には、暗号化部１０５は、公開情報サーバ３０において公開されている端末装置２０のユーザの公開鍵pkを取得し、取得した端末装置２０のユーザの公開鍵pkを用いて平文mを暗号化する。
【００５６】
本実施形態では、暗号化部１０５は、以下の公開鍵pkを用いて、平文mを暗号化する。暗号化部１０５は、第１に、外部装置４０Ａ（第１外部装置）が生成した鍵更新情報（例えば、鍵更新情報dj-1）を用いて更新された復号鍵dkj-1（第１更新後端末秘密鍵）に対応する公開鍵pkj-1（第１公開鍵）を用いる。
【００５７】
暗号化部１０５は、第２に、復号鍵dkj-1が生成された直後の更新タイミング（j）において、外部装置４０Ｂ（第２外部装置）が生成した鍵更新情報（例えば、鍵更新情報dj）を用いて更新された復号鍵dkj（第２更新後端末秘密鍵）に対応する公開鍵pkj（第２公開鍵）を用いる。
【００５８】
暗号化部１０５は、公開鍵pkj-1及び公開鍵pkjの両公開鍵を用いて、平文m（情報）を暗号化する。
【００５９】
記憶部１０７は、公開情報サーバ３０から取得した端末装置２０のユーザの公開鍵pkなどを記憶する。
【００６０】
（２）端末装置２０
図３は、端末装置２０の論理ブロック構成図である。図３に示すように、端末装置２０は、通信部２０１、生成部２０３、更新部２０５、格納部２０７、復号部２０９及び出力部２１１を備えている。
【００６１】
通信部２０１は、通信ネットワーク１と接続するための通信インターフェースを提供する。また、通信部１０１は、生成部２０３、更新部２０５、復号部２０９及び出力部２１１と接続されており、当該論理ブロック間において送受信される鍵更新情報dや復号鍵dkなどを中継する。
【００６２】
生成部２０３は、一般的な公開鍵暗号（例えば、RSA暗号やElGamal暗号）を用いて所定数の公開鍵及び秘密鍵のペアを生成する。
【００６３】
更新部２０５は、端末装置２０のユーザの復号鍵dkを更新する。具体的には、更新部２０５は、外部装置４０Ａまたは外部装置４０Ｂによって生成された鍵更新情報dを用いて復号鍵dkを更新する。
【００６４】
特に、本実施形態では、外部装置４０Ａは、奇数回目の復号鍵dkの更新と対応付けられている。一方、外部装置４０Ｂは、偶数回目の復号鍵dkの更新と対応付けられている。
【００６５】
また、更新部２０５は、外部装置４０Ａ，４０Ｂを一意に識別する外部装置識別情報を当該外部装置から取得することができる。本実施形態において、更新部２０５は、外部装置識別情報取得部を構成する。
【００６６】
さらに、更新部２０５は、取得した外部装置識別情報と、端末装置２０のユーザの復号鍵dk（端末秘密鍵）が既に更新された更新回数とに基づいて、端末装置２０に接続されている外部装置が復号鍵dkの更新を依頼するべき外部装置であるか否かを判定することができる。本実施形態では、更新部２０５は、外部装置判定部を構成する。
【００６７】
格納部２０７は、生成部２０３によって生成された所定数の公開鍵及び秘密鍵のペアや、端末装置２０のユーザの復号鍵dkなどを格納するものである。
【００６８】
復号部２０９は、端末装置１０Ａ（１０Ｂ）によって送信された暗号文cを復号する。具体的には、復号部２０９は、格納部２０７に格納されている端末装置２０のユーザの復号鍵dkを用いて暗号文cを復号する。
【００６９】
具体的には、復号部２０９は、復号鍵dkj-1（第１更新後端末秘密鍵）及び復号鍵dkj（第２更新後端末秘密鍵）の両復号鍵を用いて暗号文cを復号する。復号部２０９は、暗号文cを復号することによって復元された平文mを格納部２０７に格納したり、出力部２１１に出力したりすることができる。
【００７０】
出力部２１１は、暗号文cを復号することによって得られた平文mなどを出力する。例えば、出力部２１１は、平文mなどの内容を表示する液晶表示器や、平文mなどのデータを記録媒体（例えば、メモリーカード）に記録するドライブ装置によって構成される。
【００７１】
なお、本実施形態では、端末装置１０Ａ（１０Ｂ）と端末装置２０とは、異なる論理ブロックを有しているが、端末装置１０Ａ（１０Ｂ）は、端末装置１０Ａの論理ブロックに加え、端末装置２０の論理ブロックを備えてもよい。同様に、端末装置２０は、端末装置２０の論理ブロックに加え、端末装置１０Ａの論理ブロックを備えてもよい。
【００７２】
（３）公開情報サーバ３０
図４は、公開情報サーバ３０の論理ブロック構成図である。図４に示すように、公開情報サーバ３０は、通信部３０１、制御部３０３及び公開情報データベース３０５を備えている。
【００７３】
通信部３０１は、通信ネットワーク１と接続するための通信インターフェースを提供する。また、通信部３０１は、制御部３０３によって送信された端末装置２０のユーザの公開鍵pkなどを中継する。
【００７４】
制御部３０３は、端末装置２０によって送信された端末装置２０のユーザの公開鍵pkなどを公開情報データベース３０５に格納する。また、制御部３０３は、端末装置１０Ａなどの要求に応じて、公開情報データベース３０５に格納されている端末装置２０のユーザの公開鍵pkなどを端末装置１０Ａに送信する。
【００７５】
公開情報データベース３０５は、端末装置２０のユーザの公開鍵pkなどを格納し、鍵隔離型暗号システム内のユーザの公開鍵pkによって構成される公開情報データベースを形成する。
【００７６】
（４）外部装置４０Ａ
図５は、外部装置４０Ａの論理ブロック構成図である。なお、外部装置４０Ｂも外部装置４０Ａと同様の構成を有している。図５に示すように、外部装置４０Ａは、通信部４０１、鍵更新情報生成部４０３及び記憶部４０５を備えている。
【００７７】
通信部４０１は、通信ネットワーク１と接続するための通信インターフェースを提供する。また、通信部４０１は、鍵更新情報生成部４０３によって送信された鍵更新情報dなどを中継する。
【００７８】
鍵更新情報生成部４０３は、記憶部４０５に記憶されているマスター鍵hk*（具体的は、マスター鍵hk*odd）を用いて、端末装置２０のユーザの復号鍵dkを更新するために用いられる鍵更新情報dを生成する。
【００７９】
また、本実施形態では、上述したように、外部装置４０Ａは奇数回目の復号鍵dkの更新と対応付けられている。
【００８０】
すなわち、鍵更新情報生成部４０３は、復号鍵dkの更新回数と、格納されているマスター鍵hk*（具体的は、マスター鍵hk*odd）とに基づいて、復号鍵dkの更新に用いられる鍵更新情報dを生成する。具体的には、鍵更新情報生成部４０３は、奇数回目の復号鍵dkの更新である場合、端末装置２０からの指示に基づいて鍵更新情報dを生成する。本実施形態において、鍵更新情報生成部４０３は、鍵更新情報生成部を構成する。
【００８１】
また、鍵更新情報生成部４０３は、端末装置２０（更新部２０５）からの要求に応じて、外部装置４０Ａを一意に識別する外部装置識別情報を端末装置２０に送信することができる。なお、外部装置識別情報としては、例えば、外部装置４０Ａの機器種別情報と製造シリアル番号とを用いることができる。
【００８２】
記憶部４０５は、マスター鍵hk*（具体的は、マスター鍵hk*odd）を記憶する。なお、マスター鍵hk*は、記憶部４０５の耐タンパ領域に記憶することが好ましい。
【００８３】
（鍵隔離型暗号システムの動作）
次に、図６〜図８を参照して、上述した本実施形態に係る鍵隔離型暗号システムの動作について説明する。
【００８４】
本実施形態に係る鍵隔離型暗号システムでは、一度生成された端末装置２０のユーザの公開鍵pkは変更されずに、復号鍵dkのみが所定の期間毎に更新される。
【００８５】
また、本実施形態では、復号鍵dkの更新間隔を半日（所定の期間）とし、端末装置２０のユーザが、鍵隔離型暗号システムをＮ日間利用するものとして説明する。
【００８６】
端末装置２０のユーザは、自宅ＲＧに設置されている外部装置４０Ａと、会社ＯＦに設置されている外部装置４０Ｂとを交互に使用し、復号鍵dkの更新を半日毎に実行する。
【００８７】
（１）マスター鍵の格納
図６は、端末装置２０がマスター鍵hk*（マスター鍵hk*odd，マスター鍵hk*even）を生成し、生成したマスター鍵hk*を外部装置４０Ａ，４０Ｂに格納するまでの動作フローを示している。
【００８８】
ステップＳ１０１において、端末装置２０は、一般的な公開鍵暗号（例えば、RSA暗号やElGamal暗号）を用いて所定数の公開鍵及び秘密鍵のペアを生成する。
【００８９】
具体的には、端末装置２０は、Ｎ日間の利用に応じて、２Ｎ個の公開鍵及び秘密鍵のペア（(pki, ski)1≦i≦2N）を生成する。
【００９０】
ステップＳ１０２において、端末装置２０は、公開鍵(pki)0≦i≦2Nを、鍵隔離型暗号システムにおける端末装置２０のユーザの公開鍵pkとする。
【００９１】
ステップＳ１０３において、端末装置２０は、公開鍵pkを公開情報サーバ３０に送信する。
【００９２】
ステップＳ１０４において、公開情報サーバ３０は、端末装置２０から受信した公開鍵pkを公開情報データベース３０５に格納する。
【００９３】
ステップＳ１０５において、端末装置２０は、初期復号鍵として、dk0=sk0を格納部２０７に格納する。
【００９４】
ステップＳ１０６において、端末装置２０は、秘密鍵sk=(ski)（i=odd, 1≦i≦N）を外部装置４０Ａのマスター鍵hk*oddとし、マスター鍵hk*oddを外部装置４０Ａに送信する。
【００９５】
ステップＳ１０７において、外部装置４０Ａは、マスター鍵hk*oddを記憶部４０５に格納する。
【００９６】
ステップＳ１０８において、端末装置２０は、秘密鍵sk=(ski)（i=even, 1≦i≦N）を外部装置４０Ｂのマスター鍵hk*evenとし、マスター鍵hk*evenを外部装置４０Ｂに送信する。
【００９７】
ステップＳ１０９において、外部装置４０Ｂは、マスター鍵hk*evenを記憶部４０５に格納する。
【００９８】
（２）復号鍵dkの更新
図７は、端末装置２０が復号鍵dkを更新する動作フローを示している。図７に示すように、ステップＳ２０１において、端末装置２０は、前回の復号鍵dkの更新から所定の期間（半日）が経過していることを判定し、j回目の復号鍵dkの更新が必要なことを認識する。
【００９９】
ステップＳ２０２において、端末装置２０は、j回目の復号鍵dkの更新が、奇数回目であるか偶数回目であるかを判定する。
【０１００】
奇数回目の復号鍵dkの更新である場合（ステップＳ２０２の“j＝奇数”）、ステップＳ２０３において、端末装置２０は、外部装置４０Ａに対して、復号鍵dk（具体的には、復号鍵dkj-1）の更新に必要となる鍵更新情報dの生成を要求する。
【０１０１】
なお、ステップＳ２０３の処理に先立って、端末装置２０のユーザは、端末装置２０と外部装置４０Ａとを接続する。
【０１０２】
また、端末装置２０のステップＳ２０３の処理と合わせて、外部装置４０Ａを一意に識別する外部装置識別情報を外部装置４０Ａから取得し、外部装置４０Ａがj回目（奇数回目）の復号鍵dkの更新に用いるべき外部装置であるか否かを判定してもよい。
【０１０３】
ステップＳ２０４において、外部装置４０Ａは、記憶部４０５に格納されているマスター鍵hk*oddと、j回目の復号鍵dkの更新であることと対応付けられる期間情報jとを用いて鍵更新情報dj=skjを生成する。なお、具体的な鍵更新情報djの生成は、上述した非特許文献１などに開示されている方法にしたがう。
【０１０４】
ステップＳ２０５において、外部装置４０Ａは、生成した鍵更新情報djを端末装置２０に送信する。
【０１０５】
一方、偶数回目の復号鍵dkの更新である場合（ステップＳ２０２の“j＝偶数”）、ステップＳ２０６において、端末装置２０は、外部装置４０Ｂに対して、復号鍵dk（具体的には、復号鍵dkj-1）の更新に必要となる鍵更新情報dの生成を要求する。
【０１０６】
なお、ステップＳ２０６の処理に先立って、端末装置２０のユーザは、端末装置２０と外部装置４０Ｂとを接続する。
【０１０７】
また、端末装置２０のステップＳ２０６の処理と合わせて、外部装置４０Ｂを一意に識別する外部装置識別情報を外部装置４０Ｂから取得し、外部装置４０Ｂがj回目（偶数回目）の復号鍵dkの更新に用いるべき外部装置であるか否かを判定してもよい。
【０１０８】
ステップＳ２０７において、外部装置４０Ｂは、記憶部４０５に格納されているマスター鍵hk*evenと、j回目の復号鍵dkの更新であることと対応付けられる期間情報jとを用いて鍵更新情報dj=skjを生成する。
【０１０９】
ステップＳ２０８において、外部装置４０Ｂは、生成した鍵更新情報djを端末装置２０に送信する。
【０１１０】
ステップＳ２０９において、端末装置２０は、外部装置４０Ａまたは外部装置４０Ｂから受信した鍵更新情報djと期間情報jとを用いて、復号鍵dkj=djを生成する。具体的な鍵更新情報djの生成は、上述した非特許文献１などに開示されている方法にしたがう。
【０１１１】
ステップＳ２１０において、端末装置２０は、鍵更新情報dj及び古い復号鍵dk（具体的には、復号鍵dkj-2）を格納部２０７から消去する。
【０１１２】
（３）暗号文の送受信
図９は、端末装置１０Ａが暗号文cを端末装置２０に送信し、端末装置２０が暗号文cを復号する動作フローを示している。図９に示すように、ステップＳ３０１において、端末装置１０Ａは、端末装置２０のユーザの公開鍵pkを公開情報サーバ３０に要求する。
【０１１３】
ステップＳ３０２において、公開情報サーバ３０は、端末装置１０Ａからの要求に応じて、端末装置２０のユーザの公開鍵pkを端末装置１０Ａに送信する。
【０１１４】
ステップＳ３０３において、端末装置１０Ａは、受信した公開鍵pkの中から暗号文cの生成時の期間jに対応する公開鍵pkj、及び公開鍵pkjよりもひとつ前の期間j-1に対応する公開鍵pkj-1を選択する。
【０１１５】
さらに、端末装置１０Ａは、公開鍵pkj-1及び公開鍵pkjの組合せを、所定の暗号アルゴリズム（例えば、RSA暗号）に適用する。端末装置１０Ａは、公開鍵pkj-1及び公開鍵pkjの組合せを当該暗号アルゴリズムに適用することによって、端末装置２０のユーザに送信するメッセージの内容が含まれる平文mを暗号化し、暗号文cを生成する。
【０１１６】
ステップＳ３０４において、端末装置１０Ａは、生成した暗号文cを端末装置２０に送信する。
【０１１７】
ステップＳ３０５において、端末装置２０は、格納部２０７に格納されている復号鍵dkj、及び復号鍵dkjよりもひとつ前の期間j-1に対応する復号鍵dkj-1を所定の暗号アルゴリズム（例えば、RSA暗号）に適用する。端末装置２０は、復号鍵dkj及び復号鍵dkj-1の組合せを当該暗号アルゴリズムに適用することによって、受信した暗号文cを復号し、平文mを復元する。
【０１１８】
（作用・効果）
以上説明した本実施形態に係る鍵隔離型暗号システムによれば、復号鍵dkの既更新回数に対して、異なる複数の外部装置、つまり、外部装置４０Ａ，４０Ｂが対応付けられており、外部装置のそれぞれには、異なるマスター鍵hk*（マスター鍵hk*odd及びマスター鍵hk*even）が格納される。
【０１１９】
つまり、端末装置２０のユーザは、復号鍵dkの更新回数に応じて、対応付けられている外部装置（例えば、奇数回目の復号鍵dkの更新であれば外部装置４０Ａ）を接続することによって、複数の異なる場所（自宅ＲＧ及び会社ＯＦ）に設置されている外部装置を使い分けることができる。
【０１２０】
また、外部装置のそれぞれには、異なるマスター鍵hk*（マスター鍵hk*odd及びマスター鍵hk*even）が格納されているため、何れかの外部装置の紛失や盗難が生じた場合でも、一定数の復号鍵dkを取得することができないため、鍵隔離型暗号システムの安全性を維持することができる。
【０１２１】
さらに、本実施形態では、暗号文cの生成時の期間jに対応する公開鍵pkj、及び公開鍵pkjよりもひとつ前の期間j-1に対応する公開鍵pkj-1の両公開鍵を用いて、平文mが暗号化される。また、平文mが暗号化された暗号文cは、復号鍵dkj、及び復号鍵dkjよりもひとつ前の期間j-1に対応する復号鍵dkj-1の両復号鍵を用いなければ、平文mに復号することができない。
【０１２２】
このため、外部装置４０Ａまたは外部装置４０Ｂの何れかの紛失や盗難が生じた場合でも、当該外部装置を入手した攻撃者は、当該外部装置を用いても暗号文cを一切復号することができず、鍵隔離型暗号システムの安全性をさらに向上させることができる。
【０１２３】
また、攻撃者が、当該外部装置に記憶されている鍵更新情報d、及び特定の時点で漏洩した端末装置２０のユーザの復号鍵dkを用いたとしても、当該特定の時点を含む期間、及び当該期間の前後の期間に生成された復号鍵dk以外の全期間の安全性を保証することができる。
【０１２４】
すなわち、本実施形態に係る鍵隔離型暗号システムによれば、暗号化された情報（例えば、暗号文c）の安全性を低下させることなく、より柔軟に復号鍵dkの更新及び暗号化処理を行うことができる。
【０１２５】
［第２実施形態］
次に、本発明の第２実施形態について説明する。上述した第１実施形態では、２台の外部装置（外部装置４０Ａ，４０Ｂ）を必ず交互に用いて復号鍵dk（端末秘密鍵）を更新するための鍵更新情報dを生成したが、本実施形態では、当該２台の外部装置を交互に用いなくてもよい。つまり、本実施形態は、一定レベルの鍵隔離型暗号システムの安全性を確保しつつ、ユーザの利便性を向上させることに配慮している。
【０１２６】
具体的には、本実施形態では、復号鍵dkは１日毎に更新される。端末装置２０のユーザは、会社ＯＦに設置された外部装置４０Ｂを用いて日毎に復号鍵dkを更新する。さらに、端末装置２０のユーザは、月に１回のみ、自宅ＲＧに設置された外部装置４０Ａを用いて復号鍵dkを更新する。
【０１２７】
端末装置２０のユーザは、外部装置４０Ａと外部装置４０Ｂとを必ず交互に用いて復号鍵dkを更新する必要がない。このため、ユーザは、月に１回のみ用いられる外部装置４０Ａを自宅ＲＧの金庫（不図示）の中など、物理的に安全な場所に保管することができる。
【０１２８】
以下、第１実施形態と異なる部分について主に説明し、第１実施形態と同様の部分については、説明を適宜省略する。
【０１２９】
（鍵隔離型暗号システムの論理ブロック構成）
本実施形態に係る鍵隔離型暗号システムの論理ブロック構成は、第１実施形態に係る鍵隔離型暗号システムの論理ブロック構成（図２〜図５参照）と同様である。
【０１３０】
本実施形態では、外部装置４０Ａ（第１外部装置）は、月に１回のみ鍵更新情報δｉを生成するために用いられる。つまり、外部装置４０Ａは、１ヶ月毎（第１の周期）に用いるものと対応付けられている。
【０１３１】
一方、外部装置４０Ｂ（第２外部装置）は、外部装置４０Ａを用いる場合を除き、鍵更新情報δｉを生成するために毎日用いられる。つまり、外部装置４０Ｂは、１日周期（第２の周期）に対応付けられている。このように、鍵更新情報δｉを生成するために外部装置４０Ｂを用いる周期は、鍵更新情報δｉを生成するために外部装置４０Ａを用いる周期（１ヶ月周期）よりも短く設定されている。
【０１３２】
本実施形態では、所定の条件を満足する双線形写像に基づいて、鍵更新情報δｉの生成、暗号文cの生成、及び平文mの復元が実行される。具体的には、Ｇ１とＧ２とを位数がｑの群、及びｇをＧ１の生成元とする。さらに、ｅ：Ｇ１×Ｇ１→Ｇ２を（式１）を満足する双線形写像とする。
ｅ（ｇａ，ｇｂ）＝ｅ（ｇ，ｇ）ａｂ    …（式１）
【０１３３】
また、Ｇ及びＨを、（式２）に示すハッシュ関数とする。
Ｇ：Ｇ２→｛０，１｝ｎ，  Ｈ：｛０，１｝*→Ｇ１    …（式２）
【０１３４】
さらに、１〜ｑ−１の整数の集合である集合Zqから、ｓ１及びｓ２がランダムに選択される。選択されたｓ１は、マスター鍵１として外部装置４０Ｂに格納される。また、選択されたｓ２は、マスター鍵２として外部装置４０Ａに格納される。
【０１３５】
また、本実施形態では、初期復号鍵dk0及び暗号文cの生成（演算）には、日付iが用いられる。日付iは、“年／月／日”の形態で表現される。例えば、２００６年８月１日であれば、“２００６／０８／０１”と表現される。
【０１３６】
次に、第１実施形態と異なる処理を実行する機能ブロックについて説明する。本実施形態に係る端末装置２０の更新部２０５は、復号鍵dk（端末秘密鍵）の更新時期に応じて、外部装置４０Ａまたは外部装置４０Ｂの何れかを選択する。具体的には、毎月１日の復号鍵dkは、外部装置４０Ａに格納されているマスター鍵２を用いて、前日、つまり、前月の末日の復号鍵dkを更新することによって生成する。
【０１３７】
一方、毎月１日以外の日の復号鍵dkは、外部装置４０Ｂに格納されているマスター鍵１を用いて、前日の復号鍵dkを更新することによって生成する。
【０１３８】
更新部２０５は、例えば、２００６年８月１日から利用を開始する（復号鍵dkの更新は翌日から開始する）場合、（式３）を用いて初期復号鍵dk0を生成する。
初期復号鍵dk0＝Ｈ（２００６／０８／０１）ｓ１・Ｈ（２００６／０８／０１）ｓ２                                                                    …（式３）
【０１３９】
また、更新部２０５は、前日の復号鍵dki-1及び鍵更新情報δｉを含む（式４）を用いて、日付iの復号鍵dkiを生成する。
復号鍵dki＝δｉ・dki-1    …（式４）
【０１４０】
なお、更新部２０５は、復号鍵dkiを生成後、前日の復号鍵dki-1及び鍵更新情報δｉを格納部２０７から消去する。
【０１４１】
また、本実施形態に係る公開情報サーバ３０では、端末装置２０のユーザの公開鍵pkallとして、次の情報が公開される。
【０１４２】
公開鍵pkall＝＜ｑ，Ｇ１，Ｇ２，ｇ，ｅ，ｎ，ｈ１，ｈ２，Ｇ，Ｈ＞
なお、ｈ１及びｈ２は、（式５）によって求められる。また、公開鍵pkallは、すべての期間において共通して用いられる。
ｈ１＝ｇｓ１
ｈ２＝ｇｓ２    …（式５）
【０１４３】
また、外部装置４０Ａ，４０Ｂの鍵更新情報生成部４０３は、上述した双線形写像に基づいて定められたハッシュ関数Ｈを用いて、鍵更新情報δｉを生成する。具体的には、日付iが月の第１日（例えば、２００６年９月１日）であった場合、鍵更新情報生成部４０３は、（式６）を用いて鍵更新情報δｉを生成する。
鍵更新情報δｉ＝Ｈ（前月第１日の日付）−ｓ２・Ｈ（ｉ）ｓ２    …（式６）
【０１４４】
つまり、日付iが月の第１日であった場合、外部装置４０Ａに格納されているマスター鍵２（ｓ２）を用いて鍵更新情報δｉが生成される。
【０１４５】
また、日付iが月の第２日（例えば、２００６年９月２日）であった場合、鍵更新情報生成部４０３は、（式７）を用いて鍵更新情報δｉを生成する。
鍵更新情報δｉ＝Ｈ（前々日の日付）−ｓ１・Ｈ（ｉ）ｓ１    …（式７）
【０１４６】
つまり、日付iが月の第２日であった場合、外部装置４０Ｂに格納されているマスター鍵１（ｓ１）を用いて鍵更新情報δｉが生成される。なお、（式７）における“前々日の日付”とは、日付iが２００６年９月２日であった場合、２００６年８月３１日を指す。
【０１４７】
さらに、日付iが月の第１日または第２日以外であった場合、鍵更新情報生成部４０３は、（式８）を用いて鍵更新情報δｉを生成する。
鍵更新情報δｉ＝Ｈ（前日の日付）−ｓ１・Ｈ（ｉ）ｓ１    …（式８）
【０１４８】
つまり、日付iが月の第１日または第２日以外であった場合、外部装置４０Ｂに格納されているマスター鍵１（ｓ１）を用いて鍵更新情報δｉが生成される。
【０１４９】
また、本実施形態に係る端末装置１０Ａ（１０Ｂ）の暗号化部１０５は、（式９）を用いて、平文mを暗号化し、暗号文cを生成する。
暗号文c＝＜ｉ，ｃ０，ｃ１＞    …（式９）
【０１５０】
ここで、ｃ０は（式１０）を用いて求められる。
ｃ０＝ｇｒ    …（式１０）
【０１５１】
さらに、暗号化部１０５は、公開鍵pkall、及び復号鍵dkの更新時期に対応する更新時期情報を用いて平文mを暗号化し、暗号文cを生成する。具体的には、日付iが月の第１日であった場合、暗号化部１０５は、（式１１）を用いて暗号文c1を生成する。
暗号文c1＝m XOR G((e(h1, H（前日の日付）)・e(h2, H(i)))^r)  …（式１１）
【０１５２】
また、日付iが月の第１日以外であった場合、暗号化部１０５は、（式１２）を用いて暗号文c1を生成する。
暗号文c1＝m XOR G((e(h1, H(i))・e(h2, H（当月第１日の日付）))^r)
…（式１２）
【０１５３】
つまり、日付iが月の第１日（例えば、２００６年９月１日）であった場合、暗号化部１０５は、復号鍵dkの更新時期に対応する更新時期情報として、前日の日付（２００６年８月３１日）を用いる。また、日付iが月の第１日以外（例えば、２００６年９月３日）であった場合、暗号化部１０５は、復号鍵dkの更新時期に対応する更新時期情報として、当月の第１日の日付（２００６年９月１日）を用いる。なお、本実施形態では、平文mは、ｎビットのビット列であるものとする。
【０１５４】
また、本実施形態に係る端末装置２０の復号部２０９は、公開鍵pkall、日付i及び暗号文c（＝＜ｉ，ｃ０，ｃ１＞）に基づいて、（式１３）を用いて暗号文cを復号し、平文mを復元する。
平文m＝c1 XOR G(e(c0, dki))    …（式１３）
【０１５５】
（鍵隔離型暗号システムの動作）
次に、図９〜図１１を参照して、本実施形態に係る鍵隔離型暗号システムの動作について説明する。図９〜図１１は、第１実施形態に係る鍵隔離型暗号システムの動作フローを示す図６〜図８にそれぞれ対応する。具体的には、図９はマスター鍵の格納動作、図１０は復号鍵dkの更新動作、及び図１１は暗号文の送受信動作をそれぞれ示す。
【０１５６】
以下、上述した第１実施形態に係る鍵隔離型暗号システムの動作と異なる部分について主に説明する。
【０１５７】
（１）マスター鍵の格納
図９に示すように、ステップＳ１１０１において、端末装置２０は、集合Zqから、ｓ１及びｓ２をランダムに選択する。
【０１５８】
ステップＳ１１０２において、端末装置２０は、選択したｓ１をマスター鍵１として、外部装置４０Ａに送信する。
【０１５９】
ステップＳ１１０３において、外部装置４０Ａは、マスター鍵１を記憶部４０５に格納する。
【０１６０】
ステップＳ１１０４において、端末装置２０は、選択したｓ２をマスター鍵２として、外部装置４０Ｂに送信する。
【０１６１】
ステップＳ１１０５において、外部装置４０Ｂは、マスター鍵２を記憶部４０５に格納する。
【０１６２】
ステップＳ１１０６において、端末装置２０は、公開鍵pkall（＝＜ｑ，Ｇ１，Ｇ２，ｇ，ｅ，ｎ，ｈ１，ｈ２，Ｇ，Ｈ＞）を決定する。
【０１６３】
ステップＳ１１０７において、端末装置２０は、公開鍵pkallを公開情報サーバ３０に送信する。
【０１６４】
ステップＳ１１０８において、公開情報サーバ３０は、端末装置２０から受信した公開鍵pkallを公開情報データベース３０５に格納する。
【０１６５】
ステップＳ１１０９において、端末装置２０は、初期復号鍵dk0を格納部２０７に格納する。初期復号鍵dk0は、上述したように、（式３）を用いて生成される。
【０１６６】
（２）復号鍵dkの更新
図１０に示すように、ステップＳ１２０１において、端末装置２０は、前回の復号鍵dkの更新から所定の期間（１日）が経過していることを判定し、i回目の復号鍵dkの更新が必要なことを認識する。
【０１６７】
ステップＳ１２０２において、端末装置２０は、現在の日付iを判定する。日付iが月の第１日（例えば、２００６年９月１日）である場合、ステップＳ１２０３において、端末装置２０は、外部装置４０Ｂに対して鍵更新情報δｉの生成を要求する。
【０１６８】
ステップＳ１２０４において、外部装置４０Ｂは、上述した（式６）を用いて鍵更新情報δｉを生成する。ステップＳ１２０５において、外部装置４０Ｂは、生成した鍵更新情報δｉを端末装置２０に送信する。
【０１６９】
また、日付iが月の第２日（例えば、２００６年９月２日）である場合、ステップＳ１２０６において、端末装置２０は、外部装置４０Ａに対して鍵更新情報δｉの生成を要求する。
【０１７０】
ステップＳ１２０７において、外部装置４０Ａは、上述した（式７）を用いて鍵更新情報δｉを生成する。ステップＳ１２０８において、外部装置４０Ａは、生成した鍵更新情報δｉを端末装置２０に送信する。
【０１７１】
さらに、日付iが月の第１日または第２日以外である場合、ステップＳ１２０９において、端末装置２０は、外部装置４０Ａに対して鍵更新情報δｉの生成を要求する。
【０１７２】
ステップＳ１２１０において、外部装置４０Ａは、上述した（式８）を用いて鍵更新情報δｉを生成する。ステップＳ１２１１において、外部装置４０Ａは、生成した鍵更新情報δｉを端末装置２０に送信する。
【０１７３】
ステップＳ１２１２において、端末装置２０は、外部装置４０Ａまたは外部装置４０Ｂから受信した鍵更新情報δｉに基づいて、上述した（式４）を用いて復号鍵dkiを生成する。
【０１７４】
ステップＳ１２１３において、端末装置２０は、鍵更新情報δｉ及び復号鍵dki-1を格納部２０７から消去する。
【０１７５】
（３）暗号文の送受信
図１１に示すステップＳ１３０１及びＳ１３０２の処理は、図８に示したステップＳ３０１及びＳ３０２の処理と同様である。ステップＳ１３０３において、端末装置１０Ａは、集合Zqから、ｒをランダムに選択する。
【０１７６】
現在の日付i、つまり、暗号文cを生成するタイミングが月の第１日である場合、ステップＳ１３０４において、端末装置１０Ａは、上述した（式１１）を用いて暗号文cを生成する。
【０１７７】
また、現在の日付iが月の第１日以外であった場合、ステップＳ１３０５において、端末装置１０Ａは、上述した（式１２）を用いて暗号文cを生成する。
【０１７８】
ステップＳ１３０６において、端末装置１０Ａは、生成した暗号文cを端末装置２０に送信する。
【０１７９】
ステップＳ１３０７において、端末装置１０Ａは、上述した（式１３）を用いて、受信した暗号文cを復号し、平文mを復元する。
【０１８０】
（作用・効果）
本実施形態に係る鍵隔離型暗号システムによれば、所定の条件を満足する双線形写像に基づいて、鍵更新情報δｉの生成、暗号文cの生成、及び平文mの復元が実行される。また、（式１１）及び（式１２）に示したように、復号鍵dkの更新時期によって、鍵更新情報δｉの生成に用いられる日付（前日の日付または当月第１日の日付）が異なるため、外部装置４０Ａと外部装置４０Ｂとの利用頻度に差を付けることができる。
【０１８１】
具体的には、外部装置４０Ａは、１ヶ月に１回のみ利用すればよいため、外部装置４０Ａ及び外部装置４０Ｂを用いて復号鍵dkを更新する端末装置２０のユーザは、利用時以外、外部装置４０Ａを自宅ＲＧの金庫（不図示）の中など、物理的に安全な場所に保管することができる。
【０１８２】
つまり、端末装置２０のユーザは、外部装置４０Ａと外部装置４０Ｂとを交互に用いて復号鍵dkを更新することを殆ど意識する必要がない。このため、ユーザは、ほぼ毎日利用する外部装置４０Ｂの管理のみに集中すればよく、利便性が向上する。
【０１８３】
また、外部装置４０Ａと外部装置４０Ｂとを必ず交互に利用する第１実施形態に係る鍵隔離型暗号システムと比較すると、暗号化通信の安全性は低下するものの、従来の鍵隔離型暗号システムよりも高い安全性を確保しつつ、ユーザの利便性も向上させることができる。
【０１８４】
［その他の実施形態］
上述したように、本発明の一実施形態を通じて本発明の内容を開示したが、この開示の一部をなす論述及び図面は、本発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態が明らかとなろう。
【０１８５】
例えば、上述した本発明の実施形態では、２台の外部装置（外部装置４０Ａ，４０Ｂ）を奇数回目の復号鍵dkの更新と、偶数回目の復号鍵dkの更新とに対応付ける形態としたが、外部装置の数は２台ではなく、３台などとしてもよい。
【０１８６】
外部装置が３台の場合、上述した本発明の実施形態と同様に、異なるマスター鍵hk*が外部装置（例えば、外部装置＃１〜＃３）のそれぞれに格納される。また、外部装置のそれぞれは、復号鍵dkの更新回数と対応付けられる。例えば、外部装置＃１は、１、４、７…回目の復号鍵dkの更新、外部装置＃２は、２、５、８…回目の復号鍵dkの更新、外部装置＃３は、３、６、９…回目の復号鍵dkの更新に用いられる。
【０１８７】
また、復号鍵dkの更新に用いられる外部装置の順序が予め判明している場合、外部装置の利用順序は、不規則であっても構わない。
【０１８８】
ユーザ（端末装置２０）は、３台の外部装置を予め定められた順序（外部装置＃１〜外部装置＃２〜外部装置＃３）にしたがって、外部装置に鍵更新情報dの生成を依頼する。
【０１８９】
また、上述した端末装置１０Ａ（１０Ｂ）、端末装置２０、公開情報サーバ３０及び外部装置４０Ａ（４０Ｂ）の各論理ブロックの機能（格納部などの特定のブロックを除く）は、プログラムとしても提供することもできる。
【０１９０】
このように、本発明は、ここでは記載していない様々な実施の形態などを含むことは勿論である。したがって、本発明の技術的範囲は、上述の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
【図面の簡単な説明】
【０１９１】
【図１】本発明の実施形態に係る鍵隔離型暗号システムの全体概略構成図である。
【図２】本発明の実施形態に係る暗号文送信側の端末装置の論理ブロック構成図である。
【図３】本発明の実施形態に係る暗号文受信側の端末装置の論理ブロック構成図である。
【図４】本発明の実施形態に係る公開情報サーバの論理ブロック構成図である。
【図５】本発明の実施形態に係る外部装置の論理ブロック構成図である。
【図６】本発明の第１実施形態に係る鍵隔離型暗号システムの動作フロー図である。
【図７】本発明の第１実施形態に係る鍵隔離型暗号システムの動作フロー図である。
【図８】本発明の第１実施形態に係る鍵隔離型暗号システムの動作フロー図である。
【図９】本発明の第２実施形態に係る鍵隔離型暗号システムの動作フロー図である。
【図１０】本発明の第２実施形態に係る鍵隔離型暗号システムの動作フロー図である。
【図１１】本発明の第２実施形態に係る鍵隔離型暗号システムの動作フロー図である。
【符号の説明】
【０１９２】
１…通信ネットワーク、１ａ…無線基地局、１０Ａ，１０Ｂ，２０…端末装置、３０…公開情報サーバ、４０Ａ，４０Ｂ…外部装置、１０１…通信部、１０３…入力部、１０５…暗号化部、１０７…記憶部、２０１…通信部、２０３…生成部、２０５…更新部、２０７…格納部、２０９…復号部、２１１…出力部、３０１…通信部、３０３…制御部、３０５…公開情報データベース、４０１…通信部、４０３…鍵更新情報生成部、４０５…記憶部、ＯＦ…会社、ＲＧ…自宅
【図１】
0004819625.tif 000002
【図２】
0004819625.tif 000003
【図３】
0004819625.tif 000004
【図４】
0004819625.tif 000005
【図５】
0004819625.tif 000006
【図６】
0004819625.tif 000007
【図７】
0004819625.tif 000008
【図８】
0004819625.tif 000009
【図９】
0004819625.tif 000010
【図１０】
0004819625.tif 000011
【図１１】
0004819625.tif 000012