(57)【要約】【課題】稼働中のアプリケーションの実装を変更することなく、アプリケーションサーバから送信されるレスポンスに含まれるパラメータの漏えい及び改ざんを防止できる。【解決手段】レスポンスフィルタ６１は、フィルタリングルールに合致するパラメータをレスポンスから検出する。レスポンスフィルタ６１は、検出されたパラメータをセッションＩＤに対応付けてセッションオブジェクトに格納する。レスポンスフィルタ６１は、検出されたパラメータが削除され、セッションＩＤが埋め込まれたレスポンスをクライアント端末１０に送信する。リクエストフィルタ６３は、クライアント端末１０から受信されたレスポンスに対するリクエストからセッションＩＤを削除し、リクエストに含まれるセッションＩＤによって識別されるセッションオブジェクトに格納されたパラメータを当該リクエストに復元して、アプリケーションサーバ２０に送信する。【選択図】      図２
2010182180.tif 000002
【特許請求の範囲】
【請求項１】
ユーザによって操作されるクライアント端末及び当該クライアント端末に対してアプリケーションを提供するアプリケーションサーバと通信可能に接続され、漏えいまたは改ざんの可能性があるパラメータの条件を示すルールを予め格納するルール格納手段及びセッションオブジェクト格納手段を有するセキュリティ強化装置のコンピュータによって実行されるセキュリティ強化プログラムであって、
前記コンピュータに、
前記ユーザの操作に応じて前記クライアント端末から送信された前記アプリケーションを利用するための要求に対するパラメータを含む応答を、前記アプリケーションサーバから受信するステップと、
前記ルール格納手段に格納されているルールによって示される条件に合致するパラメータを前記受信された応答から検出するステップと、
前記ルールによって示される条件に合致するパラメータが前記受信された応答から検出された場合、当該応答に対応するセッションオブジェクトを生成するステップと、
前記生成されたセッションオブジェクトを前記セッションオブジェクト格納手段に格納するステップと、
前記生成されたセッションオブジェクトを一意に識別するためのセッション識別情報を発行するステップと、
前記検出されたパラメータを前記発行されたセッション識別情報に対応付けて前記セッションオブジェクト格納手段に格納されたセッションオブジェクトに格納するステップと、
前記検出されたパラメータが前記セッションオブジェクトに格納されると、当該パラメータを前記受信された応答から削除するステップと、
前記セッションオブジェクトに格納されたパラメータが削除された応答に、前記発行されたセッション識別情報を埋め込むステップと、
前記発行されたセッション識別情報が埋め込まれた応答を前記クライアント端末に対して送信するステップと、
前記発行されたセッション識別情報が埋め込まれた応答が送信された後、当該セッション識別情報を含む当該応答に対する要求を前記クライアント端末から受信するステップと、
前記受信された要求に含まれるセッション識別情報によって識別されるセッションオブジェクトを、前記セッションオブジェクト格納手段から読み込むステップと、
前記受信された要求に含まれるセッション識別情報を当該要求から削除するステップと、
前記セッション識別情報が削除された要求に、前記読み込まれたセッションオブジェクトに格納されたパラメータを復元するステップと、
前記パラメータが復元された要求を前記アプリケーションサーバに対して送信するステップと
を実行させるためのセキュリティ強化プログラム。
【請求項２】
前記コンピュータに、前記セッション識別情報が削除された要求に前記読み込まれたセッションオブジェクトに格納されたパラメータが復元された場合、当該セッションオブジェクトを廃棄するステップを更に実行させることを特徴とする請求項１記載のセキュリティ強化プログラム。
【請求項３】
前記コンピュータに、前記発行されたセッション識別情報が埋め込まれた応答を前記クライアント端末に対して送信した後、予め定められた期間内に当該送信された応答に対する要求がクライアント端末から受信されない場合、前記セッションオブジェクト格納手段に格納されたセッションオブジェクトを廃棄するステップを更に実行させることを特徴とする請求項１記載のセキュリティ強化プログラム。
【請求項４】
前記ルール格納手段に格納されるルールによって示される条件は、接続先識別パターン、パラメータタイプ及びパラメータ名を含み、
前記受信された応答は、当該応答に対する要求の送信先に係る接続先識別情報を更に含み、
前記受信された応答に含まれるパラメータは、当該パラメータのパラメータタイプ及びパラメータ名を含み、
前記検出するステップは、
前記受信された応答に含まれる接続先識別情報が前記ルール格納手段に格納されるルールによって示される条件に含まれる接続先識別パターンに合致するかを判定するステップと、
前記受信された応答に含まれる接続先識別情報が前記接続先識別パターンに合致すると判定された場合、前記ルール格納手段に格納されるルールによって示される条件に含まれるパラメータタイプ及びパラメータ名を含むパラメータが前記受信された応答に含まれるかを判定するステップと、
前記ルール格納手段に格納されるルールによって示される条件に含まれるパラメータタイプ及びパラメータ名を含むパラメータが前記受信された応答に含まれると判定された場合、当該パラメータを当該応答から検出するステップと
を含む
ことを特徴とする請求項１記載のセキュリティ強化プログラム。
【請求項５】
ユーザによって操作されるクライアント端末及び当該クライアント端末に対してアプリケーションを提供するアプリケーションサーバと通信可能に接続されるセキュリティ強化装置において、
漏えいまたは改ざんの可能性があるパラメータの条件を示すルールを予め格納するルール格納手段と、
前記ユーザの操作に応じて前記クライアント端末から送信された前記アプリケーションを利用するための要求に対するパラメータを含む応答を、前記アプリケーションサーバから受信する応答受信手段と、
前記ルール格納手段に格納されているルールによって示される条件に合致するパラメータを前記受信された応答から検出する検出手段と、
前記ルールに示される条件に合致するパラメータが前記受信された応答から検出された場合、当該応答に対応するセッションオブジェクトを生成する生成手段と、
前記生成されたセッションオブジェクトを格納するセッションオブジェクト格納手段と、
前記生成されたセッションオブジェクトを一意に識別するためのセッション識別情報を発行する発行手段と、
前記検出されたパラメータを前記発行されたセッション識別情報に対応付けて前記セッションオブジェクト格納手段に格納されたセッションオブジェクトに格納する格納処理手段と、
前記検出されたパラメータが前記セッションオブジェクトに格納されると、当該パラメータを前記受信された応答から削除するパラメータ削除手段と、
前記セッションオブジェクトに格納されたパラメータが削除された応答に、前記発行されたセッション識別情報を埋め込む埋め込み手段と、
前記発行されたセッション識別情報が埋め込まれた応答を前記クライアント端末に対して送信する応答送信手段と、
前記発行されたセッション識別情報が埋め込まれた応答が送信された後、当該セッション識別情報を含む当該応答に対する要求を前記クライアント端末から受信する要求受信手段と、
前記要求受信手段によって受信された要求に含まれるセッション識別情報によって識別されるセッションオブジェクトを、前記セッションオブジェクト格納手段から読み込む読み込み手段と、
前記要求受信手段によって受信された要求に含まれるセッション識別情報を当該要求から削除するセッション識別情報削除手段と、
前記セッション識別情報削除手段によってセッション識別情報が削除された要求に、前記読み込まれたセッションオブジェクトに格納されたパラメータを復元する復元手段と、
前記パラメータが復元された要求を前記アプリケーションサーバに対して送信する要求送信手段と
を具備することを特徴とするセキュリティ強化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クライアント端末からのリクエストに対してアプリケーションサーバから送信されるレスポンスに含まれるパラメータの漏えい及び改ざんを防止するセキュリティ強化プログラム及びセキュリティ強化装置に関する。
【背景技術】
【０００２】
近年、インターネット技術の発展に伴い、様々な業務やサービスが例えばＷｅｂブラウザから容易に利用できるＷｅｂアプリケーションとして実現されている。このＷｅｂブラウザは、Ｗｅｂアプリケーションを提供するサーバ（以下、「アプリケーションサーバ」と表記）と通信可能に接続されている端末（以下、「クライアント端末」と表記）上で動作するクライアントソフトウェアである。
【０００３】
例えばショッピングサイトでは、利用者はクライアント端末に表示される画面を見ながら商品の選択や注文をすることができ、更にはクレジットカードで決済等も行うことができる。利用者は、注文した商品を宅配便等により受け取ることでサービスを利用することができる。
【０００４】
このように、近年では、Ｗｅｂアプリケーションの利用者は、例えば自宅にいながらにして様々なサービスを享受することができる。Ｗｅｂアプリケーションを利用する場合には、クライアント端末から当該Ｗｅｂアプリケーションを利用するためのリクエストが送信され、当該リクエストに対するレスポンスがアプリケーションサーバから返される。つまり、クライアント端末及びアプリケーションサーバ間においてリクエスト及びレスポンスの送受信が行われることにより、各種サービスが提供される。このリクエスト及びレスポンスには、クライアント端末及びアプリケーションサーバにおける処理に必要な各種パラメータ等が含まれる。
【０００５】
ところで、Ｗｅｂアプリケーションは、上記したような利便性を有する一方で、もともとステートレスな（状態を持たない）アーキテクチャであることから多くの脆弱性が指摘され、情報漏えい事故等を引き起こす場合がある。これは、Ｗｅｂアプリケーションの実装に不備があることに起因しており、Ｗｅｂアプリケーションの設計または実装時に適切に対処できるか否かは当該設計または実装する技術者のスキルに依存する。
【０００６】
上記したＷｅｂアプリケーションの脆弱性の多くは、例えばインジェクション系、セッション管理系及びパラメータ不正操作系に分類される。
【０００７】
インジェクション系の脆弱性とは、例えばクライアント端末からアプリケーションサーバに対して送信されるリクエストに含まれるパラメータに不正な文字列が挿入されることをいう。
【０００８】
セッション管理系の脆弱性とは、例えばリクエストまたはレスポンスに含まれるセッションＩＤが不正に操作されることをいう。このセッションＩＤは、例えばクライアント端末及びアプリケーションサーバ間の通信の同期を実現するために用いられる。
【０００９】
また、パラメータ不正操作系とは、例えばアプリケーションサーバから送信されるレスポンスに含まれるパラメータの情報を改ざんしてリクエストが送信されることをいう。
【００１０】
これらのうち、特にセッション管理系またはパラメータ不正操作系の脆弱性は、上位の設計段階からの作りこみが必要であり、Ｗｅｂアプリケーションの運用開始後に発覚した場合には、大幅なプログラムの改修により対応する必要がある。
【００１１】
そこで、予め与えられたルールに基づき、例えばクライアント端末からアプリケーションサーバに対して送信されたリクエストのパラメータ（入力パラメータ）に含まれる不正文字列を置換することにより無害化を実現する技術（以下、第１の先行技術と表記）が知られている。
【００１２】
また、予め与えられたルールに基づきサーバへのアクセス要求及び当該アクセス要求に対するアクセス応答をフィルタリングする技術（以下、第２の先行技術と表記）が開示されている（例えば、特許文献１を参照）。この第２の先行技術によれば、クライアント端末からアクセス要求を受け、当該アクセス要求中にアプリケーションサーバにとって無害であるがクライアント端末にとって有害な不正コードが含まれているならば、当該不正コードを記憶しておく。また、第２の先行技術によれば、アクセス要求に対するアクセス応答を受け、当該アクセス応答中に記憶しておいた不正コードが残っている場合にはそれらを削除する。これにより、第２の先刻技術によれば、予め定められた不正コードをアクセス応答から取り除くことが可能となる。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開２００５−９２５６４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１４】
しかしながら、上記した第１の先行技術では、対応可能なＷｅｂアプリケーションの脆弱性はインジェクション系に限定され、その他のセッション管理系及びパラメータ不正操作系の脆弱性については対応することができない。このため、これらのセッション管理系及びパラメータ不正操作系の脆弱性が顕在化した場合には、大幅なプログラムの改修が必要となる。
【００１５】
また、上記した第２の先行技術においても、不正コードを対象としているためインジェクション系の脆弱性の一部に対応しているに過ぎない。したがって、セッション管理系及びパラメータ不正操作系の脆弱性に対しては大幅なプログラムの改修が必要となる。
【００１６】
そこで、本発明の目的は、稼働中のアプリケーションの実装を変更することなく、クライアント端末からのリクエストに対してアプリケーションサーバから送信されるレスポンスに含まれるパラメータの漏えい及び改ざんを防止することが可能なセキュリティ強化プログラム及びセキュリティ強化装置を提供することにある。
【課題を解決するための手段】
【００１７】
本発明の１つの態様によれば、ユーザによって操作されるクライアント端末及び当該クライアント端末に対してアプリケーションを提供するアプリケーションサーバと通信可能に接続され、漏えいまたは改ざんの可能性があるパラメータの条件を示すルール予め格納するルール格納手段及びセッションオブジェクト格納手段を有するセキュリティ強化装置のコンピュータによって実行されるセキュリティ強化プログラムであって、前記コンピュータに、前記ユーザの操作に応じて前記クライアント端末から送信された前記アプリケーションを利用するための要求に対するパラメータを含む応答を、前記アプリケーションサーバから受信するステップと、前記ルール格納手段に格納されているルールによって示される条件に合致するパラメータを前記受信された応答から検出するステップと、前記ルールによって示される条件に合致するパラメータが前記受信された応答から検出された場合、当該応答に対応するセッションオブジェクトを生成するステップと、前記生成されたセッションオブジェクトを前記セッションオブジェクト格納手段に格納するステップと、前記生成されたセッションオブジェクトを一意に識別するためのセッション識別情報を発行するステップと、前記検出されたパラメータを前記発行されたセッション識別情報に対応付けて前記セッションオブジェクト格納手段に格納されたセッションオブジェクトに格納するステップと、前記検出されたパラメータが前記セッションオブジェクトに格納されると、当該パラメータを前記受信された応答から削除するステップと、前記セッションオブジェクトに格納されたパラメータが削除された応答に、前記発行されたセッション識別情報を埋め込むステップと、前記発行されたセッション識別情報が埋め込まれた応答を前記クライアント端末に対して送信するステップと、前記発行されたセッション識別情報が埋め込まれた応答が送信された後、当該送信された応答に埋め込まれたセッション識別情報を含む当該応答に対する要求を前記クライアント端末から受信するステップと、前記受信された要求に含まれるセッション識別情報によって識別されるセッションオブジェクトを、前記セッションオブジェクト格納手段から読み込むステップと、前記受信された要求に含まれるセッション識別情報を当該要求から削除するステップと、前記セッション識別情報が削除された要求に、前記読み込まれたセッションオブジェクトに格納されたパラメータを復元するステップと、前記パラメータが復元された要求を前記アプリケーションサーバに対して送信するステップとを実行させるためのセキュリティ強化プログラムが提供される。
【発明の効果】
【００１８】
本発明によれば、稼働中のアプリケーションの実装を変更することなく、クライアント端末からのリクエストに対してアプリケーションサーバから送信されるレスポンスに含まれるパラメータの漏えい及び改ざんを防止することができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施形態に係るセキュリティ強化装置が接続されるネットワークシステムについて説明するための図。
【図２】図１に示すセキュリティ強化装置６０の主として機能構成を示すブロック図。
【図３】アプリケーションサーバ２０によって提供されるＷｅｂアプリケーションの概要について説明するための図。
【図４】レスポンスとしてクライアント端末１０に返される注文画面の表示例を示す図。
【図５】レスポンスとしてクライアント端末１０に返される注文完了画面の表示例を示す図。
【図６】アプリケーションサーバ２０によってレスポンスが送信された場合の本実施形態に係るセキュリティ強化装置６０の処理手順を示すフローチャート。
【図７】レスポンスフィルタ６１によって受信される注文画面のレスポンスの一例を示す図。
【図８】フィルタリングルール格納部５２に格納されているフィルタリングルールの一例を示す図。
【図９】レスポンス１００に対応するセッションオブジェクトのデータ構造の一例を示す図。
【図１０】レスポンスフィルタ６１によって送信されたレスポンス１００の一例を示す図。
【図１１】レスポンスフィルタ６１によって送信されたレスポンス１００に対するリクエストがクライアント端末１０によって送信された場合の本実施形態に係るセキュリティ強化装置６０の処理手順を示すフローチャート。
【図１２】リクエストフィルタ６３によって受信される注文受付要求のリクエストの一例を示す図。
【図１３】リクエストフィルタ６３によって送信されたリクエスト２００の一例を示す図。
【発明を実施するための形態】
【００２０】
以下、図面を参照して、本発明の実施形態について説明する。
【００２１】
図１は、本実施形態に係るセキュリティ強化装置が接続されるネットワークシステムについて説明するための図である。
【００２２】
図１に示すように、クライアント端末１０及びアプリケーションサーバ（Ｗｅｂアプリケーションサーバ）２０は、ネットワーク３０と接続されている。
【００２３】
クライアント端末１０上では、アプリケーションサーバ２０を利用するクライアントソフトウェアが動作する。クライアントソフトウェアは、例えばＷｅｂブラウザである。
【００２４】
アプリケーションサーバ２０は、クライアント端末１０に対して各種Ｗｅｂアプリケーションを提供する。
【００２５】
クライアント端末１０は、アプリケーションサーバ２０によって提供されるＷｅｂアプリケーションを利用するユーザ（利用者）によって操作される。ここで、ユーザがクライアント端末１０を用いてアプリケーションサーバ２０によって提供されるＷｅｂアプリケーションを利用する場合のクライアント端末１０及びアプリケーションサーバ２０間の通信について説明する。
【００２６】
この場合、クライアント端末１０及びアプリケーションサーバ２０間では、例えばユーザの操作に応じてクライアント端末１０上で動作するＷｅｂブラウザからアプリケーションサーバ２０に対してリクエスト（要求）が送信され、このリクエストに対するレスポンス（応答）がアプリケーションサーバ２０によって提供されるＷｅｂアプリケーションからクライアント端末１０に返される（送信される）。更に、Ｗｅｂアプリケーションから送信されたレスポンスに対するリクエストがある場合には、Ｗｅｂブラウザから当該リクエストが送信される。このように、Ｗｅｂブラウザ及びＷｅｂアプリケーション間においてリクエスト及びレスポンスが送受信されることで、当該Ｗｅｂアプリケーションによる様々なサービスがユーザに対して実現される。なお、上記したＷｅｂブラウザ及びＷｅｂアプリケーション間において送受信されるリクエスト及びレスポンスには、各種パラメータが含まれる。
【００２７】
上記したようにクライアント端末１０上で動作するＷｅｂブラウザ及びアプリケーションサーバ２０によって提供されるＷｅｂアプリケーション間でリクエスト及びレスポンスが送受信される。しかし、以下の説明では、煩雑さを避けるためにクライアント端末１０及びアプリケーションサーバ２０がリクエスト及びレスポンスを送受信するものとする。
【００２８】
なお、図１においてはクライアント端末１０及びアプリケーションサーバ２０以外のクライアント端末及びアプリケーションサーバについては省略されているが、ネットワーク３０には、複数のクライアント端末及びアプリケーションサーバが接続される。
【００２９】
ネットワーク３０には、コンピュータ４０が接続されている。コンピュータ４０は、ハードディスクドライブのような外部記憶装置５０と接続されている。この外部記憶装置５０は、コンピュータ４０によって実行されるプログラム５１を格納する。コンピュータ４０及び外部記憶装置５０は、セキュリティ強化装置（Ｗｅｂアプリケーションセキュリティ強化装置）６０を構成する。
【００３０】
セキュリティ強化装置６０は、ネットワーク３０を介してクライアント端末１０及びアプリケーションサーバ２０と通信可能に接続されている。セキュリティ強化装置６０は、上記したクライアント端末１０及びアプリケーションサーバ２０間で通信されるリクエスト及びレスポンスを中継する機能を有する。
【００３１】
図２は、図１に示すセキュリティ強化装置６０の主として機能構成を示すブロック図である。セキュリティ強化装置６０は、レスポンスフィルタ６１、セッション管理部６２及びリクエストフィルタ６３を含む。本実施形態において、レスポンスフィルタ６１、セッション管理部６２及びリクエストフィルタ６３は、図１に示すコンピュータ４０が外部記憶装置５０に格納されているプログラム（セキュリティ強化プログラム）５１を実行することにより実現されるものとする。このプログラム５１は、コンピュータ読み取り可能な記憶媒体に予め格納して頒布可能である。また、このプログラム５１が、ネットワーク３０を介してコンピュータ４０にダウンロードされても構わない。
【００３２】
また、セキュリティ強化装置６０は、フィルタリングルール格納部５２及びセッションオブジェクト格納部５３を有する。本実施形態において、フィルタリングルール格納部５２及びセッションオブジェクト格納部５３は、例えば外部記憶装置５０に格納される。
【００３３】
なお、上記したように、セキュリティ強化装置６０は、クライアント端末１０及びアプリケーションサーバ２０間においてリクエスト及びレスポンスを中継する。
【００３４】
フィルタリングルール格納部５２には、例えば漏えいまたは改ざんの可能性があるパラメータの条件を示すフィルタリングルールが予め格納される。フィルタリングルール格納部５２に格納されるフィルタリングルールは、上記したアプリケーションサーバ２０（によって提供されるＷｅｂアプリケーション）から送信されるレスポンスからパラメータを検出するために用いられる。このフィルタリングルールのデータ構造の詳細については後述する。
【００３５】
セッションオブジェクト格納部５３には、アプリケーションサーバ２０から送信されるレスポンスに対応するセッションオブジェクトが格納される。
【００３６】
レスポンスフィルタ６１は、ユーザの操作に応じてクライアント端末１０から送信されたリクエストに対するレスポンスをアプリケーションサーバ２０から受信する。上記したようにレスポンスには、パラメータが含まれる。レスポンスに含まれるパラメータは、例えばレスポンスに対するリクエストの送信先ＵＲＬ（Uniform Resource Locator‥送信先ＵＲＬを「接続先識別情報」の一例として本明細書では記載する）、当該パラメータのパラメータタイプ及びパラメータ名を含む。
【００３７】
レスポンスフィルタ６１は、フィルタリングルール格納部５２に格納されているフィルタリングルールによって示される条件に合致するパラメータを、受信されたレスポンスから検出する。このとき、レスポンスフィルタ６１は、受信されたレスポンスのパラメータに含まれるＵＲＬ、パラメータタイプ及びパラメータ名に基づいて検出処理を実行する。
【００３８】
レスポンスフィルタ６１は、検出されたパラメータ（フィルタリングルール格納部５２に格納されているフィルタリングルールによって示される条件に合致するパラメータ）を、受信されたレスポンスに対応するセッションオブジェクトに格納する。レスポンスフィルタ６１は、セッション管理部６２を介して格納処理を実行する。後述するように、受信されたレスポンスに対応するセッションオブジェクトは、セッションオブジェクト格納部５３に格納されている。
【００３９】
レスポンスフィルタ６１は、検出されたパラメータがセッションオブジェクトに格納されると、当該検出されたパラメータを、受信されたレスポンスから削除する。
【００４０】
レスポンスフィルタ６１は、後述するセッション管理部６２によって発行されたセッションＩＤを、検出されたパラメータが削除されたレスポンスに埋め込む。
【００４１】
レスポンスフィルタ６１は、セッション管理部６２によって発行されたセッションＩＤが埋め込まれたレスポンスをクライアント端末１０に対して送信する。
【００４２】
セッション管理部６２は、セッションオブジェクト格納部５３に対する各種処理を実行する。
【００４３】
セッション管理部６２は、フィルタリングルール格納部５２に格納されているフィルタリングルールによって示される条件に合致するパラメータがレスポンスフィルタ６１によってレスポンスから検出された場合に、当該レスポンスに対応するセッションオブジェクトがセッションオブジェクト格納部５３に格納されているか否かを判定する。つまり、セッション管理部６２は、レスポンスフィルタ６１によって受信されたレスポンスに対応するセッションオブジェクトが生成済みであるか否かを判定する。
【００４４】
セッション管理部６２は、レスポンスフィルタ６１によって受信されたレスポンスに対応するセッションオブジェクトが生成済みでない場合には、当該レスポンスに対応するセッションオブジェクトを生成する。この生成されたセッションオブジェクトは、セッションオブジェクト格納部５３に格納される。
【００４５】
セッション管理部６２は、レスポンスフィルタ６１によって受信されたレスポンスに対応するセッションオブジェクトを生成すると、当該セッションオブジェクトを一意に識別するための独自のセッションＩＤ（セッション識別情報）を発行する。この発行されたセッションＩＤは、セッション管理部６２によって生成されたセッションオブジェクト（当該セッションＩＤによって識別されるセッションオブジェクト）に格納される。
【００４６】
また、セッション管理部６２は、後述するようにセッションオブジェクト格納部５３に格納されたセッションオブジェクトの廃棄処理を行う。
【００４７】
リクエストフィルタ６３は、上記したようにレスポンスフィルタ６１によって送信されたレスポンスに対するリクエストをクライアント端末１０から受信する。この受信されたリクエストは、例えばユーザの操作に応じてアプリケーションサーバ２０に対して送信されたリクエストである。また、この受信されたリクエストには、レスポンスフィルタ６１によって送信されたレスポンスに埋め込まれたセッションＩＤ（セッション管理部６２によって発行されたセッションＩＤ）が含まれる。
【００４８】
リクエストフィルタ６３は、受信されたリクエストに含まれるセッションＩＤによって識別されるセッションオブジェクト（当該セッションＩＤが格納されているセッションオブジェクト）を、セッションオブジェクト格納部５３から読み込む。
【００４９】
リクエストフィルタ６３は、受信されたリクエストに含まれるセッションＩＤによって識別されるセッションオブジェクトが読み込まれると、当該セッションＩＤを当該リクエストから削除する。
【００５０】
リクエストフィルタ６３は、読み込まれたセッションオブジェクトに格納されているパラメータを、受信されたリクエスト（内）に復元する。受信されたリクエスト内にセッションオブジェクトに格納されているパラメータが復元されると、セッション管理部６２によって当該セッションオブジェクトは廃棄される。
【００５１】
リクエストフィルタ６３は、パラメータが復元されたリクエストをアプリケーションサーバ２０に対して送信する。
【００５２】
なお、リクエストフィルタ６３は、受信されたリクエストにセッション管理部６２によって発行されたセッションＩＤ（レスポンスフィルタ６１によって送信されたレスポンスに埋め込まれたセッションＩＤ）が含まれている場合にのみ機能する。例えばクライアント端末１０（上で動作するＷｅｂブラウザ）及びアプリケーションサーバ２０（によって提供されるアプリケーション）間で最初に当該クライアント端末１０から送信されるリクエストにはセッション管理部６２によって発行されたセッションＩＤは含まれていない。このようなリクエストが受信された場合、リクエストフィルタ６３は、特別な処理は行わず、当該リクエストをアプリケーションサーバ２０にそのまま中継する。
【００５３】
このとき、例えばリクエストに含まれるパラメータ（リクエストパラメータ）の値をチェックするためのルールを予め用意しておき、リクエストフィルタ６３がこのルールに基づいて当該パラメータの値をフィルタリングする構成であっても構わない。
【００５４】
以下、本実施形態に係るセキュリティ強化装置６０の動作について説明する。ここで、図３を参照して、セキュリティ強化装置６０の動作を説明するために用いるアプリケーションサーバ２０によって提供されるＷｅｂアプリケーションの概要について説明する。ここで説明するＷｅｂアプリケーションは、ユーザからの商品の注文を受け付ける受注サービスを提供するものであるとする。なお、図３（に示すＷｅｂアプリケーション）では、セキュリティ強化装置６０の動作を説明するための最小限の内容が示されている。
【００５５】
図３に示すように、まず、クライアント端末１０は、例えばＵＲＬを指定してリクエスト（注文要求）をアプリケーションサーバ２０（によって提供されるＷｅｂアプリケーション）に送信する（ステップＳ１）。このとき、ユーザは、クライアント端末１０上で動作するＷｅｂブラウザからＵＲＬを指定することができる。
【００５６】
次に、アプリケーションサーバ２０は、クライアント端末１０によって送信されたリクエストに対するレスポンスとして注文画面を当該クライアント端末１０に返す（ステップＳ２）。
【００５７】
ここで、図４は、レスポンスとしてクライアント端末１０に返される注文画面が当該クライアント端末１０に表示された場合の一例を示す。図４に示す例では、注文画面には、商品名、当該商品の単価、当該商品を注文する数（注文数）の入力欄（入力フォーム）、送信ボタン及び取り消しボタンが表示されている。
【００５８】
図４に示す注文画面が表示されると、クライアント端末１０を操作するユーザは、当該クライアント端末１０上で動作するＷｅｂブラウザから注文数を入力し、送信ボタンを押下（クリック）する。これにより、注文内容（注文数）を含むリクエスト（注文受付要求）がクライアント端末１０からアプリケーションサーバ２０に対して送信される（ステップＳ３）。
【００５９】
アプリケーションサーバ２０（によって提供されるＷｅｂアプリケーション）では、クライアント端末１０から送信されたリクエストに基づいて注文の受付処理が実行される。これにより、クライアント端末１０から送信されたリクエストに対するレスポンスとして注文完了画面が当該クライアント端末１０に返される（ステップＳ４）。
【００６０】
ここで、図５は、レスポンスとしてクライアント端末１０に返される注文完了画面が当該クライアント端末１０に表示された場合の一例を示す。図５に示す例では、注文完了画面には、商品名、当該商品の単価、上記した注文画面において入力された注文数及び請求額が表示されている。なお、注文完了画面に表示される請求額は、商品の単価及び注文数から算出される。
【００６１】
以下の説明では、上記した図３に示すリクエスト及びレスポンスがクライアント端末１及びアプリケーションサーバ２０間において送受信されるものとして説明する。つまり、本実施形態に係るセキュリティ強化装置６０は、図３に示すリクエスト及びレスポンスを中継する。
【００６２】
まず、図６のフローチャートを参照して、アプリケーションサーバ２０によってレスポンスが送信された場合の本実施形態に係るセキュリティ強化装置６０の処理手順について説明する。ここでは、上記した図３において説明した注文画面のレスポンスがアプリケーションサーバ２０によって送信された場合について説明する。
【００６３】
この場合、セキュリティ強化装置６０に含まれるレスポンスフィルタ６１では、フィルタリングルール格納部５２に予め格納されている（設定されている）フィルタリングルールに基づいてフィルタリング処理を実行する。
【００６４】
まず、レスポンスフィルタ６１は、アプリケーションサーバ２０によって送信されたレスポンスを受信する（ステップＳ１１）。このレスポンスには、例えば当該レスポンスに対するリクエストの送信先ＵＲＬ及びパラメータが含まれる。このＵＲＬは、例えばユーザの操作に応じてＷｅｂブラウザから指定される。また、パラメータには、当該パラメータのパラメータタイプ、パラメータ名及びパラメータ値が含まれる。
【００６５】
ここで、図７は、レスポンスフィルタ６１によって受信される注文画面のレスポンスの一例を示す。なお、図７では、実際のレスポンスの内容のうち説明に最小限必要な内容が示されている。
【００６６】
図７に示すレスポンス１００においては、１行目の「ＳＥＳＳＩＯＮ＿ＩＤ」はクライアント端末１０から送信されたリクエストに対してアプリケーションサーバ２０が発行したセッションＩＤを示す。アプリケーションサーバ２０（によって提供されるＷｅｂアプリケーション）及びクライアント端末１０（上で動作するＷｅｂブラウザ）間では、このセッションＩＤを用いて通信の同期が実現される。この１行目においては、「Ｃｏｏｋｉｅ」がパラメータタイプであり、「ＳＥＳＳＩＯＮ＿ＩＤ」がパラメータ名であり、「０１２」がパラメータ値である。つまり、１行目には、パラメータタイプ「Ｃｏｏｋｉｅ」、パラメータ名「ＳＥＳＳＩＯＮ＿ＩＤ」及びパラメータ値「０１２」を含むパラメータが示されている。
【００６７】
２行目の「Ｃｏｎｔｅｎｔ−ｌｅｎｇｔｈ」は、この後に続くデータのデータ長をバイト単位で表す。なお、本実施例では、改行コードを１文字とカウントしてデータ長を求めている。
【００６８】
４行目に含まれる「ａｃｔｉｏｎ＝“ｈｔｔｐ：／／ｈｏｓｔｎａｍｅ／ｏｒｄｅｒ．ｄｏ”」は、上記した図４に示す注文画面で送信ボタンがクリックされたときのデータの送信先ＵＲＬ「ｈｔｔｐ：／／ｈｏｓｔｎａｍｅ／ｏｒｄｅｒ．ｄｏ」を示す。
【００６９】
８行目〜１０行目の「ｉｎｐｕｔ  ｔｙｐｅ＝“ｈｉｄｄｅｎ”」は、Ｈｉｄｄｅｎパラメータと呼ばれる。このＨｉｄｄｅｎパラメータは、情報としてはクライアント端末１０に送信されるが、当該Ｗｅｂブラウザにおける画面上には表示されない。このため、Ｈｉｄｄｅｎパラメータは、ユーザに対しては示されない（表示されない）が画面間で引き継ぎたい情報を埋め込むように実装されている場合があり、情報の漏えいまたは改ざん等の対象となる。
【００７０】
なお、８行目のＨｉｄｄｅｎパラメータにおいては、「Ｈｉｄｄｅｎ」がパラメータタイプであり、「ＳＣＲＥＥＮ＿ＩＤ」がパラメータ名であり、「ｓ００１」がパラメータ値である。つまり、８行目には、パラメータタイプ「Ｈｉｄｄｅｎ」、パラメータ名「ＳＣＲＥＥＮ＿ＩＤ」及びパラメータ値「ｓ００１」を含むパラメータ（Ｈｉｄｄｅｎパラメータ）が示されている。
【００７１】
９行目のＨｉｄｄｅｎパラメータにおいては、「Ｈｉｄｄｅｎ」がパラメータタイプであり、「ＵＳＥＲ＿ＩＤ」がパラメータ名であり、「ｔａｒｏ」がパラメータ値である。つまり、９行目には、パラメータタイプ「Ｈｉｄｄｅｎ」、パラメータ名「ＵＳＥＲ＿ＩＤ」及びパラメータ値「ｔａｒｏ」を含むパラメータ（Ｈｉｄｄｅｎパラメータ）が示されている。
【００７２】
また、１０行目のＨｉｄｄｅｎパラメータにおいては、「Ｈｉｄｄｅｎ」がパラメータタイプであり、「ＰＲＩＣＥ」がパラメータ名であり、「１２０００」がパラメータ値である。つまり、１０行目には、パラメータタイプ「Ｈｉｄｄｅｎ」、パラメータ名「ＰＲＩＣＥ」及びパラメータ値「１２０００」を含むパラメータ（Ｈｉｄｄｅｎパラメータ）が示されている。
【００７３】
なお、パラメータタイプには、上記した「Ｃｏｏｋｉｅ」及び「Ｈｉｄｄｅｎ」以外に「ＧＥＴ」等が存在する。
【００７４】
以下、上記したステップＳ１１においては、図７に示すレスポンス１００が受信されたものとして説明する。
【００７５】
再び図６に戻るって説明する。レスポンスフィルタ６１は、レスポンス１００が受信されると、フィルタリングルール格納部５２に格納されているフィルタリングルールを読み込む（ステップＳ１２）。このとき、レスポンスフィルタ６１は、フィルタリングルール格納部５２に格納されているフィルタリングルールのうちの１つを読み込む。
【００７６】
ここで、図８は、フィルタリングルール格納部５２に格納されているフィルタリングルールの一例を示す。図８に示すように、フィルタリングルール（によって示される条件）は、少なくともＵＲＬパターン、パラメータタイプ及びパラメータ名を含む。本明細書におけるＵＲＬパターンは、「接続先識別パターン」の一例であり、例えば正規表現等の表記方法によって与えられる。
【００７７】
図８に示す例では、フィルタリングルール格納部５２には、フィルタリングルール５２１〜５２６が格納されている。
【００７８】
フィルタリングルール５２１は、ＵＲＬパターン「．＊／ｏｒｄｅｒ￥．ｄｏ．＊」、パラメータタイプ「ＣＯＯＫＩＥ」及びパラメータ名「ＳＥＳＳＩＯＮ＿ＩＤ」を含む。
【００７９】
フィルタリングルール５２２は、ＵＲＬパターン「．＊／ｏｒｄｅｒ￥．ｄｏ．＊」、パラメータタイプ「ＨＩＤＤＥＮ」及びパラメータ名「ＳＣＲＥＥＮ＿ＩＤ」を含む。
【００８０】
フィルタリングルール５２３は、ＵＲＬパターン「．＊／ｏｒｄｅｒ￥．ｄｏ．＊」、パラメータタイプ「ＨＩＤＤＥＮ」及びパラメータ名「ＵＳＥＲ＿ＩＤ」を含む。
【００８１】
フィルタリングルール５２４は、ＵＲＬパターン「．＊／ｏｒｄｅｒ￥．ｄｏ．＊」、パラメータタイプ「ＨＩＤＤＥＮ」及びパラメータ名「ＰＲＩＣＥ」を含む。
【００８２】
フィルタリングルール５２５は、ＵＲＬパターン「．＊／ｕｓｅｒｉｎｆｏ￥．ｄｏ．＊」、パラメータタイプ「ＧＥＴ」及びパラメータ名「ＣＬＡＳＳ」を含む。
【００８３】
また、フィルタリングルール５２６は、ＵＲＬパターン「．＊／ｏｒｄｅｒ￥．ｄｏ．＊」、パラメータタイプ「ＧＥＴ」及びパラメータ名「ＡＤＤＲＥＳＳ」を含む。
【００８４】
再び図６に戻って説明する。なお、上記したステップＳ１２において、レスポンスフィルタ６１は、図８に示すフィルタリングルール５２１を読み込んだものとして説明する。
【００８５】
レスポンスフィルタ６１は、読み込まれたフィルタリングルール５２１を構成するＵＲＬパターンに上記したステップＳ１１において受信されたレスポンス１００に含まれるＵＲＬが合致する（一致する）か否かを判定する（ステップＳ１３）。
【００８６】
フィルタリングルール５２１に含まれるＵＲＬパターンは、「．＊／ｏｒｄｅｒ￥．ｄｏ．＊」である。これは、任意の文字列で開始し、文字列「／ｏｒｄｅｒ．ｄｏ」を含み、任意の文字列で終了する文字列（ＵＲＬ）のパターンを表す。なお、任意の文字列には、空文字列が含まれる。一方、レスポンス１００に含まれるＵＲＬは、「ｈｔｔｐ：／／ｈｏｓｔｎａｍｅ／ｏｒｄｅｒ．ｄｏ」である。
【００８７】
この場合、レスポンスフィルタ６１は、レスポンス１００に含まれるＵＲＬがフィルタリングルール５２１に含まれるＵＲＬパターンに合致すると判定する（ステップＳ１３のＹＥＳ）。
【００８８】
次に、レスポンスフィルタ６１は、読み込まれたフィルタリングルール５２１に含まれるパラメータタイプ及びパラメータ名を含むパラメータ（当該パラメータタイプ及びパラメータ名が一致するパラメータ）がレスポンス１００の中に存在するか否かを判定する（ステップＳ１４）。
【００８９】
フィルタリングルール５２１に含まれるパラメータタイプは「ＣＯＯＫＩＥ」であり、パラメータ名は「ＳＥＳＳＩＯＮ＿ＩＤ」である。一方、図７に示すレスポンス１００の１行目には、パラメータタイプ「Ｃｏｏｋｉｅ（ＣＯＯＫＩＥ）」及びパラメータ名「ＳＥＳＳＩＯＮ＿ＩＤ」を含むパラメータが存在する。
【００９０】
この場合、レスポンスフィルタ６１は、フィルタリングルール５２１に含まれるパラメータタイプ及びパラメータ名を含むパラメータがレスポンス１００の中に存在すると判定する（ステップＳ１４のＹＥＳ）。
【００９１】
この場合、レスポンスフィルタ６１は、フィルタリングルール５２１に含まれるパラメータタイプ及びパラメータ名を含むパラメータ（図７に示すレスポンス１００の１行目のパラメータ）を、フィルタリングルール５２１に合致するパラメータとしてレスポンス１００から検出する。
【００９２】
フィルタリングルール５２１に合致するパラメータがレスポンス１００から検出された場合、セッション管理部６２は、当該レスポンス１００に対応するセッションオブジェクトが生成済みであるか否かを判定する（ステップＳ１５）。セッション管理部６２は、セッションオブジェクト格納部５３を参照して判定処理を実行する。セッションオブジェクトは、後述するように例えばレスポンス１００から最初にパラメータが検出された際に生成され、セッションオブジェクト格納部５３に格納される。
【００９３】
ここでは、レスポンスフィルタ６１によって検出されたパラメータはレスポンス１００から検出された最初のパラメータであるため、当該レスポンス１００に対応するセッションオブジェクトは生成されていない。よって、セッション管理部６２は、レスポンス１００に対応するセッションオブジェクトが生成済みでないと判定する（ステップＳ１５のＮＯ）。
【００９４】
セッションオブジェクトが生成済みでないと判定された場合、セッション管理部６２は、レスポンス１００に対応するセッションオブジェクトを生成する（ステップＳ１６）。セッション管理部６２は、生成されたセッションオブジェクトをセッションオブジェクト格納部５３に格納する。
【００９５】
セッション管理部６２は、生成されたセッションオブジェクト（セッションオブジェクト格納部５３に格納されたセッションオブジェクト）を一意に識別するためのセッションＩＤを発行する（ステップＳ１７）。ここで、セッション管理部６２によって発行されたセッションＩＤは、例えば「３ｊｕｚＯｕＡｗｋ」であるものとする。このセッションＩＤは、上記したアプリケーションサーバ２０によって発行されたセッションＩＤ「０１２」と比較して、予測しにくい強固なセッションＩＤである。セッション管理部６２によって発行されたセッションＩＤは、当該セッションＩＤによって一意に識別されるセッションオブジェクトに格納される。
【００９６】
次に、レスポンスフィルタ６１は、検出されたパラメータ（フィルタリングルール５２１に合致するパラメータ）をセッションオブジェクト格納部５３に格納されたセッションオブジェクトに格納する（ステップＳ１８）。このセッションオブジェクトは、上記ステップＳ１６において生成されたレスポンス１００に対応するセッションオブジェクトである。なお、セッションオブジェクトに格納されるパラメータには、パラメータタイプ、パラメータ名及びパラメータ値が含まれる。ここでは、図７に示すレスポンス１００の１行目はＣｏｏｋｉｅパラメータであることから、パラメータタイプとしては、「ＣＯＯＫＩＥ（Ｃｏｏｋｉｅ）」がセッションオブジェクトに格納される。また、パラメータ名としては、「ＳＥＳＳＩＯＮ＿ＩＤ＝０１２」の「＝」の左側である「ＳＥＳＳＩＯＮ＿ＩＤ」がセッションオブジェクトに格納される。パラメータ値としては、「ＳＥＳＳＩＯＮ＿ＩＤ＝０１２」の「＝」の右側である「０１２」がセッションオブジェクトに格納される。
【００９７】
レスポンスフィルタ６１は、検出されたパラメータをレスポンス１００から削除する（ステップＳ１９）。ここでは、図７に示すレスポンス１００から文字列「ＳＥＳＳＩＯＮ＿ＩＤ＝０１２」が削除される。
【００９８】
ここで、フィルタリングルール格納部５２に格納されている全てのフィルタリングルールについて上記したステップＳ１２以降の処理が実行されたか否かが判定される（ステップＳ２０）。
【００９９】
全てのフィルタリングルールについて処理が実行されていないと判定された場合（ステップＳ２０のＮＯ）、ステップＳ１２に戻って処理が繰り返される。
【０１００】
なお、上記したステップＳ１３においてレスポンス１００に含まれるＵＲＬがフィルタリングルールに含まれるＵＲＬパターンに合致しないと判定された場合及びステップＳ１４においてフィルタリングルールに含まれるパラメータタイプ及びパラメータ名を含むパラメータがレスポンス１００の中に存在しないと判定された場合についても、ステップＳ１２に戻って処理が繰り返される。
【０１０１】
ここでは、フィルタリングルール格納部５３に格納されているフィルタリングルール５２１についてステップＳ１２以降の処理が実行されたので、次は、フィルタリングルール５２２について処理が実行される。
【０１０２】
ここで、フィルタリングルール５２２についてのステップＳ１２以降の処理について簡単に説明する。
【０１０３】
フィルタリングルール５２２に含まれるＵＲＬパターンは、「．＊／ｏｒｄｅｒ￥．ｄｏ．＊」である。一方、レスポンス１００に含まれるＵＲＬは、「ｈｔｔｐ：／／ｈｏｓｔｎａｍｅ／ｏｒｄｅｒ．ｄｏ」である。
【０１０４】
したがって、ステップＳ１３においてはレスポンス１００に含まれるＵＲＬがフィルタリングルール５２２に含まれるＵＲＬパターンに合致すると判定される。
【０１０５】
また、フィルタリングルール５２２に含まれるパラメータタイプは「ＨＩＤＤＥＮ」であり、パラメータ名は「ＳＣＲＥＥＮ＿ＩＤ」である。一方、レスポンス１００の８行目には、パラメータタイプ「Ｈｉｄｄｅｎ（ＨＩＤＤＥＮ）」及びパラメータ名「ＳＣＲＥＥＮ＿ＩＤ」を含むパラメータ（Ｈｉｄｄｅｎパラメータ）が存在する。
【０１０６】
したがって、ステップ１４においてはフィルタリングルール５２２に含まれるパラメータタイプ及びパラメータ名を含むパラメータがレスポンス１００の中に存在すると判定される。
【０１０７】
よって、フィルタリングルール５２２に含まれるパラメータタイプ及びパラメータ名を含むパラメータ（図７に示すレスポンス１００の８行目のパラメータ）が、フィルタリングルール５２２に合致するパラメータとしてレスポンス１００から検出される。
【０１０８】
このとき、レスポンス１００に対応するセッションオブジェクトは既に生成済みである。よって、ステップＳ１７においてレスポンス１００に対応するセッションオブジェクトは既に生成済みであると判定される。この場合には、ステップＳ１６及びステップＳ１７の処理は実行されず、ステップＳ１８の処理が実行される。
【０１０９】
ステップＳ１８において、検出されたパラメータ（フィルタリングルール５２２に合致するパラメータ）は、セッションオブジェクト格納部５３に格納されているセッションオブジェクト（レスポンス１００に対応するセッションオブジェクト）に格納される。
【０１１０】
また、ステップＳ１９においては、検出されたパラメータがレスポンス１００から削除される。
【０１１１】
このように、フィルタリングルール格納部５２に格納されている全てのフィルタリングルールについて順次ステップＳ１２以降の処理が実行される。フィルタリングルール格納部５２に格納されている全てのフィルタリングルールについて処理が実行されると、レスポンス１００に対応するセッションオブジェクトには、当該レスポンス１００から検出された全てのパラメータ（例えば、フィルタリングルール５２１〜５２６に合致するパラメータ）が格納される。
【０１１２】
なお、詳細な説明は省略するが、図７に示すレスポンス１００には、図８に示すフィルタリングルール５２１〜５２６のうちフィルタリングルール５２１〜５２４に合致するパラメータは存在するが、フィルタリングルール５２５及び５２６に合致するパラメータは存在しない。つまり、フィルタリングルール５２１〜５２６の全てについてステップＳ１２以降の処理が実行された場合、レスポンス１００に対応するセッションオブジェクトには、フィルタリングルール５２１〜５２４に合致するパラメータが格納される。
【０１１３】
また、図７に示すレスポンス１００には存在しないが、パラメータタイプが「ＧＥＴ」であるフィルタリングルール５２５（または５２６）においても、当該パラメータタイプ「ＧＥＴ」及びパラメータ名「ＣＬＡＳＳ」（または「ＡＤＤＲＥＳＳ」）が一致するパラメータ（ＧＥＴパラメータ）がレスポンス１００に存在すれば当該パラメータが検出され、セッションオブジェクトに格納される。レスポンス１００に含まれるＵＲＬが例えば「ｈｔｔｐ：／／ｈｏｓｔｎａｍｅ／ｏｒｄｅｒ．ｄｏ？ＳＣＲＥＥＮ＿ＩＤ＝ｓ００１」である場合には、パラメータタイプを「ＧＥＴ」、「ＳＣＲＥＥＮ＿ＩＤ＝ｓ００１」の「＝」の左側（ＳＣＲＥＥＮ＿ＩＤ）をパラメータ名、当該「＝」の右側（ｓ００１）をパラメータ値とするパラメータがセッションオブジェクトに格納される。
【０１１４】
ここで、図９は、レスポンス１００に対応するセッションオブジェクトのデータ構造の一例を示す。
【０１１５】
図９に示すように、セッションオブジェクトには、少なくとも内部種別、パラメータが格納される。このパラメータには、パラメータタイプ、パラメータ名及びパラメータ値が含まれる。
【０１１６】
内部種別は、セッションオブジェクト内部でのパラメータの種類を表す。内部種別には、「ＳＥＳＳＩＤ」及び「ＰＡＲＡＭ」が含まれる。「ＳＥＳＳＩＤ」は、セッション管理部６２によって発行されたセッションＩＤを示す。「ＰＡＲＡＭ」は、レスポンスフィルタ６１によって検出されたパラメータ（フィルタリングルールに合致するパラメータ）を示す。
【０１１７】
図９に示す例では、セッションオブジェクトには、内部種別「ＳＥＳＳＩＤ」、パラメータタイプ「ＣＯＯＫＩＥ」、パラメータ名「ＦＩＬＴＥＲ＿ＳＩＤ」及びパラメータ値「３ｊｕｚＯｕＡｗｋ」が格納されている。これによれば、セッション管理部６２によって発行されたセッションＩＤのパラメータタイプが「ＣＯＯＫＩＥ」であり、パラメータ名が「ＦＩＲＴＥＲ＿ＳＩＤ」であり、パラメータ値が「３ｊｕｚＯｕＡｗｋ」であることが示されている。
【０１１８】
このセッション管理部６２によって発行されたセッションＩＤのパラメータタイプは、例えばレスポンス１００の管理に用いられる情報（ＩＤ等）のパラメータタイプに応じて決定される。ここでは、レスポンス１００の中に例えば「Ｓｅｔ−Ｃｏｏｋｉｅ」が存在するため、セッション管理部６２によって発行されたセッションＩＤのパラメータタイプは「Ｃｏｏｋｉｅ」となる。
【０１１９】
セッション管理部６２によって発行されたセッションＩＤのパラメータ名としては、アプリケーションサーバ２０によって提供されるＷｅｂアプリケーションにおいて用いられるパラメータ名と重複しないパラメータ名が用いられる。
【０１２０】
また、セッション管理部６２によって発行されたセッションＩＤのパラメータ値としては、アプリケーションサーバ２０によって発行されたセッションＩＤ（レスポンス１００に含まれるセッションＩＤ）と比較して予測しにくい強固な値が用いられる。
【０１２１】
同様に、セッションオブジェクトには、内部種別「ＰＡＲＡＭ」、パラメータタイプ「ＣＯＯＫＩＥ」、パラメータ名「ＳＥＳＳＩＯＮ＿ＩＤ」及びパラメータ値「０１２」が格納されている。これによれば、レスポンス１００から検出されたパラメータのパラメータタイプが「ＣＯＯＫＩＥ」であるパラメータ名「ＳＥＳＳＩＯＮ＿ＩＤ」のパラメータ値が「０１２」であることが示されている。このレスポンス１００から検出されたパラメータは、図８に示すフィルタリングルール５２１に合致するパラメータである。
【０１２２】
セッションオブジェクトには、内部種別「ＰＡＲＡＭ」、パラメータタイプ「ＨＩＤＤＥＮ」、パラメータ名「ＳＣＲＥＥＮ＿ＩＤ」及びパラメータ値「ｓ００１」が格納されている。これによれば、レスポンス１００から検出されたパラメータのパラメータタイプが「ＨＩＤＤＥＮ」であるパラメータ名「ＳＣＲＥＥＮ＿ＩＤ」のパラメータ値が「ｓ００１」であることが示されている。このレスポンス１００から検出されたパラメータは、図８に示すフィルタリングルール５２２に合致するパラメータである。
【０１２３】
セッションオブジェクトには、内部種別「ＰＡＲＡＭ」、パラメータタイプ「ＨＩＤＤＥＮ」、パラメータ名「ＵＳＥＲ＿ＩＤ」及びパラメータ値「ｔａｒｏ」が格納されている。これによれば、レスポンス１００から検出されたパラメータのパラメータタイプが「ＨＩＤＤＥＮ」であるパラメータ名「ＵＳＥＲ＿ＩＤ」のパラメータ値が「ｔａｒｏ」であることが示されている。このレスポンス１００から検出されたパラメータは、図８に示すフィルタリングルール５２３に合致するパラメータである。
【０１２４】
また、セッションオブジェクトには、内部種別「ＰＡＲＡＭ」、パラメータタイプ「ＨＩＤＤＥＮ」、パラメータ名「ＰＲＩＣＥ」及びパラメータ値「１２０００」が格納されている。これによれば、レスポンス１００から検出されたパラメータのパラメータタイプが「ＨＩＤＤＥＮ」であるパラメータ名「ＰＲＩＣＥ」のパラメータ値が「１２０００」であることが示されている。このレスポンス１００から検出されたパラメータは、図８に示すフィルタリングルール５２４に合致するパラメータである。
【０１２５】
再び図６に戻ると、ステップＳ２０において全てのフィルタリングルールについて上記したステップＳ１２以降の処理が実行されたと判定された場合、レスポンスフィルタ６１は、セッション管理部６２によって発行されたセッションＩＤをレスポンス１００に埋め込む（ステップＳ２１）。具体的には、セッション管理部６２によって発行されたセッションＩＤをレスポンス１００のＣｏｏｋｉｅパラメータ「Ｓｅｔ−Ｃｏｏｋｉｅ：  ＦＩＬＴＥＲ＿ＳＩＤ＝３ｊｕｚＯｕＡｗｋ」として埋め込む。なお、セッション管理部６２によって発行されたセッションＩＤの埋め込み方式は、Ｃｏｏｋｉｅパラメータ以外の方式、Ｈｉｄｄｅｎパラメータ、ＧＥＴパラメータとして埋め込むことも可能であるが、図９に示す内部種別「ＳＥＳＳＩＤ」のパラメータタイプと一致させる必要がある。
【０１２６】
ここで、上記したステップＳ１９においてパラメータがレスポンス１００から削除されている。このため、上記したステップＳ１１において受信されたレスポンス１００とパラメータが削除された後のレスポンス１００とでは、当該レスポンス１００のデータ長が短くなる。したがって、レスポンスフィルタ６１は、レスポンス１００におけるデータ長を示す「Ｃｏｎｔｅｎｔ−ｌｅｎｇｔｈ」（の値）を、上記したパラメータの削除に応じた適切な値に更新する（ステップＳ２２）。
【０１２７】
レスポンスフィルタ６１は、「Ｃｏｎｔｅｎｔ−ｌｅｎｇｔｈ」が更新されたレスポンス１００をクライアント端末１０に対して送信する（ステップＳ２３）。
【０１２８】
ここで、図１０は、レスポンスフィルタ６１によって送信されたレスポンス１００の一例を示す。ここでは、適宜、図７に示すレスポンス（処理前のレスポンス）１００と比較して説明する。
【０１２９】
図１０に示すレスポンス１００においては、１行目の「ＦＩＬＴＥＲ＿ＳＩＤ＝３ｊｕｚＯｕＡｗｋ」はセッション管理部６２によって発行されたセッションＩＤである。つまり、図１０に示すレスポンス１００においては、図７に示すレスポンス１００の１行目の「ＳＥＳＳＩＯＮ＿ＩＤ」がセッション管理部６２によって発行されたセッションＩＤに付け替えられている。これにより、アプリケーションサーバ２０が脆弱なセッションＩＤ（図７に示すレスポンス１００における「ＳＥＳＳＩＯＮ＿ＩＤ＝０１２」）を発行した場合であっても、予測しにくい強固なセッションＩＤ（図１０に示すレスポンスにおける「ＦＩＬＴＥＲ＿ＳＩＤ＝３ｊｕｚＯｕＡｗｋ」）に付け替えることで、例えばセッションＩＤを悪用したなりすまし等を防止することができる。
【０１３０】
また、図１０に示すレスポンス１００においては、２行目の「Ｃｏｎｔｅｎｔ−ｌｅｎｇｔｈ」は、レスポンスフィルタ６１によるパラメータ削除後のデータ長に更新されている。図１０に示す例では、パラメータの削除に応じて「Ｃｏｎｔｅｎｔ−ｌｅｎｇｔｈ」が「２２１」に更新されている。
【０１３１】
また、図１０に示すレスポンス１００においては、図７に示すレスポンス１００と比較して、Ｈｉｄｄｅｎパラメータ（図７に示すレスポンス１００の８行目〜１０行目）が削除されている。
【０１３２】
つまり、アプリケーションサーバ２０によって提供されるＷｅｂアプリケーションの画面遷移にとって必要であるが、クライアント端末１０上で動作するＷｅｂブラウザにとっては不要な情報がＨｉｄｄｅｎパラメータに含まれている場合には、この情報はクライアント端末１０には送信されないため当該情報の漏えいまたは改ざんを防止することができる。具体的には、クライアント端末１０に送信される図１０に示すレスポンス１００においては、例えば図７に示すレスポンス１００の１０行目のパラメータ（ＰＲＩＣＥパラメータ）が削除されているため、価格情報の改ざん等を防止できる。
【０１３３】
なお、上記したステップＳ２０において全てのフィルタリングルールについて上記したステップＳ１２以降の処理が実行されたと判定された場合、ステップＳ２１の処理が実行されるものとして説明したが、当該フィルタリングルールに合致するパラメータがレスポンス１００内に存在しない（つまり、パラメータが１つも検出されない）場合には処理は終了される。
【０１３４】
次に、図１１のフローチャートを参照して、上記したようにレスポンスフィルタ６１によって送信されたレスポンス１００に対するリクエストがクライアント端末１０によって送信された場合の本実施形態に係るセキュリティ強化装置６０の処理手順について説明する。ここでは、上記した図３において説明した注文受付要求のリクエストがクライアント端末１０によって送信された場合について説明する。
【０１３５】
まず、セキュリティ強化装置６０に含まれるリクエストフィルタ６３は、クライアント端末１０によって送信されたリクエストを受信する（ステップＳ３１）。このリクエストには、上記したレスポンスフィルタ６１によって送信されたレスポンス１００に埋め込まれたセッションＩＤ（セッション管理部６２によって発行されたセッションＩＤ）が含まれる。
【０１３６】
ここで、図１２は、リクエストフィルタ６３によって受信される注文受付要求のリクエストの一例を示す。図１２に示すリクエスト２００は、上記した図４に示す注文画面においてユーザがクライアント端末１０を操作することによって当該注文画面の送信ボタンが押下された場合に当該クライアント端末１０から送信される。
【０１３７】
図１２に示すリクエスト２００の１行目は、クライアント端末１０（上で動作するＷｅｂブラウザ）から送られたセッションＩＤを含むＣｏｏｋｉｅである。リクエスト２００の１行目の「ＦＩＬＴＥＲ＿ＳＩＤ＝３ｊｕｚＯｕＡｗｋ」は、レスポンスフィルタ６１によって送信されたレスポンス１００に埋め込まれた（付け替えられた）セッションＩＤである。
【０１３８】
リクエスト２００の２行目の「Ｃｏｎｔｅｎｔ−ｌｅｎｇｔｈ」は、この後に続くデータのデータ長をバイト単位で表す。
【０１３９】
また、リクエスト２００の４行目は、クライアント端末１０上で動作するＷｅｂブラウザから入力された注文数及び図４における注文画面の送信ボタンが押下されたことを示すパラメータである。リクエスト２００の４行目の「ＯＲＤＥＲ＝１０」は、１０個の注文が要求されたことを示す。
【０１４０】
以下、上記したステップＳ３１においては、図１２に示すリクエスト２００が受信されたものとして説明する。
【０１４１】
再び図１１に戻ると、リクエストフィルタ６３は、受信されたリクエスト２００に含まれるセッションＩＤを取得する（ステップＳ３２）。リクエストフィルタ６３は、セッションＩＤとして「ＦＩＬＴＥＲ＿ＳＩＤ＝３ｊｕｚＯｕＡｗｋ」をリクエスト２００から取得する。この「ＦＩＬＴＥＲ＿ＳＩＤ＝３ｊｕｚＯｕＡｗｋ」のうち、「ＦＩＬＴＥＲ＿ＳＩＤ」はパラメータ名であり、「３ｊｕｚＯｕＡｗｋ」はパラメータ値である。
【０１４２】
次に、リクエストフィルタ６３は、取得されたセッションＩＤに対応するセッションオブジェクトを、セッションオブジェクト格納部５３から読み込む（ステップＳ３３）。リクエストフィルタ６３は、取得されたセッションＩＤのパラメータ名及びパラメータ値が内部種別「ＳＥＳＳＩＤ」に対応付けて格納されているセッションオブジェクトを読み込む。つまり、リクエストフィルタ６３によって取得されたセッションＩＤのパラメータ名及びパラメータ値が内部種別「ＳＥＳＳＩＤ」に対応付けられているパラメータ名及びパラメータ値と一致するセッションオブジェクトが読み込まれる。
【０１４３】
具体的には、パラメータタイプ「ＣＯＯＫＩＥ」、リクエスト２００から取得された「ＦＩＬＴＥＲ＿ＳＩＤ＝３ｊｕｚＯｕＡｗｋ」のパラメータ名「ＦＩＬＴＥＲ＿ＳＩＤ」及びパラメータ値「３ｊｕｚＯｕＡｗｋ」を内部種別「ＳＥＳＳＩＤ」に対応付けて格納するセッションオブジェクトが読み込まれる。つまり、上記した図９に示すセッションオブジェクトがセッションオブジェクト格納部５３から読み込まれる。
【０１４４】
リクエストフィルタ６３は、受信されたリクエスト２００に含まれるセッションＩＤを当該リクエスト２００から削除する（ステップＳ３４）。このとき、読み込まれたセッションオブジェクトの内部種別「ＳＥＳＳＩＤ」に対応付けられているパラメータタイプ、パラメータ名及びパラメータ値に一致する項目を削除する。つまり、内部種別「ＳＥＳＳＩＤ」に対応付けられているパラメータタイプが「ＣＯＯＫＩＥ」であるため、図１２に示すリクエスト２００の１行目のＣｏｏｋｉｅパラメータ「ＦＩＬＴＥＲ＿ＳＩＤ＝３ｊｕｚＯｕＡｗｋ」が当該リクエスト２００から削除される。
【０１４５】
リクエストフィルタ６３は、読み込まれたセッションオブジェクトに内部種別「ＰＡＲＡＭ」に対応付けて格納されているパラメータ（パラメータタイプ、パラメータ名及びパラメータ値）を取得する（ステップＳ３５）。このとき、リクエストフィルタ６３は、セッション管理部６２を介してパラメータを取得する。内部種別「ＰＡＲＡＭ」に対応付けてセッションオブジェクトに格納されているパラメータは、リクエストフィルタ６３によって受信されたリクエスト２００内に復元（再構成）されるパラメータである。
【０１４６】
リクエストフィルタ６３は、読み込まれたセッションオブジェクトに格納されているパラメータのうちの１つを取得する。ここでは、図９に示すセッションオブジェクトから、内部種別「ＰＡＲＡＭ」に対応付けてセッションオブジェクトに格納されているパラメータタイプ「ＣＯＯＫＩＥ」、パラメータ名「ＳＥＳＳＩＯＮ＿ＩＤ」及びパラメータ値「０１２」（を含むパラメータ）が取得されたものとする。
【０１４７】
リクエストフィルタ６３は、取得されたパラメータタイプ「ＣＯＯＫＩＥ」、パラメータ名「ＳＥＳＳＩＯＮ＿ＩＤ」及びパラメータ値「０１２」を含むパラメータをリクエスト２００内に復元する（ステップＳ３６）。
【０１４８】
この場合、パラメータタイプが「ＣＯＯＫＩＥ」であるため、パラメータ名「ＳＥＳＳＩＯＮ＿ＩＤ」を「＝」の左側とし、パラメータ値「０１２」を当該「＝」の右側として作成された文字列「ＳＥＳＳＩＯＮ＿ＩＤ＝０１２」をＣｏｏｋｉｅパラメータとしてリクエスト２００内に復元する。
【０１４９】
次に、リクエストフィルタ６３によって読み込まれたセッションオブジェクトに格納されている全てのパラメータがリクエスト２００内に復元されたか否かが判定される（ステップＳ３７）。つまり、内部種別「ＰＡＲＡＭ」に対応付けてセッションオブジェクトに格納されている全てのパラメータが復元されたか否かが判定される。
【０１５０】
セッションオブジェクトに格納されている全てのパラメータがリクエスト２００内に復元されていないと判定された場合（ステップＳ３７のＮＯ）、ステップＳ３５に戻って処理が繰り返される。つまり、セッションオブジェクトに格納されている全てのパラメータが復元されるまで処理が繰り返される。
【０１５１】
ここで、図９に示すセッションオブジェクトにおいてリクエスト２００に復元すべきパラメータは、上記したように内部種別「ＰＡＲＡＭ」に対応付けられているパラメータである。つまり、図９に示すセッションオブジェクトには、リクエスト２００に復元すべきパラメータは４つ存在する。リクエストフィルタ６３では、これらのパラメータが復元され、Ｗｅｂアプリケーションへのリクエストとして再構成される。
【０１５２】
上記したステップＳ３５において内部種別「ＰＡＲＡＭ」に対応付けてセッションオブジェクトに格納されているパラメータタイプ「ＨＩＤＤＥＮ」、パラメータ名「ＳＣＲＥＥＮ＿ＩＤ」及びパラメータ値「ｓ００１」が取得された場合について説明する。この場合、パラメータタイプが「ＨＩＤＤＥＮ」であるため、パラメータ名「ＳＣＲＥＥＮ＿ＩＤ」を「＝」の左側とし、パラメータ値「ｓ００１」を当該「＝」の右側として作成された文字列「ＳＣＲＥＥＮ＿ＩＤ＝ｓ００１」がＨｉｄｄｅｎパラメータとしてリクエスト２００内に復元される。
【０１５３】
ステップＳ３５において内部種別「ＰＡＲＡＭ」に対応付けてセッションオブジェクトに格納されているパラメータタイプ「ＨＩＤＤＥＮ」、パラメータ名「ＵＳＥＲ＿ＩＤ」及びパラメータ値「ｔａｒｏ」が取得された場合について説明する。この場合、パラメータタイプが「ＨＩＤＤＥＮ」であるため、パラメータ名「ＵＳＥＲ＿ＩＤ」を「＝」の左側とし、パラメータ値「ｔａｒｏ」を当該「＝」の右側として作成された文字列「ＵＳＥＲ＿ＩＤ＝ｔａｒｏ」がＨｉｄｄｅｎパラメータとしてリクエスト２００内に復元される。
【０１５４】
また、ステップＳ３５において内部種別「ＰＡＲＡＭ」に対応付けてセッションオブジェクトに格納されているパラメータタイプ「ＨＩＤＤＥＮ」、パラメータ名「ＰＲＩＣＥ」及びパラメータ値「１２０００」が取得された場合について説明する。この場合、パラメータタイプが「ＨＩＤＤＥＮ」であるため、パラメータ名「ＰＲＩＣＥ」を「＝」の左側とし、パラメータ値「１２０００」を当該「＝」の右側として作成された文字列「ＰＲＩＣＥ＝１２０００」がＨｉｄｄｅｎパラメータとしてリクエスト２００内に復元される。
【０１５５】
なお、図９に示すセッションオブジェクトには格納されていないが、パラメータタイプが「ＧＥＴ」であるパラメータが取得された場合には、ＧＥＴパラメータとしてＵＲＬに付加することで復元される。例えばパラメータタイプ「ＧＥＴ」、パラメータ名「ＳＣＲＥＥＮ＿ＩＤ」及びパラメータ値「ｓ００１」が取得された場合であって、例えばＵＲＬが「ｈｔｔｐ：／／ｓａｍｐｌｅｓｈｏｓｔ／ｏｒｄｅｒ．ｄｏ？ＯＲＤＥＲ＝１０」である場合を想定する。この場合、「ｈｔｔｐ：／／ｓａｍｐｌｅｓｈｏｓｔ／ｏｒｄｅｒ．ｄｏ？ＯＲＤＥＲ＝１０＆ＳＣＲＥＥＮ＿ＩＤ＝ｓ００１」のようにＧＥＴパラメータが復元される。
【０１５６】
以上のように復元処理が実行され、内部種別「ＰＡＲＡＭ」に対応付けてセッションオブジェクトに格納されている全てのパラメータがリクエスト２００内に復元されたと判定されたと判定された場合（ステップＳ３７のＹＥＳ）、リクエストフィルタ６３は、読み込まれたセッションオブジェクトをセッションオブジェクト格納部５３から廃棄する（ステップＳ３８）。このとき、リクエストフィルタ６３は、セッション管理部６２を介してセッションオブジェクトを廃棄する。
【０１５７】
上記したようにリクエスト２００においてはパラメータが復元されている。このため、上記したステップＳ３１において受信されたリクエスト２００とパラメータが復元された後のリクエスト２００とでは、当該リクエスト２００のデータ長が長くなる。したがって、リクエストフィルタ６３は、リクエスト２００におけるデータ長を示す「Ｃｏｎｔｅｎｔ−ｌｅｎｇｔｈ」（の値）を、上記したパラメータの復元に応じた適切な値に更新する（ステップＳ３９）。
【０１５８】
リクエストフィルタ６３は、「Ｃｏｎｔｅｎｔ−ｌｅｎｇｔｈ」が更新されたリクエスト２００をアプリケーションサーバ２０に対して送信する（ステップＳ４０）。
【０１５９】
ここで、図１３は、リクエストフィルタ６３によって送信されたリクエスト２００の一例を示す。ここでは、適宜、図１２に示すリクエスト（処理前のリクエスト）２００と比較して説明する。
【０１６０】
図１３に示すリクエスト２００においては、１行目にＣｏｏｋｉｅパラメータが復元されている。これは、内部種別「ＰＡＲＡＭ」に対応付けてセッションオブジェクトに格納されているパラメータタイプ「ＣＯＯＫＩＥ」、パラメータ名「ＳＥＳＳＩＯＮ＿ＩＤ」及びパラメータ値「０１２」に基づいてＣｏｏｋｉｅパラメータが復元された結果である。
【０１６１】
また、図１３に示すリクエスト２００においては、４行目にＨｉｄｄｅｎパラメータが復元されている。「ＳＣＲＥＥＮ＿ＩＤ＝ｓ００１」は、図９に示す内部種別「ＰＡＲＡＭ」に対応付けてセッションオブジェクトに格納されているパラメータタイプ「ＨＩＤＤＥＮ」、パラメータ名「ＳＣＲＥＥＮ＿ＩＤ」及びパラメータ値「ｓ００１」に基づいてＨｉｄｄｅｎパラメータが復元された結果である。「ＵＳＥＲ＿ＩＤ＝ｔａｒｏ」は、図９に示す内部種別「ＰＡＲＡＭ」に対応付けてセッションオブジェクトに格納されているパラメータタイプ「ＨＩＤＤＥＮ」、パラメータ名「ＵＳＥＲ＿ＩＤ」及びパラメータ値「ｔａｒｏ」に基づいてＨｉｄｄｅｎパラメータが復元された結果である。また、「ＰＲＩＣＥ＝１２０００」は、図９に示す内部種別「ＰＡＲＡＭ」に対応付けてセッションオブジェクトに格納されているパラメータタイプ「ＨＩＤＤＥＮ」、パラメータ名「ＰＲＩＣＥ」及びパラメータ値「１２０００」に基づいてＨｉｄｄｅｎパラメータが復元された結果である。
【０１６２】
このようにパラメータが復元されたリクエスト２００がアプリケーションサーバ２０に送信されることにより、当該アプリケーションサーバ２０によって提供されるＷｅｂアプリケーションが既に開発を終えて運用が開始されている場合であっても、当該Ｗｅｂアプリケーションに影響を与えることはない。
【０１６３】
上記したように本実施形態においては、アプリケーションサーバ２０から送信されるレスポンスに含まれるパラメータのうち、フィルタリングルール格納部５２に格納されているフィルタリングルールに合致するパラメータをセッションオブジェクトに一時的に格納しておき、当該アプリケーションサーバ２０によって発行されたセッションＩＤに代えてより予測しにくい強固な独自のセッションＩＤが埋め込まれ、かつ、当該セッションオブジェクトに格納されたパラメータが削除されたレスポンスがクライアント端末１０に送信される。また、本実施形態においては、独自のセッションＩＤが埋め込まれ、かつ、パラメータが削除されたレスポンスに対してリクエストがクライアント端末１０から送信された場合、セッションオブジェクトに格納されたパラメータが当該リクエストに復元され、アプリケーションサーバ２０に対して送信される。
【０１６４】
これにより、本実施形態においては、レスポンスにクライアント端末１０上で動作するＷｅｂブラウザでは使用しないが、アプリケーションサーバ２０によって提供されるＷｅｂアプリケーションの画面間で引継ぎが必要なパラメータであって、情報の漏洩または改ざんのおそれのあるパラメータ（例えば、価格情報または個人情報等）はクライアント端末１０に送信されない。したがって、本実施形態においては、アプリケーションサーバ２０からのレスポンスに含まれるパラメータの漏洩及び改ざんを防止することが可能となるため、当該アプリケーションサーバ２０によって提供されるＷｅｂアプリケーションにおいては安全にセッションを継続することができる。
【０１６５】
さらに、本実施形態においては、既に開発されたＷｅｂアプリケーションのプログラムを改修することなく実現できるため、当該Ｗｅｂアプリケーションの運用開始後に問題が顕在化したような場合であっても稼働中のＷｅｂアプリケーションの実装を変更することなく対応することが可能である。
【０１６６】
なお、本実施形態においては、１つのレスポンスに１つの入力フォームが含まれているものとして説明したが、例えば１つのレスポンスに複数の入力フォームを含む場合であっても、当該フォームの識別子をセッションＩＤと共に埋め込むことにより本実施形態に係るセキュリティ強化装置６０の構成に変更を加えることなく容易に実現することができる。
【０１６７】
また、本実施形態に係るセキュリティ強化装置６０のレスポンスフィルタ６１によってレスポンスがクライアント端末１０に送信された後、当該レスポンスに対してクライアント端末１０から送信されるリクエストを監視し、予め定められた期間（時間）内に当該リクエストが当該クライアント端末１０から送信されない（つまり、セキュリティ強化装置６０のリクエストフィルタ６３によって当該リクエストが受信されない）場合に、セッションオブジェクト格納部５３に格納されている当該レスポンスに対応するセッションオブジェクトを廃棄（つまり、タイムアウト処理）する構成であっても構わない。これによれば、セッションオブジェクトにパラメータを格納し、レスポンスを送信した場合に、当該レスポンスに対するリクエストが送信されないにもかかわらず当該セッションオブジェクトを蓄積しておくような事態を回避することができる。
【０１６８】
また、本実施形態においては、クライアント端末１０及びアプリケーションサーバ２０の間においてセキュリティ強化装置６０がリクエスト及びレスポンスを中継するものとして説明したが、当該セキュリティ強化装置６０（の各機能）がアプリケーションサーバ２０に含まれる構成であっても構わない。
【０１６９】
なお、本願発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。  
【符号の説明】
【０１７０】
１０…クライアント端末、２０…アプリケーションサーバ、３０…ネットワーク、４０…コンピュータ、５０…外部記憶装置、５２…フィルタリングルール格納部、５３…セッションオブジェクト格納部、６０…セキュリティ強化装置、６１…レスポンスフィルタ、６２…セッション管理部、６３…リクエストフィルタ。
【図１】
2010182180.tif 000003
【図２】
2010182180.tif 000004
【図３】
2010182180.tif 000005
【図４】
2010182180.tif 000006
【図５】
2010182180.tif 000007
【図６】
2010182180.tif 000008
【図７】
2010182180.tif 000009
【図８】
2010182180.tif 000010
【図９】
2010182180.tif 000011
【図１０】
2010182180.tif 000012
【図１１】
2010182180.tif 000013
【図１２】
2010182180.tif 000014
【図１３】
2010182180.tif 000015