JP2005293161A - 認証システム、認証方法及びコンピュータプログラム - Google Patents
認証システム、認証方法及びコンピュータプログラム Download PDFInfo
- Publication number
- JP2005293161A JP2005293161A JP2004106411A JP2004106411A JP2005293161A JP 2005293161 A JP2005293161 A JP 2005293161A JP 2004106411 A JP2004106411 A JP 2004106411A JP 2004106411 A JP2004106411 A JP 2004106411A JP 2005293161 A JP2005293161 A JP 2005293161A
- Authority
- JP
- Japan
- Prior art keywords
- authentication
- user
- client terminal
- server
- request
- 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
【課題】 認証サーバが機能を停止した場合でも、アプリケーションサーバの認証機能を利用可能にする。
【解決手段】 アプリケーションサーバ102、104は、認証サーバ106が停止しているか否かを判断し、停止している場合には、クライアントコンピュータ101で入力されるユーザID及びパスワードの送信先をユーザ認証部222aのURLとしたHTML1200aで記述されるログイン画面1200bをクライアントコンピュータ101に送信する。その後、アプリケーションサーバ102、104は、前記送信したログイン画面1200bを用いてクライアントコンピュータ101のユーザが入力したユーザID及びパスワードを受信すると、そのユーザID及びパスワードが、ユーザ情報データベース103、104に登録されているものと一致している場合に限り、クライントコンピュータ101のログインを許可する。
【選択図】 図1
【解決手段】 アプリケーションサーバ102、104は、認証サーバ106が停止しているか否かを判断し、停止している場合には、クライアントコンピュータ101で入力されるユーザID及びパスワードの送信先をユーザ認証部222aのURLとしたHTML1200aで記述されるログイン画面1200bをクライアントコンピュータ101に送信する。その後、アプリケーションサーバ102、104は、前記送信したログイン画面1200bを用いてクライアントコンピュータ101のユーザが入力したユーザID及びパスワードを受信すると、そのユーザID及びパスワードが、ユーザ情報データベース103、104に登録されているものと一致している場合に限り、クライントコンピュータ101のログインを許可する。
【選択図】 図1
Description
本発明は、認証システム、認証方法及びコンピュータプログラムに関し、特に、アプリケーションの利用者を、ネットワークを介して認証するために用いて好適なものである。
従来、利用者が、Webアプリケーションサーバにログインするときには、Webアプリケーションサーバは、あらかじめ利用者に対して発行したユーザID及びパスワードと、前記ログイン時に利用者端末から送信されたユーザID及びパスワードとが一致するかどうかを検証し、一致すれば利用者を認証し、そのログインを許可していた。
また、利用者が、複数のWebアプリケーションサーバを利用するときに、それらのうちの一つにログインが許可されることで他のWebアプリケーションサーバにも自動的にログインが許可されるSSO(シングルサインオン)と呼ばれる機能がある。
特許文献1に記載されているように、一般的に、前記SSOを実現するためには、ユーザID及びパスワードを集約的に管理し、一元的に利用者を認証する認証サーバが用いられている。特に、前記SSOに参加するアプリケーションサーバの各々が異なるインターネットドメインに属する場合、ユーザID及びパスワードなどの認証情報を共有するために認証サーバを利用することが必須となっていた。
ここで、上記したようなSSOを実現した場合に、アプリケーションサーバが認証サーバを利用できなくなると、ユーザを認証することができないために、他のアプリケーションとの間で前記SSOを実現できないだけでなく、個々のアプリケーションサーバも利用できなくなるという問題があった。例えば、運用者が認証サーバの定期的なメンテナンスを行なう場合、認証サーバが故障した場合、認証サーバとアプリケーションサーバとの間での通信障害があった場合などに、アプリケーションサーバは認証サーバを利用できなくなり、個々のアプリケーションサーバも利用できなくなる。
本発明は、前述の問題点に鑑みてなされたものであり、アプリケーションサーバ間のSSOを実現する環境下で認証サーバを利用できなくなった場合でも、ユーザから各アプリケーションサーバへのアクセスを可能にすることを目的とする。
本発明の認証システムは、クライアント端末にアプリケーションを提供する複数のアプリケーションサーバと、前記クライアント端末を使用するユーザの前記複数のアプリケーションサーバに対する認証を一括して行なうようにするための認証サーバとを有し、前記複数のアプリケーションサーバは、前記認証サーバが稼動しているか否かを判断する判断手段と、前記判断手段により前記認証サーバが稼動していないと判断された場合には、前記クライアント端末を使用するユーザを個別に認証する認証手段とを有することを特徴とする。
また、本発明の他の特徴とするところは、クライアント端末と、アプリケーションサーバと、ユーザデータベースと、認証サーバとを有する認証システムであって、前記ユーザデータベースは、前記アプリケーションサーバと第1の通信手段を介して相互に接続され、前記クライアント端末を利用するユーザを認証するための認証情報を保持し、前記アプリケーションサーバは、前記クライアント端末を利用するユーザを表す識別子を含む認証要求を、第2の通信手段を介して前記クライアント端末から受け付け、受け付けた認証要求に含まれる識別子に対応する認証情報を、前記第1の通信手段を介して前記ユーザデータベースに問い合わせて、前記クライアント端末を利用するユーザを認証する第1の認証手段と、前記クライアント端末を利用するユーザを表す識別子を含む認証要求を、第3の通信手段を介して前記認証サーバから受け付け、受け付けた認証要求に含まれる識別子に対応する認証情報を、前記認証サーバに送信する認証中継処理手段とを有し、前記認証サーバは、前記クライアント端末を利用するユーザを表す識別子を含む認証要求を、第4の通信手段を介して前記クライアント端末から受け付け、受け付けた認証要求に基づいて、前記第3の通信手段を介して前記アプリケーションサーバに認証要求を行なう認証要求中継要求手段と、前記認証要求中継手段により認証要求がなされた後に、前記認証中継処理手段により送信された認証情報を用いて、前記クライアント端末を利用するユーザを認証する第2の認証手段とを有することを特徴とする。
また、本発明の他の特徴とするところは、クライアント端末と、アプリケーションサーバと、ユーザデータベースと、認証サーバとを有する認証システムであって、前記ユーザデータベースは、前記アプリケーションサーバと第1の通信手段を介して相互に接続され、前記クライアント端末を利用するユーザを認証するための認証情報を保持し、前記アプリケーションサーバは、前記クライアント端末を利用するユーザを表す識別子を含む認証要求を、第2の通信手段を介して前記クライアント端末から受け付け、受け付けた認証要求に含まれる識別子に対応する認証情報を、前記第1の通信手段を介して前記ユーザデータベースに問い合わせて、前記クライアント端末を利用するユーザを認証する第1の認証手段と、前記クライアント端末を利用するユーザを表す識別子を含む認証要求を、第3の通信手段を介して前記認証サーバから受け付け、受け付けた認証要求に含まれる識別子に対応する認証情報を、前記認証サーバに送信する認証中継処理手段とを有し、前記認証サーバは、前記クライアント端末を利用するユーザを表す識別子を含む認証要求を、第4の通信手段を介して前記クライアント端末から受け付け、受け付けた認証要求に基づいて、前記第3の通信手段を介して前記アプリケーションサーバに認証要求を行なう認証要求中継要求手段と、前記認証要求中継手段により認証要求がなされた後に、前記認証中継処理手段により送信された認証情報を用いて、前記クライアント端末を利用するユーザを認証する第2の認証手段とを有することを特徴とする。
本発明の認証方法は、クライアント端末にアプリケーションを提供する複数のアプリケーションサーバと、前記クライアント端末を使用するユーザの前記複数のアプリケーションサーバに対する認証を一括して行なうようにするための認証サーバとを用いて、前記クライアント端末を使用するユーザを認証する認証方法であって、前記複数のアプリケーションサーバは、前記認証サーバが稼動しているか否かを判断する判断ステップと、前記判断ステップにより前記認証サーバが稼動していないと判断された場合には、前記クライアント端末を使用するユーザを個別に認証する認証ステップとを行なうことを特徴とする。
また、本発明の他の特徴とするところは、アプリケーションサーバと、ユーザデータベースと、認証サーバとを用いて、クライアント端末を使用するユーザを認証する認証方法であって、前記アプリケーションサーバは、前記クライアント端末を利用するユーザを表す識別子を含む認証要求を、第1の通信手段を介して前記クライアント端末から受け付け、受け付けた認証要求に含まれる識別子に対応する認証情報を、第2の通信手段を介して前記ユーザデータベースに問い合わせて、前記クライアント端末を利用するユーザを認証する第1の認証ステップと、前記クライアント端末を利用するユーザを表す識別子を含む認証要求を、第3の通信手段を介して前記認証サーバから受け付け、受け付けた認証要求に含まれる識別子に対応する認証情報を、前記認証サーバに送信する認証中継処理ステップとを行い、前記認証サーバは、前記クライアント端末を利用するユーザを表す識別子を含む認証要求を、第4の通信手段を介して前記クライアント端末から受け付け、受け付けた認証要求に基づいて、前記第3の通信手段を介して前記アプリケーションサーバに認証要求を行なう認証要求中継要求ステップと、前記認証要求中継ステップにより認証要求がなされた後に、前記認証中継処理ステップにより送信された認証情報を用いて、前記クライアント端末を利用するユーザを認証する第2の認証ステップとを行なうことを特徴とする。
また、本発明の他の特徴とするところは、アプリケーションサーバと、ユーザデータベースと、認証サーバとを用いて、クライアント端末を使用するユーザを認証する認証方法であって、前記アプリケーションサーバは、前記クライアント端末を利用するユーザを表す識別子を含む認証要求を、第1の通信手段を介して前記クライアント端末から受け付け、受け付けた認証要求に含まれる識別子に対応する認証情報を、第2の通信手段を介して前記ユーザデータベースに問い合わせて、前記クライアント端末を利用するユーザを認証する第1の認証ステップと、前記クライアント端末を利用するユーザを表す識別子を含む認証要求を、第3の通信手段を介して前記認証サーバから受け付け、受け付けた認証要求に含まれる識別子に対応する認証情報を、前記認証サーバに送信する認証中継処理ステップとを行い、前記認証サーバは、前記クライアント端末を利用するユーザを表す識別子を含む認証要求を、第4の通信手段を介して前記クライアント端末から受け付け、受け付けた認証要求に基づいて、前記第3の通信手段を介して前記アプリケーションサーバに認証要求を行なう認証要求中継要求ステップと、前記認証要求中継ステップにより認証要求がなされた後に、前記認証中継処理ステップにより送信された認証情報を用いて、前記クライアント端末を利用するユーザを認証する第2の認証ステップとを行なうことを特徴とする。
本発明のコンピュータプログラムは、クライアント端末にアプリケーションを提供する複数のアプリケーションサーバと、前記クライアント端末を使用するユーザの前記複数のアプリケーションサーバに対する認証を一括して行なうようにするための認証サーバとを用いて、前記クライアント端末を使用するユーザを認証することをコンピュータに実行させるためのコンピュータプログラムであって、前記複数のアプリケーションサーバが、前記認証サーバが稼動しているか否かを判断する判断ステップと、前記判断ステップにより前記認証サーバが稼動していないと判断された場合には、前記クライアント端末を使用するユーザを個別に認証する認証ステップとを行なうことをコンピュータに実行させる特徴とする。
また、本発明の他の特徴とするところは、アプリケーションサーバと、ユーザデータベースと、認証サーバとを用いて、クライアント端末を使用するユーザを認証することをコンピュータに実行させるためのコンピュータプログラムであって、前記クライアント端末を利用するユーザを表す識別子を含む認証要求を、第1の通信手段を介して前記クライアント端末から受け付け、受け付けた認証要求に含まれる識別子に対応する認証情報を、第2の通信手段を介して前記ユーザデータベースに問い合わせて、前記クライアント端末を利用するユーザを認証する第1の認証ステップと、前記クライアント端末を利用するユーザを表す識別子を含む認証要求を、第3の通信手段を介して前記認証サーバから受け付け、受け付けた認証要求に含まれる識別子に対応する認証情報を、前記認証サーバに送信する認証中継処理ステップとを、前記アプリケーションサーバが行なうことをコンピュータに実行させるとともに、前記クライアント端末を利用するユーザを表す識別子を含む認証要求を、第4の通信手段を介して前記クライアント端末から受け付け、受け付けた認証要求に基づいて、前記第3の通信手段を介して前記アプリケーションサーバに認証要求を行なう認証要求中継要求ステップと、前記認証要求中継ステップにより認証要求がなされた後に、前記認証中継処理ステップにより送信された認証情報を用いて、前記クライアント端末を利用するユーザを認証する第2の認証ステップとを、前記認証サーバが行なうことをコンピュータに実行させることを特徴とする。
また、本発明の他の特徴とするところは、アプリケーションサーバと、ユーザデータベースと、認証サーバとを用いて、クライアント端末を使用するユーザを認証することをコンピュータに実行させるためのコンピュータプログラムであって、前記クライアント端末を利用するユーザを表す識別子を含む認証要求を、第1の通信手段を介して前記クライアント端末から受け付け、受け付けた認証要求に含まれる識別子に対応する認証情報を、第2の通信手段を介して前記ユーザデータベースに問い合わせて、前記クライアント端末を利用するユーザを認証する第1の認証ステップと、前記クライアント端末を利用するユーザを表す識別子を含む認証要求を、第3の通信手段を介して前記認証サーバから受け付け、受け付けた認証要求に含まれる識別子に対応する認証情報を、前記認証サーバに送信する認証中継処理ステップとを、前記アプリケーションサーバが行なうことをコンピュータに実行させるとともに、前記クライアント端末を利用するユーザを表す識別子を含む認証要求を、第4の通信手段を介して前記クライアント端末から受け付け、受け付けた認証要求に基づいて、前記第3の通信手段を介して前記アプリケーションサーバに認証要求を行なう認証要求中継要求ステップと、前記認証要求中継ステップにより認証要求がなされた後に、前記認証中継処理ステップにより送信された認証情報を用いて、前記クライアント端末を利用するユーザを認証する第2の認証ステップとを、前記認証サーバが行なうことをコンピュータに実行させることを特徴とする。
本発明によれば、クライアント端末を使用するユーザの複数のアプリケーションサーバに対する認証を一括して行なうようにするための認証サーバが稼動していない場合には、前記複数のアプリケーションサーバが、前記クライアント端末を使用するユーザを個別に認証するようにしたので、シングルサインオンを利用した認証システムにおいて、認証サーバが稼動できない場合にも、各アプリケーションサーバがクライアント端末を使用するユーザの認証を行なうことができる。これにより、アプリケーションサーバが認証サーバを利用できない場合でも、ユーザは、各アプリケーションサーバへアクセスすることが可能になる。
次に、図面を参照しながら、本発明の実施の形態について説明する。
図1は、本発明の実施形態を示し、インターネットを用いた認証システムの構成の一例を表した図である。
図1において、インターネット107には、インターネットサービスプロバイダー(Internet Service Provider;ISP)などの接続手段を用いて世界的規模でコンピュータが相互に通信可能に接続される。各コンピュータは、TCP/IPなどの接続プロトコルで相互に通信することが可能である。このような構成のシステムにおいて、HTTP(Hypertext Transfer Protocol)を用いたWWW(World Wide Web)サービスは、多くの利用者に利用されている。
図1は、本発明の実施形態を示し、インターネットを用いた認証システムの構成の一例を表した図である。
図1において、インターネット107には、インターネットサービスプロバイダー(Internet Service Provider;ISP)などの接続手段を用いて世界的規模でコンピュータが相互に通信可能に接続される。各コンピュータは、TCP/IPなどの接続プロトコルで相互に通信することが可能である。このような構成のシステムにおいて、HTTP(Hypertext Transfer Protocol)を用いたWWW(World Wide Web)サービスは、多くの利用者に利用されている。
図2は、図1に示した本実施形態の認証システムの更に詳細な構成の一例を示す図である。なお、図2では、1台のWebアプリケーションサーバ102だけを示しているが、図1に示したWebアプリケーションサーバ104もWebアプリケーションサーバ102と同様の構成を有している。さらに、図2では、ユーザ情報データベース103だけを示しているが、図1に示したユーザ情報データベース105もユーザ情報データベース103と同様の構成を有している。
図2に示されるように、クライアントコンピュータ101には、ユーザエージェント211が導入されている。ユーザエージェント211としては、Netscape(登録商標)や、Mozilla(登録商標)など、一般的に入手可能なものを利用することができる。ユーザエージェント211は、利用者が利用を所望するWebアプリケーションサーバ102に、HTTPを主としたプロトコルで接続される。この際、利用者を識別するために、あるいは利用者の接続の可否を判断するために認証と呼ばれる処理を行なう。
本実施形態では、ユーザエージェント211は、Webアプリケーションサーバ102、あるいは認証サーバ106のいずれかによって認証を受ける。図1に示すように、アプリケーションサーバ102は、第1のインターネットドメイン(serviceA.com)に属する。そして、認証サーバ106は、Webアプリケーションサーバ102、104が属する第1のインターネットドメインとは異なる第2のインターネットドメイン(authService.com)に属しているものとする。
Webアプリケーションサーバ102、104は、Webサーバ部221と、利用者の認証を行なう認証エージェント部222と、Webアプリケーション本体223とを備えて構成される。ユーザエージェント211から発せられたHTTP要求は、Webサーバ部221によって受信される。そうすると、Webサーバ部221は、受信したHTTP要求の内容を解析する。
このようにして、Webサーバ部221によって内容が解析されたHTTP要求は、認証エージェント部222において行なわれる認証処理を経てはじめて、Webアプリケーション本体223に転送される。
認証エージェント部222は、ユーザ認証部222a及び認証中継処理部222bを備えて構成される。
ユーザ認証部222aは、主に利用者が入力したユーザIDとパスワードとをユーザ情報データベース103、105に問い合わせることで利用者を認証する機能を持つ。
ユーザ認証部222aは、主に利用者が入力したユーザIDとパスワードとをユーザ情報データベース103、105に問い合わせることで利用者を認証する機能を持つ。
ここで、Webサーバ部221としては、Apache Software Foundationが提供するApache HTTPdなどを利用することができる。
一般的に、Webアプリケーションサーバ102、104には、利用者の情報を登録するために、アプリケーション毎に用意されたユーザ情報データベース103、105が接続される。本実施形態のユーザ情報データベース103、105は、市販あるいは無料で手に入れることができるリレーショナルデータベース管理サーバ上に配置される。また、ユーザ情報データベース103、105は、データベースベンダーの独自プロトコル、あるいはJDBCなど標準技術を用いた接続方式により、Webアプリケーションサーバ102、104に接続される。
ユーザ情報データベース103、105は、図9に示すように、ユーザIDや、パスワードをはじめとした、利用者に固有の情報を格納するユーザ情報テーブル900として実現される。このユーザ情報データベース103、105は、リレーショナルデータベース管理サーバに対してSQL(Structured Query Language)などの問合せ言語で記述された問合せ文を発行することによって、所望のユーザIDを持つ利用者のユーザ情報を取得、変更、削除することができるように構成されている。
本実施形態の特徴の一つは、認証エージェント部222において、利用者の認証のために、二つのインターフェースを持つことである。先に説明したユーザエージェント211からの認証情報を受け取るユーザ認証部222aはそのうちの一つである。他方のインターフェースは、認証中継処理部222bによって実現される。
認証中継処理部222bは、後述する認証サーバ106からの認証中継要求を受信し、同じ認証エージェント部222内のユーザ認証部222aの提供する機能を用いて認証を行なう。本実施形態では、認証中継処理部222bは、一般の利用者からは利用されることなく、認証サーバ106からの要求のみを受け付ける。認証中継処理部222bと認証サーバ106との間の接続28は、W3C(World Wide Web Consortium)が定めるSOAP1.1(Simple Object Access Protocol Version1.1)によるRPC(Remote Produce Call)によって行なわれる。前記SOAP1.1の実装系としては、Apache Software Foundationが実装しているAxisなどを利用することができる。
一方、認証サーバ106は、Webサーバ部251、ユーザ認証部253、及び認証中継要求部252を備えて構成される。
ユーザエージェント211からの認証要求は、Webサーバ部251によって受信される。そして、Webサーバ部251は、受信した認証要求を解析してユーザ認証部253に転送する。
本実施形態における特徴の一つは、認証サーバ106がユーザ情報データベースを持たないことである。このため、認証サーバ106は、対象となるアプリケーションの認証エージェント部222に認証を依頼する。具体的に、本実施形態では、ユーザ認証部253は、利用者の認証を認証中継要求部252に依頼する。そうすると、認証中継要求部252は、前述したSOAPによるRPC28により、認証エージェント部222内の認証中継処理部222bに認証要求を行なう。
本実施形態における特徴の一つは、認証サーバ106がユーザ情報データベースを持たないことである。このため、認証サーバ106は、対象となるアプリケーションの認証エージェント部222に認証を依頼する。具体的に、本実施形態では、ユーザ認証部253は、利用者の認証を認証中継要求部252に依頼する。そうすると、認証中継要求部252は、前述したSOAPによるRPC28により、認証エージェント部222内の認証中継処理部222bに認証要求を行なう。
本実施形態の目的の一つは、認証エージェント部222と認証サーバ106とに用意された合計2系統の認証経路を用いることにより、認証サーバ106を利用したSSOを実現しつつも、アプリケーション単独の認証に自動的に切り替えることにより、アプリケーションの利用率を高めることにある。
ここで、図3のフローチャートを参照しながら、利用者が認証を得るまでの認証システムにおける処理の一例を説明する。
まず、クライアントコンピュータ101に配設されたマウスやキーボードなどを用いて利用者が所定の操作を行なうと、クライアントコンピュータ101にインストールされたユーザエージェント211は、Webアプリケーションサーバ102、104に接続要求(HTTP要求、リクエスト)を行なう(図3のステップS301)。
まず、クライアントコンピュータ101に配設されたマウスやキーボードなどを用いて利用者が所定の操作を行なうと、クライアントコンピュータ101にインストールされたユーザエージェント211は、Webアプリケーションサーバ102、104に接続要求(HTTP要求、リクエスト)を行なう(図3のステップS301)。
この接続要求は、主として、利用者がクライアントコンピュータ1001のマウスやキーボードなどを操作して、URL(Uniform Resource Locator)をユーザエージェント211に対して入力することによって行なわれる。ユーザエージェント211から送信された接続要求は、アプリケーションサーバ102、104内にインストールされたWebサーバ部221によって受信され、認証エージェント部222内のユーザ認証部222aに転送される。
ユーザ認証部222aは、ユーザエージェント211に対して認証情報の入力を要求する必要があるか否かを判断する。この判断の結果、ユーザエージェント211に対して認証情報の要求が必要である場合、ユーザエージェント211に対して認証情報の入力を促す方法として、図12(a)に示すようなHTML1200aによって記述された図12(b)に示すようなログイン画面1200bに、利用者が、利用者登録時に予め決定したユーザIDとパスワードとを入力する方法を用いることが一般的である。本実施形態においても、この方法を採用する。
Webアプリケーションサーバ102、104は、ユーザエージェント211に対して、HTML1200aで記述されたログイン画面1200bを提示する。ユーザエージェント211は、Webアプリケーションサーバ102、104から受け取ったログイン画面1200bを、クライアントコンピュータ101に配設されたモニタに表示し、利用者に入力を促す。利用者は、クライアントコンピュータ101に配設されたマウスやキーボードなどを用いて、自身が記憶しているユーザIDとパスワードとを入力した後、ログイン画面1200b上に表示されている転送ボタン1211を押すことで、Webアプリケーションサーバ102、104へのログインを試みる。
Webアプリケーションサーバ102、104は、ログイン画面1200bに対して利用者が入力したユーザIDとパスワードとの組を、ユーザ情報データベース103、105内のユーザ情報テーブル900(図9を参照)に格納されているユーザIDと、パスワードとの組と照合することで、利用者の認証を行なう。
ユーザ認証部222aにおいて、ユーザエージェント211からの要求がログイン画面1200bに割り当てられたURLに対する要求であれば、明示的なログイン要求(ログインページへのリクエスト)を意味するため、条件によらずログイン画面1200bをクライアントコンピュータ101に表示させるための処理を行なう(図3のステップS311のYES、ステップS341、S302)。
一方、ユーザエージェント211からの要求が明示的なログイン要求でない場合、認証エージェント部222内のユーザ認証部222aは、利用者が既に認証済みであるか否かを判断する。すなわち、ユーザ認証部222aは、クライアントコンピュータ101に配設されているモニタにログイン画面1200bを表示させずに利用者にアプリケーションを利用させて良いか否かの判断を、すでに接続されたセッションが存在するか(有効なセッションIDを持つか)否かで判断する(図3のステップS312)。
本実施形態においては、有効なセッションの存在確認は、Cookieと呼ばれる技術を使用することで実現する。Cookieは、Webアプリケーションサーバ102、104と、ユーザエージェント211との間で、前回の接続状態を持続的に保持するための技術として広く用いられているものである。本実施形態では、セッションを識別する識別子(セッションID)をセッションCookieとして保持する。セッションCookieとして保持されるセッション識別子は、Webアプリケーションサーバ102、104とユーザエージェント211との間で確立されたセッションに対して1対1になるように、Webアプリケーションサーバ102、104で生成されるセッションオブジェクトを一意に識別できる識別子である。
セッションCookieは、ユーザエージェント211が起動してから初めてWebアプリケーションサーバ102、104に発行された要求の応答に内包される形で、ユーザエージェント211に送信される。一般に、Webアプリケーションサーバ102、104には、利用者が操作するためのログアウトボタンが設けられており、利用者がこのログアウトボタンを押すことで、セッションを終了することができる。そして、このセッションの終了に伴って、Webアプリケーションサーバ1002、1004におけるセッションオブジェクトも破棄される。
ユーザ認証部222aは、ステップS312において、有効なセッション識別子(セッションID)を確認した場合、該当する要求は、既に認証済みの利用者からの要求と判断して認証エージェントの処理を終了し、アプリケーション本体223へ処理要求を転送する(ステップS331)。
一方、ユーザ認証部222aは、ステップS312において、有効なセッション識別子を確認しなかった場合、認証サーバ106に対してユーザがログインしているか否かを判断する(リモート認証確認)。この判断の結果、すでに認証サーバ106に対するログインが成立していれば、Webアプリケーションサーバ102、104に対してもログインを認める。本実施形態では、認証サーバ106に対してログインが認められた利用者は、Webアプリケーションサーバ102、104に対するログインも認められることをもって、SSO(シングルサインオン)を実現している。
前述したリモート認証確認を行なう段階では、以下のようにして処理を進める。本実施形態の特徴の一つは、この段階で、認証サーバ106の稼動確認を行なうことにある(図3のステップS313)。認証エージェント部222は、認証サーバ106への認証確認要求に先立ち、認証サーバ106に実装されている稼動確認API(Application Programming Interface)を呼び出すことで、認証サーバ106の稼動状況を確認する。本実施形態では、稼動確認APIは、SOAP1.1によるRPCとして実装されており、稼動確認要求を受け取ると、データベースサーバや、ファイルサーバ等、認証サーバ106が稼動するに必要なシステム上の資源が利用可能であるか否かを確認する。稼動確認APIは、この確認の結果、認証サーバ106として機能を提供することができると判断された場合には「真」、そうでない場合には「偽」を示す真偽値を表す返答を、Webアプリケーションサーバ102、104(認証エージェント部222)に対して行なう(図3のステップS351)。
稼動確認APIを呼び出した認証エージェント部222は、受け取った返答に含まれる真偽値を解析する。この確認の結果、認証サーバ106が稼動していることを確認した場合には、認証エージェント部222は、リモート認証モードに入る(図3のステップS321)。一方、認証サーバ106を利用することができないことを確認した場合には、認証エージェント部222は、ローカル認証モードに入る(図3のステップS315)。
リモート認証モードに入った認証エージェント部222は、図3のステップS321より始まる処理に従って利用者の認証を行なう。
認証エージェント部222は、ユーザエージェント211が既に認証サーバ106で認証されているか否かを確認するための認証確認要求を発行する。この認証確認要求は、認証サーバ106上で稼動しているユーザ認証部253に対するリダイレクト要求を、ユーザエージェント211に発行することで実現される(ステップS323)。そして、ユーザ認証部253は、処理要求をユーザエージュント211から受け取ると、認証サーバ106とユーザエージェント211との間で既にセッションが確立しているか否かを判断する。
認証サーバ106におけるセッションの確認は、Webアプリケーションサーバ102、104内の認証エージェント部222におけるセッション確認と同じく、セッションCookieによって確認される。ただし、前述したように、本実施形態では、認証サーバ106は、Webアプリケーションサーバ102、104とは異なるインターネットドメインに属するサーバとして構成されているため、Webアプリケーションサーバ102、104に対するセッションとは本質的に異なるセッションとして認識される。
認証サーバ106とユーザエージェント211との間で既にセッションが確立している場合には(図3のステップS353でYESの場合には)、ユーザ認証部253は、認証サーバ106にログイン済みであると判断する(図3のステップS355)。一方、セッションが確立していることを確認することができない場合には(図3のステップS353でNOの場合には)、ユーザ認証部253は、認証サーバ106に対するログインが行なわれていない状況と判断し、後述するログイン処理に移る(図3のステップS354)。
認証サーバ106で有効なセッションが確立された場合、Webアプリケーションサーバ102、104に対してログイン済みのユーザ名を一意に通知することが必要である。このための技術として、標準化団体であるOASIS(Organization for the Advancement of Structured Information Standards)が策定しているSAML(Security Assertion Markup Language)を採用することが望ましい。
このSAMLによれば、利用者の認証情報など、機密性の高い情報を安全にWebアプリケーションサーバ102、104に転送することができる。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(SAMLプロファイルと略称する)と呼ばれる、認証サーバ106が認証した利用者の認証情報をWebアプリケーションサーバ102、104に対して通知する技術を採用する。
ここで、図7を用いて、本実施形態の認証システムに適用される、リモート認証確認時における処理の一例を簡単に説明する。
まず、ユーザエージュエント(SAMLプロファイル)211は、処理を要求するWebアプリケーション102の認証エージェント222のURL(URL02)に、処理の要求を行なう(通信T701)。この要求を受けた認証エージェント222は、リモート認証確認要求をユーザエージェント211に対して行なう(通信T702)。前述したように、このリモート認証確認要求は、認証サーバ106に対してユーザがログインしていることを確認する要求であり、具体的には、認証サーバ106のURL(URL01)へのリダイレクトによる接続要求である。
ユーザエージェント211は、このようなリモート認証確認要求に従って、認証サーバ106に対してリモート認証要求を行なう(通信T703)。このリモート認証要求を受けた認証サーバ106は、ユーザエージェント211の利用者の認証を行なう。
まず、ユーザエージュエント(SAMLプロファイル)211は、処理を要求するWebアプリケーション102の認証エージェント222のURL(URL02)に、処理の要求を行なう(通信T701)。この要求を受けた認証エージェント222は、リモート認証確認要求をユーザエージェント211に対して行なう(通信T702)。前述したように、このリモート認証確認要求は、認証サーバ106に対してユーザがログインしていることを確認する要求であり、具体的には、認証サーバ106のURL(URL01)へのリダイレクトによる接続要求である。
ユーザエージェント211は、このようなリモート認証確認要求に従って、認証サーバ106に対してリモート認証要求を行なう(通信T703)。このリモート認証要求を受けた認証サーバ106は、ユーザエージェント211の利用者の認証を行なう。
そして、認証サーバ106は、利用者の認証に成功すると、SAML SSO Assertion(以下、アサーションと略称する)と呼ばれるXML(eXtensible Markup Language)で記述された認証情報を生成する。好適な例として、アサーションには、Webアプリケーションサーバ102、104での利用者のユーザIDが含まれる。
また、認証サーバ106は、アサーションを生成するのと同時に、アサーションと一対一に対応する短ストリングの識別子(SAML Artifact)をユーザエージェント211に発行する(通信T704)。発行された識別子(SAML Artifact)は、認証エージェント部222(URL02)に対するリダイレクトによる接続要求に含まれ、このリダイレクトによる接続要求によって、Webアプリケーションサーバ102、104(本実施形態では認証エージェント部222)に通知される(通信T705)。
リダイレクトによる接続要求を受け取ったWebアプリケーションサーバ102、104は、そのリダイレクト接続要求に含まれている識別子(SAML Artifact)を取り出す。そして、SAMLで定められるSOAPで実現されたプロトコルにより、アサーションを要求する(通信T706)。このとき、アサーションの要求は、受け取った識別子(SAML Artifact)を内包して発行される。
アサーションの要求を受け取った認証サーバ106は、アサーションの要求に含まれている識別子(SAML Artifact)と一意に対応するアサーションを検索する。この検索の結果、該当するアサーションが見つかった場合、認証サーバ106は、Webアプリケーションサーバ102、104に対して、先のアサーションの要求の返答として、見つかったアサーション(認証情報)をWebアプリケーションサーバ102、104に送信する(通信T707)。Webアプリケーションサーバ102、104は、送信されたアサーションを解析することによって、ユーザエージェント211を利用する利用者のWebアプリケーションサーバ102、104上でのユーザIDを知ることができる。そして、このユーザIDに基づいて、ユーザエージェント211からの処理要求に対する応答を行なう(通信T708)。
アサーションの要求を受け取った認証サーバ106は、アサーションの要求に含まれている識別子(SAML Artifact)と一意に対応するアサーションを検索する。この検索の結果、該当するアサーションが見つかった場合、認証サーバ106は、Webアプリケーションサーバ102、104に対して、先のアサーションの要求の返答として、見つかったアサーション(認証情報)をWebアプリケーションサーバ102、104に送信する(通信T707)。Webアプリケーションサーバ102、104は、送信されたアサーションを解析することによって、ユーザエージェント211を利用する利用者のWebアプリケーションサーバ102、104上でのユーザIDを知ることができる。そして、このユーザIDに基づいて、ユーザエージェント211からの処理要求に対する応答を行なう(通信T708)。
一方、稼動確認APIにより、認証サーバ106が稼動していないことが確認された場合、認証エージェント部222は、ローカル認証モードに移る(図3のステップS315)。ローカル認証モードに移った認証エージェント部222は、ログイン処理に移る。
ローカル認証時におけるログイン認証処理は、図5に示すフローチャートに従って進行する。このログイン処理においては、ユーザエージェント211に対して、ログイン画面と呼ばれるユーザID及びパスワードの入力を行なうための画面を利用者に提供することが一般的である。本実施形態では、図12(a)に示すように、<form>タグを内包するHTML1200aを利用する。ログイン画面1200bは、図4に示すフローチャートに従って生成される。なお、図4に示すフローチャートは、認証エージュエント222によって実行される。
まず、認証モードがリモート認証モードであるかどうかを判断する(図4のステップS401)。本実施形態の特徴の一つは、認証サーバ106の停止時に、Webアプリケーションサーバ102、104内の認証エージェント部222が利用者を認証することにある。このため、認証モードが、リモート認証モードではなく、ローカル認証モードである場合には、<form>タグにおけるaction属性1201に、Webアプリケーションサーバ102、104上に実装されたユーザ認証部222aのURLを埋め込んでHTML1200aを作成する(図4のステップS403〜S405)。
図3に説明を戻し、以上のようにしてWebアプリケーションサーバ102、104で生成されたHTML1200aは、ユーザエージュント部211に送信される(図3のステップS341、S302)。
ユーザエージェント部211は、Webアプリケーションサーバ102、104から受信したHTML1200aを解析し、ユーザエージェント211上にログイン画面1200bを表示し、利用者に対してユーザIDとパスワードとの入力を促す(図3のステップS302)。
ユーザエージェント部211は、Webアプリケーションサーバ102、104から受信したHTML1200aを解析し、ユーザエージェント211上にログイン画面1200bを表示し、利用者に対してユーザIDとパスワードとの入力を促す(図3のステップS302)。
ユーザエージェント211の利用者は、Webアプリケーションサーバ102、104に登録されているユーザIDと、それに対応するパスワードとを、クライアントコンピュータ101に配設されているマウスやキーボードを用いて入力する。入力されたユーザID及びパスワードの確認処理、すなわちログイン認証は、ローカル認証モードであるか、リモート認証モードであるかにより処理が異なる。
本実施形態のローカル認証時におけるログイン認証処理は、図5に示すフローチャートに従って行なわれる。また、リモート認証時におけるログイン認証処理は、図6に示すフローチャートに従って行なわれる。
ローカル認証時においては、利用者によって入力されたユーザID及びパスワードは、ログイン画面1200b上に表示されている転送ボタン1211が利用者によって押されることにより、<form>タグのaction属性1201に記述されたURLに送信される(図5のステップS501)。図4のステップS403に示したように、ローカル認証モードでは、action属性1201に記述されているURLは、Webアプリケーションサーバ102、104内のユーザ認証部222aのURLである。このため、ユーザID及びパスワードは、Webアプリケーションサーバ102、104に送信される。
ユーザID及びパスワードを受け取ったユーザ認証部222aは、受け取ったユーザID及びパスワードが、ユーザ情報テーブル900に登録されたユーザID及びパスワードに合致することを、Webアプリケーションサーバ102、104に接続されたユーザ情報データベース103、105から検索する(図5のステップS502)。ユーザIDとパスワードとが一致する登録ユーザが検索された場合には(図5のステップS503でYESの場合には)、ユーザ認証部222aは、利用者によるログインが成功したものとみなし、ユーザエージェント211との間に確立したセッションを認証済み状態に設定して(ステップS505)、処理要求をWebアプリケーション本体223に転送する(ステップS506)。これにより、利用者が所望する処理が実行される。そして、ログイン成功時にクライアントコンピュータ101に表示される画面の情報がユーザエージェント211に送信される(ステップS507)。
一方、ユーザIDとパスワードとが一致する登録ユーザが検索されなかった場合には(図5のステップS503でNOの場合には)、HTML1200aがログインページ生成処理により生成され、生成されたHTML1200aがユーザエージェント211に送信される(ステップS504、S507)。なお、図5のログインページ生成処理は、例えば、図4に示したフローチャートにより実現することができる。
一方、ユーザIDとパスワードとが一致する登録ユーザが検索されなかった場合には(図5のステップS503でNOの場合には)、HTML1200aがログインページ生成処理により生成され、生成されたHTML1200aがユーザエージェント211に送信される(ステップS504、S507)。なお、図5のログインページ生成処理は、例えば、図4に示したフローチャートにより実現することができる。
次に、図6のフローチャートを参照しながら、リモート認証モード時におけるログイン認証処理について説明する。
リモート認証モードの場合(図4のステップS401でYESと判断された場合)、ログイン画面1200bに埋め込まれる<form>タグのaction属性1201は、認証サーバ106上に実装されたユーザ認証部253のURLとなる(図4のステップS402)。また、ユーザエージェント211には表示されないHidden属性として、サービスを識別するための識別子(サービスID)1205がログイン画面1200bに埋め込まれる。このサービスIDは、予め、認証サーバ106の管理者によって、認証サーバ106に接続されているWebアプリケーションサーバ102、104に対して一意に割り当てられた識別子である。本実施形態では、Webアプリケーションサーバに102、104組み込まれる認証エージェント部222は、サービスIDとして、該当するサービスIDをログイン画面1200bに埋め込むようにしている。
リモート認証モードの場合(図4のステップS401でYESと判断された場合)、ログイン画面1200bに埋め込まれる<form>タグのaction属性1201は、認証サーバ106上に実装されたユーザ認証部253のURLとなる(図4のステップS402)。また、ユーザエージェント211には表示されないHidden属性として、サービスを識別するための識別子(サービスID)1205がログイン画面1200bに埋め込まれる。このサービスIDは、予め、認証サーバ106の管理者によって、認証サーバ106に接続されているWebアプリケーションサーバ102、104に対して一意に割り当てられた識別子である。本実施形態では、Webアプリケーションサーバに102、104組み込まれる認証エージェント部222は、サービスIDとして、該当するサービスIDをログイン画面1200bに埋め込むようにしている。
本実施形態では、認証サーバ106は、図10に示すサービス情報テーブル1000を記述した構成情報記述ファイルを読み込むことにより、各サービスの認証中継部222bを表すURLを取得することができる。
利用者は、リモート認証モードにおいても、ローカル認証モードと同様に、認証エージュエント222で生成されたログイン画面1200bにユーザID及びパスワードの入力を行なうことになる。ただし、ユーザID及びパスワードが送信されるサーバは、Webアプリケーションサーバ102ではなく、認証サーバ106となる。
そして、認証サーバ106内のユーザ認証部253は、Hidden属性として受け取ったサービス名1205から、ユーザ認証の依頼先を決定し、認証エージェント部222内の認証中継処理部222bに設けられた外部認証APIに対して、受け取ったユーザID及びパスワードの認証を依頼する(図6のステップS602)。本実施形態では、外部認証APIは、SOAPにより実装される。認証サーバ106内のユーザ認証部253は、ユーザID及びパスワードを引数として、前記サービスIDで示されるWebアプリケーションサーバ102、104内の認証中継処理部222bに対して認証要求を送信する。
この認証要求を受け取った認証中継処理部222bは、ユーザID及びパスワードが、ユーザ情報テーブル900に登録されているユーザID及びパスワードと合致するデータがあるか否かを、Webアプリケーションサーバ102、104に接続されたユーザ情報データベース103、105から検索する(図6のステップS603)。外部認証APIの認証サーバ106への返り値は真偽値であり、ユーザID及びパスワードが一致する登録ユーザが検索された場合には、認証要求APIの呼び出しに対する応答として「真」が、そうでない場合は「偽」が認証サーバ106へ返される(図6のステップS604)。
「偽」の返答を受け取った認証サーバ106は、ログイン要求を再度発行するために、ログイン処理に移る(図6のステップS605、S606)。一方、「真」の返答を受け取った認証サーバ106は、ユーザの認証が成功したと判断して、ユーザエージェント211との間にセッションを確立し(図6のステップS607)、アプリケーションサーバ102、104に対して認証されたユーザIDを通知するために、前述した認証確認要求段階と同様にSAMLプロファイル(SAML Artifact)とアサーション(Assertion)による手続きが実行される(図6のステップS608、609、)。その後、認証サーバ106は、ログイン成功時の表示画面をユーザエージュント211に送信する(図6のステップS610)。
なお、リモート認証モード時におけるログイン認証処理の概要は、図8に示すようになる。まず、認証エージェント部222は、ユーザエージェント211からの要求に従って、前述したようにしてログイン画面1200bを生成して、ユーザエージェント211に送信する(通信T801)。ユーザエージェント211の利用者は、送信されたログイン画面1200bにユーザIDとパスワードとを入力する。そうすると、ユーザエージェント211は、入力されたユーザIDとパスワードとを、ログイン画面1200bを記述するHTML1200aに含まれているURLに従って、認証サーバ106に送信する(通信T802)。
前述したように本実施形態では、認証サーバ106は、ユーザ情報データベースを直接参照することができない。そこで、認証サーバ106は、アプリケーションサーバ102(認証エージェント222)に対して、ユーザIDとパスワードとの照合を要求する(通信T803)。認証エージェント222は、ユーザ情報データベース103を参照して、ユーザIDとパスワードとの照合を行い、その結果を認証サーバ106に送信する(通信T804)。こうして、認証サーバ106は、利用者の認証に成功すると、アサーションを生成するとともに、アサーションと一対一に対応する短ストリングの識別子(SAML Artifact)をユーザエージェント211に発行する(通信T805)。発行された識別子(SAML Artifact)は、認証エージェント部222に対するリダイレクトによる接続要求に含まれ、このリダイレクトによる接続要求によって、Webアプリケーションサーバ102に通知される(通信T806)。
リダイレクトによる接続要求を受け取ったWebアプリケーションサーバ102は、そのリダイレクト接続要求に含まれている識別子(SAML Artifact)を取り出し、SAMLで定められるSOAPで実現されたプロトコルにより、アサーションを要求する(通信T807)。前述したように、アサーションの要求は、受け取った識別子(SAML Artifact)を内包して発行される。
アサーションの要求を受け取った認証サーバ106は、アサーションの要求に含まれている識別子(SAML Artifact)と一意に対応するアサーションを検索する。この検索の結果、該当するアサーションが見つかった場合、認証サーバ106は、Webアプリケーションサーバ102、104に対して、先のアサーションの要求の返答として、見つかったアサーション(認証情報)をWebアプリケーションサーバ102、104に送信する(通信T808)。Webアプリケーションサーバ102、104は、送信されたアサーションを解析することによって、ユーザエージェント211を利用する利用者のWebアプリケーションサーバ102、104上でのユーザIDを知ることができる。そして、このユーザIDに基づいて、ユーザエージェント211からの処理要求に対する応答を行なう(通信T809)。
以上のように、本実施形態では、Webアプリケーションサーバ102、104と、認証サーバ106との組み合わせにより、ローカル認証と、リモート認証との切り替えが自動的に行われることを特徴とした認証システムを提案したが、さらに、前述したWebアプリケーションサーバ102、104とは別のドメインに属する第二のアプリケーションサーバを導入した場合、この第二のアプリケーションサーバ上においても図3で示したフローチャートに従って利用者の認証を行なうことにより、SSOに対応した認証システムを実現することができる。
より具体的に説明すると、第一のWebアプリケーションサーバ102、104に対して、利用者の認証が完了している場合、認証サーバ106には、利用者のセッション情報が生成されており、それに対応するセッションCookieが利用者のユーザエージェント211に保存されている。この状態において、第一のWebアプリケーションサーバ102、104と異なるドメインに属する第二のWebアプリケーションサーバに利用者が接続要求を発した場合、図3のステップS323における認証確認要求(リダイレクト要求)において、ユーザエージェント211から認証サーバ106に対して、第一のWebアプリケーションサーバの認証時に生成したセッションCookieが事前に送信される。
すなわち、認証サーバ106は、セッションCookie及び対応するセッションオブジェクトを検証することにより、利用者が第一のWebプリケーションサーバ102、104にログイン中であることを確認することができる。
ここで、図3のステップS352において、認証サーバ106は、第二のWebアプリケーションサーバに対して、該当する利用者の第二のWebアプリケーションサーバに登録されたユーザIDを知らせることが必要になる。この問題を解決するための一例として、本実施形態では、認証サーバ106に、図11に示すようなユーザIDマッピングテーブル1100を事前に用意する。認証サーバ106は、該当するユーザエージェント211との間にセッションが確立した段階で、セッションオブジェクトに、利用者に対してあらかじめ一意に発行した識別子(以下、SSO_IDと称する)を格納する。以後、認証サーバ106は、認証サーバ106とユーザエージェント211との間にセッションが確立されている間は、セッションオブジェクトに格納されているSSO_ID、及び図11に示すユーザIDマッピングテーブル1100を参照することにより、そのSSO_IDを持つユーザの各サービス上でのユーザIDを取得し、図3のステップS352において、各WebアプリケーションサーバへユーザIDを通知することが可能となる。
以上のように本実施形態では、アプリケーションサーバ102、104は、認証サーバ106が停止しているか否かを判断し、認証サーバ106が停止している場合には、クライアントコンピュータ101で入力されるユーザID及びパスワードの送信先をユーザ認証部222aのURLとしたHTML1200aをログイン画面1200bとともにクライアントコンピュータ101に送信する。その後、アプリケーションサーバ102、104は、前記送信したログイン画面1200bを用いてクライアントコンピュータ101のユーザが入力したユーザID及びパスワードを、前記HTML1200aの記述内容に従って受信し、受信したユーザID及びパスワードが、ユーザ情報データベース103、104に登録されているものと一致するか否かを判断し、一致している場合には、クライントコンピュータ101のログインを許可するようにした。これにより、認証サーバ106の稼動状況に基づいて、認証サーバ106を用いてシングルサインオンを利用した認証を行なうか、それともWebアプリケーションサーバ102、104で個別に認証を行なうかを切り替えるようにし、認証サーバ106が停止している場合でも、クライアントコンピュータ101のユーザを容易に認証することができる認証システムを構築することができる。このように、本実施形態の認証システムによれば、認証サーバ106の停止時にも、各Webアプリケーションサーバ102、104は独自に認証を継続することができるため、各サービスで定められたサービスレベルを維持することができ、認証サーバ106を安価に構築することができる。
(本発明の他の実施形態)
上述した実施形態の機能を実現するべく各種のデバイスを動作させるように、該各種デバイスと接続された装置あるいはシステム内のコンピュータに対し、前記実施形態の機能を実現するためのソフトウェアのプログラムコードを供給し、そのシステムあるいは装置のコンピュータ(CPUあるいはMPU)に格納されたプログラムに従って前記各種デバイスを動作させることによって実施したものも、本発明の範疇に含まれる。
上述した実施形態の機能を実現するべく各種のデバイスを動作させるように、該各種デバイスと接続された装置あるいはシステム内のコンピュータに対し、前記実施形態の機能を実現するためのソフトウェアのプログラムコードを供給し、そのシステムあるいは装置のコンピュータ(CPUあるいはMPU)に格納されたプログラムに従って前記各種デバイスを動作させることによって実施したものも、本発明の範疇に含まれる。
また、この場合、前記ソフトウェアのプログラムコード自体が上述した実施形態の機能を実現することになり、そのプログラムコード自体、及びそのプログラムコードをコンピュータに供給するための手段、例えば、かかるプログラムコードを格納した記録媒体は本発明を構成する。かかるプログラムコードを記憶する記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
また、コンピュータが供給されたプログラムコードを実行することにより、上述の実施形態の機能が実現されるだけでなく、そのプログラムコードがコンピュータにおいて稼働しているOS(オペレーティングシステム)あるいは他のアプリケーションソフト等と共同して上述の実施形態の機能が実現される場合にもかかるプログラムコードは本発明の実施形態に含まれることは言うまでもない。
さらに、供給されたプログラムコードがコンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいてその機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって上述した実施形態の機能が実現される場合にも本発明に含まれることは言うまでもない。
101 クライアントコンピュータ
102、104 Webアプリケーションサーバ
103、105 ユーザ情報データベース
106 認証サーバ
107 インターネット
211 ユーザエージェント
222 認証エージェント
102、104 Webアプリケーションサーバ
103、105 ユーザ情報データベース
106 認証サーバ
107 インターネット
211 ユーザエージェント
222 認証エージェント
Claims (18)
- クライアント端末にアプリケーションを提供する複数のアプリケーションサーバと、
前記クライアント端末を使用するユーザの前記複数のアプリケーションサーバに対する認証を一括して行なうようにするための認証サーバとを有し、
前記複数のアプリケーションサーバは、前記認証サーバが稼動しているか否かを判断する判断手段と、
前記判断手段により前記認証サーバが稼動していないと判断された場合には、前記クライアント端末を使用するユーザを個別に認証する認証手段とを有することを特徴とする認証システム。 - クライアント端末と、アプリケーションサーバと、ユーザデータベースと、認証サーバとを有する認証システムであって、
前記ユーザデータベースは、前記アプリケーションサーバと第1の通信手段を介して相互に接続され、前記クライアント端末を利用するユーザを認証するための認証情報を保持し、
前記アプリケーションサーバは、前記クライアント端末を利用するユーザを表す識別子を含む認証要求を、第2の通信手段を介して前記クライアント端末から受け付け、受け付けた認証要求に含まれる識別子に対応する認証情報を、前記第1の通信手段を介して前記ユーザデータベースに問い合わせて、前記クライアント端末を利用するユーザを認証する第1の認証手段と、
前記クライアント端末を利用するユーザを表す識別子を含む認証要求を、第3の通信手段を介して前記認証サーバから受け付け、受け付けた認証要求に含まれる識別子に対応する認証情報を、前記認証サーバに送信する認証中継処理手段とを有し、
前記認証サーバは、前記クライアント端末を利用するユーザを表す識別子を含む認証要求を、第4の通信手段を介して前記クライアント端末から受け付け、受け付けた認証要求に基づいて、前記第3の通信手段を介して前記アプリケーションサーバに認証要求を行なう認証要求中継要求手段と、
前記認証要求中継手段により認証要求がなされた後に、前記認証中継処理手段により送信された認証情報を用いて、前記クライアント端末を利用するユーザを認証する第2の認証手段とを有することを特徴とする認証システム。 - 前記認証サーバは、前記第2の認証手段により認証された認証情報を記憶媒体に記憶する記憶手段と、
前記記憶手段により記憶媒体に記憶された認証情報を前記アプリケーションサーバに通知する認証情報通知手段とを有することを特徴とする請求項2に記載の認証システム。 - 前記アプリケーションサーバは、前記クライアント端末から前記認証要求を受け付けるのに先立ち、前記第1の認証手段による認証を実行するか、又は前記第2の認証手段による認証を実行するかの何れかを選択し、選択した認証手段を表す識別子をクライアント端末に通知する認証方法通知手段を有することを特徴とする請求項3に記載の認証システム。
- 前記認証方法通知手段は、前記ユーザを表す識別子をそのユーザが入力することができるようにするためのログイン画面を、前記クライアント端末で表示することができるようにするための情報に、前記選択した認証手段を表す識別子を含めて前記クライアント端末に通知することを特徴とする請求項4に記載の認証システム。
- 前記選択した認証手段を表す識別子は、前記クライアント端末が行なう認証要求の送付先を表すアドレスであることを特徴とする請求項4又は5に記載の認証システム。
- 前記認証サーバは、自身の稼動状況を前記アプリケーションサーバに通知する稼動状況通知手段を有することを特徴とする請求項4〜6の何れか1項に記載の認証システム。
- 前記認証方法通知手段は、前記稼動状況通知手段により前記認証サーバが稼動中であることが通知された場合には、前記第2の認証手段による認証を実行することを選択し、前記稼動状況通知手段により前記認証サーバが稼動中でないことが通知された場合には、前記第1の認証手段による認証を実行することを選択することを特徴とする請求項7に記載の認証システム。
- クライアント端末にアプリケーションを提供する複数のアプリケーションサーバと、
前記クライアント端末を使用するユーザの前記複数のアプリケーションサーバに対する認証を一括して行なうようにするための認証サーバとを用いて、前記クライアント端末を使用するユーザを認証する認証方法であって、
前記複数のアプリケーションサーバは、前記認証サーバが稼動しているか否かを判断する判断ステップと、
前記判断ステップにより前記認証サーバが稼動していないと判断された場合には、前記クライアント端末を使用するユーザを個別に認証する認証ステップとを行なうことを特徴とする認証方法。 - アプリケーションサーバと、ユーザデータベースと、認証サーバとを用いて、クライアント端末を使用するユーザを認証する認証方法であって、
前記アプリケーションサーバは、前記クライアント端末を利用するユーザを表す識別子を含む認証要求を、第1の通信手段を介して前記クライアント端末から受け付け、受け付けた認証要求に含まれる識別子に対応する認証情報を、第2の通信手段を介して前記ユーザデータベースに問い合わせて、前記クライアント端末を利用するユーザを認証する第1の認証ステップと、
前記クライアント端末を利用するユーザを表す識別子を含む認証要求を、第3の通信手段を介して前記認証サーバから受け付け、受け付けた認証要求に含まれる識別子に対応する認証情報を、前記認証サーバに送信する認証中継処理ステップとを行い、
前記認証サーバは、前記クライアント端末を利用するユーザを表す識別子を含む認証要求を、第4の通信手段を介して前記クライアント端末から受け付け、受け付けた認証要求に基づいて、前記第3の通信手段を介して前記アプリケーションサーバに認証要求を行なう認証要求中継要求ステップと、
前記認証要求中継ステップにより認証要求がなされた後に、前記認証中継処理ステップにより送信された認証情報を用いて、前記クライアント端末を利用するユーザを認証する第2の認証ステップとを行なうことを特徴とする認証方法。 - 前記認証サーバは、前記第2の認証ステップにより認証された認証情報を記憶媒体に記憶する記憶ステップと、
前記記憶ステップにより記憶媒体に記憶された認証情報を前記アプリケーションサーバに通知する認証情報通知ステップとを行なうことを特徴とする請求項10に記載の認証方法。 - 前記アプリケーションサーバは、前記クライアント端末から前記認証要求を受け付けるのに先立ち、前記第1の認証ステップによる認証を実行するか、又は前記第2の認証ステップによる認証を実行するかの何れかを選択し、選択した認証方法を表す識別子をクライアント端末に通知する認証方法通知ステップを行なうことを特徴とする請求項11に記載の認証方法。
- 前記認証方法通知ステップは、前記ユーザを表す識別子をそのユーザが入力することができるようにするためのログイン画面を、前記クライアント端末で表示することができるようにするための情報に、前記選択した認証手段を表す識別子を含めて前記クライアント端末に通知することを特徴とする請求項12に記載の認証方法。
- 前記選択した認証方法を表す識別子は、前記クライアント端末が行なう認証要求の送付先を表すアドレスであることを特徴とする請求項12又は13に記載の認証方法。
- 前記認証サーバは、自身の稼動状況を前記アプリケーションサーバに通知する稼動状況通知ステップを有することを特徴とする請求項12〜14の何れか1項に記載の認証方法。
- 前記認証方法通知ステップは、前記稼動状況通知ステップにより前記認証サーバが稼動中であることが通知された場合には、前記第2の認証ステップによる認証を実行することを選択し、前記稼動状況通知ステップにより前記認証サーバが稼動中でないことが通知された場合には、前記第1の認証ステップによる認証を実行することを選択することを特徴とする請求項15に記載の認証方法。
- クライアント端末にアプリケーションを提供する複数のアプリケーションサーバと、
前記クライアント端末を使用するユーザの前記複数のアプリケーションサーバに対する認証を一括して行なうようにするための認証サーバとを用いて、前記クライアント端末を使用するユーザを認証することをコンピュータに実行させるためのコンピュータプログラムであって、
前記複数のアプリケーションサーバが、前記認証サーバが稼動しているか否かを判断する判断ステップと、
前記判断ステップにより前記認証サーバが稼動していないと判断された場合には、前記クライアント端末を使用するユーザを個別に認証する認証ステップとを行なうことをコンピュータに実行させる特徴とするコンピュータプログラム。 - アプリケーションサーバと、ユーザデータベースと、認証サーバとを用いて、クライアント端末を使用するユーザを認証することをコンピュータに実行させるためのコンピュータプログラムであって、
前記クライアント端末を利用するユーザを表す識別子を含む認証要求を、第1の通信手段を介して前記クライアント端末から受け付け、受け付けた認証要求に含まれる識別子に対応する認証情報を、第2の通信手段を介して前記ユーザデータベースに問い合わせて、前記クライアント端末を利用するユーザを認証する第1の認証ステップと、
前記クライアント端末を利用するユーザを表す識別子を含む認証要求を、第3の通信手段を介して前記認証サーバから受け付け、受け付けた認証要求に含まれる識別子に対応する認証情報を、前記認証サーバに送信する認証中継処理ステップとを、前記アプリケーションサーバが行なうことをコンピュータに実行させるとともに、
前記クライアント端末を利用するユーザを表す識別子を含む認証要求を、第4の通信手段を介して前記クライアント端末から受け付け、受け付けた認証要求に基づいて、前記第3の通信手段を介して前記アプリケーションサーバに認証要求を行なう認証要求中継要求ステップと、
前記認証要求中継ステップにより認証要求がなされた後に、前記認証中継処理ステップにより送信された認証情報を用いて、前記クライアント端末を利用するユーザを認証する第2の認証ステップとを、前記認証サーバが行なうことをコンピュータに実行させることを特徴とするコンピュータプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004106411A JP2005293161A (ja) | 2004-03-31 | 2004-03-31 | 認証システム、認証方法及びコンピュータプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004106411A JP2005293161A (ja) | 2004-03-31 | 2004-03-31 | 認証システム、認証方法及びコンピュータプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005293161A true JP2005293161A (ja) | 2005-10-20 |
Family
ID=35326030
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004106411A Pending JP2005293161A (ja) | 2004-03-31 | 2004-03-31 | 認証システム、認証方法及びコンピュータプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005293161A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007128349A (ja) * | 2005-11-04 | 2007-05-24 | Nec Corp | ネットワークシステム、プロキシサーバ、セッション管理方法、及びプログラム |
JP2007148974A (ja) * | 2005-11-30 | 2007-06-14 | Fuji Xerox Co Ltd | 認証エージェント装置および認証方法 |
JP2010146169A (ja) * | 2008-12-17 | 2010-07-01 | Nippon Telegr & Teleph Corp <Ntt> | Webシステムおよびリクエスト処理方法 |
JP2012137932A (ja) * | 2010-12-27 | 2012-07-19 | Nippon Telegraph & Telephone East Corp | 認証移行システム、認証移行方法及び認証移行装置 |
KR101265717B1 (ko) | 2011-08-24 | 2013-05-20 | 소프트포럼 주식회사 | 무중단 암/복호화 서비스 시스템 및 방법 |
JP2014149754A (ja) * | 2013-02-04 | 2014-08-21 | Alaxala Networks Corp | 認証スイッチまたはネットワークシステム |
-
2004
- 2004-03-31 JP JP2004106411A patent/JP2005293161A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007128349A (ja) * | 2005-11-04 | 2007-05-24 | Nec Corp | ネットワークシステム、プロキシサーバ、セッション管理方法、及びプログラム |
JP4670598B2 (ja) * | 2005-11-04 | 2011-04-13 | 日本電気株式会社 | ネットワークシステム、プロキシサーバ、セッション管理方法、及びプログラム |
JP2007148974A (ja) * | 2005-11-30 | 2007-06-14 | Fuji Xerox Co Ltd | 認証エージェント装置および認証方法 |
JP2010146169A (ja) * | 2008-12-17 | 2010-07-01 | Nippon Telegr & Teleph Corp <Ntt> | Webシステムおよびリクエスト処理方法 |
JP2012137932A (ja) * | 2010-12-27 | 2012-07-19 | Nippon Telegraph & Telephone East Corp | 認証移行システム、認証移行方法及び認証移行装置 |
KR101265717B1 (ko) | 2011-08-24 | 2013-05-20 | 소프트포럼 주식회사 | 무중단 암/복호화 서비스 시스템 및 방법 |
JP2014149754A (ja) * | 2013-02-04 | 2014-08-21 | Alaxala Networks Corp | 認証スイッチまたはネットワークシステム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6166596B2 (ja) | 認可サーバーシステムおよびその制御方法、並びにプログラム | |
JP6141076B2 (ja) | システムおよびその制御方法、アクセス管理サービスシステムおよびその制御方法、並びにプログラム | |
TWI233732B (en) | Collaboration server, collaboration system, and session management method | |
JP4729651B2 (ja) | 認証装置,認証方法およびその方法を実装した認証プログラム | |
CN104052616A (zh) | 一种对互联网数据中心中的业务进行管理的方法及系统 | |
JP2007323340A (ja) | アカウントリンクシステム,アカウントリンク用コンピュータ,およびアカウントリンク方法 | |
JP5342020B2 (ja) | グループ定義管理システム | |
JP2002334056A (ja) | ログイン代行システム及びログイン代行方法 | |
KR20110055542A (ko) | 유저 인증을 관리하기 위한 장치 | |
JP2006031064A (ja) | セッション管理システム及び管理方法 | |
JP2005346570A (ja) | 認証システム、認証方法及びコンピュータプログラム | |
JP2008015733A (ja) | ログ管理計算機 | |
JP2019101668A (ja) | システムおよびその制御方法 | |
JP2007257500A (ja) | 被認証装置、被認証プログラム、被認証方法、WebブラウザプラグインおよびWebブラウザブックマークレット | |
JP5732732B2 (ja) | 認証サーバ装置、プログラム、および方法 | |
JP2000106552A (ja) | 認証方法 | |
JP2008226015A (ja) | セッション権限管理方法 | |
JP2005293161A (ja) | 認証システム、認証方法及びコンピュータプログラム | |
JP2005267529A (ja) | ログイン認証方式、ログイン認証システム、認証プログラム、通信プログラムおよび記憶媒体 | |
US9350724B2 (en) | Authentication server system for performing control of notifications during service use, control method, and storage medium | |
JP2018063580A (ja) | システム、サービス提供装置、システムの制御方法およびプログラム | |
JP2008077614A (ja) | セッション管理プログラム及びセッション管理方法 | |
JP2016057737A (ja) | サービス提供システム及びこれに用いる管理サーバー及び管理方法 | |
JP2005346571A (ja) | 認証システム及び認証方法 | |
JP5097418B2 (ja) | セッション管理装置、プログラム、及び記憶媒体 |