(57)【要約】【課題】データセンターの情報処理装置が保持するバックアップデータのデータ量を削減する。【解決手段】乱数列で暗号化されたバックアップ対象の複数のデータを用いてパリティデータを生成してバックアップデータとして記憶し、バックアップ対象のデータを復元する場合には、複数のデータの内の復元するデータを除くデータを乱数列で暗号化し、暗号化されたデータとパリティデータとを用いて復元するデータの復元データを生成し、復元データと乱数列とを用いてデータを復元する。【選択図】図３
2019003163.tif 000002
【特許請求の範囲】
【請求項１】
バックアップ対象の複数のデータに基づいて生成されるパリティデータを記憶する記憶部と、
乱数列で暗号化された前記複数のデータを用いて前記パリティデータを生成する第１の演算処理部と、
前記乱数列で暗号化された、前記複数のデータの内の復元するデータを除くデータと、前記パリティデータとを用いて、前記復元するデータの復元データを生成する第２の演算処理部とを有することを特徴とする情報処理装置。
【請求項２】
前記第１の演算処理部は、前記乱数列で暗号化された前記複数のデータの排他的論理和演算を行い前記パリティデータを生成し、
前記第２の演算処理部は、前記乱数列で暗号化された、前記複数のデータの内の復元するデータを除くデータと、前記パリティデータとの排他的論理和演算を行い前記復元データを生成することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記バックアップ対象の複数のデータを保持する情報処理装置及び前記パリティデータを保持する情報処理装置とは異なる情報処理装置が保持する前記乱数列でデータが暗号化されることを特徴とする請求項１又は２記載の情報処理装置。
【請求項４】
前記バックアップ対象の複数のデータを保持する情報処理装置が保持する前記乱数列でデータが暗号化されることを特徴とする請求項１又は２記載の情報処理装置。
【請求項５】
前記パリティデータを保持する情報処理装置が保持する前記乱数列でデータが暗号化されることを特徴とする請求項１又は２記載の情報処理装置。
【請求項６】
バックアップ対象の複数のデータに基づいてパリティデータを生成して記憶し、
前記複数のデータの内の復元するデータを除くデータを乱数列で暗号化し、
前記暗号化されたデータと前記パリティデータとを用いて前記復元するデータの復元データを生成し、
前記復元データと前記乱数列とを用いて前記バックアップ対象のデータを復元することを特徴とする情報処理方法。
【請求項７】
乱数列で暗号化されたバックアップ対象の複数のデータに基づいてパリティデータを生成し記憶部に記憶するステップと、
前記乱数列で暗号化された、前記複数のデータの内の復元するデータを除くデータと、前記パリティデータとを用いて、前記復元するデータの復元データを生成するステップとをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、バックアップとしてデータセンターに複数のユーザのデータを保持する場合、データセンターでは、データセンターが有する情報処理装置の記憶装置（ストレージ装置）にユーザ毎に個別のディスク容量（記憶容量）を準備して各ユーザのデータを保持している。ユーザであるＣ１社、Ｃ２社、Ｃ３社がそれぞれのデータのバックアップ管理をデータセンターＰに委託する場合の例を図１７に示す。
【０００３】
データのバックアップを委託するＣ１社の情報処理装置１１０−１は、バックアップ対象のデータ（Ｄ１）１１１−１と、データセンターＰとの通信に使用する乱数列（Ｒ１）１１２−１との排他的論理和演算を行ってデータ（Ｄ１）を暗号化し、演算結果（Ｄ１＃Ｒ１）をデータセンターＰへ送信する。なお、記号“＃”は排他的論理和を示す（以下においても同様）。
【０００４】
同様に、Ｃ２社の情報処理装置１１０−２は、バックアップ対象のデータ（Ｄ２）１１１−２と、データセンターＰとの通信に使用する乱数列（Ｒ２）１１２−２との排他的論理和演算を行い、演算結果（Ｄ２＃Ｒ２）をデータセンターＰへ送信する。また、Ｃ３社の情報処理装置１１０−３は、バックアップ対象のデータ（Ｄ３）１１１−３と、データセンターＰとの通信に使用する乱数列（Ｒ３）１１２−３との排他的論理和演算を行い、演算結果（Ｄ３＃Ｒ３）をデータセンターＰへ送信する。
【０００５】
データセンターＰでは、データセンターＰが有する情報処理装置１２０の記憶装置（ストレージ装置）にＣ１社、Ｃ２社、Ｃ３社に対する個別のディスク容量（記憶容量）１２１−１、１２１−２、１２１−３を用意する。そして、各社からのデータ（Ｄ１＃Ｒ１）、（Ｄ２＃Ｒ２）、（Ｄ３＃Ｒ３）を用意したディスク１２１−１、１２１−２、１２１−３にそれぞれ保持する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平６−３４８４１９号公報
【特許文献２】特開２０００−２９３４２０号公報
【特許文献３】特開２００３−２０８３５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
前述のように、従来はバックアップとしてデータセンターに複数のユーザのデータを保持する場合、データセンターではユーザ毎に個別のデータをバックアップデータとして保持している。したがって、データのバックアップを委託するユーザの数が増加すると、それに伴ってデータセンターの情報処理装置が保持するバックアップデータのデータ量が増大する。１つの側面では、本発明の目的は、データセンターの情報処理装置が保持するバックアップデータのデータ量を削減できるようにすることにある。
【課題を解決するための手段】
【０００８】
情報処理装置の一態様は、乱数列で暗号化されたバックアップ対象の複数のデータを用いてパリティデータを生成して記憶し、乱数列で暗号化された複数のデータの内の復元するデータを除くデータとパリティデータとを用いて、復元するデータの復元データを生成する。
【発明の効果】
【０００９】
発明の一態様においては、データセンターの情報処理装置が保持するバックアップデータのデータ量を削減することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、第１の実施形態におけるデータ管理システムの構成例を示す図である。
【図２】図２は、第１の実施形態におけるデータバックアップを説明する図である。
【図３】図３は、第１の実施形態におけるデータバックアップ処理の例を示すフローチャートである。
【図４】図４は、第１の実施形態におけるデータ復元を説明する図である。
【図５】図５は、第１の実施形態におけるデータ復元処理の例を示すフローチャートである。
【図６】図６は、本実施形態における情報処理装置の構成例を示す図である。
【図７】図７は、第２の実施形態におけるデータ管理システムの構成例を示す図である。
【図８】図８は、第２の実施形態におけるデータバックアップを説明する図である。
【図９】図９は、第２の実施形態におけるデータバックアップ処理の例を示すフローチャートである。
【図１０】図１０は、第２の実施形態におけるデータ復元を説明する図である。
【図１１】図１１は、第２の実施形態におけるデータ復元処理の例を示すフローチャートである。
【図１２】図１２は、第３の実施形態におけるデータ管理システムの構成例を示す図である。
【図１３】図１３は、第３の実施形態におけるデータバックアップを説明する図である。
【図１４】図１４は、第３の実施形態におけるデータバックアップ処理の例を示すフローチャートである。
【図１５】図１５は、第３の実施形態におけるデータ復元を説明する図である。
【図１６】図１６は、第３の実施形態におけるデータ復元処理の例を示すフローチャートである。
【図１７】図１７は、従来のデータバックアップを説明する図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態を図面に基づいて説明する。なお、以下の説明において、記号“＃”は排他的論理和を示し、例えば「Ｘ＃Ｙ」は、ＸとＹとの排他的論理和演算の結果を示す。
【００１２】
（第１の実施形態）
本発明の第１の実施形態について説明する。
図１は、第１の実施形態におけるデータ管理システムの構成例を示す図である。Ｃ１社、Ｃ２社、Ｃ３社、・・・は、データセンターＰ及びデータセンターＲに対してデータのバックアップ管理を委託するユーザである。Ｃ１社の情報処理装置１０−１がデータ（Ｄ１）１１−１を保持しており、Ｃ２社の情報処理装置１０−２がデータ（Ｄ２）１１−２を保持しており、Ｃ３社の情報処理装置１０−３がデータ（Ｄ３）１１−３を保持している。
【００１３】
データセンターＰの情報処理装置２０は、複数のユーザのバックアップデータをパリティデータ（Ｐ０）２１の形で管理する。すなわち、データセンターＰの情報処理装置２０は、複数のユーザのバックアップ対象のデータに基づいて生成したパリティデータ（Ｐ０）２１をバックアップデータとして保持する。データセンターＲの情報処理装置３０は、複数のユーザがデータセンターＰとの通信に使用する乱数列（Ｒ）３１を保持する。乱数列（Ｒ）３１は、バックアップ対象のデータを暗号化する際の暗号鍵、及び暗号化されたデータを復号する際の復号鍵として用いられる。
【００１４】
第１の実施形態におけるデータバックアップについて、図２及び図３を参照して説明する。以下では、３つのユーザＣ１社、Ｃ２社、Ｃ３社が、データのバックアップ管理を委託する場合を例に説明する。図２は、第１の実施形態におけるデータバックアップを説明する図であり、図３は、第１の実施形態におけるデータバックアップ処理の例を示すフローチャートである。
【００１５】
まず、ステップＳ３０１にて、Ｃ１社、Ｃ２社、及びＣ３社の各社の情報処理装置１０−１、１０−２、１０−３が、データセンターＲの情報処理装置３０から乱数列（Ｒ）３１を取得する（Ｐ１１）。
【００１６】
次に、ステップＳ３０２にて、各社の情報処理装置１０−１、１０−２、１０−３は、バックアップ対象のデータ（Ｄｉ）１１−ｉと、ステップＳ３０１において取得した乱数列（Ｒ）との排他的論理和演算を行い、演算結果（Ｄｉ＃Ｒ）をデータセンターＰの情報処理装置２０に送信する（Ｐ１２）。つまり、情報処理装置１０−１、１０−２、１０−３は、バックアップ対象のデータ（Ｄｉ）１１−ｉを、ステップＳ３０１において取得した乱数列（Ｒ）を用いて暗号化しデータセンターＰの情報処理装置２０に送信する。なお、ｉは添え字であり、ここではｉ＝１、２、３である。
【００１７】
次に、ステップＳ３０３にて、データセンターＰの情報処理装置２０は、各社の情報処理装置１０−１、１０−２、１０−３から送られてきたデータ（Ｄｉ＃Ｒ）を排他的論理和演算し、演算結果をパリティデータ（Ｐ０）とする。本例では、パリティデータ（Ｐ０）は、（Ｄ１＃Ｒ）＃（Ｄ２＃Ｒ）＃（Ｄ３＃Ｒ）である。そして、データセンターＰの情報処理装置２０は、パリティデータ（Ｐ０）をバックアップデータとしてディスク２１に保存し保持する。
【００１８】
なお、前述した説明では、同じタイミングで各社の情報処理装置１０−１、１０−２、１０−３が、バックアップ対象のデータ（Ｄｉ）１１−ｉを暗号化しデータセンターＰの情報処理装置２０に送信するようにしている。しかし、データセンターＰの情報処理装置２０は、送られてきたデータ（Ｄｉ＃Ｒ）を排他的論理和演算してパリティデータ（Ｐ０）を生成するので、バックアップ対象のデータ（Ｄｉ）１１−ｉを暗号化し情報処理装置２０に送信するタイミングは任意であり、異なっていてもよい。
【００１９】
次に、前述のようにしてバックアップされたデータからのデータ復元について、図４及び図５を参照して説明する。以下では、ユーザＣ２社のデータ（Ｄ２）１１−２を復元する場合を例に説明するが、他のデータ（Ｄ１、Ｄ３）１１−１、１１−３も同様にして復元することが可能である。図４は、第１の実施形態におけるデータ復元を説明する図であり、図５は、第１の実施形態におけるデータ復元処理の例を示すフローチャートである。
【００２０】
まず、ステップＳ５０１にて、データ復元の対象ではないＣ１社及びＣ３社の情報処理装置１０−１、１０−３が、データセンターＲの情報処理装置３０から乱数列（Ｒ）３１を取得する（Ｐ２１）。次に、ステップＳ５０２にて、Ｃ１社及びＣ３社の情報処理装置１０−１、１０−３は、バックアップ対象のデータ（Ｄｉ）１１−ｉと、ステップＳ５０１において取得した乱数列（Ｒ）との排他的論理和演算を行い、演算結果（Ｄｉ＃Ｒ）をデータセンターＰの情報処理装置２０に送信する（Ｐ２２）。なお、ｉは添え字であり、ここではｉ＝１、３である。
【００２１】
次に、ステップＳ５０３にて、データセンターＰの情報処理装置２０は、Ｃ１社及びＣ３社の情報処理装置１０−１、１０−３から送られてきたデータ（Ｄ１＃Ｒ、Ｄ３＃Ｒ）とパリティデータ（Ｐ０）との３つのデータの排他的論理和演算を行う。ここで、パリティデータ（Ｐ０）は、（Ｄ１＃Ｒ）＃（Ｄ２＃Ｒ）＃（Ｄ３＃Ｒ）であるので、この演算（Ｄ１＃Ｒ）＃（Ｄ３＃Ｒ）＃（Ｐ０）の演算結果は、復元対象のデータ（Ｄ２）と乱数列（Ｒ）との排他的論理和（Ｄ２＃Ｒ）と等しくなる。そして、データセンターＰの情報処理装置２０は、演算結果（Ｄ２＃Ｒ）をデータ復元の対象であるＣ２社の情報処理装置１０−２に送信する（Ｐ２３）。
【００２２】
ステップＳ５０４にて、データ復元の対象であるＣ２社の情報処理装置１０−２が、データセンターＲの情報処理装置３０から乱数列（Ｒ）３１を取得する（Ｐ２４）。次に、ステップＳ５０５にて、Ｃ２社の情報処理装置１０−２は、データセンターＰの情報処理装置２０から送られてきたデータ（Ｄ２＃Ｒ）と、ステップＳ５０４において取得した乱数列（Ｒ）との排他的論理和演算を行い、データ（Ｄ２）１１−２を復元する。なお、ステップＳ５０４の処理は、図５に示した例に限らず、ステップＳ５０５の処理を実行する前の任意の時点で行われていれば良い。
【００２３】
図６は、本実施形態における各情報処理装置の構成例を示す図である。図６に示す情報処理装置は、メモリ６０１とＣＰＵ（Central Processing Unit）６０２とハードディスクドライブ（ＨＤＤ）６０３と出力装置６０４と記録媒体６０５用のドライブ装置６０６と入力装置６０７とネットワークに接続するための通信制御部６０８とがバス６０９で接続されている。例えば、データセンターＰの情報処理装置２０におけるＣＰＵ６０２により第１の演算処理部及び第２の演算処理部の機能が実現され、ＨＤＤ６０３により記憶部の機能が実現される。オペレーティングシステム（ＯＳ）及び前述した処理を実施するためのアプリケーションプログラムは、ＨＤＤ６０３に格納されており、ＣＰＵ６０２により実行される際にはＨＤＤ６０３からメモリ６０１に読み出される。
【００２４】
ＣＰＵ６０２は、アプリケーションプログラムの処理内容に応じて出力装置６０４、ドライブ装置６０６、通信制御部６０８等を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ６０１に格納されるが、ＨＤＤ６０３に格納されるようにしてもよい。本例では、前述した処理を実施するためのアプリケーションプログラムは、例えばコンピュータ読み取り可能な可搬型の記録媒体６０５に格納されて頒布され、ドライブ装置６０６からＨＤＤ６０３にインストールされる。インターネット等のネットワーク及び通信制御部６０８を経由して、ＨＤＤ６０３にインストールされる場合もある。このようなコンピュータは、前述したＣＰＵ６０２、メモリ６０１等のハードウェアとＯＳ及びアプリケーションプログラム等のソフトウェアとが有機的に協働することにより、前述した各種機能を実現する。
【００２５】
第１の実施形態によれば、データセンターＰの情報処理装置２０は、複数のユーザから送られてきたデータそのものを記憶せずに、複数のユーザから送られてきたデータに基づいてパリティデータを生成してバックアップデータとして記憶するので、保持するバックアップデータのデータ量を削減することができる。また、バックアップ対象のデータを復元する際には、復元するデータ以外のデータとパリティデータと乱数列を用いてデータを復元することができる。
【００２６】
また、データセンターＰにおいては、暗号化されたデータが入出力され、暗号化に用いた乱数列の情報を有しないので、バックアップ対象のデータを復元することができない。また、データセンターＲは、乱数列の情報のみを有し、データにアクセスすることはない。したがって、データセンター側からの情報漏洩を防止することができる。また、データセンターＰ及びデータセンターＲから取得するデータでバックアップ対象のデータが復元可能であるので、例えばユーザ側において災害等でデータを破損したとしても、バックアップ対象のデータを復元することができる。
【００２７】
なお、前述した例では、データセンターＲの情報処理装置３０が乱数列（Ｒ）３１を保持し、ユーザの情報処理装置１０−１〜１０−３に同じ乱数列（Ｒ）３１を提供するようにしているが、ユーザ毎に異なる乱数列を提供するようにしてもよい。同じ乱数列を提供するようにした場合には乱数列の記憶に要する記憶容量を低減できるが、ユーザ毎に異なる乱数列を提供するようにした場合には情報に対する安全性を向上させることができる。
【００２８】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。以下に説明する第２の実施形態は、乱数列を保持するデータセンターＲを設けずに、データセンターＰに対してデータのバックアップ管理を委託するユーザ（Ｃ１社、Ｃ２社、Ｃ３社、・・・）側で乱数列を保持する。
【００２９】
図７は、第２の実施形態におけるデータ管理システムの構成例を示す図である。Ｃ１社の情報処理装置１０−１がデータ（Ｄ１）１１−１及び乱数列（Ｒ１）１２−１を保持しており、Ｃ２社の情報処理装置１０−２がデータ（Ｄ２）１１−２及び乱数列（Ｒ２）１２−２を保持しており、Ｃ３社の情報処理装置１０−３がデータ（Ｄ３）１１−３及び乱数列（Ｒ３）１２−３を保持している。乱数列（Ｒ１〜Ｒ３）１２−１〜１２−３は、それぞれのユーザがデータセンターＰとの通信に使用する乱数列であり、バックアップ対象のデータを暗号化する際の暗号鍵、及び暗号化されたデータを復号する際の復号鍵として用いられる。
【００３０】
データセンターＰの情報処理装置２０は、第１の実施形態と同様に、複数のユーザのバックアップデータをパリティデータ（Ｐ０）２１の形で管理する。すなわち、データセンターＰの情報処理装置２０は、複数のユーザのバックアップ対象のデータに基づいて生成したパリティデータ（Ｐ０）２１をバックアップデータとして保持する。
【００３１】
第２の実施形態におけるデータバックアップについて、図８及び図９を参照して説明する。以下では、３つのユーザＣ１社、Ｃ２社、Ｃ３社が、データのバックアップ管理を委託する場合を例に説明する。図８は、第２の実施形態におけるデータバックアップを説明する図であり、図９は、第２の実施形態におけるデータバックアップ処理の例を示すフローチャートである。
【００３２】
ステップＳ９０１にて、Ｃ１社、Ｃ２社、及びＣ３社の各社の情報処理装置１０−１、１０−２、１０−３は、バックアップ対象のデータ（Ｄｉ）１１−ｉと乱数列（Ｒｉ）１２−ｉとの排他的論理和演算を行い、演算結果（Ｄｉ＃Ｒｉ）をデータセンターＰの情報処理装置２０に送信する（Ｐ３１）。つまり、情報処理装置１０−１、１０−２、１０−３は、バックアップ対象のデータ（Ｄｉ）１１−ｉを、乱数列（Ｒｉ）１２−ｉを用いて暗号化しデータセンターＰの情報処理装置２０に送信する。なお、ｉは添え字であり、ここではｉ＝１、２、３である。
【００３３】
次に、ステップＳ９０２にて、データセンターＰの情報処理装置２０は、各社の情報処理装置１０−１、１０−２、１０−３から送られてきたデータ（Ｄｉ＃Ｒｉ）を排他的論理和演算し、演算結果をパリティデータ（Ｐ０）とする。本例では、パリティデータ（Ｐ０）は、（Ｄ１＃Ｒ１）＃（Ｄ２＃Ｒ２）＃（Ｄ３＃Ｒ３）である。そして、データセンターＰの情報処理装置２０は、パリティデータ（Ｐ０）をバックアップデータとしてディスク２１に保存し保持する。
【００３４】
なお、前述した説明では、同じタイミングで各社の情報処理装置１０−１、１０−２、１０−３が、データ（Ｄｉ＃Ｒｉ）をデータセンターＰの情報処理装置２０に送信するようにしている。しかし、データセンターＰの情報処理装置２０は、送られてきたデータ（Ｄｉ＃Ｒｉ）を排他的論理和演算してパリティデータ（Ｐ０）を生成するので、データ（Ｄｉ＃Ｒｉ）を情報処理装置２０に送信するタイミングは任意であり、異なっていてもよい。
【００３５】
次に、前述のようにしてバックアップされたデータからのデータ復元について、図１０及び図１１を参照して説明する。以下では、ユーザＣ２社のデータ（Ｄ２）１１−２を復元する場合を例に説明するが、他のデータ（Ｄ１、Ｄ３）１１−１、１１−３も同様にして復元することが可能である。図１０は、第２の実施形態におけるデータ復元を説明する図であり、図１１は、第２の実施形態におけるデータ復元処理の例を示すフローチャートである。
【００３６】
まず、ステップＳ１１０１にて、データ復元の対象ではないＣ１社及びＣ３社の情報処理装置１０−１、１０−３は、バックアップ対象のデータ（Ｄｉ）１１−ｉと乱数列（Ｒｉ）１２−ｉとの排他的論理和演算を行い、演算結果（Ｄｉ＃Ｒｉ）をデータセンターＰの情報処理装置２０に送信する（Ｐ４１）。なお、ｉは添え字であり、ここではｉ＝１、３である。
【００３７】
次に、ステップＳ１１０２にて、データセンターＰの情報処理装置２０は、Ｃ１社及びＣ３社の情報処理装置１０−１、１０−３から送られてきたデータ（Ｄ１＃Ｒ１、Ｄ３＃Ｒ３）とパリティデータ（Ｐ０）との３つのデータの排他的論理和演算を行う。ここで、パリティデータ（Ｐ０）は、（Ｄ１＃Ｒ１）＃（Ｄ２＃Ｒ２）＃（Ｄ３＃Ｒ３）であるので、この演算（Ｄ１＃Ｒ１）＃（Ｄ３＃Ｒ３）＃（Ｐ０）の演算結果は、復元対象のデータ（Ｄ２）と乱数列（Ｒ２）との排他的論理和（Ｄ２＃Ｒ２）と等しくなる。そして、データセンターＰの情報処理装置２０は、演算結果（Ｄ２＃Ｒ２）をデータ復元の対象であるＣ２社の情報処理装置１０−２に送信する（Ｐ４２）。
【００３８】
次に、ステップＳ１１０３にて、データ復元の対象であるＣ２社の情報処理装置１０−２は、自らが保持している乱数列（Ｒ２）１２−２が破損しているか否かを判断する。そして、乱数列（Ｒ２）１２−２が破損していないと判断した場合（Ｓ１１０３のＮＯ）、ステップＳ１１０４にて、Ｃ２社の情報処理装置１０−２は、データセンターＰの情報処理装置２０から送られてきたデータ（Ｄ２＃Ｒ２）と乱数列（Ｒ２）との排他的論理和演算を行い、データ（Ｄ２）１１−２を復元する。なお、乱数列（Ｒ２）１２−２が破損していると判断した場合（Ｓ１１０３のＹＥＳ）、データ（Ｄ２）１１−２は復元不可であるので処理を終了する。
【００３９】
第２の実施形態によれば、データセンターＰの情報処理装置２０は、第１の実施形態と同様に、複数のユーザから送られてきたデータに基づいてパリティデータを生成してバックアップデータとして記憶するので、保持するバックアップデータのデータ量を削減することができる。また、バックアップ対象のデータを復元する際には、復元するデータ以外のデータとパリティデータと乱数列を用いてデータを復元することができる。
【００４０】
また、データセンターＰにおいては、データセンター側の知らない乱数列で暗号化されたデータが入出力され、バックアップ対象のデータを復元することができないので、データセンター側からの情報漏洩を防止することができる。また、暗号化に用いる乱数列はユーザ側で保持するので、１つのデータセンターでの運用が可能になる。
【００４１】
（第３の実施形態）
次に、本発明の第３の実施形態について説明する。以下に説明する第３の実施形態は、乱数列を保持するデータセンターＲを設けずに、バックアップデータとしてのパリティデータを保持するデータセンターＰに乱数列を保持する。
【００４２】
図１２は、第３の実施形態におけるデータ管理システムの構成例を示す図である。Ｃ１社の情報処理装置１０−１がデータ（Ｄ１）１１−１を保持しており、Ｃ２社の情報処理装置１０−２がデータ（Ｄ２）１１−２を保持しており、Ｃ３社の情報処理装置１０−３がデータ（Ｄ３）１１−３を保持している。
【００４３】
データセンターＰの情報処理装置２０は、複数のユーザのバックアップデータをパリティデータ（Ｐ０）２１の形で管理する。すなわち、データセンターＰの情報処理装置２０は、複数のユーザのバックアップ対象のデータに基づいて生成したパリティデータ（Ｐ０）２１をバックアップデータとして保持する。また、データセンターＰの情報処理装置２０は、複数のユーザがデータセンターＰとの通信に使用する乱数列（Ｒ）２２を保持する。乱数列（Ｒ）２２は、バックアップ対象のデータを暗号化する際の暗号鍵、及び暗号化されたデータを復号する際の復号鍵として用いられる。
【００４４】
第３の実施形態におけるデータバックアップについて、図１３及び図１４を参照して説明する。以下では、３つのユーザＣ１社、Ｃ２社、Ｃ３社が、データのバックアップ管理を委託する場合を例に説明する。図１３は、第３の実施形態におけるデータバックアップを説明する図であり、図１４は、第３の実施形態におけるデータバックアップ処理の例を示すフローチャートである。
【００４５】
ステップＳ１４０１にて、Ｃ１社、Ｃ２社、及びＣ３社の各社の情報処理装置１０−１、１０−２、１０−３が、データセンターＰの情報処理装置２０から乱数列（Ｒ）２２を取得する（Ｐ５１）。次に、ステップＳ１４０２にて、各社の情報処理装置１０−１、１０−２、１０−３は、バックアップ対象のデータ（Ｄｉ）１１−ｉと、ステップＳ１４０１において取得した乱数列（Ｒ）との排他的論理和演算を行い、演算結果（Ｄｉ＃Ｒ）をデータセンターＰの情報処理装置２０に送信する（Ｐ５２）。なお、ｉは添え字であり、ここではｉ＝１、２、３である。
【００４６】
次に、ステップＳ１４０３にて、データセンターＰの情報処理装置２０は、各社の情報処理装置１０−１、１０−２、１０−３から送られてきたデータ（Ｄｉ＃Ｒ）を排他的論理和演算し、演算結果をパリティデータ（Ｐ０）とする。本例では、パリティデータ（Ｐ０）は、（Ｄ１＃Ｒ）＃（Ｄ２＃Ｒ）＃（Ｄ３＃Ｒ）である。そして、データセンターＰの情報処理装置２０は、パリティデータ（Ｐ０）をバックアップデータとしてディスク２１に保存し保持する。
【００４７】
次に、前述のようにしてバックアップされたデータからのデータ復元について、図１５及び図１６を参照して説明する。以下では、ユーザＣ２社のデータ（Ｄ２）１１−２を復元する場合を例に説明するが、他のデータ（Ｄ１、Ｄ３）１１−１、１１−３も同様にして復元することが可能である。図１５は、第３の実施形態におけるデータ復元を説明する図であり、図１６は、第３の実施形態におけるデータ復元処理の例を示すフローチャートである。
【００４８】
まず、ステップＳ１６０１にて、データ復元の対象ではないＣ１社及びＣ３社の情報処理装置１０−１、１０−３が、データセンターＰの情報処理装置２０から乱数列（Ｒ）２２を取得する（Ｐ６１）。次に、ステップＳ１６０２にて、Ｃ１社及びＣ３社の情報処理装置１０−１、１０−３は、バックアップ対象のデータ（Ｄｉ）１１−ｉと、ステップＳ１６０１において取得した乱数列（Ｒ）との排他的論理和演算を行い、演算結果（Ｄｉ＃Ｒ）をデータセンターＰの情報処理装置２０に送信する（Ｐ６２）。なお、ｉは添え字であり、ここではｉ＝１、３である。
【００４９】
次に、ステップＳ１６０３にて、データセンターＰの情報処理装置２０は、Ｃ１社及びＣ３社の情報処理装置１０−１、１０−３から送られてきたデータ（Ｄ１＃Ｒ、Ｄ３＃Ｒ）とパリティデータ（Ｐ０）との３つのデータの排他的論理和演算を行う。パリティデータ（Ｐ０）は、（Ｄ１＃Ｒ）＃（Ｄ２＃Ｒ）＃（Ｄ３＃Ｒ）であるので、この演算（Ｄ１＃Ｒ）＃（Ｄ３＃Ｒ）＃（Ｐ０）の演算結果は、復元対象のデータ（Ｄ２）と乱数列（Ｒ）との排他的論理和（Ｄ２＃Ｒ）と等しくなる。そして、データセンターＰの情報処理装置２０は、演算結果（Ｄ２＃Ｒ）をデータ復元の対象であるＣ２社の情報処理装置１０−２に送信する（Ｐ６３）。
【００５０】
ステップＳ１６０４にて、データ復元の対象であるＣ２社の情報処理装置１０−２が、データセンターＰの情報処理装置２０から乱数列（Ｒ）２２を取得する（Ｐ６４）。次に、ステップＳ１６０５にて、Ｃ２社の情報処理装置１０−２は、データセンターＰの情報処理装置２０から送られてきたデータ（Ｄ２＃Ｒ）と、ステップＳ１６０４において取得した乱数列（Ｒ）との排他的論理和演算を行い、データ（Ｄ２）１１−２を復元する。なお、ステップＳ１６０４の処理は、図１６に示した例に限らず、ステップＳ１６０５の処理を実行する前の任意の時点で行われていれば良い。
【００５１】
第３の実施形態によれば、データセンターＰの情報処理装置２０は、第１の実施形態と同様に、複数のユーザから送られてきたデータに基づいてパリティデータを生成してバックアップデータとして記憶するので、保持するバックアップデータのデータ量を削減することができる。また、バックアップ対象のデータを復元する際には、復元するデータ以外のデータとパリティデータと乱数列を用いてデータを復元することができる。また、データセンターＰから取得するデータでバックアップ対象のデータが復元可能であるので、例えばユーザ側において災害等でデータを破損したとしても、バックアップ対象のデータを復元することができる。
【００５２】
なお、前述した第１〜第３の実施形態においては、情報処理装置１０−１〜１０−３は、データと乱数列とを排他的論理和演算することでデータを暗号化するようにしているが、これに限定されるものではなく、他の方法でデータを暗号化するようにしてもよい。
【００５３】
前述した各実施形態における情報処理装置での処理は、例えばコンピュータがプログラムを実行することによって実現することができる。また、かかるプログラムを記録したコンピュータ読み取り可能な記録媒体も本発明の実施形態として適用することができる。記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【００５４】
また、コンピュータがプログラムを実行し処理を行うことにより、前述の実施形態の機能が実現されるプログラムプロダクトは、本発明の実施形態として適用することができる。プログラムプロダクトとしては、例えば前述の実施形態の機能を実現するプログラム自体、プログラムが読み込まれたコンピュータがある。また、プログラムプロダクトとして、ネットワークを介して通信可能に接続されたコンピュータにプログラムを提供可能な送信装置、前記送信装置を備えるネットワークシステム等がある。
【００５５】
また、供給されたプログラムとコンピュータにおいて稼動しているオペレーティングシステム（ＯＳ）又は他のアプリケーション等とにより前述の実施形態の機能が実現される場合も、かかるプログラムは本発明の実施形態として適用することができる。また、供給されたプログラムの処理のすべて又は一部がコンピュータの機能拡張ユニットにより行われて前述の実施形態の機能が実現される場合も、かかるプログラムは本発明の実施形態として適用することができる。また、本実施形態をネットワーク環境で利用するべく、全部又は一部のプログラムが他のコンピュータで実行されるようになっていてもよい。
【００５６】
なお、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
以上の第１〜第３の実施形態を含む実施形態に関し、さらに以下の付記を開示する。
【００５７】
（付記１）
バックアップ対象の複数のデータに基づいて生成されるパリティデータを記憶する記憶部と、
乱数列で暗号化された前記複数のデータを用いて前記パリティデータを生成する第１の演算処理部と、
前記乱数列で暗号化された、前記複数のデータの内の復元するデータを除くデータと、前記パリティデータとを用いて、前記復元するデータの復元データを生成する第２の演算処理部とを有することを特徴とする情報処理装置。
（付記２）
前記第１の演算処理部は、前記乱数列で暗号化された前記複数のデータの排他的論理和演算を行い前記パリティデータを生成し、
前記第２の演算処理部は、前記乱数列で暗号化された、前記複数のデータの内の復元するデータを除くデータと、前記パリティデータとの排他的論理和演算を行い前記復元データを生成することを特徴とする付記１記載の情報処理装置。
（付記３）
前記バックアップ対象の複数のデータを保持する情報処理装置及び前記パリティデータを保持する情報処理装置とは異なる情報処理装置が保持する前記乱数列でデータが暗号化されることを特徴とする付記１又は２記載の情報処理装置。
（付記４）
前記バックアップ対象の複数のデータを保持する情報処理装置が保持する前記乱数列でデータが暗号化されることを特徴とする付記１又は２記載の情報処理装置。
（付記５）
前記パリティデータを保持する情報処理装置が保持する前記乱数列でデータが暗号化されることを特徴とする付記１又は２記載の情報処理装置。
（付記６）
乱数列を取得する取得部と、
前記乱数列で暗号化されたバックアップ対象の複数のデータを用いて生成されたパリティデータと前記乱数列で暗号化された、前記複数のデータの内の復元するデータを除くデータとから生成された前記復元するデータの復元データと、前記乱数列とを用いて前記バックアップ対象のデータを復元する演算処理部とを有することを特徴とする情報処理装置。
（付記７）
バックアップ対象の複数のデータに基づいてパリティデータを生成して記憶し、
前記複数のデータの内の復元するデータを除くデータを乱数列で暗号化し、
前記暗号化されたデータと前記パリティデータとを用いて前記復元するデータの復元データを生成し、
前記復元データと前記乱数列とを用いて前記バックアップ対象のデータを復元することを特徴とする情報処理方法。
（付記８）
乱数列で暗号化されたバックアップ対象の複数のデータに基づいてパリティデータを生成し記憶部に記憶するステップと、
前記乱数列で暗号化された、前記複数のデータの内の復元するデータを除くデータと、前記パリティデータとを用いて、前記復元するデータの復元データを生成するステップとをコンピュータに実行させるためのプログラム。
（付記９）
乱数列で暗号化されたバックアップ対象の複数のデータに基づいてパリティデータを生成し記憶部に記憶するステップと、
前記乱数列で暗号化された、前記複数のデータの内の復元するデータを除くデータと、前記パリティデータとを用いて、前記復元するデータの復元データを生成するステップとをコンピュータに実行させるためのプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【符号の説明】
【００５８】
１０  情報処理装置（ユーザ）
１１  バックアップ対象データ
２０  情報処理装置（データセンターＰ）
２１  パリティデータ
３０  情報処理装置（データセンターＲ）
１２、２２、３１  乱数列
【図１】
2019003163.tif 000003
【図２】
2019003163.tif 000004
【図３】
2019003163.tif 000005
【図４】
2019003163.tif 000006
【図５】
2019003163.tif 000007
【図６】
2019003163.tif 000008
【図７】
2019003163.tif 000009
【図８】
2019003163.tif 000010
【図９】
2019003163.tif 000011
【図１０】
2019003163.tif 000012
【図１１】
2019003163.tif 000013
【図１２】
2019003163.tif 000014
【図１３】
2019003163.tif 000015
【図１４】
2019003163.tif 000016
【図１５】
2019003163.tif 000017
【図１６】
2019003163.tif 000018
【図１７】
2019003163.tif 000019