(57)【要約】【課題】復号鍵の更新処理を複雑化させることなく、復号鍵の漏洩に対する安全性を向上させることができる。【解決手段】受信端末２０は、更新前の復号鍵を用いる復号鍵の更新と、外部補助装置４０からの更新補助鍵を用いる復号鍵の更新とを行う更新部２２と、公開鍵を用いて暗号化された暗号文を受信する通信部２５と、暗号文を復号鍵を用いて復号する復号部２３とを備えることを特徴とする。【選択図】図１
2006173805.tif 000002
【特許請求の範囲】
【請求項１】
更新前の復号鍵を用いる復号鍵の更新と、端末装置における復号を補助する外部補助装置からの更新補助鍵を用いる復号鍵の更新とを行う更新部と、
公開鍵を用いて暗号化された暗号文を受信する受信部と、
前記暗号文を前記復号鍵を用いて復号する復号部と
を備えることを特徴とする端末装置。
【請求項２】
前記更新補助鍵の生成に用いられるマスター補助鍵を生成し、前記外部補助装置に提供する鍵生成部を備えることを特徴とする請求項１に記載の端末装置。
【請求項３】
前記更新部は、予め定められた外部更新タイミング、又は、前記復号鍵が漏洩したおそれがあると判断した場合の少なくとも１つにおいて前記更新補助鍵を用いた更新を行うことを特徴とする請求項１又は２に記載の端末装置。
【請求項４】
復号鍵の更新に用いられる更新補助鍵を生成し、端末装置に提供する外部補助装置と、
更新前の復号鍵を用いる復号鍵の更新と、前記更新補助鍵を用いる復号鍵の更新とを行い、公開鍵を用いて暗号化された暗号文を受信し、前記暗号文を前記復号鍵を用いて復号する端末装置と
を備えることを特徴とする通信システム。
【請求項５】
更新前の復号鍵を用いる復号鍵の更新と、端末装置における復号を補助する外部補助装置からの更新補助鍵を用いる復号鍵の更新とを行い、
公開鍵を用いて暗号化された暗号文を受信し、
前記暗号文を前記復号鍵を用いて復号することを特徴とする通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号技術を用いて通信を行う端末装置、通信システム及び通信方法に関する。
【背景技術】
【０００２】
近年、様々な暗号技術が提案されている。その１つにフォワードセキュア（Forward-secure）暗号方式がある。フォワードセキュア暗号方式は、公開鍵は一度生成したものを変更せずに、復号鍵は現在の復号鍵を用いて更新していく暗号方式である。例えば、公開鍵は固定したまま、復号鍵を短い間隔（例えば、１日）で更新していくことができる。フォワードセキュア暗号方式のように復号鍵を更新していく暗号方式によれば、復号鍵が漏洩したとしても、漏洩前に送受信された暗号文の不正な解読を防止できる利点がある。又、フォワードセキュア暗号方式では、現在の復号鍵を用いて、端末装置が単独で容易に復号鍵を更新できる利点もある（例えば、非特許文献１、非特許文献２参照）。
【非特許文献１】［And97］, R. Anderson, Invited lecture, Fourth Annual Conference on Computer and Communications  Security, ACM, 1997
【非特許文献２】［And02］, R. Anderson, “Two Remarks on Public Key Cryptography”, Technical Report No.549, Computer Laboratory， University of Cambridge， UK， 2002
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、フォワードセキュア暗号方式では、復号鍵漏洩前の暗号文の不正解読は防止できるものの、復号鍵漏洩以降に暗号化された暗号文の不正解読は防止できないおそれがあった。そのため、復号鍵漏洩以降に暗号化された暗号文に対するフォワードセキュア暗号方式の安全性は、従前の公開鍵暗号方式と同等であった。即ち、フォワードセキュア暗号方式によれば、復号鍵漏洩に対する安全性を従前の公開鍵暗号方式に比べて高めることができるものの、十分ではなかった。
【０００４】
そこで、本発明は、復号鍵の更新処理を複雑化させることなく、復号鍵の漏洩に対する安全性を向上させることを目的とする。
【課題を解決するための手段】
【０００５】
本発明の端末装置は、更新前の復号鍵を用いる復号鍵の更新と、端末装置における復号を補助する外部補助装置からの更新補助鍵を用いる復号鍵の更新とを行う更新部と、公開鍵を用いて暗号化された暗号文を受信する受信部と、暗号文を復号鍵を用いて復号する復号部とを備えることを特徴とする。以下、端末装置が単独で更新前の復号鍵（現在の復号鍵）を用いて行う復号鍵の更新、即ち、端末装置内で更新処理が完結する復号鍵の更新を「内部更新」という。これに対し、端末装置が外部補助装置からの更新補助鍵を用いて行う復号鍵の更新、即ち、端末装置が外部補助装置の補助を受けて行う復号鍵の更新を「外部更新」という。
【０００６】
このような端末装置によれば、内部更新と外部更新の両方を行うことができる。そのため、端末装置は、内部更新の利点を維持することができる。即ち、端末装置は、単独で更新前の復号鍵を用いて容易に復号鍵を更新できる。しかも、端末装置は、外部更新を行うことにより、復号鍵漏洩後に暗号化された暗号文の不正解読を防止できる。そのため、端末装置は、復号鍵の更新処理を複雑化させることなく、復号鍵の漏洩に対する安全性を向上させることができる。
【０００７】
端末装置は、更新補助鍵の生成に用いられるマスター補助鍵を生成し、外部補助装置に提供する鍵生成部を備えることが好ましい。これによれば、端末装置は、外部補助装置に更新補助鍵を適切に生成させることができる。しかも、マスター補助鍵を外部補助装置に格納しておくことができるため、安全性も向上できる。
【０００８】
更新部は、予め定められた外部更新タイミング、又は、復号鍵が漏洩したおそれがあると判断した場合の少なくとも１つにおいて更新補助鍵を用いた更新を行うことが好ましい。外部更新タイミングは、外部更新を行うタイミングである。これによれば、端末装置は、所定の外部更新タイミングにおいて外部更新を行っておくことや、復号鍵が漏洩してしまったおそれがある場合に外部更新を行うことができ、安全性を適切に向上させることができる。
【０００９】
本発明の通信システムは、復号鍵の更新に用いられる更新補助鍵を生成し、端末装置に提供する外部補助装置と、更新前の復号鍵を用いる復号鍵の更新と、更新補助鍵を用いる復号鍵の更新とを行い、公開鍵を用いて暗号化された暗号文を受信し、暗号文を復号鍵を用いて復号する端末装置とを備えることを特徴とする。
【００１０】
本発明の通信方法は、更新前の復号鍵を用いる復号鍵の更新と、端末装置における復号を補助する外部補助装置からの更新補助鍵を用いる復号鍵の更新とを行い、公開鍵を用いて暗号化された暗号文を受信し、暗号文を復号鍵を用いて復号することを特徴とする。
【発明の効果】
【００１１】
以上説明したように、本発明によれば、復号鍵の更新処理を複雑化させることなく、復号鍵の漏洩に対する安全性を向上させることができる。
【発明を実施するための最良の形態】
【００１２】
〔通信システム〕
図１に示すように、通信システム１は、送信端末１０と、受信端末２０と、公開情報サーバ３０と、外部補助装置４０と、ネットワーク５０とを備える。送信端末１０は、情報を受信端末２０に送信する端末装置である。受信端末２０は、送信端末１０が送信する情報を受信する端末装置である。以下、送信端末１０の利用者を「送信者」、受信端末２０の利用者を「受信者」という。通信システム１では、ある時間において、ある受信端末２０に情報を送信する送信端末１０は、１≦ｋ≦ｍ（ｋ、ｍは自然数。ｋは送信端末数）だけ存在できる。図１では、受信端末２０に対する送信端末１０が複数存在する場合を例にとって説明する。又、１つの端末装置が受信端末２０としての機能と、送信端末１０としての機能の両方を備えてもよい。
【００１３】
通信システム１では、フォワードセキュア暗号方式を用いる。そのため、一度生成された受信端末２０の公開鍵は変更されずに、復号鍵だけが更新されていく。例えば、公開鍵は固定したまま、復号鍵を短い間隔で更新していくことができる。以下、復号鍵の更新間隔を一日としてＮ＋１日間利用し、復号鍵をＮ回更新する場合を例にとって説明する（Ｎは自然数）。
【００１４】
公開情報サーバ３０は、受信者が送信者のような他の利用者に公開する公開情報を記憶し、送信端末１０に提供する。公開情報サーバ３０は、受信者や、送信者のような受信者以外の利用者がアクセス可能である。公開情報には、受信端末２０の公開鍵等が含まれる。外部補助装置４０は、受信端末２０の外部にあり、受信端末２０の復号を補助する装置である。外部補助装置４０は、受信者が保持する。送信端末１０、受信端末２０、公開情報サーバ３０は、ネットワーク５０を介して接続する。外部補助装置４０は、ネットワーク５０に接続せずに受信端末２０に接続し、ネットワーク５０から隔離されている。
【００１５】
次に、受信端末２０、外部補助装置４０、送信端末１０、公開情報サーバ３０について詳細に説明する。
【００１６】
受信端末２０は、通常は、更新前の復号鍵（現在の復号鍵）を用いて単独で行う復号鍵の更新、即ち、内部更新を行う。更に、受信端末２０は、予め定められた外部更新タイミングで、外部補助装置４０からの更新補助鍵を用いて行う復号鍵の更新、即ち、外部更新を行う。
【００１７】
復号鍵の更新処理の際に外部更新を行う頻度を表すパラメータを「Ｔ」とする。例えば、外部更新を行う間隔をＴ回とし、外部更新タイミングはＴ回の更新に１回とできる。この場合、例えば、外部更新タイミングは、ｑＴ―１（１≦ｑ≦［Ｎ／Ｔ］，Ｎは復号鍵の最大更新回数，ｑ、Ｔ、Ｎは自然数）とできる。以下、外部更新タイミングがｑＴ―１の場合を例にとって説明する。
【００１８】
受信端末２０は、鍵生成部２１と、更新部２２と、復号部２３と、記憶部２４と、通信部２５と、出力部２６とを備える。通信部２５は、外部補助装置４０や送信端末１０、公開情報サーバ３０と、情報を送受信する。特に、通信部２５は、送信端末１０からネットワーク５０を介して、公開鍵ｐｋを用いて暗号化された暗号文ｃを受信し、受信部として機能する。通信部２５は、受信した暗号文ｃを記憶部２４に格納する。
【００１９】
鍵生成部２１は、公開鍵と復号鍵を生成する。鍵生成部２１は、まず、Ｎ組の公開鍵と秘密鍵のペア（ｐｋj，ｓｋj）０≦ｊ≦Ｎを生成する。鍵生成部２１は、生成した公開鍵を用いて受信端末２０の公開鍵ｅｋを生成する。鍵生成部２１は、公開鍵としてｅｋ＝｛ｐｋj｝０≦ｊ≦Ｎを生成する。
【００２０】
鍵生成部２１は、生成した秘密鍵を用いて、受信端末２０の初期復号鍵ｄｋ0を生成する。受信端末２０は、Ｔ回に１回は外部更新を行い、内部更新はＴ−１回行う。そのため、鍵生成部２１は、初期復号鍵として、ｄｋ0＝｛ｓｋj｝０≦ｊ≦Ｔ−１を生成する。更に、鍵生成部２１は、生成した秘密鍵を用いて、受信端末２０のマスター補助鍵ｈｋ*を生成する。鍵生成部２１は、マスター補助鍵としてｈｋ*＝｛ｓｋj｝０≦ｊ≦Ｎを生成する。マスター補助鍵ｈｋ*は、更新補助鍵δの生成に用いられる。更新補助鍵δは、外部更新において復号鍵ｄｋの生成に用いられる情報である。
【００２１】
鍵生成部２１は、公開鍵暗号方式として、例えば、RSA暗号方式（［RSA78］, R. Rivest, A. Shamir and L. Adleman, “A method for obtaining digital signature and public-key cryptosystems,” Communication of the ACM, 21, 2, pp.120-126, 1978）や、ElGamal暗号（[ElG85]，T. ElGamal, “A public key cryptosystem and a signature scheme based on discrete logarithms,” IEEE Trans. on Inform. Theory, IT-31, 4, pp.469-472, 1985）等を用いて、公開鍵と秘密鍵のペアを生成できる。
【００２２】
鍵生成部２１は、生成した公開鍵ｅｋ＝｛ｐｋj｝０≦ｊ≦Ｎを、公開情報サーバ３０に通知する。具体的には、鍵生成部２１は、受信端末２０の識別情報Ｕに対応付けて公開鍵を、通信部２５を介して公開情報サーバ３０に提供する。このように公開鍵を公開情報サーバ３０に通知し、公開情報サーバ３０に登録することにより、受信端末２０は、送信者のような受信者以外の他の利用者に公開鍵ｅｋ＝｛ｐｋj｝０≦ｊ≦Ｎを公開する。識別情報Ｕは、受信者に付与された固有の情報である。識別情報Ｕには、例えば、電子メールアドレス、電話番号等がある。
【００２３】
鍵生成部２１は、生成した初期復号鍵ｄｋ0＝｛ｓｋj｝０≦ｊ≦Ｔ−１を、記憶部２４に格納する。更に、鍵生成部２１は、生成したマスター補助鍵ｈｋ*＝｛ｓｋj｝０≦ｊ≦Ｎを外部補助装置４０に通信部２５を介して提供する。このようにして、鍵生成部２１は、マスター補助鍵ｈｋ*を外部補助装置４０に格納する。これによれば、受信端末２０は、外部補助装置４０に更新補助鍵δを適切に生成させることができる。しかも、マスター補助鍵ｈｋ*を外部補助装置４０に格納しておくことができるため、安全性も向上できる。記憶部２４は、受信者の識別情報Ｕ、現在の復号鍵ｄｋ、暗号文ｃ等を記憶する。鍵生成部２１は、マスター補助鍵ｈｋ*は、記憶部２４に格納しない。
【００２４】
更新部２２は、復号鍵ｄｋの更新を行う。更新部２２は、更新前の復号鍵（現在の復号鍵）を用いる復号鍵の更新（内部更新）と、外部補助装置４０からの更新補助鍵δを用いる復号鍵の更新（外部更新）とを行う。本実施形態では、更新部２２は、予め定められた外部更新タイミングにおいて外部更新を行う。
【００２５】
更新部２２は、外部更新タイミングｑＴ―１を除く、復号鍵の更新タイミング（以下「内部更新タイミング」という）において内部更新を行う。以下、タイミングを「ｉ」で表す。内部更新タイミング（ｉ≠ｑＴ―１）は、（ｑ―１）Ｔ≦ｉ≦ｑＴ―２（１≦ｑ≦［Ｎ／Ｔ］）となる。更新部２２は、更新タイミングが（ｑ―１）Ｔ≦ｉ≦ｑＴ―２（１≦ｑ≦［Ｎ／Ｔ］）の場合、更新前の復号鍵、即ち、現在の復号鍵ｄｋiを記憶部２４から取得する。更新部２２は、更新前の復号鍵ｄｋiと更新タイミングｉに基づいて、新たな復号鍵ｄｋi+1＝｛ｓｋj｝ｉ＋１≦ｊ≦ｑＴ―１を生成する。このように、内部更新は、受信端末２０単独で行うことができる。
【００２６】
更新部２２は、外部更新タイミングｑＴ―１（１≦ｑ≦［Ｎ／Ｔ］）において外部更新を行う。更新部２２は、更新タイミングがｉ＝ｑＴ―１（１≦ｑ≦［Ｎ／Ｔ］）の場合、更新前の復号鍵、即ち、現在の復号鍵ｄｋiを、外部補助装置４０を利用して新たな復号鍵ｄｋi+1に更新する。まず、更新部２２は、更新補助鍵δi+1の生成を外部補助装置４０に通信部２５を介して要求する。更新補助鍵δi+1は、新たな復号鍵ｄｋi+1の生成に用いられる情報である。
【００２７】
そして、更新部２２は、更新補助鍵δi+1＝｛ｓｋj｝ｉ＋１≦ｊ≦ｉ＋Ｔ―１を、外部補助装置４０から通信部２５を介して取得する。更新部２２は、現在の復号鍵ｄｋiと、取得した更新補助鍵δi+1と、更新タイミングｉとに基づいて、更新補助鍵δi+1を新たな復号鍵ｄｋi+1とし、復号鍵ｄｋi+1を生成できる。このように、受信端末２０は、外部補助装置４０と接続し、外部補助装置４０の内部で生成される秘密情報、即ち、更新補助鍵δを用いて外部更新を行う。
【００２８】
更新部２２は、新たに生成した更新後の復号鍵を記憶部２４に格納し、記憶部２４に格納されている更新前の復号鍵を消去する。例えば、更新部２２は、更新タイミングｉにおいて、新たに生成した復号鍵ｄｋi+1を記憶部２４に格納し、記憶部２４から現在の復号鍵ｄｋiを消去する。
【００２９】
復号部２３は、暗号文ｃを復号鍵ｄｋを用いて復号する。復号部２３は、記憶部２４から通信部２５が送信端末１０から受信した暗号文ｃを取得する。復号部２３は、記憶部２４から復号鍵ｄｋを取得する。例えば、復号部２３は、タイミングｉにおいて暗号化された暗号文ｃを、復号鍵ｄｋiを用いて復号し、平文ｍを得る。より詳細には、復号部２３は、復号鍵ｄｋiと暗号文ｃを、最初にＮ組の公開鍵と秘密鍵のペアの生成に用いた暗号方式に従った復号を行う復号アルゴリズムに入力して計算を行い、復号を行う。復号部２３は、復号により得られた平文ｍを、出力部２６に出力する。
【００３０】
外部補助装置４０は、補助鍵生成部４１と、記憶部４２と、通信部４３とを備える。記憶部４２は、受信端末２０のマスター補助鍵ｈｋ*＝｛ｓｋj｝０≦ｊ≦Ｎを記憶する。通信部４３は、受信端末２０と情報を送受信する。
【００３１】
補助鍵生成部４１は、復号鍵ｄｋの更新に用いられる更新補助鍵δを生成し、受信端末２０に通信部４３を介して提供する。まず、補助鍵生成部４１は、更新補助鍵δの生成に用いられるマスター補助鍵ｈｋ*＝｛ｓｋj｝０≦ｊ≦Ｎを受信端末２０から通信部４３を介して取得する。補助鍵生成部４１は、取得したマスター補助鍵ｈｋ*を記憶部４２に格納しておく。そして、補助鍵生成部４１は、取得したマスター補助鍵ｈｋ*を用いて更新補助鍵δを生成する。
【００３２】
補助鍵生成部４１は、更新補助鍵δの生成の要求を通信部４３を介して受信端末２０から取得する。そして、補助鍵生成部４１は、更新補助鍵δi+1を生成する。補助鍵生成部４１は、まず、記憶部４２からマスター補助鍵ｈｋ*を取得する。そして、補助鍵生成部４１は、マスター補助鍵ｈｋ*とタイミングｉ＝ｑＴ（１≦ｑ≦［Ｎ／Ｔ］）とに基づいて、更新補助鍵δi＝｛ｓｋj｝i≦ｊ≦i+Ｔ-1を生成する。そして、補助鍵生成部４１は、生成した更新補助鍵δjから、更新補助鍵δi+1＝｛ｓｋj｝ｉ+1≦ｊ≦ｉ+Ｔ-1を生成する。補助鍵生成部４１は、生成した更新補助鍵δi+1を、通信部４３を介して受信端末２０に提供する。
【００３３】
送信端末１０は、暗号化部１１と、記憶部１２と、入力部１３と、通信部１４とを備える。記憶部１２は、受信者の識別情報Ｕや、受信端末２０に送信する情報等を記憶する。入力部１３は、送信者から受信端末２０への情報の入力を受け、暗号化部１１に情報を入力する。
【００３４】
暗号化部１１は、受信端末２０に送信する平文の情報を、受信端末２０の公開鍵ｐｋを用いて暗号化する。暗号化部１１は、記憶部１２や入力部１３から、平文の情報と受信者の識別情報Ｕを取得する。暗号化部１１は、受信者の識別情報Ｕを指定して受信者の公開鍵ｐｋを、通信部１４を介して公開情報サーバ３０に要求する。そして、暗号化部１１は、受信者の公開鍵ｅｋ＝｛ｐｋj｝０≦ｊ≦Ｎを通信部１４を介して公開情報サーバ３０から取得する。
【００３５】
暗号化部１１は、取得した公開鍵ｐｋに含まれる、暗号化タイミングｉにおける公開鍵ｐｋiと、暗号化タイミングｉを用いて平文の情報を暗号化する。例えば、暗号化部１１は、公開鍵ｐｋiと、暗号化タイミングｉと、平文ｍとを、最初にＮ組の公開鍵と秘密鍵のペアの生成に用いた暗号方式に従った暗号化を行う暗号化アルゴリズムに入力して計算を行い、暗号化を行う。暗号化部１１は、平文ｍを暗号化して得られた暗号文ｃを、通信部１４を介して受信端末２０に送信する。
【００３６】
公開情報サーバ３０は、制御部３１と、公開情報データベース３２と、通信部３３とを備える。公開情報データベース３２は、公開鍵ｅｋ＝｛ｐｋj｝０≦ｊ≦Ｎ等の公開情報を、受信者の識別情報Ｕに対応付けて記憶する。通信部３３は、ネットワーク５０を介して受信端末２０や送信端末１０と情報を送受信する。制御部３１は、受信者の識別情報Ｕに対応付けられた公開鍵ｅｋ等の公開情報を、通信部３３を介して受信端末２０から取得する。制御部３１は、取得した公開鍵ｅｋ等の公開情報を、識別情報Ｕに対応付けて公開情報データベース３２に登録する。
【００３７】
制御部３１は、識別情報Ｕを指定した公開鍵ｅｋの要求を通信部３３を介して送信端末１０から取得する。制御部３１は、識別情報Ｕに基づいて、公開情報データベース３２から識別情報Ｕの受信者の公開鍵ｅｋ＝｛ｐｋj｝０≦ｊ≦Ｎを取得する。制御部３１は、送信端末１０に取得した公開鍵ｐｋを通信部３３を介して提供する。
【００３８】
〔通信方法〕
次に、図１に示した通信システム１を用いた通信方法について、図２，３を用いて説明する。まず、図２を用いて、暗号化通信を開始するための開始処理手順を説明する。
【００３９】
まず、受信端末２０は、Ｎ組の公開鍵と秘密鍵のペア（ｐｋj，ｓｋj）０≦ｊ≦Ｎを生成する（Ｓ１０１）。受信端末２０は、公開鍵としてｅｋ＝｛ｐｋj｝０≦ｊ≦Ｎ生成し、公開情報サーバ３０に通知する（Ｓ１０２）。公開情報サーバ３０は、受信端末２０から通知された公開鍵ｅｋ＝｛ｐｋj｝０≦ｊ≦Ｎを、公開情報データベース３２に格納する（Ｓ１０３）これにより、受信端末２０の公開鍵が公開される。
【００４０】
受信端末２０は、生成した秘密鍵を用いて、受信端末２０のマスター補助鍵ｈｋ*を生成する。鍵生成部２１は、生成したマスター補助鍵ｈｋ*＝｛ｓｋj｝０≦ｊ≦Ｎを外部補助装置４０に提供する（Ｓ１０４）。外部補助装置４０は、受信端末２０から取得したマスター補助鍵ｈｋ*＝｛ｓｋj｝０≦ｊ≦Ｎを記憶部４２に格納する（Ｓ１０５）。更に、受信端末２０は、生成した秘密鍵を用いて受信端末２０の初期復号鍵ｄｋ0＝｛ｓｋj｝０≦ｊ≦Ｔ−１を生成する。
【００４１】
次に、図３を用いて、暗号化、復号鍵の更新及び復号の手順を説明する。受信端末２０は、更新タイミングにおいて新たな復号鍵ｄｋi+1を生成し、復号鍵を更新する。まず、受信端末２０は、更新タイミングｉが、外部更新タイミングｑＴ―１であるか否かを判断する（Ｓ２０１）。
【００４２】
受信端末２０は、ｉ＝ｑＴ―１であり、外部更新タイミングの場合には、更新補助鍵δi+1の生成を外部補助装置４０に要求する（Ｓ２０２）。外部補助装置４０は、記憶部４２に格納されたマスター補助鍵ｈｋ*と、ｉ＝ｑＴとを用いて、更新補助鍵δi＝｛ｓｋj｝i≦ｊ≦i+Ｔ-1を生成する。外部補助装置４０は、生成した更新補助鍵δiから更新補助鍵δi+1を生成する（Ｓ２０３）。外部補助装置４０は、生成した更新補助鍵δi+1を受信端末２０に提供する（Ｓ２０４）。
【００４３】
受信端末２０は、外部更新の場合には、現在の復号鍵ｄｋiと、取得した更新補助鍵δi+1と、更新タイミングｉに基づいて、更新補助鍵δi+1を新たな復号鍵ｄｋi+1とし、復号鍵ｄｋi+1を生成する（Ｓ２０５）。このようにして、受信端末２０は外部更新を行う。一方、ステップ（Ｓ２０１）において、受信端末２０は、ｉ≠ｑＴ―１、即ち、（ｑ―１）Ｔ≦ｉ≦ｑＴ―２（１≦ｑ≦［Ｎ／Ｔ］）であり、内部更新タイミングの場合には、受信端末２０単独で新たな復号鍵ｄｋi+1を生成する（Ｓ２０５）。具体的には、受信端末２０は、記憶部２４から更新前の現在の復号鍵ｄｋiを取得する。そして、受信端末２０は、復号鍵ｄｋiと、更新タイミングｉに基づいて復号鍵ｄｋi+1＝｛ｓｋj｝ｉ＋１≦ｊ≦ｑＴ―１を生成する。このようにして、受信端末２０は内部更新を行う。
【００４４】
更新部２２は、外部更新、又は、内部更新いずれかにより新たに生成した復号鍵ｄｋi+1を記憶部２４に格納し、記憶部２４に格納されている現在の復号鍵（更新前の復号鍵）ｄｋiを消去する（Ｓ２０６）。以上のようにして、復号鍵の更新が行われる。
【００４５】
一方、送信端末１０は、受信者の公開鍵ｅｋを公開情報サーバ３０に要求する（Ｓ２０７）。公開情報サーバ３０は、要求された受信者の公開鍵ｅｋ＝｛ｐｋj｝０≦ｊ≦Ｎを送信端末１０に提供する（Ｓ２０８）。送信端末１０は、取得した公開鍵ｅｋに含まれる、暗号化タイミングｉ＋１における公開鍵ｐｋi+1と、暗号化タイミングｉ＋１を用いて平文ｍを暗号化し、暗号文ｃを得る（Ｓ２０９）。送信端末１０は、公開鍵ｐｋi+1を用いて暗号化した暗号文ｃを受信端末２０に送信する（Ｓ２１０）。受信端末２０は、受信した暗号文ｃを復号鍵ｄｋi+1を用いて復号し、平文ｍを得る（Ｓ２１１）。
【００４６】
〔効果〕
このような通信システム１、受信端末２０、外部補助装置４０、通信方法によれば、以下のような効果が得られる。受信端末２０は、内部更新と外部更新の両方を行うことができる。そのため、受信端末２０は、内部更新の利点を維持することができる。即ち、受信端末２０は、単独で更新前の復号鍵を用いて容易に復号鍵を更新できる。しかも、受信端末２０は、外部更新を行うことにより、復号鍵漏洩後に暗号化された暗号文の不正解読を防止できる。そのため、受信端末２０は、復号鍵の更新処理を複雑化させることなく、復号鍵の漏洩に対する安全性を向上させることができる。例えば、受信端末２０は、所定の外部更新タイミングにおいて外部更新を行っておくことができ、安全性を適切に向上させることができる。
【００４７】
このように、通信システム１では、公開鍵は変更せずに、各時点の復号鍵をその直前の復号鍵を用いて更新可能なフォワードセキュア暗号方式を用いる。そのため、ある時点の復号鍵が漏洩したとしても、漏洩前の暗号文の安全性を保証できる。更に、受信端末２０は、Ｔ回の更新につき1度だけ外部補助装置４０と接続し、外部補助装置４０の内部で生成される秘密情報、即ち、更新補助鍵δを利用して復号鍵を更新する。そのため、復号鍵漏洩から外部更新までの間の暗号文の安全性は保証し得ないが、復号鍵漏洩後であっても、外部更新以降は暗号文の安全性を保証できる。よって、通信システム１では、フォワードセキュア暗号方式の利点、即ち、受信端末２０が現在の復号鍵を用いて単独で復号鍵が更新可能であるという簡便性を維持しながら、必要に応じて外部補助装置と接続し、復号鍵の安全性を高めることができる。
【００４８】
〔変更例〕
本発明は、上記実施形態に限定されるものではなく、種々の変更が可能である。上記実施形態では、外部更新タイミングは定期的、即ち、Ｔ回の更新のうちの１回（ｑＴ―１）であったが、外部更新タイミングはランダムであってもよい。更に、受信端末２０は、復号鍵ｄｋが漏洩したおそれがあると判断した場合に、外部更新を行ってもよい。これによれば、復号鍵漏洩後、直ちに、外部更新を行うことができ、暗号文の安全性を適切に保証できる。あるいは、受信端末２０は、所定の外部更新タイミングと、漏洩したおそれを検出した時の両方のタイミングで、外部更新を行ってもよい。
【図面の簡単な説明】
【００４９】
【図１】本発明の実施の形態に係る通信システムを示すブロック図である。
【図２】本発明の実施の形態に係る開始処理手順を示すシーケンス図である。
【図３】本発明の実施の形態に係る暗号化、復号鍵の更新及び復号の手順を示すシーケンス図である。
【符号の説明】
【００５０】
１…通信システム
１０…送信端末
１１…暗号化部
１２…記憶部
１３…入力部
１４…通信部
２０…受信端末
２１…鍵生成部
２２…更新部
２３…復号部
２４…記憶部
２５…通信部
２６…出力部
３０…公開情報サーバ
３１…制御部
３２…公開情報データベース
３３…通信部
４０…外部補助装置
４１…補助鍵生成部
４２…記憶部
４３…通信部
５０…ネットワーク
【図１】
2006173805.tif 000003
【図２】
2006173805.tif 000004
【図３】
2006173805.tif 000005