JP2005198187A - 暗号方法、暗号システム及び端末装置 - Google Patents
暗号方法、暗号システム及び端末装置 Download PDFInfo
- Publication number
- JP2005198187A JP2005198187A JP2004004421A JP2004004421A JP2005198187A JP 2005198187 A JP2005198187 A JP 2005198187A JP 2004004421 A JP2004004421 A JP 2004004421A JP 2004004421 A JP2004004421 A JP 2004004421A JP 2005198187 A JP2005198187 A JP 2005198187A
- Authority
- JP
- Japan
- Prior art keywords
- plaintext
- algorithm
- key
- ciphertext
- 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
Links
Images
Abstract
【課題】 IDに基づく暗号方式において、秘密情報が漏洩した場合にも安全に暗号文を送受することができる暗号方法、暗号システム及び端末装置を提供する。
【解決手段】 本発明に係る端末10は、所定の集団に所属する利用者に固有な識別子を公開鍵とする暗号方式において用いられる、公開鍵と対応する復号鍵の生成を階層化する“2-level HIBE”、及び“2-level HIBE”に基づいて生成され、所定の集団に公開される公開情報を用いて、第1の暗号文を復号して第1の平文を出力するとともに、“2-level HIBE”と異なるBoneh, Franklin方式の復号アルゴリズム、及びBoneh, Franklin方式に基づいて生成され、所定の集団に公開される第2の公開情報を用いて、第2の暗号文を復号して第2の平文を出力する復号部17aを備える。
【選択図】 図2
【解決手段】 本発明に係る端末10は、所定の集団に所属する利用者に固有な識別子を公開鍵とする暗号方式において用いられる、公開鍵と対応する復号鍵の生成を階層化する“2-level HIBE”、及び“2-level HIBE”に基づいて生成され、所定の集団に公開される公開情報を用いて、第1の暗号文を復号して第1の平文を出力するとともに、“2-level HIBE”と異なるBoneh, Franklin方式の復号アルゴリズム、及びBoneh, Franklin方式に基づいて生成され、所定の集団に公開される第2の公開情報を用いて、第2の暗号文を復号して第2の平文を出力する復号部17aを備える。
【選択図】 図2
Description
本発明は、電子メールアドレスなど、利用者に固有な識別子(ID)に基づく暗号方式、いわゆるIBE(Identity-Based Encryption)を利用した暗号方法、暗号システム及び端末装置に関する。
従来、電子メールアドレスなど、利用者に固有な識別子(ID)を公開鍵(暗号鍵)として用いることができる暗号方式、いわゆるIBE(Identity-Based Encryption)が知られている。
IDに基づく暗号方式においては、まず、秘密鍵(復号鍵)の生成及び管理を行うセンタが、所定の利用者の集団内において共通に用いられる秘密情報、いわゆるマスタ鍵(mst)を生成し、(mst)に対応する公開情報(pub)を公開する。次に、利用者の電子メールアドレスなど、任意の文宇列(char)と(mst)を作用させ、当該文字列に対する秘密鍵(dchar)を生成する(便宜上、このような秘密鍵dcharを「charに基づく復号鍵」と呼ぶ)。(char)及び(pub)を用いて暗号化された暗号文は、(dchar)により復号可能となる。例えば、(char)として、(char)に対応する秘密鍵の保持者となる利用者の電子メールアドレスが利用される場合、当該利用者にメッセージ(M)を秘密に送信する際、メッセージ(M)の送信者は、当該利用者の電子メールアドレス及び(pub)を用いて暗号文(C)を生成することができる。
上述したような機能を実現する具体的な方式として、Boneh, Franklin方式が提案されている(例えば、非特許文献1)。以下、Boneh, Franklin方式の概要について説明する。
センタは、p0=2mod3及びp0=6q-1となるような素数p0を選択する。ここで、qはq>3となる素数とする。また、Eをy2=x3+1で表される有限体GF(p)上の楕円曲線とする。さらに、センタは位数がqとなるようなE/GF(p)の元Pを選択し、集合(1,2,...,q-1)よりランダムに選んだマスタ鍵sを用いてPpub=sPを計算し、Ppubを公開する。文字列char(例えば、利用者の電子メールアドレス)に対し、センタはcharとマスタ鍵sとを作用させ、秘密鍵dchar=sQiを生成し、その利用者に与える。ここで、Qiはcharに一意に対応する、Pによって構成される群の元とする。dcharの保持者に対し、秘密にメッセージMを送信する際は、送信者は、以下により、暗号文を生成する。
C:={rP,M(+)H(e(Qi,Ppub)r)}
ここで、H(・)は出力サイズがMのサイズと等しくなるようなランダム関数とし、e(・,・)は次の性質を満足するような写像である。Pによって生成される群における任意の2つの元P1,P2及び任意の整数a1,a2に関し、e(a1P1,a2P2)=e(P1,P2)a1a2が成り立つ。このような写像は、例えば(変形)Weil pairing等が知られている。
ここで、H(・)は出力サイズがMのサイズと等しくなるようなランダム関数とし、e(・,・)は次の性質を満足するような写像である。Pによって生成される群における任意の2つの元P1,P2及び任意の整数a1,a2に関し、e(a1P1,a2P2)=e(P1,P2)a1a2が成り立つ。このような写像は、例えば(変形)Weil pairing等が知られている。
また、rは(1,2,...,q-1)よりランダムに選んだ値である。また、(+)は排他的論理和を表すものとする。dcharの保持者は次のように、Cを復号する。
{M(+)H(e(Qi,Ppub)r)}(+)H{e(dchar,rP)}=M
さらに、上述したBoneh, Franklin方式を拡張することにより、利用者の復号鍵を生成するセンタ(サーバ)を階層化することができる(例えば、非特許文献2)。
さらに、上述したBoneh, Franklin方式を拡張することにより、利用者の復号鍵を生成するセンタ(サーバ)を階層化することができる(例えば、非特許文献2)。
例えば、ルートセンタは、各サブセンタに対して、それぞれ異なる秘密情報(マスタ鍵)を与える。また、各サブセンタは、ルートセンタから与えられた秘密情報を用いて、当該サブセンタが管轄する利用者の復号鍵を生成する。このように、利用者の復号鍵を生成するセンタを2レベルに階層化することを、以下、“2-level HIBE”と呼ぶ。
2-level HIBEでは、ルートセンタは、サブセンタに対して、char1.*(*は任意の文字列)に対応した復号鍵を生成するために用いられる秘密情報を与える。また、当該サブセンタは、利用者に対して、char1.char2(char2は、サブセンタが定めた任意の文字列)に対応した復号鍵を生成する。
D. Boneh and M. Franklin, "Identity Based Encryption from the Weil Pairing, "Proc. of CRYPTO’01, Lecture Notes in Computer Science, Vol. 2139, Springer-Verlag, pp. 213-229, 2001 C. Gentry and A. Silverberg, "Hierarchical Identity-Based Cryptography, "Proc. of Asiacrypt ’02, Lecture Notes in Computer Science, Vol. 2501, Springer-Verlag, pp. 548-566, 2002
D. Boneh and M. Franklin, "Identity Based Encryption from the Weil Pairing, "Proc. of CRYPTO’01, Lecture Notes in Computer Science, Vol. 2139, Springer-Verlag, pp. 213-229, 2001 C. Gentry and A. Silverberg, "Hierarchical Identity-Based Cryptography, "Proc. of Asiacrypt ’02, Lecture Notes in Computer Science, Vol. 2501, Springer-Verlag, pp. 548-566, 2002
しかしながら、上述した従来のIDに基づく暗号方式(IBE)では、秘密情報(マスタ鍵)が漏洩すると、暗号文を安全に送受することができないという問題があった。
そこで、本発明は、以上の点に鑑みてなされたもので、IDに基づく暗号方式において、秘密情報が漏洩した場合にも安全に暗号文を送受することができる暗号方法、暗号システム及び端末装置を提供することをその目的とする。
上記課題を解決するために、本発明の第1の特徴は、送信端末装置と受信端末装置とによって構成される暗号システムにおいて用いられる暗号方法であって、前記送信端末装置が、所定の秘密分散アルゴリズムに基づいて、平文を第1の平文と第2の平文とに分割するステップと、前記送信端末装置が、所定の集団に所属する利用者に固有な識別子を公開鍵とする暗号方式において用いられる、前記公開鍵と対応する復号鍵の生成を階層化する階層化アルゴリズム、及び前記階層化アルゴリズムに基づいて生成され、前記所定の集団に公開される公開情報を用いて、前記第1の平文を暗号化して第1の暗号文を作成するステップと、前記送信端末装置が、前記暗号方式において用いられる、前記階層化アルゴリズムと異なる非階層化アルゴリズム、及び前記非階層化アルゴリズムに基づいて生成され、前記所定の集団に公開される第2の公開情報を用いて、前記第2の平文を暗号化して第2の暗号文を作成するステップと、前記受信端末装置が、前記階層化アルゴリズムに基づいて、前記公開情報及び前記復号鍵を用いて、前記第1の暗号文を復号して前記第1の平文を出力するステップと、前記受信端末装置が、前記非階層化アルゴリズムに基づいて、前記第2の公開情報及び前記非階層化アルゴリズムに基づく復号鍵を用いて、前記第2の暗号文を復号して前記第2の平文を出力するステップとを備えることを要旨とする。
本発明の第2の特徴は、送信端末装置と受信端末装置とによって構成される暗号システムであって、前記送信端末装置が、所定の秘密分散アルゴリズムに基づいて、平文を第1の平文と第2の平文とに分割する分割部と、所定の集団に所属する利用者に固有な識別子を公開鍵とする暗号方式において用いられる、前記公開鍵と対応する復号鍵の生成を階層化する階層化アルゴリズム、及び前記階層化アルゴリズムに基づいて生成され、前記所定の集団に公開される公開情報を用いて、前記第1の平文を暗号化して第1の暗号文を作成する第1の暗号化部と、前記暗号方式において用いられる、前記階層化アルゴリズムと異なる非階層化アルゴリズム、及び前記非階層化アルゴリズムに基づいて生成され、前記所定の集団に公開される第2の公開情報を用いて、前記第2の平文を暗号化して第2の暗号文を作成する第2の暗号化部とを備え、前記受信端末装置が、前記階層化アルゴリズムに基づいて、前記公開情報及び前記復号鍵を用いて、前記第1の暗号文を復号して前記第1の平文を出力する第1の復号部と、前記非階層化アルゴリズムに基づいて、前記第2の公開情報及び前記非階層化アルゴリズムに基づく復号鍵を用いて、前記第2の暗号文を復号して前記第2の平文を出力する第2の復号部とを備えることを要旨とする。
本発明の第3の特徴は、所定の集団に所属する利用者に固有な識別子を公開鍵とする暗号方式において用いられる、前記公開鍵と対応する復号鍵の生成を階層化する階層化アルゴリズム、前記階層化アルゴリズムに基づいて生成され、前記所定の集団に公開される公開情報、及び前記復号鍵を用いて、第1の暗号文を復号して第1の平文を出力する第1の復号部(復号部17a)と、前記暗号方式において用いられる、前記階層化アルゴリズムと異なる非階層化アルゴリズム、前記非階層化アルゴリズムに基づいて生成され、前記所定の集団に公開される第2の公開情報、及び前記非階層化アルゴリズムに基づく復号鍵を用いて、第2の暗号文を復号して第2の平文を出力する第2の復号部と(復号部17a)とを備える端末装置(端末10)であることを要旨とする。
本発明の第4の特徴は、本発明の第3の特徴において、前記の第1の暗号文は、前記平文、前記第1の平文、前記第1の乱数及び前記第2の乱数を所定の一方向ハッシュ関数に入力して得られるハッシュ値を用いて、前記第1の平文と前記第1の乱数とが含まれる第1の情報付加平文が暗号化されたものであるとともに、前記の第2の暗号文は、前記平文、前記第2の平文、前記第1の乱数及び前記第2の乱数を所定の一方向ハッシュ関数に入力して得られるハッシュ値を用いて、前記第2の平文と前記第2の乱数とが含まれる第2の情報付加平文が暗号化されたものであり、前記階層化アルゴリズムを用いて、前記第1の復号部によって復号された前記第1の情報付加平文を暗号化して第1の再暗号化文を作成する第1の再暗号化部(暗号化部17b)と、前記非階層化アルゴリズムを用いて、前記第2の復号部によって復号された前記第2の情報付加平文を暗号化して第2の再暗号化文を作成する第2の再暗号化部(暗号化部17b)と、前記第1の再暗号文と前記第1の暗号文とが一致するか否かを判定するとともに、前記第2の再暗号文と前記第2の暗号文とが一致するか否かを判定する判定部(判定部17c)とをさらに備えることを要旨とする。
本発明の第5の特徴は、所定の集団に所属する利用者に固有な識別子を公開鍵とする暗号方式において用いられる、前記公開鍵と対応する復号鍵の生成を階層化する階層化アルゴリズム、及び前記階層化アルゴリズムに基づいて生成され、前記所定の集団に公開される公開情報、及び前記復号鍵を用いて、第2の暗号文を復号して第1の暗号文を出力する第1の復号部と、前記暗号方式において用いられる、前記階層化アルゴリズムと異なる非階層化アルゴリズム、前記非階層化アルゴリズムに基づいて生成され、前記所定の集団に公開される第2の公開情報、及び前記非階層化アルゴリズムに基づく復号鍵を用いて、前記第1の暗号文を復号して平文を出力する第2の復号部とを備える端末装置であることを要旨とする。
本発明の第6の特徴は、所定の秘密分散アルゴリズムに基づいて、平文を第1の平文と第2の平文とに分割する分割部(分割部25a)と、所定の集団に所属する利用者に固有な識別子を公開鍵とする暗号方式において用いられる、前記公開鍵と対応する復号鍵の生成を階層化する階層化アルゴリズム、及び前記階層化アルゴリズムに基づいて生成され、前記所定の集団に公開される公開情報を用いて、前記第1の平文を暗号化して第1の暗号文を作成する第1の暗号化部(暗号化部25b)と、前記暗号方式において用いられる、前記階層化アルゴリズムと異なる非階層化アルゴリズム、及び前記非階層化アルゴリズムに基づいて生成され、前記所定の集団に公開される第2の公開情報を用いて、前記第2の平文を暗号化して第2の暗号文を作成する第2の暗号化部(暗号化部25b)とを備える端末装置(端末20a,20b)であることを要旨とする。
本発明の第7の特徴は、本発明の第6の特徴において、第1の乱数及び第2の乱数を選択する乱数選択部をさらに備え、前記第1の暗号化部が、前記平文、前記第1の平文、前記第1の乱数及び前記第2の乱数を所定の一方向ハッシュ関数に入力して得られるハッシュ値を用いて、前記第1の平文と前記第1の乱数とが含まれる第1の情報付加平文を暗号化し、前記第2の暗号化部が、前記平文、前記第2の平文、前記第1の乱数及び前記第2の乱数を所定の一方向ハッシュ関数に入力して得られるハッシュ値を用いて、前記第2の平文と前記第2の乱数とが含まれる第2の情報付加平文を暗号化することを要旨とする。
本発明の第8の特徴は、所定の集団に所属する利用者に固有な識別子を公開鍵とする暗号方式において用いられる、前記公開鍵と対応する復号鍵の生成を階層化する階層化アルゴリズム、及び前記階層化アルゴリズムに基づいて生成され、前記所定の集団に公開される公開情報を用いて、平文を暗号化して第1の暗号文を作成する第1の暗号化部と、前記暗号方式において用いられる、前記階層化アルゴリズムと異なる非階層化アルゴリズム、及び前記非階層化アルゴリズムに基づいて生成され、前記所定の集団に公開される第2の公開情報を用いて、前記第1の暗号文を暗号化して第2の暗号文を作成する第2の暗号化部とを備える端末装置であることを要旨とする。
かかる特徴によれば、公開鍵(暗号鍵)・復号鍵のペアが2組利用(“2-level HIBE”及びBoneh, Franklin方式などのIBE方式)されるため、外部装置などに記憶されている秘密情報、つまり、“2-level HIBE”の鍵生成アルゴリズムに基づいて生成される復号鍵の更新に用いられる更新鍵が、他者に漏洩した場合でも安全な、IDに基づく暗号化および復号方法を提供することができる。
さらに、かかる特徴によれば、更新鍵が他者に漏洩した場合でも、暗号文の安全性、つまり、平文の情報が1ビットたりとも漏洩していないことを数学的に証明することができる、IDに基づく暗号化および復号方法を提供することができる。特に、利用者Uiに対して送信するために作成された暗号文を不正に解読しようとする攻撃者は、復号に利用される当該2つの復号鍵を取得しない限り、更新鍵hiを入手したとしても、当該暗号文を解読することが必ずしもできない。このため、利用者は、非常に高い安全性を確保しつつ、暗号文の送受信を行うことができる。
本発明の第9の特徴は、暗号サーバが、所定の集団に所属する利用者に固有な識別子(例えば、電子メールアドレス)を公開鍵とする暗号方式において用いられる、前記公開鍵と対応する復号鍵の生成を階層化する階層化アルゴリズム(例えば、上述した非特許文献2において開示されているHIBEに基づいて2レベルに階層化されたアルゴリズム)に基づいて、マスタ鍵及び前記所定の集団に公開される公開情報を演算して生成するステップと、前記暗号サーバが、前記マスタ鍵及び前記公開情報を用い、前記階層化アルゴリズムに基づいて、前記復号鍵の更新に用いられる更新鍵を生成するステップと、前記暗号サーバが、前記マスタ鍵及び前記識別子を用い、前記階層化アルゴリズムに基づいて、前記復号鍵を生成するステップと、前記利用者の端末装置が、前記更新鍵及び前記復号鍵を取得するステップと、前記端末装置が、前記公開情報と、前記更新鍵と、前記復号鍵の更新後における利用可能な時間範囲を示す時間情報とを用い、前記階層化アルゴリズムに基づいて、鍵更新情報を生成するステップと、前記端末装置が、前記鍵更新情報を取得し、取得した前記鍵更新情報を新復号鍵とするステップとを備える前記識別子に対応する前記復号鍵の鍵更新方法であることを要旨とする。
かかる特徴によれば、暗号サーバが、利用者に固有な識別子(例えば、電子メールアドレス)を公開鍵とする暗号方式において用いられる、当該公開鍵と対応する復号鍵の生成を階層化する階層化アルゴリズム、具体的には、上述した“2-level HIBE”に基づいて、サブセンタ用のマスタ鍵(秘密情報)を生成し、当該マスタ鍵が、更新鍵として、利用者の端末装置と接続される外部装置などに格納される。
また、利用者の端末装置が、当該更新鍵を用いて外部装置によって生成された鍵更新情報を新復号鍵とする。
このため、利用者の端末装置は、利用者に固有な識別子を公開鍵とする暗号方式に基づいて生成された復号鍵を、他者(サーバ等)と交信を行うことなく更新することができる。
さらに、外部装置は、暗号サーバから受信した更新鍵を用い、“2-level HIBE”の鍵生成アルゴリズムに基づいて、利用者の識別子と、復号鍵を更新可能な時間を示す時間情報とから構成される当該利用者の公開鍵(char1.t)に対応する復号鍵を鍵更新情報として生成する。なお、ここで、“t”は、上述した時間情報であり、例えば、特定の週や日を示す情報を用いることができる。
さらに、利用者の端末装置は、外部装置によって生成された鍵更新情報を、新復号鍵とする。
すなわち、外部装置が、利用者の時点tにおける公開鍵(char1.t)に対応する鍵更新情報、つまり、当該公開鍵に対応する復号鍵を生成して、利用者の端末装置に送信する。したがって、利用者の端末装置は、他者(暗号サーバ等)と交信することなく、公開鍵(char1.t)に対応する復号鍵を取得することができる。
なお、かかる場合、暗号文を当該利用者の端末装置に時点tを含む所定の時間内(例えば、上述したように、週や日)に送信する際、当該利用者の公開鍵として、(char1.t)を用いればよい。
このように、利用者の端末装置は、利用者の識別子と、復号鍵を更新可能な時間を示す時間情報とから構成される当該利用者のある時点における公開鍵(char1.t)に対応する復号鍵を、随時自由に更新することができる。
本発明の第10の特徴は、所定の集団に所属する利用者に固有な識別子を公開鍵とする暗号方式において用いられる、前記公開鍵と対応する復号鍵の生成を階層化する階層化アルゴリズムに基づいて、マスタ鍵を選択するマスタ鍵選択部と、前記マスタ鍵及び前記階層化アルゴリズムに基づいて、前記所定の集団に公開される公開情報を演算して生成する公開情報生成部と、前記マスタ鍵及び前記公開情報を用い、前記階層化アルゴリズムに基づいて、前記復号鍵の更新に用いられる更新鍵を生成する更新鍵生成部と、前記マスタ鍵及び前記識別子を用い、前記階層化アルゴリズムに基づいて、前記復号鍵を生成する復号鍵生成部と、前記公開情報と、前記更新鍵と、前記復号鍵の更新後における利用可能な時間範囲を示す時間情報とを用い、前記階層化アルゴリズムに基づいて、鍵更新情報を生成する鍵更新情報生成部と、前記鍵更新情報を取得し、取得した前記鍵更新情報を新復号鍵とする復号鍵更新部とを備える暗号システムであることを要旨とする。
本発明の第11の特徴は、所定の集団に所属する利用者に固有な識別子を公開鍵とする暗号方式において用いられる、前記公開鍵と対応する復号鍵の生成を階層化する階層化アルゴリズムに基づいて、マスタ鍵を選択するマスタ鍵選択部(マスタ鍵選択部109)と、前記マスタ鍵及び前記階層化アルゴリズムに基づいて、前記所定の集団に公開される公開情報を演算して生成する公開情報生成部(公開情報生成部107)と、前記マスタ鍵及び前記公開情報を用い、前記階層化アルゴリズムに基づいて、前記識別子に対応する復号鍵の更新に用いられる更新鍵を生成する更新鍵生成部(更新鍵生成部103)と、前記マスタ鍵及び前記識別子を用い、前記階層化アルゴリズムに基づいて、前記復号鍵を生成する復号鍵生成部(復号鍵生成部105)とを備える暗号サーバ(センタサーバ100)であることを要旨とする。
本発明の第12の特徴は、本発明の第3の特徴において、前記マスタ鍵選択部が、前記暗号方式において用いられる、前記階層化アルゴリズムと異なる非階層化アルゴリズムに基づいて、第2のマスタ鍵をさらに選択し、前記公開情報生成部が、前記非階層化アルゴリズムに基づいて、第2の公開情報をさらに生成し、前記復号鍵生成部が、前記第2のマスタ鍵及び前記識別子を用いて、第2の復号鍵をさらに生成することを要旨とする。
かかる特徴によれば、利用者の識別子または当該識別子を含む情報を公開鍵とする2種類の復号鍵(例えば、“2-level HIBE”とBoneh, Franklin方式)が生成されるため、利用者が暗号文を送受する場合に、当該2種類の公開鍵(暗号鍵)・復号鍵を用いて、不正な解読などに対する安全性の高い暗号化方法を実現することができる。
本発明の第13の特徴は、所定の集団に所属する利用者に固有な識別子を公開鍵とする暗号方式において用いられる、前記公開鍵と対応する復号鍵の生成を階層化する階層化アルゴリズムに基づいて選択されたマスタ鍵、前記階層化アルゴリズムに基づいて生成され、前記所定の集団に公開される公開情報、前記識別子に対応する復号鍵の更新に用いられる更新鍵、及び前記復号鍵の更新後における利用可能な時間範囲を示す時間情報とを用いて生成された鍵更新情報を取得する鍵更新情報取得部(復号鍵更新部15)と、前記鍵更新情報取得部によって取得された前記鍵更新情報を新復号鍵とする復号鍵更新部(復号鍵更新部15)とを備える端末装置(端末10)であることを要旨とする。
本発明の第14の特徴は、所定の集団に属する利用者の端末装置と接続される外部装置(外部装置50)であって、前記利用者に固有な識別子を公開鍵とする暗号方式において用いられる、前記公開鍵と対応する復号鍵の生成を階層化する階層化アルゴリズムに基づいて選択されたマスタ鍵、及び前記階層化アルゴリズムに基づいて生成され、前記所定の集団に公開される公開情報を用いて生成された、前記識別子に対応する復号鍵の更新に用いられる更新鍵を取得して記憶する更新鍵記憶部(更新鍵記憶部53)と、前記公開情報を取得し、取得した前記公開情報及び前記更新鍵と、前記復号鍵を更新可能な時間を示す時間情報とを用い、前記階層化アルゴリズムに基づいて、前記復号鍵の更新に用いられる鍵更新情報を生成する鍵更新情報生成部(鍵更新情報生成部55)とを備えることを要旨とする。
本発明によれば、IDに基づく暗号方式において、秘密情報が漏洩した場合にも安全に暗号文を送受することができる暗号方法、暗号システム及び端末装置を提供することができる。
(暗号システムを含むネットワーク構成)
以下、本発明の実施形態について説明する。図1は、本実施形態に係る暗号システムを含むネットワーク構成を示している。同図に示すように、利用者の識別子、例えば、電子メールアドレスを用いた公開鍵に対応する復号鍵、当該復号鍵の更新に用いられる更新鍵、及び利用者に公開される公開情報の生成などを行うセンタサーバ100と、利用者の公開鍵、つまり、当該利用者の電子メールアドレスを用いて、暗号文を送信する端末20a,20b(送信端末装置)と、復号鍵を更新するとともに、復号鍵を用いて端末20a,20bから受信した暗号文を復号する端末10(受信端末装置)とが、例えば、TCP/IPをベースとしたネットワーク1にそれぞれ接続されている。なお、本実施形態では、以下、電子メールアドレスを利用者の識別子として用いるものとして説明する。
以下、本発明の実施形態について説明する。図1は、本実施形態に係る暗号システムを含むネットワーク構成を示している。同図に示すように、利用者の識別子、例えば、電子メールアドレスを用いた公開鍵に対応する復号鍵、当該復号鍵の更新に用いられる更新鍵、及び利用者に公開される公開情報の生成などを行うセンタサーバ100と、利用者の公開鍵、つまり、当該利用者の電子メールアドレスを用いて、暗号文を送信する端末20a,20b(送信端末装置)と、復号鍵を更新するとともに、復号鍵を用いて端末20a,20bから受信した暗号文を復号する端末10(受信端末装置)とが、例えば、TCP/IPをベースとしたネットワーク1にそれぞれ接続されている。なお、本実施形態では、以下、電子メールアドレスを利用者の識別子として用いるものとして説明する。
また、ネットワーク1には、センタサーバ100によって生成された公開情報を公開する公開情報サーバ300が接続されている。
さらに、端末10には、センタサーバ100によって生成された更新鍵を記憶するとともに、当該更新鍵を用いて、復号鍵の更新に用いられる鍵更新情報を生成する外部装置50が接続されている。
(暗号システムの論理ブロック構成)
次に、図2を参照して、本実施形態に係る暗号システムの論理ブロック構成について説明する。
次に、図2を参照して、本実施形態に係る暗号システムの論理ブロック構成について説明する。
同図に示すように、本実施形態に係る暗号サーバを構成するセンタサーバ100は、通信部101と、更新鍵生成部103と、復号鍵生成部105と、公開情報生成部107と、マスタ鍵選択部109とを備えている。
通信部101は、更新鍵生成部103と、復号鍵生成部105と、復号鍵生成部105と、マスタ鍵選択部109と通信可能に接続されており、生成された更新鍵や復号鍵などの情報をネットワーク1に中継するものである。
マスタ鍵選択部109は、所定の集団に所属する利用者に固有な識別子、本実施形態では、ネットワーク1に接続される端末10及び端末20a,20bの利用者の電子メールアドレスを公開鍵とする暗号方式において用いられる、当該公開鍵と対応する復号鍵の生成を階層化する階層化アルゴリズム(例えば、“2-level HIBE”)に基づいて、マスタ鍵を選択するものである。
具体的には、マスタ鍵選択部109は、上述した非特許文献2に示した“Hierarchical Identity-Based Cryptography“にしたがって、利用者の復号鍵を生成するセンタを2レベルに階層化する“2-level HIBE”の鍵生成アルゴリズムに基づいて、マスタ鍵(s)を選択する。
また、マスタ鍵選択部109は、利用者に固有な識別子を公開鍵とする暗号方式において用いられる、“2-level HIBE”と異なる非階層化アルゴリズム(例えば、Boneh, Franklin方式)に基づいて、マスタ鍵(s’、第2のマスタ鍵)をさらに選択することができる。
公開情報生成部107は、マスタ鍵選択部109によって選択されたマスタ鍵及び“2-level HIBE”に基づいて、端末10及び端末20a,20bの利用者に公開される公開情報(p)を演算して生成するものである。
また、公開情報生成部107は、“2-level HIBE”と異なる非階層化アルゴリズム(例えば、Boneh, Franklin方式)に基づいて、第2の公開情報(p’、第2の公開情報)をさらに生成することができる。
さらに、公開情報生成部107は、生成した公開情報(p及びp’)を公開情報サーバ300に送信する。
更新鍵生成部103は、マスタ鍵選択部109によって選択されたマスタ鍵及び公開情報生成部107によって生成された公開情報を用い、“2-level HIBE”に基づいて、利用者の識別子(例えば、利用者の電子メールアドレス)に対応する復号鍵の更新に用いられる更新鍵を生成するものである。
復号鍵生成部105は、マスタ鍵選択部109によって選択されたマスタ鍵及び前記利用者の電子メールアドレスを用い、“2-level HIBE”に基づいて、復号鍵を生成するものである。
また、復号鍵生成部105は、マスタ鍵(s’)及び利用者の電子メールアドレスを用い、“2-level HIBE”と異なる非階層化アルゴリズム(例えば、Boneh, Franklin方式)に基づいて、復号鍵di0(第2の復号鍵)をさらに生成することができる。
また、更新鍵生成部103及び復号鍵生成部105は、ネットワーク1を介して、生成した更新鍵及び復号鍵を利用者の端末、本実施形態では、端末10に送信することができる。
公開情報サーバ300は、公開情報記憶部301を備えている。公開情報記憶部301は、センタサーバ100によって生成された公開情報を、ネットワーク1を介して、端末10及び端末20a,20bに公開するものである。
端末10は、通信部11と、復号鍵記憶部13と、復号鍵更新部15と、復号部17aと、暗号化部17bと、判定部17c、公開情報取得部19とを備えている。
通信部11は、復号鍵記憶部13と、復号鍵更新部15と、復号部17aと、公開情報取得部19と通信可能に接続されており、更新鍵や復号鍵が含まれた情報などをネットワーク1から中継するものである。
復号鍵記憶部13は、通信部11を介して、センタサーバ100によって生成された端末10の利用者(以下、Ui)の復号鍵を取得して記憶するものである。
復号鍵更新部15は、外部装置50によって生成される鍵更新情報を新復号鍵とするものである。また、復号鍵更新部15は、外部装置50によって生成される鍵更新情報を取得するものであり、本実施形態では、鍵更新情報取得部を構成する。
例えば、復号鍵更新部15は、外部装置50が、“2-level HIBE”の鍵生成アルゴリズムに基づいて生成した鍵更新情報を新復号鍵とすることができる。
復号部17aは、本実施形態では、端末20aまたは20bが、利用者Uiの公開鍵を用いて暗号化された暗号文を、復号鍵を用いて復号するものである。
また、復号部17aは、“2-level HIBE”の復号アルゴリズムに基づいて、公開情報(p)及び復号鍵(dit)を用いて、第1の暗号文(c1)を復号して第1の平文(m1)を出力するものであり、第1の復号部を構成する。
さらに、復号部17aは、Boneh, Franklin方式の復号アルゴリズムに基づいて、第2の公開情報(p’)及び復号鍵(di0)を用いて、第2の暗号文(c2)を復号して第2の平文(m2)を出力するものであり、第2の復号部を構成する。
また、復号部17aは、“2-level HIBE”の復号アルゴリズムに基づいて、公開情報(p)及び復号鍵(dit)を用いて、第2の暗号文(c2)を復号して第1の暗号文(c1)を出力し、Boneh, Franklin方式の復号アルゴリズムに基づいて、第2の公開情報(p’)及び復号鍵(di0)を用いて、第1の暗号文(c1)を復号して平文(m)を出力することもできる。
暗号化部17bは、“2-level HIBE”の暗号化アルゴリズムを用いて、復号部17aによって復号された、第1の平文(m1)と第1の乱数(r1)とが含まれる第1の情報付加平文(m1‖r1)を暗号化して、第1の再暗号化文(c1’)を作成するものであり、第1の再暗号化部を構成する。
また、暗号化部17bは、Boneh, Franklin方式の暗号化アルゴリズムを用いて、復号部17aによって復号された、第2の平文(m2)と第2の乱数(r2)とが含まれる第2の情報付加平文(m2‖r2)を含む情報を暗号化して、第2の再暗号化文(c2’)を作成するものであり、第2の再暗号化部を構成する。
判定部17cは、暗号化部17bによって暗号化された第1の再暗号文(c1’)と、端末20a,20bから受信した第1の暗号文(c1)とが一致するか否かを判定するとともに、第2の再暗号文(c2’)と、端末20a,20bから受信した第2の暗号文(c2)とが一致するか否かを判定するものである。
なお、復号部17aは、判定部17cによって、第1の再暗号文(c1’)と第1の暗号文(c1)とが一致するとともに、第の2再暗号文(c2’)と第2の暗号文(c2)とが一致すると判定された場合、第1の平文(m1)及び第2の平文(m2)に基づいて、平文(m)を出力する。
公開情報取得部19は、公開情報サーバ300から、ネットワーク1を介して公開情報を取得するものである。また、公開情報取得部19は、取得した公開情報を外部装置50に提供することができる。
外部装置50は、通信部51と、更新鍵記憶部53と、鍵更新情報生成部55とを備えている。
通信部51は、更新鍵記憶部53と、鍵更新情報生成部55と通信可能に接続されており、更新鍵や鍵更新情報などを通信部11との間において送受するものである。
更新鍵記憶部53は、センタサーバ100によって生成された利用者Uiの電子メールアドレスに対応する復号鍵の更新に用いられる更新鍵を、通信部51を介して取得して記憶するものである。
なお、更新鍵記憶部53は、更新鍵と、端末10に記憶されている復号鍵とが同時に漏洩することを防止するため、ICカードのような、外部装置50に着脱可能なデバイスであることが好ましい。また、外部装置50は、ネットワーク1に接続されている端末、例えば、端末20aからアクセスできないように、必要時以外は、ネットワーク1から隔離されていることが好ましい。
鍵更新情報生成部55は、公開情報取得部19が取得した公開情報及び更新鍵記憶部53に記憶されている更新鍵と、利用者Uiの復号鍵を更新可能な時間を示す時間情報とを用い、“2-level HIBE”に基づいて、当該復号鍵の更新に用いられる鍵更新情報を生成するものである。
端末20a,20bは、通信部21と、公開情報取得部23と、分割部25aと、暗号化部25bと、乱数選択部27とをそれぞれ備えている。
通信部21は、公開情報取得部23と、暗号化部25bと、乱数選択部27と通信可能に接続されており、公開情報をネットワーク1から中継したり、端末10に送信する暗号文などをネットワーク1に中継するものである。
公開情報取得部23は、公開情報サーバ300から、ネットワーク1を介して公開情報を取得するものである。
分割部25aは、所定の秘密分散アルゴリズム、例えば、“How to Share a Secret”(Comm. ACM, 22, 11, p. 612-613, 1979、A. Shamir、以下Shamir方式)に基づいて、平文(m)を第1の平文(m1)と第2の平文(m2)とに分割するものである。
暗号化部25bは、本実施形態では、利用者Uiの公開鍵を用いて、端末10に送信する平文を暗号化して暗号文を作成し、当該暗号文を送信するものである。
また、暗号化部25bは、“2-level HIBE”の暗号化アルゴリズム及び公開情報(p)を用いて、第1の平文(m1)を暗号化して第1の暗号文(c1)を作成するものであり、第1の暗号化部を構成する。
さらに、暗号化部25bは、Boneh, Franklin方式の暗号化アルゴリズム及び第2の公開情報(p’)を用いて、第2の平文(m2)を暗号化して第2の暗号文(c2)を作成するものであり、第2の暗号化部を構成する。
また、暗号化部25bは、“2-level HIBE”の暗号化アルゴリズム及び公開情報(p)を用いて、平文(m)を暗号化して第1の暗号文(c1)を作成し、Boneh, Franklin方式の暗号化アルゴリズム及び第2の公開情報(p’)を用いて、第1の暗号文(c1)を暗号化して第2の暗号文(c2)を作成することもできる。
乱数選択部27は、第1の乱数(r1)及び第2の乱数(r2)を選択するものである。暗号化部25bは、乱数選択部27によって選択された乱数(r1, r2)を用いて、平文(m)、第1の平文(m1)、第1の乱数(r1)及び第2の乱数(r2)を所定の一方向ハッシュ関数に入力して得られるハッシュ値(例えば、SHA-1に入力して得られるハッシュ値)を、確率的暗号化のための乱数として用いて、第1の平文(m1)と、第1の乱数(r1)とが含まれる第1の情報付加平文(m1‖r1)を暗号化することができる。
また、暗号化部25bは、乱数選択部27によって選択された乱数(r1, r2)を用いて、平文(m)、第1の平文(m1)、第1の乱数(r1)及び第2の乱数(r2)を所定の一方向ハッシュ関数に入力して得られるハッシュ値(例えば、SHA-1に入力して得られるハッシュ値)を確率的暗号化のための乱数として用いて、第2の平文(m2)と、第2の乱数(r2)とが含まれる第2の情報付加平文(m2‖r2)を暗号化することができる。
(暗号システムの動作)
次に、上述した暗号システムの動作について説明する。
次に、上述した暗号システムの動作について説明する。
(1)動作例1
まず、上述した暗号システムの動作例1について、図3及び図4を参照して説明する。
まず、上述した暗号システムの動作例1について、図3及び図4を参照して説明する。
図3に示すように、ステップS1において、センタサーバ100は、“2-level HIBE”の鍵生成アルゴリズムに基づいて、システム共通のマスタ鍵(秘密情報)sを選択するとともに、公開情報pを生成する。
具体的には、センタサーバ100は、“2-level HIBE”のうち、ルートセンタ用のマスタ鍵sを選択するとともに、公開情報pを生成する。
ステップS2において、センタサーバ100は、公開情報pを公開情報サーバ300に通知し、端末10及び端末20a,20bが利用できるように、公開情報サーバ300に公開情報pを公開させる。
ステップS3において、センタサーバ100は、公開情報pおよびマスタ鍵sを用い、利用者Uiの更新鍵hiならびに復号鍵di0を、“2-level HIBE”の鍵生成アルゴリズムに基づいて生成する。
具体的には、センタサーバ100は、“2-level HIBE”のうち、サブセンタ用のマスタ鍵(秘密情報)sを更新鍵hiとして生成するとともに、利用者Uiの公開鍵として利用されるUi.*(例えば、Uiは電子メールアドレスであり、*は任意の文字など)に対応する復号鍵di0を生成する。なお、復号鍵di0は生成しなくてもよい。
ステップS4において、センタサーバ100は、更新鍵hi及び復号鍵di0を利用者Ui、すなわち、端末10に送信する。
ステップS5において、端末10は、更新鍵hi及び復号鍵di0を受信して取得する。また、ステップS6において、端末10は、取得した復号鍵di0を復号鍵として格納する。さらに、ステップS7において、外部装置50は、更新鍵hiを端末10から取得して、格納する。なお、外部装置50は、上述したように、ネットワーク1を介して、他の端末などがアクセスすることができないように、必要時以外は、ネットワーク1から隔離されていることが好ましい。
ステップS8において、端末10は、ある時点tにおいて、利用者Uiの時点tにおける公開鍵Ui.t(利用者Uiの電子メールアドレスと、時間情報、例えば日付を示す情報とが組み合わされたもの)に対応する復号鍵の更新を外部装置50に依頼する。
ステップS9において、外部装置50は、復号鍵の更新の依頼を受信する。また、ステップS10において、外部装置50は、公開情報サーバ300から公開情報pを取得する。
ステップS11において、外部装置50は、公開情報p及び更新鍵hiを用いて、鍵更新情報d’itを“2-level HIBE”の鍵生成アルゴリズムに基づいて生成する。また、ステップS12において、外部装置50は、鍵更新情報d’itを端末10に送信する。
ステップS13において、端末10は、公開情報pを取得する。また、ステップS14において、端末10は、鍵更新情報d’itを取得する。
ステップS15において、端末10は、公開鍵Ui.tに対応する復号鍵ditに更新する。例えば、端末10は、鍵更新情報d’itを、公開鍵Ui.tに対応する復号鍵ditとする。
ステップS16において、端末10は、更新前の復号鍵をメモリー、つまり、本実施形態では、上述した復号鍵記憶部13から消去する。
次に、図4に示すように、ステップS17において、端末20aは、公開情報pを取得する。また、ステップS18において、端末20aは、ある時点tにおける利用者Uiの公開鍵Ui.t及び公開情報pを用い、“2-level HIBE”の暗号化アルゴリズムに基づいて暗号文cを作成する。さらに、ステップS19において、端末20aは、端末10に作成した暗号文cを送信する。
ステップS20において、端末10は、公開情報pを取得する。また、ステップS21において、端末10は、暗号文cを受信する。さらに、ステップS22において、端末10は、公開情報p及び復号鍵ditを用い、“2-level HIBE”の復号アルゴリズムに基づいて、暗号文cを復号し、平文mを取得する。
(2)動作例2
次に、上述した暗号システムの動作例2について、図5〜図7を参照して説明する。本動作例では、上述した動作例1において、更新鍵hiの漏洩に対する安全性を高めることができる暗号化及び復号方法が用いられる。
次に、上述した暗号システムの動作例2について、図5〜図7を参照して説明する。本動作例では、上述した動作例1において、更新鍵hiの漏洩に対する安全性を高めることができる暗号化及び復号方法が用いられる。
具体的には、本動作例では、“2-level HIBE”によって生成される公開鍵(暗号鍵)及び復号鍵のペアと、“2-level HIBE”ではなく、Boneh, Franklin方式などのIDに基づく暗号方式(以下、IBE方式)によって生成される公開鍵と復号鍵のペアとの2組の鍵を用いることによって、更新鍵hiの漏洩に対する安全性を高めている。
図5に示すように、ステップS201において、センタサーバ100は、“2-level HIBE”の鍵生成アルゴリズムに基づいて、システム共通のマスタ鍵(秘密情報)sを選択するとともに、公開情報pを生成する。
ステップS202において、センタサーバ100はIBE方式に基づいて、マスタ鍵(秘密情報)s’を選択するとともに、公開情報p’を生成する。
ステップS203において、センタサーバ100は、公開情報p及びp’を公開情報サーバ300に通知し、端末10及び端末20a,20bが利用できるように、公開情報サーバ300に公開情報p及びp’を公開させる。
ステップS204において、センタサーバ100は、利用者Uiに対して、公開情報pおよびマスタ鍵sを用いて、利用者Uiの公開鍵Ui.*(例えば、Uiは電子メールアドレスであり、*は任意の文字など)に対応する利用者Uiの復号鍵を生成可能な秘密情報(更新鍵)hiを、当該“2-level HIBE”の鍵生成アルゴリズムに基づいて生成する。具体的には、上述したように、センタサーバ100は、“2-level HIBE”のうち、サブセンタにおいて用いられるマスタ鍵(秘密情報)sを更新鍵hiとして生成する。
ステップS205において、センタサーバ100は、利用者Uiに対して、公開情報p’およびマスタ鍵s’を用いて、利用者Uiの復号鍵di0を、IBE方式の鍵生成アルゴリズムに基づいて生成する。
ステップS206において、センタサーバ100は、更新鍵hi及び復号鍵di0を利用者Ui、すなわち、端末10に送信する。
ステップS207において、端末10は、更新鍵hi及び復号鍵di0を受信して取得する。また、ステップS208において、端末10は、取得した復号鍵di0を復号鍵として格納する。さらに、ステップS209において、外部装置50は、更新鍵hiを端末10から取得して格納する。
次に、図6に示すように、ステップS210において、端末10は、ある時点tにおいて、利用者Uiの時点tにおける公開鍵Ui.t(利用者Uiの電子メールアドレスと、時間情報、例えば日付を示す情報とが組み合わされたもの)に対応する復号鍵の更新を外部装置50に依頼する。
ステップS211において、外部装置50は、復号鍵の更新の依頼を受信する。また、ステップS212において、外部装置50は、公開情報サーバ300から公開情報p及びp’を取得する。
ステップS213において、外部装置50は、公開情報p及び更新鍵hiを用いて、当該“2-level HIBE”の鍵生成アルゴリズムに基づいて、当該2-level HIBEにおける公開鍵Ui.tに対応した復号鍵を鍵更新情報d’itとして生成する。また、ステップS214において、外部装置50は、鍵更新情報d’itを端末10に送信する。
ステップS215において、端末10は、公開情報p及びp’を取得する。また、ステップS216において、鍵更新情報d’itを取得する。
ステップS217において、端末10は、すでに記憶している復号鍵に含まれるdi0と、鍵更新情報d’itとを用いて、復号鍵ditを{di0,d’it}とする。つまり、端末10は、2種類の復号鍵を記憶する。
また、ステップS218において、端末10は、更新前の復号鍵をメモリー、つまり、本実施形態では、上述した復号鍵記憶部13から消去する。
次に、図7に示すように、ステップS219において、端末20aは、公開情報p及びp’を取得する。また、ステップS220において、端末20aは、暗号化する平文mを秘密分散(例えば、上述したShamir方式)により、m1及びm2に分割する。
ステップS221において、端末20aは、ある時点tにおける利用者Uiの公開鍵Ui.t及び公開情報pを用いて、“2-level HIBE”の暗号化アルゴリズムに基づいて、平文m1を暗号化することにより、暗号文c1を作成する。また、ステップS222において、端末20aは、ある時点tにおける利用者Uiの公開鍵Ui.t及び公開情報p’を用いて、IBE方式の暗号化アルゴリズムに基づいて、平文m2を暗号化することにより、暗号文c2を作成する。
ステップS223において、端末20aは、作成した暗号文c1及びc2を暗号文cとして、
端末10に送信する。
端末10に送信する。
ステップS224において、端末10は、公開情報p及びp’を取得する。また、ステップS225において、端末10は、暗号文cを受信する。
ステップS226において、端末10は、公開情報p及び復号鍵ditを用いて、当該“2-level HIBE”の復号アルゴリズムに基づいて、暗号文cに含まれる暗号文c1を復号し、平文m1を取得する。また、ステップS227において、端末10は、公開情報p’及び復号鍵di0を用いて、当該IBEの復号アルゴリズムに基づいて、暗号文cに含まれる暗号文c2を復号し、平文m2を取得する。さらに、ステップS228において、端末10は、平文m1及び平文m2から、平文mを復元する。
(3)変更例1
次に、上述した暗号システムの動作例2において、暗号文の送受信方法を変更した変更例1について、図8を参照しながら説明する。以下、上述した動作例2と異なる点を主に説明するものとし、上述した動作例2のステップS219以降の動作から説明する。
次に、上述した暗号システムの動作例2において、暗号文の送受信方法を変更した変更例1について、図8を参照しながら説明する。以下、上述した動作例2と異なる点を主に説明するものとし、上述した動作例2のステップS219以降の動作から説明する。
同図に示すように、ステップS219において、端末20aは、公開情報p及びp’を取得する。また、ステップS220’において、端末20aは、ある時点tにおける利用者Uiの公開鍵Ui.t及び公開情報pを用いて、“2-level HIBE”の暗号化アルゴリズムに基づいて、平文mを暗号化することにより、暗号文c1を作成する。
ステップS221’において、端末20aは、ある時点tにおける利用者Uiの公開鍵Ui.t及び公開情報p’を用いて、IBE方式の暗号化アルゴリズムに基づいて、ステップS220’において作成した暗号文c1をさらに暗号化し、暗号文c2を作成する。
ステップS222’において、端末20aは、作成した暗号文c2を端末10に送信する。
ステップS223’において、端末10は、公開情報p及びp’を取得する。また、ステップS224’において、端末10は、暗号文c2を受信する。
ステップS225’において、端末10は、公開情報p’及び復号鍵di0を用いて、IBEの復号アルゴリズムに基づいて、暗号文c2を復号し、暗号文c1を取得する。また、ステップS226’において、端末10は、公開情報p及び復号鍵ditを用いて、“2-level HIBE”の復号アルゴリズムに基づいて、暗号文c1を復号し、平文mを取得する。
(4)変更例2
次に、上述した暗号システムの動作例2において、暗号文の送受信方法を変更した変更例2について、図9及び図10を参照しながら説明する。本変更例では、上述した動作例2や変更例1と異なる暗号文の送受信方法を用いることにより、安全性、具体的には、復号処理の結果、すなわち、平文mの情報が1ビットたりとも漏洩していないことを数学的に証明することができる。
次に、上述した暗号システムの動作例2において、暗号文の送受信方法を変更した変更例2について、図9及び図10を参照しながら説明する。本変更例では、上述した動作例2や変更例1と異なる暗号文の送受信方法を用いることにより、安全性、具体的には、復号処理の結果、すなわち、平文mの情報が1ビットたりとも漏洩していないことを数学的に証明することができる。
以下、上述した動作例2と異なる点を主に説明するものとし、上述した動作例2のステップS219以降の動作から説明する。
図9に示すように、ステップS219において、端末20aは、公開情報p及びp’を取得する。また、ステップS220”において、端末20aは、暗号化する平文mを秘密分散(例えば、上述したShamir方式)により、m1及びm2に分割する。また、ステップS221”において、端末20aは、乱数r1およびr2を選択する。
ステップS222”において、端末20aは、ある時点tにおける利用者Uiの公開鍵Ui.t及び公開情報pを用いて、“2-level HIBE”の暗号化アルゴリズムに基づいて、平文m1と乱数r1とを結合した、(m1‖r1)(を含む情報)を暗号化することにより、暗号文c1を作成する。なお、かかる場合、確率的暗号化のための乱数として、(m,m1,r1,r2)を指定されたハッシュ関数(例えば、SHA-1)を用いて得られるハッシュ値を用いる。
ステップS223”において、端末20aは、ある時点tにおける利用者Uiの公開鍵Ui.t及び公開情報p’を用いて、IBE方式の暗号化アルゴリズムに基づいて、平文m2と乱数r2とを結合した(m2‖r2)(を含む情報)を暗号化することにより、暗号文c2を作成する。なお、かかる場合、確率的暗号化のための乱数として、(m,m2,r1,r2)を指定されたハッシュ関数(例えば、SHA-1)を用いて得られるハッシュ値を用いる。
ステップS224“において、端末20aは、作成した暗号文c1及びc2を暗号文cとして、端末10に送信する。
ステップS225”において、端末10は、公開情報p及びp’を取得する。また、ステップS226”において、端末10は、暗号文cを受信する。
ステップS227”において、端末10は、公開情報p及び復号鍵ditを用いて、“2-level HIBE”の復号アルゴリズムに基づいて、暗号文cに含まれる暗号文c1を復号し、{m1,r1}を取得する。また、ステップS228”において、端末10は、公開情報p’及び復号鍵di0を用いて、IBEの復号アルゴリズムに基づいて、暗号文cに含まれる暗号文c2を復号し、{m2,r2}を取得する。さらに、ステップS229”において、端末10は、平文m1及び平文m2から、平文mを復元する。
次に、図10に示すように、ステップS301において、端末10は、利用者Uiの公開鍵Ui.t及び公開情報pを用いて、“2-level HIBE”の暗号化アルゴリズムに基づいて、平文m1と乱数r1とを結合した、(m1‖r1)(を含む情報)を暗号化することにより、暗号文c1’を作成する。なお、かかる場合、確率的暗号化のための乱数として、(m,m1,r1,r2)を指定されたハッシュ関数(例えば、SHA-1)を用いて得られるハッシュ値を用いる。
ステップS302において、端末10は、利用者Uiの公開鍵Ui.t及び公開情報p’を用いて、IBE方式の暗号化アルゴリズムに基づいて、平文m2と乱数r2とを結合した(m2‖r2)(を含む情報)を暗号化することにより、暗号文c2’を作成する。なお、かかる場合、確率的暗号化のための乱数として、(m,m2,r1,r2)を指定されたハッシュ関数(例えば、SHA-1)を用いて得られるハッシュ値を用いる。
ステップS303において、端末10は、ステップS226”において受信した暗号文cに含まれる暗号文c1及びc2と、ステップS301及びS302において作成した暗号文c1’及びc2’とが、c1’=c1、c2’=c2であるか否かを判定する。
ステップS304において、端末10は、ステップS303の判定の結果、c1’=c1、c2’=c2でない場合、復号が正常にできなかったものとして、つまり、暗号文が利用者Uiの公開鍵に基づいて、正常に作成されていないものとして、平文mを出力しない。
ステップS305において、端末10は、ステップS303の判定の結果、c1’=c1、c2’=c2である場合、暗号文が利用者Uiの公開鍵に基づいて、正常に作成されているものとして、平文mを利用者Uiが利用できるように出力する。
(作用・効果)
上述した本発明の実施形態によれば、IDに基づく暗号方式において、利用者Ui(端末10)は、センタサーバ100などと交信を行うことなく、復号鍵を更新することができる。
上述した本発明の実施形態によれば、IDに基づく暗号方式において、利用者Ui(端末10)は、センタサーバ100などと交信を行うことなく、復号鍵を更新することができる。
また、本実施形態によれば、IDに基づく暗号方式において、利用者Ui(端末10)は、センタサーバ100などと交信を行うことなく、復号鍵を更新することができ、かつ、利用者Uiと、復号鍵を更新する時刻を示す情報から構成される利用者Uiのある時点における公開鍵(Ui.t)に対応する復号鍵(dit)を、随時自由に更新することができる。
また、上述した動作例2及び変更例1によれば、公開鍵(暗号鍵)・復号鍵のペアが2組利用(“2-level HIBE”及びBoneh, Franklin方式などのIBE方式)されるため、外部装置50に記憶されている秘密情報、つまり、“2-level HIBE”の鍵生成アルゴリズムに基づいて生成される復号鍵の更新に用いられる更新鍵hiが、他者に漏洩した場合でも安全な、IDに基づく暗号化および復号方法を提供することができる。
さらに、上述した変更例2によれば、更新鍵hiが他者に漏洩した場合でも、暗号文の安全性、つまり、平文mの情報が1ビットたりとも漏洩していないことを数学的に証明することができる、IDに基づく暗号化および復号方法を提供することができる。特に、利用者Uiに対して送信するために作成された暗号文を不正に解読しようとする攻撃者は、暗号化に利用される当該2つの復号鍵を取得しない限り、更新鍵hiを入手したとしても、当該暗号文を解読することが必ずしもできない。このため、利用者は、非常に高い安全性を確保しつつ、暗号文の送受信を行うことができる。
1…ネットワーク、10…端末、11…通信部、13…復号鍵記憶部、15…復号鍵更新部、17a…復号部、17b…暗号化部、17c…判定部、19…公開情報取得部、20a,20b…端末、21…通信部、23…公開情報取得部、25a…分割部、25b…暗号化部、27…乱数選択部、50…外部装置、51…通信部、53…更新鍵記憶部、55…鍵更新情報生成部、100…センタサーバ、101…通信部、103…更新鍵生成部、105…復号鍵生成部、107…公開情報生成部、109…マスタ鍵選択部、300…公開情報サーバ、301…公開情報記憶部
Claims (8)
- 送信端末装置と受信端末装置とによって構成される暗号システムにおいて用いられる暗号方法であって、
前記送信端末装置が、所定の秘密分散アルゴリズムに基づいて、平文を第1の平文と第2の平文とに分割するステップと、
前記送信端末装置が、所定の集団に所属する利用者に固有な識別子を公開鍵とする暗号方式において用いられる、前記公開鍵と対応する復号鍵の生成を階層化する階層化アルゴリズム、及び前記階層化アルゴリズムに基づいて生成され、前記所定の集団に公開される公開情報を用いて、前記第1の平文を暗号化して第1の暗号文を作成するステップと、
前記送信端末装置が、前記暗号方式において用いられる、前記階層化アルゴリズムと異なる非階層化アルゴリズム、及び前記非階層化アルゴリズムに基づいて生成され、前記所定の集団に公開される第2の公開情報を用いて、前記第2の平文を暗号化して第2の暗号文を作成するステップと、
前記受信端末装置が、前記階層化アルゴリズムに基づいて、前記公開情報及び前記復号鍵を用いて、前記第1の暗号文を復号して前記第1の平文を出力するステップと、
前記受信端末装置が、前記非階層化アルゴリズムに基づいて、前記第2の公開情報及び前記非階層化アルゴリズムに基づく復号鍵を用いて、前記第2の暗号文を復号して前記第2の平文を出力するステップと
を備えることを特徴とする暗号方法。 - 送信端末装置と受信端末装置とによって構成される暗号システムであって、
前記送信端末装置は、
所定の秘密分散アルゴリズムに基づいて、平文を第1の平文と第2の平文とに分割する分割部と、
所定の集団に所属する利用者に固有な識別子を公開鍵とする暗号方式において用いられる、前記公開鍵と対応する復号鍵の生成を階層化する階層化アルゴリズム、及び前記階層化アルゴリズムに基づいて生成され、前記所定の集団に公開される公開情報を用いて、前記第1の平文を暗号化して第1の暗号文を作成する第1の暗号化部と、
前記暗号方式において用いられる、前記階層化アルゴリズムと異なる非階層化アルゴリズム、及び前記非階層化アルゴリズムに基づいて生成され、前記所定の集団に公開される第2の公開情報を用いて、前記第2の平文を暗号化して第2の暗号文を作成する第2の暗号化部と
を備え、
前記受信端末装置は、
前記階層化アルゴリズムに基づいて、前記公開情報及び前記復号鍵を用いて、前記第1の暗号文を復号して前記第1の平文を出力する第1の復号部と、
前記非階層化アルゴリズムに基づいて、前記第2の公開情報及び前記非階層化アルゴリズムに基づく復号鍵を用いて、前記第2の暗号文を復号して前記第2の平文を出力する第2の復号部と
を備えることを特徴とする暗号システム。 - 所定の集団に所属する利用者に固有な識別子を公開鍵とする暗号方式において用いられる、前記公開鍵と対応する復号鍵の生成を階層化する階層化アルゴリズム、前記階層化アルゴリズムに基づいて生成され、前記所定の集団に公開される公開情報、及び前記復号鍵を用いて、第1の暗号文を復号して第1の平文を出力する第1の復号部と、
前記暗号方式において用いられる、前記階層化アルゴリズムと異なる非階層化アルゴリズム、前記非階層化アルゴリズムに基づいて生成され、前記所定の集団に公開される第2の公開情報、及び前記非階層化アルゴリズムに基づく復号鍵を用いて、第2の暗号文を復号して第2の平文を出力する第2の復号部と
を備えることを特徴とする端末装置。 - 前記の第1の暗号文は、前記平文、前記第1の平文、前記第1の乱数及び前記第2の乱数を所定の一方向ハッシュ関数に入力して得られるハッシュ値を用いて、前記第1の平文と前記第1の乱数とが含まれる第1の情報付加平文が暗号化されたものであるとともに、前記の第2の暗号文は、前記平文、前記第2の平文、前記第1の乱数及び前記第2の乱数を所定の一方向ハッシュ関数に入力して得られるハッシュ値を用いて、前記第2の平文と前記第2の乱数とが含まれる第2の情報付加平文が暗号化されたものであり、
前記階層化アルゴリズムを用いて、前記第1の復号部によって復号された前記第1の情報付加平文を暗号化して、第1の再暗号化文を作成する第1の再暗号化部と、
前記非階層化アルゴリズムを用いて、前記第2の復号部によって復号された前記第2の情報付加平文を暗号化して、第2の再暗号化文を作成する第2の再暗号化部と、
前記第1の再暗号文と前記第1の暗号文とが一致するか否かを判定するとともに、前記第2の再暗号文と前記第2の暗号文とが一致するか否かを判定する判定部と
をさらに備えることを特徴とする請求項3に記載の端末装置。 - 所定の集団に所属する利用者に固有な識別子を公開鍵とする暗号方式において用いられる、前記公開鍵と対応する復号鍵の生成を階層化する階層化アルゴリズム、及び前記階層化アルゴリズムに基づいて生成され、前記所定の集団に公開される公開情報、及び前記復号鍵を用いて、第2の暗号文を復号して第1の暗号文を出力する第1の復号部と、
前記暗号方式において用いられる、前記階層化アルゴリズムと異なる非階層化アルゴリズム、前記非階層化アルゴリズムに基づいて生成され、前記所定の集団に公開される第2の公開情報、及び前記非階層化アルゴリズムに基づく復号鍵を用いて、前記第1の暗号文を復号して平文を出力する第2の復号部と
を備えることを特徴とする端末装置。 - 所定の秘密分散アルゴリズムに基づいて、平文を第1の平文と第2の平文とに分割する分割部と、
所定の集団に所属する利用者に固有な識別子を公開鍵とする暗号方式において用いられる、前記公開鍵と対応する復号鍵の生成を階層化する階層化アルゴリズム、及び前記階層化アルゴリズムに基づいて生成され、前記所定の集団に公開される公開情報を用いて、前記第1の平文を暗号化して第1の暗号文を作成する第1の暗号化部と、
前記暗号方式において用いられる、前記階層化アルゴリズムと異なる非階層化アルゴリズム、及び前記非階層化アルゴリズムに基づいて生成され、前記所定の集団に公開される第2の公開情報を用いて、前記第2の平文を暗号化して第2の暗号文を作成する第2の暗号化部と
を備えることを特徴とする端末装置。 - 第1の乱数及び第2の乱数を選択する乱数選択部をさらに備え、
前記第1の暗号化部は、前記平文、前記第1の平文、前記第1の乱数及び前記第2の乱数を所定の一方向ハッシュ関数に入力して得られるハッシュ値を用いて、前記第1の平文と前記第1の乱数とが含まれる第1の情報付加平文を暗号化し、
前記第2の暗号化部は、前記平文、前記第2の平文、前記第1の乱数及び前記第2の乱数を所定の一方向ハッシュ関数に入力して得られるハッシュ値を用いて、前記第2の平文と前記第2の乱数とが含まれる第2の情報付加平文を暗号化することを特徴とする請求項6に記載の端末装置。 - 所定の集団に所属する利用者に固有な識別子を公開鍵とする暗号方式において用いられる、前記公開鍵と対応する復号鍵の生成を階層化する階層化アルゴリズム、及び前記階層化アルゴリズムに基づいて生成され、前記所定の集団に公開される公開情報を用いて、平文を暗号化して第1の暗号文を作成する第1の暗号化部と、
前記暗号方式において用いられる、前記階層化アルゴリズムと異なる非階層化アルゴリズム、及び前記非階層化アルゴリズムに基づいて生成され、前記所定の集団に公開される第2の公開情報を用いて、前記第1の暗号文を暗号化して第2の暗号文を作成する第2の暗号化部と
を備えることを特徴とする端末装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004004421A JP2005198187A (ja) | 2004-01-09 | 2004-01-09 | 暗号方法、暗号システム及び端末装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004004421A JP2005198187A (ja) | 2004-01-09 | 2004-01-09 | 暗号方法、暗号システム及び端末装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005198187A true JP2005198187A (ja) | 2005-07-21 |
Family
ID=34819043
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004004421A Pending JP2005198187A (ja) | 2004-01-09 | 2004-01-09 | 暗号方法、暗号システム及び端末装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005198187A (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007053449A (ja) * | 2005-08-15 | 2007-03-01 | Ntt Docomo Inc | 復号装置、暗号化装置、通信システム及び通信方法 |
JP2007053442A (ja) * | 2005-08-15 | 2007-03-01 | Ntt Docomo Inc | 復号装置、暗号化装置、通信システム及び通信方法 |
JP2009033608A (ja) * | 2007-07-30 | 2009-02-12 | Ntt Docomo Inc | 正当性検証装置及び正当性検証方法 |
CN109040041A (zh) * | 2018-07-23 | 2018-12-18 | 深圳职业技术学院 | 数据分层加密装置及相关电子装置、存储介质 |
CN113347211A (zh) * | 2021-08-04 | 2021-09-03 | 北京微芯感知科技有限公司 | 身份分层加密方法、装置、系统、计算机设备及存储介质 |
CN113645183A (zh) * | 2021-06-21 | 2021-11-12 | 苏州工业园区服务外包职业学院 | 数据加密传输方法、系统、计算机设备及存储介质 |
CN116436697A (zh) * | 2023-06-07 | 2023-07-14 | 北京华云安信息技术有限公司 | 数据传输加解密方法、装置、电子设备及存储介质 |
-
2004
- 2004-01-09 JP JP2004004421A patent/JP2005198187A/ja active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007053449A (ja) * | 2005-08-15 | 2007-03-01 | Ntt Docomo Inc | 復号装置、暗号化装置、通信システム及び通信方法 |
JP2007053442A (ja) * | 2005-08-15 | 2007-03-01 | Ntt Docomo Inc | 復号装置、暗号化装置、通信システム及び通信方法 |
JP2009033608A (ja) * | 2007-07-30 | 2009-02-12 | Ntt Docomo Inc | 正当性検証装置及び正当性検証方法 |
CN109040041A (zh) * | 2018-07-23 | 2018-12-18 | 深圳职业技术学院 | 数据分层加密装置及相关电子装置、存储介质 |
CN109040041B (zh) * | 2018-07-23 | 2021-04-06 | 深圳职业技术学院 | 数据分层加密装置及相关电子装置、存储介质 |
CN113645183A (zh) * | 2021-06-21 | 2021-11-12 | 苏州工业园区服务外包职业学院 | 数据加密传输方法、系统、计算机设备及存储介质 |
CN113645183B (zh) * | 2021-06-21 | 2023-08-15 | 苏州工业园区服务外包职业学院 | 数据加密传输方法、系统、计算机设备及存储介质 |
CN113347211A (zh) * | 2021-08-04 | 2021-09-03 | 北京微芯感知科技有限公司 | 身份分层加密方法、装置、系统、计算机设备及存储介质 |
CN113347211B (zh) * | 2021-08-04 | 2021-11-23 | 北京微芯感知科技有限公司 | 身份分层加密方法、装置、系统、计算机设备及存储介质 |
CN116436697A (zh) * | 2023-06-07 | 2023-07-14 | 北京华云安信息技术有限公司 | 数据传输加解密方法、装置、电子设备及存储介质 |
CN116436697B (zh) * | 2023-06-07 | 2023-09-12 | 北京华云安信息技术有限公司 | 数据传输加解密方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lin et al. | Secure threshold multi authority attribute based encryption without a central authority | |
US7711113B2 (en) | ID-based signature, encryption system and encryption method | |
US7657037B2 (en) | Apparatus and method for identity-based encryption within a conventional public-key infrastructure | |
JP5361920B2 (ja) | ファイルサーバシステム | |
CN103647642A (zh) | 一种基于证书代理重加密方法及系统 | |
CN105743646A (zh) | 一种基于身份的加密方法及系统 | |
JP6115573B2 (ja) | 暗号システム、データ保存システム、それに用いる装置および方法 | |
CN108880796A (zh) | 一种针对服务器高效的基于属性加密算法的外包解密方法 | |
CN101710879A (zh) | 一种新型的基于身份的保密邮件转发系统 | |
JP4288184B2 (ja) | 鍵更新方法、暗号システム、暗号サーバ、端末装置及び外部装置 | |
JP2005252384A (ja) | 暗号化データ保管サーバシステム、暗号化データ保管方法及び再暗号化方法 | |
JP2015002409A (ja) | 暗号化鍵更新システム及びその方法 | |
JP5135070B2 (ja) | 暗号文復号権限委譲システム | |
CN114095171A (zh) | 一种基于身份的可穿刺代理重加密方法 | |
JP2005198187A (ja) | 暗号方法、暗号システム及び端末装置 | |
JP5469618B2 (ja) | 暗号化システム、復号方法、鍵更新方法、鍵生成装置、受信装置、代理計算装置、プログラム | |
CN107682158A (zh) | 一种可托管的认证加密方法 | |
CN104639319A (zh) | 基于身份的代理重加密方法和系统 | |
CN103873248B (zh) | 带有证书的基于身份的加密方法和装置 | |
JP2005176144A (ja) | 端末装置、通信システム及び通信方法 | |
KR101373577B1 (ko) | Id 기반 동적 임계 암호화 장치 및 그 방법 | |
JP3895245B2 (ja) | 鍵の更新が可能な利用者の識別情報に基づく暗号化方法及び暗号システム | |
KR101793528B1 (ko) | 무인증서 공개키 암호 시스템 | |
JP7043203B2 (ja) | 暗号化装置、復号装置、暗号化システム、暗号化方法及び暗号化プログラム | |
JP4143036B2 (ja) | 鍵生成システム、鍵生成サーバ及び鍵生成方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060424 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090424 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090901 |