(57)【要約】【課題】  データを分散保管する場合の秘匿性と復元性を効率的に実現する。【解決手段】  共通処理部201は、第一の鍵を用いて、複数の記憶装置に分散保管する対象データのセクタ情報を暗号化し、対象データを冗長化かつ分割した複数の第一のデータ系列を生成する。各個別処理部202は、複数の第一のデータ系列ごとに、暗号化されたセクタ情報、第一のデータ系列を保管する記憶装置102の識別情報、および、第二の鍵に基づき、第一のデータ系列を変換した第二のデータ系列を生成する。【選択図】  図2
2015102692.tif 000002
【特許請求の範囲】
【請求項１】
第一の鍵を用いて、複数の記憶装置に分散保管する対象データのセクタ情報を暗号化する第一の暗号化手段と、
前記対象データを冗長化かつ分割した複数の第一のデータ系列を生成する分割手段と、  前記複数の第一のデータ系列ごとに、前記暗号化されたセクタ情報、前記第一のデータ系列を保管する記憶装置の識別情報、および、第二の鍵に基づき、前記第一のデータ系列を変換した第二のデータ系列を生成する変換手段を有する情報処理装置。
【請求項２】
さらに、前記第二のデータ系列を前記識別情報が示す記憶装置に送信する送信手段を有する請求項1に記載された情報処理装置。
【請求項３】
前記変換手段は、
前記第一のデータ系列をブロックデータに再分割する手段と、
前記記憶装置の識別情報および前記ブロックデータの識別情報に基づき前記暗号化されたセクタ情報を変換する手段と、
前記変換されたセクタ情報および前記第二の鍵を用いて前記ブロックデータを暗号化する第二の暗号化手段と、
前記ブロックデータの識別情報に基づき、前記暗号化されたブロックデータを結合した前記第二のデータ系列を形成する手段とを有する請求項1または請求項2に記載された情報処理装置。
【請求項４】
前記第二の暗号化手段は、
前記変換されたセクタ情報に基づき前記ブロックデータを変換する手段と、
前記第二の鍵を用いて前記変換されたブロックデータを暗号化する手段と、
前記変換されたセクタ情報に基づき前記暗号化されたブロックデータを変換する手段とを有する請求項3に記載された情報処理装置。
【請求項５】
前記変換手段を複数有する請求項1から請求項4の何れか一項に記載された情報処理装置。
【請求項６】
前記分割手段は、ミラーリングにより前記冗長化を行う請求項1から請求項5の何れか一項に記載された情報処理装置。
【請求項７】
前記分割手段は、パリティデータの付加により前記冗長化を行う請求項1から請求項5の何れか一項に記載された情報処理装置。
【請求項８】
複数の記憶装置に分散保管されたデータから復元する対象データのセクタ情報を、第一の鍵を用いて暗号化する暗号化手段と、
前記分散保管されたデータごとに、前記データが分散保管された記憶装置を示す識別情報に基づき前記データを受信し、前記暗号化されたセクタ情報、前記識別情報、および、第二の鍵に基づき、前記受信したデータから分割データを復号する分割データ復号手段と、
前記分散保管されたデータそれぞれから復号された分割データから、前記セクタ情報に基づき前記対象データを復元する復元手段とを有する情報処理装置。
【請求項９】
前記分割データ復号手段は、
前記受信したデータを暗号化ブロックデータに分割する手段と、
前記記憶装置の識別情報および前記暗号化ブロックデータの識別情報に基づき前記暗号化されたセクタ情報を変換する手段と、
前記変換されたセクタ情報および前記第二の鍵を用いて前記暗号化ブロックデータからブロックデータを復号するブロックデータ復号手段と、
前記暗号化ブロックデータの識別情報に基づき前記復号されたブロックデータを結合した前記分割データを形成する手段とを有する請求項8に記載された情報処理装置。
【請求項１０】
前記ブロックデータ復号手段は、
前記変換されたセクタ情報に基づき前記暗号化ブロックデータを変換する手段と、
前記第二の鍵を用いて前記変換された暗号化ブロックデータを復号する手段と、
前記変換されたセクタ情報に基づき前記復号されたブロックデータを変換する手段とを有する請求項9に記載された情報処理装置。
【請求項１１】
前記分割データ復号手段を複数有する請求項8から請求項10の何れか一項に記載された情報処理装置。
【請求項１２】
請求項1から請求項7の何れか一項に記載された情報処理装置によって前記複数の記憶装置に分散保管されたデータから前記対象データを復元する請求項8から請求項11の何れか一項に記載された情報処理装置。
【請求項１３】
暗号化手段が、第一の鍵を用いて、複数の記憶装置に分散保管する対象データのセクタ情報を暗号化し、
分割手段が、前記対象データを冗長化かつ分割した複数の第一のデータ系列を生成し、  変換手段が、前記複数の第一のデータ系列ごとに、前記暗号化されたセクタ情報、前記第一のデータ系列を分散保管する記憶装置の識別情報、および、第二の鍵に基づき、前記第一のデータ系列を変換した第二のデータ系列を生成する情報処理方法。
【請求項１４】
暗号化手段が、複数の記憶装置に分散保管されたデータから復元する対象データのセクタ情報を、第一の鍵を用いて暗号化し、
前記分散保管されたデータごとに、復号手段が、前記データが分散保管された記憶装置を示す識別情報に基づき前記データを受信し、前記暗号化されたセクタ情報、前記識別情報、および、第二の鍵に基づき前記受信したデータから分割データを復号し、
復元手段が、前記分散保管されたデータそれぞれから復号された分割データから、前記セクタ情報に基づき前記対象データを復元する情報処理装置。
【請求項１５】
コンピュータを請求項1から請求項12の何れか一項に記載された情報処理装置の各手段として機能させるためのプログラム。
【請求項１６】
請求項15に記載されたプログラムが記録されたコンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データの分散保管に関する。
【背景技術】
【０００２】
個人情報などの機密データを、紛失、破壊、盗難などの脅威からセキュアに保管したいというニーズがある。この解決方法の一つにデータを複数に分割して保管する方法がある。例えば、単一のストレージサーバ（データセンタ）に保管するのでなく、データを分割して複数のストレージサーバに分散保管する。しかし、機密データを分散保管すると、情報漏洩リスクや、一部データの消失によるデータ欠如リスクが増大する。つまり、分散保管には秘匿性と復元性がとくに要求される。
【０００３】
秘匿性と復元性を実現しつつ、データを分散保管する様々な技術がある。例えば、暗号技術の一つである秘密分散法を利用した技術（特許文献1）がある。秘密分散法は、一般には(k, n)閾値秘密分散法とも呼ばれる。例えば、(3, 5)閾値秘密分散法は、原データを五つに分割し、二つ以下の分散データからは原データに関する情報が全く得られず、三つ以上のデータが揃うと原データが復元可能になる。つまり、k個未満の一部の分割データからは原データが復元されない秘匿性の実現と、一部の分割データでもk（≦n）個以上の分割データが得られれば原データが復元される復元性の実現が両立する。
【０００４】
また、暗号化とRAID (redundant array of inexpensive disks)を組み合わせることで、秘匿性と復元性を実現する技術がある。この技術は、暗号化してミラーリングする技術（特許文献2）と、ミラーリングして暗号化する技術（特許文献3）に大別することができる。
【０００５】
しかし、特許文献1の秘密分散法を利用する技術は、多項式演算を多用し、大きなマシンパワーを必要とする。このため、大きなデータの取り扱いに適した技術とは言えない。
【０００６】
特許文献2の技術は、暗号化してミラーリングするため、暗号化され分割された同じデータが複数箇所に保存される。同じ暗号化データを複数箇所に保存することは、暗号解読の観点から望ましくない。
【０００７】
特許文献3の技術は、暗号処理が分割数に比例して増加する。とくに、ストレージ用途の暗号化（XTSモード）の場合、脆弱性対策の前処理としての暗号処理も分割数に比例して増加する。例えば、ブロック暗号AES (Advanced Encryption Standard)により512バイト（1セクタ）のデータを暗号化する場合、データ暗号化に32回、脆弱性対策の前処理に一回、合計33回の暗号処理が必要になる。従って、データをN分割する場合、合計33N回の暗号処理が必要になる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開2008-097591号公報
【特許文献２】特開2006-252328号公報
【特許文献３】特開2008-197998号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本発明は、データを分散保管する場合の秘匿性と復元性を効率的に実現することを目的とする。
【課題を解決するための手段】
【００１０】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【００１１】
本発明にかかる情報処理は、第一の鍵を用いて、複数の記憶装置に分散保管する対象データのセクタ情報を暗号化し、前記対象データを冗長化かつ分割した複数の第一のデータ系列を生成し、前記複数の第一のデータ系列ごとに、前記暗号化されたセクタ情報、前記第一のデータ系列を保管する記憶装置の識別情報、および、第二の鍵に基づき、前記第一のデータ系列を変換した第二のデータ系列を生成する。
【００１２】
また、複数の記憶装置に分散保管されたデータから復元する対象データのセクタ情報を、第一の鍵を用いて暗号化し、前記分散保管されたデータごとに、前記データが分散保管された記憶装置を示す識別情報に基づき前記データを受信し、前記暗号化されたセクタ情報、前記識別情報、および、第二の鍵に基づき前記受信したデータから分割データを復号し、前記分散保管されたデータそれぞれから復号された分割データから、前記セクタ情報に基づき前記対象データを復元する。
【発明の効果】
【００１３】
本発明によれば、データを分散保管する場合の秘匿性と復元性を効率的に実現することができる。
【図面の簡単な説明】
【００１４】
【図１】実施例のデータ分散保管システムの構成例を示す図。
【図２】データ分割サーバの処理構成例を示すブロック図。
【図３】データ分割サーバの処理構成の詳細を説明するブロック図。
【図４】データ分割サーバにおける保存対象データの分割処理を説明するフローチャート。
【図５】保存対象データの復元処理におけるデータ分割サーバの処理構成の詳細を説明するブロック図。
【図６】データ分割サーバにおける分散保管されたデータの復元処理を説明するフローチャート。
【発明を実施するための形態】
【００１５】
以下、本発明にかかる実施例の情報処理を図面を参照して詳細に説明する。なお、本発明の範囲は以下の実施例に限定されるものではない。
【００１６】
［データ分散保管システムの構成］
図1により実施例のデータ分散保管システムの構成例を示す。
【００１７】
データ分散保管システムは、データ分割サーバ101と複数の外部ストレージサーバ（記憶装置）102を含み、それらサーバはネットワーク103を介して相互に接続されている。ネットワーク103は、インターネットでもイントラネットでもよい。また、各サーバは、ゲートウェイなどの中継サーバを介して、ネットワーク103に接続されていてもよい。
【００１８】
データ分割サーバ101は、複数の記憶装置である外部ストレージサーバ102にデータを分散保管するために、分散保管の対象データ（以下、保存対象データ）を分割した分割データを生成するデータ分割装置として機能する。そして、データ分割サーバ101は、分割データを複数の外部ストレージサーバ102に送信し、分割データを記憶させる。
【００１９】
また、データ分割サーバ101は、外部ストレージサーバ102から分割データを収集し、収集した分割データから保存対象データを復元するデータ復元装置としても機能する。なお、データ復元機能とデータ分割機能はそれぞれ別のサーバによって実行されてもよいし、実施例のように一つのサーバがデータ分割機能とデータ復元機能の両方を備えていてもよい。
【００２０】
また、保存対象データの分割処理と復元処理は、専用のハードウェアにより実行されてもよいし、コンピュータ上で動作するプログラムにより実行されてもよい。保存対象データは、例えば、データ分割サーバ101内部で生成されたデータでもよいし、メモリカードなどの記録媒体やネットワーク103を介して、データ分割サーバ101が外部から受信したデータでもよい。保存対象データとして様々なデータ種別が想定される。
【００２１】
データ分割サーバ101は保存対象データを分割した分割データを複数の外部ストレージサーバ102に送信し、外部ストレージサーバ102はそれぞれ受信した分割データを保管する。このようなシステムは、例えば、ストレージサービスを提供する複数の事業者が外部ストレージサーバ102を提供し、複数のストレージサービスを利用する例えばオンラインフォトサービスの提供者がデータ分割サーバ101を提供する形態として実現される。また、オンラインストレージサービスを提供する事業者がデータ分割サーバ101を提供し、当該オンラインストレージサービス内の複数のストレージを外部ストレージサーバ102に利用する形態として実現することもできる。
【００２２】
本実施例では、RAID（レイド）方式によるハードディスクドライブ(HDD)のアクセスを、複数の分散ストレージサーバに展開する形態を例として説明する。従って、データのアクセス単位は、HDDのアクセス単位に倣いセクタ単位であると想定する。
【００２３】
また、本実施例においては、ブロック暗号の処理単位を「ブロック」と呼ぶ。一般に、1セクタは512バイトから2kバイト程度であり、ブロック暗号AESのブロックサイズは128ビットであるため、32ブロックから128ブロックによって1セクタが構成されることになる。
【００２４】
［データ分割サーバ］
図2のブロック図によりデータ分割サーバ101の処理構成例を示す。図2に示す構成は、データ分割サーバ101のワークメモリにロードされたプログラムによって実現されるが、これに限定されることなく、専用のハードウェアで実現することもできる。
【００２５】
図2に示すように、データ分割サーバ101のデータ分割処理は、共通処理部201と個別処理部202に区分することができる。
【００２６】
共通処理部201は、外部ストレージサーバ102に依存しない処理を行い、主に、保存対象データを複数の分割データ（第一のデータ系列）に分割する。その際、RAIDコントローラに相当する処理を行い、データを冗長化して分割する。さらに、RAID 1相当のミラーリングを行う場合、データを多重化して冗長化する。また、RAID 5相当の処理を行う場合、誤り訂正符号データ（パリティデータ）を付加して、データを多重化し冗長化する。なお、本実施例は、RAID 1やRAID 5といった特定のRAIDレベルに限定されない。
【００２７】
データ分割サーバ101は、外部ストレージサーバ102に対応して個別処理部202を複数有する。各個別処理部202は、外部ストレージサーバ102ごとの処理を行い、主に、第一の系列データの一つである分割データを変換した第二の系列データを生成する。
【００２８】
図3のブロック図によりデータ分割サーバ101の処理構成の詳細を説明する。なお、複数の個別処理部202は、同様の構成を有するため、図3には個別処理部202を一つだけ示す。
【００２９】
共通処理部201は、RAID処理部302と第一の暗号化部301を有する。RAID処理部302は、予め定められたRAIDレベルに従い、保存対象データを冗長化して複数の分割データを生成する。例えば、RAID 1のミラーリングの場合はデータの多重化、データの冗長化、データの分割を行う。RAID 5の場合は誤り訂正符号データの付加、データの多重化、データの冗長化、データの分割を行う。
【００３０】
第一の暗号化部301は、第一の鍵とセクタ情報を入力し、第一の鍵を用いてセクタ情報を暗号化したデータ（以下、暗号化セクタデータ）を生成する。セクタ情報は、RAID処理部302に入力された保存対象データに対応する情報であり、アドレス情報に相当する。処理速度の観点から暗号アルゴリズムには、公開鍵暗号方式ではなく、ブロック暗号を利用することが望ましい。勿論、本実施例は、特定のブロック暗号アルゴリズムに限定されず、AESや3-Key DESなど様々なブロック暗号アルゴリズムを利用することができる。
【００３１】
個別処理部202は、第一の変換部303、第二の変換部304、分割部305、第一の排他的論理和(XOR)部306、第二の暗号化部307、第二のXOR部308、および、結合部309を有する。
【００３２】
第一の変換部303は、ストレージサーバ識別情報に基づき、暗号化セクタデータを変換したデータ（以下、第一の変換データ）を生成する。変換処理の単位はブロックサイズである。
【００３３】
ストレージサーバ識別情報は、分散保管先の外部ストレージサーバ102を識別するための情報であり、システム構成の決定時などに定まり、外部ストレージサーバ102に対応する個別処理部202に予め保存される。ストレージサーバ識別情報は、ユニークなURLでもよいし、システム内においてだけユニークな識別情報でもよい。例えば、図1に示す外部ストレージサーバ102に、左から順に、ストレージサーバ識別情報として「1」「2」…を付与してもよい。
【００３４】
第一の変換部303における変換方法は、入力データ長と出力データ長が同じになるデータ変換方法である。例えば、XTSモードは線形フィードバックレジスタを利用し、本実施例も線形フィードバックレジスタを変換に利用することができる。
【００３５】
分割部305は、共通処理部201から入力される分割データをブロック単位のデータ（以下、ブロックデータ）に再分割する。同時に、分割データのブロックを識別するためのブロック識別情報を出力する。例えば、512バイトの分割データをブロック暗号AESで処理する場合、分割データは32個のブロックデータに分割され、各ブロックデータにブロック識別情報として「0」から「31」のシリアルナンバーが割り当てられる。
【００３６】
第二の変換部304は、第一の変換データおよびブロック識別情報を入力し、ブロック識別情報に基づき第一の変換データを変換したデータ（以下、第二の変換データ）を生成する。変換処理の単位はブロックサイズである。
【００３７】
第二の変換部304における変換方法は、第一の変換部303と同様であり、入力データ長と出力データ長が同じになるデータ変換方法であり、例えば線形フィードバックレジスタを利用した変換である。なお、第一の変換部303の変換方法と第二の変換部304の変換方法は、同一でも、異なっていてもよい。
【００３８】
第一のXOR部306は、第二の変換データと、分割部305から入力されるブロックデータの排他的論理和をとり、その結果を出力する。処理単位はブロックサイズである。
【００３９】
第二の暗号化部307は、第二の鍵を用いて、第一のXOR部306から入力される値を暗号化したデータ（以下、暗号化ブロックデータ）を生成する。この暗号化処理は、ブロックサイズのデータが対象となるため、暗号利用モードはECB (electronic codebook)になる。なお、第一の暗号化部301と第二の暗号化部307は、基本的に同一の暗号アルゴリズムを利用することを前提とするが、ブロックサイズが同じであれば異なる暗号アルゴリズムを利用することができる。
【００４０】
第二のXOR部308は、第二の変換データと、第二の暗号化部307から入力される暗号化ブロックデータの排他的論理和をとり、その結果を出力する。処理単位はブロックサイズである。
【００４１】
結合部309は、分割部305が出力するブロック識別情報に基づき、第二のXOR部308が出力する複数の暗号化ブロックデータを結合し、暗号化分割データを形成する。
【００４２】
●分割処理
図4のフローチャートによりデータ分割サーバ101における保存対象データの分割処理を説明する。なお、図4に示す処理は、保存対象データの分散保管が指示された場合に実行される。
【００４３】
共通処理部201は、第一および第二の鍵、保存対象データ、並びに、保存対象データに対応するセクタ情報を入力する(S401)。そして、第一の暗号化部301による第一の鍵を用いたセクタ情報の暗号化と、RAID処理部302による保存対象データのRAID処理を行い、暗号化セクタデータと分割データを生成する(S402)。以降の処理は、個別処理部202ごとに実行される。
【００４４】
個別処理部202は、第一の変換部303により、ストレージサーバ識別情報に基づき暗号化セクタデータを第一の変換データに変換し(S403)、分割部305により分割データをブロックサイズのブロックデータに再分割する(S404)。
【００４５】
次に、個別処理部202は、第二の変換部304により、ブロック識別情報に基づき第一の変換データを第二の変換データに変換する(S405)。そして、第一のXOR部306によりブロックデータと第二の変換データを排他的論理和し(S406)、第二の暗号化部307により第二の鍵を用いてXOR結果を暗号化した暗号化ブロックデータを生成する(S407)。
【００４６】
次に、個別処理部202は、第二のXOR部308により暗号化ブロックデータと第二の変換データを排他的論理和する(S408)。なお、個別処理部202は、分割データを再分割したブロックデータごとにステップS405からS408の処理を繰り返し実行する。
【００４７】
次に、個別処理部202は、結合部309により、ブロック識別情報に基づき、分割データに対応する複数のXOR結果（ステップS408の処理結果）を結合して暗号化分割データを形成する(S409)。そして、暗号化分割データをストレージサーバ識別情報が示す外部ストレージサーバ102に送信し、分散保管させる(S410)。
【００４８】
●復元処理
図5のブロック図により保存対象データの復元処理におけるデータ分割サーバ101の処理構成の詳細を説明する。なお、複数の個別処理部202は、同様の構成を有するため、図5には個別処理部202を一つだけ示す。
【００４９】
図3には保存対象データを分散保管する際の処理構成とデータの流れを示したが、図5は保存対象データを復元処理する際の処理構成とデータの流れを示す。図5に示す各構成は、図3に示す構成とほぼ同様であるが、図3における第二の暗号化部307が復号部501に代わっている点で異なる。復号部501は、第二の暗号化部307と対をなし、第二の鍵を用いて暗号データを復号する復号処理を行う。また、図3と図5においては、分割部305と結合部309のデータフロー上の配置が入れ替わる。
【００５０】
図6のフローチャートによりデータ分割サーバ101における分散保管されたデータの復元処理を説明する。なお、図6に示す処理は、分散保管されたデータの復元が指示された場合に実行される。
【００５１】
共通処理部201は、第一および第二の鍵、並びに、復元する分散保管されたデータ（以下、復元対象データ）に対応するセクタ情報を入力する(S601)。そして、第一の暗号化部301により、第一の鍵を用いてセクタ情報を暗号化した暗号化セクタデータを生成する(S602)。
【００５２】
個別処理部202は、第一の変換部303により、ストレージサーバ識別情報に基づき暗号化セクタデータを第一の変換データに変換する(S603)。さらに、ストレージサーバ識別情報に基づき外部ストレージサーバ102に分散保管された暗号化分割データを取得する(S604)。
【００５３】
次に、個別処理部202は、分割部305により、暗号化分割データをブロックサイズの暗号化ブロックデータに再分割する(S605)。そして、第二の変換部により、分割部305が出力するブロック識別情報に基づき第一の変換データを第二の変換データに変換する(S606)。
【００５４】
次に、個別処理部202は、第二のXOR部308により、暗号化ブロックデータと第二の変換データを排他的論理和し(S607)、復号部501により、第二の鍵を用いてXOR結果を復号してブロックデータを復元する(S608)。
【００５５】
次に、個別処理部202は、第一のXOR部306により、復元されたブロックデータと第二の変換データを排他的論理和する(S609)。なお、個別処理部202は、暗号化分割データを再分割した暗号化ブロックデータごとにステップS606からS609の処理を繰り返し実行する。
【００５６】
次に、個別処理部202は、結合部309により、ブロック識別情報に基づき、暗号化分割データに対応する複数のXOR結果（ステップS609の処理結果）を結合して分割データを復元する(S610)。
【００５７】
共通処理部201は、各外部ストレージサーバ102に分散保管され、各個別処理部202によって復元された複数の分割データをセクタ情報に基づきRAID処理して復元対象データを復元する(S611)。
【００５８】
各個別処理部202は暗号化分割データから分割データを復号する分割データ復号部として機能し、復号部501は暗号化ブロックデータからブロックデータを復号するブロックデータ復号部として機能する。
【００５９】
このように、外部ストレージサーバ102に対応する個別処理部202ごとに暗号処理を行うため、外部ストレージサーバ102ごとに異なる暗号データを生成することができる。また、暗号処理が、外部ストレージサーバ102に依存しない第一の暗号化部301と、外部ストレージサーバ102に依存する第二の暗号化部307に分離されている。そのため、非依存処理部である第一の暗号化部301の共有が可能になり、トータルの暗号処理を削減することができ。
【００６０】
例えば、ブロック暗号AESで512バイト（1セクタ）のデータを処理する場合、共通処理部201において一回、個別処理部202において32回の暗号処理になる。従って、保存対象データをN分割する場合、合計1+32N回の暗号処理になり、特許文献3の技術に関連して例示した暗号処理に比べてN-1回の暗号処理を削減することができる。
【００６１】
また、復元性については、外部ストレージサーバ102に依存しない共通処理部201にRAID処理としてまとめることで、RAIDの復元性がそのまま適用される。とくに、RAID 1やRAID 5といったRAIDレベルに依存しない構成となり、必要に応じたRAIDレベルを利用することができる。
【００６２】
なお、上記では、ストレージサーバ識別情報は、システム構成の決定時に定まり、個別処理部202に予め保存されると説明した。しかし、例えば、RAID処理部302において、分割データを生成する際に、分散保管対象の外部ストレージサーバの識別情報を出力してもよい。このような構成にすれば、個別処理部202と外部ストレージサーバ102を予め対応させる必要がなくなり、外部ストレージサーバ102の例えば処理速度に応じて、適応的に個別処理部202を割り当てることが可能になる。
【００６３】
さらに、上記では、第一および第二の鍵が外部から入力される例を説明した。しかし、ストレージサーバ識別情報と同様に、システム構成の決定時にそれら鍵を決定し、保存対象データの入力ごとに鍵を入力しない構成も可能である。また、個別処理部202が利用する鍵を第二の鍵として説明したが、複数の個別処理部202が同じ「第二の鍵」を利用する必然はない。個別処理部202ごとに異なる「第二の鍵」を利用することが可能であり、そうすれば「第二の鍵」の漏洩、流出による影響を局所化することが可能になる。
【００６４】
このように、例えば、合計32N+1回の暗号化処理により512バイトのデータをN分割した暗号化分割データを生成する効率的な暗号処理によって、すべての分割データを異なるデータにすることができる。従って、データを分散保管する場合、効率的な暗号処理で同一の暗号データを生成することなく、かつ、RAIDによる復元性をそのまま利用することができる。
【００６５】
［その他の実施例］
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記録媒体を介してシステム或いは装置に供給し、そのシステムあるいは装置のコンピュータ（又はCPUやMPU等）がプログラムを読み出して実行する処理である。
【図１】
2015102692.tif 000003
【図２】
2015102692.tif 000004
【図３】
2015102692.tif 000005
【図４】
2015102692.tif 000006
【図５】
2015102692.tif 000007
【図６】
2015102692.tif 000008