説明

データ分散管理システム

【課題】保護すべきデータを生成する複数の値を保持している複数のサーバ装置を運用しているサービス提供者に不正行為者がいたとしても、保護すべきデータが流出する危険性を低減させるシステムを提供する。
【解決手段】システムは、第1のアカウント情報及び第2のアカウント情報を有する第1の装置と、第1のアカウント情報の対である第1の検証情報を有する第2の装置と、第2のアカウント情報の対である第2の検証情報を有する第3の装置とを有しており、第1の装置は、ランダム値を生成して第1のパスワードとする手段と、第2の装置と通信して、第3のアカウント情報及び第3の検証情報の対を第1のパスワードに基づき生成する手段と、第3のアカウント情報を第3の装置に送信する手段とを備えており、第2の装置は、第3の検証情報を保存する手段を備えている。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ又は暗号鍵を保護するために、データ又は暗号鍵の代わりに、データ又は暗号鍵を生成可能な複数の値を生成し、これら生成した値を分散して保存する技術に関する。
【背景技術】
【0002】
非特許文献1には、非特許文献2に記載のLR−AKE(Leakage−Resilient Authenticated Key Exchange)に基づき、保護すべきデータ又は暗号鍵から、これらデータ又は暗号鍵を生成するための複数の値を生成し、生成した値を分散して管理する構成が記載されている(以下、保護対象のデータ又は暗号鍵をまとめて、データ鍵DKと呼ぶ。)。
【0003】
図4は、非特許文献1に記載のシングルモードを説明する図であり、システムは、クライアント装置4と、サーバ装置5とを備えている。クライアント装置4の記憶部41は、クライアント情報410を保存しており、サーバ装置5の記憶部51は、クライアント情報410の対であるサーバ情報510を保存している。
【0004】
図4に示す様に、クライアント情報410は、アカウント情報411、保護対象であるデータ鍵DKを生成するための値CDK及び公開鍵PKを示す情報を含んでいる。また、サーバ情報510は、アカウント情報411の対である検証情報511、保護対象であるデータ鍵DKを生成するための値であり、値CDKの対である値SDK、及び、公開鍵PKの対である秘密鍵SKを示す情報を含んでいる。なお、値CDK及び値SDKは、データ鍵DK及びクライント装置4のユーザのパスワードに基づき生成されており、データ鍵DKは、値CDK及び値SDK並びにクライント装置4のユーザのパスワードから生成可能である。
【0005】
さらに、アカウント情報411は、ユーザ識別子及びアカウント情報のインデックスとして使用されるランダム値pcidと、秘密値csを示す情報を含んでいる。また、検証情報510は、ランダム値pcidのハッシュ値であるhpcidと、秘密値csとクライント装置4のユーザのパスワードに基づき生成した秘密値ssを示す情報を含んでいる。
【0006】
ユーザがクライアント装置4にパスワードを入力すると、クライアント装置4の認証部42は、パスワード、ランダム値pcid、秘密値cs及び公開鍵PKに基づきマスタ鍵msを生成し、マスタ鍵msから認証データを生成する。そして、生成した認証用データをサーバ装置5に送信する。サーバ装置5の認証部52は、ハッシュ値hpcid、秘密値ss及び秘密鍵SKに基づきクライアント装置4と同じマスタ鍵msを生成し、このマスタ鍵に基づきクライアント装置4から受信する認証データを検証する。クライアント装置4の認証成功後、クライアント装置4の通信処理部43とサーバ装置5の通信処理部53は、それぞれ、マスタ鍵からクライアント装置4とサーバ装置5間の通信を暗号化するための通信用暗号鍵を生成、つまり、クライアント装置4及びサーバ装置5との間に安全な通信路を確立する。
【0007】
サーバ装置5が、この安全な通信路を使用して、クライアント装置4に値SDKを送信することで、クライアント装置4は、ユーザのパスワード、値SDK及び値CDKに基づきデータ鍵DKを安全に生成することができる。
【0008】
さらに、非特許文献1に記載のシステムにおいては、クライアント装置4とサーバ装置5による認証が成功する度に、クライアント装置4の情報生成更新部44は、マスタ鍵msを使用して秘密値cs及び値CDKを更新し、新たなランダム値を生成してランダム値pcidを更新する。また、情報生成更新部44は、更新後のランダム値pcidから新たなハッシュ値hpcidを計算してサーバ装置5に送信する。また、サーバ装置5の情報生成更新部54は、マスタ鍵msを使用して秘密値ss及び値SDKを更新し、また、ハッシュ値hpcidを、クライアント装置4から受信する値に更新する。よって、データ鍵DKを生成するためには、同じ回に生成された値SDK及び値CDKを入手する必要がある。値SDK及び値CDKは分散して管理されており、かつ、認証の都度更新されるため、データ鍵DKは安全に保護される。
【0009】
なお、クライアント情報410及びサーバ情報510の初期値については、いずれかの装置で両方を生成し、ネットワークではなく、外部記憶装置を利用してそれぞれの装置に保存する方法であっても良いが、非特許文献1は、これらを生成するための初期化プロトコルを開示しており、クライアント装置4とサーバ装置5が初期化プロトコルを実行する。
【0010】
図4に示すシングルモードにおいては、クライアント装置4又はサーバ装置5が故障した場合や、クライアント装置4とサーバ装置5との間の通信が障害となった場合には、データ鍵DKを生成することができなくなる。このため、非特許文献1は、クラスタモードを開示している。
【0011】
図5は、非特許文献1に記載のクラスタモードを説明する図であり、システムは、クライアント装置6と、サーバ装置7及び8を備えている。なお、図5においては、説明を簡略化するため、各装置に保存されている情報のみを表示している。図5において、クライアント装置6が保持するアカウント情報611aを含むクライアント情報610a及びサーバ装置7が保持する検証情報711aを含むサーバ情報710aは、それぞれ、図4のクライアント装置4のクライアント情報410及びサーバ装置5のサーバ情報510に対応する。つまり、クライアント装置6は、サーバ装置7の認証を受けた後に、サーバ装置7から値SDK1を取得することでデータ鍵DKを生成することができる。
【0012】
同様に、クライアント装置6が保持するアカウント情報611bを含むクライアント情報610b及びサーバ装置8が保持する検証情報811bを含むサーバ情報810bは、それぞれ、図4のクライアント装置4のクライアント情報410及びサーバ装置5のサーバ情報510に対応する。つまり、クライアント装置6は、サーバ装置8の認証を受けた後に、サーバ装置8から値SDK2を取得することでデータ鍵DKを生成することができる。
【0013】
さらに、サーバ装置8が保持するアカウント情報811cを含むクライアント情報810c及びサーバ装置7が保持する検証情報711cを含むサーバ情報710cは、それぞれ、図4のクライアント装置4のクライアント情報410及びサーバ装置5のサーバ情報510に対応する。つまり、サーバ装置8は、サーバ装置7の認証を受けた後に、サーバ装置7から値SDK3を取得することでデータ鍵DKを生成することができる。
【0014】
図5に示すクラスタモードにおいては、クライアント装置6、サーバ装置7及びサーバ装置8のいずれか1つが故障となったり、各装置を接続する伝送路の2つが障害となったりしてもユーザは、データ鍵DKを生成することが可能である。
【先行技術文献】
【非特許文献】
【0015】
【非特許文献1】Hideki Imai、et al.、“New Security Layer for OverLay Networks”、JOURNAL OF COMMUNICATIONS AND NETWORKS、Vol.11、No.3、2009年6月
【非特許文献2】[online]、RCIS、[平成23年1月11日検索]、インターネット<URL:http://www.rcis.aist.go.jp/project/LR−AKE/>
【発明の概要】
【発明が解決しようとする課題】
【0016】
近年提供されているクラウドコンピューティングサービスを利用して図5のサーバ装置7及び8を構築する場合、ユーザからはサーバ装置の設置環境等が把握しにくく、サーバ装置7及び8が同じ運用者により運用されている状態や、同じ場所に設置される状況が生じ得る。この様な状況において、クラウドサービスの提供者の内部に不正行為者がいるとデータ鍵DKが探索され流出する危険性がある。このため、たとえ、サービス提供者の内部に不正行為者がいたとしても、データ鍵が流出する危険性を低減させることが望まれている。
【0017】
また、図5のクラスタモードにおいて、例えば、クライアント装置6が故障した場合や、クライアント装置6が、サーバ装置7及び8と通信できなくなった場合、ユーザは、サーバ装置8が設置されている場所に出向き、サーバ装置8を操作してデータ鍵DKを生成する必要がある。しかしながら、サーバ装置8がデータセンタ等の遠隔地に設置されている場合には、ユーザがサーバ装置8の設置場所に直ちに移動することが難しく、クラウドコンピューティングサービスを利用している場合の様に、ユーザがサーバ装置8の設置場所に立ち入れない場合もある。このため、クライアント装置6に障害が発生した場合でも、サーバ装置8の設置場所に移動することなく、データ鍵の復元が行える構成が望まれている。また、サーバ装置7のサーバ情報710c又はサーバ装置8のクライアント情報810cが、サーバ装置7又はサーバ装置8の障害等により破損したとしても、クライアント装置6から各データの復旧を可能にする様な構成が望まれている。
【0018】
したがって、本発明は、上記問題を解決し、保護すべきデータを生成する複数の値を保持している複数のサーバ装置を運用しているサービス提供者に不正行為者がいたとしても、保護すべきデータが流出する危険性を低減させるシステムを提供することを目的とする。また、クライアント装置やサーバ装置の障害後のデータ復旧を、クライント装置側で実施できるシステムを提供することを目的とする。さらに、これらシステムで使用される装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0019】
本発明におけるシステムによれば、パスワードに基づきアカウント情報及び検証情報の対を生成し、アカウント情報を保存している装置は、入力されたパスワード及びアカウント情報により認証データを生成し、アカウント情報の対となる検証情報を保存している装置は、認証データと検証情報によりアカウント情報を保存している装置を認証し、パスワードに基づき、保護すべきデータから、保護すべきデータを生成する複数の値を生成し、保護すべきデータを生成する複数の値を、アカウント情報を保存している装置と検証情報を保存している装置に分散して保存する、データ分散管理システムであって、第1のアカウント情報及び第2のアカウント情報を有する第1の装置と、第1のアカウント情報の対である第1の検証情報を有する第2の装置と、第2のアカウント情報の対である第2の検証情報を有する第3の装置とを備えており、第1の装置は、70ビット以上のランダム値を生成して第1のパスワードとする手段と、第2の装置と通信して、第3のアカウント情報及び第3の検証情報の対を生成する手段と、第3のアカウント情報を第3の装置に送信する手段とを備えており、第2の装置は、第3の検証情報を保存する手段を備えており、第3の装置は、第3のアカウント情報を第1の装置から受信して保存する手段を備えていることを特徴とする。
【0020】
本発明における装置によれば、パスワードに基づきアカウント情報及び検証情報の対を生成し、アカウント情報を保存している装置は、入力されたパスワード及びアカウント情報により認証データを生成し、アカウント情報の対となる検証情報を保存している装置は、認証データと検証情報によりアカウント情報を保存している装置を認証し、パスワードに基づき、保護すべきデータから、保護すべきデータを生成する複数の値を生成し、保護すべきデータを生成する複数の値を、アカウント情報を保存している装置と検証情報を保存している装置に分散して保存する、データ分散管理システムで使用される装置であって、第1のアカウント情報及び第2のアカウント情報を保存する手段と、70ビット以上のランダム値を生成して第1のパスワードとする手段と、第1のアカウント情報の対である第1の検証情報を有する装置と通信して、第3のアカウント情報を第1のパスワードに基づき生成する手段と、第3のアカウント情報を第2のアカウント情報の対である第2の検証情報を有する装置に送信する手段とを備えていることを特徴とする。
【発明の効果】
【0021】
第1の装置が、70ビット以上のランダム値を生成して第1のパスワードとし、この第1のパスワードに基づき、第2の装置と第3の装置との間の認証に使用する第3のアカウント情報及び第3の検証情報を生成する。第1の装置が機械的に生成した、全数探索が不可能な長さの第1のパスワードにより、第3のアカウント情報及び第3の検証情報を生成することで、第2の装置と第3の装置が、同一の運用者による運用される場合であっても、データ鍵が流出する危険性を低減させることができる。
【図面の簡単な説明】
【0022】
【図1】本発明によるシステム構成図。
【図2】クライアント装置及びサーバ装置の構成図。
【図3】本発明によるアカウント情報及び検証情報の対を生成するためのシーケンス図。
【図4】シングルモードの説明図。
【図5】クラスタモードの説明図。
【発明を実施するための形態】
【0023】
本発明を実施するための形態について、以下では図面を用いて詳細に説明する。
【0024】
図1は、本発明によるシステム構成図であり、システムは、互いに、通信ネットワークにより接続されているクライアント装置1と、サーバ装置2及び3を備えている。なお、各装置の記憶部に保存される情報が図1には示されている。また、図2は、クライアント装置1及びサーバ装置2の構成図である。なお、サーバ装置3の構成は、サーバ装置2と同様であるため、その詳細は省略する。図1及び図2に示す様に、クライアント装置1の記憶部11は、クライアント情報110aを保存しており、サーバ装置2の記憶部21は、クライアント情報110aの対であるサーバ情報210aを保存している。
【0025】
図1に示す様に、クライアント情報110aは、アカウント情報111a、データ鍵DKを生成するための値CDK1及び公開鍵PK1を示す情報を含んでいる。また、サーバ情報210aは、アカウント情報111aの対である検証情報211a、値CDK1の対である値SDK1、及び、公開鍵PK1の対である秘密鍵SK1を示す情報を含んでいる。なお、値CDK1及び値SDK1は、データ鍵DK及びクライント装置1のユーザのパスワードに基づき生成されており、データ鍵DKは、値CDK1及び値SDK1並びにクライント装置1のユーザのパスワードから生成可能である。また、公開鍵PK1及び秘密鍵SK1の対は、例えば、RSA等の任意の公開鍵暗号方式に従うものを使用することができる。
【0026】
さらに、アカウント情報111aは、ユーザ識別子及びアカウント情報のインデックスとして使用されるランダム値pcid1と、秘密値cs1を示す情報を含んでいる。また、検証情報211aは、アカウント情報111aに保存されているランダム値pcid1のハッシュ値であるhpcid1と、アカウント情報111aに保存されている秘密値cs1とクライント装置1のユーザのパスワードに基づき生成した秘密値ss1を示す情報を含んでいる。
【0027】
ユーザがサーバ装置2による認証を受けるためクライアント装置1にパスワードを入力すると、クライアント装置1の認証部12は、まず、任意の値pms1を生成し、値pms1を公開鍵で暗号化し、ユーザのパスワードと秘密値cs1でマスクして、ランダム値pcid1と共にサーバ装置2の認証部22に送信する。その後、クライアント装置1の認証部12は、パスワード及び秘密値csから、秘密値ssを生成し、生成した秘密値ss、ランダム値pcid1、値pms1を所定の方法で連結した値を生成し、この生成した値のハッシュ値であるマスタ鍵ms1を生成する。
【0028】
サーバ装置2の認証部22は、クライアント装置1から受信したランダム値pcid1のハッシュ値によりユーザを特定し、暗号鍵SK1と秘密値ss1により値pms1を取得する。続いて、サーバ装置2の認証部22は、クライアント装置1から受信したランダム値pcid1、秘密値ss1及び値pms1を所定の方法で連結した値を生成し、この生成した値のハッシュ値であるマスタ鍵ms1を生成する。
【0029】
クライアント装置1の認証部12は、マスタ鍵ms1と所定の値を連結した値のハッシュ値である認証データを生成し、この認証データをサーバ装置2に送信し、サーバ装置2の認証部22は、マスタ鍵ms1により、クライアント装置1から受信する認証データを検証する。クライアント装置1の認証成功後、クライアント装置1の通信処理部13とサーバ装置2の通信処理部23は、マスタ鍵ms1に基づき、クライアント装置1とサーバ装置2間の通信を暗号化するための通信用暗号鍵を生成する。つまり、クライアント装置1とサーバ装置2は、クライアント装置1とサーバ装置2との間に安全な通信路を確立する。
【0030】
この安全な通信路を使用してクライアント装置1は、サーバ装置2から値SDK1を受信し、これにより、クライアント装置1は、値CDK1、値SDK1及びユーザのパスワードからデータ鍵DKを生成することができる。
【0031】
さらに、クライアント装置1とサーバ装置2が認証データを交換して実行する、サーバ装置2によるクライアント装置1の認証が成功する度に、クライアント装置1の情報生成更新部14は、マスタ鍵ms1を使用して秘密値cs1及び値CDK1を更新し、新たなランダム値を生成してランダム値pcid1を更新する。また、情報生成更新部14は、更新後のランダム値pcid1から新たなハッシュ値hpcid1を計算してサーバ装置2に送信する。また、サーバ装置2の情報生成更新部24は、マスタ鍵ms1を使用して秘密値ss1及び値SDK1を更新し、また、ハッシュ値hpcid1を、クライアント装置1から受信する値に更新する。よって、データ鍵DKを生成するためには、同じ回に生成された値SDK1及び値CDK1を入手する必要がある。値SDK1及び値CDK1は分散して管理されており、かつ、認証の都度更新されるため、データ鍵DKは安全に保護される。
【0032】
図1において、クライアント装置1の記憶部11が保存するアカウント情報111bを含むクライアント情報110b及びサーバ装置3が保存する検証情報311bを含むサーバ情報310bは、それぞれ、クライアント装置1が保存するクライント情報110a及びサーバ装置2が保存するサーバ情報210aに対応する。なお、アカウント情報111b及び検証情報311bの対と、値CDK2及び値SDK2の対は、アカウント情報111a及び検証情報211aの対と値CDK1及び値SDK1の対と同じく、ユーザのパスワードに基づき生成されている。なお、アカウント情報及び検証情報の対の生成には、ランダム値を使用するため、同じパスワードに基づき生成したとしても、アカウント情報111b及び検証情報311bの対と、アカウント情報111a及び検証情報211aの対は異なるものとなる。同様に、値CDK及び値SDKの対の生成には、ランダム値を使用するため、同じパスワードに基づき生成したとしても、値CDK2及び値SDK2の対と、値CDK1及び値SDK1の対は異なるものとなる。
【0033】
また、図1において、サーバ装置3の記憶部が保存するアカウント情報311cを含むクライアント情報310c及びサーバ装置2が保存する検証情報211cを含むサーバ情報210cは、それぞれ、クライアント装置1が保存するクライント情報110a及びサーバ装置2が保存するサーバ情報210aに対応する。しかしながら、アカウント情報311c及び検証情報211cの対と、値CDK3及び値SDK3の対を生成する元となっているパスワード(第1のパスワード)は、アカウント情報111a及び検証情報211aの対の生成に使用しているユーザのパスワード(第2のパスワード)とは異なる。
【0034】
具体的には、アカウント情報111a及び検証情報211a等を生成するために使用する第2のパスワードは、クライアント装置1のユーザが、記憶しておき、クライアント装置1がサーバ装置2又は3により認証を受ける度に、ユーザがクライアント装置1に入力するものであるため、人が覚えることができる程度の短い値となる可能性が高くなる。本発明においては、図2に示す様に、クライアント装置1にパスワード生成部15を設け、アカウント情報311c及び検証情報211cの対と、値CDK3及び値SDK3を生成する元となっている第1のパスワードを生成する。パスワード生成部15は、ランダム値を生成するものであり、そのランダム値の長さは、全数探索による攻撃が現実的に不可能となる長さとする。より具体的には、現在のコンピュータの計算能力から少なくとも70ビット、好ましくは80ビット以上の値とする。
【0035】
本実施形態においては、クライアント装置1にてパスワードを生成するため、情報更新生成部14が、サーバ装置2と通信しながらアカウント情報311cを生成する。以下、詳細を、図3を用いて説明する。
【0036】
まず、クライアント装置1には、クライアント情報110a及び110bを、サーバ装置2には、サーバ情報210aを、サーバ装置3には、サーバ情報310bを、予め保存しておくものとする。なお、例えば、クライアント情報110a及びサーバ情報210aの対は、クライアント装置1の情報生成更新部14とサーバ装置2の情報生成更新部24が、非特許文献1に記載の初期化プロトコルを実行して生成することができる。同様に、クライアント情報110b及びサーバ情報310bの対は、クライアント装置1の情報生成更新部14とサーバ装置3の情報生成更新部が初期化プロトコルを実行して生成することができる。また、これらクライアント情報及びサーバ情報の対は、ユーザが記憶する第2のパスワードに基づき生成されているものとする。
【0037】
クライアント装置1のユーザは、サーバ装置2及び3による認証を受けるため、クライアント装置1に第2のパスワードを入力し、ステップS1において、クライアント装置1の認証部12は、上述した通り、アカウント情報110aに基づきマスタ鍵ms1を生成し、マスタ鍵ms1に基づき認証データを生成し、生成した認証データをサーバ装置2に送信する。同様に、クライアント装置1の認証部12は、アカウント情報110bに基づきマスタ鍵ms2を生成し、マスタ鍵ms2に基づき認証データを生成し、生成した認証データをサーバ装置3に送信する。
【0038】
ステップS2において、サーバ装置2の認証部22は、クライアント装置1と同じマスタ鍵ms1をサーバ情報210aから生成し、クライアント装置1から受信した認証データを検証する。同様に、ステップS2において、サーバ装置3の認証部は、クライアント装置1と同じマスタ鍵ms2をサーバ情報310bから生成し、クライアント装置1から受信した認証データを検証する。サーバ装置2及びサーバ装置3によるクライアント装置1の認証成功後、クライアント装置1及びサーバ装置2と、クライアント装置1及びサーバ装置3には、上述した様に、安全な通信路が構築される。ステップS3において、クライアント装置1のパスワード生成部15は、所定の長さの第1のパスワードを生成する。
【0039】
ステップS4において、クライアント装置1の情報生成更新部14とサーバ装置2の情報生成更新部24は、互いに通信して、クライアント情報310cとサーバ情報210cの対を第1のパスワードに基づき生成する。具体的には、アカウント情報311c及び検証情報211cの対と、値CDK3及びSDK3の対と、公開鍵PK3及び秘密鍵SK3の対を生成する。ここで、アカウント情報311cの秘密値cs3の初期値は、例えば、任意の値であり、検証情報211cの秘密値ss3の初期値は、第1のパスワードと所定の値を連結させた値のハッシュ値と、秘密値cs3の初期値の和とする。また、値CDK3の初期値は、例えば、任意の値とし、値SDK3の初期値は、第1のパスワードと所定の値を連結させた値のハッシュ値と、データ鍵DKと、値CDK3の初期値の和とする。また、公開鍵PK3及び秘密鍵SK3は、利用する任意の公開鍵暗号方式での生成方法に従う。また、クライアント装置1は、生成した第1のパスワードを、記憶部11にクライアント情報110bとして保存する。また、サーバ装置2は、生成したサーバ情報210cを記憶部21に保存する。
【0040】
ステップS5において、クライアント装置1は、クライアント情報310cをサーバ装置3に送信し、サーバ装置3は、ステップS6において、クライアント情報310cを記憶部に保存する。
【0041】
本発明においては、クライアント装置1が、サーバ装置2によるサーバ装置3の認証のためのクライアント情報310cをクライアント装置1が生成し、事前に構築したクライアント装置1とサーバ装置3との間の安全な通信路を使用して、クライアント情報310cをサーバ装置3に送信する。その際、クライアント装置1が機械的に生成した、全数探索が現実的に不可能な程度に長いパスワードを使用することで、サーバ装置1及び2の運用者の悪意によるデータ鍵DKの流出の危険性を低減させることができる。
【0042】
また、本発明において、クライアント装置1の情報生成更新部14は、サーバ装置3の情報生成更新部と通信して、バックアップ用のアカウント情報111zを含むクライアント情報110zと、検証情報311zを含むサーバ情報310zの対の生成を行う。サーバ情報310zは、サーバ装置3の記憶部に保存されるが、クライアント装置1の情報生成更新部14は、クライアント情報110zを、クライアント装置1の記憶部11ではなく、クライアント装置1に接続可能な外部の記憶装置19に保存する。なお、クライアント情報110zは、第1のパスワードを含んでいる。
【0043】
本発明においては、アカウント情報を使用して認証を受ける度に、アカウント情報と対応する検証情報、さらに、値CDKと対応する値SDKは、マスタ鍵により更新される。したがって、更新されてゆくクライアント情報110bを記憶装置19に保存するのではなく、全く異なるクライアント情報110zと、それに対応するサーバ情報310zを生成して、クライアント装置1及びサーバ装置3はバックアップとする。
【0044】
例えば、クライアント装置1が故障したとしても、記憶装置19のクライアント情報110zを使用して、サーバ装置3のサーバ情報310zを使用した認証を受けることで、サーバ装置3とは安全な通信路を確保することができる。これにより、データ鍵DKを復元することが可能となる。また、この安全な通信路によりクライアント情報310cをサーバ装置3から安全に取得することができるため、クライアント情報310c及びサーバ情報210cの対のいずれかが破損したとしても、サーバ装置3の設置場所に出向くことこれら情報の復旧を行うことができる。
【0045】
なお、本発明のクライアント装置1、サーバ装置2及びサーバ装置3は、コンピュータを、上述したクライアント装置1、サーバ装置2又はサーバ装置3として機能させるプラグラムにより実現することができる。コンピュータは、プロセッサ、プログラムを保存しているメモリを備えており、メモリに保存されているプログラムを実行することで、上述したクライアント装置1、サーバ装置2及びサーバ装置3として動作する。

【特許請求の範囲】
【請求項1】
パスワードに基づきアカウント情報及び検証情報の対を生成し、前記アカウント情報を保存している装置は、入力された前記パスワード及び前記アカウント情報により認証データを生成し、前記アカウント情報の対となる検証情報を保存している装置は、前記認証データと前記検証情報により前記アカウント情報を保存している装置を認証し、前記パスワードに基づき、保護すべきデータから、前記保護すべきデータを生成する複数の値を生成し、前記保護すべきデータを生成する複数の値を、前記アカウント情報を保存している装置と前記検証情報を保存している装置に分散して保存する、データ分散管理システムであって、
第1のアカウント情報及び第2のアカウント情報を有する第1の装置と、
前記第1のアカウント情報の対である第1の検証情報を有する第2の装置と、
前記第2のアカウント情報の対である第2の検証情報を有する第3の装置と、
を備えており、
前記第1の装置は、70ビット以上のランダム値を生成して第1のパスワードとする手段と、前記第2の装置と通信して、第3のアカウント情報及び第3の検証情報の対を生成する手段と、前記第3のアカウント情報を前記第3の装置に送信する手段とを備えており、
前記第2の装置は、前記第3の検証情報を保存する手段を備えており、
前記第3の装置は、前記第3のアカウント情報を前記第1の装置から受信して保存する手段を備えている、
ことを特徴とするシステム。
【請求項2】
前記第1のパスワードは80ビット以上であることを特徴とする請求項1に記載のシステム。
【請求項3】
前記第1のアカウント情報及び前記第1の検証情報の対と、前記第2のアカウント情報及び前記第2の検証情報の対は、それぞれ、第2のパスワードに基づき生成されており、
前記第2の装置による前記第1の装置の認証終了後、前記第1の装置は前記第1のアカウント情報を使用して第1のマスタ鍵を生成し、前記第2の装置は前記第1の検証情報を使用して前記第1のマスタ鍵を生成し、前記第1の装置及び前記第2の装置は、前記第1のマスタ鍵に基づき前記第1の装置及び前記第2の装置間の通信を暗号化して安全な通信路を確立し、
前記第3の装置による前記第1の装置の認証終了後、前記第1の装置は前記第2のアカウント情報を使用して第2のマスタ鍵を生成し、前記第3の装置は前記第2の検証情報を使用して前記第2のマスタ鍵を生成し、前記第1の装置及び前記第3の装置は、前記第2のマスタ鍵に基づき前記第1の装置及び前記第3の装置間の通信を暗号化して安全な通信路を確立し、
前記第1の通信装置は、前記第2の通信装置との間及び前記第3の通信装置との間に前記安全な通信路を確立した後、前記第3のアカウント情報の生成と、前記第3のアカウント情報の前記第3の装置への送信を行うことを特徴とする請求項1又は2に記載のシステム。
【請求項4】
前記第2のアカウント情報及び前記第2の検証情報の対は、それぞれ、第2のパスワードに基づき生成されており、
前記第3の装置による前記第1の装置の認証終了後、前記第1の装置は前記第2のアカウント情報を使用して第2のマスタ鍵を生成し、前記第3の装置は前記第2の検証情報を使用して前記第2のマスタ鍵を生成し、前記第1の装置及び前記第3の装置は、前記第2のマスタ鍵に基づき前記第1の装置及び前記第3の装置間の通信を暗号化して安全な通信路を確立し、
前記第1の装置及び前記第3の装置との間に前記安全な通信路を確立した後、前記第1の装置は、前記第3の装置と通信して、前記第2のアカウント情報とは異なる第4のアカウント情報と前記第4のアカウント情報の対となる第4の検証情報を生成し、
前記第1の装置は、前記第4のアカウント情報を外部記憶装置に保存する手段を備えていることを特徴とする請求項1又は2に記載のシステム。
【請求項5】
前記第1の装置は、前記第1のパスワードを保存する手段を備えていることを特徴とする請求項1から4のいずれか1項に記載のシステム。
【請求項6】
パスワードに基づきアカウント情報及び検証情報の対を生成し、前記アカウント情報を保存している装置は、入力された前記パスワード及び前記アカウント情報により認証データを生成し、前記アカウント情報の対となる検証情報を保存している装置は、前記認証データと前記検証情報により前記アカウント情報を保存している装置を認証し、前記パスワードに基づき、保護すべきデータから、前記保護すべきデータを生成する複数の値を生成し、前記保護すべきデータを生成する複数の値を、前記アカウント情報を保存している装置と前記検証情報を保存している装置に分散して保存する、データ分散管理システムで使用される装置であって、
第1のアカウント情報及び第2のアカウント情報を保存する手段と、
70ビット以上のランダム値を生成して第1のパスワードとする手段と、
前記第1のアカウント情報の対である第1の検証情報を有する装置と通信して、第3のアカウント情報を前記第1のパスワードに基づき生成する手段と、
前記第3のアカウント情報を前記第2のアカウント情報の対である第2の検証情報を有する装置に送信する手段と、
を備えていることを特徴とする装置。
【請求項7】
請求項6に記載の装置としてコンピュータを機能させることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2012−155360(P2012−155360A)
【公開日】平成24年8月16日(2012.8.16)
【国際特許分類】
【出願番号】特願2011−11158(P2011−11158)
【出願日】平成23年1月21日(2011.1.21)
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成22年度、経済産業省「産業技術研究開発委託費(次世代高信頼・省エネ型IT基盤技術開発事業)」(カームコンピュータ株式会社からの再委託)、産業技術力強化法第19条の適用を受ける特許出願
【出願人】(301021533)独立行政法人産業技術総合研究所 (6,529)
【Fターム(参考)】