JP5136412B2 - 分散情報生成装置及び復元装置 - Google Patents

分散情報生成装置及び復元装置 Download PDF

Info

Publication number
JP5136412B2
JP5136412B2 JP2008522429A JP2008522429A JP5136412B2 JP 5136412 B2 JP5136412 B2 JP 5136412B2 JP 2008522429 A JP2008522429 A JP 2008522429A JP 2008522429 A JP2008522429 A JP 2008522429A JP 5136412 B2 JP5136412 B2 JP 5136412B2
Authority
JP
Japan
Prior art keywords
data
secret information
access structure
restored
check data
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
Application number
JP2008522429A
Other languages
English (en)
Other versions
JPWO2008001628A1 (ja
Inventor
俊則 荒木
賢 尾花
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2008522429A priority Critical patent/JP5136412B2/ja
Publication of JPWO2008001628A1 publication Critical patent/JPWO2008001628A1/ja
Application granted granted Critical
Publication of JP5136412B2 publication Critical patent/JP5136412B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Description

この出願は、2006年6月30日に出願された特願2006−181433号、2006年9月05日に出願された特願2006−240236号及び2007年2月05日に出願された特願2007−025482号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
本発明は秘密情報を分散して安全に保管するための分散情報生成装置及び保管された秘密情報を復元する復元装置に関する。
秘密情報(例えば暗号化に用いる秘密鍵)を保管する場合、紛失や破壊の脅威と盗難の脅威とがある。前者の脅威に対しては秘密情報のコピーを作成すれば有効であるが、コピーを作成することで後者の盗難に対する脅威が増してしまう。このような問題を解決するための情報セキュリティ技術の一つとして秘密分散法がある。
秘密分散法の一つである(k,n)しきい値法は、保護対象である秘密情報をn個の情報に分散符号化し、そのうちの任意のk個以上の分散情報を集めれば秘密情報を復元できるが、k−1個までの分散情報では秘密に関する情報を全く得られないという特徴を持つ。したがって、k−1個までの分散情報が盗難にあっても秘密情報は漏れず、n−k個までの分散情報が破壊されても秘密情報を復元できる。この(k,n)しきい値法については、例えば非特許文献1(Adi Shamir, "How to share a secret", Comm. ACM, 22(11), 612-613(1979))に詳細に記載されている。
以下、通常の(k,n)しきい値法にしたがって分散情報の作成や配付が正しく行われている状況において、秘密情報を復元する際の問題点について考える。
秘密情報を復元する場合、分散情報を保持する他のものから分散情報を集める必要がある。このとき、分散情報の被要求側が配付された値を改竄することなく復元者へ渡すとは限らない。なお、ここで言う「改竄」とは、意図的なものだけでなく、装置故障や単なるミス等の意図しない変更も含むものとする。
改竄された分散情報を用いて秘密情報を復元すると、その値は秘密情報と異なる値になってしまうことがある。そのため、秘密分散法には復元に用いる分散情報に改竄された値が存在することを高い確率で検知できる手法が望まれる。また、運用形態によって分散情報が選択される手段は様々であり、分散情報がどのような確率分布にしたがって選択されても改竄された値の検知率が高いことが望まれる。
これらの問題を解決するための一つの技術として非特許文献2(Martin Tompa, Heather Woll, "How to Share a Secret with Cheaters", Journal of Cryptology, vol.1, pages 133-138, 1988.)に記載された方法が知られている。
非特許文献2には、分散情報がどのような確率分布にしたがって選択されても不正を(1−ε)の確率で検知できる(k,n)しきい値法について記載されている。非特許文献2に記載された方法では、秘密情報を要素数sの集合とするとき、分散情報は要素数((s−1)(k−1)/ε+k)^2の集合となる。
また、非特許文献3(Wakaha Ogata, Kaoru Kurosawa, Douglas R Stinson, "Optimum Secret Sharing Scheme Secure Against Cheating", SIAM Journal on Discrete Mathematics, vol.20, no1, pages 79-95, 2006.)には、分散情報が一様な確率分布にしたがって選択されることを条件に不正を(1−ε)の確率で検知できる(k,n)しきい値法について記載されている。非特許文献3に記載された方法では、秘密情報を要素数sの集合とするとき、分散情報は要素数(1+(s−1)/ε)の集合になる。
しかしながら上記したような従来の秘密分散法では、分散情報が秘密情報に比べて大きなデータになってしまう問題がある。
そこで、本発明は、秘密情報がどのような確率分布に従って選ばれても不正の検知が可能であり、従来の技術に比べて分散情報のデータサイズが小さい分散情報生成装置及び復元装置を提供することを目的とする。
上記目的を達成するため本発明では、分散する秘密情報に対応するチェック用データを生成し、秘密情報とチェック用データとをそれぞれを分散符号化する。秘密情報を復元する場合、秘密情報及びチェック用データをそれぞれ復元し、復元したチェック用データが復元した秘密情報に対応したデータであるか否かを判定する。対応している場合は復元した秘密情報が正しいと判断してそれを出力し、対応していない場合は不正(改竄された分散情報がある)と判断して不正を検出したことを示す記号を出力する。
このように復元されたチェック用データが復元された秘密情報に対応しているか否かを判定すれば、不正の検知が可能であり、チェック用データとして要素数の少ないデータ集合を用いることで従来の秘密分散方法に比べて秘密情報に対する分散情報のデータサイズを小さくできる。
また、チェック用データを一様にランダムに選ぶことができるため、秘密情報がどのような確率分布にしたがって選ばれても、高い不正の検知率が保証される。
図1は本発明の分散情報生成装置の一構成例を示すブロック図である。 図2は本発明の復元装置の一構成例を示すブロック図である。 図3は分散情報生成装置及び復元装置をコンピュータで実現する例を示すブロック図である。 図4は本発明の分散情報生成装置の動作を示すフローチャートである。 図5は本発明の復元装置の動作を示すフローチャートである。
次に本発明について図面を用いて説明する。
最初に本明細書で使用する用語について簡単に説明する。
アクセス構造:秘密分散法における秘密情報が復元可能な条件を指す。本明細書ではアクセス構造を示すデータをアクセス構造データと称す。
アクセスセット:秘密分散法における秘密情報が復元可能な分散情報の集合を指す。
線形秘密分散法:秘密情報をSとし、k−1個の独立な乱数をR_1,R_2,…,R_{k−1}とし、ベクトル(S,R_1,R_2,…,R_{k−1})をUで表すとき、分散情報W=(W_1,W_2,…,W_n)をk*n行列Gを用いてW=U*Gの計算式で生成できる秘密分散法を指す。本明細書ではアクセス構造として線形秘密分散法を例にして説明する。
関数指定データ:関数集合Hの元(要素)を一意に指定するデータを指す。本明細書では、関数集合Hの元であり、関数指定データkによって一意に指定される関数をH_kと記す。
秘密情報データ集合S:保管対象となる秘密情報sの集合を指す。
分散秘密情報データ集合BS:秘密情報sを分散符号化したデータ(分散情報)の集合を指す。
分散チェック用データ集合BC:秘密情報sに対応して生成したチェック用データの集合を指す。
本発明の秘密情報分散システムは、秘密情報を保管する場合、秘密情報に対応するチェック用データを生成し、秘密情報及びチェック用データをそれぞれ秘密分散法のアクセス構造を示すアクセス構造データにしたがって分散符号化し、それらを記憶装置に格納する。
また、秘密情報を復元する場合、アクセス構造のアクセスセットに対応する複数の記憶装置から分散符号化された秘密情報及び分散符号化されたチェック用データを読み出し、秘密情報及びチェック用データを復元する。そして、復元後のチェック用データが秘密情報に対応したものであるかを判定し、対応している場合は復元した秘密情報が正しいと判断し、対応していない場合は不正(改竄されている)と判断する。
本発明の秘密情報分散システムは、分散情報生成装置102、復元装置200及び複数の記憶装置301_1〜301_nを有する構成である。記憶装置301_1〜301_nは、分散秘密情報データ集合BSの元が格納される分散秘密情報記憶装置302_1〜302_n及び分散チェック用データ集合BCの元が格納される分散チェック用データ記憶装置303_1〜303_nを備えている。
まず、分散情報生成装置102の構成について図1を用いて説明する。
図1は分散情報生成装置102の一構成例を示すブロック図である。
図1に示すように、分散情報生成装置102は、チェック用データ生成装置104、秘密情報分散装置103及びチェック用データ分散装置105を備えている。
分散情報生成装置102には秘密情報データ集合Sの元(要素)である秘密情報s及び線形秘密分散法によるアクセス構造を示すアクセス構造データが入力される。分散情報生成装置102は、アクセス構造データで指定される記憶装置301の分散秘密情報記憶装置302に分散秘密情報データ集合BSの元である分散情報を格納する。また、アクセス構造データで指定される記憶装置301の分散チェック用データ記憶装置303に分散チェック用データ集合BCの元であるチェック用データを格納する。
チェック用データ生成装置104には秘密情報データ集合Sの元sが入力される。チェック用データ生成装置104は、秘密情報データ集合Sを入力集合とし、出力集合をBとする関数集合をHとしたとき、出力集合Bの任意の元yと入力集合Sの任意の元xとがH_a(x)=yとなる関数指定データaを効率的にかつランダムに選択することが可能である。
本実施形態では、入力集合Sの任意の異なる元をx_1及びx_2とし、任意の関数指定データをc、該cを含む関数指定データkの集合をKとし、不正の検出確率を(1−δ)とし、|{b|b}∈K,H_b(x_1)=y,H_{b+c}(x_2)=y}|/|{b|b∈K,H_b(x_1)=y}|≦δである関数集合をHとしたとき、H_k(x)=yとなる関数指定データkをランダムに選択し、その選択した関数指定データkをx_1及びx_2に対応するチェック用データとして出力する。
秘密情報分散装置103には秘密情報データ集合Sの元s及びアクセス構造データが入力される。秘密情報分散装置103は、アクセス構造データで指定される記憶装置301の分散秘密情報記憶装置302に分散秘密情報データ集合BSの元を格納する。
チェック用データ分散装置105には入力集合Kの元及びアクセス構造データが入力される。チェック用データ分散装置105はアクセス構造データで指定される記憶装置301の分散チェック用データ記憶装置303に分散チェック用データ集合BCの元を格納する。
次に復元装置200の構成について図2を用いて説明する。
図2は復元装置200の一構成例を示すブロック図である。
図2に示すように、復元装置200は、秘密情報復元装置201、チェック用データ復元装置202及び不正検出装置203を備えている。
復元装置200には線形秘密分散法によるアクセス構造を示すアクセス構造データが入力される。復元装置200は、記憶装置301_1〜301_nが備える分散秘密情報記憶装置302_1〜302_nから分散秘密情報データ集合BSの元を読み出して復元し、分散チェック用データ記憶装置303_1〜303_nから分散チェック用データ集合BCの元を読み出して復元し、復元した秘密情報データ集合Sの元、または不正なシェア(分散情報)を検出したことを示す記号を出力する。
秘密情報復元装置201にはアクセス構造データが入力される。秘密情報復元装置201は、記憶装置301が備える分散秘密情報記憶装置302から分散秘密情報データ集合BSの元を読み出し、復元した秘密情報データ集合Sの元を出力する。
チェック用データ復元装置202にはアクセス構造データが入力される。チェック用データ復元装置202は、記憶装置301が備える分散チェック用データ記憶装置303から分散チェック用データ集合BCの元を読み出し、復元した関数指定データ集合Kの元を出力する。
不正検出装置203は、秘密情報復元装置201で復元された秘密情報データ集合Sの元及びチェック用データ復元装置202で復元された関数指定データ集合Kの元を入力とし、H_k(s)=yを満たしているときは復元した秘密情報データ集合Sの元を出力し、満たしていないときは不正なシェアを検出したことを示す記号を出力する。
図1及び図2に示した分散情報生成装置102及び復元装置200は、例えば論理回路等から構成されるLSI(Large Scale Integration)やDSP(Digital Signal Processor)等の半導体集積回路によって実現される。
また、分散情報生成装置102及び復元装置200は、図3に示すように、プログラムにしたがって所定の処理を実行する処理装置10と、処理装置10に対してコマンドや情報等を入力するための入力装置20と、処理装置10の処理結果をモニタするための出力装置30とを備えたコンピュータによって実現してもよい。
図3に示す処理装置10は、CPU11と、CPU11の処理に必要な情報を一時的に記憶する主記憶装置12と、CPU11に後述する分散情報生成装置102または復元装置200としての処理を実行させるためのプログラムが記録された記録媒体13と、秘密情報やアクセス構造データが格納されるデータ蓄積装置14と、主記憶装置12、記録媒体13及びデータ蓄積装置14とのデータ転送を制御するメモリ制御インタフェース部15と、入力装置20及び出力装置30とのインタフェース装置であるI/Oインタフェース部16とを有し、それらがバス18を介して接続された構成である。なお、データ蓄積装置14は、処理装置10内にある必要はなく、処理装置10から独立して備えていてもよい。また、データ蓄積装置14は、無難秘密情報記憶装置302及び分散チェック用データ記憶装置303を備える記憶装置301として用いてもよい。
処理装置10は、記録媒体13に記録されたプログラムにしたがって後述する分散情報生成装置102または復元装置200としての機能を実現する。記録媒体13は、磁気ディスク、半導体メモリ、光ディスクあるいはその他の記録媒体であってもよい。
次に本発明の秘密情報分散システムの動作について図4及び図5を用いて説明する。
図4は分散情報生成装置の動作を示すフローチャートであり、図5は復元装置200の動作を示すフローチャートである。
図4に示すように、分散情報生成装置102には、例えば線形秘密分散法のアクセス構造を示すデータであるアクセス構造データ及び秘密情報データ集合Sの元である秘密情報sが入力される(ステップA1)。
分散情報生成装置102は、秘密情報分散装置103にアクセス構造データ及び秘密情報sが入力されると、秘密情報sをアクセス構造データに対応したアクセス構造に分散符号化し、記憶装置301の分散秘密情報記憶装置302に格納する(ステップA2)。
また、分散情報生成装置102は、チェック用データ生成装置104により、秘密情報sを基に、上記H_k(s)=yとなる関数指定データkをランダムに生成する(ステップA3)。
分散情報生成装置102は、チェック用データ分散装置104により、アクセス構造データ及び関数指定データkを基に、関数指定データkをアクセス構造データに対応したアクセス構造に分散符号化し、記憶装置301の分散チェック用データ記憶装置303に格納する(ステップA4)。
図5に示すように、復元装置200には線形秘密分散法のアクセス構造を示すアクセス構造データが入力される(ステップB1)。復元装置200は、アクセス構造データが示すアクセスセットに対応する記憶装置301に格納されたデータを読み出す(ステップB2)。
復元装置200は、記憶装置301の分散秘密情報記憶装置302から読み出したデータとアクセス構造データとを基に、秘密情報復元装置201により秘密情報分散装置103で用いた分散符号化方法に対応する復元方法を用いて秘密情報データ集合Sの元s’を復元する(ステップB3)。
また、復元装置200は、記憶装置301の分散チェック用データ記憶装置303から読み出したデータとアクセス構造データとを基に、チェック用データ復元装置202によりチェック用データ分散装置105で用いた分散符号化方法に対応する復元方法を用いて関数指定データ集合Kの元k’を復元する(ステップB4)。
次に、復元装置200は、秘密情報復元装置201で復元された秘密情報データ集合Sの元s’とチェック用データ復元装置202で復元された関数指定データ集合Kの元k'とを用いて、不正検知装置203によりH_k’(s’)=yが成立するか否かをチェックし、s’がk’に対応するデータであるか否かを判定する(ステップB5)。s’がk’に対応するデータである場合はs’を出力し(ステップB6)、s’がk’に対応するデータでない場合は不正検出を示す記号を出力する(ステップB7)。
本発明によれば、復元されたチェック用データが復元された秘密情報に対応しているか否かを判定することで、不正の検知が可能であり、チェック用データとして要素数の少ないデータ集合を用いれば分散情報のデータサイズを小さくできる。また、チェック用データを一様にランダムに選ぶことができるため、秘密情報がどのような分布にしたがって選ばれても高い不正の検知率が保証できる。そのため、秘密情報がどのような分布にしたがって選ばれても不正を検知可能であり、かつ従来の秘密分散方法に比べて秘密情報に対する分散情報のデータサイズが小さくなる。
(第1実施例)
第1実施例の秘密情報分散システムは、秘密情報のデータ集合にZ/pZを用い、関数指定データをZ/pZの元の組e_0,e_1とし、入力集合をZ/pZの元xとしたとき、関数集合HとしてH_{e_0,e_1}(x)=e_0−x*e_1を用い、線形秘密分散法のアクセス構造データとして(k,n)しきい値法のアクセス構造を示すデータを用いる例である。なお、Z/pZは素数pに対する有限体であり、有限体上の加算を+、減算を−、乗算を*、除算を/で表す。
第1実施例のチェック用データ生成装置104では、Z/pZの任意の元xに対して、H_{a_1,a_2}(x)=0となる関数指定データa_1、a_2をチェック用データとしてランダムに選択できる。
ここで、Z/pZの任意の異なる元x_1、x_2と、任意の関数指定データc_1、c_2に対し、Hの関数指定データ集合をKとすると、|{b_1,b_2|b_1,b_2∈Z/pZ,H_{b_1,b_2}(x_1)=0,H_{(b_1+c_1),(b_2+c_2)}(x_2)=0}|/|{b_1,b_2|b_1,b_2∈Z/pZ,H_{b_1,b_2}(x_1)=0}|=1/pである。
(k,n)しきい値法のアクセス構造を示すデータは、具体的には正の整数であるk,nと、Z/pZの元の集合である{i_1,i_2,・・・,i_n}とによって構成される。但し、k、n、pは、k≦n≦p−1を満たすものとする。
なお、秘密情報分散装置103及びチェック用データ分散装置104は、非特許文献1に記載された(k,n)しきい値法を用いて秘密情報及びチェック用データを分散符号化し、秘密情報復元装置201及びチェック用データ復元装置202は、その(k,n)しきい値法に対応する復元方法を用いて秘密情報及びチェック用データを復元するものとする。
次に第1実施例の分散情報生成装置102及び復元装置200について説明する。
第1実施例の分散情報生成装置102には、アクセス構造データk,n,{i_1,i_2,・・・,i_n}、及び秘密情報sが入力される。
分散情報生成装置102は、アクセス構造データk,n,{i_1,i_2,・・・,i_n}及び秘密情報sが入力されると、秘密情報分散装置103によりZ/pZ上の定数項がsであるk−1次多項式をランダムに生成する。このk−1次多項式をf_s(x)と記す。
秘密情報分散装置103は、f_s(i_1),f_s(i_2),・・・,f_s(i_n)を計算し、その計算結果を記憶装置301_{i_1}の分散秘密情報記憶装置302_{i_1}、記憶装置301_{i_2}の分散秘密情報記憶装置302_{i_2},・・・,記憶装置301_{i_n}の分散秘密情報記憶装置302_{i_n}に格納する。
チェック用データ生成装置104は、秘密情報sを基にe_0−s*e_1=0を満たすe_0及びe_1をランダムに生成する。
チェック用データ分散装置104は、アクセス構造データk,n,{i_1,i_2,・・・,i_n}及びe_0,e_1を基に、Z/pZ上の定数項がe_0であるk−1次多項式と、Z/pZ上の定数項がe_1であるk−1次多項式とをランダムに生成する。これらをf_{e_0}(x)、f_{e_1}(x)と記す。
チェック用データ分散装置104は、f_{e_0}(i_1),f_{e_0}(i_2),・・・,f_{e_0}(i_n)、及びf_{e_1}(i_1),f_{e_1}(i_2),・・・,f_{e_1}(i_n)を計算し、記憶装置301_{i_1}の分散チェック用データ記憶装置303_{i_1}に(f_{e_0}(i_1),f_{e_1}(i_1))を格納し、記憶装置301_{i_2}の分散チェック用データ記憶装置303_{i_2}に(f_{e_0}(i_1),f_{e_1}(i_1))を格納し、・・・、記憶装置301_{i_n}の分散チェック用データ記憶装置303_{i_n}に(f_{e_0}(i_1),f_{e_1}(i_1))を格納する。
一方、第1実施例の復元装置200にはアクセス構造データk,n,{i_1,i_2,・・・,i_n}が入力される。
復元装置200は、記憶装置301_{j_1},301_{j_2},・・・,301_{j_k}の各分散秘密情報記憶装置302からデータを読み出す。これらのデータをbs_{j_1},bs_{j_2},・・・,bs_{j_k}と記す。
秘密情報復元装置201は、(j_1,bs_{j_1}),(j_2,bs_{j_2}),・・・,(j_k,bs_{j_k})を入力とし、座標(j_1,bs_{j_1}),(j_2,bs_{j_2}),・・・,(j_k,bs_{j_k})を通るZ/pZ上のk−1次多項式g_s(x)のg_s(0)を生成する。具体的には、連立方程式を解く方法やラグランジュ補間を用いる方法などによりg_s(0)を計算する。
また、復元装置200は、記憶装置301_{j_1},301_{j_2},・・・,301_{j_k}の各分散チェック用データ記憶装置303からデータを読み出す。これらのデータを(be0_{j_1},be1_{j_1}),(be0_{j_2},be1_{j_2}),・・・,(be0_{j_k},be1_{j_k})と記す。
チェック用データ復元装置202は、(j_1,be0_{j_1},be1_{j_1}),(j_2,be0_{j_2},be1_{j_2}),・・・,(j_k,be0_{j_k},be1_{j_k})を入力とし、座標(j_1,be0_{j_1}),(j_2,be0_{j_2}),・・・,(j_k,be0_{j_k})を通るZ/pZ上のk−1次多項式g_e0(x)のg_e0(0)と、座標(j_1,be1_{j_1}),(j_2,be1_{j_2}),・・・,(j_k,be1_{j_k})を通るZ/pZ上のk−1次多項式g_e1(x)のg_e1(0)とを生成する。具体的には、連立方程式を解く方法やラグランジュ補間を用いる方法などによりg_e0(0)及びg_e1(0)を計算する。
不正検知装置203は、g_e0(x)、g_s(0)、g_e1(0)を入力とし、g_e0(x)、g_s(0)、g_e1(0)が、g_e0(x)+g_s(0)*g_e1(0)=0を満たしているか否かを判定する。満たしている場合はg_s(0)を出力し、満たしていない場合は不正を検知したことを示す記号として、例えば⊥を出力する。
第1実施例の秘密情報分散システムでは、秘密情報のサイズはpであり、分散情報のサイズはp^3であり、不正の検出率は(1−1/p)である。
ここで、秘密情報のサイズをs、不正の検出率を(1−ε)と記すと、分散情報のサイズはs*(1/ε)^2で表せる。
上述した非特許文献2に記載された秘密分散法の分散情報のサイズは((s−1)(k−1)/ε+k)^2である。例えば、k=2、p=2^80、ε=1/2^80とすると、第1実施例の分散情報のサイズは約2^240であり、非特許文献2に記載された方法では、分散情報のサイズが約2^320となる。
したがって、第1実施例の秘密情報分散システムは、不正を検出することが可能であり、かつ従来の方法に比べて分散情報のサイズが小さいことがわかる。
(第2実施例)
第2実施例は、秘密情報のデータ集合に(Z/pZ)^Nを用い、関数指定データをZ/pZの元の組e_0,e_1とし、入力集合を(Z/pZ)^Nの元(x_1,x_2,・・・,x_N)としたとき、関数集合HとしてH_{e_0,e_1}(x_1,x_2,・・・,x_N)=e_0−(x_1*e_1+x_2*e_1^2+・・・+x_{N−1}*e_1^{N−1}+x_N*e_1^{N+1})を用い、線形秘密分散法のアクセス構造データとして(k,n)しきい値法のアクセス構造を示すデータを用いる例である。なお、(Z/pZ)^Nは素数pに対する有限体のN(Nは正の整数)次拡大体であり、拡大体上の加算を+、減算を−、乗算を*、除算を/で表す。
第2実施例のチェック用データ生成装置104では、任意の(Z/pZ)^Nの元xに対してH_{a_1,a_2}(x)=0となる関数指定データa_1、a_2をチェック用データとしてランダムに選択できる。
ここで、(Z/pZ)^Nの任意の異なる元をx_1,x_2とし、任意の関数指定データをc_1、c_2とし、Hの関数指定データ集合をKとすると、|{b_1,b_2|b_1,b_2∈Z/pZ,H_{b_1,b_2}(x_1)=0,H_{(b_1+c_1),(b_2+c_2)}(x_2)=0}|/|{b_1,b_2|b_1,b_2∈Z/pZ,H_{b_1,b_2}(x_1)=0}|=(N+1)/pとなる。
(k,n)しきい値法のアクセス構造を表すデータは、具体的には正の整数であるk、nと、Z/pZの元の集合である{i_1,i_2,・・・,i_n}とによって構成される。但し、k、n、pは、k≦n≦p−1を満たすものとする。
なお、秘密情報分散装置103及びチェック用データ分散装置104は、非特許文献1に記載された(k,n)しきい値法を用いて秘密情報及びチェック用データを分散符号化し、秘密情報復元装置201及びチェック用データ復元装置202は、その(k,n)しきい値法に対応する復元方法を用いて秘密情報及びチェック用データを復元するものとする。
次に第2実施例の分散情報生成装置102及び復元装置200について説明する。
第2実施例の分散情報生成装置102には、アクセス構造データk,n,{i_1,i_2,・・・,i_n}、及び秘密情報s=(s_1,s_2,・・・,s_N)が入力される。
分散情報生成装置102は、秘密情報分散装置103により、アクセス構造データk,n,{i_1,i_2,・・・,i_n}及び秘密情報sを基に、GF(p^N)上の定数項がsであるk−1次多項式をランダムに生成する。これをf_s(x)と記す。
秘密情報分散装置103は、f_s(i_1),f_s(i_2),・・・,f_s(i_n)を計算し、その計算結果を記憶装置301_{i_1}の分散秘密情報記憶装置303_{i_1}、記憶装置301_{i_2}の分散秘密情報記憶装置303_{i_2},・・・,記憶装置301_{i_n}の分散秘密情報記憶装置303_{i_n}に格納する。
チェック用データ生成装置104は、秘密情報s=(s_1,s_2,・・・,s_N)を入力とし、e_0−(s_1*e_1+s_2*e_1^2+,・・・,+s_{N−1}*e_1^{N−1}+s_N*e_1^{N+1})=0を満たすe_0,e_1をランダムに生成する。
チェック用データ分散装置105は、アクセス構造データk,n,{i_1,i_2,・・・,i_n}及びチェック用データ生成装置104で生成されたe_0,e_1を入力とし、Z/pZ上の定数項がe_0であるk−1次多項式と、Z/pZ上の定数項がe_1であるk−1次多項式とをランダムに生成する。これらをf_{e_0}(x)、f_{e_1}(x)と記す。
チェック用データ分散装置105は、f_{e_0}(i_1),f_{e_0}(i_2),・・・,f_{e_0}(i_n)、及びf_{e_1}(i_1),f_{e_1}(i_2),・・・,f_{e_1}(i_n)を計算し、記憶装置301_{i_1}の分散チェック用データ記憶装置302_{i_1}に(f_{e_0}(i_1),f_{e_1}(i_1))を格納し、記憶装置301_{i_2}の分散チェック用データ記憶装置302_{i_2}に(f_{e_0}(i_1),f_{e_1}(i_1))を格納し、・・・,記憶装置301_{i_n}の分散チェック用データ記憶装置302_{i_n}に(f_{e_0}(i_1),f_{e_1}(i_1))を格納する。
一方、第2実施例の復元装置200にはアクセス構造データk,n,{i_1,i_2,・・・,i_n}が入力される。
秘密情報復元装置201は、記憶装置301_{j_1},301_{j_2},・・・,301_{j_k}の各分散秘密情報記憶装置302からデータを読み出す。これらをbs_{j_1},bs_{j_2},・・・,bs_{j_k}と記す。
秘密情報復元装置201は、分散秘密情報記憶装置302から読み出した(j_1,bs_{j_1}),(j_2,bs_{j_2}),・・・,(j_k,bs_{j_k})を入力とし、座標(j_1,bs_{j_1}),(j_2,bs_{j_2}),・・・,(j_k,bs_{j_k})を通るGF(p^N)上のk−1次多項式g_s(x)のg_s(0)を生成する。具体的には、連立方程式を解く方法やラグランジュ補間を用いる方法などによりg_s(0)を計算する。ここでは、このg_s(0)を(Z/pZ)^Nの元とみなし、(gs1,gs2,・・・,gsN)と記す。
チェック用データ復元装置202は、記憶装置301_{j_1},301_{j_2},・・・,301_{j_k}の分散チェック用データ記憶装置303からデータを読み出す。これらを(be0_{j_1},be1_{j_1}),(be0_{j_2},be1_{j_2}),・・・,(be0_{j_k},be1_{j_k})と記す。
チェック用データ復元装置202は、分散チェック用データ記憶装置303から読み出した(j_1,be0_{j_1},be1_{j_1}),(j_2,be0_{j_2},be1_{j_2}),・・・,(j_k,be0_{j_k},be1_{j_k})を入力とし、座標(j_1,be0_{j_1}),(j_2,be0_{j_2}),・・・,(j_k,be0_{j_k})を通るZ/pZ上のk−1次多項式g_e0(x)のg_e0(0)と、座標(j_1,be1_{j_1}),(j_2,be1_{j_2}),・・・,(j_k,be1_{j_k})を通るZ/pZ上のk−1次多項式g_e1(x)のg_e1(0)とを生成する。
具体的には連立方程式を解く方法やラグランジュ補間を用いる方法などによりg_e0(x)及びg_e1(x)を計算する。
次に、不正検知装置203は、g_s(0)、g_e0(0)、g_e1(0)を入力とし、g_s(0)、g_e0(0)、g_e1(0)が、g_e0(0)−(gs1*g_e1(0)+gs2*g_e1(0)^2+,・・・,+gs{N−1}*g_e1(0)^{N−1}+gsN*g_e1(0)^{N+1})=0を満たすか否かを判定する。満たしている場合はg_s(0)を出力し、満たしていない場合は不正を検知したことを示す記号として、例えば⊥を出力する。
第2実施例の秘密情報分散システムでは、秘密情報のサイズはp^Nであり、分散情報のサイズはp^(N+2)であり、不正の検出率は(1−(N+1)/p)である。
ここで、秘密情報のサイズをs、不正の検出率を(1−ε)と記すと、分散情報のサイズはs*(1/ε)^2*(1+log_ps)^2で表すことができる。
非特許文献2に記載された秘密分散法の分散情報のサイズは((s−1)(k−1)/ε+k)^2である。例えば、k=2、p=2^90、N=1000、ε=1/2^80とすると、第2実施例の分散情報のサイズは約2^90180であり、非特許文献2に記載された秘密分散法の分散情報のサイズは約2^180160である。
したがって、第2実施例の秘密情報分散システムでも不正を検出することが可能であり、かつ従来の方法に比べて分散情報のサイズが小さいことがわかる。
(第3実施例)
第3実施例は、秘密情報のデータ集合に(Z/pZ)^Nを用い、関数指定データをZ/pZの元の組e_0,e_1とし、入力集合を(Z/pZ)^Nの元(x_1,x_2,・・・,x_N)としたとき、関数集合HとしてH_{e_0,e_1}(x_1,x_2,・・・,x_N)=e_0−(x_1*e_1+x_2*e_1^2+・・・+x_N*e_1^N+e_1^(N+1)+e_1^(N+2)+e_1^(N+4))を用い、線形秘密分散法のアクセス構造データとして(k,n)しきい値法のアクセス構造を示すデータを用いる例である。なお、第2実施例と同様(Z/pZ)^Nは素数pに対する有限体のN(Nは正の整数)次拡大体であり、拡大体上の加算を+、減算を−、乗算を*、除算を/で表す。
第3実施例のチェック用データ生成装置104では、任意の(Z/pZ)^Nの元xに対してH_{a_1,a_2}(x)=0となる関数指定データa_1、a_2をチェック用データとしてランダムに選択できる。
ここで、(Z/pZ)^Nの任意の異なる元をx_1,x_2とし、任意の正整数をaとし、任意の関数指定データをc_1、c_2とし、Hの関数指定データ集合をKとすると、|{b_1,b_2|b_1,b_2∈Z/pZ,H_{b_1,b_2}(x_1)=0,H_{(a*b_1+c_1),(a*b_2+c_2)}(x_2)=0}|/|{b_1,b_2|b_1,b_2∈Z/pZ,H_{b_1,b_2}(x_1)=0}|=N/pである。
(k,n)しきい値法のアクセス構造を表すデータは、具体的には正の整数であるk、nと、Z/pZの元の集合である{i_1,i_2,・・・,i_n}とによって構成される。但し、k、n、pは、k≦n≦p−1を満たすものとする。
なお、秘密情報分散装置103及びチェック用データ分散装置104は、非特許文献1に記載された(k,n)しきい値法を用いて秘密情報及びチェック用データを分散符号化し、秘密情報復元装置201及びチェック用データ復元装置202は、その(k,n)しきい値法に対応する復元方法を用いて秘密情報及びチェック用データを復元するものとする。
次に第3実施例の分散情報生成装置102及び復元装置200について説明する。
第3実施例の分散情報生成装置102には、アクセス構造データk,n,{i_1,i_2,…,i_n}、及び秘密情報s=(s_1,s_2,・・・,s_N)が入力される。
分散情報生成装置102は、秘密情報分散装置103により、アクセス構造データk,n,{i_1,i_2,・・・,i_n}及び秘密情報sを基に、GF(p^N)上の定数項がsであるk−1次多項式をランダムに生成する。これをf_s(x)と記す。
秘密情報分散装置103は、f_s(i_1),f_s(i_2),・・・,f_s(i_n)を計算し、その計算結果を記憶装置301_{i_1}の分散秘密情報記憶装置303_{i_1},記憶装置301_{i_2}の分散秘密情報記憶装置303_{i_2},・・・,記憶装置301_{i_n}の分散秘密情報記憶装置303_{i_n}に格納する。
チェック用データ生成装置104は、秘密情報s=(s_1,s_2,・・・,s_N)を入力とし、e_0−(s_1*e_1+s_2*e_1^2+・・・+s_N*e_1^N+e_1^(N+1)+e_1^(N+2)+e_1^(N+4))=0を満たすZ/pZの元e_0,e_1をランダムに生成する。
チェック用データ分散装置105は、アクセス構造データk,n,{i_1,i_2,・・・,i_n}及びチェック用データ生成装置104で生成されたe_0,e_1を入力とし、Z/pZ上の定数項がe_0であるk−1次多項式と、Z/pZ上の定数項がe_1であるk−1次多項式をランダムに生成する。これらをf_{e_0}(x)、f_{e_1}(x)と記す。
チェック用データ分散装置105は、f_{e_0}(i_1),f_{e_0}(i_2),・・・,f_{e_0}(i_n)、及びf_{e_1}(i_1),f_{e_1}(i_2),・・・,f_{e_1}(i_n)を計算し、記憶装置301_{i_1}の分散チェック用データ記憶装置302_{i_1}に(f_{e_0}(i_1),f_{e_1}(i_1))を格納し、記憶装置301_{i_2}の分散チェック用データ記憶装置302_{i_2}に(f_{e_0}(i_1),f_{e_1}(i_1))を格納し、・・・,記憶装置301_{i_n}の分散チェック用データ記憶装置302_{i_n}に(f_{e_0}(i_1),f_{e_1}(i_1))を格納する。
一方、第3実施例の復元装置200にはアクセス構造データk,n,{i_1,i_2,・・・,i_n}が入力される。
秘密情報復元装置201は、記憶装置301_{j_1},301_{j_2},・・・,301_{j_k}の各分散秘密情報記憶装置302からデータを読み出す。これらをbs_{j_1},bs_{j_2},・・・,bs_{j_k}と記す。
秘密情報復元装置201は、分散秘密情報記憶装置302から読み出した(j_1,bs_{j_1}),(j_2,bs_{j_2}),・・・,(j_k,bs_{j_k})を入力とし、座標(j_1,bs_{j_1}),(j_2,bs_{j_2}),・・・,(j_k,bs_{j_k})を通るGF(p^N)上のk−1次多項式g_s(x)のg_s(0)を生成する。具体的には、連立方程式を解く方法やラグランジュ補間を用いる方法などによりg_s(0)を計算する。ここでは、このg_s(0)を(Z/pZ)^Nの元とみなし、(gs1,gs2,・・・,gsN)と記す。
チェック用データ復元装置202は、記憶装置301_{j_1},301_{j_2},・・・,301_{j_k}の分散チェック用データ記憶装置303からデータを読み出す。これらを(be0_{j_1},be1_{j_1}),(be0_{j_2},be1_{j_2}),・・・,(be0_{j_k},be1_{j_k})と記す。
チェック用データ復元装置202は、分散チェック用データ記憶装置303から読み出した(j_1,be0_{j_1},be1_{j_1}),(j_2,be0_{j_2},be1_{j_2}),・・・,(j_k,be0_{j_k},be1_{j_k})を入力とし、座標(j_1,be0_{j_1}),(j_2,be0_{j_2}),・・・,(j_k,be0_{j_k})を通るZ/pZ上のk−1次多項式g_e0(x)のg_e0(0)と、座標(j_1,be1_{j_1}),(j_2,be1_{j_2}),・・・,(j_k,be1_{j_k})を通るZ/pZ上のk−1次多項式g_e1(x)のg_e1(0)とを生成する。
具体的には連立方程式を解く方法やラグランジュ補間を用いる方法などによりg_e0(x)及びg_e1(x)を計算する。
次に、不正検知装置203は、g_s(0)、g_e0(0)、g_e1(0)を入力とし、g_s(0)、g_e0(0)、g_e1(0)が、g_e0(0)−(gs1*g_e1(0)+gs2*g_e1(0)^2+・・・+gsN*g_e1(0)^N+g_e1(0)^(N+1)+g_e1(0)^(N+2)+g_e1(0)^(N+4))=0を満たすか否かを判定する。満たしている場合はg_s(0)を出力し、満たしていない場合は不正を検知したことを示す記号として、例えば⊥を出力する。
第3実施例の秘密情報分散システムでは、秘密情報のサイズはp^Nであり、分散情報のサイズはp^(N+2)であり、不正の検出率は(1−(N+3)/p)である。
第3実施例の秘密情報分散システムでは、第1実施例及び第2実施例では想定していない不正を検出することができる。具体的には、第1実施例及び第2実施例では、分散チェック記憶データ装置303に格納された情報(j,be0_{j},be1_{j})のうち、be0_{j}及びbe1_{j}の改竄を検出可能であり、jの改竄は想定していなかった。jは記憶装置301_jに対応するデータであり、記憶装置の識別子に相当するものであるため、jの改竄は記憶装置のなりすましに対応する不正と考えることができる。第3実施例は上記jの改竄も検出可能な特徴を有し、第3実施例によりなりすましに対しても不正の検出が可能なシステムを構築できる。

