(57)【要約】【課題】復号鍵の漏洩に対する安全性を高めることができ、かつ、過去の暗号文を復号可能とする。【解決手段】受信端末２０は、復号鍵の更新を行う更新部２２と、公開鍵を用いて暗号化された暗号文を受信する通信部２５と、更新タイミングと暗号化タイミングとが一致するか否かを判断する判断部２７と、判断部２７により一致しないと判断された場合には、暗号化タイミングに対応する更新前の復号鍵を生成して暗号文を復号し、判断部２７により一致すると判断された場合には、更新後の復号鍵を用いて暗号文を復号する復号部２３とを備える。【選択図】図１
2006173804.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
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、フォワードセキュア暗号方式のように復号鍵を更新していく暗号方式では、復号鍵の漏洩に対する安全性を高めることができるものの、正規の利用者であっても、過去の暗号文の復号が不可能となってしまう課題があった。そのため、過去の暗号文を再度復号することを要求するアプリケーションには、フォワードセキュア暗号方式等を適用できないという課題があった。
【０００４】
そこで、本発明は、復号鍵の漏洩に対する安全性を高めることができ、かつ、過去の暗号文を復号可能とすることを目的とする。
【課題を解決するための手段】
【０００５】
本発明の端末装置は、復号鍵の更新を行う更新部と、公開鍵を用いて暗号化された暗号文を受信する受信部と、更新のタイミング（以下「更新タイミング」という）と暗号化のタイミング（以下「暗号化タイミング」という）とが一致するか否かを判断する判断部と、判断部により一致しないと判断された場合には、暗号化タイミングに対応する更新前の復号鍵を生成して暗号文を復号し、判断部により一致すると判断された場合には、更新後の復号鍵を用いて暗号文を復号する復号部とを備えることを特徴とする。
【０００６】
このような端末装置によれば、暗号化が更新タイミングよりも前に行われたため、更新後の現在の復号鍵では復号できない場合には、暗号化タイミングに対応する更新前の復号鍵、即ち、過去の復号鍵を生成できる。そのため、端末装置は、生成した過去の暗号鍵を用いて過去の暗号文を復号できる。一方、暗号化タイミングと更新タイミングが一致している場合には、端末装置は、更新後の現在の複合鍵を用いて暗号文を復号できる。よって、端末装置は復号鍵を更新して復号鍵の漏洩に対する安全性を高めることができ、かつ、過去の暗号文を復号することができる。
【０００７】
復号部は、暗号化タイミングに対応する、更新前の復号鍵の生成に用いられる鍵復元情報と更新後の復号鍵とを用いて、更新前の復号鍵を生成することができる。これによれば、端末装置は、暗号化タイミングに対応する鍵復元情報を入手するだけで、現在使用している更新後の復号鍵を用いて更新前の復号鍵を生成できる。
【０００８】
復号部は、暗号化タイミングに対応する鍵復元情報を、端末装置における復号を補助する外部補助装置から取得することが好ましい。これによれば、端末装置自身が鍵復元情報を生成したり、保持したりする必要がないため、より安全性を高めることができ、端末装置の負荷も軽減できる。
【０００９】
端末装置は、公開鍵及び初期の復号鍵を生成し、初期の復号鍵を鍵復元情報の生成に用いられる復元鍵として、外部補助装置に提供する鍵生成部を備えることが好ましい。これによれば、外部補助装置に端末装置に関する鍵復元情報を適切に生成させることができ、復元鍵を外部補助装置に格納しておくことができるため、安全性も向上できる。
【００１０】
本発明の外部補助装置は、復号鍵の更新を行う端末装置における復号を補助する外部補助装置であって、暗号化のタイミングに対応する、更新前の復号鍵の生成に用いられる鍵復元情報を生成し、端末装置に提供する情報生成部を備えることを特徴とする。このような外部補助装置によれば、暗号化が更新タイミングよりも前に行われたため、端末装置が更新後の現在の復号鍵では復号できない場合に、端末装置に鍵復元情報を提供することができ、端末装置による暗号化タイミングに対応する更新前の復号鍵、即ち、過去の復号鍵の生成に寄与できる。よって、外部補助装置は、端末装置における復号鍵の漏洩に対する安全性の向上、過去の暗号文復号に寄与できる。しかも、端末装置自身が鍵復元情報を生成したり、保持したりする必要がないため、外部補助装置はより安全性を高めることができ、端末装置の負荷軽減にも寄与できる。
【００１１】
情報生成部は、暗号化のタイミングと、復元鍵として初期の復号鍵を用いて、暗号化のタイミングに対応する鍵復元情報を生成することが好ましい。これによれば、外部補助装置は端末装置に関する鍵復元情報を適切に生成できる。しかも、復元鍵を外部補助装置が持つため、安全性も向上できる。
【００１２】
本発明の通信システムは、復号鍵の更新を行い、公開鍵を用いて暗号化された暗号文を受信し、更新タイミングと暗号化タイミングとが一致するか否かを判断し、一致しないと判断された場合には、暗号化タイミングに対応する更新前の復号鍵を、暗号化のタイミングに対応する鍵復元情報と更新後の復号鍵とを用いて生成して暗号文を復号し、一致すると判断された場合には、更新後の復号鍵を用いて暗号文を復号する端末装置と、暗号化タイミングに対応する鍵復元情報を生成し、端末装置に提供する外部補助装置とを備えることを特徴とする。
【００１３】
このような通信システムによれば、暗号化が更新タイミングよりも前に行われたため、更新後の現在の復号鍵では復号できない場合には、暗号化タイミングに対応する更新前の復号鍵、即ち、過去の復号鍵を生成できる。そのため、端末装置は、生成した過去の暗号鍵を用いて過去の暗号文を復号できる。一方、暗号化タイミングと更新タイミングが一致している場合には、端末装置は、更新後の現在の複合鍵を用いて暗号文を復号できる。しかも、端末装置自身が鍵復元情報を生成したり、保持したりする必要がないため、安全性を高めることができ、端末装置の負荷も軽減できる。よって、端末装置は復号鍵を更新して復号鍵の漏洩に対する安全性を高めることができ、かつ、過去の暗号文を復号することができる。
【００１４】
端末装置は、公開鍵及び初期の復号鍵を生成し、初期の復号鍵を鍵復元情報の生成に用いられる復元鍵として、外部補助装置に提供し、外部補助装置は、暗号化タイミングと復元鍵とを用いて、暗号化タイミングに対応する鍵復元情報を生成することが好ましい。これによれば、外部補助装置は端末装置に関する鍵復元情報を適切に生成させることができる。しかも、復元鍵を外部補助装置に格納しておくことができるため、安全性も向上できる。
【００１５】
本発明の通信方法は、復号鍵の更新を行うステップと、公開鍵を用いて暗号化された暗号文を受信するステップと、更新タイミングと暗号化タイミングとが一致するか否かを判断するステップと、一致しないと判断された場合には、暗号化タイミングに対応する更新前の復号鍵を生成して暗号文を復号し、一致すると判断された場合には、更新後の復号鍵を用いて暗号文を復号するステップとを有することを特徴とする。
【発明の効果】
【００１６】
以上説明したように、本発明によれば、復号鍵の漏洩に対する安全性を高めることができ、かつ、過去の暗号文を復号可能とできる。
【発明を実施するための最良の形態】
【００１７】
〔通信システム〕
図１に示すように、通信システム１は、送信端末１０と、受信端末２０と、公開情報サーバ３０と、外部補助装置４０と、ネットワーク５０とを備える。送信端末１０は、情報を受信端末２０に送信する端末装置である。受信端末２０は、送信端末１０が送信する情報を受信する端末装置である。以下、送信端末１０の利用者を「送信者」、受信端末２０の利用者を「受信者」という。通信システム１では、ある時間ｔにおいて、ある受信端末２０に情報を送信する送信端末１０は、１≦ｋ≦ｍ（ｋ、ｍは自然数。ｋは送信端末数）だけ存在できる。図１では、受信端末２０に対する送信端末１０が複数存在する場合を例にとって説明する。又、１つの端末装置が受信端末２０としての機能と、送信端末１０としての機能の両方を備えてもよい。
【００１８】
通信システム１では、フォワードセキュア暗号方式を用いる。そのため、一度生成された受信端末２０の公開鍵は変更されずに、復号鍵だけが現在の復号鍵を用いて更新されていく。例えば、公開鍵は固定したまま、復号鍵を短い間隔で更新していくことができる。より具体的には、鍵更新の間隔が１日でＮ日間利用する場合、復号鍵はＮ−１回更新される。
【００１９】
公開情報サーバ３０は、受信者が送信者のような他の利用者に公開する公開情報を記憶し、送信端末１０に提供する。公開情報サーバ３０は、受信者や、送信者のような受信者以外の利用者がアクセス可能である。公開情報には、受信端末２０の公開鍵等が含まれる。外部補助装置４０は、受信端末２０の外部にあり、受信端末２０の復号を補助する装置である。外部補助装置４０は、受信者が保持する。送信端末１０、受信端末２０、公開情報サーバ３０は、ネットワーク５０を介して接続する。外部補助装置４０は、ネットワーク５０に接続せずに受信端末２０に接続し、ネットワーク５０から隔離されている。
【００２０】
次に、受信端末２０、外部補助装置４０、送信端末１０、公開情報サーバ３０について詳細に説明する。受信端末２０は、鍵生成部２１と、更新部２２と、復号部２３と、記憶部２４と、通信部２５と、出力部２６と、判断部２７とを備える。
【００２１】
通信部２５は、外部補助装置４０や送信端末１０、公開情報サーバ３０と、情報を送受信する。特に、通信部２５は、送信端末１０からネットワーク５０を介して、公開鍵ｐｋを用いて暗号化された暗号文ｃを受信し、受信部として機能する。通信部２５は、受信した暗号文ｃを記憶部２４に格納する。
【００２２】
鍵生成部２１は、公開鍵と復号鍵を生成する。鍵生成部２１は、まず、Ｎ組の公開鍵と秘密鍵のペア（ｐｋi，ｓｋi）（１≦ｉ≦Ｎ）を生成する。鍵生成部２１は、生成した公開鍵を、受信端末２０の公開鍵ｐｋとする。よって、公開鍵ｐｋ＝ｐｋi（１≦ｉ≦Ｎ）と表すことができる。鍵生成部２１は、生成した秘密鍵を、受信端末２０の初期の復号鍵ｄｋ0とする。よって、初期の復号鍵ｄｋ0＝ｓｋi（１≦ｉ≦Ｎ）と表すことができる。これによれば、例えば、鍵更新の間隔を１日とした場合、Ｎ日間利用することができる。
【００２３】
鍵生成部２１は、公開鍵暗号方式として、例えば、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）等を用いて、公開鍵と秘密鍵のペアを生成できる。
【００２４】
鍵生成部２１は、生成した公開鍵ｐｋ＝ｐｋi（１≦ｉ≦Ｎ）を、公開情報サーバ３０に通知する。具体的には、鍵生成部２１は、受信端末２０の識別情報Ｕに対応付けて公開鍵を、通信部２５を介して公開情報サーバ３０に提供する。このように公開鍵を公開情報サーバ３０に通知し、公開情報サーバ３０に登録することにより、受信端末２０は、送信者のような受信者以外の他の利用者に公開鍵ｐｋ＝ｐｋi（１≦ｉ≦Ｎ）を公開する。識別情報Ｕは、受信者に付与された固有の情報である。識別情報Ｕには、例えば、電子メールアドレス、電話番号等がある。
【００２５】
鍵生成部２１は、生成した初期の復号鍵ｄｋ0＝ｓｋi（１≦ｉ≦Ｎ）を、記憶部２４に格納する。更に、鍵生成部２１は、初期の復号鍵ｄｋ0を復元鍵として外部補助装置４０に通信部２５を介して提供する。復元鍵は、鍵復元情報δの生成に用いられる。鍵復元情報δは、更新前の復号鍵の生成に用いられる情報である。このようにして、鍵生成部２１は、復元鍵を外部補助装置４０に格納する。これによれば、受信端末２０は、外部補助装置４０に受信端末２０に関する鍵復元情報を適切に生成させることができ、復元鍵を外部補助装置４０に格納しておくことができるため、安全性も向上できる。記憶部２４は、受信者の識別情報Ｕ、更新タイミングと復号鍵ｄｋ、暗号文ｃ等を記憶する。
【００２６】
更新部２２は、復号鍵ｄｋの更新を行う。更新部２２は、更新タイミングｊ＋１においてｊ回目の更新を行う。更新部２２は、現在の復号鍵（更新直前の復号鍵）ｄｋj-1＝ｓｋi（ｊ≦ｉ≦Ｎ）から秘密鍵ｓｋjを消去し、新たな復号鍵ｄｋj＝ｓｋi（ｊ＋１≦ｉ≦Ｎ）を生成する。即ち、更新部２２は、更新直前の復号鍵ｄｋからｉの値が一番小さい秘密鍵ｓｋだけを破棄することにより、新たな復号鍵を生成する。
【００２７】
更新部２２は、新たに生成した更新後の復号鍵を記憶部２４に格納し、記憶部２４に格納されている更新前の復号鍵を消去する。例えば、更新部２２は、更新タイミングｊ＋１において、新たに生成した復号鍵ｄｋj＝ｓｋi（ｊ＋１≦ｉ≦Ｎ）を記憶部２４に格納し、記憶部２４から現在の復号鍵ｄｋj-1＝ｓｋi（ｊ≦ｉ≦Ｎ）を消去する。更新部２２は、更新タイミングと対応付けて更新後の復号鍵を記憶部２４に格納する。
【００２８】
判断部２７は、更新タイミングと暗号化タイミングとが一致するか否かを判断する。判断部２７は、暗号文ｃを復号しようとした際に、その暗号文ｃの暗号化タイミングと、現在の復号鍵の更新タイミングとが一致するか否かを判断する。判断部２７は、記憶部２４から、送信端末１０から受信した暗号文ｃを取得する。
【００２９】
例えば、暗号文ｃに、暗号化に用いられた公開鍵や暗号化タイミング等の暗号化情報が対応付けられている場合には、判断部２７は、その暗号化情報から暗号化タイミングを判断する。又、暗号文ｃが、公開鍵及び暗号化タイミングを用いて暗号化されている場合には、暗号文ｃそのものから暗号化タイミングを判断できる。
【００３０】
判断部２７は、記憶部２４を参照し、記憶部２４に格納されている復号鍵の更新タイミングを判断する。記憶部２４には、最新の復号鍵のみが格納されているため、判断部２７は、最新の更新タイミングを認識できる。判断部２７は、更新タイミングと暗号化タイミングとを比較し、その比較結果を復号部２３に入力する。判断部２７は、更新タイミングと暗号化タイミングとが一致する場合には、一致するという結果を入力する。
【００３１】
判断部２７は、更新タイミングと暗号化タイミングとが一致しない場合には、一致しないという結果と、暗号化タイミングを入力する。例えば、受信端末２０が過去に受信した暗号文ｃを復号する場合や、何らかの理由で受信端末２０が遅れて受信した暗号文ｃ等は、暗号化タイミングが更新タイミングよりも前である場合がある。
【００３２】
復号部２３は、判断部２７による判断結果に基づいて暗号文ｃを復号する。復号部２３は、判断部２７から一致しないという判断結果を取得した場合には、暗号化タイミングに対応する更新前の復号鍵を生成して、暗号文ｃを復号する。以下、更新タイミングがｊ＋１、暗号化タイミングがｊであり、現在の更新後の復号鍵がｄｋj＝ｓｋi（ｊ＋１≦ｉ≦Ｎ）である場合を例にとって説明する。
【００３３】
まず、復号部２３は、判断部２７から取得した暗号化タイミングｊに対応する鍵復元情報δj-1の生成を、暗号化タイミングｊを指定して外部補助装置４０に通信部２５を介して要求する。鍵復元情報δj-1は、更新前の復号鍵ｄｋj-1＝ｓｋi（ｊ≦ｉ≦Ｎ）の生成に用いられる情報である。そして、復号部２３は、暗号化タイミングｊに対応する鍵復元情報δj-1を、外部補助装置４０から取得する。更に、復号部２３は、記憶部２４から現在の更新後の復号鍵ｄｋjを取得する。
【００３４】
復号部２３は、暗号化タイミングｊに対応する鍵復元情報δj-1と更新後の復号鍵ｄｋjを用いて、暗号化タイミングｊにおける更新前の復号鍵ｄｋj-1＝ｓｋi（ｊ≦ｉ≦Ｎ）を生成する。復号部２３は、更新後の復号鍵ｄｋj＝ｓｋi（ｊ＋１≦ｉ≦Ｎ）に、生成した秘密鍵ｓｋjを追加して、更新前の復号鍵ｄｋj-1を生成できる。復号部２３は、生成した復号鍵ｄｋj-1を用いて、暗号化タイミングｊの暗号文ｃを復号し、平文ｍを得る。より詳細には、復号部２３は、復号鍵ｄｋj-1に含まれる秘密鍵ｓｋjと暗号文ｃを、最初にＮ組の公開鍵と秘密鍵のペアの生成に用いた暗号方式に従った復号を行う復号アルゴリズムに入力して計算を行い、復号を行う。
【００３５】
このように復号部２３は、暗号化タイミングに対応する鍵復元情報と更新後の復号鍵とを用いて、更新前の復号鍵を生成することができる。そのため、受信端末２０は、暗号化タイミングに対応する鍵復元情報を入手するだけで、現在使用している更新後の復号鍵を用いて更新前の復号鍵を生成できる。しかも、復号部２３は、暗号化タイミングに対応する鍵復元情報を外部補助装置４０から取得できる。そのため、受信端末２０自身が鍵復元情報を生成したり、保持したりする必要がなく、より安全性を高めることができ、受信端末２０の負荷も軽減できる。
【００３６】
復号部２３は、判断部２７から一致するという判断結果を取得した場合には、更新後の復号鍵を用いて暗号文ｃを復号する。例えば、更新タイミングがｊ＋１、暗号化タイミングがｊ＋１であった場合、復号部２３は記憶部２４から現在の更新後の復号鍵がｄｋj＝ｓｋi（ｊ＋１≦ｉ≦Ｎ）を取得する。復号部２３は、取得した復号鍵ｄｋjを用いて、暗号化タイミングｊ＋１の暗号文ｃを復号し、平文ｍを得る。より詳細には、復号部２３は、復号鍵ｄｋjに含まれる秘密鍵ｓｋj+1と暗号文ｃを、最初にＮ組の公開鍵と秘密鍵のペアの生成に用いた暗号方式に従った復号を行う復号アルゴリズムに入力して計算を行い、復号を行う。復号部２３は、復号により得られた平文ｍを、出力部２６に出力する。
【００３７】
外部補助装置４０は、情報生成部４１と、記憶部４２と、通信部４３とを備える。記憶部４２は、受信端末２０の初期の復号鍵ｄｋ0を復元鍵として記憶する。通信部４３は、受信端末２０と情報を送受信する。
【００３８】
情報生成部４１は、暗号化タイミングに対応する鍵復元情報を生成し、受信端末２０に通信部４３を介して提供する。まず、情報生成部４１は、受信端末２０の初期の復号鍵ｄｋ0を復元鍵として、通信部４３を介して受信端末２０から取得する。情報生成部４１は、取得した復元鍵を記憶部４２に格納する。
【００３９】
情報生成部４１は、暗号化タイミングが指定された鍵復元情報の生成の要求を、通信部４３を介して受信端末２０から取得する。情報生成部４１は、指定された暗号化タイミングの鍵復元情報を生成する。例えば、暗号化タイミングｊを指定された場合、情報生成部４１は、暗号化タイミングｊに対応する、更新前の復号鍵ｄｋj-1＝ｓｋi（ｊ≦ｉ≦Ｎ）の生成に用いられる鍵復元情報δj-1を生成する。情報生成部４１は、まず、記憶部４２から復元鍵ｄｋ0を取得する。そして、情報生成部４１は、暗号化タイミングｊと復元鍵ｄｋ0とを用いて、暗号化タイミングｊに対応する鍵復元情報δj-1を生成する。
【００４０】
これによれば、外部補助装置４０は受信端末２０に関する鍵復元情報を適切に生成できる。情報生成部４１は、生成した鍵復元情報δj-1を、通信部４３を介して受信端末２０に提供する。
【００４１】
送信端末１０は、暗号化部１１と、記憶部１２と、入力部１３と、通信部１４とを備える。記憶部１２は、受信者の識別情報Ｕや、受信端末２０に送信する情報等を記憶する。入力部１３は、送信者から受信端末２０への情報の入力を受け、暗号化部１１に情報を入力する。
【００４２】
暗号化部１１は、受信端末２０に送信する平文の情報を、受信端末２０の公開鍵ｐｋを用いて暗号化する。暗号化部１１は、記憶部１２や入力部１３から、平文の情報と受信者の識別情報Ｕを取得する。暗号化部１１は、受信者の識別情報Ｕを指定して受信者の公開鍵ｐｋを、通信部１４を介して公開情報サーバ３０に要求する。そして、暗号化部１１は、受信者の公開鍵ｐｋ＝ｐｋi（１≦ｉ≦Ｎ）を通信部１４を介して公開情報サーバ３０から取得する。
【００４３】
暗号化部１１は、取得した公開鍵ｐｋに含まれる、暗号化タイミングｊにおける公開鍵ｐｋjと、暗号化タイミングｊを用いて平文の情報を暗号化する。例えば、暗号化部１１は、公開鍵ｐｋjと、暗号化タイミングｊと、平文ｍとを、最初にＮ組の公開鍵と秘密鍵のペアの生成に用いた暗号方式に従った暗号化を行う暗号化アルゴリズムに入力して計算を行い、暗号化を行う。暗号化部１１は、平文ｍを暗号化して得られた暗号文ｃを、通信部１４を介して受信端末２０に送信する。暗号化部１１は、必要に応じて、暗号文ｃに、暗号に用いた公開鍵ｐｋjや暗号化タイミングｊ等の暗号化情報を対応付けて受信端末２０に送信する。
【００４４】
公開情報サーバ３０は、制御部３１と、公開情報データベース３２と、通信部３３とを備える。公開情報データベース３２は、公開鍵ｐｋ＝ｐｋi（１≦ｉ≦Ｎ）等の公開情報を、受信者の識別情報Ｕに対応付けて記憶する。通信部３３は、ネットワーク５０を介して受信端末２０や送信端末１０と情報を送受信する。制御部３１は、受信者の識別情報Ｕに対応付けられた公開鍵ｐｋ等の公開情報を、通信部３３を介して受信端末２０から取得する。制御部３１は、取得した公開鍵ｐｋ等の公開情報を、識別情報Ｕに対応付けて公開情報データベース３２に登録する。
【００４５】
制御部３１は、識別情報Ｕを指定した公開鍵ｐｋの要求を通信部３３を介して送信端末１０から取得する。制御部３１は、識別情報Ｕに基づいて、公開情報データベース３２から識別情報Ｕの受信者の公開鍵ｐｋ＝ｐｋi（１≦ｉ≦Ｎ）を取得する。制御部３１は、送信端末１０に取得した公開鍵ｐｋを通信部３３を介して提供する。
【００４６】
〔通信方法〕
次に、図１に示した通信システム１を用いた通信方法について、図２〜図４を用いて説明する。まず、図２を用いて、暗号化通信を開始するための開始処理手順を説明する。ここでは、復号鍵の更新間隔を一日として、Ｎ日間利用し、復号鍵をＮ−１回、更新する場合を例にとって説明する。
【００４７】
まず、受信端末２０は、Ｎ組の公開鍵と秘密鍵のペア（ｐｋi，ｓｋi）（１≦ｉ≦Ｎ）を生成する（Ｓ１０１）。受信端末２０は、生成した公開鍵ｐｋ＝ｐｋi（１≦ｉ≦Ｎ）を、公開情報サーバ３０に通知する（Ｓ１０２）。公開情報サーバ３０は、受信端末２０から通知された公開鍵ｐｋ＝ｐｋi（１≦ｉ≦Ｎ）を、公開情報データベース３２に格納する（Ｓ１０３）これにより、受信端末２０の公開鍵が公開される。
【００４８】
受信端末２０は、生成した秘密鍵を受信端末２０の初期の復号鍵ｄｋ0＝ｓｋi（１≦ｉ≦Ｎ）として記憶部２４に格納する（Ｓ１０４）。更に、受信端末２０は、初期の復号鍵ｄｋ0を復元鍵として外部補助装置４０に提供する（Ｓ１０５）。外部補助装置４０は、受信端末２０から取得した初期の復号鍵ｄｋ0を復元鍵として、記憶部４２に格納する（Ｓ１０６）。
【００４９】
次に、図３を用いて、暗号化手順及び復号鍵の更新手順を説明する。送信端末１０は、暗号化タイミングｊにおいて、受信者の公開鍵ｐｋを公開情報サーバ３０に要求する（Ｓ２０１）。公開情報サーバ３０は、要求された受信者の公開鍵ｐｋ＝ｐｋi（１≦ｉ≦Ｎ）を送信端末１０に提供する（Ｓ２０２）。
【００５０】
送信端末１０は、ｊ日目に暗号化を行う場合、取得した公開鍵ｐｋに含まれる、暗号化タイミングｊにおける公開鍵ｐｋjと、暗号化タイミングｊを用いて平文ｍを暗号化し、暗号文ｃを得る（Ｓ２０３）。送信端末１０は、得られた暗号文ｃを受信端末２０に送信する（Ｓ２０４）。受信端末２０は、受信した暗号文ｃを記憶部２４に格納する。
【００５１】
その後、受信端末２０は、ｊ＋１日目において、即ち、更新タイミングｊ＋１において新たな復号鍵ｄｋj＝ｓｋi（ｊ＋１≦ｉ≦Ｎ）を生成し、復号鍵を更新する（Ｓ２０５）。具体的には、受信端末２０は、現在の復号鍵（更新直前の復号鍵）ｄｋj-1＝ｓｋi（ｊ≦ｉ≦Ｎ）から秘密鍵ｓｋjを消去し、ｊ＋１日目の復号鍵ｄｋj＝ｓｋi（ｊ＋１≦ｉ≦Ｎ）を生成する。更新部２２は、新たに生成した復号鍵ｄｋj＝ｓｋi（ｊ＋１≦ｉ≦Ｎ）を、更新タイミングと対応付けて記憶部２４に格納し、記憶部２４に格納されている現在の復号鍵（更新前の復号鍵）ｄｋj-1＝ｓｋi（ｊ≦ｉ≦Ｎ）を消去する（Ｓ２０６）。
【００５２】
次に、図４を用いて復号手順を説明する。まず、受信端末２０は、暗号文ｃを復号しようとした際に、その暗号文ｃの暗号化タイミングと、現在の復号鍵の更新タイミングとが一致するか否かを判断する（Ｓ３０１）。暗号化タイミングがｊ、更新タイミングがｊ＋１であり、両者が一致しない場合には、受信端末２０は、過去の暗号化タイミングｊに対応する鍵復元情報δj-1の生成を外部補助装置４０に要求する（Ｓ３０２）。
【００５３】
外部補助装置４０は、記憶部４２に格納された復元鍵ｄｋ0と、指定された暗号化タイミングｊとを用いて、暗号化タイミングｊに対応する鍵復元情報δj-1を生成する（Ｓ３０３）。外部補助装置４０は、生成した鍵復元情報δj-1を受信端末２０に提供する（Ｓ３０４）。
【００５４】
受信端末２０は、外部補助装置４０から取得した暗号化タイミングｊに対応する鍵復元情報δj-1と、記憶部２４に格納された現在の更新後の復号鍵ｄｋjを用いて、暗号化タイミングｊにおける更新前の復号鍵ｄｋj-1＝ｓｋi（ｊ≦ｉ≦Ｎ）を生成する（Ｓ３０５）。受信端末２０は、生成した復号鍵ｄｋj-1＝ｓｋi（ｊ≦ｉ≦Ｎ）を用いて、暗号化タイミングｊの暗号文ｃを復号し、平文ｍを得る（Ｓ３０６）。
【００５５】
一方、ステップ（Ｓ３０１）において、暗号化タイミングがｊ＋１、更新タイミングがｊ＋１であり、両者が一致している場合には、受信端末２０は、更新後の現在の復号鍵ｄｋj＝ｓｋi（ｊ＋１≦ｉ≦Ｎ）を用いて、暗号化タイミングｊ＋１の暗号文ｃを復号し、平文ｍを得る（Ｓ３０７）。                                                                                                        
〔効果〕
このような通信システム１、受信端末２０、外部補助装置４０、通信方法によれば、以下のような効果が得られる。受信端末２０は、暗号化が更新タイミングよりも前に行われたため、暗号文ｃを更新後の現在の復号鍵では復号できない場合には、暗号化タイミングに対応する更新前の復号鍵、即ち、過去の復号鍵を生成できる。そのため、受信端末２０は、生成した過去の暗号鍵を用いて過去の暗号文ｃを復号できる。一方、暗号化タイミングと更新タイミングが一致している場合には、受信端末２０は、更新後の現在の複合鍵を用いて暗号文ｃを復号できる。よって、受信端末２０は復号鍵を更新して復号鍵の漏洩に対する安全性を高めることができ、かつ、過去の暗号文を復号することができる。
【００５６】
又、外部補助装置４０は、暗号化が更新タイミングよりも前に行われたため、受信端末２０が更新後の現在の復号鍵では復号できない場合に、受信端末２０に鍵復元情報を提供することができ、受信端末２０による暗号化タイミングに対応する過去の復号鍵の生成に寄与できる。よって、外部補助装置４０は、受信端末２０における復号鍵の漏洩に対する安全性の向上、過去の暗号文復号に寄与できる。
【００５７】
このような通信システム１は、例えば、公開鍵は更新せずに、復号鍵をその直前の復号鍵を用いて更新可能な暗号方式、いわゆる、フォワードセキュア暗号方式に適用できる。通信システム１では、初期の復号鍵を、専用の外部補助装置４０に格納しておき、過去の復号鍵を復元する際に、外部補助装置４０内部において目的とする時点の鍵復元情報を生成できる。そして、外部補助装置４０が受信端末２０に生成した鍵復元情報を与えることで、受信端末２０は過去の復号鍵を復元できる。即ち、過去の復号鍵を復元可能なフォワードセキュア暗号方式が実現できる。
【００５８】
しかも、受信者以外の第三者は、復号鍵更新前に作成された暗号文を、更新後に復号することは不可能であり、復号鍵が漏洩したとしてもそれ以前の安全性は維持される。よって、復号鍵が漏洩以前の安全性は維持しながら、受信端末２０だけは過去に作成された暗号文も復号することができる。即ち、通信システム１、受信端末２０、外部補助装置４０、通信方法によれば、フォワードセキュア暗号方式の安全性に関する性質を維持しながら、必要に応じて過去の復号鍵を復元可能とできる。
【図面の簡単な説明】
【００５９】
【図１】本発明の実施の形態に係る通信システムを示すブロック図である。
【図２】本発明の実施の形態に係る開始処理手順を示すシーケンス図である。
【図３】本発明の実施の形態に係る暗号化手順及び復号鍵の更新手順を示すシーケンス図である。
【図４】本発明の実施の形態に係る復号手順を示すシーケンス図である。
【符号の説明】
【００６０】
１…通信システム
１０…送信端末
１１…暗号化部
１２…記憶部
１３…入力部
１４…通信部
２０…受信端末
２１…鍵生成部
２２…更新部
２３…復号部
２４…記憶部
２５…通信部
２６…出力部
２７…判断部
３０…公開情報サーバ
３１…制御部
３２…公開情報データベース
３３…通信部
４０…外部補助装置
４１…情報生成部
４２…記憶部
４３…通信部
５０…ネットワーク
【図１】
2006173804.tif 000003
【図２】
2006173804.tif 000004
【図３】
2006173804.tif 000005
【図４】
2006173804.tif 000006