(57)【要約】【課題】  コンピュータに保持さえたファイルデータを安全に外部に持ち出すことができる方法を提供する。【解決手段】  コンピュータにおいてファイルデータをしきい値秘密分散法を用いて複数の断片ファイルに分割するステップと、分割した複数の断片ファイルを複数のネットストレージサービスに送信して保持させるステップと、  前記ファイルデータを利用するコンピュータにおいて前記複数のネットストレージサービスに保持された複数の断片ファイルの少なくとも２つを取得して元のファイルデータを復元するステップとを備えることを特徴とする。【選択図】      図１
2011198325.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータが保持したファイルデータを安全に外部に持ち出す方法であって、
前記コンピュータにおいて前記ファイルデータをしきい値秘密分散法を用いて複数の断片ファイルに分割するステップと、分割した複数の断片ファイルを複数のネットストレージサービスに送信して保持させるステップと、
前記ファイルデータを利用するコンピュータにおいて前記複数のネットストレージサービスに保持された複数の断片ファイルの少なくとも２つを取得して元のファイルデータを復元するステップとを備えることを特徴とするファイルデータの安全な持ち出し方法。
【請求項２】
前記ネットストレージサービスの全てが利用可能なことをチェックし、利用可能であればネットストレージ間の断片ファイルの同期処理を行い、ファイルの変更時などに起こる断片ファイルの不整合を解消するステップとをさらに備えることを特徴とする請求項１に記載のファイルデータの安全な持ち出し方法。
【請求項３】
コンピュータが保持したファイルデータを安全に外部に持ち出すシステムであって、
前記コンピュータが、前記ファイルデータをしきい値秘密分散法を用いて複数の断片ファイルに分割する手段と、分割した複数の断片ファイルを複数のネットストレージサービスに送信して保持させる手段と、
前記ファイルデータを利用するコンピュータが、前記複数のネットストレージサービスに保持された複数の断片ファイルの少なくとも２つを取得して元のファイルデータを復元する手段を備えることを特徴とするファイルデータの安全な持ち出しシステム。
【請求項４】
前記コンピュータが、前記ネットストレージサービスの全てが利用可能なことをチェックし、利用可能であればネットストレージ間の断片ファイルの同期処理を行い、ファイルの変更時などに起こる断片ファイルの不整合を解消する手段をさらに備えることを特徴とする請求項３に記載のファイルデータの安全な持ち出しシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のネットストレージ上でしきい値秘密分散法を利用し、機密性や可用性を高めて、安全にファイルを持ち出すことができると共に分散されたデータの同期を自動的に行うことができファイルデータの安全な外部持出し方法及びシステムに関する。
【背景技術】
【０００２】
現在、情報漏えいを防いだファイルの安全な持出し方法として様々な方法が存在する。たとえば、（１）暗号化ソフト（非特許文献１）を利用したパソコン（ＰＣ）での持出し、（２）暗号化機能を持つＵＳＢメモリなどでの持出し（非特許文献２）、（３）秘密分散（特許文献１）を用いてＰＣとＵＳＢメモリで分割して持出し、（４）ネットワーク経由等で情報削除機能を導入したＰＣでの持出し（非特許文献３）などである。これらを組み合わせた製品も存在する。
しかし、（１）及び（２）では、暗号化が破られれば内容が漏洩してしまうリスクがある。クラウドコンピューティングなど低コストで大きな計算能力が手に入るようになり、暗号が破られるリスクは年々増大している。
【０００３】
また、（２）や（３）は、ＵＳＢメモリなどのＰＣ以外の物理媒体を用いることとなり、その管理が煩雑で、置き忘れなどで紛失してしまうおそれがある。特にＵＳＢメモリなどの外部媒体は、小型化しており紛失リスクが高くなっている。さらに（３）は、データへのアクセスが出来なる恐怖心から、ＰＣとセットで管理運搬してしまいがちで、せっかくの秘密分散技術も運用現場で意味がなくなってしまうことがある。
また、（４）は、ネットワーク経由での削除や時限削除などがあるが、ネットワークに接続させず、内部クロックを変更するなどの方法で削除を回避することが可能である。また、一般的に暗号化も組み合わされることが多いが、これは先に述べたように必ずしも安全ではない。さらに（４）は専用のＰＣが必要な場合が導入コストも高い。
【０００４】
一方、近年安価なネットストレージサービスが多数存在する。これらのネットストレージは、Webが利用できる環境ではいつでもファイルやデータを出し入れできるサービスである。多くの場合、一般的なユーザ認証機能を持ち、通信にはHTTPSで暗号化されている。また、サーバも安全に管理されていると言われている。そのため、先の（１）〜（４）のように外部媒体やＰＣでファイルを持ち出すことより安全と考える向きもある。
【０００５】
しかし、ネットストレージサービスの利用には２つのリスクがある。１つは、サービス提供者内部からの情報漏えいリスクである。多くのネットストレージサービスでは、暗号化など必要な対策を採っていると説明しているが、ユーザが確認することは基本的に出来ず、実際にどのようになっているかは分からない。もう１つは、サービスの停止リスクである。多くのサービスではネットワークやハードウェア障害などで一時的にサービスが利用できなくなることがある。ＳＬＡで稼働率を保証しているサービスもあるが、１００%ではなくある程度停止する可能性はある。また稼働率を満たさない場合の補償は、サービス料の減額という形が多く、機会損失などの損害の全てが補償されるわけではない。
【０００６】
前者のリスクについては、ネットストレージにファイルを配置する前に、クライアントＰＣ側で暗号化するという対策方法もあるが、結局は暗号技術を用いているため、先に述べたように必ずしも安全とは言えず、また後者の問題は解決できない。
従って、現状でネットストレージサービスを利用する上では、最終的にはサービス提供企業を信頼するしかない。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特許第４０３９８１０号
【非特許文献】
【０００８】
【非特許文献１】秘文AE Information Cyberhttp://hitachisoft.jp/products/hibun/products/ae_ic.html
【非特許文献２】ハードウェア自動暗号化機能搭載セキュリティＵＳＢメモリー ED-EAシリーズhttp://www.iodata.jp/product/USBmemory/easydisk/ed-ea/
【非特許文献３】CLEARSUREhttp://www.fmworld.net/biz/fmv/lifebook/clearsure/
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本発明の目的は、情報漏えいを防ぎつつファイル持ち出しを実現する上で、ＰＣ上やＵＳＢメモリなどの物理媒体に暗号化済みも含めたファイル及びファイルの一部も保持させず、既存のネットストレージサービスを利用するが、ネットストレージサービスの提供企業内からの情報漏えいリスクを回避し、ネットストレージサービスの一時停止などを考慮し、出来るだけ可用性を高めることが可能な情報漏えい防止ファイル持ち出し方法を提供することにある。
【課題を解決するための手段】
【００１０】
上記目的を達成するために本発明に係るファイル持ち出し方法は、前記コンピュータにおいて前記ファイルデータをしきい値秘密分散法を用いて複数の断片ファイルに分割するステップと、分割した複数の断片ファイルを複数のネットストレージサービスに送信して保持させるステップと、前記ファイルデータを利用するコンピュータにおいて前記複数のネットストレージサービスに保持された複数の断片ファイルの少なくとも２つを取得して元のファイルデータを復元するステップとを備えることを特徴とする。
また、前記ネットストレージサービスの全てが利用可能なことをチェックし、利用可能であればネットストレージ間の断片ファイルの同期処理を行い、ファイルの変更時などに起こる断片ファイルの不整合を解消するステップとをさらに備えることを特徴とする。
また、本発明に係るファイル持ち出しシステムは、コンピュータが保持したファイルデータを安全に外部に持ち出すシステムであって、
前記コンピュータが、前記ファイルデータをしきい値秘密分散法を用いて複数の断片ファイルに分割する手段と、分割した複数の断片ファイルを複数のネットストレージサービスに送信して保持させる手段と、前記ファイルデータを利用するコンピュータが、前記複数のネットストレージサービスに保持された複数の断片ファイルの少なくとも２つを取得して元のファイルデータを復元する手段を備えることを特徴とする。
また、前記コンピュータが、前記ネットストレージサービスの全てが利用可能なことをチェックし、利用可能であればネットストレージ間の断片ファイルの同期処理を行い、ファイルの変更時などに起こる断片ファイルの不整合を解消する手段をさらに備えることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、ＰＣ上やＵＳＢメモリなどの物理媒体にファイルデータを保存しないため、これらの紛失時に情報漏えいが起こらない。また、ファイルデータを断片ファイルにして複数のネットストレージサービスに送信して保持させるため、ネットストレージサービスの提供企業内からの情報漏えいも起こらない。さらに、しきい値以内のストレージサービスが利用可能であれば、保存は可能であり、断片ファイルの同期が取れているファイルはいつでも参照更新可能で、さらに自動的な同期により、断片ファイルの同期が可能な限り行われるため、高い可用性が確保できる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施の形態を示すシステム構成図である。
【図２】Place Data Listの例を示す図である。
【図３】Place Listの例を示す図である。
【図４】Local Cache Listの例を示す図である。
【図５】Place Data List Cacheの例を示す図である。
【図６】クライアントアプリケーションの処理の概要を示すフローチャートである。
【図７】起動時処理の処理を示すフローチャートである。
【図８】ネットストレージサービスのパスワード入力画面の例を示す図である。
【図９】ファイルの存在表示処理の処理を示すフローチャートである。
【図１０】ファイル表示画面の例を示す図である。
【図１１】非接続時のファイル表示画面の例を示す図である。
【図１２】維持管理ループ処理を示すフローチャートである。
【図１３】Local Cache Listの例を示すフローチャートである。
【図１４】非接続になった際のファイル表示画面の例を示す図である。
【図１５】ファイルの存在再表示処理を示すフローチャートである。
【図１６】ファイル参照処理を示すフローチャートである。
【図１７】ファイル新規登録・変更処理を示すフローチャートである。
【図１８】ファイル削除処理を示すフローチャートである。
【図１９】同期処理の概要を示すフローチャートである。
【図２０】ローカル同期処理の概要を示すフローチャートである。
【図２１】PP間同期処理の概要を示すフローチャートである。
【図２２】終了時処理の概要を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本発明を実施する場合の一形態を、図面を参照して具体的に説明する。
ここで、本実施例では、元のファイルを３つの断片ファイルＡ、Ｂ、Ｃに分割し、２つＡ，ＢまたはＢ，ＣまたはＡ，Ｃの断片ファイルを取得すれば復元可能なしきい値秘密分散法を利用することとする。
図１に本発明の実施形態のシステムの構成図を示す。
本システムは、クライアントＰＣ１００と、インターネットで接続された外部のネットストレージサービス群１１０で構成される。
ネットストレージサービス群１１０には、Ａ社が提供するネットストレージサービス１１１、Ｂ社が提供するネットストレージサービス１１２、Ｃ社が提供するネットストレージサービス１１３の３つのネットストレージサービスがある。各々のネットストレージサービス上に、後述するPlace List１２２に記述された位置に保存領域１１４を配置する。その保存領域１１４に、ファイルを秘密分散した後に生成される断片ファイル１１５と、保存領域にある全ての断片ファイルのメタデータを保持するPlace Data List１１６を配置する。
【００１４】
１つのネットストレージサービスにあるPlace Data List１１６の詳細な例を図２に示す。Place Data List１１６は、分割前のファイル名を示すB FNAME２０１、断片ファイルのバージョンを示すVer２０２、保存領域に保存されている断片ファイル名を示すP FNAME２０３から構成されたテーブルファイルである。
例えば、１行目は、X.docファイルを分割したバージョン１の断片ファイルX.doc.p１-１が、この保存領域に保存されていることを示す。
クライアントＰＣ１００は、ユーザがファイルやフォルダにアクセスするための既存技術であるエクスプローラ１０１と、本システムの中心となるクライアントアプリケーション１２０で構成される。
【００１５】
クライアントアプリケーション１２０は、エクスプローラ１０１とのやり取りを行うインタフェース処理部１２１、利用するネットストレージサービスの情報が記述されたPlace List１２２、アプリケーション起動時や動作中に用いるファイルリストであるLocal Cache List１２３、各ネットストレージサービスにあるPlace Data List１１６対応したキャッシュデータであるPlace Data List Cache１２４、ファイルアクセス時や秘密分散処理時に利用されるテンポラリファイル１２５と、それを一時的に保存するテンポラリ保存領域１２７、テンポラリファイル構成時などに利用する断片ファイル１２８と、それを保存する断片ファイル保存領域１２９、ファイルを秘密分散し断片ファイルを作成する秘密分散処理部１２９、２つ以上の断片ファイルから元ファイルを再構成する秘密統合処理部１３０、秘密分散ネットストレージサービスとの通信処理を行う通信処理部１３１、ファイル更新時の同期やネットストレージサービス間の断片ファイルの同期を行う同期処理部１３２で構成される。
【００１６】
Place List１２２の詳細な例を図３に示す。Place List１２２は、ネットストレージサービスの識別子を示すPID３０１、ネットストレージサービスのアクセスURLを示すURL３０２、ネットストレージサービスの認証に利用するユーザ名を示すUNAME３０３、ネットストレージサービス上の保存領域１１４の位置を示すDir３０４、ネットストレージ認証時に用いるパスワードを一時的に保管するPW３０５、ネットストレージサービスとクライアントアプリケーション１２０との接続状態を登録するState３０６から構成される。
【００１７】
Local Cache List１２３の詳細な例を図４に示す。
Local Cache List１２３は、元のファイル名を示すFNAME４０１、有効な断片ファイルのバージョンを示すVer４０２、ネットストレージサービスP１に保存されている断片ファイルのバージョンを示すP１Ver４０３、P１に保存されている断片ファイル名を示すP１FNAME４０４、同様にP２及びP３ に保存されている断片ファイルのバージョンとファイル名を示すP２Ver４０５、P２FNAME４０６、P３Ver４０７、P３FNAME４０８、ネットストレージサービス間で同期が完全にとれているかを示すSynced４０９、クライアントＰＣ上にのみ最新の有効なバージョンのファイルが存在するかどうかを示すLocal４１０で構成される。
【００１８】
例えば、１行目はファイルがX.docが、有効なバージョンは１で、全てのネットストレージサービスで同じバージョンの断片ファイルがネットストレージ上に存在することを示している。
２行目は、ネットストレージの存在するもののP３に保存されている断片ファイルのバージョンが１つ前であり、Synced４０９がnoで同期が取れていないことを示している。ちなみに、後で詳細に示すが、P１とP２に接続できていれば、２行目のY.pptファイルを利用することは可能である。
３行目は、クライアントＰＣ１００で新たに登録されたファイルのため、Local４１０がyesでネットストレージサービス上に、最新で有効なバージョンの断片ファイルが存在しないことを示している。
【００１９】
１つのPlace Data List１１６に対応するPlace Data List Cache１２４の詳細な例を図５に示す。
Place Data List Cache１２４は、Place Data List１１６の２０１から２０３のデータのキャッシュであるB FNAME５０１、Ver５０２、P FNAME５０３と、断片ファイルの送信の失敗が無いかどうかチェックするcheck５０４と、クライアントアプリケーション１２０内の断片ファイル領域１２８に断片ファイルが存在するかどうかを示すDown５０５で構成される。
例えば１行目は、元ファイルがX.docのバージョン１の断片ファイルであるX.doc.p１-１が表示処理済みでダウンロードされていることを示す。３行目は、表示処理済であるが断片ファイルはダウンロードされていないことを示す。４行目は、表示処理も断片ファイルのダウンロードもされてないことを示す。
【００２０】
図６にクライアントアプリケーション１２０の処理の概要をフローチャートで示している。
クライアントアプリケーション１２０は、起動時に後述する起動時処理６０１を行い、そこで作成されたネットドライブもしくはフォルダへのユーザ操作に応じて、後述するファイル参照処理６０２、ファイル新規登録・変更処理６０３、ファイル削除処理６０４、終了時処理６０５を行う。そして、終了時処理６０５の場合はそのまま終了し、それ以外の処理では、次のユーザの操作に応じた処理を行う。
【００２１】
図７に起動時処理の概要をフローチャートで示している。
まず、クライアントアプリケーション１２０は、パスワード入力画面を表示させ、ユーザにパスワード入力を行わせる（ステップ７０１）。
【００２２】
図８はパスワード入力画面の例である。パスワード入力画面は、URL表示部８０１、ユーザ名表示部８０２、パスワード入力部８０３で構成される。ここで、URL表示部８０１、ユーザ名表示部８０２は、あらかじめ設定された図３のPlace List１１６の情報を利用する。
ユーザが各々のネットストレージサービスのパスワードを入力しOKをクリックした後、クライアントアプリケーション１２０は、図３のPlace List１２２のPW３０５に入力されたパスワードを保持し、通信処理部１３１を用いて各ネットストレージサービスへの接続を行う（ステップ７０２）。この際の認証に利用するユーザ名及びパスワードはPlace List１２２に保持されたUNAME３０３及びPW３０５を用いる。
【００２３】
次に、クライアントアプリケーション１２０は、各々のネットストレージサービスへの接続において、図３のPlace List１２２のDir３０４にあるフォルダに移動し、Place Data List１１６の取得を試みる。そして、取得が成功したPlace Data List１１６については、対応するPlace Data List Cache１２４を作成する（ステップ７０３）。このPlace Data List Cache１２４作成は、B NAME５０１、Ver５０２、P NAME５０３については取得したPlace Data List１１６にある値をコピーし、それ以外は空欄とする。
【００２４】
次に、Place List１２２のState３０６について、ステップ７０３でPlace Data List１１６の取得が成功し、Place Data List Cache１２４の作成が出来たネットストレージサービスにはOnlineを、出来なかったネットストレージサービスにはOfflineを保持させる(ステップ７０４)。
次に、２つ以上のネットストレージサービスがOnline状態かをチェックする（ステップ７０５）。２つ以上のネットストレージサービスがOnline状態の場合、ファイルの存在表示処理を行う（ステップ７０６）。
【００２５】
図９はファイルの存在表示処理の詳細な処理を示すフローチャートである。
最初に複数あるPlace Data List Cache１２４から、元のファイル名B NAME５０１をキーとしてLocal Cache List１２３を作成する（ステップ９０１）。
以降Local Cache List１２３を先頭から処理する。
まず、元ファイル名であるFNAME４０１に対して、２つ以上の断片ファイルが存在するかどうかを、P１FNAME４０４、P２FNAME４０６、P３FNAME４０８の値が入っているかどうかなどでチェックする（ステップ９０２）。
存在する場合には、存在する断片ファイルの２つ以上が同じバージョンであるかどうかを、P１Ver４０３、P２Ver４０５、P３Ver４０７の値を比較してチェックする（ステップ９０３）。
【００２６】
存在する断片ファイルの２つ以上が同じバージョンである場合には、そのバージョンをRver４０２に保持させ、また断片ファイルが３つ全て存在し、かつ全てのバージョンが同じ場合には、Synced４０９にyesを保持させる。また、何れかのネットストレージサービスが接続されていないために空白がある場合にはunknownを、それ以外でバージョンがあっていなければnoを保持させる（ステップ９０４）。そして、ファイル名にFNAME４０１を用いて、アクセス可能なファイルとして表示する（ステップ９０５）。
ステップ９０２及びステップ９０３で、２つ以上で同じバージョンの断片ファイルが存在しない場合は、まず、全てのネットストレージに接続しているかどうかをチェックする（ステップ９０６）。
【００２７】
全てに接続済みである場合には、Local Cache List１２３、Place Data List Cache１２４から対応するデータを削除する変更を行うと共に、ネットストレージサービス上のPlace Data List１１６からも対応するデータを削除する変更を行う（ステップ９０７）。さらに、ネットストレージサービス上の対応する断片ファイルも削除する（ステップ９０８）。このステップ９０７及び９０８により、既に利用されない断片ファイルや、その断片ファイルに関する情報の削除が実現される。
ステップ９０６で全てのネットストレージサービスに接続していない場合には、ファイル名にFNAME４０１を用いて、アクセス不可能なファイルとして表示する（ステップ９０９）。
【００２８】
図１０にファイルの存在表示処理を行った結果の表示画面の例を示す。
この例では、アクセス可能なファイルは１００１のように実線で表示し、アクセス不可能なファイルは１００２のように破線で表示している。このほか、色を変えるもしくは別のアイコン表示をしても良い。
ステップ７０６で、図９に示したファイルの存在表示処理を終えた後、後述する維持管理ループ処理を開始する（ステップ７０８）。このステップ７０８では、維持管理ループ処理の終了を待たずに終了する。
ステップ７０５で、Place List１２２の中の２つ以上がOnline状態でなければ、非接続状態を示した形でファイル表示画面を表示する（ステップ７０９）。この時の画面例を図１１に示す。
【００２９】
図１１の１１０１に示すように、図１０の接続状態のファイル表示画面と比べ、一部の色やパターンを変えるなどして、日接続状態をユーザに示す。また、この場合はファイルの表示は行わない。
【００３０】
図１２は、ステップ７０８の維持管理ループ処理を示すフローチャートである。
まず、タイマーを起動し、適切な時間が過ぎるまで待ち処理を行う（ステップ１２０１）。
次に、Place List１２２でState３０６がOnline状態とされているネットストレージサービスに対し、Place Data List１１６へのアクセスなどで接続状態を確認する。
さらに、Offline状態とされているネットストレージサービスに対し、起動時処理のステップ７０２と同様に再度接続を試みて、そのネットストレージサービス上のPlace Data List１１６が取得可能かをチェックする（ステップ１２０２）。
【００３１】
次に、そのチェックの結果がPlace List１２２のState３０６と違い変更があるかどうかをチェックする(ステップ１２０３)。もし、変更が無ければ、同期処理部１３２で後述する同期処理を行い（ステップ１２０４）、終了時処理されているかどうかをチェックする(ステップ１２０５)。終了時処理がされていれば、そのまま終了し、そうでなければステップ１２０１に戻る。
【００３２】
ステップ１２０３でネットストレージサービスとの接続状態に変更があれば、新たにOnline状態になったネットストレージサービスに対して、図７起動時処理のステップ７０３と同様にLocal Cache List１２３の取得と、対応するPlace Data List Cache１２４の作成を行う。
また、Offline状態になったネットストレージサービスについては、対応するPlace Data List Cache１２４の中で、Down５０５がyesのもの以外を削除する（ステップ１２０６）。そして、Place List１２２のState３０６を現在の接続状況に合わせて変更する（ステップ１２０７）。
【００３３】
次に、Place Data List Cache１２４の削除や作成を、Local Cache List１２３に反映させ、新たなLocal Cache List１２３に記述されていない断片ファイル１２７を断片ファイル領域１２８から削除する(ステップ１２０８)。
Local Cache List１２３に反映は、例えばPID３０１が１のネットストレージサービスのPlace Data List Cache１２４が削除された場合は、Local Cache List１２３のP１Ver４０３及びP１FNAME４０４の列のデータを空白とする。また、PID３０１が３のネットストレージサービスのPlace Data List Cache１２４が新たに生成された場合には、B NAMEをキーとしてLocal Cache List１２３にJOINする。
【００３４】
次に、Place List１２２のState３０６を参照し、２つ以上のネットストレージサービスがOnline状態かどうかをチェックする（ステップ１２０９）。もし、２つ以上のネットストレージサービスがOnline状態でなければ、Local Cache List１２３のLocal１４０の値に応じてファイルの表示を分ける。
Local１４０の値がyesのファイルはアクセス可能なファイルとして表示する。また、詳細な説明は後述するがLocal１４０の値がOnlyのファイルはライアントＰＣ上にのみ存在するファイルであり、Local Onlyのファイルとして表示する。それ以外のファイルはアクセス不可能なファイルとして表示する（ステップ１２１０）。
【００３５】
例えば、図１３のようなLocal Cache Listの場合、図１４の１４０１のように非接続状態を示す表示しつつ、それぞれのLocal１３０１の値に応じて表示させる。ちなみに、太線で係れた１４０２のファイル表示は、クライアントＰＣ上にのみ存在するLocal Onlyのファイルを示す表示である。ステップ１２１０の後は、先に説明したステップ１２０５に進む。
ステップ１２０９で２つ以上のネットストレージサービスがOnline状態であれば、ファイルの存在再表示処理を行う（ステップ１２１１）。
ファイルの存在再表示処理(ステップ１２１０)は、ステップ１２０８で変更されたLocal Cache List１２３の各行について図１５の処理を行う。
【００３６】
まず、Local１４０の値がOnlyかどうかをチェックし（ステップ１５０１）、Onlyのファイルの場合はLocal Onlyのファイルとして表示し(ステップ１５０２)、処理を終了する。
ステップ１５０１で、Local１４０の値がOnlyでない場合、Local１４０の値がyesかどうかをチェックする（ステップ１５０３）。yesの場合は、図９のファイル存在表示処理のステップ９０４と同様に、Local Cache List１２３のP１Ver４０３、P２Ver４０５、P３Ver４０７の値を参照して、Syncedの値を適切に変更する（ステップ１５０４）。
そして、図９のファイル存在表示処理のステップ９０４と同様に、アクセス可能なファイルとして表示し（ステップ１５０５）、処理を終了する。
【００３７】
ステップ１５０１及びステップ１５０３のチェックで、Local１４０の値の値がOnlyでもyesでも無かった場合は、図９のファイル存在表示処理のステップ９０２以降と同様の処理を行う。ステップ１５０６〜ステップ１５１３は、図９のファイル存在表示処理のステップ９０２〜９０９と同じであるため詳細は省略する。
ステップ１２１０のファイルの存在再表示処理が終わった後は、後述するステップ１２０４の同期処理に進む。その後、終了時処理がされたかどうかを確認し(ステップ１２０５)、終了時処理されていれば処理を終了し、終了時処理されていなければステップ１２０１のタイマー待ち処理に戻る。
先にも述べたが、この接続管理ループ処理を開始して図７の起動時処理は終了する。
次に、ファイル参照処理６０２、ファイル新規登録・変更処理６０３、ファイル削除処理６０４説明する。
【００３８】
図１６は図６のファイル参照処理６０２の処理フローを示したものである。
ユーザからファイル参照を要求されると、クライアントアプリケーション１２０は、まずLocal Cache List１２３の対応する行のLocal４１０を参照し、次にテンポラリ領域１２６を確認し、参照要求されたファイル対応するテンポラリファイル１２５があるかどうかを確認する（ステップ１６０１）。
テンポラリファイルがあれば、そのファイルを参照させ（ステップ１６０２）、処理を終了する。
【００３９】
ステップ１６０１で、対応するテンポラリファイルが無ければ、後で利用するリトライ用の値を初期化してから、Place Data List Cache１２４のDown５０５の値と断片ファイル領域１２８を参照し、必要十分な断片ファイルがあるかどうかを確認する（ステップ１６０３）。
ここで、必要十分な断片ファイルとは、元ファイルを再構成することが可能な断片ファイルであり、具体的にはLocal Cache List１２３のRver４０２と同じバージョンの２つ以上の断片ファイルである。
【００４０】
ステップ１６０３で、必要十分な断片ファイルが断片ファイル領域１２８にある場合には、秘密結合処理部１３０を用いて、元ファイルと同等のテンポラリファイルをテンポラリ領域１２６に生成し、Local Cache List１２３の対応する行のLocal４１０の値をyesにして（ステップ１６０４）、ステップ１６０２に進む。
ステップ１６０３で、必要十分な断片ファイルが断片ファイル領域１２８に無い場合には、ステップ１６０１で初期化したリトライ用の値が、あらかじめ適切に設定されたリトライ回数に達していないことを確認する（ステップ１６０４）。もし、達していなければ、リトライ用の値を増加させ、Place Data List Cache１２４の中で要求されたファイルに対応し、かつDown５０５の値がnoの断片ファイルを、通信処理部１３１を通して、ネットストレージサービスからダウンロードを試行する（ステップ１６０６）。そして、予め設定された適切な時間内でダウンロードが成功した場合には、Place Data List Cache１２４のDown５０５の値をyesとし、ダウンロードされた断片ファイルを断片ファイル領域１２８に配置し(ステップ１６０７)、ステップ１６０３に戻る。もし、ステップ１６０７でダウンロードが成功していなければ何もしないで、ステップ１６０３に戻る。
ステップ１６０５で、リトライ用の値があらかじめ適切に設定されたリトライ回数に達していた場合は、インタフェース処理部１２１を通して参照エラーを返し（ステップ１６０７）、参照処理を終了する。
【００４１】
図１７は、ファイルの新規登録・変更処理６０３の処理を示すフローチャートである。
ファイルの新規登録・変更処理６０３は、インタフェース処理部１２１を通して、テンポラリ領域１２６に新たにファイルを配置するか、ファイル参照処理６０２で参照したファイルに対応するテンポラリ領域１２６のテンポラリファイル１２５に変更を加えた場合に行われる処理である。そのため、新規登録及び変更されたファイルに対応するテンポラリファイル１２５がテンポラリ領域１２６上に存在することが前提となる。この前提のもとで、ファイルの新規登録・変更処理６０３を説明する。
【００４２】
まずLocal Cash List１２３で、ファイル名の重複を確認する（ステップ１７０１）。もし、重複しなければ、Local Cache List１２３に、FNAME４０１にファイル名、Rver４０２に１、Synced４０９にno、Local４１０にOnlyとして新たな行を追加する（ステップ１７０２）。そして、Localファイルとして表示する（ステップ１７０３）。
次に、新規登録・変更を行ったファイルに対応するテンポラリファイル１２５の秘密分散処理を行い、対応する断片ファイル１２７を断片ファイル領域１２８に生成する（ステップ１７０４）。この際、断片ファイルのファイル名は、他の断片ファイルと重複しないようにする。例えば、元のファイル名と各ネットストレージサービスのPID３０１、バージョンであるRver４０２を組み合わせたものを断片ファイル名とする。
【００４３】
次に、ステップ１７０４で作成した断片ファイル名を、Local Cash List１２３の対応する行のP１FNAME４０４、P２FNAME４０６、P３FNAME４０８に登録する。この際に、P１Ver４０３、P２Ver４０５、P３Ver４０７にはRver４０２の値を入れる。さらに、各Place Data List Cache１２４にも登録する。この際、check５０４はNo、Down５０５をyesとする。また、後で利用するリトライ用の値を初期化する（ステップ１７０５）。
次に、各ネットストレージサービスに向け、ステップ１７０４で生成した断片ファイル１２７の送信し、Place Data List１１６に古いバージョンの断片ファイルがあればその断片ファイルを削除し、ステップ１７０５で行ったPlace Data List Cache１２４の変更を、各ネットストレージサービスにあるPlace Data List１１６に反映させる。これらが成功したネットストレージサービスに対応するPlace Data List Cache１２４では、送信した断片ファイルに対応する行のcheck５０４をyesに変更する（ステップ１７０６）。
【００４４】
次に、２つ以上のネットストレージサービスに対し、ステップ１７０６の処理が成功したかどうかをチェックする（ステップ１７０７）。もし、２つ以上のネットストレージサービスに対して成功していなければ、ステップ１７０５で初期化したリトライ用の値が、あらかじめ適切に設定されたリトライ回数に達していないことを確認する（ステップ１７０８）。もし、達していなければ、リトライ用の値を増加させ、ステップ１７０６に戻り、再度断片ファイル１２７の送信とPlace Data List Cache１２４の変更を試みる。
【００４５】
ステップ１７０８で、リトライ用の値があらかじめ適切に設定されたリトライ回数に達していた場合は、そのまま処理を終了する。この場合、新規登録・変更を行ったファイルはLocalファイルとして表示されたままとなり、後述する同期処理ステップ１２１１で同期が試みられる。
【００４６】
ステップ１７０７で、２つ以上のネットストレージサービスに対してステップ１７０６の処理が成功していれば、新規登録・変更を行ったファイルに対応するLocal Cache List１２３の行のLocal４１０の値をyesと変更し、また３つ全てのネットストレージサービスでステップ１７０６の処理が成功していれば、Synced４０９の値をyesと変更し、ファイルの表示をLocalファイルからアクセス可能なファイルに変更再表示する（ステップ１７０９）。
【００４７】
ステップ１７０１でファイル名に重複する場合には、インタフェース処理部１２１を通して、ユーザに既存ファイルの変更を要求するかを問い合わせ、その回答をチェックする（ステップ１７１０）。もしユーザが変更を要求した場合には、変更するファイルに対応するLocal Cache List１２３の行のRverを１加算し、Syncedにnoを設定し、Local４１０をOnlyに変更する（ステップ１７１１）。その後、前述のステップ１７０３に進む。
ステップ１７１０でユーザが既存ファイルの変更を要求しない場合には、インタフェース処理部１２１を通して、保存するファイルのファイル名変更を促すなど適切なエラー処理を行い（ステップ１７１１）、その後終了する。
【００４８】
図１８はファイル削除処理６０４の処理を示すフローチャートである。
まず、Local Cache List１２３及びPlace Data List Cache１２４をチェックし、テンポラリ領域１２６や断片ファイル領域１２８に、削除するファイルに対応するテンポラリファイル１２５及び断片ファイル１２７が存在すれば削除する。また、それに伴いLocal Cache List１２３のLocal４１０をnoに設定、Place Data List Cache１２４のDown５０５をnoに設定するなど必要な変更を行う。さらに、後で利用するリトライ用の値を初期化する（ステップ１８０１）。
【００４９】
次に、各々のPlace Data List Cache１２４から、ネットストレージサービス上にある断片ファイルを特定し、通信処理部１３１を通して、特定した断片ファイルの削除、削除した断片ファイルに対応するPlace Data List１１６の行の削除を試みる。そして、削除が出来たネットストレージサービスについては、対応するPlace Data List Cache１２４の削除した断片ファイルに対応する行も削除する（ステップ１８０２）。
【００５０】
次に、２つ以上のネットストレージサービスに対し、ステップ１８０２の処理が成功したかをチェックする（ステップ１８０３）。もし、２つ以上のネットストレージサービスに対して成功していなければ、ステップ１８０１で初期化したリトライ用の値が、あらかじめ適切に設定されたリトライ回数に達していないことを確認する（ステップ１８０４）。もし、達していなければ、リトライ用の値を増加させ、ステップ１８０２に戻り、ネットストレージサービス上の断片ファイルの削除などを再度行う。
【００５１】
ステップ１８０４で、リトライ用の値があらかじめ適切に設定されたリトライ回数に達していた場合は、削除できなかったことを、インタフェース処理部１２１を通してユーザに通知し（ステップ１８０５）、処理を終了する。
ステップ１８０３で、２つ以上のネットストレージサービスに対してステップ１７０２の処理が成功していれば、削除したファイルの非表示にし、Local Cache List１２３から対応する行の削除を行う（ステップ１８０６）。そして、処理を終了する。
以上の図１６、１７、１８で説明した処理により、ファイルの参照、新規登録・変更、削除の処理が出来る。
【００５２】
次に、図１２の接続管理ループ処理のステップ１２０４の同期処理の詳細を説明する。
同期処理は、２つの同期を行う。１つはローカルファイル同期である。これは、クライアントＰＣ上のテンポラリ領域１２６にのみ有効なバージョンのファイルがあり、Local Cache List１２３でLocal４１０がOnlyとなっているファイルを、ネットストレージサービスに同期させるものである。これをローカル同期処理と呼ぶ。
もう１つは、あるネットストレージサービス上にRVer４０２とは異なる断片ファイルが存在し、Local Cache List１２３でSynced４０９がnoとなっているファイルを同期させるものである。これをPP間同期処理と呼ぶ。
【００５３】
図１９に同期処理の処理概要をフローチャートで示す。
まず、Place List１２２のState３０６を参照し、２つ以上のネットストレージサービスがOnline状態かどうかをチェックする（ステップ１９０１）。２つ以上のネットストレージサービスがOnline状態でなければ、何もせずに処理を終了する。もし、２つ以上のネットストレージサービスがOnline状態であれば、Local Cache List１２３の各行に対してローカル同期処理を行う(ステップ１９０２)。
【００５４】
図２０にローカル同期処理の処理概要をフローチャートで示す。
まず、Local Cache List１２３でLocal４１０がOnlyかどうかをチェックする。さらに、後で利用するリトライ用の値を初期化する（ステップ２００１）。もし、Onlyでなければ何もせずに処理を終了する。
ステップ２００１で、Local４１０がOnlyであれば、図１７で示したファイル新規登録・変更処理で作成した断片ファイルが存在し、各Place Data Cache List１２４のcheck５０４の値で、送信できなかった断片ファイルを特定できる。そこで、図１７で示したファイル新規登録・変更処理のステップ１７０６と同様に断片ファイルの送信などの処理を行う（ステップ２００２）。
【００５５】
次に、ファイル新規登録・変更処理のステップ１７０６と同様に、既に行われた断片ファイル送信などの処理を含めて、２つ以上のネットストレージサービスでステップ２００２の処理、もしくはファイル新規登録・変更処理のステップ１７０６が成功しているかをチェックする（ステップ２００３）。ただし、ファイル新規登録・変更処理のステップ１７０６と異なるのは、２つ以上のネットストレージサービスでステップ２００２の処理が成功しなかった場合は、何もせずに処理を終了する。
【００５６】
もし、２つ以上のネットストレージサービスでステップ２００２の処理、もしくはステップ１７０６が成功していれば、ファイル新規登録・変更処理のステップ１７０９と同様の処理を行う（ステップ２００４）。
これにより、クライアントＰＣ上のテンポラリ領域１２６にのみ有効なバージョンのファイルが存在したファイルが、ネットストレージサービス上にも存在するようになる。
ステップ１９０２のローカル同期処理の後、全てのネットストレージサービスがOnline状態かどうかをチェックする（ステップ１９０３）。一つでもネットストレージサービスがOnline状態でなければ、何もせずに処理を終了する。
ステップ１９０３で全てのネットストレージサービスがOnline状態であれば、Local Cache List１２３の各行に対してPP間同期処理を行う(ステップ１９０４)。
【００５７】
図２１にPP間同期処理のフローチャートを示す。
まず、Local Cache List１２３でSynced４０５がnoかどうかをチェックする(ステップ２１０１)。もし、noでない場合には、何もせずに処理を終了する。
ステップ２１０１でSynced４０５がnoであれば、Place Data Cache List１２４等を参照し、断片ファイル領域１２８に、同期するために送信すべき必要な断片ファイルが有る可かどうかをチェックする（ステップ２１０２）。ここで、以前に新規登録・変更したファイルであれば、送信すべき断片ファイルが存在する可能性もある。
【００５８】
もし、ステップ２１０２に必要な断片ファイルが無ければ、図１６で示した参照処理を行う（ステップ２１０３）。ただし、ステップ１６０２の対象ファイルの参照処理及びステップ１６０７の参照エラー処理は、インタフェース処理部１２１には返さずに、成功したか失敗したかを返すのみとする。
次に、ステップ２１０３の結果、参照が成功したか失敗したかを確認する（ステップ２１０４）。もし、参照が失敗していれば、処理を終了する。
【００５９】
ステップ２１０４で参照が成功していれば、テンポラリ領域１２６に参照したファイルに対応するテンポラリファイル１２５が作成されているはずなので、そのファイルを用いて図１７に示した新規登録・変更処理のステップ１７０４と同様の処理を行い、断片ファイルを作成する（ステップ２１０５）。
次にLocal Cache List１２３を確認し、既にネットストレージサービス上に有効なバージョンの断片ファイルが存在し、送信が必要ない断片ファイルを削除する（ステップ２１０６）。ここで、Syncedがnoの場合には、一つしか断片ファイルは残らないので、以降の処理は残った１つの断片ファイルに対して行う。
【００６０】
次に、削除されなかった断片ファイルに対して、図１７の新規登録・変更処理のステップ１７０５と同様に、Local Cash List１２３の対応する行に、対応する断片ファイルの名前及びバージョンを登録もしくは変更する。また、ステップ１７０５と同様に、対応するPlace Data List Cache１２４にも登録し、check５０４はNo、Down５０５をyesとする（ステップ２１０７）。ただし、ステップ１７０５とは異なり、リトライ用の値の初期化は行わない。
【００６１】
ステップ２１０７の後、及びステップ２１０２で必要な断片ファイルが有った場合、もしくはステップ２１０７の後、図１７の新規登録・変更処理のステップ１７０６と同様に、断片ファイルの送信や古いバージョンの断片ファイルの削除、Place Data List１１６及びPlace Data List Cache１２４の変更などを行う（ステップ２１０８）。
次に、ステップ２１０８が成功したかどうかをチェックする（ステップ２１０９）。失敗していれば、何もせずに処理を終了する。もし、成功していれば、Place Data List Cache１２４の対応する行のcheck５０４をyesとし、Local Cash List１２３の対応する行のSyncedをyesとする（ステップ２１１０）。
これにより、全てのネットストレージサービス上の断片ファイルのバージョンが有効なバージョンに同期されることになる。
【００６２】
ステップ１９０４で、説明したPP間同期処理が終了した後、図１９の同期処理を終了する。
以上により、図７の起動時処理で開始された図１２の接続監視管理ループ処理で行われる同期処理により、先に示したローカル同期処理とPP間同期処理を実現する。
【００６３】
図２２に、図６のステップ６０６である終了時処理の処理概要をフローチャートで示す。
まず、Local Cash List１２３の各行に対し、Local４１０がOnlyのファイルが存在するかどうかチェックする（ステップ２２０１）。もし、存在すれば、インタフェース処理部を通して、それらのファイルの同期処理を希望するか、強制終了するか、ユーザに確認を行わせる画面を出力し、ユーザの入力を待つ（ステップ２２０２）。
【００６４】
次に、ステップ２２０２で出力した画面で、ユーザが同期処理を希望したかどうかを確認する（ステップ２２０３）。そして、ユーザが同期処理を希望した場合は、図２０で示したローカル同期処理を行う（ステップ２２０４）。そして、ステップ２２０１に戻る。
ステップ２２０１でLocal４１０がOnlyのファイルが存在しない場合、もしくはステップ２２０３で同期処理を希望せずに終了を望んだ場合は、図７の起動時処理で開始した維持管理ループ処理を停止する（ステップ２２０５）。
次に、Place List１２２でState３０６がOnlineのネットストレージサービスの切断処理を行い、State３０６をOfflineと変更し、全てのPW３０５を空白にしてパスワード情報を削除する（ステップ２２０６）。
【００６５】
最後に、テンポラリ領域１２６にあるテンポラリファイル１２５、断片ファイル領域１２８にある断片ファイル１２７、保持しているPlace Data List Cache１２４、Local Cache List１２３を削除する。さらに画面表示などを停止しクライアントアプリケーション１２０を終了する（ステップ２２０７）。
以上により、終了後には、ファイルや断片ファイル、ネットストレージサービスのパスワードなど、情報漏えいの恐れのあるデータが存在しない状態になる。
【符号の説明】
【００６６】
１００    クライアントＰＣ
１０１    エクスプローラ
１１０    ネットストレージサービス群
１１１    A社が提供するネットストレージサービス
１１２    B社が提供するネットストレージサービス
１１３    C社が提供するネットストレージサービス
１１４    ネットストレージサービス上の保存領域
１１５    ネットストレージサービス上の断片ファイル
１１６    Place Data List
１２０    クライアントアプリケーション
１２１    インタフェース処理部
１２２    Place List
１２３    Local Cache List
１２４    Place Data List Cache
１２５    テンポラリファイル
１２６    テンポラリ保存領域
１２７    クライアントＰＣ上の断片ファイル
１２８    クライアントＰＣ上の断片ファイル保存領域
１２９    秘密分散処理部
１３０    秘密統合処理部
１３１    通信処理部
１３２    同期処理部
【図１】
2011198325.tif 000003
【図２】
2011198325.tif 000004
【図３】
2011198325.tif 000005
【図４】
2011198325.tif 000006
【図５】
2011198325.tif 000007
【図６】
2011198325.tif 000008
【図７】
2011198325.tif 000009
【図８】
2011198325.tif 000010
【図９】
2011198325.tif 000011
【図１０】
2011198325.tif 000012
【図１１】
2011198325.tif 000013
【図１２】
2011198325.tif 000014
【図１３】
2011198325.tif 000015
【図１４】
2011198325.tif 000016
【図１５】
2011198325.tif 000017
【図１６】
2011198325.tif 000018
【図１７】
2011198325.tif 000019
【図１８】
2011198325.tif 000020
【図１９】
2011198325.tif 000021
【図２０】
2011198325.tif 000022
【図２１】
2011198325.tif 000023
【図２２】
2011198325.tif 000024