説明

割符ファイル生成プログラム及び方法、並びにデータ復元プログラム及び方法

【課題】全体のデータ量を抑えつつ、ユーザデータの情報漏洩を防止する。
【解決手段】本割符ファイル生成方法は、処理対象ファイルをn個のセグメントに分割するステップと、全てのセグメントによる排他的論理和を計算することにより第1の記憶装置に格納するための第1の割符ファイルを生成するステップと、n個のセグメントから任意のn−1個のセグメントを選ぶことにより構成されるn通りの組み合わせのうち、n−1通りの組み合わせの各々について、当該組み合わせに含まれるn−1個のセグメントによる排他的論理和を計算することにより第2の記憶装置に格納するための第2の割符ファイルを生成するステップとを含む。

【発明の詳細な説明】
【技術分野】
【0001】
本技術は、データのセキュリティ保持技術の分野に関する。
【背景技術】
【0002】
近年、例えばノート型PC(Personal Computer)やUSB(Universal Serial Bus)メモリなどの盗難・紛失による情報漏洩が問題となっている。
【0003】
このような情報漏洩を防止するための技術として例えば電子割符が存在している。従来の電子割符では、例えばランダム値などの冗長データを用いてユーザデータを暗号化し、暗号化したユーザデータを複数の割符ファイルに分割し、分散して保存する。これにより、ノート型PCやUSBメモリなどが盗難にあったり、紛失したりした場合であっても、一部の割符ファイルだけではユーザデータを復元することはできないため、情報漏洩を防ぐことができる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2002−135247号公報
【特許文献2】特開2007−299088号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上で述べたような方式では、ユーザデータを復元する際、暗号化に用いた冗長データが必要になるため、複数の割符ファイルの他に、冗長データもノート型PCやUSBメモリなどに保存して持ち運ばなければならない。そのため、情報漏洩の防止のために必要となるデータ全体のデータ量が増えてしまうという問題がある。例えばユーザデータと同サイズの冗長データによって暗号化を行う場合には、ユーザデータと同サイズの冗長データを保存しておく必要があり、全体のデータ量が2倍になってしまう。
【0006】
従って、本技術の目的は、全体のデータ量を抑えつつ、ユーザデータの情報漏洩を防止するための技術を提供することである。
【課題を解決するための手段】
【0007】
第1の態様に係る割符ファイル生成方法は、処理対象ファイルをn個のセグメントに分割する分割ステップと、全てのセグメントによる排他的論理和を計算することにより第1の記憶装置に格納するための第1の割符ファイルを生成する第1割符ファイル生成ステップと、n個のセグメントから任意のn−1個のセグメントを選ぶことにより構成されるn通りの組み合わせのうち、n−1通りの組み合わせの各々について、当該組み合わせに含まれるn−1個のセグメントによる排他的論理和を計算することにより第2の記憶装置に格納するための第2の割符ファイルを生成する第2割符ファイル生成ステップとを含む。
【0008】
第2の態様に係るデータ復元方法は、処理対象ファイルを分割することにより得られるn個のセグメントによる排他的論理和を含む第1の割符ファイルを格納している第1の記憶装置から第1の割符ファイルを取得する第1取得ステップと、n個のセグメントから任意のn−1個のセグメントを選ぶことにより構成されるn通りの組み合わせのうちのn−1通りの組み合わせ毎に当該組み合わせに含まれるn−1個のセグメントによる排他的論理和を含む第2の割符ファイルを格納している第2の記憶装置からn−1個の第2の割符ファイルを取得する第2取得ステップと、n−1個の第2の割符ファイルによる排他的論理和を計算することにより、新たな第2の割符ファイルを生成するステップと、第1の割符ファイルと第2の割符ファイルの各々との排他的論理和を計算することにより、n個のセグメントを復元するステップとを含む。
【発明の効果】
【0009】
全体のデータ量を抑えつつ、ユーザデータの情報漏洩を防止することができる。
【図面の簡単な説明】
【0010】
【図1】図1は、本技術の第1の実施の形態に係るシステム構成図である。
【図2】図2は、第1の実施の形態におけるユーザ端末の機能ブロック図である。
【図3】図3は、割符ファイルを生成する処理の処理フロー(第1の部分)を示す図である。
【図4】図4は、処理対象ファイル選択画面の画面例を示す図である。
【図5】図5は、処理対象ファイルを3個のセグメントに分割する場合の例を示す図である。
【図6】図6は、セグメントに擬似ビット列を付加した場合の例を示す図である。
【図7】図7は、付加ビット特定データの一例を示す図である。
【図8】図8は、割符ファイルを生成する処理の処理フロー(第2の部分)を示す図である。
【図9】図9は、3個のセグメントから割符ファイルPを生成する処理を説明するための図である。
【図10】図10は、排他的論理輪の演算例を示す図である。
【図11】図11(a)及び(b)は、2個のセグメントから割符ファイルUを生成する処理を説明するための図である。
【図12】図12は、割符ファイルを生成する処理の処理フロー(第3の部分)を示す図である。
【図13】図13は、ユーザに割符ファイルの格納先を知らせる画面の画面例を示す図である。
【図14】図14は、格納先選択画面の画面例を示す図である。
【図15】図15は、ユーザデータを復元する処理の処理フロー(第1の部分)を示す図である。
【図16】図16は、格納フォルダ選択画面の画面例を示す図である。
【図17】図17は、2個の割符ファイルUから新たな割符ファイルUを生成する処理を説明するための図である。
【図18】図18(a)乃至(c)は、セグメントを復元する処理を説明するための図である。
【図19】図19は、ユーザデータを復元する処理の処理フロー(第2の部分)を示す図である。
【図20】図20は、ユーザデータを客先に持ち運ぶ場面の一例を示す図である。
【図21】図21は、第2の実施の形態の概要を説明するための図である。
【図22】図22は、第2の実施の形態における処理の処理フローを示す図である。
【図23】図23は、第1の態様に係る割符ファイル生成方法の処理フローを示す図である。
【図24】図24は、第2の態様に係るデータ復元方法の処理フローを示す図である。
【図25】図25は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【0011】
[実施の形態1]
本技術の第1の実施の形態に係るシステム構成図を図1に示す。第1の実施の形態では、ユーザデータから割符ファイルを生成する際又はユーザデータを復元する際には、図1に示すように、ノート型PCであるユーザ端末1に、USBメモリである外部記憶装置3が取り付けられているものとする。なお、図1では、USBメモリを外部記憶装置3とする例を示しているが、取り外しが可能な記憶装置であれば、USBメモリ以外の記憶装置を採用することも可能である。
【0012】
図2に、図1に示したユーザ端末1の機能ブロック図を示す。ユーザ端末1は、入力部101と、表示部103と、ユーザデータ格納部105と、処理対象ファイル取得部107と、割符ファイル生成部109と、ワークメモリ111と、格納先決定部113と、記憶部115と、割符ファイル取得部117と、復元処理部119とを有する。
【0013】
なお、入力部101は、ユーザからの割符指示又は復元指示を受け付け、割符指示を処理対象ファイル取得部107に出力したり、復元指示を割符ファイル取得部117に出力したり、各種選択画面を表示するよう表示部103に指示したりする。処理対象ファイル取得部107は、入力部101から割符指示を受け取ると、ユーザデータを格納しているユーザデータ格納部105から、割符指示で指定されたユーザデータ(以下、処理対象ファイルとも呼ぶ)を取得し、割符ファイル生成部109に出力する。割符ファイル生成部109は、処理対象ファイル取得部107から処理対象ファイルを受け取ると、割符ファイルを生成するための処理を実施し、生成した割符ファイルを格納先決定部113に出力する。また、割符ファイル生成部109は、生成した割符ファイルの格納先を選択するための選択画面を表示するよう表示部103に指示する。なお、割符ファイル生成部109は、処理途中のデータをワークメモリ111に格納したり、ワークメモリ111からデータを読み出したりする。格納先決定部113は、割符ファイル生成部109から割符ファイルを受け取ると、取り付けられている外部記憶装置3を自動認識し、外部記憶装置3及び記憶部115の各々に分散して割符ファイルを格納する。
【0014】
また、割符ファイル取得部117は、入力部101から復元指示を受け取ると、取り付けられている外部記憶装置3を自動認識し、外部記憶装置3及び記憶部115の各々から割符ファイルを取得し、復元処理部119に出力する。復元処理部119は、割符ファイル取得部117から割符ファイルを受け取ると、処理対象ファイルを復元するための処理を実施し、処理結果を表示するよう表示部103に指示する。なお、復元処理部119は、処理途中のデータをワークメモリ111に格納したり、ワークメモリ111からデータを読み出したりする。
【0015】
次に、図3乃至図12を用いて、処理対象ファイルから割符ファイルを生成する処理について説明する。例えば入力部101が、ユーザから割符処理開始指示を受け付けると、表示部103に処理対象ファイル選択画面を表示させる。表示部103は、入力部101からの指示に応じて、図4に示すような処理対象ファイル選択画面を表示装置等に表示する。図4の例では、処理対象ファイル選択画面には、「処理対象ファイルを選んで下さい。」という表示がなされており、処理対象ファイルのフォルダ(ディレクトリ)及びファイル名を入力する入力欄401と、ユーザデータ格納部105内のユーザデータ(ファイル)を参照するための参照ボタン402と、OKボタン403とが設けられている。例えば、参照ボタン402をクリックすると、ファイルを選択するための画面(図示せず)が新たに表示され、ユーザは、当該画面において、処理対象ファイルを選択する。なお、フォルダ及びファイル名を入力欄401に直接入力するような場合もある。また、入力欄401を複数設けるなどして、複数の処理対象ファイルが指定される場合もある。そして、ユーザは、処理対象ファイルを指定し、OKボタン403をクリックする。
【0016】
そして、入力部101は、ユーザから処理対象ファイルの指定入力を受け付け(図3:ステップS1)、処理対象ファイル指定データ(例えばフォルダ及びファイル名)を処理対象ファイル取得部107に出力する。そして、処理対象ファイル取得部107は、入力部101から処理対象ファイル指定データを受け取ると、ユーザデータ格納部105から、指定された処理対象ファイルを取得し(ステップS3)、割符ファイル生成部109に出力する。なお、処理対象ファイルが複数指定された場合には、全ての処理対象ファイルを取得し、割符ファイル生成部109に出力する。
【0017】
そして、割符ファイル生成部109は、処理対象ファイル取得部107から処理対象ファイルを受け取ると、一旦ワークメモリ111に格納する。そして、処理対象ファイルが複数存在するか判断する(ステップS5)。処理対象ファイルが複数存在する場合(ステップS5:Yesルート)、割符ファイル生成部109は、複数の処理対象ファイルを連結することにより1つの処理対象ファイルを生成し、ワークメモリ111に格納する(ステップS7)。なお、複数ファイルを連結する処理自体は従来と変わらないため、詳細な説明は省略する。その後、ステップS9の処理に移行する。
【0018】
一方、処理対象ファイルが1つの場合(ステップS5:Noルート)、ステップS7をスキップし、ステップS9の処理に移行する。
【0019】
そして、割符ファイル生成部109は、ワークメモリ111に格納された処理対象ファイルをn個(nは3以上の奇数)のセグメントに分割し、ワークメモリ111に格納する(ステップS9)。図5に、処理対象ファイルを3個のセグメント(セグメントa、b及びc)に分割する場合の例を示す。
【0020】
そして、割符ファイル生成部109は、ワークメモリ111に格納されたセグメントのサイズが異なっているか判断する(ステップS11)。ワークメモリ111に格納されたセグメントのうち1つでもサイズの異なるセグメントがある場合には(ステップS11:Yesルート)、割符ファイル生成部109は、ワークメモリ111に格納されたセグメントのサイズの中から最大サイズを特定する(ステップS13)。そして、割符ファイル生成部109は、サイズが最大サイズより小さい各セグメントについて、当該セグメントのサイズが最大サイズと等しくなるよう当該セグメントに任意のビット列(擬似ビット列とも呼ぶ)を付加し、付加ビット特定データを生成する(ステップS15)。例えば図6に、擬似ビット列が付加されたセグメントの一例を示す。図6の例では、セグメントcのサイズが、セグメントa及びbと異なっており、セグメントcのサイズがセグメントa及びbのサイズと等しくなるようセグメントcに擬似ビット列(図6の網掛け部分)が付加されている。
【0021】
また、図7に付加ビット特定データの一例を示す。図7の例では、付加ビット特定データには、セグメント名と、そのセグメントにおける擬似ビット列の開始位置とが含まれる。なお、詳細は後で説明するが、付加ビット特定データは、処理対象ファイルを復元する際に、セグメントから擬似ビット列を除去するために用いられる。
【0022】
そして、ステップS15の処理の後、端子Aを介してステップS17(図8)の処理に移行する。
【0023】
一方、ワークメモリ111に格納されたセグメントのサイズが全て同じ場合(ステップS11:Noルート)、ステップS13及びステップS15をスキップし、端子Aを介してステップS17(図8)の処理に移行する。
【0024】
図8の説明に移行して、端子Aの後、割符ファイル生成部109は、ワークメモリ111に格納されている全てのセグメントによる排他的論理和(EOR:Exclusive OR。XORとも呼ぶ。)を計算することにより割符ファイルPを生成し、一旦ワークメモリ111に格納する(図8:ステップS17)。例えば3個のセグメントに分割されていた場合(n=3の場合)には、図9に示すように、セグメントa、b及びcによる排他的論理和を計算し、割符ファイルP(=a^b^c)を生成する。なお、「^」は、排他的論理和の演算子を表す(以下同じ)。
【0025】
図10に排他的論理和の演算例を示しておく。図10は、レジスタGR(General Register)0に記憶されたビット列「1111 1111 1010 1010」とレジスタGR1に記憶されたビット列「1010 1010 0000 0000」とによる排他的論理和の演算結果「0101 0101 1010 1010」をレジスタGR0に設定する場合の例を示している。なお、例えば3つのビット列について排他的論理和を計算するには、まず2つのビット列について演算を行い、その演算結果ともう1つのビット列とを用いて演算を行う。
【0026】
そして、割符ファイル生成部109は、カウンタiを1に設定する(ステップS19)。そして、割符ファイル生成部109は、ワークメモリ111に格納されているn個のセグメントのうちi番目のセグメントを除く(n−1)個のセグメントによる排他的論理和を計算することにより割符ファイルUを生成し、一旦ワークメモリ111に格納する(ステップS21)。例えばステップS9(図3)において3個のセグメントに分割されていた場合(n=3の場合)、i=1の時に、本ステップの処理を実施すると、図11(a)に示すような割符ファイルUが生成される。具体的には、1番目のセグメント(すなわち、セグメントa)を除く2個のセグメント(すなわち、セグメントb及びc)による排他的論理和を計算することにより、割符ファイルU(=b^c)が生成される。
【0027】
そして、割符ファイル生成部109は、カウンタiがn−1より小さいか判断する(ステップS23)。カウンタiがn−1より小さい場合(ステップS23:Yesルート)、割符ファイル生成部109は、カウンタiを1インクリメントする(ステップS25)。そして、ステップS21の処理に戻り、上で説明した処理を繰り返す。例えばステップS9(図3)において3個のセグメントに分割されていた場合(n=3の場合)、i=2の時に、ステップS21の処理を実施すると、図11(b)に示すような割符ファイルUが生成される。具体的には、2番目のセグメント(すなわち、セグメントb)を除く2個のセグメント(すなわち、セグメントa及びc)による排他的論理和を計算することにより、割符ファイルUが生成される。
【0028】
一方、カウンタiがn−1以上であると判断された場合(ステップS23:Noルート)、端子Bを介してステップS27(図12)の処理に移行する。なお、図8の処理フローでは、ステップS21の処理がn−1回繰り返されるため、n−1個の割符ファイルUが生成されることになる。すなわち、n個のセグメントから任意のn−1個のセグメントを選ぶ組み合わせはn通りであるが、ここでは、n−1通りの組み合わせについて割符ファイルUを生成する。なお、n個のセグメントを復元する際には、n個の割符ファイルUが必要となるが、後で説明にするように割符ファイルU〜割符ファイルUn−1があれば、割符ファイルUを生成することができるため、ここでは割符ファイルUについて生成しない。
【0029】
図12の説明に移行して、端子Bの後、割符ファイル生成部109は、生成した割符ファイルPとn−1個の割符ファイルUとをワークメモリ111から取り出し、格納先決定部113に出力する。なお、ワークメモリ111に付加ビット特定データが格納されている場合には、付加ビット特定データも出力する。
【0030】
そして、格納先決定部113は、割符ファイル生成部109から割符ファイルPとn−1個の割符ファイルUとを受け取る。そして、格納先決定部113は、ハードウェアの自動認識を行い、外部記憶装置3を検出する(ステップS27)。なお、外部記憶装置3が取り付けられた際に自動認識を行う場合もあり、外部記憶装置3を検出済みであれば、本ステップをスキップする。
【0031】
そして、格納先決定部113は、割符ファイル生成部109から受け取った割符ファイルPを外部記憶装置3に格納する(ステップS29)。また、格納先決定部113は、割符ファイル生成部109から受け取ったn−1個の割符ファイルUを記憶部115に格納する(ステップS31)。なお、割符ファイルPを記憶部115に格納し、n−1個の割符ファイルUを外部記憶装置3に格納するようにしても特に問題は生じない。但し、一般的にはユーザ端末1の内部記憶装置である記憶部115より外部記憶装置3の方が記憶容量が少ないので、n−1個の割符ファイルUより割符ファイルPを外部記憶装置3に格納した方が好ましい。
【0032】
そして、格納先決定部113は、割符ファイル生成部109から付加ビット特定データを受け取ったか判断する(ステップS33)。付加ビット特定データを受け取った場合(ステップS33:Yesルート)、格納先決定部113は、付加ビット特定データを外部記憶装置3又は記憶部115に格納する(ステップS35)。その後、処理を終了する。
【0033】
一方、付加ビット特定データを受け取っていなければ(ステップS33:Noルート)、ステップS35をスキップし、処理を終了する。
【0034】
以上のような処理を実施することにより、個々のデータだけではユーザデータを復元できないような割符ファイルPとn−1個の割符ファイルUとを生成することができる。なお、本実施の形態では、1個の割符ファイルPとn−1個の割符ファイルUとの計n個の割符ファイルが生成されることになるが、個々の割符ファイルは1セグメントと同じサイズ(すなわち、ユーザデータの1/nのサイズ)である。擬似ビット列を付加した場合には、多少データ量が増えることとなるが微量であるため、全体のデータ量は元のユーザデータとほとんど変わらない。従って、全体のデータ量を抑えつつ、ユーザデータの情報漏洩を防止できるようになる。
【0035】
なお、上では、外部記憶装置3及び記憶部115の各々に割符ファイルを自動的に格納するようになっていたが、割符ファイルをユーザが手動で格納するような構成を採用することも可能である。この場合、ステップS29及びステップS31の代わりに、図13のような、ユーザに格納先を知らせるような画面を表示するようにすればよい。図13の例では、「ファイルPをXXXに格納して下さい。」、「ファイルUをYYYに格納して下さい。」、・・・という表示がなされている。なお、ファイル操作を行う別画面を起動するためのボタンを設けるようにしてもよい。
【0036】
また、例えば図14に示すような格納先選択画面を表示させ、ユーザに指定させるようにしてもよい。図14の例では、格納先選択画面には、「割符ファイルの格納先を選んで下さい。」という表示がなされており、割符ファイルPの格納先の入力欄1401及び参照ボタン1402と、割符ファイルUの格納先の入力欄1403及び参照ボタン1404と、・・・と、OKボタン1405とが設けられている。この場合、格納先決定部113は、ステップS29及びステップS31において、ユーザの指定に従って割符ファイルP及び割符ファイルUを格納するようにすればよい。
【0037】
次に、図15乃至図19を用いて、ユーザデータを復元する処理について説明する。例えば入力部101が、ユーザから復元処理開始指示を受け付けると、又は外部記憶装置3が取り付けられたことを検出すると、表示部103に格納フォルダ選択画面を表示させる。表示部103は、入力部101からの指示に応じて、図16に示すような画面を表示装置等に表示する。図16の例では、格納フォルダ選択画面には、「割符ファイルが格納されているフォルダを選んで下さい。」という表示がなされており、フォルダ1の入力欄1601及び参照ボタン1602と、フォルダ2の入力欄1603及び参照ボタン1604と、・・・と、OKボタン1605とが設けられている。例えば、参照ボタン1602及び1604をクリックすると、フォルダを選択するための画面(図示せず)が新たに表示され、ユーザは、当該画面において、割符ファイルP及び割符ファイルUが格納されているフォルダを選択する。なお、ここでは、割符ファイルPの格納先として外部記憶装置3内のフォルダが選択され、割符ファイルUの格納先として記憶部115内のフォルダが選択されたものとする。そして、ユーザは、割符ファイルが格納されているフォルダを指定し、OKボタン1605をクリックする。
【0038】
そして、入力部101は、ユーザから割符ファイルが格納されているフォルダの指定入力を受け付け(図15:ステップS41)、フォルダ指定データを割符ファイル取得部117に出力する。そして、割符ファイル取得部117は、入力部101からフォルダ指定データを受け取ると、指定されたフォルダ(例えば、外部記憶装置3内のフォルダ)から割符ファイルPを取得し(ステップS43)、復元処理部119に出力する。また、割符ファイル取得部117は、指定されたフォルダ(例えば、記憶部115内のフォルダ)からn−1個の割符ファイルUを取得し(ステップS45)、復元処理部119に出力する。
【0039】
そして、復元処理部119は、割符ファイル取得部117から割符ファイルPとn−1個の割符ファイルUとを受け取ると、一旦ワークメモリ111に格納する。そして、復元処理部119は、n−1個の割符ファイルUから新たな割符ファイルUを生成し、ワークメモリ111に格納する(ステップS47)。具体的には、割符ファイルUから割符ファイルUn−1までのn−1個の割符ファイルUによる排他的論理和を計算することにより、割符ファイルUを生成する。この処理については、図17を用いて説明する。
【0040】
図17は、n=3の場合において、割符ファイルU(=b^c)と割符ファイルU(=a^c)から割符ファイルUを生成する例を示している。図17において、割符ファイルUと割符ファイルUによる排他的論理和は、U^U=(b^c)^(a^c)=a^b^c^cとなる。ここで、「c^c」は、同一セグメント同士の排他的論理和であり、演算結果が0(すなわち、全てのビットが0)になるので、a^b^c^c=a^b=Uとなる。すなわち、割符ファイルUと割符ファイルUによる排他的論理和を計算することにより、割符ファイルUが生成される。このように、n−1個の割符ファイル(iは1〜n−1)から割符ファイルUを生成することができるので、上で説明した図8の処理フローでは、割符ファイルUを生成しておかなくても問題はない。
【0041】
そして、復元処理部119は、カウンタiを1に設定する(ステップS49)。そして、復元処理部119は、ワークメモリ111に格納された割符ファイルP及びUを用いてi番目のセグメントを復元し、ワークメモリ111に格納する(ステップS51)。具体的には、割符ファイルPと割符ファイルUによる排他的論理和を計算することにより、i番目のセグメントを復元する。この処理については、図18(a)を用いて説明する。
【0042】
図18(a)は、割符ファイルPと割符ファイルUからセグメントaを復元する例を示している。図18(a)において、割符ファイルPと割符ファイルUによる排他的論理和は、P^U=(a^b^c)^(b^c)=a^b^b^c^cとなる。ここで、「b^b」、「c^c」は、同一セグメント同士の排他的論理和であり、演算結果が0(すなわち、全てのビットが0)になるので、a^b^b^c^c=aとなる。すなわち、割符ファイルPと割符ファイルUによる排他的論理和を計算することにより、セグメントaが復元される。
【0043】
そして、復元処理部119は、カウンタiがnより小さいか判断する(ステップS53)。カウンタiがnより小さい場合(ステップS53:Yesルート)、復元処理部119は、カウンタiを1インクリメントする(ステップS55)。そして、ステップS51の処理に戻り、上で説明した処理を繰り返す。
【0044】
例えばカウンタi=2の時に、ステップS51の処理を実施すると、図18(b)に示すように、割符ファイルPと割符ファイルUからセグメントbを復元する。図18(b)において、割符ファイルPと割符ファイルUによる排他的論理和は、P^U=(a^b^c)^(a^c)=a^a^b^c^cとなる。ここで、「a^a」、「c^c」は、同一セグメント同士の排他的論理和であり、演算結果が0(すなわち、全てのビットが0)になるので、a^a^b^c^c=bとなる。すなわち、割符ファイルPと割符ファイルUによる排他的論理和を計算することにより、セグメントbが復元される。
【0045】
また、例えばカウンタi=3の時に、ステップS51の処理を実施すると、図18(c)に示すように、割符ファイルPと割符ファイルUからセグメントcを復元する。図18(c)において、割符ファイルPと割符ファイルUによる排他的論理和は、P^U=(a^b^c)^(a^b)=a^a^b^b^cとなる。ここで、「a^a」、「b^b」は、同一セグメント同士の排他的論理和であり、演算結果が0(すなわち、全てのビットが0)になるので、a^a^b^b^c=cとなる。すなわち、割符ファイルPと割符ファイルUによる排他的論理和を計算することにより、セグメントcが復元される。
【0046】
一方、カウンタiがn以上であると判断された場合(ステップS53:Noルート)、端子Cを介してステップS57(図19)の処理に移行する。なお、図15の処理フローでは、ステップS51の処理がn回繰り返されるため、n個のセグメントが復元されることになる。
【0047】
図19の説明に移行して、端子Cの後、復元処理部119は、付加ビット特定データが外部記憶装置3又は記憶部115に格納されているか確認するよう割符ファイル取得部117に指示する。そして、割符ファイル取得部117は、付加ビット特定データが外部記憶装置3又は記憶部115に格納されているか判断する(図19:ステップS57)。例えば、割符ファイルP又は割符ファイルUが格納されていたフォルダ内に付加ビット特定データが格納されているか判断する。付加ビット特定データが外部記憶装置3又は記憶部115に格納されている場合(ステップS57:Yesルート)、割符ファイル取得部117は、外部記憶装置3又は記憶部115から付加ビット特定データを取得し、復元処理部119に出力する(ステップS59)。
【0048】
そして、復元処理部119は、割符ファイル取得部117から付加ビット特定データを受け取ると、付加ビット特定データにより特定される各セグメントについて、付加ビット特定データにより特定される擬似ビット列を除去する(ステップS61)。
【0049】
一方、付加ビット特定データが外部記憶装置3及び記憶部115のいずれにも格納されていなければ(ステップS57:Noルート)、割符ファイル取得部117は、確認結果(付加ビット特定データなし)を復元処理部119に通知する。そして、ステップS59及びステップS61をスキップし、ステップS63の処理に移行する。
【0050】
そして、復元処理部119は、ワークメモリ111に格納されているn個のセグメントを連結することにより、処理対象ファイルを復元する(ステップS63)。そして、復元処理部119は、復元した処理対象ファイルが、複数の処理対象ファイルを包含しているか判断する(ステップS65)。すなわち、複数の処理対象ファイルを連結することにより生成された処理対象ファイルであるか判断する。復元した処理対象ファイルが、複数の処理対象ファイルを包含している場合(ステップS65:Yesルート)、復元処理部119は、復元した処理対象ファイルを個々の処理対象ファイルに分割する(ステップS67)。なお、連結したファイルを元に戻す処理自体は従来と変わらないため、詳細な説明は省略する。その後、処理を終了する。
【0051】
一方、復元した処理対象ファイルが、複数の処理対象ファイルを包含していなければ(ステップS65:Noルート)、ステップS67をスキップし、処理を終了する。
【0052】
以上のような処理を実施することにより、割符ファイルPとn−1個の割符ファイルUとからn個のセグメントを復元することができ、さらにn個のセグメントから処理対象ファイルを復元することができる。
【0053】
例えば、ユーザが、あるファイル(ユーザデータ)を客先に持ち運ぶ場面の一例を図20に示す。まず、持ち運びたいユーザデータから割符ファイルP並びに割符ファイルU及びUを生成し、割符ファイルPをUSBメモリに格納し、割符ファイルU及びUをノート型PCの内部記憶装置に格納する。そして、ノート型PCからUSBメモリを取り外し、ユーザは、それぞれを客先へ持ち運ぶ。
【0054】
ここで、もし、客先への移動中に、USBメモリが盗難にあったり、紛失したりした場合であっても、割符ファイルPだけではユーザデータを復元できない。同様に、ノート型PCが盗難にあったり、紛失したりした場合も、割符ファイルU及びUだけではユーザデータを復元できない。
【0055】
一方で、ノート型PC及びUSBメモリを紛失等することなく、客先に到着した場合には、割符ファイルP並びに割符ファイルU及びUが揃うので、上で説明したような処理を実施することにより、ユーザデータを復元することができる。なお、持ち運ぶデータの量は、基本的にはユーザデータのデータ量とほとんど変わらないので、全体のデータ量を増やすことなく、ユーザデータの情報漏洩を防止することができる。
【0056】
[実施の形態2]
次に、図21及び図22を用いて、第2の実施の形態について説明する。上で説明した第1の実施の形態では、割符ファイルPを外部記憶装置3に格納するようになっていたが、第2の実施の形態では、割符ファイルPを、ネットワークを介して接続されるサーバに送信(アップロード)する。
【0057】
なお、本実施の形態の概要を図21を用いて説明する。なお、図21では、ユーザ端末1とサーバ5とが、例えばインターネットであるネットワーク7を介して接続されているものとする。まず、ユーザ端末1が、ファイル(ユーザデータ)から割符ファイルP及び割符ファイルUを生成する(図21:ステップ(1))。割符ファイルP及び割符ファイルUを生成する処理自体は、第1の実施の形態と同じである。そして、生成した割符ファイルPを、ユーザ端末1からサーバ5へアップロードする(ステップ(2))。なお、割符ファイルUについては、ユーザ端末1の記憶部115に格納しておく。
【0058】
その後、ユーザは、ユーザ端末1を持って客先に移動する(ステップ(3))。なお、ステップ(3)は、ユーザの動作であるため、図21では、点線の矢印で示している。
【0059】
そして、ユーザは客先へ到着すると、ユーザ端末1を操作してネットワーク7に接続させる。そして、ユーザ端末1は、サーバ5から割符ファイルPを取得(ダウンロード)する(ステップ(4))。そして、ユーザ端末1は、ダウンロードした割符ファイルPと、記憶部115に格納されている割符ファイルUとを用いてユーザデータを復元する(ステップ(5))。
【0060】
例えば、割符ファイルPをアップロード又はダウンロードの際に盗聴されたとしても、割符ファイルPだけではユーザデータを復元できない。また、ノート型PCが盗難にあったり、紛失したりした場合も、割符ファイルUだけではユーザデータを復元できない。すなわち、外部記憶装置3を持ち合わせていなくても、ユーザデータの情報漏洩を防止できるようになる。
【0061】
なお、本実施の形態に係るユーザ端末1の構成は、外部記憶装置3を除けば図2に示した機能ブロック図と同じである。また、ユーザ端末1の処理は、基本的には第1の実施の形態で説明した処理内容と同じであるが、割符ファイルを生成する際、図12の処理の代わりに図22に示すような処理を実施する。以下、図22の処理を説明する。
【0062】
なお、図22は、端子Bを介して図8から移行してきた後の処理フローを示す。端子Bまでの処理は、第1の実施の形態と変わらないため、詳細な説明は省略する。端子Bを介して図22に移行してきた場合、割符ファイル生成部109は、生成した割符ファイルPとn−1個の割符ファイルUとをワークメモリ111から取り出し、格納先決定部113に出力する。なお、ワークメモリ111に付加ビット特定データが格納されている場合には、付加ビット特定データも出力する。
【0063】
そして、格納先決定部113は、割符ファイル生成部109から割符ファイルPとn−1個の割符ファイルUとを受け取る。そして、格納先決定部113は、割符ファイル生成部109から受け取った割符ファイルPをサーバ5に送信する(図22:ステップS71)。また、格納先決定部113は、割符ファイル生成部109から受け取ったn−1個の割符ファイルUを記憶部115に格納する(ステップS73)。なお、割符ファイルPを記憶部115に格納し、n−1個の割符ファイルUをサーバ5に送信するようにしても特に問題は生じない。但し、n−1個の割符ファイルUより割符ファイルPをサーバ5に送信した方が通信負荷(通信量)を抑えることができる。
【0064】
そして、格納先決定部113は、割符ファイル生成部109から付加ビット特定データを受け取ったか判断する(ステップS75)。付加ビット特定データを受け取った場合(ステップS75:Yesルート)、格納先決定部113は、付加ビット特定データを記憶部115に格納する(ステップS77)。なお、付加ビット特定データをサーバ5に送信するようにしてもよい。その後、処理を終了する。
【0065】
一方、付加ビット特定データを受け取っていなければ(ステップS75:Noルート)、ステップS77をスキップし、処理を終了する。
【0066】
また、ユーザデータを復元する際の処理は、ステップS43(図15)において、割符ファイルPをサーバ5から取得(ダウンロード)する以外は、第1の実施の形態と同じである。
【0067】
以上のような処理を実施することにより、外部記憶装置3を持ち合わせていなくても、ユーザデータの情報漏洩を防止できるようになる。
【0068】
以上本技術の一実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、上で説明したユーザ端末1の機能ブロック図は必ずしも実際のプログラムモジュール構成に対応するものではない。また、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしてもよい。
【0069】
また、図7に示した付加ビット特定データは一例であって、必ずしも上記のような構成でなければならないわけではない。さらに、上で述べた画面例は一例であって、同様の内容を表示する他の画面構成を採用することも可能である。
【0070】
また、上では、ユーザデータを3個のセグメントに分割した場合を例に実施の形態を説明したが、分割数nは3に限定されない。nが5以上の奇数の場合も、上で述べたような処理を実施すればよい。
【0071】
なお、上で述べたユーザ端末1は、コンピュータ装置であって、図25に示すように、メモリ2501とCPU2503とハードディスク・ドライブ(HDD)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。必要に応じてCPU2503は、表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、必要な動作を行わせる。また、処理途中のデータについては、メモリ2501に格納され、必要があればHDD2505に格納される。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウェアとOS及び必要なアプリケーション・プログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【0072】
以上本実施の形態をまとめると以下のようになる。
【0073】
第1の態様に係る割符ファイル生成方法は、処理対象ファイルをn個のセグメントに分割する分割ステップ(図23のS101に相当)と、全てのセグメントによる排他的論理和を計算することにより第1の記憶装置に格納するための第1の割符ファイルを生成する第1割符ファイル生成ステップ(図23のS103に相当)と、n個のセグメントから任意のn−1個のセグメントを選ぶことにより構成されるn通りの組み合わせのうち、n−1通りの組み合わせの各々について、当該組み合わせに含まれるn−1個のセグメントによる排他的論理和を計算することにより第2の記憶装置に格納するための第2の割符ファイルを生成する第2割符ファイル生成ステップ(図23のS105に相当)とを含む。
【0074】
このようにすれば、個々の割符ファイルだけでは処理対象ファイル(ユーザデータ)を復元できないような第1の割符ファイル及び第2の割符ファイルを生成することができる。なお、1個の第1の割符ファイルとn−1個の第2の割符ファイルとの計n個の割符ファイルが生成されるが、個々の割符ファイルのサイズは、1セグメントと同じサイズであるため、全体のデータ量は、処理対象ファイル(n個のセグメント)と同じである。すなわち、全体のデータ量を抑えつつ、処理対象ファイルの情報漏洩を防止できる。
【0075】
また、第1の態様において、上で述べた第1割符ファイル生成ステップの前に、各セグメントのサイズが異なる場合、セグメントのサイズのうち最大サイズを特定し、最大サイズより小さいセグメントの各々について、当該セグメントのサイズが最大サイズと等しくなるよう当該セグメントに任意のビット列を付加するステップと、任意のビット列が付加されたセグメントと当該セグメントにおける任意のビット列の位置とを特定するための付加ビット特定データを第1の記憶装置又は第2の記憶装置に格納するステップとをさらに含むようにしてもよい。このようにすれば、処理対象ファイルを同一サイズのセグメントに分割できなかった場合にも対処できる。
【0076】
さらに、第1の態様において、上で述べた分割ステップの前に、処理対象ファイルが複数存在する場合、複数の処理対象ファイルを連結することにより1の処理対象ファイルを生成するステップをさらに含むようにしてもよい。このようにすれば、処理対象ファイルが複数存在する場合にも対処できる。
【0077】
また、第1の態様において、上で述べた第1の記憶装置が、取り外し可能な外部記憶装置であり、上で述べた第2の記憶装置が、コンピュータの内部記憶装置である場合もある。そして、コンピュータに取り付けられた外部記憶装置を自動認識して、第1の割符ファイルを外部記憶装置に格納するステップと、第2の割符ファイルを内部記憶装置に格納するステップとをさらに含むようにしてもよい。例えば外部記憶装置の方が記憶容量が少ない場合、n−1個の第2の割符ファイルを格納するより、1個の第1の割符ファイルを外部記憶装置に格納するようにした方が効率的である。
【0078】
さらに、第1の態様において、上で述べた第1の記憶装置が、コンピュータとネットワークを介して接続されるサーバで管理される記憶装置であり、上で述べた第2の記憶装置が、コンピュータの内部記憶装置である場合もある。そして、第1の割符ファイルをサーバに送信するステップと、第2の割符ファイルを内部記憶装置に格納するステップとをさらに含むようにしてもよい。このようにすれば、外部記憶装置を持ち合わせていない場合にも対処できる。なお、n−1個の第2の割符ファイルをサーバに送信するより、1個の第1の割符ファイルをサーバに送信した方が通信負荷を抑えられる。
【0079】
第2の態様に係るデータ復元方法は、処理対象ファイルを分割することにより得られるn個のセグメントによる排他的論理和を含む第1の割符ファイルを格納している第1の記憶装置から第1の割符ファイルを取得する第1取得ステップ(図24のS111に相当)と、n個のセグメントから任意のn−1個のセグメントを選ぶことにより構成されるn通りの組み合わせのうちのn−1通りの組み合わせ毎に当該組み合わせに含まれるn−1個のセグメントによる排他的論理和を含む第2の割符ファイルを格納している第2の記憶装置からn−1個の第2の割符ファイルを取得する第2取得ステップ(図24のS113に相当)と、n−1個の第2の割符ファイルによる排他的論理和を計算することにより、新たな第2の割符ファイルを生成するステップ(図24のS115に相当)と、第1の割符ファイルと第2の割符ファイルの各々との排他的論理和を計算することにより、n個のセグメントを復元するステップ(図24のS117に相当)とを含む。
【0080】
このようにすれば、第1の割符ファイルと第2の割符ファイルとを用いて、n個のセグメントを復元することができ、さらにn個のセグメントから処理対象ファイルを復元することができるようになる。
【0081】
また、第2の態様において、任意のビット列が付加されているセグメントと当該セグメントにおける任意のビット列の位置とを特定するための付加ビット特定データが第1の記憶装置又は第2の記憶装置に格納されている場合、第1の記憶装置又は第2の記憶装置から付加ビット特定データを取得するステップと、付加ビット特定データにより特定され且つ任意のビット列が付加されている各セグメントについて、当該セグメントから付加ビット特定データにより特定される任意のビット列を除去するステップとをさらに含むようにしてもよい。このようにすれば、任意のビット列が付加されているセグメントから当該任意のビット列を除去することができるので、セグメントを正しく復元できる。
【0082】
さらに、第2の態様において、復元されたn個のセグメントを連結することにより処理対象ファイルを復元するステップをさらに含むようにしてもよい。
【0083】
また、第2の態様において、上で述べた第1の記憶装置が、取り外し可能な外部記憶装置であり、上で述べた第2の記憶装置が、コンピュータの内部記憶装置である場合もある。そして、上で述べた第1取得ステップが、コンピュータに取り付けられた外部記憶装置を自動認識して、当該外部記憶装置から第1の割符ファイルを取得するステップを含むようにしてもよい。
【0084】
さらに、第2の態様において、上で述べた第1の記憶装置が、コンピュータとネットワークを介して接続されるサーバで管理される記憶装置であり、上で述べた第2の記憶装置が、コンピュータの内部記憶装置である場合もある。上で述べた第1取得ステップが、サーバから第1の割符ファイルを取得するステップを含むようにしてもよい。
【0085】
また、第1又は第2の態様において、nが3以上の奇数である場合もある。
【0086】
なお、上記処理をコンピュータに実行させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等の記憶媒体又は記憶装置に格納される。なお、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
【0087】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【0088】
(付記1)
処理対象ファイルをn個のセグメントに分割する分割ステップと、
全ての前記セグメントによる排他的論理和を計算することにより第1の記憶装置に格納するための第1の割符ファイルを生成する第1割符ファイル生成ステップと、
n個の前記セグメントから任意のn−1個の前記セグメントを選ぶことにより構成されるn通りの組み合わせのうち、n−1通りの前記組み合わせの各々について、当該組み合わせに含まれるn−1個の前記セグメントによる排他的論理和を計算することにより第2の記憶装置に格納するための第2の割符ファイルを生成する第2割符ファイル生成ステップと、
をコンピュータに実行させるための割符ファイル生成プログラム。
【0089】
(付記2)
前記第1割符ファイル生成ステップの前に、各前記セグメントのサイズが異なる場合、前記セグメントのサイズのうち最大サイズを特定し、前記最大サイズより小さい前記セグメントの各々について、当該セグメントのサイズが前記最大サイズと等しくなるよう当該セグメントに任意のビット列を付加するステップと、
前記任意のビット列が付加された前記セグメントと当該セグメントにおける前記任意のビット列の位置とを特定するための付加ビット特定データを前記第1の記憶装置又は前記第2の記憶装置に格納するステップと、
をさらにコンピュータに実行させるための付記1記載の割符ファイル生成プログラム。
【0090】
(付記3)
前記分割ステップの前に、前記処理対象ファイルが複数存在する場合、複数の前記処理対象ファイルを連結することにより1の処理対象ファイルを生成するステップ
をさらにコンピュータに実行させるための付記1又は2のいずれか1つ記載の割符ファイル生成プログラム。
【0091】
(付記4)
前記第1の記憶装置が、取り外し可能な外部記憶装置であり、
前記第2の記憶装置が、前記コンピュータの内部記憶装置であり、
前記コンピュータに取り付けられた前記外部記憶装置を自動認識して、前記第1の割符ファイルを前記外部記憶装置に格納するステップと、
前記第2の割符ファイルを前記内部記憶装置に格納するステップと、
をさらにコンピュータに実行させるための付記1乃至3のいずれか1つ記載の割符ファイル生成プログラム。
【0092】
(付記5)
前記第1の記憶装置が、前記コンピュータとネットワークを介して接続されるサーバで管理される記憶装置であり、
前記第2の記憶装置が、前記コンピュータの内部記憶装置であり、
前記第1の割符ファイルを前記サーバに送信するステップと、
前記第2の割符ファイルを前記内部記憶装置に格納するステップと、
をさらにコンピュータに実行させるための付記1乃至3のいずれか1つ記載の割符ファイル生成プログラム。
【0093】
(付記6)
nは3以上の奇数であることを特徴とする付記1乃至5のいずれか1つ記載の割符ファイル生成プログラム。
【0094】
(付記7)
処理対象ファイルを分割することにより得られるn個のセグメントによる排他的論理和を含む第1の割符ファイルを格納している第1の記憶装置から前記第1の割符ファイルを取得する第1取得ステップと、
n個の前記セグメントから任意のn−1個の前記セグメントを選ぶことにより構成されるn通りの組み合わせのうちのn−1通りの組み合わせ毎に当該組み合わせに含まれるn−1個の前記セグメントによる排他的論理和を含む第2の割符ファイルを格納している第2の記憶装置からn−1個の前記第2の割符ファイルを取得する第2取得ステップと、
n−1個の前記第2の割符ファイルによる排他的論理和を計算することにより、新たな第2の割符ファイルを生成するステップと、
前記第1の割符ファイルと前記第2の割符ファイルの各々との排他的論理和を計算することにより、n個の前記セグメントを復元するステップと、
をコンピュータに実行させるためのデータ復元プログラム。
【0095】
(付記8)
任意のビット列が付加されている前記セグメントと当該セグメントにおける前記任意のビット列の位置とを特定するための付加ビット特定データが前記第1の記憶装置又は前記第2の記憶装置に格納されている場合、前記第1の記憶装置又は前記第2の記憶装置から前記付加ビット特定データを取得するステップと、
前記付加ビット特定データにより特定され且つ前記任意のビット列が付加されている各前記セグメントについて、当該セグメントから前記付加ビット特定データにより特定される前記任意のビット列を除去するステップと、
をさらにコンピュータに実行させるための付記7記載のデータ復元プログラム。
【0096】
(付記9)
復元されたn個の前記セグメントを連結することにより前記処理対象ファイルを復元するステップ
をさらにコンピュータに実行させるための付記7又は8記載のデータ復元プログラム。
【0097】
(付記10)
前記第1の記憶装置が、取り外し可能な外部記憶装置であり、
前記第2の記憶装置が、前記コンピュータの内部記憶装置であり、
前記第1取得ステップが、
前記コンピュータに取り付けられた前記外部記憶装置を自動認識して、当該外部記憶装置から前記第1の割符ファイルを取得するステップ
を含む付記7乃至9のいずれか1つ記載のデータ復元プログラム。
【0098】
(付記11)
前記第1の記憶装置が、前記コンピュータとネットワークを介して接続されるサーバで管理される記憶装置であり、
前記第2の記憶装置が、前記コンピュータの内部記憶装置であり、
前記第1取得ステップが、
前記サーバから前記第1の割符ファイルを取得するステップ
を含む付記7乃至9記載のデータ復元プログラム。
【0099】
(付記12)
nは3以上の奇数であることを特徴とする付記7乃至11のいずれか1つ記載のデータ復元プログラム。
【0100】
(付記13)
処理対象ファイルをn個のセグメントに分割する分割ステップと、
全ての前記セグメントによる排他的論理和を計算することにより第1の記憶装置に格納するための第1の割符ファイルを生成する第1割符ファイル生成ステップと、
n個の前記セグメントから任意のn−1個の前記セグメントを選ぶことにより構成されるn通りの組み合わせのうち、n−1通りの前記組み合わせの各々について、当該組み合わせに含まれるn−1個の前記セグメントによる排他的論理和を計算することにより第2の記憶装置に格納するための第2の割符ファイルを生成する第2割符ファイル生成ステップと、
を含み、コンピュータにより実行される割符ファイル生成方法。
【0101】
(付記14)
処理対象ファイルを分割することにより得られるn個のセグメントによる排他的論理和を含む第1の割符ファイルを格納している第1の記憶装置から前記第1の割符ファイルを取得する第1取得ステップと、
n個の前記セグメントから任意のn−1個の前記セグメントを選ぶことにより構成されるn通りの組み合わせのうちのn−1通りの組み合わせ毎に当該組み合わせに含まれるn−1個の前記セグメントによる排他的論理和を含む第2の割符ファイルを格納している第2の記憶装置からn−1個の前記第2の割符ファイルを取得する第2取得ステップと、
n−1個の前記第2の割符ファイルによる排他的論理和を計算することにより、新たな第2の割符ファイルを生成するステップと、
前記第1の割符ファイルと前記第2の割符ファイルの各々との排他的論理和を計算することにより、n個の前記セグメントを復元するステップと、
を含み、コンピュータにより実行されるデータ復元方法。
【符号の説明】
【0102】
1 ユーザ端末 3 外部記憶装置
5 サーバ 7 ネットワーク
101 入力部 103 表示部
105 ユーザデータ格納部 107 処理対象ファイル取得部
109 割符ファイル生成部 111 ワークメモリ
113 格納先決定部 115 記憶部
117 割符ファイル取得部 119 復元処理部

【特許請求の範囲】
【請求項1】
処理対象ファイルをn個のセグメントに分割する分割ステップと、
全ての前記セグメントによる排他的論理和を計算することにより第1の記憶装置に格納するための第1の割符ファイルを生成する第1割符ファイル生成ステップと、
n個の前記セグメントから任意のn−1個の前記セグメントを選ぶことにより構成されるn通りの組み合わせのうち、n−1通りの前記組み合わせの各々について、当該組み合わせに含まれるn−1個の前記セグメントによる排他的論理和を計算することにより第2の記憶装置に格納するための第2の割符ファイルを生成する第2割符ファイル生成ステップと、
をコンピュータに実行させるための割符ファイル生成プログラム。
【請求項2】
前記第1割符ファイル生成ステップの前に、各前記セグメントのサイズが異なる場合、前記セグメントのサイズのうち最大サイズを特定し、前記最大サイズより小さい前記セグメントの各々について、当該セグメントのサイズが前記最大サイズと等しくなるよう当該セグメントに任意のビット列を付加するステップと、
前記任意のビット列が付加された前記セグメントと当該セグメントにおける前記任意のビット列の位置とを特定するための付加ビット特定データを前記第1の記憶装置又は前記第2の記憶装置に格納するステップと、
をさらにコンピュータに実行させるための請求項1記載の割符ファイル生成プログラム。
【請求項3】
nは3以上の奇数であることを特徴とする請求項1又は2記載の割符ファイル生成プログラム。
【請求項4】
処理対象ファイルを分割することにより得られるn個のセグメントによる排他的論理和を含む第1の割符ファイルを格納している第1の記憶装置から前記第1の割符ファイルを取得する第1取得ステップと、
n個の前記セグメントから任意のn−1個の前記セグメントを選ぶことにより構成されるn通りの組み合わせのうちのn−1通りの組み合わせ毎に当該組み合わせに含まれるn−1個の前記セグメントによる排他的論理和を含む第2の割符ファイルを格納している第2の記憶装置からn−1個の前記第2の割符ファイルを取得する第2取得ステップと、
n−1個の前記第2の割符ファイルによる排他的論理和を計算することにより、新たな第2の割符ファイルを生成するステップと、
前記第1の割符ファイルと前記第2の割符ファイルの各々との排他的論理和を計算することにより、n個の前記セグメントを復元するステップと、
をコンピュータに実行させるためのデータ復元プログラム。
【請求項5】
任意のビット列が付加されている前記セグメントと当該セグメントにおける前記任意のビット列の位置とを特定するための付加ビット特定データが前記第1の記憶装置又は前記第2の記憶装置に格納されている場合、前記第1の記憶装置又は前記第2の記憶装置から前記付加ビット特定データを取得するステップと、
前記付加ビット特定データにより特定され且つ前記任意のビット列が付加されている各前記セグメントについて、当該セグメントから前記付加ビット特定データにより特定される前記任意のビット列を除去するステップと、
をさらにコンピュータに実行させるための請求項4記載のデータ復元プログラム。
【請求項6】
処理対象ファイルをn個のセグメントに分割する分割ステップと、
全ての前記セグメントによる排他的論理和を計算することにより第1の記憶装置に格納するための第1の割符ファイルを生成する第1割符ファイル生成ステップと、
n個の前記セグメントから任意のn−1個の前記セグメントを選ぶことにより構成されるn通りの組み合わせのうち、n−1通りの前記組み合わせの各々について、当該組み合わせに含まれるn−1個の前記セグメントによる排他的論理和を計算することにより第2の記憶装置に格納するための第2の割符ファイルを生成する第2割符ファイル生成ステップと、
を含み、コンピュータにより実行される割符ファイル生成方法。
【請求項7】
処理対象ファイルを分割することにより得られるn個のセグメントによる排他的論理和を含む第1の割符ファイルを格納している第1の記憶装置から前記第1の割符ファイルを取得する第1取得ステップと、
n個の前記セグメントから任意のn−1個の前記セグメントを選ぶことにより構成されるn通りの組み合わせのうちのn−1通りの組み合わせ毎に当該組み合わせに含まれるn−1個の前記セグメントによる排他的論理和を含む第2の割符ファイルを格納している第2の記憶装置からn−1個の前記第2の割符ファイルを取得する第2取得ステップと、
n−1個の前記第2の割符ファイルによる排他的論理和を計算することにより、新たな第2の割符ファイルを生成するステップと、
前記第1の割符ファイルと前記第2の割符ファイルの各々との排他的論理和を計算することにより、n個の前記セグメントを復元するステップと、
を含み、コンピュータにより実行されるデータ復元方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate


【公開番号】特開2011−28314(P2011−28314A)
【公開日】平成23年2月10日(2011.2.10)
【国際特許分類】
【出願番号】特願2009−170299(P2009−170299)
【出願日】平成21年7月21日(2009.7.21)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】