JP2011035618A - 秘密分散装置、秘密分散方法、および秘密分散プログラム - Google Patents

秘密分散装置、秘密分散方法、および秘密分散プログラム Download PDF

Info

Publication number
JP2011035618A
JP2011035618A JP2009179389A JP2009179389A JP2011035618A JP 2011035618 A JP2011035618 A JP 2011035618A JP 2009179389 A JP2009179389 A JP 2009179389A JP 2009179389 A JP2009179389 A JP 2009179389A JP 2011035618 A JP2011035618 A JP 2011035618A
Authority
JP
Japan
Prior art keywords
data
distributed
original
partial data
partial
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2009179389A
Other languages
English (en)
Inventor
Yusuke Shigyo
祐輔 執行
Toshinori Kano
利徳 加納
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Communications Corp
Original Assignee
NTT Communications Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NTT Communications Corp filed Critical NTT Communications Corp
Priority to JP2009179389A priority Critical patent/JP2011035618A/ja
Publication of JP2011035618A publication Critical patent/JP2011035618A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

【課題】2重故障の可用性を実現しつつ、より少ない演算量でより効率的に秘密分散を行う。
【解決手段】元データSから4つの分散データを生成する秘密分散装置1であって、元データSを分割して2つの元部分データを生成する元部分データ生成手段13と、元部分データと同じサイズの乱数部分データを2つ生成する乱数生成手段12と、4つの分散データのそれぞれを分散部分データ単位で生成する分散データ生成手段13と、4つの分散データのうち任意の2つの分散データを用いて元データSを復元する復元手段14とを有し、分散データ生成手段13は、分散部分データを元部分データおよび乱数部分データの排他的論理和を算出することにより生成する。
【選択図】図1

Description

