JP2005011098A - Proxy authentication program, method, and device - Google Patents

Proxy authentication program, method, and device Download PDF

Info

Publication number
JP2005011098A
JP2005011098A JP2003175139A JP2003175139A JP2005011098A JP 2005011098 A JP2005011098 A JP 2005011098A JP 2003175139 A JP2003175139 A JP 2003175139A JP 2003175139 A JP2003175139 A JP 2003175139A JP 2005011098 A JP2005011098 A JP 2005011098A
Authority
JP
Japan
Prior art keywords
authentication
server
proxy
response
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.)
Granted
Application number
JP2003175139A
Other languages
Japanese (ja)
Other versions
JP4467256B2 (en
Inventor
Hidenari Miwa
秀成 三輪
Katsuyuki Matsunaga
克幸 松永
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2003175139A priority Critical patent/JP4467256B2/en
Publication of JP2005011098A publication Critical patent/JP2005011098A/en
Application granted granted Critical
Publication of JP4467256B2 publication Critical patent/JP4467256B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To efficiently use hardware resources for performing proxy authentication to a server of a different authentication method. <P>SOLUTION: A proxy authentication device 1 accesses a server function (a server function 3a, for example) connected via a network in response to requests from client functions 2a, 2b, 2c, etc. (step S1). In the proxy authentication device 1, a plurality of authentication allowance/rejection checking logics for identifying a response showing incompletion of user authentication are defined previously. The proxy authentication device 1 determines whether user authentication is needed or not according to whether the response from the server function 3a matches one of the authentication allowance/rejection checking logics or not (step S2). If user authentication is necessary, the proxy authentication device 1 carries out a user authentication procedure between the server function 3a according to the authentication procedure previously defined in association with the authentication allowance/rejection checking logic matching the response (step S3). <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は他の装置への認証手続きを代理する代理認証プログラム、代理認証方法、および代理認証装置に関し、特に異なる認証方式による認証手続きを行う代理認証プログラム、代理認証方法、および代理認証装置に関する。
【0002】
【従来の技術】
企業内のネットワークでは、ネットワーク内に複数のサーバ(あるいはサービスを提供するアプリケーションプログラム)が存在し、様々なサービスがネットワークを介して提供される。ただし、企業内のネットワークであっても、一部の機能に関しては使用可能なユーザが制限される。たとえば、社員の出退勤を管理するシステムに対しては、所定の役職以上のユーザ、あるいは人事部等の所定の部署のユーザに対してのみアクセスを許可する必要がある。以下、サービスを提供する機能(サーバアプリケーション)をサーバ機能と呼ぶこととする。
【0003】
一般的には、サービスを利用可能なユーザを制限するため、サーバ機能毎にユーザ認証が行われる。ユーザ認証では、サーバ機能がユーザに対して、ユーザ名とパスワードとの入力を要求する。入力されたユーザ名とパスワードとの組が予めサーバ機能に登録されていれば、サーバ機能は、そのユーザに許可されている範囲の機能を提供する。このようなユーザ認証は、ネットワーク内にサーバ機能が多数存在する場合でも、原則的に個別に行われる。
【0004】
ところで、最近の業務処理のシステム化に伴い、社内業務の多くが、その業務を支援するサーバ機能を利用して行われる。そのため、社員が業務を遂行する上で、様々なサーバ機能に対してユーザ認証を行う必要が生じる。この場合、個別のサーバ機能へのユーザ認証を行うには、各ユーザがユーザ名とパスワードとの組を個人で管理しなければならず、パスワード等の管理負担が大きい。また、一日に何度もユーザ認証手続きを行うのは、業務の作業効率低下に繋がる。
【0005】
そこで、従来はシングルサインオンと呼ばれるシステムが利用されている。シングルサインオンでは、ユーザが一度認証を受けるだけで、そのユーザに対したアクセスを許可している機能をユーザ利用できる。
【0006】
シングルサインオンを実現する技術の1つにPKI(Public Key Infrastructure)を用いた技術がある。PKIは、電子署名と暗号技術を兼ね備え、安全な電子通信を確保する技術である。PKIシステムでは、ユーザ認証したユーザに対して電子証明書を発行する。そして、電子証明書を保持しているユーザは、その電子証明書に応じた各種サービスの提供を受けることができる。
【0007】
また、シングルサインオンを実現する別の技術として、プロキシサーバで代理認証する方式がある。この技術では、各サーバ機能に対するユーザ認証のためのデータをプロキシサーバに保持する。そして、ユーザからサーバ機能へのアクセス要求が出されると、プロキシサーバが代理でサーバ機能との間でユーザ認証手続きを行う(たとえば、特許文献1参照)。
【0008】
また、ユーザ端末からWebサーバへのプロキシサーバを介したアクセスで一度認証された場合、そのデータをプロキシサーバに記憶しておく。そして、同じユーザ端末による次回以降のログイン時には、プロキシサーバに記憶されたデータを使用する。この方式に寄れば、様々な形式のログインプロトコルに対応することができる(たとえば、特許文献2参照)。
【0009】
【特許文献1】
特開平10−177552号公報(第1図)
【特許文献2】
特開2002−32340号公報(第1図)
【0010】
【発明が解決しようとする課題】
しかし、PKIを用いた技術の場合は、Webブラウザ、Webサーバともに電子証明書に対応した機構を必要とする上、電子証明書のためのインフラを必要とする。そのため、既存のシステムをそのまま流用するのは困難である。
【0011】
すなわち、一般のプロキシサーバで代理認証する方式では固定的な認証プロトコルを用いるため、サーバ機能毎に認証方式が異なる場合には採用できない。しかも、現実のWebサーバの認証方式は開発者の自由であるため様々なものが存在する。一つの代理認証型のプロキシサーバがそれらに対し代理認証を行うのは困難であり、代理認証プロキシの有用性を減じさせている。
【0012】
たとえば、特許文献1に記載された方式では、代理サーバで複数の認証情報を管理し、クライアントに代わってサーバに対して認証情報を送信するだけであり、サーバ毎に異なる手順の認証手続きを実行することができない。具体的には、認証情報を送信するだけで認証可能なサーバもあれば、サーバが提供するフォームデータ内の所定のパラメータとして設定した認証情報を送信することで認証可能なサーバもある。このように、単に認証情報を送信するだけでは、代理認証ができないサーバも多数存在する。
【0013】
また、特許文献2に示された方式であればサーバ機能毎に異なる認証方式が採用されている場合にも適用可能である。しかし、特許文献2に示されたような認証時のデータを全て記録する方式では、多数のユーザが同じサーバを利用した場合は、認証用の通信データの保存域にほとんど同じだが少しだけ異なるデータを多数保持する必要が生じる。そのため、システムの資源(メインメモリやハードディスクデバイス等)の利用効率が悪くなる。これは、実際の認証用通信データで、ユーザ毎に異なる部分は僅かであり、データの多くは共通のヘッダやフッターによって占められるためである。
【0014】
一般的に、必要なハードウェア資源の量が不明な場合、システムの安定運用のためには、余裕を持ったハードウェア環境を整えておく必要がある。そのため、システムの規模が肥大化し、システムの構築コストが増加していた。
【0015】
本発明はこのような点に鑑みてなされたものであり、ハードウェア資源を効率よく利用して、異なる認証方式のサーバへの代理認証を行うことができる代理認証プログラム、代理認証方法、および代理認証装置を提供することを目的とする。
【0016】
【課題を解決するための手段】
本発明では上記課題を解決するために、図1に示すような処理をコンピュータに実行させる代理認証プログラムが提供される。この代理認証プログラムは、他の装置への認証手続きを代理するためのものであり、コンピュータに対して以下の処理を実行させる。
【0017】
コンピュータは、クライアント機能2a,2b,2c,・・・からの要求に応じて、ネットワークを介して接続されるサーバ機能3a,3b,3c,・・・に対してアクセスする(ステップS1)。コンピュータは、ユーザ認証が未完了であることを示す応答を識別するための複数の認証許否確認論理が予め定義されており、サーバ機能からの応答が複数の認証許否確認論理のいずれかに適合するか否かによりユーザ認証の要否を判断する(ステップS2)。そして、ユーザ認証が必要な場合、コンピュータは、応答が適合した認証許否確認論理に対応付けて予め定義されている認証手順に従って、サーバ機能との間でユーザ認証手続きを行う(ステップS3)。
【0018】
このような代理認証プログラムによれば、コンピュータにより、クライアント機能からの要求に応じてサーバ機能にアクセスしたとき、ユーザ認証の未完了を示す応答が返されると、その応答が適合する認証許否確認論理に対応する処理手順でサーバ機能との間で認証手続きが行われる。
【0019】
また、上記課題を解決するために他の装置への認証手続きを代理するための代理認証方法において、クライアント機能からの要求に応じて、ネットワークを介して接続されるサーバに対してアクセスし、ユーザ認証が未完了であることを示す応答を識別するための複数の認証許否確認論理が予め定義されており、前記サーバ機能からの応答が前記複数の認証許否確認論理のいずれかに適合するか否かによりユーザ認証の要否を判断し、ユーザ認証が必要な場合、前記応答が適合した前記認証許否確認論理に対応付けて予め定義されている認証手順に従って、前記サーバ機能との間でユーザ認証手続きを行う、ことを特徴とする代理認証方法が提供される。
【0020】
このような代理認証方法によれば、クライアント機能からの要求に応じてサーバ機能にアクセスしたとき、ユーザ認証の未完了を示す応答が返されると、その応答が適合する認証許否確認論理に対応する処理手順でサーバ機能との間で認証手続きが行われる。
【0021】
また、上記課題を解決するために、他の装置への認証手続きを代理する代理認証装置において、クライアント機能からの要求に応じて、ネットワークを介して接続されるサーバに対してアクセスするアクセス手段と、ユーザ認証が未完了であることを示す応答を識別するための複数の認証許否確認論理が予め定義されており、前記サーバ機能からの応答が前記複数の認証許否確認論理のいずれかに適合するか否かによりユーザ認証の要否を判断する認証要否判断手段と、ユーザ認証が必要な場合、前記応答が適合した前記認証許否確認論理に対応付けて予め定義されている認証手順に従って、前記サーバ機能との間でユーザ認証手続きを行う代理認証手段と、を有することを特徴とする代理認証装置が提供される。
【0022】
このような代理認証装置によれば、アクセス手段により、クライアント機能からの要求に応じてサーバ機能へのアクセスが行われる。そして、サーバ機能から応答が返されると、認証要否判断手段により、ユーザ認証の要否を判断される。ユーザ認証が必要な場合、代理認証手段により、応答が適合した認証許否確認論理に対応付けて予め定義されている認証手順に従って、サーバ機能との間でユーザ認証手続きが行われる。
【0023】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。
まず、実施の形態に適用される発明の概要について説明し、その後、実施の形態の具体的な内容を説明する。
【0024】
図1は、実施の形態に適用される発明の概念図である。代理認証装置1は、複数のクライアント機能2a,2b,2c,・・・と複数のサーバ機能3a,3b,3c,・・・との論理的な通信経路上に設けられている。ここで、論理的な通信経路とは、複数のクライアント機能2a,2b,2c,・・・のいずれかと複数のサーバ機能3a,3b,3c,・・・のいずれかとの間の通信(少なくとも代理認証を必要とする通信)が、必ず代理認証装置1を経由して行われることを意味する。
【0025】
代理認証装置1は、クライアント機能2a,2b,2c,・・・がサーバ機能3a,3b,3c,・・・に対して実行すべきユーザ認証手続きを、クライアント機能2a,2b,2c,・・・の代理で実行することができる。なお、代理認証装置1には、ユーザ認証が未完了であることを示す応答を識別するための複数の認証許否確認論理が予め定義されている。また、各認証許否確認論理に対応付けて、認証手順が定義されている。認証手順は、認証手続きの際にクライアント機能2a,2b,2c,・・・側で実行すべき処理内容を、認証方式毎に定義したものである。
【0026】
クライアント機能2a,2b,2c,・・・は、ユーザの操作入力に応答してサーバ機能3a,3b,3c,・・・に対して要求を送信する機能を有している。クライアント機能2a,2b,2c,・・・は、たとえば、それぞれが個別のクライアントコンピュータに実装されたクライアントアプリケーションである。
【0027】
サーバ機能3a,3b,3c,・・・は、クライアント機能2a,2b,2c,・・・から送られた要求に応じた処理を行う。サーバ機能3a,3b,3c,・・・は、たとえば、プロキシサーバ等に実装されたサーバアプリケーションである。なお、サーバ機能3a,3b,3c,・・・はユーザ認証機能を有しており、ユーザ認証を完了したクライアント機能2a,2b,2c,・・・からの要求に対してのみ、処理機能を提供する。また、各サーバ機能3a,3b,3c,・・・は、それぞれ異なる認証方式を採用している。
【0028】
ここで、クライアント機能2a,2b,2c,・・・からサーバ機能3a,3b,3c,・・・へアクセスする場合、代理認証装置1において、以下の処理が行われる。
【0029】
代理認証装置1は、クライアント機能2a,2b,2c,・・・からの要求に応じて、ネットワークを介して接続されるサーバ機能3a,3b,3c,・・・に対してアクセスする(ステップS1)。アクセスされたサーバ機能は、ユーザ認証が必要であり、アクセス要求を出力したクライアント機能のユーザ認証が未完了の場合、ユーザ認証を要求する応答を代理認証装置1に返す。
【0030】
代理認証装置1は、サーバ機能からの応答が複数の認証許否確認論理のいずれかに適合するか否かによりユーザ認証の要否を判断する(ステップS2)。そして、ユーザ認証が必要と判断した場合、代理認証装置1は、応答が適合した認証許否確認論理に対応付けて予め定義されている認証手順に従って、サーバ機能との間でユーザ認証手続きを行う(ステップS3)。
【0031】
このような代理認証装置1によれば、クライアント機能からの要求に応じてサーバ機能にアクセスしたとき、ユーザ認証の未完了を示す応答が返されると、その応答が適合する認証許否確認論理に対応する処理手順でサーバ機能との間で認証手続きが行われる。サーバ機能からの応答を解析してサーバ機能が採用する認証方式に応じた認証手順を判断し、その認証手順で代理認証を行うことで、認証手順等を格納しておくべき記憶容量が少なくてすむ。
【0032】
たとえば、複数のクライアント機能2a,2b,2c,・・・が同一のサーバ機能3aにアクセスする場合を考える。このとき、従来の技術(特許文献2参照)のように全ての認証データを記録し、そのデータから認証手続きを再現することで代理認証を行う場合、クライアント機能2a,2b,2c,・・・毎の認証手続きを保存しなければならない。本発明のように、サーバ機能3aからの応答によって該当する認証手続きを決定し、その認証手続きで代理認証を行うようにすれば、サーバ機能3aに対応付けて1つの認証手続きを保持しておけばよい。
【0033】
しかも、サーバ機能からの応答によって必要な認証手続きを決定するため、各サーバ機能3a,3b,3c,・・・は、それぞれ異なる認証方式を採用していても、それぞれの認証方式に応じた認証手続きで代理認証を行うことができる。
【0034】
なお、クライアント機能2a,2b,2c,・・・毎のユーザ認証情報(たとえば、ユーザ名とパスワード)を保持する必要はあるが、これらは短い文字列からなる情報である。そのため、ユーザ認証情報は、認証手続きの処理手順を全て記録する場合に比べて、少ない記憶容量で済む。
【0035】
以下に、本実施の形態を具体的に説明する。以下の実施の形態は、プロキシサーバに代理認証装置の機能を実装し、Webサーバへの代理認証を行う場合の例である。
【0036】
図2は、本実施の形態を提供するネットワークシステムの構成例を示す図である。図2に示すように、複数のクライアント11,12,13,・・・、複数のサーバ31,32,33,・・・およびプロキシサーバ100でシステムが構成されている。
【0037】
クライアント11,12,13,・・・は、ユーザが使用するコンピュータである。クライアント11,12,13,・・・とプロキシサーバ100との間は、たとえば、LAN(Local Area Network)で接続される。ユーザは、クライアント11,12,13,・・・を用いて、プロキシサーバ100に対してログイン(ベーシック(Basic)認証ログイン)を行うことができる。本実施の形態では、各クライアント11,12,13,・・・には、クライアント機能としてWebブラウザが実装されており、Webブラウザによってサーバ31,32,33,・・・にアクセスするものとする。
【0038】
サーバ31,32,33,・・・は、クライアント11,12,13,・・・からの要求に応じて所定のサービスを提供するサーバコンピュータである。サーバ31,32,33,・・・とプロキシサーバ100との間は、LAN、高速専用回線、インターネット等で接続される。サーバ31,32,33,・・・には、サーバ機能等が実装され、サーバ機能毎にユーザ認証機能を有している。本実施の形態では、各サーバ31,32,33,・・・には、サーバ機能としてWebサーバが実装され、WebサーバによってクライアントのWebブラウザに対するコンテンツの提供サービス等を行う。
【0039】
プロキシサーバ100は、クライアント11,12,13,・・・の代理でサーバ31,32,33,・・・にアクセスするコンピュータである。プロキシサーバ100には、複数のログインアルゴリズム(ベーシック認証やフレーム認証)が定義されている。サーバ31,32,33,・・・からユーザ認証が要求された場合、プロキシサーバ100は要求されたユーザ認証用のログインアルゴリズムを識別し、該当するアルゴリズムでログイン手続きを行うことができる。たとえば、プロキシサーバ100は、サーバ31,32,33,・・・にアクセスする際、ユーザ認証を要求されると、クライアント11,12,13,・・・に代わってユーザ認証手続きを行い、サーバ31,32,33,・・・にログインする。
【0040】
このようなシステムにより、ユーザはクライアント(たとえば、クライアント11)を利用してサーバ31,32,33,・・・にアクセスできる。そして、1つのWebサーバ(たとえば、サーバ31)からユーザ認証が要求されると、プロキシサーバ100からクライアント11にユーザ認証が要求される。すると、ユーザがクライアント11を操作し、プロキシサーバ100に対してベーシック認証ログインを行う。
【0041】
プロキシサーバ100は、クライアント11から送られるユーザ認証情報を、内部に保持するユーザ情報テーブルと照合することでベーシック認証ログインを認め、サーバ31に対してログインする。その際、プロキシサーバ100は、サーバ31の認証方式に合ったアルゴリズムでログイン手続きを行う。
【0042】
その後、クライアント11から他のWebサーバ32,33,・・・へのアクセスの際にユーザ認証が要求されると、そのWebサーバの認証方式に合ったアルゴリズムで、プロキシサーバ100がログイン手続きを行う。ログイン手続き完了後は、クライアント11が要求するサービスがWebサーバにおいて提供され、結果がクライアント11に渡される。
【0043】
図3は、プロキシサーバのハードウェア構成例を示す図である。プロキシサーバ100は、CPU(Central Processing Unit)101によって装置全体が制御されている。CPU101には、バス107を介してRAM(Random Access Memory)102、ハードディスクドライブ(HDD:Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105、および通信インタフェース106が接続されている。
【0044】
RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。HDD103には、OSやアプリケーションプログラムが格納される。
【0045】
グラフィック処理装置104には、モニタ11が接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ11の画面に表示させる。入力インタフェース105には、キーボード12とマウス13とが接続されている。入力インタフェース105は、キーボード12やマウス13から送られてくる信号を、バス107を介してCPU101に送信する。
【0046】
通信インタフェース106は、ネットワーク10に接続されている。通信インタフェース106は、ネットワーク10を介して、他のコンピュータ(クライアント11,12,13,・・・やサーバ31,32,33,・・・)との間でデータの送受信を行う。
【0047】
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお、図3には、プロキシサーバ100のハードウェア構成を示したが、クライアント11,12,13,・・・やサーバ31,32,33,・・・も同様のハードウェア構成で実現することができる。
【0048】
次に、プロキシサーバ100の機能について具体的に説明する。なお、以下の説明では、クライアント11からサーバ31やサーバ32に対してアクセスする場合を例に採る。
【0049】
図4は、プロキシサーバの機能を示すブロック図である。なお、図4に示すように、プロキシサーバ100には、クライアント11に実装されたWebブラウザ11aとサーバ31,32に実装されたWebサーバ31a,32aとの間で通信を行うことができる。
【0050】
プロキシサーバ100は、データベース110、セッション情報テーブル121、タイマ122、タイムアウト駆動部123、ブラウザ入力受付部131、プロキシサーバ認証部132、プロキシサーバ認証要求部133、通信状態保持部134、Webサーバ識別部135、Webサーバ要求生成部136、Webサーバ通信部137、レスポンス分析部138、認証処理判定部139、ログイン処理命令生成部140、コンテンツ変換部141、およびブラウザ応答生成部142を有している。
【0051】
データベース110には、代理認証に必要なデータが格納されている。データベース110の内容は、ユーザ情報テーブル111とWebサーバ情報112とに分かれる。
【0052】
ユーザ情報テーブル111は、クライアント11,12,13,・・・を使用するユーザに関する情報が登録されたデータベースである。たとえば、ユーザ情報テーブル111には、各ユーザがプロキシサーバ100にベーシックログインするためのユーザ認証情報や、ユーザがサーバ31,32,33,・・・にログインするためのユーザ認証情報が、ユーザ毎に格納されている。本実施の形態では、ユーザ情報テーブル111の内容は、システムの管理者によって予め設定されるものとする。
【0053】
Webサーバ情報112は、代理認証の対象とするWebサーバに関する情報である。Webサーバ情報112は、システムテーブル112aとレスポンス分析・ログイン命令テーブル112bとに別れている。本実施の形態では、Webサーバ情報112の内容は、システムの管理者によって予め設定されるものとする。
【0054】
システムテーブル112aは、サーバ機能毎にWebサーバのURL(Uniform Resource Locator)や認証方式が管理されている。
レスポンス分析・ログイン命令テーブル112bには、Webサーバへのログインに必要な情報が格納されている。
【0055】
セッション情報テーブル121には、クライアントとの間で確立したセッションに関する情報が登録されている。セッションに関する情報には、タイムアウト時刻も含まれる。セッション情報テーブル121の内容は、システムの運用中に動的に追加や削除される。
【0056】
ここで、プロキシサーバ100の他の要素を説明する前に、各情報のデータ構造例について詳細に説明する。
図5は、ユーザ情報テーブルのデータ構造例を示す図である。ユーザ情報テーブル111には、プロキシサーバ認証情報に対応付けて、システムID、ユーザ名およびパスワードの組がWebサーバ毎に設定されている。各欄の横方向に並べられた情報同士が互いに関連づけられて、各ユーザのユーザ情報を構成している。
【0057】
プロキシサーバ認証情報の欄は、ユーザ名の欄とパスワードの欄とに分かれている。ユーザ名の欄には、ユーザ名が設定される。パスワードの欄には、ユーザ名に対応するパスワードが設定される。
【0058】
システムIDの欄には、ユーザ認証対象となるWebサーバの識別情報が設定される。図5の例では、「Sys」に続くアルファベットがサーバ(ネットワーク上のノード)の識別子であり、アルファベットに続く数字がサーバ内のWebサーバの識別子である。従って、「SysA0」と「SysA1」とは、同じサーバ内の別々のWebサーバを示している。
【0059】
ユーザ名の欄には、Webサーバに設定されているユーザ認証情報のユーザ名が設定される。パスワードの欄には、Webサーバに設定されているユーザ認証情報のパスワードが設定される。
【0060】
図6は、システムテーブルのデータ構造例を示す図である。システムテーブル112aには、システムID、仮想URL、実URL、および認証タイプの欄が設けられている。各欄の横方向に並べられた情報同士が互いに関連づけられて、各Webサーバに関する情報を構成している。
【0061】
システムIDの欄には、Webサーバの識別情報が設定される。
仮想URLの欄には、クライアントからWebサーバにアクセスするための仮想的なURLが設定される。Webブラウザからは、仮想URLを指定したアクセス要求が出される。
【0062】
実URLの欄には、Webサーバの実際の所在を示すURLが設定される。なお、仮想URLと実URLとは同一の場合もある。
認証タイプの欄には、Webサーバにおけるユーザ認証方式の名称が設定される。図6の例では、認証タイプとして「フォーム」、「ベーシック」、「null」が設定されている。
【0063】
フォーム認証は、認証されていない要求をWebサーバ31a側でHTMLフォームにリダイレクトするシステムである。クライアント(プロキシサーバ100がWebブラウザ11aの代わりにクライアントとして機能する)には、認証用のフォームが渡される。そこで、フォームに対して認証情報を入力し、認証情報を含むフォームをWebサーバ31aに送信する。
【0064】
ベーシック認証では、認証されていない要求を受け取ったWebサーバ31aから認証を要求する応答が返されると、クライアント(プロキシサーバ100がWebブラウザ11aの代わりにクライアントとして機能する)に認証情報(ユーザ名とパスワード)入力用のダイアログが表示される。そのダイアログに対して認証情報を入力すると、その認証情報がWebサーバ31aに送信される。
【0065】
nullは、認証が不要であることを示している。
なお、仮想URLは、HTTP(HyperText Transfer Protocol)のクッキー送信範囲の制限を回避し、外部(Webサーバ31,32,33,・・・側)のネットワーク上のサーバに対し、内部(クライアント11,12,13,・・・側)にあるサーバと同じようにシングルサインオンを提供するために利用される。すなわち、本実施の形態では、プロキシサーバ100でのユーザ認証が完了しているか否かを示すセッション情報を、クライアントにおいてHTTPクッキーで管理している。このHTTPクッキーはその仕様上、ドメイン名が後方一致している場合に限り、異なるドメインに対して設定することができる。
【0066】
たとえば、プロキシサーバ100のドメイン名がaaa.bbb.comであり、ユーザがアクセスしたいサーバ機能のドメイン名がddd.bbb.comである場合は、bbb.comの部分が同じ(後方一致)である。したがって、プロキシサーバ100が仮想URLを用いなくてもクッキー機構が機能する。しかし、対象となるWebサーバのドメイン名がxxx.zzz.comだった場合には後方一致せず、プロキシサーバ100がその通信を操作し、認証情報をクッキーに付加したとしても、ブラウザ側は仕様によりaaa.bbb.comプロキシサーバ100のクッキーとは認められない。そのため、本実施の形態の認証ロジックが成立しない。
【0067】
そこで本実施の形態では、xxx.zzz.comの仮想URLをxxx.bbb.comと設定する。ユーザはWebブラウザからURLとしてxxx.bbb.comを指定して、プロキシサーバ100経由でアクセスを行う。プロキシサーバ100は内部で仮想URL変換を行い、実際の通信をxxx.zzz.comに対して行う。プロキシサーバ100はxxx.zzz.comからの応答データとクッキーを組み合わせてユーザのWebブラウザに返送する。このときWebブラウザはURLがxxx.zzz.comのWebサーバからではなく、URLがxxx.bbb.comのWebサーバからの通信と判断する。そのため、クッキーは無事受け入れられる。これにより、本発明の効果がインターネット全体に適用可能で、実用性が高まる。
【0068】
図7は、レスポンス分析・ログイン命令テーブルのデータ構造例を示す図である。レスポンス分析・ログイン命令テーブル112bには、システムID、ログイン処理情報、および認証識別情報の欄が設けられている。各欄の横方向に並べられた情報同士が互いに関連づけられ、各Webサーバへのユーザ認証手続きに必要な情報を構成している。
【0069】
システムIDの欄には、Webサーバの識別情報が設定される。
ログイン処理情報の欄には、Webサーバへのユーザ認証(ログイン)手続きに必要な情報が設定される。ログイン処理情報の欄には、認証URL、メソッド、フォーム名の欄が設けられている。
【0070】
認証URLの欄には、該当Webサーバへログインする際にアクセスすべきURLが設定される。
メソッドの欄には、HTTPにおけるリクエストの種類(メソッド)が設定さえる。メソッドには、「GET」や「POST」がある。GETは、Webサーバから情報を引き出すためのメソッドである。POSTは、Webサーバに対して情報を送信するためのメソッドである。
【0071】
フォーム名の欄には、認証情報を設定すべきフォームの名称が設定される。フォーム名の欄には、ユーザ、パスワード、付加データの欄が設けられている。ユーザの欄には、ユーザ名を設定すべきフォームの名称が設定される。パスワードの欄には、パスワードを設定すべきフォームの名称が設定される。付加データの欄には、ユーザ認証に際して付加すべき情報を設定するためのフォームの名称が設定される。この付加データの欄には、1つのシステムIDに対応付けて1個あるいは複数(m個:mは1以上の自然数)の情報を設定することができる。
【0072】
認証識別情報の欄には、Webサーバからの応答が認証を要求しているか否かを識別するための情報が設定される。認証識別情報の欄には、レスポンスコード、認証ヘッダ、および識別内容データの欄が設けられている。
【0073】
レスポンスコードの欄には、Webサーバからの応答の種別を示すコード(レスポンスコード)が設定される。識別ヘッダの欄には、認証の要求を示す応答のヘッダに含まれるべき情報が設定される。この識別ヘッダの欄には、1つのシステムIDに対応付けて1個あるいは複数(n個:nは1以上の自然数)の情報を設定することができる。識別内容データの欄には、認証の要求を示す応答の内容に含まれるべき情報が設定される。
【0074】
図8は、セッション情報テーブルのデータ構造例を示す図である。セッション情報テーブル121には、クライアントとの間で確立したセッションに関する情報が設定される。セッション情報テーブル121には、セッションID、ユーザ名、ログイン時刻、およびタイムアウト予告時刻の欄が設けられている。各欄の横方向に並べられた情報同士が互いに関連づけられ、セッション毎の情報を構成している。
【0075】
セッションIDの欄には、確立されたセッションの識別情報が設定される。ユーザ名の欄には、セッションの確立を要求したユーザの識別情報が設定される。ログイン時刻の欄には、ユーザがプロキシサーバ100に対してログイン(ユーザ認証が成功したこと)した時刻が設定される。タイムアウト予告時刻には、セッションを切断する時刻が設定される。
【0076】
以上が、プロキシサーバ100で管理される各データベースのデータ構造である。以下、図4の説明に戻り、プロキシサーバ100の他の要素について説明する。
【0077】
タイマ122は、時刻を計時する機能を有している。OSは、タイマ122を用いて定期的にタイマーイベントを発生させ、そのタイマーイベントを契機にタイムアウト駆動部123が起動される。
【0078】
タイムアウト駆動部123は、起動されるとセッション情報テーブル121を走査し、タイムアウト予定時刻を過ぎたセッション情報をセッション情報テーブル121から削除する。
【0079】
ブラウザ入力受付部131は、Webブラウザ11aからの入力を受け付ける。ブラウザ入力受付部131は、受け付けた内容をプロキシサーバ認証部132、通信状態保持部134、およびWebサーバ識別部135に渡す。
【0080】
プロキシサーバ認証部132は、Webブラウザ11aからの入力がプロキシサーバへの認証情報を含むか否かを確認する。入力内容に、既に認証済みを示すプロキシサーバセッションID情報が含まれていた場合は、プロキシサーバ認証部132は、セッション情報テーブル121を確認し、有効な接続か否かを確認する。有効な接続だった場合、プロキシサーバ認証部132は、タイムアウト時間を延長するために、”タイムアウト予定時刻”を更新することもできる。
【0081】
また、入力情報にユーザ名とパスワード情報(AUTHORIZEDヘッダ内に含まれる)が含まれていた場合は、プロキシサーバ認証部132は、ユーザ情報テーブル111からプロキシサーバ認証用のユーザ名、パスワードと比較する。一致する場合は、プロキシサーバ認証部132は、セッション情報テーブル121にセッション情報を登録する。一致しない場合は、プロキシサーバ認証部132は、プロキシサーバ認証要求部133に対してプロキシサーバ認証を依頼する。
【0082】
プロキシサーバ認証部132は、Webブラウザ11aからの入力内容にプロキシサーバへの認証情報(セッションID、ユーザ名、パスワード)を含まない場合は、何もしない(認証情報を含まないことは許可される)。
【0083】
プロキシサーバ認証要求部133は、プロキシサーバ認証部132からの依頼に応じて、HTTPのUNAUTHORIZEDレスポンスを生成する。そして、プロキシサーバ認証要求部133は、生成したUNAUTHORIZEDレスポンスをユーザのWebブラウザ11aに返す。ここで、UNAUTHORIZEDレスポンスとは、Webブラウザ11aに対して認証情報の送信を要求する通信パケットである。
【0084】
通信状態保持部134は、後で使用するために、ブラウザから受けたHTTP要求(METHOD,URL,ヘッダ、POSTデータ)を保存する。
Webサーバ識別部135は、Webブラウザからの入力内容がプロキシ通信要求の場合、そのプロキシ通信要求に基づいて通信先のURLを識別する。なお、Webブラウザ11aから指定されるURLは仮想URLである。Webサーバ識別部135は、要求されたURLが含まれる情報をシステムテーブル112aから検索する。検索時にはシステムテーブル112aの仮想URLの項目を対象にする。要求されたURLが仮想URLに一致するか、あるいは仮想URLの配下に含まれる場合、そのシステムエントリを用いる。Webサーバ識別部135は、要求されたURLを含む仮想URLに対応する実URLをWebサーバ要求生成部136に渡す。
【0085】
以後の処理でプロキシサーバ100から実際のWebサーバ31a,32aへ通信がなされる場合は、仮想URLが実URLに変換される。なお、仮想URLと実URLは同じでもかまわない。
【0086】
なお、仮想URL、実URLともに物理的には同じ計算機であってもよい。本実施の形態では、サーバ機能がURL毎に管理されるため、一つの計算機を複数のシステムとして扱うことが許される。
【0087】
Webサーバ要求生成部136は、HTTP要求を生成する。その際、通信状態保持部134のデータを利用する。また、セッション情報テーブル121を確認し、プロキシサーバ100で認証済みの場合は、プロキシサーバ100のユーザ名等の認証情報を、HTTPのクッキーとして、WebサーバへのHTTP要求に付加する。そして、Webサーバ要求生成部136は、クッキーが付加されたHTTP要求をWebサーバ通信部137に渡す。
【0088】
また、Webサーバ要求生成部136は、レスポンス分析部138による応答内容の分析の結果、Webサーバ31a,32aに対するフォーム形式のログインが完了していたとき、応答内容を受け取る。すると、Webサーバ要求生成部136は、認証応答で得られたクッキー情報やセッション情報テーブル121から生成したプロキシサーバのユーザ名等の情報をHTTPクッキーに含める。そして、Webサーバ要求生成部136は、通信状態保持部134に保存されているユーザのWebブラウザからの要求を組み合わせ、Webサーバ通信部137からWebサーバ31a,32aに送信する。
【0089】
Webサーバ通信部137は、生成されたHTTP要求をシステムテーブル112aの実URLから生成した通信先に送る。また、Webサーバ通信部137は、Webサーバからの通信応答をレスポンス分析部138に渡す。
【0090】
レスポンス分析部138は、システムテーブル112aの認証タイプを元に処理を切り替える。また、レスポンス分析部138は、認証タイプが「null」の場合は、そのシステムにはアクセス制限は存在しないので、応答内容をコンテンツ変換部141に渡す。
【0091】
レスポンス分析部138の認証の結果、ログイン処理が成功しており、かつシステムテーブル112aの認証タイプがフォームだった場合、レスポンス分析部138は応答内容をWebサーバ要求生成部136に渡す。認証タイプがフォーム以外の場合、レスポンス分析部138はコンテンツ変換部141に応答内容を渡す。
【0092】
さらに、レスポンス分析部138は、認証タイプが「ベーシック」の場合はサーバ応答のHTTPヘッダを調べ、UNAUTHORIZEDか否かを確認する。レスポンス分析部138は、UNAUTHORIZEDの場合は認証処理判定部139へ応答内容を渡す。それ以外の場合は、レスポンス分析部138はコンテンツ変換部141に応答内容を渡す。
【0093】
認証タイプが「フォーム」の場合、レスポンス分析部138はレスポンス分析・ログイン命令テーブル112bを参照する。認証識別情報の項を用い、応答ヘッダ中のレスポンスコード、特定の識別ヘッダ、固有のコンテンツ識別内容データを比較する。これらが一致した場合は、レスポンス分析部138は該当するWebサーバから認証上の問題でアクセス拒否されたとみなし、認証処理判定部139に応答内容を渡す。それ以外は、レスポンス分析部138はコンテンツ変換部141に応答内容を渡す。
【0094】
認証処理判定部139はセッション情報テーブル121を調べ、現在の通信要求者がプロキシサーバへの認証を経ているか確認する。セッション情報テーブル121に当該ユーザ名が存在しない場合はプロキシサーバ認証要求部133に処理を移す。存在する場合はログイン処理命令生成部140に移る。
【0095】
ログイン処理命令生成部140は、システムテーブル112aの現在のシステムID(要求されたURLに対応するシステムID)と一致するユーザ名(通信要求を出したユーザのユーザ名)/パスワードの組をユーザ情報テーブル111から得る。また、ログイン処理命令生成部140は、システムテーブル112aを調べ、認証タイプによって処理を切り替える。
【0096】
認証タイプが「ベーシック」だった場合、ログイン処理命令生成部140は、先にユーザ情報テーブル111から得た、特定のWebサーバ向けのユーザ名/パスワードをHTTPのベーシック認証に対応した送信用データを生成する。
【0097】
認証タイプが”フォーム”だった場合、ログイン処理命令生成部140はレスポンス分析・ログイン命令テーブル112bのログイン処理情報の項の情報とユーザ情報テーブル111から得た、特定のWebサーバ向けのユーザ名/パスワードを組み合わせ、HTTPのフォーム通信のデータを生成する。
【0098】
ログイン処理命令生成部140は、ログイン処理用に生成した送信データをWebサーバ通信部137より該当するURLに送信する。Webサーバからの応答は上記と同様レスポンス分析部138で分析される。
【0099】
コンテンツ変換部141は、応答内容をレスポンス分析部138から受け取ったとき、その応答がコンテンツ書き換えの条件を満たす場合、Webサーバ31a,32aからの応答の内容(HTML文書)を書き換える。書き換えの際には、現在の利用者の情報をセッション情報テーブル121とユーザ情報テーブル111を使って、ユーザ毎に異なるHTML変換を実施する。
【0100】
ブラウザ応答生成部142は、コンテンツ変換部141より得たWebサーバからの応答に、セッション情報テーブル121から得た情報を元に生成したプロキシサーバ認証情報を含んだHTTPクッキーを組み合わせ、リモートWebブラウザに送信する。
【0101】
以上のような構成のシステムにおける処理をフローチャートを参照して説明する。
図9は、代理認証処理の手順を示す第1のフローチャートである。これは、Webブラウザ11aからWebサーバ31aにアクセスする場合の例である。以下、図9に示す処理をステップ番号に沿って説明する。
【0102】
[ステップS11]Webブラウザ11aは、ユーザからの操作入力によるWebサーバ31aへのアクセス指示を受け付ける。たとえば、表示画面からWebサーバ31aのURLが関連付けられたアンカー表示の選択入力(マウスによるクリック等)を受け付ける。
【0103】
[ステップS12]Webブラウザ11aは、プロキシサーバ100に対して、Webサーバ31aへのアクセス要求(ブラウザ要求)を送信する。
[ステップS13]プロキシサーバ100では、ブラウザ入力受付部131がブラウザ要求を受信する。
【0104】
[ステップS14]プロキシサーバ100において、指定されたURLに基づき、アクセス対象のWebサーバ31aに対応した認証許否確認論理とログイン処理論理(認証手続き)とを取得する。認証許否確認論理は、システムテーブル112aの認証タイプと、レスポンス分析・ログイン命令テーブル112bにおける認証識別情報とによって特定される。ログイン処理論理は、システムテーブル112aの認証タイプと、レスポンス分析・ログイン命令テーブル112bのログイン処理情報とによって特定される。
【0105】
[ステップS15]プロキシサーバ100は、アクセス要求内のセッションを特定するクッキーの有無を確認する。そして、プロキシサーバ100は、クッキーが有る場合、該当するセッションがセッション情報テーブル121に登録されているか否かを判断する。該当するセッションが有る場合、処理がステップS16に進められる。該当するセッションが無い場合、処理がステップS17に進められる。
【0106】
[ステップS16]プロキシサーバ100は、セッション情報テーブル121内の該当するセッションの情報からユーザ名を取得する。その後、処理がステップS31(図10参照)に進められる。
【0107】
[ステップS17]プロキシサーバ100は、受信したアクセス要求にAuthorizedヘッダが含まれるか否かを判断する。Authorizedヘッダは、Webブラウザ11aがユーザ認証情報を送信するために付加する情報である。Webブラウザ11aは、プロキシ認証レスポンスを受け取ったときに、プロキシサーバ100へのユーザ認証情報(ユーザ名とパスワード)をAuthorizedヘッダに含めて、アクセス要求をプロキシサーバ100に送信するように設計されている。Authorizedヘッダが含まれる場合には、処理がステップS18に進められる。Authorizedヘッダが含まれない場合には、処理がステップS31(図10参照)に進められる。
【0108】
[ステップS18]プロキシサーバ100は、アクセス要求からAuthorizedヘッダからユーザ名/パスワード取得を取得する。
[ステップS19]プロキシサーバ100は、ユーザ情報テーブル111を参照し、ユーザ情報を取得する。具体的には、プロキシサーバ100は、Authorizedヘッダに含まれていたユーザ名を、ユーザ情報テーブル111のプロキシサーバ認証情報のユーザ名の欄から検索する。そして、プロキシサーバ100は、該当するユーザ名に対応付けられたパスワードを取得する。
【0109】
[ステップS20]プロキシサーバ100は、認証が成功したか否かを判断する。具体的には、プロキシサーバ100は、Authorizedヘッダに含まれていたユーザ認証情報と一致するプロキシサーバ認証情報がユーザ情報テーブル111に登録されていれば、認証成功と判断する。該当するユーザ名がユーザ情報テーブル111に登録されていないか、該当するユーザ名のパスワードが異なっている場合には、認証失敗と判断する。認証が成功した場合、処理がステップS22に進められる。認証失敗の場合、処理がステップS21に進められる。
【0110】
[ステップS21]認証に失敗した場合、プロキシサーバ100は、プロキシ認証レスポンスを生成し、Webブラウザ11aに返信する。プロキシ認証レスポンスとは、プロキシサーバへのユーザ認証手続きを要求するパケットである。その後、処理が終了し、Webブラウザ11aからの要求を待つ。
【0111】
[ステップS22]認証に成功した場合、プロキシサーバ100は、セッションを生成する。生成したセッションには、ユニークなセッションIDが付与される。
【0112】
[ステップS23]プロキシサーバ100は、生成したセッションにユーザ情報を登録する。具体的には、プロキシサーバ100は、生成したセッションに付与されたセッションIDに対し、ユーザ名、ログイン時刻、およびタイムアウト予定時刻を関連付けて、セッション情報テーブル121に登録する。ログイン時刻は、セッションの生成時刻である。タイムアウト予定時刻は、たとえば、セッション生成から所定の時間後の時刻を設定する。
【0113】
図10は、代理認証処理の手順を示す第2のフローチャートである。以下、図10に示す処理をステップ番号に沿って説明する。
[ステップS31]プロキシサーバ100は、ブラウザからのアクセス要求を受け取り、内部に保存する。
【0114】
[ステップS32]プロキシサーバ100は、Webサーバ31aのURL(実URL)を取得し、Webサーバへのアクセス要求を生成する。生成されたアクセス要求は、プロキシサーバ100によってWebサーバ31aに送信される。
【0115】
[ステップS33]プロキシサーバ100は、Webサーバ31aからの応答を受信する。
[ステップS34]プロキシサーバ100は、応答内容を解析し、Webサーバ31aによる処理結果を判定する。具体的には、プロキシサーバ100は、システムテーブル112aを参照し、Webサーバ31aの認証タイプを判断する。たとえば、プロキシサーバ100は、認証タイプがベーシックであり、Webサーバ31aからの応答のHTTPヘッダがUNAUTHORIZEDであれば、ベーシック認証の手続きが必要であると判断する。また、プロキシサーバ100は、認証タイプがフォームの場合、レスポンス分析・ログイン命令テーブル112bを参照し、応答内容が該当するシステムIDに対応する認証識別情報に合致する場合には、フォーム認証の手続きが必要であるものと判断する。
【0116】
[ステップS35]プロキシサーバ100は、アクセスが許可されたか否かを判断する。すなわち、ベーシックやフォームの認証手続きを必要と判断するための条件のいずれにも該当しなければ、アクセスが許可されたものと判断される。アクセスが許可された場合、処理がステップS61(図12参照)に進められる。アクセスが許否された場合、処理がステップS41(図11参照)に進められる。
【0117】
図11は、代理認証処理の手順を示す第3のフローチャートである。以下、図11に示す処理をステップ番号に沿って説明する。
[ステップS41]プロキシサーバ100は、Webサーバ31aへのアクセスが拒否された場合、セッション情報テーブル121を参照し、Webブラウザ11aを介してアクセス要求を出したユーザのユーザ名に対応するセッションの有無を判断する。セッションがない場合、処理がステップS42に進められる。セッションがある場合、処理がステップS44に進められる。
【0118】
[ステップS42]セッションがない場合、プロキシサーバ認証要求部133が、Webサーバ31aから受信したクッキーをWebブラウザ11aのプロキシ認証レスポンス(応答内容)に設定する。
【0119】
[ステップS43]プロキシサーバ100は、プロキシ認証レスポンスを生成し、Webブラウザ11aに返信する。その後、処理が終了する。
[ステップS44]セッションがある場合、プロキシサーバ100へのユーザ認証が完了しているため、プロキシサーバ100は、セッション情報テーブル121からユーザ情報(ユーザ名等)を取得する。
【0120】
[ステップS45]プロキシサーバ100は、ユーザ情報テーブル111からWebサーバ31aにログインするためのユーザ認証情報を取得する。具体的には、プロキシサーバ100は、ステップS44で取得したユーザ名に対応付けて設定されているWebブラウザ31a(システムIDで判別する)のユーザ名とパスワードとを取得する。
【0121】
[ステップS46]プロキシサーバ100は、ログインリクエストを生成する。
[ステップS47]プロキシサーバ100は、システムテーブル112aを参照し、ベーシック認証か否かを判断する。ベーシック認証の場合、処理がステップS48に進められる。ベーシック認証ではない場合、処理がステップS49に進められる。
【0122】
[ステップS48]プロキシサーバ100は、保存してあるブラウザ要求を取り出し、ログインリクエストに組み合わせる。
[ステップS49]プロキシサーバ100は、Webサーバ31aへ要求(ログインリクエスト)を送信する。
【0123】
[ステップS50]プロキシサーバ100は、Webサーバ31aから応答された処理結果を受信する。
[ステップS51]プロキシサーバ100は、処理結果の内容を解析し、ログインに成功したか否かを判断する。ログインに成功した場合には、処理がステップS54に進められる。ログインに失敗した場合には、処理がステップS52に進められる。
【0124】
[ステップS52]ログインに失敗した場合、プロキシサーバ100は、エラーメッセージを生成する。
[ステップS53]プロキシサーバ100は、エラーメッセージを含む例外を発生させ、処理を終了する。
【0125】
[ステップS54]プロキシサーバ100は、成功したログイン処理がベーシック認証か否かを判断する。ベーシック認証の場合、処理がステップS31(図10参照)に進められる。ベーシック認証では無い場合、処理がステップS55に進められる。
【0126】
[ステップS55]プロキシサーバ100は、通信状態保持部134から保存済のブラウザからの要求を取り出す。その後、処理がステップS31(図10参照)に進められる。
【0127】
次に、ステップS35においてアクセスが許可されたと判断されたときの処理について説明する。
図12は、代理認証処理の手順を示す第4のフローチャートである。以下、図12に示す処理をステップ番号に沿って説明する。
【0128】
[ステップS61]プロキシサーバ100は、Webサーバ31aからの応答が書き換え対象か否かを、Webサーバ31aのURLから判断する。書き換え対象の場合、処理がステップS62に進められる。書き換え対処ではない場合、処理がステップS63に進められる。
【0129】
[ステップS62]プロキシサーバ100は、コンテンツの書き換えを行う。書き換え方法は、たとえば、URLに対応付けて予め定義されている。
[ステップS63]プロキシサーバ100は、書き換えたコンテンツをブラウザレスポンスとして設定する。
【0130】
[ステップS64]プロキシサーバ100は、Webサーバ31aからのレスポンスヘッダをブラウザレスポンスに設定する。
[ステップS65]プロキシサーバ100は、送信相手のWebブラウザに対応するセッションがあるか否かを判断する。セッションがあれば、処理がステップS66に進められる。セッションがなければ、処理がステップS67に進められる。
【0131】
[ステップS66]プロキシサーバ100は、プロキシのセッションIDを応答クッキーに埋め込む。
[ステップS67]プロキシサーバ100は、Webブラウザ11aに対して応答を送信する。
【0132】
[ステップS68]Webブラウザ11aは、アクセスの結果を表示する。
以上のようにして、プロキシサーバ100において代理認証が行われる。
次に、Webブラウザ11aによりプロキシサーバ100にログインし、Webサーバ31a等にアクセスする際の流れを具体的に説明する。以下の例では、Webサーバでベーシック認証を行う場合と、フォーム認証を行う場合とについて説明する。また、Webサーバ31aの名称を「WebサーバA」、Webサーバ32aの名称を「WebサーバB」とする。
【0133】
図13は、Webサーバでベーシック認証を行う場合の処理手順を示す第1のシーケンス図である。図13は、プロキシサーバ100にログインしていないWebブラウザ11aからの要求に対して、プロキシ認証レスポンスを返すまでの処理である。以下、図13に示す処理をステップ番号に沿って説明する。
【0134】
[ステップS71]Webブラウザ11aは、プロキシサーバ100に対する最初の要求を送信する。この例では、GET要求「GET(URL_X)」を送信している。
【0135】
[ステップS72]プロキシサーバ100では、Authorization(Authorizedヘッダ)の確認が行われる。最初の要求では、Authorizedヘッダは含まれていない。Authorizedヘッダが無い場合、認証不要のリクエストであると仮定して処理が進められる。
【0136】
[ステップS73]プロキシサーバ100は、Webサーバ31aに要求を送信する。この例では、GET要求「GET(URL_X)」を送信している。
[ステップS74]Webサーバ31aは、プロキシサーバに対して応答「401(Unauthorized,WWW−Authenticate)」を返す。この例では、レスポンスコードが401の応答が返されている。この応答は、ベーシック認証が未完了であるためにアクセスを拒否したことを示している。
【0137】
[ステップS75]プロキシサーバ100は、レスポンスを解析する。
[ステップS76]プロキシサーバ100は、セッションの有無を確認する(ここで、プロキシサーバ100とWebブラウザ11aとの間のセッションをPPSセッションとする)。この段階では、Webブラウザ11aからプロキシサーバ100にログインされていないため、セッションも存在していない。
【0138】
この例では、レスポンスコードが401であり(ログインを要求するレスポンス)、かつPPSセッションが存在しない場合、プロキシサーバ100へログイン処理が開始される。
【0139】
[ステップS77]プロキシサーバ100は、プロキシ認証レスポンス「Unauthorized,WWW−Authenticate」をWebブラウザ11aに送信する。
図14は、Webサーバでベーシック認証を行う場合の処理手順を示す第2のシーケンス図である。図14は、Webブラウザ11aからプロキシサーバ100にログインし、Webページを取得するまでの処理である。以下、図14に示す処理をステップ番号に沿って説明する。
【0140】
[ステップS81]Webブラウザ11aは、ユーザからのユーザ名とパスワードとの入力を受け付ける。
[ステップS82]Webブラウザ11aは、Authorizedヘッダにユーザ認証情報を含めた要求「GET(URL_X, Authorization/PPS)」を、プロキシサーバ100に送信する。
【0141】
[ステップS83]プロキシサーバ100では、Authorization(Authorizedヘッダ)の確認が行われる。このとき、Authorizedヘッダありと判断される。
[ステップS84]プロキシサーバ100は、セッション(PPSセッション)の有無を確認する。この時点では、セッションは存在しない。Authorizedヘッダがあってもセッションが存在しない場合、未認証であると判断される。
【0142】
なお、ステップS83とステップS84との処理は、順番が逆であってもよい。図9に示すフローチャートでは、セッションの確認(ステップS15)の後、Authorizedヘッダを確認(ステップS16)している。
【0143】
[ステップS85]プロキシサーバ100は、ユーザ名とパスワードとの組を照合(マッチング)する。照合が成功した場合、以下の処理が行われる。
[ステップS86]プロキシサーバ100は、セッションを生成する。
【0144】
[ステップS87]プロキシサーバ100は、Webサーバ31a(SubSystem)用のユーザ認証情報(認証キー)を取得する。
[ステップS88]プロキシサーバ100は、Webサーバ31a用のAuthorizedヘッダを生成する。
【0145】
[ステップS89]プロキシサーバ100は、Webブラウザ11aから送られた要求からクッキー(PPSCookie)やプロキシサーバ100へ認証するためのユーザ認証情報を取り除き、Webサーバ31a用のユーザ認証情報を追加した要求「GET(URL_X,Authorization/Sub)」を、Webサーバ31aに送信する。
【0146】
[ステップS90]Webサーバ31aは、ユーザ認証情報に基づいてユーザ認証を行う。Webサーバ31aは、認証に成功すると、指定されたWebページ(URL_Xのページ)をプロキシサーバ100に送信する。なお、この送信のパケットのレスポンスコードは「200」である。
【0147】
[ステップS91]プロキシサーバ100は、Webサーバ31aからの応答(レスポンス)を解析する。
[ステップS92]プロキシサーバ100は、Webサーバ31aから送られたWebページにプロキシサーバ100用のクッキー(PPSSCookie)を追加してWebブラウザ11aに送信する。このクッキーでは、プロキシサーバ100のドメイン名と後方一致するURLへのアクセスの際に有効となるように設定されている。
【0148】
[ステップS93]Webブラウザ11aは、受け取ったWebページを表示すると共に、プロキシサーバ100から送られたクッキーを保存する。
以上のようにして、Webブラウザ11aを使用するユーザは、プロキシサーバ100へログインするだけで、Webサーバ31aへのアクセスが可能となる。
【0149】
次に、引き続き同じWebサーバ31aにアクセスする際の処理手順を説明する。
図15は、ベーシック認証を完了したWebサーバへのアクセス手順を示すシーケンス図である。以下、図15に示す処理をステップ番号に沿って説明する。
【0150】
[ステップS101]Webブラウザ11aは、ユーザの操作入力に応答してWebページ(URL_Y)の取得要求「GET(URL_Y,PPSCookie,Authorization/PPS)」をプロキシサーバ100に送信する。この要求には、ステップS92(図14参照)で保存したクッキーやプロキシサーバ100へログインするためのユーザ認証情報が含まれる。
【0151】
[ステップS102]プロキシサーバ100では、Authorization(Authorizedヘッダ)の確認が行われる。このとき、Authorizedヘッダありと判断される。
[ステップS103]プロキシサーバ100は、セッション(PPSセッション)の有無を確認する。この例ではすでにセッションが存在するため、認証済と判断され、以下の処理が行われる。
【0152】
[ステップS104]プロキシサーバ100は、Webサーバ31a(SubSystem)用のユーザ認証情報(認証キー)を取得する。
[ステップS105]プロキシサーバ100は、Webサーバ31a用のAuthorizedヘッダを生成する。
【0153】
[ステップS106]プロキシサーバ100は、Webブラウザ11aから送られた要求からクッキー(PPSCookie)やプロキシサーバ100へ認証するためのユーザ認証情報を取り除き、Webサーバ31a用のユーザ認証情報を追加した要求「GET(URL_Y,Authorization/a:Sub)」を生成する。そして、生成した要求をWebサーバ31aに送信する。
【0154】
[ステップS107]Webサーバ31aは、指定されたWebページ(URL_Yのページ)をプロキシサーバ100に送信する。
[ステップS108]プロキシサーバ100は、Webサーバ31aからの応答(レスポンス)を解析する。アクセスが拒否されていないので、以下の処理に進める。
【0155】
[ステップS109]プロキシサーバ100は、Webサーバ31aから送られたWebページにプロキシサーバ100用のクッキー(PPSSCookie)を追加してWebブラウザ11aに送信する。
【0156】
次に、プロキシサーバ100へのログイン完了後に、新たなWebサーバにアクセスする場合の例を説明する
図16は、ベーシック認証を必要とする新たなWebサーバへのアクセス手順を示すシーケンス図である。以下、図16に示す処理をステップ番号に沿って説明する。
【0157】
[ステップS111]Webブラウザ11aは、ユーザの操作入力に応答してWebページ(URL_x)の取得要求「GET(URL_x,PPSCookie)」をプロキシサーバ100に送信する。この要求には、ステップS92(図14参照)で保存したクッキーが含まれる。なお、以前と異なるWebサーバ32aへの要求なので、Authorizedヘッダは送られない。また、送信アドレスが仮想アドレスであるため、プロキシサーバ100用のクッキーの適用範囲内であると判断され、そのクッキーが要求に含められている。
【0158】
[ステップS112]プロキシサーバ100では、Authorization(Authorizedヘッダ)の確認が行われる。このとき、Authorizedヘッダなしと判断され、認証不要な要求と仮定して以降の処理が進められる。
【0159】
[ステップS113]プロキシサーバ100は、Webサーバ32aに対して、要求を転送する。この要求では、プロキシサーバ100用のクッキーは取り除かれている。
【0160】
[ステップS114]Webサーバ32aは、ユーザ認証を要求する応答をプロキシサーバ100に返す。この応答のレスポンスコードは「401」である。
[ステップS115]プロキシサーバ100は、応答を解析し、ユーザ認証が要求されていることを認識する。具体的には、レスポンスコードが「401」であることを検出し、ベーシック認証が要求されていることを認識する。
【0161】
[ステップS116]プロキシサーバ100は、セッションの有無を確認する。この例では、既にセッションが存在するため、Webブラウザ11aへのユーザ認証用のダイアログ等の表示を行わず、以下のような自動認証処理を行う。
【0162】
[ステップS117]プロキシサーバ100は、Webサーバ32a用のユーザ認証情報を取得する。
[ステップS118]プロキシサーバ100は、Webサーバ32a用のAuthorizedヘッダを生成する。
【0163】
[ステップS119]プロキシサーバ100は、Webブラウザ11aから送られた要求からクッキー(PPSCookie)やプロキシサーバ100へ認証するためのユーザ認証情報を取り除き、Webサーバ32a用のユーザ認証情報を追加した要求「GET(URL_x,Authorization/b:SUB)」を、Webサーバ32aに送信する。
【0164】
[ステップS120]Webサーバ32aは、ユーザ認証情報に基づいてユーザ認証を行う。Webサーバは、認証に成功すると、指定されたWebページ(URL_xのページ)をプロキシサーバ100に送信する。
【0165】
[ステップS121]プロキシサーバ100は、Webサーバからの応答(レスポンス)を解析する。アクセスが拒否されていないので、以下の処理に進める。
【0166】
[ステップS122]プロキシサーバ100は、Webサーバ32aから送られたWebページをWebブラウザ11aに送信する。
このように、既にプロキシサーバ100にログインしていれば、新たなWebサーバ32aにアクセスする場合であってもユーザ認証情報の入力は不要となる。
【0167】
次に、フォーム認証を行う際の手順を説明する。
図17は、Webサーバでフォーム認証を行う場合の処理手順を示す第1のシーケンス図である。図17は、プロキシサーバ100にログインしていないWebブラウザ11aからの要求に対して、プロキシ認証レスポンスを返すまでの処理である。以下、図17に示す処理をステップ番号に沿って説明する。
【0168】
[ステップS131]Webブラウザ11aは、プロキシサーバ100に対する最初の要求を送信する。この例では、GET要求「GET(URL_X)」を送信している。
【0169】
[ステップS132]プロキシサーバ100では、Authorization(Authorizedヘッダ)の確認が行われる。最初の要求では、Authorizedヘッダは含まれていない。Authorizedヘッダが無い場合、認証不要のリクエストであると仮定して処理が進められる。
【0170】
[ステップS133]プロキシサーバ100は、Webサーバ31aにする要求を送信する。この例では、GET要求「GET(URL_X)」を送信している。
[ステップS134]Webサーバ31aは、プロキシサーバに対して応答を返す。この例では、要求拒否の応答(NGレスポンス(SSSCookie))が返されている。要求拒否の応答には、クッキー(SSSCookie)が含まれる。この応答は、フォーム認証が未完了であるためにアクセスを拒否したことを示している。
【0171】
[ステップS135]プロキシサーバ100は、レスポンスを解析する。
[ステップS136]プロキシサーバ100は、セッションの有無を確認する(ここで、プロキシサーバ100とWebブラウザ11aとの間のセッションをPPSセッションとする)。この段階では、Webブラウザ11aからプロキシサーバ100にログインされていないため、セッションも存在していない。
【0172】
この例では、要求拒否の応答が返され、かつPPSセッションが存在しない場合、プロキシサーバ100へログイン処理が開始される。
[ステップS137]プロキシサーバ100は、プロキシ認証レスポンス「Unauthorized,WWW−Authenticate」をWebブラウザ11aに送信する。
【0173】
図18は、Webサーバでフォーム認証を行う場合の処理手順を示す第2のシーケンス図である。図18は、Webブラウザ11aからプロキシサーバ100にログインし、Webページを取得するまでの処理である。以下、図18に示す処理をステップ番号に沿って説明する。
【0174】
[ステップS141]Webブラウザ11aは、ユーザからのユーザ名とパスワードとの入力を受け付ける。
[ステップS142]Webブラウザ11aは、Authorizedヘッダにユーザ認証情報を含めた要求「GET(URL_X, Authorization/PPS)」を、プロキシサーバ100に送信する。
【0175】
[ステップS143]プロキシサーバ100では、Authorization(Authorizedヘッダ)の確認が行われる。このとき、Authorizedヘッダありと判断される。
[ステップS144]プロキシサーバ100は、セッション(PPSセッション)の有無を確認する。この時点では、セッションは存在しない。Authorizedヘッダがあってもセッションが存在しない場合、未認証であると判断される。
【0176】
なお、ステップS143とステップS144との処理は、順番が逆であってもよい。図9に示すフローチャートでは、セッションの確認(ステップS15)の後、Authorizedヘッダを確認(ステップS16)している。
【0177】
[ステップS145]プロキシサーバ100は、ユーザ名とパスワードとの組を照合(マッチング)する。照合が成功した場合、以下の処理が行われる。
[ステップS146]プロキシサーバ100は、セッションを生成する。
【0178】
[ステップS147]プロキシサーバ100は、Webサーバ31a(SubSystem)用のユーザ認証情報(認証キー)を取得する。
[ステップS148]プロキシサーバ100は、Webサーバ31aに対してログイン要求「POST(URL_Login, User,Pass, SSSCookie)」を送信する。このログイン要求には、ユーザ認証情報(User,Pass)やクッキー(SSSCookie)が含まれる。
【0179】
[ステップS149]Webサーバ31aは、ユーザ認証情報に基づいてユーザ認証を行う。Webサーバ31aは、認証に成功すると、認証後に送信すべきものとして予め設定されているWebページをプロキシサーバ100に送信する。なお、この送信のパケットのレスポンスコードは「200」である。
【0180】
[ステップS150]プロキシサーバ100は、Webサーバ31aからの応答(レスポンス)を解析する。これにより、Webサーバ31aに対するログインが成功したことが認識される。
【0181】
「ステップS151]プロキシサーバ100は、最初にWebブラウザ11aから送られた要求にWebサーバ31a用のクッキー(SSSCookie)を追加して新たな要求「GET(URL_X, SSSCookie)」を生成し、Webサーバ31aに対して送信する。
【0182】
[ステップS152]Webサーバ31aは、クッキー(SSSCookie)により、既に認証しているユーザからのアクセスであると認識し、要求されたWebページをプロキシサーバ100に送信する。
【0183】
[ステップS153]プロキシサーバ100は、Webサーバ31aからの応答(レスポンス)を解析する。
[ステップS154]プロキシサーバ100は、Webサーバ31aから送られたWebページにWebサーバ31a用のクッキー(SSSCookie)とプロキシサーバ100用のクッキー(PPSSCookie)とを追加してWebブラウザ11aに送信する。プロキシサーバ100用のクッキーでは、プロキシサーバ100のドメイン名と後方一致するURLへのアクセスの際に有効となるように設定されている。
【0184】
[ステップS155]Webブラウザ11aは、受け取ったWebページを表示すると共に、プロキシサーバ100から送られたクッキーを保存する。
以上のようにして、Webブラウザ11aを使用するユーザは、プロキシサーバ100へログインするだけで、Webサーバ31aへのアクセスが可能となる。
【0185】
次に、引き続き同じWebサーバ31aにアクセスする際の処理手順を説明する。
図19は、フォーム認証を完了したWebサーバへのアクセス手順を示すシーケンス図である。以下、図19に示す処理をステップ番号に沿って説明する。
【0186】
[ステップS161]Webブラウザ11aは、ユーザの操作入力に応答してWebページ(URL_Y)の取得要求「GET(URL_Y,PPSCookie,Authorization/PPS)」をプロキシサーバ100に送信する。この要求には、ステップS155(図18参照)で保存したクッキーやプロキシサーバ100へログインするためのユーザ認証情報が含まれる。
【0187】
[ステップS162]プロキシサーバ100では、Authorization(Authorizedヘッダ)の確認が行われる。このとき、Authorizedヘッダありと判断される。
[ステップS163]プロキシサーバ100は、セッション(PPSセッション)の有無を確認する。この例ではすでにセッションが存在するため、認証済と判断され、以下の処理が行われる。
【0188】
[ステップS164]プロキシサーバ100は、Webブラウザ11aから送られた要求にWebサーバ31a用のユーザ認証情報を追加した要求「GET(URL_Y,SSSCookie)」を生成し、Webサーバ31aに送信する。
【0189】
[ステップS165]Webサーバ31aは、指定されたWebページ(URL_Yのページ)をプロキシサーバ100に送信する。
[ステップS166]プロキシサーバ100は、Webサーバ31aからの応答(レスポンス)を解析する。アクセスが拒否されていないので、以下の処理に進める。
【0190】
[ステップS167]プロキシサーバ100は、Webサーバ31aから送られたWebページをWebブラウザ11aに送信する。
次に、プロキシサーバ100へのログイン完了後に、新たなWebサーバにアクセスする場合の例を説明する。
【0191】
図20は、フォーム認証を必要とする新たなWebサーバへのアクセス手順を示すシーケンス図である。以下、図20に示す処理をステップ番号に沿って説明する。
【0192】
[ステップS171]Webブラウザ11aは、ユーザの操作入力に応答してWebページ(URL_x)の取得要求「GET(URL_x,PPSSCookie)」をプロキシサーバ100に送信する。この要求には、ステップS155(図18参照)で保存したクッキーが含まれる。なお、以前と異なるWebサーバ32aへの要求なので、Authorizedヘッダは送られない。また、送信アドレスが仮想アドレスであるため、プロキシサーバ100用のクッキーの適用範囲内であると判断され、そのクッキーが要求に含められている。
【0193】
[ステップS172]プロキシサーバ100では、Authorization(Authorizedヘッダ)の確認が行われる。このとき、Authorizedヘッダなしと判断され、認証不要な要求と仮定して以降の処理が進められる。
【0194】
[ステップS173]プロキシサーバ100は、Webサーバ32aに対して、要求を転送する。この要求では、プロキシサーバ100用のクッキーは取り除かれている。
【0195】
[ステップS174]Webサーバ32aは、ユーザ認証を要求する応答をプロキシサーバ100に返す。この例では、要求拒否の応答(NGレスポンス(SSSCookie))が返されている。要求拒否の応答には、クッキー(SSSCookie)が含まれる。この応答は、フォーム認証が未完了であるためにアクセスを拒否したことを示している。
【0196】
[ステップS175]プロキシサーバ100は、応答を解析し、ユーザ認証が要求されていることを認識する。
[ステップS176]プロキシサーバ100は、セッションの有無を確認する。この例では、既にセッションが存在するため、Webブラウザ11aへのユーザ認証用のダイアログ等の表示を行わず、以下のような自動認証処理を行う。
【0197】
[ステップS177]プロキシサーバ100は、Webサーバ32a(SubSystem)用のユーザ認証情報(認証キー)を取得する。
[ステップS178]プロキシサーバ100は、Webサーバ32aに対してログイン要求「POST(URL_Login,SSSCookie)」を送信する。このログイン要求には、クッキー(SSSCookie)が含まれる。
【0198】
[ステップS179]Webサーバ32aは、ユーザ認証情報に基づいてユーザ認証を行う。Webサーバ32aは、認証に成功すると、認証後に送信すべきものとして予め設定されているWebページをプロキシサーバ100に送信する。なお、この送信のパケットのレスポンスコードは「200」である。
【0199】
[ステップS180]プロキシサーバ100は、Webサーバ32aからの応答(レスポンス)を解析する。これにより、Webサーバ32aに対するログインが成功したことが認識される。
【0200】
[ステップS181]プロキシサーバ100は、最初にWebブラウザ11aから送られた要求にWebサーバ32a用のクッキー(SSSCookie)を追加して新たな要求「GET(URL_x,SSSCookie)」を生成し、Webサーバ32aに対して送信する。
【0201】
[ステップS182]Webサーバ32aは、クッキー(SSSCookie)により、既に認証しているユーザからのアクセスであると認識し、要求されたWebページをプロキシサーバ100に送信する。
【0202】
[ステップS183]プロキシサーバ100は、Webサーバ32aからの応答(レスポンス)を解析する。
[ステップS184]プロキシサーバ100は、Webサーバ32aから送られたWebページにWebサーバ32a用のクッキー(SSSCookie)を追加してWebブラウザ11aに送信する。
【0203】
[ステップS185]Webブラウザ11aは、受け取ったWebページを表示すると共に、プロキシサーバ100から送られたクッキーを保存する。
以上のように、ベーシック認証、フォーム認証等の認証方式に合わせて、代理認証を行うことができる。しかも、認証手順は予め定義されており、各Webサーバに対するユーザ毎のユーザ認証情報を保持しておくだけでよい。
【0204】
なお、ベーシック認証の認証手順とフォーム認証の認証手順とは、上記の手順で表された相違点以外に、送信データの生成方法も異なる。そこで、以下に、ログイン処理命令生成部140による認証方式毎の送信データ生成方法について説明する。
【0205】
図21は、ベーシック認証時の送信データ生成手順を示すフローチャートである。以下、図21に示す処理をステップ番号に沿って説明する。
[ステップS201]ログイン処理命令生成部140は、ユーザ名とパスワードとの文字列の間に‘:’をいれて、それぞれを連結する。
【0206】
[ステップS202]ログイン処理命令生成部140は、連結した文字列を所定のアルゴリズムでエンコードする。たとえば、Base64と呼ばれるアルゴリズムでエンコードする。
【0207】
[ステップS203]ログイン処理命令生成部140は、エンコードされた認証文字列の前に“Basic”という文字列を挿入する。
[ステップS204]ログイン処理命令生成部140は、生成した文字列をヘッダ名「AUTHORIZATION」と連結し、認証ヘッダを生成する。
【0208】
[ステップS205]ログイン処理命令生成部140は、通信状態保持部134からURL、ヘッダ、ボディ情報を引き出す。
[ステップS206]ログイン処理命令生成部140は、ヘッダ部に認証ヘッダを挿入する。
【0209】
[ステップS207]ログイン処理命令生成部140は、Webサーバにヘッダを送信する。
[ステップS208]ログイン処理命令生成部140は、Webサーバにボディ情報を送信する。
【0210】
図22は、フォーム認証時の送信データ生成手順を示すフローチャートである。以下、図22に示す処理をステップ番号に沿って説明する。
[ステップS211]ログイン処理命令生成部140は、ユーザフォーム名とユーザ名とをフォームデータ生成情報保持テーブル140aに登録する。
【0211】
ここで、フォームデータ生成情報保持テーブル140aは、ログイン処理命令生成部140が保持するデータテーブルであり、フォーム名(ユーザフォーム名やパスワードフォーム名)と登録情報(ユーザ名やパスワード文字列)との組を登録することができる。
【0212】
[ステップS212]ログイン処理命令生成部140は、パスワードフォーム名とパスワード文字列との組を、フォームデータ生成情報保持テーブル140aに登録する。
【0213】
[ステップS213]ログイン処理命令生成部140は、ステップS211とステップS212とで登録した各々の文字列を、URLエンコードルールに従って変換する。
【0214】
[ステップS214]ログイン処理命令生成部140は、変換した文字列の間に‘&’を挿入して連結する。
[ステップS215]ログイン処理命令生成部140は、通信状態保持部134からクッキー情報を取得する。
【0215】
[ステップS216]ログイン処理命令生成部140は、Webサーバに“Content−Type:application/x−www−form−urlencoded”ヘッダを送信する。
[ステップS217]ログイン処理命令生成部140は、Webサーバにクッキーヘッダを送信する。
【0216】
[ステップS218]ログイン処理命令生成部140は、Webサーバに認証フォームデータを送信する。
以上説明したように、プロキシサーバ100が代理認証を行うことで、ユーザは、Webサーバ毎にログイン手続きを行う必要が無くなり、利便性が向上する。
【0217】
なお、上記の例では、プロキシサーバが代理認証を行っているが、この機能をクライアントに実装することもできる。
図23は、代理認証機能を実装したクライアントの概念図である。図23に示すように、クライアント200にはブラウザプログラム210とプロキシプログラム220とが実装される。ブラウザプログラム210は、Webブラウザとしてクライアント200を機能させるためのプログラムである。また、プロキシプログラム220は、プロキシサーバ100の機能をクライアント200で実現するためのプログラムである。プロキシプログラム220は、ユーザ情報テーブル221を有している。ユーザ情報テーブル221、各サーバ31,32,33に実装されたWebサーバにログインするためのユーザ認証情報(ユーザ名とパスワード)が登録されている。
【0218】
なお、プロキシプログラム220は、クライアント200のユーザの代理認証を行えばよい。そのため、クライアント200のOSへ正しくログインしたユーザに対しては、プロキシプログラム220においてユーザ認証を行わなくてもよい。
【0219】
以上説明したように、本発明の実施の形態によれば、複数の認証を要するWebシステムを利用する際に、ユーザがログインを行う数が1回ですむ。
しかも、従来のシングルサインオンシステムとは異なり、認証を要しないWebページを使用する場合には、ユーザのログイン操作は0回になる。すなわち、従来のシングルサインオン技術では、予め代理認証システムにログインすることが前提となり、かならず1回のユーザ認証処理が発生する。ところが、本実施の形態によれば、Webサーバでのユーザ認証の要否をプロキシサーバが判断し、ユーザ認証を要求しないWebサーバへのアクセスで有ればプロキシサーバへのログインを要求しない。その結果、ユーザの操作性が向上する。
【0220】
また、本実施の形態では、WebサーバのURL毎にユーザ認証情報を管理しているため、同一サーバコンピュータ内に複数のWebサーバが実装されていたときでも、Webサーバ毎の代理認証が可能である。
【0221】
また、従来の代理認証技術には、認証通信を完全に記録しそのまま再現するタイプのものがある。この技術では、冗長な記憶領域を必要とした。一方、本実施の形態の方式では認証用の通信データをプログラムの計算処理によって生成するため、ユーザが増加した場合も記憶容量の増加はごく僅かである。
【0222】
また、本実施の形態ではWebサーバ側でセッションのタイムアウト発生によりそのセッションが停止しても、次回の該当するWebサーバへのアクセスの際に自動的にログインされセッションが再度確立することができる。そのため、Webサーバでのセッションのタイムアウトをユーザが意識せずにすむ。
【0223】
また、従来のシングルサインオンでは、シングルサインオンを実現するためのサーバが必要であり個人での運用・利用は困難だった。本実施の形態では、プロキシサーバの機能を用意にクライアントに実装することができ(図23参照)、クライアント上でのシングルサインオンが実現可能となる。
【0224】
なお、既存のWebブラウザにはユーザの入力したユーザ名やパスワードを記憶し、パスワード入力の手間を削減する機構が存在する。しかし、この機能は個々のブラウザ毎に異なり、複数のブラウザを利用するユーザはユーザ名やパスワードのデータを共用できない。図23に示すような単一ユーザ形態であれば、複数のブラウザで統一されたシングルサインオンを実現できる。
【0225】
ところで、上記の例では、Webサーバにアクセスする場合の例を用いて説明しているが、ネットワーク経由のユーザ認証を要求する他のアプリケーションに対しても同様の処理で代理認証を行うことができる。
【0226】
また、上記の例では、Webサーバがベーシック認証またはフォーム認証を要求する場合の例を示したが、他の認証方式に適用することもできる。その場合、適用すべき認証方式の判別基準をレスポンス分析・ログイン命令テーブル112bに設定するとともに、該当する認証方式への認証手順を定義しておく。ログイン処理命令生成部140は、定義された手順で代理認証の処理を実行する。
【0227】
なお、上記のプロキシサーバ100や代理認証装置1の処理機能は、サーバコンピュータに所定の代理認証プログラムを実行させることにより実現することができる。その場合、プロキシサーバ100等が有すべき機能の処理内容を記述した代理認証プログラムが提供される。サーバコンピュータは、クライアントコンピュータからの要求に応答して、代理認証プログラムを実行する。これにより、上記処理機能がサーバコンピュータ上で実現され、処理結果がクライアントコンピュータに提供される。
【0228】
処理内容を記述した代理認証プログラムは、サーバコンピュータで読み取り可能な記録媒体に記録しておくことができる。サーバコンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto−Optical disc)などがある。
【0229】
代理認証プログラムを流通させる場合には、たとえば、その代理認証プログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。
代理認証プログラムを実行するサーバコンピュータは、たとえば、可搬型記録媒体に記録された代理認証プログラムを、自己の記憶装置に格納する。そして、サーバコンピュータは、自己の記憶装置から代理認証プログラムを読み取り、代理認証プログラムに従った処理を実行する。なお、サーバコンピュータは、可搬型記録媒体から直接代理認証プログラムを読み取り、その代理認証プログラムに従った処理を実行することもできる。
【0230】
(付記1) 他の装置への認証手続きを代理する代理認証プログラムにおいて、
コンピュータに、
クライアント機能からの要求に応じて、ネットワークを介して接続されるサーバ機能に対してアクセスし、
ユーザ認証が未完了であることを示す応答を識別するための複数の認証許否確認論理が予め定義されており、前記サーバ機能からの応答が前記複数の認証許否確認論理のいずれかに適合するか否かによりユーザ認証の要否を判断し、
ユーザ認証が必要な場合、前記応答が適合した前記認証許否確認論理に対応付けて予め定義されている認証手順に従って、前記サーバ機能との間でユーザ認証手続きを行う、
処理を実行させることを特徴とする代理認証プログラム。
【0231】
(付記2) 前記ユーザ認証手続きでは、予め前記クライアント機能に対応付けて格納されている前記サーバ機能へのユーザ認証情報を、前記クライアント機能からの前記要求に付加して前記サーバ機能へ送信することを特徴とする付記1記載の代理認証プログラム。
【0232】
(付記3) 前記クライアント機能からの前記要求を記憶し、前記サーバ機能との間の前記ユーザ認証手続き完了後、記憶しておいた前記要求を前記サーバ機能に送信することを特徴とする付記1記載の代理認証プログラム。
【0233】
(付記4) ユーザ認証が未完了であることを示す前記応答を受け取った際に、前記クライアント機能との間のセッションの確立の有無を確認し、
前記セッションが未確立の場合、前記クライアント機能に対してユーザ認証を要求し、
ユーザ認証が完了すると前記クライアント機能との間にセッションを確立し、前記サーバ機能との間の前記ユーザ認証手続きを行う、
ことを特徴とする付記1記載の代理認証プログラム。
【0234】
(付記5) 前記クライアント機能からアクセス可能な前記サーバ機能が複数有る場合、前記サーバ機能毎の認証許否確認論理が設定されていることを特徴とする付記1記載の代理認証プログラム。
【0235】
(付記6) 前記認証許否確認論理では、前記サーバ機能が実装されている装置の識別情報と前記装置内での前記サーバ機能の所在を示す情報との組み合わせにより前記サーバ機能が特定されていることを特徴とする付記1記載の代理認証プログラム。
【0236】
(付記7) 他の装置への認証手続きを代理するための代理認証方法において、
クライアント機能からの要求に応じて、ネットワークを介して接続されるサーバ機能に対してアクセスし、
ユーザ認証が未完了であることを示す応答を識別するための複数の認証許否確認論理が予め定義されており、前記サーバ機能からの応答が前記複数の認証許否確認論理のいずれかに適合するか否かによりユーザ認証の要否を判断し、
ユーザ認証が必要な場合、前記応答が適合した前記認証許否確認論理に対応付けて予め定義されている認証手順に従って、前記サーバ機能との間でユーザ認証手続きを行う、
ことを特徴とする代理認証方法。
【0237】
(付記8) 他の装置への認証手続きを代理する代理認証装置において、
クライアント機能からの要求に応じて、ネットワークを介して接続されるサーバ機能に対してアクセスするアクセス手段と、
ユーザ認証が未完了であることを示す応答を識別するための複数の認証許否確認論理が予め定義されており、前記サーバ機能からの応答が前記複数の認証許否確認論理のいずれかに適合するか否かによりユーザ認証の要否を判断する認証要否判断手段と、
ユーザ認証が必要な場合、前記応答が適合した前記認証許否確認論理に対応付けて予め定義されている認証手順に従って、前記サーバ機能との間でユーザ認証手続きを行う代理認証手段と、
を有することを特徴とする代理認証装置。
【0238】
(付記9) 他の装置への認証手続きを代理する代理認証プログラムを記録したコンピュータ読み取り可能な記録媒体において、
前記コンピュータに、
クライアント機能からの要求に応じて、ネットワークを介して接続されるサーバ機能に対してアクセスし、
ユーザ認証が未完了であることを示す応答を識別するための複数の認証許否確認論理が予め定義されており、前記サーバ機能からの応答が前記複数の認証許否確認論理のいずれかに適合するか否かによりユーザ認証の要否を判断し、
ユーザ認証が必要な場合、前記応答が適合した前記認証許否確認論理に対応付けて予め定義されている認証手順に従って、前記サーバ機能との間でユーザ認証手続きを行う、
処理を実行させることを特徴とする代理認証プログラムを記録したコンピュータ読み取り可能な記録媒体。
【0239】
【発明の効果】
以上説明したように本発明では、複数の認証許否確認論理を予め定義しておき、サーバ機能からの応答に応じた認証許否確認論理を判断し、その認証許否確認論理に対応付けられた認証手順でサーバ機能に対するユーザ認証手続きを行うようにした。このように認証許否確認論理に応じた認証手順に基づいてユーザ認証が行われるため、複数のクライアントの代理認証を行う場合であっても、クライアント毎の認証手順を記憶する必要が無い。その結果、少ないハードウェア資源の利用で代理認証機能が実現可能となる。
【図面の簡単な説明】
【図1】実施の形態に適用される発明の概念図である。
【図2】本実施の形態を提供するネットワークシステムの構成例を示す図である。
【図3】プロキシサーバのハードウェア構成例を示す図である。
【図4】プロキシサーバの機能を示すブロック図である。
【図5】ユーザ情報テーブルのデータ構造例を示す図である。
【図6】システムテーブルのデータ構造例を示す図である。
【図7】レスポンス分析・ログイン命令テーブルのデータ構造例を示す図である。
【図8】セッション情報テーブルのデータ構造例を示す図である。
【図9】代理認証処理の手順を示す第1のフローチャートである。
【図10】代理認証処理の手順を示す第2のフローチャートである。
【図11】代理認証処理の手順を示す第3のフローチャートである。
【図12】代理認証処理の手順を示す第4のフローチャートである。
【図13】Webサーバでベーシック認証を行う場合の処理手順を示す第1のシーケンス図である。
【図14】Webサーバでベーシック認証を行う場合の処理手順を示す第2のシーケンス図である。
【図15】ベーシック認証を完了したWebサーバへのアクセス手順を示すシーケンス図である。
【図16】ベーシック認証を必要とする新たなWebサーバへのアクセス手順を示すシーケンス図である。
【図17】Webサーバでフォーム認証を行う場合の処理手順を示す第1のシーケンス図である。
【図18】Webサーバでフォーム認証を行う場合の処理手順を示す第2のシーケンス図である。
【図19】フォーム認証を完了したWebサーバへのアクセス手順を示すシーケンス図である。
【図20】フォーム認証を必要とする新たなWebサーバへのアクセス手順を示すシーケンス図である。
【図21】ベーシック認証時の送信データ生成手順を示すフローチャートである。
【図22】フォーム認証時の送信データ生成手順を示すフローチャートである。
【図23】代理認証機能を実装したクライアントの概念図である。
【符号の説明】
1 代理認証装置
2 クライアント
3 サーバ
11,12,13,・・・ クライアント
31,32,33,・・・ サーバ
100 プロキシサーバ
110 データベース
111 ユーザ情報テーブル
112 Webサーバ情報
112a システムテーブル
112b レスポンス分析・ログイン命令テーブル
121 セッション情報テーブル
122 タイマ
123 タイムアウト駆動部
131 ブラウザ入力受付部
132 プロキシサーバ認証部
133 プロキシサーバ認証要求部
134 通信状態保持部
135 Webサーバ識別部
136 Webサーバ要求生成部
137 Webサーバ通信部
138 レスポンス分析部
139 認証処理判定部
140 ログイン処理命令生成部
141 コンテンツ変換部
142 ブラウザ応答生成部
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a proxy authentication program, a proxy authentication method, and a proxy authentication device that proxy an authentication procedure to another device, and more particularly to a proxy authentication program, a proxy authentication method, and a proxy authentication device that perform an authentication procedure using different authentication methods.
[0002]
[Prior art]
In a corporate network, a plurality of servers (or application programs that provide services) exist in the network, and various services are provided via the network. However, even in a corporate network, the usable users are limited for some functions. For example, for a system for managing employee attendance, it is necessary to permit access only to users in a predetermined position or higher or users in a predetermined department such as the personnel department. Hereinafter, a function (server application) that provides a service is referred to as a server function.
[0003]
In general, user authentication is performed for each server function in order to limit users who can use the service. In user authentication, the server function requests the user to input a user name and a password. If the set of the input user name and password is registered in advance in the server function, the server function provides a function within a range permitted for the user. In principle, such user authentication is performed individually even when a large number of server functions exist in the network.
[0004]
By the way, with the recent systematization of business processing, most of the internal business is performed using a server function that supports the business. Therefore, it is necessary to perform user authentication for various server functions when an employee performs business. In this case, in order to perform user authentication to individual server functions, each user must individually manage a combination of a user name and a password, and the management burden of passwords and the like is large. In addition, performing user authentication procedures many times a day leads to a reduction in work efficiency.
[0005]
Therefore, a system called single sign-on has been used conventionally. In single sign-on, a user can use a function that allows access to the user only by once being authenticated.
[0006]
One of techniques for realizing single sign-on is a technique using PKI (Public Key Infrastructure). PKI is a technology that secures secure electronic communication by combining an electronic signature and encryption technology. In the PKI system, an electronic certificate is issued to a user who has been authenticated. A user who holds the electronic certificate can receive various services according to the electronic certificate.
[0007]
Another technique for realizing single sign-on is a proxy authentication method using a proxy server. In this technique, data for user authentication for each server function is held in a proxy server. When a request for access to the server function is issued from the user, the proxy server performs a user authentication procedure with the server function as a proxy (see, for example, Patent Document 1).
[0008]
In addition, when the user terminal is authenticated once by accessing the Web server through the proxy server, the data is stored in the proxy server. The data stored in the proxy server is used at the next and subsequent logins by the same user terminal. According to this method, various types of login protocols can be handled (see, for example, Patent Document 2).
[0009]
[Patent Document 1]
Japanese Patent Laid-Open No. 10-177552 (FIG. 1)
[Patent Document 2]
Japanese Patent Laid-Open No. 2002-32340 (FIG. 1)
[0010]
[Problems to be solved by the invention]
However, in the case of a technology using PKI, both a Web browser and a Web server require a mechanism corresponding to an electronic certificate, and an infrastructure for the electronic certificate is required. Therefore, it is difficult to divert the existing system as it is.
[0011]
In other words, since a general authentication method using a proxy server uses a fixed authentication protocol, it cannot be adopted when the authentication method differs for each server function. Moreover, there are various types of authentication methods for actual Web servers because the developer is free. It is difficult for a single proxy authentication type proxy server to perform proxy authentication on them, reducing the usefulness of the proxy authentication proxy.
[0012]
For example, in the method described in Patent Document 1, a plurality of authentication information is managed by the proxy server, and only the authentication information is transmitted to the server on behalf of the client. Can not do it. Specifically, there are servers that can be authenticated only by transmitting authentication information, and other servers that can be authenticated by transmitting authentication information set as a predetermined parameter in form data provided by the server. As described above, there are many servers that cannot perform proxy authentication simply by transmitting authentication information.
[0013]
Moreover, if it is a system shown in patent document 2, it is applicable also when the authentication system which is different for every server function is employ | adopted. However, in the method of recording all the data at the time of authentication as disclosed in Patent Document 2, when a large number of users use the same server, data that is almost the same but slightly different in the storage area for authentication communication data Need to be held in large numbers. Therefore, the utilization efficiency of system resources (main memory, hard disk device, etc.) is deteriorated. This is because the actual communication data for authentication has few portions that differ for each user, and most of the data is occupied by a common header or footer.
[0014]
Generally, when the amount of necessary hardware resources is unknown, it is necessary to prepare a hardware environment with a margin for stable operation of the system. As a result, the scale of the system has been enlarged, and the construction cost of the system has increased.
[0015]
The present invention has been made in view of these points, and a proxy authentication program, a proxy authentication method, and a proxy that can perform proxy authentication to a server of a different authentication method by efficiently using hardware resources. An object is to provide an authentication device.
[0016]
[Means for Solving the Problems]
In order to solve the above-described problems, the present invention provides a proxy authentication program that causes a computer to execute the process shown in FIG. This proxy authentication program is for proxying an authentication procedure to another device, and causes the computer to execute the following processing.
[0017]
In response to a request from the client functions 2a, 2b, 2c,..., The computer accesses the server functions 3a, 3b, 3c,... Connected via the network (step S1). In the computer, a plurality of authentication permission / rejection confirmation logics for identifying a response indicating that the user authentication is incomplete is defined in advance, and the response from the server function matches one of the plurality of authentication permission / rejection confirmation logics. Whether or not user authentication is necessary is determined based on whether or not (step S2). If user authentication is required, the computer performs a user authentication procedure with the server function according to an authentication procedure defined in advance in association with the authentication permission / inhibition confirmation logic to which the response is matched (step S3).
[0018]
According to such a proxy authentication program, when a computer accesses a server function in response to a request from a client function, if a response indicating that user authentication is not completed is returned, an authentication permission / inhibition confirmation logic to which the response matches. An authentication procedure is performed with the server function in accordance with the processing procedure corresponding to.
[0019]
Further, in a proxy authentication method for proxying an authentication procedure to another device in order to solve the above problem, a user connected to a server connected via a network in response to a request from a client function, and a user A plurality of authentication permission / rejection confirmation logics for identifying a response indicating that the authentication is incomplete is defined in advance, and whether the response from the server function matches any of the plurality of authentication permission / rejection confirmation logics Therefore, if user authentication is required, user authentication is performed with the server function according to a predefined authentication procedure in association with the authentication permission confirmation logic to which the response is adapted. A proxy authentication method characterized by performing a procedure is provided.
[0020]
According to such a proxy authentication method, when the server function is accessed in response to a request from the client function, if a response indicating that the user authentication is not completed is returned, the response corresponds to an authentication permission confirmation logic that matches. An authentication procedure is performed with the server function in the processing procedure.
[0021]
In addition, in order to solve the above-mentioned problem, an access unit for accessing a server connected via a network in response to a request from a client function in a proxy authentication device proxying an authentication procedure to another device , A plurality of authentication permission / rejection confirmation logics for identifying a response indicating that user authentication is incomplete is defined in advance, and a response from the server function matches one of the plurality of authentication permission / rejection confirmation logics Authentication necessity judging means for judging whether or not user authentication is necessary, and, if user authentication is necessary, according to an authentication procedure defined in advance in association with the authentication permission confirmation logic to which the response is adapted, There is provided a proxy authentication device comprising proxy authentication means for performing a user authentication procedure with a server function.
[0022]
According to such a proxy authentication device, the access unit accesses the server function in response to a request from the client function. When a response is returned from the server function, the necessity of user authentication is determined by the authentication necessity determination means. When user authentication is required, the proxy authentication means performs a user authentication procedure with the server function in accordance with an authentication procedure defined in advance in association with the authentication permission / inhibition confirmation logic with which the response is matched.
[0023]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
First, the outline of the invention applied to the embodiment will be described, and then the specific contents of the embodiment will be described.
[0024]
FIG. 1 is a conceptual diagram of the invention applied to the embodiment. The proxy authentication device 1 is provided on a logical communication path between a plurality of client functions 2a, 2b, 2c,... And a plurality of server functions 3a, 3b, 3c,. Here, the logical communication path means communication between at least one of the plurality of client functions 2a, 2b, 2c,... And one of the plurality of server functions 3a, 3b, 3c,. This means that communication that requires authentication is always performed via the proxy authentication device 1.
[0025]
The proxy authentication device 1 performs client authentication procedures to be executed by the client functions 2a, 2b, 2c,... With respect to the server functions 3a, 3b, 3c,. Can be executed on behalf of Note that the proxy authentication device 1 is preliminarily defined with a plurality of authentication permission / rejection confirmation logics for identifying a response indicating that user authentication has not been completed. An authentication procedure is defined in association with each authentication permission / rejection confirmation logic. The authentication procedure defines processing contents to be executed on the client function 2a, 2b, 2c,... Side in the authentication procedure for each authentication method.
[0026]
The client functions 2a, 2b, 2c,... Have a function of transmitting a request to the server functions 3a, 3b, 3c,. The client functions 2a, 2b, 2c,... Are, for example, client applications that are implemented in individual client computers.
[0027]
The server functions 3a, 3b, 3c,... Perform processing according to the request sent from the client functions 2a, 2b, 2c,. The server functions 3a, 3b, 3c,... Are server applications implemented in, for example, a proxy server. It should be noted that the server functions 3a, 3b, 3c,... Have a user authentication function, and a processing function is provided only for requests from the client functions 2a, 2b, 2c,. provide. Each server function 3a, 3b, 3c,... Employs a different authentication method.
[0028]
Here, when accessing the server functions 3a, 3b, 3c,... From the client functions 2a, 2b, 2c,..., The proxy authentication apparatus 1 performs the following processing.
[0029]
The proxy authentication device 1 accesses the server functions 3a, 3b, 3c,... Connected via the network in response to requests from the client functions 2a, 2b, 2c,. ). The accessed server function requires user authentication, and when user authentication of the client function that has output the access request is not completed, a response requesting user authentication is returned to the proxy authentication device 1.
[0030]
The proxy authentication device 1 determines whether or not user authentication is necessary based on whether or not the response from the server function matches any of a plurality of authentication permission / rejection confirmation logics (step S2). If it is determined that user authentication is necessary, the proxy authentication device 1 performs a user authentication procedure with the server function in accordance with an authentication procedure defined in advance in association with an authentication permission / inhibition confirmation logic to which the response is matched ( Step S3).
[0031]
According to such a proxy authentication device 1, when a server function is accessed in response to a request from the client function, when a response indicating that user authentication is not completed is returned, the response corresponds to the authentication permission / inhibition confirmation logic to which the response matches. The authentication procedure is performed with the server function in the processing procedure. By analyzing the response from the server function, determining the authentication procedure according to the authentication method adopted by the server function, and performing proxy authentication in that authentication procedure, there is less storage capacity to store the authentication procedure etc. I'm sorry.
[0032]
For example, consider a case where a plurality of client functions 2a, 2b, 2c,... Access the same server function 3a. At this time, in the case where proxy authentication is performed by recording all authentication data and reproducing the authentication procedure from the data as in the conventional technique (see Patent Document 2), the client functions 2a, 2b, 2c,. Each authentication procedure must be saved. As in the present invention, if a corresponding authentication procedure is determined by a response from the server function 3a and proxy authentication is performed by the authentication procedure, one authentication procedure can be held in association with the server function 3a. That's fine.
[0033]
In addition, since each server function 3a, 3b, 3c,... Adopts a different authentication method in order to determine a necessary authentication procedure based on a response from the server function, authentication corresponding to each authentication method is performed. Proxy authentication can be performed in the procedure.
[0034]
In addition, although it is necessary to hold | maintain the user authentication information (for example, user name and password) for every client function 2a, 2b, 2c, ..., these are information consisting of a short character string. For this reason, the user authentication information requires a smaller storage capacity compared to the case where all the processing procedures of the authentication procedure are recorded.
[0035]
The present embodiment will be specifically described below. The following embodiment is an example when the proxy authentication device function is implemented in the proxy server and proxy authentication to the Web server is performed.
[0036]
FIG. 2 is a diagram illustrating a configuration example of a network system that provides the present embodiment. As shown in FIG. 2, a plurality of clients 11, 12, 13,..., A plurality of servers 31, 32, 33,.
[0037]
Clients 11, 12, 13,... Are computers used by users. The clients 11, 12, 13,... And the proxy server 100 are connected by, for example, a LAN (Local Area Network). The user can log in to the proxy server 100 (basic authentication login) using the clients 11, 12, 13,. In this embodiment, each client 11, 12, 13,... Is equipped with a Web browser as a client function, and the servers 31, 32, 33,. .
[0038]
The servers 31, 32, 33,... Are server computers that provide predetermined services in response to requests from the clients 11, 12, 13,. The servers 31, 32, 33,... And the proxy server 100 are connected via a LAN, a high-speed dedicated line, the Internet, or the like. The servers 31, 32, 33,... Have a server function and the like, and each server function has a user authentication function. In this embodiment, a Web server is implemented as a server function in each of the servers 31, 32, 33,..., And a content providing service for a client Web browser is performed by the Web server.
[0039]
The proxy server 100 is a computer that accesses the servers 31, 32, 33,... On behalf of the clients 11, 12, 13,. A plurality of login algorithms (basic authentication and frame authentication) are defined in the proxy server 100. When user authentication is requested from the servers 31, 32, 33,..., The proxy server 100 can identify the requested login algorithm for user authentication and perform the login procedure with the corresponding algorithm. For example, when accessing the servers 31, 32, 33,..., The proxy server 100 performs user authentication procedures on behalf of the clients 11, 12, 13,. Log in to 31, 32, 33,.
[0040]
With such a system, the user can access the servers 31, 32, 33,... Using a client (for example, the client 11). When user authentication is requested from one Web server (for example, server 31), the proxy server 100 requests user authentication from the client 11. Then, the user operates the client 11 and performs basic authentication login to the proxy server 100.
[0041]
The proxy server 100 verifies the basic authentication login by collating the user authentication information sent from the client 11 with the user information table held therein, and logs in to the server 31. At that time, the proxy server 100 performs a login procedure with an algorithm suitable for the authentication method of the server 31.
[0042]
Thereafter, when user authentication is requested when the client 11 accesses another Web server 32, 33,..., The proxy server 100 performs a login procedure with an algorithm suitable for the authentication method of the Web server. . After the login procedure is completed, the service requested by the client 11 is provided in the Web server, and the result is passed to the client 11.
[0043]
FIG. 3 is a diagram illustrating a hardware configuration example of the proxy server. The entire proxy server 100 is controlled by a CPU (Central Processing Unit) 101. A random access memory (RAM) 102, a hard disk drive (HDD) 103, a graphic processing device 104, an input interface 105, and a communication interface 106 are connected to the CPU 101 via a bus 107.
[0044]
The RAM 102 temporarily stores at least a part of an OS (Operating System) program and application programs to be executed by the CPU 101. The RAM 102 stores various data necessary for processing by the CPU 101. The HDD 103 stores an OS and application programs.
[0045]
A monitor 11 is connected to the graphic processing device 104. The graphic processing device 104 displays an image on the screen of the monitor 11 in accordance with a command from the CPU 101. A keyboard 12 and a mouse 13 are connected to the input interface 105. The input interface 105 transmits a signal transmitted from the keyboard 12 or the mouse 13 to the CPU 101 via the bus 107.
[0046]
The communication interface 106 is connected to the network 10. The communication interface 106 transmits / receives data to / from other computers (clients 11, 12, 13,... And servers 31, 32, 33,...) Via the network 10.
[0047]
With the hardware configuration as described above, the processing functions of the present embodiment can be realized. 3 shows the hardware configuration of the proxy server 100. However, the clients 11, 12, 13,... And the servers 31, 32, 33,. Can do.
[0048]
Next, the function of the proxy server 100 will be specifically described. In the following description, a case where the client 11 accesses the server 31 and the server 32 is taken as an example.
[0049]
FIG. 4 is a block diagram illustrating functions of the proxy server. As shown in FIG. 4, the proxy server 100 can perform communication between the Web browser 11 a mounted on the client 11 and the Web servers 31 a and 32 a mounted on the servers 31 and 32.
[0050]
The proxy server 100 includes a database 110, a session information table 121, a timer 122, a timeout drive unit 123, a browser input reception unit 131, a proxy server authentication unit 132, a proxy server authentication request unit 133, a communication state holding unit 134, and a Web server identification unit. 135, a Web server request generation unit 136, a Web server communication unit 137, a response analysis unit 138, an authentication processing determination unit 139, a login processing command generation unit 140, a content conversion unit 141, and a browser response generation unit 142.
[0051]
The database 110 stores data necessary for proxy authentication. The contents of the database 110 are divided into a user information table 111 and Web server information 112.
[0052]
The user information table 111 is a database in which information about users who use the clients 11, 12, 13,. For example, in the user information table 111, user authentication information for each user to log in to the proxy server 100 and user authentication information for a user to log in to the servers 31, 32, 33,. Stored in In the present embodiment, the contents of the user information table 111 are set in advance by a system administrator.
[0053]
The Web server information 112 is information related to the Web server that is the subject of proxy authentication. The Web server information 112 is divided into a system table 112a and a response analysis / login command table 112b. In the present embodiment, the contents of the Web server information 112 are set in advance by a system administrator.
[0054]
The system table 112a manages the URL (Uniform Resource Locator) and authentication method of the Web server for each server function.
The response analysis / login command table 112b stores information necessary for logging in to the Web server.
[0055]
In the session information table 121, information related to a session established with a client is registered. The information about the session includes a timeout time. The contents of the session information table 121 are dynamically added or deleted during system operation.
[0056]
Here, before describing other elements of the proxy server 100, an example of the data structure of each information will be described in detail.
FIG. 5 is a diagram illustrating an exemplary data structure of the user information table. In the user information table 111, a set of a system ID, a user name, and a password is set for each Web server in association with the proxy server authentication information. Information arranged in the horizontal direction of each column is associated with each other to constitute user information of each user.
[0057]
The proxy server authentication information field is divided into a user name field and a password field. A user name is set in the user name column. A password corresponding to the user name is set in the password field.
[0058]
In the column of system ID, identification information of a Web server that is a user authentication target is set. In the example of FIG. 5, the alphabet following “Sys” is the identifier of the server (node on the network), and the number following the alphabet is the identifier of the Web server in the server. Therefore, “SysA0” and “SysA1” indicate different Web servers in the same server.
[0059]
In the user name column, the user name of user authentication information set in the Web server is set. In the password column, a password for user authentication information set in the Web server is set.
[0060]
FIG. 6 is a diagram illustrating an exemplary data structure of the system table. The system table 112a has columns for system ID, virtual URL, real URL, and authentication type. The information arranged in the horizontal direction of each column is associated with each other to constitute information about each Web server.
[0061]
Identification information of the Web server is set in the system ID column.
In the virtual URL field, a virtual URL for accessing the Web server from the client is set. An access request designating a virtual URL is issued from the Web browser.
[0062]
In the real URL column, a URL indicating the actual location of the Web server is set. The virtual URL and the real URL may be the same.
The name of the user authentication method in the Web server is set in the authentication type column. In the example of FIG. 6, “form”, “basic”, and “null” are set as the authentication type.
[0063]
Form authentication is a system that redirects an unauthenticated request to an HTML form on the Web server 31a side. An authentication form is passed to the client (the proxy server 100 functions as a client instead of the Web browser 11a). Therefore, authentication information is input to the form, and the form including the authentication information is transmitted to the Web server 31a.
[0064]
In basic authentication, when a response requesting authentication is returned from the Web server 31a that has received an unauthenticated request, authentication information (user name and user name) is sent to the client (the proxy server 100 functions as a client instead of the Web browser 11a). A dialog for entering the password is displayed. When authentication information is input to the dialog, the authentication information is transmitted to the Web server 31a.
[0065]
null indicates that authentication is not required.
Note that the virtual URL avoids the limitation of the HTTP (HyperText Transfer Protocol) cookie transmission range, and the internal URL (client 11, 11, etc.) with respect to the server on the external (Web server 31, 32, 33,...) Side. Is used to provide single sign-on in the same manner as the server on the 12, 13,. That is, in the present embodiment, session information indicating whether or not user authentication in the proxy server 100 is completed is managed by the HTTP cookie in the client. This HTTP cookie can be set for a different domain only when the domain names match backwards according to the specification.
[0066]
For example, if the domain name of the proxy server 100 is aaa. bbb. The domain name of the server function that the user wants to access is ddd. bbb. com, bbb. com is the same (backward match). Therefore, the cookie mechanism functions even when the proxy server 100 does not use a virtual URL. However, the domain name of the target Web server is xxx. zzz. com, the proxy server 100 operates the communication and adds the authentication information to the cookie. bbb. com proxy server 100 cookies are not accepted. Therefore, the authentication logic of this embodiment is not established.
[0067]
Therefore, in the present embodiment, xxx. zzz. com virtual URL to xxx. bbb. com. The user can set xxx. bbb. com to access via the proxy server 100. The proxy server 100 internally performs virtual URL conversion and performs actual communication with xxx. zzz. com. The proxy server 100 is xxx. zzz. Com response data and a cookie are returned to the user's Web browser. At this time, the URL of the Web browser is xxx. zzz. com, but the URL is xxx. bbb. com from the Web server. Therefore, the cookie is accepted safely. Thereby, the effect of the present invention can be applied to the entire Internet, and the practicality is enhanced.
[0068]
FIG. 7 is a diagram illustrating a data structure example of a response analysis / login command table. The response analysis / login command table 112b has columns for system ID, login processing information, and authentication identification information. Information arranged in the horizontal direction of each column is associated with each other, and constitutes information necessary for a user authentication procedure for each Web server.
[0069]
Identification information of the Web server is set in the system ID column.
Information necessary for a user authentication (login) procedure to the Web server is set in the login processing information column. The login process information column includes an authentication URL, a method, and a form name column.
[0070]
In the authentication URL field, a URL to be accessed when logging in to the corresponding Web server is set.
In the method column, the type of request (method) in HTTP is set. Methods include “GET” and “POST”. GET is a method for extracting information from a Web server. POST is a method for transmitting information to a Web server.
[0071]
In the form name column, the name of the form for which authentication information is to be set is set. In the column of form name, columns of user, password, and additional data are provided. The name of the form for which the user name is to be set is set in the user column. The name of the form for which the password is to be set is set in the password field. In the additional data column, the name of a form for setting information to be added at the time of user authentication is set. In this additional data column, one or a plurality of information (m: m is a natural number of 1 or more) can be set in association with one system ID.
[0072]
Information for identifying whether or not a response from the Web server requests authentication is set in the authentication identification information column. In the column of authentication identification information, columns of response code, authentication header, and identification content data are provided.
[0073]
In the response code column, a code (response code) indicating the type of response from the Web server is set. Information to be included in a response header indicating an authentication request is set in the identification header field. In this identification header field, one or a plurality (n: n is a natural number of 1 or more) of information can be set in association with one system ID. Information to be included in the response content indicating the authentication request is set in the identification content data column.
[0074]
FIG. 8 is a diagram illustrating an exemplary data structure of the session information table. In the session information table 121, information regarding a session established with the client is set. The session information table 121 includes columns for session ID, user name, login time, and timeout notice time. Information arranged in the horizontal direction in each column is associated with each other to constitute information for each session.
[0075]
In the session ID column, identification information of the established session is set. In the user name column, identification information of a user who has requested session establishment is set. In the login time column, a time when the user logs in to the proxy server 100 (user authentication has been successful) is set. The time for disconnecting the session is set as the timeout notice time.
[0076]
The above is the data structure of each database managed by the proxy server 100. Hereinafter, returning to the description of FIG. 4, other elements of the proxy server 100 will be described.
[0077]
The timer 122 has a function of measuring time. The OS periodically generates a timer event using the timer 122, and the time-out driving unit 123 is activated in response to the timer event.
[0078]
When activated, the timeout drive unit 123 scans the session information table 121 and deletes the session information whose scheduled timeout time has passed from the session information table 121.
[0079]
The browser input reception unit 131 receives input from the Web browser 11a. The browser input reception unit 131 passes the received content to the proxy server authentication unit 132, the communication state holding unit 134, and the Web server identification unit 135.
[0080]
The proxy server authentication unit 132 checks whether or not the input from the Web browser 11a includes authentication information for the proxy server. When the input content includes proxy server session ID information indicating that authentication has already been performed, the proxy server authentication unit 132 checks the session information table 121 to check whether the connection is valid. When the connection is valid, the proxy server authenticating unit 132 can also update the “timeout scheduled time” in order to extend the timeout time.
[0081]
When the input information includes the user name and password information (included in the AUTHORIZED header), the proxy server authentication unit 132 compares the user name and password for proxy server authentication from the user information table 111. . If they match, the proxy server authentication unit 132 registers the session information in the session information table 121. If they do not match, the proxy server authentication unit 132 requests the proxy server authentication request unit 133 to perform proxy server authentication.
[0082]
The proxy server authentication unit 132 does nothing if the input content from the Web browser 11a does not include authentication information (session ID, user name, password) for the proxy server (it is allowed not to include authentication information). ).
[0083]
In response to a request from the proxy server authentication unit 132, the proxy server authentication request unit 133 generates an HTTP UNAUTHORIZED response. Then, the proxy server authentication request unit 133 returns the generated UNAUTHORIZED response to the user's Web browser 11a. Here, the UNAUTHORIZED response is a communication packet that requests the Web browser 11a to transmit authentication information.
[0084]
The communication state holding unit 134 stores an HTTP request (METHOD, URL, header, POST data) received from the browser for later use.
When the input content from the Web browser is a proxy communication request, the Web server identification unit 135 identifies the URL of the communication destination based on the proxy communication request. Note that the URL specified from the Web browser 11a is a virtual URL. The Web server identification unit 135 searches the system table 112a for information including the requested URL. When searching, the virtual URL item of the system table 112a is targeted. If the requested URL matches the virtual URL or is included under the virtual URL, the system entry is used. The web server identification unit 135 passes the real URL corresponding to the virtual URL including the requested URL to the web server request generation unit 136.
[0085]
When communication is performed from the proxy server 100 to the actual Web servers 31a and 32a in the subsequent processing, the virtual URL is converted into a real URL. The virtual URL and the real URL may be the same.
[0086]
Note that both the virtual URL and the real URL may be physically the same computer. In this embodiment, since the server function is managed for each URL, it is allowed to handle one computer as a plurality of systems.
[0087]
The web server request generation unit 136 generates an HTTP request. At that time, the data of the communication state holding unit 134 is used. Also, the session information table 121 is confirmed, and if the proxy server 100 has already authenticated, authentication information such as the user name of the proxy server 100 is added as an HTTP cookie to the HTTP request to the Web server. Then, the Web server request generation unit 136 passes the HTTP request to which the cookie is added to the Web server communication unit 137.
[0088]
The Web server request generation unit 136 receives the response content when the login of the form format to the Web servers 31a and 32a is completed as a result of the analysis of the response content by the response analysis unit 138. Then, the Web server request generation unit 136 includes information such as the cookie information obtained by the authentication response and the user name of the proxy server generated from the session information table 121 in the HTTP cookie. Then, the Web server request generation unit 136 combines the requests from the user's Web browser stored in the communication state holding unit 134, and transmits the requests from the Web server communication unit 137 to the Web servers 31a and 32a.
[0089]
The Web server communication unit 137 sends the generated HTTP request to the communication destination generated from the actual URL of the system table 112a. Further, the web server communication unit 137 passes a communication response from the web server to the response analysis unit 138.
[0090]
The response analysis unit 138 switches processing based on the authentication type of the system table 112a. When the authentication type is “null”, the response analysis unit 138 passes the response content to the content conversion unit 141 because there is no access restriction in the system.
[0091]
As a result of the authentication by the response analysis unit 138, when the login process is successful and the authentication type of the system table 112a is a form, the response analysis unit 138 passes the response content to the Web server request generation unit 136. If the authentication type is other than form, the response analysis unit 138 passes the response content to the content conversion unit 141.
[0092]
Furthermore, when the authentication type is “basic”, the response analysis unit 138 checks the HTTP header of the server response to check whether it is UNAUTHORIZED. In the case of UNAUTHORIZED, the response analysis unit 138 passes the response content to the authentication process determination unit 139. In other cases, the response analysis unit 138 passes the response content to the content conversion unit 141.
[0093]
When the authentication type is “form”, the response analysis unit 138 refers to the response analysis / login command table 112b. Using the item of the authentication identification information, the response code in the response header, the specific identification header, and the unique content identification content data are compared. If they match, the response analysis unit 138 considers that access has been denied from the corresponding Web server due to an authentication problem, and passes the response content to the authentication processing determination unit 139. Otherwise, the response analysis unit 138 passes the response content to the content conversion unit 141.
[0094]
The authentication process determination unit 139 checks the session information table 121 to check whether the current communication requester has been authenticated by the proxy server. If the user name does not exist in the session information table 121, the process proceeds to the proxy server authentication request unit 133. If it exists, the process proceeds to the login processing command generation unit 140.
[0095]
The login processing command generation unit 140 sets a user name (user name of the user who has issued the communication request) / password matching the current system ID (system ID corresponding to the requested URL) / password in the system table 112a as user information. Obtained from table 111. In addition, the login processing command generation unit 140 checks the system table 112a and switches processing depending on the authentication type.
[0096]
When the authentication type is “basic”, the login processing command generation unit 140 obtains the transmission data corresponding to the HTTP basic authentication from the user information table 111 previously obtained from the user name / password for the specific Web server. Generate.
[0097]
If the authentication type is “form”, the login processing command generation unit 140 obtains the user name / specific web server name for the specific Web server obtained from the information in the login processing information section of the response analysis / login command table 112b and the user information table 111. The password is combined to generate HTTP form communication data.
[0098]
The login process command generation unit 140 transmits the transmission data generated for the login process from the Web server communication unit 137 to the corresponding URL. The response from the Web server is analyzed by the response analysis unit 138 as described above.
[0099]
When the response content is received from the response analysis unit 138, the content conversion unit 141 rewrites the response content (HTML document) from the Web servers 31a and 32a if the response satisfies the content rewriting condition. At the time of rewriting, different user-specific HTML conversions are performed on the current user information using the session information table 121 and the user information table 111.
[0100]
The browser response generation unit 142 combines the response from the Web server obtained from the content conversion unit 141 with the HTTP cookie including the proxy server authentication information generated based on the information obtained from the session information table 121, to the remote Web browser. Send.
[0101]
Processing in the system configured as described above will be described with reference to a flowchart.
FIG. 9 is a first flowchart showing the procedure of proxy authentication processing. This is an example when accessing the Web server 31a from the Web browser 11a. In the following, the process illustrated in FIG. 9 will be described in order of step number.
[0102]
[Step S11] The Web browser 11a accepts an instruction to access the Web server 31a by an operation input from the user. For example, an anchor display selection input (click with a mouse, etc.) associated with the URL of the Web server 31a is accepted from the display screen.
[0103]
[Step S12] The Web browser 11a transmits an access request (browser request) to the Web server 31a to the proxy server 100.
[Step S13] In the proxy server 100, the browser input reception unit 131 receives the browser request.
[0104]
[Step S14] In the proxy server 100, based on the specified URL, the authentication permission / rejection confirmation logic and the login processing logic (authentication procedure) corresponding to the Web server 31a to be accessed are acquired. The authentication permission / rejection confirmation logic is specified by the authentication type in the system table 112a and the authentication identification information in the response analysis / login command table 112b. The login processing logic is specified by the authentication type of the system table 112a and the login processing information of the response analysis / login command table 112b.
[0105]
[Step S15] The proxy server 100 confirms the presence or absence of a cookie that identifies the session in the access request. Then, when there is a cookie, the proxy server 100 determines whether or not the corresponding session is registered in the session information table 121. If there is a corresponding session, the process proceeds to step S16. If there is no corresponding session, the process proceeds to step S17.
[0106]
[Step S16] The proxy server 100 acquires the user name from the information of the corresponding session in the session information table 121. Thereafter, the process proceeds to step S31 (see FIG. 10).
[0107]
[Step S17] The proxy server 100 determines whether or not an Authorized header is included in the received access request. The Authorized header is information added for the Web browser 11a to transmit user authentication information. When receiving a proxy authentication response, the Web browser 11a includes user authentication information (user name and password) for the proxy server 100 in the Authorized header and transmits an access request to the proxy server 100. . If an Authorized header is included, the process proceeds to step S18. If the Authorized header is not included, the process proceeds to step S31 (see FIG. 10).
[0108]
[Step S18] The proxy server 100 acquires the user name / password acquisition from the Authorized header from the access request.
[Step S19] The proxy server 100 refers to the user information table 111 and obtains user information. Specifically, the proxy server 100 searches for the user name included in the Authorized header from the user name column of the proxy server authentication information in the user information table 111. Then, the proxy server 100 acquires a password associated with the corresponding user name.
[0109]
[Step S20] The proxy server 100 determines whether the authentication is successful. Specifically, the proxy server 100 determines that the authentication is successful if proxy server authentication information that matches the user authentication information included in the Authorized header is registered in the user information table 111. If the corresponding user name is not registered in the user information table 111 or the password of the corresponding user name is different, it is determined that the authentication has failed. If the authentication is successful, the process proceeds to step S22. If the authentication fails, the process proceeds to step S21.
[0110]
[Step S21] When the authentication fails, the proxy server 100 generates a proxy authentication response and returns it to the Web browser 11a. The proxy authentication response is a packet that requests a user authentication procedure to the proxy server. Thereafter, the process ends, and a request from the Web browser 11a is awaited.
[0111]
[Step S22] When the authentication is successful, the proxy server 100 generates a session. A unique session ID is assigned to the generated session.
[0112]
[Step S23] The proxy server 100 registers user information in the generated session. Specifically, the proxy server 100 associates the user name, the login time, and the time-out scheduled time with the session ID assigned to the generated session, and registers them in the session information table 121. The login time is the session creation time. As the scheduled time-out time, for example, a time after a predetermined time from session generation is set.
[0113]
FIG. 10 is a second flowchart showing the procedure of proxy authentication processing. In the following, the process illustrated in FIG. 10 will be described in order of step number.
[Step S31] The proxy server 100 receives an access request from the browser and stores it inside.
[0114]
[Step S32] The proxy server 100 acquires the URL (actual URL) of the Web server 31a and generates an access request to the Web server. The generated access request is transmitted by the proxy server 100 to the Web server 31a.
[0115]
[Step S33] The proxy server 100 receives a response from the Web server 31a.
[Step S34] The proxy server 100 analyzes the response content and determines the processing result of the Web server 31a. Specifically, the proxy server 100 refers to the system table 112a and determines the authentication type of the Web server 31a. For example, if the authentication type is basic and the HTTP header of the response from the Web server 31a is UNAUTHORIZED, the proxy server 100 determines that the basic authentication procedure is necessary. Further, when the authentication type is a form, the proxy server 100 refers to the response analysis / login command table 112b, and when the response content matches the authentication identification information corresponding to the corresponding system ID, the form authentication procedure is performed. Judge that it is necessary.
[0116]
[Step S35] The proxy server 100 determines whether access is permitted. That is, if none of the conditions for determining that the basic or form authentication procedure is necessary, it is determined that access is permitted. If access is permitted, the process proceeds to step S61 (see FIG. 12). If access is permitted, the process proceeds to step S41 (see FIG. 11).
[0117]
FIG. 11 is a third flowchart showing the procedure of proxy authentication processing. In the following, the process illustrated in FIG. 11 will be described in order of step number.
[Step S41] When access to the Web server 31a is denied, the proxy server 100 refers to the session information table 121, and whether or not there is a session corresponding to the user name of the user who issued the access request via the Web browser 11a. Judging. If there is no session, the process proceeds to step S42. If there is a session, the process proceeds to step S44.
[0118]
[Step S42] When there is no session, the proxy server authentication request unit 133 sets the cookie received from the Web server 31a in the proxy authentication response (response content) of the Web browser 11a.
[0119]
[Step S43] The proxy server 100 generates a proxy authentication response and sends it back to the Web browser 11a. Thereafter, the process ends.
[Step S44] If there is a session, the user authentication to the proxy server 100 has been completed, so the proxy server 100 acquires user information (user name, etc.) from the session information table 121.
[0120]
[Step S45] The proxy server 100 acquires user authentication information for logging in to the Web server 31a from the user information table 111. Specifically, the proxy server 100 acquires the user name and password of the Web browser 31a (determined by the system ID) set in association with the user name acquired in step S44.
[0121]
[Step S46] The proxy server 100 generates a login request.
[Step S47] The proxy server 100 refers to the system table 112a and determines whether basic authentication is performed. In the case of basic authentication, the process proceeds to step S48. If it is not basic authentication, the process proceeds to step S49.
[0122]
[Step S48] The proxy server 100 takes out the saved browser request and combines it with the login request.
[Step S49] The proxy server 100 transmits a request (login request) to the Web server 31a.
[0123]
[Step S50] The proxy server 100 receives the processing result returned from the Web server 31a.
[Step S51] The proxy server 100 analyzes the contents of the processing result and determines whether or not the login is successful. If the login is successful, the process proceeds to step S54. If the login has failed, the process proceeds to step S52.
[0124]
[Step S52] When login fails, the proxy server 100 generates an error message.
[Step S53] The proxy server 100 generates an exception including an error message, and ends the process.
[0125]
[Step S54] The proxy server 100 determines whether the successful login process is basic authentication. In the case of basic authentication, the process proceeds to step S31 (see FIG. 10). If it is not basic authentication, the process proceeds to step S55.
[0126]
[Step S55] The proxy server 100 retrieves a request from the saved browser from the communication state holding unit 134. Thereafter, the process proceeds to step S31 (see FIG. 10).
[0127]
Next, processing when it is determined in step S35 that access is permitted will be described.
FIG. 12 is a fourth flowchart showing the procedure of proxy authentication processing. In the following, the process illustrated in FIG. 12 will be described in order of step number.
[0128]
[Step S61] The proxy server 100 determines from the URL of the Web server 31a whether the response from the Web server 31a is to be rewritten. If it is to be rewritten, the process proceeds to step S62. If not, the process proceeds to step S63.
[0129]
[Step S62] The proxy server 100 rewrites the content. The rewriting method is defined in advance in association with the URL, for example.
[Step S63] The proxy server 100 sets the rewritten content as a browser response.
[0130]
[Step S64] The proxy server 100 sets the response header from the Web server 31a in the browser response.
[Step S65] The proxy server 100 determines whether there is a session corresponding to the Web browser of the transmission partner. If there is a session, the process proceeds to step S66. If there is no session, the process proceeds to step S67.
[0131]
[Step S66] The proxy server 100 embeds the proxy session ID in the response cookie.
[Step S67] The proxy server 100 transmits a response to the Web browser 11a.
[0132]
[Step S68] The Web browser 11a displays the access result.
As described above, proxy authentication is performed in the proxy server 100.
Next, a flow when logging in to the proxy server 100 by the Web browser 11a and accessing the Web server 31a and the like will be specifically described. In the following example, a case where basic authentication is performed on a Web server and a case where form authentication is performed will be described. The name of the Web server 31a is “Web server A”, and the name of the Web server 32a is “Web server B”.
[0133]
FIG. 13 is a first sequence diagram illustrating a processing procedure when basic authentication is performed on a Web server. FIG. 13 shows processing until a proxy authentication response is returned in response to a request from the Web browser 11a not logged in to the proxy server 100. In the following, the process illustrated in FIG. 13 will be described in order of step number.
[0134]
[Step S71] The Web browser 11a transmits an initial request to the proxy server 100. In this example, a GET request “GET (URL_X)” is transmitted.
[0135]
[Step S72] The proxy server 100 confirms Authorization (Authorized header). The initial request does not include an Authorized header. If there is no Authorized header, the process proceeds assuming that the request does not require authentication.
[0136]
[Step S73] The proxy server 100 transmits a request to the Web server 31a. In this example, a GET request “GET (URL_X)” is transmitted.
[Step S74] The Web server 31a returns a response “401 (Unauthorized, WWW-Authenticate)” to the proxy server. In this example, a response with a response code 401 is returned. This response indicates that access is denied because the basic authentication is incomplete.
[0137]
[Step S75] The proxy server 100 analyzes the response.
[Step S76] The proxy server 100 confirms the presence / absence of a session (here, a session between the proxy server 100 and the Web browser 11a is referred to as a PPS session). At this stage, since there is no login to the proxy server 100 from the Web browser 11a, there is no session.
[0138]
In this example, when the response code is 401 (response requesting login) and there is no PPS session, login processing to the proxy server 100 is started.
[0139]
[Step S77] The proxy server 100 transmits a proxy authentication response “Unauthorized, WWW-Authenticate” to the Web browser 11a.
FIG. 14 is a second sequence diagram illustrating a processing procedure when basic authentication is performed on a Web server. FIG. 14 shows processing from logging in to the proxy server 100 from the Web browser 11a until acquiring a Web page. In the following, the process illustrated in FIG. 14 will be described in order of step number.
[0140]
[Step S81] The Web browser 11a accepts an input of a user name and a password from the user.
[Step S82] The Web browser 11a transmits a request “GET (URL_X, Authorization / PPS)” including the user authentication information in the Authorized header to the proxy server 100.
[0141]
[Step S83] The proxy server 100 confirms Authorization (Authorized header). At this time, it is determined that there is an Authorized header.
[Step S84] The proxy server 100 checks whether or not a session (PPS session) exists. At this point, there is no session. If there is no session even though there is an Authorized header, it is determined that the user is not authenticated.
[0142]
Note that the order of the processes in step S83 and step S84 may be reversed. In the flowchart shown in FIG. 9, after confirming the session (step S15), the Authorized header is confirmed (step S16).
[0143]
[Step S85] The proxy server 100 collates (matches) a pair of a user name and a password. If the verification is successful, the following processing is performed.
[Step S86] The proxy server 100 generates a session.
[0144]
[Step S87] The proxy server 100 acquires user authentication information (authentication key) for the Web server 31a (SubSystem).
[Step S88] The proxy server 100 generates an Authorized header for the Web server 31a.
[0145]
[Step S89] The proxy server 100 removes a cookie (PPSCookie) and user authentication information for authenticating to the proxy server 100 from the request sent from the Web browser 11a, and adds the user authentication information for the Web server 31a “ GET (URL_X, Authorization / Sub) "is transmitted to the Web server 31a.
[0146]
[Step S90] The Web server 31a performs user authentication based on the user authentication information. If the authentication is successful, the Web server 31a transmits the specified Web page (URL_X page) to the proxy server 100. Note that the response code of this transmission packet is “200”.
[0147]
[Step S91] The proxy server 100 analyzes the response from the Web server 31a.
[Step S92] The proxy server 100 adds a cookie (PPSSCookie) for the proxy server 100 to the Web page sent from the Web server 31a and transmits it to the Web browser 11a. This cookie is set to be effective when accessing a URL that matches the domain name of the proxy server 100 backward.
[0148]
[Step S93] The Web browser 11a displays the received Web page and saves the cookie sent from the proxy server 100.
As described above, a user using the Web browser 11a can access the Web server 31a only by logging in to the proxy server 100.
[0149]
Next, a processing procedure when continuously accessing the same Web server 31a will be described.
FIG. 15 is a sequence diagram illustrating an access procedure to a Web server that has completed basic authentication. In the following, the process illustrated in FIG. 15 will be described in order of step number.
[0150]
[Step S101] The Web browser 11a transmits a Web page (URL_Y) acquisition request “GET (URL_Y, PPSCookie, Authorization / PPS)” to the proxy server 100 in response to a user operation input. This request includes the cookie saved in step S92 (see FIG. 14) and user authentication information for logging in to the proxy server 100.
[0151]
[Step S102] The proxy server 100 confirms Authorization (Authorized header). At this time, it is determined that there is an Authorized header.
[Step S103] The proxy server 100 confirms the presence or absence of a session (PPS session). In this example, since a session already exists, it is determined that authentication has been completed, and the following processing is performed.
[0152]
[Step S104] The proxy server 100 acquires user authentication information (authentication key) for the Web server 31a (SubSystem).
[Step S105] The proxy server 100 generates an Authorized header for the Web server 31a.
[0153]
[Step S106] The proxy server 100 removes the cookie (PPSCookie) and the user authentication information for authenticating to the proxy server 100 from the request sent from the Web browser 11a, and adds the user authentication information for the Web server 31a “ GET (URL_Y, Authorization / a: Sub) "is generated. Then, the generated request is transmitted to the Web server 31a.
[0154]
[Step S107] The Web server 31a transmits the specified Web page (URL_Y page) to the proxy server 100.
[Step S108] The proxy server 100 analyzes the response from the Web server 31a. Since access is not denied, proceed to the following process.
[0155]
[Step S109] The proxy server 100 adds a cookie (PPSSCookie) for the proxy server 100 to the Web page sent from the Web server 31a and transmits the cookie to the Web browser 11a.
[0156]
Next, an example of accessing a new Web server after completing login to the proxy server 100 will be described.
FIG. 16 is a sequence diagram illustrating a procedure for accessing a new Web server that requires basic authentication. In the following, the process illustrated in FIG. 16 will be described in order of step number.
[0157]
[Step S111] The Web browser 11a transmits an acquisition request “GET (URL_x, PPSCookie)” for the Web page (URL_x) to the proxy server 100 in response to a user operation input. This request includes the cookie saved in step S92 (see FIG. 14). Since the request is for the Web server 32a different from the previous one, the Authorized header is not sent. Further, since the transmission address is a virtual address, it is determined that it is within the scope of application of the cookie for the proxy server 100, and the cookie is included in the request.
[0158]
[Step S112] The proxy server 100 confirms Authorization (Authorized header). At this time, it is determined that there is no Authorized header, and the subsequent processing proceeds assuming that the request does not require authentication.
[0159]
[Step S113] The proxy server 100 transfers the request to the Web server 32a. In this request, the cookie for the proxy server 100 is removed.
[0160]
[Step S114] The Web server 32a returns a response requesting user authentication to the proxy server 100. The response code of this response is “401”.
[Step S115] The proxy server 100 analyzes the response and recognizes that user authentication is requested. Specifically, it detects that the response code is “401” and recognizes that basic authentication is requested.
[0161]
[Step S116] The proxy server 100 confirms the presence or absence of a session. In this example, since a session already exists, the following automatic authentication process is performed without displaying a user authentication dialog or the like on the Web browser 11a.
[0162]
[Step S117] The proxy server 100 acquires user authentication information for the Web server 32a.
[Step S118] The proxy server 100 generates an Authorized header for the Web server 32a.
[0163]
[Step S119] The proxy server 100 removes the cookie (PPSCookie) and the user authentication information for authenticating to the proxy server 100 from the request sent from the Web browser 11a, and adds the user authentication information for the Web server 32a “ GET (URL_x, Authorization / b: SUB) "is transmitted to the Web server 32a.
[0164]
[Step S120] The Web server 32a performs user authentication based on the user authentication information. If the authentication is successful, the Web server transmits the specified Web page (URL_x page) to the proxy server 100.
[0165]
[Step S121] The proxy server 100 analyzes a response from the Web server. Since access is not denied, proceed to the following process.
[0166]
[Step S122] The proxy server 100 transmits the Web page sent from the Web server 32a to the Web browser 11a.
In this way, if the user has already logged in to the proxy server 100, the user authentication information need not be input even when accessing the new Web server 32a.
[0167]
Next, a procedure for performing form authentication will be described.
FIG. 17 is a first sequence diagram illustrating a processing procedure when form authentication is performed on the Web server. FIG. 17 shows processing until a proxy authentication response is returned in response to a request from the Web browser 11a not logged in to the proxy server 100. In the following, the process illustrated in FIG. 17 will be described in order of step number.
[0168]
[Step S131] The Web browser 11a transmits an initial request to the proxy server 100. In this example, a GET request “GET (URL_X)” is transmitted.
[0169]
[Step S132] In the proxy server 100, the authorization (Authorized header) is confirmed. The initial request does not include an Authorized header. If there is no Authorized header, the process proceeds assuming that the request does not require authentication.
[0170]
[Step S133] The proxy server 100 transmits a request to make the Web server 31a. In this example, a GET request “GET (URL_X)” is transmitted.
[Step S134] The Web server 31a returns a response to the proxy server. In this example, a request rejection response (NG response (SSSSCookie)) is returned. The request rejection response includes a cookie (SSSCookie). This response indicates that access is denied because the form authentication has not been completed.
[0171]
[Step S135] The proxy server 100 analyzes the response.
[Step S136] The proxy server 100 checks whether or not there is a session (here, a session between the proxy server 100 and the Web browser 11a is a PPS session). At this stage, since there is no login to the proxy server 100 from the Web browser 11a, there is no session.
[0172]
In this example, when a request rejection response is returned and there is no PPS session, login processing to the proxy server 100 is started.
[Step S137] The proxy server 100 transmits a proxy authentication response “Unauthorized, WWW-Authenticate” to the Web browser 11a.
[0173]
FIG. 18 is a second sequence diagram illustrating a processing procedure when form authentication is performed on the Web server. FIG. 18 shows processing from logging in to the proxy server 100 from the Web browser 11a until acquiring a Web page. In the following, the process illustrated in FIG. 18 will be described in order of step number.
[0174]
[Step S141] The Web browser 11a receives an input of a user name and a password from the user.
[Step S142] The Web browser 11a transmits a request “GET (URL_X, Authorization / PPS)” including user authentication information in the Authorized header to the proxy server 100.
[0175]
[Step S143] The proxy server 100 checks Authorization (Authorized header). At this time, it is determined that there is an Authorized header.
[Step S144] The proxy server 100 confirms the presence or absence of a session (PPS session). At this point, there is no session. If there is no session even though there is an Authorized header, it is determined that the user is not authenticated.
[0176]
Note that the order of the processes of step S143 and step S144 may be reversed. In the flowchart shown in FIG. 9, after confirming the session (step S15), the Authorized header is confirmed (step S16).
[0177]
[Step S145] The proxy server 100 collates (matches) a pair of a user name and a password. If the verification is successful, the following processing is performed.
[Step S146] The proxy server 100 generates a session.
[0178]
[Step S147] The proxy server 100 acquires user authentication information (authentication key) for the Web server 31a (SubSystem).
[Step S148] The proxy server 100 transmits a login request “POST (URL_Login, User, Pass, SSSCookie)” to the Web server 31a. This login request includes user authentication information (User, Pass) and a cookie (SSSCookie).
[0179]
[Step S149] The Web server 31a performs user authentication based on the user authentication information. When the authentication is successful, the Web server 31a transmits a Web page that is set in advance to be transmitted after the authentication to the proxy server 100. Note that the response code of this transmission packet is “200”.
[0180]
[Step S150] The proxy server 100 analyzes the response from the Web server 31a. Thereby, it is recognized that the login to the Web server 31a was successful.
[0181]
[Step S151] The proxy server 100 generates a new request “GET (URL_X, SSSCookie)” by adding the cookie (SSSSCookie) for the Web server 31a to the request sent from the Web browser 11a first, and generates the Web server. It transmits with respect to 31a.
[0182]
[Step S152] The Web server 31a recognizes that the access is from an already authenticated user using a cookie (SSSSCookie), and transmits the requested Web page to the proxy server 100.
[0183]
[Step S153] The proxy server 100 analyzes the response from the Web server 31a.
[Step S154] The proxy server 100 adds a cookie (SSSSCookie) for the Web server 31a and a cookie (PPSSCookie) for the proxy server 100 to the Web page sent from the Web server 31a, and transmits the cookie to the Web browser 11a. The cookie for the proxy server 100 is set to be effective when accessing a URL that matches the domain name of the proxy server 100 backward.
[0184]
[Step S155] The Web browser 11a displays the received Web page and saves the cookie sent from the proxy server 100.
As described above, a user using the Web browser 11a can access the Web server 31a only by logging in to the proxy server 100.
[0185]
Next, a processing procedure when continuously accessing the same Web server 31a will be described.
FIG. 19 is a sequence diagram illustrating an access procedure to a Web server that has completed form authentication. In the following, the process illustrated in FIG. 19 will be described in order of step number.
[0186]
[Step S161] The Web browser 11a transmits a Web page (URL_Y) acquisition request “GET (URL_Y, PPSCookie, Authorization / PPS)” to the proxy server 100 in response to a user operation input. This request includes the cookie stored in step S155 (see FIG. 18) and the user authentication information for logging in to the proxy server 100.
[0187]
[Step S162] In the proxy server 100, the Authorization (Authorized header) is confirmed. At this time, it is determined that there is an Authorized header.
[Step S163] The proxy server 100 checks whether a session (PPS session) exists. In this example, since a session already exists, it is determined that authentication has been completed, and the following processing is performed.
[0188]
[Step S164] The proxy server 100 generates a request “GET (URL_Y, SSSCookie)” in which user authentication information for the Web server 31a is added to the request sent from the Web browser 11a, and transmits the request to the Web server 31a.
[0189]
[Step S165] The Web server 31a transmits the specified Web page (URL_Y page) to the proxy server 100.
[Step S166] The proxy server 100 analyzes the response from the Web server 31a. Since access is not denied, proceed to the following process.
[0190]
[Step S167] The proxy server 100 transmits the Web page sent from the Web server 31a to the Web browser 11a.
Next, an example in which a new Web server is accessed after login to the proxy server 100 is completed will be described.
[0191]
FIG. 20 is a sequence diagram showing an access procedure to a new Web server that requires form authentication. In the following, the process illustrated in FIG. 20 will be described in order of step number.
[0192]
[Step S <b> 171] The Web browser 11 a transmits a Web page (URL_x) acquisition request “GET (URL_x, PPSSCookie)” to the proxy server 100 in response to a user operation input. This request includes the cookie saved in step S155 (see FIG. 18). Since the request is for the Web server 32a different from the previous one, the Authorized header is not sent. Further, since the transmission address is a virtual address, it is determined that it is within the scope of application of the cookie for the proxy server 100, and the cookie is included in the request.
[0193]
[Step S172] In the proxy server 100, the authorization (Authorized header) is confirmed. At this time, it is determined that there is no Authorized header, and the subsequent processing proceeds assuming that the request does not require authentication.
[0194]
[Step S173] The proxy server 100 transfers the request to the Web server 32a. In this request, the cookie for the proxy server 100 is removed.
[0195]
[Step S174] The Web server 32a returns a response requesting user authentication to the proxy server 100. In this example, a request rejection response (NG response (SSSSCookie)) is returned. The request rejection response includes a cookie (SSSCookie). This response indicates that access is denied because the form authentication has not been completed.
[0196]
[Step S175] The proxy server 100 analyzes the response and recognizes that user authentication is requested.
[Step S176] The proxy server 100 checks whether or not there is a session. In this example, since a session already exists, the following automatic authentication process is performed without displaying a user authentication dialog or the like on the Web browser 11a.
[0197]
[Step S177] The proxy server 100 acquires user authentication information (authentication key) for the Web server 32a (SubSystem).
[Step S178] The proxy server 100 transmits a login request “POST (URL_Login, SSSCookie)” to the Web server 32a. This login request includes a cookie (SSSCookie).
[0198]
[Step S179] The Web server 32a performs user authentication based on the user authentication information. When the authentication is successful, the Web server 32a transmits a Web page that is set in advance to be transmitted after the authentication to the proxy server 100. Note that the response code of this transmission packet is “200”.
[0199]
[Step S180] The proxy server 100 analyzes the response from the Web server 32a. Thereby, it is recognized that the login to the Web server 32a is successful.
[0200]
[Step S181] The proxy server 100 generates a new request “GET (URL_x, SSSCookie)” by adding a cookie (SSSSCookie) for the Web server 32a to the request first sent from the Web browser 11a. To 32a.
[0201]
[Step S182] The Web server 32a recognizes that the access is from an already authenticated user using a cookie (SSSSCookie), and transmits the requested Web page to the proxy server 100.
[0202]
[Step S183] The proxy server 100 analyzes the response from the Web server 32a.
[Step S184] The proxy server 100 adds a cookie (SSSSCookie) for the Web server 32a to the Web page sent from the Web server 32a and transmits the cookie to the Web browser 11a.
[0203]
[Step S185] The Web browser 11a displays the received Web page and saves the cookie sent from the proxy server 100.
As described above, proxy authentication can be performed in accordance with an authentication method such as basic authentication or form authentication. Moreover, the authentication procedure is defined in advance, and it is only necessary to hold user authentication information for each user for each Web server.
[0204]
The authentication procedure for basic authentication and the authentication procedure for form authentication are different from each other in the generation method of transmission data in addition to the differences expressed in the above procedure. Therefore, a transmission data generation method for each authentication method by the login processing command generation unit 140 will be described below.
[0205]
FIG. 21 is a flowchart showing a transmission data generation procedure at the time of basic authentication. In the following, the process illustrated in FIG. 21 will be described in order of step number.
[Step S <b> 201] The login processing command generation unit 140 inserts “:” between the character strings of the user name and the password, and connects them.
[0206]
[Step S202] The login processing command generation unit 140 encodes the concatenated character string using a predetermined algorithm. For example, encoding is performed using an algorithm called Base64.
[0207]
[Step S203] The login processing command generation unit 140 inserts a character string “Basic” before the encoded authentication character string.
[Step S204] The login processing command generation unit 140 concatenates the generated character string with the header name “AUTHORIZATION” to generate an authentication header.
[0208]
[Step S205] The login processing command generation unit 140 extracts the URL, header, and body information from the communication state holding unit 134.
[Step S206] The login processing command generation unit 140 inserts an authentication header into the header part.
[0209]
[Step S207] The login processing command generation unit 140 transmits a header to the Web server.
[Step S208] The login processing command generation unit 140 transmits body information to the Web server.
[0210]
FIG. 22 is a flowchart showing a transmission data generation procedure at the time of form authentication. In the following, the process illustrated in FIG. 22 will be described in order of step number.
[Step S211] The login processing command generation unit 140 registers the user form name and the user name in the form data generation information holding table 140a.
[0211]
Here, the form data generation information holding table 140a is a data table held by the login processing command generation unit 140, and includes a form name (user form name and password form name) and registration information (user name and password character string). Pairs can be registered.
[0212]
[Step S212] The login processing command generation unit 140 registers a set of a password form name and a password character string in the form data generation information holding table 140a.
[0213]
[Step S213] The login processing command generation unit 140 converts each character string registered in step S211 and step S212 according to the URL encoding rule.
[0214]
[Step S214] The login processing command generation unit 140 inserts “&” between the converted character strings and connects them.
[Step S <b> 215] The login processing command generation unit 140 acquires cookie information from the communication state holding unit 134.
[0215]
[Step S216] The login processing command generation unit 140 transmits a “Content-Type: application / x-www-form-urlencoded” header to the Web server.
[Step S217] The login processing command generation unit 140 transmits a cookie header to the Web server.
[0216]
[Step S218] The login processing command generation unit 140 transmits authentication form data to the Web server.
As described above, when the proxy server 100 performs proxy authentication, the user does not need to perform a login procedure for each Web server, and convenience is improved.
[0217]
In the above example, the proxy server performs proxy authentication, but this function can also be implemented in the client.
FIG. 23 is a conceptual diagram of a client that implements a proxy authentication function. As shown in FIG. 23, a browser program 210 and a proxy program 220 are installed in the client 200. The browser program 210 is a program for causing the client 200 to function as a Web browser. The proxy program 220 is a program for realizing the functions of the proxy server 100 on the client 200. The proxy program 220 has a user information table 221. User authentication information (user name and password) for logging in to the Web server installed in the user information table 221 and each of the servers 31, 32, and 33 is registered.
[0218]
The proxy program 220 may perform proxy authentication of the user of the client 200. Therefore, it is not necessary to perform user authentication in the proxy program 220 for a user who has correctly logged in to the OS of the client 200.
[0219]
As described above, according to the embodiment of the present invention, when a Web system requiring a plurality of authentications is used, the user needs to log in only once.
Moreover, unlike a conventional single sign-on system, when a web page that does not require authentication is used, the user performs zero login operation. In other words, in the conventional single sign-on technology, it is assumed that the user has previously logged in to the proxy authentication system, and one user authentication process always occurs. However, according to this embodiment, the proxy server determines whether or not user authentication is required on the Web server, and does not request login to the proxy server if the access is to a Web server that does not require user authentication. As a result, user operability is improved.
[0220]
In this embodiment, since user authentication information is managed for each URL of the Web server, proxy authentication for each Web server is possible even when a plurality of Web servers are installed in the same server computer. is there.
[0221]
Further, the conventional proxy authentication technology includes a type in which authentication communication is completely recorded and reproduced as it is. This technique requires redundant storage areas. On the other hand, in the method of the present embodiment, authentication communication data is generated by calculation processing of a program. Therefore, even when the number of users increases, the increase in storage capacity is negligible.
[0222]
In this embodiment, even if the session is stopped due to the occurrence of a session timeout on the Web server side, the session can be automatically logged in when the corresponding Web server is accessed next time, and the session can be re-established. Therefore, the user does not need to be aware of session timeout on the Web server.
[0223]
In addition, with conventional single sign-on, a server for realizing single sign-on is necessary, and it is difficult to operate and use by individuals. In this embodiment, the proxy server function can be prepared in the client (see FIG. 23), and single sign-on on the client can be realized.
[0224]
An existing Web browser has a mechanism for storing the user name and password input by the user and reducing the trouble of inputting the password. However, this function is different for each browser, and users using multiple browsers cannot share user name and password data. If it is a single user form as shown in FIG. 23, the single sign-on unified by the some browser is realizable.
[0225]
By the way, in the above example, an example in the case of accessing a Web server has been described. However, proxy authentication can be performed for other applications that request user authentication via a network by the same process. .
[0226]
In the above example, an example in which the Web server requests basic authentication or form authentication is shown, but the present invention can also be applied to other authentication methods. In that case, the criteria for determining the authentication method to be applied are set in the response analysis / login command table 112b, and the authentication procedure for the corresponding authentication method is defined. The login processing command generation unit 140 executes proxy authentication processing according to a defined procedure.
[0227]
Note that the processing functions of the proxy server 100 and the proxy authentication device 1 described above can be realized by causing a server computer to execute a predetermined proxy authentication program. In that case, a proxy authentication program describing the processing contents of the functions that the proxy server 100 should have is provided. The server computer executes the proxy authentication program in response to the request from the client computer. As a result, the processing function is realized on the server computer, and the processing result is provided to the client computer.
[0228]
The proxy authentication program describing the processing contents can be recorded on a recording medium readable by the server computer. Examples of the recording medium readable by the server computer include a magnetic recording device, an optical disk, a magneto-optical recording medium, and a semiconductor memory. Examples of the magnetic recording device include a hard disk device (HDD), a flexible disk (FD), and a magnetic tape. Examples of the optical disk include a DVD (Digital Versatile Disc), a DVD-RAM (Random Access Memory), a CD-ROM (Compact Disc Read Only Memory), and a CD-R (Recordable) / RW (ReWriteable). Magneto-optical recording media include MO (Magneto-Optical disc).
[0229]
When distributing the proxy authentication program, for example, portable recording media such as DVDs and CD-ROMs on which the proxy authentication program is recorded are sold.
For example, the server computer that executes the proxy authentication program stores the proxy authentication program recorded in the portable recording medium in its own storage device. Then, the server computer reads the proxy authentication program from its own storage device, and executes processing according to the proxy authentication program. The server computer can also read the proxy authentication program directly from the portable recording medium and execute processing according to the proxy authentication program.
[0230]
(Supplementary note 1) In the proxy authentication program that represents the authentication procedure for other devices,
On the computer,
In response to a request from the client function, access to the server function connected via the network,
Whether a plurality of authentication permission / rejection confirmation logics for identifying a response indicating that user authentication is incomplete is defined in advance, and whether a response from the server function matches any of the plurality of authentication permission / rejection confirmation logics Whether or not user authentication is necessary,
When user authentication is required, a user authentication procedure is performed with the server function according to an authentication procedure defined in advance in association with the authentication approval / disapproval confirmation logic to which the response is adapted.
A proxy authentication program characterized by causing processing to be executed.
[0231]
(Supplementary Note 2) In the user authentication procedure, user authentication information for the server function stored in advance in association with the client function is added to the request from the client function and transmitted to the server function. The proxy authentication program according to appendix 1, characterized by:
[0232]
(Additional remark 3) The said request | requirement from the said client function is memorize | stored, and the said memorize | stored request | requirement is transmitted to the said server function after the said user authentication procedure between the said server functions is completed. The listed proxy authentication program.
[0233]
(Supplementary Note 4) Upon receiving the response indicating that user authentication is incomplete, confirm whether or not a session with the client function is established,
If the session is not established, request user authentication for the client function;
When user authentication is completed, a session is established with the client function, and the user authentication procedure with the server function is performed.
The proxy authentication program according to appendix 1, characterized in that:
[0234]
(Supplementary note 5) The proxy authentication program according to supplementary note 1, wherein when there are a plurality of the server functions accessible from the client function, an authentication permission confirmation logic is set for each server function.
[0235]
(Additional remark 6) In the said authentication permission confirmation logic, the said server function is specified by the combination of the identification information of the apparatus in which the said server function is mounted, and the information which shows the location of the said server function in the said apparatus The proxy authentication program according to appendix 1, characterized by:
[0236]
(Supplementary note 7) In the proxy authentication method for proxying the authentication procedure to other devices,
In response to a request from the client function, access to the server function connected via the network,
Whether a plurality of authentication permission / rejection confirmation logics for identifying a response indicating that user authentication is incomplete is defined in advance, and whether a response from the server function matches any of the plurality of authentication permission / rejection confirmation logics Whether or not user authentication is necessary,
When user authentication is required, a user authentication procedure is performed with the server function according to an authentication procedure defined in advance in association with the authentication approval / disapproval confirmation logic to which the response is adapted.
A proxy authentication method characterized by that.
[0237]
(Supplementary note 8) In a proxy authentication device acting as a proxy for authentication to other devices,
An access means for accessing a server function connected via a network in response to a request from the client function;
Whether a plurality of authentication permission / rejection confirmation logics for identifying a response indicating that user authentication is incomplete is defined in advance, and whether a response from the server function matches any of the plurality of authentication permission / rejection confirmation logics Authentication necessity judging means for judging whether or not user authentication is necessary depending on whether or not,
When user authentication is required, proxy authentication means for performing a user authentication procedure with the server function according to an authentication procedure defined in advance in association with the authentication approval / disapproval confirmation logic to which the response is adapted;
A proxy authentication apparatus comprising:
[0238]
(Supplementary note 9) In a computer-readable recording medium in which a proxy authentication program for proxying an authentication procedure to another device is recorded,
In the computer,
In response to a request from the client function, access to the server function connected via the network,
Whether a plurality of authentication permission / rejection confirmation logics for identifying a response indicating that user authentication is incomplete is defined in advance, and whether a response from the server function matches any of the plurality of authentication permission / rejection confirmation logics Whether or not user authentication is necessary,
When user authentication is required, a user authentication procedure is performed with the server function according to an authentication procedure defined in advance in association with the authentication approval / disapproval confirmation logic to which the response is adapted.
A computer-readable recording medium having recorded thereon a proxy authentication program characterized in that processing is executed.
[0239]
【The invention's effect】
As described above, in the present invention, a plurality of authentication permission / rejection confirmation logics are defined in advance, an authentication permission / rejection confirmation logic is determined according to a response from the server function, and an authentication procedure associated with the authentication permission / rejection confirmation logic Added user authentication procedure for server function. As described above, since user authentication is performed based on an authentication procedure according to the authentication permission / inhibition confirmation logic, there is no need to store an authentication procedure for each client even when proxy authentication of a plurality of clients is performed. As a result, the proxy authentication function can be realized by using a small amount of hardware resources.
[Brief description of the drawings]
FIG. 1 is a conceptual diagram of an invention applied to an embodiment.
FIG. 2 is a diagram illustrating a configuration example of a network system that provides the exemplary embodiment;
FIG. 3 is a diagram illustrating a hardware configuration example of a proxy server.
FIG. 4 is a block diagram illustrating functions of a proxy server.
FIG. 5 is a diagram illustrating an example of a data structure of a user information table.
FIG. 6 is a diagram illustrating an exemplary data structure of a system table.
FIG. 7 is a diagram illustrating an example of a data structure of a response analysis / login command table.
FIG. 8 illustrates an exemplary data structure of a session information table.
FIG. 9 is a first flowchart showing a procedure of proxy authentication processing;
FIG. 10 is a second flowchart showing the procedure of proxy authentication processing;
FIG. 11 is a third flowchart showing the procedure of proxy authentication processing;
FIG. 12 is a fourth flowchart showing the procedure of proxy authentication processing;
FIG. 13 is a first sequence diagram illustrating a processing procedure when basic authentication is performed by a Web server.
FIG. 14 is a second sequence diagram illustrating a processing procedure when basic authentication is performed on a Web server.
FIG. 15 is a sequence diagram illustrating an access procedure to a Web server that has completed basic authentication.
FIG. 16 is a sequence diagram showing a procedure for accessing a new Web server that requires basic authentication.
FIG. 17 is a first sequence diagram illustrating a processing procedure when form authentication is performed on a Web server.
FIG. 18 is a second sequence diagram illustrating a processing procedure when form authentication is performed on a Web server.
FIG. 19 is a sequence diagram illustrating a procedure for accessing a Web server that has completed form authentication.
FIG. 20 is a sequence diagram showing a procedure for accessing a new Web server that requires form authentication.
FIG. 21 is a flowchart showing a transmission data generation procedure at the time of basic authentication.
FIG. 22 is a flowchart showing a transmission data generation procedure at the time of form authentication.
FIG. 23 is a conceptual diagram of a client that implements a proxy authentication function.
[Explanation of symbols]
1 Proxy authentication device
2 clients
3 servers
11, 12, 13, ... Client
31, 32, 33, ... Server
100 proxy server
110 database
111 User information table
112 Web server information
112a system table
112b Response analysis / login command table
121 Session information table
122 timer
123 Timeout drive unit
131 Browser input reception part
132 Proxy server authentication unit
133 Proxy server authentication request part
134 Communication state holding unit
135 Web server identification unit
136 Web server request generation unit
137 Web server communication unit
138 Response analysis unit
139 Authentication processing determination unit
140 Login processing command generator
141 Content converter
142 Browser response generator

Claims (5)

他の装置への認証手続きを代理する代理認証プログラムにおいて、
コンピュータに、
クライアント機能からの要求に応じて、ネットワークを介して接続されるサーバ機能に対してアクセスし、
ユーザ認証が未完了であることを示す応答を識別するための複数の認証許否確認論理が予め定義されており、前記サーバ機能からの応答が前記複数の認証許否確認論理のいずれかに適合するか否かによりユーザ認証の要否を判断し、
ユーザ認証が必要な場合、前記応答が適合した前記認証許否確認論理に対応付けて予め定義されている認証手順に従って、前記サーバ機能との間でユーザ認証手続きを行う、
処理を実行させることを特徴とする代理認証プログラム。
In the proxy authentication program that represents the authentication procedure for other devices,
On the computer,
In response to a request from the client function, access to the server function connected via the network,
Whether a plurality of authentication permission / rejection confirmation logics for identifying a response indicating that user authentication is incomplete is defined in advance, and whether a response from the server function matches any of the plurality of authentication permission / rejection confirmation logics Whether or not user authentication is necessary,
When user authentication is required, a user authentication procedure is performed with the server function according to an authentication procedure defined in advance in association with the authentication approval / disapproval confirmation logic to which the response is adapted.
A proxy authentication program characterized by causing processing to be executed.
前記クライアント機能からの前記要求を記憶し、前記サーバ機能との間の前記ユーザ認証手続き完了後、記憶しておいた前記要求を前記サーバ機能に送信することを特徴とする請求項1記載の代理認証プログラム。2. The proxy according to claim 1, wherein said request from said client function is stored, and said stored request is transmitted to said server function after completion of said user authentication procedure with said server function. Authentication program. ユーザ認証が未完了であることを示す前記応答を受け取った際に、前記クライアント機能との間のセッションの確立の有無を確認し、
前記セッションが未確立の場合、前記クライアント機能に対してユーザ認証を要求し、
ユーザ認証が完了すると前記クライアント機能との間にセッションを確立し、前記サーバ機能との間の前記ユーザ認証手続きを行う、
ことを特徴とする請求項1記載の代理認証プログラム。
When receiving the response indicating that user authentication is incomplete, check whether a session with the client function is established,
If the session is not established, request user authentication for the client function;
When user authentication is completed, a session is established with the client function, and the user authentication procedure with the server function is performed.
The proxy authentication program according to claim 1.
他の装置への認証手続きを代理するための代理認証方法において、
クライアント機能からの要求に応じて、ネットワークを介して接続されるサーバ機能に対してアクセスし、
ユーザ認証が未完了であることを示す応答を識別するための複数の認証許否確認論理が予め定義されており、前記サーバ機能からの応答が前記複数の認証許否確認論理のいずれかに適合するか否かによりユーザ認証の要否を判断し、
ユーザ認証が必要な場合、前記応答が適合した前記認証許否確認論理に対応付けて予め定義されている認証手順に従って、前記サーバ機能との間でユーザ認証手続きを行う、
ことを特徴とする代理認証方法。
In the proxy authentication method for proxying the authentication procedure to other devices,
In response to a request from the client function, access to the server function connected via the network,
Whether a plurality of authentication permission / rejection confirmation logics for identifying a response indicating that user authentication is incomplete is defined in advance, and whether a response from the server function matches any of the plurality of authentication permission / rejection confirmation logics Whether or not user authentication is necessary,
When user authentication is required, a user authentication procedure is performed with the server function according to an authentication procedure defined in advance in association with the authentication approval / disapproval confirmation logic to which the response is adapted.
A proxy authentication method characterized by that.
他の装置への認証手続きを代理する代理認証装置において、
クライアント機能からの要求に応じて、ネットワークを介して接続されるサーバ機能に対してアクセスするアクセス手段と、
ユーザ認証が未完了であることを示す応答を識別するための複数の認証許否確認論理が予め定義されており、前記サーバ機能からの応答が前記複数の認証許否確認論理のいずれかに適合するか否かによりユーザ認証の要否を判断する認証要否判断手段と、
ユーザ認証が必要な場合、前記応答が適合した前記認証許否確認論理に対応付けて予め定義されている認証手順に従って、前記サーバ機能との間でユーザ認証手続きを行う代理認証手段と、
を有することを特徴とする代理認証装置。
In a proxy authentication device that represents the authentication procedure for other devices,
An access means for accessing a server function connected via a network in response to a request from the client function;
Whether a plurality of authentication permission / rejection confirmation logics for identifying a response indicating that user authentication is incomplete is defined in advance, and whether a response from the server function matches any of the plurality of authentication permission / rejection confirmation logics Authentication necessity judging means for judging whether or not user authentication is necessary depending on whether or not,
When user authentication is required, proxy authentication means for performing a user authentication procedure with the server function according to an authentication procedure defined in advance in association with the authentication approval / disapproval confirmation logic to which the response is adapted;
A proxy authentication apparatus comprising:
JP2003175139A 2003-06-19 2003-06-19 Proxy authentication program, proxy authentication method, and proxy authentication device Expired - Fee Related JP4467256B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003175139A JP4467256B2 (en) 2003-06-19 2003-06-19 Proxy authentication program, proxy authentication method, and proxy authentication device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003175139A JP4467256B2 (en) 2003-06-19 2003-06-19 Proxy authentication program, proxy authentication method, and proxy authentication device

Publications (2)

Publication Number Publication Date
JP2005011098A true JP2005011098A (en) 2005-01-13
JP4467256B2 JP4467256B2 (en) 2010-05-26

Family

ID=34098429

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003175139A Expired - Fee Related JP4467256B2 (en) 2003-06-19 2003-06-19 Proxy authentication program, proxy authentication method, and proxy authentication device

Country Status (1)

Country Link
JP (1) JP4467256B2 (en)

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005063169A (en) * 2003-08-13 2005-03-10 Ricoh Co Ltd Information processor, image processor, server device, method for session connection, session connection program, and recording medium
JP2006331044A (en) * 2005-05-26 2006-12-07 Hitachi Ltd Single sign-on achievement method
JP2007049649A (en) * 2005-08-12 2007-02-22 Sharp Corp Communication medium apparatus, data providing apparatus, and data providing system
JP2007058391A (en) * 2005-08-23 2007-03-08 Nippon Telegr & Teleph Corp <Ntt> Authentication method for broadcast communication cooperation service, authentication cooperation device, its program and program recording medium
JP2009104353A (en) * 2007-10-23 2009-05-14 Nomura Securities Co Ltd Gadget provision server and gadget provision program
JP2010092185A (en) * 2008-10-06 2010-04-22 Optim Corp Network relay apparatus, user information management system and user information management method
JP2011133948A (en) * 2009-12-22 2011-07-07 Nec Access Technica Ltd Router, web browser authentication method for the router, and web browser authentication program
JP2011522326A (en) * 2008-05-27 2011-07-28 マイクロソフト コーポレーション Authentication for distributed secure content management systems
CN102164120A (en) * 2010-02-18 2011-08-24 索尼公司 Information processing apparatus, information processing method, and computer-readable recording medium
JP2011197874A (en) * 2010-03-18 2011-10-06 Fujitsu Ltd Server apparatus and program
JP2011527468A (en) * 2008-06-26 2011-10-27 アリババ・グループ・ホールディング・リミテッド Service integration platform system and method for internet service
JP2012501010A (en) * 2008-06-26 2012-01-12 アリババ・グループ・ホールディング・リミテッド Method and service integration platform system for providing internet services
WO2012017561A1 (en) * 2010-08-06 2012-02-09 富士通株式会社 Mediation processing method, mediation device, and system
US8195808B2 (en) 2007-11-12 2012-06-05 International Business Machines Corporation Session management technique
JP2012194722A (en) * 2011-03-16 2012-10-11 Fujitsu Ltd System, authentication information management method and program
JP2013097744A (en) * 2011-11-05 2013-05-20 Kyocera Document Solutions Inc Pseudo single sign-on device, image forming device using the same, and image forming system
JP2013114530A (en) * 2011-11-30 2013-06-10 Konica Minolta Business Technologies Inc Network system, information processing device and control method thereof, and computer program
JP2014026348A (en) * 2012-07-24 2014-02-06 Nippon Telegr & Teleph Corp <Ntt> Information distribution system, authentication cooperation method, device, and program therefor
JP2014127058A (en) * 2012-12-27 2014-07-07 Fujitsu Ltd Relay device, relay method and program
US9294484B2 (en) 2012-10-31 2016-03-22 Ricoh Company, Ltd. System, service providing device, and service providing method
JP2017084399A (en) * 2016-12-28 2017-05-18 富士通株式会社 Relay device, relay method, and program
JP2019040319A (en) * 2017-08-23 2019-03-14 コニカミノルタ株式会社 Proxy authentication system, proxy authentication method, and program
CN113472796A (en) * 2021-07-06 2021-10-01 山东电力工程咨询院有限公司 Data center portal management method and system
CN115604041A (en) * 2022-12-16 2023-01-13 深圳高灯计算机科技有限公司(Cn) Security agent method, system, device, computer equipment and storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002032216A (en) * 2000-07-19 2002-01-31 Fujitsu Ltd Hosting device for application
JP2002202955A (en) * 2000-10-31 2002-07-19 Microsoft Corp System and method for automatically formulating response to authentication request from secured server
JP2002334056A (en) * 2001-05-08 2002-11-22 Infocom Corp System and method for executing log-in in behalf of user

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002032216A (en) * 2000-07-19 2002-01-31 Fujitsu Ltd Hosting device for application
JP2002202955A (en) * 2000-10-31 2002-07-19 Microsoft Corp System and method for automatically formulating response to authentication request from secured server
JP2002334056A (en) * 2001-05-08 2002-11-22 Infocom Corp System and method for executing log-in in behalf of user

