JP5582143B2 - 秘密情報分散システム,秘密情報分散方法及びプログラム - Google Patents

秘密情報分散システム,秘密情報分散方法及びプログラム Download PDF

Info

Publication number
JP5582143B2
JP5582143B2 JP2011519860A JP2011519860A JP5582143B2 JP 5582143 B2 JP5582143 B2 JP 5582143B2 JP 2011519860 A JP2011519860 A JP 2011519860A JP 2011519860 A JP2011519860 A JP 2011519860A JP 5582143 B2 JP5582143 B2 JP 5582143B2
Authority
JP
Japan
Prior art keywords
information
secret information
random number
secret
distributed
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
JP2011519860A
Other languages
English (en)
Other versions
JPWO2010147215A1 (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 JP2011519860A priority Critical patent/JP5582143B2/ja
Publication of JPWO2010147215A1 publication Critical patent/JPWO2010147215A1/ja
Application granted granted Critical
Publication of JP5582143B2 publication Critical patent/JP5582143B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Description

本発明は、秘密情報を分散して安全に保管する秘密情報分散システム,方法及びプログラムに関する。
暗号化に用いる秘密鍵などのような秘密情報を保管することについては、「紛失および破壊」の脅威と「盗難」の脅威がある。前者に対しては秘密情報のバックアップコピーを作成すれば有効であるが、コピーを作成することにより、後者の脅威が増してしまうという課題がある。このような課題を解決するための情報セキュリティ技術の1つとして、非特許文献1〜2に記載された秘密分散法がある。
前記秘密分散法は、秘密情報を分散した複数個の分散情報を生成し、それらを別々に保管し、前記保管された分散情報のうち予め定められた個数の分散情報を集めると元の秘密情報を一意に復元可能であるが、それ以外の分散情報を集めても前記秘密情報を復元できないという特徴を持つ。以後、本明細書では、分散情報の個数をn個とし、n個に分散した分散情報の各々を1〜nの識別子を用いることにより識別するものとする。
前記秘密分散法では、秘密情報を復元できる分散情報の集合をアクセス構造という分散情報の集合族Γで定義することが可能である。前記アクセス構造Γは、秘密情報を復元できる最小個数の分散情報の識別子の集合を要素として持つ集合族であり、アクセス構造Γを持つ秘密分散法において、分散情報の集合wが秘密情報を復元可能であるとは、集合wに対応する分散情報の識別子の集合Wに対して、以下の数1を満たすVが存在することを意味する。また、数1を満たす性質を持つ分散情報の識別子の集合WをΓのアクセス集合と定義する。
Figure 0005582143
前記秘密分散法では、(k,n)閾値法と呼ばれる手法がある。前記(k,n)閾値法とは、秘密情報をn個の分散情報に分散し、かつ前記n個の分散情報のうちk(n>k)個の分散情報を用いることにより、前記秘密情報を復元できるという秘密分散法である。前記(k,n)閾値法におけるkは前記数1におけるVに相当するものである。前記(k,n)閾値法で利用されるアクセス構造Γは、数2に示す集合族によって定義される。アクセス構造Γは、「n個の分散情報のうち、k個未満の分散情報では秘密情報が全く復元できない」「k個以上の分散情報から秘密情報が一意に復元される」という2点の特徴を持つ。以下、前記秘密分散法において、秘密情報を復元する際の問題点について考える。
Figure 0005582143
秘密情報を復元する場合、個々の分散情報をそれぞれ保持する複数の記憶手段から秘密情報を復元するのに必要な個数の分散情報を集める必要がある。このとき、分散情報の被要求側が配付された値、具体的には記憶手段に保持する分散情報を改竄することなく復元者へ渡すとは限らない。すなわち、記憶手段の分散情報が改竄されて復元者に渡る場合もある。
なお、ここで言う「改竄」とは、分散情報が配布された管理者が意図的に分散情報を改竄するばかりでなく、前記分散情報の管理者の意図に反して分散情報が改竄される場合も含むものとする。前記管理者の意図に反して分散情報が改竄される例としては、記憶手段に分散情報を記憶させるための装置が故障した結果、分散情報が改竄される場合や、管理者の操作ミスなどにより、分散情報が改竄される場合などが考えられる。
改竄された分散情報を用いて秘密情報を復元すると、復元された秘密情報の値が元の秘密情報の値と異なることがある。そのため、前記秘密分散法には、復元に用いる分散情報に改竄された値が存在することを高い確率で検知できる手法が望まれる。
また、運用形態によって分散情報が選択される手段は様々であり、分散情報がどのような確率分布に基づいて選択されても、改竄された値の検知率が高いことが望まれる。
これらの問題を解決する技術として、非特許文献3〜7に記載された技術が知られている。
非特許文献3には、秘密情報がどのような確率分布に基づいて選択されても、n−1個の分散情報を参照し、そのうち高々k−1個の分散情報に対して改竄を行う不正を(1−ε)の確率で検知できる(k,n)閾値法が記載されている。非特許文献3に記載された方法では、秘密情報を要素数sの集合とするとき、分散情報は数3に示す要素数の集合となる。なお、n,kは前記(k,n)閾値法におけるk,nに対応するものである。
Figure 0005582143
非特許文献4には、秘密情報が一様な確率分布に基づいて選択されることを条件として、k−1個の分散情報を参照し、そのうち高々k−1個の分散情報の改竄を行う不正を(1−ε)の確率で検知できる(k,n)閾値法が記載されている。非特許文献4に記載された方法では、秘密情報を要素数sの集合とするとき、分散情報は数4に示す要素数の集合となる。なお、kは前記(k,n)閾値法におけるkに対応するものである。
Figure 0005582143
非特許文献5には、秘密情報がどのような確率分布にしたがって選択されても、k−1個の分散情報を参照し、そのうち高々k−1個の分散情報に対して改竄を行う不正を(1−ε)の確率で検知できるという(n,n)閾値法秘密分散法が記載されている。非特許文献5に記載された方法では、秘密情報を要素数sの集合とするとき、分散情報は数5に示す要素数の集合となる。なお、(n,n)閾値法とは、秘密情報をn個の分散情報に分散し、かつ前記n個の分散情報を用いることにより、前記秘密情報を復元できるという秘密分散法である。前記秘密分散法における前記(n,n)閾値法におけるnは前記kに相当するものである。
Figure 0005582143
非特許文献6には、分散情報がどのような確率分布に基づいて選択されても、n−1個の分散情報を参照し、そのうち高々k−1個の分散情報に対して改竄を行う不正を(1−ε)の確率で検知できるという(k,n)閾値法が記載されている。非特許文献6に記載された方法では、秘密情報を要素数sの集合とし、sがs≦1/εとなる時、分散情報は数6に示す要素数の集合となる。なお、kは前記(k,n)閾値法におけるkに対応するものである。
Figure 0005582143
非特許文献7には、分散情報がどのような確率分布に基づいて選択されても、n−1個の分散情報を参照し、そのうち高々k−1個の分散情報に対して改竄を行う不正を(1−ε)の確率で検知できる(k,n)閾値法が記載されている。非特許文献7に記載された方法では、秘密情報を要素数sの集合とし、sがs≦1/εとなる時、分散情報は数7に示す要素数の集合となる。なお、kは前記(k,n)閾値法におけるkに対応するものである。
Figure 0005582143
以上のような秘密分散法に関連する特許文献1には、n個の管理者装置の各々に対して(k+t,n+t)閾値法で生成した分散情報を割り当てるという構成が記載されている。特許文献2には、一般アクセス構造に対する最適な複数割り当て写像を整数計画法によって求めるという構成が記載されている。
特許文献3には、生成した分散情報をさらに公開鍵で暗号化して記憶しておき、秘密鍵で前記分散情報を復元してから原データである秘密情報を復元するというデータ保護方法などが記載されている。特許文献4には、乱数を保存する情報利用装置からの依頼で、分散情報管理装置がその乱数で分散情報を秘匿して保存するという分散情報復元システムなどが記載されている。
特開2002−217891号公報 特開2004−336577号公報 特開2008−097591号公報 特開2008−250931号公報
AdiShamir, "How to share a secret", Comm. ACM, 22(11), 612-613(1979) J.Benaloh and J. Leichter, Generalized secret sharing and monotone functions, in"Advances in Cryptology -- CRYPTO '88", S. Goldwasser, ed., LectureNotes in Computer Science 403, pages 27-35, 1989 MartinTompa, Heather Woll, "How to Share a Secret with Cheaters", Journalof Cryptology, vol.1, pages 133-138, 1988 WakahaOgata, Kaoru Kurosawa, Douglas R. Stinson, "Optimum Secret Sharing SchemeSecure Against Cheating", SIAM Journal on Discrete Mathematics, vol.20,no1, pages 79-95, 2006 SatoshiObana and Toshinori Araki, "Almost Optimum Secret Sharing Schemes SecureAgainst Cheating for Arbitrary Secret Distribution",Advances in Cryptology-- Asiacrypt 2006, Lecture Notes in Computer Science 4284, pp. 364--379, 2006 ToshinoriAraki, "Efficient (k,n) Threshold Secret Sharing Schemes Secure AgainstCheating from n-1 Cheaters", Proceedings of ACISP 2007, Lecture Notes inComputer Science 4586, pp. 133--142, 2007 尾花賢、「n−1人の不正者に対して安全な秘密分散法の一般的構成法」、2008年暗号と情報セキュリティシンポジウム、SCIS2008概要集、2008年
上述した非特許文献1〜7では、次の様な課題が生じている。すなわち、分散情報を管理している数人が共謀して、1人の復元者が復元する秘密情報を改善させてしまうという課題が生じる。具体的に説明すると、秘密情報はk−1次多項式を作製してn個の分散情報に分散し、それらの分散情報を2以上の管理者に配布して管理し、k−1人から分散情報を集めることにより秘密情報を復元している。1人の復元者(以下、正当者という)が復元する秘密情報を改善させるには、共謀者は自らが所有している分散情報に基づいて前記k−1次多項式を部分的に復元すると共に、共謀者自らが所有する分散情報を改竄し、その改竄した分散情報を正当者が所有する分散情報を含むk−1次多項式に当初のk−1次多項式を書き換え、その改竄した分散情報を正当者に手渡す。
前記正当者が、自ら所有する分散情報に前記改竄された分散情報を含めて秘密情報を復元すると、復元するためのk−1次多項式が書き換えられているため、当初の秘密情報とは異なった秘密情報が復元されてしまう。
しかしながら、前記非特許文献1〜7には、復元された秘密情報が改竄されているか否かを検知する手段が講じられていないため、不正を意図しない復元者(正当者)が当初の秘密情報を復元できないという課題が生じている。
また特許文献1〜4にも、前記非特許文献1〜7で生じている課題を解決するための技術的手段が講じられていないものである。
本発明の目的は、秘密情報を分散した所有する者が共謀して分散情報を改竄した際に、復元した秘密情報が改竄されたか否かを検知する秘密情報分散システム,秘密情報分散方法及びプログラムを提供することにある。
前記目的を達成するため、本発明に係る秘密情報分散システムは、秘密情報を2以上の分散情報に分散して管理し、前記分散情報を集積することにより、前記秘密情報を復元する秘密情報分散システムであって、
分散情報生成装置と、記憶装置と、分散情報復元装置とを有し、
前記分散情報生成装置は、
秘密情報をアクセス構造に従って2以上の分散情報に符号分散する秘密情報分散部と、
多項式の全ての係数をランダムに選ぶことにより、前記秘密情報を分散する数に相当する個数の乱数列を作製し、前記全ての係数をアクセス構造に従って2以上の乱数分散情報に符号分散する乱数情報分散部と、
前記秘密情報と前記乱数分散情報とを入力として、ハッシュ値が前記乱数列に相当するハッシュ関数を作製し、前記ハッシュ関数を成立させる鍵を選ぶことにより、復元した秘密情報が改竄されたものであるか否かをチェックするためのデータを、前記秘密情報を分散する数に相当する個数のチェックデータとして独立に設定するチェックデータ用生成部とを有し、
前記分散情報生成装置は、前記分散情報と前記乱数情報と前記チェックデータとを一組の情報として出力するものであり、
前記記憶装置は、前記秘密情報を分散する数に相当する台数分が備えられ、各記憶装置は、前記分散情報と前記乱数情報と前記チェックデータとを一組の情報として記憶するものであり、
前記分散情報復元装置は、
前記記憶装置から分散情報を読み出し、前記アクセス構造に従って前記秘密情報を復元する秘密情報復元部と、
前記記憶装置から乱数情報を読み出し、前記アクセス構造に従って前記乱数列を復元する乱数情報復元部と、
前記の記憶装置からチェックデータを読み出し、その読み出したチェックデータが前記ハッシュ関数を満たす場合に、前記復元した秘密情報が改竄されていないことを判定する不正検知部とを有することを特徴とする。
以上では、本発明を装置としての秘密情報分散システムとして構築したが、これに限られるものではなく、方法或いはソフトウェアとしてのプログラムとして構築してもよいものである。
本発明を方法として構築した場合、本発明に係る秘密情報分散方法は、秘密情報を2以上の分散情報に分散して管理し、分散情報を集積することにより、秘密情報を復元する秘密情報分散方法であって、
秘密情報をアクセス構造に従って2以上の分散情報に分散情報生成装置の秘密情報分散部が符号分散し、多項式の全ての係数をランダムに選ぶことにより、秘密情報を分散する数に相当する個数の乱数列を作製し、全ての係数をアクセス構造に従って2以上の乱数情報に分散情報生成装置の乱数情報分散部が符号分散し、秘密情報と乱数分散情報とを入力として、ハッシュ値が乱数列に相当するハッシュ関数を作製し、ハッシュ関数を成立させる鍵を選ぶことにより、復元した秘密情報が改竄されたものであるか否かをチェックするためのデータを、秘密情報を分散する数に相当する個数のチェックデータとして分散情報生成装置のチェックデータ用生成部が独立に設定し、分散情報と乱数情報とチェックデータとを分散情報生成装置が一組の情報として出力し、
分散情報を読み出し、アクセス構造に従って分散情報復元装置の秘密情報復元部が秘密情報を復元し、乱数情報を読み出し、アクセス構造に従って分散情報復元装置の乱数情報復元部が乱数列を復元し、チェックデータを読み出し、その読み出したチェックデータがハッシュ関数を満たす場合に、復元した秘密情報が改竄されていないことを分散情報復元装置の不正検知部が判定する構成として構築する。
本発明をプログラムとして構築した場合、本発明に係る分散情報生成プログラムは、秘密情報を2以上の分散情報に分散して管理し、分散情報を集積することにより、秘密情報を復元する秘密情報分散システムにおいて、分散情報の生成を制御するプログラムであって、
コンピュータ
秘密情報をアクセス構造に従って2以上の分散情報に符号分散する分散情報生成装置の秘密情報分散部、多項式の全ての係数をランダムに選ぶことにより、秘密情報を分散する数に相当する個数の乱数列を作製し、全ての係数をアクセス構造に従って2以上の乱数分散情報に符号分散する分散情報生成装置の乱数情報分散部、および秘密情報と乱数分散情報とを入力として、ハッシュ値が乱数列に相当するハッシュ関数を作製し、ハッシュ関数を成立させる鍵を選ぶことにより、復元した秘密情報が改竄されたものであるか否かをチェックするためのデータを、秘密情報を分散する数に相当する個数のチェックデータとして独立に設定する分散情報生成装置のチェックデータ用生成部として機能させる構成として構築する。
また、本発明に係る復元プログラムは、秘密情報を2以上の分散情報に分散して管理し、分散情報を集積することにより、秘密情報を復元する秘密情報分散システムにおいて、秘密情報の復元を制御するプログラムであって、
コンピュータ
秘密情報分散システムの分散情報生成装置が一組の情報として出力する、秘密情報をアクセス構造に従って符号分散した分散情報と、多項式の全ての係数をランダムに選ぶことにより、秘密情報を分散する数に相当する個数の乱数列を作製し、全ての係数をアクセス構造に従って符号分散した乱数情報と、ハッシュ値が乱数列に相当するハッシュ関数を作製し、ハッシュ関数を成立させる鍵を選ぶことにより、秘密情報を分散する数に相当する個数のチェックデータとして独立に設定するチェックデータとを、一組の情報として入力として、分散情報を得て、アクセス構造に従って秘密情報を復元する分散情報復元装置の秘密情報復元部、乱数情報を読み出し、アクセス構造に従って乱数列を復元する分散情報復元装置の乱数情報復元部、およびチェックデータを読み出し、その読み出したチェックデータがハッシュ関数を満たす場合に、復元した秘密情報が改竄されていないことを判定する分散情報復元装置の不正検知部として機能させる構成として構築する。
以上の様に本発明によれば、多項式の全ての係数をランダムに選ぶことにより、前記秘密情報を分散する数に相当する個数の乱数列を作製し、前記全ての係数をアクセス構造に従って2以上の乱数分散情報に符号分散し、前記秘密情報と前記乱数分散情報とを入力として、ハッシュ値が前記乱数列に相当するハッシュ関数を作製し、前記ハッシュ関数を成立させる鍵を選ぶことにより、復元した秘密情報が改竄されたものであるか否かをチェックするためのデータを、前記秘密情報を分散する数に相当する個数のチェックデータとして独立に設定し、復元の際に、前記乱数情報を読み出し、前記アクセス構造に従って前記乱数列を復元し、前記チェックデータを読み出し、その読み出したチェックデータが前記ハッシュ関数を満たす場合に、前記復元した秘密情報が改竄されていないことを判定するため、復元した秘密情報が改竄されているか否かを検知することができる。
本発明の実施形態に係る秘密情報分散システムに用いる分散情報生成装置の構成を示す説明図である。 本発明の実施形態に係る秘密情報分散システムに用いる分散情報復元装置の構成を示す説明図である。 図1に示した分散情報生成装置の動作を示すフローチャートである。 図2に示した分散情報復元装置の動作を示すフローチャートである。 本発明の実施形態に係る秘密情報分散システムにおける分散情報生成装置と記憶装置と分散情報復元装置との配置関係を示す図である。 本発明の実施形態に係る秘密情報分散システムに用いる分散情報生成装置と分散情報復元装置とをソフトウェア上で構築するためのコンピュータ装置の構成を示す説明図である。
以下、本発明の実施形態を図に基づいて詳細に説明する。
本発明の実施形態に係る秘密情報分散システムは、図1に示す分散情報生成装置100と、図2に示す分散情報復元装置と、図1及び図2に示す記憶装置300とを有している。
次に、図1に示す分散情報生成装置100と、図2に示す分散情報復元装置200と、記憶装置300との詳細な構成について説明する。
なお、以下では、非特許文献1に開示された(k,n)閾値法による秘密情報分散法を適用した例を用いて説明するが、秘密情報分散法は非特許文献1の(k,n)閾値法に限られるものではなく、非特許文献2〜7に開示されたものでもよく、さらには例えば(n,n)閾値法による秘密情報分散法を適用してもよく、要は、秘密情報を2以上の分散情報に符号分散する秘密情報分散法であれば、任意のものを適用できるものである。なお、演算子を示す記号である「+」、「−」、「*」、「^」の記号をそれぞれ、和、差、積、冪乗演算子として用いる。特に数式以外の行では「AのB乗」を「A^B」と表記する。
本実施形態に係る秘密情報分散システムに用いる前記分散情報生成装置100は図1に示す様に、秘密情報分散部101と、乱数情報分散部102と、チェック用データ生成部103とを有している。
前記秘密情報分散部101は、入力する秘密情報sをアクセス構造に従って2以上(n個)の分散情報vs[1],vs[2],・・・vs[n](vs[i]∈VS[i])に符号分散するものである。
前記アクセス構造とは、秘密分散法において秘密情報を復元可能な最小の分散情報の集合を要素としてもつ集合族を意味する。また、前記アクセス構造をΓとした場合、k∈Γかつk⊆Wとなるようなkが存在するような集合Wをアクセス構造Γのアクセス集合として定義する。なお、前記kとは、秘密情報sをn個の分散情報に分散した場合、k個の分散情報を集積することにより、前記秘密情報sを復元可能な場合における「k」に相当するものである。
また、秘密情報データ集合Sは、保管対象となる秘密情報sの集合を指すものとする。分散秘密情報データ集合VS[i]は、秘密情報s∈Sを分散符号化したデータである秘密分散情報vs[1],vs[2],・・・vs[n](vs[i]∈VS[i])の集合を指す。VS[i]は第i番目の秘密分散情報の集合を表す。また、分散秘密情報データ集合VS[i]のいずれかの要素を持つデータをvs[1],vs[2],…,vs[k]で表す。ただし、k≦iである。
前記乱数情報分散部102は、多項式の全ての係数をランダムに選ぶことにより、前記秘密情報を分散する数に相当する個数の乱数列を作製し、前記全ての係数をアクセス構造に従って2以上(n個)の乱数分散情報vr[1],vr[2],・・・vr[n]に符号分散するものである。
乱数情報データ集合Rは、保管対象となる乱数情報rの集合を指すものとする。乱数分散情報データ集合VR[i]は、乱数(前記多項式の全ての係数)r∈Rを分散符号化したデータである乱数分散情報vr[1],vr[2],・・・vr[n](vr[i]∈VR[i])の集合を指すものとする。乱数分散情報データ集合VR[i]は第i番目の分散情報vr[i]の集合を指すものである。また、乱数分散情報データ集合VR[i]のいずれかの要素を持つデータをvr[1],vr[2],…,vr[k]で表す。ただしk≦iである。
前記乱数情報分散部102が、2以上(n個)の乱数分散情報vr[1],vr[2],・・・vr[n]に符号分散する構成について説明する。
前記乱数情報分散部102は、例えば数8に示す多項式を作製する。
Figure 0005582143
前記多項式の全ての係数(k個)である、r,r,r・・・rk−1をランダムに選んで、数9に示すn個の乱数列(多項式)
Figure 0005582143
を作製する。
ここで、n個の乱数列を作製した場合、任意のk個の値が独立であることが証明されている。
次に、前記乱数情報分散部102は、前記係数r,r,r・・・rk−1を非特許文献1等に開示されたアクセス構造に従って符号分散することにより、2以上(n個)の乱数分散情報vr[1],vr[2],・・・vr[n]に符号分散する。なお、前記乱数情報分散部102が符号分散する構成に本発明の特徴がないため、その詳細については省略する。本発明は、多項式の全ての係数をランダムに選ぶことにより、前記秘密情報を分散する数に相当する個数の乱数列を作製し、2以上(n個)の乱数分散情報vr[1],vr[2],・・・vr[n]に符号分散する構成に特徴を有するものである。
前記チェックデータ用生成部103は、ハッシュ値が前記乱数列に相当するハッシュ関数を作製し、前記ハッシュ関数を成立させる鍵を選ぶことにより、復元した秘密情報が改竄されたものであるか否かをチェックするためのデータを、前記秘密情報を分散する数に相当する個数のチェックデータe[1],e[2],・・・e[n](e[i]∈E)として独立に設定するものである。
ここで、チェック用データ集合Eとは、秘密情報s∈Sと乱数r∈Rに対応して生成したチェック用データの集合を指すものとする。
次に、前記チェックデータ用生成部103の構成をさらに具体的に説明する。
前記前記乱数情報分散部102が作製した前記乱数列が数10で示す式、
Figure 0005582143
ただし、
Figure 0005582143
は前記多項式の係数を意味し、i=1〜n(nは前記秘密情報を分散する数に相当する個数)
である関数の場合、
前記チェック用データ用生成部103は、ハッシュ値が前記f(r,i)に相当するハッシュ関数hが数11で示す式、
Figure 0005582143
を満足する関数として、前記ハッシュ関数hを成立させる鍵iを選ぶことにより、復元した秘密情報が改竄されたものであるか否かをチェックするためのデータを、前記秘密情報を分散する数に相当する個数のチェックデータe[1],e[2],・・・e[n](e[i]∈E)として独立に設定する。前記各チェックデータe[i]∈Eは、前記ハッシュ関数hを満足するデータである。
なお、数11に示す式は数12に示す式として表すことができる。
Figure 0005582143
前記ハッシュ関数hは、一次関数からなるハッシュ関数であり、一般式で記述しているが、数13の様に表すことができる。
Figure 0005582143
ただし、sは前記入力される秘密情報であり、右辺のf(i)は前記入力される乱数分散情報(乱数列)である。
上記式において、右辺f(i)は固定であるから、左辺の要素ei[0]をランダムに選ぶことにより、チェックデータe[1],e[2],・・・e[n](e[i]∈E)を独立に設定することが可能となる。
したがって、秘密情報を2以上に分散した秘密分散情報vs1,vs2,・・・vsnに対応したハッシュ関数hとして表すと、数14で示す式のようになる。
Figure 0005582143
前記ハッシュ関数のハッシュ値は、セキュリティ上十分過ぎるくらいの大きさであり、一の保管者が保管している鍵iを他人が解読することは天文学的に不可能に近いものである。さらに、前記ハッシュ関数hは、いわゆる鍵付きのハッシュ関数となるから、鍵iが解読されない限りハッシュ値を解読することはできないという特性を有することとなる。
上述した様なハッシュ値はセキュリティ上十分過ぎるくらいの大きさを持つものであるが、前記ハッシュ値としてはもっと小さいサイズでも安全性が保てるものであるから、確率の理論を使って、前記ハッシュ値のサイズを小さくすることができるものである。これについて具体的に説明する。
前記ハッシュ値に求められる特性としては、次のことが要求される。すなわち、秘密情報sに対するハッシュ値aが解読された場合でも、秘密情報sと異なる(例えば改竄された)秘密情報s´に対するハッシュ値aが解読されないことが要求される。この内容を式で表すと、確率に相当するものであり、確率理論に基づく式で表すと、数15に示す式で表すことができる。
Figure 0005582143
数15に示す式のうち、数16で示す分母は、
Figure 0005582143
複数の保管者が共謀して一の保管者が復元する秘密情報sを改竄することを試みる場合における前記一の保管者が所有している鍵の候補を示している。上記式において、εは極めて小さい値を取るものとする。
したがって、確立理論の式を用いると、数14に示す式は、数17に示す式で表すことができる。
Figure 0005582143
したがって、前記チェックデータ用生成部103は、前記秘密情報を分散する数に相当する個数のチェックデータe[1],e[2],・・・e[n](e[i]∈E)として独立に設定する際に、数15及び数17に示す式を考慮して、前記チェックデータを独立に設定しても良いものである。
次に、前記記憶装置300について説明する。前記記憶装置300は図1及び図2に示す様に、秘密情報sを秘密分散情報に分散する個数(n個)に対応する台数分だけ備えられている。すなわちn台の記憶装置300[1]〜300[n]が備えられている。そして、前記記憶装置300は図5に示す様に、別個独立に設置され、インタネット網或いはLANなどの通信網600により前記分散情報生成装置100と前記分散情報復元装置200との間に情報の遣り取りを行うように連繋されている。前記記憶装置300[1]〜300[n]は、その記憶領域を分割して、分割秘密情報記憶部301[1]〜301[n],乱数分散情報記憶部302[1]〜302[n],チェック用データ記憶部303[1]〜[n]となる記憶領域を備えている。
前記記憶装置300[1]〜300[n]内の分散秘密情報記憶部301[1]〜301[n]は、前記分散情報生成装置100の秘密情報分散部101が出力する分散秘密情報データ集合VSの元である秘密分散情報vs[1]〜vs[n]を記憶している。
前記記憶装置300[1]〜300[n]内の乱数分散情報記憶部302[1]〜302[n]は、前記分散情報生成装置100の乱数分散部102が出力する乱数分散情報VRの元である乱数分散情報vr[1]〜vr[n]を記憶している。
前記記憶装置300[1]〜300[n]内のチェック用データ記憶部303[1]〜303[n]は、前記分散情報生成装置100のチェック用データ生成部103が出力するチェック用データ集合Eの元であるチェック用データe[1]〜e[n]を記憶している。
更に、前記記憶装置300[1]〜300[n]は、前記分散情報復元装置200の読み出し制御部204からの信号に基づき、前記分散情報装置200から読み出すデータを制御するアクセス制御部304[1]〜304[n]をそれぞれ備えている。
次に、本実施形態に係る秘密情報分散システムに用いる分散情報復元装置200を図2に基づいて説明する。
前記復元装置200は、図2に示す様に、秘密情報復元部201と、乱数情報復元部202と、不正検知部203と、読み出し制御部204とを有している。
前記秘密情報復元部201は、図1及び図2に示す前記記憶装置300[1]〜300[k]又は300[n]から分散情報vs「1」,vs[2]〜vs[k]又はvs[n]を読み出し、前記アクセス構造に従って前記秘密情報sを復元するものである。前記秘密情報復元部201が秘密情報sを復元する構成は非特許文献1〜7に開示された構成を採用することができるものであり、この構成に本実施形態の特徴が存在しないため、その詳細については省略する。
前記乱数情報復元部202は、前記記憶装置300[1]〜300[k]又は300[n]から乱数情報vr[1],vr[2]〜vr[k]又はvr[n]を読み出し、前記アクセス構造に従って前記乱数列を復元するものである。
前記乱数列は数10に対応した式であり、数18で示す式で表される。
Figure 0005582143
前記不正検知部203は、前記記憶装置300[1]〜300[k]又は300[n]からチェックデータe[1],e[2]〜e[k]又はe[n]を読み出し、その読み出したチェックデータが前記ハッシュ関数を満たす場合に、前記復元した秘密情報sが改竄されていないことを判定するものである。
前記ハッシュ関数は数11に対応した式であり、数19で示す式で表される。
Figure 0005582143
図1及び図2に示す分散情報生成装置100及び復元装置200は、例えば論理回路等から構成されるLSI(Large Scale Integration)やDSP(Digital Signal Processor)等の半導体集積回路によってハードウェアの構成として構築することが可能であるばかりでなく、CPUにプログラムを実行させることにより、ソフトウェア上に構築してもよいものである。分散情報生成装置100及び復元装置200をソフトウェア上に構築するためのプログラムを実行させるための装置としては図6に示す様な構成のものが考えられる。
前記装置は図6に示す様に、CPU11を内蔵した処理装置10と、前記処理装置10に対してコマンドや情報等を入力するための入力装置20と、処理装置10の処理結果をモニタするための出力装置30とを備えたコンピュータによって実現される。
図6に示す処理装置10は、CPU11と、CPU11の処理に必要な情報を一時的に記憶する主記憶部12と、CPU11に分散情報生成装置100または分散情報復元装置200としての処理を実行させるためのプログラムが記録された記録媒体13と、秘密情報やアクセス構造のデータが格納されるデータ蓄積部14と、主記憶部12,記録媒体13及びデータ蓄積装置14とのデータ転送を制御するメモリ制御インタフェース部15と、入力装置20及び出力装置30とのインタフェース部であるI/Oインタフェース部16とを有しており、それらがバス18を介して接続された構成である。
なお、データ蓄積部14は、処理装置10に内蔵する必要がなく、処理装置10から独立して備えていてもよい。また、データ蓄積部14は、分散秘密情報記憶装置301及び乱数分散情報記憶装置302及び分散チェック用データ記憶装置303を備える記憶装置300として用いてもよい。
処理装置10は、記録媒体13に記録されたプログラムにしたがって分散情報生成装置100または分散情報復元装置200としての機能を実現する。記録媒体13は、磁気ディスク,半導体メモリ,光ディスクあるいはその他の記録媒体であってもよい。
次に、本実施形態に係る秘密情報分散システムの動作を図3及び図4に基づいて説明する。
図3は、本実施形態に係る秘密情報分散システムにおける分散情報生成装置100の動作を示すフローチャートである。図4は本実施形態に係る秘密情報分散システムにおける分散情報復元装置200の動作を示すフローチャートである。
図3に示すように分散情報生成装置100には、秘密情報データ集合Sの元である秘密情報sが入力される(ステップS401)。
分散情報生成装置100の秘密情報分散部101は、前記秘密情報sが入力されると、秘密情報sを予め定められたアクセス構造Γに応じて分散符号化し、記憶装置300の分散秘密情報記憶装置301に格納する(ステップS402)。
分散情報生成装置100の乱数情報分散部102は、乱数rを生成し、その生成した乱数rを前記アクセス構造Γに応じて分散符号化し、記憶装置300の乱数分散情報記憶装置302に格納する(ステップS403)。
分散情報生成装置100のチェック用データ生成部103は、前記秘密情報s,及び前記ステップS403で生成した乱数rに対して、h(e[i],s)=f(r,i)を満足するn個のチェック用データe[i](i=1,2,3,・・・n)をランダムに生成し、記憶装置300のチェッ
ク用データ記憶装置303に格納する(ステップS404)。
図4に示すように、分散情報復元装置200は、記憶装置300のアクセス制御装置304に分散秘密情報記憶装置301のデータを読み出すことを示す制御信号を送り、前記アクセス構造Γの任意のアクセス集合Wに対応する複数の記憶装置300の分散秘密情報記憶装置301から読み出したデータを入力させる。秘密情報復元部201は、前記入力したデータに基づいて、秘密情報データ集合Sの元である秘密情報sを復元する(ステップS501)。
次に、分散情報復元装置200は、記憶装置300のアクセス制御装置304に乱数分散情報記憶装置302のデータを読み出すことを示す制御信号を送り、前記アクセス集合Wに対応する複数の前記記憶装置300の乱数分散情報記憶装置302から読み出したデータを入力させる。乱数情報分散部202は、前記入力したデータに基づいて、乱数情報集合Rの元である乱数情報rを復元する(ステップS502)。
上述したステップS501とステップS502は、同時に行っても良いし、ステップS502→ステップS501の順に行っても良い。
以上のステップS501及びS502での処理が終了した際に、分散情報復元装置200は、記憶装置300のアクセス制御装置304にチェック用データ記憶装置304のデータを読み出すことを示す制御信号を送り、チェック用データを入力させる。
不正検知部203は、ステップS501で復元された秘密情報データ集合Sの元である秘密情報sと、ステップS502で復元された乱数rと、前記アクセス集合Wに対応する複数の前記記憶装置300のチェック用データ記憶装置303から読み出したデータe[i]に対して、ハッシュ関数h(e[i],s)=f(r,i)を計算する(ステップS503)。
不正検知部203は、ステップS503で計算されたハッシュ関数h(e[i],s)に対して、ハッシュ関数h(e[i],s)=f(r,i)が成立する場合(ステップS504;YES)、復元した秘密情報sを出力して処理を終了する(ステップS506)。
不正検知部203は、ハッシュ関数h(e[i],s)=f(r,i)が成立しない場合(ステップS504;NO)、不正検出を表す記号を出力して処理を終了する(ステップS505)。
以上の様に本実施形態によれば、多項式の全ての係数をランダムに選ぶことにより、前記秘密情報を分散する数に相当する個数の乱数列を作製し、前記全ての係数をアクセス構造に従って2以上の乱数分散情報に符号分散し、前記秘密情報と前記乱数分散情報とを入力として、ハッシュ値が前記乱数列に相当するハッシュ関数を作製し、前記ハッシュ関数を成立させる鍵を選ぶことにより、復元した秘密情報が改竄されたものであるか否かをチェックするためのデータを、前記秘密情報を分散する数に相当する個数のチェックデータとして独立に設定し、復元の際に、前記乱数情報を読み出し、前記アクセス構造に従って前記乱数列を復元し、前記チェックデータを読み出し、その読み出したチェックデータが前記ハッシュ関数を満たす場合に、前記復元した秘密情報が改竄されていないことを判定するため、復元した秘密情報が改竄されているか否かを検知することができる。
さらに、本実施形態によれば、不正検知のチェックを復元された後の秘密情報で行っていることにより、利用する秘密分散の方式に関わらず不正の検知を行う事ができる。
本実施形態に係る分散情報生成装置100および分散情報復元装置200で、部分情報の改竄を行った不正な記憶装置300[i]では、プロトコルに従ってまず改竄した分散秘密情報と乱数分散情報を分散情報復元装置200に渡す必要がある。このとき、不正な記憶装置は、改竄を行っていない正当な記憶装置に格納されているチェック用データの値を参照することができない。
正当な記憶装置に格納されているチェック用データeは、独立かつ一様ランダムに選ばれており、また、非改竄性のチェックに用いる関数hは、全てのa,a’に対して、数18に示した関係を満たすものである。従って、仮に不正な記憶装置が全ての記憶装置に格納されている分散秘密情報と乱数分散情報を参照し、秘密情報sと乱数情報rを復元できたとしても、改竄された秘密情報s’と乱数情報r’に対して、h(e,s’)=f(r,i)を満足する確率はε以下となるので、事実上そのような改竄は不可能である。
また、本実施形態のチェック用データおよび非改竄性のチェック方法は、適用する秘密分散法に非依存であるため、本実施形態は任意の秘密分散法に対して適用可能であるという特徴も有している。
次に、秘密情報s=(s[1],s[2],…,s[N])のデータ集合にGF(p^N)(p:素数,GF:ガロア体)を用い、乱数データr=(r[0],r[1],…,r[k−2])としてGF(p^(k−1))の元を用い、チェック用データe=(e[0],e[1])としてGF(p)^2を用いた例を用いて、復元された秘密情報が改竄されていることを検知できることを検証する。
なお、この場合、数14に示すハッシュ値に代えて、数15に示す確立理論に基づく式を用いることを前提としている。また、非特許文献1に開示された(k,n)閾値法による秘密情報分散法を適用している。
本実施形態では、秘密分散のアクセス構造を(k,n)閾値型のアクセス構造とし、秘密情報分散部101及び乱数情報分散部102は、非特許文献1に記載された(k,n)閾値法を用いて分散符号化し、秘密情報復元部201及び乱数情報復元部202は、その(k,n)閾値法に対応する復元方法を用いて秘密情報及び乱数情報を復元するものとする。
前記条件の下で、本実施形態に係る分散情報生成装置100には、秘密情報s=(s[1],s[2],…,s[N])∈GF(p^N)(各s[i]∈GF(p))が入力される。
分散情報生成装置100は、秘密情報sが入力されると、秘密情報分散部101によりGF(p^N)上の定数項がsであるk−1次多項式をランダムに生成する。このk−1次多項式をfs(x)と記す。
秘密情報分散部101は、相異なる1,2,…,nに対して、fs(1),fs(2),…,fs(n)を計算し、その計算結果を記憶装置300[1]の分散秘密情報記憶部301[1]、記憶装置300[2]の分散秘密情報記憶部301[2],…,記憶装置300[n]の分散秘密情報記憶部301[n]にそれぞれ格納する。
乱数情報分散部102は、GF(p^(k−1))の元である乱数rを生成し、GF(p^(k−1))上の定数項がrであるk−1次多項式をランダムに生成する。このk−1次多項式をfr(x)と記す。
次に、乱数情報分散部102は、i[1],i[2],…,i[n]に対して、fr(1),fr(2),…,fr(n)を計算し、その計算結果を記憶装置300[1]の乱数分散情報記憶部302[1]、記憶装置300[2]の乱数分散情報記憶部302[2],…,記憶装置300[n]の乱数分散情報記憶部302[n]にそれぞれ格納する。
チェック用データ生成部103は、i=1,2,…,nに対して,式h(e[i],s)=f(r,i)が成立するような(e[i0],e[i1])をGF(p)上からランダムに選び、得られたe[i]=(e[i0],e[i1])(i=1,2,…,n)を記憶装置300[i]のチェック用データ記憶部303[i]に格納する。ただし、上記のh,fはそれぞれ数20および数21のように定義される関数である。
Figure 0005582143

Figure 0005582143
一方、本実施形態に係る分散情報復元装置200は、まず、分散秘密情報の読み出しを行う制御信号を読み出し制御部204から記憶装置300[1],300[2],…,300[k]の各アクセス制御部304に送出し、記憶装置300[1],300[2],…,300[k]の各分散秘密情報記憶部301からデータを読み出す。これらのデータをvs[i[1]],vs[i[2]],…,vs[i[k]]と記す。
秘密情報復元部201は、(i[1],vs[i[1]]),(i[2],vs[i[2]]),…,(i[k],vs[i[k]])の各々を入力とし、座標(i[1],vs[i[1]]),(i[2],vs[i[2]]),…,(i[k],vs[i[k]])を通るGF(p^N)上のk−1次多項式gs(x)のgs(0)を生成する。具体的には、連立方程式を解く方法やラグランジュ補間を用いる方法などによりs’=gs(0)を計算する。
次に、分散情報復元装置200は、乱数分散情報の読み出しを行う制御信号を読み出し制御部204から記憶装置300[1],300[2],…,300[k]の各アクセス制御部304に送出し、300[1],300[2],…,300[k]の各乱数分散情報記憶部302からデータを読み出す。これらのデータをvr[i[1]],vr[i[2]],…,vr[i[k]]と記す。
乱数情報復元部202は、(i[1],vr[i[1]]),(i[2],vr[i[2]]),…,(i[k],vr[i[k]])の各々を入力とし、座標(i[1],vr[i[1]]),(i[2],vr[i[2]]),…,(i[k],vr[i[k]])を通るGF’(p^[k−1])のk−1次多項式gr(x)のgr(0)を生成する。具体的には、連立方程式を解く方法やラグランジュ補間を用いる方法などによりr’=gr(0)を計算する。
次に、分散情報復元装置200は、チェック用データの読み出しを行う制御信号を読み出し制御部204から記憶装置300[1],300[2],…,300[k]の各アクセス制御部304に送出し、記憶装置300[1],300[2],…,300[k]の各チェック用データ記憶部303からデータを読み出す。これらのデータをe[i[1]],e[i[2]],…,e[i[k]]と記す。ここで、各々のe[i[j]]=(e[i[j]0],e[i[j]1])である。
不正検知部203は、数22に示すs’,r’,e[1],e[2],…,e[n]の各々を入力とし、j=1,2,…,nについて数23の条件が成立するか否かをチェックし、全てのe[j][j=1,…,n]についてこの条件が成立する場合はs’を秘密情報として出力し、成立しない場合は不正を検知したことを示す記号として、例えば⊥を出力する。
Figure 0005582143
Figure 0005582143
本実施形態に係る秘密情報分散システムでは、秘密情報のサイズはp^Nであり、分散情報のサイズはp^(N+k+1)であり、不正の検出率は(1−N/p)である。ここで、秘密情報のサイズをs、不正の検出率を(1−ε)と記すと、分散情報のサイズはほぼs*((log s)/ε)^(k+1)となる。
このことからして、数15を考慮すると、本実施形態では極めて不正の検知率が高く、不正を行って成功する確率が極めて小さいことが分かる。
さらに、秘密情報s=(s[1],s[2],…,s[N])のデータ集合にGF(p^N)(p:素数,GF:ガロア体)を用い、乱数データr=(r[0],r[1],…,r[n−2])としてGF(p^(n−1))の元を用い、チェック用データe=(e[0],e[1])としてGF(p)^2を用いた例を用いて、復元された秘密情報が改竄されていることを検知できることを検証する。
なお、この場合、数14に示すハッシュ値に代えて、数15に示す確立理論に基づく式を用いることを前提としている。また、非特許文献2に開示された(n,n)閾値法による秘密情報分散法を適用している。
本実施形態では、秘密分散のアクセス構造を(n,n)閾値型のアクセス構造とし、秘密情報分散部101及び乱数情報分散部102は、非特許文献2に記載された(n,n)閾値法を用いて分散符号化し、秘密情報復元部201及び乱数情報復元部202は、その(n,n)閾値法に対応する復元方法を用いて秘密情報及び乱数情報を復元するものとする。
以上の条件の下に、本実施形態に係る分散情報生成装置100には秘密情報s=(s[1],s[2],…,s[N])∈GF(p^N)(各s[i]∈GF(p))が入力される。
分散情報生成装置100は、秘密情報sが入力されると、秘密情報分散部101によりvs[1]+vs[2]+…+vs[n]=sとなるGF(p^N)上の元vs[1],vs[2],…,vs[n]をランダムに選び、各vs[i](i=1,2,…,n)を記憶装置300[i]の分散秘密情報記憶部301[1]〜[n]にそれぞれ格納する。
乱数情報分散部102は、GF(p^(n−1))の元である乱数rを生成し、vr[1]+vr[2]+…+vr[n]=rとなるGF(p^(n−1))上の元vr[1],vr[2],…,vr[n]をランダムに選び、各vr[i](i=1,2,…,n)を記憶装置300[i]の乱数分散情報記憶部302[1]〜[n]にそれぞれ格納する。
チェック用データ生成部103は、i=1,2,…,nに対して,式h(e[i],s)=f(r,i)が成立するような(e[i0],e[i1])をGF(p)上からランダムに選び、得られた(e[i0],e[i1])(i=1,2,…,n)を記憶装置300[i]のチェック用データ記憶部303[1]〜[n]にそれぞれ格納する。ただし、上記でh,fはそれぞれ数24および数25のように定義される関数である。
Figure 0005582143

Figure 0005582143
一方、本実施形態に係る分散情報復元装置200は、まず、分散秘密情報の読み出しを行う制御信号を読み出し制御部204から記憶装置300[1],300[2],…,300[n]の各アクセス制御部304に送出し、記憶装置300[1],300[2],…,300[n]の各分散秘密情報記憶部301からデータを読み出す。これらのデータをvs[1],vs[2],…,vs[n]と記す。秘密情報復元部201は、vs[1],vs[2],…,vs[n]を入力とし、数26に示す演算によってs’を計算する。
Figure 0005582143
次に、分散情報復元装置200は、乱数分散情報の読み出しを行う制御信号を読み出し制御部204から記憶装置300[1],300[2],…,300[n]の各アクセス制御部304に送出し、記憶装置300[1],300[2],…,300[n]の各乱数分散情報記憶部302からデータを読み出す。これらのデータをvr[1],vr[2],…,vr[n]と記す。乱数情報復元部202は、vr[1],vr[2],…,vr[n]を入力とし、数27に示す演算によって座標r’を計算する。
Figure 0005582143
次に、分散情報復元装置200は、チェック用データの読み出しを行う制御信号を読み出し制御部204から記憶装置300[1],300[2],…,300[n]の各アクセス制御部304に送出し、記憶装置300[1],300[2],…,300[n]の各チェック用データ記憶部303からデータを読み出す。これらのデータをe[1],e[2],…,e[n]と記す。ここで各e[i]=(e[i0],e[i1])である。
不正検知装置203は、数28に示すs’,r’,e[1],e[2],…,e[n]を入力とし、j=1,2,…,nについて数29の条件が成立するか否かをチェックし、全てのe[j](j=1,…,n)についてこの条件が成立する場合はs’を秘密情報として出力し、成立しない場合は不正を検知したことを示す記号として、例えば⊥を出力する。
Figure 0005582143
Figure 0005582143
本実施形態に係る秘密情報分散システムでは、秘密情報のサイズはp^Nであり、分散情報のサイズはp^(N+n+1)であり、不正の検出率は(1−N/p)である。ここで、秘密情報のサイズをs、不正の検出率を(1−ε)と記すと、分散情報のサイズはほぼs*((log s)/ε)^(k+1)で表せる。
このことからして、数15を考慮すると、本実施形態では極めて不正の検知率が高く、不正を行って成功する確率が極めて小さいことが分かる。
これまで本発明について図面に示した特定の実施形態をもって説明してきたが、本発明は図面に示した実施形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができる。
この出願は2009年6月19日に出願された日本出願特願2009−146653を基礎とする優先権を主張し、その開示の全てをここに取り込む。
本発明によれば、秘密情報を2以上の秘密分散情報に分散して保管する際に、極めて高い確率で、復元された秘密情報が改竄されているか否かを検知することができ、秘密情報を分散して管理するのに最適なシステムを提供できるものである。
100 分散情報生成装置
101 秘密情報分散部
102 乱数情報分散部
103 チェック用データ生成部
200 分散情報復元装置
201 秘密情報復元部
202 乱数情報復元部
203 不正検出部
204 読み出し制御部
300 記憶装置
301 分散秘密情報記憶部
302 乱数分散情報記憶部
303 チェック用データ記憶部
304 アクセス制御部

Claims (10)

  1. 秘密情報を2以上の分散情報に分散して管理し、前記分散情報を集積することにより、前記秘密情報を復元する秘密情報分散システムであって、
    分散情報生成装置と、記憶装置と、分散情報復元装置とを有し、
    前記分散情報生成装置は、
    秘密情報をアクセス構造に従って2以上の分散情報に符号分散する秘密情報分散部と、
    多項式の全ての係数をランダムに選ぶことにより、前記秘密情報を分散する数に相当する個数の乱数列を作製し、前記全ての係数をアクセス構造に従って2以上の乱数分散情報に符号分散する乱数情報分散部と、
    前記秘密情報と前記乱数分散情報とを入力として、ハッシュ値が前記乱数列に相当するハッシュ関数を作製し、前記ハッシュ関数を成立させる鍵を選ぶことにより、復元した秘密情報が改竄されたものであるか否かをチェックするためのデータを、前記秘密情報を分散する数に相当する個数のチェックデータとして独立に設定するチェックデータ用生成部とを有し、
    前記分散情報生成装置は、前記分散情報と前記乱数情報と前記チェックデータとを一組の情報として出力するものであり、
    前記記憶装置は、前記秘密情報を分散する数に相当する台数分が備えられ、各記憶装置は、前記分散情報と前記乱数情報と前記チェックデータとを一組の情報として記憶するものであり、
    前記分散情報復元装置は、
    前記記憶装置から分散情報を読み出し、前記アクセス構造に従って前記秘密情報を復元する秘密情報復元部と、
    前記記憶装置から乱数情報を読み出し、前記アクセス構造に従って前記乱数列を復元する乱数情報復元部と、
    前記記憶装置からチェックデータを読み出し、その読み出したチェックデータが前記ハッシュ関数を満たす場合に、前記復元した秘密情報が改竄されていないことを判定する不正検知部とを有することを特徴とする秘密情報分散システム。
  2. 前記乱数列が
    Figure 0005582143
    ただし、
    Figure 0005582143
    は前記多項式の係数を意味し、i=1〜n(nは前記秘密情報を分散する数に相当する個数)
    である関数の場合、
    前記ハッシュ関数hは、
    Figure 0005582143
    (e[0]およびe[1]は前記チェックデータ)を満足する関数である請求項1に記載の秘密情報分散システム。
  3. 前記アクセス構造が(k,n)閾値法のアクセス構造である請求項1に記載の秘密情報分散システム。
  4. 前記アクセス構造が(n,n)閾値法のアクセス構造である請求項1に記載の秘密情報分散システム。
  5. 秘密情報を2以上の分散情報に分散して管理し、前記分散情報を集積することにより、前記秘密情報を復元する秘密情報分散システムに用いる分散情報生成装置であって、
    秘密情報をアクセス構造に従って2以上の分散情報に符号分散する秘密情報分散部と、
    多項式の全ての係数をランダムに選ぶことにより、前記秘密情報を分散する数に相当する個数の乱数列を作製し、前記全ての係数をアクセス構造に従って2以上の乱数分散情報に符号分散する乱数情報分散部と、
    前記秘密情報と前記乱数分散情報とを入力として、ハッシュ値が前記乱数列に相当するハッシュ関数を作製し、前記ハッシュ関数を成立させる鍵を選ぶことにより、復元した秘密情報が改竄されたものであるか否かをチェックするためのデータを、前記秘密情報を分散する数に相当する個数のチェックデータとして独立に設定するチェックデータ用生成部とを有し、
    前記分散情報生成装置は、前記分散情報と前記乱数情報と前記チェックデータとを一組の情報として出力するものであることを特徴とする分散情報生成装置。
  6. 秘密情報を2以上の分散情報に分散して管理し、前記分散情報を集積することにより、前記秘密情報を復元する秘密情報分散システムに用いる分散情報復元装置であって、
    秘密情報分散システムの分散情報生成装置が一組の情報として出力する、秘密情報をアクセス構造に従って符号分散した分散情報と、多項式の全ての係数をランダムに選ぶことにより、前記秘密情報を分散する数に相当する個数の乱数列を作製し、前記全ての係数をアクセス構造に従って符号分散した乱数情報と、ハッシュ値が前記乱数列に相当するハッシュ関数を作製し、前記ハッシュ関数を成立させる鍵を選ぶことにより、前記秘密情報を分散する数に相当する個数のチェックデータとして独立に設定するチェックデータとを、一組の情報として入力するものであり、
    前記分散情報を得て、前記アクセス構造に従って前記秘密情報を復元する秘密情報復元部と、
    前記乱数情報を読み出し、前記アクセス構造に従って前記乱数列を復元する乱数情報復元部と、
    前記チェックデータを読み出し、その読み出したチェックデータが前記ハッシュ関数を満たす場合に、前記復元した秘密情報が改竄されていないことを判定する不正検知部とを有することを特徴とする分散情報復元装置。
  7. 秘密情報を2以上の分散情報に分散して管理し、前記分散情報を集積することにより、前記秘密情報を復元する秘密情報分散方法であって、
    秘密情報をアクセス構造に従って2以上の分散情報に分散情報生成装置の秘密情報分散部が符号分散し、
    多項式の全ての係数をランダムに選ぶことにより、前記秘密情報を分散する数に相当する個数の乱数列を作製し、前記全ての係数をアクセス構造に従って2以上の乱数情報に前記分散情報生成装置の乱数情報分散部が符号分散し、
    前記秘密情報と前記乱数分散情報とを入力として、ハッシュ値が前記乱数列に相当するハッシュ関数を作製し、前記ハッシュ関数を成立させる鍵を選ぶことにより、復元した秘密情報が改竄されたものであるか否かをチェックするためのデータを、前記秘密情報を分散する数に相当する個数のチェックデータとして前記分散情報生成装置のチェックデータ用生成部が独立に設定し、
    前記分散情報と前記乱数情報と前記チェックデータとを前記分散情報生成装置が一組の情報として出力し、
    前記分散情報を読み出し、前記アクセス構造に従って分散情報復元装置の秘密情報復元部が前記秘密情報を復元し、
    前記乱数情報を読み出し、前記アクセス構造に従って前記分散情報復元装置の乱数情報復元部が前記乱数列を復元し、
    前記チェックデータを読み出し、その読み出したチェックデータが前記ハッシュ関数を満たす場合に、前記復元した秘密情報が改竄されていないことを前記分散情報復元装置の不正検知部が判定することを特徴とする秘密情報分散方法。
  8. 前記乱数列が
    Figure 0005582143
    ただし、
    Figure 0005582143
    は前記多項式の係数を意味し、i=1〜n(nは前記秘密情報を分散する数に相当する個数)
    である関数の場合、
    前記ハッシュ関数hは、
    Figure 0005582143
    (e[0]およびe[1]は前記チェックデータ)を満足する関数である請求項7に記載の秘密情報分散方法。
  9. 秘密情報を2以上の分散情報に分散して管理し、前記分散情報を集積することにより、前記秘密情報を復元する秘密情報分散システムにおいて、前記分散情報の生成を制御するプログラムであって、
    コンピュータ
    秘密情報をアクセス構造に従って2以上の分散情報に符号分散する分散情報生成装置の秘密情報分散部
    多項式の全ての係数をランダムに選ぶことにより、前記秘密情報を分散する数に相当する個数の乱数列を作製し、前記全ての係数をアクセス構造に従って2以上の乱数分散情報に符号分散する前記分散情報生成装置の乱数情報分散部、
    および前記秘密情報と前記乱数分散情報とを入力として、ハッシュ値が前記乱数列に相当するハッシュ関数を作製し、前記ハッシュ関数を成立させる鍵を選ぶことにより、復元した秘密情報が改竄されたものであるか否かをチェックするためのデータを、前記秘密情報を分散する数に相当する個数のチェックデータとして独立に設定する前記分散情報生成装置のチェックデータ用生成部として機能させることを特徴とする分散情報生成プログラム。
  10. 秘密情報を2以上の分散情報に分散して管理し、前記分散情報を集積することにより、前記秘密情報を復元する秘密情報分散システムにおいて、前記秘密情報の復元を制御するプログラムであって、
    コンピュータ
    秘密情報分散システムの分散情報生成装置が一組の情報として出力する、秘密情報をアクセス構造に従って符号分散した分散情報と、多項式の全ての係数をランダムに選ぶことにより、前記秘密情報を分散する数に相当する個数の乱数列を作製し、前記全ての係数をアクセス構造に従って符号分散した乱数情報と、ハッシュ値が前記乱数列に相当するハッシュ関数を作製し、前記ハッシュ関数を成立させる鍵を選ぶことにより、前記秘密情報を分散する数に相当する個数のチェックデータとして独立に設定するチェックデータとを、一組の情報として入力として、
    前記分散情報を得て、前記アクセス構造に従って前記秘密情報を復元する分散情報復元装置の秘密情報復元部
    前記乱数情報を読み出し、前記アクセス構造に従って前記乱数列を復元する前記分散情報復元装置の乱数情報復元部
    および前記チェックデータを読み出し、その読み出したチェックデータが前記ハッシュ関数を満たす場合に、前記復元した秘密情報が改竄されていないことを判定する前記分散情報復元装置の不正検知部として機能させることを特徴とする復元プログラム。
JP2011519860A 2009-06-19 2010-06-18 秘密情報分散システム,秘密情報分散方法及びプログラム Active JP5582143B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011519860A JP5582143B2 (ja) 2009-06-19 2010-06-18 秘密情報分散システム,秘密情報分散方法及びプログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2009146653 2009-06-19
JP2009146653 2009-06-19
PCT/JP2010/060377 WO2010147215A1 (ja) 2009-06-19 2010-06-18 秘密情報分散システム,秘密情報分散方法及びプログラム
JP2011519860A JP5582143B2 (ja) 2009-06-19 2010-06-18 秘密情報分散システム,秘密情報分散方法及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2010147215A1 JPWO2010147215A1 (ja) 2012-12-06
JP5582143B2 true JP5582143B2 (ja) 2014-09-03

Family

ID=43356530

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011519860A Active JP5582143B2 (ja) 2009-06-19 2010-06-18 秘密情報分散システム,秘密情報分散方法及びプログラム

Country Status (3)

Country Link
US (1) US9021257B2 (ja)
JP (1) JP5582143B2 (ja)
WO (1) WO2010147215A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012124270A1 (ja) * 2011-03-15 2012-09-20 パナソニック株式会社 改ざん監視システム、管理装置、保護制御モジュール及び検知モジュール
CN105993043B (zh) * 2014-02-18 2019-08-16 日本电信电话株式会社 安全装置、其方法以及计算机可读取的记录介质
JP6282167B2 (ja) * 2014-04-30 2018-02-21 Kddi株式会社 安全性を検証するクライアント端末、サーバ、システム、方法及びプログラム
JP2016025563A (ja) * 2014-07-23 2016-02-08 Kddi株式会社 複数サーバを対象としたオンラインファイルの安全性を検証するクライアント端末、サーバ、システム、方法及びプログラム
JP5860556B1 (ja) * 2015-02-06 2016-02-16 日本電信電話株式会社 不整合検知方法、不整合検知システム、不整合検知装置、およびプログラム
CN105653983B (zh) * 2015-12-30 2018-11-09 中国农业大学 基于云存储的信息分配、还原、完整性验证方法及装置
CN105678194B (zh) * 2016-02-05 2018-08-28 中国农业大学 数据完整性检验***及方法
CN113765657B (zh) * 2017-08-28 2023-10-24 创新先进技术有限公司 一种密钥数据处理方法、装置及服务器
JP7074319B2 (ja) * 2018-02-28 2022-05-24 リアル・テクノロジー株式会社 正当性管理システム、正当性管理方法及びプログラム
CN112926074B (zh) * 2021-03-26 2022-08-23 成都卫士通信息产业股份有限公司 一种sm9密钥门限化生成方法、装置、设备及存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002517024A (ja) * 1998-05-22 2002-06-11 サートコ インコーポレイテッド ロバスト性を有しかつ効率的な分散型rsa鍵生成
US20040103276A1 (en) * 2001-09-28 2004-05-27 Jiwu Jing Tolerant digital certificate distribute system and distribute method
JP2007135170A (ja) * 2005-10-12 2007-05-31 Hitachi Ltd 電子データ送受信方法
WO2008001628A1 (fr) * 2006-06-30 2008-01-03 Nec Corporation Générateur et dispositif de restauration d'information distribuée
WO2008050544A1 (fr) * 2006-10-24 2008-05-02 Nec Corporation Dispositif de génération d'informations distribuées et dispositif de décodage
WO2008093690A1 (ja) * 2007-02-02 2008-08-07 Nec Corporation 分散情報生成装置、復元装置、復元結果検証装置、秘密情報分散システム、方法およびプログラム
WO2009025220A1 (ja) * 2007-08-22 2009-02-26 Nec Corporation 秘密情報分散システム、方法及びプログラム並びに伝送システム
WO2009075353A1 (ja) * 2007-12-12 2009-06-18 Nec Corporation 分散情報生成装置、復元装置、検証装置及び秘密情報分散システム
US20100185863A1 (en) * 2006-12-01 2010-07-22 Rabin Michael O Method and apparatus for time-lapse cryptography

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6910130B2 (en) * 2000-11-29 2005-06-21 Hideki Imai System for and method of unconditionally secure digital signature
JP2002217891A (ja) 2001-01-22 2002-08-02 Toshiba Corp 秘密分散管理プログラム及びシステム
JP2004336577A (ja) 2003-05-09 2004-11-25 C4 Technology Inc 秘密分散法の最適割り当て決定方法及びその方法を実行するコンピュータプログラム
JP4798796B2 (ja) 2006-09-11 2011-10-19 Kddi株式会社 データの秘匿性及び復元性を提供するデータ保護方法、クライアント装置及びプログラム
JP2008250931A (ja) 2007-03-30 2008-10-16 Toshiba Corp 分散情報復元システム、情報利用装置、および、検証装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002517024A (ja) * 1998-05-22 2002-06-11 サートコ インコーポレイテッド ロバスト性を有しかつ効率的な分散型rsa鍵生成
US20040103276A1 (en) * 2001-09-28 2004-05-27 Jiwu Jing Tolerant digital certificate distribute system and distribute method
JP2007135170A (ja) * 2005-10-12 2007-05-31 Hitachi Ltd 電子データ送受信方法
WO2008001628A1 (fr) * 2006-06-30 2008-01-03 Nec Corporation Générateur et dispositif de restauration d'information distribuée
WO2008050544A1 (fr) * 2006-10-24 2008-05-02 Nec Corporation Dispositif de génération d'informations distribuées et dispositif de décodage
US20100185863A1 (en) * 2006-12-01 2010-07-22 Rabin Michael O Method and apparatus for time-lapse cryptography
WO2008093690A1 (ja) * 2007-02-02 2008-08-07 Nec Corporation 分散情報生成装置、復元装置、復元結果検証装置、秘密情報分散システム、方法およびプログラム
WO2009025220A1 (ja) * 2007-08-22 2009-02-26 Nec Corporation 秘密情報分散システム、方法及びプログラム並びに伝送システム
WO2009075353A1 (ja) * 2007-12-12 2009-06-18 Nec Corporation 分散情報生成装置、復元装置、検証装置及び秘密情報分散システム

Also Published As

Publication number Publication date
US20120102321A1 (en) 2012-04-26
WO2010147215A1 (ja) 2010-12-23
US9021257B2 (en) 2015-04-28
JPWO2010147215A1 (ja) 2012-12-06

Similar Documents

Publication Publication Date Title
JP5582143B2 (ja) 秘密情報分散システム,秘密情報分散方法及びプログラム
JP6504013B2 (ja) 暗号処理方法、暗号処理装置、および暗号処理プログラム
JP5338668B2 (ja) 秘密情報分散システム、方法及びプログラム並びに伝送システム
JP6753403B2 (ja) 情報処理装置、認証システム、認証方法、並びにコンピュータ・プログラム
JP5299286B2 (ja) 分散情報生成装置、復元装置、検証装置及び秘密情報分散システム
CN111901320B (zh) 基于属性撤销cp-abe的抗密钥伪造攻击加密方法及其***
JP5609892B2 (ja) 検証装置、秘密情報復元装置、検証方法、プログラム、及び秘密分散システム
JP5251520B2 (ja) 分散情報生成装置、復元装置、復元結果検証装置、秘密情報分散システム、方法およびプログラム
CN112118245B (zh) 密钥管理方法、***和设备
JP5944841B2 (ja) 秘密分散システム、データ分散装置、分散データ保有装置、秘密分散方法、およびプログラム
JP5136412B2 (ja) 分散情報生成装置及び復元装置
KR20190143196A (ko) 양자 난수열 기반의 암호 장치
JP2014081787A (ja) 情報処理装置、情報処理端末、アクセス認証方法及びプログラム
CN113079177B (zh) 一种基于时间及解密次数限制的遥感数据共享方法
JP5972181B2 (ja) 改ざん検知装置、改ざん検知方法、およびプログラム
US20150358162A1 (en) Decryption service providing device, processing device, safety evaluation device, program, and recording medium
JP6933290B2 (ja) 秘密計算装置、秘密計算認証システム、秘密計算方法、およびプログラム
WO2013153628A1 (ja) 演算処理システムおよび演算結果認証方法
JP2013009245A (ja) 秘密情報分散システム及び秘密情報分散方法並びに秘密情報生成プログラム及び秘密情報復元プログラム
JP5381981B2 (ja) 分散情報生成装置
CN112673591B (zh) 用于向经授权的第三方提供对秘密的公开分类账安全密钥托管访问的***和方法
JP5142361B2 (ja) 正当性検証装置
WO2024157662A1 (ja) メッセージ提示システム及びメッセージ提示方法
Priya A novel approach for secured transmission of DICOM images
Dhole et al. Ensuring Data Storage Security using Cloud Computing

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130515

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140204

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140318

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140318

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140415

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140526

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140630

R150 Certificate of patent or registration of utility model

Ref document number: 5582143

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150