JP5968484B1 - シェア復旧システム、シェア復旧方法、およびプログラム - Google Patents
シェア復旧システム、シェア復旧方法、およびプログラム Download PDFInfo
- Publication number
- JP5968484B1 JP5968484B1 JP2015054492A JP2015054492A JP5968484B1 JP 5968484 B1 JP5968484 B1 JP 5968484B1 JP 2015054492 A JP2015054492 A JP 2015054492A JP 2015054492 A JP2015054492 A JP 2015054492A JP 5968484 B1 JP5968484 B1 JP 5968484B1
- Authority
- JP
- Japan
- Prior art keywords
- share
- random number
- recovery
- secret sharing
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
【課題】Shamir秘密分散に対する効率的なシェア復旧技術を提供する。【解決手段】n台のシェア復旧装置p0,…,pn-1が、復元すると乱数rとなるShamir秘密分散値のシェア[r]iを生成する。k台のシェア復旧装置σ0,…,σk-1が、シェア[a]iからシェア[r]iを減算してシェア[b]iを計算する。シェア復旧装置τkが、シェア復旧装置σ0,…,σk-1からシェア[b]0,…,[b]k-1を受信する。シェア復旧装置τkが、シェア[b]0,…,[b]k-1を用いてシェア[b]k,…,[b]k+m-1を復旧する。m-1台のシェア復旧装置τk+1,…,τk+m-1が、シェア復旧装置τkからシェア[b]jを受信する。m台のシェア復旧装置τk,…,τk+m-1が、シェア[b]jにシェア[r]jを加算してシェア[a]jを計算する。【選択図】図3
Description
この発明は、秘密分散技術に関し、特に、秘密分散された分散値のうち一部のシェアが失われた場合に、その失われたシェアを復旧する技術に関する。
秘密分散とは、データを複数に分割した分散値に変換し、一定個数以上のシェアを用いれば元のデータを復元でき、一定個数未満のシェアからは元のデータを一切復元できなくする技術である。なお、秘密分散した複数個の値の組を分散値と呼び、分散値のうちの1個の断片をシェアと呼ぶ。秘密分散の例としては、Shamir秘密分散(Shamir's Secret Sharing)や複製型秘密分散(Replicated Secret Sharing)などが挙げられる。
復旧とは、シェアを保有するパーティが利用不能になるなどにより一部のシェアが失われた際に、利用不能となった一部のシェアを利用可能な一定数のシェアから秘匿性を失わずに再構築する方法である。従来の復旧技術としては、例えば、特許文献1や非特許文献1に記載の方法が挙げられる。
K. V. Rashmi, N. B. Shah, and P. V. Kumar, "Optimal Exact-Regenerating Codes for Distributed Storage at the MSR and MBR Points via a Product-Matrix Construction", CoRR, vol. abs/1005.4178, 2010.
特許文献1や非特許文献1に記載の従来技術は、専用の符号化を必要とする。そのため、Shamir秘密分散などとは異なり秘密計算には適用できない。また、特許文献1の方法は、パーティあたりの平均通信量がO(n)であり効率が低い。
この発明の目的は、このような点に鑑みて、Shamir秘密分散に対する効率的なシェア復旧技術を提供することである。
上記の課題を解決するために、この発明のシェア復旧システムは、n台のシェア復旧装置p0,…,pn-1を含むシェア復旧システムであって、n≧2k-1とし、m≦n-kとし、iは0以上k未満の各整数とし、jはk+1以上k+m未満の各整数とし、[a]0,…,[a]n-1は情報aをShamir秘密分散によりn個に分割したシェアとし、σ0,…,σk-1は正当なシェア[a]0,…,[a]k-1を保持するk台のシェア復旧装置とし、τk,…,τk+m-1は不正なシェア[a]k,…,[a]k+m-1を保持するm台のシェア復旧装置とし、シェア復旧装置σiは、復元すると乱数rとなるShamir秘密分散値[r]のシェア[r]iを生成する乱数生成部と、シェア[a]iからシェア[r]iを減算して、復元すると値bとなるShamir秘密分散値[b]のシェア[b]iを計算する秘匿化部と、を含み、シェア復旧装置τkは、Shamir秘密分散値[r]のシェア[r]kを生成する乱数生成部と、シェア復旧装置σ0,…,σk-1からShamir秘密分散値[b]のシェア[b]0,…,[b]k-1を受信するシェア通信部と、シェア[b]0,…,[b]k-1を用いてShamir秘密分散値[b]のシェア[b]k,…,[b]k+m-1を復旧する復旧部と、シェア[b]kにシェア[r]kを加算してシェア[a]kを計算する復元部と、を含み、シェア復旧装置τjは、Shamir秘密分散値[r]のシェア[r]jを生成する乱数生成部と、シェア復旧装置τkからShamir秘密分散値[b]のシェア[b]jを受信するシェア通信部と、シェア[b]jにシェア[r]jを加算してシェア[a]jを計算する復元部と、を含む。
この発明のシェア復旧技術は、Shamir秘密分散のシェアを復旧する際のパーティ平均通信量が1体要素である。また、複数のシェアが失われた場合でも平均通信量は変化しない。したがって、この発明によれば、効率的にShamir秘密分散のシェアを復旧できる。
実施形態の説明に先立ち、この明細書における表記方法およびこの発明の基本的な考え方について説明する。
[表記方法]
piは、i番目のシェアを所持するパーティを表す。
P=(p0,…,pn-1)は、シェアを所持するnパーティ全体の集合を表す。
σi∈Pは、正当なシェアを所持する稼動中のパーティを表す。
τi∈Pは、正当なシェアを失った故障中のパーティを表す。
[・]x(角括弧)は、平文・のShamir秘密分散による分散値を表す。xは平文空間の要素数を表す。x=pのとき、xは省略して[・]と表す。pは群Zpの位数である素数である。
[・]iは、Shamir秘密分散値[・]のうち、パーティpi∈Pが所持するシェアを表す。
piは、i番目のシェアを所持するパーティを表す。
P=(p0,…,pn-1)は、シェアを所持するnパーティ全体の集合を表す。
σi∈Pは、正当なシェアを所持する稼動中のパーティを表す。
τi∈Pは、正当なシェアを失った故障中のパーティを表す。
[・]x(角括弧)は、平文・のShamir秘密分散による分散値を表す。xは平文空間の要素数を表す。x=pのとき、xは省略して[・]と表す。pは群Zpの位数である素数である。
[・]iは、Shamir秘密分散値[・]のうち、パーティpi∈Pが所持するシェアを表す。
[Shamir秘密分散]
Shamir秘密分散(Shamir's Secret Sharing)は(k,n)-秘密分散の一つである。(k,n)-秘密分散は、入力された平文をn個に分割した分散値をn個のパーティに分散して保持しておき、任意のk個のシェアが揃えば平文を復元でき、k個未満のシェアからは平文に関する一切の情報を得られないような秘密分散である。このとき、n, kは1以上の整数であり、n=2k-1である。Shamir秘密分散についての詳細は下記参考文献1を参照されたい。
〔参考文献1〕A. Shamir, “How to share a secret”, Communications of the ACM, vol. 22(11), pp. 612-613, 1979.
Shamir秘密分散(Shamir's Secret Sharing)は(k,n)-秘密分散の一つである。(k,n)-秘密分散は、入力された平文をn個に分割した分散値をn個のパーティに分散して保持しておき、任意のk個のシェアが揃えば平文を復元でき、k個未満のシェアからは平文に関する一切の情報を得られないような秘密分散である。このとき、n, kは1以上の整数であり、n=2k-1である。Shamir秘密分散についての詳細は下記参考文献1を参照されたい。
〔参考文献1〕A. Shamir, “How to share a secret”, Communications of the ACM, vol. 22(11), pp. 612-613, 1979.
Shamir秘密分散のメリットは、データ容量が小さいことである。一方、デメリットは、体の要素数がn+1以上でなければならず、mod 2は使えないことである。
以下、この発明の実施の形態について詳細に説明する。なお、図面中において同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
[第一実施形態]
第一実施形態のシェア復旧システムは、図1に例示するように、n(≧3)台のシェア復旧装置11,…,1nを含む。本形態では、シェア復旧装置11,…,1nはそれぞれ通信網2へ接続される。通信網2は、接続される各装置が相互に通信可能なように構成された回線交換方式もしくはパケット交換方式の通信網であり、例えばインターネットやLAN(Local Area Network)、WAN(Wide Area Network)などを用いることができる。なお、各装置は必ずしも通信網2を介してオンラインで通信可能である必要はない。例えば、シェア復旧装置1i(i∈{1,…,n})へ入力する情報を磁気テープやUSBメモリなどの可搬型記録媒体に記憶し、その可搬型記録媒体からオフラインで入力するように構成してもよい。
第一実施形態のシェア復旧システムは、図1に例示するように、n(≧3)台のシェア復旧装置11,…,1nを含む。本形態では、シェア復旧装置11,…,1nはそれぞれ通信網2へ接続される。通信網2は、接続される各装置が相互に通信可能なように構成された回線交換方式もしくはパケット交換方式の通信網であり、例えばインターネットやLAN(Local Area Network)、WAN(Wide Area Network)などを用いることができる。なお、各装置は必ずしも通信網2を介してオンラインで通信可能である必要はない。例えば、シェア復旧装置1i(i∈{1,…,n})へ入力する情報を磁気テープやUSBメモリなどの可搬型記録媒体に記憶し、その可搬型記録媒体からオフラインで入力するように構成してもよい。
シェア復旧装置1は、図2に例示するように、シェア記憶部10、乱数生成部11、秘匿化部12、シェア通信部13、復旧部14、および復元部15を含む。
シェア復旧装置1は、例えば、中央演算処理装置(CPU: Central Processing Unit)、主記憶装置(RAM: Random Access Memory)などを有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。シェア復旧装置1は、例えば、中央演算処理装置の制御のもとで各処理を実行する。シェア復旧装置1に入力されたデータや各処理で得られたデータは、例えば、主記憶装置に格納され、主記憶装置に格納されたデータは必要に応じて中央演算処理装置へ読み出されて他の処理に利用される。シェア復旧装置1の各処理部は、少なくとも一部が集積回路等のハードウェアによって構成されていてもよい。
シェア復旧装置1の備えるシェア記憶部10は、例えば、RAM(Random Access Memory)などの主記憶装置、ハードディスクや光ディスクもしくはフラッシュメモリ(Flash Memory)のような半導体メモリ素子により構成される補助記憶装置、またはリレーショナルデータベースやキーバリューストアなどのミドルウェアにより構成することができる。
図3を参照して、第一実施形態のシェア復旧方法の処理手続きを説明する。
以下では、σ0,…,σk-1を稼動中のシェア復旧装置から任意に選択したk台のシェア復旧装置とし、τk,…,τk+m-1(m≦n-k)を故障中のm台のシェア復旧装置とする。すなわち、情報aのShamir秘密分散値[a]のうち、シェア[a]0,…,[a]k-1は正当なシェアであり、[a]k,…,[a]k+m-1は破損もしくは失われたシェアである。σ0,…,σk-1,τk,…,τk+m-1は論理的にシェア復旧装置の役割を指し示す符号であり、どのシェア復旧装置11,…,1nがどのシェア復旧装置σ0,…,σk-1,τk,…,τk+m-1に対応するかは実行時に任意に決定される。
少なくともk台のシェア復旧装置σi(i=0,…,k-1)のシェア記憶部10には、情報aをShamir秘密分散によりn個に分割した分散値[a]のうちi番目のシェア[a]iが記憶されている。情報aは体Fの要素であり、体Fはmod pの数の集合である。なお、pは素数である。
ステップS11において、n台のシェア復旧装置pi(i=0,…,n-1)の乱数生成部11は、復元すると乱数rとなるShamir秘密分散値[r]のシェア[r]iを生成する。シェア[r]iは、秘匿化部12および復元部15へ送られる。シェア[r]iの生成は、いずれのシェア復旧装置piからも乱数rが秘匿された状態で行われなければならない。例えば、以下のようにしてシェア[r]iを生成することができる。まず、シェア復旧装置pj(j=0,…,n-1)それぞれが乱数rjを生成する。次に、シェア復旧装置pjそれぞれが、乱数rjをShamir秘密分散により分割し、乱数rjの分散値[rj]を生成する。そして、シェア復旧装置pi(i=0,…,n-1)それぞれが、[r]i=Σj<n[rj]iを計算し、乱数rのシェア[r]iを得る。このように構成すれば、いずれのシェア復旧装置p0,…,pn-1も乱数rを知ることがなく、乱数rのシェア[r]iを得ることができる。
ステップS12iにおいて、k台のシェア復旧装置σi(i=0,…,k-1)の秘匿化部12は、シェア記憶部10に記憶されたシェア[a]iから、乱数生成部11が出力するシェア[r]iを減算して、Shamir秘密分散のシェア[b]iを計算する。すなわち、[b]i=[a]i-[r]iを計算する。シェア復旧装置σiのシェア通信部13は、シェア[b]iをシェア復旧装置τkへ送信する。ステップS13kにおいて、シェア復旧装置τkのシェア通信部13は、シェア復旧装置σ0,…,σk-1からk個のシェア[b]0,…,[b]k-1を受信する。
ステップS14kにおいて、シェア復旧装置τkの復旧部14は、シェア復旧装置σ0,…,σk-1から受信したk個のシェア[b]0,…,[b]k-1を用いて、m個のシェア[b]k,…,[b]k+m-1を復旧する。シェア復旧装置τkのシェア通信部13は、m-1個のシェア[b]j(j=k+1,…,k+m-1)をシェア復旧装置τjへ送信する。ステップS13jにおいて、シェア復旧装置τj(j=k+1,…,k+m-1)のシェア通信部13は、シェア復旧装置τkからシェア[b]jを受信する。
シェア復旧装置τkの復旧部14は、具体的には以下のようにしてシェアの復旧を行う。復旧部14は、j=k,…,k+m-1について、次式によりシェア[b]jを計算する。
ここで、λσ,i,jは、公知のラグランジュ補間において、座標xjの関数値f(xj)を、座標x0,…,xk-1の関数値f(x0),…,f(xk-1)(=[a]0,…,[a]k-1)から計算する際に、関数値f(xi)に乗ずるべき係数である。λσ,i,jは、次式により計算できる。
ステップS15kにおいて、シェア復旧装置τkの復元部15は、復旧部14が出力するシェア[b]kに、乱数生成部11が出力するシェア[r]kを加算して、シェア[a]kを計算する。すなわち、[a]k=[b]k+[r]kを計算する。同様に、ステップS15jにおいて、m-1台のシェア復旧装置τj(j=k+1,…,k+m-1)の復元部15は、シェア復旧装置τkから受信したシェア[b]jに、乱数生成部11が出力するシェア[r]jを加算して、シェア[a]jを計算する。すなわち、[a]j=[b]j+[r]jを計算する。
本形態のシェア復旧システムおよび方法では、処理中で乱数rを用いるが、この乱数rは最後にはキャンセルされるため、シェアを復旧したときに稼働中のパーティのシェアを再生成する必要がない。また、復旧したシェアは失われる前と同一のシェアとなるため、データの版管理を悪化させることがない。
[第二実施形態]
第二実施形態のシェア復旧システムは、図1に例示するように、n(≧3)台のシェア復旧装置31,…,3nを含む。
第二実施形態のシェア復旧システムは、図1に例示するように、n(≧3)台のシェア復旧装置31,…,3nを含む。
シェア復旧装置3i(i=1,…,n)は、図4に例示するように、シェア記憶部10、乱数生成部11、秘匿化部12、シェア通信部13、復旧部14、および復元部15を第一実施形態と同様に含み、不整合検知部16をさらに含む。不整合検知部16は、図5に例示するように、公開乱数生成部161、共有乱数計算部162、チェックサム計算部163、乱数分散値生成部164、判定値計算部165、判定値通信部166、判定値復旧部167、および不整合判定部168を含む。
図6を参照して、第二実施形態のシェア復旧方法の処理手続きを、第一実施形態との差分を中心に説明する。
ステップS16において、n台のシェア復旧装置pi(i=0,…,n-1)の不整合検知部16は、シェア記憶部10に記憶された情報aの分散値[a]に不整合があるか否かを検証し、不正なシェアを持つシェア復旧装置τk,…,τk+m-1を特定する。また、同時に、正当なシェアを持つシェア復旧装置のうち、シェアの復旧を行うk台のシェア復旧装置σ0,…,σk-1を選択する。
ステップS11以降の処理では、不正なシェアを保持するシェア復旧装置τk,…,τk+m-1と、正当なシェアを保持するn-m台のシェア復旧装置から選択したk台のシェア復旧装置σ0,…,σk-1とが、第一実施形態で説明した方法により不正なシェアの復旧を行う。
図7を参照して、不整合検知部16が分散値の不整合を検知する処理手続きを、より詳細に説明する。
ステップS161において、n台のシェア復旧装置pi(i=0,…,n-1)の公開乱数生成部161は、乱数siを生成する。生成した乱数siは他のn-1台のシェア復旧装置pi'(i'=0,…,n-1、i≠i')から参照できるように公開する。
ステップS162において、n台のシェア復旧装置piの共有乱数計算部162は、自身が生成した乱数siと他のn-1台のシェア復旧装置pi'が公開する乱数si'を併せたn個の乱数s0,…,sn-1を用いて、次式により共有乱数sを計算する。
ステップS163において、n台のシェア復旧装置piのチェックサム計算部163は、シェア記憶部10に記憶されたシェア[a]iを[a]i:=([a0]i,…,[am-1]i)とし、共有乱数計算部162が計算した共有乱数sを用いて、次式によりチェックサム[c]iを計算する。
ステップS164において、n台のシェア復旧装置piの乱数分散値生成部164は、復元すると乱数r'となるShamir秘密分散値[r']のシェア[r']iを生成する。シェア[r']iの生成方法は、上述の乱数生成部11と同様の処理により行えばよい。
ステップS165において、n台のシェア復旧装置piの判定値計算部165は、チェックサム計算部163が計算したチェックサム[c]iから、乱数分散値生成部164が生成したシェア[r']iを減算して、復元すると判定値dとなるShamir秘密分散値[d]のシェア[d]i=[c-r']iを計算する。シェア同士の減算はシェア復旧装置p0,…,pn-1間での通信なしに行うことができる。
ステップS166aにおいて、n-1台のシェア復旧装置p1,…,pn-1の判定値通信部166は、判定値計算部165が計算したシェア[d]iをシェア復旧装置p0へ送信する。ステップS166bにおいて、シェア復旧装置p0の判定値通信部166は、n-1台のシェア復旧装置p1,…,pn-1からn-1個のシェア[d]1,…,[d]n-1を受信する。
ステップS167において、n台のシェア復旧装置piの判定値復旧部167は、k個のシェア[d]0,…,[d]k-1からn-k個のシェア[d]'k,…,[d]'n-1を復旧する。シェアの復旧方法は、上述の復旧部14と同様に、ラグランジュ補間を用いて行うことが可能である。
ステップS168において、n台のシェア復旧装置piの不整合判定部168は、j'=k,…,n-1について、シェア復旧装置pj'から受信したシェア[d]j'と復旧したシェア[d]'j'とが一致するか否かを判定する。j'=k,…,n-1のすべてについて[d]j'=[d]'j'が成り立てば不整合がなかったと判定し、いずれかのj'について[d]j'≠[d]'j'であれば不整合があったと判定する。不整合がなかったと判定した場合には、その旨を示す情報(例えば、k個のシェア[d]0,…,[d]k-1から復元した判定値dなど)を出力して処理を終了する。
不整合があったと判定した場合には、n台のシェア復旧装置piのうち2k-1台のシェア復旧装置を選択し、すべての2k-1台のシェア復旧装置の組み合わせについて上述の不整合検知部16の処理手続きにより不整合検知を行うことを繰り返す。これにより、不整合が検出された場合に共通して処理を行ったシェア復旧装置が保持しているシェアが不正なシェアであることを検知することができる。
第二実施形態のシェア復旧システムおよび方法によれば、シェアが偶発的にビット反転してしまった場合や攻撃者によりシェアが改ざんされた場合など、すべてのシェア復旧装置が稼働中であってもシェアを復旧することができる。特に、シェア本体のハッシュ値を取ることで改ざん検知するような方法ではシェア本体とハッシュ値の両方を改ざんするような攻撃には対応できなかったが、本形態の方法であればすべてのシェアが辻褄の合うように改ざんされない限り不整合を検知できるため有効である。また、不整合検知部の処理は、シェアのデータ量に関わらず、通信量がO(1)、ラウンド数がO(1)であるため、効率がよい。
この発明は上述の実施形態に限定されるものではなく、この発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。上記実施形態において説明した各種の処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
[プログラム、記録媒体]
上記実施形態で説明した各装置における各種の処理機能をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
上記実施形態で説明した各装置における各種の処理機能をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
1、3 シェア復旧装置
2 通信網
10 シェア記憶部
11 乱数生成部
12 秘匿化部
13 シェア通信部
14 復元部
15 復旧部
16 不整合検知部
2 通信網
10 シェア記憶部
11 乱数生成部
12 秘匿化部
13 シェア通信部
14 復元部
15 復旧部
16 不整合検知部
Claims (5)
- n台のシェア復旧装置p0,…,pn-1を含むシェア復旧システムであって、
n≧2k-1とし、m≦n-kとし、iは0以上k未満の各整数とし、jはk+1以上k+m未満の各整数とし、[a]0,…,[a]n-1は情報aをShamir秘密分散によりn個に分割したシェアとし、σ0,…,σk-1は正当なシェア[a]0,…,[a]k-1を保持するk台のシェア復旧装置とし、τk,…,τk+m-1は不正なシェア[a]k,…,[a]k+m-1を保持するm台のシェア復旧装置とし、
上記シェア復旧装置σiは、
復元すると乱数rとなるShamir秘密分散値[r]のシェア[r]iを生成する乱数生成部と、
上記シェア[a]iから上記シェア[r]iを減算して、復元すると値bとなるShamir秘密分散値[b]のシェア[b]iを計算する秘匿化部と、
を含み、
上記シェア復旧装置τkは、
上記Shamir秘密分散値[r]のシェア[r]kを生成する乱数生成部と、
上記シェア復旧装置σ0,…,σk-1から上記Shamir秘密分散値[b]のシェア[b]0,…,[b]k-1を受信するシェア通信部と、
上記シェア[b]0,…,[b]k-1を用いて上記Shamir秘密分散値[b]のシェア[b]k,…,[b]k+m-1を復旧する復旧部と、
上記シェア[b]kに上記シェア[r]kを加算して上記シェア[a]kを計算する復元部と、
を含み、
上記シェア復旧装置τjは、
上記Shamir秘密分散値[r]のシェア[r]jを生成する乱数生成部と、
上記シェア復旧装置τkから上記Shamir秘密分散値[b]のシェア[b]jを受信するシェア通信部と、
上記シェア[b]jに上記シェア[r]jを加算して上記シェア[a]jを計算する復元部と、
を含むシェア復旧システム。 - 請求項1に記載のシェア復旧システムであって、
上記復旧部は、j'=k,…,k+m-1について、上記シェア[b]0,…,[b]k-1からラグランジュ補間により[b]j'を求めることにより、上記シェア[b]k,…,[b]k+m-1を復旧するものである
シェア復旧システム。 - 請求項1または2に記載のシェア復旧システムであって、
上記シェア復旧装置p0,…,pn-1は、
乱数siを生成し、上記乱数siを公開する公開乱数生成部と、
上記乱数s0,…,sn-1の総和である共有乱数sを生成する共有乱数計算部と、
上記共有乱数sと上記シェア[a]iを用いてシェア[c]i=Σi<msi+1[a]iを計算するチェックサム計算部と、
復元すると乱数r'になるShamir秘密分散値[r']のシェア[r']iを生成する乱数分散値生成部と、
上記シェア[c]iから上記シェア[r']iを減算して、復元すると判定値dとなるShamir秘密分散値[d]のシェア[d]iを計算する判定値計算部と、
k個のシェア[d]0,…,[d]k-1からn-k個のシェア[d]'k,…,[d]'n-1を復旧する判定値復旧部と、
h=k,…,n-1について、上記シェア[d]hと上記シェア[d]'hとが一致するか否かを判定する不整合判定部と、
をさらに含むシェア復旧システム。 - n≧2k-1とし、m≦n-kとし、iは0以上k未満の各整数とし、jはk+1以上k+m未満の各整数とし、i'は0以上n未満の各整数とし、j'はk以上k+m未満の各整数とし、[a]0,…,[a]n-1は情報aをShamir秘密分散によりn個に分割したシェアとし、σ0,…,σk-1は正当なシェア[a]0,…,[a]k-1を保持するk台のシェア復旧装置とし、τk,…,τk+m-1は不正なシェア[a]k,…,[a]k+m-1を保持するm台のシェア復旧装置とし、
n台のシェア復旧装置pi'が、復元すると乱数rとなるShamir秘密分散値[r]のシェア[r]i'を生成する乱数生成ステップと、
k台のシェア復旧装置σiが、上記シェア[a]iから上記シェア[r]iを減算して、復元すると値bとなるShamir秘密分散値[b]のシェア[b]iを計算する秘匿化ステップと、
シェア復旧装置τkが、上記シェア復旧装置σ0,…,σk-1から上記Shamir秘密分散値[b]のシェア[b]0,…,[b]k-1を受信する第一シェア通信ステップと、
上記シェア復旧装置τkが、上記シェア[b]0,…,[b]k-1を用いて上記Shamir秘密分散値[b]のシェア[b]k,…,[b]k+m-1を復旧する復旧ステップと、
m-1台のシェア復旧装置τjが、上記シェア復旧装置τkから上記シェア[b]jを受信する第二シェア通信ステップと、
m台のシェア復旧装置τj'が、上記シェア[b]j'に上記シェア[r]j'を加算して上記シェア[a]j'を計算する復元ステップと、
を含むシェア復旧方法。 - 請求項4に記載のシェア復旧方法の各ステップをコンピュータに実行させるためのプログラム。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015054492A JP5968484B1 (ja) | 2015-03-18 | 2015-03-18 | シェア復旧システム、シェア復旧方法、およびプログラム |
CN201680015306.1A CN107430829B (zh) | 2015-03-18 | 2016-02-01 | 份额恢复系统、装置、方法以及存储介质 |
US15/557,585 US10885814B2 (en) | 2015-03-18 | 2016-02-01 | Share recovery system, share recovery apparatus, share recovery method, and program |
EP16764549.8A EP3258458B1 (en) | 2015-03-18 | 2016-02-01 | Share recovery system, share recovery apparatus, share recovery method, and program |
PCT/JP2016/052944 WO2016147718A1 (ja) | 2015-03-18 | 2016-02-01 | シェア復旧システム、シェア復旧装置、シェア復旧方法、およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015054492A JP5968484B1 (ja) | 2015-03-18 | 2015-03-18 | シェア復旧システム、シェア復旧方法、およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP5968484B1 true JP5968484B1 (ja) | 2016-08-10 |
JP2016173534A JP2016173534A (ja) | 2016-09-29 |
Family
ID=56692783
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015054492A Active JP5968484B1 (ja) | 2015-03-18 | 2015-03-18 | シェア復旧システム、シェア復旧方法、およびプログラム |
Country Status (5)
Country | Link |
---|---|
US (1) | US10885814B2 (ja) |
EP (1) | EP3258458B1 (ja) |
JP (1) | JP5968484B1 (ja) |
CN (1) | CN107430829B (ja) |
WO (1) | WO2016147718A1 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11456862B2 (en) * | 2017-07-05 | 2022-09-27 | Nippon Telegraph And Telephone Corporation | Secure computation system, secure computation apparatus, secure computation method, and recording medium |
AU2018320433B2 (en) * | 2017-08-22 | 2021-03-25 | Nippon Telegraph And Telephone Corporation | Share generating device, share converting device, secure computation system, share generation method, share conversion method, program, and recording medium |
US11818254B2 (en) | 2017-08-22 | 2023-11-14 | Nippon Telegraph And Telephone Corporation | Share generating device, reconstructing device, secure computation system, share generation method, reconstruction method, program, and recording medium |
AU2018340671B2 (en) * | 2017-09-29 | 2023-12-21 | Workjam Inc. | Access to secured information |
EP3786927B1 (en) * | 2018-04-26 | 2023-06-14 | Nippon Telegraph And Telephone Corporation | System, apparatus, method and program for secure aggregate median computation |
US11868510B2 (en) * | 2018-05-17 | 2024-01-09 | Nippon Telegraph And Telephone Corporation | Secure cross tabulation system, secure computation apparatus, secure cross tabulation method, and program |
WO2019225401A1 (ja) * | 2018-05-25 | 2019-11-28 | 日本電信電話株式会社 | 秘密集約関数計算システム、秘密計算装置、秘密集約関数計算方法、およびプログラム |
CN115455488B (zh) * | 2022-11-15 | 2023-03-28 | 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) | 基于复制秘密共享的密态数据库查询方法及装置 |
JP7428335B1 (ja) | 2023-06-26 | 2024-02-06 | 株式会社リーディングエッジ | 秘密分散方法、秘密分散システム、秘密分散プログラム |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014112548A1 (ja) * | 2013-01-17 | 2014-07-24 | 日本電信電話株式会社 | 秘匿計算システム、演算装置、秘匿計算方法、およびプログラム |
JP2014138349A (ja) * | 2013-01-18 | 2014-07-28 | Nippon Telegr & Teleph Corp <Ntt> | 秘密分散システム、データ分散装置、分散データ保有装置、秘密分散方法、およびプログラム |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4305049B2 (ja) | 2003-05-15 | 2009-07-29 | 沖電気工業株式会社 | 秘密分散方法、秘密分散システム、及び分散演算装置 |
JP4304215B2 (ja) * | 2007-03-23 | 2009-07-29 | 株式会社東芝 | 秘密分散装置、方法及びプログラム |
WO2010055924A1 (ja) * | 2008-11-14 | 2010-05-20 | Okiセミコンダクタ株式会社 | 秘密情報伝送方法、秘密情報伝送システム及び秘密情報送信装置 |
EP2423904B1 (en) * | 2009-04-24 | 2015-01-07 | Nippon Telegraph And Telephone Corporation | Secret sharing system, sharing apparatus, share management apparatus, acquisition apparatus, processing methods therefore, secret sharing method, program, and recording medium |
CN103004129B (zh) * | 2010-07-23 | 2015-04-08 | 日本电信电话株式会社 | 加密装置、解密装置、加密方法、解密方法、程序及记录介质 |
US8989391B2 (en) * | 2010-10-06 | 2015-03-24 | Nippon Telegraph And Telephone Corporation | Secret sharing system, secret sharing apparatus, secret sharing method, secret sorting method and secret sharing program |
CN103221988B (zh) * | 2010-10-26 | 2016-08-03 | 日本电信电话株式会社 | 代理计算系统、计算装置、能力提供装置、代理计算方法、能力提供方法 |
WO2012121333A1 (ja) * | 2011-03-10 | 2012-09-13 | 日本電信電話株式会社 | 秘匿積和結合システム、計算装置、秘匿積和結合方法、及びそれらのプログラム |
EP2858297B1 (en) * | 2012-07-05 | 2017-03-01 | Nippon Telegraph And Telephone Corporation | Secret sharing system, data distribution apparatus, distributed data transform apparatus, secret sharing method and program |
-
2015
- 2015-03-18 JP JP2015054492A patent/JP5968484B1/ja active Active
-
2016
- 2016-02-01 US US15/557,585 patent/US10885814B2/en active Active
- 2016-02-01 CN CN201680015306.1A patent/CN107430829B/zh active Active
- 2016-02-01 EP EP16764549.8A patent/EP3258458B1/en active Active
- 2016-02-01 WO PCT/JP2016/052944 patent/WO2016147718A1/ja active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014112548A1 (ja) * | 2013-01-17 | 2014-07-24 | 日本電信電話株式会社 | 秘匿計算システム、演算装置、秘匿計算方法、およびプログラム |
JP2014138349A (ja) * | 2013-01-18 | 2014-07-28 | Nippon Telegr & Teleph Corp <Ntt> | 秘密分散システム、データ分散装置、分散データ保有装置、秘密分散方法、およびプログラム |
Non-Patent Citations (2)
Title |
---|
JPN6016014808; TRUBAN, Tiina: A Secure Multi-Party Computation Protocol Suite Inspired by Shamir's Secret Sharing Scheme , 2014, pp. 29-55, Norwegian University of Science and Technology * |
JPN6016014811; 五十嵐 大,他: '少パーティの秘密分散ベース秘密計算のためのO(l)ビット通信ビット分解およびO(|p'|)ビット通信Modulus変換' コンピュータセキュリティシンポジウム2013 論文集 Vol. 2013,No. 4, 20131014, pp. 785-792, 情報処理学会 * |
Also Published As
Publication number | Publication date |
---|---|
US20180053442A1 (en) | 2018-02-22 |
WO2016147718A1 (ja) | 2016-09-22 |
EP3258458A1 (en) | 2017-12-20 |
CN107430829A (zh) | 2017-12-01 |
CN107430829B (zh) | 2020-12-01 |
EP3258458A4 (en) | 2018-12-05 |
US10885814B2 (en) | 2021-01-05 |
JP2016173534A (ja) | 2016-09-29 |
EP3258458B1 (en) | 2019-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5968484B1 (ja) | シェア復旧システム、シェア復旧方法、およびプログラム | |
JP5860556B1 (ja) | 不整合検知方法、不整合検知システム、不整合検知装置、およびプログラム | |
US20200374126A1 (en) | Method for storing an object on a plurality of storage nodes | |
JP5860557B1 (ja) | 秘密公開方法、秘密公開システム、秘密公開装置、およびプログラム | |
JP5872085B1 (ja) | 分散値変換システム、分散値変換装置、分散値変換方法、およびプログラム | |
JP5944841B2 (ja) | 秘密分散システム、データ分散装置、分散データ保有装置、秘密分散方法、およびプログラム | |
JP5872084B1 (ja) | 分散値変換システム、分散値変換装置、分散値変換方法、およびプログラム | |
JP5864004B1 (ja) | 分散値変換システム、分散値変換装置、分散値変換方法、およびプログラム | |
WO2016104476A1 (ja) | 秘密改ざん検知システム、秘密計算装置、秘密改ざん検知方法、およびプログラム | |
WO2016148281A1 (ja) | 秘匿文字列計算システム及び方法と装置並びにプログラム | |
US20100260334A1 (en) | Share generation apparatus, reconstruction apparatus, verification apparatus, and secret sharing system | |
US10395145B2 (en) | Deduplication ratio estimation using representative images | |
US10747726B2 (en) | Deduplication ratio estimation using an expandable basis set | |
JP6053238B2 (ja) | 秘密改ざん検知システム、秘密計算装置、秘密改ざん検知方法、およびプログラム | |
WO2018216512A1 (ja) | 秘密改ざん検知システム、秘密改ざん検知装置、秘密改ざん検知方法、およびプログラム | |
CN111758127B (zh) | 秘密计算装置及其方法、秘密计算认证系统以及记录介质 | |
JP5889454B1 (ja) | 分散値変換システム、分散値変換装置、分散値変換方法、およびプログラム | |
CN111247509B (zh) | 用于对网络编码的分布式存储进行重复数据删除的系统及相关技术 | |
JP5948238B2 (ja) | データ管理方法およびデータ管理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160608 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20160628 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160705 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5968484 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |