JP5620792B2 - 分散アーカイブシステム並びにデータアーカイブ装置及びデータ復元装置 - Google Patents
分散アーカイブシステム並びにデータアーカイブ装置及びデータ復元装置 Download PDFInfo
- Publication number
- JP5620792B2 JP5620792B2 JP2010249917A JP2010249917A JP5620792B2 JP 5620792 B2 JP5620792 B2 JP 5620792B2 JP 2010249917 A JP2010249917 A JP 2010249917A JP 2010249917 A JP2010249917 A JP 2010249917A JP 5620792 B2 JP5620792 B2 JP 5620792B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- archive
- random number
- storage media
- fragment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
- G06F16/134—Distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/77—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in smart cards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/10—Indexing scheme relating to G06F11/10
- G06F2211/1002—Indexing scheme relating to G06F11/1076
- G06F2211/1028—Distributed, i.e. distributed RAID systems with parity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2153—Using hardware token as a secondary aspect
Description
1−1/nC(k−1)
と与えられ、従って、データ全体に対して平均で1/nC(k−1)のデータは欠損することとなり、n:k閾機密性が保証される。
m≒N・(n−k+1)/n
aを元のデータ中でのデータ断片の先頭からの順番、jを前記記憶媒体に保持されるアーカイブデータ中でのデータ断片の先頭からの順番とし、
Succ(a,j;N,m)
でアーカイブデータ中でj番目のデータ断片が、元のデータ中でa番目のデータ断片のコピーである確率を表す。この確率は、以下の式で評価される。
Succ(a,j;N,m)
=(a−1)C(j−1)・(N−a)C(m−j)/NCm
与えられたaに対して、j=[am/(N+1)]の時、Succ(a,j;N,m)は最大値をとる。但し、[x]はxの小数点以下を切り捨てた整数とする。従って、
Succ(a,[am/(N+1)];N,m)
が、アーカイブデータ中で先頭からj番目のデータ断片の元のデータでの位置がaであると推測した時の成功確率の最大値となる。
Succ(a,[am/(N+1)];N,m)≒
(1/π1/2)・(m/N)・[(N−1)/(a−1)(N−a)]1/4
を得る。図1は、この近似式をグラフに図示したものである。aが1或いはNに近い時、つまり、データ断片が元のデータ中において先頭或いは末尾に近い時、攻撃者がj=[am/(N+1)]と推測した時の成功確率は1に近いが、データ断片が先頭或いは末尾から離れると、成功確率は急速に低下することが分かる。則ち、データの先頭及び末尾に近いごく少数のデータ断片に関しては、攻撃者が高い確率でアーカイブデータ中での位置を推定することが可能であるが、その他の大多数のデータ断片では低い確率でしか推定を行えないことを意味している。図2はN=100、m=75の場合にシミュレーションを行った結果のグラフであり、図3はN=1000、m=750の場合にシミュレーションを行った結果のグラフである。どちらのグラフも、理論的に導いた近似式が適切であることを示している。加えて重要な点は、N=1000と極めて小さな数に分割した場合でも、推定の成功確率は5%程度に抑えられている事実である。例えば、1メガバイトのファイルを長さ1バイトのデータ断片に分割してアーカイブする場合、N=1000000となり、推定の成功確率は極めて小さいものとなる。
本発明の第1の実施例は、本発明の原理的な構成を実装したものである。ここでは、第1の実施例の構成および動作を説明するのに先立って、原理的な説明を行う。
[ステップS02]:シード用乱数発生器443(乱数発生プログラム)を呼び出し、鍵用乱数発生器445(乱数発生プログラム)のためのシードcrr_seedを生成する。
[ステップS03]:シードcrr_seedを、データファイルの識別子crr_fidと紐づけて、スマートカード内の管理テーブル記憶部446に書き込む。
[ステップS04]:シードcrr_seedを入力として鍵用乱数発生器445を起動する。
[ステップS05]:鍵用乱数発生器445をスタンバイ状態にしてホスト装置10からのシグナルを待ち受ける。
[ステップS06]:ホスト装置10側からシグナルを受け取る。シグナルが処理終了を指示している場合は、鍵用乱数発生器445を終了して、処理を終了する。シグナルが鍵識別子要求である場合には、鍵用乱数発生器445を呼び出し、乱数を生成させる。乱数は、n:k分割鍵の識別子として用いられるため、1からnC(n−k+1)までの自然数をランダムにとるように生成される。
[ステップS07]:鍵用乱数発生器445が生成した乱数を、n:k分割鍵の識別子としてホスト装置10に出力する。
[ステップS08]:ステップS05に戻り、ホスト装置10からのシグナルを待ち受ける。
[ステップS12]:鍵識別子要求のシグナルをスマートカードに送付する。
[ステップS13]:n:k分割鍵の識別子をスマートカードから受け取り、テーブル参照等の手段を用いて、識別子からデータ断片を記録する先の記憶媒体を特定する。図中では、識別子ipを受け取って、dst_file2及びdst_file3を記録先の記憶媒体として特定している。
[ステップS14]:アーカイブ元のデータファイル(src_file)のポインタが指している位置から、所定の長さのデータ断片(fgmntp)を取り出し、ポインタを次に取り出すデータ断片の先頭に進める。
[ステップS15]:取り出したデータ断片のコピーを、特定した記憶媒体(図11ではdst_file2及びdst_file3)の末尾に追記する。
[ステップS16]:ポインターがデータファイルの末尾を指示している場合にはスマートカードに処理終了のシグナルを送り、まだアーカイブするべきデータが残っている場合にはステップS12に戻り、鍵識別子要求のシグナルをスマートカードに送付する。
図12は、スマートカードにおける復元処理例の手順を示す。
[ステップS22]:管理テーブル記憶部446中のテーブルを参照し、識別子crr_fidと紐づけられたシードcrr_seedを取得する。
[ステップS23]:シードcrr_seedを入力として鍵用乱数発生器445を起動する。
[ステップS24]:鍵用乱数発生器445をスタンバイ状態にしてホスト装置10からのシグナルを待ち受ける。
[ステップS25]:ホスト装置10側からシグナルを受け取る。シグナルが処理終了を指示している場合は、鍵用乱数発生器445を終了して、処理を終了する。シグナルが鍵識別子要求である場合には、鍵用乱数発生器445を呼び出し、乱数を生成させる。乱数は、n:k分割鍵の識別子として用いられるため、1からnC(n−k+1)までの自然数をランダムにとるように生成される。
[ステップS26]:鍵用乱数発生器445が生成した乱数を、n:k分割鍵の識別子としてホスト装置10に出力する。
[ステップS27]:ステップS22に戻り、ホスト装置10からのシグナルを待ち受ける。
[ステップS32]:鍵識別子要求のシグナルをスマートカードに送付する。
[ステップS33]:n:k分割鍵の識別子をスマートカードから受け取り、テーブル参照等の手段を用いて、識別子からデータ断片を取得する先の記憶媒体を特定する。図中では、識別子ipを受け取って、dst_file2及びdst_file3を記録先の記憶媒体として特定している。
[ステップS34]:特定された全ての記憶媒体(図9ではdst_file2及びdst_file3)から先頭のデータ断片を取り去る。データ断片を取り去った後の各記憶手段の先頭位置はそれぞれチェックポイントとして管理できる。
[ステップS35]:復元するデータファイル(src_file)の末尾に、ステップS34で取り出したデータ断片を追記する。
[ステップS36]:(すべての記憶媒体にデータが残っていない場合にはスマートカードに処理終了のシグナルを送り、まだ復元するべきデータが残っている場合にはステップS32に戻り、鍵識別子要求のシグナルをスマートカードに送付する。
以上で第1の実施例の説明を終了する。
つぎに本発明の第2の実施例のアーカイブシステムについて説明する。第2の実施例では、データ断片の長さを都度ランダムに定めることにより、安全性を向上させる方法を示す。
[ステップS42]:シード用乱数発生器443を呼び出し、鍵用乱数発生器445のためのシードcrr_seedを生成する。
[ステップS43]:シードcrr_seedを、データファイルの識別子crr_fidと紐づけて、スマートカード内の管理テーブル記憶部446のテーブルに書き込む。
[ステップS44]:シードcrr_seedを入力として鍵用乱数発生器445を起動する。
[ステップS45]:鍵用乱数発生器445をスタンバイ状態にしてホスト装置10からのシグナルを待ち受ける。
[ステップS46]:ホスト装置10側からシグナルを受け取る。シグナルが処理終了を指示している場合は、鍵用乱数発生器445を終了して、処理を終了する。シグナルが鍵識別子要求である場合には、鍵用乱数発生器445を呼び出し、乱数を生成させる。乱数は、n:k分割鍵の識別子ipとデータ断片の長さ(ビット長)bpを表すため、ランダムに生成された1からnC(n−k+1)までの自然数と長さを表す自然数のペアである。2つの疑似乱数発生手段を用いてip、bpを個別に生成しても良い。
[ステップS47]:鍵用乱数発生器445が生成した乱数を、n:k分割鍵の識別子とデータ断片の長さとしてホスト装置10に出力する。
[ステップS48]:ステップS45に戻り、ホスト装置10からのシグナルを待ち受ける。
[ステップS52]:鍵識別子要求のシグナルをスマートカードに送付する。
[ステップS53]:n:k分割鍵の識別子とデータ断片の長さをスマートカードから受け取り、テーブル参照等の手段を用いて、識別子からデータ断片を記録する先の記憶媒体を特定する。図中では、識別子ipとデータ断片の長さbpとを受け取って、ipからdst_file2及びdst_file3を記録先の記憶媒体として特定している。
[ステップS54]:アーカイブ元のデータファイル(src_file)のポインターが指している位置から、指定されたbpと等しい長さのデータ断片(fgmntp)を取り出し、ポインター位置を次に取り出すデータ断片の先頭に進める。
[ステップS55]:取り出したデータ断片のコピーを、特定した記憶媒体dst_file2及びdst_file3の末尾に追記する。
[ステップS56]:ポインターがデータファイルの末尾を指示している場合にはスマートカードに処理終了のシグナルを送り、まだアーカイブするべきデータが残っている場合にはステップS52に戻り、鍵識別子要求のシグナルをスマートカードに送付する。
以上で第2の実施例の説明を終了する。
つぎに本発明の第3の実施例について説明する。第3の実施例では、ランダムなタイミングでダミーデータをアーカイブすることにより、安全性をより高める方法を示す。
[ステップS62]:シード用乱数発生器443を呼び出し、鍵用乱数発生器445のためのシードcrr_seedを生成する。
[ステップS63]:シードcrr_seedを、データファイルの識別子crr_fidと紐づけて、スマートカード内の管理テーブル記憶部446のテーブルに書き込む。
[ステップS64]:シードcrr_seedを入力として鍵用乱数発生器445を起動する。
[ステップS65]:鍵用乱数発生器445をスタンバイ状態にしてホスト装置10からのシグナルを待ち受ける。
[ステップS66]:ホスト装置10側からシグナルを受け取る。シグナルが処理終了を指示している場合は、鍵用乱数発生器445を終了して、処理を終了する。シグナルが鍵識別子要求である場合には、鍵用乱数発生器445を呼び出し、乱数を生成させる。乱数は、n:k分割鍵の識別子ipとダミーデータの挿入を指定する論理値rpとのペアである。
[ステップS67]:鍵用乱数発生器445が生成した乱数を、n:k分割鍵の識別子とデータ断片の長さとしてホスト装置10に出力する。
[ステップS68]:ステップS65に戻り、ホスト装置10からのシグナルを待ち受ける。
[ステップS72]:鍵識別子要求のシグナルをスマートカードに送付する。
[ステップS73]:n:k分割鍵の識別子とダミーデータの挿入を指定する論理値をスマートカードから受け取り、テーブル参照等の手段を用いて、識別子からデータ断片を記録する先の記憶媒体を特定する。図中では、識別子ipと論理値rpとを受け取って、ipからdst_file2及びdst_file3を記録先の記憶媒体として特定している。
[ステップS74]:rpの値が真の場合には、ダミーデータをランダムに生成する。
[ステップS75]:rpの値が偽の場合には、アーカイブ元のデータファイル(src_file)のポインタが指している位置から、所定の長さのデータ断片(fgmntp)を取り出し、ポインタを次に取り出すデータ断片の先頭に進める。
[ステップS76]:rpの値に応じて、生成したダミーデータ、或いは、取り出したデータ断片のコピーを、特定した記憶媒体(図17ではdst_file2及びdst_file3)の末尾に追記する。
[ステップS77]:ポインタがデータファイルの末尾を指示している場合にはスマートカードに処理終了のシグナルを送り、まだアーカイブするべきデータが残っている場合にはステップS72に戻り、鍵識別子要求のシグナルをスマートカードに送付する。
以上で本発明の実施例の説明を終了する。
以下、ここで説明した技術的特徴を列挙しておく。
[技術的特徴1]
データを複数のn個(nは2以上の整数)の記憶媒体に分散して記憶する分散アーカイブシステムにおいて、
前記n個の記憶媒体と、
初期状態ではデータ先頭を指し、処理の進行につれてデータ末尾に向かって一方向に動くポインタ手段と、
前記ポインタ手段が指定するポインタ位置から所定の長さのデータ断片を取り出し、当該データ断片を記憶すべき(n−k+1)個(kはn以下の正の整数)の記憶媒体を前記n個の記憶媒体のうちから独立かつランダムに選び、当該(n−k+1)個の記憶媒体に当該データ断片を重複して記録する重複分散化手段とを有し、
前記重複分散化手段が当該データ断片を当該(n−k+1)個の記憶媒体に重複して記憶させるたびに、前記ポインタ位置を前記データ断片の長さだけ進め、前記重複分散化手段が前記データに含まれるすべてのデータ断片について処理を終了するまで前記重複分散化手段の記憶処理を繰り返すことを特徴とする分散アーカイブシステム。
[技術的特徴2]
前記ポインタ位置の各々において、取り出すデータ断片の長さを独立かつランダムに決定することを特徴とする、技術的特徴1に記載の分散アーカイブシステム。
[技術的特徴3]
前記ポインタ位置の各々において、前記データ断片を(n−k+1)個の記憶媒体に記録して当該ポインタ位置を進めるか、または、前記データ断片の代わりにランダムに生成した無意味なダミーデータを任意個数の記憶媒体に記録し当該ポインタ位置を変更せずに維持するかの選択を、独立かつランダムに決定することを特徴とする、技術的特徴1に記載の分散アーカイブシステム。
[技術的特徴4]
前記ポインタ位置の各々において、前記データ断片を(n−k+1)個の記憶媒体に記録して当該ポインタ位置を進めるか、または、前記データ断片の代わりにランダムに生成した無意味なダミーデータを任意個数の記憶媒体に記録し当該ポインタ位置を変更せずに維持するかの選択を、独立かつランダムに決定することを特徴とする、技術的特徴2に記載の分散アーカイブシステム。
[技術的特徴5]
乱数を生成する第一の乱数発生手段を有し、前記ポインタ位置の各々において、前記第一の乱数発生手段により独立な乱数を生成し、当該乱数に基づいて、アーカイブ先記憶媒体を決定することを特徴とする技術的特徴1に記載の分散アーカイブシステム。
[技術的特徴6]
乱数を生成する第一の乱数発生手段を有し、前記ポインタ位置の各々において、前記第一の乱数発生手段により独立な乱数を生成し、当該乱数に基づいて、アーカイブ先記憶媒体を決定し、かつ、当該乱数に基づいて、データ断片の長さ、または、ダミーデータ挿入の有無、または、データ断片の長さおよびダミーデータ挿入の有無の双方を決定することを特徴とする技術的特徴4に記載の分散アーカイブシステム。
[技術的特徴7]
前記第一の乱数発生手段により生成した一連の乱数を記録する鍵記録手段を有し、当該鍵記録手段に記録された一連の乱数に基づいて、データ断片を取得するべき記憶媒体を決定し、かつ、当該一連の乱数に基づいて、データ断片の長さ、または、ダミーデータの有無、または、データ断片の長さおよびダミーデータ挿入の有無の双方を決定し、元のデータを復元することを特徴とする、技術的特徴6に記載の分散アーカイブシステム。
[技術的特徴8]
乱数を生成する第二の乱数発生手段を保持し、前記第一の乱数発生手段がシードを入力として任意の個数の乱数を生成する疑似乱数発生アルゴリズムを実現したものであり、アーカイブ開始時において前記第二の乱数発生手段により生成した乱数をシードとして前記第一の乱数発生手段に入力し、以降、前記第一の乱数発生手段が生成した乱数に基づいてアーカイブ先記憶媒体を決定することを特徴とする、技術的特徴5または技術的特徴6に記載の分散アーカイブシステム。
[技術的特徴9]
前記第二の乱数発生手段により生成したシードを記録する鍵記録手段を保持し、当該鍵記録手段に記録されたシードを前記第一の乱数発生手段に入力し、前記第一の乱数発生手段が生成する一連の乱数から、データ断片を取得するべき記憶媒体を判断し、元のデータを復元することを特徴とする、技術的特徴8に記載の分散アーカイブシステム。
[技術的特徴10]
前記n個の記憶媒体の一部或いはすべてが、通信ネットワークを介してアクセスできるサーバであることを特徴とする、技術的特徴1乃至技術的特徴9に記載の分散アーカイブシステム。
[技術的特徴11]
鍵記録手段をデータの所有者たるユーザが携行可能なデバイス中に設けることで、ユーザは任意のホスト計算機を用いてデータのアーカイブ及び復号処理を行うことが可能であることを特徴とする、技術的特徴7または技術的特徴9に記載の分散アーカイブシステム。
[技術的特徴12]
前記ユーザが携行可能なデバイスがICカード、携帯電話、またはパーソナルデジタルアシスタントであることを特徴とする、技術的特徴11に記載の分散アーカイブシステム。
[技術的特徴13]
前記ユーザが携行可能なデバイスがマイクロコンピュータを保持し、当該マイクロコンピュータによってデバイス中のデータへのアクセス制御を行うと共に、データのアーカイブ及び復元処理の一部或いは全部を実行することを特徴とする、技術的特徴11に記載の分散アーカイブシステム。
[技術的特徴14]
前記ユーザが携行可能なデバイスが、第一の乱数発生手段及び第二の乱数発生手段のいずれか、或いは、両方を保持することを特徴とする、技術的特徴13に記載の分散アーカイブシステム。
[技術的特徴15]
前記ユーザが携行可能なデバイスが保持するマイクロコンピュータ、及び、乱数発生手段が、耐タンパー特性を有するICチップ中に実装されることを特徴とする、技術的特徴14に記載の分散アーカイブシステム。
[技術的特徴16]
アーカイブ対象のデータの先頭及び末尾に適切な長さのダミーデータを付与することを特徴とする、技術的特徴1乃至技術的特徴15に記載の分散アーカイブシステム。
[技術的特徴17]
アーカイブ対象データをn個(nは2以上の整数)のアーカイブ先記憶手段にアーカイブさせるデータアーカイブ装置において、
前記アーカイブ対象データから予め定められた手順で複数のデータ断片を切り出し、かつ、少なくとも切り出した複数のデータ断片が前記アーカイブ対象データのすべてを含むようになす切り出し手段と、
前記切り出し手段で切り出された前記複数のデータ断片の各々を前記n個のアーカイブ先記憶手段のうちの(n−k+1)個(kはn以下の正の整数)のアーカイブ先記憶手段に独立してランダムに関係付ける関係付け手段とを有し、
前記切り出し手段で切り出されたデータ断片の各々を、前記関係付け手段でそれぞれ関係付けられたn−k+1個のアーカイブ先記憶手段に重複してアーカイブさせることを特徴とするデータアーカイブ装置。
[技術的特徴18]
アーカイブ対象データをn個(nは2以上の整数)のアーカイブ先記憶手段にアーカイブさせるためのデータアーカイブ用コンピュータプログラムにおいて、
コンピュータを、
前記アーカイブ対象データから予め定められた手順で複数のデータ断片を切り出し、かつ、少なくとも切り出した複数のデータ断片が前記アーカイブ対象データのすべてを含むようになす切り出し手段、および、
前記切り出し手段で切り出された前記複数のデータ断片の各々を前記n個のアーカイブ先記憶手段のうちの(n−k+1)個(kはn以下の正の整数)のアーカイブ先記憶手段に独立してランダムに関係付ける関係付け手段
として機能させ、
前記切り出し手段で切り出されたデータ断片の各々を、前記関係付け手段でそれぞれ関係付けられたn−k+1個のアーカイブ先記憶手段に重複してアーカイブさせることを特徴とするデータアーカイブ用コンピュータプログラム。
[技術的特徴19]
技術的特徴17記載のアーカイブ装置によりn個(nは2以上の整数)のアーカイブ先記憶手段にアーカイブさせているデータを復元する復元装置において、
前記関連付け手段が前記データのデータ断片の各々を(n−k+1)個のアーカイブ先記憶手段に独立してランダムに関連付けるのに用いた関連付け情報をそれぞれ取得する関連付け情報取得手段と、
前記データ断片の各々について、当該データ断片に前記関連付け情報により関連付けられたn−k+1個のアーカイブ先記憶手段のいずれかから当該データ断片を取り出すデータ断片取得手段と、
取り出した前記データ断片を、前記データ断片を切り出すための前記予め定められた手順に対応する連結手順で連結する連結手段とを有することを特徴とするデータ復元装置。
[技術的特徴20]
技術的特徴17記載のアーカイブ装置によりn個(nは2以上の整数)のアーカイブ先記憶手段にアーカイブさせているデータを復元するために用いられるデータ復元用コンピュータプログラムにおいて、
コンピュータを、
前記関連付け手段が前記データのデータ断片の各々を(n−k+1)個のアーカイブ先記憶手段に独立してランダムに関連付けるのに用いた関連付け情報をそれぞれ取得する関連付け情報取得手段、
前記データ断片の各々について、当該データ断片に前記関連付け情報により関連付けられた(n−k+1)個のアーカイブ先記憶手段のいずれかから当該データ断片を取り出すデータ断片取得手段、および、
取り出した前記データ断片を、前記データ断片を切り出すための前記予め定められた手順に対応する連結手順で連結する連結手段
として機能させるためのデータ復元用コンピュータプログラム。
[技術的特徴21]
アーカイブ対象データをn個(nは2以上の整数)のアーカイブ先記憶手段を具備し、アーカイブ対象データを前記n個(nは2以上の整数)のアーカイブ先記憶手段にアーカイブさせるデータアーカイブ方法において、
切り出し手段が、前記アーカイブ対象データから予め定められた手順で複数のデータ断片を切り出し、かつ、少なくとも切り出した複数のデータ断片が前記アーカイブ対象データのすべてを含むようになすステップと、
関係付け手段が、前記切り出し手段で切り出された前記複数のデータ断片の各々を前記n個のアーカイブ先記憶手段のうちの(n−k+1)個(kはn以下の正の整数)のアーカイブ先記憶手段に独立してランダムに関係付けるステップとを有し、
前記切り出し手段で切り出されたデータ断片の各々を、前記関係付け手段でそれぞれ関係付けられたn−k+1個のアーカイブ先記憶手段に重複してアーカイブさせることを特徴とするデータアーカイブ方法。
10a ソース/復元ファイル記憶部
10b コンピュータプログラム
201〜20n 記憶媒体
30 通信ネットワーク
40 アーカイブコントローラ
41 ポインタ
42 重複分散化部
43 データ断片抽出部
44 関連付け部
45 データ断片記憶制御部
46 データ復元部
100 アーカイブシステム
441 乱数発生器
442 鍵記憶部
443 シード用乱数発生器
444 シードレジスタ
445 鍵用乱数発生器
446 管理テーブル記憶部
Claims (5)
- アーカイブ対象データを複数のn個(nは2以上の整数)の記憶媒体に分散して記憶する分散アーカイブシステムにおいて、
前記n個の記憶媒体と、
初期状態では前記アーカイブ対象データのデータ先頭を指し、処理の進行につれてデータ末尾に向かって一方向に動くポインタ手段と、
前記ポインタ手段が指定するポインタ位置の各々において乱数を生成する第一の乱数発生手段と、
前記ポインタ手段が指定するポインタ位置からデータ断片を取り出し、当該データ断片を記憶すべき(n−k+1)個(kはn以下の正の整数)の記憶媒体を前記n個の記憶媒体のうちから、前記第一の乱数発生手段が生成する乱数から一意に決定し、当該(n−k+1)個の記憶媒体の各々において1つの宛先ファイルに当該データ断片を、追記記録して、記録順序に従って読み出し可能な態様で、重複して記録する重複分散化手段とを有し、
前記重複分散化手段が当該データ断片を当該(n−k+1)個の記憶媒体の各々において当該1つの宛先ファイルに重複して記録させるたびに、前記ポインタ位置を前記データ断片の長さだけ進め、前記重複分散化手段が前記データに含まれるすべてのデータ断片について処理を終了するまで前記重複分散化手段の記録処理を繰り返し、
前記第一の乱数発生手段はシードを入力として疑似乱数発生アルゴリズムに基づいて任意の個数の乱数を発生するものであり、
アーカイブ対象データの復元時には、前記ポインタ手段が指定するポインタ位置の各々において前記第一の乱数発生手段が生成した乱数と同一の乱数に従って重複記録先の(n−k+1)個の記憶媒体を決定し当該記憶媒体のいずれかの前記1つの宛先ファイルから記録順序に従ってデータ断片を読み出して順次に連結してアーカイブ対象データを復元できるようにしたことを特徴とする分散アーカイブシステム。 - アーカイブ対象データをn個(nは2以上の整数)のアーカイブ先記憶手段にアーカイブさせるデータアーカイブ装置において、
前記アーカイブ対象データから予め定められた手順で複数のデータ断片を順次に切り出し、かつ、少なくとも切り出した複数のデータ断片が前記アーカイブ対象データのすべてを含むようになす切り出し手段と、
前記切り出し手段で順次に切り出された前記複数のデータ断片の各々に対して乱数発生手段がそれぞれ生成する乱数に基づいて、当該複数のデータ断片の各々を前記n個のアーカイブ先記憶手段のうちの(n−k+1)個(kはn以下の正の整数)のアーカイブ先記憶手段に1対(n−k+1)の対応関係で一意に関係付ける関係付け手段とを有し、
前記切り出し手段で順次に切り出されたデータ断片の各々を、前記関係付け手段で1対(n−k+1)の対応関係で関係付けられた(n−k+1)個のアーカイブ先記憶手段の各々において、1つの宛先ファイルに追記記録して、記録順序に従って読み出し可能な態様で、重複してアーカイブさせ、
前記乱数発生手段はシードを入力として疑似乱数発生アルゴリズムに基づいて任意の個数の乱数を発生するものであり、
アーカイブ対象データの復元時には、前記データ断片ごとに前記乱数発生手段が生成した乱数と同一の乱数に従って重複記録先の(n−k+1)個の記憶媒体を決定し当該記憶媒体のいずれかの前記1つの宛先ファイルから記録順序に従ってデータ断片を読み出して順次に連結してアーカイブ対象データを復元できるようにしたことを特徴とするデータアーカイブ装置。 - アーカイブ対象データをn個(nは2以上の整数)のアーカイブ先記憶手段にアーカイブさせるためのデータアーカイブ用コンピュータプログラムにおいて、
コンピュータを、
前記アーカイブ対象データから予め定められた手順で複数のデータ断片を順次に切り出し、かつ、少なくとも切り出した複数のデータ断片が前記アーカイブ対象データのすべてを含むようになす切り出し手段、および、
前記切り出し手段で順次に切り出された前記複数のデータ断片の各々に対して乱数発生手段がそれぞれ生成する乱数に基づいて、当該複数のデータ断片の各々を前記n個のアーカイブ先記憶手段のうちの(n−k+1)個(kはn以下の正の整数)のアーカイブ先記憶手段に1対(n−k+1)の対応関係で一意に関係付ける関係付け手段
として機能させ、
前記切り出し手段で順次に切り出されたデータ断片の各々を、前記関係付け手段で1対(n−k+1)の対応関係で関係付けられた(n−k+1)個のアーカイブ先記憶手段の各々において、1つの宛先ファイルに追記記録して、記録順序に従って読み出し可能な態様で、重複してアーカイブさせ、
前記乱数発生手段はシードを入力として疑似乱数発生アルゴリズムに基づいて任意の個数の乱数を発生するものであり、
アーカイブ対象データの復元時には、前記データ断片ごとに前記乱数発生手段が生成した乱数と同一の乱数に従って重複記録先の(n−k+1)個の記憶媒体を決定し当該記憶媒体のいずれかの前記1つの宛先ファイルから記録順序に従ってデータ断片を読み出して順次に連結してアーカイブ対象データを復元できるようにしたことを特徴とするデータアーカイブ用コンピュータプログラム。 - 請求項2記載のデータアーカイブ装置によりn個(nは2以上の整数)のアーカイブ先記憶手段にアーカイブさせているデータを復元する復元装置において、
前記関係付け手段が前記データのデータ断片の各々を(n−k+1)個のアーカイブ先記憶手段に関係付けるのに用いた関係付け情報をそれぞれ取得する関係付け情報取得手段と、
前記データ断片の各々について、当該データ断片に前記関係付け情報により関係付けられた(n−k+1)個のアーカイブ先記憶手段のいずれかの前記1つの宛先ファイルから当該データ断片を取り出すデータ断片取得手段と、
取り出した前記データ断片を、前記データ断片を切り出すための前記予め定められた手順に対応する連結手順で連結する連結手段とを有し、
前記関係付け情報取得手段が取得する前記関係付け情報は、請求項2記載のデータアーカイブ装置の前記乱数発生手段に入力される前記シードであり、前記関係付け情報として取得した前記シードを入力として前記乱数発生手段の前記疑似乱数発生アルゴリズムに基づいて乱数を発生させ、当該乱数に基づいて前記データ断片の各々を前記(n−k+1)個のアーカイブ先記憶手段に関係付けることを特徴とするデータ復元装置。 - アーカイブ対象データをn個(nは2以上の整数)のアーカイブ先記憶手段を具備し、アーカイブ対象データを前記n個(nは2以上の整数)のアーカイブ先記憶手段にアーカイブさせるデータアーカイブ方法において、
切り出し手段が、前記アーカイブ対象データから予め定められた手順で複数のデータ断片を順次に切り出し、かつ、少なくとも切り出した複数のデータ断片が前記アーカイブ対象データのすべてを含むようになすステップと、
関係付け手段が、前記切り出し手段で順次に切り出された前記複数のデータ断片の各々に対して乱数発生手段がそれぞれ生成する乱数に基づいて、当該複数のデータ断片の各々を前記n個のアーカイブ先記憶手段のうちの(n−k+1)個(kはn以下の正の整数)のアーカイブ先記憶手段に1対(n−k+1)の対応関係で一意に関係付けるステップとを有し、
前記切り出し手段で順次に切り出されたデータ断片の各々を、前記関係付け手段で1対(n−k+1)の対応関係で関係付けられた(n−k+1)個のアーカイブ先記憶手段の各々において、1つの宛先ファイルに追記記録して、記録順序に従って読み出し可能な態様で、重複してアーカイブさせ、
前記乱数発生手段はシードを入力として疑似乱数発生アルゴリズムに基づいて任意の個数の乱数を発生するものであり、
アーカイブ対象データの復元時には、前記データ断片ごとに前記乱数発生手段が生成した乱数と同一の乱数に従って重複記録先の(n−k+1)個の記憶媒体を決定し当該記憶媒体のいずれかの前記1つの宛先ファイルから記録順序に従ってデータ断片を読み出して順次に連結してアーカイブ対象データを復元できるようにしたことを特徴とするデータアーカイブ方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010249917A JP5620792B2 (ja) | 2010-11-08 | 2010-11-08 | 分散アーカイブシステム並びにデータアーカイブ装置及びデータ復元装置 |
US13/882,033 US9881030B2 (en) | 2010-11-08 | 2011-11-07 | Distributed archive system, data archive device, and data restoring device with improved restoration and security |
PCT/JP2011/075534 WO2012063755A1 (ja) | 2010-11-08 | 2011-11-07 | 分散アーカイブシステム並びにデータアーカイブ装置及びデータ復元装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010249917A JP5620792B2 (ja) | 2010-11-08 | 2010-11-08 | 分散アーカイブシステム並びにデータアーカイブ装置及びデータ復元装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014131566A Division JP5756959B2 (ja) | 2014-06-26 | 2014-06-26 | 分散アーカイブシステムおよびデータアーカイブ装置 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2012103795A JP2012103795A (ja) | 2012-05-31 |
JP2012103795A5 JP2012103795A5 (ja) | 2013-03-14 |
JP5620792B2 true JP5620792B2 (ja) | 2014-11-05 |
Family
ID=46050901
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010249917A Active JP5620792B2 (ja) | 2010-11-08 | 2010-11-08 | 分散アーカイブシステム並びにデータアーカイブ装置及びデータ復元装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9881030B2 (ja) |
JP (1) | JP5620792B2 (ja) |
WO (1) | WO2012063755A1 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8990397B2 (en) * | 2009-07-31 | 2015-03-24 | Ntt Docomo, Inc. | Resource allocation protocol for a virtualized infrastructure with reliability guarantees |
EP3215927A4 (en) * | 2014-11-03 | 2018-07-04 | Secured2 Corporation | Secured data storage on a hard drive |
GB2532039B (en) | 2014-11-06 | 2016-09-21 | Ibm | Secure database backup and recovery |
AT518910B1 (de) * | 2016-08-04 | 2018-10-15 | Ait Austrian Inst Tech Gmbh | Verfahren zur Prüfung der Verfügbarkeit und Integrität eines verteilt gespeicherten Datenobjekts |
WO2018201165A1 (en) | 2017-04-27 | 2018-11-01 | Thomson Reuters Global Resources Unlimited Company | Systems and methods for identity atomization and usage |
EP3616107A4 (en) * | 2017-04-27 | 2020-12-09 | Financial & Risk Organisation Limited | SYSTEMS AND PROCEDURES FOR DISTRIBUTED DATA MAPPING |
JP6534478B1 (ja) * | 2018-08-16 | 2019-06-26 | 行徳紙工株式会社 | ファイルの秘匿分散システム及び秘匿分散方法 |
US10942909B2 (en) * | 2018-09-25 | 2021-03-09 | Salesforce.Com, Inc. | Efficient production and consumption for data changes in a database under high concurrency |
CN110968265B (zh) * | 2019-11-05 | 2023-08-08 | 北京字节跳动网络技术有限公司 | 分片扩容方法、装置及电子设备 |
CN111327637B (zh) * | 2020-03-10 | 2022-12-02 | 时时同云科技(成都)有限责任公司 | 业务密钥的管理方法及系统 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU770753B2 (en) * | 1999-12-20 | 2004-03-04 | Dainippon Printing Co. Ltd. | Distributed data archive device and system |
US20030126275A1 (en) * | 2001-12-31 | 2003-07-03 | Change Masters, Incorporated | Digital distribution system for dynamic media |
JP4601969B2 (ja) * | 2004-01-27 | 2010-12-22 | 株式会社日立製作所 | ファイル入出力制御装置 |
JP2006113663A (ja) * | 2004-10-12 | 2006-04-27 | Nec Fielding Ltd | データ保管システム、その方法、ファイルサーバ、端末およびプログラム |
JP2006228202A (ja) * | 2005-01-21 | 2006-08-31 | Sorun Corp | 機密データの管理方法及び管理システム |
US8484263B2 (en) * | 2006-08-17 | 2013-07-09 | University Of Miami | Method for keyless protection of data using a local array of disks |
US7853754B1 (en) * | 2006-09-29 | 2010-12-14 | Tilera Corporation | Caching in multicore and multiprocessor architectures |
CA2668676C (en) * | 2006-11-07 | 2016-01-05 | Security First Corp. | Systems and methods for distributing and securing data |
US7992037B2 (en) * | 2008-09-11 | 2011-08-02 | Nec Laboratories America, Inc. | Scalable secondary storage systems and methods |
-
2010
- 2010-11-08 JP JP2010249917A patent/JP5620792B2/ja active Active
-
2011
- 2011-11-07 US US13/882,033 patent/US9881030B2/en not_active Expired - Fee Related
- 2011-11-07 WO PCT/JP2011/075534 patent/WO2012063755A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2012063755A1 (ja) | 2012-05-18 |
JP2012103795A (ja) | 2012-05-31 |
US20130275386A1 (en) | 2013-10-17 |
US9881030B2 (en) | 2018-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5620792B2 (ja) | 分散アーカイブシステム並びにデータアーカイブ装置及びデータ復元装置 | |
CN105678189B (zh) | 加密数据文件存储和检索系统及方法 | |
US8533489B2 (en) | Searchable symmetric encryption with dynamic updating | |
Williams et al. | Single round access privacy on outsourced storage | |
US8838968B2 (en) | System and method for virtual machine data protection in a public cloud | |
US8892907B2 (en) | Storage and recovery of cryptographic key identifiers | |
JP4972158B2 (ja) | サンプリングを利用して重複データを無くすシステム、及び方法 | |
US20110072115A1 (en) | Block based access to a dispersed data storage network | |
JP2009533759A (ja) | 分散データを再構築するためのシステム | |
Li et al. | Towards privacy-preserving storage and retrieval in multiple clouds | |
GB2463078A (en) | Data storage and transmission using parity data | |
JP3871996B2 (ja) | データ分割管理方法及びプログラム | |
US8156168B2 (en) | Method and system for data security | |
US11005663B2 (en) | Secure audit scheme in a distributed data storage system | |
JP2006012192A (ja) | 分散型データアーカイブシステム | |
CN104794024A (zh) | 一种数据恢复方法 | |
US20070174363A1 (en) | Computer system, a computer and a method of storing a data file | |
CN106506613A (zh) | 分布式key‑value存储系统的数据存储位置加密方法 | |
JP2013521555A (ja) | 分散型の記憶および通信 | |
JP4490068B2 (ja) | ネットワークを利用したデータ保管システム | |
CA2483760A1 (en) | System and method for a secure, scalable wide area file system | |
US7685186B2 (en) | Optimized and robust in-place data transformation | |
US9324123B2 (en) | Storage of keyID in customer data area | |
GB2482112A (en) | Distributed data storage and recovery | |
JP5756959B2 (ja) | 分散アーカイブシステムおよびデータアーカイブ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130123 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130123 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131105 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131227 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20140401 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140626 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20140627 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20140717 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140819 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140819 |
|
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: 20140909 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140919 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5620792 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |