(57)【要約】【課題】復号鍵の更新処理の簡便性を維持しながら、安全性をより向上させたフォワードセキュア暗号方式を提供する。【解決手段】受信端末２０は、更新前のＦＳＥ復号鍵を用いるＦＳＥ復号鍵の更新（内部更新）と、外部補助装置４０に格納されたマスター鍵を用いるＦＳＥ復号鍵の更新（外部更新）とを行う更新部２２と、平文をＦＳＥ公開鍵及び時間と、ＰＫＥ公開鍵とを用いて暗号化した暗号文を、暗号化した時間に対応するＦＳＥ復号鍵と、ＰＫＥ復号鍵とを用いて復号する復号部２３とを備える。【選択図】図２
2007053449.tif 000002
【特許請求の範囲】
【請求項１】
更新前の第１復号鍵を用いる第１復号鍵の更新と、外部補助装置に格納されたマスター鍵を用いる第１復号鍵の更新とを行う更新部と、
平文を前記第１復号鍵と対応する第１公開鍵及び時間と、第２復号鍵と対応する第２公開鍵とを用いて暗号化した暗号文を、前記時間に対応する前記第１復号鍵と、前記第２復号鍵とを用いて復号する復号部と
を備えることを特徴とする復号装置。
【請求項２】
前記暗号文は、第１暗号文と第２暗号文を含み、
前記復号部は、前記第１暗号文を前記時間に対応する第１復号鍵により復号して第１平文を生成し、前記第２暗号文を前記第２復号鍵により復号して第２平文を生成し、
前記第１平文と前記第２平文から前記平文を復元する復元部を備えることを特徴とする請求項１に記載の復号装置。
【請求項３】
前記暗号文は、前記平文を前記第１公開鍵及び前記時間を用いて暗号化した１次暗号文を、前記第２公開鍵を用いて暗号化した２次暗号文であり、
前記復号部は、前記２次暗号文を前記第２復号鍵により復号して前記１次暗号文を生成し、該１次暗号文を前記時間に対応する第１復号鍵により復号して前記平文を生成することを特徴とする請求項１に記載の復号装置。
【請求項４】
前記暗号文は、前記平文を前記第２公開鍵を用いて暗号化した１次暗号文を、前記第１公開鍵及び前記時間を用いて暗号化した２次暗号文であり、
前記復号部は、前記２次暗号文を前記時間に対応する第１復号鍵により復号して前記１次暗号文を生成し、該１次暗号文を前記第２復号鍵により復号して前記平文を生成することを特徴とする請求項１に記載の復号装置。
【請求項５】
更新前の第１復号鍵を用いる更新と、外部補助装置に格納されたマスター鍵を用いる更新とによって更新される第１復号鍵と対応する第１公開鍵及び時間と、第２復号鍵と対応する第２公開鍵とを用いて平文を暗号化し、暗号文を生成する暗号化部を備えることを特徴とする暗号化装置。
【請求項６】
前記平文を第１平文と第２平文とに分割する分割部を備え、
前記暗号化部は、前記第１平文を前記第１公開鍵及び前記時間により暗号化して第１暗号文を生成し、前記第２平文を前記第２公開鍵により暗号化して第２暗号文を生成し、前記第１暗号文と前記第２暗号文を含む前記暗号文を生成することを特徴とする請求項５に記載の暗号化装置。
【請求項７】
前記暗号化部は、前記平文を前記第１公開鍵及び前記時間により暗号化して１次暗号文を生成し、該１次暗号文を前記第２公開鍵により暗号化し、前記暗号文として２次暗号文を生成することを特徴とする請求項５に記載の暗号化装置。
【請求項８】
前記暗号化部は、前記平文を前記第２公開鍵により暗号化して１次暗号文を生成し、該１次暗号文を前記第１公開鍵及び前記時間により暗号化し、前記暗号文として２次暗号文を生成することを特徴とする請求項５に記載の暗号化装置。
【請求項９】
第１復号鍵に対応する第１公開鍵及び時間と、第２復号鍵に対応する第２公開鍵とを用いて平文を暗号化して暗号文を生成する暗号化装置と、
更新前の第１復号鍵を用いる前記第１復号鍵の更新と、外部補助装置に格納されたマスター鍵を用いる前記第１復号鍵の更新とを行い、前記暗号文を前記時間に対応する前記第１復号鍵と、前記第２復号鍵とを用いて復号する復号装置と
を備えることを特徴とする通信システム。
【請求項１０】
暗号化装置が、第１復号鍵に対応する第１公開鍵及び時間と、第２復号鍵に対応する第２公開鍵とを用いて平文を暗号化して暗号文を生成し、
復号装置が、更新前の第１復号鍵を用いる前記第１復号鍵の更新と、外部補助装置に格納されたマスター鍵を用いる前記第１復号鍵の更新とを行い、
前記復号装置が、前記暗号文を前記時間に対応する前記第１復号鍵と、前記第２復号鍵とを用いて復号することを特徴とする通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、復号装置、暗号化装置、通信システム及び通信方法に関する。
【背景技術】
【０００２】
近年、様々な暗号技術が提案されている。その１つにフォワードセキュア（Forward-Secure）暗号方式がある。フォワードセキュア暗号方式は、公開鍵を変更せずに固定したまま、復号鍵を短い間隔（例えば、１日）で更新していく暗号方式である。これによれば、ある時点における復号鍵が漏洩したとしても、漏洩前に送受信された暗号文の不正な解読を防止できる利点がある。
【０００３】
また、フォワードセキュア暗号方式では、更新直前の復号鍵を用いて復号装置が単独で容易に復号鍵を更新できる利点もある（例えば、非特許文献１、非特許文献２参照）。
【非特許文献１】R. Anderson, Invited lecture, Fourth Annual Conference on Computer and Communications  Security, ACM, 1997
【非特許文献２】R. Anderson, “Two Remarks on Public Key Cryptography”, Technical Report No.549, Computer Laboratory， University of Cambridge, UK, 2002
【発明の開示】
【発明が解決しようとする課題】
【０００４】
フォワードセキュア暗号方式では、上記したように、復号鍵漏洩前の暗号文の不正解読を防止でき、復号鍵の更新処理の簡便性に優れるものの、復号鍵漏洩以降に暗号化された暗号文の不正解読は防止できないおそれがあった。
【０００５】
即ち、ある時点における復号鍵が漏洩した場合、それ以降の安全性を保証することはできなかった。そのため、フォワードセキュア暗号方式において、復号鍵漏洩以降に暗号化された暗号文に対する安全性は、従来の公開鍵暗号方式と同等であった。
【０００６】
そこで、本発明は、復号鍵の更新処理の簡便性を維持しながら、安全性をより向上させたフォワードセキュア暗号方式を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の復号装置は、更新前の第１復号鍵を用いる第１復号鍵の更新と、外部補助装置に格納されたマスター鍵を用いる第１復号鍵の更新とを行う更新部と、平文を第１復号鍵と対応する第１公開鍵及び時間と、第２復号鍵と対応する第２公開鍵とを用いて暗号化した暗号文を、暗号化に用いた時間に対応する第１復号鍵と、第２復号鍵とを用いて復号する復号部とを備えることを特徴とする。
【０００８】
以下、復号装置が単独で更新前の第１復号鍵を用いて行う第１復号鍵の更新、即ち、復号信装置内で更新処理が完結する第１復号鍵の更新を「内部更新」という。これに対し、復号装置が、外部補助装置に格納されたマスター鍵を用いる第１復号鍵の更新、即ち、復号装置が外部補助装置の補助を受けて行う第１復号鍵の更新を「外部更新」という。マスター鍵は、外部更新において、新たな第１復号鍵の生成に用いる鍵である。
【０００９】
このような復号装置によれば、内部更新と外部更新の両方を行うことができる。そのため、復号装置は、内部更新の利点を維持することができる。即ち、復号装置は、単独で更新前の第１復号鍵を用いて容易に第１復号鍵を更新できる。しかも、復号装置は、外部更新を行うことにより、第１復号鍵漏洩後に暗号化された暗号文の不正解読を防止できる。そのため、第１復号鍵の漏洩後の安全性も確保できる。
【００１０】
更に、外部更新を行ったとしても、マスター鍵が漏洩してしまえば安全に暗号文を送受信できないおそれがあるが、本発明では、第１復号鍵と第２復号鍵の両方を揃えることができない限り暗号文を解読できない。そのため、たとえマスター鍵が漏洩したとしても、その後の安全性を確保できる。
【００１１】
従って、復号鍵の更新処理の簡便性を維持しながら、安全性をより向上させたフォワードセキュア暗号方式を提供することができる。
【００１２】
例えば、暗号文は、第１暗号文と第２暗号文を含むことができる。この場合、復号部は、第１暗号文を暗号化に用いた時間に対応する第１復号鍵により復号して第１平文を生成し、第２暗号文を第２復号鍵により復号して第２平文を生成できる。そして、復号装置は、第１平文と第２平文から平文を復元する復元部を備えることができる。
【００１３】
また、暗号文は、平文を第１公開鍵及び時間を用いて暗号化した１次暗号文を、第２公開鍵を用いて暗号化した２次暗号文とすることができる。この場合、復号部は、２次暗号文を第２復号鍵により復号して１次暗号文を生成し、その１次暗号文を暗号化に用いた時間に対応する第１復号鍵により復号して平文を生成することができる。
【００１４】
更に、暗号文は、平文を第２公開鍵を用いて暗号化した１次暗号文を、第１公開鍵及び時間を用いて暗号化した２次暗号文とすることもできる。この場合、復号部は、２次暗号文を暗号化に用いた時間に対応する第１復号鍵により復号して１次暗号文を生成し、その１次暗号文を第２復号鍵により復号して平文を生成することができる。
【００１５】
本発明の暗号化装置は、更新前の第１復号鍵を用いる更新と、外部補助装置に格納されたマスター鍵を用いる更新とによって更新される第１復号鍵と対応する第１公開鍵及び時間と、第２復号鍵と対応する第２公開鍵とを用いて平文を暗号化し、暗号文を生成する暗号化部を備えることを特徴とする。
【００１６】
このような暗号化装置によれば、第１復号鍵と第２復号鍵の両方を用いて復号を行い、第１復号鍵の内部更新と外部更新を行う復号装置に対して、第１公開鍵と第２公開鍵の両方を用いて平文を暗号化できる。即ち、第１復号鍵と第２復号鍵の両方を揃えることができない限り暗号文を解読できないようにできる。そのため、外部更新に用いる鍵更新情報の生成に必要なマスター鍵が漏洩したとしても、その後の安全性を確保することができる。
【００１７】
従って、復号鍵の更新処理の簡便性を維持しながら、安全性をより向上させたフォワードセキュア暗号方式の提供に寄与することができる。
【００１８】
例えば、暗号化装置は、平文を第１平文と第２平文とに分割する分割部を備えることができる。この場合、暗号化部は、第１平文を第１公開鍵及び時間により暗号化して第１暗号文を生成し、第２平文を第２公開鍵により暗号化して第２暗号文を生成し、第１暗号文と第２暗号文を含む暗号文を生成できる。
【００１９】
また、暗号化部は、平文を第１公開鍵及び時間により暗号化して１次暗号文を生成し、その１次暗号文を第２公開鍵により暗号化し、復号装置に送信される暗号文として２次暗号文を生成することができる。
【００２０】
更に、暗号化部は、平文を第２公開鍵により暗号化して１次暗号文を生成し、その１次暗号文を第１公開鍵及び時間により暗号化し、復号装置に送信される暗号文として２次暗号文を生成することができる。
【００２１】
本発明の通信システムは、第１復号鍵に対応する第１公開鍵及び時間と、第２復号鍵に対応する第２公開鍵とを用いて平文を暗号化して暗号文を生成する暗号化装置と、更新前の第１復号鍵を用いる第１復号鍵の更新と、外部補助装置に格納されたマスター鍵を用いる第１復号鍵の更新とを行い、暗号文を暗号化に用いた時間に対応する第１復号鍵と、第２復号鍵とを用いて復号する復号装置とを備えることを特徴とする。
【００２２】
このような通信システムによれば、復号装置は、内部更新を行うことができ、単独で更新前の第１復号鍵を用いて容易に第１復号鍵を更新できる。更に、復号装置は、外部更新を行うことができ、第１復号鍵の漏洩後の安全性も保証することができる。しかも、通信システムでは、２組の公開鍵と復号鍵（第１公開鍵と第１復号鍵のペアと、第２公開鍵と第２復号鍵のペア）を用いて暗号化、復号を行うため、第１復号鍵と第２復号鍵の両方を揃えることができない限り暗号文を解読できない。よって、外部更新に用いる鍵更新情報の生成に必要なマスター鍵が漏洩したとしても、その後の安全性を確保できる。
【００２３】
従って、復号鍵の更新処理の簡便性を維持しながら、安全性をより向上させたフォワードセキュア暗号方式を提供することができる。
【００２４】
本発明の通信方法は、暗号化装置が、第１復号鍵に対応する第１公開鍵及び時間と、第２復号鍵に対応する第２公開鍵とを用いて平文を暗号化して暗号文を生成し、復号装置が、更新前の第１復号鍵を用いる第１復号鍵の更新と、外部補助装置に格納されたマスター鍵を用いる第１復号鍵の更新とを行い、復号装置が、暗号文を暗号化に用いた時間に対応する第１復号鍵と、第２復号鍵とを用いて復号することを特徴とする。
【発明の効果】
【００２５】
以上説明したように、本発明によれば、復号鍵の更新処理の簡便性を維持しながら、安全性をより向上させたフォワードセキュア暗号方式を提供することができる。
【発明を実施するための最良の形態】
【００２６】
〔通信システム〕
図１に示すように、通信システム１００は、送信端末１０と、受信端末２０と、公開情報サーバ３０と、外部補助装置４０と、ネットワーク５０とを備える。
【００２７】
通信システム１００では、フォワードセキュア（Forward-Secure）暗号方式に従う第１公開鍵と、第１公開鍵に対応する第１復号鍵を用いる。フォワードセキュア暗号方式とは、一度生成した公開鍵を変更せずに固定したまま、復号鍵だけを更新していく暗号方式である。復号鍵は、短い間隔で更新できる。以下、例えば、復号鍵の更新間隔を１日とし、Ｎ＋１日間利用する場合を例にとって説明する。この場合、復号鍵はＮ回更新される。
【００２８】
更に、通信システム１００では、第１公開鍵とは異なる第２公開鍵と、第２公開鍵に対応する第２復号鍵を用いる。第１公開鍵、第２公開鍵により暗号化された暗号文はそれぞれ、第１復号鍵、第２復号鍵で復号できる。
【００２９】
以下、フォワードセキュア暗号方式を「ＦＳＥ」と表す。ＦＳＥに従う第１公開鍵を「ＦＳＥ公開鍵」、第１復号鍵を「ＦＳＥ復号鍵」と表す。また、第２公開鍵及び第２復号鍵の生成に用いられる公開鍵暗号方式を「ＰＫＥ」と表す。ＰＫＥに従う第２公開鍵を「ＰＫＥ公開鍵」、第２復号鍵を「ＰＫＥ復号鍵」と表す。ＰＫＥ公開鍵は、ＦＳＥ公開鍵と異なる通常の公開鍵暗号方式の公開鍵である。
【００３０】
送信端末１０は、平文を暗号化し、暗号文を生成する暗号化装置である。送信端末１０は、生成した暗号文を受信端末２０に送信する。受信端末２０は、暗号文を復号し、平文を生成する復号装置である。受信端末２０は、送信端末１０から暗号文を受信する。
【００３１】
通信システム１００では、ある時間において、ある受信端末２０に情報を送信できる送信端末１０は、１≦ｋ≦ｍ（ｋ、ｍは自然数。ｋは送信端末数）だけ存在できる。図１では、受信端末２０に対する送信端末１０が複数存在する場合を例にとって説明する。又、１つの装置が送信端末１０（暗号化装置）としての機能と、受信端末２０（復号装置）としての機能の両方を備えてもよい。
【００３２】
公開情報サーバ３０は、受信端末２０が送信端末１０のような他の装置に公開する公開情報を記憶する。公開情報サーバ３０は、公開情報を送信端末１０に提供する。公開情報サーバ３０は、受信端末２０だけでなく、送信端末１０などの受信端末２０以外の装置がアクセス可能である。公開情報には、受信端末２０のＦＳＥ公開鍵やＰＫＥ公開鍵などが含まれる。
【００３３】
送信端末１０と、受信端末２０と、公開情報サーバ３０とは、ネットワーク５０を介して接続する。
【００３４】
外部補助装置４０は、受信端末２０の外部にあり、受信端末２０の復号を補助する装置である。外部補助装置４０は、受信端末２０とだけ接続する。具体的には、外部補助装置４０は、ネットワーク５０に接続せずに受信端末２０とだけ接続し、ネットワーク５０から隔離されている。外部補助装置４０は、受信端末２０の利用者によって管理される。
【００３５】
次に、受信端末２０、送信端末１０、外部補助装置４０、公開情報サーバ３０について詳細に説明する。
【００３６】
受信端末２０は、通常は、更新直前のＦＳＥ復号鍵を用いて単独で行うＦＳＥ復号鍵の更新、即ち、内部更新を行う。更に、受信端末２０は、予め定められた外部更新タイミングで、外部補助装置４０に格納されたマスター鍵を用いるＦＳＥ復号鍵の更新、即ち、外部更新を行う。受信端末２０は、外部更新を行うときにだけ、外部補助装置４０と接続する。復号鍵の更新処理の際に外部更新を行う頻度を表すパラメータをＴとする。例えば、外部更新タイミングをＴ回の更新に１回とできる。
【００３７】
受信端末２０は、図２に示すように、生成部２１と、更新部２２と、復号部２３と、記憶部２４と、通信部２５と、出力部２６と、復元部２７とを備える。
【００３８】
通信部２５は、外部補助装置４０や送信端末１０、公開情報サーバ３０と、データを送受信する。
【００３９】
生成部２１は、まず、ＦＳＥ公開鍵ｅｋと、最初のＦＳＥ復号鍵（以下、「初期ＦＳＥ復号鍵」という）ｄｋ0を生成する。生成部２１は、例えば、Ｎ＋１組の公開鍵（ｅｋi）0≦i≦Nと秘密鍵（ｄi）0≦i≦Nのペアを生成できる。生成部２１は、生成したＮ＋１個の公開鍵を用いて、ＦＳＥ公開鍵ｅｋ＝（ｅｋi）0≦i≦Nを生成できる。生成部２１は、生成した秘密鍵を用いて、初期ＦＳＥ復号鍵ｄｋ0を生成できる。受信端末２０は、Ｔ回に１回は外部更新を行い、Ｔ−１回は内部更新を行う。そのため、生成部２１は、初期ＦＳＥ復号鍵として、ｄｋ0＝（ｄi）0≦i≦T-1を生成できる。更に、生成部２１は、生成したＮ＋１個の秘密鍵を用いて、ＦＳＥのマスター鍵ｈｋ＝（ｄi）0≦i≦Nを生成できる。
【００４０】
このように、初期ＦＳＥ復号鍵ｄｋ0に含まれる秘密鍵とマスター鍵ｈｋに含まれる秘密鍵の一部は重複する。マスター鍵ｈｋは、外部更新において、新たなＦＳＥ復号鍵の生成に用いる鍵である。より具体的には、マスター鍵ｈｋは、外部更新において、新たなＦＳＥ復号鍵の生成に用いられる鍵更新情報δの生成に用いる鍵である。ｉは時間を表す。
【００４１】
更に、生成部２１は、ＦＳＥ公開鍵ｅｋと秘密鍵とは異なるＰＫＥ公開鍵ｐｋとＰＫＥ復号鍵ｓｋを生成する。生成部２１は、ＦＳＥ公開鍵ｅｋ、秘密鍵を、例えば、RSA暗号、ElGamal暗号などを用いて生成できる。生成部２１は、ＰＫＥ公開鍵ｐｋ、ＰＫＥ復号鍵ｓｋを、例えば、RSA暗号、ElGamal暗号などを用いて生成できる。尚、鍵の生成方法は限定されず、その種類も限定されない。例えば、ＦＳＥ公開鍵、秘密鍵は、上記したような鍵のペアを多数用いるものに限定されない。
【００４２】
生成部２１は、ＦＳＥ公開鍵ｅｋとＰＫＥ公開鍵ｐｋを、公開情報｛ｅｋ，ｐｋ｝として公開情報サーバ３０に提供する。生成部２１は、受信端末２０の識別情報Ｕに公開情報｛ｅｋ，ｐｋ｝を対応付けて、通信部２５を介して公開情報サーバ３０に提供する。このように公開情報｛ｅｋ，ｐｋ｝を公開情報サーバ３０に提供し、公開情報サーバ３０に登録することにより、受信端末２０は、送信端末１０などに公開情報｛ｅｋ，ｐｋ｝を公開する。識別情報Ｕは、受信端末２０に付与された固有の情報である。識別情報Ｕには、例えば、電子メールアドレス、電話番号、ユーザＩＤなどがある。
【００４３】
更に、生成部２１は、初期ＦＳＥ復号鍵ｄｋ0とＰＫＥ復号鍵ｓｋを、初期復号鍵ｓｋ0＝｛ｄｋ0，ｓｋ｝として記憶部２４に格納する。また、生成部２１は、マスター鍵ｈｋを外部補助装置４０に通信部２５を介して提供する。このようにして、生成部２１は、マスター鍵ｈｋを外部補助装置４０に格納し、記憶部２４には格納しない。これによれば、受信端末２０は、マスター鍵ｈｋを、ネットワーク５０から隔離された外部補助装置４０に格納しておくことができる。そのため、マスター鍵ｈｋの漏洩を防止でき、安全性を向上できる。更に、受信端末２０は、外部補助装置４０にマスター鍵ｈｋを用いて更新補助鍵δを適切に生成させることができる。
【００４４】
記憶部２４は、現時点のＦＳＥ復号鍵ｄｋ、ＰＫＥ復号鍵ｓｋ、受信者の識別情報Ｕ、受信した暗号文などを記憶する。初期状態では、記憶部２４は初期復号鍵ｓｋ0＝｛ｄｋ0，ｓｋ｝を記憶する。記憶部２４は、マスター鍵ｈｋは記憶しない。
【００４５】
更新部２２は、ＦＳＥ復号鍵ｄｋの更新を行う。更新部２２は、更新直前のＦＳＥ復号鍵を用いて単独で行うＦＳＥ復号鍵の更新（内部更新）と、外部補助装置４０に格納されたマスター鍵を用いるＦＳＥ復号鍵の更新（外部更新）とを行う。更新部２２は、時間ｊにおいて、更新前の現在の時間ｊのＦＳＥ復号鍵ｄｋjを、次の時間ｊ＋１のＦＳＥ復号鍵ｄｋj+1に更新する
更新部２２は、外部更新タイミングｑＴ―１では外部更新を行う（ｑは、１≦ｑ≦（Ｎ＋１／Ｔ）となる整数である）。更新部２２は、外部更新タイミングｑＴ―１を除く、ＦＳＥ復号鍵の更新タイミング（以下「内部更新タイミング」という）では内部更新を行う。更新部２２は、まず、外部更新を行うか内部更新を行うか、即ち、ＦＳＥ復号鍵を更新するために外部補助装置４０に接続する必要があるか否かを判断する。
【００４６】
更新部２２は、時間ｊが内部更新タイミングｊ≠ｑＴ―１、即ち、（ｑ―１）Ｔ≦ｊ≦ｑＴ−２の場合には、内部更新を行うと判断する。更新部２２は、記憶部２４から更新前のＦＳＥ復号鍵、即ち、時間ｊのＦＳＥ復号鍵ｄｋjを取得する。更新部２２は、更新前のＦＳＥ復号鍵ｄｋjを用い、時間ｊ＋１のＦＳＥ復号鍵ｄｋj+1＝｛（ｄi）j+1≦i≦qT-1｝を生成できる。
【００４７】
このように、内部更新は、受信端末２０単独で更新前のＦＳＥ復号鍵を用いて容易に行うことができ、受信端末２０内で更新処理を完結させることができる。
【００４８】
更新部２２は、時間ｊが外部更新タイミングｑＴ―１の場合には、外部更新を行うと判断する。更新部２２は、まず、マスター鍵ｈｋを用いて鍵更新情報δj+1を生成するように、外部補助装置４０に通信部２５を介して要求する。鍵更新情報δj+1は、次の時間ｊ＋１のＦＳＥ復号鍵ｄｋj+1の生成に用いられる情報である。
【００４９】
更新部２２は、外部補助装置４０から通信部２５を介して、鍵更新情報δj+1＝｛（ｄi）j+1≦i≦j+T｝を取得する。更新部２２は、取得した鍵更新情報δj+1を用い、時間ｊ＋１のＦＳＥ復号鍵ｄｋj+1を生成する。例えば、更新部２２は、時間ｊ＋１と鍵更新情報δj+1を用いてｄｋj+1＝δj+1とし、ＦＳＥ復号鍵ｄｋj+1としてＦＳＥ復号鍵ｄｋj+1＝｛（ｄi）j+1≦i≦j+T｝を生成できる。即ち、更新部２２は、鍵更新情報δj+1を時間ｊ＋１のＦＳＥ復号鍵ｄｋj+1とする。
【００５０】
このように、受信端末２０は、外部補助装置４０と接続し、外部補助装置４０に格納されたマスター鍵を用いて外部更新を行う。具体的には、受信端末２０は、マスター鍵を用いて外部補助装置４０の内部で生成される鍵更新情報δという秘密情報を用いて外部更新を行う。これによれば、マスター鍵が外部補助装置４０の外部に出ることがないため、安全性をより高めることができる。
【００５１】
更新部２２は、新たに生成した更新後の時間ｊのＦＳＥ復号鍵ｄｋjを記憶部２４に格納する。そして、更新部２２は、記憶部２４に格納されている更新前の時間ｊ―１のＦＳＥ復号鍵ｄj-1を消去する。以上のようにしてＦＳＥ復号鍵の更新が行われる。
【００５２】
復号部２３は、平文をＦＳＥ公開鍵ｅｋ（第１公開鍵）及び時間と、ＰＫＥ公開鍵ｐｋ（第２公開鍵）とを用いて暗号化した暗号文を、暗号化した時間に対応するＦＳＥ復号鍵ｄｋ（第１復号鍵）と、ＰＫＥ復号鍵ｓｋ（第２復号鍵）とを用いて復号する。
【００５３】
通信部２５は、受信した暗号文を記憶部２４に格納してもよく、復号部２３に入力してもよい。復号部２３は、記憶部２４又は通信部２５から送信端末１０からの暗号文を取得する。更に、復号部２３は、記憶部２４からＦＳＥ復号鍵ｄｋとＰＫＥ復号鍵ｓｋとを取得する。
【００５４】
復号部２３は、ＦＳＥ復号鍵ｄｋを用いるときは、暗号化された時間も用いて復号を行う。例えば、暗号文が時間ｊ＋１において暗号化されている場合、復号部２３は、時間ｊ＋１に基づいて、ＦＳＥ復号鍵ｄｋj+1に含まれる秘密鍵ｄj+1を用いて復号を行う。
【００５５】
また、復号部２３は、ＦＳＥ復号鍵を用いて復号を行うときは、ＦＳＥ公開鍵及びＦＳＥ復号鍵の生成に用いた公開暗号方式に従った復号を行う復号アルゴリズム（以下「ＦＳＥ復号アルゴリズム」という）を用いて復号を行う。復号部２３は、ＰＫＥ復号鍵を用いて復号を行うときは、ＰＫＥ公開鍵及びＰＫＥ復号鍵の生成に用いた公開暗号方式に従った復号を行う復号アルゴリズム（以下「ＰＫＥ復号アルゴリズム」という）を用いて復号を行う。
【００５６】
復号部２３は、暗号文を復号して生成した平文を出力部２６に出力する。また、復号部２３は、第１暗号文と第２暗号文を含む暗号文を復号した場合には、第１暗号文を復号して得られた第１平文と、第２暗号文を復号して得られた第２平文を、復元部２７に入力する。
【００５７】
復元部２７は、復元部２３から第１平文と第２平文を取得する。復元部２８は、取得した第１平文と第２平文から平文を復元する。復元部２７は、復元した平文を出力部２６に出力する。
【００５８】
送信端末１０は、図２に示すように、暗号化部１１と、記憶部１２と、入力部１３と、通信部１４と、分割部１５とを備える。
【００５９】
通信部１４は、受信端末２０、公開情報サーバ３０と、データを送受信する。記憶部１２は、受信端末２０の識別情報Ｕや、受信端末２０に送信するデータなどを記憶する。入力部１３は、送信端末１０の利用者から受信端末２０に送信するデータの入力を受け、暗号化部１１にデータを入力する。
【００６０】
暗号化部１１は、内部更新と外部更新とによって更新されるＦＳＥ復号鍵（第１復号鍵）と対応するＦＳＥ公開鍵（第１公開鍵）及び時間と、ＰＫＥ復号鍵（第２復号鍵）と対応するＰＫＥ公開鍵（第２公開鍵）とを用いて平文を暗号化し、暗号文を生成する。
【００６１】
暗号化部１１は、受信端末２０に送信する平文のデータを、受信端末２０のＦＳＥ公開鍵ｅｋ及びＰＫＥ公開鍵ｐｋを用いて暗号化する。暗号化部１１は、記憶部１２や入力部１３から、平文のデータと受信端末２０の識別情報Ｕを取得する。
【００６２】
暗号化部１１は、受信端末２０の識別情報Ｕを指定して受信端末２０のＦＳＥ公開鍵ｅｋとＰＫＥ公開鍵ｐｋ、即ち、公開情報｛ｅｋ，ｐｋ｝を、通信部１４を介して公開情報サーバ３０に要求する。そして、暗号化部１１は、受信端末２０の公開情報｛ｅｋ，ｐｋ｝を通信部１４を介して公開情報サーバ３０から取得する。暗号化部１１は、平文を暗号化して生成した暗号文を通信部１４に入力する。そして、通信部１４が暗号文を受信端末２０に送信する。
【００６３】
暗号化部１１は、ＦＳＥ公開鍵ｅｋを用いるときは、時間も用いて暗号化を行う。例えば、時間ｊ＋１において暗号化を行う場合、暗号化部１１は、時間ｊ＋１に基づいて、ＦＳＥ公開鍵ｅｋ＝（ｅｋi）0≦i≦Nに含まれる公開鍵ｅｋj+1を用いて暗号化を行うことができる。
【００６４】
また、暗号化部１１は、ＦＳＥ公開鍵を用いて暗号化を行うときは、ＦＳＥ公開鍵及びＦＳＥ復号鍵の生成に用いた公開暗号方式に従った暗号化を行う暗号化アルゴリズム（以下「ＦＳＥ暗号化アルゴリズム」という）を用いて暗号化を行う。暗号化部１１は、ＰＫＥ公開鍵を用いて復号を行うときは、ＰＫＥ公開鍵及びＰＫＥ復号鍵の生成に用いた公開暗号方式に従った暗号化を行う暗号化アルゴリズム（以下「ＰＫＥ暗号化アルゴリズム」という）を用いて暗号化を行う。
【００６５】
また、暗号化部１１は、平文を分割して暗号化を行う場合、平文のデータを分割部１５に入力し、平文の分割を要求する。分割部１５は、暗号化部１１から平文を取得する。分割部１５は、取得した平文のデータを、第１平文と第２平文とに分割する。分割部１５は、分割した第１平文と第２平文を暗号化部１１に入力する。
【００６６】
次に、送信端末１０の暗号化部１１が行う暗号化方法と、それに対応すると受信端末２０の復号部２３が行う復号方法について詳細に説明する。
【００６７】
（第１方法）
まず、分割部１５が、暗号化部１１からの要求を受けて、平文ｍを第１平文ｍ１と第２平文ｍ２とに分割する。分割部１５は秘密分散法などを用いて平文ｍを分割できる。
【００６８】
暗号化部１１は、第１平文ｍ１を、ＦＳＥ公開鍵ｅｋと時間により暗号化して第１暗号文ｃ１を生成する。例えば、暗号化部１１は、時間ｊ＋１において暗号化を行う場合、ＦＳＥ暗号化アルゴリズムに、時間ｊ＋１、ＦＳＥ公開鍵ｅｋ、第１平文ｍ１を入力して計算することにより、ｅｋj+1を用いて第１平文ｍ１を暗号化し、第１暗号文ｃ１を生成できる。
【００６９】
更に、暗号化部１１は、第２平文ｍ２を、ＰＫＥ公開鍵ｐｋにより暗号化して第２暗号文ｃ２を生成する。例えば、暗号化部１１は、ＰＫＥ暗号化アルゴリズムに、ＰＫＥ公開鍵ｐｋ、第２平文ｍ２を入力して計算することにより暗号化し、第２暗号文ｃ２を生成できる。
【００７０】
そして、暗号化部１１は、第１暗号文ｃ１と第２暗号文ｃ２を含む暗号文ｃ＝｛ｃ１，ｃ２｝を生成する。通信部１４が、暗号文ｃ＝｛ｃ１，ｃ２｝を受信端末２０に送信する。
【００７１】
この場合、通信部２５は、第１暗号文ｃ１と第２暗号文ｃ２を含む暗号文ｃ＝｛ｃ１，ｃ２｝を受信する。
【００７２】
復号部２３は、第１暗号文ｃ１を、暗号化した時間に対応するＦＳＥ復号鍵ｄｋにより復号して第１平文ｍ１を生成する。例えば、復号部２３は、時間ｊ＋１において暗号化された第１暗号文ｃ１を復号する場合、ＦＳＥ復号アルゴリズムに、時間ｊ＋１、ＦＳＥ復号鍵ｄｋj+1、第１暗号文ｃ１を入力して計算することにより、ＦＳＥ復号鍵ｄｋj+1に含まれる秘密鍵ｄj+1を用いて第１暗号文ｃ１を復号し、第１平文ｍ１を生成できる。
【００７３】
更に、復号部２３は、第２暗号文ｃ２を、ＰＫＥ復号鍵ｓｋにより復号して第２平文ｍ２を生成する。例えば、復号部２３は、ＰＫＥ復号アルゴリズムに、ＰＫＥ復号鍵ｓｋ、第２暗号文ｃ２を入力して計算することにより復号し、第２平文ｍ２を生成できる。
【００７４】
復号部２３は、生成した第１平文ｍ１と第２平文ｍ２を、復元部２７に入力する。復元部２７は、第１平文ｍ１と第２平文ｍ２を結合し、平文ｍを復元する。例えば、復元部２７は、平文ｍの分割に用いた秘密分散法により、第１平文ｍ１と第２平文ｍ２とから平文ｍを復元できる。
【００７５】
（第２方法）
暗号化部１１は、平文ｍを、ＦＳＥ公開鍵ｅｋと時間により暗号化して１次暗号文ｃ’を生成する。例えば、暗号化部１１は、時間ｊ＋１において暗号化を行う場合、ＦＳＥ暗号化アルゴリズムに、時間ｊ＋１、ＦＳＥ公開鍵ｅｋ、平文ｍを入力して計算することにより、ｅｋj+1を用いてｍを暗号化し、１次暗号文ｃ’を生成できる。
【００７６】
次に、暗号化部１１は、生成した１次暗号文ｃ’をＰＫＥ公開鍵ｐｋにより暗号化し、受信端末２０に送信する暗号文として２次暗号文ｃ’’を生成する。例えば、暗号化部１１は、ＰＫＥ暗号化アルゴリズムに、ＰＫＥ公開鍵ｐｋ、１次暗号文ｃ’を入力して計算することにより暗号化し、２次暗号文ｃ’’を生成できる。そして、通信部１４が、２次暗号文ｃ’’を受信端末２０に暗号文として送信する。
【００７７】
この場合、通信部２５は、２次暗号文ｃ’’を暗号文として受信する。復号部２３は、２次暗号文ｃ’’をＰＫＥ復号鍵ｓｋにより復号して１次暗号文ｃ’を生成する。例えば、復号部２３は、ＰＫＥ復号アルゴリズムに、ＰＫＥ復号鍵ｓｋ、２次暗号文ｃ’’を入力して計算することにより復号し、１次暗号文ｃ’を生成できる。
【００７８】
次に、復号部２３は、生成した１次暗号文ｃ’を、暗号化した時間に対応するＦＳＥ復号鍵ｄｋにより復号して平文ｍを生成する。例えば、復号部２３は、時間ｊ＋１において暗号化された１次暗号文ｃ’を復号する場合、ＦＳＥ復号アルゴリズムに、時間ｊ＋１、ＦＳＥ復号鍵ｄｋj+1、１次暗号文ｃ’を入力して計算することにより、ＦＳＥ復号鍵ｄｋj+1に含まれる秘密鍵ｄj+1を用いて１次暗号文ｃ’を復号し、平文ｍを生成できる。
【００７９】
（第３方法）
暗号化部１１は、平文ｍを、ＰＫＥ公開鍵ｐｋにより暗号化して１次暗号文ｃ’を生成する。例えば、暗号化部１１は、ＰＫＥ暗号化アルゴリズムに、ＰＫＥ公開鍵ｐｋ、平文ｍを入力して計算することにより暗号化し、１次暗号文ｃ’を生成できる。
【００８０】
次に、暗号化部１１は、生成した１次暗号文ｃ’をＦＳＥ公開鍵ｅｋ及び時間により暗号化し、受信端末２０に送信する暗号文として２次暗号文ｃ’’を生成する。例えば、暗号化部１１は、時間ｊ＋１において暗号化を行う場合、ＦＳＥ暗号化アルゴリズムに、時間ｊ＋１、ＦＳＥ公開鍵ｅｋ、１次暗号文ｃ’を入力して計算することにより、ｅｋj+1を用いて１次暗号文ｃ’を暗号化し、２次暗号文ｃ’’を生成できる。そして、通信部１４が、２次暗号文ｃ’’を受信端末２０に暗号文として送信する。
【００８１】
この場合、通信部２５は、２次暗号文ｃ’’を暗号文として受信する。復号部２３は、２次暗号文ｃ’’を、暗号化した時間に対応するＦＳＥ復号鍵ｄｋにより復号して１次暗号文ｃ’を生成する。例えば、復号部２３は、時間ｊ＋１において暗号化された２次暗号文ｃ’’を復号する場合、ＦＳＥ復号アルゴリズムに、時間ｊ＋１、ＦＳＥ復号鍵ｄｋj+1、２次暗号文ｃ’’を入力して計算することにより、ＦＳＥ復号鍵ｄｋj+1に含まれる秘密鍵ｄj+1を用いて２次暗号文ｃ’’を復号し、１次暗号文ｃ’を生成できる。
【００８２】
次に、復号部２３は、生成した１次暗号文ｃ’を、ＰＫＥ復号鍵ｓｋにより復号して平文ｍを生成する。例えば、復号部２３は、ＰＫＥ復号アルゴリズムに、ＰＫＥ復号鍵ｓｋ、１次暗号文ｃ’を入力して計算することにより復号し、平文ｍを生成できる。
【００８３】
外部補助装置４０は、図２に示すように、更新情報生成部４１と、記憶部４２と、通信部４３とを備える。記憶部４２は、受信端末２０のＦＳＥのマスター鍵ｈｋを記憶する。通信部４３は、受信端末２０とデータを送受信する。
【００８４】
更新情報生成部４１は、マスター鍵ｈｋを用いて、新たなＦＳＥ復号鍵の生成に用いられる鍵更新情報δを生成する。即ち、更新情報生成部４１は、外部更新に必要な鍵更新情報δを生成する。
【００８５】
最初に、更新情報生成部４１は、マスター鍵ｈｋを受信端末２０から通信部４３を介して取得する。更新情報生成部４１は、取得したマスター鍵ｈｋを記憶部４２に格納しておく。
【００８６】
その後、更新情報生成部４１は、鍵更新情報δの生成の要求を通信部４３を介して受信端末２０から取得する。更新情報生成部４１は、記憶部４２からマスター鍵ｈｋを取得する。補助鍵生成部４１は、取得したマスター鍵ｈｋを用いて鍵更新情報δを生成する。
【００８７】
例えば、時間ｊにおいて、次の時間ｊ＋１のＦＳＥ復号鍵ｄｋjに更新する場合、更新情報生成部４１は、ＦＳＥ復号鍵ｄｋjの生成に必要な鍵更新情報δjを生成する。更新情報生成部４１は、マスター鍵ｈｋと時間ｊ＝ｑＴ―１を用いて、鍵更新情報δj+1を生成できる。例えば、ｈｋ＝｛（ｄi）0≦i≦N｝から｛（ｄi）j+1≦i≦j+T｝を取り出して、鍵更新情報δj+1＝｛（ｄi）j+1≦i≦j+T｝を生成できる。
【００８８】
更新情報生成部４１は、生成した鍵更新情報δを通信部４３を介して受信端末２０に提供する。
【００８９】
公開情報サーバ３０は、制御部３１と、公開情報データベース３２と、通信部３３とを備える。公開情報データベース３２は、公開情報｛ｅｋ，ｐｋ｝などを、受信端末２０の識別情報Ｕに対応付けて記憶する。通信部３３は、ネットワーク５０を介して受信端末２０や送信端末１０とデータを送受信する。
【００９０】
制御部３１は、受信端末２０の識別情報Ｕに対応付けられた公開情報｛ｅｋ，ｐｋ｝を、通信部３３を介して受信端末２０から取得する。制御部３１は、取得した公開情報｛ｅｋ，ｐｋ｝を、識別情報Ｕに対応付けて公開情報データベース３２に格納する。
【００９１】
制御部３１は、識別情報Ｕを指定した公開情報｛ｅｋ，ｐｋ｝の要求を通信部３３を介して送信端末１０から取得する。制御部３１は、識別情報Ｕに基づいて、公開情報データベース３２から識別情報Ｕの受信端末２０の公開情報｛ｅｋ，ｐｋ｝を取得する。制御部３１は、送信端末１０に取得した公開情報｛ｅｋ，ｐｋ｝を通信部３３を介して提供する。
【００９２】
〔通信方法〕
次に、図１に示した通信システム１００における通信方法について、図３〜６を用いて説明する。まず、図３を用いて、暗号化通信を開始するための開始処理手順の一例を説明する。
【００９３】
まず、受信端末２０は、ＦＳＥ公開鍵ｅｋ＝（ｅｋi）0≦i≦N、初期ＦＳＥ復号鍵ｄｋ0＝（ｄi）0≦i≦T-1、ＦＳＥのマスター鍵ｈｋ＝（ｄi）0≦i≦Nを生成する（Ｓ１０１）。更に、受信端末２０は、ＰＫＥ公開鍵ｐｋ、ＰＫＥ復号鍵ｓｋを生成する（Ｓ１０２）。
【００９４】
受信端末２０は、生成した公開情報｛ｅｋ，ｐｋ｝を公開情報サーバ３０に提供する（Ｓ１０３）。公開情報サーバ３０は、受信端末２０から取得した公開情報｛ｅｋ，ｐｋ｝を、公開情報データベース３２に格納する（Ｓ１０４）。これにより、受信端末２０の公開情報が公開情報データベース３２に登録され、公開情報が送信端末１０などに公開される。
【００９５】
更に、受信端末２０は、初期ＦＳＥ復号鍵ｄｋ0＝（ｄi）0≦i≦T-1とＰＫＥ復号鍵ｓｋを、初期復号鍵ｓｋ0＝｛ｄｋ0，ｓｋ｝として記憶部２４に格納する（Ｓ１０５）。また、受信端末２０は、マスター鍵ｈｋ＝（ｄi）0≦i≦Nを外部補助装置４０に提供する（Ｓ１０６）。外部補助装置４０は、受信端末２０から取得したマスター鍵ｈｋを記憶部４２に格納する（Ｓ１０７）。
【００９６】
次に、図４を用いて、ＦＳＥ復号鍵の更新手順、第１方法による暗号化及び復号の手順の一例を説明する。受信端末２０は、時間ｊにおいて、更新前の現在の時間ｊのＦＳＥ復号鍵ｄｋjを、次の時間ｊ＋１のＦＳＥ復号鍵ｄｋj+1に更新する。
【００９７】
受信端末２０は、まず、外部更新を行うか内部更新を行うかを判断する（Ｓ２０１）。具体的には、受信端末２０は、時間ｊが、外部更新タイミングｊ＝ｑＴ−１であるか、内部更新タイミングｊ≠ｑＴ−１であるかを判断する。
【００９８】
ステップ（Ｓ２０１）において、ｊ≠ｑＴ−１、即ち、（ｑ―１）Ｔ≦ｊ≦ｑＴ−２の場合には、受信端末２０は内部更新を行うと判断する。受信端末２０は、記憶部２４から更新前の時間ｊのＦＳＥ復号鍵ｄｋjを取得する。受信端末２０は、更新前のＦＳＥ復号鍵ｄｋjを用い、次の時間ｊ＋１に基づいて、時間ｊ＋１のＦＳＥ復号鍵ｄｋj+1＝｛（ｄi）j+1≦i≦qT-1｝を生成する（Ｓ２０２）。
【００９９】
一方、ステップ（Ｓ２０１）において、ｊ＝ｑＴ−１の場合には、受信端末２０は外部更新を行うと判断する。受信端末２０は、まず、マスター鍵ｈｋを用いて、時間ｊ＋１の新たなＦＳＥ復号鍵ｄｋj+1の生成に必要な鍵更新情報δj+1を生成するように、外部補助装置４０に要求する（Ｓ２０３）。
【０１００】
要求を受けた外部補助装置４０は、記憶部４２に格納されたマスター鍵ｈｋ＝｛（ｄi）0≦i≦N｝と時間ｊ＝ｑＴ―１を用いて、鍵更新情報δj+1＝｛（ｄi）j+1≦i≦j+T｝を生成する（Ｓ２０４）。外部補助装置４０は、生成した鍵更新情報δj+1を受信端末２０に提供する（Ｓ２０５）。
【０１０１】
受信端末２０は、外部補助装置４０から取得した鍵更新情報δj+1＝｛（ｄi）j+1≦i≦j+T｝と時間ｊ＋１を用いて、鍵更新情報δj+1＝｛（ｄi）j+1≦i≦j+T｝を時間ｊ＋１におけるＦＳＥ復号鍵ｄｋj+1＝｛（ｄi）j+1≦i≦j+T｝とし、ＦＳＥ復号鍵ｄｋjを生成する（Ｓ２０６）。
【０１０２】
受信端末２０は、内部更新又は外部更新のいずれかにより新たに生成した時間ｊのＦＳＥ復号鍵ｄｋj、即ち、更新後のＦＳＥ復号鍵ｄｋjを記憶部２４に格納する（Ｓ２０７）。そして、受信端末２０は、記憶部２４に格納されている更新前の時間ｊ―１のＦＳＥ復号鍵ｄj-1を消去する（Ｓ２０８）。以上のようにしてＦＳＥ復号鍵の更新が行われる。
【０１０３】
その後、時間ｊ＋１において、送信端末１０が、受信端末２０の公開情報｛ｅｋ，ｐｋ｝を公開情報サーバ３０に要求する（Ｓ２０９）。公開情報サーバ３０は、要求された受信端末２０の公開情報｛ｅｋ，ｐｋ｝を送信端末１０に提供する（Ｓ２１０）。
【０１０４】
送信端末１０は、平文ｍを秘密分散法を用いて第１平文ｍ１と第２平文ｍ２に分割する（Ｓ２１１）。送信端末１０は、取得した公開情報｛ｅｋ，ｐｋ｝に含まれる、ＦＳＥ公開鍵ｅｋと時間ｊ＋１を用いて、第１平文ｍ１を暗号化して第１暗号文ｃ１を生成する（Ｓ２１２）。送信端末１０は、取得した公開情報｛ｅｋ，ｐｋ｝に含まれる、ＰＫＥ公開鍵ｐｋを用いて、第２平文ｍ２を暗号化して第２暗号文ｃ２を生成する（Ｓ２１３）。送信端末２０は、第１暗号文ｃ１と第２暗号文ｃ２を含む暗号文ｃ＝｛ｃ１，ｃ２｝を受信端末２０に送信する（Ｓ２１４）。
【０１０５】
受信端末２０は、受信した暗号文ｃ＝｛ｃ１，ｃ２｝に含まれる第１暗号文ｃ１を、暗号化した時間ｊ＋１に対応するＦＳＥ復号鍵ｄｋj+1により復号して第１平文ｍ１を生成する（Ｓ２１５）。受信端末２０は、第２暗号文ｃ２を、ＰＫＥ復号鍵ｓｋにより復号して第２平文ｍ２を生成する（Ｓ２１６）。受信端末２０は、生成した第１平文ｍ１と第２平文ｍ２から平文ｍを、分割に用いた秘密分散法により復元する（Ｓ２１７）。
【０１０６】
次に、図５を用いて、ＦＳＥ復号鍵の更新手順、第２方法による暗号化及び復号の手順の一例を説明する。まず、図４に示したステップ（Ｓ２０１）〜（Ｓ２１０）と同一のステップ（Ｓ３０１）〜（Ｓ３１０）が行われる。
【０１０７】
次に、送信端末１０は、取得した公開情報｛ｅｋ，ｐｋ｝に含まれる、ＦＳＥ公開鍵ｅｋと時間ｊ＋１を用いて平文ｍを暗号化し、１次暗号文ｃ’を生成する（Ｓ３１１）。送信端末１０は、取得した公開情報｛ｅｋ，ｐｋ｝に含まれる、ＰＫＥ公開鍵ｐｋを用いて、生成した１次暗号文ｃ’を暗号化して２次暗号文ｃ’’を生成する（Ｓ３１２）。送信端末２０は、２次暗号文ｃ’’を受信端末２０に送信する（Ｓ３１３）。
【０１０８】
受信端末２０は、受信した２次暗号文ｃ’’を、ＰＫＥ復号鍵ｓｋにより復号して１次暗号文ｃ’を生成する（Ｓ３１４）。受信端末２０は、生成した１次暗号文ｃ’を、暗号化した時間ｊ＋１に対応するＦＳＥ復号鍵ｄｋj+1により復号して平文ｍを生成する（Ｓ３１５）。
【０１０９】
次に、図６を用いて、ＦＳＥ復号鍵の更新手順、第３方法による暗号化及び復号の手順の一例を説明する。まず、図４に示したステップ（Ｓ２０１）〜（Ｓ２１０）と同一のステップ（Ｓ４０１）〜（Ｓ４１０）が行われる。
【０１１０】
次に、送信端末１０は、取得した公開情報｛ｅｋ，ｐｋ｝に含まれる、ＰＫＥ公開鍵ｐｋを用いて平文ｍを暗号化し、１次暗号文ｃ’を生成する（Ｓ４１１）。送信端末１０は、取得した公開情報｛ｅｋ，ｐｋ｝に含まれる、ＦＳＥ公開鍵ｅｋと時間ｊ＋１を用いて、生成した１次暗号文ｃ’を暗号化して２次暗号文ｃ’’を生成する（Ｓ４１２）。送信端末２０は、２次暗号文ｃ’’を受信端末２０に送信する（Ｓ４１３）。
【０１１１】
受信端末２０は、受信した２次暗号文ｃ’’を、暗号化した時間ｊ＋１に対応するＦＳＥ復号鍵ｄｋj+1により復号して１次暗号文ｃ’を生成する（Ｓ４１４）。受信端末２０は、生成した１次暗号文ｃ’をＰＫＥ復号鍵ｓｋにより復号して平文ｍを生成する（Ｓ４１５）。
【０１１２】
〔効果〕
このような通信システム１００、受信端末２０、送信端末１０、外部補助装置４０、及び、通信方法によれば、以下のような効果を得ることができる。
【０１１３】
受信端末２０は、内部更新と外部更新の両方を行うことができる。そのため、受信端末２０は、内部更新の利点を維持することができる。即ち、受信端末２０は、単独で更新前のＦＳＥ復号鍵（第１復号鍵）を用いて容易にＦＳＥ復号鍵を更新できる。しかも、受信端末２０は、外部更新を行うことにより、ＦＳＥ復号鍵漏洩後に暗号化された暗号文の不正解読を防止できる。そのため、ＦＳＥ復号鍵の漏洩後の安全性も確保できる。例えば、受信端末２０は、所定の外部更新タイミングにおいて外部更新を行っておくことができ、安全性を適切に向上させることができる。
【０１１４】
このように、通信システム１００では、公開鍵は変更せずに、各時点の復号鍵をその直前の復号鍵を用いて更新可能なフォワードセキュア暗号方式を用いる。そのため、ある時点のＦＳＥ復号鍵が漏洩したとしても、漏洩前の暗号文の安全性を保証できる。更に、ＦＳＥ復号鍵の外部更新に必要なマスター鍵を、別途専用の外部補助装置４０に格納しておく。そして、受信端末２０は、必要に応じて外部補助装置４０と接続し、外部補助装置４０の内部に格納されたマスター鍵を用いてＦＳＥ復号鍵を更新できる。
【０１１５】
よって、ＦＳＥ復号鍵漏洩後、次に外部補助装置４０内に格納されたマスター鍵を用いて外部更新を行うまでの間はＦＳＥ復号鍵の有効性は保証できず、暗号文の安全性を保証することができないが、一旦ＦＳＥ復号鍵が漏洩しても、外部更新以降は暗号文の安全性を保証できる。そのため、通信システム１では、フォワードセキュア暗号方式の利点、即ち、受信端末２０が現在のＦＳＥ復号鍵を用いて単独でＦＳＥ復号鍵が更新可能であるという簡便性を維持しながら、必要に応じて外部補助装置４０と接続することで、ＦＳＥ復号鍵の単一の安全性を高めることができる。
【０１１６】
また、外部更新を行ったとしても、外部補助装置４０に格納されたマスター鍵が漏洩してしまえば、安全に暗号文を送受信できないおそれがある。しかし、通信システム１００では、２組の公開鍵と復号鍵（ＦＳＥ公開鍵とＦＳＥ復号鍵のペアと、ＰＫＥ公開鍵とＰＫＥ復号鍵のペア）を用いて暗号化、復号を行う。そのため、不正解読者（受信端末２０に対して送信するために生成された暗号文を不正に解読しようとする攻撃者）は、ＦＳＥ復号鍵とＰＫＥ復号鍵の両方を揃えることができない限り、マスター鍵を入手したとしても暗号文を解読できない。そのため、たとえマスター鍵が漏洩したとしても、その後の安全性を確保できる。
【０１１７】
従って、ＦＳＥ復号鍵の更新処理の簡便性を維持しながら、安全性をより向上させたフォワードセキュア暗号方式を提供することができる。
【０１１８】
具体的には、マスター鍵が漏洩した場合でも、暗号文の安全性、つまり、平文の情報が１ビットたりとも漏洩していないことを数学的に証明することができる。そのため、送信端末１０と受信端末２０は、非常に高い安全性を確保して、暗号文の送受信を行うことができる。
【０１１９】
〔変更例〕
本発明は、上記実施形態に限定されるものではなく、種々の変更が可能である。上記実施形態では、外部更新タイミングは定期的、即ち、Ｔ回の更新のうちの１回（ｑＴ―１）であったが、外部更新タイミングはランダムであってもよい。更に、受信端末２０は、ＦＳＥ復号鍵ｄｋが漏洩したおそれがあると判断した場合に、外部更新を行ってもよい。これによれば、復号鍵漏洩後、直ちに、外部更新を行うことができ、暗号文の安全性を適切に保証できる。あるいは、受信端末２０は、所定の外部更新タイミングと、漏洩したおそれを検出した時の両方のタイミングで、外部更新を行ってもよい。
【０１２０】
また、外部更新を行う際の受信端末２０による外部補助装置４０に格納されたマスター鍵の使用方法は限定されない。例えば、更新部２２は、外部補助装置４０からマスター鍵の複製を取得し、自ら鍵更新情報を生成してもよい。そして、更新部２２は、外部更新後に、取得したマスター鍵の複製を破棄し、受信端末２０内に残さないようにできる。
【図面の簡単な説明】
【０１２１】
【図１】本発明の実施の形態に係る通信システムを示す図である。
【図２】本発明の実施の形態に係る受信端末、送信端末、外部補助装置及び公開情報サーバの構成を示すブロック図である。
【図３】本発明の実施の形態に係る開始処理手順を示すシーケンス図である。
【図４】本発明の実施の形態に係るＦＳＥ復号鍵の更新手順、第１方法による暗号化及び復号の手順を示すシーケンス図である。
【図５】本発明の実施の形態に係るＦＳＥ復号鍵の更新手順、第２方法による暗号化及び復号の手順を示すシーケンス図である。
【図６】本発明の実施の形態に係るＦＳＥ復号鍵の更新手順、第３方法による暗号化及び復号の手順を示すシーケンス図である。
【符号の説明】
【０１２２】
１００…通信システム
１０…送信端末
１１…暗号化部
１２…記憶部
１３…入力部
１４…通信部
１５…分割部
２０…受信端末
２１…生成部
２２…更新部
２３…復号部
２４…記憶部
２５…通信部
２６…出力部
２７…復元部
３０…公開情報サーバ
３１…制御部
３２…公開情報データベース
３３…通信部
４０…外部補助装置
４１…更新情報生成部
４２…記憶部
４３…通信部
５０…ネットワーク
【図１】
2007053449.tif 000003
【図２】
2007053449.tif 000004
【図３】
2007053449.tif 000005
【図４】
2007053449.tif 000006
【図５】
2007053449.tif 000007
【図６】
2007053449.tif 000008