JP2014016584A - データ分割装置、データ復元装置、データ分割方法、データ復元方法、及びプログラム - Google Patents

データ分割装置、データ復元装置、データ分割方法、データ復元方法、及びプログラム Download PDF

Info

Publication number
JP2014016584A
JP2014016584A JP2012155882A JP2012155882A JP2014016584A JP 2014016584 A JP2014016584 A JP 2014016584A JP 2012155882 A JP2012155882 A JP 2012155882A JP 2012155882 A JP2012155882 A JP 2012155882A JP 2014016584 A JP2014016584 A JP 2014016584A
Authority
JP
Japan
Prior art keywords
data
dividing
series
divided
division
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.)
Pending
Application number
JP2012155882A
Other languages
English (en)
Inventor
Nobuhiro Tagashira
信博 田頭
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2012155882A priority Critical patent/JP2014016584A/ja
Publication of JP2014016584A publication Critical patent/JP2014016584A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】 保存対象となるデータが増加する場合であっても復元のための管理情報が増大しない、データ分割及び復元技術を提供すること。
【解決手段】 データ分割装置は、複数の記憶装置にデータを分散して保存するための分割データを生成するデータ分割装置であって、保存対象データを所定のサイズで分割して第1のデータ系列を生成すると共に、第1のデータ系列のそれぞれが保存対象データのどの部分に対応するかを示す識別情報をそれぞれ生成し、第1のデータ系列を、所定の鍵とその第1のデータ系列に対応する識別情報とに基づいて第2のデータ系列へ置換し、第2のデータ系列を記憶装置の数に応じた数に分割して分割データを生成する。
【選択図】 図2

Description

