JP2005293088A - 認証システム及び認証方法 - Google Patents
認証システム及び認証方法 Download PDFInfo
- Publication number
- JP2005293088A JP2005293088A JP2004105602A JP2004105602A JP2005293088A JP 2005293088 A JP2005293088 A JP 2005293088A JP 2004105602 A JP2004105602 A JP 2004105602A JP 2004105602 A JP2004105602 A JP 2004105602A JP 2005293088 A JP2005293088 A JP 2005293088A
- Authority
- JP
- Japan
- Prior art keywords
- authentication
- user
- server
- service
- identifier
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
【課題】 本来シングルサインオンの環境を実現する認証サーバが機能しなくなった場合でも、複数のアプリケーションサーバ間でのシングルサインオンの環境を維持することができる認証システム及び認証方法を提供する。
【解決手段】 認証エージェント222は、複数のアプリケーションサーバにおいて共通で利用可能な主認証サーバ106を複数の認証サーバの中より選択する。認証エージェント222は、主認証サーバ106にユーザIDを含む認証情報の発行を依頼する。主認証サーバ106は、上記依頼に応じて利用者の要求するサービスに応じたユーザIDを含む認証情報を認証エージェント222へ発行する。認証エージェント222は、依頼に応じて認証サーバ106が発行したユーザIDを含む認証情報を基に、ユーザ情報データベースA・103を参照することで、ユーザIDで特定される利用者の認証を行う。
【選択図】 図2
【解決手段】 認証エージェント222は、複数のアプリケーションサーバにおいて共通で利用可能な主認証サーバ106を複数の認証サーバの中より選択する。認証エージェント222は、主認証サーバ106にユーザIDを含む認証情報の発行を依頼する。主認証サーバ106は、上記依頼に応じて利用者の要求するサービスに応じたユーザIDを含む認証情報を認証エージェント222へ発行する。認証エージェント222は、依頼に応じて認証サーバ106が発行したユーザIDを含む認証情報を基に、ユーザ情報データベースA・103を参照することで、ユーザIDで特定される利用者の認証を行う。
【選択図】 図2
Description
本発明は、ネットワークを介してWebアプリケーションを利用する利用者の認証を行う認証システム及び認証方法に関するものである。
従来、利用者が利用者端末よりネットワークを介してWebアプリケーションサーバにログインする時には、Webアプリケーションサーバは、あらかじめ利用者に対して発行したユーザIDとパスワードを参照して、ログイン時に利用者端末から受信したユーザID及びパスワードが参照したものと一致するか否かを検証し、一致すれば利用者を認証し、そのログインを許可していた。
また、複数のWebアプリケーションサーバを利用する時に、それらのうちの一つにログインが許可されることで他のWebアプリケーションサーバにも自動的にログインが許可されるSSO(シングルサインオン)と呼ばれる機能がある。
一般的に、SSOを実現するためには、ユーザID及びパスワードを集約的に管理し、一元的に利用者を認証する認証サーバが用いられている。特に、SSOに参加するアプリケーションサーバの各々が異なるインターネットドメインに属する場合、ユーザID及びパスワードなどの認証情報を共有するために認証サーバを利用することが必須となっていた(例えば、特許文献1参照。)。
しかしながら、上述した認証システムにおいては、アプリケーションサーバが認証サーバを利用できなくなると、ユーザを認証できないため、他のアプリケーションサーバとのSSOを実現できないだけでなく、個々のアプリケーションサーバも利用できなくなってしまうという問題がある。例えば、運用者が認証サーバの定期的なメンテナンスを行う場合や、認証サーバが故障した場合や、認証サーバとアプリケーションサーバとの間での通信障害があった場合などに、アプリケーションサーバは認証サーバを利用できなくなる。
本発明は、上述した事情を考慮してなされたもので、本来シングルサインオンの環境を実現する認証サーバが機能しなくなった場合でも、複数のアプリケーションサーバ間でのシングルサインオンの環境を維持することができる認証システム及び認証方法を提供することを目的とする。
この発明は、上述した課題を解決すべくなされたもので、本発明による認証システムにおいては、ネットワークを介して利用者端末へ種々のサービスを提供する複数のアプリケーションサーバと、複数のアプリケーションサーバに対して利用者端末を利用する利用者の認証情報を管理する複数の認証サーバとを備える認証システムであって、複数のアプリケーションサーバに対応して設けられ、各アプリケーションサーバが提供するサービスを利用する利用者の認証に必要な認証情報を、サービスを利用可能な利用者を特定する第1の利用者識別子に関連付けて格納する複数の利用者情報データベースと、サービスを利用する利用者を特定する複数のアプリケーションサーバに共通の識別子である第2の利用者識別子に関連付けて、第1の利用者識別子及びサービスを特定するサービス識別子を格納する識別子データベースとを具備し、アプリケーションサーバは、複数のアプリケーションサーバにおいて共通で利用可能な認証サーバを複数の認証サーバの中より選択する選択手段と、ネットワークを介して利用者端末からサービスの要求を受信する受信手段と、受信手段がサービスの要求を受信した場合に、選択手段で選択した認証サーバに第1の利用者識別子を含む認証情報の発行を依頼する認証情報依頼手段と、認証情報依頼手段の依頼に応じて認証サーバが発行した第1の利用者識別子を含む認証情報を得た場合に、認証情報に含まれる第1の利用者識別子を基に、利用者情報データベースを参照することで、第1の利用者識別子で特定される利用者の認証を行う認証手段と、認証手段により認証された利用者の利用者端末に要求に応じたサービスを提供するサービス提供手段とを具備し、認証サーバは、アプリケーションサーバから第1の利用者識別子を含む認証情報の発行の依頼を受信する受信手段と、受信手段が受信した依頼に応じて、識別子データベースを参照して、利用者の要求するサービスに応じた第1の利用者識別子を含む認証情報をアプリケーションサーバへ発行する発行手段とを具備することを特徴とする。
また、本発明による認証方法においては、ネットワークを介して利用者端末へ種々のサービスを提供する複数のアプリケーションサーバと、複数のアプリケーションサーバに対して利用者端末を利用する利用者の認証情報を管理する複数の認証サーバと、複数のアプリケーションサーバに対応して設けられ、各アプリケーションサーバが提供するサービスを利用する利用者の認証に必要な認証情報を、サービスを利用可能な利用者を特定する第1の利用者識別子に関連付けて格納する複数の利用者情報データベースとを備える認証システムを利用した認証方法であって、複数のアプリケーションサーバにおいて共通で利用可能な認証サーバを複数の認証サーバの中より選択する選択ステップと、ネットワークを介して利用者端末からサービスの要求を受信する受信ステップと、受信ステップでサービスの要求を受信した場合に、選択ステップで選択した認証サーバに第1の利用者識別子を含む認証情報の発行を依頼する認証情報依頼ステップと、認証情報依頼ステップの依頼に応じて認証サーバが発行した第1の利用者識別子を含む認証情報を得た場合に、認証情報に含まれる第1の利用者識別子を基に、利用者情報データベースを参照することで、第1の利用者識別子で特定される利用者の認証を行う認証ステップと、認証ステップで認証された利用者の利用者端末に要求に応じたサービスを提供するサービス提供ステップとをアプリケーションサーバにより行い、アプリケーションサーバから第1の利用者識別子を含む認証情報の発行の依頼を受信する受信ステップと、受信ステップで受信した依頼に応じて、サービスを利用する利用者を特定する複数のアプリケーションサーバに共通の識別子である第2の利用者識別子に関連付けて、第1の利用者識別子及びサービスを特定するサービス識別子を格納する識別子データベースを参照して、利用者の要求するサービスに応じた第1の利用者識別子を含む認証情報をアプリケーションサーバへ発行する発行ステップとを認証サーバにより行うことを特徴とする。
また、本発明によるプログラムは、ネットワークを介して利用者端末へ種々のサービスを提供する複数のアプリケーションサーバと、複数のアプリケーションサーバに対して利用者端末を利用する利用者の認証情報を管理する複数の認証サーバと、複数のアプリケーションサーバに対応して設けられ、各アプリケーションサーバが提供するサービスを利用する利用者の認証に必要な認証情報を、サービスを利用可能な利用者を特定する第1の利用者識別子に関連付けて格納する複数の利用者情報データベースとを備える認証システム用のプログラムであって、複数のアプリケーションサーバにおいて共通で利用可能な認証サーバを複数の認証サーバの中より選択する選択ステップと、ネットワークを介して利用者端末からサービスの要求を受信する第1の受信ステップと、第1の受信ステップでサービスの要求を受信した場合に、選択ステップで選択した認証サーバに第1の利用者識別子を含む認証情報の発行を依頼する認証情報依頼ステップと、認証情報依頼ステップの依頼に応じて認証サーバが発行した第1の利用者識別子を含む認証情報を得た場合に、認証情報に含まれる第1の利用者識別子を基に、利用者情報データベースを参照することで、第1の利用者識別子で特定される利用者の認証を行う認証ステップと、認証ステップで認証された利用者の利用者端末に要求に応じたサービスを提供するサービス提供ステップとアプリケーションサーバから第1の利用者識別子を含む認証情報の発行の依頼を受信する第2の受信ステップと、第2の受信ステップで受信した依頼に応じて、サービスを利用する利用者を特定する複数のアプリケーションサーバに共通の識別子である第2の利用者識別子に関連付けて、第1の利用者識別子及びサービスを特定するサービス識別子を格納する識別子データベースを参照して、利用者の要求するサービスに応じた第1の利用者識別子を含む認証情報をアプリケーションサーバへ発行する発行ステップとをコンピュータに実行させるためのプログラムである。
本発明による認証システム及び認証方法は、複数のアプリケーションサーバにおいて共通で利用可能な認証サーバを複数の認証サーバの中より選択することができるので、本来シングルサインオンの環境を実現する認証サーバが機能しなくなった場合でも、複数のアプリケーションサーバ間でのシングルサインオンの環境を維持することができる。
以下添付図面を参照して本発明の好適な実施形態について詳細に説明する。
まず、本発明の一実施形態であるアプリケーションサーバ(情報処理装置)を含む認証システムの概略構成について説明する。本実施形態における認証システムは、認証サーバ自体にユーザ情報を持たず、認証サーバが各アプリケーションサーバにユーザ情報を問い合わせることで認証を行なうという分散系の認証システムである。ここで、アプリケーションサーバは、ネットワークを介して利用者端末(クライアントコンピュータ)にアプリケーションサービスを提供するサーバである。図1は、本発明の一実施形態であるアプリケーションサーバを含む認証システムの構成を模式的に示す図である。
まず、本発明の一実施形態であるアプリケーションサーバ(情報処理装置)を含む認証システムの概略構成について説明する。本実施形態における認証システムは、認証サーバ自体にユーザ情報を持たず、認証サーバが各アプリケーションサーバにユーザ情報を問い合わせることで認証を行なうという分散系の認証システムである。ここで、アプリケーションサーバは、ネットワークを介して利用者端末(クライアントコンピュータ)にアプリケーションサービスを提供するサーバである。図1は、本発明の一実施形態であるアプリケーションサーバを含む認証システムの構成を模式的に示す図である。
図1において、100は、インターネットであり、種々のサービスが提供されている通信ネットワークである。インターネット100上では、インターネットサービスプロバイダ(Internet Service Provider, ISP)などの接続手段を用いて世界規模でコンピュータが接続される。各コンピュータはTCP/IPなどの接続プロトコルで通信可能であり、特にHTTP(Hypertext Transfer Protocol)を用いたWWW(World Wide Web)サービスも利用可能である。
図1は、インターネット100上に接続されたクライアントコンピュータ101と、利用者がクライアントコンピュータ101を用いて利用できる複数のWebアプリケーションサーバ102、104が接続されている。また、認証システムの必要構成要素として、主認証サーバ106と一台以上の認証サーバ107とがインターネット100に接続されている。
ここで、主認証サーバ106及び認証サーバ107は、Webアプリケーションサーバ102、104が提供するアプリケーションサービスを利用する利用者の認証処理を行う。すなわち、ネットワーク100を介して接続されたWebアプリケーションサーバ102、104と、主認証サーバ106及び認証サーバ107により本実施形態における認証システムが構築されている。
また、主認証サーバ106には、ユーザ識別子データベースA・108が接続され、認証サーバ107には、ユーザ識別子データベースB・109が接続されている。このユーザ識別子データベースA・108、ユーザ識別子データベースB・109には、本実施形態の認証システムによって管理される複数アプリケーションサーバ(アプリケーションサーバ102、104など)を利用するユーザを一意に識別するための識別子を共有するためのデータベースである。
また、アプリケーションサーバ102、104には、各々ユーザ情報データベースA・103、ユーザ情報データベースB・105が接続されている。ユーザ情報データベースA・103及びユーザ情報データベースB・105は、利用者に固有のユーザIDと、ユーザIDに関連付けられたパスワードなどの情報を格納する。尚、本実施形態において主認証サーバ106と認証サーバ107とは同じようにSSO機能を実現することができ、複数の認証エージェントによって後述の方法によって選ばれた任意の一台の認証サーバを主認証サーバとする。
また、利用者がアプリケーションサービスを利用するには、クライアントコンピュータ101よりブラウザにて「http://www.serviceA.com/」のURLを指定することでWebアプリケーションサーバ102にアクセスしてアプリケーションサービスAを利用することができる。同様に、クライアントコンピュータ101よりブラウザにて「http://www.serviceB.com/」のURLを指定することでWebアプリケーションサーバ104にアクセスしてアプリケーションサービスBを利用することができる。但し、利用者が上述したアプリケーションサービスA、Bを利用するには、主認証サーバ106によりユーザとして認証される必要がある。
次に、図1に示した認証システムにおける機能構成について説明する。
図2は、図1に示した認証システムの機能構成を示す図である。クライアントコンピュータ101は、ユーザエージェント211を備える。ユーザエージェント211としてはNetscape(登録商標)、Mozilla(登録商標)など一般的に入手可能なブラウザを利用することができる。ユーザエージェント211は、利用者が利用を所望するアプリケーションサーバ102にHTTPを主としたプロトコルで接続を行う。この際、利用者を識別するために、あるいは利用者の接続の可否を判断するために認証と呼ばれる処理を行う。矢印201に示すように、ユーザエージェント211は、主認証サーバ106と通信を行い、主認証サーバ106より認証を受ける。
図2は、図1に示した認証システムの機能構成を示す図である。クライアントコンピュータ101は、ユーザエージェント211を備える。ユーザエージェント211としてはNetscape(登録商標)、Mozilla(登録商標)など一般的に入手可能なブラウザを利用することができる。ユーザエージェント211は、利用者が利用を所望するアプリケーションサーバ102にHTTPを主としたプロトコルで接続を行う。この際、利用者を識別するために、あるいは利用者の接続の可否を判断するために認証と呼ばれる処理を行う。矢印201に示すように、ユーザエージェント211は、主認証サーバ106と通信を行い、主認証サーバ106より認証を受ける。
アプリケーションサーバ102は、Webサーバ部221、利用者の認証を行う認証エージェント222、Webアプリケーション部223から構成される。ユーザエージェント211から発せられたHTTP要求は、Webサーバ部221によって受信、解析され、認証エージェント222における認証処理を通過できた場合(認証された場合)、Webアプリケーション部223に転送される。さらに認証エージェント部222はユーザ認証部222aおよび認証中継処理部222bによって構成される。
ユーザ認証部222aは、主に利用者が入力したユーザIDとパスワードをユーザ情報データベースA・103にSQL(Structured Query Language)などの問い合わせ言語で問い合わせを行うことでユーザ認証する機能を有する。認証中継処理部222bは、主認証サーバ106からの認証中継要求を受信し、同じ認証エージェント部222内のユーザ認証部222aの提供する機能を用いて認証を行う。
尚、本実施形態の認証中継処理部222bは、クライアントコンピュータ101からは利用されることなく、主認証サーバ106からの要求のみを受け付ける。また、認証中継処理部222bと後述する主認証サーバ106の認証中継要求部252の通信を示す矢印203は、例えば、例えばW3C(World Wide Web Consortium)が定めるSOAP(Simple Object Access Protocol)1.1によるRPC(Remote Procedure Call)に応じた通信を行う。
主認証サーバ106は、Webサーバ部251、認証中継要求部252、ユーザ認証部253、ユーザ識別子情報管理部254から構成される。ユーザエージェント211からの認証要求は、Webサーバ部251によって、受信、解析されユーザ認証部253に転送される。主認証サーバ106は、認証対象となるアプリケーションサーバ102の認証エージェント222に認証を依頼する。具体的には、ユーザ認証部253が、ユーザの認証を、認証中継要求部252に依頼し、さらに認証中継要求部252が、矢印203に示す通信により認証エージェント222内の認証中継処理部222bに認証要求を行う。ここで、矢印203に示す通信は、上述したように、W3Cが定めるSOAP1.1によるRPCに応じた通信を行う。
また、ユーザ識別子情報管理部254は、ユーザ識別子データベースA・108に格納されるユーザ識別子に関する情報を管理する。また、主認証サーバ106のユーザ識別子情報管理部254及び認証サーバ107のユーザ識別子情報管理部264は、各々ユーザ識別子データベースA・108とユーザ識別子データベースB・109が接続されている。また、主認証サーバ106のユーザ識別子情報管理部254と認証サーバ107のユーザ識別子情報管理部264とは、通信路206により接続されている。この通信路206における通信プロトコルとして、上述したSOAP1.1によるRPCで実装されている。
以上の構成により、主認証サーバ106中のユーザ識別子データベースA・108内のユーザ識別情報に変更が生じた際は、主認証サーバ106のユーザ識別子情報管理部254が通信路206を介した通信によるRPCを用いて認証サーバ107のユーザ識別子情報管理部264へ変更情報を通知する。これにより、通知を受けた該ユーザ識別子情報管理部264は、ユーザ識別子データベースB・109の情報更新処理を行う。以上の処理により、ユーザ識別子データベースA・108とユーザ識別子データベースB・109内のユーザ識別子情報は同一に保たれる。尚、本実施形態においては、各認証サーバにユーザ識別子データベースが接続されている構成であったが、これに限定されるものではなく、ユーザ識別子情報の共有のために主認証サーバ106および認証サーバ107の双方に一つのユーザ識別子データベースを接続する構成であってもよい。
認証サーバ107は、主認証サーバ106と同様の機能を持つが、主認証サーバ106の機能停止が認証エージェント222で確認されない限り認証サーバ107が認証要求を受けることは無い。
尚、主認証サーバ106と認証サーバ107は同じ機能を有し、図1に示すように本実施形態の認証システムにおける認証サーバは複数台あるが、図2においては、便宜上一台の認証サーバ107を示している。同様に、アプリケーションサーバ102は複数台の図1に示したアプリケーションサーバ102、104のうち、任意の一台としてアプリケーションサーバ102を示している。
次に、ユーザ識別子データベースA・108の構成例について説明する。図10は、ユーザ識別子データベースA・108内のデータ構成例を示す図である。図10において、ユーザ識別子データベースA・108は、ユーザを一意に識別するための識別子であるSSOID(第2の利用者識別子)(1001)と各サービス内でのユーザを表す識別子であるユーザID(第1の利用者識別子)(1002)と各サービスを表す識別子であるサービスID(サービス識別子)(1003)から構成されている。尚、サービスID(1003)において、「サービスA」とは、図1に示したWebアプリケーションサーバ102が提供するアプリケーションサービスAを示し、「サービスB」とは、Webアプリケーションサーバ104が提供するアプリケーションサービスBを示す。
図10に示すように、サービスID(1003)=「サービスA」のユーザID(1002)=「ichiro」と、サービスID(1003)=「サービスB」のユーザID(1002)=「y−ichiro」とが、同一ユーザを表す識別子である場合に、同一SSOID(1001)=「ssoid01」が与えられている。これにより、主認証サーバ106及び認証サーバ107において、SSOID(1001)を管理することで、例えばWebアプリケーションサーバ102を利用する利用者を一意に識別することができる。尚、ユーザ識別子データベースB・109の構成も、図10に示したユーザ識別子データベースA・108の構成例と同様である。
一般的にWebアプリケーションサーバ102は、利用者の情報を登録するために、アプリケーション毎に用意されたユーザ情報データベースA・103を備える。本実施形態におけるユーザ情報データベースA・103は、市販あるいは無料で手に入れることができるリレーショナルデータベース管理サーバ上に配置され、データベースベンダーの独自プロトコル、あるいはJDBCなど標準技術を用いた接続方式により、Webアプリケーションサーバ102に接続される。
ここで、ユーザ情報データベースA・103の構成例を示し説明する。
図5は、ユーザ情報データベースA・103の構成例を示す図である。図5に示すように、ユーザ情報データベースA・103は、アプリケーションサービスAを利用する利用者のユーザID(501)及び、そのユーザIDの認証に必要なパスワード(502)をはじめとした、利用者に固有の情報を格納する。具体的には、ユーザ情報データベースA・103は、例えばリレーショナルデータベース管理サーバによる管理の基で実現され、Webアプリケーションサーバ102からリレーショナルデータベース管理サーバに対してSQLなどの問い合わせ言語を発行することによって、所望のユーザIDを持つ利用者のユーザ情報を取得・変更・削除することができる。
図5は、ユーザ情報データベースA・103の構成例を示す図である。図5に示すように、ユーザ情報データベースA・103は、アプリケーションサービスAを利用する利用者のユーザID(501)及び、そのユーザIDの認証に必要なパスワード(502)をはじめとした、利用者に固有の情報を格納する。具体的には、ユーザ情報データベースA・103は、例えばリレーショナルデータベース管理サーバによる管理の基で実現され、Webアプリケーションサーバ102からリレーショナルデータベース管理サーバに対してSQLなどの問い合わせ言語を発行することによって、所望のユーザIDを持つ利用者のユーザ情報を取得・変更・削除することができる。
以上に示した機能構成により、本実施形態における認証システムは、主認証サーバ106を利用したシングルサインオンを実現し、更に複数の認証サーバ107を用いることにより、主認証サーバ106が機能停止した時も別の認証サーバ107がその機能を引き継ぐことにより、シングルサインオン機能を継続して、利用者に提供することができる。
尚、本実施形態においては、認証サーバ106の機能と、Webアプリケーションサーバ102の機能は別々の機能として構成されているが、これに限定されるものではなく、例えば、認証サーバ106の機能と認証エージェント222の機能を、同一のWebアプリケーションサーバ上に実装していても良い。
次に、図1及び図2に示した複数の認証サーバ(主認証サーバ106や認証サーバ107など)を利用したシングルサインオンを提供する認証システムにおける利用者の認証処理の流れについて説明する。
図3は、図1及び図2に示した認証システムにおける利用者の認証処理の流れを示すフロー図である。
図3は、図1及び図2に示した認証システムにおける利用者の認証処理の流れを示すフロー図である。
図3に示すように、まず利用者は、クライアントコンピュータ101にインストールされたユーザエージェント211を用いてアプリケーションサーバ102に接続要求を発する(ステップ301)。ここで、クライアントコンピュータ101が発する接続要求は主としてURL(Uniform Resource Locator)をユーザエージェント211の提供するGUIの所定入力欄に対して入力することによって行われる。ユーザエージェント211よって発信された接続要求は、アプリケーションサーバ102内にインストールされたWebサーバ部221によって受信され、認証エージェント222内のユーザ認証部222aに転送される。
ユーザ認証処理部222aでは、まずユーザエージェント211に対して認証情報の入力を要求する必要があるか否かを判断する(ステップ311)。ユーザエージェント211に対して認証情報の要求が必要であると判断した場合には、ユーザ認証処理部222aは、ステップ341に進み、ユーザエージェント211に対して利用者に認証情報の入力を促すための情報を生成して送信する。具体的には、ユーザ認証処理部222aは、図4に示すようなログインページ(HTMLによって記述されている)401を表示するための画面情報を生成して、ユーザエージェント211に生成した画面情報を返信する。これにより、ステップ301において、ユーザエージェント211は、画面情報を受信して、図4に示すようなログインページ401を表示する。これにより、クライアントコンピュータ101の利用者に認証情報(ユーザIDとパスワード)の入力を促すことができる。ここで、利用者は、予め利用者登録時に決定されたユーザIDとパスワードを入力する。
以上に説明したように、ユーザ認証部222aは、ユーザエージェント211からの要求がログインページ401への要求であると判断した場合(ステップ311のYES)には、明示的なログイン要求を意味するため、条件によらずログインページ401を表示するための情報を生成する。
また、明示的なログイン要求でない場合(ステップ311のNO)、ユーザ認証部222aは、利用者が既に認証済みであるか否かの判断、即ち、ログインページ401を利用した認証処理をせずにアプリケーションを利用させて良いか否かの判断を、既にクライアントコンピュータ101と接続されたセッションが存在するか否かで判断する(ステップ312)。
具体的には、ユーザ認証部222aは、有効なセッションの存在確認処理を、例えばCookie(クッキー)と呼ばれる情報ファイルを利用することで実現する。Cookieは、アプリケーションサーバ102とユーザエージェント211間で、前回の接続状態を持続的に保持するための技術として広く用いられている情報ファイルである。本実施形態の認証システムでは、セッションを識別する識別子をセッションCookieとして保持する。セッションCookieとして保持される識別子は、アプリケーションサーバ102とユーザエージェント211間に確立したセッションに対して1対1に、アプリケーションサーバ102上に生成されるセッションオブジェクトを一意に識別できる識別子である。セッションCookieは、ユーザエージェント211が起動してから初めてアプリケーションサーバ102に発行された要求の応答に内包される形で、ユーザエージェント211に送信される。一般にアプリケーションサーバ102には利用者の操作するクライアントコンピュータ101のユーザエージェント211が表示する画面に対してログアウトボタンを設けており、利用者がそのログアウトボタンをマウスなどの操作により押下ことで、セッションを終了することができる。セッションが終了すると、アプリケーションサーバ102上のセッションオブジェクトも破棄される。
ステップ312において、有効なセッション識別子(セッションID)が確認された場合には、ユーザ認証部222aは、該当する要求は、既に認証済みの利用者からの要求と判断して、認証エージェント222の処理を終了し、Webアプリケーション部223へ処理要求を転送する(ステップ331)。
また、ステップ312において有効なセッション識別子(セッションID)が確認されない場合には、ユーザ認証部222aは、認証サーバ106に対してユーザがログインしているか否かの判断を要求する処理(認証確認を要求する処理)を行い。すでに主認証サーバ106に対してログインが成立していれば、Webアプリケーションサーバ102、104に対してもログインを認めることでシングルサインオンを実現する。
以下に、シングルサインオンを実現する処理の詳細を説明する。主認証サーバ106における認証確認(以下、リモート認証とする)は、以下の処理フローで進む。
まず、認証エージェント222は、ステップ313において、主認証サーバ106への認証確認要求に先立ち、主認証サーバ106に実装される、稼動確認API(Application Programming Interface)を呼び出すことで主認証サーバ106の稼動状況を確認する。
まず、認証エージェント222は、ステップ313において、主認証サーバ106への認証確認要求に先立ち、主認証サーバ106に実装される、稼動確認API(Application Programming Interface)を呼び出すことで主認証サーバ106の稼動状況を確認する。
本実施形態における稼動確認APIは、SOAP1.1によるRPCとして実装されており、稼動確認要求を受け取ると、データベースサーバやファイルサーバ等、主認証サーバ106が稼動するに必要なシステム上の資源が利用可能であるか否かを確認する。確認の結果、主任賞サーバ106が、認証サーバとして機能を提供できると判断された場合には真、そうでない場合には偽を表す真偽値を含む返答を認証エージェント222へ返す(ステップ351)。
稼動確認APIを呼び出した認証エージェント222は、受け取った返答に含まれる真偽値を解析し、主認証サーバ106の稼動が確認された場合(ステップ314のYES)には、リモート認証モードに移行する(ステップ321)。また、主認証サーバ106が移動してないことが確認された場合(ステップ314のNO)は、図6に示される主認証サーバ切替え処理に移行する。
ここで、主認証サーバの切替え処理について説明する。図6は、主認証サーバの切替え処理を示すフロー図である。図6に示すように、主認証サーバ106の機能停止を検知した認証エージェント222は、保持する認証サーバの優先順位を示す情報(プロパティファイル)に従い、次の認証サーバ107を選択し、稼動確認APIによる稼動確認を行う(ステップ601、602)。認証サーバ107は、上述したステップ351と同様の処理を行い稼動中であるか否かの真偽を表す真偽値を、稼動確認APIを呼び出した認証エージェント222へ返信する(ステップ603)。
稼動確認APIを呼び出した認証エージェント222は、受け取った返答に含まれる真偽値を解析し、認証サーバ107の稼動が確認された場合(ステップ604のYES)には、リモート認証モードに移行する(ステップ605)。また、認証サーバ107が移動してないことが確認された場合(ステップ604のNO)は、順次認証サーバを切替えて稼動確認を行うステップ601、602の処理を再度行う。すなわち、認証エージェント222は、稼動確認が取れた時点で、認証モードをリモート認証モードに切替え(ステップ605)、自身の保持する主認証サーバを示す情報(プロパティファイル)を更新する(ステップ606)。尚、以下の説明では、認証サーバ107が主認証サーバとして更新されたとする。また、認証エージェント222は、新たな主認証サーバである認証サーバ107(以下、主認証サーバ107とする)に認証確認要求(認証確認URLへのHTTPリダイレクト)と主認証サーバ変更通知送信依頼を行う(ステップ607)。
本実施形態では主認証サーバを示す情報と認証サーバの優先順を示す情報はIPアドレスまたはホスト名という形式でプロパティファイルに記述される。図7は、プロパティファイルの具体例を示す図である。図7に示すように、プロパティファイル701中、主認証サーバは「AuthServer」として記述される。また、認証サーバの優先順位は「AuthServer+番号(優先順位を示す番号)」という形で記述される。これにより、認証エージェント222は、稼動確認が取れるまで、プロパティファイル701を参照して「AuthServer1、2、3、…」の順に認証サーバの稼動確認を行っていく。
認証確認要求と変更通知依頼を受けた新たな主認証サーバ107は、認証システム中の全ての認証エージェントに主認証サーバ切替え通知を送信する(ステップ608、609)。これにより、通知を受け取った認証エージェントは各々が保持するプロパティファイルを更新することで主認証サーバの切替えを行い、書き換え完了通知を主認証サーバ107に対して行う(ステップS610、611)。これにより、変更完了通知を受信した新たな主認証サーバ107は、ログインページの生成処理に認証確認要求を転送する(ステップ612)。これにより、ステップ613において、認証エージェント222は、ログインページ401をクライアントコンピュータ101に表示するための情報を生成して、ユーザエージェント211へ送信する。次に、ステップ614において、ユーザエージェント211は、認証エージェント222からログインページ401をクライアントコンピュータ101に表示するための情報を受信する。
以上に示した、主認証サーバの切替えフロー中に行われるサーバ間の全ての通知(通信経路201〜205における通信)は、例えばSOAP1.1によるPRCを利用する。
なお、本実施形態における認証システムの運用開始時は、複数の認証サーバの中から任意の一台を主認証サーバ106として選び、図7に示すようにプロパティファイル701に記述する。
なお、本実施形態における認証システムの運用開始時は、複数の認証サーバの中から任意の一台を主認証サーバ106として選び、図7に示すようにプロパティファイル701に記述する。
ここで、図3におけるステップ321の処理の続きの説明に戻る。
ステップ321の次には、ステップ322において、認証エージェント222は、ユーザエージェント211からの接続要求にSAML(Security Assertion Markup Language) Artifactが含まれるか否かを判断する。このSAML Artifactについての説明及びステップ322のYESの場合における処理(ステップ352、332、333)の説明は詳細を後述する。
ステップ321の次には、ステップ322において、認証エージェント222は、ユーザエージェント211からの接続要求にSAML(Security Assertion Markup Language) Artifactが含まれるか否かを判断する。このSAML Artifactについての説明及びステップ322のYESの場合における処理(ステップ352、332、333)の説明は詳細を後述する。
また、SAML Artifactが含まれないと判断した場合(ステップ322のNO)には、認証エージェント222は、ユーザエージェント211が既に認証エージェント222で認証されているか否かを確認する認証確認要求を主認証サーバ106へ送信するための情報をユーザエージェント211へ送信する(ステップ323)。具体的には、認証エージェント222は、認証確認要求として、認証サーバ106上で稼動しているユーザ認証部253に対するリダイレクト(HTTPリダイレクト)要求をユーザエージェント211に送信することで主認証サーバ106を利用した認証確認を実現する。尚、上述したステップ323の処理や後述するステップ354、355の処理において、図3には示していないが、認証エージェント222と主認証サーバ106の間の通信には、ユーザエージェント211が介在しており、その詳細の説明については図8を用いて後述する。
次に、ユーザ認証部253は、処理要求を受け取ると、主認証サーバ106とユーザエージェント211の間で既にセッションが確立しているか否かを判断する。主認証サーバ106におけるセッションの確認は、Webアプリケーションサーバ102上の認証エージェント222におけるセッション確認と同じく、セッションCookieによって確認されるが、本実施形態では、主認証サーバ106は、Webアプリケーションサーバ102とは異なるインターネットドメインに属するサーバとして構成されているため、Webアプリケーションサーバ102に対するセッションとは本質的に異なるセッションとして認識される。そのためセッションが確立している場合(ステップ353のYES)は、すでに主認証サーバ106にユーザがログイン済み(=セッションIDが有効)であると判断され、ユーザ認証部253は、認証エージェント222へSAML Artifactを送信する(ステップ355)。
これにより、ステップ317において認証エージェント222は、SAML Artifactに対応する認証情報を認証サーバ106に要求して認証情報を確認後に、Webアプリケーション部223へ処理要求を転送する。
また、セッションの確立が確認できない場合(ステップ353のNO)には、主認証サーバ106に対するユーザのログインが行われていない判断し、ユーザ認証部253は、認証エージェント222にログイン処理に移行するよう要求する(ステップ354)。これにより、認証エージェント222は、ステップ341においてログインページ401の生成処理を行う。
ここで、認証エージェント222によるログインページ401の生成処理について具体例を示して説明する。認証エージェント222がログイン処理に入ると、ログイン画面生成処理によってログインページ401に埋め込まれる<form>タグのaction属性は、主認証サーバ106上に実装されたユーザ認証部253のURLとなる。同時にHidden属性として、サービスを識別するための識別子(図10のサービスID)が埋め込まれる。サービスIDは予め主認証サーバ106及び認証サーバ107の管理者によって、主認証サーバ106および認証サーバ107に接続されているアプリケーションサーバ102、104に対して一意に割り当てられた識別子である。本実施形態では、アプリケーションサーバ102に組み込まれる認証エージェント222は、サービスIDとして、処理要求該当するサービスIDをログインページ401に埋め込むように構成されている。
次に、SAML Artifactについての説明及びステップ322のYESの場合における処理の説明を行う。
主認証サーバ106上で有効なセッションが確立された場合、Webアプリケーションサーバ102に対してログイン済みのユーザ名を一意に通知することが必要である。本実施形態においては、このための技術として、標準化団体であるOASIS(Organization for the Advancement of Structured Information Standards)が策定しているSAMLを採用する。SAMLによれば、利用者の認証情報など、機密性の高い情報を安全に主認証サーバ106からWebアプリケーションサーバ102に転送することができる。SAMLの詳細に関しては本実施形態では詳細に述べないが、OASISが発行する標準仕様書Assertions and Protocol for the OASIS Security Assertion Markup Language (SAML) V1.1、およびBindings and Profiles for OASIS Security Assertion Markup Language (SAML) V1.1で詳細に述べられている。
主認証サーバ106上で有効なセッションが確立された場合、Webアプリケーションサーバ102に対してログイン済みのユーザ名を一意に通知することが必要である。本実施形態においては、このための技術として、標準化団体であるOASIS(Organization for the Advancement of Structured Information Standards)が策定しているSAMLを採用する。SAMLによれば、利用者の認証情報など、機密性の高い情報を安全に主認証サーバ106からWebアプリケーションサーバ102に転送することができる。SAMLの詳細に関しては本実施形態では詳細に述べないが、OASISが発行する標準仕様書Assertions and Protocol for the OASIS Security Assertion Markup Language (SAML) V1.1、およびBindings and Profiles for OASIS Security Assertion Markup Language (SAML) V1.1で詳細に述べられている。
本実施形態では、SAMLの仕様の中でもSAML Artifact/Browser Profileと呼ばれる、主認証サーバ106が認証した利用者の認証情報をWebアプリケーションサーバ102に対して通知する技術を利用する。
以下、本実施形態に適用される、SAML Artifact/Browser Profileの技術について図8を用いて簡単に説明する。図8は、本実施形態の認証システムにおいてSAMLを利用した認証処理例を示す図である。SAML Artifact/Browser Profileを利用する場合には、主認証サーバ106は、利用者の認証に成功すると、SAML SSO Assertion(以下、Assertionとする)と呼ばれるXML(eXtensible Markup Language)で記述された認証情報を生成する。好適な例としては、Assertionには、Webアプリケーションサーバ102上での利用者のユーザIDが含まれる。尚、以下の説明において「URL01」とは、認証サーバ106上のリモート認証確認用のURLを示し、「URL02」とは、アプリケーションサーバ102上のURLであって、ユーザエージェント211が処理要求したURLである。
図8に示すように、まず、ユーザエージェント211は、URL02への処理要求をアプリケーションサーバ102へ送信する(ステップ1)。これにより、認証エージェント222は、図3に示した処理ステップ311〜314、321、322、323の処理により、リモート認証確認要求をURL01へのリダイレクトとしてユーザエージェント211へ送信する(ステップ2)。次に、ユーザエージェント211は、URL01に応じて認証サーバ106へリモート認証要求を送信する(ステップ3)。尚、図8のステップ2、3の処理が、図3のステップ323の処理に対応する。
また、主認証サーバ106はAssertion(認証情報)を生成するのと同時に、Assertionと一対一に対応する短ストリングの識別子(SAML Artifact)を発行する。上述したリモート認証要求を受信した主認証サーバ106は、SAML Artifactを含むURL02へのリダイレクトを認証要求応答としてユーザエージェント211に送信する(ステップ4)。これにより、ユーザエージェント211は、URL02に応じたアプリケーションサーバ102(本実施形態では認証エージェント222)へアクセスする(ステップ5)。この時、認証サーバ106にて発行されたSAML Artifactは、アプリケーションサーバ102(本実施形態では認証エージェント222)にリダイレクトによって通知される。尚、図8のステップ4、5の処理が、図3のステップ355の処理に対応する。
リダイレクトによる接続要求を受け取ったWebアプリケーションサーバ102は接続要求に含まれているSAML Artifactを取り出し、SAMLで定められるSOAP上に実現されたプロトコルにより、認証サーバ106にAssertion(認証情報)を要求する(ステップ6)。このとき、Assertion要求は、受け取ったSAML Artifactを内包して発行される。Assertion要求を受け取った主認証サーバ106は、Assertion要求に含まれるSAML Artifactと一意に対応するAssertionを検索する。この検索処理により該当するAssertionが見つかった場合、主認証サーバ106は、アプリケーションサーバ102に対して、先のAssertion要求の返答として、見つかったAssertionを送信する(ステップ7)。
尚、ステップ7の処理において、主認証サーバ106は、Assertionに含めるユーザIDを、利用者から処理要求のあったサービスのサービスIDを基に、ユーザ識別子データベースA・108を参照して定める。また、図8のステップ6、7の処理が、図3のステップ322のYESの場合の処理、ステップ352の処理及びステップ317の処理の一部に対応する。
以上により、アプリケーションサーバ102は、Assertion(認証情報)を解析することによって、ユーザエージェント211を利用する利用者のアプリケーションサーバ102上でのユーザIDを知ることができる。そして、認証エージェント222は、ユーザIDを利用して認証処理を行い、認証できたならWebアプリケーション部223へ処理要求を転送する。Webアプリケーション部223は、Webサーバ部221を介してURL02への処理要求に対する応答(例えば、アプリケーションサービスA)をユーザエージェント211へ送信する(ステップ8)。以上に示したように、SAMLを利用した認証処理により、機密性を維持した状態で、サーバ間における認証情報の送受信を行うことができる。
次に、図3に示したステップ302以降のリモート認証モードにおけるログイン処理の詳細について説明する。
図9は、図3に示したステップ302以降のリモート認証モードにおけるログイン処理の詳細を示す図である。図9に示すように、利用者は、ログインページ401に対してユーザIDおよびパスワードの入力を行う(ステップ901)。これにより、ユーザエージェント211が、ユーザIDとパスワードを送信する先は、アプリケーションサーバ102ではなく主認証サーバ106となる。これは、上述したように、ログインページ401の生成時に埋め込まれるURLが主任賞サーバ106上のユーザ認証部253を示すURLであるからである。
図9は、図3に示したステップ302以降のリモート認証モードにおけるログイン処理の詳細を示す図である。図9に示すように、利用者は、ログインページ401に対してユーザIDおよびパスワードの入力を行う(ステップ901)。これにより、ユーザエージェント211が、ユーザIDとパスワードを送信する先は、アプリケーションサーバ102ではなく主認証サーバ106となる。これは、上述したように、ログインページ401の生成時に埋め込まれるURLが主任賞サーバ106上のユーザ認証部253を示すURLであるからである。
主認証サーバ106上のユーザ認証部253は、Hidden属性として受け取ったサービス名(サービスID)から、ユーザ認証の依頼先(アプリケーションサーバ)を決定し、認証エージェント222上に設けられた外部認証APIに対して受け取ったユーザIDとパスワードの認証を依頼する(ステップ902)。本実施形態では、外部ユーザ認証APIは、前述したSAMLによるユーザ認証確認フロー(図8)と同じく、SOAPにより実装する。主認証サーバ106のユーザ認証部253は、ユーザIDとパスワードを引数に、サービスID上のSOAPインターフェースに対して認証要求を送信する。認証要求を受け取った認証エージェント222は、ユーザIDとパスワードが合致するデータがあるか否かを、アプリケーションサーバ102に接続されたユーザ情報データベースA・103から検索して、検索結果を返り値として認証要求APIへ渡す(ステップ903、904)。
次に、認証要求APIの返り値は真偽値であり、ユーザIDとパスワードが一致する登録ユーザが検索された場合は、認証要求APIの呼出しに対する応答として真が、そうでない場合は偽が返される。偽の返答を受け取った場合(ステップ905のNO)には、認証サーバ106は、再度ログイン要求を発行するために、ログイン処理に移る(ステップ906)。これにより、ステップ907において、ユーザエージェント211は、ログインページを受信する。
また、真の返答を受け取った場合(ステップ905のYES)には、認証サーバ106は、ユーザの認証が成功したと判断し、ユーザエージェント211との間にセッション(ユーザ確認情報)を確立する(ステップ908)。次に、認証サーバ106は、アプリケーションサーバ102に対して認証されたユーザIDを通知するために、前述した認証確認要求段階と同様のSAML ArtifactとAssertionによる手続きを実行する(ステップ909)。これにより、ステップ910において、ユーザエージェント211は、ログイン成功の旨を示すページを受信する。
以上、アプリケーションサーバ102、104と主認証サーバ106及び認証サーバ107の組合せにより、主認証サーバ106でのリモート認証を行う方法を示したが、これに限定されるものではない。例えば、アプリケーションサーバ102、104とは別のドメインに属する第二のアプリケーションサーバを導入した場合、第二のアプリケーションサーバ上においてもリモート認証を行うことにより、主認証サーバ106のセッションCookieが二つのアプリケーションサーバ間で共有される。主認証サーバ106に接続されたユーザ識別子データベースA・108中のユーザ識別子(図10のSSOID(1001))によって各アプリケーションサーバを利用する利用者を一意に識別できることにより、複数アプリケーションサーバ間でのシングルサインオンが実現できる。認証サーバ106における認証機能は各アプリケーションサーバ上に実装できることから、例えば、全てのアプリケーションサーバに上記認証機能を実装することで、全てのアプリケーションサーバが機能停止しない限りシングルサインオン機能が停止しない認証システムを実現することができる。
また、上述した実施形態におけるクライアントコンピュータ101、アプリケーションサーバ102、104、主認証サーバ106及び認証サーバ107は、CPU及びメモリを備えるハードウェア構成である。そして、例えばアプリケーションサーバ102の認証エージェント222の機能や、主認証サーバ106の認証機能を実現する為のプログラムをメモリから読み出してCPUが実行することによりその機能を実現させるものである。
尚、上述したプログラム処理により機能を実現する構成に限定さるものではなく、各処理の全部または一部の機能を専用のハードウェアにより実現してもよい。また、上述したメモリは、光磁気ディスク装置、フラッシュメモリ等の不揮発性のメモリや、CD−ROM等の読み出しのみが可能な記録媒体、RAM以外の揮発性のメモリ、あるいはこれらの組合せによるコンピュータ読み取り、書き込み可能な記録媒体より構成されてもよい。
また、アプリケーションサーバ102の認証エージェント222における各種処理を行う機能や、主認証サーバ106の認証機能を実現する為のプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各処理を行っても良い。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。具体的には、記憶媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含む。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現する為のものであっても良い。さらに、前述した機能をコンピュータシステムに既に記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
また、上記プログラムは、前述した機能の一部を実現する為のものであっても良い。さらに、前述した機能をコンピュータシステムに既に記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
また、上記のプログラムを記録したコンピュータ読み取り可能な記録媒体等のプログラムプロダクトも本発明の実施形態として適用することができる。上記のプログラム、記録媒体、伝送媒体およびプログラムプロダクトは、本発明の範疇に含まれる。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
100 インターネット
101 クライアントコンピュータ
102、104 アプリケーションサーバ
103 ユーザ情報データベースA
105 ユーザ情報データベースB
106 主認証サーバ(認証サーバ)
107 認証サーバ
108 ユーザ識別子データベースA
109 ユーザ識別子データベースB
211 ユーザスエージェント
221 Webサーバ部
222 認証エージェント
222a ユーザ認証部
222b 認証中継処理部
223 Webアプリケーション部
251、261 Webサーバ部
252、262 認証中継要求部
253、263 ユーザ認証部
254、264 ユーザ識別子情報管理部
101 クライアントコンピュータ
102、104 アプリケーションサーバ
103 ユーザ情報データベースA
105 ユーザ情報データベースB
106 主認証サーバ(認証サーバ)
107 認証サーバ
108 ユーザ識別子データベースA
109 ユーザ識別子データベースB
211 ユーザスエージェント
221 Webサーバ部
222 認証エージェント
222a ユーザ認証部
222b 認証中継処理部
223 Webアプリケーション部
251、261 Webサーバ部
252、262 認証中継要求部
253、263 ユーザ認証部
254、264 ユーザ識別子情報管理部
Claims (9)
- ネットワークを介して利用者端末へ種々のサービスを提供する複数のアプリケーションサーバと、前記複数のアプリケーションサーバに対して前記利用者端末を利用する利用者の認証情報を管理する複数の認証サーバとを備える認証システムであって、
前記複数のアプリケーションサーバに対応して設けられ、各アプリケーションサーバが提供するサービスを利用する利用者の認証に必要な認証情報を、前記サービスを利用可能な利用者を特定する第1の利用者識別子に関連付けて格納する複数の利用者情報データベースと、
前記サービスを利用する利用者を特定する前記複数のアプリケーションサーバに共通の識別子である第2の利用者識別子に関連付けて、前記第1の利用者識別子及び前記サービスを特定するサービス識別子を格納する識別子データベースと
を具備し、
前記アプリケーションサーバは、
前記複数のアプリケーションサーバにおいて共通で利用可能な認証サーバを前記複数の認証サーバの中より選択する選択手段と、
前記ネットワークを介して前記利用者端末からサービスの要求を受信する受信手段と、
前記受信手段がサービスの要求を受信した場合に、前記選択手段で選択した認証サーバに前記第1の利用者識別子を含む認証情報の発行を依頼する認証情報依頼手段と、
前記認証情報依頼手段の依頼に応じて前記認証サーバが発行した前記第1の利用者識別子を含む認証情報を得た場合に、前記認証情報に含まれる前記第1の利用者識別子を基に、前記利用者情報データベースを参照することで、前記第1の利用者識別子で特定される利用者の認証を行う認証手段と、
前記認証手段により認証された利用者の利用者端末に前記要求に応じたサービスを提供するサービス提供手段と
を具備し、
前記認証サーバは、
前記アプリケーションサーバから前記第1の利用者識別子を含む認証情報の発行の依頼を受信する受信手段と、
前記受信手段が受信した前記依頼に応じて、前記識別子データベースを参照して、利用者の要求するサービスに応じた前記第1の利用者識別子を含む認証情報を前記アプリケーションサーバへ発行する発行手段と
を具備することを特徴とする認証システム。 - 前記アプリケーションサーバは、
前記選択手段で選択した前記複数のアプリケーションサーバにおいて共通で利用可能な認証サーバを主認証サーバとする場合に、前記主認証サーバが稼動しているか否かを確認する確認手段を更に具備すること
を特徴とする請求項1に記載の認証システム。 - 前記認証サーバは、
前記アプリケーションサーバの前記確認手段から稼動しているか否かの確認要求を受信する受信手段と、
前記受信手段が受信した確認要求に応じて稼動しているか否かを示す情報を返信する稼動情報通知手段と
を更に具備することを特徴とする請求項2に記載の認証システム。 - 前記アプリケーションサーバは、前記選択手段が選択した前記主認証サーバに対して、選択された旨を通知する通知手段を更に具備し、
前記認証サーバは、前記通知手段からの通知に応じて、他のアプリケーションサーバに対して認証処理の依頼先を自身に変更するよう通知する変更通知手段を具備すること
を特徴とする請求項3に記載の認証システム。 - 前記アプリケーションサーバは、
前記複数の認証サーバの優先順位を定める情報を保持する保持手段を更に具備し、
前記選択手段は、前記保持手段より前記優先順位の情報を参照して、前記複数のアプリケーションサーバにおいて共通で利用可能な認証サーバを前記優先順位に応じて選択することを特徴とする請求項1〜4のいずれか1項に記載の認証システム。 - 前記アプリケーションサーバは、前記認証サーバの前記受信手段及び前記発行手段と同等の機能を更に具備することを特徴とする請求項1〜5のいずれか1項に記載の認証システム。
- 前記複数の認証サーバ毎に前記識別子データベースを設け、
前記認証サーバは、前記識別子データベースに格納する情報を管理する管理手段を更に具備し、
前記主認証サーバの管理手段において前記主認証サーバの識別子データベースを更新した場合には、前記主認証サーバの管理手段は、他の認証サーバの管理手段に対して、他の認証サーバの識別子データベースを同様に更新するよう指示することを特徴とする請求項2〜6のいずれか1項に記載の認証システム。 - ネットワークを介して利用者端末へ種々のサービスを提供する複数のアプリケーションサーバと、前記複数のアプリケーションサーバに対して前記利用者端末を利用する利用者の認証情報を管理する複数の認証サーバと、前記複数のアプリケーションサーバに対応して設けられ、各アプリケーションサーバが提供するサービスを利用する利用者の認証に必要な認証情報を、前記サービスを利用可能な利用者を特定する第1の利用者識別子に関連付けて格納する複数の利用者情報データベースとを備える認証システムを利用した認証方法であって、
前記複数のアプリケーションサーバにおいて共通で利用可能な認証サーバを前記複数の認証サーバの中より選択する選択ステップと、
前記ネットワークを介して前記利用者端末からサービスの要求を受信する受信ステップと、
前記受信ステップでサービスの要求を受信した場合に、前記選択ステップで選択した認証サーバに前記第1の利用者識別子を含む認証情報の発行を依頼する認証情報依頼ステップと、
前記認証情報依頼ステップの依頼に応じて前記認証サーバが発行した前記第1の利用者識別子を含む認証情報を得た場合に、前記認証情報に含まれる前記第1の利用者識別子を基に、前記利用者情報データベースを参照することで、前記第1の利用者識別子で特定される利用者の認証を行う認証ステップと、
前記認証ステップで認証された利用者の利用者端末に前記要求に応じたサービスを提供するサービス提供ステップと
を前記アプリケーションサーバにより行い、
前記アプリケーションサーバから前記第1の利用者識別子を含む認証情報の発行の依頼を受信する受信ステップと、
前記受信ステップで受信した前記依頼に応じて、前記サービスを利用する利用者を特定する前記複数のアプリケーションサーバに共通の識別子である第2の利用者識別子に関連付けて、前記第1の利用者識別子及び前記サービスを特定するサービス識別子を格納する識別子データベースを参照して、利用者の要求するサービスに応じた前記第1の利用者識別子を含む認証情報を前記アプリケーションサーバへ発行する発行ステップと
を前記認証サーバにより行うこと
を特徴とする認証方法。 - ネットワークを介して利用者端末へ種々のサービスを提供する複数のアプリケーションサーバと、前記複数のアプリケーションサーバに対して前記利用者端末を利用する利用者の認証情報を管理する複数の認証サーバと、前記複数のアプリケーションサーバに対応して設けられ、各アプリケーションサーバが提供するサービスを利用する利用者の認証に必要な認証情報を、前記サービスを利用可能な利用者を特定する第1の利用者識別子に関連付けて格納する複数の利用者情報データベースとを備える認証システム用のプログラムであって、
前記複数のアプリケーションサーバにおいて共通で利用可能な認証サーバを前記複数の認証サーバの中より選択する選択ステップと、
前記ネットワークを介して前記利用者端末からサービスの要求を受信する第1の受信ステップと、
前記第1の受信ステップでサービスの要求を受信した場合に、前記選択ステップで選択した認証サーバに前記第1の利用者識別子を含む認証情報の発行を依頼する認証情報依頼ステップと、
前記認証情報依頼ステップの依頼に応じて前記認証サーバが発行した前記第1の利用者識別子を含む認証情報を得た場合に、前記認証情報に含まれる前記第1の利用者識別子を基に、前記利用者情報データベースを参照することで、前記第1の利用者識別子で特定される利用者の認証を行う認証ステップと、
前記認証ステップで認証された利用者の利用者端末に前記要求に応じたサービスを提供するサービス提供ステップと
前記アプリケーションサーバから前記第1の利用者識別子を含む認証情報の発行の依頼を受信する第2の受信ステップと、
前記第2の受信ステップで受信した前記依頼に応じて、前記サービスを利用する利用者を特定する前記複数のアプリケーションサーバに共通の識別子である第2の利用者識別子に関連付けて、前記第1の利用者識別子及び前記サービスを特定するサービス識別子を格納する識別子データベースを参照して、利用者の要求するサービスに応じた前記第1の利用者識別子を含む認証情報を前記アプリケーションサーバへ発行する発行ステップと
をコンピュータに実行させるためのプログラム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2004105602A JP2005293088A (ja) | 2004-03-31 | 2004-03-31 | 認証システム及び認証方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2004105602A JP2005293088A (ja) | 2004-03-31 | 2004-03-31 | 認証システム及び認証方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2005293088A true JP2005293088A (ja) | 2005-10-20 |
Family
ID=35325967
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2004105602A Pending JP2005293088A (ja) | 2004-03-31 | 2004-03-31 | 認証システム及び認証方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2005293088A (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007299303A (ja) * | 2006-05-02 | 2007-11-15 | Ntt Resonant Inc | Id連携型認証システムおよびid連携型認証方法 |
| JPWO2010050406A1 (ja) * | 2008-10-29 | 2012-03-29 | 高光産業株式会社 | サービス提供システム |
| JP2015535984A (ja) * | 2012-09-19 | 2015-12-17 | セキュアオース コーポレイションSecureauth Corporation | モバイルマルチシングルサインオン認証 |
| US11240397B2 (en) | 2019-09-27 | 2022-02-01 | Kyocera Document Solutions Inc. | Information processing system, information processing apparatus, computer-readable non-transitory recording medium storing information processing program, and slave system |
-
2004
- 2004-03-31 JP JP2004105602A patent/JP2005293088A/ja active Pending
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007299303A (ja) * | 2006-05-02 | 2007-11-15 | Ntt Resonant Inc | Id連携型認証システムおよびid連携型認証方法 |
| JPWO2010050406A1 (ja) * | 2008-10-29 | 2012-03-29 | 高光産業株式会社 | サービス提供システム |
| JP2015535984A (ja) * | 2012-09-19 | 2015-12-17 | セキュアオース コーポレイションSecureauth Corporation | モバイルマルチシングルサインオン認証 |
| US11240397B2 (en) | 2019-09-27 | 2022-02-01 | Kyocera Document Solutions Inc. | Information processing system, information processing apparatus, computer-readable non-transitory recording medium storing information processing program, and slave system |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP1645971B1 (en) | Database access control method, database access controller, agent processing server, database access control program, and medium recording the program | |
| JP5357246B2 (ja) | 統合認証のためのシステム、方法およびプログラム製品 | |
| CN112995219B (zh) | 一种单点登录方法、装置、设备及存储介质 | |
| JP4729651B2 (ja) | 認証装置,認証方法およびその方法を実装した認証プログラム | |
| US20100071056A1 (en) | Method and system for multi-protocol single logout | |
| EP2310977B1 (en) | An apparatus for managing user authentication | |
| JPH11212912A (ja) | セッション管理システム及び管理方法 | |
| WO2009145987A2 (en) | System, method, and apparatus for single sign-on and managing access to resources across a network | |
| WO2011089712A1 (ja) | 認証方法、認証システムおよび認証プログラム | |
| JP2002334056A (ja) | ログイン代行システム及びログイン代行方法 | |
| JP2002189646A (ja) | 中継装置 | |
| JP2006031064A (ja) | セッション管理システム及び管理方法 | |
| JP2016148919A (ja) | ユーザ属性情報管理システムおよびユーザ属性情報管理方法 | |
| JP2000106552A (ja) | 認証方法 | |
| JP2018037025A (ja) | プログラム、認証システム及び認証連携システム | |
| CN113051035A (zh) | 一种远程控制方法、装置、系统及宿主机 | |
| JP2005293088A (ja) | 認証システム及び認証方法 | |
| JP3528065B2 (ja) | コンピュータネットワーク上の対話継承型アクセス制御方法 | |
| JP2005346571A (ja) | 認証システム及び認証方法 | |
| JP2016218825A (ja) | シングルサインオンシステム、シングルサインオン方法およびコンピュータプログラム | |
| JP2005293161A (ja) | 認証システム、認証方法及びコンピュータプログラム | |
| KR20060067732A (ko) | 연동 아이덴터티를 이용한 단일 인증 서비스에서의 서비스로그아웃 시스템 및 방법 | |
| JP2004302869A (ja) | アクセス管理サーバ、ネットワーク装置、ネットワークシステム、アクセス管理方法 | |
| KR20100073884A (ko) | Id 연계 기반의 고객정보 중개 및 동기화 방법 | |
| US10554789B2 (en) | Key based authorization for programmatic clients |