説明

認証システム、中継サーバ、及び中継サーバの認証プログラム

【課題】認証が必要なWEBサーバに対して認証の取得を容易にする。
【解決手段】少なくとも一人のユーザが使用する少なくとも一つの端末と、アクセスに認証が必要な少なくとも一つのWEBサーバと、各端末と各WEBサーバとの間を中継する中継サーバであって、端末からWEBサーバにアクセス要求があったときに、WEBサーバから端末に対して送信された認証要求に応答して端末からWEBサーバに送信した認証情報をデータベースに記録し、次に端末からWEBサーバにアクセス要求があったときに、端末に代わり、データベースから認証情報を生成してWEBサーバに送信する中継サーバと、を備えたことを特徴とする認証システム。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、認証システム、中継サーバ、及び中継サーバの認証プログラムに関する。特に端末とアクセスに認証が必要なWEBサーバとの間に中継サーバが介在するシステムにおける認証に関する。
【背景技術】
【0002】
端末からコンテンツを要求し閲覧するシステムにおいて、コンテンツの一部では認証を必要とするものもある。端末からコンテンツを要求し閲覧する際に認証するシステムとして、特許文献1〜5のようなシステムが提案されている。特許文献1では、クライアントから送信されるアプリケーションへのログイン要求を代行して、当該アプリケーションのレスポンス内容を取得する方法であり、特許文献2は使用者が希望するサイトを利用するときに必要な認証情報をデータベースを参照して認証処理を行うものであり、特許文献3は入力を支援する認証統括システムであり、特許文献4は代理認証番号を利用したログイン代行システムである。
【0003】
また、特許文献5には、携帯電話機とWEBサイトのサーバとの間に認証サーバを介在させ、携帯電話機に代えて認証サーバがWEBサイトのサーバにユーザID及びパスワードを入力するシステムが記載されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2002−334056号公報
【特許文献2】特開2007−183972号公報
【特許文献3】特開2006−350866号公報
【特許文献4】特開2005−332282号公報
【特許文献5】特開2002−288139号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
以下の分析は本発明により与えられる。上記特許文献1乃至4のように起動するたびに毎回ログイン画面にてキー操作で文字入力を行い認証を行うのは、認証システムを利用するユーザ、特に携帯電話やPDA(Personal Digital Assistant)を利用するユーザにとっては煩雑である。
【0006】
また、認証サーバにWEBサイトへの認証を代行させるためには、あらかじめ認証サーバへ認証を代行させたいWEBサイトの登録手続きが必要である(たとえば、特許文献5の図13及び段落番号0060〜0065参照)。
【0007】
本発明の目的は、起動するたびに毎回ログイン画面にて文字入力を行い認証を行ったり、あらかじめ代行させるWEBサイトの登録手続きを行うなど、面倒な手続きからユーザを解放することにある。
【課題を解決するための手段】
【0008】
本発明の1つの側面による認証システムは、少なくとも一人のユーザが使用する少なくとも一つの端末と、アクセスに認証が必要な少なくとも一つのWEBサーバと、前記各端末と各WEBサーバとの間を中継する中継サーバであって、前記端末から前記WEBサーバへのコンテンツ要求が最初にあったときに前記WEBサーバからの認証要求を受けて前記端末に認証情報を要求し、前記端末から得られた認証情報を前記WEBサーバに送信すると共にデータベースに記録し、次に前記端末から前記WEBサーバへのコンテンツ要求があったときに、前記端末に代わり、前記データベースから認証情報を生成して前記WEBサーバに送信する中継サーバと、を備える。
【0009】
また、本発明の他の側面による中継サーバは、端末と、アクセスに認証が必要なWEBサーバと、の間を中継する中継サーバであって、前記端末から前記WEBサーバへのコンテンツ要求が最初にあったときに前記WEBサーバからの認証要求を受けて前記端末に認証情報を要求し、前記端末から得られた認証情報を前記WEBサーバに送信すると共にデータベースに記録し、次に前記端末から前記WEBサーバへのコンテンツ要求があったときに、前記端末に代わり、前記データベースから認証情報を生成して前記WEBサーバに送信する。
【0010】
本発明のさらに他の側面による中継サーバの認証プログラムは、端末と、アクセスに認証が必要なWEBサーバと、との間を中継する中継サーバの認証プログラムであって、前記端末から前記WEBサーバへのコンテンツ要求があったときに、前記WEBサーバからの認証要求を受けて前記端末に認証情報を要求し、前記端末から得られた認証情報を前記WEBサーバに送信すると共にデータベースに記録するステップと、前記記録するステップの後に前記端末から前記WEBサーバにコンテンツ要求があったときに、前記端末に代わり、前記データベースから認証情報を生成して前記WEBサーバに送信するステップと、を前記中継サーバに実行させる。
【0011】
本発明のさらに他の側面による認証データベースのデータ構造は、少なくとも一人のユーザが使用する少なくとも一つの端末とアクセスに認証が必要な少なくとも一つのWEBサーバとの間を中継する中継サーバが認証のために使用する認証データベースのデータ構造であって、前記各WEBサーバのホスト名と認証の種類であるレルムとを格納するためのシステムデータベースと、前記ユーザ毎に前記各WEBサーバの認証ユーザIDと認証パスワードとを格納するためのユーザデータベースと、前記各端末と前記各ユーザとを対応付けたユーザ判定データベースと、を含み、前記WEBサーバからの認証要求に対する応答として前記端末が認証情報を前記WEBサーバに送信するときに更新され、次に前記端末から前記WEBサーバへアクセスする際に、前記端末に代わって前記中継サーバが前記認証データベースを用いて認証情報を前記WEBサーバに送信するために用いられる。
【0012】
本発明のさらに他の側面による認証システムにおける認証付与方法は、端末と、アクセスに認証が必要なWEBサーバと、前記端末と前記WEBサーバとの間を中継する中継サーバと、を含む認証システムにおける認証付与方法であって、前記中継サーバは、前記端末から前記WEBサーバへのコンテンツ要求が最初にあったときに前記WEBサーバからの認証要求を受けて前記端末に認証情報を要求し、前記端末から得られた認証情報を前記WEBサーバに送信すると共にデータベースに記録し、次に前記端末から前記WEBサーバへのコンテンツ要求があったときに、前記端末に代わり、前記データベースから認証情報を生成して前記WEBサーバに送信する。
【発明の効果】
【0013】
本発明によれば、端末がWEBサーバの認証要求に対して入力した認証情報を中継サーバがデータベースに記録し、次から端末に代えて中継サーバが認証情報をWEBサーバに送るので、ユーザの認証情報入力の負担を軽減することができる。
【図面の簡単な説明】
【0014】
【図1】本発明の一実施例による認証システム全体のブロック図である。
【図2】本発明の一実施例において中継サーバが認証に用いるデータベースの構成を示す図面である。
【図3】本発明の一実施例による認証システムのシーケンス図である。
【図4】本発明の一実施例において端末からコンテンツ要求があったときの中継サーバの処理フロー図である。
【図5】本発明の一実施例において端末から認証情報入力があったときの中継サーバの処理フロー図である。
【図6】本発明の別な実施例におけるシステムデータベースの構成を示す図面である。
【図7】本発明の別な実施例による認証システムのシーケンス図である。
【図8】本発明の別な実施例において端末から認証情報入力があったときの中継サーバの処理フロー図である。
【図9】図8の続きの処理フロー図である。
【図10】本発明の別な実施例において端末からコンテンツ要求があったときの中継サーバの処理フロー図である。
【図11】図10の続きの処理フロー図である。
【図12】本発明のさらに別な実施例におけるユーザデータベースの構成を示す図面である。
【図13】本発明のさらに別な実施例による認証システムのシーケンス図である。
【図14】本発明のさらに別な実施例において端末から認証情報入力があったときの中継サーバの処理フロー図である。
【図15】図14の続きの処理フロー図である。
【図16】本発明のさらに別な実施例において端末からコンテンツ要求があったときの中継サーバの処理フロー図である。
【図17】図16の続きの処理フロー図である。
【図18】本発明のまた別な実施例におけるシステムデータベースの構成を示す図面である。
【図19】本発明のまた別な実施例による認証システムのシーケンス図である。
【図20】本発明のまた別な実施例において端末からコンテンツ要求があったときの中継サーバの処理フロー図である。
【図21】図20の続きの処理フロー図である。
【発明を実施するための形態】
【0015】
本発明の概要について、必要に応じて図面を参照して説明する。なお、概要の説明において引用する図面及び図面の符号は実施形態の一例として示すものであり、それにより本発明による実施形態のバリエーションを制限するものではない。
【0016】
本発明の認証システム100は、少なくとも一人のユーザが使用する少なくとも一つの端末10と、アクセスに認証が必要な少なくとも一つのWEBサーバ30と、各端末10と各WEBサーバ30との間を中継する中継サーバ20とを含んで構成される。端末10は一つであってもよいし、複数であってもよい。また、それぞれの端末10は特定の一人のユーザが使用する端末であってもよいし、複数のユーザが一つの端末10を共用するものであってもよい。さらに、WEBサーバ30は、一つであってもよいし、複数であってもよい。WEBサーバ30は、少なくとも特定のコンテンツにアクセスするためには、認証が必要なサーバである。また、これらの端末10とWEBサーバ30とは、中継サーバ20によって中継される。
【0017】
中継サーバ20は、端末10からWEBサーバ30へのコンテンツ要求が最初にあったときにWEBサーバ30からの認証要求(例えば、HTTPステータスコード401の返信)を受けて端末10に認証情報を要求し、端末10から得られた認証情報(例えば、ユーザID、パスワード)をWEBサーバ30に送信すると共にその認証情報をデータベース40に記録する。さらに、中継サーバ20は、次に端末10からWEBサーバ30へのコンテンツ要求があったときに、端末10に代わり、データベース40から認証情報を生成してWEBサーバ30に送信する。
【0018】
すなわち、WEBサーバ30がアクセスに認証が必要なサーバであれば、少なくとも1回は、端末10からユーザが認証情報を入力する必要がある。そこで、本発明では、中継サーバ20がその認証情報をWEBサーバ30へ送信すると共に、データベース40に記録し、次に端末10から同一のユーザが同一のWEBサーバ30へコンテンツ要求するときは、そのデータベース40からそのユーザのそのWEBサーバ30に対する認証情報を生成し、WEBサーバ30に送信するので、ユーザは、端末10から再度同じ認証情報(例えば、、ユーザID、パスワード)を入力する必要はない。本発明では、ユーザが最初にWEBサーバ30にアクセスすることに入力した認証情報をそのままデータベース40に記録しているので、ユーザは、2回目以降は何も意識することなく、WEBサーバ30にアクセスすることができる。また、データベース40への認証情報の登録に関してユーザは何も操作する必要はない。
【0019】
さらに、データベース40は、各WEBサーバ30のホスト名と認証の種類であるレルムとを格納するためのシステムデータベース(図2(a))と、ユーザ毎に前記各WEBサーバ30の認証ユーザIDと認証パスワードとを格納するためのユーザデータベース(図2(b))と、各端末10と各ユーザとを対応付けたユーザ判定データベース(図2(c))と、を含んで構成される。上記データベース40の構成によって、ユーザ、端末10、WEBサーバ30が複数であっても、WEBサーバ30毎に固有の情報、ユーザ毎に固有の情報、ユーザと端末10との関連を示す情報が効率的に管理を行うことができる。
【0020】
特に、中継サーバ20は、端末10からのコンテンツ要求に対してWEBサーバ30から認証要求があったときに、コンテンツ要求のURLと前記システムデータベース(図2(a))のホスト名とレルムが一致していてユーザデータベース(図2(b))に対応する認証ユーザIDと認証パスワードがあるときに、その認証ユーザIDと認証パスワードとを用いて認証情報を生成する。一方、ユーザデータベース(図2(b))に該当する認証ユーザIDと認証パスワードがないときに、端末10から認証情報を入手して、その認証情報をWEBサーバ30へ送信すると共に、システムデータベース(図2(a))にホストとレルムを記録し、ユーザデータベース(図2(b))に認証IDと認証パスワードを記録する。
【0021】
すなわち、ユーザが端末10からWEBサーバ30にコンテンツ要求を最初にしたときは、データベース40には、そのユーザのとのWEBサーバ30に対する認証情報はないので、端末10から認証情報を入力することになるが、2回目からは、ユーザから得た認証情報がデータベース40に格納されていることになるので、データベース40から認証情報の生成ができる。すなわち、最初のアクセスであるか否かは、データベース40に認証情報があるかないかで判断すればよい。
【0022】
また、図6のようにデータベース40のシステムデータベースにリトライ回数を記憶する欄を設けて、中継サーバ20が認証情報をWEBサーバ30に送信したにも係わらず、再度WEBサーバ30がHTTLステータスコード401を返すなど、認証要求があった場合には、リトライ回数をカウントし、データベース40に記録されているリトライ回数になるまでリトライを繰り返すことにより、リトライがタイムアウトによるものか、認識情報自体の誤りによるのか判断することとしている。
【0023】
また、さらに、ユーザデータベースに設けられた認証データ毎に、認証情報有効期限を設けて(図12)管理してもよい。また、システムデータベースにログイン要求URLの欄を設ければ、アクセスするURLから判断して、認証要求を受ける前に、認証情報をWEBサーバ30に送ることもできる。
【0024】
さらに、上記中継サーバ20による認証情報のデータベース40への新規登録、更新、データベース40から生成した認証情報のWEBサーバ30への送信は、中継サーバ20の認証プログラムが中継サーバ20に実行させることができる。なお、中継サーバ20の認証プログラムやデータベース40のデータは、半導体メモリや、ハードディスク、CD、DVD等の磁気記録媒体、光記録媒体等の記憶媒体に格納することができる。以下、実施例について、図面を参照して詳しく説明する。
【実施例1】
【0025】
図1は、実施例1の認証システム100全体のブロック図である。認証システム100は、端末10と、端末10と移動パケット通信網で接続した中継サーバ20と、中継サーバ20とLAN通信を行うWEBサーバ30と、中継サーバ20とLAN通信を行うデータベース40で構成される。
【0026】
端末10は中継サーバ20から取得したコンテンツから次のコンテンツを中継サーバ20に要求する機能を持ち、中継サーバ20は端末10からの要求を受けて、WEBサーバ30に対してコンテンツ取得の要求を行う機能を持つ。また、中継サーバ20はデータベース40にデータを書き込む機能および読み込む機能を持つ。
【0027】
端末10は携帯電話端末であってもよいし、ノート型端末であってもよい。また、PDA型端末であってもよい。
【0028】
端末10は受信したコンテンツの内容を解析し、内容を端末10の画面に表示する機能を持っている。コンテンツを表示する機能はブラウザであってもよいし、アプリケーションであってもよい。端末10と中継サーバ20は同一な複数のマシンをそれぞれ、端末10、又は中継サーバ20として用いてもよい。
【0029】
WEBサーバ30は端末10の画面に表示するためのコンテンツを搭載している。WEBサーバ30は要求があったときにHTTPステータスコードを応答する機能を持っている。また、特定のURLであるコンテンツを表示するためにはBASIC認証を行う機能を持っており、認証情報がない場合、一致しない場合にはステータスコード401を応答し、端末10に対して認証を要求する機能を持つ。端末10に対して認証を要求する認証情報には認証ID、認証パスワードを含むものとする。コンテンツの形式はテキストで端末10が画面に表示する内容を記載したものであってもよいし、HTMLであってもよいし、XMLであってもよい。端末10が解釈でき画面に内容を表示できる言語であればさらに他の言語であってもよい。
【0030】
端末10と中継サーバ20との通信方式として、非圧縮の状態で送受信を行う方式と、データを圧縮して送受信を行う方式と、データを暗号化して送受信を行う方法がある。
【0031】
また、中継サーバ20は、内部にCPU21とプログラム22を格納するメモリを備えている。CPU21は、プログラム22を読み込むことによって、中継サーバとしての機能を実現する。
【0032】
さらに、中継サーバ20に移動パケット通信網を介して接続される端末10は複数あってもよい。また、中継サーバ20とLAN通信するWEBサーバ30も複数あってもよい。
【0033】
図2にデータベース40のデータ構成を示す。データベース40は、図2(a)システムデータベースと、図2(b)ユーザデータベースと、図2(c)ユーザ判定データベースを備えている。図2(a)のシステムデータベースは、WEBサーバ30毎に、システムIDと、認証を行うホストと、認証の種類であるレルムを備えている。また、図2(b)のユーザデータベースは、ユーザ毎の各WEBサーバ30に対する認証情報が、ユーザID、システムID、認証を行うための認証ユーザID、認証を行うための認証パスワードとして記録されている。さらに、図2(c)のユーザ判定データベースは、各端末10毎に、端末識別番号、ユーザIDが記録されている。
【0034】
次に実施例1の概略の動作について図3を用いて説明する。図3は実施例1における端末10、中継サーバ20、WEBサーバ30のシーケンス図である。端末10が中継サーバ20にコンテンツ要求を行う(ステップS101)と中継サーバ20はWEBサーバ30からコンテンツを取得しようとする(ステップS102)。これに対し、WEBサーバ30がHTTPステータスコード401を返し(ステップS103)、コンテンツの取得には認証が必要であることを知らせると、中継サーバ20は、端末10に認証画面を送り認証情報の入力を要求する(ステップS104)。
【0035】
ステップS105で端末10から認証情報を入力すると中継サーバ20は、端末10から送られてきた認証情報をデータベース40に記録すると共に、認証情報を付加してWEBサーバ30へ送る(ステップS106)。これにより認証が得られたので、WEBサーバ30は認証後のコンテンツを中継サーバ20に送り(ステップS107)、中継サーバ20は、この認証後のコンテンツを端末10に送る(ステップS108)。ここまでの処理により、WEBサーバ30の認証が得られると共に、その認証情報がデータベース40に記録された。
【0036】
ステップS109では、再度同じユーザが同じ端末10から同じWEBサーバ30に対してコンテンツ要求をする。中継サーバ20がコンテンツ取得を試みた(ステップS110)結果、WEBサーバ30からHTTPステータスコード401が返され(ステップS111)、コンテンツ取得には、ユーザの認証情報が必要になった。しかし、すでに認証情報は、ステップS106でデータベース40に記録されているので、端末10に認証画面を送信することなく、テータベース40からユーザのWEBサーバ30に対する認証情報を生成し、付与してコンテンツ取得を試みる(ステップS112)と、WEBサーバ30からは、認証後のコンテンツが送信される(ステップS113)ので、中継サーバ20は、中継して認証後のコンテンツを端末10に送る(ステップS114)。すなわち、2度目のコンテンツ要求からは、データベース40に認証情報が記録されているので、端末10から認証情報を入力しなくとも、認証後のコンテンツが取得できる。
【0037】
次に、中継サーバ20の動作を中心に、より詳細な動作について説明する。図4と図5は、中継サーバ20のより詳細なフロー図である。図4は、図3のステップS101とステップS109で端末10からコンテンツ要求があったときの中継サーバ20の処理である。ステップS101で、端末10からコンテンツ要求があると、図4の処理が始まる。中継サーバ20は端末10からのリクエストを受信する(ステップS11)。次に中継サーバ20はユーザ判定を行う(ステップS12)。ユーザ判定はユーザ判定データベースを参照し、端末識別番号とユーザIDから端末10の妥当性を判別する。ユーザ判定でNGの場合はアクセスエラーと判断し、アクセスエラーページを応答する(ステップS20)。その後WEBサーバ30に対してコンテンツ取得を行う(ステップS102およびステップS13)。WEBサーバ30がHTTPステータスコード401を応答し(ステップS103)認証が必要であることを知らせてきたので、中継サーバ20はHTTPステータスコードが401かどうかの判別を行う(ステップS14)。HTTPステータスコードが401の場合はこの段階では、データベース40に「ホスト」と「レルム」のレコードを保存していないため(ステップS15)、認証画面を作成し(ステップS18−2)、端末10に応答する(ステップS104およびステップS19)。
【0038】
端末10で認証画面が表示されたとき、端末10にて認証情報を入力すると(ステップS105)、図5の処理が始まり、中継サーバ20はリクエストを受信する(ステップS21)。次に中継サーバ20はユーザ判定を行う(ステップS22)。ステップS22でのユーザ判定はステップS12でのユーザ判定と同様の処理を行う。端末10からのリクエストパラメータの「ホスト」および「レルム」「認証ID」「認証パスワード」を取り出し(ステップS23)、データベース40のシステムデータベース(図2(a))に「ホスト」「レルム」を保存し、次にリクエストパラメータの認証ユーザID、認証パスワードをデータベース40のユーザデータベース(図2(b))に保存する(ステップS24)。
【0039】
次に中継サーバ20はWEBサーバ30に対して認証情報を付与して(ステップS25)コンテンツ取得要求を行うと(ステップS106およびステップS26)、WEBサーバ30はBASIC認証を行う。その後、中継サーバ20はHTTPステータスコードが401かどうかの判別を行い(ステップS27−1)、HTTPステータスコードが401の場合は認証画面を作成し(ステップS27−2)、401でない場合は認証後のコンテンツを応答し(ステップS107)、中継サーバ20は端末10に認証後のコンテンツを表示する(ステップS108およびステップS28)。
【0040】
次に、データベース40にホスト、レルム、認証ID、認証パスワードが保存されている状態で、端末10は中継サーバ20に対してコンテンツ要求を行うと(ステップS109)、再度、図4の処理が始まる。中継サーバ20は、端末10からのリスエストを受信する(ステップS11)。次に中継サーバ20はユーザ判定を行う(ステップS12)。中継サーバ20がWEBサーバ30に対してコンテンツ取得を行う(ステップS110およびステップS13)。このとき、WEBサーバ30がHTTPステータスコード401を応答した場合(ステップS111およびステップS14)に、コンテンツ取得要求のURLとデータベース40のシステムデータベース(図2(a))の「ホスト」と「レルム」が一致していて、該当するレコードのユーザデータベース(図(a))に「認証ID」「認証パスワード」に値があるかの判別を行い(ステップS13)、存在しているのであれば中継サーバ20は認証情報を付与して(ステップS16)、再度コンテンツ取得を行う(ステップS112およびステップS17)。WEBサーバ30はBASIC認証を行い、認証後のコンテンツを応答し(ステップS113)、中継サーバ20はHTTPステータスコードが401かどうかの判別を行い(ステップS18−1)、401でなければ中継サーバ20は端末10に認証後のコンテンツを表示する(ステップS114およびステップS19)。HTTPステータスコードが401であった場合には認証画面を作成する(ステップS18−2)。
【0041】
なお、ステップS14等において、WEBサーバ30からのBASIC認証要求(HTTPステータスコード401)には、要求する認証の種類である「レルム」が含まれる。一例を挙げると以下の通りである。
「HTTP/1.1 401 Authorization Required
WWW−Authenticate: Basic realm=“Web Service”」上記の様なWEBサーバ30の応答から中継サーバ20は、WEBサーバ30の「レルム」を知ることができ、データベース40に記録することもできる。
【0042】
この実施例1によれば、データベース40に認証情報を登録しておくことで、ログインページにアクセスすると認証後のコンテンツを表示することができ、ログインページにアクセスする度に認証ID,認証パスワードを入力する手間を省き、操作の煩わしさを改善することができる。認証が必要なWEBサーバ30に対して最初にコンテンツ要求をするときに認証IDと認証パスワードを入力すれば、中継サーバ20が自動的にデータベース40に記録するので、特別な登録手続きを取る必要はない。
【0043】
また、実施例1によれば端末10からログイン情報を送らなくても良いようにするためのログイン代行を中継サーバ20で実現している。従って、携帯電話を端末10に使ったシステムやCookie機能を実装していない端末10に対して有効であり、それぞれの最初のシステム認証すら省略することも可能となる。
【実施例2】
【0044】
次に本発明の実施例2について説明する。実施例2は、端末10がWEBサーバ30からBASIC認証形式のWEBコンテンツを受信したときのWEBコンテンツ中継システムであるが、中継サーバ20がWEBサーバ30に対してWEBコンテンツのリクエストを行ったときに、設定した回数分、連続してHTTPステータスコード401を受信したときに認証ユーザID、認証パスワードを入力する認証画面を端末10にコンテンツとして表示することを特徴としたシステムである。
【0045】
実施例2の基本的な構成は実施例1の構成と同じである。また、データベース40の基本的な構成も図2とほぼ同じであるが、システムデータベースのみ図6の構成となる。システムデータベースとしてシステムID、認証を行うホスト、認証の種類であるレルム、リトライ回数を保持する。すなわち、図2(a)に対して、リトライ回数のデータを備えていることが異なる。また、ユーザデータベースは図2(b)と同一、ユーザ判定データベースは図2(c)と同一である。
【0046】
次に、実施例2の動作について図7から図11を用いて説明する。なお、図8から図11における「P91」、「P112」等の「PXX」または「PXXX」の記号は、他の図へ処理が移ることを示す。数字の上位1桁又は2桁は、移動先の図の番号を示す。他の実施例の図面でも同じである。
【0047】
図7においてステップS201からステップS208間での処理は実施例1の動作を説明した図3のステップS101からステップS108と同様であり、ステップS211からステップS214までの処理は図3のステップS109からステップS112と同様である。端末10で認証画面が表示されたとき、端末10にて認証情報を入力すると(ステップS205)、図8の処理が始まり、中継サーバ20は端末10からのリクエストを受信する(ステップS31)。図8ではステップS31からステップS36は第1の実施例の動作を説明した図5のステップS21からステップS26までの処理と同様である。
【0048】
認証情報を付与してコンテンツ取得要求を行い(ステップS206)、中継サーバ20はWEBサーバ30がHTTPステータス401を応答したかの判別を行う(ステップS207および図9のステップS37−1)。HTTPステータス401を応答したということは、認証情報を付与してコンテンツ取得要求を行ったにもかかわらず、再度認証が必要である旨の応答が返ってきたのであるから、中継サーバ20は認証失敗回数をカウントする(ステップS37−2)。次にデータベース40に保存している該当するホストのリトライ回数(図6参照)を参照し(ステップS37−3)、認証失敗回数がデータベース40で参照したリトライ回数を超えているかどうかの判別を行う(ステップS39−4)。認証失敗回数がリトライ回数を超えている場合には認証情報入力画面を作成し(ステップS38)、端末10にコンテンツを応答する(ステップS208およびステップS38)。
【0049】
一方、認証ID、認証パスワードが保存されている状態で、端末10が中継サーバ20に対してコンテンツ要求を行うと(ステップS211)、図10の処理が始まる。中継サーバ20は認証情報を付与してコンテンツ取得要求を行い(ステップS214、図10のステップS46から図11のステップS47)、WEBサーバ30がHTTPステータス401を応答したかの判別を行い(ステップS215および図11のステップS48−1)、401だったときに中継サーバ20は認証失敗回数をカウントする(ステップS48−2)。次にデータベース40に保存している該当するホストのリトライ回数を参照し(ステップS48−3)、認証失敗回数がデータベース40で参照したリトライ回数を超えているかどうかの判別を行う(ステップS48−4)。認証失敗回数がリトライ回数を超えている場合には認証情報入力画面を作成し(ステップS48−5)、端末10にコンテンツ(認証画面)を応答する(ステップS216およびステップS49)。401でなければ、端末10にコンテンツを応答する(図11のステップS48−1でNoの場合のステップS49)。
【0050】
上記実施例2によれば、認証情報を付与してコンテンツ要求したにも係わらず、HTTPステータスコード401が返ってきた場合には、データベース40に格納されている認証情報を再度WEBサーバ30に送信することにより、セッションがタイムアイトした場合等に、ユーザに再度認証情報を入力する手間を省かせることができる。
【0051】
すなわち、BASIC認証では、認証情報が正しいのにセッションがタイムアウトでHTTPステータスコード401を返す場合と、ID/パスワードが間違っているためHTTPステータスコード401を返す場合との区別がつかない。実施例2では、リトライ回数をカウントすることにより、誤って認証情報を入力した場合において、再度認証情報を入力する画面を表示し、セッションがタイムアウトした場合にはシステム側で再度認証情報を送信することで、ユーザに再度認証情報を入力する手間を省かせることができる。
【0052】
なお、上記実施例2の説明では、データベース40にホスト毎にリトライ回数を設定できる領域を設け、ホスト毎に任意のリトライ回数を設定できるようにした。しかし、ホスト毎にリトライ回数を設定する必要がなく、どのホストに対しても共通のリトライ回数でよい場合は、実施例1のデータベース40に何ら変更を加えなくとも、実施例2の効果が得られる。すなわち、図9と図11のステップS37−3、S37−4、S48−3、S48−4でデータベース40のリトライ回数を参照することに代えて、共通のリトライ回数を基準に判定を行うようにすればよい。
【実施例3】
【0053】
次に本発明の実施例3について説明する。実施例3は、端末がWEBサーバ30からBASIC認証形式のWEBコンテンツを受信したときのWEBコンテンツ中継システムであるが、中継サーバ20がWEBサーバ30からHTTPステータスコード401を受信したときに、データベース40に保存してある認証情報有効期限を参照し、現在時刻が認証情報有効期限を超えている場合には、中継サーバ20が認証情報入力画面を作成し、端末10に表示することを特徴としたシステムである。
【0054】
実施例3の基本的な構成は実施例2の構成と同じである。ただし、データベース40の構成のうち、システムデータベース、ユーザデータベースは、実施例1、実施例2のシステムデータベース、ユーザデータベースに対してカラムが付加されている。実施例3のシステムデータベースを図12(a)に、ユーザデータベースを図12(b)に示す。システムデータベースには図2(a)に対して「有効期間」のカラムが、ユーザデータベースには図6に対して「認証情報有効期限」のカラムが追加されている。「認証情報有効期限」は、その日時が到来するまでは、認証情報が有効であり、その日時を経過した場合には、認証情報が無効になる認証情報の有効期限の末尾が記録された情報である。
【0055】
一方、システムデータベースの「有効期間」は、「認証情報有効期限」を更新するときに、有効期限を延長する期間を決める情報である。ここでは、ホスト名とレルムの組み合わせ毎に、有効期間が自由に決められるようにシステムデータベースに「有効期間」のカラムを設けているが、ホスト名やレルムによらず、どのホストやレルムに対しても更新する期間が一律であるならば、「有効期間」はシステムデータベースの中には情報を持たせずに、図6のシステムデータベースをそのまま用いても構わない。なお、「有効期間」は図12のようにコード化された期間を記録してもよいし、「認証情報有効期限」と同様に期間の日時をそのまま記録してもよい。また、ユーザ判定データベースは図2(c)と同様である。
【0056】
次に、実施例3の動作について図13から図17を用いて説明する。図13のステップS301からステップS307までの処理は図7のステップS201からステップS207までと同様である。端末10で認証画面が表示されたとき、端末10にて認証情報を入力すると(ステップS305)、図14の処理が開始され、中継サーバ20はリクエストを受信する(ステップS51)。図14のステップS51から図15のステップS57−1までの処理は図8のステップS31から図9のステップS37−1までの処理と同様である。中継サーバ20はWEBサーバ30がHTTPステータス401を応答したかの判別を行い(ステップS307およびステップS57−1)、401であればステップS57−2からステップS58までの処理は図9のステップS37−2からステップS38までの処理と同様である。401でなければ、データベース40の認証期間有効期限のカラムを更新する(ステップS59)。この「認証情報有効期限」の更新は、現在時刻を取得し、現在時刻に「有効期間」により決められた期間を加算し、その加算された日時を新しい「認証情報有効期限」として更新する。
【0057】
認証ID、認証パスワードが保存されている状態で、端末10が中継サーバ20に対してコンテンツ要求を行うと(ステップS309)、図16の処理が始まる。ステップS61からステップS65−1までは図10のステップS41からステップS45までと同様である。
【0058】
実施例3では、WEBサーバ30からHTTPステータス401が戻ってきたとき(ステップS310)、コンテンツ取得要求のURLとデータベース40の「ホスト」と「レルム」が一致していて、該当するレコードの「認証ID」「認証パスワード」に値があるならば(ステップS65−1でYes)、現在時刻を取得し(ステップS65−2)、データベース40から該当するホストの「認証情報有効期限」を取得する(ステップS65−3)。その後、現在時刻が「認証情報有効期限」を超えているかの判別を行う(ステップS65−4)。有効期限を越えていれば(ステップS65−4でYes)、認証入力画面を作成し(図17のステップS68−5)、端末10にコンテンツを応答する(ステップS69およびステップS312)。現在時刻が有効期限を超えていなければ(ステップS65−4でNo)、現在時刻に「有効期間」を加算し、その加算された日時を新しい「認証情報有効期限」としてデータベース40を更新する(ステップS65−5)。その後の図17のステップS66からステップS69までの処理は図10のステップS46から図11のステップS49までの処理と同様となる。
【0059】
実施例3によれば、前回認証を行った時間からデータベースに設定した有効期限を過ぎた場合に認証要求が来た場合に自動ログインは行わないことで、なりすましや不正なアクセスを防ぐことができる。
【実施例4】
【0060】
次に本発明の実施例4について説明する。端末がWEBサーバ30からBASIC認証形式のWEBコンテンツを受信したときのWEBコンテンツ中継システムであるが、一度認証した後にも、リクエストURLがデータベース40で保存しているログイン要求判定用URLと前方一致している場合にはHTTPステータスコード401を受信しなくても認証情報を付与して、コンテンツ取得を行うことを特徴とするシステムである。
【0061】
実施例4の基本的な構成は実施例3の構成と同じである。ただし、データベース40の構成は以下のとおりである。システムデータベースは図18のとおりとなり、ホスト、レルム、リトライ回数の欄に加えて、ログイン要求判定用URLの欄を設けている。なお、ユーザデータベースの構成は、図10と同様であり、ユーザ判定データベースの構成は、図2(c)と同一である。
【0062】
実施例4の動作について図19から図21までを用いて説明する。端末10がコンテンツ要求を行う(図19のステップS401)と、図20の処理が始まり、中継サーバ20は、端末10からのリクエストを受信する(ステップS71)。次に中継サーバ20がユーザ判定を行った後に、リクエストURLがデータベース40の「ログイン要求判定用URL」と前方一致するレコードがあるかの判別を行う(ステップS72−1)。前方一致するレコードがあるならば図21のステップS76に遷移し、リクエストパラメータに認証情報を付与する。前方一致しないのであれば、図20のステップS73に遷移する。図20のステップS73から図21のステップS79までの処理は図16のステップS63から図17のステップS69までの処理と同様である。
【0063】
実施例4によれば、ログイン後のコンテンツ取得においても認証情報を要求するシステムにおいて、ログイン後のコンテンツ取得に対して、認証情報なくコンテンツ取得要求し、WEBサーバ30から認証要求を受けてから認証情報を付与して再度要求し応答を取得するという2往復必要な処理を1往復で済ますことができる。
【0064】
なお、本発明におけるHTTPステータスコードやBASIC認証手順は、IETF(The Internet Engineering Task Force)が技術標準として公開している以下の(1)、(2)のRFC(Request for Comments)によって定義されているものに対応することが可能である。
【0065】
(1)RFC 2068: Hypertext Transfer Protocol − HTTP/1.1
【0066】
(2)RFC 2617: HTTP Authentication: Basic and Digest Access Authentication
【0067】
以上、実施例について説明したが、本発明は上記実施例の構成にのみ制限されるものでなく、本発明の範囲内で当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【0068】
10:端末
20:中継サーバ
21:CPU
22:プログラム
30:WEBサーバ
40:データベース
100:認証システム

【特許請求の範囲】
【請求項1】
少なくとも一人のユーザが使用する少なくとも一つの端末と、
アクセスに認証が必要な少なくとも一つのWEBサーバと、
前記各端末と各WEBサーバとの間を中継する中継サーバであって、前記端末から前記WEBサーバへのコンテンツ要求が最初にあったときに前記WEBサーバからの認証要求を受けて前記端末に認証情報を要求し、前記端末から得られた認証情報を前記WEBサーバに送信すると共にデータベースに記録し、次に前記端末から前記WEBサーバへのコンテンツ要求があったときに、前記端末に代わり、前記データベースから認証情報を生成して前記WEBサーバに送信する中継サーバと、
を備えたことを特徴とする認証システム。
【請求項2】
前記データベースが、
前記各WEBサーバのホスト名と認証の種類であるレルムとを格納するためのシステムデータベースと、
前記ユーザ毎に前記各WEBサーバの認証ユーザIDと認証パスワードとを格納するためのユーザデータベースと、
前記各端末と前記各ユーザとを対応付けたユーザ判定データベースと、
を含むことを特徴とする請求項1記載の認証システム。
【請求項3】
前記中継サーバは、前記端末からのコンテンツ要求に対して前記WEBサーバから認証要求があったときに、前記コンテンツ要求のURLと前記システムデータベースのホスト名とレルムが一致していて前記ユーザデータベースに対応する認証ユーザIDと認証パスワードがあるときに、当該認証ユーザIDと認証パスワードを用いて認証情報を生成し、
前記ユーザデータベースに該当する認証ユーザIDと認証パスワードがないときに、前記端末から認証情報を入手して、当該認証情報を前記WEBサーバへ送信すると共に、前記システムデータベースにホストとレルムを記録し、前記ユーザデータベースに認証IDと認証パスワードを記録することを特徴とする請求項2記載の認証システム。
【請求項4】
前記WEBサーバはBASIC認証を行うWEBサーバであって、
前記中継サーバが前記認証情報を前記WEBサーバに送信した結果、再度前記WEBサーバから認証要求があった場合にはリトライ回数をカウントし、所定のリトライ回数を超えた場合は、前記端末に対して認証情報を要求することを特徴とする請求項2又は3記載の認証システム。
【請求項5】
前記ユーザデータベースには、認証情報の有効期限が含まれ、
前記中継サーバは、コンテンツ要求を前記WEBサーバに送信した結果、前記WEBサーバから認証要求があった場合に現在時刻が前記有効期限を超えているか否かチェックし、前記有効期限を超えていた場合は、前記端末に対して認証要求を行うことを特徴とする請求項2乃至4いずれか1項記載の認証システム。
【請求項6】
前記システムデータベースには、ログイン要求URLが含まれ、
前記端末からのリクエストURLが前記ログイン要求URLと前方一致していた場合は、前記WEBサーバから認証要求がなくとも前記端末からのリクエストパラメータに前記認証情報を付与して前記WEBサーバにリクエスト要求を行うことを特徴とする請求項2乃至5いずれか1項記載の認証システム。
【請求項7】
前記中継サーバは前記端末からのリクエストを受信したときに、前記データベースに含まれる前記各端末と前記各ユーザとを対応付けたユーザ判定データベースを用いて端末識別番号とユーザIDの妥当性を判別することを特徴とする請求項1乃至6いずれか1項記載の認証システム。
【請求項8】
前記WEBサーバの認証要求がコンテンツ要求に対してHTTPステータスコード401を返信することであることを特徴とする請求項1乃至7いずれか1項記載の認証システム。
【請求項9】
端末と、アクセスに認証が必要なWEBサーバと、の間を中継する中継サーバであって、前記端末から前記WEBサーバへのコンテンツ要求が最初にあったときに前記WEBサーバからの認証要求を受けて前記端末に認証情報を要求し、前記端末から得られた認証情報を前記WEBサーバに送信すると共にデータベースに記録し、次に前記端末から前記WEBサーバへのコンテンツ要求があったときに、前記端末に代わり、前記データベースから認証情報を生成して前記WEBサーバに送信することを特徴とする中継サーバ。
【請求項10】
端末と、アクセスに認証が必要なWEBサーバと、との間を中継する中継サーバの認証プログラムであって、
前記端末から前記WEBサーバへのコンテンツ要求があったときに、前記WEBサーバからの認証要求を受けて前記端末に認証情報を要求し、前記端末から得られた認証情報を前記WEBサーバに送信すると共にデータベースに記録するステップと、
前記記録するステップの後に前記端末から前記WEBサーバにコンテンツ要求があったときに、前記端末に代わり、前記データベースから認証情報を生成して前記WEBサーバに送信するステップと、
を前記中継サーバに実行させることを特徴とする中継サーバの認証プログラム。
【請求項11】
前記端末が一人以上のユーザが使用する一つ以上の端末であり、
前記WEBサーバが一つ以上であって、
前記データベースが、前記各WEBサーバのホスト名と認証の種類であるレルムとを格納するためのシステムデータベースと、前記ユーザ毎に前記各WEBサーバの認証ユーザIDと認証パスワードとを格納するためのユーザデータベースと、前記各端末と前記各ユーザとを対応付けたユーザ判定データベースと、を含むデータベースであることを特徴とする請求項10記載の認証プログラム。
【請求項12】
前記端末からのリクエストを受信したときに、前記データベースに含まれる前記各端末と前記各ユーザとを対応付けたユーザ判定データベースを用いて端末識別番号とユーザIDの妥当性を判別することを特徴とする請求項10又は11記載の認証プログラム。
【請求項13】
少なくとも一人のユーザが使用する少なくとも一つの端末とアクセスに認証が必要な少なくとも一つのWEBサーバとの間を中継する中継サーバが認証のために使用する認証データベースのデータ構造であって、
前記各WEBサーバのホスト名と認証の種類であるレルムとを格納するためのシステムデータベースと、
前記ユーザ毎に前記各WEBサーバの認証ユーザIDと認証パスワードとを格納するためのユーザデータベースと、
前記各端末と前記各ユーザとを対応付けたユーザ判定データベースと、を含み、
前記WEBサーバからの認証要求に対する応答として前記端末が認証情報を前記WEBサーバに送信するときに更新され、次に前記端末から前記WEBサーバへアクセスする際に、前記端末に代わって前記中継サーバが前記認証データベースを用いて認証情報を前記WEBサーバに送信するために用いられる認証データベースのデータ構造。
【請求項14】
端末と、アクセスに認証が必要なWEBサーバと、前記端末と前記WEBサーバとの間を中継する中継サーバと、を含む認証システムにおける認証付与方法であって、
前記中継サーバは、前記端末から前記WEBサーバへのコンテンツ要求が最初にあったときに前記WEBサーバからの認証要求を受けて前記端末に認証情報を要求し、前記端末から得られた認証情報を前記WEBサーバに送信すると共にデータベースに記録し、次に前記端末から前記WEBサーバへのコンテンツ要求があったときに、前記端末に代わり、前記データベースから認証情報を生成して前記WEBサーバに送信することを特徴とする認証システムにおける認証付与方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate