(57)【要約】【課題】  個々のＲＰがエンドユーザの認証を要求する際に、エンドユーザがパスワードを入力しなくとも認証を遂行できる認証システムを提供する。【解決手段】  認証結果を利用してサービスを提供するサービスサイトに対して認証を要求するユーザエージェントの認証を実施する認証装置であって、サービスサイトからユーザ識別子を含む認証要求を受信するのに応じて、認証要求に基づいてユーザエージェントがトークンを利用可能か否かを判定する判定手段と、判定の結果に応じて生成した認証子要求を、ユーザエージェントに送信する認証子要求生成手段と、予めユーザエージェントに関連付けて発行された認証子とユーザ識別子と、ユーザエージェントから受信した認証子とユーザ識別子とに基づいて、ユーザエージェントの認証を実施すると共に、認証結果をサービスサイトに返信する認証手段とを備える。【選択図】      図１
2011253478.tif 000002
【特許請求の範囲】
【請求項１】
認証結果を利用してサービスを提供するサービスサイトに対して認証を要求するユーザエージェントの認証を実施する認証装置であって、
前記サービスサイトからユーザ識別子を含む認証要求を受信するのに応じて、該認証要求に基づいて前記ユーザエージェントがトークンを利用可能か否かを判定する判定手段と、
前記判定の結果に応じて生成した認証子要求を、前記ユーザエージェントに送信する認証子要求生成手段と、
予め前記ユーザエージェントに関連付けて発行された認証子とユーザ識別子と、前記ユーザエージェントから受信した認証子とユーザ識別子とに基づいて、前記ユーザエージェントの認証を実施すると共に、認証結果を前記サービスサイトに返信する認証手段と
を備えた認証装置。
【請求項２】
前記ユーザエージェントがトークンを利用可能であるか否かを示す情報を、ユーザ識別子と関連付けて記憶するトークン利用者データベースをさらに備え、
前記判定手段は、前記ユーザ識別子を検索キーとして前記トークン利用者データベースを参照することにより、前記ユーザエージェントがトークンを利用可能か否かを判定する請求項１記載の認証装置。
【請求項３】
前記判定手段は、前記認証要求に、トークンが利用可能であることを示すトークン利用可能情報が含まれているか否かに基づいて、前記ユーザエージェントがトークンを利用可能であるか否かを判定する請求項１記載の認証装置。
【請求項４】
前記判定手段は、前記認証要求に含まれるユーザ識別子の種類に基づいて、前記ユーザエージェントがトークンを利用可能か否かを判定する請求項１記載の認証装置。
【請求項５】
認証結果を利用してサービスを提供するサービスサイトに対して認証の実施を要求するユーザエージェントであって、
前記要求に応答して認証を実施する認証装置からトークンを読み出す指示を含む認証子要求を受信した場合は、該トークンから認証子を読み出し、パスワードを取得する指示を含む認証子要求を受信した場合は、パスワードの入力を促すと共にそれに応じて入力されたパスワードを取得する認証子取得手段
を備えたユーザエージェント。
【請求項６】
前記サービスサイトから自身を介して前記認証装置に送信される認証要求に対して、トークンが利用可能であることを示すトークン利用可能情報を追加する追加手段をさらに備えた請求項５記載のユーザエージェント。
【請求項７】
認証結果を利用してサービスを提供するサービスサイトに対して認証を要求するユーザエージェントと、該ユーザエージェントの認証を実施する認証装置とを備えた認証システムであって、
前記認証装置は、
前記サービスサイトからユーザ識別子を含む認証要求を受信するのに応じて、該認証要求に基づいて前記ユーザエージェントがトークンを利用可能か否かを判定する判定手段と、
前記判定の結果に応じて生成した認証子要求を、前記ユーザエージェントに送信する認証子要求生成手段と、
予め前記ユーザエージェントに関連付けて発行された認証子とユーザ識別子と、前記ユーザエージェントから受信した認証子とユーザ識別子とに基づいて、前記ユーザエージェントの認証を実施すると共に、認証結果を前記サービスサイトに返信する認証手段とを備え、
前記ユーザエージェントは、
前記認証装置から受信した認証子要求に応じた認証子を取得すると共に、取得した認証子を前記認証装置に返信する認証子取得手段を
備えた認証システム。
【請求項８】
認証結果を利用してサービスを提供するサービスサイトに対して認証を要求するユーザエージェントの認証を実施する認証方法であって、
前記サービスサイトからユーザ識別子を含む認証要求を受信するのに応じて、該認証要求に基づいて前記ユーザエージェントがトークンを利用可能か否かを判定し、
前記判定の結果に応じて生成した認証子要求を、前記ユーザエージェントに送信し、
予め前記ユーザエージェントに関連付けて発行された認証子とユーザ識別子と、前記ユーザエージェントから受信した認証子とユーザ識別子とに基づいて、前記ユーザエージェントの認証を実施すると共に、認証結果を前記サービスサイトに返信する
認証方法。
【請求項９】
認証結果を利用してサービスを提供するサービスサイトに対して認証を要求するユーザエージェントと、前記ユーザエージェントの認証を実施する認証装置とを備えた認証システムにおける認証方法であって、
前記サービスサイトからユーザ識別子を含む認証要求を受信するのに応じて、該認証要求に基づいて前記ユーザエージェントがトークンを利用可能か否かを判定し、
前記判定の結果に応じて生成した認証子要求を、前記ユーザエージェントに送信し、
予め前記ユーザエージェントに関連付けて発行された認証子とユーザ識別子と、前記ユーザエージェントから受信した認証子とユーザ識別子とに基づいて、前記ユーザエージェントの認証を実施すると共に、認証結果を前記サービスサイトに返信し、
前記認証装置から受信した認証子要求に応じた認証子を取得すると共に、取得した認証子を前記認証装置に返信する
認証方法。
【請求項１０】
認証結果を利用してサービスを提供するサービスサイトに対して認証を要求するユーザエージェントの認証を実施するコンピュータに、
前記サービスサイトからユーザ識別子を含む認証要求を受信するのに応じて、該認証要求に基づいて前記ユーザエージェントがトークンを利用可能か否かを判定する処理と、
前記判定の結果に応じて生成した認証子要求を、前記ユーザエージェントに送信する処理と、
予め前記ユーザエージェントに関連付けて発行された認証子とユーザ識別子と、前記ユーザエージェントから受信した認証子とユーザ識別子とに基づいて、前記ユーザエージェントの認証を実施すると共に、認証結果を前記サービスサイトに返信する処理と
を実行させる認証プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は認証装置、認証システム、認証方法および認証プログラムに関する。
【背景技術】
【０００２】
現在、インターネット上のサービスを利用するにあたり、利用者を認証することが必要なＷｅｂサイトがある。このような認証は、通常、サービスを提供するＷｅｂサイトが実施する。これに対して、サービスを提供するＷｅｂサイトではなく第三者が認証を実施する認証機構（認証局（CA: Certificate Authority））が近年提供されている。このような認証機構を利用するＷｅｂサイトでは、認証機構が、Ｗｅｂサイトに提供された利用者の識別子を利用することができる。すなわち、Ｗｅｂサイトが、取得した識別子を、認証機構に送信し、認証機構がパスワード等を使用して認証を実施する。認証機構は、認証の結果をＷｅｂサイトに通知する。
【０００３】
このような認証機構として、例えばＯｐｅｎＩＤ（identification）を用いる認証機構がある。ＯｐｅｎＩＤとは、認証機構が個々のユーザに与えるユニークなＵＲＬ（Uniform Resource Locator）形式のＩＤである。ＯｐｅｎＩＤを用いれば、ユーザは様々なＷｅｂサイトに対して同じＩＤでログインすることができる。
【０００４】
このようなＯｐｅｎＩＤを用いた認証システムが、例えば非特許文献１に開示される。これを第１の認証システムと称する。第１の認証システムは、Ｒｅｌｙｉｎｇ  Ｐａｒｔｙ、Ｕｓｅｒ  ＡｇｅｎｔおよびＯｐｅｎＩＤプロバイダを備える。
【０００５】
ＯｐｅｎＩＤを用いた認証を実施し、その認証結果に応じてユーザにサービスを提供する要素を、一般にＲｅｌｙｉｎｇＰａｒｔｙと呼ぶ。ＲｅｌｙｉｎｇＰａｒｔｙは、例えばユーザにサービスを提供するＷｅｂサイトである。
【０００６】
ＵｓｅｒＡｇｅｎｔは、エンドユーザが利用するソフトウェアもしくはハードウェアであり、典型的にはＷｅｂブラウザである。
【０００７】
ＯｐｅｎＩＤプロバイダは、ＯｐｅｎＩＤの発行を行うと共に、そのＯｐｅｎＩＤを用いてエンドユーザの認証を実施する。ＯｐｅｎＩＤプロバイダは、ＯｐｅｎＩＤ認証サーバとも呼ばれる。
【０００８】
以下、ＲｅｌｙｉｎｇＰａｒｔｙをＲＰ、ＵｓｅｒＡｇｅｎｔをＵＡ、ＯｐｅｎＩＤプロバイダをＯＰとそれぞれ称して説明する。
【０００９】
上記構成を有する第１の認証システムは次のように動作する。まず、エンドユーザが、ＵＡを介してＲＰに対し、ＯＰから発行されたユーザ識別子を提供する。これにより、認証の実施が開始される。次に、ユーザ識別子に含まれる情報に基づいて、ＲＰが、エンドユーザの認証に用いるＯＰを確定する。次に、ＲＰがエンドユーザのＵＡのアドレスを、ＯｐｅｎＩＤ認証要求と共にＯＰにリダイレクトする。
【００１０】
ＯＰは、エンドユーザがＯｐｅｎＩＤ認証の遂行を認可されているか、かつそれを望んでいるかを確認する。そのために、ＯＰは典型的にはＵＡに認証子を要求し、それに応答して認証子を取得する。ＯＰは、エンドユーザのＵＡのアドレスを、認証を承認したという表明、もしくは認証失敗を示すメッセージと共にＲＰにリダイレクトする。ＲＰは、ＯＰから受信した情報を検証し、認証結果を得る。
【００１１】
上記第１の認証システムによれば、複数のＲＰが、単一のＯＰに対してエンドユーザの認証を要求する場合に、エンドユーザは単一の認証子を用いてＯＰに認証遂行を促すことができるという効果がある。
【００１２】
認証システムの他の例として、第２の認証システムが特許文献１に記載されている。第２の認証システムは、ＲＰ、ＵＡ、ＯＰおよび中間認証サーバを備える。当該文献では、ＲＰをサービスサイト、ＵＡをユーザ端末、ＯＰをＯｐｅｎＩＤ認証サーバと記載しているが、本説明では上述の非特許文献１に倣って、それぞれＲＰ、ＵＡ、ＯＰと記載する。
【００１３】
上記構成を有する第２の認証システムは次のように動作する。まず、エンドユーザのＵＡは、中間認証サーバにログインする。次に、エンドユーザのＵＡは、ＲＰに対してＯＰから発行されたユーザ識別子を提供する。これにより、認証の実施が開始される。次に、ＲＰはユーザ識別子に含まれる情報に基づいて、エンドユーザが認証に用いるＯＰを確定する。次に、ＲＰはエンドユーザのＵＡのアドレスを、ＯｐｅｎＩＤ認証要求と共にＯＰにリダイレクトする。次に、ＯＰは、エンドユーザがＯｐｅｎＩＤ認証の遂行を認可されているか、かつそれを望んでいるかを確認するために、ＵＡに認証子としてユーザ名とパスワードを要求し、それに応答して認証子を取得する。
【００１４】
ＯＰは、認証子を中間認証サーバに送信する。中間認証サーバは、エンドユーザが当該中間認証サーバにログインしているか否かに基づいて、認証の可否を判定する。ＯＰは、エンドユーザのＵＡのアドレスを、認証を承認したという表明、もしくは認証失敗を示すメッセージと共に、ＲＰへとリダイレクトする。ＲＰは、ＯＰから受信した情報を検証し、認証結果を得る。
【００１５】
上記のような第２の認証システムによれば、中間認証サーバへのログインにあたり、既存の認証システムを用いることにより、上記第１の認証システムによる効果を得つつ、既存の認証システムによるエンドユーザ認証を行うことができるという効果がある。
【００１６】
認証システムの他の例として、第３の認証システムが特許文献２に記載されている。第３の認証システムは、トークンと、ワンタイムパスワードバリデーションサーバと、トークンルックアップサービスと、リソースバリデーションサーバとを備える。トークンは、識別子を有し、ワンタイムパスワードを発生させるように構成されている。ワンタイムパスワードバリデーションサーバは、トークンによって発生されたワンタイムパスワードの妥当性確認をするように構成され、またネットワークアドレスを有する。
【００１７】
トークンルックアップサービスは、トークン識別子をバリデーションサーバのネットワークのロケーションと相関付けるように構成されている。リソースバリデーションサーバは、トークンのユーザによって提供された少なくとも第１の認証要素の妥当性確認をし、第１の要素の妥当性確認が成功した場合、以下のように構成される。すなわち、リソースバリデーションサーバは、ワンタイムパスワードバリデーションサーバのロケーションに対する要求をトークンルックアップサーバに送り、ワンタイムパスワードバリデーション要求をワンタイムパスワードバリデーションサーバに送る。なお、トークンは、特許文献２に記載される、ハードウェアトークンであってもよい。
【００１８】
上記構成を有する第３の認証システムは次のように動作する。すなわち、まずトークンを利用するユーザの、ユーザ名およびパスワードを例とする第一の認証要素と、トークンが生成するワンタイムパスワードと、トークン識別子とが、リソースバリデーションサーバに送られる。リソースバリデーションサーバは、第一の認証要素の妥当性を確認する。第一の認証要素が妥当である場合、リソースバリデーションサーバは、トークン識別子を添えたロケーション回答要求をトークンルックアップサーバに送る。
【００１９】
トークンルックアップサーバは、送信されたトークン識別子に関連付けられた、バリデーションサーバのネットワークロケーションをリソースバリデーションサーバに回答する。リソースバリデーションサーバは、回答されたバリデーションサーバのネットワークロケーションへと、ワンタイムパスワードの妥当性確認要求を送る。ワンタイムパスワードバリデーションサーバは、ワンタイムパスワードの妥当性を確認し、リソースバリデーションサーバに回答する。リソースバリデーションサーバは、自身が判定した第一の認証要素の妥当性と、回答されたワンタイムパスワードの妥当性に基づいて、トークンのユーザへのサービス提供の妥当性を判定する。
【００２０】
上記のような第３の認証システムによれば、複数のリソースバリデーションサーバにおいて、トークンを共有できるという効果がある。これは、トークンがハードウェアトークンであった場合に、エンドユーザが複数のトークンを所持しなくともよいことを意味している。
【００２１】
また、特許文献３、４にも、ユーザ認証に関する技術が開示される。
【先行技術文献】
【非特許文献】
【００２２】
【非特許文献１】ＯｐｅｎＩＤ Authenticatoin 2.0 - Final, http://openid.net/, (http://openid.net/specs/openid-authentication-2_0.html), December 5, 2007.
【特許文献】
【００２３】
【特許文献１】特開２００９−２８２５６１号公報
【特許文献２】特表２００８−５４１２４２号公報
【特許文献３】特開２００８−２９３５１８号公報
【特許文献４】特開２００６−２０９４８８号公報
【発明の概要】
【発明が解決しようとする課題】
【００２４】
第１の問題点は、上記関連技術では、個々のＲＰがエンドユーザの認証を要求するたびに、エンドユーザがパスワードを入力しなければならず、トークンを用いることによりパスワード入力を代替することができない点である。
【００２５】
その理由は、第１および第２の認証システムは、エンドユーザによるパスワード入力を、トークンの利用で代替する手法が示されていないためである。また、第３の認証システムでは、トークンによる認証子を第二の認証情報に用いているが、第一の認証情報およびその妥当性確認においてパスワードの入力を省略、もしくは別の手段で代替する手法が示されていないためである。
【００２６】
第２の問題点は、上記関連技術では、エンドユーザの認証において、トークンを所持するエンドユーザについては、パスワードの入力をトークンの利用により代替し、所持しないエンドユーザについては、パスワードの入力を促すことにより認証を行うことができない点である。
【００２７】
その理由は、第１の認証システムでは、ＯＰがあるエンドユーザについて、認証の遂行を認可されているかを確認する際に、ＵＡに対して、トークンの利用か、パスワードの入力かのいずれかを、選択すると共に要求する仕組みが示されていないためである。
【００２８】
また、第２の認証システムでは、ＯＰがＵＡに対してパスワードの入力を要求するためである。また、第２の認証システムでは、第二の認証情報の生成手段を、エンドユーザがトークンを所持するか否かに依拠すると共に選択する手法が示されていないためである。
【００２９】
また、特許文献３、４にも、認証システムが、ＵＡに対して、トークンの利用か、パスワードの入力かのいずれかを選択すると共に要求する仕組みは示されていない。
【００３０】
本願発明は、上記課題を鑑みてなされたものであり、個々のＲＰがエンドユーザの認証を要求する際に、エンドユーザがパスワードを入力しなくとも認証を遂行できる認証装置、認証システム、認証方法および認証プログラムを提供することを目的とする。
【課題を解決するための手段】
【００３１】
本発明に係る認証装置は、認証結果を利用してサービスを提供するサービスサイトに対して認証を要求するユーザエージェントの認証を実施する認証装置であって、サービスサイトからユーザ識別子を含む認証要求を受信するのに応じて、該認証要求に基づいてユーザエージェントがトークンを利用可能か否かを判定する判定手段と、判定の結果に応じて生成した認証子要求を、ユーザエージェントに送信する認証子要求生成手段と、予めユーザエージェントに関連付けて発行された認証子とユーザ識別子と、ユーザエージェントから受信した認証子とユーザ識別子とに基づいて、ユーザエージェントの認証を実施すると共に、認証結果をサービスサイトに返信する認証手段とを備える。
【００３２】
本発明に係るユーザエージェントは、認証結果を利用してサービスを提供するサービスサイトに対して認証の実施を要求するユーザエージェントであって、要求に応答して認証を実施する認証装置からトークンを読み出す指示を含む認証子要求を受信した場合は、該トークンから認証子を読み出し、パスワードを取得する指示を含む認証子要求を受信した場合は、パスワードの入力を促すと共にそれに応じて入力されたパスワードを取得する認証子取得手段を備える。
【００３３】
本発明に係る認証システムは、認証結果を利用してサービスを提供するサービスサイトに対して認証を要求するユーザエージェントと、該ユーザエージェントの認証を実施する認証装置とを備えた認証システムであって、認証装置は、サービスサイトからユーザ識別子を含む認証要求を受信するのに応じて、該認証要求に基づいてユーザエージェントがトークンを利用可能か否かを判定する判定手段と、判定の結果に応じて生成した認証子要求を、ユーザエージェントに送信する認証子要求生成手段と、予めユーザエージェントに関連付けて発行された認証子とユーザ識別子と、ユーザエージェントから受信した認証子とユーザ識別子とに基づいて、ユーザエージェントの認証を実施すると共に、認証結果をサービスサイトに返信する認証手段とを備え、ユーザエージェントは、認証装置から受信した認証子要求に応じた認証子を取得すると共に、取得した認証子を認証装置に返信する認証子取得手段を備える。
【００３４】
本発明に係る第１の認証方法は、認証結果を利用してサービスを提供するサービスサイトに対して認証を要求するユーザエージェントの認証を実施する認証方法であって、サービスサイトからユーザ識別子を含む認証要求を受信するのに応じて、該認証要求に基づいてユーザエージェントがトークンを利用可能か否かを判定し、判定の結果に応じて生成した認証子要求を、ユーザエージェントに送信し、予めユーザエージェントに関連付けて発行された認証子とユーザ識別子と、ユーザエージェントから受信した認証子とユーザ識別子とに基づいて、ユーザエージェントの認証を実施すると共に、認証結果をサービスサイトに返信する。
【００３５】
本発明に係る第２の認証方法は、認証結果を利用してサービスを提供するサービスサイトに対して認証を要求するユーザエージェントと、ユーザエージェントの認証を実施する認証装置とを備えた認証システムにおける認証方法であって、サービスサイトからユーザ識別子を含む認証要求を受信するのに応じて、該認証要求に基づいてユーザエージェントがトークンを利用可能か否かを判定し、判定の結果に応じて生成した認証子要求を、ユーザエージェントに送信し、予めユーザエージェントに関連付けて発行された認証子とユーザ識別子と、ユーザエージェントから受信した認証子とユーザ識別子とに基づいて、ユーザエージェントの認証を実施すると共に、認証結果をサービスサイトに返信し、認証装置から受信した認証子要求に応じた認証子を取得すると共に、取得した認証子を認証装置に返信する。
【００３６】
本発明に係る第１の認証プログラムは、認証結果を利用してサービスを提供するサービスサイトに対して認証を要求するユーザエージェントの認証を実施するコンピュータに、サービスサイトからユーザ識別子を含む認証要求を受信するのに応じて、該認証要求に基づいてユーザエージェントがトークンを利用可能か否かを判定する処理と、判定の結果に応じて生成した認証子要求を、ユーザエージェントに送信する処理と、予めユーザエージェントに関連付けて発行された認証子とユーザ識別子と、ユーザエージェントから受信した認証子とユーザ識別子とに基づいて、ユーザエージェントの認証を実施すると共に、認証結果をサービスサイトに返信する処理とを実行させる。
【００３７】
なお同目的は、上記の各構成を有する認証装置、並びに対応する方法を、コンピュータによって実現するコンピュータ・プログラム、およびそのコンピュータ・プログラムが格納されている、コンピュータ読み取り可能な記憶媒体によっても達成される。
【発明の効果】
【００３８】
本発明によれば、個々のＲＰがエンドユーザの認証を要求する際に、エンドユーザがパスワードを入力しなくとも認証を遂行できる効果が得られる。
【図面の簡単な説明】
【００３９】
【図１】本発明の第１の実施形態に係る認証システムの構成を示すブロック図である。
【図２】本発明の第１の実施形態に係る認証システムのハードウエア構成を示す図である。
【図３】本発明の第１の実施形態に係る認証システムのトークン利用者データベースの一例を示す図である。
【図４】本発明の第１の実施形態に係る認証システムの動作を示すシーケンスチャートである。
【図５】本発明の第２の実施形態に係る認証システムの構成を示すブロック図である。
【図６】本発明の第２の実施形態に係る認証システムにて伝送されるＨＴＴＰリクエストの一例を示す図である。
【図７】本発明の第２の実施形態に係る認証システムの動作を示すシーケンスチャートである。
【図８】本発明の第３の実施形態に係る認証システムの構成を示すブロック図である。
【図９】本発明の第３の実施形態に係る認証システムの動作を示すシーケンスチャートである。
【図１０】本発明の第４の実施形態に係る認証システムの構成を示すブロック図である。
【図１１】本発明の第４の実施形態に係る認証システムの構成の他の例を示すブロック図である。
【図１２】本発明の第５の実施形態に係る認証システムの構成を示すブロック図である。
【発明を実施するための形態】
【００４０】
第１実施形態
次に、本発明の実施形態について図面を参照して詳細に説明する。
【００４１】
本発明の第１の実施形態に係る認証システム１００について説明する。認証システム１００は、ＯｐｅｎＩＤを用いた認証を実施するシステムである。
【００４２】
図１は、第１の実施形態に係る認証システム１００の構成を示すブロック図である。認証システム１００は、ＲｅｌｙｉｎｇＰａｒｔｙ１０、ＵｓｅｒＡｇｅｎｔ２０、ＯｐｅｎＩＤプロバイダ３０を備える。
【００４３】
ＲｅｌｙｉｎｇＰａｒｔｙ１０は、ＯｐｅｎＩＤを用いた認証を実施し、その認証結果に応じてユーザにサービスを提供する。ＲｅｌｙｉｎｇＰａｒｔｙ１０は、例えばユーザにサービスを提供するＷｅｂサイト（サービスサイト）である。
【００４４】
ＵｓｅｒＡｇｅｎｔ２０は、ソフトウェアもしくはハードウェアによってエンドユーザに提供するユーザインタフェースであり、典型的にはＷｅｂブラウザである。ＯｐｅｎＩＤプロバイダ３０は、エンドユーザがＲｅｌｙｉｎｇＰａｒｔｙ１０にログインするための識別情報であるＯｐｅｎＩＤの発行を行うと共に、ＯｐｅｎＩＤを用いてエンドユーザの認証を実施する。ＯｐｅｎＩＤプロバイダ３０は、ＯｐｅｎＩＤ認証サーバとも呼ばれる。
【００４５】
エンドユーザ５０は、ＵｓｅｒＡｇｅｎｔ２０を介してＲｅｌｙｉｎｇＰａｒｔｙ１０からのサービスを受ける。ＲｅｌｙｉｎｇＰａｒｔｙ１０は、エンドユーザ５０の認証にあたり、ＯｐｅｎＩＤプロバイダ３０による認証を利用する。また、ＵｓｅｒＡｇｅｎｔ２０はトークン４０にアクセス可能である。ＯｐｅｎＩＤプロバイダ３０は、エンドユーザ５０の認証を実施するための認証子を、トークン４０から読み出す、またはエンドユーザからの入力により取得することができる。ここで、トークン４０とは、サービスの利用権限を有するユーザに、認証の助けとなるよう与えられる物理デバイスであり、例えばＩＣ（integrated circuit）カードである。ＵＡ２０は、カードリーダ等を介してトークン４０を読み出すことができる。
【００４６】
以降、ＲｅｌｙｉｎｇＰａｒｔｙ１０をＲＰ１０、ＵｓｅｒＡｇｅｎｔ２０をＵＡ２０、ＯｐｅｎＩＤプロバイダ３０をＯＰ３０とそれぞれ称する。
【００４７】
図１のＲＰ１０、ＵＡ２０をそれぞれ搭載する装置、およびＯＰ３０は、それぞれ図２に示す構成を有する。図２に示す構成は、ＣＰＵ９０、メモリ等の記憶媒体９１および記憶媒体９１に含まれるプログラム９２を備える。各装置のＣＰＵは、各種ソフトウエア・プログラム（コンピュータ・プログラム）を実行することにより、ＲＰ１０、ＵＡ２０、ＯＰ３０の全体的な動作を司る。本実施形態および以下に示す他の実施形態において、ＣＰＵが、メモリ等の記憶媒体を適宜参照しながら、以下に示すＲＰ１０、ＵＡ２０、ＯＰ３０が備える各機能のソフトウエア・プログラムを実行する。
【００４８】
より具体的には、ＣＰＵは、メモリ等の記憶媒体を適宜参照しながら、ＲＰ１０が備える認証確認部１１、サービス提供部１２等のソフトウエア・プログラムを実行する。また、ＣＰＵは、メモリ等の記憶媒体を適宜参照しながら、ＵＡ２０が備える認証子取得部２１等のソフトウエア・プログラムを実行する。また、ＣＰＵは、メモリ等の記憶媒体を適宜参照しながら、認証子要求生成部３１、トークン利用可否判定部３２、認証部３４等のソフトウエア・プログラムを実行する。
【００４９】
ＲＰ１０の認証確認部１１は、ＵＡ２０を介したエンドユーザ５０からのアクセスに応答して、認証の実施を開始する。または、認証確認部１１は、認証結果を受信すると、その結果に応じてサービス提供部１２にサービスの提供の開始を指示する。サービス提供部１２は、エンドユーザに対してサービスを提供する。
【００５０】
ＵＡ２０の認証子取得部２１は、認証子の取得を実施する。ユーザインタフェース２２は、ユーザからの入力を受け付ける入力デバイス、並びに情報を表示するディスプレイ等によって構成される。
【００５１】
ＯＰ３０の認証子要求生成部３１は、ＲＰ１０から受信するＯｐｅｎＩＤ認証要求に基づいて認証子要求の生成を実施する。トークン利用可否判定部３２は、認証子要求生成部３１からトークン利用可否判定要求の受信に応じて、ユーザ識別子を検索キーとして、トークン利用者データベース３３を参照することによりトークンの利用可否を判定する。
【００５２】
図３は、トークン利用者データベース３３の一例を示す図である。図３に示すように、トークン利用者データベース３３は、ユーザ識別子と、トークン利用可否に関する情報とを関連付けて格納する。認証部３４は、ＯＰ３０が予め発行すると共に認証情報データベース３５に格納したユーザ識別子と認証子とに基づいて、認証を実施する。認証の手順については、一般的な処理であるためその説明を省略する。
【００５３】
ＲＰ１０とＵＡ２０は、通信インタフェース１３，２３を介して互いに通信を行う。また、ＵＡ２０、ＯＰ３０は、通信インタフェース２３，３６を介して互いに通信を行う。ＵＡ２０は、トークン４０と接続可能である。
【００５４】
システムの利用準備
エンドユーザ５０は、ＲＰ１０のサービスを利用する前に、以下の処理を実施している。すなわち、エンドユーザ５０は、予めＵＡ２０を介してＯＰ３０にユーザ識別子の発行要求を行っている。ユーザ識別子は、個々のユーザに与えられるユニークなＵＲＬ形式のＩＤであるＯｐｅｎＩＤである。例えば、「http://myid.example.com」といったＯｐｅｎＩＤが挙げられる。ＯＰ３０は、ユーザ識別子の発行要求に応答して、ユーザ識別子を発行すると共に、そのユーザ識別子を認証するための認証子を発行する。発行されたユーザ識別子と認証子は認証情報データベース３５に格納される。
【００５５】
エンドユーザ５０は、ユーザインタフェース２２を用いて上記ユーザ識別子の発行要求と共に、トークン利用情報をＵＡ２０を介してＯＰ３０に送信する。ここで、トークン利用情報とは、ＵＡ２０がトークン４０を利用できるか否かを示す情報である。
【００５６】
エンドユーザ５０は、トークン４０を利用できる場合はトークン４０をＵＡ２０に接続すると共に、トークンを利用可能である旨をＵＡ２０を介してＯＰ３０に送信する。トークン４０を使用できない場合、エンドユーザ５０は、ＵＡ２０を介してその旨をＯＰ３０に送信する。
【００５７】
ＯＰ３０は、発行したユーザ識別子とエンドユーザ５０からＵＡ２０を介して受信したトークン利用情報とを関連付けてトークン利用者データベース３３に格納する。トークン利用情報は、トークンを利用可能であることを示す情報であっても、トークンを利用不可能であることを示す情報であってもよい。トークン利用情報がトークンを利用可能であることを示す情報である場合、トークン利用可否判定部３２は、該ユーザ識別子に対応するエンドユーザはトークン４０が利用可能であると判定し、そうでない場合は利用不可能であると判定してもよい（ホワイトリスト方式）。トークン利用情報がトークンを利用不可能であることを示す情報である場合、トークン利用可否判定部３２は、トークン４０が利用不可能である旨を読み出すと、該ユーザ識別子に対応するエンドユーザはトークン４０が利用不可能であると判定し、そうでない場合は利用可能であると判定してもよい（ブラックリスト方式）。
【００５８】
エンドユーザ５０は、ユーザインタフェース２２を利用して、ＯＰ３０が発行したユーザ識別子と認証子をＵＡ２０を介して取得している。エンドユーザ５０は、トークン４０が利用できる場合は、認証子をＵＡ２０に接続したトークン４０に記憶させておく。
【００５９】
システムの利用
図４は、本発明の第１の実施形態に係る認証システム１００が実行する認証処理のシーケンスチャートである。係るシーケンスチャートは、図１に示す認証システム１００において、ＲＰ１０、ＵＡ２０をそれぞれ搭載する装置、およびＯＰ３０がそれぞれ備えるＣＰＵが実行するソフトウエア・プログラムの処理手順を表す。図１、図４を参照して、認証システム１００の動作について説明する。
【００６０】
エンドユーザ５０は、ＲＰ１０が提供するサービスを利用したい場合、ユーザインタフェース２２を介してＯＰ３０から予め発行されているユーザ識別子をＵＡ２０に入力する。ＵＡ２０は、ＯｐｅｎＩＤ認証を開始する。すなわち、ＵＡ２０は、受け取ったユーザ識別子を含むＯｐｅｎＩＤ認証要求をＲＰ１０に送信する（ステップＳＴ１０１）。
【００６１】
ＲＰ１０は、認証確認部１１において、ＵＡ２０からのＯｐｅｎＩＤ認証要求を受信すると、そのＯｐｅｎＩＤ認証要求に基づいて、認証を担当するＯＰ３０を決定する（ステップＳＴ１０２）。ユーザ識別子を含むＯｐｅｎＩＤ認証要求には、ユーザの認証を行うための接続先を指定する情報が含まれる。認証確認部１１は、決定したＯＰ３０に対してユーザ識別子を含めたＯｐｅｎＩＤ認証要求を送信する（ステップＳＴ１０３、ＳＴ１０４）。この送信は、ＵＡ２０によるリダイレクトを介して実施される。リダイレクトとは、あるＵＲＬから他のＵＲＬに情報を転送することである。
【００６２】
ＯＰ３０は、ＯｐｅｎＩＤ認証要求を受信すると、認証子要求生成部３１にて認証子要求の生成を開始する（ステップＳＴ１０５）。認証子要求生成部３１は、ＵＡ２０に対する認証子要求を生成するために、トークン利用可否判定部３２に対して、ユーザ識別子を含めたトークン利用可否判定要求を送信する（ステップＳＴ１０６）。トークン利用可否判定要求とは、エンドユーザ５０がトークン４０を利用可能であるか否かの判定の要求である。
【００６３】
トークン利用可否判定部３２は、トークン利用可否判定要求を受信すると、トークン４０の利用可否を判定する（ステップＳＴ１０７）。すなわち、トークン利用可否判定部３２はトークン利用可否判定要求に含まれるユーザ識別子をキーとして、トークン利用者データベース３３を検索すると共に、該ユーザ識別子に関連付けられたトークン利用情報を読み出す。トークン利用可否判定部３２は、読み出したトークン利用情報に基づいて、該ユーザ識別子に対応するエンドユーザ５０がトークン４０を利用可能であるか否かを判定する。
【００６４】
トークン利用可否判定部３２は、上記判定結果を認証子要求生成部３１に返す（ステップＳＴ１０８）。認証子要求生成部３１は、受け取った判定結果に基づいて、認証子要求を生成する（ステップＳＴ１０９）。具体的には、判定結果がトークン利用可能である場合、認証子要求生成部３１は、トークン４０を読み出す旨を含む認証子要求を生成する。一方、判定結果がトークン利用不可能である場合、認証子要求生成部３１は、エンドユーザ５０からのパスワード入力を受け付ける旨を含む認証子要求を生成する。認証子要求生成部３１は、生成した認証子要求をＵＡ２０に送信する（ステップＳＴ１１０）。
【００６５】
ＵＡ２０は、上記認証子要求を取得すると、認証子取得部２１において認証子要求に応じた認証子を取得する（ステップＳＴ１１１）。認証子要求が、トークン４０を用いた認証子を要求している場合、認証子取得部２１はトークン４０から認証子を読み出す。一方、認証子要求が、パスワードの入力を用いた認証子を要求している場合、認証子取得部２１はユーザインタフェース２２を介してエンドユーザ５０にパスワードの入力を促す。例えば、認証子取得部２１は、パスワードの入力を促すメッセージと、パスワード入力欄を備えたグラフィカルユーザインタフェースを、ユーザインタフェース２２を介してエンドユーザ５０に提示する。認証子取得部２１は、エンドユーザ５０からユーザインタフェース２２を介して入力されたパスワードを取得する。認証子取得部２１は、トークン４０から読み出した認証子、またはエンドユーザ５０から取得したパスワードを、ＯＰ３０に送る（ステップＳＴ１１２）。
【００６６】
トークン４０を用いた認証子または入力されたパスワードを受信したＯＰ３０は、認証部３４において、受信した認証子に基づいて、ＯｐｅｎＩＤ認証要求に含まれるユーザ識別子の認証を実施する（ステップＳＴ１１３）。具体的には、認証部３４は、ＵＡ２０から受信した認証子とユーザ識別子の組が、認証情報データベース３５に格納されている場合は認証成功、格納されていない場合は認証失敗と判定する。認証部３４は、認証結果をＲＰ１０に送信する（ステップＳＴ１１４、ＳＴ１１５）。この送信は、ＵＡ２０によるリダイレクトを介して行われる。
【００６７】
ＲＰ１０は、認証確認部１１において受信した認証結果を検証する（ステップＳＴ１１６）。サービス提供部１２は、認証結果が認証成功である場合はユーザにサービスの提供を開始し（ステップＳＴ１１７）、認証結果が認証失敗である場合はサービスの提供を開始しない。認証確認部１１は、認証結果が認証失敗である場合はその旨をＵＡ２０に送信してもよい。
【００６８】
以上のように、第１の実施形態によれば、ＯＰ３０の認証子要求生成部３１が、ＯｐｅｎＩＤ認証要求を受信すると、トークン利用可否判定部３２がトークン利用者データベース３３を参照することにより、エンドユーザ５０のトークン４０の利用可否を判断する。認証子要求生成部３１は、エンドユーザ５０がトークン４０を利用可能である場合は、トークン４０から認証子を読み出す指示を含む認証子要求を生成し、利用不可能である場合は、パスワードの入力を促す指示を含む認証子要求を生成する。ＵＡ２０の認証子取得部２１は、ＯＰ３０からの認証子要求に応じて、トークン４０から読み出した認証子、またはエンドユーザ５０にパスワードの入力を促すことにより取得した認証子を、ＯＰ３０に送信する。ＯＰ３０は、取得した認証子に基づいてエンドユーザ５０の認証を実施すると共に、認証結果をＲＰ１０に送信する。上記の構成により、認証システム１００は、ＲＰ１０がエンドユーザ５０の認証を要求する際に、ＵＡ２０がトークン４０を利用可能であればエンドユーザ５０はパスワードを入力しなくても認証を実施できる効果が得られる。また、認証システム１００は、トークン４０を利用可能なエンドユーザ５０にはパスワードの入力をトークン４０の利用により代替し、トークン４０を利用可能でないエンドユーザ５０にはパスワードの入力を促すことができるという効果が得られる。
【００６９】
第２の実施形態
本発明の第２の実施形態に係る認証システム２００について説明する。図５は、第２の実施形態に係る認証システム２００の構成を示すブロック図である。図５に示した認証システム２００において、図１に示した第１の実施形態に係る認証システム１００と同一要素には同一符号を付し、その説明を省略する。
【００７０】
システムの利用準備
認証システム２００は、第１の実施形態に係る認証システム１００と同様に、ＲＰ１０、ＵＡ６０およびＯＰ７０を備える。ＲＰ１０は、図１の認証システム１００のＲＰ１０と同様の構成要素を備える。ＵＡ６０は、図１の認証システム１００のＵＡ２０と同様の構成要素を備え、さらにトークン利用情報追加部２４を備える。ＯＰ７０は、図１に示した認証システム１００のＯＰ３０と同様の構成要素を備えるが、トークン利用者データベース３３は備えない。
【００７１】
ＵＡ６０のトークン利用情報追加部２４は、ＵＡ６０がＲＰ１０から送信されたＯｐｅｎＩＤ認証要求をＯＰ７０にリダイレクトする際に、ＯｐｅｎＩＤ認証要求に対してＵＡ６０においてトークン４０を利用できることを示す情報を追加する。具体的には、トークン利用情報追加部２４は、例えば通信プロトコルとしてＨＴＴＰが利用される場合、ＨＴＴＰリダイレクトによってＯｐｅｎＩＤ認証要求が転送される際に、ＯＰ７０へのＨＴＴＰリクエストのヘッダ部にトークン４０が利用できることを示す情報を追加する。図６は、ＨＴＴＰリクエストＡの例を示す図である。ＨＴＴＰリクエストＡは、リクエスト部ａ、ヘッダ部ｂ、ボディｃを含む。図６に示すように、トークン利用情報追加部２４は、ＨＴＴＰリクエストのヘッダ部ｂにトークン４０が利用できることを示す情報を追加してもよい。
【００７２】
トークン利用情報追加部２４は、予めＵＡ６０がトークン４０を利用可能か否かを検出し、検出結果を保持しておく。例えば、トークン利用情報追加部２４は、トークン４０が接続され、かつ読み出し可能であることを検出した場合は、トークン利用可能である旨の情報を保持しておく。あるいは、エンドユーザ５０が予めトークン４０を利用可能であるか否かをトークン利用情報追加部２４に登録しておいてもよい。ここでは、ＵＡ６０にトークン４０が接続され、かつ読み出し可能であることをトークン利用情報追加部２４が保持しているとする。
【００７３】
また、上記第１実施形態と同様に、エンドユーザ５０は、予めＵＡ６０を介してＯＰ７０にユーザ識別子の発行要求を行い、発行されたユーザ識別子と認証子を取得している。発行されたユーザ識別子と認証子は、認証情報データベース３５に格納される。
【００７４】
システムの利用
図７は、認証システム２００の動作を示すシーケンスチャートである。図５、図７を参照して、認証システム２００の動作について説明する。
【００７５】
エンドユーザ５０は、ＲＰ１０が提供するサービスを利用したい場合、ユーザインタフェース２２を介して、ＯＰ７０から予め発行されているユーザ識別子をＵＡ６０に入力する。ＵＡ６０は、ＯｐｅｎＩＤ認証を開始する。すなわち、ＵＡ６０は、受け取ったユーザ識別子を含むＯｐｅｎＩＤ認証要求をＲＰ１０に送信する（ステップＳＴ２０１）。
【００７６】
ＲＰ１０は、認証確認部１１においてＯｐｅｎＩＤ認証要求を受信すると、そのＯｐｅｎＩＤ認証要求に基づいて、認証を担当するＯＰ７０を決定する（ステップＳＴ２０２）。認証確認部１１は、決定したＯＰ７０に対してユーザ識別子を含めたＯｐｅｎＩＤ認証要求を送信する（ステップＳＴ２０３、ＳＴ２０５）。この送信は、ＵＡ６０によるリダイレクトを介して実施される。
【００７７】
ＵＡ６０は、ＯｐｅｎＩＤ認証要求をＯＰ７０にリダイレクトする際に、トークン利用情報追加部２４においてトークン４０が利用可能である旨の情報（トークン利用可能情報）をＯｐｅｎＩＤ認証要求に追記する。上述したように、トークン利用情報追加部２４は、例えばＯＰ７０へのＨＴＴＰリクエストのヘッダ部にトークン４０が利用できることを示す情報を追加してもよい。
【００７８】
ＵＡ６０は、トークン４０を利用可能である旨の情報を追記されたＯｐｅｎＩＤ認証要求を、ＯＰ７０に送信する。ＯＰ７０は、ＯｐｅｎＩＤ認証要求を受信すると、認証子要求生成部３１において認証子要求の生成を開始する（ステップＳＴ２０６）。すなわち、認証子要求生成部３１は、トークン利用可否判定部３２に対してトークン利用可否判定要求を通知することにより、トークン４０の利用可否の判定を要求する（ステップＳＴ２０７）。
【００７９】
トークン利用可否判定部３２は、受け取ったトークン利用可否判定要求にトークン利用可能である旨の情報が含まれていれば、トークン利用可と判定し、含まれていなければトークン利用不可と判定する（ステップＳＴ２０８）。トークン利用可否判定部３２は、判定結果を認証子要求生成部３１に返す（ステップＳＴ２０９）。
【００８０】
認証子要求生成部３１は、受け取った判定結果に基づいて、認証子要求を生成する（ステップＳＴ２１０）。具体的には、認証子要求生成部３１は、判定結果がトークン利用可能である場合はトークン４０を読み出す旨を含む認証子要求を生成し、判定結果がトークン利用不可能である場合はエンドユーザ５０からのパスワード入力を受け付ける旨を含む認証子要求を生成する。認証子要求生成部３１は、生成した認証子要求をＵＡ６０に送信（ステップＳＴ２１１）。
【００８１】
以下、ステップＳＴ２１２からステップＳＴ２１８の動作は、上記第１の実施形態にて説明したステップＳＴ１１１からステップＳＴ１１７の動作と同様であるため、その説明を省略する。
【００８２】
以上のように、第２の実施形態によれば、ＵＡ６０のトークン利用情報追加部２４が、ＵＡ６０がトークン４０の利用可能である旨をＯｐｅｎＩＤ認証要求に追記するので、第１の実施形態における効果に加えて、ＵＡ６０におけるトークン４０の利用の有無を容易に切り換えることができるという効果が得られる。例えば、第２の実施形態によれば、一時的にトークン４０を利用できない場合にトークン利用情報追加部２４がＯｐｅｎＩＤ認証要求にトークン４０の利用可能である旨の情報の追記を実施しないという運用が可能である。
【００８３】
第３の実施形態
本発明の第３の実施形態に係る認証システム３００について説明する。図８は、第３の実施形態に係る認証システム３００の構成を示すブロック図である。図８に示した認証システム３００において、図１に示した第１の実施形態に係る認証システム１００と同一要素には同一符号を付し、その説明を省略する。
【００８４】
認証システム３００は、第１の実施形態に係る認証システム１００と同様に、ＲＰ１０、ＵＡ８０およびＯＰ７０を備える。ＲＰ１０は、図１の認証システム１００のＲＰ１０と同様の構成要素を備える。ＵＡ８０は、図１の認証システム１００のＵＡ２０と同様の構成要素を備え、さらにユーザ識別子生成部２５を備える。ＯＰ７０は、図１の認証システム１００のＯＰ３０と同様の構成要素を備えるが、トークン利用者データベース３３は備えない。
【００８５】
システムの利用準備
第１の実施形態と同様に、ＵＡ８０は、トークン４０を接続すると共に、トークン４０を利用できる。また、上記第１実施形態と同様に、エンドユーザ５０は、予めＵＡ８０を介してＯＰ７０にユーザ識別子の発行要求を行い、発行されたユーザ識別子と認証子を取得している。発行されたユーザ識別子と認証子は、認証情報データベース３５に格納される。
【００８６】
認証システム３００では、ＲＰ１０にアクセスする際にエンドユーザ５０がＵＡ８０にユーザ識別子を入力する代わりに、ＵＡ８０のユーザ識別子生成部２５がユーザ識別子を生成する。ユーザ識別子生成部２５は、エンドユーザ５０からの入力等によりＯＰ７０から発行されたユーザ識別子を予め保持している。また、ユーザ識別子生成部２５は、トークン４０が接続され、かつ利用可能であるか否かを検出すると共に、その情報を予め保持している。ここでは、ユーザ識別子生成部２５は、ユーザ識別子として「http://myid.example.com/」を保持すると共に、トークン４０が利用できる旨の情報を保持しているとする。
【００８７】
トークン４０を利用可能である場合、ユーザ識別子生成部２５は、トークン４０を利用可能であることを示すユーザ識別子を生成する。具体的には、例えばユーザ識別子「http://myid.example.com/」がトークン４０を利用できることを示さないとすると、ユーザ識別子生成部２５は、トークン４０を利用できることをユーザ識別子に含ませるために、スキーム部分を「http」から「httpt」に変更する。すなわち、ユーザ識別子生成部２５は、「httpt://myid.example.com/」というユーザ識別子を生成する。このように、どのようなユーザ識別子の場合にトークンを利用可能であることを示すかという取り決めが、ＵＡ８０とＯＰ７０との間で予め成されている。
【００８８】
システムの利用
図９は、認証システム３００の動作を示すシーケンスチャートである。図８、９を参照して、認証システム３００の動作について説明する。
【００８９】
エンドユーザ５０は、ＲＰ１０が提供するサービスを利用したい場合、ＵＡ８０のユーザインタフェース２２を介してＲＰ１０にアクセスする。このとき、ＵＡ８０のユーザ識別子生成部２５は、予めＯＰ７０から発行されているユーザ識別子にトークン４０を利用可能である旨を含めたユーザ識別子を生成する（ステップＳＴ３０１）。
【００９０】
ＵＡ８０は、生成したユーザ識別子を含むＯｐｅｎＩＤ認証要求を、ＲＰ１０に送信する（ステップＳＴ３０２）。ＲＰ１０は、認証確認部１１においてＯｐｅｎＩＤ認証要求を受信すると、そのＯｐｅｎＩＤ認証要求に基づいて、認証を担当するＯＰ７０を決定する（ステップＳＴ３０３）。認証確認部１１は、決定したＯＰ７０に対してユーザ識別子を含めたＯｐｅｎＩＤ認証要求を送信する（ステップＳＴ３０４、ＳＴ３０５）。この送信は、ＵＡ８０によるリダイレクトを介して実施される。
【００９１】
ＯＰ７０は、ＯｐｅｎＩＤ認証要求を受信すると、認証子要求生成部３１において認証子要求の生成を開始する（ステップＳＴ３０６）。すなわち、認証子要求生成部３１は、トークン利用可否判定部３２に対してユーザ識別子を含むトークン利用可否判定要求を通知することにより、トークン４０の利用可否の判定を要求する（ステップＳＴ３０７）。
【００９２】
トークン利用可否判定部３２は、受け取ったユーザ識別子に基づいて、トークン４０の利用可否を判定する（ステップＳＴ３０８）。トークン利用可否判定部３２は、ＵＡ８０との間で取り決めた方法により、ユーザ識別子がトークン利用可能であるか否かを判定する。例えば、トークン利用可否判定部３２は、ユーザ識別子のＵＲＩのスキーム部分に基づいてトークン利用可否を判定する。トークン利用可否判定部３２は、判定結果を認証子要求生成部３１に返す（ステップＳＴ３０９）。
【００９３】
認証子要求生成部３１は、受け取った判定結果に基づいて、認証子要求を生成する（ステップＳＴ３１０）。具体的には、認証子要求生成部３１は、判定結果がトークン利用可能である場合はトークン４０を読み出す旨を含む認証子要求を生成し、判定結果がトークン利用不可能である場合はエンドユーザ５０からのパスワード入力を受け付ける旨を含む認証子要求を生成する。認証子要求生成部３１は、生成した認証子要求をＵＡ８０に返す（ステップＳＴ３１１）。
【００９４】
以下、ステップＳＴ３１２からステップＳＴ３１８の動作は、上記第１の実施形態にて説明したステップＳＴ１１１からステップＳＴ１１７の動作と同様であるため、その説明を省略する。
【００９５】
以上のように、第３の実施形態によれば、ＵＡ８０のユーザ識別子生成部２５が、ＵＡ８０がトークン４０の利用可能である旨を含めたユーザ識別子を生成すると共に、ＲＰ１０に送信するので、第１の実施形態における効果に加えて、ＵＡ８０におけるトークン４０の利用の有無を容易に切り換えることができるという効果が得られる。例えば、第３の実施形態によれば、一時的にトークン４０を利用できない場合にユーザ識別子生成部２５がトークン４０を利用可能である旨を含まない通常のユーザ識別子を生成するという運用が可能であるという効果が得られる。
【００９６】
第４の実施形態
図１０は、第４の実施形態に係る認証システム４００の構成を例示する図である。この実施形態では、上記第１の実施形態から第３の実施形態にて説明した認証システムの具体例について説明する。
【００９７】
図１０は、第１の実施形態から第３の実施形態にて説明した認証システムの一例である認証システム４００の具体例を示す図である。図１０には、コンピュータ１、カードリーダ２およびＩＣカード３を示す。カードリーダ２はコンピュータ１に接続される。コンピュータ１は、カードリーダ２を介してＩＣカード３を読み出し可能である。コンピュータ１は、Ｗｅｂブラウザ４を搭載する。コンピュータ１は、Ｗｅｂサイト５およびＯｐｅｎＩＤプロバイダ６に接続可能である。
【００９８】
図１と図１０の各認証システムを比較すると、図１０のコンピュータ１上のＷｅｂブラウザ４は、図１のＵＡ２０に対応する。Ｗｅｂブラウザ４を介してコンピュータ１がアクセス可能なＷｅｂサイト５は、図１のＲＰ１０に対応する。また、ＯｐｅｎＩＤプロバイダ６はＯＰ３０に対応し、ＩＣカード３はトークン４０に対応する。ＩＣカード３には、認証子が記憶されている。ａはユーザ識別子、ｂはＯｐｅｎＩＤ認証要求、ｃは認証子要求をそれぞれ示す。
【００９９】
ＯｐｅｎＩＤプロバイダ６は、図１のＯＰ３０に示す各構成要素を備える。ＯｐｅｎＩＤプロバイダ６の認証子要求生成部は、トークンの利用を指示する認証子要求として、Ｗｅｂページ組み込みオブジェクトを含むＷｅｂページを用いる。また、ＯｐｅｎＩＤプロバイダ６は、トークンを利用しない場合の認証子要求として、パスワード入力フォームを含むＷｅｂページを用いる。Ｗｅｂページ組み込みオブジェクトには、例えばＡｃｔｉｖｅＸコントロールがある。なお、ＡｃｔｉｖｅＸコントロールは米国Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎの商標である。
【０１００】
Ｗｅｂブラウザ４は、図１のＵＡ２０に示す各構成要素を備える。Ｗｅｂブラウザ４の認証子取得部は、Ｗｅｂページ組込みオブジェクトを含むＷｅｂページをＯｐｅｎＩＤプロバイダ６から受信すると、Ｗｅｂページ組込みオブジェクトをコンピュータ１上で動作させる。これにより、Ｗｅｂブラウザ４は、ＩＣカードリーダ２にアクセスすると共に、ＩＣカード３上に記録された認証子を取得する。一方、Ｗｅｂブラウザ４の認証子取得部は、パスワード入力フォームを含むＷｅｂページをＯｐｅｎＩＤプロバイダ６から受信すると、ユーザにパスワード入力を促す画面を表示すると共に、ユーザが入力したパスワードを認証子として取得する。Ｗｅｂブラウザ４は、取得した認証子をＯｐｅｎＩＤプロバイダ６に送信する。このように、Ｗｅｂブラウザ４はＷｅｂページの内容に応じて処理を選択する認証子取得部の機能を備える。
【０１０１】
図１１は、図１の認証システムの他の構成例を示す。図１１の認証システム５００は、図１０の認証システム４００と同様に、コンピュータ１、Ｗｅｂブラウザ４、Ｗｅｂサイト５、ＯｐｅｎＩＤプロバイダを備える。また、図１１の認証システム５００は、図１０の認証システム４００のＩＣカードリーダ２およびＩＣカード３の代わりに携帯端末７がコンピュータ１に接続可能である。認証システム５００では、携帯端末７が図１のトークン４０に対応する。携帯端末７には、認証子が記憶されている。コンピュータ１は、携帯端末７に記憶された認証子を、ＷｉＦｉ接続ｄを介して読み取ることができる。
【０１０２】
ＯｐｅｎＩＤプロバイダ６は、図１のＯＰ３０に示す各構成要素を備える。ＯｐｅｎＩＤプロバイダ６の認証子要求生成部は、トークンの利用を指示する認証子要求として、Ｗｅｂページ組み込みオブジェクトを含むＷｅｂページを用いる。また、ＯｐｅｎＩＤプロバイダ６は、トークンを利用しない場合の認証子要求として、パスワード入力フォームを含むＷｅｂページを用いる。Ｗｅｂページ組み込みオブジェクトには、例えばＥＣＭＡＳｃｒｉｐｔ（http://www.ecmascript.org/）がある。
【０１０３】
Ｗｅｂブラウザ４は、図１のＵＡ２０に示す各構成要素を備える。Ｗｅｂブラウザ４の認証子取得部は、Ｗｅｂページ組込みオブジェクトを含むＷｅｂページをＯｐｅｎＩＤプロバイダ６から受信すると、Ｗｅｂページ組込みオブジェクトをコンピュータ１上で動作させる。これにより、Ｗｅｂブラウザ４は、携帯端末７にアクセスすると共に携帯端末７に記録された認証子を取得する。一方、Ｗｅｂブラウザ４の認証子取得部は、パスワード入力フォームを含むＷｅｂページをＯｐｅｎＩＤプロバイダ６から受信すると、ユーザにパスワード入力を促す画面を表示すると共に、ユーザが入力したパスワードを認証子として取得する。Ｗｅｂブラウザ４は、取得した認証子をＯｐｅｎＩＤプロバイダ６に送信する。
【０１０４】
以上のように、第４の実施形態では、Ｗｅｂブラウザ４がトークンとしてＩＣカード３または携帯端末７を利用可能であり、ＯｐｅｎＩＤプロバイダ６からの認証子要求に対してＷｅｂブラウザ４は、ＩＣカード３または携帯端末７から認証子を取得するので、エンドユーザは、Ｗｅｂサイト５に認証を要求する際に、パスワードを入力しなくても認証を実施できる効果が得られる。また、エンドユーザがＩＣカード３または携帯端末７を利用可能でない場合はパスワードの入力により認証を実施できるという効果が得られる。
【０１０５】
第５の実施形態
図１２は、第５の実施形態に係る認証装置７００の構成を示すブロック図である。図１２に示すように、認証装置７００は、判定部７０１、認証子要求生成部７０２および認証部７０３を備える。
【０１０６】
認証装置７００は、上記第１から第４の実施形態のＯｐｅｎＩＤプロバイダ３０，７０に対応する。判定部７０１は、上記第１から第４の実施形態のトークン利用可否判定部３２に対応する。認証子要求生成部７０２は、第１から第４の実施形態の認証子要求生成部３１に対応する。認証部７０３は、上記第１から第４の実施形態の認証部３４に対応する。
【０１０７】
認証装置７００は、認証結果を利用してサービスを提供するサービスサイトに対して認証を要求するユーザエージェントの認証を実施する。ここで、サービスサイトは、上記第１から第４の実施形態のＲＰ（Ｗｅｂサイト）に対応する。ユーザエージェントは、上記第１から第４の実施形態のＵＡ（Ｗｅｂブラウザ）に対応する。
【０１０８】
判定部７０１は、サービスサイトからユーザ識別子を含む認証要求を受信するのに応じて、その認証要求に基づいてユーザエージェントがトークンを利用可能か否かを判定する。認証子要求生成部７０２は、判定の結果に応じて生成した認証子要求を、ユーザエージェントに送信する。認証部３４は、予めユーザエージェントに関連付けて発行された認証子とユーザ識別子と、ユーザエージェントから受信した認証子とユーザ識別子とに基づいて、ユーザエージェントの認証を実施すると共に、認証結果を前記サービスサイトに返信する。
【０１０９】
以上のように、第５の実施形態では、認証装置７００が上記構成を有することにより、個々のＲＰがエンドユーザの認証を要求する際に、エンドユーザがパスワードを入力しなくとも認証を遂行できるという効果が得られる。
【０１１０】
なお、上述した各実施形態では、ＣＰＵが実行する各機能を、一例として、ソフトウエア・プログラムとして説明した。しかしながら、図１、図５、図８、図１２に示す各機能は、上記各実施形態に係る認証システムを実現する場合において、ソフトウエア・プログラムおよびハードウエアの少なくとも何れかによって実現される所定の機能単位として認識することができる。したがって、これら各機能の一部または全部を、ハードウエアとして実現してもよい。
【０１１１】
また、上述した各実施形態を例に説明した本発明は、上述した認証システムに対して、その説明において参照したシーケンスチャート（図４、図７、図９）の機能を実現可能なコンピュータ・プログラムを供給した後、そのコンピュータ・プログラムを、当該認証システムを構成する装置のＣＰＵに読み出して実行することによって達成される。
【０１１２】
また、当該認証システムを構成する装置内に供給されたコンピュータ・プログラムは、読み書き可能なメモリまたはハードディスク装置等の記憶デバイス（記憶媒体）に格納すればよい。そして、このような場合において、本発明は、係るコンピュータ・プログラムのコード或いは記憶媒体によって構成される。
【産業上の利用可能性】
【０１１３】
本発明は、例えばＯｐｅｎＩＤ認証サーバとハードウェアトークンを用いた認証システムに適用できる。
（付記１）
認証結果を利用してサービスを提供するサービスサイトに対して、認証を要求するユーザエージェントの認証を実施する認証装置であって、
前記サービスサイトからユーザ識別子を含む認証要求を受信するのに応じて、該認証要求に基づいて前記ユーザエージェントがトークンを利用可能か否かを判定する判定手段と、
前記判定の結果に応じて生成した認証子要求を、前記ユーザエージェントに送信する認証子要求生成手段と、
予め前記ユーザエージェントに関連付けて発行された認証子とユーザ識別子と、前記ユーザエージェントから受信した認証子とユーザ識別子とに基づいて、前記ユーザエージェントの認証を実施すると共に、認証結果を前記サービスサイトに返信する認証手段と
を備えた認証装置。
（付記２）
前記ユーザエージェントがトークンを利用可能であるか否かを示す情報を、ユーザ識別子と関連付けて記憶するトークン利用者データベースをさらに備え、
前記判定手段は、前記ユーザ識別子を検索キーとして前記トークン利用者データベースを参照することにより、前記ユーザエージェントがトークンを利用可能か否かを判定する付記１記載の認証装置。
（付記３）
前記判定手段は、前記認証要求に、トークンが利用可能であることを示すトークン利用可能情報が含まれているか否かに基づいて、前記ユーザエージェントがトークンを利用可能であるか否かを判定する付記１記載の認証装置。
（付記４）
前記判定手段は、前記認証要求に含まれるユーザ識別子の種類に基づいて、前記ユーザエージェントがトークンを利用可能か否かを判定する付記１記載の認証装置。
（付記５）
認証結果を利用してサービスを提供するサービスサイトに対して、認証の実施を要求するユーザエージェントであって、
前記要求に応答して認証を実施する認証装置からトークンを読み出す指示を含む認証子要求を受信した場合は、該トークンから認証子を読み出し、パスワードを取得する指示を含む認証子要求を受信した場合は、パスワードの入力を促すと共にそれに応じて入力されたパスワードを取得する認証子取得手段
を備えたユーザエージェント。
（付記６）
前記サービスサイトから自身を介して前記認証装置に送信される認証要求に対して、トークンが利用可能であることを示すトークン利用可能情報を追加する追加手段をさらに備えた付記５記載のユーザエージェント。
（付記７）
トークンが利用可能であることを示す情報を含むユーザ識別子を生成すると共に、生成したユーザ識別子を含む認証要求を前記サービスサイトに送信するユーザ識別子生成手段をさらに備えた付記５記載のユーザエージェント。
（付記８）
認証結果を利用してサービスを提供するサービスサイトに対して認証を要求するユーザエージェントと、該ユーザエージェントの認証を実施する認証装置とを備えた認証システムであって、
前記認証装置は、
前記サービスサイトからユーザ識別子を含む認証要求を受信するのに応じて、該認証要求に基づいて前記ユーザエージェントがトークンを利用可能か否かを判定する判定手段と、
前記判定の結果に応じて生成した認証子要求を、前記ユーザエージェントに送信する認証子要求生成手段と、
予め前記ユーザエージェントに関連付けて発行された認証子とユーザ識別子と、前記ユーザエージェントから受信した認証子とユーザ識別子とに基づいて、前記ユーザエージェントの認証を実施すると共に、認証結果を前記サービスサイトに返信する認証手段とを備え、
前記ユーザエージェントは、
前記認証装置から受信した認証子要求に応じた認証子を取得すると共に、取得した認証子を前記認証装置に返信する認証子取得手段を
備えた認証システム。
（付記９）
前記認証装置は、
前記ユーザエージェントがトークンを利用可能であるか否かを示す情報を、ユーザ識別子と関連付けて記憶するトークン利用者データベースをさらに備え、
前記判定手段は、前記ユーザ識別子を検索キーとして前記トークン利用者データベースを参照することにより、前記ユーザエージェントがトークンを利用可能か否かを判定する付記８記載の認証システム。
（付記１０）
前記ユーザエージェントは、前記サービスサイトから自身を介して前記認証装置に送信される認証要求に対して、トークンが利用可能であることを示すトークン利用可能情報を追加する追加手段をさらに備え、
前記認証装置の判定手段は、前記認証要求に前記トークン利用可能情報が含まれているか否かに基づいて、前記ユーザエージェントがトークンを利用可能か否かを判定する付記８記載の認証システム。
（付記１１）
前記ユーザエージェントは、トークンが利用可能であることを示す情報を含むユーザ識別子を生成すると共に、生成したユーザ識別子を含む認証要求を前記サービスサイトに送信するユーザ識別子生成手段をさらに備え、
前記認証装置の前記判定手段は、前記認証要求に含まれるユーザ識別子の種類に基づいて、前記ユーザエージェントがトークンを利用可能か否かを判定する付記８記載の認証システム。
（付記１２）
前記ユーザエージェントの認証子取得手段は、前記認証装置からトークンを読み出す指示を含む認証子要求を受信した場合は、該トークンから認証子を読み出し、パスワードを取得する指示を含む認証子要求を受信した場合は、パスワードの入力を促すと共にそれに応じて入力されたパスワードを取得する付記８ないし付記１１のいずれか１項記載の認証システム。
（付記１３）
認証結果を利用してサービスを提供するサービスサイトに対して、認証を要求するユーザエージェントの認証を実施する認証方法であって、
前記サービスサイトからユーザ識別子を含む認証要求を受信するのに応じて、該認証要求に基づいて前記ユーザエージェントがトークンを利用可能か否かを判定し、
前記判定の結果に応じて生成した認証子要求を、前記ユーザエージェントに送信し、
予め前記ユーザエージェントに関連付けて発行された認証子とユーザ識別子と、前記ユーザエージェントから受信した認証子とユーザ識別子とに基づいて、前記ユーザエージェントの認証を実施すると共に、認証結果を前記サービスサイトに返信する
認証方法。
（付記１４）
前記ユーザエージェントがトークンを利用可能であるか否かを示す情報を、ユーザ識別子と関連付けて記憶するトークン利用者データベースを、前記ユーザ識別子を検索キーとして参照することにより、前記ユーザエージェントがトークンを利用可能か否かを判定する付記１３記載の認証方法。
（付記１５）
前記認証要求に、トークンが利用可能であることを示すトークン利用可能情報が含まれているか否かに基づいて、前記ユーザエージェントがトークンを利用可能であるか否かを判定する付記１３記載の認証方法。
（付記１６）
前記認証要求に含まれるユーザ識別子の種類に基づいて、前記ユーザエージェントがトークンを利用可能か否かを判定する付記１３記載の認証方法。
（付記１７）
認証結果を利用してサービスを提供するサービスサイトに対して認証を要求するユーザエージェントと、前記ユーザエージェントの認証を実施する認証装置とを備えた認証システムにおける認証方法であって、
前記サービスサイトからユーザ識別子を含む認証要求を受信するのに応じて、該認証要求に基づいて前記ユーザエージェントがトークンを利用可能か否かを判定し、
前記判定の結果に応じて生成した認証子要求を、前記ユーザエージェントに送信し、
予め前記ユーザエージェントに関連付けて発行された認証子とユーザ識別子と、前記ユーザエージェントから受信した認証子とユーザ識別子とに基づいて、前記ユーザエージェントの認証を実施すると共に、認証結果を前記サービスサイトに返信し、
前記認証装置から受信した認証子要求に応じた認証子を取得すると共に、取得した認証子を前記認証装置に返信する
認証方法。
（付記１８）
前記ユーザエージェントがトークンを利用可能であるか否かを示す情報を、ユーザ識別子と関連付けて記憶するトークン利用者データベースを、前記ユーザ識別子を検索キーとして参照することにより、前記ユーザエージェントがトークンを利用可能か否かを判定する付記１７記載の認証方法。
（付記１９）
前記認証要求に、トークンが利用可能であることを示すトークン利用可能情報が含まれているか否かに基づいて、前記ユーザエージェントがトークンを利用可能であるか否かを判定する付記１７記載の認証方法。
（付記２０）
前記認証要求に含まれるユーザ識別子の種類に基づいて、前記ユーザエージェントがトークンを利用可能か否かを判定する付記１７記載の認証方法。
（付記２１）
認証結果を利用してサービスを提供するサービスサイトに対して、認証を要求するユーザエージェントの認証を実施するコンピュータに、
前記サービスサイトからユーザ識別子を含む認証要求を受信するのに応じて、該認証要求に基づいて前記ユーザエージェントがトークンを利用可能か否かを判定する処理と、
前記判定の結果に応じて生成した認証子要求を、前記ユーザエージェントに送信する処理と、
予め前記ユーザエージェントに関連付けて発行された認証子とユーザ識別子と、前記ユーザエージェントから受信した認証子とユーザ識別子とに基づいて、前記ユーザエージェントの認証を実施すると共に、認証結果を前記サービスサイトに返信する処理と
を実行させる認証プログラム。
（付記２２）
前記ユーザエージェントがトークンを利用可能であるか否かを示す情報を、ユーザ識別子と関連付けて記憶するトークン利用者データベースを、前記ユーザ識別子を検索キーとして参照することにより、前記ユーザエージェントがトークンを利用可能か否かを判定する処理をさらに備えた付記２１記載の認証プログラム。
（付記２３）
前記認証要求に、トークンが利用可能であることを示すトークン利用可能情報が含まれているか否かに基づいて、前記ユーザエージェントがトークンを利用可能であるか否かを判定する処理をさらに備えた付記２１記載の認証プログラム。
（付記２４）
前記認証要求に含まれるユーザ識別子の種類に基づいて、前記ユーザエージェントがトークンを利用可能か否かを判定する処理をさらに備えた付記２１記載の認証プログラム。
【符号の説明】
【０１１４】
１  コンピュータ
２  ＩＣカードリーダ
３  ＩＣカード
４  Ｗｅｂブラウザ
５  Ｗｅｂサイト
６  ＯｐｅｎＩＤプロバイダ
７  携帯端末
１０  Ｒｅｌｙｉｎｇ  Ｐａｒｔｙ
１１  認証確認部
１２  サービス提供部
１３、２３、３６  通信インタフェース
２０、６０、８０  Ｕｓｅｒ  Ａｇｅｎｔ
２１  認証子取得部
２２  ユーザインタフェース
２４  トークン利用情報追加部
２５  ユーザ識別子生成部
３０、７０  ＯｐｅｎＩＤプロバイダ
３１  認証子要求生成部
３２  トークン利用可否判定部
３３  トークン利用者データベース
３４  認証部
３５  認証情報データベース
４０  トークン
５０  エンドユーザ
９０  ＣＰＵ
９１  メモリ
９２  プログラム
１００、２００、３００、４００、５００  認証システム
７００  認証装置
７０１  判定部
７０２  認証子要求生成部
７０３  認証部
【図１】
2011253478.tif 000003
【図２】
2011253478.tif 000004
【図３】
2011253478.tif 000005
【図４】
2011253478.tif 000006
【図５】
2011253478.tif 000007
【図６】
2011253478.tif 000008
【図７】
2011253478.tif 000009
【図８】
2011253478.tif 000010
【図９】
2011253478.tif 000011
【図１０】
2011253478.tif 000012
【図１１】
2011253478.tif 000013
【図１２】
2011253478.tif 000014