本発明は、秘密分散法により、元データを複数の分散データに分散する秘密分散装置、秘密分散方法、および秘密分散プログラムに関する。
業務のオンライン化、文書の電子化が進展すると、電子データに求められる要件が厳しくなる。電子データを扱う情報システムをセキュアに構築するための視点として、機密性、可用性などがある。
データを保管するストレージの可用性を高める技術としてRAIDがある。RAIDは、複数のハードディスクを組み合わせてディスクアクセスを高速化し、また冗長性を持つことで、ハードディスクが故障した場合でもデータを復旧することできる。これまで、RAIDを構成する1つのハードディスクが故障した場合にデータを復旧できるRAID5が利用されてきたが、近年、2つのハードディスクが故障した場合にもデータを復旧できるRAID6の利用が増加している。
RAIDを構成する複数のハードディスクは、利用開始時期が同じであり、運用期間もほぼ同じであることから、1つのハードディスクの故障によりデータを復旧している最中にもう1つのハードディスクが故障するケースが発生する可能性がある。情報の電子化が進んでいる現在、データの保護が以前よりも強く要求されている。RAIDは機密性を実現する仕組みは持たず、RAIDに保管する前にデータを暗号化することで機密性を確保する必要がる。
データの機密性を実現するために、これまでDESやAES等の暗号技術を用いている。しかし、これらの暗号技術は、時間をかけると解読されてしまうおそれがある。そのため、暗号化していても、暗号ファイルが盗難にあうと、いずれは解読されてしまうおそれがある。
データを安全にかつ冗長を持たせて保管する技術として、秘密分散法が提案されている。秘密分散法は、秘密情報をn個の分散データに分散し、n個の分散データのうちk個(k<n)から元の秘密情報を復元できるもので、これを(k、n)型秘密分散法と表記する。近年、大量なデータを効率的に処理できる秘密分散法としてバーナム暗号を応用した秘密分散法が注目されており、様々なバーナム暗号を応用した秘密分散法が提案されている。バーナム暗号を応用した秘密分散法としては、例えば、特許文献1に記載されている。
特開2004−213650号公報
さて、(n−1、n)型の秘密分散法は、n個の分散データのうち(n−1)が揃うと元の秘密情報を復元することができる。しかし、n個のうち2つの分散データが失われてしまうと秘密情報を復元することができない。そのため、現在利用が増加してきているRAID6のように、ディスクの2重故障における可用性には対応できない。
また、(k、n)型の秘密分散法において、分散データのデータ量は、元の秘密情報のデータ量の少なくともn倍となる。すなわち、分散データを保管するために、元の秘密情報のデータ容量に対して分散数nに比例した倍数以上の膨大なディスク容量が必要となる。そのため、大量の秘密情報を比較的大きな分散数nで分散する場合、ディスク容量の面で現実的ではないという問題がある。
また、大量の秘密情報に対して、より少ない演算量でより効率的に、秘密分散を行うことが求められている。
本発明は上記事情に鑑みてなされたものであり、本発明の目的は、2重故障の可用性を実現しつつ、より少ない演算量でより効率的に秘密分散を行う秘密分散装置、秘密分散方法、および秘密分散プログラムを提供することにある。
上記目的を達成するため、本発明は、 元データから4つの分散データを生成する秘密分散装置であって、前記元データを分割して2つの元部分データを生成する元部分データ生成手段と、前記元部分データと同じサイズの乱数部分データを2つ生成する乱数生成手段と、前記4つの分散データのそれぞれを、当該分散データを構成する前記元部分データと同じサイズの分散部分データ単位で生成する分散データ生成手段と、前記4つの分散データのうち、任意の2つの分散データを用いて前記元データを復元する復元手段と、を有し、前記分散データ生成手段は、前記分散部分データを、前記元部分データおよび前記乱数部分データの排他的論理和を算出することにより生成する。
また、本発明は、情報処理装置が行う、元データから4つの分散データを生成する秘密分散方法であって、前記元データを分割して2つの元部分データを生成する元部分データ生成ステップと、前記元部分データと同じサイズの乱数部分データを2つ生成する乱数生成ステップと、前記4つの分散データのそれぞれを、当該分散データを構成する前記元部分データと同じサイズの分散部分データ単位で生成する分散データ生成ステップと、前記4つの分散データのうち、任意の2つの分散データを用いて前記元データを復元する復元ステップと、を行い、前記分散データ生成ステップは、前記分散部分データを、前記元部分データおよび前記乱数部分データの排他的論理和を算出することにより生成する。
また、本発明は、情報処理装置が実行する、元データから4つの分散データを生成する秘密分散プログラムであって、前記情報処理装置を、前記元データを分割して2つの元部分データを生成する元部分データ生成手段、前記元部分データと同じサイズの乱数部分データを2つ生成する乱数生成手段と、前記4つの分散データのそれぞれを、当該分散データを構成する前記元部分データと同じサイズの分散部分データ単位で生成する分散データ生成手段、および、前記4つの分散データのうち、任意の2つの分散データを用いて前記元データを復元する復元手段、として機能させ、前記分散データ生成手段は、前記分散部分データを、前記元部分データおよび前記乱数部分データの排他的論理和を算出することにより生成する。
本発明によれば、2重故障の可用性を実現しつつ、より少ない演算量でより効率的に秘密分散を行う秘密分散装置、秘密分散方法、および秘密分散プログラムを提供することができる。
本発明の実施形態に係る秘密分散システムの全体構成図である。 元データS、乱数データRおよび分散データDを模式的に示す図である。 分散データ生成処理のフローチャートである。 分散データ生成式を示す図である。 元データの復元処理のフローチャートである。 元データの復元式を示す図である。 追加分散データ生成処理のフローチャートである。 2つの分散データから追加分散データを生成する追加分散データ生成式を示す図である。 3つの分散データから追加分散データを生成する追加分散データ生成式を示す図である。 分散データの再生成式を示す図である。 第1の適用例のシステム構成を示す図である。 第2の適用例のシステム構成を示す図である。
以下、本発明の実施形態について説明する。
図1は、本発明の実施形態に係る秘密分散システムの全体構成図である。本実施形態の秘密分散システムは、秘密分散装置1と、端末5と、複数の保管サーバ7a、7b、7c、7dとを有し、各装置はネットワーク3により接続されている。
本実施形態の秘密分散装置1は、(2、4)型の秘密分散を行うものである。すなわち、秘密分散装置1は、秘密情報である平文の元データSを、4つの分散データD(1)、D(2)、D(3)、D(4)に分散し、この4つの分散データをネットワーク3を介して複数の保管サーバ7a、7b、7c、7dにそれぞれ保管する。また、秘密分散装置1は、複数の保管サーバに保管しておいた4つの分散データD(1)、D(2)、D(3)、D(4)のうちの任意の2つの分散データから元データSを復元できるものとする。
図示する秘密分散装置1は、元データ入力部11と、乱数生成部12と、分散データ生成部13(元部分データ生成手段、分散データ生成手段)と、元データ復元部14(復元手段)と、追加分散データ生成部15(追加分散データ生成手段)と、通信部16と、記憶部17とを有する。
元データ入力部11は、ネットワーク3を介して端末5等から送信された元データSを入力し、記憶部17に記憶する。乱数生成部12は、元データSと同じサイズ(例えば、ビット長)の乱数Rを所定のアルゴリズムまたは熱雑音を使用するなどの方法により生成し、記憶部17に記憶する。
分散データ生成部13は、元データSから4つの分散データDを生成する。元データ復元部14は、任意の2つの分散データDから元データSを復元する。追加分散データ生成部15は、任意の3つの分散データDから残りの1つの分散データDを生成する。通信部部16は、分散データ生成部13またはは追加分散データ生成部15が生成した分散データDを、ネットワーク3を介して各保管サーバ7a、7b、7c、7dに送信するとともに、各保管サーバ7a、7b、7c、7dから分散データDを受信する。
記憶部17には、元データS、乱数Rなどが記憶される。また、記憶部17には、後述する分散データ生成式、復元式および追加分散生成式があらかじめ記憶されている。記憶部17には、メモリまたはHDDなどの記憶装置が用いられる。
上記説明した秘密分散装置1および端末5は、例えば、少なくともCPUと、メモリと、HDDなどの記憶装置とを備えたコンピュータシステムを用いることができる。このコンピュータシステムにおいて、CPUがメモリ上にロードされた所定のプログラムを実行することにより、各装置の各機能が実現される。例えば、秘密分散装置1および端末5の各機能は、秘密分散装置1用のプログラムの場合は秘密分散装置1のCPUが、そして、端末5用のプログラムの場合は端末5のCPUが、それぞれ実行することにより実現される。
図2は、本実施形態における、元データS、乱数データRおよび分散データD(i)(i=1〜4)を模式的に示すものである。本実施形態の分散データD(i)の生成および元データSの復元における処理単位は、元データの1/2のサイズ(ビット長)とする。
図示するように、元データSは、2つの元部分データS(j)(j=1、2)、すなわちS(1)、S(2)から構成される。元データSを2等分して、2つの元部分データS(1)、S(2)とする。なお、元データSのビット長が奇数の場合は、元データの末尾の部分に0を埋めるなどして元データSを2分割する。
また、乱数Rは、2つの乱数部分データR(j)(j=1、2)、すなわちR(1)、R(2)から構成される。乱数生成部12は、元データSと同じサイズ(ビット長)の乱数Rを生成し、当該乱数Rを2等分して2つの乱数部分データR(1)、R(2)とする。なお、乱数生成部12は、最初から元部分データS(j)と同じサイズの2つの乱数部分データR(j)を生成してもよい。
また、4つの分散データD(i)の各々は、2つの分散部分データD(i,j)(i=1〜4、j=1、2)から構成される。すなわち、第1の分散データD(1)は、第1の分散部分データD(1,1)およびD(1,2)から構成され、第2の分散データD(2)は、第2の分散部分データD(2,1)およびD(2,2)から構成され、第3の分散データD(3)は、第3の分散部分データD(3,1)およびD(3,2)から構成され、第4の分散データD(4)は、第4の分散部分データD(4,1)およびD(4,2)から構成される。
なお、各分散データD(i)のサイズは元データSと同じであり、各分散部分データ(i,j)のサイズも元部分データS(j)と同じである。
そして、本実施形態は、各分散部分データD(i,j)を生成するために、元部分データと乱数部分データの排他的論理和演算(XOR)を行う。すなわち、元部分データと乱数部分データの排他的論理和演算(XOR)からなる分散データ生成式を用いて、各分散部分データD(i,j)を生成する。そして、対応する分散部分データD(i,1)、D(i,2)を結合して、分散データD(i)を生成する。
これにより、本実施形態では、コンピュータ処理に適したビット演算である排他的論理和演算(XOR)を用いることにより、多項式や剰余演算を用いる秘密分散処理と比較して、高速かつ高性能な演算処理能力を必要とせず、大容量の元データに対しても簡単な演算処理を繰り返して分散データを生成することができる。
なお、本実施形態で使用する排他的論理和演算(XOR)は、以下の説明では、「+」の演算記号で表すものとする。この排他的論理和演算のビット毎の演算規則での各演算結果は下記のとおりである。
0+0の演算結果は0
0+1の演算結果は1
1+1の演算結果は1
1+1の演算結果は0
また、排他的論理和演算は交換法則、結合法則が成り立つ。すなわち、
a+b=b+a
(a+b)+c=a+(b+c)
が成り立つことが数学的に証明される。
また、a+a=0,a+0=0+a=aが成り立つ。
ここでa,b,cは、同じ長さのビット列を表し、0は、a,b,cと同じ長さですべて「0」からなるビット列を表す。
<分散データ生成処理>
次に、元データSから4つの分散データDを生成する処理について説明する。
図3は、分散データD(i)の生成処理を示すフローチャートである。端末5は、利用者が入力した元データSを含む秘密分散要求を、ネットワーク3を介して秘密分散装置1に送信する。これにより、秘密分散装置1の元データ入力部11は、端末5から送信された元データS受信する(S11)。
なお、ここでは、受信した元データSは、16ビットの「10110010 00110111」であるものとする。この場合、以下で説明する乱数Rおよび分散データD(i)は、すべて元データのビット長と同じ16ビット長のデータである。
そして、分散データ生成部13は、入力された元データSを2等分し、2つの元部分データS(j)を生成する(S12)。すなわち、分散データ生成部13は、第1の元部分データをS(1)とし、第2の元部分データをS(2)として記憶部17に記憶する。
ここでは、元データSのビット長が16ビット長であるため、各元部分データS(j)のビット長(処理単位ビット長)は8ビットである。なお、元データSが「10110010 00110111」の場合、元部分データS(1)およびS(2)は、それぞれ「10110010」および「00110111」となる。なお、元データSのビット長が奇数の場合には、元データSの末尾に0を付加し、偶数のビット長にしてから2等分するものとする。
そして、乱数生成部12は、元部分データS(1)、S(2)と同じサイズの乱数部分データR(1)、R(2)を生成し、記憶部17に格納する(S13)。乱数生成部12は、元データSと同じサイズの乱数Rを生成した後、2等分して乱数部分データR(1)、R(2)を生成しても、あるいは最初から乱数部分データR(1)、R(2)を生成してもよい。
なお、ここでは、乱数R(=R(1)、R(2))は、以下の通りとする。
第1の乱数部分データR(1)=「10110001」
第2の乱数部分データR(2)=「00110101」
そして、分散データ生成部13は、記憶部17に記憶された元部分データと乱数部分データとの排他的論理和を演算することにより、分散データを生成する(S14)。すなわち、分散データ生成部13は、図4に示す分散データ生成式(論理演算式)にしたがって、4つの分散データD(i)の各々を構成する各分散部分データD(i,j)を生成する。この分散データ生成式は、記憶部17にあらかじめ記憶されているものとする。
図4は、分散データ生成式を示す表である。図示するように、分散データD(1)の分散部分データD(1,1)を生成するための式はS(1)+R(1)+R(2)であり、D(1,2)を生成するための式はS(2)+R(2)である。分散データD(2)の分散部分データD(2,1)を生成するための式はS(1)+R(1)であり、D(2,2)を生成するため式はS(2)+R(1)+R(2)である。
分散データD(3)の分散部分データD(3,1)を生成するための式はR(1)であり、D(3、2)を生成するための式はR(2)である。分散データD(4)の分散部分データD(4、1)を生成するための式はS(1)+R(2)であり、D(4,2)の式はS(2)+R(1)である。なお、分散データD(3)については、図示するように、排他的論理和の演算を行うことなく、乱数生成部12が生成した乱数部分データR(1)、R(2)から構成される乱数Rのみからなる分散データである。
なお、図4に示す分散データ生成式では、1つの分散データD(i)のみからは、元データSを復元することができない。すなわち、乱数部分データR(j)を取り除くことができない。具体的には、以下のように、1つの分散データD(i)を構成する2つの分散部分データD(i,j)に何らかの論理演算を実施しても乱数部分データR(j)を取り除くことができない。
D(1,1)+D(1,2)= (S(1)+R(1)+R(2)) + (S(2)+R(2))
= S(1)+S(2)+R(1)
D(2,1)+D(2,2)= (S(1)+R(1)) + (S(2)+R(1)+R(2))
= S(1)+S(2)+R(2)
D(3,1)+D(3,2)= R(1) + R(2)
D(4,1)+D(4,2)= (S(1)+R(2)) + (S(2)+R(1))
= S(1)+S(2)+R(1)+R(2)
図4に示す分散データ生成式にしたがって、分散データ生成部13が演算処理を行うことにより、ここでは、次に示すような分散データD(i)の分散部分データD(i,j)が生成される。
すなわち、D(1,1)は「00110110」、D(1,2)は「00000010」となるので、D(1)は「00110110 00000010」である。
D(2,1)は「00000011」、D(2,2)は「10110011」となるので、D(2)は「0000001110110011」である。
D(3,1)は「10110001」、D(3,2)は「00110101」となるので、D(3)は「10110001 00110101」である。
D(4,1)は「10000111」、D(4,2)は「10000110」となるので、D(4)は「10000111 10000110」である。
このように、分散データ生成部13は、対応する各分散部分データD(i,j)を結合して、分散データD(i)を生成する。
そして、分散データ生成部13は、通信部16を用いて、生成した分散データD(1)、D(2)、D(3)、D(4)を、ネットワーク3を介して各保管サーバ7a、7b、7c、7dにそれぞれ送信し、各保管サーバ7に保管する(S15)。なお、秘密分散装置1は、分散データを各保管サーバ7に送信した後は、メモリまたは記憶部17に生成した当該分散データ、記憶部17に記憶した元データおよび乱数を廃棄するものとする。
<元データ復元処理>
次に、分散データから元データを復元する処理について説明する。
本実施形態では、各保管サーバ7a,7b,7c、7dに格納された4つの分散データD(i)のうち、2つの分散データを用いて元データSを復元する。
図5は、元データSの復元処理を示すフローチャートである。例えば、端末5は、利用者の要求を受け付けて、元データSの復元要求をネットワーク3を介して秘密分散装置1に送信する。これにより、秘密分散装置1の元データ復元部14は、端末5から送信された復元要求を受け付ける(S21)。そして、元データ復元部14は、通信部16を用いて、任意の2つの分散データD(i)を対応する保管サーバから取得し、記憶部17に記憶する(S22)。なお、秘密分散装置1は、元データSから分散データD(i)を生成した際に、どの分散データをどの保管サーバに保管したかを記憶しておくものとする。
そして、元データ復元部14は、記憶部17に記憶した分散データD(i)の各々を2等分して、分散部分データD(i,j)を生成する(S23)。そして、元データ復元部14は、各分散部分データD(i,j)の排他的論理和を演算することにより、元データSを復元する(S24)。すなわち、元データ復元部14は、図6に示す復元式(論理演算式)にしたがって、任意の2つの分散データD(i)から、元データSを復元する。この復元式は、記憶部17にあらかじめ記憶されているものとする。
図6は、復元式を示す表である。図6に示するように、分散データD(1)およびD(2)から元データSを復元する場合、元部分データS(1)は、次のように定義されている。
S(1)= D(1,2)+D(2,1)+D(2,2)
ここで、図4の分散データ生成式を参照すると上記式は、以下のように書き換えることができ、排他的論理和演算の交換法則および結合法則によりS(1)が復元される。
S(1)= (S(2)+R(2)) + (S(1)+R(1)) + (S(2)+R(1)+R(2))
= S(1)
S(2)についても同様に、図6に示す復元式から以下のように定義され、そして、図4の分散データ生成式から書き換えができ、S(2)が復元される。
S(2)= D(1,1)+D(1,2)+D(2,1)
= (S(1)+R(1)+R(2)) + (S(2)+R(2)) + (S(1)+R(1))
= S(2)
また、分散データD(1)およびD(3)から元データSを復元する場合、図6に示す復元式から以下のように定義され、そして、図4の分散データ生成式から書き換えができ、S(1)およびS(2)が復元される。
S(1)= D(1,1)+D(3,1)+D(3,2)
= (S(1)+R(1)+R(2)) + (R(1)) + (R(2))
= S(1)
S(2)= D(1,2)+D(3,2)
= (S(2)+R(2)) + (R(2))
= S(2)
また、分散データD(2)およびD(3)から元データSを復元する場合、図6に示す復元式から以下のように定義され、そして、図4の分散データ生成式から書き換えができ、S(1)およびS(2)が復元される。
S(1)= D(2,1)+D(3,1)
= (S(1)+R(1)) + (R(1))
= S(1)
S(2)= D(2,2)+D(3,1) +D(3,2)
= (S(2)+R(1)+R(2)) + (R(1)) + (R(2))
= S(2)
また、分散データD(1)およびD(4)から元データSを復元する場合、図6に示す復元式から以下のように定義され、そして、図4の分散データ生成式から書き換えができ、S(1)およびS(2)が復元される。
S(1)= D(1,1)+D(1,2)+D(4,2)
= (S(1)+R(1)+R(2)) + (S(2)+R(2)) + (S(2)+R(1))
= S(1)
S(2)= D(1,1)+D(4,1)+D(4,2)
= (S(1)+R(1)+R(2)) + (S(1)+R(2)) + (S(2)+R(1))
= S(2)
また、分散データD(2)およびD(4)から元データSを復元する場合、図6に示す復元式から以下のように定義され、そして、図4の分散データ生成式から書き換えができ、S(1)およびS(2)が復元される。
S(1)= D(2,2)+D(4,1)+D(4,2)
= (S(2)+R(1)+R(2)) + (S(1)+R(2)) + (S(2)+R(1))
= S(1)
S(2)= D(2,1)+D(2,2)+D(4,1)
= (S(1)+R(1)) + (S(2)+R(1)+R(2)) + (S(1)+R(2))
= S(2)
また、分散データD(3)およびD(4)から元データSを復元する場合、図6に示す復元式から以下のように定義され、そして、図4の分散データ生成式から書き換えができ、S(1)およびS(2)が復元される。
S(1)= D(3,2)+D(4,1)
= (R(2)) + (S(1)+R(2))
= S(1)
S(2)= D(3,1)+D(4,2)
= (R(1)) + (S(2)+R(1))
= S(2)
以上説明したように保管サーバから取得した任意の2つの分散データD(i)を用いて、元部分データS(1)、S(2)を復元することができ、したがって元データS(=S(1)、S(2))を復元することができる。
そして、元データ復元部14は、通信部16を用いて、メモリ上で復元した(または記憶部17に記憶された)元データSを、要求元の端末5に送信する(S25)。
<追加分散データ生成処理>
次に、任意の3つの分散データから、残りの1つの分散データを生成する処理について説明する。
本実施形態は、前述のとおり、元データから4つの分散データを生成し、当該4つの分散データのうちの任意の2つの分散データから元データを復元可能な(2、4)型の秘密分散法を用いるものである。
ここで、生成した4つの分散データのうちの任意の1つの分散データを破棄し、3つの分散データのみを保管サーバに保管した場合、(2、3)型の秘密分散法に変更される。一方、このように(2、4)型の秘密分散法から(2、3)型の秘密分散法に変更・移行した後に、再度(2、4)型の秘密分散法に戻したい場合がある。
また、ハードディスク障害などにより、いずれかの分散データが破壊されてしまう場合がある。この場合、残りの3つの分散データから破壊された分散データを生成し、再度、保管サーバに保管しておく必要がある。
本実施形態では、上記のような場合に、各保管サーバ7a,7b,7c、7dに格納された4つの分散データD(i)のうち、3つの分散データを用いて残りの1つの分散データ(以下、「追加分散データ」)を生成する。
図7は、追加分散データの生成処理を示すフローチャートである。秘密分散装置1の追加分散データ生成部15は、例えばシステム管理者などから追加分散データ生成要求を受け付ける(S31)。そして、追加分散データ生成部15は、通信部16を用いて、いずれか3つの分散データD(i)をそれぞれ対応する保管サーバから取得し、記憶部17に記憶する(S32)。
そして、追加分散データ生成部15は、記憶部17に記憶した分散データD(i)の各々を2等分して、分散部分データD(i,j)を生成する(S33)。そして、追加分散データ生成部15は、各分散部分データD(i,j)の排他的論理和を演算することにより、1つの追加分散データを生成する(S34)。すなわち、追加分散データ生成部15は、図8に示す追加分散データ生成式(論理演算式)にしたがって、3つの分散データD(i)から、追加分散データを生成・復元する。この追加分散データ生成式は、記憶部17にあらかじめ記憶されているものとする。
図8は、追加分散データ生成式を示す表である。図8に示すように、分散データD(1)、D(2)およびD(3)から追加分散データD(4)を生成する場合、追加分散部分データD(4,1)は、次のように定義されている。
D(4,1)= D(1,1)+D(3,1)
ここで、図4の分散データ生成式を参照すると上記式は、以下のように書き換えることができ、排他的論理和演算の交換法則および結合法則により、図4の分散データ生成式に示すD(4,1)を生成することができる。
S(4,1)= (S(1)+R(1)+R(2)) + (R(1))
= S(1)+R(2)
追加分散部分データD(4,2)についても同様に、図8に示す追加分散データ生成式から以下のように定義され、そして、図4の分散データ生成式から書き換えができ、図4に示すD(4,2)を生成することができる。
D(4,2)= D(2,2)+D(3,2)
= (S(2)+R(1)+R(2)) + (R(2))
= S(2) +R(1)
また、分散データD(1)、D(2)およびD(4)から追加分散データD(3)を生成する場合、図8に示す追加分散データ生成式から追加分散部分データD(3,1)およびD(3,2)は下記のように定義され、そして、図4の分散データ生成式から書き換えができ、図4に示すD(3,1)およびD(3,2)を生成することができる。
D(3,1)= D(1,1)+D(4,1)
= (S(1)+R(1)+R(2)) + (S(1)+R(2))
= R(1)
D(3,2)= D(2,2)+D(4,2)
= (S(2)+R(1)+R(2)) + (S(2)+R(1))
= R(2)
また、分散データD(1)、D(3)およびD(4)から追加分散データD(2)を生成する場合、図8に示す追加分散データ生成式から追加分散部分データD(2,1)およびD(2,2)は下記のように定義され、そして、図4の分散データ生成式から書き換えができ、図4に示すD(2,1)およびD(2,2)を生成することができる。
D(2,1)= D(1,1)+D(3,2)
= (S(1)+R(1)+R(2)) + (R(2))
= S(1)+R(1)
D(2,2)= D(1,2)+D(3,1)
= (S(2)+R(2)) + (R(1))
= S(2)+R(1)+R(2)
また、分散データD(2)、D(3)およびD(4)から追加分散データD(1)を生成する場合、図8に示す追加分散データ生成式から追加分散部分データD(1,1)およびD(1,2)は下記のように定義され、そして、図4の分散データ生成式から書き換えができ、図4に示すD(1,1)およびD(1,2)を生成することができる。
D(1,1)= D(2,1)+D(3,2)
= (S(1)+R(1)) + (R(2))
= S(1)+R(1)+R(2)
D(1,2)= D(2,2)+D(3,1)
= (S(2)+R(1)+R(2)) + (R(1))
= S(2)+R(2)
なお、図8に示す追加分散データ生成式は一例であって、他の追加分散データ生成式を用いて追加分散データを生成することとしてもよい。
そして、追加分散データ生成部15は、通信部16を用いて、メモリ上で生成した(または記憶部17に記憶された)追加分散データを、所定の保管サーバに送信し、保管する(S35)。
次に、任意の2つの分散データから、残りの2つの分散データ(追加分散データ)を生成する処理について説明する。
図9は、任意の2つの分散データから、残りの2つの追加分散データを生成する追加分散データ生成式を示す表である。
秘密分散装置1の追加分散データ生成部15は、図7と同様に、例えばシステム管理者などから追加分散データ生成要求を受け付け(S31)、いずれか2つの分散データD(i)をそれぞれ対応する保管サーバから取得して記憶部17に記憶し(S32)、記憶部17に記憶した分散データD(i)の各々を2等分して、分散部分データD(i,j)を生成する(S33)。
そして、追加分散データ生成部15は、各分散部分データD(i,j)の排他的論理和を演算することにより、2つの追加分散データを生成する(S34)。すなわち、追加分散データ生成部15は、図7のS34と同様に、図9に示す追加分散データ生成式(論理演算式)にしたがって、2つの分散データD(i)から、2つの追加分散データを生成・復元する。この追加分散データ生成式は、記憶部17にあらかじめ記憶されているものとする。
そして、追加分散データ生成部15は、通信部16を用いて、メモリ上で生成した(または記憶部17に記憶された)追加分散データを、所定の保管サーバに送信し、保管する(S35)。
<分散データの再生成処理>
次に、新たな乱数R’を用いて、分散データD(1)〜D(4)から新たな分散データD(1)’〜D(4)’を再生成する処理について説明する。なお、この分散データの再生成処理は、分散データ生成部13が行うものとする。
この分散データの再生成処理には、4つの分散データのうちの少なく2つの分散データと、新たな乱数R’とを用いることにより、新たな分散データD(1)’〜D(4)’を再生成することができる。そのため、ある分散データが滅失したことを契機に、データ復旧の一環としての分散データの再生成処理を行い、新たな分散データD(1)’〜D(4)’を再生成することとしてもよい。
分散データの再生成処理は、図4の分散データ生成式を変更するものではなく、乱数Rを新たな乱数R’で置き換えることで実施することができる。乱数R(すなわち、分散データD(3))は、図9で説明したように、少なくとも2つの分散データがあれば生成することができるので、分散データの再生成処理は、少なく2つの分散データと、新たな乱数R’とがあれば実施することができる。なお、新たな乱数R’については、乱数生成部12が生成する。
以下に、分散データD(1)、D(2)から、新たな分散データを再生成する処理を具体的に説明する。乱数R(分散データD(3))は、図9で説明したように、分散データD(1)、D(2)から生成する。
分散部分データD(1,1)は、図4の分散データ生成式に示すとおり、「S(1)+R(1)+R(2)」の式で算出することができる。この分散部分データD(1,1)を再生成するには、この「S(1)+R(1)+R(2)」のR(1)とR(2)を、新たな乱数R’(1)とR’(2)で置き換える必要がある。下記の式に示すように、乱数の項R(1)とR(2)は、乱数R(1)とR(2)の排他的論理和演算により消すことができる。
D(1,1)+R(1)+R(2) = (S(1)+R(1)+R(2))+R(1)+R(2)
= S(1)
そして、上記式に新たな乱数R’(1)+R’(2)の排他的論理和演算を行うことにより、下記のように新たな分散部分データD’(1,1))を算出することができる。
D’(1,1) = D(1,1)+R(1)+R(2)+R’(1)+R’(2)
= (S(1)+R(1)+R(2))+R(1)+R(2)+R’(1)+R’(2)
= S(1)+R’(1)+R’(2)
図10は、新たな分散データD’(i)を再生成するための生成式である。他の新たな分散部分データD’(i,j)についても、D(1,1)と同様に、図10の生成式にしたがって算出することができる。なお、新たな分散データD’(4)の再生成に必要な分散部分データD(4,1)、(4,2)については、図9の追加分散データ生成式により分散データD(1)、D(2)から生成するものとする。
なお、上記説明では、分散データD(1)、D(2)から新たな分散データD’(i)を再生成する場合の処理について説明したが、他の任意の2つの分散データD(i)を用いた場合であっても、他の分散データを図9の追加分散データ生成式を用いて生成し、図10の式に適用することにより、新たな分散データD’(i)を再生成ことができる。
<秘密分散装置システムの適用例>
以下に、秘密分散システムの適用例について説明する。
図11は、本実施形態の秘密分散装置1の第1の適用例を示す構成図である。本実施形態の秘密分散は、ハードディスクのブロックに対して行うことができるため、秘密分散装置1に接続された複数のハードディスクをRAIDの代わりとして使用することができる。
図示するように秘密分散装置1には、4つのハードディスク(HDD#1、HDD#2、HDD#3、HDD#4)が接続されている。平時においては、秘密分散装置1は、入力された平文の元データSから、前述のように4つの分散データD(i)を生成し、各ハードディスクに格納する。
また、ハードディスク故障時においては、本実施形態は(2、4)型の秘密分散であるため、2つのハードディスク(例えば、HDD#2とHDD#4)が同時に故障しても、残りのハードディスク(例えば、HDD#1とHDD#3)から元データSを復元することができる。すなわち、図11に示す適用例では、RAID6と同等の可用性を実現しつつ、1つのハードディスクに格納された分散データだけでは元データを復元できないため、元データSの機密性および安全性を確保することができる。なお、RAID6には、機密性の仕組みはないため、機密性を確保するには、暗号と組み合わせて使用する必要があるため、コストが増大する。
図12は、本実施形態の秘密分散装置1の第2の適用例を示す構成図である。本実施形態の秘密分散は、ファイルに対して行うことができるため、図1と同様に、入力された元データファイルSを、4つの分散データファイルに分散し、別々の装置に保管することでバックアップとしての用いることができる。図示する例では、分散データD(1)のファイル101は秘密分散装置1と接続され、他の分散データD(2)、D(3)、D(4)のファイル102〜104は、ネットワークを介してそれぞれ異なる場所に設置された保管サーバに格納されるものとする。
図12に示す場合、例えば、分散データD(2)のファイル102がハードディスク故障時で、かつ、分散データD(4)のファイルが格納された保管サーバの建物が火災にあった場合であっても、残りのファイル101、103から元データファイルSを復元することができる。
以上説明した本実施形態では、秘密情報である元データSから4つの分散データD(i)を生成するとともに、当該4つの分散データD(i)のうちの任意の2つの分散データから元データSを復元できる(2、4)型の秘密分散を行うものである。これにより、本実施形態では、ハードディスクの2重故障に耐えうる可用性を実現しつつ、高い機密性を確保することができる。
また、本実施形態では、コンピュータ処理に適したビット演算である排他的論理和演算(XOR)を用いることにより、大容量の元データに対しても簡単な演算処理を繰り返して分散データを生成することができる。
また、本実施形態では、元データSを2等分した元部分データS(j)のサイズを処理単位として、分散部分データD(i,j)を生成し、また、元部分データS(j)を復元する。これにより、本実施形態では、従来の秘密分散法と比較して、より少ない演算数(排他的論理和の演算数)で分散データの生成および元データの復元を行うことができる。すなわち、本実施形態では、大容量のデータに対して、より効率よく、より高速に秘密分散処理を実施することができる。
また、本実施形態では、任意の3つの分散データから、残りの1つの分散データ(追加分散データ)を生成可能である。これにより、本実施形態では、4つの分散データのうち任意の3つの分散データのみを保管することにより、(2、3)型の秘密分散となる。また、3つの分散データから残りの分散データを生成できるため、(2、3)型の秘密分散から(2、4)型の秘密分散に移行することもできる。このように、本実施形態では、(2、4)型秘密分散での運用と、(2、3)型秘密分散での運用との相互切換えを容易に行うことができる。
また、4つの分散データのうち任意の3つの分散データのみを保管して(2、3)型の秘密分散とすることにより、分散データを保管するディスク容量を削減することができる。
また、元データから生成された4つの分散データのうちの1つが、ハードディスク障害などにより破壊または消去された場合であっても、破壊・消去された分散データを生成することができる。したがって、1つの分散データが破壊・消去された場合であっても、当該破壊・消去された分散データを再生成できるため、利用者が提示した元データを変更することなく(2、4)型秘密分散として運用できるため、利用者の利便性を向上することができる。
また、本実施形態の分散データD(3)は、乱数Rのみで構成されるデータである。そのため、仮に元データSを変更した場合であっても、分散データD(3)を変更する必要がない。分散データD(3)をネットワークから切り離して保管するサービス提供形態を行うことも可能である。
また、本実施形態は、(2、4)型の秘密分散を行うものである。(2、3)型の秘密分散の場合、可用性を高める方法として、各分散データをバックアップすることが考えられる。その場合、単純にデータをコピーすると、分散データの容量は2倍になり、すなわち、元データの6倍の容量のディスクが必要となる。これに対し、(2、4)型の秘密分散を行う本実施形態では、ハードディスクの2重故障に耐えうる可用性を実現しているため、各分散データのバックアップが不要であり、したがって、元データの4倍のディスク容量に抑えることができる。
また、本実施形態では、秘密分散により元データの機密性を確保するものであり、1つの分散データからは元データを復元できないものである。そのため、本実施形態では、時間をかけると解読されてしまうおそれがある暗号技術を用いた場合と比較して、長期間保管しても危殆化することなく、より高い機密性を実現することができる。
なお、本発明は上記実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。
1 秘密分散装置
11 元データ入力部
12 乱数生成部
13 分散データ生成部
14 元データ復元部
15 追加分散データ生成部
16 通信部
17 記憶部
3 ネットワーク
5 端末
7a,7b,7c,7d 保管サーバ

Claims (15)

  1. 元データから4つの分散データを生成する秘密分散装置であって、
    前記元データを分割して2つの元部分データを生成する元部分データ生成手段と、
    前記元部分データと同じサイズの乱数部分データを2つ生成する乱数生成手段と、
    前記4つの分散データのそれぞれを、当該分散データを構成する前記元部分データと同じサイズの分散部分データ単位で生成する分散データ生成手段と、
    前記4つの分散データのうち、任意の2つの分散データを用いて前記元データを復元する復元手段と、を有し、
    前記分散データ生成手段は、前記分散部分データを、前記元部分データおよび前記乱数部分データの排他的論理和を算出することにより生成すること
    を特徴とする秘密分散装置。
  2. 請求項1記載の秘密分散装置であって、
    前記元部分データをS(j)(j=1,2)と、乱数部分データをR(j)(j=1,2)と、分散データD(i)(i=1〜4)を構成する分散部分データをD(i,j)(i=1〜4、j=1,2)と、排他的論理和を+とした場合、
    前記分散データ生成手段は、
    分散部分データD(1,1)をS(1)+R(1)+R(2)で、
    分散部分データD(1,2)をS(2)+R(2)で、
    分散部分データD(2,1)をS(1)+R(1)で、
    分散部分データD(2,2)をS(2)+R(1)+R(2)で、
    分散部分データD(3,1)をR(1)で、
    分散部分データD(3,2)をR(2)で、
    分散部分データD(4,1)をS(1)+R(2)で、
    分散部分データD(4,2)をS(2)+R(1)で、それぞれ生成すること
    を特徴とする秘密分散装置。
  3. 請求項2記載の秘密分散装置であって、
    前記復元手段は、
    分散データD(1)およびD(2)から元データを復元する場合、
    元部分データS(1)をD(1,2)+D(2,1)+D(2,2)で、
    元部分データS(2)をD(1,1)+D(1,2)+D(2,1)で復元し、
    分散データD(1)およびD(3)から元データを復元する場合、
    元部分データS(1)をD(1,1)+D(3,1)+D(3,2)で、
    元部分データS(2)をD(1,2)+D(3,2)で、復元し、
    分散データD(2)およびD(3)から元データを復元する場合、
    元部分データS(1)をD(2,1)+D(3,1)で、
    元部分データS(2)をD(2,2)+D(3,1)+D(3,2)で復元し、
    分散データD(1)およびD(4)から元データを復元する場合、
    元部分データS(1)をD(1,1)+D(1,2)+D(4,2)で、
    元部分データS(2)をD(1,1)+D(4,1)+D(4,2)で復元し、
    分散データD(2)およびD(4)から元データを復元する場合、
    元部分データS(1)をD(2,2)+D(4,1)+D(4,2)で、
    元部分データS(2)をD(2,1)+D(2,2)+D(4,1)で復元し、
    分散データD(3)およびD(4)から元データを復元する場合、
    元部分データS(1)をD(3,2)+D(4,1)で、
    元部分データS(2)をD(3,1)+D(4,2)で、復元すること
    を特徴とする秘密分散装置。
  4. 請求項2または請求項3記載の秘密分散装置であって、
    少なくとも2つの分散データから他の分散データを生成する追加分散データ生成手段をさらに有すること
    を特徴とする秘密分散装置。
  5. 請求項4記載の秘密分散装置であって、
    前記追加分散データ生成手段は、
    分散データD(1)、D(2)およびD(3)から、分散データD(4)を生成する場合、
    分散部分データD(4,1)をD(1,1)+D(3,1)で、
    分散部分データD(4,2)をD(2,2)+D(3,2)で生成し、
    分散データD(1)、D(2)およびD(4)から、分散データD(3)を生成する場合、
    分散部分データD(3,1)をD(1,1)+D(4,1)で、
    分散部分データD(3,2)をD(2,2)+D(4,2)で生成し、
    分散データD(1)、D(3)およびD(4)から、分散データD(2)を生成する場合、
    分散部分データD(2,1)をD(1,1)+D(3,2)で、
    分散部分データD(2,2)をD(1,2)+D(3,1)で生成し、
    分散データD(2)、D(3)およびD(4)から、分散データD(1)を生成する場合、
    分散部分データD(1,1)をD(2,1)+D(3,1)で、
    分散部分データD(1,2)をD(2,2)+D(3,2)で生成すること
    を特徴とする秘密分散装置。
  6. 情報処理装置が行う、元データから4つの分散データを生成する秘密分散方法であって、
    前記元データを分割して2つの元部分データを生成する元部分データ生成ステップと、
    前記元部分データと同じサイズの乱数部分データを2つ生成する乱数生成ステップと、
    前記4つの分散データのそれぞれを、当該分散データを構成する前記元部分データと同じサイズの分散部分データ単位で生成する分散データ生成ステップと、
    前記4つの分散データのうち、任意の2つの分散データを用いて前記元データを復元する復元ステップと、を行い、
    前記分散データ生成ステップは、前記分散部分データを、前記元部分データおよび前記乱数部分データの排他的論理和を算出することにより生成すること
    を特徴とする秘密分散方法。
  7. 請求項6記載の秘密分散方法であって、
    前記元部分データをS(j)(j=1,2)と、乱数部分データをR(j)(j=1,2)と、分散データD(i)(i=1〜4)を構成する分散部分データをD(i,j)(i=1〜4、j=1,2)と、排他的論理和を+とした場合、
    前記分散データ生成ステップは、
    分散部分データD(1,1)をS(1)+R(1)+R(2)で、
    分散部分データD(1,2)をS(2)+R(2)で、
    分散部分データD(2,1)をS(1)+R(1)で、
    分散部分データD(2,2)をS(2)+R(1)+R(2)で、
    分散部分データD(3,1)をR(1)で、
    分散部分データD(3,2)をR(2)で、
    分散部分データD(4,1)をS(1)+R(2)で、
    分散部分データD(4,2)をS(2)+R(1)で、それぞれ生成すること
    を特徴とする秘密分散方法。
  8. 請求項7記載の秘密分散方法であって、
    前記復元ステップは、
    分散データD(1)およびD(2)から元データを復元する場合、
    元部分データS(1)をD(1,2)+D(2,1)+D(2,2)で、
    元部分データS(2)をD(1,1)+D(1,2)+D(2,1)で復元し、
    分散データD(1)およびD(3)から元データを復元する場合、
    元部分データS(1)をD(1,1)+D(3,1)+D(3,2)で、
    元部分データS(2)をD(1,2)+D(3,2)で、復元し、
    分散データD(2)およびD(3)から元データを復元する場合、
    元部分データS(1)をD(2,1)+D(3,1)で、
    元部分データS(2)をD(2,2)+D(3,1)+D(3,2)で復元し、
    分散データD(1)およびD(4)から元データを復元する場合、
    元部分データS(1)をD(1,1)+D(1,2)+D(4,2)で、
    元部分データS(2)をD(1,1)+D(4,1)+D(4,2)で復元し、
    分散データD(2)およびD(4)から元データを復元する場合、
    元部分データS(1)をD(2,2)+D(4,1)+D(4,2)で、
    元部分データS(2)をD(2,1)+D(2,2)+D(4,1)で復元し、
    分散データD(3)およびD(4)から元データを復元する場合、
    元部分データS(1)をD(3,2)+D(4,1)で、
    元部分データS(2)をD(3,1)+D(4,2)で、復元すること
    を特徴とする秘密分散方法。
  9. 請求項7または請求項8記載の秘密分散方法であって、
    少なくとも2つの分散データから他の分散データを生成する追加分散データ生成ステップをさらに有すること
    を特徴とする秘密分散方法。
  10. 請求項9記載の秘密分散方法であって、
    前記追加分散データ生成ステップは、
    分散データD(1)、D(2)およびD(3)から、分散データD(4)を生成する場合、
    分散部分データD(4,1)をD(1,1)+D(3,1)で、
    分散部分データD(4,2)をD(2,2)+D(3,2)で生成し、
    分散データD(1)、D(2)およびD(4)から、分散データD(3)を生成する場合、
    分散部分データD(3,1)をD(1,1)+D(4,1)で、
    分散部分データD(3,2)をD(2,2)+D(4,2)で生成し、
    分散データD(1)、D(3)およびD(4)から、分散データD(2)を生成する場合、
    分散部分データD(2,1)をD(1,1)+D(3,2)で、
    分散部分データD(2,2)をD(1,2)+D(3,1)で生成し、
    分散データD(2)、D(3)およびD(4)から、分散データD(1)を生成する場合、
    分散部分データD(1,1)をD(2,1)+D(3,1)で、
    分散部分データD(1,2)をD(2,2)+D(3,2)で生成すること
    を特徴とする秘密分散方法。
  11. 情報処理装置が実行する、元データから4つの分散データを生成する秘密分散プログラムであって、
    前記情報処理装置を、
    前記元データを分割して2つの元部分データを生成する元部分データ生成手段、
    前記元部分データと同じサイズの乱数部分データを2つ生成する乱数生成手段と、
    前記4つの分散データのそれぞれを、当該分散データを構成する前記元部分データと同じサイズの分散部分データ単位で生成する分散データ生成手段、および
    前記4つの分散データのうち、任意の2つの分散データを用いて前記元データを復元する復元手段、として機能させ、
    前記分散データ生成手段は、前記分散部分データを、前記元部分データおよび前記乱数部分データの排他的論理和を算出することにより生成すること
    を特徴とする秘密分散プログラム。
  12. 請求項11記載の秘密分散プログラムであって、
    前記元部分データをS(j)(j=1,2)と、乱数部分データをR(j)(j=1,2)と、分散データD(i)(i=1〜4)を構成する分散部分データをD(i,j)(i=1〜4、j=1,2)と、排他的論理和を+とした場合、
    前記分散データ生成手段は、
    分散部分データD(1,1)をS(1)+R(1)+R(2)で、
    分散部分データD(1,2)をS(2)+R(2)で、
    分散部分データD(2,1)をS(1)+R(1)で、
    分散部分データD(2,2)をS(2)+R(1)+R(2)で、
    分散部分データD(3,1)をR(1)で、
    分散部分データD(3,2)をR(2)で、
    分散部分データD(4,1)をS(1)+R(2)で、
    分散部分データD(4,2)をS(2)+R(1)で、それぞれ生成すること
    を特徴とする秘密分散プログラム。
  13. 請求項12記載の秘密分散プログラムであって、
    前記復元手段は、
    分散データD(1)およびD(2)から元データを復元する場合、
    元部分データS(1)をD(1,2)+D(2,1)+D(2,2)で、
    元部分データS(2)をD(1,1)+D(1,2)+D(2,1)で復元し、
    分散データD(1)およびD(3)から元データを復元する場合、
    元部分データS(1)をD(1,1)+D(3,1)+D(3,2)で、
    元部分データS(2)をD(1,2)+D(3,2)で、復元し、
    分散データD(2)およびD(3)から元データを復元する場合、
    元部分データS(1)をD(2,1)+D(3,1)で、
    元部分データS(2)をD(2,2)+D(3,1)+D(3,2)で復元し、
    分散データD(1)およびD(4)から元データを復元する場合、
    元部分データS(1)をD(1,1)+D(1,2)+D(4,2)で、
    元部分データS(2)をD(1,1)+D(4,1)+D(4,2)で復元し、
    分散データD(2)およびD(4)から元データを復元する場合、
    元部分データS(1)をD(2,2)+D(4,1)+D(4,2)で、
    元部分データS(2)をD(2,1)+D(2,2)+D(4,1)で復元し、
    分散データD(3)およびD(4)から元データを復元する場合、
    元部分データS(1)をD(3,2)+D(4,1)で、
    元部分データS(2)をD(3,1)+D(4,2)で、復元すること
    を特徴とする秘密分散プログラム。
  14. 請求項12または請求項13記載の秘密分散プログラムであって、
    少なくとも2つの分散データから他の分散データを生成する追加分散データ生成手段、として機能させること
    を特徴とする秘密分散プログラム。
  15. 請求項14記載の秘密分散プログラムであって、
    前記追加分散データ生成手段は、
    分散データD(1)、D(2)およびD(3)から、分散データD(4)を生成する場合、
    分散部分データD(4,1)をD(1,1)+D(3,1)で、
    分散部分データD(4,2)をD(2,2)+D(3,2)で生成し、
    分散データD(1)、D(2)およびD(4)から、分散データD(3)を生成する場合、
    分散部分データD(3,1)をD(1,1)+D(4,1)で、
    分散部分データD(3,2)をD(2,2)+D(4,2)で生成し、
    分散データD(1)、D(3)およびD(4)から、分散データD(2)を生成する場合、
    分散部分データD(2,1)をD(1,1)+D(3,2)で、
    分散部分データD(2,2)をD(1,2)+D(3,1)で生成し、
    分散データD(2)、D(3)およびD(4)から、分散データD(1)を生成する場合、
    分散部分データD(1,1)をD(2,1)+D(3,1)で、
    分散部分データD(1,2)をD(2,2)+D(3,2)で生成すること
    を特徴とする秘密分散プログラム。
JP2009179389A 2009-07-31 2009-07-31 秘密分散装置、秘密分散方法、および秘密分散プログラム Pending JP2011035618A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009179389A JP2011035618A (ja) 2009-07-31 2009-07-31 秘密分散装置、秘密分散方法、および秘密分散プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009179389A JP2011035618A (ja) 2009-07-31 2009-07-31 秘密分散装置、秘密分散方法、および秘密分散プログラム

Publications (1)

Publication Number Publication Date
JP2011035618A true JP2011035618A (ja) 2011-02-17

Family

ID=43764262

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009179389A Pending JP2011035618A (ja) 2009-07-31 2009-07-31 秘密分散装置、秘密分散方法、および秘密分散プログラム

Country Status (1)

Country Link
JP (1) JP2011035618A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015045961A (ja) * 2013-08-27 2015-03-12 株式会社東芝 情報処理装置、監視カメラ装置、及び映像再生装置
JP5889454B1 (ja) * 2015-02-23 2016-03-22 日本電信電話株式会社 分散値変換システム、分散値変換装置、分散値変換方法、およびプログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004213650A (ja) * 2002-12-19 2004-07-29 Ntt Communications Kk データ分割方法、データ分割装置およびコンピュータプログラム
JP2007124032A (ja) * 2005-10-25 2007-05-17 Toshiba Corp 秘密分散装置、方法及びプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004213650A (ja) * 2002-12-19 2004-07-29 Ntt Communications Kk データ分割方法、データ分割装置およびコンピュータプログラム
JP2007124032A (ja) * 2005-10-25 2007-05-17 Toshiba Corp 秘密分散装置、方法及びプログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JPN6013032449; KARNIN, E. D. et al.: 'On Secret Sharing Systems' IEEE Trasnsactions on Information Theory Vol.IT-29 No.1, 198301, p.35-41 *
JPN6013032451; 保坂範和 他: '2値行列に基づく(2,n)しきい値秘密分散法' 2007年暗号と情報セキュリティシンポジウム講演論文集 , 20070123 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015045961A (ja) * 2013-08-27 2015-03-12 株式会社東芝 情報処理装置、監視カメラ装置、及び映像再生装置
JP5889454B1 (ja) * 2015-02-23 2016-03-22 日本電信電話株式会社 分散値変換システム、分散値変換装置、分散値変換方法、およびプログラム
JP2016156853A (ja) * 2015-02-23 2016-09-01 日本電信電話株式会社 分散値変換システム、分散値変換装置、分散値変換方法、およびプログラム

Similar Documents

Publication Publication Date Title
CN107317666B (zh) 一种支持浮点运算的并行全同态加解密方法
US9483656B2 (en) Efficient and secure data storage utilizing a dispersed data storage system
CN103748827B (zh) 用于无线数据保护的系统和方法
US7317799B2 (en) Cryptographic key distribution using key folding
CN102611549B (zh) 数据加密设备和存储卡
US8656187B2 (en) Dispersed storage secure data decoding
US20170019253A1 (en) Decrypting segmented data in a distributed computing system
JP2003348065A (ja) データ分散保管システム
JP5133850B2 (ja) ストレージノード用再暗号化システム及びネットワークストレージ
JP2014138349A (ja) 秘密分散システム、データ分散装置、分散データ保有装置、秘密分散方法、およびプログラム
JP5065755B2 (ja) 分散情報生成装置、機密情報復元装置、分散情報生成方法、機密情報復元方法およびプログラム
JP7047838B2 (ja) 秘密計算装置、比較方法、比較プログラム、および秘密計算システム
Kanatt et al. Review of secure file storage on cloud using hybrid cryptography
JP6108970B2 (ja) データ再生成装置、データ再生成方法およびプログラム
JP2011035618A (ja) 秘密分散装置、秘密分散方法、および秘密分散プログラム
WO2016082857A1 (en) Method for encrypting data for distributed storage
Tian et al. Pts-dep: A high-performance two-party secure deduplication for cloud storage
JP2011119985A (ja) 暗号復号方法
JP6197597B2 (ja) 情報処理システム、情報処理装置の制御プログラム及び情報処理システムの制御方法
JP2009042892A (ja) データ管理システム,データ管理方法
JP2005167794A (ja) 秘密情報保管方法及び装置、秘密情報復元方法及び装置、秘密情報保管プログラム並びに秘密情報復元プログラム。
Rawat et al. Hyper-Space: Blockchain-based Decentralized Cloud Storage System
US11664976B2 (en) Method and devices for creating redundancy and encryption using Mojette Transform
JP5908088B2 (ja) シミュレータ間の通信方法およびシミュレーションシステム
WO2023243141A1 (ja) 連合学習システム及び連合学習方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130621

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130709

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130909

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20131001