(57)【要約】【課題】  記憶装置に記憶された分割データを詐取されても元のデータが復元され難くする。【解決手段】  コンピュータ装置１は、ワンタイムＩＤによる認証に基づき記憶装置２が正当なものであると判断した後に、対象のデータを暗号化し所定のパターンで分割して２つの分割データを生成し、２つの分割データのうちの一方を記憶装置２の記憶媒体２１に格納させ、他方を自己に格納する。また、コンピュータ装置１は、ワンタイムＩＤによる認証に基づき記憶装置２が正当なものであると判断した後に、記憶装置２の記憶媒体２１から分割データの一方を読み出し、２つの分割データを所定のパターンで合成し復号して、元のデータを復元する。【選択図】  図１
2008287488.tif 000002
【特許請求の範囲】
【請求項１】
データ格納手段と、
前記データ格納手段に格納されている対象データを暗号化する暗号化手段と、
読み書き可能な不揮発性の記憶媒体を有する記憶装置とデータ通信をするインタフェースと、
前記インタフェースと前記記憶装置がデータ通信可能になる度にワンタイムＩＤによる認証で前記記憶装置の正当性を判断する認証手段と、
前記認証手段により前記記憶装置が正当なものであると判断された場合に、前記暗号化手段により暗号化された前記対象データを所定のパターンで分割して２つの分割データを生成し、前記２つの分割データのうちの一方を前記記憶装置の記憶媒体に格納させ、前記２つの分割データのうちの他方を前記データ格納手段に格納するデータ分散手段と、
前記認証手段により前記記憶装置が正当なものであると判断された場合に、前記記憶装置の記憶媒体から前記分割データの一方を読み出し、前記データ格納手段から前記分割データの他方を読み出し、前記２つの分割データを前記所定のパターンで合成するデータ合成手段と、
前記データ合成手段により合成されたデータを前記対象データへ復号する復号手段と、
を備えることを特徴とするデータ分散保存装置。
【請求項２】
乱数生成手段と、
前記インタフェースと前記記憶装置がデータ通信可能になる度に前記乱数生成手段により生成される第１の乱数と前記記憶装置により生成される第２の乱数とからワンタイムＩＤを生成するワンタイムＩＤ生成手段と、
前記記憶装置と共通の秘密鍵であって前記インタフェースと前記記憶装置がデータ通信可能になる度に更新される可変共通鍵で復号を行う認証用復号手段とを備え、
前記インタフェースは、前記インタフェースと前記記憶装置がデータ通信可能になる度に、前記記憶装置により生成され前記可変共通鍵で暗号化された前記第２の乱数を受信し、
前記認証用復号手段は、前記可変共通鍵で暗号化された前記第２の乱数を復号し、
前記暗号化手段は、前記可変共通鍵で暗号化をし、
前記復号手段は、前記可変共通鍵で復号をすること、
を特徴とする請求項１記載のデータ分散保存装置。
【請求項３】
前記データ合成手段は、前記インタフェースと前記記憶装置がデータ通信可能になる度に、前記２つの分割データを合成し、
前記復号手段は、前記インタフェースと前記記憶装置がデータ通信可能になる度に、更新前の前記可変共通鍵で、前記合成されたデータを前記対象データへ復号し、
前記暗号化手段は、前記インタフェースと前記記憶装置がデータ通信可能になる度に、前記復号手段により復号された前記対象データを、更新後の前記可変共通鍵で暗号化し、
前記データ分散手段は、前記インタフェースと前記記憶装置がデータ通信可能になる度に、更新後の前記可変共通鍵で暗号化された前記対象データから前記２つの分割データを生成し前記２つの分割データのうちの一方を前記記憶装置の記憶媒体に格納させ、前記２つの分割データのうちの他方を前記データ格納手段に格納すること、
を特徴とする請求項２記載のデータ分散保存装置。
【請求項４】
前記インタフェースと前記記憶装置がデータ通信可能になる度にワンタイムＩＤを生成するワンタイムＩＤ生成手段と、
前記インタフェースと前記記憶装置がデータ通信可能になる度に、前記ワンタイムＩＤ生成手段により生成されたワンタイムＩＤを前記記憶装置へ送信し、前記記憶装置のワンタイムＩＤを更新させるワンタイムＩＤ更新手段と、
を備えることを特徴とする請求項１記載のデータ分散保存装置。
【請求項５】
前記データ分散手段は、前記対象データを暗号化する際に使用された暗号鍵を、前記他方の分割データと関連づけて前記記憶装置の記憶媒体に格納させ、
前記復号手段は、前記記憶装置の記憶媒体に格納されている前記暗号鍵で復号をすること、
を特徴とする請求項１、請求項２および請求項４のうちのいずれか１項記載のデータ分散保存装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ分散保存装置に関するものである。
【背景技術】
【０００２】
安全のために電子情報を分割して保存する技術がある（例えば特許文献１参照）。このような技術では、分割後の複数のデータが別々の記録装置に格納され、元のデータは消去される。
【０００３】
【特許文献１】特開２００６−３０１８４９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、あるデータを２つに分割し一方の分割データをコンピュータ装置へ他方の分割データを記憶装置へ格納する場合、記憶装置の分割データを詐取し、コンピュータ装置にアクセスすることで、簡単に第三者が元のデータを復元して詐取できてしまう。また、その場合に、元のデータが詐取されたことを検知することが困難である。
【０００５】
本発明は、上記の問題に鑑みてなされたものであり、記憶装置に記憶された分割データを詐取されても元のデータが復元され難くすることができるデータ分散保存装置を得ることを目的とする。
【課題を解決するための手段】
【０００６】
上記の課題を解決するために、本発明では以下のようにした。
【０００７】
本発明に係るデータ分散保存装置は、データ格納手段と、データ格納手段に格納されている対象データを暗号化する暗号化手段と、読み書き可能な不揮発性の記憶媒体を有する記憶装置とデータ通信をするインタフェースと、インタフェースと記憶装置がデータ通信可能になる度にワンタイムＩＤによる認証で記憶装置の正当性を判断する認証手段と、認証手段により記憶装置が正当なものであると判断された場合に、暗号化手段により暗号化された対象データを所定のパターンで分割して２つの分割データを生成し、２つの分割データのうちの一方を記憶装置の記憶媒体に格納させ、２つの分割データのうちの他方をデータ格納手段に格納するデータ分散手段と、認証手段により記憶装置が正当なものであると判断された場合に、記憶装置の記憶媒体から分割データの一方を読み出し、データ格納手段から分割データの他方を読み出し、２つの分割データを所定のパターンで合成するデータ合成手段と、データ合成手段により合成されたデータを対象データへ復号する復号手段とをを備える。これにより、データが暗号化されている上に相互認証をパスしないと復元されないため、記憶装置に記憶された分割データを詐取されても元のデータが復元され難くすることができる。ワンタイムＩＤが頻繁に更新されるため、記憶装置のデータが詐取されても、詐取されたデータが使用されるまでにワンタイムＩＤが更新されれば、なりすましによる相互認証のパスを防止することができる。また、万一、なりすましにより元のデータが詐取された場合には、なりすましによる不正アクセス時にワンタイムＩＤが更新され、その後に正規の記憶装置が相互認証をパスしなくなるため、不正アクセスを検知することができる。
【０００８】
また、本発明に係るデータ分散保存装置は、上記のデータ分散保存装置に加え、次のようにしてもよい。この場合、データ分散保存装置は、乱数生成手段と、インタフェースと記憶装置がデータ通信可能になる度に乱数生成手段により生成される第１の乱数と記憶装置により生成される第２の乱数とからワンタイムＩＤを生成するワンタイムＩＤ生成手段と、記憶装置と共通の秘密鍵であってインタフェースと記憶装置がデータ通信可能になる度に更新される可変共通鍵で復号を行う認証用復号手段とを備える。そして、インタフェースは、インタフェースに記憶装置がデータ通信可能に接続される度に、記憶装置により生成され可変共通鍵で暗号化された第２の乱数を受信し、認証用復号手段は、可変共通鍵で暗号化された第２の乱数を復号し、暗号化手段は、可変共通鍵で暗号化をし、復号手段は、可変共通鍵で復号をする。これにより、対象データの暗号化に使用される鍵（可変共通鍵）が頻繁に変化するため、不正アクセスをより防止できる。
【０００９】
また、本発明に係るデータ分散保存装置は、上記のデータ分散保存装置に加え、次のようにしてもよい。この場合、インタフェースと記憶装置がデータ通信可能になる度に、データ合成手段は、２つの分割データを合成し、復号手段は、更新前の可変共通鍵で、合成されたデータを対象データへ復号し、暗号化手段は、復号手段により復号された対象データを、更新後の可変共通鍵で暗号化し、データ分散手段は、更新後の可変共通鍵で暗号化された対象データから２つの分割データを生成し２つの分割データのうちの一方を記憶装置の記憶媒体に格納させ、２つの分割データのうちの他方をデータ格納手段に格納する。これにより、対象データの暗号化に使用される鍵（可変共通鍵）が頻繁に変化するため、不正アクセスをより防止できる。
【００１０】
また、本発明に係るデータ分散保存装置は、上記のデータ分散保存装置に加え、次のようにしてもよい。この場合、データ分散保存装置は、インタフェースと記憶装置がデータ通信可能になる度にワンタイムＩＤを生成するワンタイムＩＤ生成手段と、インタフェースと記憶装置がデータ通信可能になる度に、ワンタイムＩＤ生成手段により生成されたワンタイムＩＤを記憶装置へ送信し、記憶装置のワンタイムＩＤを更新させるワンタイムＩＤ更新手段とを備える。これにより、ワンタイムＩＤを生成する演算機能がない装置を記憶装置として使用しても上述の効果が得られる。
【００１１】
また、本発明に係るデータ分散保存装置は、上記のデータ分散保存装置に加え、次のようにしてもよい。この場合、データ分散手段は、対象データを暗号化する際に使用された暗号鍵を、他方の分割データと関連づけて記憶装置の記憶媒体に格納させる。復号手段は、記憶装置の記憶媒体に格納されている暗号鍵で復号をする。これにより、データ分散保存装置には暗号鍵が保存されないため、データ分散保存装置内の分割データから元のデータをより推測にくくすることができる。
【発明の効果】
【００１２】
本発明によれば、記憶装置に記憶された分割データを詐取されても元のデータが復元され難くすることができる。
【発明を実施するための最良の形態】
【００１３】
以下、図に基づいて本発明の実施の形態を説明する。
【００１４】
実施の形態１．
図１は、本発明の実施の形態１に係るデータ分散保存装置としてのコンピュータ装置の構成を示すブロック図である。図１において、コンピュータ装置１は、データ分散保存装置の一実施の形態である。ＣＰＵ１１が分散暗号化保存プログラム１５ａを実行することにより、データ分散保存装置が実現される。また、記憶装置２は、読み書き可能な不揮発性の記憶媒体２１を有する装置である。実施の形態１では、記憶装置２は、単なるストレージではなく、認証処理のための演算機能を有する装置である。
【００１５】
コンピュータ装置１において、ＣＰＵ１１は、プログラムを実行し、プログラムに記述された処理を実行する演算処理装置である。演算処理部１１ａは、ＣＰＵ１１が分散暗号化保存プログラム１５ａを実行することで実現される処理部である。また、ＲＯＭ１２は、プログラムおよびデータを予め記憶した不揮発性のメモリである。また、ＲＡＭ１３は、プログラムを実行する際にそのプログラムおよびデータを一時的に記憶するメモリである。また、インタフェース１４は、無線通信または有線通信で記憶装置２と通信可能なインタフェース回路である。無線通信としては、無線ＬＡＮ、ブルーツース（商標）、赤外線通信、電磁結合による通信などがある。有線通信としては、有線ＬＡＮなどがある。データ格納部１５は、図示せぬオペレーティングシステムや、分散暗号化保存プログラム１５ａなどのアプリケーションプログラムを格納する記録媒体である。データ格納部１５は、例えばハードディスク駆動装置とされる。ＣＰＵ１１などはバスなどで相互に接続されている。
【００１６】
記憶装置２において、記憶媒体２１は、読み書き可能な不揮発性の記録媒体である。記憶媒体２１としては、フラッシュメモリ、ハードディスクドライブ、可搬性のある記録媒体とそのドライブなどが使用可能である。インタフェース２２は、無線通信または有線通信でコンピュータ装置１のインタフェース１４と通信可能なインタフェース回路である。制御回路２３は、記憶媒体２１およびインタフェース２２を制御し、インタフェース２２により受信されたデータを記憶媒体２１に格納したり、記憶媒体２１から読み出したデータをインタフェース２２を介して送信したりする。実施の形態１では、制御回路２３は、コンピュータ装置１との相互認証を行うための演算機能を有する。制御回路２３は、例えば上述の各種機能を有するプログラムを内蔵したマイクロコンピュータとして実現可能である。
【００１７】
次に、上記各装置の動作について説明する。
【００１８】
まず、データを保存する際の動作について説明する。図２は、実施の形態１におけるデータ保存時の処理を説明するフローチャートである。図３は、図２のデータ保存処理の前後それぞれにおけるデータ構成を示す図である。
【００１９】
コンピュータ装置１と記憶装置２との通信路が確立され両者がデータ通信可能に接続されると（ステップＳ１）、コンピュータ装置１と記憶装置２との間でワンタイムＩＤによる相互認証が実行される（ステップＳ２）。このとき、演算処理部１１ａと制御回路２３が、インタフェース１４，２２および確立された通信路を介してデータ通信を行いつつ、相互認証処理を行う。ワンタイムＩＤによる相互認証では、コンピュータ装置１と記憶装置２とが接続される度に更新されるワンタイムＩＤを相互に送受して、そのワンタイムＩＤに基づき、通信相手の正当性が判断される。ワンタイムＩＤは、記憶装置２により生成される乱数Ｒ、およびコンピュータ装置１により生成される乱数Ｑといった認証データ３１，４１から生成される。この乱数Ｒまたは乱数Ｑは、暗号化された上で通信相手の装置へ送信される。このときの暗号鍵は、コンピュータ装置１と記憶装置２により共有される可変共通鍵とされ、コンピュータ装置１と記憶装置２とが接続される度に乱数Ｒ，Ｑに基づき更新される。相互認証において、装置１，２の少なくとも１つが正当なものではない場合には、通信路が切断され、両者の接続が解除される。両方の装置１，２とも正当なものである場合には、以下の処理が実行される。
【００２０】
まず、コンピュータ装置１では、図示せぬユーザインタフェース、他のアプリケーションプログラムなどで選択された分散保存の対象となるデータ３２が演算処理部１１ａにより暗号化される（ステップＳ３）。このデータは、単一のデータであって、例えば１つのデータファイルである。この暗号化の際の暗号鍵には、上述の可変共通鍵が使用される。
【００２１】
次に、演算処理部１１ａにより、暗号化後のデータを所定のパターンで分散させて生成された２つの分割データが生成される（ステップＳ４）。分割データは、一方から元のデータや他方の分割データが生成されないようなパターンで、元のデータから抽出される。このとき、一方の分割データと他方の分割データとのデータ量の比は、１：１でなくてもよく、１：９としたりしてもよい。例えば、所定のビット数ごとに１ビットずつ抽出して一方の分割データを生成し、残りのデータを他方の分割データとする。また、１対の分割データには、他の対の分割データから区別するための識別情報を分割データに付加してもよい。あるいは、コンピュータ装置１または記憶装置２に格納されるテーブルで、分割データの対応関係が記述されるようにしてもよい。
【００２２】
次に、演算処理部１１ａは、一方の分割データと暗号化に使用した暗号鍵を記憶装置２へ送信する（ステップＳ５）。記憶装置２では、制御回路２３により、コンピュータ装置２のワンタイムＩＤ４２ａ、一方の分割データ４２ｂおよび暗号化に使用した暗号鍵４２ｃが関連づけられて記憶媒体２１に格納される。その際、２つの分割データのうち、データ量の少ない方が、記憶媒体２１へ送信される。また、コンピュータ装置１では、演算処理部１１ａにより、他方の分割データ３３ｂが、記憶装置２のワンタイムＩＤ３３ａと関連づけられてデータ格納部１５に格納され（ステップＳ６）、元のデータ３２が消去される（ステップＳ７）。暗号化に使用した暗号鍵は、コンピュータ装置１では消去され保存されない。
【００２３】
このようにして、元のデータ３２は、暗号化された上で、分散保存される。
【００２４】
次に、データを復元する際の動作について説明する。図４は、実施の形態１におけるデータ復元時の処理を説明するフローチャートである。
【００２５】
コンピュータ装置１と記憶装置２との通信路が確立され両者がデータ通信可能に接続されると（ステップＳ２１）、上述のステップＳ２の場合と同様にしてコンピュータ装置１と記憶装置２との間でワンタイムＩＤによる相互認証が実行される（ステップＳ２２）。この相互認証において、装置１，２の少なくとも１つが正当なものではない場合には、通信路が切断され、両者の接続が解除される。両方の装置１，２とも正当なものである場合には、以下の処理が実行される。
【００２６】
まず、コンピュータ装置１では、図示せぬユーザインタフェース、他のアプリケーションプログラムなどで選択された復元対象となる一対の分割データ３３ｂ，４２ｂがワンタイムＩＤ３３ａ，４２ａなどに基づき演算処理部１１ａにより特定される（ステップＳ２３）。次に、演算処理部１１ａは、記憶装置２から、特定された分割データ４２ｂとそれに関連づけられている暗号鍵４２ｃを取得し、また、データ格納部１５から特定された分割データ３３ｂを読み出す。そして、演算処理部１１ａは、２つの分割データ３３ｂ，４２ｂを所定のパターンで合成して、合成データ（暗号化された元のデータ３２と同一）を生成する（ステップＳ２４）。そして、演算処理部１１ａは、取得した暗号鍵４２ｃで、その合成データを復号して元のデータ３２を復元する（ステップＳ２５）。その後、演算処理部１１ａは、分割データ３３ｂを消去するとともに、制御回路２３に分散データ４２ｂを消去させる（ステップＳ２６）。
【００２７】
このようにして、暗号化された上で分散保存されている分割データ３３ｂ，４２ｂから元のデータ３２が復元される。
【００２８】
ここで、ワンタイムＩＤによる相互認証について説明する。図５は、実施の形態１における記憶装置２とコンピュータ装置１との相互認証処理について説明する図である。ここでは、記憶装置２の乱数Ｒをクライアント乱数、コンピュータ装置１の乱数Ｑをサーバ乱数という。
【００２９】
まず、コンピュータ装置１および記憶装置２は、初期値として、クライアント乱数Ｒ（０）、サーバ乱数Ｑ（０）および可変共通鍵Ｋ（０）を共有している。これらの初期値は、データ格納部１１，２１に予め格納される。なお、可変共通鍵Ｋ（０）は、装置１，２により、後述の式（４）に基づき生成されるようにしてもよい。その場合、前セッションの可変共通鍵の代わりに、真性乱数Ｚが使用される。この真性乱数Ｚは、初期状態にて、装置１，２により共有される。そして、１回の認証セッションごとに、コンピュータ装置１およびクライアント装置２に保持されているクライアント乱数Ｒ（ｉ）、サーバ乱数Ｑ（ｉ）および可変共通鍵Ｋ（ｉ）が更新されていく。
【００３０】
ここで、ｉ回の認証セッションが完了した後のクライアント乱数Ｒ（ｉ）、サーバ乱数Ｑ（ｉ）および可変共通鍵Ｋ（ｉ）が共有されている状態から、（ｉ＋１）回目の認証セッションが発生し完了するまでの処理について図５を参照して説明する。
【００３１】
この状態では、クライアント乱数Ｒ（ｉ）、サーバ乱数Ｑ（ｉ）および可変共通鍵Ｋ（ｉ）が共有されている（ステップＳ３１，Ｓ５１）。
【００３２】
まず、記憶装置２の制御回路２３は、式（１）に従って、現セッションｉについての、記憶装置２のワンタイムＩＤ：Ｃ（ｉ）を生成する（ステップＳ３２）。ただし、式（１）におけるｈａｓｈは、ＭＤ５などのハッシュ関数である。このハッシュ関数としては、暗号鍵を使用せずにダイジェストを生成するハッシュ関数が使用される。このハッシュ関数には、多少の衝突が発生してもよく、計算量があまり多くないものが選択される。
【００３３】
Ｃ（ｉ）＝ｈａｓｈ（Ｒ(ｉ），Ｑ（ｉ）)  ・・・（１）
【００３４】
次に、制御回路２３は、次セッションについてのクライアント乱数Ｒ（ｉ＋１）を発生する（ステップＳ３３）。また、このクライアント乱数Ｒ（ｉ＋１）は、次セッションのワンタイムＩＤ：Ｃ（ｉ＋１）およびコンピュータ装置１の現セッションのワンタイムＩＤ：Ｓ（ｉ）の生成に使用される。また、制御回路２３は、所定の暗号化関数Ｆｃに従って、可変共通鍵Ｋ（ｉ）でクライアント乱数Ｒ（ｉ＋１）を暗号化する（ステップＳ３４）。
【００３５】
そして、制御回路２３は、インタフェース２２を介して、ワンタイムＩＤ：Ｃ（ｉ）および暗号化されたクライアント乱数Ａｃを、認証要求とともに、コンピュータ装置１へ送信する（ステップＳ３５）。
【００３６】
コンピュータ装置１では、インタフェース１４が、認証要求、ワンタイムＩＤ：Ｃ（ｉ）および暗号化されたクライアント乱数Ａｃを受信する（ステップＳ５２）。演算処理部１１ａは、認証要求が受信されると、受信されたワンタイムＩＤ：Ｃ（ｉ）と同一のワンタイムＩＤが図示せぬワンタイムＩＤテーブルに登録されているか否かを判定する（ステップＳ５３）。つまり、通信相手の正当性は、自己の有する乱数Ｒ，Ｑから得られる通信相手の真正なワンタイムＩＤと通信相手から受信されたワンタイムＩＤとが一致するか否かに基づいて判断される（以下、同様）。受信されたワンタイムＩＤ：Ｃ（ｉ）が登録されていない場合には、認証処理を中止する（ステップＳ５４）。
【００３７】
受信されたワンタイムＩＤ：Ｃ（ｉ）が登録されている場合、演算処理部１１ａは、認証要求を送信した記憶装置２が正当なものであると判断する。
【００３８】
その後、演算処理部１１ａは、所定の復号関数Ｆｄに従って、暗号化されているクライアント乱数Ａｃを可変共通鍵Ｋ（ｉ）で復号し、平文のクライアント乱数Ｒ（ｉ＋１）を取得する（ステップＳ５５）。なお、復号関数Ｆｄは、記憶装置２で暗号化関数Ｆｃにより暗号化された暗号文を平文に変換する関数である。
【００３９】
次に、演算処理部１１ａは、保持しているサーバ乱数Ｑ（ｉ）とそのクライアント乱数Ｒ（ｉ＋１）から、現セッションについてのコンピュータ装置１のワンタイムＩＤ：Ｓ（ｉ）を式（２）に従って生成する（ステップＳ５６）。ただし、式（２）におけるｈａｓｈは、ＭＤ５などのハッシュ関数である。
【００４０】
Ｓ（ｉ）＝ｈａｓｈ（Ｒ（ｉ＋１），Ｑ（ｉ））  ・・・（２）
【００４１】
また、記憶装置２が正当なものであると判断された後、演算処理部１１ａは、記憶装置２との間で使用される次セッションのサーバ乱数Ｑ（ｉ＋１）を生成する（ステップＳ５７）。このサーバ乱数Ｑ（ｉ＋１）は、次セッションのワンタイムＩＤ：Ｃ（ｉ＋１），Ｓ（ｉ＋１）の生成に使用される。その際、演算処理部１１ａは、次セッションについての記憶装置２のワンタイムＩＤ：Ｃ（ｉ＋１）が登録済みで未使用のワンタイムと重複しないようにサーバ乱数Ｑ（ｉ＋１）を生成する。次に、演算処理部１１ａは、所定の暗号化関数Ｆｃに従って、可変共通鍵Ｋ（ｉ）でサーバ乱数Ｑ（ｉ＋１）を暗号化する（ステップＳ５８）。
【００４２】
そして、演算処理部１１ａは、インタフェース１４を介して、認証されたことを示す返答、並びにワンタイムＩＤ：Ｓ（ｉ）および暗号化されたサーバ乱数Ａｓを、認証要求の送信元の記憶装置２へ送信する（ステップＳ５９）。その後、演算処理部１１ａは、今回認証を行った記憶装置２の次セッションについてのワンタイムＩＤ：Ｃ（ｉ＋１）をワンタイムＩＤテーブルに登録する（ステップＳ６０）。その際、その記憶装置２のワンタイムＩＤ：Ｃ（ｉ）が、ワンタイムＩＤ：Ｃ（ｉ＋１）で上書きされ更新される。次セッションについてのワンタイムＩＤ：Ｃ（ｉ＋１）は、式（３）に従って生成される。ただし、式（３）におけるｈａｓｈは、式（１）と同一なハッシュ関数である。
【００４３】
Ｃ（ｉ＋１）＝ｈａｓｈ（Ｒ（ｉ＋１），Ｑ（ｉ＋１））  ・・・（３）
【００４４】
その後、演算処理部１１ａは、次セッションの可変共通鍵Ｋ（ｉ＋１）を式（４）に従って生成する（ステップＳ６１）。ただし、式（４）におけるｈａｓｈ２は、ハッシュ関数である。
【００４５】
Ｋ（ｉ＋１）＝ｈａｓｈ２（Ｋ（ｉ），Ｒ（ｉ＋１），Ｑ（ｉ＋１））・・・（４）
【００４６】
そして、演算処理部１１ａは、特定された記憶装置２についてのクライアント乱数Ｒ（ｉ）、サーバ乱数Ｑ（ｉ）および可変共通鍵Ｋ（ｉ）を、クライアント乱数Ｒ（ｉ＋１）、サーバ乱数Ｑ（ｉ＋１）および可変共通鍵Ｋ（ｉ＋１）へ更新する（ステップＳ６２）。
【００４７】
一方、記憶装置２では、インタフェース２２が、返答、ワンタイムＩＤ：Ｓ（ｉ）および暗号化されたサーバ乱数Ａｓを受信する（ステップＳ３６）。制御回路２３は、返答が受信されると、コンピュータ装置１の真正なワンタイムＩＤ：Ｙと、受信されたワンタイムＩＤ：Ｓ（ｉ）とを比較してコンピュータ装置１の正当性を判断する（ステップＳ３７，Ｓ３８）。なお、コンピュータ装置１の真正なワンタイムＩＤ：Ｙは、式（５）に従って生成される。ただし、式（５）におけるｈａｓｈは、式（２）と同一なハッシュ関数である。
【００４８】
Ｙ＝ｈａｓｈ（Ｒ(ｉ＋１），Ｑ（ｉ））  ・・・（５）
【００４９】
制御回路２３は、受信されたワンタイムＩＤ：Ｓ（ｉ）が真正なワンタイムＩＤ：Ｙと同一ではない場合、返答したコンピュータ装置１を不正なものと判断し、認証処理を中止する（ステップＳ３９）。
【００５０】
一方、制御回路２３は、受信されたワンタイムＩＤ：Ｓ（ｉ）が真正なワンタイムＩＤ：Ｙと同一である場合、返答したコンピュータ装置１が正当なものであると判断する。その後、制御回路２３は、所定の復号関数Ｆｄに従って、暗号化されているクライアント乱数Ａｓを可変共通鍵Ｋ（ｉ）で復号し、平文のサーバ乱数Ｑ（ｉ＋１）を取得する（ステップＳ４０）。なお、復号関数Ｆｄは、コンピュータ装置１における暗号化関数Ｆｃにより暗号化された暗号文を平文に変換する関数である。次に、制御回路２３は、次セッションの可変共通鍵Ｋ（ｉ＋１）を式（４）に従って生成する（ステップＳ４１）。
【００５１】
そして、制御回路２３は、クライアント乱数Ｒ（ｉ）、サーバ乱数Ｑ（ｉ）および可変共通鍵Ｋ（ｉ）をクライアント乱数Ｒ（ｉ＋１）、サーバ乱数Ｑ（ｉ＋１）および可変共通鍵Ｋ（ｉ＋１）へ更新する（ステップＳ４２）。
【００５２】
このようにして、１認証セッションにおいて、ワンタイムＩＤ：Ｃ（ｉ），Ｓ（ｉ）により記憶装置２およびコンピュータ装置１が相互に認証を行うとともに、共有している情報であるクライアント乱数Ｒ（ｉ）、サーバ乱数Ｑ（ｉ）および可変共通鍵Ｋ（ｉ）が記憶装置２およびコンピュータ装置１のそれぞれにおいて更新される。
【００５３】
実施の形態２．
本発明の実施の形態２では、分割済みの対象データ３２についての暗号鍵が、ワンタイムＩＤ認証が行われる度に更新される。そのときの暗号鍵４２ｃは記憶装置２において分割データ４２ｂに関連づけて保存されない。なお、実施の形態２におけるコンピュータ装置１および記憶装置２の基本的な構成は、実施の形態１のものと同様である。ただし、以下のように動作する。
【００５４】
実施の形態２では、装置１，２がデータ通信可能となり両者間でワンタイムＩＤによる認証が実行され可変共通鍵が更新されるごとに、２つの分割データ３３ｂ，４２ｂが合成され、合成データが更新前の可変共通鍵で復号されて、元のデータ３２が復元される。その後、元のデータ３２が更新後の可変共通鍵で暗号化され、暗号化後のデータ３２が２つの分割データ３３ｂ，４２ｂに分割される。そして、それらのデータ３３ｂ，４２ｂで、データ格納部１５における分割データ３３ｂおよび記憶媒体２１における分割データ４２ｂが更新される。その際、分割データ３３ｂ，４２ｂに関連づけられているワンタイムＩＤも、新しいワンタイムＩＤで更新される。
【００５５】
実施の形態３．
本発明の実施の形態３では、記憶装置２の制御回路２３は、ワンタイムＩＤによる相互認証のための演算機能を有さない。この場合、記憶装置２は、単に記録媒体として使用される。したがって、記憶装置２は、ＵＳＢメモリなどでもよい。あるいは、記憶媒体２１を読み書き可能な可搬性のある記録媒体とし、その他の部分をその記録媒体へ読み書きを行うドライブとしてもよい。なお、実施の形態３におけるコンピュータ装置１および記憶装置２の基本的な構成は、上記の点以外は実施の形態１のものと同様である。ただし、以下のように動作する。
【００５６】
実施の形態３では、記憶装置２が演算機能を持たないため、記憶装置２によるコンピュータ装置１の認証処理は行われない。このため、コンピュータ装置１による記憶装置２の認証処理のみが実行される。コンピュータ装置１により記憶装置２が正当なものであると判断された場合には、保存処理時には、実施の形態１と同様にしてデータ３２の暗号化、データ分割および分散保存が実行され、復元処理時には、実施の形態１と同様にして分割データ３３ｂ，４２ｂの合成および合成データの復号が実行される。
【００５７】
したがって、ここでは、コンピュータ装置１による記憶装置２の認証処理について説明する。図６は、実施の形態３におけるコンピュータ装置１による記憶装置２の認証処理について説明する図である。
【００５８】
まず、コンピュータ装置１および記憶装置２は、記憶装置２のワンタイムＩＤ：Ｃ（ｉ）を保持している（ステップＳ７１，Ｓ９１）。
【００５９】
そして、２つの装置１，２が接続されると、コンピュータ装置１の演算処理部１１ａは、記憶装置２からワンタイムＩＤ：Ｃ（ｉ）を読み出し（ステップＳ７１，Ｓ９２）、自己の保持しているワンタイムＩＤと比較してその記憶装置２の正当性を判断する（ステップＳ７４）。
【００６０】
両者が一致しない場合には、記憶装置２は不正なものとして、処理を中止する（ステップＳ７４）。一方、両者が一致した場合には、演算処理部１１ａは、その記憶装置２が正当なものであると判断し、上述の保存処理または復元処理を実行する。
【００６１】
記憶装置２が正当なものであると判断された場合、演算処理部１１ａは、擬似乱数Ｒを生成し（ステップＳ７５）、その擬似乱数Ｒから、記憶装置２の次のワンタイムＩＤ：Ｃ（ｉ＋１）を生成する（ステップＳ７６）。ワンタイムＩＤは、上述のハッシュ関数などの一方向性関数により擬似乱数Ｒから生成される。
【００６２】
そして、演算処理部１１ａは、そのワンタイムＩＤ：Ｃ（ｉ＋１）を記憶装置２に格納する（ステップＳ７７）。記憶装置２では、そのワンタイムＩＤ：Ｃ（ｉ＋１）により記憶媒体２１におけるワンタイムＩＤ：Ｃ（ｉ）が更新される（ステップＳ９３，Ｓ９４）。
【００６３】
また、演算処理部１１ａは、そのワンタイムＩＤ：Ｃ（ｉ＋１）をデータ格納部１５におけるテーブルに登録する（ステップＳ７８）。
【００６４】
このようにして、装置１，２により保持されているワンタイムＩＤが更新され新たなワンタイムＩＤ：Ｃ（ｉ＋１）が保持される（ステップＳ７９，Ｓ９５）。
【００６５】
なお、上述の各実施の形態は、本発明の好適な例であるが、本発明は、これらに限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々の変形、変更が可能である。
【００６６】
例えば、実施の形態１において、ワンタイムＩＤ認証時における記憶装置２の機能とコンピュータ装置１の機能を交換してもよい。
【００６７】
また、各実施の形態において、データの保存および復元を行わない場合でも、装置１，２が接続されたときに、ワンタイムＩＤによる認証が自動的に実行され、ワンタイムＩＤおよび乱数Ｒ，Ｑが更新されるようにしてもよい。この場合、例えば、装置１，２が接続されるとデータファイル閲覧のみでもワンタイムＩＤが更新される。
【産業上の利用可能性】
【００６８】
本発明は、例えば、データの分散保存に適用可能である。
【図面の簡単な説明】
【００６９】
【図１】実施の形態１に係るデータ分散保存装置としてのコンピュータ装置の構成を示すブロック図である。
【図２】実施の形態１におけるデータ保存時の処理を説明するフローチャートである。
【図３】図２のデータ保存処理の前後それぞれにおけるデータ構成を示す図である。
【図４】実施の形態１におけるデータ復元時の処理を説明するフローチャートである。
【図５】実施の形態１における記憶装置とコンピュータ装置との相互認証処理について説明する図である。
【図６】実施の形態３におけるコンピュータ装置による記憶装置の認証処理について説明する図である。
【符号の説明】
【００７０】
１  コンピュータ装置（データ分散保存装置）
２  記憶装置
１１ａ  演算処理部（暗号化手段，認証手段，データ分散手段，データ合成手段，復号手段，乱数生成手段，ワンタイムＩＤ生成手段，認証用復号手段，ワンタイムＩＤ更新手段）
１４  インタフェース
１５  データ格納部（データ格納手段）
２１  記憶媒体
３２  データ（対象データ）
３３ｂ，４２ｂ  分割データ
【図１】
2008287488.tif 000003
【図２】
2008287488.tif 000004
【図３】
2008287488.tif 000005
【図４】
2008287488.tif 000006
【図５】
2008287488.tif 000007
【図６】
2008287488.tif 000008
【手続補正書】
【提出日】平成19年5月21日(2007.5.21)
【手続補正１】
【補正対象書類名】図面
【補正対象項目名】図３
【補正方法】変更
【補正の内容】
【図３】
2008287488.tif 000009