Claims (30)

  1. 秘密情報に対応するチェック用データを生成するチェック用データ生成装置と、
    前記秘密情報を線形秘密分散法のアクセス構造を示すアクセス構造データにしたがって分散符号化する秘密情報分散装置と、
    前記秘密情報を分散符号化したアクセス構造と同一のアクセス構造を示すアクセス構造データにしたがって前記チェック用データを分散符号化するチェック用データ分散装置と、
    を有し、
    前記チェック用データ生成装置は、
    秘密情報データ集合Sの元sを入力とし、
    H_k(x)=yとなるような関数集合Hの元を一意に指定する関数指定データkをランダムに選び、出力する装置であり、
    前記関数集合Hが、
    前記関数指定データの集合をKとし、不正の検出確率を(1−δ)とすると、
    任意の相異なる前記秘密情報データ集合Sの元のx_1及びx_2と、前記関数集合Hの任意の関数指定データcに対し、|{b|b∈K,H_b(x_1)=y,H_{b+c}(x_2)=y}|/|{b|b∈K,H_b(x_1)=y}|<δである分散情報生成装置。
  2. 前記チェック用データ生成装置は、
    Nを正数、pを素数としたとき、秘密情報データ集合Sとして(Z/pZ)^Nを用い、
    前記秘密情報データ集合Sの元(x_1,x_2,・・・,x_N)に対し、
    e_0−(x_1*e_1+x_2*e_1^2+・・・+x_{N−1}*e_1^{N−1}+x_{N}*e_1^{N+1})=0を満たすZ/pZの元e_0及びe_1をランダムに選び、前記チェック用データとして出力する請求項記載の分散情報生成装置。
  3. 線形秘密分散法のアクセス構造を示すアクセス構造データにしたがって分散符号化された秘密情報及び前記秘密情報に対応して生成されたチェック用データの分散符号化されたデータが格納される記憶装置と、
    前記アクセス構造のアクセスセットに対応する前記記憶装置から分散符号化された秘密情報を読み出し、前記アクセス構造データにしたがって前記秘密情報を復元する秘密情報復元装置と、
    前記アクセス構造のアクセスセットに対応する前記記憶装置から分散符号化されたチェック用データを読み出し、前記アクセス構造データにしたがって前記チェック用データを復元するチェック用データ復元装置と、
    前記チェック用データ復元装置で復元されたチェック用データが前記秘密情報復元装置で復元された秘密情報に対応している場合は復元した秘密情報を出力し、対応していない場合は不正を示す信号を出力する不正検知装置と、
    を有し、
    前記不正検知装置は、
    前記秘密情報として入力される入力集合Sの任意の相異なる元をx_1及びx_2とし、関数集合Hの元を一意に指定するデータである任意の関数指定データをcとし、前記関数指定データの集合をKとし、不正の検出確率を(1−δ)としたとき、|{b|b∈K,H_b(x_1)=y,H_{b+c}(x_2)=y}|/|{b|b∈K,H_b(x_1)=y}|≦δであるようなHにおいて、
    復元したチェック用データである前記関数指定データkと復元した秘密情報xとがH_k(x)=yを満たすとき、前記チェック用データ復元装置で復元されたチェック用データが前記秘密情報復元装置で復元された秘密情報に対応していると判定する復元装置。
  4. 前記不正検知装置は、
    Nを整数、pを素数としたとき、
    復元したチェック用データであり、Z/pZの元である前記関数指定データe_0,e_1と、復元した秘密情報であり、(Z/pZ)^Nの元である(x_1,x_2,・・・,x_N)とが、e_0−(x_1*e_1+x_2*e_1^2+・・・+x_{N−1}*e_1^{N−1}+x_N*e_1^{N+1})=0を満たすとき、前記チェック用データ復元装置で復元されたチェック用データが前記秘密情報復元装置で復元された秘密情報に対応していると判定する請求項記載の復元装置。
  5. 請求項記載の分散情報生成装置と、
    請求項記載の復元装置と、
    を有する秘密情報分散システム。
  6. 請求項記載の分散情報生成装置と、
    請求項記載の復元装置と、
    を有する秘密情報分散システム。
  7. コンピュータが、
    秘密情報に対応するチェック用データを生成し、
    前記秘密情報を線形秘密分散法のアクセス構造を示すアクセス構造データにしたがって分散符号化して記憶装置に格納し、
    前記秘密情報を分散符号化したアクセス構造と同一のアクセス構造を示すアクセス構造データにしたがって前記チェック用データを分散符号化して記憶装置に格納するためのプログラムであり、
    秘密情報データ集合Sの元sを入力とし、
    H_k(x)=yとなるような関数集合Hの元を一意に指定する関数指定データkをランダムに選び、前記チェック用データとして出力させる、
    関数集合Hが、
    前記関数指定データの集合をKとし、不正の検出確率を(1−δ)とすると、
    任意の相異なる前記秘密情報データ集合Sの元のx_1及びx_2と、前記関数集合Hの任意の関数指定データcに対し、
    |{b|b∈K,H_b(x_1)=y,H_{b+c}(x_2)=y}|/|{b|b∈K,H_b(x_1)=y}|≦δであるプログラム。
  8. Nを正数、pを素数としたとき、秘密情報データ集合Sとして(Z/pZ)^Nを用い、
    Sの元(x_1,x_2,・・・,x_N)に対し、
    e_0−(x_1*_1+x_2*e−1^2+・・・+x_{N−1}*e_1^{N−1}+x_N*e_1^{N+1})=0を満たすZ/pZの元e_0及びe_1をランダムに選び、前記チェック用データとして出力するための請求項記載のプログラム。
  9. コンピュータが、
    線形秘密分散法のアクセス構造を示すアクセス構造データにしたがって分散符号化された秘密情報が格納された記憶装置から前記アクセス構造のアクセスセットに対応する分散符号化された秘密情報を読み出し、前記アクセス構造データにしたがって前記秘密情報を復元し、
    前記秘密情報に対応して生成されたチェック用データの分散符号化されたデータが格納された記憶装置から前記アクセス構造のアクセスセットに対応する分散符号化されたチェック用データを読み出し、前記アクセス構造データにしたがって前記チェック用データを復元し、
    前記復元されたチェック用データが前記復元された秘密情報に対応している場合は復元した秘密情報を出力し、対応していない場合は不正を示す信号を出力するためのプログラムであり、
    前記秘密情報として入力される入力集合Sの任意の異なる元をx_1及びx_2とし、関数集合Hの元を一意に指定するデータである任意の関数指定データをcとし、前記関数指定データの集合をKとし、不正の検出確率を(1−δ)としたとき、|{b|b∈K,H_b(x_1)=y,H_{b+c}(x_2)=y}|/|{b|b∈K,H_b(x_1)=y}|≦δであるようなHにおいて、
    復元したチェック用データである前記関数指定データkと復元した秘密情報xとがH_k(x)=yを満たすとき、前記復元されたチェック用データが前記復元された秘密情報に対応していると判定するためのプログラム。
  10. Nを正数、pを素数としたとき、
    復元したチェック用データであり、Z/pZの元である前記関数指定データe_0,e_1と、復元した秘密情報であり、(Z/pZ)^Nの元である(x_1,x_2,・・・,x_N)とが、e_0−(x_1*e_1+x_2*e_1^2+・・・+x_{N−1}*e_1^{N−1}+x_N*e_1^{N+1})=0を満たすとき、前記復元されたチェック用データが前記復元された秘密情報に対応していると判定する請求項記載のプログラム。
  11. 請求項に記載のプログラムと、
    請求項に記載のプログラムと、
    を有するプログラム。
  12. 請求項に記載のプログラムと、
    請求項10に記載のプログラムと、
    を有するプログラム。
  13. 秘密情報に対応するチェック用データを生成するチェック用データ生成装置と、
    前記秘密情報を線形秘密分散法のアクセス構造を示すアクセス構造データにしたがって分散符号化する秘密情報分散装置と、
    前記秘密情報を分散符号化したアクセス構造と同一のアクセス構造を示すアクセス構造データにしたがって前記チェック用データを分散符号化するチェック用データ分散装置と、
    を有し、
    前記チェック用データ生成装置は、
    秘密情報データ集合Sの元sを入力とし、
    H_k(x)=yとなるような関数集合Hの元を一意に指定する関数指定データkをランダムに選び、出力する装置であり、
    前記関数集合Hが、
    前記関数指定データの集合をKとし、不正の検出確率を(1−δ)とすると、
    任意の相異なる前記秘密情報データ集合Sの元のx_1及びx_2と、任意の正整数をaとし、前記関数集合Hの任意の関数指定データcに対し、|{b|b∈K,H_b(x_1)=y,H_{a*b+c}(x_2)=y}|/|{b|b∈K,H_b(x_1)=y}|≦δである分散情報生成装置。
  14. 前記チェック用データ生成装置は、
    Nを正数、pを素数としたとき、秘密情報データ集合Sとして(Z/pZ)^Nを用い、
    前記秘密情報データ集合Sの元(x_1,x_2,・・・,x_N)に対し、
    e_0−(x_1*e_1+x_2*e_1^2+・・・+x_N*e_1^N+e_1^(N+1)+e_1^(N+2)+e_1^(N+4))=0を満たすZ/pZの元e_0及びe_1をランダムに選び、前記チェック用データとして出力する請求項記載の分散情報生成装置。
  15. 前記秘密分散法のアクセス構造として、(k,n)しきい法のアクセス構造を用いる請求項13または14記載の分散情報生成装置。
  16. 線形秘密分散法のアクセス構造を示すアクセス構造データにしたがって分散符号化された秘密情報及び前記秘密情報に対応して生成されたチェック用データの分散符号化されたデータが格納される記憶装置と、
    前記アクセス構造のアクセスセットに対応する前記記憶装置から分散符号化された秘密情報を読み出し、前記アクセス構造データにしたがって前記秘密情報を復元する秘密情報復元装置と、
    前記アクセス構造のアクセスセットに対応する前記記憶装置から分散符号化されたチェック用データを読み出し、前記アクセス構造データにしたがって前記チェック用データを復元するチェック用データ復元装置と、
    前記チェック用データ復元装置で復元されたチェック用データが前記秘密情報復元装置で復元された秘密情報に対応している場合は復元した秘密情報を出力し、対応していない場合は不正を示す信号を出力する不正検知装置と、
    を有し、
    前記不正検知装置は、
    前記秘密情報として入力される入力集合Sの任意の相異なる元をx_1及びx_2とし、任意の正整数をaとし、関数集合Hの元を一意に指定するデータである任意の関数指定データをcとし、前記関数指定データの集合をKとし、不正の検出確率を(1−δ)としたとき、|{b|b∈K,H_b(x_1)=y,H_{a*b+c}(x_2)=y}|/|{b|b∈K,H_b(x_1)=y}|≦δであるようなHにおいて、
    復元したチェック用データである前記関数指定データkと復元した秘密情報xとがH_k(x)=yを満たすとき、前記チェック用データ復元装置で復元されたチェック用データが前記秘密情報復元装置で復元された秘密情報に対応していると判定する復元装置。
  17. 前記不正検知装置は、
    Nを整数、pを素数としたとき、
    復元したチェック用データであり、Z/pZの元である前記関数指定データe_0,e_1と、復元した秘密情報であり、(Z/pZ)^Nの元である(x_1,x_2,・・・,x_N)とが、e_0−(x_1*e_1+x_2*e_1^2+・・・+x_N*e_1^N+e_1^(N+1)+e_1^(N+2)+e_1^(N+4))=0を満たすとき、前記チェック用データ復元装置で復元されたチェック用データが前記秘密情報復元装置で復元された秘密情報に対応していると判定する請求項記載の復元装置。
  18. 前記秘密分散法のアクセス構造として、(k,n)しきい法のアクセス構造を用いる請求項16または17記載の復元装置。
  19. 請求項13記載の分散情報生成装置と、
    請求項16記載の復元装置と、
    を有する秘密情報分散システム。
  20. 請求項14記載の分散情報生成装置と、
    請求項17記載の復元装置と、
    を有する秘密情報分散システム。
  21. 請求項15記載の分散情報生成装置と、
    請求項18記載の復元装置と、
    を有する秘密情報分散システム。
  22. コンピュータが、
    秘密情報に対応するチェック用データを生成し、
    前記秘密情報を線形秘密分散法のアクセス構造を示すアクセス構造データにしたがって分散符号化して記憶装置に格納し、
    前記秘密情報を分散符号化したアクセス構造と同一のアクセス構造を示すアクセス構造データにしたがって前記チェック用データを分散符号化して記憶装置に格納するためのプログラムであり、
    秘密情報データ集合Sの元sを入力とし、
    H_k(x)=yとなるような関数集合Hの元を一意に指定する関数指定データkをランダムに選び、前記チェック用データとして出力させる、
    関数集合Hが、
    前記関数指定データの集合をKとし、不正の検出確率を(1−δ)とすると、
    任意の相異なる前記秘密情報データ集合Sの元のx_1及びx_2と、任意の正整数aと、前記関数集合Hの任意の関数指定データcに対し、
    |{b|b∈K,H_b(x_1)=y,H_{a*b+c}(x_2)=y}|/|{b|b∈K,H_b(x_1)=y}|≦δであるプログラム。
  23. Nを正数、pを素数としたとき、秘密情報データ集合Sとして(Z/pZ)^Nを用い、
    Sの元(x_1,x_2,・・・,x_N)に対し、
    e_0−(x_1*e_1+x_2*e_1^2+・・・+x_N*e_1^N+e_1^{N+1}+e_1^{N+2}+e_1^{N+4})=0を満たすZ/pZの元e_0及びe_1をランダムに選び、前記チェック用データとして出力する出力するための請求項記載のプログラム。
  24. 前記秘密分散法のアクセス構造として、(k,n)しきい法のアクセス構造を用いる請求項22または23記載のプログラム。
  25. コンピュータが、
    線形秘密分散法のアクセス構造を示すアクセス構造データにしたがって分散符号化された秘密情報が格納された記憶装置から前記アクセス構造のアクセスセットに対応する分散符号化された秘密情報を読み出し、前記アクセス構造データにしたがって前記秘密情報を復元し、
    前記秘密情報に対応して生成されたチェック用データの分散符号化されたデータが格納された記憶装置から前記アクセス構造のアクセスセットに対応する分散符号化されたチェック用データを読み出し、前記アクセス構造データにしたがって前記チェック用データを復元し、
    前記復元されたチェック用データが前記復元された秘密情報に対応している場合は復元した秘密情報を出力し、対応していない場合は不正を示す信号を出力するためのプログラムであり、
    前記秘密情報として入力される入力集合Sの任意の異なる元をx_1及びx_2とし、任意の正整数をaとし、関数集合Hの元を一意に指定するデータである任意の関数指定データをcとし、前記関数指定データの集合をKとし、不正の検出確率を(1−δ)としたとき、|{b|b∈K,H_b(x_1)=y,H_{a*b+c}(x_2)=y}|/|{b|b∈K,H_b(x_1)=y}|≦δであるようなHにおいて、
    復元したチェック用データである前記関数指定データkと復元した秘密情報xとがH_k(x)=yを満たすとき、前記復元されたチェック用データが前記復元された秘密情報に対応していると判定するプログラム。
  26. Nを正数、pを素数としたとき、
    復元したチェック用データであり、Z/pZの元である前記関数指定データe_0,e_1と、復元した秘密情報であり、(Z/pZ)^Nの元である(x_1,x_2,・・・,x_N)とが、e_0−(x_1*e_1+x_2*e_1^2+・・・+x_N*e_1^N+e_1^{N+1}+e_1^{N+2}+e_1^{N+4})=0を満たすとき、前記復元されたチェック用データが前記復元された秘密情報に対応していると判定する請求項記載のプログラム。
  27. 前記秘密分散法のアクセス構造として、(k,n)しきい法のアクセス構造を用いる請求項25または26記載のプログラム。
  28. 請求項22に記載のプログラムと、
    請求項25に記載のプログラムと、
    を有するプログラム。
  29. 請求項23に記載のプログラムと、
    請求項26に記載のプログラムと、
    を有するプログラム。
  30. 請求項24に記載のプログラムと、
    請求項27に記載のプログラムと、
    を有するプログラム。
JP2008522429A 2006-06-30 2007-06-15 分散情報生成装置及び復元装置 Active JP5136412B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008522429A JP5136412B2 (ja) 2006-06-30 2007-06-15 分散情報生成装置及び復元装置

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
JP2006181433 2006-06-30
JP2006181433 2006-06-30
JP2006240236 2006-09-05
JP2006240236 2006-09-05
JP2007025482 2007-02-05
JP2007025482 2007-02-05
PCT/JP2007/062114 WO2008001628A1 (fr) 2006-06-30 2007-06-15 Générateur et dispositif de restauration d'information distribuée
JP2008522429A JP5136412B2 (ja) 2006-06-30 2007-06-15 分散情報生成装置及び復元装置

Publications (2)

Publication Number Publication Date
JPWO2008001628A1 JPWO2008001628A1 (ja) 2009-11-26
JP5136412B2 true JP5136412B2 (ja) 2013-02-06

Family

ID=38845396

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008522429A Active JP5136412B2 (ja) 2006-06-30 2007-06-15 分散情報生成装置及び復元装置

Country Status (3)

Country Link
US (1) US8214647B2 (ja)
JP (1) JP5136412B2 (ja)
WO (1) WO2008001628A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5957095B2 (ja) * 2013-01-17 2016-07-27 日本電信電話株式会社 改ざん検知装置、改ざん検知方法、およびプログラム

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010090068A1 (ja) * 2009-02-03 2010-08-12 日本電気株式会社 認証システム、方法及びプログラム
WO2010147215A1 (ja) * 2009-06-19 2010-12-23 日本電気株式会社 秘密情報分散システム,秘密情報分散方法及びプログラム
US8583721B2 (en) * 2009-10-13 2013-11-12 Xerox Corporation Systems and methods for distributing work among a plurality of workers
JP5640624B2 (ja) * 2010-10-06 2014-12-17 日本電気株式会社 分散情報生成装置、復元装置、秘密分散システム、情報処理方法およびプログラム
US9177139B2 (en) * 2012-12-30 2015-11-03 Honeywell International Inc. Control system cyber security
JP5972181B2 (ja) * 2013-01-17 2016-08-17 日本電信電話株式会社 改ざん検知装置、改ざん検知方法、およびプログラム
JP5944841B2 (ja) * 2013-01-18 2016-07-05 日本電信電話株式会社 秘密分散システム、データ分散装置、分散データ保有装置、秘密分散方法、およびプログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001211150A (ja) 2000-01-25 2001-08-03 Toshiba Corp ディーラー装置、記憶媒体、秘密分散システム及び方法
JP2002217891A (ja) 2001-01-22 2002-08-02 Toshiba Corp 秘密分散管理プログラム及びシステム
JP4300838B2 (ja) 2003-03-25 2009-07-22 沖電気工業株式会社 分散計算装置及び分散計算システム
JP2004336577A (ja) 2003-05-09 2004-11-25 C4 Technology Inc 秘密分散法の最適割り当て決定方法及びその方法を実行するコンピュータプログラム
JP4194481B2 (ja) 2003-12-04 2008-12-10 日本電信電話株式会社 秘密情報保管処理方法及び秘密情報保管装置、並びに秘密情報復元処理方法及び秘密情報復元装置
US20060031674A1 (en) * 2004-08-09 2006-02-09 Kabushiki Kaisha Toshiba Encrypting method and encrypting apparatus for image processing apparatus
JP4629555B2 (ja) * 2005-11-07 2011-02-09 インターナショナル・ビジネス・マシーンズ・コーポレーション 復元装置、プログラム、情報システム、復元方法、保管装置、保管システム及び保管方法
EP1855281B1 (en) * 2006-05-10 2019-06-12 Nero Ag Apparatus for writing data to a medium
US7904470B2 (en) * 2007-06-13 2011-03-08 Sap Ag Discovery service for electronic data environment
US8060536B2 (en) * 2007-12-18 2011-11-15 Sap Ag Managing structured and unstructured data within electronic communications

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JPN6012036896; Cabello, S. Padro, C., and Saez, G.: 'Secret sharing schemes with detection of cheaters for a general access structure' FUNDAMENTALS OF COMPUTATION THEORY (FCT '99) LNCS 1684, 1999, pp. 185-194, [online] *
JPN6012036899; Obana, S. and Araki, T.: 'Almost Optimum Secret Sharing Schemes Secure Against Cheating for Arbitrary Secret Distribution' Proceedings of ASIACRYPT 2006 , 200612, pp. 364-379, [online] *
JPN6012036902; 荒木 俊則, 尾花 賢: 'ユニバーサルハッシュ関数に基づく効率の良い不正検出可能な秘密分散法' 2007年 暗号と情報セキュリティシンポジウム (SCIS 2007) 予稿集CD-ROM , 200701, 3D1-2 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5957095B2 (ja) * 2013-01-17 2016-07-27 日本電信電話株式会社 改ざん検知装置、改ざん検知方法、およびプログラム

Also Published As

Publication number Publication date
US8214647B2 (en) 2012-07-03
WO2008001628A1 (fr) 2008-01-03
US20090204802A1 (en) 2009-08-13
JPWO2008001628A1 (ja) 2009-11-26

Similar Documents

Publication Publication Date Title
JP5136412B2 (ja) 分散情報生成装置及び復元装置
JP5299286B2 (ja) 分散情報生成装置、復元装置、検証装置及び秘密情報分散システム
EP3082124B1 (en) Security apparatus, method therefof and program
CN107210006B (zh) 不一致检测方法、检测系统、检测装置以及记录介质
JP5338668B2 (ja) 秘密情報分散システム、方法及びプログラム並びに伝送システム
JP5582143B2 (ja) 秘密情報分散システム,秘密情報分散方法及びプログラム
JP5151987B2 (ja) 分散情報生成装置および復元装置
JP5609892B2 (ja) 検証装置、秘密情報復元装置、検証方法、プログラム、及び秘密分散システム
JP7089303B2 (ja) 推論装置、処理システム、推論方法及び推論プログラム
JP5251520B2 (ja) 分散情報生成装置、復元装置、復元結果検証装置、秘密情報分散システム、方法およびプログラム
JP5944841B2 (ja) 秘密分散システム、データ分散装置、分散データ保有装置、秘密分散方法、およびプログラム
US20220413807A1 (en) Secure random number generation system, secure computation apparatus, secure random number generation method, and program
JP2009252142A (ja) データ処理装置
JP2013009245A (ja) 秘密情報分散システム及び秘密情報分散方法並びに秘密情報生成プログラム及び秘密情報復元プログラム
JP5381981B2 (ja) 分散情報生成装置
JPWO2019163636A1 (ja) 秘密計算装置、秘密計算認証システム、秘密計算方法、およびプログラム
JP2011013428A (ja) 情報処理装置、コード生成方法、コード検証方法およびプログラム
JP2011123229A (ja) プログラムコード暗号化装置及びプログラム
JP2004185500A (ja) データ保護制御装置及びデータバックアップ装置及びデータバックアップシステム
JP5573041B2 (ja) 情報処理装置、コード生成方法、コード検証方法およびプログラム
KR101765209B1 (ko) 안전 부팅 장치 및 방법
CN118586021A (zh) 数据加密方法、装置和计算机设备
JP5640624B2 (ja) 分散情報生成装置、復元装置、秘密分散システム、情報処理方法およびプログラム
JP2009075474A (ja) 暗号処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100514

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120717

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120827

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: 20121016

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121029

R150 Certificate of patent or registration of utility model

Ref document number: 5136412

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151122

Year of fee payment: 3