(57)【特許請求の範囲】
【請求項１】
処理対象ファイルをｎ（ｎは３以上の奇数）個のセグメントに分割する分割ステップと、
全ての前記セグメントによる排他的論理和を計算することにより第１の記憶装置に格納するための第１の割符ファイルを生成する第１割符ファイル生成ステップと、
ｎ個の前記セグメントのうちｉ（ｉは自然数）番目のセグメントを除くｎ−１個のセグメントによる排他的論理和を計算する処理を、１≦ｉ≦ｎ−１を満たすｉの各々について実行することにより第２の記憶装置に格納するための第２の割符ファイルを生成する第２割符ファイル生成ステップと、
をコンピュータに実行させるための割符ファイル生成プログラム。
【請求項２】
前記第１割符ファイル生成ステップの前に、各前記セグメントのサイズが異なる場合、前記セグメントのサイズのうち最大サイズを特定し、前記最大サイズより小さい前記セグメントの各々について、当該セグメントのサイズが前記最大サイズと等しくなるよう当該セグメントに任意のビット列を付加するステップと、
前記任意のビット列が付加された前記セグメントと当該セグメントにおける前記任意のビット列の位置とを特定するための付加ビット特定データを前記第１の記憶装置又は前記第２の記憶装置に格納するステップと、
をさらにコンピュータに実行させるための請求項１記載の割符ファイル生成プログラム。
【請求項３】
処理対象ファイルを分割することにより得られるｎ（ｎは３以上の奇数）個のセグメントによる排他的論理和を含む第１の割符ファイルを格納している第１の記憶装置から前記第１の割符ファイルを取得する第１取得ステップと、
ｎ個の前記セグメントのうちｉ（ｉは自然数）番目のセグメントを除くｎ−１個のセグメントによる排他的論理和を計算する処理を、１≦ｉ≦ｎ−１を満たすｉの各々について実行することによって生成される第２の割符ファイルを格納している第２の記憶装置から、ｎ−１個の前記第２の割符ファイルを取得する第２取得ステップと、
ｎ−１個の前記第２の割符ファイルによる排他的論理和を計算することにより、新たな第２の割符ファイルを生成するステップと、
前記第１の割符ファイルと前記第２の割符ファイルの各々との排他的論理和を計算することにより、ｎ個の前記セグメントを復元するステップと、
をコンピュータに実行させるためのデータ復元プログラム。
【請求項４】
任意のビット列が付加されている前記セグメントと当該セグメントにおける前記任意のビット列の位置とを特定するための付加ビット特定データが前記第１の記憶装置又は前記第２の記憶装置に格納されている場合、前記第１の記憶装置又は前記第２の記憶装置から前記付加ビット特定データを取得するステップと、
前記付加ビット特定データにより特定され且つ前記任意のビット列が付加されている各前記セグメントについて、当該セグメントから前記付加ビット特定データにより特定される前記任意のビット列を除去するステップと、
をさらにコンピュータに実行させるための請求項３記載のデータ復元プログラム。
【請求項５】
処理対象ファイルをｎ（ｎは３以上の奇数）個のセグメントに分割する分割ステップと、
全ての前記セグメントによる排他的論理和を計算することにより第１の記憶装置に格納するための第１の割符ファイルを生成する第１割符ファイル生成ステップと、
ｎ個の前記セグメントのうちｉ（ｉは自然数）番目のセグメントを除くｎ−１個のセグメントによる排他的論理和を計算する処理を、１≦ｉ≦ｎ−１を満たすｉの各々について実行することにより第２の記憶装置に格納するための第２の割符ファイルを生成する第２割符ファイル生成ステップと、
を含み、コンピュータにより実行される割符ファイル生成方法。
【請求項６】
処理対象ファイルを分割することにより得られるｎ（ｎは３以上の奇数）個のセグメントによる排他的論理和を含む第１の割符ファイルを格納している第１の記憶装置から前記第１の割符ファイルを取得する第１取得ステップと、
ｎ個の前記セグメントのうちｉ（ｉは自然数）番目のセグメントを除くｎ−１個のセグメントによる排他的論理和を計算する処理を、１≦ｉ≦ｎ−１を満たすｉの各々について実行することによって生成される第２の割符ファイルを格納している第２の記憶装置から、ｎ−１個の前記第２の割符ファイルを取得する第２取得ステップと、
ｎ−１個の前記第２の割符ファイルによる排他的論理和を計算することにより、新たな第２の割符ファイルを生成するステップと、
前記第１の割符ファイルと前記第２の割符ファイルの各々との排他的論理和を計算することにより、ｎ個の前記セグメントを復元するステップと、
を含み、コンピュータにより実行されるデータ復元方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、データのセキュリティ保持技術の分野に関する。
【背景技術】
【０００２】
近年、例えばノート型ＰＣ（Personal Computer）やＵＳＢ（Universal Serial Bus）メモリなどの盗難・紛失による情報漏洩が問題となっている。
【０００３】
このような情報漏洩を防止するための技術として例えば電子割符が存在している。従来の電子割符では、例えばランダム値などの冗長データを用いてユーザデータを暗号化し、暗号化したユーザデータを複数の割符ファイルに分割し、分散して保存する。これにより、ノート型ＰＣやＵＳＢメモリなどが盗難にあったり、紛失したりした場合であっても、一部の割符ファイルだけではユーザデータを復元することはできないため、情報漏洩を防ぐことができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−１３５２４７号公報
【特許文献２】特開２００７−２９９０８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上で述べたような方式では、ユーザデータを復元する際、暗号化に用いた冗長データが必要になるため、複数の割符ファイルの他に、冗長データもノート型ＰＣやＵＳＢメモリなどに保存して持ち運ばなければならない。そのため、情報漏洩の防止のために必要となるデータ全体のデータ量が増えてしまうという問題がある。例えばユーザデータと同サイズの冗長データによって暗号化を行う場合には、ユーザデータと同サイズの冗長データを保存しておく必要があり、全体のデータ量が２倍になってしまう。
【０００６】
従って、本技術の目的は、全体のデータ量を抑えつつ、ユーザデータの情報漏洩を防止するための技術を提供することである。
【課題を解決するための手段】
【０００７】
第１の態様に係る割符ファイル生成方法は、処理対象ファイルをｎ個のセグメントに分割する分割ステップと、全てのセグメントによる排他的論理和を計算することにより第１の記憶装置に格納するための第１の割符ファイルを生成する第１割符ファイル生成ステップと、ｎ個のセグメントから任意のｎ−１個のセグメントを選ぶことにより構成されるｎ通りの組み合わせのうち、ｎ−１通りの組み合わせの各々について、当該組み合わせに含まれるｎ−１個のセグメントによる排他的論理和を計算することにより第２の記憶装置に格納するための第２の割符ファイルを生成する第２割符ファイル生成ステップとを含む。
【０００８】
第２の態様に係るデータ復元方法は、処理対象ファイルを分割することにより得られるｎ個のセグメントによる排他的論理和を含む第１の割符ファイルを格納している第１の記憶装置から第１の割符ファイルを取得する第１取得ステップと、ｎ個のセグメントから任意のｎ−１個のセグメントを選ぶことにより構成されるｎ通りの組み合わせのうちのｎ−１通りの組み合わせ毎に当該組み合わせに含まれるｎ−１個のセグメントによる排他的論理和を含む第２の割符ファイルを格納している第２の記憶装置からｎ−１個の第２の割符ファイルを取得する第２取得ステップと、ｎ−１個の第２の割符ファイルによる排他的論理和を計算することにより、新たな第２の割符ファイルを生成するステップと、第１の割符ファイルと第２の割符ファイルの各々との排他的論理和を計算することにより、ｎ個のセグメントを復元するステップとを含む。
【発明の効果】
【０００９】
全体のデータ量を抑えつつ、ユーザデータの情報漏洩を防止することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、本技術の第１の実施の形態に係るシステム構成図である。
【図２】図２は、第１の実施の形態におけるユーザ端末の機能ブロック図である。
【図３】図３は、割符ファイルを生成する処理の処理フロー（第１の部分）を示す図である。
【図４】図４は、処理対象ファイル選択画面の画面例を示す図である。
【図５】図５は、処理対象ファイルを３個のセグメントに分割する場合の例を示す図である。
【図６】図６は、セグメントに擬似ビット列を付加した場合の例を示す図である。
【図７】図７は、付加ビット特定データの一例を示す図である。
【図８】図８は、割符ファイルを生成する処理の処理フロー（第２の部分）を示す図である。
【図９】図９は、３個のセグメントから割符ファイルＰを生成する処理を説明するための図である。
【図１０】図１０は、排他的論理輪の演算例を示す図である。
【図１１】図１１（ａ）及び（ｂ）は、２個のセグメントから割符ファイルＵを生成する処理を説明するための図である。
【図１２】図１２は、割符ファイルを生成する処理の処理フロー（第３の部分）を示す図である。
【図１３】図１３は、ユーザに割符ファイルの格納先を知らせる画面の画面例を示す図である。
【図１４】図１４は、格納先選択画面の画面例を示す図である。
【図１５】図１５は、ユーザデータを復元する処理の処理フロー（第１の部分）を示す図である。
【図１６】図１６は、格納フォルダ選択画面の画面例を示す図である。
【図１７】図１７は、２個の割符ファイルＵから新たな割符ファイルＵを生成する処理を説明するための図である。
【図１８】図１８（ａ）乃至（ｃ）は、セグメントを復元する処理を説明するための図である。
【図１９】図１９は、ユーザデータを復元する処理の処理フロー（第２の部分）を示す図である。
【図２０】図２０は、ユーザデータを客先に持ち運ぶ場面の一例を示す図である。
【図２１】図２１は、第２の実施の形態の概要を説明するための図である。
【図２２】図２２は、第２の実施の形態における処理の処理フローを示す図である。
【図２３】図２３は、第１の態様に係る割符ファイル生成方法の処理フローを示す図である。
【図２４】図２４は、第２の態様に係るデータ復元方法の処理フローを示す図である。
【図２５】図２５は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１１】
［実施の形態１］
本技術の第１の実施の形態に係るシステム構成図を図１に示す。第１の実施の形態では、ユーザデータから割符ファイルを生成する際又はユーザデータを復元する際には、図１に示すように、ノート型ＰＣであるユーザ端末１に、ＵＳＢメモリである外部記憶装置３が取り付けられているものとする。なお、図１では、ＵＳＢメモリを外部記憶装置３とする例を示しているが、取り外しが可能な記憶装置であれば、ＵＳＢメモリ以外の記憶装置を採用することも可能である。
【００１２】
図２に、図１に示したユーザ端末１の機能ブロック図を示す。ユーザ端末１は、入力部１０１と、表示部１０３と、ユーザデータ格納部１０５と、処理対象ファイル取得部１０７と、割符ファイル生成部１０９と、ワークメモリ１１１と、格納先決定部１１３と、記憶部１１５と、割符ファイル取得部１１７と、復元処理部１１９とを有する。
【００１３】
なお、入力部１０１は、ユーザからの割符指示又は復元指示を受け付け、割符指示を処理対象ファイル取得部１０７に出力したり、復元指示を割符ファイル取得部１１７に出力したり、各種選択画面を表示するよう表示部１０３に指示したりする。処理対象ファイル取得部１０７は、入力部１０１から割符指示を受け取ると、ユーザデータを格納しているユーザデータ格納部１０５から、割符指示で指定されたユーザデータ（以下、処理対象ファイルとも呼ぶ）を取得し、割符ファイル生成部１０９に出力する。割符ファイル生成部１０９は、処理対象ファイル取得部１０７から処理対象ファイルを受け取ると、割符ファイルを生成するための処理を実施し、生成した割符ファイルを格納先決定部１１３に出力する。また、割符ファイル生成部１０９は、生成した割符ファイルの格納先を選択するための選択画面を表示するよう表示部１０３に指示する。なお、割符ファイル生成部１０９は、処理途中のデータをワークメモリ１１１に格納したり、ワークメモリ１１１からデータを読み出したりする。格納先決定部１１３は、割符ファイル生成部１０９から割符ファイルを受け取ると、取り付けられている外部記憶装置３を自動認識し、外部記憶装置３及び記憶部１１５の各々に分散して割符ファイルを格納する。
【００１４】
また、割符ファイル取得部１１７は、入力部１０１から復元指示を受け取ると、取り付けられている外部記憶装置３を自動認識し、外部記憶装置３及び記憶部１１５の各々から割符ファイルを取得し、復元処理部１１９に出力する。復元処理部１１９は、割符ファイル取得部１１７から割符ファイルを受け取ると、処理対象ファイルを復元するための処理を実施し、処理結果を表示するよう表示部１０３に指示する。なお、復元処理部１１９は、処理途中のデータをワークメモリ１１１に格納したり、ワークメモリ１１１からデータを読み出したりする。
【００１５】
次に、図３乃至図１２を用いて、処理対象ファイルから割符ファイルを生成する処理について説明する。例えば入力部１０１が、ユーザから割符処理開始指示を受け付けると、表示部１０３に処理対象ファイル選択画面を表示させる。表示部１０３は、入力部１０１からの指示に応じて、図４に示すような処理対象ファイル選択画面を表示装置等に表示する。図４の例では、処理対象ファイル選択画面には、「処理対象ファイルを選んで下さい。」という表示がなされており、処理対象ファイルのフォルダ（ディレクトリ）及びファイル名を入力する入力欄４０１と、ユーザデータ格納部１０５内のユーザデータ（ファイル）を参照するための参照ボタン４０２と、ＯＫボタン４０３とが設けられている。例えば、参照ボタン４０２をクリックすると、ファイルを選択するための画面（図示せず）が新たに表示され、ユーザは、当該画面において、処理対象ファイルを選択する。なお、フォルダ及びファイル名を入力欄４０１に直接入力するような場合もある。また、入力欄４０１を複数設けるなどして、複数の処理対象ファイルが指定される場合もある。そして、ユーザは、処理対象ファイルを指定し、ＯＫボタン４０３をクリックする。
【００１６】
そして、入力部１０１は、ユーザから処理対象ファイルの指定入力を受け付け（図３：ステップＳ１）、処理対象ファイル指定データ（例えばフォルダ及びファイル名）を処理対象ファイル取得部１０７に出力する。そして、処理対象ファイル取得部１０７は、入力部１０１から処理対象ファイル指定データを受け取ると、ユーザデータ格納部１０５から、指定された処理対象ファイルを取得し（ステップＳ３）、割符ファイル生成部１０９に出力する。なお、処理対象ファイルが複数指定された場合には、全ての処理対象ファイルを取得し、割符ファイル生成部１０９に出力する。
【００１７】
そして、割符ファイル生成部１０９は、処理対象ファイル取得部１０７から処理対象ファイルを受け取ると、一旦ワークメモリ１１１に格納する。そして、処理対象ファイルが複数存在するか判断する（ステップＳ５）。処理対象ファイルが複数存在する場合（ステップＳ５：Ｙｅｓルート）、割符ファイル生成部１０９は、複数の処理対象ファイルを連結することにより１つの処理対象ファイルを生成し、ワークメモリ１１１に格納する（ステップＳ７）。なお、複数ファイルを連結する処理自体は従来と変わらないため、詳細な説明は省略する。その後、ステップＳ９の処理に移行する。
【００１８】
一方、処理対象ファイルが１つの場合（ステップＳ５：Ｎｏルート）、ステップＳ７をスキップし、ステップＳ９の処理に移行する。
【００１９】
そして、割符ファイル生成部１０９は、ワークメモリ１１１に格納された処理対象ファイルをｎ個（ｎは３以上の奇数）のセグメントに分割し、ワークメモリ１１１に格納する（ステップＳ９）。図５に、処理対象ファイルを３個のセグメント（セグメントａ、ｂ及びｃ）に分割する場合の例を示す。
【００２０】
そして、割符ファイル生成部１０９は、ワークメモリ１１１に格納されたセグメントのサイズが異なっているか判断する（ステップＳ１１）。ワークメモリ１１１に格納されたセグメントのうち１つでもサイズの異なるセグメントがある場合には（ステップＳ１１：Ｙｅｓルート）、割符ファイル生成部１０９は、ワークメモリ１１１に格納されたセグメントのサイズの中から最大サイズを特定する（ステップＳ１３）。そして、割符ファイル生成部１０９は、サイズが最大サイズより小さい各セグメントについて、当該セグメントのサイズが最大サイズと等しくなるよう当該セグメントに任意のビット列（擬似ビット列とも呼ぶ）を付加し、付加ビット特定データを生成する（ステップＳ１５）。例えば図６に、擬似ビット列が付加されたセグメントの一例を示す。図６の例では、セグメントｃのサイズが、セグメントａ及びｂと異なっており、セグメントｃのサイズがセグメントａ及びｂのサイズと等しくなるようセグメントｃに擬似ビット列（図６の網掛け部分）が付加されている。
【００２１】
また、図７に付加ビット特定データの一例を示す。図７の例では、付加ビット特定データには、セグメント名と、そのセグメントにおける擬似ビット列の開始位置とが含まれる。なお、詳細は後で説明するが、付加ビット特定データは、処理対象ファイルを復元する際に、セグメントから擬似ビット列を除去するために用いられる。
【００２２】
そして、ステップＳ１５の処理の後、端子Ａを介してステップＳ１７（図８）の処理に移行する。
【００２３】
一方、ワークメモリ１１１に格納されたセグメントのサイズが全て同じ場合（ステップＳ１１：Ｎｏルート）、ステップＳ１３及びステップＳ１５をスキップし、端子Ａを介してステップＳ１７（図８）の処理に移行する。
【００２４】
図８の説明に移行して、端子Ａの後、割符ファイル生成部１０９は、ワークメモリ１１１に格納されている全てのセグメントによる排他的論理和（ＥＯＲ：Exclusive OR。ＸＯＲとも呼ぶ。）を計算することにより割符ファイルＰを生成し、一旦ワークメモリ１１１に格納する（図８：ステップＳ１７）。例えば３個のセグメントに分割されていた場合（ｎ＝３の場合）には、図９に示すように、セグメントａ、ｂ及びｃによる排他的論理和を計算し、割符ファイルＰ（＝ａ＾ｂ＾ｃ）を生成する。なお、「＾」は、排他的論理和の演算子を表す（以下同じ）。
【００２５】
図１０に排他的論理和の演算例を示しておく。図１０は、レジスタＧＲ（General Register）０に記憶されたビット列「1111 1111 1010 1010」とレジスタＧＲ１に記憶されたビット列「1010 1010 0000 0000」とによる排他的論理和の演算結果「0101 0101 1010 1010」をレジスタＧＲ０に設定する場合の例を示している。なお、例えば３つのビット列について排他的論理和を計算するには、まず２つのビット列について演算を行い、その演算結果ともう１つのビット列とを用いて演算を行う。
【００２６】
そして、割符ファイル生成部１０９は、カウンタｉを１に設定する（ステップＳ１９）。そして、割符ファイル生成部１０９は、ワークメモリ１１１に格納されているｎ個のセグメントのうちｉ番目のセグメントを除く（ｎ−１）個のセグメントによる排他的論理和を計算することにより割符ファイルＵｉを生成し、一旦ワークメモリ１１１に格納する（ステップＳ２１）。例えばステップＳ９（図３）において３個のセグメントに分割されていた場合（ｎ＝３の場合）、ｉ＝１の時に、本ステップの処理を実施すると、図１１（ａ）に示すような割符ファイルＵ１が生成される。具体的には、１番目のセグメント（すなわち、セグメントａ）を除く２個のセグメント（すなわち、セグメントｂ及びｃ）による排他的論理和を計算することにより、割符ファイルＵ１（＝ｂ＾ｃ）が生成される。
【００２７】
そして、割符ファイル生成部１０９は、カウンタｉがｎ−１より小さいか判断する（ステップＳ２３）。カウンタｉがｎ−１より小さい場合（ステップＳ２３：Ｙｅｓルート）、割符ファイル生成部１０９は、カウンタｉを１インクリメントする（ステップＳ２５）。そして、ステップＳ２１の処理に戻り、上で説明した処理を繰り返す。例えばステップＳ９（図３）において３個のセグメントに分割されていた場合（ｎ＝３の場合）、ｉ＝２の時に、ステップＳ２１の処理を実施すると、図１１（ｂ）に示すような割符ファイルＵ２が生成される。具体的には、２番目のセグメント（すなわち、セグメントｂ）を除く２個のセグメント（すなわち、セグメントａ及びｃ）による排他的論理和を計算することにより、割符ファイルＵ２が生成される。
【００２８】
一方、カウンタｉがｎ−１以上であると判断された場合（ステップＳ２３：Ｎｏルート）、端子Ｂを介してステップＳ２７（図１２）の処理に移行する。なお、図８の処理フローでは、ステップＳ２１の処理がｎ−１回繰り返されるため、ｎ−１個の割符ファイルＵｉが生成されることになる。すなわち、ｎ個のセグメントから任意のｎ−１個のセグメントを選ぶ組み合わせはｎ通りであるが、ここでは、ｎ−１通りの組み合わせについて割符ファイルＵを生成する。なお、ｎ個のセグメントを復元する際には、ｎ個の割符ファイルＵが必要となるが、後で説明するように割符ファイルＵ１〜割符ファイルＵｎ−１があれば、割符ファイルＵｎを生成することができるため、ここでは割符ファイルＵｎについて生成しない。
【００２９】
図１２の説明に移行して、端子Ｂの後、割符ファイル生成部１０９は、生成した割符ファイルＰとｎ−１個の割符ファイルＵｉとをワークメモリ１１１から取り出し、格納先決定部１１３に出力する。なお、ワークメモリ１１１に付加ビット特定データが格納されている場合には、付加ビット特定データも出力する。
【００３０】
そして、格納先決定部１１３は、割符ファイル生成部１０９から割符ファイルＰとｎ−１個の割符ファイルＵｉとを受け取る。そして、格納先決定部１１３は、ハードウェアの自動認識を行い、外部記憶装置３を検出する（ステップＳ２７）。なお、外部記憶装置３が取り付けられた際に自動認識を行う場合もあり、外部記憶装置３を検出済みであれば、本ステップをスキップする。
【００３１】
そして、格納先決定部１１３は、割符ファイル生成部１０９から受け取った割符ファイルＰを外部記憶装置３に格納する（ステップＳ２９）。また、格納先決定部１１３は、割符ファイル生成部１０９から受け取ったｎ−１個の割符ファイルＵｉを記憶部１１５に格納する（ステップＳ３１）。なお、割符ファイルＰを記憶部１１５に格納し、ｎ−１個の割符ファイルＵｉを外部記憶装置３に格納するようにしても特に問題は生じない。但し、一般的にはユーザ端末１の内部記憶装置である記憶部１１５より外部記憶装置３の方が記憶容量が少ないので、ｎ−１個の割符ファイルＵｉより割符ファイルＰを外部記憶装置３に格納した方が好ましい。
【００３２】
そして、格納先決定部１１３は、割符ファイル生成部１０９から付加ビット特定データを受け取ったか判断する（ステップＳ３３）。付加ビット特定データを受け取った場合（ステップＳ３３：Ｙｅｓルート）、格納先決定部１１３は、付加ビット特定データを外部記憶装置３又は記憶部１１５に格納する（ステップＳ３５）。その後、処理を終了する。
【００３３】
一方、付加ビット特定データを受け取っていなければ（ステップＳ３３：Ｎｏルート）、ステップＳ３５をスキップし、処理を終了する。
【００３４】
以上のような処理を実施することにより、個々のデータだけではユーザデータを復元できないような割符ファイルＰとｎ−１個の割符ファイルＵｉとを生成することができる。なお、本実施の形態では、１個の割符ファイルＰとｎ−１個の割符ファイルＵｉとの計ｎ個の割符ファイルが生成されることになるが、個々の割符ファイルは１セグメントと同じサイズ（すなわち、ユーザデータの１／ｎのサイズ）である。擬似ビット列を付加した場合には、多少データ量が増えることとなるが微量であるため、全体のデータ量は元のユーザデータとほとんど変わらない。従って、全体のデータ量を抑えつつ、ユーザデータの情報漏洩を防止できるようになる。
【００３５】
なお、上では、外部記憶装置３及び記憶部１１５の各々に割符ファイルを自動的に格納するようになっていたが、割符ファイルをユーザが手動で格納するような構成を採用することも可能である。この場合、ステップＳ２９及びステップＳ３１の代わりに、図１３のような、ユーザに格納先を知らせるような画面を表示するようにすればよい。図１３の例では、「ファイルＰをＸＸＸに格納して下さい。」、「ファイルＵ１をＹＹＹに格納して下さい。」、・・・という表示がなされている。なお、ファイル操作を行う別画面を起動するためのボタンを設けるようにしてもよい。
【００３６】
また、例えば図１４に示すような格納先選択画面を表示させ、ユーザに指定させるようにしてもよい。図１４の例では、格納先選択画面には、「割符ファイルの格納先を選んで下さい。」という表示がなされており、割符ファイルＰの格納先の入力欄１４０１及び参照ボタン１４０２と、割符ファイルＵ１の格納先の入力欄１４０３及び参照ボタン１４０４と、・・・と、ＯＫボタン１４０５とが設けられている。この場合、格納先決定部１１３は、ステップＳ２９及びステップＳ３１において、ユーザの指定に従って割符ファイルＰ及び割符ファイルＵｉを格納するようにすればよい。
【００３７】
次に、図１５乃至図１９を用いて、ユーザデータを復元する処理について説明する。例えば入力部１０１が、ユーザから復元処理開始指示を受け付けると、又は外部記憶装置３が取り付けられたことを検出すると、表示部１０３に格納フォルダ選択画面を表示させる。表示部１０３は、入力部１０１からの指示に応じて、図１６に示すような画面を表示装置等に表示する。図１６の例では、格納フォルダ選択画面には、「割符ファイルが格納されているフォルダを選んで下さい。」という表示がなされており、フォルダ１の入力欄１６０１及び参照ボタン１６０２と、フォルダ２の入力欄１６０３及び参照ボタン１６０４と、・・・と、ＯＫボタン１６０５とが設けられている。例えば、参照ボタン１６０２及び１６０４をクリックすると、フォルダを選択するための画面（図示せず）が新たに表示され、ユーザは、当該画面において、割符ファイルＰ及び割符ファイルＵｉが格納されているフォルダを選択する。なお、ここでは、割符ファイルＰの格納先として外部記憶装置３内のフォルダが選択され、割符ファイルＵｉの格納先として記憶部１１５内のフォルダが選択されたものとする。そして、ユーザは、割符ファイルが格納されているフォルダを指定し、ＯＫボタン１６０５をクリックする。
【００３８】
そして、入力部１０１は、ユーザから割符ファイルが格納されているフォルダの指定入力を受け付け（図１５：ステップＳ４１）、フォルダ指定データを割符ファイル取得部１１７に出力する。そして、割符ファイル取得部１１７は、入力部１０１からフォルダ指定データを受け取ると、指定されたフォルダ（例えば、外部記憶装置３内のフォルダ）から割符ファイルＰを取得し（ステップＳ４３）、復元処理部１１９に出力する。また、割符ファイル取得部１１７は、指定されたフォルダ（例えば、記憶部１１５内のフォルダ）からｎ−１個の割符ファイルＵｉを取得し（ステップＳ４５）、復元処理部１１９に出力する。
【００３９】
そして、復元処理部１１９は、割符ファイル取得部１１７から割符ファイルＰとｎ−１個の割符ファイルＵｉとを受け取ると、一旦ワークメモリ１１１に格納する。そして、復元処理部１１９は、ｎ−１個の割符ファイルＵｉから新たな割符ファイルＵｎを生成し、ワークメモリ１１１に格納する（ステップＳ４７）。具体的には、割符ファイルＵ１から割符ファイルＵｎ−１までのｎ−１個の割符ファイルＵｉによる排他的論理和を計算することにより、割符ファイルＵｎを生成する。この処理については、図１７を用いて説明する。
【００４０】
図１７は、ｎ＝３の場合において、割符ファイルＵ１（＝ｂ＾ｃ）と割符ファイルＵ２（＝ａ＾ｃ）から割符ファイルＵ３を生成する例を示している。図１７において、割符ファイルＵ１と割符ファイルＵ２による排他的論理和は、Ｕ１＾Ｕ２＝（ｂ＾ｃ）＾（ａ＾ｃ）＝ａ＾ｂ＾ｃ＾ｃとなる。ここで、「ｃ＾ｃ」は、同一セグメント同士の排他的論理和であり、演算結果が０（すなわち、全てのビットが０）になるので、ａ＾ｂ＾ｃ＾ｃ＝ａ＾ｂ＝Ｕ３となる。すなわち、割符ファイルＵ１と割符ファイルＵ２による排他的論理和を計算することにより、割符ファイルＵ３が生成される。このように、ｎ−１個の割符ファイルＵｉ（ｉは１〜ｎ−１）から割符ファイルＵｎを生成することができるので、上で説明した図８の処理フローでは、割符ファイルＵｎを生成しておかなくても問題はない。
【００４１】
そして、復元処理部１１９は、カウンタｉを１に設定する（ステップＳ４９）。そして、復元処理部１１９は、ワークメモリ１１１に格納された割符ファイルＰ及びＵｉを用いてｉ番目のセグメントを復元し、ワークメモリ１１１に格納する（ステップＳ５１）。具体的には、割符ファイルＰと割符ファイルＵｉによる排他的論理和を計算することにより、ｉ番目のセグメントを復元する。この処理については、図１８（ａ）を用いて説明する。
【００４２】
図１８（ａ）は、割符ファイルＰと割符ファイルＵ１からセグメントａを復元する例を示している。図１８（ａ）において、割符ファイルＰと割符ファイルＵ１による排他的論理和は、Ｐ＾Ｕ１＝（ａ＾ｂ＾ｃ）＾（ｂ＾ｃ）＝ａ＾ｂ＾ｂ＾ｃ＾ｃとなる。ここで、「ｂ＾ｂ」、「ｃ＾ｃ」は、同一セグメント同士の排他的論理和であり、演算結果が０（すなわち、全てのビットが０）になるので、ａ＾ｂ＾ｂ＾ｃ＾ｃ＝ａとなる。すなわち、割符ファイルＰと割符ファイルＵ１による排他的論理和を計算することにより、セグメントａが復元される。
【００４３】
そして、復元処理部１１９は、カウンタｉがｎより小さいか判断する（ステップＳ５３）。カウンタｉがｎより小さい場合（ステップＳ５３：Ｙｅｓルート）、復元処理部１１９は、カウンタｉを１インクリメントする（ステップＳ５５）。そして、ステップＳ５１の処理に戻り、上で説明した処理を繰り返す。
【００４４】
例えばカウンタｉ＝２の時に、ステップＳ５１の処理を実施すると、図１８（ｂ）に示すように、割符ファイルＰと割符ファイルＵ２からセグメントｂを復元する。図１８（ｂ）において、割符ファイルＰと割符ファイルＵ２による排他的論理和は、Ｐ＾Ｕ２＝（ａ＾ｂ＾ｃ）＾（ａ＾ｃ）＝ａ＾ａ＾ｂ＾ｃ＾ｃとなる。ここで、「ａ＾ａ」、「ｃ＾ｃ」は、同一セグメント同士の排他的論理和であり、演算結果が０（すなわち、全てのビットが０）になるので、ａ＾ａ＾ｂ＾ｃ＾ｃ＝ｂとなる。すなわち、割符ファイルＰと割符ファイルＵ２による排他的論理和を計算することにより、セグメントｂが復元される。
【００４５】
また、例えばカウンタｉ＝３の時に、ステップＳ５１の処理を実施すると、図１８（ｃ）に示すように、割符ファイルＰと割符ファイルＵ３からセグメントｃを復元する。図１８（ｃ）において、割符ファイルＰと割符ファイルＵ３による排他的論理和は、Ｐ＾Ｕ３＝（ａ＾ｂ＾ｃ）＾（ａ＾ｂ）＝ａ＾ａ＾ｂ＾ｂ＾ｃとなる。ここで、「ａ＾ａ」、「ｂ＾ｂ」は、同一セグメント同士の排他的論理和であり、演算結果が０（すなわち、全てのビットが０）になるので、ａ＾ａ＾ｂ＾ｂ＾ｃ＝ｃとなる。すなわち、割符ファイルＰと割符ファイルＵ３による排他的論理和を計算することにより、セグメントｃが復元される。
【００４６】
一方、カウンタｉがｎ以上であると判断された場合（ステップＳ５３：Ｎｏルート）、端子Ｃを介してステップＳ５７（図１９）の処理に移行する。なお、図１５の処理フローでは、ステップＳ５１の処理がｎ回繰り返されるため、ｎ個のセグメントが復元されることになる。
【００４７】
図１９の説明に移行して、端子Ｃの後、復元処理部１１９は、付加ビット特定データが外部記憶装置３又は記憶部１１５に格納されているか確認するよう割符ファイル取得部１１７に指示する。そして、割符ファイル取得部１１７は、付加ビット特定データが外部記憶装置３又は記憶部１１５に格納されているか判断する（図１９：ステップＳ５７）。例えば、割符ファイルＰ又は割符ファイルＵｉが格納されていたフォルダ内に付加ビット特定データが格納されているか判断する。付加ビット特定データが外部記憶装置３又は記憶部１１５に格納されている場合（ステップＳ５７：Ｙｅｓルート）、割符ファイル取得部１１７は、外部記憶装置３又は記憶部１１５から付加ビット特定データを取得し、復元処理部１１９に出力する（ステップＳ５９）。
【００４８】
そして、復元処理部１１９は、割符ファイル取得部１１７から付加ビット特定データを受け取ると、付加ビット特定データにより特定される各セグメントについて、付加ビット特定データにより特定される擬似ビット列を除去する（ステップＳ６１）。
【００４９】
一方、付加ビット特定データが外部記憶装置３及び記憶部１１５のいずれにも格納されていなければ（ステップＳ５７：Ｎｏルート）、割符ファイル取得部１１７は、確認結果（付加ビット特定データなし）を復元処理部１１９に通知する。そして、ステップＳ５９及びステップＳ６１をスキップし、ステップＳ６３の処理に移行する。
【００５０】
そして、復元処理部１１９は、ワークメモリ１１１に格納されているｎ個のセグメントを連結することにより、処理対象ファイルを復元する（ステップＳ６３）。そして、復元処理部１１９は、復元した処理対象ファイルが、複数の処理対象ファイルを包含しているか判断する（ステップＳ６５）。すなわち、複数の処理対象ファイルを連結することにより生成された処理対象ファイルであるか判断する。復元した処理対象ファイルが、複数の処理対象ファイルを包含している場合（ステップＳ６５：Ｙｅｓルート）、復元処理部１１９は、復元した処理対象ファイルを個々の処理対象ファイルに分割する（ステップＳ６７）。なお、連結したファイルを元に戻す処理自体は従来と変わらないため、詳細な説明は省略する。その後、処理を終了する。
【００５１】
一方、復元した処理対象ファイルが、複数の処理対象ファイルを包含していなければ（ステップＳ６５：Ｎｏルート）、ステップＳ６７をスキップし、処理を終了する。
【００５２】
以上のような処理を実施することにより、割符ファイルＰとｎ−１個の割符ファイルＵｉとからｎ個のセグメントを復元することができ、さらにｎ個のセグメントから処理対象ファイルを復元することができる。
【００５３】
例えば、ユーザが、あるファイル（ユーザデータ）を客先に持ち運ぶ場面の一例を図２０に示す。まず、持ち運びたいユーザデータから割符ファイルＰ並びに割符ファイルＵ１及びＵ２を生成し、割符ファイルＰをＵＳＢメモリに格納し、割符ファイルＵ１及びＵ２をノート型ＰＣの内部記憶装置に格納する。そして、ノート型ＰＣからＵＳＢメモリを取り外し、ユーザは、それぞれを客先へ持ち運ぶ。
【００５４】
ここで、もし、客先への移動中に、ＵＳＢメモリが盗難にあったり、紛失したりした場合であっても、割符ファイルＰだけではユーザデータを復元できない。同様に、ノート型ＰＣが盗難にあったり、紛失したりした場合も、割符ファイルＵ１及びＵ２だけではユーザデータを復元できない。
【００５５】
一方で、ノート型ＰＣ及びＵＳＢメモリを紛失等することなく、客先に到着した場合には、割符ファイルＰ並びに割符ファイルＵ１及びＵ２が揃うので、上で説明したような処理を実施することにより、ユーザデータを復元することができる。なお、持ち運ぶデータの量は、基本的にはユーザデータのデータ量とほとんど変わらないので、全体のデータ量を増やすことなく、ユーザデータの情報漏洩を防止することができる。
【００５６】
［実施の形態２］
次に、図２１及び図２２を用いて、第２の実施の形態について説明する。上で説明した第１の実施の形態では、割符ファイルＰを外部記憶装置３に格納するようになっていたが、第２の実施の形態では、割符ファイルＰを、ネットワークを介して接続されるサーバに送信（アップロード）する。
【００５７】
なお、本実施の形態の概要を図２１を用いて説明する。なお、図２１では、ユーザ端末１とサーバ５とが、例えばインターネットであるネットワーク７を介して接続されているものとする。まず、ユーザ端末１が、ファイル（ユーザデータ）から割符ファイルＰ及び割符ファイルＵｉを生成する（図２１：ステップ（１））。割符ファイルＰ及び割符ファイルＵｉを生成する処理自体は、第１の実施の形態と同じである。そして、生成した割符ファイルＰを、ユーザ端末１からサーバ５へアップロードする（ステップ（２））。なお、割符ファイルＵｉについては、ユーザ端末１の記憶部１１５に格納しておく。
【００５８】
その後、ユーザは、ユーザ端末１を持って客先に移動する（ステップ（３））。なお、ステップ（３）は、ユーザの動作であるため、図２１では、点線の矢印で示している。
【００５９】
そして、ユーザは客先へ到着すると、ユーザ端末１を操作してネットワーク７に接続させる。そして、ユーザ端末１は、サーバ５から割符ファイルＰを取得（ダウンロード）する（ステップ（４））。そして、ユーザ端末１は、ダウンロードした割符ファイルＰと、記憶部１１５に格納されている割符ファイルＵｉとを用いてユーザデータを復元する（ステップ（５））。
【００６０】
例えば、割符ファイルＰをアップロード又はダウンロードの際に盗聴されたとしても、割符ファイルＰだけではユーザデータを復元できない。また、ノート型ＰＣが盗難にあったり、紛失したりした場合も、割符ファイルＵｉだけではユーザデータを復元できない。すなわち、外部記憶装置３を持ち合わせていなくても、ユーザデータの情報漏洩を防止できるようになる。
【００６１】
なお、本実施の形態に係るユーザ端末１の構成は、外部記憶装置３を除けば図２に示した機能ブロック図と同じである。また、ユーザ端末１の処理は、基本的には第１の実施の形態で説明した処理内容と同じであるが、割符ファイルを生成する際、図１２の処理の代わりに図２２に示すような処理を実施する。以下、図２２の処理を説明する。
【００６２】
なお、図２２は、端子Ｂを介して図８から移行してきた後の処理フローを示す。端子Ｂまでの処理は、第１の実施の形態と変わらないため、詳細な説明は省略する。端子Ｂを介して図２２に移行してきた場合、割符ファイル生成部１０９は、生成した割符ファイルＰとｎ−１個の割符ファイルＵｉとをワークメモリ１１１から取り出し、格納先決定部１１３に出力する。なお、ワークメモリ１１１に付加ビット特定データが格納されている場合には、付加ビット特定データも出力する。
【００６３】
そして、格納先決定部１１３は、割符ファイル生成部１０９から割符ファイルＰとｎ−１個の割符ファイルＵｉとを受け取る。そして、格納先決定部１１３は、割符ファイル生成部１０９から受け取った割符ファイルＰをサーバ５に送信する（図２２：ステップＳ７１）。また、格納先決定部１１３は、割符ファイル生成部１０９から受け取ったｎ−１個の割符ファイルＵｉを記憶部１１５に格納する（ステップＳ７３）。なお、割符ファイルＰを記憶部１１５に格納し、ｎ−１個の割符ファイルＵｉをサーバ５に送信するようにしても特に問題は生じない。但し、ｎ−１個の割符ファイルＵｉより割符ファイルＰをサーバ５に送信した方が通信負荷（通信量）を抑えることができる。
【００６４】
そして、格納先決定部１１３は、割符ファイル生成部１０９から付加ビット特定データを受け取ったか判断する（ステップＳ７５）。付加ビット特定データを受け取った場合（ステップＳ７５：Ｙｅｓルート）、格納先決定部１１３は、付加ビット特定データを記憶部１１５に格納する（ステップＳ７７）。なお、付加ビット特定データをサーバ５に送信するようにしてもよい。その後、処理を終了する。
【００６５】
一方、付加ビット特定データを受け取っていなければ（ステップＳ７５：Ｎｏルート）、ステップＳ７７をスキップし、処理を終了する。
【００６６】
また、ユーザデータを復元する際の処理は、ステップＳ４３（図１５）において、割符ファイルＰをサーバ５から取得（ダウンロード）する以外は、第１の実施の形態と同じである。
【００６７】
以上のような処理を実施することにより、外部記憶装置３を持ち合わせていなくても、ユーザデータの情報漏洩を防止できるようになる。
【００６８】
以上本技術の一実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、上で説明したユーザ端末１の機能ブロック図は必ずしも実際のプログラムモジュール構成に対応するものではない。また、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしてもよい。
【００６９】
また、図７に示した付加ビット特定データは一例であって、必ずしも上記のような構成でなければならないわけではない。さらに、上で述べた画面例は一例であって、同様の内容を表示する他の画面構成を採用することも可能である。
【００７０】
また、上では、ユーザデータを３個のセグメントに分割した場合を例に実施の形態を説明したが、分割数ｎは３に限定されない。ｎが５以上の奇数の場合も、上で述べたような処理を実施すればよい。
【００７１】
なお、上で述べたユーザ端末１は、コンピュータ装置であって、図２５に示すように、メモリ２５０１とＣＰＵ２５０３とハードディスク・ドライブ（ＨＤＤ）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。必要に応じてＣＰＵ２５０３は、表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、必要な動作を行わせる。また、処理途中のデータについては、メモリ２５０１に格納され、必要があればＨＤＤ２５０５に格納される。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウェアとＯＳ及び必要なアプリケーション・プログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【００７２】
以上本実施の形態をまとめると以下のようになる。
【００７３】
第１の態様に係る割符ファイル生成方法は、処理対象ファイルをｎ個のセグメントに分割する分割ステップ（図２３のＳ１０１に相当）と、全てのセグメントによる排他的論理和を計算することにより第１の記憶装置に格納するための第１の割符ファイルを生成する第１割符ファイル生成ステップ（図２３のＳ１０３に相当）と、ｎ個のセグメントから任意のｎ−１個のセグメントを選ぶことにより構成されるｎ通りの組み合わせのうち、ｎ−１通りの組み合わせの各々について、当該組み合わせに含まれるｎ−１個のセグメントによる排他的論理和を計算することにより第２の記憶装置に格納するための第２の割符ファイルを生成する第２割符ファイル生成ステップ（図２３のＳ１０５に相当）とを含む。
【００７４】
このようにすれば、個々の割符ファイルだけでは処理対象ファイル（ユーザデータ）を復元できないような第１の割符ファイル及び第２の割符ファイルを生成することができる。なお、１個の第１の割符ファイルとｎ−１個の第２の割符ファイルとの計ｎ個の割符ファイルが生成されるが、個々の割符ファイルのサイズは、１セグメントと同じサイズであるため、全体のデータ量は、処理対象ファイル（ｎ個のセグメント）と同じである。すなわち、全体のデータ量を抑えつつ、処理対象ファイルの情報漏洩を防止できる。
【００７５】
また、第１の態様において、上で述べた第１割符ファイル生成ステップの前に、各セグメントのサイズが異なる場合、セグメントのサイズのうち最大サイズを特定し、最大サイズより小さいセグメントの各々について、当該セグメントのサイズが最大サイズと等しくなるよう当該セグメントに任意のビット列を付加するステップと、任意のビット列が付加されたセグメントと当該セグメントにおける任意のビット列の位置とを特定するための付加ビット特定データを第１の記憶装置又は第２の記憶装置に格納するステップとをさらに含むようにしてもよい。このようにすれば、処理対象ファイルを同一サイズのセグメントに分割できなかった場合にも対処できる。
【００７６】
さらに、第１の態様において、上で述べた分割ステップの前に、処理対象ファイルが複数存在する場合、複数の処理対象ファイルを連結することにより１の処理対象ファイルを生成するステップをさらに含むようにしてもよい。このようにすれば、処理対象ファイルが複数存在する場合にも対処できる。
【００７７】
また、第１の態様において、上で述べた第１の記憶装置が、取り外し可能な外部記憶装置であり、上で述べた第２の記憶装置が、コンピュータの内部記憶装置である場合もある。そして、コンピュータに取り付けられた外部記憶装置を自動認識して、第１の割符ファイルを外部記憶装置に格納するステップと、第２の割符ファイルを内部記憶装置に格納するステップとをさらに含むようにしてもよい。例えば外部記憶装置の方が記憶容量が少ない場合、ｎ−１個の第２の割符ファイルを格納するより、１個の第１の割符ファイルを外部記憶装置に格納するようにした方が効率的である。
【００７８】
さらに、第１の態様において、上で述べた第１の記憶装置が、コンピュータとネットワークを介して接続されるサーバで管理される記憶装置であり、上で述べた第２の記憶装置が、コンピュータの内部記憶装置である場合もある。そして、第１の割符ファイルをサーバに送信するステップと、第２の割符ファイルを内部記憶装置に格納するステップとをさらに含むようにしてもよい。このようにすれば、外部記憶装置を持ち合わせていない場合にも対処できる。なお、ｎ−１個の第２の割符ファイルをサーバに送信するより、１個の第１の割符ファイルをサーバに送信した方が通信負荷を抑えられる。
【００７９】
第２の態様に係るデータ復元方法は、処理対象ファイルを分割することにより得られるｎ個のセグメントによる排他的論理和を含む第１の割符ファイルを格納している第１の記憶装置から第１の割符ファイルを取得する第１取得ステップ（図２４のＳ１１１に相当）と、ｎ個のセグメントから任意のｎ−１個のセグメントを選ぶことにより構成されるｎ通りの組み合わせのうちのｎ−１通りの組み合わせ毎に当該組み合わせに含まれるｎ−１個のセグメントによる排他的論理和を含む第２の割符ファイルを格納している第２の記憶装置からｎ−１個の第２の割符ファイルを取得する第２取得ステップ（図２４のＳ１１３に相当）と、ｎ−１個の第２の割符ファイルによる排他的論理和を計算することにより、新たな第２の割符ファイルを生成するステップ（図２４のＳ１１５に相当）と、第１の割符ファイルと第２の割符ファイルの各々との排他的論理和を計算することにより、ｎ個のセグメントを復元するステップ（図２４のＳ１１７に相当）とを含む。
【００８０】
このようにすれば、第１の割符ファイルと第２の割符ファイルとを用いて、ｎ個のセグメントを復元することができ、さらにｎ個のセグメントから処理対象ファイルを復元することができるようになる。
【００８１】
また、第２の態様において、任意のビット列が付加されているセグメントと当該セグメントにおける任意のビット列の位置とを特定するための付加ビット特定データが第１の記憶装置又は第２の記憶装置に格納されている場合、第１の記憶装置又は第２の記憶装置から付加ビット特定データを取得するステップと、付加ビット特定データにより特定され且つ任意のビット列が付加されている各セグメントについて、当該セグメントから付加ビット特定データにより特定される任意のビット列を除去するステップとをさらに含むようにしてもよい。このようにすれば、任意のビット列が付加されているセグメントから当該任意のビット列を除去することができるので、セグメントを正しく復元できる。
【００８２】
さらに、第２の態様において、復元されたｎ個のセグメントを連結することにより処理対象ファイルを復元するステップをさらに含むようにしてもよい。
【００８３】
また、第２の態様において、上で述べた第１の記憶装置が、取り外し可能な外部記憶装置であり、上で述べた第２の記憶装置が、コンピュータの内部記憶装置である場合もある。そして、上で述べた第１取得ステップが、コンピュータに取り付けられた外部記憶装置を自動認識して、当該外部記憶装置から第１の割符ファイルを取得するステップを含むようにしてもよい。
【００８４】
さらに、第２の態様において、上で述べた第１の記憶装置が、コンピュータとネットワークを介して接続されるサーバで管理される記憶装置であり、上で述べた第２の記憶装置が、コンピュータの内部記憶装置である場合もある。上で述べた第１取得ステップが、サーバから第１の割符ファイルを取得するステップを含むようにしてもよい。
【００８５】
また、第１又は第２の態様において、ｎが３以上の奇数である場合もある。
【００８６】
なお、上記処理をコンピュータに実行させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等の記憶媒体又は記憶装置に格納される。なお、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
【００８７】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００８８】
（付記１）
処理対象ファイルをｎ個のセグメントに分割する分割ステップと、
全ての前記セグメントによる排他的論理和を計算することにより第１の記憶装置に格納するための第１の割符ファイルを生成する第１割符ファイル生成ステップと、
ｎ個の前記セグメントから任意のｎ−１個の前記セグメントを選ぶことにより構成されるｎ通りの組み合わせのうち、ｎ−１通りの前記組み合わせの各々について、当該組み合わせに含まれるｎ−１個の前記セグメントによる排他的論理和を計算することにより第２の記憶装置に格納するための第２の割符ファイルを生成する第２割符ファイル生成ステップと、
をコンピュータに実行させるための割符ファイル生成プログラム。
【００８９】
（付記２）
前記第１割符ファイル生成ステップの前に、各前記セグメントのサイズが異なる場合、前記セグメントのサイズのうち最大サイズを特定し、前記最大サイズより小さい前記セグメントの各々について、当該セグメントのサイズが前記最大サイズと等しくなるよう当該セグメントに任意のビット列を付加するステップと、
前記任意のビット列が付加された前記セグメントと当該セグメントにおける前記任意のビット列の位置とを特定するための付加ビット特定データを前記第１の記憶装置又は前記第２の記憶装置に格納するステップと、
をさらにコンピュータに実行させるための付記１記載の割符ファイル生成プログラム。
【００９０】
（付記３）
前記分割ステップの前に、前記処理対象ファイルが複数存在する場合、複数の前記処理対象ファイルを連結することにより１の処理対象ファイルを生成するステップ
をさらにコンピュータに実行させるための付記１又は２記載の割符ファイル生成プログラム。
【００９１】
（付記４）
前記第１の記憶装置が、取り外し可能な外部記憶装置であり、
前記第２の記憶装置が、前記コンピュータの内部記憶装置であり、
前記コンピュータに取り付けられた前記外部記憶装置を自動認識して、前記第１の割符ファイルを前記外部記憶装置に格納するステップと、
前記第２の割符ファイルを前記内部記憶装置に格納するステップと、
をさらにコンピュータに実行させるための付記１乃至３のいずれか１つ記載の割符ファイル生成プログラム。
【００９２】
（付記５）
前記第１の記憶装置が、前記コンピュータとネットワークを介して接続されるサーバで管理される記憶装置であり、
前記第２の記憶装置が、前記コンピュータの内部記憶装置であり、
前記第１の割符ファイルを前記サーバに送信するステップと、
前記第２の割符ファイルを前記内部記憶装置に格納するステップと、
をさらにコンピュータに実行させるための付記１乃至３のいずれか１つ記載の割符ファイル生成プログラム。
【００９３】
（付記６）
ｎは３以上の奇数であることを特徴とする付記１乃至５のいずれか１つ記載の割符ファイル生成プログラム。
【００９４】
（付記７）
処理対象ファイルを分割することにより得られるｎ個のセグメントによる排他的論理和を含む第１の割符ファイルを格納している第１の記憶装置から前記第１の割符ファイルを取得する第１取得ステップと、
ｎ個の前記セグメントから任意のｎ−１個の前記セグメントを選ぶことにより構成されるｎ通りの組み合わせのうちのｎ−１通りの組み合わせ毎に当該組み合わせに含まれるｎ−１個の前記セグメントによる排他的論理和を含む第２の割符ファイルを格納している第２の記憶装置からｎ−１個の前記第２の割符ファイルを取得する第２取得ステップと、
ｎ−１個の前記第２の割符ファイルによる排他的論理和を計算することにより、新たな第２の割符ファイルを生成するステップと、
前記第１の割符ファイルと前記第２の割符ファイルの各々との排他的論理和を計算することにより、ｎ個の前記セグメントを復元するステップと、
をコンピュータに実行させるためのデータ復元プログラム。
【００９５】
（付記８）
任意のビット列が付加されている前記セグメントと当該セグメントにおける前記任意のビット列の位置とを特定するための付加ビット特定データが前記第１の記憶装置又は前記第２の記憶装置に格納されている場合、前記第１の記憶装置又は前記第２の記憶装置から前記付加ビット特定データを取得するステップと、
前記付加ビット特定データにより特定され且つ前記任意のビット列が付加されている各前記セグメントについて、当該セグメントから前記付加ビット特定データにより特定される前記任意のビット列を除去するステップと、
をさらにコンピュータに実行させるための付記７記載のデータ復元プログラム。
【００９６】
（付記９）
復元されたｎ個の前記セグメントを連結することにより前記処理対象ファイルを復元するステップ
をさらにコンピュータに実行させるための付記７又は８記載のデータ復元プログラム。
【００９７】
（付記１０）
前記第１の記憶装置が、取り外し可能な外部記憶装置であり、
前記第２の記憶装置が、前記コンピュータの内部記憶装置であり、
前記第１取得ステップが、
前記コンピュータに取り付けられた前記外部記憶装置を自動認識して、当該外部記憶装置から前記第１の割符ファイルを取得するステップ
を含む付記７乃至９のいずれか１つ記載のデータ復元プログラム。
【００９８】
（付記１１）
前記第１の記憶装置が、前記コンピュータとネットワークを介して接続されるサーバで管理される記憶装置であり、
前記第２の記憶装置が、前記コンピュータの内部記憶装置であり、
前記第１取得ステップが、
前記サーバから前記第１の割符ファイルを取得するステップ
を含む付記７乃至９記載のデータ復元プログラム。
【００９９】
（付記１２）
ｎは３以上の奇数であることを特徴とする付記７乃至１１のいずれか１つ記載のデータ復元プログラム。
【０１００】
（付記１３）
処理対象ファイルをｎ個のセグメントに分割する分割ステップと、
全ての前記セグメントによる排他的論理和を計算することにより第１の記憶装置に格納するための第１の割符ファイルを生成する第１割符ファイル生成ステップと、
ｎ個の前記セグメントから任意のｎ−１個の前記セグメントを選ぶことにより構成されるｎ通りの組み合わせのうち、ｎ−１通りの前記組み合わせの各々について、当該組み合わせに含まれるｎ−１個の前記セグメントによる排他的論理和を計算することにより第２の記憶装置に格納するための第２の割符ファイルを生成する第２割符ファイル生成ステップと、
を含み、コンピュータにより実行される割符ファイル生成方法。
【０１０１】
（付記１４）
処理対象ファイルを分割することにより得られるｎ個のセグメントによる排他的論理和を含む第１の割符ファイルを格納している第１の記憶装置から前記第１の割符ファイルを取得する第１取得ステップと、
ｎ個の前記セグメントから任意のｎ−１個の前記セグメントを選ぶことにより構成されるｎ通りの組み合わせのうちのｎ−１通りの組み合わせ毎に当該組み合わせに含まれるｎ−１個の前記セグメントによる排他的論理和を含む第２の割符ファイルを格納している第２の記憶装置からｎ−１個の前記第２の割符ファイルを取得する第２取得ステップと、
ｎ−１個の前記第２の割符ファイルによる排他的論理和を計算することにより、新たな第２の割符ファイルを生成するステップと、
前記第１の割符ファイルと前記第２の割符ファイルの各々との排他的論理和を計算することにより、ｎ個の前記セグメントを復元するステップと、
を含み、コンピュータにより実行されるデータ復元方法。
【符号の説明】
【０１０２】
１  ユーザ端末    ３  外部記憶装置
５  サーバ    ７  ネットワーク
１０１  入力部    １０３  表示部
１０５  ユーザデータ格納部    １０７  処理対象ファイル取得部
１０９  割符ファイル生成部    １１１  ワークメモリ
１１３  格納先決定部    １１５  記憶部
１１７  割符ファイル取得部    １１９  復元処理部
【図１】
0005397062.tif 000002
【図２】
0005397062.tif 000003
【図３】
0005397062.tif 000004
【図４】
0005397062.tif 000005
【図５】
0005397062.tif 000006
【図６】
0005397062.tif 000007
【図７】
0005397062.tif 000008
【図８】
0005397062.tif 000009
【図９】
0005397062.tif 000010
【図１０】
0005397062.tif 000011
【図１１】
0005397062.tif 000012
【図１２】
0005397062.tif 000013
【図１３】
0005397062.tif 000014
【図１４】
0005397062.tif 000015
【図１５】
0005397062.tif 000016
【図１６】
0005397062.tif 000017
【図１７】
0005397062.tif 000018
【図１８】
0005397062.tif 000019
【図１９】
0005397062.tif 000020
【図２０】
0005397062.tif 000021
【図２１】
0005397062.tif 000022
【図２２】
0005397062.tif 000023
【図２３】
0005397062.tif 000024
【図２４】
0005397062.tif 000025
【図２５】
0005397062.tif 000026