JP2007053442A - 復号装置、暗号化装置、通信システム及び通信方法 - Google Patents

復号装置、暗号化装置、通信システム及び通信方法 Download PDF

Info

Publication number
JP2007053442A
JP2007053442A JP2005235463A JP2005235463A JP2007053442A JP 2007053442 A JP2007053442 A JP 2007053442A JP 2005235463 A JP2005235463 A JP 2005235463A JP 2005235463 A JP2005235463 A JP 2005235463A JP 2007053442 A JP2007053442 A JP 2007053442A
Authority
JP
Japan
Prior art keywords
ciphertext
key
decryption
decryption key
encryption
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2005235463A
Other languages
English (en)
Inventor
Yutsuko Hanaoka
裕都子 花岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Docomo Inc
Original Assignee
NTT Docomo Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NTT Docomo Inc filed Critical NTT Docomo Inc
Priority to JP2005235463A priority Critical patent/JP2007053442A/ja
Publication of JP2007053442A publication Critical patent/JP2007053442A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】過去の暗号文を復号可能とし、かつ、鍵の漏洩に対する安全性をより高める。
【解決手段】受信端末20は、FSE復号鍵の更新を行う更新部22と、平文をFSE公開鍵及び時間と、PKE第2公開鍵とを用いて暗号化した暗号文の暗号化タイミングと、FSE復号鍵の更新タイミングとが一致するか否かを判断する判断部27と、判断部27により一致しないと判断された場合には、マスター鍵を用いて生成される暗号化タイミングに対応する更新前のFSE復号鍵とPKE復号鍵とを用いて暗号文を復号し、判断部27により一致すると判断された場合には、更新後のFSE復号鍵とPKE復号鍵とを用いて暗号文を復号する復号部23とを備える。
【選択図】図2

Description

本発明は、復号装置、暗号化装置、通信システム及び通信方法に関する。
近年、様々な暗号技術が提案されている。その1つにフォワードセキュア(Forward-Secure)暗号方式がある。フォワードセキュア暗号方式は、公開鍵を変更せずに固定したまま、復号鍵を短い間隔(例えば、1日)で更新していく暗号方式である。これによれば、ある時点における復号鍵が漏洩したとしても、漏洩前に送受信された暗号文の不正な解読を防止できる利点がある(例えば、非特許文献1、非特許文献2参照)。即ち、フォワードセキュア暗号方式では、過去に生成された暗号文を、暗号化した時点よりも先の時点で復号することはできない。よって、復号鍵が漏洩した場合であっても、漏洩前の暗号文に対する安全性を維持することができる。
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
しかしながら、フォワードセキュア暗号方式のように復号鍵を更新していく暗号方式では、復号鍵の漏洩に対する安全性を高めることができるものの、正規の利用者であっても、過去の暗号文の復号が不可能となってしまう課題があった。そのため、例えば、過去の暗号文を再度復号することを要求するアプリケーションなどには、フォワードセキュア暗号方式を適用できないという課題があった。
そこで、本発明は、過去の暗号文を復号可能とし、かつ、鍵の漏洩に対する安全性をより高めることを目的とする。
本発明の復号装置は、第1復号鍵の更新を行う更新部と、平文を第1復号鍵と対応する第1公開鍵及び時間と、第2復号鍵と対応する第2公開鍵とを用いて暗号化した暗号文の暗号化タイミングと、第1復号鍵の更新タイミングとが一致するか否かを判断する判断部と、判断部により一致しないと判断された場合には、マスター鍵を用いて生成される暗号化タイミングに対応する更新前の第1復号鍵と第2復号鍵とを用いて暗号文を復号し、判断部により一致すると判断された場合には、更新後の第1復号鍵と第2復号鍵とを用いて暗号文を復号する復号部とを備えることを特徴とする。マスター鍵は、更新前の第1復号鍵の生成に用いる鍵である。
このような復号装置によれば、暗号化が更新タイミングよりも前に行われたため、更新後の現在の第1復号鍵では復号できない場合には、暗号化タイミングに対応する更新前の第1復号鍵、即ち、過去の第1復号鍵を用いて過去の暗号文を復号できる。一方、暗号化タイミングと更新タイミングが一致している場合には、復号装置は、更新後の現在の第1複合鍵を用いて暗号文を復号できる。よって、復号装置は第1復号鍵を更新して第1復号鍵の漏洩に対する安全性を高めることができ、かつ、過去の暗号文を復号することができる。
更に、このようにマスター鍵を用いて更新前の第1復号鍵が生成される場合、マスター鍵が漏洩してしまうと、安全に暗号文を送受信できないおそれがあるが、本発明では、第1復号鍵と第2復号鍵の両方を揃えることができない限り暗号文を解読できない。そのため、たとえマスター鍵が漏洩したとしても、暗号文の安全性を確保できる。
従って、復号装置は、第1復号鍵やマスター鍵などの鍵の漏洩に対する安全性をより高めることができる。
例えば、暗号文は、第1暗号文と第2暗号文を含むことができる。この場合、復号部は、第1暗号文を第1復号鍵により復号して第1平文を生成し、第2暗号文を第2復号鍵により復号して第2平文を生成できる。そして、復号装置は、第1平文と第2平文から平文を復元する復元部を備えることができる。
また、暗号文は、平文を第1公開鍵及び時間を用いて暗号化した1次暗号文を、第2公開鍵を用いて暗号化した2次暗号文とすることができる。この場合、復号部は、2次暗号文を第2復号鍵により復号して1次暗号文を生成し、その1次暗号文を第1復号鍵により復号して平文を生成することができる。
更に、暗号文は、平文を第2公開鍵を用いて暗号化した1次暗号文を、第1公開鍵及び時間を用いて暗号化した2次暗号文とすることもできる。この場合、復号部は、2次暗号文を第1復号鍵により復号して1次暗号文を生成し、その1次暗号文を第2復号鍵により復号して平文を生成することができる。
更に、復号装置は、第1公開鍵及び最初の第1復号鍵を生成し、最初の第1復号鍵をマスター鍵として、復号を補助する外部補助装置に提供する生成部を備えることが好ましい。これによれば、最初の第1復号鍵をマスター鍵として用いることができ、更新前の第1復号鍵を適切に生成できる。更に、外部補助装置にマスター鍵を格納しておくことができる。そのため、マスター鍵の漏洩を防止でき、安全性をより向上できる。
また、更新前の第1復号鍵は、マスター鍵を用いて生成され、更新前の第1復号鍵の生成に用いられる暗号化タイミングに対応する鍵復元情報と、更新後の第1復号鍵とを用いて生成されることが好ましい。これによれば、暗号化タイミングに対応する鍵復元情報を生成するだけで、現在使用している更新後の第1復号鍵を用いて更新前の第1復号鍵を生成できる。
本発明の暗号化装置は、更新され、暗号化タイミングと更新タイミングに応じて、更新後の復号鍵と、マスター鍵を用いて生成される暗号化タイミングに対応する更新前の復号鍵とが使い分けられる第1復号鍵に対応する第1公開鍵及び時間と、第2復号鍵と対応する第2公開鍵とを用いて平文を暗号化し、暗号文を生成する暗号化部を備えることを特徴とする。
このような暗号化装置によれば、第1復号鍵と第2復号鍵の両方を用いて復号を行い、暗号化タイミングと更新タイミングに応じて、更新後の第1復号鍵と更新前の第1復号鍵とを使い分ける復号装置に対して、第1公開鍵と第2公開鍵の両方を用いて平文を暗号化できる。即ち、第1復号鍵と第2復号鍵の両方を揃えることができない限り暗号文を解読できないようにできる。そのため、更新前の第1復号鍵の生成に必要なマスター鍵が漏洩したとしても、暗号文の安全性を確保できる。
従って、暗号化装置は、過去の暗号文の復号や、第1復号鍵やマスター鍵などの鍵の漏洩に対する安全性の向上に寄与できる。
例えば、暗号化装置は、平文を第1平文と第2平文とに分割する分割部を備えることができる。この場合、暗号化部は、第1平文を第1公開鍵及び時間により暗号化して第1暗号文を生成し、第2平文を第2公開鍵により暗号化して第2暗号文を生成し、第1暗号文と第2暗号文を含む暗号文を生成できる。
また、暗号化部は、平文を第1公開鍵及び時間により暗号化して1次暗号文を生成し、その1次暗号文を第2公開鍵により暗号化し、復号装置に送信される暗号文として2次暗号文を生成することができる。
更に、暗号化部は、平文を第2公開鍵により暗号化して1次暗号文を生成し、その1次暗号文を第1公開鍵及び時間により暗号化し、復号装置に送信される暗号文として2次暗号文を生成することができる。
本発明の通信システムは、第1復号鍵に対応する第1公開鍵及び時間と、第2復号鍵に対応する第2公開鍵とを用いて平文を暗号化して暗号文を生成する暗号化装置と、第1復号鍵の更新を行い、暗号文の暗号化タイミングと第1復号鍵の更新タイミングとが一致するか否かを判断し、一致しないと判断された場合には、マスター鍵を用いて生成される暗号化タイミングに対応する更新前の第1復号鍵と第2復号鍵とを用いて暗号文を復号し、一致すると判断された場合には、更新後の第1復号鍵と第2復号鍵とを用いて暗号文を復号する復号装置とを備えることを特徴とする。
このような通信システムによれば、復号装置は、暗号化が更新タイミングよりも前に行われたため、更新後の現在の第1復号鍵では復号できない場合には、暗号化タイミングに対応する更新前の第1復号鍵を用いて過去の暗号文を復号できる。一方、暗号化タイミングと更新タイミングが一致している場合には、復号装置は、更新後の現在の第1復号鍵を用いて暗号文を復号できる。よって、第1復号鍵を更新して第1復号鍵の漏洩に対する安全性を高めることができ、かつ、過去の暗号文を復号することができる。
しかも、通信システムでは、2組の公開鍵と復号鍵(第1公開鍵と第1復号鍵のペアと、第2公開鍵と第2復号鍵のペア)を用いて暗号化、復号を行うため、第1復号鍵と第2復号鍵の両方を揃えることができない限り暗号文を解読できない。よって、更新前の第1復号鍵の生成に必要なマスター鍵が漏洩したとしても、暗号文の安全性を確保できる。従って、第1復号鍵やマスター鍵などの鍵の漏洩に対する安全性をより高めることができる。
本発明の通信方法は、第1復号鍵に対応する第1公開鍵及び時間と、第2復号鍵に対応する第2公開鍵とを用いて平文を暗号化して暗号文を生成し、第1復号鍵の更新を行い、暗号文の暗号化タイミングと、第1復号鍵の更新タイミングとが一致するか否かを判断し、一致しないと判断された場合には、マスター鍵を用いて生成される暗号化タイミングに対応する更新前の第1復号鍵と第2復号鍵とを用いて暗号文を復号し、一致すると判断された場合には、更新後の第1復号鍵と第2復号鍵とを用いて暗号文を復号することを特徴とする。
以上説明したように、本発明によれば、過去の暗号文を復号可能とし、かつ、鍵の漏洩に対する安全性をより高めることができる。
〔通信システム〕
図1に示すように、通信システム1は、送信端末10と、受信端末20と、公開情報サーバ30と、外部補助装置40と、ネットワーク50とを備える。
通信システム1では、フォワードセキュア(Forward-Secure)暗号方式に従う第1公開鍵と、第1公開鍵に対応する第1復号鍵を用いる。フォワードセキュア暗号方式とは、一度生成した公開鍵を変更せずに固定したまま、復号鍵だけを更新していく暗号方式である。復号鍵は、短い間隔で更新できる。以下、例えば、復号鍵の更新間隔を1日とし、N日間利用する場合を例にとって説明する。この場合、復号鍵はN−1回更新される。
更に、通信システム1では、第1公開鍵とは異なる第2公開鍵と、第2公開鍵に対応する第2復号鍵を用いる。第1公開鍵、第2公開鍵により暗号化された暗号文はそれぞれ、第1復号鍵、第2復号鍵で復号できる。
以下、フォワードセキュア暗号方式を「FSE」と表す。FSEに従う第1公開鍵を「FSE公開鍵」、第1復号鍵を「FSE復号鍵」と表す。また、第2公開鍵及び第2復号鍵の生成に用いられる公開鍵暗号方式を「PKE」と表す。PKEに従う第2公開鍵を「PKE公開鍵」、第2復号鍵を「PKE復号鍵」と表す。PKE公開鍵は、FSE公開鍵と異なる任意の公開鍵である。
送信端末10は、平文を暗号化し、暗号文を生成する暗号化装置である。送信端末10は、生成した暗号文を受信端末20に送信する。受信端末20は、暗号文を復号し、平文を生成する復号装置である。受信端末20は、送信端末10から暗号文を受信する。
通信システム1では、ある時間において、ある受信端末20に情報を送信できる送信端末10は、1≦k≦m(k、mは自然数。kは送信端末数)だけ存在できる。図1では、受信端末20に対する送信端末10が複数存在する場合を例にとって説明する。又、1つの装置が送信端末10(暗号化装置)としての機能と、受信端末20(復号装置)としての機能の両方を備えてもよい。
公開情報サーバ30は、受信端末20が送信端末10のような他の装置に公開する公開情報を記憶する。公開情報サーバ30は、公開情報を送信端末10に提供する。公開情報サーバ30は、受信端末20だけでなく、送信端末10などの受信端末20以外の装置がアクセス可能である。公開情報には、受信端末20のFSE公開鍵やPKE公開鍵などが含まれる。
送信端末10と、受信端末20と、公開情報サーバ30とは、ネットワーク50を介して接続する。
外部補助装置40は、受信端末20の外部にあり、受信端末20の復号を補助する装置である。外部補助装置40は、受信端末20とだけ接続する。具体的には、外部補助装置40は、ネットワーク50に接続せずに受信端末20とだけ接続し、ネットワーク50から隔離されている。外部補助装置40は、受信端末20の利用者によって管理される。
次に、受信端末20、送信端末10、外部補助装置40、公開情報サーバ30について詳細に説明する。
受信端末20は、図2に示すように、生成部21と、更新部22と、復号部23と、記憶部24と、通信部25と、出力部26と、判断部27と、復元部28とを備える。
通信部25は、外部補助装置40や送信端末10、公開情報サーバ30と、データを送受信する。
生成部21は、まず、FSE公開鍵ekと、最初のFSE復号鍵(以下、「初期FSE復号鍵」という)dk0を生成する。生成部21は、例えば、N組の公開鍵(eki1≦i≦Nと秘密鍵(di1≦i≦Nのペアを生成できる。生成部21は、生成したN個の公開鍵を用いて、FSE公開鍵ek=(eki1≦i≦Nを生成できる。生成部21は、生成したN個の秘密鍵を用いて、初期FSE復号鍵dk0=(di1≦i≦Nを生成できる。更に、生成部21は、生成した初期FSE復号鍵を、マスター鍵dk0=(di1≦i≦とできる。iは時間を表す。マスター鍵dk0は、更新前のFSE復号鍵の生成に用いる鍵である。より具体的には、マスター鍵dk0は、更新前の第1復号鍵の生成に用いられる鍵復元情報δの生成に用いる鍵である。
更に、生成部21は、FSE公開鍵ekと初期FSE復号鍵dk0とは異なる任意のPKE公開鍵pkとPKE復号鍵skを生成する。生成部21は、FSE公開鍵ek、秘密鍵を、例えば、RSA暗号、ElGamal暗号などを用いて生成できる。生成部21は、PKE公開鍵pk、PKE復号鍵skを、例えば、RSA暗号、ElGamal暗号などを用いて生成できる。尚、鍵の生成方法は限定されず、その種類も限定されない。例えば、FSE公開鍵、秘密鍵は、上記したような鍵のペアを多数用いるものに限定されない。
生成部21は、FSE公開鍵ekとPKE公開鍵pkを、公開情報{ek,pk}として公開情報サーバ30に提供する。生成部21は、受信端末20の識別情報Uに公開情報{ek,pk}を対応付けて、通信部25を介して公開情報サーバ30に提供する。このように公開情報{ek,pk}を公開情報サーバ30に提供し、公開情報サーバ30に登録することにより、受信端末20は、送信端末10などに公開情報{ek,pk}を公開する。識別情報Uは、受信端末20に付与された固有の情報である。識別情報Uには、例えば、電子メールアドレス、電話番号、ユーザIDなどがある。
更に、生成部21は、初期FSE復号鍵dk0とPKE復号鍵skを、初期復号鍵sk0={dk0,sk}として記憶部24に格納する。
また、生成部21は、初期FSE復号鍵dk0をマスター鍵dk0として外部補助装置40に通信部25を介して提供する。このようにして、生成部21は、マスター鍵dk0を外部補助装置40に格納し、記憶部24には格納しない。
このようにして生成部21がマスター鍵を生成することにより、初期FSE復号鍵をマスター鍵として用い、更新前の第1復号鍵を適切に生成できる。更に、受信端末20は、マスター鍵dk0を、ネットワーク50から隔離された外部補助装置40に格納しておくことができる。そのため、マスター鍵dk0の漏洩を防止でき、安全性をより向上できる。
記憶部24は、現在のFSE復号鍵dk、PKE復号鍵sk、受信者の識別情報U、受信した暗号文などを記憶する。記憶部24は、現在のFSE復号鍵dkを、その更新タイミングと対応付けて記憶する。初期状態では、記憶部24は初期復号鍵sk0={dk0,sk}を記憶する。記憶部24は、マスター鍵dk0は記憶しない。
更新部22は、FSE復号鍵dkの更新を行う。更新部22は、更新直前の現在のFSE復号鍵を用いてFSE復号鍵の更新を行う。例えば、更新部22は、更新タイミングj+1において、更新前の現在のFSE復号鍵dkj-1を用いて新しいFSE復号鍵dkjを生成し、FSE復号鍵を更新する。更新タイミングj+1では、j回目の更新が行われる。
具体的には、更新部22は、記憶部24から更新前の現在のFSE復号鍵、即ち、時間jのFSE復号鍵dkj-1を取得する。更新部22は、例えば、FSE復号鍵dkj-1={(dij≦i≦N}に含まれる秘密鍵の中から秘密鍵djを削除し、更新タイミングj+1における新たなFSE復号鍵dkj={(dij+1≦i≦N}を生成できる。
更新部22は、更新タイミングj+1において、新たに生成した更新後のFSE復号鍵dkjを、更新タイミングj+1と対応付けて記憶部24に格納する。更に、更新部22は、記憶部24に格納されている更新前の時間jのFSE復号鍵dkj-1を消去する。このようにして、記憶部24には最新のFSE復号鍵のみが格納される。
判断部27は、平文をFSE公開鍵及び時間と、PKE公開鍵とを用いて暗号化した暗号文の暗号化タイミングと、FSE復号鍵の更新タイミングとが一致するか否かを判断する。判断部27は、暗号文を復号するときに、その暗号文の暗号化タイミングと、現在のFSE復号鍵の更新タイミングとが一致するか否かを判断する。
通信部25は、送信端末10から受信した暗号文を記憶部24に格納する。判断部27は、記憶部24から暗号文を取得する。例えば、取得した暗号文に、暗号化に用いられたFSE公開鍵や暗号化タイミングなどの暗号化情報が対応付けられている場合には、判断部27は、その暗号化情報から暗号化タイミングを判断できる。また、判断部27は、FSE公開鍵と暗号化タイミングを用いて暗号化されている暗号文そのものから、暗号化タイミングを判断することもできる。
判断部27は、記憶部24を参照し、記憶部24に格納されているFSE復号鍵の更新タイミングを判断する。記憶部24には、最新のFSE復号鍵のみが格納されているため、判断部27は、最新の更新タイミングを認識できる。
判断部27は、暗号化タイミングと更新タイミングとを比較し、その比較結果を復号部23に入力する。判断部27は、更新タイミングと暗号化タイミングとが一致する場合には、一致するという結果と暗号文とを入力する。判断部27は、更新タイミングと暗号化タイミングとが一致しない場合には、一致しないという結果と、暗号化タイミングと、暗号文とを入力する。例えば、受信端末20が過去に受信した暗号文を復号する場合や、何らかの理由で受信端末20が遅れて受信した暗号文などは、暗号化タイミングが更新タイミングよりも前である場合がある。
復号部23は、判断部27による判断結果に基づいて暗号文を復号する。復号部23は、判断部27により一致しないと判断された場合には、マスター鍵を用いて生成される暗号化タイミングに対応する更新前のFSE復号鍵(第1復号鍵)と、PKE復号鍵(第2復号鍵)とを用いて暗号文を復号する。復号部23は、判断部27により一致すると判断された場合には、更新後のFSE復号鍵とPKE復号鍵とを用いて暗号文を復号する。
以下、暗号化タイミングと更新タイミングとが一致しない場合として、更新タイミングがj+1、暗号化タイミングがjであり、現在の更新後のFSE復号鍵がdkj={(dij+1≦i≦N}である場合を例にとって説明する。
復号部23は、判断部27から、一致しないという結果と、暗号化タイミングjと、暗号文とを取得する。復号部23は、マスター鍵を用いた暗号化タイミングjに対応する鍵復元情報δj-1の生成を、暗号化タイミングjを指定して外部補助装置40に通信部25を介して要求する。鍵復元情報δj-1は、マスター鍵dk0を用いて生成され、更新前のFSE復号鍵dkj-1の生成に用いられる情報である。
復号部23は、暗号化タイミングjに対応する鍵復元情報δj-1={(dij≦i≦N}を、外部補助装置40から取得する。復号部23は、暗号化タイミングjに対応する鍵復元情報δj-1={(dij≦i≦N}を用いて、暗号化タイミングjにおける更新前の過去のFSE復号鍵dkj-1={(dij≦i≦N}を生成する。具体的には、復号部23は、dkjを消去し、dkj-1=δj-1として、更新前のFSE復号鍵dkj-1を復元できる。このようにして、更新前のFSE復号鍵は、マスター鍵dk0を用いて生成される暗号化タイミングに対応する鍵復元情報を用いることにより、マスター鍵を用いて生成できる。
そして、復号部23は、記憶部24からPKE復号鍵skを取得する。復号部23は、更新前の過去の復号鍵として{dkj-1,sk}を生成する。復号部23は、生成した{dkj-1,sk}を用いて、即ち、更新前の暗号化タイミングjにおけるFSE復号鍵dkj-1と、PKE復号鍵skとを用いて、暗号化タイミングjの暗号文を復号して平文mを生成する。具体的には、復号部23は、FSE復号鍵dkj-1に含まれる秘密鍵djを用いて復号を行う。
このように復号部23は、マスター鍵により生成される、暗号化タイミングに対応する鍵復元情報を用いて、更新前のFSE復号鍵を生成することができる。そのため、暗号化タイミングに対応する鍵復元情報を生成するだけで、更新前のFSE復号鍵を生成できる。
しかも、受信端末20は、外部補助装置40にマスター鍵を格納しておき、過去のFSE復号鍵が必要になったときに、外部補助装置40にマスター鍵を用いた鍵復元情報の生成を要求し、外部補助装置40から鍵復元情報を取得するだけで、更新前のFSE復号鍵を生成できる。そのため、受信端末20自身がマスター鍵を保持したり、鍵復元情報を生成したりする必要がない。その結果、より安全性を高めることができ、受信端末20の負荷も軽減できる。
次に、暗号化タイミングと更新タイミングとが一致する場合として、更新タイミングがj+1、暗号化タイミングがj+1の場合を例にとって説明する。
復号部23は、判断部27から、一致するという結果と暗号文とを取得する。復号部23は、記憶部24から、現在の更新後のFSE復号鍵dkj={(dij+1≦i≦N}とPKE復号鍵sk、即ち、現在の復号鍵{dkj,sk}を取得する。復号部23は、取得した更新後のFSE復号鍵dkjと、PKE復号鍵skとを用いて、暗号化タイミングj+1の暗号文を復号して平文mを生成する。具体的には、復号部23は、FSE復号鍵dkjに含まれる秘密鍵dj+1を用いて復号を行う。
復号部23は、FSE復号鍵を用いて復号を行うときは、FSE公開鍵及び初期FSE復号鍵の生成に用いた公開暗号方式に従った復号を行う復号アルゴリズム(以下「FSE復号アルゴリズム」という)を用いて復号を行う。復号部23は、PKE復号鍵を用いて復号を行うときは、PKE公開鍵及びPKE復号鍵の生成に用いた公開暗号方式に従った復号を行う復号アルゴリズム(以下「PKE復号アルゴリズム」という)を用いて復号を行う。
復号部23は、暗号文を復号して生成した平文を出力部26に出力する。また、復号部23は、第1暗号文と第2暗号文を含む暗号文を復号した場合には、第1暗号文を復号して得られた第1平文と、第2暗号文を復号して得られた第2平文を、復元部28に入力する。
復元部28は、復元部23から第1平文と第2平文を取得する。復元部28は、取得した第1平文と第2平文から平文を復元する。復元部28は、復元した平文を出力部26に出力する。
送信端末10は、図2に示すように、暗号化部11と、記憶部12と、入力部13と、通信部14と、分割部15とを備える。
通信部14は、受信端末20、公開情報サーバ30と、データを送受信する。記憶部12は、受信端末20の識別情報Uや、受信端末20に送信するデータなどを記憶する。入力部13は、送信端末10の利用者から受信端末20に送信するデータの入力を受け、暗号化部11にデータを入力する。
暗号化部11は、更新され、暗号化タイミングと更新タイミングに応じて、更新後の復号鍵と、マスター鍵を用いて生成される暗号化タイミングに対応する更新前の復号鍵とが使い分けられるFSE復号鍵(第1復号鍵)に対応するFSE公開鍵(第1公開鍵)及び時間と、PKE復号鍵(第2復号鍵)と対応するPKE公開鍵(第2公開鍵)とを用いて平文を暗号化し、暗号文を生成する。
暗号化部11は、受信端末20に送信する平文のデータを、受信端末20のFSE公開鍵ek及びPKE公開鍵pkを用いて暗号化する。暗号化部11は、記憶部12や入力部13から、平文のデータと受信端末20の識別情報Uを取得する。
暗号化部11は、受信端末20の識別情報Uを指定して受信端末20のFSE公開鍵ekとPKE公開鍵pk、即ち、公開情報{ek,pk}を、通信部14を介して公開情報サーバ30に要求する。そして、暗号化部11は、受信端末20の公開情報{ek,pk}を通信部14を介して公開情報サーバ30から取得する。暗号化部11は、平文を暗号化して生成した暗号文を通信部14に入力する。そして、通信部14が暗号文を受信端末20に送信する。
暗号化部11は、FSE公開鍵ekを用いるときは、時間も用いて暗号化を行う。例えば、暗号化タイミングj+1において暗号化を行う場合、暗号化部11は、暗号化タイミングj+1に基づいて、FSE公開鍵ek=(eki1≦i≦Nに含まれる公開鍵ekj+1を用いて暗号化を行うことができる。暗号化部11は、必要に応じて、暗号に用いたFSE公開鍵の公開鍵ekj+1や暗号化タイミングj+1などの暗号化情報を暗号文に付加し、通信部14に入力する。
また、暗号化部11は、FSE公開鍵を用いて暗号化を行うときは、FSE公開鍵及び初期FSE復号鍵の生成に用いた公開暗号方式に従った暗号化を行う暗号化アルゴリズム(以下「FSE暗号化アルゴリズム」という)を用いて暗号化を行う。暗号化部11は、PKE公開鍵を用いて復号を行うときは、PKE公開鍵及びPKE復号鍵の生成に用いた公開暗号方式に従った暗号化を行う暗号化アルゴリズム(以下「PKE暗号化アルゴリズム」という)を用いて暗号化を行う。
また、暗号化部11は、平文を分割して暗号化を行う場合、平文のデータを分割部15に入力し、平文の分割を要求する。分割部15は、暗号化部11から平文を取得する。分割部15は、取得した平文のデータを、第1平文と第2平文とに分割する。分割部15は、分割した第1平文と第2平文を暗号化部11に入力する。
次に、送信端末10の暗号化部11が行う暗号化方法と、それに対応すると受信端末20の復号部23が行う復号方法について詳細に説明する。
(第1方法)
まず、分割部15が、暗号化部11からの要求を受けて、平文mを第1平文m1と第2平文m2とに分割する。分割部15は秘密分散法などを用いて平文mを分割できる。
暗号化部11は、第1平文m1を、FSE公開鍵ekと時間により暗号化して第1暗号文c1を生成する。例えば、暗号化部11は、暗号化タイミングj+1において暗号化を行う場合、FSE暗号化アルゴリズムに、暗号化タイミングj+1、FSE公開鍵ek、第1平文m1を入力して計算することにより、ekj+1を用いて第1平文m1を暗号化し、第1暗号文c1を生成できる。
更に、暗号化部11は、第2平文m2を、PKE公開鍵pkにより暗号化して第2暗号文c2を生成する。例えば、暗号化部11は、PKE暗号化アルゴリズムに、PKE公開鍵pk、第2平文m2を入力して計算することにより暗号化し、第2暗号文c2を生成できる。
そして、暗号化部11は、第1暗号文c1と第2暗号文c2を含む暗号文c={c1,c2}を生成する。通信部14が、暗号文c={c1,c2}を受信端末20に送信する。
この場合、通信部25は、第1暗号文c1と第2暗号文c2を含む暗号文c={c1,c2}を受信する。
復号部23は、第1暗号文c1を、暗号化タイミングに対応するFSE復号鍵dkにより復号して第1平文m1を生成する。即ち、復号部23は、暗号化タイミングと更新タイミングが一致する場合には、現在の更新後のFSE復号鍵を用いて、第1暗号文c1を復号する。一方、復号部23は、暗号化タイミングと更新タイミングが一致しない場合には、マスター鍵を用いて生成される過去の更新前のFSE復号鍵を用いて、第1暗号文c1を復号する。
例えば、復号部23は、暗号化タイミングj+1において暗号化された第1暗号文c1を復号する場合、FSE復号アルゴリズムに、暗号化タイミングj+1、FSE復号鍵dkj、第1暗号文c1を入力して計算することにより、FSE復号鍵dkjに含まれる秘密鍵dj+1を用いて第1暗号文c1を復号し、第1平文m1を生成できる。
更に、復号部23は、第2暗号文c2を、PKE復号鍵skにより復号して第2平文m2を生成する。例えば、復号部23は、PKE復号アルゴリズムに、PKE復号鍵sk、第2暗号文c2を入力して計算することにより復号し、第2平文m2を生成できる。
復号部23は、生成した第1平文m1と第2平文m2を、復元部28に入力する。復元部28は、第1平文m1と第2平文m2を結合し、平文mを復元する。例えば、復元部28は、平文mの分割に用いた秘密分散法により、第1平文m1と第2平文m2とから平文mを復元できる。
(第2方法)
暗号化部11は、平文mを、FSE公開鍵ekと時間により暗号化して1次暗号文c’を生成する。例えば、暗号化部11は、暗号化タイミングj+1において暗号化を行う場合、FSE暗号化アルゴリズムに、暗号化タイミングj+1、FSE公開鍵ek、平文mを入力して計算することにより、ekj+1を用いてmを暗号化し、1次暗号文c’を生成できる。
次に、暗号化部11は、生成した1次暗号文c’をPKE公開鍵pkにより暗号化し、受信端末20に送信する暗号文として2次暗号文c’’を生成する。例えば、暗号化部11は、PKE暗号化アルゴリズムに、PKE公開鍵pk、1次暗号文c’を入力して計算することにより暗号化し、2次暗号文c’’を生成できる。そして、通信部14が、2次暗号文c’’を受信端末20に暗号文として送信する。
この場合、通信部25は、2次暗号文c’’を暗号文として受信する。復号部23は、2次暗号文c’’をPKE復号鍵skにより復号して1次暗号文c’を生成する。例えば、復号部23は、PKE復号アルゴリズムに、PKE復号鍵sk、2次暗号文c’’を入力して計算することにより復号し、1次暗号文c’を生成できる。
次に、復号部23は、生成した1次暗号文c’を、暗号化タイミングに対応するFSE復号鍵dkにより復号して平文mを生成する。即ち、復号部23は、暗号化タイミングと更新タイミングが一致する場合には、現在の更新後のFSE復号鍵を用いて、1次暗号文c’を復号する。一方、復号部23は、暗号化タイミングと更新タイミングが一致しない場合には、マスター鍵を用いて生成される過去の更新前のFSE復号鍵を用いて、1次暗号文c’を復号する。
例えば、復号部23は、暗号化タイミングj+1において暗号化された1次暗号文c’を復号する場合、FSE復号アルゴリズムに、暗号化タイミングj+1、FSE復号鍵dkj、1次暗号文c’を入力して計算することにより、FSE復号鍵dkjに含まれる秘密鍵dj+1を用いて1次暗号文c’を復号し、平文mを生成できる。
(第3方法)
暗号化部11は、平文mを、PKE公開鍵pkにより暗号化して1次暗号文c’を生成する。例えば、暗号化部11は、PKE暗号化アルゴリズムに、PKE公開鍵pk、平文mを入力して計算することにより暗号化し、1次暗号文c’を生成できる。
次に、暗号化部11は、生成した1次暗号文c’をFSE公開鍵ek及び時間により暗号化し、受信端末20に送信する暗号文として2次暗号文c’’を生成する。例えば、暗号化部11は、暗号化タイミングj+1において暗号化を行う場合、FSE暗号化アルゴリズムに、暗号化タイミングj+1、FSE公開鍵ek、1次暗号文c’を入力して計算することにより、ekj+1を用いて1次暗号文c’を暗号化し、2次暗号文c’’を生成できる。そして、通信部14が、2次暗号文c’’を受信端末20に暗号文として送信する。
この場合、通信部25は、2次暗号文c’’を暗号文として受信する。復号部23は、2次暗号文c’’を、暗号化タイミングに対応するFSE復号鍵dkにより復号して1次暗号文c’を生成する。即ち、復号部23は、暗号化タイミングと更新タイミングが一致する場合には、現在の更新後のFSE復号鍵を用いて、2次暗号文c’’を復号する。一方、復号部23は、暗号化タイミングと更新タイミングが一致しない場合には、マスター鍵を用いて生成される過去の更新前のFSE復号鍵を用いて、2次暗号文c’’を復号する。
例えば、復号部23は、暗号化タイミングj+1において暗号化された2次暗号文c’’を復号する場合、FSE復号アルゴリズムに、暗号化タイミングj+1、FSE復号鍵dkj、2次暗号文c’’を入力して計算することにより、FSE復号鍵dkjに含まれる秘密鍵dj+1を用いて2次暗号文c’’を復号し、1次暗号文c’を生成できる。
次に、復号部23は、生成した1次暗号文c’を、PKE復号鍵skにより復号して平文mを生成する。例えば、復号部23は、PKE復号アルゴリズムに、PKE復号鍵sk、1次暗号文c’を入力して計算することにより復号し、平文mを生成できる。
外部補助装置40は、図2に示すように、復元情報生成部41と、記憶部42と、通信部43とを備える。記憶部42は、受信端末20の初期FSE復号鍵をマスター鍵dkoとして記憶する。通信部43は、受信端末20とデータを送受信する。
復元情報生成部41は、マスター鍵dkoを用いて、更新前のFSE復号鍵の生成に用いられる暗号化タイミングに対応する鍵復元情報δを生成し、受信端末20に提供する。
最初に、復元情報生成部41は、マスター鍵dkoを受信端末20から通信部43を介して取得する。復元情報生成部41は、取得したマスター鍵dkoを記憶部42に格納しておく。
その後、復元情報生成部41は、暗号化タイミングが指定された鍵復元情報δの生成の要求を、通信部43を介して受信端末20から取得する。復元情報生成部41は、記憶部42からマスター鍵dkoを取得する。復元情報生成部41は、取得したマスター鍵dkoを用いて、指定された暗号化タイミングの鍵復元情報δを生成する。
例えば、暗号化タイミングjを指定された場合、復元情報生成部41は、暗号化タイミングjに対応する、更新前のFSE復号鍵dkj-1の生成に用いられる鍵復元情報δj-1を生成する。復元情報生成部41は、例えば、暗号化タイミングjとマスターdko=(di1≦i≦Nとを用いて、暗号化タイミングjに対応する鍵復元情報δj-1={(dij≦i≦Nを生成できる。復元情報生成部41は、生成した鍵復元情報δを通信部43を介して受信端末20に提供する。
このように、外部補助装置40は、受信端末20の初期FSE復号鍵であるマスター鍵dkoを保持することにより、マスター鍵を用いて鍵復元情報δを適切に生成できる。しかも、受信端末20自身がマスター鍵を保持したり、鍵復元情報を生成したりする必要がないため、マスター鍵の漏洩を防止して安全性をより高めることができ、受信端末20の負荷も軽減できる。
公開情報サーバ30は、制御部31と、公開情報データベース32と、通信部33とを備える。公開情報データベース32は、公開情報{ek,pk}などを、受信端末20の識別情報Uに対応付けて記憶する。通信部33は、ネットワーク50を介して受信端末20や送信端末10とデータを送受信する。
制御部31は、受信端末20の識別情報Uに対応付けられた公開情報{ek,pk}を、通信部33を介して受信端末20から取得する。制御部31は、取得した公開情報{ek,pk}を、識別情報Uに対応付けて公開情報データベース32に格納する。
制御部31は、識別情報Uを指定した公開情報{ek,pk}の要求を通信部33を介して送信端末10から取得する。制御部31は、識別情報Uに基づいて、公開情報データベース32から識別情報Uの受信端末20の公開情報{ek,pk}を取得する。制御部31は、送信端末10に取得した公開情報{ek,pk}を通信部33を介して提供する。
〔通信方法〕
次に、図1に示した通信システム1における通信方法について、図3〜9を用いて説明する。まず、図3を用いて、暗号化通信を開始するための開始処理手順の一例を説明する。
まず、受信端末20は、FSE公開鍵ek=(ekj1≦j≦N、初期FSE復号鍵dk0=(dj1≦j≦Nを生成する。受信端末20は、初期FSE復号鍵をマスター鍵dk0=(dj1≦j≦Nとし、マスター鍵を生成する(S101)。更に、受信端末20は、PKE公開鍵pk、PKE復号鍵skを生成する(S102)。
受信端末20は、生成した公開情報{ek,pk}を公開情報サーバ30に提供する(S103)。公開情報サーバ30は、受信端末20から取得した公開情報{ek,pk}を、公開情報データベース32に格納する(S104)。これにより、受信端末20の公開情報が公開情報データベース32に登録され、公開情報が送信端末10などに公開される。
更に、受信端末20は、初期FSE復号鍵dk0=(di1≦i≦NとPKE復号鍵skを、初期復号鍵sk0={dk0,sk}として記憶部24に格納する(S105)。また、受信端末20は、マスター鍵dk0=(di1≦i≦Nを外部補助装置40に提供する(S106)。外部補助装置40は、受信端末20から取得したマスター鍵dk0を記憶部42に格納する(S107)。
次に、図4を用いて、第1方法による暗号化手順とFSE復号鍵の更新手順の一例を説明する。送信端末10は、暗号化タイミングjにおいて、受信端末20の公開情報{ek,pk}を公開情報サーバ30に要求する(S201)。公開情報サーバ30は、要求された受信端末20の公開情報{ek,pk}を送信端末10に提供する(S202)。
送信端末10は、平文mを秘密分散法を用いて第1平文m1と第2平文m2に分割する(S203)。送信端末10は、取得した公開情報{ek,pk}に含まれるFSE公開鍵ekと、暗号化タイミングjとを用いて、第1平文m1を暗号化して第1暗号文c1を生成する(S204)。送信端末10は、取得した公開情報{ek,pk}に含まれるPKE公開鍵pkを用いて、第2平文m2を暗号化して第2暗号文c2を生成する(S205)。送信端末20は、第1暗号文c1と第2暗号文c2を含む暗号文c={c1,c2}を受信端末20に送信する(S206)。受信端末20は、受信した暗号文cを記憶部24に格納する。
その後、受信端末20は、更新タイミングj+1になると、記憶部24から更新前の現在のFSE復号鍵dkj-1を取得する。受信端末20は、更新前のFSE復号鍵dkj-1を用い、新たなFSE復号鍵dkj={(dij+1≦i≦N}を生成し、FSE復号鍵を更新する(S207)。受信端末20は、新たに生成した更新後のFSE復号鍵dkjを、更新タイミングj+1と対応付けて記憶部24に格納する。更に、受信端末20は、記憶部24に格納されている更新前のFSE復号鍵dkj-1を消去する(S208)。
次に、図5を用いて第1方法による復号手順の一例を説明する。まず、受信端末20は、暗号文を復号するときに、その暗号文の暗号化タイミングと、現在のFSE復号鍵の更新タイミングとが一致するか否かを判断する(S301)。
例えば、暗号化タイミングがj+1であり、更新タイミングもj+1であり、両者が一致している場合(暗号化タイミング=更新タイミング)には、受信端末20は、更新後の現在のFSE復号鍵dkjとPKE復号鍵skを含む復号鍵{dkj,sk}を用いて復号を行う。
具体的には、受信端末20は、受信した暗号文c={c1,c2}に含まれる暗号化タイミングj+1の第1暗号文c1を、更新後のFSE復号鍵dkj、即ち、更新タイミングj+1におけるFSE復号鍵dkjにより復号して第1平文m1を生成する(S302)。更に、受信端末20は、暗号文c={c1,c2}に含まれる第2暗号文c2を、PKE復号鍵skにより復号して第2平文m2を生成する(S302)。受信端末20は、生成した第1平文m1と第2平文m2から平文mを、分割に用いた秘密分散法により復元する(S303)。
一方、ステップ(S301)において、例えば、図4の場合のように、暗号化タイミングがj、更新タイミングがj+1であり、両者が一致しない場合には(暗号化タイミング≠更新タイミング)、受信端末20は、過去の暗号化タイミングjに対応する鍵復元情報δj-1の生成を外部補助装置40に要求する(S305)。
外部補助装置40は、記憶部42に格納されたマスター鍵dk0と、指定された暗号化タイミングjとを用いて、暗号化タイミングjに対応する鍵復元情報δj-1を生成する(S306)。外部補助装置40は、生成した鍵復元情報δj-1を受信端末20に提供する(S307)。
受信端末20は、外部補助装置40から取得した暗号化タイミングjに対応する鍵復元情報δj-1を用いて、更新前の過去のFSE復号鍵である暗号化タイミングjにおけるFSE復号鍵dkj-1={(dij≦i≦N}を生成する(S308)。
受信端末20は、復元した更新前のFSE復号鍵dkj-1とPKE復号鍵skを含む復号鍵{dkj-1,sk}を用いて復号を行う。具体的には、受信端末20は、受信した暗号文c={c1,c2}に含まれる暗号化タイミングjの第1暗号文c1を、更新前のFSE復号鍵dkj-1、即ち、更新タイミングjにおけるFSE復号鍵dkj-1により復号して第1平文m1を生成する(S309)。更に、受信端末20は、暗号文c={c1,c2}に含まれる第2暗号文c2を、PKE復号鍵skにより復号して第2平文m2を生成する(S310)。受信端末20は、生成した第1平文m1と第2平文m2から平文mを、分割に用いた秘密分散法により復元する(S311)。
次に、図6を用いて、第2方法による暗号化手順とFSE復号鍵の更新手順の一例を説明する。送信端末10は、暗号化タイミングjにおいて、図4に示したステップ(S201)、(S202)と同様のステップ(S401)、(S402)を行う。
次に、送信端末10は、取得した公開情報{ek,pk}に含まれるFSE公開鍵ekと、暗号化タイミングjとを用いて平文mを暗号化し、1次暗号文c’を生成する(S403)。送信端末10は、取得した公開情報{ek,pk}に含まれるPKE公開鍵pkを用いて、生成した1次暗号文c’を暗号化して2次暗号文c’’を生成する(S404)。送信端末20は、2次暗号文c’’を受信端末20に送信する(S405)。受信端末20は、受信した暗号文cを記憶部24に格納する。
その後、受信端末20は、更新タイミングj+1になると、図4に示したステップ(S207)、(S208)と同様のステップ(S406)、(S407)を行う。
次に、図7を用いて第2方法による復号手順の一例を説明する。まず、受信端末20は、暗号文の暗号化タイミングと、現在のFSE復号鍵の更新タイミングとが一致するか否かを判断する(S501)。
例えば、暗号化タイミングがj+1であり、更新タイミングもj+1であり、両者が一致している場合(暗号化タイミング=更新タイミング)には、受信端末20は、更新後の現在のFSE復号鍵dkjとPKE復号鍵skを含む復号鍵{dkj,sk}を用いて復号を行う。
具体的には、受信端末20は、受信した2次暗号文c’’を、PKE復号鍵skにより復号して1次暗号文c’を生成する(S502)。受信端末20は、生成した暗号化タイミング時間j+1における1次暗号文c’を、更新後のFSE復号鍵dkj、即ち、更新タイミングj+1におけるFSE復号鍵dkjにより復号して平文mを生成する(S503)。
一方、ステップ(S501)において、例えば、図6の場合のように、暗号化タイミングがj、更新タイミングがj+1であり、両者が一致しない場合には(暗号化タイミング≠更新タイミング)、図5に示したステップ(S305)〜(S308)と同様のステップ(S504)〜(S507)を行う。
次に、受信端末20は、復元した更新前のFSE復号鍵dkj-1とPKE復号鍵skを含む復号鍵{dkj-1,sk}を用いて復号を行う。具体的には、受信端末20は、受信した2次暗号文c’’を、PKE復号鍵skにより復号して1次暗号文c’を生成する(S508)。受信端末20は、生成した暗号化タイミング時間jにおける1次暗号文c’を、更新前のFSE復号鍵dkj-1、即ち、更新タイミングjにおけるFSE復号鍵dkj-1により復号して平文mを生成する(S509)。
次に、図8を用いて、第3方法による暗号化手順とFSE復号鍵の更新手順の一例を説明する。送信端末10は、暗号化タイミングjにおいて、図4に示したステップ(S201)、(S202)と同様のステップ(S601)、(S602)を行う。
次に、送信端末10は、取得した公開情報{ek,pk}に含まれるPKE公開鍵pkを用いて平文mを暗号化し、1次暗号文c’を生成する(S603)。送信端末10は、取得した公開情報{ek,pk}に含まれるFSE公開鍵ekと暗号化タイミングjとを用いて、生成した1次暗号文c’を暗号化して2次暗号文c’’を生成する(S604)。送信端末20は、2次暗号文c’’を受信端末20に送信する(S605)。受信端末20は、受信した暗号文cを記憶部24に格納する。
その後、受信端末20は、更新タイミングj+1になると、図4に示したステップ(S207)、(S208)と同様のステップ(S606)、(S607)を行う。
次に、図9を用いて第3方法による復号手順の一例を説明する。まず、受信端末20は、暗号文の暗号化タイミングと、現在のFSE復号鍵の更新タイミングとが一致するか否かを判断する(S701)。
例えば、暗号化タイミングがj+1であり、更新タイミングもj+1であり、両者が一致している場合(暗号化タイミング=更新タイミング)には、受信端末20は、更新後の現在のFSE復号鍵dkjとPKE復号鍵skを含む復号鍵{dkj,sk}を用いて復号を行う。
具体的には、受信端末20は、受信した暗号化タイミング時間j+12次暗号文c’’を、更新後のFSE復号鍵dkj、即ち、更新タイミングj+1におけるFSE復号鍵dkjにより復号して1次暗号文c’を生成する(S702)。受信端末20は、生成した1次暗号文c’をPKE復号鍵skにより復号して平文mを生成する(S703)。
一方、ステップ(S701)において、例えば、図8の場合のように、暗号化タイミングがj、更新タイミングがj+1であり、両者が一致しない場合には(暗号化タイミング≠更新タイミング)、図5に示したステップ(S305)〜(S308)と同様のステップ(S704)〜(S707)を行う。
次に、受信端末20は、復元した更新前のFSE復号鍵dkj-1とPKE復号鍵skを含む復号鍵{dkj-1,sk}を用いて復号を行う。具体的には、受信端末20は、受信した暗号化タイミング時間jにおける1次暗号文c’を、更新前のFSE復号鍵dkj-1、即ち、更新タイミングjにおけるFSE復号鍵dkj-1により復号して1次暗号文c’を生成する(S708)。受信端末20は、生成した1次暗号文c’をPKE復号鍵skにより復号して平文mを生成する(S709)。
〔効果〕
このような通信システム1、受信端末20、送信端末10、外部補助装置40、及び、通信方法によれば、以下のような効果を得ることができる。
受信端末20は、暗号化が更新タイミングよりも前に行われたため、更新後の現在のFSE復号鍵では復号できない場合には、暗号化タイミングに対応する更新前のFSE復号鍵、即ち、過去のFSE復号鍵を用いて過去の暗号文を復号できる。一方、暗号化タイミングと更新タイミングが一致している場合には、受信端末20は、更新後の現在のFSE複合鍵を用いて暗号文を復号できる。よって、FSE復号鍵を更新してFSE復号鍵の漏洩に対する安全性を高めることができ、かつ、過去の暗号文を復号することができる。
このように、通信システム1では、公開鍵は変更せずに、復号鍵をその直前の復号鍵を用いて更新可能なフォワードセキュア暗号方式を用いる。そのため、ある時点のFSE復号鍵が漏洩したとしても、漏洩前の暗号文の安全性を保証できる。更に、通信システム1では、初期FSE復号鍵をマスター鍵として専用の外部補助装置40に格納しておき、過去のFSE復号鍵を復元する必要が生じたときには、外部補助装置40内部において、マスター鍵を用いて目的とする時点の鍵復元情報を生成できる。そして、外部補助装置40が受信端末20に生成した鍵復元情報を提供することで、受信端末20は過去のFSE復号鍵を復元できる。即ち、過去のFSE復号鍵を復元可能なフォワードセキュア暗号方式が実現できる。
しかも、受信端末20以外の第三者は、FSE復号鍵更新前に生成された暗号文を、更新後に復号することは不可能であり、FSE復号鍵が漏洩したとしてもそれ以前の安全性は維持される。よって、FSE復号鍵漏洩に対する安全性を維持しながら、受信端末20だけは過去に生成された暗号文も復号することができる。即ち、通信システム1、受信端末20、外部補助装置40及び通信方法によれば、フォワードセキュア暗号方式の安全性に関する性質を維持しながら、必要に応じて過去のFSE復号鍵を復元可能とできる。よって、例えば、過去の暗号文を再度復号することが要求されるアプリケーションにおいても、フォワードセキュア暗号方式を利用することができる。
また、このようにマスター鍵を用いて更新前のFSE復号鍵が生成される場合、マスター鍵が漏洩してしまうと、安全に暗号文を送受信できないおそれがある。しかし、通信システム1では、2組の公開鍵と復号鍵(FSE公開鍵とFSE復号鍵のペアと、PKE公開鍵とPKE復号鍵のペア)を用いて暗号化、復号を行う。そのため、不正解読者(受信端末20に対して送信するために生成された暗号文を不正に解読しようとする攻撃者)は、FSE復号鍵とPKE復号鍵の両方を揃えることができない限り、マスター鍵を入手したとしても暗号文を解読できない。よって、更新前のFSE復号鍵の生成に必要なマスター鍵が漏洩したとしても、暗号文の安全性を確保できる。従って、FSE復号鍵やマスター鍵などの鍵の漏洩に対する安全性をより高めることができる。
具体的には、マスター鍵が漏洩した場合でも、暗号文の安全性、つまり、平文の情報が1ビットたりとも漏洩していないことを数学的に証明することができる。そのため、送信端末10と受信端末20は、非常に高い安全性を確保して、暗号文の送受信を行うことができる。
〔変更例〕
本発明は、上記実施形態に限定されるものではなく、種々の変更が可能である。過去のFSE復号鍵の復元におけるマスター鍵の使用方法は限定されない。
例えば、外部補助装置40の復元情報生成部41が、受信端末20から現在の更新後のFSE復号鍵を取得する。復元情報生成部41は、マスター鍵を用いて鍵復元情報を生成する。そして、復元情報生成部41が、取得した更新後のFSE復号鍵と生成した鍵復元情報とを用いて、更新前のFSE復号鍵を生成し、受信端末20に提供してもよい。この場合、復号部23は、外部補助装置40から提供される更新前のFSE復号鍵を用いて復号できる。
あるいは、受信端末20の復号部23が、外部補助装置40からマスター鍵の複製を取得して、自ら鍵復元情報を生成し、更新前のFSE復号鍵を生成してもよい。そして、復号部23は、更新前のFSE復号鍵生成後に、取得したマスター鍵の複製を破棄し、受信端末20内に残さないようにできる。
本発明の実施の形態に係る通信システムを示す図である。 本発明の実施の形態に係る受信端末、送信端末、外部補助装置及び公開情報サーバの構成を示すブロック図である。 本発明の実施の形態に係る開始処理手順を示すシーケンス図である。 本発明の実施の形態に係る第1方法による暗号化手順とFSE復号鍵の更新手順を示すシーケンス図である。 本発明の実施の形態に係る第1方法による復号手順を示すシーケンス図である。 本発明の実施の形態に係る第2方法による暗号化手順とFSE復号鍵の更新手順を示すシーケンス図である。 本発明の実施の形態に係る第2方法による復号手順を示すシーケンス図である。 本発明の実施の形態に係る第3方法による暗号化手順とFSE復号鍵の更新手順を示すシーケンス図である。 本発明の実施の形態に係る第3方法による復号手順を示すシーケンス図である。
符号の説明
100…通信システム
10…送信端末
11…暗号化部
12…記憶部
13…入力部
14…通信部
15…分割部
20…受信端末
21…生成部
22…更新部
23…復号部
24…記憶部
25…通信部
26…出力部
27…判断部
28…復元部
30…公開情報サーバ
31…制御部
32…公開情報データベース
33…通信部
40…外部補助装置
41…復元情報生成部
42…記憶部
43…通信部
50…ネットワーク

Claims (12)

  1. 第1復号鍵の更新を行う更新部と、
    平文を前記第1復号鍵と対応する第1公開鍵及び時間と、第2復号鍵と対応する第2公開鍵とを用いて暗号化した暗号文の暗号化タイミングと、前記第1復号鍵の更新タイミングとが一致するか否かを判断する判断部と、
    該判断部により一致しないと判断された場合には、マスター鍵を用いて生成される前記暗号化タイミングに対応する更新前の前記第1復号鍵と前記第2復号鍵とを用いて前記暗号文を復号し、前記判断部により一致すると判断された場合には、更新後の前記第1復号鍵と前記第2復号鍵とを用いて前記暗号文を復号する復号部と
    を備えることを特徴とする復号装置。
  2. 前記暗号文は、第1暗号文と第2暗号文を含み、
    前記復号部は、前記第1暗号文を前記第1復号鍵により復号して第1平文を生成し、前記第2暗号文を前記第2復号鍵により復号して第2平文を生成し、
    前記第1平文と前記第2平文から前記平文を復元する復元部を備えることを特徴とする請求項1に記載の復号装置。
  3. 前記暗号文は、前記平文を前記第1公開鍵及び時間を用いて暗号化した1次暗号文を、前記第2公開鍵を用いて暗号化した2次暗号文であり、
    前記復号部は、前記2次暗号文を前記第2復号鍵により復号して前記1次暗号文を生成し、該1次暗号文を前記第1復号鍵により復号して前記平文を生成することを特徴とする請求項1に記載の復号装置。
  4. 前記暗号文は、前記平文を前記第2公開鍵を用いて暗号化した1次暗号文を、前記第1公開鍵及び時間を用いて暗号化した2次暗号文であり、
    前記復号部は、前記2次暗号文を前記第1復号鍵により復号して前記1次暗号文を生成し、該1次暗号文を前記第2復号鍵により復号して前記平文を生成することを特徴とする請求項1に記載の復号装置。
  5. 前記第1公開鍵及び最初の前記第1復号鍵を生成し、前記最初の第1復号鍵を前記マスター鍵として、復号を補助する外部補助装置に提供する生成部を備えることを特徴とする請求項1乃至4のいずれか1項に記載の復号装置。
  6. 前記更新前の第1復号鍵は、前記マスター鍵を用いて生成され、前記更新前の第1復号鍵の生成に用いられる前記暗号化タイミングに対応する鍵復元情報と、前記更新後の第1復号鍵とを用いて生成されることを特徴とする請求項1乃至5のいずれか1項に記載の復号装置。
  7. 更新され、暗号化タイミングと更新タイミングに応じて、更新後の復号鍵と、マスター鍵を用いて生成される暗号化タイミングに対応する更新前の復号鍵とが使い分けられる第1復号鍵に対応する第1公開鍵及び時間と、第2復号鍵と対応する第2公開鍵とを用いて平文を暗号化し、暗号文を生成する暗号化部を備えることを特徴とする暗号化装置。
  8. 前記平文を第1平文と第2平文とに分割する分割部を備え、
    前記暗号化部は、前記第1平文を前記第1公開鍵及び前記時間により暗号化して第1暗号文を生成し、前記第2平文を前記第2公開鍵により暗号化して第2暗号文を生成し、前記第1暗号文と前記第2暗号文を含む前記暗号文を生成することを特徴とする請求項7に記載の暗号化装置。
  9. 前記暗号化部は、前記平文を前記第1公開鍵及び前記時間により暗号化して1次暗号文を生成し、該1次暗号文を前記第2公開鍵により暗号化し、前記暗号文として2次暗号文を生成することを特徴とする請求項7に記載の暗号化装置。
  10. 前記暗号化部は、前記平文を前記第2公開鍵により暗号化して1次暗号文を生成し、該1次暗号文を前記第1公開鍵及び前記時間により暗号化し、前記暗号文として2次暗号文を生成することを特徴とする請求項7に記載の暗号化装置。
  11. 第1復号鍵に対応する第1公開鍵及び時間と、第2復号鍵に対応する第2公開鍵とを用いて平文を暗号化して暗号文を生成する暗号化装置と、
    前記第1復号鍵の更新を行い、前記暗号文の暗号化タイミングと、前記第1復号鍵の更新タイミングとが一致するか否かを判断し、一致しないと判断された場合には、マスター鍵を用いて生成される前記暗号化タイミングに対応する更新前の前記第1復号鍵と前記第2復号鍵とを用いて前記暗号文を復号し、一致すると判断された場合には、更新後の前記第1復号鍵と前記第2復号鍵とを用いて前記暗号文を復号する復号装置と
    を備えることを特徴とする通信システム。
  12. 第1復号鍵に対応する第1公開鍵及び時間と、第2復号鍵に対応する第2公開鍵とを用いて平文を暗号化して暗号文を生成し、
    前記第1復号鍵の更新を行い、
    前記暗号文の暗号化タイミングと、前記第1復号鍵の更新タイミングとが一致するか否かを判断し、
    一致しないと判断された場合には、マスター鍵を用いて生成される前記暗号化タイミングに対応する更新前の前記第1復号鍵と前記第2復号鍵とを用いて前記暗号文を復号し、一致すると判断された場合には、更新後の前記第1復号鍵と前記第2復号鍵とを用いて前記暗号文を復号することを特徴とする通信方法。

JP2005235463A 2005-08-15 2005-08-15 復号装置、暗号化装置、通信システム及び通信方法 Pending JP2007053442A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005235463A JP2007053442A (ja) 2005-08-15 2005-08-15 復号装置、暗号化装置、通信システム及び通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005235463A JP2007053442A (ja) 2005-08-15 2005-08-15 復号装置、暗号化装置、通信システム及び通信方法

Publications (1)

Publication Number Publication Date
JP2007053442A true JP2007053442A (ja) 2007-03-01

Family

ID=37917612

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005235463A Pending JP2007053442A (ja) 2005-08-15 2005-08-15 復号装置、暗号化装置、通信システム及び通信方法

Country Status (1)

Country Link
JP (1) JP2007053442A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102692619A (zh) * 2012-06-07 2012-09-26 科世达(上海)管理有限公司 一种peps低频标定系统及方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11215114A (ja) * 1998-01-22 1999-08-06 Nippon Telegr & Teleph Corp <Ntt> 暗号鍵更新方法及び装置及び暗号鍵更新プログラムを記録した記録媒体
JP2005176144A (ja) * 2003-12-12 2005-06-30 Ntt Docomo Inc 端末装置、通信システム及び通信方法
JP2005198189A (ja) * 2004-01-09 2005-07-21 Ntt Docomo Inc 鍵更新方法、暗号システム、暗号サーバ、端末装置及び外部装置
JP2005198187A (ja) * 2004-01-09 2005-07-21 Ntt Docomo Inc 暗号方法、暗号システム及び端末装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11215114A (ja) * 1998-01-22 1999-08-06 Nippon Telegr & Teleph Corp <Ntt> 暗号鍵更新方法及び装置及び暗号鍵更新プログラムを記録した記録媒体
JP2005176144A (ja) * 2003-12-12 2005-06-30 Ntt Docomo Inc 端末装置、通信システム及び通信方法
JP2005198189A (ja) * 2004-01-09 2005-07-21 Ntt Docomo Inc 鍵更新方法、暗号システム、暗号サーバ、端末装置及び外部装置
JP2005198187A (ja) * 2004-01-09 2005-07-21 Ntt Docomo Inc 暗号方法、暗号システム及び端末装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102692619A (zh) * 2012-06-07 2012-09-26 科世达(上海)管理有限公司 一种peps低频标定系统及方法

Similar Documents

Publication Publication Date Title
US11880831B2 (en) Encryption system, encryption key wallet and method
JP4774492B2 (ja) 認証システム及び遠隔分散保存システム
US7634085B1 (en) Identity-based-encryption system with partial attribute matching
US7715565B2 (en) Information-centric security
US6549626B1 (en) Method and apparatus for encoding keys
EP3841702B1 (en) Method, user device, management device, storage medium and computer program product for key management
CN107086915B (zh) 一种数据传输方法、数据发送端及数据接收端
US7899184B2 (en) Ends-messaging protocol that recovers and has backward security
US20110145576A1 (en) Secure method of data transmission and encryption and decryption system allowing such transmission
US10313119B2 (en) Data management device, system, re-encryption device, data sharing device, and storage medium
CN109543434B (zh) 区块链信息加密方法、解密方法、存储方法及装置
WO2014132552A1 (ja) 順序保存暗号化システム、装置、方法およびプログラム
CA2819211C (en) Data encryption
WO2022167163A1 (en) Threshold key exchange
CN118337498A (zh) 一种基于对称密钥池的数据传输方法
US7031469B2 (en) Optimized enveloping via key reuse
CN112889240A (zh) 服务器装置、通信终端、通信系统、以及程序
CN114095171A (zh) 一种基于身份的可穿刺代理重加密方法
Barukab et al. Secure communication using symmetric and asymmetric cryptographic techniques
JP2006227411A (ja) 通信システム、暗号化装置、鍵生成装置、鍵生成方法、復元装置、通信方法、暗号化方法、暗号復元方法
JP2005176144A (ja) 端末装置、通信システム及び通信方法
Ryabko et al. Cryptography in the information society
JP2007053449A (ja) 復号装置、暗号化装置、通信システム及び通信方法
CN113609502A (zh) 一种基于区块链的空间众包系统及方法
JP2007053442A (ja) 復号装置、暗号化装置、通信システム及び通信方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080310

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110222

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110422

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110517