(57)【要約】      （修正有）【課題】ユーザの秘密情報を管理するコストを低減させながらも安全なユーザ認証を実行することが可能な情報処理装置を提供する。【解決手段】クライアント装置１００はユーザを識別するユーザ識別情報及び公開鍵認証方式で用いられる公開鍵の入力を受け付ける第一の入力部と、前記ユーザ識別情報及び前記公開鍵を検証者であるサーバ装置２００に登録する登録部と、前記検証者にユーザ認証させる際に前記ユーザ識別情報及び前記公開鍵に対応する秘密鍵の入力を受け付ける第二の入力部と、前記公開鍵に対応する秘密鍵を用いて前記検証者に対して回答する認証処理部と、を備える。係る情報処理装置は、ユーザの秘密情報を管理するコストを低減させながらも安全なユーザ認証を実行することが可能となる。【選択図】図１
2014090372.tif 000002
【特許請求の範囲】
【請求項１】
ユーザを識別するユーザ識別情報及び公開鍵認証方式で用いられる公開鍵の入力を受け付ける第一の入力部と、
前記ユーザ識別情報及び前記公開鍵を検証者に登録する登録部と、
前記検証者にユーザ認証させる際に前記ユーザ識別情報及び前記公開鍵に対応する秘密鍵の入力を受け付ける第二の入力部と、
前記公開鍵に対応する秘密鍵を用いて前記検証者に対して回答する認証処理部と、
を備える、情報処理装置。
【請求項２】
前記検証者に登録される前記公開鍵及び秘密鍵のペアを生成する鍵生成部をさらに備え、
前記登録部は、前記鍵生成部が生成した前記公開鍵を前記検証者に登録し、前記認証処理部は、前記検証者にユーザ認証させる際に前記鍵生成部が生成した前記秘密鍵を用いる、請求項１に記載の情報処理装置。
【請求項３】
前記登録部は、他の装置によって生成された前記公開鍵を前記検証者に登録し、前記認証処理部は、前記検証者にユーザ認証させる際に前記他の装置が生成した前記秘密鍵を用いる、請求項１に記載の情報処理装置。
【請求項４】
前記登録部は、前記ユーザ識別情報として前記公開鍵を一部に含むメールアドレスを前記検証者に登録する、請求項１に記載の情報処理装置。
【請求項５】
前記公開鍵認証方式は、前記公開鍵が、ｍ本のｎ変数の２次多項式（ｍ、ｎはいずれも２以上の整数）で構成される関数を用いて生成される公開鍵認証方式である、請求項１に記載の情報処理装置。
【請求項６】
証明者が登録した、ユーザを識別するユーザ識別情報及び公開鍵認証方式で用いられる公開鍵を取得する認証情報取得部と、
ユーザから入力された前記ユーザ識別情報及び前記認証情報取得部が取得した該ユーザ識別情報に対応する前記公開鍵を用いたユーザ認証を実行する認証処理部と、
を備える、情報処理装置。
【請求項７】
前記認証処理部は、ユーザ認証を実行してユーザを認証すると、該ユーザに使用させるデータを提供する、請求項６に記載の情報処理装置。
【請求項８】
前記認証処理部は、前記データを、前記ユーザ認証に用いた公開鍵を用いて暗号化した状態で提供する、請求項７に記載の情報処理装置。
【請求項９】
前記認証処理部は、前記ユーザ識別情報として前記公開鍵を一部に含むメールアドレスが登録された場合、前記公開鍵部分を除いたメールアドレスに認証のためのメッセージを送信する、請求項６に記載の情報処理装置。
【請求項１０】
ユーザ認証を要求する第１の情報処理装置と、
前記第１の情報処理装置から送られた情報を用いてユーザ認証を実行する第２の情報処理装置と、
を備え、
前記第１の情報処理装置は、
ユーザを識別するユーザ識別情報及び公開鍵認証方式で用いられる公開鍵をユーザに入力させることで前記第２の情報処理装置に登録し、前記第２の情報処理装置にユーザ認証させる際に前記ユーザ識別情報及び前記公開鍵に対応する秘密鍵をユーザに入力させ、前記公開鍵に対応する前記秘密鍵を用いて前記第２の情報処理装置に対して回答する第１の認証処理部を備え、
前記第２の情報処理装置は、
前記第１の情報処理装置が登録した、ユーザを識別するユーザ識別情報及び公開鍵認証方式で用いられる公開鍵を用いて、前記第１の情報処理装置のユーザから入力された前記ユーザ識別情報及び前記公開鍵を用いてユーザ認証を実行する第２の認証処理部を備える、情報処理システム。
【請求項１１】
ユーザを識別するユーザ識別情報及び公開鍵認証方式で用いられる公開鍵の入力を受け付ける第一の入力ステップと、
前記ユーザ識別情報及び前記公開鍵を検証者に登録する登録ステップと、
前記検証者にユーザ認証させる際に前記ユーザ識別情報及び前記公開鍵に対応する秘密鍵の入力を受け付ける第二の入力ステップと、
前記公開鍵に対応する秘密鍵を用いて前記検証者に対して回答する認証処理ステップと、
を備える、情報処理方法。
【請求項１２】
証明者が登録した、ユーザを識別するユーザ識別情報及び公開鍵認証方式で用いられる公開鍵を取得する認証情報取得ステップと、
ユーザから入力された前記ユーザ識別情報及び前記認証情報取得ステップで取得された該ユーザ識別情報に対応する前記公開鍵を用いたユーザ認証を実行する認証処理ステップと、
を備える、情報処理方法。
【請求項１３】
コンピュータに、
ユーザを識別するユーザ識別情報及び公開鍵認証方式で用いられる公開鍵の入力を受け付ける第一の入力ステップと、
前記ユーザ識別情報及び前記公開鍵を検証者に登録する登録ステップと、
前記検証者にユーザ認証させる際に前記ユーザ識別情報及び前記公開鍵に対応する秘密鍵の入力を受け付ける第二の入力ステップと、
前記公開鍵に対応する秘密鍵を用いて前記検証者に対して回答する認証処理ステップと、
を実行させる、コンピュータプログラム。
【請求項１４】
コンピュータに、
証明者が登録した、ユーザを識別するユーザ識別情報及び公開鍵認証方式で用いられる公開鍵を取得する認証情報取得ステップと、
ユーザから入力された前記ユーザ識別情報及び前記認証情報取得ステップで取得された該ユーザ識別情報に対応する前記公開鍵を用いたユーザ認証を実行する認証処理ステップと、
を実行させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理装置、情報処理システム、情報処理方法及びコンピュータプログラムに関する。
【背景技術】
【０００２】
インターネットの普及に伴い、インターネットで各種サービスをＷｅｂ上で提供するＷｅｂサービスも一般的なものとなっている。Ｗｅｂサービスにおいてユーザの認証として一般的に用いられているのが、ユーザＩＤ及びパスワードによる認証である。ユーザは、Ｗｅｂサービスを提供するサーバに予めユーザＩＤ及びパスワードを登録し、Ｗｅｂサービスを利用する際にはブラウザなどでユーザＩＤ及びパスワードを入力する。サーバは、入力されたユーザＩＤ及びパスワードが、予め登録されたユーザＩＤ及びパスワードと一致するかどうかによってユーザの認証を行なう。
【０００３】
特にパスワードは、ユーザを認証するために入力されるものであるから、ユーザ側でもサーバ側でも厳重に管理される必要がある、機密度の高い秘密情報である。すなわち、サーバ側ではユーザが登録したパスワードが漏洩しないように厳重に管理する必要があるし、ユーザ側ではパスワードを覚えて忘れないようにしたり、他者に漏らしたりすることの無いように厳重に管理する必要がある。
【０００４】
また、本人確認を確実にするための技術を開示したものとして例えば特許文献１がある。特許文献１に開示されているのは、電話番号による端末の認証によって、公開鍵と端末の結びつきを保証するための技術である。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−６９５６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
既存のＷｅｂサービスは、ユーザの秘密情報であるパスワードをサーバ側に送信する必要がある。サーバ側は、ユーザの秘密情報であるパスワードを厳重に管理するコストがかかり、ユーザ側もパスワードを厳重に管理しておく必要があるとともに、例えば悪意のあるサイトにログインしてしまった場合にパスワードが盗み取られるリスクがある。このリスクを低減するために、Ｗｅｂサービスごとに異なるパスワードを設定するような運用も推奨されているが、Ｗｅｂサービスごとに異なるパスワードを設定する場合は、ユーザによってパスワード管理のコストがさらに増えることになる。
【０００７】
そこで、本開示は、ユーザの秘密情報を管理するコストを低減させながらも安全なユーザ認証を実行することが可能な、新規かつ改良された情報処理装置、情報処理システム、情報処理方法及びコンピュータプログラムを提供する。
【課題を解決するための手段】
【０００８】
本開示によれば、ユーザを識別するユーザ識別情報及び公開鍵認証方式で用いられる公開鍵の入力を受け付ける第一の入力部と、前記ユーザ識別情報及び前記公開鍵を検証者に登録する登録部と、前記検証者にユーザ認証させる際に前記ユーザ識別情報及び前記公開鍵に対応する秘密鍵の入力を受け付ける第二の入力部と、前記公開鍵に対応する秘密鍵を用いて前記検証者に対して回答する認証処理部と、を備える、情報処理装置が提供される。
【０００９】
また本開示によれば、証明者が登録した、ユーザを識別するユーザ識別情報及び公開鍵認証方式で用いられる公開鍵を取得する認証情報取得部と、ユーザから入力された前記ユーザ識別情報及び前記認証情報取得部が取得した該ユーザ識別情報に対応する前記公開鍵を用いたユーザ認証を実行する認証処理部と、を備える、情報処理装置が提供される。
【００１０】
また本開示によれば、ユーザ認証を要求する第１の情報処理装置と、前記第１の情報処理装置から送られた情報を用いてユーザ認証を実行する第２の情報処理装置と、を備え、前記第１の情報処理装置は、ユーザを識別するユーザ識別情報及び公開鍵認証方式で用いられる公開鍵をユーザに入力させることで前記第２の情報処理装置に登録し、前記第２の情報処理装置にユーザ認証させる際に前記ユーザ識別情報及び前記公開鍵に対応する秘密鍵をユーザに入力させ、前記公開鍵に対応する前記秘密鍵を用いて前記第２の情報処理装置に対して回答する第１の認証処理部を備え、前記第２の情報処理装置は、前記第１の情報処理装置が登録した、ユーザを識別するユーザ識別情報及び公開鍵認証方式で用いられる公開鍵を用いて、前記第１の情報処理装置のユーザから入力された前記ユーザ識別情報及び前記公開鍵を用いてユーザ認証を実行する第２の認証処理部を備える、情報処理システムが提供される。
【００１１】
また本開示によれば、ユーザを識別するユーザ識別情報及び公開鍵認証方式で用いられる公開鍵の入力を受け付ける第一の入力ステップと、前記ユーザ識別情報及び前記公開鍵を検証者に登録する登録ステップと、前記検証者にユーザ認証させる際に前記ユーザ識別情報及び前記公開鍵に対応する秘密鍵の入力を受け付ける第二の入力ステップと、前記公開鍵に対応する秘密鍵を用いて前記検証者に対して回答する認証処理ステップと、を備える、情報処理方法が提供される。
【００１２】
また本開示によれば、証明者が登録した、ユーザを識別するユーザ識別情報及び公開鍵認証方式で用いられる公開鍵を取得する認証情報取得ステップと、ユーザから入力された前記ユーザ識別情報及び前記認証情報取得ステップで取得された該ユーザ識別情報に対応する前記公開鍵を用いたユーザ認証を実行する認証処理ステップと、を備える、情報処理方法が提供される。
【００１３】
また本開示によれば、コンピュータに、ユーザを識別するユーザ識別情報及び公開鍵認証方式で用いられる公開鍵の入力を受け付ける第一の入力ステップと、前記ユーザ識別情報及び前記公開鍵を検証者に登録する登録ステップと、前記検証者にユーザ認証させる際に前記ユーザ識別情報及び前記公開鍵に対応する秘密鍵の入力を受け付ける第二の入力ステップと、前記公開鍵に対応する秘密鍵を用いて前記検証者に対して回答する認証処理ステップと、を実行させる、コンピュータプログラムが提供される。
【００１４】
また本開示によれば、コンピュータに、証明者が登録した、ユーザを識別するユーザ識別情報及び公開鍵認証方式で用いられる公開鍵を取得する認証情報取得ステップと、ユーザから入力された前記ユーザ識別情報及び前記認証情報取得ステップで取得された該ユーザ識別情報に対応する前記公開鍵を用いたユーザ認証を実行する認証処理ステップと、を実行させる、コンピュータプログラムが提供される。
【発明の効果】
【００１５】
以上説明したように本開示によれば、ユーザの秘密情報を管理するコストを低減させながらも安全なユーザ認証を実行することが可能な、新規かつ改良された情報処理装置、情報処理システム、情報処理方法及びコンピュータプログラムを提供することができる。
【図面の簡単な説明】
【００１６】
【図１】本開示の一実施形態に係る情報処理システム１の全体構成例を示す説明図である。
【図２】本開示の一実施形態に係る情報処理システム１の全体構成例を示す説明図である。
【図３】本開示の一実施形態に係る情報処理システム１の全体構成例を示す説明図である。
【図４】本開示の一実施形態に係るクライアント装置１００の機能構成例を示す説明図である。
【図５】本開示の一実施形態に係るサーバ装置２００の機能構成例を示す説明図である。
【図６】本開示の一実施形態に係る情報処理システム１の動作例を示す流れ図である。
【図７】サーバ装置２００に登録した公開鍵を用いたユーザ認証処理例を示す説明図である。
【図８】サーバ装置２００に登録した公開鍵を用いたユーザ認証処理例を示す説明図である。
【図９】本開示の一実施形態に係るサーバ装置２００ａに登録した公開鍵を用いたユーザ認証処理例を示す説明図である。
【図１０】本開示の一実施形態に係るサーバ装置２００に登録した公開鍵を用いたユーザ認証処理例を示す説明図である。
【図１１】本開示の一実施形態に係るサーバ装置２００に登録した公開鍵を用いたユーザ認証処理例を示す説明図である。
【図１２】ハードウェア構成例を示す説明図である。
【図１３】公開鍵認証方式に係るアルゴリズムの構成について説明するための説明図である。
【図１４】電子署名方式に係るアルゴリズムの構成について説明するための説明図である。
【発明を実施するための形態】
【００１７】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１８】
なお、説明は以下の順序で行うものとする。
＜１．従来のＷｅｂサービスの例＞
［ユーザＩＤ及びパスワードによる認証の例］
［チケット予約システムの例］
［施錠・解錠システムの例］
［従来のシステムの問題点］
＜２．本開示の一実施形態＞
［システム構成例］
［クライアント装置の構成例］
［サーバ装置の構成例］
［情報処理システムの動作例］
［公開鍵の登録］
［ユーザ認証処理例（１）］
［ユーザ認証処理例（２）］
［ユーザ認証処理例（３）］
［拡張例］
＜３．ハードウェア構成例＞
＜４．まとめ＞
【００１９】
＜１．従来のＷｅｂサービスの例＞
本開示の好適な実施の形態について詳細に説明する前に、まず、従来のＷｅｂサービス等で用いられているパスワード等を用いた本人確認処理の例を説明する。そして、従来のＷｅｂサービス等で用いられているパスワード等を用いた本人確認処理が抱える問題点についても説明する。
【００２０】
［ユーザＩＤ及びパスワードによる認証の例］
従来のＷｅｂサービスで用いられている本人確認処理で最も一般的なのが、ユーザＩＤ及びパスワードによる認証処理である。あるＷｅｂサービスを利用しようとするユーザは、ユーザ登録の際に自ら決定したパスワードを、Ｗｅｂサービスを提供するサーバに登録する。そして、ユーザはそのＷｅｂサービスを利用する場合には、ブラウザ等でユーザＩＤ及びパスワードを入力する。Ｗｅｂサービス側は、ユーザＩＤ及びパスワードが登録されているものと一致するかどうかサーバで判断し、一致していればユーザにサービスの利用を許可する。
【００２１】
なお、高いセキュリティが求められるＷｅｂサービスの場合は、ユーザにパスワードを登録させるのではなく、Ｗｅｂサービス側でパスワードを生成し、ユーザにその生成したパスワードを通知することもある。いずれにせよ、ユーザＩＤ及びパスワードによる認証では、サーバ側にパスワードを登録しておき、認証時にユーザＩＤ及びパスワードをクライアント側からサーバ側に送信する必要がある。
【００２２】
［チケット予約システムの例］
次に、従来のＷｅｂサービスの例としてチケット予約システムを説明する。チケットを予約する際には、ユーザは、Ｗｅｂ等を経由して映画館や航空券の座席等の予約を行い、メール等でユーザへ一時的に発行されるパスワードや識別子を受領する。そして、入場時や搭乗時等には、ユーザは、例えば発行されたパスワードや識別子を受付カウンター等で係員に伝えることにより、実際のチケットを受け取ったり、予めチケットをＩＣカードに記録しておき、そのＩＣカードをかざすなどして、自動で改札を行ったりすることができる。
【００２３】
なお、チケット予約システムの発展形として、事前に登録されている会員情報と予約情報を紐付けすることにより、機械での確認ができるなど利便性を向上させた認証システムも提供されている。
【００２４】
［施錠・解錠システムの例］
従来のＷｅｂサービスのようにパスワードが発行されるシステムとして、コインロッカーやホテル等の施錠・解錠システムがある。例えば、荷物を預けて施錠する時にパスワードが発行され、受け取り時にパスワードを入力することで解錠するようなコインロッカーのシステムがある。また、ロッカーに備えられている鍵の替わりに利用者が保持しているＩＣカードを鍵とするコインロッカーのシステムもある。
【００２５】
また例えば、ホテルへのチェックイン時に磁気カードがフロントで配布され、その磁気カードで部屋の扉を解錠するシステムがある。磁気カードに記録された鍵は、所定の期日を過ぎると無効化されるので、仮に宿泊者が磁気カードを返却忘れたとしても問題は無い。また、ルームキーの替わりに、共通鍵認証方式を用いたスマートフォンのアプリケーションを利用したシステムもある。
【００２６】
［従来のシステムの問題点］
しかし、このユーザＩＤ及びパスワードによる認証では、サーバ側は、ユーザの秘密情報であるパスワードを厳重に管理するコストが掛かる。またユーザ側も、パスワードを厳重に管理しておく必要があるとともに、例えば悪意のあるサイト（フィッシングサイト）にログインしてしまった場合に、厳重に管理しておいた筈のパスワードが盗み取られるリスクがある。これらのリスクを低減するために、例えばユーザがＷｅｂサービスごとに異なるパスワードを設定すると、ユーザにとってはパスワード管理のコストがさらに増えることになる。
【００２７】
また従来のチケット予約システムは、ユーザはチケットを受け取る際にパスワードや識別子の手入力が必要になるので、ユーザにとっての利便性が低下する。また従来のチケット予約システムは、予約時にメールでパスワードや識別子を送付すると、メール送付時にそのパスワードや識別子が悪意のある第三者に盗み取られてしまうリスクもある。
【００２８】
さらに従来のチケット予約システムは、入場のために実際のチケットを発行することで、チケットを確認するスタッフが必要になるという問題が生じる。さらにチケットをＩＣカードに記録した場合は、単純なＩＣカードの識別番号のみに基づいた確認である場合には、偽造が比較的容易であるという問題が生じ、セキュリティを高めるためにＩＣカードに埋め込まれた秘密情報に基づいた認証を施す場合には、予めＩＣカードに安全に秘密情報を埋め込む手順が発生する。予めＩＣカードに秘密情報を埋め込むことで、他の業者が容易にサービスを利用できなかったり、特定業者のみのサービスに閉じてしまい、広い場面で活用する機会が低下したりする問題が生じる。
【００２９】
また、施錠・解錠システムにパスワードを用いると、ユーザのパスワード入力の手間がかかる問題が生じる。また施錠・解錠システムにパスワードを用いると、ユーザがパスワードを紙に印刷する場合には印刷コストが発生し、また紙に印刷されたパスワードを他者に覗き見られるリスクがあるという問題が生じる。
【００３０】
また、施錠・解錠システムに磁気カードを利用すると、磁気カードが偽造されてしまうという問題が生じる。また、施錠・解錠システムに共通鍵認証方式を利用すると、認証に利用する鍵を事前に安全に共有しておく必要があり、また複数のシステムでそれぞれ別の鍵を利用する必要があり、すなわち、ユーザ側の装置で鍵の切り替え管理のわずらわしさが発生する。
【００３１】
そこで、以下で説明する本開示の好適な実施の形態では、本人を認証する必要があるサービスにおいて、ユーザの秘密情報をサービスの運営者側に送信すること無く、安全に本人を認証し、サービスをユーザに安全に提供することができる技術について開示する。
【００３２】
＜２．本開示の一実施形態＞
［システム構成例］
まず、本開示の一実施形態に係る情報処理システムの全体構成例について説明する。図１は、本開示の一実施形態に係る情報処理システム１の全体構成例を示す説明図である。以下、図１を用いて本開示の一実施形態に係る情報処理システム１の全体構成例について説明する。
【００３３】
図１に示したように、本開示の一実施形態に係る情報処理システム１は、クライアント装置１００と、サーバ装置２００と、を含んで構成される。図１に示したように、クライアント装置１００と、サーバ装置２００とは、インターネット、イントラネットその他のネットワーク１０を通じて接続されている。
【００３４】
本開示の一実施形態に係る情報処理システム１は、サーバ装置２００が提供するサービスをユーザが利用する際に、公開鍵認証方式や電子署名方式によってその利用しようとするユーザの認証を行なうシステムである。クライアント装置１００は、公開鍵ｐｋ及び秘密鍵ｓｋからなる鍵のペアを生成する装置である。そしてクライアント装置１００は、サーバ装置２００が提供するサービスを利用する場合に、ユーザＩＤ及び、生成した鍵ペアの内、公開鍵ｐｋのみをサーバ装置２００へ送信する。
【００３５】
サーバ装置２００は、公開鍵認証方式や電子署名方式によってユーザの認証を行なう装置である。サーバ装置２００は、クライアント装置１００で生成され、クライアント装置１００から登録された公開鍵ｐｋを予め保持しておく。そしてサーバ装置２００は、クライアント装置１００から登録されたユーザＩＤ及びユーザＩＤに対応する公開鍵ｐｋと、クライアント装置１００で生成された公開鍵ｐｋに対応する秘密鍵ｓｋとを用いて、サービスを利用しようとするユーザの認証を行なう。
【００３６】
［公開鍵認証方式及び秘密鍵の説明］
続いて、公開鍵認証方式及び秘密鍵の説明を行なう。公開鍵認証方式とは、ある人（証明者）が、公開鍵ｐｋ及び秘密鍵ｓｋを利用して、他の人（検証者）に本人であることを納得させるための認証方式である。例えば、証明者Ａの公開鍵ｐｋＡは、検証者に公開される。一方、証明者Ａの秘密鍵ｓｋＡは、証明者により秘密に管理される。公開鍵認証方式では、公開鍵ｐｋＡに対応する秘密鍵ｓｋＡを知る者が証明者Ａ本人であるとみなされる。
【００３７】
証明者Ａが検証者Ｂに対して本人であることを証明しようとする場合、証明者Ａは、検証者Ｂと対話プロトコルを実行して、自身が公開鍵ｐｋＡに対応する秘密鍵ｓｋＡを知っていることを証明すればよい。そして、対話プロトコルにより証明者Ａが秘密鍵ｓｋＡを知っていることが検証者Ｂにより証明された場合、証明者Ａの正当性（本人であること）が証明される。
【００３８】
なお、公開鍵認証方式の安全性を確保するには、次に示す２つの条件が求められる。
【００３９】
１つ目の条件は、対話プロトコルを実行した際に秘密鍵ｓｋを持たない偽証者により偽証が成立してしまう確率を限りなく小さくすることである。この１つ目の条件が成り立つことを「健全性」と呼ぶ。つまり、健全性を有する対話プロトコルにおいては、秘密鍵ｓｋを持たない偽証者により、無視できない確率で偽証が成立することはないと言い換えられる。２つ目の条件は、対話プロトコルを実行したとしても、証明者Ａが有する秘密鍵ｓｋＡの情報が検証者Ｂに一切漏れることがないようにすることである。この２つ目の条件が成り立つことを「零知識性」と呼ぶ。
【００４０】
上記の健全性と零知識性を有する対話プロトコルを利用することにより、公開鍵認証方式の安全性が確保される。
【００４１】
公開鍵認証方式のモデルには、図１３に示すように、証明者と検証者という２つのエンティティが存在する。証明者は、鍵生成アルゴリズムＧｅｎを用いて、証明者固有の秘密鍵ｓｋと公開鍵ｐｋの組を生成する。次いで、証明者は、鍵生成アルゴリズムＧｅｎを用いて生成した秘密鍵ｓｋと公開鍵ｐｋの組を利用して検証者と対話プロトコルを実行する。このとき、証明者は、証明者アルゴリズムＰを利用して対話プロトコルを実行する。上記の通り、対話プロトコルにおいて、証明者は、証明者アルゴリズムＰを利用して、秘密鍵ｓｋを保有していることを検証者に証明する。
【００４２】
一方、検証者は、検証者アルゴリズムＶを利用して対話プロトコルを実行し、証明者が公開している公開鍵に対応する秘密鍵を、その証明者が保有しているか否かを検証する。つまり、検証者は、証明者が公開鍵に対応する秘密鍵を保有しているか否かを検証するエンティティである。このように、公開鍵認証方式のモデルは、証明者と検証者という２つのエンティティ、及び、鍵生成アルゴリズムＧｅｎ、証明者アルゴリズムＰ、検証者アルゴリズムＶという３つのアルゴリズムにより構成される。
【００４３】
なお、以下の説明において、「証明者」「検証者」という表現を用いるが、これらの表現はあくまでもエンティティを意味するものである。従って、鍵生成アルゴリズムＧｅｎ、証明者アルゴリズムＰを実行する主体は、「証明者」のエンティティに対応する情報処理装置である。同様に、検証者アルゴリズムＶを実行する主体は、情報処理装置である。
【００４４】
（鍵生成アルゴリズムＧｅｎ）
鍵生成アルゴリズムＧｅｎは、証明者により利用される。そして、鍵生成アルゴリズムＧｅｎは、証明者に固有の秘密鍵ｓｋと公開鍵ｐｋの組を生成するアルゴリズムである。鍵生成アルゴリズムＧｅｎにより生成された公開鍵ｐｋは公開される。そして、公開された公開鍵ｐｋは、検証者により利用される。一方、鍵生成アルゴリズムＧｅｎにより生成された秘密鍵ｓｋは、証明者が秘密に管理する。そして、秘密に管理される秘密鍵ｓｋは、検証者に対して公開鍵ｐｋに対応する秘密鍵ｓｋを保有していることを証明するために利用される。形式的に、鍵生成アルゴリズムＧｅｎは、セキュリティパラメータ１λ（λは０以上の整数）を入力とし、秘密鍵ｓｋと公開鍵ｐｋを出力するアルゴリズムとして、下記の式（１）のように表現される。
【００４５】
【数１】
2014090372.tif 000003
【００４６】
（証明者アルゴリズムＰ）
証明者アルゴリズムＰは、証明者により利用される。そして、証明者アルゴリズムＰは、公開鍵ｐｋに対応する秘密鍵ｓｋを保有していることを証明するアルゴリズムである。証明者アルゴリズムＰは、証明者の秘密鍵ｓｋと公開鍵ｐｋを入力とし、検証者との対話プロトコルを実行するアルゴリズムとして定義される。
【００４７】
（検証者アルゴリズムＶ）
検証者アルゴリズムＶは、検証者により利用される。そして、検証者アルゴリズムＶは、対話プロトコルの中で、公開鍵ｐｋに対応する秘密鍵ｓｋを証明者が保有しているか否かを検証するアルゴリズムである。検証者アルゴリズムＶは、証明者の公開鍵ｐｋを入力とし、証明者との間で対話プロトコルを実行した後、０又は１（１ｂｉｔ）を出力するアルゴリズムとして定義される。なお、出力０の場合には証明者が不正なものであり、出力１の場合には証明者が正当なものであるとする。形式的に、検証者アルゴリズムＶは、下記の式（２）のように表現される。
【００４８】
【数２】
2014090372.tif 000004
【００４９】
上記の通り、公開鍵認証方式は、安全性を確保するため、健全性と零知識性という２つの条件を満たすことが求められる。しかし、証明者が秘密鍵ｓｋを保有していることを証明者に証明させるためには、証明者が秘密鍵ｓｋに依存した手続きを実行し、その結果を検証者に通知して、その通知内容に基づく検証を検証者に実行させる必要がある。秘密鍵ｓｋに依存した手続きを実行するのは、健全性を担保するために必要である。一方で、この手続きの結果を検証者に通知しても、秘密鍵ｓｋの情報が一切検証者に漏れないようにする必要がある。そのため、これらの要件を満たすように、上記の鍵生成アルゴリズムＧｅｎ、証明者アルゴリズムＰ、検証者アルゴリズムＶが設計されることが必要になる。
【００５０】
次に、電子署名方式のアルゴリズムについて概要を説明する。図１４は、電子署名方式のアルゴリズムについて概要を説明するための説明図である。
【００５１】
紙文書とは異なり、ある電子化されたデータに対して押印したり署名を記載したりすることはできない。そのため、電子化されたデータの作成者を証明するためには、紙文書に押印したり署名を記載したりするのと同等の効果が得られる電子的な仕組みを必要とする。この仕組みが電子署名である。電子署名とは、データの作成者しか知らない署名データをデータに関連付けて受領者に提供し、その署名データを受領者側で検証する仕組みのことを言う。
【００５２】
（モデル）
電子署名方式のモデルには、図１４に示すように、署名者及び検証者という２つのエンティティが存在する。そして、電子署名方式のモデルは、鍵生成アルゴリズムＧｅｎ、署名生成アルゴリズムＳｉｇ、署名検証アルゴリズムＶｅｒという３つのアルゴリズムにより構成される。
【００５３】
署名者は、鍵生成アルゴリズムＧｅｎを利用して署名者固有の署名鍵ｓｋと検証鍵ｐｋとの組を生成する。また、署名者は、署名生成アルゴリズムＳｉｇを利用して文書Ｍに付与する電子署名σを生成する。つまり、署名者は、文書Ｍに電子署名を付与するエンティティである。一方、検証者は、署名検証アルゴリズムＶｅｒを利用して文書Ｍに付与された電子署名σを検証する。つまり、検証者は、文書Ｍの作成者が署名者であるか否かを確認するために、電子署名σを検証するエンティティである。
【００５４】
なお、以下の説明において、「署名者」「検証者」という表現を用いるが、これらの表現はあくまでもエンティティを意味するものである。従って、鍵生成アルゴリズムＧｅｎ、署名生成アルゴリズムＳｉｇを実行する主体は、「署名者」のエンティティに対応する情報処理装置である。同様に、署名検証アルゴリズムＶｅｒを実行する主体は、情報処理装置である。
【００５５】
（鍵生成アルゴリズムＧｅｎ）
鍵生成アルゴリズムＧｅｎは、署名者により利用される。鍵生成アルゴリズムＧｅｎは、署名者固有の署名鍵ｓｋと検証鍵ｐｋとの組を生成するアルゴリズムである。鍵生成アルゴリズムＧｅｎにより生成された検証鍵ｐｋは公開される。一方、鍵生成アルゴリズムＧｅｎにより生成された署名鍵ｓｋは、署名者により秘密に管理される。そして、署名鍵ｓｋは、文書Ｍに付与される電子署名σの生成に利用される。例えば、鍵生成アルゴリズムＧｅｎは、セキュリティパラメータ１λ（λは０以上の整数）を入力とし、署名鍵ｓｋ及び公開鍵ｐｋを出力する。この場合、鍵生成アルゴリズムＧｅｎは、形式的に、下記の式（３）のように表現することができる。
【００５６】
【数３】
2014090372.tif 000005
【００５７】
（署名生成アルゴリズムＳｉｇ）
署名生成アルゴリズムＳｉｇは、署名者により利用される。署名生成アルゴリズムＳｉｇは、文書Ｍに付与される電子署名σを生成するアルゴリズムである。署名生成アルゴリズムＳｉｇは、署名鍵ｓｋと文書Ｍとを入力とし、電子署名σを出力するアルゴリズムである。この署名生成アルゴリズムＳｉｇは、形式的に、下記の式（４）のように表現することができる。
【００５８】
【数４】
2014090372.tif 000006
【００５９】
（署名検証アルゴリズムＶｅｒ）
署名検証アルゴリズムＶｅｒは、検証者により利用される。署名検証アルゴリズムＶｅｒは、電子署名σが文書Ｍに対する正当な電子署名であるか否かを検証するアルゴリズムである。署名検証アルゴリズムＶｅｒは、署名者の検証鍵ｐｋ、文書Ｍ、電子署名σを入力とし、０又は１（１ｂｉｔ）を出力するアルゴリズムである。この署名検証アルゴリズムＶｅｒは、形式的に、下記の式（５）のように表現することができる。なお、検証者は、署名検証アルゴリズムＶｅｒが０を出力した場合（公開鍵ｐｋが文書Ｍと電子署名σを拒否する場合）に電子署名σが不当であると判断し、１を出力した場合（公開鍵ｐｋが文書Ｍと電子署名σを受理する場合）に電子署名σが正当であると判断する。
【００６０】
【数５】
2014090372.tif 000007
【００６１】
なお、公開鍵認証方式や電子署名方式によるユーザ認証時のクライアント装置１００及びサーバ装置２００の具体的な処理については後に詳述するが、一例を挙げれば以下の通りである。例えば、ユーザ認証時には、サーバ装置２００は例えばＷｅｂページでユーザＩＤの入力をクライアント装置１００に要求する。
【００６２】
クライアント装置１００を使用するユーザは、要求に応じてＷｅｂページにユーザＩＤを入力する。サーバ装置２００は、入力されたユーザＩＤに対応する公開鍵ｐｋによる認証を行なうために、クライアント装置１００へチャレンジメッセージを送信する。
【００６３】
クライアント装置１００を使用するユーザは、予めクライアント装置１００が生成した秘密鍵ｓｋを利用してサーバ装置２００から送信されたチャレンジメッセージに回答する。サーバ装置２００は、クライアント装置１００がチャレンジメッセージに正しく回答していれば、クライアント装置１００で入力されたユーザＩＤについてサービスの提供を開始する。
【００６４】
本開示の一実施形態に係る情報処理システム１は、図１に示したような構成を有することで、パスワードのようなユーザの秘密情報をサービスの運営者側に送信すること無く、安全に本人を認証し、サービスをユーザに安全に提供することができる。なお、図１では、１台のクライアント装置１００及び１台のサーバ装置２００のみを図示しているが、本開示は係る例に限定されるものではないことは言うまでもない。
【００６５】
また、図１に示した例では、鍵ペアを生成する装置と、ユーザ認証を受けようとする装置とが同一の装置（クライアント装置１００）である場合を示したが、鍵ペアを生成する装置と、ユーザ認証を受けようとする装置とは異なる装置であってもよい。
【００６６】
図２は、本開示の一実施形態に係る情報処理システム１の全体構成例を示す説明図である。図２に示した例は、鍵ペアを生成する装置と、ユーザ認証を受けようとする装置とが異なる装置である場合を示したものである。
【００６７】
図２には、２つのクライアント装置１００ａ、１００ｂと、１つのサーバ装置２００とが図示されている。図２に示した２つのクライアント装置１００ａ、１００ｂのうち、クライアント装置１００ａは、公開鍵ｐｋ及び秘密鍵ｓｋの鍵ペアを生成し、公開鍵ｐｋをサーバ装置２００に登録する装置であり、クライアント装置１００ｂは、クライアント装置１００ａで生成された秘密鍵ｓｋを用いて、公開鍵認証方式や電子署名方式によるユーザ認証を受けようとする装置である。例えば、クライアント装置１００ａはパーソナルコンピュータであり、クライアント装置１００ｂは、スマートフォン等のモバイル機器である場合に、図２に示したような情報処理システム１の構成が考えられる。
【００６８】
本開示の一実施形態に係る情報処理システム１は、図２に示したように、鍵ペアを生成する装置と、ユーザ認証を受けようとする装置とが異なる装置であっても、パスワードのようなユーザの秘密情報をサービスの運営者側に送信すること無く、安全に本人を認証し、サービスをユーザに安全に提供することができる。
【００６９】
同様に、図１に示した例では、クライアント装置が生成した公開鍵を保持する装置と、ユーザ認証を実行する装置とが同一の装置（サーバ装置２００）である場合を示したが、クライアント装置が生成した公開鍵を保持する装置と、公開鍵認証方式や電子署名方式によるユーザ認証を実行する装置とは異なる装置であってもよい。
【００７０】
図３は、本開示の一実施形態に係る情報処理システム１の全体構成例を示す説明図である。図３に示した例は、図２に示したように鍵ペアを生成する装置と、ユーザ認証を受けようとする装置とが異なる装置である場合に加え、クライアント装置が生成した公開鍵を保持する装置と、公開鍵認証方式や電子署名方式によるユーザ認証を実行する装置とが異なる装置である場合を示したものである。
【００７１】
図２には、２つのクライアント装置１００ａ、１００ｂと、サーバ装置２００ａと、検証装置２００ｂと、が図示されている。図２と同様に、クライアント装置１００ａは、公開鍵ｐｋ及び秘密鍵ｓｋの鍵ペアを生成し、公開鍵ｐｋをサーバ装置２００に登録する装置であり、クライアント装置１００ｂは、クライアント装置１００ａで生成された秘密鍵ｓｋを用いてユーザ認証を受けようとする装置である。また、サーバ装置２００ａは、クライアント装置１００ａが生成した公開鍵ｐｋを保持する装置であり、検証装置２００ｂは、サーバ装置２００ａが保持する公開鍵ｐｋを用いて、公開鍵認証方式や電子署名方式によるユーザ認証を実行する装置である。
【００７２】
本開示の一実施形態に係る情報処理システム１は、図３に示したように、鍵ペアを生成する装置と、ユーザ認証を受けようとする装置とが異なる装置であり、また、クライアント装置が生成した公開鍵を保持する装置と、公開鍵認証方式や電子署名方式によるユーザ認証を実行する装置とが異なる装置であっても、パスワードのようなユーザの秘密情報をサービスの運営者側に送信すること無く、安全に本人を認証し、サービスをユーザに安全に提供することができる。
【００７３】
以上、本開示の一実施形態に係る情報処理システム１の全体構成例について説明した。次に、本開示の一実施形態に係るクライアント装置の機能構成例について説明する。
【００７４】
［クライアント装置の構成例］
図４は、本開示の一実施形態に係るクライアント装置１００の機能構成例を示す説明図である。以下、図４を用いて、本開示の一実施形態に係るクライアント装置１００の機能構成例について説明する。
【００７５】
図４に示したのは、鍵ペアを生成する装置と、ユーザ認証を受けようとする装置とが同じ装置である場合のクライアント装置１００の機能構成例を示したものである。図４に示したように、本開示の一実施形態に係るクライアント装置１００は、鍵生成部１１０と、公開鍵認証処理部１２０と、鍵ペア保存部１３０と、を含んで構成される。
【００７６】
鍵生成部１１０は、公開鍵認証方式によるユーザ認証のために、公開鍵ｐｋ及び秘密鍵ｓｋからなる鍵ペアを生成するものである。鍵生成部１１０は、利用しようとする公開鍵認証方式に応じて、その公開鍵認証方式に適した鍵ペアを生成する。
【００７７】
なお、本開示においては、公開鍵認証方式や電子署名方式は特定のものに限られない。例えば、ＲＳＡ暗号を用いたものであってもよく、楕円曲線暗号を用いたものであってもよい。また例えば特開２０１２−９８６９０号公報等で開示されている、多次多変数連立方程式に対する求解問題の困難性に安全性の根拠をおく公開鍵認証方式や電子署名方式を用いても良い。上記文献で用いられる関数は、ｍ本のｎ変数の２次多項式（ｍ、ｎはいずれも２以上の整数）で構成される関数である。
【００７８】
例えば、８０ビット安全性を確保するためには、ＲＳＡ暗号の場合は１０２４ビット、ＥＣＤＳＡの場合でも１６０ビットの鍵長が必要となる。一方、上述の多次多変数連立方程式に対する求解問題の困難性に安全性の根拠をおく公開鍵認証方式の場合は、８０ビット安全性を確保するための鍵長は８０ビットで済む。従って、Ｗｅｂサービスのようなサービスで、ユーザが公開鍵を登録したり、秘密鍵を用いて認証を受けようとしたりする場合には、ユーザが入力する文字数が少なくなる、上述の多次多変数連立方程式に対する求解問題の困難性に安全性の根拠をおく公開鍵認証方式を用いることが、より望ましい。
【００７９】
鍵生成部１１０は、公開鍵ｐｋ及び秘密鍵ｓｋからなる鍵ペアを、鍵生成アルゴリズムに従って生成すると、その生成した鍵ペアを鍵ペア保存部１３０に保存する。鍵生成部１１０が生成した鍵ペアのうち、公開鍵ｐｋは、サーバ装置２００が提供するサービスを利用する際に、ユーザを識別するための情報（ユーザＩＤ）と共にサーバ装置２００に登録される。そして秘密鍵ｓｋは、サーバ装置２００が提供するサービスをユーザが利用しようとする際に利用される。
【００８０】
公開鍵認証処理部１２０は、サーバ装置２００が提供するサービスをユーザが利用しようとする際に、サーバ装置２００との間で公開鍵認証方式や電子署名方式を用いた認証処理を実行する。公開鍵認証処理部１２０は、サーバ装置２００との間の認証処理の際には、予めサーバ装置２００に登録された公開鍵ｐｋと、その公開鍵ｐｋに対応する秘密鍵ｓｋとを用いる。
【００８１】
鍵ペア保存部１３０は、鍵生成部１１０が生成した公開鍵ｐｋ及び秘密鍵ｓｋからなる鍵ペアを保存する。鍵ペア保存部１３０に保存された公開鍵ｐｋは、必要に応じてサーバ装置２００に送られる。また鍵ペア保存部１３０に保存された秘密鍵ｓｋは、公開鍵認証処理部１２０によるサーバ装置２００との間の認証処理の際に用いられる。
【００８２】
なお、図４では、鍵ペアを生成する装置と、ユーザ認証を受けようとする装置とが同じ装置である場合のクライアント装置１００の機能構成例を示したが、上述したように、本開示は、係る例に限定されるものではない。すなわち、鍵ペアを生成する装置と、ユーザ認証を受けようとする装置とが異なる装置であってもよく、その場合は、図４に示した鍵生成部１１０と、公開鍵認証処理部１２０とが別々の装置に設けられることになる。なお、鍵ペアを生成する装置と、ユーザ認証を受けようとする装置とが異なる装置である場合には、図４に示した鍵ペア保存部１３０は、どちらか一方に設けられていてもよく、双方に設けられていてもよい。
【００８３】
以上、図４を用いて、本開示の一実施形態に係るクライアント装置１００の機能構成例について説明した。次に、本開示の一実施形態に係るサーバ装置２００の機能構成例について説明する。
【００８４】
［サーバ装置の構成例］
図５は、本開示の一実施形態に係るサーバ装置２００の機能構成例を示す説明図である。以下、図５を用いて本開示の一実施形態に係るサーバ装置２００の機能構成例について説明する。
【００８５】
図５に示したのは、クライアント装置が生成した公開鍵を保持する装置と、公開鍵認証方式や電子署名方式によるユーザ認証を実行する装置とが同一の装置である場合の、サーバ装置２００の機能構成例である。図５に示したように、本開示の一実施形態に係るサーバ装置２００は、公開鍵認証処理部２１０と、公開鍵設定部２２０と、を含んで構成される。
【００８６】
公開鍵認証処理部２１０は、クライアント装置１００との間で、公開鍵認証方式や電子署名方式を用いた認証処理を実行する。公開鍵認証処理部２１０は、本開示の認証情報取得部及び認証処理部の一例である。公開鍵認証処理部２１０は、クライアント装置１００との間で、公開鍵認証方式や電子署名方式を用いた認証処理を実行する際には、公開鍵設定部２２０に設定された公開鍵ｐｋを用いる。この公開鍵ｐｋは、クライアント装置１００で生成された公開鍵ｐｋである。
【００８７】
公開鍵設定部２２０は、クライアント装置１００で生成された公開鍵ｐｋを保持しておく。公開鍵設定部２２０は、クライアント装置１００で生成された公開鍵ｐｋを、その公開鍵ｐｋを使用するユーザのユーザＩＤを紐付けて保持しておく。なお、公開鍵設定部２２０には、複数のユーザの公開鍵のリストが指定されていても良い。
【００８８】
なお、図５では、クライアント装置が生成した公開鍵を保持する装置と、公開鍵認証方式や電子署名方式によるユーザ認証を実行する装置とが同一の装置である場合のサーバ装置２００の機能構成例について説明したが、本開示は係る例に限定されるものではない。すなわち、ライアント装置が生成した公開鍵を保持する装置と、公開鍵認証方式や電子署名方式によるユーザ認証を実行する装置とが異なる装置であってもよく、その場合は、図５に示した公開鍵認証処理部２１０と、公開鍵設定部２２０とが別々の装置に設けられていても良い。
【００８９】
以上、図５を用いて本開示の一実施形態に係るサーバ装置２００の機能構成例について説明した。次に、本開示の一実施形態に係る情報処理システム１の動作例について説明する。
【００９０】
［情報処理システムの動作例］
［公開鍵の登録］
まず、クライアント装置１００で鍵ペアを生成し、サーバ装置２００に鍵ペアの内の公開鍵ｐｋを登録する際の動作例について説明する。図６は、本開示の一実施形態に係る情報処理システム１の動作例を示す流れ図である。図６に示した流れ図は、クライアント装置１００で鍵ペアを生成し、サーバ装置２００に鍵ペアの内の公開鍵ｐｋを登録する際の動作例について示したものである。以下、図６を用いて本開示の一実施形態に係る情報処理システム１の動作例について説明する。
【００９１】
サーバ装置２００が提供するサービスを利用しようとするユーザは、クライアント装置１００を用いて、サーバ装置２００に対してサービスの利用申請を送信する（ステップＳ１０１）。このサービスの利用申請は、特定の処理や方法に限定されるものではない。
【００９２】
サーバ装置２００は、クライアント装置１００からサービスの利用申請があると、利用申請を送信したクライアント装置１００に対して、サービスを利用するための必要な情報の送付依頼を送信する（ステップＳ１０２）。このサービスを利用するための必要な情報は、特定のものに限られないが、例えば、サービスを利用しようとするユーザの氏名、住所、電話番号、またユーザがそのサービスで使用したいユーザＩＤなどであっても良い。
【００９３】
サーバ装置２００が提供するサービスを利用しようとするユーザは、サーバ装置２００からサービスを利用するための必要な情報の送付依頼をクライアント装置１００で受信すると、サービスを利用するために、予め鍵生成部１１０で生成しておいた鍵ペアの内、公開鍵ｐｋをクライアント装置１００からサーバ装置２００に送信すると共に、その他サービスを利用するための必要な情報（ユーザＩＤ等）をクライアント装置１００からサーバ装置２００に送信する（ステップＳ１０３）。公開鍵ｐｋ及びサービスを利用するための必要な情報は、例えば公開鍵認証処理部１２０がサーバ装置２００に送信する。従って、公開鍵ｐｋ及び秘密鍵ｓｋからなる鍵ペアは、このステップＳ１０３の処理の前に生成されていれば良い。
【００９４】
サーバ装置２００は、クライアント装置１００から、公開鍵ｐｋや、その他のサービスを利用するための必要な情報を受信すると、それらの情報を用いてユーザ登録を実行し、その登録結果をクライアント装置１００に返信する（ステップＳ１０４）。そしてサーバ装置２００は、クライアント装置１００から送信された公開鍵ｐｋを、ユーザを識別する情報（ユーザＩＤ等）と紐付けて公開鍵設定部２２０に設定する。
【００９５】
図６に示したような処理がクライアント装置１００とサーバ装置２００との間で行われることで、クライアント装置１００が鍵生成部１１０で生成した鍵ペアの内、公開鍵ｐｋをサーバ装置２００の公開鍵設定部２２０に登録することができる。そしてこのように公開鍵ｐｋをサーバ装置２００の公開鍵設定部２２０に登録することで、公開鍵ｐｋを用いた様々な認証処理が、ユーザの秘密情報をサーバ装置２００に送信すること無く可能になる。
【００９６】
［ユーザ認証処理例（１）］
ここまで、クライアント装置１００で鍵ペアを生成し、サーバ装置２００に鍵ペアの内の公開鍵ｐｋを登録する際の動作例を説明したが、ここからはより具体的な認証処理例について説明する。まず、サーバに登録した公開鍵を用いたユーザ認証処理例について説明する。
【００９７】
図７及び図８は、サーバ装置２００に登録した公開鍵を用いたユーザ認証処理例を示す説明図である。図７及び図８は、サーバ装置２００が提供するサービスを利用するためにユーザが公開鍵をサーバ装置２００に登録し、サーバ装置２００が提供するサービスに、ブラウザ等を使用してログインする場合の動作例を示したものである。
【００９８】
まずユーザ登録時の流れを説明する。図７に示すように、ユーザはクライアント装置１００を用いて公開鍵ｐｋ及び秘密鍵ｐｋからなる鍵ペアを鍵生成部１１０で生成し、ユーザ登録時にユーザＩＤの他に公開鍵ｐｋをブラウザ等に入力し、サーバ装置２００にユーザＩＤ及び公開鍵ｐｋを登録する。このユーザＩＤ及び公開鍵ｐｋの入力を受け付ける入力フォームが、本開示の第一の入力部の一例となる。このサーバ装置２００へのユーザＩＤ及び公開鍵ｐｋの登録は公開鍵認証処理部１２０が実行する。この例では、公開鍵ｐｋが「ｙｙｙｙ」であり、秘密鍵ｐｋが「ｘｘｘｘ」である場合が示されている。そしてユーザは、そのうち秘密鍵「ｘｘｘｘ」は自身で管理し、公開鍵「ｙｙｙｙ」をサーバ装置に登録する。
【００９９】
次にユーザ認証時の流れを説明する。図８に示すように、ユーザ認証時には、サーバ装置２００に登録された公開鍵ｐｋによる認証が行われる。まずユーザはクライアント装置１００を用いて、サーバ装置２００が提供するサービスに、ブラウザ等を使用してログインする。その際に、まずは図８に示したようにユーザはユーザＩＤを入力し、クライアント装置１００からサーバ装置２００にユーザＩＤを送信する。
【０１００】
サーバ装置２００は、ユーザＩＤをクライアント装置１００から受信すると、ユーザＩＤに対応する公開鍵ｐｋを用いたユーザ認証処理を開始する。サーバ装置２００は、ユーザ認証処理として、クライアント装置１００にチャレンジメッセージｃｈを送信する。このチャレンジメッセージｃｈは、公開鍵ｐｋに対応する秘密鍵ｓｋを知っていれば回答できるメッセージである。
【０１０１】
ユーザ認証を受けようとするユーザは、クライアント装置１００からチャレンジメッセージｃｈが送信されてくると、ブラウザ等に、予めサーバ装置２００に登録した公開鍵ｐｋに対応する秘密鍵ｓｋ（または秘密鍵ｓｋに対応するパスフレーズ等）を入力するか、ユーザによる秘密鍵ｓｋの入力無しに、ｐｋに対応する秘密鍵ｓｋを鍵ペア保存部１３０から自動的に選択することで、チャレンジメッセージｃｈに回答する。なお、ここでユーザが入力する秘密鍵ｓｋ（または秘密鍵ｓｋに対応するパスフレーズ等）は、サーバ装置２００に送信されるものではなく、あくまでもクライアント装置１００でチャレンジメッセージｃｈに回答するために入力されるものである。このユーザＩＤ及び秘密鍵ｓｋ（または秘密鍵ｓｋに対応するパスフレーズ等）の入力を受け付ける入力フォームが、本開示の第二の入力部の一例となる。
【０１０２】
そして、クライアント装置１００は、ユーザによって秘密鍵ｓｋが入力されると、公開鍵認証処理部１２０で、サーバ装置２００から送信されてきたチャレンジメッセージｃｈに回答し、その回答をサーバ装置２００に送信する。サーバ装置２００は、クライアント装置１００から送信されてきた回答を確認し、チャレンジメッセージｃｈに対して正しく回答されているかどうかを判断する。チャレンジメッセージｃｈに対して正しく回答されていると判断すれば、サーバ装置２００は、入力されたユーザＩＤについてサービスの提供を開始する。一方、チャレンジメッセージｃｈに対して正しく回答されていないと判断すれば、サーバ装置２００は、入力されたユーザＩＤについてサービスの提供を拒否する。
【０１０３】
このような処理がクライアント装置１００とサーバ装置２００との間で行われることで、ユーザの秘密情報である秘密鍵ｓｋをサーバ装置２００に送信すること無く、安全なユーザ認証処理が可能になる。なぜなら、クライアント装置１００からサーバ装置２００に送信されているのは、仮に漏洩したとして問題のない公開鍵ｐｋだからである。
【０１０４】
［ユーザ認証処理例（２）］
次に、別のユーザ認証処理例を説明する。次に説明するのは、スマートフォンやＩＣカード等の携帯可能なデバイスを用いてユーザ認証を行なう場合である。
【０１０５】
図９は、本開示の一実施形態に係るサーバ装置２００ａに登録した公開鍵を用いたユーザ認証処理例を示す説明図である。図９に示したのは、鍵ペアを生成する装置と認証を受けようとする装置とが異なる装置である場合、及び、公開鍵が登録されている装置と認証処理を実行する装置とが異なる装置である場合における、公開鍵を用いたユーザ認証処理例である。
【０１０６】
まず、上述のユーザ認証処理例（１）と同様に、クライアント装置１００ａは、鍵ペアを生成し、ユーザ登録の際に公開鍵ｐｋをサーバ装置２００ａに設定する。またクライアント装置１００ａは、認証を受けようとする装置であるクライアント装置１００ｂに、クライアント装置１００ａが生成した鍵ペアの内、秘密鍵ｓｋを設定する。
【０１０７】
そして、サービスを提供するサービス提供者は、ユーザへのサービスの提供を許可するかどうかを確認する検証装置２００ｂから、サーバ装置２００ａに設定された公開鍵ｐｋが参照できる状態にしておく。
【０１０８】
その後、ユーザはクライアント装置１００ｂを用いて検証装置２００ｂとの間で、予めサーバ装置２００ａに登録した公開鍵ｐｋを用いた認証処理を開始する。検証装置２００ｂが設置される場所の例としては、駅などの改札、施設の入場ゲート、扉、観客席等がある。もちろん、ここに挙げた場所は一例であり、本開示は係る例に限定されるものではない。
【０１０９】
例えば、クライアント装置１００ｂが、特定の周波数による近距離無線通信が可能なＩＣカードであり、検証装置２００ｂが、クライアント装置１００ｂとの間で特定の周波数による近距離無線通信が可能なデバイスが接続された装置である場合を考える。この場合に、ユーザがクライアント装置１００ｂを検証装置２００ｂに接続されたデバイスにかざすことで、公開鍵ｐｋを用いた認証処理が開始されるようにしてもよい。
【０１１０】
また例えば、クライアント装置１００ｂが携帯電話やスマートフォンのような装置である場合を考える。この場合に、ユーザは例えばクライアント装置１００ｂを用いて検証装置２００ｂとの間で無線通信を行なうことでユーザ認証を受けても良い。その際に、クライアント装置１００ｂからは秘密鍵ｓｋを送信するのではなく、チャレンジメッセージに対する回答を送信する。
【０１１１】
このように、スマートフォンやＩＣカード等の携帯可能なデバイスを用いてユーザ認証を行なう場合であっても、ユーザの秘密情報をサービス提供者側に送信すること無く、ユーザ認証が可能になる。
【０１１２】
［ユーザ認証処理例（３）］
次に、別のユーザ認証処理例を説明する。次に説明するのは、サービス提供者側が、ユーザ認証後に公開鍵と紐付いているユーザのデータを、当該ユーザが利用しようとするサービスに、ユーザの利用前に予め提供する場合の処理例である。
【０１１３】
図１０は、本開示の一実施形態に係るサーバ装置２００に登録した公開鍵を用いたユーザ認証処理例を示す説明図である。図１０に示したのは、サービス提供者側が、ユーザ認証後に公開鍵と紐付いているユーザのデータを、当該ユーザが利用しようとするサービスに、ユーザの利用前に予め提供する場合の処理例である。なお、図１０は、ユーザ（利用者）がホテルの宿泊サービスを受けようとする場合の処理例について示したものである。
【０１１４】
ユーザ（利用者）は、サービスを受けようとする前に予め公開鍵ｐｋ及び秘密鍵ｓｋからなる鍵ペアを生成し、ユーザＩＤ及び公開鍵ｐｋをサーバ装置２００に登録することでアカウントを作成する。そして、ユーザは作成したアカウントを用いてホテルの予約を行う。ユーザはホテルの予約を行なう際に、ユーザＩＤ及び公開鍵ｐｋをホテルへ送信する。
【０１１５】
ユーザからの予約を受け付けたホテルは、そのユーザがホテルにチェックインし、部屋に入室した際に様々なサービス（ＰＣ、ゲーム、有料テレビ等）を受けられるように、サーバ装置２００に当該ユーザのデータを要求する。ホテルがサーバ装置２００にデータを要求する際には、ユーザが予約時に使用したユーザＩＤ及び公開鍵ｐｋを使用する。サーバ装置２００は、ホテル側からの要求に応じて、ユーザがホテルで利用するためのデータをホテルに提供する。ただしホテルでは、このデータを、ユーザが予め生成した鍵ペアの内の秘密鍵ｓｋが無ければアクセスできないデータとしてユーザに提供する。従って、秘密鍵ｓｋを持つ正当なユーザ以外のユーザは、サーバ装置２００から提供されるデータを不正に利用することは出来ない。
【０１１６】
その後ユーザは、ホテルにチェックインすると、ホテルがサーバ装置２００から予めダウンロードしたデータに、ユーザが予め生成した秘密鍵ｓｋを用いてアクセスすることで、安全に利用することが出来る。ここで、秘密鍵ｓｋは、上述したように持ち運び可能なデバイスであるクライアント装置１００ｂに登録しておき、ホテルの客室でデータを利用する際にその秘密鍵ｓｋを使用することで、ホテルがサーバ装置２００から予めダウンロードしたデータが利用可能な状態になる。
【０１１７】
本開示の一実施形態に係る情報処理システムでは、ユーザの秘密情報であるパスワードを、サービス運営者側に送信する必要がなく、漏洩したとして影響のない公開鍵のみをサービス運営者側に送信している。本開示の一実施形態に係る情報処理システムは、例えばフィッシングサイトのような悪意のあるサイトにログインしてしまったとしても、盗み取られるのは公開鍵であり、秘密情報を取られる心配がない。また、本開示の一実施形態に係る情報処理システムは、複数のサービスに同一の公開鍵を登録しても問題なく、鍵管理の煩わしさが軽減される。また、公開鍵は秘匿すべき情報ではないため、本開示の一実施形態に係る情報処理システムは、サービス運営者側が秘密情報を管理するコストが下がる。
【０１１８】
例えば特開２０１２−９８６９０号公報等で開示されている、多次多変数連立方程式に対する求解問題の困難性に安全性の根拠をおく公開鍵認証方式や電子署名方式を用いると、公開鍵サイズが小さくなるため、さらに運用上や管理上の手間を削減する効果と、長期的な安全性レベルの向上が期待できる。例えば、運用面では、公開鍵の表示の制約が少なく、入力・伝達可能な長さを短くすることができるという効果が期待できる。また管理面では、公開鍵サイズが短いため、データベースへのサイズが小さくなり、また鍵の設定も文字列のコピー操作のみでも可能となるという効果が期待できる。さらに安全面では、数学的な難問に依存した方式であるので、長期的な安全性が期待できる。
【０１１９】
［拡張例］
上述してきたように、サービス提供者側の装置（サーバ装置２００または検証装置２００ｂ）は、基本的には、秘密鍵が格納された装置（クライアント装置１００またはクライアント装置１００ｂ）と通信を行なうことにより、ユーザ認証を行なう。しかし、ユーザがその秘密鍵が格納された装置を紛失し、または忘れてしまった場合などを想定し、サービス提供者側の装置は、ユーザの秘密鍵を手入力で入力できる補助入力装置を備えてもよい。また、この際に、特開２０１２−９８６９０号公報等で開示されている、多次多変数連立方程式に対する求解問題の困難性に安全性の根拠をおく公開鍵認証方式や電子署名方式を利用していれば、秘密鍵長が短く済む（最短で８０ｂｉｔ分）ため、手入力の際の利便性に優れるという効果が期待できる。８０ｂｉｔ分の情報とは、具体的には英数大文字小文字を２０文字程度入力することに相当する。そのため、２０文字程度の入力が可能な補助入力装置がサービス提供者側の装置に備えられていればよい。
【０１２０】
また、ユーザ認証方式を、この多次多変数連立方程式に対する求解問題の困難性に安全性の根拠をおく公開鍵認証方式や電子署名方式とした場合に、公開鍵の長さが短いことを利用して、以下のような利便性向上策の実施が可能となる。
【０１２１】
例えば、ユーザが携帯するデバイスに公開鍵を印字したり表示したりするなどして、ユーザが公開鍵を視認できるようにしてもよい。この結果、公開鍵の手入力や視認、読み上げが可能となり、ユーザ登録時の方法が直感的になるという効果が期待できる。なお、表示の際には、公開鍵の内容全体を表示するのではなく、公開鍵のフィンガープリント（ハッシュ値等）を表示するようにしてもよい。
【０１２２】
また、サービスのログインＩＤに、公開鍵が埋め込まれたメールアドレスを利用し、そのメールアドレスに埋め込まれた公開鍵を利用して、公開鍵認証を行うことにより、メールアドレス（＝ログインＩＤ）の持ち主本人がログインしているかを認証するようにしてもよい。具体的には、サービス提供者は、ランダムに選択されたメッセージに対する電子署名をユーザに要求し、その正当性を検証することにより、メールアドレス（＝ログインＩＤ）の持ち主本人であるか否かを確認するようにしてもよい。
【０１２３】
図１１は、本開示の一実施形態に係るサーバ装置２００に登録した公開鍵を用いたユーザ認証処理例を示す説明図である。図１１に示したのは、公開鍵が埋め込まれたメールアドレスを利用し、そのメールアドレスに埋め込まれた公開鍵を利用して、公開鍵認証を行う場合の処理例である。
【０１２４】
ユーザは、ユーザ登録の際に、ログインに使用するメールアドレスと、鍵ペアの内の公開鍵ｐｋを、サービス提供者側のサーバ装置２００に登録する。サービス提供者側のサーバ装置２００は、ユーザ認証の際に、登録されたメールアドレスへチャレンジメッセージｃｈを送信する。
【０１２５】
サーバ装置２００からチャレンジメッセージを受信したユーザは、秘密鍵ｓｋを用いてチャレンジメッセージに対する署名を生成し、サーバ装置２００に登録したメールアドレスでその署名をサーバ装置２００に送信する。サーバ装置２００は、送信された署名が正当なものであるかどうかを検証することで、メールアドレス（＝ログインＩＤ）の持ち主本人がユーザ認証を要求してきたかどうかを確認することが出来る。
【０１２６】
＜３．ハードウェア構成例＞
上記の各アルゴリズムは、例えば、図１２に示す情報処理装置のハードウェア構成を用いて実行することが可能である。つまり、当該各アルゴリズムの処理は、コンピュータプログラムを用いて図１２に示すハードウェアを制御することにより実現される。なお、このハードウェアの形態は任意であり、例えば、パーソナルコンピュータ、携帯電話、ＰＨＳ、ＰＤＡ等の携帯情報端末、ゲーム機、接触式又は非接触式のＩＣチップ、接触式又は非接触式のＩＣカード、又は種々の情報家電がこれに含まれる。但し、上記のＰＨＳは、Ｐｅｒｓｏｎａｌ  Ｈａｎｄｙ−ｐｈｏｎｅ  Ｓｙｓｔｅｍの略である。また、上記のＰＤＡは、Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔの略である。
【０１２７】
図１２に示すように、このハードウェアは、主に、ＣＰＵ９０２と、ＲＯＭ９０４と、ＲＡＭ９０６と、ホストバス９０８と、ブリッジ９１０と、を有する。さらに、このハードウェアは、外部バス９１２と、インターフェース９１４と、入力部９１６と、出力部９１８と、記憶部９２０と、ドライブ９２２と、接続ポート９２４と、通信部９２６と、を有する。但し、上記のＣＰＵは、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略である。また、上記のＲＯＭは、Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙの略である。そして、上記のＲＡＭは、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙの略である。
【０１２８】
ＣＰＵ９０２は、例えば、演算処理装置又は制御装置として機能し、ＲＯＭ９０４、ＲＡＭ９０６、記憶部９２０、又はリムーバブル記録媒体９２８に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。ＲＯＭ９０４は、ＣＰＵ９０２に読み込まれるプログラムや演算に用いるデータ等を格納する手段である。ＲＡＭ９０６には、例えば、ＣＰＵ９０２に読み込まれるプログラムや、そのプログラムを実行する際に適宜変化する各種パラメータ等が一時的又は永続的に格納される。
【０１２９】
これらの構成要素は、例えば、高速なデータ伝送が可能なホストバス９０８を介して相互に接続される。一方、ホストバス９０８は、例えば、ブリッジ９１０を介して比較的データ伝送速度が低速な外部バス９１２に接続される。また、入力部９１６としては、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ、及びレバー等が用いられる。さらに、入力部９１６としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラ（以下、リモコン）が用いられることもある。
【０１３０】
出力部９１８としては、例えば、ＣＲＴ、ＬＣＤ、ＰＤＰ、又はＥＬＤ等のディスプレイ装置、スピーカ、ヘッドホン等のオーディオ出力装置、プリンタ、携帯電話、又はファクシミリ等、取得した情報を利用者に対して視覚的又は聴覚的に通知することが可能な装置である。但し、上記のＣＲＴは、Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅの略である。また、上記のＬＣＤは、Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙの略である。そして、上記のＰＤＰは、Ｐｌａｓｍａ  ＤｉｓｐｌａｙＰａｎｅｌの略である。さらに、上記のＥＬＤは、Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ  Ｄｉｓｐｌａｙの略である。
【０１３１】
記憶部９２０は、各種のデータを格納するための装置である。記憶部９２０としては、例えば、ハードディスクドライブ（ＨＤＤ）等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイス等が用いられる。但し、上記のＨＤＤは、Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅの略である。
【０１３２】
ドライブ９２２は、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体９２８に記録された情報を読み出し、又はリムーバブル記録媒体９２８に情報を書き込む装置である。リムーバブル記録媒体９２８は、例えば、ＤＶＤメディア、Ｂｌｕ−ｒａｙメディア、ＨＤ  ＤＶＤメディア、各種の半導体記憶メディア等である。もちろん、リムーバブル記録媒体９２８は、例えば、非接触型ＩＣチップを搭載したＩＣカード、又は電子機器等であってもよい。但し、上記のＩＣは、Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔの略である。
【０１３３】
接続ポート９２４は、例えば、ＵＳＢポート、ＩＥＥＥ１３９４ポート、ＳＣＳＩ、ＲＳ−２３２Ｃポート、又は光オーディオ端子等のような外部接続機器９３０を接続するためのポートである。外部接続機器９３０は、例えば、プリンタ、携帯音楽プレーヤ、デジタルカメラ、デジタルビデオカメラ、又はＩＣレコーダ等である。但し、上記のＵＳＢは、Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓの略である。また、上記のＳＣＳＩは、Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅの略である。
【０１３４】
通信部９２６は、ネットワーク９３２に接続するための通信デバイスであり、例えば、有線又は無線ＬＡＮ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、又はＷＵＳＢ用の通信カード、光通信用のルータ、ＡＤＳＬ用のルータ、又は接触又は非接触通信用のデバイス等である。また、通信部９２６に接続されるネットワーク９３２は、有線又は無線により接続されたネットワークにより構成され、例えば、インターネット、家庭内ＬＡＮ、赤外線通信、可視光通信、放送、又は衛星通信等である。但し、上記のＬＡＮは、Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋの略である。また、上記のＷＵＳＢは、Ｗｉｒｅｌｅｓｓ  ＵＳＢの略である。そして、上記のＡＤＳＬは、Ａｓｙｍｍｅｔｒｉｃ  Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅの略である。
【０１３５】
＜４．まとめ＞
以上説明したように本開示の一実施形態によれば、既存のＷｅｂサービス等のように、パスワードのようなユーザの秘密情報をサービス提供者側の装置に送信するのではなく、漏洩したとしても影響のない公開鍵をサービス提供者側の装置に送信することで、ユーザ登録及びユーザ認証が可能となる。ユーザの秘密情報をサービス提供者側の装置に送信せずにユーザ登録及びユーザ認証が可能となるので、ユーザ側にとってもサービス提供者側にとっても、ユーザの秘密情報を管理するコストを低減させることが可能になりながらも、安全なユーザ認証を実行することが可能となる。
【０１３６】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示はかかる例に限定されない。本開示の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【０１３７】
なお、本技術は以下のような構成も取ることができる。
（１）
ユーザを識別するユーザ識別情報及び公開鍵認証方式で用いられる公開鍵の入力を受け付ける第一の入力部と、
前記ユーザ識別情報及び前記公開鍵を検証者に登録する登録部と、
前記検証者にユーザ認証させる際に前記ユーザ識別情報及び前記公開鍵に対応する秘密鍵の入力を受け付ける第二の入力部と、
前記公開鍵に対応する秘密鍵を用いて前記検証者に対して回答する認証処理部と、
を備える、情報処理装置。
（２）
前記検証者に登録される前記公開鍵及び秘密鍵のペアを生成する鍵生成部をさらに備え、
前記登録部は、前記鍵生成部が生成した前記公開鍵を前記検証者に登録し、前記認証処理部は、前記検証者にユーザ認証させる際に前記鍵生成部が生成した前記秘密鍵を用いる、前記（１）に記載の情報処理装置。
（３）
前記登録部は、他の装置によって生成された前記公開鍵を前記検証者に登録し、前記認証処理部は、前記検証者にユーザ認証させる際に前記他の装置が生成した前記秘密鍵を用いる、前記（１）または（２）に記載の情報処理装置。
（４）
前記登録部は、前記ユーザ識別情報として前記公開鍵を一部に含むメールアドレスを前記検証者に登録する、前記（１）〜（３）のいずれかに記載の情報処理装置。
（５）
前記公開鍵認証方式は、前記公開鍵が、ｍ本のｎ変数の２次多項式（ｍ、ｎはいずれも２以上の整数）で構成される関数を用いて生成される公開鍵認証方式である、前記（１）〜（４）のいずれかに記載の情報処理装置。
（６）
証明者が登録した、ユーザを識別するユーザ識別情報及び公開鍵認証方式で用いられる公開鍵を取得する認証情報取得部と、
ユーザから入力された前記ユーザ識別情報及び前記認証情報取得部が取得した該ユーザ識別情報に対応する前記公開鍵を用いたユーザ認証を実行する認証処理部と、
を備える、情報処理装置。
（７）
前記認証処理部は、ユーザ認証を実行してユーザを認証すると、該ユーザに使用させるデータを提供する、前記（６）に記載の情報処理装置。
（８）
前記認証処理部は、前記データを、前記ユーザ認証に用いた公開鍵を用いて暗号化した状態で提供する、前記（７）に記載の情報処理装置。
（９）
前記認証処理部は、前記ユーザ識別情報として前記公開鍵を一部に含むメールアドレスが登録された場合、前記公開鍵部分を除いたメールアドレスに認証のためのメッセージを送信する、前記（６）〜（８）のいずれかに記載の情報処理装置。
（１０）
ユーザ認証を要求する第１の情報処理装置と、
前記第１の情報処理装置から送られた情報を用いてユーザ認証を実行する第２の情報処理装置と、
を備え、
前記第１の情報処理装置は、
ユーザを識別するユーザ識別情報及び公開鍵認証方式で用いられる公開鍵をユーザに入力させることで前記第２の情報処理装置に登録し、前記第２の情報処理装置にユーザ認証させる際に前記ユーザ識別情報及び前記公開鍵に対応する秘密鍵をユーザに入力させ、前記公開鍵に対応する前記秘密鍵を用いて前記第２の情報処理装置に対して回答する第１の認証処理部を備え、
前記第２の情報処理装置は、
前記第１の情報処理装置が登録した、ユーザを識別するユーザ識別情報及び公開鍵認証方式で用いられる公開鍵を用いて、前記第１の情報処理装置のユーザから入力された前記ユーザ識別情報及び前記公開鍵を用いてユーザ認証を実行する第２の認証処理部を備える、情報処理システム。
（１１）
ユーザを識別するユーザ識別情報及び公開鍵認証方式で用いられる公開鍵の入力を受け付ける第一の入力ステップと、
前記ユーザ識別情報及び前記公開鍵を検証者に登録する登録ステップと、
前記検証者にユーザ認証させる際に前記ユーザ識別情報及び前記公開鍵に対応する秘密鍵の入力を受け付ける第二の入力ステップと、
前記公開鍵に対応する秘密鍵を用いて前記検証者に対して回答する認証処理ステップと、
を備える、情報処理方法。
（１２）
証明者が登録した、ユーザを識別するユーザ識別情報及び公開鍵認証方式で用いられる公開鍵を取得する認証情報取得ステップと、
ユーザから入力された前記ユーザ識別情報及び前記認証情報取得ステップで取得された該ユーザ識別情報に対応する前記公開鍵を用いたユーザ認証を実行する認証処理ステップと、
を備える、情報処理方法。
（１３）
コンピュータに、
ユーザを識別するユーザ識別情報及び公開鍵認証方式で用いられる公開鍵の入力を受け付ける第一の入力ステップと、
前記ユーザ識別情報及び前記公開鍵を検証者に登録する登録ステップと、
前記検証者にユーザ認証させる際に前記ユーザ識別情報及び前記公開鍵に対応する秘密鍵の入力を受け付ける第二の入力ステップと、
前記公開鍵に対応する秘密鍵を用いて前記検証者に対して回答する認証処理ステップと、
を実行させる、コンピュータプログラム。
（１４）
コンピュータに、
証明者が登録した、ユーザを識別するユーザ識別情報及び公開鍵認証方式で用いられる公開鍵を取得する認証情報取得ステップと、
ユーザから入力された前記ユーザ識別情報及び前記認証情報取得ステップで取得された該ユーザ識別情報に対応する前記公開鍵を用いたユーザ認証を実行する認証処理ステップと、
を実行させる、コンピュータプログラム。
【符号の説明】
【０１３８】
１        ：情報処理システム
１０      ：ネットワーク
１００    ：クライアント装置
１００ａ  ：クライアント装置
１００ｂ  ：クライアント装置
１１０    ：鍵生成部
１２０    ：公開鍵認証処理部
１３０    ：鍵ペア保存部
２００    ：サーバ装置
２００ａ  ：サーバ装置
２００ｂ  ：検証装置
２１０    ：公開鍵認証処理部
２２０    ：公開鍵設定部
【図１】
2014090372.tif 000008
【図２】
2014090372.tif 000009
【図３】
2014090372.tif 000010
【図４】
2014090372.tif 000011
【図５】
2014090372.tif 000012
【図６】
2014090372.tif 000013
【図７】
2014090372.tif 000014
【図８】
2014090372.tif 000015
【図９】
2014090372.tif 000016
【図１０】
2014090372.tif 000017
【図１１】
2014090372.tif 000018
【図１２】
2014090372.tif 000019
【図１３】
2014090372.tif 000020
【図１４】
2014090372.tif 000021