説明

データ分散保存装置

【課題】 記憶装置に記憶された分割データを詐取されても元のデータが復元され難くする。
【解決手段】 コンピュータ装置1は、ワンタイムIDによる認証に基づき記憶装置2が正当なものであると判断した後に、対象のデータを暗号化し所定のパターンで分割して2つの分割データを生成し、2つの分割データのうちの一方を記憶装置2の記憶媒体21に格納させ、他方を自己に格納する。また、コンピュータ装置1は、ワンタイムIDによる認証に基づき記憶装置2が正当なものであると判断した後に、記憶装置2の記憶媒体21から分割データの一方を読み出し、2つの分割データを所定のパターンで合成し復号して、元のデータを復元する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ分散保存装置に関するものである。
【背景技術】
【0002】
安全のために電子情報を分割して保存する技術がある(例えば特許文献1参照)。このような技術では、分割後の複数のデータが別々の記録装置に格納され、元のデータは消去される。
【0003】
【特許文献1】特開2006−301849号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、あるデータを2つに分割し一方の分割データをコンピュータ装置へ他方の分割データを記憶装置へ格納する場合、記憶装置の分割データを詐取し、コンピュータ装置にアクセスすることで、簡単に第三者が元のデータを復元して詐取できてしまう。また、その場合に、元のデータが詐取されたことを検知することが困難である。
【0005】
本発明は、上記の問題に鑑みてなされたものであり、記憶装置に記憶された分割データを詐取されても元のデータが復元され難くすることができるデータ分散保存装置を得ることを目的とする。
【課題を解決するための手段】
【0006】
上記の課題を解決するために、本発明では以下のようにした。
【0007】
本発明に係るデータ分散保存装置は、データ格納手段と、データ格納手段に格納されている対象データを暗号化する暗号化手段と、読み書き可能な不揮発性の記憶媒体を有する記憶装置とデータ通信をするインタフェースと、インタフェースと記憶装置がデータ通信可能になる度にワンタイムIDによる認証で記憶装置の正当性を判断する認証手段と、認証手段により記憶装置が正当なものであると判断された場合に、暗号化手段により暗号化された対象データを所定のパターンで分割して2つの分割データを生成し、2つの分割データのうちの一方を記憶装置の記憶媒体に格納させ、2つの分割データのうちの他方をデータ格納手段に格納するデータ分散手段と、認証手段により記憶装置が正当なものであると判断された場合に、記憶装置の記憶媒体から分割データの一方を読み出し、データ格納手段から分割データの他方を読み出し、2つの分割データを所定のパターンで合成するデータ合成手段と、データ合成手段により合成されたデータを対象データへ復号する復号手段とをを備える。これにより、データが暗号化されている上に相互認証をパスしないと復元されないため、記憶装置に記憶された分割データを詐取されても元のデータが復元され難くすることができる。ワンタイムIDが頻繁に更新されるため、記憶装置のデータが詐取されても、詐取されたデータが使用されるまでにワンタイムIDが更新されれば、なりすましによる相互認証のパスを防止することができる。また、万一、なりすましにより元のデータが詐取された場合には、なりすましによる不正アクセス時にワンタイムIDが更新され、その後に正規の記憶装置が相互認証をパスしなくなるため、不正アクセスを検知することができる。
【0008】
また、本発明に係るデータ分散保存装置は、上記のデータ分散保存装置に加え、次のようにしてもよい。この場合、データ分散保存装置は、乱数生成手段と、インタフェースと記憶装置がデータ通信可能になる度に乱数生成手段により生成される第1の乱数と記憶装置により生成される第2の乱数とからワンタイムIDを生成するワンタイムID生成手段と、記憶装置と共通の秘密鍵であってインタフェースと記憶装置がデータ通信可能になる度に更新される可変共通鍵で復号を行う認証用復号手段とを備える。そして、インタフェースは、インタフェースに記憶装置がデータ通信可能に接続される度に、記憶装置により生成され可変共通鍵で暗号化された第2の乱数を受信し、認証用復号手段は、可変共通鍵で暗号化された第2の乱数を復号し、暗号化手段は、可変共通鍵で暗号化をし、復号手段は、可変共通鍵で復号をする。これにより、対象データの暗号化に使用される鍵(可変共通鍵)が頻繁に変化するため、不正アクセスをより防止できる。
【0009】
また、本発明に係るデータ分散保存装置は、上記のデータ分散保存装置に加え、次のようにしてもよい。この場合、インタフェースと記憶装置がデータ通信可能になる度に、データ合成手段は、2つの分割データを合成し、復号手段は、更新前の可変共通鍵で、合成されたデータを対象データへ復号し、暗号化手段は、復号手段により復号された対象データを、更新後の可変共通鍵で暗号化し、データ分散手段は、更新後の可変共通鍵で暗号化された対象データから2つの分割データを生成し2つの分割データのうちの一方を記憶装置の記憶媒体に格納させ、2つの分割データのうちの他方をデータ格納手段に格納する。これにより、対象データの暗号化に使用される鍵(可変共通鍵)が頻繁に変化するため、不正アクセスをより防止できる。
【0010】
また、本発明に係るデータ分散保存装置は、上記のデータ分散保存装置に加え、次のようにしてもよい。この場合、データ分散保存装置は、インタフェースと記憶装置がデータ通信可能になる度にワンタイムIDを生成するワンタイムID生成手段と、インタフェースと記憶装置がデータ通信可能になる度に、ワンタイムID生成手段により生成されたワンタイムIDを記憶装置へ送信し、記憶装置のワンタイムIDを更新させるワンタイムID更新手段とを備える。これにより、ワンタイムIDを生成する演算機能がない装置を記憶装置として使用しても上述の効果が得られる。
【0011】
また、本発明に係るデータ分散保存装置は、上記のデータ分散保存装置に加え、次のようにしてもよい。この場合、データ分散手段は、対象データを暗号化する際に使用された暗号鍵を、他方の分割データと関連づけて記憶装置の記憶媒体に格納させる。復号手段は、記憶装置の記憶媒体に格納されている暗号鍵で復号をする。これにより、データ分散保存装置には暗号鍵が保存されないため、データ分散保存装置内の分割データから元のデータをより推測にくくすることができる。
【発明の効果】
【0012】
本発明によれば、記憶装置に記憶された分割データを詐取されても元のデータが復元され難くすることができる。
【発明を実施するための最良の形態】
【0013】
以下、図に基づいて本発明の実施の形態を説明する。
【0014】
実施の形態1.
図1は、本発明の実施の形態1に係るデータ分散保存装置としてのコンピュータ装置の構成を示すブロック図である。図1において、コンピュータ装置1は、データ分散保存装置の一実施の形態である。CPU11が分散暗号化保存プログラム15aを実行することにより、データ分散保存装置が実現される。また、記憶装置2は、読み書き可能な不揮発性の記憶媒体21を有する装置である。実施の形態1では、記憶装置2は、単なるストレージではなく、認証処理のための演算機能を有する装置である。
【0015】
コンピュータ装置1において、CPU11は、プログラムを実行し、プログラムに記述された処理を実行する演算処理装置である。演算処理部11aは、CPU11が分散暗号化保存プログラム15aを実行することで実現される処理部である。また、ROM12は、プログラムおよびデータを予め記憶した不揮発性のメモリである。また、RAM13は、プログラムを実行する際にそのプログラムおよびデータを一時的に記憶するメモリである。また、インタフェース14は、無線通信または有線通信で記憶装置2と通信可能なインタフェース回路である。無線通信としては、無線LAN、ブルーツース(商標)、赤外線通信、電磁結合による通信などがある。有線通信としては、有線LANなどがある。データ格納部15は、図示せぬオペレーティングシステムや、分散暗号化保存プログラム15aなどのアプリケーションプログラムを格納する記録媒体である。データ格納部15は、例えばハードディスク駆動装置とされる。CPU11などはバスなどで相互に接続されている。
【0016】
記憶装置2において、記憶媒体21は、読み書き可能な不揮発性の記録媒体である。記憶媒体21としては、フラッシュメモリ、ハードディスクドライブ、可搬性のある記録媒体とそのドライブなどが使用可能である。インタフェース22は、無線通信または有線通信でコンピュータ装置1のインタフェース14と通信可能なインタフェース回路である。制御回路23は、記憶媒体21およびインタフェース22を制御し、インタフェース22により受信されたデータを記憶媒体21に格納したり、記憶媒体21から読み出したデータをインタフェース22を介して送信したりする。実施の形態1では、制御回路23は、コンピュータ装置1との相互認証を行うための演算機能を有する。制御回路23は、例えば上述の各種機能を有するプログラムを内蔵したマイクロコンピュータとして実現可能である。
【0017】
次に、上記各装置の動作について説明する。
【0018】
まず、データを保存する際の動作について説明する。図2は、実施の形態1におけるデータ保存時の処理を説明するフローチャートである。図3は、図2のデータ保存処理の前後それぞれにおけるデータ構成を示す図である。
【0019】
コンピュータ装置1と記憶装置2との通信路が確立され両者がデータ通信可能に接続されると(ステップS1)、コンピュータ装置1と記憶装置2との間でワンタイムIDによる相互認証が実行される(ステップS2)。このとき、演算処理部11aと制御回路23が、インタフェース14,22および確立された通信路を介してデータ通信を行いつつ、相互認証処理を行う。ワンタイムIDによる相互認証では、コンピュータ装置1と記憶装置2とが接続される度に更新されるワンタイムIDを相互に送受して、そのワンタイムIDに基づき、通信相手の正当性が判断される。ワンタイムIDは、記憶装置2により生成される乱数R、およびコンピュータ装置1により生成される乱数Qといった認証データ31,41から生成される。この乱数Rまたは乱数Qは、暗号化された上で通信相手の装置へ送信される。このときの暗号鍵は、コンピュータ装置1と記憶装置2により共有される可変共通鍵とされ、コンピュータ装置1と記憶装置2とが接続される度に乱数R,Qに基づき更新される。相互認証において、装置1,2の少なくとも1つが正当なものではない場合には、通信路が切断され、両者の接続が解除される。両方の装置1,2とも正当なものである場合には、以下の処理が実行される。
【0020】
まず、コンピュータ装置1では、図示せぬユーザインタフェース、他のアプリケーションプログラムなどで選択された分散保存の対象となるデータ32が演算処理部11aにより暗号化される(ステップS3)。このデータは、単一のデータであって、例えば1つのデータファイルである。この暗号化の際の暗号鍵には、上述の可変共通鍵が使用される。
【0021】
次に、演算処理部11aにより、暗号化後のデータを所定のパターンで分散させて生成された2つの分割データが生成される(ステップS4)。分割データは、一方から元のデータや他方の分割データが生成されないようなパターンで、元のデータから抽出される。このとき、一方の分割データと他方の分割データとのデータ量の比は、1:1でなくてもよく、1:9としたりしてもよい。例えば、所定のビット数ごとに1ビットずつ抽出して一方の分割データを生成し、残りのデータを他方の分割データとする。また、1対の分割データには、他の対の分割データから区別するための識別情報を分割データに付加してもよい。あるいは、コンピュータ装置1または記憶装置2に格納されるテーブルで、分割データの対応関係が記述されるようにしてもよい。
【0022】
次に、演算処理部11aは、一方の分割データと暗号化に使用した暗号鍵を記憶装置2へ送信する(ステップS5)。記憶装置2では、制御回路23により、コンピュータ装置2のワンタイムID42a、一方の分割データ42bおよび暗号化に使用した暗号鍵42cが関連づけられて記憶媒体21に格納される。その際、2つの分割データのうち、データ量の少ない方が、記憶媒体21へ送信される。また、コンピュータ装置1では、演算処理部11aにより、他方の分割データ33bが、記憶装置2のワンタイムID33aと関連づけられてデータ格納部15に格納され(ステップS6)、元のデータ32が消去される(ステップS7)。暗号化に使用した暗号鍵は、コンピュータ装置1では消去され保存されない。
【0023】
このようにして、元のデータ32は、暗号化された上で、分散保存される。
【0024】
次に、データを復元する際の動作について説明する。図4は、実施の形態1におけるデータ復元時の処理を説明するフローチャートである。
【0025】
コンピュータ装置1と記憶装置2との通信路が確立され両者がデータ通信可能に接続されると(ステップS21)、上述のステップS2の場合と同様にしてコンピュータ装置1と記憶装置2との間でワンタイムIDによる相互認証が実行される(ステップS22)。この相互認証において、装置1,2の少なくとも1つが正当なものではない場合には、通信路が切断され、両者の接続が解除される。両方の装置1,2とも正当なものである場合には、以下の処理が実行される。
【0026】
まず、コンピュータ装置1では、図示せぬユーザインタフェース、他のアプリケーションプログラムなどで選択された復元対象となる一対の分割データ33b,42bがワンタイムID33a,42aなどに基づき演算処理部11aにより特定される(ステップS23)。次に、演算処理部11aは、記憶装置2から、特定された分割データ42bとそれに関連づけられている暗号鍵42cを取得し、また、データ格納部15から特定された分割データ33bを読み出す。そして、演算処理部11aは、2つの分割データ33b,42bを所定のパターンで合成して、合成データ(暗号化された元のデータ32と同一)を生成する(ステップS24)。そして、演算処理部11aは、取得した暗号鍵42cで、その合成データを復号して元のデータ32を復元する(ステップS25)。その後、演算処理部11aは、分割データ33bを消去するとともに、制御回路23に分散データ42bを消去させる(ステップS26)。
【0027】
このようにして、暗号化された上で分散保存されている分割データ33b,42bから元のデータ32が復元される。
【0028】
ここで、ワンタイムIDによる相互認証について説明する。図5は、実施の形態1における記憶装置2とコンピュータ装置1との相互認証処理について説明する図である。ここでは、記憶装置2の乱数Rをクライアント乱数、コンピュータ装置1の乱数Qをサーバ乱数という。
【0029】
まず、コンピュータ装置1および記憶装置2は、初期値として、クライアント乱数R(0)、サーバ乱数Q(0)および可変共通鍵K(0)を共有している。これらの初期値は、データ格納部11,21に予め格納される。なお、可変共通鍵K(0)は、装置1,2により、後述の式(4)に基づき生成されるようにしてもよい。その場合、前セッションの可変共通鍵の代わりに、真性乱数Zが使用される。この真性乱数Zは、初期状態にて、装置1,2により共有される。そして、1回の認証セッションごとに、コンピュータ装置1およびクライアント装置2に保持されているクライアント乱数R(i)、サーバ乱数Q(i)および可変共通鍵K(i)が更新されていく。
【0030】
ここで、i回の認証セッションが完了した後のクライアント乱数R(i)、サーバ乱数Q(i)および可変共通鍵K(i)が共有されている状態から、(i+1)回目の認証セッションが発生し完了するまでの処理について図5を参照して説明する。
【0031】
この状態では、クライアント乱数R(i)、サーバ乱数Q(i)および可変共通鍵K(i)が共有されている(ステップS31,S51)。
【0032】
まず、記憶装置2の制御回路23は、式(1)に従って、現セッションiについての、記憶装置2のワンタイムID:C(i)を生成する(ステップS32)。ただし、式(1)におけるhashは、MD5などのハッシュ関数である。このハッシュ関数としては、暗号鍵を使用せずにダイジェストを生成するハッシュ関数が使用される。このハッシュ関数には、多少の衝突が発生してもよく、計算量があまり多くないものが選択される。
【0033】
C(i)=hash(R(i),Q(i)) ・・・(1)
【0034】
次に、制御回路23は、次セッションについてのクライアント乱数R(i+1)を発生する(ステップS33)。また、このクライアント乱数R(i+1)は、次セッションのワンタイムID:C(i+1)およびコンピュータ装置1の現セッションのワンタイムID:S(i)の生成に使用される。また、制御回路23は、所定の暗号化関数Fcに従って、可変共通鍵K(i)でクライアント乱数R(i+1)を暗号化する(ステップS34)。
【0035】
そして、制御回路23は、インタフェース22を介して、ワンタイムID:C(i)および暗号化されたクライアント乱数Acを、認証要求とともに、コンピュータ装置1へ送信する(ステップS35)。
【0036】
コンピュータ装置1では、インタフェース14が、認証要求、ワンタイムID:C(i)および暗号化されたクライアント乱数Acを受信する(ステップS52)。演算処理部11aは、認証要求が受信されると、受信されたワンタイムID:C(i)と同一のワンタイムIDが図示せぬワンタイムIDテーブルに登録されているか否かを判定する(ステップS53)。つまり、通信相手の正当性は、自己の有する乱数R,Qから得られる通信相手の真正なワンタイムIDと通信相手から受信されたワンタイムIDとが一致するか否かに基づいて判断される(以下、同様)。受信されたワンタイムID:C(i)が登録されていない場合には、認証処理を中止する(ステップS54)。
【0037】
受信されたワンタイムID:C(i)が登録されている場合、演算処理部11aは、認証要求を送信した記憶装置2が正当なものであると判断する。
【0038】
その後、演算処理部11aは、所定の復号関数Fdに従って、暗号化されているクライアント乱数Acを可変共通鍵K(i)で復号し、平文のクライアント乱数R(i+1)を取得する(ステップS55)。なお、復号関数Fdは、記憶装置2で暗号化関数Fcにより暗号化された暗号文を平文に変換する関数である。
【0039】
次に、演算処理部11aは、保持しているサーバ乱数Q(i)とそのクライアント乱数R(i+1)から、現セッションについてのコンピュータ装置1のワンタイムID:S(i)を式(2)に従って生成する(ステップS56)。ただし、式(2)におけるhashは、MD5などのハッシュ関数である。
【0040】
S(i)=hash(R(i+1),Q(i)) ・・・(2)
【0041】
また、記憶装置2が正当なものであると判断された後、演算処理部11aは、記憶装置2との間で使用される次セッションのサーバ乱数Q(i+1)を生成する(ステップS57)。このサーバ乱数Q(i+1)は、次セッションのワンタイムID:C(i+1),S(i+1)の生成に使用される。その際、演算処理部11aは、次セッションについての記憶装置2のワンタイムID:C(i+1)が登録済みで未使用のワンタイムと重複しないようにサーバ乱数Q(i+1)を生成する。次に、演算処理部11aは、所定の暗号化関数Fcに従って、可変共通鍵K(i)でサーバ乱数Q(i+1)を暗号化する(ステップS58)。
【0042】
そして、演算処理部11aは、インタフェース14を介して、認証されたことを示す返答、並びにワンタイムID:S(i)および暗号化されたサーバ乱数Asを、認証要求の送信元の記憶装置2へ送信する(ステップS59)。その後、演算処理部11aは、今回認証を行った記憶装置2の次セッションについてのワンタイムID:C(i+1)をワンタイムIDテーブルに登録する(ステップS60)。その際、その記憶装置2のワンタイムID:C(i)が、ワンタイムID:C(i+1)で上書きされ更新される。次セッションについてのワンタイムID:C(i+1)は、式(3)に従って生成される。ただし、式(3)におけるhashは、式(1)と同一なハッシュ関数である。
【0043】
C(i+1)=hash(R(i+1),Q(i+1)) ・・・(3)
【0044】
その後、演算処理部11aは、次セッションの可変共通鍵K(i+1)を式(4)に従って生成する(ステップS61)。ただし、式(4)におけるhash2は、ハッシュ関数である。
【0045】
K(i+1)=hash2(K(i),R(i+1),Q(i+1))・・・(4)
【0046】
そして、演算処理部11aは、特定された記憶装置2についてのクライアント乱数R(i)、サーバ乱数Q(i)および可変共通鍵K(i)を、クライアント乱数R(i+1)、サーバ乱数Q(i+1)および可変共通鍵K(i+1)へ更新する(ステップS62)。
【0047】
一方、記憶装置2では、インタフェース22が、返答、ワンタイムID:S(i)および暗号化されたサーバ乱数Asを受信する(ステップS36)。制御回路23は、返答が受信されると、コンピュータ装置1の真正なワンタイムID:Yと、受信されたワンタイムID:S(i)とを比較してコンピュータ装置1の正当性を判断する(ステップS37,S38)。なお、コンピュータ装置1の真正なワンタイムID:Yは、式(5)に従って生成される。ただし、式(5)におけるhashは、式(2)と同一なハッシュ関数である。
【0048】
Y=hash(R(i+1),Q(i)) ・・・(5)
【0049】
制御回路23は、受信されたワンタイムID:S(i)が真正なワンタイムID:Yと同一ではない場合、返答したコンピュータ装置1を不正なものと判断し、認証処理を中止する(ステップS39)。
【0050】
一方、制御回路23は、受信されたワンタイムID:S(i)が真正なワンタイムID:Yと同一である場合、返答したコンピュータ装置1が正当なものであると判断する。その後、制御回路23は、所定の復号関数Fdに従って、暗号化されているクライアント乱数Asを可変共通鍵K(i)で復号し、平文のサーバ乱数Q(i+1)を取得する(ステップS40)。なお、復号関数Fdは、コンピュータ装置1における暗号化関数Fcにより暗号化された暗号文を平文に変換する関数である。次に、制御回路23は、次セッションの可変共通鍵K(i+1)を式(4)に従って生成する(ステップS41)。
【0051】
そして、制御回路23は、クライアント乱数R(i)、サーバ乱数Q(i)および可変共通鍵K(i)をクライアント乱数R(i+1)、サーバ乱数Q(i+1)および可変共通鍵K(i+1)へ更新する(ステップS42)。
【0052】
このようにして、1認証セッションにおいて、ワンタイムID:C(i),S(i)により記憶装置2およびコンピュータ装置1が相互に認証を行うとともに、共有している情報であるクライアント乱数R(i)、サーバ乱数Q(i)および可変共通鍵K(i)が記憶装置2およびコンピュータ装置1のそれぞれにおいて更新される。
【0053】
実施の形態2.
本発明の実施の形態2では、分割済みの対象データ32についての暗号鍵が、ワンタイムID認証が行われる度に更新される。そのときの暗号鍵42cは記憶装置2において分割データ42bに関連づけて保存されない。なお、実施の形態2におけるコンピュータ装置1および記憶装置2の基本的な構成は、実施の形態1のものと同様である。ただし、以下のように動作する。
【0054】
実施の形態2では、装置1,2がデータ通信可能となり両者間でワンタイムIDによる認証が実行され可変共通鍵が更新されるごとに、2つの分割データ33b,42bが合成され、合成データが更新前の可変共通鍵で復号されて、元のデータ32が復元される。その後、元のデータ32が更新後の可変共通鍵で暗号化され、暗号化後のデータ32が2つの分割データ33b,42bに分割される。そして、それらのデータ33b,42bで、データ格納部15における分割データ33bおよび記憶媒体21における分割データ42bが更新される。その際、分割データ33b,42bに関連づけられているワンタイムIDも、新しいワンタイムIDで更新される。
【0055】
実施の形態3.
本発明の実施の形態3では、記憶装置2の制御回路23は、ワンタイムIDによる相互認証のための演算機能を有さない。この場合、記憶装置2は、単に記録媒体として使用される。したがって、記憶装置2は、USBメモリなどでもよい。あるいは、記憶媒体21を読み書き可能な可搬性のある記録媒体とし、その他の部分をその記録媒体へ読み書きを行うドライブとしてもよい。なお、実施の形態3におけるコンピュータ装置1および記憶装置2の基本的な構成は、上記の点以外は実施の形態1のものと同様である。ただし、以下のように動作する。
【0056】
実施の形態3では、記憶装置2が演算機能を持たないため、記憶装置2によるコンピュータ装置1の認証処理は行われない。このため、コンピュータ装置1による記憶装置2の認証処理のみが実行される。コンピュータ装置1により記憶装置2が正当なものであると判断された場合には、保存処理時には、実施の形態1と同様にしてデータ32の暗号化、データ分割および分散保存が実行され、復元処理時には、実施の形態1と同様にして分割データ33b,42bの合成および合成データの復号が実行される。
【0057】
したがって、ここでは、コンピュータ装置1による記憶装置2の認証処理について説明する。図6は、実施の形態3におけるコンピュータ装置1による記憶装置2の認証処理について説明する図である。
【0058】
まず、コンピュータ装置1および記憶装置2は、記憶装置2のワンタイムID:C(i)を保持している(ステップS71,S91)。
【0059】
そして、2つの装置1,2が接続されると、コンピュータ装置1の演算処理部11aは、記憶装置2からワンタイムID:C(i)を読み出し(ステップS71,S92)、自己の保持しているワンタイムIDと比較してその記憶装置2の正当性を判断する(ステップS74)。
【0060】
両者が一致しない場合には、記憶装置2は不正なものとして、処理を中止する(ステップS74)。一方、両者が一致した場合には、演算処理部11aは、その記憶装置2が正当なものであると判断し、上述の保存処理または復元処理を実行する。
【0061】
記憶装置2が正当なものであると判断された場合、演算処理部11aは、擬似乱数Rを生成し(ステップS75)、その擬似乱数Rから、記憶装置2の次のワンタイムID:C(i+1)を生成する(ステップS76)。ワンタイムIDは、上述のハッシュ関数などの一方向性関数により擬似乱数Rから生成される。
【0062】
そして、演算処理部11aは、そのワンタイムID:C(i+1)を記憶装置2に格納する(ステップS77)。記憶装置2では、そのワンタイムID:C(i+1)により記憶媒体21におけるワンタイムID:C(i)が更新される(ステップS93,S94)。
【0063】
また、演算処理部11aは、そのワンタイムID:C(i+1)をデータ格納部15におけるテーブルに登録する(ステップS78)。
【0064】
このようにして、装置1,2により保持されているワンタイムIDが更新され新たなワンタイムID:C(i+1)が保持される(ステップS79,S95)。
【0065】
なお、上述の各実施の形態は、本発明の好適な例であるが、本発明は、これらに限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々の変形、変更が可能である。
【0066】
例えば、実施の形態1において、ワンタイムID認証時における記憶装置2の機能とコンピュータ装置1の機能を交換してもよい。
【0067】
また、各実施の形態において、データの保存および復元を行わない場合でも、装置1,2が接続されたときに、ワンタイムIDによる認証が自動的に実行され、ワンタイムIDおよび乱数R,Qが更新されるようにしてもよい。この場合、例えば、装置1,2が接続されるとデータファイル閲覧のみでもワンタイムIDが更新される。
【産業上の利用可能性】
【0068】
本発明は、例えば、データの分散保存に適用可能である。
【図面の簡単な説明】
【0069】
【図1】実施の形態1に係るデータ分散保存装置としてのコンピュータ装置の構成を示すブロック図である。
【図2】実施の形態1におけるデータ保存時の処理を説明するフローチャートである。
【図3】図2のデータ保存処理の前後それぞれにおけるデータ構成を示す図である。
【図4】実施の形態1におけるデータ復元時の処理を説明するフローチャートである。
【図5】実施の形態1における記憶装置とコンピュータ装置との相互認証処理について説明する図である。
【図6】実施の形態3におけるコンピュータ装置による記憶装置の認証処理について説明する図である。
【符号の説明】
【0070】
1 コンピュータ装置(データ分散保存装置)
2 記憶装置
11a 演算処理部(暗号化手段,認証手段,データ分散手段,データ合成手段,復号手段,乱数生成手段,ワンタイムID生成手段,認証用復号手段,ワンタイムID更新手段)
14 インタフェース
15 データ格納部(データ格納手段)
21 記憶媒体
32 データ(対象データ)
33b,42b 分割データ

