(57)【要約】  本発明の情報処理装置は、分散された認証情報を、それらを個別に保管している各装置から、システムに含まれるいずれか１つの装置に集めることなく認証する。その情報処理装置は、あらかじめ保存する、認証に際して照合される一方の情報であるマスター認証情報が秘密分散法によって分散された分散マスター認証情報の１つと、通信を介して接続される第１の情報処理装置から受信した、認証に際して照合される他方の情報である認証情報が秘密分散法によって分散された分散認証情報の１つとに基づいて、他の第２の情報処理装置との間における通信を介する秘密計算を実行することによって、認証情報がマスター認証情報と一致するかどうかを判定する秘密計算部と、判定の結果に応じて所定の処理を実行する処理実行部とを備える。
2017033442.tif 000002
【特許請求の範囲】
【請求項１】
あらかじめ保存する、認証に際して照合される一方の情報であるマスター認証情報が秘密分散法によって分散された分散マスター認証情報の１つと、
通信を介して接続される第１の情報処理装置から受信した、前記認証に際して照合される他方の情報である認証情報が秘密分散法によって分散された分散認証情報の１つとに基づいて、
他の第２の情報処理装置との間における通信を介する秘密計算を実行することによって、前記認証情報が前記マスター認証情報と一致するかどうかを判定する秘密計算手段と、
前記判定の結果に応じて所定の処理を実行する処理実行手段と
を含む第２の情報処理装置。
【請求項２】
前記第１の情報処理装置から、受信した前記分散マスター認証情報の１つを記憶装置に保存する登録手段を、さらに含み、
前記秘密計算手段は、前記記憶装置から読み出した前記分散マスター認証情報の１つに基づいて、前記秘密計算を実行する
請求項１記載の第２の情報処理装置。
【請求項３】
前記登録手段は、前記第１の情報処理装置から、あらかじめ預かっておく情報である預かり情報を受信し、受信した前記預かり情報を記憶装置に保存し、
前記処理実行手段は、前記判定の結果が、前記認証情報と前記マスター認証情報とが一致したことを表す認証成功である場合に、前記所定の処理として、前記預かり情報を、前記第１の情報処理装置に対して送信する
請求項２記載の第２の情報処理装置。
【請求項４】
前記マスター認証情報は、第１の文字列に基づくハッシュ値であり、
前記認証情報は、第２の文字列に基づくハッシュ値であり、
前記秘密計算手段は、ハッシュの計算を行う秘密計算と、一致の判定を行う秘密計算とを組み合わせることにより、前記認証情報が前記マスター認証情報と一致するかどうかを判定する
請求項１乃至３のいずれか１つに記載の第２の情報処理装置。
【請求項５】
前記マスター認証情報は、文字列を含むマスターパスワードであり、
前記認証情報は前記第１の情報処理装置に対して入力された文字列を含むパスワードである
請求項１乃至４のいずれか１つに記載の第２の情報処理装置。
【請求項６】
前記預かり情報は、前記第１の情報処理装置における暗号処理に係るソルト情報が秘密分散法によって分散された情報の１つである
請求項３乃至５のいずれか１つに記載の第２の情報処理装置。
【請求項７】
複数の、請求項１乃至６のいずれか１つに記載の第２の情報処理装置を含むシステムに接続される第１の情報処理装置において、
入力された第１の入力情報に基づく認証情報を、秘密分散法によって複数の分散認証情報に分散する秘密分散手段と、
前記複数の第２の情報処理装置に対して、前記各分散認証情報を分散するように送信する通信制御手段と
を含む第１の情報処理装置。
【請求項８】
入力された第２の入力情報に基づいて前記マスター認証情報を生成し、前記第１の入力情報に基づいて前記認証情報を生成する認証情報生成手段を、さらに含み、
前記秘密分散手段は、生成された前記マスター認証情報を、秘密分散法によって複数の分散マスター認証情報に分散する処理をさらに行い、
前記通信制御手段は、前記複数の第２の情報処理装置に対して、前記各分散マスター認証情報を分散するように送信する処理をさらに行う
請求項７記載の第１の情報処理装置。
【請求項９】
前記認証情報生成手段は、前記第２の入力情報に基づくハッシュ値を前記マスター認証情報として生成し、前記第１の入力情報に基づくハッシュ値を前記認証情報として生成する
請求項８記載の第１の情報処理装置。
【請求項１０】
前記秘密分散手段は、入力された第３の入力情報を、秘密分散法によって複数の前記預かり情報として分散する処理をさらに行い、
前記通信制御手段は、さらに、前記複数の第２の情報処理装置に対して、前記各預かり情報を分散するように送信し、前記複数の第２の情報処理装置から前記各預かり情報を受信し、
受信した複数の前記預かり情報を、秘密分散法によって、前記第３の入力情報に復元し、復元した前記第３の入力情報を出力する秘密復元手段を、さらに含む
請求項７乃至９のいずれか１つに記載の第１の情報処理装置。
【請求項１１】
前記復元された第３の入力情報に基づいて暗号鍵を生成し、入力された第４の入力情報を前記暗号鍵を用いて暗号化する暗号化手段を、さらに含み、
前記通信制御手段は、さらに、前記暗号化された第４の入力情報を、第３の情報処理装置に対して送信し、前記複数の第２の情報処理装置から前記預かり情報を受信した場合に、前記第３の情報処理装置から前記暗号化された第４の入力情報を受信し、
前記復元された第３の入力情報に基づいて、復号鍵を生成し、受信した前記暗号化された第４の入力情報を、前記復号鍵によって、前記第４の入力情報に復号し、復号した前記第４の入力情報を出力する復号手段を、さらに含む
請求項１０記載の第１の情報処理装置。
【請求項１２】
前記第１の入力情報は、認証に際して入力された文字列を含むパスワードである
請求項７乃至１１のいずれか１つに記載の第１の情報処理装置。
【請求項１３】
前記第２の入力情報は、認証より前に入力された文字列を含むマスターパスワードである
請求項８乃至１２のいずれか１つに記載の第１の情報処理装置。
【請求項１４】
前記第３の入力情報は、サービスにアクセスする際に使用される情報であるサービスアクセス情報である
請求項１０、１２、または１３のいずれか１つに記載の第１の情報処理装置。
【請求項１５】
前記第３の入力情報は、前記暗号鍵および前記復号鍵の生成に用いられるソルト情報であり、
前記第４の入力情報は、サービスにアクセスする際に使用される情報であるサービスアクセス情報である
請求項１１乃至１３のいずれか１つに記載の第１の情報処理装置。
【請求項１６】
請求項７乃至１５のいずれか１つに記載の第１の情報処理装置と、
前記第１の情報処理装置と接続される請求項１乃至６のいずれか１つに記載の複数の第２の情報処理装置とを含む認証システム。
【請求項１７】
前記第１の情報処理装置として、請求項１１または１５記載の第１の情報処理装置を含み、
さらに、前記第３の情報処理装置を含む
請求項１６記載の認証システム。
【請求項１８】
第１の情報処理装置に対して入力された第１の入力情報に基づく認証情報を、秘密分散法によって複数の分散認証情報に分散し、
認証に際して照合される情報であるマスター認証情報が秘密分散法によって分散された情報である各分散マスター認証情報を分散してあらかじめ保存する、複数の第２の情報処理装置に対して、前記第１の情報処理装置から、前記各分散認証情報を分散するように送信し、
前記第１の情報処理装置から受信した前記分散認証情報と、前記分散マスター認証情報とに基づいて、前記複数の第２の情報処理装置の少なくとも一部の装置間における通信を介する秘密計算を実行することによって、前記認証情報が前記マスター認証情報と一致するかどうかを判定し、
前記秘密計算を実行した前記複数の第２の情報処理装置の少なくとも１つが、前記判定の結果に応じて所定の処理を実行する
認証方法。
【請求項１９】
前記第１の情報処理装置に対して入力された第２の入力情報に基づいて前記マスター認証情報を、さらに生成し、
前記マスター認証情報を、秘密分散法によって複数の分散マスター認証情報に、さらに分散し、
前記複数の第２の情報処理装置に対して、前記第１の情報処理装置から、前記各分散マスター認証情報を分散するように、さらに送信し、
前記各第２の情報処理装置において、前記第１の情報処理装置から受信した前記分散マスター認証情報を、さらに保存する
請求項１８記載の認証方法。
【請求項２０】
前記第２の入力情報に基づくハッシュ値を前記マスター認証情報として生成し、
前記第１の入力情報に基づくハッシュ値を前記認証情報として生成し、
ハッシュの計算を行う秘密計算と、一致の判定を行う秘密計算とを組み合わせることにより、前記認証情報が前記マスター認証情報と一致するかどうかを判定する
請求項１９記載の認証方法。
【請求項２１】
前記第１の情報処理装置に対して入力された第３の入力情報を、秘密分散法によって複数の預かり情報として、さらに分散し、
前記複数の第２の情報処理装置に対して、前記第１の情報処理装置から、前記各預かり情報を分散するように、さらに送信し、
前記各第２の情報処理装置において、前記第１の情報処理装置から受信した前記預かり情報を、さらに保存し、
前記所定の処理として、前記複数の第２の情報処理装置の少なくとも１つから、保存された前記預かり情報を、前記第１の情報処理装置に対して送信し、
受信した複数の前記預かり情報を、秘密分散法によって、前記第３の入力情報に、さらに復元し、
復元した前記第３の入力情報を、さらに出力する
請求項１８乃至２０のいずれか１つに記載の認証方法。
【請求項２２】
前記復元された第３の入力情報に基づいて暗号鍵を、さらに生成し、
前記第１の情報処理装置に対して入力された第４の入力情報を前記暗号鍵を用いて、さらに暗号化し、
前記暗号化された第４の入力情報を、第３の情報処理装置に対して、さらに送信し、
前記複数の第２の情報処理装置から前記預かり情報を受信した場合に、前記第３の情報処理装置から前記暗号化された第４の入力情報を、さらに受信し、
前記復元された第３の入力情報に基づいて、復号鍵を、さらに生成し、
受信した前記暗号化された第４の入力情報を、前記復号鍵によって、前記第４の入力情報に、さらに復号し、
復号した前記第４の入力情報を、さらに出力する
請求項２１記載の認証方法。
【請求項２３】
あらかじめ保存する、認証に際して照合される一方の情報であるマスター認証情報が秘密分散法によって分散された分散マスター認証情報の１つと、
通信を介して接続される第１の情報処理装置から受信した、前記認証に際して照合される他方の情報である認証情報が秘密分散法によって分散された分散認証情報の１つとに基づいて、
他の第２の情報処理装置との間における通信を介する秘密計算を実行することによって、前記認証情報が前記マスター認証情報と一致するかどうかを判定する秘密計算処理と、
前記判定の結果に応じて所定の処理を実行する判定実行処理と
を第２の情報処理装置であるコンピュータに実行させる第１のコンピュータ・プログラムを記録する記録媒体。
【請求項２４】
前記第１の情報処理装置から、受信した前記分散マスター認証情報の１つを記憶装置に保存する登録処理を、さらに含み、
前記秘密計算処理において、前記記憶装置から読み出した前記分散マスター認証情報の１つに基づいて、前記秘密計算を実行する
請求項２３記載の第１のコンピュータ・プログラムを記録する記録媒体。
【請求項２５】
前記第１の情報処理装置から、あらかじめ預かっておく情報である預かり情報を受信し、受信した前記預かり情報を記憶装置に保存する預かり情報登録処理を、さらに含み、
前記判定実行処理において、前記判定の結果が、前記認証情報と前記マスター認証情報とが一致したことを表す認証成功である場合に、前記所定の処理として、前記預かり情報を、前記第１の情報処理装置に対して送信する
請求項２３または２４記載の第１のコンピュータ・プログラムを記録する記録媒体。
【請求項２６】
前記マスター認証情報は、第１の文字列に基づくハッシュ値であり、
前記認証情報は、第２の文字列に基づくハッシュ値であり、
前記秘密計算処理において、ハッシュの計算を行う秘密計算と、一致の判定を行う秘密計算とを組み合わせることにより、前記認証情報が前記マスター認証情報と一致するかどうかを判定する
請求項２３乃至２５のいずれか１つに記載の第１のコンピュータ・プログラムを記録する記録媒体。
【請求項２７】
入力された第１の入力情報に基づく認証情報を、秘密分散法によって複数の分散認証情報に分散する秘密分散処理と、
請求項２３乃至２６のいずれか１つに記載の第１のコンピュータ・プログラムが実行される、複数の情報処理装置に対して、前記各分散認証情報を分散するように送信する通信制御処理と
をコンピュータに実行させる第２のコンピュータ・プログラムを記録する記録媒体。
【請求項２８】
入力された第２の入力情報に基づいて前記マスター認証情報を生成し、前記第１の入力情報に基づいて前記認証情報を生成する認証情報生成処理と、
生成された前記マスター認証情報を、秘密分散法によって複数の分散マスター認証情報に分散する処理と、
前記複数の情報処理装置に対して、前記各分散マスター認証情報を分散するように送信する処理とを、さらにコンピュータに実行させる
請求項２７記載の第２のコンピュータ・プログラムを記録する記録媒体。
【請求項２９】
前記認証情報生成処理において、前記第２の入力情報に基づくハッシュ値を前記マスター認証情報として生成し、前記第１の入力情報に基づくハッシュ値を前記認証情報として生成する
請求項２８記載の第２のコンピュータ・プログラムを記録する記録媒体。
【請求項３０】
入力された第３の入力情報を、秘密分散法によって複数の前記預かり情報として分散する処理と
前記複数の情報処理装置に対して、前記各預かり情報を分散するように送信する処理とをさらにコンピュータに実行させ、
前記複数の情報処理装置から前記各預かり情報を受信した場合に、
受信した複数の前記預かり情報を、秘密分散法によって、前記第３の入力情報に復元し、復元した前記第３の入力情報を、さらに出力する
請求項２７乃至２９のいずれか１つに記載の第２のコンピュータ・プログラムを記録する記録媒体。
【請求項３１】
前記復元された第３の入力情報に基づいて暗号鍵を生成し、入力された第４の入力情報を前記暗号鍵を用いて暗号化する暗号化処理と、
前記暗号化された第４の入力情報を、第３の情報処理装置に対して送信する処理と、
前記複数の第２の情報処理装置から前記預かり情報を受信した場合に、前記第３の情報処理装置から前記暗号化された第４の入力情報を受信する処理と、
前記復元された第３の入力情報に基づいて、復号鍵を生成し、受信した前記暗号化された第４の入力情報を、前記復号鍵によって、前記第４の入力情報に復号し、復号した前記第４の入力情報を出力する復号処理とを、さらにコンピュータに時刻させる
請求項３０記載の第２のコンピュータ・プログラムを記録する記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置（コンピュータ）を用いた認証システムに関する。
【背景技術】
【０００２】
インターネットを介して利用される様々なサービスにおいて、サービスがユーザを認証する際、ＩＤ（Ｉｄｅｎｔｉｆｉｅｒ）とパスワードとを利用する方法がよく使われる。
利用するサービス毎にパスワードを変えた場合、ユーザのパスワード管理の手間が、増大してしまう。一方、１つのパスワードを複数のサービスで使いまわした場合、あるサービスから漏えいしたパスワードが、他のサービスの不正利用に用いられるという危険性がある。【０００３】
このような危険を和らげる技術として、オンラインパスワードマネージャと呼ばれるパスワード管理方法が用いられる。オンラインパスワードマネージャにおいては、ユーザが利用する各サービスに対するＩＤおよびパスワードの情報を一元的に管理するサーバ（以下、「パスワード管理サーバ」と言う）が用いられる。ユーザは、サービスの利用の前に、このパスワード管理サーバの認証を受ける。そして、その認証が通った場合に、ユーザは、所望サービスに対応するＩＤおよびパスワードを受け取ることができる。ユーザは、パスワード管理サーバから認証を受けるに十分な情報（マスターパスワード）を有していれば良い。したがって、オンラインパスワードマネージャにおいて、ユーザは、パスワード管理の手間が小さい。【０００４】
このようなオンラインパスワードマネージャに関連する技術として、例えば、特許文献１には、重要データから秘密分散技術により生成された部分データの不正取得を防止するデータ分散保管システムが開示されている。この特許文献１に記載されたデータ分散保管システムでは、部分データを保存する各サーバの認証処理部が、ユーザごとのパスワードをハッシュ化したハッシュ化パスワード、およびユーザに固有であるユーザシーズを保持する。そして、各サーバの認証処理部は、部分データを提供する際に、各サーバ固有のサーバシーズと、上記のユーザごとの各情報とを用いて、ユーザの認証を行う。このようにして、各サーバは、部分データの不正取得を防止する。【０００５】
また、特許文献２には、秘密分散法を用いて、ユーザ認証に必要な認証情報を管理する認証ユニットなどが開示されている。この特許文献２に記載された端末の認証ユニットは、認証情報を秘密分散法によって分散した複数の分散情報を、それぞれ複数の端末に保存しておく。認証の際、認証ユニットは、所定の数の端末から集めた分散情報に基づいて、認証情報を復元する。そして、認証ユニットは、復元した認証情報と入力された認証情報を比較することによって認証を行う。このようにして、この認証ユニットは、端末のいずれかが紛失された場合における認証情報の漏えいを防ぐことができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１３−０２０３１３号公報
【特許文献２】特開２０１０−０１１１０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述したオンラインパスワードマネージャおよび特許文献１に開示された各サーバでは、パスワード管理サーバが、ユーザの認証に必要な情報をすべて保管している。そのような情報が漏えいした場合、その情報によって、ユーザのマスターパスワードの特定が可能であるという問題がある。【０００８】
その理由は、ＩＤおよびパスワードの組が、ユーザに記憶できる程度の長さ（短さ）であるならば、特許文献１のようにハッシュ化していても、そのハッシュ化パスワードを用いてパスワード候補をひとつひとつ確認することが可能だからである。【０００９】
また、特許文献２に開示された認証ユニットは、認証の際、まだユーザの正当性が確認されていないタイミングで、分散情報を集める必要があるという問題がある。したがって、端末に成りすました端末が、分散情報を収集することができる。そして、成りすました端末が、収集した分散情報を、認証情報を特定する材料として利用することができるという問題がある。【００１０】
本発明の１つの目的は、分散された認証情報を、それらを個別に保管している各装置から、システムに含まれるいずれか１つの装置に集めることなく認証可能な情報処理装置などを提供することにある。
【課題を解決するための手段】
【００１１】
上記の目的を達成すべく、本発明の一態様に係る第２の情報処理装置は、以下の構成を備えることを特徴とする。【００１２】
すなわち、本発明の一態様に係る第２の情報処理装置は、
あらかじめ保存する、認証に際して照合される一方の情報であるマスター認証情報が秘密分散法によって分散された分散マスター認証情報の１つと、
通信を介して接続される第１の情報処理装置から受信した、前記認証に際して照合される他方の情報である認証情報が秘密分散法によって分散された分散認証情報の１つとに基づいて、
他の第２の情報処理装置との間における通信を介する秘密計算を実行することによって、前記認証情報が前記マスター認証情報と一致するかどうかを判定する秘密計算手段と、
前記判定の結果に応じて所定の処理を実行する処理実行手段と
を含む。【００１３】
また、上記の同目的を達成すべく、本発明の一態様に係る第１の情報処理装置は、上述した構成を備える、複数の第１の情報処理装置を含むシステムに接続され、
入力された第１の入力情報に基づく認証情報を、秘密分散法によって複数の分散認証情報に分散する秘密分散手段と、
前記複数の第２の情報処理装置に対して、前記各分散認証情報を分散するように送信する通信制御手段と
を含む。【００１４】
また、上記の同目的を達成すべく、本発明の一態様に係る認証方法は、情報処理装置によって、
第１の情報処理装置に対して入力された第１の入力情報に基づく認証情報を、秘密分散法によって複数の分散認証情報に分散し、
認証に際して照合される情報であるマスター認証情報が秘密分散法によって分散された情報である各分散マスター認証情報を分散してあらかじめ保存する、複数の第２の情報処理装置に対して、前記第１の情報処理装置から、前記各分散認証情報を分散するように送信し、
前記第１の情報処理装置から受信した前記分散認証情報と、前記分散マスター認証情報とに基づいて、前記複数の第２の情報処理装置の少なくとも一部の装置間における通信を介する秘密計算を実行することによって、前記認証情報が前記マスター認証情報と一致するかどうかを判定し、
前記秘密計算を実行した前記複数の第２の情報処理装置の少なくとも１つが、前記判定の結果に応じて所定の処理を実行する。【００１５】
また、同目的は、上記の各構成を有する第１および第２の情報処理装置、並びに対応する方法を、それぞれコンピュータによって実現するコンピュータ・プログラム、およびそのコンピュータ・プログラムが格納されている、コンピュータ読み取り可能な記憶媒体によっても達成される。
【発明の効果】
【００１６】
本発明には、システムを構成する、いずれの情報処理装置から情報漏えいが起きても、漏えいした情報からユーザのマスターパスワードが特定できないという効果がある。
【図面の簡単な説明】
【００１７】
【図１】本発明の第１の実施形態に係る認証システムの構成を示すブロック図である。
【図２】本発明の第２の実施形態に係るサービスアクセス情報管理システムの構成を示すブロック図である。
【図３】第２の実施形態におけるユーザ登録処理の際に、クライアント１００および各分散認証装置２００が行う動作を示すフローチャートである。
【図４】第２の実施形態におけるサービス登録処理の際に、クライアント１００、各分散認証装置２００、およびサービスアクセス情報管理装置３００が行う動作を示すフローチャートである。
【図５】第２の実施形態におけるサービス利用処理の際に、クライアント１００、各分散認証装置２００、およびサービスアクセス情報管理装置３００が行う動作を示すフローチャートである。
【図６】本発明の第３の実施形態に係るサービスアクセス情報管理システムの構成を示すブロック図である。
【図７】第３の実施形態におけるユーザ登録処理の際に、クライアント４００および各分散認証装置５００が行う動作を示すフローチャートである。
【図８】第３の実施形態におけるサービス登録処理の際に、クライアント４００および各分散認証装置５００が行う動作を示すフローチャートである。
【図９】第３の実施形態におけるサービス利用処理の際に、クライアント４００および各分散認証装置５００が行う動作を示すフローチャートである。
【図１０】本発明の各実施形態、および、その変形例に係る認証システムまたはサービスアクセス情報管理システムに適用可能なコンピュータ（情報処理装置）の構成を例示する図である。
【発明を実施するための形態】
【００１８】
次に、本発明の実施形態について図面を参照して詳細に説明する。
【００１９】
まず、各実施形態において利用される秘密分散法および秘密計算法について説明する。
【００２０】
秘密分散法とは、秘密情報から複数の分散情報を生成する技術である。分散情報はあらかじめ定められた組み合わせからは秘密情報を復元できるが、それ以外の組み合わせからは秘密情報が復元できないように作られる。秘密分散法は、例えば、Ａｄｉ  Ｓｈａｍｉｒ著、”Ｈｏｗ  ｔｏ  Ｓｈａｒｅ  ａ  Ｓｅｃｒｅｔ”、  Ｃｏｍｍｕｎ．  ＡＣＭ  ２２（１１）、  ｐｐ．６１２−６１３、１９７９年において提案されている。秘密分散法は、これ以外にも、様々な方法が知られている。以下では、秘密情報から分散情報を生成する処理を「分散処理」とも言う。また、複数の分散情報を入力として秘密情報を復元する処理を「復元処理」とも言う。
【００２１】
秘密計算法とは、秘密分散法によって分散されたデータに関する計算を実行することができるという技術である。秘密計算法は、例えば、Ｍｉｃｈａｅｌ  Ｂｅｎ−Ｏｒ、Ｓｈａｆｉ  Ｇｏｌｄｗａｓｓｅｒ、Ａｖｉ  Ｗｉｇｄｅｒｓｏｎ著、  ”Ｃｏｍｐｌｅｔｅｎｅｓｓ  Ｔｈｅｏｒｅｍｓ  ｆｏｒ  Ｎｏｎ−Ｃｒｙｐｔｏｇｒａｐｈｉｃ  Ｆａｕｌｔ−Ｔｏｌｅｒａｎｔ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｃｏｍｐｕｔａｔｉｏｎ  （Ｅｘｔｅｎｄｅｄ  Ａｂｓｔｒａｃｔ）”、  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ２０ｔｈ  Ａｎｎｕａｌ  ＡＣＭ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｔｈｅｏｒｙ  ｏｆ  Ｃｏｍｐｕｔｉｎｇ、１９８８年において提案されている。秘密計算法は、これ以外にも、様々な方法が知られている。秘密計算法によれば、秘密分散法によって分散され、かつ複数のサーバに分散して保管された分散データ群に対する任意の演算を、データの復元を伴うことなく実行することができる。すなわち、データの復元を要さないので、秘密計算法によれば、分散されたデータ群を１か所に集めることなく演算を行うことが可能となる。
【００２２】
例えば、秘密計算法によって、与えられたデータＡと、分散されたデータＢ（分散データ群）とが一致しているかどうかを判定する演算の方法として、Ｉｖａｎ  Ｄａｍｇａｒｄ、  Ｍａｔｔｈｉａｓ  Ｆｉｔｚｉ、  Ｅｉｋｅ  Ｋｉｌｔｚ、  Ｊｅｓｐｅｒ  Ｂｕｕｓ  Ｎｉｅｌｓｅｎ、  Ｔｏｍａｓ  Ｔｏｆｔ著、”Ｕｎｃｏｎｄｉｔｉｏｎａｌｌｙ  Ｓｅｃｕｒｅ  Ｃｏｎｓｔａｎｔ−Ｒｏｕｎｄｓ  Ｍｕｌｔｉ−ｐａｒｔｙ  Ｃｏｍｐｕｔａｔｉｏｎ  ｆｏｒ  Ｅｑｕａｌｉｔｙ，  Ｃｏｍｐａｒｉｓｏｎ，  Ｂｉｔｓ  ａｎｄ  Ｅｘｐｏｎｅｎｔｉａｔｉｏｎ”、  Ｔｈｅｏｒｙ  ｏｆ  Ｃｒｙｐｔｏｇｒａｐｈｙ  Ｌｅｃｔｕｒｅ  Ｎｏｔｅｓ  ｉｎ  Ｃｏｍｐｕｔｅｒ  Ｓｃｉｅｎｃｅ  Ｖｏｌｕｍｅ  ３８７６、２８５−３０４頁、２００６年に記述された方法などが知られている。上記の方法には、以下の各実施形態における、入力された情報Ａを分散した分散情報群Ａと、あらかじめ分散して保存された情報Ｂ（分散情報群Ｂ）との一致を判定する演算も含まれる。一致を判定する演算の方法としては、上記以外にも様々な方法が知られている。
【００２３】
＜第１の実施形態＞
図１は、本発明の第１の実施形態に係る認証システムの構成を示すブロック図である。
図１を参照すると、本実施形態に係る認証システムは、第１の情報処理装置１、および複数の第２の情報処理装置１０を含む。
【００２４】
第１の情報処理装置１、および各第２の情報処理装置１０は、それぞれインターネットや構内ＬＡＮ（ローカルエリアネットワーク）等の通信ネットワーク（以下、単にネットワークと称する）１０００を介して通信可能である。
【００２５】
第１の情報処理装置１、および、第２の情報処理装置１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ：図示せず）を用いて実行されるコンピュータ・プログラム（ソフトウェア・プログラム）の制御により動作する一般的な情報処理装置（コンピュータ）によって構成されても良い。または、第１の情報処理装置１、および、第２の情報処理装置１０の各部が、専用のハードウェアデバイス、または論理回路によって構成されても良い。なお、この第１の情報処理装置１、および、第２の情報処理装置１０をコンピュータによって実現したハードウェア構成例については、図１０を参照して後述する。
【００２６】
第１の情報処理装置１は、秘密分散部２、および通信制御部３を含む。
【００２７】
秘密分散部２は、例えばユーザ操作などにより入力された入力情報２０に基づく認証情報を、秘密分散法によって複数の分散認証情報に分散する。入力情報２０は、例えば、ＩＤパスワード認証におけるＩＤと対応するパスワードの組のように、認証を実行するに足る情報である。認証情報は、入力情報２０に基づいて生成された情報である。認証情報は、例えば、入力情報２０の一部または全部であってもよい。
【００２８】
通信制御部３は、第１の情報処理装置１（自装置）と各第２の情報処理装置１０との間における通信を制御することができる。通信制御部３は、秘密分散部２が生成した各分散認証情報を、複数の第２の情報処理装置１０のそれぞれに対して、送信する。
【００２９】
第２の情報処理装置１０は、通信制御部１１、秘密計算部１２、処理実行部１３、および記憶装置１４を含む。記憶装置１４は、分散マスター認証情報１５を記憶することができる。記憶装置１４は、例えば、半導体メモリ装置、またはディスク装置などにより実現される。
【００３０】
分散マスター認証情報１５は、マスター認証情報が分散処理によって分散された複数の情報の１つである。マスター認証情報とは、認証に際して、認証情報と照合される、一方の情報である。第１の情報処理装置１において生成される認証情報は、認証に際して、マスター認証情報と照合される、他方の情報であるとも言える。マスター認証情報は、例えば、パスワードのような入力情報２０に基づく認証情報に対して、一致するかどうかを照合される原本となるマスターパスワードのような情報に基づく情報である。本実施形態では、分散マスター認証情報１５は、あらかじめ記憶装置１４に保存される。
【００３１】
通信制御部１１は、自装置と、第１の情報処理装置１および他の第２の情報処理装置１０との間の通信を制御することができる。
【００３２】
秘密計算部１２は、分散マスター認証情報１５と、通信制御部１１を介して第１の情報処理装置１から受信した分散認証情報の１つとに基づいて、他の第２の情報処理装置１０との間における通信を介する秘密計算を実行する。秘密計算部１２は、その秘密計算によって、分散認証情報の基である認証情報が、分散マスター認証情報１５の基であるマスター認証情報と一致するかどうかを判定する。秘密計算部１２が行う秘密計算は、本実施形態に含まれる第２の情報処理装置１０の少なくとも一部の装置間において実行される。上述した秘密計算法の特性により、この秘密計算（一致を判定する演算）は、分散マスター認証情報１５および分散認証情報をいずれか１台の第２の情報処理装置１０に集めることなく実行される。
【００３３】
処理実行部１３は、秘密計算部１２による認証情報がマスター認証情報と一致するかどうかという判定（認証）の結果に応じて、所定の処理を実行する。例えば、処理実行部１３は、認証情報がマスター認証情報と一致する（認証成功）と判定された場合、第１の情報処理装置１に対して、所定の情報を提供してもよい。または、処理実行部１３は、単に判定の結果（すなわち、認証の成否）を、第１の情報処理装置１に対して通知してもよい。
【００３４】
このように、本実施形態によれば、分散された分散マスター認証情報１５を、それらを個別に保管している各第２の情報処理装置１０から、システムに含まれるいずれか１つの装置に集めることなく、認証することができる。
【００３５】
以上説明したように、本実施形態には、分散された認証情報を、それらを個別に保管している各装置から、システムに含まれるいずれか１つの装置に集めることなく認証可能な情報処理装置などを提供できるという効果がある。すなわち、本実施形態には、システムを構成するどの情報処理装置から情報漏えいが起きても、単独の情報処理装置の情報からユーザのマスター認証情報の特定ができないという効果があるとも言える。
【００３６】
その理由は、第２の情報処理装置１０の秘密計算部１２が、秘密計算によって、分散マスター認証情報１５を集めることなく、第１の情報処理装置１から送られた認証情報と、マスター認証情報とが一致することを判定することができるからである。本実施形態では、認証の際に、マスター認証情報を復元できる情報を単独で扱う情報処理装置がない。また、本実施形態では、第１の情報処理装置１に成りすました端末も、分散マスター認証情報１５を取得できない。
【００３７】
なお、本実施形態の変形例としては、以下のようなものが考えられる。
【００３８】
例えば、第１の情報処理装置１と、第２の情報処理装置１０の１台とが、同じ情報処理装置において実装されてもよい。
【００３９】
＜第２の実施形態＞
次に、上述した第１の実施形態を基本とする第２の実施形態について説明する。
【００４０】
本実施形態は、一例として、サービスアクセス情報管理システムに本発明を適用した場合を説明する。サービスアクセス情報とは、様々なサービスごとのユーザ認証の情報、および暗号鍵に関する情報などの、各サービスにアクセスする際に使用される情報の総称である。サービスアクセス情報管理システムは、一般に、パスワード管理システムなどとも呼ばれる。
【００４１】
図２は、本発明の第２の実施形態に係るサービスアクセス情報管理システムの構成を示すブロック図である。図２を参照すると、本実施形態に係るサービスアクセス情報管理システムは、クライアント（第１の情報処理装置）１００、複数の分散認証装置（第２の情報処理装置）２００、および、サービスアクセス情報管理装置３００を含む。クライアント１００は、第１の実施形態における第１の情報処理装置１を基本とする。分散認証装置２００は、第１の実施形態における第２の情報処理装置１０を基本とする。
【００４２】
分散認証装置２００とサービスアクセス情報管理装置３００とが、パスワード管理システムにおけるサービスアクセス情報を管理する装置（群）に対応する。「背景技術欄」において上述したように、クライアント１００と、サービスアクセス情報を管理する装置（群）とが、ネットワークを介して接続されているパスワード管理システムは、特にオンラインパスワードマネージャと呼ばれる。以下では、本実施形態に係るサービスアクセス管理システムを、オンラインパスワードマネージャと言う。
【００４３】
まず、以下に、本実施形態におけるオンラインパスワードマネージャの処理の一例について、概要を説明する。本実施形態におけるオンラインパスワードマネージャは、一例として、ユーザ登録、サービス登録、およびサービス利用という３つの処理を実行することができる。
【００４４】
ユーザ登録処理において、ユーザは、オンラインパスワードマネージャを利用する際のユーザ認証に用いられる文字列であるマスターパスワード、およびユーザＩＤを表すユーザＩＤ情報を、オンラインパスワードマネージャに登録する。このマスターパスワードは、第１の実施形態におけるマスター認証情報の一例である。本実施形態では、ユーザは、クライアント１００を介して、秘密分散法によって分散されたマスターパスワードをユーザＩＤ情報と関連付けた情報（分散マスター認証情報２１５）として、各分散認証装置２００に対して登録する。分散マスター認証情報２１５は、第１の実施形態における分散マスター認証情報１５を基本とする。すなわち、本実施形態におけるユーザ登録処理は、第１の実施形態における第２の情報処理装置１０の記憶装置１４に対して、分散マスター認証情報１５を登録するという処理に対応する。ユーザ登録処理は、第１の実施形態における認証を実行可能なシステム環境を準備する処理であるとも言える。
【００４５】
また、ユーザ登録処理において、ユーザは、サービスアクセス情報の暗号化および復号に利用されるソルトを表すソルト情報も、オンラインパスワードマネージャに登録することができる。ソルト情報は、マスターパスワードと同様に、秘密分散法によって分散された分散ソルト情報２１６として、各分散認証装置２００に対して登録される。以下では、分散されたソルト情報を、分散ソルト情報２１６と言う。
【００４６】
また、ユーザは、サービス登録処理、およびサービス利用処理において、クライアント１００を用いて、複数のサービスに対するサービスアクセス情報を管理する。ユーザは、まず、サービス登録処理において、それらのサービスアクセス情報をオンラインパスワードマネージャに登録する。本実施形態では、ユーザは、クライアント１００を介して、暗号化したサービスアクセス情報（暗号化サービスアクセス情報３０４）を、サービスアクセス情報管理装置３００に対して登録する。そして、サービスを利用する際に、ユーザは、サービス利用処理として、オンラインパスワードマネージャから、所望のサービスに対応する暗号化サービスアクセス情報３０４を取得する。本実施形態では、ユーザは、クライアント１００を介して、サービスアクセス情報管理装置３００に登録された暗号化サービスアクセス情報３０４が復号されたサービスアクセス情報として取得する。
【００４７】
ユーザは、サービス登録処理およびサービス利用処理の初めの段階として、ユーザ登録処理によって登録したマスターパスワードおよびユーザＩＤ情報を用いて、オンラインパスワードマネージャを利用する際のユーザ認証を受ける。このユーザ認証は、第１の実施形態を基本とする認証である。すなわち、本実施形態におけるオンラインパスワードマネージャは、サービス登録処理およびサービス利用処理に含まれるユーザ認証として、第１の実施形態を基本とする認証を実行する。以下では、特に断りなく「ユーザ認証」という場合、その「ユーザ認証」という言葉は、サービス登録処理およびサービス利用処理の両方におけるユーザ認証を表す。
【００４８】
ユーザ認証の際、ユーザは、第１の実施形態における入力情報２０の一例として、マスターパスワードと一致するようなパスワード（文字列）を入力する。このパスワードは、第１の実施形態における認証情報の一例である。なお、以下では、ユーザ認証においてユーザが入力する文字列を単に「パスワード」呼ぶことにより、ユーザ登録において登録された「マスターパスワード」と区別する。
【００４９】
ユーザは、そのユーザ認証が成功した場合に、各分散認証装置２００から分散ソルト情報２１６を受信することにより、サービスアクセス情報の登録または取得を許可される。
すなわち、クライアント１００は、分散ソルト情報２１６から復元したソルト情報を用いることにより、上述したサービスアクセス情報の暗号化および復号の各処理を実行することができる。ユーザは、復号されたサービスアクセス情報を用いて、所望のサービスを利用することができる。このようなオンラインパスワードマネージャの処理によって、ユーザは、１組のユーザＩＤ情報とマスターパスワードとを記憶していれば、様々なサービスを利用することが可能となる。
【００５０】
上述したように、ユーザ登録処理は、サービス登録処理およびサービス利用処理の前に行われる。すなわち、ユーザ登録処理は、認証の前に行われる。また、サービス登録処理は、サービス利用処理の前に行われる。
【００５１】
次に、図２を参照して、本実施形態に係るサービスアクセス情報管理システムの構成を詳細に説明する。以下では、第２の実施形態に係る特徴的な部分を中心に説明し、第１の実施形態と同様な構成を有する第２の実施形態の構成要素には、第１の実施形態で付した参照符号と同一の参照符号を付し、その構成要素について重複する詳細な説明は省略する。
【００５２】
クライアント１００、各分散認証装置２００、および、サービスアクセス情報管理装置３００は、それぞれインターネットや構内ＬＡＮ等の通信ネットワーク（以下、単にネットワークと称する）１０００を介して互いに通信可能である。
【００５３】
クライアント１００、分散認証装置２００、および、サービスアクセス情報管理装置３００は、ＣＰＵ（図示せず）を用いて実行されるコンピュータ・プログラム（ソフトウェア・プログラム）の制御により動作する一般的な情報処理装置（コンピュータ）によって構成されても良い。または、クライアント１００、分散認証装置２００、および、サービスアクセス情報管理装置３００の各部が、専用のハードウェアデバイス、または論理回路によって構成されても良い。なお、このクライアント１００、分散認証装置２００、および、サービスアクセス情報管理装置３００をコンピュータによって実現したハードウェア構成例については、図１０を参照して後述する。
【００５４】
クライアント１００は、それぞれ第１の実施形態を基本とする通信制御部３、および秘密分散部１０２に加えて、さらに、認証情報生成部１０１、暗号化部１０３、秘密復元部１０４、復号部１０５、入力部１１０、および出力部１１１を含む。
【００５５】
入力部１１０は、上述したオンラインパスワードマネージャの各処理においてユーザから入力される情報を受け付けることができる。すなわち、入力部１１０は、ユーザＩＤ、マスターパスワード（第２の入力情報）、ソルト情報（第３の入力情報）、パスワード（第１の入力情報）、およびサービスアクセス情報（第４の入力情報）を受け付けることができる。なお、上述した第１の入力情報〜第４の入力情報、およびユーザＩＤは、第１の実施形態における入力情報２０の一例である。入力部１１０は、例えば、図示しないキーボード、ポインティングデバイス、またはタッチパネルなどを介して入力を受け付けてもよい。入力部１１０は、例えば、通信制御部３、または、図示しない通信機能によって接続される外部装置からの通信による入力を受け付けてもよい。
【００５６】
認証情報生成部１０１は、入力部１１０を介して入力された情報に基づいて、認証を実行するに足る情報である認証情報およびマスター認証情報を生成することができる。本実施形態におけるマスター認証情報、および認証情報は、それぞれ、第１の実施形態におけるマスター認証情報、および認証情報を基本とする。本実施形態では、認証情報生成部１０１は、ユーザ登録処理において、入力されたマスターパスワードに対して所定の演算を行うことにより、マスター認証情報を生成する。また、認証情報生成部１０１は、一例として、サービス登録処理およびサービス利用処理におけるユーザ認証の際に、入力されるパスワードに対して所定の演算を行うことにより、認証情報を生成する。
【００５７】
本実施形態では、認証情報生成部１０１は、所定の演算の一例として、マスターパスワードまたはパスワードを入力としてハッシュ値の計算を行う。すなわち、本実施形態におけるマスター認証情報、および認証情報は、それぞれハッシュ値に基づいて生成された情報である。認証情報生成部１０１が行う所定の演算の方法としては、上記以外にも様々な方法を採用することができる。すなわち、本実施形態における認証方法は、第１の文字列であるマスターパスワードに基づくハッシュ値と、第２の文字列である入力されたパスワードに基づくハッシュ値とが、秘密計算法によって、それぞれ分散されたまま照合されるという方法である。
【００５８】
秘密分散部１０２は、第１の実施形態における秘密分散部２を基本とする。本実施形態では、秘密分散部１０２は、第１の実施形態における秘密分散部２と同様に、ユーザ認証の際に認証情報生成部１０１によって生成される認証情報を、秘密分散法によって複数の分散認証情報に分散する。さらに、本実施形態では、秘密分散部１０２は、ユーザ登録処理の際に認証情報生成部１０１によって生成されるマスター認証情報、および入力部１１０を介して入力されるソルト情報も、秘密分散法によって分散する。
【００５９】
通信制御部３は、第１の実施形態における通信制御部３を基本とする。通信制御部３は、ユーザ認証の際に、第１の実施形態における通信制御部３と同様に、秘密分散部１０２が分散した各分散認証情報を複数の分散認証装置２００のそれぞれに対して、ユーザＩＤ情報と関連付けて送信する。
【００６０】
さらに、本実施形態では、通信制御部３は、ユーザ登録処理の際に、秘密分散部１０２が分散した各分散マスター認証情報２１５、および各分散ソルト情報２１６を、複数の分散認証装置２００のそれぞれに対して、ユーザＩＤ情報に関連付けて送信する。言い換えると、通信制御部３は、あらかじめ預けておく「預かり情報」として、各分散ソルト情報２１６を各分散認証装置２００に対して送信する。この預かり情報は、後に、各分散認証装置２００が決定した条件およびタイミングにおいて、クライアント１００に対して返信される。本実施形態では、一例として、通信制御部３は、認証が成功したと判断された場合に、この預かり情報（分散ソルト情報２１６）を各分散認証装置２００から受信する。
【００６１】
また、通信制御部３は、サービス登録処理およびサービス利用処理において、各分散認証装置２００およびサービスアクセス情報管理装置３００との間でやりとりされる各情報に関する通信を制御することができる。
【００６２】
秘密分散部１０２および通信制御部３の構造および機能は、上述した点以外は、第１の実施形態における対応する機能部と同様であるので、重複する詳細な説明は省略する。
【００６３】
秘密復元部１０４は、サービス登録処理およびサービス利用処理におけるユーザ認証が成功した場合に、各分散認証装置２００から、通信制御部３を介して受信する各分散ソルト情報２１６を入力として、ソルト情報を復元することができる。
【００６４】
暗号化部１０３は、サービス登録処理において、入力されたサービスアクセス情報を暗号化する。以下では、暗号化されたサービスアクセス情報を、暗号化サービスアクセス情報３０４と言う。暗号化部１０３は、秘密復元部１０４が復元したソルト情報に基づいて生成する暗号鍵を用いて、暗号化を行う。また、暗号化部１０３は、通信制御部３を介して、暗号化サービスアクセス情報３０４を、サービスアクセス情報管理装置３００に対して送信する。
【００６５】
復号部１０５は、サービス利用処理において、通信制御部３を介して、サービスアクセス情報管理装置３００から取得する暗号化サービスアクセス情報３０４を復号する。復号部１０５は、秘密復元部１０４が復元したソルト情報に基づいて生成する復号鍵を用いて、復号を行う。暗号化方式が共通鍵方式である場合、暗号鍵と復号鍵は同じであってもよい。暗号化サービスアクセス情報３０４は、復号されることにより、サービス登録処理において入力されたサービスアクセス情報に戻る。
【００６６】
出力部１１１は、復号部１０５によって復号されたサービスアクセス情報を出力する。
出力部１１１は、図示しないディスプレイ、またはタッチパネルなどに対してサービスアクセス情報を表示してもよい。出力部１１１は、図示しない記憶装置、または、通信制御部３などを介して接続される外部装置などに対して、サービスアクセス情報を出力してもよい。出力部１１１は、入力部１１０に対して入力を受け付ける際のメッセージ表示などに利用されてもよい。
【００６７】
分散認証装置２００は、それぞれ第１の実施形態を基本とする通信制御部１１、秘密計算部２１２、処理実行部２１３、および記憶装置１４に加えて、さらに、登録部２０１を含む。本実施形態における記憶装置１４は、分散マスター認証情報２１５、および分散ソルト情報２１６を記憶することができる。記憶装置１４は、例えば、半導体メモリ装置、またはディスク装置などにより実現される。本実施形態では、分散マスター認証情報２１５および分散ソルト情報２１６は、ユーザ登録の際に、登録部２０１によって記憶装置１４に保存される。
【００６８】
通信制御部１１は、第１の実施形態における通信制御部１１を基本とする。通信制御部１１は、自装置と、クライアント１００および他の分散認証装置２００との間の通信を制御することができる。
【００６９】
秘密計算部２１２は、第１の実施形態における秘密計算部２１２を基本とする。本実施形態では、秘密計算部２１２は、ユーザ認証において、分散マスター認証情報２１５と、通信制御部１１を介してクライアント１００から受信した分散認証情報の１つとに基づいて、他の分散認証装置２００との間における通信を介する秘密計算を実行する。秘密計算部２１２は、その秘密計算によって、クライアント１００から受信した分散認証情報の基である認証情報が、記憶装置１４に保存されている分散マスター認証情報２１５の基であるマスター認証情報と一致するかどうかを判定する。すなわち、秘密計算部２１２は、サービス登録処理およびサービス利用処理のユーザ認証において入力されたパスワードに基づく認証情報が、ユーザ登録処理において入力されたマスターパスワードに基づくマスター認証情報と一致するかどうかを判定する。本実施形態における秘密計算部２１２は、ハッシュの計算を行う秘密計算と、一致の判定を行う秘密計算とを組み合わせて実行することができる。秘密計算部２１２の構造および機能は、上述した点以外は、第１の実施形態と同様であるので、重複する詳細な説明は省略する。
【００７０】
処理実行部２１３は、第１の実施形態における処理実行部１３を基本とする。処理実行部２１３は、ユーザ認証において、秘密計算部２１２による認証情報がマスター認証情報と一致するかどうかという判定（認証）の結果に応じて、所定の処理を実行する。本実施形態では、所定の処理の一例として、処理実行部２１３は、認証成功と判定された場合に、クライアント１００に対して、分散ソルト情報２１６を送信する。言い換えると、本実施形態における処理実行部２１３は、認証が成功した場合に、認証の要求者に対して、あらかじめ預かっている情報である預かり情報（分散ソルト情報２１６）を、送信することができる。
【００７１】
登録部２０１は、ユーザ登録処理の際に、通信制御部１１を介して、分散マスター認証情報２１５の１つ、および分散ソルト情報２１６の１つをクライアント１００から受信する。そして、登録部２０１は、受信した分散マスター認証情報２１５の１つ、および分散ソルト情報２１６の１つを、それぞれユーザＩＤ情報と関連付けて、記憶装置１４に保存することができる。
【００７２】
サービスアクセス情報管理装置３００は、通信制御部３０１、管理部３０２、および記憶装置３０３を含む。記憶装置３０３は、暗号化サービスアクセス情報３０４を記憶することができる。暗号化サービスアクセス情報３０４は、サービス登録処理の際に、管理部３０２によって記憶装置３０３に保存される。
【００７３】
通信制御部３０１は、自装置と、クライアント１００との間の通信を制御することができる。
【００７４】
管理部３０２は、サービス登録処理の際に、通信制御部３０１を介してクライアント１００から受信する暗号化サービスアクセス情報３０４を、ユーザＩＤ情報およびサービス名情報と関連付けて、記憶装置３０３に保存することができる。また、管理部３０２は、サービス利用処理の際に、通信制御部３０１を介して、クライアント１００に対して、暗号化サービスアクセス情報３０４を送信することができる。
【００７５】
次に、上述した構成を備える本実施形態の動作について詳細に説明する。本実施形態に係るオンラインパスワードマネージャは、上述したユーザ登録処理、サービス登録処理、およびサービス利用処理という３つの処理を行う。以下では、それぞれの処理における動作を順に説明する。
【００７６】
＜ユーザ登録処理における動作＞
以下に、図３を参照して、ユーザ登録処理における動作を説明する。図３は、第２の実施形態におけるユーザ登録処理の際に、クライアント１００および各分散認証装置２００が行う動作を示すフローチャートである。
【００７７】
まず、ユーザは、クライアント１００に対して、ユーザＩＤ情報、マスターパスワードおよびソルト情報を入力する。クライアント１００においては、入力部１１０が、ユーザＩＤ情報、マスターパスワードおよびソルト情報の入力を受け付ける（ステップＡ１０）。これらの情報は、ユーザによる入力の代わりに、入力部１１０または図示しない機能部が自動生成してもよい。このマスターパスワードとユーザＩＤ情報とを組み合わせた情報の量（文字列の長さ）は、ユーザが記憶できる程度の情報量にされることが一般的である。
【００７８】
次に、認証情報生成部１０１が、入力された情報に基づいて、マスター認証情報を生成する。本実施形態では、具体例として、認証情報生成部１０１が、マスターパスワードのハッシュ値を計算する（ステップＡ１１）。認証情報生成部１０１は、ハッシュ値の計算方法として、ＳＨＡ（Ｓｅｃｕｒｅ  Ｈａｓｈ  Ａｌｇｏｒｉｔｈｍ）−１などの暗号向けのハッシュ関数、または共通鍵暗号方式を用いてもよい。また、認証情報生成部１０１は、ハッシュ値の計算に対する入力として、マスターパスワードの他に、例えばユーザＩＤ情報を含めてもよい。ハッシュ値の計算に対する入力として、ユーザからの入力以外に補助入力を含めてもよい。ハッシュ値の計算方法は、上述したように、よく知られた一般的な方法を用いることができるので、本実施形態における詳細な説明は省略する。
【００７９】
次に、秘密分散部１０２が、生成されたマスター認証情報、およびステップＡ１１で入力されたソルト情報のそれぞれに対して、秘密分散法による分散処理を行う。具体的には、秘密分散部１０２は、マスターパスワードのハッシュ値、およびソルト情報のそれぞれに対して、分散処理を行う（ステップＡ１２）。
【００８０】
次に、通信制御部３が、ユーザＩＤ情報、分散されたハッシュ値（分散マスター認証情報２１５）および分散されたソルト情報（分散ソルト情報２１６）を、各分散認証装置２００に対して送信（分散）する（ステップＡ１３）。具体的には、通信制御部３は、ユーザＩＤ情報と共に、各分散認証装置２００に対して分散するように、分散マスター認証情報２１５の１つ、および分散ソルト情報２１６の１つをそれぞれ送信する。
【００８１】
各分散認証装置２００においては、登録部２０１が、通信制御部１１を介して、ユーザＩＤ情報、分散マスター認証情報２１５、および分散ソルト情報２１６を受信する。各登録部２０１は、分散マスター認証情報２１５、および分散ソルト情報２１６をユーザＩＤ情報と対応付けて、記憶装置１４に保存する（ステップＢ２０）。
【００８２】
以上が、ユーザ登録処理の動作である。
【００８３】
＜サービス登録処理における動作＞
以下に、図４を参照して、サービス登録処理における動作を説明する。図４は、第２の実施形態におけるサービス登録処理の際に、クライアント１００、各分散認証装置２００、およびサービスアクセス情報管理装置３００が行う動作を示すフローチャートである。
【００８４】
まず、ユーザは、クライアント１００に対して、ユーザ登録処理において登録したユーザＩＤ情報、パスワード、サービス名情報、およびサービスアクセス情報を入力する。サービス名情報は、ユーザが登録を行う対象であるサービスの名称を表す情報である。ユーザは、ユーザ登録処理において登録したマスターパスワードと一致するように、パスワードを入力する。クライアント１００においては、入力部１１０が、ユーザＩＤ情報、パスワード、サービス名情報、およびサービスアクセス情報の入力を受け付ける（ステップＡ３０）。
【００８５】
サービスアクセス情報は、サービス名に関連して、ユーザが外部に記憶させたい情報とすることができる。例えば、サービスアクセス情報は、ユーザが登録するサービスにおいて使用するＩＤ（サービスＩＤ）とパスワード（サービス用パスワード）とであってもよい。または、ユーザがサービスＩＤを記憶する運用とする場合、ユーザは、サービス用パスワードをサービスアクセス情報として登録してもよい。また、サービス用パスワードは、ユーザが用意する場合、または、サービス側が用意する場合がある。ユーザが用意する場合、ユーザは、例えば、乱数生成用のプログラム等を利用することにより、記憶するには長すぎるが、安全性が高い長さの情報をサービス用パスワードとしてもよい。
【００８６】
まず、クライアント１００は、ユーザ認証を受ける。認証情報生成部１０１が、入力された情報に基づいて、認証情報を生成する（ステップＡ３１）。具体的には、認証情報生成部１０１が、入力されたパスワードのハッシュ値を計算する。ハッシュ値の計算方法は、ユーザ登録処理におけるハッシュ値の計算方法（ステップＡ１１）と同様であるので、重複する詳細な説明は省略する。
【００８７】
次に、秘密分散部１０２が、生成された認証情報（パスワードのハッシュ値）に対して、秘密分散法による分散処理を行う（ステップＡ３２）。以下では、パスワードのハッシュ値が分散された情報を分散認証情報と言う。
【００８８】
次に、通信制御部３が、ユーザＩＤ情報、および分散認証情報を、各分散認証装置２００に対して送信（分散）する（ステップＡ３３）。具体的には、通信制御部３は、ユーザＩＤ情報と共に、各分散認証装置２００に対して、分散認証情報の１つを各分散認証装置２００に対して分散するように送信する。通信制御部３は、例えば、ユーザ登録処理のステップＡ１３において分散マスター認証情報２１５を送信した送信先および送信方法などに基づいて、ユーザＩＤ情報、および分散認証情報の送信方法を決定してもよい。
【００８９】
各分散認証装置２００においては、通信制御部１１が、ユーザＩＤ情報、および分散認証情報を受信する（ステップＢ４０）。
【００９０】
次に、秘密計算部２１２が、受信した分散認証情報および、受信したユーザＩＤ情報に対応づけて保存されている分散マスター認証情報２１５に基づいて、他の分散認証装置２００との間における通信を介する秘密計算を実行する（ステップＢ４１）。具体的には、秘密計算部２１２は、この秘密計算（演算）によって、分散認証情報の基であるパスワードのハッシュ値が、分散マスター認証情報２１５の基であるマスターパスワードのハッシュ値と一致するかどうかを判定する。第１の実施形態と同様に、秘密計算部２１２が行う秘密計算は、本実施形態に含まれる分散認証装置２００の少なくとも一部の装置間において実行される。
【００９１】
このような計算を実行する際には、秘密計算部２１２は、ハッシュの計算を行う秘密計算と、一致の判定を行う秘密計算とを組み合わせて実行する。秘密計算を行う演算の方法の一例として、Ｙｅｈｕｄａ  Ｌｉｎｄｅｌｌ、  Ｂｅｎｎｙ  Ｐｉｎｋａｓ、  Ｎｉｇｅｌ  Ｐ．  Ｓｍａｒｔ、  Ａｖｉｓｈａｙ  Ｙａｎａｉ著、  ”  Ｅｆｆｉｃｉｅｎｔ  Ｃｏｎｓｔａｎｔ  Ｒｏｕｎｄ  Ｍｕｌｔｉ−Ｐａｒｔｙ  Ｃｏｍｐｕｔａｔｉｏｎ  Ｃｏｍｂｉｎｉｎｇ  ＢＭＲ  ａｎｄ  ＳＰＤＺ”、［Ｏｎｌｉｎｅ］、Ｃｒｙｐｔｏｌｏｇｙ  ｅＰｒｉｎｔ  Ａｒｃｈｉｖｅ、［２０１５年７月２７日検索］、インターネット〈ＵＲＬ：ｈｔｔｐｓ：／／ｅｐｒｉｎｔ．ｉａｃｒ．ｏｒｇ／２０１５／５２３．ｐｄｆ〉において提案されている。
【００９２】
秘密計算部２１２は、上記の文献に記載されている共通鍵暗号を実行する秘密計算によって、ハッシュアルゴリズムを実行すればよい。ハッシュアルゴリズムの一例として、ＣＭＡＣ（Ｃｉｐｈｅｒ−ｂａｓｅｄ  Ｍｅｓｓａｇｅ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｃｏｄｅ）がよく知られている。ＣＭＡＣは、例えば、Ｍｏｒｒｉｓ  Ｄｗｏｒｋｉｎ著、”Ｒｅｃｏｍｍｅｎｄａｔｉｏｎ  ｆｏｒ  Ｂｌｏｃｋ  Ｃｉｐｈｅｒ  Ｍｏｄｅｓ  ｏｆ  Ｏｐｅｒａｔｉｏｎ：  Ｔｈｅ  ＣＭＡＣ  Ｍｏｄｅ  ｆｏｒ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ”、ＮＩＳＴ（Ｎａｔｉｏｎａｌ  Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｓｔａｎｄａｒｄｓ  ａｎｄ  Ｔｅｃｈｎｏｌｏｇｙ）、Ｓｐｅｃｉａｌ  Ｐｕｂｌｉｃａｔｉｏｎ  ８００−３８Ｂ、２００５年５月において記載されている。一致を判定する演算の方法は、「発明を実施するための形態」の項の冒頭において説明した通りであるので、重複する詳細な説明は省略する。
【００９３】
分散認証情報の基であるパスワードのハッシュ値が、分散マスター認証情報２１５の基であるマスターパスワードのハッシュ値と一致すると判定した場合、秘密計算部２１２は、認証が成功したと判定する。認証の判定方法は、例えば、認証処理の秘密計算に加わっている分散認証装置２００のすべてにおいて、一致するという判定結果が出た場合に、認証成功としてもよい。または、認証の判定方法は、例えば、認証処理の秘密計算に加わっている分散認証装置２００の多数決によって認証結果を決定してもよい。１つの秘密計算部２１２が、代表して認証の判定を行ってもよい。または、複数の秘密計算部２１２が、それぞれ認証の判定を行ってもよい。認証の判定方法は、上述した方法を含めて、様々なよく知られた一般的な技術を用いることができるので、本実施形態における詳細な説明は省略する。
【００９４】
秘密計算部２１２によって認証成功と判定された場合（ステップＢ４２のＹＥＳ）、処理実行部２１３が、所定の処理を実行する。具体的には、処理実行部２１３は、一例として、受信したユーザＩＤに対応づけて保存されている分散ソルト情報２１６を、クライアント１００に対して送信する（ステップＢ４３）。この処理は、少なくとも、ソルト情報を復元可能な分散ソルト情報２１６がクライアント１００に対して提供されるという条件を満たす台数の分散認証装置２００によって実行される。処理を実行する分散認証装置２００の台数の決定方法は、よく知られた一般的な秘密分散法の技術を用いることができるので、本実施形態における詳細な説明は省略する。
【００９５】
秘密計算部２１２によって認証失敗と判定された場合（ステップＢ４２のＮＯ）、処理実行部２１３は、所定の処理を実行する。具体的には、処理実行部２１３は、一例として、分散ソルト情報２１６を送信せずに、単に処理を終了する。処理実行部２１３は、例えば、クライアント１００に対して、認証失敗を通知してから処理を終了するなど、他の「所定の処理」を実行してもよい。
【００９６】
以下、認証成功した場合の動作を説明する。クライアント１００では通信制御部３が、各分散認証装置２００から分散ソルト情報２１６を受信する（ステップＡ３４）。本実施形態では、クライアント１００は、この分散ソルト情報２１６の受信によって、認証の成功を知ることができる。ここまでが、クライアント１００が受けるユーザ認証である。
【００９７】
次に、秘密復元部１０４が、受信した複数の分散ソルト情報２１６に対して復元処理を行う（ステップＡ３５）。復元処理の結果、ユーザ登録処理において入力されたソルト情報が復元される。
【００９８】
次に、暗号化部１０３が、ステップＡ３０において、入力されたサービスアクセス情報を暗号化する（ステップＡ３６）。具体的には、まず、暗号化部１０３は、入力されたパスワードと、復元されたソルト情報を鍵導出関数に入力することにより、暗号化に用いる秘密鍵を計算する。暗号化部１０３は、この鍵導出関数として、ＳＨＡ−１のような暗号向けハッシュ関数、または、ＡＥＳ（Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）のような共通鍵暗号を用いた方法を用いることができる。暗号化部１０３は、鍵導出関数に対する入力にサービス名などを加えることにより、サービス毎に異なる鍵となるようにしてもよい。そして、暗号化部１０３は、計算した秘密鍵を用いて、サービスアクセス情報を暗号化する。
【００９９】
暗号化部１０３は、通信制御部３を介して、ユーザＩＤ情報、サービス名情報、および暗号化したサービスアクセス情報（暗号化サービスアクセス情報３０４）を、サービスアクセス情報管理装置３００に対して送信する（ステップＡ３７）。
【０１００】
サービスアクセス情報管理装置３００では、管理部３０２が、受信した暗号化サービスアクセス情報３０４を、ユーザＩＤ情報、およびサービス名情報と対応付けて、記憶装置３０３に保存する（ステップＣ５０）。サービスアクセス情報管理装置３００は、クライアント１００がユーザ認証に成功していることを確認してから、暗号化サービスアクセス情報３０４の保存を行ってもよい。例えば、サービスアクセス情報管理装置３００は、分散認証装置２００のいずれかとの通信によって、ユーザ認証の結果を確認してもよい。または、暗号化サービスアクセス情報３０４の登録を依頼する際に、クライアント１００によって付加される認証成功を証明する情報に基づいて、サービスアクセス情報管理装置３００が通信を介さずに確認する方法であってもよい。ユーザ認証の結果を確認する方法は、上述した方法を含めて、様々なよく知られた一般的な技術を用いることができるので、本実施形態における詳細な説明は省略する。
【０１０１】
以上が、サービス登録処理の動作である。
【０１０２】
＜サービス利用処理における動作＞
以下に、図５を参照して、サービス利用処理における動作を説明する。図５は、第２の実施形態におけるサービス利用処理の際に、クライアント１００、各分散認証装置２００、およびサービスアクセス情報管理装置３００が行う動作を示すフローチャートである。
【０１０３】
まず、ユーザは、クライアント１００に対して、ユーザＩＤ情報、パスワード、およびサービス名情報を入力する。サービス名情報は、ユーザが、例えば、利用したいサービスの名称など、サービスアクセス情報を取得したいサービスの名称を表す情報である。ユーザは、サービス登録処理の際と同様に、ユーザＩＤ情報およびパスワードを入力する。クライアント１００においては、入力部１１０が、ユーザＩＤ情報、パスワード、およびサービス名情報の入力を受け付ける（ステップＡ６０）。
【０１０４】
サービス登録処理と同様に、クライアント１００は、まず、ユーザ認証を受ける。そして、ユーザ認証が成功した場合、クライアント１００は、分散ソルト情報に対する復元処理によってソルト情報を復元する。ユーザ認証の各ステップ（ステップＡ３１〜Ａ３４、およびステップＢ４０〜Ｂ４３）、およびソルト情報の復元処理（ステップＡ３５）は、サービス登録処理と同様であるので、重複する詳細な説明は省略する。
【０１０５】
ソルト情報の復元処理（ステップＡ３５）の後、復号部１０５が、サービスアクセス情報管理装置３００に対して、暗号化サービスアクセス情報３０４を要求する（ステップＡ６１）。具体的には、復号部１０５は、ユーザＩＤ情報およびサービス名情報をサービスアクセス情報管理装置３００に通知することにより、対応する暗号化サービスアクセス情報３０４の送付を依頼する。
【０１０６】
サービスアクセス情報管理装置３００では、管理部３０２が、クライアント１００の要求に基づいて、ユーザＩＤ情報およびサービス名情報に対応する暗号化サービスアクセス情報３０４を、クライアント１００に対して送信する（ステップＣ７０）。サービスアクセス情報管理装置３００は、クライアント１００がユーザ認証に成功していることを確認してから、暗号化サービスアクセス情報３０４の送信を行ってもよい。ユーザ認証の結果を確認する方法は、サービス登録処理のステップＣ５０と同様であるので、重複する詳細な説明は省略する。または、正当な（認証成功する）クライアント１００でなければ復号ができないので、サービスアクセス情報管理装置３００は、ユーザ認証の成功を確認せずに、暗号化サービスアクセス情報３０４の送信を行ってもよい。
【０１０７】
クライアント１００では、復号部１０５が暗号化サービスアクセス情報３０４を受信する。そして、復号部１０５は、受信した暗号化サービスアクセス情報３０４を復号する（ステップＡ６２）。具体的には、復号部１０５は、サービス登録処理のステップＡ３６と同様に、秘密鍵を計算する。そして、復号部１０５は、計算した秘密鍵を用いて、暗号化サービスアクセス情報３０４を復号する。復号した結果として、復号部１０５は、サービス登録処理において入力したサービスアクセス情報と同じ情報を得ることができる。
【０１０８】
最後に、出力部１１１が、復号されたサービスアクセス情報を出力する（ステップＡ６３）。ユーザは、出力されたサービスアクセス情報を用いて、所望のサービスを利用することができる。
【０１０９】
以上がサービス利用処理の動作である。
【０１１０】
以上、説明したように、本実施形態には、上述した第１の実施形態と同様の効果に加えて、さらに、マスターパスワードの安全性を向上することができるという効果がある。
【０１１１】
その理由は、ユーザ登録処理の際、クライアント１００の秘密分散部１０２が、マスターパスワードそのものではなく、認証情報生成部１０１を介して計算したマスターパスワードのハッシュ値を、分散マスター認証情報２１５の基とするからである。
【０１１２】
また、本実施形態には、サービスアクセス情報を安全に管理することができるという効果もある。
【０１１３】
その理由は、ユーザ登録処理において、クライアント１００において、秘密分散部１０２が、ソルト情報を秘密分散法によって分散した分散ソルト情報２１６を生成するからである。そして、サービス登録処理において、秘密復元部１０４が、各分散認証装置２００に保存された分散ソルト情報２１６を収集（取得）し、それらの分散ソルト情報２１６をソルト情報として復元するからである。すなわち、本実施形態では、オンラインパスワードマネージャを構成するどの情報処理装置から情報漏えいが起きても、その情報は暗号化サービスアクセス情報３０４の復号に必要なソルト情報の特定に利用できないという効果がある。
【０１１４】
また、本実施形態には、ユーザが１組のユーザＩＤ情報とパスワードとを記憶しておけば、様々なサービスを利用することが可能となるという効果がある。
【０１１５】
その理由は、複数の分散認証装置２００が、１組のユーザＩＤ情報とパスワードとによるユーザ認証が成功した後に、暗号化サービスアクセス情報３０４を復号する秘密鍵の生成に必要な分散ソルト情報２１６を、クライアント１００に提供するからである。クライアント１００は、その分散ソルト情報２１６を復号したソルト情報に基づいて、暗号化サービスアクセス情報３０４を復号することにより、様々なサービスに対するサービスアクセス情報を取得することができる。
【０１１６】
また、本実施形態には、クライアント１００を容易に提供できるという効果がある。
【０１１７】
その理由は、クライアント１００は、パスワードおよびソルト情報のような秘密を要する情報を何も管理（保存）する必要がないからである。したがって、クライアント１００の機能は、様々な端末に容易に導入することができるという効果が期待できる。
【０１１８】
なお、本実施形態の変形例としては、以下のようなものが考えられる。
【０１１９】
例えば、クライアント１００と、分散認証装置２００の１台とが、同じ情報処理装置において実装されてもよい。また、サービスアクセス情報管理装置３００と、分散認証装置２００の１台とが、同じ情報処理装置において実装されてもよい。
【０１２０】
また、マスター認証情報および認証情報は、第１の実施形態と同様に、入力されたマスターパスワードおよびパスワードの全部または一部がそのまま用いられてもよい。
【０１２１】
また、一部の処理の順番は、上述した通りでなくてもよい。例えば、入力部１１０は、上述した以外のタイミングで一部の情報を受け付けてもよい。すなわち、入力部１１０は、ユーザＩＤ情報およびパスワード以外の情報を、図４のステップＡ３０、または図５のステップＡ６０ではなく、ユーザ認証の成功が判明した後に、改めて受け付けてもよい。
また、例えば、サービス利用処理において、秘密復元部１０４は、分散ソルト情報２１６の復元（図５のステップＡ３５）を、暗号化サービスアクセス情報３０４を復号する（ステップＡ６２）までのいずれかのタイミングで実行してもよい。
＜第３の実施形態＞
次に、上述した第２の実施形態を基本とする第３の実施形態について説明する。以下では、第３の実施形態に係る特徴的な部分を中心に説明し、第２の実施形態と同様な構成を有する第３の実施形態の構成要素には、第２の実施形態で付した参照符号と同一の参照符号を付し、その構成要素について重複する詳細な説明は省略する。
【０１２２】
図６は、本発明の第３の実施形態に係るサービスアクセス情報管理システムの構成を示すブロック図である。図６を参照すると、本実施形態に係るサービスアクセス情報管理システムは、クライアント（第１の情報処理装置）４００、および複数の分散認証装置（第２の情報処理装置）５００を含む。クライアント４００は、第２の実施形態におけるクライアント１００を基本とする。分散認証装置５００は、第２の実施形態における分散認証装置２００を基本とする。
【０１２３】
本実施形態は、サービスアクセス情報を分散して管理する点が、第２の実施形態と異なる。第２の実施形態において、サービスアクセス情報は、暗号技術によって保護されている。しかし、本実施形態では、サービスアクセス情報は、暗号技術に替えて、秘密分散法を適用して分散することにより保護される。本実施形態では、一例として、分散されたサービスアクセス情報が、分散マスター認証情報２１５と共に、各分散認証装置５００に保存される。したがって、本実施形態では、サービスアクセス情報管理装置３００に対応する装置を含まない点も、第２の実施形態と異なる。
【０１２４】
本実施形態に係るサービスアクセス情報管理システムは、第２の実施形態と同様に、オンラインパスワードマネージャであるとも言える。本実施形態に係るオンラインパスワードマネージャも、第２の実施形態と同様に、ユーザ登録、サービス登録、およびサービス利用の３つの処理を実行できる。
【０１２５】
クライアント４００、および各分散認証装置５００は、それぞれインターネットや構内ＬＡＮ等のネットワーク１０００を介して互いに通信可能である。
【０１２６】
クライアント４００、および、分散認証装置５００は、ＣＰＵ（図示せず）を用いて実行されるコンピュータ・プログラム（ソフトウェア・プログラム）の制御により動作する一般的な情報処理装置（コンピュータ）によって構成されても良い。または、クライアント４００、および、分散認証装置５００の各部が、専用のハードウェアデバイス、または論理回路によって構成されても良い。なお、このクライアント４００、および、分散認証装置５００をコンピュータによって実現したハードウェア構成例については、図１０を参照して後述する。
【０１２７】
クライアント４００は、それぞれ第２の実施形態を基本とする通信制御部３、認証情報生成部１０１、秘密分散部４０２、秘密復元部４０４、入力部４１０、および出力部１１１を含む。認証情報生成部１０１、および出力部１１１の構造および機能は、第２の実施形態と同様であるので、重複する説明は省略する。
【０１２８】
入力部４１０は、ソルト情報の入力を受けない点が、第２の実施形態と異なる。すなわち、入力部４１０は、ユーザＩＤ、マスターパスワード（第２の入力情報）、パスワード（第１の入力情報）、およびサービスアクセス情報（第３の入力情報）を受け付けることができる。秘密分散部４０２、および秘密復元部４０４は、ソルト情報に替えて、サービスアクセス情報を秘密分散法の分散処理または復元処理の対象とする点が、第２の実施形態と異なる。また、通信制御部３は、分散ソルト情報２１６に替えて、分散サービスアクセス情報５１７を各分散認証装置５００に対して送受信する点、および、暗号化サービスアクセス情報３０４を扱わない点が、第２の実施形態と異なる。
【０１２９】
すなわち、サービス登録処理において、秘密分散部４０２が、分散処理によって、サービスアクセス情報が分散された情報である分散サービスアクセス情報５１７として分散する。そして、サービス利用処理において、秘密復元部４０４が、各分散認証装置５００から受信した分散サービスアクセス情報５１７を復元処理によってサービスアクセス情報として復元する。入力部４１０、秘密分散部４０２、秘密復元部４０４、および通信制御部３の構造及び機能は、上述した点以外は第２の実施形態と同様であるので、重複する詳細な説明は省略する。
【０１３０】
分散認証装置５００は、それぞれ第２の実施形態を基本とする通信制御部１１、秘密計算部２１２、処理実行部５１３、登録部５０１、および記憶装置１４を含む。秘密計算部２１２の構造および機能は、第２の実施形態と同様であるので、重複する詳細な説明は省略する。
【０１３１】
秘密計算部２１２以外の各部（通信制御部１１、処理実行部５１３、登録部５０１、および記憶装置１４）は、分散ソルト情報２１６に替えて、分散サービスアクセス情報５１７を扱う点が、第２の実施形態と異なる。すなわち、記憶装置１４は、分散マスター認証情報２１５、および分散サービスアクセス情報５１７を記憶することができる。通信制御部１１は、分散ソルト情報２１６に替えて、分散サービスアクセス情報５１７をクライアント４００との間で送受信する。登録部５０１は、ユーザ登録処理ではなく、サービス登録処理において分散サービスアクセス情報５１７を受信し、それを記憶装置１４に保存する。処理実行部５１３は、ユーザ認証が成功した場合における所定の処理の一例として、分散ソルト情報２１６に替えて、分散サービスアクセス情報５１７をクライアント４００に対して送信する。
【０１３２】
言い換えると、分散サービスアクセス情報５１７は、第２の実施形態における預かり情報に対応する。本実施形態においても、この預かり情報は、後に、各分散認証装置５００が決定した条件およびタイミングにおいて、クライアント４００に対して返信される。本実施形態では、一例として、通信制御部３は、認証が成功したと判断された場合に、この預かり情報（分散サービスアクセス情報５１７）を各分散認証装置５００から受信する。
ただし、本実施形態では、各分散認証装置５００から受信した複数の預かり情報は、秘密復元部４０４によってサービスアクセス情報として復元される。そして、秘密復元部４０４は、復元したサービスアクセス情報を、出力部１１１を介して出力する。
【０１３３】
次に、上述した構成を備える本実施形態の動作について詳細に説明する。以下では、第２の実施形態と同様の動作については重複する説明を省略し、簡潔に説明する。上述したように、本実施形態に係るオンラインパスワードマネージャも、ユーザ登録処理、サービス登録処理、およびサービス利用処理という３つの処理を行う。以下では、それぞれの処理における動作を順に説明する。
【０１３４】
＜ユーザ登録処理における動作＞
以下に、図７を参照して、ユーザ登録処理における動作を説明する。図７は、第３の実施形態におけるユーザ登録処理の際に、クライアント４００および各分散認証装置５００が行う動作を示すフローチャートである。
【０１３５】
まず、ユーザは、クライアント４００に対して、ユーザＩＤ情報、およびマスターパスワードを入力する。クライアント４００においては、入力部４１０が、ユーザＩＤ情報、およびマスターパスワードの入力を受け付ける（ステップＡ１００）。
【０１３６】
次に、認証情報生成部１０１が、入力された情報に基づいて、マスター認証情報を生成する。第２の実施形態と同様に、認証情報生成部１０１が、マスターパスワードのハッシュ値を計算する（ステップＡ１０１）。
【０１３７】
次に、秘密分散部４０２が、生成されたマスター認証情報に対して、秘密分散法による分散処理を行う（ステップＡ１０２）。
【０１３８】
次に、通信制御部３が、ユーザＩＤ情報、および分散されたハッシュ値（分散マスター認証情報２１５）を、各分散認証装置５００に対して送信（分散）する（ステップＡ１０３）。
【０１３９】
各分散認証装置５００においては、登録部５０１が、通信制御部１１を介して、ユーザＩＤ情報、および分散マスター認証情報２１５を受信する。各登録部５０１は、分散マスター認証情報２１５をユーザＩＤ情報と対応付けて、記憶装置１４に保存する（ステップＢ１１０）。
【０１４０】
以上が、ユーザ登録処理の動作である。
【０１４１】
＜サービス登録処理における動作＞
以下に、図８を参照して、サービス登録処理における動作を説明する。図８は、第３の実施形態におけるサービス登録処理の際に、クライアント４００、および各分散認証装置５００が行う動作を示すフローチャートである。
【０１４２】
まず、ユーザは、クライアント４００に対して、ユーザ登録処理において登録したユーザＩＤ情報、パスワード、サービス名情報、およびサービスアクセス情報を入力する。この後、クライアント４００における入力部４１０の入力の受け付け（ステップＡ３０）、およびユーザ認証の結果判定までの各ステップ（ステップＡ３１〜Ａ３３、およびステップＢ４０〜Ｂ４２）は、第２の実施形態と同様であるので、重複する詳細な説明は省略する。
【０１４３】
秘密計算部２１２によって認証成功と判定された場合（ステップＢ４２のＹＥＳ）、処理実行部５１３が、所定の処理を実行する。具体的には、処理実行部５１３は、一例として、クライアント４００に対して、認証結果（成功）を通知する（ステップＢ１３０）。
この通知は、少なくとも１台の分散認証装置５００が実行すればよい。秘密計算部２１２によって認証失敗と判定された場合（ステップＢ４２のＮＯ）、処理実行部５１３は、一例として、認証結果(失敗）を送信せずに、単に処理を終了してもよい。
【０１４４】
以下、認証成功した場合の動作を説明する。クライアント４００では、通信制御部３が、少なくとも１台の分散認証装置５００から認証結果（成功）の通知を受信する（ステップＡ１２０）。本実施形態では、クライアント４００は、この認証結果（成功）の通知の受信によって、認証の成功を知ることができる。ここまでが、クライアント４００が受けるユーザ認証である。
【０１４５】
次に、秘密分散部４０２が、入力されたサービスアクセス情報に対して、秘密分散法による分散処理を行う（ステップＡ１２１）。
【０１４６】
次に、通信制御部３が、ユーザＩＤ情報、サービス名情報、および分散されたサービスアクセス情報（分散サービスアクセス情報５１７）を、各分散認証装置５００に対して送信（分散）する（ステップＡ１２２）。
【０１４７】
各分散認証装置５００においては、登録部５０１が、通信制御部１１を介して、ユーザＩＤ情報、サービス名情報、および分散サービスアクセス情報５１７を受信する。各登録部５０１は、分散サービスアクセス情報５１７をユーザＩＤ情報およびサービス名情報と対応付けて、記憶装置１４に保存する（ステップＢ１３１）。
【０１４８】
以上が、サービス登録処理の動作である。
【０１４９】
＜サービス利用処理における動作＞
以下に、図９を参照して、サービス利用処理における動作を説明する。図９は、第３の実施形態におけるサービス利用処理の際に、クライアント４００、および各分散認証装置５００が行う動作を示すフローチャートである。
【０１５０】
まず、ユーザは、クライアント４００に対して、ユーザＩＤ情報、パスワード、およびサービス名情報を入力する。この後、クライアント４００における入力部４１０の入力の受け付け（ステップＡ６０）、およびユーザ認証の結果判定までの各ステップ（ステップＡ３１〜Ａ３３、およびステップＢ４０〜Ｂ４２）は、基本的に第２の実施形態と同様である。ただし、クライアント４００から各分散装置５００に対して送信する情報として、サービス名情報が加わる（ステップＡ１４０）。各分散認証装置５００では、サービス名情報も受信する（ステップＢ１５０）。第２の実施形態と特に違いがない動作（ステップＡ６０、Ａ３１、Ａ３２、Ｂ４１、およびＢ４２）については、重複する詳細な説明は省略する。
【０１５１】
秘密計算部２１２によって認証成功と判定された場合（ステップＢ４２のＹＥＳ）、処理実行部５１３が、所定の処理を実行する。具体的には、処理実行部５１３は、一例として、クライアント４００に対して、ユーザＩＤ情報およびサービス名情報に対応する分散サービスアクセス情報５１７を送信する（ステップＢ１５１）。
【０１５２】
クライアント４００では、通信制御部３が、各分散認証装置５００から分散サービスアクセス情報５１７を受信する（ステップＡ１４１）。
【０１５３】
次に、秘密復元部４０４が、受信した複数の分散サービスアクセス情報５１７に対して復元処理を行う（ステップＡ１４２）。復元処理の結果、サービス登録処理において入力されたサービスアクセス情報が復元される。
【０１５４】
最後に、出力部１１１が、復元されたサービスアクセス情報を出力する（ステップＡ１４３）。ユーザは、出力されたサービスアクセス情報を用いて、所望のサービスを利用することができる。
【０１５５】
以上がサービス利用処理の動作である。
【０１５６】
以上、説明したように、本実施形態には、上述した第２の実施形態と同様の効果に加えて、さらに、サービスアクセス情報を安全に管理することができるという効果もある。
【０１５７】
その理由は、サービス登録の際、クライアント４００において、秘密分散部４０２が、秘密分散法によって、サービスアクセス情報を分散した分散サービスアクセス情報５１７を、各分散認証装置５００に分散して保存するからである。すなわち、本実施形態では、本システムを構成するどの分散認証装置５００から情報漏えいが起きても、その情報はサービスアクセス情報の特定に利用できないという効果があると言える。
【０１５８】
また、本実施形態には、上述した第２の実施形態に比べて、システム構成を簡易にすることができるという効果もある。
【０１５９】
その理由は、本実施形態では、第２の実施形態におけるサービスアクセス情報管理装置３００が不要だからである。  なお、本実施形態の変形例としては、以下のようなものが考えられる。
【０１６０】
例えば、クライアント４００と、分散認証装置５００の１台とが、同じ情報処理装置において実装されてもよい。
【０１６１】
また、マスター認証情報および認証情報は、第１の実施形態と同様に、入力されたマスターパスワードおよびパスワードの全部または一部がそのまま用いられてもよい。
【０１６２】
また、一部の処理の順番は、上述した通りでなくてもよい。例えば、入力部４１０は、上述した以外のタイミングで一部の情報を受け付けてもよい。すなわち、入力部４１０は、ユーザＩＤ情報およびパスワード以外の情報を、図８のステップＡ３０、または図９のステップＡ６０ではなく、ユーザ認証の成功が判明した後に、改めて受け付けてもよい。
この場合、サービス利用処理（図９）でも、分散認証装置５００による認証結果（成功）の通知を行ってもよい。その後に、クライアント４００の通信制御部３が、各分散認証装置５００に対して、サービス名情報を送信してもよい。
＜ＨＷ構成説明例＞
なお、上述した各実施形態において図１、図２および図６に示した各部は、それぞれ独立したハードウェア回路で構成されていてもよいし、ソフトウェアプログラムの機能（処理）単位（ソフトウェアモジュール）と捉えることができる。ただし、これらの図面に示した各部の区分けは、説明の便宜上の構成であり、実装に際しては、様々な構成が想定され得る。このような場合のハードウェア環境の一例を、図１０を参照して説明する。
【０１６３】
図１０は、本発明の各実施形態、および、その変形例に係る認証システムおよびサービスアクセス情報管理システムに適用可能なコンピュータ（情報処理装置）の構成を例示する図である。すなわち、図１０は、上述した各実施形態における第１の情報処理装置１、１００および４００、第２の情報処理装置１０、２００および５００、またはサービスアクセス情報管理装置３００の少なくとも何れかを実現可能なコンピュータの構成であって、上述した各実施形態における各機能を実現可能なハードウェア環境を示す。
【０１６４】
図１０に示したコンピュータ９００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）９０１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９０２、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９０３、通信インタフェース（ＩＦ）９０４、ディスプレイ９０５、およびハードディスク装置（ＨＤＤ）９０６を備え、これらがバス９０７を介して接続された構成を含む。なお、図１０に示したコンピュータが第１の情報処理装置１、１００および４００、第２の情報処理装置１０、２００および５００、またはサービスアクセス情報管理装置３００として機能する場合、ディスプレイ９０５は常時設けられる必要はない。
【０１６５】
また、通信インタフェース９０４は、上述した各実施形態において、当該各コンピュータ間における通信を実現する一般的な通信手段である。ハードディスク装置９０６には、プログラム群９０６Ａと、各種の記憶情報９０６Ｂとが格納されている。プログラム群９０６Ａは、例えば、上述した図１、図２および図６に示した各ブロック（各部）に対応する機能を実現するためのコンピュータ・プログラムである。各種の記憶情報９０６Ｂは、例えば、図１、図２および図６に示した分散マスター認証情報１５および２１５、分散ソルト情報２１６、暗号化サービスアクセス情報３０４、および分散サービスアクセス情報５１７などである。このようなハードウェア構成において、ＣＰＵ９０１は、コンピュータ９００の全体の動作を司る。
【０１６６】
そして、上述した各実施形態を例に説明した本発明は、各実施形態の説明において参照したブロック構成図（図１、図２および図６）あるいはフローチャート（図３乃至図５、および図７乃至図９）の機能を実現可能なコンピュータ・プログラムを供給した後、そのコンピュータ・プログラムを、当該ハードウェアのＣＰＵ９０１に読み出して実行することによって達成される。また、このコンピュータ内に供給されたコンピュータ・プログラムは、読み書き可能な一時記憶メモリであるＲＡＭ９０３またはハードディスク装置９０６などの不揮発性の記憶デバイス（記憶媒体）に格納すれば良い。
【０１６７】
また、上記の場合において、当該各装置内へのコンピュータ・プログラムの供給方法は、フロッピーディスク（登録商標）またはＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ−ＲＯＭ）などの各種記録媒体を介して当該装置内にインストールする方法のように、現在では一般的な手順を採用することができる。当該各装置内へのコンピュータ・プログラムの供給方法としては、インターネット等の通信ネットワーク１０００を介して外部よりダウンロードする方法も一般的である。そして、このような場合において、本発明は、係るコンピュータ・プログラムを構成するコード、或いは係るコードが記録されたところの、コンピュータ読み取り可能な記憶媒体によって構成されると捉えることができる。
【０１６８】
以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
【０１６９】
この出願は、２０１５年８月２６日に出願された日本出願特願２０１５−１６６６９６を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【０１７０】
１    第１の情報処理装置
２、１０２、４０２    秘密分散部
３、１１、３０１    通信制御部
１０    第２の情報処理装置
１２、２１２    秘密計算部
１３、２１３、５１３    処理実行部
１４、３０３    記憶装置
１５、２１５    分散マスター認証情報
２０    入力情報
１００、４００    クライアント（第１の情報処理装置）
１０１    認証情報生成部
１０３    暗号化部
１０４、４０４    秘密復元部
１０５    復号部
１１０、４１０    入力部
１１１    出力部
２００、５００    分散認証装置（第２の情報処理装置）
２０１、５０１    登録部
２１６    分散ソルト情報
３００    サービスアクセス情報管理装置
３０２    管理部
３０４    暗号化サービスアクセス情報
５１７    分散サービスアクセス情報
【図１】
2017033442.tif 000003
【図２】
2017033442.tif 000004
【図３】
2017033442.tif 000005
【図４】
2017033442.tif 000006
【図５】
2017033442.tif 000007
【図６】
2017033442.tif 000008
【図７】
2017033442.tif 000009
【図８】
2017033442.tif 000010
【図９】
2017033442.tif 000011
【図１０】
2017033442.tif 000012
【手続補正書】
【提出日】平成30年2月8日(2018.2.8)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
あらかじめ保存する、認証に際して照合される一方の情報であるマスター認証情報が秘密分散法によって分散された分散マスター認証情報の１つと、
通信を介して接続される第１の情報処理装置から受信した、前記認証に際して照合される他方の情報である認証情報が秘密分散法によって分散された分散認証情報の１つとに基づいて、
他の第２の情報処理装置との間における通信を介する秘密計算を実行することによって、前記認証情報が前記マスター認証情報と一致するかどうかを判定する秘密計算手段と、
前記判定の結果に応じて所定の処理を実行する処理実行手段と
を含む第２の情報処理装置。
【請求項２】
前記第１の情報処理装置から、受信した前記分散マスター認証情報の１つを記憶装置に保存する登録手段を、さらに含み、
前記秘密計算手段は、前記記憶装置から読み出した前記分散マスター認証情報の１つに基づいて、前記秘密計算を実行する
請求項１記載の第２の情報処理装置。
【請求項３】
前記登録手段は、前記第１の情報処理装置から、あらかじめ預かっておく情報である預かり情報を受信し、受信した前記預かり情報を記憶装置に保存し、
前記処理実行手段は、前記判定の結果が、前記認証情報と前記マスター認証情報とが一致したことを表す認証成功である場合に、前記所定の処理として、前記預かり情報を、前記第１の情報処理装置に対して送信する
請求項２記載の第２の情報処理装置。
【請求項４】
前記預かり情報は、前記第１の情報処理装置における暗号処理に係るソルト情報が秘密分散法によって分散された情報の１つである
請求項３に記載の第２の情報処理装置。
【請求項５】
複数の、請求項１乃至４のいずれか１つに記載の第２の情報処理装置を含むシステムに接続される第１の情報処理装置において、
入力された第１の入力情報に基づく認証情報を、秘密分散法によって複数の分散認証情報に分散する秘密分散手段と、
前記複数の第２の情報処理装置に対して、前記各分散認証情報を分散するように送信する通信制御手段と
を含む第１の情報処理装置。
【請求項６】
前記秘密分散手段は、入力された第３の入力情報を、秘密分散法によって複数の前記預かり情報として分散する処理をさらに行い、
前記通信制御手段は、さらに、前記複数の第２の情報処理装置に対して、前記各預かり情報を分散するように送信し、前記複数の第２の情報処理装置から前記各預かり情報を受信し、
受信した複数の前記預かり情報を、秘密分散法によって、前記第３の入力情報に復元し、復元した前記第３の入力情報を出力する秘密復元手段を、さらに含む
請求項５に記載の第１の情報処理装置。
【請求項７】
前記復元された第３の入力情報に基づいて暗号鍵を生成し、入力された第４の入力情報を前記暗号鍵を用いて暗号化する暗号化手段を、さらに含み、
前記通信制御手段は、さらに、前記暗号化された第４の入力情報を、第３の情報処理装置に対して送信し、前記複数の第２の情報処理装置から前記預かり情報を受信した場合に、前記第３の情報処理装置から前記暗号化された第４の入力情報を受信し、
前記復元された第３の入力情報に基づいて、復号鍵を生成し、受信した前記暗号化された第４の入力情報を、前記復号鍵によって、前記第４の入力情報に復号し、復号した前記第４の入力情報を出力する復号手段を、さらに含む
請求項６記載の第１の情報処理装置。
【請求項８】
請求項５乃至７のいずれか１つに記載の第１の情報処理装置と、
前記第１の情報処理装置と接続される請求項１乃至４のいずれか１つに記載の複数の第２の情報処理装置とを含む認証システム。
【請求項９】
第１の情報処理装置に対して入力された第１の入力情報に基づく認証情報を、秘密分散法によって複数の分散認証情報に分散し、
認証に際して照合される情報であるマスター認証情報が秘密分散法によって分散された情報である各分散マスター認証情報を分散してあらかじめ保存する、複数の第２の情報処理装置に対して、前記第１の情報処理装置から、前記各分散認証情報を分散するように送信し、
前記第１の情報処理装置から受信した前記分散認証情報と、前記分散マスター認証情報とに基づいて、前記複数の第２の情報処理装置の少なくとも一部の装置間における通信を介する秘密計算を実行することによって、前記認証情報が前記マスター認証情報と一致するかどうかを判定し、
前記秘密計算を実行した前記複数の第２の情報処理装置の少なくとも１つが、前記判定の結果に応じて所定の処理を実行する
認証方法。
【請求項１０】
あらかじめ保存する、認証に際して照合される一方の情報であるマスター認証情報が秘密分散法によって分散された分散マスター認証情報の１つと、
通信を介して接続される第１の情報処理装置から受信した、前記認証に際して照合される他方の情報である認証情報が秘密分散法によって分散された分散認証情報の１つとに基づいて、
他の第２の情報処理装置との間における通信を介する秘密計算を実行することによって、前記認証情報が前記マスター認証情報と一致するかどうかを判定する秘密計算処理と、
前記判定の結果に応じて所定の処理を実行する判定実行処理と
を第２の情報処理装置であるコンピュータに実行させる第１のコンピュータ・プログラム。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０１６８
【補正方法】変更
【補正の内容】
【０１６８】
以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
なお、上述した実施形態及びその変形例の一部又は全部は、以下の付記のようにも記載されうる。しかしながら、上述した実施形態及びその変形例により例示的に説明した本発明は、以下には限らない。即ち、
（付記１）
あらかじめ保存する、認証に際して照合される一方の情報であるマスター認証情報が秘密分散法によって分散された分散マスター認証情報の１つと、
通信を介して接続される第１の情報処理装置から受信した、前記認証に際して照合される他方の情報である認証情報が秘密分散法によって分散された分散認証情報の１つとに基づいて、
他の第２の情報処理装置との間における通信を介する秘密計算を実行することによって、前記認証情報が前記マスター認証情報と一致するかどうかを判定する秘密計算手段と、
前記判定の結果に応じて所定の処理を実行する処理実行手段と
を含む第２の情報処理装置。
（付記２）
前記第１の情報処理装置から、受信した前記分散マスター認証情報の１つを記憶装置に保存する登録手段を、さらに含み、
前記秘密計算手段は、前記記憶装置から読み出した前記分散マスター認証情報の１つに基づいて、前記秘密計算を実行する
付記１記載の第２の情報処理装置。
（付記３）
前記登録手段は、前記第１の情報処理装置から、あらかじめ預かっておく情報である預かり情報を受信し、受信した前記預かり情報を記憶装置に保存し、
前記処理実行手段は、前記判定の結果が、前記認証情報と前記マスター認証情報とが一致したことを表す認証成功である場合に、前記所定の処理として、前記預かり情報を、前記第１の情報処理装置に対して送信する
付記２記載の第２の情報処理装置。
（付記４）
前記マスター認証情報は、第１の文字列に基づくハッシュ値であり、
前記認証情報は、第２の文字列に基づくハッシュ値であり、
前記秘密計算手段は、ハッシュの計算を行う秘密計算と、一致の判定を行う秘密計算とを組み合わせることにより、前記認証情報が前記マスター認証情報と一致するかどうかを判定する
付記１乃至３のいずれか１つに記載の第２の情報処理装置。
（付記５）
前記マスター認証情報は、文字列を含むマスターパスワードであり、
前記認証情報は前記第１の情報処理装置に対して入力された文字列を含むパスワードである
付記１乃至４のいずれか１つに記載の第２の情報処理装置。
（付記６）
前記預かり情報は、前記第１の情報処理装置における暗号処理に係るソルト情報が秘密分散法によって分散された情報の１つである
付記３乃至５のいずれか１つに記載の第２の情報処理装置。
（付記７）
複数の、付記１乃至６のいずれか１つに記載の第２の情報処理装置を含むシステムに接続される第１の情報処理装置において、
入力された第１の入力情報に基づく認証情報を、秘密分散法によって複数の分散認証情報に分散する秘密分散手段と、
前記複数の第２の情報処理装置に対して、前記各分散認証情報を分散するように送信する通信制御手段と
を含む第１の情報処理装置。
（付記８）
入力された第２の入力情報に基づいて前記マスター認証情報を生成し、前記第１の入力情報に基づいて前記認証情報を生成する認証情報生成手段を、さらに含み、
前記秘密分散手段は、生成された前記マスター認証情報を、秘密分散法によって複数の分散マスター認証情報に分散する処理をさらに行い、
前記通信制御手段は、前記複数の第２の情報処理装置に対して、前記各分散マスター認証情報を分散するように送信する処理をさらに行う
付記７記載の第１の情報処理装置。
（付記９）
前記認証情報生成手段は、前記第２の入力情報に基づくハッシュ値を前記マスター認証情報として生成し、前記第１の入力情報に基づくハッシュ値を前記認証情報として生成する
付記８記載の第１の情報処理装置。
（付記１０）
前記秘密分散手段は、入力された第３の入力情報を、秘密分散法によって複数の前記預かり情報として分散する処理をさらに行い、
前記通信制御手段は、さらに、前記複数の第２の情報処理装置に対して、前記各預かり情報を分散するように送信し、前記複数の第２の情報処理装置から前記各預かり情報を受信し、
受信した複数の前記預かり情報を、秘密分散法によって、前記第３の入力情報に復元し、復元した前記第３の入力情報を出力する秘密復元手段を、さらに含む
付記７乃至９のいずれか１つに記載の第１の情報処理装置。
（付記１１）
前記復元された第３の入力情報に基づいて暗号鍵を生成し、入力された第４の入力情報を前記暗号鍵を用いて暗号化する暗号化手段を、さらに含み、
前記通信制御手段は、さらに、前記暗号化された第４の入力情報を、第３の情報処理装置に対して送信し、前記複数の第２の情報処理装置から前記預かり情報を受信した場合に、前記第３の情報処理装置から前記暗号化された第４の入力情報を受信し、
前記復元された第３の入力情報に基づいて、復号鍵を生成し、受信した前記暗号化された第４の入力情報を、前記復号鍵によって、前記第４の入力情報に復号し、復号した前記第４の入力情報を出力する復号手段を、さらに含む
付記１０記載の第１の情報処理装置。
（付記１２）
前記第１の入力情報は、認証に際して入力された文字列を含むパスワードである
付記７乃至１１のいずれか１つに記載の第１の情報処理装置。
（付記１３）
前記第２の入力情報は、認証より前に入力された文字列を含むマスターパスワードである
付記８乃至１２のいずれか１つに記載の第１の情報処理装置。
（付記１４）
前記第３の入力情報は、サービスにアクセスする際に使用される情報であるサービスアクセス情報である
付記１０、１２、または１３のいずれか１つに記載の第１の情報処理装置。
（付記１５）
前記第３の入力情報は、前記暗号鍵および前記復号鍵の生成に用いられるソルト情報であり、
前記第４の入力情報は、サービスにアクセスする際に使用される情報であるサービスアクセス情報である
付記１１乃至１３のいずれか１つに記載の第１の情報処理装置。
（付記１６）
付記７乃至１５のいずれか１つに記載の第１の情報処理装置と、
前記第１の情報処理装置と接続される付記１乃至６のいずれか１つに記載の複数の第２の情報処理装置とを含む認証システム。
（付記１７）
前記第１の情報処理装置として、付記１１または１５記載の第１の情報処理装置を含み、
さらに、前記第３の情報処理装置を含む
付記１６記載の認証システム。
（付記１８）
第１の情報処理装置に対して入力された第１の入力情報に基づく認証情報を、秘密分散法によって複数の分散認証情報に分散し、
認証に際して照合される情報であるマスター認証情報が秘密分散法によって分散された情報である各分散マスター認証情報を分散してあらかじめ保存する、複数の第２の情報処理装置に対して、前記第１の情報処理装置から、前記各分散認証情報を分散するように送信し、
前記第１の情報処理装置から受信した前記分散認証情報と、前記分散マスター認証情報とに基づいて、前記複数の第２の情報処理装置の少なくとも一部の装置間における通信を介する秘密計算を実行することによって、前記認証情報が前記マスター認証情報と一致するかどうかを判定し、
前記秘密計算を実行した前記複数の第２の情報処理装置の少なくとも１つが、前記判定の結果に応じて所定の処理を実行する
認証方法。
（付記１９）
前記第１の情報処理装置に対して入力された第２の入力情報に基づいて前記マスター認証情報を、さらに生成し、
前記マスター認証情報を、秘密分散法によって複数の分散マスター認証情報に、さらに分散し、
前記複数の第２の情報処理装置に対して、前記第１の情報処理装置から、前記各分散マスター認証情報を分散するように、さらに送信し、
前記各第２の情報処理装置において、前記第１の情報処理装置から受信した前記分散マスター認証情報を、さらに保存する
付記１８記載の認証方法。
（付記２０）
前記第２の入力情報に基づくハッシュ値を前記マスター認証情報として生成し、
前記第１の入力情報に基づくハッシュ値を前記認証情報として生成し、
ハッシュの計算を行う秘密計算と、一致の判定を行う秘密計算とを組み合わせることにより、前記認証情報が前記マスター認証情報と一致するかどうかを判定する
付記１９記載の認証方法。
（付記２１）
前記第１の情報処理装置に対して入力された第３の入力情報を、秘密分散法によって複数の預かり情報として、さらに分散し、
前記複数の第２の情報処理装置に対して、前記第１の情報処理装置から、前記各預かり情報を分散するように、さらに送信し、
前記各第２の情報処理装置において、前記第１の情報処理装置から受信した前記預かり情報を、さらに保存し、
前記所定の処理として、前記複数の第２の情報処理装置の少なくとも１つから、保存された前記預かり情報を、前記第１の情報処理装置に対して送信し、
受信した複数の前記預かり情報を、秘密分散法によって、前記第３の入力情報に、さらに復元し、
復元した前記第３の入力情報を、さらに出力する
付記１８乃至２０のいずれか１つに記載の認証方法。
（付記２２）
前記復元された第３の入力情報に基づいて暗号鍵を、さらに生成し、
前記第１の情報処理装置に対して入力された第４の入力情報を前記暗号鍵を用いて、さらに暗号化し、
前記暗号化された第４の入力情報を、第３の情報処理装置に対して、さらに送信し、
前記複数の第２の情報処理装置から前記預かり情報を受信した場合に、前記第３の情報処理装置から前記暗号化された第４の入力情報を、さらに受信し、
前記復元された第３の入力情報に基づいて、復号鍵を、さらに生成し、
受信した前記暗号化された第４の入力情報を、前記復号鍵によって、前記第４の入力情報に、さらに復号し、
復号した前記第４の入力情報を、さらに出力する
付記２１記載の認証方法。
（付記２３）
あらかじめ保存する、認証に際して照合される一方の情報であるマスター認証情報が秘密分散法によって分散された分散マスター認証情報の１つと、
通信を介して接続される第１の情報処理装置から受信した、前記認証に際して照合される他方の情報である認証情報が秘密分散法によって分散された分散認証情報の１つとに基づいて、
他の第２の情報処理装置との間における通信を介する秘密計算を実行することによって、前記認証情報が前記マスター認証情報と一致するかどうかを判定する秘密計算処理と、
前記判定の結果に応じて所定の処理を実行する判定実行処理と
を第２の情報処理装置であるコンピュータに実行させる第１のコンピュータ・プログラムを記録する記録媒体。
（付記２４）
前記第１の情報処理装置から、受信した前記分散マスター認証情報の１つを記憶装置に保存する登録処理を、さらに含み、
前記秘密計算処理において、前記記憶装置から読み出した前記分散マスター認証情報の１つに基づいて、前記秘密計算を実行する
付記２３記載の第１のコンピュータ・プログラムを記録する記録媒体。
（付記２５）
前記第１の情報処理装置から、あらかじめ預かっておく情報である預かり情報を受信し、受信した前記預かり情報を記憶装置に保存する預かり情報登録処理を、さらに含み、
前記判定実行処理において、前記判定の結果が、前記認証情報と前記マスター認証情報とが一致したことを表す認証成功である場合に、前記所定の処理として、前記預かり情報を、前記第１の情報処理装置に対して送信する
付記２３または２４記載の第１のコンピュータ・プログラムを記録する記録媒体。
（付記２６）
前記マスター認証情報は、第１の文字列に基づくハッシュ値であり、
前記認証情報は、第２の文字列に基づくハッシュ値であり、
前記秘密計算処理において、ハッシュの計算を行う秘密計算と、一致の判定を行う秘密計算とを組み合わせることにより、前記認証情報が前記マスター認証情報と一致するかどうかを判定する
付記２３乃至２５のいずれか１つに記載の第１のコンピュータ・プログラムを記録する記録媒体。
（付記２７）
入力された第１の入力情報に基づく認証情報を、秘密分散法によって複数の分散認証情報に分散する秘密分散処理と、
付記２３乃至２６のいずれか１つに記載の第１のコンピュータ・プログラムが実行される、複数の情報処理装置に対して、前記各分散認証情報を分散するように送信する通信制御処理と
をコンピュータに実行させる第２のコンピュータ・プログラムを記録する記録媒体。
（付記２８）
入力された第２の入力情報に基づいて前記マスター認証情報を生成し、前記第１の入力情報に基づいて前記認証情報を生成する認証情報生成処理と、
生成された前記マスター認証情報を、秘密分散法によって複数の分散マスター認証情報に分散する処理と、
前記複数の情報処理装置に対して、前記各分散マスター認証情報を分散するように送信する処理とを、さらにコンピュータに実行させる
付記２７記載の第２のコンピュータ・プログラムを記録する記録媒体。
（付記２９）
前記認証情報生成処理において、前記第２の入力情報に基づくハッシュ値を前記マスター認証情報として生成し、前記第１の入力情報に基づくハッシュ値を前記認証情報として生成する
付記２８記載の第２のコンピュータ・プログラムを記録する記録媒体。
（付記３０）
入力された第３の入力情報を、秘密分散法によって複数の前記預かり情報として分散する処理と
前記複数の情報処理装置に対して、前記各預かり情報を分散するように送信する処理とをさらにコンピュータに実行させ、
前記複数の情報処理装置から前記各預かり情報を受信した場合に、
受信した複数の前記預かり情報を、秘密分散法によって、前記第３の入力情報に復元し、復元した前記第３の入力情報を、さらに出力する
付記２７乃至２９のいずれか１つに記載の第２のコンピュータ・プログラムを記録する記録媒体。
（付記３１）
前記復元された第３の入力情報に基づいて暗号鍵を生成し、入力された第４の入力情報を前記暗号鍵を用いて暗号化する暗号化処理と、
前記暗号化された第４の入力情報を、第３の情報処理装置に対して送信する処理と、
前記複数の第２の情報処理装置から前記預かり情報を受信した場合に、前記第３の情報処理装置から前記暗号化された第４の入力情報を受信する処理と、
前記復元された第３の入力情報に基づいて、復号鍵を生成し、受信した前記暗号化された第４の入力情報を、前記復号鍵によって、前記第４の入力情報に復号し、復号した前記第４の入力情報を出力する復号処理とを、さらにコンピュータに実行させる
付記３０記載の第２のコンピュータ・プログラムを記録する記録媒体。
【国際調査報告】
2017033442.tif 000013
2017033442.tif 000014
2017033442.tif 000015
2017033442.tif 000016