本発明はデータを分割して複数の装置に記憶させる技術に関する。
個人情報等の機密データを、紛失、破壊、盗難等の脅威からセキュアに保管したいという要求がある。この解決方法の1つに、データを複数に分割して分散保管する方法がある。例えば、単一のストレージサーバ(データセンタ)に保管するのでなく、データを分割して複数のストレージサーバへ分散して保管する。
データを分割して複数のストレージサーバへ保管する技術に関しては、さまざまな技術がある。例えば、データを分割して分割データを暗号化し複数のストレージサーバへ保管する方法や、データを暗号化して暗号化データを分割して複数のストレージサーバへ保管する方法がある。いずれの方法においても、分割したデータを復元するために、分割方法やストレージサーバの情報は、テーブル等の管理情報として一括で管理される。この場合、データのサイズ、及びストレージサーバの数の増加に従って管理情報が増大するという問題がある。
この問題を解決する方法として、特許文献1には分割に関する管理情報を一括管理することなく分割データからデータ復元する技術が記載されている。特許文献1の技術では、復元のためのキーワードと復元処理を実行するためのメソッド部とが分割データに含められる。そして、端末に選択された1つの分割データに含まれるメソッド部が、キーワードを用いて他の分割データを検索しながら自律的にデータを復元する。このため、特許文献1の技術では、管理情報を一括管理する必要がない。
特開2004−145755号公報
しかしながら、特許文献1の方式は、分割データはキーワードばかりでなく、メソッド部を付加する必要があるため、分割データの構成が複雑になってしまうという課題があった。また、テーブル等による管理の方式と特許文献1の方式とは、いずれもファイル単位で処理を実行することを前提としており、ファイルという1つの塊を分割し、ファイルという1つの塊を復元する。したがって、大きなファイルの部分にアクセスしたい場合に、1つのファイルの全てを復元する必要があるという課題があった。すなわち、ファイルシステムのような大きな単一のファイルとして取り扱われるデータ構造に対して適用することが、運用上容易ではないという課題があった。
本発明は上記課題に鑑みなされたものであり、保存対象となるデータが増加する場合であっても復元のための管理情報が増大しない、データ分割及び復元技術を提供する。
上記目的を達成するため、本発明によるデータ分割装置は、複数の記憶装置にデータを分散して保存するための分割データを生成するデータ分割装置であって、保存対象データを所定のサイズで分割して第1のデータ系列を生成すると共に、前記第1のデータ系列のそれぞれが前記保存対象データのどの部分に対応するかを示す識別情報をそれぞれ生成する第1の分割手段と、前記第1のデータ系列を、所定の鍵と当該第1のデータ系列に対応する前記識別情報とに基づいて第2のデータ系列へ置換する置換手段と、前記第2のデータ系列を前記記憶装置の数に応じた数に分割して前記分割データを生成する第2の分割手段と、を有する。
本発明によれば、技術において、保存対象となるデータが増加した場合であっても、復元のための管理情報を増大させずデータの分割と復元を実行することができる。
データ分割保存システムの構成例を示す図。 実施形態1におけるデータ分割サーバの機能構成例を示すブロック図。 実施形態1における保存対象データの分割処理を示すフローチャート。 実施形態1における保存対象データの復元処理を示すフローチャート。 実施形態2におけるデータ分割サーバの機能構成例を示すブロック図。 実施形態2における保存対象データの分割処理を示すフローチャート。 実施形態2における保存対象データの復元処理を示すフローチャート。
以下、添付図面を参照して本発明の実施の形態を詳細に説明する。
<<実施形態1>>
(システム構成)
本実施形態に係るデータ分割保存システムの一例を図1に示す。データ分割保存システムは、データ分割サーバ101と複数の外部ストレージサーバ102とを含む。また、データ分割サーバ101と外部ストレージサーバ102のそれぞれは、ネットワーク103を介して互いに接続される。
データ分割サーバ101は、複数の記憶装置である外部ストレージサーバ102にデータを分散して保存するために、そのデータ(以下、「保存対象データ」と呼ぶ)を分割し、分割データを生成するデータ分割装置である。データ分割サーバ101は、分割データを複数の外部ストレージサーバ102へ送信して記憶させる。また、データ分割サーバ101は、外部ストレージサーバ102から分割データを収集し、収集した分割データから保存対象データを復元するデータ復元装置でもある。なお、データ復元装置とデータ分割装置とは別のサーバにより実現されてもよいし、本説明のように1つのサーバにデータ分割機能とデータ復元機能の両方を備えてもよい。
分割処理と復元処理は専用ハードウェアにより実行されてもよいし、コンピュータ上で動作するプログラムにより実行されてもよい。保存対象データは、例えば、データ分割サーバ内部で生成したデータであってもよく、フラッシュ等のメディアやネットワークを介して外部から受け取ったデータであってもよい。データ分割サーバ101は、保存対象データを分割したデータ(以下、「分割データ」と呼ぶ)を、複数の外部ストレージサーバ102へ送信し、複数の外部ストレージサーバ102は受信した分割データを保存する。
このようなシステムは、例えば、ストレージサービスを提供する複数の事業者が外部ストレージサーバ102を提供し、複数のストレージサービスを利用するオンラインフォトサービスの提供者がデータ分割サーバ101を提供する形態で実現されてもよい。また、オンラインストレージサービスを提供する事業者がデータ分割サーバ101を提供し、当該オンラインストレージサービス内の複数のストレージを外部ストレージサーバ102として用いる形態で実現してもよい。
(データ分割サーバの構成)
図2に、本実施形態に係るデータ分割サーバ101の機能構成例を示す。図2のデータ分割サーバ101は、上半分に示すように分割に関する機能部と、下半分に示すように復元に関する機能部とを有する。上述のように、これらの機能部は1つの装置に実装されてもよいし、2つ又はそれ以上の装置に分離して実装されてもよい。また、例えば、分割又は復元に関する1つ以上の機能ブロックを1つの装置により実装し、他の機能ブロックを他の装置により実装してもよい。
データ分割サーバ101は、図2に示すように、例えば、データ分割に関して、受付部201、第1の分割部202、置換部203、第2の分割部204、および第1の出力部205を有する。
受付部201は、データ分割サーバ101の内部又は外部の装置から保存対象データを受け付ける。保存対象データはデータ分割サーバ101内部で生成したデータ、あらかじめ保持しているデータ、接続されているメディアに保存しているデータ、ネットワークを介して外部から受け取ったデータなど、さまざまなデータでありうる。例えば、受付部201は、ユーザがデータ分割サーバ101内に一時的に記憶させたデータや、データ分割サーバ101の機能を有する装置の内部で所定の処理を実行した結果として得られるデータを受け付けてもよい。また、受付部201は、外部の装置や記憶媒体から直接、データを受け付けてもよい。
第1の分割部202は、前段の受付部201で受け付けた保存対象データを、必要に応じて、所定のサイズのデータに分割して第1の分割データを生成する。分割サイズは、保存対象データの属性に応じて、その保存対象データへのアクセスのための単位サイズに応じてあらかじめ決定しておく。例えば、保存対象データがストリーミング配信用のデータである場合は、保存対象データに対して128kバイトの単位での部分アクセスが想定されるため、128kバイト単位で保存対象データを分割してもよい。また、保存対象データがハードディスクドライブ(HDD)へ書き込まれるデータである場合、HDDのアクセス単位であるクラスタ単位でデータを分割してもよい。第1の分割部202は、第1の分割データと同時に、その第1の分割データが保存対象データのどの部分に対応するかを識別する識別情報であるIndexも出力する。
第1の分割部202は、一般的なHDDのアクセスと対比することができる。HDDでは、ファイルをクラスタ単位に分割してクラスタ単位でHDDに書き込む。ここで、クラスタにはアドレスが振られる。すなわち、第1の分割部202は、クラスタ単位の分割データと、クラスタのアドレスに対応するIndexとを出力する機能部と捉えることができる。
置換部203は、前段の第1の分割部202が出力した第1の分割データに対して、同時に出力したIndexと、特定のユーザのみがデータを復元できるようにするための所定の鍵とに基づいて置換処理を実行する。所定の鍵はあらかじめデータ分割サーバ101に保持してもよいし、データ分割サーバ101がICカード等の安全の情報を保持できる外部メディアから読み込んで取得してもよい。なお、置換処理は、第1の分割データに対応する第1のデータ系列を、第2のデータ系列にマッピングする処理を指す。置換部203の具体的な処理については後述する。
第2の分割部204は、前段の置換部203で置換処理したデータをさらに外部ストレージサーバの数に応じて分割し、第2の分割データを生成する。第2の分割部204は、例えば、N個の外部ストレージサーバを利用する場合は、置換処理した分割データをN等分する。
第1の出力部205は、第2の分割データをN個の外部ストレージサーバへ、所定の順序で送信する。なお、所定の順序とは、第2の分割データのそれぞれが、どの外部ストレージサーバへ記憶されるかを定めるものであり、第2の分割データは、必ずしもこの順序で送出されなければならないわけではない。すなわち、データ分割サーバ101は、第2の分割データのそれぞれがどの外部ストレージサーバ102へ記憶されているかの情報を保持していればよい。また、第1の出力部205は、必要に応じて保存対象データの識別子も出力するが、ファイルシステムのように巨大な単一のファイルとみなせる場合は保存対象データの識別子は出力しなくてもよい。さらに、外部ストレージサーバへの出力前に、暗号化処理を実行してもよい。また、外部ストレージサーバごとに異なる暗号鍵を用いてもよく、異なる暗号化アルゴリズムを利用してもよい。これにより、保存対象データの機密性を高めることができる。以上のようにして、保存対象データはN分割され、各外部ストレージには、1/Nずつの分割データが保存される。
一方、図2に示すように、データ復元に関して、データ分割サーバ101は、例えば、読取部206、第1の結合部207、逆置換部208、第2の結合部209、および第2の出力部210を有する。
読取部206は、保存対象データ識別子を取得する。保存対象データの識別子は、例えばファイル名である。なお、単一のファイルとみなせる場合など、復元対象となる保存対象データが自明である場合は、識別子を取得しなくてもよい。なお、読取部206は、保存対象データの一部だけを復元する場合は、復元箇所を示すIndexを受け付ける。読取部206は、N個の外部ストレージサーバへ順にアクセスして、保存対象データ識別子に対応した全ての分割データを読み取る。Indexが入力された場合は、Indexに対応する分割データだけを読み取る。すなわち、この場合、データ分割サーバ101は、読取部206によって各外部ストレージサーバから部分アクセス単位の分割データの1/Nの要素のみを読み取ると共に、後段の機能部によってそれらを統合し、Indexに対応する分割データを取得する。
第1の結合部207は、第2の分割部に対応する結合部である。第1の結合部207は、前段の読取部206で読み取ったN個の分割データを、外部ストレージサーバの所定の順序で並べて結合し、置換部203で置換された第1の分割データに対応する第3のデータ系列(結合データ)を生成する。逆置換部208は、前段で結合された第3のデータ系列を、Indexと鍵とに基づいて逆置換し、保存対象データの一部に対応する第4のデータ系列(逆置換データ)を生成する。逆置換処理についての詳細は後述する。
第2の結合部209は、第1の分割部に対応する結合部であり、Indexに基づいて逆置換により得られた保存対象データの複数の部分(第4のデータ系列)を結合し、保存対象データを復元する。なお、Indexで示された保存対象データの一部だけを復元する場合は、この結合処理は行われない。そして、第2の出力部210は、復元した保存対象データの少なくとも一部を出力する。なお、第2の結合部209は省略されてもよい。この場合、例えば第2の出力部210は、逆置換部208から1つ以上の第4のデータ系列を順次受け取り、それを順次出力してもよい。また、第2の出力部210が第2の結合部209の機能を有してもよく、必要に応じて、第4のデータ系列を順次または結合して出力してもよい。
(データ分割サーバにおける分割処理)
次に、図3を用いて、データ分割サーバにおける保存対象データの分割処理の動作を説明する。まず、受付部201は保存対象データを受け付ける(S301)。次に、第1の分割部202は保存対象データをあらかじめ定められたサイズに分割し、分割したデータと共にIndexを出力する(S302)。置換部203は、Indexと鍵とに基づいて、第1の分割データ(第1のデータ系列)を置換して、第2のデータ系列(置換データ)を生成する(S303)。第2の分割部204は、置換後の第2のデータ系列をさらに分割して、第2の分割データを生成する(S304)。出力部205は、第2の分割データを外部ストレージサーバへ順に出力する(S305)。
(データ分割サーバにおける復元処理)
次に、図4を用いて、データ分割サーバにおける保存対象データの復元処理の動作を説明する。まず、読取部206は、保存対象データの識別子を読み取って取得する(S401)。保存対象データの一部だけを復元する場合は、読取部206は、復元箇所を指定する識別情報としてIndexも取得する。読取部206は、N個の外部ストレージサーバへ順にアクセスして、保存対象データの識別子に対応する全ての分割データを読み取って取得する(S402)。第1の結合部207は、N個のストレージサーバから読み取った分割データを、所定の順序で並べて結合し、結合データ(第3のデータ系列)を生成する(S403)。なお、第3のデータ系列は、データ分割処理における、置換処理を施した後の第2のデータ系列に対応する。逆置換部208は、Indexと鍵とに基づいて、第3のデータ系列を逆置換し、データ分割処理における第1の分割データに対応する逆置換データ(第4のデータ系列)を生成する(S404)。第2の結合部209は、逆置換により得られた複数の第4のデータ系列を結合して保存対象データを復元する(S405)。なお、復元箇所を特定する識別情報としてIndexを取得した場合は、S405における結合処理は不要である。第2の出力部210は、復元した保存対象データを出力する(S406)。
(置換処理および逆置換処理)
続いて、置換処理および逆置換処理について説明する。置換処理および逆置換処理は、鍵を知らないユーザが逆置換する困難さ(安全性)と処理速度のトレードオフの関係でいくつかの方法がある。置換部203と逆置換部208とは、例えば以下に示す方法の中からシステム内で定められた1つの方式をあらかじめ選択し、第1の分割データの置換と逆置換とをそれぞれ実行する。
まず、外部ストレージサーバの数(N)に基づく方法を説明する。この方法では、第1の分割データ(第1のデータ系列)をさらにN等分した部分データを生成し、そのN等分した部分データを単位として並べ替えた第2のデータ系列に置換する。ここで、N個の部分データの並べ替え方のパターンはN!通り存在する。そこで、本方法では、例えば、これらのN!個の並べ替え方のそれぞれに0〜N!−1までの識別子を付与しておく。そして、Indexおよび所定の数を示す鍵から、例えば、(Index xor 鍵) mod N!を計算して値xを求め、識別子がxの並べ替え方のパターンを特定する。そして、第1のデータ系列を特定した並べ替え方のパターンに基づいて並べ替えて第2のデータ系列とすることにより、置換が実行される。N=2の例では、第1のデータ系列を2等分して部分データを生成するとともに、Indexと鍵から0か1のxを算出する。そして、置換部203は、xが0の場合は並べ替えをせずにそのまま出力、つまり第1のデータ系列と同じデータ系列を第2のデータ系列として出力する。このように、場合によっては、第1のデータ系列と第2のデータ系列とは同一の系列であってもよい。一方、xが1の場合は、置換部203は、2等分した部分データを入れ替えて出力する。つまり、第1のデータ系列を2等分して、その等分した部分データ入れ替えたデータ系列を第2のデータ系列として出力する。この方法によれば、1/N!の複雑度で置換を実現することができる。
なお、逆置換処理でも同様に、復元対象となるIndexと鍵とからxを算出する。そして、そのxによる置換の逆を行うことにより、置換後のデータ系列に対応する結合後の第3のデータから、置換前の第1の分割データに対応する第4のデータ系列を得ることが可能となる。すなわち、例えば上述のN=2の例では、逆置換部208は、xが1の場合、各外部ストレージサーバから取得して結合した第3のデータ系列を2等分し、2等分した部分データを入れ替えたデータ系列を第4のデータ系列として第2の結合部209へ出力する。同様に、xが0の場合、並べ替えをせずに第3のデータ系列をそのまま第4のデータ系列として第2の結合部209へ出力する。このように、第3のデータ系列と第4のデータ系列とは同じデータ系列であってもよい。なお、復元が成功した場合、第3のデータ系列は第2のデータ系列に等しく、また、第4のデータ系列は第1のデータ系列に等しい。
なお、上述の説明では、外部ストレージサーバ102の数Nと同数の部分データを生成して並べ替えるとしたが、これに限られない。例えば、Nより少ない数の部分データを生成して並べ替えてもよいし、Nより多くの数の部分データを生成してもよい。また、第2の分割部204における置換後の第2のデータ系列を分割する個数に応じて、部分データを生成してもよい。
ここで、第2の分割部204は置換後のデータを部分データの単位で分割するため、この方法は、それぞれの部分データを保存する外部ストレージサーバをIndexと鍵とに応じて変更する処理に対応する。このため、部分データを生成し、どの外部ストレージサーバにどの部分データが格納されるかをIndexごとに変更してテーブルとして記憶しておけば、本方法と同等の出力結果が得られる。しかしながら、この方法では、Indexと鍵とに応じて、その結果を算出することができるため、テーブルなどの情報を管理する必要がない。また、データ分割サーバやユーザに固有の鍵を用いることにより、そのデータ分割サーバ以外のサーバからのアクセス、又は特定のユーザ以外のアクセスではデータを復元できないという効果が得られる。すなわち、この方法によって、管理情報を増やすことなくセキュアに、保存対象データを分割して複数のストレージサーバへ記憶させておくことが可能となる。
次に、共通鍵暗号方式を利用する方法を説明する。この方法は、共通鍵暗号方式がデータ系列を別のデータ系列へ置換(マッピング)する性質を有することを利用した方式であり、第1の分割データを共通鍵暗号方式で暗号化する方法である。共通鍵暗号方式として、AES(Advanced Encryption Standard)等を利用できる。さらに、鍵を共通鍵暗号方式の鍵とし、Indexを暗号利用モードの初期ベクタとすることで、Indexと鍵から一意の置換を決定することができる。例えば、初期ベクタを利用するCBC(Cipher Block Chaining)、OFB(Output FeedBack)、CFB(Cipher FeedBack)、CTR(Counter)などの暗号利用モードを利用する。Indexに基づく暗号利用モードを用いることにより、1つのブロック暗号を用いる場合よりセキュアにデータを保存することができ、さらに、管理情報の増大を抑えながらデータを復元することが可能となる。さらに、共通鍵暗号方式の暗号化アルゴリズムの選択によって複雑度を決定してもよい。たとえば、128ビットの鍵のAES128アルゴリズムを利用して複雑度128ビットの置換を実行し、192ビットの鍵のAES192アルゴリズムを利用して複雑度192ビットの置換を実行する。さらに、256ビットの鍵のAES256アルゴリズムを利用して複雑度256ビットの置換を実行する。なお、複雑度が大きくなると、処理に要する時間も増大する。なお、この場合の逆置換は、暗号の復号化処理を実行することにより達成される。
以上に説明したように、データ分割サーバは、Indexと鍵のみに基づいて、保存対象データの分割と復元とを実行する。このため、本実施形態によるデータ分割方法及びデータ復元方法によれば、管理情報を増大させることなく、大きいサイズのデータを取り扱うことが可能となる。さらに、本実施形態のデータ分割サーバによれば、第1の分割と第2の分割の二重の分割を行うことによって、分割保存された保存対象データの一部へのみアクセスすることが可能となる。
<<実施形態2>>
実施形態1では、システム内であらかじめ定められた方法による置換と逆置換とを実行する場合について説明した。一方、保存対象データに適用すべき機密レベルは全て同一でなく、異なる場合がある。そこで本実施形態では、保存対象データの機密レベルに応じて置換と逆置換を実行する方法を適応的に選択できる手法について説明する。なお、データ分割保存システムの構成は実施形態1と同様であるため、説明を省略する。
(データ分割サーバの構成)
図5は、本実施形態に係るデータ分割サーバ101の機能構成を示すブロック図である。図5では、図2と同様に、上段には分割に関する機能構成を、下段には復元に関する機能構成を、それぞれ示している。図5に示すように、データ分割サーバ101は、データ分割に関して、図2と同様に、受付部201、第1の分割部202、複数の置換部203、第2の分割部204、第1の出力部205とを有する。ただし、データ分割において、さらに、種別判定部501、および切替部502が用いられる。さらに、第1の実施形態では単一の置換部203を有していたが、本実施形態では複数の置換部203を有する。また、図5に示すように、データ分割サーバ101は、データ復元に関して、図2と同様に読取部206、第1の結合部207、複数の逆置換部208、第2の結合部209、第2の出力部210を有する。ただし、データ復元においても、さらに種別判定部501、および切替部502が使用される。また、第1の実施形態では単一の逆置換部208を有していたが、本実施形態では複数の逆置換部208を有する。
種別判定部501は、保存対象データの種別を判定する。種別判定は、保存対象データの属性に応じて機密度のレベル付けを行い、機密度情報を取得する。ここで、保存対象データに関する属性の情報は、例えば、データ分割サーバ101の外部から取得されてもよいし、保存対象データそのものやメタデータから判定されてもよい。属性の情報は、例えば、保存対象データの所有者情報や、保存対象データの送信元情報である。種別判定部501は、例えば、所有者情報がプライベートユーザなのかオフィスユーザなのか、送信元機器がプライベートの機器なのかオフィスの機器なのかに応じて、機密度について2段階のレベル付けを実行して機密度情報を取得してもよい。また、保存対象データに対する機密度が予め決まっている場合は、外部から保存対象データと共に機密度情報を取得してもよい。
なお、保存対象データの復元には、保存対象データそのものや、保存対象データのメタ情報を利用することはできない。このため、種別判定部501は、例えば、外部から機密度情報を取得して切替部502へ出力してもよい。また、分割データに機密度情報が付されていてもよく、その場合、種別判定部501は、その分割データから機密度の情報を取得して切替部502へ供給してもよい。
切替部502は、種別判定部501で判定したレベル付けに応じて、複数有する置換部203と逆置換部208の中から、実際に置換処理又は逆置換処理に利用する置換部又は逆置換部を選択する。例えば、高い複雑度の第1の置換部と低い複雑度の第2の置換部の2つの置換部が存在する場合、切替部502は、高い機密レベルの保存対象データについては第1の置換部で置換処理が実行されるように、実際に利用される置換部を選択する。同様に、切替部502は、低い機密レベルの保存対象データについては第2の置換部で置換処理が実行されるように、実際に利用される置換部を選択する。また、高い複雑度の第1の逆置換部と低い複雑度の第2の逆置換部の2つの逆置換部が存在する場合、切替部502は、機密度が高いデータについては第1の逆置換部で逆置換処理が実行されるように、実際に利用される逆置換部を選択する。同様に、切替部502は、機密度が低いデータについては第2の逆置換部で逆置換処理が実行されるように、実際に利用される逆置換部を選択する。ここで、高い複雑度の置換処理と逆置換処理は処理時間が大きいが、復元が困難となる。一方、低い複雑度の置換処理と逆置換処理は復元の困難さが小さいが、処理時間が少なくても済む。
(データ分割サーバにおける分割処理)
次に、図6を用いて、本実施形態に係る保存対象データの分割処理の動作について説明する。まず、受付部201は保存対象データを受け付ける(S601)。次に、種別判定部501は、保存対象データの種別を判定して、機密度のレベル付けを行う(S602)。そして、切替部502は、機密度のレベルに応じて使用する置換部を選択して切り替える(S603)。次に、第1の分割部202は、保存対象データを所定のサイズに分割して第1の分割データ(第1のデータ系列)を生成し、第1の分割データと共にIndexを出力する(S604)。機密度のレベルに応じて選択された置換部203は、Indexと鍵とに基づいて第1の分割データを置換し、第2のデータ系列(置換データ)を生成する(S605)。第2の分割部204は、第2のデータ系列をさらに分割して、第2の分割データを生成する(S606)。出力部205は、第2の分割データを外部ストレージサーバへ順に出力する(S607)。なお、本実施形態においては、第2の分割データに、機密度情報を付与してもよい。または、置換後のデータに機密度情報を付加し、それを分割して第2の分割データを生成してもよい。
(データ分割サーバにおける復元処理)
次に、図7を用いて、本実施形態に係る保存対象データの復元処理の動作について説明する。まず、読取部206は、保存対象データの識別子を取得する(S701)。読取部206は、保存対象データの一部だけを復元する場合は、復元箇所を特定するIndexも併せて取得する。種別判定部501は、保存対象データの種別を判定して機密度のレベル付けを行う(S702)。なお、ここでの機密度のレベル付けは、例えば、分割データ又は第1の結合処理後のデータに付与された機密度情報や、外部から取得する機密度情報に基づいて行われてもよい。切替部502は、レベルに応じて利用する逆置換部を選択して切り替える(S703)。
次に、読取部206は、N個の外部ストレージサーバへ順にアクセスして、保存対象データ識別子に対応した全ての分割データを読み取る(S704)。なお、分割データに機密度のレベルの情報が付与される場合は、S704の処理をS702とS703に先立って実行してもよい。なお、保存対象データの一部を復元する場合は、S701で取得したIndexに対応する分割データのみをすべて読み取る。第1の結合部207は、N個のストレージサーバから読み取った分割データを、所定の順で並び替えてデータを結合し、第3のデータ系列(結合データ)を生成する(S705)。なお、第1の結合処理後のデータに機密度のレベルの情報が付与される場合は、S704とS705の処理をS702とS703に先立って実行してもよい。
選択された逆置換部208は、第3のデータ系列を逆置換し、第4のデータ系列(逆置換データ)を生成する(S706)。第2の結合部209は第4のデータ系列を結合して保存対象データを復元する(S707)。なお、保存対象データの一部だけを復元する場合は、第2の結合処理は不要である。第2の出力部210は、復元した保存対象データを出力する(S708)。
以下に本実施形態の実際のシステムへの応用例を挙げる。各国政府機関では機密情報を、Top Secret/Secret/Confidential/Unclassifiedの四つのレベルに分類することが多い。そこで、置換方法として前述の1/N!の複雑度の置換、AES128アルゴリズムの複雑度128ビットの置換、AES192アルゴリズムの複雑度192ビットの置換、AES256アルゴリズムの複雑度256ビットの置換の4つの置換方法を準備する。データは明示的にレベル付けされているので、保存対象データを受け付けると同時に、機密度情報を受け付けて種別判定部501へ入力する。本実施形態では、機密レベルの高いTop Secretを複雑度256ビット、Secretを複雑度192ビット、Confidentialを複雑度128ビット、Unclassifiedを複雑度1/N!の置換にそれぞれ割り当てて運用できる。したがって、保存対象データの機密度に応じて適切な置換を選択し、機密度の高いデータほど第三者が復元しにくくするような、データ分割保存システムを実現することが可能となる。また、機密度が低く、多方面で利用されるデータについては、複雑性が低い置換を用いることにより、演算量や演算に要する時間を削減することが可能となる。
以上のように、本実施形態のデータ分割サーバは、Indexと鍵だけから保存対象データの分割と復元を実現するため、データの増加に伴う管理情報の増大を防ぐことが可能となる。なお、本実施形態では、機密度情報が保持されるが、例えば4段階の機密度のレベルがある場合でも、高々2ビットの情報を保持していればよいだけであり、さらに、この情報はデータの増大によって増加することはない。したがって、管理情報の増大を防ぐことが可能となる。また、本実施形態のデータ分割サーバによれば、保存対象データの機密レベルに応じて置換と逆置換の方法を適応的に選択して、適切な処理時間で安全な分散保存を達成することができる。
なお、実施形態1と実施形態2の説明では、第2の分割部は、外部ストレージサーバ102の数Nと同数の第2の分割データを生成するとしたが、これに限られない。例えば、Nより少ない数の第2の分割データを生成し、一部の外部ストレージサーバのみに分割データを保存するようにしてもよい。これにより、例えば、同業他社が提供する使用したくない外部ストレージサービスのサーバへはデータを記憶させないようにすることができる。また、Nより多くの数の第2の分割データを生成してもよい。この場合、一部の外部ストレージサーバにおいては、複数の第2の分割データを記憶することとなる。これにより、例えば、データ分割サーバ101との間の通信回線のデータ伝送速度が高いサーバへより多くのデータを保存するなど、各外部ストレージサーバへ保存するデータ量について、高い自由度を確保することが可能となる。
<<その他の実施形態>>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

Claims (16)

  1. 複数の記憶装置にデータを分散して保存するための分割データを生成するデータ分割装置であって、
    保存対象データを所定のサイズで分割して第1のデータ系列を生成すると共に、前記第1のデータ系列のそれぞれが前記保存対象データのどの部分に対応するかを示す識別情報をそれぞれ生成する第1の分割手段と、
    前記第1のデータ系列を、所定の鍵と当該第1のデータ系列に対応する前記識別情報とに基づいて第2のデータ系列へ置換する置換手段と、
    前記第2のデータ系列を前記記憶装置の数に応じた数に分割して前記分割データを生成する第2の分割手段と、
    を有することを特徴とするデータ分割装置。
  2. 前記置換手段は、前記鍵を共通鍵暗号方式の鍵とし、前記識別情報を暗号利用モードの初期ベクタとして、前記第1のデータ系列を暗号化することにより、前記第2のデータ系列へ置換する、
    ことを特徴とする請求項1に記載のデータ分割装置。
  3. 前記鍵は所定の数を示し、
    前記置換手段は、前記第1のデータ系列を前記記憶装置の数に応じた数で分割して部分データを生成して、前記鍵と前記識別情報とに基づいて特定される並べ替え方のパターンに従って当該部分データを並べ替えることにより、前記第1のデータ系列を前記第2のデータ系列へ置換する、
    ことを特徴とする請求項1に記載のデータ分割装置。
  4. それぞれ異なる複雑度を有する置換を行う複数の前記置換手段と、
    前記保存対象データの機密度に関する情報を取得する取得手段と、
    前記機密度に関する情報に応じて、複数の前記置換手段のうち1つを選択する選択手段と、
    をさらに有し、
    前記選択手段により選択された1つの前記置換手段が、前記第1のデータ系列を前記第2のデータ系列へ置換する、
    ことを特徴とする請求項1から3のいずれか1項に記載のデータ分割装置。
  5. 前記選択手段は、前記保存対象データの機密度が高いほど、複雑度の高い置換を行う前記置換手段を選択する、
    ことを特徴とする請求項4に記載のデータ分割装置。
  6. 前記第2の分割手段は、前記第2のデータ系列を分割したデータをさらに暗号化し、その暗号化したデータを前記分割データとして生成する、
    ことを特徴とする請求項1から5のいずれか1項に記載のデータ分割装置。
  7. 前記第2の分割手段は、前記第2のデータ系列を前記記憶装置の数に応じた数に分割したデータについて、当該分割したデータごとに異なる暗号化の鍵または暗号化アルゴリズムを用いて暗号化したデータを前記分割データとして生成する、
    ことを特徴とする請求項6に記載のデータ分割装置。
  8. 前記所定のサイズは、前記保存対象データへのアクセスのための単位サイズに応じて定められる、
    ことを特徴とする請求項1から7のいずれか1項に記載のデータ分割装置。
  9. 請求項1から8のいずれか1項に記載のデータ分割装置により分割され、複数の記憶装置に分散して保存された分割データから保存対象データの少なくとも一部を復元するデータ復元装置であって、
    前記複数の記憶装置から前記分割データを読み取る読取手段と、
    前記複数の記憶装置に保存された前記分割データを所定の順序で並べて結合し、第3のデータ系列を生成する結合手段と、
    所定の鍵と、前記第3のデータ系列が前記保存対象データのどの部分に対応するかを示す識別情報とに基づいて、当該第3のデータ系列を前記保存対象データの一部へと逆置換する逆置換手段と、
    を有することを特徴とするデータ復元装置。
  10. 前記読取手段は、前記保存対象データのうち、読み出す対象となる部分を特定する前記識別情報を受け付け、前記保存対象データのうち、取得した前記識別情報に対応する前記分割データのみを前記複数の記憶装置から読み込む、
    ことを特徴とする請求項9に記載のデータ復元装置。
  11. 複数の前記識別情報に対応する前記第3のデータ系列から逆置換されて得られる、前記保存対象データの複数の部分を結合する第2の結合手段、
    をさらに有することを特徴とする請求項9に記載のデータ復元装置。
  12. それぞれ異なる複雑度を有する逆置換を行う複数の前記逆置換手段と、
    前記保存対象データの機密度に関する情報を取得する取得手段と、
    前記機密度に関する情報に応じて、複数の前記逆置換手段のうち1つを選択する選択手段と、
    をさらに有し、
    前記選択手段により選択された1つの前記逆置換手段が、前記第3のデータ系列を前記保存対象データの一部へと逆置換する、
    ことを特徴とする請求項9から11のいずれか1項に記載のデータ復元装置。
  13. 複数の記憶装置にデータを分散して保存するための分割データを生成するデータ分割装置におけるデータ分割方法であって、
    第1の分割手段が、保存対象データを所定のサイズで分割して第1のデータ系列を生成すると共に、前記第1のデータ系列のそれぞれが前記保存対象データのどの部分に対応するかを示す識別情報をそれぞれ生成する第1の分割工程と、
    置換手段が、前記第1のデータ系列を、所定の鍵と当該第1のデータ系列に対応する前記識別情報とに基づいて第2のデータ系列へ置換する置換工程と、
    第2の分割手段が、前記第2のデータ系列を前記記憶装置の数に応じた数に分割して前記分割データを生成する第2の分割工程と、
    を有することを特徴とするデータ分割方法。
  14. 請求項13に記載のデータ分割方法により分割され、複数の記憶装置に分散して保存された分割データから保存対象データの少なくとも一部を復元するデータ復元装置におけるデータ復元方法であって、
    読取手段が、前記複数の記憶装置から前記分割データを読み取る読取工程と、
    結合手段が、前記複数の記憶装置に保存された前記分割データを所定の順序で並べて結合し、第3のデータ系列を生成する結合工程と、
    逆置換手段が、所定の鍵と、前記第3のデータ系列が前記保存対象データのどの部分に対応するかを示す識別情報とに基づいて、当該第3のデータ系列を前記保存対象データの一部へと逆置換する逆置換工程と、
    を有することを特徴とするデータ復元方法。
  15. コンピュータを請求項1から8のいずれか1項に記載のデータ分割装置が備える各手段として機能させるためのプログラム。
  16. コンピュータを請求項9から12のいずれか1項に記載のデータ復元装置が備える各手段として機能させるためのプログラム。
JP2012155882A 2012-07-11 2012-07-11 データ分割装置、データ復元装置、データ分割方法、データ復元方法、及びプログラム Pending JP2014016584A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012155882A JP2014016584A (ja) 2012-07-11 2012-07-11 データ分割装置、データ復元装置、データ分割方法、データ復元方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012155882A JP2014016584A (ja) 2012-07-11 2012-07-11 データ分割装置、データ復元装置、データ分割方法、データ復元方法、及びプログラム

Publications (1)

Publication Number Publication Date
JP2014016584A true JP2014016584A (ja) 2014-01-30

Family

ID=50111288

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012155882A Pending JP2014016584A (ja) 2012-07-11 2012-07-11 データ分割装置、データ復元装置、データ分割方法、データ復元方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP2014016584A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017215518A (ja) * 2016-06-01 2017-12-07 富士電機株式会社 データ処理装置、データ処理方法及びプログラム
JP2018032908A (ja) * 2016-08-22 2018-03-01 日本電気株式会社 情報送信方法、情報処理方法、プログラム、復号方法、プログラム
US10802888B2 (en) 2014-09-19 2020-10-13 Nec Corporation Information processing device and cooperative distributed storage system

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01122227A (ja) * 1987-11-06 1989-05-15 Konica Corp 伝送装置
JP2003223289A (ja) * 2002-01-28 2003-08-08 Internatl Business Mach Corp <Ibm> データ処理方法、データ処理システムおよびプログラム
JP2005141529A (ja) * 2003-11-07 2005-06-02 Hitachi Ltd 情報通信システム及び情報記憶媒体
JP2005175605A (ja) * 2003-12-08 2005-06-30 Sony Corp 情報処理装置、制御方法、プログラム、並びに記録媒体
JP2006012192A (ja) * 1999-12-20 2006-01-12 Dainippon Printing Co Ltd 分散型データアーカイブシステム
JP2006048158A (ja) * 2004-07-30 2006-02-16 Toshiba Corp データ格納方法及びデータ処理装置
JP2006279488A (ja) * 2005-03-29 2006-10-12 Toshiba Information Systems (Japan) Corp 暗号文生成装置、暗号文復号装置、暗号文生成プログラム及び暗号文復号プログラム
WO2007111086A1 (ja) * 2006-03-28 2007-10-04 Tokyo Denki University ディザスタリカバリ装置及びディザスタリカバリプログラム及びその記録媒体及びディザスタリカバリシステム

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01122227A (ja) * 1987-11-06 1989-05-15 Konica Corp 伝送装置
JP2006012192A (ja) * 1999-12-20 2006-01-12 Dainippon Printing Co Ltd 分散型データアーカイブシステム
JP2003223289A (ja) * 2002-01-28 2003-08-08 Internatl Business Mach Corp <Ibm> データ処理方法、データ処理システムおよびプログラム
JP2005141529A (ja) * 2003-11-07 2005-06-02 Hitachi Ltd 情報通信システム及び情報記憶媒体
JP2005175605A (ja) * 2003-12-08 2005-06-30 Sony Corp 情報処理装置、制御方法、プログラム、並びに記録媒体
JP2006048158A (ja) * 2004-07-30 2006-02-16 Toshiba Corp データ格納方法及びデータ処理装置
JP2006279488A (ja) * 2005-03-29 2006-10-12 Toshiba Information Systems (Japan) Corp 暗号文生成装置、暗号文復号装置、暗号文生成プログラム及び暗号文復号プログラム
WO2007111086A1 (ja) * 2006-03-28 2007-10-04 Tokyo Denki University ディザスタリカバリ装置及びディザスタリカバリプログラム及びその記録媒体及びディザスタリカバリシステム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10802888B2 (en) 2014-09-19 2020-10-13 Nec Corporation Information processing device and cooperative distributed storage system
JP2017215518A (ja) * 2016-06-01 2017-12-07 富士電機株式会社 データ処理装置、データ処理方法及びプログラム
US10411881B2 (en) 2016-06-01 2019-09-10 Fuji Electric Co., Ltd. Data processing apparatus, method for processing data, and medium
JP2018032908A (ja) * 2016-08-22 2018-03-01 日本電気株式会社 情報送信方法、情報処理方法、プログラム、復号方法、プログラム

