(57)【特許請求の範囲】
【請求項１】
各ユーザ識別データについて、個人情報種毎の個人情報の制限数をそれぞれ格納する制限情報格納手段と、
クライアント端末からサーバ装置宛てに送信される情報要求メッセージ及び前記情報要求メッセージに応じて前記サーバ装置から送信される応答メッセージのペア、又は、該情報要求メッセージから、ユーザ識別データとセッション識別データとの組を抽出する抽出手段と、
前記抽出手段により抽出された前記ユーザ識別データと前記セッション識別データとの組を関連付けて格納する要求情報格納手段と、
情報要求メッセージに応じて前記サーバ装置から送信される応答メッセージに含まれる個人情報の数を個人情報種毎にそれぞれカウントするカウント手段と、
前記個人情報が含まれている前記応答メッセージに含まれるセッション識別データと関連付けられて前記要求情報格納手段に格納される前記ユーザ識別データを取得し、取得されたユーザ識別データに関する、個人情報種毎の個人情報の制限数を前記制限情報格納手段から取得する制限情報取得手段と、
前記制限情報取得手段により取得された個人情報種毎の個人情報の制限数と、前記カウント手段によりカウントされた個人情報種毎の個人情報の数との比較結果により、前記応答メッセージに含まれる前記個人情報が要求元の前記クライアント端末で受信されないように当該応答メッセージに対して防御処理を適用する応答処理手段と、
を備えることを特徴とする情報漏洩防止装置。
【請求項２】
前記制限情報格納手段は、各ユーザ識別データ及び各情報所在データについて、個人情報種毎の個人情報の制限数をそれぞれ格納し、
前記抽出手段は、前記情報要求メッセージから、該情報要求メッセージにより要求される情報の情報所在データ、及び、該情報要求メッセージに応じて前記サーバ装置から送信される応答メッセージと該情報要求メッセージとの対応関係を示す対応関係データを更に抽出し、
前記要求情報格納手段は、前記情報所在データ及び前記対応関係データの組を関連付けて更に格納し、
前記制限情報取得手段は、前記個人情報が含まれている前記応答メッセージに含まれるセッション識別データ又は対応関係データと関連付けられて前記要求情報格納手段に格納される前記ユーザ識別データ及び前記情報所在データを取得し、取得されたユーザ識別データ及び情報所在データに関する、個人情報種毎の個人情報の制限数を前記制限情報格納手段から取得する、
ことを特徴とする請求項１に記載の情報漏洩防止装置。
【請求項３】
クライアント端末からサーバ装置宛てに送信される情報要求メッセージ及び前記情報要求メッセージに応じて前記サーバ装置から送信される応答メッセージのペア、又は、該情報要求メッセージから、ユーザ識別データとセッション識別データとの組を抽出する抽出手段と、
前記抽出手段により抽出された前記ユーザ識別データと前記セッション識別データとの組を関連付けて格納する要求情報格納手段と、
情報要求メッセージに応じて前記サーバ装置から送信される応答メッセージに含まれる個人情報の数を個人情報種毎にそれぞれカウントするカウント手段と、
前記個人情報が含まれている前記応答メッセージに含まれるセッション識別データと関連付けられて前記要求情報格納手段に格納される前記ユーザ識別データを取得し、取得されたユーザ識別データと前記カウント手段によりカウントされた個人情報種毎の個人情報の数とを関連付けたデータを、該ユーザ識別データに関する個人情報種毎の個人情報の制限数を示すデータとして、生成する制限情報生成手段と、
を備えることを特徴とする制限情報生成装置。
【請求項４】
前記抽出手段は、前記情報要求メッセージから、該情報要求メッセージにより要求される情報の情報所在データ、及び、該情報要求メッセージに応じて前記サーバ装置から送信される応答メッセージと該情報要求メッセージとの対応関係を示す対応関係データを更に抽出し、
前記要求情報格納手段は、前記情報所在データ及び前記対応関係データの組を関連付けて更に格納し、
前記制限情報生成手段は、前記個人情報が含まれている前記応答メッセージに含まれるセッション識別データ又は対応関係データと関連付けられて前記要求情報格納手段に格納される前記ユーザ識別データ及び前記情報所在データを取得し、取得されたユーザ識別データと取得された情報所在データと前記カウント手段によりカウントされた個人情報種毎の個人情報の数とを関連付けたデータを、該ユーザ識別データに関する個人情報種毎の個人情報の制限数を示すデータとして、生成する、
ことを特徴とする請求項３に記載の制限情報生成装置。
【請求項５】
コンピュータが、
クライアント端末からサーバ装置宛てに送信される情報要求メッセージ及び前記情報要求メッセージに応じて前記サーバ装置から送信される応答メッセージのペア、又は、該情報要求メッセージから、ユーザ識別データとセッション識別データとの組を抽出し、
抽出された前記ユーザ識別データと前記セッション識別データとの組を関連付けて要求情報格納部に格納し、
情報要求メッセージに応じて前記サーバ装置から送信される応答メッセージに含まれる個人情報の数を個人情報種毎にそれぞれカウントし、
前記要求情報格納部から、前記個人情報が含まれている前記応答メッセージに含まれるセッション識別データと関連付けられて格納される前記ユーザ識別データを取得し、
各ユーザ識別データについて、個人情報種毎の個人情報の制限数をそれぞれ格納する制限情報格納部から、取得された前記ユーザ識別データに関する、個人情報種毎の個人情報の制限数を取得し、
前記制限情報格納部から取得された個人情報種毎の個人情報の制限数と、前記カウントされた個人情報種毎の個人情報の数との比較結果により、前記応答メッセージに含まれる前記個人情報が要求元の前記クライアント端末で受信されないように当該応答メッセージに対して防御処理を適用する、
ことを含む情報漏洩防止方法。
【請求項６】
前記制限情報格納部は、各ユーザ識別データ及び各情報所在データについて、個人情報種毎の個人情報の制限数をそれぞれ格納し、
前記コンピュータが、
前記情報要求メッセージから、該情報要求メッセージにより要求される情報の情報所在データ、及び、該情報要求メッセージに応じて前記サーバ装置から送信される応答メッセージと該情報要求メッセージとの対応関係を示す対応関係データを抽出し、
抽出された前記情報所在データと前記対応関係データとの組を関連付けて前記要求情報格納部に格納し、
前記個人情報が含まれている前記応答メッセージに含まれる対応関係データと関連付けられて前記要求情報格納部に格納される前記情報所在データを取得する、
ことを更に含み、
前記個人情報の制限数の取得は、取得されたユーザ識別データ及び情報所在データに関する、個人情報種毎の個人情報の制限数を前記制限情報格納部から取得する、
請求項５に記載の情報漏洩防止方法。
【請求項７】
前記コンピュータ又は他のコンピュータが、
前記要求情報格納部から取得された前記ユーザ識別データと前記カウント手段によりカウントされた個人情報種毎の個人情報の数とを関連付けたデータを、前記制限情報格納部に格納するためのデータとして生成する、
ことを更に含む請求項５に記載の情報漏洩防止方法。
【請求項８】
前記コンピュータ又は他のコンピュータが、
前記要求情報格納部から取得された前記ユーザ識別データ及び前記情報所在データと前記カウント手段によりカウントされた個人情報種毎の個人情報の数とを関連付けたデータを、前記制限情報格納部に格納するためのデータとして生成する、
ことを更に含む請求項６に記載の情報漏洩防止方法。
【請求項９】
コンピュータに、
各ユーザ識別データについて、個人情報種毎の個人情報の制限数をそれぞれ格納する制限情報格納手段と、
クライアント端末からサーバ装置宛てに送信される情報要求メッセージ及び前記情報要求メッセージに応じて前記サーバ装置から送信される応答メッセージのペア、又は、該情報要求メッセージから、ユーザ識別データとセッション識別データとの組を抽出する抽出手段と、
前記抽出手段により抽出された前記ユーザ識別データと前記セッション識別データとの組を関連付けて格納する要求情報格納手段と、
情報要求メッセージに応じて前記サーバ装置から送信される応答メッセージに含まれる個人情報の数を個人情報種毎にそれぞれカウントするカウント手段と、
前記個人情報が含まれている前記応答メッセージに含まれるセッション識別データと関連付けられて前記要求情報格納手段に格納される前記ユーザ識別データを取得し、取得されたユーザ識別データに関する、個人情報種毎の個人情報の制限数を前記制限情報格納手段から取得する制限情報取得手段と、
前記制限情報取得手段により取得された個人情報種毎の個人情報の制限数と、前記カウント手段によりカウントされた個人情報種毎の個人情報の数との比較結果により、前記応答メッセージに含まれる前記個人情報が要求元の前記クライアント端末で受信されないように当該応答メッセージに対して防御処理を適用する応答処理手段と、
を実現させるプログラム。
【請求項１０】
前記制限情報格納手段は、各ユーザ識別データ及び各情報所在データについて、個人情報種毎の個人情報の制限数をそれぞれ格納し、
前記抽出手段は、前記情報要求メッセージから、該情報要求メッセージにより要求される情報の情報所在データ、及び、該情報要求メッセージに応じて前記サーバ装置から送信される応答メッセージと該情報要求メッセージとの対応関係を示す対応関係データを更に抽出し、
前記要求情報格納手段は、前記情報所在データ及び前記対応関係データの組を関連付けて更に格納し、
前記制限情報取得手段は、前記個人情報が含まれている前記応答メッセージに含まれるセッション識別データ又は対応関係データと関連付けられて前記要求情報格納手段に格納される前記ユーザ識別データ及び前記情報所在データを取得し、取得されたユーザ識別データ及び情報所在データに関する、個人情報種毎の個人情報の制限数を前記制限情報格納手段から取得する、
ことを特徴とする請求項９に記載のプログラム。
【請求項１１】
コンピュータに、
クライアント端末からサーバ装置宛てに送信される情報要求メッセージ及び前記情報要求メッセージに応じて前記サーバ装置から送信される応答メッセージのペア、又は、該情報要求メッセージから、ユーザ識別データとセッション識別データとの組を抽出する抽出手段と、
前記抽出手段により抽出された前記ユーザ識別データと前記セッション識別データとの組を関連付けて格納する要求情報格納手段と、
情報要求メッセージに応じて前記サーバ装置から送信される応答メッセージに含まれる個人情報の数を個人情報種毎にそれぞれカウントするカウント手段と、
前記個人情報が含まれている前記応答メッセージに含まれるセッション識別データと関連付けられて前記要求情報格納手段に格納される前記ユーザ識別データを取得し、取得されたユーザ識別データと前記カウント手段によりカウントされた個人情報種毎の個人情報の数とを関連付けたデータを、該ユーザ識別データに関する個人情報種毎の個人情報の制限数を示すデータとして、生成する制限情報生成手段と、
を実現させるプログラム。
【請求項１２】
前記抽出手段は、前記情報要求メッセージから、該情報要求メッセージにより要求される情報の情報所在データ、及び、該情報要求メッセージに応じて前記サーバ装置から送信される応答メッセージと該情報要求メッセージとの対応関係を示す対応関係データを更に抽出し、
前記要求情報格納手段は、前記情報所在データ及び前記対応関係データの組を関連付けて更に格納し、
前記制限情報生成手段は、前記個人情報が含まれている前記応答メッセージに含まれるセッション識別データ又は対応関係データと関連付けられて前記要求情報格納手段に格納される前記ユーザ識別データ及び前記情報所在データを取得し、取得されたユーザ識別データと取得された情報所在データと前記カウント手段によりカウントされた個人情報種毎の個人情報の数とを関連付けたデータを、該ユーザ識別データに関する個人情報種毎の個人情報の制限数を示すデータとして、生成する、
ことを特徴とする請求項１１に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不正アクセスによる個人情報の漏洩を防ぐ技術に関する。
【背景技術】
【０００２】
近年、Ｗｅｂアプリケーションシステムが普及し、一般利用者向けアプリケーション、企業で利用される業務アプリケーション等、様々なアプリケーションがＷｅｂアプリケーションシステムとして実現されている。このようなシステムにより、利用者は、ブラウザのみを操作することにより、各種アプリケーションを利用することができる。
【０００３】
反面、Ｗｅｂアプリケーションシステムは脆弱性という弱点を抱える。例えば、Ｗｅｂアプリケーションの脆弱性として、クロスサイト・スクリプティングやＳＱＬ（Structured Query Language）インジェクション等などが知られている。このような脆弱性が悪用されることにより、Ｗｅｂアプリケーションで扱われる利用者の個人情報や機密情報が盗み取られたり、改竄されたりするといった不正行為が問題となっている。
【０００４】
そこで、Ｗｅｂアプリケーションの脆弱性を悪用した攻撃からシステムを保護するための技術が提供されている。例えば、ＷＡＦ（Web Application Firewall）と呼ばれる技術が存在する。これは、既知の攻撃パターンをルール化し、このルールを予めＷＡＦに登録しておくことで、登録されている攻撃パターンを含む通信を遮断する技術である。
【０００５】
また、侵入検知システム（ＩＤＳ（Intrusion Detection System））と呼ばれる技術も存在する。ネットワーク型ＩＤＳは、ネットワーク上を流れるパケットを監視し、既知の不正パケットのパターンと各パケットと比較することにより、不正なアクセス（パケット）を検出する。このＩＤＳに関連する不正アクセスを防ぐ手法が下記特許文献１で提案されている。この手法では、不正アクセスログデータに示された不正アクセス種別に対する対策が不正アクセス対象の通信機器において講じられているか否かが判定され、その対策の有無に応じて不正アクセスの危険度が決定される。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−２２８１７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述の各技術は、不正アクセスの遮断や検知は、登録されている既知の攻撃パターンのみに対して有効であるため、未知の攻撃パターンには適応できない可能性が高い。
【０００８】
本発明の目的は、上述のような課題に鑑みてなされており、不正アクセスによる個人情報の漏洩を未然に防止する技術を提供することにある。
【課題を解決するための手段】
【０００９】
本発明の各態様では、上述した課題を解決するために、それぞれ以下の構成を採用する。
【００１０】
第１の態様は情報漏洩防止装置に関する。第１の態様に係る情報漏洩防止装置は、各ユーザ識別データについて、個人情報種毎の個人情報の制限数をそれぞれ格納する制限情報格納手段と、クライアント端末からサーバ装置宛てに送信される情報要求メッセージ及びこの情報要求メッセージに応じてサーバ装置から送信される応答メッセージのペア、又は、当該情報要求メッセージから、ユーザ識別データとセッション識別データとの組を抽出する抽出手段と、この抽出手段により抽出されたユーザ識別データとセッション識別データとの組を関連付けて格納する要求情報格納手段と、情報要求メッセージに応じてサーバ装置から送信される応答メッセージに含まれる個人情報の数を個人情報種毎にそれぞれカウントするカウント手段と、個人情報が含まれている応答メッセージに含まれるセッション識別データと関連付けられて要求情報格納手段に格納されるユーザ識別データを取得し、取得されたユーザ識別データに関する、個人情報種毎の個人情報の制限数を制限情報格納手段から取得する制限情報取得手段と、この制限情報取得手段により取得された個人情報種毎の個人情報の制限数と、カウント手段によりカウントされた個人情報種毎の個人情報の数との比較結果により、応答メッセージに含まれる個人情報が要求元のクライアント端末で受信されないように当該応答メッセージに対して防御処理を適用する応答処理手段と、を備える。
【００１１】
第２の態様は制限情報生成装置に関する。第２の態様に係る制限情報生成装置は、第１の態様における制限情報格納手段、抽出手段、要求情報格納手段及びカウント手段に加えて、個人情報が含まれている応答メッセージに含まれるセッション識別データと関連付けられて要求情報格納手段に格納されるユーザ識別データを取得し、取得されたユーザ識別データとカウント手段によりカウントされた個人情報種毎の個人情報の数とを関連付けたデータを、当該ユーザ識別データに関する個人情報種毎の個人情報の制限数を示すデータとして、生成する制限情報生成手段、を備える。
【００１２】
第３の態様は情報漏洩防止方法に関する。第３の態様に係る情報漏洩防止方法は、コンピュータが、クライアント端末からサーバ装置宛てに送信される情報要求メッセージ及び情報要求メッセージに応じてサーバ装置から送信される応答メッセージのペア、又は、情報要求メッセージから、ユーザ識別データとセッション識別データとの組を抽出し、抽出されたユーザ識別データとセッション識別データとの組を関連付けて要求情報格納部に格納し、情報要求メッセージに応じてサーバ装置から送信される応答メッセージに含まれる個人情報の数を個人情報種毎にそれぞれカウントし、要求情報格納部から、個人情報が含まれている応答メッセージに含まれるセッション識別データと関連付けられて格納されるユーザ識別データを取得し、各ユーザ識別データについて、個人情報種毎の個人情報の制限数をそれぞれ格納する制限情報格納部から、取得された前記ユーザ識別データに関する、個人情報種毎の個人情報の制限数を取得し、制限情報格納部から取得された個人情報種毎の個人情報の制限数と、カウントされた個人情報種毎の個人情報の数との比較結果により、応答メッセージに含まれる個人情報が要求元のクライアント端末で受信されないように当該応答メッセージに対して防御処理を適用する、ことを含む。
【００１３】
なお、本発明の別態様としては、上記第１態様又は上記第２態様の構成を少なくとも１つのコンピュータに実現させるコンピュータプログラムであってもよいし、このようなプログラム記録したコンピュータが読み取り可能な記録媒体であってもよい。この記録媒体は、非一時的な有形の媒体を含む。
【発明の効果】
【００１４】
上記各態様によれば、不正アクセスによる個人情報の漏洩を未然に防止する技術を提供することができる。
【図面の簡単な説明】
【００１５】
【図１】第１実施形態におけるＷＥＢサーバ装置（ＷＥＢサーバ）を含むＷＥＢシステムの構成例を概念的に示す図である。
【図２】第１実施形態におけるＷＥＢサーバの構成例を概念的に示す図である。
【図３】要求情報格納部の例を示す図である。
【図４】個人情報定義ＤＢの例を示す図である。
【図５】制限情報格納部の例を示す図である。
【図６】第１実施形態における情報漏洩防止部の応答処理系の動作例を示すフローチャートである。
【図７】第２実施形態におけるＷＥＢサーバの構成例を概念的に示す図である。
【図８】第２実施形態における制限情報処理部の応答処理系の動作例を示すフローチャートである。
【図９】第３実施形態における要求情報格納部の例を示す図である。
【図１０】第３実施形態における制限情報格納部の例を示す図である。
【図１１】第３実施形態における情報漏洩防止部の動作例を示すフローチャートである。
【図１２】第３実施形態における制限情報処理部の動作例を示すフローチャートである。
【図１３】ＷＥＢシステムの第１変形例の構成を概念的に示す図である。
【図１４】ＷＥＢシステムの第２変形例の構成を概念的に示す図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施の形態としてのＷＥＢサーバ装置について説明する。なお、以下に挙げる各実施形態はそれぞれ例示であり、本発明は以下の各実施形態の構成に限定されない。例えば、本発明は、ＷＥＢシステムにのみ適用可能なものではなく、通信を介して個人情報をやりとりする様々な態様に適用可能である。
【００１７】
［第１実施形態］
〔システム構成〕
図１は、第１実施形態におけるＷＥＢサーバ装置（以降、単にＷＥＢサーバと表記する）１０を含むＷＥＢシステムの構成例を概念的に示す図である。第１実施形態におけるＷＥＢサーバ１０は、ネットワーク３を介して複数のクライアント端末１に通信可能に接続される。ネットワーク３は、インターネット等のような公衆網、ＷＡＮ（Wide Area Network）、ＬＡＮ（Local Area Network）、無線通信ネットワーク等である。本実施形態において、ＷＥＢサーバ１０と各クライアント端末１との間の接続形態及び通信形態は限定されない。
【００１８】
ＷＥＢサーバ１０は、一般的なパーソナルコンピュータ（ＰＣ）等のような汎用コンピュータで構築されてもよいし、専用コンピュータで構築されてもよい。図１には、ＷＥＢサーバ１０のハードウェア構成例が示されている。ＷＥＢサーバ１０は、ハードウェア構成として、バス８等で相互に接続される、ＣＰＵ（Central Processing Unit）５、メモリ６、入出力インタフェース（Ｉ／Ｆ）７等を備える。メモリ６は、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、ハードディスク、可搬型記憶媒体等を含む。入出力Ｉ／Ｆ７は、ネットワーク３を介して各クライアント端末１と通信を行う通信装置等と接続される。また、入出力Ｉ／Ｆ７は、表示装置や入力装置等のようなユーザインタフェース装置と接続されてもよい。なお、本実施形態は、ＷＥＢサーバ１０のハードウェア構成を限定しない。
【００１９】
クライアント端末１は、ＰＣ、携帯型ＰＣ、携帯電話等のような一般的な情報処理端末である。クライアント端末１は、ＷＥＢサーバ１０にアクセスしデータを受け得る一般的な通信機能、ＷＥＢサーバ１０から提供されたデータに基づく画面を表示及び操作することができる一般的なユーザインタフェース機能等を有するものであればよい。本実施形態では、ＷＥＢサーバ１０とクライアント端末１との間のインタフェースとしてＷＥＢシステムが利用される例を挙げているため、クライアント端末１は、ユーザインタフェース機能としていわゆるＷＥＢブラウザを有し、ＨＴＴＰ（Hypertext Transfer Protocol）を実行する通信機能を有する。なお、本実施形態は、クライアント端末１のハードウェア構成及び機能構成を限定しない。
【００２０】
クライアント端末１の中には、ＷＥＢサーバ１０から大量の個人情報を不正に取得しようとするユーザ（以降、不正ユーザと表記する）により操作される端末が含まれる。本実施形態では、この不正ユーザは、少なくとも１つのクライアント端末１において、ＷＥＢアプリケーションの脆弱性を悪用してＷＥＢサーバ１０に攻撃を仕掛ける。
【００２１】
ＷＥＢサーバ１０は、正当なユーザが利用するクライアント端末１からの要求に応じて、所望のＷＥＢサービスを提供しつつ、上述のような不正ユーザによる不正アクセスを検出し、不正アクセスによる個人情報の漏洩を未然に防止する。以下、ＷＥＢサーバ１０の構成について具体的に説明する。
【００２２】
〔装置構成〕
図２は、第１実施形態におけるＷＥＢサーバ１０の構成例を概念的に示す図である。第１実施形態におけるＷＥＢサーバ１０は、図２に示すように、通信部１１、ＷＥＢアプリケーション１２、ＷＥＢページ格納部１３、アクセス制御情報格納部１４、情報漏洩防止部１５等を有する。これら各処理部は、タスク、プロセス、関数、データ格納領域のようなソフトウェア部品（断片）であるソフトウェア構成要素としてそれぞれ実現される。よって、各処理部は、例えば、図１に示す、ＣＰＵ５がメモリ６に格納されるプログラムを実行することによりそれぞれ実現される。ＷＥＢページ格納部１３及びアクセス制御情報格納部１４は、メモリ６上で実現される。
【００２３】
通信部１１は、入出力Ｉ／Ｆ７に接続されるネットワークインタフェースカード等を制御し、ＨＴＴＰ等のプロトコルによりクライアント端末１とやりとりされるデータの送受信を行う。例えば、通信部１１は、ＷＥＢアプリケーション１２又は情報漏洩防止部１５から送られるＷＥＢページ等のデータを受け、そのデータを含むＨＴＴＰパケットをクライアント端末１へ送信する。また、通信部１１は、クライアント端末１から送信されるＨＴＴＰパケットを受信すると、それに含まれるデータをＷＥＢアプリケーション１２又は情報漏洩防止部１５へ送る。
【００２４】
なお、本実施形態では、ＷＥＢサーバ１０とクライアント端末１との間のインタフェースとしてＷＥＢシステムが利用される例を挙げているため、ＨＴＴＰで送受されるデータのみを対象に説明するが、通信部１１は他の通信プロトコルも実行可能である。
【００２５】
以降、説明の便宜のため、クライアント端末１から送信される、任意のＷＥＢページを求めるＨＴＴＰパケットをＨＴＴＰリクエストと表記する。このＨＴＴＰリクエストは、一般的には、情報要求メッセージと呼ぶこともできる。また、ＷＥＢサーバ１０から送信される、クライアント端末１から要求された情報を提供する一連のＨＴＴＰパケットをＨＴＴＰレスポンスと表記する。このＨＴＴＰレスポンスは、提供される情報のデータ量が大きい場合等、複数のＨＴＴＰパケットから形成される場合もある。ＨＴＴＰレスポンスは、一般的には、応答メッセージと呼ぶこともできる。
【００２６】
ＷＥＢアプリケーション１２は、周知の一般的なＷＥＢサーバ機能を有する。例えば、ＷＥＢアプリケーション１２は、クライアント端末１からのＨＴＴＰリクエストで要求されるデータをＷＥＢページ格納部１３から抽出し、当該データを含むＨＴＴＰレスポンスを通信部１１を介してクライアント端末１へ送信する。ＷＥＢページ格納部１３には、複数のＷＥＢページ及びそれを形成する各種データが格納される。ＷＥＢページ格納部１３には、多種多数の個人情報が格納される。
【００２７】
また、ＷＥＢアプリケーション１２は、アクセス制御情報格納部１４に格納される情報に基づいて、制御対象のＷＥＢページに対してアクセス制御を行う。このアクセス制御は、周知の一般的な制御であればよいため、ここでは説明を簡略化する。アクセス制御情報格納部１４には、各アカウントＩＤについてのアクセス権限情報がそれぞれ格納される。アクセス権限情報には、例えば、アクセスが許可されているページ、アクセスが許可されていないページ、閲覧可能な個人情報数、閲覧可能な個人情報種等が含まれる。これら情報を用いて、ＷＥＢアプリケーション１２は、アクセス元が持つアクセス権限に応じて、アクセス制御対象のＷＥＢページに関し、閲覧可否等の制御を行う。
【００２８】
上述のようにアクセス制御には、アカウントＩＤが利用される。アカウントＩＤは、例えば、ＷＥＢアプリケーション１２により提供されるログイン画面を介して、ユーザにより入力される。このアカウントＩＤは、ＨＴＴＰリクエストに含められることで、クライアント端末１からＷＥＢサーバ１０へ送られる。
【００２９】
更に、ＷＥＢアプリケーション１２は、セッション管理を行う。このセッション管理についても周知の一般的な処理であればよいため、ここでは説明を簡略化する。例えば、ＷＥＢアプリケーション１２は、アカウントＩＤを含むＨＴＴＰリクエストを受け、そのアカウントＩＤの認証に成功すると、そのアカウントＩＤのためのセッションＩＤを発行する。ＷＥＢアプリケーション１２は、このセッションＩＤとアカウントＩＤとの対応関係を保持し、このセッションＩＤを用いてアクセス制御を行いつつクライアント端末１とＷＥＢページのやりとりを行う。なお、このセッション管理には、Ｃｏｏｋｉｅが利用されてもよい。
【００３０】
アカウントＩＤは、ログインを望むユーザを識別するためのデータであり、ユーザ識別データと呼ぶこともできる。また、セッションＩＤは、クライアント端末１とＷＥＢサーバ１０との間における、アカウントＩＤの認証の成功（ログイン）後から切断（ログオフ）までの一連の通信を特定するための識別データであり、セッション識別データと呼ぶこともできる。
【００３１】
ＨＴＴＰリクエストには、要求元情報、要求先情報、情報所在データ、アカウントＩＤ、セッションＩＤ等が含まれる。要求元情報には、要求元であるクライアント端末１を特定するための情報（ＩＰアドレス等）が含まれ、要求先情報には、要求先であるＷＥＢサーバ１０を特定するための情報（ＩＰアドレス等）が含まれ、情報所在データには、所望のＷＥＢページ等の情報の所在を示すＵＲＬ（Uniform Resource Locator）等のような情報が含まれる。また、アカウント認証時には、ＨＴＴＰリクエストにアカウントＩＤが含まれる。更に、アカウント認証の成功後、セッションＩＤが、ＨＴＴＰリクエストに含まれる。
【００３２】
ＨＴＴＰレスポンスには、対応するＨＴＴＰリクエストに含まれていた要求元情報及び要求先情報と共に、要求先情報で指定された情報が含まれる。また、アカウント認証の成功後、セッションＩＤが、ＨＴＴＰレスポンスに含まれる。なお、ＨＴＴＰリクエストには、アカウントＩＤ及びセッションＩＤの両方が含まれる場合もあり得る。
【００３３】
情報漏洩防止部１５は、通信部１１とＷＥＢアプリケーション１２との間に介在する。情報漏洩防止部１５は、要求情報取得部１０１、抽出部１０２、要求情報格納部１０５、制限情報格納部１０７、応答情報取得部１１１、個人情報解析部１１２、制限情報取得部１１３、応答処理部１１５、個人情報定義データベース（ＤＢ）１１７等を有する。情報漏洩防止部１５が有するこれら各処理部についても、上記ソフトウェア構成要素としてそれぞれ実現される。
【００３４】
要求情報取得部１０１及び抽出部１０２は、ＨＴＴＰリクエストに関連する処理を行うため、要求処理系１７と呼ぶこともできる。また、要求処理系１７と要求情報格納部１０５と制限情報格納部１０７とを除く他の各処理部は、ＨＴＴＰレスポンスに関連する処理を行うため、応答処理系１８と呼ぶこともできる。要求情報格納部１０５は、要求処理系１７及び応答処理系１８で共用される。
【００３５】
＜要求処理系１７＞
要求情報取得部１０１は、通信部１１で受信されたＨＴＴＰリクエストに関する情報を取得する。要求情報取得部１０１は、通信部１１から当該ＨＴＴＰリクエストに関する情報を取得してもよいし、通信部１１からＷＥＢアプリケーション１２へ送られた当該ＨＴＴＰリクエストに関する情報をＷＥＢアプリケーション１２から取得してもよい。また、要求情報取得部１０１は、ＨＴＴＰリクエストを形成するパケットデータそのものを取得してもよいし、当該ＨＴＴＰリクエストに関する所定の情報を取得してもよい。
【００３６】
抽出部１０２は、要求情報取得部１０１で取得された情報（ＨＴＴＰリクエスト）からアカウントＩＤとセッションＩＤとのペアを抽出し、抽出されたペアを要求情報格納部１０５に格納する。この処理は、アカウントＩＤとセッションＩＤとを含むＨＴＴＰリクエストが存在する形態において実行される。
【００３７】
一方、上述したように、アカウントＩＤとセッションＩＤとが１つのＨＴＴＰリクエスト内に存在しない形態もあり得る。例えば、アカウント認証前には、ＨＴＴＰリクエストにアカウントＩＤが含まれ、アカウント認証成功後は、ＨＴＴＰリクエスト及びＨＴＴＰレスポンスにはアカウントＩＤが含まれずセッションＩＤが含まれるような形態である。
【００３８】
このような形態では、抽出部１０２は、後述する応答情報取得部１１１と協働することにより、ＨＴＴＰリクエスト及びＨＴＴＰレスポンスから、アカウントＩＤとセッションＩＤとの組を抽出する。具体的には、抽出部１０２は、要求情報取得部１０１で取得された情報から、アカウントＩＤ及びＨＴＴＰリクエストとＨＴＴＰレスポンスとの対応関係を示す対応関係データを抽出し、そのアカウントＩＤと対応関係データとを対応付けて要求情報格納部１０５に格納する。応答情報取得部１１１は、取得されたＨＴＴＰレスポンスに関する情報からセッションＩＤ及び上記対応関係データを抽出し、この対応関係データと関連付けられて要求情報格納部１０５に格納されるアカウントＩＤと、そのセッションＩＤとを関連付けて要求情報格納部１０５に格納する。
【００３９】
当該対応関係データは、ＨＴＴＰリクエスト及びＨＴＴＰレスポンスの双方に含まれるデータであって、要求元情報、要求先情報、リクエスト番号、情報所在データ、パラメータ等の複数の組み合わせである。なお、この対応関係データは、ＨＴＴＰリクエスト及びＨＴＴＰレスポンスの双方に含まれるデータであって、ＨＴＴＰレスポンスからＨＴＴＰリクエストを特定し得るデータであればよく、その具体的態様は制限されない。
【００４０】
抽出部１０２は、ＨＴＴＰリクエストから上述のように所定のデータを抽出すると、そのＨＴＴＰリクエストをそのままＷＥＢアプリケーション１２へ送る。
【００４１】
要求情報格納部１０５は、アカウントＩＤとセッションＩＤとの組を関連付けて格納する。図３は、要求情報格納部１０５の例を示す図である。要求情報格納部１０５は、図３の例とは異なり、上述したように、アカウントＩＤとセッションＩＤとの組に加えて、対応関係データを格納するようにしてもよい。
【００４２】
＜応答処理系１８＞
応答情報取得部１１１は、上述のような要求処理系１７で処理されたＨＴＴＰリクエストに対して、ＷＥＢアプリケーション１２で生成されたＨＴＴＰレスポンスのデータを取得する。応答情報取得部１１１は、ＷＥＢアプリケーション１２から当該ＨＴＴＰレスポンスのデータを取得してもよいし、ＷＥＢアプリケーション１２から通信部１１へ送られた当該ＨＴＴＰレスポンスのデータを、通信部１１がネットワーク３方向へ送出する前に、通信部１１から取得してもよい。
【００４３】
個人情報解析部１１２は、応答情報取得部１１１により取得されたＨＴＴＰレスポンスのデータを解析することにより、当該ＨＴＴＰレスポンスに含まれる個人情報の数を個人情報種毎にそれぞれカウントする。これにより、個人情報解析部１１２は、カウント部と表記することもできる。例えば、個人情報解析部１１２は、ＨＴＴＰレスポンスのデータと、個人情報定義ＤＢ１１７に格納される個人情報種毎の正規表現パターンとをマッチングさせることにより、個人情報種毎の個人情報の数をカウントする。
【００４４】
図４は、個人情報定義ＤＢ１１７の例を示す図である。個人情報定義ＤＢ１１７には、個人情報種を識別する各個人情報種ＩＤについて、正規表現パターンがそれぞれ格納される。図４の例によれば、クレジット番号の個人情報は、０から９までの数のいずれか１つが４つ並べられた４ケタの数字が、ハイフン（−）を挟んで４つ結合されることにより形成されていることが示される。当該個人情報のカウント処理には周知な手法が利用されればよいため、ここでは説明が簡略化されている。
【００４５】
制限情報取得部１１３は、個人情報が含まれているＨＴＴＰレスポンスから抽出されたセッションＩＤと関連付けられて要求情報格納部１０５に格納されるアカウントＩＤを取得し、このアカウントＩＤに関する、個人情報種毎の個人情報の制限数を制限情報格納部１０７から抽出する。
【００４６】
図５は、制限情報格納部１０７の例を示す図である。図５に示されるように、制限情報格納部１０７は、各アカウントＩＤについて、個人情報種毎の個人情報の制限数をそれぞれ格納する。図５の例によれば、「ｓｕｚｕｋｉ」のアカウントに関し、ＣＲＥＤＩＴ＿ＮＯで示される個人情報種の制限数が５であり、ＩＮＳＵＲＡＮＣＥ＿ＮＯで示される個人情報種の制限数が３であり、ＴＥＬＥＰＨＯＮＥ＿ＮＯで示される個人情報種の制限数が１０である。同様に、「ｙａｍａｍｏｔｏ」のアカウントに関し、ＣＲＥＤＩＴ＿ＮＯで示される個人情報種の制限数が３であり、ＩＮＳＵＲＡＮＣＥ＿ＮＯで示される個人情報種の制限数が１であり、ＴＥＬＥＰＨＯＮＥ＿ＮＯで示される個人情報種の制限数が２である。
【００４７】
応答処理部１１５は、制限情報取得部１１３により取得された個人情報種毎の個人情報の制限数と、個人情報解析部１１２によりカウントされた個人情報種毎の個人情報の数との比較結果により、ＨＴＴＰレスポンスに含まれる個人情報が要求元のクライアント端末１で受信されないように当該ＨＴＴＰレスポンスに対して防御処理を適用する。例えば、カウントされた個人情報の数が制限数を超えた個人情報種が１つでも存在する場合に、応答処理部１１５は、当該ＨＴＴＰレスポンスに対して防御処理を適用する。また、全ての個人情報種においてカウントされた個人情報の数が制限数を超えている場合に、応答処理部１１５は、当該ＨＴＴＰレスポンスに対して防御処理を適用するようにしてもよい。この防御処理は、当該ＨＴＴＰレスポンスの送信の取りやめであってもよいし、当該ＨＴＴＰレスポンス内の個人情報を他のデータに置き換える処理であってもよい。
【００４８】
〔動作例〕
以下、第１実施形態における情報漏洩防止部１５の動作例を説明する。
【００４９】
図６は、第１実施形態における情報漏洩防止部１５の応答処理系１８の動作例を示すフローチャートである。図６の例では、セッションＩＤ及びアカウントＩＤの双方がＨＴＴＰリクエストに含まれていない形態において、応答情報取得部１１１がセッションＩＤを抽出し、そのセッションＩＤを要求情報格納部１０５に格納する処理については言及されていない。即ち、要求情報格納部１０５には、アカウントＩＤとセッションＩＤとの組が既に格納されていると仮定する。
【００５０】
アカウントＩＤとセッションＩＤとの組の格納のために、情報漏洩防止部１５は以下のように動作する。アカウントＩＤ及びセッションＩＤが含まれるＨＴＴＰリクエストのデータを取得すると、情報漏洩防止部１５は、そのＨＴＴＰリクエストから抽出されたアカウントＩＤとセッションＩＤとの組を要求情報格納部１０５に格納する。一方、アカウントＩＤがＨＴＴＰリクエストに含まれ、セッションＩＤがＨＴＴＰレスポンスに含まれる場合には、情報漏洩防止部１５は、ＨＴＴＰリクエストとＨＴＴＰレスポンスとのペアが対応関係データに基づいて特定されることにより、ＨＴＴＰリクエストから抽出されたアカウントＩＤとＨＴＴＰレスポンスから抽出されたセッションＩＤとの組を要求情報格納部１０５に格納する。
【００５１】
ところで、ＷＥＢサーバ１０において、ＨＴＴＰリクエストが受信されると、ＷＥＢアプリケーション１２がそれに応じたＨＴＴＰレスポンスを生成する。情報漏洩防止部１５は、その生成されたＨＴＴＰレスポンスのデータを取得する（Ｓ６０）。
【００５２】
続いて、情報漏洩防止部１５は、個人情報定義ＤＢ１１７に格納されるデータを用いて、ＨＴＴＰレスポンスのデータを解析することにより、ＨＴＴＰレスポンスに含まれる個人情報の数を個人情報種毎にそれぞれカウントする（Ｓ６１）。ここで、ＨＴＴＰレスポンスに個人情報が含まれていない場合には（Ｓ６２；ＮＯ）、情報漏洩防止部１５は、そのＨＴＴＰレスポンスをネットワーク３方向へそのまま送出する（Ｓ６８）。
【００５３】
情報漏洩防止部１５は、ＨＴＴＰレスポンスに個人情報が含まれている場合（Ｓ６２；ＹＥＳ）、ＨＴＴＰレスポンスから更にセッションＩＤを抽出する（Ｓ６３）。続いて、情報漏洩防止部１５は、抽出されたセッションＩＤと関連付けられて要求情報格納部１０５に格納されるアカウントＩＤを取得する（Ｓ６４）。これにより、個人情報を含むＷＥＢページを要求したアカウントＩＤが特定される。
【００５４】
次に、情報漏洩防止部１５は、制限情報格納部１０７から、そのアカウントＩＤに関する個人情報種毎の個人情報の制限数を抽出する（Ｓ６５）。このとき、情報漏洩防止部１５は、処理（Ｓ６１）でカウントされた個人情報種のみについて制限数を取得するようにしてもよい。
【００５５】
情報漏洩防止部１５は、処理（Ｓ６１）でカウントされた個人情報数が処理（Ｓ６５）で取得された制限数を超える個人情報種が存在するか否かを判定する（Ｓ６６）。全ての個人情報種の個人情報数が制限数以内であれば（Ｓ６６；ＮＯ）、情報漏洩防止部１５は、そのＨＴＴＰレスポンスをそのままネットワーク３方向へ送出する（Ｓ６８）。一方、制限数を超える個人情報種が存在する場合には（Ｓ６６；ＹＥＳ）、情報漏洩防止部１５は、そのＨＴＴＰレスポンスに個人情報の防御処理を適用する（Ｓ６７）。このとき、情報漏洩防止部１５は、制限数を超えた個人情報種の個人情報に対してのみ、個人情報の防御処理を適用してもよいし、全ての個人情報種の個人情報に対して防御処理を適用してもよい。そして、情報漏洩防止部１５は、防御処理が適用されたＨＴＴＰレスポンスをネットワーク３方向へ送出する（Ｓ６８）。
【００５６】
なお、上述の処理（Ｓ６６）は、全個人情報種の個人情報数が各制限数をそれぞれ超えるか否かの判定に置き換えてもよい。この場合には、全個人情報種の個人情報数が各制限数をそれぞれ超える場合に（Ｓ６６；ＹＥＳ）、情報漏洩防止部１５は、ＨＴＴＰレスポンスに個人情報の防御処理を適用する。
【００５７】
〔第１実施形態における作用及び効果〕
第１実施形態では、ＨＴＴＰリクエスト、又は、ＨＴＴＰリクエスト及びＨＴＴＰレスポンスから抽出されるデータに基づいて、アカウントＩＤとセッションＩＤとの組が格納される。また、予め、各アカウントＩＤに関し、個人情報種毎の個人情報の制限数がそれぞれ格納されている。
【００５８】
その上で、第１実施形態では、ＨＴＴＰレスポンスのデータが取得されると、そのＨＴＴＰレスポンスに含まれる個人情報の数が個人情報種毎にそれぞれカウントされる。そして、ＨＴＴＰレスポンスに含まれるセッションＩＤと関連付けられて格納されるアカウントＩＤが特定され、そのアカウントＩＤに関する個人情報種毎の個人情報の制限数が取得される。
【００５９】
最終的に、ＨＴＴＰレスポンスに含まれていた個人情報種毎の個人情報の数と、それらの制限数との比較結果により、ＨＴＴＰレスポンスに含まれる個人情報が要求元のクライアント端末１で受信されないように当該ＨＴＴＰレスポンスに防御処理が適用される。
【００６０】
これにより、第１実施形態によれば、ＨＴＴＰレスポンスに含まれていた個人情報の数が制限数を超える個人情報種が存在する場合に、そのＨＴＴＰレスポンス内の個人情報がクライアント端末１で受信されないように制御することができる。即ち、第１実施形態によれば、アカウントＩＤ毎に予め決められる制限数を超える個人情報を取得しようとする通信は、不正な通信（攻撃）と判定することができる。このような制御は、攻撃パターンが既知であるか否かに依存されず実行され得る。即ち、第１実施形態によれば、通信を介した未知の攻撃による個人情報の漏洩を未然に防止することができる。
【００６１】
更に、第１実施形態によれば、例えば、一般利用者権限のアカウントＩＤを不正に用いて、脆弱性を突いた攻撃がシステムに加えられた場合であっても、第１実施形態によれば、一般利用者権限で許可されていない個人情報数や個人情報種が盗み取られることを未然に防止することができる。
【００６２】
［第２実施形態］
第１実施形態における制限情報格納部１０７に格納される制限数の情報は、装置稼働前等に予め設定されてもよいし、通信により他の装置から取得されてもよい。第２実施形態におけるＷＥＢサーバ１０は、制限情報格納部１０７に格納される情報を自動生成する。以下、第２実施形態におけるＷＥＢサーバ１０について第１実施形態と異なる内容を中心に説明し、第１実施形態と同様の内容については適宜省略する。
【００６３】
図７は、第２実施形態におけるＷＥＢサーバ１０の構成例を概念的に示す図である。第２実施形態におけるＷＥＢサーバ１０は、第１実施形態で示された各構成に加えて、制限情報処理部２１を更に有する。制限情報処理部２１についても、他の処理部と同様に、ソフトウェア構成要素として実現される。
【００６４】
制限情報処理部２１は、クライアント端末１とＷＥＢサーバ１０との間でやりとりされるＨＴＴＰリクエスト及びＨＴＴＰレスポンスの各データを用いて、制限情報格納部１０７に格納される情報を生成する。ＷＥＢサーバ１０は、制限情報処理部２１及び情報漏洩防止部１５のいずれか一方を動作させるように制御してもよいし、両方を並行に動作させるように制御してもよい。通信部１１は、前者の形態では、受信されたＨＴＴＰリクエストのデータを、制限情報処理部２１及び情報漏洩防止部１５のどちらか動作中のほうに送り、後者の形態では、両方に送る。また、前者の形態では、入出力Ｉ／Ｆ７に接続されるユーザインタフェース装置（図示せず）をユーザが操作することにより、動作中の処理部が切り替えられるようにしてもよい。
【００６５】
制限情報処理部２１も、情報漏洩防止部１５と同様に、通信部１１とＷＥＢアプリケーション１２との間に介在する。制限情報処理部２１は、要求情報取得部２０１、抽出部２０２、要求情報格納部２０５、応答情報取得部２１１、個人情報解析部２１２、制限情報生成部２１３、応答処理部２１５、個人情報定義データベース（ＤＢ）２１７等を有する。制限情報処理部２１が有するこれら各処理部についても、上記ソフトウェア構成要素としてそれぞれ実現される。
【００６６】
制限情報処理部２１における制限情報生成部２１３を除く他の各処理部は、情報漏洩防止部１５における要求情報取得部１０１、抽出部１０２、要求情報格納部１０５、応答情報取得部１１１、個人情報解析部１１２、応答処理部１１５、個人情報定義ＤＢ１１７と同様の処理を行えばよいため、ここではそれらの説明を省略する。
【００６７】
制限情報生成部２１３は、要求情報格納部２０５から、ＨＴＴＰレスポンスに含まれるセッションＩＤと関連付けられて格納されているアカウントＩＤを抽出し、このアカウントＩＤと個人情報解析部２１２によりカウントされた個人情報種毎の個人情報の数とを関連付けたデータを、制限情報格納部１０７に格納されるべきデータとして生成する。なお、制限情報生成部２１３は、生成されたデータを制限情報格納部１０７に直接格納してもよい。
【００６８】
〔動作例〕
以下、第２実施形態における制限情報処理部２１の動作例を説明する。
【００６９】
図８は、第２実施形態における制限情報処理部２１の応答処理系２３の動作例を示すフローチャートである。このとき、要求情報格納部２０５には、第１実施形態における要求情報格納部１０５と同様に、アカウントＩＤとセッションＩＤとの組が既に格納されていると仮定する。
【００７０】
ＷＥＢサーバ１０において、ＨＴＴＰリクエストが受信されると、ＷＥＢアプリケーション１２がそれに応じたＨＴＴＰレスポンスを生成する。制限情報処理部２１は、情報漏洩防止部１５と共に、その生成されたＨＴＴＰレスポンスのデータを取得する（Ｓ８０）。以降、処理（Ｓ８１）から処理（Ｓ８４）までの各処理は、図６に示される情報漏洩防止部１５の処理（Ｓ６１）から処理（Ｓ６４）までの各処理と同様である。
【００７１】
制限情報処理部２１は、処理（Ｓ８４）において要求情報格納部２０５から抽出されたアカウントＩＤと、処理（Ｓ８１）においてカウントされた個人情報種毎の個人情報数とを関連付けたデータを、制限情報格納部１０７に格納すべきデータ（レコード）として生成する（Ｓ８５）。
【００７２】
その後、制限情報処理部２１は、そのＨＴＴＰレスポンスをネットワーク３方向にそのまま送出する（Ｓ８６）。
【００７３】
〔第２実施形態における作用及び効果〕
第２実施形態では、情報漏洩防止部１５において利用される、各アカウントＩＤに関する個人情報種毎の個人情報の制限数が、クライアント端末１とＷＥＢサーバ１０との間で実際にやりとりされるＨＴＴＰリクエスト及びＨＴＴＰレスポンスのデータを用いて自動で生成される。これにより、第２実施形態で生成されたデータを制限情報格納部１０７に格納すれば、制限情報格納部１０７へのデータの設定処理の負担を軽減することができる。
【００７４】
［第３実施形態］
上述の各実施形態では、個人情報数が個人情報種毎に制限されたが、更に、情報所在データ毎に制限が設定されるようにしてもよい。第３実施形態では、個人情報数を、情報所在データ毎及び個人情報種毎に制限する新たな構成が上述の第２実施形態に組み込まれた例が示される。なお、そのような新たな構成は、第１実施形態に組み込まれてもよい。
【００７５】
ＷＥＢサーバ１０の装置構成は、上述の第２実施形態と同様である。但し、処理内容が上述の第２実施形態と異なる処理部が存在する。以下、第３実施形態におけるＷＥＢサーバ１０について上述の第２実施形態と異なる内容を中心に説明し、上述の第２実施形態と同様の内容についてはその説明を適宜省略する。
【００７６】
抽出部１０２は、要求情報取得部１０１で取得された情報（ＨＴＴＰリクエスト）から、情報所在データ、及び、そのＨＴＴＰリクエストとそれに対するＨＴＴＰレスポンスとの対応関係を示す対応関係データを抽出し、それらを対応付けて要求情報格納部２０５に格納する。対応関係データについては上述したとおりである。
【００７７】
図９は、第３実施形態における要求情報格納部１０５の例を示す図である。要求情報格納部１０５は、上述の各実施形態における内容（アカウントＩＤとセッションＩＤとの組など）に加えて、対応関係データと情報所在データとの組を格納する。図９の例では、情報所在データとして、ＵＲＬデータが格納されている。
【００７８】
図１０は、第３実施形態における制限情報格納部１０７の例を示す図である。図１０に示されるように、制限情報格納部１０７には、アカウントＩＤ、情報所在データ、個人情報種ＩＤ及び制限数を含むレコードが格納されている。図１０の例によれば、「ｓｕｚｕｋｉ」のアカウントに関し、「／ｕｓｅｒ／ａｃｃｏｕｎｔｉｎｆｏ」から提供されるＷＥＢページにおいて、ＣＲＥＤＩＴ＿ＮＯで示される個人情報種の制限数が５であり、「／ｄａｔａ／ｉｎｆｏ」から提供されるＷＥＢページにおいて、ＣＲＥＤＩＴ＿ＮＯで示される個人情報種の制限数が２０である。
【００７９】
制限情報取得部１１３は、個人情報が含まれるＨＴＴＰレスポンスから、セッションＩＤ及び当該対応関係データを抽出し、更に、当該対応関係データと関連付けられて格納される情報所在データ、及び、当該セッションＩＤと関連付けられて格納されるアカウントＩＤを要求情報格納部１０５から抽出する。制限情報取得部１１３は、このように取得された情報所在データ及びアカウントＩＤに関する、個人情報種毎の個人情報の制限数を制限情報格納部１０７から抽出する。
【００８０】
なお、制限情報処理部２１における抽出部２０２及び要求情報格納部２０５の各処理は、上述の抽出部１０２及び要求情報格納部１０５と同様である。
【００８１】
制限情報生成部２１３は、個人情報が含まれるＨＴＴＰレスポンスから、セッションＩＤ及び当該対応関係データを抽出し、更に、当該対応関係データと関連付けられて格納される情報所在データ、及び、当該セッションＩＤと関連付けられて格納されるアカウントＩＤを要求情報格納部１０５から抽出する。制限情報生成部２１３は、このように取得された情報所在データとアカウントＩＤとに、カウントされた個人情報種毎の個人情報数が対応付けられたデータを生成する。
【００８２】
〔動作例〕
図１１は、第３実施形態における情報漏洩防止部１５の動作例を示すフローチャートである。図１１では、第１実施形態及び第２実施形態の動作例を示す図６の処理と同一内容には図６と同一の符号が付されている。以下、第３実施形態における情報漏洩防止部１５の動作を第１実施形態及び第２実施形態と異なる内容を中心に説明する。
【００８３】
このとき、要求情報格納部１０５には、アカウントＩＤとセッションＩＤとの組、及び、ＨＴＴＰリクエストで要求された情報所在データと対応関係データとの組が既に格納されている。
【００８４】
情報漏洩防止部１５は、ＨＴＴＰレスポンスに個人情報が含まれている場合（Ｓ６２；ＹＥＳ）、ＨＴＴＰレスポンスから更にセッションＩＤ及び対応関係データを抽出する（Ｓ１１１）。続いて、情報漏洩防止部１５は、抽出されたセッションＩＤと関連付けられて要求情報格納部１０５に格納されるアカウントＩＤを取得する（Ｓ６４）。これにより、個人情報を含むＷＥＢページを要求したアカウントＩＤが特定される。
【００８５】
更に、情報漏洩防止部１５は、抽出された対応関係データに関連付けられて要求情報格納部１０５に格納される情報所在データを取得する（Ｓ１１２）。これにより、個人情報を含むＷＥＢページの所在を示す情報所在データが特定される。
【００８６】
情報漏洩防止部１５は、制限情報格納部１０７から、処理（Ｓ６４）で取得されたアカウントＩＤ、及び、処理（Ｓ１１２）で取得された情報所在データに関する、個人情報種毎の個人情報の制限数を抽出する（Ｓ１１３）。以降、情報漏洩防止部１５は、この抽出された制限数を用いて、第１実施形態と同様に処理を行う。
【００８７】
図１２は、第３実施形態における制限情報処理部２１の動作例を示すフローチャートである。図１２では、第２実施形態の動作例を示す図８の処理と同一内容には図８と同一の符号が付されている。以下、第３実施形態における制限情報処理部２１の動作を第２実施形態と異なる内容を中心に説明する。処理（Ｓ８０）から処理（Ｓ８２）までの各処理、処理（Ｓ１２１）、処理（Ｓ８４）及び処理（Ｓ１２２）は、図１１に示される情報漏洩防止部１５の処理（Ｓ６０）から処理（Ｓ６２）までの各処理、処理（Ｓ１１１）、処理（Ｓ６４）及び処理（Ｓ１１２）と同様である。
【００８８】
制限情報処理部２１は、処理（Ｓ８４）及び処理（Ｓ１２２）において要求情報格納部２０５から抽出されたアカウントＩＤ及び情報所在データと、処理（Ｓ８１）においてカウントされた個人情報種毎の個人情報数とを関連付けたデータを、制限情報格納部１０７に格納すべきデータ（レコード）として生成する（Ｓ１２３）。その後、制限情報処理部２１は、そのＨＴＴＰレスポンスをネットワーク３方向にそのまま送出する（Ｓ８６）。
【００８９】
〔第３実施形態における作用及び効果〕
上述のように、第３実施形態では、各アカウントＩＤについて、情報所在データ毎でかつ個人情報種毎の個人情報の制限数が管理され、かつ、実際に送受信されるＨＴＴＰリクエスト及びＨＴＴＰレスポンスから、セッションＩＤとアカウントＩＤとの組、及び、個人情報を含むＷＥＰページの情報所在データが保持される。その上で、ＨＴＴＰレスポンスに含まれる個人情報の数が個人情報種毎にそれぞれカウントされる。
【００９０】
そして、個人情報を含むＨＴＴＰレスポンスが検知されると、セッションＩＤ及び対応関係データをキーに用いて、対応するアカウントＩＤ及び対応する情報所在データが特定され、そのアカウントＩＤ及び情報所在データに関する個人情報種毎の個人情報の制限数が取得される。結果、この制限数と、カウントされた個人情報数との比較結果に応じて、個人情報が要求元のクライアント端末１で受信されないように当該ＨＴＴＰレスポンスに防御処理が適用される。
【００９１】
このように、第３実施形態によれば、アカウントＩＤのみでなく、個人情報を含むＷＥＢページの情報所在データ毎に、個人情報の制限数を設定することができるため、不正アクセスの検知及び個人情報の漏洩の未然防止を一層緻密に行うことができる。例えば、所定ＵＲＬで通常提供されている数を超える個人情報数がＨＴＴＰレスポンスに含まれる場合には、その通信を不正アクセスであると判定することができる。
【００９２】
［変形例］
上述の各実施形態では、要求情報格納部１０５には、ＨＴＴＰリクエスト及びＨＴＴＰレスポンスの一部のデータ（アカウントＩＤ、セッションＩＤ等）が格納されたが、ＨＴＴＰリクエストの全データ（セッションＩＤを含む）が格納されてもよい。
【００９３】
また、上述の第２実施形態では、ＨＴＴＰレスポンスに含まれる個人情報の数がそのまま制限数として利用される例が示されたが、カウントされた個人情報数に所定演算が施された値が制限数に設定されるようにしてもよい。この場合、個人情報種毎に所定演算が予め決められているようにしてもよい。例えば、クレジット番号については２を加算すること、電話番号については２倍することがそれぞれ予め決められており、ＨＴＴＰレスポンスにクレジット番号が３件、かつ、電話番号が５件含まれていた場合には、クレジット番号の制限数が５件に設定され、電話番号の制限数が１０件に設定される。
【００９４】
また、上述の第２実施形態及び第３実施形態では、情報漏洩防止部１５及び制限情報処理部２１が、処理内容の共通する各処理部をそれぞれ備えていたが、処理内容の共通する各処理部は、情報漏洩防止部１５及び制限情報処理部２１で共有されるようにしてもよい。この場合、要求情報取得部１０１及び２０１のペア、抽出部１０２及び２０２のペア、要求情報格納部１０５及び２０５のペア、応答情報取得部１１１及び２１１のペア、個人情報解析部１１２及び２１２のペア、応答処理部１１５及び２１５のペア、個人情報定義ＤＢ１１７及び２１７のペアは、それぞれ１つの処理部として実現されればよい。
【００９５】
また、上述の各実施形態では、ＷＥＢサーバ１０に情報漏洩防止部１５及び制限情報処理部２１が搭載される例を示したが、情報漏洩防止部１５及び制限情報処理部２１は、ＷＥＢサーバ１０とは別のコンピュータ上で実現されてもよい。図１３は、ＷＥＢシステムの第１変形例の構成を概念的に示す図である。図１３の例では、要求情報取得部１０１及び２０１は、クライアント端末１から送信されたＨＴＴＰリクエストをネットワーク３上から受信し、応答情報取得部１１１及び２１１は、ＷＥＢサーバ１０からＨＴＴＰレスポンスを取得してもよいし、ＷＥＢサーバ１０により送信されたＨＴＴＰレスポンスをネットワーク３を介して受信してもよい。このとき、応答情報取得部１１１は、ＷＥＢサーバ１０から送信されたＨＴＴＰレスポンスが宛先となるクライアント端末１で受信されないように当該ＨＴＴＰレスポンスを受信する。
【００９６】
また、制限情報処理部２１は、情報漏洩防止部１５と異なるコンピュータとして、クライアント端末１に搭載されてもよい。図１４は、ＷＥＢシステムの第２変形例の構成を概念的に示す図である。図１４の例では、要求情報取得部２０１は、クライアント端末１からＨＴＴＰリクエストを取得し、応答情報取得部２１１は、ネットワーク３を介してＨＴＴＰレスポンスを受信する。
【００９７】
なお、上述の説明で用いた複数のフローチャートでは、複数のステップ（処理）が順番に記載されているが、本実施形態で実行される処理ステップの実行順序は、その記載の順番に制限されない。本実施形態では、図示される処理ステップの順番を内容的に支障のない範囲で変更することができる。また、上述の各実施形態及び各変形例は、内容が相反しない範囲で組み合わせることができる。
【符号の説明】
【００９８】
１  クライアント端末
３  ネットワーク
５  ＣＰＵ
６  メモリ
７  入出力Ｉ／Ｆ
１０  ＷＥＢサーバ
１１  通信部
１２  ＷＥＢアプリケーション
１３  ＷＥＢページ格納部
１４  アクセス制御情報格納部
１５  情報漏洩防止部
２１  制限情報処理部
１０１  要求情報取得部
１０２  抽出部
１０５  要求情報格納部
１０７  制限情報格納部
１１１  応答情報取得部
１１２  個人情報解析部
１１３  制限情報取得部
１１５  応答処理部
１１７  個人情報定義ＤＢ
２０１  要求情報取得部
２０２  抽出部
２０５  要求情報格納部
２１１  応答情報取得部
２１２  個人情報解析部
２１３  制限情報生成部
２１５  応答処理部
２１７  個人情報定義ＤＢ
【図１】
0005743822.tif 000002
【図２】
0005743822.tif 000003
【図３】
0005743822.tif 000004
【図４】
0005743822.tif 000005
【図５】
0005743822.tif 000006
【図６】
0005743822.tif 000007
【図７】
0005743822.tif 000008
【図８】
0005743822.tif 000009
【図９】
0005743822.tif 000010
【図１０】
0005743822.tif 000011
【図１１】
0005743822.tif 000012
【図１２】
0005743822.tif 000013
【図１３】
0005743822.tif 000014
【図１４】
0005743822.tif 000015