JP2004326341A - 通信プログラム及び通信方法 - Google Patents
通信プログラム及び通信方法 Download PDFInfo
- Publication number
- JP2004326341A JP2004326341A JP2003118710A JP2003118710A JP2004326341A JP 2004326341 A JP2004326341 A JP 2004326341A JP 2003118710 A JP2003118710 A JP 2003118710A JP 2003118710 A JP2003118710 A JP 2003118710A JP 2004326341 A JP2004326341 A JP 2004326341A
- Authority
- JP
- Japan
- Prior art keywords
- information
- authentication information
- storage server
- application
- authentication
- 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
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
【解決手段】(1)リクエスト解析手段が、第1のリクエストパケットを解析して、ユーザIDと、パスワードと、第1のアプリケーションソフトを特定する情報」とを切り出し、(2)格納先選定手段が、再認証情報が格納されるべき再認証情報格納サーバを選定し、(3)アプリ起動手段が、第1のアプリケーションソフトを起動し、(4)再認証情報生成手段が、ユーザIDと、第1のランダム変数とに基づいて第1の再認証情報を生成して、再認証情報格納サーバへ格納し、(5)セッション情報変数化手段が、第1の再認証情報と、再認証情報格納サーバを特定する情報とを含む第1のセッション情報を生成し、(6)レスポンス生成手段が、第1のセッション情報を含む第1のレスポンスパケットを生成する。
【選択図】 図3
Description
【発明の属する技術分野】
本発明は、WWW(World Wide Web)環境下で動作するクライアントサーバシステムに使用される通信方法及び通信プログラムに関し、特に不正なアクセスを排除可能であり、かつWWWサーバが多数のクライアントコンピュータから同時にアクセスを受け付け、複数のデータベースサーバに負荷を分散させることが可能な通信方法及び通信プログラムに関する。
【0002】
【従来の技術】
WWW環境下で使用される業務処理用クライアントサーバシステムであって、不正なアクセスを排除するために、所定のクライアントコンピュータとWWWサーバ間で、最初のユーザ認証から一連のリソースのやり取りにおいて、その所定のクライアントコンピュータのみが使用できる再認証情報を切れ目なく使用する技術が開示されている(例えば、特許文献1参照。)。
【0003】
【特許文献1】
特開平10−124459(第1図)
【0004】
【発明が解決しようとする課題】
しかしながら、上記従来技術においては、同時にアクセスするクライアントコンピュータ数が著しく増加するなどして単位時間当たりの処理量が増大した場合に、複数のデータベースサーバに負荷を分散させるためには、どのデータベースサーバがどのクライアントコンピュータの処理を担当しているかを一元管理するマスタサーバが必要になる。
【0005】
しかしながら、マスタサーバを使用した場合、仮にマスタサーバにトラブルが発生し、正常に動作しなくなってしまうと、全てのデータベースサーバも正常に動作できなくなってしまう。
【0006】
また、各クライアントコンピュータから送られてくるリクエストパケットの処理を担当するDBサーバを予め決めておくことによって、マスタサーバがなくても、多数のリクエストの処理を複数のDBサーバに分担させることは可能である。例えば、第1の支店のクライアントコンピュータからのリクエストパケットは第1のDBサーバが処理を担当し、第2の支店のクライアントコンピュータからのリクエストパケットは第2のDBサーバが処理を担当する。
【0007】
しかし、このように負荷の分担を固定化する方法では、第1の支店のクライアントコンピュータ数と第2の支店のクライアントコンピュータ数とに偏りがあると、DBサーバの負荷にも偏りが生じてしまう。また、両支店のクライアントコンピュータ数が同程度であったとしても、ある時点において、第1の支店からリクエストパケットが多量に発生し、第1のDBサーバの負荷が限界近くに達し、第1のDBサーバがリクエストパケットを受信してからレスポンスパケットを送信するまでの応答時間が長くなってしまっているのに対し、一方、第2の支店からリクエストパケットがほとんど発生せず、第2のDBサーバの稼働率が極めて低いという状態が生じうる。さらに、第1のDBサーバがダウンしてしまうと、たとえ第2のDBサーバが通常どおり稼働していても、第1の支店から送信されたリクエストパケットに対する処理は全て停止してしまう。同様に、第2のDBサーバがダウンしてしまうと、たとえ第1のDBサーバが通常どおり稼働していても、第2の支店から送信されたリクエストパケットに対する処理は、全て停止してしまうという問題がある。
【0008】
本発明は、上記課題に鑑みてなされたものであり、負荷が増大し、複数のデータベースサーバに負荷を分散させる場合に、マスタサーバを必要とすることなく、複数のWWWサーバを並列に接続可能な通信方法及び通信プログラムの提供を目的とする。
【0009】
【課題を解決するための手段】
本発明の第1の特徴は、クライアントコンピュータから第1のリクエストパケットを受信し、クライアントコンピュータに第1のレスポンスパケットを送信する通信プログラムであって、
(1)リクエスト解析手段が、第1のリクエストパケットを解析して、「ユーザID」と「パスワード」と「第1のアプリケーションソフトを特定する情報」とを切り出し、
(2)格納先選定手段が、再認証情報が格納されるべき再認証情報格納サーバを選定し、
(3)アプリ起動手段が、第1のアプリケーションソフトを起動し、
(4)再認証情報生成手段が、「ユーザID」と「第1のランダム変数」とに基づいて第1の再認証情報を生成して、再認証情報格納サーバへ格納し、
(5)セッション情報変数化手段が、「第1の再認証情報」と「再認証情報格納サーバを特定する情報」とを含む第1のセッション情報を生成し、
(6)レスポンス生成手段が、第1のセッション情報を含む第1のレスポンスパケットを生成する、ことにある。
【0010】
かかる第1の特徴によれば、「ユーザIDと第1のランダム変数とに基づいて生成された第1の再認証情報」と「第1の再認証情報が格納されているDBサーバ(再認証情報格納サーバ)がどれかを示す情報」とを含む第1のレスポンスパケットがクライアントコンピュータに送信される。
【0011】
また、本発明の第2の特徴は、
(1)リクエスト解析手段が、さらに、第2のリクエストパケットを解析して、「第2のアプリケーションソフトを特定する情報」と「第1のセッション情報」とを切り出し、
(2)セッション情報分解手段が、第1のセッション情報から「再認証情報格納サーバを特定する情報」と「第1の再認証情報」とを取得し、さらに第1の再認証情報から「ユーザID」を取得し、
(3)再認証情報確認手段が、「再認証情報格納サーバから取得した第1の再認証情報」と「第1のセッション情報から取得した第1の再認証情報」とを比較することによって、再認証処理を行い、
(4)アプリ起動手段が、さらに、第2のアプリケーションソフトを起動させ、(5)再認証情報生成手段が、さらに、「ユーザID」と「第2のランダム変数」とに基づいて第2の再認証情報を生成して、再認証情報格納サーバに格納し、(6)セッション情報変数化手段が、さらに、「再認証情報格納サーバを特定する情報」と「第2の再認証情報」とに基づいて第2のセッション情報を生成し、(7)レスポンス生成手段が、さらに、第2のセッション情報を含む第2のレスポンスパケットを生成する、ことにある。
【0012】
かかる第2の特徴によれば、「再認証情報格納サーバから取得した第1の再認証情報」と「第1のセッション情報から取得した第1の再認証情報」とを比較することによって、再認証処理が行われ、また、「ユーザIDと第2のランダム変数とに基づいて生成された第2の再認証情報」と「第2の再認証情報が格納されているDBサーバ(再認証情報格納サーバ)がどれかを示す情報」とを含む第2のレスポンスパケットがクライアントコンピュータに送信される。
【0013】
また、本発明の第3の特徴は、
(1)格納先選定手段が、さらに、「第1のアプリケーションソフトによって生成される第1の一時情報」と「第2のアプリケーションソフトによって生成される第2の一時情報」とを格納する「アプリ情報格納サーバ」を選定し、
(2)アプリ起動手段が、さらに、第1の一時情報をアプリ情報格納サーバに格納し、
(3)セッション情報変数化手段が、さらに、アプリ情報格納サーバを特定する情報も含めて第1のセッション情報を生成する、ことにある。
【0014】
かかる第3の特徴によれば、「第1の一時情報が格納されているDBサーバ(アプリ情報格納サーバ)がどれかを示す情報」をも含む第1のレスポンスパケットがクライアントコンピュータに送信される。
【0015】
さらに、本発明の第4の特徴は、
(1)セッション情報分解手段が、さらに、第1のセッション情報からアプリ情報格納サーバを特定する情報も取得し、
(2)アプリ起動手段が、さらに、アプリ情報格納サーバから第1の一時情報を読み取り、第2の一時情報をアプリ情報格納サーバに格納し、
(3)セッション情報変数化手段が、さらに、アプリ情報格納サーバを特定する情報も含めて第2のセッション情報を生成する、ことにある。
【0016】
かかる第4の特徴によれば、「第1の一時情報」を利用して「第2の一時情報」が生成され、かつ「第2の一時情報が格納されているDBサーバ(アプリ情報格納サーバ)がどれかを示す情報」をも含む第2のレスポンスパケットがクライアントコンピュータに送信される。
【0017】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施の形態を説明する。まず、第1,第2の実施形態の共通事項について説明し、次に、第1,第2の実施形態のそれぞれについて説明する。
【0018】
図1に示すように、本実施形態で使用するクライアントサーバシステムでは、多数のクライアントコンピュータ101がインターネット102を介してロードバランサ103にアクセスできる。ロードバランサ103は各WWWサーバ104に接続され、各WWWサーバ104は各データベース(DB)サーバ105に接続される。なお、大規模なシステムになると、クライアントコンピュータ101は数百から数万台程度、WWWサーバ104は数十から数百台程度、DBサーバ105は数台程度となるのが一般的であるが、このような数は単なる例示に過ぎない。
【0019】
また、クライアントコンピュータ101は、(1)HTTP(Hyper Text Transfer Protocol)などの所定のプロトコルに従って、クライアント側の要求を伝えるリクエストパケットを送信でき、(2)またその要求に対する応答であるレスポンスパケットを受信でき、(3)レスポンスパケットに含まれるHTML(Hyper Text Markup Language)、SGML(Standard Generalized Markup Language)、DHTML(Dynamic HTML)、XHTML(Extensible HTML)などのマークアップ言語で記述された画面構成情報に基づいて画面を表示可能なウェブブラウザとCRTディスプレイや液晶ディスプレイなどの表示装置を有するものであれば良く、デスクトップ型、ノート型、携帯端末のいずれであっても良い。
【0020】
ロードバランサ103は、各WWWサーバ104の応答速度などの稼働状態を随時監視し、各WWWサーバ104の応答速度がほぼ均等となるように負荷を分散させる。ロードバランサ103は、単純な負荷分散のみを行うのであって、クライアントコンピュータ101から受け取ったリクエストパケットの内容に応じて転送先となるWWWサーバ104を選択するものではない。また、一連のトランザクションを同じWWWサーバ104に転送する必要はない。
【0021】
WWWサーバ104は、1つのトランザクションの最初のリクエストパケットを受信した時にラウンドロビン方式などによって、そのトランザクションに関する再認証情報を格納するDBサーバ105を、又は再認証情報を格納するDBサーバ105とアプリケーションソフトの一時情報を格納するDBサーバ105をそれぞれ選定する。
【0022】
図2に示すように、本実施形態で使用するWWWサーバ104は、バス210を介してサーバ全体の制御を行う制御手段である中央処理装置(CPU)201と、ロードバランサ103及びDBサーバ109と通信する通信装置202と、基本入出力システム(BIOS)などが記憶されるリードオンリーメモリ(ROM)203と、プログラム領域とデータ領域を有するランダムアクセスメモリ(RAM)204と、オペレーションシステム(OS)や通信プログラム等を格納するハードディスクドライブ(HDD)205と、外部記録媒体を制御する記録媒体ドライブ206等を備える。外部記憶媒体には、コンパクトディスク−リードオンリーメモリ(CD−ROM)、フレキシブルディスク(FD)、光磁気ディスク(MO)、ミニディスク(MD)、デジタルビデオディスク(DVD)などが含まれる。そして、プログラムやデータは、これら外部記録媒体やHDD25からRAM24にロードされて実行される。これらの構成要素は単なる例示である。
【0023】
図3に示すように、本実施形態の通信プログラムがWWWサーバに読み込まれることにより、以下の具体的手段を有する情報処理装置が構築される。
【0024】
リクエスト解析手段301は、受信したリクエストパケットを解析し、リクエストパケットに含まれる変数を切り出す。例えば、起動すべきアプリケーションの名称、ユーザIDやパスワードが、切り出される。また、2回目以降のリクエストパケットからは、直前のレスポンスパケットに含まれているセッション情報が、切り出される。
【0025】
格納先選定手段303は、再認証情報格納サーバとして使用するDBサーバやアプリ情報格納サーバとして使用するDBサーバを選定する。再認証情報格納サーバとして使用するDBサーバとアプリ情報格納サーバとして使用するDBサーバとは、同一のサーバであっても別個のサーバであっても良い。選定は、例えば、予め用意された格納先設定ファイルによって指定された複数のDBサーバの中からラウンドロビン方式などの負荷分散方式に基づいて行う。
【0026】
アプリ起動手段305は、リクエストパケットに含まれる変数によって指定されるアプリケーションを起動する。一時情報が存在する場合、その一時情報は、格納先選定手段303によって選定されたアプリ情報格納サーバに格納される。格納された一時情報は、次回以降のリクエストパケットに含まれる変数によって指定されるアプリケーションに引き渡される。アプリ起動手段305によって起動されるアプリケーションは、例えば(1)WWWサーバ上で起動されるCGI(Common Gateway Interface)アプリケーション、または(2)WWWサーバから処理を引き継ぎDBサーバとの処理を効率的にさばくアプリケーションサーバ上のアプリケーションなどである。WWWサーバ上のCGIアプリケーションを起動させる方式は、リクエストパケット数が多くなるとWWWサーバの負担がかなり大きくなってしまうから、そのような場合はアプリケーションサーバ上のアプリケーションを起動させる方式が好ましい。
【0027】
再認証情報生成手段307は、次回のリクエストパケットを受信した際に使用される認証情報(以下、「再認証情報」と言う。)を生成し、格納先選定手段303によって選定された再認証情報格納サーバに格納する。再認証情報は、例えば、ユーザID及びリクエスト毎に変化するランダム変数に基づいて生成される。再認証情報の生成に使用されるユーザIDは、一意となる値でなくてはならないので、例えば「クライアントコンピュータが設置されている支店の支店番号+口座番号+電子証明書の証明書番号」や、「クライアントコンピュータである携帯端末を管理している支店の支店番号+口座番号+携帯端末の端末番号」などが使用される。
【0028】
セッション情報変数化手段309は、
・再認証情報格納サーバとして選定されたDBサーバを特定する情報と
・再認証情報とを、
又は
・再認証情報格納サーバとして選定されたDBサーバを特定する情報と
・アプリ情報格納サーバとして選定されたDBサーバを特定する情報と
・再認証情報とを
結合し暗号化してセッション情報を生成する。
【0029】
レスポンス生成手段311は、アプリ起動手段305によって実行されたアプリケーションから取得した処理結果を基に送信データ(例えば、HTMLによって記述された画面構成データ)を生成し、それにセッション情報を付加してレスポンスパケットを生成し、クライアントコンピュータ101へ送信する。
【0030】
セッション情報分解手段313は、リクエストパケットから切り出されたセッション情報を復号化し、
・再認証情報格納サーバとして選定されたDBサーバを特定する情報と
・再認証情報とを、
又は
・再認証情報格納サーバとして選定されたDBサーバを特定する情報と
・アプリ情報格納サーバとして選定されたDBサーバを特定する情報と
・再認証情報とを、
取得する。再認証情報に関しては、さらにユーザIDとランダム変数とに分ける。
【0031】
再認証情報確認手段315は、
(1)セッション情報から再認証情報を読み出し、
(2−1)セッション情報から格納先情報を読み出し、
(2−2)格納先情報に基づいて、再認証情報格納サーバからも再認証情報を読み出し、
(3)両再認証情報を比較し、両再認証情報が一致するかを判断することによって、再認証処理を行う。
【0032】
(第1の実施形態)
まず、クライアントコンピュータとWWWサーバと再認証情報格納サーバとの間の送受信内容について概説する。
【0033】
図4に示すように、WWWサーバ104は、まず
・クライアントコンピュータ101から第1のリクエストパケットを受信し(401)、
・再認証情報格納サーバに第1の再認証情報を格納し(402)、
・第1のセッション情報を含む第1のレスポンスパケットをクライアントコンピュータ101に送信する(403)。
【0034】
第1のセッション情報は、
・第1の再認証情報と
・第1の再認証情報が格納されている再認証情報格納サーバを示す情報と
が結合され、暗号化されて、作成される。
【0035】
WWWサーバ104は、次に、
・クライアントコンピュータ101から第1のセッション情報を含む第2のリクエストパケットを受信し(404)、
・再認証情報格納サーバから第1の再認証情報を読み取り(405)、
・再認証情報格納サーバに第2の再認証情報を格納し(406)、
・第2のセッション情報を含む第2のレスポンスパケットをクライアントコンピュータ101に送信する(407)。
【0036】
第2のセッション情報は、
・第2の再認証情報と
・第2の再認証情報が格納されている再認証情報格納サーバを示す情報と
が結合され、暗号化されて、作成される。
【0037】
WWWサーバ104は、さらに、
・クライアントコンピュータ101から第2のセッション情報を含む第3のリクエストパケットを受信し(408)、
・再認証情報格納サーバから第2の再認証情報を読み取り(409)、
・再認証情報格納サーバに第3の再認証情報を格納し(410)、
・第3のセッション情報を含む第3のレスポンスパケットをクライアントコンピュータ101に送信する(411)。
【0038】
第3のセッション情報は、
・第3の再認証情報と
・第3の再認証情報が格納されている再認証情報格納サーバを示す情報と
が結合され、暗号化されて、作成される。
【0039】
WWWサーバ104は、さらに、
・クライアントコンピュータ101から第(n−1)のセッション情報を含む第nのリクエストパケットを受信し、
・再認証情報格納サーバから第(n−1)の再認証情報を読み取り、
・再認証情報格納サーバに第nの再認証情報を格納し、
・第nのセッション情報を含む第nのレスポンスパケットをクライアントコンピュータ101に送信する、という処理を繰り返す。ここで「n」は4以上の整数とする。
【0040】
図5に示すように、第1のリクエストパケットには、アプリケーションソフトの名称”APL_NAME”、処理の内容”APL_LOGIN”、ユーザID及びパスワードが含まれる。
【0041】
図6に示すように、第1のレスポンスパケットには、暗号化されたセッション情報”SESSION_ID=E89F9F9F46230AFF34A417BE03E”が含まれる。
【0042】
図7に示すように、第2のリクエストパケットにも、暗号化されたセッション情報”SESSION_ID=E89F9F9F46230AFF34A417BE03E”が含まれる。また、アプリ起動手段が起動するアプリケーションソフトの名称”APL_XXX”も含まれる。
【0043】
次に、WWWサーバ内の処理の流れを説明する。
【0044】
図8は、第1のリクエストパケットを受信してから第1のレスポンスパケットを送信するまでのWWWサーバ内の処理の流れを示すフローチャートである。
【0045】
図8に示すように、まずWWWサーバ104は、ステップS101で、クライアントコンピュータ101から第1のリクエストパケットを受信する。
【0046】
ステップS103では、リクエスト解析手段301が、第1のリクエストから・起動するアプリケーションの名称として、例えば「APL_LOGIN」と、・ユーザIDとパスワードと
を取得する。
【0047】
ステップS105では、格納先選定手段303が、再認証情報格納サーバを選定し、ステップS107では、アプリ起動手段305が、「APL_LOGIN」というログイン認証用アプリケーションソフトを起動する。
【0048】
かかるログイン認証用アプリケーションソフトは、WWWサーバ104内に記憶されているユーザIDとそのユーザIDに対応するパスワードを読み取り、
・第1のリクエストパケットから読み取られたユーザIDとパスワードと
・WWWサーバ104から読み取られたユーザIDとパスワードと
を引数としてログイン認証処理を実行する。
【0049】
ステップS109では、再認証情報生成手段307が、再認証情報を生成する。再認証情報は、ユーザが入力したユーザID及びリクエスト毎に変化するランダム変数から生成される。生成された再認証情報は、ステップS105で選定された再認証情報格納サーバに保存される。
【0050】
ステップS111では、セッション情報変数化手段309が、
・ステップS105で選定された再認証情報格納サーバを特定する情報と、
・ステップS109で生成された再認証情報とを結合し、暗号化して第1のセッション情報を作成する。
【0051】
ステップS113では、レスポンス生成手段311が、「APL_LOGIN」というアプリケーション名によって特定されるアプリケーションソフトの実行結果に基づいて生成されたHTML画面構成情報に、第1のセッション情報を付加して、第1のレスポンスパケットを生成する。
【0052】
ステップS115では、第1のリクエストの送信元であるクライアントコンピュータ101に第1のレスポンスパケットを送信する。
【0053】
図9は、第2のリクエストパケットを受信してから第2のレスポンスパケットを送信するまでのWWWサーバ104内の処理の流れを示すフローチャートである。
【0054】
図9に示すように、まずWWWサーバ104は、ステップS201で、クライアントコンピュータ101から第2のリクエストパケットを受信する。
【0055】
ステップS203では、リクエスト解析手段301が、第2のリクエストを解析して
・起動するアプリケーションの名称である「APL_XXX」と
・第1のセッション情報と
を取得する。
【0056】
ステップS205では、セッション情報分解手段が、第1のセッション情報を復号化し、格納先情報と第1の再認証情報とを取得する。第1の再認証情報からはさらにユーザIDとランダム変数とを取得する。
【0057】
ステップS207では、再認証情報確認手段が、
・ステップS205で取得された格納先情報に基づいて、再認証情報格納サーバから第1の再認証情報を読み取り、
・この再認証情報格納サーバから読み取られた第1の再認証情報と、ステップS205で第1のセッション情報から取得された第1の再認証情報とを比較することによって、第2のリクエストの発信元であるクライアントコンピュータ101と第1のリクエストの発信元であるクライアントコンピュータ101とが同一であるかを確認する。
【0058】
ステップS209では、アプリ起動手段305が、ステップS203で取得されたアプリケーション名「APL_XXX」によって特定されるアプリケーションソフトを起動する。
【0059】
ステップS211では、再認証情報生成手段307が、
・ステップS205で取得されたユーザIDと
・新たなランダム変数と
に基づいて新たな再認証情報を生成し、この新たな再認証情報を再認証情報格納サーバに保存する。
【0060】
ステップS213では、セッション情報変数化手段309が、
・ステップS205で取得された格納先情報と
・ステップS211で生成された再認証情報と
を結合し、暗号化して第2のセッション情報を生成する。
【0061】
ステップS215では、レスポンス生成手段311が、
・ステップs209のアプリ処理の実行結果に基づいて生成されたHTML画面構成情報に、第2のセッション情報を付加して、第2のレスポンスパケットを生成する。
【0062】
ステップS217では、第2のリクエストの送信元であるクライアントコンピュータ101に第2のレスポンスパケットを送信する。
【0063】
この第1の実施形態によって、以下の効果が得られる。
【0064】
・リクエスト毎に変化する再認証情報に基づいて再認証処理を行っているから、不正なアクセスに対する安全度が高い。
【0065】
・各WWWサーバ104はログイン認証情報のみを記憶していれば良く、再認証情報やその格納先情報を記憶する必要はない。
【0066】
また、ログイン認証情報を、WWWサーバ104ではなく、予め決められたDBサーバ105に記憶させるとしても良い。この場合、ログイン認証アプリケーションソフトは「1番目のリクエストパケットに含まれるログイン認証情報」と「予め決められたDBサーバから読み取られたログイン認証情報」に基づいてログイン認証処理を実行する。つまり、WWWサーバ104は、「ログイン認証情報」、「再認証情報」、「再認証情報が記憶されているDBサーバを特定する情報」のいずれも記憶する必要がない。
【0067】
なお、特定のDBサーバ105が「ログイン認証情報」を記憶する場合、もしそのDBサーバ105がダウンしてしまったら、全てのログイン認証処理が実行できなくなってしまう。そこで、全てのDBサーバ105に「ログイン認証情報」を記憶させることによって、万が一、あるDBサーバ(例えば、105a)がダウンしたとしても、他のDBサーバ(例えば、105b)から「ログイン認証情報」を取得することによって、ログイン認証処理を実行可能とすることもできる。
【0068】
・「第1のリクエストパケットを受信するWWWサーバ」と「第2のリクエストパケットを受信するWWWサーバ」が異なっていても、再認証処理は何の問題もなく行われる。このため、第1のリクエストパケットを受信し、再認証情報生成処理を行い、第1のレスポンスパケットを送信した後に、第1のレスポンスパケットを送信した第1のWWWサーバがダウンしたとしても、ロードバランサによって第2のリクエストパケットを割り当てられた第2のWWWサーバが何の問題もなく再認証処理を行うことができる。
【0069】
(第2の実施形態)
第1の実施形態と第2の実施形態と相違点は、以下のとおりである。
【0070】
第2の実施形態においては、
・アプリ起動手段305によって起動されるアプリケーションソフトが一時情報を生成し、
・その一時情報がアプリ情報格納サーバに格納され、
・2回目以降のリクエスト受信時に、その一時情報がアプリ情報格納サーバから読み出されて、利用される。
【0071】
まず、クライアントコンピュータとWWWサーバと再認証情報格納サーバとアプリ情報格納サーバとの間の送受信内容について概説する。
【0072】
図10に示すように、WWWサーバ104は、まず
・クライアントコンピュータ101から第1のリクエストパケットを受信し(1001)、
・アプリ情報格納サーバに第1のアプリ情報を格納し(1002)、
・再認証情報格納サーバに第1の再認証情報を格納し(1003)、
・第1のセッション情報を含む第1のレスポンスパケットをクライアントコンピュータ101に送信する(1004)。
【0073】
第1のセッション情報は、
・第1の再認証情報と
・第1の再認証情報が格納されている再認証情報格納サーバを示す情報と
・第1のアプリ情報が格納されているアプリ情報格納サーバを示す情報と
が結合され、暗号化されて、作成される。
【0074】
WWWサーバ104は、次に、
・クライアントコンピュータ101から第1のセッション情報を含む第2のリクエストパケットを受信し(1005)、
・再認証情報格納サーバから第1の再認証情報を読み取り(1006)、
・アプリ情報格納サーバから第1のアプリ情報を読み取り(1007)、
・アプリ情報格納サーバに第2のアプリ情報を格納し(1008)、
・再認証情報格納サーバに第2の再認証情報を格納し(1009)、
・第2のセッション情報を含む第2のレスポンスパケットをクライアントコンピュータ101に送信する(1010)。
【0075】
第2のセッション情報は、
・第2の再認証情報と
・第2の再認証情報が格納されている再認証情報格納サーバを示す情報と
・第2のアプリ情報が格納されているアプリ情報格納サーバを示す情報と
が結合され、暗号化されて、作成される。
【0076】
WWWサーバ104は、さらに、
・クライアントコンピュータ101から第2のセッション情報を含む第3のリクエストパケットを受信し(1011)、
・再認証情報格納サーバから第2の再認証情報を読み取り(1012)、
・アプリ情報格納サーバから第2のアプリ情報を読み取り(1013)、
・アプリ情報格納サーバに第3のアプリ情報を格納し(1014)、
・再認証情報格納サーバに第3の再認証情報を格納し(1015)、
・第3のセッション情報を含む第3のレスポンスパケットをクライアントコンピュータ101に送信する(1016)。
【0077】
第3のセッション情報は、
・第3の再認証情報と
・第3の再認証情報が格納されている再認証情報格納サーバを示す情報と
・第3のアプリ情報が格納されているアプリ情報格納サーバを示す情報と
が結合され、暗号化されて、作成される。
【0078】
WWWサーバ104は、さらに、
・クライアントコンピュータ101から第(m−1)のセッション情報を含む第mのリクエストパケットを受信し、
・再認証情報格納サーバから第(m−1)の再認証情報を読み取り、
・アプリ情報格納サーバから第(m−1)のアプリ情報を読み取り、
・アプリ情報格納サーバに第mのアプリ情報を格納し、
・再認証情報格納サーバに第mの再認証情報を格納し、
・第mのセッション情報を含む第mのレスポンスパケットをクライアントコンピュータ101に送信する、という処理を繰り返す。ここで「m」は4以上の整数とする。
【0079】
次に、WWWサーバ内の処理の流れを説明する。
【0080】
図11は、第1のリクエストパケットを受信してから第1のレスポンスパケットを送信するまでのWWWサーバ104内の処理の流れを示すフローチャートである。
【0081】
ステップS301、S303は、図8に示すステップS101、S103と同様であるから、説明を省略する。
【0082】
ステップS305では、格納先選定手段303が、再認証情報格納サーバとアプリ情報格納サーバを選定する。
【0083】
ステップS307では、アプリ起動手段305が、「APL_LOGIN」というアプリケーションを起動する。そして、「APL_LOGIN」というアプリケーションが一時情報を生成し、アプリ起動手段305が一時情報をアプリ情報格納サーバに格納する。
【0084】
ステップS309は、図8に示すステップS109と同様であるから、説明を省略する。
【0085】
ステップS311では、セッション情報変数化手段309が、
・ステップS305で決定された再認証情報格納サーバを特定する情報と、
・ステップS305で決定されたアプリ情報格納サーバを特定する情報と、
・ステップS309で生成された再認証情報と、
を結合し、暗号化して第1のセッション情報を作成する。
【0086】
ステップS313、S315は、図8に示すステップS113、S115と同様であるから、説明を省略する。
【0087】
図9は、第2のリクエストパケットを受信してから第2のレスポンスパケットを送信するまでのWWWサーバ104内の処理の流れを示すフローチャートである。
【0088】
ステップS401、S403は、図9のステップS201、S203と同様であるから説明を省略する。
【0089】
ステップS405では、セッション情報分解手段313が、第1のセッション情報を復号化し、
・再認証情報格納サーバを特定する情報と、
・アプリ情報格納サーバを特定する情報と、
・第1の再認証情報と
を取得する。第1の再認証情報からはさらにユーザIDとランダム変数が取得される。
【0090】
ステップS407は、図9のステップS207と同様であるから、説明を省略する。
【0091】
ステップS409では、アプリ起動手段305は、
・ステップS405で取得された「アプリ情報格納サーバを特定する情報」に基づいて該当するアプリ情報格納サーバにアクセスし、アプリ情報(一時情報)を読み取り、そのアプリ情報をアプリケーションソフト「APL_XXX」に引き渡し、
・ステップS403で取得されたアプリケーション名「APL_XXX」によって特定されるアプリケーションソフトを起動し、
・アプリケーションソフト「APL_XXX」が生成する一時情報を受け取り、アプリ情報格納サーバに格納する。
【0092】
ステップS411では、再認証情報生成手段307が、
・ステップS405で取得されたユーザIDと、
・新たなランダム変数と
に基づいて新たな再認証情報を生成し、再認証情報格納サーバに保存する。
【0093】
ステップS413、S415、S417は、ステップS313、S315、S317と同様であるから説明を省略する。
【0094】
この第2の実施形態によって、以下の効果が得られる。
【0095】
・第1の実施形態と同様に、リクエスト毎に変化する再認証情報に基づいて再認証処理を行っているから、不正なアクセスに対する安全度が高い。
【0096】
・第1の実施形態と同様に、各WWWサーバは
・ログイン認証情報のみを記憶、
・ログイン認証情報が格納されているDBサーバを特定する情報のみを記憶、
・ログイン認証情報もDBサーバを特定する情報もいずれも記憶不要
とすることができる。
【0097】
・「第1のリクエストパケットを受信するWWWサーバ104」と「第2のリクエストパケットを受信するサーバ」が異なっていても、再認証処理もアプリ処理も何の問題もなく行われる。
【0098】
つまり、第1のリクエストパケットを受信し、再認証情報生成処理とアプリ一時情報生成処理を行い、第1のレスポンスパケットを送信した後に、第1のレスポンスパケットを送信した第1のWWWサーバがダウンしたとしても、ロードバランサによって第2のリクエストパケットを割り当てられた第2のWWWサーバが何の問題もなく再認証処理及びアプリ処理を継続的に行うことができる。
【0099】
【発明の効果】
前記の如く、本発明によれば、各WWWサーバは「リクエストパケットに含まれている情報」と「再認証情報格納サーバに格納されている情報」とに基づいて再認証処理可能であり、各WWWサーバがリクエスト毎に変化する情報を記憶する必要がない。
【0100】
つまり、各WWWサーバはリクエストパケットの受信及びレスポンスパケットの送信を繰り返すが、その間、各WWWサーバ内の記憶装置に記憶されている内容は、第1のリクエストパケットを受信する前の内容のままである。
【0101】
このため、第1のWWWサーバが第1のリクエストパケットを受信し、第1のレスポンスパケットを送信した後に、第2のWWWサーバが第2のリクエストパケットを受信したとしても再認証処理には何ら支障を生じない。
【図面の簡単な説明】
【図1】本発明の実施形態にかかるコンピュータシステムの一構成例を示す図である。
【図2】本発明の実施形態にかかるWWWサーバの一構成例を示すブロック図である。
【図3】本実施形態の通信プログラムがWWWサーバに読み込まれることにより、実現される具体的手段を示す機能ブロック図である。
【図4】第1の実施形態におけるクライアントコンピュータとWWWサーバと再認証情報格納サーバとの間の送受信内容を示すシーケンス図である。
【図5】第1のリクエストパケットの一例を示す図である。
【図6】第1のレスポンスパケットの一例を示す図である。
【図7】第2のリクエストパケットの一例を示す図である。
【図8】第1の実施形態における第1のリクエストパケットを受信してから第1のレスポンスパケットを送信するまでのWWWサーバ内の処理の流れを示すフローチャートである。
【図9】第1の実施形態における第2のリクエストパケットを受信してから第2のレスポンスパケットを送信するまでのWWWサーバ内の処理の流れを示すフローチャートである。
【図10】第2の実施形態におけるクライアントコンピュータとWWWサーバと再認証情報格納サーバとアプリ情報格納サーバとの間の送受信内容を示すシーケンス図である。
【図11】第2の実施形態における第1のリクエストパケットを受信してから第1のレスポンスパケットを送信するまでのWWWサーバ内の処理の流れを示すフローチャートである。
【図12】第2の実施形態における第2のリクエストパケットを受信してから第2のレスポンスパケットを送信するまでのWWWサーバ内の処理の流れを示すフローチャートである。
【符号の説明】
301…リクエスト解析手段
303…格納先選定手段
305…アプリ起動手段
307…再認証情報生成手段
309…セッション情報変数化手段
311…レスポンス生成手段
313…セッション情報分解手段
315…再認証情報確認手段
Claims (8)
- クライアントコンピュータから第1のリクエストパケットを受信し、クライアントコンピュータに第1のレスポンスパケットを送信するためにWWWサーバとして使用するWWWサーバコンピュータを、
前記第1のリクエストパケットを解析して、ユーザIDとパスワードと第1のアプリケーションソフトを特定する情報とを切り出すリクエスト解析手段、
再認証情報が格納されるべき再認証情報格納サーバを選定する格納先選定手段、
前記第1のアプリケーションソフトを起動するアプリ起動手段、
前記ユーザIDと第1のランダム変数とに基づいて第1の再認証情報を生成し、前記再認証情報格納サーバへ格納する再認証情報生成手段、
前記第1の再認証情報と前記再認証情報格納サーバを特定する情報とを含む第1のセッション情報を生成するセッション情報変数化手段、
前記第1のセッション情報を含む第1のレスポンスパケットを生成するレスポンス生成手段、として機能させることを特徴とする通信プログラム。 - 前記リクエスト解析手段を、さらに、第2のリクエストパケットを解析して、第2のアプリケーションソフトを特定する情報と前記第1のセッション情報とを切り出す手段、
前記WWWサーバコンピュータを、さらに、前記第1のセッション情報から前記再認証情報格納サーバを特定する情報と前記第1の再認証情報とを取得し、かつ前記第1の再認証情報から前記ユーザIDを取得するセッション情報分解手段、
前記WWWサーバコンピュータを、さらに、前記再認証情報格納サーバから取得した前記第1の再認証情報と、前記第1のセッション情報から取得した前記第1の再認証情報とを比較することによって、再認証処理を行う再認証情報確認手段、
前記アプリ起動手段を、さらに、前記第2のアプリケーションソフトを起動する手段、
前記再認証情報生成手段を、さらに、前記ユーザIDと第2のランダム変数とに基づいて第2の再認証情報を生成し、前記再認証情報格納サーバに格納する手段、
前記セッション情報変数化手段を、さらに、前記再認証情報格納サーバを特定する情報と、前記第2の再認証情報とに基づいて第2のセッション情報を生成する手段、
前記レスポンス生成手段を、さらに、前記第2のセッション情報を含む第2のレスポンスパケットを生成する手段、として機能させることを特徴とする請求項1に記載の通信プログラム。 - 前記格納先選定手段を、さらに、前記第1のアプリケーションソフトによって生成される第1の一時情報と前記第2のアプリケーションソフトによって生成される第2の一時情報とを格納するアプリ情報格納サーバを選定する手段、
前記アプリ起動手段を、さらに、前記第1の一時情報を前記アプリ情報格納サーバに格納する手段、
前記セッション情報変数化手段を、さらに、前記アプリ情報格納サーバを特定する情報も含めて第1のセッション情報を生成する手段、として機能させることを特徴とする請求項2に記載の通信プログラム。 - 前記セッション情報分解手段を、さらに、前記第1のセッション情報から前記アプリ情報格納サーバを特定する情報も取得する手段、
前記アプリ起動手段を、さらに、前記アプリ情報格納サーバから前記第1の一時情報を読み取り、前記第2の一時情報を前記アプリ情報格納サーバに格納する手段、
前記セッション情報変数化手段を、さらに、前記アプリ情報格納サーバを特定する情報も含めて前記第2のセッション情報を生成する手段、として機能させることを特徴とする請求項3に記載の通信プログラム。 - クライアントコンピュータから第1のリクエストパケットを受信し、前記クライアントコンピュータに第1のレスポンスパケットを送信する通信方法であって、
リクエスト解析手段が、前記第1のリクエストパケットを解析して、ユーザIDとパスワードと第1のアプリケーションソフトを特定する情報とを切り出し、格納先選定手段が、再認証情報が格納されるべき再認証情報格納サーバを選定し、
アプリ起動手段が、前記第1のアプリケーションソフトを起動し、
再認証情報生成手段が、前記ユーザIDと第1のランダム変数とに基づいて第1の再認証情報を生成し、前記再認証情報格納サーバへ格納し、
セッション情報変数化手段が、前記第1の再認証情報と前記再認証情報格納サーバを特定する情報とを含む第1のセッション情報を生成し、
レスポンス生成手段が、前記第1のセッション情報を含む第1のレスポンスパケットを生成することを特徴とするコンピュータによる通信方法。 - 前記リクエスト解析手段が、さらに、第2のリクエストパケットを解析して、第2のアプリケーションソフトを特定する情報と前記第1のセッション情報とを切り出し、
セッション情報分解手段が、前記第1のセッション情報から前記再認証情報格納サーバを特定する情報と前記第1の再認証情報とを取得し、かつ前記第1の再認証情報から前記ユーザIDを取得し、
再認証情報確認手段が、前記再認証情報格納サーバから取得した前記第1の再認証情報と、前記第1のセッション情報から取得した前記第1の再認証情報とを比較することによって、再認証処理を行い、
前記アプリ起動手段が、さらに、前記第2のアプリケーションソフトを起動し、
前記再認証情報生成手段が、さらに、前記ユーザIDと第2のランダム変数とに基づいて第2の再認証情報を生成し、前記再認証情報格納サーバに格納し、
前記セッション情報変数化手段が、さらに、前記再認証情報格納サーバを特定する情報と、前記第2の再認証情報とに基づいて第2のセッション情報を生成し、
前記レスポンス生成手段が、さらに、前記第2のセッション情報を含む第2のレスポンスパケットを生成することを特徴とする請求項5に記載の通信方法。 - 前記格納先選定手段が、さらに、前記第1のアプリケーションソフトによって生成される第1の一時情報と前記第2のアプリケーションソフトによって生成される第2の一時情報とを格納するアプリ情報格納サーバを選定し、
前記アプリ起動手段が、さらに、前記第1の一時情報を前記アプリ情報格納サーバに格納し、
前記セッション情報変数化手段が、さらに、前記アプリ情報格納サーバを特定する情報も含めて第1のセッション情報を生成する、ことを特徴とする請求項6に記載の通信方法。 - 前記セッション情報分解手段が、さらに、前記第1のセッション情報から前記アプリ情報格納サーバを特定する情報も取得し、
前記アプリ起動手段が、さらに、前記アプリ情報格納サーバから前記第1の一時情報を読み取り、前記第2の一時情報を前記アプリ情報格納サーバに格納し、前記セッション情報変数化手段が、さらに、前記アプリ情報格納サーバを特定する情報も含めて前記第2のセッション情報を生成する、ことを特徴とする請求項7に記載の通信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003118710A JP4312497B2 (ja) | 2003-04-23 | 2003-04-23 | 通信プログラム及び通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003118710A JP4312497B2 (ja) | 2003-04-23 | 2003-04-23 | 通信プログラム及び通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004326341A true JP2004326341A (ja) | 2004-11-18 |
JP4312497B2 JP4312497B2 (ja) | 2009-08-12 |
Family
ID=33498185
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003118710A Expired - Fee Related JP4312497B2 (ja) | 2003-04-23 | 2003-04-23 | 通信プログラム及び通信方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4312497B2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1666537A1 (en) | 2004-11-10 | 2006-06-07 | Nidek Co., Ltd. | Colorant for ocular lenses and material for colored ocular lenses using the colorant |
WO2008031301A1 (fr) * | 2006-09-08 | 2008-03-20 | Suzhou Savantlogic Tech Ltd. | Procédé d'authentification d'identité en ligne point à point |
JP2010039763A (ja) * | 2008-08-05 | 2010-02-18 | Nomura Research Institute Ltd | サーバシステム |
-
2003
- 2003-04-23 JP JP2003118710A patent/JP4312497B2/ja not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1666537A1 (en) | 2004-11-10 | 2006-06-07 | Nidek Co., Ltd. | Colorant for ocular lenses and material for colored ocular lenses using the colorant |
WO2008031301A1 (fr) * | 2006-09-08 | 2008-03-20 | Suzhou Savantlogic Tech Ltd. | Procédé d'authentification d'identité en ligne point à point |
JP2010039763A (ja) * | 2008-08-05 | 2010-02-18 | Nomura Research Institute Ltd | サーバシステム |
Also Published As
Publication number | Publication date |
---|---|
JP4312497B2 (ja) | 2009-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7870153B2 (en) | Methods and systems for executing, by a virtual machine, an application program requested by a client machine | |
EP0981885B1 (en) | Apparatus and method for identifying clients accessing network sites | |
US8612514B2 (en) | Serving software applications from servers to client computers | |
US20030005333A1 (en) | System and method for access control | |
US20040010714A1 (en) | Authenticating legacy service via web technology | |
Thomas et al. | The GridPort toolkit: a system for building Grid portals | |
WO2007087558A2 (en) | Methods and systems for providing access to a computing environment | |
EP2369479A2 (en) | Methods and systems for providing access to a computing environment | |
EP0989501A2 (en) | Method and apparatus for collaboration support | |
WO2007100942A9 (en) | Methods and systems for providing access to a computing environment provided by a virtual machine executing in a hypervisor executing in a terminal services session | |
JP4885871B2 (ja) | 仲介サーバ、端末、及び分散処理方法 | |
US20090210515A1 (en) | Method for acquiring long data by get method | |
JP4312497B2 (ja) | 通信プログラム及び通信方法 | |
Nicklas et al. | Supporting distributed, interactive Jupyter and RStudio in a scheduled HPC environment with Spark using Open OnDemand | |
US7350071B1 (en) | Encrypted and non-encrypted communication of message data | |
US12111943B2 (en) | Enhanced security mechanism for file access | |
KR102165428B1 (ko) | 가상머신을 이용하여 콘텐츠를 제공하는 방법 및 장치 | |
CN113783835B (zh) | 一种口令分享方法、装置、设备及存储介质 | |
JP2005084751A (ja) | 通信装置 | |
Stanek | Web Server Administration: The Personal Trainer for IIS 7.0 and IIS 7.5 | |
JP2001265720A (ja) | データ配信システム、そのためのサーバシステム、および、プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
Insley et al. | Enabling community access to TeraGrid visualization resources |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060414 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090330 |
|
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: 20090414 |
|
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: 20090513 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120522 Year of fee payment: 3 |
|
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: 20120522 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130522 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140522 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |