次に、本発明を実施する実施形態について図面を参照しながら詳細に説明する。
<第1の実施形態>
図1を参照しながら、本発明の第1の実施形態に係る情報処理装置101が有する構成について詳細に説明する。図1は、本発明の第1の実施形態に係る情報処理装置101が有する構成を示すブロック図である。
第1の実施形態に係る情報処理装置101は、作成部102と、選択部103と、分散情報作成部104と、送信部105とを有する。
情報処理装置101、記憶部108、記憶部109、及び、クライアント装置110は、通信ネットワーク107を介して、情報、信号等を相互に送受信することができる。尚、情報処理装置101は、さらに多くの記憶部、または、さらに多くのクライアント装置と通信接続可能であってもよい。
作成部102は、記憶部108等の記憶部に格納する対象である対象データを受信するのに応じて、秘密分散方式に従い、受信した対象データを復元可能な複数のデータセットを作成する。
選択部103は、データセットを記憶可能な記憶部(たとえば、記憶部108、記憶部109)の中から、各データセットに関して、該データセットを記憶可能な特定の記憶部を選択する。たとえば、選択部103は、記憶部(たとえば、ストレージサーバ)を一意に識別可能な記憶部識別子(ID)を複数個格納している記憶部情報の中から、各データセットを格納する記憶部IDを選択する。尚、選択部103は、選択した記憶部IDが表す記憶部が有する記憶領域のうち特定の格納領域を指定可能な場合に、さらに、格納領域を選択(または、作成)してもよい。選択部103は、選択した記憶部IDと、選択した格納領域と関連付けすることにより格納先情報を作成する。尚、格納先情報は、必ずしも、格納領域を含まなくてもよい。
以降、識別子を「ID」と表す。また、記憶部IDは、たとえば、ストレージの名称等である。
分散情報作成部104は、複数のデータセットのうち、作成した第1データセットと、該第1データセットとは異なる第2データセットを格納する格納先情報とを関連付けすることにより、分散情報(たとえば、図2、詳細は後述する)を作成する。分散情報作成部104は、作成した複数のデータセットに関して分散情報を作成する。尚、分散情報作成部104は、後述するように、複数の第2データセットに関して、該第2データセットを格納する格納先情報と、第1データセットと関連付けすることにより、分散情報を作成してもよい。
送信部105は、第1データセットを含む分散情報を、第1データセットに関して選択された格納先情報に基づき送信する。送信部105は、たとえば、該格納先情報に含まれる記憶部IDが表す記憶部に第1データセットを送信する。さらに、該格納先情報に格納領域が含まれている場合に、送信部105は、第1データセットと、該格納領域とを、該記憶部に送信する。該記憶部は、たとえば、第1データセットと、該格納領域とを受信し、受信した格納領域に第1データセットを格納する。
記憶部108、及び、記憶部109は、たとえば、通信ネットワーク107を介して提供されるストレージサービス等、データセットを記憶可能な情報処理装置(たとえば、記憶装置)である。
クライアント装置110は、通信ネットワーク107を介して、対象データを情報処理装置101に送信する。または、クライアント装置110は、対象データを取得するリクエストを情報処理装置101に送信し、該リクエストに応じて情報処理装置101が送信する対象データを受信する。
次に、図2を参照しながら、分散情報作成部104が作成する分散情報116について詳細に説明する。図2は、第1の実施形態に係る分散情報作成部104が作成する分散情報116の一例を概念的に表す図である。
分散情報116においては、対象データを復元可能な複数のデータセットのうち、第1データセット117、及び、第1データセットとは異なる第2データセットを格納する格納先情報118が関連付けされている。すなわち、分散情報116は、対象データを復元可能な複数のデータセットのうち、第1データセット117、及び、第1データセットとは異なる第2データセットを格納する格納先情報118が関連付けされているデータ構造に従い、記述された情報である。分散情報116は、記憶部115(たとえば、記憶部108、または、記憶部109)に格納される。分散情報116は、さらに、第3データセットを格納する格納先情報等、他のデータセットに関する格納先情報を含んでもよい。さらに、分散情報116は、第1データセットを格納する格納先情報を含んでもよい。また、分散情報116は、対象データを復元することができない個数分のデータセットを含んでもよい。
尚、上述したデータ構造は、コンピュータ読み取り可能な不揮発性の記録媒体に記録されていてもよい。
図2に例示するような分散情報116により、クライアント装置110は、複数のデータセットを読み取ることができる。たとえば、分散情報116が、第1データセット、及び、第1データセットとは異なるすべてのデータセットに関する格納先情報を含む場合に、クライアント装置110は、分散情報116を読み取る。これにより、クライアント装置110は、他のデータセットを格納している格納先情報を特定し、特定した格納先情報が表す記憶部から他の分散情報を読み取ることができる。すなわち、分散情報116は、複数のデータセットに関する分散格納状態を表す情報であるということもできる。したがって、クライアント装置110は、読み取った分散情報に含まれるデータセットに基づき、対象データを復元することができる。
クライアント装置110は、分散情報116に含まれる格納先情報が表す記憶部から、その格納先情報に対応する分散情報を読み取り、さらに、読み取った分散情報に含まれる格納先情報が表す記憶部から分散情報を読み取る処理を繰り返しても、対象データを復元することができる。尚、この場合には、クライアント装置110が、分散情報116に基づき、対象データを復元可能な個数分のデータセットを読み取ることができるような分散情報であればよい。たとえば、分散情報に含まれるデータセットを節点、分散情報に含まれる格納先情報を該節点から格納先情報に含まれるデータセットを表す節点への有向枝とするグラフとして理解することも可能である。この場合に、任意の2つの節点間を結ぶ経路が少なくとも1つ存在していれば、クライアント装置110は、対象データを復元可能することができる。
また、分散情報116が複数の格納先情報を含む場合には、より一層、高い可用性を有するデータ管理を可能にする。この理由は、送信部105が、第1データセットを格納する記憶部に、複数の第2データセットを格納する格納先情報を送信するからである。
この処理によって、ユーザは、情報処理装置101が機能を停止している期間であっても、第1データセットを格納する格納先から、第1データセットと、複数の第2データセットに関する格納先情報とを取得することができる。ユーザは、さらに、第2データセットを格納する格納先が機能を停止している期間であっても、取得した他の格納先情報に基づき、データセットを取得することができる。したがって、ユーザは、情報処理装置101、及び、該格納先が機能を停止している期間であっても、対象データを復元するのに十分な個数のデータセットを取得することができれば、対象データを復元することができる。
次に、図3を参照しながら、情報処理装置101が行う処理について詳細に説明する。図3は、第1の実施形態に係る情報処理装置101における処理の流れを示すフローチャートである。
クライアント装置110は、対象データを情報処理装置101に送信する。
情報処理装置101は、クライアント装置110が送信した該対象データを受信する(ステップS101)。作成部102は、対象データを受信するのに応じて、秘密分散方式に従い、受信した対象データを復元可能な複数のデータセットを作成する(ステップS102)。選択部103は、たとえば、記憶部情報の中から、データセットを格納する記憶部IDを選択することにより、該記憶部IDを含む選択先情報を作成する(ステップS103)。
分散情報作成部104は、複数のデータセットのうち、作成した第1データセット、及び、該第1データセットとは異なる第2データセットを格納する格納先情報を関連付けすることにより、分散情報(たとえば、図2)を作成する(ステップS104)。分散情報作成部104は、たとえば、ステップS104に示す処理において、各データセットに関して分散情報を作成する。
送信部105は、第1データセットを含む分散情報を、第1データセットに関して選択された格納先情報に基づき送信する(ステップS105)。送信部105は、ステップS105に示す処理において、作成した各分散情報に関して、該分散情報に含まれるデータセットに関して作成された格納先情報に基づき送信する。
また、図4に示すように、情報処理システム119が、情報処理装置101と、記憶部108及び記憶部109等の記憶部とを含むような態様であってもよい、図4は、第1の実施形態に係る情報処理システム119が有する構成を示すブロック図である。
情報処理システム119は、情報処理装置101と、記憶部108と、記憶部109とを有する。尚、情報処理装置101と、記憶部108と、記憶部109とは、上述した処理と同様の処理を実行する。
次に、第1の実施形態に係る情報処理装置101に関する効果について説明する。
第1の実施形態に係る情報処理装置101によれば、高い可用性を有するデータ管理を可能にする。
この理由は、情報処理装置101が機能を停止していたとしても、データセットを格納している記憶部から、異なるデータセットが格納されている記憶部を特定することが可能であるからである。
特許文献1乃至特許文献3に開示された装置を用いて対象データが格納される場合に、該装置は、データセットを格納している格納先を含む対象データ情報に基づき、該格納先からデータセットを取得する。該装置は、たとえば、対象データを復元可能な個数の格納先から、それぞれデータセットを取得し、取得したデータセットに基づき対象データを復号(復元)する。該装置が対象データ情報を管理しているので、ユーザは、該装置が機能を停止している期間に対象データを復元することができない。
一方、第1の実施形態に係る情報処理装置101は、第1データセット、及び、第1データセットと異なる第2データセットを格納する格納先情報を、第1データセットを格納する格納先に送信する。したがって、ユーザは、第1データセットが格納されている格納先情報から、該第1データセットと、該第2データセットを格納している格納先情報とを取得し、さらに、第2データセットを格納している格納先から第2データセットを取得することができる。
対象データ情報を管理している装置が機能を停止している期間であっても、ユーザは、複数の格納先から、それぞれ、データセットを取得することにより、複数のデータセットを取得し、該複数のデータセットに基づき、対象データを復元することができる。すなわち、本実施形態に係る情報処理装置によれば、特許文献1乃至特許文献3に開示された装置よりも高い可用性を有するデータ管理を可能にする。
<第2の実施形態>
次に、上述した第1の実施形態を基本とする本発明の第2の実施形態について説明する。
以降の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第1の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
図5を参照しながら、第2の実施形態に係る情報処理装置151が有する構成について説明する。図5は、本発明の第2の実施形態に係る情報処理装置151が有する構成を示すブロック図である。
第2の実施形態に係る情報処理装置151は、受信部152と、格納先送信部153と、作成部102と、選択部103と、分散情報作成部104と、送信部105とを有する。
情報処理装置151、記憶部108、記憶部109、及び、クライアント装置110は、通信ネットワーク107を介して、情報、信号等を相互に送受信することができる。尚、情報処理装置151は、さらに多くの記憶部、または、さらに多くのクライアント装置と通信接続可能であってもよい。
受信部152は、クライアント装置110から対象データを受信する。
格納先送信部153は、対象データを送信したクライアント装置110に、選択部103が作成した選択先情報を送信する。尚、格納先送信部153は、少なくとも1つのデータセットに関する選択先情報をクライアント装置110に送信すればよく、複数のデータセット、または、全てのデータセットに関して、作成された選択先情報をクライアント装置110に送信してもよい。
図6を参照しながら、情報処理装置151が行う処理について説明する。図6は、第2の実施形態に係る情報処理装置151における処理の流れを示すフローチャートである。
受信部152は、クライアント装置110から対象データを受信する(ステップS151)。作成部102は、対象データを受信するのに応じて、秘密分散方式に従い、受信した対象データを復元可能な複数のデータセットを作成する(ステップS102)。選択部103は、たとえば、記憶部情報の中から、データセットを格納する記憶部IDを選択することにより、該記憶部IDを含む選択先情報を作成する(ステップS103)。
格納先送信部153は、対象データを送信したクライアント装置110に、選択部103が作成した選択先情報を送信する(ステップS152)。
以降、ステップS104及びステップS105に示す処理は、第1の実施形態に示した処理と同様の処理であるので、本実施形態においては説明を省略する。
次に、第2の実施形態に係る情報処理装置151に関する効果について説明する。
本実施形態に係る情報処理装置151によれば、高い可用性を有するデータ管理を可能にする。さらに、本実施形態に係る情報処理装置151によれば、対象データを効率よく復元することができる。
この理由は、理由1及び理由2である。すなわち、
(理由1)第2の実施形態に係る情報処理装置151が有する構成は、第1の実施形態に係る情報処理装置101が有する構成を含むからである、
(理由2)格納先送信部153が、対象データを送信した送信元に、少なくとも一部のデータセットに関して、該データセットを格納している格納先を送信するからである。
たとえば、ユーザは、該格納先を受信し、受信した格納先から、少なくとも一部のデータセットと、該データセットとは異なるデータセットを格納する格納先とを取得する。この場合、ユーザは、さらに、取得した格納先から該格納先に格納されているデータセットを取得し、取得した複数のデータセットに基づき対象データを復元することができる。したがって、対象データを復元する場合に、ユーザは、データセットが格納されている格納先を探索する必要がない。
<第3の実施形態>
次に、上述した第1の実施形態を基本とする本発明の第3の実施形態について説明する。
以降の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第1の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
図7を参照しながら、本発明の第3の実施形態に係る情報処理装置200が有する構成について詳細に説明する。図7、本発明の第3の実施形態に係る情報処理装置200が有する構成を示すブロック図である。
第3の実施形態に係る情報処理装置200は、鍵受信部201、分散情報作成部204と、作成部102と、選択部103と送信部105とを有する。
情報処理装置200、記憶部108、記憶部109、及び、クライアント装置110は、通信ネットワーク107を介して、情報、信号等を相互に送受信することができる。尚、情報処理装置200は、さらに多くの記憶部、または、さらに多くのクライアント装置と通信接続可能であってもよい。
鍵受信部201は、たとえば、クライアント装置110から、暗号化する場合に用いる暗号化鍵を受信する。この場合に、鍵受信部201は、さらに、該暗号化鍵を識別可能な鍵IDを受信してもよい。
分散情報作成部204は、該受信した暗号化鍵に基づき、少なくとも1つ以上のデータセットに関して格納先情報を暗号化する。分散情報作成部204は、複数のデータセットのうち、作成した第1データセット、及び、該第1データセットとは異なる第2データセットを格納する格納先情報を関連付けすることにより、分散情報を作成する。この場合に、分散情報作成部204は、第1データセットと、暗号化された格納先情報とを関連付けすることにより、分散情報を作成する。
この場合に、図2に例示する分散情報において、格納先情報118は、受信した暗号化鍵に基づき暗号化された情報である。
また、分散情報作成部204は、格納先情報を暗号化した暗号化鍵を表す鍵IDを含めた分散情報(図9)を作成してもよい。図9は、第3の実施形態に係る分散情報作成部204が作成する分散情報211の一例を概念的に表す図である。
分散情報211においては、対象データを復元可能な複数のデータセットのうち、鍵ID212、第1データセット213、及び、第1データセット213とは異なる第2データセットを格納する格納先情報214が関連付けされている。分散情報211は、記憶部210(たとえば、記憶部108、または、記憶部109)に格納される。
次に、図8を参照しながら、情報処理装置200が行う処理について説明する。図8は、第3の実施形態に係る情報処理装置200における処理の流れを示すフローチャートである。
クライアント装置110は、たとえば、対象データと、暗号化鍵とを情報処理装置101に送信する。尚、暗号化鍵は、必ずしも、クライアント装置110によって送信される必要はない。
情報処理装置101は、クライアント装置110が送信した対象データを受信する(ステップS101)。鍵受信部201は、たとえば、クライアント装置110が送信した暗号化鍵を受信する(ステップS201)。作成部102は、対象データを受信するのに応じて、秘密分散方式に従い、受信した対象データを復元可能な複数のデータセットを作成する(ステップS102)。選択部103は、たとえば、記憶部情報の中から、データセットを格納する格納する記憶部IDを選択することにより、該記憶部IDを含む選択先情報を作成する(ステップS103)。
分散情報作成部204は、該受信した暗号化鍵に基づき、少なくとも1つ以上のデータセットに関して格納先情報を暗号化する(ステップS203)。
説明の便宜上、分散情報作成部204は、全てのデータセットに関して、格納先情報を暗号化するとする。
分散情報作成部204は、複数のデータセットのうち、作成した第1データセット、及び、該第1データセットとは異なる第2データセットを格納する格納先情報とを関連付けすることにより、分散情報を作成する。この場合に、分散情報作成部204は、第1データセットと、暗号化された格納先情報とを関連付けすることにより、分散情報を作成する(ステップS204)。
送信部105は、第1データセットを含む分散情報を、第1データセットに関して選択された格納先情報に基づき送信する(ステップS105)。
次に、第3の実施形態に係る情報処理装置200に関する効果について説明する。
本実施形態に係る情報処理装置200によれば、高い可用性を有するデータ管理を可能にする。さらに、本実施形態に係る情報処理装置200によれば、対象データに関する強固な機密性を提供することができる。
この理由は、理由1及び理由2である。すなわち、
(理由1)第3の実施形態に係る情報処理装置200が有する構成は、第1の実施形態に係る情報処理装置101が有する構成を含むからである、
(理由2)鍵受信部201が暗号化鍵を受信する先のみが、第2データセットに関する格納先情報を復号し、復号した格納先情報に基づき、第2データセットを取得することができるからである。
たとえば、鍵受信部201は、対象データを有するユーザから暗号化鍵を受信する。さらに、分散情報作成部204は、該暗号化鍵に基づいて第2データセットを格納する格納先情報を暗号化し、暗号化された格納先情報に基づき分散情報を作成する。したがって、たとえ、第1データセットを格納する記憶部(ストレージ)から、第1データセットと、第2データセットを格納する格納先とを取得されたとしても、暗号化鍵なしに、該格納先情報を復号することはできない。この結果、暗号化鍵なしに、第2データセットを取得することはできないので、対象データを復元することはできない。
したがって、本実施形態に係る情報処理装置200によれば、対象データに関する強固な機密性提供することができる。
尚、本実施形態において、鍵受信部201が暗号化鍵を受信するとしたが、情報処理装置200が暗号化鍵をクライアント装置110に送信する態様であっても同様の効果を奏する。
<第4の実施形態>
次に、上述した第1の実施形態を基本とする本発明の第4の実施形態について説明する。
以降の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第1の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
図10を参照しながら、本発明の第4の実施形態に係る情報処理装置301が有する構成について詳細に説明する。図10は、本発明の第4の実施形態に係る情報処理装置101が有する構成を示すブロック図である。
第4の実施形態に係る情報処理装置301は、対象データ情報作成部304と、作成部102と、選択部103と、分散情報作成部104と、送信部105とを有する。情報処理装置301は、さらに、対象データ情報部306を有してもよい。
情報処理装置301、記憶部108、記憶部109、及び、クライアント装置110は、通信ネットワーク107を介して、情報、信号等を相互に送受信することができる。尚、情報処理装置301は、さらに多くの記憶部、または、さらに多くのクライアント装置と通信接続可能であってもよい。
対象データ情報作成部304は、対象データを表す対象データID(たとえば、対象データ名)と、該対象データを復元可能なデータセットを格納する格納先情報とを関連付けすることにより対象データ情報(たとえば、図11、詳細については後述する)を作成する。対象データ情報作成部304は、作成した対象データ情報を対象データ情報部306に格納してもよい。
対象データ情報部306は、作成された対象データ情報を記憶することができる。
次に、図11を参照しながら、対象データ情報作成部304が作成する対象データ情報について説明する。図11は、第4の実施形態に係る対象データ情報作成部304が作成する対象データ情報の一例を概念的に表す図である。
対象データ情報においては、対象データを識別可能な対象データID(たとえば、対象データ名)と、該対象データを復元可能なデータセットを格納する格納先情報とが関連付けされている。
対象データ情報における各対象データIDは、該対象データIDが表す対象データを復元可能な個数のデータセットに関する格納先情報と関連付けされていてもよいし、全てのデータセットに関する格納先情報と関連付けされていてもよい。
たとえば、対象データ名「AAA.txt」は、項目1乃至項目3に関連付けされている。すなわち、
(項目1)記憶部名「ServerA」、格納領域「¥abc¥AAA1.enc」、
(項目2)記憶部名「ServerB」、格納領域「¥ghi¥AAA2.enc」、
(項目3)記憶部名「ServerC」、格納領域「¥mno¥AAA3.enc」。
尚、「¥」は、格納領域を識別する区切り子を表す。
これは、対象データ名「AAA.txt」が表す対象データが、項目1乃至項目3に示された記憶部に格納されている3つのデータセットに基づき、復号可能であることを表す。この例では、第1データセットは、記憶部名「ServerA」が表す記憶部において、格納領域「¥abc¥AAA1.enc」によって指定されるデータセットである。第2データセットは、記憶部名「ServerB」が表す記憶部において、格納領域「¥ghi¥AAA2.enc」によって指定されるデータセットである。第3データセットは、記憶部名「ServerC」が表す記憶部において、格納領域「¥mno¥AAA3.enc」によって指定されるデータセットである。すなわち、対象データは、第1データセット乃至第3データセットに基づき復号される。
尚、対象データ名が、対象データを一意に識別可能でない場合には、さらに、該対象データに基づき算出されるハッシュ値と、対象データ名とを組み合わることにより、対象データIDとしてもよい。この場合に、対象データ情報においては、図11に示すように、さらに、対象データ名と、該対象データに基づき算出されるハッシュ値とが関連付けされる。
説明の便宜上、対象データ名を用いて対象データを一意に識別可能であるとする。
また、さらに、対象データ情報においては、対象データ名と、該対象データ名が表す対象データを送信する処理において用いたユーザを識別するユーザIDとが関連付けされてもよい。
次に、図12を参照しながら、情報処理装置301が行う処理について説明する。図12は、第4の実施形態に係る情報処理装置301における処理の流れを示すフローチャートである。
クライアント装置110は、対象データを情報処理装置301に送信する。
情報処理装置301は、クライアント装置110が送信した該対象データを受信する(ステップS101)。作成部102は、対象データを受信するのに応じて、秘密分散方式に従い、受信した対象データを復元可能な複数のデータセットを作成する(ステップS102)。選択部103は、たとえば、記憶部情報の中から、データセットを格納する記憶部を格納する記憶部IDを選択することにより、該記憶部IDを含む選択先情報を作成する(ステップS103)。
対象データ情報作成部304は、対象データを表す対象データIDと、該対象データを復元可能なデータセットを格納する格納先情報とを関連付けすることにより対象データ情報(たとえば、図11)を作成する(ステップS304)。対象データ情報作成部304は、作成した対象データ情報を対象データ情報部306に格納してもよい。
以降、情報処理装置301は、ステップS104、及び、ステップS105に示す処理を実行する。
次に、第4の実施形態に係る情報処理装置301に関する効果について説明する。
本実施形態に係る情報処理装置301によれば、高い可用性を有するデータ管理を可能にする。さらに、本実施形態に係る情報処理装置301によれば、高い信頼性を有するデータ管理を可能にする。
この理由は、理由1及び理由2である。すなわち、
(理由1)第4の実施形態に係る情報処理装置301が有する構成は、第1の実施形態に係る情報処理装置101が有する構成を含むからである、
(理由2)情報処理装置301がデータセットを格納する格納先情報が含まれる対象データ情報を作成し、さらに、第1データセットと、第1データセットとは異なる第2データセットを格納する格納先とを、第1データセットを格納する格納先に送信するからである。
特許文献1乃至特許文献3に開示された装置を用いて対象データが格納されている場合に、該装置は、データセットを格納している格納先を含む対象データ情報に基づき、該格納先からデータセットを取得する。該装置は、たとえば、対象データを復元可能な個数の格納先から、それぞれデータセットを取得し、取得したデータセットに基づき対象データを復号(復元)する。
たとえば、該装置における負荷を軽減する第2情報処理装置が、さらに、設置されている場合であっても、対象データ情報を管理する装置が機能を停止している期間に、第2情報処理装置は、対象データ情報を管理していないので、対象データを復元(復号化)することができない。
一方、第4の実施形態に係る情報処理装置301は、第1データセットと、第1データセットと異なる第2データセットを格納する格納先とを、第1データセットを格納する格納先に送信し、さらに、データセットを格納する対象データ情報を作成する。
たとえば、該情報処理装置301における負荷を軽減する第2情報処理装置が、さらに、設置されている場合には、対象データ情報を管理する情報処理装置が機能を停止している期間であっても、第2情報処理装置は、対象データを復元することができる。この場合に、第2情報処理装置は、情報処理装置301と同様の機能を有する。この理由は、第2情報処理装置が、第1データセットが格納されている格納先から、第2データセットが格納されている格納先情報を取得し、さらに、取得した格納先情報に基づき、第2データセットを取得することができるからである。この結果、第2情報処理装置は、複数の格納先から、それぞれ、データセットを取得することにより、対象データを復元(復号化)することができる。
もちろん、情報処理装置301は、自装置が機能している期間において、対象データ情報に基づき、複数のデータセットを取得することができるので、対象データを復元(復号化)することができる。
したがって、本実施形態に係る情報処理装置301によれば、対象データ情報を記憶している装置が機能を停止している場合であっても、対象データを復元することができるので、高い信頼性を有するデータ管理方式を提供することができる。
<第5の実施形態>
次に、上述した第4の実施形態を基本とする本発明の第5の実施形態について説明する。
以降の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第4の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
図13を参照しながら、本発明の第5の実施形態に係る情報処理装置401が有する構成について詳細に説明する。図13は、本発明の第5の実施形態に係る情報処理装置401が有する構成を示すブロック図である。
第5の実施形態に係る情報処理装置401は、対象データ情報作成部304と、作成部102と、選択部103と、分散情報作成部104と、送信部105とを有する。情報処理装置401は、さらに、格納先特定部402と、取得部403と、復元部404とを有する。情報処理装置401は、さらに、対象データ情報部306を有してもよい。
情報処理装置401、記憶部108、記憶部109、及び、クライアント装置110は、通信ネットワーク107を介して、情報、信号等を相互に送受信することができる。尚、情報処理装置401は、さらに多くの記憶部、または、さらに多くのクライアント装置と通信接続可能であってもよい。
クライアント装置110は、記憶部から、対象データを読み取る場合に、情報処理装置401に、対象データIDを送信する。これにより、クライアント装置110は、たとえば、対象データをリクエストする要求する信号を、情報処理装置401に送信する。
格納先特定部402は、該信号を受信し、受信した信号から対象データIDを読み取る。格納先特定部402は、対象データ情報において、読み取った対象データIDに関連付けされた格納先情報を読み取る。格納先特定部402は、たとえば、対象データ情報において、読み取った対象データIDに関連付けされた格納先情報をすべて読み取る。
取得部403は、読み取った格納先情報に含まれる記憶部IDが表す記憶部において、格納先情報に含まれる格納領域から分散情報を取得する。たとえば、取得部403は、該記憶部に、該格納領域を表す信号を送信することにより、該分散情報を要求するリクエストを送信する。該記憶部は、該信号を受信し、受信した信号に基づいて、該格納領域から情報(すなわち、分散情報)を抽出し、抽出した分散情報を取得部403に送信する。取得部403は、該記憶部が送信した分散情報を受信する。
取得部403は、読み取ったすべての格納先情報に関して、それぞれ、分散情報を取得してもよい。また、取得部403は、分散情報に含まれる格納先情報に基づき、分散情報を取得してもよい。
復元部404は、取得した分散情報に含まれるデータセットに基づき、たとえば、秘密分散方式に従い対象データを復元する。
次に、図14を参照しながら、情報処理装置401が行う処理について説明する。図14は、第5の実施形態に係る情報処理装置401における処理の流れを示すフローチャートである。
格納先特定部402は、該信号を受信する(ステップS401)。格納先特定部402は、受信した信号から対象データIDを読み取り、対象データ情報において、読み取った対象データIDに関連付けされた格納先情報を読み取る。すなわち、格納先特定部402は、対象データ情報に基づき、格納先情報を特定する(ステップS402)。
取得部403は、読み取った格納先情報に含まれる記憶部名が表す記憶部において、格納先情報に含まれる格納領域から分散情報を取得する(ステップS403)。復元部404は、取得した分散情報に含まれるデータセットに基づき、たとえば、秘密分散方式に従い対象データを復元する(ステップS404)。
尚、情報処理装置401とは異なる第2情報処理装置が、格納先特定部402と、取得部403と、復元部404とが有する機能と同様の機能を有してもよい。たとえば、第2情報処理装置は、情報処理装置401における負荷を軽減する目的のために設置されている情報処理装置である。
次に、第5の実施形態に係る情報処理装置401に関する効果について説明する。
本実施形態に係る情報処理装置401によれば、高い可用性を有するデータ管理を可能にする。さらに、本実施形態に係る情報処理装置401によれば、高い信頼性を有するデータ管理を可能にする。
この理由は、理由1及び理由2である。すなわち、
(理由1)第5の実施形態に係る情報処理装置401が有する構成は、第4の実施形態に係る情報処理装置301が有する構成を含むからである、
(理由2)格納先情報が、情報処理装置401と、各記憶部とに共に記憶されているからである。
たとえば、該情報処理装置401における負荷を軽減する第2情報処理装置が、さらに、設置されている場合には、対象データ情報を管理する情報処理装置が機能を停止している期間であっても、第2情報処理装置は、対象データを復元することができる。したがって、本実施形態に係る情報処理装置401によれば、高い信頼性を有するデータ管理を可能にする。
すなわち、第2情報処理装置がある場合には、さらに高い信頼性を有するデータ管理を可能にする。
この理由は、情報処理装置401が機能を停止している期間であっても、第2情報処理装置が、対象データ情報に基づき、対象データを復元することが可能であるからである。
ユーザは、たとえば、情報処理装置401が機能を停止している期間において対象データを復元する場合に、第2情報処理装置に対象データを復元することを要求する。第2情報処理装置は、該要求に応じて、対象データ情報に基づき、データセットを格納している格納先情報を特定する。第2情報処理装置は、特定した格納先情報から該データセット、及び、該データセットとは異なる第3データセットを格納している格納先情報とを取得する。さらに、第2情報処理装置は、取得した格納先情報に基づき、該第3データセットを取得し、該データセットと、該第3データセットとに基づき、対象データを復元する。この結果、第2情報処理装置によれば、情報処理装置401が機能を停止している期間であっても、対象データを復元することができるので、さらに高い信頼性を有するデータ管理方式を提供することができる。
<第6の実施形態>
次に、上述した第1の実施形態を基本とする本発明の第6の実施形態について説明する。
図15を参照しながら第6の実施形態に係る情報処理装置501が有する構成について説明する。図15は、本発明の第6の実施形態に係る情報処理装置501が有する構成を示すブロック図である。
本実施形態に係る情報処理装置501は、ユーザ認証部502と、データ受信部503と、データセット作成部504と、対象データ情報作成部505と、分散情報作成部506と、鍵管理部507と、データセット送信部508とを有する。さらに、情報処理装置501は、データセット取得部509と、データ復元部510と、データ送信部511とを有する。情報処理装置501は、さらに、対象データ情報部512と、鍵情報部513とを有してもよい。
情報処理装置501は、通信ネットワーク514を介して、記憶部515と、記憶部516と、クライアント装置(情報処理装置)517と通信接続することができる。尚、図15には2つの記憶部を示しているが、情報処理装置501は、通信ネットワーク514を介して、さらに多くの記憶部と通信接続可能であってもよい。
通信ネットワーク514は、たとえば、企業における通信ネットワーク回線であってもよいし、インターネット回線であってもよい。通信ネットワーク514は、上述した例に限定されない。また、記憶部515、及び、記憶部516は、クラウドサービス事業者が提供しているストレージサービスであってもよい。
以降においては、記憶部515、及び、記憶部516等の複数の記憶部を総称して「ファイルサーバ」と表すこともある。
ユーザ認証部502は、ユーザを表すユーザIDに関する認証を要求する信号をクライアント装置517から受信し、受信した信号に応じてユーザIDを認証する。
データ受信部503は、該ユーザIDが認証された場合に、対象データと、暗号化鍵を識別可能な鍵IDとを、クライアント装置517から受信する。
データセット作成部504は、秘密分散方式に従い、受信した対象データを復元可能な複数のデータセットを作成する。
対象データ情報作成部505は、データセットを記憶可能な領域を表す記憶部情報(すなわち、ファイルサーバに含まれる記憶部を表す情報)の中から、データセットを格納する格納先情報(すなわち、記憶部と格納領域)を、それぞれ選択する。対象データ情報作成部505は、対象データを識別可能な対象データID(たとえば、対象データ名)と、該対象データを復元可能なデータセットを格納する格納先情報とを関連付けすることにより、対象データ情報を作成する。対象データ情報作成部505は、該対象データに基づき算出されるハッシュ値と、該対象データを送信したユーザIDとを、さらに、対象データ名に関連付けしてもよい。
尚、ハッシュ値は、対象データ名が同一である複数の対象データを識別する場合に参照する値である。したがって、同一である対象データ名が無い場合に、対象データ名は、必ずしも、ハッシュ値に関連付けされてなくてもよい。
分散情報作成部506は、たとえば、該対象データに関連付けされた格納先情報を、それぞれ、受信された鍵IDが表す暗号化鍵を用いて暗号化する。分散情報作成部506は、第1データセット、及び、第1データセットとは異なる第2データセットを格納する格納先情報とを関連付けすることにより、分散情報を作成する。分散情報作成部506は、複数の第2データセットに関する格納先情報と、第1データセットとを関連付けしてもよい。さらに、分散情報作成部506は、さらに、格納先情報を暗号化する場合に用いた暗号化鍵を表す鍵IDを、第1データセットに関連付けしてもよい。
鍵管理部507は、暗号化鍵を管理する。たとえば、鍵管理部507は、ユーザIDと、鍵IDとが関連付けた利用者情報(図20、後述)、及び、鍵IDと、該鍵IDが表す暗号化鍵とが関連付けされた鍵情報(図21、後述)に基づき、鍵ID及びユーザIDに関する暗号化鍵を抽出する。
データセット送信部508は、たとえば、第1データセットを含む分散情報を、第1データセットに関する格納先として選択された記憶部に送信する。すなわち、データセット送信部508は、たとえば、第1データセットを含む分散情報を、第1データセットに関する格納先に送信する。
データセット取得部509は、対象データを要求する(すなわち、対象データ名を含む)信号を受信するのに応じて、対象データ情報において、受信した対象データ名に関連付けされた格納先情報を特定する。データセット取得部509は、格納先情報に基づき、該格納先情報に基づき、分散情報を要求する信号を送信し、該信号に応じて送信された分散情報を受信する。すなわち、データセット取得部509は、該格納先情報に基づき、分散情報を取得する。
データ復元部510は、受信した分散情報に含まれるデータセットを抽出し、抽出したデータセットに基づき対象データを復元する。
データ送信部511は、復元された対象データを、クライアント装置517に送信する。
図16を参照しながら第6の実施形態に係るクライアント装置517が有する構成について説明する。図16は、第6の実施形態に係るクライアント装置517が有する構成を示すブロック図である。
本実施形態に係るクライアント装置517は、認証要求部551と、データ送信部552と、暗号化鍵管理部553と、取得要求部554と、データ受信部555と、一括取得部556と、復号部557と、データ取得部558、データ復元部559とを有する。
ユーザが対象データをファイルサーバに格納する場合に、認証要求部551は、たとえば、通信ネットワーク514を介して情報処理装置501に通信接続し、その後、情報処理装置501に該ユーザを表すユーザIDに関する認証を要求する信号を送信する。
データ送信部552は、対象データと、ユーザIDに関連付けされた暗号化鍵を表す鍵IDとを、情報処理装置501に送信する。
ユーザが対象データを取得する場合に、取得要求部554は、対象データを要求する信号を情報処理装置501に送信する。
データ受信部555は、たとえば、該要求に応じて情報処理装置501が送信する対象データを受信する。
たとえば、情報処理装置501が機能を停止している期間に、一括取得部556は、通信ネットワーク514を介して、ファイルサーバに含まれる特定の記憶部に、分散情報を要求する信号を送信する。一括取得部556は、該要求に応じて、特定の記憶部が送信する分散情報を受信する。
復号部557は、たとえば、一括取得部556が受信した分散情報から、暗号化されている格納先情報を抽出し、暗号化鍵管理部553が管理している暗号化鍵を用いて、抽出した格納先情報を復号する。
データ取得部558は、復号された格納先情報が表す格納先に、分散情報を要求する信号を送信し、該要求に応じて送信される分散情報を受信する。すなわち、データ取得部558は、分散情報を該格納先から取得する。
データ復元部559は、上述した各部が受信した分散情報から、データセットを抽出し、抽出したデータセットに基づき対象データを復元する。
次に、図20を参照しながら、利用者情報について説明する。図20は、利用者情報の一例を概念的に表す図である。
利用者情報においては、ユーザIDと、鍵IDとが関連付けされている。たとえば、ユーザID「User2」は、鍵ID「0002」、及び、鍵ID「0003」に関連付けされている。これは、ユーザIDに関する暗号化鍵は、鍵ID「0002」が表す暗号化鍵と、鍵ID「0003」が表す暗号鍵とであることを表す。
次に、図21を参照しながら、鍵情報について説明する。図21は、鍵情報の一例を概念的に表す図である。
鍵情報においては、鍵IDと、暗号化鍵とが関連付けされている。たとえば、鍵ID「0003」は、暗号化鍵「sfweF2」に関連付けされている。これは、鍵ID「0003」に関する暗号化鍵は、「sfweF2」であることを表す。
次に、第6の実施形態に係る情報処理システムにおける処理の流れについて説明する。
説明の便宜上、ユーザは1人であるとする。また、ユーザIDが表すユーザは、クライアント装置517を操作しているとする。また、情報処理装置501と、クライアント装置517とは、たとえば、鍵情報部513にて、図21に例示するような鍵情報を共有しているとする。尚、鍵情報を共有する方法については、既に、多くの方法が知られているので、本実施形態においては、該方法に関する説明を省略する。また、クライアント装置517は、データセットを格納する記憶部名を記憶しているとする。
図17を参照しながら、対象データを格納する場合に、情報処理システムが実行する処理の流れについて説明する。図17は、対象データを格納する場合に、第6の実施形態に係る情報処理システムが実行する処理の流れを表すシーケンス図である。
認証要求部551は、ユーザIDを認証する根拠を表す認証情報(たとえば、パスワード)を、情報処理装置501に送信する(ステップS501)。ユーザ認証は、たとえば、パスワード等に基づく知識認証、IC(集積回路)カード等に基づく物理認証、または、指紋等に基づく生体認証等である。
ユーザ認証部502は、認証要求部551が送信する認証情報を受信し(ステップS502)、受信した認証情報に基づき、ユーザIDに関して認証する(ステップS503)。ユーザIDが認証された場合に、ユーザ認証部502は、ユーザIDが認証されたことを表す情報を、クライアント装置517に送信する。これによって、クライアント装置517は、情報処理装置501にてセッションを開始することができる。
データ送信部552は、対象データと、鍵IDとを、情報処理装置501に送信する(ステップS504)。データ受信部503は、データ送信部552が送信する対象データと、鍵IDとを受信する(ステップS505)。
データセット作成部504は、たとえば、秘密分散方式に従い、受信した対象データを復元可能なデータセットを作成する(ステップS506)。
以降、説明の便宜上、データセットは、データセットA、データセットB、及び、データセットCであるとする。尚、データセットは、3つである必要はなく、2つ、あるいは、4つ以上であってもよい。
対象データ情報作成部505は、データセットを記憶可能な領域を表す記憶部情報に基づき、データセットA乃至Cに関して、それぞれ、該データセットを格納する格納先情報(すなわち、記憶部名と格納領域)を選択する。
説明の便宜上、データセットAを格納先情報Aに格納するとする。データセットBを格納先情報Bに格納するとする。データセットCを格納先情報Cに格納するとする。
次に、対象データ情報作成部505は、受信した対象データを表す対象データ名と、格納先情報とを関連付けすることにより対象データ情報(たとえば、図11)を作成し(ステップS507)、作成した対象データ情報を対象データ情報部512に格納する。尚、対象データ情報作成部505は、さらに、該対象データ名と、対象データに基づき算出されるハッシュ値と、認証されたユーザIDとを関連付けしてもよい。
分散情報作成部506は、たとえば、受信した鍵IDに関連付けされた暗号化鍵を用いて、格納先情報(すなわち、格納先情報A乃至C)を暗号化する。
説明の便宜上、暗号化鍵を用いて、格納先情報Aは、格納先情報A(Enc)に暗号化されるとする。暗号化鍵を用いて、格納先情報Bは、格納先情報B(Enc)に暗号化されるとする。暗号化鍵を用いて、格納先情報Cは、格納先情報C(Enc)に暗号化されるとする。
次に、分散情報作成部506は、第1データセット、及び、第1データセットとは異なる第2データセットを格納する格納先情報を関連付けすることにより、図2に例示するような分散情報を作成する(ステップS508)。たとえば、分散情報作成部506は、以下の分散情報A乃至分散情報Cを作成する。すなわち、
(分散情報A)データセットA、格納先情報B(Enc)、及び、格納先情報C(Enc)、
(分散情報B)データセットB、格納先情報C(Enc)、及び、格納先情報A(Enc)、
(分散情報C)データセットC、格納先情報A(Enc)、及び、格納先情報B(Enc)。
データセット送信部508は、第1データセットを含む分散情報を、第1データセットを格納する格納先(記憶部)に送信する(ステップS509)。たとえば、データセット送信部508は、作成した分散情報Aを格納先情報Aに基づき送信する。データセット送信部508は、作成した分散情報Bを格納先情報Bに基づき送信する。データセット送信部508は、作成した分散情報Cを格納先情報Cに基づき送信する。
次に、記憶部は、該分散情報を受信し(ステップS510)、受信した分散情報を自部に格納する(ステップS511)。たとえば、格納先情報Aにおける記憶部名が表す記憶部は、分散情報Aを受信し、受信した分散情報Aを自部に格納する。格納先情報Bにおける記憶部名が表す記憶部は、分散情報Bを受信し、受信した分散情報Bを自部に格納する。格納先情報Cにおける記憶部名が表す記憶部は、分散情報Cを受信し、受信した分散情報Cを自部に格納する。
図18を参照しながら、対象データがリクエスト(要求)される場合に、情報処理システムが実行する処理の流れについて説明する。図18は、対象データが要求される場合に、第6の実施形態に係る情報処理システムが実行する処理の流れを表すシーケンス図である。
認証要求部551は、ユーザIDを認証する根拠を表す認証情報(パスワード等)を、情報処理装置501に送信する(ステップS521)。尚、ステップS521に示す処理は、ステップS501に示す処理と同様である。
ユーザ認証部502は、認証要求部551が送信する認証情報を受信し(ステップS522)、受信した認証情報に基づき、ユーザIDに関して認証する(ステップS523)。ユーザIDが認証された場合に、ユーザ認証部502は、ユーザIDが認証されたことを表す情報を、クライアント装置517に送信する。これによって、クライアント装置517は、情報処理装置501にてセッションを開始することができる。
取得要求部554は、たとえば、対象データを表す対象データ名を情報処理装置501に送信する(ステップS524)。この場合に、取得要求部554は、さらに、対象データに基づき算出されるハッシュ値を送信してもよい。
データセット取得部509は、取得要求部554が送信する対象データ名を受信し(ステップS525)、たとえば、対象データ情報に基づき、受信した対象データ名に関連付けされた格納先情報を特定する。たとえば、データセット取得部509は、格納先情報A乃至Cを特定する。
尚、秘密分散方式が、N個のデータセットのうち、K(1≦K≦N)個のデータセットに基づき対象データを復元できる方式(すなわち、「KofN」秘密分散方式)である場合に、データセット取得部509は、少なくともK個の格納先情報を特定すればよい。たとえば、Kが2である場合に、データセット取得部509は、3つの格納先情報のうち、少なくとも2つの格納先情報を特定すればよい。
データセット取得部509は、特定した格納先情報に基づき、分散情報を要求する信号を送信する(ステップS526)。格納先情報に含まれる記憶部名が表す記憶部は、該信号を受信し(ステップS527)、受信した信号に応じて、データセット取得部509に分散情報を送信する(ステップS528)。データセット取得部509は、該分散情報を受信する(ステップS529)。すなわち、データセット取得部509は、格納先情報に含まれる記憶部名が表す記憶部から分散情報を取得する。
たとえば、「KofN」秘密分散方式にてKが2である場合に、データセット取得部509は、格納先情報に含まれる記憶部名が表す記憶部から2つの分散情報を取得する。
データ復元部510は、各分散情報に含まれるデータセットを抽出し、抽出したデータセットに基づき対象データを復元する(ステップS530)。
データ送信部511は、復元した対象データを、クライアント装置517に送信する(ステップS531)。
データ受信部555は、データ送信部511が送信した対象データを受信する(ステップS532)。
尚、上述した例において、情報処理装置501は、対象データ情報に基づき、全ての格納先情報を特定したが、必ずしも、対象データ情報に基づき、全ての格納先情報を特定しなくてもよい。
たとえば、情報処理装置501は、対象データ情報に基づき、一部の格納先情報(たとえば、格納先情報Aのみ)を特定する。情報処理装置501は、格納先情報Aから分散情報を取得し、取得した分散情報から格納先情報(たとえば、格納先情報B)を特定する。さらに、情報処理装置501は、格納先情報Bから分散情報を取得する。情報処理装置501は、さらに、この処理を繰り返してもよい。この場合に、情報処理装置501は、分散情報を繰り返し取得する処理によって、対象データを復元することが可能なデータセットを取得することができる。
さらに、上述したように、情報処理装置501における計算負荷を軽減する情報処理装置(以降、「第2情報処理装置」と表す)がある場合に、第2情報処理装置は、自装置に含まれる少なくとも一部の対象データ情報に基づき、格納先情報を特定してもよい。
次に、図19を参照しながら、たとえば、情報処理装置501が機能を停止している期間において、対象データを復元する場合に、情報処理システムにおいて実行される処理の流れについて説明する。図19は、対象データを格納する場合に、第6の実施形態に係る情報処理システムが実行する処理の流れを表すシーケンス図である。
一括取得部556は、クライアント装置517に記憶されている記憶部名が表す記憶部に、該ユーザに関するすべてのデータを要求する信号を送信する(ステップS541)。該記憶部は、一括取得部556が送信した信号を受信し(ステップS542)、受信した信号に応じて該データをクライアント装置517に送信する(ステップS543)。一括取得部556は、該信号に応じて送信されるデータを受信し、受信したデータから分散情報を特定する(ステップS544)。尚、一括取得部556は、特定の分散情報を格納している格納先情報を記憶している場合に、特定の分散情報のみを要求する信号を送信してもよい。
復号部557は、自装置が有する暗号化鍵を用いて、分散情報に含まれる格納先情報を復号する(ステップS545)。たとえば、自装置が有する暗号化鍵が、格納先情報が暗号化された暗号化鍵と異なっている場合に、復号部557は、該格納先情報を復号することができない。たとえば、分散情報が格納先情報A(Enc)を含み、自装置が有する暗号化鍵を用いて該格納先情報を復号することができる場合に、復号部557は、格納先情報A(Enc)を復号することにより、格納先情報Aを作成する。さらに、復号部557は、受信した格納先情報からデータセットを抽出する。
データ取得部558は、抽出した格納先情報に含まれる記憶部名が表す記憶部に、該格納先情報に含まれる格納領域におけるデータ(すなわち、分散情報)を要求する信号を送信する(ステップS546)。該記憶部は、データ取得部558が送信した信号を受信し(ステップS547)、受信した信号に応じてデータ取得部558に分散情報を送信する(ステップS548)。データ取得部558は、該分散情報を受信する(ステップS549)。データ取得部558は、少なくとも対象データを復元可能なデータセット数分、ステップS546乃至ステップS549に示す処理を実行する。
たとえば、分散情報が、データセットA,格納先情報B、及び、格納先情報Cを含む場合に、データ取得部558は、格納先情報Bに基づき、データセットBを取得し、格納先情報Cに基づき、データセットCを取得する。
データ復元部559は、取得したデータセットに基づき、対象データを復元する(ステップS550)。
上述した例において、情報処理装置501と、クライアント装置517とは、鍵情報を共有するとしたが、クライアント装置517のみが、鍵情報を有してもよい。この場合に、たとえば、情報処理装置501は、選択した格納先情報をクライアント装置517に送信する。クライアント装置517は、該格納先情報を受信し、自装置が有する鍵情報に基づいて、受信した格納先情報を暗号化する。クライアント装置517は、暗号化した格納先情報を情報処理装置501に送信する。情報処理装置501は、暗号化された格納先情報を受信し、受信した格納先情報に基づき分散情報を作成する。この場合には、情報処理装置501が鍵情報を有する必要がなくなるという効果を奏する。
上述した例において、情報処理装置501と、クライアント装置517とは、鍵情報を共有するとしたが、情報処理装置501が分散情報を作成する場合に、クライアント装置517が、セキュアな方式に従い、鍵情報を送信する態様であってもよい。この場合に、情報処理装置501は、鍵情報に基づき格納先情報を暗号化した後に、該鍵情報を破棄する態様であってもよい。この場合には、情報処理装置501が鍵情報を有する必要がなくなるという効果を奏する。
また、情報処理装置501が鍵情報を作成し、クライアント装置517に作成した鍵情報を送信する態様であってもよい。また、格納先情報ごとに異なる暗号化鍵を用いて、該格納先情報を暗号化してもよい。この場合に、格納先ごとに異なる暗号化鍵を用いるので、より安全な格納方式を提供することができる。
また、上述した例において、クライアント装置517は、対象データ名を情報処理装置501に送信することにより、該対象データ名が表す対象データを要求した。しかし、情報処理装置501は、対象データ情報に基づき、認証されたユーザIDに関連付けされている対象データ名を特定し、特定した対象データ名をクライアント装置517に送信する態様であってもよい。この場合に、クライアント装置517は、情報処理装置501が特定した対象データ名の中から所望の対象データ名を選択し、選択した対象データ名を情報処理装置501に送信する。
また、上述した例において、情報処理装置501は、暗号化鍵を用いて格納先情報を暗号化するとしたが、必ずしも、格納先情報を暗号化しなくてもよい。この場合に、記憶部は、分散情報に対するアクセス権を、認証されたユーザIDのみに制限してもよい。また、記憶部は、暗号化された格納先情報を含む分散情報に対するアクセス権を、認証されたユーザIDのみに制限してもよい。この場合に、ユーザIDが表すユーザのみが分散情報を読み取り可能であるので、安全な格納方式を提供することができる。
または、記憶部は、分散情報に対するアクセス権を、複数のユーザIDのみに制限してもよい。この場合に、許可されたユーザIDが表すユーザのみが分散情報を読み取り可能であるので、分散情報を共有することができる。
次に、第6の実施形態に係る情報処理装置501に関する効果について説明する。
本実施形態に係る情報処理装置501によれば、高い可用性を有するデータ管理を可能にする。さらに、本実施形態に係る情報処理装置501によれば、高い信頼性を有するデータ管理を可能にする。
この理由は、第6の実施形態に係る情報処理装置501が有する構成は、第1の実施形態に係る情報処理装置101が有する構成、または、第4の実施形態に係る情報処理装置301が有する構成を含むからである。
(ハードウェア構成例)
上述した本発明の各実施形態における情報処理装置を、1つの計算処理装置(情報処理装置、コンピュータ)を用いて実現するハードウェア資源の構成例について説明する。但し、係る情報処理装置は、物理的または機能的に少なくとも2つの計算処理装置を用いて実現してもよい。また、係る情報処理装置は、専用の装置として実現してもよい。
図22は、第1の実施形態乃至第6の実施形態に係る情報処理装置等を実現可能な計算処理装置のハードウェア構成例を概略的に示す図である。計算処理装置20は、中央処理演算装置(Central Processing Unit、以降「CPU」と表す)21、メモリ22、ディスク23、及び、不揮発性記録媒体24を有する。計算処理装置20は、さらに、入力装置25、出力装置26、通信インターフェース(以降、「通信IF」と表す。)27、及び、ディスプレー28を有する。計算処理装置20は、通信IF27を介して、他の計算処理装置、及び、通信装置と情報を送受信することができる。
不揮発性記録媒体24は、コンピュータが読み取り可能な、たとえば、コンパクトディスク(Compact_Disc)、デジタルバーサタイルディスク(Digital_Versatile_Disc)である。また、不揮発性記録媒体24は、ユニバーサルシリアルバスメモリ(USBメモリ)、ソリッドステートドライブ(Solid_State_Drive)等であってもよい。不揮発性記録媒体24は、電源を供給しなくても係るプログラムを保持し、持ち運びを可能にする。不揮発性記録媒体24は、上述した媒体に限定されない。また、不揮発性記録媒体24の代わりに、通信IF27を介して、通信ネットワークを介して係るプログラムを持ち運びしてもよい。
すなわち、CPU21は、ディスク23が記憶するソフトウェア・プログラム(コンピュータ・プログラム:以下、単に「プログラム」と称する)を、実行する際にメモリ22にコピーし、演算処理を実行する。CPU21は、プログラム実行に必要なデータをメモリ22から読み取る。表示が必要な場合には、CPU21は、ディスプレー28に出力結果を表示する。外部への出力が必要な場合には、CPU21は、出力装置26に出力結果を出力する。外部からプログラムを入力する場合、CPU21は、入力装置25からプログラムを読み取る。CPU21は、上述した図1、図4、図5、図7、図10、図13、図15、または、図16に示す各部が表す機能(処理)に対応するところのメモリ22にある情報処理プログラム(図3、図6、図8、図12、図14、図17に示された情報処理装置に関する処理、または、図18に示された情報処理装置に関する処理)を解釈し実行する。CPU21は、図17、図18、または、図19に示されたクライアント装置に関する処理を解釈し実行してもよい。CPU21は、図17、図18、または、図19に示された記憶部に関する処理を解釈し実行してもよい。CPU21は、上述した本発明の各実施形態において説明した処理を順次行う。
すなわち、このような場合、本発明は、係る情報処理プログラムによっても成し得ると捉えることができる。更に、係る情報処理プログラムが記録されたコンピュータ読み取り可能な不揮発性の記録媒体によっても、本発明は成し得ると捉えることができる。
以上、上述した実施形態を模範的な例として本発明を説明した。しかし、本発明は、上述した実施形態には限定されない。すなわち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。