Cited By (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005063169A (en) * 2003-08-13 2005-03-10 Ricoh Co Ltd Information processor, image processor, server device, method for session connection, session connection program, and recording medium
JP2006331044A (en) * 2005-05-26 2006-12-07 Hitachi Ltd Single sign-on achievement method
JP4578352B2 (en) * 2005-08-12 2010-11-10 シャープ株式会社 Communication mediating apparatus, data providing apparatus, and data providing system
JP2007049649A (en) * 2005-08-12 2007-02-22 Sharp Corp Communication medium apparatus, data providing apparatus, and data providing system
JP2007058391A (en) * 2005-08-23 2007-03-08 Nippon Telegr & Teleph Corp <Ntt> Authentication method for broadcast communication cooperation service, authentication cooperation device, its program and program recording medium
JP4589200B2 (en) * 2005-08-23 2010-12-01 日本電信電話株式会社 Authentication method, authentication cooperation device, program thereof, and program recording medium in broadcast communication cooperation service
JP2009104353A (en) * 2007-10-23 2009-05-14 Nomura Securities Co Ltd Gadget provision server and gadget provision program
US9055054B2 (en) 2007-11-12 2015-06-09 International Business Machines Corporation Session management technique
US10097532B2 (en) 2007-11-12 2018-10-09 International Business Machines Corporation Session management technique
US8195808B2 (en) 2007-11-12 2012-06-05 International Business Machines Corporation Session management technique
US8910255B2 (en) 2008-05-27 2014-12-09 Microsoft Corporation Authentication for distributed secure content management system
JP2011522326A (en) * 2008-05-27 2011-07-28 マイクロソフト コーポレーション Authentication for distributed secure content management systems
JP2014041652A (en) * 2008-05-27 2014-03-06 Microsoft Corp Authentication for distributed secure content management system
JP2012501010A (en) * 2008-06-26 2012-01-12 アリババ・グループ・ホールディング・リミテッド Method and service integration platform system for providing internet services
JP2011527468A (en) * 2008-06-26 2011-10-27 アリババ・グループ・ホールディング・リミテッド Service integration platform system and method for internet service
US9027089B2 (en) 2008-06-26 2015-05-05 Alibaba Group Holding Limited Method and system for providing internet services
JP2010092185A (en) * 2008-10-06 2010-04-22 Optim Corp Network relay apparatus, user information management system and user information management method
JP2011133948A (en) * 2009-12-22 2011-07-07 Nec Access Technica Ltd Router, web browser authentication method for the router, and web browser authentication program
JP2011171983A (en) * 2010-02-18 2011-09-01 Sony Corp Apparatus and, processing information method, and computer-readable recording medium
CN102164120B (en) * 2010-02-18 2017-04-26 索尼公司 Information processing apparatus, information processing method, and computer-readable recording medium
CN102164120A (en) * 2010-02-18 2011-08-24 索尼公司 Information processing apparatus, information processing method, and computer-readable recording medium
US9065871B2 (en) 2010-02-18 2015-06-23 Sony Corporation Information processing apparatus, information processing method, and computer-readable recording medium
US9641508B2 (en) 2010-02-18 2017-05-02 Sony Corporation Information processing apparatus, information processing method, and computer-readable recording medium
JP2011197874A (en) * 2010-03-18 2011-10-06 Fujitsu Ltd Server apparatus and program
JP5418681B2 (en) * 2010-08-06 2014-02-19 富士通株式会社 Mediation processing method, mediation apparatus and system
US8763151B2 (en) 2010-08-06 2014-06-24 Fujitsu Limited Mediation processing method, mediation apparatus and system
WO2012017561A1 (en) * 2010-08-06 2012-02-09 富士通株式会社 Mediation processing method, mediation device, and system
US8732815B2 (en) 2011-03-16 2014-05-20 Fujitsu Limited System, method of authenticating information management, and computer-readable medium storing program
JP2012194722A (en) * 2011-03-16 2012-10-11 Fujitsu Ltd System, authentication information management method and program
JP2013097744A (en) * 2011-11-05 2013-05-20 Kyocera Document Solutions Inc Pseudo single sign-on device, image forming device using the same, and image forming system
JP2013114530A (en) * 2011-11-30 2013-06-10 Konica Minolta Business Technologies Inc Network system, information processing device and control method thereof, and computer program
JP2014026348A (en) * 2012-07-24 2014-02-06 Nippon Telegr & Teleph Corp <Ntt> Information distribution system, authentication cooperation method, device, and program therefor
US9294484B2 (en) 2012-10-31 2016-03-22 Ricoh Company, Ltd. System, service providing device, and service providing method
JP2014127058A (en) * 2012-12-27 2014-07-07 Fujitsu Ltd Relay device, relay method and program
JP2017084399A (en) * 2016-12-28 2017-05-18 富士通株式会社 Relay device, relay method, and program
JP2019040319A (en) * 2017-08-23 2019-03-14 コニカミノルタ株式会社 Proxy authentication system, proxy authentication method, and program
JP7025684B2 (en) 2017-08-23 2022-02-25 コニカミノルタ株式会社 Proxy authentication system, proxy authentication method, program
CN113472796A (en) * 2021-07-06 2021-10-01 山东电力工程咨询院有限公司 Data center portal management method and system
CN113472796B (en) * 2021-07-06 2023-05-30 山东电力工程咨询院有限公司 Data center portal management method and system
CN115604041A (en) * 2022-12-16 2023-01-13 深圳高灯计算机科技有限公司(Cn) Security agent method, system, device, computer equipment and storage medium
CN115604041B (en) * 2022-12-16 2023-05-09 深圳高灯计算机科技有限公司 Security agent method, system, apparatus, computer device, and storage medium

Also Published As

Publication number Publication date
JP4467256B2 (en) 2010-05-26

Similar Documents

Publication Publication Date Title
JP4467256B2 (en) Proxy authentication program, proxy authentication method, and proxy authentication device
JP4864289B2 (en) Network user authentication system and method
RU2447490C2 (en) Protected processing of client system mandate for access to web-resources
US9438633B1 (en) System, method and computer program product for providing unified authentication services for online applications
US8326981B2 (en) Method and system for providing secure access to private networks
US7043455B1 (en) Method and apparatus for securing session information of users in a web application server environment
US6510236B1 (en) Authentication framework for managing authentication requests from multiple authentication devices
EP1645971B1 (en) Database access control method, database access controller, agent processing server, database access control program, and medium recording the program
US7188181B1 (en) Universal session sharing
KR100800339B1 (en) Method and system for user-determined authentication and single-sign-on in a federated environment
US6374359B1 (en) Dynamic use and validation of HTTP cookies for authentication
CN100534092C (en) Method and system for stepping up to certificate-based authentication without breaking an existing ssl session
US20080040773A1 (en) Policy isolation for network authentication and authorization
US6934848B1 (en) Technique for handling subsequent user identification and password requests within a certificate-based host session
US7587491B2 (en) Method and system for enroll-thru operations and reprioritization operations in a federated environment
US20070156592A1 (en) Secure authentication method and system
WO2004036351A2 (en) Cross-site timed out authentication management
CN107872455A (en) A kind of cross-domain single login system and its method
US20030135734A1 (en) Secure mutual authentication system
JP2001186122A (en) Authentication system and authentication method
JP2002189646A (en) Repeating installation
JP2008015733A (en) Log management computer
WO2006114361A1 (en) Method, system, and program product for connecting a client to a network
KR20000059245A (en) Biometrics Information Save System and Verification Method of Using the same
CA2403383C (en) System, method and computer program product for providing unified authentication services for online applications

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060525

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090513

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090519

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090717

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100223

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100223

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130305

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140305

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees