JP2005198189A - 鍵更新方法、暗号システム、暗号サーバ、端末装置及び外部装置 - Google Patents

鍵更新方法、暗号システム、暗号サーバ、端末装置及び外部装置 Download PDF

Info

Publication number
JP2005198189A
JP2005198189A JP2004004430A JP2004004430A JP2005198189A JP 2005198189 A JP2005198189 A JP 2005198189A JP 2004004430 A JP2004004430 A JP 2004004430A JP 2004004430 A JP2004004430 A JP 2004004430A JP 2005198189 A JP2005198189 A JP 2005198189A
Authority
JP
Japan
Prior art keywords
key
update
public
algorithm
decryption
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.)
Granted
Application number
JP2004004430A
Other languages
English (en)
Other versions
JP4288184B2 (ja
Inventor
Yutsuko Hanaoka
裕都子 花岡
Goichiro Hanaoka
悟一郎 花岡
Junji Yomo
順司 四方
Hideki Imai
秀樹 今井
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 JP2004004430A priority Critical patent/JP4288184B2/ja
Publication of JP2005198189A publication Critical patent/JP2005198189A/ja
Application granted granted Critical
Publication of JP4288184B2 publication Critical patent/JP4288184B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

【課題】 IDに基づく暗号方式において、他者と交信を行うことなく、利用者の復号鍵を更新することができる鍵更新方法、暗号システム、暗号サーバ、端末装置及び外部装置を提供する。
【解決手段】 本発明に係るセンタサーバ100は、利用者に固有な識別子を公開鍵とする暗号方式において用いられる、当該公開鍵と対応する復号鍵の生成を階層化する階層化アルゴリズム(HIBE)に基づいて、マスタ鍵を選択するマスタ鍵選択部109と、マスタ鍵及びHIBEに基づいて、所定の集団に公開される公開情報を演算して生成する公開情報生成部107と、マスタ鍵及び公開情報を用い、HIBEに基づいて、識別子に対応する復号鍵の更新に用いられる更新鍵を生成する更新鍵生成部103と、マスタ鍵及び識別子を用い、HIBEに基づいて、復号鍵を生成する復号鍵生成部105とを備える。
【選択図】 図2

Description

本発明は、電子メールアドレスなど、利用者に固有な識別子(ID)に基づく暗号方式、いわゆるIBE(Identity-Based Encryption)に関し、特に、IDに基づく暗号方式による利用者の復号鍵を、利用者の端末装置内部において更新する、いわゆる鍵隔離型暗号方式により更新する鍵更新方法、暗号システム、暗号サーバ、端末装置及び外部装置に関する。
従来、電子メールアドレスなど、利用者に固有な識別子(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等が知られている。
また、rは(1,2,...,q-1)よりランダムに選んだ値である。また、(+)は排他的論理和を表すものとする。dcharの保持者は次のように、Cを復号する。
{M(+)H(e(Qi,Ppub)r)}(+)H{e(dchar,rP)}=M
さらに、上述したBoneh, Franklin方式を拡張することにより、利用者の復号鍵を生成するセンタ(サーバ)を階層化することができる(例えば、非特許文献2)。
例えば、ルートセンタは、各サブセンタに対して、それぞれ異なる秘密情報(マスタ鍵)を与える。また、各サブセンタは、ルートセンタから与えられた秘密情報を用いて、当該サブセンタが管轄する利用者の復号鍵を生成する。このように、利用者の復号鍵を生成するセンタを2レベルに階層化することを、以下、“2-level HIBE”と呼ぶ。
2-level HIBEでは、ルートセンタは、サブセンタに対して、char1.*(*は任意の文字列)に対応した復号鍵を生成するために用いられる秘密情報を与える。また、当該サブセンタは、利用者に対して、char1.char2(char2は、サブセンタが定めた任意の文字列)に対応した復号鍵を生成する。
また、従来の公開鍵暗号方式において、他者と交信を行うことなく、つまり、復号鍵を生成するサーバなどを用いることなく、復号鍵を更新する方法として、鍵隔離型暗号方式が知られている(例えば、非特許文献3、4)。
鍵隔離型暗号方式では、利用者は、まず、鍵生成アルゴリズムを用いて生成される当該利用者の公開鍵と、初期復号鍵と、復号鍵の更新に用いられる更新鍵(ヘルパー鍵)を取得する。次いで、公開鍵は、ネットワーク上に公開され、初期復号鍵は、利用者の端末装置に記憶される。また、更新鍵は、ネットワークから隔離された外部装置(例えば、ICカード)に記憶される。
例えば、復号鍵uski-1をuskiに更新する場合、利用者は、外部装置に復号鍵の更新を依頼する。依頼を受けた外部装置は、記憶されている更新鍵(ヘルパー鍵)hskを用いて、鍵更新アルゴリズムに基づいて鍵更新情報hskiを生成し、これを安全な通信路を用いて利用者の端末装置に送信する。利用者の端末装置は、受信した鍵更新情報hskiと、復号鍵uski-1に基づいて、復号鍵uskiを生成する。
また、例えば、利用者Aが、集団内の他の利用者Bに暗号文を送信する場合、利用者A(の端末装置)は、利用者Bの公開鍵(pk)を取得する。次いで、利用者A(の端末装置)は、取得した利用者Bの公開鍵(pk)と、時刻情報(i)、例えば、鍵の更新回数と、メッセージ(M)と、暗号アルゴリズムとを用いて、暗号文(C)を生成し利用者Bに送信する。
利用者Bは、自身の復号鍵uskiと、復号アルゴリズムとを用いて、暗号文(C)を復号する。
上述した鍵隔離型暗号方式の主な特徴は、ある期間に適用される利用者の復号鍵のいくつかが漏洩した場合においても、漏洩した復号鍵の総数が一定数を超えない限り、当該漏洩した復号鍵が該当する期間以外のその他の期間に適用される復号鍵については、当該利用者以外の者には依然として未知なことである。したがって、利用者は、復号鍵を頻繁に更新することにより、復号鍵の漏洩による被害を低減することができる。
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 Y. Dodis, J. Katz. S. Xu and M, Yung, "Key-Insulated Public Key Cryptosystems, "Proc. of Eurocrypt 2002, LNCS 2332, Springer-Verlag, pp. 65-82, 2002 M. Bellare and A. Palacio, "Protecting against Key Exposure: Strongly Key-Insulated Encryption with Optimal Threshold", Cryptology ePrint Archive 064, インターネット<URL: http://eprint.iacr.org/2002>
しかしながら、上述した従来のIDに基づく暗号方式(IBE)と、鍵隔離型暗号方式とは、用いられる鍵生成アルゴリズムなどが異なるため、IBEと鍵隔離型暗号方式とを直接組み合わせて利用することができない。すなわち、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によって生成された公開情報を公開する公開情報サーバ300が接続されている。
さらに、端末10には、センタサーバ100によって生成された更新鍵を記憶するとともに、当該更新鍵を用いて、復号鍵の更新に用いられる鍵更新情報を生成する外部装置50が接続されている。
(暗号システムの論理ブロック構成)
次に、図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を参照して説明する。
図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-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に送信する。
ステップ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以降の動作から説明する。
同図に示すように、ステップ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のステップ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などと交信を行うことなく、復号鍵を更新することができ、かつ、利用者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を示すシーケンス図である。 本発明の実施形態に係る暗号システムの動作例1を示すシーケンス図である。 本発明の実施形態に係る暗号システムの動作例2を示すシーケンス図である。 本発明の実施形態に係る暗号システムの動作例2を示すシーケンス図である。 本発明の実施形態に係る暗号システムの動作例2を示すシーケンス図である。 本発明の実施形態に係る暗号システムの動作の変更例1を示すシーケンス図である。 本発明の実施形態に係る暗号システムの動作の変更例2を示すシーケンス図である。 本発明の実施形態に係る暗号システムの動作の変更例2を示すシーケンス図である。
符号の説明
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 (6)

  1. 暗号サーバが、所定の集団に所属する利用者に固有な識別子を公開鍵とする暗号方式において用いられる、前記公開鍵と対応する復号鍵の生成を階層化する階層化アルゴリズムに基づいて、マスタ鍵及び前記所定の集団に公開される公開情報を演算して生成するステップと、
    前記暗号サーバが、前記マスタ鍵及び前記公開情報を用い、前記階層化アルゴリズムに基づいて、前記復号鍵の更新に用いられる更新鍵を生成するステップと、
    前記暗号サーバが、前記マスタ鍵及び前記識別子を用い、前記階層化アルゴリズムに基づいて、前記復号鍵を生成するステップと、
    前記利用者の端末装置が、前記更新鍵及び前記復号鍵を取得するステップと、
    前記端末装置が、前記公開情報と、前記更新鍵と、前記復号鍵の更新後における利用可能な時間範囲を示す時間情報とを用い、前記階層化アルゴリズムに基づいて、鍵更新情報を生成するステップと、
    前記端末装置が、前記鍵更新情報を取得し、取得した前記鍵更新情報を新復号鍵とするステップと
    を備えることを特徴とする前記識別子に対応する前記復号鍵の鍵更新方法。
  2. 所定の集団に所属する利用者に固有な識別子を公開鍵とする暗号方式において用いられる、前記公開鍵と対応する復号鍵の生成を階層化する階層化アルゴリズムに基づいて、マスタ鍵を選択するマスタ鍵選択部と、
    前記マスタ鍵及び前記階層化アルゴリズムに基づいて、前記所定の集団に公開される公開情報を演算して生成する公開情報生成部と、
    前記マスタ鍵及び前記公開情報を用い、前記階層化アルゴリズムに基づいて、前記復号鍵の更新に用いられる更新鍵を生成する更新鍵生成部と、
    前記マスタ鍵及び前記識別子を用い、前記階層化アルゴリズムに基づいて、前記復号鍵を生成する復号鍵生成部と、
    前記公開情報と、前記更新鍵と、前記復号鍵の更新後における利用可能な時間範囲を示す時間情報とを用い、前記階層化アルゴリズムに基づいて、鍵更新情報を生成する鍵更新情報生成部と、
    前記鍵更新情報を取得し、取得した前記鍵更新情報を新復号鍵とする復号鍵更新部と
    を備えることを特徴とする暗号システム。
  3. 所定の集団に所属する利用者に固有な識別子を公開鍵とする暗号方式において用いられる、前記公開鍵と対応する復号鍵の生成を階層化する階層化アルゴリズムに基づいて、マスタ鍵を選択するマスタ鍵選択部と、
    前記マスタ鍵及び前記階層化アルゴリズムに基づいて、前記所定の集団に公開される公開情報を演算して生成する公開情報生成部と、
    前記マスタ鍵及び前記公開情報を用い、前記階層化アルゴリズムに基づいて、前記識別子に対応する復号鍵の更新に用いられる更新鍵を生成する更新鍵生成部と、
    前記マスタ鍵及び前記識別子を用い、前記階層化アルゴリズムに基づいて、前記復号鍵を生成する復号鍵生成部と
    を備えることを特徴とする暗号サーバ。
  4. 前記マスタ鍵選択部は、前記暗号方式において用いられる、前記階層化アルゴリズムと異なる非階層化アルゴリズムに基づいて、第2のマスタ鍵をさらに選択し、
    前記公開情報生成部は、前記非階層化アルゴリズムに基づいて、第2の公開情報をさらに生成し、
    前記復号鍵生成部は、前記第2のマスタ鍵及び前記識別子を用いて、第2の復号鍵をさらに生成することを特徴とする請求項3に記載の暗号サーバ。
  5. 所定の集団に所属する利用者に固有な識別子を公開鍵とする暗号方式において用いられる、前記公開鍵と対応する復号鍵の生成を階層化する階層化アルゴリズムに基づいて選択されたマスタ鍵、前記階層化アルゴリズムに基づいて生成され、前記所定の集団に公開される公開情報、前記識別子に対応する復号鍵の更新に用いられる更新鍵、及び前記復号鍵の更新後における利用可能な時間範囲を示す時間情報とを用いて生成された鍵更新情報を取得する鍵更新情報取得部と、
    前記鍵更新情報取得部によって取得された鍵更新情報を新復号鍵とする復号鍵更新部と
    を備えることを特徴とする端末装置。
  6. 所定の集団に属する利用者の端末装置と接続される外部装置であって、
    前記利用者に固有な識別子を公開鍵とする暗号方式において用いられる、前記公開鍵と対応する復号鍵の生成を階層化する階層化アルゴリズムに基づいて選択されたマスタ鍵、及び前記階層化アルゴリズムに基づいて生成され、前記所定の集団に公開される公開情報を用いて生成された、前記識別子に対応する復号鍵の更新に用いられる更新鍵を取得して記憶する更新鍵記憶部と、
    前記公開情報を取得し、取得した前記公開情報及び前記更新鍵と、前記復号鍵を更新可能な時間を示す時間情報とを用い、前記階層化アルゴリズムに基づいて、前記復号鍵の更新に用いられる鍵更新情報を生成する鍵更新情報生成部と
    を備えることを特徴とする外部装置。
JP2004004430A 2004-01-09 2004-01-09 鍵更新方法、暗号システム、暗号サーバ、端末装置及び外部装置 Expired - Fee Related JP4288184B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004004430A JP4288184B2 (ja) 2004-01-09 2004-01-09 鍵更新方法、暗号システム、暗号サーバ、端末装置及び外部装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004004430A JP4288184B2 (ja) 2004-01-09 2004-01-09 鍵更新方法、暗号システム、暗号サーバ、端末装置及び外部装置

Publications (2)

Publication Number Publication Date
JP2005198189A true JP2005198189A (ja) 2005-07-21
JP4288184B2 JP4288184B2 (ja) 2009-07-01

Family

ID=34819050

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004004430A Expired - Fee Related JP4288184B2 (ja) 2004-01-09 2004-01-09 鍵更新方法、暗号システム、暗号サーバ、端末装置及び外部装置

Country Status (1)

Country Link
JP (1) JP4288184B2 (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
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 復号装置、暗号化装置、通信システム及び通信方法
JP2007312346A (ja) * 2006-04-18 2007-11-29 Ntt Docomo Inc 暗号化処理方法、鍵隔離型暗号システム及び端末装置
JP2009033608A (ja) * 2007-07-30 2009-02-12 Ntt Docomo Inc 正当性検証装置及び正当性検証方法
JP2010161523A (ja) * 2009-01-07 2010-07-22 Nippon Telegr & Teleph Corp <Ntt> 鍵生成装置、暗号化装置、復号化装置、暗号化システム、鍵生成方法、暗号化方法、復号化方法、プログラム、および記録媒体
WO2015023550A1 (en) * 2013-08-13 2015-02-19 Fiske Software, LLC. Nado cryptography using one-way functions
US9235697B2 (en) 2012-03-05 2016-01-12 Biogy, Inc. One-time passcodes with asymmetric keys
KR101674643B1 (ko) * 2015-08-31 2016-11-10 고려대학교 산학협력단 폐기 기능을 갖는 무한한 계층적 id 기반 암호화 시스템
KR101732130B1 (ko) 2015-11-05 2017-05-04 고려대학교 산학협력단 폐기 기능을 갖는 무한한 계층적 id 기반 서명 방법
CN107425955A (zh) * 2017-06-23 2017-12-01 河南理工大学 一种高效可固定维数陷门派生的格上身份基分级加密方法

Cited By (11)

* Cited by examiner, † Cited by third party
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 復号装置、暗号化装置、通信システム及び通信方法
JP2007312346A (ja) * 2006-04-18 2007-11-29 Ntt Docomo Inc 暗号化処理方法、鍵隔離型暗号システム及び端末装置
JP2009033608A (ja) * 2007-07-30 2009-02-12 Ntt Docomo Inc 正当性検証装置及び正当性検証方法
JP2010161523A (ja) * 2009-01-07 2010-07-22 Nippon Telegr & Teleph Corp <Ntt> 鍵生成装置、暗号化装置、復号化装置、暗号化システム、鍵生成方法、暗号化方法、復号化方法、プログラム、および記録媒体
US9235697B2 (en) 2012-03-05 2016-01-12 Biogy, Inc. One-time passcodes with asymmetric keys
WO2015023550A1 (en) * 2013-08-13 2015-02-19 Fiske Software, LLC. Nado cryptography using one-way functions
KR101674643B1 (ko) * 2015-08-31 2016-11-10 고려대학교 산학협력단 폐기 기능을 갖는 무한한 계층적 id 기반 암호화 시스템
KR101732130B1 (ko) 2015-11-05 2017-05-04 고려대학교 산학협력단 폐기 기능을 갖는 무한한 계층적 id 기반 서명 방법
CN107425955A (zh) * 2017-06-23 2017-12-01 河南理工大学 一种高效可固定维数陷门派生的格上身份基分级加密方法
CN107425955B (zh) * 2017-06-23 2020-10-09 河南理工大学 一种高效可固定维数陷门派生的格上身份基分级加密方法

Also Published As

Publication number Publication date
JP4288184B2 (ja) 2009-07-01

Similar Documents

Publication Publication Date Title
Lin et al. Secure threshold multi authority attribute based encryption without a central authority
US7657037B2 (en) Apparatus and method for identity-based encryption within a conventional public-key infrastructure
JP5361920B2 (ja) ファイルサーバシステム
CN108880796A (zh) 一种针对服务器高效的基于属性加密算法的外包解密方法
JP6033741B2 (ja) 暗号化鍵更新システム及びその方法
JP4288184B2 (ja) 鍵更新方法、暗号システム、暗号サーバ、端末装置及び外部装置
JP5325755B2 (ja) 暗号文復号権限委譲システム、暗号文復号権限委譲方法、暗号文変換装置、復号権限所持者用装置および暗号文変換プログラム
JP5135070B2 (ja) 暗号文復号権限委譲システム
US20070183600A1 (en) Secure Cryptographic Communication System Using Kem-Dem
KR20040009766A (ko) 암호 시스템에서 송수신 장치 및 방법
JP5469618B2 (ja) 暗号化システム、復号方法、鍵更新方法、鍵生成装置、受信装置、代理計算装置、プログラム
JP2005198187A (ja) 暗号方法、暗号システム及び端末装置
CN104639319A (zh) 基于身份的代理重加密方法和系统
JP2005176144A (ja) 端末装置、通信システム及び通信方法
CN103873248B (zh) 带有证书的基于身份的加密方法和装置
KR101373577B1 (ko) Id 기반 동적 임계 암호화 장치 및 그 방법
JP3895245B2 (ja) 鍵の更新が可能な利用者の識別情報に基づく暗号化方法及び暗号システム
JPWO2005098796A1 (ja) 暗号方式の安全性を保証するパディング適用方法
JP7043203B2 (ja) 暗号化装置、復号装置、暗号化システム、暗号化方法及び暗号化プログラム
JP4143036B2 (ja) 鍵生成システム、鍵生成サーバ及び鍵生成方法
KR101727691B1 (ko) Id 기반 수신자 제한 암호 서버 및 시스템
JP4612027B2 (ja) 署名システム
JP4856933B2 (ja) 署名装置、検証装置、復号装置、平文復元装置、情報提供装置、署名システム、通信システム、鍵生成装置及び署名方法
JP4199137B2 (ja) 更新鍵を格納する外部装置
KR101306211B1 (ko) 아이디 기반의 브로드캐스트 암호화 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060424

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080520

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080603

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080804

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090303

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090330

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120403

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120403

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130403

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130403

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140403

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees