(57)【特許請求の範囲】
【請求項１】
秘密情報を、（ｋ，ｎ）しきい値法により分散符号化するデータ処理装置であって、
ここで、ｋ，ｎは２以上の整数、ｋ≦ｎとし、
秘密情報を入手して保持する保持手段と、
ユーザ登録の際に、ｎ人のユーザからそれぞれ、ユーザ毎にユニークなユーザＩＤと、各ユーザが決定したパスワードとを受け付ける受付手段と、
受付手段によりそれぞれのユーザから受け付けたユーザＩＤとパスワードとから、ユーザ毎に一意に決定されるユーザ情報を生成するユーザ情報生成手段と、
保持手段により保持された秘密情報を（ｋ，ｎ）しきい値法により分散符号化して生成されるユーザ毎の分散情報と、ユーザ毎のユーザ情報との差分に相当するユーザ毎の登録情報を生成し、当該ユーザ毎の登録情報を、対応するユーザＩＤと関連づけて記録することにより、各ユーザを登録する登録手段と、
ｎ人のユーザが登録手段により登録された後で、保持手段により保持されている秘密情報を消去する消去手段と
を備えることを特徴とするデータ処理装置。
【請求項２】
当該データ処理装置は、さらに、
前記受付手段によりそれぞれのユーザから受け付けたパスワードに、所定の一方向関数を施して、チェック情報を生成するチェック情報生成手段を備え、
前記登録手段は、さらに、各ユーザを登録するに際して、チェック情報生成手段により生成されたチェック情報を、対応するユーザＩＤと関連づけて記録すること
を特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記ユーザ情報生成手段は、
前記受付手段によりそれぞれのユーザから受け付けたユーザＩＤとパスワードとの間に、前記受付手段により受け付けできない値を含む固定値を挿入して、ユーザＩＤとパスワードとを結合することにより、ユーザ毎にユーザ情報を生成すること
を特徴とする請求項１に記載のデータ処理装置。
【請求項４】
前記ユーザ情報生成手段は、
前記受け付けできない値として、バックスペース(0x08)、又は、キャリッジリターン(0x0d)を含む固定値を挿入すること
を特徴とする請求項３に記載のデータ処理装置。
【請求項５】
前記ユーザ情報生成手段は、
前記受付手段によりそれぞれのユーザから受け付けたユーザＩＤ、及び、パスワードの何れか一方に、所定の変換を施して、前記受付手段により受け付けできない値に変換し、他方と結合することにより、ユーザ毎にユーザ情報を生成すること
を特徴とする請求項１に記載のデータ処理装置。
【請求項６】
前記ユーザ情報生成手段は、前記ユーザＩＤ、及び、前記パスワードの何れか一方を、バックスペース(0x08)、又は、キャリッジリターン(0x0d)を含む値に変換すること
を特徴とする請求項５に記載のデータ処理装置。
【請求項７】
（ｋ，ｎ）しきい値法により分散符号化された情報に基づいて、秘密情報を復元するデータ処理装置であって、
ここで、ｋ，ｎは２以上の整数、ｋ≦ｎとし、
秘密情報を復元する際に、ｋ人のユーザからそれぞれ、ユーザ毎にユニークなユーザＩＤと、各ユーザが任意に決定したパスワードとを受け付ける受付手段と、
受付手段によりそれぞれのユーザから受け付けたユーザＩＤとパスワードとから、ユーザ毎に一意に決定されるユーザ情報を生成するユーザ情報生成手段と、
前記秘密情報を（ｋ，ｎ）しきい値法により分散符号化して生成されるユーザ毎の分散情報と、ユーザ毎のユーザ情報との差分に相当するユーザ毎の登録情報が、対応するユーザＩＤと関連づけられて、ｎ人分記憶されている記憶手段と、
記憶手段に記憶された登録情報のうち、受付手段により受け付けられたユーザＩＤに関連づけられている登録情報を抽出する抽出手段と、
抽出手段によりｋ人分の登録情報が抽出された後で、当該ｋ人分の登録情報と、ユーザ情報生成手段により生成されたｋ人分のユーザ情報とを用いて、前記秘密情報を復元する復元手段と
を備えることを特徴とするデータ処理装置。
【請求項８】
当該データ処理装置は、さらに、
前記復元手段により復元された秘密情報を用いてデータ処理を行うデータ処理手段と、
データ処理手段によりデータ処理が行われた後に、秘密情報を消去する消去手段と
を備えることを特徴とする請求項７に記載のデータ処理装置。
【請求項９】
前記記憶手段は、さらに、
パスワードに、所定の一方向関数を施して生成されたチェック情報を、対応するユーザＩＤと関連づけて記録しており、
前記抽出手段は、さらに、
記憶手段に記憶されたチェック情報のうち、前記受付手段により受け付けられたユーザＩＤに関連づけられているチェック情報を抽出し、
当該データ処理装置は、さらに、
前記受付手段によりそれぞれのユーザから受け付けたパスワードに、前記所定の一方向関数を施して、チェック情報を生成するチェック情報生成手段と、
抽出手段により抽出されたチェック情報と、チェック情報生成手段により生成されたチェック情報とが一致する場合に、パスワードが正当であると認証する認証手段とを備え、
前記復元手段は、
前記秘密情報を復元する際して、認証手段により正当であると認証されなかったパスワードに対応するユーザ情報を用いないこと
を特徴とする請求項７に記載のデータ処理装置。
【請求項１０】
前記ユーザ情報生成手段は、
前記受付手段によりそれぞれのユーザから受け付けたユーザＩＤとパスワードとの間に、受付手段により受け付けできない値を含む固定値を挿入して、ユーザＩＤとパスワードとを結合することにより、ユーザ毎にユーザ情報を生成すること
を特徴とする請求項７に記載のデータ処理装置。
【請求項１１】
前記ユーザ情報生成手段は、
前記受け付けできない値として、バックスペース(0x08)、又は、キャリッジリターン(0x0d)を含む固定値を挿入すること
を特徴とする請求項１０に記載のデータ処理装置。
【請求項１２】
前記ユーザ情報生成手段は、
前記受付手段によりそれぞれのユーザから受け付けたユーザＩＤ、及び、パスワードの何れか一方に、予め備えている所定の変換を施して、受付手段により受け付けできない値に変換し、他方と結合することにより、ユーザ毎にユーザ情報を生成すること
を特徴とする請求項７に記載のデータ処理装置。
【請求項１３】
前記ユーザ情報生成手段は、
前記ユーザＩＤ、及び、前記パスワードの何れか一方を、バックスペース(0x08)、又は、キャリッジリターン(0x0d)を含む値に変換すること
を特徴とする請求項１２に記載のデータ処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、秘密分散法の一つである（ｋ，ｎ）しきい値法を利用した認証技術に関する。
【０００２】
【従来の技術】
近年、高いセキュリティを実現し、かつ、取り扱いが容易な認証技術が求められている。
秘密分散法を利用した認証技術は、秘密情報の紛失や破壊の心配を軽減するものであり、例えば（ｋ，ｎ）しきい値法などが知られている。
【０００３】
（ｋ，ｎ）しきい値法は、ｋ個以上の分散情報を集めた場合にのみ元の秘密情報を復号化できるように、秘密情報からｋ個より多いｎ個の分散情報を分散符号化して生成する秘密情報の分散方法である。
（ｋ，ｎ）しきい値法により生成したｎ個の分散情報を、ｎ人が別々に管理することによって、（ｎ−ｋ）人が分散情報を紛失や破壊したとしても秘密情報を復号化でき、また、ｋ人未満の保管する分散情報が漏洩したとしても秘密情報が復号化されないので、高いセキュリティを実現し、かつ、取り扱いが容易である。
【０００４】
秘密分散法や（ｋ，ｎ）しきい値法については、「暗号理論入門」（岡本栄司著：共立出版発行）１２１〜１２８ページ、特開２００１−９４５５６号公報「秘密分散法を利用した認証方法」、及び、特開２００１−１１１６５９号公報「ファイル暗号化システム、ファイル暗号化用プログラムおよびデータを記録した記録媒体」に詳しく述べられている。
【０００５】
特開２００１−９４５５６号公報には、秘密分散法を利用した認証方法において、所定数の分散情報をもつ集合が秘密情報を復元する能力を有するか否かを検証し、検証結果が肯定的である場合にその集合を認証することによって、分散情報を繰り返し利用することができる旨が記載されている。
特開２００１−１１１６５９号公報には、ファイル暗号化システムにおいて、個人鍵をユーザの認識情報の入力により取り出し、グループ鍵を所定数のユーザの個人鍵を集めて得られる組み合わせ鍵を用いて取り出すことによって、個人鍵の機密を保持することができ、内部不正者が当該所定数以上集まって共謀しない限り、暗号化されたファイルの機密を保護することができる旨が記載されている。
【０００６】
【特許文献１】
特開２００１−９４５５６号公報
【０００７】
【特許文献２】
特開２００１−１１１６５９号公報
【０００８】
【発明が解決しようとする課題】
（ｋ，ｎ）しきい値法における分散符号化は、予め決められた複雑な演算を忠実に実行するものであるため、各分散情報は、一見何の意味もない情報の羅列となる。
従って管理者は、分散情報をパスフレーズとして自身の記憶の中に留めておくことが困難なので、通常、分散情報はなんらかの記録媒体に記録されることになる。
【０００９】
例えば、ある装置において起動するアプリケーションプログラムの起動の際に用いる秘密鍵を（ｋ，ｎ）しきい値法により分散し、複数の管理者に各分散情報を分配した場合において、各管理者がこの装置に接続された記録媒体に各分散情報を記録すれば、第三者からのこの装置に対するアタックにより分散情報が漏洩する恐れがあり、所定数以上の分散情報が漏洩すれば容易に秘密情報が復元されてしまうので、安全対策上望ましくない。
【００１０】
本発明は、第三者からの装置に対するアタックによりこの装置に接続された記録媒体に記録された情報が漏洩することによって、しきい値法により分散された秘密情報が復元されてしまう恐れがないデータ処理装置、データ処理方法、及び、データ処理プログラムを提供することを目的とする。
【００１１】
【課題を解決するための手段】
上記目的を達成するために、本発明に係るデータ処理装置は、秘密情報を（ｋ，ｎ）しきい値法により分散符号化するデータ処理装置であって、ここでｋ，ｎは２以上の整数、ｋ≦ｎとし、秘密情報を入手して保持する保持手段と、ユーザ登録の際にｎ人のユーザからそれぞれユーザ毎にユニークなユーザＩＤと各ユーザが決定したパスワードとを受け付ける受付手段と、受付手段によりそれぞれのユーザから受け付けたユーザＩＤとパスワードとからユーザ毎に一意に決定されるユーザ情報を生成するユーザ情報生成手段と、保持手段により保持された秘密情報を（ｋ，ｎ）しきい値法により分散符号化して生成されるユーザ毎の分散情報とユーザ毎のユーザ情報との差分に相当するユーザ毎の登録情報を生成し当該ユーザ毎の登録情報を対応するユーザＩＤと関連づけて記録することにより各ユーザを登録する登録手段と、ｎ人のユーザが登録手段により登録された後で保持手段により保持されている秘密情報を消去する消去手段とを備えることを特徴とする。
【００１２】
上記目的を達成するために、本発明に係るデータ処理方法は、秘密情報を（ｋ，ｎ）しきい値法により分散符号化するデータ処理方法であって、ここでｋ，ｎは２以上の整数、ｋ≦ｎとし、秘密情報を入手して保持する保持ステップと、ユーザ登録の際にｎ人のユーザからそれぞれユーザ毎にユニークなユーザＩＤと各ユーザが決定したパスワードとを受け付ける受付ステップと、受付ステップによりそれぞれのユーザから受け付けたユーザＩＤとパスワードとからユーザ毎に一意に決定されるユーザ情報を生成するユーザ情報生成ステップと、保持ステップにより保持された秘密情報を（ｋ，ｎ）しきい値法により分散符号化して生成されるユーザ毎の分散情報とユーザ毎のユーザ情報との差分に相当するユーザ毎の登録情報を生成し当該ユーザ毎の登録情報を対応するユーザＩＤと関連づけて記録することにより各ユーザを登録する登録ステップと、ｎ人のユーザが登録ステップにより登録された後で保持ステップにより保持された秘密情報を消去する消去ステップとを含むことを特徴とする。
【００１３】
上記目的を達成するために、本発明に係るデータ処理プログラムは、秘密情報を（ｋ，ｎ）しきい値法により分散符号化する各ステップをコンピュータに実行させるデータ処理プログラムであって、ここでｋ，ｎは２以上の整数、ｋ≦ｎとし、秘密情報を入手して保持する保持ステップと、ユーザ登録の際にｎ人のユーザからそれぞれユーザ毎にユニークなユーザＩＤと各ユーザが決定したパスワードとを受け付ける受付ステップと、受付ステップによりそれぞれのユーザから受け付けたユーザＩＤとパスワードとからユーザ毎に一意に決定されるユーザ情報を生成するユーザ情報生成手段と、保持ステップにより保持された秘密情報を（ｋ，ｎ）しきい値法により分散符号化して生成されるユーザ毎の分散情報とユーザ毎のユーザ情報との差分に相当するユーザ毎の登録情報を生成し当該ユーザ毎の登録情報を対応するユーザＩＤと関連づけて記録することにより各ユーザを登録する登録ステップと、ｎ人のユーザが登録ステップにより登録された後で保持ステップにより保持された秘密情報を消去する消去ステップとをコンピュータに実行させる。
【００１４】
これらによって、各ユーザはそれぞれが憶えやすいパスワードを設定することにより、パスフレーズとして自身の記憶の中に留めておくことが容易になる。
従って、各ユーザが憶えやすいパスワードを憶えておけば、記録媒体に記録された情報が漏洩したとしても、しきい値法により分散された秘密情報は復元されないので、安全性が高い。
【００１５】
上記目的を達成するために、本発明に係るデータ処理装置は、（ｋ，ｎ）しきい値法により分散符号化された情報に基づいて秘密情報を復元するデータ処理装置であって、ここでｋ，ｎは２以上の整数、ｋ≦ｎとし、秘密情報を復元する際にｋ人のユーザからそれぞれユーザ毎にユニークなユーザＩＤと各ユーザが任意に決定したパスワードとを受け付ける受付手段と、受付手段によりそれぞれのユーザから受け付けたユーザＩＤとパスワードとからユーザ毎に一意に決定されるユーザ情報を生成するユーザ情報生成手段と、前記秘密情報を（ｋ，ｎ）しきい値法により分散符号化して生成されるユーザ毎の分散情報とユーザ毎のユーザ情報との差分に相当するユーザ毎の登録情報が対応するユーザＩＤと関連づけられてｎ人分記憶されている記憶手段と、記憶手段に記憶された登録情報のうち受付手段により受け付けられたユーザＩＤに関連づけられている登録情報を抽出する抽出手段と、抽出手段によりｋ人分の登録情報が抽出された後で当該ｋ人分の登録情報とユーザ情報生成手段により生成されたｋ人分のユーザ情報とを用いて前記秘密情報を復元する復元手段とを備えることを特徴とする。
【００１６】
上記目的を達成するために、本発明に係るデータ処理方法は、（ｋ，ｎ）しきい値法により分散符号化された情報に基づいて秘密情報を復元するデータ処理装置におけるデータ処理方法であって、ここでｋ，ｎは２以上の整数、ｋ≦ｎとし、前記データ処理装置は前記秘密情報を（ｋ，ｎ）しきい値法により分散符号化して生成されるユーザ毎の分散情報と各ユーザ情報との差分に相当するユーザ毎の登録情報が対応するユーザＩＤと関連づけられてｎ人分記憶されている記憶手段を備え、当該データ処理方法は、秘密情報を復元する際にｋ人のユーザからそれぞれユーザ毎にユニークなユーザＩＤとユーザ毎のユーザが任意に決定したパスワードとを受け付ける受付ステップと、受付ステップによりそれぞれのユーザから受け付けたユーザＩＤとパスワードとからユーザ毎に一意に決定されるユーザ情報を生成するユーザ情報生成ステップと、前記記憶手段に記憶された登録情報のうち受付ステップにより受け付けられたユーザＩＤに関連づけられている登録情報を抽出する抽出ステップと、抽出ステップによりｋ人分の登録情報が抽出された後で当該ｋ人分の登録情報とユーザ情報生成ステップにより生成されたｋ人分のユーザ情報とを用いて前記秘密情報を復元する復元ステップとを含むことを特徴とする。
【００１７】
上記目的を達成するために、本発明に係るデータ処理プログラムは、（ｋ，ｎ）しきい値法により分散符号化された情報に基づいて秘密情報を復元する各ステップをデータ処理装置に実行させるデータ処理プログラムであって、ここでｋ，ｎは２以上の整数、ｋ≦ｎとし、前記データ処理装置は前記秘密情報を（ｋ，ｎ）しきい値法により分散符号化して生成されるユーザ毎の分散情報とユーザ毎のユーザ情報との差分に相当するユーザ毎の登録情報が対応するユーザＩＤと関連づけられてｎ人分記憶されている記憶手段を備え、秘密情報を復元する際にｋ人のユーザからそれぞれユーザ毎にユニークなユーザＩＤと各ユーザが任意に決定したパスワードとを受け付ける受付ステップと、受付ステップによりそれぞれのユーザから受け付けたユーザＩＤとパスワードとからユーザ毎に一意に決定されるユーザ情報を生成するユーザ情報生成ステップと、前記記憶手段に記憶された登録情報のうち受付ステップにより受け付けられたユーザＩＤに関連づけられている登録情報を抽出する抽出ステップと、抽出ステップによりｋ人分の登録情報が抽出された後で当該ｋ人分の登録情報とユーザ情報生成ステップにより生成されたｋ人分のユーザ情報とを用いて前記秘密情報を復元する復元ステップとをコンピュータに実行させることを特徴とする。
【００１８】
これらによって、各ユーザがそれぞれが憶えやすいパスワードを設定して記憶しておき、ｋ人のユーザがそれぞれユーザＩＤとパスワードとを入力することにより、秘密情報を復元することができる。
従って、各ユーザが憶えやすいパスワードを憶えておけば、記録媒体に記録された情報が漏洩したとしても、しきい値法により分散された秘密情報は復元されないので、安全性が高い。
【００１９】
【発明の実施の形態】
（実施の形態１）
（構成）
図１は、本発明の実施の形態１におけるデータ処理システムの構成を示す図である。
【００２０】
図１に示すように実施の形態１のデータ処理システムは、データ処理装置１００、及び、データベース部２００から構成される。
データ処理装置１００は、秘密鍵生成部１０１、入力受付部１０２、ユーザ秘密情報生成部１０３、チェック情報生成部１０４、ユーザ登録情報生成部１０５、登録部１０６、記録部１０７、認証部１０８、ユーザ登録情報抽出部１０９、秘密鍵復元部１１０、データ処理部１１１、第１消去部１１２、及び、第２消去部１１３から構成される。
【００２１】
秘密鍵生成部１０１は、ユーザ登録を開始するまでに、データベース部２００にアクセスするために必要な秘密鍵を生成して保持する。ここでは秘密鍵生成部１０１が乱数を秘密鍵として生成する。なお、ここでは秘密鍵を生成しているが、別の装置から予め与えられた秘密鍵を用いてもよい。
入力受付部１０２は、ユーザ登録、及び、データアクセスの際に、複数のユーザからそれぞれ、ユーザＩＤとパスワードとを受け付ける。
【００２２】
ユーザ秘密情報生成部１０３は、ユーザ登録、及び、データアクセスの際に、入力受付部１０２により受け付けられたユーザＩＤとパスワードとに所定の変換を施して、一意なユーザ秘密情報を生成する。
図２（ａ）〜（ｅ）は、ユーザ秘密情報生成部１０３により生成されるユーザ秘密情報の例を示す図である。
【００２３】
図２（ａ）に示すユーザ秘密情報は、ユーザＩＤに対して何らかの固定値をパディングしたものである。
ユーザＩＤは通常秘匿性を持った情報として取り扱われない場合が多く、このような場合には、ユーザＩＤが容易に漏洩する危険性が高いので、図２（ａ）に示すようなユーザ秘密情報では第三者からのアタックを受けた際にユーザ秘密情報が露見しやすく、結果として秘密鍵までもが露見しやすいという弊害がある。
【００２４】
図２（ｂ）に示すユーザ秘密情報は、パスワードに対して何らかの固定値をパディングしたものである。
パスワードは各ユーザにおいてそれぞれ自由に設定することが出来るものなので、偶然に複数のユーザが同一のパスワードを設定する場合があり、このような場合には、図２（ｂ）に示すようなユーザ秘密情報ではしきい値法における式が一致してしまうことになり、ｋ人の認証が行われてもｋ個の分散情報を取得できず、結果として元の秘密情報を復元する事ができないという弊害がある。
【００２５】
図２（ｃ）に示すユーザ秘密情報は、パスワードとユーザＩＤとを単に組み合わせたものである。
パスワードとユーザＩＤとを単に組み合わせたものが偶然に同一の値になる場合があるので、図２（ｃ）に示すようなユーザ秘密情報も、図２（ｂ）の場合と同様の弊害がある。具体例を挙げれば、パスワード“ＡＢＣ”と、ユーザＩＤ“ＤＥ”とを単に組み合わせるとユーザ秘密情報“ＡＢＣＤＥ”となり、パスワード“ＡＢ”と、ユーザＩＤ“ＣＤＥ”とを単に組み合わせてもユーザ秘密情報“ＡＢＣＤＥ”となるので、ユーザＩＤが一意であってもパスワードと組み合わせることで同一の値となるのである。ただしユーザＩＤ及びパスワードの少なくともどちらかの語長を予め定めておけばこのような弊害は起こらない。
【００２６】
図２（ｄ）に示すユーザ秘密情報は、パスワードとユーザＩＤの間に通常オペレータが入力できない固定値を１バイト挿入したものである。ここで通常オペレータが入力できない固定値とは、例えば、バックスペース(0x08)、キャリッジリターン(0x0d)等の制御用の文字であり、またパスワードとユーザＩＤとの入力に際して数字を入力できないようにしている場合においては任意の数字でもよい。
【００２７】
ユーザＩＤが一意である場合には、図２（ｄ）に示すようなユーザ秘密情報は、偶然に同一の値になる事がなく一意になる事が保障されるので、しきい値法における式が一致してしまうことがなく、図２（ｂ）、及び、図２（ｃ）の場合と同様の弊害は起こらない。
図２（ｅ）に示すユーザ秘密情報は、ある変換規則に基づいてユーザＩＤを変換してパスワードと組み合わせたものである。ここで、ある変換規則とは、通常オペレータが入力できない値への変換であることが望ましい。具体例を挙げれば、変換表に基づいた一対一対応の変換や、ハッシュなどのように衝突を起こしにくい変換である。
【００２８】
なお、図２（ｅ）においては、ある変換規則に基づいてユーザＩＤを変換してパスワードと組み合わせたが、ある変換規則に基づいてパスワードを変換してユーザＩＤと組み合わせてもよいし、ユーザＩＤ及びパスワードの両方を変換して組み合わせてもよい。
また、図２（ｃ）〜（ｅ）においては、パスワード又は変換したパスワードの後に、ユーザＩＤ又は変換したユーザＩＤを組み合わせたが、ユーザＩＤ又は変換したユーザＩＤの後に、パスワード又は変換したパスワードを組み合わせてもよい。
【００２９】
チェック情報生成部１０４は、ユーザ登録、及び、データアクセスの際に、ユーザ秘密情報生成部１０３により生成されたユーザ秘密情報にハッシュ演算を行い、ユーザＩＤ及びパスワードの正当性をチェックするために必要なチェック情報を生成する。なお、ハッシュ演算については従来技術なので詳細な説明を省略する。また、ここではユーザ秘密情報からチェック情報を生成したが、ユーザＩＤから生成してもよい。また、チェック情報はハッシュ値に限られたものではないが、少なくともユーザＩＤに基づいて生成されるものである必要がある。
【００３０】
ユーザ登録情報生成部１０５は、ユーザ登録の際に、ユーザ秘密情報生成部１０３により生成されたユーザ秘密情報に基づいて、秘密鍵生成部１０１により生成された秘密鍵を、ｋ個のユーザ秘密情報から秘密鍵を復元できるように（ｋ，ｎ）しきい値法に準じて分散することによって、ユーザ毎にユーザ登録情報を生成する。なお、ここで生成するユーザ毎のユーザ登録情報は、ユーザ毎のユーザ秘密情報と組み合わせることによって、秘密鍵を（ｋ，ｎ）しきい値法により分散符号化して生成される従来のユーザ毎の分散情報と同等となるものであり、当該分散情報とユーザ秘密情報との差分に相当する。ここでｋ，ｎは２以上の整数であり、ｋ≦ｎとする。
【００３１】
登録部１０６は、チェック情報生成部１０４により生成されたチェック情報と、ユーザ登録情報生成部１０５により生成されたユーザ毎のユーザ登録情報とを、対応するユーザＩＤと関連づけて、ユーザＩＤ、ユーザ登録情報、及び、チェック情報の組からなるユーザ毎のパスワードファイルを記録部１０７に記録することにより、各ユーザを登録する。
【００３２】
記録部１０７は、ユーザ登録の際に、パスワードファイルを登録部１０６により記録される。
図３は、記録部１０７に記録されたユーザ毎のパスワードファイルの一例を示す図である。
図３に示すように、ユーザ毎のパスワードファイルには、一人のユーザに関する情報が一行に渡って記述してあり、左から順にユーザＩＤ、Base64変換したユーザＩＤチェック情報(28byte)、Base64変換した秘密値(32byte)が記述され、‘：’を区切り文字としている。なお、図３に示すパスワードファイルは、Base64変換を行っているが他の変換でもよく、また必ずしも変換を行う必要もなく、また各ビット数もこの例に限定されるものではない。
【００３３】
認証部１０８は、データアクセスの際に、入力受付部１０２により受け付けられたユーザＩＤを検索キーに用いて、記録部１０７に記録されたチェック情報を抽出し、チェック情報生成部１０４により生成されたチェック情報と照らし合わせて、ユーザＩＤ及びパスワードの正当性をチェックする。
ユーザ登録情報抽出部１０９は、データアクセスの際に、認証部１０８により正当なユーザであると認証されたときに、入力受付部１０２により受け付けられたユーザＩＤを検索キーに用いて、記録部１０７に記録されたユーザ登録情報を抽出する。
【００３４】
秘密鍵復元部１１０は、データアクセスの際に、認証部１０８において正当であると認証されたユーザ数が、予め定められたしきい値に達したと判断したときに、ユーザ毎の、ユーザ秘密情報生成部１０３により生成されたユーザ秘密情報、及び、ユーザ登録情報抽出部１０９により抽出されたユーザ登録情報を用いて、秘密鍵を復元する。
【００３５】
データ処理部１１１は、ユーザ登録の際に、登録部１０６により登録されたユーザ数が、予め定められた全ユーザ数に達したと判断した後に、データベース部２００に対して、秘密鍵生成部１０１により生成された秘密鍵を使用しなければ、アクセスできないように設定する指示を出し、また、データアクセスの際に、秘密鍵復元部１１０により復元された秘密鍵を使用して、データベース部２００にアクセスする。
【００３６】
第１消去部１１２は、ユーザ登録の際に、データ処理部１１１によりデータベース部２００に対して前記指示が出された後に、秘密鍵生成部１０１により生成され保持されている秘密鍵を消去する。
第２消去部１１３は、データアクセスの際に、データ処理部１１１によりデータベース部２００にアクセスされた後に、秘密鍵復元部１１０により復元された秘密鍵を消去する。
【００３７】
データベース部２００は、ユーザ登録の際に、データ処理部１１１により出された前記指示を受取り当該指示に従い、また、データアクセスの際に、データ処理部１１１によるアクセスを受け付ける。
なお、ここではデータベース部２００はデータ処理装置１００の外部に配置しているが、データベース部２００をデータ処理装置１００に内蔵する構成でも構わない。
【００３８】
（ユーザ登録時の動作）
図４は、本発明の実施の形態１におけるデータ処理システムによるユーザ登録時の動作の手順を示す図である。
以下に、ユーザ登録時の動作の手順を説明する。
（１）秘密鍵生成部１０１が、秘密鍵Ａ、Ｂを生成する（ステップＳ１）。
【００３９】
（２）入力受付部１０２が、ユーザから、ユーザＩＤとパスワードとを受け付ける（ステップＳ２）。
（３）ユーザ秘密情報生成部１０３が、ステップＳ２において受け付けたユーザＩＤとパスワードとに所定の変換を施して、一意なユーザ秘密情報を生成する（ステップＳ３）。
【００４０】
（４）チェック情報生成部１０４が、ステップＳ３において生成されたユーザ秘密情報にハッシュ演算を行い、チェック情報を生成する（ステップＳ４）。
（５）ユーザ登録情報生成部１０５が、ステップＳ３において生成されたユーザ秘密情報に基づいて、ステップＳ１において生成された秘密鍵を、ｋ個のユーザ秘密情報から秘密鍵を復元できるように（ｋ，ｎ）しきい値法に準じて分散することによって、ユーザ登録情報を生成する（ステップＳ５）。
【００４１】
（６）登録部１０６が、ステップＳ５において生成されたユーザ登録情報と、ステップＳ４において生成されたチェック情報とを、対応するユーザＩＤと関連づけて、ユーザＩＤ、ユーザ登録情報、及び、チェック情報の組からなるユーザ毎のパスワードファイルを記録部１０７に記録する（ステップＳ６）。
（７）登録部１０６が、ユーザ数がｎに達したか否かを判断する。ｎに達していない場合には、他のユーザＩＤとパスワードとを受け付ける処理に戻る（ステップＳ７）。
【００４２】
（８）ユーザ数がｎに達したときは、データ処理部１１１が、データベース部２００に対して、ステップＳ１において生成された秘密鍵を使用しなければ、アクセスできないように設定する指示を出す（ステップＳ８）。
（９）第１消去部１１２が、ステップＳ１において生成された秘密鍵を消去する（ステップＳ９）。
【００４３】
（データアクセス時の動作）
図５は、本発明の実施の形態１におけるデータ処理システムによるデータアクセス時の動作の手順を示す図である。
以下に、データアクセス時の動作の手順を説明する。
（１）入力受付部１０２が、ユーザから、ユーザＩＤとパスワードとを受け付ける（ステップＳ１１）。
【００４４】
（２）ユーザ秘密情報生成部１０３が、ステップＳ１１において受け付けたユーザＩＤとパスワードとに所定の変換を施して、一意なユーザ秘密情報を生成する（ステップＳ１２）。
（３）チェック情報生成部１０４が、ステップＳ１２において生成されたユーザ秘密情報にハッシュ演算を行い、チェック情報を生成する（ステップＳ１３）。
【００４５】
（４）認証部１０８が、ステップＳ１１において受け付けられたユーザＩＤを検索キーに用いて、記録部１０７に記録されたチェック情報を抽出する（ステップＳ１４）。
（５）認証部１０８が、ステップＳ１３において生成されたチェック情報とステップＳ１４において抽出されたチェック情報とを照らし合わせて、ユーザＩＤ及びパスワードの正当性をチェックする。２つのチェック情報の値が等しければユーザＩＤ及びパスワードは正当なものとしてユーザ登録情報を抽出する処理ひ進み、２つのチェック情報の値が等しくなければユーザＩＤ及びパスワードは不当なものとして、他のユーザＩＤとパスワードとを受け付ける処理に戻る（ステップＳ１５）。
【００４６】
（６）ユーザＩＤ及びパスワードが正当なものとして認証された場合に、ユーザ登録情報抽出部１０９が、ステップＳ１１において受け付けられたユーザＩＤを検索キーに用いて、記録部１０７に記録されたユーザ登録情報を抽出する（ステップＳ１６）。
（７）秘密鍵復元部１１０が、ユーザ数がｋに達したか否かを判断する。ｋに達していない場合には、他のユーザＩＤとパスワードとを受け付ける処理に戻る（ステップＳ１７）。
【００４７】
（８）ユーザ数がｋに達したときは、秘密鍵復元部１１０が、ステップＳ１２において生成されたｋ個のユーザ秘密情報、及び、ステップＳ１６において抽出されたｋ個のユーザ登録情報を用いて、秘密鍵を復元する（ステップＳ１８）。
（９）データ処理部１１１が、ステップＳ１８において復元された秘密鍵を使用して、データベース部２００にアクセスする（ステップＳ１９）。
【００４８】
（１０）第２消去部１１３が、ステップＳ１８において復元された秘密鍵を消去する（ステップＳ２０）。
（具体例１）
具体例１では（ｋ，ｎ）しきい値法における、ｋ＝２、ｎ＝３とする。
以下に、図４に沿って、ユーザ登録時の具体例１を示す。
【００４９】
（１）ステップＳ１において、秘密鍵生成部１０１が、秘密鍵“Ａ＝３、秘密鍵“Ｂ＝−１を生成する。
（２）ステップＳ２において、入力受付部１０２が、ユーザＬから、ユーザＩＤ“ＩＬ＝１”とパスワード“ＰＬ＝１”とを受け付ける。
（３）ステップＳ３において、ユーザ秘密情報生成部１０３が、ユーザＩＤ“ＩＬ＝１”とパスワード“ＰＬ＝１”とからユーザ秘密情報“ＵＬ（ｙ，ｘ）＝（１，１）”を生成する。
【００５０】
（４）ステップＳ４において、チェック情報生成部１０４が、ユーザ秘密情報“ＵＬ（ｙ，ｘ）＝（１，１）”にハッシュ演算を行い、チェック情報“ＣＬ”を生成する。
（５）ステップＳ５において、ユーザ登録情報生成部１０５が、予め備えている式、
ｙ＝Ａｘ＋Ｂ＋α・・・・・・・（式１）
にユーザ秘密情報“ＵＬ（ｙ，ｘ）＝（１，１）”、及び、秘密鍵“Ａ＝３”、秘密鍵“Ｂ＝−１”を代入して、“１＝３×１＋（−１）＋α”より、ユーザＬのユーザ登録情報“α＝−１”を求める。
【００５１】
（６）ステップＳ６において、登録部１０６が、ユーザ登録情報“α＝−１”と、チェック情報“ＣＬ”とを、ユーザＩＤ“ＩＬ＝１”と関連づけ、パスワードファイル“（ＩＬ，α，ＣＬ）＝（１，−１，ＣＬ）”を記録部１０７に記録する。
（７）ステップＳ７において、ユーザ数が“ｎ＝３”に達していないので、ステップＳ２に戻る。
【００５２】
（８）ステップＳ２において、入力受付部１０２が、ユーザＭから、ユーザＩＤ“ＩＭ＝２”とパスワード“ＰＭ＝２”とを受け付ける。
（９）ステップＳ３において、ユーザ秘密情報生成部１０３が、ユーザＩＤ“ＩＭ＝２”とパスワード“ＰＭ＝２”とからユーザ秘密情報“ＵＭ（ｙ’，ｘ’）＝（２，２）”を生成する。
【００５３】
（１０）ステップＳ４において、チェック情報生成部１０４が、ユーザ秘密情報“ＵＭ（ｙ’，ｘ’）＝（２，２）”にハッシュ演算を行い、チェック情報“ＣＭ”を生成する。
（１１）ステップＳ５において、ユーザ登録情報生成部１０５が、予め備えている式、
ｙ’＝Ａｘ’＋Ｂ＋β・・・・・・・（式２）
にユーザ秘密情報“ＵＭ（ｙ’，ｘ’）＝（２，２）”、及び、秘密鍵“Ａ＝３”、秘密鍵“Ｂ＝−１”を代入して、“１＝３×２＋（−１）＋β”より、ユーザＭのユーザ登録情報“β＝−３”を求める。
【００５４】
（１２）ステップＳ６において、登録部１０６が、ユーザ登録情報“β＝−３”と、チェック情報“ＣＭ”とを、ユーザＩＤ“ＩＭ＝２”と関連づけ、パスワードファイル“（ＩＭ，β，ＣＭ）＝（２，−３，ＣＭ）”を記録部１０７に記録する。
（１３）ステップＳ７において、ユーザ数が“ｎ＝３”に達していないので、ステップＳ２に戻る。
【００５５】
（１４）ステップＳ２において、入力受付部１０２が、ユーザＮから、ユーザＩＤ“ＩＬ＝３”とパスワード“ＰＬ＝３”とを受け付ける。
（１５）ステップＳ３において、ユーザ秘密情報生成部１０３が、ユーザＩＤ“ＩＮ＝３”とパスワード“ＰＮ＝３”とからユーザ秘密情報“ＵＮ（ｙ’’，ｘ’’）＝（３，３）”を生成する。
【００５６】
（１６）ステップＳ４において、チェック情報生成部１０４が、ユーザ秘密情報“ＵＮ（ｙ’’，ｘ’’）＝（３，３）”にハッシュ演算を行い、チェック情報“ＣＮ”を生成する。
（１７）ステップＳ５において、ユーザ登録情報生成部１０５が、予め備えている式、
ｙ’’＝Ａｘ’’＋Ｂ＋γ・・・・・・・（式３）
にユーザ秘密情報“ＵＮ（ｙ’’，ｘ’’）＝（３，３）”、及び、秘密鍵“Ａ＝３”、秘密鍵“Ｂ＝−１”を代入して、“１＝３×３＋（−１）＋γ”より、ユーザＮのユーザ登録情報“γ＝−５”を求める。
【００５７】
（１８）ステップＳ６において、登録部１０６が、ユーザ登録情報“γ＝−５”と、チェック情報“ＣＮ”とを、ユーザＩＤ“ＩＮ＝３”と関連づけ、パスワードファイル“（ＩＮ，γ，ＣＮ）＝（３，−５，ＣＮ）”を記録部１０７に記録する。
（１９）ステップＳ７において、ユーザ数が“ｎ＝３”に達したので、ステップＳ８に進む。
【００５８】
（２０）ステップＳ８において、データ処理部１１１が、データベース部２００に対して、秘密鍵“Ａ＝３”、秘密鍵“Ｂ＝−１”を使用しなければ、アクセスできないように設定する指示を出す。
（２１）ステップＳ９において、第１消去部１１２が、秘密鍵を消去する。
以下に、図５に沿って、データアクセス時の具体例１を示す。
【００５９】
（１）ステップＳ１１において、入力受付部１０２が、ユーザＬから、ユーザＩＤ“ＩＬ＝１”とパスワード“ＰＬ＝１”とを受け付ける。
（２）ステップＳ１２において、ユーザ秘密情報生成部１０３が、ユーザＩＤ“ＩＬ＝１”とパスワード“ＰＬ＝１”とからユーザ秘密情報“ＵＬ（ｙ，ｘ）＝（１，１）”を生成する。
【００６０】
（３）ステップＳ１３において、チェック情報生成部１０４が、ユーザ秘密情報“ＵＬ（ｙ，ｘ）＝（１，１）”にハッシュ演算を行い、チェック情報“ＣＬ”を生成する。
（４）ステップＳ１４において、認証部１０８が、ユーザＩＤ“ＩＬ＝１”を検索キーに用いて、チェック情報“ＣＬ”を抽出する。
【００６１】
（５）ステップＳ１５において、認証部１０８が、（３）において生成されたチェック情報“ＣＬ”と、（４）において抽出されたチェック情報“ＣＬ”とを照らし合わせて、ユーザＩＤ“ＩＬ＝１”及びパスワード“ＰＬ＝１”の正当性をチェックし、ユーザＩＤ及びパスワードが正当なものとして認証される。
（６）ステップＳ１６において、ユーザ登録情報抽出部１０９が、（１）において受け付けられたユーザＩＤ“ＩＬ＝１”を検索キーに用いて、記録部１０７に記録されたユーザ登録情報“α＝−１”を抽出する。
【００６２】
（７）ステップＳ１７において、ユーザ数が“ｋ＝２”に達していないので、ステップＳ１１に戻る。
（８）ステップＳ１１において、入力受付部１０２が、ユーザＮから、ユーザＩＤ“ＩＮ＝３”とパスワード“ＰＮ＝３”とを受け付ける。
（９）ステップＳ１２において、ユーザ秘密情報生成部１０３が、ユーザＩＤ“ＩＮ＝３”とパスワード“ＰＮ＝３”とからユーザ秘密情報“ＵＮ（ｙ’’，ｘ’’）＝（３，３）”を生成する。
【００６３】
（１０）ステップＳ１３において、チェック情報生成部１０４が、ユーザ秘密情報“ＵＮ（ｙ’’，ｘ’’）＝（３，３）”にハッシュ演算を行い、チェック情報“ＣＮ”を生成する。
（１１）ステップＳ１４において、認証部１０８が、ユーザＩＤ“ＩＮ＝３”を検索キーに用いて、チェック情報“ＣＮ”を抽出する。
【００６４】
（１２）（５）ステップＳ１５において、認証部１０８が、（１０）において生成されたチェック情報“ＣＮ”と、（１１）において抽出されたチェック情報“ＣＮ”とを照らし合わせて、ユーザＩＤ“ＩＮ＝３”及びパスワード“ＰＮ＝３”の正当性をチェックし、ユーザＩＤ及びパスワードが正当なものとして認証される。
【００６５】
（１３）ステップＳ１６において、ユーザ登録情報抽出部１０９が、（８）において受け付けられたユーザＩＤ“ＩＮ＝３”を検索キーに用いて、記録部１０７に記録されたユーザ登録情報“γ＝−５”を抽出する。
（１４）ステップＳ１７において、ユーザ数が“ｋ＝２”に達したので、ステップＳ１８に進む。
【００６６】
（１５）ステップＳ１８において、秘密鍵復元部１１０が、（２）において生成されたユーザ秘密情報“ＵＬ（ｙ，ｘ）＝（１，１）”及び、（６）において抽出されたユーザ登録情報“α＝−１”を（式１）に代入して
１＝Ａ×１＋Ｂ＋（−１）・・・・・・・（式４）
を得、
（９）において生成されたユーザ秘密情報“ＵＮ（ｙ’’，ｘ’’）＝（３，３）”及び（１３）において抽出されたユーザ登録情報“γ＝−５”を（式２）に代入して
３＝Ａ×３＋Ｂ＋（−５）・・・・・・・（式５）
を得、
（式４）、（式５）の連立方程式を解いて、秘密鍵“Ａ＝３”、秘密鍵“Ｂ＝−１”を復元する。
【００６７】
（１６）ステップＳ１９において、データ処理部１１１が、秘密鍵“Ａ＝３”、秘密鍵“Ｂ＝−１”を使用して、データベース部２００にアクセスする。
（１７）ステップＳ２０において、第２消去部１１３が、秘密鍵“Ａ＝３”、秘密鍵“Ｂ＝−１”を消去する。
（具体例２）
具体例２では（ｋ，ｎ）しきい値法における、ｋ＝２、ｎ＝３とする。
【００６８】
以下に、図４に沿って、ユーザ登録時の具体例２を示す。
なお、ユーザ登録時の具体例１と同様な項目の説明を略記する。
（１）〜（４）ユーザ登録時の具体例１の（１）〜（４）と同様。
（５）ステップＳ５において、ユーザ登録情報生成部１０５が、予め備えている式、
ｚ＝ｙ−α＝Ａｘ＋Ｂ・・・・・・・（式６）
にユーザ秘密情報“ＵＬ（ｙ，ｘ）＝（１，１）”、及び、秘密鍵“Ａ＝３”、秘密鍵“Ｂ＝−１”を代入して、“ｚ＝１−α＝３×１＋（−１）”より、ユーザＬのユーザ登録情報“ｚ＝２”を求める。
【００６９】
（６）ステップＳ６において、登録部１０６が、ユーザ登録情報“ｚ＝２”と、チェック情報“ＣＬ”とを、ユーザＩＤ“ＩＬ＝１”と関連づけ、パスワードファイル“（ＩＬ，ｚ，ＣＬ）＝（１，２，ＣＬ）”を記録部１０７に記録する。
（７）〜（１０）ユーザ登録時の具体例１の（７）〜（１０）と同様。
【００７０】
（１１）ステップＳ５において、ユーザ登録情報生成部１０５が、予め備えている式、
ｚ’＝ｙ’−β＝Ａｘ’＋Ｂ・・・・・・・（式７）
にユーザ秘密情報“ＵＭ（ｙ’，ｘ’）＝（２，２）”、及び、秘密鍵“Ａ＝３”、秘密鍵“Ｂ＝−１”を代入して、“ｚ’＝１−β＝３×２＋（−１）”より、ユーザＭのユーザ登録情報“ｚ’＝５”を求める。
【００７１】
（１２）ステップＳ６において、登録部１０６が、ユーザ登録情報“ｚ’＝５”と、チェック情報“ＣＭ”とを、ユーザＩＤ“ＩＭ＝２”と関連づけ、パスワードファイル“（ＩＭ，ｚ’，ＣＭ）＝（２，５，ＣＭ）”を記録部１０７に記録する。
（１３）〜（１６）ユーザ登録時の具体例１の（１３）〜（１６）と同様。
【００７２】
（１７）ステップＳ５において、ユーザ登録情報生成部１０５が、予め備えている式、
ｚ’’＝ｙ’’−γ＝Ａｘ’’＋Ｂ・・・・・・・（式８）
にユーザ秘密情報“ＵＮ（ｙ’’，ｘ’’）＝（３，３）”、及び、秘密鍵“Ａ＝３”、秘密鍵“Ｂ＝−１”を代入して、“ｚ’’＝１−γ＝３×３＋（−１）”より、ユーザＮのユーザ登録情報“ｚ’’＝８”を求める。
【００７３】
（１８）ステップＳ６において、登録部１０６が、ユーザ登録情報“ｚ’’＝８”と、チェック情報“ＣＮ”とを、ユーザＩＤ“ＩＮ＝３”と関連づけ、パスワードファイル“（ＩＮ，ｚ’’，ＣＮ）＝（３，８，ＣＮ）”を記録部１０７に記録する。
（１９）〜（２１）ユーザ登録時の具体例１の（１９）〜（２１）と同様。
【００７４】
以下に、図５に沿って、データアクセス時の具体例２を示す。
なお、データアクセス時の具体例１と同様な項目の説明を略記する。
（１）〜（５）データアクセス時の具体例１の（１）〜（５）と同様。
（６）ステップＳ１６において、ユーザ登録情報抽出部１０９が、（１）において受け付けられたユーザＩＤ“ＩＬ＝１”を検索キーに用いて、記録部１０７に記録されたユーザ登録情報“ｚ＝２”を抽出する。
【００７５】
（７）〜（１２）データアクセス時の具体例１の（６）〜（１０）と同様。
（１３）ステップＳ１６において、ユーザ登録情報抽出部１０９が、（７）において受け付けられたユーザＩＤ“ＩＮ＝３”を検索キーに用いて、記録部１０７に記録されたユーザ登録情報“ｚ’’＝８”を抽出する。
（１４）データアクセス時の具体例１の（１４）と同様。
【００７６】
（１５）ステップＳ１８において、秘密鍵復元部１１０が、（２）において生成されたユーザ秘密情報“ＵＬ（ｙ，ｘ）＝（１，１）”及び、（６）において抽出されたユーザ登録情報“ｚ＝２”を（式６）に代入して
２＝Ａ×１＋Ｂ・・・・・・・（式９）
を得、
（９）において生成されたユーザ秘密情報“ＵＮ（ｙ’’，ｘ’’）＝（３，３）”及び（１３）において抽出されたユーザ登録情報“ｚ’’＝８”を（式７）に代入して
８＝Ａ×３＋Ｂ・・・・・・・（式１０）
を得、
（式９）、（式１０）の連立方程式を解いて、秘密鍵“Ａ＝３”、秘密鍵“Ｂ＝−１”を復元する。
【００７７】
（１６）〜（１７）データアクセス時の具体例１の（１６）〜（１７）と同様。
（変形例）
本発明の実施の形態１のデータ処理システムは、ユーザ登録とデータアクセスとの両方を同一の装置が行っているが、本発明の変形例は、ユーザ登録を行うユーザ登録装置と、データアクセスを行うデータアクセス装置とが個々に独立した構成である。
【００７８】
図６は、本発明の変形例におけるユーザ登録装置の構成を示す図である。
ユーザ登録装置３００は、秘密鍵生成部３０１、入力受付部３０２、ユーザ秘密情報生成部３０３、チェック情報生成部３０４、ユーザ登録情報生成部３０５、登録部３０６、記録部３０７、データ処理部３０８、及び、第１消去部３０９から構成される。
【００７９】
図７は、本発明の変形例におけるデータアクセス装置の構成を示す図である。
データアクセス装置４００は、入力受付部４０１、ユーザ秘密情報生成部４０２、チェック情報生成部４０３、記録部４０４、認証部４０５、ユーザ登録情報抽出部４０６、秘密鍵復元部４０７、データ処理部４０８、及び、第２消去部４０９から構成される。
【００８０】
秘密鍵生成部３０１は、実施の形態１の秘密鍵生成部１０１と同様に、ユーザ登録を開始するまでに、データベース部５００にアクセスするために必要な秘密鍵を生成して保持する。
入力受付部３０２は、複数のユーザからそれぞれ、ユーザＩＤとパスワードとを受け付ける。
【００８１】
ユーザ秘密情報生成部３０３は、入力受付部３０２により受け付けられたユーザＩＤとパスワードとに所定の変換を施して、一意なユーザ秘密情報を生成する。
チェック情報生成部３０４は、ユーザ秘密情報生成部３０３により生成されたユーザ秘密情報にハッシュ演算を行い、ユーザＩＤ及びパスワードの正当性をチェックするために必要なチェック情報を生成する。
【００８２】
ユーザ登録情報生成部３０５は、実施の形態１のユーザ登録情報生成部１０５と同様に、ユーザ秘密情報生成部３０３により生成されたユーザ秘密情報に基づいて、秘密鍵生成部３０１により生成された秘密鍵を、ｋ個のユーザ秘密情報から秘密鍵を復元できるように（ｋ，ｎ）しきい値法に準じて分散することによって、ユーザ毎にユーザ登録情報を生成する。なお、ここで生成するユーザ毎のユーザ登録情報は、ユーザ毎のユーザ秘密情報と組み合わせることによって、秘密鍵を（ｋ，ｎ）しきい値法により分散符号化して生成される従来のユーザ毎の分散情報と同等となるものであり、当該分散情報とユーザ秘密情報との差分に相当する。ここでｋ，ｎは２以上の整数であり、ｋ≦ｎとする。
【００８３】
登録部３０６は、実施の形態１の登録部１０６と同様に、チェック情報生成部３０４により生成されたチェック情報と、ユーザ登録情報生成部３０５により生成されたユーザ毎のユーザ登録情報とを、対応するユーザＩＤと関連づけて、ユーザＩＤ、ユーザ登録情報、及び、チェック情報の組からなるユーザ毎のパスワードファイルを記録部３０７に記録することにより、各ユーザを登録する。
【００８４】
記録部３０７は、パスワードファイルを登録部３０６により記録される。
データ処理部３０８は、登録部３０６により登録されたユーザ数が、予め定められた全ユーザ数に達したと判断した後に、データベース部５００に対して、秘密鍵生成部３０１により生成された秘密鍵を使用しなければ、アクセスできないように設定する指示を出す。
【００８５】
第１消去部３０９は、実施の形態１の第１消去部１１２と同様に、データ処理部３０８によりデータベース部５００に対して前記指示が出された後に、秘密鍵生成部３０１により生成され保持されている秘密鍵を消去する。
入力受付部４０１は、複数のユーザからそれぞれ、ユーザＩＤとパスワードとを受け付ける。
【００８６】
ユーザ秘密情報生成部４０２は、入力受付部４０１により受け付けられたユーザＩＤとパスワードとに所定の変換を施して、一意なユーザ秘密情報を生成する。
チェック情報生成部４０３は、ユーザ秘密情報生成部４０２により生成されたユーザ秘密情報にハッシュ演算を行い、ユーザＩＤ及びパスワードの正当性をチェックするために必要なチェック情報を生成する。
【００８７】
記録部４０４は、記録部３０７に記録されたパスワードファイルが、記録媒体や通信路等を介してコピーされ記録されている。
認証部４０５は、実施の形態１の認証部１０８と同様に、入力受付部４０１により受け付けられたユーザＩＤを検索キーに用いて、記録部４０４に記録されたチェック情報を抽出し、チェック情報生成部４０３により生成されたチェック情報と照らし合わせて、ユーザＩＤ及びパスワードの正当性をチェックする。
【００８８】
ユーザ登録情報抽出部４０６は、実施の形態１のユーザ登録情報抽出部１０９と同様に、認証部４０５により正当なユーザであると認証されたときに、入力受付部４０１により受け付けられたユーザＩＤを検索キーに用いて、記録部４０４に記録されたユーザ登録情報を抽出する。
秘密鍵復元部４０７は、実施の形態１の秘密鍵復元部１１０と同様に、認証部４０５において正当であると認証されたユーザ数が、予め定められたしきい値に達したと判断したときに、ユーザ毎の、ユーザ秘密情報生成部４０２により生成されたユーザ秘密情報、及び、ユーザ登録情報抽出部４０６により抽出されたユーザ登録情報を用いて、秘密鍵を復元する。
【００８９】
データ処理部４０８は、秘密鍵復元部４０７により復元された秘密鍵を使用して、データベース部５００にアクセスする。
第２消去部４０９は、実施の形態１の第２消去部１１３と同様に、データ処理部４０８によりデータベース部５００にアクセスされた後に、秘密鍵復元部４０７により復元された秘密鍵を消去する。
【００９０】
データベース部５００は、ユーザ登録の際に、データ処理部３０８により出された前記指示を受取り当該指示に従い、また、データアクセスの際に、データ処理部４０８によるアクセスを受け付ける。
なお、ここではデータベース部５００は、ユーザ登録装置３００及びデータアクセス装置４００の外部に配置しているが、データベース部５００をユーザ登録装置３００及びデータアクセス装置４００の何れかに内蔵する構成でも構わない。
【００９１】
なお、ユーザ登録時の動作、データアクセス時の動作、及び、具体例等については、それぞれ実施の形態１と同様なので、説明を省略する。
（実施の形態２）
本発明の実施の形態１のデータ処理システムは、データベースにアクセスするために必要な秘密鍵を分散の対象としているが、本発明の実施の形態２のデータ処理システムは、暗号通信のために必要な秘密鍵を分散の対象としている。
【００９２】
図８は、本発明の実施の形態２におけるデータ処理システムの構成を示す図である。
図８に示すように実施の形態２のデータ処理システムは、データ処理装置６００、データ処理装置７００、データ処理装置８００、及び、ネットワークバス９００から構成される。
【００９３】
データ処理装置６００は、秘密鍵生成部６０１、入力受付部６０２、ユーザ秘密情報生成部６０３、チェック情報生成部６０４、ユーザ登録情報生成部６０５、登録部６０６、記録部６０７、認証部６０８、ユーザ登録情報抽出部６０９、秘密鍵復元部６１０、共有部６１１、暗号処理部６１２、データ通信部６１３、第１消去部６１４、及び、第２消去部６１５から構成される。
【００９４】
データ処理装置７００、データ処理装置８００の構成は、データ処理装置６００と同様である。
秘密鍵生成部６０１は、ユーザ登録を開始するまでに、暗号通信に必要な秘密鍵を生成して保持する。ここでは秘密鍵生成部６０１が乱数を秘密鍵として生成する。なお、ここでは秘密鍵を生成しているが、別の装置から予め与えられた秘密鍵を用いてもよい。
【００９５】
入力受付部６０２は、ユーザ登録、データ送信、及び、データ受信の際に、複数のユーザからそれぞれ、ユーザＩＤとパスワードとを受け付ける。
ユーザ秘密情報生成部６０３は、ユーザ登録、データ送信、及び、データ受信の際に、入力受付部６０２により受け付けられたユーザＩＤとパスワードとに所定の変換を施して、一意なユーザ秘密情報を生成する。
【００９６】
ユーザ秘密情報の例は実施の形態１と同様である。
チェック情報生成部６０４は、ユーザ登録、データ送信、及び、データ受信の際に、ユーザ秘密情報生成部６０３により生成されたユーザ秘密情報にハッシュ演算を行い、ユーザＩＤ及びパスワードの正当性をチェックするために必要なチェック情報を生成する。
【００９７】
ユーザ登録情報生成部６０５は、ユーザ登録の際に、ユーザ秘密情報生成部６０３により生成されたユーザ秘密情報に基づいて、秘密鍵生成部６０１により生成された秘密鍵を、ｋ個のユーザ秘密情報から秘密鍵を復元できるように（ｋ，ｎ）しきい値法に準じて分散することによって、ユーザ毎にユーザ登録情報を生成する。なお、ここで生成するユーザ毎のユーザ登録情報は、ユーザ毎のユーザ秘密情報と組み合わせることによって、秘密鍵を（ｋ，ｎ）しきい値法により分散符号化して生成される従来のユーザ毎の分散情報と同等となるものであり、当該分散情報とユーザ秘密情報との差分に相当する。ここでｋ，ｎは２以上の整数であり、ｋ≦ｎとする。
【００９８】
登録部６０６は、チェック情報生成部６０４により生成されたチェック情報と、ユーザ登録情報生成部６０５により生成されたユーザ毎のユーザ登録情報とを、対応するユーザＩＤと関連づけて、ユーザＩＤ、ユーザ登録情報、及び、チェック情報の組からなるユーザ毎のパスワードファイルを記録部６０７に記録することにより、各ユーザを登録する。
【００９９】
記録部６０７は、ユーザ登録の際に、パスワードファイルを登録部６０６により記録される。
認証部６０８は、データ送信、及び、データ受信の際に、入力受付部６０２により受け付けられたユーザＩＤを検索キーに用いて、記録部６０７に記録されたチェック情報を抽出し、チェック情報生成部６０４により生成されたチェック情報と照らし合わせて、ユーザＩＤ及びパスワードの正当性をチェックする。
【０１００】
ユーザ登録情報抽出部６０９は、データ送信、及び、データ受信の際に、認証部６０８により正当なユーザであると認証されたときに、入力受付部６０２により受け付けられたユーザＩＤを検索キーに用いて、記録部６０７に記録されたユーザ登録情報を抽出する。
秘密鍵復元部６１０は、データ送信、及び、データ受信の際に、認証部６０８において正当であると認証されたユーザ数が、予め定められたしきい値に達したと判断したときに、ユーザ毎の、ユーザ秘密情報生成部６０３により生成されたユーザ秘密情報、及び、ユーザ登録情報抽出部６０９により抽出されたユーザ登録情報を用いて、秘密鍵を復元する。
【０１０１】
共有部６１１は、ユーザ登録の際に、登録部６０６により登録されたユーザ数が、予め定められた全ユーザ数に達したと判断した後に、記録部６０７に記録されたパスワードファイルを、記録媒体や通信路等を介してデータ処理装置７００、及び、データ処理装置８００に渡して、パスワードファイルを共有させる。
暗号処理部６１２は、データ送信の際に、秘密鍵復元部６１０により復元された秘密鍵を使用して、送信すべきデータを暗号化し、また、データ受信の際に、秘密鍵復元部６１０により復元された秘密鍵を使用して、受信したデータを復号する。
【０１０２】
データ通信部６１３は、データ送信の際に、暗号処理部６１２により暗号化されたデータを、ネットワークバス９００を介して、データ処理装置７００又はデータ処理装置８００に送信し、また、データ受信の際に、暗号化されたデータを、ネットワークバス９００を介して、データ処理装置７００又はデータ処理装置８００から受信する。
【０１０３】
第１消去部６１４は、ユーザ登録の際に、登録部６０６により登録されたユーザ数が、予め定められた全ユーザ数に達したと判断した後に、秘密鍵生成部６０１により生成され保持されている秘密鍵を消去する。
第２消去部６１５は、データ送信、及び、データ受信の際に、データ通信部６１３により暗号化又は復号がされた後に、秘密鍵復元部６１０により復元された秘密鍵を消去する。
【０１０４】
ネットワークバス９００は、各データ処理装置を結ぶ通信路である。
（ユーザ登録時の動作）
図９は、本発明の実施の形態２におけるデータ処理システムによるユーザ登録時の動作の手順を示す図である。
以下に、ユーザ登録時の動作の手順を説明する。
【０１０５】
（１）秘密鍵生成部６０１が、秘密鍵Ａ、Ｂを生成する（ステップＳ２１）。
（２）入力受付部６０２が、ユーザから、ユーザＩＤとパスワードとを受け付ける（ステップＳ２２）。
（３）ユーザ秘密情報生成部６０３が、ステップＳ２２において受け付けたユーザＩＤとパスワードとに所定の変換を施して、一意なユーザ秘密情報を生成する（ステップＳ２３）。
【０１０６】
（４）チェック情報生成部６０４が、ステップＳ２３において生成されたユーザ秘密情報にハッシュ演算を行い、チェック情報を生成する（ステップＳ２４）。
（５）ユーザ登録情報生成部６０５が、ステップＳ２３において生成されたユーザ秘密情報に基づいて、ステップＳ２１において生成された秘密鍵を、ｋ個のユーザ秘密情報から秘密鍵を復元できるように（ｋ，ｎ）しきい値法に準じて分散することによって、ユーザ登録情報を生成する（ステップＳ２５）。
【０１０７】
（６）登録部６０６が、ステップＳ２５において生成されたユーザ登録情報と、ステップＳ２４において生成されたチェック情報とを、対応するユーザＩＤと関連づけて、ユーザＩＤ、ユーザ登録情報、及び、チェック情報の組からなるユーザ毎のパスワードファイルを記録部６０７に記録する（ステップＳ２６）。
（７）登録部６０６が、ユーザ数がｎに達したか否かを判断する。ｎに達していない場合には、他のユーザＩＤとパスワードとを受け付ける処理に戻る（ステップＳ２７）。
【０１０８】
（８）ユーザ数がｎに達したときは、共有部６１１が、記録部６０７に記録されたパスワードファイルを、データ処理装置７００、及び、データ処理装置８００と共有させる（ステップＳ２８）。
（９）第１消去部６１４が、ステップＳ２１において生成された秘密鍵を消去する（ステップＳ２９）。
【０１０９】
（データ送信時の動作）
図１０は、本発明の実施の形態２におけるデータ処理システムによるデータ送信時の動作の手順を示す図である。
以下に、データ送信時の動作の手順を説明する。
（１）入力受付部６０２が、ユーザから、ユーザＩＤとパスワードとを受け付ける（ステップＳ３１）。
【０１１０】
（２）ユーザ秘密情報生成部６０３が、ステップＳ３１において受け付けたユーザＩＤとパスワードとに所定の変換を施して、一意なユーザ秘密情報を生成する（ステップＳ３２）。
（３）チェック情報生成部６０４が、ステップＳ３２において生成されたユーザ秘密情報にハッシュ演算を行い、チェック情報を生成する（ステップＳ３３）。
【０１１１】
（４）認証部６０８が、ステップＳ３１において受け付けられたユーザＩＤを検索キーに用いて、記録部６０７に記録されたチェック情報を抽出する（ステップＳ３４）。
（５）認証部６０８が、ステップＳ３３において生成されたチェック情報と
ステップＳ３４において抽出されたチェック情報とを照らし合わせて、ユーザＩＤ及びパスワードの正当性をチェックする。２つのチェック情報の値が等しければユーザＩＤ及びパスワードは正当なものとしてユーザ登録情報を抽出する処理ひ進み、２つのチェック情報の値が等しくなければユーザＩＤ及びパスワードは不当なものとして、他のユーザＩＤとパスワードとを受け付ける処理に戻る（ステップＳ３５）。
【０１１２】
（６）ユーザＩＤ及びパスワードが正当なものとして認証された場合に、ユーザ登録情報抽出部６０９が、ステップＳ３１において受け付けられたユーザＩＤを検索キーに用いて、記録部６０７に記録されたユーザ登録情報を抽出する（ステップＳ３６）。
（７）秘密鍵復元部６１０が、ユーザ数がｋに達したか否かを判断する。ｋに達していない場合には、他のユーザＩＤとパスワードとを受け付ける処理に戻る（ステップＳ３７）。
【０１１３】
（８）ユーザ数がｋに達したときは、秘密鍵復元部６１０が、ステップＳ３２において生成されたｋ個のユーザ秘密情報、及び、ステップＳ３６において抽出されたｋ個のユーザ登録情報を用いて、秘密鍵を復元する（ステップＳ３８）。
（９）暗号処理部６１２が、ステップＳ３８により復元された秘密鍵を使用して、送信すべきデータを暗号化し、データ通信部６１３が、暗号化されたデータを、ネットワークバス９００を介して、データ処理装置７００又はデータ処理装置８００に送信する（ステップＳ３９）。
【０１１４】
（１０）第２消去部６１５が、ステップＳ３８において復元された秘密鍵を消去する（ステップＳ４０）。
（データ受信時の動作）
図１１は、本発明の実施の形態２におけるデータ処理システムによるデータ受信時の動作の手順を示す図である。
【０１１５】
以下に、データ受信時の動作の手順を説明する。
なお、データ送信時の動作と同様なステップには同一番号を付し、説明を省略する。
（１）〜（８）データ送信時の（１）〜（８）と同じ。
（９）データ通信部６１３が、暗号化されたデータを、通信路９００を介して、データ処理装置７００又はデータ処理装置８００から受信し、暗号処理部６１２が、ステップＳ４８により復元された秘密鍵を使用して、受信したデータを復号する（ステップＳ４１）。
【０１１６】
（１０）データ送信時の（１０）と同じ。
なお、具体例については、実施の形態１に準ずるので、説明を省略する。
以上のように、本発明の各実施の形態のデータ処理システムは、ユーザ登録時にはｎ人のユーザからユーザＩＤ及び各ユーザがそれぞれ自由に設定することが出来るパスワードを受け付けこれらに基づいて、秘密鍵を分散してユーザ登録情報を作成して記憶し、データアクセス時や暗号通信時にはｋ人のユーザからユーザＩＤ及びパスワードを受け付けてこれら、及び記憶しておいたユーザ登録情報を用いて秘密鍵を復元する。
【０１１７】
これにより、各ユーザはそれぞれが憶えやすいパスワードを設定することにより、パスフレーズとして自身の記憶の中に留めておくことが容易になるので、なんらかの記録媒体に記録する必要がない。
たとえ、パスワード以外の他の情報の全てをある装置に接続された記録媒体に記録し、第三者からの装置に対するアタックにより他の情報の全てが漏洩したとしても、パスワードがなければ秘密鍵を復元することはできないので、各ユーザが憶えやすいパスワードを憶えておくだけで、高い安全性を得ることができる。
【０１１８】
また、コンピュータに本発明の実施の形態のような動作を実行させることができるプログラムが、コンピュータ読み取り可能な記録媒体に記録されて流通したり、ネットワークで直接転送されたりして、取り引きの対象となりうる。
ここでコンピュータ読み取り可能な記録媒体とは、例えば、フレキシブルディスク、ＣＤ、ＭＯ、ＤＶＤ、メモリーカード等の着脱可能な記録媒体、ハードディスク、半導体メモリ等の固定記録媒体等であり、特に限定されるものではない。
【０１１９】
【発明の効果】
本発明に係るデータ処理装置は、秘密情報を（ｋ，ｎ）しきい値法により分散符号化するデータ処理装置であって、ここでｋ，ｎは２以上の整数、ｋ≦ｎとし、秘密情報を入手して保持する保持手段と、ユーザ登録の際にｎ人のユーザからそれぞれユーザ毎にユニークなユーザＩＤと各ユーザが決定したパスワードとを受け付ける受付手段と、受付手段によりそれぞれのユーザから受け付けたユーザＩＤとパスワードとからユーザ毎に一意に決定されるユーザ情報を生成するユーザ情報生成手段と、保持手段により保持された秘密情報を（ｋ，ｎ）しきい値法により分散符号化して生成されるユーザ毎の分散情報とユーザ毎のユーザ情報との差分に相当するユーザ毎の登録情報を生成し当該ユーザ毎の登録情報を対応するユーザＩＤと関連づけて記録することにより各ユーザを登録する登録手段と、ｎ人のユーザが登録手段により登録された後で保持手段により保持されている秘密情報を消去する消去手段とを備えることを特徴とする。
【０１２０】
本発明に係るデータ処理方法は、秘密情報を（ｋ，ｎ）しきい値法により分散符号化するデータ処理方法であって、ここでｋ，ｎは２以上の整数、ｋ≦ｎとし、秘密情報を入手して保持する保持ステップと、ユーザ登録の際にｎ人のユーザからそれぞれユーザ毎にユニークなユーザＩＤと各ユーザが決定したパスワードとを受け付ける受付ステップと、受付ステップによりそれぞれのユーザから受け付けたユーザＩＤとパスワードとからユーザ毎に一意に決定されるユーザ情報を生成するユーザ情報生成ステップと、保持ステップにより保持された秘密情報を（ｋ，ｎ）しきい値法により分散符号化して生成されるユーザ毎の分散情報とユーザ毎のユーザ情報との差分に相当するユーザ毎の登録情報を生成し当該ユーザ毎の登録情報を対応するユーザＩＤと関連づけて記録することにより各ユーザを登録する登録ステップと、ｎ人のユーザが登録ステップにより登録された後で保持ステップにより保持された秘密情報を消去する消去ステップとを含むことを特徴とする。
【０１２１】
本発明に係るデータ処理プログラムは、秘密情報を（ｋ，ｎ）しきい値法により分散符号化する各ステップをコンピュータに実行させるデータ処理プログラムであって、ここでｋ，ｎは２以上の整数、ｋ≦ｎとし、秘密情報を入手して保持する保持ステップと、ユーザ登録の際にｎ人のユーザからそれぞれユーザ毎にユニークなユーザＩＤと各ユーザが決定したパスワードとを受け付ける受付ステップと、受付ステップによりそれぞれのユーザから受け付けたユーザＩＤとパスワードとからユーザ毎に一意に決定されるユーザ情報を生成するユーザ情報生成手段と、保持ステップにより保持された秘密情報を（ｋ，ｎ）しきい値法により分散符号化して生成されるユーザ毎の分散情報とユーザ毎のユーザ情報との差分に相当するユーザ毎の登録情報を生成し当該ユーザ毎の登録情報を対応するユーザＩＤと関連づけて記録することにより各ユーザを登録する登録ステップと、ｎ人のユーザが登録ステップにより登録された後で保持ステップにより保持された秘密情報を消去する消去ステップとをコンピュータに実行させる。
【０１２２】
これらによって、各ユーザはそれぞれが憶えやすいパスワードを設定することにより、パスフレーズとして自身の記憶の中に留めておくことが容易になる。
従って、各ユーザが憶えやすいパスワードを憶えておけば、記録媒体に記録された情報が漏洩したとしても、しきい値法により分散された秘密情報は復元されないので、安全性が高い。
【０１２３】
また、データ処理装置は、さらに、前記受付手段によりそれぞれのユーザから受け付けたパスワードに所定の一方向関数を施してチェック情報を生成するチェック情報生成手段を備え、前記登録手段は、さらに、各ユーザを登録するに際してチェック情報生成手段により生成されたチェック情報を対応するユーザＩＤと関連づけて記録することを特徴とすることもできる。
【０１２４】
これによって、ユーザ登録の際にチェック情報を生成して記録するので、データアクセスの際にパスワードの正当性をチェックすることができる。
また、このチェック情報はパスワードに一方向関数を施して生成するので、チェック情報が漏洩したとしても、元のパスワードが復元される危険がない。
また、データ処理装置において、前記ユーザ情報生成手段は、前記受付手段によりそれぞれのユーザから受け付けたユーザＩＤとパスワードとの間に前記受付手段により受け付けできない値を含む固定値を挿入してユーザＩＤとパスワードとを結合することによりユーザ毎にユーザ情報を生成することを特徴とすることもできる。
【０１２５】
これによって、ユーザ情報が受付手段により受け付けできない値をユーザＩＤとパスワードの間に挿入することにより、ユーザＩＤとパスワードとの境目が特定されるので、ユーザＩＤが一意である場合において、パスワードとユーザＩＤとを単に組み合わせたものが偶然に同一の値になる場合がなく、ユーザＩＤとパスワードからユーザ情報が一意に決定される。
【０１２６】
また、データ処理装置において、前記ユーザ情報生成手段は、前記受け付けできない値としてバックスペース(0x08)、又は、キャリッジリターン(0x0d)を含む固定値を挿入することを特徴とすることもできる。
これによって、前記固定値がバックスペース(0x08)、又は、キャリッジリターン(0x0d)を含むので、ユーザＩＤとパスワードとの境目が容易に判断できる。
【０１２７】
また、データ処理装置において、前記ユーザ情報生成手段は、前記受付手段によりそれぞれのユーザから受け付けたユーザＩＤ、及び、パスワードの何れか一方に所定の変換を施して前記受付手段により受け付けできない値に変換し他方と結合することによりユーザ毎にユーザ情報を生成することを特徴とすることもできる。
【０１２８】
これによって、ユーザＩＤ、及び、パスワードの何れか一方を、受付手段により受け付けできない値に変換することにより、ユーザＩＤとパスワードとの境目が特定されるので、ユーザＩＤが一意である場合において、パスワードとユーザＩＤとを単に組み合わせたものが偶然に同一の値になる場合がなく、ユーザＩＤとパスワードからユーザ情報が一意に決定される。
【０１２９】
また、データ処理装置において、前記ユーザ情報生成手段は、前記ユーザＩＤ、及び、前記パスワードの何れか一方をバックスペース(0x08)、又は、キャリッジリターン(0x0d)を含む値に変換することを特徴とすることもできる。
これによって、ユーザＩＤ、及び、パスワードの何れか一方が、バックスペース(0x08)、又は、キャリッジリターン(0x0d)を含む値に変換されるので、ユーザＩＤとパスワードとの境目が容易に判断できる。
【０１３０】
本発明に係るデータ処理装置は、（ｋ，ｎ）しきい値法により分散符号化された情報に基づいて秘密情報を復元するデータ処理装置であって、ここでｋ，ｎは２以上の整数、ｋ≦ｎとし、秘密情報を復元する際にｋ人のユーザからそれぞれユーザ毎にユニークなユーザＩＤと各ユーザが任意に決定したパスワードとを受け付ける受付手段と、受付手段によりそれぞれのユーザから受け付けたユーザＩＤとパスワードとからユーザ毎に一意に決定されるユーザ情報を生成するユーザ情報生成手段と、前記秘密情報を（ｋ，ｎ）しきい値法により分散符号化して生成されるユーザ毎の分散情報とユーザ毎のユーザ情報との差分に相当するユーザ毎の登録情報が対応するユーザＩＤと関連づけられてｎ人分記憶されている記憶手段と、記憶手段に記憶された登録情報のうち受付手段により受け付けられたユーザＩＤに関連づけられている登録情報を抽出する抽出手段と、抽出手段によりｋ人分の登録情報が抽出された後で当該ｋ人分の登録情報とユーザ情報生成手段により生成されたｋ人分のユーザ情報とを用いて前記秘密情報を復元する復元手段とを備えることを特徴とする。
【０１３１】
本発明に係るデータ処理方法は、（ｋ，ｎ）しきい値法により分散符号化された情報に基づいて秘密情報を復元するデータ処理装置におけるデータ処理方法であって、ここでｋ，ｎは２以上の整数、ｋ≦ｎとし、前記データ処理装置は前記秘密情報を（ｋ，ｎ）しきい値法により分散符号化して生成されるユーザ毎の分散情報と各ユーザ情報との差分に相当するユーザ毎の登録情報が対応するユーザＩＤと関連づけられてｎ人分記憶されている記憶手段を備え、当該データ処理方法は、秘密情報を復元する際にｋ人のユーザからそれぞれユーザ毎にユニークなユーザＩＤとユーザ毎のユーザが任意に決定したパスワードとを受け付ける受付ステップと、受付ステップによりそれぞれのユーザから受け付けたユーザＩＤとパスワードとからユーザ毎に一意に決定されるユーザ情報を生成するユーザ情報生成ステップと、前記記憶手段に記憶された登録情報のうち受付ステップにより受け付けられたユーザＩＤに関連づけられている登録情報を抽出する抽出ステップと、抽出ステップによりｋ人分の登録情報が抽出された後で当該ｋ人分の登録情報とユーザ情報生成ステップにより生成されたｋ人分のユーザ情報とを用いて前記秘密情報を復元する復元ステップとを含むことを特徴とする。
【０１３２】
本発明に係るデータ処理プログラムは、（ｋ，ｎ）しきい値法により分散符号化された情報に基づいて秘密情報を復元する各ステップをデータ処理装置に実行させるデータ処理プログラムであって、ここでｋ，ｎは２以上の整数、ｋ≦ｎとし、前記データ処理装置は前記秘密情報を（ｋ，ｎ）しきい値法により分散符号化して生成されるユーザ毎の分散情報とユーザ毎のユーザ情報との差分に相当するユーザ毎の登録情報が対応するユーザＩＤと関連づけられてｎ人分記憶されている記憶手段を備え、秘密情報を復元する際にｋ人のユーザからそれぞれユーザ毎にユニークなユーザＩＤと各ユーザが任意に決定したパスワードとを受け付ける受付ステップと、受付ステップによりそれぞれのユーザから受け付けたユーザＩＤとパスワードとからユーザ毎に一意に決定されるユーザ情報を生成するユーザ情報生成ステップと、前記記憶手段に記憶された登録情報のうち受付ステップにより受け付けられたユーザＩＤに関連づけられている登録情報を抽出する抽出ステップと、抽出ステップによりｋ人分の登録情報が抽出された後で当該ｋ人分の登録情報とユーザ情報生成ステップにより生成されたｋ人分のユーザ情報とを用いて前記秘密情報を復元する復元ステップとをコンピュータに実行させることを特徴とする。
【０１３３】
これらによって、各ユーザがそれぞれが憶えやすいパスワードを設定して記憶しておき、ｋ人のユーザがそれぞれユーザＩＤとパスワードとを入力することにより、秘密情報を復元することができる。
従って、各ユーザが憶えやすいパスワードを憶えておけば、記録媒体に記録された情報が漏洩したとしても、しきい値法により分散された秘密情報は復元されないので、安全性が高い。
【０１３４】
また、データ処理装置は、さらに、前記復元手段により復元された秘密情報を用いてデータ処理を行うデータ処理手段と、データ処理手段によりデータ処理が行われた後に秘密情報を消去する消去手段とを備えることを特徴とすることもできる。
これによって、データ処理が行われた後には秘密情報が残らないので、安全性が高い。
【０１３５】
また、データ処理装置において、前記記憶手段は、さらに、パスワードに所定の一方向関数を施して生成されたチェック情報を対応するユーザＩＤと関連づけて記録しており、前記抽出手段は、さらに、記憶手段に記憶されたチェック情報のうち前記受付手段により受け付けられたユーザＩＤに関連づけられているチェック情報を抽出し、当該データ処理装置は、さらに、前記受付手段によりそれぞれのユーザから受け付けたパスワードに前記所定の一方向関数を施して、チェック情報を生成するチェック情報生成手段と、抽出手段により抽出されたチェック情報とチェック情報生成手段により生成されたチェック情報とが一致する場合にパスワードが正当であると認証する認証手段とを備え、前記復元手段は、前記秘密情報を復元する際して認証手段により正当であると認証されなかったパスワードに対応するユーザ情報を用いないことを特徴とすることもできる。
【０１３６】
これによって、秘密情報を復元する際に、記録しているチェック情報に基づいてパスワードの正当性をチェックすることができる。
また、チェック情報はパスワードに一方向関数を施して生成されるものなので、記録しているチェック情報が漏洩したとしても、元のパスワードが復元される危険がない。
【０１３７】
また、データ処理装置において、前記ユーザ情報生成手段は、前記受付手段によりそれぞれのユーザから受け付けたユーザＩＤとパスワードとの間に受付手段により受け付けできない値を含む固定値を挿入してユーザＩＤとパスワードとを結合することによりユーザ毎にユーザ情報を生成することを特徴とすることもできる。
【０１３８】
これによって、ユーザ情報が受付手段により受け付けできない値をユーザＩＤとパスワードの間に挿入することにより、ユーザＩＤとパスワードとの境目が特定されるので、ユーザＩＤが一意である場合において、パスワードとユーザＩＤとを単に組み合わせたものが偶然に同一の値になる場合がなく、ユーザＩＤとパスワードからユーザ情報が一意に決定される。
【０１３９】
また、データ処理装置において、前記ユーザ情報生成手段は、前記受け付けできない値としてバックスペース(0x08)、又は、キャリッジリターン(0x0d)を含む固定値を挿入することを特徴とすることもできる。
これによって、前記固定値がバックスペース(0x08)、又は、キャリッジリターン(0x0d)を含むので、ユーザＩＤとパスワードとの境目が容易に判断できる。
【０１４０】
また、データ処理装置において、前記ユーザ情報生成手段は、前記受付手段によりそれぞれのユーザから受け付けたユーザＩＤ、及び、パスワードの何れか一方に予め備えている所定の変換を施して受付手段により受け付けできない値に変換し他方と結合することによりユーザ毎にユーザ情報を生成することを特徴とすることもできる。
【０１４１】
これによって、ユーザＩＤ、及び、パスワードの何れか一方を、受付手段により受け付けできない値に変換することにより、ユーザＩＤとパスワードとの境目が特定されるので、ユーザＩＤが一意である場合において、パスワードとユーザＩＤとを単に組み合わせたものが偶然に同一の値になる場合がなく、ユーザＩＤとパスワードからユーザ情報が一意に決定される。
【０１４２】
また、データ処理装置において、前記ユーザ情報生成手段は、前記ユーザＩＤ、及び、前記パスワードの何れか一方をバックスペース(0x08)、又は、キャリッジリターン(0x0d)を含む値に変換することを特徴とすることもできる。
これによって、ユーザＩＤ、及び、パスワードの何れか一方が、バックスペース(0x08)、又は、キャリッジリターン(0x0d)を含む値に変換されるので、ユーザＩＤとパスワードとの境目が容易に判断できる。
【図面の簡単な説明】
【図１】本発明の実施の形態１におけるデータ処理システムの構成を示す図である。
【図２】図２（ａ）〜（ｅ）は、ユーザ秘密情報生成部１０３により生成されるユーザ秘密情報の例を示す図である。
【図３】記録部１０７に記録されたユーザ毎のパスワードファイルの一例を示す図である。
【図４】本発明の実施の形態１におけるデータ処理システムによるユーザ登録時の動作の手順を示す図である。
【図５】本発明の実施の形態１におけるデータ処理システムによるデータアクセス時の動作の手順を示す図である。
【図６】本発明の変形例におけるユーザ登録装置の構成を示す図である。
【図７】本発明の変形例におけるデータアクセス装置の構成を示す図である。
【図８】本発明の実施の形態２におけるデータ処理システムの構成を示す図である。
【図９】本発明の実施の形態２におけるデータ処理システムによるユーザ登録時の動作の手順を示す図である。
【図１０】本発明の実施の形態２におけるデータ処理システムによるデータ送信時の動作の手順を示す図である。
【図１１】本発明の実施の形態２におけるデータ処理システムによるデータ受信時の動作の手順を示す図である。
【符号の説明】
１００    データ処理装置
１０１    秘密鍵生成部
１０２    入力受付部
１０３    ユーザ秘密情報生成部
１０４    チェック情報生成部
１０５    ユーザ登録情報生成部
１０６    登録部
１０７    記録部
１０８    認証部
１０９    ユーザ登録情報抽出部
１１０    秘密鍵復元部
１１１    データ処理部
１１２    第１消去部
１１３    第２消去部
２００    データベース部
３００    ユーザ登録装置
３０１    秘密鍵生成部
３０２    入力受付部
３０３    ユーザ秘密情報生成部
３０４    チェック情報生成部
３０５    ユーザ登録情報生成部
３０６    登録部
３０７    記録部
３０８    データ処理部
３０９    第１消去部
４００    データアクセス装置
４０１    入力受付部
４０２    ユーザ秘密情報生成部
４０３    チェック情報生成部
４０４    記録部
４０５    認証部
４０６    ユーザ登録情報抽出部
４０７    秘密鍵復元部
４０８    データ処理部
４０９    第２消去部
５００    データベース部
６００    データ処理装置
６０１    秘密鍵生成部
６０２    入力受付部
６０３    ユーザ秘密情報生成部
６０４    チェック情報生成部
６０５    ユーザ登録情報生成部
６０６    登録部
６０７    記録部
６０８    認証部
６０９    ユーザ登録情報抽出部
６１０    秘密鍵復元部
６１１    共有部
６１２    暗号処理部
６１３    データ通信部
６１４    第１消去部
６１５    第２消去部
７００    データ処理装置
８００    データ処理装置
９００    ネットワークバス
【図１】
0004350961.tif 000002
【図２】
0004350961.tif 000003
【図３】
0004350961.tif 000004
【図４】
0004350961.tif 000005
【図５】
0004350961.tif 000006
【図６】
0004350961.tif 000007
【図７】
0004350961.tif 000008
【図８】
0004350961.tif 000009
【図９】
0004350961.tif 000010
【図１０】
0004350961.tif 000011
【図１１】
0004350961.tif 000012