JP2005167794A - 秘密情報保管方法及び装置、秘密情報復元方法及び装置、秘密情報保管プログラム並びに秘密情報復元プログラム。 - Google Patents

秘密情報保管方法及び装置、秘密情報復元方法及び装置、秘密情報保管プログラム並びに秘密情報復元プログラム。 Download PDF

Info

Publication number
JP2005167794A
JP2005167794A JP2003405849A JP2003405849A JP2005167794A JP 2005167794 A JP2005167794 A JP 2005167794A JP 2003405849 A JP2003405849 A JP 2003405849A JP 2003405849 A JP2003405849 A JP 2003405849A JP 2005167794 A JP2005167794 A JP 2005167794A
Authority
JP
Japan
Prior art keywords
information
secret information
secret
recording
shared
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.)
Granted
Application number
JP2003405849A
Other languages
English (en)
Other versions
JP2005167794A5 (ja
JP4194481B2 (ja
Inventor
Keiichi Hirota
啓一 廣田
Masakazu Endo
雅和 遠藤
Akira Kitahara
亮 北原
Masashi Yamamuro
雅司 山室
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2003405849A priority Critical patent/JP4194481B2/ja
Publication of JP2005167794A publication Critical patent/JP2005167794A/ja
Publication of JP2005167794A5 publication Critical patent/JP2005167794A5/ja
Application granted granted Critical
Publication of JP4194481B2 publication Critical patent/JP4194481B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

【課題】 秘密情報を分散保管する際に、分散情報の保管位置の索引付けなしに記録することにより、情報の漏洩に対する安全性を高め、且つ、利用者には簡便な復元を可能にする。
【解決手段】 秘密情報保管装置100は、秘密情報の入力を受け付ける手段120、入力された秘密情報を分散符号化した後の分散情報の記録位置を決定する手段130、入力された秘密情報と記録位置に関する位置情報を組み合わせて特定の分散関数により分散符号化して、外部に出力するための外部分散情報と、全ての秘密情報に共通な固定分散情報と、実際に記録保管する記録分散情報とを生成する手段140、生成した記録分散情報を外部記憶装置等の所定の記録位置に記録する手段150、生成した外部分散情報を外部に出力する手段160を備える。
【選択図】 図3

Description

本発明は、パスワードや鍵情報などの秘密情報を複数のデータベースなどに分散保管し、これらの内幾つか以上の分散された情報により元の秘密情報を復元可能とする秘密分散法を用いた情報保管技術に関する。
パスワードや暗号鍵情報、個人情報といった各種の秘密情報を保管する場合、情報の漏洩に対する安全性の確保が重要な課題となる。従来の保管技術では、例えば一つの情報保管装置で保管する技術として保管対象の情報を暗号化して保管する暗号技術や保管対象の情報を取得できる利用者を制限する認証技術などがあるが、情報保管装置自体のハッキング、暗号の解読などにより情報が不正に取得される可能性があり、情報の漏洩に対する安全性は高いとは言えない。
特に、情報保管装置自体がハッキングされた場合、情報の記録位置がシーケンシャルであったり、または索引付けにより記録位置が明記してあったりすると、情報の対応付けが容易であり、簡単に情報が漏洩してしまう。例えば、情報の漏洩に対する安全性を高めるため、個人情報を保管する際に情報を分割して記録装置上の無作為な位置に保存する方法があるが(特許文献1)、情報の復元のためには記録位置に関する索引付けが必要である。したがって、索引付け情報が漏洩してしまうと、必然的に秘密情報が漏洩する可能性が高くなってしまう。
特開2001−265771号公報
従来の情報保管技術では、情報を記録する位置が予め定まっていたり、全くの無作為であっても記録位置を示した索引付けが必要であるために、情報保管装置自体がハッキングされた場合に容易に情報の対応付けを取り、元の秘密情報を復元する事ができてしまうという問題がある。
本発明は、従来の上述のような問題に鑑みてなされたもので、秘密情報を分散保管する際に、分散情報の保管位置の索引付けなしに記録する事により、情報の漏洩に対する安全性が高く、なおかつ利用者自身には簡便な復元を可能とする秘密情報保管方法及びその装置、秘密情報復元方法及びその装置、秘密情報保管プログラム並びに秘密情報復元プログラムを実現することを目的とする。
本発明では、本出願人が先に出願した特願2003−366538号に記載の復元制御型秘密情報分散法を用いる。これは、基本的には、秘密情報Sについて、秘密情報Sの完全な復元に必要な分散情報の最低数である2以上の整数の閾値k、閾値kに対して秘密情報Sの部分的な復元を許容する分散情報の不足数を決定する2以上k以下の整数の分割数dと、秘密情報Sのd個の分割情報(部分情報)S,S,…,Sd−1などの秘密情報Sを分散するための条件を入力し、
最大の分割情報S(0≦t≦d−1)よりも大きな素数pと、素数pよりも小さく0でない(k−d個)の乱数r(1≦1≦k−d)と、(k(k−1)/2)個の乱数a(1≦j≦k(k−1)/2)を生成して、
f(x)=S+S(x−a)+…+Sd−1(x−a(d一1)(d−2)/2+1)(x−a(d−1)(d−2)/2+2)…(x−a(d−1)(d−2)/2+d−1)+r(x−ad(d−1)/2+1)(x−ad(d−1)/2+2)…(x−ad(d−1)/2+d)+…+rk−d(x−a(k−1)(k−2)/2+1)(x−a(k−1)(k−2)/2+2)…(x−a(k−1)(k−2)/2+k−1) mod p
の式で表現される秘密情報Sの分散関数f(x)を生成するものである。
本復元制御型秘密情報分散法は、従来の秘密情報分散技術である(k,n)閾値秘密分散法および(d,k,n)閾値秘密分散法を拡張した方法で、n個の分散情報の内、任意のk個の分散情報がそろえば、f(x)に関する連立方程式を解くことにより元の秘密情報Sを復元できるが、任意の(k−d)個までの分散情報がそろってもf(x)に関する連立方程式を解くことはできないため、元の秘密情報Sは復元できないという特徴をもつ。ただし、情報を分散させる分散関数を特定の形式に規定することにより、任意の(k−d+1)個から(k−1)個までの分散情報が特定の組み合わせによりそろった場合にはf(x)に関する連立方程式から特定の分割情報(部分情報)S,S,…,Sd−1を求めることができ、元の秘密情報Sを部分的に復元することができる。
なお、(k,n)閾値秘密分散法および(d,k,n)閾値秘密分散法について、詳しくは、それそれ「A.Shamir,“How to Share a Secret”,Commun.Of ACM,Vol.22,No.11,pp.612−613,1979」と「G.R.Blakley,C.Meadows,“Security of ramp schemes”,Proc.of Crypto'84,Lecure Notes on Comput.Sci,196,pp242−268,1984」に述べられている。
例えばk=3、d=2とした場合、上記の分散関数f(x)は、
f(x)=S+S(x−a)+r(x−a)(x−a
で表現され、任意の2個の分散情報WとW+b(x>0、b>0)についての連立方程式は以下のような行列式で表現できる。
Figure 2005167794
行列式の左項を掃き出し法により変形すると、
Figure 2005167794
となり、a,a,aの値によっては−x+(2a−b)+ab−a−a+a=0,もしくは2x+b−a−a=0を満たすxとbがある場合に、連立方程式から分割情報(部分情報)のSのみ、もしくはSのみを求めることができる。
<秘密情報保管>
本発明による秘密情報の分散保管方法の原理を説明する処理フローを図1に示す。分散の対象とする秘密情報の入力を受け付けると(ステップ01)、秘密情報を所定の数の部分情報に分割して符号化し(ステップ02)、秘密情報を分散符号化した結果である分散情報の記録位置を示す位置情報を決定する(ステップ03)。その後、秘密情報と位置情報を組み合わせて先の復元制御型秘密分散法に基づく特定の分散関数により分散符号化して、全ての秘密情報に共通な固定分散情報と、記録するための記録分散情報と、外部に出力するための外部分散情報を生成する(ステップ04)。そして、ステップ03において決定した所定の記録位置に記録分散情報を記録し(ステップ05)、外部分散情報を位置情報を復元するための鍵情報として外部に出力する(ステップ06)。
本発明の秘密情報保管方法によれば、秘密情報を分散符号化した結果である分散情報の記録位置を示した位置情報と秘密情報自体とを組み合わせて分散符号化し、記録分散情報を任意の記録位置に記録し、なおかつ外部に出力する外部分散情報と全ての秘密情報に共通な国定分散情報から記録分散情報の位置情報が復元可能であるような、秘密情報の分散保管が実現できる。これにより、分散符号化した秘密情報の記録位置を索引として持つ事なく、秘密情報を安全に保管する事が可能となる。
本発明による秘密情報保管装置は、秘密情報の入力を受け付ける秘密情報入力手段と、入力された秘密情報を分散符号化した後の分散情報の記録位置を決定する記録位置決定手段と、入力された秘密情報と記録位置に関する位置情報を組み合わせて復元制御型秘密情報分散法の特定の分散関数により分散符号化して、外部に出力するための外部分散情報と、全ての秘密情報に共通な固定分散情報と、実際に記録保管する記録分散情報とを生成する秘密情報分散手段と、生成した記録分散情報を所定の記録位置に記録保管する分散情報記録手段と、生成した外部分散情報を外部に出力する分散情報出力手段とを備える事を基本構成とする。
記録位置決定手段は複数の記録分散情報の記録位置を決定し、秘密情報分散手段は複数の記録分散情報を生成することを特徴とする。秘密情報の復元に必要な、記録分散情報を冗長に生成する事で、幾つかの記録分散情報が紛失した場合でも秘密情報を復元する事が可能となる。これにより、分散符号化した秘密情報の記録位置を索引として持つ事なく、かつ記録した分散情報の一部が紛失した場合でも元の秘密情報が復元可能であるような、秘密情報の安全な保管が可能となる。
さらに、秘密情報分散手段は複数の外部分散情報を生成することを特徴とする。これにより、秘密情報の復元に必要な、記録分散情報の位置情報を復元するための外部分散情報を複数生成する事が可能となる。したがって、分散符号化した秘密情報の記録位置を索引として持つ事なく、かつ複数の利用者が異なる外部分散情報を元に同じ秘密情報を復元可能であるような、秘密情報の安全な保管が可能となる。
<秘密情報復元>
本発明による秘密情報の復元方法の原理を説明する処理フローを図2に示す。復元の対象とする秘密情報に関連した外部分散情報の入力を受け付けると(ステップ11)、外部分散情報と内部に記憶した全ての秘密情報に共通な固定分散情報から演算処理によって秘密情報の部分情報を復元し(ステップ12)、復元した部分情報から記録分散情報を記録した位置を示す位置情報を抽出し(ステップ13)、抽出した位置情報が示す記録位置に記録された記録分散情報を取得する(ステップ14)。その後、入力された外部分散情報、内部に記憶した固定分散情報、取得した記録分散情報から演算処理によって秘密情報の全ての部分情報を復元する事で、秘密情報を完全に復元し(ステップ15)、復元した秘密情報を出力する(ステップ16)。
本発明の秘密情報復元方法によれば、復元の対象とする秘密情報に関連した外部分散情報と、全ての秘密情報に共通な固定分散情報を元にして、秘密情報を分散符号化した分散情報の記録位置を示した位置情報を復元する事が可能であり、さらに、復元した位置情報に基づいて取得した記録分散情報と外部分散情報、周定分散情報を元にして秘密情報自体を復元可能である。これにより、分散符号化した秘密情報の記録位置を索引として持つ事なく、秘密情報を確実に復元する事が可能となる。
本発明による秘密情報復元装置は、外部分散情報の入力を受け付ける分散情報入力手段と、入力された外部分散情報と内部に記憶した固定分散情報から特定の復元関数により記録分散情報の記録位置に関する位置情報を復元する位置情報復元手段と、復元した位置情報に基づいて記録分散情報を取得する分散情報取得手段と、入力された外部分散情報、内部に記憶した固定分散情報、取得した記録分散情報から特定の復元関数により秘密情報を復元する秘密情報復元手段と、復元した秘密情報を出力する秘密情報出力手段とを備える事を基本構成とする。
本発明によれば、秘密情報保管装置において秘密情報Sを複数の分散情報に分散符号化し、その内の幾つかを位置を装置内に記録する事なく外部記憶装置上の無作為な記録位置に記録する事ができ、したがって秘密情報を安全に分散保管できる。また、利用者は秘密情報復元装置において、出力された分散情報を鍵として他の分散情報の記録位置を復元できるため、装置内に位置情報を記録する事なく、容易に秘密情報Sを復元する事ができる。以上により、安全かつ簡便な秘密情報保管装置および秘密情報復元装置が実現できる。
図3に、本発明の一実施形態における秘密情報保管装置100および秘密情報復元装置200、外部記憶装置300による機能構成例を示す。秘密情報保管装置100は、分散制御部110、秘密情報入力部120、記録位置決定部130、秘密情報分散部140、分散情報記録部150、分敵情報出力部160から構成され、秘密情報復元装置200は復元制御部210、分散情報入力部220、位置情報復元部230、分散情報取得部240、秘密情報復元部250、秘密情報出力部260から構成される。また、外部記憶装置300は任意の外部記憶媒体とし、秘密情報保管装置100および秘密情報復元装置200と接続されているものとする。
秘密情報保管装置100では、秘密情報入力部120が保管の対象とする秘密情報の入力を受け付け、記録位置決定部130が、入力された秘密情報を分散符号化した後の分散情報の記録位置を決定し、秘密情報分散部140が、入力された秘密情報と記録位置に関する位置情報を組み合わせて復元制御型秘密情報分散法の特定分散関数により分散符号化して、外部に出力するための外部分散情報と、全ての秘密情報に共通な固定分散情報と、実際に記録保管する記録分散情報とを生成し、分散情報記録部150が、生成された記録分散情報を所定の記録位置に記録し、分散情報出力部160が、生成された外部分散情報を外部に出力する。分散制御部110は、これら各部120〜160の動作を制御する。
秘密情報復元装置200では、分散情報入力部220が外部分散情報の入力を受け付け、位置情報復元部230が、入力された外部分散情報と内部に記憶した固定分散情報から特定の復元関数により記録分散情報の記録位置に関する位置情報を復元し、分散情報取得部240が、復元された位置情報に基づいて記録分散情報を取得し、秘密情報復元部250が、入力された外部分散情報、内部に記憶した固定分散情報、取得した記録分散情報から特定の復元関数により秘密情報を復元し、分散情報出力部260が復元された秘密情報を出力する。復元制御部210は、これら各部220〜260の動作を制御する。
なお、図3は本発明による秘密情報保管装置および秘密情報復元装置の構成を限定するものではない。秘密情報保管装置100、秘密情報復元装置200および外部記憶装置300を1つの装置として実現しても良いし、それぞれ複数の装置からなる構成例を実現する事もできる。また、各装置は別々の場所で実現してよく、例えばインターネットなどの通信回線を介して各装置が接続しているように構成する事もできる。
以下の実施例においては、秘密情報保管装置100は、複数の利用者の個人情報を秘密情報Sとして分散符号化して外部記憶装置300に分散保管するとともに、秘密情報を復元するための鍵となる分散情報を利用者に対して画面出力するものとする。秘密情報復元装置200は、利用者が該分散情報を入力する事により外部記憶装置300に分散保管した分散情報から元の秘密情報Sすなわち個人情報を復元して画面出力するものとする。
<秘密情報保管>
以下では、分散の対象とする秘密情報Sを個人のユーザ名、生年月日・性別として、秘密情報Sを外部に出力する外部分散情報O、全ての秘密情報に対して共通な内部に記憶した固定分散情報F、および外部記憶装置300に記録する記録分散情報W1とW2の都合4つの分散情報に分散符号化するとして、本実施例における秘密情報の分散保管について説明する。
秘密情報保管装置100において、秘密情報入力部120は、秘密情報Sとして各ユーザの個人情報の入力を受け付け、符号化して記憶する。受け付けた個人情報は例えば内部メモリなどに一時的に記録するのが望ましい。本実施例ではユーザAの個人情報として、ユーザ名「hirota」、生年月日「S450817」と性別「M」が入力されたものとする。これをシフトJISコードにより符号化し、符号化情報D1として16進文字列「6869726F7461」、符号化情報D2として16進文字列「533435303831374D」を得る。図4は、本実施例におけるユーザAからユーザDの個人情報の入力および符号化の例である。
なお、本発明は秘密情報入力部120において秘密情報Sとして入力を受け付ける情報の種類や内容を特に規定するものではない。数値情報、文字列など符号化する事で分散関数による演算が可能であればどのような情報でも良く、また文書や画像データなどのマルチメディアなどを対象としても良い。また、本実施例は情報の入力の方法および形式を規定するものではない。キーボード入力やファイル入力の他に、インターネットなどの接続回線を介して他の装置から入力するようにしても構わない。
また、本実施例は各情報の符号化の方法および符号化した結果を特に規定するものではない。本実施例では単に入力情報のシフトJISコード化による16進表現を符号化の方法とし、符号化の結果を16進文字列としたが、他のコード表や独自のコード、符号化の方法を使って符号化しても良いし、符号化の結果として16進文字列に限定せず、0と1によるビット列、10進表記を使っても構わない。さらに、符号化した結果を暗号化する事で情報の安全性を高める事も考えられる。
次に、記録位置決定部130は、秘密情報Sから生成する記録分散情報W1、W2の外部記憶装置300における記録位置を乱数発生器を使って無作為に決定する。ここでは、外部記憶装置300における記録位置を示す位置情報Lが上位2バイト、下位2バイトの系4バイトからなる16進表記で表現されるものとし、記録分散情報W1の記録位置をX=0001、Y=0030と決定したものとする。記録分散情報W1の位置情報L1はL1=00010030となる。一方、記録分散情報W2の記録位置はx=0000、Y=FFFOと決定したものとし、位置情報L2はL2=0000FFFOとする。決定した位置情報L1およびL2は一時的に内部メモリなどに記憶する。
なお、本実施例は、外部記憶装置300における記録の形式や記録位置の表現方法を特に規定するものではない。本実施例では記録の形式をテーブル形式とし、記録位置情報を上位2バイト、下位2バイトの16進文字列で表現されるものとして記述したが、例えば記録の形式をリスト形式にして、記録位置情報をハッシュ関数により一意に決定されるハッシュ値としても構わないし、リレーショナルDBなどのDB形式にして、多重的なインデックスを記録位置情報としても良い。また、位置情報をファイル名とするファイル出力によって記録分散情報を記録するようにもできる。
また、本実施例は記録位置決定部130において決定する記録位置の数や決定方法を規定するものでもない。本実施例では決定する位置情報を同じ外部記憶装置上で2つとしたが、複数の異なる外部記憶装置上での記録位置を決定したり、また記録分散情報の数に合わせて記録位置の数を変更しても良い。記録位置の決定方法も本実施例のように乱数発生器を使って無作為に決定する以外に、入力された秘密情報のハッシュ値を取ったりするなどの方法が考えられる。また、複数の記録分散情報の記録位置が重複しないように、一度決定した記録位置は管理する事が望ましい。
次に、秘密情報分散部140は、秘密情報Sおよび位置情報Lと、固定分散情報Fから、特殊な分散関数を使って外部記憶装置300に記録するための記録分散情報W1、W2と外部に出力するための外部分散情報Oを作成する。
本実施例における分散関数は、部分情報をS1、S2、S3の3つとし、都合4つの分散情報を生成する事から、以下の式で表現される分散関数f(x)を用いるものとする。
f(x)=S1+S2(x−15)+S3(x−9)(x−11)+r(x−9)(x−9)(x−13)
(mod p)
本分散関数f(x)は、xに7を代入して算出したf(7)とxに12を代入して算出したf(12)とから部分情報S1が算出可能であって、それ以外の、例えばxに10を代入して算出したf(10)とf(7)あるいはf(12)からはどの部分情報も算出可能でないように、秘密情報Sを分散符号化する分散関数である。ただし、本分散関数により生成した分散情報は4つ集める事で元の秘密情報Sが完全に復元できる。このような特殊な分散関数f(x)は、先の特願2003−366538に記載の復元制御型秘密情報分散法により求める事ができ、本実施例に記載の式に制限されない。
上記の式におけるxは記録分散情報Wおよび外部分散情報Oを生成するための所定の情報番号、rはS1、S2、S3および固定分散情報Fから決定される変数文字列、pはS1、S2、S3よりも大きな固定文字列である。固定文字列pは、全てのユーザの入力に対して共通で、本実施例においては8バイトの16進文字列「FFFFFFFFFFFFFFDF」を用いる。固定文字列pは本来は素数である事が望ましいが、本実施例では簡便化のため素数ではない文字列を使用する。本実施例で使用する固定文字列p=FFFFFFFFFFFFFFDFは最小の素因数が827である合成数である。なお、固定文字列pのサイズに関しては、想定されるS1、S2およびS3のサイズよりも大きいものである必要があるため、例えば秘密情報入力部120において入力を受け付ける文字数を制限して、その制限値からサイズを算出して特定するようにしても良い。
まず、秘密情報分散部140は、内部メモリに記憶した、秘密情報Sの符号化情報D1、D2と位置情報L1、L2から、部分情報S1、S2およびS3を生成する。ここでは位置情報L1とL2を結合したものを部分情報S1、符号化情報D1を部分情報S2、符号化情報D2をS3としたものとする。すなわち、本実施例において、ユーザAの秘密情報Sに対する部分情報は、S1=000100300000FFF0、S2=6869726F7461、S3=533435303831374Dとなる。本実施例におけるユーザAからユーザDの位置情報および部分情報の例を図5に示す。
なお、本実施例は部分情報の構成数および構成方法を特に規定するものではない。本実施例では部分情報をS1、S2、S3の3つとし、位置情報L1、L2を部分情報S1、符号化情報D1、D2をそれぞれ部分情報S2、S3として構成したが、部分情報S1が秘密情報Sの一部すなわち符号化情報D1、D2の一部を含むようにしても良い。また、本実施例は、部分情報S1、S2、S3が含む情報を位置情報Lと秘密情報Sの符号化情報Dに限定するものでもない。例えは、部分情報S1は位置情報Lの他に、例えばユーザにより入力された暗証番号などの特定の文字列やユーザが秘密情報Sを入力した時刻情報などを含むようにしても良い。
次に、秘密情報分散部140は、部分情報S1、S2、S3および内部で記憶した固定分散情報Fから、変数文字列rを決定する。固定分散情報Fは、入力される全ての秘密情報Sから分散符号化される分散情報として常に固定値を取り、分散関数f(x)においてxに12を代入して算出した値であるものと規定する。本実施例においては、固定分散情報FはF=1A2B3C4D5E6F7081とする。このような固定分散情報Fは、外部に漏洩しないよう装置内において安全に記憶されている事が望ましい。
変数文字列rの決定は、固定分散情報Fを計算するための分散関数f(x)にx=12を代入した式、f(12)=S1−3S2+3S3−9r=F(modp)から逆に演算して、r=S1−3S2+3S3−F(modp)にそれぞれS1、S2、S3、Fおよびpを代入する事で算出できる。例えばユーザAの秘密情報Sに対しては、r=000100300000FFF0−3×6869726F7461+3×533435303831374D−1A2B3C4D5E6F7081(modFFFFFFFFFFFFFFDF)を計算する事で、r=18D3AF5B7050C294を得る。
次に、秘密情報分散部140は、部分情報S1、S2、S3および算出した変数文字列rを分散関数f(x)に代入して、秘密情報Sを分散符号化した記録分散情報W1、W2と外部分散情報Oを生成する。本実施例における分散関数の特性から、外部分散情報0は情報番号としてxに7を代入してO=f(7)、記録分散情報はW1=f(10)、W2=f(14)を用いるものとする。したがって、ユーザAの秘密情報Sに対しては、O=f(7)=S1−8S2+8S3−24r(modp)=45C6F5D3A67CD970、W1=f(10)=S1−5S2−3S3−3r(modp)=624FB2DE3ABO3AE1、W2=f(14)=S1−S2+15S3+25r(modp)=4CBBD587DO56CA6Dを演算処理により算出する。図6は、本実施例におけるユーザAからユーザDの変数文字列および分散情報の生成例である。
秘密情報分散部140において、以上の演算の過程および演算の結果得られる各分散情報は例えば内部メモリなどに記憶するものとする。ただし、外部分散情報O、記録分散情報W1、W2を一旦生成した後は、秘密情報S、部分情報S1、S2、S3および乱数文字列rの値を破棄する事が望ましい。
分散情報記録部150は、生成した記録分散情報W1、W2を、位置情報L1、L2が示す外部記憶装置300上の所定の記録位置に記録する。例えば、ユーザAの記録分散情報W1は位置情報L1=00010030より、外部記憶装置300上のX=0001、Y=0030の記録位置に記録される。同様にして、記録分散情報W2は位置情報L2=0001FFFOより、X=0001、Y=FFFOの記録位置に記録される。図7は、本実施例におけるユーザAからユーザDの記録分散情報の記録例である。
なお、本実施例は、分散情報記録部150における記録分散情報の記録のためのプロトコルやそのフォーマットを特に規定するものではない。例えば位置情報を外部記憶装置300上の物理的あるいは論理的な位置で指定したり、L1とL2の間の関係を相対位置として指定したりするなどして、記録分散情報の記録の効率をあげる手段が考えられる。また、外部記憶装置300がインターネットなどの通信回線を介して接続されている場合に、記録分散情報を暗号化して送信するなどの手段により安全性を高める事も考えられる。また、本実施例においては記録分散情報が記録されていない個所を空白で表現しているが、実際には記録分散情報の有無を秘匿するため、全ての欄に乱数値が埋まっている事が望ましい。
分散情報出力部160は、生成した外部分散情報Oを外部に出力する。本実施例では、ユーザAの外部分散情報として「45C6F5D3A67CD970」を画面上に出力するものとする。外部分散情報の出力をもって、分散制御部110は各部120〜160の一連の動作制御を終了する。
なお、本実施例は分散情報出力部160において出力する情報の形式および出力の方法を制限するものではない。画面出力以外に外部分散情報をユーザの所有する外部記憶媒体にファイル出力したり、またトワークを介して他の装置に出力するなどが考えられる。外部分散情報を暗号化して出力するなどさらに安全性を高める手段も可能である。
また、本実施例では秘密情報分散部140において一旦全ての分散情報として外部分散情報O記録分散情報W1、W2を生成した後に、分散情報記録部150において外部記憶装置300に記録し、分散情報出力部160において外部に出力するものとして記述しているが、秘密情報分散部140と分散情報記録部150、分散情報出力部160が連動して、分散情報を1つ生成する度に外部記憶装置300に記録あるいは外部に出力するようにしても良い。
<秘密情報復元>
以下に、本実施例において分散保管した秘密情報の復元について説明する。
秘密情報復元装置200において、分散情報入力部220は、まず、ユーザの所有する外部分散情報を入力として受け付け、内部メモリなどに記憶する。本実施例では、ユーザBの秘密情報Sについて、外部分散情報O=F074F608FBD22E43が入力されたものとする。
なお、本実施例は分散情報入力部220における入力の内容および方法を特に規定するものではない。本実施例では外部分散情報のみを入力として受け付けるように記述しているが、ユーザの認証情報としてユーザ名や暗証番号などの入力を受け付けるようにしても構わない。また入力の手段としてキーボード入力やファイル入力の他に、インターネットなどの接続回線を介して他の装置からの入力を受け付けるようにする事も可能である。
位置情報復元部230は、入力された外部分散情報Oと内部に記憶した固定分散情報Fから、外部記憶装置300に記録された記録分散情報W1、W2の位置情報を復元する。本実施例における分散関数は外部分散情報O=f(7)と固定分散情報F=f(12)から部分情報S1が復元可能であるような特殊な分散関数である。部分情報S1の復元は以下のようにして行う。
まず、本実施例における分散関数が
f(x)=S1+S2(x−15)+S3(x−9)(x−11)+r(x−9)(x−9)(x−13) (mod p)
である事から、2個の分散情報に関する連立方程式は次のような行列式で表現できる。
Figure 2005167794
したがって、2個の分散情報から部分情報S1、S2およびS3、変数文字列rを求めるための行列式を次のように表す事ができる。
Figure 2005167794
位置情報復元部230は、部分情報S1を求める場合には、上記の行列式においてx=7、y=12、Wx=O=F074F608FBD22E43、Wy=F=1A2B3C4D5E6F7081を代入して行列演算を行う事で、演算結果としてS1=FFFF0010000100010を得る。なお、外部分散情報Oと固定分散情報Fの組み合わせは部分情報S1を算出するものであって、S2、S3およびrについては演算結果を得る事はできない。位置情報復元部230は、演算結果として得られた部分情報S1から位置情報L1、L2を抽出し、内部メモリなどに記憶する。本実施例では、それぞれL1=FFFF0010、L2=00010010を得て内部メモリなどに記憶する。
なお、本実施例は、外部分散情報Oと固定分散情報Fからの部分情報S1の算出を行列演算により行っているが、他の手段により算出を行うようにしても良い。例えば、分散関数f(x)の式から、O=f(7)=S1−8S2+8S3−24r(modp)、F=f(12)=S1−3S2+3S3−9r(modp)であり、この連立方程式からS1={8×F−3×O}÷5というS1を求めるための計算式を得る事ができる。したがって、位置情報復元部230において、外部分散情報Oと固定分散情報Fから上記の式により簡便にS1を算出するように実装する事も可能である。しかしながら、分散関数f(x)を変更したり、分散情報の組み合わせを変更可能とするために、位置情報復元部230は行列演算を行うものとして実装する事が望ましい。
分散情報取得部240は、位置情報復元部230において復元された位置情報L1、L2をもとに外部記憶装置300に記録された記録分散情報W1、W2を取得する。例えば、L1=FFFF0010より、記録分散情報W1は外部記憶装置300におけるX=FFFF、Y=0018の位置にあり、これを取得してW1=B7A54AD8F985015Cを得る。同様にしてL2=00010010より、外部記憶装置300からW2=3046A7DEE3F10DC8を得る。取得した記録分散情報W1、W2は内部メモリなどに記憶する。
なお、本実施例は、分散情報取得部240における記録分散情報の取得のためのプロトコルやそのフォーマットを特に規定するものではない。例えば位置情報を外部記憶装置300上の物理的あるいは論理的な位置で指定したり、L1とL2の間の関係を相対位置として指定したりするなどして、記録分散情報の取得の効率をあげる手段が考えられる。また、外部記憶装置300がインターネットなどの通信回線を介して接続されている場合に、暗号化した記録分散情報を受信するなどの手段により安全性を高める事も考えられる。
秘密情報復元部250は、取得した記録分散情報W1、W2および外部分散情報O、固定分散情報Fから部分情報S2およびS3、すなわち元の秘密情報Sを完全に復元する。情報の復元は以下のようにして行う。
まず、本実施例における分散関数が
f(x)=S1+S2(x−15)+S3(x−9)(x−11)+r(x−9)(x−9)(x−13)
(mod p)
であり、4個の分散情報がそれぞれO=f(7)、F=f(12)、W1=f(10)、W2=f(14)により算出されている事から、x=7、y=12、Z=10、W=14として、分散情報に関する次のような連立方程式が行列式で表現できる。
Figure 2005167794
したがって、4個の分散情報から部分情報S1、S2、S3および変数文字列rを求めるための行列式を次のように表す事ができる。
Figure 2005167794
例えば、ユーザBの秘密情報Sの復元にあたっては、O=F074F608FBD22E43、F=1A2B3C4D5E6F7081、W1=B7A54AD8F985015C、W2=3046A7DEE3F1ODC8を代入して行列演算を行い、その結果としてS1=FFFF001000010010、S2=00656E646F75、S3=533439303632334Dを得る事ができる。秘密情報復元部250は、演算の過程および演算結果を内部メモリなどに記憶する。
なお、本実施例において、各分散情報からのS1、S2、S3の算出を行列演算により行っているが、他の手段により算出を行うようにしても良い。例えば、上記に示した行列式から、次のような式を得る事ができる。
S1=(−3×O+8×F)÷5(modp)
S2=(−104×O+294×F−175×W1−15×W2)÷840(modp)
S3=(4×O−7×W1+3×W2)÷84(modp)
したがって、秘密情報復元部250において、各分散情報O、F、W1、W2から上記の式により簡便にS1、S2、S3を復元できるように実装する事も可能である。しかしながら、分散関数f(x)を変更したり、分散情報の組み合わせを変更可能とするために、秘密情報復元部250は行列演算によりこれらの値を求めるように実装する事が望ましい。
秘密情報出力部260は、秘密情報復元部250において復元した秘密情報Sあるいはその部分情報部分S2ないしはS3を、復号して出力する。本実施例では、S2=00656E646F75、S3=533439303632334Dである事から、秘密情報復元部250は、ユーザ名:endou、生年月日・性別:S490623・Mを結果として画面上に出力する。秘密情報の出力をもって、復元制御部210は一連の動作を終了する。
なお、本実施例は秘密情報出力部260において出力する情報の形式および出力の方法を制限するものではない。画面出力やファイル出力以外に、ネットワークを介して他の装置に出力するなどが考えられる。
以上のように、本実施例における秘密情報保管装置100では、個人の秘密情報Sを所定の固定分散情報Fを含む4つの分散情報に分散符号化し、その内、記録分散情報W1とW2を外部記憶装置(情報保管装置)300上の無作為な記録位置に記録し、記録位置を装置内に保存する事なく、記録位置を復元するために必要な外部分散情報Oを外部に出力する。秘密情報復元装置200では、特定の個人の秘密情報Sに対し、記録位置を装置内に保存する事なく、外部分散情報Oを入力として受け付けて所定の固定分散情報Fとともに演算し、記録分散情報W1とW2の外部記憶装置(情報保管装置)300における記録位置を復元し、各分散情報を取得して秘密情報Sを復元する。
秘密情報保管装置100において生成した各分散情報は、その内2つが外部記憶装置上の無作為な記録位置に記録され、4つの分散情報を集めないと元の秘密情報Sを完全に復元する事はできない。分散情報の1つはユーザ自身が所有し、装置内に記憶された固定の分散情報と揃って初めて残りの2つの分散情報の記録位置が復元されて取得可能となるため、情報が安全に分散保管されており、例えば秘密情報保管装置から不正に情報が取得された場合でも元の秘密情報Sや部分情報S1、S2、S3は復元できず、したがって情報の漏洩に対する安全性が高いと言える。
なお、図3で示した秘密情報補間装置100や秘密情報復元装置200における各部の一部もしくは全部の処理機能をコンピュータのプログラムで構成し、そのプログラムをコンピュータを用いて実行して本発明を実現することができること、あるいは、図1や図2で示した処理手順をコンピュータのプログラムで構成し、そのプログラム(秘密情報補間プログラム、秘密情報復元プログラム)をコンピュータに実行させることができることは言うまでもない。また、コンピュータでその処理機能を実現するためのプログラム、あるいは、コンピュータにその処理手順を実行させるためのプログラムを、そのコンピュータが読み取り可能な記録媒体、例えば、FD、MO、ROM、メモリカード、CD、DVD、リムーバブルディスクなどに記録して、保存したり、提供したりすることができるとともに、インターネット等のネットワークを通してそのプログラムを配布したりすることが可能である。
本発明の秘密情報保管方法の処理フロー図である。 本発明の秘密情報復元方法の処理フロー図である。 本発明の一実施形態の全体的構成図である。 秘密情報の入力と符号化例である。 位置情報と部分情報の一例である。 分散情報の生成例である。 記録分散情報の記録例である。
符号の説明
100 秘密情報保管装置
110 分散制御部
120 分散情報入力部
130 記録位置決定部
140 秘密情報分散部
150 分散情報記録部
160 分散情報出力部
200 秘密情報復元装置
210 復元制御部
220 分散情報入力部
230 位置情報復元部
240 分散情報取得部
250 秘密情報復元部
260 秘密情報出力部
300 外部記憶装置

Claims (8)

  1. 秘密情報を分散符号化して保管する秘密情報保管方法であって、
    秘密情報の入力を受け付けるステップと、
    入力された秘密情報を分散符号化した後の分散情報の記録位置を決定するステップと、
    入力された秘密情報と記録位置に関する位置情報を組み合わせて特定の分散関数により分散符号化して、外部に出力するための外部分散情報と、全ての秘密情報に共通な固定分散情報と、実際に記録保管する記録分散情報とを生成するステップと、
    生成した記録分散情報を所定の記録位置に記録するステップと、
    生成した外部分散情報を外部に出力するステップと、
    を有することを特徴とする秘密情報保管方法。
  2. 請求項1に記載の秘密情報保管方法により分散保管した秘密情報を復元する秘密情報復元方法であって、
    外部分散情報の入力を受け付けるステップと、
    入力された外部分散情報と内部に記憶した固定分散情報から特定の復元関数により記録分散情報の記録位置に関する位置情報を復元するステップと、
    復元した位置情報に基づいて記録分散情報を取得するステップと、
    入力された外部分散情報、内部に記憶した固定分散情報、取得した記録分散情報から特定の復元関数により秘密情報を復元するステップと、
    復元した秘密情報を出力するステップと、
    を有することを特徴とする秘密情報復元方法。
  3. 秘密情報を分散符号化して保管する秘密情報保管装置であって、
    秘密情報の入力を受け付ける秘密情報入力手段と、
    入力された秘密情報を分散符号化した後の分散情報の記録位置を決定する記録位置決定手段と、
    入力された秘密情報と記録位置に関する位置情報を組み合わせて特定の分散関数により分散符号化して、外部に出力するための外部分散情報と、全ての秘密情報に共通な固定分散情報と、実際に記録保管する記録分散情報とを生成する秘密情報分散手段と、
    生成した記録分散情報を所定の記録位置に記録する分散情報記録手段と、
    生成した外部分散情報を外部に出力する分散情報出力手段と、
    を備えることを特徴とする秘密情報保管装置。
  4. 請求項3に記載の秘密情報保管装置であって、記録位置決定手段は複数の記録分散情報の記録位置を決定し、秘密情報分散手段は複数の記録分散情報を生成することを特徴とする秘密情報保管装置。
  5. 請求項3もしくは4に記載の秘密情報保管装置であって、秘密情報分散手段は複数の外部分散情報を生成することを特徴とする秘密情報保管装置。
  6. 請求項3から5のいずれか1項に記載の秘密情報保管装置により分散保管した秘密情報を復元する秘密情報復元装置であって、
    外部分散情報の入力を受け付ける分散情報入力手段と、
    入力された外部分散情報と内部に記憶した固定分散情報から特定の復元関数により記録分散情報の記録位置に関する位置情報を復元する位置情報復元手段と、
    復元した位置情報に基づいて記録分散情報を取得する分散情報取得手段と、
    入力された外部分散情報、内部に記憶した固定分散情報、取得した記録分散情報から特定の復元関数により秘密情報を復元する秘密情報復元手段と、
    復元した秘密情報を出力する秘密情報出力手段と、
    を備えることを特徴とする秘密情報復元装置。
  7. 請求項1に記載の秘密情報保管方法の処理ステップあるいは請求項3から5のいずれか1項に記載の秘密情報保管装置の処理機能をコンピュータで実行させるための秘密情報保管プログラム。
  8. 請求項2に記載の秘密情報復元方法の処理ステップあるいは請求項6に記載の秘密情報復元装置の処理機能をコンピュータで実行させるための秘密情報復元プログラム。
JP2003405849A 2003-12-04 2003-12-04 秘密情報保管処理方法及び秘密情報保管装置、並びに秘密情報復元処理方法及び秘密情報復元装置 Expired - Fee Related JP4194481B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003405849A JP4194481B2 (ja) 2003-12-04 2003-12-04 秘密情報保管処理方法及び秘密情報保管装置、並びに秘密情報復元処理方法及び秘密情報復元装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003405849A JP4194481B2 (ja) 2003-12-04 2003-12-04 秘密情報保管処理方法及び秘密情報保管装置、並びに秘密情報復元処理方法及び秘密情報復元装置

Publications (3)

Publication Number Publication Date
JP2005167794A true JP2005167794A (ja) 2005-06-23
JP2005167794A5 JP2005167794A5 (ja) 2006-05-25
JP4194481B2 JP4194481B2 (ja) 2008-12-10

Family

ID=34728403

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003405849A Expired - Fee Related JP4194481B2 (ja) 2003-12-04 2003-12-04 秘密情報保管処理方法及び秘密情報保管装置、並びに秘密情報復元処理方法及び秘密情報復元装置

Country Status (1)

Country Link
JP (1) JP4194481B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006080998A (ja) * 2004-09-10 2006-03-23 Nippon Telegr & Teleph Corp <Ntt> 複数鍵暗号化装置、複数鍵復号装置、複数鍵暗号化システム及びプログラム。
JP2010530562A (ja) * 2007-05-07 2010-09-09 アーカイヴァス インコーポレイテッド 固定コンテンツ分散型データ記憶システムにおけるデータ機密保持方法
US8214647B2 (en) 2006-06-30 2012-07-03 Nec Corporation Distributed information generator and restoring device
KR101483171B1 (ko) 2013-07-01 2015-01-16 주식회사 잉카인터넷 메모리 데이터 보호 시스템 및 방법
WO2017065209A1 (ja) * 2015-10-16 2017-04-20 国立大学法人東北大学 情報処理システム、情報処理装置、情報処理方法、及び、プログラム
JP6372813B1 (ja) * 2017-12-20 2018-08-15 株式会社イスプリ データ管理システム

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006080998A (ja) * 2004-09-10 2006-03-23 Nippon Telegr & Teleph Corp <Ntt> 複数鍵暗号化装置、複数鍵復号装置、複数鍵暗号化システム及びプログラム。
JP4587452B2 (ja) * 2004-09-10 2010-11-24 日本電信電話株式会社 複数鍵暗号化装置、複数鍵復号装置、複数鍵暗号化システム及びプログラム。
US8214647B2 (en) 2006-06-30 2012-07-03 Nec Corporation Distributed information generator and restoring device
JP2010530562A (ja) * 2007-05-07 2010-09-09 アーカイヴァス インコーポレイテッド 固定コンテンツ分散型データ記憶システムにおけるデータ機密保持方法
KR101483171B1 (ko) 2013-07-01 2015-01-16 주식회사 잉카인터넷 메모리 데이터 보호 시스템 및 방법
WO2017065209A1 (ja) * 2015-10-16 2017-04-20 国立大学法人東北大学 情報処理システム、情報処理装置、情報処理方法、及び、プログラム
US10574455B2 (en) 2015-10-16 2020-02-25 Tohoku University Information processing system, information processing apparatus, method for information processing, and non-transitory computer-readable recording medium having stored therein information processing program
JP6372813B1 (ja) * 2017-12-20 2018-08-15 株式会社イスプリ データ管理システム
WO2019123798A1 (ja) * 2017-12-20 2019-06-27 株式会社イスプリ データ管理システム
JP2019109857A (ja) * 2017-12-20 2019-07-04 株式会社イスプリ データ管理システム

Also Published As

Publication number Publication date
JP4194481B2 (ja) 2008-12-10

Similar Documents

Publication Publication Date Title
US10951392B2 (en) Fast format-preserving encryption for variable length data
US8892881B2 (en) Split key secure access system
US20130028419A1 (en) System and a method for use in a symmetric key cryptographic communications
JP4539952B2 (ja) 情報分散保管システム、その装置、プログラム及び記録媒体
JP2004523183A (ja) データ、情報および機能変換のカモフラージュのための方法および装置
CN107078906A (zh) 公钥加密系统
CN111314069A (zh) 基于区块链的摇号系统、方法、电子设备及存储介质
US20210279341A1 (en) Cryptographic security system, method, and program product using data partitioning
WO2022137668A1 (ja) データファイル暗号化送受信システム及びデータファイル暗号化送受信方法
JP2005141436A5 (ja)
JP4194481B2 (ja) 秘密情報保管処理方法及び秘密情報保管装置、並びに秘密情報復元処理方法及び秘密情報復元装置
JP4623623B2 (ja) 復元制御型秘密情報分散装置
US10853502B1 (en) Systems and methods for reducing computational difficulty of cryptographic operations
JP2005167794A5 (ja)
Saracevic et al. Implementation of encryption and data hiding in E-health application
JP2005130404A5 (ja)
Sujan Securing Distributed Data Mechanism Based On Blockchain Technology
JP4789536B2 (ja) データ分割装置、データ分割方法およびコンピュータプログラム
JP2010186075A (ja) 整数の暗号化及び復号化方法
JP2005346005A (ja) データ秘匿装置、データ秘匿方法、及びデータ秘匿プログラム
JP6296589B2 (ja) 暗号処理システム
US11664976B2 (en) Method and devices for creating redundancy and encryption using Mojette Transform
JP2006004301A (ja) データを管理する方法および情報処理装置
JP2013235535A (ja) データ管理システムおよびデータ管理用プログラム
Sruthi et al. Secure data transmission using MS-extended 8-bit ASCII character set

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060330

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060330

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080604

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080618

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080807

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

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

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

Free format text: PAYMENT UNTIL: 20111003

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121003

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20131003

Year of fee payment: 5

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees