情報秘匿化方法、および情報秘匿装置
【課題】サービスの利用者側および提供者側に改修の必要なしに、サービスの利用者が提供者側に送信すべき情報を秘匿した状態で通常通りにサービスを利用可能とする。
【解決手段】Webサービス提供側ネットワークシステム外、かつWebサービスを提供するサーバ30とWebサービスを利用するクライアント20との間に備えられる情報秘匿プロキシ装置10が、クライアント20からの第一の情報を受信し、該第一の情報に含まれる特定の情報を変換後の情報に変換して更新し、更新した第一の情報をサーバ30に送信する。また、サーバ30からの第二の情報を受信し、該第二の情報に含まれる前記変換後の情報を検出し、該変換後の情報を前記特定の情報に置換して更新し、更新した前記第二の情報をクライアント20へ送信する。
【解決手段】Webサービス提供側ネットワークシステム外、かつWebサービスを提供するサーバ30とWebサービスを利用するクライアント20との間に備えられる情報秘匿プロキシ装置10が、クライアント20からの第一の情報を受信し、該第一の情報に含まれる特定の情報を変換後の情報に変換して更新し、更新した第一の情報をサーバ30に送信する。また、サーバ30からの第二の情報を受信し、該第二の情報に含まれる前記変換後の情報を検出し、該変換後の情報を前記特定の情報に置換して更新し、更新した前記第二の情報をクライアント20へ送信する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報秘匿化方法、および情報秘匿装置に関する。
【背景技術】
【0002】
Web上のサービスの利用が広まるに従い、これまでクライアント装置上で実行するデスクトップアプリケーションとして実装されてきた、メーラ、スケジュール管理、TODO管理などの、企業内業務システムの多くがWeb情報サービス(Webサービス)として提供されはじめている。
【0003】
しかし、Webサービスを利用することで、個人のプライバシー情報や社内の営業情報などがWebサービス提供者側に漏洩してしまう問題がある。企業内の営業情報、企業活動において取得した顧客情報、営業戦略に関わる重要機密などの機密情報の漏洩対策は、企業にとって重要な課題であり、Webサービスとして提供されているWebアプリケーションを、企業の従業員が業務のために利用した場合、当該Webアプリケーションを提供しているWebサーバ(およびその提供者)に、入力した情報を渡すことになり、機密情報を漏洩することになってしまう。
【0004】
この問題に対処すべく、特許文献1には、サービスを提供するWebサービス提供装置および認証機関へのそれぞれの情報を送信する場合に行う暗号化、復号化に必要となるユーザの秘密鍵を格納する耐タンパ性記憶装置と、当該耐タンパ性記憶装置に格納されているユーザの秘密鍵により暗号化の処理を行うCPU(Central Processing Unit)を具備する装置によりユーザのプライバシー情報を保護する方法が記載されている。この方法によれば、ユーザにとって煩雑な処理操作を低減させ、秘密鍵などのユーザのプライバシー情報が第三者に獲得される危険性を低減することができる。
【0005】
また、特許文献2には、選択されたキーワードおよび選択された要素をそれぞれ秘密にして、送信された購入希望情報を受信すると、情報提供装置は購入希望情報および秘密鍵から送付鍵を計算して利用者端末に送信し、利用者端末は、送付鍵、選択された要素、複数の情報から、選択されたキーワードに対応する情報のみを復号化させる機能を備えたことにより、利用者が選択した情報(のアブストラクト)を情報提供者に秘匿した状態で、選択した情報の詳細を利用者に提供する方法が記載されている。この方法によれば、利用者は情報提供者にどの情報を必要としているのかを秘匿したまま、情報提供者から取得したい情報を獲得することができる。
【特許文献1】特開2003−304234号公報
【特許文献2】特開2006−39674号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
従来の技術では、サービス利用者側の装置やサービス提供者側の装置に、情報秘匿のための装置やプログラムを設置しなければならないという課題がある。また、情報秘匿の対象が認証処理の際に通信される情報であったり、取得したい情報を示す情報であったりと、限定された場面や情報を対象としているために、汎用的に活用できないという課題がある。
【0007】
本発明はこれらの課題に鑑みてなされたものであり、その目的は、サービス提供者側および利用者側のシステム環境の改修の必要なしに、サービスの利用者が提供者側に送信すべき情報を秘匿した状態で通常通りにサービスを利用可能とすることにある。
【課題を解決するための手段】
【0008】
前記課題を解決するためになされた本発明に係る情報秘匿化方法は、第一の情報を送信するクライアントと、Webアプリケーションを用いて前記第一の情報から第二の情報を生成して記憶装置に記憶し、前記クライアントからの要求に応じて前記記憶した第二の情報を前記クライアントへと送信するサーバとによるWeb情報サービスにおいて、前記サーバと前記クライアントとに接続可能にされる情報秘匿装置が、クライアントからWebブラウザを介してサーバへ送信するリクエスト情報(第一の情報)を受信し、それに含まれる秘匿化が必要な変換前の情報を秘匿化した変換後の情報に可逆的に変換してサーバに送信する。また、サーバからクライアントへ送信するレスポンス情報(第二の情報)を受信し、それに含まれる前記変換後の情報を、前記変換前の情報に置換してクライアントへ送信することを特徴とする。
その他の手段については、後記する実施の形態で述べる。
【発明の効果】
【0009】
本発明によれば、サービス提供者側および利用者側のシステム環境の改修の必要なしに、サービスの利用者が提供者側に送信すべき情報を秘匿した状態で通常通りにサービスを利用可能とすることができる。
【発明を実施するための最良の形態】
【0010】
以下、本発明を実施するための最良の形態(以下「実施形態」とする)について図面を参照しながら説明する。なお、本実施形態では、Web情報サービス(以下、「Webサービス」と適宜記載)の利用者としてのユーザが、一般的なコンピュータであるWebクライアントのWebブラウザを用いて、Webサーバの提供するWebアプリケーションの機能(Webサービス)を利用する場合を例として説明する。Webアプリケーションの機能(Webサービス)としては、メーラ、スケジュール管理、TODO管理などがあるが、本実施形態ではスケジュール管理を例に説明する。
【0011】
<第1実施形態>
図1により、本実施形態に係るWebサービスシステムの全体構成について説明する。
本実施形態に係るWebサービスシステムは、ネットワークに接続された複数の情報処理装置(10、20、30)を含んで構成される。
これらの情報処理装置(10、20、30)は、(1)クライアントのWebブラウザ21から、サーバであるWebサーバ30へ送信されるリクエスト情報(第一の情報)に含まれる秘匿化が必要な情報を記録したのちに変換し、変換したリクエスト情報をWebサーバ30に送信したり、Webサーバ30からWebブラウザ21に返信されるレスポンス情報(第二の情報)の一部を、記録に基づき置換し、置換したレスポンス情報をWebブラウザ21に送信したりすることで、Webブラウザ21から送信される秘匿化が必要な情報をWebサーバに直接提供せずにWebサーバ30の提供する機能をWebブラウザ21に提供する情報処理装置(以下、「情報秘匿プロキシ装置」と適宜記載)10、(2)Webサーバ30の提供する機能を利用するためにユーザが操作する、Webブラウザ21がインストールされた情報処理装置(以下、「Webクライアント」と適宜記載)20、(3)Webクライアント20のWebブラウザ21からのリクエスト情報に応じてWebアプリケーション31が生成したレスポンス情報をWebクライアント20に送信する情報処理装置(以下、「Webサーバ」と適宜記載)30が含まれている。
【0012】
なお、Webクライアント20は複数(例えばユーザの数だけ)存在しうるが、図1では説明のため1つだけ図示している。同様にWebサーバ30も複数存在しうるが、ここでは説明のために1つだけ図示している。また、各情報処理装置(10、20、30)はそれぞれの機能を実現するためのプログラムの実行に必要な通常のハードウェア構成(CPU、RAM(Random Access Memory)やROM(Read Only Memory)などのメモリ、プログラムがインストールされたハードディスクなど)を有している。
【0013】
以下、図1を参照しながら、情報秘匿プロキシ装置10の機能構成について説明する。
情報秘匿装置としての情報秘匿プロキシ装置10は、CPUが実現するリクエスト処理部101およびレスポンス処理部102と、ハードディスクに格納される処理設定情報103およびID情報104とから構成される。
リクエスト処理部101は、Webクライアント20からのWebサーバ30へのリクエスト情報(第一の情報)であるWebページの取得要求を受信し、処理設定情報103に設定されている情報に基づき当該取得要求に含まれる秘匿化が必要な情報をID情報104に記録した後に、所定の変換処理を行って更新したリクエスト情報をWebサーバ30に送信する。
レスポンス処理部102は、当該リクエスト情報に対して、Webサーバ30が返信するレスポンス情報(第二の情報)であるWebページを取得し、取得したWebページに含まれる秘匿化された情報をID情報104に従って置換処理を行い、更新したレスポンス情報をWebクライアント20に送信する。
このリクエスト処理部101およびレスポンス処理部102は、情報秘匿プロキシ装置10が備えるCPUによるプログラム実行処理などにより実現される。
【0014】
処理設定情報103は、Webクライアント20から送信されたリクエスト情報を受信した際のリクエスト処理部101の処理方法を設定した情報を保持するものであり、運用管理者などによって予め設定され、情報秘匿プロキシ装置10のハードディスクなどに格納される。図2は、処理設定情報の一例を示す図である。処理設定情報103a(103)は、リクエスト情報に含まれるURL(Uniform Resource Locator)、メソッド、パラメタ名に着目した処理の設定情報が格納されている。ここでは、Webブラウザ21のアクセス対象のURLが“http://foo.bar.com/calendar/add”でメソッドが“POST”のHTTP(HyperText Transfer Protocol)リクエストにおいて、パラメタ名が“Text”および“Content”である場合に変換処理を行うことが指定されている。
【0015】
図1に戻って、ID情報104は、Webクライアント20から送信されたリクエスト情報に含まれるリクエストパラメタの値を、リクエスト処理部101が生成したIDと対応付けて記録した情報である。図3はID情報の一例を示す図である。ID情報104a(104)は、リクエストパラメタの値に対して生成したID(詳細は図4において後記)、およびリクエストパラメタの値を記録した文字列値の情報を保持する形式をとっている。
【0016】
このような構成により、情報秘匿プロキシ装置10は、Webサーバ30のWebアプリケーション31が提供するサービスを利用するために必要な要求情報のうち秘匿化が必要な情報をWebサーバ30に送信せず、Webサーバ30を運営する者(個人や事業主など)に情報を秘匿した上で、Webサーバ30が提供する機能をWebクライアント20(を利用するユーザ)に提供する。なお、情報秘匿プロキシ装置10は、Webサービス提供側ネットワークシステム外(例えばサービスを利用するユーザがある企業の社員であれば、当該企業内のネットワークシステムなど)に設置することが好ましい。それにより、情報を外部に漏洩させないものとする。
【0017】
クライアントとしてのWebクライアント20は、Webサービスを利用するサービス利用側ネットワークシステム内に用いられ、Webサービスを利用するユーザが操作する一般的なコンピュータであり、Webブラウザ21を備える。ユーザがこのWebクライアント20を操作することで、リクエスト情報であるWebページの取得要求が情報秘匿プロキシ装置10を介してWebサーバ30に送信され、Webサーバ30から送信されてきたレスポンス情報であるWebページが情報秘匿プロキシ装置10を介してWebクライアント20に送信される。これにより、ユーザの要求したWebページが、Webクライアント20のWebブラウザ21上に表示されることとなる。
【0018】
サーバとしてのWebサーバ30は、Webサービスを提供するWebアプリケーション31を備え、サービス提供側ネットワークシステムに用いられる一般的なコンピュータである。本実施形態では、スケジュール管理を例として説明するので、Webアプリケーション31は、スケジュールの登録、閲覧、検索などの機能を有する。
Webサーバ30はWebクライアント20のWebブラウザ21を介して、スケジュールの登録用画面をユーザに提供し、ユーザがスケジュール情報を入力すると、Webサーバ30は入力されたスケジュール情報を自身の記憶部(記憶装置)に登録する。そして、Webクライアント20に表示されるスケジュールの閲覧用画面には、ユーザが登録したスケジュール情報を表示する。
【0019】
(リクエスト処理)
以下、図4のフローに従い、情報秘匿プロキシ装置のリクエスト処理部における処理手順を説明する。図4は、情報秘匿プロキシ装置10におけるリクエスト処理部101が、処理設定情報103に設定されている情報に基づき、Webクライアント20から送信されるリクエスト情報としてのWebページの取得要求を中継して変換し(ID化処理)、Webサーバ30に送信する際の処理のフローを詳細に示したものである。
情報秘匿プロキシ装置10がWebクライアント20から送信されるWebページの取得要求を受信すると、リクエスト処理部101が以下の処理を行う。ここでは、例として“2006/8/31 △△殿プレゼン”というスケジュール情報を登録することとし、Webページの取得要求の要求情報に該スケジュール情報が含まれているものとする。
【0020】
リクエスト処理部101は、情報秘匿プロキシ装置10が受信したWebページの取得要求に含まれる要求情報のHTMLソースコードを解析して、リクエストパラメタの要素があるか否かを判別する(S401)。
リクエスト処理部101は、リクエストパラメタの要素がある場合(S401→Yes)には、当該リクエストパラメタについてステップS402以降の処理を行い、リクエストパラメタの要素が無い場合、または当該要求情報のHTMLソースコードに含まれる全てのリクエストパラメタの要素についてステップS402以降の処理を行った場合(S401→No)には、ステップS405に進む。
【0021】
要素がある場合(S401→Yes)、リクエスト処理部101は、処理設定情報103と照合して、該リクエストパラメタが処理対象となっているか否かを判別する(S402)。つまり、該リクエストパラメタが、処理設定情報103に格納されているURL、メソッド、パラメタ名に該当するか否かを判別する、ということである。このステップS401,S402の処理により、該当するリクエストパラメタが検出される。例えば、図2に示す処理設定情報103aでは、アクセス先URLが“http://www.foo.bar.com/calendar/add”で、メソッドが“POST”である要求情報のうち、“Text”および“Content”のパラメタ名を持つリクエストパラメタが処理対象となっている。
該リクエストパラメタに対する処理の設定がない場合(S402→No)、リクエスト処理部101は、ステップS401の処理に戻り、次のリクエストパラメタの要素があるか否かを判別する。
【0022】
一方、該リクエストパラメタに対する処理の設定がある場合(S402→Yes)、リクエスト処理部101は、該リクエストパラメタの値に対するIDを生成し、生成したIDとリクエストパラメタの値とを、ID情報104に登録する(S403)。つまり、該リクエストパラメタの値(文字列値)と、当該生成されたIDとを対応させて1レコードとしてID情報104に記録する。
ここで生成するIDは、ID情報104に登録されるレコードを一意に決定できる情報であると同時に、Webサーバ30が提供するレスポンス情報のHTMLソースコードの文字列中に出現しないような文字列形式である必要がある。図3で示した例では、自然数を文字列化したものの前後に“[(]”および“[)]”を付加した文字列をIDとして用いており、自然数部分はレコードが増えるたびに1ずつ増加する方法をとっている。なお、このIDの情報は、自然数に限らず、各文字列値を一意に識別可能な情報であればよい。また、既に同じ文字列値がID情報104に登録されていた場合には、新たに登録せずに(ステップS403は実行せず)、当該レコードのIDを利用する。
【0023】
次に、リクエスト処理部101は、当該生成した(または、すでに当該文字列値が登録されていた場合は、該レコードの)IDを、元のリクエストパラメタの値の代わりに設定することで、リクエストパラメタの値を変換する(S404)。
【0024】
リクエスト処理部101は、このステップS401〜S404の処理を繰り返すことで、Webクライアント20から受信したリクエスト情報に含まれる全てのリクエストパラメタの値について、必要な変換処理を行う。なお、この変換処理を、以下「ID化処理」と呼ぶこともある。
【0025】
リクエスト処理部101は、ステップS401〜S404の処理でリクエストパラメタの変換処理がなされた要求情報を含むWebページの取得要求であるリクエスト情報を、Webサーバ30に送信する(S405)。
【0026】
図5はWebサービスシステムにおいて送受信される、リクエスト情報としてのWebページの取得要求の一例を示す図であり、WebクライアントのWebブラウザからWebサーバに送信される、リクエスト情報のHTMLソースコードの一例(一部)を示したものである。ここでは、例として“△△殿プレゼン”という情報をスケジュールに登録するものとする。
図5(a)は、Webブラウザから送信されて情報秘匿プロキシ装置が受信する、リクエスト処理部による変換処理前のリクエスト情報(HTTPリクエスト)のHTMLソースコードを示しており、図5(b)は情報秘匿プロキシ装置のリクエスト処理部による変換処理後のリクエスト情報(HTTPリクエスト)のHTMLソースコードを示している。なお、図5(a)、(b)で示される“Text”以下の情報(符号503,504)は、説明のため、URLエンコーディングせずに示している。
【0027】
前記したように、情報秘匿プロキシ装置10は、Webクライアント20からのリクエスト情報としてWebページの取得要求を受信すると、処理設定情報103を参照して、受信したリクエスト情報のHTMLソースコードに含まれるリクエストパラメタのうち、変換が必要なものを検出する。
例えば、図2の処理設定情報103aによれば、メソッドが“POST”でURLが“http://foo.bar.com/calendar/add”のWebページの取得要求において、パラメタ名が“Text”が指定されているので、図5(a)の符号501に示される情報から、メソッドおよびURLが該当することを判別し、さらに、符号502に示される“Text”を検出したら、符号503の情報“△△殿プレゼン”が、図5(b)の符号504に示されるように“[(]3[)]”と変換される(S404)。
【0028】
図5(b)のように変換されたリクエスト情報(Webページの取得要求)が、情報秘匿プロキシ装置10からWebサーバ30に送信される。つまり、Webサーバ30に“△△殿プレゼン”の情報が送信されることはなく、変換された情報“[(]3[)]”がWebサーバ30に送信される(S405)。また、ステップS403において、“[(]3[)]”と“△△殿プレゼン”の情報がID情報104に登録される(図3参照)。
【0029】
(レスポンス処理)
Webサーバ30は、情報秘匿プロキシ装置10から送信されたリクエスト情報であるWebページの取得要求を受信すると、Webアプリケーション31によってリクエスト情報に応じたWebページを生成し、Webクライアント20へ送信する。つまり、ユーザがWebブラウザ21上のスケジュール登録画面にてスケジュール情報を入力し、入力内容がWebクライアント20から情報秘匿プロキシ装置10を介してWebサーバ30に送信されると、Webサーバ30のWebアプリケーション31は、その内容を解析してスケジュール情報を登録し、既に登録されているスケジュール情報も含めたスケジュール情報閲覧画面を生成して、レスポンス情報としてWebクライアント20に返信するものとする。
【0030】
情報秘匿プロキシ装置10は、Webサーバ30からのレスポンス情報としてのWebページ(HTTPレスポンス)を受信すると、受信したレスポンス情報のHTMLソースコードを解析し、ID情報104に記録されているIDと一致する文字列を当該HTMLソースコードから検出する。そして、検出された文字列部分を、ID情報104で対応する文字列値(つまり、当該検出された文字列と同じIDを持つレコードの文字列値)と置換する(以下、「置換処理」または「ID復号化処理」と適宜記載)。この置換処理を、レスポンス処理部102は、当該受信したレスポンス情報(HTMLソースコード)全体に対して実行する。
【0031】
図6はWebサービスシステムにおいて送受信される、レスポンス情報としてのWebページの一例を示す図であり、WebサーバのWebアプリケーションからWebクライアントに送信される、レスポンス情報のHTMLソースコードの一例(一部)を示したものである。ここでは、例として“2006/08/30 特許打ち合わせ”、“2006/08/31 △△殿プレゼン”、“2006/09/01 ○○製品設計打ち合わせ”などのスケジュール情報がWebサーバ30の記憶部に登録されているものとし、これらの情報を、Webサーバ30のWebアプリケーション31が、Webクライアント20のWebブラウザ21にスケジュール閲覧画面として表示させるものとする。ただし、図6では、説明のために左端に行番号を付加している。
図6(a)は、Webアプリケーションから送信されて情報秘匿プロキシ装置が受信する、レスポンス処理部による置換処理前のレスポンス情報のHTMLソースコードを示しており、図6(b)は情報秘匿プロキシ装置のレスポンス処理部による置換処理後のレスポンス情報のHTMLソースコードを示している。
【0032】
以下、図6(a)のレスポンス情報を対象に、レスポンス処理部102が図3のID情報104aを参照して置換処理を行う処理を説明する。
【0033】
レスポンス処理部102は、図6(a)において、8,12,16行目の文字列が、図3に示すID情報104aに登録されているIDと一致していることを検出する。そして、検出した文字列と、それぞれ対応するID情報104aの文字列値とを置き換える。
つまり、ID情報104aに記録されている文字列値は、“特許打ち合わせ”、“○○製品設計打ち合わせ”、“△△殿プレゼン”であり、レスポンス情報内で対応するID文字列の箇所と置換すると、図6(b)のレスポンス情報のようになる。例えば、符号601で示される“[(]3[)]”の情報は、符号602で示される“△△殿プレゼン”に置換されて更新される、ということである。
【0034】
このような処理手順により、情報秘匿プロキシ装置10は、レスポンス情報のパラメタの値を、前記したリクエスト処理部101によって変換されたリクエスト情報の元のパラメタの値(すなわち、ID情報104に登録されている文字列値)に置き換えたHTMLソースコードを生成し、生成したHTMLソースコードを含むWebページをレスポンス情報としてWebクライアント20に送信する。
【0035】
本実施形態によれば、Webサービスシステム上のWebクライアント20およびWebサーバ30間に、Webクライアント20のプロキシサーバとして情報秘匿プロキシ装置10を備えることで、Webサーバ30側に公開したくない情報(前記の例では“特許打ち合わせ”、“○○製品設計打ち合わせ”、“△△殿プレゼン”などのスケジュール情報)を、直接Webサーバ30に送信せず、情報秘匿プロキシ装置10内にそれらの情報を記録しておき、変換した情報をWebサーバ30へ送信する。また、Webサーバ30からページを受信したときは、記録した情報を利用して元の情報に置き換えてから、Webクライアント20へ送信する。これにより、Webサーバ30のWebアプリケーション31が提供する機能(前記の例ではスケジュール管理のサービス)を利用しながら、情報を秘匿することができる。
【0036】
また、処理設定情報103の設定や、Webクライアント20のプロキシサーバの設定をユーザでなく運用管理者が行うことで、ユーザは情報秘匿プロキシ装置10の存在や処理を全く意識することなく、通常通りにWebサービスを利用することができる。
【0037】
<第2実施形態>
次に、本発明の第2実施形態を説明する。なお、第2実施形態に係るWebサービスシステムの全体構成は、第1実施形態の図1と同様であるため説明を省略する。
【0038】
第2実施形態では、第1実施形態に示したリクエスト処理部101の処理に加え、Webサーバ30のWebアプリケーション31が、ユーザに入力された情報を元にWebサーバ30側で保持する他の情報との演算によってWebページを生成するような機能を備えている場合に対応した情報秘匿プロキシ装置10の処理について説明する。
【0039】
具体的には、例えばスケジュール管理の機能を提供するWebアプリケーション31において、スケジュールの検索用画面でユーザに検索条件(検索文字列)を入力させ、検索条件に合致するスケジュールをWebサーバ30の記憶部に記憶されている情報から検索して、Webクライアント20のWebブラウザ21に検索結果を表示する、という機能がある。この機能をユーザが利用する場合、第1実施形態に示した処理フローを適用しても、Webサーバ30には、変換されたID文字列(例えば、“[(]3[)]”など)が登録されているだけなので、検索文字列(例えば、“△△殿プレゼン”)や、あるいは新たに生成したID文字列をそのままWebサーバ30に送信しても、意図した結果は得られない。
【0040】
Webサーバ30のこのような機能に対応するため、第2実施形態では、リクエスト処理部101が、ID情報104に登録されている文字列値を対象に検索を行い、その検索結果を用いて検索文字列を生成し、Webサーバ30に検索語として送信する。
【0041】
図7は、処理設定情報の一例を示す図であり、図2に示した処理設定情報103aと比較すると、新たに処理の項目が追加されている。この処理の項目により、受信したリクエスト情報に含まれるリクエストパラメタ毎に、リクエスト処理101が実施する処理が指定される。
図7に示した処理設定情報103bの例では、1レコード目、2レコード目に示すように、第1実施形態で説明したID化処理(ID生成、登録、変換の処理)をする場合は“ID化処理”と記述し、3レコード目に示すように、URL“http://www.foo.bar.com/calendar/search”、メソッド“GET”、パラメタ名“Query”の場合には、“検索文字列化処理”と記述する。つまり、本実施形態では、新たに追加した処理の情報に応じて処理方法を変更する。
【0042】
以下、図8の処理フローに従い、本実施形態におけるリクエスト処理部における処理手順を説明する。なお、図4に示した第1実施形態と同様の処理については、同じ符号を付し、説明を省略する。
【0043】
ステップS402で、該リクエストパラメタに対する処理の設定がある場合(S402→Yes)、リクエスト処理部101は、処理設定情報103b(図7参照)を参照して、URL、メソッド、パラメタ名が該当するリクエストパラメタに対し、設定された処理を検出する(S801)。
【0044】
検出した処理が“ID化処理”である場合(S801→ID化処理)、リクエスト処理部101は、前記した第1実施形態と同様の処理(S403,404)を行う。
【0045】
一方、検出した処理が“検索文字列化処理”である場合(S801→検索文字列化処理)、リクエスト処理部101は、当該リクエストパラメタの文字列値を含むレコードをID情報104から検索して、対応するIDを検出し(S802)、検出したIDを検索文字列として生成し(S803:OR条件として検索文字列を生成)、生成した検索文字列にパラメタ値を変換する(S804)ことで更新する。つまり、ステップS802で検出したIDを当該リクエストパラメタの値の代わりに設定するということである。なお、ステップS802で複数のレコードが検出された場合は、ステップS803で複数候補検索(OR条件)の検索文字列になるように各レコードのIDを空白文字などで連結した文字列を検索文字列として、当該リクエストパラメタの値に設定する。
【0046】
具体的に説明すると、例えば、ユーザの入力した検索値である当該リクエストパラメタの値が“打ち合わせ”であった場合、リクエスト処理部101は、図3のID情報104aから“特許打ち合わせ”および“○○製品設計打ち合わせ”の文字列を含む二つのレコードが検出される。そこで、検出されたレコードのIDを空白文字で連結した“[(]1[)] [(]2[)]”を当該リクエストパラメタの値として、元のリクエストパラメタの値“打ち合わせ”の代わりに設定する。
【0047】
なお、複数の単語をOR条件で検索する場合には、主要な検索サービス提供サイトでは複数の単語を空白文字列で連結した文字列を検索文字列として入力することから、本実施形態では例として空白文字列で複数の単語を連結する方法で説明したが、Webサーバ30が提供する検索機能が別方法で複数単語検索を入力させるものであれば、その方法に沿って検索文字列を生成する。
【0048】
図8に戻って、情報秘匿プロキシ装置10のリクエスト処理部101は、ステップS401〜S404およびステップS801〜S804の処理でリクエストパラメタの変換処理がなされた要求情報をもつWebページの取得要求をリクエスト情報として、第1実施形態と同様にWebサーバ30に送信する(S405)。
【0049】
第2実施形態によれば、情報秘匿プロキシ装置10は、ユーザの入力した情報を秘匿してWebサーバ30に登録し、登録した情報をユーザの入力した情報どおりに閲覧可能とするという第1実施形態で説明した機能を提供するだけでなく、情報を秘匿したまま、Webアプリケーション31に、ユーザに入力された情報を元にWebサーバ30側で保持する他の情報との演算(例えば、検索処理など)によってWebページを生成する機能があった場合でも、その機能を利用することができる。
【0050】
<第3実施形態>
次に、本発明の第3実施形態を説明する。
第3実施形態では、第1実施形態および第2実施形態に示したリクエスト処理部101の処理に加え、Webサーバ30のWebアプリケーション31が、ユーザに入力された情報に対応したWebページを生成するような機能を備えている場合に対応した情報秘匿プロキシ装置10の処理について説明する。
【0051】
第1実施形態では、Webサーバ30が生成したWebページのHTMLソースコードのうち、秘匿化が必要な文字列部分を、IDに変換することで、Webサーバ30側にはユーザが入力した文字列を送信せず、変換したIDのみを送信していながらも、ユーザは入力した文字列に基づいたWebページを閲覧することができた。しかし、例えばユーザに入力された文字列がURLを示す場合、Webサーバ30のWebアプリケーション31は、当該URLへのリンクを示すHTMLのアンカータグ(Aタグ)として表示するような処理を行う機能を備える場合がある。この場合、前記した第1実施形態の機能だけでは、Webサーバ30のページ生成機能によって、情報秘匿プロキシ装置10に変換されたURLの文字列がそのままWebページ上に表示されてしまうので、リンクが表示されない。
【0052】
つまり、Webサーバ30が、ユーザの入力した文字列を用いて何らかの変換処理を行った結果をWebページのHTMLソースコードの一部として利用するような機能を持つ場合は、単にユーザの入力した文字列とIDとの置換処理を行う方法では、Webサーバ30で通常生成されるWebページとは異なる結果が表示されることになる。
【0053】
そのため、第3実施形態では、レスポンス処理部102の置換処理(ID復号化処理)の後に、URLを示す文字列部分をアンカータグに変換する処理を行う。以下、その詳細を説明する。
【0054】
図9は、第3実施形態に係るWebサービスシステムの全体構成および情報秘匿プロキシ装置の機能構成を示す図である。これによれば、図1と異なる点として、情報秘匿プロキシ装置10内にハードディスクに格納されるレスポンス処理設定情報(処理定義情報)105が新たに配置されている。
レスポンス処理設定情報105は、Webサーバ30から受信したレスポンス情報に含まれる特定の情報と対応して、レスポンス処理部102が行う処理を記録する。
【0055】
図10はレスポンス処理設定情報の一例(一部)を示す図である。レスポンス処理設定情報105a(105)によれば、Webサーバ30からのレスポンス情報に含まれるURL(例えば、Webアプリケーション31に現在Webクライアント20がアクセスしている対象URL)が“http://www.foo.bar.com/calendar/view”(1レコード目)の場合、レスポンス処理部102は、前記した第1実施形態と同様の“ID復号化処理”を行うことを示している。また、対象URLが“http://www.foo.bar.com/blog”(2レコード目)の場合、“ID復号化処理”の処理の後に、“HTML化処理”として、URLを示す文字列部分をアンカータグに変換する処理を行うことを示している。
【0056】
第3実施形態におけるリクエスト処理部101の処理フローは、第1実施形態もしくは第2実施形態と同様である。
【0057】
第3実施形態におけるレスポンス処理部102の処理について説明する。
情報秘匿プロキシ装置10のレスポンス処理部102は、Webサーバ30から受信したレスポンス情報を解析して、現在アクセス中のURLに対する処理を、レスポンス処理設定情報105から検出する。以下、具体的に説明する。
ここでは、予めリクエスト処理部101のID化処理によって、ID情報104に、ID“[(]4[)]”、文字列値“http://www.foo.bar.com/link”のレコードが登録されており、ユーザがWebクライアント20を介してWebアプリケーション31のURL“http://www.foo.bar.com/blog”にアクセスした結果、Webサーバ30が返信したレスポンス情報(WebページのHTMLソースコード)に“[(]4[)]”という文字列が含まれていた場合を例として説明する。
【0058】
レスポンス処理部102は、受信したレスポンス情報に含まれるURL“http://www.foo.bar.com/blog”を検出する。そして、図9に示すレスポンス処理設定情報105aを参照して、当該レスポンス情報(HTMLソースコード)に対して実行する処理として“ID復号化処理”および“HTML化処理”を行うことを判別する。
まず“ID復号化処理”として、HTMLソースコードに含まれる“[(]4[)]”の部分を、ID情報104のレコードが保持する文字列値“http://www.foo.bar.com/link”に置換する。続いて“HTML化処理”として、当該置換結果の文字列(本例の場合、置換結果文字列の全体である“http://www.foo.bar.com/link”)がURLを示していることを検出し、検出したURLの文字列を、アンカータグを示す文字列“<A href=’http://www.foo.bar.com/link’>http://www.foo.bar.com/link</a>”に変換する。
【0059】
第3実施形態によれば、ユーザが入力した情報に対して何らかの処理(例えば、HTML化処理など)を行ったものをWebページとして返信するようなWebサービスに対しても、情報秘匿プロキシ装置10のレスポンス処理部102にWebサーバ30が備える処理と同様の機能を具備し、Webサーバ30から受信した情報に応じた処理をレスポンス処理設定情報105に設定しておくことで、対応可能である。つまり、情報秘匿プロキシ装置10が、レスポンス処理設定情報105の情報を用いて様々な処理を行うことで、秘匿したい情報をWebサーバ30に送信することなく、Webアプリケーション31で行うべき処理と同等の機能をユーザに提供することができる。
【0060】
なお、本実施形態では、レスポンス処理設定情報105に格納する情報をURLとして、レスポンス処理部102はURL毎に設定された処理を実行するものとして説明したが、URLに限らず、Webサーバ30から受信したWebページ情報の内容(タイトルやメッセージ本文など)を解析して得られる情報などを用いてもよく、必要な処理を特定できるものであればよい。
【0061】
<第4実施形態>
前記した第1〜第3実施形態では、図1および図9で示されるように、情報秘匿プロキシ装置10(10a)を、ネットワーク上のWebクライアント20とWebサーバ30との間に配置する構成をとっている。ここで、複数のWebクライアント20が、1つの情報秘匿プロキシ装置10に接続してWebブラウザ21を実行する場合、他のWebクライアント20から受信したリクエスト情報により生成され、登録されたID情報104を複数のWebクライアント20で共有することとなる。そのため、同じ情報秘匿プロキシ装置10に接続されるWebクライアント20同士であれば、他のWebクライアント20のスケジュール情報を(置換処理によって)閲覧することで情報共有が可能となる。
【0062】
しかし、ユーザが、情報秘匿プロキシ装置10を共有する他のWebクライアント20のユーザにもスケジュール情報を閲覧されたくない場合や、情報秘匿プロキシ装置10の運用管理者にも、ID情報104に格納される情報を秘匿したい場合も考えられる。その場合には、第4実施形態として、情報秘匿プロキシ装置10に備えられる機能を、Webクライアント20に備える構成をとることとしてもよい。具体的には、Webクライアント20上で機能するプロキシとして実装する方法や、Webブラウザ21の(拡張)機能として実装する方法がある。なお、この場合、Webクライアント20に機能追加が必要となる。
【0063】
また、処理設定情報103やID情報104を管理するための設定情報サーバを設置し、Webサービス利用時には、この設定情報サーバに情報秘匿プロキシ装置10またはWebクライアント20からアクセスする構成にしてもよい。これは、プロキシをWebクライアント20上に置く場合だけでなく、複数のプロキシ装置を配置する場合にも有効である。
【0064】
以上説明した本発明によれば、第一の情報を送信するWebクライアント20と、Webアプリケーション31を用いて前記第一の情報から第二の情報を生成して記憶装置に記憶し、前記Webクライアント20からの要求に応じて前記記憶した第二の情報を前記Webクライアント20へと送信するWebサーバ30とによるWeb情報サービスにおいて、前記Webサーバ30と前記Webクライアント20とに接続可能にされる情報秘匿プロキシ装置10が、両者の通信を仲介するプロキシ装置として作用する構成をとる。そして、情報秘匿プロキシ装置10は、Webクライアント20からWebサーバ30に送信されるリクエスト情報のうち予め定義されたパラメタの値を当該パラメタの値とは異なる値に可逆的に変換して更新し、更新したパラメタの値をもつ情報を、Webクライアント20が送信したリクエスト情報としてWebサーバ30に送信する。Webクライアント20から送信されたパラメタの値(変換前の情報)、および情報秘匿プロキシ装置10で前記パラメタと変換した値(変換後の情報)は、情報秘匿プロキシ装置10内にID情報104として記録しておく。
【0065】
リクエスト情報を受信したWebサーバ30は、Webアプリケーション31によりWebページを生成してWebクライアント20へレスポンス情報として送信する。このレスポンス情報を受け取った情報秘匿プロキシ装置10は、レスポンス情報のうち、前記リクエスト情報の変換処理の際に記録したパラメタの変換後の値(変換後の情報)と一致する箇所を検出し、検出した箇所を、ID情報104を用いて元の値(変換前の情報)と置換して更新する処理を行う。情報秘匿プロキシ装置10は、レスポンス情報のHTMLソースコード全体にわたり当該置換処理を行ったのち、HTMLソースコードをレスポンス情報としてWebクライアント20に送信する。
【0066】
なお、情報秘匿プロキシ装置10におけるパラメタの値を変換する値としては、Webサーバ30が生成するHTMLソースコード中に表れえない形式の文字列であり、元のパラメタの値に復元することのできる値であればよい。例えば、前記説明したように、置換処理の都度、1ずつ増加する自然数を示す文字列とその前後にWebサーバが生成するHTMLソースコード中に表れ得ない形式の文字列(例えば、“[(]”と“[)]”)を配置した文字列を利用する方法が考えられる。
【0067】
また、別の方法として、パラメタの値を可逆変換アルゴリズムによる暗号化を行った値と置き換える方法(例えば、DES(Data Encryption Standard)、トリプルDES、AES(Advanced Encryption Standard)など)をとることもできる。この場合、情報秘匿プロキシ装置10内にパラメタの値と、置換後の値との対応情報を記録する必要がなくなる。つまり、ID情報104は不要となる。
【0068】
これにより、Webサービスの提供者側および利用者側のシステム環境に特殊な装置やプログラムの設置などの改修の必要なしに、Webサービス提供者側に対し情報を秘匿した状態で、ユーザは当該Webサービスを利用することができる。つまり、外部に公開したくない機密情報を、Webサービス提供側のWebサーバ30(およびその提供者)に渡すことなく、Webサービスを利用できる環境をユーザに提供できる。
さらに、情報秘匿プロキシ装置10を共有利用していない第三者が当該Webサービスを利用した場合にも、情報秘匿プロキシ装置10を利用しているユーザの登録した情報の閲覧を防止することができるので、Webサービス提供者だけでなく、第三者に対しても情報を秘匿する効果が得られる。したがって、ユーザは情報漏洩の心配なくWebサービスを利用でき、Webサービスの活用を促進することができる。
なお、本発明によれば、情報秘匿プロキシ装置を共有利用しているユーザ間であれば、ユーザが秘匿した情報も共有して閲覧可能となる。
【0069】
そして、本発明の第2実施形態によれば、リクエスト処理部101が、URL、メソッド、パラメタ毎に設定された処理内容に応じた処理を行うことで、情報を秘匿したまま、ユーザに入力された情報を元にWebサーバ30側で保持する他の情報との演算によってWebページを生成する機能を提供することができる。
【0070】
また、第3実施形態によれば、情報秘匿プロキシ装置10が、レスポンス処理設定情報105を用いて、Webサーバ30のWebアプリケーション31から受信した情報に基づいた処理を行うことで、秘匿したい情報をWebサーバ30に送信することなく、Webアプリケーション31で行うべき処理と同等の機能をユーザに提供することができる。
【0071】
さらに、第2実施形態および第3実施形態を組み合わせることで、本発明は様々なWebサービスに対応可能となる。
【0072】
また、第4実施形態によれば、情報秘匿プロキシ装置の機能を、Webクライアント20に備える構成をとることで、ユーザの状況に応じた形態をとることも可能である。
【0073】
なお、図1および図9に示す情報秘匿プロキシ装置10(10a)で実行されるリクエスト処理部101、レスポンス処理部102、処理設定情報103、ID情報104、レスポンス処理設定情報105などを、コンピュータにより読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、本発明の実施形態に係る情報秘匿システムが実現されるものとしてもよい。
【0074】
以上、本発明の好適な実施の形態について一例を示したが、本発明は前記実施の形態に限定されず、本発明の趣旨を逸脱しない範図で適宜変更が可能である。例えば、スケジュール管理サービスに限らず、メーラやTODO管理サービス、また、それらを複数組み合わせたWebサービスなどにおいて、本発明が適用されてもよい。
【図面の簡単な説明】
【0075】
【図1】本発明に係るWebサービスシステムの全体構成および情報秘匿プロキシ装置の機能構成を示す図
【図2】第1実施形態における処理設定情報の一例を示す図
【図3】第1実施形態におけるID情報の一例を示す図
【図4】第1実施形態におけるリクエスト処理部の処理フロー
【図5】リクエスト情報の一例を示す図
【図6】レスポンス情報の一例を示す図
【図7】第2実施形態における処理設定情報の一例を示す図
【図8】第2実施形態におけるリクエスト処理部の処理フロー
【図9】第3実施形態に係るWebサービスシステムの全体構成および情報秘匿プロキシ装置の機能構成を示す図
【図10】第3実施形態におけるレスポンス処理設定情報の一例を示す図
【符号の説明】
【0076】
10 情報秘匿プロキシ装置(情報秘匿装置)
20 Webクライアント(クライアント)
30 Webサーバ(サーバ)
101 リクエスト処理部
102 レスポンス処理部
103,103a,103b 処理設定情報
104,104a ID情報
105,105a レスポンス処理設定情報(処理定義情報)
【技術分野】
【0001】
本発明は、情報秘匿化方法、および情報秘匿装置に関する。
【背景技術】
【0002】
Web上のサービスの利用が広まるに従い、これまでクライアント装置上で実行するデスクトップアプリケーションとして実装されてきた、メーラ、スケジュール管理、TODO管理などの、企業内業務システムの多くがWeb情報サービス(Webサービス)として提供されはじめている。
【0003】
しかし、Webサービスを利用することで、個人のプライバシー情報や社内の営業情報などがWebサービス提供者側に漏洩してしまう問題がある。企業内の営業情報、企業活動において取得した顧客情報、営業戦略に関わる重要機密などの機密情報の漏洩対策は、企業にとって重要な課題であり、Webサービスとして提供されているWebアプリケーションを、企業の従業員が業務のために利用した場合、当該Webアプリケーションを提供しているWebサーバ(およびその提供者)に、入力した情報を渡すことになり、機密情報を漏洩することになってしまう。
【0004】
この問題に対処すべく、特許文献1には、サービスを提供するWebサービス提供装置および認証機関へのそれぞれの情報を送信する場合に行う暗号化、復号化に必要となるユーザの秘密鍵を格納する耐タンパ性記憶装置と、当該耐タンパ性記憶装置に格納されているユーザの秘密鍵により暗号化の処理を行うCPU(Central Processing Unit)を具備する装置によりユーザのプライバシー情報を保護する方法が記載されている。この方法によれば、ユーザにとって煩雑な処理操作を低減させ、秘密鍵などのユーザのプライバシー情報が第三者に獲得される危険性を低減することができる。
【0005】
また、特許文献2には、選択されたキーワードおよび選択された要素をそれぞれ秘密にして、送信された購入希望情報を受信すると、情報提供装置は購入希望情報および秘密鍵から送付鍵を計算して利用者端末に送信し、利用者端末は、送付鍵、選択された要素、複数の情報から、選択されたキーワードに対応する情報のみを復号化させる機能を備えたことにより、利用者が選択した情報(のアブストラクト)を情報提供者に秘匿した状態で、選択した情報の詳細を利用者に提供する方法が記載されている。この方法によれば、利用者は情報提供者にどの情報を必要としているのかを秘匿したまま、情報提供者から取得したい情報を獲得することができる。
【特許文献1】特開2003−304234号公報
【特許文献2】特開2006−39674号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
従来の技術では、サービス利用者側の装置やサービス提供者側の装置に、情報秘匿のための装置やプログラムを設置しなければならないという課題がある。また、情報秘匿の対象が認証処理の際に通信される情報であったり、取得したい情報を示す情報であったりと、限定された場面や情報を対象としているために、汎用的に活用できないという課題がある。
【0007】
本発明はこれらの課題に鑑みてなされたものであり、その目的は、サービス提供者側および利用者側のシステム環境の改修の必要なしに、サービスの利用者が提供者側に送信すべき情報を秘匿した状態で通常通りにサービスを利用可能とすることにある。
【課題を解決するための手段】
【0008】
前記課題を解決するためになされた本発明に係る情報秘匿化方法は、第一の情報を送信するクライアントと、Webアプリケーションを用いて前記第一の情報から第二の情報を生成して記憶装置に記憶し、前記クライアントからの要求に応じて前記記憶した第二の情報を前記クライアントへと送信するサーバとによるWeb情報サービスにおいて、前記サーバと前記クライアントとに接続可能にされる情報秘匿装置が、クライアントからWebブラウザを介してサーバへ送信するリクエスト情報(第一の情報)を受信し、それに含まれる秘匿化が必要な変換前の情報を秘匿化した変換後の情報に可逆的に変換してサーバに送信する。また、サーバからクライアントへ送信するレスポンス情報(第二の情報)を受信し、それに含まれる前記変換後の情報を、前記変換前の情報に置換してクライアントへ送信することを特徴とする。
その他の手段については、後記する実施の形態で述べる。
【発明の効果】
【0009】
本発明によれば、サービス提供者側および利用者側のシステム環境の改修の必要なしに、サービスの利用者が提供者側に送信すべき情報を秘匿した状態で通常通りにサービスを利用可能とすることができる。
【発明を実施するための最良の形態】
【0010】
以下、本発明を実施するための最良の形態(以下「実施形態」とする)について図面を参照しながら説明する。なお、本実施形態では、Web情報サービス(以下、「Webサービス」と適宜記載)の利用者としてのユーザが、一般的なコンピュータであるWebクライアントのWebブラウザを用いて、Webサーバの提供するWebアプリケーションの機能(Webサービス)を利用する場合を例として説明する。Webアプリケーションの機能(Webサービス)としては、メーラ、スケジュール管理、TODO管理などがあるが、本実施形態ではスケジュール管理を例に説明する。
【0011】
<第1実施形態>
図1により、本実施形態に係るWebサービスシステムの全体構成について説明する。
本実施形態に係るWebサービスシステムは、ネットワークに接続された複数の情報処理装置(10、20、30)を含んで構成される。
これらの情報処理装置(10、20、30)は、(1)クライアントのWebブラウザ21から、サーバであるWebサーバ30へ送信されるリクエスト情報(第一の情報)に含まれる秘匿化が必要な情報を記録したのちに変換し、変換したリクエスト情報をWebサーバ30に送信したり、Webサーバ30からWebブラウザ21に返信されるレスポンス情報(第二の情報)の一部を、記録に基づき置換し、置換したレスポンス情報をWebブラウザ21に送信したりすることで、Webブラウザ21から送信される秘匿化が必要な情報をWebサーバに直接提供せずにWebサーバ30の提供する機能をWebブラウザ21に提供する情報処理装置(以下、「情報秘匿プロキシ装置」と適宜記載)10、(2)Webサーバ30の提供する機能を利用するためにユーザが操作する、Webブラウザ21がインストールされた情報処理装置(以下、「Webクライアント」と適宜記載)20、(3)Webクライアント20のWebブラウザ21からのリクエスト情報に応じてWebアプリケーション31が生成したレスポンス情報をWebクライアント20に送信する情報処理装置(以下、「Webサーバ」と適宜記載)30が含まれている。
【0012】
なお、Webクライアント20は複数(例えばユーザの数だけ)存在しうるが、図1では説明のため1つだけ図示している。同様にWebサーバ30も複数存在しうるが、ここでは説明のために1つだけ図示している。また、各情報処理装置(10、20、30)はそれぞれの機能を実現するためのプログラムの実行に必要な通常のハードウェア構成(CPU、RAM(Random Access Memory)やROM(Read Only Memory)などのメモリ、プログラムがインストールされたハードディスクなど)を有している。
【0013】
以下、図1を参照しながら、情報秘匿プロキシ装置10の機能構成について説明する。
情報秘匿装置としての情報秘匿プロキシ装置10は、CPUが実現するリクエスト処理部101およびレスポンス処理部102と、ハードディスクに格納される処理設定情報103およびID情報104とから構成される。
リクエスト処理部101は、Webクライアント20からのWebサーバ30へのリクエスト情報(第一の情報)であるWebページの取得要求を受信し、処理設定情報103に設定されている情報に基づき当該取得要求に含まれる秘匿化が必要な情報をID情報104に記録した後に、所定の変換処理を行って更新したリクエスト情報をWebサーバ30に送信する。
レスポンス処理部102は、当該リクエスト情報に対して、Webサーバ30が返信するレスポンス情報(第二の情報)であるWebページを取得し、取得したWebページに含まれる秘匿化された情報をID情報104に従って置換処理を行い、更新したレスポンス情報をWebクライアント20に送信する。
このリクエスト処理部101およびレスポンス処理部102は、情報秘匿プロキシ装置10が備えるCPUによるプログラム実行処理などにより実現される。
【0014】
処理設定情報103は、Webクライアント20から送信されたリクエスト情報を受信した際のリクエスト処理部101の処理方法を設定した情報を保持するものであり、運用管理者などによって予め設定され、情報秘匿プロキシ装置10のハードディスクなどに格納される。図2は、処理設定情報の一例を示す図である。処理設定情報103a(103)は、リクエスト情報に含まれるURL(Uniform Resource Locator)、メソッド、パラメタ名に着目した処理の設定情報が格納されている。ここでは、Webブラウザ21のアクセス対象のURLが“http://foo.bar.com/calendar/add”でメソッドが“POST”のHTTP(HyperText Transfer Protocol)リクエストにおいて、パラメタ名が“Text”および“Content”である場合に変換処理を行うことが指定されている。
【0015】
図1に戻って、ID情報104は、Webクライアント20から送信されたリクエスト情報に含まれるリクエストパラメタの値を、リクエスト処理部101が生成したIDと対応付けて記録した情報である。図3はID情報の一例を示す図である。ID情報104a(104)は、リクエストパラメタの値に対して生成したID(詳細は図4において後記)、およびリクエストパラメタの値を記録した文字列値の情報を保持する形式をとっている。
【0016】
このような構成により、情報秘匿プロキシ装置10は、Webサーバ30のWebアプリケーション31が提供するサービスを利用するために必要な要求情報のうち秘匿化が必要な情報をWebサーバ30に送信せず、Webサーバ30を運営する者(個人や事業主など)に情報を秘匿した上で、Webサーバ30が提供する機能をWebクライアント20(を利用するユーザ)に提供する。なお、情報秘匿プロキシ装置10は、Webサービス提供側ネットワークシステム外(例えばサービスを利用するユーザがある企業の社員であれば、当該企業内のネットワークシステムなど)に設置することが好ましい。それにより、情報を外部に漏洩させないものとする。
【0017】
クライアントとしてのWebクライアント20は、Webサービスを利用するサービス利用側ネットワークシステム内に用いられ、Webサービスを利用するユーザが操作する一般的なコンピュータであり、Webブラウザ21を備える。ユーザがこのWebクライアント20を操作することで、リクエスト情報であるWebページの取得要求が情報秘匿プロキシ装置10を介してWebサーバ30に送信され、Webサーバ30から送信されてきたレスポンス情報であるWebページが情報秘匿プロキシ装置10を介してWebクライアント20に送信される。これにより、ユーザの要求したWebページが、Webクライアント20のWebブラウザ21上に表示されることとなる。
【0018】
サーバとしてのWebサーバ30は、Webサービスを提供するWebアプリケーション31を備え、サービス提供側ネットワークシステムに用いられる一般的なコンピュータである。本実施形態では、スケジュール管理を例として説明するので、Webアプリケーション31は、スケジュールの登録、閲覧、検索などの機能を有する。
Webサーバ30はWebクライアント20のWebブラウザ21を介して、スケジュールの登録用画面をユーザに提供し、ユーザがスケジュール情報を入力すると、Webサーバ30は入力されたスケジュール情報を自身の記憶部(記憶装置)に登録する。そして、Webクライアント20に表示されるスケジュールの閲覧用画面には、ユーザが登録したスケジュール情報を表示する。
【0019】
(リクエスト処理)
以下、図4のフローに従い、情報秘匿プロキシ装置のリクエスト処理部における処理手順を説明する。図4は、情報秘匿プロキシ装置10におけるリクエスト処理部101が、処理設定情報103に設定されている情報に基づき、Webクライアント20から送信されるリクエスト情報としてのWebページの取得要求を中継して変換し(ID化処理)、Webサーバ30に送信する際の処理のフローを詳細に示したものである。
情報秘匿プロキシ装置10がWebクライアント20から送信されるWebページの取得要求を受信すると、リクエスト処理部101が以下の処理を行う。ここでは、例として“2006/8/31 △△殿プレゼン”というスケジュール情報を登録することとし、Webページの取得要求の要求情報に該スケジュール情報が含まれているものとする。
【0020】
リクエスト処理部101は、情報秘匿プロキシ装置10が受信したWebページの取得要求に含まれる要求情報のHTMLソースコードを解析して、リクエストパラメタの要素があるか否かを判別する(S401)。
リクエスト処理部101は、リクエストパラメタの要素がある場合(S401→Yes)には、当該リクエストパラメタについてステップS402以降の処理を行い、リクエストパラメタの要素が無い場合、または当該要求情報のHTMLソースコードに含まれる全てのリクエストパラメタの要素についてステップS402以降の処理を行った場合(S401→No)には、ステップS405に進む。
【0021】
要素がある場合(S401→Yes)、リクエスト処理部101は、処理設定情報103と照合して、該リクエストパラメタが処理対象となっているか否かを判別する(S402)。つまり、該リクエストパラメタが、処理設定情報103に格納されているURL、メソッド、パラメタ名に該当するか否かを判別する、ということである。このステップS401,S402の処理により、該当するリクエストパラメタが検出される。例えば、図2に示す処理設定情報103aでは、アクセス先URLが“http://www.foo.bar.com/calendar/add”で、メソッドが“POST”である要求情報のうち、“Text”および“Content”のパラメタ名を持つリクエストパラメタが処理対象となっている。
該リクエストパラメタに対する処理の設定がない場合(S402→No)、リクエスト処理部101は、ステップS401の処理に戻り、次のリクエストパラメタの要素があるか否かを判別する。
【0022】
一方、該リクエストパラメタに対する処理の設定がある場合(S402→Yes)、リクエスト処理部101は、該リクエストパラメタの値に対するIDを生成し、生成したIDとリクエストパラメタの値とを、ID情報104に登録する(S403)。つまり、該リクエストパラメタの値(文字列値)と、当該生成されたIDとを対応させて1レコードとしてID情報104に記録する。
ここで生成するIDは、ID情報104に登録されるレコードを一意に決定できる情報であると同時に、Webサーバ30が提供するレスポンス情報のHTMLソースコードの文字列中に出現しないような文字列形式である必要がある。図3で示した例では、自然数を文字列化したものの前後に“[(]”および“[)]”を付加した文字列をIDとして用いており、自然数部分はレコードが増えるたびに1ずつ増加する方法をとっている。なお、このIDの情報は、自然数に限らず、各文字列値を一意に識別可能な情報であればよい。また、既に同じ文字列値がID情報104に登録されていた場合には、新たに登録せずに(ステップS403は実行せず)、当該レコードのIDを利用する。
【0023】
次に、リクエスト処理部101は、当該生成した(または、すでに当該文字列値が登録されていた場合は、該レコードの)IDを、元のリクエストパラメタの値の代わりに設定することで、リクエストパラメタの値を変換する(S404)。
【0024】
リクエスト処理部101は、このステップS401〜S404の処理を繰り返すことで、Webクライアント20から受信したリクエスト情報に含まれる全てのリクエストパラメタの値について、必要な変換処理を行う。なお、この変換処理を、以下「ID化処理」と呼ぶこともある。
【0025】
リクエスト処理部101は、ステップS401〜S404の処理でリクエストパラメタの変換処理がなされた要求情報を含むWebページの取得要求であるリクエスト情報を、Webサーバ30に送信する(S405)。
【0026】
図5はWebサービスシステムにおいて送受信される、リクエスト情報としてのWebページの取得要求の一例を示す図であり、WebクライアントのWebブラウザからWebサーバに送信される、リクエスト情報のHTMLソースコードの一例(一部)を示したものである。ここでは、例として“△△殿プレゼン”という情報をスケジュールに登録するものとする。
図5(a)は、Webブラウザから送信されて情報秘匿プロキシ装置が受信する、リクエスト処理部による変換処理前のリクエスト情報(HTTPリクエスト)のHTMLソースコードを示しており、図5(b)は情報秘匿プロキシ装置のリクエスト処理部による変換処理後のリクエスト情報(HTTPリクエスト)のHTMLソースコードを示している。なお、図5(a)、(b)で示される“Text”以下の情報(符号503,504)は、説明のため、URLエンコーディングせずに示している。
【0027】
前記したように、情報秘匿プロキシ装置10は、Webクライアント20からのリクエスト情報としてWebページの取得要求を受信すると、処理設定情報103を参照して、受信したリクエスト情報のHTMLソースコードに含まれるリクエストパラメタのうち、変換が必要なものを検出する。
例えば、図2の処理設定情報103aによれば、メソッドが“POST”でURLが“http://foo.bar.com/calendar/add”のWebページの取得要求において、パラメタ名が“Text”が指定されているので、図5(a)の符号501に示される情報から、メソッドおよびURLが該当することを判別し、さらに、符号502に示される“Text”を検出したら、符号503の情報“△△殿プレゼン”が、図5(b)の符号504に示されるように“[(]3[)]”と変換される(S404)。
【0028】
図5(b)のように変換されたリクエスト情報(Webページの取得要求)が、情報秘匿プロキシ装置10からWebサーバ30に送信される。つまり、Webサーバ30に“△△殿プレゼン”の情報が送信されることはなく、変換された情報“[(]3[)]”がWebサーバ30に送信される(S405)。また、ステップS403において、“[(]3[)]”と“△△殿プレゼン”の情報がID情報104に登録される(図3参照)。
【0029】
(レスポンス処理)
Webサーバ30は、情報秘匿プロキシ装置10から送信されたリクエスト情報であるWebページの取得要求を受信すると、Webアプリケーション31によってリクエスト情報に応じたWebページを生成し、Webクライアント20へ送信する。つまり、ユーザがWebブラウザ21上のスケジュール登録画面にてスケジュール情報を入力し、入力内容がWebクライアント20から情報秘匿プロキシ装置10を介してWebサーバ30に送信されると、Webサーバ30のWebアプリケーション31は、その内容を解析してスケジュール情報を登録し、既に登録されているスケジュール情報も含めたスケジュール情報閲覧画面を生成して、レスポンス情報としてWebクライアント20に返信するものとする。
【0030】
情報秘匿プロキシ装置10は、Webサーバ30からのレスポンス情報としてのWebページ(HTTPレスポンス)を受信すると、受信したレスポンス情報のHTMLソースコードを解析し、ID情報104に記録されているIDと一致する文字列を当該HTMLソースコードから検出する。そして、検出された文字列部分を、ID情報104で対応する文字列値(つまり、当該検出された文字列と同じIDを持つレコードの文字列値)と置換する(以下、「置換処理」または「ID復号化処理」と適宜記載)。この置換処理を、レスポンス処理部102は、当該受信したレスポンス情報(HTMLソースコード)全体に対して実行する。
【0031】
図6はWebサービスシステムにおいて送受信される、レスポンス情報としてのWebページの一例を示す図であり、WebサーバのWebアプリケーションからWebクライアントに送信される、レスポンス情報のHTMLソースコードの一例(一部)を示したものである。ここでは、例として“2006/08/30 特許打ち合わせ”、“2006/08/31 △△殿プレゼン”、“2006/09/01 ○○製品設計打ち合わせ”などのスケジュール情報がWebサーバ30の記憶部に登録されているものとし、これらの情報を、Webサーバ30のWebアプリケーション31が、Webクライアント20のWebブラウザ21にスケジュール閲覧画面として表示させるものとする。ただし、図6では、説明のために左端に行番号を付加している。
図6(a)は、Webアプリケーションから送信されて情報秘匿プロキシ装置が受信する、レスポンス処理部による置換処理前のレスポンス情報のHTMLソースコードを示しており、図6(b)は情報秘匿プロキシ装置のレスポンス処理部による置換処理後のレスポンス情報のHTMLソースコードを示している。
【0032】
以下、図6(a)のレスポンス情報を対象に、レスポンス処理部102が図3のID情報104aを参照して置換処理を行う処理を説明する。
【0033】
レスポンス処理部102は、図6(a)において、8,12,16行目の文字列が、図3に示すID情報104aに登録されているIDと一致していることを検出する。そして、検出した文字列と、それぞれ対応するID情報104aの文字列値とを置き換える。
つまり、ID情報104aに記録されている文字列値は、“特許打ち合わせ”、“○○製品設計打ち合わせ”、“△△殿プレゼン”であり、レスポンス情報内で対応するID文字列の箇所と置換すると、図6(b)のレスポンス情報のようになる。例えば、符号601で示される“[(]3[)]”の情報は、符号602で示される“△△殿プレゼン”に置換されて更新される、ということである。
【0034】
このような処理手順により、情報秘匿プロキシ装置10は、レスポンス情報のパラメタの値を、前記したリクエスト処理部101によって変換されたリクエスト情報の元のパラメタの値(すなわち、ID情報104に登録されている文字列値)に置き換えたHTMLソースコードを生成し、生成したHTMLソースコードを含むWebページをレスポンス情報としてWebクライアント20に送信する。
【0035】
本実施形態によれば、Webサービスシステム上のWebクライアント20およびWebサーバ30間に、Webクライアント20のプロキシサーバとして情報秘匿プロキシ装置10を備えることで、Webサーバ30側に公開したくない情報(前記の例では“特許打ち合わせ”、“○○製品設計打ち合わせ”、“△△殿プレゼン”などのスケジュール情報)を、直接Webサーバ30に送信せず、情報秘匿プロキシ装置10内にそれらの情報を記録しておき、変換した情報をWebサーバ30へ送信する。また、Webサーバ30からページを受信したときは、記録した情報を利用して元の情報に置き換えてから、Webクライアント20へ送信する。これにより、Webサーバ30のWebアプリケーション31が提供する機能(前記の例ではスケジュール管理のサービス)を利用しながら、情報を秘匿することができる。
【0036】
また、処理設定情報103の設定や、Webクライアント20のプロキシサーバの設定をユーザでなく運用管理者が行うことで、ユーザは情報秘匿プロキシ装置10の存在や処理を全く意識することなく、通常通りにWebサービスを利用することができる。
【0037】
<第2実施形態>
次に、本発明の第2実施形態を説明する。なお、第2実施形態に係るWebサービスシステムの全体構成は、第1実施形態の図1と同様であるため説明を省略する。
【0038】
第2実施形態では、第1実施形態に示したリクエスト処理部101の処理に加え、Webサーバ30のWebアプリケーション31が、ユーザに入力された情報を元にWebサーバ30側で保持する他の情報との演算によってWebページを生成するような機能を備えている場合に対応した情報秘匿プロキシ装置10の処理について説明する。
【0039】
具体的には、例えばスケジュール管理の機能を提供するWebアプリケーション31において、スケジュールの検索用画面でユーザに検索条件(検索文字列)を入力させ、検索条件に合致するスケジュールをWebサーバ30の記憶部に記憶されている情報から検索して、Webクライアント20のWebブラウザ21に検索結果を表示する、という機能がある。この機能をユーザが利用する場合、第1実施形態に示した処理フローを適用しても、Webサーバ30には、変換されたID文字列(例えば、“[(]3[)]”など)が登録されているだけなので、検索文字列(例えば、“△△殿プレゼン”)や、あるいは新たに生成したID文字列をそのままWebサーバ30に送信しても、意図した結果は得られない。
【0040】
Webサーバ30のこのような機能に対応するため、第2実施形態では、リクエスト処理部101が、ID情報104に登録されている文字列値を対象に検索を行い、その検索結果を用いて検索文字列を生成し、Webサーバ30に検索語として送信する。
【0041】
図7は、処理設定情報の一例を示す図であり、図2に示した処理設定情報103aと比較すると、新たに処理の項目が追加されている。この処理の項目により、受信したリクエスト情報に含まれるリクエストパラメタ毎に、リクエスト処理101が実施する処理が指定される。
図7に示した処理設定情報103bの例では、1レコード目、2レコード目に示すように、第1実施形態で説明したID化処理(ID生成、登録、変換の処理)をする場合は“ID化処理”と記述し、3レコード目に示すように、URL“http://www.foo.bar.com/calendar/search”、メソッド“GET”、パラメタ名“Query”の場合には、“検索文字列化処理”と記述する。つまり、本実施形態では、新たに追加した処理の情報に応じて処理方法を変更する。
【0042】
以下、図8の処理フローに従い、本実施形態におけるリクエスト処理部における処理手順を説明する。なお、図4に示した第1実施形態と同様の処理については、同じ符号を付し、説明を省略する。
【0043】
ステップS402で、該リクエストパラメタに対する処理の設定がある場合(S402→Yes)、リクエスト処理部101は、処理設定情報103b(図7参照)を参照して、URL、メソッド、パラメタ名が該当するリクエストパラメタに対し、設定された処理を検出する(S801)。
【0044】
検出した処理が“ID化処理”である場合(S801→ID化処理)、リクエスト処理部101は、前記した第1実施形態と同様の処理(S403,404)を行う。
【0045】
一方、検出した処理が“検索文字列化処理”である場合(S801→検索文字列化処理)、リクエスト処理部101は、当該リクエストパラメタの文字列値を含むレコードをID情報104から検索して、対応するIDを検出し(S802)、検出したIDを検索文字列として生成し(S803:OR条件として検索文字列を生成)、生成した検索文字列にパラメタ値を変換する(S804)ことで更新する。つまり、ステップS802で検出したIDを当該リクエストパラメタの値の代わりに設定するということである。なお、ステップS802で複数のレコードが検出された場合は、ステップS803で複数候補検索(OR条件)の検索文字列になるように各レコードのIDを空白文字などで連結した文字列を検索文字列として、当該リクエストパラメタの値に設定する。
【0046】
具体的に説明すると、例えば、ユーザの入力した検索値である当該リクエストパラメタの値が“打ち合わせ”であった場合、リクエスト処理部101は、図3のID情報104aから“特許打ち合わせ”および“○○製品設計打ち合わせ”の文字列を含む二つのレコードが検出される。そこで、検出されたレコードのIDを空白文字で連結した“[(]1[)] [(]2[)]”を当該リクエストパラメタの値として、元のリクエストパラメタの値“打ち合わせ”の代わりに設定する。
【0047】
なお、複数の単語をOR条件で検索する場合には、主要な検索サービス提供サイトでは複数の単語を空白文字列で連結した文字列を検索文字列として入力することから、本実施形態では例として空白文字列で複数の単語を連結する方法で説明したが、Webサーバ30が提供する検索機能が別方法で複数単語検索を入力させるものであれば、その方法に沿って検索文字列を生成する。
【0048】
図8に戻って、情報秘匿プロキシ装置10のリクエスト処理部101は、ステップS401〜S404およびステップS801〜S804の処理でリクエストパラメタの変換処理がなされた要求情報をもつWebページの取得要求をリクエスト情報として、第1実施形態と同様にWebサーバ30に送信する(S405)。
【0049】
第2実施形態によれば、情報秘匿プロキシ装置10は、ユーザの入力した情報を秘匿してWebサーバ30に登録し、登録した情報をユーザの入力した情報どおりに閲覧可能とするという第1実施形態で説明した機能を提供するだけでなく、情報を秘匿したまま、Webアプリケーション31に、ユーザに入力された情報を元にWebサーバ30側で保持する他の情報との演算(例えば、検索処理など)によってWebページを生成する機能があった場合でも、その機能を利用することができる。
【0050】
<第3実施形態>
次に、本発明の第3実施形態を説明する。
第3実施形態では、第1実施形態および第2実施形態に示したリクエスト処理部101の処理に加え、Webサーバ30のWebアプリケーション31が、ユーザに入力された情報に対応したWebページを生成するような機能を備えている場合に対応した情報秘匿プロキシ装置10の処理について説明する。
【0051】
第1実施形態では、Webサーバ30が生成したWebページのHTMLソースコードのうち、秘匿化が必要な文字列部分を、IDに変換することで、Webサーバ30側にはユーザが入力した文字列を送信せず、変換したIDのみを送信していながらも、ユーザは入力した文字列に基づいたWebページを閲覧することができた。しかし、例えばユーザに入力された文字列がURLを示す場合、Webサーバ30のWebアプリケーション31は、当該URLへのリンクを示すHTMLのアンカータグ(Aタグ)として表示するような処理を行う機能を備える場合がある。この場合、前記した第1実施形態の機能だけでは、Webサーバ30のページ生成機能によって、情報秘匿プロキシ装置10に変換されたURLの文字列がそのままWebページ上に表示されてしまうので、リンクが表示されない。
【0052】
つまり、Webサーバ30が、ユーザの入力した文字列を用いて何らかの変換処理を行った結果をWebページのHTMLソースコードの一部として利用するような機能を持つ場合は、単にユーザの入力した文字列とIDとの置換処理を行う方法では、Webサーバ30で通常生成されるWebページとは異なる結果が表示されることになる。
【0053】
そのため、第3実施形態では、レスポンス処理部102の置換処理(ID復号化処理)の後に、URLを示す文字列部分をアンカータグに変換する処理を行う。以下、その詳細を説明する。
【0054】
図9は、第3実施形態に係るWebサービスシステムの全体構成および情報秘匿プロキシ装置の機能構成を示す図である。これによれば、図1と異なる点として、情報秘匿プロキシ装置10内にハードディスクに格納されるレスポンス処理設定情報(処理定義情報)105が新たに配置されている。
レスポンス処理設定情報105は、Webサーバ30から受信したレスポンス情報に含まれる特定の情報と対応して、レスポンス処理部102が行う処理を記録する。
【0055】
図10はレスポンス処理設定情報の一例(一部)を示す図である。レスポンス処理設定情報105a(105)によれば、Webサーバ30からのレスポンス情報に含まれるURL(例えば、Webアプリケーション31に現在Webクライアント20がアクセスしている対象URL)が“http://www.foo.bar.com/calendar/view”(1レコード目)の場合、レスポンス処理部102は、前記した第1実施形態と同様の“ID復号化処理”を行うことを示している。また、対象URLが“http://www.foo.bar.com/blog”(2レコード目)の場合、“ID復号化処理”の処理の後に、“HTML化処理”として、URLを示す文字列部分をアンカータグに変換する処理を行うことを示している。
【0056】
第3実施形態におけるリクエスト処理部101の処理フローは、第1実施形態もしくは第2実施形態と同様である。
【0057】
第3実施形態におけるレスポンス処理部102の処理について説明する。
情報秘匿プロキシ装置10のレスポンス処理部102は、Webサーバ30から受信したレスポンス情報を解析して、現在アクセス中のURLに対する処理を、レスポンス処理設定情報105から検出する。以下、具体的に説明する。
ここでは、予めリクエスト処理部101のID化処理によって、ID情報104に、ID“[(]4[)]”、文字列値“http://www.foo.bar.com/link”のレコードが登録されており、ユーザがWebクライアント20を介してWebアプリケーション31のURL“http://www.foo.bar.com/blog”にアクセスした結果、Webサーバ30が返信したレスポンス情報(WebページのHTMLソースコード)に“[(]4[)]”という文字列が含まれていた場合を例として説明する。
【0058】
レスポンス処理部102は、受信したレスポンス情報に含まれるURL“http://www.foo.bar.com/blog”を検出する。そして、図9に示すレスポンス処理設定情報105aを参照して、当該レスポンス情報(HTMLソースコード)に対して実行する処理として“ID復号化処理”および“HTML化処理”を行うことを判別する。
まず“ID復号化処理”として、HTMLソースコードに含まれる“[(]4[)]”の部分を、ID情報104のレコードが保持する文字列値“http://www.foo.bar.com/link”に置換する。続いて“HTML化処理”として、当該置換結果の文字列(本例の場合、置換結果文字列の全体である“http://www.foo.bar.com/link”)がURLを示していることを検出し、検出したURLの文字列を、アンカータグを示す文字列“<A href=’http://www.foo.bar.com/link’>http://www.foo.bar.com/link</a>”に変換する。
【0059】
第3実施形態によれば、ユーザが入力した情報に対して何らかの処理(例えば、HTML化処理など)を行ったものをWebページとして返信するようなWebサービスに対しても、情報秘匿プロキシ装置10のレスポンス処理部102にWebサーバ30が備える処理と同様の機能を具備し、Webサーバ30から受信した情報に応じた処理をレスポンス処理設定情報105に設定しておくことで、対応可能である。つまり、情報秘匿プロキシ装置10が、レスポンス処理設定情報105の情報を用いて様々な処理を行うことで、秘匿したい情報をWebサーバ30に送信することなく、Webアプリケーション31で行うべき処理と同等の機能をユーザに提供することができる。
【0060】
なお、本実施形態では、レスポンス処理設定情報105に格納する情報をURLとして、レスポンス処理部102はURL毎に設定された処理を実行するものとして説明したが、URLに限らず、Webサーバ30から受信したWebページ情報の内容(タイトルやメッセージ本文など)を解析して得られる情報などを用いてもよく、必要な処理を特定できるものであればよい。
【0061】
<第4実施形態>
前記した第1〜第3実施形態では、図1および図9で示されるように、情報秘匿プロキシ装置10(10a)を、ネットワーク上のWebクライアント20とWebサーバ30との間に配置する構成をとっている。ここで、複数のWebクライアント20が、1つの情報秘匿プロキシ装置10に接続してWebブラウザ21を実行する場合、他のWebクライアント20から受信したリクエスト情報により生成され、登録されたID情報104を複数のWebクライアント20で共有することとなる。そのため、同じ情報秘匿プロキシ装置10に接続されるWebクライアント20同士であれば、他のWebクライアント20のスケジュール情報を(置換処理によって)閲覧することで情報共有が可能となる。
【0062】
しかし、ユーザが、情報秘匿プロキシ装置10を共有する他のWebクライアント20のユーザにもスケジュール情報を閲覧されたくない場合や、情報秘匿プロキシ装置10の運用管理者にも、ID情報104に格納される情報を秘匿したい場合も考えられる。その場合には、第4実施形態として、情報秘匿プロキシ装置10に備えられる機能を、Webクライアント20に備える構成をとることとしてもよい。具体的には、Webクライアント20上で機能するプロキシとして実装する方法や、Webブラウザ21の(拡張)機能として実装する方法がある。なお、この場合、Webクライアント20に機能追加が必要となる。
【0063】
また、処理設定情報103やID情報104を管理するための設定情報サーバを設置し、Webサービス利用時には、この設定情報サーバに情報秘匿プロキシ装置10またはWebクライアント20からアクセスする構成にしてもよい。これは、プロキシをWebクライアント20上に置く場合だけでなく、複数のプロキシ装置を配置する場合にも有効である。
【0064】
以上説明した本発明によれば、第一の情報を送信するWebクライアント20と、Webアプリケーション31を用いて前記第一の情報から第二の情報を生成して記憶装置に記憶し、前記Webクライアント20からの要求に応じて前記記憶した第二の情報を前記Webクライアント20へと送信するWebサーバ30とによるWeb情報サービスにおいて、前記Webサーバ30と前記Webクライアント20とに接続可能にされる情報秘匿プロキシ装置10が、両者の通信を仲介するプロキシ装置として作用する構成をとる。そして、情報秘匿プロキシ装置10は、Webクライアント20からWebサーバ30に送信されるリクエスト情報のうち予め定義されたパラメタの値を当該パラメタの値とは異なる値に可逆的に変換して更新し、更新したパラメタの値をもつ情報を、Webクライアント20が送信したリクエスト情報としてWebサーバ30に送信する。Webクライアント20から送信されたパラメタの値(変換前の情報)、および情報秘匿プロキシ装置10で前記パラメタと変換した値(変換後の情報)は、情報秘匿プロキシ装置10内にID情報104として記録しておく。
【0065】
リクエスト情報を受信したWebサーバ30は、Webアプリケーション31によりWebページを生成してWebクライアント20へレスポンス情報として送信する。このレスポンス情報を受け取った情報秘匿プロキシ装置10は、レスポンス情報のうち、前記リクエスト情報の変換処理の際に記録したパラメタの変換後の値(変換後の情報)と一致する箇所を検出し、検出した箇所を、ID情報104を用いて元の値(変換前の情報)と置換して更新する処理を行う。情報秘匿プロキシ装置10は、レスポンス情報のHTMLソースコード全体にわたり当該置換処理を行ったのち、HTMLソースコードをレスポンス情報としてWebクライアント20に送信する。
【0066】
なお、情報秘匿プロキシ装置10におけるパラメタの値を変換する値としては、Webサーバ30が生成するHTMLソースコード中に表れえない形式の文字列であり、元のパラメタの値に復元することのできる値であればよい。例えば、前記説明したように、置換処理の都度、1ずつ増加する自然数を示す文字列とその前後にWebサーバが生成するHTMLソースコード中に表れ得ない形式の文字列(例えば、“[(]”と“[)]”)を配置した文字列を利用する方法が考えられる。
【0067】
また、別の方法として、パラメタの値を可逆変換アルゴリズムによる暗号化を行った値と置き換える方法(例えば、DES(Data Encryption Standard)、トリプルDES、AES(Advanced Encryption Standard)など)をとることもできる。この場合、情報秘匿プロキシ装置10内にパラメタの値と、置換後の値との対応情報を記録する必要がなくなる。つまり、ID情報104は不要となる。
【0068】
これにより、Webサービスの提供者側および利用者側のシステム環境に特殊な装置やプログラムの設置などの改修の必要なしに、Webサービス提供者側に対し情報を秘匿した状態で、ユーザは当該Webサービスを利用することができる。つまり、外部に公開したくない機密情報を、Webサービス提供側のWebサーバ30(およびその提供者)に渡すことなく、Webサービスを利用できる環境をユーザに提供できる。
さらに、情報秘匿プロキシ装置10を共有利用していない第三者が当該Webサービスを利用した場合にも、情報秘匿プロキシ装置10を利用しているユーザの登録した情報の閲覧を防止することができるので、Webサービス提供者だけでなく、第三者に対しても情報を秘匿する効果が得られる。したがって、ユーザは情報漏洩の心配なくWebサービスを利用でき、Webサービスの活用を促進することができる。
なお、本発明によれば、情報秘匿プロキシ装置を共有利用しているユーザ間であれば、ユーザが秘匿した情報も共有して閲覧可能となる。
【0069】
そして、本発明の第2実施形態によれば、リクエスト処理部101が、URL、メソッド、パラメタ毎に設定された処理内容に応じた処理を行うことで、情報を秘匿したまま、ユーザに入力された情報を元にWebサーバ30側で保持する他の情報との演算によってWebページを生成する機能を提供することができる。
【0070】
また、第3実施形態によれば、情報秘匿プロキシ装置10が、レスポンス処理設定情報105を用いて、Webサーバ30のWebアプリケーション31から受信した情報に基づいた処理を行うことで、秘匿したい情報をWebサーバ30に送信することなく、Webアプリケーション31で行うべき処理と同等の機能をユーザに提供することができる。
【0071】
さらに、第2実施形態および第3実施形態を組み合わせることで、本発明は様々なWebサービスに対応可能となる。
【0072】
また、第4実施形態によれば、情報秘匿プロキシ装置の機能を、Webクライアント20に備える構成をとることで、ユーザの状況に応じた形態をとることも可能である。
【0073】
なお、図1および図9に示す情報秘匿プロキシ装置10(10a)で実行されるリクエスト処理部101、レスポンス処理部102、処理設定情報103、ID情報104、レスポンス処理設定情報105などを、コンピュータにより読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、本発明の実施形態に係る情報秘匿システムが実現されるものとしてもよい。
【0074】
以上、本発明の好適な実施の形態について一例を示したが、本発明は前記実施の形態に限定されず、本発明の趣旨を逸脱しない範図で適宜変更が可能である。例えば、スケジュール管理サービスに限らず、メーラやTODO管理サービス、また、それらを複数組み合わせたWebサービスなどにおいて、本発明が適用されてもよい。
【図面の簡単な説明】
【0075】
【図1】本発明に係るWebサービスシステムの全体構成および情報秘匿プロキシ装置の機能構成を示す図
【図2】第1実施形態における処理設定情報の一例を示す図
【図3】第1実施形態におけるID情報の一例を示す図
【図4】第1実施形態におけるリクエスト処理部の処理フロー
【図5】リクエスト情報の一例を示す図
【図6】レスポンス情報の一例を示す図
【図7】第2実施形態における処理設定情報の一例を示す図
【図8】第2実施形態におけるリクエスト処理部の処理フロー
【図9】第3実施形態に係るWebサービスシステムの全体構成および情報秘匿プロキシ装置の機能構成を示す図
【図10】第3実施形態におけるレスポンス処理設定情報の一例を示す図
【符号の説明】
【0076】
10 情報秘匿プロキシ装置(情報秘匿装置)
20 Webクライアント(クライアント)
30 Webサーバ(サーバ)
101 リクエスト処理部
102 レスポンス処理部
103,103a,103b 処理設定情報
104,104a ID情報
105,105a レスポンス処理設定情報(処理定義情報)
【特許請求の範囲】
【請求項1】
第一の情報を送信するクライアントと、Webアプリケーションを用いて前記第一の情報から第二の情報を生成して記憶装置に記憶し、前記クライアントからの要求に応じて前記記憶した第二の情報を前記クライアントへと送信するサーバとによるWeb情報サービスにおいて、前記サーバと前記クライアントとに接続可能にされる情報秘匿装置を用いて、前記Web情報サービスにて送受される情報の秘匿を行う、情報秘匿装置における情報秘匿化方法であって、
前記情報秘匿装置は、前記クライアントから前記サーバへと情報が送信される上り側の処理として、
前記クライアントからWebブラウザを介して前記サーバへ送信する第一の情報を受信し、前記第一の情報に含まれる秘匿化が必要な情報を、変換前の情報としてこれを検出する第1ステップと、
該検出した変換前の情報を、秘匿化した変換後の情報に可逆的に変換して、前記第一の情報を更新する第2ステップと、
前記更新した第一の情報を前記サーバへ送信する第3ステップとを実行し、
前記情報秘匿装置は、前記サーバから前記クライアントへと情報が送信される下り側の処理として、
前記サーバが前記Webアプリケーションを用いて生成した前記第一の情報に対応する第二の情報を、前記サーバから受信する第4ステップと、
前記サーバから受信した前記第二の情報に含まれる前記変換後の情報を検出する第5ステップと、
該検出した変換後の情報を前記変換前の情報に置換して前記第二の情報を更新する第6ステップと、
前記更新した第二の情報を前記クライアントへ送信する第7ステップとを実行する
ことを特徴とする情報秘匿化方法。
【請求項2】
前記情報秘匿装置は、
前記第2ステップを実行する際に、前記変換前の情報と前記変換後の情報とを対応付けて記憶部に記憶し、
前記第6ステップを実行する際に、前記記憶部の情報に基づいて、前記変換後の情報を前記変換前の情報に置換して前記第二の情報を更新する
ことを特徴とする請求項1に記載の情報秘匿化方法。
【請求項3】
前記情報秘匿装置は、
前記第2ステップを実行する際に、前記記憶部に記憶された前記変換前の情報および変換後の情報を用いて変換して前記第一の情報を更新する
ことを特徴とする請求項2に記載の情報秘匿化方法。
【請求項4】
前記情報秘匿装置は、
前記第2ステップを実行する際に、前記変換後の情報として前記変換前の情報を一意に識別するIDを用い、前記IDは、前記第一の情報および前記第二の情報で使用されない文字列を含んで構成される
ことを特徴とする請求項1に記載の情報秘匿化方法。
【請求項5】
前記情報秘匿装置は、
前記第2ステップを実行する際に、暗号化アルゴリズムを用いて前記変換前の情報を前記変換後の情報に変換して前記第一の情報を更新し、
前記第6ステップを実行する際に、復号化アルゴリズムを用いて前記変換後の情報を前記変換前の情報に置換して前記第二の情報を更新する
ことを特徴とする請求項1に記載の情報秘匿化方法。
【請求項6】
前記情報秘匿装置は、
前記第二の情報に対して行う処理と、該処理を特定する情報とが対応付けて格納された処理定義情報を備え、
前記第6ステップを実行した後に、前記第二の情報に含まれる前記処理を特定する情報を検出し、該検出された前記処理を特定する情報から、前記処理定義情報に基づいて前記第二の情報に対して行う処理を特定し、該特定した処理を前記第二の情報に対して行い、前記処理を行った第二の情報を前記クライアントへ送信する
ことを特徴とする請求項1ないし請求項4のいずれか一項に記載の情報秘匿化方法。
【請求項7】
第一の情報を送信するクライアントと、Webアプリケーションを用いて前記第一の情報から第二の情報を生成して記憶装置に記憶し、前記クライアントからの要求に応じて前記記憶した第二の情報を前記クライアントへと送信するサーバとによるWeb情報サービスにおいて、前記サーバと前記クライアントとに接続可能にされる情報秘匿装置であって、
前記クライアントから前記サーバへと情報が送信される上り側の処理として、前記クライアントからWebブラウザを介して前記サーバへ送信する第一の情報を受信し、前記第一の情報に含まれる秘匿化が必要な情報を、変換前の情報としてこれを検出し、該検出した変換前の情報を、秘匿化した変換後の情報に可逆的に変換して前記第一の情報を更新し、前記更新した第一の情報を前記サーバへ送信するリクエスト処理部と、
前記サーバから前記クライアントへと情報が送信される下り側の処理として、前記サーバが前記Webアプリケーションを用いて生成した前記第一の情報に対応する第二の情報を、前記サーバから受信し、前記サーバから受信した前記第二の情報に含まれる前記変換後の情報を検出し、該検出した変換後の情報を前記変換前の情報に置換して前記第二の情報を更新し、前記更新した第二の情報を前記クライアントへ送信するレスポンス処理部とを備える
ことを特徴とする情報秘匿装置。
【請求項1】
第一の情報を送信するクライアントと、Webアプリケーションを用いて前記第一の情報から第二の情報を生成して記憶装置に記憶し、前記クライアントからの要求に応じて前記記憶した第二の情報を前記クライアントへと送信するサーバとによるWeb情報サービスにおいて、前記サーバと前記クライアントとに接続可能にされる情報秘匿装置を用いて、前記Web情報サービスにて送受される情報の秘匿を行う、情報秘匿装置における情報秘匿化方法であって、
前記情報秘匿装置は、前記クライアントから前記サーバへと情報が送信される上り側の処理として、
前記クライアントからWebブラウザを介して前記サーバへ送信する第一の情報を受信し、前記第一の情報に含まれる秘匿化が必要な情報を、変換前の情報としてこれを検出する第1ステップと、
該検出した変換前の情報を、秘匿化した変換後の情報に可逆的に変換して、前記第一の情報を更新する第2ステップと、
前記更新した第一の情報を前記サーバへ送信する第3ステップとを実行し、
前記情報秘匿装置は、前記サーバから前記クライアントへと情報が送信される下り側の処理として、
前記サーバが前記Webアプリケーションを用いて生成した前記第一の情報に対応する第二の情報を、前記サーバから受信する第4ステップと、
前記サーバから受信した前記第二の情報に含まれる前記変換後の情報を検出する第5ステップと、
該検出した変換後の情報を前記変換前の情報に置換して前記第二の情報を更新する第6ステップと、
前記更新した第二の情報を前記クライアントへ送信する第7ステップとを実行する
ことを特徴とする情報秘匿化方法。
【請求項2】
前記情報秘匿装置は、
前記第2ステップを実行する際に、前記変換前の情報と前記変換後の情報とを対応付けて記憶部に記憶し、
前記第6ステップを実行する際に、前記記憶部の情報に基づいて、前記変換後の情報を前記変換前の情報に置換して前記第二の情報を更新する
ことを特徴とする請求項1に記載の情報秘匿化方法。
【請求項3】
前記情報秘匿装置は、
前記第2ステップを実行する際に、前記記憶部に記憶された前記変換前の情報および変換後の情報を用いて変換して前記第一の情報を更新する
ことを特徴とする請求項2に記載の情報秘匿化方法。
【請求項4】
前記情報秘匿装置は、
前記第2ステップを実行する際に、前記変換後の情報として前記変換前の情報を一意に識別するIDを用い、前記IDは、前記第一の情報および前記第二の情報で使用されない文字列を含んで構成される
ことを特徴とする請求項1に記載の情報秘匿化方法。
【請求項5】
前記情報秘匿装置は、
前記第2ステップを実行する際に、暗号化アルゴリズムを用いて前記変換前の情報を前記変換後の情報に変換して前記第一の情報を更新し、
前記第6ステップを実行する際に、復号化アルゴリズムを用いて前記変換後の情報を前記変換前の情報に置換して前記第二の情報を更新する
ことを特徴とする請求項1に記載の情報秘匿化方法。
【請求項6】
前記情報秘匿装置は、
前記第二の情報に対して行う処理と、該処理を特定する情報とが対応付けて格納された処理定義情報を備え、
前記第6ステップを実行した後に、前記第二の情報に含まれる前記処理を特定する情報を検出し、該検出された前記処理を特定する情報から、前記処理定義情報に基づいて前記第二の情報に対して行う処理を特定し、該特定した処理を前記第二の情報に対して行い、前記処理を行った第二の情報を前記クライアントへ送信する
ことを特徴とする請求項1ないし請求項4のいずれか一項に記載の情報秘匿化方法。
【請求項7】
第一の情報を送信するクライアントと、Webアプリケーションを用いて前記第一の情報から第二の情報を生成して記憶装置に記憶し、前記クライアントからの要求に応じて前記記憶した第二の情報を前記クライアントへと送信するサーバとによるWeb情報サービスにおいて、前記サーバと前記クライアントとに接続可能にされる情報秘匿装置であって、
前記クライアントから前記サーバへと情報が送信される上り側の処理として、前記クライアントからWebブラウザを介して前記サーバへ送信する第一の情報を受信し、前記第一の情報に含まれる秘匿化が必要な情報を、変換前の情報としてこれを検出し、該検出した変換前の情報を、秘匿化した変換後の情報に可逆的に変換して前記第一の情報を更新し、前記更新した第一の情報を前記サーバへ送信するリクエスト処理部と、
前記サーバから前記クライアントへと情報が送信される下り側の処理として、前記サーバが前記Webアプリケーションを用いて生成した前記第一の情報に対応する第二の情報を、前記サーバから受信し、前記サーバから受信した前記第二の情報に含まれる前記変換後の情報を検出し、該検出した変換後の情報を前記変換前の情報に置換して前記第二の情報を更新し、前記更新した第二の情報を前記クライアントへ送信するレスポンス処理部とを備える
ことを特徴とする情報秘匿装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【公開番号】特開2008−177821(P2008−177821A)
【公開日】平成20年7月31日(2008.7.31)
【国際特許分類】
【出願番号】特願2007−8897(P2007−8897)
【出願日】平成19年1月18日(2007.1.18)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
【公開日】平成20年7月31日(2008.7.31)
【国際特許分類】
【出願日】平成19年1月18日(2007.1.18)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
[ Back to top ]