【特許請求の範囲】
【請求項1】
データ格納手段と、
前記データ格納手段に格納されている対象データを暗号化する暗号化手段と、
読み書き可能な不揮発性の記憶媒体を有する記憶装置とデータ通信をするインタフェースと、
前記インタフェースと前記記憶装置がデータ通信可能になる度にワンタイムIDによる認証で前記記憶装置の正当性を判断する認証手段と、
前記認証手段により前記記憶装置が正当なものであると判断された場合に、前記暗号化手段により暗号化された前記対象データを所定のパターンで分割して2つの分割データを生成し、前記2つの分割データのうちの一方を前記記憶装置の記憶媒体に格納させ、前記2つの分割データのうちの他方を前記データ格納手段に格納するデータ分散手段と、
前記認証手段により前記記憶装置が正当なものであると判断された場合に、前記記憶装置の記憶媒体から前記分割データの一方を読み出し、前記データ格納手段から前記分割データの他方を読み出し、前記2つの分割データを前記所定のパターンで合成するデータ合成手段と、
前記データ合成手段により合成されたデータを前記対象データへ復号する復号手段と、
を備えることを特徴とするデータ分散保存装置。
【請求項2】
乱数生成手段と、
前記インタフェースと前記記憶装置がデータ通信可能になる度に前記乱数生成手段により生成される第1の乱数と前記記憶装置により生成される第2の乱数とからワンタイムIDを生成するワンタイムID生成手段と、
前記記憶装置と共通の秘密鍵であって前記インタフェースと前記記憶装置がデータ通信可能になる度に更新される可変共通鍵で復号を行う認証用復号手段とを備え、
前記インタフェースは、前記インタフェースと前記記憶装置がデータ通信可能になる度に、前記記憶装置により生成され前記可変共通鍵で暗号化された前記第2の乱数を受信し、
前記認証用復号手段は、前記可変共通鍵で暗号化された前記第2の乱数を復号し、
前記暗号化手段は、前記可変共通鍵で暗号化をし、
前記復号手段は、前記可変共通鍵で復号をすること、
を特徴とする請求項1記載のデータ分散保存装置。
【請求項3】
前記データ合成手段は、前記インタフェースと前記記憶装置がデータ通信可能になる度に、前記2つの分割データを合成し、
前記復号手段は、前記インタフェースと前記記憶装置がデータ通信可能になる度に、更新前の前記可変共通鍵で、前記合成されたデータを前記対象データへ復号し、
前記暗号化手段は、前記インタフェースと前記記憶装置がデータ通信可能になる度に、前記復号手段により復号された前記対象データを、更新後の前記可変共通鍵で暗号化し、
前記データ分散手段は、前記インタフェースと前記記憶装置がデータ通信可能になる度に、更新後の前記可変共通鍵で暗号化された前記対象データから前記2つの分割データを生成し前記2つの分割データのうちの一方を前記記憶装置の記憶媒体に格納させ、前記2つの分割データのうちの他方を前記データ格納手段に格納すること、
を特徴とする請求項2記載のデータ分散保存装置。
【請求項4】
前記インタフェースと前記記憶装置がデータ通信可能になる度にワンタイムIDを生成するワンタイムID生成手段と、
前記インタフェースと前記記憶装置がデータ通信可能になる度に、前記ワンタイムID生成手段により生成されたワンタイムIDを前記記憶装置へ送信し、前記記憶装置のワンタイムIDを更新させるワンタイムID更新手段と、
を備えることを特徴とする請求項1記載のデータ分散保存装置。
【請求項5】
前記データ分散手段は、前記対象データを暗号化する際に使用された暗号鍵を、前記他方の分割データと関連づけて前記記憶装置の記憶媒体に格納させ、
前記復号手段は、前記記憶装置の記憶媒体に格納されている前記暗号鍵で復号をすること、
を特徴とする請求項1、請求項2および請求項4のうちのいずれか1項記載のデータ分散保存装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2008−287488(P2008−287488A)
【公開日】平成20年11月27日(2008.11.27)
【国際特許分類】
【出願番号】特願2007−131644(P2007−131644)
【出願日】平成19年5月17日(2007.5.17)
【出願人】(500196087)株式会社PSD (7)
【出願人】(507173311)モーダス アイディ コーポレーション (4)
【氏名又は名称原語表記】Modus ID Corp
【住所又は居所原語表記】R. G. Hodge Plaza, SecondFloor, Upper Main Street, Road Town, Tortola, British Virgin Island
【Fターム(参考)】