(57)【要約】  分散情報が破壊されたり、改竄されたりした場合でも秘密情報を正しく生成することとのできる配布装置を提供することを目的とする。  秘密分散法に従って秘密情報を管理するシステムにおいて用いられる分散情報配布装置は、１つの秘密情報を第１から第ｎの分散情報に分解する分解手段と、前記第１から第ｎの分散情報をｎ台の保持装置に、１装置当り１情報という情報が重複しない形態で配布する第１配布手段と、前記第１から第ｎの分散情報の各々を、前記第１配布手段が配布する第ｉ番目の分散情報（ｉは１以上ｎ以下の整数）とは別の分散情報を併せて保持するように、前記ｎ台の保持装置へ配布する第２配布手段とを備える。
2008099682.tif 000002
【特許請求の範囲】
【請求項１】
秘密分散法に従って秘密情報を管理するシステムにおいて用いられる分散情報配布装置であって、
１つの秘密情報を第１から第ｎの分散情報に分解する分解手段と、
前記第１から第ｎの分散情報をｎ台の保持装置に、１装置当り１情報という情報が重複しない形態で配布する第１配布手段と、
前記第１から第ｎの分散情報の各々を、前記第１配布手段が配布する第ｉ番目の分散情報（ｉは１以上ｎ以下の整数）とは異なる番目の分散情報を併せて保持するように、前記ｎ台の保持装置へ配布する第２配布手段と
を備えることを特徴とする分散情報配布装置。
【請求項２】
ｎ台の保持装置が、１個以上の閉路を形成するように仮想的に配置されたｎ個のノードに対応付けられており、
前記第２配布手段は、前記第１から第ｎの分散情報の各々を、少なくとも、同一の閉路において、前記第１配布手段にて当該第ｉ番目の分散情報が配布された第ｉ番目の保持装置に対応する第ｉ番目のノードの両側に隣接する第ｉ−１及び第ｉ＋１番目のノードそれぞれに対応する第ｉ−１及び第ｉ＋１番目の保持装置に当該第ｉ番目の分散情報を配布する様態で、全保持装置に配布する
ことを特徴とする請求項１に記載の分散情報配布装置。
【請求項３】
所定の法において、第１から第ｎの分散情報を全て加算することにより前記秘密情報が得られる
ことを特徴とする請求項１に記載の分散情報配布装置。
【請求項４】
１個の秘密情報から分解した第１から第ｎの分散情報のうち第ｉ番目の分散情報（ｉは１以上ｎ以下の整数）が１装置当り１情報という情報が重複しない形態で割り当てられたｎ台の保持装置のうち第ｉ番目の保持装置であって、
記憶手段と、
第ｉ番目の保持装置に割り当てられた前記第ｉ番目の分散情報を取得して、前記記憶手段へ書き込む第１書込手段と、
１台以上の他の保持装置それぞれに割り当てられた第ｉ番目の分散情報とは異なる番目の分散情報を取得する取得手段と、
取得した前記第ｉ番目の分散情報とは異なる番目の前記分散情報を前記記憶手段に書き込む第２書込手段と
を備えることを特徴とする保持装置。
【請求項５】
第１から第ｎの保持装置は、１個以上の閉路を形成するように仮想的に配置されたｎ個のノードに対応付けられており、
前記取得手段は、同一の閉路において、当該第ｉ番目の保持装置に対応する第ｉ番目のノードに隣接する第ｉ−１及び第ｉ＋１番目のノードそれぞれに対応した第ｉ−１番目及び第ｉ＋１番目の保持装置にそれぞれ割り当てられた第ｉ−１番目及び第ｉ＋１番目の分散情報を取得する
ことを特徴とする請求項４に記載の保持装置。
【請求項６】
前記第ｉ−１若しくは第ｉ＋１番目の保持装置が、第１から第ｎの保持装置から構成されるグループから脱退する脱退対象保持装置とした場合、
第ｉ番目の保持装置は、さらに、
分散指示を受け取る受信手段と、
前記分散指示を受け取ると、前記記憶手段から、前記脱退対象保持装置に割り当てられた前記第ｉ−１若しくは前記ｉ＋１番目の分散情報を読み出す読出手段と、
読み出された前記第ｉ−１若しくは前記ｉ＋１番目の分散情報をｎ−１個の部分分散情報に分解する分散情報分解手段と、
分解されたｎ−１個の部分分散情報を、第ｉ番目の保持装置及び前記脱退対象保持装置を除く他のｎ−２台の保持装置それぞれが保持する複数の分散情報に対して、同一番目の分散情報には同一の部分分散情報が割り当たる様態で、前記ｎ−２台の保持装置へ出力する出力手段と
を含むことを特徴とする請求項５に記載の保持装置。
【請求項７】
所定の法において、前記分散情報分解手段により分解された全ての部分分散情報を加算することにより、読み出された前記第ｉ−１番目の分散情報が得られる
ことを特徴とする請求項６に記載の保持装置。
【請求項８】
第ｉ−１から第ｉ＋１番目の保持装置以外の第ｐ番目の保持装置（ｐは１以上ｎ以下の整数）が、第１から第ｎ番目の保持装置から構成されるグループから脱退する脱退対象保持装置であるとした場合、
第ｉ番目の保持装置は、さらに、
前記脱退対象保持装置に対応するノードに隣接するノードに対応する保持装置から、第ｉ−１から第ｉ＋１番目の分散情報それぞれに割り当てられるべき部分分散情報を受信する受信手段と、
受信した各部分分散情報を、前記記憶手段が記憶している第ｉ−１から第ｉ＋１番目の分散情報のうち、当該部分分散情報に対応する分散情報に加算する演算手段とを含み、
受信した前記部分分散情報それぞれは、前記脱退対象保持装置に割り当てられた第ｐ番目の分散情報から分解されたものである
ことを特徴とする請求項５に記載の保持装置。
【請求項９】
所定の法において、分解された全ての部分分散情報を加算することにより、前記第ｐ番目の分散情報が得られる
ことを特徴とする請求項８に記載の保持装置。
【請求項１０】
前記閉路において１個の新たなノードが前記ｉ番目の保持装置に対応するｉ番目のノードと隣接する状態で追加され、前記新たなノードに新たな追加保持装置を対応付けた場合、
第ｉ番目の保持装置は、さらに、
前記追加保持装置が追加される旨の通知を受け取る受信手段と、
前記通知を受け取ると、前記記憶手段から、第ｉ番目の保持装置に割り当てられた第ｉ番目の分散情報を読み出す読出手段と、
追加部分情報を生成する生成手段と、
生成された前記追加部分情報を用いて、読み出された前記第ｉ番目の分散情報に対して演算を施し、得られた演算結果を新たな第ｉ番目の分散情報として、読み出された前記第ｉ番目の分散情報に代えて、前記記憶手段へ書き込む演算手段と、
生成された前記追加部分情報を前記追加保持装置へ出力する出力手段と
を含むことを特徴とする請求項５に記載の保持装置。
【請求項１１】
前記演算手段は、所定の法において、読み出された前記第ｉ番目の分散情報から前記追加部分情報を減ずることにより、前記演算結果を得る
ことを特徴とする請求項１０に記載の保持装置。
【請求項１２】
第ｉ番目の保持装置において、
前記出力手段は、さらに、生成された追加部分情報を、第ｉ番目の保持装置に割り当てられた第ｉ番目の分散情報を保持する他の保持装置へ出力する
ことを特徴とする請求項１０に記載の保持装置。
【請求項１３】
前記受信手段は、さらに、前記新たなノードと隣接する第ｉ−１若しくは第ｉ＋１番目のノードに対応する第ｉ−１若しくは第ｉ＋１番目の保持装置から第２の追加部分情報を受信し、
前記演算手段は、さらに、前記生成手段により生成された前記追加部分情報及び前記受信手段により受信した第２の追加部分情報に演算を施して前記追加保持装置に割り当てられる分散情報を生成し、前記追加保持装置の追加によって第ｉ番目の保持装置に対応する第ｉ番目のノードと非隣接となる第ｉ−１若しくは第ｉ＋１番目のノードに対応する第ｉ−１若しくは第ｉ＋１番目の保持装置に割り当てられた第ｉ−１若しくは第ｉ＋１番目の分散情報の代わりに、生成した前記追加分散情報を前記追加保持装置に割り当てられた分散情報として前記記憶手段に書き込む
ことを特徴とする請求項１０に記載の保持装置。
【請求項１４】
前記演算手段は、所定の法において、前記追加部分情報及び前記第２の追加部分情報を加算することにより、前記追加分散情報を得る
ことを特徴とする請求項１３に記載の保持装置。
【請求項１５】
前記読出手段は、さらに、前記記憶手段から、当該第ｉ番目の保持装置に新たに割り当てられた新たな第ｉ番目の分散情報を読み出し、
前記演算手段は、さらに、読み出した前記新たな第ｉ番目の分散情報をｎ＋１個の部分分散情報に分解し、
出力手段は、さらに、分解した各部分分散情報を、所定の割り当て規則に基づいて、前記追加保持装置を含むｎ＋１台の保持装置のうち第ｉ番目の保持装置を除く他の保持装置それぞれへ出力し、
前記所定の割当規則は、前記他の保持装置それぞれが保持する複数の分散情報のうち、前記第ｉ番目の分散情報とは異なる番目の分散情報に対しては、１分散情報当り１部分分散情報という情報が重複しない形態で割り当て、前記第ｉ番目の分散情報に対しては、前記重複しない形態で割り当てられた全ての部分分散情報を割り当てる
ことを特徴とする請求項１０に記載の保持装置。
【請求項１６】
前記閉路において１個の新たなノードが前記ｉ番目の保持装置に対応するｉ番目のノードと隣接する第ｉ−１若しくは第ｉ＋１番目のノードにさらに隣接する状態で追加され、前記新たなノードに新たな追加保持装置を対応付けた場合、
第ｉ番目の保持装置は、さらに、
前記新たなノードと隣接する第ｉ−１若しくは第ｉ＋１番目のノードに対応する第ｉ−１若しくは第ｉ＋１番目の保持装置から、追加部分情報を受信する受信手段と、
前記記憶手段から前記追加部分情報の送信元である前記第ｉ−１若しくは第ｉ＋１番目の保持装置に割り当てられた前記第ｉ−１若しくは第ｉ＋１番目の分散情報を読み出す読出手段と、
受信された前記追加部分情報を用いて、読み出された前記第ｉ−１若しくは第ｉ＋１番目の分散情報に対して演算を施し、得られた演算結果を、読み出された前記第ｉ−１若しくは第ｉ＋１番目の分散情報に代えて、前記第ｉ−１若しくは第ｉ＋１番目の保持装置に割り当てられた新たな第ｉ−１若しくは第ｉ＋１番目の分散情報として、前記記憶手段へ書き込む演算手段と
を含むことを特徴とする請求項５に記載の保持装置。
【請求項１７】
前記受信手段は、さらに、前記新たなノードに隣接するノードに対応する隣接保持装置から、前記記憶手段にて記憶されている第ｉ−１から第ｉ＋１の分散情報それぞれに対して割り当てられるべき１個以上の部分分散情報を受信し、
前記演算手段は、さらに、受信した部分分散情報それぞれを用いて、前記記憶手段に記憶されている第ｉ−１から第ｉ＋１の分散情報に演算を施し、演算結果を新たな第ｉ−１から第ｉ＋１の分散情報として前記記憶手段に書き込み、
受信した前記１個以上の部分分散情報それぞれは、前記隣接保持装置に割り当てられた分散情報から分解されたものである
ことを特徴とする請求項１６に記載の保持装置。
【請求項１８】
前記保持装置は、コンピュータプログラムを記憶しているメモリとプロセッサとから構成されるコンピュータシステムであり、
前記取得手段は、前記プロセッサが前記コンピュータプログラムに従って動作することにより機能し、
前記記憶手段は、前記メモリである
ことを特徴とする請求項５に記載の保持装置。
【請求項１９】
１個の秘密情報から生成された第１から第ｎの分散情報をそれぞれ保持する第１から第ｎの既保持装置から構成されるグループに新たに追加される保持装置であって、
少なくとも２台の既保持装置からそれぞれ追加部分情報を受信する受信手段と、
受信した全ての前記追加部分情報を用いて、自身に割り当てられた分散情報を生成する生成手段と、
生成した前記分散情報を記憶する記憶手段と
を備えることを特徴とする保持装置。
【請求項２０】
前記生成手段は、所定の法において、受信した前記追加部分情報それぞれを加算することにより、前記分散情報を生成する
ことを特徴とする請求項１９に記載の保持装置。
【請求項２１】
前記受信手段は、さらに、前記追加部分情報の送信元である２台の既保持装置のうち少なくとも１の既保持装置から部分分散情報を受信し、
前記演算手段は、さらに、受信した部分分散情報を用いて、前記記憶手段に記憶されている分散情報に演算を施し、自身に割り当てられた新たな分散情報として、演算結果を前記記憶手段に書き込み、
受信した前記部分分散情報は、前記他の保持装置に割り当てられた分散情報から生成されたものである
ことを特徴とする請求項２０に記載の保持装置。
【請求項２２】
認証局装置であって、
第１から第ｎの保持装置に冗長に割り当てられて記憶している分散情報から冗長性のないｎ個の分散情報を受信する受信手段と、
受信したｎ個の前記分散情報を用いて、仮に秘密情報を復元する復元手段と、
復元した秘密情報の正当性を検証する検証手段と、
復元した秘密情報が正当でないと認められた場合に、各保持装置が保持する残りの分散情報と、復元に用いたｎ個の分散情報とを用いて、不正に改竄された分散情報を保持する保持装置を特定する特定手段と
を備えることを特徴とする認証局装置。
【請求項２３】
第１から第ｎの保持装置は、１個以上の閉路を形成するように配置されたｎ個のノードに対応付けられており、
第ｉ番目の保持装置（ｉは１以上ｎ以下の整数）は、当該第ｉ番目の保持装置に割り当てられた第ｉ番目の分散情報と、同一の閉路において当該第ｉ番目の保持装置に対応する第ｉ番目のノードの両側に隣接する第ｉ−１及び第ｉ＋１番目のノードそれぞれに対応付けられた第ｉ−１及び第ｉ＋１番目の保持装置に割り当てられた第ｉ−１及び第ｉ＋１番目の分散情報とを保持しており、
前記受信手段は、第１から第ｎの保持装置それぞれに割り当てられた第１から第ｎの分散情報を受信することにより、冗長性のないｎ個の分散情報を受信し、
前記特定手段は、
各保持装置が保持する残りの分散情報を取得し、第ｉ番目の保持装置に割り当てられた第ｉ番目の分散情報と、第ｉ−１及び第ｉ＋１番目の保持装置がそれぞれが保持する第ｉ番目の保持装置に割り当てられた第ｉ番目の分散情報それぞれとが、同一の情報として第ｉ番目のグループに属するように、各保持装置から取得した全ての分散情報を第１から第ｎのグループに分類する第１分類部と、
第１から第ｎ番目のグループそれぞれについて、内容が同一となる分散情報が同じサブグループに属するように、当該グループに含まれる複数の分散情報を分類する第２分類部と、
第１から第ｎのグループそれぞれから、１個のサブグループを選択し、選択したｎ個のサブグループそれぞれから１個の分散情報を選択し、ｎ個の分散情報から構成される組合せを生成する組合生成部と、
生成した組合せに含まれる全ての分散情報を用いて、秘密情報を生成することにより、分散情報の正当性を検証する検証部と、
正当であると認められる場合に、サブグループに含まれている分散情報を保持する保持装置を正当とみなして、当該保持装置を排除する排除部とを含み、
前記特定手段は、残りの保持装置の中から不正に改竄された分散情報を保持する保持装置を特定する
ことを特徴とする請求項２２に記載の認証局装置。
【請求項２４】
前記復元部は、さらに、不正に改竄された分散情報を保持すると特定された保持装置を除き、他の保持装置から受け取った複数の分散情報のうち冗長性のないｎ個の分散情報を用いて、秘密情報を復元する
ことを特徴とする請求項２３に記載の認証局装置。
【請求項２５】
秘密分散法に従って秘密情報を管理するシステムであって、
前記システムは、分散情報配布装置と、第１から第ｎの保持装置とから構成され、
前記分散情報配布装置は、
１つの秘密情報を第１から第ｎの分散情報に分解する分解手段と、
前記第１から第ｎの分散情報を第１から第ｎの保持装置に、１装置当り１情報という情報が重複しない形態で配布する第１配布手段と、
前記第１から第ｎの分散情報の各々を、前記第１配布手段が配布する第ｉ番目の分散情報（ｉは１以上ｎ以下の整数）とは異なる番目の分散情報を併せて保持するように、前記第１から第ｎの保持装置へ配布する第２配布手段とを備え、
第ｉ番目の保持装置は、
前記第ｉ番目の分散情報を記憶している記憶手段と、
１台以上の他の保持装置それぞれに割り当てられた前記第ｉ番目の分散情報とは異なる番目の分散情報を前記分散情報配布装置から取得する取得手段と、
取得した前記第ｉ番目の分散情報とは異なる番目の分散情報を前記記憶手段に書き込む書込手段と
を備えることを特徴とするシステム。
【請求項２６】
１個の秘密情報から分解したｎ個の分散情報をそれぞれｎ台の保持装置へ割り当てる配布装置であって、
前記保持装置の中から、特定の１台の保持装置に関連する１台以上の関連保持装置を選択する選択手段と、
特定の前記保持装置に割り当てられた分散情報を、全ての前記関連保持装置に割り当てる割当手段と
を備えることを特徴とする配布装置。
【請求項２７】
秘密分散法に従って秘密情報を管理するシステムにおいて用いられる分散情報配布装置で用いられる配布方法であって、
１つの秘密情報を第１から第ｎの分散情報に分解する分解ステップと、
前記第１から第ｎの分散情報をｎ台の保持装置に、１装置当り１情報という情報が重複しない形態で配布する第１配布ステップと、
前記第１から第ｎの分散情報の各々を、前記第１配布ステップが配布する第ｉ番目の分散情報（ｉは１以上ｎ以下の整数）とは異なる番目の分散情報を併せて保持するように、前記ｎ台の保持装置へ配布する第２配布ステップと
を含むことを特徴とする配布方法。
【請求項２８】
秘密分散法に従って秘密情報を管理するシステムにおいて用いられる分散情報配布装置で用いられる配布用のコンピュータプログラムを記録しているコンピュータ読み取り可能な記録媒体であって、
コンピュータに対して、
１つの秘密情報を第１から第ｎの分散情報に分解する分解ステップと、
前記第１から第ｎの分散情報をｎ台の保持装置に、１装置当り１情報という情報が重複しない形態で配布する第１配布ステップと、
前記第１から第ｎの分散情報の各々を、前記第１配布ステップが配布する第ｉ番目の分散情報（ｉは１以上ｎ以下の整数）とは異なる番目の分散情報を併せて保持するように、前記ｎ台の保持装置へ配布する第２配布ステップと
を実行させるためのコンピュータプログラムを記録していることを特徴とする記録媒体。
【請求項２９】
１個の秘密情報から分解した第１から第ｎの分散情報のうち第ｉ番目の分散情報（ｉは１以上ｎ以下の整数）が１装置当り１情報という情報が重複しない形態で割り当てられたｎ台の保持装置のうち第ｉ番目の保持装置で用いられる保持方法であって、
前記第ｉ番目の保持装置は、
記憶手段を備え、
前記保持方法は、
第ｉ番目の保持装置に割り当てられた前記第ｉ番目の分散情報を取得して、前記記憶手段へ書き込む第１書込ステップと、
１台以上の他の保持装置それぞれに割り当てられた第ｉ番目の分散情報とは異なる番目の分散情報を取得する取得ステップと、
取得した前記第ｉ番目の分散情報とは異なる番目の前記分散情報を前記記憶手段に書き込む第２書込ステップと
を含むことを特徴とする保持方法。
【請求項３０】
１個の秘密情報から分解した第１から第ｎの分散情報のうち第ｉ番目の分散情報（ｉは１以上ｎ以下の整数）が１装置当り１情報という情報が重複しない形態で割り当てられたｎ台の保持装置のうち第ｉ番目の保持装置で用いられる保持のためのコンピュータプログラムを記録しているコンピュータ読み取り可能な記録媒体であって、
前記第ｉ番目の保持装置は、
記憶手段を備え、
前記記録媒体は、コンピュータに対して、
第ｉ番目の保持装置に割り当てられた前記第ｉ番目の分散情報を取得して、前記記憶手段へ書き込む第１書込ステップと、
１台以上の他の保持装置それぞれに割り当てられた第ｉ番目の分散情報とは異なる番目の分散情報を取得する取得ステップと、
取得した前記第ｉ番目の分散情報とは異なる番目の前記分散情報を前記記憶手段に書き込む第２書込ステップと
を実行させるためのコンピュータプログラムを記録していることを特徴とする記録媒体。
【請求項３１】
認証局装置で用いられる方法であって、
第１から第ｎの保持装置に冗長に割り当てられて記憶している分散情報から冗長性のないｎ個の分散情報を受信する受信ステップと、
受信したｎ個の前記分散情報を用いて、仮に秘密情報を復元する復元ステップと、
復元した秘密情報の正当性を検証する検証ステップと、
復元した秘密情報が正当でないと認められた場合に、各保持装置が保持する残りの分散情報と、復元に用いたｎ個の分散情報とを用いて、不正に改竄された分散情報を保持する保持装置を特定する特定ステップと
を含むことを特徴とする方法。
【請求項３２】
認証局装置で用いられるコンピュータプログラムを記録しているコンピュータ読み取り可能な記録媒体であって、
コンピュータに対して、
第１から第ｎの保持装置に冗長に割り当てられて記憶している分散情報から冗長性のないｎ個の分散情報を受信する受信ステップと、
受信したｎ個の前記分散情報を用いて、仮に秘密情報を復元する復元ステップと、
復元した秘密情報の正当性を検証する検証ステップと、
復元した秘密情報が正当でないと認められた場合に、各保持装置が保持する残りの分散情報と、復元に用いたｎ個の分散情報とを用いて、不正に改竄された分散情報を保持する保持装置を特定する特定ステップと
を実行させるためのコンピュータプログラムを記録していることを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、秘密鍵などの重要な秘密情報から分散された複数の情報の配布、管理及びこれら情報を用いて元の秘密情報を回復する技術に関するものである。
【背景技術】
【０００２】
近年、ネットバンキングやオンラインショッピングのような、インターネットを利用した電子商取引が広く利用されている。この様な電子商取引において、取引内容の改ざん等を防止するために公開鍵基盤技術が利用されている。【０００３】
公開鍵基盤技術では、認証局と呼ばれる機関がオンラインショッピングサイトなどに対して公開鍵暗号で用いる公開鍵に対する証明書（公開鍵証明書）を発行し、サイト利用者がその発行された公開鍵証明書を利用することで、取引内容の改ざん等を防止している。具体的には、公開鍵証明書が信頼できる認証局から発行されたか検証することでサイトのなりすましを防止し、公開鍵を用いて暗号通信路を構築することで取引内容の改ざんを防止している。例えば、特許文献１によると、認証をする機器間で信頼関係木構造をたどることで、互いに信頼できることを確認する認証システムが開示されている。【０００４】
このような認証システムにおいては、公開鍵に対応する秘密鍵を、不正な第三者に漏洩されないように秘匿に管理する必要がある。なぜなら、秘密鍵が不正な第三者に知られると、不正な第三者が認証局になりすますことにより、秘密鍵が不正に利用される恐れがあるからである。【０００５】
そこで、秘密鍵の漏洩の防止策として、秘密分散法による秘密鍵の管理方法がある（非特許文献１）。【０００６】
秘密分散法では、秘密鍵などの重要な秘密情報Ｓを保管する場合、ｋ個の分散情報（ｓｈａｒｅ）に分散する。なお、ｋは２以上の整数である。このとき、ｋ個の分散情報を用いて、元の秘密情報Ｓが生成される。分散された分散情報それぞれは、異なる保持装置に割り当てられ、割り当てられた保持装置にて保持される。【０００７】
これにより、１つの分散情報が漏洩されても、秘密情報Ｓが知られることはないので、秘密情報Ｓを安全に管理することができる。
【特許文献１】特開平１０−２１５２４５号公報
【非特許文献１】岡本龍明、山本博資、「現代暗号」、産業図書（１９９７年）
【非特許文献２】ＩＴＵ−Ｔ  Ｒｅｃｏｍｍｅｎｄａｔｉｏｎ  Ｘ．５０９  （１９９７  Ｅ）：  Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙ  −  Ｏｐｅｎ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ  −  Ｔｈｅ  Ｄｉｒｅｃｔｏｒｙ：  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｆｒａｍｅｗｏｒｋ，１９９７
【非特許文献３】Ｉ．  Ｂｌａｋｅ，  Ｇ．  Ｓｅｒｏｕｓｓｉ  ａｎｄ  Ｎ．  Ｓｍａｒｔ，  “Ｅｌｌｉｐｔｉｃ  Ｃｕｒｖｅｓ  ｉｎ  Ｃｒｙｐｔｏｇｒａｐｈｙ”，  ＣＡＭＢＲＩＤＧＥ  ＵＮＩＶＥＲＳＩＴＹ  ＰＲＥＳＳ，  １９９９
【非特許文献４】Ｔａｔｓｕａｋｉ  Ｏｋａｍｏｔｏ，  “Ｇｅｎｅｒｉｃ  ｃｏｎｖｅｒｓｉｏｎｓ  ｆｏｒ  ｃｏｎｓｔｒｕｃｔｉｎｇ  ＩＮＤ−ＣＣＡ２  ｐｕｂｌｉｃ−ｋｅｙ  ｅｎｃｒｙｐｔｉｏｎ  ｉｎ  ｔｈｅ  ｒａｎｄｏｍ  ｏｒａｃｌｅ  ｍｏｄｅｌ”、［ｏｎｌｉｎｅ］、Ｔｈｅ  ５ｔｈ  Ｗｏｒｋｓｈｏｐ  ｏｎ  Ｅｌｌｉｐｔｉｃ  Ｃｕｒｖｅ  Ｃｒｙｐｔｏｇｒａｐｈｙ（ＥＣＣ  ２００１）、２００１年１０月３０日、［２００７年２月１５日検索］、インターネット＜ＵＲＬ：  ｈｔｔｐ：／／ｗｗｗ．ｃａｃｒ．ｍａｔｈ．ｕｗａｔｅｒｌｏｏ．ｃａ／ｃｏｎｆｅｒｅｎｃｅｓ／２００１／ｅｃｃ／ｏｋａｍｏｔｏ．ｐｐｔ＞
【非特許文献５】Ｄ．Ｂｏｎｅｈ、Ｍ．Ｆｒａｎｋｌｉｎ、”Ｅｆｆｉｃｉｅｎｔ  Ｇｅｎｅｒａｔｉｏｎ  ｏｆ  Ｓｈａｒｅｄ  ＲＳＡ  Ｋｅｙｓ”、Ｊｏｕｒｎａｌ  ｏｆ  ｔｈｅ  ＡＣＭ，Ｖｏｌ．４８，Ｎｏ．４，ｐｐ．７０２−７２２
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記にて示す秘密分散法では、１つの分散情報が、破壊されたり、改竄されたりすると、全ての分散情報を集めても元の秘密情報Ｓは生成できない。【０００９】
そこで、本発明は、上記の課題を解決するもので、分散情報が破壊されたり、改竄されたりした場合でも秘密情報を正しく生成することとのできる分散情報配布装置、保持装置、認証局装置及びシステムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記問題を解決するために、本発明は、秘密分散法に従って秘密情報を管理するシステムにおいて用いられる分散情報配布装置であって、１つの秘密情報を第１から第ｎの分散情報に分解する分解手段と、前記第１から第ｎの分散情報をｎ台の保持装置に、１装置当り１情報という情報が重複しない形態で配布する第１配布手段と、前記第１から第ｎの分散情報の各々を、前記第１配布手段が配布する第ｉ番目の分散情報（ｉは１以上ｎ以下の整数）とは異なる番目の分散情報を併せて保持するように、前記ｎ台の保持装置へ配布する第２配布手段とを備えることを特徴とする。
【発明の効果】
【００１１】
この構成によると、分散情報配布装置は、第１から第ｎの分散情報をそれぞれｎ台の保持装置へ割り当てることに加えて、全ての保持装置の各々に対して、当該保持装置に配布した第ｉ番目の分散情報と異なる番目の分散情報をも配布するので、各保持装置に他の保持装置に配布した分散情報をも保持させることができる。これにより、同一の分散情報の保持の冗長性を増すことができ、保持装置において分散情報が不正に改竄されたり、分散情報が破壊されたり、又は、分散情報の使用ができなくなった場合における対処の可能性を高めることができる。【００１２】
ここで、ｎ台の保持装置が、１個以上の閉路を形成するように仮想的に配置されたｎ個のノードに対応付けられており、前記第２配布手段は、前記第１から第ｎの分散情報の各々を、少なくとも、同一の閉路において、前記第１配布手段にて当該第ｉ番目の分散情報が配布された第ｉ番目の保持装置に対応する第ｉ番目のノードの両側に隣接する第ｉ−１及び第ｉ＋１番目のノードそれぞれに対応する第ｉ−１及び第ｉ＋１番目の保持装置に当該第ｉ番目の分散情報を配布する様態で、全保持装置に配布するとしてもよい。【００１３】
この構成によると、少なくとも、同一の閉路において、第ｉ番目の分散情報が配布された第ｉ番目の保持装置の両側に隣接するように関係付けられた第ｉ−１及び第ｉ＋１番目の保持装置に第ｉ番目の分散情報が配布さるので、第ｉ番目の保持装置において第ｉ番目の分散情報が不正に改竄された場合等において対処する際に、同一の第ｉ番目の分散情報を保持している他の保持装置の選択が確実に行える。【００１４】
ここで、所定の法において、第１から第ｎの分散情報を全て加算することにより前記秘密情報が得られるとしてもよい。【００１５】
この構成によると、全ての保持装置に割り当てられた第１から第ｎの分散情報の加算により、秘密情報を求めることができる。【００１６】
また、本発明は、１個の秘密情報から分解した第１から第ｎの分散情報のうち第ｉ番目の分散情報（ｉは１以上ｎ以下の整数）が１装置当り１情報という情報が重複しない形態で割り当てられたｎ台の保持装置のうち第ｉ番目の保持装置であって、記憶手段と、第ｉ番目の保持装置に割り当てられた前記第ｉ番目の分散情報を取得して、前記記憶手段へ書き込む第１書込手段と、１台以上の他の保持装置それぞれに割り当てられた第ｉ番目の分散情報とは異なる番目の分散情報を取得する取得手段と、取得した前記第ｉ番目の分散情報とは異なる番目の前記分散情報を前記記憶手段に書き込む第２書込手段とを備えることを特徴とする。【００１７】
この構成によると、第ｉ番目の保持装置は、当該第ｉ番目の保持装置に割り当てられた第ｉ番目の分散情報に加えて、さらに、１台以上の他の保持装置に割り当てられた第ｉ番目の分散情報とは異なる番目の分散情報を記憶するので、同一の分散情報の保持の冗長性が増し、保持装置において分散情報が不正に改竄された場合等における対処の可能性を高めることができる。【００１８】
ここで、第１から第ｎの保持装置は、１個以上の閉路を形成するように仮想的に配置されたｎ個のノードに対応付けられており、前記取得手段は、同一の閉路において、当該第ｉ番目の保持装置に対応する第ｉ番目のノードに隣接する第ｉ−１及び第ｉ＋１番目のノードそれぞれに対応した第ｉ−１番目及び第ｉ＋１番目の保持装置にそれぞれ割り当てられた第ｉ−１番目及び第ｉ＋１番目の分散情報を取得するとしてもよい。【００１９】
この構成によると、第ｉ番目の保持装置において第ｉ番目の分散情報が不正に改竄された場合等において対処する際に、同一の第ｉ番目の分散情報を保持している他の保持装置の特定が確実に行える。【００２０】
ここで、前記第ｉ−１若しくは第ｉ＋１番目の保持装置が、第１から第ｎの保持装置から構成されるグループから脱退する脱退対象保持装置とした場合、第ｉ番目の保持装置は、さらに、分散指示を受け取る受信手段と、前記分散指示を受け取ると、前記記憶手段から、前記脱退対象保持装置に割り当てられた前記第ｉ−１若しくは前記ｉ＋１番目の分散情報を読み出す読出手段と、読み出された前記第ｉ−１若しくは前記ｉ＋１番目の分散情報をｎ−１個の部分分散情報に分解する分散情報分解手段と、分解されたｎ−１個の部分分散情報を、第ｉ番目の保持装置及び前記脱退対象保持装置を除く他のｎ−２台の保持装置それぞれが保持する複数の分散情報に対して、同一番目の分散情報には同一の部分分散情報が割り当たる様態で、前記ｎ−２台の保持装置へ出力する出力手段とを含むとしてもよい。【００２１】
この構成においては、第１から第ｎの保持装置から構成されるグループから１台の脱退対象保持装置が脱退する場合を想定している。前記第ｉ番目の保持装置は、前記脱退対象保持装置に対応するノードに隣接するノードに対応付けられている。この構成によると、前記脱退対象保持装置に割り当てられた分散情報から、ｎ−１個の部分分散情報を生成し、生成された各部分分散情報を、当該保持装置及び前記脱退対象保持装置を除く他のｎ−２台の保持装置のうち、当該部分分散情報に対応する分散情報を保持する保持装置へ出力するので、各保持装置に対して前記脱退対象保持装置に割り当てられた分散情報から生成された各部分分散情報を保持させることになる。このため、前記脱退対象保持装置が脱退した後であっても、前記脱退対象保持装置を除く他の全ての保持装置が保持する分散情報及び部分分散情報により、元の秘密情報を復元することができる。【００２２】
ここで、所定の法において、前記分散情報分解手段により分解された全ての部分分散情報を加算することにより、読み出された前記第ｉ−１番目の分散情報が得られるとしてもよい。【００２３】
この構成によると、生成された全ての部分分散情報及び他の全ての分散情報の加算により、秘密情報を求めることができる。【００２４】
ここで、第ｉ−１から第ｉ＋１番目の保持装置以外の第ｐ番目の保持装置（ｐは１以上ｎ以下の整数）が、第１から第ｎ番目の保持装置から構成されるグループから脱退する脱退対象保持装置であるとした場合、第ｉ番目の保持装置は、さらに、前記脱退対象保持装置に対応するノードに隣接するノードに対応する保持装置から、第ｉ−１から第ｉ＋１番目の分散情報それぞれに割り当てられるべき部分分散情報を受信する受信手段と、  受信した各部分分散情報を、前記記憶手段が記憶している第ｉ−１から第ｉ＋１番目の分散情報のうち、当該部分分散情報に対応する分散情報に加算する演算手段とを含み、受信した前記部分分散情報それぞれは、前記脱退対象保持装置に割り当てられた第ｐ番目の分散情報から分解されたものであるとしてもよい。【００２５】
この構成においては、ｎ台の前記保持装置から構成されるグループから１台の脱退対象保持装置が脱退する場合を想定している。前記第ｉ番目の保持装置は、前記脱退対象保持装置に対応するノードに隣接するノードに対応する保持装置を除く他の保持装置である。この構成によると、この構成の第ｉ番目の保持装置は、前記隣接ノードに対応する保持装置から、１個以上の部分分散情報を受信する。前記部分分散情報は、前記脱退対象保持装置に割り当てられた第ｐ番目の分散情報から生成されたものである。この構成の第ｉ番目の保持装置は、受信した各部分分散情報を、前記記憶手段が記憶している第ｉ−１から第ｉ＋１番目の分散情報のうち、当該部分分散情報に対応する分散情報に加算するので、当該第ｉ番目の保持装置は、前記脱退対象保持装置に割り当てられた第ｐ番目の分散情報から生成された部分分散情報を保持することになる。このため、前記脱退対象保持装置が脱退した後であっても、前記脱退対象保持装置を除く他の全ての保持装置が保持する分散情報及び部分分散情報により、元の秘密情報を復元することができる。【００２６】
ここで、所定の法において、分解された全ての部分分散情報を加算することにより、前記第ｐ番目の分散情報が得られるとしてもよい。【００２７】
この構成によると、生成された全ての部分分散情報及び他の全ての分散情報の加算により、秘密情報を求めることができる。【００２８】
ここで、前記閉路において１個の新たなノードが前記ｉ番目の保持装置に対応するｉ番目のノードと隣接する状態で追加され、前記新たなノードに新たな追加保持装置を対応付けた場合、第ｉ番目の保持装置は、さらに、前記追加保持装置が追加される旨の通知を受け取る受信手段と、前記通知を受け取ると、前記記憶手段から、第ｉ番目の保持装置に割り当てられた第ｉ番目の分散情報を読み出す読出手段と、追加部分情報を生成する生成手段と、生成された前記追加部分情報を用いて、読み出された前記第ｉ番目の分散情報に対して演算を施し、得られた演算結果を新たな第ｉ番目の分散情報として、読み出された前記第ｉ番目の分散情報に代えて、前記記憶手段へ書き込む演算手段と、生成された前記追加部分情報を前記追加保持装置へ出力する出力手段と  を含むとしてもよい。【００２９】
この構成においては、第１から第ｎの保持装置から構成されるグループに１台の追加保持装置が追加される場合を想定している。当該第ｉ番目の保持装置は、前記追加保持装置に対応するノードに隣接するノードに対応付けられている。この構成によると、追加部分情報を生成し、生成された前記追加部分情報を前記追加保持装置へ出力することにより、追加保持装置に対して、追加部分情報を保持させることができるとともに、当該第ｉ番目の保持装置は、生成された前記追加部分情報を用いて、当該第ｉ番目の保持装置に割り当てられた分散情報に対して演算を施し、得られた演算結果を新たな第ｉ番目の分散情報として、読み出された前記第ｉ番目の分散情報に代えて、前記記憶手段へ書き込む。こうして、追加保持装置が追加された後であっても、前記追加保持装置を含む全ての保持装置が保持する分散情報により、元の秘密情報の復元を確保することができる。【００３０】
ここで、前記演算手段は、所定の法において、読み出された前記第ｉ番目の分散情報から前記追加部分情報を減ずることにより、前記演算結果を得るとしてもよい。【００３１】
この構成によると、生成された全ての追加分散情報及び他の全ての分散情報の加算により、秘密情報を求めることができる。【００３２】
ここで、第ｉ番目の保持装置において、前記出力手段は、さらに、生成された追加部分情報を、第ｉ番目の保持装置に割り当てられた第ｉ番目の分散情報を保持する他の保持装置へ出力するとしてもよい。【００３３】
この構成によると、生成された追加部分情報を、当該第ｉ番目の保持装置に割り当てられた第ｉ番目の分散情報を保持する他の保持装置へ出力するので、複数の保持装置において、同一の分散情報の保持するという冗長性を保つことができる。【００３４】
ここで、前記受信手段は、さらに、前記新たなノードと隣接する第ｉ−１若しくは第ｉ＋１番目のノードに対応する第ｉ−１若しくは第ｉ＋１番目の保持装置から第２の追加部分情報を受信し、前記演算手段は、さらに、前記生成手段により生成された前記追加部分情報及び前記受信手段により受信した第２の追加部分情報に演算を施して前記追加保持装置に割り当てられる分散情報を生成し、前記追加保持装置の追加によって第ｉ番目の保持装置に対応する第ｉ番目のノードと非隣接となる第ｉ−１若しくは第ｉ＋１番目のノードに対応する第ｉ−１若しくは第ｉ＋１番目の保持装置に割り当てられた第ｉ−１若しくは第ｉ＋１番目の分散情報の代わりに、生成した前記追加分散情報を前記追加保持装置に割り当てられた分散情報として前記記憶手段に書き込むとしてもよい。【００３５】
この構成によると、追加保持装置に割り当てられる分散情報と同一の分散情報を当該保持装置において保持することができる。【００３６】
ここで、前記演算手段は、所定の法において、前記追加部分情報及び前記第２の追加部分情報を加算することにより、前記追加分散情報を得るとしてもよい。【００３７】
この構成によると、生成された追加部分情報及び第２の追加部分情報並びに他の全ての分散情報の加算により、秘密情報を求めることができる。【００３８】
ここで、前記読出手段は、さらに、前記記憶手段から、当該第ｉ番目の保持装置に新たに割り当てられた新たな第ｉ番目の分散情報を読み出し、前記演算手段は、さらに、読み出した前記新たな第ｉ番目の分散情報をｎ＋１個の部分分散情報に分解し、出力手段は、さらに、分解した各部分分散情報を、所定の割り当て規則に基づいて、前記追加保持装置を含むｎ＋１台の保持装置のうち第ｉ番目の保持装置を除く他の保持装置それぞれへ出力し、前記所定の割当規則は、前記他の保持装置それぞれが保持する複数の分散情報のうち、前記第ｉ番目の分散情報とは異なる番目の分散情報に対しては、１分散情報当り１部分分散情報という情報が重複しない形態で割り当て、前記第ｉ番目の分散情報に対しては、前記重複しない形態で割り当てられた全ての部分分散情報を割り当てるとしてもよい。【００３９】
この構成では、新たに分散情報が割り当てられ、この新たな分散情報を記憶している場合を想定している。この構成によると、新たな第ｉ番目の分散情報からｎ＋１個の部分分散情報を生成し、生成した部分分散情報を、各保持装置へ出力するので、各保持装置に対して、部分分散情報により保持している分散情報をさらに更新させることができる。これにより、全ての保持装置が保持している分散情報により秘密情報を復元することができることを確保しつつ、各保持装置が保持している分散情報のランダム性をさらに高めることができる。【００４０】
ここで、前記閉路において１個の新たなノードが前記ｉ番目の保持装置に対応するｉ番目のノードと隣接する第ｉ−１若しくは第ｉ＋１番目のノードにさらに隣接する状態で追加され、前記新たなノードに新たな追加保持装置を対応付けた場合、第ｉ番目の保持装置は、さらに、前記新たなノードと隣接する第ｉ−１若しくは第ｉ＋１番目のノードに対応する第ｉ−１若しくは第ｉ＋１番目の保持装置から、追加部分情報を受信する受信手段と、前記記憶手段から前記追加部分情報の送信元である前記第ｉ−１若しくは第ｉ＋１番目の保持装置に割り当てられた前記第ｉ−１若しくは第ｉ＋１番目の分散情報を読み出す読出手段と、受信された前記追加部分情報を用いて、読み出された前記第ｉ−１若しくは第ｉ＋１番目の分散情報に対して演算を施し、得られた演算結果を、読み出された前記第ｉ−１若しくは第ｉ＋１番目の分散情報に代えて、前記第ｉ−１若しくは第ｉ＋１番目の保持装置に割り当てられた新たな第ｉ−１若しくは第ｉ＋１番目の分散情報として、前記記憶手段へ書き込む演算手段とを含むとしてもよい。【００４１】
この構成においては、第１から第ｎの保持装置から構成されるグループに１台の追加保持装置が追加される場合を想定している。当該第ｉ番目の保持装置に対応するノードに隣接するノードに、さらに、隣接するように新たなノードが追加され、当該新たなノードには前記追加保持装置が対応付けられている。第ｉ番目の保持装置は、第ｉ−１若しくは第ｉ＋１番目の保持装置から受信した追加部分情報を用いて、前記記憶手段から読み出した第ｉ−１若しくは第ｉ＋１番目の分散情報に対して演算を施し、得られた演算結果を、読み出した第ｉ−１若しくは第ｉ＋１番目の分散情報に代えて、前記第ｉ−１若しくは第ｉ＋１番目の保持装置に割り当てられた新たな第ｉ−１若しくは第ｉ＋１番目の分散情報として、前記記憶手段へ書き込むので、追加保持装置が追加された後であっても、前記追加保持装置を含む全ての保持装置が保持する分散情報により、元の秘密情報の復元を確保することができる。【００４２】
ここで、前記受信手段は、さらに、前記新たなノードに隣接するノードに対応する隣接保持装置から、前記記憶手段にて記憶されている第ｉ−１から第ｉ＋１の分散情報それぞれに対して割り当てられるべき１個以上の部分分散情報を受信し、前記演算手段は、さらに、受信した部分分散情報それぞれを用いて、前記記憶手段に記憶されている第ｉ−１から第ｉ＋１の分散情報に演算を施し、演算結果を新たな第ｉ−１から第ｉ＋１の分散情報として前記記憶手段に書き込み、受信した前記１個以上の部分分散情報それぞれは、前記隣接保持装置に割り当てられた分散情報から分解されたものであるとしてもよい。【００４３】
この構成では、新たに分散情報が割り当てられたときに、新たな分散情報からｎ＋１個の部分分散情報が生成され、生成された部分分散情報を受信する場合を想定している。当該ｉ番目の保持装置は、受信した部分分散情報を用いて、前記記憶手段に記憶されている第ｉ−１から第ｉ＋１番目の分散情報に演算を施し、演算結果を新たな第ｉ−１から第ｉ＋１番目の分散情報として前記記憶手段に書き込むので、保持している分散情報をさらに更新することができる。これにより、全ての保持装置が保持している分散情報により秘密情報を復元することができることを確保しつつ、保持装置が保持している分散情報のランダム性をさらに高めることができる。【００４４】
また、本発明は、１個の秘密情報から生成された第１から第ｎの分散情報をそれぞれ保持する第１から第ｎの既保持装置から構成されるグループに新たに追加される保持装置であって、少なくとも２台の既保持装置からそれぞれ追加部分情報を受信する受信手段と、受信した全ての前記追加部分情報を用いて、自身に割り当てられた分散情報を生成する生成手段と、生成した前記分散情報を記憶する記憶手段とを備えることを特徴とする。【００４５】
この構成においては、第１から第ｎの保持装置から構成されるグループに１台の追加保持装置が追加される場合を想定している。当該保持装置は、前記追加保持装置であり、当該追加保持装置に対応するノードが、少なくとも２台の既保持装置に対応するノードそれぞれに隣接するよう関係付けられている。この構成によると、少なくとも２台の既保持装置から受信した全ての前記追加部分情報を用いて、自身に割り当てられた分散情報を生成し、生成した前記分散情報を記憶するので、追加保持装置が追加された後であっても、前記追加保持装置を含む全ての保持装置が保持する分散情報により、元の秘密情報の復元を確保することができる。【００４６】
ここで、前記生成手段は、所定の法において、受信した前記追加部分情報それぞれを加算することにより、前記分散情報を生成するとしてもよい。【００４７】
この構成によると、生成された分散情報及び他の保持装置に割り当てられた分散情報の加算により、元の秘密情報の復元を確保することができる。【００４８】
ここで、前記受信手段は、さらに、前記追加部分情報の送信元である２台の既保持装置のうち少なくとも１の既保持装置から部分分散情報を受信し、前記演算手段は、さらに、受信した部分分散情報を用いて、前記記憶手段に記憶されている分散情報に演算を施し、自身に割り当てられた新たな分散情報として、演算結果を前記記憶手段に書き込み、受信した前記部分分散情報は、前記他の保持装置に割り当てられた分散情報から生成されたものであるとしてもよい。【００４９】
この構成では、新たに分散情報が割り当てられたときに、新たな分散情報からｎ＋１個の部分分散情報が生成され、生成された部分分散情報を受信する場合を想定している。当該保持装置は、受信した部分分散情報を用いて、前記記憶手段に記憶されている分散情報に演算を施し、演算結果を新たな分散情報として前記記憶手段に書き込むので、保持している分散情報をさらに更新することができる。これにより、全ての保持装置が保持している分散情報により秘密情報を復元することができることを確保しつつ、保持装置が保持している分散情報のランダム性をさらに高めることができる。【００５０】
また、本発明は、認証局装置であって、第１から第ｎの保持装置に冗長に割り当てられて記憶している分散情報から冗長性のないｎ個の分散情報を受信する受信手段と、受信したｎ個の前記分散情報を用いて、仮に秘密情報を復元する復元手段と、復元した秘密情報の正当性を検証する検証手段と、復元した秘密情報が正当でないと認められた場合に、各保持装置が保持する残りの分散情報と、復元に用いたｎ個の分散情報とを用いて、不正に改竄された分散情報を保持する保持装置を特定する特定手段と  を備えることを特徴とする。【００５１】
この構成によると、複数の保持装置の中から、不正に改竄された分散情報を保持する保持装置を特定することができる。【００５２】
ここで、第１から第ｎの保持装置は、１個以上の閉路を形成するように配置されたｎ個のノードに対応付けられており、第ｉ番目の保持装置（ｉは１以上ｎ以下の整数）は、当該第ｉ番目の保持装置に割り当てられた第ｉ番目の分散情報と、同一の閉路において当該第ｉ番目の保持装置に対応する第ｉ番目のノードの両側に隣接する第ｉ−１及び第ｉ＋１番目のノードそれぞれに対応付けられた第ｉ−１及び第ｉ＋１番目の保持装置に割り当てられた第ｉ−１及び第ｉ＋１番目の分散情報とを保持しており、前記受信手段は、第１から第ｎの保持装置それぞれに割り当てられた第１から第ｎの分散情報を受信することにより、冗長性のないｎ個の分散情報を受信し、前記特定手段は、各保持装置が保持する残りの分散情報を取得し、第ｉ番目の保持装置に割り当てられた第ｉ番目の分散情報と、第ｉ−１及び第ｉ＋１番目の保持装置がそれぞれが保持する第ｉ番目の保持装置に割り当てられた第ｉ番目の分散情報それぞれとが、同一の情報として第ｉ番目のグループに属するように、各保持装置から取得した全ての分散情報を第１から第ｎのグループに分類する第１分類部と、第１から第ｎ番目のグループそれぞれについて、内容が同一となる分散情報が同じサブグループに属するように、当該グループに含まれる複数の分散情報を分類する第２分類部と、第１から第ｎのグループそれぞれから、１個のサブグループを選択し、選択したｎ個のサブグループそれぞれから１個の分散情報を選択し、ｎ個の分散情報から構成される組合せを生成する組合生成部と、生成した組合せに含まれる全ての分散情報を用いて、秘密情報を生成することにより、分散情報の正当性を検証する検証部と、正当であると認められる場合に、サブグループに含まれている分散情報を保持する保持装置を正当とみなして、当該保持装置を排除する排除部とを含み、  前記特定手段は、残りの保持装置の中から不正に改竄された分散情報を保持する保持装置を特定するとしてもよい。【００５３】
この構成によると、正当な保持装置を排除し、その他の保持装置から不正に改竄された分散情報を保持する保持装置を特定することができる。【００５４】
ここで、前記復元部は、さらに、不正に改竄された分散情報を保持すると特定された保持装置を除き、他の保持装置から受け取った複数の分散情報のうち冗長性のないｎ個の分散情報を用いて、秘密情報を復元するとしてもよい。【００５５】
この構成によると、秘密情報を確実に復元することができる。【００５６】
また、本発明は、１個の秘密情報から分解したｎ個の分散情報をそれぞれｎ台の保持装置へ割り当てる配布装置であって、前記保持装置の中から、特定の１台の保持装置に関連する１台以上の関連保持装置を選択する選択手段と、特定の前記保持装置に割り当てられた分散情報を、全ての前記関連保持装置に割り当てる割当手段とを備えることを特徴とする。【００５７】
この構成によると、ｎ個の分散情報をそれぞれｎ台の保持装置へ割り当てることに加えて、複数の保持装置の中から選択された特定の保持装置に関連する関連保持装置に対して、特定の前記保持装置に割り当てられた分散情報を割り当てるので、複数の保持装置において、同一の分散情報を保持させることができる。これにより、同一の分散情報の保持の冗長性を増すことができ、保持装置において分散情報が不正に改竄されたり、分散情報が破壊されたり、又は、分散情報の使用ができなくなった場合における対処の可能性を高めることができる。
【図面の簡単な説明】
【００５８】
【図１】認証局システム１００の全体の構成を示すブロック図である。
【図２】分散情報保持装置１２１から１２６の関係及び各分散情報保持装置が保持する情報を示す図である。
【図３】鍵配布装置１３０の構成を示すブロック図である。
【図４】配布先リストＴ１００のデータ構造の一例を示す図である。
【図５】分散情報配布部３０５の構成を示すブロック図である。
【図６】装置情報リストＴ２００のデータ構造の一例を示す図である。
【図７】分散情報保持装置１２１から１２６の構成を示すブロック図である。
【図８】認証局装置１４０の構成を示すブロック図である。
【図９】初期設定処理の動作の流れを示す流れ図である。
【図１０】秘密鍵から複数の分散情報を作成する流れを示す流れ図である。
【図１１】分散情報、証明書及び配布先リストを配布する流れを示す流れ図である。
【図１２】鍵回復処理の動作の流れを示す流れ図である。
【図１３】算出した値の検証を行う動作の流れを示す流れ図である。
【図１４】不正装置を検出する動作の流れを示す流れ図である。図１５へ続く。
【図１５】不正装置を検出する動作の流れを示す流れ図である。図１４から続く。
【図１６】不正装置特定部４１６が各分散情報保持装置から収集した分散情報群を示す図である。
【図１７】収集した分散情報群からグループ化及びサブグループ化した結果を示す図である。
【図１８】脱退処理の動作の流れを示す流れ図である。
【図１９】部分情報の生成処理の動作の流れを示す流れ図である。
【図２０】部分情報の検証処理の動作の流れを示す流れ図である。
【図２１】脱退時の第１更新処理における分散情報保持装置１２２、１２３及び１２４の動作の流れを示す流れ図である。
【図２２】脱退時の第１更新処理における分散情報保持装置１２５及び１２６の動作の流れを示す流れ図である。
【図２３】脱退時の第２更新処理における分散情報保持装置１２２、１２６の動作の流れを示す流れ図である。
【図２４】脱退処理後における分散情報保持装置１２２から１２６それぞれが保持する３つの分散情報を示す図である。
【図２５】追加処理の動作の流れを示す流れ図である。
【図２６】配布処理の動作の流れを示す流れ図である。
【図２７】分散情報の動作の流れを示す流れ図である。
【図２８】他装置分散情報の格納処理の動作の流れを示す流れ図である。
【図２９】追加時の第１分割処理の動作の流れを示す流れ図である。
【図３０】追加時の第１更新処理における分散情報保持装置１２１及び１２２の動作の流れを示す流れ図である。
【図３１】追加時の第１更新処理における分散情報保持装置１２３、１２４及び１２５の動作の流れを示す流れ図である。
【図３２】追加時の第１更新処理における分散情報保持装置１２６及び１２７の動作の流れを示す流れ図である。
【図３３】追加時の第２分割処理の動作の流れを示す流れ図である。
【図３４】追加時の第２更新処理における分散情報保持装置１２１、１２２及び１２３の動作の流れを示す流れ図である。
【図３５】追加時の第２更新処理における分散情報保持装置１２４及び１２５の動作の流れを示す流れ図である。
【図３６】追加時の第２更新処理における分散情報保持装置１２６及び１２７の動作の流れを示す流れ図である。
【図３７】追加処理後における分散情報保持装置１２１から１２７それぞれが保持する３つの分散情報を示す図である。
【図３８】部分署名の配布の例を示す図である。
【図３９】部分署名を用いて不正分散情報保持装置を特定する例を示す図である。
【図４０】本発明の他の適用例を示す図である。
【図４１】分散情報を配布する例を示す図である。
【符号の説明】
【００５９】
１００    認証局システム
１２１〜１２７    分散情報保持装置
１３０    鍵配布装置
１４０    認証局装置
２５０＿ｊ（ｊ＝1〜７）    制御部
２５１＿ｊ（ｊ＝1〜７）    分散情報格納部
２５２＿ｊ（ｊ＝1〜７）    他装置分散情報格納部
２５３＿ｊ（ｊ＝1〜７）    認証子格納部
２５４＿ｊ（ｊ＝1〜７）    リスト格納部
２５５＿ｊ（ｊ＝1〜７）    ＩＤ格納部
２５６＿ｊ（ｊ＝1〜７）    送信部
２５７＿ｊ（ｊ＝1〜７）    受信部
２６０＿ｊ（ｊ＝1〜７）    分散情報更新部
２６１＿ｊ（ｊ＝1〜７）    分散情報分割部
２６２＿ｊ（ｊ＝1〜７）    分散情報検証部
２６３＿ｊ（ｊ＝1〜７）    他装置分散情報検証部
２６４＿ｊ（ｊ＝1〜７）    部分情報検証部
２６５＿ｊ（ｊ＝1〜７）    変形情報生成部
２６６＿ｊ（ｊ＝1〜７）    リスト更新部
２６７＿ｊ（ｊ＝1〜７）    取得部
３０１    鍵ペア生成部
３０２    証明書生成部
３０３    証明書配布部
３０４    秘密鍵分散部
３０５    分散情報配布部
３０６    鍵消去部
３０７    送信部
３５１    装置情報記憶部
３５２    分散情報選択部
３５３    装置選択部
３５４    出力部
３５５    繰返制御部
４０１    秘密鍵格納部
４０２    リスト格納部
４０３    制御部
４０４    第１送受信部
４０５    第２送受信部
４１２    端末証明書発行部
４１３    認証局証明書格納部
４１４    秘密鍵生成部
４１５    秘密鍵検証部
４１６    不正装置特定部
４１７    解析部
【発明を実施するための最良の形態】
【００６０】
１．実施の形態１
１．１  本実施の形態で使用する暗号について
本実施の形態では、公開鍵暗号方式としてＲＳＡ暗号および署名方式を使用する。以下では、ＲＳＡ暗号および署名方式についてそれぞれ説明する。以下の説明において、Ｘ＾ＹはＸのＹ乗、Ｘ  ｍｏｄ  ＹはＸをＹで割ったときの余りを示している。【００６１】
１．１．１  ＲＳＡ暗号方式
（１）鍵の生成
ＲＳＡ暗号方式では、次に示すようにして公開鍵及び秘密鍵を計算する。【００６２】
（手順１−１）ランダムに大きい素数ｐ，ｑを選択し、その積ｎ＝ｐ×ｑを計算する。ｐ，ｑの大きさは例えば、５１２ビットであり、ｎの大きさは例えば、１０２４ビットである。【００６３】
（手順１−２）（ｐ−１）及び（ｑ−１）の最小公倍数Ｌ＝ＬＣＭ（ｐ−１，ｑ−１）を計算する。【００６４】
（手順１−３）Ｌと互いに素（Ｌとの最大公約数が１）でＬより小さい自然数ｅをランダムに選ぶ。【００６５】
１≦ｅ≦Ｌ−１、ＧＣＤ（ｅ，Ｌ）＝１
ここで、ＧＣＤ（ｅ，Ｌ）は、ｅとＬの最大公約数を示している。また、自然数ｅをランダムに選ぶ方法としては乱数生成方法を用いる。乱数生成方法については、非特許文献１の４５〜４９ページに詳しく説明されているので、ここでの説明は省略する。【００６６】
（手順１−４）次式を満たすｄを計算する。【００６７】
式  ｅ×ｄ＝１    ｍｏｄ    Ｌ
ＧＣＤ（ｅ，Ｌ）＝１の場合、このようなｄは必ず存在することが数学的に知られている。このようにして、得られた整数ｅ及び整数ｎが、公開鍵である。また、整数ｄが、秘密鍵である。【００６８】
（２）暗号文の生成
公開鍵である整数ｅ及び整数ｎを用いて、平文ｍに以下の暗号演算を施して暗号文ｃを計算する。ただし、平文ｍは整数ｎよりも小さいものとする。【００６９】
ｃ＝ｍ＾ｅ      ｍｏｄ    ｎ
（３）復号文の生成
秘密鍵である整数ｄを用いて、暗号文ｃに復号演算を施して復号文ｍ'を計算する。【００７０】
ｍ'＝ｃ＾ｄ    ｍｏｄ  ｎ
なお、
ｍ'＝ｃ＾ｄ    ｍｏｄ  ｎ
＝（ｍ＾ｅ  ）＾ｄ    ｍｏｄ  ｎ
＝ｍ＾（ｅ×ｄ    ｍｏｄ  Ｌ）    ｍｏｄ  ｎ
＝ｍ＾１    ｍｏｄ  ｎ
＝ｍ    ｍｏｄ  ｎ
であり、ｍ＜ｎであるので、ｍ  ｍｏｄ  ｎ＝ｍであることから、復号文ｍ'は、平文ｍと一致する。【００７１】
なお、ＲＳＡ暗号については、非特許文献１の１１０〜１１３ページに詳しく説明されているので、ここでの説明は省略する。【００７２】
１．１．２  ＲＳＡ署名方式
（１）鍵の生成
ＲＳＡ暗号方式では、次に示すようにして公開鍵及び秘密鍵を計算する。【００７３】
（手順２−１）ランダムに大きい素数ｐ，ｑを選択し、その積ｎ＝ｐ×ｑを計算する。ｐ，ｑの大きさは例えば、５１２ビットであり、ｎの大きさは例えば、１０２４ビットである。【００７４】
（手順２−２）（ｐ−１）及び（ｑ−１）の最小公倍数Ｌ＝ＬＣＭ（ｐ−１，ｑ−１）を計算する。【００７５】
（手順２−３）Ｌと互いに素（Ｌとの最大公約数が１）でＬより小さい自然数ｅをランダムに選ぶ。【００７６】
１≦ｅ≦Ｌ−１、ＧＣＤ（ｅ，Ｌ）＝１
ここで、ＧＣＤ（ｅ，Ｌ）は、ｅとＬの最大公約数を示している。【００７７】
（手順２−４）次式を満たすｄを計算する。【００７８】
式  ｅ×ｄ＝１    ｍｏｄ    Ｌ
ＧＣＤ（ｅ，Ｌ）＝１の場合、このようなｄは必ず存在することが数学的に知られている。このようにして、得られた整数ｅ及び整数ｎが、公開鍵である。また、整数ｄが、秘密鍵である。【００７９】
（２）署名生成
メッセージデータＤに対して、以下のように署名データＳを計算する。【００８０】
まず、ハッシュ関数Ｈａｓｈを用いて、メッセージデータＤのハッシュ値ｈ＝Ｈａｓｈ（Ｄ）を計算する。【００８１】
次に、秘密鍵である整数ｄを用いて、ハッシュ値ｈをｄ乗して、署名データＳを計算する。【００８２】
Ｓ＝ｈ＾ｄ  ｍｏｄ  ｎ
すなわち、ハッシュ値ｈを平文として、ＲＳＡ暗号によって暗号化した値が署名データＳである。【００８３】
（３）署名検証
署名データＳがメッセージデータＤの正しい署名であるかを、以下のように検証する。【００８４】
Ｈａｓｈ（Ｄ）とＳ＾ｅ  ｍｏｄ  ｎ（署名データＳをＲＳＡ暗号によって復号した値に相当する）が等しいか否かを確認する。等しい場合は、署名データＳが正しい署名であるとして、受理する。等しくない場合は、署名データＳが正しくない署名であるとして、拒否する。【００８５】
なお、ＲＳＡ署名については、非特許文献１の１７５〜１７６ページに詳しく説明されているので、ここでの説明は省略する。【００８６】
１．２  認証局システム１００の概要
図１は、本発明の実施の形態１における認証局システム１００の全体構成図である。【００８７】
認証局システム１００は、分散情報保持装置１２１〜１２６と、鍵配布装置１３０と、認証局装置１４０と、端末Ａ、Ｂ、Ｃとから構成されている。【００８８】
１．２．１  各装置の概要
認証局装置１４０は秘密鍵１４１を用いて証明書を発行する発行装置である。【００８９】
認証局装置１４０は、秘密鍵１４１が漏洩したときに、新しい秘密鍵“ｄ”を回復し、回復した新しい秘密鍵“ｄ”が正当な鍵であるか否かを検証する。【００９０】
分散情報保持装置１２１〜１２６は、認証局装置１４０が新しい秘密鍵“ｄ”を回復するための分散情報を有している。【００９１】
鍵配布装置１３０は新しい秘密鍵“ｄ”と公開鍵のペアを作成する。鍵配布装置１３０は、生成した秘密鍵“ｄ”を用いて、秘密鍵“ｄ”の回復に必要な複数の情報（以下、分散情報（ｓｈａｒｅ））と、秘密鍵“ｄ”に対する公開鍵の証明書とを生成する。【００９２】
具体的には、鍵配布装置１３０は、「新しい秘密鍵」をＲＳＡ暗号の秘密鍵ｄとして、秘密分散法を用いてｋ個の分散情報（ｄ＿１、ｄ＿２、・・・、ｄ＿ｋ）に分割する。ここで、Ｘ＿Ｙは、Ｘに下付きインデックスＹが付けられていることを示す。【００９３】
この時、秘密鍵ｄとｋ個の分散情報（ｄ＿１、ｄ＿２、・・・、ｄ＿ｋ）は、
ｄ＝ｄ＿１＋ｄ＿２＋・・・＋ｄ＿ｋ  ｍｏｄ  Ｌ
の関係にある。【００９４】
また、鍵配布装置１３０は、「新しい秘密鍵」を生成した後に正しく回復できているかを検証するための検証用の証明書として、ＲＳＡ暗号の公開鍵ｅとｎに対する証明書に「新しい秘密鍵」を用いて生成した署名を付加した自己証明書を生成する。【００９５】
鍵配布装置１３０は、分散情報保持装置１２１〜１２６に対して、分散情報保持装置が保持すべき複数の分散情報と、証明書とを配布する。【００９６】
端末Ａ、端末Ｂ、端末Ｃは認証局装置１４０から秘密鍵に対する公開鍵の証明書（公開鍵証明書）を発行してもらい、他の端末との暗号通信などにその公開鍵証明書を利用する。【００９７】
なお、証明書については非特許文献２に詳しく説明されているので、ここでの説明は省略する。【００９８】
認証局システム１００が行う処理は、６つある。【００９９】
１つ目の処理としては、新しい鍵の回復を行うのに必要となる分散情報を各分散情報保持装置へ配布するために、「新しい秘密鍵」の生成と秘密分散法による「新しい秘密鍵」からの分散情報の生成などの初期設計を行う処理（初期設計処理）である。【０１００】
２つ目の処理としては、各分散情報保持装置が、認証局装置１４０が使用する秘密鍵が漏洩していないかの検知を行う処理（検知処理）である。【０１０１】
３つ目の処理としては、秘密鍵の漏洩が検知されたときに、漏洩原因の解析及び回復方法の判断を行い、秘密鍵を更新すると判断された場合には、各分散情報保持装置から分散情報を収集し、「新しい秘密鍵」を生成し、回復された秘密鍵が正しい値かどうかを検証し、認証局装置１４０の秘密鍵を回復する処理（解析・回復処理）である。【０１０２】
４つ目の処理としては、次の回復のための分散情報を生成し、各分散情報保持装置へ配布する処理（次ラウンド準備処理）がある。【０１０３】
５つ目の処理としては、分散情報を保持している分散情報保持装置が脱退するときに、他の分散情報保持装置で保持している分散情報の更新する処理（分散情報保持装置の脱退処理）がある。【０１０４】
６つ目の処理として、分散情報保持装置を新たに追加するときに分散情報を更新する処理（分散情報保持装置の追加処理）がある。【０１０５】
これらの処理については、後述する。【０１０６】
１．２．２  各分散情報保持装置が保持する情報について
ここでは、分散情報保持装置１２１〜１２６のそれぞれが保持する分散情報及び証明書について説明する。【０１０７】
本実施の形態では、複数の分散情報保持装置で共通の分散情報を持つことで、分散情報に冗長性を持たせる構成とする。この構成にすることで、不正な動作を行う分散情報保持装置が存在した場合でも、それ以外の分散情報保持装置で持っている分散情報を使用し、「新しい秘密鍵」を正しく回復できる。【０１０８】
図２は、本実施の形態における分散情報に冗長性を持たせた場合の分散情報保持装置１２１〜１２６の構成図である。【０１０９】
分散情報保持装置１２１〜１２６は、閉路（リング状）を形成するように関連付けがなされている。具体的には、閉路が形成されたグラフ上にｋ個のノード（ここでは、６個のノード）が仮想的に配置されており、分散情報保持装置１２１〜１２６のそれぞれは、６個のノードに対応付けられている。つまり、分散情報保持装置１２１〜１２６のそれぞれは、１つの閉路を形成するように仮想的に配置されたｋ（＝６）個のノードに対応付けられている。言い換えると、分散情報保持装置１２１〜１２６のそれぞれは、閉路を形成するように接続されたｎ個のノードに対応付けられている。なお、閉路は、グラフ理論の分野では公知であるので、ここでの説明は省略する。【０１１０】
ここで、上記の秘密鍵ｄを６個（ｋ＝６）に分散（分解）し、
ｄ＝ｄ＿１＋ｄ＿２＋ｄ＿３＋ｄ＿４＋ｄ＿５＋ｄ＿６  ｍｏｄ  Ｌ
とする。【０１１１】
図２において、分散情報保持装置１２１〜１２６のそれぞれは、３つの分散情報と１つの証明書を保持する構成となっている。３つの分散情報の内の１つはその分散情報保持装置が所有する分散情報であり、他の２つの分散情報は他の分散情報保持装置が所有する他装置分散情報（第１及び第２他装置分散情報）である。【０１１２】
例えば、分散情報保持装置１２１〜１２６のそれぞれには、分散情報としてｄ＿１〜ｄ＿６が１対１に割り当てられている。【０１１３】
分散情報保持装置１２１は、分散情報保持装置１２２が所有する分散情報“ｄ＿２”を第１他装置分散情報“ｄ１＿２”２１２＿１として、分散情報保持装置１２６が所有する分散情報“ｄ＿６”を第２他装置分散情報“ｄ２＿６”２１６＿１として保持している。【０１１４】
また、分散情報保持装置１２２は、分散情報保持装置１２３が所有する分散情報“ｄ＿３”を第１他装置分散情報“ｄ１＿３”２１３＿２として、分散情報保持装置１２１が所有する分散情報“ｄ＿１”を第２他装置分散情報“ｄ２＿１”２１１＿２として保持している。【０１１５】
つまり、本実施の形態では、分散情報保持装置が分散情報として値“ｄ＿ｉ”を有していると、第１他装置分散情報として値“ｄ１＿（ｉ＋１）（＝ｄ＿（ｉ＋１））”を、第２他装置分散情報として値“ｄ２＿（ｉ−１）（＝ｄ＿（ｉ−１））”を有している。なお、ｉ＋１＝７の場合は、ｄ１＿１（＝ｄ＿１）とし、ｉ−１＝０の場合は、ｄ２＿６（＝ｄ＿６）とする。【０１１６】
ここで、他装置分散情報ＸＸＸ＿Ｙは、分散情報ＸＸＸと同じと識別される分散情報で、分散情報保持装置１２Ｙが保持していることを表す。この様に、複数の分散情報保持装置で共通の分散情報を持つことで分散情報に対して冗長性を持たせた構成としている。また、以降の説明において、第１及び第２他装置分散情報を特に区別する必要がない場合には、単に、他装置分散情報と言い、各他装置分散情報と分散情報とを特に区別する必要がない場合には、単に、分散情報と言う。【０１１７】
分散情報保持装置１２１〜１２６のそれぞれは、認証子として、すべての分散情報保持装置が分散情報から生成される「新しい秘密鍵“ｄ”」に対応した公開鍵を「新しい秘密鍵“ｄ”」を用いて署名した証明書２２１〜２２６を保持する。【０１１８】
分散情報保持装置が保持する分散情報に冗長性を持たせることで、認証局装置１４０の回復時に不正な秘密鍵が生成された場合に、それぞれの分散情報保持装置で共通に持っている分散情報を利用し、どの分散情報保持装置から受信した分散情報が不正な値であったかを調べ、不正な値を送信した分散情報保持装置の分散情報を除いた正しい分散情報で正しい「新しい秘密鍵」を生成する事が出来る。さらに、分散情報保持装置間で分散情報等のデータを送受信する場合に、同じと識別される分散情報を保持している分散情報保持装置が送信されたデータが正しいデータであるかを検証することで、不正な動作を行う分散情報保持装置を検出することも出来る。【０１１９】
なお、分散情報保持装置が保持する他装置分散情報として、分散情報保持装置を図２のようにサークル状に配置したときの両隣の分散情報保持装置が所有する分散情報を他装置分散情報として保持するとしたが、これに限定するものではなく、それぞれの分散情報を複数の分散情報保持装置で保持するように構成するのであればよく、例えば１つ右隣と２つ右隣の分散情報保持装置（分散情報保持装置１２１の場合では分散情報保持装置１２２と１２３）が所有する分散情報（分散情報２１２と２１３）を持つような構成にしてもよい。【０１２０】
１．２．３  分散情報保持装置の脱退・追加について
ここでは、分散情報保持装置の脱退・追加の処理時の概要を説明する。【０１２１】
鍵配布装置１３０は、秘密分散法で「新しい秘密鍵」から分散情報を生成する際に、生成される分散情報をすべて足すと「新しい秘密鍵」が復元できるように６個の分散情報を生成する。【０１２２】
このように、分散情報保持装置の脱退・追加の処理時では、分散情報の総和が常に一定（秘密鍵“ｄ”）となるように分散情報を操作し、新たな分散情報を生成する。これにより、鍵配布装置１３０が「新しい秘密鍵」を復元或いは再生成し、新たな分散情報を生成し、再配布することなく、分散情報保持装置の脱退処理時に分散情報の数を減らしたり、追加処理時に分散情報の数を増やしたりすることが可能となる。【０１２３】
上述したような生成方法を用いた場合の、分散情報保持装置の脱退・追加の処理は以下のようになる。【０１２４】
分散情報保持装置１２１が脱退する場合には、まず、脱退する分散情報保持装置１２１が所有している分散情報“ｄ＿１”２１１と同一となるべき他装置分散情報から５個の部分情報を生成する。この時も、生成された５個の部分情報をすべて足すと分散情報“ｄ＿１”２１１になるように各部分情報は生成される。そして、それぞれの部分情報を他の分散情報保持装置１２２〜１２６へ送信する。【０１２５】
他の分散情報保持装置それぞれでは、その送信された部分情報と自身が所有する分散情報とを整数として足し算する。こうすることで、分散情報保持装置１２１が脱退後も、それぞれの分散情報保持装置が保持する分散情報の総和を一定とすることが可能となるため、「新しい秘密鍵」を復元し分散情報を再生成することなく、分散情報保持装置が脱退させることが可能となる。【０１２６】
また、新たな分散情報保持装置を追加する場合には、追加する分散情報保持装置が所有する分散情報を生成するために、例えば追加する分散情報保持装置以外の２つの分散情報保持装置（分散情報保持装置１２１と分散情報保持装置１２６）それぞれから変形情報ａ、ｂを入手し、その変形情報ａ、ｂを整数として足し算することで、追加する分散情報保持装置１２７の分散情報（ａ＋ｂ）を生成する。分散情報保持装置１２１と分散情報保持装置１２６では、追加する分散情報保持装置１２７に送信した変形情報の値をそれぞれが所有する分散情報から引き、新たな分散情報“ｄ＿１−ａ”、“ｄ＿６−ｂ”を生成する。こうすることで、分散情報保持装置１２７を追加した後も、それぞれの分散情報保持装置が保持する分散情報の総和を一定とすることが可能となるため、「新しい秘密鍵」を復元し分散情報を再生成することなく、分散情報保持装置を追加することが可能となる。分散情報保持装置の脱退・追加時のより詳細な動作は、後述する。【０１２７】
なお、秘密鍵ｄを６個に分割し、各分散情報保持装置へ配布したが、これに限定するものではなく、脱退処理を行うには４個以上、追加処理を行うには３個以上の分散情報に分割すればよい。また、秘密分散法により各分散情報を生成する時に、分散情報の総和により「新しい秘密鍵」が復元できるように各分散情報を生成したが、これに限定するものではなく、非特許文献１の２０９から２１９ページに記載されている従来の秘密分散法が使用できる。【０１２８】
１．３  各装置の構成
ここでは、分散情報保持装置１２１〜１２６と、鍵配布装置１３０と、認証局装置１４０の構成について説明する。【０１２９】
１．３．１  鍵配布装置１３０の構成
鍵配布装置１３０は、図３に示すように、鍵ペア生成部３０１、証明書生成部３０２、証明書配布部３０３、秘密鍵分散部３０４、分散情報配布部３０５、鍵消去部３０６及び送信部３０７から構成されている。【０１３０】
鍵配布装置１３０は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記ＲＡＭまたはハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが前記コンピュータプログラムにしたがって動作することにより、鍵配布装置１３０は、その機能を達成する。【０１３１】
（１）鍵ペア生成部３０１
鍵ペア生成部３０１は、ＲＳＡ暗号方式で用いられる公開鍵ＰＫと秘密鍵ｄのペアを生成する。【０１３２】
鍵ペア生成部３０１は、生成した公開鍵ＰＫを証明書生成部３０２へ出力する。【０１３３】
また、鍵ペア生成部３０１は、生成した秘密鍵ｄを証明書生成部３０２及び秘密鍵分散部３０４へ出力する。【０１３４】
（２）証明書生成部３０２
証明書生成部３０２は、鍵ペア生成部３０１から公開鍵ＰＫ及び秘密鍵ｄを受け取ると、受け取った公開鍵ＰＫの証明書を生成する。証明書に付けられる署名は、公開鍵に対応する秘密鍵を用いて作成する。【０１３５】
証明書生成部３０２は、生成した証明書を証明書配布部３０３へ出力する。【０１３６】
なお、生成された証明書には、公開鍵ＰＫと、秘密鍵ｄを用いて公開鍵ＰＫを署名した署名データＳ（＝Ｓｉｇ（ｄ、ＰＫ））が含まれている。【０１３７】
なお、公開鍵の証明書の生成については、公知の技術であるので、ここでの説明は省略する。【０１３８】
（３）証明書配布部３０３
証明書配布部３０３は、証明書生成部３０２から証明書を受け取ると、受け取った証明書を、送信部３０７を介して分散情報保持装置１２１〜１２６へ配布する。【０１３９】
（４）秘密鍵分散部３０４
秘密鍵分散部３０４は、ｋ個の分散情報ｄ＿１、ｄ＿２、ｄ＿３、・・・、ｄ＿ｋを格納するための記憶領域を有している。【０１４０】
秘密鍵分散部３０４は、鍵ペア生成部３０１から秘密鍵ｄを受け取ると、受け取った秘密鍵ｄから秘密分散法を用いてｋ個の分散情報ｄ＿１、ｄ＿２、ｄ＿３、・・・、ｄ＿ｋを生成する（ここでは、ｋ＝６）。言い換えると、秘密鍵分散部３０４は、秘密鍵ｄを、秘密分散法を用いてｋ個の分散情報ｄ＿１、ｄ＿２、ｄ＿３、・・・、ｄ＿ｋに分散（分解する）。ここで、秘密鍵分散部３０４は、全ての分散情報を加算すると秘密鍵ｄになるように分散する。なお、以下、ｋ＝６として説明する。【０１４１】
具体的には、秘密鍵分散部３０４は、乱数生成器を用いて、（ｋ−１）個（＝５個）の乱数を生成することにより、分散情報ｄ＿１、ｄ＿２、ｄ＿３、ｄ＿４、ｄ＿５を生成する。次に、秘密鍵分散部３０４は、
ｄ＿ｋ  ＝  ｄ  −  （ｄ＿１＋ｄ＿２＋ｄ＿３＋ｄ＿４＋ｄ＿５）
により、ｄ＿ｋ（＝ｄ＿６）を算出する。【０１４２】
秘密鍵分散部３０４は、生成した分散情報ｄ＿１、ｄ＿２、ｄ＿３、ｄ＿４、ｄ＿５、ｄ＿６を記憶領域に一時的に格納する。【０１４３】
（５）分散情報配布部３０５
分散情報配布部３０５は、秘密鍵分散部３０４にて生成された分散情報ｄ＿１、ｄ＿２、ｄ＿３、ｄ＿４、ｄ＿５、ｄ＿６を分散情報保持装置１２１〜１２６へ配布する。配布する分散情報は、それぞれの分散情報保持装置が所有する分散情報と、他の分散情報保持装置が所有している共通に持つ分散情報を配布する。さらに、どの分散情報をどの分散情報保持装置へ配布したかのリストが記入されている配布先リストＴ１００を作成し、各分散情報保持装置と認証局装置１４０へ配布する。【０１４４】
配布先リストＴ１００は、図４に示すように、自装置ＩＤと第１及び第他装置ＩＤとからなる組を複数格納するための領域を有している。自装置ＩＤは、分散情報を所有する分散情報保持装置を識別する装置ＩＤである。第１他装置ＩＤは、自装置ＩＤにて識別される分散情報保持装置が所有する第１他装置分散情報と同一の分散情報を所有する分散情報の装置ＩＤである。第２他装置ＩＤは、自装置ＩＤにて識別される分散情報保持装置が所有する第２他装置分散情報と同一の分散情報を所有する分散情報の装置ＩＤである。【０１４５】
分散情報配布部３０５は、図５に示すように、装置情報記憶部３５１、分散情報選択部３５２、装置選択部３５３、出力部３５４及び繰返制御部３５５から構成されている。【０１４６】
（装置情報記憶部３５１）
装置情報記憶部３５１は、図６にて示すように、装置情報リストＴ２００を有している。【０１４７】
装置情報リストＴ２００には、１つの番号に対して、１つの分散情報保持装置のＩＤが対応付けられている。例えば、番号“１”には、分散情報保持装置１２１の識別子“ＩＤ＿１”が対応付けられている。【０１４８】
なお、以降の説明において、装置情報リストＴ２００における番号“ｉ”に対応するＩＤ＿ｉの分散情報保持装置をｉ番目の分散情報保持装置と呼ぶ場合がある。例えば、３番目の分散情報保持装置とは、分散情報保持装置１２３のことである。【０１４９】
以下、上述した閉路上の各ノードとの対応付けについて説明する。【０１５０】
閉路に形成されたグラフ上にｋ（＝６）個の第１から第６のノードが順次接続されるように仮想的に配置されている。分散情報保持装置１２１〜１２６のそれぞれは、第１から第６のノードに順次対応付けられている。つまり、分散情報保持装置１２Ｘは、第Ｘのノードに対応付けられている。【０１５１】
これにより、分散情報保持装置１２１〜１２６は、閉路を形成するように関係付けがされる。【０１５２】
（分散情報選択部３５２）
分散情報選択部３５２は、秘密鍵分散部３０４にて生成され、一時的に記憶されている分散情報ｄ＿１、ｄ＿２、ｄ＿３、ｄ＿４、ｄ＿５、ｄ＿６のうちｉ番目の分散情報ｄ＿ｉを選択する。【０１５３】
（装置選択部３５３）
分散情報選択部３５２にて選択された分散情報ｄ＿ｉを配布する３台の分散情報保持装置の選択と、配布先リストＴ１００の生成を行う。なお、配布先リストＴ１００は、初期段階では、何も登録されていないものとする。【０１５４】
装置選択部３５３は、分散情報選択部３５２にてｉ番目の分散情報ｄ＿ｉが選択されると、装置情報リストＴ２００の内容に基づいて、ｉ番目の分散情報保持装置を選択する。具体的には、装置選択部３５３は、ｉ番目の分散情報保持装置に対応する装置ＩＤを装置情報リストＴ２００から選択する。【０１５５】
また、装置選択部３５３は、装置情報リストＴ２００の内容に基づいて、（ｉ−１）番目の分散情報保持装置及び（ｉ＋１）番目の分散情報保持装置を選択する。具体的には、装置選択部３５３は、（ｉ−１）及び（ｉ＋１）番目の分散情報保持装置それぞれに対応する装置ＩＤを装置情報リストＴ２００から選択する。【０１５６】
装置選択部３５３は、ｉ番目の分散保持装置の装置ＩＤを自装置ＩＤとし、（ｉ＋１）番目の分散情報保持装置の装置ＩＤを第１他装置ＩＤとし、（ｉ−１）番目の分散情報保持装置の装置ＩＤを第２他装置ＩＤとして、配布先リストＴ１００に追加する。【０１５７】
ここで、ｉ＋１＝７である場合には、装置選択部３５３は、１番目の分散情報保持装置を選択する。また、ｉ−１＝０である場合には、装置選択部３５３は、６番目の分散情報保持装置を選択する。【０１５８】
（出力部３５４）
出力部３５４は、分散情報選択部３５２にて選択された分散情報ｄ＿ｉを、送信部３０７を介して、装置選択部３５３にて選択されたｉ、（ｉ−１）及び（ｉ＋１）番目の分散情報保持装置それぞれに配布する。このとき、出力部３５４は、ｉ番目の分散情報保持装置に対しては、当該装置に割り当てられた分散情報として分散情報ｄ＿ｉを配布する。出力部３５４は、（ｉ＋１）番目の分散情報保持装置に対しては、第１他装置分散情報として分散情報ｄ＿ｉ（＝ｄ１＿ｉ）を配布する。出力部３５４は、（ｉ−１）番目の分散情報保持装置に対しては、第２他装置分散情報として分散情報ｄ＿ｉ（＝ｄ２＿ｉ）を配布する。【０１５９】
出力部３５４は、全ての分散情報の配布が終了すると、装置選択部３５３にて生成された配布先リストＴ１００を、送信部３０７を介して分散情報保持装置１２１〜１２６及び認証局装置１４０へ配布する。【０１６０】
（繰返制御部３５５）
繰返制御部３５５は、分散情報の選択、選択された分散情報が配布される３台の分散情報保持装置の選択、選択された３台の分散情報保持装置それぞれの装置ＩＤの配布先リストＴ１００への登録、及び選択された分散情報の配布を、繰り返し行うように、分散情報選択部３５２、装置選択部３５３及び出力部３５４を制御する。【０１６１】
（本発明との対応）
上述したように、分散情報配布部３０５は、ｉ、（ｉ−１）及び（ｉ＋１）番目の分散情報保持装置それぞれを選択し、分散情報ｄ＿ｉを、選択したｉ、（ｉ−１）及び（ｉ＋１）番目の分散情報保持装置それぞれに配布する。【０１６２】
このとき、分散情報配布部３０５は、ｉ、（ｉ−１）及び（ｉ＋１）番目の分散情報保持装置を順次選択し、分散情報ｄ＿ｉを、選択したｉ、（ｉ−１）及び（ｉ＋１）番目の分散情報保持装置それぞれに順次配布することになる。【０１６３】
ここで、分散情報配布部３０５がｉ番目の分散情報保持装置を選択し、分散情報ｄ＿ｉを選択したｉ番目の分散情報保持装置に配布する動作が、本発明における第１配布手段に相当する。また、分散情報配布部３０５が（ｉ−１）及び（ｉ＋１）番目の分散情報保持装置それぞれを選択し、分散情報ｄ＿ｉを選択した（ｉ−１）及び（ｉ＋１）番目の分散情報保持装置それぞれに配布する動作が、本発明における第２配布手段に相当する。【０１６４】
（６）鍵消去部３０６
鍵消去部３０６は、設計の処理過程で生成された鍵（秘密鍵、公開鍵）、証明書、分散情報、分散情報配布先リストなどの鍵配布に関連するデータを消去する。【０１６５】
（７）送信部３０７
送信部３０７は、証明書配布部３０３から出力された証明書を分散情報保持装置１２１〜１２６へ送信する。【０１６６】
送信部３０７は、分散情報配布部３０５から出力された分散情報を、配布先である３台の分散情報保持装置へ送信する。【０１６７】
送信部３０７は、分散情報配布部３０５から出力された配布先リストＴ１００を、分散情報保持装置１２１〜１２６及び認証局装置１４０へ送信する。【０１６８】
１．３．２  分散情報保持装置１２１〜１２６の構成
分散情報保持装置１２１〜１２６は、図７に示すように、制御部２５０＿ｊ、分散情報格納部２５１＿ｊ、他装置分散情報格納部２５２＿ｊ、認証子格納部２５３＿ｊ、リスト格納部２５４＿ｊ、ＩＤ格納部２５５＿ｊ、送信部２５６＿ｊ及び受信部２５７＿ｊから構成されている。【０１６９】
分散情報保持装置１２１〜１２６は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記ＲＡＭまたはハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、分散情報保持装置１２１〜１２６は、その機能を達成する。【０１７０】
なお、符号２５ｘ（ｘ＝１、２、・・・、７）に付与されている添え字ｊは、１、２、・・・、６の値であり、ｊ番目の分散情報保持装置に対応する。【０１７１】
つまり、構成要素２５ｘ＿１は分散情報保持装置１２１に具備されており、構成要素２５ｘ＿２は分散情報保持装置１２２に具備されている。また、構成要素２５ｘ＿３は分散情報保持装置１２３に具備されており、構成要素２５ｘ＿４は分散情報保持装置１２４に具備されている。さらに、構成要素２５ｘ＿５は分散情報保持装置１２５に具備されており、構成要素２５ｘ＿６は分散情報保持装置１２６に具備されている。【０１７２】
（１）分散情報格納部２５１＿ｊ
分散情報格納部２５１＿ｊは、ｊ番目の分散情報保持装置が所有する分散情報ｄ＿ｊを格納する。【０１７３】
（２）他装置分散情報格納部２５２＿ｊ
他装置分散情報格納部２５２は、第１他装置分散情報ｄ＿（ｊ＋１）、及び第２他装置分散情報ｄ＿（ｊ−１）を格納する。【０１７４】
ここで、ｊ＋１＝７である場合には、第１他装置分散情報としてｄ＿１が格納される。また、ｊ−１＝０である場合には、第２他装置分散情報としてｄ＿６が格納される。【０１７５】
（３）認証子格納部２５３＿ｊ
認証子格納部２５３＿ｊは、秘密鍵ｄに対する公開鍵ＰＫの証明書を格納する。【０１７６】
（４）リスト格納部２５４＿ｊ
リスト格納部２５４＿ｊは、鍵配布装置１３０から配布された配布先リストＴ１００を格納する。【０１７７】
（５）ＩＤ格納部２５５＿ｊ
ＩＤ格納部２５５＿ｊは、当該装置を識別する装置ＩＤ“ＩＤ＿ｊ”を格納している。【０１７８】
（６）制御部２５０＿ｊ
制御部２５０＿ｊは、当該装置の動作を制御する。【０１７９】
制御部２５０＿ｊは、図７に示すように、分散情報更新部２６０＿ｊ、分散情報分割部２６１＿ｊ、分散情報検証部２６２＿ｊ、他装置分散情報検証部２６３＿ｊ、部分情報検証部２６４＿ｊ、変形情報生成部２６５＿ｊ、リスト更新部２６６＿ｊ及び取得部２６７＿ｊを有している。【０１８０】
（分散情報更新部２６０＿ｊ）
分散情報更新部２６０＿ｊは、鍵配布装置１３０から送信部２５６＿ｊを介して、当該装置に割り当てられた分散情報として分散情報ｄ＿ｊを受け取ると、分散情報格納部２５１＿ｊに格納する。このとき、分散情報更新部２６０＿ｊは、分散情報格納部２５１＿ｊに情報が存在する場合には、その情報を消去し、受け取った分散情報ｄ＿ｊを格納する。【０１８１】
分散情報更新部２６０＿ｊは、鍵配布装置１３０から送信部２５６＿ｊを介して、第１若しくは第２他装置分散情報として分散情報ｄ１＿（ｊ＋１）若しくはｄ２＿（ｊ−１）を受け取ると、他装置分散情報格納部２５２＿ｊに格納する。このとき、分散情報更新部２６０＿ｊは、他装置分散情報格納部２５２＿ｊに他の第１若しくは第２の他装置分散情報が存在する場合には、その情報を消去し、受け取った第１他装置分散情報（ｄ１＿（ｊ＋１））若しくは第２他装置分散情報（ｄ２＿（ｊ−１））を格納する。【０１８２】
また、分散情報更新部２６０＿ｊは、認証局システム１００における脱退処理・追加処理時において、分散情報、第１及び第２他装置分散情報の更新を行い、更新した分散情報を分散情報格納部２５１＿ｊへ、更新した第１及び第２他装置分散情報を他装置分散情報格納部２５２＿ｊへ、それぞれ格納する。このとき、分散情報更新部２６０＿ｊは、更新前の分散情報、第１他装置分散情報及び第２他装置分散情報を消去する。【０１８３】
（脱退処理時の動作）
先ず、脱退処理における分散情報更新部２６０＿ｊの動作について説明する。【０１８４】
分散情報更新部２６０＿ｊは、自装置の分散情報分割部２６１＿ｊから２つの部分情報、若しくは他の分散情報保持装置から２つ若しくは３つの部分情報を受信部２５７＿ｊを介して受け取る。【０１８５】
分散情報更新部２６０＿ｊは、受け取った２つ若しくは３つの部分情報を一時的に記憶する。【０１８６】
分散情報更新部２６０＿ｊは、他の分散情報保持装置から受信部２５７＿ｊを介して、若しくは自装置の部分情報検証部２６４＿ｊから、部分情報の生成に用いられた分散情報の検証結果を受け取る。【０１８７】
分散情報更新部２６０＿ｊは、部分情報の生成に用いられた分散情報が正当であると判断される場合には、分散情報更新部２６０＿ｊは、一時的に記憶している２つ若しくは３つの部分情報を用いて、対応する分散情報の更新を行う。【０１８８】
なお、脱退時における分散情報の更新の詳細については、後述する脱退処理の動作説明において、具体例を用いて説明する。【０１８９】
（追加時の動作について）
既存の装置であり、且つ追加対象の分散情報を格納する場合（以下、第１のＣＡＳＥ）と、既存装置であり、且つ変形情報を生成した装置の分散情報を格納している場合（以下、第２のＣＡＳＥ）と、自装置が追加対象の装置である場合（以下、第３のＣＡＳＥ）と、上記以外の装置である場合（以下、第４のＣＡＳＥ）で動作が異なる。【０１９０】
以下、場合分けを行って、動作の説明を行う。【０１９１】
＜第１のＣＡＳＥ＞
分散情報更新部２６０＿ｊは、他の分散情報保持装置で生成された変形情報“ｎ１”を受け取ると、一時的に格納する。【０１９２】
分散情報更新部２６０＿ｊは、変形情報生成部２６５＿ｊにて生成された変形情報（例えば、“ｎ２”）と、分散情報“ｄ＿ｊ”とを用いて、新たな分散情報“ｄ＿ｊ’（＝ｄ＿ｊ−ｎ２）”を生成し、分散情報格納部２５１＿ｊに格納されている内容を、生成した新たな分散情報に更新する。ここで、自装置若しくは他装置の変形情報生成部にて生成される変形情報は整数である。また、分散情報から変形情報を減算するときには整数として引き算する。また、この引き算のとき、負の数になる事もあるが、そのまま分散情報として保持する。【０１９３】
分散情報更新部２６０＿ｊは、変形情報“ｎ１”と、変形情報生成部２６５＿ｊにて生成された変形情報“ｎ２”とを用いて、追加対象となる装置は保持すべき分散情報と同一の他装置分散情報“ｎ１＋ｎ２”を生成する。分散情報更新部２６０＿ｊは、装置の追加により、保持が不要となる他装置分散情報の代わりに、生成した他装置分散情報“ｎ１＋ｎ２”へと置き換える。【０１９４】
分散情報更新部２６０＿ｊは、自装置の分散情報分割部２６１＿１若しくは他装置にて生成された２つ若しくは３つの部分情報を受け取り、一時的に記憶する。【０１９５】
分散情報更新部２６０＿ｊは、一時的に記憶している２つ若しくは３つの部分情報を用いて、対応する分散情報の更新を行う。【０１９６】
なお、追加時における分散情報の更新の詳細については、後述する追加処理の動作説明において、具体例を用いて説明する。【０１９７】
＜第２のＣＡＳＥ＞
分散情報更新部２６０＿ｊは、他の分散情報保持装置で生成された変形情報“ｎ１”を受け取ると、前記他の分散情報保持装置が保持する分散情報と同一の値であるべき他装置分散情報から、受け取った変形情報“ｎ１”を減算して、新たな他装置分散情報を生成する。分散情報更新部２６０＿ｊは、更新前の他装置分散情報を、更新後の新たな他装置分散情報に更新する。このとき、減算結果が負の数になる事もあるが、そのまま分散情報として保持する。【０１９８】
分散情報更新部２６０＿ｊは、他装置にて生成された２つ若しくは３つの部分情報を受け取り、一時的に記憶する。【０１９９】
分散情報更新部２６０＿ｊは、一時的に記憶している２つ若しくは３つの部分情報を用いて、対応する分散情報の更新を行う。【０２００】
なお、追加時における分散情報の更新の詳細については、後述する追加処理の動作説明において、具体例を用いて説明する。【０２０１】
＜第３のＣＡＳＥ＞
分散情報更新部２６０＿ｊは、他の２台の分散情報保持装置で生成された変形情報“ｎ１”、“ｎ２”を受け取ると、一時的に記憶する。分散情報更新部２６０＿ｊは、当該装置に割り当てられた分散情報“ｎ１＋ｎ２”を生成し、分散情報格納部２５１＿ｊに格納する。【０２０２】
分散情報更新部２６０＿ｊは、（ｊ＋１）番目の分散情報保持装置から分散情報を、（ｊ＋２）番目の分散情報保持装置から第２他装置分散情報をそれぞれ受け取る。分散情報更新部２６０＿ｊは、分散情報及び第２他装置分散情報とが一致する場合に、受け取った分散情報を第１他装置分散情報として他装置分散情報格納部２５２＿ｊに格納する。【０２０３】
分散情報更新部２６０＿ｊは、（ｊ―１）番目の分散情報保持装置から分散情報を、（ｊ―２）番目の分散情報保持装置から第１他装置分散情報をそれぞれ受け取る。分散情報更新部２６０＿ｊは、分散情報及び第１他装置分散情報とが一致する場合に、受け取った分散情報を第２他装置分散情報として他装置分散情報格納部２５２＿ｊに格納する。【０２０４】
分散情報更新部２６０＿ｊは、他装置にて生成された２つ若しくは３つの部分情報を受け取り、一時的に記憶する。【０２０５】
分散情報更新部２６０＿ｊは、一時的に記憶している２つ若しくは３つの部分情報を用いて、対応する分散情報の更新を行う。【０２０６】
なお、追加時における分散情報の更新の詳細については、後述する追加処理の動作説明において、具体例を用いて説明する。【０２０７】
＜第４のＣＡＳＥ＞
分散情報更新部２６０＿ｊは、他装置にて生成された３つの部分情報を受け取り、一時的に記憶する。【０２０８】
分散情報更新部２６０＿ｊは、一時的に記憶している３つの部分情報を用いて、対応する分散情報の更新を行う。【０２０９】
なお、追加時における分散情報の更新の詳細については、後述する追加処理の動作説明において、具体例を用いて説明する。【０２１０】
（分散情報分割部２６１＿ｊ）
分散情報分割部２６１＿ｊは、脱退処理・追加処理時において、分散情報格納部２５１に格納している分散情報や他装置分散情報格納部２５２に格納している第１若しくは第２他装置分散情報から複数の部分情報を生成する。言い換えると、分散情報分割部２６１＿ｊは、分散情報格納部２５１に格納している分散情報や他装置分散情報格納部２５２に格納している第１若しくは第２他装置分散情報を、複数の部分情報に分散（分解）する。【０２１１】
先ず、脱退処理時における動作について説明する。【０２１２】
分散情報分割部２６１＿ｊは、分散情報保持装置を監視する監視装置（図示せず）から、脱退対象の分散情報保持装置が有する分散情報と同一の他装置分散情報から部分情報を生成する旨の脱退時の部分情報生成指示を受け取る。ここで、監視装置は、分散情報保持装置の動作を監視し、分散情報保持装置が故障等により動作を停止した時や、不正な動作を行っていることが判明したときに、当該分散情報保持装置を脱退させるように前記部分情報指示情報を通知する。また、分散情報分割部２６１＿ｊは、脱退時の部分情報生成指示を外部装置から受け取るとしたが、これに限定されない。分散情報分割部２６１＿ｊは、脱退時の部分情報生成指示を、鍵配布装置１３０から受け取ってもよいし、認証局装置１４０から受け取ってもよい。または、脱退する分散情報保持装置が、自身が保持する分散情報と同一の値である他装置分散情報を保持する他の分散情報保持装置へ部分情報生成指示を通知することで動作を開始するものとしてもよい。【０２１３】
分散情報分割部２６１＿ｊは、脱退対象の分散情報保持装置が有する分散情報と同一であるべき情報が、第１他装置分散情報であるか第２他装置分散情報であるかを配布先リストＴ１００を用いて特定し、特定した他装置分散情報を、他装置分散情報格納部２５２＿ｊから取得する。ここでは、取得した他装置分散情報を“ｓ”とする。【０２１４】
分散情報分割部２６１＿ｊは、取得した他装置分散情報“ｓ”からｋ−１個の部分情報を、生成する。ここで、分散情報分割部２６１＿ｊは、全ての部分情報を加算すると取得した他装置分散情報“ｓ”になるように各部分情報を生成する。【０２１５】
具体的には、分散情報分割部２６１＿ｊは、乱数生成器を用いて、（ｋ−２）個（＝４個）の乱数を生成することにより、部分情報（ここでは、便宜上、ｓ＿１、ｓ＿２、ｓ＿３、ｓ＿４）を生成する。次に、分散情報分割部２６１＿ｊは、
ｓ＿（ｋ−１）  ＝  ｓ  −  （ｓ＿１＋ｓ＿２＋ｓ＿３＋ｓ＿４）
により、ｓ＿（ｋ−１）（＝ｓ＿５）を算出する。【０２１６】
分散情報分割部２６１＿ｊは、脱退対象の装置（例えば、ｉ番目の分散情報保持装置）が保持する分散情報“ｄ＿ｉ”及びこの情報と同一の値となるべき情報“ｄ１＿ｉ”及び“ｄ２＿ｉ”を除く残りの分散情報に対して、同一となるべき分散情報毎に、異なる部分情報を割り当てる。【０２１７】
分散情報分割部２６１＿ｊは、配布先リストＴ１００の内容に基づいて、配布先の分散情報保持装置毎に、２つ若しくは３つの部分情報を配布する。なお、自装置へは２つの部分情報が配布されるが、この場合、分散情報分割部２６１＿ｊは、分散情報更新部２６０＿ｊへ出力する。【０２１８】
分散情報分割部２６１＿ｊは、部分情報の配布後、取得した他装置分散情報“ｓ”と同一の値である第１若しくは第２他装置分散情報をもつ分散情報保持装置を、配布先リストＴ１００を用いて特定する。分散情報分割部２６１＿ｊは、特定した分散情報保持装置に対して、部分情報の検証を行う旨の部分情報検証指示を、送信部２５６＿ｊを介して送信する。【０２１９】
なお、分散情報保持装置毎に配布する２つ若しくは３つの部分情報については、後述する脱退処理の動作説明において、具体例を用いて詳細に説明する。【０２２０】
次に、追加時の動作について説明する。【０２２１】
分散情報分割部２６１＿ｊは、追加対象の分散情報保持装置１２７（図１では図示せず）から、分散情報から部分情報を生成する旨の追加時の部分情報生成指示を受け取る。【０２２２】
分散情報分割部２６１＿ｊは、分散情報格納部２５１＿ｊから分散情報を取得する。ここでは、便宜上、取得した分散情報を“ｓ”とする。分散情報分割部２６１＿ｊは、取得した分散情報“ｓ”から（ｋ＋１）個（ここでは、７個）の部分情報を生成する。ここで、分散情報分割部２６１＿ｊは、全ての部分情報を加算すると取得した分散情報“ｓ”になるように各部分情報を生成する。【０２２３】
具体的には、分散情報分割部２６１＿ｊは、乱数生成器を用いて、ｋ）個（＝６個）の乱数を生成することにより、部分情報（ここでは、便宜上、ｓ＿１、ｓ＿２、・・・、ｓ＿６）を生成する。次に、分散情報分割部２６１＿ｊは、
ｓ＿（ｋ＋１）  ＝  ｓ  −  （ｓ＿１＋ｓ＿２＋ｓ＿３＋・・・＋ｓ＿６）
により、ｓ＿（ｋ＋１）（＝ｓ＿７）を算出する。このとき、減算結果が負の数になる事もあるが、そのまま部分情報として扱う。【０２２４】
分散情報分割部２６１＿ｊは、分散情報保持装置毎に、異なる部分情報を割り当てる。【０２２５】
分散情報分割部２６１＿ｊは、配布先の分散情報保持装置毎に、３つ若しくは６つの部分情報を配布する。なお、自装置へは３つの部分情報が配布されるが、この場合、分散情報分割部２６１＿ｊは、分散情報更新部２６０＿ｊへ出力する。【０２２６】
分散情報保持装置毎に配布する３つ若しくは６つの部分情報については、後述する追加処理の動作説明において、具体例を用いて詳細に説明する。【０２２７】
（分散情報検証部２６２＿ｊ）
分散情報検証部２６２＿ｊは、分散情報格納部２５１＿ｊに格納している分散情報が他の分散情報保持装置が第１若しくは第２他装置分散情報として保持している情報と同じ値かどうかを検証する。【０２２８】
具体的には、分散情報検証部２６２＿ｊは、リスト格納部２５４＿ｊにて格納されている配布先リストＴ１００を用いて、分散情報格納部２５１＿ｊにて格納されている分散情報と同一の値である第１他装置分散情報を持つ分散情報保持装置及び第２他装置分散情報を持つ分散情報保持装置を特定し、特定した各分散情報保持装置から第１及び第２他装置分散情報を、受信部２５７＿ｊを介して受信する。分散情報検証部２６２＿ｊは、分散情報格納部２５１＿ｊにて格納されている分散情報と、受信した第１及び第２他装置分散情報とが一致するか否かの検証を行う。【０２２９】
（他装置分散情報検証部２６３＿ｊ）
他装置分散情報検証部２６３＿ｊは、他装置分散情報格納部２５２＿ｊに格納している第１若しくは第２他装置分散情報が、他の分散情報保持装置が分散情報や第１若しくは第２他装置分散情報として保持している情報と同じ値かどうかを検証する。【０２３０】
具体的には、他装置分散情報検証部２６３＿ｊは、リスト格納部２５４＿ｊにて格納されている配布先リストＴ１００を用いて、他装置分散情報格納部２５２＿ｊにて格納されている第１他装置分散情報と同一の値である分散情報を持つ分散情報保持装置及び第２他装置分散情報を持つ分散情報保持装置を特定し、特定した各分散情報保持装置から分散情報及び第２他装置分散情報を、受信部２５７＿ｊを介して受信する。他装置分散情報検証部２６３＿ｊは、他装置分散情報格納部２５２＿ｊにて格納されている第１他装置分散情報と、受信した分散情報及び第２他装置分散情報とが一致するか否かの検証を行う。【０２３１】
また、他装置分散情報検証部２６３＿ｊは、リスト格納部２５４＿ｊにて格納されている配布先リストＴ１００を用いて、他装置分散情報格納部２５２＿ｊにて格納されている第２他装置分散情報と同一の値である分散情報を持つ分散情報保持装置及び第１他装置分散情報を持つ分散情報保持装置を特定し、特定した各分散情報保持装置から分散情報及び第１他装置分散情報を、受信部２５７＿ｊを介して受信する。他装置分散情報検証部２６３＿ｊは、他装置分散情報格納部２５２＿ｊにて格納されている第２他装置分散情報と、受信した分散情報及び第１他装置分散情報とが一致するか否かの検証を行う。【０２３２】
（部分情報検証部２６４＿ｊ）
部分情報検証部２６４＿ｊは、他の分散情報保持装置で生成された複数の部分情報の総和、つまり部分情報の生成に用いられた他装置分散情報が正当であるか否かを検証する。【０２３３】
以下、その動作について説明する。【０２３４】
部分情報検証部２６４＿ｊは、前記他の分散情報保持装置から部分情報検証指示を、受信部２５７＿ｊを介して受け取る。【０２３５】
部分情報検証部２６４＿ｊは、脱退対象の分散情報保持装置を除く残りの装置それぞれから当該装置に割り当てられた部分情報を取得する。【０２３６】
部分情報検証部２６４＿ｊは、取得した全ての部分情報を加算し、値ｓ’を算出する。部分情報検証部２６４＿ｊは、算出した値ｓ’が正当であるか否かを、値ｓ’と他装置分散情報格納部２５２＿ｊに格納されている第１若しくは第２他装置分散情報を用いて検証する。【０２３７】
具体的には、前記他の分散情報保持装置で生成された部分情報が他装置分散情報格納部２５２＿ｊに格納されている第１他装置分散情報と同一であるべき場合には、部分情報検証部２６４＿ｊは、値ｓ’が、他装置分散情報格納部２５２＿ｊに格納されている第１他装置分散情報と同一であるかを検証する。また、前記他の分散情報保持装置で生成された部分情報が他装置分散情報格納部２５２＿ｊに格納されている第２他装置分散情報と同一であるべき場合には、部分情報検証部２６４＿ｊは、値ｓ’が、他装置分散情報格納部２５２＿ｊに格納されている第２他装置分散情報と同一であるかを検証する。【０２３８】
部分情報検証部２６４＿ｊは、検証結果により、値ｓ’が前記当該装置が有する第１若しくは第２他装置分散情報と同一であると判断する場合には、同一である旨の検証結果を各分散情報保持装置へ送信部２５６＿ｊを介して送信する。【０２３９】
部分情報検証部２６４＿ｊは、検証結果により、値ｓ’が前記当該装置が有する第１若しくは第２他装置分散情報と同一でないと判断する場合には、同一でない旨の検証結果を各分散情報保持装置へ送信部２５６＿ｊを介して送信する。【０２４０】
なお、当該装置に対しては、検証結果を分散情報更新部２６０＿ｊへ出力する。【０２４１】
（変形情報生成部２６５＿ｊ）
変形情報生成部２６５＿ｊは、外部の装置（図示せず）から、追加対象の分散情報保持装置に対する分散情報を生成する旨の追加時の分散情報生成指示を受け取る。ここで、本実施の形態では、変形情報生成部２６５＿ｊは、追加時の分散情報生成指示を外部装置から受け取るとしたが、これに限定されない。変形情報生成部２６５＿ｊは、追加時の分散情報生成指示を、鍵配布装置１３０から受け取ってもよいし、認証局装置１４０から受け取ってもよい。【０２４２】
変形情報生成部２６５＿ｊは、変形情報を生成する。具体的には、変形情報生成部２６５＿ｊは、１つの乱数を生成し、生成した乱数を変形情報とする。【０２４３】
変形情報生成部２６５＿ｊは、生成した変形情報を追加対象の分散情報保持装置へ受信部２５７＿ｊを介して送信する。【０２４４】
変形情報生成部２６５＿ｊは、分散情報格納部２５１＿ｊにて格納されている分散情報と同一の他装置分散情報をもつべき２台の分散情報保持装置を、配布先リストＴ１００を用いて特定し、生成した変形情報を、特定した２台の分散情報保持装置へも受信部２５７＿ｊを介して送信する。【０２４５】
変形情報生成部２６５＿ｊは、生成した変形情報を分散情報更新部２６０＿ｊへ出力する。【０２４６】
なお、変形情報の生成方法は、上記の方法に限定されない。例えば、分散情報のハッシュ値を変形情報とする方法などがある。また、固定値を用いたり分散情報の値の半分の値を用いたりする方法も考えられるが、これらの方法は、悪意のある第３者によって変形情報から分散情報を推測されやすくなるため避けた方がよい。【０２４７】
（リスト更新部２６６＿ｊ）
リスト更新部２６６＿ｊは、認証局システム１００における脱退処理・追加処理時において、分散情報保持装置間の相互関係が変更になると、新しい相互関係となるように配布先リストを更新し、リスト格納部２５４＿ｊに格納している配布先リストを、更新後の配布先リストへと更新する。また、リスト更新部２６６＿ｊは、更新後の配布先リストを他の分散情報保持装置及び認証局装置１４０へ送信部を介して送信する。【０２４８】
リスト更新部２６６＿ｊは、他の分散情報保持装置から更新後の配布先リストを、受信部２５７＿ｊを介して受信すると、リスト格納部２５４＿ｊに格納している配布先リストを、更新後の配布先リストへと更新する。【０２４９】
（取得部２６７＿ｊ）
取得部２６７＿ｊは、認証局装置１４０から分散情報を要求する第１の要求を受け付けると、分散情報格納部２５１＿ｊにて格納されている分散情報を取得する。取得部２６７＿ｊは、取得した分散情報を、送信部２５６＿ｊを介して認証局装置１４０へ送信する。【０２５０】
取得部２６７＿ｊは、認証局装置１４０から証明書を要求する第２の要求を受け付けると、認証子格納部２５３＿ｊにて格納されている証明書を取得する。取得部２６７＿ｊは、取得した証明書を、送信部２５６＿ｊを介して認証局装置１４０へ送信する。【０２５１】
取得部２６７＿ｊは、認証局装置１４０から分散情報、第１及び第２他装置分散情報を要求する第３の要求を受け付けると、分散情報格納部２５１＿ｊにて格納されている分散情報と、他装置分散情報格納部２５２＿ｊにて格納されている第１及び第２他装置分散情報とを取得し、ＩＤ格納部２５５＿ｊから装置ＩＤ“ＩＤ＿ｊ”を取得する。取得部２６７＿ｊは、取得した分散情報、第１及び第２他装置分散情報を、送信部２５６＿ｊを介して認証局装置１４０へ送信する。ここで、以下の説明において、分散情報、第１及び第２他装置分散情報からなる組を分散情報群という。【０２５２】
取得部２６７＿ｊは、他の分散情報保持装置から分散情報を要求する分散情報要求指示を受信部２５７＿ｊを介して受け取ると、分散情報格納部２５１＿ｊから分散情報を取得する。取得部２６７＿ｊは、取得した分散情報を要求元の分散情報保持装置へ送信部２５６＿ｊを介して出力する。【０２５３】
取得部２６７＿ｊは、他の分散情報保持装置から第１他装置分散情報を要求する第１他装置分散情報要求指示を受信部２５７＿ｊを介して受け取ると、他装置分散情報格納部２５２＿ｊから第１他装置分散情報を取得する。取得部２６７＿ｊは、取得した第１他装置分散情報を要求元の分散情報保持装置へ送信部２５６＿ｊを介して出力する。【０２５４】
取得部２６７＿ｊは、他の分散情報保持装置から第２他装置分散情報を要求する第２他装置分散情報要求指示を受信部２５７＿ｊを介して受け取ると、他装置分散情報格納部２５２＿ｊから第２他装置分散情報を取得する。取得部２６７＿ｊは、取得した第２他装置分散情報を要求元の分散情報保持装置へ送信部２５６＿ｊを介して出力する。【０２５５】
（７）送信部２５６＿ｊ
送信部２５６＿ｊは、制御部２５０＿ｊから受け取った情報を認証局装置１４０や他の分散情報保持装置へ送信する。【０２５６】
（８）受信部２５７＿ｊ
受信部２５７＿ｊは、鍵配布装置１３０、認証局装置１４０や他の分散情報保持装置から受け取った情報を制御部２５０＿ｊへ出力する。【０２５７】
１．３．３  認証局装置１４０
認証局装置１４０は、図８に示すように、秘密鍵格納部４０１、リスト格納部４０２、制御部４０３、第１送受信部４０４及び第２送受信部４０５から構成されている。【０２５８】
認証局装置１４０は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記ＲＡＭまたはハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、認証局装置１４０は、その機能を達成する。【０２５９】
（１）秘密鍵格納部４０１
秘密鍵格納部４０１は、認証局装置１４０の秘密鍵を格納している。例えば、秘密鍵格納部４０１は、図１にて示す秘密鍵１４１を格納している。【０２６０】
（２）リスト格納部４０２
リスト格納部４０２は、配布先リストＴ１００を格納している。【０２６１】
（３）制御部４０３
制御部４０３は、当該装置の動作を制御する。【０２６２】
制御部４０３は、図８に示すように、端末証明書発行部４１２、認証局証明書格納部４１３、秘密鍵生成部４１４、秘密鍵検証部４１５、不正装置特定部４１６及び解析部４１７から構成されている。【０２６３】
（端末証明書発行部４１２）
端末証明書発行部４１２は、端末Ａ、端末Ｂ、及び端末Ｃより証明書の発行を依頼されたときに、秘密鍵格納部４０１に格納している秘密鍵を用いて、端末の公開鍵に対してディジタル署名して証明書を生成し、生成した証明書を第２送受信部４０５を介して依頼元の端末へ送信する。【０２６４】
端末に証明書を発行する処理については、従来の技術をそのまま用いることが可能なため説明は割愛する（例えば、特許文献１参照）。【０２６５】
（認証局証明書格納部４１３）
認証局証明書格納部４１３は、秘密鍵格納部４０１に格納している秘密鍵に対応した公開鍵に対する証明書を格納している。端末が他の端末の証明書を検証するときに利用する。【０２６６】
（解析部４１７）
解析部４１７は、外部装置（図示せず）から秘密鍵漏洩の通知を受けると証明書の発行を停止し、自装置のログをチェックし漏洩原因を解析し、回復方法の判断を行う。解析と判断の結果、秘密鍵の更新の必要があると判断された場合には、鍵の回復を行う旨の回復指示を秘密鍵生成部４１４へ出力する。【０２６７】
ここで、鍵の回復を行う前に、自装置の運用やハードウェアのセキュリティレベルを見直し、見直した結果、何らかの問題があれば改善処理を行い、必要であればセキュリティレベルを上げた構成に移行し、鍵回復の処理に移ってもよい。【０２６８】
（秘密鍵生成部４１４）
秘密鍵生成部４１４は、解析部４１７から回復指示を受け取ると、第１要求を、分散情報保持装置１２１〜１２６へ第１送受信部４０４を介して送信する。【０２６９】
秘密鍵生成部４１４は、分散情報保持装置１２１〜１２６から分散情報ｄ＿１〜ｄ＿６を、第１送受信部４０４を介して受け取る。【０２７０】
秘密鍵生成部４１４は、受け取った各分散情報（ｄ＿１〜ｄ＿６）から値ｄ’（＝ｄ＿１＋ｄ＿２＋ｄ＿３＋ｄ＿４＋ｄ＿５＋ｄ＿６）を算出する。以下、各分散情報から算出された値を鍵候補値と呼ぶ場合もある。【０２７１】
（秘密鍵検証部４１５）
秘密鍵検証部４１５は、第２要求を、分散情報保持装置１２１〜１２６へ第１送受信部４０４を介して送信する。秘密鍵検証部４１５は、分散情報保持装置１２１〜１２６から第１送受信部４０４を介して、証明書を受信する。【０２７２】
秘密鍵検証部４１５は、受信した証明書がすべて同じ証明書であることを確認して、算出された値ｄ’と証明書を用いて、秘密鍵生成部４１４で算出された値ｄ’が秘密鍵ｄと同一であるか否かを検証、つまり、秘密鍵生成部４１４にて算出した値ｄ’が、正しい「新しい秘密鍵」であるかどうかを検証する。【０２７３】
受信した証明書がすべて同じ値ではなかった場合には、受信した証明書のうち、同じ証明書の数が一番多い証明書を正しい証明書として、秘密鍵検証部４１５は、値ｄ’の検証を行う。【０２７４】
検証した結果正しい「新しい秘密鍵」であった場合は、秘密鍵検証部４１５は、秘密鍵格納部４０１の秘密鍵を新しい秘密鍵、つまり値ｄ’で上書きして、格納する。さらに、秘密鍵検証部４１５は、認証局証明書格納部４１３の証明書を検証に用いた証明書で上書きして、格納する。【０２７５】
また、秘密鍵検証部４１５は、受信した証明書を用いて、不正装置特定部４１６にて生成された鍵候補値に対する検証をも行う。【０２７６】
検証方法について、以下に説明する。【０２７７】
秘密鍵検証部４１５は、例えば、算出された値ｄ’を用いて、証明書に含まれる公開鍵ＰＫに対する署名Ｓ’（＝Ｓｉｇ（ｄ’、ＰＫ））を計算し、証明書に含まれる署名Ｓと一致するかを比較する。一致する場合には、秘密鍵検証部４１５は、秘密鍵生成部４１４にて算出した値ｄ’が、正しい「新しい秘密鍵」であると判断する。一致しない場合には、秘密鍵検証部４１５は、秘密鍵生成部４１４にて算出した値ｄ’が、正しい「新しい秘密鍵」でないと判断する。【０２７８】
なお、検証方法は、上記の方法に限定されない。例えば、生成された秘密鍵を用いて何らかのデータに対する署名を作成して、認証子として分散情報保持装置から受信した証明書に含まれる公開鍵を用いて検証する方法や、ＲＳＡ暗号の場合には、整数ａを生成し、それに対して生成された秘密鍵ｄと認証子として分散情報保持装置から受信した証明書に含まれる公開鍵ｅとｎから、ａ＾（ｅ×ｄ）＝１  ｍｏｄ  ｎが成り立つかどうかをチェックする方法でもよい。【０２７９】
また、検証の用いる認証子を証明書としたが、これに限定するものではなく、例えば、認証子として秘密鍵のハッシュ値を用いてもよい。この場合、生成された秘密鍵のハッシュ値を計算し、認証子として受信したハッシュ値と比較することで秘密鍵が正しく生成されたかどうか検証できる。また、認証子として秘密鍵の生成に使用する分散情報を結合した情報に対するハッシュ値を用いてもよい。この場合、秘密鍵の生成に使用した分散情報を結合し、そのハッシュ値を計算し、認証子として受信したハッシュ値と比較することで秘密鍵が正しい分散情報から生成されたかどうか検証できる。上述のような認証子を用いる場合には、鍵配布装置１３０において該当する認証子を生成し、予め分散情報保持装置へ認証子として配布しておく必要がある。【０２８０】
（不正装置特定部４１６）
不正装置特定部４１６は、秘密鍵検証部４１５で検証した秘密鍵が正しい「新しい秘密鍵」でないと判断された場合には、どの分散情報保持装置から受信した分散情報が不正な分散情報であったかを特定する。【０２８１】
以下、その動作について説明する。【０２８２】
不正装置特定部４１６は、図８にて示すように、第１分類部４２１、第２分類部４２２、組合生成部４２３、検証部４２４、排除部４２５及び秘密鍵生成部４２６から構成されている。【０２８３】
第１分類部４２１は、第３要求を、分散情報保持装置１２１〜１２６へ第１送受信部４０４を介して送信する。第１分類部４２１は、分散情報保持装置１２１〜１２６それぞれから当該分散情報保持装置が有する分散情報、第１及び第２他装置分散情報からなる分散情報群を受信する。第１分類部４２１は、受信した分散情報群に含まれる分散情報、第１及び第２他装置分散情報それぞれと、送信元の分散情報保持装置を識別する送信元識別情報（例えば、装置ＩＤ）とを対応付けて一時的に記憶する。第１分類部４２１は、リスト格納部４０２にて格納されている配布先リストＴ１００の内容に基づいて、同一の値となるべき分散情報と、第１及び第２他装置分散情報とからなる複数のグループを生成する。【０２８４】
第２分類部４２２は、第１分類部４２１にて生成された各グループにおいて、値が同一である情報毎にサブグループ化を行う。【０２８５】
組合生成部４２３は、各グループからサブグループを１つ選び出す組み合わせを全て生成する。【０２８６】
検証部４２４は、生成した組み合わせそれぞれに対して鍵候補値を算出し、算出した鍵候補値が正しい秘密鍵であるか否かを検証する。なお、検証方法は、秘密鍵検証部４１５にて行う検証方法と同一の方法を用いる。【０２８７】
排除部４２５は、秘密鍵検証部４１５の検証により鍵候補値が正しい秘密鍵であると判断される場合には、その時の組み合わせで選択されているサブグループに検証を通ったことを表す検証通過識別情報を対応付ける。つまり、不正な分散情報には検証通過識別情報が付与されないことになる。【０２８８】
すべての組み合わせで秘密鍵の生成・検証が行われた後、排除部４２５は、検証通過識別情報が付与されていない分散情報に対応する送信元識別情報を用いて、この情報を送信した分散情報保持装置を特定する。【０２８９】
秘密鍵生成部４２６は、排除部４２５にて特定された不正な分散情報保持装置を除く残りの分散保持情報から６つの分散情報（ｄ＿１〜ｄ＿６）を取得して、取得した６つの分散情報を用いて正しい秘密鍵を生成し、秘密鍵格納部４０１の秘密鍵を生成した秘密鍵で上書きして、格納する。さらに、秘密鍵生成部４２６は、認証局証明書格納部４１３の証明書を検証部４２４における検証に用いられた証明書で上書きして、格納する。【０２９０】
（鍵生成の具体例）
ここで、鍵生成の具体例を以下説明する。【０２９１】
秘密鍵生成部４２６は、不正な分散情報保持装置（ここでは、分散情報保持装置１２２とする）を除く残りの分散情報保持装置１２１、１２３〜１２６それぞれに割り当てられた分散情報（ｄ＿１、ｄ＿３、ｄ＿４、ｄ＿５、ｄ＿６）を取得する。秘密鍵生成部４２６は、分散情報“ｄ＿２”を、分散情報保持装置１２１が保持する第１他装置分散情報“ｄ１＿２”、若しくは分散情報保持装置１２３が保持する第２他装置分散情報“ｄ２＿２”を取得する。【０２９２】
これにより、秘密鍵生成部４２６は、６つの分散情報（ｄ＿１、ｄ＿２、ｄ＿３、ｄ＿４、ｄ＿５、ｄ＿６）を取得することができる。【０２９３】
なお、分散情報の取得方法は、上記の方法に限定されない。不正な分散情報保持装置を除く残りの分散保持情報から秘密鍵の回復に必要な各分散情報を取得することができれば、どのような方法でもよい。【０２９４】
（４）第１送受信部４０４
第１送受信部４０４は、鍵配布装置１３０から受け取った配布先リストＴ１００をリスト格納部４０２へ格納する。【０２９５】
第１送受信部４０４は、１台の分散情報保持装置から更新後の配布先リストを受け取ると、リスト格納部４０２の配布先リストを受け取った更新後の配布先リストで上書きして、格納する。【０２９６】
第１送受信部４０４は、各分散情報保持装置それぞれから受け取った情報を制御部４０３へ出力する。【０２９７】
第１送受信部４０４は、制御部４０３から受け取った情報を各分散情報保持装置それぞれへ送信する。【０２９８】
（５）第２送受信部４０５
第２送受信部４０５は、端末Ａ、端末Ｂ、及び端末Ｃからの要求を受け取ると、受け取った要求を制御部４０３へ出力し、端末Ａ、端末Ｂ、及び端末Ｃからの要求に応じて生成された証明書を要求元の端末へ送信する。【０２９９】
１．４  認証局システム１００の動作
ここでは、認証局システム１００の動作の動作について説明する。認証局システム１００は、上記“１．２．１  各装置の概要”にて示したように、初期設計処理、検知処理、解析・回復処理、次ラウンド準備処理、分散情報保持装置の脱退処理及び分散情報保持装置の追加処理を行う。【０３００】
認証局システム１００は、システム構築時に初期設計処理を行い、各分散情報保持装置へ分散情報を配布する。その後、認証局装置１４０が証明書発行などの通常の処理を行うと共に、分散情報保持装置が秘密鍵の漏洩を監視する検知処理を行う。検知処理中に、秘密鍵の漏洩が検知された場合には解析・回復処理を実行し、その後、次ラウンド準備処理を行い、最終的に検知処理に戻る。また、検知処理中に分散情報保持装置の脱退や追加が発生したときには、それぞれ分散情報保持装置の脱退処理や分散情報保持装置の追加処理を行い、各処理が終了した後には検知処理に戻る。【０３０１】
なお、上記すべての処理が必要ではなく、検知処理と解析・回復処理、脱退処理、追加処理のうちいずれか１つの処理を含めばよい。また、検知処理と解析・回復処理も、すべての処理が必要ではなく、外部から回復のトリガを与えられて回復と回復検証を行う処理があればよい。【０３０２】
以下、これら６つの処理について説明する。【０３０３】
１．４．１  初期設計処理
認証局システム１００における初期設計処理について、図９にて示す流れ図を用いて説明する。【０３０４】
初期設計処理は、認証局システム１００のセキュリティが崩壊する前に行われる。【０３０５】
鍵配布装置１３０の鍵ペア生成部３０１は、公開鍵暗号に基づく鍵ペア（公開鍵ＰＫ、秘密鍵ｄ）を生成する（ステップＳ５）。【０３０６】
秘密鍵分散部３０４は、鍵ペア生成部３０１により生成された秘密鍵ｄから秘密分散法を用いて分散情報（ｄ＿１、ｄ＿２、ｄ＿３、ｄ＿４、ｄ＿５、ｄ＿６）を生成する（ステップＳ１０）。言い換えると、秘密鍵分散部３０４は、秘密分散法を用いて秘密鍵ｄを分散情報（ｄ＿１、ｄ＿２、ｄ＿３、ｄ＿４、ｄ＿５、ｄ＿６）に分散（分解）する。【０３０７】
証明書生成部３０２は、秘密鍵が正しく生成できたかどうかの検証に利用する認証子として、鍵ペア生成部３０１によって生成された公開鍵ＰＫに対して、秘密鍵ｄを用いて証明書を生成する（ステップＳ１５）。【０３０８】
鍵配布装置１３０は、証明書配布部３０３と分散情報配布部３０５を用いて、分散情報保持装置１２１〜１２６及び認証局装置１４０へ、それぞれの装置が証明書、６つの分散情報及び配布先リストＴ１００のうち所有すべき情報を配布する（ステップＳ２０）。【０３０９】
具体的には、鍵配布装置１３０は、ｉ（ｉ＝１〜６）番目の分散情報保持装置へ、分散情報（ｄ＿ｉ、ｄ＿（ｉ＋１）、ｄ＿（ｉ−１））、証明書及び配布先リストＴ１００を配布する（ステップＳ２５〜ステップＳ３０）。また、鍵配布装置１３０は、配布先リストＴ１００のみを認証局装置１４０へ配布する（ステップＳ３１）。なお、ｉ＋１＝７の場合にはｉ＝１とし、ｉ−１＝０の場合にはｉ＝６とする。【０３１０】
最後に、鍵消去部３０６を用いて、鍵ペア生成部３０１により生成した鍵と秘密鍵から分散された分散情報を消去する。【０３１１】
１．４．２  分散情報の生成処理について
ここでは、図９のステップＳ１０にて行われる分散情報の生成処理について、図１０にて示す流れ図を用いて説明する。【０３１２】
秘密鍵分散部３０４は、乱数生成器を用いて、（ｋ−１）個（＝５個）の乱数を生成することにより、分散情報ｄ＿１、ｄ＿２、ｄ＿３、ｄ＿４、ｄ＿５を生成する（ステップＳ５０）。【０３１３】
秘密鍵分散部３０４は、
ｄ＿ｋ  ＝  ｄ  −  （ｄ＿１＋ｄ＿２＋ｄ＿３＋ｄ＿４＋ｄ＿５）
により、ｄ＿ｋ（＝ｄ＿６）を算出する（ステップＳ５５）。このとき、減算結果が負の数になる事もあるが、そのまま分散情報として扱う。【０３１４】
１．４．３  配布処理
ここでは、図９のステップＳ２０にて行われる分散情報、証明書及び配布先リストＴ１００の配布処理について、図１１にて示す流れ図を用いて説明する。【０３１５】
分散情報配布部３０５は、繰返制御部３５５により、ｉ＝１から６までの間、ステップＳ１００からステップＳ１３０までを繰り返す。【０３１６】
分散情報選択部３５２は、秘密鍵分散部３０４にて生成（分散）された分散情報（ｄ＿１、ｄ＿２、ｄ＿３、ｄ＿４、ｄ＿５、ｄ＿６）のうち、ｉ番目の分散情報ｄ＿ｉを選択する（ステップＳ１０５）。【０３１７】
装置選択部３５３は、装置情報リストＴ２００の内容に基づいて、ｉ番目の分散情報保持装置を選択する（ステップＳ１１０）。具体的には、装置選択部３５３は、ｉ番目の分散情報保持装置に対応する装置ＩＤを装置情報リストＴ２００から選択する。【０３１８】
また、装置選択部３５３は、ｉ番目の分散情報保持装置の両側に位置する（ｉ−１）番目の分散情報保持装置及び（ｉ＋１）番目の分散情報保持装置を、装置情報リストＴ２００の内容に基づいて選択する（ステップＳ１１５）。具体的には、装置選択部３５３は、（ｉ−１）及び（ｉ＋１）番目の分散情報保持装置それぞれに対応する装置ＩＤ（ＩＤ＿（ｉ−１）、ＩＤ＿（ｉ＋１））を装置情報リストＴ２００から選択する。ここで、ｉ＋１＝７である場合には、装置選択部３５３は、１番目の分散情報保持装置を選択する。また、ｉ−１＝０である場合には、装置選択部３５３は、６番目の分散情報保持装置を選択する。【０３１９】
装置選択部３５３は、ｉ番目の分散保持装置の装置ＩＤを自装置ＩＤとし、（ｉ＋１）番目の分散情報保持装置の装置ＩＤを第１他装置ＩＤとし、（ｉ−１）番目の分散情報保持装置の装置ＩＤを第２他装置ＩＤとして、配布先リストＴ１００に追加する（ステップＳ１２０）。【０３２０】
出力部３５４は、分散情報選択部３５２にて選択された分散情報ｄ＿ｉを、送信部３０７を介して、装置選択部３５３にて選択されたｉ、（ｉ−１）及び（ｉ＋１）番目の分散情報保持装置それぞれに出力する（ステップＳ１２５）。このとき、出力部３５４は、ｉ番目の分散情報保持装置に対しては、当該装置に割り当てられた分散情報として分散情報ｄ＿ｉを出力する。出力部３５４は、（ｉ＋１）番目の分散情報保持装置に対しては、第１他装置分散情報として分散情報ｄ＿ｉ（＝ｄ１＿ｉ）を出力する。出力部３５４は、（ｉ−１）番目の分散情報保持装置に対しては、第２他装置分散情報として分散情報ｄ＿ｉ（＝ｄ２＿ｉ）を出力する。【０３２１】
出力部３５４は、全ての分散情報の配布が終了すると、装置選択部３５３にて生成された配布先リストＴ１００を、分散情報保持装置１２１〜１２６及び認証局装置１４０へ出力する（ステップＳ１３５）。【０３２２】
証明書配布部３０３は、証明書生成部３０２にて生成された証明書を、分散情報保持装置１２１〜１２６へ出力する（ステップＳ１４０）。【０３２３】
１．４．４  検知処理
認証局装置１４０は、端末から証明書の発行依頼を受けて証明書を発行するために、秘密鍵格納部４０１に格納している秘密鍵を用いて署名を付けた証明書を端末証明書発行部４１２により生成し、端末へ送付する。また認証局装置１４０は保持する秘密鍵に対する公開鍵の証明書を認証局証明書格納部４１３に保持し、端末から認証局装置１４０に対する証明書の送信要求があった場合に送信する。【０３２４】
認証局装置１４０の解析部４１７は、認証局システム１００が上記のような運用されている間、秘密鍵１４１が漏洩していないかを定期的に調べるために、外部装置（図示せず）との通信を行う。【０３２５】
１．４．５  解析・回復処理
解析部４１７は、検知処理において外部装置（図示せず）から秘密鍵漏洩の通知を受けると証明書の発行を停止し、自装置のログをチェックし漏洩原因を解析し、鍵の回復を行うか否かの判断を行う。【０３２６】
解析と判断の結果、秘密鍵の更新の必要があると判断された場合には、鍵の回復を行う旨の回復指示を秘密鍵生成部４１４へ出力する。【０３２７】
秘密鍵生成部４１４は、解析部４１７から回復指示を受け取ると、鍵回復処理を開始する。【０３２８】
以降、鍵回復処理について、図１２にて示す流れ図を用いて説明する。【０３２９】
秘密鍵生成部４１４は、解析部４１７から回復指示を受け取ると、第１要求を分散情報保持装置１２１〜１２６へ出力して、分散情報（ｄ＿１〜ｄ＿６）を収集する（ステップＳ２００）。【０３３０】
分散情報保持装置１２１〜１２６は、自装置が所有する分散情報を認証局装置１４０へ出力する（ステップＳ２０５〜Ｓ２１０）。具体的には、ｉ番目の分散情報保持装置は、分散情報“ｄ＿ｉ”を認証局装置１４０へ出力する。【０３３１】
秘密鍵生成部４１４は、収集した各分散情報（ｄ＿１〜ｄ＿６）から値ｄ’（＝ｄ＿１＋ｄ＿２＋ｄ＿３＋ｄ＿４＋ｄ＿５＋ｄ＿６）を算出する（ステップＳ２１５）。【０３３２】
秘密鍵検証部４１５は、第２要求を分散情報保持装置１２１〜１２６へ出力して、分散情報保持装置１２１〜１２６それぞれから証明書を収集する（ステップＳ２２０）。【０３３３】
分散情報保持装置１２１〜１２６は、自装置が所有する証明書を認証局装置１４０へ出力する（ステップＳ２２５〜Ｓ２３０）。【０３３４】
秘密鍵検証部４１５は、受信した証明書がすべて同じ証明書であることを確認して、算出された値ｄ’と証明書を用いて、秘密鍵生成部４１４で算出された値ｄ’が秘密鍵ｄと同一であるか否かを検証、つまり、秘密鍵生成部４１４にて算出した値ｄ’が、正しい「新しい秘密鍵」であるかどうかを検証する（ステップＳ２３５）。なお、受信した証明書がすべて同じ値ではなかった場合には、受信した証明書のうち、同じ証明書の数が一番多い証明書を正しい証明書として、秘密鍵検証部４１５は、値ｄ’の検証を行う。【０３３５】
以下、図１２のステップＳ２３５にて行われる算出した値の検証処理（鍵検証処理）について、説明する。【０３３６】
（鍵検証処理）
ここでは、鍵検証処理について、図１３にて示す流れ図を用いて説明する。【０３３７】
秘密鍵検証部４１５は、算出された値ｄ’を用いて、証明書に含まれる公開鍵ＰＫに対する署名Ｓ’（＝Ｓｉｇ（ｄ’、ＰＫ））を生成する（ステップＳ２５０）。【０３３８】
秘密鍵検証部４１５は、証明書に含まれる署名Ｓと一致するかを比較する（ステップＳ２５５）。【０３３９】
一致すると判断する場合には（ステップＳ２５５における「ＹＥＳ」）、秘密鍵検証部４１５は、秘密鍵生成部４１４にて算出した値ｄ’が正しい「新しい秘密鍵」であるとして、秘密鍵格納部４０１の秘密鍵を新しい秘密鍵、つまり値ｄ’で上書きして、格納する（ステップＳ２６０）。秘密鍵検証部４１５は、認証局証明書格納部４１３の証明書を検証に用いた証明書で上書きして、格納する（ステップＳ２６５）。【０３４０】
一致しないと判断する場合には（ステップＳ２５５における「ＮＯ」）、不正装置特定部４１６による不正装置の検出処理が行われる（ステップＳ２７０）。【０３４１】
（不正装置の検出処理）
ここでは、図１３のステップＳ２７０にて行われる不正装置の検出処理について、図１４及び図１５にて示す流れ図を用いて説明する。【０３４２】
不正装置特定部４１６の第１分類部４２１は、第３要求を分散情報保持装置１２１〜１２６へ出力して、分散情報保持装置１２１〜１２６それぞれから情報分散群を収集する（ステップＳ３００）。なお、このとき、不正装置特定部４１６は、分散情報保持装置１２１〜１２６それぞれから分散情報群を受信すると、受信した分散情報群に含まれる各情報に対して送信元識別情報を対応付ける。【０３４３】
第１分類部４２１は、リスト格納部４０２にて格納されている配布先リストＴ１００の内容に基づいて、同一の値となるべき分散情報と、第１及び第２他装置分散情報とからなる複数のグループを生成する（ステップＳ３０５）。【０３４４】
第２分類部４２２は、生成した各グループにおいて、値が同一である情報毎にサブグループ化を行う（ステップＳ３１０）。【０３４５】
組合生成部４２３は、各グループからサブグループを１つ選び出す組み合わせを全て生成する（ステップＳ３１５）。【０３４６】
検証部４２４は、１つの組み合わせを選択する（ステップＳ３２０）。【０３４７】
検証部４２４は、選択した１つの組み合わせに対して鍵候補値を生成し（ステップＳ３２５）、算出した鍵候補値が正当であるか否かを検証する（ステップＳ３３０）。なお、ステップＳ３３０における検証方法は、図１３にて示すステップＳ２５０及びＳ２５５と同様の動作により実現できる。【０３４８】
検証部４２４の検証により鍵候補値が正当、つまり正しい秘密鍵であると判断される場合には（ステップＳ３３０における「ＹＥＳ」）、排除部４２５は、その時の組み合わせで選択されているサブグループに検証を通ったことを表す検証通過識別情報を対応付ける（ステップＳ３３５）。【０３４９】
検証部４２４は、次の組み合わせが存在するか否かを判断する（ステップＳ３４０）。【０３５０】
次の組み合わせが存在すると判断する場合には（ステップＳ３４０における「ＹＥＳ」）、処理動作は、ステップＳ３２０へ戻る。【０３５１】
次の組み合わせが存在しないと判断する場合には（ステップＳ３４０における「ＮＯ」）、排除部４２５は、検証通過情報が対応付けられていないサブグループから不正な分散情報保持装置を特定する（ステップＳ３４５）。【０３５２】
秘密鍵生成部４２６は、排除部４２５にて特定された不正な分散情報保持装置を除く残りの分散保持情報が有する分散情報それぞれを用いて正しい秘密鍵を生成する（ステップＳ３５０）。【０３５３】
秘密鍵生成部４２６は、秘密鍵格納部４０１の秘密鍵を生成した秘密鍵で上書きして、格納する（ステップＳ３５５）。秘密鍵生成部４２６は、認証局証明書格納部４１３の証明書を検証に用いた証明書で上書きして、格納する（ステップＳ３６０）。【０３５４】
検証部４２４の検証により鍵候補値が正当でないと判断される場合には（ステップＳ３３０における「ＮＯ」）、処理動作は、ステップＳ３４０へ移行する。【０３５５】
（具体例）
不正装置特定部４１６で不正な分散情報保持装置を特定するために、各分散情報保持装置で所有している分散情報と他の装置と共通に持っている分散情報の両方の分散情報を利用する。不正な分散情報保持装置の特定方法の具定例を図１６、図１７を用いて説明する。【０３５６】
ここでは、分散情報保持装置１２２が保持する分散情報、第１及び第２他装置分散情報が不正な値（ｆ＿２、ｆ１＿３、ｆ２＿１）に改竄されているものとする。【０３５７】
不正装置特定部４１６は、分散情報保持装置１２１〜１２６毎に、分散情報群５０１〜５０６を収集し、収集した各分散情報群５０１〜５０６それぞれに含まれる情報毎に、装置ＩＤを対応付ける。【０３５８】
その結果を図１６にて示す。例えば、不正装置特定部４１６は、分散情報群５０１を、分散情報保持装置１２１から受信したので、その送信元を識別するために送信元識別情報として装置ＩＤ“ＩＤ＿１”が、分散情報２１１、２１２＿１、２１６＿１に対応付けられている。他の分散情報群に対しても同様に、各装置ＩＤが対応付けられている。【０３５９】
不正装置特定部４１６は、配布先リストＴ１００を用いて、同一の値となるべき３つの情報からなる６個のグループを生成する。例えば、分散情報“ｄ＿１”２１１は、第２他装置分散情報“ｆ２＿１”２１１＿２ａ、及び第１他装置分散情報“ｄ１＿１”２１１＿６と同一となるべきなので、分散情報“ｄ＿１”２１１、第２他装置分散情報“ｆ２＿１”２１１＿２ａ、及び第１他装置分散情報“ｄ１＿１”２１１＿６からなるグループ５１１を生成する。分散情報“ｄ＿２”２１２から分散情報“ｄ＿６”２１６に対しても、同様に、グループ５１２〜５１６を生成する。【０３６０】
不正装置特定部４１６は、グループ５１１〜５１６それぞれに対して、同一の値である情報からなるサブグループを生成する。例えば、グループ５１１に対しては、第２他装置分散情報“ｆ２＿１”２１１＿２ａのみからなるサブグループ５１１＿１と、分散情報“ｄ＿１”２１１及び第１他装置分散情報“ｄ１＿１”２１１＿６からなるサブループ５１１＿２とが生成される。【０３６１】
グループ５１１〜５１６の生成結果、及びグループ５１１〜５１６それぞれに対するサブグループの生成の結果を図１７に示す。【０３６２】
グループ５１１〜５１３は、分散情報保持装置１２２が不正な値を送信しているために、分散情報保持装置１２２から受信した分散情報２１２ａと他装置分散情報２１１＿２ａ、２１３＿２ａが、同一となるべき分散情報の値と異なるために、グループ５１１〜５１３のそれぞれに対しては、２つのサブグループに分割される。一方、グループ５１４〜５１６は、それぞれ３つの分散情報が同じ値になるために、それぞれのグループには、１つのサブグループのみ存在する。【０３６３】
このグループ分割は、どの分散情報保持装置が不正な動作を行うかや、その不正な分散情報保持装置がどのように振る舞うかによって異なるものであり、必ずしも図１７に示されるようなグループ分割になるとは限らない。【０３６４】
グループ分割が終了すると、不正装置特定部４１６は、グループ１〜６の中からサブグループを１つずつ選び出す組み合わせのすべてを生成し、秘密鍵生成部４１４を用いてその組み合わせそれぞれに対して秘密鍵を生成し、秘密鍵検証部４１５を用いて正しい秘密鍵が生成できたかを検証する。【０３６５】
全ての組み合わせに対して検証を行った後、不正装置特定部４１６は、検証通過識別情報の付いているサブグループに含まれる分散情報を取り除く。ここで取り除かれずに残った分散情報が不正な値になっている分散情報である。そして、この分散情報に対応付けられた送信元識別情報から送信した分散情報保持装置を特定する。このように特定された分散情報保持装置が不正な分散情報を送信した不正な装置である。【０３６６】
図１７においては、サブグループ５１１＿２と５１２＿２、５１３＿２、５１４＿１、５１５＿１、５１６＿１の組み合わせから正しい秘密鍵が生成されるので、それを取り除いた後に残されるサブグループ５１１＿１と５１２＿１、５１３＿１に含まれる分散情報が不正な分散情報であると判断できる。この不正な分散情報はすべて分散情報保持装置１２２から送信された分散情報であるので、分散情報保持装置１２２が不正な分散情報保持装置であると特定できる。【０３６７】
上記の処理により、認証局装置１４０は不正な分散情報保持装置を特定し、その分散情報保持装置を除いて受信した分散情報だけを用いて「新しい秘密鍵」を回復し、認証局装置１４０としての機能を回復することが出来る。【０３６８】
ここで、上記の不正分散情報保持装置を特定する方法を用いると、例えば、分散情報保持装置１２２が分散情報２１２ａのみ不正な値を送信し、正しい第１及び第２他装置分散情報“ｄ１＿３”２１１＿２と“ｄ２＿１”２１１＿２を送信していた場合は、グループ５１２のみが、分散情報２１２ａのみからなるサブグループ５１２＿１と、分散情報２１２＿１及び分散情報２１２＿３からなるサブグループ５１２＿２とが生成され、他のグループは１つのサブグループのみとなるため、正しい「新しい秘密鍵」が生成されるサブグループの分散情報を取り除くと、分散情報２１２ａのみが残ることになる。従って、分散情報２１２ａを送信した分散情報保持装置１２２が不正な分散情報保持装置であると特定できる。上記構成を用いる場合、１つの分散情報を３つの分散情報保持装置で共通に持っているので、それらの共通の分散情報補を持つ３つの分散情報保持装置がすべて不正な動作をした時に、正しい「新しい秘密鍵」に回復できなくなる。【０３６９】
また、上記のように、初期設計時に同じ値になるように配布された分散情報をまとめたグループをさらに、値が同じになるサブグループに分類することで、その後の組み合わせを生成するときに、サブグループに分類しないときと比較すると生成される組み合わせの数を減らすことが出来る。そのため、その組み合わせを用いた秘密鍵の生成や検証の処理回数を減らすことが出来る。【０３７０】
なお、不正装置特定部４１６による特定方法は、上記に示した方法に限定するものではなく、例えば、１つの分散情報保持装置が保持する分散情報を除いた分散情報で「新しい秘密鍵」を生成することで、「新しい秘密鍵」が正しく回復できた時に分散情報を除かれていた分散情報保持装置が不正な分散情報保持装置であったと特定でき、同様に、２つの分散情報保持装置が保持が保持する分散情報を除いた分散情報で「新しい秘密鍵」を生成することで、２つ以下の分散情報保持装置が不正な場合を、特定することができる。【０３７１】
１．４．６  次ラウンド準備処理の動作
認証局装置１４０が解析・回復処理を行い機能を回復した後、また秘密鍵が漏洩する場合に備えて、分散情報保持装置１２１〜１２６へ次の秘密鍵回復のための分散情報を埋め込む次ラウンド準備処理を行う必要がある。【０３７２】
次ラウンド準備処理としては、初期設計時と同様に、鍵配布装置１３０が鍵ペアの生成、秘密鍵から分散情報の生成、公開鍵に対する証明書の生成、分散情報と証明書の分散情報保持装置への配布の各処理を行う。【０３７３】
この時、解析・回復処理で特定した不正な分散情報保持装置に対して、分散情報を配布しないようにすることで、不正な分散情報保持装置をシステムから除外してもよい。【０３７４】
なお、次ラウンド準備処理を初期設計時の鍵配布装置１３０が処理を行うとしたが、これに限定するものではなく、初期設計時とは別の鍵配布装置が処理を行うとしてもよい。また、初期設計時に複数の「新しい秘密鍵」から分散情報を生成し、それを分散情報保持装置へ配布しておく構成にし、次ラウンド準備の処理で分散情報の配布処理を行わない構成にしてもよい。この場合、分散情報を使用する順番を初期設計時に指定しておいてもよいし、初期設計時にはラウンド識別子を付加しておき、次ラウンド準備の処理で、次のラウンドではどのラウンド識別子が付加された分散情報を使用するかを指定するようにしてもよい。【０３７５】
１．４．７  脱退処理の動作
ここでは、脱退処理について、図１８にて示す流れ図を用いて説明する。【０３７６】
この処理では、分散情報保持装置が不正な動作を行う可能性を考え、分散情報保持装置間で送信されるデータが正しいデータであるかを常に検証することで、不正な動作を行う分散情報保持装置が存在した場合に検知できるようにしている。さらに、各処理において、分散情報の値を更新する場合には、更新前の分散情報の値を退避しておき、脱退処理中に不正な動作を行う分散情報保持装置の存在を検知した場合には、脱退処理を中止し、分散情報の値を脱退処理前の値に戻すことで、分散情報が不正な値になることを防止する。【０３７７】
また、当該処理では、脱退する分散情報保持装置が所有する分散情報と同じ分散情報を持つ分散情報保持装置が分散情報の生成及び配布を行うものとする。この様な処理にすることで、脱退する分散情報保持装置が脱退処理を行わなくても分散情報を更新することが可能となり、不正な動作を行う分散情報保持装置を無効化する処理などにも利用できる。【０３７８】
なお、脱退対象となる装置を分散情報保持装置１２１とし、部分情報の生成を分散情報保持装置１２６が行うものとして、以下説明する。【０３７９】
認証局システム１００の分散情報保持装置１２６は、外部の装置（図示せず）から、脱退対象の分散情報保持装置１２１が有する分散情報“ｄ＿１”と同一の他装置分散情報から部分情報を生成する旨の脱退時の部分情報生成指示を受け取る。【０３８０】
分散情報保持装置１２６は、第１他装置分散情報“ｄ１＿１”から５つの分散情報を生成し、配布する処理を行う（ステップＳ４００）。言い換えると、分散情報保持装置１２６は、第１他装置分散情報“ｄ１＿１”を、５つの分散情報に分散（分解）する。【０３８１】
分散情報保持装置１２６が有する第１他装置分散情報“ｄ１＿１”と同一の情報を持つべき装置である分散情報保持装置１２２は、部分情報に用いられた第１他装置分散情報“ｄ１＿１”の検証を行う（ステップＳ４０５）。【０３８２】
分散情報保持装置１２２〜１２６は、脱退時における第１及び第２更新処理を行い、それぞれが保持する分散情報、第１及び第２他装置分散情報を更新する（ステップＳ４１０、Ｓ４１５）。【０３８３】
分散情報保持装置１２２〜１２６は、更新が正常に行われたか否かを判断する（ステップＳ４２０）。このとき、分散情報保持装置１２２〜１２５は、判断結果を部分情報送信元である分散情報保持装置１２６へ通知する。具体的には、分散情報を共通に持っている分散情報保持装置同士で、分散情報検証部２６２＿ｊ及び他装置分散情報検証部２６３＿ｊを用いて、互いに持っている分散情報が同じ値に更新されたかを、セキュリティの確保された通信路で分散情報を送りあい、受信した分散情報と各自が保持していた分散情報が同じ値かどうかを検証する。分散情報保持装置１２２〜１２５は、検証結果を分散情報保持装置１２６へ通知し、分散情報保持装置１２６は、検証結果を一時的に保持する。【０３８４】
全ての装置にて更新が正常に行われた場合には（ステップＳ４２０における「ＹＥＳ」）、分散情報保持装置１２６は、配布先リストＴ１００を更新する。分散情報保持装置１２６は、更新後の配布先リストをリスト格納部２５４＿６へ格納するとともに、分散情報保持装置１２２〜１２５及び認証局装置１４０へ送信する。分散情報保持装置１２２〜１２５及び認証局装置１４０は、現在格納している配布先リストから更新後の配布先リストへと更新する（ステップＳ４２５）。【０３８５】
全ての装置にて更新が正常に行われていない場合には（ステップＳ４２０における「ＮＯ」）、分散情報保持装置１２６は、分散情報保持装置１２２〜１２５へその旨を通知する。分散情報保持装置１２６、及び通知を受けた分散情報保持装置１２２〜１２５は、脱退処理を中止し、自装置の分散情報の値を脱退処理の前に戻し、処理を終了する。【０３８６】
なお、セキュリティの確保された通信路で分散情報を送りあい、受信した分散情報と同じ値かどうかを検証するとしたが、これに限定するものではなく、ゼロ知識証明などの暗号プロトコルを使用して検証してもよい。ゼロ知識証明については、非特許文献１の１３２〜１５０ページに、暗号プロトコルについては、非特許文献１の２２４〜２２５ページに詳しく説明されている。【０３８７】
以下、ステップＳ４００からＳ４１５にて行われる各処理について説明する。【０３８８】
（部分情報の生成処理）
ここでは、図１８のステップＳ４００にて示す部分情報の生成処理について、図１９にて示す流れ図を用いて説明する。【０３８９】
分散情報保持装置１２６の分散情報分割部２６１＿６は、第１他装置分散情報“ｄ１＿１”２１１＿６から５つの部分情報（ｄ＿１＿１〜ｄ＿１＿５）を生成する（ステップＳ４５０）。このとき、各部分情報は、次式を満たすものとする。【０３９０】
（式）  ｄ１＿１＝ｄ＿１＿１＋ｄ＿１＿２＋ｄ＿１＿３＋ｄ＿１＿４＋ｄ＿１＿５  ｍｏｄ  Ｌ  
具体的には、分散情報分割部２６１＿６は、乱数生成器を用いて、（ｋ−２）個（＝４個）の乱数を生成することにより、部分情報（ｄ＿１＿１〜ｄ＿１＿４）を生成する。次に、分散情報分割部２６１＿６は、
ｄ＿１＿５  ＝  ｄ１＿１  −  （ｄ＿１＿１＋ｄ＿１＿２＋ｄ＿1＿３＋ｄ＿１＿４）
により、ｄ＿１＿５を算出する。このとき、減算結果が負の数になる事もあるが、そのまま部分情報として扱う。【０３９１】
分散情報分割部２６１＿６は、脱退対象の装置（ここでは、分散情報保持装置１２１）が保持する分散情報“ｄ＿１”及びこの情報と同一の値となるべき情報“ｄ１＿１”及び“ｄ２＿１”を除く残りの分散情報に対して、同一となるべき分散情報毎に、異なる部分情報を割り当てる。具体的には、部分情報ｄ＿１＿ｉを分散情報ｄ＿（ｉ＋１）に割り当てる。【０３９２】
分散情報分割部２６１＿６は、配布先リストＴ１００の内容に基づいて、配布先の分散情報保持装置毎に、２つ若しくは３つの部分情報を配布する（ステップＳ４５５）。なお、自装置へは２つの部分情報が配布されるが、この場合、分散情報分割部２６１＿ｊは、分散情報更新部２６０＿ｊへ出力する。【０３９３】
具体的には、分散情報分割部２６１＿６は、以下のように各部分情報を配布する。【０３９４】
分散情報分割部２６１＿６は、部分情報ｄ＿１＿１、ｄ＿１＿２を分散情報保持装置１２２へ送信する（ステップＳ４６０）。分散情報分割部２６１＿６は、部分情報ｄ＿１＿１、ｄ＿１＿２、ｄ＿１＿３を分散情報保持装置１２３へ送信する（ステップＳ４６１）。分散情報分割部２６１＿６は、部分情報ｄ＿１＿２、ｄ＿１＿３、ｄ＿１＿４を分散情報保持装置１２４へ送信する（ステップＳ４６２）。分散情報分割部２６１＿６は、部分情報ｄ＿１＿３、ｄ＿１＿４、ｄ＿１＿５を分散情報保持装置１２５へ送信する（ステップＳ４６３）。分散情報分割部２６１＿６は、部分情報ｄ＿１＿４、ｄ＿１＿５を分散情報更新部２６０＿６へ出力し、一時的に記憶する。ｉ番目の分散情報保持装置は、受信した各部分情報を分散情報更新部２６０＿ｊに一時的に格納する。【０３９５】
（分散情報の検証処理）
ここでは、図１８のステップＳ４０５にて示す分散情報の検証処理について、図２０にて示す流れ図を用いて説明する。【０３９６】
分散情報２１１＿６が正当な値であることを検証するために分散情報保持装置１２２が保持する第２他装置分散情報２１１＿２を利用する。【０３９７】
部分情報検証部２６４＿２は、分散情報保持装置１２６から部分情報検証指示を、受信部２５７＿ｊを介して受け取ると、分散情報保持装置１２１を除く残りの装置１２３、１２４、１２５及び１２６それぞれから部分情報ｄ＿１＿２、ｄ＿１＿３、ｄ＿１＿４、ｄ＿１＿５を収集する（ステップＳ４７０）。【０３９８】
具体的には、ｉ番目（ｉ＝３〜６）の分散情報保持装置は部分情報ｄ＿１＿（ｉ−１）を分散情報保持装置１２２へ出力する（ステップＳ４７１〜Ｓ４７４）。【０３９９】
部分情報検証部２６４＿２は、分散情報更新部２６０＿ｊにて記憶しているｄ＿１＿１と、受信した各部分情報ｄ＿１＿２、ｄ＿１＿３、ｄ＿１＿４、ｄ＿１＿５とを加算し、値ｓ’を算出し、算出した値ｓ’が正当であるか否かを検証する（ステップＳ４８０）。具体的には、部分情報検証部２６４＿２は、算出した値ｓ’と、他装置分散情報格納部２５２＿ｊに格納されている第２他装置分散情報“ｄ２＿１”とが一致するか否かを判断する。【０４００】
部分情報検証部２６４＿２は、検証結果を各分散情報保持装置１２３〜１２６へ通知する（ステップＳ４８５）。具体的には、部分情報検証部２６４＿２は、検証結果により、値ｓ’が第２他装置分散情報“ｄ２＿１”と同一であると判断する場合には、同一である旨の検証結果を各分散情報保持装置１２３〜１２６へ出力する。同一でないと判断する場合には、部分情報検証部２６４＿２は、同一でない旨の検証結果を各分散情報保持装置１２３〜１２６へ出力する。なお、当該装置に対しては、検証結果を分散情報更新部２６０＿ｊへ出力する。【０４０１】
（脱退時の第１更新処理）
ここでは、図１８のステップＳ４１０にて示す脱退時の第１更新処理について、図２１及び図２２にて示す流れ図を用いて説明する。【０４０２】
分散情報保持装置１２２の分散情報更新部２６０＿２は、部分情報検証部２６４＿２にて行われた検証の結果により、分散情報保持装置１２６の第１他装置分散情報“ｄ１＿１”が正当であるか否かを判断する（ステップＳ５００）。正当であると判断する場合には（ステップＳ５００における「ＹＥＳ」）、分散情報更新部２６０＿２は、一時的に記憶している部分情報“ｄ＿１＿１”を用いて分散情報“ｄ＿２”を更新する（ステップＳ５０５）。具体的には、分散情報更新部２６０＿２は、分散情報“ｄ＿２”に部分情報“ｄ＿１＿１”を加算することにより、新たな分散情報“ｄ＿２’（＝ｄ＿２＋ｄ＿１＿１）”を算出する。次に、分散情報更新部２６０＿２は、一時的に記憶している部分情報“ｄ＿１＿２”を用いて第１他装置分散情報“ｄ１＿３”を更新する（ステップＳ５１０）。具体的には、分散情報更新部２６０＿２は、第１他装置分散情報“ｄ１＿３”に部分情報“ｄ＿１＿２”を加算することにより、新たな分散情報“ｄ１＿３’（＝ｄ１＿３＋ｄ＿１＿２）”を算出する。【０４０３】
分散情報保持装置１２３の分散情報更新部２６０＿３は、分散情報保持装置１２２から受け取った検証結果により、分散情報保持装置１２６の第１他装置分散情報“ｄ１＿１”が正当であるか否かを判断する（ステップＳ５２０）。正当であると判断する場合には（ステップＳ５２０における「ＹＥＳ」）、分散情報更新部２６０＿３は、一時的に記憶している部分情報“ｄ＿１＿２”を用いて分散情報“ｄ＿３”を更新する（ステップＳ５２５）。具体的には、分散情報更新部２６０＿３は、分散情報“ｄ＿３”に部分情報“ｄ＿１＿２”を加算することにより、新たな分散情報“ｄ＿３’（＝ｄ＿３＋ｄ＿１＿２）”を算出する。次に、分散情報更新部２６０＿３は、一時的に記憶している部分情報“ｄ＿１＿３”、及び“ｄ＿１＿１”を用いて第１及び他装置分散情報“ｄ１＿４”、“ｄ２＿２”を更新する（ステップＳ５３０）。具体的には、分散情報更新部２６０＿３は、第１他装置分散情報“ｄ１＿４”に部分情報“ｄ＿１＿３”を加算することにより、新たな分散情報“ｄ１＿４’（＝ｄ１＿４＋ｄ＿１＿３）”を算出する。分散情報更新部２６０＿３は、第２他装置分散情報“ｄ２＿２”に部分情報“ｄ＿１＿１”を加算することにより、新たな分散情報“ｄ２＿３’（＝ｄ２＿２＋ｄ＿１＿１）”を算出する。【０４０４】
分散情報保持装置１２４の分散情報更新部２６０＿４は、分散情報保持装置１２２から受け取った検証結果により、分散情報保持装置１２６の第１他装置分散情報“ｄ１＿１”が正当であるか否かを判断する（ステップＳ５４０）。正当であると判断する場合には（ステップＳ５４０における「ＹＥＳ」）、分散情報更新部２６０＿４は、一時的に記憶している部分情報“ｄ＿１＿３”を用いて分散情報“ｄ＿４”を更新する（ステップＳ５４５）。具体的には、分散情報更新部２６０＿４は、分散情報“ｄ＿４”に部分情報“ｄ＿１＿３”を加算することにより、新たな分散情報“ｄ＿４’（＝ｄ＿４＋ｄ＿１＿３）”を算出する。次に、分散情報更新部２６０＿４は、一時的に記憶している部分情報“ｄ＿１＿４”、及び“ｄ＿１＿２”を用いて第１及び他装置分散情報“ｄ１＿５”、“ｄ２＿３”を更新する（ステップＳ５５０）。具体的には、分散情報更新部２６０＿４は、第１他装置分散情報“ｄ１＿５”に部分情報“ｄ＿１＿４”を加算することにより、新たな分散情報“ｄ１＿５’（＝ｄ１＿５＋ｄ＿１＿４）”を算出する。分散情報更新部２６０＿４は、第２他装置分散情報“ｄ２＿３”に部分情報“ｄ＿１＿２”を加算することにより、新たな分散情報“ｄ２＿３’（＝ｄ２＿３＋ｄ＿１＿２）”を算出する。【０４０５】
分散情報保持装置１２５の分散情報更新部２６０＿５は、分散情報保持装置１２２から受け取った検証結果により、分散情報保持装置１２６の第１他装置分散情報“ｄ１＿１”が正当であるか否かを判断する（ステップＳ５６０）。正当であると判断する場合には（ステップＳ５６０における「ＹＥＳ」）、分散情報更新部２６０＿５は、一時的に記憶している部分情報“ｄ＿１＿４”を用いて分散情報“ｄ＿５”を更新する（ステップＳ５６５）。具体的には、分散情報更新部２６０＿５は、分散情報“ｄ＿５”に部分情報“ｄ＿１＿４”を加算することにより、新たな分散情報“ｄ＿５’（＝ｄ＿５＋ｄ＿１＿４）”を算出する。次に、分散情報更新部２６０＿５は、一時的に記憶している部分情報“ｄ＿１＿５”、及び“ｄ＿１＿３”を用いて第１及び他装置分散情報“ｄ１＿６”、“ｄ２＿４”を更新する（ステップＳ５７０）。具体的には、分散情報更新部２６０＿５は、第１他装置分散情報“ｄ１＿６”に部分情報“ｄ＿１＿５”を加算することにより、新たな分散情報“ｄ１＿６’（＝ｄ１＿６＋ｄ＿１＿５）”を算出する。分散情報更新部２６０＿５は、第２他装置分散情報“ｄ２＿４”に部分情報“ｄ＿１＿３”を加算することにより、新たな分散情報“ｄ２＿４’（＝ｄ２＿４＋ｄ＿１＿３）”を算出する。【０４０６】
分散情報保持装置１２６の分散情報更新部２６０＿６は、分散情報保持装置１２２から受け取った検証結果により、当該装置の第１他装置分散情報“ｄ１＿１”が正当であるか否かを判断する（ステップＳ５８０）。正当であると判断する場合には（ステップＳ５８０における「ＹＥＳ」）、分散情報更新部２６０＿６は、一時的に記憶している部分情報“ｄ＿１＿５”を用いて分散情報“ｄ＿６”を更新する（ステップＳ５８５）。具体的には、分散情報更新部２６０＿６は、分散情報“ｄ＿６”に部分情報“ｄ＿１＿５”を加算することにより、新たな分散情報“ｄ＿６’（＝ｄ＿６＋ｄ＿１＿５）”を算出する。次に、分散情報更新部２６０＿６は、一時的に記憶している部分情報“ｄ＿１＿４”を用いて第２他装置分散情報“ｄ２＿５”を更新する（ステップＳ５９０）。具体的には、分散情報更新部２６０＿６は、第２他装置分散情報“ｄ２＿５”に部分情報“ｄ＿１＿４”を加算することにより、新たな分散情報“ｄ２＿５’（＝ｄ２＿５＋ｄ＿１＿４）”を算出する。【０４０７】
各分散情報保持装置１２２〜１２６において、第１他装置分散情報“ｄ１＿１”が正当でないと判断する場合には（ステップＳ５００、Ｓ５２０、Ｓ５４０、Ｓ５６０及びＳ５８０における「ＮＯ」）、検証の結果が一致しないと通知を受け取った場合には、分散情報保持装置１２２か１２６が不正な動作を行っているので、各分散情報保持装置は、脱退処理を中止する。【０４０８】
（脱退時の第２更新処理）
ここでは、図１８のステップＳ４１５にて示す脱退時の第２更新処理について、図２３にて示す流れ図を用いて説明する。【０４０９】
分散情報保持装置１２６の分散情報更新部２６０＿６は、分散情報“ｄ＿６’”を分散情報保持装置１２２へ出力する（ステップＳ６００）。【０４１０】
分散情報保持装置１２２の分散情報更新部２６０＿２は、分散情報“ｄ＿２’”を分散情報保持装置１２６へ出力する（ステップＳ６０５）。【０４１１】
分散情報更新部２６０＿６は、分散情報“ｄ＿２’”及び“ｄ２＿２’”を収集する（ステップＳ６１０）。このとき、分散情報保持装置１２３の分散情報更新部２６０＿３は分散情報“ｄ２＿２’”を送信する（ステップＳ６１１）。【０４１２】
分散情報更新部２６０＿２は、分散情報“ｄ＿６’”及び“ｄ２＿６’”を収集する（ステップＳ６１５）。このとき、分散情報保持装置１２３の分散情報更新部２６０＿３は分散情報“ｄ２＿２’”を送信する（ステップＳ６１６）。【０４１３】
分散情報更新部２６０＿６は、収集した分散情報“ｄ＿２’”及び“ｄ２＿２’”が一致するか否かを判断する（ステップＳ６２０）。一致すると判断する場合には（ステップＳ６２０における「ＹＥＳ」）、分散情報更新部２６０＿６は、第１他装置分散情報を“ｄ＿２’”とする（ステップＳ６２５）。【０４１４】
分散情報更新部２６０＿２は、収集した分散情報“ｄ＿６’”及び“ｄ２＿６’”が一致するか否かを判断する（ステップＳ６３０）。一致すると判断する場合には（ステップＳ６３０における「ＹＥＳ」）、分散情報更新部２６０＿２は、第２他装置分散情報を“ｄ＿６’”とする（ステップＳ６３５）。【０４１５】
分散情報更新部２６０＿６は、一致しないと判断する場合には（ステップＳ６２０における「ＮＯ」）、分散情報保持装置１２６は、分散情報保持装置１２２〜１２５へその旨を通知する。分散情報保持装置１２６、及び通知を受けた分散情報保持装置１２２〜１２５は、脱退処理を中止し、自装置の分散情報の値を脱退処理の前に戻し、処理を終了する。【０４１６】
分散情報更新部２６０＿２は、一致しないと判断する場合には（ステップＳ６３０における「ＮＯ」）、分散情報保持装置１２２は、分散情報保持装置１２３〜１２６へその旨を通知する。分散情報保持装置１２２、及び通知を受けた分散情報保持装置１２３〜１２６は、脱退処理を中止し、自装置の分散情報の値を脱退処理の前に戻し、処理を終了する。【０４１７】
（具体例）
脱退処理後の分散情報保持装置１２２〜１２６のそれぞれが保持する分散情報、第１及び第２他装置分散情報を、図２４にて示す。【０４１８】
例えば、分散情報保持装置１２２は、脱退処理後において、更新後の分散情報“ｄ＿２’”２１２ｂ、第１他装置分散情報“ｄ１＿３’”２１３＿２ｂ及び第２他装置分散情報“ｄ２＿６’”２１１＿２ｂを保持している。【０４１９】
ここで、更新後の各分散情報“ｄ＿２’”〜“ｄ＿６’”により、秘密鍵“ｄ”が回復されることを以下に示す。【０４２０】
ｄ＿２’＋ｄ＿３’＋ｄ＿４’＋ｄ＿５’＋ｄ＿６’
＝  （ｄ＿２＋ｄ＿１＿１）＋（ｄ＿３＋ｄ＿１＿２）＋（ｄ＿４＋ｄ＿１＿３）
＋（ｄ＿５＋ｄ＿１＿４）＋（ｄ＿６＋ｄ＿１＿５）
＝  （ｄ＿１＿１＋ｄ＿１＿２＋ｄ＿１＿３＋ｄ＿１＿４＋ｄ＿１＿５）
＋（ｄ＿２＋ｄ＿３＋ｄ＿４＋ｄ＿５＋ｄ＿６）
＝  ｄ＿１＋ｄ＿２＋ｄ＿３＋ｄ＿４＋ｄ＿５＋ｄ＿６
＝  ｄ
このように、分散情報保持装置１２１が脱退後も、それぞれの分散情報保持装置が保持する分散情報の総和を一定とすることが可能となるため、脱退処理時において、認証局システム１００は、新しい秘密鍵“ｄ”を復元し分散情報を再生成することなく、分散情報保持装置を脱退させることが可能となる。【０４２１】
１．４．８  追加処理の動作
ここでは、追加処理について、図２５にて示す流れ図を用いて説明する。【０４２２】
追加処理では、分散情報保持装置が不正な動作を行う可能性を考え、分散情報保持装置間で送信されるデータが正しいデータであるかを常に検証することで、不正な動作を行う分散情報保持装置が存在した場合に検知できるようにしている。さらに、追加処理では、分散情報の値を更新する場合には、更新前の分散情報の値を退避しておき、追加処理中に不正な動作を行う分散情報保持装置の存在を検知した場合には、追加処理を中止し、分散情報の値を追加処理前の値に戻すことで、分散情報が不正な値になることを防止する。【０４２３】
ここでは、複数の分散情報保持装置から変形情報を追加する分散情報保持装置へ送信し、追加する分散情報保持装置の分散情報を生成することで、追加する分散情報保持装置に変形情報を送信する分散情報保持装置が不正な動作を行い、「新しい秘密鍵」が正しく生成できないように、不正な変形情報を送信するような行為を防止している。また、分散情報を正しく更新しなかったりするような行為を防止する。また、各分散情報保持装置は分散情報が正しく更新されたかを、同じ分散情報を共通に持っている分散情報保持装置同士で確認することで、不正な分散情報保持装置による不正な更新を防止している。【０４２４】
また、追加する分散情報保持装置へ変形情報を送信した分散情報保持装置が、追加する分散情報保持装置の分散情報を共通に持つ構成の場合、元々保持していた分散情報と追加する分散情報保持装置の分散情報と追加する分散情報保持装置へ送信した変形情報から、本来保持していない分散情報を計算することが可能になる。そのため、分散情報保持装置の追加処理の最後に、変形情報を送信した分散情報保持装置の所有する分散情報から上記とは異なる値の変形情報を切り出し、その変形情報を分割して各分散情報保持装置へ送信することで、分散情報の値を更新する処理が必要になる。より詳細な説明は後述する。【０４２５】
なお、追加対象となる装置を分散情報保持装置１２７とし、変形情報の生成を分散情報保持装置１２１、及び１２６が行うものとして、以下説明する。【０４２６】
分散情報保持装置１２１、及び１２６が、変形情報を生成し、各分散情報保持装置へ配布する配布処理を行う（ステップＳ７００）。【０４２７】
追加対象の分散情報保持装置１２７及び、分散情報保持装置１２７と同一の分散情報を保持する分散情報保持装置１２１、及び１２とが分散情報を生成する分散情報の生成処理を行う（ステップＳ７０５）。【０４２８】
分散情報保持装置１２７が、第１及び第２他装置分散情報を格納する他装置分散情報の格納処理を行う（ステップＳ７１０）。【０４２９】
分散情報保持装置１２１、１２２、１２５〜１２７は、更新が正常に行われたか否かを判断する（ステップＳ７１５）。分散情報保持装置１２１、１２２、１２５及び１２６は、検証結果を分散情報保持装置１２７へ通知し、分散情報保持装置１２７は、検証結果を一時的に保持する。【０４３０】
更新対象の全ての装置において正常に更新がされたと判断する場合には（ステップＳ７１５における「ＹＥＳ」）、分散情報保持装置１２７の分散情報更新部２６０＿７は、分散情報保持装置１２１及び１２６から証明書を収集する（ステップＳ７２０）。【０４３１】
分散情報更新部２６０＿７は、分散情報保持装置１２１及び１２６から収集した証明書が正当であるか否かを判断する（ステップＳ７２５）。具体的には、分散情報更新部２６０＿７は、収集した２つの証明書が同一であるか否かを判断する。【０４３２】
同一であると判断する場合には（ステップＳ７２５における「ＹＥＳ」）、分散情報更新部２６０＿７は、証明書を認証子格納部２５３＿７へ格納する（ステップＳ７３０）。分散情報更新部２６０＿７は、証明書の格納後、追加時の第１分割処理の開始を示す旨の指示を分散情報保持装置１２１へ出力する。【０４３３】
次に、分散情報保持装置１２１が、自身が保持する分散情報から７つの部分情報を生成し、生成した各部分情報を各分散情報保持装置へ配布する追加時の第１分割処理を行う（ステップＳ７３５）。【０４３４】
分散情報保持装置１２１〜１２７は、配布された部分情報を用いて分散情報を更新する追加時の第１更新処理を行う（ステップＳ７４０）。【０４３５】
分散情報保持装置１２１〜１２７は、更新が正常に行われたか否かを判断する（ステップＳ７４５）。このとき、分散情報保持装置１２２〜１２７は、判断結果を部分情報送信元である分散情報保持装置１２１へ通知する。具体的には、分散情報を共通に持っている分散情報保持装置同士で、分散情報検証部２６２＿ｊ及び他装置分散情報検証部２６３＿ｊを用いて、互いに持っている分散情報が同じ値に更新されたかを、セキュリティの確保された通信路で分散情報を送りあい、受信した分散情報と各自が保持していた分散情報が同じ値かどうかを検証する。分散情報保持装置１２２〜１２７は、検証結果を分散情報保持装置１２１へ通知し、分散情報保持装置１２１は、検証結果を一時的に保持する。【０４３６】
全ての装置にて更新が正常に行われた場合には（ステップＳ７４５における「ＹＥＳ」）、分散情報保持装置１２１は、分散情報保持装置１２６へ追加時の第２分割処理を行う旨の分割指示を送信する。分散情報保持装置１２６は分割指示を受け取ると、自身が保持する分散情報から７つの部分情報を生成し、生成した各部分情報を各分散情報保持装置へ配布する追加時の第２分割処理を行う（ステップＳ７５０）。【０４３７】
分散情報保持装置１２１〜１２７は、配布された部分情報を用いて分散情報を更新する追加時の第２更新処理を行う（ステップＳ７５５）。【０４３８】
分散情報保持装置１２１〜１２７は、更新が正常に行われたか否かを判断する（ステップＳ７６０）。分散情報保持装置１２１〜１２５及び１２７は、検証結果を分散情報保持装置１２６へ通知し、分散情報保持装置１２６は、検証結果を一時的に保持する。【０４３９】
全ての装置にて更新が正常に行われた場合には（ステップＳ７６０における「ＹＥＳ」）、分散情報保持装置１２６は、配布先リストＴ１００を更新する。分散情報保持装置１２６は、更新後の配布先リストをリスト格納部２５４＿６へ格納するとともに、分散情報保持装置１２１〜１２５、１２７及び認証局装置１４０へ送信する。分散情報保持装置１２１〜１２５、１２７及び認証局装置１４０は、現在格納している配布先リストから更新後の配布先リストへと更新する（ステップＳ７６５）。【０４４０】
更新対象の装置にて更新が正常に行われていないと判断する場合には（ステップＳ７１５における「ＮＯ」）、及び証明書が正当でないと判断する場合には（ステップＳ７２５における「ＮＯ」）、分散情報保持装置１２７は、更新対象の各分散情報保持装置１２１、１２２、１２５及び１２６へその旨を通知する。更新対象の各分散情報保持装置は、追加理を中止し、自装置の分散情報の値を追加処理の前に戻し、処理を終了する。【０４４１】
全ての装置にて更新が正常に行われていない場合には（ステップＳ７４５における「ＮＯ」）、分散情報保持装置１２１は、分散情報保持装置１２２〜１２７へその旨を通知する。分散情報保持装置１２１〜１２７は、追加処理を中止し、自装置の分散情報の値を追加処理の前に戻し、処理を終了する。【０４４２】
また、ステップＳ７６０における「ＮＯ」の場合も同様に、分散情報保持装置１２１〜１２７は、脱退処理を中止し、自装置の分散情報の値を脱退処理の前に戻し、処理を終了する。【０４４３】
なお、セキュリティの確保された通信路で分散情報を送りあい、受信した分散情報と同じ値かどうかを検証するとしたが、これに限定するものではなく、ゼロ知識証明などの暗号プロトコルを使用して検証してもよい。ゼロ知識証明については、非特許文献１の１３２〜１５０ページに、暗号プロトコルについては、非特許文献１の２２４〜２２５ページに詳しく説明されている。【０４４４】
以下、追加処理の詳細について説明する。【０４４５】
（配布処理）
ここでは、図２５のステップＳ７００にて示す部分情報の生成処理について、図２６にて示す流れ図を用いて説明する。【０４４６】
分散情報保持装置１２６の変形情報生成部２６５＿６は、外部装置から追加時の分散情報生成指示を受け取ると、変形情報ｎを生成する（ステップＳ８００）。【０４４７】
分散情報保持装置１２１の変形情報生成部２６５＿１は、外部装置から追加時の分散情報生成指示を受け取ると、変形情報ｍを生成する（ステップＳ８０５）。【０４４８】
変形情報生成部２６５＿６は、生成した変形情報ｎを分散情報保持装置１２１、１２５及び１２７へ出力する（ステップＳ８１０）。【０４４９】
変形情報生成部２６５＿１は、生成した変形情報ｍを分散情報保持装置１２２、１２６、及び１２７へ出力する（ステップＳ８１５）。【０４５０】
分散情報保持装置１２６の分散情報更新部２６０＿６は、変形情報ｍを受け取ると、受け取った変形情報ｍを一時的に格納する（ステップＳ８２０）。【０４５１】
分散情報保持装置１２１の分散情報更新部２６０＿１は、変形情報ｎを受け取ると、受け取った変形情報ｎを一時的に格納する（ステップＳ８２５）。【０４５２】
分散情報更新部２６０＿６は、生成した変形情報ｎを用いて、新たな分散情報“ｄ＿６’（＝ｄ＿６−ｎ）”を生成し、分散情報格納部２５１＿６に格納されている分散情報“ｄ＿６“を“ｄ＿６’”へと更新する（ステップＳ８３０）。【０４５３】
分散情報更新部２６０＿１は、生成した変形情報ｍを用いて、新たな分散情報“ｄ＿１’（＝ｄ＿１−ｍ）”を生成し、分散情報格納部２５１＿１に格納されている分散情報“ｄ＿１”を“ｄ＿１’”へと更新する（ステップＳ８３５）。【０４５４】
分散情報保持装置１２５の分散情報更新部２６０＿５は、変形情報ｎを受け取ると、受け取った変形情報ｎを用いて新たな第１他装置分散情報“ｄ１＿６’（＝ｄ１＿６−ｎ）”を生成し、他装置分散情報格納部２５２＿５に格納されている第１他装置分散情報“ｄ１＿６”を“ｄ１＿６’”へと更新する（ステップＳ８４０）。【０４５５】
分散情報保持装置１２７の分散情報更新部２６０＿７は、変形情報ｎ及びｍを受け取ると、受け取った変形情報ｎ及びｍを一時的に格納する（ステップＳ８４５）。【０４５６】
分散情報保持装置１２２の分散情報更新部２６０＿２は、変形情報ｍを受け取ると、受け取った変形情報ｍを用いて新たな第２他装置分散情報“ｄ２＿１’（＝ｄ２＿１−ｍ）”を生成し、他装置分散情報格納部２５２＿２に格納されている第２他装置分散情報“ｄ２＿１”を“ｄ２＿１’”へと更新する（ステップＳ８５０）。【０４５７】
（分散情報の生成処理）
ここでは、図２５のステップＳ７０５にて示す分散情報の生成処理について、図２７にて示す流れ図を用いて説明する。【０４５８】
分散情報更新部２６０＿６は、変形情報ｎ及びｍを用いて他装置分散情報“ｄ１＿７＝（ｍ＋ｎ）”を生成する（ステップＳ８６０）。分散情報更新部２６０＿６は、他装置分散情報格納部２５２＿６に格納されている第１他装置分散情報“ｄ１＿１”を“ｄ１＿７”へと更新（置換）する（ステップＳ８６５）。【０４５９】
分散情報更新部２６０＿７は、変形情報ｎ及びｍを用いて分散情報“ｄ＿７＝（ｍ＋ｎ）”を生成する（ステップＳ８７０）。分散情報更新部２６０＿７は、分散情報格納部２５１＿７に生成した分散情報“ｄ＿７”を格納する（ステップＳ８７５）。【０４６０】
分散情報更新部２６０＿１は、変形情報ｎ及びｍを用いて他装置分散情報“ｄ２＿７＝（ｍ＋ｎ）”を生成する（ステップＳ８８０）。分散情報更新部２６０＿１は、他装置分散情報格納部２５２＿１に格納されている第２他装置分散情報“ｄ２＿１”を“ｄ２＿７”へと更新（置換）する（ステップＳ８８５）。【０４６１】
（他装置分散情報の格納処理）
ここでは、図２５のステップＳ７１０にて示す他装置分散情報の格納処理について、図２８にて示す流れ図を用いて説明する。【０４６２】
分散情報保持装置１２７の分散情報更新部２６０＿７は、分散情報保持装置１２１へ分散情報要求指示を、分散情報保持装置１２２へ第２他装置分散情報要求指示を、それぞれ出力し、分散情報“ｄ＿１’”及び“ｄ２＿１’”を収集する（ステップＳ９００）。このとき、分散情報要求指示を受け付けた分散情報保持装置１２１の取得部２６７＿１は、分散情報“ｄ＿１’”を取得して、分散情報保持装置１２７へ出力する（ステップＳ９０１）。また、第２他装置分散情報要求指示を受け付けた分散情報保持装置１２２の取得部２６７＿２は、分散情報“ｄ２＿１’”を取得して、分散情報保持装置１２７へ出力する（ステップＳ９０２）。【０４６３】
分散情報更新部２６０＿７は、収集した分散情報“ｄ＿１’”と“ｄ２＿１’”とが同一の値であるか否かを判断する（ステップＳ９０５）。【０４６４】
同一であると判断する場合には（ステップＳ９０５における「ＹＥＳ」）、分散情報更新部２６０＿７は、収集した分散情報“ｄ＿１’”を第１他装置分散情報として他装置分散情報格納部２５２＿７へ格納する（ステップＳ９１０）。【０４６５】
分散情報更新部２６０＿７は、分散情報保持装置１２６へ分散情報要求指示を、分散情報保持装置１２５へ第１他装置分散情報要求指示を、それぞれ出力し、分散情報“ｄ＿６’”及び“ｄ１＿６’”を収集する（ステップＳ９１５）。このとき、分散情報要求指示を受け付けた分散情報保持装置１２６の取得部２６７＿６は、分散情報“ｄ＿６’”を取得して、分散情報保持装置１２７へ出力する（ステップＳ９１６）。また、第１他装置分散情報要求指示を受け付けた分散情報保持装置１２５の取得部２６７＿５は、分散情報“ｄ１＿６’”を取得して、分散情報保持装置１２７へ出力する（ステップＳ９１７）。【０４６６】
分散情報更新部２６０＿７は、収集した分散情報“ｄ＿６’”と“ｄ１＿６’”とが同一の値であるか否かを判断する（ステップＳ９２０）。【０４６７】
同一であると判断する場合には（ステップＳ９２０における「ＹＥＳ」）、分散情報更新部２６０＿７は、収集した分散情報“ｄ＿６’”を第２他装置分散情報として他装置分散情報格納部２５２＿７へ格納する（ステップＳ９２５）。【０４６８】
同一でないと判断する場合には（ステップＳ９０５若しくはステップＳ９２０における「ＮＯ」）、分散情報保持装置１２７は、分散情報保持装置１２１〜１２６へその旨を通知する。分散情報保持装置１２１〜１２７は、追加処理を中止し、自装置の分散情報の値を追加処理の前に戻し、処理を終了する。【０４６９】
（追加時の第１分割処理）
ここでは、図２５のステップＳ７３５にて示す追加時の第１分割処理について、図２９にて示す流れ図を用いて説明する。【０４７０】
分散情報保持装置１２１の分散情報分割部２６１＿１は、分散情報“ｄ＿１’”から７つの部分情報（ｄ＿１＿１〜ｄ＿１＿７）を生成する（ステップＳ９５０）。言い換えると、分散情報分割部２６１＿１は、分散情報“ｄ＿１’”を、７つの部分情報（ｄ＿１＿１〜ｄ＿１＿７）に分散（分解）する。このとき、各部分情報は、次式を満たすものとする。【０４７１】
（式）  ｄ＿１’＝  ｄ＿１＿１＋ｄ＿１＿２＋ｄ＿１＿３＋ｄ＿１＿４＋ｄ＿１＿５
＋ｄ＿１＿６＋ｄ＿１＿７  ｍｏｄ  Ｌ  
具体的には、分散情報分割部２６１＿１は、乱数生成器を用いて、６個の乱数を生成することにより、部分情報（ｄ＿１＿１〜ｄ＿１＿６）を生成する。次に、分散情報分割部２６１＿１は、
ｄ＿１＿７  ＝  ｄ＿１’  −  （ｄ＿１＿１＋ｄ＿１＿２＋・・・＋ｄ＿１＿６）
により、ｄ＿１＿７を算出する。このとき、減算結果が負の数になる事もあるが、そのまま部分情報として扱う。【０４７２】
分散情報分割部２６１＿１は、生成（分散）した３個若しくは６個の部分情報を各装置１２２〜１２７へ配布する（ステップＳ９５５）。【０４７３】
具体的には、分散情報分割部２６１＿１は、分散情報保持装置１２２及び１２７に対して生成した部分情報ｄ＿１＿２〜ｄ＿１＿７を配布する（ステップＳ９５６及びＳ９６１）。他の装置１２３〜１２６におけるｉ番目の装置に対しては、部分情報ｄ＿１＿（ｉ−１）、ｄ＿１＿ｉ及びｄ＿１＿（ｉ＋１）を配布する（ステップＳ９５７、Ｓ９５８、Ｓ９５９及びＳ９６０）。【０４７４】
分散情報保持装置１２２〜１２７は、受信した各部分情報を分散情報更新部２６０＿ｊに一時的に格納する。【０４７５】
（追加時の第１更新処理）
ここでは、図２５のステップＳ７４０にて示す追加時の第１更新処理について、図３０から図３２にて示す流れ図を用いて説明する。【０４７６】
分散情報保持装置１２１の分散情報更新部２６０＿１は、生成した部分情報“ｄ＿１＿１”を新たな分散情報“Ｄ＿１（＝ｄ＿１＿１）”として、分散情報格納部２５１＿１に格納されている分散情報“ｄ＿１’”を新たな分散情報“Ｄ＿１”に更新する（ステップＳ９７０）。分散情報更新部２６０＿１は、生成した部分情報“ｄ＿１＿２”及び“ｄ＿１＿７”を用いて新たな第１及び第２他装置分散情報“Ｄ１＿２（＝ｄ１＿２＋ｄ＿１＿２）”及び“Ｄ２＿７（＝ｄ２＿７＋ｄ＿１＿７）”を生成し、分散情報格納部２５１＿１に格納されている第１及び第２他装置分散情報“ｄ１＿２”及び“ｄ２＿７’”を新たな第１及び第２他装置分散情報“Ｄ１＿２”及び“Ｄ２＿７”に更新する（ステップＳ９７５）。【０４７７】
分散情報保持装置１２２の分散情報更新部２６０＿２は、分散情報保持装置１２１から受け取った部分情報“ｄ＿１＿２”を用いて新たな分散情報“Ｄ＿２（＝ｄ＿２＋ｄ＿１＿２）”を生成し、分散情報格納部２５１＿２に格納されている分散情報“ｄ＿２”を新たな分散情報“Ｄ＿２”に更新する（ステップＳ９８０）。分散情報更新部２６０＿２は、分散情報保持装置１２１から受け取った部分情報“ｄ＿１＿２”〜“ｄ＿１＿７”を用いて新たな第１及び第２他装置分散情報“Ｄ１＿３（＝ｄ１＿３＋ｄ＿１＿３）”及び“Ｄ２＿１（＝ｄ２＿１’−（ｄ＿１＿２＋ｄ＿１＿３＋・・・＋ｄ＿１＿７））”を生成し、分散情報格納部２５１＿２に格納されている第１及び第２他装置分散情報“ｄ１＿３”及び“ｄ２＿１’”を新たな第１及び第２他装置分散情報“Ｄ１＿３”及び“Ｄ２＿１”に更新する（ステップＳ９８５）。このとき、減算結果が負の数になる事もあるが、そのまま新たな分散情報として扱う。【０４７８】
分散情報保持装置１２３の分散情報更新部２６０＿３は、分散情報保持装置１２１から受け取った部分情報“ｄ＿１＿３”を用いて新たな分散情報“Ｄ＿３（＝ｄ＿３＋ｄ＿１＿３）”を生成し、分散情報格納部２５１＿３に格納されている分散情報“ｄ＿３”を新たな分散情報“Ｄ＿３”に更新する（ステップＳ９９０）。分散情報更新部２６０＿３は、分散情報保持装置１２１から受け取った部分情報“ｄ＿１＿４”及び“ｄ＿１＿２”を用いて新たな第１及び第２他装置分散情報“Ｄ１＿４（＝ｄ１＿４＋ｄ＿１＿４）”及び“Ｄ２＿２（＝ｄ２＿２＋ｄ＿１＿２）”を生成し、分散情報格納部２５１＿３に格納されている第１及び第２他装置分散情報“ｄ１＿４”及び“ｄ２＿２”を新たな第１及び第２他装置分散情報“Ｄ１＿４”及び“Ｄ２＿２”に更新する（ステップＳ９９５）。【０４７９】
分散情報保持装置１２４の分散情報更新部２６０＿４は、分散情報保持装置１２１から受け取った部分情報“ｄ＿１＿４”を用いて新たな分散情報“Ｄ＿４（＝ｄ＿４＋ｄ＿１＿４）”を生成し、分散情報格納部２５１＿４に格納されている分散情報“ｄ＿４”を新たな分散情報“Ｄ＿４”に更新する（ステップＳ１０００）。分散情報更新部２６０＿４は、分散情報保持装置１２１から受け取った部分情報“ｄ＿１＿５”及び“ｄ＿１＿３”を用いて新たな第１及び第２他装置分散情報“Ｄ１＿５（＝ｄ１＿５＋ｄ＿１＿５）”及び“Ｄ２＿３（＝ｄ２＿３＋ｄ＿１＿３）”を生成し、分散情報格納部２５１＿４に格納されている第１及び第２他装置分散情報“ｄ１＿５”及び“ｄ２＿３”を新たな第１及び第２他装置分散情報“Ｄ１＿５”及び“Ｄ２＿３”に更新する（ステップＳ１００５）。【０４８０】
分散情報保持装置１２５の分散情報更新部２６０＿５は、分散情報保持装置１２１から受け取った部分情報“ｄ＿１＿５”を用いて新たな分散情報“Ｄ＿５（＝ｄ＿５＋ｄ＿１＿５）”を生成し、分散情報格納部２５１＿５に格納されている分散情報“ｄ＿５”を新たな分散情報“Ｄ＿５”に更新する（ステップＳ１０１０）。分散情報更新部２６０＿５は、分散情報保持装置１２１から受け取った部分情報“ｄ＿１＿６”及び“ｄ＿１＿４”を用いて新たな第１及び第２他装置分散情報“Ｄ１＿６（＝ｄ１＿６＋ｄ＿１＿６）”及び“Ｄ２＿４（＝ｄ２＿４＋ｄ＿１＿４）”を生成し、分散情報格納部２５１＿５に格納されている第１及び第２他装置分散情報“ｄ１＿６”及び“ｄ２＿４”を新たな第１及び第２他装置分散情報“Ｄ１＿６”及び“Ｄ２＿４”に更新する（ステップＳ１０１５）。【０４８１】
分散情報保持装置１２６の分散情報更新部２６０＿６は、分散情報保持装置１２１から受け取った部分情報“ｄ＿１＿６”を用いて新たな分散情報“Ｄ＿６（＝ｄ＿６’＋ｄ＿１＿６）”を生成し、分散情報格納部２５１＿６に格納されている分散情報“ｄ＿６’”を新たな分散情報“Ｄ＿６”に更新する（ステップＳ１０２０）。分散情報更新部２６０＿６は、分散情報保持装置１２１から受け取った部分情報“ｄ＿１＿７”及び“ｄ＿１＿５”を用いて新たな第１及び第２他装置分散情報“Ｄ１＿７（＝ｄ１＿７＋ｄ＿１＿７）”及び“Ｄ２＿５（＝ｄ２＿５＋ｄ＿１＿５）”を生成し、分散情報格納部２５１＿６に格納されている第１及び第２他装置分散情報“ｄ１＿７”及び“ｄ２＿５”を新たな第１及び第２他装置分散情報“Ｄ１＿７”及び“Ｄ２＿５”に更新する（ステップＳ１０２５）。【０４８２】
分散情報保持装置１２７の分散情報更新部２６０＿７は、分散情報保持装置１２１から受け取った部分情報“ｄ＿１＿７”を用いて新たな分散情報“Ｄ＿７（＝ｄ＿７＋ｄ＿１＿７）”を生成し、分散情報格納部２５１＿７に格納されている分散情報“ｄ＿７”を新たな分散情報“Ｄ＿７”に更新する（ステップＳ１０３０）。分散情報更新部２６０＿７は、分散情報保持装置１２１から受け取った部分情報“ｄ＿１＿２”〜“ｄ＿１＿７”を用いて新たな第１及び第２他装置分散情報“Ｄ１＿１（＝ｄ１＿１’−（ｄ＿１＿２＋ｄ＿１＿３＋・・・＋ｄ＿１＿７））”及び“Ｄ２＿６（＝ｄ２＿６’＋ｄ＿１＿６）”を生成し、分散情報格納部２５１＿７に格納されている第１及び第２他装置分散情報“ｄ１＿１’”及び“ｄ２＿６’”を新たな第１及び第２他装置分散情報“Ｄ１＿１”及び“Ｄ２＿６”に更新する（ステップＳ１０３５）。このとき、減算結果が負の数になる事もあるが、そのまま新たな分散情報として扱う。【０４８３】
（追加時の第２分割処理）
ここでは、図２５のステップＳ７５０にて示す追加時の第２分割処理について、図３３にて示す流れ図を用いて説明する。【０４８４】
分散情報保持装置１２６の分散情報分割部２６１＿６は、分散情報“Ｄ＿６”から７つの部分情報（ｄ＿６＿１〜ｄ＿６＿７）を生成する（ステップＳ１０５０）。言い換えると、分散情報分割部２６１＿６は、分散情報“Ｄ＿６”を、７つの部分情報（ｄ＿６＿１〜ｄ＿６＿７）に分散（分解）する。このとき、各部分情報は、次式を満たすものとする。【０４８５】
（式）  Ｄ＿６＝  ｄ＿６＿１＋ｄ＿６＿２＋ｄ＿６＿３＋ｄ＿６＿４＋ｄ＿６＿５
＋ｄ＿６＿６＋ｄ＿６＿７  ｍｏｄ  Ｌ  
具体的には、分散情報分割部２６１＿６は、乱数生成器を用いて、６個の乱数を生成することにより、部分情報（ｄ＿６＿１〜ｄ＿６＿６）を生成する。次に、分散情報分割部２６１＿６は、
ｄ＿６＿７  ＝  Ｄ＿６  −  （ｄ＿６＿１＋ｄ＿６＿２＋・・・＋ｄ＿６＿６）
により、ｄ＿６＿７を算出する。このとき、減算結果が負の数になる事もあるが、そのまま部分情報として扱う。【０４８６】
分散情報分割部２６１＿６は、生成（分散）した３個若しくは６個分散情報を各装置１２１〜１２５及び１２７へ配布する（ステップＳ１０５５）。【０４８７】
分散情報保持装置１２５及び１２７に対して生成した部分情報ｄ＿６＿１〜ｄ＿６＿５及びｄ＿６＿７を配布する（ステップＳ１０６０及びＳ１０６１）。他の装置１２１〜１２４におけるｉ番目の装置に対しては、部分情報ｄ＿６＿（ｉ−１）、ｄ＿６＿ｉ及びｄ＿６＿（ｉ＋１）を配布する（ステップＳ１０５６、Ｓ１０５７、Ｓ１０５８及びＳ１０５９）。なお、ｉ−１＝０の場合には、部分情報ｄ＿６＿７を配布する。【０４８８】
分散情報保持装置１２１〜１２５及び１２７は、受信した各部分情報を分散情報更新部２６０＿ｊに一時的に格納する。【０４８９】
（追加時の第２更新処理）
ここでは、図２５のステップＳ７５５にて示す追加時の第２更新処理について、図３４から図３６にて示す流れ図を用いて説明する。【０４９０】
分散情報保持装置１２１の分散情報更新部２６０＿１は、分散情報保持装置１２６から受け取った部分情報“ｄ＿６＿１”を用いて、新たな分散情報“Ｄ＿１’（＝Ｄ＿１＋ｄ＿６＿１）”を生成し、分散情報格納部２５１＿１に格納されている分散情報“Ｄ＿１”を新たな分散情報“Ｄ＿１’”に更新する（ステップＳ１０７０）。分散情報更新部２６０＿１は、分散情報保持装置１２６から受け取った部分情報“ｄ＿６＿２”及び“ｄ＿６＿７”を用いて新たな第１及び第２他装置分散情報“Ｄ１＿２’（＝Ｄ１＿２＋ｄ＿６＿２）”及び“Ｄ２＿７’（＝Ｄ２＿７＋ｄ＿６＿７）”を生成し、分散情報格納部２５１＿１に格納されている第１及び第２他装置分散情報“Ｄ１＿２”及び“Ｄ２＿７’”を新たな第１及び第２他装置分散情報“Ｄ１＿２’”及び“Ｄ２＿７’”に更新する（ステップＳ１０７５）。【０４９１】
分散情報保持装置１２２の分散情報更新部２６０＿２は、分散情報保持装置１２６から受け取った部分情報“ｄ＿６＿２”を用いて新たな分散情報“Ｄ＿２’（＝Ｄ＿２＋ｄ＿６＿２）”を生成し、分散情報格納部２５１＿２に格納されている分散情報“Ｄ＿２”を新たな分散情報“Ｄ＿２’”に更新する（ステップＳ１０８０）。分散情報更新部２６０＿２は、分散情報保持装置１２６から受け取った部分情報“ｄ＿６＿３”及び“ｄ＿６＿１”を用いて新たな第１及び第２他装置分散情報“Ｄ１＿３’（＝Ｄ１＿３＋ｄ＿６＿３）”及び“Ｄ２＿１’（＝Ｄ２＿１＋ｄ＿６＿１）”を生成し、分散情報格納部２５１＿２に格納されている第１及び第２他装置分散情報“Ｄ１＿３”及び“Ｄ２＿１”を新たな第１及び第２他装置分散情報“Ｄ１＿３’”及び“Ｄ２＿１’”に更新する（ステップＳ１０８５）。【０４９２】
分散情報保持装置１２３の分散情報更新部２６０＿３は、分散情報保持装置１２６から受け取った部分情報“ｄ＿６＿３”を用いて新たな分散情報“Ｄ＿３’（＝Ｄ＿３＋ｄ＿６＿３）”を生成し、分散情報格納部２５１＿３に格納されている分散情報“Ｄ＿３”を新たな分散情報“Ｄ＿３’”に更新する（ステップＳ１０９０）。分散情報更新部２６０＿３は、分散情報保持装置１２６から受け取った部分情報“ｄ＿６＿４”及び“ｄ＿６＿２”を用いて新たな第１及び第２他装置分散情報“Ｄ１＿４’（＝Ｄ１＿４＋ｄ＿６＿４）”及び“Ｄ２＿２’（＝Ｄ２＿２＋ｄ＿６＿２）”を生成し、分散情報格納部２５１＿３に格納されている第１及び第２他装置分散情報“Ｄ１＿４”及び“Ｄ２＿２”を新たな第１及び第２他装置分散情報“Ｄ１＿４’”及び“Ｄ２＿２’”に更新する（ステップＳ１０９５）。【０４９３】
分散情報保持装置１２４の分散情報更新部２６０＿４は、分散情報保持装置１２１から受け取った部分情報“ｄ＿６＿４”を用いて新たな分散情報“Ｄ＿４’（＝Ｄ＿４＋ｄ＿６＿４）”を生成し、分散情報格納部２５１＿４に格納されている分散情報“Ｄ＿４”を新たな分散情報“Ｄ＿４’”に更新する（ステップＳ１１００）。分散情報更新部２６０＿４は、分散情報保持装置１２６から受け取った部分情報“ｄ＿６＿５”及び“ｄ＿６＿３”を用いて新たな第１及び第２他装置分散情報“Ｄ１＿５’（＝Ｄ１＿５＋ｄ＿６＿５）”及び“Ｄ２＿３’（＝Ｄ２＿３＋ｄ＿６＿３）”を生成し、分散情報格納部２５１＿４に格納されている第１及び第２他装置分散情報“Ｄ１＿５”及び“Ｄ２＿３”を新たな第１及び第２他装置分散情報“Ｄ１＿５’”及び“Ｄ２＿３’”に更新する（ステップＳ１１０５）。【０４９４】
分散情報保持装置１２５の分散情報更新部２６０＿５は、分散情報保持装置１２６から受け取った部分情報“ｄ＿６＿５”を用いて新たな分散情報“Ｄ＿５’（＝Ｄ＿５＋ｄ＿６＿５）”を生成し、分散情報格納部２５１＿５に格納されている分散情報“Ｄ＿５”を新たな分散情報“Ｄ＿５’”に更新する（ステップＳ１１１０）。分散情報更新部２６０＿５は、分散情報保持装置１２６から受け取った部分情報“ｄ＿６＿１”〜“ｄ＿６＿５”及び“ｄ＿６＿７”を用いて新たな第１及び第２他装置分散情報“Ｄ１＿６’（＝Ｄ１＿６−（ｄ＿６＿１＋ｄ＿６＿２＋・・・＋ｄ＿６＿５＋ｄ＿６＿７）”及び“Ｄ２＿４’（＝Ｄ２＿４＋ｄ＿６＿４）”を生成し、分散情報格納部２５１＿５に格納されている第１及び第２他装置分散情報“Ｄ１＿６”及び“Ｄ２＿４”を新たな第１及び第２他装置分散情報“Ｄ１＿６’”及び“Ｄ２＿４’”に更新する（ステップＳ１１１５）。このとき、減算結果が負の数になる事もあるが、そのまま新たな分散情報として扱う。【０４９５】
分散情報保持装置１２６の分散情報更新部２６０＿６は、生成した部分情報“ｄ＿１＿６”を新たな分散情報“Ｄ＿６’（＝ｄ＿６＿６）”として、分散情報格納部２５１＿６に格納されている分散情報“Ｄ＿６”を新たな分散情報“Ｄ＿６’”に更新する（ステップＳ１１２０）。分散情報更新部２６０＿６は、生成した部分情報“ｄ＿６＿７”及び“ｄ＿６＿５”を用いて新たな第１及び第２他装置分散情報“Ｄ１＿７’（＝Ｄ１＿７＋ｄ＿６＿７）”及び“Ｄ２＿５’（＝Ｄ２＿５＋ｄ＿６＿５）”を生成し、分散情報格納部２５１＿６に格納されている第１及び第２他装置分散情報“Ｄ１＿７”及び“Ｄ２＿５”を新たな第１及び第２他装置分散情報“Ｄ１＿７’”及び“Ｄ２＿５’”に更新する（ステップＳ１１２５）。【０４９６】
分散情報保持装置１２７の分散情報更新部２６０＿７は、分散情報保持装置１２６から受け取った部分情報“ｄ＿６＿７”を用いて新たな分散情報“Ｄ＿７’（＝Ｄ＿７＋ｄ＿６＿７）”を生成し、分散情報格納部２５１＿７に格納されている分散情報“Ｄ＿７”を新たな分散情報“Ｄ＿７’”に更新する（ステップＳ１１３０）。分散情報更新部２６０＿７は、分散情報保持装置１２６から受け取った部分情報“ｄ＿６＿１”〜“ｄ＿１＿５”及び“ｄ＿１＿７”を用いて新たな第１及び第２他装置分散情報“Ｄ１＿１’（＝Ｄ１＿１＋ｄ＿６＿１）”及び“Ｄ２＿６’（＝Ｄ２＿６−（ｄ＿６＿１＋ｄ＿６＿２＋・・・＋ｄ＿６＿５＋ｄ＿６＿７））”を生成し、分散情報格納部２５１＿７に格納されている第１及び第２他装置分散情報“Ｄ１＿１”及び“Ｄ２＿６”を新たな第１及び第２他装置分散情報“Ｄ１＿１’”及び“Ｄ２＿６’”に更新する（ステップＳ１１３５）。このとき、減算結果が負の数になる事もあるが、そのまま新たな分散情報として扱う。【０４９７】
（具体例）
追加処理後の分散情報保持装置１２１〜１２７のそれぞれが保持する分散情報、第１及び第２他装置分散情報を、図３７にて示す。【０４９８】
例えば、分散情報保持装置１２１は、追加処理後において、更新後の分散情報“Ｄ＿１’”２１１ｃ、第１他装置分散情報“Ｄ１＿２’”２１２＿１ｃ及び第２他装置分散情報“Ｄ２＿７’”２１７＿１ｃを保持している。【０４９９】
ここで、更新後の各分散情報“Ｄ＿１’”〜“Ｄ＿７’”により、秘密鍵“ｄ”が回復されることを以下に示す。【０５００】
Ｄ＿１’＋Ｄ＿２’＋Ｄ＿３’＋Ｄ＿４’＋Ｄ＿５’＋Ｄ＿６’＋Ｄ＿７’
＝  （Ｄ＿１＋ｄ＿６＿１）＋（Ｄ＿２＋ｄ＿６＿２）＋（Ｄ＿３＋ｄ＿６＿３）
＋（Ｄ＿４＋ｄ＿６＿４）＋（Ｄ＿５＋ｄ＿６＿５）＋（ｄ＿６＿６）＋（Ｄ＿７＋ｄ＿６＿７）
＝  Ｄ＿１＋Ｄ＿２＋Ｄ＿３＋Ｄ＿４＋Ｄ＿５＋Ｄ＿７
＋ｄ＿６＿１＋ｄ＿６＿２＋ｄ＿６＿３＋ｄ＿６＿４＋ｄ＿６＿５＋ｄ＿６＿６＋ｄ＿６＿７
＝  Ｄ＿１＋Ｄ＿２＋Ｄ＿３＋Ｄ＿４＋Ｄ＿５＋Ｄ＿６＋Ｄ＿７
＝  （ｄ＿１＿１）＋（ｄ＿２＋ｄ＿１＿２）＋（ｄ＿３＋ｄ＿１＿３）＋（ｄ＿４＋ｄ＿１＿４）
＋（ｄ＿５＋ｄ＿１＿５）＋（ｄ＿６’＋ｄ＿１＿６）＋（ｄ＿７＋ｄ＿１＿７）
＝  ｄ＿２＋ｄ＿３＋ｄ＿４＋ｄ＿５＋ｄ＿６’＋ｄ＿７
＋ｄ＿１＿１＋ｄ＿１＿２＋ｄ＿１＿３＋ｄ＿１＿４＋ｄ＿１＿５＋ｄ＿１＿６＋ｄ＿１＿７
＝  ｄ＿１’＋ｄ＿２＋ｄ＿３＋ｄ＿４＋ｄ＿５＋ｄ＿６’＋ｄ＿７
＝  （ｄ＿１−ｍ）＋ｄ＿２＋ｄ＿３＋ｄ＿４＋ｄ＿５＋（ｄ＿６−ｎ）＋ｍ＋ｎ
＝  ｄ＿１＋ｄ＿２＋ｄ＿３＋ｄ＿４＋ｄ＿５＋ｄ＿６＋ｄ＿７
＝  ｄ
このように、分散情報保持装置１２７の追加後も、それぞれの分散情報保持装置が保持する分散情報の総和を一定とすることが可能となるため、追加処理時において、認証局システム１００は、新しい秘密鍵“ｄ”を復元し分散情報を再生成することなく、分散情報保持装置を追加させることが可能となる。【０５０１】
（追加処理時の第１及び第２更新処理の必要性）
追加時における第１及び第２更新処理は、分散情報保持装置１２１と１２６が分散情報を持ちすぎるために必要になる処理である。【０５０２】
具体的には、分散情報保持装置１２１は、追加処理のステップＳ７３０の終了後には、分散情報“ｄ＿１’”と他装置分散情報“ｄ１＿２”及びと“ｄ２＿７”の３つの分散情報を保持することになる。この時、他装置分散情報“ｄ２＿７”は、分散情報保持装置１２１が生成した変形情報ｍと分散情報保持装置１２６が生成した変形情報ｎの和になっている。そのため、他装置分散情報“ｄ２＿７”と分散情報保持装置１２１が生成した変形情報ｍから分散情報保持装置１２６が送信した変形情報ｎを求めることが出来る。さらに、追加処理前には更新前の他装置分散情報“ｄ２＿６”も保持していたため、この更新前の他装置分散情報“ｄ２＿６”と分散情報保持装置１２６が生成した変形情報ｎとから、更新後の分散情報“ｄ２＿６’（＝ｄ＿６’）”の値を求めることが出来る。この様に分散情報保持装置１２１は、本来は３つの分散情報しか保持しないはずが４つの分散情報を保持することが可能となり、分散情報を持ちすぎることになる。同様の事が分散情報保持装置１２６にも言えるため、分散情報保持装置の追加処理の最後に、このような分散情報の持ちすぎを解消するために、分散情報保持装置１２１と１２６が所有する分散情報の更新を行う必要がある。【０５０３】
なお、追加される分散情報保持装置の所有する分散情報を生成するために２つの分散情報保持装置が変形情報を生成、送信する構成としたが、これに限定するものではなく、例えば追加される分散情報保持装置以外のすべての分散情報保持装置が変形情報を送信する構成にしてもよい。【０５０４】
１．５  本実施の形態の効果
認証局装置１４０や分散情報保持装置１２１〜１２６を上述したような構成にすることで、認証局装置１４０の秘密鍵１４１が漏洩した場合においても、システム全体の信頼性を回復できるシステムを構成することが可能となる。また、「新しい秘密鍵」を検証するための認証子として証明書を用い、さらに共通の分散情報を複数の分散情報保持装置で持ち、冗長化する構成にすることで、認証局装置１４０だけでなく分散情報保持装置１２１〜１２６の中のどれかの分散情報保持装置が攻撃され不正な動作をしても、正しい秘密鍵が生成でき、かつ不正な動作をした分散情報保持装置も特定し、システムから除外することが可能となる。【０５０５】
また、分散情報保持装置が脱退または追加する場合にも、「新しい秘密鍵」を復元することなく、かつ、「新しい秘密鍵」の値を変化させないで、分散情報保持装置の脱退または変更に伴う分散情報の変更を行うことが出来る。また、脱退・追加処理時に、処理途中で分散情報保持装置が不正を働いたときに、それを検出し、処理前の状態に戻すことで、不正な脱退・追加処理を止めることが可能であり、分散情報を正しく更新しないなど、不正な動作を行う分散情報保持装置を知ることが可能となる。さらに、脱退・追加処理中に分散情報を更新する処理があるが、この時に更新前の分散情報を保持し続けていても、他の分散情報保持装置が分散情報を更新しているために、更新前の分散情報から「新しい秘密鍵」を求めることは出来ない。【０５０６】
１．６  実施の形態１の変形例
セキュリティ維持システムは、１台の配布装置、ｎ台の保持装置及び１台の認証局装置から構成されている。全ての前記保持装置は、１個又は２個以上の閉路を形成するように関係付けられている。各保持装置を閉路を形成するように関係付ける方法は、上記実施の形態にて示しているので、ここでの説明は省略する。【０５０７】
配布装置、ｎ台の保持装置及び１台の認証局装置は、インターネットを代表とする通信ネットワークを介して相互に接続されている。これらの装置の間では、秘密の情報の送受信の経路が確立されている。【０５０８】
なお、配布装置、ｎ台の保持装置及び１台の認証局装置は、通信ネットワークを介して相互に接続されているとしているが、これには限定されない。例えば、配布装置、ｎ台の保持装置及び１台の認証局装置は、秘匿性を確保することができる記録媒体、例えば、ＳＤメモリカードなどを介して、情報を相互に交換するとしてもよい。【０５０９】
（１）配布装置の構成
配布装置は、１個の秘密情報から生成されたｎ個の分散情報をそれぞれｎ台の保持装置へ割り当てる。前記配布装置は、生成部、情報選択部、装置選択部、関連装置選択部、出力部及び繰返制御部から構成される。前記配布装置は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、通信ユニット、ディスプレィユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記ＲＡＭ又は前記ハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、前記配布装置は、その機能を達成する。【０５１０】
前記配布装置が有する生成部は、１個の秘密情報から、ｎ台の前記保持装置の台数と同数、つまり、ｎ個の分散情報を生成する。具体的には、前記生成部は、所定の法において、ランダムにｎ−１個の分散情報を生成し、所定の法において、前記秘密情報から、生成したｎ−１個の分散情報を減ずることにより、残りの１個の分散情報を算出する。言い換えると、所定の法において、前記生成部により生成された全ての分散情報に対する加算により前記秘密情報が得られる。【０５１１】
情報選択部は、生成した複数の分散情報から１個の選択分散情報を選択する。【０５１２】
装置選択部は、複数の保持装置の中から、前記選択分散情報の割当対象となる１個の割当対象保持装置を選択する。関連装置選択部は、複数の保持装置の中から、前記割当対象保持装置に関連する２台以上の関連保持装置を選択する。具体的には、前記関連装置選択部は、少なくとも、同一の閉路（リング内）において、前記割当対象保持装置に対応するノードの両側に隣接する第１及び第２のノードそれぞれに対応付けられた第１及び第２関連保持装置を選択する。【０５１３】
出力部は、同一の選択分散情報を、前記ネットワークを介して、前記割当対象保持装置及び全ての前記関連保持装置へ出力する。【０５１４】
前記繰返制御部は、生成された全ての分散情報について、前記選択分散情報の選択と、前記割当対象保持装置の選択と、関連保持装置の選択と、前記選択分散情報の出力とを繰り返すように、前記情報選択部、前記装置選択部、前記関連装置選択部及び前記出力部を制御する。【０５１５】
以上説明したように、配布装置は、選択された選択分散情報を割当対象保持装置へ出力することに加えて、複数の保持装置の中から選択された前記割当対象保持装置に関連する２台以上の関連保持装置に対して、同一の選択分散情報を出力する。このため、選択分散情報を受け取った複数の保持装置において、同一の選択分散情報を保持させることができる。これにより、複数の保持装置における同一の選択分散情報の保持の冗長性が増し、少数の保持装置において分散情報が不正に改竄された場合における対処の可能性を高めることができる。【０５１６】
また、配布装置は、少なくとも、同一の閉路（リング内）において、割当対象保持装置に対応するノードの両側に隣接する第１及び第２のノードに対応する第１及び第２関連保持装置を選択するので、保持装置において分散情報が不正に改竄された場合において対処する際に、同一の選択分散情報を保持している関連保持装置の特定が確実に行える。【０５１７】
また、配布装置は、全ての保持装置の各々に対して、自身に割り当てられる分散情報と、当該保持装置に隣接する関連保持装置に割り当てられる分散情報とを保持させることができる。【０５１８】
また、全ての保持装置に割り当てられた分散情報の加算により、秘密情報を復元することができる。【０５１９】
また、前記生成部は、所定の法において、ランダムにｎ−１個の分散情報を生成し、所定の法において、前記秘密情報から、生成したｎ−１個の分散情報を減ずることにより、残りの１個の分散情報を算出するので、分散情報の生成において、ランダム性を確保できるとともに、生成された複数の分散情報を加算することにより、秘密情報の復元を確実にすることができる。【０５２０】
（２）各保持装置の構成
ｎ台の保持装置のそれぞれは、配布装置により、１個の秘密情報から生成されたｎ個の分散情報の中の１個の分散情報を割り当てられる。保持装置は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、通信ユニットなどから構成されるコンピュータシステムである。前記ＲＡＭ又は前記ハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、前記保持装置は、その機能を達成する。【０５２１】
保持装置は、例えば、携帯電話、携帯通信端末装置、マルチメディア再生録画装置、パーソナルコンピュータ、メモリ機能付きのＩＣカード、メモリ機能付きの非接触ＩＣカードなどである。【０５２２】
第ｉ番目の保持装置は、ネットワークを介して、配布装置から配布される割当分散情報と２個以上の関連分散情報とを取得する取得部と、取得した前記割当分散情報と、前記関連分散情報とを記憶する記憶部とを備える。【０５２３】
ここで、前記割当分散情報は、当該第ｉ番目に保持装置に割り当てた第ｉ番目の分散情報である。また、前記関連分散情報の中の第１及び第２関連分散情報は、それぞれ、同一の閉路（リング内）において、当該第ｉ番目の保持装置に対応するノードの両側に隣接する第ｉ−１及び第ｉ＋１番目のノードそれぞれに対応する第ｉ−１及び第ｉ＋１番目の保持装置に割り当てられた分散情報と同一である。【０５２４】
以上説明したように、各保持装置は、割当分散情報と２個以上の関連分散情報とを記憶しているので、ｎ台の保持装置からなる保持システム全体により、同一の分散情報の保持の冗長性が増し、保持装置において分散情報が不正に改竄された場合における対処の可能性を高めることができる。【０５２５】
（３）認証局装置の構成
認証局装置は、受信部、復元部、検証部及び特定部から構成されている。具体的には、認証局装置は、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、通信ユニット、ディスプレィユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記ＲＡＭ又は前記ハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、前記認証局装置は、その機能を達成する。【０５２６】
受信部は、通信ネットワークを介して、ｎ台の全ての保持装置に冗長的に割り当てて記憶している分散情報のうち冗長性のないｎ個の分散情報を受信する。【０５２７】
復元部は、受信したｎ個分散情報を用いて、仮に秘密情報を復元する。【０５２８】
検証部は、復元した秘密情報の正当性を検証する。【０５２９】
特定部は、復元した秘密情報が正当でないと認められた場合に、各保持装置が保持する残りの分散情報と、復元に用いたｎ個の分散情報を用いて、不正に改竄された分散情報を保持する保持装置を特定する。前記特定部は、第１分類部と第２分類部と組合生成部と検証部と排除部とを含む。【０５３０】
第１分類部は、各保持装置が保持する残りの分散情報を取得し、第ｉ番目の保持装置に割り当てられた第ｉ番目の分散情報と、第ｉ番目の保持装置に対応するノードの両側に隣接する第ｉ−１及び第ｉ＋１番目のノードそれぞれに対応する第ｉ−１及び第ｉ＋１番目の保持装置がそれぞれ保持する第ｉ番目の分散情報それぞれとが、同一の情報として第ｉ番目のグループに属するように、各保持装置から取得した全ての分散情報を第１から第ｎのグループに分類する。【０５３１】
第２分類部は、第１から第ｎのグループについて、内容が同一となる分散情報が同じサブグループに属するように、当該グループに含まれる複数の分散情報を分類する。【０５３２】
組合生成部は、第１から第ｎのグループからそれぞれ、１個のサブグループを選択し、選択したｎ個のサブグループから１個の分散情報を選択し、ｎ個の分散情報から構成される組合せを生成する。【０５３３】
検証部は、生成した組合せに含まれる全ての分散情報を用いて、秘密情報を生成することにより、分散情報の正当性を検証する。【０５３４】
排除部は、正当であると認められる場合に、サブグループに含まれている分散情報を保持する保持装置を正当とみなして、当該保持装置を排除する。【０５３５】
前記特定部は、排除された正当な保持装置を除き、残りの保持装置の中から不正に改竄された分散情報を保持する保持装置を特定する。【０５３６】
以上のようにして、不正に改竄された保持装置が特定された場合には、前記復元部は、さらに、不正に改竄された分散情報を保持すると特定された保持装置を除き、他の保持装置から受け取った分散情報を用いて、秘密情報を復元する。【０５３７】
以上説明したように、認証局装置は、複数の保持装置の中から、不正に改竄された分散情報を保持する保持装置を特定することができる。【０５３８】
（４）ｎ台の保持装置からの脱退の場合
ｎ台の保持装置から構成されるグループから、脱退対象保持装置が脱退する場合について説明する。脱退対象保持装置が脱退する理由については、装置が故障したり老朽化した場合や、上記に説明したように、分散情報が不正に改竄された場合など、様々考えられる。【０５３９】
上述したように、全ての前記保持装置は、１個又は２個以上の閉路（リング状）に関係付けられており、このうちの１台の脱退対象保持装置が脱退する場合を想定する。【０５４０】
全ての保持装置は、脱退対象保持装置、前記脱退対象保持装置に隣接して関係付けられている保持装置、及びその他の保持装置に分類される。【０５４１】
ここでは、脱退対象保持装置に隣接して関係付けられている保持装置、及びその他の保持装置について説明する。【０５４２】
（ａ）脱退対象保持装置に隣接して関係付けられている保持装置の構成
脱退対象保持装置に隣接して関係付けられている第ｉ番目の保持装置は、上述した構成に加えて、さらに、分散指示を受け取る受信部、前記分散指示を受け取ると、前記記憶部から、前記脱退対象保持装置に割り当てられた分散情報を読み出す読出部、読み出された前記分散情報をｎ−１個の部分分散情報に分解する分散情報分解部と、分解されたｎ−１個の部分分散情報を、第ｉ番目の保持装置及び前記脱退対象保持装置を除く他のｎ−２台の保持装置それぞれが保持する複数の分散情報に対して、同一番目の分散情報には同一の部分分散情報が割り当たる様態で、前記ｎ−２台の保持装置へ出力する出力部とを含む。【０５４３】
ここで、所定の法において、前記分散情報分解部により分解された全ての部分分散情報に対する加算により、読み出された前記分散情報が得られる。【０５４４】
（ｂ）その他の保持装置
その他の保持装置は、上述した構成に加えて、さらに、前記脱退対象保持装置に隣接するように関係付けられている保持装置から、前記その他の保持装置が保持する複数の分散情報に割り当てるべき部分分散情報を受信する受信部と、受信した各部分分散情報を、前記記憶部が記憶している分散情報のうち、当該部分分散情報に対応する分散情報に加算する演算部とを含む。【０５４５】
ここで、前記部分分散情報は、前記脱退対象保持装置に割り当てられた分散情報から生成されたものであり、前記記憶部が記憶している分散情報に対応している。【０５４６】
また、所定の法において、生成された全ての前記部分分散情報に対する加算により、前記脱退対象保持装置に割り当てられた前記分散情報が得られる。【０５４７】
（４）ｎ台の保持装置への追加の場合
ｎ台の保持装置から構成されるグループに対して、さらに、追加保持装置を追加する場合について説明する。【０５４８】
上述したように、全ての前記保持装置は、１個又は２個以上の閉路（リング状）に関係付けられており、１台の追加保持装置が閉路の一カ所に挿入されるように関係付けられる。【０５４９】
全ての保持装置は、追加保持装置、前記追加保持装置に隣接して関係付けられている隣接保持装置、隣接保持装置にさらに隣接して関係付けられている保持装置及びその他の保持装置に分類される。【０５５０】
ここでは、追加保持装置、隣接保持装置、隣接保持装置にさらに隣接して関係付けられている保持装置について説明する。【０５５１】
（ａ）隣接保持装置の構成
ここでは、隣接保持装置の構成について説明する。【０５５２】
隣接保持装置は、上述した構成に加えて、さらに、当該隣接保持装置に対応するノードに隣接する状態で追加された新たなノードに対応付けらける新たな追加保持装置が追加される旨の通知を受け取る受信部と、前記通知を受け取ると、前記記憶部から、前記隣接保持装置に割り当てられた分散情報を読み出す読出部と、追加部分情報を生成する生成部と、生成された前記追加部分情報を用いて、読み出された前記分散情報に対して演算を施し、得られた演算結果を新たな分散情報として、読み出された前記分散情報に代えて、前記記憶部へ書き込む演算部と、生成された前記追加部分情報を前記追加保持装置へ出力する出力部とを含む。【０５５３】
ここで、前記演算部は、所定の法において、読み出された前記分散情報から前記追加部分情報を減ずることにより、前記演算結果を得る。【０５５４】
ここで、前記出力部は、さらに、生成された追加部分情報を、当該隣接保持装置に割り当てられた分散情報と同一の分散情報を保持する他の保持装置へ出力する。【０５５５】
また、前記受信部は、さらに、前記追加保持装置に対応するノードに隣接する２つのノードのうち当該隣接保持装置に対応するノードとは別のノードに対応する他方の隣接保持装置から第２の追加部分情報を受信し、前記演算部は、さらに、前記生成部により生成された前記追加部分情報及び前記受信部により受信した第２の追加部分情報に演算を施して追加分散情報を生成し、生成した前記追加分散情報を、追加保持装置に割り当てられる分散情報として、前記記憶部に書き込む。【０５５６】
ここで、前記演算部は、所定の法において、前記追加部分情報及び前記第２の追加部分情報に加算を施して、前記追加分散情報を得る。【０５５７】
以上説明したように、各保持装置に新たに分散情報が割り当てらる。【０５５８】
このように、各保持装置に新たに分散情報が割り当てられた場合に、新たな分散情報からｎ＋１個の部分分散情報を生成し、生成した部分分散情報を、各保持装置へ出力する。こうして、各保持装置に対して、部分分散情報により保持している分散情報をさらに更新させる。これにより、全ての保持装置が保持している分散情報により秘密情報を復元することができることを確保しつつ、保持装置が保持している分散情報のランダム性をさらに高めることができる。【０５５９】
このような目的を達成するために、前記読出部は、さらに、前記記憶部から、当該保持装置に新たに割り当てられた新たな分散情報を読み出す。また、前記演算部は、さらに、読み出した分散情報からｎ＋１個の部分分散情報を生成する。出力部は、さらに、生成した追加部分情報を、各保持装置へ出力する。【０５６０】
（ｂ）隣接保持装置にさらに隣接して関係付けられている保持装置の構成
ここでは、隣接保持装置にさらに隣接して関係付けられている保持装置について説明する。【０５６１】
当該保持装置は、さらに、前記隣接保持装置から、追加部分情報を受信する受信部と、前記記憶部から前記隣接保持装置に割り当てられた隣接分散情報を読み出す読出部と、受信された前記追加部分情報を用いて、読み出された前記隣接分散情報に対して演算を施し、得られた演算結果を、前記隣接分散情報に代えて、前記隣接保持装置に割り当てられた分散情報として、前記記憶部へ書き込む演算部とを含む。【０５６２】
また、前記受信部は、さらに、部分分散情報を受信する。前記演算部は、さらに、受信した部分分散情報を用いて、前記記憶部に記憶されている分散情報に演算を施し、演算結果を新たな分散情報として前記記憶部に書き込む。【０５６３】
（ｃ）追加保持装置の構成
ここでは、追加保持装置について説明する。【０５６４】
上述したように、追加保持装置は、１個の秘密情報から生成された複数の分散情報をそれぞれ保持する複数の既保持装置から構成されるグループに新たに追加される。【０５６５】
追加保持装置は、少なくとも２台の既保持装置からそれぞれ追加部分情報を受信する受信部と、受信した全ての前記追加部分情報を用いて、自身に割り当てられた分散情報を生成する生成部と、生成した前記分散情報を記憶する記憶部とを備える。【０５６６】
また、前記生成部は、所定の法において、前記追加部分情報を用いて、加算により、前記分散情報を生成する。【０５６７】
また、前記受信部は、さらに、保持装置から部分分散情報を受信し、前記演算部は、さらに、受信した部分分散情報を用いて、前記記憶部に記憶されている分散情報に演算を施し、当該保持装置に割り当てられた新たな分散情報として、演算結果を前記記憶部に書き込む。【０５６８】
１．７  その他の変形例
なお、本発明を上記実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。【０５６９】
（１）上記実施の形態では、認証局装置１４０は、ＲＳＡ暗号／署名における公開鍵証明書を発行していたが、認証局装置１４０及び端末Ａ、Ｂ、Ｃで使用する暗号はこれに限らない。【０５７０】
例えば、有限体上の離散対数問題に基づいた暗号／署名や楕円離散対数問題に基づいた楕円曲線暗号／署名を使用し、認証局装置１４０が楕円曲線暗号／署名における公開鍵証明書を発行してもよい。これらの署名の例としては、ＥｌＧａｍａｌ署名、ＤＳＡ署名または楕円ＤＳＡ（ＥＣＤＳＡ）署名などがあり、暗号の例としては、ＥｌＧａｍａｌ暗号、楕円ＥｌＧａｍａｌ暗号、ＰＳＥＣ暗号などがある。ＥｌＧａｍａｌ署名、ＤＳＡ署名、楕円ＤＳＡ署名、ＥｌＧａｍａｌ暗号及び楕円ＥｌＧａｍａｌ暗号については、非特許文献３の３〜４ページに記載されている。ＰＳＥＣ暗号については、非特許文献４に記載されている。有限体上の離散対数問題を使用する場合においての変更部分を以下で説明する。【０５７１】
ｐを素数または素数のべき、ｇ（１≦ｇ≦ｐ−１）をベース元、ｑをベース元の位数とする。このとき、ｇ＾ｑ＝１  ｍｏｄ  ｐとなる。ここで、ａ＾ｂはａをｂ回乗算を施したものである。ここで、秘密鍵をｘ（１≦ｘ≦ｑ−１）とし、公開鍵をｙ＝ｇ＾ｘとする。すなわち、「新しい秘密鍵」としてｘを使用する。秘密分散法を用いてｋ個の分散情報（ｘ＿１、ｘ＿２、・・・、ｘ＿ｋ）を以下の式のように分割する。【０５７２】
ｘ＝ｘ＿１＋ｘ＿２＋・・・＋ｘ＿ｋ  ｍｏｄ  ｑ
また、秘密分散の方法として上記のように加減算を用いる他に、乗除算を用いることも可能である。この場合、
ｘ＝ｘ＿１×ｘ＿２×・・・×ｘ＿ｋ  ｍｏｄ  ｑ
となる。この場合は、実施の形態１における「足し算」を上記の「掛け算」、「引き算」をｍｏｄ  ｑの除算とする。【０５７３】
同様に楕円離散対数問題の場合は、Ｇをベース点（楕円曲線上の点）、ｑをベース点の位数とする。このとき、ｑ＊Ｇ＝Ｏとなる。ここで、＊は楕円曲線のスカラ倍演算を示し、ｑ＊Ｇはｑ個のＧを楕円曲線の群における加算をしたものを表す。ここで、秘密鍵をｘ（１≦ｘ≦ｑ−１）とし、公開鍵をＹ＝ｘ＊Ｇとする。すなわち、「新しい秘密鍵」としてｘを使用する。秘密分散の方法については、上記の有限体上の離散対数問題を使用する場合と同様である。なお、上記では、有限体上の離散対数問題を使用する場合はｐを、楕円離散対数問題を使用する場合は楕円曲線の方程式またはそのパラメータをシステムパラメータとし、公開鍵をそれぞれｙ、Ｙとしていたが、これらのシステムパラメータを公開鍵として含めてもよい。また、ｑは素数である方が望ましいがこれに限らない。【０５７４】
（２）上記実施の形態では、「新しい秘密鍵」を正しく生成したかを検証する認証子（証明書）を分散情報保持装置が認証子格納部２５３で保持するとしたが、これに限定するものではない。【０５７５】
鍵配布装置１３０や認証局装置１４０が認証子（証明書）を保持しておく構成としてもよい。【０５７６】
鍵配布装置１３０が認証子を保持する場合においての変更部分を説明する。【０５７７】
鍵配布装置１３０が認証子を保持する場合は、認証子格納部２５３が鍵配布装置１３０にあり、初期設計時に、鍵配布装置１３０は、生成した認証子を認証子格納部２５３に格納する。解析・回復処理時に、鍵配布装置１３０は、認証局装置１４０から回復処理開始の通知を受けて、認証子格納部２５３に格納している認証子を認証局装置１４０へ送信し、認証局装置１４０は「新しい秘密鍵」を正しく生成したか検証するために利用する構成になる。【０５７８】
また、認証局装置１４０が認証子を保持する場合においての変更部分を説明する。【０５７９】
認証局装置１４０が認証子を保持する場合は、認証子格納部２５３が認証局装置１４０にあり、初期設計時に、鍵配布装置１３０は、生成した認証子を認証局装置１４０へ送信し、認証局装置１４０は、受信した認証子を認証子格納部２５３に格納する。解析・回復処理時に、認証局装置１４０は、「新しい秘密鍵」を生成したときに、認証子格納部２５３に格納している認証子を用いて、「新しい秘密鍵」を検証する構成になる。【０５８０】
（３）上記実施の形態では、解析・回復処理を認証局装置１４０が行うとしたが、これに限定するものではない。【０５８１】
認証局装置１４０とは別の装置（例えば、解析装置と回復装置）が解析・回復処理を行うとしてもよいし、認証局装置１４０とは異なる認証局装置を立ち上げ、その認証局装置が解析・回復処理を行うとしてもよい。この構成にすることで、認証局装置１４０が攻撃され、悪意のある第３者に乗っ取られたとしても、上記実施の形態の各処理を実施できる。【０５８２】
解析装置と回復装置が解析・回復処理を行う場合においての変更部分を説明する。【０５８３】
回復装置が回復処理を行う場合、回復装置は、図８にて示す秘密鍵格納部４０１と秘密鍵生成部４１４、秘密鍵検証部４１５、不正装置特定部４１６と、新たな構成要素である秘密鍵送信部とから構成される。【０５８４】
認証局装置１４０は、秘密鍵格納部４０１と端末証明書発行部４１２、認証局証明書格納部４１３と、新たな構成要素である秘密鍵受信部から構成される。秘密鍵送信部は、「新しい秘密鍵」を認証局装置１４０へ送信する。秘密鍵受信部は、回復装置から「新しい秘密鍵」を受信する。【０５８５】
解析装置と回復装置が行う解析・回復処理は、まず、外部装置が、認証局装置１４０の秘密鍵１４１の漏洩を検知すると、その旨を解析装置へ通知する。【０５８６】
通知を受けた解析装置は、上記実施の形態で示したような認証局装置１４０のログをチェックするなどして、秘密鍵の漏洩原因を解析する。解析装置が解析した結果、認証局装置１４０の秘密鍵を更新する必要があると判断した場合には、解析装置から回復装置へ秘密鍵の回復を依頼する。【０５８７】
依頼を受けた回復装置は、上記実施の形態で示したような回復処理を行い、「新しい秘密鍵」を生成する。「新しい秘密鍵」を生成した回復装置は、認証局装置１４０へ「新しい秘密鍵」を送信する。【０５８８】
「新しい秘密鍵」を受信した認証局装置１４０は、秘密鍵格納部４０１に「新しい秘密鍵」を格納する。【０５８９】
ここで、回復装置と認証局装置１４０の間で「新しい秘密鍵」を送受信する時の通信路はセキュリティの確保された通信路であってもよい。【０５９０】
（４）上記実施の形態では、各分散情報保持装置が分散情報格納部に１つの分散情報を所有しているとしたが、これに限定するものではない。【０５９１】
各分散情報保持装置は、分散情報格納部に２つ以上の分散情報を所有としてもよい。つまり、鍵配布装置は、分散情報保持装置に対して２つ以上の分散情報を割り当ててもよい。【０５９２】
例えば、分散情報を２つ所有している場合、脱退・追加処理において分散情報から部分情報を生成するときは、２つの分散情報の値を足した値から複数の部分情報を生成する。【０５９３】
また、追加処理において分散情報から変形情報を引く処理においては、２つの分散情報の値を足した値と、変形情報の値と更新後の分散情報の値を足した値が同じになるように変形情報を生成する。具体的には、２つの分散情報のうちのどちらか１つの分散情報から変形情報を引けばよい。ただし、これは一例であり、例えば、変形情報を分割し、それぞれを２つの分散情報のうちの各分散情報から引くとしてもよい。【０５９４】
（５）上記実施の形態では、分散情報保持装置で２つの他装置分散情報を持つとしたが、これに限定するものではない。【０５９５】
３つ以上の他装置分散情報を持つ構成としてもよい。他装置分散情報が３つ以上になったときには、脱退・追加処理において、部分情報の検証や分散情報の検証処理で、２つ以上の分散情報保持装置が検証を行う以外はそのまま拡張可能である。【０５９６】
（６）上記実施の形態では、分散情報保持装置を用いて認証局装置１４０の秘密鍵を回復するとしたが、これに限定するものではない。【０５９７】
例えば、認証局装置１４０が存在しないシステムを考え、分散情報保持装置を用いて端末Ａ、端末Ｂ、及び端末Ｃへ証明書を発行するシステムにも利用できる。端末へ証明書を発行するシステムの場合においての変更部分を以下で説明する。【０５９８】
以下の説明において、秘密鍵ｄから６つの分散情報（ｄ＿１、ｄ＿２、・・・ｄ＿６）を生成し、６つの分散情報保持装置へ配布している。ここで、ｄ＝ｄ＿１＋ｄ＿２＋・・・＋ｄ＿６である。【０５９９】
分散情報保持装置を用いて端末へ証明書を発行するには、まず、各分散情報保持装置は、自装置の分散情報をべきとして署名対象のデータのハッシュ値ｈをべき乗した部分署名（ｓ＿１、ｓ＿２、・・・、ｓ＿６）を生成し、端末へ送信する。それぞれの分散情報保持装置での部分署名は、それぞれｓ＿１＝ｈ＾ｄ＿１、ｓ＿２＝ｈ＾ｄ＿２、・・・、ｓ＿６＝ｈ＾ｄ＿６として生成される。端末は、各分散情報保持装置から受信した部分署名の積を、Ｓ＝ｓ＿１×ｓ＿２×・・・ｓ＿６  ｍｏｄ  ｎとして求め、Ｓを署名データとして証明書を構成する。さらに端末で、証明書検証し、検証が通らなかった場合には、回復検証と同様の処理を行う。この時、分散情報を端末に送ることが出来ないため、他装置分散情報を用いた部分署名を集めて、不正な分散情報保持装置を特定する。この場合は、分散情報の代わりに部分署名をサブグループに分割し、実施の形態１において「各組み合わせそれぞれが示す分散情報を用いて新しい秘密鍵を構成し証明書生成して検証」する代わりに「各組み合わせそれぞれが示す部分署名を用いて証明書生成して検証」する。【０６００】
不正な分散情報保持装置を特定した結果を各分散情報保持装置に送信する。または、各分散情報保持装置が、それぞれで特定する処理をしてもよい。この構成であっても、脱退・追加処理については同様に行える。【０６０１】
初期設計や次ラウンド準備の処理では、鍵配布装置を立ち上げ、秘密鍵の生成や分散情報の生成を行い、各分散情報保持装置へそれらの情報を配布した後に、その鍵配布装置を解体する構成であってもよい。【０６０２】
また、認証局装置１４０を構築し運用できるときには、認証局装置１４０が端末に対して証明書の発行を行い、認証局装置１４０を構築・運営できないときには上記のように各分散情報保持装置が証明書を発行するような、２つの構成を切り替えてもよい。認証局装置１４０がある構成からない構成へ切り替えるときには、認証局装置１４０の秘密鍵を各分散情報保持装置へ分散させ、認証局装置１４０がない構成からある構成へ切り替えるときには、各分散情報保持装置が保持する分散情報から秘密鍵を復元して認証局装置１４０の秘密鍵にすることで、どちらの構成においても同じ秘密鍵を利用できる構成にしてもよい。【０６０３】
以下、証明書の発行及び不正な装置の特定の動作について説明する。【０６０４】
＜証明書の発行の動作＞
各分散情報保持装置１２１〜１２６は、それぞれ自身の分散情報２１１〜２１６を用いて、部分署名（ｓ＿１〜ｓ＿６）を生成する。【０６０５】
各分散情報保持装置１２１〜１２６は、証明書発行依頼をした端末１５０へ、生成した部分署名を送信する。【０６０６】
また、各分散情報保持装置１２１〜１２６は、図３８にて示すように、生成した部分署名を、自身以外の分散情報保持装置へも送信する。ここで、部分署名１ＸＸＸは分散情報ＸＸＸを用いて生成した部分署名を示している。【０６０７】
証明書発行依頼をした端末１５０は、すべての部分署名（ｓ＿１〜ｓ＿６）を用いて証明書を生成する。【０６０８】
端末１５０は、生成した証明書の検証を行う。例えば、端末１５０は、証明書の含まれる署名データＳを、秘密鍵ｄに対応する公開鍵を用いて検証を行う。署名検証については、公知の技術であるので、ここでの説明は省略する。【０６０９】
なお、分散情報保持装置が証明書を検証して、不正な証明書であるかを判断してもよい。【０６１０】
＜不正な装置の特定の動作＞
端末１５０は、証明書の検証により、不正な証明書であると判断する場合、その旨を各情報保持装置１２１〜１２６へ通知する。【０６１１】
各分散情報保持装置１２１〜１２６は、証明書が不正である旨の通知を受け取ると、部分署名を用いて不正分散情報保持装置を特定する。【０６１２】
特定方法について、図３９を用いて説明する。【０６１３】
なお、図中の他装置部分署名１ＸＸＸ＿Ｙは、第１又は第２他装置分散情報ＸＸＸ＿Ｙを用いて生成した部分署名を示している。【０６１４】
図３９では、分散情報保持装置１２１〜１２６それぞれが自身の保持する他装置分散情報から生成される他装置分散署名を用いて、部分署名の比較を行う。【０６１５】
一致しない部分署名を有する分散情報保持装置が不正な分散情報保持装置であると特定できる。【０６１６】
なお、各分散情報保持装置が自身の保持する他装置分散情報から生成される他装置分散署名を用いて、部分署名の比較を行なっているが、これに限らない。【０６１７】
例えば、すべての部分署名を一つの分散情報保持装置に集めて、その分散情報保持装置が比較するとしてもよい。【０６１８】
（７）上記実施の形態では、秘密鍵をバックアップまたは更新するとしたが、これに限定するものではなく、共通鍵暗号方式で用いられる共通鍵やパスワードなどの秘密情報や、プログラム、データであってもよい。プログラムやデータをバックアップまたは更新する構成の場合には、プログラムやデータが耐タンパーモジュールに含まれてもよい。【０６１９】
（８）上記実施の形態では、公開鍵基盤で用いられる認証局システムに利用するとしたが、これに限定するものではなく、他のシステムにおいても、認証局システム１００における認証局装置１４０のような、信頼の源を必要とするシステムで利用できる。例えば、耐タンパーソフトウェアなどのソフトウェアのセキュア実装に利用するとしてもよい。【０６２０】
図４０に、その一例を示す。【０６２１】
機器６００は、具体的には、テレビや携帯端末であり、外部装置６５０とネットワーク６７０を介して通信を行う。機器６００はセキュアな構成が実装されている（以下、セキュア実装という。）。【０６２２】
機器６００は、ＯＳ  ６０１とソフトウェアモジュール１  ６０２、ソフトウェアモジュール２  ６０３、ソフトウェアモジュール３  ６０４とを含んでいる。【０６２３】
ＯＳ  ６０１は、耐タンパーモジュール６０５と、内部検知・回復モジュール６０６〜６０８を含んでいる。【０６２４】
耐タンパーモジュール６０５は、秘密の情報（ここでは、秘密鍵）を格納しており、当該秘密鍵が漏洩された場合には、ソフトウェアモジュール１  ６０２、ソフトウェアモジュール２  ６０３、ソフトウェアモジュール３  ６０４、若しくは内部検知・回復モジュール６０６〜６０８を用いて新たな秘密鍵の回復を行う。【０６２５】
また、耐タンパーモジュール６０５は、装置内部で動作するソフトウェアモジュールが装置外部や装置内部の他のソフトウェアモジュール（図示せず）から解析・改ざんされることを防止するために、装置外部や装置内部の他のソフトウェアモジュールによる解析の検出や、ソフトウェアモジュールの改ざんの検出を行う。【０６２６】
内部検知・回復モジュール６０６〜６０８は、上記実施の形態における分散情報保持装置に相当する。【０６２７】
内部検知・回復モジュール６０６〜６０８は、新たな秘密鍵から生成された分散情報を格納しており、新たな秘密鍵の回復時には、格納している分散情報を、耐タンパーモジュール６０５へ出力する。【０６２８】
また、内部検知・回復モジュール６０６〜６０８は、耐タンパーモジュール６０５の機能低下を検知する。内部検知・回復モジュール６０６〜６０８は、耐タンパーモジュール６０５の機能低下を検知すると、ネットワーク６７０を介して外部装置６５０へ更新用の耐タンパーモジュールを要求する。内部検知・回復モジュール６０６〜６０８は、外部装置６５０から更新用の耐タンパーモジュールを受け取ると、受け取った更新用の耐タンパーモジュールを用いて現在の耐タンパーモジュール６０５を更新する。【０６２９】
なお、内部検知・回復モジュールの脱退・追加時における分散情報の更新については、上記実施の形態と同様であるので、ここでの説明は省略する。【０６３０】
ソフトウェアモジュール１  ６０２、ソフトウェアモジュール２  ６０３、ソフトウェアモジュール３  ６０４それぞれは、上記実施の形態における分散情報保持装置に相当する。【０６３１】
ソフトウェアモジュール１  ６０２、ソフトウェアモジュール２  ６０３、ソフトウェアモジュール３  ６０４それぞれは、新たな秘密鍵から生成された分散情報を格納しており、新たな秘密鍵の回復時には、格納している分散情報を、耐タンパーモジュール６０５へ出力する。【０６３２】
なお、ソフトウェアモジュールの脱退・追加時における分散情報の更新については、上記実施の形態と同様であるので、ここでの説明は省略する。【０６３３】
外部装置６５０は、外部回復モジュール６５１を含んでいる。【０６３４】
外部回復モジュール６５１は、機器６００からネットワーク６７０を介して、更新用の耐タンパーモジュールの要求を受け付けると、更新用の耐タンパーモジュールを、ネットワーク６７０を介して機器６００へ出力する。【０６３５】
ここで、各ソフトウェアモジュールは、耐タンパーモジュールによって保護されているソフトウェアモジュールでもよいし、耐タンパーモジュール内で動作するソフトウェアモジュールでもよい。【０６３６】
（９）上記実施の形態において、秘密鍵格納部４０１は耐タンパーモジュールなどのセキュリティの確保されたモジュールに含んでもよい。また、端末証明書発行部４１２は、端末の公開鍵に対してディジタル署名して証明書を発行するとしたが、これに限定するものではなく、端末の公開鍵暗号の鍵対を生成し発行するとしてもよい。【０６３７】
（１０）上記実施の形態において、鍵配布装置１３０は、分散情報、第１及び第２他装置分散情報を配布する際に、各情報に識別子を対応付けて配布してもよい。【０６３８】
ここで、識別子は、例えば、配布先の装置ＩＤと、分散情報、第１及び第２他装置分散情報の何れかを示す情報ＩＤとかなる情報である。具体的には、鍵配布装置１３０が分散情報保持装置１２１へ分散情報ｄ＿１、第１及び第２他装置分散情報ｄ１＿２、ｄ２＿６を送信する場合には、分散情報ｄ＿１に対してＩＤ＿１とＩＤ＿Ａとからなる識別子を、分散情報ｄ１＿２に対してＩＤ＿１とＩＤ＿Ｂとからなる識別子を、分散情報ｄ２＿６に対してＩＤ＿１とＩＤ＿Ｃとからなる識別子を、それぞれ対応付けて送信する。なお、ＩＤ＿Ａ、ＩＤ＿Ｂ、ＩＤ＿Ｃは、それぞれ分散情報、第１及び第２他装置分散情報を示す情報ＩＤである。【０６３９】
各分散情報保持装置は、分散情報、第１及び第２他装置分散情報と、それぞれに対応する識別子とを受信すると、各情報と識別子とを対応付けて格納する。また、分散保持装置は、分散情報、第１及び第２他装置分散情報を、他の分散情報保持装置や認証局装置１４０へ送信する際には、対応する識別子も併せて送信する。【０６４０】
（１１）上記実施の形態の脱退処理において、分散情報保持装置１２６が５つの部分情報を生成し、各分散情報保持装置へ配布し、分散情報保持装置１２２がその部分情報から生成される分散情報を検証するとしたが、これに限定するものではない。【０６４１】
脱退する分散情報保持装置１２１が所有する分散情報２１１と同じ分散情報を保持している分散情報保持装置が５つの部分情報を生成し、これら部分情報を生成した分散情報保持装置と異なる分散情報保持装置で分散情報２１１と同じ分散情報を保持している分散情報保持装置が検証を行えばよい。【０６４２】
例えば、分散情報保持装置１２２が分散情報２１１＿２から５つの部分情報を生成し、各分散情報保持装置へ配布し、分散情報保持装置１２６がその部分情報を検証するとしてもよい。または、脱退する分散情報保持装置１２１自身が、分散情報２１１から５つの部分情報を生成し、各分散情報保持装置へ配布し、分散情報保持装置１２２または１２６、あるいは両方がその部分情報を検証するとしてもよい。【０６４３】
（１２）上記実施の形態の脱退処理において、脱退時の第２更新処理は、脱退処理の初め、例えば、部分情報の生成処理内で行ってもよい。【０６４４】
部分情報の生成処理内で行う場合、生成した部分情報ｄ＿１＿１、ｄ＿１＿２を分散情報保持装置１２２へ配布する際に、部分情報ｄ＿１＿１、ｄ＿１＿２に加えて部分情報ｄ＿１＿５及び分散情報ｄ＿６も送信する必要がある。【０６４５】
また、図１９にて示すステップＳ４６０からＳ４６３のそれぞれの処理は、この順番で処理を行う必要はなく、図２０にて示すステップＳ４７１からＳ４７３、ステップＳ４８６からＳ４８９のそれぞれの処理も、この順番で処理を行う必要はない。また、図２３にて示すステップＳ６００及びＳ６１１の処理と、ステップＳ６０５及びＳ６１６のそれぞれの処理も、この順番で行う必要はない。【０６４６】
（１３）上記実施の形態において、図１８にて示すステップＳ４２０の判断処理は、必須の処理ではない。【０６４７】
また、脱退処理は分散情報保持装置同士で処理をするとしたが、これに限定するものではなく、初期設計時の処理と同様に鍵配布装置で新規に「新しい秘密鍵」を生成し、分散情報を生成して、脱退する分散情報保持装置を除いて、分散情報を配布し直してもよいし、鍵配布装置で「新しい秘密鍵」を復元し、分散情報を配布してもよい。【０６４８】
（１４）上記の追加処理における第１及び第２更新処理において、分散情報を７つの部分情報に分割して配布するとしたが、これに限定するものではない。１つの変形情報を生成して、生成した変形情報を用いて、各分散情報を更新してもよい。【０６４９】
例えば、追加時の第１更新処理において、分散情報保持装置１２１は、変形情報ｍ１を生成し、生成した変形情報ｍ１から６個の部分情報を生成し、生成した部分情報を他の分散情報保持装置へ配布してもよい。【０６５０】
この場合、分散情報保持装置１２１は、他の分散情報保持情報が保持する部分情報毎に、異なる部分情報を対応付けて、他の分散情報保持装置へ配布する際には、配布先の装置が有する３つの分散情報それぞれに対応する部分情報それぞれを配布する。他の分散情報保持装置は、受け取った各部分情報を、対応する分散情報、第１及び第２他装置分散情報に加算して新たな分散情報、第１及び第２他装置分散情報を生成する。また、分散情報保持装置１２１は、自身が保持する分散情報から生成した変形情報ｍ１を減算し、新たな分散情報Ｄ＿１を算出する。分散情報保持装置１２１は、保持している第１及び第２他装置分散情報それぞれに、対応する部分情報を加算して新たな第１及び第２他装置分散情報を生成する。【０６５１】
また、第２更新処理においても、上記と同様の動作にて実現できるので、ここでの説明は省略する。【０６５２】
また、図２５にて示すステップＳ７０５は、ステップＳ７００の前に行ってもよいし、ステップＳ７００内にて行ってもよい。また、図２６にて示すステップＳ８１０及びＳ８１５の処理は、この順番で行う必要はない。また、図２７にて示す各装置１２６、１２７、１２１の順番で分散情報を更新する必要はない。また、図２８にて示すステップＳ９００からＳ９１０までの処理と、ステップＳ９１５からＳ９２５までの処理は、この順番で行う必要はない。また、図２９にて示すステップＳ９５６からＳ９６１までの処理は、部分情報を生成した後であればどの順番で処理してもよい。【０６５３】
（１５）上記実施の形態において、セキュリティの確保された通信路で分散情報を送りあい、受信した分散情報と同じ値かどうかを検証するとしたが、これに限定するものではない。【０６５４】
ゼロ知識証明などの暗号プロトコルを使用して検証してもよい。ゼロ知識証明については、非特許文献１の１３２〜１５０ページに、暗号プロトコルについては、非特許文献１の２２４〜２２５ページに詳しく説明されている。【０６５５】
（１６）上記実施の形態において、図２５にて示すステップＳ７１５、Ｓ７２５、Ｓ７４５及びＳ７６０と、ステップＳ７３５からＳ７５５までの処理は必須の処理ではない。【０６５６】
また、追加処理は分散情報保持装置同士で処理をするとしたが、これに限定するものではなく、初期設計時の処理と同様に鍵配布装置で新規に「新しい秘密鍵」を生成し、分散情報を生成して、追加する分散情報保持装置も含めて、分散情報を配布し直してもよいし、鍵配布装置で「新しい秘密鍵」を復元し、分散情報を配布してもよい。【０６５７】
（１７）上記実施の形態において、分散情報更新部２６０＿ｊは、更新前の分散情報を更新時に削除するのではなく、別のタイミング、例えば、次の更新があったときや、外部から更新前の分散情報の削除依頼を受けたときなどに削除するように構成してもよい。【０６５８】
（１８）上記実施の形態において、分散情報分割部２６１＿ｊは、値の和を保った分散情報を生成するようにしてもよい。【０６５９】
例えば、複数の分散情報から部分情報を生成する場合には、複数の分散情報の和と部分情報の和が同じになるように部分情報を生成してもよい。【０６６０】
（１９）上記実施の形態において、分散情報検証部２６２＿ｊや他装置分散情報検証部２６３＿ｊによる分散情報の検証方法は、分散情報の値を直接比較する方法以外に、例えば、分散情報のハッシュ値などの検証値を用いた比較でもよい。【０６６１】
（２０）上記実施の形態において、分散情報格納部２５１や他装置分散情報格納部２５２に分散情報を格納するとしたが、これに限定するものではなく、どの分散情報保持装置に格納されているかを示す識別子を含む分散情報を格納してもよい。【０６６２】
（２１）上記実施の形態における鍵漏洩の検知方法について説明する。【０６６３】
先ず、１つ目の例として、秘密鍵１４１の漏洩を検知する専用の検知装置が、認証局装置１４０の秘密鍵１４１が漏洩していないかを定期的に調べる方法がある。具体的には、検知装置は、認証局装置１４０が発行していない不正な証明書が発行されていないかを検知する。認証局装置１４０の秘密鍵１４１が漏洩していることを検知すると、その旨を認証局装置１４０へ通知する。【０６６４】
２つ目の例として、検知装置が、ウェブサイトに認証局装置１４０が保持している秘密鍵がアップロードされていないかをチェックする方法である。【０６６５】
また、検知装置は、秘密鍵の漏洩を検知するだけでなく暗号アルゴリズムの安全性低下を検知するとしてもよく、この場合は、「新しい秘密鍵」は鍵のビット長を変えたり、暗号アルゴリズム自身を例えばＲＳＡ暗号から楕円暗号に変えるとしてもよい。【０６６６】
ここで、認証局装置１４０の秘密鍵１４１の漏洩を検知装置が検知するとしたが、これに限定するものではない。秘密鍵１４１の漏洩を検知を分散情報保持装置１２１〜１２６が行ってもよいし、鍵配布装置１３０が行ってもよい。または、認証局装置１４０自身が行ってもよい。【０６６７】
（２２）上記実施の形態では、回復処理において、新たな秘密鍵ｄを回復したが、これに限定されない。【０６６８】
認証局装置１４０は、現在利用中の秘密鍵１４１を回復してもよい。この場合、各分散情報保持装置は、秘密鍵１４１から生成された分散情報を格納している。【０６６９】
なお、秘密鍵１４１から複数の分散情報の生成方法、及び複数の分散情報から秘密鍵１４１の生成方法については、上記実施の形態と同様であるので、ここでの説明は省略する。また、分散情報保持装置の脱退、追加時における分散情報の更新についても上記実施の形態と同様である。【０６７０】
これにより、秘密鍵１４１のデータが欠損した場合に、認証局装置１４０が、各分散情報保持装置が保持する各分散情報を用いて秘密鍵１４１を回復することにより、新たな秘密鍵を生成する必要がないので、必要最低限の処理で認証システムを維持することができる。【０６７１】
また、認証局装置１４０が、各分散情報保持装置が保持する各分散情報を用いて秘密鍵１４１を回復することにより、秘密鍵１４１を用いて暗号化した情報を復元できる。【０６７２】
（２３）上記実施の形態では、各分散情報保持装置は、１つの閉路（リング）で関係付けられていたが、これに限定されない。【０６７３】
各分散情報保持装置は、２以上の閉路（リング）で関係付けられていてもよい。【０６７４】
例えば、ｐ台の分散情報保持装置が第１の閉路を形成するように関係付けられ、ｑ台の分散情報保持装置が第２の閉路を形成するように関係付けられているものとする。なお、ｐ、ｑは１以上の整数とする。各分散情報保持装置が閉路を形成するように関係付ける方法は、上記実施の形態にて示しているので、ここでの説明は省略する。【０６７５】
この場合、新たな秘密鍵ｄを生成する際には、第１の閉路を形成する各装置を用い、現状の秘密鍵を生成する際には、第２の閉路を形成する各装置を用いる。【０６７６】
また、例えば、上記実施の形態にて示す分散情報ｄ＿１〜ｄ＿３それぞれを保持する３台の分散情報保持装置から第１の閉路を形成し、分散情報ｄ＿４〜ｄ＿６それぞれを保持する３台の分散情報保持装置から第２の閉路を形成してもよい。【０６７７】
また、第１から第ｒの閉路が形成されている場合には、以下のようにして新たな秘密鍵ｄから生成された分散情報（ｄ＿１、ｄ＿２、・・・、ｄ＿ｒ）を配布し、新たな秘密鍵を生成してもよい。ここで、ｒは２以上の整数とする。【０６７８】
鍵配布装置１３０は、第ｉの閉路を形成する各装置に、分散情報ｄ＿ｉから生成された各部分情報を配布する。配布方法は、上記の実施の形態における分散情報の配布方法と同様であるので、ここでの説明は省略する。【０６７９】
認証局装置１４０は、第ｉの閉路を形成する各装置を用いて分散情報ｄ＿ｉを生成し、全ての分散情報（ｄ＿１、ｄ＿２、・・・、ｄ＿ｒ）した後、これら分散情報の総和を算出することにより、新たな秘密鍵を回復する。【０６８０】
また、第１から第ｒの閉路が形成されている場合において、現状の秘密鍵を回復する場合も、上記と同様の分散情報の割り当て方法、分散情報から生成された部分情報の配布方法、現状の秘密鍵の回復方法にて実現できる。【０６８１】
（２４）上記実施の形態において、認証局装置１４０の制御部４０３に認証局証明書格納部４１３を含めるとしたが、これに限定されない。【０６８２】
制御部４０３に認証局証明書格納部４１３を含めなくてもよい。つまり、認証局装置１４０は、秘密鍵格納部４０１、リスト格納部４０２、制御部４０３と、第１及び第２送受信部４０４、４０５及び認証局証明書格納部４１３から構成されるとしてもよい。このとき、制御部４０３には、認証局証明書格納部４１３を除く他の構成要素が含まれている。【０６８３】
（２５）上記実施の形態において、鍵配布装置１３０から各分散情報保持装置へ分散情報を配布する方法は、図１１にて示す方法に限定されない。【０６８４】
鍵配布装置１３０は、配布先の分散情報保持装置それぞれに対して、分散情報保持装置が保持すべき３つの分散情報からなる情報群を決定し、決定した情報群それぞれを対応する分散情報保持装置へ配布してもよい。この場合、どの分散情報が他装置分散情報となるかの識別を付与する。【０６８５】
または、分散情報それぞれを対応する分散情報保持装置へ配布し、その後、分散情報保持装置それぞれに対して、分散情報保持装置が保持すべき他装置分散情報を配布するとしてもよい。【０６８６】
つまり、分散情報の配布方法は、結果的に、分散情報保持装置が、当該分散情報保持装置に割り当てられた１つの分散情報と、２つの他装置分散情報とを保持する方法であればよい。【０６８７】
（２６）上記実施の形態において、鍵配布装置１３０が分散情報を生成し、各分散情報保持装置へ分散情報を配布したが、これに限定されない。【０６８８】
各分散情報保持装置が、分散情報を生成し、生成した分散情報を配布してもよい。【０６８９】
各分散情報保持装置１２１〜１２６は、それぞれで分散情報を生成し、それらの分散情報に基づく公開鍵暗号における公開鍵を生成する。【０６９０】
この生成方法は、非特許文献５で詳しく記載されているので、ここでの説明は省略する。【０６９１】
各分散情報保持装置は、予め記憶している装置情報リストＴ２００に基づいて、自身の分散情報を送付する。【０６９２】
例えば、分散情報保持装置１２１の場合、図４１にて示すように、分散情報保持装置１２２と１２６に、分散情報２１１を送付する。【０６９３】
分散情報保持装置１２２と１２６はそれぞれ、分散情報２１１を他装置分散情報２１１＿２、２１１＿６として保持する。【０６９４】
（２７）上記実施の形態において、分散情報保持装置は、隣接するように関係付けがなされた分散情報保持装置に割り当てられた分散情報を、他装置分散情報として記憶する、つまり当該分散情報と関連付けがなされた他の分散情報保持装置に割り当てられた分散情報を記憶したが、これに限定されない。【０６９５】
分散情報保持装置は、単に、１台以上の他の分散情報保持装置に割り当てられた分散情報を保持するような構成であればよい。【０６９６】
（２８）上記実施の形態において、秘密分散法を用いてｋ個の分散情報を生成する際に、生成されたｋ個の分散情報の総和により元の秘密情報が復元されるように各分散情報を生成したしたが、これに限定されない。【０６９７】
他の演算を用いて元の秘密情報が復元されるように、秘密分散法を用いてｋ個の分散情報を生成してもよい。【０６９８】
例えば、乗算を用いて元の秘密情報が生成されるように、秘密分散法を用いてｋ個の分散情報を生成してもよい。なお、この場合のｋ個の分散情報を生成方法は、上記（１）にて記載しているので、ここでの説明は省略する。【０６９９】
（２９）上記の各装置は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記ＲＡＭまたはハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。【０７００】
（３０）上記の各装置を構成する構成要素の一部または全部は、１個のシステムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ：大規模集積回路）から構成されているとしてもよい。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどを含んで構成されるコンピュータシステムである。前記ＲＡＭには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムＬＳＩは、その機能を達成する。【０７０１】
また、上記の各装置を構成する構成要素の各部は、個別に１チップ化されていても良いし、一部又は全てを含むように１チップ化されてもよい。【０７０２】
また、ここでは、システムＬＳＩとしたが、集積度の違いにより、ＩＣ、ＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。【０７０３】
さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。【０７０４】
（３１）上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なＩＣカードまたは単体のモジュールから構成されているとしてもよい。前記ＩＣカードまたは前記モジュールは、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどから構成されるコンピュータシステムである。前記ＩＣカードまたは前記モジュールは、上記の超多機能ＬＳＩを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ＩＣカードまたは前記モジュールは、その機能を達成する。このＩＣカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。【０７０５】
（３２）本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。【０７０６】
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ）、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。【０７０７】
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。【０７０８】
また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。【０７０９】
また、前記プログラムまたは前記デジタル信号を前記記録媒体に記録して移送することにより、または前記プログラムまたは前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。【０７１０】
（３３）上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。【０７１１】
１．７  まとめ
（１）本発明は、２以上の分散情報保持装置と、前記各分散情報保持装置から受信した分散情報に基づいて第１の秘密鍵を生成し格納する暗号装置からなる暗号システムであって、前記各分散情報保持装置は、それぞれ、第１の分散情報群を格納する第１の分散情報格納部と、第２の分散情報群を格納する第２の分散情報格納部と、前記第１の分散情報群もしくは前記第２の分散情報群に含まれる１以上の分散情報を暗号装置へ送信する分散情報送信部とを備え、前記第１の分散情報群は、それぞれ、前記第１の秘密鍵を生成するためのｋ個（ｋは２以上の整数）の分散情報の中から選択された１以上の分散情報を含み、前記第２の分散情報群は、それぞれ、前記ｋ個の分散情報の中から選択された、自装置の前記第１の分散情報群に含まれる分散情報以外の１以上の分散情報を含み、さらに、自装置の前記第１の分散情報群に含まれる各分散情報と同じと識別される分散情報が、それぞれ、自装置以外のいずれかの前記第２の分散情報群に含まれ、かつ、前記各分散情報保持装置の前記第１の分散情報群のそれぞれに含まれる分散情報の和集合が、前記ｋ個の分散情報からなる集合と等しく、前記暗号装置は、１以上の前記分散情報保持装置から、前記第１の分散情報群もしくは前記第２の分散情報群に含まれる１以上の分散情報を受信する分散情報受信部と、前記分散情報受信部で受信した１以上の分散情報を格納する分散情報格納部と、受信した前記各分散情報の和集合が前記ｋ個の分散情報と等しい場合に、前記各分散情報を用いて復元秘密鍵を生成する秘密鍵生成部と、前記復元秘密鍵を、前記第１の秘密鍵として格納する秘密鍵格納部とを備える事を特徴とする。【０７１２】
上記構成によると、共通の分散情報を複数の分散情報保持装置で持つことができ、分散情報保持装置が不正な動作を行った場合にそれを検知することが出来る。【０７１３】
（２）上記（１）において、前記暗号装置は、さらに、前記第１の秘密鍵が正しいことを検証するための認証子を格納する認証子格納部と、前記認証子を用いて前記復元秘密鍵が正しいことを検証する秘密鍵検証部とを備え、前記秘密鍵格納部は、前記秘密鍵検証部において前記復元秘密鍵が正しいことを検証した場合に、前記秘密鍵生成部で生成した前記復元秘密鍵を前記第１の秘密鍵として格納するとしてもよい。【０７１４】
この構成によると、復元秘密鍵が正しく生成できたかどうかを認証子を用いて検証することができ、分散情報保持装置から正しい分散情報が送られてきたかどうかを検証することが出来る。【０７１５】
（３）上記（２）において、前記分散情報保持装置は、さらに、前記認証子を格納する認証子格納部と、前記認証子を暗号装置へ送信する認証子送信部とを備え、前記暗号装置は、さらに、前記認証子を受信し、前記受信した認証子を前記認証子格納部へ格納する認証子受信部を備えるとしてもよい。【０７１６】
この構成によると、認証子を分散情報保持装置で保持しておくことができ、暗号装置は認証局システムのセキュリティが崩壊するまで、回復に必要な分散情報や認証子を保持しておく必要がない。【０７１７】
（４）上記（２）又は（３）において、前記認証子は、前記第１の秘密鍵をハッシュ関数で処理したハッシュ値であり、前記秘密鍵検証部は、検証用情報として、前記復元秘密鍵をハッシュ関数で処理したハッシュ値を生成する検証用情報生成手段と、前記認証子の値と前記検証用情報の値が一致することを検証する検証手段とを備えるとしてもよい。【０７１８】
この構成によると、秘密鍵のハッシュ値を認証子とすることができ、復元秘密鍵のハッシュ値を計算し、認証子と比較することで、復元秘密鍵が正しく復元できたかを検証できる。【０７１９】
（５）上記（２）又は（３）において、前記認証子は、前記第１の秘密鍵に対応する公開鍵であり、前記秘密鍵検証部は、前記復元秘密鍵と前記認証子が、公開鍵暗号の鍵対であることを検証する検証手段を備えるとしてもよい。【０７２０】
この構成によると、公開鍵を認証子とすることができ、復元秘密鍵と認証子である公開鍵が公開鍵暗号の鍵対になっているかを検証することで、復元秘密鍵が正しく復元できたかを検証できる。【０７２１】
（６）上記（２）又は（３）において、前記認証子は、前記第１の秘密鍵に対応する公開鍵であり、前記秘密鍵検証部は、検証用情報として、前記復元秘密鍵を用いて検証用証明書を生成する検証用情報生成手段と、前記認証子を用いて前記検証用証明書を検証する検証手段とを備えるとしてもよい。【０７２２】
この構成によると、公開鍵を認証子とすることができ、復元秘密鍵を用いて生成した検証用証明書を生成し、その証明書の署名検証を認証子である公開鍵を用いることで復元秘密鍵が正しく復元できたかを検証できる。【０７２３】
（７）上記（２）又は（３）において、前記認証子は、前記第１の秘密鍵を生成するためのｋ個の分散情報を結合した情報をハッシュ関数で処理したハッシュ値であり、前記秘密鍵検証部は、検証用情報として、前記ｋ個の分散情報を結合した情報をハッシュ関数で処理したハッシュ値を生成する検証用情報生成手段と、前記認証子の値と前記検証用情報の値が一致すること検証する検証手段とを備えるとしてもよい。【０７２４】
この構成によると、分散情報から生成されるハッシュ値を認証子とすることができ、復元秘密鍵を生成するもとになった分散情報が正しい分散情報であったかどうかを検証できる。【０７２５】
（８）上記（２）から（７）において、前記分散情報受信部は、受信した前記各分散情報に前記分散情報を送信した分散情報保持装置を識別するための送信元識別情報を付け、前記暗号装置は、さらに、前記秘密鍵検証部において、前記復元秘密鍵が正しいと検証されなかった場合に、前記分散情報と前記送信元識別情報と前記認証子とを用いて、不正な分散情報を送信した分散情報保持装置を特定する不正装置特定部とを備えるとしてもよい。【０７２６】
この構成によると、復元秘密鍵が正しく復元できなかったときに不正装置特定部を用いることで、どの分散情報保持装置が不正な情報を送ったかを特定し、排除することができ、さらに正しい復元秘密鍵を求めることができる。【０７２７】
（９）上記（８）において、前記第１の分散情報群および前記第２の分散情報群に含まれる分散情報は、さらに、前記分散情報を前記第１の分散情報群に含む分散情報保持装置の識別情報を含み、前記不正装置特定部は、前記２以上の分散情報保持装置である第１から第ｒの分散情報保持装置がそれぞれ保持する前記第１の分散情報群および前記第２の分散情報群に含まれる分散情報に対し、１以上の分散情報を前記識別情報を用いて同一識別分散情報群に分類し、さらに、前記各同一識別分散情報群に含まれる分散情報において、値ごとにグループに分類する分散情報分類部と、前記各同一識別分散情報群の中からそれぞれ１つのグループを選択して、前記各同一識別分散情報群それぞれに対して、前記グループを選択する組み合わせのすべてを生成する組み合わせ生成部と、前記組み合わせそれぞれにおいて、前記生成された組み合わせにより選択されたグループに含まれる分散情報を用いて、前記秘密鍵生成部により前記復元秘密鍵を生成し、前記復元秘密鍵を用いて前記秘密鍵検証部により前記復元秘密鍵を検証し、検証を通る前記復元秘密鍵を生成する組み合わせを探し、前記組み合わせにより選択されるグループに検証を通ったことを識別する検証通過識別情報を付け、前記検証通過識別情報の付いていないグループに含まれる前記分散情報の前記送信元識別情報から分散情報保持装置を特定する特定部とを備えるとしてもよい。【０７２８】
（１０）上記（１）において、前記２以上の分散情報保持装置である第１から第ｒの分散情報保持装置の中の１以上の分散情報保持装置が脱退する暗号システムであって、第ｒの分散情報保持装置が脱退する場合に、前記ｋ個の分散情報が示す値の総和が前記第１の秘密鍵であり、前記第ｒの分散情報保持装置の前記第１の分散情報群に含まれる分散情報と同じと識別される分散情報を、前記第２の分散情報群に含む分散情報保持装置である第１の分散情報保持装置は、さらに、前記第ｒの分散情報保持装置の前記第１の分散情報群に含まれる分散情報と同じと識別される、前記第２の分散情報群に含まれる分散情報を、２以上の部分情報にそれぞれ分割する分散情報分割部と、前記分割された各部分情報をそれぞれ、前記第ｒの分散情報保持装置以外のいずれかの分散情報保持装置へ送信する部分情報送信部とを備え、前記第１と第ｒの分散情報保持装置以外の分散情報保持装置は、さらに、前記第１の分散情報保持装置から１以上の前記部分情報を受信する部分情報受信部を備え、前記第ｒの分散情報保持装置以外の分散情報保持装置は、さらに、前記部分情報を用いて前記第１の分散情報群もしくは前記第２の分散情報群に含まれるすくなくとも１つの分散情報を更新する第１の分散情報更新部を備え、前記第ｒの分散情報保持装置を除く各分散情報保持装置の、前記第１の分散情報群に含まれる、更新後の分散情報を含む、各分散情報が示す値の総和が前記第１の秘密鍵と同じであるとしてもよい。【０７２９】
この構成によると、分散情報を保持している分散情報保持装置が脱退する場合にも、分散情報から復元される復元秘密鍵の値を変えることなく分散情報保持装置を脱退させることができる。【０７３０】
（１１）上記（１０）において、前記分散情報送信部は、前記第１の分散情報群もしくは前記第２の分散情報群に含まれる１以上の分散情報を分散情報保持装置へ送信し、第（ｒ−１）の分散情報保持装置以外の分散情報保持装置は、さらに、前記受信した部分情報を第（ｒ−１）の分散情報保持装置へ送信する検証用部分情報送信部を備え、第ｒの分散情報保持装置の前記第１の分散情報群に含まれる分散情報と同じと識別される分散情報を、前記第２の分散情報群に含む分散情報保持装置である第（ｒ−１）の分散情報保持装置は、さらに、前記１以上の部分情報を受信する検証用部分情報受信部と、前記受信した１以上の部分情報が示す値の総和が、前記第２の分散情報群に含まれる前記第ｒの分散情報保持装置の第１の分散情報群に含まれる分散情報が示す値の和と一致することを検証する部分情報検証部とを備え、前記第ｒの分散情報保持装置以外の分散情報保持装置は、さらに、前記第１の分散情報群に含まれる１以上の分散情報を更新した場合、前記更新した分散情報と、前記更新した分散情報と同じと識別される自装置以外の分散情報保持装置の前記第２の分散情報群に含まれる１以上の分散情報とが同じ値であることを検証する第１の分散情報検証部と、前記第２の分散情報群に含まれる１以上の分散情報を更新した場合、前記更新した分散情報と、前記更新した分散情報と同じと識別される自装置以外の分散情報保持装置の前記第１あるいは第２の分散情報群に含まれる１以上の分散情報とが同じ値であることを検証する第２の分散情報検証部とを備え、前記第１と第（ｒ−１）の分散情報保持装置は、さらに、自装置以外の２以上の分散情報保持装置から前記１以上の分散情報を受信する分散情報受信部と、前記分散情報受信部により自装置以外の２以上の分散情報保持装置から受信した分散情報が同じと識別される場合に、同じと識別された前記分散情報が同じ値であることを検証する第３の分散情報検証部と、前記分散情報検証部で同じ値と検証された分散情報を用いて前記第２の分散情報群に含まれる１以上の分散情報を更新する第２の分散情報更新部とを備えるとしてもよい。【０７３１】
（１２）上記（１）において、前記２以上の分散情報保持装置である第１から第ｒの分散情報保持装置に第（ｒ＋１）の分散情報保持装置を追加する暗号システムであって、前記ｋ個の分散情報が示す値の総和が前記第１の秘密鍵であり、前記第１と第ｒの分散情報保持装置は、さらに、第１の変形情報を生成する変形情報生成部と、前記第１の変形情報を他の分散情報保持装置へ送信する変形情報送信部と、前記第１の分散情報群に含まれる１以上の分散情報を前記第１の変形情報を用いて更新する第１の分散情報更新部とを備え、前記第１の分散情報保持装置の前記第１の分散情報群に含まれる分散情報と同じと識別される分散情報を、前記第２の分散情報群に含む分散情報保持装置である第２と第ｒの分散情報保持装置と、前記第ｒの分散情報保持装置の前記第１の分散情報群に含まれる分散情報と同じと識別される分散情報を、前記第２の分散情報群に含む分散情報保持装置である第１と第（ｒ―１）の分散情報保持装置と、第（ｒ＋１）の分散情報保持装置は、さらに、前記第１の変形情報を受信する変形情報受信部を備え、前記第１と第２と第（ｒ−１）と第ｒの分散情報保持装置は、さらに、前記第２の分散情報群に含まれる１以上の分散情報を第１の変形情報を用いて更新する第２の分散情報更新部を備え、前記第（ｒ＋１）の分散情報保持装置は、さらに、前記受信した第１の変形情報を用いて分散情報を生成する分散情報生成部と、前記生成した分散情報を前記第１の分散情報群に含まれる１以上の分散情報として前記第1の分散情報格納部へ設定する分散情報設定部とを備え、前記各分散情報保持装置の、前記第１の分散情報群に含まれる、更新後の分散情報を含む各分散情報が示す値の総和が前記第１の秘密鍵と同じであるとしてもよい。【０７３２】
この構成によると、分散情報保持装置を新たに追加する場合にも、分散情報から復元される復元秘密鍵の値を変えることなく分散情報保持装置を追加することができる。【０７３３】
（１３）上記（１２）において、前記分散情報送信部は、前記第１の分散情報群もしくは前記第２の分散情報群に含まれる１以上の分散情報を分散情報保持装置へ送信し、前記第１と第ｒの分散情報保持装置は、さらに、自装置の前記第１の分散情報群に含まれる１以上の分散情報を、２以上の部分情報にそれぞれ分割する分散情報分割部と、前記分割された各部分情報をそれぞれ、自装置以外のいずれかの分散情報保持装置へ送信する部分情報送信部とを備え、前記分散情報保持装置は、さらに、１以上の前記部分情報を受信する部分情報受信部と、前記部分情報を用いて前記第１の分散情報群もしくは前記第２の分散情報群に含まれるすくなくとも１つの分散情報を更新する第３の分散情報更新部と、前記第１の分散情報群に含まれる１以上の分散情報を更新した場合、前記更新した分散情報と、前記更新した分散情報と同じと識別される自装置以外の分散情報保持装置の前記第２の分散情報群に含まれる１以上の分散情報とが同じ値であることを検証する第１の分散情報検証部と、前記第２の分散情報群に含まれる１以上の分散情報を更新した場合、前記更新した分散情報と、前記更新した分散情報と同じと識別される自装置以外の分散情報保持装置の前記第１あるいは第２の分散情報群に含まれる１以上の分散情報とが同じ値であることを検証する第２の分散情報検証部とを備え、前記第（ｒ＋１）の分散情報保持装置は、さらに、前記分散情報受信部により自装置以外の２以上の分散情報保持装置から受信した分散情報が同じと識別される場合に、同じと識別された前記分散情報が同じ値であることを検証する第３の分散情報検証部と、前記第２の分散情報検証部で同じ値と検証された分散情報を用いて前記第２の分散情報群に含まれる１以上の分散情報を更新する第４の分散情報更新部とを備えるとしてもよい。【０７３４】
（１４）上記（１）において、前記暗号装置は、さらに、前記第２の秘密鍵を用いて暗号処理を行う暗号処理部と、前記第２の秘密鍵が無効化されたときに、前記秘密鍵格納部に格納されている前記第２の秘密鍵を前記秘密鍵生成部で生成された前記復元秘密鍵に切り替える秘密鍵切替部とを備えるとしてもよい。【０７３５】
この構成によると、復元秘密鍵を暗号装置が利用する秘密鍵と切り替えることができ、暗号装置が利用している秘密鍵とは異なる秘密鍵から分散情報を生成しておくことで、暗号システムのセキュリティが崩壊したときに、以前とは異なる秘密鍵を用いてシステムを回復できる。【０７３６】
（１５）上記（１）において、前記暗号システムは、さらに、前記分散情報保持装置または暗号装置に前記分散情報または前記認証子を配布する鍵配布装置を含み、前記鍵配布装置は、前記第１の秘密鍵を生成する鍵生成部と、前記第１の秘密鍵を生成するためのｋ個（ｋは２以上の整数）の分散情報を生成する秘密鍵分散部と、前記各分散情報保持装置に対してそれぞれ、前記ｋ個の分散情報の中から選択された１以上の分散情報を、前記分散情報保持装置の第１の分散情報群に含まれる分散情報として配布し、前記選択された分散情報以外の分散情報の中から選択された１以上の分散情報を、前記分散情報保持装置の第２の分散情報群に含まれる分散情報として配布する分散情報配布部と、前記生成された秘密鍵が正しいことを検証する認証子を生成する認証子生成部と、前記認証子を前記分散情報保持装置または暗号装置へ配布する認証子配布部と、前記第１の秘密鍵と前記ｋ個の分散情報を消去する鍵消去部とを備え、前記分散情報配布部は、前記各分散情報保持装置の前記第１の分散情報群のそれぞれに含まれる分散情報の和集合が、前記ｋ個の分散情報からなる集合と等しくなるように配布するとしてもよい。【０７３７】
（１６）本発明は、２以上の分散情報保持装置と、保持する第２の秘密鍵が無効化されたときに前記分散情報保持装置から受信した分散情報に基づいて生成した第１の秘密鍵に切り替えて利用する暗号装置からなる暗号システムであって、前記分散情報保持装置は、それぞれ、第１の分散情報群を格納する第１の分散情報格納部と、前記第１の分散情報群に含まれる１以上の分散情報を暗号装置へ送信する分散情報送信部とを備え、前記第１の分散情報群は、それぞれ、前記第１の秘密鍵を生成するためのｋ個（ｋは２以上の整数）の分散情報の中から選択された１以上の分散情報を含み、前記各分散情報保持装置の前記第１の分散情報群のそれぞれに含まれる分散情報の和集合が、前記ｋ個の分散情報からなる集合と等しく、前記暗号装置は、第２の秘密鍵を格納する秘密鍵格納部と、前記第１の秘密鍵もしくは前記第２の秘密鍵を用いて暗号処理を行う暗号処理部と、１以上の前記分散情報保持装置から１以上の分散情報を受信する分散情報受信部と、前記分散情報受信部で受信した１以上の分散情報を格納する分散情報格納部と、受信した前記各分散情報の和集合が前記ｋ個の分散情報からなる集合と等しい場合に、  前記第１の秘密鍵として、前記各分散情報を用いて復元秘密鍵を生成する秘密鍵生成部と、前記第２の秘密鍵が無効化されたときに、前記秘密鍵格納部に格納されている前記第２の秘密鍵を前記秘密鍵生成部で生成された前記復元秘密鍵に切り替える秘密鍵切替部とを備えることを特徴とする。【０７３８】
（１７）上記（１６）において、前記暗号システムは、さらに、前記分散情報保持装置に前記分散情報を配布する鍵配布装置を含み、前記鍵配布装置は、前記第１の秘密鍵を生成する鍵生成部と、前記第１の秘密鍵を生成するためのｋ個（ｋは２以上の整数）の分散情報を生成する秘密鍵分散部と、前記各分散情報保持装置に対してそれぞれ、前記ｋ個の分散情報の中から選択された１以上の分散情報を前記分散情報保持装置の第１の分散情報群に含まれる分散情報として配布する分散情報配布部と、前記第１の秘密鍵と前記生成された分散情報を消去する鍵消去部とを備え、前記分散情報配布部は、前記各分散情報保持装置の前記第１の分散情報群のそれぞれに含まれる分散情報の和集合が、前記ｋ個の分散情報からなる集合と等しくなるように配布するとしてもよい。【０７３９】
（１８）上記（１）又は（１６）において、前記暗号装置は、さらに、前記秘密鍵格納部に格納された秘密鍵を用いて証明書を発行する証明書発行部を備えるとしてもよい。
【産業上の利用可能性】
【０７４０】
本発明にかかる認証局システムは、共通の分散情報を複数の分散情報保持装置で持つことで、分散情報保持装置が不正な動作を行った場合にそれを検知することが出来る。【０７４１】
本発明は、認証局装置、分散情報保持装置及び鍵配布装置を製造及び販売する産業において、経営的、継続的、反復的に利用可能である。
【図１】
2008099682.tif 000003
【図２】
2008099682.tif 000004
【図３】
2008099682.tif 000005
【図４】
2008099682.tif 000006
【図５】
2008099682.tif 000007
【図６】
2008099682.tif 000008
【図７】
2008099682.tif 000009
【図８】
2008099682.tif 000010
【図９】
2008099682.tif 000011
【図１０】
2008099682.tif 000012
【図１１】
2008099682.tif 000013
【図１２】
2008099682.tif 000014
【図１３】
2008099682.tif 000015
【図１４】
2008099682.tif 000016
【図１５】
2008099682.tif 000017
【図１６】
2008099682.tif 000018
【図１７】
2008099682.tif 000019
【図１８】
2008099682.tif 000020
【図１９】
2008099682.tif 000021
【図２０】
2008099682.tif 000022
【図２１】
2008099682.tif 000023
【図２２】
2008099682.tif 000024
【図２３】
2008099682.tif 000025
【図２４】
2008099682.tif 000026
【図２５】
2008099682.tif 000027
【図２６】
2008099682.tif 000028
【図２７】
2008099682.tif 000029
【図２８】
2008099682.tif 000030
【図２９】
2008099682.tif 000031
【図３０】
2008099682.tif 000032
【図３１】
2008099682.tif 000033
【図３２】
2008099682.tif 000034
【図３３】
2008099682.tif 000035
【図３４】
2008099682.tif 000036
【図３５】
2008099682.tif 000037
【図３６】
2008099682.tif 000038
【図３７】
2008099682.tif 000039
【図３８】
2008099682.tif 000040
【図３９】
2008099682.tif 000041
【図４０】
2008099682.tif 000042
【図４１】
2008099682.tif 000043
【手続補正書】
【提出日】平成20年6月4日(2008.6.4)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
１個の秘密情報から分解した第１から第ｎの分散情報のうち第ｉ番目の分散情報（ｉは１以上ｎ以下の整数）が１装置当り１情報という情報が重複しない形態で割り当てられたｎ台の保持装置のうち第ｉ番目の保持装置であって、
記憶手段と、
第ｉ番目の保持装置に割り当てられた前記第ｉ番目の分散情報を取得して、前記記憶手段へ書き込む第１書込手段と、
１台以上の他の保持装置それぞれに割り当てられた第ｉ番目の分散情報とは異なる番目の分散情報を取得する取得手段と、
取得した前記第ｉ番目の分散情報とは異なる番目の前記分散情報を前記記憶手段に書き込む第２書込手段とを備え、
第１から第ｎの保持装置は、１個以上の閉路を形成するように仮想的に配置されたｎ個のノードに対応付けられており、
前記取得手段は、同一の閉路において、当該第ｉ番目の保持装置に対応する第ｉ番目のノードに隣接する第ｉ−１及び第ｉ＋１番目のノードそれぞれに対応した第ｉ−１番目及び第ｉ＋１番目の保持装置にそれぞれ割り当てられた第ｉ−１番目及び第ｉ＋１番目の分散情報を取得し、
前記第ｉ−１若しくは第ｉ＋１番目の保持装置が、第１から第ｎの保持装置から構成されるグループから脱退する脱退対象保持装置とした場合、
第ｉ番目の保持装置は、さらに、
分散指示を受け取る受信手段と、
前記分散指示を受け取ると、前記記憶手段から、前記脱退対象保持装置に割り当てられた前記第ｉ−１若しくは前記ｉ＋１番目の分散情報を読み出す読出手段と、
読み出された前記第ｉ−１若しくは前記ｉ＋１番目の分散情報をｎ−１個の部分分散情報に分解する分散情報分解手段と、
分解されたｎ−１個の部分分散情報を、第ｉ番目の保持装置及び前記脱退対象保持装置を除く他のｎ−２台の保持装置それぞれが保持する複数の分散情報に対して、同一番目の分散情報には同一の部分分散情報が割り当たる様態で、前記ｎ−２台の保持装置へ出力する出力手段と
を含むことを特徴とする保持装置。
【請求項２】
所定の法において、前記分散情報分解手段により分解された全ての部分分散情報を加算することにより、読み出された前記第ｉ−１番目の分散情報が得られる
ことを特徴とする請求項１に記載の保持装置。
【請求項３】
１個の秘密情報から分解した第１から第ｎの分散情報のうち第ｉ番目の分散情報（ｉは１以上ｎ以下の整数）が１装置当り１情報という情報が重複しない形態で割り当てられたｎ台の保持装置のうち第ｉ番目の保持装置であって、
記憶手段と、
第ｉ番目の保持装置に割り当てられた前記第ｉ番目の分散情報を取得して、前記記憶手段へ書き込む第１書込手段と、
１台以上の他の保持装置それぞれに割り当てられた第ｉ番目の分散情報とは異なる番目の分散情報を取得する取得手段と、
取得した前記第ｉ番目の分散情報とは異なる番目の前記分散情報を前記記憶手段に書き込む第２書込手段とを備え、
第１から第ｎの保持装置は、１個以上の閉路を形成するように仮想的に配置されたｎ個のノードに対応付けられており、
前記取得手段は、同一の閉路において、当該第ｉ番目の保持装置に対応する第ｉ番目のノードに隣接する第ｉ−１及び第ｉ＋１番目のノードそれぞれに対応した第ｉ−１番目及び第ｉ＋１番目の保持装置にそれぞれ割り当てられた第ｉ−１番目及び第ｉ＋１番目の分散情報を取得し、
第ｉ−１から第ｉ＋１番目の保持装置以外の第ｐ番目の保持装置（ｐは１以上ｎ以下の整数）が、第１から第ｎ番目の保持装置から構成されるグループから脱退する脱退対象保持装置であるとした場合、
第ｉ番目の保持装置は、さらに、
前記脱退対象保持装置に対応するノードに隣接するノードに対応する保持装置から、第ｉ−１から第ｉ＋１番目の分散情報それぞれに割り当てられるべき部分分散情報を受信する受信手段と、
受信した各部分分散情報を、前記記憶手段が記憶している第ｉ−１から第ｉ＋１番目の分散情報のうち、当該部分分散情報に対応する分散情報に加算する演算手段とを含み、
受信した前記部分分散情報それぞれは、前記脱退対象保持装置に割り当てられた第ｐ番目の分散情報から分解されたものである
ことを特徴とする保持装置。
【請求項４】
所定の法において、分解された全ての部分分散情報を加算することにより、前記第ｐ番目の分散情報が得られる
ことを特徴とする請求項３に記載の保持装置。
【請求項５】
１個の秘密情報から分解した第１から第ｎの分散情報のうち第ｉ番目の分散情報（ｉは１以上ｎ以下の整数）が１装置当り１情報という情報が重複しない形態で割り当てられたｎ台の保持装置のうち第ｉ番目の保持装置であって、
記憶手段と、
第ｉ番目の保持装置に割り当てられた前記第ｉ番目の分散情報を取得して、前記記憶手段へ書き込む第１書込手段と、
１台以上の他の保持装置それぞれに割り当てられた第ｉ番目の分散情報とは異なる番目の分散情報を取得する取得手段と、
取得した前記第ｉ番目の分散情報とは異なる番目の前記分散情報を前記記憶手段に書き込む第２書込手段とを備え、
第１から第ｎの保持装置は、１個以上の閉路を形成するように仮想的に配置されたｎ個のノードに対応付けられており、
前記取得手段は、同一の閉路において、当該第ｉ番目の保持装置に対応する第ｉ番目のノードに隣接する第ｉ−１及び第ｉ＋１番目のノードそれぞれに対応した第ｉ−１番目及び第ｉ＋１番目の保持装置にそれぞれ割り当てられた第ｉ−１番目及び第ｉ＋１番目の分散情報を取得し、
前記閉路において１個の新たなノードが前記ｉ番目の保持装置に対応するｉ番目のノードと隣接する状態で追加され、前記新たなノードに新たな追加保持装置を対応付けた場合、
第ｉ番目の保持装置は、さらに、
前記追加保持装置が追加される旨の通知を受け取る受信手段と、
前記通知を受け取ると、前記記憶手段から、第ｉ番目の保持装置に割り当てられた第ｉ番目の分散情報を読み出す読出手段と、
追加部分情報を生成する生成手段と、
生成された前記追加部分情報を用いて、読み出された前記第ｉ番目の分散情報に対して演算を施し、得られた演算結果を新たな第ｉ番目の分散情報として、読み出された前記第ｉ番目の分散情報に代えて、前記記憶手段へ書き込む演算手段と、
生成された前記追加部分情報を前記追加保持装置へ出力する出力手段と
を含むことを特徴とする保持装置。
【請求項６】
前記演算手段は、所定の法において、読み出された前記第ｉ番目の分散情報から前記追加部分情報を減ずることにより、前記演算結果を得る
ことを特徴とする請求項５に記載の保持装置。
【請求項７】
第ｉ番目の保持装置において、
前記出力手段は、さらに、生成された追加部分情報を、第ｉ番目の保持装置に割り当てられた第ｉ番目の分散情報を保持する他の保持装置へ出力する
ことを特徴とする請求項５に記載の保持装置。
【請求項８】
前記受信手段は、さらに、前記新たなノードと隣接する第ｉ−１若しくは第ｉ＋１番目のノードに対応する第ｉ−１若しくは第ｉ＋１番目の保持装置から第２の追加部分情報を受信し、
前記演算手段は、さらに、前記生成手段により生成された前記追加部分情報及び前記受信手段により受信した第２の追加部分情報に演算を施して前記追加保持装置に割り当てられる分散情報を生成し、前記追加保持装置の追加によって第ｉ番目の保持装置に対応する第ｉ番目のノードと非隣接となる第ｉ−１若しくは第ｉ＋１番目のノードに対応する第ｉ−１若しくは第ｉ＋１番目の保持装置に割り当てられた第ｉ−１若しくは第ｉ＋１番目の分散情報の代わりに、生成した前記追加分散情報を前記追加保持装置に割り当てられた分散情報として前記記憶手段に書き込む
ことを特徴とする請求項５に記載の保持装置。
【請求項９】
前記演算手段は、所定の法において、前記追加部分情報及び前記第２の追加部分情報を加算することにより、前記追加分散情報を得る
ことを特徴とする請求項８に記載の保持装置。
【請求項１０】
前記読出手段は、さらに、前記記憶手段から、当該第ｉ番目の保持装置に新たに割り当てられた新たな第ｉ番目の分散情報を読み出し、
前記演算手段は、さらに、読み出した前記新たな第ｉ番目の分散情報をｎ＋１個の部分分散情報に分解し、
出力手段は、さらに、分解した各部分分散情報を、所定の割り当て規則に基づいて、前記追加保持装置を含むｎ＋１台の保持装置のうち第ｉ番目の保持装置を除く他の保持装置それぞれへ出力し、
前記所定の割当規則は、前記他の保持装置それぞれが保持する複数の分散情報のうち、前記第ｉ番目の分散情報とは異なる番目の分散情報に対しては、１分散情報当り１部分分散情報という情報が重複しない形態で割り当て、前記第ｉ番目の分散情報に対しては、前記重複しない形態で割り当てられた全ての部分分散情報を割り当てる
ことを特徴とする請求項５に記載の保持装置。
【請求項１１】
１個の秘密情報から分解した第１から第ｎの分散情報のうち第ｉ番目の分散情報（ｉは１以上ｎ以下の整数）が１装置当り１情報という情報が重複しない形態で割り当てられたｎ台の保持装置のうち第ｉ番目の保持装置であって、
記憶手段と、
第ｉ番目の保持装置に割り当てられた前記第ｉ番目の分散情報を取得して、前記記憶手段へ書き込む第１書込手段と、
１台以上の他の保持装置それぞれに割り当てられた第ｉ番目の分散情報とは異なる番目の分散情報を取得する取得手段と、
取得した前記第ｉ番目の分散情報とは異なる番目の前記分散情報を前記記憶手段に書き込む第２書込手段とを備え、
第１から第ｎの保持装置は、１個以上の閉路を形成するように仮想的に配置されたｎ個のノードに対応付けられており、
前記取得手段は、同一の閉路において、当該第ｉ番目の保持装置に対応する第ｉ番目のノードに隣接する第ｉ−１及び第ｉ＋１番目のノードそれぞれに対応した第ｉ−１番目及び第ｉ＋１番目の保持装置にそれぞれ割り当てられた第ｉ−１番目及び第ｉ＋１番目の分散情報を取得し、
前記閉路において１個の新たなノードが前記ｉ番目の保持装置に対応するｉ番目のノードと隣接する第ｉ−１若しくは第ｉ＋１番目のノードにさらに隣接する状態で追加され、前記新たなノードに新たな追加保持装置を対応付けた場合、
第ｉ番目の保持装置は、さらに、
前記新たなノードと隣接する第ｉ−１若しくは第ｉ＋１番目のノードに対応する第ｉ−１若しくは第ｉ＋１番目の保持装置から、追加部分情報を受信する受信手段と、
前記記憶手段から前記追加部分情報の送信元である前記第ｉ−１若しくは第ｉ＋１番目の保持装置に割り当てられた前記第ｉ−１若しくは第ｉ＋１番目の分散情報を読み出す読出手段と、
受信された前記追加部分情報を用いて、読み出された前記第ｉ−１若しくは第ｉ＋１番目の分散情報に対して演算を施し、得られた演算結果を、読み出された前記第ｉ−１若しくは第ｉ＋１番目の分散情報に代えて、前記第ｉ−１若しくは第ｉ＋１番目の保持装置に割り当てられた新たな第ｉ−１若しくは第ｉ＋１番目の分散情報として、前記記憶手段へ書き込む演算手段と
を含むことを特徴とする保持装置。
【請求項１２】
前記受信手段は、さらに、前記新たなノードに隣接するノードに対応する隣接保持装置から、前記記憶手段にて記憶されている第ｉ−１から第ｉ＋１の分散情報それぞれに対して割り当てられるべき１個以上の部分分散情報を受信し、
前記演算手段は、さらに、受信した部分分散情報それぞれを用いて、前記記憶手段に記憶されている第ｉ−１から第ｉ＋１の分散情報に演算を施し、演算結果を新たな第ｉ−１から第ｉ＋１の分散情報として前記記憶手段に書き込み、
受信した前記１個以上の部分分散情報それぞれは、前記隣接保持装置に割り当てられた分散情報から分解されたものである
ことを特徴とする請求項１１に記載の保持装置。
【請求項１３】
１個の秘密情報から生成された第１から第ｎの分散情報をそれぞれ保持する第１から第ｎの既保持装置から構成されるグループに新たに追加される保持装置であって、
少なくとも２台の既保持装置からそれぞれ追加部分情報を受信する受信手段と、
受信した全ての前記追加部分情報を用いて、自身に割り当てられた分散情報を生成する生成手段と、
生成した前記分散情報を記憶する記憶手段と
を備えることを特徴とする保持装置。
【請求項１４】
前記生成手段は、所定の法において、受信した前記追加部分情報それぞれを加算することにより、前記分散情報を生成する
ことを特徴とする請求項１３に記載の保持装置。
【請求項１５】
前記受信手段は、さらに、前記追加部分情報の送信元である２台の既保持装置のうち少なくとも１の既保持装置から部分分散情報を受信し、
前記演算手段は、さらに、受信した部分分散情報を用いて、前記記憶手段に記憶されている分散情報に演算を施し、自身に割り当てられた新たな分散情報として、演算結果を前記記憶手段に書き込み、
受信した前記部分分散情報は、前記他の保持装置に割り当てられた分散情報から生成されたものである
ことを特徴とする請求項１４に記載の保持装置。
【請求項１６】
認証局装置であって、
第１から第ｎの保持装置に冗長に割り当てられて記憶している分散情報から冗長性のないｎ個の分散情報を受信する受信手段と、
受信したｎ個の前記分散情報を用いて、仮に秘密情報を復元する復元手段と、
復元した秘密情報の正当性を検証する検証手段と、
復元した秘密情報が正当でないと認められた場合に、各保持装置が保持する残りの分散情報と、復元に用いたｎ個の分散情報とを用いて、不正に改竄された分散情報を保持する保持装置を特定する特定手段と
を備えることを特徴とする認証局装置。
【請求項１７】
第１から第ｎの保持装置は、１個以上の閉路を形成するように配置されたｎ個のノードに対応付けられており、
第ｉ番目の保持装置（ｉは１以上ｎ以下の整数）は、当該第ｉ番目の保持装置に割り当てられた第ｉ番目の分散情報と、同一の閉路において当該第ｉ番目の保持装置に対応する第ｉ番目のノードの両側に隣接する第ｉ−１及び第ｉ＋１番目のノードそれぞれに対応付けられた第ｉ−１及び第ｉ＋１番目の保持装置に割り当てられた第ｉ−１及び第ｉ＋１番目の分散情報とを保持しており、
前記受信手段は、第１から第ｎの保持装置それぞれに割り当てられた第１から第ｎの分散情報を受信することにより、冗長性のないｎ個の分散情報を受信し、
前記特定手段は、
各保持装置が保持する残りの分散情報を取得し、第ｉ番目の保持装置に割り当てられた第ｉ番目の分散情報と、第ｉ−１及び第ｉ＋１番目の保持装置がそれぞれが保持する第ｉ番目の保持装置に割り当てられた第ｉ番目の分散情報それぞれとが、同一の情報として第ｉ番目のグループに属するように、各保持装置から取得した全ての分散情報を第１から第ｎのグループに分類する第１分類部と、
第１から第ｎ番目のグループそれぞれについて、内容が同一となる分散情報が同じサブグループに属するように、当該グループに含まれる複数の分散情報を分類する第２分類部と、
第１から第ｎのグループそれぞれから、１個のサブグループを選択し、選択したｎ個のサブグループそれぞれから１個の分散情報を選択し、ｎ個の分散情報から構成される組合せを生成する組合生成部と、
生成した組合せに含まれる全ての分散情報を用いて、秘密情報を生成することにより、分散情報の正当性を検証する検証部と、
正当であると認められる場合に、サブグループに含まれている分散情報を保持する保持装置を正当とみなして、当該保持装置を排除する排除部とを含み、
前記特定手段は、残りの保持装置の中から不正に改竄された分散情報を保持する保持装置を特定する
ことを特徴とする請求項１６に記載の認証局装置。
【請求項１８】
前記復元手段は、さらに、不正に改竄された分散情報を保持すると特定された保持装置を除き、他の保持装置から受け取った複数の分散情報のうち冗長性のないｎ個の分散情報を用いて、秘密情報を復元する
ことを特徴とする請求項１７に記載の認証局装置。
【請求項１９】
１個の秘密情報から分解した第１から第ｎの分散情報のうち第ｉ番目の分散情報（ｉは１以上ｎ以下の整数）が１装置当り１情報という情報が重複しない形態で割り当てられたｎ台の保持装置のうち第ｉ番目の保持装置で用いられる保持方法であって、
前記第ｉ番目の保持装置は、
記憶手段を備え、
前記保持方法は、
第ｉ番目の保持装置に割り当てられた前記第ｉ番目の分散情報を取得して、前記記憶手段へ書き込む第１書込ステップと、
１台以上の他の保持装置それぞれに割り当てられた第ｉ番目の分散情報とは異なる番目の分散情報を取得する第１取得ステップと、
取得した前記第ｉ番目の分散情報とは異なる番目の前記分散情報を前記記憶手段に書き込む第２書込ステップとを含み、
第１から第ｎの保持装置は、１個以上の閉路を形成するように仮想的に配置されたｎ個のノードに対応付けられており、
前記保持方法は、さらに、
同一の閉路において、当該第ｉ番目の保持装置に対応する第ｉ番目のノードに隣接する第ｉ−１及び第ｉ＋１番目のノードそれぞれに対応した第ｉ−１番目及び第ｉ＋１番目の保持装置にそれぞれ割り当てられた第ｉ−１番目及び第ｉ＋１番目の分散情報を取得する第２取得ステップと、
前記第ｉ−１若しくは第ｉ＋１番目の保持装置が、第１から第ｎの保持装置から構成されるグループから脱退する脱退対象保持装置とした場合、分散指示を受け取る受信ステップと、
前記分散指示を受け取ると、前記記憶手段から、前記脱退対象保持装置に割り当てられた前記第ｉ−１若しくは前記ｉ＋１番目の分散情報を読み出す読出ステップと、
読み出された前記第ｉ−１若しくは前記ｉ＋１番目の分散情報をｎ−１個の部分分散情報に分解する分解ステップと、
分解されたｎ−１個の部分分散情報を、第ｉ番目の保持装置及び前記脱退対象保持装置を除く他のｎ−２台の保持装置それぞれが保持する複数の分散情報に対して、同一番目の分散情報には同一の部分分散情報が割り当たる様態で、前記ｎ−２台の保持装置へ出力する出力ステップと
を含むことを特徴とする保持方法。
【請求項２０】
１個の秘密情報から分解した第１から第ｎの分散情報のうち第ｉ番目の分散情報（ｉは１以上ｎ以下の整数）が１装置当り１情報という情報が重複しない形態で割り当てられたｎ台の保持装置のうち第ｉ番目の保持装置で用いられる保持のためのコンピュータプログラムを記録しているコンピュータ読み取り可能な記録媒体であって、
前記第ｉ番目の保持装置は、
記憶手段を備え、
前記記録媒体は、コンピュータに対して、
第ｉ番目の保持装置に割り当てられた前記第ｉ番目の分散情報を取得して、前記記憶手段へ書き込む第１書込ステップと、
１台以上の他の保持装置それぞれに割り当てられた第ｉ番目の分散情報とは異なる番目の分散情報を取得する取得ステップと、
取得した前記第ｉ番目の分散情報とは異なる番目の前記分散情報を前記記憶手段に書き込む第２書込ステップとを実行させ、
第１から第ｎの保持装置は、１個以上の閉路を形成するように仮想的に配置されたｎ個のノードに対応付けられており、
前記記録媒体は、さらに、前記コンピュータに対して、
同一の閉路において、当該第ｉ番目の保持装置に対応する第ｉ番目のノードに隣接する第ｉ−１及び第ｉ＋１番目のノードそれぞれに対応した第ｉ−１番目及び第ｉ＋１番目の保持装置にそれぞれ割り当てられた第ｉ−１番目及び第ｉ＋１番目の分散情報を取得する第２取得ステップと、
前記第ｉ−１若しくは第ｉ＋１番目の保持装置が、第１から第ｎの保持装置から構成されるグループから脱退する脱退対象保持装置とした場合、分散指示を受け取る受信ステップと、
前記分散指示を受け取ると、前記記憶手段から、前記脱退対象保持装置に割り当てられた前記第ｉ−１若しくは前記ｉ＋１番目の分散情報を読み出す読出ステップと、
読み出された前記第ｉ−１若しくは前記ｉ＋１番目の分散情報をｎ−１個の部分分散情報に分解する分解ステップと、
分解されたｎ−１個の部分分散情報を、第ｉ番目の保持装置及び前記脱退対象保持装置を除く他のｎ−２台の保持装置それぞれが保持する複数の分散情報に対して、同一番目の分散情報には同一の部分分散情報が割り当たる様態で、前記ｎ−２台の保持装置へ出力する出力ステップと
を実行させるためのコンピュータプログラムを記録していることを特徴とする記録媒体。
【請求項２１】
認証局装置で用いられる方法であって、
第１から第ｎの保持装置に冗長に割り当てられて記憶している分散情報から冗長性のないｎ個の分散情報を受信する受信ステップと、
受信したｎ個の前記分散情報を用いて、仮に秘密情報を復元する復元ステップと、
復元した秘密情報の正当性を検証する検証ステップと、
復元した秘密情報が正当でないと認められた場合に、各保持装置が保持する残りの分散情報と、復元に用いたｎ個の分散情報とを用いて、不正に改竄された分散情報を保持する保持装置を特定する特定ステップと
を含むことを特徴とする方法。
【請求項２２】
認証局装置で用いられるコンピュータプログラムを記録しているコンピュータ読み取り可能な記録媒体であって、
コンピュータに対して、
第１から第ｎの保持装置に冗長に割り当てられて記憶している分散情報から冗長性のないｎ個の分散情報を受信する受信ステップと、
受信したｎ個の前記分散情報を用いて、仮に秘密情報を復元する復元ステップと、
復元した秘密情報の正当性を検証する検証ステップと、
復元した秘密情報が正当でないと認められた場合に、各保持装置が保持する残りの分散情報と、復元に用いたｎ個の分散情報とを用いて、不正に改竄された分散情報を保持する保持装置を特定する特定ステップと
を実行させるためのコンピュータプログラムを記録していることを特徴とする記録媒体。
【請求項２３】
（削除）
【請求項２４】
（削除）
【請求項２５】
（削除）
【請求項２６】
（削除）
【請求項２７】
（削除）
【請求項２８】
（削除）
【請求項２９】
（削除）
【請求項３０】
（削除）
【請求項３１】
（削除）
【請求項３２】
（削除）
【手続補正書】
【提出日】平成21年7月23日(2009.7.23)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、秘密鍵などの重要な秘密情報から分散された複数の情報の配布、管理及びこれら情報を用いて元の秘密情報を回復する技術に関するものである。
【背景技術】
【０００２】
近年、ネットバンキングやオンラインショッピングのような、インターネットを利用した電子商取引が広く利用されている。この様な電子商取引において、取引内容の改ざん等を防止するために公開鍵基盤技術が利用されている。
公開鍵基盤技術では、認証局と呼ばれる機関がオンラインショッピングサイトなどに対して公開鍵暗号で用いる公開鍵に対する証明書（公開鍵証明書）を発行し、サイト利用者がその発行された公開鍵証明書を利用することで、取引内容の改ざん等を防止している。具体的には、公開鍵証明書が信頼できる認証局から発行されたか検証することでサイトのなりすましを防止し、公開鍵を用いて暗号通信路を構築することで取引内容の改ざんを防止している。例えば、特許文献１によると、認証をする機器間で信頼関係木構造をたどることで、互いに信頼できることを確認する認証システムが開示されている。
【０００３】
このような認証システムにおいては、公開鍵に対応する秘密鍵を、不正な第三者に漏洩されないように秘匿に管理する必要がある。なぜなら、秘密鍵が不正な第三者に知られると、不正な第三者が認証局になりすますことにより、秘密鍵が不正に利用される恐れがあるからである。
そこで、秘密鍵の漏洩の防止策として、秘密分散法による秘密鍵の管理方法がある（非特許文献１）。
【０００４】
秘密分散法では、秘密鍵などの重要な秘密情報Ｓを保管する場合、ｋ個の分散情報（ｓｈａｒｅ）に分散する。なお、ｋは２以上の整数である。このとき、ｋ個の分散情報を用いて、元の秘密情報Ｓが生成される。分散された分散情報それぞれは、異なる保持装置に割り当てられ、割り当てられた保持装置にて保持される。
これにより、１つの分散情報が漏洩されても、秘密情報Ｓが知られることはないので、秘密情報Ｓを安全に管理することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１０−２１５２４５号公報
【非特許文献】
【０００６】
【非特許文献１】岡本龍明、山本博資、「現代暗号」、産業図書（１９９７年）
【非特許文献２】ＩＴＵ−Ｔ  Ｒｅｃｏｍｍｅｎｄａｔｉｏｎ  Ｘ．５０９  （１９９７  Ｅ）：  Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙ  −  Ｏｐｅｎ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ  −  Ｔｈｅ  Ｄｉｒｅｃｔｏｒｙ：  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｆｒａｍｅｗｏｒｋ，１９９７
【非特許文献３】Ｉ．  Ｂｌａｋｅ，  Ｇ．  Ｓｅｒｏｕｓｓｉ  ａｎｄ  Ｎ．  Ｓｍａｒｔ，  “Ｅｌｌｉｐｔｉｃ  Ｃｕｒｖｅｓ  ｉｎ  Ｃｒｙｐｔｏｇｒａｐｈｙ”，  ＣＡＭＢＲＩＤＧＥ  ＵＮＩＶＥＲＳＩＴＹ  ＰＲＥＳＳ，  １９９９
【非特許文献４】Ｔａｔｓｕａｋｉ  Ｏｋａｍｏｔｏ，  “Ｇｅｎｅｒｉｃ  ｃｏｎｖｅｒｓｉｏｎｓ  ｆｏｒ  ｃｏｎｓｔｒｕｃｔｉｎｇ  ＩＮＤ−ＣＣＡ２  ｐｕｂｌｉｃ−ｋｅｙ  ｅｎｃｒｙｐｔｉｏｎ  ｉｎ  ｔｈｅ  ｒａｎｄｏｍ  ｏｒａｃｌｅ  ｍｏｄｅｌ”、［ｏｎｌｉｎｅ］、Ｔｈｅ  ５ｔｈ  Ｗｏｒｋｓｈｏｐ  ｏｎ  Ｅｌｌｉｐｔｉｃ  Ｃｕｒｖｅ  Ｃｒｙｐｔｏｇｒａｐｈｙ（ＥＣＣ  ２００１）、２００１年１０月３０日、［２００７年２月１５日検索］、インターネット＜ＵＲＬ：  ｈｔｔｐ：／／ｗｗｗ．ｃａｃｒ．ｍａｔｈ．ｕｗａｔｅｒｌｏｏ．ｃａ／ｃｏｎｆｅｒｅｎｃｅｓ／２００１／ｅｃｃ／ｏｋａｍｏｔｏ．ｐｐｔ＞
【非特許文献５】Ｄ．Ｂｏｎｅｈ、Ｍ．Ｆｒａｎｋｌｉｎ、”Ｅｆｆｉｃｉｅｎｔ  Ｇｅｎｅｒａｔｉｏｎ  ｏｆ  Ｓｈａｒｅｄ  ＲＳＡ  Ｋｅｙｓ”、Ｊｏｕｒｎａｌ  ｏｆ  ｔｈｅ  ＡＣＭ，Ｖｏｌ．４８，Ｎｏ．４，ｐｐ．７０２−７２２
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記にて示す秘密分散法では、１つの分散情報が、破壊されたり、改竄されたりすると、全ての分散情報を集めても元の秘密情報Ｓは生成できない。
そこで、本発明は、上記の課題を解決するもので、分散情報が破壊されたり、改竄されたりした場合でも秘密情報を正しく生成することとのできる分散情報配布装置、保持装置、認証局装置及びシステムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記問題を解決するために、本発明は、秘密分散法に従って秘密情報を管理するシステムにおいて用いられる分散情報配布装置であって、１つの秘密情報を第１から第ｎの分散情報に分解する分解手段と、前記第１から第ｎの分散情報をｎ台の保持装置に、１装置当り１情報という情報が重複しない形態で配布する第１配布手段と、前記第１から第ｎの分散情報の各々を、前記第１配布手段が配布する第ｉ番目の分散情報（ｉは１以上ｎ以下の整数）とは異なる番目の分散情報を併せて保持するように、前記ｎ台の保持装置へ配布する第２配布手段とを備えることを特徴とする。
【発明の効果】
【０００９】
この構成によると、分散情報配布装置は、第１から第ｎの分散情報をそれぞれｎ台の保持装置へ割り当てることに加えて、全ての保持装置の各々に対して、当該保持装置に配布した第ｉ番目の分散情報と異なる番目の分散情報をも配布するので、各保持装置に他の保持装置に配布した分散情報をも保持させることができる。これにより、同一の分散情報の保持の冗長性を増すことができ、保持装置において分散情報が不正に改竄されたり、分散情報が破壊されたり、又は、分散情報の使用ができなくなった場合における対処の可能性を高めることができる。
【００１０】
ここで、ｎ台の保持装置が、１個以上の閉路を形成するように仮想的に配置されたｎ個のノードに対応付けられており、前記第２配布手段は、前記第１から第ｎの分散情報の各々を、少なくとも、同一の閉路において、前記第１配布手段にて当該第ｉ番目の分散情報が配布された第ｉ番目の保持装置に対応する第ｉ番目のノードの両側に隣接する第ｉ−１及び第ｉ＋１番目のノードそれぞれに対応する第ｉ−１及び第ｉ＋１番目の保持装置に当該第ｉ番目の分散情報を配布する様態で、全保持装置に配布するとしてもよい。
【００１１】
この構成によると、少なくとも、同一の閉路において、第ｉ番目の分散情報が配布された第ｉ番目の保持装置の両側に隣接するように関係付けられた第ｉ−１及び第ｉ＋１番目の保持装置に第ｉ番目の分散情報が配布さるので、第ｉ番目の保持装置において第ｉ番目の分散情報が不正に改竄された場合等において対処する際に、同一の第ｉ番目の分散情報を保持している他の保持装置の選択が確実に行える。
【００１２】
ここで、所定の法において、第１から第ｎの分散情報を全て加算することにより前記秘密情報が得られるとしてもよい。
この構成によると、全ての保持装置に割り当てられた第１から第ｎの分散情報の加算により、秘密情報を求めることができる。
また、本発明は、１個の秘密情報から分解した第１から第ｎの分散情報のうち第ｉ番目の分散情報（ｉは１以上ｎ以下の整数）が１装置当り１情報という情報が重複しない形態で割り当てられたｎ台の保持装置のうち第ｉ番目の保持装置であって、記憶手段と、第ｉ番目の保持装置に割り当てられた前記第ｉ番目の分散情報を取得して、前記記憶手段へ書き込む第１書込手段と、１台以上の他の保持装置それぞれに割り当てられた第ｉ番目の分散情報とは異なる番目の分散情報を取得する取得手段と、取得した前記第ｉ番目の分散情報とは異なる番目の前記分散情報を前記記憶手段に書き込む第２書込手段とを備えることを特徴とする。
【００１３】
この構成によると、第ｉ番目の保持装置は、当該第ｉ番目の保持装置に割り当てられた第ｉ番目の分散情報に加えて、さらに、１台以上の他の保持装置に割り当てられた第ｉ番目の分散情報とは異なる番目の分散情報を記憶するので、同一の分散情報の保持の冗長性が増し、保持装置において分散情報が不正に改竄された場合等における対処の可能性を高めることができる。
【００１４】
ここで、第１から第ｎの保持装置は、１個以上の閉路を形成するように仮想的に配置されたｎ個のノードに対応付けられており、前記取得手段は、同一の閉路において、当該第ｉ番目の保持装置に対応する第ｉ番目のノードに隣接する第ｉ−１及び第ｉ＋１番目のノードそれぞれに対応した第ｉ−１番目及び第ｉ＋１番目の保持装置にそれぞれ割り当てられた第ｉ−１番目及び第ｉ＋１番目の分散情報を取得するとしてもよい。
【００１５】
この構成によると、第ｉ番目の保持装置において第ｉ番目の分散情報が不正に改竄された場合等において対処する際に、同一の第ｉ番目の分散情報を保持している他の保持装置の特定が確実に行える。
ここで、前記第ｉ−１若しくは第ｉ＋１番目の保持装置が、第１から第ｎの保持装置から構成されるグループから脱退する脱退対象保持装置とした場合、第ｉ番目の保持装置は、さらに、分散指示を受け取る受信手段と、前記分散指示を受け取ると、前記記憶手段から、前記脱退対象保持装置に割り当てられた前記第ｉ−１若しくは前記ｉ＋１番目の分散情報を読み出す読出手段と、読み出された前記第ｉ−１若しくは前記ｉ＋１番目の分散情報をｎ−１個の部分分散情報に分解する分散情報分解手段と、分解されたｎ−１個の部分分散情報を、第ｉ番目の保持装置及び前記脱退対象保持装置を除く他のｎ−２台の保持装置それぞれが保持する複数の分散情報に対して、同一番目の分散情報には同一の部分分散情報が割り当たる様態で、前記ｎ−２台の保持装置へ出力する出力手段とを含むとしてもよい。
【００１６】
この構成においては、第１から第ｎの保持装置から構成されるグループから１台の脱退対象保持装置が脱退する場合を想定している。前記第ｉ番目の保持装置は、前記脱退対象保持装置に対応するノードに隣接するノードに対応付けられている。この構成によると、前記脱退対象保持装置に割り当てられた分散情報から、ｎ−１個の部分分散情報を生成し、生成された各部分分散情報を、当該保持装置及び前記脱退対象保持装置を除く他のｎ−２台の保持装置のうち、当該部分分散情報に対応する分散情報を保持する保持装置へ出力するので、各保持装置に対して前記脱退対象保持装置に割り当てられた分散情報から生成された各部分分散情報を保持させることになる。このため、前記脱退対象保持装置が脱退した後であっても、前記脱退対象保持装置を除く他の全ての保持装置が保持する分散情報及び部分分散情報により、元の秘密情報を復元することができる。
【００１７】
ここで、所定の法において、前記分散情報分解手段により分解された全ての部分分散情報を加算することにより、読み出された前記第ｉ−１番目の分散情報が得られるとしてもよい。
この構成によると、生成された全ての部分分散情報及び他の全ての分散情報の加算により、秘密情報を求めることができる。
【００１８】
ここで、第ｉ−１から第ｉ＋１番目の保持装置以外の第ｐ番目の保持装置（ｐは１以上ｎ以下の整数）が、第１から第ｎ番目の保持装置から構成されるグループから脱退する脱退対象保持装置であるとした場合、第ｉ番目の保持装置は、さらに、前記脱退対象保持装置に対応するノードに隣接するノードに対応する保持装置から、第ｉ−１から第ｉ＋１番目の分散情報それぞれに割り当てられるべき部分分散情報を受信する受信手段と、  受信した各部分分散情報を、前記記憶手段が記憶している第ｉ−１から第ｉ＋１番目の分散情報のうち、当該部分分散情報に対応する分散情報に加算する演算手段とを含み、受信した前記部分分散情報それぞれは、前記脱退対象保持装置に割り当てられた第ｐ番目の分散情報から分解されたものであるとしてもよい。
【００１９】
この構成においては、ｎ台の前記保持装置から構成されるグループから１台の脱退対象保持装置が脱退する場合を想定している。前記第ｉ番目の保持装置は、前記脱退対象保持装置に対応するノードに隣接するノードに対応する保持装置を除く他の保持装置である。この構成によると、この構成の第ｉ番目の保持装置は、前記隣接ノードに対応する保持装置から、１個以上の部分分散情報を受信する。前記部分分散情報は、前記脱退対象保持装置に割り当てられた第ｐ番目の分散情報から生成されたものである。この構成の第ｉ番目の保持装置は、受信した各部分分散情報を、前記記憶手段が記憶している第ｉ−１から第ｉ＋１番目の分散情報のうち、当該部分分散情報に対応する分散情報に加算するので、当該第ｉ番目の保持装置は、前記脱退対象保持装置に割り当てられた第ｐ番目の分散情報から生成された部分分散情報を保持することになる。このため、前記脱退対象保持装置が脱退した後であっても、前記脱退対象保持装置を除く他の全ての保持装置が保持する分散情報及び部分分散情報により、元の秘密情報を復元することができる。
【００２０】
ここで、所定の法において、分解された全ての部分分散情報を加算することにより、前記第ｐ番目の分散情報が得られるとしてもよい。
この構成によると、生成された全ての部分分散情報及び他の全ての分散情報の加算により、秘密情報を求めることができる。
ここで、前記閉路において１個の新たなノードが前記ｉ番目の保持装置に対応するｉ番目のノードと隣接する状態で追加され、前記新たなノードに新たな追加保持装置を対応付けた場合、第ｉ番目の保持装置は、さらに、前記追加保持装置が追加される旨の通知を受け取る受信手段と、前記通知を受け取ると、前記記憶手段から、第ｉ番目の保持装置に割り当てられた第ｉ番目の分散情報を読み出す読出手段と、追加部分情報を生成する生成手段と、生成された前記追加部分情報を用いて、読み出された前記第ｉ番目の分散情報に対して演算を施し、得られた演算結果を新たな第ｉ番目の分散情報として、読み出された前記第ｉ番目の分散情報に代えて、前記記憶手段へ書き込む演算手段と、生成された前記追加部分情報を前記追加保持装置へ出力する出力手段と  を含むとしてもよい。
【００２１】
この構成においては、第１から第ｎの保持装置から構成されるグループに１台の追加保持装置が追加される場合を想定している。当該第ｉ番目の保持装置は、前記追加保持装置に対応するノードに隣接するノードに対応付けられている。この構成によると、追加部分情報を生成し、生成された前記追加部分情報を前記追加保持装置へ出力することにより、追加保持装置に対して、追加部分情報を保持させることができるとともに、当該第ｉ番目の保持装置は、生成された前記追加部分情報を用いて、当該第ｉ番目の保持装置に割り当てられた分散情報に対して演算を施し、得られた演算結果を新たな第ｉ番目の分散情報として、読み出された前記第ｉ番目の分散情報に代えて、前記記憶手段へ書き込む。こうして、追加保持装置が追加された後であっても、前記追加保持装置を含む全ての保持装置が保持する分散情報により、元の秘密情報の復元を確保することができる。
【００２２】
ここで、前記演算手段は、所定の法において、読み出された前記第ｉ番目の分散情報から前記追加部分情報を減ずることにより、前記演算結果を得るとしてもよい。
この構成によると、生成された全ての追加分散情報及び他の全ての分散情報の加算により、秘密情報を求めることができる。
ここで、第ｉ番目の保持装置において、前記出力手段は、さらに、生成された追加部分情報を、第ｉ番目の保持装置に割り当てられた第ｉ番目の分散情報を保持する他の保持装置へ出力するとしてもよい。
【００２３】
この構成によると、生成された追加部分情報を、当該第ｉ番目の保持装置に割り当てられた第ｉ番目の分散情報を保持する他の保持装置へ出力するので、複数の保持装置において、同一の分散情報の保持するという冗長性を保つことができる。
ここで、前記受信手段は、さらに、前記新たなノードと隣接する第ｉ−１若しくは第ｉ＋１番目のノードに対応する第ｉ−１若しくは第ｉ＋１番目の保持装置から第２の追加部分情報を受信し、前記演算手段は、さらに、前記生成手段により生成された前記追加部分情報及び前記受信手段により受信した第２の追加部分情報に演算を施して前記追加保持装置に割り当てられる分散情報を生成し、前記追加保持装置の追加によって第ｉ番目の保持装置に対応する第ｉ番目のノードと非隣接となる第ｉ−１若しくは第ｉ＋１番目のノードに対応する第ｉ−１若しくは第ｉ＋１番目の保持装置に割り当てられた第ｉ−１若しくは第ｉ＋１番目の分散情報の代わりに、生成した前記追加分散情報を前記追加保持装置に割り当てられた分散情報として前記記憶手段に書き込むとしてもよい。
【００２４】
この構成によると、追加保持装置に割り当てられる分散情報と同一の分散情報を当該保持装置において保持することができる。
ここで、前記演算手段は、所定の法において、前記追加部分情報及び前記第２の追加部分情報を加算することにより、前記追加分散情報を得るとしてもよい。
この構成によると、生成された追加部分情報及び第２の追加部分情報並びに他の全ての分散情報の加算により、秘密情報を求めることができる。
【００２５】
ここで、前記読出手段は、さらに、前記記憶手段から、当該第ｉ番目の保持装置に新たに割り当てられた新たな第ｉ番目の分散情報を読み出し、前記演算手段は、さらに、読み出した前記新たな第ｉ番目の分散情報をｎ＋１個の部分分散情報に分解し、出力手段は、さらに、分解した各部分分散情報を、所定の割り当て規則に基づいて、前記追加保持装置を含むｎ＋１台の保持装置のうち第ｉ番目の保持装置を除く他の保持装置それぞれへ出力し、前記所定の割当規則は、前記他の保持装置それぞれが保持する複数の分散情報のうち、前記第ｉ番目の分散情報とは異なる番目の分散情報に対しては、１分散情報当り１部分分散情報という情報が重複しない形態で割り当て、前記第ｉ番目の分散情報に対しては、前記重複しない形態で割り当てられた全ての部分分散情報を割り当てるとしてもよい。
【００２６】
この構成では、新たに分散情報が割り当てられ、この新たな分散情報を記憶している場合を想定している。この構成によると、新たな第ｉ番目の分散情報からｎ＋１個の部分分散情報を生成し、生成した部分分散情報を、各保持装置へ出力するので、各保持装置に対して、部分分散情報により保持している分散情報をさらに更新させることができる。これにより、全ての保持装置が保持している分散情報により秘密情報を復元することができることを確保しつつ、各保持装置が保持している分散情報のランダム性をさらに高めることができる。
【００２７】
ここで、前記閉路において１個の新たなノードが前記ｉ番目の保持装置に対応するｉ番目のノードと隣接する第ｉ−１若しくは第ｉ＋１番目のノードにさらに隣接する状態で追加され、前記新たなノードに新たな追加保持装置を対応付けた場合、第ｉ番目の保持装置は、さらに、前記新たなノードと隣接する第ｉ−１若しくは第ｉ＋１番目のノードに対応する第ｉ−１若しくは第ｉ＋１番目の保持装置から、追加部分情報を受信する受信手段と、前記記憶手段から前記追加部分情報の送信元である前記第ｉ−１若しくは第ｉ＋１番目の保持装置に割り当てられた前記第ｉ−１若しくは第ｉ＋１番目の分散情報を読み出す読出手段と、受信された前記追加部分情報を用いて、読み出された前記第ｉ−１若しくは第ｉ＋１番目の分散情報に対して演算を施し、得られた演算結果を、読み出された前記第ｉ−１若しくは第ｉ＋１番目の分散情報に代えて、前記第ｉ−１若しくは第ｉ＋１番目の保持装置に割り当てられた新たな第ｉ−１若しくは第ｉ＋１番目の分散情報として、前記記憶手段へ書き込む演算手段とを含むとしてもよい。
【００２８】
この構成においては、第１から第ｎの保持装置から構成されるグループに１台の追加保持装置が追加される場合を想定している。当該第ｉ番目の保持装置に対応するノードに隣接するノードに、さらに、隣接するように新たなノードが追加され、当該新たなノードには前記追加保持装置が対応付けられている。第ｉ番目の保持装置は、第ｉ−１若しくは第ｉ＋１番目の保持装置から受信した追加部分情報を用いて、前記記憶手段から読み出した第ｉ−１若しくは第ｉ＋１番目の分散情報に対して演算を施し、得られた演算結果を、読み出した第ｉ−１若しくは第ｉ＋１番目の分散情報に代えて、前記第ｉ−１若しくは第ｉ＋１番目の保持装置に割り当てられた新たな第ｉ−１若しくは第ｉ＋１番目の分散情報として、前記記憶手段へ書き込むので、追加保持装置が追加された後であっても、前記追加保持装置を含む全ての保持装置が保持する分散情報により、元の秘密情報の復元を確保することができる。
【００２９】
ここで、前記受信手段は、さらに、前記新たなノードに隣接するノードに対応する隣接保持装置から、前記記憶手段にて記憶されている第ｉ−１から第ｉ＋１の分散情報それぞれに対して割り当てられるべき１個以上の部分分散情報を受信し、前記演算手段は、さらに、受信した部分分散情報それぞれを用いて、前記記憶手段に記憶されている第ｉ−１から第ｉ＋１の分散情報に演算を施し、演算結果を新たな第ｉ−１から第ｉ＋１の分散情報として前記記憶手段に書き込み、受信した前記１個以上の部分分散情報それぞれは、前記隣接保持装置に割り当てられた分散情報から分解されたものであるとしてもよい。
【００３０】
この構成では、新たに分散情報が割り当てられたときに、新たな分散情報からｎ＋１個の部分分散情報が生成され、生成された部分分散情報を受信する場合を想定している。当該ｉ番目の保持装置は、受信した部分分散情報を用いて、前記記憶手段に記憶されている第ｉ−１から第ｉ＋１番目の分散情報に演算を施し、演算結果を新たな第ｉ−１から第ｉ＋１番目の分散情報として前記記憶手段に書き込むので、保持している分散情報をさらに更新することができる。これにより、全ての保持装置が保持している分散情報により秘密情報を復元することができることを確保しつつ、保持装置が保持している分散情報のランダム性をさらに高めることができる。
【００３１】
また、本発明は、１個の秘密情報から生成された第１から第ｎの分散情報をそれぞれ保持する第１から第ｎの既保持装置から構成されるグループに新たに追加される保持装置であって、少なくとも２台の既保持装置からそれぞれ追加部分情報を受信する受信手段と、受信した全ての前記追加部分情報を用いて、自身に割り当てられた分散情報を生成する生成手段と、生成した前記分散情報を記憶する記憶手段とを備えることを特徴とする。
【００３２】
この構成においては、第１から第ｎの保持装置から構成されるグループに１台の追加保持装置が追加される場合を想定している。当該保持装置は、前記追加保持装置であり、当該追加保持装置に対応するノードが、少なくとも２台の既保持装置に対応するノードそれぞれに隣接するよう関係付けられている。この構成によると、少なくとも２台の既保持装置から受信した全ての前記追加部分情報を用いて、自身に割り当てられた分散情報を生成し、生成した前記分散情報を記憶するので、追加保持装置が追加された後であっても、前記追加保持装置を含む全ての保持装置が保持する分散情報により、元の秘密情報の復元を確保することができる。
【００３３】
ここで、前記生成手段は、所定の法において、受信した前記追加部分情報それぞれを加算することにより、前記分散情報を生成するとしてもよい。
この構成によると、生成された分散情報及び他の保持装置に割り当てられた分散情報の加算により、元の秘密情報の復元を確保することができる。
ここで、前記受信手段は、さらに、前記追加部分情報の送信元である２台の既保持装置のうち少なくとも１の既保持装置から部分分散情報を受信し、前記演算手段は、さらに、受信した部分分散情報を用いて、前記記憶手段に記憶されている分散情報に演算を施し、自身に割り当てられた新たな分散情報として、演算結果を前記記憶手段に書き込み、受信した前記部分分散情報は、前記他の保持装置に割り当てられた分散情報から生成されたものであるとしてもよい。
【００３４】
この構成では、新たに分散情報が割り当てられたときに、新たな分散情報からｎ＋１個の部分分散情報が生成され、生成された部分分散情報を受信する場合を想定している。当該保持装置は、受信した部分分散情報を用いて、前記記憶手段に記憶されている分散情報に演算を施し、演算結果を新たな分散情報として前記記憶手段に書き込むので、保持している分散情報をさらに更新することができる。これにより、全ての保持装置が保持している分散情報により秘密情報を復元することができることを確保しつつ、保持装置が保持している分散情報のランダム性をさらに高めることができる。
【００３５】
また、本発明は、認証局装置であって、第１から第ｎの保持装置に冗長に割り当てられて記憶している分散情報から冗長性のないｎ個の分散情報を受信する受信手段と、受信したｎ個の前記分散情報を用いて、仮に秘密情報を復元する復元手段と、復元した秘密情報の正当性を検証する検証手段と、復元した秘密情報が正当でないと認められた場合に、各保持装置が保持する残りの分散情報と、復元に用いたｎ個の分散情報とを用いて、不正に改竄された分散情報を保持する保持装置を特定する特定手段と  を備えることを特徴とする。
【００３６】
この構成によると、複数の保持装置の中から、不正に改竄された分散情報を保持する保持装置を特定することができる。
ここで、第１から第ｎの保持装置は、１個以上の閉路を形成するように配置されたｎ個のノードに対応付けられており、第ｉ番目の保持装置（ｉは１以上ｎ以下の整数）は、当該第ｉ番目の保持装置に割り当てられた第ｉ番目の分散情報と、同一の閉路において当該第ｉ番目の保持装置に対応する第ｉ番目のノードの両側に隣接する第ｉ−１及び第ｉ＋１番目のノードそれぞれに対応付けられた第ｉ−１及び第ｉ＋１番目の保持装置に割り当てられた第ｉ−１及び第ｉ＋１番目の分散情報とを保持しており、前記受信手段は、第１から第ｎの保持装置それぞれに割り当てられた第１から第ｎの分散情報を受信することにより、冗長性のないｎ個の分散情報を受信し、前記特定手段は、各保持装置が保持する残りの分散情報を取得し、第ｉ番目の保持装置に割り当てられた第ｉ番目の分散情報と、第ｉ−１及び第ｉ＋１番目の保持装置がそれぞれが保持する第ｉ番目の保持装置に割り当てられた第ｉ番目の分散情報それぞれとが、同一の情報として第ｉ番目のグループに属するように、各保持装置から取得した全ての分散情報を第１から第ｎのグループに分類する第１分類部と、第１から第ｎ番目のグループそれぞれについて、内容が同一となる分散情報が同じサブグループに属するように、当該グループに含まれる複数の分散情報を分類する第２分類部と、第１から第ｎのグループそれぞれから、１個のサブグループを選択し、選択したｎ個のサブグループそれぞれから１個の分散情報を選択し、ｎ個の分散情報から構成される組合せを生成する組合生成部と、生成した組合せに含まれる全ての分散情報を用いて、秘密情報を生成することにより、分散情報の正当性を検証する検証部と、正当であると認められる場合に、サブグループに含まれている分散情報を保持する保持装置を正当とみなして、当該保持装置を排除する排除部とを含み、  前記特定手段は、残りの保持装置の中から不正に改竄された分散情報を保持する保持装置を特定するとしてもよい。
【００３７】
この構成によると、正当な保持装置を排除し、その他の保持装置から不正に改竄された分散情報を保持する保持装置を特定することができる。
ここで、前記復元部は、さらに、不正に改竄された分散情報を保持すると特定された保持装置を除き、他の保持装置から受け取った複数の分散情報のうち冗長性のないｎ個の分散情報を用いて、秘密情報を復元するとしてもよい。
【００３８】
この構成によると、秘密情報を確実に復元することができる。
また、本発明は、１個の秘密情報から分解したｎ個の分散情報をそれぞれｎ台の保持装置へ割り当てる配布装置であって、前記保持装置の中から、特定の１台の保持装置に関連する１台以上の関連保持装置を選択する選択手段と、特定の前記保持装置に割り当てられた分散情報を、全ての前記関連保持装置に割り当てる割当手段とを備えることを特徴とする。
【００３９】
この構成によると、ｎ個の分散情報をそれぞれｎ台の保持装置へ割り当てることに加えて、複数の保持装置の中から選択された特定の保持装置に関連する関連保持装置に対して、特定の前記保持装置に割り当てられた分散情報を割り当てるので、複数の保持装置において、同一の分散情報を保持させることができる。これにより、同一の分散情報の保持の冗長性を増すことができ、保持装置において分散情報が不正に改竄されたり、分散情報が破壊されたり、又は、分散情報の使用ができなくなった場合における対処の可能性を高めることができる。
【図面の簡単な説明】
【００４０】
【図１】認証局システム１００の全体の構成を示すブロック図である。
【図２】分散情報保持装置１２１から１２６の関係及び各分散情報保持装置が保持する情報を示す図である。
【図３】鍵配布装置１３０の構成を示すブロック図である。
【図４】配布先リストＴ１００のデータ構造の一例を示す図である。
【図５】分散情報配布部３０５の構成を示すブロック図である。
【図６】装置情報リストＴ２００のデータ構造の一例を示す図である。
【図７】分散情報保持装置１２１から１２６の構成を示すブロック図である。
【図８】認証局装置１４０の構成を示すブロック図である。
【図９】初期設定処理の動作の流れを示す流れ図である。
【図１０】秘密鍵から複数の分散情報を作成する流れを示す流れ図である。
【図１１】分散情報、証明書及び配布先リストを配布する流れを示す流れ図である。
【図１２】鍵回復処理の動作の流れを示す流れ図である。
【図１３】算出した値の検証を行う動作の流れを示す流れ図である。
【図１４】不正装置を検出する動作の流れを示す流れ図である。図１５へ続く。
【図１５】不正装置を検出する動作の流れを示す流れ図である。図１４から続く。
【図１６】不正装置特定部４１６が各分散情報保持装置から収集した分散情報群を示す図である。
【図１７】収集した分散情報群からグループ化及びサブグループ化した結果を示す図である。
【図１８】脱退処理の動作の流れを示す流れ図である。
【図１９】部分情報の生成処理の動作の流れを示す流れ図である。
【図２０】部分情報の検証処理の動作の流れを示す流れ図である。
【図２１】脱退時の第１更新処理における分散情報保持装置１２２、１２３及び１２４の動作の流れを示す流れ図である。
【図２２】脱退時の第１更新処理における分散情報保持装置１２５及び１２６の動作の流れを示す流れ図である。
【図２３】脱退時の第２更新処理における分散情報保持装置１２２、１２６の動作の流れを示す流れ図である。
【図２４】脱退処理後における分散情報保持装置１２２から１２６それぞれが保持する３つの分散情報を示す図である。
【図２５】追加処理の動作の流れを示す流れ図である。
【図２６】配布処理の動作の流れを示す流れ図である。
【図２７】分散情報の生成処理の動作の流れを示す流れ図である。
【図２８】他装置分散情報の格納処理の動作の流れを示す流れ図である。
【図２９】追加時の第１分割処理の動作の流れを示す流れ図である。
【図３０】追加時の第１更新処理における分散情報保持装置１２１及び１２２の動作の流れを示す流れ図である。
【図３１】追加時の第１更新処理における分散情報保持装置１２３、１２４及び１２５の動作の流れを示す流れ図である。
【図３２】追加時の第１更新処理における分散情報保持装置１２６及び１２７の動作の流れを示す流れ図である。
【図３３】追加時の第２分割処理の動作の流れを示す流れ図である。
【図３４】追加時の第２更新処理における分散情報保持装置１２１、１２２及び１２３の動作の流れを示す流れ図である。
【図３５】追加時の第２更新処理における分散情報保持装置１２４及び１２５の動作の流れを示す流れ図である。
【図３６】追加時の第２更新処理における分散情報保持装置１２６及び１２７の動作の流れを示す流れ図である。
【図３７】追加処理後における分散情報保持装置１２１から１２７それぞれが保持する３つの分散情報を示す図である。
【図３８】部分署名の配布の例を示す図である。
【図３９】部分署名を用いて不正分散情報保持装置を特定する例を示す図である。
【図４０】本発明の他の適用例を示す図である。
【図４１】分散情報を配布する例を示す図である。
【発明を実施するための形態】
【００４１】
１．実施の形態１
１．１  本実施の形態で使用する暗号について
本実施の形態では、公開鍵暗号方式としてＲＳＡ暗号および署名方式を使用する。以下では、ＲＳＡ暗号および署名方式についてそれぞれ説明する。以下の説明において、Ｘ＾ＹはＸのＹ乗、Ｘ  ｍｏｄ  ＹはＸをＹで割ったときの余りを示している。
【００４２】
１．１．１  ＲＳＡ暗号方式
（１）鍵の生成
ＲＳＡ暗号方式では、次に示すようにして公開鍵及び秘密鍵を計算する。
（手順１−１）ランダムに大きい素数ｐ，ｑを選択し、その積ｎ＝ｐ×ｑを計算する。ｐ，ｑの大きさは例えば、５１２ビットであり、ｎの大きさは例えば、１０２４ビットである。
【００４３】
（手順１−２）（ｐ−１）及び（ｑ−１）の最小公倍数Ｌ＝ＬＣＭ（ｐ−１，ｑ−１）を計算する。
（手順１−３）Ｌと互いに素（Ｌとの最大公約数が１）でＬより小さい自然数ｅをランダムに選ぶ。
１≦ｅ≦Ｌ−１、ＧＣＤ（ｅ，Ｌ）＝１
ここで、ＧＣＤ（ｅ，Ｌ）は、ｅとＬの最大公約数を示している。また、自然数ｅをランダムに選ぶ方法としては乱数生成方法を用いる。乱数生成方法については、非特許文献１の４５〜４９ページに詳しく説明されているので、ここでの説明は省略する。
【００４４】
（手順１−４）次式を満たすｄを計算する。
式  ｅ×ｄ＝１    ｍｏｄ    Ｌ
ＧＣＤ（ｅ，Ｌ）＝１の場合、このようなｄは必ず存在することが数学的に知られている。このようにして、得られた整数ｅ及び整数ｎが、公開鍵である。また、整数ｄが、秘密鍵である。
【００４５】
（２）暗号文の生成
公開鍵である整数ｅ及び整数ｎを用いて、平文ｍに以下の暗号演算を施して暗号文ｃを計算する。ただし、平文ｍは整数ｎよりも小さいものとする。
ｃ＝ｍ＾ｅ      ｍｏｄ    ｎ
（３）復号文の生成
秘密鍵である整数ｄを用いて、暗号文ｃに復号演算を施して復号文ｍ'を計算する。
【００４６】
ｍ'＝ｃ＾ｄ    ｍｏｄ  ｎ
なお、
ｍ'＝ｃ＾ｄ    ｍｏｄ  ｎ
＝（ｍ＾ｅ  ）＾ｄ    ｍｏｄ  ｎ
＝ｍ＾（ｅ×ｄ    ｍｏｄ  Ｌ）    ｍｏｄ  ｎ
＝ｍ＾１    ｍｏｄ  ｎ
＝ｍ    ｍｏｄ  ｎ
であり、ｍ＜ｎであるので、ｍ  ｍｏｄ  ｎ＝ｍであることから、復号文ｍ'は、平文ｍと一致する。
【００４７】
なお、ＲＳＡ暗号については、非特許文献１の１１０〜１１３ページに詳しく説明されているので、ここでの説明は省略する。
１．１．２  ＲＳＡ署名方式
（１）鍵の生成
ＲＳＡ暗号方式では、次に示すようにして公開鍵及び秘密鍵を計算する。
【００４８】
（手順２−１）ランダムに大きい素数ｐ，ｑを選択し、その積ｎ＝ｐ×ｑを計算する。ｐ，ｑの大きさは例えば、５１２ビットであり、ｎの大きさは例えば、１０２４ビットである。
（手順２−２）（ｐ−１）及び（ｑ−１）の最小公倍数Ｌ＝ＬＣＭ（ｐ−１，ｑ−１）を計算する。
【００４９】
（手順２−３）Ｌと互いに素（Ｌとの最大公約数が１）でＬより小さい自然数ｅをランダムに選ぶ。
１≦ｅ≦Ｌ−１、ＧＣＤ（ｅ，Ｌ）＝１
ここで、ＧＣＤ（ｅ，Ｌ）は、ｅとＬの最大公約数を示している。
（手順２−４）次式を満たすｄを計算する。
【００５０】
式  ｅ×ｄ＝１    ｍｏｄ    Ｌ
ＧＣＤ（ｅ，Ｌ）＝１の場合、このようなｄは必ず存在することが数学的に知られている。このようにして、得られた整数ｅ及び整数ｎが、公開鍵である。また、整数ｄが、秘密鍵である。
（２）署名生成
メッセージデータＤに対して、以下のように署名データＳを計算する。
【００５１】
まず、ハッシュ関数Ｈａｓｈを用いて、メッセージデータＤのハッシュ値ｈ＝Ｈａｓｈ（Ｄ）を計算する。
次に、秘密鍵である整数ｄを用いて、ハッシュ値ｈをｄ乗して、署名データＳを計算する。
Ｓ＝ｈ＾ｄ  ｍｏｄ  ｎ
すなわち、ハッシュ値ｈを平文として、ＲＳＡ暗号によって暗号化した値が署名データＳである。
【００５２】
（３）署名検証
署名データＳがメッセージデータＤの正しい署名であるかを、以下のように検証する。
Ｈａｓｈ（Ｄ）とＳ＾ｅ  ｍｏｄ  ｎ（署名データＳをＲＳＡ暗号によって復号した値に相当する）が等しいか否かを確認する。等しい場合は、署名データＳが正しい署名であるとして、受理する。等しくない場合は、署名データＳが正しくない署名であるとして、拒否する。
【００５３】
なお、ＲＳＡ署名については、非特許文献１の１７５〜１７６ページに詳しく説明されているので、ここでの説明は省略する。
１．２  認証局システム１００の概要
図１は、本発明の実施の形態１における認証局システム１００の全体構成図である。
認証局システム１００は、分散情報保持装置１２１〜１２６と、鍵配布装置１３０と、認証局装置１４０と、端末Ａ、Ｂ、Ｃとから構成されている。
【００５４】
１．２．１  各装置の概要
認証局装置１４０は秘密鍵１４１を用いて証明書を発行する発行装置である。
認証局装置１４０は、秘密鍵１４１が漏洩したときに、新しい秘密鍵“ｄ”を回復し、回復した新しい秘密鍵“ｄ”が正当な鍵であるか否かを検証する。
分散情報保持装置１２１〜１２６は、認証局装置１４０が新しい秘密鍵“ｄ”を回復するための分散情報を有している。
【００５５】
鍵配布装置１３０は新しい秘密鍵“ｄ”と公開鍵のペアを作成する。鍵配布装置１３０は、生成した秘密鍵“ｄ”を用いて、秘密鍵“ｄ”の回復に必要な複数の情報（以下、分散情報（ｓｈａｒｅ））と、秘密鍵“ｄ”に対する公開鍵の証明書とを生成する。
具体的には、鍵配布装置１３０は、「新しい秘密鍵」をＲＳＡ暗号の秘密鍵ｄとして、秘密分散法を用いてｋ個の分散情報（ｄ＿１、ｄ＿２、・・・、ｄ＿ｋ）に分割する。ここで、Ｘ＿Ｙは、Ｘに下付きインデックスＹが付けられていることを示す。
【００５６】
この時、秘密鍵ｄとｋ個の分散情報（ｄ＿１、ｄ＿２、・・・、ｄ＿ｋ）は、
ｄ＝ｄ＿１＋ｄ＿２＋・・・＋ｄ＿ｋ  ｍｏｄ  Ｌ
の関係にある。
また、鍵配布装置１３０は、「新しい秘密鍵」を生成した後に正しく回復できているかを検証するための検証用の証明書として、ＲＳＡ暗号の公開鍵ｅとｎに対する証明書に「新しい秘密鍵」を用いて生成した署名を付加した自己証明書を生成する。
【００５７】
鍵配布装置１３０は、分散情報保持装置１２１〜１２６に対して、分散情報保持装置が保持すべき複数の分散情報と、証明書とを配布する。
端末Ａ、端末Ｂ、端末Ｃは認証局装置１４０から秘密鍵に対する公開鍵の証明書（公開鍵証明書）を発行してもらい、他の端末との暗号通信などにその公開鍵証明書を利用する。
【００５８】
なお、証明書については非特許文献２に詳しく説明されているので、ここでの説明は省略する。
認証局システム１００が行う処理は、６つある。
１つ目の処理としては、新しい鍵の回復を行うのに必要となる分散情報を各分散情報保持装置へ配布するために、「新しい秘密鍵」の生成と秘密分散法による「新しい秘密鍵」からの分散情報の生成などの初期設計を行う処理（初期設計処理）である。
【００５９】
２つ目の処理としては、各分散情報保持装置が、認証局装置１４０が使用する秘密鍵が漏洩していないかの検知を行う処理（検知処理）である。
３つ目の処理としては、秘密鍵の漏洩が検知されたときに、漏洩原因の解析及び回復方法の判断を行い、秘密鍵を更新すると判断された場合には、各分散情報保持装置から分散情報を収集し、「新しい秘密鍵」を生成し、回復された秘密鍵が正しい値かどうかを検証し、認証局装置１４０の秘密鍵を回復する処理（解析・回復処理）である。
【００６０】
４つ目の処理としては、次の回復のための分散情報を生成し、各分散情報保持装置へ配布する処理（次ラウンド準備処理）がある。
５つ目の処理としては、分散情報を保持している分散情報保持装置が脱退するときに、他の分散情報保持装置で保持している分散情報の更新する処理（分散情報保持装置の脱退処理）がある。
【００６１】
６つ目の処理として、分散情報保持装置を新たに追加するときに分散情報を更新する処理（分散情報保持装置の追加処理）がある。
これらの処理については、後述する。
１．２．２  各分散情報保持装置が保持する情報について
ここでは、分散情報保持装置１２１〜１２６のそれぞれが保持する分散情報及び証明書について説明する。
【００６２】
本実施の形態では、複数の分散情報保持装置で共通の分散情報を持つことで、分散情報に冗長性を持たせる構成とする。この構成にすることで、不正な動作を行う分散情報保持装置が存在した場合でも、それ以外の分散情報保持装置で持っている分散情報を使用し、「新しい秘密鍵」を正しく回復できる。
図２は、本実施の形態における分散情報に冗長性を持たせた場合の分散情報保持装置１２１〜１２６の構成図である。
【００６３】
分散情報保持装置１２１〜１２６は、閉路（リング状）を形成するように関連付けがなされている。具体的には、閉路が形成されたグラフ上にｋ個のノード（ここでは、６個のノード）が仮想的に配置されており、分散情報保持装置１２１〜１２６のそれぞれは、６個のノードに対応付けられている。つまり、分散情報保持装置１２１〜１２６のそれぞれは、１つの閉路を形成するように仮想的に配置されたｋ（＝６）個のノードに対応付けられている。言い換えると、分散情報保持装置１２１〜１２６のそれぞれは、閉路を形成するように接続されたｎ個のノードに対応付けられている。なお、閉路は、グラフ理論の分野では公知であるので、ここでの説明は省略する。
【００６４】
ここで、上記の秘密鍵ｄを６個（ｋ＝６）に分散（分解）し、
ｄ＝ｄ＿１＋ｄ＿２＋ｄ＿３＋ｄ＿４＋ｄ＿５＋ｄ＿６  ｍｏｄ  Ｌ
とする。
図２において、分散情報保持装置１２１〜１２６のそれぞれは、３つの分散情報と１つの証明書を保持する構成となっている。３つの分散情報の内の１つはその分散情報保持装置が所有する分散情報であり、他の２つの分散情報は他の分散情報保持装置が所有する他装置分散情報（第１及び第２他装置分散情報）である。
【００６５】
例えば、分散情報保持装置１２１〜１２６のそれぞれには、分散情報としてｄ＿１〜ｄ＿６が１対１に割り当てられている。
分散情報保持装置１２１は、分散情報保持装置１２２が所有する分散情報“ｄ＿２”を第１他装置分散情報“ｄ１＿２”２１２＿１として、分散情報保持装置１２６が所有する分散情報“ｄ＿６”を第２他装置分散情報“ｄ２＿６”２１６＿１として保持している。
【００６６】
また、分散情報保持装置１２２は、分散情報保持装置１２３が所有する分散情報“ｄ＿３”を第１他装置分散情報“ｄ１＿３”２１３＿２として、分散情報保持装置１２１が所有する分散情報“ｄ＿１”を第２他装置分散情報“ｄ２＿１”２１１＿２として保持している。
つまり、本実施の形態では、分散情報保持装置が分散情報として値“ｄ＿ｉ”を有していると、第１他装置分散情報として値“ｄ１＿（ｉ＋１）（＝ｄ＿（ｉ＋１））”を、第２他装置分散情報として値“ｄ２＿（ｉ−１）（＝ｄ＿（ｉ−１））”を有している。なお、ｉ＋１＝７の場合は、ｄ１＿１（＝ｄ＿１）とし、ｉ−１＝０の場合は、ｄ２＿６（＝ｄ＿６）とする。
【００６７】
ここで、他装置分散情報ＸＸＸ＿Ｙは、分散情報ＸＸＸと同じと識別される分散情報で、分散情報保持装置１２Ｙが保持していることを表す。この様に、複数の分散情報保持装置で共通の分散情報を持つことで分散情報に対して冗長性を持たせた構成としている。また、以降の説明において、第１及び第２他装置分散情報を特に区別する必要がない場合には、単に、他装置分散情報と言い、各他装置分散情報と分散情報とを特に区別する必要がない場合には、単に、分散情報と言う。
【００６８】
分散情報保持装置１２１〜１２６のそれぞれは、認証子として、すべての分散情報保持装置が分散情報から生成される「新しい秘密鍵“ｄ”」に対応した公開鍵を「新しい秘密鍵“ｄ”」を用いて署名した証明書２２１〜２２６を保持する。
分散情報保持装置が保持する分散情報に冗長性を持たせることで、認証局装置１４０の回復時に不正な秘密鍵が生成された場合に、それぞれの分散情報保持装置で共通に持っている分散情報を利用し、どの分散情報保持装置から受信した分散情報が不正な値であったかを調べ、不正な値を送信した分散情報保持装置の分散情報を除いた正しい分散情報で正しい「新しい秘密鍵」を生成する事が出来る。さらに、分散情報保持装置間で分散情報等のデータを送受信する場合に、同じと識別される分散情報を保持している分散情報保持装置が送信されたデータが正しいデータであるかを検証することで、不正な動作を行う分散情報保持装置を検出することも出来る。
【００６９】
なお、分散情報保持装置が保持する他装置分散情報として、分散情報保持装置を図２のようにサークル状に配置したときの両隣の分散情報保持装置が所有する分散情報を他装置分散情報として保持するとしたが、これに限定するものではなく、それぞれの分散情報を複数の分散情報保持装置で保持するように構成するのであればよく、例えば１つ右隣と２つ右隣の分散情報保持装置（分散情報保持装置１２１の場合では分散情報保持装置１２２と１２３）が所有する分散情報（分散情報２１２と２１３）を持つような構成にしてもよい。
【００７０】
１．２．３  分散情報保持装置の脱退・追加について
ここでは、分散情報保持装置の脱退・追加の処理時の概要を説明する。
鍵配布装置１３０は、秘密分散法で「新しい秘密鍵」から分散情報を生成する際に、生成される分散情報をすべて足すと「新しい秘密鍵」が復元できるように６個の分散情報を生成する。
【００７１】
このように、分散情報保持装置の脱退・追加の処理時では、分散情報の総和が常に一定（秘密鍵“ｄ”）となるように分散情報を操作し、新たな分散情報を生成する。これにより、鍵配布装置１３０が「新しい秘密鍵」を復元或いは再生成し、新たな分散情報を生成し、再配布することなく、分散情報保持装置の脱退処理時に分散情報の数を減らしたり、追加処理時に分散情報の数を増やしたりすることが可能となる。
【００７２】
上述したような生成方法を用いた場合の、分散情報保持装置の脱退・追加の処理は以下のようになる。
分散情報保持装置１２１が脱退する場合には、まず、脱退する分散情報保持装置１２１が所有している分散情報“ｄ＿１”２１１と同一となるべき他装置分散情報から５個の部分情報を生成する。この時も、生成された５個の部分情報をすべて足すと分散情報“ｄ＿１”２１１になるように各部分情報は生成される。そして、それぞれの部分情報を他の分散情報保持装置１２２〜１２６へ送信する。
【００７３】
他の分散情報保持装置それぞれでは、その送信された部分情報と自身が所有する分散情報とを整数として足し算する。こうすることで、分散情報保持装置１２１が脱退後も、それぞれの分散情報保持装置が保持する分散情報の総和を一定とすることが可能となるため、「新しい秘密鍵」を復元し分散情報を再生成することなく、分散情報保持装置が脱退させることが可能となる。
【００７４】
また、新たな分散情報保持装置を追加する場合には、追加する分散情報保持装置が所有する分散情報を生成するために、例えば追加する分散情報保持装置以外の２つの分散情報保持装置（分散情報保持装置１２１と分散情報保持装置１２６）それぞれから変形情報ａ、ｂを入手し、その変形情報ａ、ｂを整数として足し算することで、追加する分散情報保持装置１２７の分散情報（ａ＋ｂ）を生成する。分散情報保持装置１２１と分散情報保持装置１２６では、追加する分散情報保持装置１２７に送信した変形情報の値をそれぞれが所有する分散情報から引き、新たな分散情報“ｄ＿１−ａ”、“ｄ＿６−ｂ”を生成する。こうすることで、分散情報保持装置１２７を追加した後も、それぞれの分散情報保持装置が保持する分散情報の総和を一定とすることが可能となるため、「新しい秘密鍵」を復元し分散情報を再生成することなく、分散情報保持装置を追加することが可能となる。分散情報保持装置の脱退・追加時のより詳細な動作は、後述する。
【００７５】
なお、秘密鍵ｄを６個に分割し、各分散情報保持装置へ配布したが、これに限定するものではなく、脱退処理を行うには４個以上、追加処理を行うには３個以上の分散情報に分割すればよい。また、秘密分散法により各分散情報を生成する時に、分散情報の総和により「新しい秘密鍵」が復元できるように各分散情報を生成したが、これに限定するものではなく、非特許文献１の２０９から２１９ページに記載されている従来の秘密分散法が使用できる。
【００７６】
１．３  各装置の構成
ここでは、分散情報保持装置１２１〜１２６と、鍵配布装置１３０と、認証局装置１４０の構成について説明する。
１．３．１  鍵配布装置１３０の構成
鍵配布装置１３０は、図３に示すように、鍵ペア生成部３０１、証明書生成部３０２、証明書配布部３０３、秘密鍵分散部３０４、分散情報配布部３０５、鍵消去部３０６及び送信部３０７から構成されている。
【００７７】
鍵配布装置１３０は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記ＲＡＭまたはハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが前記コンピュータプログラムにしたがって動作することにより、鍵配布装置１３０は、その機能を達成する。
【００７８】
（１）鍵ペア生成部３０１
鍵ペア生成部３０１は、ＲＳＡ暗号方式で用いられる公開鍵ＰＫと秘密鍵ｄのペアを生成する。
鍵ペア生成部３０１は、生成した公開鍵ＰＫを証明書生成部３０２へ出力する。
また、鍵ペア生成部３０１は、生成した秘密鍵ｄを証明書生成部３０２及び秘密鍵分散部３０４へ出力する。
【００７９】
（２）証明書生成部３０２
証明書生成部３０２は、鍵ペア生成部３０１から公開鍵ＰＫ及び秘密鍵ｄを受け取ると、受け取った公開鍵ＰＫの証明書を生成する。証明書に付けられる署名は、公開鍵に対応する秘密鍵を用いて作成する。
証明書生成部３０２は、生成した証明書を証明書配布部３０３へ出力する。
【００８０】
なお、生成された証明書には、公開鍵ＰＫと、秘密鍵ｄを用いて公開鍵ＰＫを署名した署名データＳ（＝Ｓｉｇ（ｄ、ＰＫ））が含まれている。
なお、公開鍵の証明書の生成については、公知の技術であるので、ここでの説明は省略する。
（３）証明書配布部３０３
証明書配布部３０３は、証明書生成部３０２から証明書を受け取ると、受け取った証明書を、送信部３０７を介して分散情報保持装置１２１〜１２６へ配布する。
【００８１】
（４）秘密鍵分散部３０４
秘密鍵分散部３０４は、ｋ個の分散情報ｄ＿１、ｄ＿２、ｄ＿３、・・・、ｄ＿ｋを格納するための記憶領域を有している。
秘密鍵分散部３０４は、鍵ペア生成部３０１から秘密鍵ｄを受け取ると、受け取った秘密鍵ｄから秘密分散法を用いてｋ個の分散情報ｄ＿１、ｄ＿２、ｄ＿３、・・・、ｄ＿ｋを生成する（ここでは、ｋ＝６）。言い換えると、秘密鍵分散部３０４は、秘密鍵ｄを、秘密分散法を用いてｋ個の分散情報ｄ＿１、ｄ＿２、ｄ＿３、・・・、ｄ＿ｋに分散（分解する）。ここで、秘密鍵分散部３０４は、全ての分散情報を加算すると秘密鍵ｄになるように分散する。なお、以下、ｋ＝６として説明する。
【００８２】
具体的には、秘密鍵分散部３０４は、乱数生成器を用いて、（ｋ−１）個（＝５個）の乱数を生成することにより、分散情報ｄ＿１、ｄ＿２、ｄ＿３、ｄ＿４、ｄ＿５を生成する。次に、秘密鍵分散部３０４は、
ｄ＿ｋ  ＝  ｄ  −  （ｄ＿１＋ｄ＿２＋ｄ＿３＋ｄ＿４＋ｄ＿５）
により、ｄ＿ｋ（＝ｄ＿６）を算出する。
【００８３】
秘密鍵分散部３０４は、生成した分散情報ｄ＿１、ｄ＿２、ｄ＿３、ｄ＿４、ｄ＿５、ｄ＿６を記憶領域に一時的に格納する。
（５）分散情報配布部３０５
分散情報配布部３０５は、秘密鍵分散部３０４にて生成された分散情報ｄ＿１、ｄ＿２、ｄ＿３、ｄ＿４、ｄ＿５、ｄ＿６を分散情報保持装置１２１〜１２６へ配布する。配布する分散情報は、それぞれの分散情報保持装置が所有する分散情報と、他の分散情報保持装置が所有している共通に持つ分散情報を配布する。さらに、どの分散情報をどの分散情報保持装置へ配布したかのリストが記入されている配布先リストＴ１００を作成し、各分散情報保持装置と認証局装置１４０へ配布する。
【００８４】
配布先リストＴ１００は、図４に示すように、自装置ＩＤと第１及び第他装置ＩＤとからなる組を複数格納するための領域を有している。自装置ＩＤは、分散情報を所有する分散情報保持装置を識別する装置ＩＤである。第１他装置ＩＤは、自装置ＩＤにて識別される分散情報保持装置が所有する第１他装置分散情報と同一の分散情報を所有する分散情報の装置ＩＤである。第２他装置ＩＤは、自装置ＩＤにて識別される分散情報保持装置が所有する第２他装置分散情報と同一の分散情報を所有する分散情報の装置ＩＤである。
【００８５】
分散情報配布部３０５は、図５に示すように、装置情報記憶部３５１、分散情報選択部３５２、装置選択部３５３、出力部３５４及び繰返制御部３５５から構成されている。
（装置情報記憶部３５１）
装置情報記憶部３５１は、図６にて示すように、装置情報リストＴ２００を有している。
【００８６】
装置情報リストＴ２００には、１つの番号に対して、１つの分散情報保持装置のＩＤが対応付けられている。例えば、番号“１”には、分散情報保持装置１２１の識別子“ＩＤ＿１”が対応付けられている。
なお、以降の説明において、装置情報リストＴ２００における番号“ｉ”に対応するＩＤ＿ｉの分散情報保持装置をｉ番目の分散情報保持装置と呼ぶ場合がある。例えば、３番目の分散情報保持装置とは、分散情報保持装置１２３のことである。
【００８７】
以下、上述した閉路上の各ノードとの対応付けについて説明する。
閉路に形成されたグラフ上にｋ（＝６）個の第１から第６のノードが順次接続されるように仮想的に配置されている。分散情報保持装置１２１〜１２６のそれぞれは、第１から第６のノードに順次対応付けられている。つまり、分散情報保持装置１２Ｘは、第Ｘのノードに対応付けられている。
【００８８】
これにより、分散情報保持装置１２１〜１２６は、閉路を形成するように関係付けがされる。
（分散情報選択部３５２）
分散情報選択部３５２は、秘密鍵分散部３０４にて生成され、一時的に記憶されている分散情報ｄ＿１、ｄ＿２、ｄ＿３、ｄ＿４、ｄ＿５、ｄ＿６のうちｉ番目の分散情報ｄ＿ｉを選択する。
【００８９】
（装置選択部３５３）
分散情報選択部３５２にて選択された分散情報ｄ＿ｉを配布する３台の分散情報保持装置の選択と、配布先リストＴ１００の生成を行う。なお、配布先リストＴ１００は、初期段階では、何も登録されていないものとする。
装置選択部３５３は、分散情報選択部３５２にてｉ番目の分散情報ｄ＿ｉが選択されると、装置情報リストＴ２００の内容に基づいて、ｉ番目の分散情報保持装置を選択する。具体的には、装置選択部３５３は、ｉ番目の分散情報保持装置に対応する装置ＩＤを装置情報リストＴ２００から選択する。
【００９０】
また、装置選択部３５３は、装置情報リストＴ２００の内容に基づいて、（ｉ−１）番目の分散情報保持装置及び（ｉ＋１）番目の分散情報保持装置を選択する。具体的には、装置選択部３５３は、（ｉ−１）及び（ｉ＋１）番目の分散情報保持装置それぞれに対応する装置ＩＤを装置情報リストＴ２００から選択する。
装置選択部３５３は、ｉ番目の分散保持装置の装置ＩＤを自装置ＩＤとし、（ｉ＋１）番目の分散情報保持装置の装置ＩＤを第１他装置ＩＤとし、（ｉ−１）番目の分散情報保持装置の装置ＩＤを第２他装置ＩＤとして、配布先リストＴ１００に追加する。
【００９１】
ここで、ｉ＋１＝７である場合には、装置選択部３５３は、１番目の分散情報保持装置を選択する。また、ｉ−１＝０である場合には、装置選択部３５３は、６番目の分散情報保持装置を選択する。
（出力部３５４）
出力部３５４は、分散情報選択部３５２にて選択された分散情報ｄ＿ｉを、送信部３０７を介して、装置選択部３５３にて選択されたｉ、（ｉ−１）及び（ｉ＋１）番目の分散情報保持装置それぞれに配布する。このとき、出力部３５４は、ｉ番目の分散情報保持装置に対しては、当該装置に割り当てられた分散情報として分散情報ｄ＿ｉを配布する。出力部３５４は、（ｉ＋１）番目の分散情報保持装置に対しては、第１他装置分散情報として分散情報ｄ＿ｉ（＝ｄ１＿ｉ）を配布する。出力部３５４は、（ｉ−１）番目の分散情報保持装置に対しては、第２他装置分散情報として分散情報ｄ＿ｉ（＝ｄ２＿ｉ）を配布する。
【００９２】
出力部３５４は、全ての分散情報の配布が終了すると、装置選択部３５３にて生成された配布先リストＴ１００を、送信部３０７を介して分散情報保持装置１２１〜１２６及び認証局装置１４０へ配布する。
（繰返制御部３５５）
繰返制御部３５５は、分散情報の選択、選択された分散情報が配布される３台の分散情報保持装置の選択、選択された３台の分散情報保持装置それぞれの装置ＩＤの配布先リストＴ１００への登録、及び選択された分散情報の配布を、繰り返し行うように、分散情報選択部３５２、装置選択部３５３及び出力部３５４を制御する。
【００９３】
（本発明との対応）
上述したように、分散情報配布部３０５は、ｉ、（ｉ−１）及び（ｉ＋１）番目の分散情報保持装置それぞれを選択し、分散情報ｄ＿ｉを、選択したｉ、（ｉ−１）及び（ｉ＋１）番目の分散情報保持装置それぞれに配布する。
このとき、分散情報配布部３０５は、ｉ、（ｉ−１）及び（ｉ＋１）番目の分散情報保持装置を順次選択し、分散情報ｄ＿ｉを、選択したｉ、（ｉ−１）及び（ｉ＋１）番目の分散情報保持装置それぞれに順次配布することになる。
【００９４】
ここで、分散情報配布部３０５がｉ番目の分散情報保持装置を選択し、分散情報ｄ＿ｉを選択したｉ番目の分散情報保持装置に配布する動作が、本発明における第１配布手段に相当する。また、分散情報配布部３０５が（ｉ−１）及び（ｉ＋１）番目の分散情報保持装置それぞれを選択し、分散情報ｄ＿ｉを選択した（ｉ−１）及び（ｉ＋１）番目の分散情報保持装置それぞれに配布する動作が、本発明における第２配布手段に相当する。
【００９５】
（６）鍵消去部３０６
鍵消去部３０６は、設計の処理過程で生成された鍵（秘密鍵、公開鍵）、証明書、分散情報、分散情報配布先リストなどの鍵配布に関連するデータを消去する。
（７）送信部３０７
送信部３０７は、証明書配布部３０３から出力された証明書を分散情報保持装置１２１〜１２６へ送信する。
【００９６】
送信部３０７は、分散情報配布部３０５から出力された分散情報を、配布先である３台の分散情報保持装置へ送信する。
送信部３０７は、分散情報配布部３０５から出力された配布先リストＴ１００を、分散情報保持装置１２１〜１２６及び認証局装置１４０へ送信する。
１．３．２  分散情報保持装置１２１〜１２６の構成
分散情報保持装置１２１〜１２６は、図７に示すように、制御部２５０＿ｊ、分散情報格納部２５１＿ｊ、他装置分散情報格納部２５２＿ｊ、認証子格納部２５３＿ｊ、リスト格納部２５４＿ｊ、ＩＤ格納部２５５＿ｊ、送信部２５６＿ｊ及び受信部２５７＿ｊから構成されている。
【００９７】
分散情報保持装置１２１〜１２６は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記ＲＡＭまたはハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、分散情報保持装置１２１〜１２６は、その機能を達成する。
【００９８】
なお、符号２５ｘ（ｘ＝１、２、・・・、７）に付与されている添え字ｊは、１、２、・・・、６の値であり、ｊ番目の分散情報保持装置に対応する。
つまり、構成要素２５ｘ＿１は分散情報保持装置１２１に具備されており、構成要素２５ｘ＿２は分散情報保持装置１２２に具備されている。また、構成要素２５ｘ＿３は分散情報保持装置１２３に具備されており、構成要素２５ｘ＿４は分散情報保持装置１２４に具備されている。さらに、構成要素２５ｘ＿５は分散情報保持装置１２５に具備されており、構成要素２５ｘ＿６は分散情報保持装置１２６に具備されている。
【００９９】
（１）分散情報格納部２５１＿ｊ
分散情報格納部２５１＿ｊは、ｊ番目の分散情報保持装置が所有する分散情報ｄ＿ｊを格納する。
（２）他装置分散情報格納部２５２＿ｊ
他装置分散情報格納部２５２は、第１他装置分散情報ｄ＿（ｊ＋１）、及び第２他装置分散情報ｄ＿（ｊ−１）を格納する。
【０１００】
ここで、ｊ＋１＝７である場合には、第１他装置分散情報としてｄ＿１が格納される。また、ｊ−１＝０である場合には、第２他装置分散情報としてｄ＿６が格納される。
（３）認証子格納部２５３＿ｊ
認証子格納部２５３＿ｊは、秘密鍵ｄに対する公開鍵ＰＫの証明書を格納する。
（４）リスト格納部２５４＿ｊ
リスト格納部２５４＿ｊは、鍵配布装置１３０から配布された配布先リストＴ１００を格納する。
【０１０１】
（５）ＩＤ格納部２５５＿ｊ
ＩＤ格納部２５５＿ｊは、当該装置を識別する装置ＩＤ“ＩＤ＿ｊ”を格納している。
（６）制御部２５０＿ｊ
制御部２５０＿ｊは、当該装置の動作を制御する。
制御部２５０＿ｊは、図７に示すように、分散情報更新部２６０＿ｊ、分散情報分割部２６１＿ｊ、分散情報検証部２６２＿ｊ、他装置分散情報検証部２６３＿ｊ、部分情報検証部２６４＿ｊ、変形情報生成部２６５＿ｊ、リスト更新部２６６＿ｊ及び取得部２６７＿ｊを有している。
【０１０２】
（分散情報更新部２６０＿ｊ）
分散情報更新部２６０＿ｊは、鍵配布装置１３０から送信部２５６＿ｊを介して、当該装置に割り当てられた分散情報として分散情報ｄ＿ｊを受け取ると、分散情報格納部２５１＿ｊに格納する。このとき、分散情報更新部２６０＿ｊは、分散情報格納部２５１＿ｊに情報が存在する場合には、その情報を消去し、受け取った分散情報ｄ＿ｊを格納する。
【０１０３】
分散情報更新部２６０＿ｊは、鍵配布装置１３０から送信部２５６＿ｊを介して、第１若しくは第２他装置分散情報として分散情報ｄ１＿（ｊ＋１）若しくはｄ２＿（ｊ−１）を受け取ると、他装置分散情報格納部２５２＿ｊに格納する。このとき、分散情報更新部２６０＿ｊは、他装置分散情報格納部２５２＿ｊに他の第１若しくは第２の他装置分散情報が存在する場合には、その情報を消去し、受け取った第１他装置分散情報（ｄ１＿（ｊ＋１））若しくは第２他装置分散情報（ｄ２＿（ｊ−１））を格納する。
【０１０４】
また、分散情報更新部２６０＿ｊは、認証局システム１００における脱退処理・追加処理時において、分散情報、第１及び第２他装置分散情報の更新を行い、更新した分散情報を分散情報格納部２５１＿ｊへ、更新した第１及び第２他装置分散情報を他装置分散情報格納部２５２＿ｊへ、それぞれ格納する。このとき、分散情報更新部２６０＿ｊは、更新前の分散情報、第１他装置分散情報及び第２他装置分散情報を消去する。
【０１０５】
（脱退処理時の動作）
先ず、脱退処理における分散情報更新部２６０＿ｊの動作について説明する。
分散情報更新部２６０＿ｊは、自装置の分散情報分割部２６１＿ｊから２つの部分情報、若しくは他の分散情報保持装置から２つ若しくは３つの部分情報を受信部２５７＿ｊを介して受け取る。
【０１０６】
分散情報更新部２６０＿ｊは、受け取った２つ若しくは３つの部分情報を一時的に記憶する。
分散情報更新部２６０＿ｊは、他の分散情報保持装置から受信部２５７＿ｊを介して、若しくは自装置の部分情報検証部２６４＿ｊから、部分情報の生成に用いられた分散情報の検証結果を受け取る。
【０１０７】
分散情報更新部２６０＿ｊは、部分情報の生成に用いられた分散情報が正当であると判断される場合には、分散情報更新部２６０＿ｊは、一時的に記憶している２つ若しくは３つの部分情報を用いて、対応する分散情報の更新を行う。
なお、脱退時における分散情報の更新の詳細については、後述する脱退処理の動作説明において、具体例を用いて説明する。
【０１０８】
（追加時の動作について）
既存の装置であり、且つ追加対象の分散情報を格納する場合（以下、第１のＣＡＳＥ）と、既存装置であり、且つ変形情報を生成した装置の分散情報を格納している場合（以下、第２のＣＡＳＥ）と、自装置が追加対象の装置である場合（以下、第３のＣＡＳＥ）と、上記以外の装置である場合（以下、第４のＣＡＳＥ）で動作が異なる。
【０１０９】
以下、場合分けを行って、動作の説明を行う。
＜第１のＣＡＳＥ＞
分散情報更新部２６０＿ｊは、他の分散情報保持装置で生成された変形情報“ｎ１”を受け取ると、一時的に格納する。
分散情報更新部２６０＿ｊは、変形情報生成部２６５＿ｊにて生成された変形情報（例えば、“ｎ２”）と、分散情報“ｄ＿ｊ”とを用いて、新たな分散情報“ｄ＿ｊ’（＝ｄ＿ｊ−ｎ２）”を生成し、分散情報格納部２５１＿ｊに格納されている内容を、生成した新たな分散情報に更新する。ここで、自装置若しくは他装置の変形情報生成部にて生成される変形情報は整数である。また、分散情報から変形情報を減算するときには整数として引き算する。また、この引き算のとき、負の数になる事もあるが、そのまま分散情報として保持する。
【０１１０】
分散情報更新部２６０＿ｊは、変形情報“ｎ１”と、変形情報生成部２６５＿ｊにて生成された変形情報“ｎ２”とを用いて、追加対象となる装置は保持すべき分散情報と同一の他装置分散情報“ｎ１＋ｎ２”を生成する。分散情報更新部２６０＿ｊは、装置の追加により、保持が不要となる他装置分散情報の代わりに、生成した他装置分散情報“ｎ１＋ｎ２”へと置き換える。
【０１１１】
分散情報更新部２６０＿ｊは、自装置の分散情報分割部２６１＿１若しくは他装置にて生成された２つ若しくは３つの部分情報を受け取り、一時的に記憶する。
分散情報更新部２６０＿ｊは、一時的に記憶している２つ若しくは３つの部分情報を用いて、対応する分散情報の更新を行う。
なお、追加時における分散情報の更新の詳細については、後述する追加処理の動作説明において、具体例を用いて説明する。
【０１１２】
＜第２のＣＡＳＥ＞
分散情報更新部２６０＿ｊは、他の分散情報保持装置で生成された変形情報“ｎ１”を受け取ると、前記他の分散情報保持装置が保持する分散情報と同一の値であるべき他装置分散情報から、受け取った変形情報“ｎ１”を減算して、新たな他装置分散情報を生成する。分散情報更新部２６０＿ｊは、更新前の他装置分散情報を、更新後の新たな他装置分散情報に更新する。このとき、減算結果が負の数になる事もあるが、そのまま分散情報として保持する。
【０１１３】
分散情報更新部２６０＿ｊは、他装置にて生成された２つ若しくは３つの部分情報を受け取り、一時的に記憶する。
分散情報更新部２６０＿ｊは、一時的に記憶している２つ若しくは３つの部分情報を用いて、対応する分散情報の更新を行う。
なお、追加時における分散情報の更新の詳細については、後述する追加処理の動作説明において、具体例を用いて説明する。
【０１１４】
＜第３のＣＡＳＥ＞
分散情報更新部２６０＿ｊは、他の２台の分散情報保持装置で生成された変形情報“ｎ１”、“ｎ２”を受け取ると、一時的に記憶する。分散情報更新部２６０＿ｊは、当該装置に割り当てられた分散情報“ｎ１＋ｎ２”を生成し、分散情報格納部２５１＿ｊに格納する。
【０１１５】
分散情報更新部２６０＿ｊは、（ｊ＋１）番目の分散情報保持装置から分散情報を、（ｊ＋２）番目の分散情報保持装置から第２他装置分散情報をそれぞれ受け取る。分散情報更新部２６０＿ｊは、分散情報及び第２他装置分散情報とが一致する場合に、受け取った分散情報を第１他装置分散情報として他装置分散情報格納部２５２＿ｊに格納する。
分散情報更新部２６０＿ｊは、（ｊ―１）番目の分散情報保持装置から分散情報を、（ｊ―２）番目の分散情報保持装置から第１他装置分散情報をそれぞれ受け取る。分散情報更新部２６０＿ｊは、分散情報及び第１他装置分散情報とが一致する場合に、受け取った分散情報を第２他装置分散情報として他装置分散情報格納部２５２＿ｊに格納する。
【０１１６】
分散情報更新部２６０＿ｊは、他装置にて生成された２つ若しくは３つの部分情報を受け取り、一時的に記憶する。
分散情報更新部２６０＿ｊは、一時的に記憶している２つ若しくは３つの部分情報を用いて、対応する分散情報の更新を行う。
なお、追加時における分散情報の更新の詳細については、後述する追加処理の動作説明において、具体例を用いて説明する。
【０１１７】
＜第４のＣＡＳＥ＞
分散情報更新部２６０＿ｊは、他装置にて生成された３つの部分情報を受け取り、一時的に記憶する。
分散情報更新部２６０＿ｊは、一時的に記憶している３つの部分情報を用いて、対応する分散情報の更新を行う。
【０１１８】
なお、追加時における分散情報の更新の詳細については、後述する追加処理の動作説明において、具体例を用いて説明する。
（分散情報分割部２６１＿ｊ）
分散情報分割部２６１＿ｊは、脱退処理・追加処理時において、分散情報格納部２５１に格納している分散情報や他装置分散情報格納部２５２に格納している第１若しくは第２他装置分散情報から複数の部分情報を生成する。言い換えると、分散情報分割部２６１＿ｊは、分散情報格納部２５１に格納している分散情報や他装置分散情報格納部２５２に格納している第１若しくは第２他装置分散情報を、複数の部分情報に分散（分解）する。
【０１１９】
先ず、脱退処理時における動作について説明する。
分散情報分割部２６１＿ｊは、分散情報保持装置を監視する監視装置（図示せず）から、脱退対象の分散情報保持装置が有する分散情報と同一の他装置分散情報から部分情報を生成する旨の脱退時の部分情報生成指示を受け取る。ここで、監視装置は、分散情報保持装置の動作を監視し、分散情報保持装置が故障等により動作を停止した時や、不正な動作を行っていることが判明したときに、当該分散情報保持装置を脱退させるように前記部分情報指示情報を通知する。また、分散情報分割部２６１＿ｊは、脱退時の部分情報生成指示を外部装置から受け取るとしたが、これに限定されない。分散情報分割部２６１＿ｊは、脱退時の部分情報生成指示を、鍵配布装置１３０から受け取ってもよいし、認証局装置１４０から受け取ってもよい。または、脱退する分散情報保持装置が、自身が保持する分散情報と同一の値である他装置分散情報を保持する他の分散情報保持装置へ部分情報生成指示を通知することで動作を開始するものとしてもよい。
【０１２０】
分散情報分割部２６１＿ｊは、脱退対象の分散情報保持装置が有する分散情報と同一であるべき情報が、第１他装置分散情報であるか第２他装置分散情報であるかを配布先リストＴ１００を用いて特定し、特定した他装置分散情報を、他装置分散情報格納部２５２＿ｊから取得する。ここでは、取得した他装置分散情報を“ｓ”とする。
分散情報分割部２６１＿ｊは、取得した他装置分散情報“ｓ”からｋ−１個の部分情報を、生成する。ここで、分散情報分割部２６１＿ｊは、全ての部分情報を加算すると取得した他装置分散情報“ｓ”になるように各部分情報を生成する。
【０１２１】
具体的には、分散情報分割部２６１＿ｊは、乱数生成器を用いて、（ｋ−２）個（＝４個）の乱数を生成することにより、部分情報（ここでは、便宜上、ｓ＿１、ｓ＿２、ｓ＿３、ｓ＿４）を生成する。次に、分散情報分割部２６１＿ｊは、
ｓ＿（ｋ−１）  ＝  ｓ  −  （ｓ＿１＋ｓ＿２＋ｓ＿３＋ｓ＿４）
により、ｓ＿（ｋ−１）（＝ｓ＿５）を算出する。
【０１２２】
分散情報分割部２６１＿ｊは、脱退対象の装置（例えば、ｉ番目の分散情報保持装置）が保持する分散情報“ｄ＿ｉ”及びこの情報と同一の値となるべき情報“ｄ１＿ｉ”及び“ｄ２＿ｉ”を除く残りの分散情報に対して、同一となるべき分散情報毎に、異なる部分情報を割り当てる。
分散情報分割部２６１＿ｊは、配布先リストＴ１００の内容に基づいて、配布先の分散情報保持装置毎に、２つ若しくは３つの部分情報を配布する。なお、自装置へは２つの部分情報が配布されるが、この場合、分散情報分割部２６１＿ｊは、分散情報更新部２６０＿ｊへ出力する。
【０１２３】
分散情報分割部２６１＿ｊは、部分情報の配布後、取得した他装置分散情報“ｓ”と同一の値である第１若しくは第２他装置分散情報をもつ分散情報保持装置を、配布先リストＴ１００を用いて特定する。分散情報分割部２６１＿ｊは、特定した分散情報保持装置に対して、部分情報の検証を行う旨の部分情報検証指示を、送信部２５６＿ｊを介して送信する。
【０１２４】
なお、分散情報保持装置毎に配布する２つ若しくは３つの部分情報については、後述する脱退処理の動作説明において、具体例を用いて詳細に説明する。
次に、追加時の動作について説明する。
分散情報分割部２６１＿ｊは、追加対象の分散情報保持装置１２７（図１では図示せず）から、分散情報から部分情報を生成する旨の追加時の部分情報生成指示を受け取る。
【０１２５】
分散情報分割部２６１＿ｊは、分散情報格納部２５１＿ｊから分散情報を取得する。ここでは、便宜上、取得した分散情報を“ｓ”とする。分散情報分割部２６１＿ｊは、取得した分散情報“ｓ”から（ｋ＋１）個（ここでは、７個）の部分情報を生成する。ここで、分散情報分割部２６１＿ｊは、全ての部分情報を加算すると取得した分散情報“ｓ”になるように各部分情報を生成する。
【０１２６】
具体的には、分散情報分割部２６１＿ｊは、乱数生成器を用いて、ｋ）個（＝６個）の乱数を生成することにより、部分情報（ここでは、便宜上、ｓ＿１、ｓ＿２、・・・、ｓ＿６）を生成する。次に、分散情報分割部２６１＿ｊは、
ｓ＿（ｋ＋１）  ＝  ｓ  −  （ｓ＿１＋ｓ＿２＋ｓ＿３＋・・・＋ｓ＿６）
により、ｓ＿（ｋ＋１）（＝ｓ＿７）を算出する。このとき、減算結果が負の数になる事もあるが、そのまま部分情報として扱う。
【０１２７】
分散情報分割部２６１＿ｊは、分散情報保持装置毎に、異なる部分情報を割り当てる。
分散情報分割部２６１＿ｊは、配布先の分散情報保持装置毎に、３つ若しくは６つの部分情報を配布する。なお、自装置へは３つの部分情報が配布されるが、この場合、分散情報分割部２６１＿ｊは、分散情報更新部２６０＿ｊへ出力する。
分散情報保持装置毎に配布する３つ若しくは６つの部分情報については、後述する追加処理の動作説明において、具体例を用いて詳細に説明する。
【０１２８】
（分散情報検証部２６２＿ｊ）
分散情報検証部２６２＿ｊは、分散情報格納部２５１＿ｊに格納している分散情報が他の分散情報保持装置が第１若しくは第２他装置分散情報として保持している情報と同じ値かどうかを検証する。
具体的には、分散情報検証部２６２＿ｊは、リスト格納部２５４＿ｊにて格納されている配布先リストＴ１００を用いて、分散情報格納部２５１＿ｊにて格納されている分散情報と同一の値である第１他装置分散情報を持つ分散情報保持装置及び第２他装置分散情報を持つ分散情報保持装置を特定し、特定した各分散情報保持装置から第１及び第２他装置分散情報を、受信部２５７＿ｊを介して受信する。分散情報検証部２６２＿ｊは、分散情報格納部２５１＿ｊにて格納されている分散情報と、受信した第１及び第２他装置分散情報とが一致するか否かの検証を行う。
【０１２９】
（他装置分散情報検証部２６３＿ｊ）
他装置分散情報検証部２６３＿ｊは、他装置分散情報格納部２５２＿ｊに格納している第１若しくは第２他装置分散情報が、他の分散情報保持装置が分散情報や第１若しくは第２他装置分散情報として保持している情報と同じ値かどうかを検証する。
具体的には、他装置分散情報検証部２６３＿ｊは、リスト格納部２５４＿ｊにて格納されている配布先リストＴ１００を用いて、他装置分散情報格納部２５２＿ｊにて格納されている第１他装置分散情報と同一の値である分散情報を持つ分散情報保持装置及び第２他装置分散情報を持つ分散情報保持装置を特定し、特定した各分散情報保持装置から分散情報及び第２他装置分散情報を、受信部２５７＿ｊを介して受信する。他装置分散情報検証部２６３＿ｊは、他装置分散情報格納部２５２＿ｊにて格納されている第１他装置分散情報と、受信した分散情報及び第２他装置分散情報とが一致するか否かの検証を行う。
【０１３０】
また、他装置分散情報検証部２６３＿ｊは、リスト格納部２５４＿ｊにて格納されている配布先リストＴ１００を用いて、他装置分散情報格納部２５２＿ｊにて格納されている第２他装置分散情報と同一の値である分散情報を持つ分散情報保持装置及び第１他装置分散情報を持つ分散情報保持装置を特定し、特定した各分散情報保持装置から分散情報及び第１他装置分散情報を、受信部２５７＿ｊを介して受信する。他装置分散情報検証部２６３＿ｊは、他装置分散情報格納部２５２＿ｊにて格納されている第２他装置分散情報と、受信した分散情報及び第１他装置分散情報とが一致するか否かの検証を行う。
【０１３１】
（部分情報検証部２６４＿ｊ）
部分情報検証部２６４＿ｊは、他の分散情報保持装置で生成された複数の部分情報の総和、つまり部分情報の生成に用いられた他装置分散情報が正当であるか否かを検証する。
以下、その動作について説明する。
部分情報検証部２６４＿ｊは、前記他の分散情報保持装置から部分情報検証指示を、受信部２５７＿ｊを介して受け取る。
【０１３２】
部分情報検証部２６４＿ｊは、脱退対象の分散情報保持装置を除く残りの装置それぞれから当該装置に割り当てられた部分情報を取得する。
部分情報検証部２６４＿ｊは、取得した全ての部分情報を加算し、値ｓ’を算出する。部分情報検証部２６４＿ｊは、算出した値ｓ’が正当であるか否かを、値ｓ’と他装置分散情報格納部２５２＿ｊに格納されている第１若しくは第２他装置分散情報を用いて検証する。
【０１３３】
具体的には、前記他の分散情報保持装置で生成された部分情報が他装置分散情報格納部２５２＿ｊに格納されている第１他装置分散情報と同一であるべき場合には、部分情報検証部２６４＿ｊは、値ｓ’が、他装置分散情報格納部２５２＿ｊに格納されている第１他装置分散情報と同一であるかを検証する。また、前記他の分散情報保持装置で生成された部分情報が他装置分散情報格納部２５２＿ｊに格納されている第２他装置分散情報と同一であるべき場合には、部分情報検証部２６４＿ｊは、値ｓ’が、他装置分散情報格納部２５２＿ｊに格納されている第２他装置分散情報と同一であるかを検証する。
【０１３４】
部分情報検証部２６４＿ｊは、検証結果により、値ｓ’が前記当該装置が有する第１若しくは第２他装置分散情報と同一であると判断する場合には、同一である旨の検証結果を各分散情報保持装置へ送信部２５６＿ｊを介して送信する。
部分情報検証部２６４＿ｊは、検証結果により、値ｓ’が前記当該装置が有する第１若しくは第２他装置分散情報と同一でないと判断する場合には、同一でない旨の検証結果を各分散情報保持装置へ送信部２５６＿ｊを介して送信する。
【０１３５】
なお、当該装置に対しては、検証結果を分散情報更新部２６０＿ｊへ出力する。
（変形情報生成部２６５＿ｊ）
変形情報生成部２６５＿ｊは、外部の装置（図示せず）から、追加対象の分散情報保持装置に対する分散情報を生成する旨の追加時の分散情報生成指示を受け取る。ここで、本実施の形態では、変形情報生成部２６５＿ｊは、追加時の分散情報生成指示を外部装置から受け取るとしたが、これに限定されない。変形情報生成部２６５＿ｊは、追加時の分散情報生成指示を、鍵配布装置１３０から受け取ってもよいし、認証局装置１４０から受け取ってもよい。
【０１３６】
変形情報生成部２６５＿ｊは、変形情報を生成する。具体的には、変形情報生成部２６５＿ｊは、１つの乱数を生成し、生成した乱数を変形情報とする。
変形情報生成部２６５＿ｊは、生成した変形情報を追加対象の分散情報保持装置へ受信部２５７＿ｊを介して送信する。
変形情報生成部２６５＿ｊは、分散情報格納部２５１＿ｊにて格納されている分散情報と同一の他装置分散情報をもつべき２台の分散情報保持装置を、配布先リストＴ１００を用いて特定し、生成した変形情報を、特定した２台の分散情報保持装置へも受信部２５７＿ｊを介して送信する。
【０１３７】
変形情報生成部２６５＿ｊは、生成した変形情報を分散情報更新部２６０＿ｊへ出力する。
なお、変形情報の生成方法は、上記の方法に限定されない。例えば、分散情報のハッシュ値を変形情報とする方法などがある。また、固定値を用いたり分散情報の値の半分の値を用いたりする方法も考えられるが、これらの方法は、悪意のある第３者によって変形情報から分散情報を推測されやすくなるため避けた方がよい。
【０１３８】
（リスト更新部２６６＿ｊ）
リスト更新部２６６＿ｊは、認証局システム１００における脱退処理・追加処理時において、分散情報保持装置間の相互関係が変更になると、新しい相互関係となるように配布先リストを更新し、リスト格納部２５４＿ｊに格納している配布先リストを、更新後の配布先リストへと更新する。また、リスト更新部２６６＿ｊは、更新後の配布先リストを他の分散情報保持装置及び認証局装置１４０へ送信部を介して送信する。
【０１３９】
リスト更新部２６６＿ｊは、他の分散情報保持装置から更新後の配布先リストを、受信部２５７＿ｊを介して受信すると、リスト格納部２５４＿ｊに格納している配布先リストを、更新後の配布先リストへと更新する。
（取得部２６７＿ｊ）
取得部２６７＿ｊは、認証局装置１４０から分散情報を要求する第１の要求を受け付けると、分散情報格納部２５１＿ｊにて格納されている分散情報を取得する。取得部２６７＿ｊは、取得した分散情報を、送信部２５６＿ｊを介して認証局装置１４０へ送信する。
【０１４０】
取得部２６７＿ｊは、認証局装置１４０から証明書を要求する第２の要求を受け付けると、認証子格納部２５３＿ｊにて格納されている証明書を取得する。取得部２６７＿ｊは、取得した証明書を、送信部２５６＿ｊを介して認証局装置１４０へ送信する。
取得部２６７＿ｊは、認証局装置１４０から分散情報、第１及び第２他装置分散情報を要求する第３の要求を受け付けると、分散情報格納部２５１＿ｊにて格納されている分散情報と、他装置分散情報格納部２５２＿ｊにて格納されている第１及び第２他装置分散情報とを取得し、ＩＤ格納部２５５＿ｊから装置ＩＤ“ＩＤ＿ｊ”を取得する。取得部２６７＿ｊは、取得した分散情報、第１及び第２他装置分散情報を、送信部２５６＿ｊを介して認証局装置１４０へ送信する。ここで、以下の説明において、分散情報、第１及び第２他装置分散情報からなる組を分散情報群という。
【０１４１】
取得部２６７＿ｊは、他の分散情報保持装置から分散情報を要求する分散情報要求指示を受信部２５７＿ｊを介して受け取ると、分散情報格納部２５１＿ｊから分散情報を取得する。取得部２６７＿ｊは、取得した分散情報を要求元の分散情報保持装置へ送信部２５６＿ｊを介して出力する。
取得部２６７＿ｊは、他の分散情報保持装置から第１他装置分散情報を要求する第１他装置分散情報要求指示を受信部２５７＿ｊを介して受け取ると、他装置分散情報格納部２５２＿ｊから第１他装置分散情報を取得する。取得部２６７＿ｊは、取得した第１他装置分散情報を要求元の分散情報保持装置へ送信部２５６＿ｊを介して出力する。
【０１４２】
取得部２６７＿ｊは、他の分散情報保持装置から第２他装置分散情報を要求する第２他装置分散情報要求指示を受信部２５７＿ｊを介して受け取ると、他装置分散情報格納部２５２＿ｊから第２他装置分散情報を取得する。取得部２６７＿ｊは、取得した第２他装置分散情報を要求元の分散情報保持装置へ送信部２５６＿ｊを介して出力する。
（７）送信部２５６＿ｊ
送信部２５６＿ｊは、制御部２５０＿ｊから受け取った情報を認証局装置１４０や他の分散情報保持装置へ送信する。
【０１４３】
（８）受信部２５７＿ｊ
受信部２５７＿ｊは、鍵配布装置１３０、認証局装置１４０や他の分散情報保持装置から受け取った情報を制御部２５０＿ｊへ出力する。
１．３．３  認証局装置１４０
認証局装置１４０は、図８に示すように、秘密鍵格納部４０１、リスト格納部４０２、制御部４０３、第１送受信部４０４及び第２送受信部４０５から構成されている。
【０１４４】
認証局装置１４０は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記ＲＡＭまたはハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、認証局装置１４０は、その機能を達成する。
【０１４５】
（１）秘密鍵格納部４０１
秘密鍵格納部４０１は、認証局装置１４０の秘密鍵を格納している。例えば、秘密鍵格納部４０１は、図１にて示す秘密鍵１４１を格納している。
（２）リスト格納部４０２
リスト格納部４０２は、配布先リストＴ１００を格納している。
【０１４６】
（３）制御部４０３
制御部４０３は、当該装置の動作を制御する。
制御部４０３は、図８に示すように、端末証明書発行部４１２、認証局証明書格納部４１３、秘密鍵生成部４１４、秘密鍵検証部４１５、不正装置特定部４１６及び解析部４１７から構成されている。
【０１４７】
（端末証明書発行部４１２）
端末証明書発行部４１２は、端末Ａ、端末Ｂ、及び端末Ｃより証明書の発行を依頼されたときに、秘密鍵格納部４０１に格納している秘密鍵を用いて、端末の公開鍵に対してディジタル署名して証明書を生成し、生成した証明書を第２送受信部４０５を介して依頼元の端末へ送信する。
【０１４８】
端末に証明書を発行する処理については、従来の技術をそのまま用いることが可能なため説明は割愛する（例えば、特許文献１参照）。
（認証局証明書格納部４１３）
認証局証明書格納部４１３は、秘密鍵格納部４０１に格納している秘密鍵に対応した公開鍵に対する証明書を格納している。端末が他の端末の証明書を検証するときに利用する。
【０１４９】
（解析部４１７）
解析部４１７は、外部装置（図示せず）から秘密鍵漏洩の通知を受けると証明書の発行を停止し、自装置のログをチェックし漏洩原因を解析し、回復方法の判断を行う。解析と判断の結果、秘密鍵の更新の必要があると判断された場合には、鍵の回復を行う旨の回復指示を秘密鍵生成部４１４へ出力する。
【０１５０】
ここで、鍵の回復を行う前に、自装置の運用やハードウェアのセキュリティレベルを見直し、見直した結果、何らかの問題があれば改善処理を行い、必要であればセキュリティレベルを上げた構成に移行し、鍵回復の処理に移ってもよい。
（秘密鍵生成部４１４）
秘密鍵生成部４１４は、解析部４１７から回復指示を受け取ると、第１要求を、分散情報保持装置１２１〜１２６へ第１送受信部４０４を介して送信する。
【０１５１】
秘密鍵生成部４１４は、分散情報保持装置１２１〜１２６から分散情報ｄ＿１〜ｄ＿６を、第１送受信部４０４を介して受け取る。
秘密鍵生成部４１４は、受け取った各分散情報（ｄ＿１〜ｄ＿６）から値ｄ’（＝ｄ＿１＋ｄ＿２＋ｄ＿３＋ｄ＿４＋ｄ＿５＋ｄ＿６）を算出する。以下、各分散情報から算出された値を鍵候補値と呼ぶ場合もある。
【０１５２】
（秘密鍵検証部４１５）
秘密鍵検証部４１５は、第２要求を、分散情報保持装置１２１〜１２６へ第１送受信部４０４を介して送信する。秘密鍵検証部４１５は、分散情報保持装置１２１〜１２６から第１送受信部４０４を介して、証明書を受信する。
秘密鍵検証部４１５は、受信した証明書がすべて同じ証明書であることを確認して、算出された値ｄ’と証明書を用いて、秘密鍵生成部４１４で算出された値ｄ’が秘密鍵ｄと同一であるか否かを検証、つまり、秘密鍵生成部４１４にて算出した値ｄ’が、正しい「新しい秘密鍵」であるかどうかを検証する。
【０１５３】
受信した証明書がすべて同じ値ではなかった場合には、受信した証明書のうち、同じ証明書の数が一番多い証明書を正しい証明書として、秘密鍵検証部４１５は、値ｄ’の検証を行う。
検証した結果正しい「新しい秘密鍵」であった場合は、秘密鍵検証部４１５は、秘密鍵格納部４０１の秘密鍵を新しい秘密鍵、つまり値ｄ’で上書きして、格納する。さらに、秘密鍵検証部４１５は、認証局証明書格納部４１３の証明書を検証に用いた証明書で上書きして、格納する。
【０１５４】
また、秘密鍵検証部４１５は、受信した証明書を用いて、不正装置特定部４１６にて生成された鍵候補値に対する検証をも行う。
検証方法について、以下に説明する。
秘密鍵検証部４１５は、例えば、算出された値ｄ’を用いて、証明書に含まれる公開鍵ＰＫに対する署名Ｓ’（＝Ｓｉｇ（ｄ’、ＰＫ））を計算し、証明書に含まれる署名Ｓと一致するかを比較する。一致する場合には、秘密鍵検証部４１５は、秘密鍵生成部４１４にて算出した値ｄ’が、正しい「新しい秘密鍵」であると判断する。一致しない場合には、秘密鍵検証部４１５は、秘密鍵生成部４１４にて算出した値ｄ’が、正しい「新しい秘密鍵」でないと判断する。
【０１５５】
なお、検証方法は、上記の方法に限定されない。例えば、生成された秘密鍵を用いて何らかのデータに対する署名を作成して、認証子として分散情報保持装置から受信した証明書に含まれる公開鍵を用いて検証する方法や、ＲＳＡ暗号の場合には、整数ａを生成し、それに対して生成された秘密鍵ｄと認証子として分散情報保持装置から受信した証明書に含まれる公開鍵ｅとｎから、ａ＾（ｅ×ｄ）＝１  ｍｏｄ  ｎが成り立つかどうかをチェックする方法でもよい。
【０１５６】
また、検証の用いる認証子を証明書としたが、これに限定するものではなく、例えば、認証子として秘密鍵のハッシュ値を用いてもよい。この場合、生成された秘密鍵のハッシュ値を計算し、認証子として受信したハッシュ値と比較することで秘密鍵が正しく生成されたかどうか検証できる。また、認証子として秘密鍵の生成に使用する分散情報を結合した情報に対するハッシュ値を用いてもよい。この場合、秘密鍵の生成に使用した分散情報を結合し、そのハッシュ値を計算し、認証子として受信したハッシュ値と比較することで秘密鍵が正しい分散情報から生成されたかどうか検証できる。上述のような認証子を用いる場合には、鍵配布装置１３０において該当する認証子を生成し、予め分散情報保持装置へ認証子として配布しておく必要がある。
【０１５７】
（不正装置特定部４１６）
不正装置特定部４１６は、秘密鍵検証部４１５で検証した秘密鍵が正しい「新しい秘密鍵」でないと判断された場合には、どの分散情報保持装置から受信した分散情報が不正な分散情報であったかを特定する。
以下、その動作について説明する。
【０１５８】
不正装置特定部４１６は、図８にて示すように、第１分類部４２１、第２分類部４２２、組合生成部４２３、検証部４２４、排除部４２５及び秘密鍵生成部４２６から構成されている。
第１分類部４２１は、第３要求を、分散情報保持装置１２１〜１２６へ第１送受信部４０４を介して送信する。第１分類部４２１は、分散情報保持装置１２１〜１２６それぞれから当該分散情報保持装置が有する分散情報、第１及び第２他装置分散情報からなる分散情報群を受信する。第１分類部４２１は、受信した分散情報群に含まれる分散情報、第１及び第２他装置分散情報それぞれと、送信元の分散情報保持装置を識別する送信元識別情報（例えば、装置ＩＤ）とを対応付けて一時的に記憶する。第１分類部４２１は、リスト格納部４０２にて格納されている配布先リストＴ１００の内容に基づいて、同一の値となるべき分散情報と、第１及び第２他装置分散情報とからなる複数のグループを生成する。
【０１５９】
第２分類部４２２は、第１分類部４２１にて生成された各グループにおいて、値が同一である情報毎にサブグループ化を行う。
組合生成部４２３は、各グループからサブグループを１つ選び出す組み合わせを全て生成する。
検証部４２４は、生成した組み合わせそれぞれに対して鍵候補値を算出し、算出した鍵候補値が正しい秘密鍵であるか否かを検証する。なお、検証方法は、秘密鍵検証部４１５にて行う検証方法と同一の方法を用いる。
【０１６０】
排除部４２５は、秘密鍵検証部４１５の検証により鍵候補値が正しい秘密鍵であると判断される場合には、その時の組み合わせで選択されているサブグループに検証を通ったことを表す検証通過識別情報を対応付ける。つまり、不正な分散情報には検証通過識別情報が付与されないことになる。
すべての組み合わせで秘密鍵の生成・検証が行われた後、排除部４２５は、検証通過識別情報が付与されていない分散情報に対応する送信元識別情報を用いて、この情報を送信した分散情報保持装置を特定する。
【０１６１】
秘密鍵生成部４２６は、排除部４２５にて特定された不正な分散情報保持装置を除く残りの分散保持情報から６つの分散情報（ｄ＿１〜ｄ＿６）を取得して、取得した６つの分散情報を用いて正しい秘密鍵を生成し、秘密鍵格納部４０１の秘密鍵を生成した秘密鍵で上書きして、格納する。さらに、秘密鍵生成部４２６は、認証局証明書格納部４１３の証明書を検証部４２４における検証に用いられた証明書で上書きして、格納する。
【０１６２】
（鍵生成の具体例）
ここで、鍵生成の具体例を以下説明する。
秘密鍵生成部４２６は、不正な分散情報保持装置（ここでは、分散情報保持装置１２２とする）を除く残りの分散情報保持装置１２１、１２３〜１２６それぞれに割り当てられた分散情報（ｄ＿１、ｄ＿３、ｄ＿４、ｄ＿５、ｄ＿６）を取得する。秘密鍵生成部４２６は、分散情報“ｄ＿２”を、分散情報保持装置１２１が保持する第１他装置分散情報“ｄ１＿２”、若しくは分散情報保持装置１２３が保持する第２他装置分散情報“ｄ２＿２”を取得する。
【０１６３】
これにより、秘密鍵生成部４２６は、６つの分散情報（ｄ＿１、ｄ＿２、ｄ＿３、ｄ＿４、ｄ＿５、ｄ＿６）を取得することができる。
なお、分散情報の取得方法は、上記の方法に限定されない。不正な分散情報保持装置を除く残りの分散保持情報から秘密鍵の回復に必要な各分散情報を取得することができれば、どのような方法でもよい。
【０１６４】
（４）第１送受信部４０４
第１送受信部４０４は、鍵配布装置１３０から受け取った配布先リストＴ１００をリスト格納部４０２へ格納する。
第１送受信部４０４は、１台の分散情報保持装置から更新後の配布先リストを受け取ると、リスト格納部４０２の配布先リストを受け取った更新後の配布先リストで上書きして、格納する。
【０１６５】
第１送受信部４０４は、各分散情報保持装置それぞれから受け取った情報を制御部４０３へ出力する。
第１送受信部４０４は、制御部４０３から受け取った情報を各分散情報保持装置それぞれへ送信する。
（５）第２送受信部４０５
第２送受信部４０５は、端末Ａ、端末Ｂ、及び端末Ｃからの要求を受け取ると、受け取った要求を制御部４０３へ出力し、端末Ａ、端末Ｂ、及び端末Ｃからの要求に応じて生成された証明書を要求元の端末へ送信する。
【０１６６】
１．４  認証局システム１００の動作
ここでは、認証局システム１００の動作の動作について説明する。認証局システム１００は、上記“１．２．１  各装置の概要”にて示したように、初期設計処理、検知処理、解析・回復処理、次ラウンド準備処理、分散情報保持装置の脱退処理及び分散情報保持装置の追加処理を行う。
【０１６７】
認証局システム１００は、システム構築時に初期設計処理を行い、各分散情報保持装置へ分散情報を配布する。その後、認証局装置１４０が証明書発行などの通常の処理を行うと共に、分散情報保持装置が秘密鍵の漏洩を監視する検知処理を行う。検知処理中に、秘密鍵の漏洩が検知された場合には解析・回復処理を実行し、その後、次ラウンド準備処理を行い、最終的に検知処理に戻る。また、検知処理中に分散情報保持装置の脱退や追加が発生したときには、それぞれ分散情報保持装置の脱退処理や分散情報保持装置の追加処理を行い、各処理が終了した後には検知処理に戻る。
【０１６８】
なお、上記すべての処理が必要ではなく、検知処理と解析・回復処理、脱退処理、追加処理のうちいずれか１つの処理を含めばよい。また、検知処理と解析・回復処理も、すべての処理が必要ではなく、外部から回復のトリガを与えられて回復と回復検証を行う処理があればよい。
以下、これら６つの処理について説明する。
【０１６９】
１．４．１  初期設計処理
認証局システム１００における初期設計処理について、図９にて示す流れ図を用いて説明する。
初期設計処理は、認証局システム１００のセキュリティが崩壊する前に行われる。
鍵配布装置１３０の鍵ペア生成部３０１は、公開鍵暗号に基づく鍵ペア（公開鍵ＰＫ、秘密鍵ｄ）を生成する（ステップＳ５）。
【０１７０】
秘密鍵分散部３０４は、鍵ペア生成部３０１により生成された秘密鍵ｄから秘密分散法を用いて分散情報（ｄ＿１、ｄ＿２、ｄ＿３、ｄ＿４、ｄ＿５、ｄ＿６）を生成する（ステップＳ１０）。言い換えると、秘密鍵分散部３０４は、秘密分散法を用いて秘密鍵ｄを分散情報（ｄ＿１、ｄ＿２、ｄ＿３、ｄ＿４、ｄ＿５、ｄ＿６）に分散（分解）する。
証明書生成部３０２は、秘密鍵が正しく生成できたかどうかの検証に利用する認証子として、鍵ペア生成部３０１によって生成された公開鍵ＰＫに対して、秘密鍵ｄを用いて証明書を生成する（ステップＳ１５）。
【０１７１】
鍵配布装置１３０は、証明書配布部３０３と分散情報配布部３０５を用いて、分散情報保持装置１２１〜１２６及び認証局装置１４０へ、それぞれの装置が証明書、６つの分散情報及び配布先リストＴ１００のうち所有すべき情報を配布する（ステップＳ２０）。
具体的には、鍵配布装置１３０は、ｉ（ｉ＝１〜６）番目の分散情報保持装置へ、分散情報（ｄ＿ｉ、ｄ＿（ｉ＋１）、ｄ＿（ｉ−１））、証明書及び配布先リストＴ１００を配布する（ステップＳ２５〜ステップＳ３０）。また、鍵配布装置１３０は、配布先リストＴ１００のみを認証局装置１４０へ配布する（ステップＳ３１）。なお、ｉ＋１＝７の場合にはｉ＝１とし、ｉ−１＝０の場合にはｉ＝６とする。
【０１７２】
最後に、鍵消去部３０６を用いて、鍵ペア生成部３０１により生成した鍵と秘密鍵から分散された分散情報を消去する。
１．４．２  分散情報の生成処理について
ここでは、図９のステップＳ１０にて行われる分散情報の生成処理について、図１０にて示す流れ図を用いて説明する。
【０１７３】
秘密鍵分散部３０４は、乱数生成器を用いて、（ｋ−１）個（＝５個）の乱数を生成することにより、分散情報ｄ＿１、ｄ＿２、ｄ＿３、ｄ＿４、ｄ＿５を生成する（ステップＳ５０）。
秘密鍵分散部３０４は、
ｄ＿ｋ  ＝  ｄ  −  （ｄ＿１＋ｄ＿２＋ｄ＿３＋ｄ＿４＋ｄ＿５）
により、ｄ＿ｋ（＝ｄ＿６）を算出する（ステップＳ５５）。このとき、減算結果が負の数になる事もあるが、そのまま分散情報として扱う。
【０１７４】
１．４．３  配布処理
ここでは、図９のステップＳ２０にて行われる分散情報、証明書及び配布先リストＴ１００の配布処理について、図１１にて示す流れ図を用いて説明する。
分散情報配布部３０５は、繰返制御部３５５により、ｉ＝１から６までの間、ステップＳ１００からステップＳ１３０までを繰り返す。
【０１７５】
分散情報選択部３５２は、秘密鍵分散部３０４にて生成（分散）された分散情報（ｄ＿１、ｄ＿２、ｄ＿３、ｄ＿４、ｄ＿５、ｄ＿６）のうち、ｉ番目の分散情報ｄ＿ｉを選択する（ステップＳ１０５）。
装置選択部３５３は、装置情報リストＴ２００の内容に基づいて、ｉ番目の分散情報保持装置を選択する（ステップＳ１１０）。具体的には、装置選択部３５３は、ｉ番目の分散情報保持装置に対応する装置ＩＤを装置情報リストＴ２００から選択する。
【０１７６】
また、装置選択部３５３は、ｉ番目の分散情報保持装置の両側に位置する（ｉ−１）番目の分散情報保持装置及び（ｉ＋１）番目の分散情報保持装置を、装置情報リストＴ２００の内容に基づいて選択する（ステップＳ１１５）。具体的には、装置選択部３５３は、（ｉ−１）及び（ｉ＋１）番目の分散情報保持装置それぞれに対応する装置ＩＤ（ＩＤ＿（ｉ−１）、ＩＤ＿（ｉ＋１））を装置情報リストＴ２００から選択する。ここで、ｉ＋１＝７である場合には、装置選択部３５３は、１番目の分散情報保持装置を選択する。また、ｉ−１＝０である場合には、装置選択部３５３は、６番目の分散情報保持装置を選択する。
【０１７７】
装置選択部３５３は、ｉ番目の分散保持装置の装置ＩＤを自装置ＩＤとし、（ｉ＋１）番目の分散情報保持装置の装置ＩＤを第１他装置ＩＤとし、（ｉ−１）番目の分散情報保持装置の装置ＩＤを第２他装置ＩＤとして、配布先リストＴ１００に追加する（ステップＳ１２０）。
出力部３５４は、分散情報選択部３５２にて選択された分散情報ｄ＿ｉを、送信部３０７を介して、装置選択部３５３にて選択されたｉ、（ｉ−１）及び（ｉ＋１）番目の分散情報保持装置それぞれに出力する（ステップＳ１２５）。このとき、出力部３５４は、ｉ番目の分散情報保持装置に対しては、当該装置に割り当てられた分散情報として分散情報ｄ＿ｉを出力する。出力部３５４は、（ｉ＋１）番目の分散情報保持装置に対しては、第１他装置分散情報として分散情報ｄ＿ｉ（＝ｄ１＿ｉ）を出力する。出力部３５４は、（ｉ−１）番目の分散情報保持装置に対しては、第２他装置分散情報として分散情報ｄ＿ｉ（＝ｄ２＿ｉ）を出力する。
【０１７８】
出力部３５４は、全ての分散情報の配布が終了すると、装置選択部３５３にて生成された配布先リストＴ１００を、分散情報保持装置１２１〜１２６及び認証局装置１４０へ出力する（ステップＳ１３５）。
証明書配布部３０３は、証明書生成部３０２にて生成された証明書を、分散情報保持装置１２１〜１２６へ出力する（ステップＳ１４０）。
【０１７９】
１．４．４  検知処理
認証局装置１４０は、端末から証明書の発行依頼を受けて証明書を発行するために、秘密鍵格納部４０１に格納している秘密鍵を用いて署名を付けた証明書を端末証明書発行部４１２により生成し、端末へ送付する。また認証局装置１４０は保持する秘密鍵に対する公開鍵の証明書を認証局証明書格納部４１３に保持し、端末から認証局装置１４０に対する証明書の送信要求があった場合に送信する。
【０１８０】
認証局装置１４０の解析部４１７は、認証局システム１００が上記のような運用されている間、秘密鍵１４１が漏洩していないかを定期的に調べるために、外部装置（図示せず）との通信を行う。
１．４．５  解析・回復処理
解析部４１７は、検知処理において外部装置（図示せず）から秘密鍵漏洩の通知を受けると証明書の発行を停止し、自装置のログをチェックし漏洩原因を解析し、鍵の回復を行うか否かの判断を行う。
【０１８１】
解析と判断の結果、秘密鍵の更新の必要があると判断された場合には、鍵の回復を行う旨の回復指示を秘密鍵生成部４１４へ出力する。
秘密鍵生成部４１４は、解析部４１７から回復指示を受け取ると、鍵回復処理を開始する。
以降、鍵回復処理について、図１２にて示す流れ図を用いて説明する。
【０１８２】
秘密鍵生成部４１４は、解析部４１７から回復指示を受け取ると、第１要求を分散情報保持装置１２１〜１２６へ出力して、分散情報（ｄ＿１〜ｄ＿６）を収集する（ステップＳ２００）。
分散情報保持装置１２１〜１２６は、自装置が所有する分散情報を認証局装置１４０へ出力する（ステップＳ２０５〜Ｓ２１０）。具体的には、ｉ番目の分散情報保持装置は、分散情報“ｄ＿ｉ”を認証局装置１４０へ出力する。
【０１８３】
秘密鍵生成部４１４は、収集した各分散情報（ｄ＿１〜ｄ＿６）から値ｄ’（＝ｄ＿１＋ｄ＿２＋ｄ＿３＋ｄ＿４＋ｄ＿５＋ｄ＿６）を算出する（ステップＳ２１５）。
秘密鍵検証部４１５は、第２要求を分散情報保持装置１２１〜１２６へ出力して、分散情報保持装置１２１〜１２６それぞれから証明書を収集する（ステップＳ２２０）。
分散情報保持装置１２１〜１２６は、自装置が所有する証明書を認証局装置１４０へ出力する（ステップＳ２２５〜Ｓ２３０）。
【０１８４】
秘密鍵検証部４１５は、受信した証明書がすべて同じ証明書であることを確認して、算出された値ｄ’と証明書を用いて、秘密鍵生成部４１４で算出された値ｄ’が秘密鍵ｄと同一であるか否かを検証、つまり、秘密鍵生成部４１４にて算出した値ｄ’が、正しい「新しい秘密鍵」であるかどうかを検証する（ステップＳ２３５）。なお、受信した証明書がすべて同じ値ではなかった場合には、受信した証明書のうち、同じ証明書の数が一番多い証明書を正しい証明書として、秘密鍵検証部４１５は、値ｄ’の検証を行う。
【０１８５】
以下、図１２のステップＳ２３５にて行われる算出した値の検証処理（鍵検証処理）について、説明する。
（鍵検証処理）
ここでは、鍵検証処理について、図１３にて示す流れ図を用いて説明する。
秘密鍵検証部４１５は、算出された値ｄ’を用いて、証明書に含まれる公開鍵ＰＫに対する署名Ｓ’（＝Ｓｉｇ（ｄ’、ＰＫ））を生成する（ステップＳ２５０）。
【０１８６】
秘密鍵検証部４１５は、証明書に含まれる署名Ｓと一致するかを比較する（ステップＳ２５５）。
一致すると判断する場合には（ステップＳ２５５における「ＹＥＳ」）、秘密鍵検証部４１５は、秘密鍵生成部４１４にて算出した値ｄ’が正しい「新しい秘密鍵」であるとして、秘密鍵格納部４０１の秘密鍵を新しい秘密鍵、つまり値ｄ’で上書きして、格納する（ステップＳ２６０）。秘密鍵検証部４１５は、認証局証明書格納部４１３の証明書を検証に用いた証明書で上書きして、格納する（ステップＳ２６５）。
【０１８７】
一致しないと判断する場合には（ステップＳ２５５における「ＮＯ」）、不正装置特定部４１６による不正装置の検出処理が行われる（ステップＳ２７０）。
（不正装置の検出処理）
ここでは、図１３のステップＳ２７０にて行われる不正装置の検出処理について、図１４及び図１５にて示す流れ図を用いて説明する。
【０１８８】
不正装置特定部４１６の第１分類部４２１は、第３要求を分散情報保持装置１２１〜１２６へ出力して、分散情報保持装置１２１〜１２６それぞれから情報分散群を収集する（ステップＳ３００）。なお、このとき、不正装置特定部４１６は、分散情報保持装置１２１〜１２６それぞれから分散情報群を受信すると、受信した分散情報群に含まれる各情報に対して送信元識別情報を対応付ける。
【０１８９】
第１分類部４２１は、リスト格納部４０２にて格納されている配布先リストＴ１００の内容に基づいて、同一の値となるべき分散情報と、第１及び第２他装置分散情報とからなる複数のグループを生成する（ステップＳ３０５）。
第２分類部４２２は、生成した各グループにおいて、値が同一である情報毎にサブグループ化を行う（ステップＳ３１０）。
【０１９０】
組合生成部４２３は、各グループからサブグループを１つ選び出す組み合わせを全て生成する（ステップＳ３１５）。
検証部４２４は、１つの組み合わせを選択する（ステップＳ３２０）。
検証部４２４は、選択した１つの組み合わせに対して鍵候補値を生成し（ステップＳ３２５）、算出した鍵候補値が正当であるか否かを検証する（ステップＳ３３０）。なお、ステップＳ３３０における検証方法は、図１３にて示すステップＳ２５０及びＳ２５５と同様の動作により実現できる。
【０１９１】
検証部４２４の検証により鍵候補値が正当、つまり正しい秘密鍵であると判断される場合には（ステップＳ３３０における「ＹＥＳ」）、排除部４２５は、その時の組み合わせで選択されているサブグループに検証を通ったことを表す検証通過識別情報を対応付ける（ステップＳ３３５）。
検証部４２４は、次の組み合わせが存在するか否かを判断する（ステップＳ３４０）。
【０１９２】
次の組み合わせが存在すると判断する場合には（ステップＳ３４０における「ＹＥＳ」）、処理動作は、ステップＳ３２０へ戻る。
次の組み合わせが存在しないと判断する場合には（ステップＳ３４０における「ＮＯ」）、排除部４２５は、検証通過情報が対応付けられていないサブグループから不正な分散情報保持装置を特定する（ステップＳ３４５）。
【０１９３】
秘密鍵生成部４２６は、排除部４２５にて特定された不正な分散情報保持装置を除く残りの分散保持情報が有する分散情報それぞれを用いて正しい秘密鍵を生成する（ステップＳ３５０）。
秘密鍵生成部４２６は、秘密鍵格納部４０１の秘密鍵を生成した秘密鍵で上書きして、格納する（ステップＳ３５５）。秘密鍵生成部４２６は、認証局証明書格納部４１３の証明書を検証に用いた証明書で上書きして、格納する（ステップＳ３６０）。
【０１９４】
検証部４２４の検証により鍵候補値が正当でないと判断される場合には（ステップＳ３３０における「ＮＯ」）、処理動作は、ステップＳ３４０へ移行する。
（具体例）
不正装置特定部４１６で不正な分散情報保持装置を特定するために、各分散情報保持装置で所有している分散情報と他の装置と共通に持っている分散情報の両方の分散情報を利用する。不正な分散情報保持装置の特定方法の具定例を図１６、図１７を用いて説明する。
【０１９５】
ここでは、分散情報保持装置１２２が保持する分散情報、第１及び第２他装置分散情報が不正な値（ｆ＿２、ｆ１＿３、ｆ２＿１）に改竄されているものとする。
不正装置特定部４１６は、分散情報保持装置１２１〜１２６毎に、分散情報群５０１〜５０６を収集し、収集した各分散情報群５０１〜５０６それぞれに含まれる情報毎に、装置ＩＤを対応付ける。
【０１９６】
その結果を図１６にて示す。例えば、不正装置特定部４１６は、分散情報群５０１を、分散情報保持装置１２１から受信したので、その送信元を識別するために送信元識別情報として装置ＩＤ“ＩＤ＿１”が、分散情報２１１、２１２＿１、２１６＿１に対応付けられている。他の分散情報群に対しても同様に、各装置ＩＤが対応付けられている。
不正装置特定部４１６は、配布先リストＴ１００を用いて、同一の値となるべき３つの情報からなる６個のグループを生成する。例えば、分散情報“ｄ＿１”２１１は、第２他装置分散情報“ｆ２＿１”２１１＿２ａ、及び第１他装置分散情報“ｄ１＿１”２１１＿６と同一となるべきなので、分散情報“ｄ＿１”２１１、第２他装置分散情報“ｆ２＿１”２１１＿２ａ、及び第１他装置分散情報“ｄ１＿１”２１１＿６からなるグループ５１１を生成する。分散情報“ｄ＿２”２１２から分散情報“ｄ＿６”２１６に対しても、同様に、グループ５１２〜５１６を生成する。
【０１９７】
不正装置特定部４１６は、グループ５１１〜５１６それぞれに対して、同一の値である情報からなるサブグループを生成する。例えば、グループ５１１に対しては、第２他装置分散情報“ｆ２＿１”２１１＿２ａのみからなるサブグループ５１１＿１と、分散情報“ｄ＿１”２１１及び第１他装置分散情報“ｄ１＿１”２１１＿６からなるサブループ５１１＿２とが生成される。
【０１９８】
グループ５１１〜５１６の生成結果、及びグループ５１１〜５１６それぞれに対するサブグループの生成の結果を図１７に示す。
グループ５１１〜５１３は、分散情報保持装置１２２が不正な値を送信しているために、分散情報保持装置１２２から受信した分散情報２１２ａと他装置分散情報２１１＿２ａ、２１３＿２ａが、同一となるべき分散情報の値と異なるために、グループ５１１〜５１３のそれぞれに対しては、２つのサブグループに分割される。一方、グループ５１４〜５１６は、それぞれ３つの分散情報が同じ値になるために、それぞれのグループには、１つのサブグループのみ存在する。
【０１９９】
このグループ分割は、どの分散情報保持装置が不正な動作を行うかや、その不正な分散情報保持装置がどのように振る舞うかによって異なるものであり、必ずしも図１７に示されるようなグループ分割になるとは限らない。
グループ分割が終了すると、不正装置特定部４１６は、グループ１〜６の中からサブグループを１つずつ選び出す組み合わせのすべてを生成し、秘密鍵生成部４１４を用いてその組み合わせそれぞれに対して秘密鍵を生成し、秘密鍵検証部４１５を用いて正しい秘密鍵が生成できたかを検証する。
【０２００】
全ての組み合わせに対して検証を行った後、不正装置特定部４１６は、検証通過識別情報の付いているサブグループに含まれる分散情報を取り除く。ここで取り除かれずに残った分散情報が不正な値になっている分散情報である。そして、この分散情報に対応付けられた送信元識別情報から送信した分散情報保持装置を特定する。このように特定された分散情報保持装置が不正な分散情報を送信した不正な装置である。
【０２０１】
図１７においては、サブグループ５１１＿２と５１２＿２、５１３＿２、５１４＿１、５１５＿１、５１６＿１の組み合わせから正しい秘密鍵が生成されるので、それを取り除いた後に残されるサブグループ５１１＿１と５１２＿１、５１３＿１に含まれる分散情報が不正な分散情報であると判断できる。この不正な分散情報はすべて分散情報保持装置１２２から送信された分散情報であるので、分散情報保持装置１２２が不正な分散情報保持装置であると特定できる。
【０２０２】
上記の処理により、認証局装置１４０は不正な分散情報保持装置を特定し、その分散情報保持装置を除いて受信した分散情報だけを用いて「新しい秘密鍵」を回復し、認証局装置１４０としての機能を回復することが出来る。
ここで、上記の不正分散情報保持装置を特定する方法を用いると、例えば、分散情報保持装置１２２が分散情報２１２ａのみ不正な値を送信し、正しい第１及び第２他装置分散情報“ｄ１＿３”２１１＿２と“ｄ２＿１”２１１＿２を送信していた場合は、グループ５１２のみが、分散情報２１２ａのみからなるサブグループ５１２＿１と、分散情報２１２＿１及び分散情報２１２＿３からなるサブグループ５１２＿２とが生成され、他のグループは１つのサブグループのみとなるため、正しい「新しい秘密鍵」が生成されるサブグループの分散情報を取り除くと、分散情報２１２ａのみが残ることになる。従って、分散情報２１２ａを送信した分散情報保持装置１２２が不正な分散情報保持装置であると特定できる。上記構成を用いる場合、１つの分散情報を３つの分散情報保持装置で共通に持っているので、それらの共通の分散情報補を持つ３つの分散情報保持装置がすべて不正な動作をした時に、正しい「新しい秘密鍵」に回復できなくなる。
【０２０３】
また、上記のように、初期設計時に同じ値になるように配布された分散情報をまとめたグループをさらに、値が同じになるサブグループに分類することで、その後の組み合わせを生成するときに、サブグループに分類しないときと比較すると生成される組み合わせの数を減らすことが出来る。そのため、その組み合わせを用いた秘密鍵の生成や検証の処理回数を減らすことが出来る。
【０２０４】
なお、不正装置特定部４１６による特定方法は、上記に示した方法に限定するものではなく、例えば、１つの分散情報保持装置が保持する分散情報を除いた分散情報で「新しい秘密鍵」を生成することで、「新しい秘密鍵」が正しく回復できた時に分散情報を除かれていた分散情報保持装置が不正な分散情報保持装置であったと特定でき、同様に、２つの分散情報保持装置が保持が保持する分散情報を除いた分散情報で「新しい秘密鍵」を生成することで、２つ以下の分散情報保持装置が不正な場合を、特定することができる。
【０２０５】
１．４．６  次ラウンド準備処理の動作
認証局装置１４０が解析・回復処理を行い機能を回復した後、また秘密鍵が漏洩する場合に備えて、分散情報保持装置１２１〜１２６へ次の秘密鍵回復のための分散情報を埋め込む次ラウンド準備処理を行う必要がある。
次ラウンド準備処理としては、初期設計時と同様に、鍵配布装置１３０が鍵ペアの生成、秘密鍵から分散情報の生成、公開鍵に対する証明書の生成、分散情報と証明書の分散情報保持装置への配布の各処理を行う。
【０２０６】
この時、解析・回復処理で特定した不正な分散情報保持装置に対して、分散情報を配布しないようにすることで、不正な分散情報保持装置をシステムから除外してもよい。
なお、次ラウンド準備処理を初期設計時の鍵配布装置１３０が処理を行うとしたが、これに限定するものではなく、初期設計時とは別の鍵配布装置が処理を行うとしてもよい。また、初期設計時に複数の「新しい秘密鍵」から分散情報を生成し、それを分散情報保持装置へ配布しておく構成にし、次ラウンド準備の処理で分散情報の配布処理を行わない構成にしてもよい。この場合、分散情報を使用する順番を初期設計時に指定しておいてもよいし、初期設計時にはラウンド識別子を付加しておき、次ラウンド準備の処理で、次のラウンドではどのラウンド識別子が付加された分散情報を使用するかを指定するようにしてもよい。
【０２０７】
１．４．７  脱退処理の動作
ここでは、脱退処理について、図１８にて示す流れ図を用いて説明する。
この処理では、分散情報保持装置が不正な動作を行う可能性を考え、分散情報保持装置間で送信されるデータが正しいデータであるかを常に検証することで、不正な動作を行う分散情報保持装置が存在した場合に検知できるようにしている。さらに、各処理において、分散情報の値を更新する場合には、更新前の分散情報の値を退避しておき、脱退処理中に不正な動作を行う分散情報保持装置の存在を検知した場合には、脱退処理を中止し、分散情報の値を脱退処理前の値に戻すことで、分散情報が不正な値になることを防止する。
【０２０８】
また、当該処理では、脱退する分散情報保持装置が所有する分散情報と同じ分散情報を持つ分散情報保持装置が分散情報の生成及び配布を行うものとする。この様な処理にすることで、脱退する分散情報保持装置が脱退処理を行わなくても分散情報を更新することが可能となり、不正な動作を行う分散情報保持装置を無効化する処理などにも利用できる。
なお、脱退対象となる装置を分散情報保持装置１２１とし、部分情報の生成を分散情報保持装置１２６が行うものとして、以下説明する。
【０２０９】
認証局システム１００の分散情報保持装置１２６は、外部の装置（図示せず）から、脱退対象の分散情報保持装置１２１が有する分散情報“ｄ＿１”と同一の他装置分散情報から部分情報を生成する旨の脱退時の部分情報生成指示を受け取る。
分散情報保持装置１２６は、第１他装置分散情報“ｄ１＿１”から５つの分散情報を生成し、配布する処理を行う（ステップＳ４００）。言い換えると、分散情報保持装置１２６は、第１他装置分散情報“ｄ１＿１”を、５つの分散情報に分散（分解）する。
【０２１０】
分散情報保持装置１２６が有する第１他装置分散情報“ｄ１＿１”と同一の情報を持つべき装置である分散情報保持装置１２２は、部分情報に用いられた第１他装置分散情報“ｄ１＿１”の検証を行う（ステップＳ４０５）。
分散情報保持装置１２２〜１２６は、脱退時における第１及び第２更新処理を行い、それぞれが保持する分散情報、第１及び第２他装置分散情報を更新する（ステップＳ４１０、Ｓ４１５）。
【０２１１】
分散情報保持装置１２２〜１２６は、更新が正常に行われたか否かを判断する（ステップＳ４２０）。このとき、分散情報保持装置１２２〜１２５は、判断結果を部分情報送信元である分散情報保持装置１２６へ通知する。具体的には、分散情報を共通に持っている分散情報保持装置同士で、分散情報検証部２６２＿ｊ及び他装置分散情報検証部２６３＿ｊを用いて、互いに持っている分散情報が同じ値に更新されたかを、セキュリティの確保された通信路で分散情報を送りあい、受信した分散情報と各自が保持していた分散情報が同じ値かどうかを検証する。分散情報保持装置１２２〜１２５は、検証結果を分散情報保持装置１２６へ通知し、分散情報保持装置１２６は、検証結果を一時的に保持する。
【０２１２】
全ての装置にて更新が正常に行われた場合には（ステップＳ４２０における「ＹＥＳ」）、分散情報保持装置１２６は、配布先リストＴ１００を更新する。分散情報保持装置１２６は、更新後の配布先リストをリスト格納部２５４＿６へ格納するとともに、分散情報保持装置１２２〜１２５及び認証局装置１４０へ送信する。分散情報保持装置１２２〜１２５及び認証局装置１４０は、現在格納している配布先リストから更新後の配布先リストへと更新する（ステップＳ４２５）。
【０２１３】
全ての装置にて更新が正常に行われていない場合には（ステップＳ４２０における「ＮＯ」）、分散情報保持装置１２６は、分散情報保持装置１２２〜１２５へその旨を通知する。分散情報保持装置１２６、及び通知を受けた分散情報保持装置１２２〜１２５は、脱退処理を中止し、自装置の分散情報の値を脱退処理の前に戻し、処理を終了する。
なお、セキュリティの確保された通信路で分散情報を送りあい、受信した分散情報と同じ値かどうかを検証するとしたが、これに限定するものではなく、ゼロ知識証明などの暗号プロトコルを使用して検証してもよい。ゼロ知識証明については、非特許文献１の１３２〜１５０ページに、暗号プロトコルについては、非特許文献１の２２４〜２２５ページに詳しく説明されている。
【０２１４】
以下、ステップＳ４００からＳ４１５にて行われる各処理について説明する。
（部分情報の生成処理）
ここでは、図１８のステップＳ４００にて示す部分情報の生成処理について、図１９にて示す流れ図を用いて説明する。
分散情報保持装置１２６の分散情報分割部２６１＿６は、第１他装置分散情報“ｄ１＿１”２１１＿６から５つの部分情報（ｄ＿１＿１〜ｄ＿１＿５）を生成する（ステップＳ４５０）。このとき、各部分情報は、次式を満たすものとする。
【０２１５】
（式）  ｄ１＿１＝ｄ＿１＿１＋ｄ＿１＿２＋ｄ＿１＿３＋ｄ＿１＿４＋ｄ＿１＿５  ｍｏｄ  Ｌ  
具体的には、分散情報分割部２６１＿６は、乱数生成器を用いて、（ｋ−２）個（＝４個）の乱数を生成することにより、部分情報（ｄ＿１＿１〜ｄ＿１＿４）を生成する。次に、分散情報分割部２６１＿６は、
ｄ＿１＿５  ＝  ｄ１＿１  −  （ｄ＿１＿１＋ｄ＿１＿２＋ｄ＿1＿３＋ｄ＿１＿４）
により、ｄ＿１＿５を算出する。このとき、減算結果が負の数になる事もあるが、そのまま部分情報として扱う。
【０２１６】
分散情報分割部２６１＿６は、脱退対象の装置（ここでは、分散情報保持装置１２１）が保持する分散情報“ｄ＿１”及びこの情報と同一の値となるべき情報“ｄ１＿１”及び“ｄ２＿１”を除く残りの分散情報に対して、同一となるべき分散情報毎に、異なる部分情報を割り当てる。具体的には、部分情報ｄ＿１＿ｉを分散情報ｄ＿（ｉ＋１）に割り当てる。
【０２１７】
分散情報分割部２６１＿６は、配布先リストＴ１００の内容に基づいて、配布先の分散情報保持装置毎に、２つ若しくは３つの部分情報を配布する（ステップＳ４５５）。なお、自装置へは２つの部分情報が配布されるが、この場合、分散情報分割部２６１＿ｊは、分散情報更新部２６０＿ｊへ出力する。
具体的には、分散情報分割部２６１＿６は、以下のように各部分情報を配布する。
【０２１８】
分散情報分割部２６１＿６は、部分情報ｄ＿１＿１、ｄ＿１＿２を分散情報保持装置１２２へ送信する（ステップＳ４６０）。分散情報分割部２６１＿６は、部分情報ｄ＿１＿１、ｄ＿１＿２、ｄ＿１＿３を分散情報保持装置１２３へ送信する（ステップＳ４６１）。分散情報分割部２６１＿６は、部分情報ｄ＿１＿２、ｄ＿１＿３、ｄ＿１＿４を分散情報保持装置１２４へ送信する（ステップＳ４６２）。分散情報分割部２６１＿６は、部分情報ｄ＿１＿３、ｄ＿１＿４、ｄ＿１＿５を分散情報保持装置１２５へ送信する（ステップＳ４６３）。分散情報分割部２６１＿６は、部分情報ｄ＿１＿４、ｄ＿１＿５を分散情報更新部２６０＿６へ出力し、一時的に記憶する。ｉ番目の分散情報保持装置は、受信した各部分情報を分散情報更新部２６０＿ｊに一時的に格納する。
【０２１９】
（分散情報の検証処理）
ここでは、図１８のステップＳ４０５にて示す分散情報の検証処理について、図２０にて示す流れ図を用いて説明する。
分散情報２１１＿６が正当な値であることを検証するために分散情報保持装置１２２が保持する第２他装置分散情報２１１＿２を利用する。
【０２２０】
部分情報検証部２６４＿２は、分散情報保持装置１２６から部分情報検証指示を、受信部２５７＿ｊを介して受け取ると、分散情報保持装置１２１を除く残りの装置１２３、１２４、１２５及び１２６それぞれから部分情報ｄ＿１＿２、ｄ＿１＿３、ｄ＿１＿４、ｄ＿１＿５を収集する（ステップＳ４７０）。
具体的には、ｉ番目（ｉ＝３〜６）の分散情報保持装置は部分情報ｄ＿１＿（ｉ−１）を分散情報保持装置１２２へ出力する（ステップＳ４７１〜Ｓ４７４）。
【０２２１】
部分情報検証部２６４＿２は、分散情報更新部２６０＿ｊにて記憶しているｄ＿１＿１と、受信した各部分情報ｄ＿１＿２、ｄ＿１＿３、ｄ＿１＿４、ｄ＿１＿５とを加算し、値ｓ’を算出し、算出した値ｓ’が正当であるか否かを検証する（ステップＳ４８０）。具体的には、部分情報検証部２６４＿２は、算出した値ｓ’と、他装置分散情報格納部２５２＿ｊに格納されている第２他装置分散情報“ｄ２＿１”とが一致するか否かを判断する。
【０２２２】
部分情報検証部２６４＿２は、検証結果を各分散情報保持装置１２３〜１２６へ通知する（ステップＳ４８５）。具体的には、部分情報検証部２６４＿２は、検証結果により、値ｓ’が第２他装置分散情報“ｄ２＿１”と同一であると判断する場合には、同一である旨の検証結果を各分散情報保持装置１２３〜１２６へ出力する。同一でないと判断する場合には、部分情報検証部２６４＿２は、同一でない旨の検証結果を各分散情報保持装置１２３〜１２６へ出力する。なお、当該装置に対しては、検証結果を分散情報更新部２６０＿ｊへ出力する。
【０２２３】
（脱退時の第１更新処理）
ここでは、図１８のステップＳ４１０にて示す脱退時の第１更新処理について、図２１及び図２２にて示す流れ図を用いて説明する。
分散情報保持装置１２２の分散情報更新部２６０＿２は、部分情報検証部２６４＿２にて行われた検証の結果により、分散情報保持装置１２６の第１他装置分散情報“ｄ１＿１”が正当であるか否かを判断する（ステップＳ５００）。正当であると判断する場合には（ステップＳ５００における「ＹＥＳ」）、分散情報更新部２６０＿２は、一時的に記憶している部分情報“ｄ＿１＿１”を用いて分散情報“ｄ＿２”を更新する（ステップＳ５０５）。具体的には、分散情報更新部２６０＿２は、分散情報“ｄ＿２”に部分情報“ｄ＿１＿１”を加算することにより、新たな分散情報“ｄ＿２’（＝ｄ＿２＋ｄ＿１＿１）”を算出する。次に、分散情報更新部２６０＿２は、一時的に記憶している部分情報“ｄ＿１＿２”を用いて第１他装置分散情報“ｄ１＿３”を更新する（ステップＳ５１０）。具体的には、分散情報更新部２６０＿２は、第１他装置分散情報“ｄ１＿３”に部分情報“ｄ＿１＿２”を加算することにより、新たな分散情報“ｄ１＿３’（＝ｄ１＿３＋ｄ＿１＿２）”を算出する。
【０２２４】
分散情報保持装置１２３の分散情報更新部２６０＿３は、分散情報保持装置１２２から受け取った検証結果により、分散情報保持装置１２６の第１他装置分散情報“ｄ１＿１”が正当であるか否かを判断する（ステップＳ５２０）。正当であると判断する場合には（ステップＳ５２０における「ＹＥＳ」）、分散情報更新部２６０＿３は、一時的に記憶している部分情報“ｄ＿１＿２”を用いて分散情報“ｄ＿３”を更新する（ステップＳ５２５）。具体的には、分散情報更新部２６０＿３は、分散情報“ｄ＿３”に部分情報“ｄ＿１＿２”を加算することにより、新たな分散情報“ｄ＿３’（＝ｄ＿３＋ｄ＿１＿２）”を算出する。次に、分散情報更新部２６０＿３は、一時的に記憶している部分情報“ｄ＿１＿３”、及び“ｄ＿１＿１”を用いて第１及び他装置分散情報“ｄ１＿４”、“ｄ２＿２”を更新する（ステップＳ５３０）。具体的には、分散情報更新部２６０＿３は、第１他装置分散情報“ｄ１＿４”に部分情報“ｄ＿１＿３”を加算することにより、新たな分散情報“ｄ１＿４’（＝ｄ１＿４＋ｄ＿１＿３）”を算出する。分散情報更新部２６０＿３は、第２他装置分散情報“ｄ２＿２”に部分情報“ｄ＿１＿１”を加算することにより、新たな分散情報“ｄ２＿３’（＝ｄ２＿２＋ｄ＿１＿１）”を算出する。
【０２２５】
分散情報保持装置１２４の分散情報更新部２６０＿４は、分散情報保持装置１２２から受け取った検証結果により、分散情報保持装置１２６の第１他装置分散情報“ｄ１＿１”が正当であるか否かを判断する（ステップＳ５４０）。正当であると判断する場合には（ステップＳ５４０における「ＹＥＳ」）、分散情報更新部２６０＿４は、一時的に記憶している部分情報“ｄ＿１＿３”を用いて分散情報“ｄ＿４”を更新する（ステップＳ５４５）。具体的には、分散情報更新部２６０＿４は、分散情報“ｄ＿４”に部分情報“ｄ＿１＿３”を加算することにより、新たな分散情報“ｄ＿４’（＝ｄ＿４＋ｄ＿１＿３）”を算出する。次に、分散情報更新部２６０＿４は、一時的に記憶している部分情報“ｄ＿１＿４”、及び“ｄ＿１＿２”を用いて第１及び他装置分散情報“ｄ１＿５”、“ｄ２＿３”を更新する（ステップＳ５５０）。具体的には、分散情報更新部２６０＿４は、第１他装置分散情報“ｄ１＿５”に部分情報“ｄ＿１＿４”を加算することにより、新たな分散情報“ｄ１＿５’（＝ｄ１＿５＋ｄ＿１＿４）”を算出する。分散情報更新部２６０＿４は、第２他装置分散情報“ｄ２＿３”に部分情報“ｄ＿１＿２”を加算することにより、新たな分散情報“ｄ２＿３’（＝ｄ２＿３＋ｄ＿１＿２）”を算出する。
【０２２６】
分散情報保持装置１２５の分散情報更新部２６０＿５は、分散情報保持装置１２２から受け取った検証結果により、分散情報保持装置１２６の第１他装置分散情報“ｄ１＿１”が正当であるか否かを判断する（ステップＳ５６０）。正当であると判断する場合には（ステップＳ５６０における「ＹＥＳ」）、分散情報更新部２６０＿５は、一時的に記憶している部分情報“ｄ＿１＿４”を用いて分散情報“ｄ＿５”を更新する（ステップＳ５６５）。具体的には、分散情報更新部２６０＿５は、分散情報“ｄ＿５”に部分情報“ｄ＿１＿４”を加算することにより、新たな分散情報“ｄ＿５’（＝ｄ＿５＋ｄ＿１＿４）”を算出する。次に、分散情報更新部２６０＿５は、一時的に記憶している部分情報“ｄ＿１＿５”、及び“ｄ＿１＿３”を用いて第１及び他装置分散情報“ｄ１＿６”、“ｄ２＿４”を更新する（ステップＳ５７０）。具体的には、分散情報更新部２６０＿５は、第１他装置分散情報“ｄ１＿６”に部分情報“ｄ＿１＿５”を加算することにより、新たな分散情報“ｄ１＿６’（＝ｄ１＿６＋ｄ＿１＿５）”を算出する。分散情報更新部２６０＿５は、第２他装置分散情報“ｄ２＿４”に部分情報“ｄ＿１＿３”を加算することにより、新たな分散情報“ｄ２＿４’（＝ｄ２＿４＋ｄ＿１＿３）”を算出する。
【０２２７】
分散情報保持装置１２６の分散情報更新部２６０＿６は、分散情報保持装置１２２から受け取った検証結果により、当該装置の第１他装置分散情報“ｄ１＿１”が正当であるか否かを判断する（ステップＳ５８０）。正当であると判断する場合には（ステップＳ５８０における「ＹＥＳ」）、分散情報更新部２６０＿６は、一時的に記憶している部分情報“ｄ＿１＿５”を用いて分散情報“ｄ＿６”を更新する（ステップＳ５８５）。具体的には、分散情報更新部２６０＿６は、分散情報“ｄ＿６”に部分情報“ｄ＿１＿５”を加算することにより、新たな分散情報“ｄ＿６’（＝ｄ＿６＋ｄ＿１＿５）”を算出する。次に、分散情報更新部２６０＿６は、一時的に記憶している部分情報“ｄ＿１＿４”を用いて第２他装置分散情報“ｄ２＿５”を更新する（ステップＳ５９０）。具体的には、分散情報更新部２６０＿６は、第２他装置分散情報“ｄ２＿５”に部分情報“ｄ＿１＿４”を加算することにより、新たな分散情報“ｄ２＿５’（＝ｄ２＿５＋ｄ＿１＿４）”を算出する。
【０２２８】
各分散情報保持装置１２２〜１２６において、第１他装置分散情報“ｄ１＿１”が正当でないと判断する場合には（ステップＳ５００、Ｓ５２０、Ｓ５４０、Ｓ５６０及びＳ５８０における「ＮＯ」）、検証の結果が一致しないと通知を受け取った場合には、分散情報保持装置１２２か１２６が不正な動作を行っているので、各分散情報保持装置は、脱退処理を中止する。
【０２２９】
（脱退時の第２更新処理）
ここでは、図１８のステップＳ４１５にて示す脱退時の第２更新処理について、図２３にて示す流れ図を用いて説明する。
分散情報保持装置１２６の分散情報更新部２６０＿６は、分散情報“ｄ＿６’”を分散情報保持装置１２２へ出力する（ステップＳ６００）。
【０２３０】
分散情報保持装置１２２の分散情報更新部２６０＿２は、分散情報“ｄ＿２’”を分散情報保持装置１２６へ出力する（ステップＳ６０５）。
分散情報更新部２６０＿６は、分散情報“ｄ＿２’”及び“ｄ２＿２’”を収集する（ステップＳ６１０）。このとき、分散情報保持装置１２３の分散情報更新部２６０＿３は分散情報“ｄ２＿２’”を送信する（ステップＳ６１１）。
【０２３１】
分散情報更新部２６０＿２は、分散情報“ｄ＿６’”及び“ｄ２＿６’”を収集する（ステップＳ６１５）。このとき、分散情報保持装置１２３の分散情報更新部２６０＿３は分散情報“ｄ２＿２’”を送信する（ステップＳ６１６）。
分散情報更新部２６０＿６は、収集した分散情報“ｄ＿２’”及び“ｄ２＿２’”が一致するか否かを判断する（ステップＳ６２０）。一致すると判断する場合には（ステップＳ６２０における「ＹＥＳ」）、分散情報更新部２６０＿６は、第１他装置分散情報を“ｄ＿２’”とする（ステップＳ６２５）。
【０２３２】
分散情報更新部２６０＿２は、収集した分散情報“ｄ＿６’”及び“ｄ２＿６’”が一致するか否かを判断する（ステップＳ６３０）。一致すると判断する場合には（ステップＳ６３０における「ＹＥＳ」）、分散情報更新部２６０＿２は、第２他装置分散情報を“ｄ＿６’”とする（ステップＳ６３５）。
分散情報更新部２６０＿６は、一致しないと判断する場合には（ステップＳ６２０における「ＮＯ」）、分散情報保持装置１２６は、分散情報保持装置１２２〜１２５へその旨を通知する。分散情報保持装置１２６、及び通知を受けた分散情報保持装置１２２〜１２５は、脱退処理を中止し、自装置の分散情報の値を脱退処理の前に戻し、処理を終了する。
【０２３３】
分散情報更新部２６０＿２は、一致しないと判断する場合には（ステップＳ６３０における「ＮＯ」）、分散情報保持装置１２２は、分散情報保持装置１２３〜１２６へその旨を通知する。分散情報保持装置１２２、及び通知を受けた分散情報保持装置１２３〜１２６は、脱退処理を中止し、自装置の分散情報の値を脱退処理の前に戻し、処理を終了する。
【０２３４】
（具体例）
脱退処理後の分散情報保持装置１２２〜１２６のそれぞれが保持する分散情報、第１及び第２他装置分散情報を、図２４にて示す。
例えば、分散情報保持装置１２２は、脱退処理後において、更新後の分散情報“ｄ＿２’”２１２ｂ、第１他装置分散情報“ｄ１＿３’”２１３＿２ｂ及び第２他装置分散情報“ｄ２＿６’”２１１＿２ｂを保持している。
【０２３５】
ここで、更新後の各分散情報“ｄ＿２’”〜“ｄ＿６’”により、秘密鍵“ｄ”が回復されることを以下に示す。
ｄ＿２’＋ｄ＿３’＋ｄ＿４’＋ｄ＿５’＋ｄ＿６’
＝  （ｄ＿２＋ｄ＿１＿１）＋（ｄ＿３＋ｄ＿１＿２）＋（ｄ＿４＋ｄ＿１＿３）
＋（ｄ＿５＋ｄ＿１＿４）＋（ｄ＿６＋ｄ＿１＿５）
＝  （ｄ＿１＿１＋ｄ＿１＿２＋ｄ＿１＿３＋ｄ＿１＿４＋ｄ＿１＿５）
＋（ｄ＿２＋ｄ＿３＋ｄ＿４＋ｄ＿５＋ｄ＿６）
＝  ｄ＿１＋ｄ＿２＋ｄ＿３＋ｄ＿４＋ｄ＿５＋ｄ＿６
＝  ｄ
このように、分散情報保持装置１２１が脱退後も、それぞれの分散情報保持装置が保持する分散情報の総和を一定とすることが可能となるため、脱退処理時において、認証局システム１００は、新しい秘密鍵“ｄ”を復元し分散情報を再生成することなく、分散情報保持装置を脱退させることが可能となる。
【０２３６】
１．４．８  追加処理の動作
ここでは、追加処理について、図２５にて示す流れ図を用いて説明する。
追加処理では、分散情報保持装置が不正な動作を行う可能性を考え、分散情報保持装置間で送信されるデータが正しいデータであるかを常に検証することで、不正な動作を行う分散情報保持装置が存在した場合に検知できるようにしている。さらに、追加処理では、分散情報の値を更新する場合には、更新前の分散情報の値を退避しておき、追加処理中に不正な動作を行う分散情報保持装置の存在を検知した場合には、追加処理を中止し、分散情報の値を追加処理前の値に戻すことで、分散情報が不正な値になることを防止する。
【０２３７】
ここでは、複数の分散情報保持装置から変形情報を追加する分散情報保持装置へ送信し、追加する分散情報保持装置の分散情報を生成することで、追加する分散情報保持装置に変形情報を送信する分散情報保持装置が不正な動作を行い、「新しい秘密鍵」が正しく生成できないように、不正な変形情報を送信するような行為を防止している。また、分散情報を正しく更新しなかったりするような行為を防止する。また、各分散情報保持装置は分散情報が正しく更新されたかを、同じ分散情報を共通に持っている分散情報保持装置同士で確認することで、不正な分散情報保持装置による不正な更新を防止している。
【０２３８】
また、追加する分散情報保持装置へ変形情報を送信した分散情報保持装置が、追加する分散情報保持装置の分散情報を共通に持つ構成の場合、元々保持していた分散情報と追加する分散情報保持装置の分散情報と追加する分散情報保持装置へ送信した変形情報から、本来保持していない分散情報を計算することが可能になる。そのため、分散情報保持装置の追加処理の最後に、変形情報を送信した分散情報保持装置の所有する分散情報から上記とは異なる値の変形情報を切り出し、その変形情報を分割して各分散情報保持装置へ送信することで、分散情報の値を更新する処理が必要になる。より詳細な説明は後述する。
【０２３９】
なお、追加対象となる装置を分散情報保持装置１２７とし、変形情報の生成を分散情報保持装置１２１、及び１２６が行うものとして、以下説明する。
分散情報保持装置１２１、及び１２６が、変形情報を生成し、各分散情報保持装置へ配布する配布処理を行う（ステップＳ７００）。
追加対象の分散情報保持装置１２７及び、分散情報保持装置１２７と同一の分散情報を保持する分散情報保持装置１２１、及び１２とが分散情報を生成する分散情報の生成処理を行う（ステップＳ７０５）。
【０２４０】
分散情報保持装置１２７が、第１及び第２他装置分散情報を格納する他装置分散情報の格納処理を行う（ステップＳ７１０）。
分散情報保持装置１２１、１２２、１２５〜１２７は、更新が正常に行われたか否かを判断する（ステップＳ７１５）。分散情報保持装置１２１、１２２、１２５及び１２６は、検証結果を分散情報保持装置１２７へ通知し、分散情報保持装置１２７は、検証結果を一時的に保持する。
【０２４１】
更新対象の全ての装置において正常に更新がされたと判断する場合には（ステップＳ７１５における「ＹＥＳ」）、分散情報保持装置１２７の分散情報更新部２６０＿７は、分散情報保持装置１２１及び１２６から証明書を収集する（ステップＳ７２０）。
分散情報更新部２６０＿７は、分散情報保持装置１２１及び１２６から収集した証明書が正当であるか否かを判断する（ステップＳ７２５）。具体的には、分散情報更新部２６０＿７は、収集した２つの証明書が同一であるか否かを判断する。
【０２４２】
同一であると判断する場合には（ステップＳ７２５における「ＹＥＳ」）、分散情報更新部２６０＿７は、証明書を認証子格納部２５３＿７へ格納する（ステップＳ７３０）。分散情報更新部２６０＿７は、証明書の格納後、追加時の第１分割処理の開始を示す旨の指示を分散情報保持装置１２１へ出力する。
次に、分散情報保持装置１２１が、自身が保持する分散情報から７つの部分情報を生成し、生成した各部分情報を各分散情報保持装置へ配布する追加時の第１分割処理を行う（ステップＳ７３５）。
【０２４３】
分散情報保持装置１２１〜１２７は、配布された部分情報を用いて分散情報を更新する追加時の第１更新処理を行う（ステップＳ７４０）。
分散情報保持装置１２１〜１２７は、更新が正常に行われたか否かを判断する（ステップＳ７４５）。このとき、分散情報保持装置１２２〜１２７は、判断結果を部分情報送信元である分散情報保持装置１２１へ通知する。具体的には、分散情報を共通に持っている分散情報保持装置同士で、分散情報検証部２６２＿ｊ及び他装置分散情報検証部２６３＿ｊを用いて、互いに持っている分散情報が同じ値に更新されたかを、セキュリティの確保された通信路で分散情報を送りあい、受信した分散情報と各自が保持していた分散情報が同じ値かどうかを検証する。分散情報保持装置１２２〜１２７は、検証結果を分散情報保持装置１２１へ通知し、分散情報保持装置１２１は、検証結果を一時的に保持する。
【０２４４】
全ての装置にて更新が正常に行われた場合には（ステップＳ７４５における「ＹＥＳ」）、分散情報保持装置１２１は、分散情報保持装置１２６へ追加時の第２分割処理を行う旨の分割指示を送信する。分散情報保持装置１２６は分割指示を受け取ると、自身が保持する分散情報から７つの部分情報を生成し、生成した各部分情報を各分散情報保持装置へ配布する追加時の第２分割処理を行う（ステップＳ７５０）。
【０２４５】
分散情報保持装置１２１〜１２７は、配布された部分情報を用いて分散情報を更新する追加時の第２更新処理を行う（ステップＳ７５５）。
分散情報保持装置１２１〜１２７は、更新が正常に行われたか否かを判断する（ステップＳ７６０）。分散情報保持装置１２１〜１２５及び１２７は、検証結果を分散情報保持装置１２６へ通知し、分散情報保持装置１２６は、検証結果を一時的に保持する。
【０２４６】
全ての装置にて更新が正常に行われた場合には（ステップＳ７６０における「ＹＥＳ」）、分散情報保持装置１２６は、配布先リストＴ１００を更新する。分散情報保持装置１２６は、更新後の配布先リストをリスト格納部２５４＿６へ格納するとともに、分散情報保持装置１２１〜１２５、１２７及び認証局装置１４０へ送信する。分散情報保持装置１２１〜１２５、１２７及び認証局装置１４０は、現在格納している配布先リストから更新後の配布先リストへと更新する（ステップＳ７６５）。
【０２４７】
更新対象の装置にて更新が正常に行われていないと判断する場合には（ステップＳ７１５における「ＮＯ」）、及び証明書が正当でないと判断する場合には（ステップＳ７２５における「ＮＯ」）、分散情報保持装置１２７は、更新対象の各分散情報保持装置１２１、１２２、１２５及び１２６へその旨を通知する。更新対象の各分散情報保持装置は、追加理を中止し、自装置の分散情報の値を追加処理の前に戻し、処理を終了する。
【０２４８】
全ての装置にて更新が正常に行われていない場合には（ステップＳ７４５における「ＮＯ」）、分散情報保持装置１２１は、分散情報保持装置１２２〜１２７へその旨を通知する。分散情報保持装置１２１〜１２７は、追加処理を中止し、自装置の分散情報の値を追加処理の前に戻し、処理を終了する。
また、ステップＳ７６０における「ＮＯ」の場合も同様に、分散情報保持装置１２１〜１２７は、脱退処理を中止し、自装置の分散情報の値を脱退処理の前に戻し、処理を終了する。
【０２４９】
なお、セキュリティの確保された通信路で分散情報を送りあい、受信した分散情報と同じ値かどうかを検証するとしたが、これに限定するものではなく、ゼロ知識証明などの暗号プロトコルを使用して検証してもよい。ゼロ知識証明については、非特許文献１の１３２〜１５０ページに、暗号プロトコルについては、非特許文献１の２２４〜２２５ページに詳しく説明されている。
【０２５０】
以下、追加処理の詳細について説明する。
（配布処理）
ここでは、図２５のステップＳ７００にて示す部分情報の生成処理について、図２６にて示す流れ図を用いて説明する。
分散情報保持装置１２６の変形情報生成部２６５＿６は、外部装置から追加時の分散情報生成指示を受け取ると、変形情報ｎを生成する（ステップＳ８００）。
【０２５１】
分散情報保持装置１２１の変形情報生成部２６５＿１は、外部装置から追加時の分散情報生成指示を受け取ると、変形情報ｍを生成する（ステップＳ８０５）。
変形情報生成部２６５＿６は、生成した変形情報ｎを分散情報保持装置１２１、１２５及び１２７へ出力する（ステップＳ８１０）。
変形情報生成部２６５＿１は、生成した変形情報ｍを分散情報保持装置１２２、１２６、及び１２７へ出力する（ステップＳ８１５）。
【０２５２】
分散情報保持装置１２６の分散情報更新部２６０＿６は、変形情報ｍを受け取ると、受け取った変形情報ｍを一時的に格納する（ステップＳ８２０）。
分散情報保持装置１２１の分散情報更新部２６０＿１は、変形情報ｎを受け取ると、受け取った変形情報ｎを一時的に格納する（ステップＳ８２５）。
分散情報更新部２６０＿６は、生成した変形情報ｎを用いて、新たな分散情報“ｄ＿６’（＝ｄ＿６−ｎ）”を生成し、分散情報格納部２５１＿６に格納されている分散情報“ｄ＿６“を“ｄ＿６’”へと更新する（ステップＳ８３０）。
【０２５３】
分散情報更新部２６０＿１は、生成した変形情報ｍを用いて、新たな分散情報“ｄ＿１’（＝ｄ＿１−ｍ）”を生成し、分散情報格納部２５１＿１に格納されている分散情報“ｄ＿１”を“ｄ＿１’”へと更新する（ステップＳ８３５）。
分散情報保持装置１２５の分散情報更新部２６０＿５は、変形情報ｎを受け取ると、受け取った変形情報ｎを用いて新たな第１他装置分散情報“ｄ１＿６’（＝ｄ１＿６−ｎ）”を生成し、他装置分散情報格納部２５２＿５に格納されている第１他装置分散情報“ｄ１＿６”を“ｄ１＿６’”へと更新する（ステップＳ８４０）。
【０２５４】
分散情報保持装置１２７の分散情報更新部２６０＿７は、変形情報ｎ及びｍを受け取ると、受け取った変形情報ｎ及びｍを一時的に格納する（ステップＳ８４５）。
分散情報保持装置１２２の分散情報更新部２６０＿２は、変形情報ｍを受け取ると、受け取った変形情報ｍを用いて新たな第２他装置分散情報“ｄ２＿１’（＝ｄ２＿１−ｍ）”を生成し、他装置分散情報格納部２５２＿２に格納されている第２他装置分散情報“ｄ２＿１”を“ｄ２＿１’”へと更新する（ステップＳ８５０）。
【０２５５】
（分散情報の生成処理）
ここでは、図２５のステップＳ７０５にて示す分散情報の生成処理について、図２７にて示す流れ図を用いて説明する。
分散情報更新部２６０＿６は、変形情報ｎ及びｍを用いて他装置分散情報“ｄ１＿７＝（ｍ＋ｎ）”を生成する（ステップＳ８６０）。分散情報更新部２６０＿６は、他装置分散情報格納部２５２＿６に格納されている第１他装置分散情報“ｄ１＿１”を“ｄ１＿７”へと更新（置換）する（ステップＳ８６５）。
【０２５６】
分散情報更新部２６０＿７は、変形情報ｎ及びｍを用いて分散情報“ｄ＿７＝（ｍ＋ｎ）”を生成する（ステップＳ８７０）。分散情報更新部２６０＿７は、分散情報格納部２５１＿７に生成した分散情報“ｄ＿７”を格納する（ステップＳ８７５）。
分散情報更新部２６０＿１は、変形情報ｎ及びｍを用いて他装置分散情報“ｄ２＿７＝（ｍ＋ｎ）”を生成する（ステップＳ８８０）。分散情報更新部２６０＿１は、他装置分散情報格納部２５２＿１に格納されている第２他装置分散情報“ｄ２＿１”を“ｄ２＿７”へと更新（置換）する（ステップＳ８８５）。
【０２５７】
（他装置分散情報の格納処理）
ここでは、図２５のステップＳ７１０にて示す他装置分散情報の格納処理について、図２８にて示す流れ図を用いて説明する。
分散情報保持装置１２７の分散情報更新部２６０＿７は、分散情報保持装置１２１へ分散情報要求指示を、分散情報保持装置１２２へ第２他装置分散情報要求指示を、それぞれ出力し、分散情報“ｄ＿１’”及び“ｄ２＿１’”を収集する（ステップＳ９００）。このとき、分散情報要求指示を受け付けた分散情報保持装置１２１の取得部２６７＿１は、分散情報“ｄ＿１’”を取得して、分散情報保持装置１２７へ出力する（ステップＳ９０１）。また、第２他装置分散情報要求指示を受け付けた分散情報保持装置１２２の取得部２６７＿２は、分散情報“ｄ２＿１’”を取得して、分散情報保持装置１２７へ出力する（ステップＳ９０２）。
【０２５８】
分散情報更新部２６０＿７は、収集した分散情報“ｄ＿１’”と“ｄ２＿１’”とが同一の値であるか否かを判断する（ステップＳ９０５）。
同一であると判断する場合には（ステップＳ９０５における「ＹＥＳ」）、分散情報更新部２６０＿７は、収集した分散情報“ｄ＿１’”を第１他装置分散情報として他装置分散情報格納部２５２＿７へ格納する（ステップＳ９１０）。
【０２５９】
分散情報更新部２６０＿７は、分散情報保持装置１２６へ分散情報要求指示を、分散情報保持装置１２５へ第１他装置分散情報要求指示を、それぞれ出力し、分散情報“ｄ＿６’”及び“ｄ１＿６’”を収集する（ステップＳ９１５）。このとき、分散情報要求指示を受け付けた分散情報保持装置１２６の取得部２６７＿６は、分散情報“ｄ＿６’”を取得して、分散情報保持装置１２７へ出力する（ステップＳ９１６）。また、第１他装置分散情報要求指示を受け付けた分散情報保持装置１２５の取得部２６７＿５は、分散情報“ｄ１＿６’”を取得して、分散情報保持装置１２７へ出力する（ステップＳ９１７）。
【０２６０】
分散情報更新部２６０＿７は、収集した分散情報“ｄ＿６’”と“ｄ１＿６’”とが同一の値であるか否かを判断する（ステップＳ９２０）。
同一であると判断する場合には（ステップＳ９２０における「ＹＥＳ」）、分散情報更新部２６０＿７は、収集した分散情報“ｄ＿６’”を第２他装置分散情報として他装置分散情報格納部２５２＿７へ格納する（ステップＳ９２５）。
【０２６１】
同一でないと判断する場合には（ステップＳ９０５若しくはステップＳ９２０における「ＮＯ」）、分散情報保持装置１２７は、分散情報保持装置１２１〜１２６へその旨を通知する。分散情報保持装置１２１〜１２７は、追加処理を中止し、自装置の分散情報の値を追加処理の前に戻し、処理を終了する。
（追加時の第１分割処理）
ここでは、図２５のステップＳ７３５にて示す追加時の第１分割処理について、図２９にて示す流れ図を用いて説明する。
【０２６２】
分散情報保持装置１２１の分散情報分割部２６１＿１は、分散情報“ｄ＿１’”から７つの部分情報（ｄ＿１＿１〜ｄ＿１＿７）を生成する（ステップＳ９５０）。言い換えると、分散情報分割部２６１＿１は、分散情報“ｄ＿１’”を、７つの部分情報（ｄ＿１＿１〜ｄ＿１＿７）に分散（分解）する。このとき、各部分情報は、次式を満たすものとする。
【０２６３】
（式）  ｄ＿１’＝  ｄ＿１＿１＋ｄ＿１＿２＋ｄ＿１＿３＋ｄ＿１＿４＋ｄ＿１＿５
＋ｄ＿１＿６＋ｄ＿１＿７  ｍｏｄ  Ｌ  
具体的には、分散情報分割部２６１＿１は、乱数生成器を用いて、６個の乱数を生成することにより、部分情報（ｄ＿１＿１〜ｄ＿１＿６）を生成する。次に、分散情報分割部２６１＿１は、
ｄ＿１＿７  ＝  ｄ＿１’  −  （ｄ＿１＿１＋ｄ＿１＿２＋・・・＋ｄ＿１＿６）
により、ｄ＿１＿７を算出する。このとき、減算結果が負の数になる事もあるが、そのまま部分情報として扱う。
【０２６４】
分散情報分割部２６１＿１は、生成（分散）した３個若しくは６個の部分情報を各装置１２２〜１２７へ配布する（ステップＳ９５５）。
具体的には、分散情報分割部２６１＿１は、分散情報保持装置１２２及び１２７に対して生成した部分情報ｄ＿１＿２〜ｄ＿１＿７を配布する（ステップＳ９５６及びＳ９６１）。他の装置１２３〜１２６におけるｉ番目の装置に対しては、部分情報ｄ＿１＿（ｉ−１）、ｄ＿１＿ｉ及びｄ＿１＿（ｉ＋１）を配布する（ステップＳ９５７、Ｓ９５８、Ｓ９５９及びＳ９６０）。
【０２６５】
分散情報保持装置１２２〜１２７は、受信した各部分情報を分散情報更新部２６０＿ｊに一時的に格納する。
（追加時の第１更新処理）
ここでは、図２５のステップＳ７４０にて示す追加時の第１更新処理について、図３０から図３２にて示す流れ図を用いて説明する。
【０２６６】
分散情報保持装置１２１の分散情報更新部２６０＿１は、生成した部分情報“ｄ＿１＿１”を新たな分散情報“Ｄ＿１（＝ｄ＿１＿１）”として、分散情報格納部２５１＿１に格納されている分散情報“ｄ＿１’”を新たな分散情報“Ｄ＿１”に更新する（ステップＳ９７０）。分散情報更新部２６０＿１は、生成した部分情報“ｄ＿１＿２”及び“ｄ＿１＿７”を用いて新たな第１及び第２他装置分散情報“Ｄ１＿２（＝ｄ１＿２＋ｄ＿１＿２）”及び“Ｄ２＿７（＝ｄ２＿７＋ｄ＿１＿７）”を生成し、分散情報格納部２５１＿１に格納されている第１及び第２他装置分散情報“ｄ１＿２”及び“ｄ２＿７’”を新たな第１及び第２他装置分散情報“Ｄ１＿２”及び“Ｄ２＿７”に更新する（ステップＳ９７５）。
【０２６７】
分散情報保持装置１２２の分散情報更新部２６０＿２は、分散情報保持装置１２１から受け取った部分情報“ｄ＿１＿２”を用いて新たな分散情報“Ｄ＿２（＝ｄ＿２＋ｄ＿１＿２）”を生成し、分散情報格納部２５１＿２に格納されている分散情報“ｄ＿２”を新たな分散情報“Ｄ＿２”に更新する（ステップＳ９８０）。分散情報更新部２６０＿２は、分散情報保持装置１２１から受け取った部分情報“ｄ＿１＿２”〜“ｄ＿１＿７”を用いて新たな第１及び第２他装置分散情報“Ｄ１＿３（＝ｄ１＿３＋ｄ＿１＿３）”及び“Ｄ２＿１（＝ｄ２＿１’−（ｄ＿１＿２＋ｄ＿１＿３＋・・・＋ｄ＿１＿７））”を生成し、分散情報格納部２５１＿２に格納されている第１及び第２他装置分散情報“ｄ１＿３”及び“ｄ２＿１’”を新たな第１及び第２他装置分散情報“Ｄ１＿３”及び“Ｄ２＿１”に更新する（ステップＳ９８５）。このとき、減算結果が負の数になる事もあるが、そのまま新たな分散情報として扱う。
【０２６８】
分散情報保持装置１２３の分散情報更新部２６０＿３は、分散情報保持装置１２１から受け取った部分情報“ｄ＿１＿３”を用いて新たな分散情報“Ｄ＿３（＝ｄ＿３＋ｄ＿１＿３）”を生成し、分散情報格納部２５１＿３に格納されている分散情報“ｄ＿３”を新たな分散情報“Ｄ＿３”に更新する（ステップＳ９９０）。分散情報更新部２６０＿３は、分散情報保持装置１２１から受け取った部分情報“ｄ＿１＿４”及び“ｄ＿１＿２”を用いて新たな第１及び第２他装置分散情報“Ｄ１＿４（＝ｄ１＿４＋ｄ＿１＿４）”及び“Ｄ２＿２（＝ｄ２＿２＋ｄ＿１＿２）”を生成し、分散情報格納部２５１＿３に格納されている第１及び第２他装置分散情報“ｄ１＿４”及び“ｄ２＿２”を新たな第１及び第２他装置分散情報“Ｄ１＿４”及び“Ｄ２＿２”に更新する（ステップＳ９９５）。
【０２６９】
分散情報保持装置１２４の分散情報更新部２６０＿４は、分散情報保持装置１２１から受け取った部分情報“ｄ＿１＿４”を用いて新たな分散情報“Ｄ＿４（＝ｄ＿４＋ｄ＿１＿４）”を生成し、分散情報格納部２５１＿４に格納されている分散情報“ｄ＿４”を新たな分散情報“Ｄ＿４”に更新する（ステップＳ１０００）。分散情報更新部２６０＿４は、分散情報保持装置１２１から受け取った部分情報“ｄ＿１＿５”及び“ｄ＿１＿３”を用いて新たな第１及び第２他装置分散情報“Ｄ１＿５（＝ｄ１＿５＋ｄ＿１＿５）”及び“Ｄ２＿３（＝ｄ２＿３＋ｄ＿１＿３）”を生成し、分散情報格納部２５１＿４に格納されている第１及び第２他装置分散情報“ｄ１＿５”及び“ｄ２＿３”を新たな第１及び第２他装置分散情報“Ｄ１＿５”及び“Ｄ２＿３”に更新する（ステップＳ１００５）。
【０２７０】
分散情報保持装置１２５の分散情報更新部２６０＿５は、分散情報保持装置１２１から受け取った部分情報“ｄ＿１＿５”を用いて新たな分散情報“Ｄ＿５（＝ｄ＿５＋ｄ＿１＿５）”を生成し、分散情報格納部２５１＿５に格納されている分散情報“ｄ＿５”を新たな分散情報“Ｄ＿５”に更新する（ステップＳ１０１０）。分散情報更新部２６０＿５は、分散情報保持装置１２１から受け取った部分情報“ｄ＿１＿６”及び“ｄ＿１＿４”を用いて新たな第１及び第２他装置分散情報“Ｄ１＿６（＝ｄ１＿６＋ｄ＿１＿６）”及び“Ｄ２＿４（＝ｄ２＿４＋ｄ＿１＿４）”を生成し、分散情報格納部２５１＿５に格納されている第１及び第２他装置分散情報“ｄ１＿６”及び“ｄ２＿４”を新たな第１及び第２他装置分散情報“Ｄ１＿６”及び“Ｄ２＿４”に更新する（ステップＳ１０１５）。
【０２７１】
分散情報保持装置１２６の分散情報更新部２６０＿６は、分散情報保持装置１２１から受け取った部分情報“ｄ＿１＿６”を用いて新たな分散情報“Ｄ＿６（＝ｄ＿６’＋ｄ＿１＿６）”を生成し、分散情報格納部２５１＿６に格納されている分散情報“ｄ＿６’”を新たな分散情報“Ｄ＿６”に更新する（ステップＳ１０２０）。分散情報更新部２６０＿６は、分散情報保持装置１２１から受け取った部分情報“ｄ＿１＿７”及び“ｄ＿１＿５”を用いて新たな第１及び第２他装置分散情報“Ｄ１＿７（＝ｄ１＿７＋ｄ＿１＿７）”及び“Ｄ２＿５（＝ｄ２＿５＋ｄ＿１＿５）”を生成し、分散情報格納部２５１＿６に格納されている第１及び第２他装置分散情報“ｄ１＿７”及び“ｄ２＿５”を新たな第１及び第２他装置分散情報“Ｄ１＿７”及び“Ｄ２＿５”に更新する（ステップＳ１０２５）。
【０２７２】
分散情報保持装置１２７の分散情報更新部２６０＿７は、分散情報保持装置１２１から受け取った部分情報“ｄ＿１＿７”を用いて新たな分散情報“Ｄ＿７（＝ｄ＿７＋ｄ＿１＿７）”を生成し、分散情報格納部２５１＿７に格納されている分散情報“ｄ＿７”を新たな分散情報“Ｄ＿７”に更新する（ステップＳ１０３０）。分散情報更新部２６０＿７は、分散情報保持装置１２１から受け取った部分情報“ｄ＿１＿２”〜“ｄ＿１＿７”を用いて新たな第１及び第２他装置分散情報“Ｄ１＿１（＝ｄ１＿１’−（ｄ＿１＿２＋ｄ＿１＿３＋・・・＋ｄ＿１＿７））”及び“Ｄ２＿６（＝ｄ２＿６’＋ｄ＿１＿６）”を生成し、分散情報格納部２５１＿７に格納されている第１及び第２他装置分散情報“ｄ１＿１’”及び“ｄ２＿６’”を新たな第１及び第２他装置分散情報“Ｄ１＿１”及び“Ｄ２＿６”に更新する（ステップＳ１０３５）。このとき、減算結果が負の数になる事もあるが、そのまま新たな分散情報として扱う。
【０２７３】
（追加時の第２分割処理）
ここでは、図２５のステップＳ７５０にて示す追加時の第２分割処理について、図３３にて示す流れ図を用いて説明する。
分散情報保持装置１２６の分散情報分割部２６１＿６は、分散情報“Ｄ＿６”から７つの部分情報（ｄ＿６＿１〜ｄ＿６＿７）を生成する（ステップＳ１０５０）。言い換えると、分散情報分割部２６１＿６は、分散情報“Ｄ＿６”を、７つの部分情報（ｄ＿６＿１〜ｄ＿６＿７）に分散（分解）する。このとき、各部分情報は、次式を満たすものとする。
【０２７４】
（式）  Ｄ＿６＝  ｄ＿６＿１＋ｄ＿６＿２＋ｄ＿６＿３＋ｄ＿６＿４＋ｄ＿６＿５
＋ｄ＿６＿６＋ｄ＿６＿７  ｍｏｄ  Ｌ  
具体的には、分散情報分割部２６１＿６は、乱数生成器を用いて、６個の乱数を生成することにより、部分情報（ｄ＿６＿１〜ｄ＿６＿６）を生成する。次に、分散情報分割部２６１＿６は、
ｄ＿６＿７  ＝  Ｄ＿６  −  （ｄ＿６＿１＋ｄ＿６＿２＋・・・＋ｄ＿６＿６）
により、ｄ＿６＿７を算出する。このとき、減算結果が負の数になる事もあるが、そのまま部分情報として扱う。
【０２７５】
分散情報分割部２６１＿６は、生成（分散）した３個若しくは６個分散情報を各装置１２１〜１２５及び１２７へ配布する（ステップＳ１０５５）。
分散情報保持装置１２５及び１２７に対して生成した部分情報ｄ＿６＿１〜ｄ＿６＿５及びｄ＿６＿７を配布する（ステップＳ１０６０及びＳ１０６１）。他の装置１２１〜１２４におけるｉ番目の装置に対しては、部分情報ｄ＿６＿（ｉ−１）、ｄ＿６＿ｉ及びｄ＿６＿（ｉ＋１）を配布する（ステップＳ１０５６、Ｓ１０５７、Ｓ１０５８及びＳ１０５９）。なお、ｉ−１＝０の場合には、部分情報ｄ＿６＿７を配布する。
【０２７６】
分散情報保持装置１２１〜１２５及び１２７は、受信した各部分情報を分散情報更新部２６０＿ｊに一時的に格納する。
（追加時の第２更新処理）
ここでは、図２５のステップＳ７５５にて示す追加時の第２更新処理について、図３４から図３６にて示す流れ図を用いて説明する。
【０２７７】
分散情報保持装置１２１の分散情報更新部２６０＿１は、分散情報保持装置１２６から受け取った部分情報“ｄ＿６＿１”を用いて、新たな分散情報“Ｄ＿１’（＝Ｄ＿１＋ｄ＿６＿１）”を生成し、分散情報格納部２５１＿１に格納されている分散情報“Ｄ＿１”を新たな分散情報“Ｄ＿１’”に更新する（ステップＳ１０７０）。分散情報更新部２６０＿１は、分散情報保持装置１２６から受け取った部分情報“ｄ＿６＿２”及び“ｄ＿６＿７”を用いて新たな第１及び第２他装置分散情報“Ｄ１＿２’（＝Ｄ１＿２＋ｄ＿６＿２）”及び“Ｄ２＿７’（＝Ｄ２＿７＋ｄ＿６＿７）”を生成し、分散情報格納部２５１＿１に格納されている第１及び第２他装置分散情報“Ｄ１＿２”及び“Ｄ２＿７’”を新たな第１及び第２他装置分散情報“Ｄ１＿２’”及び“Ｄ２＿７’”に更新する（ステップＳ１０７５）。
【０２７８】
分散情報保持装置１２２の分散情報更新部２６０＿２は、分散情報保持装置１２６から受け取った部分情報“ｄ＿６＿２”を用いて新たな分散情報“Ｄ＿２’（＝Ｄ＿２＋ｄ＿６＿２）”を生成し、分散情報格納部２５１＿２に格納されている分散情報“Ｄ＿２”を新たな分散情報“Ｄ＿２’”に更新する（ステップＳ１０８０）。分散情報更新部２６０＿２は、分散情報保持装置１２６から受け取った部分情報“ｄ＿６＿３”及び“ｄ＿６＿１”を用いて新たな第１及び第２他装置分散情報“Ｄ１＿３’（＝Ｄ１＿３＋ｄ＿６＿３）”及び“Ｄ２＿１’（＝Ｄ２＿１＋ｄ＿６＿１）”を生成し、分散情報格納部２５１＿２に格納されている第１及び第２他装置分散情報“Ｄ１＿３”及び“Ｄ２＿１”を新たな第１及び第２他装置分散情報“Ｄ１＿３’”及び“Ｄ２＿１’”に更新する（ステップＳ１０８５）。
【０２７９】
分散情報保持装置１２３の分散情報更新部２６０＿３は、分散情報保持装置１２６から受け取った部分情報“ｄ＿６＿３”を用いて新たな分散情報“Ｄ＿３’（＝Ｄ＿３＋ｄ＿６＿３）”を生成し、分散情報格納部２５１＿３に格納されている分散情報“Ｄ＿３”を新たな分散情報“Ｄ＿３’”に更新する（ステップＳ１０９０）。分散情報更新部２６０＿３は、分散情報保持装置１２６から受け取った部分情報“ｄ＿６＿４”及び“ｄ＿６＿２”を用いて新たな第１及び第２他装置分散情報“Ｄ１＿４’（＝Ｄ１＿４＋ｄ＿６＿４）”及び“Ｄ２＿２’（＝Ｄ２＿２＋ｄ＿６＿２）”を生成し、分散情報格納部２５１＿３に格納されている第１及び第２他装置分散情報“Ｄ１＿４”及び“Ｄ２＿２”を新たな第１及び第２他装置分散情報“Ｄ１＿４’”及び“Ｄ２＿２’”に更新する（ステップＳ１０９５）。
【０２８０】
分散情報保持装置１２４の分散情報更新部２６０＿４は、分散情報保持装置１２１から受け取った部分情報“ｄ＿６＿４”を用いて新たな分散情報“Ｄ＿４’（＝Ｄ＿４＋ｄ＿６＿４）”を生成し、分散情報格納部２５１＿４に格納されている分散情報“Ｄ＿４”を新たな分散情報“Ｄ＿４’”に更新する（ステップＳ１１００）。分散情報更新部２６０＿４は、分散情報保持装置１２６から受け取った部分情報“ｄ＿６＿５”及び“ｄ＿６＿３”を用いて新たな第１及び第２他装置分散情報“Ｄ１＿５’（＝Ｄ１＿５＋ｄ＿６＿５）”及び“Ｄ２＿３’（＝Ｄ２＿３＋ｄ＿６＿３）”を生成し、分散情報格納部２５１＿４に格納されている第１及び第２他装置分散情報“Ｄ１＿５”及び“Ｄ２＿３”を新たな第１及び第２他装置分散情報“Ｄ１＿５’”及び“Ｄ２＿３’”に更新する（ステップＳ１１０５）。
【０２８１】
分散情報保持装置１２５の分散情報更新部２６０＿５は、分散情報保持装置１２６から受け取った部分情報“ｄ＿６＿５”を用いて新たな分散情報“Ｄ＿５’（＝Ｄ＿５＋ｄ＿６＿５）”を生成し、分散情報格納部２５１＿５に格納されている分散情報“Ｄ＿５”を新たな分散情報“Ｄ＿５’”に更新する（ステップＳ１１１０）。分散情報更新部２６０＿５は、分散情報保持装置１２６から受け取った部分情報“ｄ＿６＿１”〜“ｄ＿６＿５”及び“ｄ＿６＿７”を用いて新たな第１及び第２他装置分散情報“Ｄ１＿６’（＝Ｄ１＿６−（ｄ＿６＿１＋ｄ＿６＿２＋・・・＋ｄ＿６＿５＋ｄ＿６＿７）”及び“Ｄ２＿４’（＝Ｄ２＿４＋ｄ＿６＿４）”を生成し、分散情報格納部２５１＿５に格納されている第１及び第２他装置分散情報“Ｄ１＿６”及び“Ｄ２＿４”を新たな第１及び第２他装置分散情報“Ｄ１＿６’”及び“Ｄ２＿４’”に更新する（ステップＳ１１１５）。このとき、減算結果が負の数になる事もあるが、そのまま新たな分散情報として扱う。
【０２８２】
分散情報保持装置１２６の分散情報更新部２６０＿６は、生成した部分情報“ｄ＿１＿６”を新たな分散情報“Ｄ＿６’（＝ｄ＿６＿６）”として、分散情報格納部２５１＿６に格納されている分散情報“Ｄ＿６”を新たな分散情報“Ｄ＿６’”に更新する（ステップＳ１１２０）。分散情報更新部２６０＿６は、生成した部分情報“ｄ＿６＿７”及び“ｄ＿６＿５”を用いて新たな第１及び第２他装置分散情報“Ｄ１＿７’（＝Ｄ１＿７＋ｄ＿６＿７）”及び“Ｄ２＿５’（＝Ｄ２＿５＋ｄ＿６＿５）”を生成し、分散情報格納部２５１＿６に格納されている第１及び第２他装置分散情報“Ｄ１＿７”及び“Ｄ２＿５”を新たな第１及び第２他装置分散情報“Ｄ１＿７’”及び“Ｄ２＿５’”に更新する（ステップＳ１１２５）。
【０２８３】
分散情報保持装置１２７の分散情報更新部２６０＿７は、分散情報保持装置１２６から受け取った部分情報“ｄ＿６＿７”を用いて新たな分散情報“Ｄ＿７’（＝Ｄ＿７＋ｄ＿６＿７）”を生成し、分散情報格納部２５１＿７に格納されている分散情報“Ｄ＿７”を新たな分散情報“Ｄ＿７’”に更新する（ステップＳ１１３０）。分散情報更新部２６０＿７は、分散情報保持装置１２６から受け取った部分情報“ｄ＿６＿１”〜“ｄ＿１＿５”及び“ｄ＿１＿７”を用いて新たな第１及び第２他装置分散情報“Ｄ１＿１’（＝Ｄ１＿１＋ｄ＿６＿１）”及び“Ｄ２＿６’（＝Ｄ２＿６−（ｄ＿６＿１＋ｄ＿６＿２＋・・・＋ｄ＿６＿５＋ｄ＿６＿７））”を生成し、分散情報格納部２５１＿７に格納されている第１及び第２他装置分散情報“Ｄ１＿１”及び“Ｄ２＿６”を新たな第１及び第２他装置分散情報“Ｄ１＿１’”及び“Ｄ２＿６’”に更新する（ステップＳ１１３５）。このとき、減算結果が負の数になる事もあるが、そのまま新たな分散情報として扱う。
【０２８４】
（具体例）
追加処理後の分散情報保持装置１２１〜１２７のそれぞれが保持する分散情報、第１及び第２他装置分散情報を、図３７にて示す。
例えば、分散情報保持装置１２１は、追加処理後において、更新後の分散情報“Ｄ＿１’”２１１ｃ、第１他装置分散情報“Ｄ１＿２’”２１２＿１ｃ及び第２他装置分散情報“Ｄ２＿７’”２１７＿１ｃを保持している。
【０２８５】
ここで、更新後の各分散情報“Ｄ＿１’”〜“Ｄ＿７’”により、秘密鍵“ｄ”が回復されることを以下に示す。
Ｄ＿１’＋Ｄ＿２’＋Ｄ＿３’＋Ｄ＿４’＋Ｄ＿５’＋Ｄ＿６’＋Ｄ＿７’
＝  （Ｄ＿１＋ｄ＿６＿１）＋（Ｄ＿２＋ｄ＿６＿２）＋（Ｄ＿３＋ｄ＿６＿３）
＋（Ｄ＿４＋ｄ＿６＿４）＋（Ｄ＿５＋ｄ＿６＿５）＋（ｄ＿６＿６）＋（Ｄ＿７＋ｄ＿６＿７）
＝  Ｄ＿１＋Ｄ＿２＋Ｄ＿３＋Ｄ＿４＋Ｄ＿５＋Ｄ＿７
＋ｄ＿６＿１＋ｄ＿６＿２＋ｄ＿６＿３＋ｄ＿６＿４＋ｄ＿６＿５＋ｄ＿６＿６＋ｄ＿６＿７
＝  Ｄ＿１＋Ｄ＿２＋Ｄ＿３＋Ｄ＿４＋Ｄ＿５＋Ｄ＿６＋Ｄ＿７
＝  （ｄ＿１＿１）＋（ｄ＿２＋ｄ＿１＿２）＋（ｄ＿３＋ｄ＿１＿３）＋（ｄ＿４＋ｄ＿１＿４）
＋（ｄ＿５＋ｄ＿１＿５）＋（ｄ＿６’＋ｄ＿１＿６）＋（ｄ＿７＋ｄ＿１＿７）
＝  ｄ＿２＋ｄ＿３＋ｄ＿４＋ｄ＿５＋ｄ＿６’＋ｄ＿７
＋ｄ＿１＿１＋ｄ＿１＿２＋ｄ＿１＿３＋ｄ＿１＿４＋ｄ＿１＿５＋ｄ＿１＿６＋ｄ＿１＿７
＝  ｄ＿１’＋ｄ＿２＋ｄ＿３＋ｄ＿４＋ｄ＿５＋ｄ＿６’＋ｄ＿７
＝  （ｄ＿１−ｍ）＋ｄ＿２＋ｄ＿３＋ｄ＿４＋ｄ＿５＋（ｄ＿６−ｎ）＋ｍ＋ｎ
＝  ｄ＿１＋ｄ＿２＋ｄ＿３＋ｄ＿４＋ｄ＿５＋ｄ＿６＋ｄ＿７
＝  ｄ
このように、分散情報保持装置１２７の追加後も、それぞれの分散情報保持装置が保持する分散情報の総和を一定とすることが可能となるため、追加処理時において、認証局システム１００は、新しい秘密鍵“ｄ”を復元し分散情報を再生成することなく、分散情報保持装置を追加させることが可能となる。
【０２８６】
（追加処理時の第１及び第２更新処理の必要性）
追加時における第１及び第２更新処理は、分散情報保持装置１２１と１２６が分散情報を持ちすぎるために必要になる処理である。
具体的には、分散情報保持装置１２１は、追加処理のステップＳ７３０の終了後には、分散情報“ｄ＿１’”と他装置分散情報“ｄ１＿２”及びと“ｄ２＿７”の３つの分散情報を保持することになる。この時、他装置分散情報“ｄ２＿７”は、分散情報保持装置１２１が生成した変形情報ｍと分散情報保持装置１２６が生成した変形情報ｎの和になっている。そのため、他装置分散情報“ｄ２＿７”と分散情報保持装置１２１が生成した変形情報ｍから分散情報保持装置１２６が送信した変形情報ｎを求めることが出来る。さらに、追加処理前には更新前の他装置分散情報“ｄ２＿６”も保持していたため、この更新前の他装置分散情報“ｄ２＿６”と分散情報保持装置１２６が生成した変形情報ｎとから、更新後の分散情報“ｄ２＿６’（＝ｄ＿６’）”の値を求めることが出来る。この様に分散情報保持装置１２１は、本来は３つの分散情報しか保持しないはずが４つの分散情報を保持することが可能となり、分散情報を持ちすぎることになる。同様の事が分散情報保持装置１２６にも言えるため、分散情報保持装置の追加処理の最後に、このような分散情報の持ちすぎを解消するために、分散情報保持装置１２１と１２６が所有する分散情報の更新を行う必要がある。
【０２８７】
なお、追加される分散情報保持装置の所有する分散情報を生成するために２つの分散情報保持装置が変形情報を生成、送信する構成としたが、これに限定するものではなく、例えば追加される分散情報保持装置以外のすべての分散情報保持装置が変形情報を送信する構成にしてもよい。
１．５  本実施の形態の効果
認証局装置１４０や分散情報保持装置１２１〜１２６を上述したような構成にすることで、認証局装置１４０の秘密鍵１４１が漏洩した場合においても、システム全体の信頼性を回復できるシステムを構成することが可能となる。また、「新しい秘密鍵」を検証するための認証子として証明書を用い、さらに共通の分散情報を複数の分散情報保持装置で持ち、冗長化する構成にすることで、認証局装置１４０だけでなく分散情報保持装置１２１〜１２６の中のどれかの分散情報保持装置が攻撃され不正な動作をしても、正しい秘密鍵が生成でき、かつ不正な動作をした分散情報保持装置も特定し、システムから除外することが可能となる。
【０２８８】
また、分散情報保持装置が脱退または追加する場合にも、「新しい秘密鍵」を復元することなく、かつ、「新しい秘密鍵」の値を変化させないで、分散情報保持装置の脱退または変更に伴う分散情報の変更を行うことが出来る。また、脱退・追加処理時に、処理途中で分散情報保持装置が不正を働いたときに、それを検出し、処理前の状態に戻すことで、不正な脱退・追加処理を止めることが可能であり、分散情報を正しく更新しないなど、不正な動作を行う分散情報保持装置を知ることが可能となる。さらに、脱退・追加処理中に分散情報を更新する処理があるが、この時に更新前の分散情報を保持し続けていても、他の分散情報保持装置が分散情報を更新しているために、更新前の分散情報から「新しい秘密鍵」を求めることは出来ない。
【０２８９】
１．６  実施の形態１の変形例
セキュリティ維持システムは、１台の配布装置、ｎ台の保持装置及び１台の認証局装置から構成されている。全ての前記保持装置は、１個又は２個以上の閉路を形成するように関係付けられている。各保持装置を閉路を形成するように関係付ける方法は、上記実施の形態にて示しているので、ここでの説明は省略する。
【０２９０】
配布装置、ｎ台の保持装置及び１台の認証局装置は、インターネットを代表とする通信ネットワークを介して相互に接続されている。これらの装置の間では、秘密の情報の送受信の経路が確立されている。
なお、配布装置、ｎ台の保持装置及び１台の認証局装置は、通信ネットワークを介して相互に接続されているとしているが、これには限定されない。例えば、配布装置、ｎ台の保持装置及び１台の認証局装置は、秘匿性を確保することができる記録媒体、例えば、ＳＤメモリカードなどを介して、情報を相互に交換するとしてもよい。
【０２９１】
（１）配布装置の構成
配布装置は、１個の秘密情報から生成されたｎ個の分散情報をそれぞれｎ台の保持装置へ割り当てる。前記配布装置は、生成部、情報選択部、装置選択部、関連装置選択部、出力部及び繰返制御部から構成される。前記配布装置は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、通信ユニット、ディスプレィユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記ＲＡＭ又は前記ハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、前記配布装置は、その機能を達成する。
【０２９２】
前記配布装置が有する生成部は、１個の秘密情報から、ｎ台の前記保持装置の台数と同数、つまり、ｎ個の分散情報を生成する。具体的には、前記生成部は、所定の法において、ランダムにｎ−１個の分散情報を生成し、所定の法において、前記秘密情報から、生成したｎ−１個の分散情報を減ずることにより、残りの１個の分散情報を算出する。言い換えると、所定の法において、前記生成部により生成された全ての分散情報に対する加算により前記秘密情報が得られる。
【０２９３】
情報選択部は、生成した複数の分散情報から１個の選択分散情報を選択する。
装置選択部は、複数の保持装置の中から、前記選択分散情報の割当対象となる１個の割当対象保持装置を選択する。関連装置選択部は、複数の保持装置の中から、前記割当対象保持装置に関連する２台以上の関連保持装置を選択する。具体的には、前記関連装置選択部は、少なくとも、同一の閉路（リング内）において、前記割当対象保持装置に対応するノードの両側に隣接する第１及び第２のノードそれぞれに対応付けられた第１及び第２関連保持装置を選択する。
【０２９４】
出力部は、同一の選択分散情報を、前記ネットワークを介して、前記割当対象保持装置及び全ての前記関連保持装置へ出力する。
前記繰返制御部は、生成された全ての分散情報について、前記選択分散情報の選択と、前記割当対象保持装置の選択と、関連保持装置の選択と、前記選択分散情報の出力とを繰り返すように、前記情報選択部、前記装置選択部、前記関連装置選択部及び前記出力部を制御する。
【０２９５】
以上説明したように、配布装置は、選択された選択分散情報を割当対象保持装置へ出力することに加えて、複数の保持装置の中から選択された前記割当対象保持装置に関連する２台以上の関連保持装置に対して、同一の選択分散情報を出力する。このため、選択分散情報を受け取った複数の保持装置において、同一の選択分散情報を保持させることができる。これにより、複数の保持装置における同一の選択分散情報の保持の冗長性が増し、少数の保持装置において分散情報が不正に改竄された場合における対処の可能性を高めることができる。
【０２９６】
また、配布装置は、少なくとも、同一の閉路（リング内）において、割当対象保持装置に対応するノードの両側に隣接する第１及び第２のノードに対応する第１及び第２関連保持装置を選択するので、保持装置において分散情報が不正に改竄された場合において対処する際に、同一の選択分散情報を保持している関連保持装置の特定が確実に行える。
また、配布装置は、全ての保持装置の各々に対して、自身に割り当てられる分散情報と、当該保持装置に隣接する関連保持装置に割り当てられる分散情報とを保持させることができる。
【０２９７】
また、全ての保持装置に割り当てられた分散情報の加算により、秘密情報を復元することができる。
また、前記生成部は、所定の法において、ランダムにｎ−１個の分散情報を生成し、所定の法において、前記秘密情報から、生成したｎ−１個の分散情報を減ずることにより、残りの１個の分散情報を算出するので、分散情報の生成において、ランダム性を確保できるとともに、生成された複数の分散情報を加算することにより、秘密情報の復元を確実にすることができる。
【０２９８】
（２）各保持装置の構成
ｎ台の保持装置のそれぞれは、配布装置により、１個の秘密情報から生成されたｎ個の分散情報の中の１個の分散情報を割り当てられる。保持装置は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、通信ユニットなどから構成されるコンピュータシステムである。前記ＲＡＭ又は前記ハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、前記保持装置は、その機能を達成する。
【０２９９】
保持装置は、例えば、携帯電話、携帯通信端末装置、マルチメディア再生録画装置、パーソナルコンピュータ、メモリ機能付きのＩＣカード、メモリ機能付きの非接触ＩＣカードなどである。
第ｉ番目の保持装置は、ネットワークを介して、配布装置から配布される割当分散情報と２個以上の関連分散情報とを取得する取得部と、取得した前記割当分散情報と、前記関連分散情報とを記憶する記憶部とを備える。
【０３００】
ここで、前記割当分散情報は、当該第ｉ番目に保持装置に割り当てた第ｉ番目の分散情報である。また、前記関連分散情報の中の第１及び第２関連分散情報は、それぞれ、同一の閉路（リング内）において、当該第ｉ番目の保持装置に対応するノードの両側に隣接する第ｉ−１及び第ｉ＋１番目のノードそれぞれに対応する第ｉ−１及び第ｉ＋１番目の保持装置に割り当てられた分散情報と同一である。
【０３０１】
以上説明したように、各保持装置は、割当分散情報と２個以上の関連分散情報とを記憶しているので、ｎ台の保持装置からなる保持システム全体により、同一の分散情報の保持の冗長性が増し、保持装置において分散情報が不正に改竄された場合における対処の可能性を高めることができる。
（３）認証局装置の構成
認証局装置は、受信部、復元部、検証部及び特定部から構成されている。具体的には、認証局装置は、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、通信ユニット、ディスプレィユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記ＲＡＭ又は前記ハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、前記認証局装置は、その機能を達成する。
【０３０２】
受信部は、通信ネットワークを介して、ｎ台の全ての保持装置に冗長的に割り当てて記憶している分散情報のうち冗長性のないｎ個の分散情報を受信する。
復元部は、受信したｎ個分散情報を用いて、仮に秘密情報を復元する。
検証部は、復元した秘密情報の正当性を検証する。
特定部は、復元した秘密情報が正当でないと認められた場合に、各保持装置が保持する残りの分散情報と、復元に用いたｎ個の分散情報を用いて、不正に改竄された分散情報を保持する保持装置を特定する。前記特定部は、第１分類部と第２分類部と組合生成部と検証部と排除部とを含む。
【０３０３】
第１分類部は、各保持装置が保持する残りの分散情報を取得し、第ｉ番目の保持装置に割り当てられた第ｉ番目の分散情報と、第ｉ番目の保持装置に対応するノードの両側に隣接する第ｉ−１及び第ｉ＋１番目のノードそれぞれに対応する第ｉ−１及び第ｉ＋１番目の保持装置がそれぞれ保持する第ｉ番目の分散情報それぞれとが、同一の情報として第ｉ番目のグループに属するように、各保持装置から取得した全ての分散情報を第１から第ｎのグループに分類する。
【０３０４】
第２分類部は、第１から第ｎのグループについて、内容が同一となる分散情報が同じサブグループに属するように、当該グループに含まれる複数の分散情報を分類する。
組合生成部は、第１から第ｎのグループからそれぞれ、１個のサブグループを選択し、選択したｎ個のサブグループから１個の分散情報を選択し、ｎ個の分散情報から構成される組合せを生成する。
【０３０５】
検証部は、生成した組合せに含まれる全ての分散情報を用いて、秘密情報を生成することにより、分散情報の正当性を検証する。
排除部は、正当であると認められる場合に、サブグループに含まれている分散情報を保持する保持装置を正当とみなして、当該保持装置を排除する。
前記特定部は、排除された正当な保持装置を除き、残りの保持装置の中から不正に改竄された分散情報を保持する保持装置を特定する。
【０３０６】
以上のようにして、不正に改竄された保持装置が特定された場合には、前記復元部は、さらに、不正に改竄された分散情報を保持すると特定された保持装置を除き、他の保持装置から受け取った分散情報を用いて、秘密情報を復元する。
以上説明したように、認証局装置は、複数の保持装置の中から、不正に改竄された分散情報を保持する保持装置を特定することができる。
【０３０７】
（４）ｎ台の保持装置からの脱退の場合
ｎ台の保持装置から構成されるグループから、脱退対象保持装置が脱退する場合について説明する。脱退対象保持装置が脱退する理由については、装置が故障したり老朽化した場合や、上記に説明したように、分散情報が不正に改竄された場合など、様々考えられる。
【０３０８】
上述したように、全ての前記保持装置は、１個又は２個以上の閉路（リング状）に関係付けられており、このうちの１台の脱退対象保持装置が脱退する場合を想定する。
全ての保持装置は、脱退対象保持装置、前記脱退対象保持装置に隣接して関係付けられている保持装置、及びその他の保持装置に分類される。
ここでは、脱退対象保持装置に隣接して関係付けられている保持装置、及びその他の保持装置について説明する。
【０３０９】
（ａ）脱退対象保持装置に隣接して関係付けられている保持装置の構成
脱退対象保持装置に隣接して関係付けられている第ｉ番目の保持装置は、上述した構成に加えて、さらに、分散指示を受け取る受信部、前記分散指示を受け取ると、前記記憶部から、前記脱退対象保持装置に割り当てられた分散情報を読み出す読出部、読み出された前記分散情報をｎ−１個の部分分散情報に分解する分散情報分解部と、分解されたｎ−１個の部分分散情報を、第ｉ番目の保持装置及び前記脱退対象保持装置を除く他のｎ−２台の保持装置それぞれが保持する複数の分散情報に対して、同一番目の分散情報には同一の部分分散情報が割り当たる様態で、前記ｎ−２台の保持装置へ出力する出力部とを含む。
【０３１０】
ここで、所定の法において、前記分散情報分解部により分解された全ての部分分散情報に対する加算により、読み出された前記分散情報が得られる。
（ｂ）その他の保持装置
その他の保持装置は、上述した構成に加えて、さらに、前記脱退対象保持装置に隣接するように関係付けられている保持装置から、前記その他の保持装置が保持する複数の分散情報に割り当てるべき部分分散情報を受信する受信部と、受信した各部分分散情報を、前記記憶部が記憶している分散情報のうち、当該部分分散情報に対応する分散情報に加算する演算部とを含む。
【０３１１】
ここで、前記部分分散情報は、前記脱退対象保持装置に割り当てられた分散情報から生成されたものであり、前記記憶部が記憶している分散情報に対応している。
また、所定の法において、生成された全ての前記部分分散情報に対する加算により、前記脱退対象保持装置に割り当てられた前記分散情報が得られる。
（４）ｎ台の保持装置への追加の場合
ｎ台の保持装置から構成されるグループに対して、さらに、追加保持装置を追加する場合について説明する。
【０３１２】
上述したように、全ての前記保持装置は、１個又は２個以上の閉路（リング状）に関係付けられており、１台の追加保持装置が閉路の一カ所に挿入されるように関係付けられる。
全ての保持装置は、追加保持装置、前記追加保持装置に隣接して関係付けられている隣接保持装置、隣接保持装置にさらに隣接して関係付けられている保持装置及びその他の保持装置に分類される。
【０３１３】
ここでは、追加保持装置、隣接保持装置、隣接保持装置にさらに隣接して関係付けられている保持装置について説明する。
（ａ）隣接保持装置の構成
ここでは、隣接保持装置の構成について説明する。
隣接保持装置は、上述した構成に加えて、さらに、当該隣接保持装置に対応するノードに隣接する状態で追加された新たなノードに対応付けらける新たな追加保持装置が追加される旨の通知を受け取る受信部と、前記通知を受け取ると、前記記憶部から、前記隣接保持装置に割り当てられた分散情報を読み出す読出部と、追加部分情報を生成する生成部と、生成された前記追加部分情報を用いて、読み出された前記分散情報に対して演算を施し、得られた演算結果を新たな分散情報として、読み出された前記分散情報に代えて、前記記憶部へ書き込む演算部と、生成された前記追加部分情報を前記追加保持装置へ出力する出力部とを含む。
【０３１４】
ここで、前記演算部は、所定の法において、読み出された前記分散情報から前記追加部分情報を減ずることにより、前記演算結果を得る。
ここで、前記出力部は、さらに、生成された追加部分情報を、当該隣接保持装置に割り当てられた分散情報と同一の分散情報を保持する他の保持装置へ出力する。
また、前記受信部は、さらに、前記追加保持装置に対応するノードに隣接する２つのノードのうち当該隣接保持装置に対応するノードとは別のノードに対応する他方の隣接保持装置から第２の追加部分情報を受信し、前記演算部は、さらに、前記生成部により生成された前記追加部分情報及び前記受信部により受信した第２の追加部分情報に演算を施して追加分散情報を生成し、生成した前記追加分散情報を、追加保持装置に割り当てられる分散情報として、前記記憶部に書き込む。
【０３１５】
ここで、前記演算部は、所定の法において、前記追加部分情報及び前記第２の追加部分情報に加算を施して、前記追加分散情報を得る。
以上説明したように、各保持装置に新たに分散情報が割り当てらる。
このように、各保持装置に新たに分散情報が割り当てられた場合に、新たな分散情報からｎ＋１個の部分分散情報を生成し、生成した部分分散情報を、各保持装置へ出力する。こうして、各保持装置に対して、部分分散情報により保持している分散情報をさらに更新させる。これにより、全ての保持装置が保持している分散情報により秘密情報を復元することができることを確保しつつ、保持装置が保持している分散情報のランダム性をさらに高めることができる。
【０３１６】
このような目的を達成するために、前記読出部は、さらに、前記記憶部から、当該保持装置に新たに割り当てられた新たな分散情報を読み出す。また、前記演算部は、さらに、読み出した分散情報からｎ＋１個の部分分散情報を生成する。出力部は、さらに、生成した追加部分情報を、各保持装置へ出力する。
（ｂ）隣接保持装置にさらに隣接して関係付けられている保持装置の構成
ここでは、隣接保持装置にさらに隣接して関係付けられている保持装置について説明する。
【０３１７】
当該保持装置は、さらに、前記隣接保持装置から、追加部分情報を受信する受信部と、前記記憶部から前記隣接保持装置に割り当てられた隣接分散情報を読み出す読出部と、受信された前記追加部分情報を用いて、読み出された前記隣接分散情報に対して演算を施し、得られた演算結果を、前記隣接分散情報に代えて、前記隣接保持装置に割り当てられた分散情報として、前記記憶部へ書き込む演算部とを含む。
【０３１８】
また、前記受信部は、さらに、部分分散情報を受信する。前記演算部は、さらに、受信した部分分散情報を用いて、前記記憶部に記憶されている分散情報に演算を施し、演算結果を新たな分散情報として前記記憶部に書き込む。
（ｃ）追加保持装置の構成
ここでは、追加保持装置について説明する。
【０３１９】
上述したように、追加保持装置は、１個の秘密情報から生成された複数の分散情報をそれぞれ保持する複数の既保持装置から構成されるグループに新たに追加される。
追加保持装置は、少なくとも２台の既保持装置からそれぞれ追加部分情報を受信する受信部と、受信した全ての前記追加部分情報を用いて、自身に割り当てられた分散情報を生成する生成部と、生成した前記分散情報を記憶する記憶部とを備える。
【０３２０】
また、前記生成部は、所定の法において、前記追加部分情報を用いて、加算により、前記分散情報を生成する。
また、前記受信部は、さらに、保持装置から部分分散情報を受信し、前記演算部は、さらに、受信した部分分散情報を用いて、前記記憶部に記憶されている分散情報に演算を施し、当該保持装置に割り当てられた新たな分散情報として、演算結果を前記記憶部に書き込む。
【０３２１】
１．７  その他の変形例
なお、本発明を上記実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
（１）上記実施の形態では、認証局装置１４０は、ＲＳＡ暗号／署名における公開鍵証明書を発行していたが、認証局装置１４０及び端末Ａ、Ｂ、Ｃで使用する暗号はこれに限らない。
【０３２２】
例えば、有限体上の離散対数問題に基づいた暗号／署名や楕円離散対数問題に基づいた楕円曲線暗号／署名を使用し、認証局装置１４０が楕円曲線暗号／署名における公開鍵証明書を発行してもよい。これらの署名の例としては、ＥｌＧａｍａｌ署名、ＤＳＡ署名または楕円ＤＳＡ（ＥＣＤＳＡ）署名などがあり、暗号の例としては、ＥｌＧａｍａｌ暗号、楕円ＥｌＧａｍａｌ暗号、ＰＳＥＣ暗号などがある。ＥｌＧａｍａｌ署名、ＤＳＡ署名、楕円ＤＳＡ署名、ＥｌＧａｍａｌ暗号及び楕円ＥｌＧａｍａｌ暗号については、非特許文献３の３〜４ページに記載されている。ＰＳＥＣ暗号については、非特許文献４に記載されている。有限体上の離散対数問題を使用する場合においての変更部分を以下で説明する。
【０３２３】
ｐを素数または素数のべき、ｇ（１≦ｇ≦ｐ−１）をベース元、ｑをベース元の位数とする。このとき、ｇ＾ｑ＝１  ｍｏｄ  ｐとなる。ここで、ａ＾ｂはａをｂ回乗算を施したものである。ここで、秘密鍵をｘ（１≦ｘ≦ｑ−１）とし、公開鍵をｙ＝ｇ＾ｘとする。すなわち、「新しい秘密鍵」としてｘを使用する。秘密分散法を用いてｋ個の分散情報（ｘ＿１、ｘ＿２、・・・、ｘ＿ｋ）を以下の式のように分割する。
【０３２４】
ｘ＝ｘ＿１＋ｘ＿２＋・・・＋ｘ＿ｋ  ｍｏｄ  ｑ
また、秘密分散の方法として上記のように加減算を用いる他に、乗除算を用いることも可能である。この場合、
ｘ＝ｘ＿１×ｘ＿２×・・・×ｘ＿ｋ  ｍｏｄ  ｑ
となる。この場合は、実施の形態１における「足し算」を上記の「掛け算」、「引き算」をｍｏｄ  ｑの除算とする。
【０３２５】
同様に楕円離散対数問題の場合は、Ｇをベース点（楕円曲線上の点）、ｑをベース点の位数とする。このとき、ｑ＊Ｇ＝Ｏとなる。ここで、＊は楕円曲線のスカラ倍演算を示し、ｑ＊Ｇはｑ個のＧを楕円曲線の群における加算をしたものを表す。ここで、秘密鍵をｘ（１≦ｘ≦ｑ−１）とし、公開鍵をＹ＝ｘ＊Ｇとする。すなわち、「新しい秘密鍵」としてｘを使用する。秘密分散の方法については、上記の有限体上の離散対数問題を使用する場合と同様である。なお、上記では、有限体上の離散対数問題を使用する場合はｐを、楕円離散対数問題を使用する場合は楕円曲線の方程式またはそのパラメータをシステムパラメータとし、公開鍵をそれぞれｙ、Ｙとしていたが、これらのシステムパラメータを公開鍵として含めてもよい。また、ｑは素数である方が望ましいがこれに限らない。
【０３２６】
（２）上記実施の形態では、「新しい秘密鍵」を正しく生成したかを検証する認証子（証明書）を分散情報保持装置が認証子格納部２５３で保持するとしたが、これに限定するものではない。
鍵配布装置１３０や認証局装置１４０が認証子（証明書）を保持しておく構成としてもよい。
【０３２７】
鍵配布装置１３０が認証子を保持する場合においての変更部分を説明する。
鍵配布装置１３０が認証子を保持する場合は、認証子格納部２５３が鍵配布装置１３０にあり、初期設計時に、鍵配布装置１３０は、生成した認証子を認証子格納部２５３に格納する。解析・回復処理時に、鍵配布装置１３０は、認証局装置１４０から回復処理開始の通知を受けて、認証子格納部２５３に格納している認証子を認証局装置１４０へ送信し、認証局装置１４０は「新しい秘密鍵」を正しく生成したか検証するために利用する構成になる。
【０３２８】
また、認証局装置１４０が認証子を保持する場合においての変更部分を説明する。
認証局装置１４０が認証子を保持する場合は、認証子格納部２５３が認証局装置１４０にあり、初期設計時に、鍵配布装置１３０は、生成した認証子を認証局装置１４０へ送信し、認証局装置１４０は、受信した認証子を認証子格納部２５３に格納する。解析・回復処理時に、認証局装置１４０は、「新しい秘密鍵」を生成したときに、認証子格納部２５３に格納している認証子を用いて、「新しい秘密鍵」を検証する構成になる。
【０３２９】
（３）上記実施の形態では、解析・回復処理を認証局装置１４０が行うとしたが、これに限定するものではない。
認証局装置１４０とは別の装置（例えば、解析装置と回復装置）が解析・回復処理を行うとしてもよいし、認証局装置１４０とは異なる認証局装置を立ち上げ、その認証局装置が解析・回復処理を行うとしてもよい。この構成にすることで、認証局装置１４０が攻撃され、悪意のある第３者に乗っ取られたとしても、上記実施の形態の各処理を実施できる。
【０３３０】
解析装置と回復装置が解析・回復処理を行う場合においての変更部分を説明する。
回復装置が回復処理を行う場合、回復装置は、図８にて示す秘密鍵格納部４０１と秘密鍵生成部４１４、秘密鍵検証部４１５、不正装置特定部４１６と、新たな構成要素である秘密鍵送信部とから構成される。
認証局装置１４０は、秘密鍵格納部４０１と端末証明書発行部４１２、認証局証明書格納部４１３と、新たな構成要素である秘密鍵受信部から構成される。秘密鍵送信部は、「新しい秘密鍵」を認証局装置１４０へ送信する。秘密鍵受信部は、回復装置から「新しい秘密鍵」を受信する。
【０３３１】
解析装置と回復装置が行う解析・回復処理は、まず、外部装置が、認証局装置１４０の秘密鍵１４１の漏洩を検知すると、その旨を解析装置へ通知する。
通知を受けた解析装置は、上記実施の形態で示したような認証局装置１４０のログをチェックするなどして、秘密鍵の漏洩原因を解析する。解析装置が解析した結果、認証局装置１４０の秘密鍵を更新する必要があると判断した場合には、解析装置から回復装置へ秘密鍵の回復を依頼する。
【０３３２】
依頼を受けた回復装置は、上記実施の形態で示したような回復処理を行い、「新しい秘密鍵」を生成する。「新しい秘密鍵」を生成した回復装置は、認証局装置１４０へ「新しい秘密鍵」を送信する。
「新しい秘密鍵」を受信した認証局装置１４０は、秘密鍵格納部４０１に「新しい秘密鍵」を格納する。
【０３３３】
ここで、回復装置と認証局装置１４０の間で「新しい秘密鍵」を送受信する時の通信路はセキュリティの確保された通信路であってもよい。
（４）上記実施の形態では、各分散情報保持装置が分散情報格納部に１つの分散情報を所有しているとしたが、これに限定するものではない。
各分散情報保持装置は、分散情報格納部に２つ以上の分散情報を所有としてもよい。つまり、鍵配布装置は、分散情報保持装置に対して２つ以上の分散情報を割り当ててもよい。
【０３３４】
例えば、分散情報を２つ所有している場合、脱退・追加処理において分散情報から部分情報を生成するときは、２つの分散情報の値を足した値から複数の部分情報を生成する。
また、追加処理において分散情報から変形情報を引く処理においては、２つの分散情報の値を足した値と、変形情報の値と更新後の分散情報の値を足した値が同じになるように変形情報を生成する。具体的には、２つの分散情報のうちのどちらか１つの分散情報から変形情報を引けばよい。ただし、これは一例であり、例えば、変形情報を分割し、それぞれを２つの分散情報のうちの各分散情報から引くとしてもよい。
【０３３５】
（５）上記実施の形態では、分散情報保持装置で２つの他装置分散情報を持つとしたが、これに限定するものではない。
３つ以上の他装置分散情報を持つ構成としてもよい。他装置分散情報が３つ以上になったときには、脱退・追加処理において、部分情報の検証や分散情報の検証処理で、２つ以上の分散情報保持装置が検証を行う以外はそのまま拡張可能である。
【０３３６】
（６）上記実施の形態では、分散情報保持装置を用いて認証局装置１４０の秘密鍵を回復するとしたが、これに限定するものではない。
例えば、認証局装置１４０が存在しないシステムを考え、分散情報保持装置を用いて端末Ａ、端末Ｂ、及び端末Ｃへ証明書を発行するシステムにも利用できる。端末へ証明書を発行するシステムの場合においての変更部分を以下で説明する。
【０３３７】
以下の説明において、秘密鍵ｄから６つの分散情報（ｄ＿１、ｄ＿２、・・・ｄ＿６）を生成し、６つの分散情報保持装置へ配布している。ここで、ｄ＝ｄ＿１＋ｄ＿２＋・・・＋ｄ＿６である。
分散情報保持装置を用いて端末へ証明書を発行するには、まず、各分散情報保持装置は、自装置の分散情報をべきとして署名対象のデータのハッシュ値ｈをべき乗した部分署名（ｓ＿１、ｓ＿２、・・・、ｓ＿６）を生成し、端末へ送信する。それぞれの分散情報保持装置での部分署名は、それぞれｓ＿１＝ｈ＾ｄ＿１、ｓ＿２＝ｈ＾ｄ＿２、・・・、ｓ＿６＝ｈ＾ｄ＿６として生成される。端末は、各分散情報保持装置から受信した部分署名の積を、Ｓ＝ｓ＿１×ｓ＿２×・・・ｓ＿６  ｍｏｄ  ｎとして求め、Ｓを署名データとして証明書を構成する。さらに端末で、証明書検証し、検証が通らなかった場合には、回復検証と同様の処理を行う。この時、分散情報を端末に送ることが出来ないため、他装置分散情報を用いた部分署名を集めて、不正な分散情報保持装置を特定する。この場合は、分散情報の代わりに部分署名をサブグループに分割し、実施の形態１において「各組み合わせそれぞれが示す分散情報を用いて新しい秘密鍵を構成し証明書生成して検証」する代わりに「各組み合わせそれぞれが示す部分署名を用いて証明書生成して検証」する。
【０３３８】
不正な分散情報保持装置を特定した結果を各分散情報保持装置に送信する。または、各分散情報保持装置が、それぞれで特定する処理をしてもよい。この構成であっても、脱退・追加処理については同様に行える。
初期設計や次ラウンド準備の処理では、鍵配布装置を立ち上げ、秘密鍵の生成や分散情報の生成を行い、各分散情報保持装置へそれらの情報を配布した後に、その鍵配布装置を解体する構成であってもよい。
【０３３９】
また、認証局装置１４０を構築し運用できるときには、認証局装置１４０が端末に対して証明書の発行を行い、認証局装置１４０を構築・運営できないときには上記のように各分散情報保持装置が証明書を発行するような、２つの構成を切り替えてもよい。認証局装置１４０がある構成からない構成へ切り替えるときには、認証局装置１４０の秘密鍵を各分散情報保持装置へ分散させ、認証局装置１４０がない構成からある構成へ切り替えるときには、各分散情報保持装置が保持する分散情報から秘密鍵を復元して認証局装置１４０の秘密鍵にすることで、どちらの構成においても同じ秘密鍵を利用できる構成にしてもよい。
【０３４０】
以下、証明書の発行及び不正な装置の特定の動作について説明する。
＜証明書の発行の動作＞
各分散情報保持装置１２１〜１２６は、それぞれ自身の分散情報２１１〜２１６を用いて、部分署名（ｓ＿１〜ｓ＿６）を生成する。
各分散情報保持装置１２１〜１２６は、証明書発行依頼をした端末１５０へ、生成した部分署名を送信する。
【０３４１】
また、各分散情報保持装置１２１〜１２６は、図３８にて示すように、生成した部分署名を、自身以外の分散情報保持装置へも送信する。ここで、部分署名１ＸＸＸは分散情報ＸＸＸを用いて生成した部分署名を示している。
証明書発行依頼をした端末１５０は、すべての部分署名（ｓ＿１〜ｓ＿６）を用いて証明書を生成する。
【０３４２】
端末１５０は、生成した証明書の検証を行う。例えば、端末１５０は、証明書の含まれる署名データＳを、秘密鍵ｄに対応する公開鍵を用いて検証を行う。署名検証については、公知の技術であるので、ここでの説明は省略する。
なお、分散情報保持装置が証明書を検証して、不正な証明書であるかを判断してもよい。
【０３４３】
＜不正な装置の特定の動作＞
端末１５０は、証明書の検証により、不正な証明書であると判断する場合、その旨を各情報保持装置１２１〜１２６へ通知する。
各分散情報保持装置１２１〜１２６は、証明書が不正である旨の通知を受け取ると、部分署名を用いて不正分散情報保持装置を特定する。
【０３４４】
特定方法について、図３９を用いて説明する。
なお、図中の他装置部分署名１ＸＸＸ＿Ｙは、第１又は第２他装置分散情報ＸＸＸ＿Ｙを用いて生成した部分署名を示している。
図３９では、分散情報保持装置１２１〜１２６それぞれが自身の保持する他装置分散情報から生成される他装置分散署名を用いて、部分署名の比較を行う。
【０３４５】
一致しない部分署名を有する分散情報保持装置が不正な分散情報保持装置であると特定できる。
なお、各分散情報保持装置が自身の保持する他装置分散情報から生成される他装置分散署名を用いて、部分署名の比較を行なっているが、これに限らない。
例えば、すべての部分署名を一つの分散情報保持装置に集めて、その分散情報保持装置が比較するとしてもよい。
【０３４６】
（７）上記実施の形態では、秘密鍵をバックアップまたは更新するとしたが、これに限定するものではなく、共通鍵暗号方式で用いられる共通鍵やパスワードなどの秘密情報や、プログラム、データであってもよい。プログラムやデータをバックアップまたは更新する構成の場合には、プログラムやデータが耐タンパーモジュールに含まれてもよい。
（８）上記実施の形態では、公開鍵基盤で用いられる認証局システムに利用するとしたが、これに限定するものではなく、他のシステムにおいても、認証局システム１００における認証局装置１４０のような、信頼の源を必要とするシステムで利用できる。例えば、耐タンパーソフトウェアなどのソフトウェアのセキュア実装に利用するとしてもよい。
【０３４７】
図４０に、その一例を示す。
機器６００は、具体的には、テレビや携帯端末であり、外部装置６５０とネットワーク６７０を介して通信を行う。機器６００はセキュアな構成が実装されている（以下、セキュア実装という。）。
機器６００は、ＯＳ  ６０１とソフトウェアモジュール１  ６０２、ソフトウェアモジュール２  ６０３、ソフトウェアモジュール３  ６０４とを含んでいる。
【０３４８】
ＯＳ  ６０１は、耐タンパーモジュール６０５と、内部検知・回復モジュール６０６〜６０８を含んでいる。
耐タンパーモジュール６０５は、秘密の情報（ここでは、秘密鍵）を格納しており、当該秘密鍵が漏洩された場合には、ソフトウェアモジュール１  ６０２、ソフトウェアモジュール２  ６０３、ソフトウェアモジュール３  ６０４、若しくは内部検知・回復モジュール６０６〜６０８を用いて新たな秘密鍵の回復を行う。
【０３４９】
また、耐タンパーモジュール６０５は、装置内部で動作するソフトウェアモジュールが装置外部や装置内部の他のソフトウェアモジュール（図示せず）から解析・改ざんされることを防止するために、装置外部や装置内部の他のソフトウェアモジュールによる解析の検出や、ソフトウェアモジュールの改ざんの検出を行う。
内部検知・回復モジュール６０６〜６０８は、上記実施の形態における分散情報保持装置に相当する。
【０３５０】
内部検知・回復モジュール６０６〜６０８は、新たな秘密鍵から生成された分散情報を格納しており、新たな秘密鍵の回復時には、格納している分散情報を、耐タンパーモジュール６０５へ出力する。
また、内部検知・回復モジュール６０６〜６０８は、耐タンパーモジュール６０５の機能低下を検知する。内部検知・回復モジュール６０６〜６０８は、耐タンパーモジュール６０５の機能低下を検知すると、ネットワーク６７０を介して外部装置６５０へ更新用の耐タンパーモジュールを要求する。内部検知・回復モジュール６０６〜６０８は、外部装置６５０から更新用の耐タンパーモジュールを受け取ると、受け取った更新用の耐タンパーモジュールを用いて現在の耐タンパーモジュール６０５を更新する。
【０３５１】
なお、内部検知・回復モジュールの脱退・追加時における分散情報の更新については、上記実施の形態と同様であるので、ここでの説明は省略する。
ソフトウェアモジュール１  ６０２、ソフトウェアモジュール２  ６０３、ソフトウェアモジュール３  ６０４それぞれは、上記実施の形態における分散情報保持装置に相当する。
【０３５２】
ソフトウェアモジュール１  ６０２、ソフトウェアモジュール２  ６０３、ソフトウェアモジュール３  ６０４それぞれは、新たな秘密鍵から生成された分散情報を格納しており、新たな秘密鍵の回復時には、格納している分散情報を、耐タンパーモジュール６０５へ出力する。
なお、ソフトウェアモジュールの脱退・追加時における分散情報の更新については、上記実施の形態と同様であるので、ここでの説明は省略する。
【０３５３】
外部装置６５０は、外部回復モジュール６５１を含んでいる。
外部回復モジュール６５１は、機器６００からネットワーク６７０を介して、更新用の耐タンパーモジュールの要求を受け付けると、更新用の耐タンパーモジュールを、ネットワーク６７０を介して機器６００へ出力する。
ここで、各ソフトウェアモジュールは、耐タンパーモジュールによって保護されているソフトウェアモジュールでもよいし、耐タンパーモジュール内で動作するソフトウェアモジュールでもよい。
【０３５４】
（９）上記実施の形態において、秘密鍵格納部４０１は耐タンパーモジュールなどのセキュリティの確保されたモジュールに含んでもよい。また、端末証明書発行部４１２は、端末の公開鍵に対してディジタル署名して証明書を発行するとしたが、これに限定するものではなく、端末の公開鍵暗号の鍵対を生成し発行するとしてもよい。
（１０）上記実施の形態において、鍵配布装置１３０は、分散情報、第１及び第２他装置分散情報を配布する際に、各情報に識別子を対応付けて配布してもよい。
【０３５５】
ここで、識別子は、例えば、配布先の装置ＩＤと、分散情報、第１及び第２他装置分散情報の何れかを示す情報ＩＤとかなる情報である。具体的には、鍵配布装置１３０が分散情報保持装置１２１へ分散情報ｄ＿１、第１及び第２他装置分散情報ｄ１＿２、ｄ２＿６を送信する場合には、分散情報ｄ＿１に対してＩＤ＿１とＩＤ＿Ａとからなる識別子を、分散情報ｄ１＿２に対してＩＤ＿１とＩＤ＿Ｂとからなる識別子を、分散情報ｄ２＿６に対してＩＤ＿１とＩＤ＿Ｃとからなる識別子を、それぞれ対応付けて送信する。なお、ＩＤ＿Ａ、ＩＤ＿Ｂ、ＩＤ＿Ｃは、それぞれ分散情報、第１及び第２他装置分散情報を示す情報ＩＤである。
【０３５６】
各分散情報保持装置は、分散情報、第１及び第２他装置分散情報と、それぞれに対応する識別子とを受信すると、各情報と識別子とを対応付けて格納する。また、分散保持装置は、分散情報、第１及び第２他装置分散情報を、他の分散情報保持装置や認証局装置１４０へ送信する際には、対応する識別子も併せて送信する。
（１１）上記実施の形態の脱退処理において、分散情報保持装置１２６が５つの部分情報を生成し、各分散情報保持装置へ配布し、分散情報保持装置１２２がその部分情報から生成される分散情報を検証するとしたが、これに限定するものではない。
【０３５７】
脱退する分散情報保持装置１２１が所有する分散情報２１１と同じ分散情報を保持している分散情報保持装置が５つの部分情報を生成し、これら部分情報を生成した分散情報保持装置と異なる分散情報保持装置で分散情報２１１と同じ分散情報を保持している分散情報保持装置が検証を行えばよい。
例えば、分散情報保持装置１２２が分散情報２１１＿２から５つの部分情報を生成し、各分散情報保持装置へ配布し、分散情報保持装置１２６がその部分情報を検証するとしてもよい。または、脱退する分散情報保持装置１２１自身が、分散情報２１１から５つの部分情報を生成し、各分散情報保持装置へ配布し、分散情報保持装置１２２または１２６、あるいは両方がその部分情報を検証するとしてもよい。
【０３５８】
（１２）上記実施の形態の脱退処理において、脱退時の第２更新処理は、脱退処理の初め、例えば、部分情報の生成処理内で行ってもよい。
部分情報の生成処理内で行う場合、生成した部分情報ｄ＿１＿１、ｄ＿１＿２を分散情報保持装置１２２へ配布する際に、部分情報ｄ＿１＿１、ｄ＿１＿２に加えて部分情報ｄ＿１＿５及び分散情報ｄ＿６も送信する必要がある。
【０３５９】
また、図１９にて示すステップＳ４６０からＳ４６３のそれぞれの処理は、この順番で処理を行う必要はなく、図２０にて示すステップＳ４７１からＳ４７３、ステップＳ４８６からＳ４８９のそれぞれの処理も、この順番で処理を行う必要はない。また、図２３にて示すステップＳ６００及びＳ６１１の処理と、ステップＳ６０５及びＳ６１６のそれぞれの処理も、この順番で行う必要はない。
【０３６０】
（１３）上記実施の形態において、図１８にて示すステップＳ４２０の判断処理は、必須の処理ではない。
また、脱退処理は分散情報保持装置同士で処理をするとしたが、これに限定するものではなく、初期設計時の処理と同様に鍵配布装置で新規に「新しい秘密鍵」を生成し、分散情報を生成して、脱退する分散情報保持装置を除いて、分散情報を配布し直してもよいし、鍵配布装置で「新しい秘密鍵」を復元し、分散情報を配布してもよい。
【０３６１】
（１４）上記の追加処理における第１及び第２更新処理において、分散情報を７つの部分情報に分割して配布するとしたが、これに限定するものではない。１つの変形情報を生成して、生成した変形情報を用いて、各分散情報を更新してもよい。
例えば、追加時の第１更新処理において、分散情報保持装置１２１は、変形情報ｍ１を生成し、生成した変形情報ｍ１から６個の部分情報を生成し、生成した部分情報を他の分散情報保持装置へ配布してもよい。
【０３６２】
この場合、分散情報保持装置１２１は、他の分散情報保持情報が保持する部分情報毎に、異なる部分情報を対応付けて、他の分散情報保持装置へ配布する際には、配布先の装置が有する３つの分散情報それぞれに対応する部分情報それぞれを配布する。他の分散情報保持装置は、受け取った各部分情報を、対応する分散情報、第１及び第２他装置分散情報に加算して新たな分散情報、第１及び第２他装置分散情報を生成する。また、分散情報保持装置１２１は、自身が保持する分散情報から生成した変形情報ｍ１を減算し、新たな分散情報Ｄ＿１を算出する。分散情報保持装置１２１は、保持している第１及び第２他装置分散情報それぞれに、対応する部分情報を加算して新たな第１及び第２他装置分散情報を生成する。
【０３６３】
また、第２更新処理においても、上記と同様の動作にて実現できるので、ここでの説明は省略する。
また、図２５にて示すステップＳ７０５は、ステップＳ７００の前に行ってもよいし、ステップＳ７００内にて行ってもよい。また、図２６にて示すステップＳ８１０及びＳ８１５の処理は、この順番で行う必要はない。また、図２７にて示す各装置１２６、１２７、１２１の順番で分散情報を更新する必要はない。また、図２８にて示すステップＳ９００からＳ９１０までの処理と、ステップＳ９１５からＳ９２５までの処理は、この順番で行う必要はない。また、図２９にて示すステップＳ９５６からＳ９６１までの処理は、部分情報を生成した後であればどの順番で処理してもよい。
【０３６４】
（１５）上記実施の形態において、セキュリティの確保された通信路で分散情報を送りあい、受信した分散情報と同じ値かどうかを検証するとしたが、これに限定するものではない。
ゼロ知識証明などの暗号プロトコルを使用して検証してもよい。ゼロ知識証明については、非特許文献１の１３２〜１５０ページに、暗号プロトコルについては、非特許文献１の２２４〜２２５ページに詳しく説明されている。
【０３６５】
（１６）上記実施の形態において、図２５にて示すステップＳ７１５、Ｓ７２５、Ｓ７４５及びＳ７６０と、ステップＳ７３５からＳ７５５までの処理は必須の処理ではない。
また、追加処理は分散情報保持装置同士で処理をするとしたが、これに限定するものではなく、初期設計時の処理と同様に鍵配布装置で新規に「新しい秘密鍵」を生成し、分散情報を生成して、追加する分散情報保持装置も含めて、分散情報を配布し直してもよいし、鍵配布装置で「新しい秘密鍵」を復元し、分散情報を配布してもよい。
【０３６６】
（１７）上記実施の形態において、分散情報更新部２６０＿ｊは、更新前の分散情報を更新時に削除するのではなく、別のタイミング、例えば、次の更新があったときや、外部から更新前の分散情報の削除依頼を受けたときなどに削除するように構成してもよい。
（１８）上記実施の形態において、分散情報分割部２６１＿ｊは、値の和を保った分散情報を生成するようにしてもよい。
【０３６７】
例えば、複数の分散情報から部分情報を生成する場合には、複数の分散情報の和と部分情報の和が同じになるように部分情報を生成してもよい。
（１９）上記実施の形態において、分散情報検証部２６２＿ｊや他装置分散情報検証部２６３＿ｊによる分散情報の検証方法は、分散情報の値を直接比較する方法以外に、例えば、分散情報のハッシュ値などの検証値を用いた比較でもよい。
【０３６８】
（２０）上記実施の形態において、分散情報格納部２５１や他装置分散情報格納部２５２に分散情報を格納するとしたが、これに限定するものではなく、どの分散情報保持装置に格納されているかを示す識別子を含む分散情報を格納してもよい。
（２１）上記実施の形態における鍵漏洩の検知方法について説明する。
先ず、１つ目の例として、秘密鍵１４１の漏洩を検知する専用の検知装置が、認証局装置１４０の秘密鍵１４１が漏洩していないかを定期的に調べる方法がある。具体的には、検知装置は、認証局装置１４０が発行していない不正な証明書が発行されていないかを検知する。認証局装置１４０の秘密鍵１４１が漏洩していることを検知すると、その旨を認証局装置１４０へ通知する。
【０３６９】
２つ目の例として、検知装置が、ウェブサイトに認証局装置１４０が保持している秘密鍵がアップロードされていないかをチェックする方法である。
また、検知装置は、秘密鍵の漏洩を検知するだけでなく暗号アルゴリズムの安全性低下を検知するとしてもよく、この場合は、「新しい秘密鍵」は鍵のビット長を変えたり、暗号アルゴリズム自身を例えばＲＳＡ暗号から楕円暗号に変えるとしてもよい。
【０３７０】
ここで、認証局装置１４０の秘密鍵１４１の漏洩を検知装置が検知するとしたが、これに限定するものではない。秘密鍵１４１の漏洩を検知を分散情報保持装置１２１〜１２６が行ってもよいし、鍵配布装置１３０が行ってもよい。または、認証局装置１４０自身が行ってもよい。
（２２）上記実施の形態では、回復処理において、新たな秘密鍵ｄを回復したが、これに限定されない。
【０３７１】
認証局装置１４０は、現在利用中の秘密鍵１４１を回復してもよい。この場合、各分散情報保持装置は、秘密鍵１４１から生成された分散情報を格納している。
なお、秘密鍵１４１から複数の分散情報の生成方法、及び複数の分散情報から秘密鍵１４１の生成方法については、上記実施の形態と同様であるので、ここでの説明は省略する。また、分散情報保持装置の脱退、追加時における分散情報の更新についても上記実施の形態と同様である。
【０３７２】
これにより、秘密鍵１４１のデータが欠損した場合に、認証局装置１４０が、各分散情報保持装置が保持する各分散情報を用いて秘密鍵１４１を回復することにより、新たな秘密鍵を生成する必要がないので、必要最低限の処理で認証システムを維持することができる。
また、認証局装置１４０が、各分散情報保持装置が保持する各分散情報を用いて秘密鍵１４１を回復することにより、秘密鍵１４１を用いて暗号化した情報を復元できる。
【０３７３】
（２３）上記実施の形態では、各分散情報保持装置は、１つの閉路（リング）で関係付けられていたが、これに限定されない。
各分散情報保持装置は、２以上の閉路（リング）で関係付けられていてもよい。
例えば、ｐ台の分散情報保持装置が第１の閉路を形成するように関係付けられ、ｑ台の分散情報保持装置が第２の閉路を形成するように関係付けられているものとする。なお、ｐ、ｑは１以上の整数とする。各分散情報保持装置が閉路を形成するように関係付ける方法は、上記実施の形態にて示しているので、ここでの説明は省略する。
【０３７４】
この場合、新たな秘密鍵ｄを生成する際には、第１の閉路を形成する各装置を用い、現状の秘密鍵を生成する際には、第２の閉路を形成する各装置を用いる。
また、例えば、上記実施の形態にて示す分散情報ｄ＿１〜ｄ＿３それぞれを保持する３台の分散情報保持装置から第１の閉路を形成し、分散情報ｄ＿４〜ｄ＿６それぞれを保持する３台の分散情報保持装置から第２の閉路を形成してもよい。
【０３７５】
また、第１から第ｒの閉路が形成されている場合には、以下のようにして新たな秘密鍵ｄから生成された分散情報（ｄ＿１、ｄ＿２、・・・、ｄ＿ｒ）を配布し、新たな秘密鍵を生成してもよい。ここで、ｒは２以上の整数とする。
鍵配布装置１３０は、第ｉの閉路を形成する各装置に、分散情報ｄ＿ｉから生成された各部分情報を配布する。配布方法は、上記の実施の形態における分散情報の配布方法と同様であるので、ここでの説明は省略する。
【０３７６】
認証局装置１４０は、第ｉの閉路を形成する各装置を用いて分散情報ｄ＿ｉを生成し、全ての分散情報（ｄ＿１、ｄ＿２、・・・、ｄ＿ｒ）した後、これら分散情報の総和を算出することにより、新たな秘密鍵を回復する。
また、第１から第ｒの閉路が形成されている場合において、現状の秘密鍵を回復する場合も、上記と同様の分散情報の割り当て方法、分散情報から生成された部分情報の配布方法、現状の秘密鍵の回復方法にて実現できる。
【０３７７】
（２４）上記実施の形態において、認証局装置１４０の制御部４０３に認証局証明書格納部４１３を含めるとしたが、これに限定されない。
制御部４０３に認証局証明書格納部４１３を含めなくてもよい。つまり、認証局装置１４０は、秘密鍵格納部４０１、リスト格納部４０２、制御部４０３と、第１及び第２送受信部４０４、４０５及び認証局証明書格納部４１３から構成されるとしてもよい。このとき、制御部４０３には、認証局証明書格納部４１３を除く他の構成要素が含まれている。
【０３７８】
（２５）上記実施の形態において、鍵配布装置１３０から各分散情報保持装置へ分散情報を配布する方法は、図１１にて示す方法に限定されない。
鍵配布装置１３０は、配布先の分散情報保持装置それぞれに対して、分散情報保持装置が保持すべき３つの分散情報からなる情報群を決定し、決定した情報群それぞれを対応する分散情報保持装置へ配布してもよい。この場合、どの分散情報が他装置分散情報となるかの識別を付与する。
【０３７９】
または、分散情報それぞれを対応する分散情報保持装置へ配布し、その後、分散情報保持装置それぞれに対して、分散情報保持装置が保持すべき他装置分散情報を配布するとしてもよい。
つまり、分散情報の配布方法は、結果的に、分散情報保持装置が、当該分散情報保持装置に割り当てられた１つの分散情報と、２つの他装置分散情報とを保持する方法であればよい。
【０３８０】
（２６）上記実施の形態において、鍵配布装置１３０が分散情報を生成し、各分散情報保持装置へ分散情報を配布したが、これに限定されない。
各分散情報保持装置が、分散情報を生成し、生成した分散情報を配布してもよい。
各分散情報保持装置１２１〜１２６は、それぞれで分散情報を生成し、それらの分散情報に基づく公開鍵暗号における公開鍵を生成する。
【０３８１】
この生成方法は、非特許文献５で詳しく記載されているので、ここでの説明は省略する。
各分散情報保持装置は、予め記憶している装置情報リストＴ２００に基づいて、自身の分散情報を送付する。
例えば、分散情報保持装置１２１の場合、図４１にて示すように、分散情報保持装置１２２と１２６に、分散情報２１１を送付する。
【０３８２】
分散情報保持装置１２２と１２６はそれぞれ、分散情報２１１を他装置分散情報２１１＿２、２１１＿６として保持する。
（２７）上記実施の形態において、分散情報保持装置は、隣接するように関係付けがなされた分散情報保持装置に割り当てられた分散情報を、他装置分散情報として記憶する、つまり当該分散情報と関連付けがなされた他の分散情報保持装置に割り当てられた分散情報を記憶したが、これに限定されない。
【０３８３】
分散情報保持装置は、単に、１台以上の他の分散情報保持装置に割り当てられた分散情報を保持するような構成であればよい。
（２８）上記実施の形態において、秘密分散法を用いてｋ個の分散情報を生成する際に、生成されたｋ個の分散情報の総和により元の秘密情報が復元されるように各分散情報を生成したしたが、これに限定されない。
【０３８４】
他の演算を用いて元の秘密情報が復元されるように、秘密分散法を用いてｋ個の分散情報を生成してもよい。
例えば、乗算を用いて元の秘密情報が生成されるように、秘密分散法を用いてｋ個の分散情報を生成してもよい。なお、この場合のｋ個の分散情報を生成方法は、上記（１）にて記載しているので、ここでの説明は省略する。
【０３８５】
（２９）上記の各装置は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記ＲＡＭまたはハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【０３８６】
（３０）上記の各装置を構成する構成要素の一部または全部は、１個のシステムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ：大規模集積回路）から構成されているとしてもよい。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどを含んで構成されるコンピュータシステムである。前記ＲＡＭには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムＬＳＩは、その機能を達成する。
【０３８７】
また、上記の各装置を構成する構成要素の各部は、個別に１チップ化されていても良いし、一部又は全てを含むように１チップ化されてもよい。
また、ここでは、システムＬＳＩとしたが、集積度の違いにより、ＩＣ、ＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
【０３８８】
さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
（３１）上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なＩＣカードまたは単体のモジュールから構成されているとしてもよい。前記ＩＣカードまたは前記モジュールは、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどから構成されるコンピュータシステムである。前記ＩＣカードまたは前記モジュールは、上記の超多機能ＬＳＩを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ＩＣカードまたは前記モジュールは、その機能を達成する。このＩＣカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
【０３８９】
（３２）本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ）、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
【０３９０】
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
【０３９１】
また、前記プログラムまたは前記デジタル信号を前記記録媒体に記録して移送することにより、または前記プログラムまたは前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
（３３）上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
１．７  まとめ
（１）本発明は、２以上の分散情報保持装置と、前記各分散情報保持装置から受信した分散情報に基づいて第１の秘密鍵を生成し格納する暗号装置からなる暗号システムであって、前記各分散情報保持装置は、それぞれ、第１の分散情報群を格納する第１の分散情報格納部と、第２の分散情報群を格納する第２の分散情報格納部と、前記第１の分散情報群もしくは前記第２の分散情報群に含まれる１以上の分散情報を暗号装置へ送信する分散情報送信部とを備え、前記第１の分散情報群は、それぞれ、前記第１の秘密鍵を生成するためのｋ個（ｋは２以上の整数）の分散情報の中から選択された１以上の分散情報を含み、前記第２の分散情報群は、それぞれ、前記ｋ個の分散情報の中から選択された、自装置の前記第１の分散情報群に含まれる分散情報以外の１以上の分散情報を含み、さらに、自装置の前記第１の分散情報群に含まれる各分散情報と同じと識別される分散情報が、それぞれ、自装置以外のいずれかの前記第２の分散情報群に含まれ、かつ、前記各分散情報保持装置の前記第１の分散情報群のそれぞれに含まれる分散情報の和集合が、前記ｋ個の分散情報からなる集合と等しく、前記暗号装置は、１以上の前記分散情報保持装置から、前記第１の分散情報群もしくは前記第２の分散情報群に含まれる１以上の分散情報を受信する分散情報受信部と、前記分散情報受信部で受信した１以上の分散情報を格納する分散情報格納部と、受信した前記各分散情報の和集合が前記ｋ個の分散情報と等しい場合に、前記各分散情報を用いて復元秘密鍵を生成する秘密鍵生成部と、前記復元秘密鍵を、前記第１の秘密鍵として格納する秘密鍵格納部とを備える事を特徴とする。
【０３９２】
上記構成によると、共通の分散情報を複数の分散情報保持装置で持つことができ、分散情報保持装置が不正な動作を行った場合にそれを検知することが出来る。
（２）上記（１）において、前記暗号装置は、さらに、前記第１の秘密鍵が正しいことを検証するための認証子を格納する認証子格納部と、前記認証子を用いて前記復元秘密鍵が正しいことを検証する秘密鍵検証部とを備え、前記秘密鍵格納部は、前記秘密鍵検証部において前記復元秘密鍵が正しいことを検証した場合に、前記秘密鍵生成部で生成した前記復元秘密鍵を前記第１の秘密鍵として格納するとしてもよい。
【０３９３】
この構成によると、復元秘密鍵が正しく生成できたかどうかを認証子を用いて検証することができ、分散情報保持装置から正しい分散情報が送られてきたかどうかを検証することが出来る。
（３）上記（２）において、前記分散情報保持装置は、さらに、前記認証子を格納する認証子格納部と、前記認証子を暗号装置へ送信する認証子送信部とを備え、前記暗号装置は、さらに、前記認証子を受信し、前記受信した認証子を前記認証子格納部へ格納する認証子受信部を備えるとしてもよい。
【０３９４】
この構成によると、認証子を分散情報保持装置で保持しておくことができ、暗号装置は認証局システムのセキュリティが崩壊するまで、回復に必要な分散情報や認証子を保持しておく必要がない。
（４）上記（２）又は（３）において、前記認証子は、前記第１の秘密鍵をハッシュ関数で処理したハッシュ値であり、前記秘密鍵検証部は、検証用情報として、前記復元秘密鍵をハッシュ関数で処理したハッシュ値を生成する検証用情報生成手段と、前記認証子の値と前記検証用情報の値が一致することを検証する検証手段とを備えるとしてもよい。
【０３９５】
この構成によると、秘密鍵のハッシュ値を認証子とすることができ、復元秘密鍵のハッシュ値を計算し、認証子と比較することで、復元秘密鍵が正しく復元できたかを検証できる。
（５）上記（２）又は（３）において、前記認証子は、前記第１の秘密鍵に対応する公開鍵であり、前記秘密鍵検証部は、前記復元秘密鍵と前記認証子が、公開鍵暗号の鍵対であることを検証する検証手段を備えるとしてもよい。
【０３９６】
この構成によると、公開鍵を認証子とすることができ、復元秘密鍵と認証子である公開鍵が公開鍵暗号の鍵対になっているかを検証することで、復元秘密鍵が正しく復元できたかを検証できる。
（６）上記（２）又は（３）において、前記認証子は、前記第１の秘密鍵に対応する公開鍵であり、前記秘密鍵検証部は、検証用情報として、前記復元秘密鍵を用いて検証用証明書を生成する検証用情報生成手段と、前記認証子を用いて前記検証用証明書を検証する検証手段とを備えるとしてもよい。
【０３９７】
この構成によると、公開鍵を認証子とすることができ、復元秘密鍵を用いて生成した検証用証明書を生成し、その証明書の署名検証を認証子である公開鍵を用いることで復元秘密鍵が正しく復元できたかを検証できる。
（７）上記（２）又は（３）において、前記認証子は、前記第１の秘密鍵を生成するためのｋ個の分散情報を結合した情報をハッシュ関数で処理したハッシュ値であり、前記秘密鍵検証部は、検証用情報として、前記ｋ個の分散情報を結合した情報をハッシュ関数で処理したハッシュ値を生成する検証用情報生成手段と、前記認証子の値と前記検証用情報の値が一致すること検証する検証手段とを備えるとしてもよい。
【０３９８】
この構成によると、分散情報から生成されるハッシュ値を認証子とすることができ、復元秘密鍵を生成するもとになった分散情報が正しい分散情報であったかどうかを検証できる。
（８）上記（２）から（７）において、前記分散情報受信部は、受信した前記各分散情報に前記分散情報を送信した分散情報保持装置を識別するための送信元識別情報を付け、前記暗号装置は、さらに、前記秘密鍵検証部において、前記復元秘密鍵が正しいと検証されなかった場合に、前記分散情報と前記送信元識別情報と前記認証子とを用いて、不正な分散情報を送信した分散情報保持装置を特定する不正装置特定部とを備えるとしてもよい。
【０３９９】
この構成によると、復元秘密鍵が正しく復元できなかったときに不正装置特定部を用いることで、どの分散情報保持装置が不正な情報を送ったかを特定し、排除することができ、さらに正しい復元秘密鍵を求めることができる。
（９）上記（８）において、前記第１の分散情報群および前記第２の分散情報群に含まれる分散情報は、さらに、前記分散情報を前記第１の分散情報群に含む分散情報保持装置の識別情報を含み、前記不正装置特定部は、前記２以上の分散情報保持装置である第１から第ｒの分散情報保持装置がそれぞれ保持する前記第１の分散情報群および前記第２の分散情報群に含まれる分散情報に対し、１以上の分散情報を前記識別情報を用いて同一識別分散情報群に分類し、さらに、前記各同一識別分散情報群に含まれる分散情報において、値ごとにグループに分類する分散情報分類部と、前記各同一識別分散情報群の中からそれぞれ１つのグループを選択して、前記各同一識別分散情報群それぞれに対して、前記グループを選択する組み合わせのすべてを生成する組み合わせ生成部と、前記組み合わせそれぞれにおいて、前記生成された組み合わせにより選択されたグループに含まれる分散情報を用いて、前記秘密鍵生成部により前記復元秘密鍵を生成し、前記復元秘密鍵を用いて前記秘密鍵検証部により前記復元秘密鍵を検証し、検証を通る前記復元秘密鍵を生成する組み合わせを探し、前記組み合わせにより選択されるグループに検証を通ったことを識別する検証通過識別情報を付け、前記検証通過識別情報の付いていないグループに含まれる前記分散情報の前記送信元識別情報から分散情報保持装置を特定する特定部とを備えるとしてもよい。
【０４００】
（１０）上記（１）において、前記２以上の分散情報保持装置である第１から第ｒの分散情報保持装置の中の１以上の分散情報保持装置が脱退する暗号システムであって、第ｒの分散情報保持装置が脱退する場合に、前記ｋ個の分散情報が示す値の総和が前記第１の秘密鍵であり、前記第ｒの分散情報保持装置の前記第１の分散情報群に含まれる分散情報と同じと識別される分散情報を、前記第２の分散情報群に含む分散情報保持装置である第１の分散情報保持装置は、さらに、前記第ｒの分散情報保持装置の前記第１の分散情報群に含まれる分散情報と同じと識別される、前記第２の分散情報群に含まれる分散情報を、２以上の部分情報にそれぞれ分割する分散情報分割部と、前記分割された各部分情報をそれぞれ、前記第ｒの分散情報保持装置以外のいずれかの分散情報保持装置へ送信する部分情報送信部とを備え、前記第１と第ｒの分散情報保持装置以外の分散情報保持装置は、さらに、前記第１の分散情報保持装置から１以上の前記部分情報を受信する部分情報受信部を備え、前記第ｒの分散情報保持装置以外の分散情報保持装置は、さらに、前記部分情報を用いて前記第１の分散情報群もしくは前記第２の分散情報群に含まれるすくなくとも１つの分散情報を更新する第１の分散情報更新部を備え、前記第ｒの分散情報保持装置を除く各分散情報保持装置の、前記第１の分散情報群に含まれる、更新後の分散情報を含む、各分散情報が示す値の総和が前記第１の秘密鍵と同じであるとしてもよい。
【０４０１】
この構成によると、分散情報を保持している分散情報保持装置が脱退する場合にも、分散情報から復元される復元秘密鍵の値を変えることなく分散情報保持装置を脱退させることができる。
（１１）上記（１０）において、前記分散情報送信部は、前記第１の分散情報群もしくは前記第２の分散情報群に含まれる１以上の分散情報を分散情報保持装置へ送信し、第（ｒ−１）の分散情報保持装置以外の分散情報保持装置は、さらに、前記受信した部分情報を第（ｒ−１）の分散情報保持装置へ送信する検証用部分情報送信部を備え、第ｒの分散情報保持装置の前記第１の分散情報群に含まれる分散情報と同じと識別される分散情報を、前記第２の分散情報群に含む分散情報保持装置である第（ｒ−１）の分散情報保持装置は、さらに、前記１以上の部分情報を受信する検証用部分情報受信部と、前記受信した１以上の部分情報が示す値の総和が、前記第２の分散情報群に含まれる前記第ｒの分散情報保持装置の第１の分散情報群に含まれる分散情報が示す値の和と一致することを検証する部分情報検証部とを備え、前記第ｒの分散情報保持装置以外の分散情報保持装置は、さらに、前記第１の分散情報群に含まれる１以上の分散情報を更新した場合、前記更新した分散情報と、前記更新した分散情報と同じと識別される自装置以外の分散情報保持装置の前記第２の分散情報群に含まれる１以上の分散情報とが同じ値であることを検証する第１の分散情報検証部と、前記第２の分散情報群に含まれる１以上の分散情報を更新した場合、前記更新した分散情報と、前記更新した分散情報と同じと識別される自装置以外の分散情報保持装置の前記第１あるいは第２の分散情報群に含まれる１以上の分散情報とが同じ値であることを検証する第２の分散情報検証部とを備え、前記第１と第（ｒ−１）の分散情報保持装置は、さらに、自装置以外の２以上の分散情報保持装置から前記１以上の分散情報を受信する分散情報受信部と、前記分散情報受信部により自装置以外の２以上の分散情報保持装置から受信した分散情報が同じと識別される場合に、同じと識別された前記分散情報が同じ値であることを検証する第３の分散情報検証部と、前記分散情報検証部で同じ値と検証された分散情報を用いて前記第２の分散情報群に含まれる１以上の分散情報を更新する第２の分散情報更新部とを備えるとしてもよい。
【０４０２】
（１２）上記（１）において、前記２以上の分散情報保持装置である第１から第ｒの分散情報保持装置に第（ｒ＋１）の分散情報保持装置を追加する暗号システムであって、前記ｋ個の分散情報が示す値の総和が前記第１の秘密鍵であり、前記第１と第ｒの分散情報保持装置は、さらに、第１の変形情報を生成する変形情報生成部と、前記第１の変形情報を他の分散情報保持装置へ送信する変形情報送信部と、前記第１の分散情報群に含まれる１以上の分散情報を前記第１の変形情報を用いて更新する第１の分散情報更新部とを備え、前記第１の分散情報保持装置の前記第１の分散情報群に含まれる分散情報と同じと識別される分散情報を、前記第２の分散情報群に含む分散情報保持装置である第２と第ｒの分散情報保持装置と、前記第ｒの分散情報保持装置の前記第１の分散情報群に含まれる分散情報と同じと識別される分散情報を、前記第２の分散情報群に含む分散情報保持装置である第１と第（ｒ―１）の分散情報保持装置と、第（ｒ＋１）の分散情報保持装置は、さらに、前記第１の変形情報を受信する変形情報受信部を備え、前記第１と第２と第（ｒ−１）と第ｒの分散情報保持装置は、さらに、前記第２の分散情報群に含まれる１以上の分散情報を第１の変形情報を用いて更新する第２の分散情報更新部を備え、前記第（ｒ＋１）の分散情報保持装置は、さらに、前記受信した第１の変形情報を用いて分散情報を生成する分散情報生成部と、前記生成した分散情報を前記第１の分散情報群に含まれる１以上の分散情報として前記第1の分散情報格納部へ設定する分散情報設定部とを備え、前記各分散情報保持装置の、前記第１の分散情報群に含まれる、更新後の分散情報を含む各分散情報が示す値の総和が前記第１の秘密鍵と同じであるとしてもよい。
【０４０３】
この構成によると、分散情報保持装置を新たに追加する場合にも、分散情報から復元される復元秘密鍵の値を変えることなく分散情報保持装置を追加することができる。
（１３）上記（１２）において、前記分散情報送信部は、前記第１の分散情報群もしくは前記第２の分散情報群に含まれる１以上の分散情報を分散情報保持装置へ送信し、前記第１と第ｒの分散情報保持装置は、さらに、自装置の前記第１の分散情報群に含まれる１以上の分散情報を、２以上の部分情報にそれぞれ分割する分散情報分割部と、前記分割された各部分情報をそれぞれ、自装置以外のいずれかの分散情報保持装置へ送信する部分情報送信部とを備え、前記分散情報保持装置は、さらに、１以上の前記部分情報を受信する部分情報受信部と、前記部分情報を用いて前記第１の分散情報群もしくは前記第２の分散情報群に含まれるすくなくとも１つの分散情報を更新する第３の分散情報更新部と、前記第１の分散情報群に含まれる１以上の分散情報を更新した場合、前記更新した分散情報と、前記更新した分散情報と同じと識別される自装置以外の分散情報保持装置の前記第２の分散情報群に含まれる１以上の分散情報とが同じ値であることを検証する第１の分散情報検証部と、前記第２の分散情報群に含まれる１以上の分散情報を更新した場合、前記更新した分散情報と、前記更新した分散情報と同じと識別される自装置以外の分散情報保持装置の前記第１あるいは第２の分散情報群に含まれる１以上の分散情報とが同じ値であることを検証する第２の分散情報検証部とを備え、前記第（ｒ＋１）の分散情報保持装置は、さらに、前記分散情報受信部により自装置以外の２以上の分散情報保持装置から受信した分散情報が同じと識別される場合に、同じと識別された前記分散情報が同じ値であることを検証する第３の分散情報検証部と、前記第２の分散情報検証部で同じ値と検証された分散情報を用いて前記第２の分散情報群に含まれる１以上の分散情報を更新する第４の分散情報更新部とを備えるとしてもよい。
【０４０４】
（１４）上記（１）において、前記暗号装置は、さらに、前記第２の秘密鍵を用いて暗号処理を行う暗号処理部と、前記第２の秘密鍵が無効化されたときに、前記秘密鍵格納部に格納されている前記第２の秘密鍵を前記秘密鍵生成部で生成された前記復元秘密鍵に切り替える秘密鍵切替部とを備えるとしてもよい。
この構成によると、復元秘密鍵を暗号装置が利用する秘密鍵と切り替えることができ、暗号装置が利用している秘密鍵とは異なる秘密鍵から分散情報を生成しておくことで、暗号システムのセキュリティが崩壊したときに、以前とは異なる秘密鍵を用いてシステムを回復できる。
【０４０５】
（１５）上記（１）において、前記暗号システムは、さらに、前記分散情報保持装置または暗号装置に前記分散情報または前記認証子を配布する鍵配布装置を含み、前記鍵配布装置は、前記第１の秘密鍵を生成する鍵生成部と、前記第１の秘密鍵を生成するためのｋ個（ｋは２以上の整数）の分散情報を生成する秘密鍵分散部と、前記各分散情報保持装置に対してそれぞれ、前記ｋ個の分散情報の中から選択された１以上の分散情報を、前記分散情報保持装置の第１の分散情報群に含まれる分散情報として配布し、前記選択された分散情報以外の分散情報の中から選択された１以上の分散情報を、前記分散情報保持装置の第２の分散情報群に含まれる分散情報として配布する分散情報配布部と、前記生成された秘密鍵が正しいことを検証する認証子を生成する認証子生成部と、前記認証子を前記分散情報保持装置または暗号装置へ配布する認証子配布部と、前記第１の秘密鍵と前記ｋ個の分散情報を消去する鍵消去部とを備え、前記分散情報配布部は、前記各分散情報保持装置の前記第１の分散情報群のそれぞれに含まれる分散情報の和集合が、前記ｋ個の分散情報からなる集合と等しくなるように配布するとしてもよい。
【０４０６】
（１６）本発明は、２以上の分散情報保持装置と、保持する第２の秘密鍵が無効化されたときに前記分散情報保持装置から受信した分散情報に基づいて生成した第１の秘密鍵に切り替えて利用する暗号装置からなる暗号システムであって、前記分散情報保持装置は、それぞれ、第１の分散情報群を格納する第１の分散情報格納部と、前記第１の分散情報群に含まれる１以上の分散情報を暗号装置へ送信する分散情報送信部とを備え、前記第１の分散情報群は、それぞれ、前記第１の秘密鍵を生成するためのｋ個（ｋは２以上の整数）の分散情報の中から選択された１以上の分散情報を含み、前記各分散情報保持装置の前記第１の分散情報群のそれぞれに含まれる分散情報の和集合が、前記ｋ個の分散情報からなる集合と等しく、前記暗号装置は、第２の秘密鍵を格納する秘密鍵格納部と、前記第１の秘密鍵もしくは前記第２の秘密鍵を用いて暗号処理を行う暗号処理部と、１以上の前記分散情報保持装置から１以上の分散情報を受信する分散情報受信部と、前記分散情報受信部で受信した１以上の分散情報を格納する分散情報格納部と、受信した前記各分散情報の和集合が前記ｋ個の分散情報からなる集合と等しい場合に、  前記第１の秘密鍵として、前記各分散情報を用いて復元秘密鍵を生成する秘密鍵生成部と、前記第２の秘密鍵が無効化されたときに、前記秘密鍵格納部に格納されている前記第２の秘密鍵を前記秘密鍵生成部で生成された前記復元秘密鍵に切り替える秘密鍵切替部とを備えることを特徴とする。
【０４０７】
（１７）上記（１６）において、前記暗号システムは、さらに、前記分散情報保持装置に前記分散情報を配布する鍵配布装置を含み、前記鍵配布装置は、前記第１の秘密鍵を生成する鍵生成部と、前記第１の秘密鍵を生成するためのｋ個（ｋは２以上の整数）の分散情報を生成する秘密鍵分散部と、前記各分散情報保持装置に対してそれぞれ、前記ｋ個の分散情報の中から選択された１以上の分散情報を前記分散情報保持装置の第１の分散情報群に含まれる分散情報として配布する分散情報配布部と、前記第１の秘密鍵と前記生成された分散情報を消去する鍵消去部とを備え、前記分散情報配布部は、前記各分散情報保持装置の前記第１の分散情報群のそれぞれに含まれる分散情報の和集合が、前記ｋ個の分散情報からなる集合と等しくなるように配布するとしてもよい。
【０４０８】
（１８）上記（１）又は（１６）において、前記暗号装置は、さらに、前記秘密鍵格納部に格納された秘密鍵を用いて証明書を発行する証明書発行部を備えるとしてもよい。
【産業上の利用可能性】
【０４０９】
本発明にかかる認証局システムは、共通の分散情報を複数の分散情報保持装置で持つことで、分散情報保持装置が不正な動作を行った場合にそれを検知することが出来る。
本発明は、認証局装置、分散情報保持装置及び鍵配布装置を製造及び販売する産業において、経営的、継続的、反復的に利用可能である。
【符号の説明】
【０４１０】
１００    認証局システム
１２１〜１２７    分散情報保持装置
１３０    鍵配布装置
１４０    認証局装置
２５０＿ｊ（ｊ＝1〜７）    制御部
２５１＿ｊ（ｊ＝1〜７）    分散情報格納部
２５２＿ｊ（ｊ＝1〜７）    他装置分散情報格納部
２５３＿ｊ（ｊ＝1〜７）    認証子格納部
２５４＿ｊ（ｊ＝1〜７）    リスト格納部
２５５＿ｊ（ｊ＝1〜７）    ＩＤ格納部
２５６＿ｊ（ｊ＝1〜７）    送信部
２５７＿ｊ（ｊ＝1〜７）    受信部
２６０＿ｊ（ｊ＝1〜７）    分散情報更新部
２６１＿ｊ（ｊ＝1〜７）    分散情報分割部
２６２＿ｊ（ｊ＝1〜７）    分散情報検証部
２６３＿ｊ（ｊ＝1〜７）    他装置分散情報検証部
２６４＿ｊ（ｊ＝1〜７）    部分情報検証部
２６５＿ｊ（ｊ＝1〜７）    変形情報生成部
２６６＿ｊ（ｊ＝1〜７）    リスト更新部
２６７＿ｊ（ｊ＝1〜７）    取得部
３０１    鍵ペア生成部
３０２    証明書生成部
３０３    証明書配布部
３０４    秘密鍵分散部
３０５    分散情報配布部
３０６    鍵消去部
３０７    送信部
３５１    装置情報記憶部
３５２    分散情報選択部
３５３    装置選択部
３５４    出力部
３５５    繰返制御部
４０１    秘密鍵格納部
４０２    リスト格納部
４０３    制御部
４０４    第１送受信部
４０５    第２送受信部
４１２    端末証明書発行部
４１３    認証局証明書格納部
４１４    秘密鍵生成部
４１５    秘密鍵検証部
４１６    不正装置特定部
４１７    解析部
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
１個の秘密情報から分解した第１から第ｎの分散情報のうち第ｉ番目の分散情報（ｉは１以上ｎ以下の整数）が１装置当り１情報という情報が重複しない形態で割り当てられたｎ台の保持装置のうち第ｉ番目の保持装置であって、
記憶手段と、
第ｉ番目の保持装置に割り当てられた前記第ｉ番目の分散情報を取得して、前記記憶手段へ書き込む第１書込手段と、
１台以上の他の保持装置それぞれに割り当てられた第ｉ番目の分散情報とは異なる番目の分散情報を取得する取得手段と、
取得した前記第ｉ番目の分散情報とは異なる番目の前記分散情報を前記記憶手段に書き込む第２書込手段とを備え、
第１から第ｎの保持装置は、１個以上の閉路を形成するように仮想的に配置されたｎ個のノードに対応付けられており、
前記取得手段は、同一の閉路において、当該第ｉ番目の保持装置に対応する第ｉ番目のノードに隣接する第ｉ−１及び第ｉ＋１番目のノードそれぞれに対応した第ｉ−１番目及び第ｉ＋１番目の保持装置にそれぞれ割り当てられた第ｉ−１番目及び第ｉ＋１番目の分散情報を取得し、
前記第ｉ−１若しくは第ｉ＋１番目の保持装置が、第１から第ｎの保持装置から構成されるグループから脱退する脱退対象保持装置とした場合、
第ｉ番目の保持装置は、さらに、
分散指示を受け取る受信手段と、
前記分散指示を受け取ると、前記記憶手段から、前記脱退対象保持装置に割り当てられた前記第ｉ−１若しくは前記ｉ＋１番目の分散情報を読み出す読出手段と、
読み出された前記第ｉ−１若しくは前記ｉ＋１番目の分散情報をｎ−１個の部分分散情報に分解する分散情報分解手段と、
分解されたｎ−１個の部分分散情報を、第ｉ番目の保持装置及び前記脱退対象保持装置を除く他のｎ−２台の保持装置それぞれが保持する複数の分散情報に対して、同一番目の分散情報には同一の部分分散情報が割り当たる様態で、前記ｎ−２台の保持装置へ出力する出力手段と
を含むことを特徴とする保持装置。
【請求項２】
所定の法において、前記分散情報分解手段により分解された全ての部分分散情報を加算することにより、読み出された前記第ｉ−１番目の分散情報が得られる
ことを特徴とする請求項１に記載の保持装置。
【請求項３】
１個の秘密情報から分解した第１から第ｎの分散情報のうち第ｉ番目の分散情報（ｉは１以上ｎ以下の整数）が１装置当り１情報という情報が重複しない形態で割り当てられたｎ台の保持装置のうち第ｉ番目の保持装置であって、
記憶手段と、
第ｉ番目の保持装置に割り当てられた前記第ｉ番目の分散情報を取得して、前記記憶手段へ書き込む第１書込手段と、
１台以上の他の保持装置それぞれに割り当てられた第ｉ番目の分散情報とは異なる番目の分散情報を取得する取得手段と、
取得した前記第ｉ番目の分散情報とは異なる番目の前記分散情報を前記記憶手段に書き込む第２書込手段とを備え、
第１から第ｎの保持装置は、１個以上の閉路を形成するように仮想的に配置されたｎ個のノードに対応付けられており、
前記取得手段は、同一の閉路において、当該第ｉ番目の保持装置に対応する第ｉ番目のノードに隣接する第ｉ−１及び第ｉ＋１番目のノードそれぞれに対応した第ｉ−１番目及び第ｉ＋１番目の保持装置にそれぞれ割り当てられた第ｉ−１番目及び第ｉ＋１番目の分散情報を取得し、
第ｉ−１から第ｉ＋１番目の保持装置以外の第ｐ番目の保持装置（ｐは１以上ｎ以下の整数）が、第１から第ｎ番目の保持装置から構成されるグループから脱退する脱退対象保持装置であるとした場合、
第ｉ番目の保持装置は、さらに、
前記脱退対象保持装置に対応するノードに隣接するノードに対応する保持装置から、第ｉ−１から第ｉ＋１番目の分散情報それぞれに割り当てられるべき部分分散情報を受信する受信手段と、
受信した各部分分散情報を、前記記憶手段が記憶している第ｉ−１から第ｉ＋１番目の分散情報のうち、当該部分分散情報に対応する分散情報に加算する演算手段とを含み、
受信した前記部分分散情報それぞれは、前記脱退対象保持装置に割り当てられた第ｐ番目の分散情報から分解されたものである
ことを特徴とする保持装置。
【請求項４】
所定の法において、分解された全ての部分分散情報を加算することにより、前記第ｐ番目の分散情報が得られる
ことを特徴とする請求項３に記載の保持装置。
【請求項５】
１個の秘密情報から分解した第１から第ｎの分散情報のうち第ｉ番目の分散情報（ｉは１以上ｎ以下の整数）が１装置当り１情報という情報が重複しない形態で割り当てられたｎ台の保持装置のうち第ｉ番目の保持装置であって、
記憶手段と、
第ｉ番目の保持装置に割り当てられた前記第ｉ番目の分散情報を取得して、前記記憶手段へ書き込む第１書込手段と、
１台以上の他の保持装置それぞれに割り当てられた第ｉ番目の分散情報とは異なる番目の分散情報を取得する取得手段と、
取得した前記第ｉ番目の分散情報とは異なる番目の前記分散情報を前記記憶手段に書き込む第２書込手段とを備え、
第１から第ｎの保持装置は、１個以上の閉路を形成するように仮想的に配置されたｎ個のノードに対応付けられており、
前記取得手段は、同一の閉路において、当該第ｉ番目の保持装置に対応する第ｉ番目のノードに隣接する第ｉ−１及び第ｉ＋１番目のノードそれぞれに対応した第ｉ−１番目及び第ｉ＋１番目の保持装置にそれぞれ割り当てられた第ｉ−１番目及び第ｉ＋１番目の分散情報を取得し、
前記閉路において１個の新たなノードが前記ｉ番目の保持装置に対応するｉ番目のノードと隣接する状態で追加され、前記新たなノードに新たな追加保持装置を対応付けた場合、
第ｉ番目の保持装置は、さらに、
前記追加保持装置が追加される旨の通知を受け取る受信手段と、
前記通知を受け取ると、前記記憶手段から、第ｉ番目の保持装置に割り当てられた第ｉ番目の分散情報を読み出す読出手段と、
追加部分情報を生成する生成手段と、
生成された前記追加部分情報を用いて、読み出された前記第ｉ番目の分散情報に対して演算を施し、得られた演算結果を新たな第ｉ番目の分散情報として、読み出された前記第ｉ番目の分散情報に代えて、前記記憶手段へ書き込む演算手段と、
生成された前記追加部分情報を前記追加保持装置へ出力する出力手段と
を含むことを特徴とする保持装置。
【請求項６】
前記演算手段は、所定の法において、読み出された前記第ｉ番目の分散情報から前記追加部分情報を減ずることにより、前記演算結果を得る
ことを特徴とする請求項５に記載の保持装置。
【請求項７】
第ｉ番目の保持装置において、
前記出力手段は、さらに、生成された追加部分情報を、第ｉ番目の保持装置に割り当てられた第ｉ番目の分散情報を保持する他の保持装置へ出力する
ことを特徴とする請求項５に記載の保持装置。
【請求項８】
前記受信手段は、さらに、前記新たなノードと隣接する第ｉ−１若しくは第ｉ＋１番目のノードに対応する第ｉ−１若しくは第ｉ＋１番目の保持装置から第２の追加部分情報を受信し、
前記演算手段は、さらに、前記生成手段により生成された前記追加部分情報及び前記受信手段により受信した第２の追加部分情報に演算を施して前記追加保持装置に割り当てられる分散情報を生成し、前記追加保持装置の追加によって第ｉ番目の保持装置に対応する第ｉ番目のノードと非隣接となる第ｉ−１若しくは第ｉ＋１番目のノードに対応する第ｉ−１若しくは第ｉ＋１番目の保持装置に割り当てられた第ｉ−１若しくは第ｉ＋１番目の分散情報の代わりに、生成した前記追加分散情報を前記追加保持装置に割り当てられた分散情報として前記記憶手段に書き込む
ことを特徴とする請求項５に記載の保持装置。
【請求項９】
前記演算手段は、所定の法において、前記追加部分情報及び前記第２の追加部分情報を加算することにより、前記追加分散情報を得る
ことを特徴とする請求項８に記載の保持装置。
【請求項１０】
前記読出手段は、さらに、前記記憶手段から、当該第ｉ番目の保持装置に新たに割り当てられた新たな第ｉ番目の分散情報を読み出し、
前記演算手段は、さらに、読み出した前記新たな第ｉ番目の分散情報をｎ＋１個の部分分散情報に分解し、
出力手段は、さらに、分解した各部分分散情報を、所定の割り当て規則に基づいて、前記追加保持装置を含むｎ＋１台の保持装置のうち第ｉ番目の保持装置を除く他の保持装置それぞれへ出力し、
前記所定の割当規則は、前記他の保持装置それぞれが保持する複数の分散情報のうち、前記第ｉ番目の分散情報とは異なる番目の分散情報に対しては、１分散情報当り１部分分散情報という情報が重複しない形態で割り当て、前記第ｉ番目の分散情報に対しては、前記重複しない形態で割り当てられた全ての部分分散情報を割り当てる
ことを特徴とする請求項５に記載の保持装置。
【請求項１１】
１個の秘密情報から分解した第１から第ｎの分散情報のうち第ｉ番目の分散情報（ｉは１以上ｎ以下の整数）が１装置当り１情報という情報が重複しない形態で割り当てられたｎ台の保持装置のうち第ｉ番目の保持装置であって、
記憶手段と、
第ｉ番目の保持装置に割り当てられた前記第ｉ番目の分散情報を取得して、前記記憶手段へ書き込む第１書込手段と、
１台以上の他の保持装置それぞれに割り当てられた第ｉ番目の分散情報とは異なる番目の分散情報を取得する取得手段と、
取得した前記第ｉ番目の分散情報とは異なる番目の前記分散情報を前記記憶手段に書き込む第２書込手段とを備え、
第１から第ｎの保持装置は、１個以上の閉路を形成するように仮想的に配置されたｎ個のノードに対応付けられており、
前記取得手段は、同一の閉路において、当該第ｉ番目の保持装置に対応する第ｉ番目のノードに隣接する第ｉ−１及び第ｉ＋１番目のノードそれぞれに対応した第ｉ−１番目及び第ｉ＋１番目の保持装置にそれぞれ割り当てられた第ｉ−１番目及び第ｉ＋１番目の分散情報を取得し、
前記閉路において１個の新たなノードが前記ｉ番目の保持装置に対応するｉ番目のノードと隣接する第ｉ−１若しくは第ｉ＋１番目のノードにさらに隣接する状態で追加され、前記新たなノードに新たな追加保持装置を対応付けた場合、
第ｉ番目の保持装置は、さらに、
前記新たなノードと隣接する第ｉ−１若しくは第ｉ＋１番目のノードに対応する第ｉ−１若しくは第ｉ＋１番目の保持装置から、追加部分情報を受信する受信手段と、
前記記憶手段から前記追加部分情報の送信元である前記第ｉ−１若しくは第ｉ＋１番目の保持装置に割り当てられた前記第ｉ−１若しくは第ｉ＋１番目の分散情報を読み出す読出手段と、
受信された前記追加部分情報を用いて、読み出された前記第ｉ−１若しくは第ｉ＋１番目の分散情報に対して演算を施し、得られた演算結果を、読み出された前記第ｉ−１若しくは第ｉ＋１番目の分散情報に代えて、前記第ｉ−１若しくは第ｉ＋１番目の保持装置に割り当てられた新たな第ｉ−１若しくは第ｉ＋１番目の分散情報として、前記記憶手段へ書き込む演算手段と
を含むことを特徴とする保持装置。
【請求項１２】
前記受信手段は、さらに、前記新たなノードに隣接するノードに対応する隣接保持装置から、前記記憶手段にて記憶されている第ｉ−１から第ｉ＋１の分散情報それぞれに対して割り当てられるべき１個以上の部分分散情報を受信し、
前記演算手段は、さらに、受信した部分分散情報それぞれを用いて、前記記憶手段に記憶されている第ｉ−１から第ｉ＋１の分散情報に演算を施し、演算結果を新たな第ｉ−１から第ｉ＋１の分散情報として前記記憶手段に書き込み、
受信した前記１個以上の部分分散情報それぞれは、前記隣接保持装置に割り当てられた分散情報から分解されたものである
ことを特徴とする請求項１１に記載の保持装置。
【請求項１３】
１個の秘密情報から生成された第１から第ｎの分散情報をそれぞれ保持する第１から第ｎの既保持装置から構成されるグループに新たに追加される保持装置であって、
少なくとも２台の既保持装置からそれぞれ追加部分情報を受信する受信手段と、
受信した全ての前記追加部分情報を用いて、自身に割り当てられた分散情報を生成する生成手段と、
生成した前記分散情報を記憶する記憶手段と
を備えることを特徴とする保持装置。
【請求項１４】
前記生成手段は、所定の法において、受信した前記追加部分情報それぞれを加算することにより、前記分散情報を生成する
ことを特徴とする請求項１３に記載の保持装置。
【請求項１５】
前記受信手段は、さらに、前記追加部分情報の送信元である２台の既保持装置のうち少なくとも１の既保持装置から部分分散情報を受信し、
前記演算手段は、さらに、受信した部分分散情報を用いて、前記記憶手段に記憶されている分散情報に演算を施し、自身に割り当てられた新たな分散情報として、演算結果を前記記憶手段に書き込み、
受信した前記部分分散情報は、前記他の保持装置に割り当てられた分散情報から生成されたものである
ことを特徴とする請求項１４に記載の保持装置。
【請求項１６】
認証局装置であって、
第１から第ｎの保持装置に冗長に割り当てられて記憶している分散情報から冗長性のないｎ個の分散情報を受信する受信手段と、
受信したｎ個の前記分散情報を用いて、仮に秘密情報を復元する復元手段と、
復元した秘密情報の正当性を検証する検証手段と、
復元した秘密情報が正当でないと認められた場合に、各保持装置が保持する残りの分散情報と、復元に用いたｎ個の分散情報とを用いて、不正に改竄された分散情報を保持する保持装置を特定する特定手段と
を備えることを特徴とする認証局装置。
【請求項１７】
第１から第ｎの保持装置は、１個以上の閉路を形成するように配置されたｎ個のノードに対応付けられており、
第ｉ番目の保持装置（ｉは１以上ｎ以下の整数）は、当該第ｉ番目の保持装置に割り当てられた第ｉ番目の分散情報と、同一の閉路において当該第ｉ番目の保持装置に対応する第ｉ番目のノードの両側に隣接する第ｉ−１及び第ｉ＋１番目のノードそれぞれに対応付けられた第ｉ−１及び第ｉ＋１番目の保持装置に割り当てられた第ｉ−１及び第ｉ＋１番目の分散情報とを保持しており、
前記受信手段は、第１から第ｎの保持装置それぞれに割り当てられた第１から第ｎの分散情報を受信することにより、冗長性のないｎ個の分散情報を受信し、
前記特定手段は、
各保持装置が保持する残りの分散情報を取得し、第ｉ番目の保持装置に割り当てられた第ｉ番目の分散情報と、第ｉ−１及び第ｉ＋１番目の保持装置がそれぞれが保持する第ｉ番目の保持装置に割り当てられた第ｉ番目の分散情報それぞれとが、同一の情報として第ｉ番目のグループに属するように、各保持装置から取得した全ての分散情報を第１から第ｎのグループに分類する第１分類部と、
第１から第ｎ番目のグループそれぞれについて、内容が同一となる分散情報が同じサブグループに属するように、当該グループに含まれる複数の分散情報を分類する第２分類部と、
第１から第ｎのグループそれぞれから、１個のサブグループを選択し、選択したｎ個のサブグループそれぞれから１個の分散情報を選択し、ｎ個の分散情報から構成される組合せを生成する組合生成部と、
生成した組合せに含まれる全ての分散情報を用いて、秘密情報を生成することにより、分散情報の正当性を検証する検証部と、
正当であると認められる場合に、サブグループに含まれている分散情報を保持する保持装置を正当とみなして、当該保持装置を排除する排除部とを含み、
前記特定手段は、残りの保持装置の中から不正に改竄された分散情報を保持する保持装置を特定する
ことを特徴とする請求項１６に記載の認証局装置。
【請求項１８】
前記復元手段は、さらに、不正に改竄された分散情報を保持すると特定された保持装置を除き、他の保持装置から受け取った複数の分散情報のうち冗長性のないｎ個の分散情報を用いて、秘密情報を復元する
ことを特徴とする請求項１７に記載の認証局装置。
【請求項１９】
１個の秘密情報から分解した第１から第ｎの分散情報のうち第ｉ番目の分散情報（ｉは１以上ｎ以下の整数）が１装置当り１情報という情報が重複しない形態で割り当てられたｎ台の保持装置のうち第ｉ番目の保持装置で用いられる保持方法であって、
前記第ｉ番目の保持装置は、
記憶手段を備え、
前記保持方法は、
第ｉ番目の保持装置に割り当てられた前記第ｉ番目の分散情報を取得して、前記記憶手段へ書き込む第１書込ステップと、
１台以上の他の保持装置それぞれに割り当てられた第ｉ番目の分散情報とは異なる番目の分散情報を取得する第１取得ステップと、
取得した前記第ｉ番目の分散情報とは異なる番目の前記分散情報を前記記憶手段に書き込む第２書込ステップとを含み、
第１から第ｎの保持装置は、１個以上の閉路を形成するように仮想的に配置されたｎ個のノードに対応付けられており、
前記保持方法は、さらに、
同一の閉路において、当該第ｉ番目の保持装置に対応する第ｉ番目のノードに隣接する第ｉ−１及び第ｉ＋１番目のノードそれぞれに対応した第ｉ−１番目及び第ｉ＋１番目の保持装置にそれぞれ割り当てられた第ｉ−１番目及び第ｉ＋１番目の分散情報を取得する第２取得ステップと、
前記第ｉ−１若しくは第ｉ＋１番目の保持装置が、第１から第ｎの保持装置から構成されるグループから脱退する脱退対象保持装置とした場合、分散指示を受け取る受信ステップと、
前記分散指示を受け取ると、前記記憶手段から、前記脱退対象保持装置に割り当てられた前記第ｉ−１若しくは前記ｉ＋１番目の分散情報を読み出す読出ステップと、
読み出された前記第ｉ−１若しくは前記ｉ＋１番目の分散情報をｎ−１個の部分分散情報に分解する分解ステップと、
分解されたｎ−１個の部分分散情報を、第ｉ番目の保持装置及び前記脱退対象保持装置を除く他のｎ−２台の保持装置それぞれが保持する複数の分散情報に対して、同一番目の分散情報には同一の部分分散情報が割り当たる様態で、前記ｎ−２台の保持装置へ出力する出力ステップと
を含むことを特徴とする保持方法。
【請求項２０】
１個の秘密情報から分解した第１から第ｎの分散情報のうち第ｉ番目の分散情報（ｉは１以上ｎ以下の整数）が１装置当り１情報という情報が重複しない形態で割り当てられたｎ台の保持装置のうち第ｉ番目の保持装置で用いられる保持のためのコンピュータプログラムを記録しているコンピュータ読み取り可能な記録媒体であって、
前記第ｉ番目の保持装置は、
記憶手段を備え、
前記記録媒体は、コンピュータに対して、
第ｉ番目の保持装置に割り当てられた前記第ｉ番目の分散情報を取得して、前記記憶手段へ書き込む第１書込ステップと、
１台以上の他の保持装置それぞれに割り当てられた第ｉ番目の分散情報とは異なる番目の分散情報を取得する取得ステップと、
取得した前記第ｉ番目の分散情報とは異なる番目の前記分散情報を前記記憶手段に書き込む第２書込ステップとを実行させ、
第１から第ｎの保持装置は、１個以上の閉路を形成するように仮想的に配置されたｎ個のノードに対応付けられており、
前記記録媒体は、さらに、前記コンピュータに対して、
同一の閉路において、当該第ｉ番目の保持装置に対応する第ｉ番目のノードに隣接する第ｉ−１及び第ｉ＋１番目のノードそれぞれに対応した第ｉ−１番目及び第ｉ＋１番目の保持装置にそれぞれ割り当てられた第ｉ−１番目及び第ｉ＋１番目の分散情報を取得する第２取得ステップと、
前記第ｉ−１若しくは第ｉ＋１番目の保持装置が、第１から第ｎの保持装置から構成されるグループから脱退する脱退対象保持装置とした場合、分散指示を受け取る受信ステップと、
前記分散指示を受け取ると、前記記憶手段から、前記脱退対象保持装置に割り当てられた前記第ｉ−１若しくは前記ｉ＋１番目の分散情報を読み出す読出ステップと、
読み出された前記第ｉ−１若しくは前記ｉ＋１番目の分散情報をｎ−１個の部分分散情報に分解する分解ステップと、
分解されたｎ−１個の部分分散情報を、第ｉ番目の保持装置及び前記脱退対象保持装置を除く他のｎ−２台の保持装置それぞれが保持する複数の分散情報に対して、同一番目の分散情報には同一の部分分散情報が割り当たる様態で、前記ｎ−２台の保持装置へ出力する出力ステップと
を実行させるためのコンピュータプログラムを記録していることを特徴とする記録媒体。
【請求項２１】
認証局装置で用いられる方法であって、
第１から第ｎの保持装置に冗長に割り当てられて記憶している分散情報から冗長性のないｎ個の分散情報を受信する受信ステップと、
受信したｎ個の前記分散情報を用いて、仮に秘密情報を復元する復元ステップと、
復元した秘密情報の正当性を検証する検証ステップと、
復元した秘密情報が正当でないと認められた場合に、各保持装置が保持する残りの分散情報と、復元に用いたｎ個の分散情報とを用いて、不正に改竄された分散情報を保持する保持装置を特定する特定ステップと
を含むことを特徴とする方法。
【請求項２２】
認証局装置で用いられるコンピュータプログラムを記録しているコンピュータ読み取り可能な記録媒体であって、
コンピュータに対して、
第１から第ｎの保持装置に冗長に割り当てられて記憶している分散情報から冗長性のないｎ個の分散情報を受信する受信ステップと、
受信したｎ個の前記分散情報を用いて、仮に秘密情報を復元する復元ステップと、
復元した秘密情報の正当性を検証する検証ステップと、
復元した秘密情報が正当でないと認められた場合に、各保持装置が保持する残りの分散情報と、復元に用いたｎ個の分散情報とを用いて、不正に改竄された分散情報を保持する保持装置を特定する特定ステップと
を実行させるためのコンピュータプログラムを記録していることを特徴とする記録媒体。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2008099682.tif 000044
【図２】
2008099682.tif 000045
【図３】
2008099682.tif 000046
【図４】
2008099682.tif 000047
【図５】
2008099682.tif 000048
【図６】
2008099682.tif 000049
【図７】
2008099682.tif 000050
【図８】
2008099682.tif 000051
【図９】
2008099682.tif 000052
【図１０】
2008099682.tif 000053
【図１１】
2008099682.tif 000054
【図１２】
2008099682.tif 000055
【図１３】
2008099682.tif 000056
【図１４】
2008099682.tif 000057
【図１５】
2008099682.tif 000058
【図１６】
2008099682.tif 000059
【図１７】
2008099682.tif 000060
【図１８】
2008099682.tif 000061
【図１９】
2008099682.tif 000062
【図２０】
2008099682.tif 000063
【図２１】
2008099682.tif 000064
【図２２】
2008099682.tif 000065
【図２３】
2008099682.tif 000066
【図２４】
2008099682.tif 000067
【図２５】
2008099682.tif 000068
【図２６】
2008099682.tif 000069
【図２７】
2008099682.tif 000070
【図２８】
2008099682.tif 000071
【図２９】
2008099682.tif 000072
【図３０】
2008099682.tif 000073
【図３１】
2008099682.tif 000074
【図３２】
2008099682.tif 000075
【図３３】
2008099682.tif 000076
【図３４】
2008099682.tif 000077
【図３５】
2008099682.tif 000078
【図３６】
2008099682.tif 000079
【図３７】
2008099682.tif 000080
【図３８】
2008099682.tif 000081
【図３９】
2008099682.tif 000082
【図４０】
2008099682.tif 000083
【図４１】
2008099682.tif 000084
【国際調査報告】
2008099682.tif 000085
2008099682.tif 000086
2008099682.tif 000087
2008099682.tif 000088