JP6136793B2 - 中継プログラム、中継方法及び中継サーバ - Google Patents

中継プログラム、中継方法及び中継サーバ Download PDF

Info

Publication number
JP6136793B2
JP6136793B2 JP2013189657A JP2013189657A JP6136793B2 JP 6136793 B2 JP6136793 B2 JP 6136793B2 JP 2013189657 A JP2013189657 A JP 2013189657A JP 2013189657 A JP2013189657 A JP 2013189657A JP 6136793 B2 JP6136793 B2 JP 6136793B2
Authority
JP
Japan
Prior art keywords
communication record
communication
authentication
web browser
record
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.)
Expired - Fee Related
Application number
JP2013189657A
Other languages
English (en)
Other versions
JP2015056056A (ja
Inventor
昌弘 田中
昌弘 田中
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 JP2013189657A priority Critical patent/JP6136793B2/ja
Publication of JP2015056056A publication Critical patent/JP2015056056A/ja
Application granted granted Critical
Publication of JP6136793B2 publication Critical patent/JP6136793B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Description

本発明は、ウェブサーバとウェブブラウザ間の通信を中継する中継プログラム、中継方法及び中継サーバに関する。
コンピュータシステムにおいて、ユーザの操作などの動作履歴をもとに、システムの動作を再現する技術が開示されている。
ウェブシステムにおいても、ユーザの操作を再現する技術がある。ウェブシステムでは、ウェブサーバが、ウェブブラウザでの操作のもと、当該ウェブブラウザとの間でHTTP(Hyper Text Transfer Protocol)によりデータの送受信を行い、該当するサービスを提供する。この際、ウェブサーバとウェブブラウザとの間に、データを中継する中継サーバが設置される場合がある。
中継サーバは、ウェブサーバとウェブブラウザとの間の通信メッセージの履歴を通信記録として記録し、この通信履歴を用いて通信を再現する。これにより、ユーザがウェブサーバへの操作を再現したい場合に、ウェブブラウザでのウェブサーバへの操作を再び行う代わりに、中継サーバが通信履歴を用いて通信を再現することで自動的に該当するサービスへの操作を再現できる。
特開平7−84838号公報
従来の技術では、例えば操作の再現に用いられる通信記録に、ユーザの操作と無関係な通信記録が含まれることがあるが、中継サーバは、ユーザの操作と無関係の不要な通信まで再現するため、通信の再現に時間がかかる。そこで、不要な通信の再現を省略し、通信の再現にかかる時間を短縮することが考えられる。この場合は、どの通信が不要な通信であるかを正しく判別することが望まれる。例えばユーザの操作と関係する通信の再現を誤って省略した場合等には、通信が正しく再現されないからである。
1つの側面では、通信の再現を省略する精度を向上させることが可能な中継プログラム、中継方法及び中継サーバを提供することを目的とする。
開示の技術は、記憶部に格納された、ウェブサーバとウェブブラウザとの間の通信記録から、所定の認証に関する通信記録を検出する処理と、前記認証に係る通信記録のうち、前記ウェブブラウザにおける画面遷移の管理に用いられる遷移情報を含まない通信記録に、前記遷移情報を含まない通信記録の前の通信記録が有するリンク情報を含む遷移情報を追加する処理と、前記記憶部に格納された通信記録を参照し、前記ウェブブラウザにおける所定の入力操作に係る通信記録を検出する処理と、前記所定の入力操作に係る通信記録を用いて通信を再現する第一の再現部の実行結果と、前記所定の入力操作に係る通信記録を除いた通信記録を用いて通信を再現する第二の再現部の実行結果とが一致するとき、前記第二の再現部を選択する処理と、をコンピュータに実行させる。
上記各処理は、上記各処理を実現する機能部、上記各処理を手順としてンピュータにより実行させる方法、プログラムを記憶したコンピュータ読み取り可能な記憶媒体とすることもできる。
通信の再現を省略する精度を向上させることができる。
ウェブ中継システムにおけるログイン画面の表示について説明する図である。 シングルサインオンを用いたログインについて説明する図である。 ウェブ中継システムの構成例を示す図である。 中継サーバのハードウェアの構成例を示す図である。 中継サーバの機能構成を説明する図である。 認証検出部による通信記録の検出を説明する図である。 リファラ追加部によるリファラの追加を説明する図である。 認証検出部の処理を説明するフローチャートである。 リファラ追加部の処理を説明するフローチャートである。
以下に本実施例の概要について説明する。本実施例では、ウェブサーバとウェブブラウザとの間の通信を再現する際に、ウェブブラウザにおけるユーザの操作と関係した通信を再現し、ユーザの操作と無関係な通信の再現を省略する。
本実施例では、ユーザの操作と無関係な通信の一つとして、ウェブサーバが提供するサービスへログインする際のログイン画面表示を再現する通信に着目した。以下にログイン画面の表示について説明する。
図1は、ウェブ中継システムにおけるログイン画面表示について説明する図である。
ウェブ中継システム10において、ユーザがウェブブラウザ110に表示されたログイン画面にアクセスしてログイン操作を行うと、ウェブブラウザ110は中継サーバ20へログインを要求するリクエストデータを送信する(ステップS11)。中継サーバ20は、プロキシ部210により、受信したリクエストデータをウェブサーバ130へ転送する(ステップS12)。プロキシ部210は、通信記録を記録するものである。プロキシ部210の詳細は後述する。
ウェブサーバ130は、リクエストデータを受けると、これに応答したレスポンスデータを中継サーバ20へ送信する(ステップS13)。中継サーバ20において、プロキシ部210は、レスポンスデータをウェブブラウザ110へ転送する(ステップS14)。ここでウェブブラウザ110にはログイン画面が表示される。
中継サーバ20においてプロキシ部210は、中継サーバ20が転送したリクエストデータと、レスポンスデータとを通信記録221として通信記録データベース220に格納する(ステップS15)。通信記録221は、ログイン画面をウェブブラウザ110に表示させるための通信記録である。
ウェブブラウザ110は、ユーザによりログイン情報(例えばIDとパスワード)が入力されると、ログイン情報と共にログインリクエストデータを中継サーバ20に送信する(ステップS16)。中継サーバ20は、プロキシ部210により、ログインリクエストデータをウェブサーバ130へ転送する(ステップS17)。
ウェブサーバ130は、ログイン後のメニュー画面のレスポンスデータを中継サーバ20へ送信する(ステップS18)。中継サーバ20のプロキシ部210は、このレスポンスデータをウェブブラウザ110へ転送する(ステップS19)。
中継サーバ20においてプロキシ部210は、中継サーバ20がステップS17で転送したリクエストデータとステップS19で転送したレスポンスデータとを通信記録222として通信記録データベース220に格納する(ステップS20)。通信記録222は、ログイン情報をウェブサーバ130へ通知し、ログイン後の画面をウェブブラウザ110に表示させるための通信記録である。
中継サーバ20は、ログイン操作を再現する際は、通信記録から通信を再現させる再現モジュールにより通信記録221と通信記録222を再現すれば良い。再現モジュールの詳細は後述する。
ところで近年のウェブシステムでは、ログイン情報を含むリクエストデータを直接ウェブサーバ130へ送信することでログイン操作を再現するものがある。この場合には、ログイ情報を入力させるためのログイン画面を表示させるための通信記録221の再現は不要となる。ログイン操作の再現に際し、ログイン画面表示のための通信記録221が不要か否かを判断し、ログイン画面表示が不要であった場合に、再現モジュールが再現する通信記録から通信記録221を削除して、通信記録221による通信の再現を省略できる。
実施例では、ログイン操作の再現に関し、シングルサインオン等の機能を用いた通信記録を検出し、検出された通信記録に画面遷移の管理に用いる情報を付与する。
以下に図2を参照してシングルサインオン等の機能を用いたログイン処理について説明する。尚シングルサインオンとは、一度のユーザ認証により、許可されているすべての機能を利用できるようにする認証機能である。
図2は、シングルサインオンを用いたログインについて説明する図である。
ユーザがウェブブラウザ110に表示されたログイン画面にアクセスしてログイン操作を行うと、ウェブブラウザ110はウェブサーバ130にログインを要求するリクエストデータを送信する(ステップS21)。ウェブサーバ130は、この時点ではユーザ認証が行われていないため、未認証とするレスポンスデータをウェブブラウザ110に送信する(ステップS22)。ウェブブラウザ110は、このレスポンスデータを認証を要求するリクエストデータとし、認証サーバ120に自動的に転送する(ステップS23)。
認証サーバ120は、リクエストデータを受けて、ユーザ認証画面をレスポンスデータとしてウェブブラウザ110に送信し、ウェブブラウザ110にユーザ認証画面を表示させる(ステップS24)。ユーザ認証画面にユーザ情報が入力されると、ウェブブラウザ110は、認証を要求するリクエストデータとして、認証サーバ120へ送信する(ステップS25)。尚ステップS25で認証サーバ120に送信されるリクエストデータには、ユーザ情報が含まれる。ユーザ情報は、例えばユーザ識別情報(ユーザID)とパスワード等である。
認証サーバ120は、ユーザ情報に基づく認証が成功すると、ユーザ認証に必要な情報を生成し、レスポンスデータとしてウェブブラウザ110へ送信する(ステップS26)。尚ユーザ認証に必要な情報とは、例えばトークン等である。
ウェブブラウザ110は、ユーザ認証に必要な情報を含むリクエストデータを自動的にウェブサーバ130へ転送する(ステップS27)。
ウェブサーバ130は、認証サーバ120にアクセスし、受信したユーザ認証に必要な情報を照合する(ステップS28)。認証サーバ120は、ユーザ認証に必要な情報を照合した結果、正しいと判断し、ユーザIDをウェブサーバ130に送信する(ステップS29)。ウェブサーバ130は、ユーザIDを受けて、ユーザIDと対応した認証後のページを、ステップS27において受信したリクエストデータに対するレスポンスデータとして、ウェブブラウザ110に送信する(ステップS30)。
尚図2では図示していないが、ウェブブラウザ110とウェブサーバ130との通信は、中継サーバ20の通信記録データベース220に格納される。
図2に示すように、シングルサインオン等の機能を用いた場合、ログイン画面表示のための通信記録にウェブブラウザ110から自動的に転送されるリクエストデータが含まれる。ウェブブラウザ110から自動的に転送されるリクエストデータには、ウェブブラウザ110が出力する画面の遷移を管理するために用いられる遷移情報が含まれておらず、ログイン画面表示のための通信記録との関連を判断することが困難であった。
そこで以下に説明する本実施例では、自動転送されるリクエストデータに、このリクエストデータが生成されたページを示すリンク情報を含む遷移情報を追加することで、自動転送されるリクエストデータとログイン画面表示のための通信記録との関連を明らかにする。リンク情報とは例えばURLであり、遷移情報とは例えばリファラ等である。
以下の本実施例では、自動転送されるリクエストデータとログイン画面表示のための通信記録との関連を明らかにすることで、例えば通信の再現を誤って省略することや、不要な通信を再現することを抑制でき、通信の再現の省略の精度を向上させることができる。
(実施例)
以下に図面を参照して本実施例のウェブ中継システム100について説明する。図3は、ウェブ中継システムの構成例を示す図である。
本実施例のウェブ中継システム100は、ウェブブラウザ110と、認証サーバ120と、ウェブサーバ130と、中継サーバ200とを有する。中継サーバ200は、ウェブブラウザ110とウェブサーバ130との間の通信を中継する。ウェブブラウザ110は、ウェブサービスを利用するパーソナルコンピュータなどのユーザ端末である。ウェブサーバ130は、ウェブサービスを提供する。認証サーバ120は、ウェブサーバ130により提供されるサービスに対するログイン処理を行う際のユーザ認証を行う。
尚ウェブ中継システム100では、認証サーバ120及びウェブサーバ130を中継サーバ200及びウェブブラウザ110と同一のネットワーク上に適用した場合であっても良いし、認証サーバ120及びウェブサーバ130を外部装置として異なるネットワーク上に適用した場合であっても良い。
図4は、中継サーバのハードウェアの構成例を示す図である。本実施例の中継サーバ200は、それぞれバスBで相互に接続されている入力装置21、出力装置22、ドライブ装置23、補助記憶装置24、メモリ装置25、演算処理装置26及びインターフェース装置27で構成される。
入力装置21はキーボードやマウスなどで構成され、各種信号を入力するために用いられる。出力装置22はディスプレイ装置などで構成され、各種ウインドウやデータ等を表示するために用いられる。インターフェース装置27は、モデム,LAN(Local Area Network)カードなどで構成されており、ネットワークに接続する為に用いられる。
本発明の中継プログラムは、中継サーバ200を制御する各種プログラムの少なくとも一部である。中継プログラムは例えば記録媒体28の配布やネットワークからのダウンロードなどによって提供される。中継プログラムを記録した記録媒体28は、CD−ROM(Compact Disc Read Only Memory)、フレキシブルディスク、光磁気ディスク等の様に情報を光学的,電気的或いは磁気的に記録する記録媒体、ROM、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。
また、中継プログラムを記録した記録媒体28がドライブ装置23にセットされると、中継プログラムは記録媒体28からドライブ装置23を介して補助記憶装置24にインストールされる。ネットワークからダウンロードされた中継プログラムは、インターフェース装置27を介して補助記憶装置24にインストールされる。
中継サーバ200は、インストールされた中継プログラムを格納すると共に、必要なファイル、データ等を格納する。メモリ装置25は、コンピュータの起動時に補助記憶装置24から中継プログラムを読み出して格納する。そして、演算処理装置26はメモリ装置25に格納された中継プログラムに従って、後述するような各種処理を実現している。
以下に図5を参照して本実施例の中継サーバ200の機能構成を説明する。図4は、中継サーバの機能構成を説明する図である。
本実施例の中継サーバ200は、プロキシ部210、認証検出部230、リファラ追加部240、再現モジュール生成部250、ログイン画面検出部260、通信抽出部270、テスト実行部280、通信記録データベース220を有する。
本実施例のプロキシ部210は、ウェブブラウザ110が行う一連の操作に関わるウェブブラウザ110と、認証サーバ120及びウェブサーバ130と間の通信の履歴を通信記録として通信記録データベース220に記録する。
本実施例の認証検出部230は、通信記録データベース220に格納された通信記録から、認証サーバ120を用いた認証の通信記録を検出する。認証サーバ120を用いた認証とは、例えばシングルサインオンを用いた認証であっても良い。本実施例のリファラ追加部240は、認証検出部230により検出された通信記録に、画面遷移の管理に用いられる情報であるリファラを追加する。本実施例の認証検出部230及びリファラ追加部240の処理の詳細は後述する。
本実施例の再現モジュール生成部250は、通信記録データベース220に格納された通信記録に基づき、通信を再現する再現モジュール291を生成する。また本実施例の再現モジュール生成部250は、通信抽出部270により通信記録データベース220から抽出された通信記録に基づき、後述する再現モジュール292を生成する。
ログイン画面検出部260は、通信記録データベース220に格納された通信記録からログイン画面表示に関する通信記録を検出する。
具体的には本実施例のログイン画面検出部260は、所定のログイン画面判定条件を満たす通信記録をログイン画面表示に関する通信記録として検出する。所定のログイン画面判定条件とは、例えば通信記録R[i]のレスポンスデータのヘッダにSet-cookieが含まれず、且つ通信記録R[i+1]のレスポンスデータのヘッダにSet-cookieが含まれることであっても良い。尚Rは通信記録の集合を示し、iは通信記録の要素数を示す。また所定のログイン画面判定条件は、通信記録R[n]のレスポンスデータにpassword型のinputタグが含まれ、且つ通信記録R[n+1]のリクエストデータにpassword型のinputタグのname属性値と同じ名前のバラメータが存在することであっても良い。
通信抽出部270は、通信記録データベース220に記録された通信記録のうち、ログイン画面検出部260で検出された通信記録以外の通信記録を抽出する。すなわち本実施例の通信抽出部270は、通信記録データベース220に記録された通信記録から、ログイン画面表示に関する通信記録を除いた通信記録を抽出する。
よって本実施例の再現モジュール生成部250は、ログイン画面表示に関する通信記録を含む通信記録に基づき生成された再現モジュール291と、ログイン画面表示に関する通信記録を除いた通信記録に基づき生成された再現モジュール292とを生成する。
本実施例のテスト実行部280は、ウェブブラウザ110とウェブサーバ130とを有するウェブシステムにおいてログイン操作を再現する際に、ログイン画面表示の通信記録が不要か否かを判断するテストを実行する。具体的にはテスト実行部280は、再現モジュール生成部250に2つの再現モジュール291、292を生成させ、それぞれの再現モジュール291、292を実行させる。
本実施例のテスト実行部280は、2つの再現モジュール291、292の実行結果が一致していた場合、ログイン画面表示に関する通信記録を除いた通信記録に基づき生成された再現モジュール292でも正常にログイン操作を再現できると判断する。そして、再現モジュール292を中継サーバ200の有する再現モジュールとして選択し、再現モジュール291を削除する。
以上のように本実施例では、再現モジュールを生成する際に、ログイン画面表示の通信記録が不要か否かを判断する。そして本実施例では、ログイン画面表示の通信記録が不要であった場合には、この通信記録を除いた通信記録に基づき再現モジュールを生成する。よって本実施例の中継サーバ200によれば、不要な通信の再現を削減し、通信の再現にかかる時間を短くすることができる。
以下に図6を参照して本実施例の認証検出部230の処理を説明する。図6は、認証検出部による通信記録の検出を説明する図である。
本実施例の認証検出部230は、予め決められた所定パターンの通信記録を認証サーバ120を用いた認証の通信記録として検出する。以下に所定パターンについて説明する。
図6には、通信記録61、通信記録62、通信記録63及び通信記録64が示されている。通信記録61〜64は、認証検出部230により検出された通信記録の例である。通信記録62は、通信記録61で示される通信の次に行われた通信の記録であり、通信記録63は、通信記録62で示される通信の次に行われた通信の記録であり、通信記録64は、通信記録63で示される通信の次に行われた通信の記録である。
通信記録61は、ウェブブラウザ110から送信されるリクエストデータ611と、ウェブブラウザ110に送信されるレスポンスデータ612とを含む。通信記録62は、リクエストデータ621とレスポンスデータ622とを含む。通信記録63は、リクエストデータ631とレスポンスデータ632とを含む。通信記録64は、リクエストデータ641とレスポンスデータ642とを含む。
本実施例の認証検出部230は、以下の6つの条件を満たすパターンの通信記録を認証サーバ120を用いた認証の通信記録として検出する。
条件1.第1のリクエストデータと、第1のリクエストデータが含まれる第1の通信記録の次の通信の記録である第2の通信記録に含まれる第2のリクエストデータのそれぞれに含まれるドメイン名が異なる。
条件2.第1の通信記録に含まれる第1のレスポンスデータに第2のリクエストデータに含まれるURL(Uniform Resource Locator)が含まれる。
条件3.第2のリクエストデータと、第2の通信記録の次の通信の記録である第3の通信記録に含まれる第3のリクエストデータのそれぞれに含まれるドメイン名が同じである。
条件4.第3のリクエストデータのパラメータ名が第2のレスポンスデータのHTML(HyperText Markup Language)に含まれる。
条件5.第3のリクエストデータと、第3の通信記録の次の通信の記録である第4の通信記録に含まれる第4のリクエストデータのそれぞれに含まれるドメイン名が異なる。
条件6.第3のレスポンスデータに第4のリクエストデータに含まれるURLが含まれる。
以下に図6に示す通信記録61〜64を参照して具体的に上記条件について説明する。通信記録61のリクエストデータ611には、「sample.com」というドメイン名が含まれており、通信記録62のリクエストデータ621には「SSO.com」というドメイン名が含まれる。よって通信記録61と通信記録62は条件1を満たす。尚本実施例では、ウェブサーバ130のドメイン名を「sample.com」とし、認証サーバ120のドメイン名を「SSO.com」とした。
通信記録61のレスポンスデータ612は、通信記録62のリクエストデータ621に含まれるURL「http://sample.com」を含む。よって通信記録61と通信記録62は条件2を満たす。
リクエストデータ621と通信記録63のリクエストデータ631には、それぞれに「SSO.com」というドメイン名が含まれている。よって通信記録62と通信記録63は条件3を満たす。
リクエストデータ622には、リクエストデータ631に含まれるパラメータ名「pw」が含まれる。よって通信記録62と通信記録63は条件4を満たす。
リクエストデータ631には「SSO.com」というドメイン名が含まれ、通信記録64のリクエストデータ641には「sample.com」というドメイン名が含まれる。よって通信記録63と通信記録64は条件5を満たす。
レスポンスデータ632には、リクエストデータ641に含まれるURL「http://sample.com」が含まれる。よって通信記録63と通信記録64は条件6を満たす。
よって本実施例の認証検出部230は、通信記録61〜64を認証サーバ120を用いた認証の通信記録として検出する。
次に図7を参照して本実施例のリファラ追加部240によるリファラの追加について説明する。図7は、リファラ追加部によるリファラの追加を説明する図である。
図7は、認証検出部230により検出された通信記録61〜64のうち、通信記録62、64に画面遷移の管理に用いられる情報としてリファラを付与された例を示している。
本実施例のリファラ追加部240は、認証検出部230により検出された第1〜第4の通信記録について、以下の処理を行う。
処理1.第2の通信記録の第2のリクエストデータにおいて、リファラヘッダと、リファラヘッダの値となる第1の通信記録の第1のリクエストデータに含まれるURLと、を追加する。
処理2.第4の通信記録の第4のリクエストデータにおいて、リファラヘッダと、リファラヘッダの値となる第3の通信記録の第3のリクエストデータに含まれるURLと、を追加する。
図7に示すリクエストデータ621Aは、リファラ71として、リファラヘッダにリクエストデータ611に含まれるURL「http://sample.com」が指定されている。また図7に示すリクエストデータ641Aは、リファラ72として、リファラヘッダにリクエストデータ631に含まれるURL「http://SSO.com/login」が指定されている。
すなわちリファラ71は、リクエストデータ621Aの送信元となるページを示しており、リファラ72は、リクエストデータ641Aの送信元となるページを示している。よって本実施例の中継サーバ200は、リクエストデータ621Aはウェブサーバ130において生成されたリクエストデータであり、リクエストデータ641Aは認証サーバ120において生成されたリクエストデータであることが判断できる。
本実施例では、このように認証サーバ120を用いた認証の通信記録にリファラを付与することで、中継サーバ200に通信記録がユーザの操作と無関係な通信の記録であるか否かを判断させることができる。また本実施例では、リファラを追加することにより、ウェブブラウザ110から自動転送されるリクエストデータがユーザの操作と無関係な通信と判断されて再現が省略されしまうことを防止できる。したがって本実施例では、通信の再現を省略する精度を向上させることができ、通信の再現を安定させ、且つ再現に係る時間を短縮することができる。
以下に図8を参照して本実施例の認証検出部230の処理を説明する。図8は、認証検出部の処理を説明するフローチャートである。図8では、通信記録の集合をRとし、所定のパターンを満たす通信記録の集合をSとし、通信記録の要素数をnとした。
本実施例の認証検出部230は、通信記録データベース220から通信記録の集合Rを取得する(ステップS801)。続いて認証検出部230は、所定のパターンを満たす通信記録の数を4とする(ステップS802)。
続いて認証検出部230は、変数iに0を代入する(ステップS803)。続いて認証検出部230は、通信記録の集合Rのうちi番目の通信記録を通信記録S[1]とする(ステップS804)。
次に認証検出部230は、変数jに0を代入する(ステップS805)。続いて認証検出部230は、通信記録の集合Rのうちj番目の通信記録を通信記録S[2]とする(ステップS806)。続いて認証検出部230は、通信記録S[1]と通信記録S[2]とが、上述した条件1及び条件2の両方を満たすか否かを判断する(ステップS807)。
ステップS807において通信記録S[1],S[2]が条件1及び条件の両方を満たす場合、認証検出部230は、後述するステップS813へ進む。
ステップS807において通信記録S[1],S[2]が条件1及び条件2の両方を満たさない場合、認証検出部230は、変数jにj+1を代入する(ステップS808)。続いて認証検出部230は、jがn以上であるか否かを判断する(ステップS809)。
ステップS809においてjがn以上でない場合、認証検出部230はステップS806の処理へ戻る。ステップS809において、jがn以上であった場合、認証検出部230はiにi+1を代入し(ステップS810)、iがn以上であるか否かを判断する(ステップS811)。
ステップS811においてiがn以上である場合、認証検出部230は、全ての通信記録について所定のパターンを満たすか否かを判断する処理を実行したものとして、処理を終了する。
ステップS811においてiがn以上でない場合、認証検出部230はステップS804の処理へ戻る。
ステップS807において通信記録S[1],S[2]が条件1及び条件2の両方を満たす場合、認証検出部230は、変数kに0を代入する(ステップS812)。続いて認証検出部230は、通信記録の集合Rのうちk番目の通信記録を通信記録S[3]とする(ステップS813)。続いて認証検出部230は、通信記録S[2]と通信記録S[3]とが、上述した条件3及び条件4の両方を満たすか否かを判断する(ステップS814)。
ステップS814において通信記録S[2],S[3]が条件3及び条件4の両方を満たす場合、認証検出部230は後述するステップS817へ進む。
ステップS814において通信記録S[2],S[3]が条件3及び条件4の両方を満たさない場合、認証検出部230は、変数kにk+1を代入する(ステップS815)。続いて認証検出部230は、kがn以上であるか否かを判断する(ステップS816)。
ステップS816においてkがn以上でない場合、認証検出部230は、ステップS813の処理へ戻る。ステップS816においてkがn以上である場合、認証検出部230はステップS808の処理へ進む。
ステップS814において通信記録S[2],S[3]が条件3及び条件4の両方を満たす場合、認証検出部230は、変数mに0を代入する(ステップS817)。続いて認証検出部230は、通信記録の集合Rのうちm番目の通信記録を通信記録S[4]とする(ステップS818)。続いて認証検出部230は、通信記録S[3]と通信記録S[4]とが、上述した条件5及び条件6の両方を満たすか否かを判断する(ステップS819)。
ステップS819において、通信記録S[2],S[3]が条件3及び条件4の両方を満たす場合、認証検出部230は、通信記録S[1],S[2],S[3],S[4]を所定のパターンを満たす通信記録の集合Sとして出力する(ステップS820)。ステップS820で出力された通信記録の集合Sは、認証サーバ120を用いた認証の通信記録であり、リファラ追加部240によるリファラの追加対象となる通信記録である。
ステップS819において、通信記録S[2],S[3]が条件3及び条件4の両方を満たさない場合、認証検出部230は、変数mにm+1を代入する(ステップS821)。続いて認証検出部230は、mがn以上であるか否かを判断する(ステップS822)。ステップS822においてmがn以上でない場合、認証検出部230は、ステップS818の処理へ戻る。ステップS822においてkがn以上である場合、認証検出部230はステップS815の処理へ進む。
次に図9を参照して本実施例のリファラ追加部240の処理を説明する。図9は、リファラ追加部の処理を説明するフローチャートである。
本実施例のリファラ追加部240は、認証検出部230により検出された通信記録の集合Sを取得する(ステップS91)。次にリファラ追加部240は、変数iに0を代入する(ステップS92)。続いてリファラ追加部240は、通信記録S[i+1]のリファラが存在するか否かを判断する(ステップS93)。
ステップS93においてリファラが存在しない場合、リファラ追加部240は、通信記録S[i+1]のリクエストデータのヘッダ部分に、「Referer:S[i]のURL」を追加し(ステップS94)、ステップS95へ進む。ステップS93においてリファラが存在する場合、リファラ追加部240は、変数iにi+1を代入する(ステップS95)。
続いてリファラ追加部240は、変数iが3以上であるか否かを判断する(ステップS96)。ステップS96においてiが3以上でない場合、リファラ追加部240は、ステップS93の処理へ戻る。ステップS96においてiが3以上である場合、リファラ追加部240は、認証検出部230により検出された通信記録の集合Sについて、リファラの追加処理を実行したとして、処理を終了する。
本実施例では、リファラが追加された通信記録の集合Sは、通信記録データベース220に再び格納される。
以上のように本実施例の中継サーバ200は、認証サーバ120を用いた認証の通信記録を検出する。そして中継サーバ200は、検出されたリクエストデータに画面遷移の管理に用いられる情報(リファラ)が含まれていない場合、この通信記録のリクエストデータに、このリクエストデータの前のリクエストデータに含まれるURLを含むリファラを追加する。リファラの追加により、リクエストデータとレスポンスデータの複数の組間の関連性と連続性が判断できる。
尚認証検出部230による認証サーバ120を用いた認証の通信記録の検出方法は、本実施例に限定されない。例えば認証検出部230は、通信を記録中に、予め登録された認証サーバ120のドメインにアクセスしたとき、認証サーバ120を用いた認証の通信であると判断しても良い。また認証検出部230は、通信を記録中に、予め登録されたフォーマットのトークンで通信が行われた場合に認証サーバ120を用いた認証の通信であると判断しても良い。
このような方法で認証サーバ120を用いた認証の通信記録を検出すれば、認証サーバ120を別のサーバにした場合や、認証のトークンのフォーマットが変わった場合でも、該当する通信記録を検出することができる。
本実施例のログイン画面検出部260は、認証検出部230とリファラ追加部240の処理が終了した後の通信記録データベース220に格納された通信記録からログイン画面表示に関する通信記録を検出する。通信記録に含まれるリファラやログイン処理特有のパラメータから、リクエストデータとレスポンスデータの複数の組が、一連のログイン処理に関するものである判断でき、前後関係からいずれの通信記録がログイン画面表示に関わるものであるかも判断できる。よって本実施例では、例えばシングルサインオン等の機能を用いてログインを行った場合にも、ユーザの操作と関係した通信と、ユーザの操作と無関係な通信とを高精度に判別することができ、通信の再現を省略する精度を向上させることができる。
開示の技術では、以下に記載する付記のような形態が考えられる。
(付記1)
記憶部に格納された、ウェブサーバとウェブブラウザとの間の通信記録から、所定の認証に関する通信記録を検出する処理と、
前記認証に係る通信記録のうち、前記ウェブブラウザにおける画面遷移の管理に用いられる遷移情報を含まない通信記録に、前記遷移情報を含まない通信記録の前の通信記録が有するリンク情報を含む遷移情報を追加する処理と、をコンピュータに実行させる中継プログラム。
(付記2)
前記通信記録は、前記ウェブブラウザから前記ウェブサーバへ送信されるリクエストデータと、前記ウェブサーバから前記ウェブブラウザへ送信されるレスポンスデータの組みであって、
前記リンク情報は、
前記前の通信記録のリクエストデータに含まれる付記1記載の中継プログラム。
(付記3)
前記検出する処理は、
前記通信記録において、予め決められた所定条件を満たす通信記録を前記所定の認証に関する通信記録として検出する付記1又は2記載の中継プログラム。
(付記4)
前記所定条件は、
第1のリクエストデータと、第1のリクエストデータが含まれる第1の通信記録の次の通信の記録である第2の通信記録に含まれる第2のリクエストデータのそれぞれに含まれるドメイン名が異なること、と、
前記第1の通信記録に含まれる第1のレスポンスデータに、前記第2のリクエストデータに含まれるリンク情報が含まれること、と、
前記第2のリクエストデータと、前記第2の通信記録の次の通信の記録である第3の通信記録に含まれる第3のリクエストデータのそれぞれに含まれるドメイン名が同じであること、と、
前記第3のリクエストデータのパラメータ名が前記第2のレスポンスデータのHTMLに含まれること、と、
前記第3のリクエストデータと、前記第3の通信記録の次の通信の記録である第4の通信記録に含まれる第4のリクエストデータのそれぞれに含まれるドメイン名が異なること、と、
前記第3のレスポンスデータに前記第4のリクエストデータに含まれるリンク情報が含まれること、である付記3記載の中継プログラム。
(付記5)
前記記憶部に格納された前記通信記録を参照し、前記ウェブブラウザにおける所定の入力操作に係る通信記録を検出する処理と、
前記通信記録を用いて通信を再現する第一の再現部の実行結果と、前記検出部に検出された通信記録を除いた通信記録を用いて通信を再現する第二の再現部の実行結果とが一致するとき、前記第二の再現部を選択する処理と、を実行させる付記1乃至4の何れか一項に記載の中継プログラム。
(付記6)
コンピュータによる中継方法であって、該コンピュータが、
記憶部に格納された、ウェブサーバとウェブブラウザとの間の通信記録から、所定の認証に関する通信記録を検出し、
前記認証に係る通信記録のうち、前記ウェブブラウザにおける画面遷移の管理に用いられる遷移情報を含まない通信記録に、前記遷移情報を含まない通信記録の前の通信記録が有するリンク情報を含む遷移情報を追加する中継方法。
(付記7)
記憶部に格納された、ウェブサーバとウェブブラウザとの間の通信記録から、所定の認証に関する通信記録を検出する検出部と、
前記認証に係る通信記録のうち、前記ウェブブラウザにおける画面遷移の管理に用いられる遷移情報を含まない通信記録に、前記遷移情報を含まない通信記録の前の通信記録が有するリンク情報を含む遷移情報を追加する追加部と、を有する中継サーバ。
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から
逸脱することなく、種々の変形や変更が可能である。
100 ウェブ中継システム
120 認証サーバ
130 ウェブサーバ
200 中継サーバ
210 プロキシ部
220 通信記録データベース
230 認証検出部
240 リファラ追加部

Claims (6)

  1. 記憶部に格納された、ウェブサーバとウェブブラウザとの間の通信記録から、所定の認証に関する通信記録を検出する処理と、
    前記認証に係る通信記録のうち、前記ウェブブラウザにおける画面遷移の管理に用いられる遷移情報を含まない通信記録に、前記遷移情報を含まない通信記録の前の通信記録が有するリンク情報を含む遷移情報を追加する処理と、
    前記記憶部に格納された通信記録を参照し、前記ウェブブラウザにおける所定の入力操作に係る通信記録を検出する処理と、
    前記所定の入力操作に係る通信記録を用いて通信を再現する第一の再現部の実行結果と、前記所定の入力操作に係る通信記録を除いた通信記録を用いて通信を再現する第二の再現部の実行結果とが一致するとき、前記第二の再現部を選択する処理と、をコンピュータに実行させる中継プログラム。
  2. 前記通信記録は、前記ウェブブラウザから前記ウェブサーバへ送信されるリクエストデータと、前記ウェブサーバから前記ウェブブラウザへ送信されるレスポンスデータの組みであって、
    前記リンク情報は、
    前記前の通信記録のリクエストデータに含まれる請求項1記載の中継プログラム。
  3. 前記所定の認証に関する通信記録を検出する処理は、
    前記通信記録において、予め決められた所定条件を満たす通信記録を前記所定の認証に関する通信記録として検出する請求項1又は2記載の中継プログラム。
  4. 前記所定の認証に関する通信記録を検出する処理は、
    前記記憶部に格納された通信記録から、所定の条件を満たすパターンの通信記録の集合を所定の認証に関する通信記録として検出する、請求項1又は2に記載の中継プログラム。
  5. コンピュータによる中継方法であって、該コンピュータが、
    記憶部に格納された、ウェブサーバとウェブブラウザとの間の通信記録から、所定の認証に関する通信記録を検出し、
    前記認証に係る通信記録のうち、前記ウェブブラウザにおける画面遷移の管理に用いられる遷移情報を含まない通信記録に、前記遷移情報を含まない通信記録の前の通信記録が有するリンク情報を含む遷移情報を追加し、
    前記記憶部に格納された通信記録を参照し、前記ウェブブラウザにおける所定の入力操作に係る通信記録を検出し、
    前記所定の入力操作に係る通信記録を用いて通信を再現する第一の再現部の実行結果と、前記所定の入力操作に係る通信記録を除いた通信記録を用いて通信を再現する第二の再現部の実行結果とが一致するとき、前記第二の再現部を選択する、中継方法。
  6. 記憶部に格納された、ウェブサーバとウェブブラウザとの間の通信記録から、所定の認証に関する通信記録を検出する認証検出部と、
    前記認証に係る通信記録のうち、前記ウェブブラウザにおける画面遷移の管理に用いられる遷移情報を含まない通信記録に、前記遷移情報を含まない通信記録の前の通信記録が有するリンク情報を含む遷移情報を追加する追加部と、
    前記記憶部に格納された通信記録を参照し、前記ウェブブラウザにおける所定の入力操作に係る通信記録を検出する入力検出部と、
    前記所定の入力操作に係る通信記録を用いて通信を再現する第一の再現部の実行結果と、前記所定の入力操作に係る通信記録を除いた通信記録を用いて通信を再現する第二の再現部の実行結果とが一致するとき、前記第二の再現部を選択する実行部と、を有する中継サーバ。
JP2013189657A 2013-09-12 2013-09-12 中継プログラム、中継方法及び中継サーバ Expired - Fee Related JP6136793B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013189657A JP6136793B2 (ja) 2013-09-12 2013-09-12 中継プログラム、中継方法及び中継サーバ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013189657A JP6136793B2 (ja) 2013-09-12 2013-09-12 中継プログラム、中継方法及び中継サーバ

Publications (2)

Publication Number Publication Date
JP2015056056A JP2015056056A (ja) 2015-03-23
JP6136793B2 true JP6136793B2 (ja) 2017-05-31

Family

ID=52820408

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013189657A Expired - Fee Related JP6136793B2 (ja) 2013-09-12 2013-09-12 中継プログラム、中継方法及び中継サーバ

Country Status (1)

Country Link
JP (1) JP6136793B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020245952A1 (ja) * 2019-06-05 2020-12-10 富士通株式会社 ログ取得プログラム、ログ取得方法、情報処理装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006107007A (ja) * 2004-10-04 2006-04-20 Hitachi Ltd 認証手順解析装置及び認証手順解析方法
JP5948955B2 (ja) * 2012-02-28 2016-07-06 富士通株式会社 中継装置、情報再現プログラム及び情報再現方法

Also Published As

Publication number Publication date
JP2015056056A (ja) 2015-03-23

Similar Documents

Publication Publication Date Title
US20220345451A1 (en) Resetting managed security credentials
US8621589B2 (en) Cross domain single sign on
US9348991B2 (en) User management of authentication tokens
JP6018292B2 (ja) ウェブページを通してローカルアプリケーションを制御するシステム及び方法
CN105472052B (zh) 一种跨域服务器的登录方法和系统
JP6286504B2 (ja) 多数のネットワークサイトのためのアカウント管理
JP5418681B2 (ja) 仲介処理方法、仲介装置及びシステム
CN104426862B (zh) 实现跨域请求登录的方法、系统及浏览器
CN104519050B (zh) 登录方法和登录系统
CN103546456B (zh) 信息处理设备、信息提供服务器和登录信息提供服务器
US20130198822A1 (en) Authentication Management Services
US8468360B2 (en) Client terminal, server, server-client system, cooperation processing method, program and recording medium
CN102112991B (zh) 用于管理用户认证的装置
CN101635707A (zh) 在Web环境中为用户提供身份管理的方法和装置
CN111818035B (zh) 一种基于api网关的权限验证的方法及设备
US8966593B2 (en) Delivering author specific content
CN104468592A (zh) 登录方法和登录系统
CN103634399A (zh) 一种实现跨域数据传输的方法和装置
CN102739678A (zh) 单点登录处理系统和单点登录处理方法
CN107819639B (zh) 一种测试方法和装置
JP6136793B2 (ja) 中継プログラム、中継方法及び中継サーバ
JP2005267529A (ja) ログイン認証方式、ログイン認証システム、認証プログラム、通信プログラムおよび記憶媒体
JP6079267B2 (ja) 中継サーバ、中継プログラム及び中継方法
JP6288241B2 (ja) サービス提供方法、サービス提供装置、及び、サービス提供プログラム
CN113965357B (zh) 跨域网站登录状态同步方法、电子设备及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160606

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170117

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170317

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: 20170404

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170417

R150 Certificate of patent or registration of utility model

Ref document number: 6136793

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees