(58)【調査した分野】(Int.Cl.,DB名)
秘密情報を乱数との排他的論理和演算により分割し異なる複数の分散情報を生成すると共に、前記各分散情報に対応した署名情報と当該署名情報を集約化した集約署名情報とを生成する分散装置と、前記分散装置から分配された前記分散情報、署名情報、および集約署名情報を取得する異なる複数の情報保持装置とを備えた分散情報管理システムであって、
前記各情報保持装置は、
前記署名情報を取得すると共に当該署名情報を集約化することにより集約署名情報Bを算出する集約署名算出部と、
前記分散装置から予め送り込まれた集約署名情報Aと前記集約署名情報Bとが等しい場合に前記分散装置から送り込まれた分散情報が正当であると判定し保持する分散情報判定保持部とを有し、
前記分散装置は、
前記異なる情報保持装置それぞれから対応する各分散情報を取得すると共に取得した分散情報の数が一定数以上である場合に予め設定された検証式に基づき前記署名情報および分散情報における双線形性の有無の判定を行う双線形性検証判定部と、
前記判定で双線形性が有ると判定された場合に前記各情報保持装置から取得した分散情報に基づき前記秘密情報の復元処理を行う復元処理部とを備えたことを特徴とする分散情報管理システム。
秘密情報を乱数との排他的論理和演算により分割し異なる複数の分散情報を生成すると共に、前記各分散情報に対応した署名情報と当該署名情報を集約化した集約署名情報とを生成する分散装置と、前記分散装置から分配された保持する異なる複数の情報保持装置とを備えた分散情報管理システムにあって、前記分散情報の正当性を検証する分散情報管理方法であって、
前記各情報保持装置は、前記署名情報を取得し、この署名情報を集約化することにより集約署名情報Bを算出し、前記分散装置から予め送り込まれた集約署名情報Aと前記集約署名情報Bとが等しい場合に、前記分散装置から送り込まれた分散情報を保持対象として決定し、
前記分散装置は、前記異なる情報保持装置それぞれから前記保持対象である各分散情報を取得し、この分散情報の数が一定数以上である場合に、前記署名情報を含む予め設定された検証式に基づき双線形性の有無の判定を行い、前記判定で双線形性があると判定された場合に、前記各情報保持装置から取得した分散情報に基づき前記秘密情報の復元処理を行うことを特徴としていた分散情報管理方法。
秘密情報を乱数との排他的論理和演算により分割し異なる複数の分散情報を生成すると共に、前記各分散情報に対応した署名情報と当該署名情報を集約化した集約署名情報とを生成する分散装置と、前記分散装置から分配された分散情報を取得すると共に前記署名情報に基づき正当であることが検証された前記分配情報を保持する異なる複数の情報保持装置とを備えた分散情報管理システムにあって、前記秘密情報の復元用情報である前記分散情報の正当性を検証する分散情報管理プログラムであって、
前記異なる情報保持装置それぞれから前記保持対象である各分散情報を取得し、この分散情報の数が一定数以上である場合に前記署名情報を含む予め設定された検証式に基づき双線形性の有無の判定を行う双線形性検証判定機能と、
前記判定で双線形性があると判定された場合に、前記各情報保持装置から取得した分散情報に基づき前記秘密情報の復元処理を行う復元処理機能とを、前記分散装置の有するコンピュータに実現させることを特徴とした分散情報管理プログラム。
【発明を実施するための形態】
【0015】
[実施形態1]
本発明の実施形態である分散情報管理システムは、クライアント端末1から入力された秘密情報を分散情報に分散すると共に、これら分散情報から秘密情報を復元する処理を行う分散情報装置2と、分散情報装置2から通信回線ネットワーク(例えばインターネット)を介して分散送信(秘密分散)された分散情報を記憶保持する分散情報保有装置3−1、3−2、・・・、3−nを備えた構成を有する。
【0016】
分散情報保有装置3−1、3−2、・・・、3−nは、それぞれ通信回線を介して分散情報装置2に接続され、分散情報装置2から分散情報が送り込まれた場合に、これを記憶保持する。
【0017】
クライアント端末1は、通信回線を介して秘密情報(S)を分散情報装置2に対して入力する。また、クライアント端末1は秘密情報(S)を保持することなく分散情報装置2に対して直接秘密情報(S)を入力する設定であってもよい。
【0018】
分散情報装置2は、
図2に示すように、クライアント端末1から送り込まれた秘密情報の入力を受ける秘密情報入力部21と、秘密情報入力部21で取得した秘密情報を分散することにより複数の分散情報を生成する分散情報生成部22と、分散情報生成部22で生成された分散情報を通信回線介してn台の分散情報保有装置3(3−1、3−2、・・・、3−n)それぞれに送信することにより分散配置する分散情報送信部23と、k台の分散情報保有装置それぞれから送り込まれたk個の分散情報を受信する分散情報受信部24と、分散情報受信部24で受信したk個の分散情報に基づき上記秘密情報に復元する処理を行う分散情報復元部25と、分散情報復元部25が復元した秘密情報をクライアント端末1に対して送信(出力)する秘密情報出力部26を備えている。
【0019】
分散情報生成部22は、秘密鍵および公開鍵を生成する鍵生成手段221と、秘密情報入力部21で取得した秘密情報を異なる複数の分散情報に分散する処理を行う分散情報生成手段222と、分散情報生成手段222で生成された分散情報から、予め設定されたハッシュ関数(例えば、SHA−2など)を用いてハッシュ値を生成するハッシュ値生成手段223と、鍵生成手段221から入力された秘密鍵および公開鍵とハッシュ値生成手段223からの入力されたハッシュ値とに基づき「署名」を生成する署名生成手段224と、署名生成手段224で生成された異なる複数(例えば、n個)の署名に基づき、これを集約演算することにより「集約署名」を生成する集約署名生成手段225と、分散情報生成手段222、署名生成手段224、および集約署名生成手段225それぞれから分散情報、署名、および集約署名を取得し、これを連結処理することにより、分散情報保有装置3への分散送信用の情報である連結分散情報を生成する分散情報連結手段226を有する。
【0020】
また、分散情報装置2の分散情報生成部22は、鍵生成手段221により生成された公開鍵(v
1、v
2,・・・,v
n)、および各分散情報に対応した生成されたハッシュ値(h
1,h
2,・・・,h
n)を全ての分散情報保有装置3(3−1〜3−n)に対して、アクセス可能に公開する(鍵情報公開設定機能を有する)。
【0021】
鍵生成手段221は、各分散情報に対応した、秘密鍵および公開鍵から成る、n組のペア鍵を生成する。ここで、上記ペア鍵は、秘密鍵(x
1,x
2,・・・,x
n)と、公開鍵(v
1,v
2,・・・,v
n)を含み、x
1とv
1、x
2とv
2、・・・、x
nとv
nがそれぞれペアを形成している。
【0022】
また、鍵生成手段221により生成された公開鍵(v
1,v
2,・・・,v
n)は、それぞれv
1=g
1x1,v
2=g
1x2,・・・,v
n=g
1xnであり、これらはそれぞれ秘密鍵に基づき生成される。
【0023】
分散情報生成手段222は、秘密情報(S)に基づいて、予め設定されたアルゴリズムに基づきn個の分散情報を生成する。この分散情報は、S
1,S
2,・・・,S
nから成る。
【0024】
ハッシュ値生成手段223は、n個の分散情報(S
1〜S
n)それぞれに対応するハッシュ値(h
1,h
2,・・・,h
n)を生成する。各ハッシュ値(h
1=H(S
1),h
2=H(S
2),・・・,h
n=H(S
n))は、各分散情報およびハッシュ関数(H)に基づき算出されるものとする。
【0025】
署名生成手段224は、ハッシュ値生成手段223から送り込まれたハッシュ値(h
1,h
2,・・・,h
n)および鍵生成手段221から送り込まれた秘密鍵(x
1,x
2,・・・,x
n)に基づき、n個の分散情報(S
1〜S
n)それぞれに対応するn個の「署名」(σ
1,σ
2,・・・,σ
n)を生成する。
【0026】
ここで、署名生成手段224は、対応するハッシュ値(h
1,h
2,・・・,h
n)および秘密鍵(x
1,x
2,・・・,x
n)に基づき、σ
1〜σ
nの署名(σ
1=h
1x1,σ
2=h
2x2,・・・,σ
n=h
nxn)を生成する。
【0027】
集約署名生成手段225は、署名生成手段224から取得したn個の署名(σ
1,・・・,σ
n)を集約化して、以下の(式1)に示す、集約署名(σ)を算出する。
【0029】
分散情報連結手段226は、分散情報生成手段222から送り込まれた各分散情報に対応した署名、集約署名、および分散情報を連結することにより、n個の連結分散情報(S
1‖σ
1‖σ),(S
2‖σ
2‖σ),・・・,(S
n‖σ
n‖σ)を生成する。
【0030】
尚、分散情報生成手段222と分散情報復元手段254においては、[特開2007−124032]、[特開2009−37094][特開2009−42307]などに開示された、乱数と排他的論理和演算を用いた高速閾値秘密分散法により、秘密情報の分散処理、元の秘密情報を復元する処理を実行することが可能であるものとする。
【0031】
分散情報送信部23は、分散情報連結手段226により生成されたn個の連結分散情報を取得するとともに、対応する各分散情報保有装置3(3−1〜3−n)に対して送信する。
【0032】
分散情報受信部24は、復元処理の実行(復元フェーズ)に際して分散情報保有装置3(3−1,・・・,3−n)それぞれから送り込まれた復元用分散情報(S
k‖σ
k)を取得する。
ここで、分散情報受信部24は、分散情報保有装置それぞれから送り込まれた復元用分散情報(S
k‖σ
k)の数が、予め設定されたk個以上n以下であるか否かを判定してもよい。尚、kは、2以上n以下(2≦k≦n)を示すものとする。
【0033】
分散情報復元部25は、
図4に示すように、分散情報生成部22で生成された公開鍵、および分散情報のハッシュ値を取得する公開情報取得手段251と、分散情報受信部24で受信される分散情報の署名を取得する署名取得手段252と、公開情報取得手段251で取得した公開鍵および分散情報のハッシュ値と、署名取得手段252で取得した「署名」を検証する署名検証手段253と、分散情報保有装置3から取得した分散情報(復元用分散情報)に基づき秘密情報の復元処理を行う分散情報復元手段254を備えている。
【0034】
分散情報保有装置3(3−1、3−2、・・・、3−n)はそれぞれ同等の内部構成を有する。以下、分散情報保有装置3−1〜3−nのいずれかのひとつを分散情報保有装置3−iとし、その内部構成について説明する。
【0035】
分散情報保有装置3−iは、
図5に示すように、分散情報装置2から通信回線を介して送り込まれた分散情報(連結分散情報(S
1‖σ
1‖σa))と、他の分散情報保有装置(つまり、3−i以外の分散情報保有装置3)それぞれから分散情報(送信済み分散情報)を取得する分散情報受信部34と、分散情報受信部34で受信した分散情報の検証処理を行う分散情報検証部31と、分散情報検証部31で検証処理がなされた、自己分散情報保有装置に対応する分散情報を格納する分散情報格納部32と、分散情報装置2からの要求に応じて分散情報格納部32に格納された分散情報を分散情報装置2に対して送信する分散情報送信部33を備えている。
尚、上記送信済み分散情報は、分散情報装置2から各分散情報保有装置(3−1〜3−n)に対して送信され、分散情報受信部で一時的に保持されている分散情報を示す。
【0036】
また、分散情報検証部31は、分散情報装置2(分散情報送信部23)から分散情報受信部34に送り込まれた分散情報(連結分散情報(S
1‖σ
1‖σ
a))を取得する第一の署名取得手段311と、分散情報受信部34に対して他の分散情報保有装置(3−2〜3−n:自己以外の分散情報保有装置3−j)それぞれから送り込まれた分散情報を取得する第二の署名取得手段312と、第一の署名取得手段311で取得された連結分散情報から抽出した署名(σ
j)と、第二の署名取得手段312で取得した分散情報から抽出したn−1個の署名(σ
i)を集約して(分散情報保有側集約署名(σ
bとする)を生成する集約署名生成手段313と、集約署名生成手段313が生成した集約署名(σ
b)の検証処理を行う集約署名検証手段314を備えている。
【0037】
次に、分散情報検証部31における検証フェーズに係る、本実施形態1における機能内容について、
図6のブロック図に基づき詳説する。
【0038】
分散情報検証部31の第一の署名取得手段311は、分散情報装置2から送り込まれた連結分散情報(S
i‖σ
i‖σ
a)から署名(σ
i)および集約署名(σ
a)を抽出する。
第二の署名取得手段312は、各分散情報保有装置(3−1〜3−n)のうちの自己以外の全ての分散情報保有装置3−jから署名(σ
j)を取得する。
【0039】
集約署名生成手段313は、他の分散情報保有装置3−jから取得した署名(σ
j)を取得し、以下に示す(式2)に基づき、これらを集約化する計算を行い、集約署名(σ
b)を生成する。
【0041】
集約署名検証手段314は、集約署名(σ
a)と集約署名(σ
b)が等しいか否かを検証する。
ここで、検証式(σ
a=σ
b)が等しい場合に、集約署名検証手段314は、分散情報保有装置3−iに送り込まれた分散情報(S
i)は正当であると判定し、分散情報(S
i)を分散情報格納部32に格納する。
【0042】
次に、復元フェーズに係る本実施形態1における各構成の機能内容について、説明する。
【0043】
分散情報復元部25の署名取得手段252は、異なるk個の分散情報保有装置3それぞれから送り込まれたk個の分散情報(復元用分散情報)それぞれから署名(σ
k)を抽出する。
公開情報取得手段251は、分散情報生成部22から、各復元用分散情報に対応するハッシュ値(h
k)、および公開鍵(g
1,v
k)を取得する。
【0044】
署名検証手段253は、特殊な数学構造を持つ双線形写像(ペアリング)の性質を利用することにより、「乱数と排他的論理和演算を用いた高速閾値秘密分散法」により分散された分散情報の正当性を検証する処理を行う(分散情報検証機能)。ここで、分散情報の正当性とは、取得した分散情報が元の秘密情報(S)の分散した情報であることを示す。
【0045】
署名検証手段253は、署名(σ
k)について対応するハッシュ値、公開鍵を用いて、以下に示す(式3)の検証式に基づき双線形性の有無判定を行う(双線形性判定機能)。
【0046】
e(g
1,σ
k)=e(v
k,h
k)・・・(式3)
【0047】
ここで、双線形写像は、相互関係において特定の性質を満たす2つの入力に対して、1つの出力を算出する関数であり、以下に示す性質(1)〜(3)を満たす
写像e:G
1×G
2⇒G
T
を示す。
尚、素数位数pの有限巡回乗法群G
T、素数位数pの有限巡回加法群(G
1,G
2)とする。また、G
1,G
2の生成元をそれぞれg
1,g
2とする。
【0048】
性質(1):双線形性
任意のu∈G
1,v∈G
2、およびa,b∈Z
pについて、以下に示す(式4)を満たす。
【数3】
【0050】
性質(3):計算可能性
任意のu∈G
1,v∈G
2について、
e(u,v)が効率的に計算可能であること。
【0051】
署名検証手段253は、上記[検証式4]が成り立つ、つまり双線形性が有ると判定された場合に、装置3それぞれから送り込まれたk個の分散情報(S
k)は正当であると判定する。
【0052】
分散情報復元部25の分散情報復元手段254は、正当と判定された復元用分散情報が、予め設定されたk個以上ある場合にこれら復元用分散情報(S
k)から秘密情報を復元する処理を実行する。
【0053】
以上のように、本実施形態1では、乱数と排他的論理和演算を用いた高速閾値秘密分散法により、秘密情報の分散および復元の高速演算ができ、更には、分散された分散情報の正当性検証を正確に行うことが可能となり、これにより、分散情報の書き換えや改ざん等を迅速に検知し得る、安全性の高い秘密分散法を実現することができる。
【0054】
[実施形態1の動作説明]
次に、上記実施形態の全体的な動作内容について説明する。
【0055】
各情報保持装置3(3−1〜3−n)が他の情報保持装置3−jそれぞれから対応して保持する署名情報を取得し、この署名情報を集約化することにより集約署名情報Bを算出する(集約署名算出工程)。
次いで、情報保持装置3(3−1〜3−n)は、分散装置2から予め送り込まれた集約署名情報Aと算出した集約署名情報Bとが等しい場合に、分散装置2から送り込まれた分散情報を保持対象として格納する(分散情報判定保持工程)。
次に、分散装置2は、異なる情報保持装置3それぞれから保持対象として格納された各分散情報を取得し、この分散情報の数が一定数以上に達した場合に、各分散情報に対応する署名情報を含む予め設定された検証式に基づき双線形性の有無の判定を行う(双線形性検証判定工程)。
この判定で双線形性があると判定された場合に、各情報保持装置3から取得した分散情報に基づき秘密情報の復元処理を行う(復元処理工程)。
【0056】
ここで、上記双線形性検証判定工程および復元処理工程については、その実行内容をプログラム化し、分散装置2の備えたコンピュータに実行させる構成としてもよい。
また、本プログラムは、非一時的な記録媒体、例えば、DVD、CD、フラッシュメモリなどに記録されてもよい。その場合、本プログラムは、記録媒体からコンピュータによって読み出され、実行される。
【0057】
次に、本実施形態1における動作内容について、具体的に説明する。
はじめに、本実施形態1における分散フェーズの動作について、
図7のフローチャートに基づき説明する。この分散フェーズは、分散装置2が秘密情報(S)に基づき生成した分散情報を分散情報保持部3に対して送信することにより分散配置するまでを示す。
【0058】
まず、クライアント端末1が分散装置2に対して秘密情報(S)を入力する(ステップA01)。
分散装置2の秘密情報入力部21がこれを取得し、分散情報生成部22の分散情報生成手段222が、予め設定されたアルゴリズムに基づき、秘密情報(S)からn個の分散情報(S
1,S
2,・・・,S
n)を生成する(ステップA02)。
【0059】
次いで、鍵生成手段221が、各分散情報(S
1,S
2,・・・,S
n)に対応した、秘密鍵(x
1,x
2,・・・,x
n)および公開鍵(v
1,v
2,・・・,v
n)から成る、n組のペア鍵を生成する(ステップA03)。
ここで、上記ペア鍵は、秘密鍵(x
1,x
2,・・・,x
n)と、公開鍵(v
1,v
2,・・・,v
n)を含み、x
1とv
1、x
2とv
2、・・・、x
nとv
nそれぞれがペアを形成しているものとする。
【0060】
次に、ハッシュ値生成手段223が、n個の分散情報(S
1〜S
n)それぞれに対応するハッシュ値(h
1,h
2,・・・,h
n)を生成する(ステップA04)。各ハッシュ値(h
1=H(S
1),h
2=H(S
2),・・・,h
n=H(S
n))は、各分散情報およびハッシュ関数(H)に基づき算出されるものとする。
【0061】
次いで、署名生成手段224は、ハッシュ値生成手段223から送り込まれたハッシュ値(h
1,h
2,・・・,h
n)および鍵生成手段221から送り込まれた秘密鍵(x
1,x
2,・・・,x
n)に基づき、n個の分散情報(S
1〜S
n)それぞれに対応するn個の「署名」(σ
1,σ
2,・・・,σ
n)を生成する(ステップA05)。
【0062】
ここで、署名生成手段224は、対応するハッシュ値(h
1,h
2,・・・,h
n)および秘密鍵(x
1,x
2,・・・,x
n)に基づき、σ
1〜σ
nの署名(σ
1=h
1x1,σ
2=h
2x2,・・・,σ
n=h
nxn)を生成する。
【0063】
次に、集約署名生成手段225が、署名生成手段224から取得したn個の署名(σ
1,・・・,σ
n)を集約化して、以下の(式1)に示す、集約署名(σ)を算出する(ステップA06)。
【0065】
また、分散情報連結手段226が、分散情報生成手段222から送り込まれた各分散情報に対応した署名、集約署名、および分散情報を連結することにより、n個の連結分散情報(S
1‖σ
1‖σ),(S
2‖σ
2‖σ),・・・,(S
n‖σ
n‖σ)を生成する(ステップA07)。
【0066】
ここで、分散情報送信部23が、分散情報連結手段226により生成されたn個の連結分散情報((S
1‖σ
1‖σ),(S
2‖σ
2‖σ),・・・,(S
n‖σ
n‖σ))を取得するとともに、対応する各分散情報保有装置3−1〜3−n(U
1〜U
n)に対して送信する(ステップA08)。
【0067】
また、連結分散情報の送信を検知した分散情報生成部22が、上記鍵生成手段221により生成された公開鍵(v
1、v
2,・・・,v
n)、および各分散情報に対応した生成されたハッシュ値(h
1,h
2,・・・,h
n)を、全ての分散情報保有装置3−1〜3−n(U
1〜U
n)に対して、アクセス可能に公開する設定を行う(ステップA09:鍵情報公開設定機能)。
(分散フェーズ終了)
【0068】
次に、本実施形態1における検証フェーズについて、
図8のフローチャートに基づき説明する。この検証フェーズは、各分散情報保有装置3−1〜3−n(以下「3−i」という)が分散情報装置2から取得した分散情報について、他の分散情報保有装置から取得した分散情報に基づき、その正当性の検証を行うまでの動作内容を示す。
【0069】
まず、分散情報検証部31の第一の署名取得手段311が、分散情報装置2から送り込まれた連結分散情報を受信し(ステップB01)、この連結分散情報(S
i‖σ
i‖σ)から署名(σ
i)および集約署名(σ)を抽出する(ステップB02)。尚、ここで抽出された集約署名を集約署名(σ
a)とする。
【0070】
次いで、第二の署名取得手段312が、各分散情報保有装置(3−1〜3−n)のうちの自己以外の分散情報保有装置3−jから署名(σ
j)を取得する(ステップB03)。
【0071】
次いで、集約署名生成手段313が、取得された署名(σ
j)を、以下に示す(式2)に基づき、集約化する計算を行うことにより、集約署名(σ
b)を生成する(ステップB04)。
【0073】
集約署名検証手段314は、上記抽出された集約署名(σ
a)と生成された集約署名(σ
b)が等しいか否かの検証を行う(ステップB05)。
ここで、検証式が等しい(σ
a=σ
b)場合に、集約署名検証手段314は、分散情報保有装置3−iに送り込まれた分散情報(S
i)は正当であると判定し、分散情報(S
i)を分散情報格納部32に格納する(ステップB06:検証フェーズ終了)。
【0074】
[復元フェーズ]
次に、本実施形態1における復元フェーズについて、
図9のフローチャートに基づき説明する。この復元フェーズは、分散装置2が各分散情報保有装置3−1〜3−nのうちの任意のk台の分散情報保有装置3(U
k)から送り込まれた分散情報に基づき秘密情報(S)を復元するまでの動作内容を示す。
【0075】
まず、分散情報受信部24が、異なるk個の分散情報保有装置3(U
k)から送り込まれたk個の分散情報(復元用分散情報)を受信する(ステップC01)。
次いで、分散情報復元部25の署名取得手段252が、k個の分散情報(復元用分散情報)それぞれから署名(σ
k)を抽出する(ステップC02)。
【0076】
また、公開情報取得手段251が、分散情報生成部22から、各復元用分散情報に対応するハッシュ値(h
k)、および公開鍵(g
1,v
k)を取得する(ステップC03)。
【0077】
次いで、署名検証手段253が、分散情報の正当性を検証する処理を行う。署名検証手段253は、署名(σ
k)について、対応するハッシュ値(h
k)、公開鍵(g
1,v
k)を用いて、以下に示す(式3)の検証式に基づき双線形性の有無判定を行う(双線形性判定機能)。
【0078】
e(g
1,σ
k)=e(v
k,h
k)・・・(式3)
【0079】
ここで、双線形写像は、相互関係において特定の性質を満たす2つの入力に対して、1つの出力を算出する関数であり、以下に示す性質(1)〜(3)を満たす、
写像e:G
1×G
2⇒G
T
を示す。
尚、素数位数pの有限巡回乗法群G
T、素数位数pの有限巡回加法群(G
1,G
2)とする。また、G
1,G
2の生成元をそれぞれg
1,g
2とする。
【0080】
性質(1):双線形性
任意のu∈G
1,v∈G
2、およびa,b∈Z
pについて、以下に示す(式4)を満たす。
【数7】
【0082】
性質(3):計算可能性
任意のu∈G
1,v∈G
2について、
e(u,v)が効率的に計算可能であること。
【0083】
ここで、k個以上の正当な分散情報について、上記検証式が等しい、つまり双線形性があると判定された場合に、署名検証手段253がk個の分散情報(S
k)は正当であると判定する(ステップC04)。
【0084】
最後に、分散情報復元部25の分散情報復元手段254が、正当と判定された復元用分散情報が、予め設定されたk個以上ある場合にこれら復元用分散情報(S
k)から秘密情報を復元する処理を実行し、これにより、元の秘密情報(S)が復元される。
【0085】
以上のように、本実施形態1では、乱数と排他的論理和演算を用いた高速閾値秘密分散法により、秘密情報の分散および復元の高速演算ができ、このため、秘密情報の漏洩を有効に抑制しつつ、更に、分散情報の改ざん等を迅速に検知し得る、安全性の高い秘密分散法を実現することが可能となる。
【0086】
[実施形態2]
次に、本発明に係る実施形態2について説明する。
この実施形態2では、
図10に示すように、分散情報保有装置3(3−1〜3−n)それぞれにおける分散情報検証部31の内部構成において、実施形態1における第二の署名取得手段312に代えて公開情報取得手段3122を備えた点と、集約署名生成手段313および集約署名検証手段314に代えて署名検証手段3123を備えた点が上述の実施形態1と相違する。
【0087】
分散情報検証部31におけるその他の内部構成については
図6と同様であるため、これら同様の構成要素には同一の符号を付するものとする。
【0088】
公開情報取得手段3122は、分散情報装置2に対してアクセスを行い、分散情報生成部22で公開されている公開情報(g
1,v
1、v
2、・・・、v
n)を取得すると共に、同様に公開されている分散情報に対応するハッシュ値(h
1,h
2,・・・,h
n)を取得する。
【0089】
署名検証手段3123は、公開情報取得手段3122により分散情報装置2から取得した公開情報、およびハッシュ値を用いて、以下に示す検証式(式5)に基づき、分散情報装置2から送り込まれた分散情報(S
i)が正当であるか否かの判定を行う。
【0090】
【数9】
また、署名検証手段3123は、式5の等号が成り立つ場合に、分散情報(S
i)が正当であると判定し、分散情報(S
i)を分散情報格納部32に格納する。
【0091】
これにより、各分散情報保有装置3は、他のn−1台の分散情報保有装置3それぞれから署名を取得することなく、分散情報の正当性を検証する処理を行うことが可能となる。
【0092】
[実施形態2の動作の説明]
次に、本実施形態2における検証フェーズについて、
図11のフローチャートに基づき説明する。
尚、分散フェーズ、および復元フェーズについては、上述の実施形態1と同様に動作するものとする。
【0093】
尚、この検証フェーズは、各分散情報保有装置3−1〜3−n(以下「3−i」という)が分散情報装置2から取得した分散情報について、その正当性の検証を行い、正当であると判定した分散情報を格納保存するまでの動作内容を示す。
【0094】
まず、分散情報検証部31の第一の署名取得手段311が、分散情報装置2から送り込まれた連結分散情報を受信し(ステップB11)、この連結分散情報(S
i‖σ
i‖σa)から署名(σ
i)および集約署名(σa)を抽出する(ステップB12)。
【0095】
分散情報検証部31の公開情報取得手段3122が、分散情報装置2に対してアクセスを行い、分散情報生成部22で公開されている公開情報(g
1,v
1、v
2、・・・、v
n)を取得する(ステップB13)と共に、同様に公開されている分散情報に対応するハッシュ値(h
1,h
2,・・・,h
n)を取得する(ステップB14)。
【0096】
次いで、分散情報検証部31の署名検証手段3123が、上記取得された公開情報、ハッシュ値に基づき、以下に示す検証式(式5)の等号が成り立つか否かを判定する(ステップB15)。
【数10】
ここで、式5の等号が成り立つ場合に、署名検証手段3123は分散情報(S
i)が正当であると判定し、分散情報(S
i)を分散情報格納部32に格納する(ステップB16)。
(検証フェーズ終了)
【0097】
以上のように、上記実施形態2では、公開情報取得手段3122が、分散情報装置2に対してアクセスを行い、分散情報生成部22で公開されている公開情報(g
1,v
1、v
2、・・・、v
n)を取得し、これに基づき、署名検証手段3123が分散情報装置2から送り込まれた分散情報(S
i)の検証判定を実施することが可能となるため、分散情報保有装置(3−1〜3−n)間におけるトラフィックの増大を抑制しつつ、更には、各分散情報保有装置(3−1〜3−n)における分散情報の検証判定にかかる処理負荷を有効に軽減することが可能となる。
【0098】
上述した実施形態については、その新規な技術的内容の要点をまとめると、以下のようになる。
尚、上記の実施形態の一部又は全部は、新規な技術として以下のようにまとめられるが、本発明は必ずしもこれに限定されるものではない。
【0099】
(付記1)
秘密情報を乱数との排他的論理和演算により分割し異なる複数の分散情報を生成すると共に、前記各分散情報に対応した署名情報と当該署名情報を集約化した集約署名情報とを生成する分散装置と、前記分散装置から分配された前記分散情報、署名情報、および集約署名情報を取得する異なる複数の情報保持装置とを備えた分散情報管理システムであって、
前記各情報保持装置は、
前記署名情報を取得すると共に当該署名情報を集約化することにより集約署名情報Bを算出する集約署名算出部と、
前記分散装置から予め送り込まれた集約署名情報Aと前記集約署名情報Bとが等しい場合に前記分散装置から送り込まれた分散情報が正当であると判定し保持する分散情報判定保持部とを有し、
前記分散装置は、
前記異なる情報保持装置それぞれから対応する各分散情報を取得すると共に取得した分散情報の数が一定数以上である場合に予め設定された検証式に基づき前記署名情報および分散情報における双線形性の有無の判定を行う双線形性検証判定部と、
前記判定で双線形性が有ると判定された場合に前記各情報保持装置から取得した分散情報に基づき前記秘密情報の復元処理を行う復元処理部とを備えたことを特徴とする分散情報管理システム。
【0100】
(付記2)
付記1に記載の分散情報管理システムにおいて、
前記各情報保持装置は、前記集約署名情報B算出用の署名情報を他の情報保持装置それぞれから
取得する外部署名取得部を備えたことを特徴とする分散情報管理システム。
【0101】
(付記3)
付記1に記載の分散情報管理システムにおいて、
前記各情報保持装置は、前記分散装置内で公開設定された署名情報を前記集約署名情報B算出用の署名情報として取得する公開署名取得部を備えたことを特徴とする分散情報管理システム。
【0102】
(付記4)
付記1に記載の分散情報管理システムにおいて、
前記分散装置は、前記各分散情報に対応した鍵情報およびハッシュ値を生成する鍵情報生成部と、前記鍵情報およびハッシュ値を用いて前記署名情報を生成する署名情報生成部とを備え、前記検証式は前記鍵情報およびハッシュ値を含むことを特徴とした分散情報管理システム。
【0103】
(付記5)
秘密情報を乱数との排他的論理和演算により分割し異なる複数の分散情報を生成すると共に、前記各分散情報に対応した署名情報と当該署名情報を集約化した集約署名情報とを生成する分散装置と、前記分散装置から分配された保持する異なる複数の情報保持装置とを備えた分散情報管理システムにあって、前記分散情報の正当性を検証する分散情報管理方法であって、
前記各情報保持装置は、前記署名情報を取得し、この署名情報を集約化することにより集約署名情報Bを算出し、前記分散装置から予め送り込まれた集約署名情報Aと前記集約署名情報Bとが等しい場合に、前記分散装置から送り込まれた分散情報を保持対象として決定し、
前記分散装置は、前記異なる情報保持装置それぞれから前記保持対象である各分散情報を取得し、この分散情報の数が一定数以上である場合に、前記署名情報を含む予め設定された検証式に基づき双線形性の有無の判定を行い、前記判定で双線形性があると判定された場合に、前記各情報保持装置から取得した分散情報に基づき前記秘密情報の復元処理を行うことを特徴としていた分散情報管理方法。
【0104】
(付記6)
秘密情報を乱数との排他的論理和演算により分割し異なる複数の分散情報を生成すると共に、前記各分散情報に対応した署名情報と当該署名情報を集約化した集約署名情報とを生成する分散装置と、前記分散装置から分配された分散情報を取得すると共に前記署名情報に基づき正当であることが検証された前記分配情報を保持する異なる複数の情報保持装置とを備えた分散情報管理システムにあって、前記秘密情報の復元用情報である前記分散情報の正当性を検証する分散情報管理プログラムであって、
前記異なる情報保持装置それぞれから前記保持対象である各分散情報を取得し、この分散情報の数が一定数以上である場合に前記署名情報を含む予め設定された検証式に基づき双線形性の有無の判定を行う双線形性検証判定機能と、
前記判定で双線形性があると判定された場合に、前記各情報保持装置から取得した分散情報に基づき前記秘密情報の復元処理を行う復元処理機能とを、前記分散装置の有するコンピュータに実現させることを特徴とした分散情報管理プログラム。