説明

データの分散管理システム

【課題】 従来の秘密分散法の管理方法は、元データから生成した複数の分散データの1つを共通鍵で暗号化し、公開鍵で該共通鍵を暗号化して残りの分散データと共に1箇所に格納するため、共通鍵が復号されると容易に元データを復元できる問題点があった。また、閾値秘密分散法では所定数の分散情報を集めると秘密情報が部分的に復元でき、所定数に足りなくても特定の分散情報の組み合わせで秘密情報の特定部分が復元できるため、情報の秘匿性に欠ける問題点もあった。
【解決手段】 本発明は、各手段で生成された素数p、整数x、乱数aijを用いて秘密情報20から分割情報21の5つ組みの成分を生成し、分散配置手段16でn個の分割情報21を各サーバ3に分散して管理し、復元の際は、収集した分割情報21が復元に必要な条件を満たすと復元可能性判別手段18で判別された場合のみ復元手段19で秘密情報20に復元できることで解決する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、秘密分散法を用いて秘密情報から複数個の分割情報を生成して複数のサーバに分散して管理し、分散配置されたサーバから複数個の分割情報を収集し、収集した分割情報が復元に必要な条件を満たしている場合に限り秘密情報が復元できるデータの分散管理システムに関するものである。
【背景技術】
【0002】
近年、情報資産を安全に管理することに関する意識の高まりにより、個人情報や秘密情報のデータをより安全に保管できるセキュリティ技術の提供が求められている。
【0003】
従来のデータの管理方法には、秘密分散法を用いてデータの暗号化を行うものがあり、分散データ生成手段11で元データDから複数(n、但しn≧2)の分散データを生成し、鍵暗号化手段12で1つの分散データP(min)を共通鍵で暗号化して鍵暗号分散データを生成し、また公開鍵で共通鍵を暗号化して共通鍵暗号化データを生成して、他の分散データPreg(1)〜Preg(n−1)とともに格納する。そして、これらの各種データの送受信を行い、鍵復号化手段23で共通鍵、分散データP(min)を復号し、データ復元手段24で復号された分散データP(min)とPreg(1)〜Preg(n−1)とから元データDを復元する技術が特許文献1に記載されている。
【0004】
また、(d,k,n)閾値秘密分散法を用いたデータ管理方法では、秘密情報Sについて任意の(k−d+1)個から(k−1)個までの分割情報を集めると元の秘密情報Sが部分的に復元可能である。所定の数に足りなくても特定の分割情報の組み合わせからは秘密情報Sの特定の分割情報S(0≦t≦d−1)のみが復元可能であり、他の分割情報S(0≦u≦d−1,u≠t)は復元不可能とした秘密情報の復元を制御する技術が特許文献2に記載されている。
【特許文献1】特開2006−311383号公報
【特許文献2】特開2005−130404号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、上記の如く従来の秘密分散法を用いたデータの管理方法では、元データから生成した複数の分散データの1つに対して共通鍵で暗号化し、更に公開鍵でこの共通鍵を暗号化して、残りの分散データと共に1つの格納部に格納している。そのため少ないハードウェア資源でこれらのデータを保管することができても、暗号化された共通鍵が復号されてしまうと、同一の格納部に保存してある全ての分散データから容易に元データを復元できてしまう問題点があった。
【0006】
また、閾値秘密分散法では所定の数の分散情報を集めると秘密情報が部分的に復元できてしまう問題点もあった。
【0007】
更に、収集した分散情報が所定の数に足りなくても、特定の分散情報の組み合わせにより秘密情報の特定の部分情報のみが復元できるため全ての秘密情報は復元できないが、情報の秘匿性に欠ける問題点もあった。
【0008】
最後に、秘密情報をより安全に効率よく保管することや、データの暗号化あるいは復号化に用いる鍵のリスク分散を実現するデータの管理方法が望まれていた。
【課題を解決するための手段】
【0009】
本発明は、上述した問題点に鑑みて為されたものであり、法の値(s)、秘密情報(γ)から生成する分割情報の個数(n)、および秘密情報を復元するために必要な分割情報の個数の閾値(k)を設定する条件設定手段と、k個の任意の素数(p)を生成して、前記素数を加算した合計値を復元可能性の重みの情報(m)とする素数生成手段と、k個の前記素数(p)と任意に生成した乱数(aij)を用い、前記素数を底とする前記乱数のべき乗の積を分割情報に関する情報(α)とする第1の成分生成手段と、前記法の値のオイラー関数に1を加算した値を2つの整数yおよび整数zの積に分解し、前記整数yあるいは整数zをk個の整数(x)の和に分解する整数生成手段と、k個の前記整数(x)と前記乱数(aij)を用い、前記整数と前記乱数の積の和からなる連立1次方程式を復元に関する情報(β)とする第2の成分生成手段と、前記整数yあるいは整数zと前記秘密情報と前記法の値とを用いて秘密情報に関する情報(Γ)を生成する第3の成分生成手段と、前記分割情報に関する情報(α)、前記復元に関する情報(β)、前記秘密情報に関する情報(Γ)、前記復元可能性の重みの情報(m)および前記法の値(s)の5つ組で構成される前記分割情報を予め用意した複数のサーバに1つずつ分散配置する分散配置手段と、前記サーバから複数の前記分割情報を収集する分割情報収集手段と、収集された前記分割情報の前記分割情報に関する情報(α)を素因数分解して素数を取り出し、取り出した前記素数の合計値を算出し、復元に必要な条件を満たしているかを判別する復元可能性判別手段と、前記復元に必要な条件を満たしている場合には、収集された前記分割情報の前記復元に関する情報(β)と前記復元可能性判別手段で素因数分解をして得た指数(aij)とを用いて連立1次方程式を生成し、前記連立1次方程式の解と前記秘密情報に関する情報と前記法の値とを用いて前記秘密情報(γ)を復元する復元手段とを有することで解決するものである。
【0010】
また、本発明では、前記復元に必要な条件は、取り出した前記素数の合計値と前記復元可能性の重みの情報の値が一致し、かつ収集された前記分割情報の個数がk個以上であることを特徴とする。
【0011】
更に、本発明では、前記条件設定手段により、前記法の値は任意に定めた2つ以上の素数の積で生成されることを特徴とする。
【発明の効果】
【0012】
上述したように、本発明のデータの分散管理システムは、素数生成手段で生成したk個の任意の素数(p)と乱数(aij)とを用いて分割情報に関する情報(α)を生成する第1の成分生成手段と、条件設定手段で設定した法の値(s)を分解して得た整数zあるいは整数yを更に整数生成手段でk個の整数(x)の和に分解し、整数(x)と乱数(aij)とを用いて復元に関する情報(β)を生成する第2の成分生成手段と、第3の成分生成手段で生成した秘密情報に関する情報(Γ)とを含む5つ組の成分からなる分割情報を複数サーバに分散配置する分散配置手段とを有することにより、秘密情報(γ)から生成したn個の分割情報をそれぞれ分散して管理することができる。そして、分割情報収集手段で収集した分割情報を用いて素数を取り出し、復元に必要な条件を満たしているかを復元可能性判別手段で判別し、必要な条件を満たしている場合には復元に関する情報(β)と復元可能性判別手段で素因数分解をして得た指数(aij)とを用いて連立1次方程式を生成し、連立1次方程式の解と秘密情報に関する情報(Γ)と法の値(s)とを用いて秘密情報(γ)を復元する復元手段とを有することにより、復元可能な条件を満たした場合のみ収集した分割情報より秘密情報が復元できる。これにより、秘密情報をn個に分割して安全に管理し、また復元可能な条件を満たさない限り、収集した分割情報から秘密情報を部分的あるいは全体的に復元することはできないので、秘密情報の秘匿性を提供することができる。
【0013】
また、本発明では、収集した分割情報から取り出した素数の合計値と復元可能性の重みの情報(m)が一致し、かつ収集された分割情報の個数がk個以上であることを復元に必要な条件とするため、収集した分割情報から秘密情報の部分的あるいは全てが漏洩することを防げ、機密性を確保することができる。これにより、所定数の分散情報から秘密情報を部分的に復元できたり、所定数に満たない場合でも特定の分散情報の組み合わせで秘密情報の特定の部分情報のみが復元できる従来の秘密分散法の問題点を回避できる。
【0014】
更に、本発明では、法の値は任意に定めた2つ以上の素数の積で生成されるので、法の値から素因数分解で元の素数を取り出すことは困難である。これにより、悪意に分割情報を収集した場合に対し、秘密情報の復元処理を困難にすることができる。
【0015】
更に、本発明では、秘密情報をより安全に効率よく保管することや、暗号化あるいは復号化に用いる鍵のリスク分散を実現する管理方法を提供している。
【発明を実施するための最良の形態】
【0016】
秘密分散法とは秘密情報を安全に保管する方法のことであり、その方法のひとつにShamirにより提案された秘密分散法がある。Shamirの秘密分散法は、秘密情報に対して数学的処理を行って分散符号化し、複数個の分散情報に分割する。そしてこの生成された全てあるいは一定数以上の分散情報から元の秘密情報が復元可能とし、この分散情報が一定数より少ない場合には、それらの分散情報からは元の秘密情報が復元できない方法である。また、一般に知られている秘密分散法は(k,n)閾値法であり、生成したn個の分散情報のうちk個以上の分散情報があれば秘密情報を復元可能とし、k個未満の分散情報からは秘密情報を復元できないとする方法である。
【0017】
以下に、本発明における実施の形態について、図1〜図5を参照にして詳細に説明する。
【0018】
図1は本発明の一実施の形態であるデータの分散管理システムの構成を説明する図であり、図2は本発明の一実施の形態であるデータの分散管理システムにより秘密情報が分散符号化された状態を表した図である。
【0019】
図1に示すごとく、データの分散管理システムは、コンピュータ端末1と、ネットワーク2と、ネットワーク2を介してコンピュータ端末1とアクセスが行われる複数のサーバ3とを含むシステムで構成される。
【0020】
コンピュータ端末1は、少なくとも入力部、出力部、表示部、記憶部、演算部等を備えたコンピュータである。例えば、条件設定手段10、素数生成手段11、第1の成分生成手段12、整数生成手段13、第2の成分生成手段14、第3の成分生成手段15、分散配置手段16、分割情報収集手段17、復元可能性判別手段18、復元手段19を備え、管理したい秘密情報20から複数の分割情報21を生成して、それらを複数のサーバ3に配置して管理し、また収集した一部の分割情報21を用いて秘密情報20を復元する。
【0021】
条件設定手段10は、法の値(s)、秘密情報(γ)20から生成する分割情報21の個数(n)、および秘密情報20を復元するために必要な分割情報21の個数の閾値(k)を設定する手段であり、設定されたデータはコンピュータ端末1の記憶部に保存される。法の値(s)とは2つ以上の任意個の素数の積の値であり、法あるいはmod(モジュロ)と呼ばれる計算法は割り算を行った後の余りが答えとなる計算である。例えば、「3を法とする世界」では答えが必ず0〜2となり、「mod 3をとる」と同等の意味である。秘密情報20とは個人情報等の第3者に知られたくない情報であり、分割情報21とは元の秘密情報とは相関性のない情報である。
【0022】
素数生成手段11は、k個の任意の素数(p)を生成して、その素数を加算した合計値を復元可能性の重みの情報(m)とする手段であり、設定されたデータはコンピュータ端末1の記憶部に保存される。復元可能性の重みの情報(m)は、
【0023】
【数1】

