(57)【要約】【課題】オリジナルファイルである秘密情報の漏洩防止及びウイルス感染防止ができる、秘密分散技術活用によるウイルス未発症・復元システムを提供する。【解決手段】オリジナルファイルの分散と復元を繰り返すウイルス未発症・復元方法であって、閾値分散法により予め定めた復元に必要な数以上の複数の分散情報にオリジナルファイルを分散する分散手順と、前記分散後に前記オリジナルファイルを廃棄する廃棄手順と、前記分散情報からオリジナルファイルを復元させ、前記復元させたオリジナルファイルを排他制御下で管理する復元・排他制御手順と、閾値分散法により予め定めた復元に必要な数以上の複数の再分散情報に前記復元させたオリジナルファイルを再分散させる再分散手順と、前記再分散後に前記復元させたオリジナルファイルを廃棄する廃棄手順と、を備え、前記復元・排他制御手順、前記再分散手順、再分散後の前記廃棄手順を順にサイクルとして繰り返すことで、ウイルス未発症・復元を行う。【選択図】図１２
2020194462.tif 000002
【特許請求の範囲】
【請求項１】
オリジナルファイルの分散と復元を繰り返すウイルス未発症・復元方法であって、
閾値分散法により予め定めた復元に必要な数超の複数の分散情報にオリジナルファイルを分散する分散手順と、
前記分散後に前記オリジナルファイルを廃棄する廃棄手順と、
前記分散情報からオリジナルファイルを復元させ、前記復元させたオリジナルファイルを排他制御下で管理する復元・排他制御手順と、
閾値分散法により予め定めた復元に必要な数以上の複数の再分散情報に前記復元させたオリジナルファイルを再分散させる再分散手順と、
前記再分散後に前記復元させたオリジナルファイルを廃棄する廃棄手順と、を備え、
前記復元・排他制御手順、前記再分散手順、再分散後の前記廃棄手順を順にサイクルとして繰り返すことを特徴とするウイルス未発症・復元方法。
【請求項２】
閾値分散法によりオリジナルファイルを分散情報に分散するとともに前記オリジナルファイルを廃棄し、前記分散情報から前記オリジナルファイルを復元させるウイルス未発症・復元方法であって、
閾値分散法により、予め定めた復元に必要な数の複数の分散情報にオリジナルファイルを分散し、前記分散情報それぞれに対応するハッシュ値を算出する分散処理ステップと、
前記分散後に前記オリジナルファイルを廃棄する廃棄処理ステップと、
前記分散情報ごとに分散時に算出したハッシュ値と復元時に算出するハッシュ値とを比較し、前記比較でハッシュ値が一致の場合はその分散情報が正常であると判断し、前記比較でハッシュ値が不一致の場合は分散情報が破壊又は改竄されたと判断し、正常と判断した分散情報の数が復元に必要な分散情報の数に到達すると前記正常と判断した分散情報を組み合わせてオリジナルファイルを復元する復元処理し、前記復元させたオリジナルファイルを排他制御下で管理する復元処理・排他制御管理ステップと、
閾値分散法により、予め定めた復元に必要な数の複数の分散情報に前記復元されたオリジナルファイルを再分散し、前記分散情報それぞれに対応するハッシュ値を算出する再分散処理ステップと、
前記再分散後に前記復元したオリジナルファイルを廃棄する廃棄処理ステップと、を備え、
前記復元処理・排他制御管理ステップ、前記再分散処理ステップ、再分散の前記廃棄処理ステップを順にサイクルとして繰り返すことを特徴とするウイルス未発症・復元方法。
【請求項３】
閾値分散法によりオリジナルファイルを分散情報に分散するとともに前記オリジナルファイルを廃棄し、前記分散情報から前記オリジナルファイルを復元させるウイルス未発症・復元システムであって、
閾値分散法により、予め定めた復元に必要な数の複数の分散情報にオリジナルファイルを分散し、前記分散情報それぞれに対応するハッシュ値を算出する分散処理手段と、
前記分散後に前記オリジナルファイルを廃棄する廃棄処理手段と、
前記複数の分散情報をそれぞれ異なる記憶装置に記憶し、少なくとも前記複数の分散情報のハッシュ値情報を含むインデックス情報を前記分散情報とは異なる記憶装置に記憶する記憶手段と、
前記分散情報ごとに分散時に算出したハッシュ値と復元時に算出するハッシュ値とを比較し、前記比較でハッシュ値が一致の場合はその分散情報が正常であると判断し、前記比較でハッシュ値が不一致の場合は分散情報が破壊又は改竄されたと判断し、正常と判断した分散情報の数が復元に必要な分散情報の数に到達すると前記正常と判断した分散情報を組み合わせてオリジナルファイルを復元する復元処理手段と、
前記復元させたオリジナルファイルを排他制御下で管理する排他制御手段と、
閾値分散法により、予め定めた復元に必要な数の複数の分散情報に前記復元されたオリジナルファイルを再分散し、前記分散情報それぞれに対応するハッシュ値を算出する再分散処理手段と、
前記再分散後に前記復元したオリジナルファイルを廃棄する廃棄処理手段と、を備え、
前記復元処理手段による復元処理、前記排他制御手段による排他制御、前記再分散処理手段による分散処理、再分散処理後の前記廃棄処理手段による廃棄処理の順にサイクルとして繰り返すことを特徴とするウイルス未発症・復元システム。
【請求項４】
前記復元処理手段が、ハッシュ値が不一致と判断された場合、残りの正常な複数の分散情報によりオリジナルファイルを復元し、前記再分散処理手段が、復元したオリジナルファイルを再分散させることにより、再分散後の分散情報すべてを正常な分散情報に回復させることを特徴とする、請求項３に記載のウイルス未発症・復元システム。
【請求項５】
前記復元処理手段又は前記再分散処理手段が、前記分散情報ごとに分散時と復元時とのハッシュ値を比較し、前記比較でハッシュ値が不一致の分散情報を抽出することを特徴とする、請求項３又は４に記載のウイルス未発症・復元システム。
【請求項６】
分散処理部の前段に、オリジナルフォルダを圧縮ファイルに変換する圧縮部を備え、復元処理部の後段に、前記圧縮ファイルを前記オリジナルフォルダに変換する伸長部を備えたことを特徴とする、請求項１から５の何れかに記載のウイルス未発症・復元システム。
【請求項７】
請求項１又は２に記載のウイルス未発症・復元方法をコンピュータに実行させることを特徴とする、ウイルス未発症・復元プログラム。
【請求項８】
請求項７に記載のプログラムを記憶したことを特徴とする、コンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、秘密情報の漏洩防止とウイルス感染防止ができる、秘密分散法である閾値分散法活用によるウイルス未発症・復元システム、ウイルス未発症・復元方法、ウイルス未発症・復元プログラム及び記憶媒体に関する。
【背景技術】
【０００２】
特許文献１には、秘密分散法を用いて秘密情報を分散することにより形成された複数の分散データのうちの少なくとも２つの分散データを結合することにより、前記秘密情報を復元するように構成される秘密分散モジュールと、前記複数の分散データの各々の対応する記憶装置のデータ領域からの読み出し又は当該データ領域への書き込みを制御するように構成される制御モジュールとして情報処理装置のプロセッサを機能させるためのコンピュータプログラムであって、前記制御モジュールは、前記秘密情報を仮想ドライブ内に保持するように構成され、前記仮想ドライブを生成するための仮想ドライブメタデータは、少なくとも第１の分散メタデータ及び第２の分散メタデータへと分散されており、前記制御モジュールは、前記第１の分散メタデータを外部記憶装置である第１の記憶装置から読み出し、前記第２の分散メタデータを前記第１の記憶装置とは異なる第２の記憶装置から読み出し、少なくとも前記第１の分散メタデータ及び前記第２の分散メタデータから、前記秘密分散モジュールに前記仮想ドライブメタデータを復元させ、復元された前記仮想ドライブメタデータに基づいて、前記仮想ドライブを生成するように構成されるコンピュータプログラムが開示されている。
【０００３】
特許文献２には、秘密情報を２以上の分散情報に分散して管理し、前記分散情報を集積することにより、前記秘密情報を復元する秘密情報分散システムであって、分散情報生成装置と、記憶装置と、分散情報復元装置とを有し、前記分散情報生成装置は、秘密情報をアクセス構造に従って２以上の分散情報に符号分散する秘密情報分散部と、多項式の全ての係数をランダムに選ぶことにより、前記秘密情報を分散する数に相当する個数の乱数列を作製し、前記全ての係数をアクセス構造に従って２以上の乱数分散情報に符号分散する乱数情報分散部と、前記秘密情報と前記乱数分散情報とを入力として、ハッシュ値が前記乱数列に相当するハッシュ関数を作製し、前記ハッシュ関数を成立させる鍵を選ぶことにより、復元した秘密情報が改竄されたものであるか否かをチェックするためのデータを、前記秘密情報を分散する数に相当する個数のチェックデータとして独立に設定するチェックデータ用生成部とを有し、前記分散情報生成装置は、前記分散情報と前記乱数情報と前記チェックデータとを一組の情報として出力するものであり、前記記憶装置は、前記秘密情報を分散する数に相当する台数分が備えられ、各記憶装置は、前記分散情報と前記乱数情報と前記チェックデータとを一組の情報として記憶するものであり、前記分散情報復元装置は、前記記憶装置から分散情報を読み出し、前記アクセス構造に従って前記秘密情報を復元する秘密情報復元部と、前記記憶装置から乱数情報を読み出し、前記アクセス構造に従って前記乱数列を復元する乱数情報復元部と、前記記憶装置からチェックデータを読み出し、その読み出したチェックデータが前記ハッシュ関数を満たす場合に、前記復元した秘密情報が改竄されていないことを判定する不正検知部と、を有することを特徴とする秘密情報分散システムが開示されている。
【０００４】
特許文献３には、サーバに対してデータを入出力する一つまたは複数のクライアントと、複数のファイルを保持し、クライアントから入力されたデータを処理し、ファイル更新データを記憶装置に格納するサーバと、サーバのファイルバックアップをとるバックアップ用ファイルサーバと、前記クライアント、サーバ及びバックアップ用ファイルサーバを接続する通信ネットワークとからなる分散システムにおけるファイルバックアップ方法であって、前記サーバは、ファイル毎に、該ファイルの更新回数をカウントする更新カウンタと、バックアップをとるための更新回数を定めた更新規定回数を設定したファイル管理テーブルを有し、前記更新カウンタのカウント値と前記更新規定回数の値とが所定の条件を満たした時点で、前記記憶装置内の当該ファイルのデータをバックアップデータとして前記バックアップ用ファイルサーバに送ることを特徴とする分散システムのファイルバックアップ方法が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第６０１９５１４号公報
【特許文献２】国際公開ＷＯ２０１０／１４７２１５号公報
【特許文献３】特開平６−２５０９０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１に記載の発明は、図７に示されているように、ステップＳ２４において、第１及び第２の分散ドライブの間の対応関係を検証し、例えば、第１の分散ドライブ識別子及び第２の分散ドライブ識別子が所定の共通的な文字列を含んでおりかつ期待される枝番を正確に有しているかの判定、又は、作成日時又は更新日時などのタイムスタンプが一致するかを判定しているが、ウイルスが侵入したか否かの判定をしていない。よって、第１の分散ドライブ識別子及び第２の分散ドライブ識別子が共通又は一致しているという判定で復元したときに、復元した秘密情報のデータがウイルスにより改竄されており元の秘密情報のデータとは異なるという問題があった。
【０００７】
特許文献２に記載の発明は、２以上に分散させた分散情報を集積させて復元した秘密情報が改竄されているか否かを検知するシステムであり、個々の分散情報の改竄を検知する技術ではない。そのため、分散情報にウイルスが侵入しているか否かに関わらず復元させるので、復元させたデータがウイルスに感染されて使用できない場合があるという課題があった。
【０００８】
特許文献３に記載の発明は、オリジナルファイルが改竄されたときに備えて、オリジナルファイルと同じ記憶内容のものをバックアップ用としてインターネットに接続されていない他の記憶装置に記憶させる技術であり、インターネットに接続され使用されているオリジナルファイルの例えばウイルス侵入による感染を防止できないという課題があった。オリジナルファイルがウイルスに感染するとオリジナルファイルは使用不可となり削除せざるを得ないという課題もある。
【０００９】
本発明はこうした問題に鑑み創案されたもので、オリジナルファイルである秘密情報の漏洩防止及びウイルス感染防止ができる、閾値分散法活用によるウイルス未発症・復元システム、ウイルス未発症・復元方法、ウイルス未発症・復元プログラム及び記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【００１０】
以下、ここに添付の図１２を参照して、課題を解決するための本発明の手段を説明する。
請求項１に記載のウイルス未発症・復元方法２００は、オリジナルファイルの分散と復元を繰り返すウイルス未発症・復元方法２００であって、閾値分散法により予め定めた復元に必要な数以上の複数の分散情報にオリジナルファイルを分散する分散手順Ｔ２と、前記分散後に前記オリジナルファイルを廃棄する廃棄手順Ｔ３と、前記分散情報からオリジナルファイルを復元させ、前記復元させたオリジナルファイルを排他制御下で管理する復元・排他制御手順Ｔ５と、閾値分散法により予め定めた復元に必要な数以上の複数の再分散情報に前記復元させたオリジナルファイルを再分散させる再分散手順Ｔ６と、前記再分散後に前記復元させたオリジナルファイルを廃棄する廃棄手順Ｔ７と、を備え、前記復元・排他制御手順Ｔ５、前記再分散手順Ｔ６、再分散後の前記廃棄手順Ｔ７を順にサイクルとして繰り返すことを特徴とする。
【００１１】
請求項２に記載のウイルス未発症・復元方法２００は、閾値分散法によりオリジナルファイルを分散情報に分散するとともに前記オリジナルファイルを廃棄し、前記分散情報から前記オリジナルファイルを復元させるウイルス未発症・復元方法２００であって、閾値分散法により、予め定めた復元に必要な数の複数の分散情報にオリジナルファイルを分散し、前記分散情報それぞれに対応するハッシュ値を算出する分散処理ステップＳ１０（ＳＳ１、ＳＳ２）、Ｔ２と、前記分散後に前記オリジナルファイルを廃棄する廃棄処理ステップＳＳ３、Ｔ３と、前記分散情報ごとに分散時に算出したハッシュ値と復元時に算出するハッシュ値とを比較し、前記比較でハッシュ値が一致の場合はその分散情報が正常であると判断し、前記比較でハッシュ値が不一致の場合は分散情報が破壊又は改竄されたと判断し、正常と判断した分散情報の数が復元に必要な分散情報の数に到達すると前記正常と判断した分散情報を組み合わせてオリジナルファイルへの復元処理を実行し、前記復元させたオリジナルファイルを排他制御下で管理する復元処理・排他制御管理ステップＳ９０（ＳＳ４、Ｓ１１〜Ｓ１８、Ｓ３２〜Ｓ３６、Ｓ４２〜Ｓ４８、Ｔ５）と、閾値分散法により、予め定めた復元に必要な数の複数の分散情報に前記復元されたオリジナルファイルを再分散し、前記分散情報それぞれに対応するハッシュ値を算出する再分散処理ステップＳ１９、Ｓ３７、Ｓ４９、Ｔ６と、前記再分散後に前記復元したオリジナルファイルを廃棄する廃棄処理ステップＳ２０、Ｓ３８、Ｓ５０、Ｔ７と、を備え、前記復元処理・排他制御管理ステップＳ９０、Ｔ５、前記再分散処理ステップＳ１９、Ｓ３７、Ｓ４９、Ｔ６，再分散の前記廃棄処理ステップＳ２０、Ｓ３８、Ｓ５０、Ｔ７を順にサイクルとして繰り返すことを特徴とする。
【００１２】
請求項３に記載のウイルス未発症・復元システム８０は、閾値分散法によりオリジナルファイルを分散情報に分散するとともに前記オリジナルファイルを廃棄し、前記分散情報から前記オリジナルファイルを復元させるウイルス未発症・復元システム８０であって、閾値分散法により、予め定めた復元に必要な数の複数の分散情報にオリジナルファイルを分散し、前記分散情報それぞれに対応するハッシュ値を算出する分散処理手段８１と、前記分散後に前記オリジナルファイルを廃棄する廃棄処理手段８２と、前記複数の分散情報をそれぞれ異なる記憶装置に記憶し、少なくとも前記複数の分散情報のハッシュ値情報を含むインデックス情報を前記分散情報とは異なる記憶装置に記憶する記憶手段８３と、前記分散情報ごとに分散時に算出したハッシュ値と復元時に算出するハッシュ値とを比較し、前記比較でハッシュ値が一致の場合はその分散情報が正常であると判断し、前記比較でハッシュ値が不一致の場合は分散情報が破壊又は改竄されたと判断し、正常と判断した分散情報の数が復元に必要な分散情報の数に到達すると前記正常と判断した分散情報を組み合わせてオリジナルファイルを復元する復元処理手段８４と、前記復元させたオリジナルファイルを排他制御下で管理する排他制御手段８６と、閾値分散法により、予め定めた復元に必要な数の複数の分散情報に前記復元されたオリジナルファイルを再分散し、前記分散情報それぞれに対応するハッシュ値を算出する再分散処理手段８５と、前記再分散後に前記復元したオリジナルファイルを廃棄する廃棄処理手段８２と、を備え、前記復元処理手段８４による復元処理、前記排他制御手段８６による排他制御、前記再分散処理手段８５による分散処理、再分散処理後の前記廃棄処理手段８２による廃棄処理の順にサイクルとして繰り返すことを特徴とする。
【００１３】
請求項４に記載のウイルス未発症・復元システムは、請求項３において、前記復元処理手段８４が、ハッシュ値が不一致と判断された場合、残りの正常な複数の分散情報によりオリジナルファイルを復元し、前記再分散処理手段８５が、復元したオリジナルファイルを再分散させることにより、再分散後の分散情報すべてを正常な分散情報に回復させることを特徴とする。
【００１４】
請求項５に記載のウイルス未発症・復元システムは、請求項３又は４において、前記復元処理手段８４又は前記再分散処理手段８５が、前記分散情報ごとに分散時と復元時とのハッシュ値を比較し、前記比較でハッシュ値が不一致の分散情報を抽出することを特徴とする。
請求項６に記載のウイルス未発症・復元システムは、請求項１から５の何れかにおいて、分散処理部の前段に、オリジナルフォルダを圧縮ファイルに変換する圧縮部を備え、復元処理部の後段に、前記圧縮ファイルを前記オリジナルフォルダに変換する伸長部を備えたことを特徴とする。
【００１５】
請求項７に記載のウイルス未発症・復元プログラムは、請求項１又は２に記載のウイルス未発症・復元方法をコンピュータに実行させることを特徴とする。
【００１６】
請求項８に記載のコンピュータ読み取り可能な記憶媒体は、請求項７に記載のプログラムを記憶したことを特徴とする。
【発明の効果】
【００１７】
請求項１〜８に記載の発明は、オリジナルファイルを保存することなく、オリジナルファイルを分散し、オリジナルファイルを使用しようとしたときに分散した分散情報からオリジナルファイルを復元し、復元したオリジナルファイルを排他制御下で管理して閲覧や書き込み等の操作をし、操作が終了すると、復元したオリジナルファイルを再分散した後に前記復元したオリジナルファイルを廃棄処理する。そして、再び分散状態にあるオリジナルファイルを使用しようとしたときに分散した分散情報からオリジナルファイルを再復元し、再復元したオリジナルファイルを排他制御下で管理して閲覧や書き込み等の操作をし、前記操作が終了すると、再復元したオリジナルファイルを再々分散した後に前記復元したオリジナルファイルを廃棄処理する。このように、オリジナルファイルは、閲覧や書き込み等の操作をしない間は分散状態にあって、オリジナルファイルは廃棄処理されており、復元処理してオリジナルファイルの閲覧や書き込み等の操作が可能な間は排他制御下で管理するので、常時、オリジナルデータ自体が破壊又は改竄されることが生じないという際立つ効果を奏する。なお、排他制御は、一般的に使用されている意味と同じであり、オリジナルファイルへの書き込み等が行われている間は別のプログラムによる書き込みを禁止する制御を意味する。
【００１８】
また、閾値分散法によりオリジナルファイルを意味のない分散情報に分散させることによりオリジナルファイルの漏洩を防ぎ、分散情報の分散時のハッシュ値と復元しようとするときのハッシュ値の照合により一致した分散情報、すなわちウイルスの侵入のない正常な分散情報のみからオリジナルファイルを復元するので、分散情報から復元が必ず実現するという効果を奏し、オリジナルファイルへのウイルスによる感染を防ぐという効果を奏する。前記オリジナルファイルとしては医療関連データや住宅構造図等の重要な秘密ファイルが該当し、そのようなオリジナルデータ自体を破壊又は改竄させずに保存できるという効果を奏する。
【００１９】
また、分散情報にウイルスが侵入すると、ウイルスはウイルスの作者がプログラムに組み込んだウイルスの起動条件であるトリガを埋め込むので、０と１の羅列で表現したバイナリ情報が変わる。これにより分散情報に基づいてハッシュ関数で算出したハッシュ値が分散時のハッシュ値から変わり異なる値となる。したがって、ハッシュ値の変化有無によりウイルスが分散情報に侵入したか否かがわかるという効果を奏する。
【００２０】
また、ハッシュ値が変わった分散情報をもとにオリジナルファイルを復元することはできない。よって、ウイルスが侵入した分散情報は復元できないので、ウイルスが発症することはない。したがって、ウイルスが侵入した分散情報がオリジナルファイルに対して悪影響を及ぼすことがないという効果を奏する。そして、一般的には侵入したウイルスの種類ごとに駆除ソフトが開発されることからウイルスの種類がわからないと駆除できないが、本発明はいかなるウイルスの種類であってもウイルスが侵入してきたらウイルス侵入前とウイルス侵入後とではハッシュ値が異なるので、このハッシュ値の変化有無の照合を行うことによりいかなるウイルスの種類であってもオリジナルファイルに対するウイルスの感染を防ぐことができるという効果を奏する。
【００２１】
よって、本発明は、分散情報にウイルスが侵入してきても、ウイルスが侵入していない残りの正常な複数の分散情報から復元するので、オリジナルファイルをウイルスによる破壊又は改竄されたことを理由に失うことはないという効果を奏する。また、破壊又は改竄は、分散情報へのウイルスの侵入の他に、分散情報を記憶させた記憶装置の故障の場合や操作ミスで分散情報を変えた場合等が該当する。
【００２２】
オリジナルファイルを閾値分散法で一つ一つは意味のないファイルに分散するので、一つの分散情報が漏洩してもオリジナルファイルを復元させることはできないので、秘密情報が漏洩しないという効果を奏する。
【００２３】
また、ウイルス侵入や操作ミス等により破壊又は改竄される分散情報数を予測して、万一分散情報が破壊又は改竄されても残りの正常な複数の分散情報からオリジナルファイルが復元できるように事前に対策を講じることができるという効果を奏する。
【００２４】
また、分散情報の数が復元に必要な分散情報の数に到達すると正常と判断した分散情報を組み合わせてオリジナルファイルを復元すると記載され、かつ、図９に示すように、例えば復元に必要な分散情報数が２つの場合、分散情報の一つ目及び二つ目が正常の場合は復元処理・排他制御下で管理するステップＳ１８に進み、分散情報の一つ目と二つ目が、正常が一つと破壊又は改竄が一つの場合は第１種分散情報復元・再分散処理のステップＳ２１に進め、分散情報の一つ目と二つ目がともに破壊又は改竄された場合は第２種分散情報復元・再分散処理のステップＳ２１に進む。このように、復元に必要な正常な分散情報数が確保された時点で復元処理に進むので、効率的に復元処理ができるという効果を奏する。
【００２５】
請求項４に記載の発明は、ウイルスが侵入していない残りの正常な複数の分散情報からオリジナルファイルを復元して、再び閾値分散法によりオリジナルファイルを意味のない分散情報に分散させることができる。これにより、ウイルスが侵入した分散情報を上書きにより元通りに復元させることができるという効果を奏する。なお、ウイルスが侵入した分散情報の拡張子が破壊又は改竄されている場合などの上書きができない場合は削除等を実行する。
【００２６】
請求項５に記載の発明は、ウイルス侵入した分散情報を集めてリスト化して検体とすれば、これを検体として新たなウイルス駆除ソフトを開発することができるので、新たなウイルス駆除ソフトをより早期に開発することに大いに貢献できるという効果を奏する。
【図面の簡単な説明】
【００２７】
【図１】本発明のウイルス未発症・復元システムのシステム動作に必要なシステム構成例を示す説明図である。
【図２】本発明に係るウイルス未発症・復元システムの動作に必要なハードウエア構成例を示す説明図である。
【図３】本発明に係るウイルス未発症・復元システムで扱う情報を示す説明図である。
【図４】本発明に係るウイルス未発症・復元システムの全体構成を示す説明図である。
【図５】本発明に係るウイルス未発症・復元システムの分散処理を示すブロック図である。
【図６】本発明に係るウイルス未発症・復元システムの復元処理を示すブロック図である。
【図７】本発明に係るウイルス未発症・復元方法の分散処理のフロー図である。
【図８】本発明に係るウイルス未発症・復元方法のインデックス情報取得処理のフロー図である。
【図９】本発明に係るウイルス未発症・復元方法の復元処理・再分散処理のフロー図である。
【図１０】本発明に係るウイルス未発症・復元方法の第１種分散情報復元・再分散処理のフロー図である。
【図１１】本発明に係るウイルス未発症・復元方法の第２種分散情報復元・再分散処理のフロー図である。
【図１２】本発明に係るウイルス未発症・復元方法のフロー図である。
【図１３】本発明のウイルス未発症・復元方法の変形例に係るフロー図である。
【図１４】本発明のウイルス未発症・復元方法の分散処理の変形例のフロー図である。
【図１５】本発明のウイルス未発症・復元方法のインデックス情報取得処理のフロー図である。
【図１６】図５に示す分散処理において、分散の失敗時には、レジウム機能によって分散処理を再履行する処理の一態様を示すフローチャートである。
【図１７】分散転送の失敗時には、レジウム機能によって分散転送処理を再履行する工程の他の態様を示すフローチャートである。
【図１８】オリジナルファイルＣ１と分散情報とインデックス情報Ｃ５との関係を示す図である。
【図１９】分散情報の復元方法を示すフローチャートである。
【図２０】情報端末にソフトウェアの保護機能として、使用者を識別するためのＰＩＮコードの設定を示すフローチャートである。
【図２１】ソフトウェアの保護機能を説明するフローチャートである。
【図２２】オリジナルフォルダを伝送する分散処理の構成を示すブロック図である。
【図２３】オリジナルフォルダの復元構成を示すブロック図である。
【発明を実施するための形態】
【００２８】
以下、本発明に係るウイルス未発症・復元システムに係る幾つかの実施形態について、添付の図面を参照して詳細に説明する。
（第１の実施形態）
本発明の第１の実施形態では、ウイルス未発症・復元補法を、ファイルシステムに適用した例を、図１〜図１２を参照して説明する。
図１に示すように、本発明のウイルス未発症・復元システム８０は、閾値分散法によりオリジナルファイルを分散情報に分散するとともに前記オリジナルファイルを廃棄し、前記分散情報から前記オリジナルファイルを復元させるウイルス未発症・復元システム８０であって、閾値分散法により、予め定めた復元に必要な数の複数の分散情報にオリジナルファイルを分散し、前記分散情報それぞれに対応するハッシュ値を算出する分散処理手段８１と、前記分散後に前記オリジナルファイルを廃棄する廃棄処理手段８２と、前記複数の分散情報をそれぞれ異なる記憶装置に記憶し、少なくとも前記複数の分散情報のハッシュ値情報を含むインデックス情報を前記分散情報とは異なる記憶装置に記憶する記憶手段８３と、前記分散情報ごとに分散時に算出したハッシュ値と復元時に算出するハッシュ値とを比較し、前記比較でハッシュ値が一致の場合はその分散情報が正常であると判断し、前記比較でハッシュ値が不一致の場合は分散情報が破壊又は改竄されたと判断し、正常と判断した分散情報の数が復元に必要な分散情報の数に到達すると正常と判断した分散情報を組み合わせてオリジナルファイルを復元する復元処理手段８４と、復元させたオリジナルファイルを排他制御下で管理する排他制御手段８６と、閾値分散法により、予め定めた復元に必要な数の複数の分散情報に復元されたオリジナルファイルを再分散し、分散情報それぞれに対応するハッシュ値を算出する再分散処理手段８５と、再分散後に復元したオリジナルファイルを廃棄する廃棄処理手段８２と、を備え、復元処理手段８４による復元処理、排他制御手段８６による排他制御、再分散処理手段８５による分散処理、再分散処理後の廃棄処理手段８２による廃棄処理の順にサイクルとして繰り返すウイルス未発症・復元システム８０である。
【００２９】
このウイルス未発症・復元システム８０は、前記復元処理手段８４が、ハッシュ値が不一致と判断された場合、残りの正常な複数の分散情報によりオリジナルファイルを復元し、前記再分散処理手段８５が、復元したオリジナルファイルを再分散させることにより、再分散後の分散情報すべてを正常な分散情報に回復させる。これにより、分散時の分散情報には改竄された分散情報は含まれない。
【００３０】
ウイルス未発症・復元システム８０は、前記復元処理手段８４又は前記再分散処理手段８５が、前記分散情報ごとに分散時と復元時とのハッシュ値を比較し、前記比較でハッシュ値が不一致の分散情報を抽出する。ハッシュ値が不一致の分散情報はウイルスにより破壊又は改竄されている可能性が高いので、このウイルスに破壊又は改竄されたファイルを抜き出しウイルス対策の研究の試料とすることができる。
【００３１】
本発明のウイルス未発症・復元システム８０の動作に必要なシステム構成１について説明する。図１に示すように、分散処理手段８１、廃棄手段８２、復元処理手段８４、排他制御手段８６及び再分散処理手段８５を備える情報処理装置２５やネットワーク２０を備え、さらに記憶手段８３として、情報処理装置２５とつながった記憶装置Ｄ２４及び記憶装置Ａ２１、前記ネットワーク２０とつながった記憶装置Ｂ２２、記憶装置Ｃ２３及び記憶装置Ｅ２５を備える。前記情報処理装置２５はパソコン（ＰＣ）等のコンピュータである。
【００３２】
前記複数の分散情報をそれぞれ異なる記憶装置に記憶する、及び、少なくとも前記複数の分散情報のハッシュ値情報を含むインデックス情報を前記分散情報とは異なる記憶装置に記憶する記憶手段８３は、記憶装置Ａ２１、記憶装置Ｂ２２、記憶装置Ｃ２３及び記憶装置Ｅ２５であり、これらはＵＳＢフラッシュメモリやクラウドストレージ等の外部記憶装置である。記憶装置Ｄ２４はハードディスク等の内部記憶装置であり、いずれの記憶装置も情報処理装置２５と通信する。前記外部記憶装置には、文書や画像や動画ファイルを大量に格納可能な大容量に適したオブジェクトストレージ、クラウドストレージ、サーバコンピュータ、光学ディスク、ハードディスク等の磁気ディスク、ＵＳＢフラッシュメモリ、磁気テープ等が該当する。内部記憶装置には電源ＣＰＵと直接にデータをやり取りするメモリーが該当する。
【００３３】
以下、本発明では、記憶装置２９の使用例として、記憶装置Ｄ２４をハードディスクとし、記憶装置Ａ２１をＵＳＢフラッシュメモリとし、記憶装置Ｂ２２や記憶装置Ｃ２３をクラウドストレージとし、記憶装置Ｅ２５をサーバコンピュータとした例を説明するが、本発明の記憶装置の種類は外部記憶装置であればいずれでもよくこれに限定されない。
【００３４】
オリジナルファイルを閾値分散法により３つに分散させる場合には、例えば、分散情報Ａ５１、分散情報Ｂ５３、分散情報Ｃ５５に３つの種類の分散情報を生成させる。前記３つの種類の分散情報の記憶形態には、第一に分散情報Ａ５１、分散情報Ｂ５３、分散情報Ｃ５５を各１つずつそれぞれ異なる記憶装置に記憶する第一記憶形態があり、第二に分散情報Ａ５１、分散情報Ｂ５３、分散情報Ｃ５５の内のいずれかと同じ種類の分散情報を追加して閾値分散法による分散情報は３種類であるがいずれかの１種類の分散情報のコピーファイルを１つ追加して４つの異なる記憶装置に記憶する第二記憶形態がある。前記第二記憶形態の場合は、例えば、分散情報Ａ５１、分散情報Ｂ５３、分散情報Ｃ５５、分散情報Ａ又はＢ５７の分散情報の種類数は３つであるが４つの分散情報をそれぞれ異なる記憶装置に記憶する。なお、分散情報のコピーファイル数はウイルスによる分散情報数の予測数によって異なり、事例に記載した１つに限定されない。
【００３５】
前記第一記憶形態の場合は、３つの分散情報をそれぞれ別個の外部記憶装置に記憶させる必要があるので、例えば、分散情報Ａ５１を外部記憶装置であるハードディスク（記憶装置Ｄ２４）に記憶し、分散情報Ｂ５３を外部記憶装置であるＵＳＢフラッシュメモリ（記憶装置Ａ２１）に記憶し、分散情報Ｃ５５を外部記憶装置であるクラウドストレージ（記憶装置Ｂ２２）に記憶し、このように３カ所であって別々の場所にある記憶装置にそれぞれ記憶させ保存する。分散情報ごとに別々の場所であり別々の記憶装置に記憶させることによりオリジナルファイルの漏洩等のリスクを軽減できる。前記３か所の記憶装置は、記憶装置Ａ２１、記憶装置Ｂ２２、記憶装置Ｃ２３、記憶装置Ｄ２４及び記憶装置Ｅ２５の中から任意に選択した３つの記憶装置であればよいが、選択する記憶装置の中の１つはクラウドストレージを選択するのがウイルス侵入を困難にするのには好ましい。また、ハッシュ値等の個々の分散情報に関連するインデックス情報も関連する分散情報に紐つけて記憶させる。
【００３６】
閾値分散法では、分散情報が３つの場合には、復元に必要な分散情報は２つ以上であり、仮に、分散情報数の１つがウイルスに侵入された場合、残りの正常な分散情報２つでオリジナルファイルを復元できる。また、個々の分散情報はそれ自体のみでは判読不能の意味を持たない情報でありゴミファイルであるため、残った１つの分散情報からオリジナルファイルを復元することができない。
【００３７】
そこで、その対応として前記第二記憶形態を実施し、閾値分散法による分散情報の種類を３つで、前記３種類の内の１つの種類の分散情報を追加した４つの分散情報をそれぞれ４か所の異なる記憶装置に記憶させる。例えば、分散情報Ａ５１をハードディスク（記憶装置Ｄ２４）に記憶し、分散情報Ｂ５３をＵＳＢフラッシュメモリ（記憶装置Ａ２１）に記憶し、分散情報Ｃ５５をクラウドストレージ（記憶装置Ｂ２２）に記憶し、分散情報Ａ又はＢを外部記憶装置であるクラウドストレージ（記憶装置Ｃ２３）に記憶する。クラウドストレージ（記憶装置Ｂ２２や記憶装置Ｃ２３）はウイルスに侵入されにくいため、万一記憶装置Ａ２１と記憶装置Ｄ２４の２つの記憶装置にウイルスが侵入してきても、前記クラウドストレージである記憶装置Ｂ２２及び記憶装置Ｃ２３の２つに分散させた分散情報Ｃ５５と分散情報Ａ又はＢ５７からオリジナルファイルＣ１を復元できる。
【００３８】
前記閾値分散法は秘密分散法の１形態であって、秘密情報であるオリジナルファイルＣ１が正当な権限を有する者以外に流出した場合には莫大な損害を被る懸念があることから、秘密情報である医療関連データや住宅構造図等のオリジナルファイルＣ１を意味のないファイルに分散し、その後にその分散した分散情報を組み合わせてオリジナルファイルＣ１を復元させる技術である。前記閾値分散法は、組み合わせる時に集める分散情報の数は、例えばオリジナルデータＣ１を３個に分散させた場合は、万一１個の分散情報にウイルスが侵入していても残りの２個の複数の分散情報を用いてオリジナルファイルを復元させることができる。
【００３９】
次に、情報処理装置２５のハードウエア構成２について説明する。ハードウエア構成２は、図２に示すように、中央処理装置３０と記憶装置２９を備える演算処理装置２８と、入出力コントローラ３６とを備える。前記中央処理装置３０は、ＣＰＵを含み制御プログラムに従って全体の動作を司る制御装置３１と、論理演算等の演算を行う演算装置３２とを備え、前記記憶装置２９は、ＣＰＵが直接アクセスして演算できる内部記憶装置である主記憶装置２６と、ＣＰＵが直接アクセスできない外部記憶装置である補助記憶装置２７とを備え、前記入出力コントローラ３６は、キーボード、マウス、イメージスキャナ、デジタルカメラ等の入力装置３３と、演算処理した成果物である情報を出力する出力装置３４と、外部記憶装置とデータの送受信を行う通信装置３５とを備える。
【００４０】
前記補助記憶装置２７は外部記憶装置として、各種ファイルを記憶しており、分散情報と分散情報毎の分散時のハッシュ値と前記分散情報の保存先等を記憶している。
【００４１】
前記制御装置は、ウイルス未発症・復元方法２００を実行可能な制御モジュールのプログラムによって動作し、入力装置３３からの指示を受け、演算装置３２、記憶装置２９、出力装置３４、通信装置３５に指示を出している。
【００４２】
次に、本発明のシステムで扱う情報３について説明する。本発明のシステムで扱う情報３は、図３に示すように、アプリケーションで扱う情報４０と、分散処理時に分散される情報である分散情報を保存させた、例えば分散情報の保存先数が４つの場合は分散保存先５０、５２、５４、５６とを備える。前記アプリケーションで扱う情報４０には、アプリケーション内部で処理される情報４１と、インデックス情報としてアプリケーションへ入出力される情報４４と、アプリケーション自身の設定に関する情報である基本設定情報４９とを備える。
【００４３】
前記アプリケーション内部で処理される情報４１は、ファイルの分散、復元、インデックス情報の読み書きに使用する秘密分散モジュール４２と、アプリケーションの制御に用いられる制御モジュール４３とを備え、前記インデックス情報としてアプリケーションへ入出力される情報４４は、分散・復元の対象となるファイルの情報であるオリジナルファイル情報４５と、各分散先への接続に必要となる情報である分散保存先の接続情報４６と、各分散情報に対するハッシュ値の情報である分散情報のハッシュ値情報４７と、各分散保存先に対してアクセスできるかを示す情報である分散情報の参照可否情報４８と、を備えている。
【００４４】
例えば３つに分散させたものを異なる３カ所に保存する場合には、分散保存先５０には分散情報Ａ５１及び分散情報Ａ５１に関連する情報が保存され、分散保存先５２には分散情報Ｂ５３及び分散情報Ｂ５３に関連する情報が保存され、分散保存先５４には分散情報Ｃ５５及び分散情報Ｃ５５に関連する情報が保存される。
【００４５】
例えば、閾値分散法で３つに分散させた分散情報を４カ所に保存する場合には、分散保存先５０には分散情報Ａ５１及び分散情報Ａ５１に関連する情報が保存され、分散保存先５２には分散情報Ｂ５３及び分散情報Ｂ５３に関連する情報が保存され、分散保存先５４には分散情報Ｃ５５及び分散情報Ｃ５５に関連する情報が保存され、分散保存先５６には分散情報Ａ５１及び分散情報Ａ５１に関連する情報あるいは分散情報Ｂ５３及び分散情報Ｂ５３に関連する情報が保存される。
【００４６】
次に、本発明のシステムの全体構成４について説明する。本発明のシステムの全体構成４として、図４に示すように、制御モジュール４３は、秘密分散モジュール４２、ファイルシステム６３、情報の提示に画像や図形を多用し、基礎的な操作の大半を画面上の位置の指示により行うことができる手法であるＧＵＩ６４、入出力コントローラ３６及び補助記憶装置２７と相互に通信し、ファイルシステム６３は、外部アプリケーション６２及びＧＵＩ６４と相互に通信し、入出力コントローラ３６は、オブジェクトストレージ６５及び外部記憶装置６８と相互に通信する。
【００４７】
前記秘密分散モジュール４２は、分散処理部７０と復元処理部７１とインデックス情報取得部７２とインデックス情報生成部７３とを備え、前記制御モジュール４３は、各分散保存先への接続可否監視部７４と、分散情報の整合性監視部７５と、分散情報の回復処理部７６と、ＧＵＩ描画・更新処理部７７とを備える。
【００４８】
閾値分散法により、予め定めた復元に必要な数の複数の分散情報にオリジナルファイルを分散し、前記分散情報それぞれに対応するハッシュ値を算出する分散処理手段８１と再分散処理手段８５について説明する。本発明において、分散処理手段８１と再分散処理手段８５とは同じ手段である。
【００４９】
まず、分散処理のブロック図５について、分散数が例えば３の場合について説明する。分散処理のブロック図５は、図５に示すように、秘密分散モジュール４２のプログラムの分散取得部７０によって、オリジナルファイルＣ１を秘密情報法の１つである閾値分散法により、分散情報Ａ５１、分散情報Ｂ５３、分散情報Ｃ５５の３つに分散する。そしてそれぞれ異なる記憶装置に記憶する。この場合に少なくとも分散情報の１つはウイルス侵入が困難であるクラウドストレージに記憶する。
【００５０】
あるいは、オリジナルファイルＣ１を閾値分散法により３つの分散情報に分散するが、前記３つの分散情報のうちの１つのコピーファイルを追加して計４つの分散情報数とし、異なる４つの記憶装置に記憶させる場合は、例えば、分散処理部７０によって分散情報Ａ５１、分散情報Ｂ５３、分散情報Ｃ５５、分散情報（Ａ又はＢ）５７に分散してそれぞれ異なる記憶装置に記憶する。オリジナルファイルＣ１は分散情報Ａ５１、分散情報Ｂ５３、分散情報Ｃ５５の３つの意味のないデータとして分散することに加えて、クラウドストレージ以外の記憶装置に記憶した分散情報のうちの１つを追加でダブらせてクラウドストレージに記憶する。例えば、分散情報Ｃ５５をクラウドストレージに記憶させる場合は、分散情報Ａ５１又は分散情報Ｂ５３のどちらかと同じ内容のコピーファイルである分散情報（Ａ又はＢ）５７を追加させる。
【００５１】
分割する数は３つ以上でもよいが、分散数が過多になるとそれらの分散情報を格納する記憶装置の数も多くなり、また復元するときも分散情報を集めるのが煩わしくなるので、分散数は１６程度までが好ましい。それぞれの分散情報はそれぞれ異なる記憶装置２９に記憶される。インデックス情報生成部７３は、分散処理部７０からの分散情報Ａ５１、分散情報Ｂ５３、分散情報Ｃ５５、分散情報（Ａ又はＢ）５７に対して、それぞれのハッシュ値、保存先情報、保存先の参照可否情報等の情報を生成し、それらの情報であるインデックス情報Ｃ５を出力する。
【００５２】
次に、前記再分散するときに前記復元したオリジナルファイルを廃棄する廃棄手段８２について説明する。分散処理手段８５によりオリジナルファイルＣ１が分散された直後に、前記オリジナルファイルＣ１を廃棄処理する。これにより、本発明のウイルス未発症・復元システム８０は、オリジナルファイルＣ１が保存されないことと、分散処理手段８１又は再分散処理手段８５による分散処理と復元処理手段８４による復元処理とを繰り返すことにより、オリジナルファイルＣ１にウイルスが侵入し難い環境をつくることにより、ウイルス未発症とすることができる。
【００５３】
次に、前記分散情報ごとに分散時に算出したハッシュ値と復元時に算出するハッシュ値とを比較し、前記比較でハッシュ値が一致の場合はその分散情報が正常であると判断し、前記比較でハッシュ値が不一致の場合は分散情報が破壊又は改竄されたと判断し、正常と判断した分散情報の数が復元に必要な分散情報の数に到達すると前記正常と判断した分散情報を組み合わせてオリジナルファイルを復元する復元処理手段８４について説明する。
【００５４】
復元処理のブロック図６について、例えば分散数が３つの場合について説明する。分散処理のブロック図６は、図６に示すように、秘密分散モジュール４２のインデックス情報取得部７２によってインデックス情報Ｃ５を取得し、インデックス情報取得部７２によってそのインデックス情報Ｃ５内にある分散保存先の接続情報４６を取得して、前記取得した分散保存先の接続情報４６を入力して復元処理部７１がそれぞれの記憶装置から分散情報を取得する。それとともに入出力コントローラ３６の操作によってハッシュ値を取得する。例えば、復元処理部７１によって分散情報Ａ５１、分散情報Ｂ５３、分散情報Ｃ５５の３つの分散情報の中から２つの正常な分散情報を取得してオリジナルファイルＣ１を復元する。あるいは、復元処理部７１によって分散情報Ａ５１、分散情報Ｂ５３、分散情報Ｃ５５、分散情報（Ａ又はＢ）５７の４つの分散情報の中から２つの正常な分散情報を取得してオリジナルファイルＣ１を復元する。このとき、２つの分散情報により復元が可能となるのは、分散するときに冗長性をもたせているからである。
【００５５】
前記復元したオリジナルファイルＣ１は、別のプログラムによる書き込みを禁止する排他制御下で管理する。この排他制御下で管理しているときにオリジナルファイルＣ１の閲覧・書き込み等の作業を行う。そして閲覧や書き込みが終了すると、オリジナルファイルＣ１の再分散を実施し、前記再分散直後に排他制御下のオリジナルファイルＣ１を廃棄処理する。
【００５６】
本発明のウイルス未発症・復元システムは、図１に示す本発明のシステムの動作に必要なシステム構成１、図２に示す本発明のシステムの動作に必要なハードウエア構成２、及び、図４に示す本発明のシステムの全体構成４を備え、図３に示す本発明のシステムで扱う情報３を用いて、図５に示す分散処理のブロック図及び図６に示す復元処理のブロック図でそれぞれの処理をするシステムである。そして、図７に示す分散処理のフロー７、図８に示す分散情報取得のフロー８、図９に示すウイルス未発症・復元方法のフロー９、図１０に示す第１種分散情報復元・再分散処理のフロー１０、図１１に示す第２種分散情報復元・再分散のフロー１１のウイルス未発症・復元方法を実行するシステムである。
【００５７】
本発明で用いる閾値分散法は、秘密分散法の方式であり、ＩＳＯ規格ＩＳＯ／ＩＥＣ１９５９２−２：２０１７のＣｏｍｐｕｔａｔｉｏｎａｌ  ａｄｄｉｔｉｖｅ  Ｓｅｃｒｅｔ  Ｓｈａｒｉｎｇ  ｓｃｈｅｍｅの方式に該当し、オリジナルファイルＣ１を複数の分散情報に分け、それらがある決められた数集まらないと元のオリジナルファイルＣ１を復元することができない方式である。
【００５８】
前記分散処理部７０によりオリジナルファイルＣ１を閾値分散法により、予め定めた複数の分散情報を集めてオリジナルファイルＣ１が復元可能となるように前記オリジナルファイルＣ１を分散する。分散数Ｎが３以上で奇数の場合は予め定めた分散情報の数は過半数（Ｎ／２＋０．５）以上であって（Ｎ−１）以下の数を選択し、分散数Ｎが３以上で偶数の場合は予め定めた分散情報の数は過半数（Ｎ／２＋１）以上であって（Ｎ−１）以下の数を選択する。例えば、前記分散数を３とし、３つの分散情報のうちの１つの分散情報がウイルスに侵入されても、又は、１つの分散情報を誤操作して消去しても、残りの正常な２つの複数の分散情報を集めてオリジナルファイルＣ１が復元できるように分散する。
【００５９】
例えば、オリジナルファイルＣ１の閾値分散法により分散した分散数を３つとし３つの異なる記憶装置に記憶した場合には、１つの分散情報が破壊又は改竄されても残りの２つの分散情報を集めて復元できるように分散情報を生成する。また、オリジナルファイルＣ１の閾値分散法により分散した分散情報数を３つとし前記分散情報の３つのいずれか１つのコピーファイルを加えて４つの分散情報数にして４つの異なる記憶装置に記憶した場合には、２つの分散情報が改竄されても残りの２つの分散情報を集めて復元できるように分散情報を生成する。
【００６０】
ハッシュ値は、ドキュメントや数字などの文字列の羅列から一定長（固定長）の０と１を組み合わせたデータに要約するためのハッシュ関数を実行して生成され、例えばＭＤ５等の一般的なハッシュ関数であればよい。ハッシュ関数による算出指示はコンピュータへのコマンドとして指示される。ハッシュ値は対象情報が異なれば、ハッシュ関数を使った計算結果であるハッシュ値も異なるので、例えば分散情報にウイルスが侵入してウイルスの起動条件であるトリガを埋め込むのでハッシュ関数で算出するとハッシュ値がウイルス侵入前とは異なる。したがって、ウイルス侵入したか否かはハッシュ値を確認することによって検知することが可能である。また、ハッシュ値が第三者に知られても分散情報は意味のない情報であるので分散情報からオリジナルファイルＣ１は漏洩されない。
【００６１】
次に、本発明のウイルス未発症・復元方法２００について説明する。本発明のウイルス未発症・復元方法２００は、図１２に示すように、オリジナルファイルＣ１の分散と復元を繰り返すウイルス未発症・復元方法２００であって、閾値分散法により予め定めた復元に必要な数以上の複数の分散情報にオリジナルファイルＣ１を分散する分散手順Ｔ２と、前記分散後に前記オリジナルファイルＣ１を廃棄する廃棄手順Ｔ３と、前記分散情報からオリジナルファイルＣ１を復元させ、前記復元させたオリジナルファイルＣ１を排他制御下で管理する復元・排他制御手順Ｔ５と、閾値分散法により予め定めた復元に必要な数以上の複数の再分散情報に前記復元させたオリジナルファイルＣ１を再分散させる再分散手順Ｔ６と、前記再分散後に前記復元させたオリジナルファイルＣ１を廃棄する廃棄手順Ｔ７と、を備え、前記復元・排他制御手順Ｔ５、前記再分散手順Ｔ６、再分散後の前記廃棄手順Ｔ７を順にサイクルとして繰り返す。よって、前記復元・排他制御手順Ｔ５でオリジナルファイルを復元させた復元時Ａ、及び、前記再分散手順Ｔ６と再分散後の前記廃棄手順Ｔ７でオリジナルファイルを分散させた分散時Ｂのいずれにおいても、第三者にオリジナルファイルの改竄をされる機会を与えない仕組みができる。
【００６２】
前記復元・排他制御手順Ｔ５は、分散情報取得Ｔ４１と、復元に必要数な正常な分散ファイル検出Ｔ４２と、オリジナルファイルを復元させ排他制御下での管理Ｔ５１とを備え、前記分散ファイル検出Ｔ４２では、正常な分散ファイルを検出する分散ファイル検出Ｔ４３を、正常な分散ファイルが復元に必要数な数確保するまで分散ファイル情報確認Ｔ４３を繰り返す。
【００６３】
次に、本発明のウイルス未発症・復元方法のフロー９を説明する。ウイルス未発症・復元方法２００は、図９に示すように、閾値分散法によりオリジナルファイルを分散情報に分散するとともに前記オリジナルファイルを廃棄し、前記分散情報から前記オリジナルファイルを復元させるウイルス未発症・復元方法２００であって、閾値分散法により、予め定めた復元に必要な数の複数の分散情報にオリジナルファイルを分散し、前記分散情報それぞれに対応するハッシュ値を算出する分散処理ステップＳ１０（ＳＳ１、ＳＳ２）、Ｔ２と、前記分散後に前記オリジナルファイルを廃棄する廃棄処理ステップＳＳ３、Ｔ３と、前記分散情報ごとに分散時に算出したハッシュ値と復元時に算出するハッシュ値とを比較し、前記比較でハッシュ値が一致の場合はその分散情報が正常であると判断し、前記比較でハッシュ値が不一致の場合は分散情報が破壊又は改竄されたと判断し、正常と判断した分散情報の数が復元に必要な分散情報の数に到達すると前記正常と判断した分散情報を組み合わせてオリジナルファイルを復元処理し、前記復元させたオリジナルファイルを排他制御下で管理する復元処理・排他制御管理ステップＳ９０（ＳＳ４、Ｓ１１〜Ｓ１８、Ｓ３２〜Ｓ３６、Ｓ４２〜Ｓ４８、Ｔ５）と、閾値分散法により、予め定めた復元に必要な数の複数の分散情報に前記復元されたオリジナルファイルを再分散し、前記分散情報それぞれに対応するハッシュ値を算出する再分散処理ステップＳ１９、Ｓ３７、Ｓ４９、Ｔ６と、前記再分散後に前記復元したオリジナルファイルを廃棄する廃棄処理ステップＳ２０、Ｓ３８、Ｓ５０、Ｔ７と、を備え、前記復元処理・排他制御管理ステップＳ９０、Ｔ５、前記再分散処理ステップＳ１９、Ｓ３７、Ｓ４９、Ｔ６、再分散の前記廃棄処理ステップＳ２０、Ｓ３８、Ｓ５０、Ｔ７を順にサイクルとして繰り返す。
【００６４】
本発明において、図７の分散処理ステップＳ１０は、図９のオリジナルファイルの分散処理ＳＳ１とインデックス情報生成ＳＳ２とを合わせたステップと、図９の再分散処理ステップＳ１９と、図１０の再分散ステップＳ３７と、図１１の再分散ステップＳ４９と、図１２のオリジナルファイルの分散手順Ｔ２と、図１２の復元オリジナルファイルの再分散手順Ｔ６とは同じ内容の処理を実行するステップ又は手順である。
【００６５】
次に、前記分散処理ステップＳ１０等の分散処理について説明する。図７に示すように、前記分散処理ステップＳ１０等の分散処理は、各分散保存先の参照可否状況をチェックする参照ステップＳ１と、復元に必要な分散情報の数を確保するために、参照可能な分散保存先の数が復元に必要な数以上であるかを判断する分散保存先判断ステップＳ２と、前記参照可能な分散保存先が復元に必要な数以上の場合に、閾値分散法により、予め定めた復元に必要な数の複数の分散情報にオリジナルファイルを分散する分散ステップＳ３と、前記参照可能な各分散保存先へ分散処理した分散情報をそれぞれ保存する保存ステップＳ４と、少なくとも前記各分散保存先に関する情報を、及び、各分散情報でそれぞれ算出したハッシュ値をインデックス情報に記憶するインデックス情報記憶ステップＳ９と、を備える。図７では、参照可能な分散保存先の数が３以上又は３未満である場合を示している。
【００６６】
前記分散処理ステップＳ１０での分散処理方法のフロー７をより詳しく説明する。なお、事例として閾値分散法による分散情報数を３とした場合を記載しているが本発明における分散情報数はこれに限定されない。
【００６７】
分散処理のフロー７は、図７に示すように、分散処理ステップＳ１０を示している。まず、ステップＳ１は各分散保存先の参照可否状況をチェックするステップである。制御モジュール４３の各分散保存先への接続可否監視部７４により制御装置３１と複数の記憶装置２９との接続状況をチェックする。例えば、分散数を３とする場合に、図３や図５に示した分散情報Ａ５１、分散情報Ｂ５３、分散情報Ｃ５５の分散保存先の記憶装置２９として、図１に示した記憶装置Ａ２１、記憶装置Ｂ２２、記憶装置Ｃ２３、記憶装置Ｄ２４及び記憶装置Ｅ２５が参照可能か否かをチェックする。また、分散数を３とする場合に、３つの分散情報をそれぞれ異なる記憶装置に記憶させることに加えて、３つの分散情報のうちの１つの分散情報のコピーファイルを分散情報として追加しさらに異なる１つの記憶装置に記憶させる場合もある。参照可能とは、図２に示す入出力コントローラ３６からアクセス可能であるか否か、言い換えると接続可能であるか否かをチェックすることを意味する。ステップＳ２は参照可能な分散保存先の数が復元に必要な分散情報の数以上か、復元に必要な分散情報の数未満であるかを判断するステップである。
【００６８】
ステップＳ２において参照可能な分散保存先が３未満の場合は本発明の効果を得られないとして分散処理を実行しない。分散数が２の場合もオリジナルファイルＣ１の分散は可能であるが、分散数が２の場合は、万一分散情報の１つにウイルスが侵入した場合には残りの正常な分散情報が１つになるのでオリジナルファイルＣ１への復元ができない。分散情報は意味のないデータであり、１つの分散情報が万一漏洩しても１つの分散情報からではオリジナルファイルに復元できないようにしているからである。
【００６９】
オリジナルファイルＣ１を分散した後にウイルスが侵入する分散情報を、１つと想定する場合や２つと設定する想定する場合を考慮して、複数の正常な分散情報からオリジナルファイルＣ１を復元させるためには、前記オリジナルファイルＣ１を分散した分散数未満であって前記分散情報の破壊又は改竄可能性数を考慮して予め定めた数の複数の分散情報を設定してもよい。また、前記オリジナルファイルからの分散情報の数を、１種類の分散情報ごとにそれぞれ異なる記憶装置に記憶させる組合せにより、又は、１種類の分散情報ごとに１つの記憶装置か２つの記憶装置かを選択して記憶させる組合せにより、復元時に必要とする複数の異なる分散情報数とウイルス侵入想定の分散情報数の合計数とする。例えば、閾値分散法による分散で生成した分散情報の数を２つとしウイルス侵入の分散情報数を０で可能とした場合は、２つの複数の正常な分散情報からオリジナルファイルＣ１を復元可能に２つに分散する。閾値分散法による分散で生成した分散情報の数を３つとしウイルス侵入の分散情報数を１つと想定した場合は、２つの複数の正常な分散情報からオリジナルファイルＣ１を復元可能に３つに分散する。例えば、閾値分散法による分散で生成した分散情報の数を３つとしウイルス侵入の分散情報数を２つと想定した場合は、いずれか１つの種類の分散情報のコピーファイルを追加して計４つの分散情報をそれぞれ異なる４つの記憶装置に記憶させ、そのうちの２つの複数の正常な分散情報からオリジナルファイルＣ１を復元可能に４つの記憶装置に分散する。この場合にはウイルス侵入の危険性が少ないクラウドストレージに異なる２つの分散情報を記憶させることが好ましい。
【００７０】
ステップＳ３は前記参照可能な分散保存先が３以上の場合に分散処理を実行するステップである。例えば、参照可能な分散保存先が記憶装置Ａ２１、記憶装置Ｂ２２、記憶装置Ｃ２３、記憶装置Ｄ２４であることが検知されたものとする。
【００７１】
ここで、閾値分散法による分散する分散情報イの数と、記録装置に記憶する分散情報ロの数について説明する。異なる記憶装置２９にそれぞれ１つずつ記憶させるすべての分散情報ロの数を、オリジナルファイルを復元させるために集める予め定めた２以上の複数の分散情報ハの数と予め定めた前記ハッシュ値が不一致となる予測する分散情報ニの数の合計とし、前記すべての分散情報ロの数から閾値分散法による分散させた前記分散情報イの数を引いた数を、前記閾値分散法による分散させた分散情報イの内の一部の分散情報のコピーファイルとする。
【００７２】
例えば、前記第一記憶形態の場合は、異なる記憶装置２９にそれぞれ１つずつ記憶させるすべての分散情報ロの数を、オリジナルファイルＣ１を復元させるために集める予め定めた２以上の複数の分散情報ハの数２つと予め定めた前記ハッシュ値が不一致となる予測する分散情報ニの数１つの合計３つとし、前記すべての分散情報ロの数３つから閾値分散法による分散させた前記分散情報イの数３つを引いた数０を、前記閾値分散法による分散させた分散情報イの内の一部の分散情報のコピーファイルとする。ここで、例えば、閾値分散法による分散させた分散情報イは分散情報Ａ５１、分散情報Ｂ５３及び分散情報Ｃ５５が該当し、すべての分散情報ロも分散情報Ａ５１、分散情報Ｂ５３及び分散情報Ｃ５５が該当し、２以上の複数の分散情報ハは分散情報Ａ５１、分散情報Ｂ５３及び分散情報Ｃ５５の内の２つが該当し、ハッシュ値が不一致となる予測する分散情報ニは分散情報Ａ５１、分散情報Ｂ５３及び分散情報Ｃ５５の内の１つが該当し、コピーファイルの数は０である。
【００７３】
例えば、前記第二記憶形態の場合は、異なる記憶装置２９にそれぞれ１つずつ記憶させるすべての分散情報ロ数を、オリジナルファイルＣ１を復元させるために集める予め定めた２以上の複数の分散情報ハの数２つと予め定めた前記ハッシュ値が不一致となる予測する分散情報ニの数２つの合計４つとし、前記すべての分散情報ロの数４つから閾値分散法による分散させた前記分散情報イの数３つを引いた数１つを、前記閾値分散法による分散させた分散情報イの内の一部の分散情報のコピーファイルとする。ここで、例えば、閾値分散法による分散させた分散情報イは分散情報Ａ５１、分散情報Ｂ５３及び分散情報Ｃ５５の３つが該当し、すべての分散情報ロは分散情報Ａ５１、分散情報Ｂ５３、分散情報Ｃ５５及び分散情報（Ａ又はＢ）５７の４つが該当し、２以上の複数の分散情報ハは分散情報Ａ５１、分散情報Ｂ５３、分散情報Ｃ５５及び分散情報（Ａ又はＢ）５７の内の２つが該当し、ハッシュ値が不一致となる予測する分散情報ニは分散情報Ａ５１、分散情報Ｂ５３、分散情報Ｃ５５及び分散情報（Ａ又はＢ）５７の内の２つが該当し、コピーファイルの数は１つである。
【００７４】
よって、例えば、３つに分散する場合は、３つの分散情報のうちの任意の２つの分散情報からオリジナルファイルＣ１が復元可能にそれぞれの分散情報に冗長性を持たせて分散する。また、例えば、３つに分散した分散情報及び前記分散情報のうちの１つのコピーファイルとから４つの分散情報を生成する場合は、４つの分散情報のうちの任意の２つの分散情報からオリジナルファイルＣ１が復元可能にそれぞれの分散情報に冗長性を持たせて分散する。これにより、誤って一部の分散情報を削除しても、ウイルスが侵入したり又は誤操作で破壊又は改竄されたりした１つの分散情報が検知されても、残りの２つの分散情報からオリジナルファイルＣ１を復元できる。
【００７５】
そして、ステップＳ４は参照可能な分散保存先へ分散情報を保存するステップである。例えば、分散情報Ａ５１を外部記憶装置であるハードディスク（記憶装置Ｄ２４）に記憶し、分散情報Ｂ５３を外部記憶装置であるＵＳＢフラッシュメモリ（記憶装置Ａ２１）に記憶し、分散情報Ｃ５５を外部記憶装置であるクラウドストレージ（記憶装置Ｂ２２）に記憶しそれぞれ保存する。
【００７６】
前記インデックス情報記憶ステップＳ９には、ステップ５〜８が含まれる。
【００７７】
ステップＳ５は各分散保存先の参照可否状況をインデックス情報Ｃ５に記憶するステップである。例えば、分散保存先である記憶装置Ａ２１、記憶装置Ｂ２２及び記憶装置Ｄ２４の参照可否状況が、アプリケーションに入出力される情報４４としてのインデックス情報Ｃ５として、参照可であるという情報が記憶装置２９に記憶される。
【００７８】
ステップＳ６は各分散情報のハッシュ値を算出しインデックス情報Ｃ５に記憶するステップである。インデックス情報生成部７３が分散情報を指定してハッシュ関数による算出を入出力コントローラ３６でコマンドとして指示することにより実施する。そして、算出した分散情報のハッシュ値情報４７をインデックス情報Ｃ５として記憶装置２９に記憶する。
【００７９】
ステップＳ７は各分散保存先情報をインデックス情報Ｃ５に記憶するステップである。インデックス情報生成部７３で生成した分散保存先の接続情報４６をインデックス情報Ｃ５として記憶装置２９に記憶する。
【００８０】
よって、前記記憶装置２９が、少なくとも、前記複数の分散情報、及び、前記分散情報に関連する少なくとも保存先やハッシュ値のインデックス情報Ｃ５を前記分散情報ごとに別々の記憶装置２９に記憶することとなる。
【００８１】
ステップＳ８はオリジナルファイル情報をインデックス情報Ｃ５に記憶するステップである。インデックス情報生成部７３で生成したオリジナルファイル情報４５をインデックス情報Ｃ５として記憶装置２９に記憶する。これで分散処理は終了する。
【００８２】
次に、分散情報取得ステップＳ６０について分散情報取得フロー８で説明する。図８に示す前記分散情報取得ステップＳ６０は、図９のインデックス情報取得・分散情報取得ステップＳＳ４と、図１２の分散情報の取得手順４１とは、同じ内容の処理を実行するステップ又は手順である。分散情報取得フロー８は、図８に示すように、分散情報取得ステップＳ６０であり、ステップＳ６１はインデックス情報Ｃ５から分散保存先の参照可否状況を取得するステップである。インデックス情報取得部４２が記憶装置２９に記憶されているインデックス情報Ｃ５の分散保存先の参照可否情報４８を取得する。
【００８３】
ステップＳ６２はインデックス情報Ｃ５から分散保存先の接続情報を取得するステップである。制御モジュール４３の各分散保存先への接続可否監視部７４の指示により、インデックス情報取得部４２が記憶装置２９に記憶されているインデックス情報Ｃ５の分散保存先の接続情報４６を取得する。
【００８４】
ステップＳ６３はインデックス情報Ｃ５から参照可能な分散情報のハッシュ値を取得するステップである。インデックス情報取得部４２が記憶装置２９に記憶されているインデックス情報Ｃ５の参照可能な分散情報のハッシュ値情報４７を取得する。
【００８５】
ステップＳ６４は各分散保存先の接続情報から分散情報を取得するステップである。インデックス情報取得部４２が記憶装置２９に記憶されている分散情報を取得する。以上のインデックス情報取得部４２により、分散保存先の参照可否情報４８、分散保存先の接続情報４６、分散情報のハッシュ値情報４７、各分散保存先の接続情報からの分散情報を取得する。
【００８６】
次に、前記復元処理・排他制御管理ステップＳ９０（ＳＳ４、Ｓ１１〜Ｓ１８、Ｓ３２〜Ｓ３６、Ｓ４２〜Ｓ４８、Ｔ５）について、図９に示す復元処理のフロー９で説明する。図９の復元処理・排他制御管理ステップＳ９０（ＳＳ４、Ｓ１１〜Ｓ１８）は、図１０の復元処理・排他制御管理ステップＳ９０と、図１１の復元処理・排他制御管理ステップＳ９０と、図１２のオリジナルファイルの復元・排他制御Ｔ５とは同じ内容の処理を実行するステップ又は手順である。前記復元処理・排他制御管理ステップＳ９０が、インデックス情報から少なくとも分散情報のハッシュ値の取得及び各分散保存先から分散情報の取得をする分散情報取得ステップＳＳ４、Ｓ６０と、それぞれの分散情報毎に一つずつ順に、分散情報のハッシュ値を算出し、同一の分散情報に係る復元時に算出した前記ハッシュ値とインデックス情報から取得したハッシュ値との一致か否かの確認をして不一致の場合は前記分散情報を不正ファイルとしてカウントし、一致の場合は正常ファイルとしてカウントする確認ステップＳ７０と、前記確認ステップＳ７０で不一致の場合の不正ファイルを抽出する抽出ステップＳ１３、Ｓ１６と、前記確認ステップＳ７０で一致の場合の前記正常ファイルの数が予め定めた復元に必要な数に到達するまで前記確認ステップＳ７０及び前記抽出ステップＳ１３、Ｓ１６を前記分散情報毎に一つずつ繰り返す正常ファイル数確保ステップＳ８０と、前記正常ファイル数確保ステップＳ８０で前記正常ファイルの数が予め定めた復元に必要な数に到達した際に、前記正常と判断した複数の分散情報を組み合わせてオリジナルファイルを復元し、前記復元したオリジナルファイルを排他制御下で管理する復元・排他制御ステップＳ１８と、を備えている。
【００８７】
復元処理・排他制御管理ステップＳ９０のフロー９についてより詳しく説明する。まず図９に示すように、オリジナルファイルが分散処理ステップＳＳ１、ＳＳ２（図１２で示す分散手順Ｔ２と同じ処理内容である。）で分散され、分散後にオリジナルファイルが廃棄処理ステップＳＳ３（図１２で示す廃棄手順Ｔ３と同じ処理内容である。）で廃棄処理されている。この後に復元処理・排他制御管理ステップＳ９０となる。
【００８８】
閾値分散法による分散情報イの数が３つでかつ全分散情報ロの数が３つの場合で説明する。復元処理ステップＳ９０のフロー９は、図９に示すように、まず、分散情報取得ステップＳＳ４（Ｓ６０）で、インデックス情報から少なくとも分散情報のハッシュ値の取得及び各分散保存先から分散情報を取得する。次に、確認ステップＳ７０に進む。前記確認ステップＳ７０では、まず、ステップＳ１１が１つ目の分散情報のハッシュ値を取得するステップである。インデックス情報取得部４２により取得した各分散保存先の接続情報からの１つ目の分散情報のハッシュ値を入出力コントローラ３６の操作によりハッシュ関数算出のコマンド指示で実行させて取得する。
【００８９】
ステップＳ１２はインデックス情報Ｃ５のハッシュ値と一致するか否かをチェックするステップである。ステップＳ１１で算出した復元しようとするときの１つ目の分散情報のハッシュ値と、インデックス情報取得部４２により分散時に算出した１つ目の分散情報のハッシュ値情報４７とが一致するかをチェックする。
【００９０】
前記不一致の場合はステップＳ１３として、分散情報にウイルス侵入などにより破壊又は改竄がされる可能性があることがわかるので、ハッシュ値が不一致となった１つ目の分散情報を不正ファイルとしてカウントし、前記ハッシュ値が不一致の１つ目の分散情報を抽出する。このように、前記分散情報ごとに分散時と復元時とのハッシュ値を比較し、前記比較でハッシュ値が不一致の分散情報を抽出する。そして、１つ目の分散情報を新型ウイルス駆除ソフト開発の検体として供することができる。前記検体は意味のないゴミファイルであるので発症することはなく安全性は確保されているので、前記検体である分散情報をリスト化して新型ウイルス駆除ソフト開発に有効に活用させることができる。
【００９１】
まだ、正常な分散情報が１つなので、さらに正常ファイル数確保ステップＳ８０で前記確認ステップＳ７０を繰り返す。ステップＳ１４は、２つ目の分散情報のハッシュ値を算出するステップである。インデックス情報取得部４２により取得した各分散保存先の接続情報からの２つ目の分散情報のハッシュ値を入出力コントローラ３６の操作によりハッシュ関数算出のコマンド指示で実行させて取得する。
【００９２】
ステップＳ１５はインデックス情報Ｃ５のハッシュ値と一致するか否かをチェックするステップである。ステップＳ１４で算出した復元しようとするときの２つ目の分散情報のハッシュ値と、インデックス情報取得部４２により分散時に算出した２つ目の分散情報のハッシュ値情報４７とが一致するかをチェックする。不一致の場合はステップＳ１６として、分散情報にウイルス侵入などの破壊又は改竄がされていることがわかるのでハッシュ値が不一致となった２つ目の分散情報を不正ファイルとしてカウントし、前記ハッシュ値が不一致の２つ目の分散情報を抽出する。このように、前記分散情報ごとに分散時と復元時とのハッシュ値を比較し、前記比較でハッシュ値が不一致の分散情報を抽出する。前記抽出した２つ目の分散情報は新型ウイルス駆除ソフト開発の検体として供することができる。また、前記ハッシュ値が一致した場合は２つ目の分散情報を正常な分散情報として判断する。これで正常な分散情報を２つ揃えたこととなる。
【００９３】
ステップＳ１７は不正ファイルの検出数をカウントするステップである。前記不正ファイル数が０の場合はステップＳ１８に進み、復元処理部７１により正常な２つの分散情報からオリジナルファイルＣ１を復元する。
【００９４】
次に、ステップＳ１９は復元ファイルに対して分散処理を実行するステップである。図９で示す再分散ステップＳ１９は、図１０で示す再分散ステップＳ３７と、図１１で示す再分散ステップＳ４９と、図１２で示す再分散手順Ｔ６と同じ処理内容を実行するステップ又は手順である。復元したオリジナルファイルＣ１を再分散処理し、再び３つの正常な分散情報を揃えることができる。そして、インデックス情報更新をする。再生成した３つの正常な分散情報に対して、分散保存先の接続情報４６、分散情報のハッシュ値情報４７や分散保存先の等のインデックス情報更新をする。
【００９５】
前記分散処理後に、復元したオリジナルファイルの廃棄ステップＳ２０で、再分散したオリジナルファイルを廃棄処置する。図９で示す廃棄処理ステップＳ２０は、図９で示す廃棄処理ステップＳＳ３と、図１０で示す廃棄処理ステップＳ３８と、図１１で示す廃棄処理ステップＳ５０と、図１２で示す廃棄処理手順Ｔ３と、図１２で示す廃棄処理手順Ｔ７と同じ処理内容を実行するステップ又は手順である。これにより、非使用時にはオリジナルファイルが保存されず分散情報のみが保存されている状態となる。これにより、ウイルスが侵入し難い環境にすることができることからウイルス未発症の効果を有する。
【００９６】
前記再分散処理ステップＳ１９で分散された再分散情報は、復元処理・排他制御管理ステップＳ９０の開始点Ｓ１００にもどって復元処理・排他制御管理ステップＳ９０が繰り返される。
【００９７】
また、前記不正ファイル数が１の場合はステップＳ２１に進み、図１０に示す第１種分散情報復元・再分散処理に進み、前記不正ファイル数が２の場合はステップＳ２２に進み、図１１に示す第２種分散情報復元・再分散処理に進む。
【００９８】
ウイルスは、疑わしいファイルを実行しないことや不審なメールを開かないこと等の予防策をすれば感染しないことが知られているように、プログラムが実行されない限りウイルスに感染されることはない。分散情報は、単体では秘密情報が漏洩することがないように意味のないデータに分散されているのでプログラムが実行されないことから、ハッシュ値が分散情報の分散時と異なっていれば分散情報が破壊又は改竄されていることがわかる。ハッシュ値の破壊又は改竄が判明した分散情報を不使用にすればウイルスの発症を未然に防ぐことができる。一般的にはウイルスを特定してそのウイルス駆除ソフトで駆除しなければウイルス対策をすることができないが、本発明は、ウイルスの種類の把握を必要とせずにウイルス駆除ソフトを必要とせずにウイルス発症を未然に防ぐことができる。ウイルスが発症すると、ハードウエアの破壊、ネットワークの破壊又はシステムの破壊などを引き起こす要因となるが、本発明はそれらの要因を未然に防ぐことができる。よって、本発明は閾値分散法活用によるウイルス未発症システムとして有効である。
【００９９】
また、不正ファイルに侵入したウイルスがまだウイルス駆除ソフトが準備されていないウイルスの場合は、そのウイルスを検体として新たなウイルス駆除ソフトを開発することができる。ここで、前記不一致になった分散情報はウイルスにより拡張子も変わる場合も考えられることから、正常ではない分散情報のファイルをすべて抽出するためには、復元されたオリジナルファイルＣ１を再分散させた分散情報のファイル以外の分散情報のファイルを不一致の分散情報のファイルとして抽出し、その抽出された分散情報のファイルはウイルスに侵入されたファイル、あるいは、破壊又は改竄されるファイルとしてみなすことができる。
【０１００】
次に、図１０に示すウイルス未発症・復元方法の復元処理・再分散処理のフローの第１種分散情報復元・再分散処理のフロー１０について説明する。この場合は、例えば、閾値分散法による分散情報イの数が３つで、全分散情報ロの数が３つの場合で、かつハッシュ値が不一致となる予測する分散情報ニの数が１つの場合である。１つ目の分散情報Ａ５１をハードディスク（記憶装置Ｄ２４）に記憶し、２つ目の分散情報Ｂ５３をＵＳＢフラッシュメモリ（記憶装置Ａ２１）に記憶し、３つ目の分散情報Ｃ５５をクラウドストレージ（記憶装置Ｂ２２）に記憶する場合である。そのうち少なくとも分散情報の１つはウイルス侵入が困難であるクラウドストレージに記憶する。本発明の分散数は３つに限定されるものではない。そして、１つ目の分散情報Ａ５１又は２つ目の分散情報Ｂ５３が不正ファイルと判断された場合である。
【０１０１】
まず、図９の第１種分散情報復元・再分散処理Ｓ２１を受けて、図８に示す分散情報取得ステップＳ６０と同じフローを実施する。まず、インデックス情報からの分散保存先の接続情報を取得し、インデックス情報取得部４２が記憶装置２９に記憶されているインデックス情報Ｃ５の分散保存先の接続情報４６を取得するステップがあるが、前記ステップは図８のＳ６２に該当するステップであり図９のＳＳ４のときに実行されている。したがって、ステップＳ３２から開始され、前記ステップＳ３２は、図８のＳ６３と同じ内容を実行するステップであり、インデックス情報からの３つ目の分散情報のハッシュ値を取得する。インデックス情報取得部４２が記憶装置２９に記憶されているインデックス情報Ｃ５の３つ目の分散情報のハッシュ値を取得する。次に、ステップＳ３３は、図８のＳ６４と同じ内容を実行するステップであり、分散保存先の接続情報から３つ目の分散情報を取得する。インデックス情報取得部４２が記憶装置２９に記憶されている３つ目の分散情報を取得する。
【０１０２】
次に、確認ステップＳ７０に進む。ステップＳ３４は３つ目の分散情報のハッシュ値を算出するステップである。インデックス情報取得部４２により取得した各分散保存先の接続情報からの３つ目の分散情報のハッシュ値を入出力コントローラ３６の操作によりハッシュ関数算出のコマンド指示で実行させて取得する。ステップＳ３５は３つ目の分散情報の整合性を確認するステップである。ステップＳ３４で算出した復元しようとするときの３つ目の分散情報のハッシュ値と、インデックス情報取得部４２により分散時に算出した３つ目の分散情報のハッシュ値情報４７とが一致するかをチェックする。ここでは一致したものとする。
【０１０３】
次に、復元処理・排他制御管理ステップＳ３６である。復元処理・排他制御管理ステップＳ３６は、正常な分散情報２つを用いて復元し、前記復元したオリジナルファイルを排他制御の下で管理する。図９のステップＳ１７で得た１つの正常なファイルである分散情報と、ステップＳ３５で確認した正常なファイルである３つ目の分散情報との２つの正常な分散情報が揃ったので、復元処理部７１により正常な２つの複数の分散情報からオリジナルファイルＣ１を復元する。前記復元したオリジナルファイルは排他制御下で管理する。この排他制御下で管理しているときにオリジナルファイルの閲覧・書き込み等の作業を行う。
【０１０４】
次に、再分散処理ステップＳ３７に進む。このステップＳ３７は、図７の分散処理のフロー７に示すステップＳ１０と同じ処理を実行するものであり、復元ファイルに対して再分散処理を実行し、復元したオリジナルファイルＣ１を再分散処理する。これにより、３つの分散情報のうちの１つの破壊又は改竄可能性のある分散情報がなくなり、３つの正常な分散情報を揃えることができる。本発明は、ハッシュ値が不一致と判断された場合、残りの正常な複数の分散情報により復元したオリジナルファイルを再分散させることにより、分散情報すべてを正常再な分散情報に回復させることができる。そして、インデックス情報更新をする。破壊又は改竄される可能性のあった分散情報が正常化されたのでこれに伴いインデックス情報Ｃ５を更新する。
【０１０５】
前記再分散処理後に、前記復元したオリジナルファイルの廃棄処理ステップＳ３８で、排他制御下で管理していたオリジナルファイルを廃棄処理する。これにより、非使用時にはオリジナルファイルが保存されず分散情報のみが保存されている状態となる。よって、ウイルスが侵入し難い環境にすることができることからウイルス未発症の効果を有する。
【０１０６】
前記分散処理ステップＳ３７で分散された分散情報は、図９に示すウイルス未発症・復元方法のフロー９の開始点Ｓ１００にもどる。
【０１０７】
図１１に示すウイルス未発症・復元方法の復元処理・再分散処理のフローの第２種分散情報復元・再分散処理のフロー１１について説明する。この場合は、例えば、閾値分散法による分散情報イの数が３つで、全分散情報ロの数が４つで、かつハッシュ値が不一致となる予測する分散情報ニの数が２つで、コピーファイルの数が１つの場合である。オリジナルファイルＣ１を３つに分散させる場合であるので分散情報の種類は３つである。この３種類の分散情報を４つの異なる記憶装置に記憶させる場合である。１つ目の分散情報Ａ５１を外部記憶装置であるハードディスク（記憶装置Ｄ２４）に記憶し、２つ目の分散情報Ｂ５３を外部記憶装置であるＵＳＢフラッシュメモリ（記憶装置Ａ２１）に記憶し、３つ目の分散情報Ｃ５５を外部記憶装置であるクラウドストレージ（記憶装置Ｂ２２）に記憶し、４つ目の分散情報として、分散情報Ａ５２１又はＢ５３を外部記憶装置であるクラウドストレージ（記憶装置Ｃ２３）に記憶する。２つの分散情報をウイルスが侵入し難いクラウドストレージ（記憶装置Ｂ２２、Ｃ２３）に記憶させる。図１１のフロー図は、１つ目の分散情報Ａ５１及び２つ目の分散情報Ｂ５３がともに不正ファイルと判断された場合を示す。
【０１０８】
まず、図９の第２種分散情報復元・再分散処理Ｓ２２を受けて、図８に示す分散情報取得ステップＳ６０と同じフローを実施する。まず、インデックス情報Ｃ５から分散保存先の接続情報４６を取得し、３つ目の分散情報Ｃ５５及び４つ目の分散情報５７に関して、分散情報インデックス情報取得部４２が記憶装置２９に記憶されているインデックス情報Ｃ５の分散保存先の接続情報４６を取得するステップがあるが、前記ステップは図８のＳ６２に該当するステップであり図９のＳＳ４のときに実行されている。したがって、ステップＳ４２から開始され、前記ステップＳ４２は、図８のＳ６３と同じ内容を実行するステップであり、インデックス情報取得部４２が記憶装置２９に記憶されているインデックス情報Ｃ５の３つ目の分散情報Ｃ５５及び４つ目の分散情報５７のハッシュ値を取得する。ステップＳ４３は、図８のＳ６４と同じ内容を実行するステップであり、分散保存先の接続情報から分散情報を取得する。制御モジュール４３の分散情報の回復処理部７６から秘密分散モジュール４２のインデックス情報取得部７２に指示し、記憶装置Ｂ２２から現在の分散情報Ｃ５５を取得し、記憶装置Ｃ２３から現在の分散情報（Ａ又はＢ）５７を取得する。
【０１０９】
次に、確認ステップＳ７０に進む。ステップＳ４４は３つ目の分散情報のハッシュ値を算出するステップである。インデックス情報取得部４２により取得した各分散保存先の接続情報からの３つ目の分散情報のハッシュ値を入出力コントローラ３６の操作によりハッシュ関数算出のコマンド指示で実行させて取得する。ステップＳ４５は３つ目の分散情報の整合性を確認するステップである。ステップＳ４４で算出した復元しようとするときの３つ目の分散情報のハッシュ値と、インデックス情報取得部４２により分散時に算出した３つ目の分散情報のハッシュ値情報４７とが一致するかをチェックする。ここでは一致したものとする。
【０１１０】
まだ、正常な分散情報が１つなので、さらに正常ファイル数確保ステップＳ８０で前記確認ステップＳ７０を繰り返す。ステップＳ４６は４つ目の分散情報のハッシュ値を算出するステップである。インデックス情報取得部４２により取得した各分散保存先の接続情報からの４つ目の分散情報のハッシュ値を入出力コントローラ３６の操作によりハッシュ関数算出のコマンド指示で実行させて取得する。ステップＳ４７は４つ目の分散情報の整合性を確認するステップである。ステップＳ４６で算出した復元しようとするときの４つ目の分散情報のハッシュ値と、インデックス情報取得部４２により分散時に算出した４つ目の分散情報のハッシュ値情報４７とが一致するかをチェックする。ここでは一致したものとする。これにより、３つ目の分散情報と４つ目の分散情報の２つの複数の正常な分散情報が揃った。
【０１１１】
次に、復元処理・排他制御管理ステップＳ４８である。ここでは、ステップＳ４８は正常な分散情報２つを用いて復元し、前記復元したオリジナルファイルを排他制御の下で管理するステップである。復元処理部７１により、３つ目の分散情報と４つ目の分散情報の正常な２つの複数の分散情報からオリジナルファイルＣ１を復元する。前記復元したオリジナルファイルは排他制御下で管理する。この排他制御下で管理しているときにオリジナルファイルの閲覧・書き込み等の作業を行う。
【０１１２】
ステップＳ４９は復元ファイルに対して再分散処理を実行するステップである。ステップＳ４９は、図７の分散処理のフロー７に示すステップＳ１０と同じ処理を実行するステップであり、復元したオリジナルファイルＣ１を再分散処理する。これにより、４つの分散情報のうちの２つの破壊又は改竄可能性のある分散情報がなくなり、４つの正常な分散情報を揃えることができる。本発明では、ハッシュ値が不一致と判断された場合、残りの正常な複数の分散情報により復元したオリジナルファイルを再分散させることにより、分散情報すべてを正常な分散情報に回復させることができる。そして、インデックス情報更新をする。破壊又は改竄される可能性のあった分散情報が正常化されたのでこれに伴いインデックス情報Ｃ５を更新する。
【０１１３】
前記再分散処理後に、前記復元したオリジナルファイルの廃棄処理ステップＳ５０で、排他制御下で管理していたオリジナルファイルを廃棄処理する。これにより、非使用時にはオリジナルファイルが保存されず分散情報のみが保存されている状態となり、ウイルスが侵入し難い環境にすることができることからウイルス未発症の効果を有する。
【０１１４】
前記再分散処理ステップＳ４９で分散された再分散情報は、図９に示すウイルス未発症・復元方法のフロー９の開始点Ｓ１００にもどる。
【０１１５】
本発明のウイルス未発症・復元プログラムは、前記ウイルス未発症・復元方法２００をコンピュータに実行させることができ、前記ウイルス未発症・復元方法２００である、分散処理のフロー７、分散情報取得のフロー８、ウイルス未発症・復元方法のフロー９、第１種分散情報復元・再分散処理のフロー１０、及び、第２種分散情報復元・再分散処理のフロー１１をコンピュータに実行させることができる。
【０１１６】
本発明のコンピュータ読み取り可能な記憶媒体は、前記ウイルス未発症・復元プログラムを記憶しており、前記ウイルス未発症・復元プログラムの持ち運びができる。
【０１１７】
（ウイルス未発症・復元方法の変形例）
次に、本発明のウイルス未発症・復元方法の変形例について説明する。
図１３は、本発明のウイルス未発症・復元方法の変形例に係るフロー図である。図１３に示すように、本発明のウイルス未発症・復元方法２００Ａは、オリジナルファイルＣ１の分散と復元、さらに破壊又は改竄された分散情報の修復を繰り返すウイルス未発症・復元方法であって、閾値分散法により予め定めた復元に必要な数以上の複数の分散情報にオリジナルファイルＣ１を分散する分散手順Ｔ２と、前記分散後にオリジナルファイルＣ１を廃棄する廃棄手順Ｔ３と、分散情報からオリジナルファイルＣ１を復元させ、復元させたオリジナルファイルＣ１を排他制御下で管理する復元・修復・排他制御手順Ｔ５Ａと、閾値分散法により予め定めた復元に必要な数以上の複数の再分散情報に前記復元させたオリジナルファイルＣ１を再分散させる再分散手順Ｔ６と、再分散後に前記復元させたオリジナルファイルＣ１を廃棄する廃棄手順Ｔ７と、を備え、復元・修復・排他制御手順Ｔ５Ａ、前記再分散手順Ｔ６、再分散後の廃棄手順Ｔ７を順にサイクルとして繰り返す。
【０１１８】
本発明のウイルス未発症・復元方法２００Ａが図１２に示す本発明のウイルス未発症・復元方法２００と異なるのは、復元・修復・排他制御手順Ｔ５Ａと、Ｔ４４、Ｔ４５、Ｔ５１〜５３の手順をさらに備えていることである。
【０１１９】
Ｔ４４によって復元必要数の正常なファイル検出によって復元可能な分散ファイルが３以上の場合は、分散ファイルがウイルスよって破損・改竄されていないことになり、Ｔ５１のオリジナルファイル復元オリジナルファイルを復元し、前記復元オリジナルファイルを生成した業務アプリケーションや流通アプリケーションの管理下に置き、復元オリジナルファイルに対する外的要因の排他をオリジナルファイルを生成したアプリケーションに委ねる。
【０１２０】
一方、Ｔ４４によって復元必要数の正常なファイル検出によって復元可能な分散ファイルが３以下の場合は、分散ファイルがウイルスによって破損又は改竄されていることになり、Ｔ４４によってＴ４５に送られ、最小数でオリジナルファイルの復元を行い、復元されたオリジナルファイルはＴ４６に送られ、再分散を即時実行し、分散情報Ａ５１、分散情報Ｂ５３、分散情報Ｃ５５、に上書き処理を行う。
【０１２１】
フロー図２００ＡのＴ５Ａは、オリジナルファイルを復元し、別名で保存した場合、復元したオリジナルファイルを元にした別ファイルが出来上がることになる。新規に生成されたオリジナルファイルに対する排他制御は可能となるが、オリジナルファイルＴ１から分散されたＴ２のファイルが全て正常な状態であるとは限らない。仮に複数のウイルスによって改竄や破損された場合、オリジナルファイルを復元することはできなくなる。しかしながら、Ｔ５１を含むフローによって常に復元に可能な正常な最大数の分散ファイルを維持できることになる。
【０１２２】
Ｔ５２にてアプリケーションが実行されていない場合は動作が終了したものとし、Ｔ６にて復元オリジナルファイルの再分散を行う。一方、Ｔ５２にてアプリケーションが実行されていない場合は動作が終了したものとし、Ｔ６にて復元オリジナルファイルの再分散を行う。
復元・修復・排他制御手順Ｔ５Ａでオリジナルファイルを復元させた復元時Ａにて復元に必要な分散ファイルを常に維持することが可能となる。
さらに、再分散手順Ｔ６と再分散後の廃棄手順Ｔ７により、Ｔ５Ａの復元・修復・排他制御手順Ｔ５Ａを実行することができる。他の構成は、図１２に示す本発明のウイルス未発症・復元方法２００と同じであるので説明は省略する。
【０１２３】
本発明のウイルス未発症・復元方法２００Ａによれば、復元・修復・排他制御手順Ｔ５ＡでオリジナルファイルＣ１を復元させた復元時Ａにおいて、Ｔ４６により再分散を実施し、分散情報Ａ５１、分散情報Ｂ５３、分散情報Ｃ５５に上書き処理を行う。これにより、復元に必要な分散ファイルを常に維持することが可能となる。さらに、分散時Ｂに再分散手順Ｔ６と再分散後の廃棄手順Ｔ７でオリジナルファイルＣ１を分散させている。これにより、上記復元時Ａ及び分散時Ｂの何れにおいても第三者にオリジナルファイルを改竄される機会を与えない仕組みができる。
【０１２４】
（分散処理及びインデックス情報取得処理の変形例）
分散処理及びインデックス情報取得処理の変形例について説明する。
図１４は、本発明のウイルス未発症・復元方法の分散処理の変形例のフロー図であり、図１５は、本発明のウイルス未発症・復元方法のインデックス情報取得処理のフロー図である。
図１４に示すウイルス未発症・復元方法の分散処理の変形例が図７に示すウイルス未発症・復元方法の分散処理と異なるのは、フロー７Ａ中のＳ１０ＡにＳＴ８Ａを含んでいることである。他の処理は、図７と同じであるので説明は省略する。
【０１２５】
ステップＳＴ８Ａは、ステップ８の後に各分散保存先とハッシュ値等を記憶したインデックス情報Ｃ５を、所定のクラウドストレージに複写するステップである。クラウドストレージとしては、分散先とした３つ以上のクラウドストレージの何れか、又は分散先以外の別のクラウドストレージとすることができる。これにより演算処理装置２５の主記憶装置２６に記憶された各分散保存先とハッシュ値等を記憶したインデックス情報Ｃ５を、主記憶装置２６に記憶すると共に、所定のクラウドストレージに複写する。
【０１２６】
図１５に示すように、ウイルス未発症・復元方法のインデックス情報取得処理は、クラウドストレージに保存されたインデックス情報Ｃ５の分散情報取得ステップＳ６０Ａにより処理される。図１５ににおいて、ステップＳ６１Ａはインデックス情報Ｃ５から分散保存先の参照可否状況を取得するステップである。インッデックス情報取得部４２Ａがクラウドストレージに記憶されているインデックス情報Ｃ５の分散保存先の参照可否情報４８を取得する。
【０１２７】
ステップＳ６２Ａはインデックス情報Ｃ５から分散保存先の接続情報を取得するステップである。制御モジュール４３Ａの各分散保存先への接続可否監視部７４の指示により、インデックス情報取得部４２Ａがクラウドストレージに記憶されているインデックス情報Ｃ５の分散保存先の接続情報４６Ａを取得する。
【０１２８】
ステップＳ６３Ａはインデックス情報Ｃ５から参照可能な分散情報のハッシュ値を取得するステップである。インデックス情報取得部４２Ａがクラウドストレージに記憶されているインデックス情報Ｃ５の参照可能な分散情報のハッシュ値情報４７Ａを取得する。
【０１２９】
ステップＳ６４Ａは各分散保存先の接続情報から分散情報を取得するステップである。インデックス情報取得部４２がクラウドストレージに記憶されている分散情報を取得する。これにより、インデックス情報取得部４２Ａにより、分散保存先の参照可否情報４８、分散保存先の接続情報４６、分散情報のハッシュ値情報４７、各分散保存先の接続情報からの分散情報を取得することができる。
【０１３０】
ここで、アプリケーション内部で処理される情報である制御モジュール４３Ａ、インデックス情報取得部４２Ａ及び接続情報４６Ａ等は、図３に示すアプリケーションで扱う情報４０と、アプリケーション自身の設定に関する情報である基本設定情報４９等に対応する。これらの情報は、演算処理装置２５に対応するクラウドストレージのクラウドサーバに格納される。制御モジュール４３Ａ、インデックス情報取得部４２Ａ及び接続情報４６Ａ等は、フロー７Ａ中のＳＴ８Ａで、インデックス情報Ｃ５共に格納されてもよい。
【０１３１】
クラウドサーバは、さらに復元処理手段８４を備えて構成されてもよい。この構成によれば、演算処理装置２５及び／又は主記憶装置２６が故障したときには、演算処理装置２５の使用者は、正常な演算処理装置２５により、クラウドストレージにアクセスして、図１５で取得した分散情報と、図６で説明した復元処理とによりオリジナルファイルＣ１を復元することができる。この復元したオリジナルファイルＣ１を、正常な演算処理装置２５にてダウンロードすることで、正常な演算処理装置２５の主記憶装置２６に記憶させることができる。
【０１３２】
クラウドサーバは、さらに排他制御手段８６、再分散処理手段８５、廃棄手段８２を備えて構成されてもよい。この構成によれば、演算処理装置２５及び／又は主記憶装置２６が故障したときには、演算処理装置２５の使用者は、正常な演算処理装置２５により、クラウドストレージにアクセスして、図１５で取得した分散情報と、図６で説明した復元処理と、図９〜図１２で説明したウイルス未発症・復元方法の復元処理移行の各手順の処理がされる。これによりオリジナルファイルＣ１を復元することができる。この復元したオリジナルファイルＣ１を、正常な演算処理装置２５からダウンロードすることにより、正常な演算処理装置２５の主記憶装置２６に記憶させることができる。
【０１３３】
分散処理及びインデックス情報取得処理の変形例によれば、クラウドストレージに各分散保存先とハッシュ値等を記憶したインデックス情報Ｃ５を、所定のクラウドストレージに複写するステップである。
インデックス情報のコピーを保存することにより、演算処理装置２５及び／又は主記憶装置２６が故障したときもオリジナルファイルＣ１を復元することができる。これにより、例えば、演算処理装置２５及び主記憶装置２６を持ち歩く必要がなくなる。
【０１３４】
（レジウム機能による分散処理の再履行）
分割の失敗時において、レジウム機能により分散処理を再履行する処理について説明する。
図１６は、図５に示す分散処理において、分散の失敗時には、レジウム機能によって分散処理を再履行する処理の一態様を示すフローチャートであり、図１７は、分散転送の失敗時には、レジウム機能によって分散転送処理を再履行する工程の他の態様を示すフローチャートである。
レジウム機能は、分散処理失敗時に自動的に再分散処理を行う機能であり、例えばクラウドストレージ８３に登録保管できない場合も同様に自動的に再分散処理を行う機能である。登録保管できない例としては、通信経路の障害やその他の要因により、クラウドストレージ８３に保管されなかった場合が挙げられる。登録保管できない場合には、分散情報５０、５２、５４を、クラウドストレージ８３に保管されるまで転送を繰り返す処理、つまり分散転送処理を行う。すなわち、オリジナルファイルＣ１を分散してクラウドストレージ８３に保管するまでが一つの処理であり、その処理が完結しなければ、完結するまで繰り返し実行する。
図１６において、ステップＳＴ３１にて、各分散保存先の参照可否状況をチェックし、ステップＳＴ３２にて参照可能な分散保存先の数を求める。ステップＳＴ３２にて参照可能な分散保存先の数が三つ未満の場合には、ステップＳＴ３３にて分散処理を中断して、ステップＳＴ３１に戻る。
ステップＳＴ３２にて、参照可能な分散保存先の数が三つ以上の場合には、ステップＳＴ３４にて分散処理を実行し、ステップＳＴ３５にて参照可能な分散保存先へ分散情報を保存できるか否かを調べ、分散処理が失敗した時にはステップＳＴ３６にて分散処理を再実行して、分散処理が実行できた場合には、後述するステップＳＴ３７〜ステップＳＴ４０に進む。
これに対して、ステップＳＴ３５にて、参照可能な分散保存先へ分散情報を保存できる場合には、ステップＳＴ３７にて、各分散保存先の参照可否情報をインデックス情報Ｃ５に記憶し、ステップＳＴ３８にて、各分散情報のハッシュ値を算出し、インデックス情報Ｃ５に記憶する。
次に、ステップＳＴ３９にて、各分散保存先情報をインデックス情報Ｃ５に記憶する。
続いてステップＳＴ４０にて、オリジナルファイルＣ１に関する情報をインデックス情報Ｃ５に記憶して終了する。
【０１３５】
図１７に示すように、レジウム機能の工程の他の態様では、ステップＳＴ３１にて、各分散保存先の参照可否状況をチェックし、ステップＳＴ３２にて参照可能な分散保存先の数が三つ以上の場合には、ステップＳＴ３４にて分散処理を実行し、ステップＳＴ４１にて各記憶部８３に転送試行を開始する。
次に、ステップＳＴ４２にて転送に成功した記憶部が２箇所以上であるか否かを調べ、転送に成功した記憶部が２箇所以上でない場合（ＮＯ）には、ステップＳＴ４３にて転送試行を中断してステップＳＴ４１に戻る。
ステップＳＴ４２にて転送に成功した記憶部が２箇所以上である場合（ＹＥＳ）には、ステップＳＴ４４にて各分散保存先、つまり記憶部に関する転送結果を、インデックス情報Ｃ５に記憶し、かつ、各分散情報５1、５３、５５のハッシュ値を算出して、インデックス情報Ｃ５に記憶して終了する。
【０１３６】
分散先が三つ未満の場合は、例えば、ＷｉＦｉ（登録商標）等の無線ＬＡＮ環境において通信状態が常時安定はしていないケース等が挙げられる。この場合にはファイルを転送している最中に通信が途絶えてしまうケースは日常起こっている。
このようにして、上記レジウム機能によれば、オリジナルファイルＣ１から分散情報５1、５３、５５の作成に失敗したときには、分散処理部７０において上記ステップにより、オリジナルファイルＣ１の再度の分散処理を実行して、新たに作成した分散情報５1、５３、５５を主記憶装置２６に保存すると共に、新たなインデックス情報Ｃ５を作成することができる。
【０１３７】
（分散情報の復元方法）
分散情報５1、５３、５５が何らかの理由で正しくない状態、つまり不正なファイルとなった場合の復元方法について説明する。
ここで、不正なファイルとは、何らかの事情により壊れたファイル、ウイルスに感染したファイル、ネットワークに接続されたストレージであるＮＡＳ、ファイルサーバ等においてはWindows（登録商標）等のオペレーティングシステム（ＯＳ）のアップデートで壊れたファイルを意味している。
図１８は、オリジナルファイルＣ１と、分散情報５1、５３、５５と、インデックス情報Ｃ５との関係を示す図であり、図１９は、分散情報５1、５３、５５の復元方法を示すフローチャートである。
図１８に示すように、オリジナルファイルＣ１が分散処理部２１により分散情報５1、５３、５５に分散されると、分散情報５1、５３、５５に関する情報であるハッシュ値と、オリジナルファイルＣ１のハッシュ値とが、インデックス情報として取得される。オリジナルファイルＣ１のハッシュ値は、復元時のオリジナルファイルＣ１との整合性の確認と分散処理部２１が正しく分散処理をしたことの確認とのために取得される。分散ファイルのハッシュ値は、クラウドストレージのような記憶部８３からネットワークを介してダウンンロードして取得した分散情報５1、５３、５５との整合の確認と、分散情報５１、５３、５５が正しくダウンロードされたことを保証するために、取得される。
【０１３８】
次に、図１９に示す分散情報５１、５３、５５の復元方法について説明する。
先ず、ステップ７１にて、インデックスファイルＣ５から分散情報５１のハッシュ値（Ｄ１）を取得する。ステップ７２にて、分散保存先の接続情報から記憶部８３の分散情報を取得する。ステップ７３にて、記憶部８３の分散ファイルのハッシュ値（Ｄ２）を算出する。ステップ７４にて、インデックスファイルから取得したＤ１のハッシュ値とＤ２で算出したハッシュ値との一致を確認する。ステップ７５にて、インデックス情報のハッシュ値と一致するか否かを判定する。ステップ７５にてＤ１のハッシュ値とＤ２の算出したハッシュ値とが異なる場合（ＮＯ）には、ステップ７６にて、不正な分散情報のファイルが抽出されたので、ステップ７７に進む。
【０１３９】
これに対して、ステップ７５にて、Ｄ１のハッシュ値とＤ２の算出したハッシュ値とが一致した場合（ＹＥＳ）には、不正な分散情報のファイルはない、つまり０としてステップ７７に進む。
【０１４０】
次にステップ７７にて、インデックスファイルから分散情報５３のハッシュ値（Ｄ３）を取得する。ステップ７８にて、分散保存先の接続情報から記憶部８３の分散情報を取得する。ステップ７９にて、記憶部４２の分散ファイルのハッシュ値（Ｄ４）を算出する。ステップ８０にて、インデックスファイルから取得したＤ３のハッシュ値とＤ４で算出したハッシュ値との一致を確認する。次に、ステップ８１にて、インデックスファイルＣ５から取得したＤ３のハッシュ値とＤ４で算出したハッシュ値と一致しているか否かの判定をして、一致していない場合（ＮＯ）には、ステップ８２にて、不正な分散情報のファイルが抽出されたとして、ステップ５３に進む。ステップ８３にて、不正な分散情報のファイル数が１であるとして、ステップ８４〜ステップ９３に進む。
【０１４１】
ステップ８４にて、インデックスファイルＣ５から分散情報５５のハッシュ値（Ｄ５）を取得する。ステップ８５にて、分散保存先の接続情報から記憶部８３の分散情報を取得する。ステップ８６にて、分散情報５５の分散ファイルのハッシュ値（Ｄ６）を算出する。ステップ８７にて、インデックスファイルＣ５から取得したＤ５のハッシュ値とＤ６で算出したハッシュ値との一致を確認する。ステップ８８にて、復元処理を実行する。ステップ８９にて、正常な分散ファイル２つを用いてオリジナルファイルＣ１を復元する。ステップ９０にて、復元したオリジナルファイルＣ１のハッシュ値（Ｄ７）を算出する。ステップ９１にて、インデックスファイルＣ５に書き込んだオリジナルファイルＣ１のハッシュ値とＤ７で算出したハッシュ値との一致を確認する。ステップ９２にて、参照可能な記憶部８３へオリジナルファイルＣ１を再分散し、保存されている情報に対し上書き保存する。ステップ９３にて、インデックス情報Ｃ５を更新して、復元したオリジナルファイルＣ１を再分散し、インデックス情報を更新する分散処理を終了する。
【０１４２】
これにより、分散情報５１、５３、５５に不正なファイルを抽出した場合に、復元したオリジナルファイルＣ１を再分散しインデックス情報を更新する分散処理を実行することができる。
【０１４３】
これに対して、ステップ８３にて、Ｄ３のハッシュ値とＤ４で算出したハッシュ値とが一致した場合（ＹＥＳ）には、不正な分散情報のファイルはない、つまり０としてステップ１００〜ステップ１０５に進む。
先ずステップ１００にて、復元処理を開始する。ステップ１０１にて正常な分散ファイル２つを用いてオリジナルファイルＣ１を復元する。ステップ１０２にて、復元したオリジナルファイルＣ１のハッシュ値（Ｄ８）を算出する。ステップ１０３にて、インデックスファイルに書き込んだオリジナルファイルＣ１のハッシュ値とＤ８で算出したハッシュ値との一致を確認する。ステップ１０４にて、参照可能な記憶部８３へオリジナルファイルＣ１を再分散し、保存されている情報に対し上書き保存する。ステップ１０５にて、インデックス情報Ｃ５を更新して、復元したオリジナルファイルＣ１を再分散し、インデックス情報を更新する分散処理を終了する。
【０１４４】
これにより、分散情報５1、５３、５５に不正なファイルを抽出した場合に、復元したオリジナルファイルＣ１を再分散しインデックス情報Ｃ５を更新する分散処理を実行することができる。
【０１４５】
（ソフトウェアの保護機能）
情報処理装置２５を構成する各種の情報端末等にウイルス未発症・復元方法のプログラムのソフトウェアをインストールした場合、情報端末等を紛失した時等に上記ソフトウェアの保護をする機能について説明する。
図２０は、情報端末にソフトウェアの保護機能として、使用者を識別するためのＰＩＮコードの設定をするためのフローチャートであり、図２１は、ソフトウェアの保護機能を説明するフローチャートである。
図２０に示すように、先ずステップ４６にて、システム設定から無操作時にファイル伝送システム１０用のソフトウェアをロックするか否かを質問されるので、「ロックする」を選択する。
次に、ステップ４７にて、ロックするまでの任意の時間（秒や分）を入力する。ステップ４８にて、任意の４桁の数字からなるＰＩＮコードを入力する。ステップ４９にて、ロックするまでの時間とＰＩＮコードを登録して終了する。これにより、ファイル伝送システム１０用のソフトウェアの保護機能が情報端末に設定される。
【０１４６】
次に、ソフトウェアの保護機能について説明する。
図１１に示すように、情報端末においてソフトウェアを使用している際に、ステップ５１にて、登録した時間を経過すると画面をロックする。ステップ５２にて、ロック解除のためのＰＩＮコードの入力を要求する。ステップ５３にて、入力されたＰＩＮコードが、ステップ５３で入力された情報端末の使用者が登録したＰＩＮコード（図１７のステップ４３参照）であるか否かの判定がされ、ＰＩＮコードの入力が情報端末の使用者である場合（ＹＥＳ）には、ステップ５４にてロックが解除される。これにより、情報端末の使用者がソフトウェアの使用者である場合には、ソフトウェアがロックされても、ロック解除のためのＰＩＮコードが要求された場合にＰＩＮコードを入力して、ソフトウェアの使用を再開することができる。
【０１４７】
これに対して、ステップＳＴ５３にて、情報端末の使用者が登録したＰＩＮコードでない場合（ＮＯ）には、ステップ５５にて、ロック解除のためのＰＩＮコードの入力を要求する。ステップ５６にて、入力されたＰＩＮコードがステップ１３で入力された情報端末の使用者が登録したＰＩＮコード（図１７のステップ４３参照）であるか否かの判定がされ、ＰＩＮコードの入力が情報端末の使用者である場合（ＹＥＳ）には、ステップ５７にて、ロックが解除される。
これにより、情報端末の使用者が当該ソフトウェアの使用者である場合には、ソフトウェアがロックされても、ロック解除のためのＰＩＮコードが要求された場合にＰＩＮコードを入力して、ソフトウェアの使用を再開することができる。
【０１４８】
ステップＳＴ５６にて、情報端末の使用者が登録したＰＩＮコードでない場合（ＮＯ）には、ステップ５８にて、再度ロック解除のためのＰＩＮコードの入力を要求する。次に、ステップ５９にて、入力されたＰＩＮコードがステップ１３で入力された情報端末の使用者が登録したＰＩＮコード（図１７のステップ４３参照）であるか否かの判定がされ、ＰＩＮコードの入力が情報端末の使用者である場合（ＹＥＳ）には、ステップ６０にてロックが解除される。
これにより、情報端末の使用者が当該ソフトウェアの使用者である場合には、使用者が登録したＰＩＮコードを誤って入力してソフトウェアがロックされても、ステップ５９にて、登録したＰＩＮコードを入力してソフトウェアの使用を再開することができる。
【０１４９】
ステップＳＴ５９にて、情報端末の使用者が登録したＰＩＮコードでない場合（ＮＯ）には、ステップ６１にて、情報端末の使用者が登録したＰＩＮコードを知らない第三者であると判断して、ソフトウェアの設定を消去する。次に、ステップ６２にて、クラウドストレージ４０における保存先情報６４ｂも消去して終了する。
【０１５０】
上記ステップ６１においては、インストール時にソフトウェア自体の正誤性の確認の認証のために入力したシリアルキーの情報も消去される。このため、上記ステップ６１及びステップ６１により、情報端末から当該ソフトウェアに関係する全ての設定及び付帯情報が消去される。これにより、第三者によりソフトウェアが不正利用されるのを防止することができる。
【０１５１】
上記説明において、ステップＳＴ５３、ステップＳＴ５６、ステップＳＴ５９の３回のステップにおいてＰＩＮコードの入力が要求されており、この３回の全てのＰＩＮコードの入力が正しくない場合（ＮＯ）に、ステップ６１及びステップ６２において、ソフトウェアが不正利用されるのを防止したが、ＰＩＮコードの入力の要求回数は、必要に応じて任意に設定してもよい。
【０１５２】
（第２の実施形態）
次に、本発明によるウイルス未発症・復元方法に係る第２の実施形態について説明する。
本発明によるウイルス未発症・復元方法に係る第２の実施形態は、ファイルのみならずフォルダの伝送も可能である。フォルダは、複数のファイルをグループ化したデータである。
図２２は、オリジナルフォルダ１１０を伝送する分散処理の構成を示すブロック図であり、図２３は、オリジナルフォルダの復元の構成を示すブロック図である。
図２２に示すように、図５に示す分散処理の構成において、分散処理部７０Ａの前段に、さらに圧縮部１１５を備えて構成されている。オリジナルフォルダ１１０は、圧縮部１１５で圧縮ファイル１２０に変換されて、分散処理部７０Ａに出力される。他の構成は、図５に示す分散処理の構成と同じであるので説明は省略する。これにより、オリジナルフォルダ１００が圧縮ファイル１２０に変換されて分散処理部７０Ａに出力され、図２と同様に、分散情報５１、５３、５５がクラウドストレージ８３に送信され、インデックス情報Ｃ５が演算処理装置２５の主記憶装置２６に記憶される。
【０１５３】
図２３に示すように、図６に示す復元処理の構成において、さらに、復元処理部７１Ａに接続される伸長部１３０を備えて構成されている。復元処理部１２０で復元された圧縮ファイル１１０は、伸長部１３０でオリジナルフォルダ１００に変換される。他の構成は、図６に示す復元処理の構成と同じであるので説明は省略する。これにより、図６と同様に、分散情報５１、５３、５５及びインデックス情報Ｃ５により圧縮ファイル１１０が復元され、復元された圧縮ファイル１１０が伸長部１３０でオリジナルフォルダ１００に変換される。
【０１５４】
本発明の第２の実施形態のファイル伝送によれば、分散処理部７０Ａに圧縮部１１５を備え、復元処理部７１Ａに伸長部１３０を備えて構成されることにより、オリジナルフォルダ１１０の伝送が可能となる。
【０１５５】
従来はＺＩＰ等の圧縮形式にてカプセル化処理を施し、クラウドストレージ等に送信していた。しかし、近年、サイバー攻撃の激化により、ＺＩＰ等でカプセル化したデータはコンピュータウイルスの混入やサイバー攻撃を誘発するサイトのリンク等を検疫することができないため、メールサーバやその管理者、ベンダー等はＺＩＰファイルを添付できない仕様に変更されるケースが増えている。
本発明の第２の実施形態のウイルス未発症・復元方法によれば、ＺＩＰファイルを使用しないで、オリジナルフォルダ１１０の伝送が可能となる。よって、多数のファイルを分散する場合に比較すると、オリジナルフォルダ１１０とインデックス情報Ｃ１を記憶するだけでよいので、多数のファイルを分散する時間が不要となり、業務効率を向上させることが可能となる。
【０１５６】
本発明は、その趣旨を逸脱しない範囲において様々な形態で実施することができる。
例えば、上述した実施形態においては、オリジナルファイルＣ１に用いる分散処理と復元処理と、オリジナルフォルダ１１０に用いる処理とを個別に説明したが、オリジナルファイルＣ１及びオリジナルフォルダ１１０の何れも処理できるように分散処理と復元処理を構成してもよいことは明らかである。
送信に際し、分散すべきデータがオリジナルファイルＣ１である場合には、直接分散処理部７０Ａで分散処理を行い、分散すべきデータがオリジナルフォルダ１１０である場合には、圧縮部１１５で圧縮ファイル１２０に変換した後で分散処理部７０Ａにより分散処理を行うようにすればよい。受信に際し、復元したデータがオリジナルファイルＣ１である場合にはそのまま出力し、復元したデータが圧縮ファイル１２０であれば、伸長部１３０でオリジナルファイルフォルダ１１０に変換すればよい。
【０１５７】
上述した第２の実施形態においても、第１の実施形態で説明した、ＧＵＩの操作画面、分割の失敗時の再履行方法、及び分散情報の復元方法を利用することも可能であることは明らかである。
【符号の説明】
【０１５８】
１        本発明のシステムの動作に必要なシステム構成
２        本発明のシステムの動作に必要なハードウエア構成
３        本発明のシステムで扱う情報
４        本発明のシステムの全体構成
５        分散処理のブロック図
６        復元処理のブロック図
７        分散処理のフロー
８        分散情報取得のフロー
９        ウイルス未発症・復元方法のフロー
１０      第１種分散情報復元・再分散処理のフロー
１１      第２種分散情報復元・再分散処理のフロー
２００    ウイルス未発症・復元方法
【図１】
2020194462.tif 000003
【図２】
2020194462.tif 000004
【図３】
2020194462.tif 000005
【図４】
2020194462.tif 000006
【図５】
2020194462.tif 000007
【図６】
2020194462.tif 000008
【図７】
2020194462.tif 000009
【図８】
2020194462.tif 000010
【図９】
2020194462.tif 000011
【図１０】
2020194462.tif 000012
【図１１】
2020194462.tif 000013
【図１２】
2020194462.tif 000014
【図１３】
2020194462.tif 000015
【図１４】
2020194462.tif 000016
【図１５】
2020194462.tif 000017
【図１６】
2020194462.tif 000018
【図１７】
2020194462.tif 000019
【図１８】
2020194462.tif 000020
【図１９】
2020194462.tif 000021
【図２０】
2020194462.tif 000022
【図２１】
2020194462.tif 000023
【図２２】
2020194462.tif 000024
【図２３】
2020194462.tif 000025