JP2005346571A - 認証システム及び認証方法 - Google Patents
認証システム及び認証方法 Download PDFInfo
- Publication number
- JP2005346571A JP2005346571A JP2004167539A JP2004167539A JP2005346571A JP 2005346571 A JP2005346571 A JP 2005346571A JP 2004167539 A JP2004167539 A JP 2004167539A JP 2004167539 A JP2004167539 A JP 2004167539A JP 2005346571 A JP2005346571 A JP 2005346571A
- Authority
- JP
- Japan
- Prior art keywords
- authentication
- request
- information
- server
- user
- 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に利用者の認証を行うための認証情報を発行するよう依頼し、依頼に応じて認証サーバシステム106から認証情報を得た場合に、その認証情報を基に利用者の認証を行う。Webアプリケーション部223は、記認エージェント222により認証された利用者のクライアントコンピュータ101に要求に応じたサービスを提供する。認証サーバシステム106は、認証サーバが停止している場合には、停止情報をアプリケーションサーバ102へ通知する。これにより、アプリケーションサーバ102はクライアントコンピュータ101へ認証に必要な情報を要求する。
【選択図】 図2
【解決手段】 認証エージェント222は、認証サーバシステム106に利用者の認証を行うための認証情報を発行するよう依頼し、依頼に応じて認証サーバシステム106から認証情報を得た場合に、その認証情報を基に利用者の認証を行う。Webアプリケーション部223は、記認エージェント222により認証された利用者のクライアントコンピュータ101に要求に応じたサービスを提供する。認証サーバシステム106は、認証サーバが停止している場合には、停止情報をアプリケーションサーバ102へ通知する。これにより、アプリケーションサーバ102はクライアントコンピュータ101へ認証に必要な情報を要求する。
【選択図】 図2
Description
本発明は、ネットワークを介してWebアプリケーションを利用する利用者の認証を行う認証システム及び認証方法に関するものである。
従来、利用者が利用者端末よりネットワークを介してアプリケーションサーバにログインする時には、アプリケーションサーバは、あらかじめ利用者に対して発行したユーザIDとパスワードを参照して、ログイン時に利用者端末から受信したユーザID及びパスワードが参照したものと一致するか否かを検証し、一致すれば利用者を認証し、そのログインを許可していた。
また、複数のアプリケーションサーバを利用する時に、それらのうちの一つにログインが許可されることで他のアプリケーションサーバにも自動的にログインが許可されるSSO(シングルサインオン)と呼ばれる機能がある。
一般的に、SSOを実現するためには、ユーザID及びパスワードを集約的に管理し、一元的に利用者を認証する認証サーバが用いられている。特に、SSOに参加するアプリケーションサーバの各々が異なるインターネットドメインに属する場合、ユーザID及びパスワードなどの認証情報を共有するために認証サーバを利用することが必須となっていた(例えば、特許文献1参照。)。
しかしながら、上述した認証システムにおいては、アプリケーションサーバが認証サーバを利用できなくなると、ユーザを全く認証できなくなってしまうため、他のアプリケーションサーバとのSSOを実現できないだけでなく、個々のアプリケーションサーバも利用できなくなってしまうという問題がある。例えば、運用者が認証サーバの定期的なメンテナンスを行う場合や、認証サーバが故障した場合や、認証サーバとアプリケーションサーバとの間での通信障害があった場合などに、アプリケーションサーバは認証サーバを利用できなくなる。
本発明は、上述した事情を考慮してなされたもので、シングルサインオンの環境を実現する認証サーバが機能しなくなった場合でも、各アプリケーションサーバにおいて利用者の認証処理を可能とすることができる認証システム及び認証方法を提供することを目的とする。
この発明は、上述した課題を解決すべくなされたもので、本発明による認証システムにおいては、ネットワークを介して利用者端末へ種々のサービスを提供する複数のアプリケーションサーバと、前記サービスの利用を要求する前記利用者端末の利用者の認証を行う認証サーバシステムとを備える認証システムであって、前記アプリケーションサーバは、前記ネットワークを介して前記利用者端末からサービスの要求を受信する受信手段と、前記受信手段がサービスの要求を受信した場合に、前記利用者端末経由で前記認証サーバシステムに利用者の認証を行うための認証情報を発行するよう依頼する認証情報依頼手段と、前記認証情報依頼手段の依頼に応じて前記認証サーバシステムから前記利用者端末経由で認証情報を得た場合に、前記認証情報を基に利用者の認証を行う認証手段と、前記認証手段により認証された利用者の利用者端末に前記要求に応じたサービスを提供するサービス提供手段とを具備し、前記認証サーバシステムは、前記認証情報に関する処理を行う認証サーバと、前記アプリケーションサーバの前記認証情報依頼手段からの前記依頼を前記利用者端末経由で受信する受信手段と、前記受信手段の前記依頼の受信に応じて前記認証サーバが停止しているか否かを判断する停止判断手段と、前記停止判断手段において前記認証サーバが停止していると判断した場合には、停止情報を前記依頼の元となるアプリケーションサーバへ通知する通知手段と、前記停止判断手段が停止していないと判断した場合には、前記受信手段が受信した前記依頼を前記認証サーバへ伝達する伝達手段とを具備し、前記認証サーバは、前記伝達手段により伝達された前記依頼に応じて前記認証情報を発行する認証情報発行手段と、前記認証情報発行手段が発行した前記認証情報を前記依頼の元となる前記アプリケーションサーバへ前記利用者端末経由で送信する送信手段とを具備し、前記アプリケーションサーバの前記認証情報依頼手段は、前記停止情報を受信した場合には前記利用者端末へ認証に必要な情報を要求し、前記認証手段は、前記情報の要求に応じて前記利用者端末から得た前記認証に必要な情報を基に利用者の認証を行うことを特徴とする。
また、本発明による認証方法においては、ネットワークを介して利用者端末へ種々のサービスを提供する複数のアプリケーションサーバと、前記サービスの利用を要求する前記利用者端末の利用者の認証を行う認証サーバシステムとを備える認証システムを利用した認証方法であって、前記ネットワークを介して前記利用者端末からサービスの要求を受信する受信ステップと、前記受信ステップでサービスの要求を受信した場合に、前記利用者端末経由で前記認証サーバシステムに利用者の認証を行うための認証情報を発行するよう依頼する認証情報依頼ステップと、前記認証情報依頼ステップの依頼に応じて前記認証サーバシステムから前記利用者端末経由で認証情報を得た場合に、前記認証情報を基に利用者の認証を行う第1の認証ステップと、前記認証サーバシステムから認証サーバの停止情報を受信した場合には前記利用者端末へ認証に必要な情報を要求する要求ステップと、前記要求ステップの要求に応じて前記利用者端末から得た前記認証に必要な情報を基に利用者の認証を行う第2の認証ステップと、前記第1の認証ステップまたは前記第2の認証ステップにより認証された利用者の利用者端末に前記要求に応じたサービスを提供するサービス提供ステップとを前記アプリケーションサーバにより行い、前記アプリケーションサーバの前記認証情報依頼ステップによる前記依頼を前記利用者端末経由で受信する受信ステップと、前記受信ステップでの前記依頼の受信に応じて認証サーバが停止しているか否かを判断する停止判断ステップと、前記停止判断ステップにおいて前記認証サーバが停止していると判断した場合には、停止情報を前記依頼の元となるアプリケーションサーバへ通知する通知ステップと、前記停止判断ステップで停止していないと判断した場合には、前記受信ステップで受信した前記依頼を前記認証サーバへ伝達する伝達ステップと、前記伝達ステップにより伝達された前記依頼に応じて前記認証情報を発行する認証情報発行ステップと、前記認証情報発行ステップで発行した前記認証情報を前記依頼の元となる前記アプリケーションサーバへ前記利用者端末経由で送信する送信ステップとを前記認証サーバシステムにより行うことを特徴とする。
また、本発明によるプログラムは、ネットワークを介して利用者端末へ種々のサービスを提供する複数のアプリケーションサーバと、前記サービスの利用を要求する前記利用者端末の利用者の認証を行う認証サーバシステムとを備える認証システム用のプログラムであって、前記ネットワークを介して前記利用者端末からサービスの要求を受信する受信ステップと、前記受信ステップでサービスの要求を受信した場合に、前記利用者端末経由で前記認証サーバシステムに利用者の認証を行うための認証情報を発行するよう依頼する認証情報依頼ステップと、前記認証情報依頼ステップの依頼に応じて前記認証サーバシステムから前記利用者端末経由で認証情報を得た場合に、前記認証情報を基に利用者の認証を行う第1の認証ステップと、前記認証サーバシステムから認証サーバの停止情報を受信した場合には前記利用者端末へ認証に必要な情報を要求する要求ステップと、前記要求ステップの要求に応じて前記利用者端末から得た前記認証に必要な情報を基に利用者の認証を行う第2の認証ステップと、前記第1の認証ステップまたは前記第2の認証ステップにより認証された利用者の利用者端末に前記要求に応じたサービスを提供するサービス提供ステップとを前記アプリケーションサーバにより行い、前記アプリケーションサーバの前記認証情報依頼ステップによる前記依頼を前記利用者端末経由で受信する受信ステップと、前記受信ステップでの前記依頼の受信に応じて認証サーバが停止しているか否かを判断する停止判断ステップと、前記停止判断ステップにおいて前記認証サーバが停止していると判断した場合には、停止情報を前記依頼の元となるアプリケーションサーバへ通知する通知ステップと、前記停止判断ステップで停止していないと判断した場合には、前記受信ステップで受信した前記依頼を前記認証サーバへ伝達する伝達ステップと、前記伝達ステップにより伝達された前記依頼に応じて前記認証情報を発行する認証情報発行ステップと、前記認証情報発行ステップで発行した前記認証情報を前記依頼の元となる前記アプリケーションサーバへ前記利用者端末経由で送信する送信ステップとを前記認証サーバシステムにより行うことをコンピュータに実行させるためのプログラムである。
本発明による認証システム及び認証方法は、シングルサインオンの環境を実現する認証サーバが機能しなくなった場合でも、各アプリケーションサーバにおいて利用者の認証処理を可能とすることができる。
以下添付図面を参照して本発明の好適な実施形態について詳細に説明する。
まず、本発明の一実施形態である認証サーバシステムを含む認証システムの概略構成について説明する。本実施形態における認証システムは、認証サーバシステム自体に各アプリケーションに応じたユーザ情報を持たず、認証サーバシステムが各アプリケーションサーバにユーザ情報を問い合わせることで認証を行なうという分散系の認証システムである。ここで、アプリケーションサーバは、ネットワークを介して利用者端末(クライアントコンピュータ)にアプリケーションサービスを提供するサーバである。図1は、本発明の一実施形態である認証サーバシステムを含む認証システムの構成を模式的に示す図である。
まず、本発明の一実施形態である認証サーバシステムを含む認証システムの概略構成について説明する。本実施形態における認証システムは、認証サーバシステム自体に各アプリケーションに応じたユーザ情報を持たず、認証サーバシステムが各アプリケーションサーバにユーザ情報を問い合わせることで認証を行なうという分散系の認証システムである。ここで、アプリケーションサーバは、ネットワークを介して利用者端末(クライアントコンピュータ)にアプリケーションサービスを提供するサーバである。図1は、本発明の一実施形態である認証サーバシステムを含む認証システムの構成を模式的に示す図である。
図1において、100は、インターネットであり、種々のサービスが提供されている通信ネットワークである。インターネット100上では、インターネットサービスプロバイダ(Internet Service Provider, ISP)などの接続手段を用いて世界規模でコンピュータが接続される。各コンピュータはTCP/IPなどの接続プロトコルで通信可能であり、特にHTTP(Hypertext Transfer Protocol)を用いたWWW(World Wide Web)サービスも利用可能である。
図1は、インターネット100上に接続されたクライアントコンピュータ101と、利用者がクライアントコンピュータ101を用いて利用できる複数のアプリケーションサーバ102、104が接続されている。また、認証システムの必要構成要素として、認証サーバシステム106がインターネット100に接続されている。
ここで、認証サーバシステム106は、アプリケーションサーバ102、104が提供するアプリケーションサービスを利用する利用者の認証処理を行う。すなわち、ネットワーク100を介して接続されたアプリケーションサーバ102、104と、認証サーバシステム106により本実施形態における認証システムが構築されている。また、アプリケーションサーバ102、104には、各々ユーザ情報データベースA・103、ユーザ情報データベースB・105が接続されている。ユーザ情報データベースA・103及びユーザ情報データベースB・105は、利用者に固有のユーザIDと、ユーザIDに関連付けられたパスワードなどの情報を格納する。
また、利用者がアプリケーションサービスを利用するには、クライアントコンピュータ101よりブラウザにて「http://www.serviceA.com/」のURLを指定することでアプリケーションサーバ102にアクセスしてアプリケーションサービスAを利用することができる。同様に、クライアントコンピュータ101よりブラウザにて「http://www.serviceB.com/」のURLを指定することでアプリケーションサーバ104にアクセスしてアプリケーションサービスBを利用することができる。但し、利用者が上述したアプリケーションサービスA、Bを利用するには、認証システムにより認証される必要がある。
次に、図1に示した認証システムにおける機能構成について説明する。
図2は、図1に示した認証システムの機能構成を示す図である。クライアントコンピュータ101は、ユーザエージェント211を備える。ユーザエージェント211としてはNetscape(登録商標)、Mozilla(登録商標)など一般的に入手可能なブラウザを利用することができる。ユーザエージェント211は、利用者が利用を所望するアプリケーションサーバ102にHTTPを主としたプロトコルで接続を行う。この際、利用者を識別するために、あるいは利用者の接続の可否を判断するために認証と呼ばれる処理を行う。矢印26、27に示すように、ユーザエージェント211は、アプリケーションサーバ102、あるいは認証サーバシステム106と通信を行い、アプリケーションサーバ102、あるいは認証サーバシステム106のいずれかによって認証を受ける。
図2は、図1に示した認証システムの機能構成を示す図である。クライアントコンピュータ101は、ユーザエージェント211を備える。ユーザエージェント211としてはNetscape(登録商標)、Mozilla(登録商標)など一般的に入手可能なブラウザを利用することができる。ユーザエージェント211は、利用者が利用を所望するアプリケーションサーバ102にHTTPを主としたプロトコルで接続を行う。この際、利用者を識別するために、あるいは利用者の接続の可否を判断するために認証と呼ばれる処理を行う。矢印26、27に示すように、ユーザエージェント211は、アプリケーションサーバ102、あるいは認証サーバシステム106と通信を行い、アプリケーションサーバ102、あるいは認証サーバシステム106のいずれかによって認証を受ける。
尚、本実施形態におけるアプリケーションサーバ102は、インターネットドメイン「serviceA.com」に属し、認証サーバシステム106はアプリケーションサーバ102とは異なるインターネットドメイン「authService.com」に属しているものとする。
アプリケーションサーバ102は、Webサーバ部221、利用者の認証を行う認証エージェント222、Webアプリケーション部223から構成される。ユーザエージェント211から発せられたHTTP要求は、Webサーバ部221によって受信、解析され、認証エージェント222における認証処理を通過できた場合(認証された場合)、Webアプリケーション部223に転送される。さらに認証エージェント部222はユーザ認証部222aおよび認証中継処理部222bによって構成される。
ユーザ認証部222aは、主に利用者が入力したユーザIDとパスワードをユーザ情報データベースA・103に問い合わせを行うことでユーザ認証する機能を有する。認証中継処理部222bは、認証サーバシステム106からの認証中継要求を受信し、同じ認証エージェント部222内のユーザ認証部222aの提供する機能を用いて認証を行う。
一般的にアプリケーションサーバは、利用者の情報を登録するために、アプリケーション毎に用意されたユーザ情報を格納するユーザ情報データベースを備える。本実施形態のユーザ情報データベースA・103は、市販あるいは無料で手に入れることができるリレーショナルデータベース管理サーバ上に配置され、データベースベンダーの独自プロトコル、あるいはJDBC(Java(登録商標) DataBase Connectivity)など標準技術を用いた接続方式により、アプリケーションサーバ102に接続される。
図9は、ユーザ情報データベースA・103の構成例を示す図である。図9に示すように、ユーザ情報データベースA・103は、アプリケーションサービスAを利用する利用者のユーザID(901)及び、そのユーザIDの認証に必要なパスワード(902)をはじめとした、利用者に固有の情報を格納する。具体的には、ユーザ情報データベースA・103は、例えばリレーショナルデータベース管理サーバによる管理の基で実現され、アプリケーションサーバ102からリレーショナルデータベース管理サーバに対してSQLなどの問い合わせ言語を発行することによって、所望のユーザIDを持つ利用者のユーザ情報を取得・変更・削除することができる。
また本実施形態の特徴の一つは、認証エージェント222において、認証のために二つのインターフェースを持つことである。先に説明した、ユーザエージェント211からの認証情報を受け取るユーザ認証部222aはそのうちの一つである。他方のインターフェースは、認証中継処理部222bによって実現される。認証中継処理部222bは、後述する認証サーバシステム106からの認証中継要求を受信し、同じ認証エージェント222内のユーザ認証部222aの提供する機能を用いて認証を行なう。本実施形態では、認証中継処理部222bは、一般の利用者からは利用されることなく、認証サーバシステム106からの要求のみを受け付ける。また、認証中継処理部222bと認証サーバシステム106間の通信(矢印28)は、例えば、例えばW3C(World Wide Web Consortium)が定めるSOAP(Simple Object Access Protocol)1.1によるRPC(Remote Procedure Call)に応じた通信を行う。
また、本実施形態の認証エージェント222は、後述する認証サーバシステム106内の認証サーバ310の稼動状態によって認証モードを、ユーザ認証部222aを用いて自分自身で認証を行うローカル認証モードまたは、認証サーバ310と認証中継処理部222bを用いて認証を行うリモート認証モードのいずれかに設定し、その設定モードに関する情報を、認証モード記憶部222cに記憶する。
次に、図1、2に示した認証サーバシステム106の内部構成について説明する。図3は、図1、2に示した認証サーバシステム106の内部構成例を示す図である。図3に示すように認証サーバシステム106は、仮想IP提供装置301、認証サーバ310、代替サーバ(通知サーバ)320から構成される。
仮想IP提供装置301は、認証サーバ310および代替サーバ320の前段に位置し、ユーザエージェント211および認証エージェント222から送信された認証サーバシステム106に対する処理要求は全て仮想IP提供装置301によって受信される。すなわち、図3には示していないが仮想IP提供装置301は、インターネット100に接続されている。仮想IP提供装置301は、認証サーバ310の稼動状態を監視しており、認証サーバ310が稼動状態にある場合は、受け取った要求を認証サーバ310へ転送し、認証サーバ310が停止状態にある場合は受け取った要求を代替サーバ320へ転送する機能を持つ。
認証サーバ310は、Webサーバ部311、ユーザ認証部313、認証中継要求部312から構成される。ユーザエージェント211からの認証要求は、Webサーバ部311によって、受信、解析されユーザ認証部313に転送される。本実施形態の特徴の一つは、認証サーバ310にユーザ情報のデータベースを持たないことであるため、認証サーバ310は、対象アプリケーションの認証エージェント(例えばアプリケーションサーバ102の認証エージェント222)に認証を依頼する。また、本実施形態の認証サーバ310において、ユーザ認証部313は、ユーザの認証を、認証中継要求部312に依頼し、さらに認証中継要求部312は、前述したSOAPによるRPCに応じた通信(図2の矢印28)により、認証エージェント222内の認証中継処理部222bに認証要求を行なう。
代替サーバ320は、Webサーバ部321および認証サーバ停止通知部322から構成される。ユーザエージェント211および認証エージェント222からの処理要求は、Webサーバ部321によって受信、解析され認証サーバ停止通知部322へ転送される。認証サーバ停止通知部322は、要求が認証エージェント222からのものであった場合は認証サーバ310が停止している旨を通知し、要求がユーザエージェント211からのものであった場合は認証サーバ310が停止している旨を表す識別子を付加し、アプリケーションサーバ102へ処理要求をリダイレクト(HTTPリダイレクト)する機能を持つ。この認証サーバ310が停止している旨を表す識別子は、例えばURLのパラメータとして付与される。また、認証サーバ310が停止している旨を表す識別子は、HTTPのエラーコードであってもよい。
このように、認証サーバ310が停止時にのみ要求を受け付け、認証サーバ310が停止している旨をアプリケーションサーバ102に通知する代替サーバ320を認証サーバシステム106内に有することで、認証サーバ310を利用したシングルサインオンを利用しながら、認証サーバ310が稼動できない場合には、アプリケーション102に認証処理を依頼する認証システムを構築することができる。また、上述したように認証エージェント222と認証サーバ310に用意された計2系統の認証経路を用意することにより、認証サーバ310を利用したSSOを実現しつつも、アプリケーションサーバ102単独の認証に自動的に切り替えることが可能となり、アプリケーションサーバ102が提供するアプリケーションの利用率を高めることができる。尚、代替サーバ320は、予め登録された複数のアプリケーションサーバに対して認証サーバ310が停止している旨を通知する機能を更に備えてもよい。また、認証サーバ310は、停止した状態から稼動状態へ移行した際に、稼動状態であることを通知する稼動情報を、予め登録した複数のアプリケーションサーバへ通知する機能を備えてもよい。
尚、図2に示すアプリケーションサーバ102は、図1に示した複数台のアプリケーションサーバ102、104のうち、任意の一台を便宜上示している。また、認証システムに含まれるアプリケーションサーバは、図1では2台であったが、これに限定されるものではなく、認証システムが任意の数のアプリケーションサーバを含む構成であってもよい。
次に、本実施形態における認証システムにおける利用者の認証処理について図4〜図7及び図10を用いて説明する。
まず、本実施形態の認証システムにおけるログインページを表示するか否かを判断する処理について説明する。図10は、本実施形態におけるログインページを表示するか否かを判断する処理を示す図である。まず、ステップ1001において、利用者が例えばブラウザを操作することにより、クライアントコンピュータ101上にインストールされたユーザエージェント211が、アプリケーションサーバ102に接続要求を送信する。この利用者によるブラウザの操作とは、例えばアプリケーションサーバ102がサービスを提供するURL(Uniform Resource Locator)をブラウザ(ユーザエージェント211)に対して入力する操作である。ユーザエージェント211よって発信された接続要求は、アプリケーションサーバ102内にインストールされたWebサーバ211によって受信され、認証エージェント222内のユーザ認証部222aに転送される。
まず、本実施形態の認証システムにおけるログインページを表示するか否かを判断する処理について説明する。図10は、本実施形態におけるログインページを表示するか否かを判断する処理を示す図である。まず、ステップ1001において、利用者が例えばブラウザを操作することにより、クライアントコンピュータ101上にインストールされたユーザエージェント211が、アプリケーションサーバ102に接続要求を送信する。この利用者によるブラウザの操作とは、例えばアプリケーションサーバ102がサービスを提供するURL(Uniform Resource Locator)をブラウザ(ユーザエージェント211)に対して入力する操作である。ユーザエージェント211よって発信された接続要求は、アプリケーションサーバ102内にインストールされたWebサーバ211によって受信され、認証エージェント222内のユーザ認証部222aに転送される。
ユーザ認証処理部222aでは、まずユーザエージェント211に対して認証情報の入力を要求する必要があるか否かを判断する。ユーザエージェント211に対して認証情報の要求が必要である場合、認証エージェント222は、例えば図12−1のようなHTML記述データ1200を送信することでクライアントコンピュータ101の画面に図12−2に示すログインページ(ログインページ)1210を表示し、利用者に予め利用者登録時に決定したユーザIDとパスワードを入力するよう促す。すなわち、アプリケーションサーバ102は、必要に応じてユーザエージェント211に対してログインページ1210を提示するHTML記述データ1200を送信する。
ユーザエージェント211は、受け取ったHTML記述データ1200を基にログインページ1210を表示し、利用者に入力を促す。利用者は、記憶しているユーザIDとパスワードを入力し、ログインページ1210上に表示されている転送ボタン(図12−2の「Submit」ボタン)を押すことで、アプリケーションサーバ102へのログインを試みる。アプリケーションサーバ102は、ログインページ1210に対して利用者が入力したユーザIDとパスワードの組を、図9に示したユーザ情報データベースA・103に格納されているユーザID(901)、パスワード(902)の組と照合することで、認証を行なう。
次に、ステップ1002において、ユーザエージェント211からの要求がログインページへの要求である場合は、認証エージェント222は、明示的なログイン要求を意味するため、条件によらずログインページを生成する(ステップ1003)。具体的には、認証エージェント222は、図12−1に示したようなHTML記述データ1200を生成する。
また、ステップ1002において、明示的なログイン要求でない場合、認証エージェント222のユーザ認証部222aは、利用者が既に認証済みであるか否かの判断、即ち、ログインページ1210を表示せずにアプリケーションを利用させて良いか否かの判断を、有効なセッションが存在するか否かで判断する(ステップ1004)。本実施形態においては、ユーザ認証部222aは、有効なセッションの存在確認処理としてCookie(クッキー)と呼ばれる情報を利用することで実現する。
Cookieは、Webサーバ221とユーザエージェント211の間で、前回の接続状態を持続的に保持するための情報として広く用いられているものである。本実施形態では、セッションを識別する識別子をセッションCookieとして保持する。セッションCookieとして保持される識別子は、アプリケーションサーバ102とユーザエージェント211間に確立したセッションに対して一対一に生成されるセッションオブジェクトを一意に識別できる識別子であり、利用者が認証された際にセッションオブジェクトに認証済みであるという情報を付加することによって、それ以降の処理要求の際に有効なセッションの確認により認証済みであるか否かも確認することができる。セッションCookieはユーザエージェント211が起動して初めてアプリケーションサーバ102にアクセスした応答に対して発行される。一般にWebアプリケーションでは利用者に対してログアウトボタンを設けており、利用者がこのログアウトボタンを押すことで、セッションを終了することができ、アプリケーションサーバ102上のセッションオブジェクトも破棄される。
次に、ステップ1004において有効なセッション識別子が確認された場合、すでに認証済みの利用者として判断することで認証エージェント222の処理を終了し、Webアプリケーション部223へ処理要求を転送する(ステップ1005)。
また、ステップ1004において有効なセッション識別子が確認されない場合、認証エージェント222は、現在の認証モードがローカル認証モードであるか、リモート認証モードであるかを確認する(ステップ1006)。認証モードは前述の通り、認証サーバ310の稼動状態によって変化し、認証エージェント222の認証モード記憶部222cによって記憶されている。このステップ1006において認証モードがローカル認証モードであると確認された場合は、認証エージェント222はログインページ1210を表示するためのHTML記述データ1200を生成してユーザエージェント211に対して送信する(ステップ1003)。
一方、ステップ1006において認証モードがリモート認証モードであると確認された場合は、認証エージェント222は認証サーバ310に対してユーザがログインしているか否かを判断するためにリモート認証確認処理に移る(ステップ1007)。すでに認証サーバ310に対してログインが成立していれば、アプリケーションサーバ102に対してもログインを認めることでSSOを実現することができる。
次に、図10のステップ1007におけるリモート認証確認処理について図4を用いて説明する。図4は、図10のステップ1007におけるリモート認証確認処理の詳細を示す図である。
まず、認証エージェント222はユーザエージェント211から受け取った要求に認証サーバ310の停止を表す識別子が含まれるか否かを確認する(ステップ401)。この識別子は、前述の代替サーバ320によって処理要求に付加されるものであり、認証サーバ310の稼動中はこの識別子が処理要求に含まれることはないため、処理要求に認証サーバ310の停止を表す識別子が含まれる場合は、認証モード記憶部222cの認証モードをローカル認証モードに変更し(ステップ402)、ログインページ生成処理に進む(ステップ420)。
一方、ステップ401において受け取った要求に認証サーバ310の停止を表す識別子が含まれない場合は、認証エージェント222は、受け取った要求に後述するSAML(Security Assertion Markup Language) Artifactが含まれているか否かを確認し(ステップ403)、要求にSAML Artifactも含まれていない場合は、ユーザエージェント211が既に認証サーバ310で認証されているか否かを確認する認証確認要求を発行する(ステップ405)。この認証確認要求は、認証サーバシステム106に対するリダイレクト要求をユーザエージェント211に発行することで実現される。
ステップ405の処理による認証サーバシステム106に対する処理要求は、前述の通り、仮想IP提供装置301によって受信される。処理要求を受信した仮想IP提供装置301は、認証サーバ310が稼動中であるか否かを確認し(ステップ409)、認証サーバ310が稼動中であった場合は処理要求を認証サーバ310へ転送することでステップ411へ移行し、認証サーバ310が停止中であると確認された場合は処理要求を代替サーバ320へ転送することでステップ417へ移行する。
ステップ409において認証確認要求が代替サーバ320へ転送された場合は、要求はWebサーバ部321で受信、解析され、認証サーバ停止通知部322に転送される。これにより認証サーバ停止通知部322は、認証サーバ310の停止を表す識別子を処理要求に付加してユーザエージェント211をアプリケーションサーバ102へリダイレクトして処理を終了する(ステップ417)。ここで付加された識別子は前述の通り、ステップ401において認証エージェント222によって確認される。
ステップ409において認証確認要求が認証サーバ310へ転送された場合は、要求はWebサーバ部311によって受信、解析され、ユーザ認証処理部313へ転送される。これによりユーザ認証処理部313は、処理要求を受け取ると、認証サーバ310とユーザエージェント211の間で既に有効なセッションが確立しているか否かを判断する(ステップ411)。
セッションの確認は、アプリケーションサーバ102とユーザエージェント211間でのセッションと同じくセッションCookieによって確認されるが、本実施形態では、認証サーバ310は、アプリケーションサーバ102とは異なるインターネットドメインに属するサーバとして構成されているため、アプリケーションサーバ102に対するセッションとは本質的に異なるセッションとして認識される。有効なセッションが確立している場合は、すでに認証サーバ310にログイン済みであると判断される。セッションの確立が確認できない場合は、認証サーバ310に対するログインが行なわれていない状況と判断し、後述するログイン処理に移る(ステップ413)。
認証サーバ310上で有効なセッションが確立された場合、アプリケーションサーバ102に対してログイン済みのユーザ名を一意に通知することが必要である。このための技術としては、標準化団体であるOASIS(Organization for the Advancement of Structured Information Standards)が策定している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で詳細に述べられているので本実施形態では詳細に述べないが、認証サーバ310が認証した利用者の認証情報をアプリケーションサーバ102に対して通知する技術として利用することができる(SAML Artifact/Browser Profile)。
以下、本実施形態に適用される、SAML Artifact/Browser Profileについて図8を用いて簡単に説明する。図8は、本実施形態の認証システムにおいてSAMLを利用した認証処理例を示す図である。SAML Artifact/Browser Profileでは、認証サーバ310は、利用者の認証に成功すると、SAML SSO Assertion(以下、Assertionとする)と呼ばれるXML(eXtensible Markup Language)で記述された認証情報を生成する。好適な例としてはSAML SSO Assertionは、アプリケーションサーバ102上での利用者のユーザIDを含む。
また、認証サーバ310はAssertion(認証情報)を生成するのと同時に、SAML Artifactと呼ばれるAssertionと一対一に対応する短ストリングの識別子を発行する。発行されたSAML Artifactは、アプリケーションサーバ102の認証エージェント222にリダイレクトによって通知される(ステップ5、6)。リダイレクトによる接続要求を受け取ったアプリケーションサーバ102は接続要求に含まれているSAML Artifactを取り出し、SAMLで定められるSOAP上に実現されたプロトコルにより、Assertionを要求する(ステップ7)。このとき、Assertion要求は、受け取ったSAML Artifactを引数として発行される。SOAPエンジンを介してAssertion要求を受け取った認証サーバ310は、Assertion要求に含まれるSAML Artifactと一意に対応するAssertionを検索する。該当するAssertionが見つかった場合、認証サーバ310は、アプリケーションサーバ102に対して、先のAssertion要求の返答として、見つかったAssertion(認証情報)を送信する(ステップ8)。アプリケーションサーバ102は、Assertionを解析することによって、ユーザエージェント211を利用する利用者のアプリケーションサーバ102上でのユーザIDを知ることができる。
ここで、図4の処理の説明に戻り、ステップ411において、有効なセッションIDが確認された場合は、ユーザ認証部313はSAML Artifactを付加してユーザエージェント211をアプリケーションサーバ102へリダイレクトする(ステップ412)。ここで付加されたSAML Artifactは、ステップ403において確認される。尚、このステップ412の処理は、図8のステップ5、6の処理に対応する。
ステップ403において処理要求にSAML Artifactが含まれていた場合、認証エージェント222は認証サーバシステム106に対してAssertion(認証情報)を要求する(ステップ404)。尚、このステップ404の処理は、図8のステップ7の処理に対応する。
Assertion要求は認証確認要求と同様に、仮想IP提供装置301によって受信され、認証サーバ310が稼動中の場合は認証サーバ310へ、認証サーバ310が停止中の場合は代替サーバ320へ転送される(ステップ410)。ここで、Assertion要求が代替サーバ320へ転送された場合、ステップ418へ移行し、代替サーバ320は認証サーバ310の停止を認証エージェント222に対して通知する。これにより、ステップ419において、認証サーバ310が停止している旨の通知を受け取った認証エージェント222は、認証モード記憶部222cに記憶されている認証モードをローカル認証モードに変更する。次に、認証エージェント222は、ステップ420に進み、ログインページ1210を表示するためのHTML記述データ1200を生成し、ユーザエージェント211に対して送信する。
一方、ステップ410で認証サーバ310が稼動中と判断され、Assertion要求が認証サーバ310へ転送された場合は、認証サーバ310は、前述のSAML Artifact/Browser Profileの通り、ユーザ認証部313において受け取ったSAML Artifactに対応するAssertionを検索する(ステップ414)。ここで、対応するAssertionが存在した場合は、ステップ415に進み、認証サーバ310は、Assertionを認証エージェント222に返信する。尚、このステップ415の処理は、図8のステップ8の処理に対応する。
また、ステップ414で対応するAssertionが存在しない場合は、ステップ416に進み、認証サーバ310は、ユーザエージェント211が認証サーバ310でも未認証な状態である旨を認証エージェント222へ通知する。これにより、ステップ420において、認証エージェント222は、ユーザエージェント211に対してログインページ1210を送信する。
ステップ415の処理によりAssertionを受け取った認証エージェント222は、Assertionを解析し(ステップ407)、ユーザIDを取得する。認証エージェント222は取得したユーザIDを持つ利用者としてユーザエージェント211を認証し、Webアプリケーション部223へ処理要求を転送する(ステップ408)。尚、アプリケーションサーバ102とユーザエージェント211の間のセッションは、この段階から有効なものとして識別される。図4のフローで示されるリモート認証確認処理でユーザエージェント211が認証されなかった場合、認証エージェント222はログイン処理に移る。
ログイン処理においては、ユーザエージェント211に対して、ログインページ1210のように、ユーザIDおよびパスワードの入力を行うための画面を提供する。本実施形態では図12−1の符号1201に示したように<FORM>タグを内包するHTML記述データ1200を利用する。ログインページ1210を表示するためのHTML記述データ1200は図7のフローに従って生成される。図7は、ログインページ1210を表示するためのHTML記述データ1200を生成する処理を示す図である。
図7に示すように、まず、ステップ701において、認証エージェント222は、ログインページ1210を表示するためのHTML記述データ1200を生成する処理(以下、単に「ログインページ1210を生成する処理」とする)を開始する。次に、ステップ702において、認証エージェント222は、認証モードがリモート認証モードであるか否かを判断する。
本実施形態においては、認証サーバ310の稼動状態によって変化する認証モードによって、認証サーバ310を用いたリモート認証および認証エージェント222を用いたローカル認証を使い分ける。このため、ステップ702において、リモート認証と判断した場合には、認証エージェント222は、HTML記述データ1200に示すように<FORM>タグにおけるACTION属性に、認証サーバ310上に実装されたユーザ認証部313のURLを埋め込む(ステップ703)。また、ローカル認証と判断した場合には、認証エージェント222は、HTML記述データの<FORM>タグにおけるACTION属性に、アプリケーションサーバ102上に実装された認証処理URL(ユーザ認証部222aのURL)を埋め込む(ステップ704)。ステップ703または704の次に、ステップ705において、認証エージェント222は、リモート認証またはローカル認証に応じた認証情報の送付先を指定したHTML記述データ1200が生成し、ユーザエージェント211へ送信する。
ユーザエージェント211は、アプリケーションサーバ102から受信したHTML記述データを解析し、ユーザエージェント211上にログインページを表示し、利用者に対してユーザIDとパスワードの入力を促す。ユーザエージェント211の利用者は、予めアプリケーションサーバ102に登録されているユーザIDとそれに対応するパスワードを入力する。入力されたユーザIDおよびパスワードの確認処理、すなわちログイン認証は、ローカル認証モードであるか、リモート認証モードであるかにより処理が異なる。本実施形態におけるリモート認証時のログイン認証フローを図5に示し、ローカル認証時のログイン認証フローを図6に示す。
尚、リモートログイン処理時に用いられるログインページ1210には、ユーザエージェント211には表示されないHIDDEN属性として、図12−1の符号1202に示すようにサービスを識別するための識別子(ServiceID)が埋め込まれる。ServiceIDは予め認証サーバシステム106の管理者によって、認証サーバシステム106に接続されるアプリケーションサーバ102に対して一意に割り当てられた識別子である。本実施形態では、アプリケーションサーバ102に組み込まれる認証エージェント222はサービスを識別するための識別子として、該当するServiceIDをログインページに埋め込むように構成されている。
また、本実施形態では、認証サーバ310は図11で示されるサービス情報テーブルを記述した構成情報記述ファイルを読み込むことにより、各サービスの認証中継処理部222bを表す通信経路を取得することができる。
ここで、認証モードがリモート認証時のログイン認証処理について説明する。図5は、認証モードがリモート認証時のログイン認証フローを示す図である。図5に示すように、利用者によって入力されたユーザIDおよびパスワードは、画面上の送信ボタンを押下することにより、<FORM>タグのACTION属性に記述されたURLへ送信される(ステップ501)。ステップ703で示したように、リモート認証モードでは、ACTION属性に記述されているURLは認証サーバ310上のユーザ認証処理部313であるため、ユーザIDおよびパスワードは、認証サーバシステム106へ送信される。
前述の通り、認証サーバシステム106に対する処理要求は仮想IP提供装置301が受信し、認証サーバ310が稼動中である場合は認証サーバ310へ処理要求を転送し、認証サーバ310が停止中である場合は代替サーバ320へ処理要求を転送する(ステップ502)。ここで、要求が代替サーバ320へ転送された場合、代替サーバ320は、認証サーバ停止通知部322において認証サーバ310の停止を表す識別子を付加し、ユーザエージェント211をアプリケーションサーバ102へリダイレクトする(ステップ507)。
また、ステップ502において要求が認証サーバ310へ転送された場合は、認証サーバ310上のユーザ認証処理部313は、HIDDEN属性として受け取ったサービス名から、ユーザ認証の依頼先を決定し、認証要求中継部312を用いて、認証エージェント222上に外部ユーザ認証API(Application Programming Interface)として設けられた認証中継処理部222bに対して受け取ったユーザIDおよびパスワードの認証を依頼する(ステップ503)。尚、本実施形態においては、外部ユーザ認証APIは、前述したSAMLによるユーザ認証処理例図8と同じく、SOAPにより実装する。これにより、認証サーバ310の認証中継要求部312は、ユーザIDとパスワードを引数に、前記ServiceIDを持つアプリケーションサーバ上の認証中継処理部222bに対して認証要求を送信する。
認証要求を受け取った認証エージェント222は、ユーザIDとパスワードが合致するデータがあるか否かを、アプリケーションサーバ102に接続されたユーザ情報データベースA・103から検索する(ステップ508)。外部ユーザ認証APIの返り値は真偽値であり、ユーザIDとパスワードが一致する登録ユーザが検索された場合は、外部ユーザ認証APIの呼び出しに対する応答として真が、そうでない場合は偽が返される。
ステップ509において、偽の返答を受け取った認証サーバ310は、再度ログイン要求を発行するために、ログイン処理に移る(ステップ506)。また、ステップ509において真の返答を受け取った認証サーバ310は、ユーザの認証が成功したと判断し、認証情報をあらわすAssertionを生成する(ステップ504)と同時に、ユーザエージェント211との間に有効なセッションを確立し、アプリケーションサーバ102に対して認証されたユーザIDを通知するために、前述した認証確認要求段階と同様のSAML ArtifactとAssertionによる手続きが実行される(ステップ505)。
次に、認証モードがローカル認証時のログイン認証処理について説明する。図6は、認証モードがローカル認証時のログイン認証フローを示す図である。図6に示すように、ローカル認証の場合、ステップ704に示したように、ログインページ生成処理によってログインページに埋め込まれる<FORM>タグのACTION属性は、アプリケーションサーバ102上に実装されたユーザ認証部222aのURLとなる。利用者はローカル認証においてもリモート認証と同様に、ログインページにユーザIDおよびパスワードの入力を行う(ステップ601)が、ユーザIDおよびパスワードの送信先は、認証サーバシステム106ではなくアプリケーションサーバ102となる。
ユーザIDとパスワードを受信したユーザ認証部222aは、ユーザIDとパスワードが合致することを、アプリケーションサーバ102に接続されたユーザ情報データベースA・103から検索する(ステップ602)。ユーザIDおよびパスワードが一致する登録ユーザが検索された場合は、利用者によるログインが成功したものとみなされ、ユーザエージェント211との間に確立したセッションを認証済み状態に設定し、Webアプリケーション部223に処理要求が転送される(ステップ605)。これにより、転送された処理要求は図10のステップ1004において有効なセッションとして識別されるため、ステップ1005に移行して利用者が所望した処理が実行される。
以上に示したように、本実施形態では、アプリケーションサーバ102と認証サーバシステム106の組み合わせにより、ローカル認証、リモート認証の切り替えが自動的に行われるが、さらに前記のアプリケーションサーバ102とは別のドメインに属する第二のアプリケーションサーバを導入した認証システムであっても、第二のアプリケーションサーバ上において図4〜図7及び図10に示した認証処理を行なうことによりSSOに対応した認証システムを実現することができる。より具体的には、第一のアプリケーションサーバ(アプリケーションサーバ102)に対して、利用者の認証が完了している場合、認証サーバ310上には、利用者のセッション情報が生成されており、それに対応するセッションCookieが利用者のユーザエージェント211に保存されている。この状態において、利用者が第二のアプリケーションサーバに接続要求を発した場合、図4のステップ405における認証確認要求において、ユーザエージェントから認証サーバ310に対して、事前に第一のアプリケーションサーバの認証時に生成したセッションCookieが送信される。認証サーバ310は、セッションCookieおよび対応するセッションオブジェクトを検証することにより、利用者が第一のアプリケーションサーバにログイン中であることを確認することができる。
ここで、図4のステップ412において、認証サーバ310は、第二のアプリケーションサーバに対して、該当する利用者の第二のアプリケーションサーバに登録されたユーザIDを知らせることが必要になる。この問題は、本実施形態の認証サーバ310上に図13に示したユーザIDマッピングテーブルを事前に用意することで解決される。認証サーバ310は、該当するユーザエージェントとの間に有効なセッションが確立した段階で、セッションオブジェクトに、利用者に対してあらかじめ一意に発行した識別子(ここではSSO IDと呼ぶ)を格納する。以後、認証サーバ310とユーザエージェントにセッションが確立されている間は、セッションオブジェクトに格納されているSSO IDおよび、図13に示されるユーザIDマッピングテーブルを参照することにより、そのSSO IDを持つユーザの各サービス上でのユーザIDを取得し、ステップ412において各アプリケーションサーバへユーザIDを通知することが可能となる。
以上に示したように、本実施形態の認証システムにおいては、認証サーバシステム106により、認証サーバ310の稼動確認および認証サーバ310が稼動停止した際の認証方法の切り替えを実現している。これにより、認証サーバ310を利用したシングルサインオンを利用しながら、認証サーバ310が稼動できない場合には各アプリケーションサーバに認証処理させる認証システムを構築することができる。また、本認証システムによれば、認証サーバ310の停止時にも、各アプリケーションサーバは独自に認証を継続することができるため、各サービスで定めたサービスレベルを維持することができる。更には、認証サーバ310の稼動停止を回避するためコストを削減できるので、認証サーバ310の構築を安価に行なうことができる。
尚、上述した実施形態において、
また、上述した実施形態におけるクライアントコンピュータ101、アプリケーションサーバ102、104、認証サーバシステム106内の仮想IP提供装置301、認証サーバ310及び代替サーバ320は、CPU(中央演算装置)及びメモリを備えるハードウェア構成である。そして、例えばアプリケーションサーバ102の認証エージェント222の機能や、認証サーバ310の認証機能を実現する為のプログラムをメモリから読み出してCPUが実行することによりその機能を実現させるものである。
また、上述した実施形態におけるクライアントコンピュータ101、アプリケーションサーバ102、104、認証サーバシステム106内の仮想IP提供装置301、認証サーバ310及び代替サーバ320は、CPU(中央演算装置)及びメモリを備えるハードウェア構成である。そして、例えばアプリケーションサーバ102の認証エージェント222の機能や、認証サーバ310の認証機能を実現する為のプログラムをメモリから読み出してCPUが実行することによりその機能を実現させるものである。
尚、上述したプログラム処理により機能を実現する構成に限定さるものではなく、各処理の全部または一部の機能を専用のハードウェアにより実現してもよい。また、上述したメモリは、光磁気ディスク装置、フラッシュメモリ等の不揮発性のメモリや、CD−ROM等の読み出しのみが可能な記録媒体、RAM以外の揮発性のメモリ、あるいはこれらの組合せによるコンピュータ読み取り、書き込み可能な記録媒体より構成されてもよい。
また、アプリケーションサーバ102の認証エージェント222における各種処理を行う機能や、認証サーバシステム106の認証機能を実現する為のプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各処理を行っても良い。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。具体的には、記憶媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含む。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現する為のものであっても良い。さらに、前述した機能をコンピュータシステムに既に記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
また、上記プログラムは、前述した機能の一部を実現する為のものであっても良い。さらに、前述した機能をコンピュータシステムに既に記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
また、上記のプログラムを記録したコンピュータ読み取り可能な記録媒体等のプログラムプロダクトも本発明の実施形態として適用することができる。上記のプログラム、記録媒体、伝送媒体およびプログラムプロダクトは、本発明の範疇に含まれる。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
100 インターネット
101 クライアントコンピュータ
102、104 アプリケーションサーバ
103 ユーザ情報データベースA
105 ユーザ情報データベースB
106 認証サーバシステム
211 ユーザエージェント
221 Webサーバ部
222 認証エージェント
222a ユーザ認証部
222b 認証中継処理部
222c 認証モード記憶部
223 Webアプリケーション部
301 仮想IP提供装置
310 認証サーバ
311 Webサーバ
312 認証中継要求部
313 ユーザ認証処理部
320 代替サーバ
321 Webサーバ
322 認証サーバ停止通知部
101 クライアントコンピュータ
102、104 アプリケーションサーバ
103 ユーザ情報データベースA
105 ユーザ情報データベースB
106 認証サーバシステム
211 ユーザエージェント
221 Webサーバ部
222 認証エージェント
222a ユーザ認証部
222b 認証中継処理部
222c 認証モード記憶部
223 Webアプリケーション部
301 仮想IP提供装置
310 認証サーバ
311 Webサーバ
312 認証中継要求部
313 ユーザ認証処理部
320 代替サーバ
321 Webサーバ
322 認証サーバ停止通知部
Claims (9)
- ネットワークを介して利用者端末へ種々のサービスを提供する複数のアプリケーションサーバと、前記サービスの利用を要求する前記利用者端末の利用者の認証を行う認証サーバシステムとを備える認証システムであって、
前記アプリケーションサーバは、
前記ネットワークを介して前記利用者端末からサービスの要求を受信する受信手段と、
前記受信手段がサービスの要求を受信した場合に、前記利用者端末経由で前記認証サーバシステムに利用者の認証を行うための認証情報を発行するよう依頼する認証情報依頼手段と、
前記認証情報依頼手段の依頼に応じて前記認証サーバシステムから前記利用者端末経由で認証情報を得た場合に、前記認証情報を基に利用者の認証を行う認証手段と、
前記認証手段により認証された利用者の利用者端末に前記要求に応じたサービスを提供するサービス提供手段と
を具備し、
前記認証サーバシステムは、
前記認証情報に関する処理を行う認証サーバと、
前記アプリケーションサーバの前記認証情報依頼手段からの前記依頼を前記利用者端末経由で受信する受信手段と、
前記受信手段の前記依頼の受信に応じて前記認証サーバが停止しているか否かを判断する停止判断手段と、
前記停止判断手段において前記認証サーバが停止していると判断した場合には、停止情報を前記依頼の元となるアプリケーションサーバへ通知する通知手段と、
前記停止判断手段が停止していないと判断した場合には、前記受信手段が受信した前記依頼を前記認証サーバへ伝達する伝達手段と
を具備し、
前記認証サーバは、
前記伝達手段により伝達された前記依頼に応じて前記認証情報を発行する認証情報発行手段と、
前記認証情報発行手段が発行した前記認証情報を前記依頼の元となる前記アプリケーションサーバへ前記利用者端末経由で送信する送信手段と
を具備し、
前記アプリケーションサーバの前記認証情報依頼手段は、前記停止情報を受信した場合には前記利用者端末へ認証に必要な情報を要求し、前記認証手段は、前記情報の要求に応じて前記利用者端末から得た前記認証に必要な情報を基に利用者の認証を行うこと
を特徴とする認証システム。 - 前記アプリケーションサーバは、前記認証サーバから受信した前記停止情報を保持する保持手段を更に具備し、
前記アプリケーションサーバの前記認証情報依頼手段は、前記保持手段が前記停止情報を保持している場合には前記利用者端末へ認証に必要な情報を要求し、前記保持手段が前記停止情報を保持していない場合には前記利用者端末経由で前記認証サーバシステムに前記認証情報を発行するよう依頼すること
を特徴とする請求項1に記載の認証システム。 - 前記認証サーバシステムは、
前記認証サーバシステムの前記受信手段、前記停止判断手段及び前記伝達手段を含む構成である停止判断装置と、
前記認証サーバシステムの前記通知手段を含む構成である通知サーバとから構成され、
前記停止判断装置は、前記停止判断手段において前記認証サーバが停止していると判断した場合には、前記受信手段が受信した前記依頼を前記通知サーバへ伝達し、
前記通知サーバの通知手段は、伝達された前記依頼に前記停止情報を付与した情報を前記依頼の元となるアプリケーションサーバへ返信すること
を特徴とする請求項1または2に記載の認証システム。 - 前記通知手段が前記依頼に付与する前記停止情報は、返信先となるアプリケーションサーバを指定するURLのパラメータとして付与されることを特徴とする請求項3に記載の認証システム。
- 前記通知手段が通知する前記停止情報は、自身が利用している通信プロトコルのエラーコードであることを特徴とする請求項1に記載の認証システム。
- 前記通知手段は、予め登録された複数のアプリケーションサーバに対して前記停止情報を通知することを特徴とする請求項1または5に記載の認証システム。
- 前記認証サーバは、停止した状態から稼動状態へ移行した際に、稼動状態であることを通知する稼動情報を予め登録した複数のアプリケーションサーバへ通知する稼動情報通知手段を更に具備することを特徴とする請求項1〜6のいずれか1項に記載の認証システム。
- ネットワークを介して利用者端末へ種々のサービスを提供する複数のアプリケーションサーバと、前記サービスの利用を要求する前記利用者端末の利用者の認証を行う認証サーバシステムとを備える認証システムを利用した認証方法であって、
前記ネットワークを介して前記利用者端末からサービスの要求を受信する受信ステップと、
前記受信ステップでサービスの要求を受信した場合に、前記利用者端末経由で前記認証サーバシステムに利用者の認証を行うための認証情報を発行するよう依頼する認証情報依頼ステップと、
前記認証情報依頼ステップの依頼に応じて前記認証サーバシステムから前記利用者端末経由で認証情報を得た場合に、前記認証情報を基に利用者の認証を行う第1の認証ステップと、
前記認証サーバシステムから認証サーバの停止情報を受信した場合には前記利用者端末へ認証に必要な情報を要求する要求ステップと、
前記要求ステップの要求に応じて前記利用者端末から得た前記認証に必要な情報を基に利用者の認証を行う第2の認証ステップと、
前記第1の認証ステップまたは前記第2の認証ステップにより認証された利用者の利用者端末に前記要求に応じたサービスを提供するサービス提供ステップと
を前記アプリケーションサーバにより行い、
前記アプリケーションサーバの前記認証情報依頼ステップによる前記依頼を前記利用者端末経由で受信する受信ステップと、
前記受信ステップでの前記依頼の受信に応じて認証サーバが停止しているか否かを判断する停止判断ステップと、
前記停止判断ステップにおいて前記認証サーバが停止していると判断した場合には、停止情報を前記依頼の元となるアプリケーションサーバへ通知する通知ステップと、
前記停止判断ステップで停止していないと判断した場合には、前記受信ステップで受信した前記依頼を前記認証サーバへ伝達する伝達ステップと、
前記伝達ステップにより伝達された前記依頼に応じて前記認証情報を発行する認証情報発行ステップと、
前記認証情報発行ステップで発行した前記認証情報を前記依頼の元となる前記アプリケーションサーバへ前記利用者端末経由で送信する送信ステップと
を前記認証サーバシステムにより行うこと
を特徴とする認証方法。 - ネットワークを介して利用者端末へ種々のサービスを提供する複数のアプリケーションサーバと、前記サービスの利用を要求する前記利用者端末の利用者の認証を行う認証サーバシステムとを備える認証システム用のプログラムであって、
前記ネットワークを介して前記利用者端末からサービスの要求を受信する受信ステップと、
前記受信ステップでサービスの要求を受信した場合に、前記利用者端末経由で前記認証サーバシステムに利用者の認証を行うための認証情報を発行するよう依頼する認証情報依頼ステップと、
前記認証情報依頼ステップの依頼に応じて前記認証サーバシステムから前記利用者端末経由で認証情報を得た場合に、前記認証情報を基に利用者の認証を行う第1の認証ステップと、
前記認証サーバシステムから認証サーバの停止情報を受信した場合には前記利用者端末へ認証に必要な情報を要求する要求ステップと、
前記要求ステップの要求に応じて前記利用者端末から得た前記認証に必要な情報を基に利用者の認証を行う第2の認証ステップと、
前記第1の認証ステップまたは前記第2の認証ステップにより認証された利用者の利用者端末に前記要求に応じたサービスを提供するサービス提供ステップと
を前記アプリケーションサーバにより行い、
前記アプリケーションサーバの前記認証情報依頼ステップによる前記依頼を前記利用者端末経由で受信する受信ステップと、
前記受信ステップでの前記依頼の受信に応じて認証サーバが停止しているか否かを判断する停止判断ステップと、
前記停止判断ステップにおいて前記認証サーバが停止していると判断した場合には、停止情報を前記依頼の元となるアプリケーションサーバへ通知する通知ステップと、
前記停止判断ステップで停止していないと判断した場合には、前記受信ステップで受信した前記依頼を前記認証サーバへ伝達する伝達ステップと、
前記伝達ステップにより伝達された前記依頼に応じて前記認証情報を発行する認証情報発行ステップと、
前記認証情報発行ステップで発行した前記認証情報を前記依頼の元となる前記アプリケーションサーバへ前記利用者端末経由で送信する送信ステップと
を前記認証サーバシステムにより行うこと
をコンピュータに実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004167539A JP2005346571A (ja) | 2004-06-04 | 2004-06-04 | 認証システム及び認証方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004167539A JP2005346571A (ja) | 2004-06-04 | 2004-06-04 | 認証システム及び認証方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005346571A true JP2005346571A (ja) | 2005-12-15 |
Family
ID=35498864
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004167539A Pending JP2005346571A (ja) | 2004-06-04 | 2004-06-04 | 認証システム及び認証方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005346571A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007200134A (ja) * | 2006-01-27 | 2007-08-09 | Ricoh Co Ltd | ログ情報管理装置、ログ情報管理方法、ログ情報管理プログラム及び記録媒体 |
JP2009245303A (ja) * | 2008-03-31 | 2009-10-22 | Fujitsu Ltd | 生体認証装置および生体認証プログラム |
JP2010146169A (ja) * | 2008-12-17 | 2010-07-01 | Nippon Telegr & Teleph Corp <Ntt> | Webシステムおよびリクエスト処理方法 |
JP2014178961A (ja) * | 2013-03-15 | 2014-09-25 | Mitsubishi Electric Corp | データ処理装置、データ処理方法、データ処理プログラムおよび連携業務システム |
JP2015197747A (ja) * | 2014-03-31 | 2015-11-09 | キヤノン株式会社 | 装置、方法、プログラム |
US10326758B2 (en) | 2015-06-08 | 2019-06-18 | Ricoh Company, Ltd. | Service provision system, information processing system, information processing apparatus, and service provision method |
-
2004
- 2004-06-04 JP JP2004167539A patent/JP2005346571A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007200134A (ja) * | 2006-01-27 | 2007-08-09 | Ricoh Co Ltd | ログ情報管理装置、ログ情報管理方法、ログ情報管理プログラム及び記録媒体 |
JP4625412B2 (ja) * | 2006-01-27 | 2011-02-02 | 株式会社リコー | ログ管理システム及びログ管理方法 |
JP2009245303A (ja) * | 2008-03-31 | 2009-10-22 | Fujitsu Ltd | 生体認証装置および生体認証プログラム |
JP2010146169A (ja) * | 2008-12-17 | 2010-07-01 | Nippon Telegr & Teleph Corp <Ntt> | Webシステムおよびリクエスト処理方法 |
JP2014178961A (ja) * | 2013-03-15 | 2014-09-25 | Mitsubishi Electric Corp | データ処理装置、データ処理方法、データ処理プログラムおよび連携業務システム |
JP2015197747A (ja) * | 2014-03-31 | 2015-11-09 | キヤノン株式会社 | 装置、方法、プログラム |
US10326758B2 (en) | 2015-06-08 | 2019-06-18 | Ricoh Company, Ltd. | Service provision system, information processing system, information processing apparatus, and service provision method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11706218B2 (en) | Systems and methods for controlling sign-on to web applications | |
JP5357246B2 (ja) | 統合認証のためのシステム、方法およびプログラム製品 | |
TWI400922B (zh) | 在聯盟中主用者之認證 | |
US7475146B2 (en) | Method and system for accessing internet resources through a proxy using the form-based authentication | |
US7296077B2 (en) | Method and system for web-based switch-user operation | |
JP4729651B2 (ja) | 認証装置,認証方法およびその方法を実装した認証プログラム | |
US20080301784A1 (en) | Native Use Of Web Service Protocols And Claims In Server Authentication | |
US20100071056A1 (en) | Method and system for multi-protocol single logout | |
CN112468481B (zh) | 一种基于CAS的单页和多页web应用身份集成认证方法 | |
JPH11212912A (ja) | セッション管理システム及び管理方法 | |
JP2005317022A (ja) | モバイルデバイスを介したアカウント作成 | |
JP2002334056A (ja) | ログイン代行システム及びログイン代行方法 | |
US20100037301A1 (en) | Management of user authentication | |
CN104052746A (zh) | 异构应用单点登录***及其单点登录方法 | |
US8763151B2 (en) | Mediation processing method, mediation apparatus and system | |
JP2006031064A (ja) | セッション管理システム及び管理方法 | |
JP2005346570A (ja) | 認証システム、認証方法及びコンピュータプログラム | |
CN113411324B (zh) | 基于cas与第三方服务器实现登录认证的方法和*** | |
JP2000106552A (ja) | 認証方法 | |
JP2005267529A (ja) | ログイン認証方式、ログイン認証システム、認証プログラム、通信プログラムおよび記憶媒体 | |
JP2005346571A (ja) | 認証システム及び認証方法 | |
JP2011197874A (ja) | サーバ装置およびプログラム | |
JP2016218825A (ja) | シングルサインオンシステム、シングルサインオン方法およびコンピュータプログラム | |
JP2005301424A (ja) | 分散認証システム、負荷分散装置及び認証サーバ、並びに負荷分散プログラム及び認証プログラム | |
JP2005293161A (ja) | 認証システム、認証方法及びコンピュータプログラム |