で表される。
【0024】
第1の成分生成手段12は、k個の素数(p)と任意に生成した乱数(aij)を用い、素数を底とする乱数のべき乗の積を分割情報に関する情報(α)とする手段である。分割情報に関する情報(α)は、
α=pai1×pai2×…×paik
(1≦i≦n),(1≦j≦k)
の式で生成され、条件設定手段10で設定されたn個の分割情報に関する情報(α)が生成される。
【0025】
整数生成手段13は、法の値(s)のオイラー関数に1を加算した値を2つの整数yおよび整数zの積に分解し、整数yあるいは整数z(ここでは、整数zを用いるとする)をk個の整数(x)の和に分解する手段である。整数yおよび整数zは、
φ(s)+1≡yz(mod s)
の式を満たす値であり、整数zを分解して生成されるk個の整数(x)は
z=x+x+…+x
と表せる。尚、素数生成手段11で生成された素数(p)と整数(x)は1対1に対応させる。
【0026】
第2の成分生成手段14は、k個の整数(x)と乱数(aij)を用い、整数と乱数の和からなる連立1次方程式を復元に関する情報(β)とする手段である。復元に関する情報(β)は、
β=ai1×x+ai2×x+…+aik×x
(1≦i≦n),(1≦j≦k)
の式で生成され、条件設定手段10で設定されたn個の復元に関する情報(β)が生成される。
【0027】
第3の成分生成手段15は、整数yと秘密情報20を用いて秘密情報に関する情報(Γ)を生成する手段である。秘密情報に関する情報(Γ)は、
γ≡Γ(mod s)
の式を満たす。
【0028】
分散配置手段16は、分割情報に関する情報(α)、復元に関する情報(β)、秘密情報に関する情報(Γ)、復元可能性の重みの情報(m)および法の値(s)の5つ組で構成される分割情報21を予め用意した複数のサーバ3に1つずつ分散配置する手段である。例えば、図2に示すごとく、秘密情報20はn個(この場合は5個)の分割情報21a、21b、21c、21d、21eに分割され、分割情報は左から順に{α,β,Γ,m,s}と並べられ、各成分の間はカンマで区切られている。
【0029】
分割情報収集手段17は、サーバ3から複数の分割情報21を収集する手段である。
【0030】
復元可能性判別手段18は、収集された分割情報21の分割情報に関する情報(α)を素因数分解して素数(p)を取り出し、取り出した素数の合計値を算出し、復元に必要な条件を満たしているかを判別する手段である。復元に必要な条件は、取り出した素数の合計値と復元可能性の重みの情報(m)の値とが一致し、かつ収集された分割情報21の個数がk個以上であることを満たすか否かである。
【0031】
復元手段19は、復元に必要な条件を満たしている場合には、収集された分割情報21の復元に関する情報(β)と復元可能性判別手段18で素因数分解をして得た指数(aij)とを用いて連立1次方程式を生成し、連立1次方程式の解の和と秘密情報に関する情報(Γ)と法の値(s)とを用いて秘密情報(γ)を復元する手段である。ここで、復元に必要な条件を満たす場合には、連立1次方程式の解はx、x、…、xとなり、これら解の和
+x+…+x
は、整数生成手段13で生成した整数zと一致する。そして、以下の式
Γ≡γ(mod s)
に収集した分割情報21の成分(この場合は、Γ、s)を当てはめると秘密情報(γ)20を復元できる。
【0032】
ネットワーク2は、ハードウェア、ソフトウェア、データなどを共有する目的でコンピュータを結び付けた状態であり、例えば、LAN(Local Area Network)を利用して同一フロア、同一建物ないしは近隣の建物内にあるコンピュータ同士を接続したり、WAN(Wide Area Network)を利用して遠隔地にあるコンピュータ同士を公衆回線網で接続したりする。
【0033】
サーバ3は、ネットワーク2を介してコンピュータ端末1とアクセスできる端末であり、少なくとも入力部、出力部、表示部、記憶部、演算部とを備えている。例えば、コンピュータ端末1で生成した分割情報が分割情報分散配置手段13によりサーバ3の記憶部に保存される。
【0034】
次に図3は、本発明の一実施の形態であるデータの分散管理システムの処理を説明するフローチャートである。
【0035】
まず、条件設定手段10により法の値(s)と秘密情報(γ)20から生成する分割情報21の個数(n)および復元に必要な分割情報の個数の閾値(k)を設定する(ステップS1)。設定されたデータはコンピュータ端末1の記憶部へ保存される。
【0036】
続いて、素数生成手段11でk個の素数(p)を生成し、その素数の合計値を算出して復元可能性の重み情報(m)の値を生成する(ステップS2)。
【0037】
そして、第1の成分生成手段12でk個の素数(p)と任意に生成した乱数(aij)とを用いて分割情報に関する情報(α)をn個生成する(ステップS3)。尚、分割情報に関する情報(α)は、pai1×pai2×…×paikで表される。
【0038】
そして、整数生成手段13で法の値(s)を用いて2つの整数y、整数zに分解し、整数zあるいは整数yをk個の整数(x)の和に分解をする(ステップS4)。ここでは、整数zを用いて以下の処理を進めていく。
【0039】
そして、第2の成分生成手段14でk個の整数(x)と乱数(aij)とを用いて、復元に関する情報(β)をn個生成する(ステップS5)。尚、復元に関する情報(β)は、ai1×x+ai2×x+…+aik×x=βと連立1次方程式で表される。
【0040】
そして、第3の成分生成手段15で整数yと秘密情報(γ)とを用いて、秘密情報に関する情報(Γ)を生成する(ステップS6)。
【0041】
そして、分散配置手段16ではステップS1〜ステップS6で生成した5つ組みの成分で構成される分割情報21をn個生成し、予め用意した複数のサーバ3に1つずつ分散配置する(ステップS7)。尚、ここまでが秘密情報20から分割情報21を生成する分散符号化の処理である。
【0042】
次に、分割情報収集手段17でサーバ3から複数個の分割情報21を収集する(ステップS8)。
【0043】
続いて、復元可能性判別手段18で収集した分割情報21を素因数分解し、取り出した素数(p)の合計値と収集した分割情報21の復元可能性の重みの情報(m)が一致し、かつ収集した分割情報21の個数が復元に必要な分割情報21の個数の閾値(k)以上であるという復元に必要な条件を満たすか否かを判別する(ステップS9)。
【0044】
そして、復元に必要な条件を満たす場合には(ステップS9のYES)、復元手段19で収集した分割情報21から秘密情報(γ)20を復元できる(ステップS10)。一方、復元に必要な条件を満たさない場合には(ステップS9のNO)、復元の処理に必要な素数が不足するため秘密情報の部分あるいは全体を復元することはできずに、処理は終了する。尚、ステップS8からここまでが分割情報21から秘密情報20を復元する処理である。
【0045】
次に図4および図5を用いて本発明の一実施の形態であるデータの分散管理システムの処理を簡単に説明する。図4(A)は本発明の一実施の形態であるデータの分散管理システムにおける秘密情報の分散符号化の処理を説明する図であり、図4(B)は本発明の一実施の形態であるデータの分散管理システムにおける秘密情報の復元処理を説明する図であり、図5は本発明の基本となる連立方程式と素数のべき乗の積との変換を表した図である。
【0046】
図4(A)に示すごとく、秘密情報(γ)20から分割情報21を生成する場合は、
(1)まず、条件設定手段10で法の値(s)、秘密情報(γ)20から生成する分割情報21の個数(n)、復元に必要な分割情報の個数の閾値(k)を設定し、後続の処理へそれらの値を渡す。尚、法の値(s)は任意に定めた2つ以上の素数の積で生成される。
【0047】
また、整数生成手段13で法の値(s)のオイラーの関数に1を加算した値を2つの整数y、整数zの積に分解する。ここでは、整数zを更にk個の整数(x)の和
z=x+x+…+x
に分解し、それらの値も後続の処理へ渡す。
【0048】
(2)次に、素数生成手段11でk個の任意の素数(p)を生成し、その合計値で復元可能性の重みの情報(m)
m=p+p+…+p
を生成する。また、(1)より受け取ったk個の整数(x)をk個の素数(p)に1対1対応させる。
【0049】
(3)次に、第1の成分生成手段12でk個の素数(p)と任意に生成した乱数(aij)を用い、以下の公式
αi=pai1×pai2×…×paik
(1≦i≦n)
に変換をし、n個の分割情報に関する情報(α)を生成する。
【0050】
(4)次に、第2の成分生成手段14でk個の整数(x)と乱数(aij)を用い、以下の公式
β=ai1×x+ai2×x+…+aik×x
(1≦i≦n)
に変換をし、n個の復元に関する情報(β)を生成する。
【0051】
そして、図示はしないが、第3の成分生成手段15で整数yと秘密情報(γ)と法の値(s)を用い、以下の公式
γ≡Γ(mod s)
を満たす秘密情報に関する情報(Γ)を生成し、分散配置手段16で{α,β,Γ,m,s}のように構成されるn個の分割情報21を複数のサーバ3に分散配置をして、分散符号化の処理は終了する。
【0052】
尚、ここでは、第1の分生成手段12で分割情報に関する情報(α)を生成した後に、第2の成分生成手段14で復元に関する情報(β)を生成する順番で説明しているが、両者は法の値(s)および復元可能性の重みの情報(m)が求まれば生成することができる。したがって、復元に関する情報(β)を生成した後に分割情報に関する情報(α)を生成する順番で処理を進めても良い。
【0053】
続いて、図4(B)に示すごとく、収集した分割情報21から秘密情報(γ)20を復元する場合は、
(5)まず、分割情報収集手段17で複数のサーバ3に分散された分割情報21を収集し、分割情報に関する情報(α)を取り出す。尚、ここでは復元に必要な分割情報の個数(k個)以上が収集されているものとして説明していく。
【0054】
(6)次に、復元可能性判別手段18で分割情報に関する情報(α)を素因数分解して、素数(p)を取り出す。取り出した素数の合計値を算出し、その合計値が復元可能性の重みの情報(m)と一致し、かつ収集した分割情報がk個以上であるかを判別する。尚、ここでは復元に必要な条件を満たしているものとして説明していく。
【0055】
(7)次に、復元手段19で収集した分割情報21の復元に関する情報(β)と取り出した指数(aij)とを用いて連立1次方程式
β=aij×x
を生成し、連立1次方程式を解く。連立1次方程式の解の和(z)と秘密情報に関する情報(Γ)と法の値(s)とを用いて、
Γ≡γ(mod s)
を満たす秘密情報(γ)の値を算出でき、復元の処理は終了する。
【0056】
一方、復元に必要な条件を満たさない場合には、復元可能性判別手段18で取り出す素数が不足しているため、復元手段19で生成した連立1次方程式を解くことができない。これにより復元に必要な条件を満たした場合のみ、収集した分割情報21より秘密情報(γ)20を復元することができる。
【0057】
尚、秘密情報(γ)が連立1次方程式の解の和(x+x+…+x=z)と秘密情報に関する情報(Γ)とを用いて復元できる場合には、図5に示すごとく、復元に関する情報(β)を求める連立1次方程式の変数(x)と係数(aij)の和で構成される
左辺=ai1×x+ai2×x+…+aik×x
を、変数(x)を使わずに変数の代用である素数(p)のべき乗の積、すなわち分割情報に関する情報(α)を求める式
ai1×pai2×…×paik
に変換できる。これにより、復元に関する情報(β)および分割情報に関する情報(α)を自然数に変換することができる。
【0058】
(実施例1)
以下に図6を用いて秘密情報から分割情報を生成して複数のサーバに分散管理し、サーバから分割情報の一部を収集して秘密情報へ復元する場合を詳細に説明する。
【0059】
図6(A)は分散管理システムの分散符号化の処理により秘密情報から分割情報が生成される過程を説明する図であり、図6(B)は分散管理システムの復元の処理により収集した分割情報から秘密情報を復元する過程を説明する図である。ここでは秘密情報(γ)をγ=1023として説明する。
【0060】
図6(A)に示すごとく、秘密情報(γ)20から分割情報21を生成する場合は、
(1)まず、条件設定手段10で
・法の値(s): s=49949(=251×199)
・生成する分割情報の個数(n): n=5
・復元に必要な分割情報の個数の閾値(k): k=3
を設定し、後続の処理へそれらの値を渡す。ここでは任意の2つ以上の素数251と199を用いて法の値を生成する。
【0061】
また、整数生成手段13で法の値(s)を用いて以下の式
φ(s)+1≡yz(mod s)
を満たす2つの整数y、整数zを求めると、
φ(s)+1=250×198+1=49501より
y=59,z=839
となる。ここでは、整数zを更に3個の整数(x)の和
839=445+295+99
に分解し、それらの値(x=445,x=295,x=99)も後続の処理へ渡す。
【0062】
(2)次に、素数生成手段11で3個の任意の素数(p=7,p=11,p=13)を生成し、その合計値で復元可能性の重みの情報(m)
m=7+11+13=31
を生成する。また、(1)より受け取った3個の整数(x、x、x)を3個の素数(p、p、p)に1対1対応させる。この場合は、7⇔455、11⇔295、13⇔99となる。
【0063】
(3)次に、第1の成分生成手段12で3個の素数(p、p、p)と任意に生成した乱数(2,2,2)、(1,2,0)、(1,2,2)、(2,1,0)、(2,2,1)とを用い、以下の式
α: 7^2×11^2×13^2=1002001
α: 7^1×11^2×13^0=847
α: 7^1×11^2×13^2=143143
α: 7^2×11^1×13^0=539
α: 7^2×11^2×13^1=77077
に変換をし、5個の分割情報に関する情報(α)を生成する。
【0064】
(4)次に、第2の成分生成手段14で3個の整数(x、x、x)と乱数(2,2,2)、(1,2,0)、(1,2,2)、(2,1,0)、(2,2,1)とを用い、以下の式
β: β=2×455+2×295+2×99=1678
β: β=2×455+2×295+2×99=1035
β: β=2×455+2×295+2×99=1233
β: β=2×455+2×295+2×99=1185
β: β=2×455+2×295+2×99=1579
に変換をし、5個の復元に関する情報(β)を生成する。
【0065】
そして、図示はしないが、第3の成分生成手段15で整数yと秘密情報(γ)と法の値(s)とを用い、以下の公式
γ≡Γ(mod s)より
1023^59≡Γ(mod 49949)
を満たす秘密情報に関する情報(Γ)(この場合は、Γ=14667)を生成し、分散配置手段16で{α,β,Γ,m,s}の5つ組みの成分で構成される5個の分割情報
分割情報1:{1002001,1678,14667,31,49949}
分割情報2:{847,1035,14667,31,49949}
分割情報3:{143143,1233,14667,31,49949}
分割情報4:{539,1185,14667,31,49949}
分割情報5:{77077,1579,14667,31,49949}
を複数のサーバ3に分散配置をして、分散符号化の処理は終了する。
【0066】
尚、ここでは、分割情報に関する情報(α)を生成した後に復元に関する情報(β)を生成する順番で説明しているが、復元に関する情報(β)を生成した後に分割情報に関する情報(α)を生成する順番で処理を進めても良い。
【0067】
続いて、図6(B)に示すごとく、収集した分割情報21から秘密情報(γ)20を復元する場合は、
(5)まず、分割情報収集手段17で複数のサーバ3に分散された分割情報21を収集する。尚、ここでは分割情報1〜分割情報4の4個を収集したものとして説明する。そして、4個の分割情報より分割情報に関する情報(α)
{α}={1002001,847,143143,539}
を取り出す。
【0068】
(6)次に、復元可能性判別手段18で分割情報に関する情報(α)を
α:1002001=7^2×11^2×13^2
α:847=7^1×11^2
α:143143=7^1×11^2×13^2
α:539=7^2×11^1
と素因数分解をし、素数(p=7、p=11、p=13)を取り出す。そして、取り出した素数p〜pの合計値
+p+p=7+11+13=31
を算出し、(6-1)その合計値が復元可能性の重みの情報(m=31)と一致し、かつ(6-2)収集した分割情報が3個以上か否かを判別する。この場合は、
(6-1) p1+p2+p3=m
(6-2) 分割情報1〜分割情報4≧3個(閾値)
であるので、復元に必要な条件を満たしている。
【0069】
(7)次に、復元手段19で収集した分割情報21の復元に関する情報(β)と復元可能性判別手段18の素因数分解で取り出した指数(2,2,2)、(1,2,0)、(1,2,2)、(2,1,0)とを用いて連立1次方程式
β: 2×x+2×x+2×x=1678
β: 1×x+2×x=1035
β: 1×x+2×x+2×x=1233
β: 2×x+1×x=1185
を生成し、連立1次方程式を解く。この場合は、
=445、x=295、x=99より
+x+x=445+295+99=839
となり、連立1次方程式の解の和(z)はz=839となる。そして、秘密情報に関する情報(Γ)と法の値(s)とを用いて、
Γ≡γ(mod s)より
14667^839≡γ(mod 49949)
を満たす秘密情報(γ)の値をγ=1023と算出でき、復元の処理は終了する。
【産業上の利用可能性】
【0070】
以上詳しく説明したとおり、本発明のデータの分散管理システムを用いることにより、素数の性質を利用して秘密情報を分散符号化した分割情報を複数のサーバに1つずつ分散して配置し、復元処理では、収集した分割情報から算出した素数の合計値と分割可能性の重みの情報(m)が一致し、かつ収集した分割情報の個数が復元に必要な分割情報の個数の閾値(k)以上である場合のみ、収集した分割情報より秘密情報が完全に復元できる。従って、より高い秘匿性を提供する秘密情報の管理に利用できる。
【図面の簡単な説明】
【0071】
【図1】図1は、本発明の一実施の形態であるデータの分散管理システムの構成を説明する図である。
【図2】図2は、本発明の一実施の形態であるデータの分散管理システムにより秘密情報が分散符号化された状態を表した図である
【図3】図3は、本発明の一実施の形態であるデータの分散管理システムの処理を説明するフローチャートである。
【図4】図4(A)は本発明の一実施の形態であるデータの分散管理システムにおける秘密情報の分散符号化の処理を説明する図であり、図4(B)は本発明の一実施の形態であるデータの分散管理システムにおける秘密情報の復元処理を説明する図である。
【図5】図5は、本発明の基本となる連立方程式と素数のべき乗の積との変換を表した図である。
【図6】図6(A)は分散管理システムの分散符号化の処理により秘密情報から分割情報が生成される過程を説明する図であり、図6(B)は分散管理システムの復元の処理により収集した分割情報から秘密情報を復元する過程を説明する図である。
【符号の説明】
【0072】
1 コンピュータ端末
2 ネットワーク
3 サーバ
10 条件設定手段
11 素数生成手段
12 第1の成分生成手段
13 整数生成手段
14 第2の成分生成手段
15 第3の成分生成手段
16 分散配置手段
17 分割情報収集手段
18 復元可能性判別手段
19 復元手段
20 秘密情報
21 分割情報

【特許請求の範囲】
【請求項1】
法の値(s)、秘密情報(γ)から生成する分割情報の個数(n)、および秘密情報を復元するために必要な分割情報の個数の閾値(k)を設定する条件設定手段と、
k個の任意の素数(p)を生成して、前記素数を加算した合計値を復元可能性の重みの情報(m)とする素数生成手段と、
k個の前記素数(p)と任意に生成した乱数(aij)を用い、前記素数を底とする前記乱数のべき乗の積を分割情報に関する情報(α)とする第1の成分生成手段と、
前記法の値のオイラー関数に1を加算した値を2つの整数yおよび整数zの積に分解し、前記整数yあるいは整数zをk個の整数(x)の和に分解する整数生成手段と、
k個の前記整数(x)と前記乱数(aij)を用い、前記整数と前記乱数の積の和からなる連立1次方程式を復元に関する情報(β)とする第2の成分生成手段と、
前記整数yあるいは整数zと前記秘密情報と前記法の値とを用いて秘密情報に関する情報(Γ)を生成する第3の成分生成手段と、
前記分割情報に関する情報(α)、前記復元に関する情報(β)、前記秘密情報に関する情報(Γ)、前記復元可能性の重みの情報(m)および前記法の値(s)の5つ組で構成される前記分割情報を予め用意した複数のサーバに1つずつ分散配置する分散配置手段と、
前記サーバから複数の前記分割情報を収集する分割情報収集手段と、
収集された前記分割情報の前記分割情報に関する情報(α)を素因数分解して素数を取り出し、取り出した前記素数の合計値を算出し、復元に必要な条件を満たしているかを判別する復元可能性判別手段と、
前記復元に必要な条件を満たしている場合には、収集された前記分割情報の前記復元に関する情報(β)と前記復元可能性判別手段で素因数分解をして得た指数(aij)とを用いて連立1次方程式を生成し、前記連立1次方程式の解と前記秘密情報に関する情報と前記法の値とを用いて前記秘密情報(γ)を復元する復元手段とを有することを特徴とするデータの分散管理システム。
【請求項2】
前記復元に必要な条件は、取り出した前記素数の合計値と前記復元可能性の重みの情報の値が一致し、かつ収集された前記分割情報の個数がk個以上であることを特徴とする請求項1に記載のデータの分散管理システム。
【請求項3】
前記条件設定手段により、前記法の値は任意に定めた2つ以上の素数の積で生成されることを特徴とする請求項1に記載のデータの分散管理システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2008−241932(P2008−241932A)
【公開日】平成20年10月9日(2008.10.9)
【国際特許分類】
【出願番号】特願2007−80090(P2007−80090)
【出願日】平成19年3月26日(2007.3.26)
【新規性喪失の例外の表示】特許法第30条第1項適用申請有り 2007年3月6日〜8日 社団法人 情報処理学会主催の「情報処理学会第69回全国大会」に文書をもって発表
【出願人】(803000104)財団法人ひろしま産業振興機構 (70)
【Fターム(参考)】