(57)【要約】【課題】データ管理におけるセキュリティを向上できるデータ処理方法を提供する。【解決手段】外部記憶装置と接続され、記憶装置を備えたデータ処理装置におけるデータ処理方法であって、第１のデータを記憶装置に記憶させる書き込み指示を受信するステップと、第１のデータを複数の分割データに分割するステップと、分割データの少なくとも一部を外部記憶装置に記憶させるステップと、第１のデータとは異なる第２のデータを記憶装置に記憶させるステップと、を備え、第２のデータは、第１のデータ及び複数の分割データに関連付けられている。【選択図】図３
2019220230.tif 000002
【特許請求の範囲】
【請求項１】
外部記憶装置と接続され、記憶装置を備えた処理装置におけるデータ処理方法であって、
第１のデータを前記記憶装置に記憶させる書き込み指示を受信するステップと、
前記第１のデータを複数の分割データに分割するステップと、
前記分割データの少なくとも一部を前記外部記憶装置に記憶させるステップと、
前記第１のデータとは異なる第２のデータを前記記憶装置に記憶させるステップと、を備え、
前記第２のデータは、前記第１のデータ及び前記複数の分割データに関連付けられているデータ処理方法。
【請求項２】
請求項１に記載のデータ処理方法であって、
前記第２のデータは、ＮＵＬＬデータもしくは乱数データである、データ処理方法。
【請求項３】
請求項１に記載のデータ処理方法であって、
前記第２のデータは、０または１が連続したデータであり、前記記憶装置には前記第２のデータを圧縮して記憶させる、データ処理方法。
【請求項４】
請求項１に記載のデータ処理方法であって、
前記第１のデータ及び前記第２のデータは、同じアプリケーションで処理可能なデータであり、前記複数の分割データは、前記アプリケーションでは処理不可能なデータである、データ処理方法。
【請求項５】
請求項１に記載のデータ処理方法であって、更に、
前記第１のデータ、前記第２のデータ、及び前記複数の分割データを関連付けるための生成データを生成するステップを備える、データ処理方法。
【請求項６】
請求項５に記載のデータ処理方法であって、更に、
前記生成データを、前記複数の分割データに結合するステップを備える、データ処理方法。
【請求項７】
請求項１に記載のデータ処理方法であって、
前記複数の分割データに分割するステップは、秘密分散方法を用いて前記分割データを生成し、前記第１のデータを前記記憶装置に記憶させないデータ処理方法。
【請求項８】
第１のデータから生成した分割データを記憶した外部記憶装置と接続され、前記第１のデータとは異なり、前記第１のデータと複数の分割データとに関連付けられた第２のデータを記憶した記憶装置を備えた処理装置におけるデータ処理方法であって、
前記第２のデータを読み込む指示を受信するステップと、
前記記憶装置から前記第２のデータを読み込むステップと、
前記第２のデータに基づいて前記分割データを用いて前記第１のデータを復元するステップと、
前記第１のデータを読み込み指示先に送信するステップと、を備えたデータ処理方法。
【請求項９】
請求項８に記載のデータ処理方法であって、
前記第２のデータを読み込むステップと前記第１のデータを復元するステップとを、同時に行うデータ処理方法。
【請求項１０】
データ処理サーバが接続可能なデータ処理装置であって、
第１のデータを分割し複数の分割データを生成し、前記分割データの少なくとも１つを前記データ処理サーバに記憶させる分割部と、
前記第１のデータとは異なる第２のデータを生成し、前記第１のデータを前記分割部に送り、前記第２のデータを前記第１のデータのかわりに出力する制御部と、
前記第２のデータを記憶する記憶部と、を備え、
前記第２のデータは、前記第１のデータ及び前記複数の分割データに関連付けられているデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理方法及びデータ処理装置に関する。
【背景技術】
【０００２】
従来、電子媒体に格納された各種情報、データの取り扱いが重要視されており、データを管理するためのセキュリティ技術が注目されている。セキュリティ技術には、例えば、データの暗号化技術、秘密分散技術、が含まれる。
【０００３】
従来の秘密分散技術を用いたデータ管理システムとして、以下のデータ管理システムが知られている（例えば、特許文献１参照）。特許文献１のデータ管理システムは、複数のユーザの端末を含むグループの情報処理システムを対象としてサービスを提供するサーバ装置を含むサービス事業者システムを有する。サーバ装置は、秘密分散管理部、チェック部、及び管理情報を有する。ユーザの端末は、秘密分散処理部を備える。
【０００４】
サーバ装置の秘密分散管理部は、グループのユーザの端末に対して、対象の文書ファイルを秘密分散技術により断片化する機能と、断片から文書ファイルを復元する機能と、を含む秘密分散処理サービスを提供する。チェック部は、秘密分散サービス処理における復元の際に、復元の可否をチェックして不適切な復元を防止する処理を行う。サーバ装置の管理情報は、ユーザにより設定可能な情報であり、グループ情報及び公開範囲情報を含む。グループ情報は、グループ単位毎に、ＩＤ、ドメイン情報又はＩＰアドレス情報を含む。公開範囲情報は、グループのユーザの端末での文書ファイルに対して、公開範囲の情報をグループ単位で関連付ける。
【０００５】
ユーザの端末の秘密分散処理部は、サーバ装置の秘密分散管理部にアクセスして、秘密分散サービス処理を受ける。
【０００６】
文書ファイルの断片を持つグループの情報処理システムは、断片から文書ファイルを復元する際、サーバ装置へアクセスして、要求の情報を送信する。この要求の情報は、アクセス元の情報と、断片又は文書ファイルの情報と、を含む。
【０００７】
サーバ装置のチェック部は、管理情報に基づき、要求の情報におけるアクセス元のグループのＩＤ、ドメイン、又はＩＰアドレスが、文書ファイルに関連付けられる公開範囲に含まれるか否かを判定する。サーバ装置の秘密分散処理部は、チェック部による判定の結果、公開範囲に含まれない場合、文書ファイルの復元処理を実行せず、公開範囲に含まれる場合、復元処理を実行する。復元処理が実行された場合、アクセス元のグループの情報処理システムは、復元した文書ファイルを取得する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１１−２４８７１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
従来のデータ管理システムでは、データ管理におけるセキュリティが不十分であった。
【００１０】
本発明は、上記事情に鑑みてなされたものであって、データ管理におけるセキュリティを向上できるデータ処理方法及びデータ処理装置を提供する。
【課題を解決するための手段】
【００１１】
本発明のデータ処理方法は、外部記憶装置と接続され、記憶装置を備えた処理装置におけるデータ処理方法であって、第１のデータを前記記憶装置に記憶させる書き込み指示を受信するステップと、前記第１のデータを複数の分割データに分割するステップと、前記分割データの少なくとも一部を前記外部記憶装置に記憶させるステップと、記第１のデータとは異なる第２のデータを前記記憶装置に記憶させるステップと、を備え、前記第２のデータは、前記第１のデータ及び前記複数の分割データに関連付けられている。
【００１２】
本発明のデータ処理装置は、データ処理サーバが接続可能なデータ処理装置であって、第１のデータを分割し複数の分割データを生成し、前記分割データの少なくとも１つを前記データ処理サーバに記憶させる分割部と、前記第１のデータとは異なる第２のデータを生成し、前記第１のデータを前記分割部に送り、前記第２のデータを前記第１のデータのかわりに出力する制御部と、前記第２のデータを記憶する記憶部と、を備え、前記第２のデータは、前記第１のデータ及び前記複数の分割データに関連付けられている。
【発明の効果】
【００１３】
本発明によれば、データ管理におけるセキュリティを向上できる。
【図面の簡単な説明】
【００１４】
【図１】第１の実施形態におけるデータ管理システムの構成例を示す模式図
【図２】第１の実施形態におけるデータ管理装置のハードウェア構成例を示すブロック図
【図３】第１の実施形態におけるデータ管理装置のソフトウェア構成例を示すブロック図
【図４】第１の実施形態におけるデータ管理装置における元データと空データとの流れの一例を示す模式図
【図５】第１の実施形態におけるデータ管理装置による分散処理時の動作例を示すシーケンス図
【図６】第１の実施形態におけるデータ管理装置による復号処理時の動作例を示すシーケンス図
【図７】（Ａ），（Ｂ）比較例におけるデータ管理システムの動作例を示す模式図
【図８】第２の実施形態におけるデータ管理システムの構成例を示す模式図
【図９】第２の実施形態におけるコンテンツ配信サーバの構成例を示すブロック図
【図１０】第２の実施形態におけるコンテンツ配信サーバとデータ管理装置との間のデータの流れの一例を示す模式図
【図１１】第２の実施形態におけるデータ管理装置の動作例を示すフローチャート
【図１２】第３の実施形態におけるデータ管理システムの構成例を示す模式図
【図１３】第３の実施形態におけるデータ管理装置の動作例を示すフローチャート
【図１４】第４の実施形態におけるデータ管理システムの構成例を示す模式図
【図１５】第４の実施形態における秘密分散モジュールの構成例を示すブロック図
【図１６】（Ａ），（Ｂ）第４の実施形態における分散ファイルのフォーマット構成例を示す模式図
【図１７】第４の実施形態におけるデータ管理装置の動作例を示すフローチャート
【発明を実施するための形態】
【００１５】
以下、本発明の実施形態について、図面を用いて説明する。以下に述べる実施の形態は「秘密分散（Secret Sharing）」の技術を利用する場合について説明するが、本発明の適用範囲は秘密分散に限定されない。「秘密分散」とは、元のデータを、それぞれの単独では類推することが困難な複数のデータに変換し、それら複数のデータを分割又は分散して保管する技術のことである。すなわち秘密分散は、データを複数に分割する技術の一つである。したがって本発明は、データを分割する技術全般への適用が可能である。
【００１６】
（第１の実施形態）
図１は、第１の実施形態におけるデータ管理システム１０００の構成例を示す模式図である。データ管理システム１０００は、データ管理装置１００（１００ａ，１００ｂ，１００ｃ，・・・）、データ管理サーバ２００（２００ａ，２００ｂ，２００ｃ，・・・）、を備える。データ管理装置１００及びデータ管理サーバ２００は、無線又は有線のネットワーク（例えばインターネット）３００を介して接続される。データ管理装置１００は、処理装置、データ処理装置の一例である。
【００１７】
データ管理装置１００は、記憶部及び記憶装置の一例として、データを磁気的に記憶する磁気記憶媒体（例えばＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ））を備える。データ管理装置１００は、例えば、秘密分散処理によりオリジナルデータ（元データ）に対して分散処理し、ネットワーク３００を介して分散データを各データ管理サーバ２００へ送信する。データ管理装置１００は、例えば、ネットワーク３００を介して分散データを取得し、秘密分散処理により複数の分散データから１つの元データを復号する。
【００１８】
データ管理装置１００は、例えば、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ），携帯型情報端末（例えばスマートフォン）を含む。
【００１９】
図１では、データ管理装置１００ａはユーザＡに利用され、データ管理装置１００ｂはユーザＢに利用され、データ管理装置１００ｃはユーザＣに利用される。但し、これ以外の利用形態でもよく、１つのデータ管理装置１００を複数のユーザが利用してもよい。
【００２０】
データ管理装置１００は、秘密分散アプリケーションの処理を実行する。ユーザは、暗号化処理を操作する場合と同様の手軽な感覚で、秘密分散アプリケーションの処理を操作でき、秘密分散サービスを利用できる。なお、アプリケーションを単に「アプリ」とも称する。
【００２１】
データ管理サーバ２００は、例えば、分散ファイルを保持する。図１では、分散ファイルが３つである場合を示しているが、３つ以外の数でもよい。データ管理サーバ２００では、例えば、ユーザ毎に記憶領域が予め決められており、ユーザ毎に分散データが保持される。各データ管理サーバ２００（２００ａ，２００ｂ，２００ｃ）は、例えば、各データセンタ（データセンタＡ，Ｂ，Ｃ）に設けられたサーバ装置である。
【００２２】
図２は、データ管理装置１００のハードウェア構成例を示すブロック図である。
【００２３】
データ管理装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）接続部１２、ＨＤＤ１３、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１４、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ
Ｍｅｍｏｒｙ）１５、及び操作部１６を備える。
【００２４】
ＣＰＵ１１は、例えば、ＲＡＭ１４又はＲＯＭ１５からプログラム及びデータを読み出し、プログラムを実行することで、各種処理（例えば各種制御、各種設定、各種判別）を実施する。このプログラムは、各種プログラム（例えば、ソフトウェア（ソフト）、アプリケーション（アプリ）、ＯＳ（（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）、例えば、Ｗｉｎｄｏｗｓ（登録商標））、ミドルウェア、のプログラム）を広く含む。ＣＰＵ１１は、動作モードとして、ユーザモードとカーネルモードとを含む。
【００２５】
ＬＡＮ接続部１２は、例えば、ＬＡＮケーブルが接続され、有線通信を可能にしてもよい。ＬＡＮ接続部１２は、例えば、無線ＬＡＮアダプタを含み、無線通信を可能にしてもよい。ＬＡＮ接続部１２は、各種データ、ファイルを通信する通信機能を有する。
【００２６】
ＨＤＤ１３は、様々なデータ、ファイルを記憶する。ＨＤＤ１３の全体又は一部には、例えば、Ｃドライブが割り当てられる。データ管理装置１００は、記憶部として、ＨＤＤ１３の代わりに、例えば、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）を備えてもよいし、外部Ｉ／Ｏを介してＵＳＢメモリが接続されてもよい。
【００２７】
ファイルは、データの集合体により構成される。ＨＤＤ１３に記憶されるデータには、例えば、空データが含まれる。空データは、ＮＵＬＬデータのみにより構成されたデータである。空ファイルは空データの集合体により構成される。
【００２８】
ＲＡＭ１４は、各種データを記憶し、例えば、メインメモリとして用いられる。ＲＯＭ１５は、各種データ（例えば、書き換え不要なデータ、電源投入時に読み込まれるプログラム）が記憶される。
【００２９】
操作部１６は、データ管理装置１００のユーザからの各種操作を受け付ける。操作部１６は、例えば、各種キー、ボタン、タッチパネルにより構成される。
【００３０】
図３は、データ管理装置１００のソフトウェア構成例を示すブロック図である。図３では、データ管理装置１００におけるソフトウェアのコンポーネントが、階層的に示されている。図３に図示しているが、二次記憶装置１５７、ストレージサーバ２０１、及びメモリ１７２は、ハードウェアである。ストレージサーバ２０１は、データ管理サーバ２００に含まれる。
【００３１】
データ管理装置１００は、アプリケーション処理部１１０（以下、アプリ処理部１１０）秘密分散モジュール１２０、及びＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）部１３０を含む。これらの部位は、アプリ領域に配され、ユーザモードにおいて動作する。
【００３２】
アプリ処理部１１０は、各種アプリの処理を実行する。アプリは、例えば、汎用アプリ、ユーティリティソフト、文書作成ソフト、表計算ソフト、プレゼンテーションソフト、データベースソフト、メールソフトを含む。アプリ処理部１１０により実行されるアプリを、秘密分散アプリ（秘密分散処理）に対して、第１アプリとも称する。
【００３３】
秘密分散モジュール１２０は、秘密分散処理を実行するためのソフトウェアの集合体を含み、秘密分散アプリに係る処理を行う。秘密分散モジュール１２０は、アクセス制御部１２１、外部Ｉ／Ｏ制御部１２２、秘密分散設定部１２３、及び秘密分散部１２４を含む。
【００３４】
アクセス制御部１２１は、データ管理装置１００における所定の領域へのアクセスの可否を判別する。アクセス制御部１２１は、フィルタドライバ１５２におけるアクセス制御部１５３と連携し、アクセス制御部１５３との間でデータを送受する。アクセス制御部１２１は、例えば、秘密分散設定部１２３に保持された設定情報を参照し、アクセス先が秘密分散対象の領域（例えばドライブ、フォルダ、又はファイル）であるか否かを判別し、判別結果をフィルタドライバ１５２に送る。
【００３５】
外部Ｉ／Ｏ制御部１２２は、外部記憶装置との間におけるデータ送受の可否を判別し、外部記憶装置に対するアクセス制御を行う。外部記憶装置は、例えば、ネットワーク３００を介して接続されたストレージサーバ２０１、ＵＳＢを介して接続された記憶装置、ＬＡＮを介して接続された記憶装置、ＳＤカード、を含む。
【００３６】
秘密分散設定部１２３は、例えば、秘密分散処理に関する設定情報を設定、保持する。この設定情報には、例えば、秘密分散処理の対象となる領域の情報、分散ファイルの数、分散ファイルの保存先、秘密分散処理の処理方式（秘密分散方式）、分散比率、空ファイルの保存先、空ファイルの圧縮の有無、の情報が含まれる。分散ファイルの保存先の情報（アドレス情報）と、空ファイルの保存先の情報（アドレス情報）とは、対応づけて保持される。設定情報は、元データ、空データ、及び分散データを関連付けるための生成データの一例である。
【００３７】
分散ファイルの保存先は、例えば、ストレージサーバ２０１などの外部記憶装置である。秘密分散方式は、例えば、しきい値秘密分散法（ｋ，ｎ閾値法）、ランプ型閾値秘密分散法、を含む。空ファイルは、例えば、空データ（例えば「０００・・・」（ＮＵＬＬ）のデータ）を含む。空ファイルの保存先は、例えば、二次記憶装置１５７である。
【００３８】
秘密分散部１２４は、分散処理部１２５及び復号処理部１２６の少なくとも一方を含む。秘密分散処理は、分散処理及び復号処理の少なくとも一方を含む。秘密分散処理は、メモリ１７２においてデータが展開され、実行される。
【００３９】
分散処理部１２５は、所定の秘密分散方式を用いて、元データから複数の分散データを生成する。分散処理部１２５は、分散処理する際、秘密分散設定部１２３により保持された設定情報を参照する。例えば、分散処理部１２５は、設定情報に含まれる分散ファイルの保存先の情報を読み込み、外部Ｉ／Ｏ制御部１２２を介して、分散ファイルの保存先（例えばストレージサーバ２０１）へ分散ファイル（又は分散ファイルに含まれる分散データ）を送信させる。分散処理部１２５は、例えば、ＡＰＩ部１３０を介して、二次記憶装置１５７へ分散ファイル（又は分散ファイルに含まれる分散データ）を送信させてもよい。
【００４０】
復号処理部１２６は、分散処理時に用いられた所定の秘密分散方式を用いて、複数の分散データから元データを生成する。復号処理部１２６は、復号処理する際、秘密分散設定部１２３により保持された設定情報を参照する。例えば、復号処理部１２６は、設定情報に含まれる分散ファイルの保存先の情報を読み込み、外部Ｉ／Ｏ制御部１２２を介して、分散ファイルの保存先（例えばストレージサーバ２０１）から分散ファイルを取得させる。
【００４１】
従って、秘密分散モジュール１２０は、元データを分散して複数の分散データを生成し、分散データの少なくとも１つをストレージサーバ２０１（データ管理サーバ２００の一例）に記憶させる分散部又は分割部としての機能を有する。
【００４２】
ＡＰＩ部１３０は、例えば、アプリの呼出手順、記述方法を定めた仕様を示すインタフェースを提供する。このインタフェースにより、例えば、各アプリの機能の一部を外部のソフトウェア（例えばＯＳ）が参照し易くなる。また、ＡＰＩ部１３０は、データをシステム領域のＩ／Ｏマネージャ１５１に送る。これにより、Ｉ／Ｏマネージャ１５１以下の層においてデータを使用できる。また、ＡＰＩ部１３０は、データを秘密分散モジュール１２０へ送る。ＡＰＩ部１３０は、例えば、Ｗｉｎ３２ＡＰＩを含む。
【００４３】
データ管理装置１００は、Ｉ／Ｏマネージャ１５１、フィルタドライバ１５２、ＦＳＤ（Ｆｉｌｅ  Ｓｙｓｔｅｍ  Ｄｒｉｖｅｒ）１５５、下位ドライバ１５６、二次記憶装置１５７、リダイレクタＦＳＤ１６１、プロトコルドライバ１６２、メモリマネージャ１７１、及びメモリ１７２を含む。これらの部位は、システム領域に配され、カーネルモードにおいて動作する。
【００４４】
Ｉ／Ｏマネージャ１５１は、ＡＰＩ部１３０と連携して、カーネルモードの領域とユーザモードの領域との間におけるデータの入出力を管理する。Ｉ／Ｏマネージャ１５１は、アプリ処理部１１０からのファイル操作に関する各種要求（例えば、オープン（Ｏｐｅｎ）要求、クローズ（Ｃｌｏｓｅ）要求、ライト（Ｗｒｉｔｅ）要求、リード（Ｒｅａｄ）要求）を下層（例えば、フィルタドライバ１５２、ＦＳＤ１５５）に送信し、それらの要求に対する処理の結果を受信する。この各種要求は、例えば、ＩＲＰ（Ｉ／Ｏ  Ｒｅｑｕｅｓｔ  Ｐａｃｋｅｔ）に含まれる（後述の図５及び図６も参照）。
【００４５】
フィルタドライバ１５２は、アクセス制御部１５３及びデータ制御部１５４を含む。フィルタドライバ１５２は、Ｉ／Ｏマネージャ１５１とＦＳＤ１５５との間に、ドライブ毎に、配されるドライバである。フィルタドライバ１５２は、秘密分散モジュール１２０と連携する。フィルタドライバ１５２は、元のデータ（第１のデータの一例）とは異なる第２のデータを生成し、第１のデータを秘密分散モジュール１２０（分散部又は分割部の一例）へ送り、第２のデータを第１のデータの代わりに出力する制御部の一例である。
【００４６】
アクセス制御部１５３は、秘密分散モジュール１２０のアクセス制御部１２１との間でデータを送受する。アクセス制御部１５３は、ファイルに関する各種要求に含まれるアクセス先（例えば、ファイルの保存先）を用いて、秘密分散モジュール１２０に対してアクセス先が秘密分散対象の領域であるか否かを問い合わせ、秘密分散モジュール１２０から問い合わせ結果を受信する。
【００４７】
なお、本実施形態では、ファイルが秘密分散対象であるか否かは、その都度、秘密分散モジュール１２０に問い合わせているが、事前にアクセス制御部１５３に秘密分散対象であるか否かを記憶しておき、その都度問い合わせしなくてもよい。
【００４８】
データ制御部１５４は、秘密分散モジュール１２０の秘密分散部１２４との間で元データを送受する。
【００４９】
データ制御部１５４は、アプリ処理部１１０から元ファイルの書き込み要求を受け、秘密分散対象の領域内の元データである場合、元データの代わりに空データを生成する。データ制御部１５４は、生成された空データを、例えばＦＳＤ１５５を介して二次記憶装置１５７に送り、元データ（平文データを含む）を、秘密分散モジュール１２０を介してメモリ１７２へ送る。この元データは、分散処理に用いられるデータである。
【００５０】
データ制御部１５４は、アプリ処理部１１０から空ファイルの読み出し要求を受け、秘密分散対象の領域内の元データである場合、空データを、例えばＦＳＤ１５５を介して二次記憶装置１５７から取得し、元データ（平文データを含む）を、秘密分散モジュール１２０を介してメモリ１７２から取得する。この元データは、復号処理により得られたデータである。データ制御部１５４は、空ファイルを、元データを含む元ファイルに差し替えて、アプリ処理部１１０へ送る。
【００５１】
なお、空データの代わりに、他の所定のデータを用いてもよい。この所定のデータは、分散処理前又は復号処理後のデータ（元データ）から類推できない（類推されない）データにより構成される。この場合、秘密分散設定部１２３が保持する設定情報は、元データから類推できない所定のデータ（例えば乱数）を含む所定のファイルを生成するための情報を含んでもよい。元データは、元ファイルに含まれる。
【００５２】
なお、秘密分散対象の領域外の元データについては、データ制御部１５４は、元データをそのままＦＳＤ１５５に送信する。
【００５３】
ＦＳＤ１５５は、ファイルシステム（例えば、ＦＡＴ（Ｆｉｌｅ  Ａｌｌｏｃａｔｉｏｎ  Ｔａｂｌｅ）、ＮＴＦＳ（ＮＴ  Ｆｉｌｅ  Ｓｙｓｔｅｍ））を管理する。
【００５４】
ＦＳＤ１５５は、二次記憶装置１５７において空データが圧縮される場合、圧縮情報を保持し、下位ドライバ１５６を介して圧縮された空データを二次記憶装置１５７へ送る。
【００５５】
下位ドライバ１５６は、ＦＳＤ１５５よりも下位のドライバであり、例えば、データ管理装置１００の内部にあるＨＤＤ１３の制御を行うハードディスクドライバである。なお、下位ドライバ１５６は、ＨＤＤ１３の代わりに、データ管理装置１００の外部にあるストレージサーバと、ネットワークを介して接続し制御してもよい。
【００５６】
二次記憶装置１５７は、データ管理装置１００に内蔵された記憶デバイスである。二次記憶装置１５７は、例えばＨＤＤ１３、ＳＳＤを含む。
【００５７】
フィルタドライバ１５２、ＦＳＤ１５５、下位ドライバ１５６、及び二次記憶装置１５７は、例えば論理ドライブ毎に配される。論理ドライブは、例えば、ＨＤＤ１３、ＳＤカード、ＵＳＢにおける各パーティションを含む。
【００５８】
リダイレクタＦＳＤ１６１は、データの入力元又は出力先を二次記憶装置１５７以外の外部記憶装置とし、外部記憶装置へアクセスするためのドライバである。
【００５９】
プロトコルドライバ１６２は、例えば、ネットワーク３００を介してデータ管理装置１００がストレージサーバ２０１と接続するためのプロトコル制御を行う。
【００６０】
メモリマネージャ１７１は、メモリ１７２の管理を行う。メモリマネージャ１７１は、例えば、メモリ１７２へのデータ（例えば、分散データ、元データ）の書き込み、メモリ１７２からのデータの読み出し（例えば、分散データ、元データ）を制御する。
【００６１】
メモリ１７２は、データ管理装置１００に内蔵された記憶デバイスである。メモリ１７２は、例えば、ＲＡＭ１４を含む。メモリ１７２は、データを一時的に記憶する一時記憶部であり、二次記憶装置１５７とは異なる。
【００６２】
ストレージサーバ２０１は、例えば、データ管理サーバ２００に含まれる。ストレージサーバ２０１には、例えば、ネットワーク３００を介して分散データが転送されて保持される。ストレージサーバ２０１に保持された分散データは、例えば、ネットワーク３００を介してメモリ１７２へ転送される。ストレージサーバ２０１は、蓄積部の一例である。
【００６３】
次に、データ管理サーバ２００の構成例について説明する。
【００６４】
データ管理サーバ２００は、特に図示はしないが、少なくとも、通信部及び蓄積部（例えばストレージサーバ２０１）を備える。通信部は、ネットワーク３００を介して、データ管理装置１００との間でデータ（例えば分散データ）を通信する。例えば、通信部は、データ管理装置１００から分散データの読み取り要求を受けると、分散データをデータ管理装置１００へ送信する。蓄積部は、データ（例えば分散データ）を蓄積する。
【００６５】
データ管理サーバ２００は、データ管理装置１００と同じ秘密分散機能を有してもよい。この場合、データ管理サーバ２００では、データ管理サーバ２００にあるＩ／Ｏマネージャの上層に、サーバＦＳＤが配置される。サーバＦＳＤは、受信部としての機能を有し、データ管理装置１００からのデータを受信する。データ管理サーバ２００が上記のように、データ管理装置１００と同じ機能を持つ場合、空ファイルをストレージサーバ２０１に保存してもよいし、データ管理サーバ２００で生成した空ファイルをデータ管理装置１００に送信してもよい。
【００６６】
次に、データ管理装置１００におけるデータの流れについて説明する。
【００６７】
図４は、データ管理装置１００におけるデータの流れの一例を示す模式図である。
【００６８】
第１アプリにより元ファイルに含まれる元データの書き込み要求（ライト要求）が発生した場合、フィルタドライバ１５２は、元データと元データの属性情報（例えば、元データのサイズ、元データの保存先など、元データの各種情報を含む）とを受け、元データと空データとを差替え、空データと元データの属性情報とをＦＳＤ１５５へ送る。ＦＳＤ１５５は、送られてきた空データと元データの属性情報とを関連付けて、元ファイルの代わりに、第１アプリがファイルとして扱える空ファイルを二次記憶装置１５７（例えばＨＤＤ１３）に保持させる。フィルタドライバ１５２は、空データに差替えられた元データと元データの属性情報を秘密分散モジュール１２０に送る。秘密分散モジュール１２０は、元データの属性情報を参照し、元データを分散処理して、複数の分散ファイルを生成する。分散ファイルの１つは、例えばＨＤＤ１３に保持されてもよいし、他の領域（例えばストレージサーバ２０１）に保持されてもよい。
【００６９】
第１アプリにより元データの読み出し要求（リード要求）が発生した場合、フィルタドライバ１５２は、ＦＳＤ１５５を介してＨＤＤ１３から空ファイルに含まれる空データと元データの属性情報を取得する。次に、フィルタドライバ１５２は、秘密分散モジュール１２０に元データの属性情報を送り、秘密分散モジュール１２０から元データを取得する。この元データは、秘密分散モジュール１２０が元データの属性情報を参照して取得して複数の分散ファイルから復号処理することで、得られる。フィルタドライバ１５２は、ＨＤＤ１３から取得した空データを、秘密分散モジュール１２０から取得した元データに差し替え、その元データと元データの属性情報を第１アプリに送る。最終的に第１アプリには、ＨＤＤ１３に保持された空ファイルに含まれる空データではなく、元データが渡される。
【００７０】
図４のように、フィルタドライバ１５２は、元データの属性情報（例えば、第１アプリが元データのファイル名に付加する拡張子（「．ｄｏｃ」など））を変えずに、元データから空データへの差し替え及び空データから元データへの差し替えを行う。第１アプリから見た場合、元データが含まれているか否かを意識することなくファイルは取り扱われる。第１アプリの書き込み要求（ライト要求）によってＨＤＤ１３に保存されたファイルには、元データが含まれない。元データは、複数の分散データ（又は分割データ）となって、データ管理装置１００以外の装置にそれぞれ保存される。しかしながら、第１アプリの読み出し要求（リード要求）によってＨＤＤ１３から読み出されるファイルには、常に元データが含まれる。元データは、データ管理装置１００以外の装置にそれぞれ保存された複数の分散データから復号される。ユーザは、元データが複数の分散データ（又は分割データ）となってデータ管理装置１００以外の装置にそれぞれ保存されていることを意識することなく、元データを利用することができる。ユーザには、元データが、常にデータ管理装置１００の中にあるかように見える。ユーザは、秘密分散を意識することなく、秘密分散を利用することができる。
【００７１】
なお、空ファイルは、０が並ぶ連続した値のため、空ファイルのデータは効率よく圧縮される。その結果、データ管理装置１００は、ＨＤＤ１３に保存される圧縮された空ファイルのデータ量を、元データよりも大幅に削減できる。
【００７２】
また、空ファイルでなくとも、例えば１が並ぶ連続した値でも、効率よく圧縮することができる。
【００７３】
次に、データ管理装置１００による分散処理時の動作例について説明する。なお、フィルタドライバ１５２と二次記憶装置１５７との間は、図４に示すようにＦＳＤ１５５を介して行うが、以降の説明では省略する。
【００７４】
図５はデータ管理装置１００による分散処理時の動作例を示すシーケンス図である。図５では、一例として、Ｉ／Ｏマネージャ１５１、フィルタドライバ１５２、秘密分散モジュール１２０、二次記憶装置１５７、及びストレージサーバ２０１における動作例を説明する。なお、秘密分散モジュール１２０は、常時起動しており、つまり秘密分散アプリが常駐していることを想定する。
【００７５】
図５では、アプリ処理部１１０が、所定のファイル（ユーザにとって保存対象のファイル）を、所定の保存場所（例えば二次記憶装置１５７）に保存（書き込み）するよう指示した場合を例示する。所定のファイルは、例えば、元データ「ＸＹＺ」を含む元ファイルである。
【００７６】
まず、Ｉ／Ｏマネージャ１５１は、ファイルオープン要求をフィルタドライバ１５２へ送る（Ｓ１０１）。ファイルオープン要求は、例えば、ＩＲＰに含まれる。ファイルオープン要求には、例えば、操作部１６を介してユーザに指示されたアドレス情報（例えば、空ファイルのアクセス先の情報）が含まれる。
【００７７】
フィルタドライバ１５２は、ファイルオープン要求を受けると、秘密分散開始通知を秘密分散モジュール１２０へ送る（Ｓ１０２）。秘密分散開始通知は、上記アドレス情報が秘密分散対象の領域か否かを問い合わせる通知であり、例えば、上記アドレス情報を秘密分散開始通知として秘密分散モジュール１２０へ送る。
【００７８】
秘密分散モジュール１２０は、秘密分散開始通知を受けると、秘密分散設定部１２３により設定された設定情報に含まれ、上記アドレス情報から分散ファイルの保存先（例えばストレージサーバ２０１）のアドレス情報を参照する。そして、上記アドレス情報が秘密分散対象である場合、秘密分散モジュール１２０は、分散ファイルを開くための分散ファイルオープン要求を各ストレージサーバ２０１へ送信する（Ｓ１０３）。ストレージサーバ２０１は、例えば、図１では３台存在する。
【００７９】
ストレージサーバ２０１へのアクセスに失敗した場合には、例えば、ストレージサーバ２０１へのアクセスが許可されていない場合、ネットワーク３００に不具合がある場合、が含まれる。この場合、秘密分散モジュール１２０には、エラー通知が返送される。
【００８０】
ストレージサーバ２０１へのアクセスが可能な場合には、ストレージサーバ２０１は、分散ファイルオープン要求を受信する。ストレージサーバ２０１は、分散ファイルオープン要求に応じて、分散ファイルを作成し、分散ファイルを開く。ストレージサーバ２０１は、分散ファイルオープン要求に対して分散ファイルを開いたか否か（アクセス可否）の情報を、結果通知に含めて秘密分散モジュール１２０へ送信する（Ｓ１０４）。
【００８１】
秘密分散モジュール１２０は、各ストレージサーバ２０１から結果通知を受信すると、分散ファイルへのアクセス可否の情報を、結果通知に含めてフィルタドライバ１５２へ送る（Ｓ１０５）。なお、ユーザから指示されたファイルが秘密分散対象ではない場合、結果通知にて秘密分散対象ではない旨を通知し、フィルタドライバ１５２は、秘密分散を行わない通常の処理を行う。
【００８２】
Ｓ１０３，Ｓ１０４の処理は、分散ファイル数分、反復される。
【００８３】
フィルタドライバ１５２は、ファイルオープン要求を受けると、ファイルオープン要求を含むＩＲＰを、元ファイルから置換される空ファイルを保存する保存先（例えば二次記憶装置１５７）へ転送する（Ｓ１０６）。この保存先は、例えばユーザから操作部１６を介して指定された保存先である。
【００８４】
二次記憶装置１５７は、ファイルオープン要求を受信すると、空ファイルを保存可能か否かの情報を判別する。空ファイルを保存可能か否かは、例えば、二次記憶装置１５７において、所定のポリシーが予め定められている。所定のポリシーは、例えば、保存可能なユーザ、保存可能な期間、が含まれる。空ファイルを保存可能な場合、空ファイルを作成し、空ファイルを開く。二次記憶装置１５７は、ファイルオープン要求に対して空ファイルを開いたか否かの情報を、結果通知に含めてフィルタドライバ１５２へ送る（Ｓ１０７）。この結果通知は、ＩＲＰに含まれる。
【００８５】
フィルタドライバ１５２は、二次記憶装置１５７に対して、データ管理装置１００におけるファイルシステムがＮＴＦＳの場合、ＮＴＦＳの一機能である圧縮属性の設定を行う（Ｓ１０８）。圧縮属性の有無の情報は、例えば、秘密分散設定部１２３が保持する設定情報に含まれる。これにより、二次記憶装置１５７の使用容量を軽減できる。Ｓ１０８は、省略されてもよい。
【００８６】
フィルタドライバ１５２は、秘密分散モジュール１２０及び二次記憶装置１５７からの結果通知を受けると、ファイルオープン可能か否かの結果通知をＩ／Ｏマネージャ１５１に送る（Ｓ１０９）。その結果通知は、ＩＲＰのステイタス部分に含まれている。
【００８７】
Ｉ／Ｏマネージャ１５１は、空ファイル及び分散ファイルを開いたと通知された場合、ファイルライト要求をフィルタドライバ１５２へ送信する（Ｓ１１０）。ファイルライト要求は、ＩＲＰに含まれる。ＩＲＰのデータ部分には、例えば、平文で、元ファイルに含まれる元データ「ＸＹＺ」が格納される。
【００８８】
フィルタドライバ１５２は、ファイルライト要求を受けると、ＩＲＰに含まれる元データ（例えば「ＸＹＺ」）の代わりに空データ（例えば「０００」、ＮＵＬＬデータ）を生成する。フィルタドライバ１５２は、生成された空データをＩＲＰのデータ部分に差し替えて格納し、ＩＲＰを二次記憶装置１５７へ送る（Ｓ１１１）。フィルタドライバ１５２は、順次生成された空データを二次記憶装置１５７に順次送る。
【００８９】
二次記憶装置１５７は、フィルタドライバ１５２からの空データを順次受け取り、空ファイルに書き込む。二次記憶装置１５７は、二次記憶装置１５７への空ファイルの書き込みが正常に終了したか否かを示す結果通知を、フィルタドライバ１５２へ送る（Ｓ１１２）。この結果通知は、ＩＲＰに含まれて送られる。Ｓ１０８において圧縮属性が有効に設定されている場合、ＦＳＤ１５５が空データを圧縮し、例えば、「０」の情報と「０」の個数の情報とを、二次記憶装置１５７の空ファイルに書き込む。
【００９０】
フィルタドライバ１５２は、Ｉ／Ｏマネージャ１５１からファイルライト要求を含むＩＲＰを受け、ＩＲＰのデータ部分に含まれる元データを、秘密分散モジュール１２０に転送する（Ｓ１１３）。
【００９１】
秘密分散モジュール１２０は、フィルタドライバ１５２から元データを受けると、元データ（例えば「ＸＹＺ」）と設定情報とに基づいて分散処理し、複数の分散データ（例えば「ｘｙｚ１」、「ｘｙｚ２」、「ｘｙｚ３」）を生成する。この場合、秘密分散モジュール１２０は、秘密分散設定部１２３により設定された設定情報に含まれる分散ファイルの保存先の情報を参照する。秘密分散モジュール１２０は、分散ファイルを書き込むための分散ファイルライト要求を、分散ファイルの保存先としての各ストレージサーバ２０１へ送信する（Ｓ１１４）。各ストレージサーバ２０１への分散ファイルライト要求には、各分散データが含まれる。
【００９２】
各ストレージサーバ２０１は、分散ファイルライト要求を受信すると、秘密分散モジュール１２０からの分散データを順次受け取り、分散ファイルに書き込む。各ストレージサーバ２０１は、各ストレージサーバ２０１への分散データの書き込みが正常に終了したか否かを示す結果通知を、秘密分散モジュール１２０へ送信する（Ｓ１１５）。
【００９３】
例えば、元データが「ＸＹＺ」である場合、第１のストレージサーバ２０１には分散データ「ｘｙｚ１」が記憶され、第２のストレージサーバ２０１には分散データ「ｘｙｚ２」が記憶され、第３のストレージサーバ２０１には分散データ「ｘｙｚ３」が記憶される。
【００９４】
秘密分散モジュール１２０は、各ストレージサーバ２０１から結果を受信すると、分散ファイルの書き込みが正常に終了したか否かの情報を結果通知に含めて、フィルタドライバ１５２へ送る（Ｓ１１６）。
【００９５】
Ｓ１１４，Ｓ１１５の処理は、分散ファイル数分、反復される（本実施形態では３回）。Ｓ１１１，Ｓ１１２の処理とＳ１１３〜Ｓ１１６の処理とは、順序が逆でもよい。つまり、Ｓ１１１，Ｓ１１２の処理が、Ｓ１１３〜Ｓ１１６の処理の後でもよい。
【００９６】
フィルタドライバ１５２は、秘密分散モジュール１２０及び二次記憶装置１５７からの結果通知を受けると、分散ファイルの書き込み結果の情報を結果通知に含めて、Ｉ／Ｏマネージャ１５１に送る（Ｓ１１７）。この結果通知は、例えば、ＩＲＰのステイタス部分に含まれる。
【００９７】
Ｓ１１０〜Ｓ１１７のライト処理は、１回又は複数回実施される。例えば、先に例示したように、元データのデータ長が短い場合には、１回のライト処理で完了してもよい。元データのデータ長が長い場合には、フィルタドライバ１５２が元データを分割して分散処理を実施するので、複数回のライト処理が行われてもよい。
【００９８】
Ｉ／Ｏマネージャ１５１は、Ｓ１１０〜Ｓ１１７のライト処理が終了すると、ファイルクローズ要求をフィルタドライバ１５２へ送信する（Ｓ１１８）。ファイルクローズ要求は、ＩＲＰに含まれる。
【００９９】
フィルタドライバ１５２は、ファイルクローズ要求を受けると、ファイルクローズ要求を二次記憶装置１５７へ転送する（Ｓ１１９）。二次記憶装置１５７は、元ファイルと差し替えられた空ファイルの保存先である。ファイルクローズ要求は、ＩＲＰに含まれる。
【０１００】
二次記憶装置１５７は、ファイルクローズ要求を受けると、空ファイルを閉じる。二次記憶装置１５７は、ファイルクローズ要求に対して空ファイルを閉じたか否かの情報を、結果通知に含めてフィルタドライバ１５２へ送る（Ｓ１２０）。この結果通知は、ＩＲＰに含まれる。
【０１０１】
フィルタドライバ１５２は、ファイルクローズ要求を受けると、分散処理を終了するための秘密分散終了通知を秘密分散モジュール１２０へ送る（Ｓ１２１）。秘密分散終了通知には、元ファイルを保存する保存先のアドレス情報が含まれてもよい。
【０１０２】
秘密分散モジュール１２０は、秘密分散終了通知を受けると、分散ファイルを閉じるための分散ファイルクローズ要求を、各ストレージサーバ２０１へ送信する（Ｓ１２２）。
【０１０３】
ストレージサーバ２０１は、分散ファイルクローズ要求を受信すると、分散ファイルを閉じる。ストレージサーバ２０１は、分散ファイルクローズ要求に対して分散ファイルを閉じたか否かの情報を、結果通知に含めて秘密分散モジュール１２０へ送信する（Ｓ１２３）。
【０１０４】
秘密分散モジュール１２０は、各ストレージサーバ２０１から結果通知を受信すると、分散ファイルを閉じたか否かの情報を、結果通知に含めてフィルタドライバ１５２へ送る（Ｓ１２４）。
【０１０５】
Ｓ１２１〜Ｓ１２４の処理は、分散ファイル数分、反復される。
【０１０６】
フィルタドライバ１５２は、秘密分散モジュール１２０及び二次記憶装置１５７からの結果通知を受けると、空ファイル及び分散ファイルを閉じたか否かの情報を、結果通知に含めてＩ／Ｏマネージャ１５１に送る（Ｓ１２５）。結果通知は、例えば、ＩＲＰのステイタス部分に含まれる。
【０１０７】
図５に示した分散処理時の動作例によれば、ユーザによる通常のデータ保存時の操作と同様の操作を受け付けることで、元ファイルから分散処理された分散データを、所定の場所へ保存できる。ユーザは、特に分散データの位置を意識していない。ユーザからは、空ファイルではなく元ファイルが管理されているように見える。空ファイルは、例えばユーザにとっての元ファイルの保存指定先に保管され、秘密分散設定部１２３に設定・保持される設定情報によって、分散ファイルと対応付けられている。
【０１０８】
次に、データ管理装置１００による復号処理時の動作例について説明する。
【０１０９】
図６はデータ管理装置１００による復号処理時の動作例を示すシーケンス図である。図６では、一例として、Ｉ／Ｏマネージャ１５１、フィルタドライバ１５２、秘密分散モジュール１２０、二次記憶装置１５７、及びストレージサーバ２０１における動作例を説明する。なお、秘密分散モジュール１２０は、常時起動しており、つまり秘密分散アプリが常駐していることを想定する。
【０１１０】
図６では、アプリ処理部１１０が、所定のファイル（ユーザにとって読み出し対象のファイル）を、所定の保存場所（例えば二次記憶装置１５７）から読み出すよう指示した場合を例示する。この場合には、例えば、ユーザが、操作部１６を介して、二次記憶装置１５７に記憶された空ファイルを選択した場合が含まれる。所定のファイルは、例えば、元データ「ＸＹＺ」を含む元ファイルである。
【０１１１】
まず、Ｉ／Ｏマネージャ１５１は、アプリ処理部１１０から読み出し指示を受けると、ファイルオープン要求をフィルタドライバ１５２へ送る（Ｓ２０１）。ファイルオープン要求は、例えば、ＩＲＰに含まれる。ファイルオープン要求には、例えば、操作部１６を介してユーザに指示されたアドレス情報（例えば、空ファイルのアクセス先の情報）が含まれてもよい。
【０１１２】
フィルタドライバ１５２は、ファイルオープン要求を受けると、復号処理を開始するための秘密分散開始通知を秘密分散モジュール１２０へ送る（Ｓ２０２）。秘密分散開始通知には、上記アドレス情報が含まれている。
【０１１３】
秘密分散モジュール１２０は、秘密分散開始通知を受けると、秘密分散設定部１２３により設定された設定情報に含まれ、上記アドレス情報（空ファイルのアドレス情報）から分散ファイルの保存先（例えばストレージサーバ２０１）のアドレス情報を参照する。そして、秘密分散モジュール１２０は、分散ファイルを開くための分散ファイルオープン要求を各ストレージサーバ２０１へ送信する（Ｓ２０３）。
【０１１４】
ストレージサーバ２０１へのアクセスに失敗した場合には、秘密分散モジュール１２０には、エラー通知が返送され、フィルタドライバ１５２及びＩ／Ｏマネージャ１５１を介して、ユーザにエラーが通知される。
【０１１５】
ストレージサーバ２０１へのアクセスが可能な場合には、ストレージサーバ２０１は、分散ファイルオープン要求を受信する。ストレージサーバ２０１は、ファイル分散ファイルオープン要求に応じて、読み出し対象の分散ファイルを開く。ストレージサーバ２０１は、分散ファイルオープン要求に対して分散ファイルを開いたか否か（アクセス可否）の情報を、結果通知に含めて秘密分散モジュール１２０へ送信する（Ｓ２０４）。
【０１１６】
秘密分散モジュール１２０は、各ストレージサーバ２０１から結果通知を受信すると、分散ファイルへのアクセス可否の情報を、結果通知に含めてフィルタドライバ１５２へ送る（Ｓ２０５）。なお、ユーザから指示されたファイルが、秘密分散対象ではない場合、結果通知にて秘密分散対象ではない旨を通知し、フィルタドライバ１５２は、秘密分散を行わない通常の処理を行う。
【０１１７】
Ｓ２０３，Ｓ２０４の処理は、分散ファイル数分、反復される。
【０１１８】
フィルタドライバ１５２は、ファイルオープン要求を受けると、ファイルオープン要求を含むＩＲＰを、読み出し対象のファイルから置換された空ファイルが保存された保存先（例えば二次記憶装置１５７）へ転送する（Ｓ２０６）。この保存先は、例えばユーザから操作部１６を介して指定された保存先である。
【０１１９】
二次記憶装置１５７は、ファイルオープン要求を受信すると、空ファイルを読み出し可能か否かの情報を判別する。空ファイルを読み出し可能か否かは、例えば、二次記憶装置１５７において、所定のポリシーが予め定められている。所定のポリシーは、例えば、読み出し可能なユーザ、読み出し可能な期間、が含まれる。空ファイルを読み出し可能な場合、空ファイルを開く。二次記憶装置１５７は、ファイルオープン要求に対して空ファイルを開いたか否かの情報を、結果通知に含めてフィルタドライバ１５２へ送る（Ｓ２０７）。この結果通知は、ＩＲＰに含まれる。
【０１２０】
フィルタドライバ１５２は、秘密分散モジュール１２０及び二次記憶装置１５７からの結果通知を受けると、空ファイル及び分散ファイルを開いたか否かの情報を、結果通知に含めてＩ／Ｏマネージャ１５１に送る（Ｓ２０８）。結果通知は、例えば、ＩＲＰのステイタス部分に含まれる。
【０１２１】
Ｉ／Ｏマネージャ１５１は、空ファイル及び分散ファイルを開いたと通知された場合、読み出し対象のファイルを読み出すためのファイルリード要求を、フィルタドライバ１５２へ送信する（Ｓ２０９）。ファイルリード要求は、例えばＩＲＰに含まれる。
【０１２２】
フィルタドライバ１５２は、ファイルリード要求を受けると、ファイルリード要求を二次記憶装置１５７へ転送する（Ｓ２１０）。ファイルリード要求は、例えばＩＲＰに含まれる。
【０１２３】
二次記憶装置１５７は、ファイルリード要求に対して、空ファイルの一部、つまり、空データ（例えば「０００」、ＮＵＬＬデータ）を読み出し、空データをフィルタドライバ１５２へ送る（Ｓ２１１）。空データは、ＩＲＰのデータ部分に格納され、結果通知として送られる。
【０１２４】
フィルタドライバ１５２は、ファイルリード要求を受けると、秘密分散モジュール１２０に対して、データ転送要求を送る（Ｓ２１２）。データ転送要求は、空ファイルの保存先の情報を含んでもよい。
【０１２５】
秘密分散モジュール１２０は、データ転送要求を受けると、空ファイルに対応する分散ファイルを読み出すための分散ファイルリード要求を、分散ファイルの保存先としての各ストレージサーバ２０１へ送信する（Ｓ２１３）。
【０１２６】
各ストレージサーバ２０１は、秘密分散モジュール１２０からの分散ファイルリード要求を受信すると、分散ファイルに格納された分散データを順次読み出す。各ストレージサーバ２０１は、読み出された分散データを結果通知に含めて、秘密分散モジュール１２０へ送信する（Ｓ２１４）。
【０１２７】
例えば、第１のストレージサーバ２０１から分散データ「ｘｙｚ１」が読み出され、第２のストレージサーバ２０１から分散データ「ｘｙｚ２」が読み出され、第３のストレージサーバ２０１から分散データ「ｘｙｚ３」が読み出される。
【０１２８】
秘密分散モジュール１２０は、各ストレージサーバ２０１から各分散データを受信すると、各分散データ（例えば、「ｘｙｚ１」、「ｘｙｚ２」、「ｘｙｚ３」）と設定情報とに基づいて復号処理し、１つの復号データとしての元データ（例えば「ＸＹＺ」）をメモリ１７２上に生成する。秘密分散モジュール１２０は、生成された元データ「ＸＹＺ」の平文を含む結果通知を、フィルタドライバ１５２へ送る（Ｓ２１５）。
【０１２９】
Ｓ２１２，Ｓ２１３の処理は、分散ファイル数分、反復される。Ｓ２１０，Ｓ２１１の処理とＳ２１２〜Ｓ２１５の処理とは、順序が逆でもよい。つまり、Ｓ２１０，Ｓ２１１の処理が、Ｓ２１２〜Ｓ２１５の処理の後でもよい。
【０１３０】
フィルタドライバ１５２は、二次記憶装置１５７から空データを含む結果通知を受け、秘密分散モジュール１２０から元データを含む結果通知を受ける。フィルタドライバ１５２は、空データを元データに差し替える。
【０１３１】
フィルタドライバ１５２は、元データの平文（例えば「ＸＹＺ」）を、ＩＲＰのデータ部分に格納し、元データの読み出し結果の情報を、ＩＲＰのステイタス部分に格納する。フィルタドライバ１５２は、ＩＲＰを結果通知としてＩ／Ｏマネージャ１５１へ送る（Ｓ２１６）。
【０１３２】
Ｓ２０９〜Ｓ２１６のリード処理は、１回又は複数回実施される。例えば、復号後の元データのデータ長が短い場合には、１回のリード処理で完了してもよい。復号後の元データのデータ長が長い場合には、フィルタドライバ１５２が元データの復号処理を複数回実施するので、複数回のリード処理が行われてもよい。
【０１３３】
Ｉ／Ｏマネージャ１５１は、Ｓ２０９〜Ｓ２１６のリード処理が終了すると、ファイルクローズ要求をフィルタドライバ１５２へ送信する（Ｓ２１７）。ファイルクローズ要求は、ＩＲＰに含まれる。
【０１３４】
フィルタドライバ１５２は、ファイルクローズ要求を受けると、ファイルクローズ要求を、二次記憶装置１５７へ転送する（Ｓ２１８）。二次記憶装置１５７は、読み出し対象のファイルと差し替えられた空ファイルの保存先である。ファイルクローズ要求は、ＩＲＰに含まれる。
【０１３５】
二次記憶装置１５７は、ファイルクローズ要求を受けると、空ファイルを閉じる。二次記憶装置１５７は、ファイルクローズ要求に対して空ファイルを閉じたか否かの情報を、結果通知に含めてフィルタドライバ１５２へ送る（Ｓ２１９）。この結果通知は、ＩＲＰに含まれる。
【０１３６】
フィルタドライバ１５２は、ファイルクローズ要求を受けると、分散処理を終了するための秘密分散終了通知を秘密分散モジュール１２０へ送る（Ｓ２２０）。秘密分散終了通知には、Ｓ２０２と同様に、空ファイルを保存する保存先のアドレス情報が含まれてもよい。
【０１３７】
秘密分散モジュール１２０は、秘密分散終了通知を受けると、分散ファイルを閉じるための分散ファイルクローズ要求を、各ストレージサーバ２０１へ送信する（Ｓ２２１）。
【０１３８】
ストレージサーバ２０１は、分散ファイルクローズ要求を受信すると、分散ファイルを閉じる。ストレージサーバ２０１は、分散ファイルクローズ要求に対して分散ファイルを閉じたか否かの情報を、結果通知に含めて秘密分散モジュール１２０へ送信する（Ｓ２２２）。
【０１３９】
秘密分散モジュール１２０は、各ストレージサーバ２０１から結果通知を受信すると、分散ファイルを閉じたか否かの情報を、結果通知に含めてフィルタドライバ１５２へ送る（Ｓ２２３）。
【０１４０】
Ｓ２２１，Ｓ２２２の処理は、分散ファイル数分、反復される。
【０１４１】
フィルタドライバ１５２は、秘密分散モジュール１２０及び二次記憶装置１５７からの結果通知を受けると、空ファイル及び分散ファイルを閉じたか否かの情報を、結果通知に含めてＩ／Ｏマネージャ１５１に送る（Ｓ２２４）。結果通知は、例えば、ＩＲＰのステイタス部分に含まれる。
【０１４２】
図６に示した復号処理時の動作例によれば、ユーザによる簡単な操作（例えば空ファイルの選択操作）を受け付けることで、分散ファイルが復号処理された元ファイルを、読み出し対象として取得できる。この場合、第１アプリは、特に分散ファイルの位置を意識せずに、空ファイルを取得しようとする。実際には、空ファイルから差し替えられる元ファイルを読み出し対象としており、空ファイルが分散ファイルと対応付けられている。従って、安全性高く分散して保存された分散データから元データが復号され、第１アプリが元データを取得できる。
【０１４３】
次に、本実施形態のデータ管理システム１０００と比較例のデータ管理システムとを比較する。図７（Ａ）は、比較例のデータ管理システム１０００Ｘを示す模式図である。図７（Ｂ）は、比較例のデータ管理システム１０００Ｙを示す模式図である。
【０１４４】
図７（Ａ）では、データ管理装置１００Ｘが、データ管理サーバ２００Ｘ１，２００Ｘ２から分散ファイルをダウンロードし、秘密分散アプリを用いて分散ファイルから元ファイルを復号し、元ファイルをＨＤＤ１３Ｘに書き込む。
【０１４５】
この場合、ＨＤＤ１３Ｘに元ファイルが書き込まれているが、例えばＨＤＤ１３Ｘは静的（磁気的）にデータを記録する媒体であるので、一度ＨＤＤ１３Ｘに書き込まれた元データを完全に消去することは困難である。ＨＤＤ１３Ｘにおいて削除された元データは、復元される可能性もある。従って、仮に一時的であったとしても、ＨＤＤ１３Ｘに元データが書き込まれると、既存のアプリにより元ファイルが開かれる可能性がある。よって、情報が漏洩し、セキュリティが確保できない可能性がある。
【０１４６】
元データをＨＤＤ１３に記憶しない一例として、図７（Ｂ）では、データ管理装置１００Ｙが、データ管理サーバ２００Ｙ１，２００Ｙ２から分散ファイルをダウンロードし、秘密分散アプリを用いて分散ファイルから元ファイルを復号し、元ファイルをメモリ１７２Ｙに書き込む。
【０１４７】
この場合、メモリ１７２Ｙに元ファイルが書き込まれているが、通常のアプリは、ＡＰＩ部１３０を介して、特定方向の領域（例えば、図３におけるＩ／Ｏマネージャ、ＦＳＤ、下位ドライバ、二次記憶装置（例えばＨＤＤ）に対応する領域）以外に対してアクセスできない。つまり、通常のアプリは、メモリ１７２Ｙへ直接アクセスできない。そのため、メモリ１７２Ｙに書き込まれた元ファイルを開くためには、メモリ１７２Ｙに直接アクセスできるような専用のアプリを用意する必要があり、使用可能なアプリが制限される。
【０１４８】
これに対し、データ管理システム１０００によれば、元ファイルの代わりに、空ファイルを例えば二次記憶装置１５７（例えばＨＤＤ１３）に記憶するので、元ファイルが二次記憶装置１５７に記憶されることによる情報漏洩のリスクを軽減でき、通常のアプリがメモリ１７２に直接アクセスする必要がないので、通常のアプリをそのまま利用することができる。
【０１４９】
また、本実施形態においても、メモリ１７２には秘密分散処理時に元ファイルに含まれる元データが書き込まれるが、メモリ１７２は例えば静的（電気的）にデータを記憶し、二次記憶装置１５７と比較すると安全性が確保されている。つまり、メモリ１７２から元ファイルが削除されると、元ファイルに含まれる元データを復元することが極めて困難である。
【０１５０】
また、二次記憶装置１５７に元ファイルを保持する代わりに、元ファイルと関連性のない所定のファイル（例えば空ファイル）を二次記憶装置１５７に保持する。この空ファイルは、秘密分散設定部１２３で設定・保管される設定情報により、元ファイルから分散処理された分散ファイルと紐付けされる。
【０１５１】
なお、分散ファイルの１つを空ファイルの代わりとして利用するという方法も考えられるが、この場合、分散ファイルには、第１アプリと秘密分散アプリが両方アクセスすることになる。しかしながら、一般的なシステムでは、１つのファイルに対して、２つのアプリが同時にアクセスすることができない。そのため、本実施形態のように、第１アプリがアクセスする空ファイルと、秘密分散アプリがアクセスする分散ファイルと、をわけることで、一般的なシステムでも通常通り利用することができるようになる。
【０１５２】
従って、専用のアプリを用いてメモリ１７２上の元ファイルを参照することなく、二次記憶装置１５７に記憶された空ファイルへのアクセスを基に、複数の分散ファイルを取得し、複数の分散ファイルから元ファイルを取得できる。
【０１５３】
このように、空ファイルを一般的なファイルと同様に二次記憶装置１５７に記憶させることができるので、暗号化ファイルを二次記憶装置１５７に記憶させた場合と同様の手軽さで、秘密分散サービスを利用できる。また、二次記憶装置１５７（例えばＨＤＤ１３）に元ファイルを書き込まないので、元ファイルが復元される可能性を低減でき、セキュリティを向上できる。
【０１５４】
なお、空ファイルは、ストレージサーバ２０１に保持されてもよい。この場合、ストレージサーバ２０１では、空ファイルは、サーバＦＳＤにより受信され、ストレージサーバ２０１の二次記憶装置に保持される。
【０１５５】
（第２の実施形態）
図８は、第２の実施形態におけるデータ管理システム１０００Ａの構成例を示す模式図である。データ管理システム１０００Ａは、データ管理装置１００Ａ、データ管理サーバ２００、及びコンテンツ配信サーバ４００Ａを備える。データ管理装置１００Ａ、データ管理サーバ２００、及びコンテンツ配信サーバ４００Ａは、無線又は有線のネットワーク（例えばインターネット）３００を介して接続される。データ管理サーバ２００は、省略されてもよい。コンテンツ配信サーバ４００Ａは、データ管理サーバ２００の１つでもよい。
【０１５６】
図８のデータ管理システム１０００Ａにおいて、図１に示したデータ管理システム１０００と同様の構成については、同一の符号を付し、説明を省略又は簡略化する。
【０１５７】
データ管理装置１００Ａの構成は、図３に示したデータ管理装置１００と同様の構成を有する。
【０１５８】
データ管理装置１００Ａにおいて、外部Ｉ／Ｏ制御部１２２は、コンテンツ配信サーバ４００Ａにより生成されたサーバ設定情報を含む設定ファイル（バッチファイル）と、分散ファイルの一部と、をコンテンツ配信サーバ４００Ａから受信させる。
【０１５９】
コンテンツ配信サーバ４００Ａから受信した設定ファイルがデータ管理装置１００Ａ上で実行されると、データ管理装置１００Ａは、コンテンツ配信サーバ４００Ａから受信した設定ファイルに含まれるサーバ設定情報に基づいて、秘密分散処理に関する設定情報を秘密分散設定部１２３に設定し、コンテンツ配信サーバ４００Ａから受信した分散ファイルの一部を、所定の保存場所（例えば、ストレージサーバ２０１、二次記憶装置１５７）に保存する。
【０１６０】
コンテンツ配信サーバ４００Ａは、ネットワーク３００を介してコンテンツを配信する。コンテンツは、例えば、画像データ（例えば動画、静止画含む）、映像データ、音楽データ、音声データ、文書データ、を広く含む。コンテンツ配信サーバ４００Ａは、ハードウェア構成として、例えば、データ管理装置１００Ａと同様に、ＣＰＵ、ＬＡＮ接続部、ＨＤＤ、ＲＡＭ、及びＲＯＭを備える。
【０１６１】
図９は、コンテンツ配信サーバ４００Ａの構成例を示すブロック図である。コンテンツ配信サーバ４００Ａは、秘密分散モジュール４１０、通信部４２０、及び記憶部４３０を備える。コンテンツ配信サーバ４００Ａは、詳細には図示しないが、データ管理装置１００と同様のソフトウェア構成を有してもよい。
【０１６２】
秘密分散モジュール４１０は、アクセス制御部４１１、外部Ｉ／Ｏ制御部４１２、秘密分散設定部４１３、及び秘密分散部４１４を含む。秘密分散モジュール４１０は、コンテンツを構成する元データに関して秘密分散処理を行う。秘密分散部４１４は、分散処理部４１５及び復号処理部４１６を含む。
【０１６３】
アクセス制御部４１１は、データ管理装置１００のアクセス制御部１２１と同様の構成及び機能を有する。外部Ｉ／Ｏ制御部４１２は、データ管理装置１００の外部Ｉ／Ｏ制御部１２２と同様の構成及び機能を有する。秘密分散設定部４１３は、データ管理装置１００の秘密分散設定部１２３と同様の構成及び機能を有する。秘密分散部４１４は、データ管理装置１００の秘密分散部１２４と同様の構成及び機能を有する。分散処理部４１５は、データ管理装置１００の分散処理部１２５と同様の構成及び機能を有する。復号処理部４１６は、データ管理装置１００の復号処理部１２６と同様の構成及び機能を有する。
【０１６４】
通信部４２０は、ネットワーク３００を介して、データ管理装置１００との間で、各種データ（例えば、分散データ）を通信する。記憶部４３０は、各種データ、ファイル（例えば、分散データ、空データ、分散ファイル、設定ファイル）を記憶する。記憶部４３０は、データ管理装置１００の二次記憶装置１５７と同様の構成を有する。
【０１６５】
次に、データ管理システム１０００Ａにおけるデータの流れ及び動作の一例について説明する。
【０１６６】
図１０は、データ管理システム１０００Ａにおけるコンテンツ配信サーバ４００Ａとデータ管理装置１００Ａとの間のデータの流れの一例を示す模式図である。
【０１６７】
データ管理システム１０００Ａの動作は、例えば、コンテンツの準備シーンと利用シーンとに分類される。準備シーンでは、コンテンツ配信サーバ４００Ａにより、コンテンツに係る元データに対して分散処理が実行され、分散データを含む配信データがデータ管理装置１００へ送信される。準備シーンでは、データ管理装置１００Ａにより、配信データが受信され、空ファイルとコンテンツに係る分散ファイルとが所定の保存場所において保持され、秘密分散処理の実行に必要な所定の情報（設定情報）が設定される。利用シーンでは、データ管理装置１００Ａにより、コンテンツに係る分散ファイルに対して復号処理が実行され、元ファイルとしてのコンテンツファイルが得られる。
【０１６８】
図１０のコンテンツ配信サーバ４００Ａでは、分散処理部４１５は、コンテンツファイルとしての元ファイルに対して分散処理し、２つの分散ファイルを生成する。秘密分散の分散比率は、例えば、分散ファイル１：分散ファイル２＝９：１である。なお、他の分散比率でもよく、分散ファイルが３つ以上でもよく、分散ファイルの一部が、データ管理サーバ２００のストレージサーバ２０１に保持されてもよい。
【０１６９】
コンテンツ配信サーバ４００Ａでは、分散処理部４１５が分散処理する場合、図示しないフィルタドライバ１５２により空ファイルを生成しても生成しなくてもよいが、秘密分散設定部４１３が、空ファイルを生成するための生成情報を保持する。空ファイルの生成情報は、秘密分散設定部４１３が設定情報として予め保持してもよいし、分散処理時に入力された情報に基づいて、秘密分散設定部４１３により生成されてもよい。
【０１７０】
秘密分散設定部４１３は、サーバ設定情報を生成する。サーバ設定情報は、例えば、空ファイルの生成情報、データ管理装置１００Ａの秘密分散設定部１２３が用いる設定情報を生成するための情報、を含む。サーバ設定情報は、例えば、空ファイルの生成情報、分散ファイルの数、分散ファイルの保存先、秘密分散方式、分散比率、空ファイルを生成した際の保存先、空ファイルの圧縮の有無、元ファイルの属性情報等の情報を含む。サーバ設定情報は、分散処理部４１５による分散処理時に生成されてもよいし、例えばユーザが操作部１６を介して、予めサーバ設定情報を設定してもよい。サーバ設定情報は、元データ、空データ、及び分散データを関連付けるための生成データの一例である。
【０１７１】
秘密分散設定部４１３は、生成されたサーバ設定情報を、設定ファイル（例えばバッチファイル）に格納し、設定ファイルを記憶部４３０に保持させる。記憶部４３０は、分散処理により生成された複数の分散ファイル（例えば、分散ファイル１、分散ファイル２）と、設定ファイルと、を保持する。
【０１７２】
記憶部４３０に記憶された分散ファイル１及び設定ファイルは、例えば、準備シーンにおけるデータ管理装置１００Ａからの送信要求に応じて、データ管理装置１００Ａへ送信される。記憶部４３０に記憶された分散ファイル２は、例えば、利用シーンにおけるデータ管理装置１００Ａからの送信要求に応じて、データ管理装置１００Ａへ送信される。
【０１７３】
図１１は、データ管理装置１００Ａの動作例を示すフローチャートである。図１１では、Ｓ３０１〜Ｓ３０３が準備シーンにおける処理であり、Ｓ３１１〜Ｓ３１６が利用シーンにおける処理である。なお、秘密分散モジュール１２０は、常時起動しており、つまり秘密分散アプリが常駐していることを想定する。
【０１７４】
データ管理装置１００Ａでは、例えば、ユーザが操作部１６を介して、コンテンツ配信サーバ４００Ａが配信するコンテンツの送信を指示すると、外部Ｉ／Ｏ制御部１２２が、この送信要求を送信させ、コンテンツ配信サーバ４００Ａからコンテンツに係る配信ファイルを受信させる（Ｓ３０１）。この配信ファイルは、コンテンツ配信サーバ４００Ａの記憶部４３０に保持された分散ファイル１と設定ファイルとを含む。
【０１７５】
続いて、データ管理装置１００Ａは、アプリ処理部１１０によりコンテンツに係る第１アプリの処理を実行するまでに、設定ファイルを用いてバッチ処理を実行する。バッチ処理により、設定ファイルに含まれるサーバ設定情報に基づいて、第１アプリに関連付けられる（すなわち、第１アプリによって処理可能であることを意味する）拡張子が付加された空ファイルと、秘密分散モジュール１２０の秘密分散設定部１２３が復号処理の際に用いる設定情報と、が生成される。この設定情報は、分散ファイル２の保存場所等、コンテンツ配信サーバ４００Ａにより実行された秘密分散処理に係る設定情報を含み、秘密分散設定部１２３により保持される（Ｓ３０２）。
【０１７６】
設定情報が秘密分散設定部１２３に保持されたことで、秘密分散アプリの実行に必要な所定の情報が設定されたことになる。設定情報は、例えば、分散ファイル１、２の保存先、空ファイルの保存先、秘密分散方式、の情報を含む。
【０１７７】
秘密分散設定部１２３は、分散ファイル１と空ファイルを、設定情報により指示された所定の保存先（例えば二次記憶装置１５７）に保持させる（Ｓ３０３）。なお、分散ファイル１と空ファイルの保存先は、ユーザが任意に設定できてもよいし、設定ファイルと同じ場所に生成するなど自動的に設定してもよい。また、秘密分散設定部１２３は、所定の保存先に保持された分散ファイルを隠しファイルにするほうが好ましい。これにより、ユーザから分散ファイル１が確認できない状態となる。
【０１７８】
データ管理装置１００Ａによる準備シーンの動作例によれば、コンテンツ配信サーバ４００Ａから分散ファイルの一部と設定ファイルとを取得し、設定ファイルを実行することで、空ファイルの生成と設定情報の設定、保持を行うことができる。これにより、データ管理装置１００Ａでは、第１の実施形態における分散処理の実行後と同様の状態となる。つまり、空ファイルが所定の保存先（例えば二次記憶装置１５７）に保持され、分散ファイルが所定の保存先（例えば、二次記憶装置１５７とストレージサーバ２０１）に保持され、空ファイルが分散ファイルと対応付けられている。
【０１７９】
準備シーンが終了した後、アプリ処理部１１０が、第１アプリを起動する（Ｓ３１１）。第１アプリの起動は、例えば、ユーザが操作部１６を介して、空ファイルをクリックした場合に行われる。第１アプリの起動後には、図６の処理に相当する処理が開始される。
【０１８０】
空ファイルが秘密分散対象の領域に保持されている場合、秘密分散モジュール１２０は、フィルタドライバ１５２を介して、所定の保存先（例えば二次記憶装置１５７）に保存されている設定情報を参照する（Ｓ３１２）。
【０１８１】
外部Ｉ／Ｏ制御部１２２は、分散ファイル２に含まれる分散データの送信をコンテンツ配信サーバ４００Ａへ要求する。外部Ｉ／Ｏ制御部１２２は、コンテンツ配信サーバ４００Ａから分散ファイル２に含まれる分散データをダウンロードさせる（Ｓ３１３、図６のＳ２１４に相当）。
【０１８２】
秘密分散モジュール１２０は、設定情報を参照し、分散ファイル１に含まれる分散データを、分散ファイル１の保存先（例えば、二次記憶装置１５７）から取得する（Ｓ３１４）。これにより、データ管理装置１００Ａにおいて、分散ファイル１のデータと分散ファイル２のデータとが揃う。
【０１８３】
復号処理部１２６は、秘密分散設定部１２３に保持された設定情報を参照し、取得された分散ファイル１の分散データと分散ファイル２の分散データとを用いて、復号処理する（Ｓ３１５）。
【０１８４】
フィルタドライバ１５２は、空ファイルに含まれる空データを二次記憶装置１５７から取得し、復号処理により得られた元データを秘密分散モジュール１２０から取得する。フィルタドライバ１５２は、空ファイルに含まれる空データを元データに差し替えて得られる元ファイルをアプリ処理部１１０へ送る（Ｓ３１６、図６のＳ２１６に相当）。これにより、アプリ処理部１１０は、元ファイルを得られる。
【０１８５】
データ管理装置１００Ａによる利用シーンの動作例によれば、分散配置された分散ファイル２を利用シーンにおいて取得するので、準備シーンでは分散ファイルの一部が不足した状態であり、セキュリティを確保できる。ユーザ操作としては空ファイルの選択操作（例えばクリック）のみで、不足した分散ファイル２のダウンロード、復号処理、空ファイルと元ファイルとの差替えが行われるので、簡単に且つ安全にコンテンツを楽しむことができる。
【０１８６】
また、例えば、有料のコンテンツ等、認証が必要なコンテンツについて、認証のタイミングは任意に設定され得る。例えば、準備シーンにおいて認証されてもよいし、利用シーンの直前において認証されてもよい。
【０１８７】
なお、Ｓ３１１〜Ｓ３１６の処理は簡略化して説明したが、利用シーンの詳細の動作は、図６に示した復号処理時の動作例と同様である。
【０１８８】
また、秘密分散モジュール１２０は、Ｓ３０２における設定ファイルの実行により、利用シーンの処理まで（Ｓ３１６まで）一括して実行してもよい。
【０１８９】
データ管理装置１００Ａによれば、コンテンツの元データが分散処理されているので、データ管理装置１００Ａは安全に配信ファイルを受信でき、分散ファイルの一部を取得できる。また、配信ファイルに含まれる設定ファイルを実行することで、空ファイル及び設定情報を、データ管理装置１００Ａがコンテンツの元データを分散処理した場合と同様に取得できる。データ管理装置１００Ａが利用シーンにおいてコンテンツを実行する場合には、第１の実施形態における復号処理時と同様に、容易に且つ安全にコンテンツを楽しむことができる。
【０１９０】
なお、データ管理装置１００Ａは、分散処理部１２５を有さず、分散処理機能を有しなくてもよい。コンテンツ配信サーバ４００Ａは、復号処理機能を有しなくてもよい。データ管理装置１００Ａ又はデータ管理サーバ２００が、コンテンツ配信サーバ４００Ａとして動作してもよい。
【０１９１】
（第３の実施形態）
第３の実施形態は、第２の実施形態の変形例である。
【０１９２】
図１２は、第３の実施形態におけるデータ管理システム１０００Ｂの構成例を示す模式図である。データ管理システム１０００Ｂは、データ管理装置１００Ｂ、データ管理サーバ２００、及びコンテンツ配信サーバ４００Ｂを備える。データ管理装置１００Ｂ、データ管理サーバ２００、及びコンテンツ配信サーバ４００Ｂは、無線又は有線のネットワーク（例えばインターネット）３００を介して接続される。データ管理サーバ２００は、省略されてもよい。コンテンツ配信サーバ４００Ｂは、データ管理サーバ２００の１つでもよい。
【０１９３】
データ管理装置１００Ｂの構成は、データ管理装置１００Ａの構成と同様であるので、構成についての説明を省略する。コンテンツ配信サーバ４００Ｂの構成は、コンテンツ配信サーバ４００Ａの構成と同様であるので、構成についての説明を省略する。
【０１９４】
データ管理システム１０００Ｂは、データ管理システム１０００Ａと比較すると、以下の点が異なる。コンテンツ配信サーバ４００Ｂでは、分散処理部４１５により分散処理する場合、図示しないフィルタドライバが空ファイルを生成し、分散ファイルと空ファイルとを記憶部４３０に保持させる。通信部４２０は、空ファイルの生成指示を含む設定ファイルではなく、空ファイルをデータ管理装置１００Ｂへ送信させる。データ管理装置１００Ｂは、コンテンツ配信サーバ４００Ｂから、空ファイルと分散ファイルとを含む配信ファイルを受信する。
【０１９５】
次に、データ管理装置１００Ｂの動作例について説明する。
【０１９６】
図１３は、データ管理装置１００Ｂの動作例を示すフローチャートである。図１３では、図１１に示したデータ管理装置１００Ａと同様の処理については、同一のステップ番号を付し、説明を省略又は簡略化する。なお、秘密分散モジュール１２０の秘密分散部１２４以外の、アクセス制御部１２１、外部Ｉ／Ｏ制御部１２２、及び秘密分散設定部１２３は、常時起動（常駐）しており、図１３の処理開始時には、秘密分散部１２４は起動していないことを想定する。
【０１９７】
準備シーンでは、データ管理装置１００Ｂの外部Ｉ／Ｏ制御部１２２は、コンテンツ配信サーバ４００Ｂから分散ファイル１及び空ファイルを受信させる（Ｓ４０１）。
【０１９８】
操作部１６は、秘密分散処理に係る設定操作（例えば分散ファイルの保存先及び空ファイルの保存先の設定操作）を受け付ける。秘密分散設定部１２３は、操作部１６により受け付けた設定操作に応じた設定情報を設定し、保持する（Ｓ４０２）。
【０１９９】
秘密分散設定部１２３は、受信された空ファイルを、設定情報により指示された所定の保存先（例えば二次記憶装置１５７）に保持させる（Ｓ４０３）。秘密分散設定部１２３は、受信された分散ファイル１を、設定情報により指示された所定の保存先（例えば二次記憶装置１５７）に保持させる（Ｓ４０３）。
【０２００】
利用シーンでは、データ管理装置１００Ｂは、データ管理装置１００Ａと同様に、Ｓ３１１，Ｓ３１３〜Ｓ３１６の処理を実行する。但し、図１３では、Ｓ３１２の代わりにＳ４１２の処理を実施する。Ｓ４１２では、フィルタドライバ１５２が、秘密分散モジュール１２０にアクセスし、秘密分散部１２４を起動する。
【０２０１】
データ管理装置１００Ｂによれば、コンテンツ配信サーバ４００Ｂから分散ファイルの一部と空ファイルとを取得し、設定情報（例えば各ファイルの保存先の情報）を設定し、保持する。これにより、第１の実施形態における分散処理後と同様の状態となる。つまり、空ファイルが所定の保存先（例えば二次記憶装置１５７）に保持され、分散ファイルの一部が所定の保存先（例えばストレージサーバ２０１）に保持され、空ファイルが分散ファイルと対応付けられている。また、各ファイルの保存先の情報をユーザの意思により決定できるので、所望の設定情報を設定、保持できる。
【０２０２】
（第４の実施形態）
第４の実施形態は、第２の実施形態の変形例である。
【０２０３】
図１４は、第４の実施形態におけるデータ管理システム１０００Ｃの構成例を示す模式図である。データ管理システム１０００Ｃは、データ管理装置１００Ｃ、データ管理サーバ２００、及びコンテンツ配信サーバ４００Ｃを備える。データ管理装置１００Ｃ、データ管理サーバ２００、及びコンテンツ配信サーバ４００Ｃは、無線又は有線のネットワーク（例えばインターネット）３００を介して接続される。データ管理サーバ２００は、省略されてもよい。コンテンツ配信サーバ４００Ｃは、データ管理サーバ２００の１つでもよい。
【０２０４】
データ管理システム１０００Ｃは、データ管理システム１０００Ａと比較すると、以下の点が異なる。コンテンツ配信サーバ４００Ｃは、分散ファイル１Ｃを、配信ファイルとしてデータ管理装置１００Ｃへ送信する。
【０２０５】
分散ファイル１Ｃは、例えば、分散ファイル１のヘッダ部にサーバ設定情報を含む分散ファイルでもよい（図１６（Ａ）参照）。分散ファイル１Ｃは、例えば、元ファイルのヘッダ部にサーバ設定情報を含み、元ファイルの全体に対する分散処理により得られた分散ファイルでもよい（図１６（Ｂ）参照）。
【０２０６】
データ管理装置１００Ｃは、データ管理装置１００，１００Ａ，１００Ｂと比較すると、秘密分散モジュール１２０の代わりに、秘密分散モジュール１２０Ｃを備える。秘密分散モジュール１２０Ｃは、秘密分散モジュール１２０が有する構成部に加え、ヘッダ解析部１２７を含む。
【０２０７】
図１５は、秘密分散モジュール１２０Ｃの構成例を示すブロック図である。ここでは、ヘッダ解析部１２７の構成のみ説明し、他の構成については説明を省略する。
【０２０８】
ヘッダ解析部１２７は、コンテンツ配信サーバ４００Ｃから受信された分散ファイル１Ｃに含まれるヘッダ部を読み込み、解析する。分散ファイル１Ｃのヘッダ部には、先述したサーバ設定情報が含まれる。ヘッダ解析部１２７は、サーバ設定情報に基づいて、設定情報と空ファイルを生成し、設定情報及び空ファイルを所定の保存場所（例えば、二次記憶装置１５７、秘密分散設定部１２３）に保持させる。ヘッダ解析部１２７は、例えば、秘密分散モジュール１２０の起動、及び第１アプリの起動を行ってもよい。
【０２０９】
コンテンツ配信サーバ４００Ｃの構成は、コンテンツ配信サーバ４００Ａの構成と同様であるので、構成についての説明を省略する。
【０２１０】
図１６（Ａ），（Ｂ）は、分散ファイル１Ｃのフォーマット構成例を示す模式図である。
【０２１１】
コンテンツ配信サーバ４００Ｃの分散処理部４１５は、例えば、元ファイルを分散処理し、分散ファイル１を含む複数の分散ファイルを生成し、サーバ設定情報を生成する。秘密分散設定部４１３は、サーバ設定情報を、予め保持してもよいし、分散処理時に生成して保持してもよい。サーバ設定情報は、例えば、元ファイルの属性情報（例えば拡張子の情報）を含み、空ファイルの生成情報を含む。そして、分散処理部４１５は、生成したサーバ設定情報を分散ファイル１又は元ファイルのヘッダに付加して、分散ファイル１Ｃ（元データの場合には、ヘッダを付加したのち分散）として生成する。
【０２１２】
つまり、コンテンツ配信サーバ４００Ｃでは、コンテンツ配信サーバ４００Ａと比較すると、サーバ設定情報が、設定ファイルに含まれるのではなく、分散ファイル１Ｃ又は元ファイルのヘッダ部に含まれる点が異なる。
【０２１３】
図１６（Ａ）に示すように、秘密分散設定部４１３は、データ部に分散ファイル１のデータを格納し、ヘッダ部にサーバ設定情報を格納して、分散ファイル１Ｃを生成し、記憶部４３０に保持させる。つまり、分散ファイル１Ｃは、分散ファイル１のデータと、サーバ設定情報と、を一つのファイルの中に含む。
【０２１４】
図１６（Ｂ）に示すように、秘密分散設定部４１３は、データ部に元ファイルのデータを格納し、ヘッダ部にサーバ設定情報（拡張子等の元ファイルの属性情報や秘密分散の有効期限）を格納したファイルに対して分散処理し、分散ファイルを生成してもよい。
【０２１５】
なお、図１６（Ｂ）では、データ管理装置１００Ｃでは、ヘッダ解析部１２７が、空ファイルの生成前に、分散ファイル１Ｃのヘッダ部に対して復号処理し、サーバ設定情報を取得する。ヘッダ解析部１２７は、サーバ設定情報に応じて空ファイルを生成する。
【０２１６】
図１６（Ｂ）では、ヘッダ部に対しても分散処理されているので、ヘッダ部におけるセキュリティを向上できる。従って、このヘッダ部には、より秘匿性、機密性の高い情報を格納しても、情報漏洩の可能性を軽減できる。このヘッダに格納されるサーバ設定情報には、例えば、各種ＩＤ、元ファイルの有効期限を示す情報、が含まれる。秘密分散モジュール４１０は、生成された分散ファイル１Ｃを記憶部４３０に保持させる。
【０２１７】
このように、図１６（Ｂ）に示すフォーマット構成を用いる場合、ヘッダ部が改竄されることを抑制できる。
【０２１８】
次に、データ管理装置１００Ｃの動作例について説明する。
【０２１９】
図１７は、データ管理装置１００Ｃの動作例を示すフローチャートである。図１７では、分散ファイル１Ｃが、図１６（Ａ）に示したフォーマット構成を有する場合を想定する。なお、秘密分散モジュール１２０は、常時起動しており、つまり秘密分散アプリが常駐していることを想定する。
【０２２０】
準備シーンでは、例えば、ユーザが操作部１６を介して、コンテンツ配信サーバ４００Ｃが配信するコンテンツの送信を指示すると、外部Ｉ／Ｏ制御部１２２が、この送信要求を送信させ、コンテンツ配信サーバ４００Ｃからコンテンツに係る分散ファイル１Ｃを受信させる（Ｓ５０１）。この場合、コンテンツ配信サーバ４００Ｃは、記憶部４３０に保持された分散ファイル１Ｃを送信する。分散ファイル１Ｃは、所定の保存先（例えば二次記憶装置１５７）に保持される。分散ファイル１Ｃには、秘密分散アプリの拡張子が付加されている。
【０２２１】
利用シーンでは、データ管理装置１００Ｃのユーザが、秘密分散アプリを起動する（Ｓ５１１）。秘密分散アプリの起動は、例えば、ユーザが操作部１６を介して、分散ファイル１Ｃをクリックした場合に行われる。
【０２２２】
秘密分散アプリが起動すると、ヘッダ解析部１２７は、例えば二次記憶装置１５７に保持された分散ファイル１Ｃを取得し、分散ファイル１Ｃのヘッダ部を解析し、ヘッダ部からサーバ設定情報を取得する（Ｓ５１２）。
【０２２３】
ヘッダ解析部１２７は、サーバ設定情報に基づいて、秘密分散設定部１２３が用いる設定情報と、空ファイルとを生成する。ヘッダ解析部１２７は、この設定情報を、秘密分散設定部１２３に保持させる（Ｓ５１３）。
【０２２４】
ヘッダ解析部１２７は、サーバ設定情報を参照し、分散ファイル１Ｃのデータ部に含まれる分散ファイル１を、所定の保存場所（例えば二次記憶装置１５７）又はストレージサーバ２０１に保持させる（Ｓ５１４）。
【０２２５】
ヘッダ解析部１２７は、サーバ設定情報を参照し、空ファイルに第１アプリが用いる拡張子を付加し、空ファイルを所定の保存場所（例えば二次記憶装置１５７）に保持させる（Ｓ５１４）。これにより、第１アプリが空ファイルを処理可能となる。
【０２２６】
ヘッダ解析部１２７は、アプリ処理部１１０に対して、空ファイルのアドレス情報（保存先の情報）を送り、第１アプリを起動するよう指示する（Ｓ５１５）。
【０２２７】
外部Ｉ／Ｏ制御部１２２は、分散ファイル２に含まれる分散データの送信をコンテンツ配信サーバ４００Ｃへ要求する。外部Ｉ／Ｏ制御部１２２は、コンテンツ配信サーバ４００Ｃから分散ファイル２に含まれる分散データをダウンロードさせる（Ｓ５１６）。
【０２２８】
秘密分散モジュール１２０Ｃは、設定情報を参照し、分散ファイル１に含まれる分散データを、分散ファイル１の保存先（例えば、二次記憶装置１５７）から取得する（Ｓ５１７）。これにより、データ管理装置１００Ｃにおいて、分散ファイル１のデータと分散ファイル２のデータとが揃う。
【０２２９】
復号処理部１２６は、秘密分散設定部１２３に保持された設定情報を参照し、取得された分散ファイル１の分散データと分散ファイル２の分散データとを用いて、復号処理する（Ｓ５１８）。
【０２３０】
フィルタドライバ１５２は、空ファイルに含まれる空データを二次記憶装置１５７から取得し、復号処理により得られた元データを秘密分散モジュール１２０Ｃから取得する。フィルタドライバ１５２は、空データを元データに差し替えて、元データをアプリ処理部１１０へ送る（Ｓ５１９）。これにより、アプリ処理部１１０は、元ファイルとしてのコンテンツファイルを得られる。
【０２３１】
なお、Ｓ５０１の分散ファイル１Ｃの受信に応じて、特別の操作をせずに、利用シーンの動作まで一括して処理してもよい。つまり、準備シーンと利用シーンとが分離されなくてもよい。
【０２３２】
データ管理装置１００Ｃによる動作例によれば、コンテンツ配信サーバ４００Ｃへ一度コンテンツ配信を要求することで、例えば分散ファイル１Ｃの送信を要求することで、元ファイルとしてのコンテンツファイルを取得できる。ユーザ操作としては、分散ファイル１Ｃの選択操作（クリック）のみで、秘密分散処理に関する設定情報の保持、空ファイルの作成、不足した分散ファイルのダウンロード、復号処理、空ファイルと元ファイルとの差替えが、全て一括して行われる。従って、ユーザは、簡単に且つ安全にコンテンツを楽しむことができる。
【０２３３】
更に、図１６（Ｂ）に示したフォーマット構成を有する分散ファイル１Ｃを用いる場合には、元ファイルのヘッダ部についても分散処理されているので、コンテンツ配信におけるセキュリティを一層向上できる。
【０２３４】
データ管理システム１０００Ｃによれば、コンテンツ配信時に１つの分散ファイル１Ｃを受信することで、準備シーンを完了できる。また、利用シーンの開始までに分散ファイル１Ｃから空ファイルを生成すればよいので、例えば二次記憶装置１５７に保持される秘密分散に係るファイル数を低減できる。利用シーンでは、例えばユーザが操作部１６を介して、分散ファイルを選択する簡単な操作で、第１アプリが元ファイルを取得できる。従って、簡単に且つ安全にコンテンツを楽しむことができる。
【０２３５】
なお、本発明は、上記実施形態の構成に限られるものではなく、特許請求の範囲で示した機能、または本実施形態の構成が持つ機能が達成できる構成であればどのようなものであっても適用可能である。
【０２３６】
例えば、上記実施形態では、秘密分散技術に、公知の暗号化技術を組み合わせて用いてもよい。これにより、秘密分散処理時のセキュリティを一層向上できる。
【０２３７】
（本発明の一態様の概要）
本発明の一態様のデータ処理方法は、外部記憶装置と接続され、記憶装置を備えた処理装置におけるデータ処理方法であって、第１のデータを前記記憶装置に記憶させる書き込み指示を受信するステップと、前記第１のデータを複数の分割データに分割するステップと、前記分割データの少なくとも一部を前記外部記憶装置に記憶させるステップと、記第１のデータとは異なる第２のデータを前記記憶装置に記憶させるステップと、を備え、前記第２のデータは、前記第１のデータ及び前記複数の分割データに関連付けられている。
【０２３８】
この方法によれば、第１のデータとは異なる第２のデータを記憶装置に記憶させるので、仮に記憶部から第２のデータが消去された後に第２のデータを推測可能であっても、第１のデータを推測することは困難である。従って、第１のデータの保存について、セキュリティを向上でき、情報漏洩のリスクを低減できる。  また、第１のデータの書き込み指示に応じて、専用のアプリケーションを用いることなく、外部記憶装置へも記憶装置へもアクセスできる。従って、ユーザによる簡単な操作により、第１のデータの書き込み要求に応じて、第２のデータを記憶装置へ書き込み、分割データを所定の保存場所に書き込みできる。
【０２３９】
また、本発明の一態様のデータ処理方法は、前記第２のデータが、ＮＵＬＬデータもしくは乱数データである。
【０２４０】
この方法によれば、第１のデータから第２のデータを簡単に生成できる。
【０２４１】
また、本発明の一態様のデータ処理方法は、前記第２のデータが、０または１が連続したデータであり、前記記憶装置には前記第２のデータを圧縮して記憶させる。
【０２４２】
この方法によれば、第２のデータのデータ量を削減でき、記憶部の記憶領域を効率よく使用できる。
【０２４３】
また、本発明の一態様のデータ処理方法は、前記第１のデータ及び前記第２のデータが、同じアプリケーションで処理可能なデータであり、前記複数の分割データが、前記アプリケーションでは処理不可能なデータである。
【０２４４】
この方法によれば、分割データの保存先において第１のデータ及び第２のデータを扱うアプリケーションを実行しても、分割データを処理できないので、ユーザが意図しない処理が行われることを防止できる。
【０２４５】
また、本発明の一態様のデータ処理方法は、前記第１のデータ、前記第２のデータ、及び前記複数の分割データを関連付けるための生成データを生成するステップを備える。
【０２４６】
この方法によれば、例えば、生成データに基づいて、第１のデータから分割データ及び第２のデータを一意に生成できる。また、生成データに基づいて、分割データ及び第２のデータから第１のデータを一意に生成できる。生成データを用いることで、例えばコンテンツ配信において配信される分割データから第１のデータを復元できる。従って、安全にコンテンツ配信を受けることができる。
【０２４７】
また、本発明の一態様のデータ処理方法は、前記生成データを、前記複数の分割データに結合するステップを備える。
【０２４８】
この方法によれば、例えば、分割データとともに生成データが保存され、又は配信されるので、生成データの管理が容易になる。
【０２４９】
また、本発明の一態様のデータ処理方法は、前記複数の分割データに分割するステップは、秘密分散方法を用いて前記分割データを生成し、前記第１のデータを前記記憶装置に記憶させない。
【０２５０】
この方法によれば、記憶装置に、第２のデータが記憶され、秘密分散の元データとしての第１のデータが記憶されないので、記憶装置に記憶されたデータから秘密分散の元データを復元することは困難である。また、秘密分散方法を用いることで、第１のデータの管理における安全性を更に向上できる。
【０２５１】
また、本発明の一態様のデータ処理方法は、第１のデータから生成した分割データを記憶した外部記憶装置と接続され、前記第１のデータとは異なり、前記第１のデータと複数の分割データとに関連付けられた第２のデータを記憶した記憶装置を備えた処理装置におけるデータ処理方法であって、前記第２のデータを読み込む指示を受信するステップと、前記記憶装置から前記第２のデータを読み込むステップと、前記第２のデータに基づいて前記分割データを用いて前記第１のデータを復元するステップと、前記第１のデータを読み込み指示先に送信するステップと、を備える。
【０２５２】
この方法によれば、第２のデータを用意することで、専用のアプリケーションを用いることなく、分割データを記憶する記憶装置と第２のデータを記憶する外部記憶装置とに同時にアクセスできる。また、ユーザによる簡単な操作により、第２のデータの書き込み要求に応じて、第２のデータを記憶装置から読み出し、分割データを外部記憶装置から読み出し、第１のデータを復元できる。
【０２５３】
また、本発明の一態様のデータ処理方法は、前記第２のデータを読み込むステップと前記第１のデータを復元するステップとを、同時に行う。
【０２５４】
この方法によれば、例えば、記憶装置と外部記憶装置とに同時にアクセスし、第２のデータの読み込みと、分割データの取得及び第１のデータの復元と、を同時に実施でき、復元処理を高速化できる。
【０２５５】
また、本発明の一態様のデータ処理装置は、データ処理サーバが接続可能なデータ処理装置であって、第１のデータを分割し複数の分割データを生成し、前記分割データの少なくとも１つを前記データ処理サーバに記憶させる分割部と、前記第１のデータとは異なる第２のデータを生成し、前記第１のデータを前記分割部に送り、前記第２のデータを前記第１のデータのかわりに出力する制御部と、前記第２のデータを記憶する記憶部と、を備え、前記第２のデータは、前記第１のデータ及び前記複数の分割データに関連付けられている。
【０２５６】
この構成によれば、第１のデータとは異なる第２のデータを記憶部に記憶させるので、仮に記憶部から第２のデータが消去された後に第２のデータを推測可能であっても、第１のデータを推測することは困難である。従って、第１のデータの保存について、セキュリティを向上でき、情報漏洩のリスクを低減できる。
【０２５７】
また、第１のデータの書き込み指示に応じて、専用のアプリケーションを用いることなく、外部記憶装置へも記憶装置へもアクセスできる。従って、ユーザによる簡単な操作により、第１のデータの書き込み要求に応じて、第２のデータを記憶装置へ書き込み、分割データを所定の保存場所に書き込みできる。
【産業上の利用可能性】
【０２５８】
本発明は、データ管理におけるセキュリティを向上できるデータ処理方法及びデータ処理装置等に有用である。
【符号の説明】
【０２５９】
１０００，１０００Ａ、１０００Ｂ，１０００Ｃ  データ管理システム
１００，１００ａ，１００ｂ，１００ｃ，１００Ａ，１００Ｂ，１００Ｃ  データ管理装置
１１  ＣＰＵ
１２  ＬＡＮ接続部
１３  ＨＤＤ
１４  ＲＡＭ
１５  ＲＯＭ
１６  操作部
１１０  アプリ処理部
１２０，１２０Ｃ  秘密分散モジュール
１２１  アクセス制御部
１２２  外部Ｉ／Ｏ制御部
１２３  秘密分散設定部
１２４  秘密分散部
１２５  分散処理部
１２６  復号処理部
１２７  ヘッダ解析部
１３０  ＡＰＩ部
１５１  Ｉ／Ｏマネージャ
１５２  フィルタドライバ
１５３  アクセス制御部
１５４  データ制御部
１５５  ＦＳＤ
１５６  下位ドライバ
１５７  二次記憶装置
１６１  リダイレクタＦＳＤ
１６２  プロトコルドライバ
１７１  メモリマネージャ
１７２  メモリ
２００，２００ａ，２００ｂ，２００ｃ  データ管理サーバ
２０１  ストレージサーバ
３００  ネットワーク
４００Ａ，４００Ｂ，４００Ｃ  コンテンツ配信サーバ
４１０  秘密分散モジュール
４１１  アクセス制御部
４１２  外部Ｉ／Ｏ制御部
４１３  秘密分散設定部
４１４  秘密分散部
４１５  分散処理部
４１６  復号処理部
４２０  通信部
４３０  記憶部
【図１】
2019220230.tif 000003
【図２】
2019220230.tif 000004
【図３】
2019220230.tif 000005
【図４】
2019220230.tif 000006
【図５】
2019220230.tif 000007
【図６】
2019220230.tif 000008
【図７】
2019220230.tif 000009
【図８】
2019220230.tif 000010
【図９】
2019220230.tif 000011
【図１０】
2019220230.tif 000012
【図１１】
2019220230.tif 000013
【図１２】
2019220230.tif 000014
【図１３】
2019220230.tif 000015
【図１４】
2019220230.tif 000016
【図１５】
2019220230.tif 000017
【図１６】
2019220230.tif 000018
【図１７】
2019220230.tif 000019
【手続補正書】
【提出日】令和1年11月1日(2019.11.1)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
外部記憶装置と接続され、記憶装置を備えた処理装置におけるデータ処理方法であって、
第１のデータを前記記憶装置に記憶させる書き込み指示を受信するステップと、
前記第１のデータを複数の分割データに分割するステップと、
前記分割データの少なくとも一部を前記外部記憶装置に記憶させるステップと、
前記第１のデータとは異なる第２のデータと前記第１のデータの属性情報とを含むデータを前記記憶装置に記憶させるステップと、を備え、
前記第２のデータは、前記第１のデータ及び前記複数の分割データに関連付けられているデータ処理方法。
【請求項２】
請求項１に記載のデータ処理方法であって、
前記第２のデータは、ＮＵＬＬデータもしくは乱数データである、データ処理方法。
【請求項３】
請求項１に記載のデータ処理方法であって、
前記第２のデータは、０または１が連続したデータであり、前記記憶装置には前記第２のデータを圧縮して記憶させる、データ処理方法。
【請求項４】
請求項１に記載のデータ処理方法であって、
前記第１のデータ及び前記第２のデータは、同じアプリケーションで処理可能なデータであり、前記複数の分割データは、前記アプリケーションでは処理不可能なデータである、データ処理方法。
【請求項５】
請求項１に記載のデータ処理方法であって、更に、
前記第１のデータ、前記第２のデータ、及び前記複数の分割データを関連付けるための生成データを生成するステップを備える、データ処理方法。
【請求項６】
請求項５に記載のデータ処理方法であって、更に、
前記生成データを、前記複数の分割データに結合するステップを備える、データ処理方法。
【請求項７】
請求項１に記載のデータ処理方法であって、
前記複数の分割データに分割するステップは、秘密分散方法を用いて前記分割データを生成し、前記第１のデータを前記記憶装置に記憶させないデータ処理方法。
【請求項８】
請求項１に記載のデータ処理方法であって、
前記複数の分割データに分割するステップにおいて、前記第１のデータの属性情報が参照される、データ処理方法。
【請求項９】
請求項１に記載のデータ処理方法であって、
前記複数の分割データに分割するステップでは、前記第２のデータを含むデータ部と、前記属性情報及び前記第１のデータを複数の分割データに分割した際の設定情報を含むヘッダ部と、を有するデータに対して分散処理を実行する、データ処理方法。
【請求項１０】
第１のデータから生成した分割データを記憶した外部記憶装置と接続され、前記第１のデータとは異なり、前記第１のデータと複数の分割データとに関連付けられた第２のデータを記憶した記憶装置を備えた処理装置におけるデータ処理方法であって、
前記第２のデータを読み込む指示を受信するステップと、
前記記憶装置から前記第２のデータ及び前記第１のデータの属性情報を含むデータを読み込むステップと、
前記第２のデータ及び前記第１のデータの属性情報に基づいて前記分割データを用いて前記第１のデータを復元するステップと、
前記第１のデータを読み込み指示先に送信するステップと、を備えたデータ処理方法。
【請求項１１】
請求項１０に記載のデータ処理方法であって、
前記第２のデータを読み込むステップと前記第１のデータを復元するステップとを、同時に行うデータ処理方法。
【請求項１２】
データ処理サーバが接続可能なデータ処理装置であって、
第１のデータを分割し複数の分割データを生成し、前記分割データの少なくとも１つを前記データ処理サーバに記憶させる分割部と、
前記第１のデータとは異なる第２のデータを生成し、前記第１のデータを前記分割部に送り、前記第２のデータを前記第１のデータのかわりに出力する制御部と、
前記第２のデータ及び前記第１のデータの属性情報を含むデータを記憶する記憶部と、を備え、
前記第２のデータは、前記第１のデータ及び前記複数の分割データに関連付けられているデータ処理装置。 
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
本発明のデータ処理方法は、外部記憶装置と接続され、記憶装置を備えた処理装置におけるデータ処理方法であって、第１のデータを前記記憶装置に記憶させる書き込み指示を受信するステップと、前記第１のデータを複数の分割データに分割するステップと、前記分割データの少なくとも一部を前記外部記憶装置に記憶させるステップと、前記第１のデータとは異なる第２のデータと前記第１のデータの属性情報とを含むデータを前記記憶装置に記憶させるステップと、を備え、前記第２のデータは、前記第１のデータ及び前記複数の分割データに関連付けられている。 
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】変更
【補正の内容】
【００１２】
本発明のデータ処理装置は、データ処理サーバが接続可能なデータ処理装置であって、第１のデータを分割し複数の分割データを生成し、前記分割データの少なくとも１つを前記データ処理サーバに記憶させる分割部と、前記第１のデータとは異なる第２のデータを生成し、前記第１のデータを前記分割部に送り、前記第２のデータを前記第１のデータのかわりに出力する制御部と、前記第２のデータ及び前記第１のデータの属性情報を含むデータを記憶する記憶部と、を備え、前記第２のデータは、前記第１のデータ及び前記複数の分割データに関連付けられているデータ処理装置。