JP4143036B2 - 鍵生成システム、鍵生成サーバ及び鍵生成方法 - Google Patents

鍵生成システム、鍵生成サーバ及び鍵生成方法 Download PDF

Info

Publication number
JP4143036B2
JP4143036B2 JP2004017582A JP2004017582A JP4143036B2 JP 4143036 B2 JP4143036 B2 JP 4143036B2 JP 2004017582 A JP2004017582 A JP 2004017582A JP 2004017582 A JP2004017582 A JP 2004017582A JP 4143036 B2 JP4143036 B2 JP 4143036B2
Authority
JP
Japan
Prior art keywords
key
key generation
predetermined
character string
user
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.)
Expired - Lifetime
Application number
JP2004017582A
Other languages
English (en)
Other versions
JP2005210639A (ja
Inventor
裕都子 花岡
悟一郎 花岡
順司 四方
秀樹 今井
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 JP2004017582A priority Critical patent/JP4143036B2/ja
Publication of JP2005210639A publication Critical patent/JP2005210639A/ja
Application granted granted Critical
Publication of JP4143036B2 publication Critical patent/JP4143036B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Description

本発明は、利用者に固有な所定の文字列である利用者固有文字列を利用者の公開鍵とする所定の暗号方式、いわゆるIBEに基づいて、当該公開鍵と対になる秘密鍵の生成を階層化する鍵生成システム、鍵生成サーバ及び鍵生成方法に関する。
従来、電子メールアドレスなど、利用者に固有な所定の文字列、すなわち、利用者に固有な識別子(ID)を公開鍵として用いることができる暗号方式、いわゆるIBE(Identity-Based Encryption)が知られている(例えば、非特許文献1、2)。すなわち、IBEは、平文の暗号化に用いられる公開鍵(暗号鍵)として、任意の文字列を選択することができる特徴を有している。
例えば、非特許文献1に係るBoneh, Franklin方式のIBEでは、まず、秘密鍵(復号鍵)の生成及び管理を行うセンタが、所定の利用者の集団内において共通に用いられる秘密情報、いわゆるマスタ鍵(s)を生成し、(s)に対応する公開情報(p)を公開する。次に、利用者の電子メールアドレスなど、任意の文宇列(char)と(s)を作用させ、当該文字列に対する復号鍵(dchar)を生成する(便宜上、このような復号鍵dcharを「charに基づく復号鍵」と呼ぶ)。(char)及び(p)を用いて暗号化された暗号文は、(dchar)により復号可能となる。例えば、(char)として、(char)に対応する復号鍵の保持者となる利用者、つまり暗号文の受信者の電子メールアドレスが利用される場合、平文(m)の送信者は、当該利用者の電子メールアドレス及び(p)を用いて、平文(m)の暗号文(c)を生成することができる。
より具体的には、センタは、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
このようなIBEの特徴により、従来の公開鍵暗号方式(例えば、RSA方式)において必要となる、センタ(センタサーバ)からの公開鍵の取得手続や、公開鍵の正当性の検証処理を省くことが可能となるため、簡便な暗号システムを構成することができる。
上述したように、IBEは、従来の公開鍵暗号方式と比較して、有用な暗号方式であるものの、センタでは、すべての利用者の復号鍵を生成しなくてならないため、当該センタにおける復号鍵の生成に伴う負荷が問題となる。
そこで、かかる負荷を軽減するため、利用者の復号鍵を生成するセンタを階層化する、階層化IBE(Hierarchical IBE、以下、HIBEという)が提案されている(例えば、非特許文献3)。
HIBEでは、最上位のセンタ(ルートセンタ)は、マスタ鍵を用いて、任意の文字列(例えば、“char1”)に対応するサブマスタ鍵を生成し、“char1”が識別子として関連付けられた下位のセンタ(サブセンタ)にサブマスタ鍵を渡す。
当該サブセンタは、ルートセンタから渡されたサブマスタ鍵を用いて、利用者と対応付けられる任意の文字列(例えば、“char2”)に対し、公開鍵“char1,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. Cocks, "An Identity Based Encryption Scheme Based on Quadratic Residues", Proc. of IMA Int. Conf. 2001, Coding and Cryptography, LNCS 2260, Springer-Verlag, pp. 360-363, 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
しかしながら、これまでに知られているHIBEは、非特許文献1に示したBoneh, Franklin方式を拡張したもののみである。すなわち、従来のHIBEは、上述した(変形)Weil pairing等の写像を用いて暗号化通信の安全性を確保することに依拠しており、他の数学的問題(例えば、素因数分解)に基づいて暗号化通信の安全性を確保しつつ、HIBEを構成することができないといった問題があった。
つまり、Boneh, Franklin方式だけではなく、他のIBE、例えば、上述した非特許文献2に示されているCock氏提案のIBE(以下、“Coc01”という)に基づいて、HIBEを構成する方法が求められていた。
そこで、本発明は、以上の点に鑑みてなされたもので、利用者に固有な所定の文字列を公開鍵とすることができる任意の暗号方式を用いて、利用者の秘密鍵を生成するセンタを階層化する鍵生成システム、鍵生成サーバ及び鍵生成方法を提供することを目的とする。
上述した課題を解決するため、本発明は、次のような特徴を有している。まず、本発明の第1の特徴は、少なくとも第1の鍵生成サーバ(センタサーバ100)と第2の鍵生成サーバ(サブセンタサーバ200)とを具備し、利用者(端末10)に固有な所定の文字列である利用者固有文字列(例えば、“char2”)を前記利用者の公開鍵とする所定の暗号方式(例えば、Boneh, Franklin方式)に基づいて、前記公開鍵と対になる秘密鍵を生成する鍵生成システムであって、前記第1の鍵生成サーバが、所定数の要素(例えば、1〜uのu個の要素から構成される集合(L))の一部から構成される部分集合(F1,…,Fv)の集合(F)であって、閾値(w)以下の前記部分集合に含まれる要素の値に基づいて、他の何れかの前記部分集合に含まれる要素の値を特定することができないカバーフリー集合((u,v,w)-Cover Free Family<L,F>)を保持する集合情報保持部(CFF生成格納部103)と、前記所定の暗号方式の鍵生成アルゴリズムに基づいて、前記所定の暗号方式のマスタ鍵(s)を選択するとともに前記マスタ鍵に対応する公開情報(p1,...,pu)を生成する公開情報生成部と、前記カバーフリー集合に含まれる所定の部分集合と、前記第2の鍵生成サーバを識別するセンタ識別文字列(例えば、“char1”)とを対応付け、前記部分集合に含まれるそれぞれの要素の値を用い、前記第2の鍵生成サーバが前記秘密鍵の生成に用いるサブマスタ鍵({sj|j∈Fi})を生成するサブマスタ鍵生成部(サブマスタ鍵生成部105)とを備え、前記第2の鍵生成サーバが、前記サブマスタ鍵生成部によって生成されたそれぞれの前記サブマスタ鍵、前記センタ識別文字列(例えば、“char1”)、及び前記利用者固有文字列(例えば、“char2”)とを用い、前記鍵生成アルゴリズムに基づいて、前記秘密鍵を生成する秘密鍵生成部(復号鍵生成部205)を備えることを要旨とする。
かかる特徴によれば、第1の鍵生成サーバが、(u,v,w)-Cover Free Family<L,F>に含まれる部分集合(Subset)の要素(元、Element)の値に基づいて、HIBEを構成するための複数のサブマスタ鍵を生成する。さらに、第2の鍵生成サーバが、それぞれのサブマスタ鍵、センタ識別文字列(例えば、“char1”)、及び前記利用者固有文字列(例えば、“char2”)を用い、IBEの鍵生成アルゴリズムに基づいて秘密鍵を生成する。
このため、利用者に固有な所定の文字列を公開鍵とすることができる任意の暗号方式を用いて、利用者の秘密鍵を生成するセンタを階層化することができる。
さらに、かかる特徴によれば、Boneh, Franklin方式だけではなく、他のIBE、例えば、“Coc01”方式に基づいて、HIBEを構成することができる。
また、かかる特徴によれば、サブマスタ鍵が、(u,v,w)-Cover Free Family<L,F>に含まれる部分集合(F1,…,Fv)に基づいて生成されるため、Cover Free Familyの特性によって、他のサブセンタサーバ(第2の鍵生成サーバ)において用いられているサブマスタ鍵の情報の漏洩が防止され、暗号化通信の安全性を確保することができる。
本発明の第2の特徴は、利用者に固有な所定の文字列である利用者固有文字列を前記利用者の公開鍵とする所定の暗号方式に基づいて、前記公開鍵と対になる秘密鍵の生成に用いられる鍵生成サーバであって、所定数の要素の一部から構成される部分集合の集合であって、閾値以下の前記部分集合に含まれる要素の値に基づいて、他の何れかの前記部分集合に含まれる要素の値を特定することができないカバーフリー集合を保持する集合情報保持部と、前記所定の暗号方式の鍵生成アルゴリズムに基づいて、前記所定の暗号方式のマスタ鍵を選択するとともに前記マスタ鍵に対応する公開情報を生成する公開情報生成部と、前記カバーフリー集合に含まれる所定の部分集合と、前記秘密鍵を生成する第2の鍵生成サーバを識別するセンタ識別文字列とを対応付け、前記所定の部分集合に含まれるそれぞれの要素の値を用い、前記第2の鍵生成サーバが前記秘密鍵の生成に用いるサブマスタ鍵を生成するサブマスタ鍵生成部とを備えることを要旨とする。
また、本発明の第2の特徴において、前記サブマスタ鍵生成部は、前記所定の部分集合に含まれるそれぞれの要素の値を所定のハッシュ関数に入力されることによって得られるハッシュ値を前記サブマスタ鍵として生成することが好ましい。
本発明の第3の特徴は、少なくとも第1の鍵生成サーバと第2の鍵生成サーバとを用いて、利用者に固有な所定の文字列である利用者固有文字列を前記利用者の公開鍵とする所定の暗号方式に基づいて、前記公開鍵と対になる秘密鍵を生成する鍵生成方法であって、前記第1の鍵生成サーバが、所定数の要素の一部から構成される部分集合の集合であって、閾値以下の前記部分集合に含まれる要素の値に基づいて、他の何れかの前記部分集合に含まれる要素の値を特定することができないカバーフリー集合を保持しており、前記第1の鍵生成サーバが、前記所定の暗号方式の鍵生成アルゴリズムに基づいて、前記所定の暗号方式のマスタ鍵を選択するとともに前記マスタ鍵に対応する公開情報を生成するステップと、前記第1の鍵生成サーバが、前記カバーフリー集合に含まれる所定の部分集合と、前記第2の鍵生成サーバを識別するセンタ識別文字列とを対応付け、前記所定の部分集合に含まれるそれぞれの要素の値を用い、前記第2の鍵生成サーバが前記秘密鍵の生成に用いるサブマスタ鍵を生成するステップと、前記第2の鍵生成サーバが、前記サブマスタ鍵生成部によって生成されたそれぞれの前記サブマスタ鍵、前記センタ識別文字列、及び前記利用者固有文字列を用い、前記鍵生成アルゴリズムに基づいて前記秘密鍵を生成するステップとを備えることを要旨とする。
本発明によれば、利用者に固有な所定の文字列を公開鍵とすることができる任意の暗号方式を用いて、利用者の秘密鍵を生成するセンタを階層化する鍵生成システム、鍵生成サーバ及び鍵生成方法を提供することができる。
(鍵生成システムを含むネットワークの構成)
以下、本発明の実施形態について説明する。図1は、本実施形態に係る鍵生成システムを含むネットワークの構成を示している。
同図に示すように、インターネットなどから構成される通信ネットワーク1には、利用者の秘密鍵(復号鍵)を生成するために用いられるマスタ鍵(s)、サブマスタ鍵({sj|j∈Fi})、及び当該利用者と通信を行う他の利用者に公開される公開情報(p1,...,pu)の生成などを行うセンタサーバ100(第1の鍵生成サーバ)が接続されている。
また、通信ネットワーク1には、センタサーバ100によって生成されたサブマスタ鍵と、利用者に固有な所定の文字列とを用い、IBE(Identity-Based Encryption、例えば、Boneh, Franklin方式)の鍵生成アルゴリズムに基づいて、利用者(例えば、端末10)の秘密鍵を生成するサブセンタサーバ200(第2の鍵生成サーバ)が接続されている。なお、本実施形態では、IBEとしてBoneh, Franklin方式が用いられているが、他のIBE(例えば、“Coc01”)を用いてもよい。
なお、本実施形態では、サブセンタサーバ200を識別する所定の文字列(センタ識文字列)として、“char1”が関連付けられている。また、図1では、サブセンタサーバ200のみが示されているが、複数のサブセンタサーバを用いて本実施形態に係る鍵生成システムを構成することができる。さらに、本実施形態では、利用者の秘密鍵(復号鍵)を生成するセンタを2階層(センタサーバ100及びサブセンタサーバ200)としているが、当該センタの階層は、2階層以外であってもよい。
また、通信ネットワーク1には、端末20a,20bから受信した暗号文(c)を復号して平文(m)を取得する端末10が接続されている。なお、本実施形態では、端末10(の利用者)を識別する所定の文字列(利用者固有文字列)として、“char2”が割り当てられている。また、当該文字列としては、例えば、端末10の利用者の電子メールアドレスを用いることができる。
さらに、通信ネットワーク1には、利用者の公開情報(例えば、p1,p2,p3)と、所定の文字列(例えば、“char1.char2”)とを用い、IBEの暗号化アルゴリズムに基づいて平文(m)を暗号化して、暗号文(c)を送信する端末20a,20bが接続されている。
また、通信ネットワーク1には、センタサーバ100によって生成された公開情報(p1,...,pu)を公開する公開情報サーバ300が接続されている。
(鍵生成システムの論理ブロック構成)
次に、図2を参照して、上述した通信ネットワーク1に接続されている各装置の論理ブロック構成について説明する。
同図に示すように、センタサーバ100は、通信部101と、CFF生成格納部103と、サブマスタ鍵生成部105と、公開情報生成部107と、マスタ鍵選択部109と、ハッシュ関数生成部111を備えている。
通信部101は、CFF生成格納部103と、サブマスタ鍵生成部105と、公開情報生成部107と、マスタ鍵選択部109と、ハッシュ関数生成部111とを通信可能に接続するものである。また、通信部101は、サブマスタ鍵生成部105によって選択されたサブマスタ鍵の情報や、公開情報生成部107によって生成された公開情報を通信ネットワーク1に中継するものである。
CFF生成格納部103は、所定数の要素(例えば、1〜uのu個の要素から構成される集合(L))の一部から構成される部分集合(F1,…,Fv)の集合(F)であって、閾値以下(w)の部分集合に含まれる要素の値に基づいて、他の何れかの部分集合に含まれる要素の値を特定することができないカバーフリー集合の情報を保持するものであり、本実施形態では、集合情報保持部を構成する。
具体的には、CFF生成格納部103は、所定数の要素(1〜uのu個)から構成される集合(L)の一部から構成される部分集合(F1,…,Fv)の集合(F)であって、閾値以下の部分集合(例えば、F1とF2)に含まれる要素の値に基づいて、他の何れかの部分集合(例えば、F3)に含まれる要素の値を特定することができない集合として、いわゆるCover Free Familyを生成する。
より具体的には、CFF生成格納部103は、“Families of finite sets in which no sets is covered by the union of r others”(P. Erdos, P. Frankl and Z. Furedi, Israel Journal of Math., 51, pp.79-89, 1985)に記載されているようなCover Free Familyを生成する。
ここで、図5(a)は、CFF生成格納部103によって生成されるCover Free Familyの概略の構成を示す図である。同図(a)に示すように、集合Lは、{1,...,u}によって構成される。また、{1,...,u}の一部から、部分集合(Subset)である(F1,…,Fv)が構成される。このようなCover Free Familyは、w個の部分集合Fの情報が漏洩した場合にも、特定の部分集合(例えば、F1)に含まれる要素(元、Element)の値を突き止めることができないといった特徴を有している。このような集合Lを以下、(u,v,w)-Cover Free Family<L,F>と表記する。
CFF生成格納部103は、生成した(u,v,w)-Cover Free Family<L,F>の情報を格納することができる。なお、本実施形態では、CFF生成格納部103が(u,v,w)-Cover Free Family<L,F>を生成しているが、外部において予め生成された(u,v,w)-Cover Free Family<L,F>をCFF生成格納部103に格納する形態でもよい。
マスタ鍵選択部109は、(u,v,w)-Cover Free Family<L,F>に含まれる要素{1,...,u}の数に基づいて、IBEのマスタ鍵を選択するものである。
具体的には、マスタ鍵選択部109は、(u,v,w)-Cover Free Family<L,F>に含まれる要素{1,...,u}の数とIBEの鍵生成アルゴリズムに基づいて、IBEのマスタ鍵とする値を所定の集合の中から、例えば、当該要素の数(s1,...,su)分、ランダムに選択する。
公開情報生成部107は、マスタ鍵選択部109によって選択されたマスタ鍵(s1,...,su)と対応する公開情報(p1,...,pu)をIBEの鍵生成アルゴリズムに基づいて生成するものである。
具体的には、公開情報生成部107は、マスタ鍵(s1,...,su)のそれぞれを用い、各マスタ鍵に対応する公開情報(p1,...,pu)をIBEの鍵生成アルゴリズムに基づいて生成する。また、公開情報生成部107は、通信ネットワーク1を介して、生成した公開情報(p1,...,pu)を公開情報サーバ300に送信する。
ハッシュ関数生成部111は、サブマスタ鍵生成部105において用いられるハッシュ関数(H)を生成するものである。
サブマスタ鍵生成部105は、CFF生成格納部103によって生成された(u,v,w)-Cover Free Family<L,F>に含まれる所定の部分集合と、サブセンタサーバ200を識別するセンタ識別文字列(“char1”)とを対応付け、当該部分集合(以下、Fiという)に含まれるそれぞれの要素を用い、サブセンタサーバ200が利用者の秘密鍵の生成に用いるサブマスタ鍵を生成するものである。
例えば、サブマスタ鍵生成部105は、Fiと“char1”(具体的には、ハッシュ関数(H)を用いて生成された“char1”のハッシュ値)とを対応付ける。
さらに、サブマスタ鍵生成部105は、Fiに含まれる要素(例えば、F1に含まれる1,2,3とする。なお、“1,2,3“は便宜上の数字であり、実際の要素の値を示すものとは限らない)の値をハッシュ関数生成部111によって生成されたハッシュ関数(H)に入力することによって得られたハッシュ値を、サブマスタ鍵(以下、{sj|j∈Fi}と表記する)として生成する。なお、ここでは、説明の便宜上、F1に含まれる要素“1,2,3“に基づいて、3つのサブマスタ鍵(ss1,ss2,ss3)が生成されたものとして、以下、適宜説明する。
サブセンタサーバ200は、通信部201と、サブマスタ鍵格納部203と、復号鍵生成部205とを備えている。
通信部201は、サブマスタ鍵格納部203と、復号鍵生成部205とを通信可能に接続するものである。また、通信部201は、利用者の秘密鍵の情報を通信ネットワーク1に中継したり、センタサーバ100(サブマスタ鍵生成部105)によって選択されたサブマスタ鍵を通信ネットワーク1から中継したりするものである。
サブマスタ鍵格納部203は、センタサーバ100(サブマスタ鍵生成部105)によって生成されたサブマスタ鍵({sj|j∈Fi})を、通信ネットワーク1を介して受信するとともに、受信した当該サブマスタ鍵を格納するものである。
復号鍵生成部205は、センタサーバ100(サブマスタ鍵生成部105)によって生成されたそれぞれのサブマスタ鍵(ss1,ss2,ss3)と、利用者固有文字列(“char2”)とを用い、IBEの鍵生成アルゴリズムに基づいて利用者(端末10)の秘密鍵(復号鍵)を生成するものであり、本実施形態では、秘密鍵生成部を構成する。
具体的には、復号鍵生成部205は、サブマスタ鍵生成部105によって生成されたそれぞれのサブマスタ鍵(ss1,ss2,ss3)と、利用者固有文字列(“char2”)とを用い、IBEの鍵生成アルゴリズムに基づいて、複数の復号鍵(例えば、d1,d2,d3)を、利用者(端末10)の復号鍵として生成する。
また、復号鍵生成部205は、端末10が属するサブセンタ(サブセンタサーバ200)を識別するセンタ識別文字列(“char1”)と、端末10の利用者に固有な所定の文字列(“char2”)とを用いて、すなわち、“char1.char2”を用いて、利用者の復号鍵を生成してもよい。
公開情報サーバ300は、公開情報記憶部301を備えている。公開情報記憶部301は、センタサーバ100(公開情報生成部107)によって生成された公開情報(p1,...,pu)を、通信ネットワーク1を介して、端末10及び端末20a,20bに公開するものである。
端末20a,20bは、通信部21と、公開情報取得部23と、暗号化部25と、乱数選択部27とをそれぞれ備えている。
通信部21は、公開情報取得部23と、暗号化部25と、乱数選択部27と通信可能に接続されており、公開情報(p1,...,pu)を通信ネットワーク1から中継したり、端末10に送信する暗号文(c)などを通信ネットワーク1に中継したりするものである。
公開情報取得部23は、公開情報サーバ300から、通信ネットワーク1を介して公開情報(p1,...,pu)を取得するものである。
暗号化部25は、サブマスタ鍵({sj|j∈Fi}、ss1,ss2,ss3)に対応した公開情報(例えば、p1,p2,p3)、端末10が属するサブセンタ(サブセンタサーバ200)を識別するために関連付けられた所定の文字列(“char1”)、及び端末10の利用者に固有な所定の文字列(“char2”)を用い、IBEの暗号化アルゴリズムに基づいて端末10に送信する平文(m)を暗号化するものである。
また、暗号化部25は、通信ネットワーク1を介して、平文(m)が暗号化された暗号文(c)を端末10に送信する。
乱数選択部27は、暗号化部25が、平文(m)を暗号化する際に付加される乱数(ri)を選択するものである。
具体的には、暗号化部25は、乱数選択部27によって選択された乱数(ri)を用いて、複数に分割された平文(mi)及び乱数(ri)を所定のハッシュ関数に入力することによって得られるハッシュ値(例えば、SHA-1に入力することによって得られるハッシュ値)を取得する。さらに、暗号化部25は、当該ハッシュ値を確率的暗号化のための乱数として用いて、平文(mi)と、乱数(ri)とが含まれる(mi‖ri)を暗号化して、複数の暗号文(ci)を作成する。なお、具体的な暗号化方法及び復号方法については、後述する。
端末10は、通信部11と、復号鍵格納部13と、復号部15と、暗号化部17aと、判定部17bと、公開情報取得部19とを備えている。
通信部11は、復号鍵格納部13と、復号部15と、暗号化部17aと、判定部17bと、公開情報取得部19と通信可能に接続するものである。また、通信部11は、復号鍵(例えば、d1,d2,d3)が含まれた情報などを通信ネットワーク1から中継するものである。
公開情報取得部19は、公開情報サーバ300から、通信ネットワーク1を介して、公開情報(p1,...,pu)を取得するものである。
復号鍵格納部13は、サブセンタサーバ200(復号鍵生成部205)において生成された復号鍵(例えば、d1,d2,d3)を格納するものである。
復号部15は、復号鍵格納部13に格納されている復号鍵(例えば、d1,d2,d3)を用いて、端末20aまたは20bによって送信された暗号文(c)を平文(m)に復号するものである。
具体的には、復号部15は、復号鍵格納部13に格納される複数の復号鍵(d1,d2,d3)と、当該復号鍵に対応する公開情報(p1,p2,p3)とを用い、IBEの復号アルゴリズムに基づいて、暗号文(c)を平文(m)に復号する。
より具体的には、復号部15は、複数の暗号文(ci)をそれぞれの復号鍵と公開情報を用いて復号し、乱数を含む複数の平文(mi‖ri)に復号する。
暗号化部17aは、IBEの暗号化アルゴリズムを用いて、復号部15によって復号された、平文(mi)と乱数(ri)とが含まれる平文(mi‖ri)を暗号化して、再暗号化文(ci’)を作成するものである。
判定部17bは、暗号化部17aによって暗号化された再暗号化文(ci’)と、端末20a,20bから受信した暗号文(ci)とが一致するか否かを判定するものである。
なお、復号部15は、判定部17bによって、すべての再暗号文(ci’)と暗号文(ci)とが一致すると判定された場合、平文(m)を出力する。
(鍵生成システムに係る動作)
次に、上述した鍵生成システムに係る動作について説明する。
まず、上述した鍵生成システム(センタサーバ100及びサブセンタサーバ200)による復号鍵(秘密鍵)の生成の動作について説明する。
図3に示すように、ステップS1において、センタサーバ100は、図5(a)に示したような(u,v,w)-Cover Free Family<L,F>を生成する。具体的には、(u,v,w)-Cover Free Family<L,F>は、上述したように、w個の部分集合Fの情報が漏洩した場合にも、特定の部分集合(例えば、F1)に含まれる要素(元、Element)の値を突き止めることができないといった特徴を有している。
ステップS2において、センタサーバ100は、IBE(例えば、Boneh, Franklin方式)の鍵生成アルゴリズムに基づいて、所定の集合から、(u,v,w)-Cover Free Family<L,F>の要素の数に応じたマスタ鍵(s1,...,su)を選択する。
ステップS3において、センタサーバ100は、マスタ鍵(s1,...,su)を用い、IBEの鍵生成アルゴリズムに基づいて、各マスタ鍵に対応する公開情報(p1,...,pu)を生成する。さらに、センタサーバ100は、生成した公開情報(p1,...,pu)を公開情報サーバ300に通知する。なお、公開情報サーバ300に通知された公開情報(p)は、端末10及び端末20a,20bが利用できるように公開される。
また、図5(b)に示すように、センタサーバ100は、ハッシュ関数(H)を生成する。
次に、図3に示すように、ステップS4において、センタサーバ100は、サブマスタ鍵({sj|j∈Fi}、ss1,ss2,ss3)を生成し、生成したサブマスタ鍵をサブセンタサーバ200に送信する。
具体的には、図5(c)に示すように、センタサーバ100は、部分集合F1と“char1”(具体的には、センタサーバ100によって生成されたハッシュ関数に入力して生成された“char1”のハッシュ値)とを対応付ける。
さらに、センタサーバ100は、F1に含まれる要素(1,2,3とする。なお、“1,2,3“は便宜上の数字であり、実際の要素の値を示すものとは限らない)の値をハッシュ関数(H)に入力して得られたハッシュ値をサブマスタ鍵({sj|j∈Fi}、ss1,ss2,ss3)として生成する。
次に、図3に示すように、ステップS5において、サブセンタサーバ200は、センタサーバ100によって生成されたサブマスタ鍵({sj|j∈Fi}、ss1,ss2,ss3)を取得する。
ステップS6において、サブセンタサーバ200は、利用者の秘密鍵、すなわち、本実施形態では、端末10の利用者の秘密鍵(復号鍵)を生成する。
具体的には、サブセンタサーバ200は、図5(d)に示すように、センタサーバ100によって生成されたそれぞれのサブマスタ鍵({sj|j∈Fi}、ss1,ss2,ss3)、端末10が属するサブセンタサーバ200を識別するセンタ識別文字列(“char1”)、及び利用者固有文字列(“char2”)を用い、IBEの鍵生成アルゴリズムに基づいて、複数の復号鍵(d1,d2,d3)を、利用者(端末10)の復号鍵として生成する。
ステップS7において、サブセンタサーバ200は、通信ネットワーク1を介して、生成した端末10の利用者の復号鍵(d1,d2,d3)を端末10に送信する。
ステップS8において、端末10は、通信ネットワーク1を介して復号鍵(d1,d2,d3)を取得する。
次に、図4を参照して、端末20aが端末10に暗号文(c)を送信し、端末10が暗号文(c)を受信して復号する動作について説明する。
図4に示すように、ステップS9において、端末10は、公開情報サーバ300から公開情報(p1,...,pu)を取得する。
ステップS10において、端末20aは、公開情報サーバ300から、端末10が属するサブセンタサーバ200が用いるサブマスタ鍵({sj|j∈Fi}、ss1,ss2,ss3)に対応した公開情報(p1,p2,p3)を取得する。
具体的には、端末20aは、まず、“char1”と対応付けられている部分集合F1の要素(例えば、1,2,3)を判別し、当該要素に対応する公開情報(p1,p2,p3)を取得する。
ステップS11において、端末20aは、“char1”、“char2”、及び公開情報(p1,p2,p3)を用い、IBEの暗号化アルゴリズムを用いて、平文(m)を暗号した暗号文(c)を作成する。
具体的には、端末20aは、以下の式を満足するように複数に分割された平文(mi)及び乱数(ri)を、所定のハッシュ関数に入力することによって得られるハッシュ値(例えば、SHA-1に入力することによって得られるハッシュ値)を取得する。
Σi∈F1 mi = m
また、端末20aは、当該ハッシュ値を確率的暗号化のための乱数として用い、平文(mi)と、乱数(ri)とが含まれる(mi‖ri)を、IBEの暗号化アルゴリズムに基づいて以下のように暗号化し、複数の暗号文(ci)を作成する。なお、“R”は、すべてのriの「連結」(Concatenation)を意味する。
EncIBE (mi‖ri, char1.char2, pi; Hi(m, mi, R)) = ci
さらに、端末20aは、それぞれの公開情報(p1,p2,p3)に基づいて生成した複数の暗号文ciを合成し、暗号文(c)を作成する。
ステップS12において、端末20aは、作成した暗号文(c)を端末10に送信する。
ステップS13において、端末10は、端末20aから通信ネットワーク1を介して暗号文(c)を受信する。
ステップS14において、端末10は、複数の復号鍵(d1,d2,d3)と、当該復号鍵に対応する公開情報(p1,p2,p3)とを用い、IBEの復号アルゴリズムに基づいて、暗号文(c)を平文(m)に復号する。
具体的には、端末10は、複数の暗号文(ci)をそれぞれの復号鍵と公開情報を用いて復号し、乱数を含む複数の平文(mi‖ri)に復号する。さらに、端末10は、IBEの暗号化アルゴリズムを用いて、復号した平文(mi)と乱数(ri)とが含まれる平文(mi‖ri)を暗号化して、再暗号化文(ci’)を作成する。なお、再暗号化文(ci’)は、上述した暗号文(ci)と同様の手法によって作成される。
また、端末10は、作成した再暗号化文(ci’)と、端末20aから受信した暗号文(ci)とが一致するか否かを判定する。
そして、端末10は、すべての再暗号化文(ci’)と暗号文(ci)とが一致すると判定された場合、平文(m)を出力する。
(作用・効果)
以上説明した本実施形態に係る鍵生成システム(センタサーバ100及びサブセンタサーバ200)によれば、センタサーバ100が、(u,v,w)-Cover Free Family<L,F>の部分集合(Subset)の要素(元、Element)の値に基づいて、HIBEを構成するための複数のサブマスタ鍵({sj|j∈Fi}、ss1,ss2,ss3)を生成する。さらに、サブセンタサーバ200が、それぞれのサブマスタ鍵、センタ識別文字列(例えば、“char1”)、及び利用者固有文字列を用い、IBEの鍵生成アルゴリズムに基づいて複数の秘密鍵(d1,d2,d3)を生成する。
このため、利用者に固有な所定の文字列を公開鍵とすることができる任意の暗号方式、つまりIBEを用いて、利用者の秘密鍵を生成するセンタを階層化することができる。
さらに、本実施形態に係る鍵生成システムによれば、Boneh, Franklin方式だけではなく、他のIBE、例えば、“Coc01”方式に基づいて、HIBEを構成することができる。
また、本実施形態に係る鍵生成システムによれば、サブマスタ鍵が、(u,v,w)-Cover Free Family<L,F>に含まれる部分集合(F1,…,Fv)に基づいて生成されるため、Cover Free Familyの特性によって、他のサブセンタサーバにおいて用いられているサブマスタ鍵の情報の漏洩が防止され、暗号化通信の安全性を確保することができる。
本発明の実施形態に係る鍵生成システムを含むネットワーク構成を示す図である。 本発明の実施形態に係る鍵生成システムを含む各装置の論理ブロック構成を示す図である。 本発明の実施形態に係る復号鍵の生成の動作を示すシーケンス図である。 本発明の実施形態に係る暗号文の送受信の動作を示すシーケンス図である。 本発明の実施形態に係る鍵生成システムにおいて用いられるCover Free Familyの構成及び復号鍵の生成に用いられる情報を示す図である。
符号の説明
1…通信ネットワーク、10…端末、11…通信部、13…復号鍵格納部、15…復号部、17a……暗号化部、17b…判定部、19…公開情報取得部、20a,20b…端末、21…通信部、23…公開情報取得部、25…暗号化部、27…乱数選択部、100…センタサーバ、101…通信部、103…CFF生成格納部、105…サブマスタ鍵生成部、107…公開情報生成部、109…マスタ鍵選択部、111…ハッシュ関数生成部、300…公開情報サーバ、301…公開情報記憶部、L…集合、F,F,F,F…部分集合

Claims (4)

  1. 少なくとも第1の鍵生成サーバと第2の鍵生成サーバとを具備し、利用者に固有な所定の文字列である利用者固有文字列を前記利用者の公開鍵とする所定の暗号方式に基づいて、前記公開鍵と対になる秘密鍵を生成する鍵生成システムであって、
    前記第1の鍵生成サーバは、
    所定数の要素の一部から構成される部分集合の集合であって、閾値以下の前記部分集合に含まれる要素の値に基づいて、他の何れかの前記部分集合に含まれる要素の値を特定することができないカバーフリー集合を保持する集合情報保持部と、
    前記所定の暗号方式の鍵生成アルゴリズムに基づいて、前記所定の暗号方式のマスタ鍵を選択するとともに前記マスタ鍵に対応する公開情報を生成する公開情報生成部と、
    前記カバーフリー集合に含まれる所定の部分集合と、前記第2の鍵生成サーバを識別するセンタ識別文字列とを対応付け、前記所定の部分集合に含まれるそれぞれの要素の値を用い、前記第2の鍵生成サーバが前記秘密鍵の生成に用いるサブマスタ鍵を生成するサブマスタ鍵生成部と
    を備え、
    前記第2の鍵生成サーバは、
    前記サブマスタ鍵生成部によって生成されたそれぞれの前記サブマスタ鍵、前記センタ識別文字列、及び前記利用者固有文字列を用い、前記鍵生成アルゴリズムに基づいて前記秘密鍵を生成する秘密鍵生成部を備えることを特徴とする鍵生成システム。
  2. 利用者に固有な所定の文字列である利用者固有文字列を前記利用者の公開鍵とする所定の暗号方式に基づいて、前記公開鍵と対になる秘密鍵の生成に用いられる鍵生成サーバであって、
    所定数の要素の一部から構成される部分集合の集合であって、閾値以下の前記部分集合に含まれる要素の値に基づいて、他の何れかの前記部分集合に含まれる要素の値を特定することができないカバーフリー集合を保持する集合情報保持部と、
    前記所定の暗号方式の鍵生成アルゴリズムに基づいて、前記所定の暗号方式のマスタ鍵を選択するとともに前記マスタ鍵に対応する公開情報を生成する公開情報生成部と、
    前記カバーフリー集合に含まれる所定の部分集合と、前記秘密鍵を生成する第2の鍵生成サーバを識別するセンタ識別文字列とを対応付け、前記所定の部分集合に含まれるそれぞれの要素の値を用い、前記第2の鍵生成サーバが前記秘密鍵の生成に用いるサブマスタ鍵を生成するサブマスタ鍵生成部と
    を備えることを特徴とする鍵生成サーバ。
  3. 前記サブマスタ鍵生成部は、前記所定の部分集合に含まれるそれぞれの要素の値を所定のハッシュ関数に入力されることによって得られるハッシュ値を前記サブマスタ鍵として生成することを特徴とする請求項2に記載の鍵生成サーバ。
  4. 少なくとも第1の鍵生成サーバと第2の鍵生成サーバとを用いて、利用者に固有な所定の文字列である利用者固有文字列を前記利用者の公開鍵とする所定の暗号方式に基づいて、前記公開鍵と対になる秘密鍵を生成する鍵生成方法であって、
    前記第1の鍵生成サーバは、所定数の要素の一部から構成される部分集合の集合であって、閾値以下の前記部分集合に含まれる要素の値に基づいて、他の何れかの前記部分集合に含まれる要素の値を特定することができないカバーフリー集合の情報を保持しており、
    前記第1の鍵生成サーバが、前記所定の暗号方式の鍵生成アルゴリズムに基づいて、前記所定の暗号方式のマスタ鍵を選択するとともに前記マスタ鍵に対応する公開情報を生成するステップと、
    前記第1の鍵生成サーバが、前記カバーフリー集合に含まれる所定の部分集合と、前記第2の鍵生成サーバを識別するセンタ識別文字列とを対応付け、前記所定の部分集合に含まれるそれぞれの要素の値を用い、前記第2の鍵生成サーバが前記秘密鍵の生成に用いるサブマスタ鍵を生成するステップと、
    前記第2の鍵生成サーバが、前記サブマスタ鍵生成部によって生成されたそれぞれの前記サブマスタ鍵、前記センタ識別文字列、及び前記利用者固有文字列を用い、前記鍵生成アルゴリズムに基づいて前記秘密鍵を生成するステップと
    を備えることを特徴とする鍵生成方法。

JP2004017582A 2004-01-26 2004-01-26 鍵生成システム、鍵生成サーバ及び鍵生成方法 Expired - Lifetime JP4143036B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004017582A JP4143036B2 (ja) 2004-01-26 2004-01-26 鍵生成システム、鍵生成サーバ及び鍵生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004017582A JP4143036B2 (ja) 2004-01-26 2004-01-26 鍵生成システム、鍵生成サーバ及び鍵生成方法

Publications (2)

Publication Number Publication Date
JP2005210639A JP2005210639A (ja) 2005-08-04
JP4143036B2 true JP4143036B2 (ja) 2008-09-03

Family

ID=34902357

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004017582A Expired - Lifetime JP4143036B2 (ja) 2004-01-26 2004-01-26 鍵生成システム、鍵生成サーバ及び鍵生成方法

Country Status (1)

Country Link
JP (1) JP4143036B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006038037A1 (de) 2006-08-14 2008-02-21 Siemens Ag Verfahren und System zum Bereitstellen eines zugangsspezifischen Schlüssels
JP5097137B2 (ja) * 2009-01-07 2012-12-12 日本電信電話株式会社 暗号通信システム、端末装置、秘密鍵生成方法及びプログラム
KR101776172B1 (ko) * 2017-02-14 2017-09-07 주식회사 유니온플레이스 사물 인터넷 장치

Also Published As

Publication number Publication date
JP2005210639A (ja) 2005-08-04

Similar Documents

Publication Publication Date Title
US7711113B2 (en) ID-based signature, encryption system and encryption method
JP4859933B2 (ja) 暗号文生成装置及び暗号通信システム及び群パラメータ生成装置
US7657037B2 (en) Apparatus and method for identity-based encryption within a conventional public-key infrastructure
KR101393899B1 (ko) 암호 처리 시스템, 키 생성 장치, 암호화 장치, 복호 장치, 암호 처리 방법 및 암호 처리 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
JP5618881B2 (ja) 暗号処理システム、鍵生成装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム
JP5680007B2 (ja) 暗号システム、暗号方法及び暗号プログラム
US8594332B2 (en) Key generating apparatus, encrypting apparatus and decrypting appatatus
JPWO2012011575A1 (ja) 暗号システム、暗号通信方法、暗号化装置、鍵生成装置、復号装置、コンテンツサーバ装置、プログラム、記憶媒体
KR20120139753A (ko) 암호 처리 시스템, 키 생성 장치, 암호화 장치, 복호 장치, 서명 처리 시스템, 서명 장치 및 검증 장치
KR20160131798A (ko) 연산 에러 검출이 가능한 준동형 암호 방법 및 그 시스템
CN107086912B (zh) 一种异构存储系统中的密文转换方法、解密方法及系统
JP5135070B2 (ja) 暗号文復号権限委譲システム
CN114095171A (zh) 一种基于身份的可穿刺代理重加密方法
JP4288184B2 (ja) 鍵更新方法、暗号システム、暗号サーバ、端末装置及び外部装置
US7321658B2 (en) Padding application method ensuring security of cryptosystem and encryptor/decryptor
JP4143036B2 (ja) 鍵生成システム、鍵生成サーバ及び鍵生成方法
CN112733176B (zh) 基于全域哈希的标识密码加密方法
JP2005176144A (ja) 端末装置、通信システム及び通信方法
JP2005198187A (ja) 暗号方法、暗号システム及び端末装置
JP7043203B2 (ja) 暗号化装置、復号装置、暗号化システム、暗号化方法及び暗号化プログラム
JP2010161523A (ja) 鍵生成装置、暗号化装置、復号化装置、暗号化システム、鍵生成方法、暗号化方法、復号化方法、プログラム、および記録媒体
Boyen et al. Anonymous lattice identity-based encryption with traceable identities
JP5097137B2 (ja) 暗号通信システム、端末装置、秘密鍵生成方法及びプログラム
Saranya et al. Retrieving data securely in disruption tolerant military networks
Maftei et al. A Note on IBE Performance of a Practical Application

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

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: 20080603

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: 20080613

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

Free format text: PAYMENT UNTIL: 20110620

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4143036

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120620

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20120620

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130620

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term