Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4996489B2 - 分散バックアップシステム、分散バックアップ方法、寄託者装置、管理者装置 - Google Patents
[go: Go Back, main page]

JP4996489B2 - 分散バックアップシステム、分散バックアップ方法、寄託者装置、管理者装置 - Google Patents

分散バックアップシステム、分散バックアップ方法、寄託者装置、管理者装置 Download PDF

Info

Publication number
JP4996489B2
JP4996489B2 JP2008010727A JP2008010727A JP4996489B2 JP 4996489 B2 JP4996489 B2 JP 4996489B2 JP 2008010727 A JP2008010727 A JP 2008010727A JP 2008010727 A JP2008010727 A JP 2008010727A JP 4996489 B2 JP4996489 B2 JP 4996489B2
Authority
JP
Japan
Prior art keywords
data
trustee
depositor
backup
deposit
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.)
Expired - Fee Related
Application number
JP2008010727A
Other languages
English (en)
Other versions
JP2009175794A (ja
Inventor
哲 小田
剛 山本
鉄太郎 小林
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.)
NTT Inc
NTT Inc USA
Original Assignee
Nippon Telegraph and Telephone Corp
NTT Inc USA
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 Nippon Telegraph and Telephone Corp, NTT Inc USA filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2008010727A priority Critical patent/JP4996489B2/ja
Publication of JP2009175794A publication Critical patent/JP2009175794A/ja
Application granted granted Critical
Publication of JP4996489B2 publication Critical patent/JP4996489B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、データをユーザ間で分散バックアップする技術に関する。
バックアップシステムがバックアップシステムとしての機能を果たすためには、ハードディスクの故障などハードウェア的な障害やコンピュータウイルスなどのソフトウェア的な障害などを考慮しながら、バックアップ情報を管理しなくてはならない。
このため、バックアップシステムを個々のコンピュータごとに用意することはコストの面から得策ではない。この不利益を解決するために、NDMP(network data manegement protocol)を使うバックアップサーバ(NAS(network attached storage)サーバ)が存在し、バックアップ用のソフトウェアをネットワーク上で共有することで、個々のコンピュータごとに用意しなくてはならなかったバックアップシステムを一つに集約している。このためで、一台あたりのバックアップの管理コストを低減させることが出来る。
しかし、NDMPによるバックアップシステムのようにバックアップシステムを一箇所で集中管理している構成では、大規模災害などによるシステムごとの破壊が起こった場合に回復困難な損害が生じる。このような虞を回避するために、例えば非特許文献1に示すDIBS(Distributed Internet Backup System)のような、データを分散させてバックアップする分散型のバックアップシステムが存在する。
Emin Martinian、"Distributed Internet Backup System"、インターネット〈URL:http://www.mit.edu/~emin/source_code/dibs/index.html〉[平成20年1月15日検索]
NDMPによるバックアップシステムは、バックアップシステムを一箇所で集中管理している構成であるから管理が容易であるが、障害に対するリスク回避に弱点がある。逆にDIBSは分散管理を行う構成であるから耐障害性に優れているが、拠点ごとの管理に手間がかかる。
NDMPによるバックアップシステムの弱点を改善しようとした場合、自らの管理下に置かれている全てのNASサーバについて、設置場所を分散させることによって問題を解決しようとすることも考えられるが、現実的には、その場所に実際に行かないと解決できない問題が発生することもあり、管理コストの面で問題を惹起する。
このような事情に鑑みて、本発明は、バックアップデータの正当性の検証が可能な分散型バックアップ技術を提供することを目的とする。
上記課題を解決するために、本発明の分散バックアップシステムは、寄託者装置および複数の受託者装置を含む構成であって、少なくとも寄託者装置と受託者装置との間で相互に通信可能とされ、寄託者装置は、バックアップの対象である所定のデータ(寄託データ)と、寄託データの寄託先である受託者装置を識別する受託者識別情報と、正当なバックアップデータの個数の閾値Tとを記憶する記憶手段と、寄託データを用いて、寄託データと受託者装置に記憶されるバックアップデータとの同一性を検証可能な情報(タグ)を生成するタグ生成手段と、寄託データを受託者装置に送信する第1対受託者装置送信手段と、受託者装置から、受託者装置に記憶されるバックアップデータを用いて生成された、寄託データとバックアップデータとの同一性を検証可能な情報である検証用データを受信する対受託者装置受信手段と、寄託データと受託者装置に記憶されるバックアップデータとの同一性を、タグおよび検証用データを用いて検証する検証手段と、この検証に成功したバックアップデータの個数と閾値Tとの差tを求める判定手段と、上記検証に成功したバックアップデータの個数が閾値Tよりも少ない場合、寄託データを少なくともt個の受託者装置へ送信する第2対受託者装置送信手段とを備えていて、各受託者装置は、寄託者装置から送信された寄託データを受信する対寄託者装置受信手段と、寄託データをバックアップデータとして記憶する記憶手段と、記憶手段に記憶されるバックアップデータを用いて検証用データを生成する検証用データ生成手段と、検証用データを寄託者装置に送信する対寄託者装置送信手段とを備えている。
あるいは、本発明の分散バックアップシステムは、管理者装置、寄託者装置および複数の受託者装置を含む構成であって、少なくとも、管理者装置と寄託者装置との間、管理者装置と受託者装置との間で相互に通信可能とされ、寄託者装置は、バックアップの対象である所定のデータ(寄託データ)を記憶する記憶手段と、寄託データを用いて、寄託データと受託者装置に記憶されるバックアップデータとの同一性を検証可能な情報(タグ)を生成するタグ生成手段と、寄託データとタグを管理者装置に送信する対管理者装置送信手段とを備えていて、管理者装置は、寄託者装置から送信された、寄託データおよびタグを受信する対寄託者装置受信手段と、寄託データと、タグと、寄託データの寄託先である受託者装置を識別する受託者識別情報と、正当なバックアップデータの個数の閾値Tとを記憶する記憶手段と、寄託データを受託者装置に送信する第1対受託者装置送信手段と、受託者装置から、受託者装置に記憶されるバックアップデータを用いて生成された、寄託データとバックアップデータとの同一性を検証可能な情報である検証用データを受信する対受託者装置受信手段と、寄託データと受託者装置に記憶されるバックアップデータとの同一性を、タグおよび検証用データを用いて検証する検証手段と、この検証に成功したバックアップデータの個数と閾値Tとの差tを求める判定手段と、上記検証に成功したバックアップデータの個数が閾値Tよりも少ない場合、寄託データを少なくともt個の受託者装置へ送信する第2対受託者装置送信手段とを備えていて、各受託者装置は、管理者装置から送信された寄託データを受信する対管理者装置受信手段と、寄託データをバックアップデータとして記憶する記憶手段と、記憶手段に記憶されるバックアップデータを用いて、寄託データとバックアップデータとの同一性を検証可能な情報である検証用データを生成する検証用データ生成手段と、検証用データを管理者装置に送信する対管理者装置送信手段とを備えている。
また、本発明の分散バックアップ方法は、寄託者装置の記憶手段には、バックアップの対象である所定のデータ(寄託データ)と、寄託データの寄託先である受託者装置を識別する受託者識別情報と、正当なバックアップデータの個数の閾値Tとが記憶されているとして、寄託者装置のタグ生成手段が、寄託データを用いて生成された、寄託データと受託者装置に記憶されるバックアップデータとの同一性を検証可能な情報(タグ)を生成するタグ生成ステップと、寄託者装置の第1対受託者装置送信手段が、寄託データを受託者装置に送信する第1対受託者装置送信ステップと、受託者装置の対寄託者装置受信手段が、寄託者装置から送信された寄託データを受信する対寄託者装置受信ステップと、受託者装置の記憶手段が、寄託データをバックアップデータとして記憶する記憶ステップと、受託者装置の検証用データ生成手段が、受託者装置の記憶手段に記憶されるバックアップデータを用いて、寄託データとバックアップデータとの同一性を検証可能な情報である検証用データを生成する検証用データ生成ステップと、受託者装置の対寄託者装置送信手段が、検証用データを寄託者装置に送信する対寄託者装置送信ステップと、寄託者装置の対受託者装置受信手段が、受託者装置から検証用データを受信する対受託者装置受信ステップと、寄託者装置の検証手段が、寄託データと受託者装置に記憶されるバックアップデータとの同一性を、タグおよび検証用データを用いて検証する検証ステップと、寄託者装置の判定手段が、上記検証に成功したバックアップデータの個数と閾値Tとの差tを求める判定ステップと、寄託者装置の第2対受託者装置送信手段が、上記検証に成功したバックアップデータの個数が閾値Tよりも少ない場合、寄託データを少なくともt個の受託者装置へ送信する第2対受託者装置送信ステップとを有する。
あるいは、本発明の分散バックアップ方法は、寄託者装置の記憶手段には、バックアップの対象である所定のデータ(寄託データ)が記憶されており、管理者装置の記憶手段には、正当なバックアップデータの個数の閾値Tが記憶されているとして、寄託者装置のタグ生成手段が、寄託データを用いて、寄託データと受託者装置に記憶されるバックアップデータとの同一性を検証可能な情報(タグ)を生成するタグ生成ステップと、寄託者装置の対管理者装置送信手段が、寄託データとタグを管理者装置に送信する対管理者装置送信ステップと、管理者装置の対寄託者装置受信手段が、寄託者装置から送信された、寄託データおよびタグを受信する対寄託者装置受信ステップと、管理者装置の記憶手段が、寄託データと、タグと、寄託データの寄託先である受託者装置を識別する受託者識別情報とを記憶する記憶ステップと、管理者装置の第1対受託者装置送信手段が、寄託データを受託者装置に送信する第1対受託者装置送信ステップと、受託者装置の対管理者装置受信手段が、管理者装置から送信された寄託データを受信する対管理者装置受信ステップと、受託者装置の記憶手段が、寄託データをバックアップデータとして記憶する記憶ステップと、受託者装置の検証用データ生成手段が、記憶手段に記憶されるバックアップデータを用いて、寄託データとバックアップデータとの同一性を検証可能な情報である検証用データを生成する検証用データ生成ステップと、受託者装置の対管理者装置送信手段が、検証用データを管理者装置に送信する対管理者装置送信ステップと、管理者装置の対受託者装置受信手段が、受託者装置から検証用データを受信する対受託者装置受信ステップと、管理者装置の検証手段が、寄託データと受託者装置に記憶されるバックアップデータとの同一性を、タグおよび検証用データを用いて検証する検証ステップと、管理者装置の判定手段が、上記検証に成功したバックアップデータの個数と閾値Tとの差tを求める判定ステップと、管理者装置の第2対受託者装置送信手段が、上記検証に成功したバックアップデータの個数が閾値Tよりも少ない場合、寄託データを少なくともt個の受託者装置へ送信する第2対受託者装置送信ステップとを有する。
本発明によれば、寄託データを用いて生成したタグと、受託者装置が記憶するいバックアップデータを用いて生成された検証用データとを用いて、両者の同一性を検証することで、バックアップデータの正当性の検証が可能である。また、受託者装置と寄託者装置/管理者装置との相互通信によりバックアップデータの正当性の検証が可能であるから管理コストが少なくて済む。
《実施形態1》
実施形態1における分散バックアップシステムは、当該システムを管理する管理者のコンピュータである管理者装置、データ(以下、「寄託データ」と云う。)の寄託者であるユーザのコンピュータである寄託者装置、受託した寄託データをバックアップデータとしてストレージに保持することとなる受託者のコンピュータである受託者装置から構成される。なお、「寄託者装置」、「受託者装置」の文言は、或る寄託データXの立場から見た言葉遣いであって、ユーザの使用する装置(コンピュータ)が寄託者装置にも受託者装置にもなりえることに留意しなければならない。
そこで、管理者装置、寄託者装置、受託者装置について説明してから、実施形態1における分散バックアップシステムのシステム構成を説明する。その上で、当該システムにおける分散バックアップ方法の処理手順について叙述的に説明する。
[分散バックアップシステム]
<寄託者装置>
実施形態1における寄託者装置について説明する。
図1は、実施形態1に係わる寄託者装置(2)のハードウェア構成を例示した構成ブロック図である。
図1に例示するように、寄託者装置(2)は、キーボードやポインティングデバイスなどの入力装置が接続可能な入力部(21)、液晶ディスプレイなどの出力装置が接続可能な出力部(22)、寄託者装置(2)外部に通信可能な通信装置(例えば通信ケーブル)が接続可能な通信部(23)、CPU(Central Processing Unit)(24)〔キャッシュメモリなどを備えていてもよい。〕、メモリであるRAM(25)やROM(26)、ハードディスクである外部記憶装置(27)並びにこれらの入力部(21)、出力部(22)、通信部(23)、CPU(24)、RAM(25)、ROM(26)、外部記憶装置(27)間のデータのやり取りが可能なように接続するバス(28)を有している。また必要に応じて、寄託者装置(2)に、CD−ROMなどの記憶媒体を読み書きできる装置(ドライブ)などを設けるとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
寄託者装置(2)の外部記憶装置(27)には、管理者装置(1)が寄託データとバックアップデータとの同一性に関わる検証に用いる情報を寄託データから生成するためのプログラムおよびこのプログラムの処理において必要となるデータなどが記憶されている(外部記憶装置に限らず、例えば読み出し専用記憶装置であるROMにプログラムやデータなどを記憶させておくなどでもよい。)。また、このプログラムの処理によって得られるデータなどは、RAMや外部記憶装置などに適宜に記憶される。以下、演算結果やその格納領域のアドレスなどを記憶するRAMやレジスタなどの記憶装置を単に「記憶部」と呼ぶことにする。
より具体的には、寄託者装置(2)の外部記憶装置(27)〔あるいはROMなど〕には、寄託データXが寄託者装置(2)の外部記憶装置(27)に記憶されているとする。また、寄託データXを用いて、寄託データXと受託者装置に記憶されるバックアップデータとの同一性を検証可能な情報(タグ)を生成するためのプログラムなどが記憶される。その他、このプログラムに基づく処理を制御するための制御プログラムも適宜に保存しておく。
本明細書において寄託データXは、説明の便宜上、ビット列からなるものとする。特に、管理者装置、寄託者装置、受託者装置をコンピュータによって実現する場合には、いかなる情報(例えば人間が意味理解可能なテキスト形式の情報などがある。)であっても、2進数表記されるビット列として外部記憶装置〔あるいはROMなど〕に記憶されることはいうまでもない。また、寄託データXは、必要に応じて公然と知られた方法で暗号化されたデータとしてもよい。
寄託者装置(2)では、外部記憶装置(27)〔あるいはROMなど〕に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてRAM(25)に読み込まれて、CPU(24)で解釈実行・処理される。その結果、CPU(24)が所定の機能(タグ生成部、制御部)を実現する。
<管理者装置>
実施形態1における管理者装置について説明する。
図2は、実施形態1に係わる管理者装置(1)のハードウェア構成を例示した構成ブロック図である。
図2に例示するように、管理者装置(1)は、キーボードやポインティングデバイスなどの入力装置が接続可能な入力部(11)、液晶ディスプレイなどの出力装置が接続可能な出力部(12)、管理者装置(1)外部に通信可能な通信装置(例えば通信ケーブル)が接続可能な通信部(13)、CPU(Central Processing Unit)(14)〔キャッシュメモリなどを備えていてもよい。〕、メモリであるRAM(15)やROM(16)、ハードディスクである外部記憶装置(17)並びにこれらの入力部(11)、出力部(12)、通信部(13)、CPU(14)、RAM(15)、ROM(16)、外部記憶装置(17)間のデータのやり取りが可能なように接続するバス(18)を有している。また必要に応じて、管理者装置(1)に、CD−ROMなどの記憶媒体を読み書きできる装置(ドライブ)などを設けるとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
管理者装置(1)の外部記憶装置(17)には、受託者装置が寄託データを保持していることを検証するのに必要となるプログラムおよびこのプログラムの処理において必要となるデータなどが記憶される(外部記憶装置に限らず、例えば読み出し専用記憶装置であるROMにプログラムやデータなどを記憶させておくなどでもよい。)。また、このプログラムの処理によって得られるデータなどは、RAMや外部記憶装置などに適宜に記憶される。以下、演算結果やその格納領域のアドレスなどを記憶するRAMやレジスタなどの記憶装置を単に「記憶部」と呼ぶことにする。
より具体的には、管理者装置(1)の外部記憶装置(17)には、寄託者装置(2)から受信したタグと、受託者装置がバックアップデータを用いて生成した、寄託データとバックアップデータとの同一性を検証可能な情報である検証用データとを用いて検証するためのプログラム、検証に成功したバックアップデータの個数と閾値Tとの差tを求めるためのプログラムなどが記憶されている。その他、これらのプログラムに基づく処理を制御するための制御プログラムも適宜に保存しておく。
管理者装置(1)では、外部記憶装置(17)〔あるいはROMなど〕に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてRAM(15)に読み込まれて、CPU(14)で解釈実行・処理される。その結果、CPU(14)が所定の機能(検証部、判定部、制御部)を実現する。
<受託者装置>
実施形態1における受託者装置について説明する。
図3は、実施形態1に係わる受託者装置(3)のハードウェア構成を例示した構成ブロック図である。
図3に例示するように、受託者装置(3)は、キーボードやポインティングデバイスなどの入力装置が接続可能な入力部(31)、液晶ディスプレイなどの出力装置が接続可能な出力部(32)、受託者装置(3)外部に通信可能な通信装置(例えば通信ケーブル)が接続可能な通信部(33)、CPU(Central Processing Unit)(34)〔キャッシュメモリなどを備えていてもよい。〕、メモリであるRAM(35)やROM(36)、ハードディスクである外部記憶装置(37)並びにこれらの入力部(31)、出力部(32)、通信部(33)、CPU(34)、RAM(35)、ROM(36)、外部記憶装置(37)間のデータのやり取りが可能なように接続するバス(38)を有している。また必要に応じて、受託者装置(3)に、CD−ROMなどの記憶媒体を読み書きできる装置(ドライブ)などを設けるとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
受託者装置(3)の外部記憶装置(37)には、管理者装置(1)が検証に用いる情報を生成するためのプログラムおよびこのプログラムの処理において必要となるデータなどが記憶されている(外部記憶装置に限らず、例えば読み出し専用記憶装置であるROMにプログラムやデータなどを記憶させておくなどでもよい。)。また、このプログラムの処理によって得られるデータなどは、RAMや外部記憶装置などに適宜に記憶される。以下、演算結果やその格納領域のアドレスなどを記憶するRAMやレジスタなどの記憶装置を単に「記憶部」と呼ぶことにする。
より具体的には、受託者装置(3)の外部記憶装置(37)〔あるいはROMなど〕には、寄託データとバックアップデータとの同一性を検証可能な情報である検証用データをバックアップデータを用いて生成するためのプログラムなどが記憶されている。その他、このプログラムに基づく処理を制御するための制御プログラムも適宜に記憶しておく。
受託者装置(3)では、外部記憶装置(37)〔あるいはROMなど〕に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてRAM(35)に読み込まれて、CPU(34)で解釈実行・処理される。その結果、CPU(34)が所定の機能(検証用データ生成部、制御部)を実現する。
<システム構成>
実施形態1における分散バックアップシステム(5)のシステム構成について説明する。
図4は、分散バックアップシステム(5)のシステム構成を示す図である。
実施形態1では、1個の管理者装置(1)と、複数の寄託者装置(2)と、複数の受託者装置(3)とが、インターネットなどの通信ネットワーク(6)を介して相互に通信可能に接続されている。
また、本発明では分散バックアップの性質上、寄託者装置(2)は複数存在しえるが、説明の便宜から、寄託者装置(2)は1個とする〔図4は、この場合を表している。〕。つまり、或る寄託データXの立場からすると、その本来の所有者である寄託者装置は1個であるから、この意味で寄託者装置(2)を1個として説明する。
以下の説明では、複数の受託者装置を区別するために、f個の受託者装置をハイフン(hyphen)付きの符号(3−1)、(3−2)、・・・、(3−f)をもって表記する。また、同様にして、各装置の機能部もハイフン付きの符号を当てて区別する。
[分散バックアップ方法の処理手順]
続いて、分散バックアップシステム(5)における分散バックアップ方法の処理手順について叙述的に説明する。
実施形態1は、基本的な実施形態の一つを示しており、本発明の趣旨を逸脱するものでないならば、種々の実施の形態に拡張可能である。以下、図5および図6を参照しながら説明する。なお、各装置の機能ブロック図を示す図では、同じ符号が与えられた機能部が示されているが、各別のものを示すものではなく、説明の便宜から各別に示しているに過ぎない。このことは各実施形態における図でも同様である。
<準備>
寄託者装置(2)を識別する情報であるIDとこれに対応する認証子(パスワード、合言葉などの情報、もしくはハードウェアトークンやICカードなどの物理的な所有権、もしくは指紋、虹彩といった生体情報などの認証情報などを例示できる。)が、予め管理者装置(1)の記憶部に登録されているとする。
<寄託手続>
寄託者装置(2)のタグ生成部(201)は、寄託データXを用いて、寄託データXと受託者装置(3−1、3−2、・・・、3−f)に記憶されるバックアップデータとの同一性を検証可能な情報(タグ)Yを生成する(ステップS1)。
ここで、タグYは、寄託データXを高い確率で一意に特定できるものである。また、タグYは、寄託データXよりもデータ量が小さいデータであることが望ましい。
タグYの生成アルゴリズムに限定は無いが、ここに一例を説明する。
[タグの生成アルゴリズム]
〈1〉p,qとして(p−1)/2,(q−1)/2も素数であるような素数をランダムに選択する。
〈2〉N=p×qを計算する。
〈3〉g∈{(Z/NZ)|(a/N)=1,a≠1,aとNは互いに素}を選択する(g=2でもよい。)。(Z/NZ)は剰余環である。記号(・)はLegendre記号である。
〈4〉W=X(mod LCM(p−1,q−1))を計算する。
〈5〉Y=g(mod N)を計算する。
タグ生成アルゴリズム〈1〉の素数選択は寄託データごとに行ってもよいし、ユーザごとに行ってもよい。
タグ生成アルゴリズム〈2〉の法Nの算出について、説明を加える。
このアルゴリズムでは、法となるNは、素数であることが判定可能な数を除く自然数であって、素因数分解困難な数であればよい。Nが素数である場合、Nを法とした剰余環(Z/NZ)の乗法についての位数は、N−1の計算によって容易に求めることができる。よって、素数であることが判定可能な数を定数Nとしないことが望ましい。また、Nが合成数(但し、N=p・qであり、p,qは十分大きな素数)である場合、Nを法とした剰余環(Z/NZ)は、乗法に関して位数p・q−p−q+1の巡回群となる。よって、このNの素因数分解が容易なのであれば、N=p・qを満たすp,qから、Nを法とした剰余環(Z/NZ)の乗法に関しての位数を求めることができる。逆に、この位数が分かり、冪乗剰余演算結果を衝突させることができるのであれば、それらの情報を用いてNの素因数分解ができることも知られている(例えば、G. Miller. Riemanann's hypothesis and tests for primality. Journal of Computer Systems Science, Vol. 13, pages 300-317,1976.など参照)。すなわち、Nが合成数である場合、上記位数を求めることは、Nの素因数分解を行う以上に困難である(Nが2つの素数の積からなる合成数である場合、これらの困難性は同等である。)。
よって、素数であることが判定可能な数を除く自然数であって、素因数分解困難な数をNとすることが望ましい。なお、「素数であることが判定可能な数」とは、本願出願時に公然知られた素数判定法を用いることによって「素数であること」が判定可能な数、及び、本願出願時に「素数であること」が公然知られた数を意味する。
また、Nは、3つ以上の素数の積からなる合成数であってもよい。この場合、たとえ攻撃者がNを素因数分解できたとしても、この攻撃者は、Nを法とした剰余環(Z/NZ)の乗法に関しての位数を容易に算出できないからである。なお、演算効率の面からは、素数であることが判定可能な数を除く自然数であって、素因数分解困難な数をN(但し、Nが合成数の場合、N=p・qであり、p,qは十分大きな素数)とすることが望ましい。
また、素因数分解が困難な合成数Nとして、2のべき乗に近い数、例えば2−1の形で表せる合成数Nを生成するようにしてもよい。このような合成数Nにおいては、合成数Nによる剰余計算は、例えば2を1に置換することで計算ができ、このような演算は通常のCPUにおいてシフト演算またはビットの並び替えで実現することができる。従って高速な剰余演算を実現することができる。そのような合成数Nを確率的アルゴリズムによって効率的に生成することもできるし、素因数分解が困難な数の表は公知であるから、そのような表から2のべき乗に近い合成数Nを選択するようにしてもよい。
また、gは、Nと互いに素であることが望ましい。gがNと互いに素でなく、その旨の情報が攻撃者に知られた場合、この攻撃者は、gの情報を、Nを素因数分解するための情報として利用できる場合があるからである(例えば、gの約数がNの約数となるか否かを試していく処理等が考えられる。)。
寄託者装置(2)の制御部(203)は、寄託者装置(2)の通信部(23)を制御して、寄託データXとタグYを管理者装置(1)に送信する(ステップS2)。なお、この処理の後、寄託者装置(2)は寄託データXとタグYをその記憶部から消去してもよい。
管理者装置(1)の制御部(103)は、管理者装置(1)の通信部(13)を介して、寄託者装置(2)から送信された寄託データXとタグYを受信する(ステップS3)。
管理者装置(1)の制御部(103)により、管理者装置(1)の記憶部に、<準備>で登録された寄託者装置(2)のIDに対応付けて、寄託データXとタグYが記憶される。さらに、管理者装置(1)の制御部(103)により選定された受託者装置(3−1、・・・、3−d)の各ID(受託者識別情報)も、寄託者装置(2)のIDに対応付けられて管理者装置(1)の記憶部に記憶される(ステップS4)。なお、この実施形態1では、正当なバックアップデータの個数の閾値Tも寄託者装置(2)のIDに対応付けられて管理者装置(1)の記憶部に記憶されているとする。閾値Tは分散バックアップシステム(5)に固有(寄託者装置に共通)の値としてもよいし、寄託者装置(2)に固有の値または寄託データXごとに定められた値でもよい。閾値Tが寄託者装置(2)で定められる場合には、<準備>の段階あるいはステップS2、S3の各処理にて閾値Tも送受信される。さらに、寄託データXの送受信時刻も寄託者装置(2)のIDに対応付けられて管理者装置(1)の記憶部に記憶されているとしてもよい。
管理者装置(1)の制御部(103)は、管理者装置(1)の通信部(13)を制御して、寄託データXを選定された受託者装置(3−1、・・・、3−d)に送信する(ステップS5)。なお、この処理の後、管理者装置(1)は寄託データXをその記憶部から消去してもよい。
各受託者装置(3−1、・・・、3−d)の制御部(303−1、・・・、303−d)はそれぞれ、自身の通信部(33−1、・・・、33−d)を介して、管理者装置(1)から送信された寄託データXを受信する(ステップS6)。
各受託者装置(3−1、・・・、3−d)の制御部(303−1、・・・、303−d)により、各受託者装置(3−1、・・・、3−d)の記憶部に、寄託データXがバックアップデータとして記憶される(ステップS7)。このようにして、通常は複数の受託者装置に寄託データXが分散バックアップされる。
<更新手続>
ステップS1〜S7の各処理は、複数の寄託データに応じて定期ないし不定期に実施される。また、ひとたび寄託した寄託データXを再び分散バックアップすることもできる。ただし、管理者装置(1)は、寄託者装置(2)から受信した寄託データXと以前に受信した寄託データXと比較し、1bitたりとも変化していない場合は、寄託データXの送受信時刻のみを最新のものに更新し、他の処理を行わなくてもよい。また、変更部分が現在記憶されている寄託データXに対して小さい場合は、この変更部分ΔXを追加する処理を、上述した処理に則して行ってもよい。なお、この更新手続は任意の処理である。
<検証手続>
管理者装置(1)は、寄託者装置(2)の要求に応じて、あるいは、何かしらの事故やトラブルが起きたときに、あるいは、定期的な時間ごとのように、定期ないし不定期に、寄託データXの寄託先である各受託者装置(3−1、・・・、3−d)のバックアップデータが寄託データXのバックアップデータとして正しく記憶されているかを検証する。
管理者装置(1)から検証開始が通知されると、各受託者装置(3−1、・・・、3−d)の検証用データ生成部(301−1、・・・、301−d)が、自身の記憶部に記憶されるバックアップデータを用いて、寄託データXとバックアップデータとの同一性を検証可能な情報である検証用データを生成する(ステップS8)。
各受託者装置(3−1、・・・、3−d)の制御部(303−1、・・・、303−d)は、自身の通信部(33−1、・・・、33−d)を制御して、自身の検証用データ生成部(301−1、・・・、301−d)が生成した検証用データを管理者装置(1)に送信する(ステップS9)。
管理者装置(1)の制御部(103)は、管理者装置(1)の通信部(13)を介して、各受託者装置(3−1、・・・、3−d)から送信された検証用データを受信する(ステップS10)。
そして、管理者装置(1)の検証部(104)が、各受託者装置(3−1、・・・、3−d)ごとに、寄託データXと受託者装置に記憶されるバックアップデータとの同一性を、タグYおよび検証用データを用いて検証する(ステップS11)。検証に成功した数s(受託者装置が記憶するバックアップデータが寄託データXの正しいバックアップデータである数)は管理者装置(1)の記憶部に記憶される。
以上が<検証手続>である。
具体的な検証方式は、どの受託者装置が寄託データXをバックアップデータとして正しく記憶しているのかが確認できるプロトコルであって、そのプロトコルを盗み見た人(不正者)が真似をしても、不正者が寄託データXをバックアップデータとして記憶しているかのように見せかけることのできない方式が好ましい。
検証方式に限定は無いが、ここに一例を説明する。
[検証方式]
〈1〉管理者装置(1)の乱数生成部は、乱数r∈[0,・・・,N]を選択し、R=g(mod N)を計算する。
〈2〉管理者装置(1)の検証開始部は、セッションIDを生成し、乱数rを秘密鍵、Rを公開鍵とする電子署名(例えばSchnorr署名(ISO/IEC14888-3)で規定)を、セッションIDに対して行い、これをσとする。
〈3〉管理者装置(1)の制御部(103)は、通信部(13)を制御してR,署名σ,セッションIDを各受託者装置(3−1、・・・、3−d)に送信する。各受託者装置(3−1、・・・、3−d)の制御部は、自身の通信部を介してR,署名σ,セッションIDを管理者装置から受信する。
〈4〉各受託者装置(3−1、・・・、3−d)は、R∈{(Z/NZ)|(a/N)=1,aとNは互いに素}かつセッションIDに対応する署名σを確認する。確認できなかった場合は、処理を中止する。
〈5〉上記確認をできた場合、各受託者装置(3−1、・・・、3−d)の検証用データ生成部は、H=R(mod N)を計算する(ステップS8に相当)。但し、Xは受託者装置の記憶部に記憶されているバックアップデータである。
〈6〉各受託者装置(3−1、・・・、3−d)の制御部は、自身の通信部を制御して、Hを管理者装置に送信する(ステップS9に相当)。管理者装置(1)の制御部は、自身の通信部を介してHを各受託者装置(3−1、・・・、3−d)から受信する(ステップS10に相当)。
〈7〉管理者装置(1)の検証部(104)は、各受託者装置(3−1、・・・、3−d)ごとに、H=Y(mod N)であることを確認できた場合は検証成功、確認できなかった場合は検証失敗とする(ステップS11に相当)。
例示した検証方式ではセッションIDを用いたが、これに限定されるものではなく、管理者装置と受託者装置にとって不正ができない値であって且つ毎回異なる値であるならばどのような情報でも利用可能である。例えば、時報局による時刻情報や、管理者装置(1)のIDと受託者装置のIDの合成(例えばビット列で表される両IDのビット列結合)などを利用できる。
通信先を保証することができる通信ネットワーク(6)を利用している場合(例えばPKI(Public Key Infrastructure)を利用したSSL相手先認証など)、出願済み未公開の特許出願(特願2005−204954)に記載される認証技術を検証方式に利用することができる。
この認証技術は、特定または不特定の装置が、所定の情報を内部に保持していることを証明・検証することを可能とする技術である。この認証技術に拠れば、バックアップデータが格納された受託者装置に通信可能に接続された管理者装置が、当該バックアップデータと、任意の対比情報(寄託データに相当する。)と、の同一性を検証する。管理者装置は、対比情報の内容に依存する内容を有し、対比情報の情報量に依存しない情報量を有する検証情報と、任意の情報である第1任意情報と、を第1記憶部に記憶する。また、管理者装置は、受託者装置に認証情報を生成させるための認証情報生成因子を、第1記憶部に記憶された第1任意情報を用いて生成し、生成した認証情報生成因子を受託者装置に送信する。受託者装置は、上記の認証情報生成因子を受信し、当該認証情報生成因子と、第2記憶部に記憶されたバックアップデータとを用い、認証情報生成因子とバックアップデータとの内容に依存する内容を有し、バックアップデータの情報量に依存しない情報量を有する認証情報を生成する。次に、受託者装置は、この認証情報を管理者装置に送信する。管理者装置は、受託者装置が送信した認証情報を受信し、管理者装置の判定部が、その認証情報と、第1記憶部に記憶された検証情報及び第1任意情報との間に、所定の関係が成立するか否かを判定する。これにより、管理者装置は、受託者装置に格納されたバックアップデータが、対比情報と同一であることを検証する。
また、検証手続を実施する管理者装置は寄託データXの配布元である管理者装置と同一でなくてもよい(検証用の管理者装置と寄託データ配布用の管理者装置とを別個とする仕様が可能であり、ID、寄託データX、タグYなどを対応付けたデータベースを両管理者装置で共有すればよい。)。このような場合、寄託データXを配布した管理者装置と検証手続を実施する管理者装置が同じかもしくはその実施の委託先の装置であることを電子署名などを用いて示せばよい。
さて、管理者装置(1)の判定部(105)は、検証に成功した数s(受託者装置が記憶するバックアップデータが寄託データXの正しいバックアップデータである数)とその記憶部に記憶される閾値Tとの差tを求める(ステップS12)。
管理者装置(1)の制御部(103)は、検証に成功した数sが閾値Tよりも少ない場合、新たな受託者装置を選定し、これらの受託者装置へ寄託データXを送信する(ステップS13)。もし、管理者装置(1)に寄託データXが存在しない場合、寄託者装置(2)から寄託データXを再度受信して、これを新たな受託者装置へ送信すればよい。また、寄託者装置(2)にも寄託データXが存在しない場合、検証に成功した受託者装置からバックアップデータを受信して、これを新たな受託者装置へ送信すればよい。新たに選定される受託者装置は、検証に失敗した受託者装置であってもよいし、検証に失敗した受託者装置以外の装置としてもよい。新たに選定される受託者装置の個数はt以上とする。これは、寄託データXのバックアップデータを記憶する受託者装置をT個以上とするためである。
<返還手続>
管理者装置(1)は、寄託者装置(2)の要求に応じて、あるいは、何かしらの事故やトラブルが起きたときに、あるいは、定期的な時間ごとのように、定期ないし不定期に、受託者装置に記憶されているバックアップデータを寄託者装置(2)に返還する手続を行う。
管理者装置(1)の本人認証部は、例えば寄託者装置(2)から寄託データXの返還要求の通知を受けると、返還しようとする相手である寄託者装置(2)との間で、<準備>で登録されたユーザID及び認証子を用いて本人認証を行う。本人認証が成功した場合、管理者装置(1)は、検証に成功した(ことのある)受託者装置に、寄託データXを管理者装置に送信する旨の通知を受託者装置に送信する。この通知を受信した受託者装置は、管理者装置(1)からの通知であることを確認し(例えば通知に添付された電子署名の検証を行う。)、バックアップデータを管理者装置(1)に送信する。管理者装置(1)は、受信したバックアップデータを寄託者である寄託者装置(2)に寄託データXを送信する。なお、管理者装置(1)は、受信したバックアップデータに対してタグYを利用して寄託データXとの整合性を再度確認してもよい。また、寄託者装置(2)と受託者装置とが相互に通信可能であれば、管理者装置(1)は、検証に成功した(ことのある)受託者装置に、寄託データXを管理者装置に送信する旨の通知と共に寄託者装置(2)を指示する情報を受託者装置に送信し、これらを受信した受託者装置が、寄託者装置(2)に管理者装置(1)を介さずにバックアップデータを送信してもよい。
実施形態1では、寄託データXの立場からユーザ装置を寄託者装置、受託者装置に分けて説明したが、ユーザ装置は寄託者装置にも受託者装置にもなりえるから、ユーザ装置の観点からすれば、ユーザ装置はいずれもタグ生成部、検証用データ生成部の各機能を持つことが好ましい。
《実施形態2》
実施形態1は、管理者装置が寄託者装置と受託者装置との間に介在するハイブリッド型の分散バックアップシステムであった。実施形態2では、P2P(Peer-to-Peer)型の分散バックアップシステムを説明する。
実施形態1との差異は、実施形態2では寄託者装置(2)が管理者装置(1)の機能を実装することにある。従って、実施形態1と異ならない事項については同一符号を当てて説明を省略する。
実施形態2における分散バックアップシステムは、寄託データの寄託者であるユーザのコンピュータである寄託者装置、寄託者装置から受託した寄託データをバックアップデータとしてストレージに保持することとなる受託者のコンピュータである受託者装置から構成される。
[分散バックアップシステム]
<受託者装置>
そのハードウェア構成例、機能構成例は実施形態1と同様である。
<寄託者装置>
実施形態2における寄託者装置について説明する。この寄託者装置のハードウェア構成例は図1に示したとおりである。
寄託者装置(2a)の外部記憶装置(27)には、寄託データとバックアップデータとの同一性に関わる検証に用いる情報を寄託データから生成するためのプログラム、受託者装置が寄託データを保持していることを検証するのに必要となるプログラムおよびこのプログラムの処理において必要となるデータなどが記憶されている(外部記憶装置に限らず、例えば読み出し専用記憶装置であるROMにプログラムやデータなどを記憶させておくなどでもよい。)。また、このプログラムの処理によって得られるデータなどは記憶部に適宜に記憶される。
より具体的には、寄託者装置(2a)の外部記憶装置(27)〔あるいはROMなど〕には、寄託データXが寄託者装置(2a)の外部記憶装置(27)に記憶されているとする。また、寄託データXを用いて、寄託データXと受託者装置に記憶されるバックアップデータとの同一性を検証可能な情報(タグ)を生成するためのプログラム、タグと、受託者装置がバックアップデータを用いて生成した、寄託データとバックアップデータとの同一性を検証可能な情報である検証用データとを用いて検証するためのプログラム、検証に成功したバックアップデータの個数と閾値Tとの差tを求めるためのプログラムなどが記憶される。その他、このプログラムに基づく処理を制御するための制御プログラムも適宜に保存しておく。
寄託者装置(2a)では、外部記憶装置(27)〔あるいはROMなど〕に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてRAM(25)に読み込まれて、CPU(24)で解釈実行・処理される。その結果、CPU(24)が所定の機能(タグ生成部、検証部、判定部、制御部)を実現する。
<システム構成>
実施形態2における分散バックアップシステム(5a)のシステム構成について説明する。
図7は、分散バックアップシステム(5a)のシステム構成を示す図である。
実施形態1では、複数の寄託者装置(2a)と、複数の受託者装置(3)とが、インターネットなどの通信ネットワーク(6)を介して相互に通信可能に接続されている。説明の便宜から寄託者装置(2a)は1個とするが、その理由は実施形態1で述べたとおりである。
[分散バックアップ方法の処理手順]
続いて、分散バックアップシステム(5a)における分散バックアップ方法の処理手順について叙述的に説明する。
実施形態2は、基本的な実施形態の一つを示しており、本発明の趣旨を逸脱するものでないならば、種々の実施の形態に拡張可能である。以下、図8および図9を参照しながら説明する。
実施形態1で説明した<準備>は、特段の事情の無い限り実施形態2では不要である。
<寄託手続>
寄託者装置(2a)のタグ生成部(201)は、寄託データXを用いて、寄託データXと受託者装置(3−1、・・・、3−f)に記憶されるバックアップデータとの同一性を検証可能な情報(タグ)Yを生成する(ステップS1a)。タグYの性質やその生成アルゴリズムなどは実施形態1と同じである。
寄託者装置(2a)の制御部(203)は、受託者装置(3−1、・・・、3−d)を選定し、寄託者装置(2)の通信部(23)を制御して、寄託データXを選定された受託者装置(3−1、・・・、3−d)に送信する(ステップS2a)。寄託者装置(2)の記憶部には、少なくともタグYを記憶し、また寄託データXの配布先である受託者装置(3−1、・・・、3−d)の各ID(受託者識別情報)も記憶しておく。この実施形態2では、正当なバックアップデータの個数の閾値Tも寄託者装置(2)の記憶部に記憶されているとする。この処理の後、寄託者装置(2)は寄託データXをその記憶部から消去してもよい。
各受託者装置(3−1、・・・、3−d)の制御部(303−1、・・・、303−d)はそれぞれ、自身の通信部(33−1、・・・、33−d)を介して、寄託者装置(2a)から送信された寄託データXを受信する(ステップS3a)。
各受託者装置(3−1、・・・、3−d)の制御部(303−1、・・・、303−d)により、各受託者装置(3−1、・・・、3−d)の記憶部に、寄託データXがバックアップデータとして記憶される(ステップS4a)。このようにして、通常は複数の受託者装置に寄託データXが分散バックアップされる。
<更新手続>
ステップS1〜S4aの各処理は、複数の寄託データに応じて定期ないし不定期に実施される。また、ひとたび寄託した寄託データXを再び分散バックアップすることもできる。また、変更部分が現在記憶されている寄託データXに対して小さい場合は、この変更部分ΔXを追加する処理を、上述した処理に則して行ってもよい。なお、この更新手続は任意の処理である。
<検証手続>
寄託者装置(2a)は、何かしらの事故やトラブルが起きたときに、あるいは、定期的な時間ごとのように、定期ないし不定期に、寄託データXの寄託先である各受託者装置(3−1、・・・、3−d)のバックアップデータが寄託データXのバックアップデータとして正しく記憶されているかを検証する。
寄託者装置(2a)から検証開始が通知されると、各受託者装置(3−1、・・・、3−d)の検証用データ生成部(301−1、・・・、301−d)が、自身の記憶部に記憶されるバックアップデータを用いて、寄託データXとバックアップデータとの同一性を検証可能な情報である検証用データを生成する(ステップS5a)。
各受託者装置(3−1、・・・、3−d)の制御部(303−1、・・・、303−d)は、自身の通信部(33−1、・・・、33−d)を制御して、自身の検証用データ生成部(301−1、・・・、301−d)が生成した検証用データを寄託者装置(2a)に送信する(ステップS6a)。
寄託者装置(2a)の制御部(203)は、寄託者装置(2a)の通信部(23)を介して、各受託者装置(3−1、・・・、3−d)から送信された検証用データを受信する(ステップS7a)。
そして、寄託装置(2a)の検証部(204)が、各受託者装置(3−1、・・・、3−d)ごとに、寄託データXと受託者装置に記憶されるバックアップデータとの同一性を、タグYおよび検証用データを用いて検証する(ステップS8a)。
具体的な検証方式は、実施形態1で述べたとおりである。
以上が<検証手続>である。
さて、寄託者装置(2a)の判定部(205)は、検証に成功した数s(受託者装置が記憶するバックアップデータが寄託データXの正しいバックアップデータである数)とその記憶部に記憶される閾値Tとの差tを求める(ステップS9a)。
寄託者装置(2a)の制御部(203)は、検証に成功した数sが閾値Tよりも少ない場合、新たな受託者装置を選定し、これらの受託者装置へ寄託データXを送信する(ステップS10a)。もし、寄託者装置(2a)に寄託データXが存在しない場合、検証に成功した受託者装置からバックアップデータを受信して、これを新たな受託者装置へ送信すればよい。新たに選定される受託者装置は、検証に失敗した受託者装置であってもよいし、検証に失敗した受託者装置以外の装置としてもよい。新たに選定される受託者装置の個数はt以上とする。これは、寄託データXのバックアップデータを記憶する受託者装置をT個以上とするためである。
<返還手続>
寄託者装置(2a)は、何かしらの事故やトラブルが起きたときに、あるいは、定期的な時間ごとのように、定期ないし不定期に、受託者装置に記憶されているバックアップデータを寄託者装置(2)に返還要求する手続を行う。
寄託者装置(2a)は、検証に成功した(ことのある)受託者装置に、寄託データXを寄託者装置(2a)に送信する旨の通知を受託者装置に送信する。この通知を受信した受託者装置は、寄託者装置(2a)からの通知であることを確認し(例えば通知に添付された電子署名の検証を行う。)、バックアップデータを寄託者装置(2a)に送信する。寄託者装置(2a)は、受信したバックアップデータに対してタグYを利用して寄託データXとの整合性を再度確認してもよい。
実施形態2では、寄託データXの立場からユーザ装置を寄託者装置、受託者装置に分けて説明したが、ユーザ装置は寄託者装置にも受託者装置にもなりえるから、ユーザ装置の観点からすれば、ユーザ装置はいずれもタグ生成部、検証用データ生成部、検証部、判定部の各機能を持つことが好ましい。
本発明である分散バックアップシステム・分散バックアップ方法などは上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。例えば、タグ生成方法や検証方法は適宜に変更可能である。また、上記分散バックアップシステム・分散バックアップ方法において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。
また、上記管理者装置、寄託者装置、受託者装置における処理機能をコンピュータによって実現する場合、管理者装置、寄託者装置、受託者装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記管理者装置、寄託者装置、受託者装置における処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magneto-Optical disc)等を、半導体メモリとしてEEP−ROM(Electronically Erasable and Programmable-Read Only Memory)等を用いることができる。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、管理者装置、寄託者装置、受託者装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
本発明は、データの分散バックアップに有用である。
寄託者装置(2)のハードウェア構成を例示した構成ブロック図。 管理者装置(1)のハードウェア構成を例示した構成ブロック図。 受託者装置(3)のハードウェア構成を例示した構成ブロック図。 分散バックアップシステム(5)のシステム構成を例示した図。 実施形態1に係る管理者装置(1)、寄託者装置(2)、受託者装置(3)の機能ブロック図。 実施形態1における処理フローを示す図。 分散バックアップシステム(5a)のシステム構成を例示した図。 実施形態2に係る寄託者装置(2a)、受託者装置(3)の機能ブロック図。 実施形態2における処理フローを示す図。
符号の説明
1 管理者装置
2 寄託者装置
2a 寄託者装置
3、3−1、3−2、・・・、3−f 受託者装置
5 分散バックアップシステム
5a 分散バックアップシステム
104 検証部
105 判定部
201 タグ生成部
204 検証部
205 判定部
301−1、・・・、301−d 検証用データ生成部

Claims (6)

  1. 寄託者装置および複数の受託者装置を含む分散バックアップシステムであって、少なくとも寄託者装置と受託者装置との間で相互に通信可能とされ、
    上記寄託者装置は、
    バックアップの対象である所定のデータ(寄託データ)と、寄託データの寄託先である受託者装置を識別する受託者識別情報と、正当なバックアップデータの個数の閾値Tとを記憶する記憶手段と、
    寄託データを用いて、寄託データと受託者装置に記憶されるバックアップデータとの同一性を検証可能な情報(タグ)を生成するタグ生成手段と、
    寄託データを受託者装置に送信する第1対受託者装置送信手段と、
    受託者装置から、受託者装置に記憶されるバックアップデータを用いて生成された、寄託データとバックアップデータとの同一性を検証可能な情報である検証用データを受信する対受託者装置受信手段と、
    寄託データと受託者装置に記憶されるバックアップデータとの同一性を、タグおよび検証用データを用いて検証する検証手段と、
    上記検証に成功したバックアップデータの個数と閾値Tとの差tを求める判定手段と、
    上記検証に成功したバックアップデータの個数が閾値Tよりも少ない場合、寄託データを少なくともt個の受託者装置へ送信する第2対受託者装置送信手段とを備え、
    各上記受託者装置は、
    寄託者装置から送信された寄託データを受信する対寄託者装置受信手段と、
    寄託データをバックアップデータとして記憶する記憶手段と、
    記憶手段に記憶されるバックアップデータを用いて検証用データを生成する検証用データ生成手段と、
    検証用データを寄託者装置に送信する対寄託者装置送信手段とを備えた
    分散バックアップシステム。
  2. 管理者装置、寄託者装置および複数の受託者装置を含む分散バックアップシステムであって、少なくとも、管理者装置と寄託者装置との間、管理者装置と受託者装置との間で相互に通信可能とされ、
    上記寄託者装置は、
    バックアップの対象である所定のデータ(寄託データ)を記憶する記憶手段と、
    寄託データを用いて、寄託データと受託者装置に記憶されるバックアップデータとの同一性を検証可能な情報(タグ)を生成するタグ生成手段と、
    寄託データとタグを管理者装置に送信する対管理者装置送信手段とを備え、
    上記管理者装置は、
    寄託者装置から送信された、寄託データおよびタグを受信する対寄託者装置受信手段と、
    寄託データと、タグと、寄託データの寄託先である受託者装置を識別する受託者識別情報と、正当なバックアップデータの個数の閾値Tとを記憶する記憶手段と、
    寄託データを受託者装置に送信する第1対受託者装置送信手段と、
    受託者装置から、受託者装置に記憶されるバックアップデータを用いて生成された、寄託データとバックアップデータとの同一性を検証可能な情報である検証用データを受信する対受託者装置受信手段と、
    寄託データと受託者装置に記憶されるバックアップデータとの同一性を、タグおよび検証用データを用いて検証する検証手段と、
    上記検証に成功したバックアップデータの個数と閾値Tとの差tを求める判定手段と、
    上記検証に成功したバックアップデータの個数が閾値Tよりも少ない場合、寄託データを少なくともt個の受託者装置へ送信する第2対受託者装置送信手段とを備え、
    各上記受託者装置は、
    管理者装置から送信された寄託データを受信する対管理者装置受信手段と、
    寄託データをバックアップデータとして記憶する記憶手段と、
    記憶手段に記憶されるバックアップデータを用いて、寄託データとバックアップデータとの同一性を検証可能な情報である検証用データを生成する検証用データ生成手段と、
    検証用データを管理者装置に送信する対管理者装置送信手段とを備えた
    分散バックアップシステム。
  3. 分散バックアップ方法であって、
    寄託者装置の記憶手段には、バックアップの対象である所定のデータ(寄託データ)と、寄託データの寄託先である受託者装置を識別する受託者識別情報と、正当なバックアップデータの個数の閾値Tとが記憶されており、
    寄託者装置のタグ生成手段が、寄託データを用いて生成された、寄託データと受託者装置に記憶されるバックアップデータとの同一性を検証可能な情報(タグ)を生成するタグ生成ステップと、
    寄託者装置の第1対受託者装置送信手段が、寄託データを受託者装置に送信する第1対受託者装置送信ステップと、
    受託者装置の対寄託者装置受信手段が、寄託者装置から送信された寄託データを受信する対寄託者装置受信ステップと、
    受託者装置の記憶手段が、寄託データをバックアップデータとして記憶する記憶ステップと、
    受託者装置の検証用データ生成手段が、受託者装置の記憶手段に記憶されるバックアップデータを用いて、寄託データとバックアップデータとの同一性を検証可能な情報である検証用データを生成する検証用データ生成ステップと、
    受託者装置の対寄託者装置送信手段が、検証用データを寄託者装置に送信する対寄託者装置送信ステップと、
    寄託者装置の対受託者装置受信手段が、受託者装置から検証用データを受信する対受託者装置受信ステップと、
    寄託者装置の検証手段が、寄託データと受託者装置に記憶されるバックアップデータとの同一性を、タグおよび検証用データを用いて検証する検証ステップと、
    寄託者装置の判定手段が、上記検証に成功したバックアップデータの個数と閾値Tとの差tを求める判定ステップと、
    寄託者装置の第2対受託者装置送信手段が、上記検証に成功したバックアップデータの個数が閾値Tよりも少ない場合、寄託データを少なくともt個の受託者装置へ送信する第2対受託者装置送信ステップとを有する
    分散バックアップ方法。
  4. 分散バックアップ方法であって、
    寄託者装置の記憶手段には、バックアップの対象である所定のデータ(寄託データ)が記憶されており、
    管理者装置の記憶手段には、正当なバックアップデータの個数の閾値Tが記憶されており、
    寄託者装置のタグ生成手段が、寄託データを用いて、寄託データと受託者装置に記憶されるバックアップデータとの同一性を検証可能な情報(タグ)を生成するタグ生成ステップと、
    寄託者装置の対管理者装置送信手段が、寄託データとタグを管理者装置に送信する対管理者装置送信ステップと、
    管理者装置の対寄託者装置受信手段が、寄託者装置から送信された、寄託データおよびタグを受信する対寄託者装置受信ステップと、
    管理者装置の記憶手段が、寄託データと、タグと、寄託データの寄託先である受託者装置を識別する受託者識別情報とを記憶する記憶ステップと、
    管理者装置の第1対受託者装置送信手段が、寄託データを受託者装置に送信する第1対受託者装置送信ステップと、
    受託者装置の対管理者装置受信手段が、管理者装置から送信された寄託データを受信する対管理者装置受信ステップと、
    受託者装置の記憶手段が、寄託データをバックアップデータとして記憶する記憶ステップと、
    受託者装置の検証用データ生成手段が、記憶手段に記憶されるバックアップデータを用いて、寄託データとバックアップデータとの同一性を検証可能な情報である検証用データを生成する検証用データ生成ステップと、
    受託者装置の対管理者装置送信手段が、検証用データを管理者装置に送信する対管理者装置送信ステップと、
    管理者装置の対受託者装置受信手段が、受託者装置から検証用データを受信する対受託者装置受信ステップと、
    管理者装置の検証手段が、寄託データと受託者装置に記憶されるバックアップデータとの同一性を、タグおよび検証用データを用いて検証する検証ステップと、
    管理者装置の判定手段が、上記検証に成功したバックアップデータの個数と閾値Tとの差tを求める判定ステップと、
    管理者装置の第2対受託者装置送信手段が、上記検証に成功したバックアップデータの個数が閾値Tよりも少ない場合、寄託データを少なくともt個の受託者装置へ送信する第2対受託者装置送信ステップとを有する
    分散バックアップ方法。
  5. 寄託者装置および複数の受託者装置で構成される分散バックアップシステムにおける寄託者装置であって、
    バックアップの対象である所定のデータ(寄託データ)と、寄託データの寄託先である受託者装置を識別する受託者識別情報と、正当なバックアップデータの個数の閾値Tとを記憶する記憶手段と、
    寄託データを用いて、寄託データと受託者装置に記憶されるバックアップデータとの同一性を検証可能な情報(タグ)を生成するタグ生成手段と、
    寄託データを受託者装置に送信する第1対受託者装置送信手段と、
    受託者装置から、受託者装置に記憶されるバックアップデータを用いて生成された、寄託データとバックアップデータとの同一性を検証可能な情報である検証用データを受信する対受託者装置受信手段と、
    寄託データと受託者装置に記憶されるバックアップデータとの同一性を、タグおよび検証用データを用いて検証する検証手段と、
    上記検証に成功したバックアップデータの個数と閾値Tとの差tを求める判定手段と、
    上記検証に成功したバックアップデータの個数が閾値Tよりも少ない場合、寄託データを少なくともt個の受託者装置へ送信する第2対受託者装置送信手段と
    を備えた寄託者装置。
  6. 管理者装置、寄託者装置および複数の受託者装置で構成される分散バックアップシステムにおける管理者装置であって、
    寄託者装置から送信された、バックアップの対象である所定のデータ(寄託データ)および、寄託データと受託者装置に記憶されるバックアップデータとの同一性を検証可能な情報(タグ)を受信する対寄託者装置受信手段と、
    寄託データと、タグと、寄託データの寄託先である受託者装置を識別する受託者識別情報と、正当なバックアップデータの個数の閾値Tとを記憶する記憶手段と、
    寄託データを受託者装置に送信する第1対受託者装置送信手段と、
    受託者装置から、受託者装置に記憶されるバックアップデータを用いて生成された、寄託データとバックアップデータとの同一性を検証可能な情報である検証用データを受信する対受託者装置受信手段と、
    寄託データと受託者装置に記憶されるバックアップデータとの同一性を、タグおよび検証用データを用いて検証する検証手段と、
    上記検証に成功したバックアップデータの個数と閾値Tとの差tを求める判定手段と、
    上記検証に成功したバックアップデータの個数が閾値Tよりも少ない場合、寄託データを少なくともt個の受託者装置へ送信する第2対受託者装置送信手段と
    を備えた管理者装置。
JP2008010727A 2008-01-21 2008-01-21 分散バックアップシステム、分散バックアップ方法、寄託者装置、管理者装置 Expired - Fee Related JP4996489B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008010727A JP4996489B2 (ja) 2008-01-21 2008-01-21 分散バックアップシステム、分散バックアップ方法、寄託者装置、管理者装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008010727A JP4996489B2 (ja) 2008-01-21 2008-01-21 分散バックアップシステム、分散バックアップ方法、寄託者装置、管理者装置

Publications (2)

Publication Number Publication Date
JP2009175794A JP2009175794A (ja) 2009-08-06
JP4996489B2 true JP4996489B2 (ja) 2012-08-08

Family

ID=41030854

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008010727A Expired - Fee Related JP4996489B2 (ja) 2008-01-21 2008-01-21 分散バックアップシステム、分散バックアップ方法、寄託者装置、管理者装置

Country Status (1)

Country Link
JP (1) JP4996489B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108063748A (zh) * 2016-11-09 2018-05-22 中国移动通信有限公司研究院 一种用户认证方法、装置及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001356951A (ja) * 2000-06-13 2001-12-26 Canon Inc 情報処理システム、情報処理装置及びそれらの制御方法、コンピュータ可読メモリ
JP4497984B2 (ja) * 2004-03-31 2010-07-07 株式会社日本総合研究所 ファイル共有制御システムおよび共有制御プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108063748A (zh) * 2016-11-09 2018-05-22 中国移动通信有限公司研究院 一种用户认证方法、装置及系统
CN108063748B (zh) * 2016-11-09 2021-06-29 中国移动通信有限公司研究院 一种用户认证方法、装置及系统

