JP5214474B2 - 分散情報配布装置、保持装置、認証局装置及びシステム - Google Patents
分散情報配布装置、保持装置、認証局装置及びシステム Download PDFInfo
- Publication number
- JP5214474B2 JP5214474B2 JP2008558035A JP2008558035A JP5214474B2 JP 5214474 B2 JP5214474 B2 JP 5214474B2 JP 2008558035 A JP2008558035 A JP 2008558035A JP 2008558035 A JP2008558035 A JP 2008558035A JP 5214474 B2 JP5214474 B2 JP 5214474B2
- Authority
- JP
- Japan
- Prior art keywords
- shared information
- information
- holding device
- shared
- holding
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Description
公開鍵基盤技術では、認証局と呼ばれる機関がオンラインショッピングサイトなどに対して公開鍵暗号で用いる公開鍵に対する証明書(公開鍵証明書)を発行し、サイト利用者がその発行された公開鍵証明書を利用することで、取引内容の改ざん等を防止している。具体的には、公開鍵証明書が信頼できる認証局から発行されたか検証することでサイトのなりすましを防止し、公開鍵を用いて暗号通信路を構築することで取引内容の改ざんを防止している。例えば、特許文献1によると、認証をする機器間で信頼関係木構造をたどることで、互いに信頼できることを確認する認証システムが開示されている。
そこで、秘密鍵の漏洩の防止策として、秘密分散法による秘密鍵の管理方法がある(非特許文献1)。
これにより、1つの分散情報が漏洩されても、秘密情報Sが知られることはないので、秘密情報Sを安全に管理することができる。
そこで、本発明は、上記の課題を解決するもので、分散情報が破壊されたり、改竄されたりした場合でも秘密情報を正しく生成することとのできる分散情報配布装置、保持装置、認証局装置及びシステムを提供することを目的とする。
この構成によると、全ての保持装置に割り当てられた第1から第nの分散情報の加算により、秘密情報を求めることができる。
また、本発明は、1個の秘密情報から分解した第1から第nの分散情報のうち第i番目の分散情報(iは1以上n以下の整数)が1装置当り1情報という情報が重複しない形態で割り当てられたn台の保持装置のうち第i番目の保持装置であって、記憶手段と、第i番目の保持装置に割り当てられた前記第i番目の分散情報を取得して、前記記憶手段へ書き込む第1書込手段と、1台以上の他の保持装置それぞれに割り当てられた第i番目の分散情報とは異なる番目の分散情報を取得する取得手段と、取得した前記第i番目の分散情報とは異なる番目の前記分散情報を前記記憶手段に書き込む第2書込手段とを備えることを特徴とする。
ここで、前記第i−1若しくは第i+1番目の保持装置が、第1から第nの保持装置から構成されるグループから脱退する脱退対象保持装置とした場合、第i番目の保持装置は、さらに、分散指示を受け取る受信手段と、前記分散指示を受け取ると、前記記憶手段から、前記脱退対象保持装置に割り当てられた前記第i−1若しくは前記i+1番目の分散情報を読み出す読出手段と、読み出された前記第i−1若しくは前記i+1番目の分散情報をn−1個の部分分散情報に分解する分散情報分解手段と、分解されたn−1個の部分分散情報を、第i番目の保持装置及び前記脱退対象保持装置を除く他のn−2台の保持装置それぞれが保持する複数の分散情報に対して、同一番目の分散情報には同一の部分分散情報が割り当たる様態で、前記n−2台の保持装置へ出力する出力手段とを含むとしてもよい。
この構成によると、生成された全ての部分分散情報及び他の全ての分散情報の加算により、秘密情報を求めることができる。
この構成によると、生成された全ての部分分散情報及び他の全ての分散情報の加算により、秘密情報を求めることができる。
ここで、前記閉路において1個の新たなノードが前記i番目の保持装置に対応するi番目のノードと隣接する状態で追加され、前記新たなノードに新たな追加保持装置を対応付けた場合、第i番目の保持装置は、さらに、前記追加保持装置が追加される旨の通知を受け取る受信手段と、前記通知を受け取ると、前記記憶手段から、第i番目の保持装置に割り当てられた第i番目の分散情報を読み出す読出手段と、追加部分情報を生成する生成手段と、生成された前記追加部分情報を用いて、読み出された前記第i番目の分散情報に対して演算を施し、得られた演算結果を新たな第i番目の分散情報として、読み出された前記第i番目の分散情報に代えて、前記記憶手段へ書き込む演算手段と、生成された前記追加部分情報を前記追加保持装置へ出力する出力手段と を含むとしてもよい。
この構成によると、生成された全ての追加分散情報及び他の全ての分散情報の加算により、秘密情報を求めることができる。
ここで、第i番目の保持装置において、前記出力手段は、さらに、生成された追加部分情報を、第i番目の保持装置に割り当てられた第i番目の分散情報を保持する他の保持装置へ出力するとしてもよい。
ここで、前記受信手段は、さらに、前記新たなノードと隣接する第i−1若しくは第i+1番目のノードに対応する第i−1若しくは第i+1番目の保持装置から第2の追加部分情報を受信し、前記演算手段は、さらに、前記生成手段により生成された前記追加部分情報及び前記受信手段により受信した第2の追加部分情報に演算を施して前記追加保持装置に割り当てられる分散情報を生成し、前記追加保持装置の追加によって第i番目の保持装置に対応する第i番目のノードと非隣接となる第i−1若しくは第i+1番目のノードに対応する第i−1若しくは第i+1番目の保持装置に割り当てられた第i−1若しくは第i+1番目の分散情報の代わりに、生成した前記追加分散情報を前記追加保持装置に割り当てられた分散情報として前記記憶手段に書き込むとしてもよい。
ここで、前記演算手段は、所定の法において、前記追加部分情報及び前記第2の追加部分情報を加算することにより、前記追加分散情報を得るとしてもよい。
この構成によると、生成された追加部分情報及び第2の追加部分情報並びに他の全ての分散情報の加算により、秘密情報を求めることができる。
この構成によると、生成された分散情報及び他の保持装置に割り当てられた分散情報の加算により、元の秘密情報の復元を確保することができる。
ここで、前記受信手段は、さらに、前記追加部分情報の送信元である2台の既保持装置のうち少なくとも1の既保持装置から部分分散情報を受信し、前記演算手段は、さらに、受信した部分分散情報を用いて、前記記憶手段に記憶されている分散情報に演算を施し、自身に割り当てられた新たな分散情報として、演算結果を前記記憶手段に書き込み、受信した前記部分分散情報は、前記他の保持装置に割り当てられた分散情報から生成されたものであるとしてもよい。
ここで、第1から第nの保持装置は、1個以上の閉路を形成するように配置されたn個のノードに対応付けられており、第i番目の保持装置(iは1以上n以下の整数)は、当該第i番目の保持装置に割り当てられた第i番目の分散情報と、同一の閉路において当該第i番目の保持装置に対応する第i番目のノードの両側に隣接する第i−1及び第i+1番目のノードそれぞれに対応付けられた第i−1及び第i+1番目の保持装置に割り当てられた第i−1及び第i+1番目の分散情報とを保持しており、前記受信手段は、第1から第nの保持装置それぞれに割り当てられた第1から第nの分散情報を受信することにより、冗長性のないn個の分散情報を受信し、前記特定手段は、各保持装置が保持する残りの分散情報を取得し、第i番目の保持装置に割り当てられた第i番目の分散情報と、第i−1及び第i+1番目の保持装置がそれぞれが保持する第i番目の保持装置に割り当てられた第i番目の分散情報それぞれとが、同一の情報として第i番目のグループに属するように、各保持装置から取得した全ての分散情報を第1から第nのグループに分類する第1分類部と、第1から第n番目のグループそれぞれについて、内容が同一となる分散情報が同じサブグループに属するように、当該グループに含まれる複数の分散情報を分類する第2分類部と、第1から第nのグループそれぞれから、1個のサブグループを選択し、選択したn個のサブグループそれぞれから1個の分散情報を選択し、n個の分散情報から構成される組合せを生成する組合生成部と、生成した組合せに含まれる全ての分散情報を用いて、秘密情報を生成することにより、分散情報の正当性を検証する検証部と、正当であると認められる場合に、サブグループに含まれている分散情報を保持する保持装置を正当とみなして、当該保持装置を排除する排除部とを含み、 前記特定手段は、残りの保持装置の中から不正に改竄された分散情報を保持する保持装置を特定するとしてもよい。
ここで、前記復元部は、さらに、不正に改竄された分散情報を保持すると特定された保持装置を除き、他の保持装置から受け取った複数の分散情報のうち冗長性のないn個の分散情報を用いて、秘密情報を復元するとしてもよい。
また、本発明は、1個の秘密情報から分解したn個の分散情報をそれぞれn台の保持装置へ割り当てる配布装置であって、前記保持装置の中から、特定の1台の保持装置に関連する1台以上の関連保持装置を選択する選択手段と、特定の前記保持装置に割り当てられた分散情報を、全ての前記関連保持装置に割り当てる割当手段とを備えることを特徴とする。
1.1 本実施の形態で使用する暗号について
本実施の形態では、公開鍵暗号方式としてRSA暗号および署名方式を使用する。以下では、RSA暗号および署名方式についてそれぞれ説明する。以下の説明において、X^YはXのY乗、X mod YはXをYで割ったときの余りを示している。
(1)鍵の生成
RSA暗号方式では、次に示すようにして公開鍵及び秘密鍵を計算する。
(手順1−1)ランダムに大きい素数p,qを選択し、その積n=p×qを計算する。p,qの大きさは例えば、512ビットであり、nの大きさは例えば、1024ビットである。
(手順1−3)Lと互いに素(Lとの最大公約数が1)でLより小さい自然数eをランダムに選ぶ。
1≦e≦L−1、GCD(e,L)=1
ここで、GCD(e,L)は、eとLの最大公約数を示している。また、自然数eをランダムに選ぶ方法としては乱数生成方法を用いる。乱数生成方法については、非特許文献1の45〜49ページに詳しく説明されているので、ここでの説明は省略する。
式 e×d=1 mod L
GCD(e,L)=1の場合、このようなdは必ず存在することが数学的に知られている。このようにして、得られた整数e及び整数nが、公開鍵である。また、整数dが、秘密鍵である。
公開鍵である整数e及び整数nを用いて、平文mに以下の暗号演算を施して暗号文cを計算する。ただし、平文mは整数nよりも小さいものとする。
c=m^e mod n
(3)復号文の生成
秘密鍵である整数dを用いて、暗号文cに復号演算を施して復号文m'を計算する。
なお、
m'=c^d mod n
=(m^e )^d mod n
=m^(e×d mod L) mod n
=m^1 mod n
=m mod n
であり、m<nであるので、m mod n=mであることから、復号文m'は、平文mと一致する。
1.1.2 RSA署名方式
(1)鍵の生成
RSA暗号方式では、次に示すようにして公開鍵及び秘密鍵を計算する。
(手順2−2)(p−1)及び(q−1)の最小公倍数L=LCM(p−1,q−1)を計算する。
1≦e≦L−1、GCD(e,L)=1
ここで、GCD(e,L)は、eとLの最大公約数を示している。
(手順2−4)次式を満たすdを計算する。
GCD(e,L)=1の場合、このようなdは必ず存在することが数学的に知られている。このようにして、得られた整数e及び整数nが、公開鍵である。また、整数dが、秘密鍵である。
(2)署名生成
メッセージデータDに対して、以下のように署名データSを計算する。
次に、秘密鍵である整数dを用いて、ハッシュ値hをd乗して、署名データSを計算する。
S=h^d mod n
すなわち、ハッシュ値hを平文として、RSA暗号によって暗号化した値が署名データSである。
署名データSがメッセージデータDの正しい署名であるかを、以下のように検証する。
Hash(D)とS^e mod n(署名データSをRSA暗号によって復号した値に相当する)が等しいか否かを確認する。等しい場合は、署名データSが正しい署名であるとして、受理する。等しくない場合は、署名データSが正しくない署名であるとして、拒否する。
1.2 認証局システム100の概要
図1は、本発明の実施の形態1における認証局システム100の全体構成図である。
認証局システム100は、分散情報保持装置121〜126と、鍵配布装置130と、認証局装置140と、端末A、B、Cとから構成されている。
認証局装置140は秘密鍵141を用いて証明書を発行する発行装置である。
認証局装置140は、秘密鍵141が漏洩したときに、新しい秘密鍵“d”を回復し、回復した新しい秘密鍵“d”が正当な鍵であるか否かを検証する。
分散情報保持装置121〜126は、認証局装置140が新しい秘密鍵“d”を回復するための分散情報を有している。
具体的には、鍵配布装置130は、「新しい秘密鍵」をRSA暗号の秘密鍵dとして、秘密分散法を用いてk個の分散情報(d_1、d_2、・・・、d_k)に分割する。ここで、X_Yは、Xに下付きインデックスYが付けられていることを示す。
d=d_1+d_2+・・・+d_k mod L
の関係にある。
また、鍵配布装置130は、「新しい秘密鍵」を生成した後に正しく回復できているかを検証するための検証用の証明書として、RSA暗号の公開鍵eとnに対する証明書に「新しい秘密鍵」を用いて生成した署名を付加した自己証明書を生成する。
端末A、端末B、端末Cは認証局装置140から秘密鍵に対する公開鍵の証明書(公開鍵証明書)を発行してもらい、他の端末との暗号通信などにその公開鍵証明書を利用する。
認証局システム100が行う処理は、6つある。
1つ目の処理としては、新しい鍵の回復を行うのに必要となる分散情報を各分散情報保持装置へ配布するために、「新しい秘密鍵」の生成と秘密分散法による「新しい秘密鍵」からの分散情報の生成などの初期設計を行う処理(初期設計処理)である。
3つ目の処理としては、秘密鍵の漏洩が検知されたときに、漏洩原因の解析及び回復方法の判断を行い、秘密鍵を更新すると判断された場合には、各分散情報保持装置から分散情報を収集し、「新しい秘密鍵」を生成し、回復された秘密鍵が正しい値かどうかを検証し、認証局装置140の秘密鍵を回復する処理(解析・回復処理)である。
5つ目の処理としては、分散情報を保持している分散情報保持装置が脱退するときに、他の分散情報保持装置で保持している分散情報の更新する処理(分散情報保持装置の脱退処理)がある。
これらの処理については、後述する。
1.2.2 各分散情報保持装置が保持する情報について
ここでは、分散情報保持装置121〜126のそれぞれが保持する分散情報及び証明書について説明する。
図2は、本実施の形態における分散情報に冗長性を持たせた場合の分散情報保持装置121〜126の構成図である。
d=d_1+d_2+d_3+d_4+d_5+d_6 mod L
とする。
図2において、分散情報保持装置121〜126のそれぞれは、3つの分散情報と1つの証明書を保持する構成となっている。3つの分散情報の内の1つはその分散情報保持装置が所有する分散情報であり、他の2つの分散情報は他の分散情報保持装置が所有する他装置分散情報(第1及び第2他装置分散情報)である。
分散情報保持装置121は、分散情報保持装置122が所有する分散情報“d_2”を第1他装置分散情報“d1_2”212_1として、分散情報保持装置126が所有する分散情報“d_6”を第2他装置分散情報“d2_6”216_1として保持している。
つまり、本実施の形態では、分散情報保持装置が分散情報として値“d_i”を有していると、第1他装置分散情報として値“d1_(i+1)(=d_(i+1))”を、第2他装置分散情報として値“d2_(i−1)(=d_(i−1))”を有している。なお、i+1=7の場合は、d1_1(=d_1)とし、i−1=0の場合は、d2_6(=d_6)とする。
分散情報保持装置が保持する分散情報に冗長性を持たせることで、認証局装置140の回復時に不正な秘密鍵が生成された場合に、それぞれの分散情報保持装置で共通に持っている分散情報を利用し、どの分散情報保持装置から受信した分散情報が不正な値であったかを調べ、不正な値を送信した分散情報保持装置の分散情報を除いた正しい分散情報で正しい「新しい秘密鍵」を生成する事が出来る。さらに、分散情報保持装置間で分散情報等のデータを送受信する場合に、同じと識別される分散情報を保持している分散情報保持装置が送信されたデータが正しいデータであるかを検証することで、不正な動作を行う分散情報保持装置を検出することも出来る。
ここでは、分散情報保持装置の脱退・追加の処理時の概要を説明する。
鍵配布装置130は、秘密分散法で「新しい秘密鍵」から分散情報を生成する際に、生成される分散情報をすべて足すと「新しい秘密鍵」が復元できるように6個の分散情報を生成する。
分散情報保持装置121が脱退する場合には、まず、脱退する分散情報保持装置121が所有している分散情報“d_1”211と同一となるべき他装置分散情報から5個の部分情報を生成する。この時も、生成された5個の部分情報をすべて足すと分散情報“d_1”211になるように各部分情報は生成される。そして、それぞれの部分情報を他の分散情報保持装置122〜126へ送信する。
ここでは、分散情報保持装置121〜126と、鍵配布装置130と、認証局装置140の構成について説明する。
1.3.1 鍵配布装置130の構成
鍵配布装置130は、図3に示すように、鍵ペア生成部301、証明書生成部302、証明書配布部303、秘密鍵分散部304、分散情報配布部305、鍵消去部306及び送信部307から構成されている。
鍵ペア生成部301は、RSA暗号方式で用いられる公開鍵PKと秘密鍵dのペアを生成する。
鍵ペア生成部301は、生成した公開鍵PKを証明書生成部302へ出力する。
また、鍵ペア生成部301は、生成した秘密鍵dを証明書生成部302及び秘密鍵分散部304へ出力する。
証明書生成部302は、鍵ペア生成部301から公開鍵PK及び秘密鍵dを受け取ると、受け取った公開鍵PKの証明書を生成する。証明書に付けられる署名は、公開鍵に対応する秘密鍵を用いて作成する。
証明書生成部302は、生成した証明書を証明書配布部303へ出力する。
なお、公開鍵の証明書の生成については、公知の技術であるので、ここでの説明は省略する。
(3)証明書配布部303
証明書配布部303は、証明書生成部302から証明書を受け取ると、受け取った証明書を、送信部307を介して分散情報保持装置121〜126へ配布する。
秘密鍵分散部304は、k個の分散情報d_1、d_2、d_3、・・・、d_kを格納するための記憶領域を有している。
秘密鍵分散部304は、鍵ペア生成部301から秘密鍵dを受け取ると、受け取った秘密鍵dから秘密分散法を用いてk個の分散情報d_1、d_2、d_3、・・・、d_kを生成する(ここでは、k=6)。言い換えると、秘密鍵分散部304は、秘密鍵dを、秘密分散法を用いてk個の分散情報d_1、d_2、d_3、・・・、d_kに分散(分解する)。ここで、秘密鍵分散部304は、全ての分散情報を加算すると秘密鍵dになるように分散する。なお、以下、k=6として説明する。
d_k = d − (d_1+d_2+d_3+d_4+d_5)
により、d_k(=d_6)を算出する。
(5)分散情報配布部305
分散情報配布部305は、秘密鍵分散部304にて生成された分散情報d_1、d_2、d_3、d_4、d_5、d_6を分散情報保持装置121〜126へ配布する。配布する分散情報は、それぞれの分散情報保持装置が所有する分散情報と、他の分散情報保持装置が所有している共通に持つ分散情報を配布する。さらに、どの分散情報をどの分散情報保持装置へ配布したかのリストが記入されている配布先リストT100を作成し、各分散情報保持装置と認証局装置140へ配布する。
(装置情報記憶部351)
装置情報記憶部351は、図6にて示すように、装置情報リストT200を有している。
なお、以降の説明において、装置情報リストT200における番号“i”に対応するID_iの分散情報保持装置をi番目の分散情報保持装置と呼ぶ場合がある。例えば、3番目の分散情報保持装置とは、分散情報保持装置123のことである。
閉路に形成されたグラフ上にk(=6)個の第1から第6のノードが順次接続されるように仮想的に配置されている。分散情報保持装置121〜126のそれぞれは、第1から第6のノードに順次対応付けられている。つまり、分散情報保持装置12Xは、第Xのノードに対応付けられている。
(分散情報選択部352)
分散情報選択部352は、秘密鍵分散部304にて生成され、一時的に記憶されている分散情報d_1、d_2、d_3、d_4、d_5、d_6のうちi番目の分散情報d_iを選択する。
分散情報選択部352にて選択された分散情報d_iを配布する3台の分散情報保持装置の選択と、配布先リストT100の生成を行う。なお、配布先リストT100は、初期段階では、何も登録されていないものとする。
装置選択部353は、分散情報選択部352にてi番目の分散情報d_iが選択されると、装置情報リストT200の内容に基づいて、i番目の分散情報保持装置を選択する。具体的には、装置選択部353は、i番目の分散情報保持装置に対応する装置IDを装置情報リストT200から選択する。
装置選択部353は、i番目の分散保持装置の装置IDを自装置IDとし、(i+1)番目の分散情報保持装置の装置IDを第1他装置IDとし、(i−1)番目の分散情報保持装置の装置IDを第2他装置IDとして、配布先リストT100に追加する。
(出力部354)
出力部354は、分散情報選択部352にて選択された分散情報d_iを、送信部307を介して、装置選択部353にて選択されたi、(i−1)及び(i+1)番目の分散情報保持装置それぞれに配布する。このとき、出力部354は、i番目の分散情報保持装置に対しては、当該装置に割り当てられた分散情報として分散情報d_iを配布する。出力部354は、(i+1)番目の分散情報保持装置に対しては、第1他装置分散情報として分散情報d_i(=d1_i)を配布する。出力部354は、(i−1)番目の分散情報保持装置に対しては、第2他装置分散情報として分散情報d_i(=d2_i)を配布する。
(繰返制御部355)
繰返制御部355は、分散情報の選択、選択された分散情報が配布される3台の分散情報保持装置の選択、選択された3台の分散情報保持装置それぞれの装置IDの配布先リストT100への登録、及び選択された分散情報の配布を、繰り返し行うように、分散情報選択部352、装置選択部353及び出力部354を制御する。
上述したように、分散情報配布部305は、i、(i−1)及び(i+1)番目の分散情報保持装置それぞれを選択し、分散情報d_iを、選択したi、(i−1)及び(i+1)番目の分散情報保持装置それぞれに配布する。
このとき、分散情報配布部305は、i、(i−1)及び(i+1)番目の分散情報保持装置を順次選択し、分散情報d_iを、選択したi、(i−1)及び(i+1)番目の分散情報保持装置それぞれに順次配布することになる。
鍵消去部306は、設計の処理過程で生成された鍵(秘密鍵、公開鍵)、証明書、分散情報、分散情報配布先リストなどの鍵配布に関連するデータを消去する。
(7)送信部307
送信部307は、証明書配布部303から出力された証明書を分散情報保持装置121〜126へ送信する。
送信部307は、分散情報配布部305から出力された配布先リストT100を、分散情報保持装置121〜126及び認証局装置140へ送信する。
1.3.2 分散情報保持装置121〜126の構成
分散情報保持装置121〜126は、図7に示すように、制御部250_j、分散情報格納部251_j、他装置分散情報格納部252_j、認証子格納部253_j、リスト格納部254_j、ID格納部255_j、送信部256_j及び受信部257_jから構成されている。
つまり、構成要素25x_1は分散情報保持装置121に具備されており、構成要素25x_2は分散情報保持装置122に具備されている。また、構成要素25x_3は分散情報保持装置123に具備されており、構成要素25x_4は分散情報保持装置124に具備されている。さらに、構成要素25x_5は分散情報保持装置125に具備されており、構成要素25x_6は分散情報保持装置126に具備されている。
分散情報格納部251_jは、j番目の分散情報保持装置が所有する分散情報d_jを格納する。
(2)他装置分散情報格納部252_j
他装置分散情報格納部252は、第1他装置分散情報d_(j+1)、及び第2他装置分散情報d_(j−1)を格納する。
(3)認証子格納部253_j
認証子格納部253_jは、秘密鍵dに対する公開鍵PKの証明書を格納する。
(4)リスト格納部254_j
リスト格納部254_jは、鍵配布装置130から配布された配布先リストT100を格納する。
ID格納部255_jは、当該装置を識別する装置ID“ID_j”を格納している。
(6)制御部250_j
制御部250_jは、当該装置の動作を制御する。
制御部250_jは、図7に示すように、分散情報更新部260_j、分散情報分割部261_j、分散情報検証部262_j、他装置分散情報検証部263_j、部分情報検証部264_j、変形情報生成部265_j、リスト更新部266_j及び取得部267_jを有している。
分散情報更新部260_jは、鍵配布装置130から送信部256_jを介して、当該装置に割り当てられた分散情報として分散情報d_jを受け取ると、分散情報格納部251_jに格納する。このとき、分散情報更新部260_jは、分散情報格納部251_jに情報が存在する場合には、その情報を消去し、受け取った分散情報d_jを格納する。
先ず、脱退処理における分散情報更新部260_jの動作について説明する。
分散情報更新部260_jは、自装置の分散情報分割部261_jから2つの部分情報、若しくは他の分散情報保持装置から2つ若しくは3つの部分情報を受信部257_jを介して受け取る。
分散情報更新部260_jは、他の分散情報保持装置から受信部257_jを介して、若しくは自装置の部分情報検証部264_jから、部分情報の生成に用いられた分散情報の検証結果を受け取る。
なお、脱退時における分散情報の更新の詳細については、後述する脱退処理の動作説明において、具体例を用いて説明する。
既存の装置であり、且つ追加対象の分散情報を格納する場合(以下、第1のCASE)と、既存装置であり、且つ変形情報を生成した装置の分散情報を格納している場合(以下、第2のCASE)と、自装置が追加対象の装置である場合(以下、第3のCASE)と、上記以外の装置である場合(以下、第4のCASE)で動作が異なる。
<第1のCASE>
分散情報更新部260_jは、他の分散情報保持装置で生成された変形情報“n1”を受け取ると、一時的に格納する。
分散情報更新部260_jは、変形情報生成部265_jにて生成された変形情報(例えば、“n2”)と、分散情報“d_j”とを用いて、新たな分散情報“d_j’(=d_j−n2)”を生成し、分散情報格納部251_jに格納されている内容を、生成した新たな分散情報に更新する。ここで、自装置若しくは他装置の変形情報生成部にて生成される変形情報は整数である。また、分散情報から変形情報を減算するときには整数として引き算する。また、この引き算のとき、負の数になる事もあるが、そのまま分散情報として保持する。
分散情報更新部260_jは、一時的に記憶している2つ若しくは3つの部分情報を用いて、対応する分散情報の更新を行う。
なお、追加時における分散情報の更新の詳細については、後述する追加処理の動作説明において、具体例を用いて説明する。
分散情報更新部260_jは、他の分散情報保持装置で生成された変形情報“n1”を受け取ると、前記他の分散情報保持装置が保持する分散情報と同一の値であるべき他装置分散情報から、受け取った変形情報“n1”を減算して、新たな他装置分散情報を生成する。分散情報更新部260_jは、更新前の他装置分散情報を、更新後の新たな他装置分散情報に更新する。このとき、減算結果が負の数になる事もあるが、そのまま分散情報として保持する。
分散情報更新部260_jは、一時的に記憶している2つ若しくは3つの部分情報を用いて、対応する分散情報の更新を行う。
なお、追加時における分散情報の更新の詳細については、後述する追加処理の動作説明において、具体例を用いて説明する。
分散情報更新部260_jは、他の2台の分散情報保持装置で生成された変形情報“n1”、“n2”を受け取ると、一時的に記憶する。分散情報更新部260_jは、当該装置に割り当てられた分散情報“n1+n2”を生成し、分散情報格納部251_jに格納する。
分散情報更新部260_jは、(j―1)番目の分散情報保持装置から分散情報を、(j―2)番目の分散情報保持装置から第1他装置分散情報をそれぞれ受け取る。分散情報更新部260_jは、分散情報及び第1他装置分散情報とが一致する場合に、受け取った分散情報を第2他装置分散情報として他装置分散情報格納部252_jに格納する。
分散情報更新部260_jは、一時的に記憶している2つ若しくは3つの部分情報を用いて、対応する分散情報の更新を行う。
なお、追加時における分散情報の更新の詳細については、後述する追加処理の動作説明において、具体例を用いて説明する。
分散情報更新部260_jは、他装置にて生成された3つの部分情報を受け取り、一時的に記憶する。
分散情報更新部260_jは、一時的に記憶している3つの部分情報を用いて、対応する分散情報の更新を行う。
(分散情報分割部261_j)
分散情報分割部261_jは、脱退処理・追加処理時において、分散情報格納部251に格納している分散情報や他装置分散情報格納部252に格納している第1若しくは第2他装置分散情報から複数の部分情報を生成する。言い換えると、分散情報分割部261_jは、分散情報格納部251に格納している分散情報や他装置分散情報格納部252に格納している第1若しくは第2他装置分散情報を、複数の部分情報に分散(分解)する。
分散情報分割部261_jは、分散情報保持装置を監視する監視装置(図示せず)から、脱退対象の分散情報保持装置が有する分散情報と同一の他装置分散情報から部分情報を生成する旨の脱退時の部分情報生成指示を受け取る。ここで、監視装置は、分散情報保持装置の動作を監視し、分散情報保持装置が故障等により動作を停止した時や、不正な動作を行っていることが判明したときに、当該分散情報保持装置を脱退させるように前記部分情報指示情報を通知する。また、分散情報分割部261_jは、脱退時の部分情報生成指示を外部装置から受け取るとしたが、これに限定されない。分散情報分割部261_jは、脱退時の部分情報生成指示を、鍵配布装置130から受け取ってもよいし、認証局装置140から受け取ってもよい。または、脱退する分散情報保持装置が、自身が保持する分散情報と同一の値である他装置分散情報を保持する他の分散情報保持装置へ部分情報生成指示を通知することで動作を開始するものとしてもよい。
分散情報分割部261_jは、取得した他装置分散情報“s”からk−1個の部分情報を、生成する。ここで、分散情報分割部261_jは、全ての部分情報を加算すると取得した他装置分散情報“s”になるように各部分情報を生成する。
s_(k−1) = s − (s_1+s_2+s_3+s_4)
により、s_(k−1)(=s_5)を算出する。
分散情報分割部261_jは、配布先リストT100の内容に基づいて、配布先の分散情報保持装置毎に、2つ若しくは3つの部分情報を配布する。なお、自装置へは2つの部分情報が配布されるが、この場合、分散情報分割部261_jは、分散情報更新部260_jへ出力する。
次に、追加時の動作について説明する。
分散情報分割部261_jは、追加対象の分散情報保持装置127(図1では図示せず)から、分散情報から部分情報を生成する旨の追加時の部分情報生成指示を受け取る。
s_(k+1) = s − (s_1+s_2+s_3+・・・+s_6)
により、s_(k+1)(=s_7)を算出する。このとき、減算結果が負の数になる事もあるが、そのまま部分情報として扱う。
分散情報分割部261_jは、配布先の分散情報保持装置毎に、3つ若しくは6つの部分情報を配布する。なお、自装置へは3つの部分情報が配布されるが、この場合、分散情報分割部261_jは、分散情報更新部260_jへ出力する。
分散情報保持装置毎に配布する3つ若しくは6つの部分情報については、後述する追加処理の動作説明において、具体例を用いて詳細に説明する。
分散情報検証部262_jは、分散情報格納部251_jに格納している分散情報が他の分散情報保持装置が第1若しくは第2他装置分散情報として保持している情報と同じ値かどうかを検証する。
具体的には、分散情報検証部262_jは、リスト格納部254_jにて格納されている配布先リストT100を用いて、分散情報格納部251_jにて格納されている分散情報と同一の値である第1他装置分散情報を持つ分散情報保持装置及び第2他装置分散情報を持つ分散情報保持装置を特定し、特定した各分散情報保持装置から第1及び第2他装置分散情報を、受信部257_jを介して受信する。分散情報検証部262_jは、分散情報格納部251_jにて格納されている分散情報と、受信した第1及び第2他装置分散情報とが一致するか否かの検証を行う。
他装置分散情報検証部263_jは、他装置分散情報格納部252_jに格納している第1若しくは第2他装置分散情報が、他の分散情報保持装置が分散情報や第1若しくは第2他装置分散情報として保持している情報と同じ値かどうかを検証する。
具体的には、他装置分散情報検証部263_jは、リスト格納部254_jにて格納されている配布先リストT100を用いて、他装置分散情報格納部252_jにて格納されている第1他装置分散情報と同一の値である分散情報を持つ分散情報保持装置及び第2他装置分散情報を持つ分散情報保持装置を特定し、特定した各分散情報保持装置から分散情報及び第2他装置分散情報を、受信部257_jを介して受信する。他装置分散情報検証部263_jは、他装置分散情報格納部252_jにて格納されている第1他装置分散情報と、受信した分散情報及び第2他装置分散情報とが一致するか否かの検証を行う。
部分情報検証部264_jは、他の分散情報保持装置で生成された複数の部分情報の総和、つまり部分情報の生成に用いられた他装置分散情報が正当であるか否かを検証する。
以下、その動作について説明する。
部分情報検証部264_jは、前記他の分散情報保持装置から部分情報検証指示を、受信部257_jを介して受け取る。
部分情報検証部264_jは、取得した全ての部分情報を加算し、値s’を算出する。部分情報検証部264_jは、算出した値s’が正当であるか否かを、値s’と他装置分散情報格納部252_jに格納されている第1若しくは第2他装置分散情報を用いて検証する。
部分情報検証部264_jは、検証結果により、値s’が前記当該装置が有する第1若しくは第2他装置分散情報と同一でないと判断する場合には、同一でない旨の検証結果を各分散情報保持装置へ送信部256_jを介して送信する。
(変形情報生成部265_j)
変形情報生成部265_jは、外部の装置(図示せず)から、追加対象の分散情報保持装置に対する分散情報を生成する旨の追加時の分散情報生成指示を受け取る。ここで、本実施の形態では、変形情報生成部265_jは、追加時の分散情報生成指示を外部装置から受け取るとしたが、これに限定されない。変形情報生成部265_jは、追加時の分散情報生成指示を、鍵配布装置130から受け取ってもよいし、認証局装置140から受け取ってもよい。
変形情報生成部265_jは、生成した変形情報を追加対象の分散情報保持装置へ受信部257_jを介して送信する。
変形情報生成部265_jは、分散情報格納部251_jにて格納されている分散情報と同一の他装置分散情報をもつべき2台の分散情報保持装置を、配布先リストT100を用いて特定し、生成した変形情報を、特定した2台の分散情報保持装置へも受信部257_jを介して送信する。
なお、変形情報の生成方法は、上記の方法に限定されない。例えば、分散情報のハッシュ値を変形情報とする方法などがある。また、固定値を用いたり分散情報の値の半分の値を用いたりする方法も考えられるが、これらの方法は、悪意のある第3者によって変形情報から分散情報を推測されやすくなるため避けた方がよい。
リスト更新部266_jは、認証局システム100における脱退処理・追加処理時において、分散情報保持装置間の相互関係が変更になると、新しい相互関係となるように配布先リストを更新し、リスト格納部254_jに格納している配布先リストを、更新後の配布先リストへと更新する。また、リスト更新部266_jは、更新後の配布先リストを他の分散情報保持装置及び認証局装置140へ送信部を介して送信する。
(取得部267_j)
取得部267_jは、認証局装置140から分散情報を要求する第1の要求を受け付けると、分散情報格納部251_jにて格納されている分散情報を取得する。取得部267_jは、取得した分散情報を、送信部256_jを介して認証局装置140へ送信する。
取得部267_jは、認証局装置140から分散情報、第1及び第2他装置分散情報を要求する第3の要求を受け付けると、分散情報格納部251_jにて格納されている分散情報と、他装置分散情報格納部252_jにて格納されている第1及び第2他装置分散情報とを取得し、ID格納部255_jから装置ID“ID_j”を取得する。取得部267_jは、取得した分散情報、第1及び第2他装置分散情報を、送信部256_jを介して認証局装置140へ送信する。ここで、以下の説明において、分散情報、第1及び第2他装置分散情報からなる組を分散情報群という。
取得部267_jは、他の分散情報保持装置から第1他装置分散情報を要求する第1他装置分散情報要求指示を受信部257_jを介して受け取ると、他装置分散情報格納部252_jから第1他装置分散情報を取得する。取得部267_jは、取得した第1他装置分散情報を要求元の分散情報保持装置へ送信部256_jを介して出力する。
(7)送信部256_j
送信部256_jは、制御部250_jから受け取った情報を認証局装置140や他の分散情報保持装置へ送信する。
受信部257_jは、鍵配布装置130、認証局装置140や他の分散情報保持装置から受け取った情報を制御部250_jへ出力する。
1.3.3 認証局装置140
認証局装置140は、図8に示すように、秘密鍵格納部401、リスト格納部402、制御部403、第1送受信部404及び第2送受信部405から構成されている。
秘密鍵格納部401は、認証局装置140の秘密鍵を格納している。例えば、秘密鍵格納部401は、図1にて示す秘密鍵141を格納している。
(2)リスト格納部402
リスト格納部402は、配布先リストT100を格納している。
制御部403は、当該装置の動作を制御する。
制御部403は、図8に示すように、端末証明書発行部412、認証局証明書格納部413、秘密鍵生成部414、秘密鍵検証部415、不正装置特定部416及び解析部417から構成されている。
端末証明書発行部412は、端末A、端末B、及び端末Cより証明書の発行を依頼されたときに、秘密鍵格納部401に格納している秘密鍵を用いて、端末の公開鍵に対してディジタル署名して証明書を生成し、生成した証明書を第2送受信部405を介して依頼元の端末へ送信する。
(認証局証明書格納部413)
認証局証明書格納部413は、秘密鍵格納部401に格納している秘密鍵に対応した公開鍵に対する証明書を格納している。端末が他の端末の証明書を検証するときに利用する。
解析部417は、外部装置(図示せず)から秘密鍵漏洩の通知を受けると証明書の発行を停止し、自装置のログをチェックし漏洩原因を解析し、回復方法の判断を行う。解析と判断の結果、秘密鍵の更新の必要があると判断された場合には、鍵の回復を行う旨の回復指示を秘密鍵生成部414へ出力する。
(秘密鍵生成部414)
秘密鍵生成部414は、解析部417から回復指示を受け取ると、第1要求を、分散情報保持装置121〜126へ第1送受信部404を介して送信する。
秘密鍵生成部414は、受け取った各分散情報(d_1〜d_6)から値d’(=d_1+d_2+d_3+d_4+d_5+d_6)を算出する。以下、各分散情報から算出された値を鍵候補値と呼ぶ場合もある。
秘密鍵検証部415は、第2要求を、分散情報保持装置121〜126へ第1送受信部404を介して送信する。秘密鍵検証部415は、分散情報保持装置121〜126から第1送受信部404を介して、証明書を受信する。
秘密鍵検証部415は、受信した証明書がすべて同じ証明書であることを確認して、算出された値d’と証明書を用いて、秘密鍵生成部414で算出された値d’が秘密鍵dと同一であるか否かを検証、つまり、秘密鍵生成部414にて算出した値d’が、正しい「新しい秘密鍵」であるかどうかを検証する。
検証した結果正しい「新しい秘密鍵」であった場合は、秘密鍵検証部415は、秘密鍵格納部401の秘密鍵を新しい秘密鍵、つまり値d’で上書きして、格納する。さらに、秘密鍵検証部415は、認証局証明書格納部413の証明書を検証に用いた証明書で上書きして、格納する。
検証方法について、以下に説明する。
秘密鍵検証部415は、例えば、算出された値d’を用いて、証明書に含まれる公開鍵PKに対する署名S’(=Sig(d’、PK))を計算し、証明書に含まれる署名Sと一致するかを比較する。一致する場合には、秘密鍵検証部415は、秘密鍵生成部414にて算出した値d’が、正しい「新しい秘密鍵」であると判断する。一致しない場合には、秘密鍵検証部415は、秘密鍵生成部414にて算出した値d’が、正しい「新しい秘密鍵」でないと判断する。
不正装置特定部416は、秘密鍵検証部415で検証した秘密鍵が正しい「新しい秘密鍵」でないと判断された場合には、どの分散情報保持装置から受信した分散情報が不正な分散情報であったかを特定する。
以下、その動作について説明する。
第1分類部421は、第3要求を、分散情報保持装置121〜126へ第1送受信部404を介して送信する。第1分類部421は、分散情報保持装置121〜126それぞれから当該分散情報保持装置が有する分散情報、第1及び第2他装置分散情報からなる分散情報群を受信する。第1分類部421は、受信した分散情報群に含まれる分散情報、第1及び第2他装置分散情報それぞれと、送信元の分散情報保持装置を識別する送信元識別情報(例えば、装置ID)とを対応付けて一時的に記憶する。第1分類部421は、リスト格納部402にて格納されている配布先リストT100の内容に基づいて、同一の値となるべき分散情報と、第1及び第2他装置分散情報とからなる複数のグループを生成する。
組合生成部423は、各グループからサブグループを1つ選び出す組み合わせを全て生成する。
検証部424は、生成した組み合わせそれぞれに対して鍵候補値を算出し、算出した鍵候補値が正しい秘密鍵であるか否かを検証する。なお、検証方法は、秘密鍵検証部415にて行う検証方法と同一の方法を用いる。
すべての組み合わせで秘密鍵の生成・検証が行われた後、排除部425は、検証通過識別情報が付与されていない分散情報に対応する送信元識別情報を用いて、この情報を送信した分散情報保持装置を特定する。
ここで、鍵生成の具体例を以下説明する。
秘密鍵生成部426は、不正な分散情報保持装置(ここでは、分散情報保持装置122とする)を除く残りの分散情報保持装置121、123〜126それぞれに割り当てられた分散情報(d_1、d_3、d_4、d_5、d_6)を取得する。秘密鍵生成部426は、分散情報“d_2”を、分散情報保持装置121が保持する第1他装置分散情報“d1_2”、若しくは分散情報保持装置123が保持する第2他装置分散情報“d2_2”を取得する。
なお、分散情報の取得方法は、上記の方法に限定されない。不正な分散情報保持装置を除く残りの分散保持情報から秘密鍵の回復に必要な各分散情報を取得することができれば、どのような方法でもよい。
第1送受信部404は、鍵配布装置130から受け取った配布先リストT100をリスト格納部402へ格納する。
第1送受信部404は、1台の分散情報保持装置から更新後の配布先リストを受け取ると、リスト格納部402の配布先リストを受け取った更新後の配布先リストで上書きして、格納する。
第1送受信部404は、制御部403から受け取った情報を各分散情報保持装置それぞれへ送信する。
(5)第2送受信部405
第2送受信部405は、端末A、端末B、及び端末Cからの要求を受け取ると、受け取った要求を制御部403へ出力し、端末A、端末B、及び端末Cからの要求に応じて生成された証明書を要求元の端末へ送信する。
ここでは、認証局システム100の動作の動作について説明する。認証局システム100は、上記“1.2.1 各装置の概要”にて示したように、初期設計処理、検知処理、解析・回復処理、次ラウンド準備処理、分散情報保持装置の脱退処理及び分散情報保持装置の追加処理を行う。
以下、これら6つの処理について説明する。
認証局システム100における初期設計処理について、図9にて示す流れ図を用いて説明する。
初期設計処理は、認証局システム100のセキュリティが崩壊する前に行われる。
鍵配布装置130の鍵ペア生成部301は、公開鍵暗号に基づく鍵ペア(公開鍵PK、秘密鍵d)を生成する(ステップS5)。
証明書生成部302は、秘密鍵が正しく生成できたかどうかの検証に利用する認証子として、鍵ペア生成部301によって生成された公開鍵PKに対して、秘密鍵dを用いて証明書を生成する(ステップS15)。
具体的には、鍵配布装置130は、i(i=1〜6)番目の分散情報保持装置へ、分散情報(d_i、d_(i+1)、d_(i−1))、証明書及び配布先リストT100を配布する(ステップS25〜ステップS30)。また、鍵配布装置130は、配布先リストT100のみを認証局装置140へ配布する(ステップS31)。なお、i+1=7の場合にはi=1とし、i−1=0の場合にはi=6とする。
1.4.2 分散情報の生成処理について
ここでは、図9のステップS10にて行われる分散情報の生成処理について、図10にて示す流れ図を用いて説明する。
秘密鍵分散部304は、
d_k = d − (d_1+d_2+d_3+d_4+d_5)
により、d_k(=d_6)を算出する(ステップS55)。このとき、減算結果が負の数になる事もあるが、そのまま分散情報として扱う。
ここでは、図9のステップS20にて行われる分散情報、証明書及び配布先リストT100の配布処理について、図11にて示す流れ図を用いて説明する。
分散情報配布部305は、繰返制御部355により、i=1から6までの間、ステップS100からステップS130までを繰り返す。
装置選択部353は、装置情報リストT200の内容に基づいて、i番目の分散情報保持装置を選択する(ステップS110)。具体的には、装置選択部353は、i番目の分散情報保持装置に対応する装置IDを装置情報リストT200から選択する。
出力部354は、分散情報選択部352にて選択された分散情報d_iを、送信部307を介して、装置選択部353にて選択されたi、(i−1)及び(i+1)番目の分散情報保持装置それぞれに出力する(ステップS125)。このとき、出力部354は、i番目の分散情報保持装置に対しては、当該装置に割り当てられた分散情報として分散情報d_iを出力する。出力部354は、(i+1)番目の分散情報保持装置に対しては、第1他装置分散情報として分散情報d_i(=d1_i)を出力する。出力部354は、(i−1)番目の分散情報保持装置に対しては、第2他装置分散情報として分散情報d_i(=d2_i)を出力する。
証明書配布部303は、証明書生成部302にて生成された証明書を、分散情報保持装置121〜126へ出力する(ステップS140)。
認証局装置140は、端末から証明書の発行依頼を受けて証明書を発行するために、秘密鍵格納部401に格納している秘密鍵を用いて署名を付けた証明書を端末証明書発行部412により生成し、端末へ送付する。また認証局装置140は保持する秘密鍵に対する公開鍵の証明書を認証局証明書格納部413に保持し、端末から認証局装置140に対する証明書の送信要求があった場合に送信する。
1.4.5 解析・回復処理
解析部417は、検知処理において外部装置(図示せず)から秘密鍵漏洩の通知を受けると証明書の発行を停止し、自装置のログをチェックし漏洩原因を解析し、鍵の回復を行うか否かの判断を行う。
秘密鍵生成部414は、解析部417から回復指示を受け取ると、鍵回復処理を開始する。
以降、鍵回復処理について、図12にて示す流れ図を用いて説明する。
分散情報保持装置121〜126は、自装置が所有する分散情報を認証局装置140へ出力する(ステップS205〜S210)。具体的には、i番目の分散情報保持装置は、分散情報“d_i”を認証局装置140へ出力する。
秘密鍵検証部415は、第2要求を分散情報保持装置121〜126へ出力して、分散情報保持装置121〜126それぞれから証明書を収集する(ステップS220)。
分散情報保持装置121〜126は、自装置が所有する証明書を認証局装置140へ出力する(ステップS225〜S230)。
(鍵検証処理)
ここでは、鍵検証処理について、図13にて示す流れ図を用いて説明する。
秘密鍵検証部415は、算出された値d’を用いて、証明書に含まれる公開鍵PKに対する署名S’(=Sig(d’、PK))を生成する(ステップS250)。
一致すると判断する場合には(ステップS255における「YES」)、秘密鍵検証部415は、秘密鍵生成部414にて算出した値d’が正しい「新しい秘密鍵」であるとして、秘密鍵格納部401の秘密鍵を新しい秘密鍵、つまり値d’で上書きして、格納する(ステップS260)。秘密鍵検証部415は、認証局証明書格納部413の証明書を検証に用いた証明書で上書きして、格納する(ステップS265)。
(不正装置の検出処理)
ここでは、図13のステップS270にて行われる不正装置の検出処理について、図14及び図15にて示す流れ図を用いて説明する。
第2分類部422は、生成した各グループにおいて、値が同一である情報毎にサブグループ化を行う(ステップS310)。
検証部424は、1つの組み合わせを選択する(ステップS320)。
検証部424は、選択した1つの組み合わせに対して鍵候補値を生成し(ステップS325)、算出した鍵候補値が正当であるか否かを検証する(ステップS330)。なお、ステップS330における検証方法は、図13にて示すステップS250及びS255と同様の動作により実現できる。
検証部424は、次の組み合わせが存在するか否かを判断する(ステップS340)。
次の組み合わせが存在しないと判断する場合には(ステップS340における「NO」)、排除部425は、検証通過情報が対応付けられていないサブグループから不正な分散情報保持装置を特定する(ステップS345)。
秘密鍵生成部426は、秘密鍵格納部401の秘密鍵を生成した秘密鍵で上書きして、格納する(ステップS355)。秘密鍵生成部426は、認証局証明書格納部413の証明書を検証に用いた証明書で上書きして、格納する(ステップS360)。
(具体例)
不正装置特定部416で不正な分散情報保持装置を特定するために、各分散情報保持装置で所有している分散情報と他の装置と共通に持っている分散情報の両方の分散情報を利用する。不正な分散情報保持装置の特定方法の具定例を図16、図17を用いて説明する。
不正装置特定部416は、分散情報保持装置121〜126毎に、分散情報群501〜506を収集し、収集した各分散情報群501〜506それぞれに含まれる情報毎に、装置IDを対応付ける。
不正装置特定部416は、配布先リストT100を用いて、同一の値となるべき3つの情報からなる6個のグループを生成する。例えば、分散情報“d_1”211は、第2他装置分散情報“f2_1”211_2a、及び第1他装置分散情報“d1_1”211_6と同一となるべきなので、分散情報“d_1”211、第2他装置分散情報“f2_1”211_2a、及び第1他装置分散情報“d1_1”211_6からなるグループ511を生成する。分散情報“d_2”212から分散情報“d_6”216に対しても、同様に、グループ512〜516を生成する。
グループ511〜513は、分散情報保持装置122が不正な値を送信しているために、分散情報保持装置122から受信した分散情報212aと他装置分散情報211_2a、213_2aが、同一となるべき分散情報の値と異なるために、グループ511〜513のそれぞれに対しては、2つのサブグループに分割される。一方、グループ514〜516は、それぞれ3つの分散情報が同じ値になるために、それぞれのグループには、1つのサブグループのみ存在する。
グループ分割が終了すると、不正装置特定部416は、グループ1〜6の中からサブグループを1つずつ選び出す組み合わせのすべてを生成し、秘密鍵生成部414を用いてその組み合わせそれぞれに対して秘密鍵を生成し、秘密鍵検証部415を用いて正しい秘密鍵が生成できたかを検証する。
ここで、上記の不正分散情報保持装置を特定する方法を用いると、例えば、分散情報保持装置122が分散情報212aのみ不正な値を送信し、正しい第1及び第2他装置分散情報“d1_3”211_2と“d2_1”211_2を送信していた場合は、グループ512のみが、分散情報212aのみからなるサブグループ512_1と、分散情報212_1及び分散情報212_3からなるサブグループ512_2とが生成され、他のグループは1つのサブグループのみとなるため、正しい「新しい秘密鍵」が生成されるサブグループの分散情報を取り除くと、分散情報212aのみが残ることになる。従って、分散情報212aを送信した分散情報保持装置122が不正な分散情報保持装置であると特定できる。上記構成を用いる場合、1つの分散情報を3つの分散情報保持装置で共通に持っているので、それらの共通の分散情報補を持つ3つの分散情報保持装置がすべて不正な動作をした時に、正しい「新しい秘密鍵」に回復できなくなる。
認証局装置140が解析・回復処理を行い機能を回復した後、また秘密鍵が漏洩する場合に備えて、分散情報保持装置121〜126へ次の秘密鍵回復のための分散情報を埋め込む次ラウンド準備処理を行う必要がある。
次ラウンド準備処理としては、初期設計時と同様に、鍵配布装置130が鍵ペアの生成、秘密鍵から分散情報の生成、公開鍵に対する証明書の生成、分散情報と証明書の分散情報保持装置への配布の各処理を行う。
なお、次ラウンド準備処理を初期設計時の鍵配布装置130が処理を行うとしたが、これに限定するものではなく、初期設計時とは別の鍵配布装置が処理を行うとしてもよい。また、初期設計時に複数の「新しい秘密鍵」から分散情報を生成し、それを分散情報保持装置へ配布しておく構成にし、次ラウンド準備の処理で分散情報の配布処理を行わない構成にしてもよい。この場合、分散情報を使用する順番を初期設計時に指定しておいてもよいし、初期設計時にはラウンド識別子を付加しておき、次ラウンド準備の処理で、次のラウンドではどのラウンド識別子が付加された分散情報を使用するかを指定するようにしてもよい。
ここでは、脱退処理について、図18にて示す流れ図を用いて説明する。
この処理では、分散情報保持装置が不正な動作を行う可能性を考え、分散情報保持装置間で送信されるデータが正しいデータであるかを常に検証することで、不正な動作を行う分散情報保持装置が存在した場合に検知できるようにしている。さらに、各処理において、分散情報の値を更新する場合には、更新前の分散情報の値を退避しておき、脱退処理中に不正な動作を行う分散情報保持装置の存在を検知した場合には、脱退処理を中止し、分散情報の値を脱退処理前の値に戻すことで、分散情報が不正な値になることを防止する。
なお、脱退対象となる装置を分散情報保持装置121とし、部分情報の生成を分散情報保持装置126が行うものとして、以下説明する。
分散情報保持装置126は、第1他装置分散情報“d1_1”から5つの分散情報を生成し、配布する処理を行う(ステップS400)。言い換えると、分散情報保持装置126は、第1他装置分散情報“d1_1”を、5つの分散情報に分散(分解)する。
分散情報保持装置122〜126は、脱退時における第1及び第2更新処理を行い、それぞれが保持する分散情報、第1及び第2他装置分散情報を更新する(ステップS410、S415)。
なお、セキュリティの確保された通信路で分散情報を送りあい、受信した分散情報と同じ値かどうかを検証するとしたが、これに限定するものではなく、ゼロ知識証明などの暗号プロトコルを使用して検証してもよい。ゼロ知識証明については、非特許文献1の132〜150ページに、暗号プロトコルについては、非特許文献1の224〜225ページに詳しく説明されている。
(部分情報の生成処理)
ここでは、図18のステップS400にて示す部分情報の生成処理について、図19にて示す流れ図を用いて説明する。
分散情報保持装置126の分散情報分割部261_6は、第1他装置分散情報“d1_1”211_6から5つの部分情報(d_1_1〜d_1_5)を生成する(ステップS450)。このとき、各部分情報は、次式を満たすものとする。
具体的には、分散情報分割部261_6は、乱数生成器を用いて、(k−2)個(=4個)の乱数を生成することにより、部分情報(d_1_1〜d_1_4)を生成する。次に、分散情報分割部261_6は、
d_1_5 = d1_1 − (d_1_1+d_1_2+d_1_3+d_1_4)
により、d_1_5を算出する。このとき、減算結果が負の数になる事もあるが、そのまま部分情報として扱う。
具体的には、分散情報分割部261_6は、以下のように各部分情報を配布する。
ここでは、図18のステップS405にて示す分散情報の検証処理について、図20にて示す流れ図を用いて説明する。
分散情報211_6が正当な値であることを検証するために分散情報保持装置122が保持する第2他装置分散情報211_2を利用する。
具体的には、i番目(i=3〜6)の分散情報保持装置は部分情報d_1_(i−1)を分散情報保持装置122へ出力する(ステップS471〜S474)。
ここでは、図18のステップS410にて示す脱退時の第1更新処理について、図21及び図22にて示す流れ図を用いて説明する。
分散情報保持装置122の分散情報更新部260_2は、部分情報検証部264_2にて行われた検証の結果により、分散情報保持装置126の第1他装置分散情報“d1_1”が正当であるか否かを判断する(ステップS500)。正当であると判断する場合には(ステップS500における「YES」)、分散情報更新部260_2は、一時的に記憶している部分情報“d_1_1”を用いて分散情報“d_2”を更新する(ステップS505)。具体的には、分散情報更新部260_2は、分散情報“d_2”に部分情報“d_1_1”を加算することにより、新たな分散情報“d_2’(=d_2+d_1_1)”を算出する。次に、分散情報更新部260_2は、一時的に記憶している部分情報“d_1_2”を用いて第1他装置分散情報“d1_3”を更新する(ステップS510)。具体的には、分散情報更新部260_2は、第1他装置分散情報“d1_3”に部分情報“d_1_2”を加算することにより、新たな分散情報“d1_3’(=d1_3+d_1_2)”を算出する。
ここでは、図18のステップS415にて示す脱退時の第2更新処理について、図23にて示す流れ図を用いて説明する。
分散情報保持装置126の分散情報更新部260_6は、分散情報“d_6’”を分散情報保持装置122へ出力する(ステップS600)。
分散情報更新部260_6は、分散情報“d_2’”及び“d2_2’”を収集する(ステップS610)。このとき、分散情報保持装置123の分散情報更新部260_3は分散情報“d2_2’”を送信する(ステップS611)。
分散情報更新部260_6は、収集した分散情報“d_2’”及び“d2_2’”が一致するか否かを判断する(ステップS620)。一致すると判断する場合には(ステップS620における「YES」)、分散情報更新部260_6は、第1他装置分散情報を“d_2’”とする(ステップS625)。
分散情報更新部260_6は、一致しないと判断する場合には(ステップS620における「NO」)、分散情報保持装置126は、分散情報保持装置122〜125へその旨を通知する。分散情報保持装置126、及び通知を受けた分散情報保持装置122〜125は、脱退処理を中止し、自装置の分散情報の値を脱退処理の前に戻し、処理を終了する。
脱退処理後の分散情報保持装置122〜126のそれぞれが保持する分散情報、第1及び第2他装置分散情報を、図24にて示す。
例えば、分散情報保持装置122は、脱退処理後において、更新後の分散情報“d_2’”212b、第1他装置分散情報“d1_3’”213_2b及び第2他装置分散情報“d2_6’”211_2bを保持している。
d_2’+d_3’+d_4’+d_5’+d_6’
= (d_2+d_1_1)+(d_3+d_1_2)+(d_4+d_1_3)
+(d_5+d_1_4)+(d_6+d_1_5)
= (d_1_1+d_1_2+d_1_3+d_1_4+d_1_5)
+(d_2+d_3+d_4+d_5+d_6)
= d_1+d_2+d_3+d_4+d_5+d_6
= d
このように、分散情報保持装置121が脱退後も、それぞれの分散情報保持装置が保持する分散情報の総和を一定とすることが可能となるため、脱退処理時において、認証局システム100は、新しい秘密鍵“d”を復元し分散情報を再生成することなく、分散情報保持装置を脱退させることが可能となる。
ここでは、追加処理について、図25にて示す流れ図を用いて説明する。
追加処理では、分散情報保持装置が不正な動作を行う可能性を考え、分散情報保持装置間で送信されるデータが正しいデータであるかを常に検証することで、不正な動作を行う分散情報保持装置が存在した場合に検知できるようにしている。さらに、追加処理では、分散情報の値を更新する場合には、更新前の分散情報の値を退避しておき、追加処理中に不正な動作を行う分散情報保持装置の存在を検知した場合には、追加処理を中止し、分散情報の値を追加処理前の値に戻すことで、分散情報が不正な値になることを防止する。
分散情報保持装置121、及び126が、変形情報を生成し、各分散情報保持装置へ配布する配布処理を行う(ステップS700)。
追加対象の分散情報保持装置127及び、分散情報保持装置127と同一の分散情報を保持する分散情報保持装置121、及び12とが分散情報を生成する分散情報の生成処理を行う(ステップS705)。
分散情報保持装置121、122、125〜127は、更新が正常に行われたか否かを判断する(ステップS715)。分散情報保持装置121、122、125及び126は、検証結果を分散情報保持装置127へ通知し、分散情報保持装置127は、検証結果を一時的に保持する。
分散情報更新部260_7は、分散情報保持装置121及び126から収集した証明書が正当であるか否かを判断する(ステップS725)。具体的には、分散情報更新部260_7は、収集した2つの証明書が同一であるか否かを判断する。
次に、分散情報保持装置121が、自身が保持する分散情報から7つの部分情報を生成し、生成した各部分情報を各分散情報保持装置へ配布する追加時の第1分割処理を行う(ステップS735)。
分散情報保持装置121〜127は、更新が正常に行われたか否かを判断する(ステップS745)。このとき、分散情報保持装置122〜127は、判断結果を部分情報送信元である分散情報保持装置121へ通知する。具体的には、分散情報を共通に持っている分散情報保持装置同士で、分散情報検証部262_j及び他装置分散情報検証部263_jを用いて、互いに持っている分散情報が同じ値に更新されたかを、セキュリティの確保された通信路で分散情報を送りあい、受信した分散情報と各自が保持していた分散情報が同じ値かどうかを検証する。分散情報保持装置122〜127は、検証結果を分散情報保持装置121へ通知し、分散情報保持装置121は、検証結果を一時的に保持する。
分散情報保持装置121〜127は、更新が正常に行われたか否かを判断する(ステップS760)。分散情報保持装置121〜125及び127は、検証結果を分散情報保持装置126へ通知し、分散情報保持装置126は、検証結果を一時的に保持する。
また、ステップS760における「NO」の場合も同様に、分散情報保持装置121〜127は、脱退処理を中止し、自装置の分散情報の値を脱退処理の前に戻し、処理を終了する。
(配布処理)
ここでは、図25のステップS700にて示す部分情報の生成処理について、図26にて示す流れ図を用いて説明する。
分散情報保持装置126の変形情報生成部265_6は、外部装置から追加時の分散情報生成指示を受け取ると、変形情報nを生成する(ステップS800)。
変形情報生成部265_6は、生成した変形情報nを分散情報保持装置121、125及び127へ出力する(ステップS810)。
変形情報生成部265_1は、生成した変形情報mを分散情報保持装置122、126、及び127へ出力する(ステップS815)。
分散情報保持装置121の分散情報更新部260_1は、変形情報nを受け取ると、受け取った変形情報nを一時的に格納する(ステップS825)。
分散情報更新部260_6は、生成した変形情報nを用いて、新たな分散情報“d_6’(=d_6−n)”を生成し、分散情報格納部251_6に格納されている分散情報“d_6“を“d_6’”へと更新する(ステップS830)。
分散情報保持装置125の分散情報更新部260_5は、変形情報nを受け取ると、受け取った変形情報nを用いて新たな第1他装置分散情報“d1_6’(=d1_6−n)”を生成し、他装置分散情報格納部252_5に格納されている第1他装置分散情報“d1_6”を“d1_6’”へと更新する(ステップS840)。
分散情報保持装置122の分散情報更新部260_2は、変形情報mを受け取ると、受け取った変形情報mを用いて新たな第2他装置分散情報“d2_1’(=d2_1−m)”を生成し、他装置分散情報格納部252_2に格納されている第2他装置分散情報“d2_1”を“d2_1’”へと更新する(ステップS850)。
ここでは、図25のステップS705にて示す分散情報の生成処理について、図27にて示す流れ図を用いて説明する。
分散情報更新部260_6は、変形情報n及びmを用いて他装置分散情報“d1_7=(m+n)”を生成する(ステップS860)。分散情報更新部260_6は、他装置分散情報格納部252_6に格納されている第1他装置分散情報“d1_1”を“d1_7”へと更新(置換)する(ステップS865)。
分散情報更新部260_1は、変形情報n及びmを用いて他装置分散情報“d2_7=(m+n)”を生成する(ステップS880)。分散情報更新部260_1は、他装置分散情報格納部252_1に格納されている第2他装置分散情報“d2_1”を“d2_7”へと更新(置換)する(ステップS885)。
ここでは、図25のステップS710にて示す他装置分散情報の格納処理について、図28にて示す流れ図を用いて説明する。
分散情報保持装置127の分散情報更新部260_7は、分散情報保持装置121へ分散情報要求指示を、分散情報保持装置122へ第2他装置分散情報要求指示を、それぞれ出力し、分散情報“d_1’”及び“d2_1’”を収集する(ステップS900)。このとき、分散情報要求指示を受け付けた分散情報保持装置121の取得部267_1は、分散情報“d_1’”を取得して、分散情報保持装置127へ出力する(ステップS901)。また、第2他装置分散情報要求指示を受け付けた分散情報保持装置122の取得部267_2は、分散情報“d2_1’”を取得して、分散情報保持装置127へ出力する(ステップS902)。
同一であると判断する場合には(ステップS905における「YES」)、分散情報更新部260_7は、収集した分散情報“d_1’”を第1他装置分散情報として他装置分散情報格納部252_7へ格納する(ステップS910)。
同一であると判断する場合には(ステップS920における「YES」)、分散情報更新部260_7は、収集した分散情報“d_6’”を第2他装置分散情報として他装置分散情報格納部252_7へ格納する(ステップS925)。
(追加時の第1分割処理)
ここでは、図25のステップS735にて示す追加時の第1分割処理について、図29にて示す流れ図を用いて説明する。
+d_1_6+d_1_7 mod L
具体的には、分散情報分割部261_1は、乱数生成器を用いて、6個の乱数を生成することにより、部分情報(d_1_1〜d_1_6)を生成する。次に、分散情報分割部261_1は、
d_1_7 = d_1’ − (d_1_1+d_1_2+・・・+d_1_6)
により、d_1_7を算出する。このとき、減算結果が負の数になる事もあるが、そのまま部分情報として扱う。
具体的には、分散情報分割部261_1は、分散情報保持装置122及び127に対して生成した部分情報d_1_2〜d_1_7を配布する(ステップS956及びS961)。他の装置123〜126におけるi番目の装置に対しては、部分情報d_1_(i−1)、d_1_i及びd_1_(i+1)を配布する(ステップS957、S958、S959及びS960)。
(追加時の第1更新処理)
ここでは、図25のステップS740にて示す追加時の第1更新処理について、図30から図32にて示す流れ図を用いて説明する。
ここでは、図25のステップS750にて示す追加時の第2分割処理について、図33にて示す流れ図を用いて説明する。
分散情報保持装置126の分散情報分割部261_6は、分散情報“D_6”から7つの部分情報(d_6_1〜d_6_7)を生成する(ステップS1050)。言い換えると、分散情報分割部261_6は、分散情報“D_6”を、7つの部分情報(d_6_1〜d_6_7)に分散(分解)する。このとき、各部分情報は、次式を満たすものとする。
+d_6_6+d_6_7 mod L
具体的には、分散情報分割部261_6は、乱数生成器を用いて、6個の乱数を生成することにより、部分情報(d_6_1〜d_6_6)を生成する。次に、分散情報分割部261_6は、
d_6_7 = D_6 − (d_6_1+d_6_2+・・・+d_6_6)
により、d_6_7を算出する。このとき、減算結果が負の数になる事もあるが、そのまま部分情報として扱う。
分散情報保持装置125及び127に対して生成した部分情報d_6_1〜d_6_5及びd_6_7を配布する(ステップS1060及びS1061)。他の装置121〜124におけるi番目の装置に対しては、部分情報d_6_(i−1)、d_6_i及びd_6_(i+1)を配布する(ステップS1056、S1057、S1058及びS1059)。なお、i−1=0の場合には、部分情報d_6_7を配布する。
(追加時の第2更新処理)
ここでは、図25のステップS755にて示す追加時の第2更新処理について、図34から図36にて示す流れ図を用いて説明する。
追加処理後の分散情報保持装置121〜127のそれぞれが保持する分散情報、第1及び第2他装置分散情報を、図37にて示す。
例えば、分散情報保持装置121は、追加処理後において、更新後の分散情報“D_1’”211c、第1他装置分散情報“D1_2’”212_1c及び第2他装置分散情報“D2_7’”217_1cを保持している。
D_1’+D_2’+D_3’+D_4’+D_5’+D_6’+D_7’
= (D_1+d_6_1)+(D_2+d_6_2)+(D_3+d_6_3)
+(D_4+d_6_4)+(D_5+d_6_5)+(d_6_6)+(D_7+d_6_7)
= D_1+D_2+D_3+D_4+D_5+D_7
+d_6_1+d_6_2+d_6_3+d_6_4+d_6_5+d_6_6+d_6_7
= D_1+D_2+D_3+D_4+D_5+D_6+D_7
= (d_1_1)+(d_2+d_1_2)+(d_3+d_1_3)+(d_4+d_1_4)
+(d_5+d_1_5)+(d_6’+d_1_6)+(d_7+d_1_7)
= d_2+d_3+d_4+d_5+d_6’+d_7
+d_1_1+d_1_2+d_1_3+d_1_4+d_1_5+d_1_6+d_1_7
= d_1’+d_2+d_3+d_4+d_5+d_6’+d_7
= (d_1−m)+d_2+d_3+d_4+d_5+(d_6−n)+m+n
= d_1+d_2+d_3+d_4+d_5+d_6+d_7
= d
このように、分散情報保持装置127の追加後も、それぞれの分散情報保持装置が保持する分散情報の総和を一定とすることが可能となるため、追加処理時において、認証局システム100は、新しい秘密鍵“d”を復元し分散情報を再生成することなく、分散情報保持装置を追加させることが可能となる。
追加時における第1及び第2更新処理は、分散情報保持装置121と126が分散情報を持ちすぎるために必要になる処理である。
具体的には、分散情報保持装置121は、追加処理のステップS730の終了後には、分散情報“d_1’”と他装置分散情報“d1_2”及びと“d2_7”の3つの分散情報を保持することになる。この時、他装置分散情報“d2_7”は、分散情報保持装置121が生成した変形情報mと分散情報保持装置126が生成した変形情報nの和になっている。そのため、他装置分散情報“d2_7”と分散情報保持装置121が生成した変形情報mから分散情報保持装置126が送信した変形情報nを求めることが出来る。さらに、追加処理前には更新前の他装置分散情報“d2_6”も保持していたため、この更新前の他装置分散情報“d2_6”と分散情報保持装置126が生成した変形情報nとから、更新後の分散情報“d2_6’(=d_6’)”の値を求めることが出来る。この様に分散情報保持装置121は、本来は3つの分散情報しか保持しないはずが4つの分散情報を保持することが可能となり、分散情報を持ちすぎることになる。同様の事が分散情報保持装置126にも言えるため、分散情報保持装置の追加処理の最後に、このような分散情報の持ちすぎを解消するために、分散情報保持装置121と126が所有する分散情報の更新を行う必要がある。
1.5 本実施の形態の効果
認証局装置140や分散情報保持装置121〜126を上述したような構成にすることで、認証局装置140の秘密鍵141が漏洩した場合においても、システム全体の信頼性を回復できるシステムを構成することが可能となる。また、「新しい秘密鍵」を検証するための認証子として証明書を用い、さらに共通の分散情報を複数の分散情報保持装置で持ち、冗長化する構成にすることで、認証局装置140だけでなく分散情報保持装置121〜126の中のどれかの分散情報保持装置が攻撃され不正な動作をしても、正しい秘密鍵が生成でき、かつ不正な動作をした分散情報保持装置も特定し、システムから除外することが可能となる。
セキュリティ維持システムは、1台の配布装置、n台の保持装置及び1台の認証局装置から構成されている。全ての前記保持装置は、1個又は2個以上の閉路を形成するように関係付けられている。各保持装置を閉路を形成するように関係付ける方法は、上記実施の形態にて示しているので、ここでの説明は省略する。
なお、配布装置、n台の保持装置及び1台の認証局装置は、通信ネットワークを介して相互に接続されているとしているが、これには限定されない。例えば、配布装置、n台の保持装置及び1台の認証局装置は、秘匿性を確保することができる記録媒体、例えば、SDメモリカードなどを介して、情報を相互に交換するとしてもよい。
配布装置は、1個の秘密情報から生成されたn個の分散情報をそれぞれn台の保持装置へ割り当てる。前記配布装置は、生成部、情報選択部、装置選択部、関連装置選択部、出力部及び繰返制御部から構成される。前記配布装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、通信ユニット、ディスプレィユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記RAM又は前記ハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、前記配布装置は、その機能を達成する。
装置選択部は、複数の保持装置の中から、前記選択分散情報の割当対象となる1個の割当対象保持装置を選択する。関連装置選択部は、複数の保持装置の中から、前記割当対象保持装置に関連する2台以上の関連保持装置を選択する。具体的には、前記関連装置選択部は、少なくとも、同一の閉路(リング内)において、前記割当対象保持装置に対応するノードの両側に隣接する第1及び第2のノードそれぞれに対応付けられた第1及び第2関連保持装置を選択する。
前記繰返制御部は、生成された全ての分散情報について、前記選択分散情報の選択と、前記割当対象保持装置の選択と、関連保持装置の選択と、前記選択分散情報の出力とを繰り返すように、前記情報選択部、前記装置選択部、前記関連装置選択部及び前記出力部を制御する。
また、配布装置は、全ての保持装置の各々に対して、自身に割り当てられる分散情報と、当該保持装置に隣接する関連保持装置に割り当てられる分散情報とを保持させることができる。
また、前記生成部は、所定の法において、ランダムにn−1個の分散情報を生成し、所定の法において、前記秘密情報から、生成したn−1個の分散情報を減ずることにより、残りの1個の分散情報を算出するので、分散情報の生成において、ランダム性を確保できるとともに、生成された複数の分散情報を加算することにより、秘密情報の復元を確実にすることができる。
n台の保持装置のそれぞれは、配布装置により、1個の秘密情報から生成されたn個の分散情報の中の1個の分散情報を割り当てられる。保持装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、通信ユニットなどから構成されるコンピュータシステムである。前記RAM又は前記ハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、前記保持装置は、その機能を達成する。
第i番目の保持装置は、ネットワークを介して、配布装置から配布される割当分散情報と2個以上の関連分散情報とを取得する取得部と、取得した前記割当分散情報と、前記関連分散情報とを記憶する記憶部とを備える。
(3)認証局装置の構成
認証局装置は、受信部、復元部、検証部及び特定部から構成されている。具体的には、認証局装置は、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、通信ユニット、ディスプレィユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記RAM又は前記ハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、前記認証局装置は、その機能を達成する。
復元部は、受信したn個分散情報を用いて、仮に秘密情報を復元する。
検証部は、復元した秘密情報の正当性を検証する。
特定部は、復元した秘密情報が正当でないと認められた場合に、各保持装置が保持する残りの分散情報と、復元に用いたn個の分散情報を用いて、不正に改竄された分散情報を保持する保持装置を特定する。前記特定部は、第1分類部と第2分類部と組合生成部と検証部と排除部とを含む。
組合生成部は、第1から第nのグループからそれぞれ、1個のサブグループを選択し、選択したn個のサブグループから1個の分散情報を選択し、n個の分散情報から構成される組合せを生成する。
排除部は、正当であると認められる場合に、サブグループに含まれている分散情報を保持する保持装置を正当とみなして、当該保持装置を排除する。
前記特定部は、排除された正当な保持装置を除き、残りの保持装置の中から不正に改竄された分散情報を保持する保持装置を特定する。
以上説明したように、認証局装置は、複数の保持装置の中から、不正に改竄された分散情報を保持する保持装置を特定することができる。
n台の保持装置から構成されるグループから、脱退対象保持装置が脱退する場合について説明する。脱退対象保持装置が脱退する理由については、装置が故障したり老朽化した場合や、上記に説明したように、分散情報が不正に改竄された場合など、様々考えられる。
全ての保持装置は、脱退対象保持装置、前記脱退対象保持装置に隣接して関係付けられている保持装置、及びその他の保持装置に分類される。
ここでは、脱退対象保持装置に隣接して関係付けられている保持装置、及びその他の保持装置について説明する。
脱退対象保持装置に隣接して関係付けられている第i番目の保持装置は、上述した構成に加えて、さらに、分散指示を受け取る受信部、前記分散指示を受け取ると、前記記憶部から、前記脱退対象保持装置に割り当てられた分散情報を読み出す読出部、読み出された前記分散情報をn−1個の部分分散情報に分解する分散情報分解部と、分解されたn−1個の部分分散情報を、第i番目の保持装置及び前記脱退対象保持装置を除く他のn−2台の保持装置それぞれが保持する複数の分散情報に対して、同一番目の分散情報には同一の部分分散情報が割り当たる様態で、前記n−2台の保持装置へ出力する出力部とを含む。
(b)その他の保持装置
その他の保持装置は、上述した構成に加えて、さらに、前記脱退対象保持装置に隣接するように関係付けられている保持装置から、前記その他の保持装置が保持する複数の分散情報に割り当てるべき部分分散情報を受信する受信部と、受信した各部分分散情報を、前記記憶部が記憶している分散情報のうち、当該部分分散情報に対応する分散情報に加算する演算部とを含む。
また、所定の法において、生成された全ての前記部分分散情報に対する加算により、前記脱退対象保持装置に割り当てられた前記分散情報が得られる。
(4)n台の保持装置への追加の場合
n台の保持装置から構成されるグループに対して、さらに、追加保持装置を追加する場合について説明する。
全ての保持装置は、追加保持装置、前記追加保持装置に隣接して関係付けられている隣接保持装置、隣接保持装置にさらに隣接して関係付けられている保持装置及びその他の保持装置に分類される。
(a)隣接保持装置の構成
ここでは、隣接保持装置の構成について説明する。
隣接保持装置は、上述した構成に加えて、さらに、当該隣接保持装置に対応するノードに隣接する状態で追加された新たなノードに対応付けらける新たな追加保持装置が追加される旨の通知を受け取る受信部と、前記通知を受け取ると、前記記憶部から、前記隣接保持装置に割り当てられた分散情報を読み出す読出部と、追加部分情報を生成する生成部と、生成された前記追加部分情報を用いて、読み出された前記分散情報に対して演算を施し、得られた演算結果を新たな分散情報として、読み出された前記分散情報に代えて、前記記憶部へ書き込む演算部と、生成された前記追加部分情報を前記追加保持装置へ出力する出力部とを含む。
ここで、前記出力部は、さらに、生成された追加部分情報を、当該隣接保持装置に割り当てられた分散情報と同一の分散情報を保持する他の保持装置へ出力する。
また、前記受信部は、さらに、前記追加保持装置に対応するノードに隣接する2つのノードのうち当該隣接保持装置に対応するノードとは別のノードに対応する他方の隣接保持装置から第2の追加部分情報を受信し、前記演算部は、さらに、前記生成部により生成された前記追加部分情報及び前記受信部により受信した第2の追加部分情報に演算を施して追加分散情報を生成し、生成した前記追加分散情報を、追加保持装置に割り当てられる分散情報として、前記記憶部に書き込む。
以上説明したように、各保持装置に新たに分散情報が割り当てらる。
このように、各保持装置に新たに分散情報が割り当てられた場合に、新たな分散情報からn+1個の部分分散情報を生成し、生成した部分分散情報を、各保持装置へ出力する。こうして、各保持装置に対して、部分分散情報により保持している分散情報をさらに更新させる。これにより、全ての保持装置が保持している分散情報により秘密情報を復元することができることを確保しつつ、保持装置が保持している分散情報のランダム性をさらに高めることができる。
(b)隣接保持装置にさらに隣接して関係付けられている保持装置の構成
ここでは、隣接保持装置にさらに隣接して関係付けられている保持装置について説明する。
(c)追加保持装置の構成
ここでは、追加保持装置について説明する。
追加保持装置は、少なくとも2台の既保持装置からそれぞれ追加部分情報を受信する受信部と、受信した全ての前記追加部分情報を用いて、自身に割り当てられた分散情報を生成する生成部と、生成した前記分散情報を記憶する記憶部とを備える。
また、前記受信部は、さらに、保持装置から部分分散情報を受信し、前記演算部は、さらに、受信した部分分散情報を用いて、前記記憶部に記憶されている分散情報に演算を施し、当該保持装置に割り当てられた新たな分散情報として、演算結果を前記記憶部に書き込む。
なお、本発明を上記実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
(1)上記実施の形態では、認証局装置140は、RSA暗号/署名における公開鍵証明書を発行していたが、認証局装置140及び端末A、B、Cで使用する暗号はこれに限らない。
また、秘密分散の方法として上記のように加減算を用いる他に、乗除算を用いることも可能である。この場合、
x=x_1×x_2×・・・×x_k mod q
となる。この場合は、実施の形態1における「足し算」を上記の「掛け算」、「引き算」をmod qの除算とする。
鍵配布装置130や認証局装置140が認証子(証明書)を保持しておく構成としてもよい。
鍵配布装置130が認証子を保持する場合は、認証子格納部253が鍵配布装置130にあり、初期設計時に、鍵配布装置130は、生成した認証子を認証子格納部253に格納する。解析・回復処理時に、鍵配布装置130は、認証局装置140から回復処理開始の通知を受けて、認証子格納部253に格納している認証子を認証局装置140へ送信し、認証局装置140は「新しい秘密鍵」を正しく生成したか検証するために利用する構成になる。
認証局装置140が認証子を保持する場合は、認証子格納部253が認証局装置140にあり、初期設計時に、鍵配布装置130は、生成した認証子を認証局装置140へ送信し、認証局装置140は、受信した認証子を認証子格納部253に格納する。解析・回復処理時に、認証局装置140は、「新しい秘密鍵」を生成したときに、認証子格納部253に格納している認証子を用いて、「新しい秘密鍵」を検証する構成になる。
認証局装置140とは別の装置(例えば、解析装置と回復装置)が解析・回復処理を行うとしてもよいし、認証局装置140とは異なる認証局装置を立ち上げ、その認証局装置が解析・回復処理を行うとしてもよい。この構成にすることで、認証局装置140が攻撃され、悪意のある第3者に乗っ取られたとしても、上記実施の形態の各処理を実施できる。
回復装置が回復処理を行う場合、回復装置は、図8にて示す秘密鍵格納部401と秘密鍵生成部414、秘密鍵検証部415、不正装置特定部416と、新たな構成要素である秘密鍵送信部とから構成される。
認証局装置140は、秘密鍵格納部401と端末証明書発行部412、認証局証明書格納部413と、新たな構成要素である秘密鍵受信部から構成される。秘密鍵送信部は、「新しい秘密鍵」を認証局装置140へ送信する。秘密鍵受信部は、回復装置から「新しい秘密鍵」を受信する。
通知を受けた解析装置は、上記実施の形態で示したような認証局装置140のログをチェックするなどして、秘密鍵の漏洩原因を解析する。解析装置が解析した結果、認証局装置140の秘密鍵を更新する必要があると判断した場合には、解析装置から回復装置へ秘密鍵の回復を依頼する。
「新しい秘密鍵」を受信した認証局装置140は、秘密鍵格納部401に「新しい秘密鍵」を格納する。
(4)上記実施の形態では、各分散情報保持装置が分散情報格納部に1つの分散情報を所有しているとしたが、これに限定するものではない。
各分散情報保持装置は、分散情報格納部に2つ以上の分散情報を所有としてもよい。つまり、鍵配布装置は、分散情報保持装置に対して2つ以上の分散情報を割り当ててもよい。
また、追加処理において分散情報から変形情報を引く処理においては、2つの分散情報の値を足した値と、変形情報の値と更新後の分散情報の値を足した値が同じになるように変形情報を生成する。具体的には、2つの分散情報のうちのどちらか1つの分散情報から変形情報を引けばよい。ただし、これは一例であり、例えば、変形情報を分割し、それぞれを2つの分散情報のうちの各分散情報から引くとしてもよい。
3つ以上の他装置分散情報を持つ構成としてもよい。他装置分散情報が3つ以上になったときには、脱退・追加処理において、部分情報の検証や分散情報の検証処理で、2つ以上の分散情報保持装置が検証を行う以外はそのまま拡張可能である。
例えば、認証局装置140が存在しないシステムを考え、分散情報保持装置を用いて端末A、端末B、及び端末Cへ証明書を発行するシステムにも利用できる。端末へ証明書を発行するシステムの場合においての変更部分を以下で説明する。
分散情報保持装置を用いて端末へ証明書を発行するには、まず、各分散情報保持装置は、自装置の分散情報をべきとして署名対象のデータのハッシュ値hをべき乗した部分署名(s_1、s_2、・・・、s_6)を生成し、端末へ送信する。それぞれの分散情報保持装置での部分署名は、それぞれs_1=h^d_1、s_2=h^d_2、・・・、s_6=h^d_6として生成される。端末は、各分散情報保持装置から受信した部分署名の積を、S=s_1×s_2×・・・s_6 mod nとして求め、Sを署名データとして証明書を構成する。さらに端末で、証明書検証し、検証が通らなかった場合には、回復検証と同様の処理を行う。この時、分散情報を端末に送ることが出来ないため、他装置分散情報を用いた部分署名を集めて、不正な分散情報保持装置を特定する。この場合は、分散情報の代わりに部分署名をサブグループに分割し、実施の形態1において「各組み合わせそれぞれが示す分散情報を用いて新しい秘密鍵を構成し証明書生成して検証」する代わりに「各組み合わせそれぞれが示す部分署名を用いて証明書生成して検証」する。
初期設計や次ラウンド準備の処理では、鍵配布装置を立ち上げ、秘密鍵の生成や分散情報の生成を行い、各分散情報保持装置へそれらの情報を配布した後に、その鍵配布装置を解体する構成であってもよい。
<証明書の発行の動作>
各分散情報保持装置121〜126は、それぞれ自身の分散情報211〜216を用いて、部分署名(s_1〜s_6)を生成する。
各分散情報保持装置121〜126は、証明書発行依頼をした端末150へ、生成した部分署名を送信する。
証明書発行依頼をした端末150は、すべての部分署名(s_1〜s_6)を用いて証明書を生成する。
なお、分散情報保持装置が証明書を検証して、不正な証明書であるかを判断してもよい。
端末150は、証明書の検証により、不正な証明書であると判断する場合、その旨を各情報保持装置121〜126へ通知する。
各分散情報保持装置121〜126は、証明書が不正である旨の通知を受け取ると、部分署名を用いて不正分散情報保持装置を特定する。
なお、図中の他装置部分署名1XXX_Yは、第1又は第2他装置分散情報XXX_Yを用いて生成した部分署名を示している。
図39では、分散情報保持装置121〜126それぞれが自身の保持する他装置分散情報から生成される他装置分散署名を用いて、部分署名の比較を行う。
なお、各分散情報保持装置が自身の保持する他装置分散情報から生成される他装置分散署名を用いて、部分署名の比較を行なっているが、これに限らない。
例えば、すべての部分署名を一つの分散情報保持装置に集めて、その分散情報保持装置が比較するとしてもよい。
(8)上記実施の形態では、公開鍵基盤で用いられる認証局システムに利用するとしたが、これに限定するものではなく、他のシステムにおいても、認証局システム100における認証局装置140のような、信頼の源を必要とするシステムで利用できる。例えば、耐タンパーソフトウェアなどのソフトウェアのセキュア実装に利用するとしてもよい。
機器600は、具体的には、テレビや携帯端末であり、外部装置650とネットワーク670を介して通信を行う。機器600はセキュアな構成が実装されている(以下、セキュア実装という。)。
機器600は、OS 601とソフトウェアモジュール1 602、ソフトウェアモジュール2 603、ソフトウェアモジュール3 604とを含んでいる。
耐タンパーモジュール605は、秘密の情報(ここでは、秘密鍵)を格納しており、当該秘密鍵が漏洩された場合には、ソフトウェアモジュール1 602、ソフトウェアモジュール2 603、ソフトウェアモジュール3 604、若しくは内部検知・回復モジュール606〜608を用いて新たな秘密鍵の回復を行う。
内部検知・回復モジュール606〜608は、上記実施の形態における分散情報保持装置に相当する。
また、内部検知・回復モジュール606〜608は、耐タンパーモジュール605の機能低下を検知する。内部検知・回復モジュール606〜608は、耐タンパーモジュール605の機能低下を検知すると、ネットワーク670を介して外部装置650へ更新用の耐タンパーモジュールを要求する。内部検知・回復モジュール606〜608は、外部装置650から更新用の耐タンパーモジュールを受け取ると、受け取った更新用の耐タンパーモジュールを用いて現在の耐タンパーモジュール605を更新する。
ソフトウェアモジュール1 602、ソフトウェアモジュール2 603、ソフトウェアモジュール3 604それぞれは、上記実施の形態における分散情報保持装置に相当する。
なお、ソフトウェアモジュールの脱退・追加時における分散情報の更新については、上記実施の形態と同様であるので、ここでの説明は省略する。
外部回復モジュール651は、機器600からネットワーク670を介して、更新用の耐タンパーモジュールの要求を受け付けると、更新用の耐タンパーモジュールを、ネットワーク670を介して機器600へ出力する。
ここで、各ソフトウェアモジュールは、耐タンパーモジュールによって保護されているソフトウェアモジュールでもよいし、耐タンパーモジュール内で動作するソフトウェアモジュールでもよい。
(10)上記実施の形態において、鍵配布装置130は、分散情報、第1及び第2他装置分散情報を配布する際に、各情報に識別子を対応付けて配布してもよい。
(11)上記実施の形態の脱退処理において、分散情報保持装置126が5つの部分情報を生成し、各分散情報保持装置へ配布し、分散情報保持装置122がその部分情報から生成される分散情報を検証するとしたが、これに限定するものではない。
例えば、分散情報保持装置122が分散情報211_2から5つの部分情報を生成し、各分散情報保持装置へ配布し、分散情報保持装置126がその部分情報を検証するとしてもよい。または、脱退する分散情報保持装置121自身が、分散情報211から5つの部分情報を生成し、各分散情報保持装置へ配布し、分散情報保持装置122または126、あるいは両方がその部分情報を検証するとしてもよい。
部分情報の生成処理内で行う場合、生成した部分情報d_1_1、d_1_2を分散情報保持装置122へ配布する際に、部分情報d_1_1、d_1_2に加えて部分情報d_1_5及び分散情報d_6も送信する必要がある。
また、脱退処理は分散情報保持装置同士で処理をするとしたが、これに限定するものではなく、初期設計時の処理と同様に鍵配布装置で新規に「新しい秘密鍵」を生成し、分散情報を生成して、脱退する分散情報保持装置を除いて、分散情報を配布し直してもよいし、鍵配布装置で「新しい秘密鍵」を復元し、分散情報を配布してもよい。
例えば、追加時の第1更新処理において、分散情報保持装置121は、変形情報m1を生成し、生成した変形情報m1から6個の部分情報を生成し、生成した部分情報を他の分散情報保持装置へ配布してもよい。
また、図25にて示すステップS705は、ステップS700の前に行ってもよいし、ステップS700内にて行ってもよい。また、図26にて示すステップS810及びS815の処理は、この順番で行う必要はない。また、図27にて示す各装置126、127、121の順番で分散情報を更新する必要はない。また、図28にて示すステップS900からS910までの処理と、ステップS915からS925までの処理は、この順番で行う必要はない。また、図29にて示すステップS956からS961までの処理は、部分情報を生成した後であればどの順番で処理してもよい。
ゼロ知識証明などの暗号プロトコルを使用して検証してもよい。ゼロ知識証明については、非特許文献1の132〜150ページに、暗号プロトコルについては、非特許文献1の224〜225ページに詳しく説明されている。
また、追加処理は分散情報保持装置同士で処理をするとしたが、これに限定するものではなく、初期設計時の処理と同様に鍵配布装置で新規に「新しい秘密鍵」を生成し、分散情報を生成して、追加する分散情報保持装置も含めて、分散情報を配布し直してもよいし、鍵配布装置で「新しい秘密鍵」を復元し、分散情報を配布してもよい。
(18)上記実施の形態において、分散情報分割部261_jは、値の和を保った分散情報を生成するようにしてもよい。
(19)上記実施の形態において、分散情報検証部262_jや他装置分散情報検証部263_jによる分散情報の検証方法は、分散情報の値を直接比較する方法以外に、例えば、分散情報のハッシュ値などの検証値を用いた比較でもよい。
(21)上記実施の形態における鍵漏洩の検知方法について説明する。
先ず、1つ目の例として、秘密鍵141の漏洩を検知する専用の検知装置が、認証局装置140の秘密鍵141が漏洩していないかを定期的に調べる方法がある。具体的には、検知装置は、認証局装置140が発行していない不正な証明書が発行されていないかを検知する。認証局装置140の秘密鍵141が漏洩していることを検知すると、その旨を認証局装置140へ通知する。
また、検知装置は、秘密鍵の漏洩を検知するだけでなく暗号アルゴリズムの安全性低下を検知するとしてもよく、この場合は、「新しい秘密鍵」は鍵のビット長を変えたり、暗号アルゴリズム自身を例えばRSA暗号から楕円暗号に変えるとしてもよい。
(22)上記実施の形態では、回復処理において、新たな秘密鍵dを回復したが、これに限定されない。
なお、秘密鍵141から複数の分散情報の生成方法、及び複数の分散情報から秘密鍵141の生成方法については、上記実施の形態と同様であるので、ここでの説明は省略する。また、分散情報保持装置の脱退、追加時における分散情報の更新についても上記実施の形態と同様である。
また、認証局装置140が、各分散情報保持装置が保持する各分散情報を用いて秘密鍵141を回復することにより、秘密鍵141を用いて暗号化した情報を復元できる。
各分散情報保持装置は、2以上の閉路(リング)で関係付けられていてもよい。
例えば、p台の分散情報保持装置が第1の閉路を形成するように関係付けられ、q台の分散情報保持装置が第2の閉路を形成するように関係付けられているものとする。なお、p、qは1以上の整数とする。各分散情報保持装置が閉路を形成するように関係付ける方法は、上記実施の形態にて示しているので、ここでの説明は省略する。
また、例えば、上記実施の形態にて示す分散情報d_1〜d_3それぞれを保持する3台の分散情報保持装置から第1の閉路を形成し、分散情報d_4〜d_6それぞれを保持する3台の分散情報保持装置から第2の閉路を形成してもよい。
鍵配布装置130は、第iの閉路を形成する各装置に、分散情報d_iから生成された各部分情報を配布する。配布方法は、上記の実施の形態における分散情報の配布方法と同様であるので、ここでの説明は省略する。
また、第1から第rの閉路が形成されている場合において、現状の秘密鍵を回復する場合も、上記と同様の分散情報の割り当て方法、分散情報から生成された部分情報の配布方法、現状の秘密鍵の回復方法にて実現できる。
制御部403に認証局証明書格納部413を含めなくてもよい。つまり、認証局装置140は、秘密鍵格納部401、リスト格納部402、制御部403と、第1及び第2送受信部404、405及び認証局証明書格納部413から構成されるとしてもよい。このとき、制御部403には、認証局証明書格納部413を除く他の構成要素が含まれている。
鍵配布装置130は、配布先の分散情報保持装置それぞれに対して、分散情報保持装置が保持すべき3つの分散情報からなる情報群を決定し、決定した情報群それぞれを対応する分散情報保持装置へ配布してもよい。この場合、どの分散情報が他装置分散情報となるかの識別を付与する。
つまり、分散情報の配布方法は、結果的に、分散情報保持装置が、当該分散情報保持装置に割り当てられた1つの分散情報と、2つの他装置分散情報とを保持する方法であればよい。
各分散情報保持装置が、分散情報を生成し、生成した分散情報を配布してもよい。
各分散情報保持装置121〜126は、それぞれで分散情報を生成し、それらの分散情報に基づく公開鍵暗号における公開鍵を生成する。
各分散情報保持装置は、予め記憶している装置情報リストT200に基づいて、自身の分散情報を送付する。
例えば、分散情報保持装置121の場合、図41にて示すように、分散情報保持装置122と126に、分散情報211を送付する。
(27)上記実施の形態において、分散情報保持装置は、隣接するように関係付けがなされた分散情報保持装置に割り当てられた分散情報を、他装置分散情報として記憶する、つまり当該分散情報と関連付けがなされた他の分散情報保持装置に割り当てられた分散情報を記憶したが、これに限定されない。
(28)上記実施の形態において、秘密分散法を用いてk個の分散情報を生成する際に、生成されたk個の分散情報の総和により元の秘密情報が復元されるように各分散情報を生成したしたが、これに限定されない。
例えば、乗算を用いて元の秘密情報が生成されるように、秘密分散法を用いてk個の分散情報を生成してもよい。なお、この場合のk個の分散情報を生成方法は、上記(1)にて記載しているので、ここでの説明は省略する。
また、ここでは、システムLSIとしたが、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
(31)上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なICカードまたは単体のモジュールから構成されているとしてもよい。前記ICカードまたは前記モジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。前記ICカードまたは前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ICカードまたは前記モジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
(33)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
1.7 まとめ
(1)本発明は、2以上の分散情報保持装置と、前記各分散情報保持装置から受信した分散情報に基づいて第1の秘密鍵を生成し格納する暗号装置からなる暗号システムであって、前記各分散情報保持装置は、それぞれ、第1の分散情報群を格納する第1の分散情報格納部と、第2の分散情報群を格納する第2の分散情報格納部と、前記第1の分散情報群もしくは前記第2の分散情報群に含まれる1以上の分散情報を暗号装置へ送信する分散情報送信部とを備え、前記第1の分散情報群は、それぞれ、前記第1の秘密鍵を生成するためのk個(kは2以上の整数)の分散情報の中から選択された1以上の分散情報を含み、前記第2の分散情報群は、それぞれ、前記k個の分散情報の中から選択された、自装置の前記第1の分散情報群に含まれる分散情報以外の1以上の分散情報を含み、さらに、自装置の前記第1の分散情報群に含まれる各分散情報と同じと識別される分散情報が、それぞれ、自装置以外のいずれかの前記第2の分散情報群に含まれ、かつ、前記各分散情報保持装置の前記第1の分散情報群のそれぞれに含まれる分散情報の和集合が、前記k個の分散情報からなる集合と等しく、前記暗号装置は、1以上の前記分散情報保持装置から、前記第1の分散情報群もしくは前記第2の分散情報群に含まれる1以上の分散情報を受信する分散情報受信部と、前記分散情報受信部で受信した1以上の分散情報を格納する分散情報格納部と、受信した前記各分散情報の和集合が前記k個の分散情報と等しい場合に、前記各分散情報を用いて復元秘密鍵を生成する秘密鍵生成部と、前記復元秘密鍵を、前記第1の秘密鍵として格納する秘密鍵格納部とを備える事を特徴とする。
(2)上記(1)において、前記暗号装置は、さらに、前記第1の秘密鍵が正しいことを検証するための認証子を格納する認証子格納部と、前記認証子を用いて前記復元秘密鍵が正しいことを検証する秘密鍵検証部とを備え、前記秘密鍵格納部は、前記秘密鍵検証部において前記復元秘密鍵が正しいことを検証した場合に、前記秘密鍵生成部で生成した前記復元秘密鍵を前記第1の秘密鍵として格納するとしてもよい。
(3)上記(2)において、前記分散情報保持装置は、さらに、前記認証子を格納する認証子格納部と、前記認証子を暗号装置へ送信する認証子送信部とを備え、前記暗号装置は、さらに、前記認証子を受信し、前記受信した認証子を前記認証子格納部へ格納する認証子受信部を備えるとしてもよい。
(4)上記(2)又は(3)において、前記認証子は、前記第1の秘密鍵をハッシュ関数で処理したハッシュ値であり、前記秘密鍵検証部は、検証用情報として、前記復元秘密鍵をハッシュ関数で処理したハッシュ値を生成する検証用情報生成手段と、前記認証子の値と前記検証用情報の値が一致することを検証する検証手段とを備えるとしてもよい。
(5)上記(2)又は(3)において、前記認証子は、前記第1の秘密鍵に対応する公開鍵であり、前記秘密鍵検証部は、前記復元秘密鍵と前記認証子が、公開鍵暗号の鍵対であることを検証する検証手段を備えるとしてもよい。
(6)上記(2)又は(3)において、前記認証子は、前記第1の秘密鍵に対応する公開鍵であり、前記秘密鍵検証部は、検証用情報として、前記復元秘密鍵を用いて検証用証明書を生成する検証用情報生成手段と、前記認証子を用いて前記検証用証明書を検証する検証手段とを備えるとしてもよい。
(7)上記(2)又は(3)において、前記認証子は、前記第1の秘密鍵を生成するためのk個の分散情報を結合した情報をハッシュ関数で処理したハッシュ値であり、前記秘密鍵検証部は、検証用情報として、前記k個の分散情報を結合した情報をハッシュ関数で処理したハッシュ値を生成する検証用情報生成手段と、前記認証子の値と前記検証用情報の値が一致すること検証する検証手段とを備えるとしてもよい。
(8)上記(2)から(7)において、前記分散情報受信部は、受信した前記各分散情報に前記分散情報を送信した分散情報保持装置を識別するための送信元識別情報を付け、前記暗号装置は、さらに、前記秘密鍵検証部において、前記復元秘密鍵が正しいと検証されなかった場合に、前記分散情報と前記送信元識別情報と前記認証子とを用いて、不正な分散情報を送信した分散情報保持装置を特定する不正装置特定部とを備えるとしてもよい。
(9)上記(8)において、前記第1の分散情報群および前記第2の分散情報群に含まれる分散情報は、さらに、前記分散情報を前記第1の分散情報群に含む分散情報保持装置の識別情報を含み、前記不正装置特定部は、前記2以上の分散情報保持装置である第1から第rの分散情報保持装置がそれぞれ保持する前記第1の分散情報群および前記第2の分散情報群に含まれる分散情報に対し、1以上の分散情報を前記識別情報を用いて同一識別分散情報群に分類し、さらに、前記各同一識別分散情報群に含まれる分散情報において、値ごとにグループに分類する分散情報分類部と、前記各同一識別分散情報群の中からそれぞれ1つのグループを選択して、前記各同一識別分散情報群それぞれに対して、前記グループを選択する組み合わせのすべてを生成する組み合わせ生成部と、前記組み合わせそれぞれにおいて、前記生成された組み合わせにより選択されたグループに含まれる分散情報を用いて、前記秘密鍵生成部により前記復元秘密鍵を生成し、前記復元秘密鍵を用いて前記秘密鍵検証部により前記復元秘密鍵を検証し、検証を通る前記復元秘密鍵を生成する組み合わせを探し、前記組み合わせにより選択されるグループに検証を通ったことを識別する検証通過識別情報を付け、前記検証通過識別情報の付いていないグループに含まれる前記分散情報の前記送信元識別情報から分散情報保持装置を特定する特定部とを備えるとしてもよい。
(11)上記(10)において、前記分散情報送信部は、前記第1の分散情報群もしくは前記第2の分散情報群に含まれる1以上の分散情報を分散情報保持装置へ送信し、第(r−1)の分散情報保持装置以外の分散情報保持装置は、さらに、前記受信した部分情報を第(r−1)の分散情報保持装置へ送信する検証用部分情報送信部を備え、第rの分散情報保持装置の前記第1の分散情報群に含まれる分散情報と同じと識別される分散情報を、前記第2の分散情報群に含む分散情報保持装置である第(r−1)の分散情報保持装置は、さらに、前記1以上の部分情報を受信する検証用部分情報受信部と、前記受信した1以上の部分情報が示す値の総和が、前記第2の分散情報群に含まれる前記第rの分散情報保持装置の第1の分散情報群に含まれる分散情報が示す値の和と一致することを検証する部分情報検証部とを備え、前記第rの分散情報保持装置以外の分散情報保持装置は、さらに、前記第1の分散情報群に含まれる1以上の分散情報を更新した場合、前記更新した分散情報と、前記更新した分散情報と同じと識別される自装置以外の分散情報保持装置の前記第2の分散情報群に含まれる1以上の分散情報とが同じ値であることを検証する第1の分散情報検証部と、前記第2の分散情報群に含まれる1以上の分散情報を更新した場合、前記更新した分散情報と、前記更新した分散情報と同じと識別される自装置以外の分散情報保持装置の前記第1あるいは第2の分散情報群に含まれる1以上の分散情報とが同じ値であることを検証する第2の分散情報検証部とを備え、前記第1と第(r−1)の分散情報保持装置は、さらに、自装置以外の2以上の分散情報保持装置から前記1以上の分散情報を受信する分散情報受信部と、前記分散情報受信部により自装置以外の2以上の分散情報保持装置から受信した分散情報が同じと識別される場合に、同じと識別された前記分散情報が同じ値であることを検証する第3の分散情報検証部と、前記分散情報検証部で同じ値と検証された分散情報を用いて前記第2の分散情報群に含まれる1以上の分散情報を更新する第2の分散情報更新部とを備えるとしてもよい。
(13)上記(12)において、前記分散情報送信部は、前記第1の分散情報群もしくは前記第2の分散情報群に含まれる1以上の分散情報を分散情報保持装置へ送信し、前記第1と第rの分散情報保持装置は、さらに、自装置の前記第1の分散情報群に含まれる1以上の分散情報を、2以上の部分情報にそれぞれ分割する分散情報分割部と、前記分割された各部分情報をそれぞれ、自装置以外のいずれかの分散情報保持装置へ送信する部分情報送信部とを備え、前記分散情報保持装置は、さらに、1以上の前記部分情報を受信する部分情報受信部と、前記部分情報を用いて前記第1の分散情報群もしくは前記第2の分散情報群に含まれるすくなくとも1つの分散情報を更新する第3の分散情報更新部と、前記第1の分散情報群に含まれる1以上の分散情報を更新した場合、前記更新した分散情報と、前記更新した分散情報と同じと識別される自装置以外の分散情報保持装置の前記第2の分散情報群に含まれる1以上の分散情報とが同じ値であることを検証する第1の分散情報検証部と、前記第2の分散情報群に含まれる1以上の分散情報を更新した場合、前記更新した分散情報と、前記更新した分散情報と同じと識別される自装置以外の分散情報保持装置の前記第1あるいは第2の分散情報群に含まれる1以上の分散情報とが同じ値であることを検証する第2の分散情報検証部とを備え、前記第(r+1)の分散情報保持装置は、さらに、前記分散情報受信部により自装置以外の2以上の分散情報保持装置から受信した分散情報が同じと識別される場合に、同じと識別された前記分散情報が同じ値であることを検証する第3の分散情報検証部と、前記第2の分散情報検証部で同じ値と検証された分散情報を用いて前記第2の分散情報群に含まれる1以上の分散情報を更新する第4の分散情報更新部とを備えるとしてもよい。
この構成によると、復元秘密鍵を暗号装置が利用する秘密鍵と切り替えることができ、暗号装置が利用している秘密鍵とは異なる秘密鍵から分散情報を生成しておくことで、暗号システムのセキュリティが崩壊したときに、以前とは異なる秘密鍵を用いてシステムを回復できる。
本発明は、認証局装置、分散情報保持装置及び鍵配布装置を製造及び販売する産業において、経営的、継続的、反復的に利用可能である。
121〜127 分散情報保持装置
130 鍵配布装置
140 認証局装置
250_j(j=1〜7) 制御部
251_j(j=1〜7) 分散情報格納部
252_j(j=1〜7) 他装置分散情報格納部
253_j(j=1〜7) 認証子格納部
254_j(j=1〜7) リスト格納部
255_j(j=1〜7) ID格納部
256_j(j=1〜7) 送信部
257_j(j=1〜7) 受信部
260_j(j=1〜7) 分散情報更新部
261_j(j=1〜7) 分散情報分割部
262_j(j=1〜7) 分散情報検証部
263_j(j=1〜7) 他装置分散情報検証部
264_j(j=1〜7) 部分情報検証部
265_j(j=1〜7) 変形情報生成部
266_j(j=1〜7) リスト更新部
267_j(j=1〜7) 取得部
301 鍵ペア生成部
302 証明書生成部
303 証明書配布部
304 秘密鍵分散部
305 分散情報配布部
306 鍵消去部
307 送信部
351 装置情報記憶部
352 分散情報選択部
353 装置選択部
354 出力部
355 繰返制御部
401 秘密鍵格納部
402 リスト格納部
403 制御部
404 第1送受信部
405 第2送受信部
412 端末証明書発行部
413 認証局証明書格納部
414 秘密鍵生成部
415 秘密鍵検証部
416 不正装置特定部
417 解析部
Claims (16)
- 1個の秘密情報から分解した第1から第nの分散情報のうち第i番目の分散情報(iは1以上n以下の整数)が1装置当り1情報という情報が重複しない形態で割り当てられたn台の保持装置のうち第i番目の保持装置であって、
記憶手段と、
第i番目の保持装置に割り当てられた前記第i番目の分散情報を取得して、前記記憶手段へ書き込む第1書込手段と、
1台以上の他の保持装置それぞれに割り当てられた第i番目の分散情報とは異なる番目の分散情報を取得する取得手段と、
取得した前記第i番目の分散情報とは異なる番目の前記分散情報を前記記憶手段に書き込む第2書込手段とを備え、
第1から第nの保持装置は、1個以上の閉路を形成するように仮想的に配置されたn個のノードに対応付けられており、
前記取得手段は、同一の閉路において、当該第i番目の保持装置に対応する第i番目のノードに隣接する第i−1及び第i+1番目のノードそれぞれに対応した第i−1番目及び第i+1番目の保持装置にそれぞれ割り当てられた第i−1番目及び第i+1番目の分散情報を取得し、
前記第i−1若しくは第i+1番目の保持装置が、第1から第nの保持装置から構成されるグループから脱退する脱退対象保持装置とした場合、
第i番目の保持装置は、さらに、
分散指示を受け取る受信手段と、
前記分散指示を受け取ると、前記記憶手段から、前記脱退対象保持装置に割り当てられた前記第i−1若しくは前記i+1番目の分散情報を読み出す読出手段と、
読み出された前記第i−1若しくは前記i+1番目の分散情報をn−1個の部分分散情報に分解する分散情報分解手段と、
分解されたn−1個の部分分散情報を、第i番目の保持装置及び前記脱退対象保持装置を除く他のn−2台の保持装置それぞれが保持する複数の分散情報に対して、同一番目の分散情報には同一の部分分散情報が割り当たる様態で、前記n−2台の保持装置へ出力する出力手段と
を含むことを特徴とする保持装置。 - 所定の法において、前記分散情報分解手段により分解された全ての部分分散情報を加算することにより、読み出された前記第i−1番目の分散情報が得られる
ことを特徴とする請求項1に記載の保持装置。 - 1個の秘密情報から分解した第1から第nの分散情報のうち第i番目の分散情報(iは1以上n以下の整数)が1装置当り1情報という情報が重複しない形態で割り当てられたn台の保持装置のうち第i番目の保持装置であって、
記憶手段と、
第i番目の保持装置に割り当てられた前記第i番目の分散情報を取得して、前記記憶手段へ書き込む第1書込手段と、
1台以上の他の保持装置それぞれに割り当てられた第i番目の分散情報とは異なる番目の分散情報を取得する取得手段と、
取得した前記第i番目の分散情報とは異なる番目の前記分散情報を前記記憶手段に書き込む第2書込手段とを備え、
第1から第nの保持装置は、1個以上の閉路を形成するように仮想的に配置されたn個のノードに対応付けられており、
前記取得手段は、同一の閉路において、当該第i番目の保持装置に対応する第i番目のノードに隣接する第i−1及び第i+1番目のノードそれぞれに対応した第i−1番目及び第i+1番目の保持装置にそれぞれ割り当てられた第i−1番目及び第i+1番目の分散情報を取得し、
第i−1から第i+1番目の保持装置以外の第p番目の保持装置(pは1以上n以下の整数)が、第1から第n番目の保持装置から構成されるグループから脱退する脱退対象保持装置であるとした場合、
第i番目の保持装置は、さらに、
前記脱退対象保持装置に対応するノードに隣接するノードに対応する保持装置から、第i−1から第i+1番目の分散情報それぞれに割り当てられるべき部分分散情報を受信する受信手段と、
受信した各部分分散情報を、前記記憶手段が記憶している第i−1から第i+1番目の分散情報のうち、当該部分分散情報に対応する分散情報に加算する演算手段とを含み、
受信した前記部分分散情報それぞれは、前記脱退対象保持装置に割り当てられた第p番目の分散情報から分解されたものである
ことを特徴とする保持装置。 - 所定の法において、分解された全ての部分分散情報を加算することにより、前記第p番目の分散情報が得られる
ことを特徴とする請求項3に記載の保持装置。 - 1個の秘密情報から分解した第1から第nの分散情報のうち第i番目の分散情報(iは1以上n以下の整数)が1装置当り1情報という情報が重複しない形態で割り当てられたn台の保持装置のうち第i番目の保持装置であって、
記憶手段と、
第i番目の保持装置に割り当てられた前記第i番目の分散情報を取得して、前記記憶手段へ書き込む第1書込手段と、
1台以上の他の保持装置それぞれに割り当てられた第i番目の分散情報とは異なる番目の分散情報を取得する取得手段と、
取得した前記第i番目の分散情報とは異なる番目の前記分散情報を前記記憶手段に書き込む第2書込手段とを備え、
第1から第nの保持装置は、1個以上の閉路を形成するように仮想的に配置されたn個のノードに対応付けられており、
前記取得手段は、同一の閉路において、当該第i番目の保持装置に対応する第i番目のノードに隣接する第i−1及び第i+1番目のノードそれぞれに対応した第i−1番目及び第i+1番目の保持装置にそれぞれ割り当てられた第i−1番目及び第i+1番目の分散情報を取得し、
前記閉路において1個の新たなノードが前記i番目の保持装置に対応するi番目のノードと隣接する状態で追加され、前記新たなノードに新たな追加保持装置を対応付けた場合、
第i番目の保持装置は、さらに、
前記追加保持装置が追加される旨の通知を受け取る受信手段と、
前記通知を受け取ると、前記記憶手段から、第i番目の保持装置に割り当てられた第i番目の分散情報を読み出す読出手段と、
追加部分情報を生成する生成手段と、
生成された前記追加部分情報を用いて、読み出された前記第i番目の分散情報に対して演算を施し、得られた演算結果を新たな第i番目の分散情報として、読み出された前記第i番目の分散情報に代えて、前記記憶手段へ書き込む演算手段と、
生成された前記追加部分情報を前記追加保持装置へ出力する出力手段と
を含むことを特徴とする保持装置。 - 前記演算手段は、所定の法において、読み出された前記第i番目の分散情報から前記追加部分情報を減ずることにより、前記演算結果を得る
ことを特徴とする請求項5に記載の保持装置。 - 第i番目の保持装置において、
前記出力手段は、さらに、生成された追加部分情報を、第i番目の保持装置に割り当てられた第i番目の分散情報を保持する他の保持装置へ出力する
ことを特徴とする請求項5に記載の保持装置。 - 前記受信手段は、さらに、前記新たなノードと隣接する第i−1若しくは第i+1番目のノードに対応する第i−1若しくは第i+1番目の保持装置から第2の追加部分情報を受信し、
前記演算手段は、さらに、前記生成手段により生成された前記追加部分情報及び前記受信手段により受信した第2の追加部分情報に演算を施して前記追加保持装置に割り当てられる分散情報を生成し、前記追加保持装置の追加によって第i番目の保持装置に対応する第i番目のノードと非隣接となる第i−1若しくは第i+1番目のノードに対応する第i−1若しくは第i+1番目の保持装置に割り当てられた第i−1若しくは第i+1番目の分散情報の代わりに、生成した前記追加分散情報を前記追加保持装置に割り当てられた分散情報として前記記憶手段に書き込む
ことを特徴とする請求項5に記載の保持装置。 - 前記演算手段は、所定の法において、前記追加部分情報及び前記第2の追加部分情報を加算することにより、前記追加分散情報を得る
ことを特徴とする請求項8に記載の保持装置。 - 前記読出手段は、さらに、前記記憶手段から、当該第i番目の保持装置に新たに割り当てられた新たな第i番目の分散情報を読み出し、
前記演算手段は、さらに、読み出した前記新たな第i番目の分散情報をn+1個の部分分散情報に分解し、
出力手段は、さらに、分解した各部分分散情報を、所定の割り当て規則に基づいて、前記追加保持装置を含むn+1台の保持装置のうち第i番目の保持装置を除く他の保持装置それぞれへ出力し、
前記所定の割当規則は、前記他の保持装置それぞれが保持する複数の分散情報のうち、前記第i番目の分散情報とは異なる番目の分散情報に対しては、1分散情報当り1部分分散情報という情報が重複しない形態で割り当て、前記第i番目の分散情報に対しては、前記重複しない形態で割り当てられた全ての部分分散情報を割り当てる
ことを特徴とする請求項5に記載の保持装置。 - 1個の秘密情報から分解した第1から第nの分散情報のうち第i番目の分散情報(iは1以上n以下の整数)が1装置当り1情報という情報が重複しない形態で割り当てられたn台の保持装置のうち第i番目の保持装置であって、
記憶手段と、
第i番目の保持装置に割り当てられた前記第i番目の分散情報を取得して、前記記憶手段へ書き込む第1書込手段と、
1台以上の他の保持装置それぞれに割り当てられた第i番目の分散情報とは異なる番目の分散情報を取得する取得手段と、
取得した前記第i番目の分散情報とは異なる番目の前記分散情報を前記記憶手段に書き込む第2書込手段とを備え、
第1から第nの保持装置は、1個以上の閉路を形成するように仮想的に配置されたn個のノードに対応付けられており、
前記取得手段は、同一の閉路において、当該第i番目の保持装置に対応する第i番目のノードに隣接する第i−1及び第i+1番目のノードそれぞれに対応した第i−1番目及び第i+1番目の保持装置にそれぞれ割り当てられた第i−1番目及び第i+1番目の分散情報を取得し、
前記閉路において1個の新たなノードが前記i番目の保持装置に対応するi番目のノードと隣接する第i−1若しくは第i+1番目のノードにさらに隣接する状態で追加され、前記新たなノードに新たな追加保持装置を対応付けた場合、
第i番目の保持装置は、さらに、
前記新たなノードと隣接する第i−1若しくは第i+1番目のノードに対応する第i−1若しくは第i+1番目の保持装置から、追加部分情報を受信する受信手段と、
前記記憶手段から前記追加部分情報の送信元である前記第i−1若しくは第i+1番目の保持装置に割り当てられた前記第i−1若しくは第i+1番目の分散情報を読み出す読出手段と、
受信された前記追加部分情報を用いて、読み出された前記第i−1若しくは第i+1番目の分散情報に対して演算を施し、得られた演算結果を、読み出された前記第i−1若しくは第i+1番目の分散情報に代えて、前記第i−1若しくは第i+1番目の保持装置に割り当てられた新たな第i−1若しくは第i+1番目の分散情報として、前記記憶手段へ書き込む演算手段と
を含むことを特徴とする保持装置。 - 前記受信手段は、さらに、前記新たなノードに隣接するノードに対応する隣接保持装置から、前記記憶手段にて記憶されている第i−1から第i+1の分散情報それぞれに対して割り当てられるべき1個以上の部分分散情報を受信し、
前記演算手段は、さらに、受信した部分分散情報それぞれを用いて、前記記憶手段に記憶されている第i−1から第i+1の分散情報に演算を施し、演算結果を新たな第i−1から第i+1の分散情報として前記記憶手段に書き込み、
受信した前記1個以上の部分分散情報それぞれは、前記隣接保持装置に割り当てられた分散情報から分解されたものである
ことを特徴とする請求項11に記載の保持装置。 - 認証局装置であって、
第1から第nの保持装置に冗長に割り当てられて記憶している分散情報から冗長性のないn個の分散情報を受信する受信手段と、
受信したn個の前記分散情報を用いて、仮に秘密情報を復元する復元手段と、
復元した秘密情報の正当性を検証する検証手段と、
復元した秘密情報が正当でないと認められた場合に、各保持装置が保持する残りの分散情報と、復元に用いたn個の分散情報とを用いて、不正に改竄された分散情報を保持する保持装置を特定する特定手段とを備え、
前記第1から第nの保持装置は、1個以上の閉路を形成するように配置されたn個のノードに対応付けられており、
第i番目の保持装置(iは1以上n以下の整数)は、当該第i番目の保持装置に割り当てられた第i番目の分散情報と、同一の閉路において当該第i番目の保持装置に対応する第i番目のノードの両側に隣接する第i−1及び第i+1番目のノードそれぞれに対応付けられた第i−1及び第i+1番目の保持装置に割り当てられた第i−1及び第i+1番目の分散情報とを保持しており、
前記受信手段は、第1から第nの保持装置それぞれに割り当てられた第1から第nの分散情報を受信することにより、冗長性のないn個の分散情報を受信し、
前記特定手段は、
各保持装置が保持する残りの分散情報を取得し、第i番目の保持装置に割り当てられた第i番目の分散情報と、第i−1及び第i+1番目の保持装置がそれぞれが保持する第i番目の保持装置に割り当てられた第i番目の分散情報それぞれとが、同一の情報として第i番目のグループに属するように、各保持装置から取得した全ての分散情報を第1から第nのグループに分類する第1分類部と、
第1から第n番目のグループそれぞれについて、内容が同一となる分散情報が同じサブグループに属するように、当該グループに含まれる複数の分散情報を分類する第2分類部と、
第1から第nのグループそれぞれから、1個のサブグループを選択し、選択したn個のサブグループそれぞれから1個の分散情報を選択し、n個の分散情報から構成される組合せを生成する組合生成部と、
生成した組合せに含まれる全ての分散情報を用いて、秘密情報を生成することにより、分散情報の正当性を検証する検証部と、
正当であると認められる場合に、サブグループに含まれている分散情報を保持する保持装置を正当とみなして、当該保持装置を排除する排除部とを含み、
前記特定手段は、残りの保持装置の中から不正に改竄された分散情報を保持する保持装置を特定する
ことを特徴とする認証局装置。 - 前記復元手段は、さらに、不正に改竄された分散情報を保持すると特定された保持装置を除き、他の保持装置から受け取った複数の分散情報のうち冗長性のないn個の分散情報を用いて、秘密情報を復元する
ことを特徴とする請求項13に記載の認証局装置。 - 1個の秘密情報から分解した第1から第nの分散情報のうち第i番目の分散情報(iは1以上n以下の整数)が1装置当り1情報という情報が重複しない形態で割り当てられたn台の保持装置のうち第i番目の保持装置で用いられる保持方法であって、
前記第i番目の保持装置は、
記憶手段を備え、
前記保持方法は、
第i番目の保持装置に割り当てられた前記第i番目の分散情報を取得して、前記記憶手段へ書き込む第1書込ステップと、
1台以上の他の保持装置それぞれに割り当てられた第i番目の分散情報とは異なる番目の分散情報を取得する第1取得ステップと、
取得した前記第i番目の分散情報とは異なる番目の前記分散情報を前記記憶手段に書き込む第2書込ステップとを含み、
第1から第nの保持装置は、1個以上の閉路を形成するように仮想的に配置されたn個のノードに対応付けられており、
前記保持方法は、さらに、
同一の閉路において、当該第i番目の保持装置に対応する第i番目のノードに隣接する第i−1及び第i+1番目のノードそれぞれに対応した第i−1番目及び第i+1番目の保持装置にそれぞれ割り当てられた第i−1番目及び第i+1番目の分散情報を取得する第2取得ステップと、
前記第i−1若しくは第i+1番目の保持装置が、第1から第nの保持装置から構成されるグループから脱退する脱退対象保持装置とした場合、分散指示を受け取る受信ステップと、
前記分散指示を受け取ると、前記記憶手段から、前記脱退対象保持装置に割り当てられた前記第i−1若しくは前記i+1番目の分散情報を読み出す読出ステップと、
読み出された前記第i−1若しくは前記i+1番目の分散情報をn−1個の部分分散情報に分解する分解ステップと、
分解されたn−1個の部分分散情報を、第i番目の保持装置及び前記脱退対象保持装置を除く他のn−2台の保持装置それぞれが保持する複数の分散情報に対して、同一番目の分散情報には同一の部分分散情報が割り当たる様態で、前記n−2台の保持装置へ出力する出力ステップと
を含むことを特徴とする保持方法。 - 1個の秘密情報から分解した第1から第nの分散情報のうち第i番目の分散情報(iは1以上n以下の整数)が1装置当り1情報という情報が重複しない形態で割り当てられたn台の保持装置のうち第i番目の保持装置で用いられる保持のためのコンピュータプログラムを記録しているコンピュータ読み取り可能な記録媒体であって、
前記第i番目の保持装置は、
記憶手段を備え、
前記記録媒体は、コンピュータに対して、
第i番目の保持装置に割り当てられた前記第i番目の分散情報を取得して、前記記憶手段へ書き込む第1書込ステップと、
1台以上の他の保持装置それぞれに割り当てられた第i番目の分散情報とは異なる番目の分散情報を取得する取得ステップと、
取得した前記第i番目の分散情報とは異なる番目の前記分散情報を前記記憶手段に書き込む第2書込ステップとを実行させ、
第1から第nの保持装置は、1個以上の閉路を形成するように仮想的に配置されたn個のノードに対応付けられており、
前記記録媒体は、さらに、前記コンピュータに対して、
同一の閉路において、当該第i番目の保持装置に対応する第i番目のノードに隣接する第i−1及び第i+1番目のノードそれぞれに対応した第i−1番目及び第i+1番目の保持装置にそれぞれ割り当てられた第i−1番目及び第i+1番目の分散情報を取得する第2取得ステップと、
前記第i−1若しくは第i+1番目の保持装置が、第1から第nの保持装置から構成されるグループから脱退する脱退対象保持装置とした場合、分散指示を受け取る受信ステップと、
前記分散指示を受け取ると、前記記憶手段から、前記脱退対象保持装置に割り当てられた前記第i−1若しくは前記i+1番目の分散情報を読み出す読出ステップと、
読み出された前記第i−1若しくは前記i+1番目の分散情報をn−1個の部分分散情報に分解する分解ステップと、
分解されたn−1個の部分分散情報を、第i番目の保持装置及び前記脱退対象保持装置を除く他のn−2台の保持装置それぞれが保持する複数の分散情報に対して、同一番目の分散情報には同一の部分分散情報が割り当たる様態で、前記n−2台の保持装置へ出力する出力ステップと
を実行させるためのコンピュータプログラムを記録していることを特徴とする記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008558035A JP5214474B2 (ja) | 2007-02-16 | 2008-01-31 | 分散情報配布装置、保持装置、認証局装置及びシステム |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007036375 | 2007-02-16 | ||
JP2007036375 | 2007-02-16 | ||
PCT/JP2008/051530 WO2008099682A1 (ja) | 2007-02-16 | 2008-01-31 | 分散情報配布装置、保持装置、認証局装置及びシステム |
JP2008558035A JP5214474B2 (ja) | 2007-02-16 | 2008-01-31 | 分散情報配布装置、保持装置、認証局装置及びシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2008099682A1 JPWO2008099682A1 (ja) | 2010-05-27 |
JP5214474B2 true JP5214474B2 (ja) | 2013-06-19 |
Family
ID=39689927
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008558035A Active JP5214474B2 (ja) | 2007-02-16 | 2008-01-31 | 分散情報配布装置、保持装置、認証局装置及びシステム |
Country Status (3)
Country | Link |
---|---|
US (2) | US8930660B2 (ja) |
JP (1) | JP5214474B2 (ja) |
WO (1) | WO2008099682A1 (ja) |
Families Citing this family (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2352109B1 (en) * | 2008-11-26 | 2018-06-20 | Panasonic Corporation | Monitoring system, program-executing device, monitoring program, recording medium and integrated circuit |
JP5405986B2 (ja) * | 2008-11-26 | 2014-02-05 | パナソニック株式会社 | ソフトウェア更新システム、管理装置、記録媒体及び集積回路 |
JP2010176064A (ja) * | 2009-02-02 | 2010-08-12 | Kddi Corp | 無効化処理システム、無効化処理方法およびプログラム |
CN102272770B (zh) | 2009-02-16 | 2015-07-01 | 松下电器产业株式会社 | 篡改监视***、管理装置及篡改管理方法 |
JP5453324B2 (ja) * | 2009-02-16 | 2014-03-26 | パナソニック株式会社 | 不正モジュール特定装置、情報処理装置、不正モジュール特定方法、不正モジュール特定プログラム、集積回路、不正モジュール無効化システム、および不正モジュール無効化方法 |
WO2011033773A1 (ja) | 2009-09-17 | 2011-03-24 | パナソニック株式会社 | 情報処理装置、管理装置、不正モジュール検知システム、不正モジュール検知方法、不正モジュール検知プログラムを記録している記録媒体、管理方法、管理プログラムを記録している記録媒体および集積回路 |
EP2565812B1 (en) | 2010-04-26 | 2016-12-28 | Panasonic Corporation | Manipulation monitoring system, management device and manipulation management method |
JP5681028B2 (ja) | 2010-04-26 | 2015-03-04 | パナソニック株式会社 | 改ざん監視システム、管理装置及び管理方法 |
KR101344402B1 (ko) * | 2010-08-12 | 2013-12-26 | 한국전자통신연구원 | Rsa 서명 방법 및 장치 |
US8989391B2 (en) * | 2010-10-06 | 2015-03-24 | Nippon Telegraph And Telephone Corporation | Secret sharing system, secret sharing apparatus, secret sharing method, secret sorting method and secret sharing program |
JP5723361B2 (ja) | 2010-10-28 | 2015-05-27 | パナソニック株式会社 | 改ざん監視システム、保護制御モジュール及び検知モジュール |
JP5960678B2 (ja) | 2011-03-15 | 2016-08-02 | パナソニック株式会社 | 改ざん監視システム、管理装置、保護制御モジュール及び検知モジュール |
FR2993080B1 (fr) | 2012-07-04 | 2014-07-25 | Oberthur Technologies | Procede de verification de la securite d'un dispositif generateur de cles cryptographiques privees et publiques. |
JP2014052588A (ja) * | 2012-09-10 | 2014-03-20 | Sony Corp | 情報処理装置、情報処理方法及びコンピュータプログラム |
US9582671B2 (en) * | 2014-03-06 | 2017-02-28 | Sensity Systems Inc. | Security and data privacy for lighting sensory networks |
US9374870B2 (en) | 2012-09-12 | 2016-06-21 | Sensity Systems Inc. | Networked lighting infrastructure for sensing applications |
JP6095584B2 (ja) * | 2014-01-15 | 2017-03-15 | 日本電信電話株式会社 | マルチパーティ計算システム、秘匿計算装置、マルチパーティ計算方法及びプログラム |
EP3082124B8 (en) * | 2014-02-18 | 2019-05-08 | Nippon Telegraph And Telephone Corporation | Security apparatus, method thereof, and program |
WO2015142765A1 (en) | 2014-03-17 | 2015-09-24 | Coinbase, Inc | Bitcoin host computer system |
US20190087599A1 (en) | 2014-04-02 | 2019-03-21 | International Business Machines Corporation | Compressing a slice name listing in a dispersed storage network |
US9390283B2 (en) * | 2014-04-02 | 2016-07-12 | International Business Machines Corporation | Controlling access in a dispersed storage network |
JP6826360B2 (ja) * | 2015-02-27 | 2021-02-03 | インフォサイエンス株式会社 | メンバー情報管理システム及びメンバー情報管理プログラム |
US9735958B2 (en) | 2015-05-19 | 2017-08-15 | Coinbase, Inc. | Key ceremony of a security system forming part of a host computer for cryptographic transactions |
US10248793B1 (en) * | 2015-12-16 | 2019-04-02 | Amazon Technologies, Inc. | Techniques and systems for durable encryption and deletion in data storage systems |
US10230700B2 (en) * | 2016-08-09 | 2019-03-12 | Lenovo (Singapore) Pte. Ltd. | Transaction based message security |
US10505723B1 (en) | 2017-04-26 | 2019-12-10 | Wells Fargo Bank, N.A. | Secret sharing information management and security system |
JP6919355B2 (ja) * | 2017-06-16 | 2021-08-18 | 株式会社リコー | 情報処理装置、情報処理システム、鍵管理方法 |
GB201710176D0 (en) * | 2017-06-26 | 2017-08-09 | Nchain Holdings Ltd | Computer-implemented system and method |
US10392833B2 (en) | 2017-12-01 | 2019-08-27 | International Busniess Machines Corporation | Hybrid physical and logical locking device and mechanism |
US10764064B2 (en) | 2017-12-01 | 2020-09-01 | International Business Machines Corporation | Non-networked device performing certificate authority functions in support of remote AAA |
US10666439B2 (en) | 2017-12-01 | 2020-05-26 | International Business Machines Corporation | Hybrid security key with physical and logical attributes |
CN108155989B (zh) * | 2017-12-28 | 2020-11-03 | 贵州玛迩比特通信科技有限公司 | 一种多用户认证方法及*** |
US11516658B2 (en) * | 2018-07-03 | 2022-11-29 | Board Of Regents, The University Of Texas System | Efficient and secure distributed signing protocol for mobile devices in wireless networks |
EP3595239A1 (en) * | 2018-07-13 | 2020-01-15 | Nagravision SA | Incremental assessment of integer datasets |
US10447475B1 (en) * | 2018-11-08 | 2019-10-15 | Bar Ilan University | System and method for managing backup of cryptographic keys |
US11394543B2 (en) | 2018-12-13 | 2022-07-19 | Coinbase, Inc. | System and method for secure sensitive data storage and recovery |
US11240369B2 (en) | 2019-03-09 | 2022-02-01 | International Business Machines Corporation | Dedicated mobile device in support of secure optical data exchange with stand alone certificate authority |
US11206140B2 (en) | 2019-03-09 | 2021-12-21 | International Business Machines Corporation | Optical communication mounting frame in support of secure optical data exchange with stand alone certificate authority |
US10536846B1 (en) | 2019-03-09 | 2020-01-14 | International Business Machines Corporation | Secure optical data exchange for stand alone certificate authority device |
GB2584154A (en) * | 2019-05-24 | 2020-11-25 | Nchain Holdings Ltd | Knowledge proof |
US11218320B2 (en) * | 2019-06-28 | 2022-01-04 | Intel Corporation | Accelerators for post-quantum cryptography secure hash-based signing and verification |
WO2021022246A1 (en) | 2019-08-01 | 2021-02-04 | Coinbase, Inc. | Systems and methods for generating signatures |
US11943350B2 (en) * | 2019-10-16 | 2024-03-26 | Coinbase, Inc. | Systems and methods for re-using cold storage keys |
US11777720B2 (en) * | 2020-06-12 | 2023-10-03 | Nagravision Sàrl | Distributed anonymized compliant encryption management system |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000045358A1 (fr) * | 1999-01-28 | 2000-08-03 | Yutaka Yasukura | Procede pour assurer la securite d'informations electroniques |
JP2002135247A (ja) * | 2000-10-20 | 2002-05-10 | Sangikyou:Kk | デジタル情報保管方法 |
JP2004048479A (ja) * | 2002-07-12 | 2004-02-12 | Kddi Corp | 共有化された暗号化情報の暗号鍵管理方法 |
JP2004336702A (ja) * | 2003-04-15 | 2004-11-25 | Ntt Communications Kk | データ原本性確保方法およびシステム、ならびにデータ原本性確保用プログラム |
WO2005109167A2 (en) * | 2004-05-06 | 2005-11-17 | International Business Machines Corporation | Method and system for storing data in an array of storage devices with additional and autonomous protection |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6269453B1 (en) * | 1993-06-29 | 2001-07-31 | Compaq Computer Corporation | Method for reorganizing the data on a RAID-4 or RAID-5 array in the absence of one disk |
US5625692A (en) | 1995-01-23 | 1997-04-29 | International Business Machines Corporation | Method and system for a public key cryptosystem having proactive, robust, and recoverable distributed threshold secret sharing |
JPH10215245A (ja) | 1997-01-29 | 1998-08-11 | Nippon Telegr & Teleph Corp <Ntt> | 公開鍵認証方法 |
JP3560860B2 (ja) | 1999-07-23 | 2004-09-02 | 株式会社東芝 | 秘密分散システム、装置及び記憶媒体 |
JP4729906B2 (ja) * | 2004-11-19 | 2011-07-20 | 日本電産株式会社 | 遠心送風機 |
US7617370B2 (en) * | 2005-04-29 | 2009-11-10 | Netapp, Inc. | Data allocation within a storage system architecture |
-
2008
- 2008-01-31 JP JP2008558035A patent/JP5214474B2/ja active Active
- 2008-01-31 US US12/526,668 patent/US8930660B2/en active Active
- 2008-01-31 WO PCT/JP2008/051530 patent/WO2008099682A1/ja active Application Filing
-
2014
- 2014-11-25 US US14/553,084 patent/US9166972B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000045358A1 (fr) * | 1999-01-28 | 2000-08-03 | Yutaka Yasukura | Procede pour assurer la securite d'informations electroniques |
JP2002135247A (ja) * | 2000-10-20 | 2002-05-10 | Sangikyou:Kk | デジタル情報保管方法 |
JP2004048479A (ja) * | 2002-07-12 | 2004-02-12 | Kddi Corp | 共有化された暗号化情報の暗号鍵管理方法 |
JP2004336702A (ja) * | 2003-04-15 | 2004-11-25 | Ntt Communications Kk | データ原本性確保方法およびシステム、ならびにデータ原本性確保用プログラム |
WO2005109167A2 (en) * | 2004-05-06 | 2005-11-17 | International Business Machines Corporation | Method and system for storing data in an array of storage devices with additional and autonomous protection |
Non-Patent Citations (6)
Title |
---|
CSND199900125003; 尾形わかは,岡田光司,黒澤馨: '"ネットワークシステムと暗号:電子化社会の危機管理 秘密分散共有法"' Computer Today 第15巻,第4号, 199807, p.18-23, 株式会社サイエンス社 * |
CSNJ200510021125; 石津晴崇,荻原利彦: '"電子データの長期保管に関する一考察"' 電子情報通信学会2004年総合大会講演論文集 情報・システム1,D-9-10, 20040308, p.125, 社団法人電子情報通信学会 * |
JPN6012062235; 伊藤充,斎藤明,西関隆夫: '"一般的なアクセス構造を実現する秘密共有法"' 電子情報通信学会論文誌 A Vol.J71-A,No.8, 198808, pp.1592-1598, [オンライン] * |
JPN6012062236; 尾形わかは,岡田光司,黒澤馨: '"ネットワークシステムと暗号:電子化社会の危機管理 秘密分散共有法"' Computer Today 第15巻,第4号, 199807, p.18-23, 株式会社サイエンス社 * |
JPN6012062237; 石津晴崇,荻原利彦: '"電子データの長期保管に関する一考察"' 電子情報通信学会2004年総合大会講演論文集 情報・システム1,D-9-10, 20040308, p.125, 社団法人電子情報通信学会 * |
JPN6012062238; Lidong Zhou and Zygmunt J. Haas: '"Securing Ad Hoc Networks"' IEEE Network Vol.13, No.6, 199911, p.24-30, [online] * |
Also Published As
Publication number | Publication date |
---|---|
US20150121079A1 (en) | 2015-04-30 |
JPWO2008099682A1 (ja) | 2010-05-27 |
WO2008099682A1 (ja) | 2008-08-21 |
US8930660B2 (en) | 2015-01-06 |
US9166972B2 (en) | 2015-10-20 |
US20100235588A1 (en) | 2010-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5214474B2 (ja) | 分散情報配布装置、保持装置、認証局装置及びシステム | |
CN110300112B (zh) | 区块链密钥分层管理方法 | |
JP6547079B1 (ja) | 登録・認可方法、装置及びシステム | |
CN110380844B (zh) | 一种量子密钥分发方法、设备及存储介质 | |
JP6069852B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
CN111639361A (zh) | 一种区块链密钥管理方法、多人共同签名方法及电子装置 | |
JP5790319B2 (ja) | 署名検証装置、署名検証方法、プログラム、及び記録媒体 | |
JP6059258B2 (ja) | 分割保管装置、秘密鍵分割保管方法 | |
TW202403575A (zh) | 產生臨界值保管庫之電腦施行方法 | |
JP4692284B2 (ja) | グループ署名システム、方法、装置、およびプログラム | |
TWI813616B (zh) | 用以獲取數位簽署資料之電腦實行方法及系統 | |
CN102546176A (zh) | 在多主体环境中支持dns安全 | |
JP3871996B2 (ja) | データ分割管理方法及びプログラム | |
Thangavel et al. | Enabling ternary hash tree based integrity verification for secure cloud data storage | |
CN1954544A (zh) | 信息安全装置和信息安全*** | |
JPWO2012095973A1 (ja) | データ処理装置及びデータ保管装置 | |
CN110008755B (zh) | 一种云存储可撤销动态数据完整性验证***及方法 | |
CN110213228B (zh) | 一种认证通信的方法、装置、存储介质及计算机设备 | |
CN101536402A (zh) | 密码公钥与数据及其验证的关联 | |
CN114793184B (zh) | 一种基于第三方密钥管理节点的安全芯片通信方法及装置 | |
CN116349203A (zh) | 识别拒绝服务攻击 | |
CN116830523A (zh) | 阈值密钥交换 | |
US11101989B2 (en) | Trusted ring | |
JP2007114494A (ja) | 秘匿計算方法及び装置 | |
JP5650630B2 (ja) | 鍵交換システム、鍵交換装置、鍵交換方法、鍵交換プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20101111 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121211 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121227 |
|
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: 20130129 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130227 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5214474 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: 20160308 Year of fee payment: 3 |