Similar Documents

Publication Publication Date Title
US11783056B2 (en) Systems and methods for cryptographic-chain-based group membership content sharing
US11586757B2 (en) Systems and methods for a cryptographic file system layer
Demertzis et al. Fast searchable encryption with tunable locality
US10581603B2 (en) Method and system for secure delegated access to encrypted data in big data computing clusters
KR101403745B1 (ko) 데이터베이스 시스템에서 비-결정적으로 암호화된 데이터에대한 검색을 수행하는 방법 및 이를 위한 원격 데이터베이스를 제공하는 방법, 및 기계-판독가능 매체
Yang et al. Achieving efficient and privacy-preserving cross-domain big data deduplication in cloud
WO2006118171A1 (ja) 電子情報保存方法及び装置、電子情報分割保存方法及び装置、電子情報分割復元処理方法及び装置並びにそれらのプログラム
KR101979267B1 (ko) 클라우드 저장 기반 암호화 시스템 및 방법
US11070357B2 (en) Techniques for privacy-preserving data processing across multiple computing nodes
US8189790B2 (en) Developing initial and subsequent keyID information from a unique mediaID value
Abdalwahid et al. Enhancing approach using hybrid pailler and RSA for information security in bigdata
WO2018208786A1 (en) Method and system for secure delegated access to encrypted data in big data computing clusters
KR101428649B1 (ko) 맵 리듀스 기반의 대용량 개인정보 암호화 시스템 및 그의 동작 방법
Kim et al. Survey on Data Deduplication in Cloud Storage Environments.
JP2014016584A (ja) データ分割装置、データ復元装置、データ分割方法、データ復元方法、及びプログラム
CN105553661B (zh) 密钥管理方法和装置
CN111786987A (zh) 一种任务下发方法、装置、系统及设备
Yoosuf et al. Fogdedupe: A fog-centric deduplication approach using multi-key homomorphic encryption technique
Shin et al. Efficient and secure file deduplication in cloud storage
Dave et al. Securing SQL with access control for database as a service model
Sharma et al. Privacy preserving on searchable encrypted data in cloud
Kavade et al. Secure De-Duplication using Convergent Keys (Convergent Cryptography) for Cloud Storage
Guo et al. High Efficient Secure Data Deduplication Method for Cloud Computing
CN115549986A (zh) 数据求交方法、装置和电子设备
Bharathi et al. Secure Data Compression Scheme for Scalable Data in Dynamic Data Storage Environments

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150702

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160412

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160520

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160705

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20161205