Also Published As

Publication number Publication date
JP2009175794A (ja) 2009-08-06

Similar Documents

Publication Publication Date Title
CN110519260B (zh) 一种信息处理方法及信息处理装置
Jin et al. Dynamic and public auditing with fair arbitration for cloud data
EP3593482B1 (en) Secure de-centralized domain name system
JP6547079B1 (ja) 登録・認可方法、装置及びシステム
CN112990918A (zh) 物品的确权、转移方法、系统、电子设备和存储介质
CN110519046B (zh) 基于一次性非对称密钥对和qkd的量子通信服务站密钥协商方法和系统
KR101982237B1 (ko) 클라우드 컴퓨팅 환경에서의 속성 기반 암호화를 이용한 데이터 공유 방법 및 시스템
JP2021511596A5 (ja)
CN110096903B (zh) 基于区块链的资产验证方法及区块链网络系统
CN113056741A (zh) 基于分布式账本的简档验证
WO2020083629A1 (en) Issuing device and method for issuing and requesting device and method for requesting a digital certificate
KR102559571B1 (ko) 분산 id를 활용한 소유권 증명 및 이전 내역 증명 방법
CN114629713B (zh) 身份验证方法、装置及系统
JPWO2008126460A1 (ja) 電子データ認証方法、電子データ認証プログラムおよび電子データ認証システム
CN111740966A (zh) 一种基于区块链网络的数据处理方法及相关设备
CN110365472B (zh) 基于非对称密钥池对的量子通信服务站数字签名方法、系统
KR20210099814A (ko) 블록체인을 기반으로 한 디지털 자산 관리 시스템 및 방법
US12438717B2 (en) Selective data sharing
CN110719174B (zh) 基于Ukey的证书签发方法
CN111079190A (zh) 区块链供应链交易隐藏动态监管系统及方法
US20120066497A1 (en) Method and device for enabling portable user reputation
CN109450636A (zh) 一种云存储中群组数据的完整性验证方法
JP4933223B2 (ja) 属性認証システム、同システムにおけるユーザの行動履歴検索方法およびプログラム
Hajlaoui et al. A hybrid architecture for secure data sharing in multi-clouds system
CN103532961A (zh) 一种基于可信密码模块电网网站身份认证的方法及系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100114

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20110729

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120228

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120412

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: 20120501

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120511

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150518

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees