(57)【要約】【課題】  クライアント装置に特殊な機能を追加することなく、ゲートウェイサーバ装置において、Ｅｎｄ−Ｅｎｄ暗号化通信に対する付加価値処理を可能にし、フレキシブルな暗号化通信の中継方法を実現する。【解決手段】  ゲートウェイサーバ装置３０は、一時的な暗号通信中継許可証およびその対の秘密鍵を生成し、それらを用いてクライアント装置１０とゲートウェイサーバ装置３０との間で暗号化通信を行う。そのとき、暗号通信中継許可証、秘密鍵、クライアント装置１０のＩＰアドレス、コンテンツサーバ名、通信方法等をデータベースサーバ４０に登録する。そして、コンテンツサーバ装置２０との間で、暗号化通信を行う。従って、ゲートウェイサーバ装置３０において、暗号化通信がいったん終端されるので、そこで種々の付加価値処理を行うことができるようになる。【選択図】      図１
2006165678.tif 000002
【特許請求の範囲】
【請求項１】
利用者のコンテンツ情報のアクセス要求を受け付け、そのアクセス要求に基づくアクセス要求メッセージをネットワークへ送信するクライアント装置と、前記クライアント装置から前記ネットワークを介して送信される前記アクセス要求メッセージを受信し、前記アクセス要求メッセージが示すコンテンツ情報を前記クライアント装置へ送信するコンテンツサーバ装置との間で行われる暗号化通信を中継するゲートウェイサーバ装置における暗号化通信の中継方法であって、
前記ゲートウェイサーバ装置が、
前記クライアント装置から前記コンテンツサーバ装置への暗号化通信接続メッセージを受信する第１のステップと、
前記接続メッセージに含まれる宛先サーバ名のコンテンツサーバ装置に対する一時的な暗号通信中継許可証およびその対となる秘密鍵を生成する第２のステップと、
前記一時的な暗号通信中継許可証を前記クライアント装置に送信する第３のステップと、
前記クライアント装置との間でＥｎｄ−Ｅｎｄ暗号化通信を行い、そのクライアント装置が送信する暗号化されたアクセス要求メッセージを受信し、その暗号化されたアクセス要求メッセージを復号化して平文のアクセス要求メッセージに変換する第４のステップと、
前記平文のアクセス要求メッセージの内容に応じて前記コンテンツサーバ装置とＥｎｄ−Ｅｎｄ暗号化通信を行い、前記アクセス要求メッセージが指示するコンテンツ情報を取得する第５のステップと、
前記取得したコンテンツ情報およびその通信ヘッダに対して付加価値処理を行い、その付加価値処理された前記コンテンツ情報およびその通信ヘッダを暗号化して前記クライアント装置へ送信する第６のステップと
を実行することを特徴とする暗号化通信の中継方法。
【請求項２】
利用者のコンテンツ情報のアクセス要求を受け付け、そのアクセス要求に基づくアクセス要求メッセージをネットワークへ送信するクライアント装置と、前記クライアント装置から前記ネットワークを介して送信される前記アクセス要求メッセージを受信し、前記アクセス要求メッセージが示すコンテンツ情報を前記クライアント装置へ送信するコンテンツサーバ装置との間で行われる暗号化通信を中継するゲートウェイサーバ装置における暗号化通信の中継方法であって、
前記ゲートウェイサーバ装置が、
一時的な暗号通信中継許可証と、その対となる秘密鍵と、その有効期限とを、暗号化通信接続メッセージに含まれる宛先サーバ名、送信元クライアント装置のＩＰアドレス、暗号化通信方法名のいずれかまたはそのすべてを登録するデータベースを備え、
前記クライアント装置から前記コンテンツサーバ装置への暗号化通信接続メッセージを受信する第１のステップと、
前記暗号化通信接続メッセージに含まれる宛先サーバ名、送信元クライアント装置のＩＰアドレスのいずれかまたはその両方を検索キーとして前記データベースを検索し、その結果、
前記検索キーに適合する登録情報が存在し、その登録情報に含まれる有効期限が有効期間内である場合には、
前記登録情報から前記宛先サーバ名のコンテンツサーバ装置に対する一時的な暗号通信中継許可証およびその対となる秘密鍵を読み出し、
前記検索キーに適合する登録情報が存在しない場合、または、前記検索キーに適合する登録情報が存在しても、その登録情報に含まれる有効期限が切れている場合には、
前記暗号化通信接続メッセージに含まれる宛先サーバ名のコンテンツサーバ装置に対する一時的な暗号通信中継許可証およびその対となる秘密鍵を生成し、前記生成した一時的な暗号通信中継許可証と、その対となる秘密鍵と、その有効期限とを、前記暗号化通信接続メッセージに含まれる宛先サーバ名、送信元クライアント装置のＩＰアドレス、暗号化通信方法名のいずれかまたはそのすべてを前記データベースに登録する第７のステップと、
前記一時的な暗号通信中継許可証を前記クライアント装置に送信する第３のステップと、
前記クライアント装置との間でＥｎｄ−Ｅｎｄ暗号化通信を行い、そのクライアント装置が送信する暗号化されたアクセス要求メッセージを受信し、その暗号化されたアクセス要求メッセージを復号化して平文のアクセス要求メッセージに変換する第４のステップと、
前記平文のアクセス要求メッセージの内容に応じて前記コンテンツサーバ装置とＥｎｄ−Ｅｎｄ暗号化通信を行い、前記アクセス要求メッセージが指示するコンテンツ情報を取得する第５のステップと、
前記取得したコンテンツ情報およびその通信ヘッダに対して付加価値処理を行い、その付加価値処理された前記コンテンツ情報およびその通信ヘッダを暗号化して前記クライアント装置へ送信する第６のステップと
を実行すること特徴とする暗号化通信の中継方法。
【請求項３】
請求項２に記載の暗号化通信の中継方法において、
前記データベースが、前記ゲートウェイサーバ装置とは異なる他の情報処理装置上に構成されたデータベースであること
を特徴とする暗号化通信の中継方法。
【請求項４】
請求項１ないし請求項３のいずれかの一項に記載の暗号化通信の中継方法において、
前記ゲートウェイサーバ装置は、前記第１のステップを実行後に、さらに、
前記クライアント装置から送信される暗号化されたアクセス要求メッセージを復号化して平文のアクセス要求メッセージに変換することに対する前記クライアント装置の利用者の同意を得るための同意確認表示情報を、前記クライアント装置に送信し、前記利用者の同意確認を意味するアクセス要求を前記クライアント装置から受信した場合には、前記暗号通信中継許可証を検証するためのルート認証局証明書を前記クライアント装置に送信する第８のステップ
を実行すること特徴とする暗号化通信の中継方法。
【請求項５】
請求項１ないし請求項４のいずれかの一項に記載の暗号化通信の中継方法において、
前記ゲートウェイサーバ装置は、
前記第５のステップにおいて、前記コンテンツサーバ装置がクライアント認証を行うときに、前記クライアント装置が送信したクライアント証明書の代わりに、前記クライアント装置をグループ化し、そのグループに応じて生成したクライアント代理証明書を送信すること
を特徴とする暗号化通信の中継方法。
【請求項６】
利用者のコンテンツ情報のアクセス要求を受け付け、そのアクセス要求に基づくアクセス要求メッセージをネットワークへ送信するクライアント装置と、前記クライアント装置から前記ネットワークを介して送信される前記アクセス要求メッセージを受信し、前記アクセス要求メッセージが示すコンテンツ情報を前記クライアント装置へ送信するコンテンツサーバ装置との間で行われる暗号化通信を中継するゲートウェイサーバ装置であって、
前記ゲートウェイサーバ装置は、
前記クライアント装置から前記コンテンツサーバ装置への暗号化通信接続メッセージを受信する第１の手段と、
前記接続メッセージに含まれる宛先サーバ名のコンテンツサーバ装置に対する一時的な暗号通信中継許可証およびその対となる秘密鍵を生成する第２の手段と、
前記一時的な暗号通信中継許可証を前記クライアント装置に送信する第３の手段と、
前記クライアント装置との間でＥｎｄ−Ｅｎｄ暗号化通信を行い、そのクライアント装置が送信する暗号化されたアクセス要求メッセージを受信し、その暗号化されたアクセス要求メッセージを復号化して平文のアクセス要求メッセージに変換する第４の手段と、
前記平文のアクセス要求メッセージの内容に応じて前記コンテンツサーバ装置とＥｎｄ−Ｅｎｄ暗号化通信を行い、前記アクセス要求メッセージが指示するコンテンツ情報を取得する第５の手段と、
前記取得したコンテンツ情報およびその通信ヘッダに対して付加価値処理を行い、その付加価値処理された前記コンテンツ情報およびその通信ヘッダを暗号化して前記クライアント装置へ送信する第６の手段とを備えること
を特徴とするゲートウェイサーバ装置。
【請求項７】
利用者のコンテンツ情報のアクセス要求を受け付け、そのアクセス要求に基づくアクセス要求メッセージをネットワークへ送信するクライアント装置と、前記クライアント装置から前記ネットワークを介して送信される前記アクセス要求メッセージを受信し、前記アクセス要求メッセージが示すコンテンツ情報を前記クライアント装置へ送信するコンテンツサーバ装置との間で行われる暗号化通信を中継するゲートウェイサーバ装置であって、
前記ゲートウェイサーバ装置は、
一時的な暗号通信中継許可証と、その対となる秘密鍵と、その有効期限とを、前記暗号化通信接続メッセージに含まれる宛先サーバ名、送信元クライアント装置のＩＰアドレス、暗号化通信方法名のいずれかまたはそのすべてを登録するデータベースを備え、
前記クライアント装置から前記コンテンツサーバ装置への暗号化通信接続メッセージを受信する第１の手段と、
前記暗号化通信接続メッセージに含まれる宛先サーバ名、送信元クライアント装置のＩＰアドレスのいずれかまたはその両方を検索キーとして前記データベースを検索し、その結果、
前記検索キーに適合する登録情報が存在し、その登録情報に含まれる有効期限が有効期間内である場合には、
前記登録情報から前記宛先サーバ名のコンテンツサーバ装置に対する一時的な暗号通信中継許可証およびその対となる秘密鍵を読み出し、
前記検索キーに適合する登録情報が存在しない場合、または、前記検索キーに適合する登録情報が存在しても、その登録情報に含まれる有効期限が切れている場合には、
前記暗号化通信接続メッセージに含まれる宛先サーバ名のコンテンツサーバ装置に対する一時的な暗号通信中継許可証およびその対となる秘密鍵を生成し、前記生成した一時的な暗号通信中継許可証と、その対となる秘密鍵と、その有効期限とを、前記暗号化通信接続メッセージに含まれる宛先サーバ名、送信元クライアント装置のＩＰアドレス、暗号化通信方法名のいずれかまたはそのすべてを前記データベースに登録する第７の手段と、
前記一時的な暗号通信中継許可証を前記クライアント装置に送信する第３の手段と、
前記クライアント装置との間でＥｎｄ−Ｅｎｄ暗号化通信を行い、そのクライアント装置が送信する暗号化されたアクセス要求メッセージを受信し、その暗号化されたアクセス要求メッセージを復号化して平文のアクセス要求メッセージに変換する第４の手段と、
前記平文のアクセス要求メッセージの内容に応じて前記コンテンツサーバ装置とＥｎｄ−Ｅｎｄ暗号化通信を行い、前記アクセス要求メッセージが指示するコンテンツ情報を取得する第５の手段と、
前記取得したコンテンツ情報およびその通信ヘッダに対して付加価値処理を行い、その付加価値処理された前記コンテンツ情報およびその通信ヘッダを暗号化して前記クライアント装置へ送信する第６の手段とを備えること
を特徴とするゲートウェイサーバ装置。
【請求項８】
請求項７に記載のゲートウェイサーバ装置において、
前記データベースが、前記ゲートウェイサーバ装置とは異なる他の情報処理装置上に構成されたデータベースであること
を特徴とするゲートウェイサーバ装置。
【請求項９】
請求項６ないし請求項８のいずれかの一項に記載のゲートウェイサーバ装置において、
前記ゲートウェイサーバ装置は、さらに、
前記クライアント装置から送信される暗号化されたアクセス要求メッセージを復号化して平文のアクセス要求メッセージに変換することに対する前記クライアント装置の利用者の同意を得るための同意確認表示情報を、前記クライアント装置に送信し、前記利用者の同意確認を意味するアクセス要求を前記クライアント装置から受信した場合には、前記暗号通信中継許可証を検証するためのルート認証局証明書を前記クライアント装置に送信する第８の手段を備えること
を特徴とするゲートウェイサーバ装置。
【請求項１０】
請求項６ないし請求項９のいずれかの一項に記載のゲートウェイサーバ装置において、
前記ゲートウェイサーバ装置は、
前記第５の手段は、前記コンテンツサーバ装置がクライアント認証を行うときに、前記クライアント装置が送信したクライアント証明書の代わりに、前記クライアント装置をグループ化し、そのグループに応じて生成したクライアント代理証明書を送信すること
を特徴とするゲートウェイサーバ装置。
【請求項１１】
請求項１ないし請求項５のいずれかの一項に記載の暗号化通信の中継方法をコンピュータに実行させるためのプログラムであることを特徴とする暗号化通信の中継プログラム。
【請求項１２】
請求項１１に記載のプログラムをコンピュータ読み取り可能な可搬記憶媒体に記憶したことを特徴とする暗号化通信の中継プログラム記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号化通信の中継方法、暗号化通信を中継するゲートウェイサーバ装置、暗号化通信のプログラムおよび暗号化通信のプログラム記憶媒体に関する。
【背景技術】
【０００２】
インターネットに代表されるネットワークは、そのネットワークを流れる通信データにとって、必ずしも安全なものではなく、様々な危険性が存在する。その一つは、盗聴である。例えば、悪意のある者は、特殊なソフトウェアやハードウェアを用いれば、ネットワークを流れる情報を盗聴することにより、例えば、オンラインショッピング時に送信される他人のクレジット番号等の個人情報を不正に入手することができる。また、サーバのなりすましの問題がある。第三者が既存のオンラインショップになりすまして、ダミーの注文ページを用意し、利用者が偽ショップだと気付かずにクレジット番号等の個人情報を入力すれば、クレジット番号等が不正に入手される。
【０００３】
このような盗聴やサーバのなりすましの問題を解決し、安全な通信を実現するための技術として、ＳＳＬ（Secure Socket Layer）や、その後継であるＴＬＳ（Transport Layer Security）に基づいた暗号化通信がある。これらの暗号化通信の方法によれば、例えば、暗号化通信を行うＷｅｂサーバとＷｅｂブラウザとは、まず、その間で暗号鍵の交換等のハンドシェイクを行う。そして、その後の通信を暗号化された通信によって行う。従って、ネットワークの途中に存在する中継装置等においては、その通信内容を復号化することができない。このようにして、第三者による盗聴等を防ぐことができる。
【０００４】
ところが、以上のような送信者と受信者だけが解読可能な暗号化通信（以下、Ｅｎｄ−Ｅｎｄ暗号化通信という）は、通信される情報の安全は確保される一方で、以下に説明する問題を生じる。
【０００５】
ゲートウェイサーバ装置は、イントラネットとインターネットとを接続するとともに、その間の通信を中継する中継装置の一つである。そして、イントラネットからインターネットへ、例えば、企業の秘密文書等が流出していないか、あるいは、インターネットからイントラネットへウイルスやその他の有害な情報が流入していないか等を監視する機能を備える。また、ゲートウェイサーバ装置は、イントラネットとインターネットとの間での通信データのフォーマット変換等のサービスを行う機能を備える。このような通信データの監視やフォーマット変換等は、しばしば、付加価値処理と呼ばれ、ゲートウェイサーバ装置の機能の一部として定着してきている。また、このような付加価値処理は、インターネット接続サービスを提供するＩＳＰ（Internet Service Provider）においては、商業的なサービスとして行われるようになってきている。
【０００６】
しかしながら、ゲートウェイサーバ装置は、このような付加価値処理のサービスを、ＳＳＬ等のＥｎｄ−Ｅｎｄ暗号化通信に対して提供することができない。ゲートウェイサーバ装置やＩＳＰサーバであっても、Ｅｎｄ−Ｅｎｄ暗号化通信における暗号を解読することはできず、その通信内容を知ることができないからである。これでは、ゲートウェイサーバ装置は、悪意ある第三者がＳＳＬ暗号化通信により送信するウイルスやその他の有害な情報を遮断することはできないし、ＳＳＬ暗号化通信により秘密文書がイントラネット外に流出することを阻止することもできない。
【０００７】
この問題を解決したとするソフトウェア製品が、WebWasher社からSSL Scannerという名称で販売されている。そのパンフレット（非特許文献１参照）によれば、SSL Scannerは、ゲートウェイサーバ装置等にインストールされて、Ｗｅｂサーバ（コンテンツサーバ装置）とＷｅｂクライアント（クライアント装置のブラウザ）と間のＳＳＬ暗号化通信を監視し、暗号化データの復号化を行う通信中継ソフトウェアである。すなわち、SSL Scannerは、ＳＳＬ暗号化通信の暗号化文をいったん平文へ変換し、平文としてウイルスチェック等の付加価値処理を加えることができるようにする。
【０００８】
非特許文献１には、SSL ScannerがＳＳＬ暗号化通信の途中に割って入ることを可能にするための方法や手段については、詳細な説明はなされていないが、次のような方法によるものと推測される。まず、SSL Scannerの運用管理者は、SSL ScannerのルートＣＡ（Certificate Authority）証明書をユーザに配布し、ブラウザにその証明書をインストールさせる。そして、ブラウザとＷｅｂサーバ間でＳＳＬ暗号化通信を行う際には、ＳＳＬハンドシェイク時に、SSL Scannerがサーバ証明書をブラウザに送信することによって、SSL Scannerとブラウザ間でＳＳＬ暗号化通信を行う。
【０００９】
ゲートウェイサーバ装置において暗号通信文を復号化し、復号化した平文の通信文に対して付加価値処理を行う例は、携帯電話等を用いた移動体通信においても存在する。移動体のデータ通信方法を標準化する標準化団体ＯＭＡ（Open Mobile Alliance）は、ＷＡＰ（Wireless Application Protocol）バージョン１で、ＷＡＰブラウザとゲートウェイサーバ装置との間での暗号化通信を可能にするためのＷＴＬＳ（Wireless Transport Layer Security）仕様（非特許文献２参照）を定めている。このＷＡＰバージョン1によれば、携帯電話等の移動体端末装置上のＷＡＰブラウザは、携帯電話等とインターネットを接続するゲートウェイサーバ装置との間でＷＴＬＳによる暗号化通信を行い、ゲートウェイサーバ装置とＷｅｂ（ＷＡＰ）サーバとの間でＳＳＬ暗号化通信を行うとしている。
【００１０】
この場合、ゲートウェイサーバ装置は、双方の暗号化通信文を中継するために、それぞれの暗号通信文をいったん平文に復号化する。従って、ゲートウェイサーバ装置は、ＷＡＰ仕様の暗号通信文に対して自由に付加価値処理を行うことができる。現実にも、例えば、携帯電話向けシステムでは、ゲートウェイサーバ装置が通信中のＨＴＴＰヘッダに特殊なヘッダを付加する等の付加価値処理を行っている。
【非特許文献１】“製品情報Webwasher SSL Scanner”, [online], [平成１６年８月６日検索], インターネット＜http://www.webwasher.jp/pro#sslscanner.html＞
【非特許文献２】“Wireless Transport Layer Security”, [online], ２００１年４月, Wireless Application Protocol Forum, Ltd, [平成１６年８月６日検索], インターネット＜http://www.openmobilealliance.org/tech/affiliates/wap/wap-261-wtls-20010406-a.pdf＞
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、SSL Scannerは、ＳＳＬ暗号化通信を行っているコンテンツサーバ装置やクライアント端末装置を特定せずに、ＳＳＬ暗号化通信文を平文に変換し、必要に応じて、付加価値処理を行っている。そのため、SSL Scannerでは、ＳＳＬ暗号化通信を行っているコンテンツサーバ装置やクライアント端末装置ごとに、その通信方法の設定を変更したり、実行する付加価値処理を設定したりすることはできない。また、ＷＴＬＳ暗号化通信は、一般的に普及している方法ではないので、クライアント装置のＷＥＢブラウザにＷＴＬＳ暗号化通信を可能にする機能を追加する必要があるという問題がある。
【００１２】
以上の従来技術の問題点に鑑み、本発明の目的は、クライアント装置のＷＥＢブラウザに特殊な機能を追加することなく、ゲートウェイサーバ装置において、Ｅｎｄ−Ｅｎｄ暗号化通信に対する付加価値処理を行うことができるようにし、さらに、コンテンツサーバ装置およびクライアント装置に応じて、その通信方法の設定を変更したり、実行する付加価値処理を設定したりすることを可能にするゲートウェイサーバ装置、並びに、暗号化通信の中継方法、プログラムおよびプログラム記憶媒体を提供することにある。
【課題を解決するための手段】
【００１３】
前記の課題を解決するために、本発明のゲートウェイサーバ装置における暗号化通信の中継方法は、利用者のコンテンツ情報のアクセス要求を受け付け、そのアクセス要求に基づくアクセス要求メッセージをネットワークへ送信するクライアント装置と、そのクライアント装置からネットワークを介して送信されるアクセス要求メッセージを受信し、そのアクセス要求メッセージが示すコンテンツ情報をクライアント装置へ送信するコンテンツサーバ装置との間で行われる暗号化通信を中継するゲートウェイサーバ装置における暗号化通信の中継方法であって、そのゲートウェイサーバ装置が、クライアント装置からコンテンツサーバ装置への暗号化通信のための接続メッセージを受信する第１のステップと、その接続メッセージに含まれる宛先サーバ名のコンテンツサーバ装置に対する一時的な暗号通信中継許可証およびその対となる秘密鍵を生成する第２のステップと、その一時的な暗号通信中継許可証をクライアント装置に送信する第３のステップと、クライアント装置との間でＥｎｄ−Ｅｎｄ暗号化通信を行い、そのクライアント装置が送信する暗号化されたアクセス要求メッセージを受信し、暗号化されたアクセス要求メッセージを復号化して平文のアクセス要求メッセージに変換する第４のステップと、その平文のアクセス要求メッセージの内容に応じてコンテンツサーバ装置とＥｎｄ−Ｅｎｄ暗号化通信を行い、アクセス要求メッセージが指示するコンテンツ情報を取得する第５のステップと、その取得したコンテンツ情報およびその通信ヘッダに対して付加価値処理を行い、その付加価値処理されたコンテンツ情報およびその通信ヘッダを暗号化してクライアント装置へ送信する第６のステップとを実行することを特徴とする。
【００１４】
本発明によれば、ゲートウェイサーバ装置は、クライアント装置がコンテンツサーバ装置へ送信する暗号化通信のための接続メッセージを受信し、クライアント装置に対する一時的な暗号通信中継許可証およびその対となる秘密鍵を生成するので、クライアント装置とゲートウェイサーバ装置との間でＥｎｄ−Ｅｎｄ暗号化通信を行うことができるようになる。また、ゲートウェイサーバ装置は、クライアント装置から送信されたコンテンツサーバ装置に対するアクセス要求に基づき、コンテンツサーバ装置との間でＥｎｄ−Ｅｎｄ暗号化通信を行い、クライアント装置が求めるコンテンツ方法を取得することができる。すなわち、本発明においては、クライアント装置とコンテンツサーバ装置との間で行われる暗号化通信は、いったん、クライアント装置とゲートウェイサーバ装置との間の暗号化通信で終端される。従って、終端されたゲートウェイサーバ装置においては、暗号化通信のメッセージは、平文化されるので、平文化されたメッセージに対して種々の付加価値処理を行うことができるようになる。
【００１５】
また、本発明においては、クライアント装置とゲートウェイサーバ装置との間、および、ゲートウェイサーバ装置とコンテンツサーバ装置との間の通信は、それぞれ、Ｅｎｄ−Ｅｎｄ暗号化通信で行っている。従って、それらの間がネットワーク接続されていても情報のセキュリティを保つことができる。
【００１６】
本発明の他の暗号化通信の中継方法は、前記の暗号化通信の中継方法において、ゲートウェイサーバ装置が、一時的な暗号通信中継許可証と、その対となる秘密鍵と、その有効期限とを、前記暗号化通信接続メッセージに含まれる宛先サーバ名、送信元クライアント装置のＩＰアドレス、暗号化通信方法名のいずれかまたはそのすべてを登録するデータベースを備え、前記第２のステップの代わりに、前記暗号化通信接続メッセージに含まれる宛先サーバ名、送信元クライアント装置のＩＰアドレスのいずれかまたはその両方を検索キーとしてそのデータベースを検索し、その結果、前記検索キーに適合する登録情報が存在し、その登録情報に含まれる有効期限が有効期間内である場合には、その登録情報から前記宛先サーバ名のコンテンツサーバ装置に対する一時的な暗号通信中継許可証およびその対となる秘密鍵を読み出し、前記検索キーに適合する登録情報が存在しない場合、または、前記検索キーに適合する登録情報が存在しても、その登録情報に含まれる有効期限が切れている場合には、前記暗号化通信接続メッセージに含まれる宛先サーバ名のコンテンツサーバ装置に対する一時的な暗号通信中継許可証およびその対となる秘密鍵を生成し、前記生成した一時的な暗号通信中継許可証と、その対となる秘密鍵と、その有効期限とを、前記暗号化通信接続メッセージに含まれる宛先サーバ名、送信元クライアント装置のＩＰアドレス、暗号化通信方法名のいずれかまたはそのすべてを前記データベースに登録する第７のステップを実行すること特徴とする。
【００１７】
本発明によれば、宛先サーバ名、送信元クライアント装置のＩＰアドレスのいずれかまたはその対に対して、一時的な暗号通信中継許可証と、その対となる秘密鍵と、その有効期限と暗号化通信方法名とをデータベースに登録する。このデータベースを利用すれば、クライアント装置ごと、コンテンツサーバごとまたはその両方ごとに暗号化通信方法や付加価値処理を設定することができる。そのため、フレキシブルな暗号化通信の中継を行うことができるようになる。
【発明の効果】
【００１８】
ＷＥＢクライアントに特殊な機能を追加することなく、クライアント装置とコンテンツサーバ装置との間のＥｎｄ−Ｅｎｄ暗号化通信に対する付加価値処理をゲートウェイサーバ装置において行うことができるようになり、コンテンツサーバ装置とクライアント装置とに応じて、その間の通信方法や、実行する付加価値処理をフレキシブルに設定することができるようになり、フレキシブルな暗号化通信の中継が実現される。
【発明を実施するための最良の形態】
【００１９】
＜第1の実施形態＞
以下、本発明の第１の実施形態について、適宜、図１〜図１１を参照しながら詳しく説明する。
【００２０】
（ネットワークシステムの構成）
図１は、本発明が適用されるネットワークシステムの構成を模式的に示した図である。図1において、クライアント装置１０、コンテンツサーバ装置２０、ゲートウェイサーバ装置３０およびデータベースサーバ装置４０は、それぞれ、いわゆるコンピュータと呼ばれる情報処理装置によって構成される。
【００２１】
クライアント装置１０は、利用者が使用する情報処理装置であり、利用者によるコンテンツ情報のアクセス要求を受け付け、そのアクセス要求に基づくアクセス要求メッセージを、ネットワーク５０を介してコンテンツサーバ装置２０へ送信する。コンテンツサーバ装置２０は、大量の有用な情報（コンテンツ情報）を保管した情報処理装置であり、クライアント装置１０から送信されるアクセス要求メッセージを受信し、そのアクセス要求メッセージが示すコンテンツ情報をクライアント装置１０へ送信する。
【００２２】
クライアント装置１０は、ネットワークＡ５１と、ゲートウェイサーバ装置３０と、ネットワークＢ５２とを介してコンテンツサーバ装置２０に接続される。ここで、ネットワークＡ５１は、例えば、ＬＡＮ（Local Area Network）のようなイントラネットであり、ネットワークＢ５２は、例えば、公衆ネットワークとしてのインターネットである。なお、本実施形態においては、ネットワークＡ５１とネットワークＢ５２とを区別する必要がない場合には、単に、ネットワーク５０という。
【００２３】
ゲートウェイサーバ装置３０は、ネットワークＡ５１とネットワークＢ５２との間にあって、その間で行われる通信を中継する情報処理装置である。また、また、データベースサーバ装置４０は、本実施形態においてゲートウェイサーバ装置３０がクライアント装置１０とコンテンツサーバ装置２０との間の通信を中継する際に必要となる情報を、例えば、リレーショナルデータベースなどで管理する情報処理装置である。ゲートウェイサーバ装置３０およびデータベースサーバ装置４０については、別途詳しく説明する。
【００２４】
図２は、本発明が適用されるネットワークシステムにおいて用いられる情報処理装置の構成を示した図である。図２において、情報処理装置１０００は、ＣＰＵ（Central Processing Unit）１００１と、ＲＡＭ（Random Access Memory）等の半導体メモリで構成されたメモリ１００２と、ＣＤ−ＲＯＭ（Compact Disk Read Only Memory）ドライブのような可搬記憶媒体読取装置１００３と、ネットワーク５０に接続された通信装置１００４と、ハードディスク磁気記憶装置のような不揮発性、大容量の補助記憶装置１００５と、キーボードやマウスやディスプレイなどの入出力装置１００６を含んで構成される。また、ネットワーク５０は、物理的には、同軸ケーブルや光ファイバケーブル、無線等を用いた通信回線、および、ハブやルータのようなネットワーク装置によって構成される。
【００２５】
メモリ１００２には、情報処理装置１０００が実行するプログラムが記憶される。すなわち、クライアント装置１０、コンテンツサーバ装置２０、ゲートウェイサーバ装置３０およびデータベースサーバ装置４０は、それぞれの情報処理装置１０００において、ＣＤ−ＲＯＭ等の可搬記憶媒体１００８に記録された所定のプログラムを可搬記憶媒体読取装置１００３によって読み取り、メモリ１００２にロードする。そして、メモリ１００２にロードされたプログラムがＣＰＵ１００１により実行されることによって、各装置１０，２０，３０，４０に定められた機能が実現される。
【００２６】
なお、メモリ１００２へのプログラムのロードは、ネットワーク５０に同様に接続された他の情報処理装置１０００からネットワーク５０および通信装置１００４を介して行ってもよい。また、メモリ１００２として半導体不揮発性メモリを用いて、その半導体不揮発性メモリにあらかじめプログラムを書き込んでおくこともできる。このようなメモリ１００２へのプログラムのロード手段を用いることにすれば、各装置１０，２０，３０，４０は、必ずしも可搬記憶媒体読取装置１００３および補助記憶装置１００５を備える必要はない。例えば、クライアント装置１０は、携帯電話のような小型の情報処理装置１０００であっても構わない。
【００２７】
図１において、クライアント装置１０では、Ｗｅｂブラウザなどの既存のＷｅｂクライアントアプリケーションプログラムが実行される情報処理装置１０００である。すなわち、クライアント装置１０は、例えば、インターネット通信機能を備えたパソコン、携帯電話等である。また、コンテンツサーバ装置２０は、既存の種々のサーバアプリケーションプログラムが実行される情報処理装置１０００である。例えば、文書・動画像データやプログラムファイルなどを提供するＷｅｂサーバであり、その他のＷｅｂサービスを提供するアプリケーションサーバ等である。
【００２８】
このようなクライアント装置１０とコンテンツサーバ装置２０とにおいて、クライアント装置１０は、まず、コンテンツサーバ装置２０に対して、コンテンツサーバ装置２０が記憶する文書データや動画像データ、プログラムファイルなどのコンテンツのダウンロードを要求する通信メッセージ（アクセス要求）を送信する。すると、コンテンツサーバ装置２０は、それに応答して、クライアント装置１０が要求したコンテンツをクライアント装置１０へ送信する。
【００２９】
ゲートウェイサーバ装置３０は、通信メッセージの中継を行う装置であり、例えば、Ｗｅｂプロキシサーバで実現することができる。ゲートウェイサーバ装置３０は、クライアント装置１０からネットワークＡ５１経由で送信された通信メッセージを、コンテンツサーバ装置２０に中継する。宛先となるコンテンツサーバ装置２０の情報（ホスト名やＩＰアドレスなど）は、アクセス要求の通信メッセージの中にコンテンツのＵＲＬ（Uniform Resource Locator）情報として含まれている。また、ゲートウェイサーバ装置３０は、中継した応答コンテンツをキャッシュとして記憶するキャッシュ機能を備えることもある。
【００３０】
また、データベースサーバ装置４０は、本実施形態においてゲートウェイサーバ装置３０がクライアント装置１０とコンテンツサーバ装置２０との間の通信を中継する際に必要となる情報を一括して管理する。データベースサーバ装置４０は、例えば、リレーショナルデータベースなどで実現することができ、複数のゲートウェイサーバ装置３０からのデータベース検索要求、データ登録要求、データ削除要求等を処理することができる。
【００３１】
図１のネットワークシステムを構成する各装置１０，２０，３０，４０においてそれぞれ実現されている機能が、物理的には一つの情報処理装置１０００で実現されてもよい。例えば、データベースサーバ装置４０の機能が、ゲートウェイサーバ装置３０に含まれていてもよい。また、一つの装置で実現される機能が、物理的に複数の装置で実現されてもよい。例えば、ゲートウェイサーバ装置３０に含まれる機能の一部を、ネットワーク５０を介してゲートウェイサーバ装置３０と通信する他の情報処理装置１０００で実現してもよい。
【００３２】
（ゲートウェイサーバ装置およびデータベースサーバ装置の構成）
図３は、本実施形態におけるゲートウェイサーバ装置およびデータベースサーバ装置の構成を示した図である。図３において、ゲートウェイサーバ装置３０は、ＨＴＴＰ（Hyper Text Transfer Protocol）プロキシ処理部３０１と、認証局サーバ部３０２と、暗号通信処理部３０３と、鍵管理部３０４とを含んで構成される。また、データベースサーバ装置４０は、暗号化通信設定データベース４０１を含んで構成される。
【００３３】
ＨＴＴＰプロキシ処理部３０１は、クライアント装置１０からコンテンツサーバ装置２０へ送信されるアクセス要求を中継する。また、非暗号化通信時には、コンテンツサーバ装置２０からクライアント装置１０へ送信される応答データをキャッシュする等の付加的処理を行う。
【００３４】
認証局サーバ部３０２は、ＨＴＴＰプロキシ処理部３０１が指示するサーバ名のサーバに対して、公開鍵証明書の形式を持つ一時的な暗号通信中継許可証４０１５１の発行、および、その対となる秘密鍵の生成を行う。
【００３５】
暗号通信処理部３０３は、ＨＴＴＰプロキシ処理部３０１を介して、クライアント装置１０またはコンテンツサーバ装置２０との間でＥｎｄ−Ｅｎｄ暗号化通信を行う。また、Ｅｎｄ−Ｅｎｄ暗号化通信によりコンテンツサーバ装置２０からダウンロードしたコンテンツのキャッシュを行う。
【００３６】
鍵管理部３０４は、ルートＣＡ認証局から発行されたゲートウェイサーバ装置３０用の秘密鍵および公開鍵証明書と、コンテンツサーバ装置２０の公開鍵証明書を検証するためのルート認証局証明書とを保存管理する。
【００３７】
図３において、データベースサーバ装置４０は、暗号化通信設定データベース４０１を備える。暗号化通信設定データベース４０１は、例えば、リレーショナルデータベースを用いて構築する。ゲートウェイサーバ装置３０は、データベースサーバ装置４０に対して、ＳＱＬ（Structured Query Language）言語などのデータベース操作用言語を用いて、暗号化通信設定データベース４０１の検索、登録、削除等の処理を行う。
【００３８】
暗号化通信設定データベース４０１は、テーブル形式のデータベースで、暗号化通信の設定を管理するために使用される。暗号化通信の設定情報は、コンテンツサーバ装置名およびクライアントＩＰアドレスごとに管理される。すなわち、暗号化通信設定データベース４０１は、サーバ名フィールド４０１１、通信方法フィールド４０１２、クライアントＩＰアドレスフィールド４０１３、有効期限フィールド４０１４、暗号通信中継許可証フィールド４０１５、秘密鍵フィールド４０１６等により構成される。また、暗号化通信設定データベース４０１は、これらの情報を、エントリ４０１９単位で管理する。つまり、暗号化通信設定データベース４０１の検索、登録、削除等の処理は、エントリ４０１９単位で取り扱う。なお、エントリは、レコードと呼ばれることもある。
【００３９】
以下に、暗号化通信設定データベース４０１の各フィールド４０１１〜４０１６の詳細について説明する。
【００４０】
サーバ名フィールド４０１１は、ネットワークＢ５２に接続されているコンテンツサーバ装置２０のホスト名を管理するフィールドである。ホスト名は、”www.example.com”のようなＦＱＤＮ（Fully Qualified Domain Name）形式、または、”192.168.1.1”のようなＩＰアドレス形式で記憶される。
【００４１】
通信方法フィールド４０１２は、クライアント装置１０とコンテンツサーバ装置２０との間の暗号化通信方法を管理するフィールドである。通信方法の例としては、クライアント装置１０とコンテンツサーバ装置２０との間で行われる通常のＳＳＬ暗号化通信（以下、“End-End SSL”方法という）と、クライアント装置１０とコンテンツサーバ装置２０との間のＳＳＬ暗号化通信を、ゲートウェイサーバ装置３０で、クライアント装置１０とのＳＳＬ暗号化通信と、コンテンツサーバ装置２０とのＳＳＬ暗号化通信とをそれぞれ終端し、分離させたＳＳＬ暗号化通信（以下、“Split SSL”方法という）がある。すなわち、“Split SSL”においては、クライアント装置１０とコンテンツサーバ装置２０との間のＳＳＬ暗号化通信の暗号化通信データは、ゲートウェイサーバ装置３０において一旦復号化され、平文に戻される。
なお、暗号化通信としては、ＳＳＬ暗号化通信のほかに、ＴＬＳ暗号化通信であってもよい。
【００４２】
クライアントＩＰアドレスフィールド４０１３は、クライアント装置１０のＩＰアドレスを管理するフィールドである。ただし、ネットワークＡ５１を構成するシステムによっては、クライアントのＩＰアドレスが通信ごとに変動するケースがあり得るので、その場合には、クライアントＩＰアドレスを管理するのではなく、クライアント装置１０の認証情報（ユーザＩＤや電話番号など）ベースで管理してもよい。図３の通信方法の設定例においては、サーバ名が“A.com”および“B.com”のサーバに対するアクセスについては、クライアントＩＰアドレスに関わりなく“End-End SSL”の通信方法が適用される。また、サーバ名が“C.com”のサーバに対しては、クライアントＩＰアドレスが“192.168.A”である場合に、“Split-SSL”の通信方法が適用される。また、サーバ名が“D.com”のサーバに対しては、クライアントＩＰアドレスが“192.168.B”である場合に、“Split-SSL”の通信方法が適用される。
【００４３】
有効期限フィールド４０１４は、各エントリ４０１９の設定の有効期限情報を管理するフィールドである。この有効期限フィールド４０１４に有効期限のデータがあるエントリ４０１９については、有効期限の日付（時刻を含んでもよい）情報が設定され、有効期限のデータが無いエントリ４０１９については、“−（有効期限無し）”が設定される。
【００４４】
暗号通信中継許可証フィールド４０１５は、暗号通信中継許可証４０１５１のデータを管理するフィールドである。ゲートウェイサーバ装置３０は、暗号通信中継許可証のデータをこの暗号通信中継許可証フィールド４０１５に登録する。登録することによって、ゲートウェイサーバ装置３０が複数あった場合に、クライアント装置１０がどのゲートウェイサーバ装置３０にアクセスしても、クライアントＩＰアドレス４０１３や宛先サーバ名４０１１、有効期限４０１４等の条件を満たせば、同じ暗号通信中継許可証４０１５１を暗号化通信設定データベース４０１から取り出して、クライアント装置１０に応答することができる。
【００４５】
秘密鍵フィールド４０１６は、秘密鍵のデータを管理するフィールドである。ゲートウェイサーバ装置３０は、自身の秘密鍵のデータをこの秘密鍵フィールド４０１６に登録する。登録することによって、ゲートウェイサーバ装置３０が複数あった場合に、クライアント装置１０がどのゲートウェイサーバ装置３０にアクセスしても、クライアントＩＰアドレス４０１３や宛先サーバ名４０１１、有効期限４０１４等の条件を満たせば、同じ秘密鍵を暗号化通信設定データベース４０１から取り出して、クライアント装置１０との暗号化通信に使用することができる。
【００４６】
以上の各フィールド４０１１〜４０１６に登録されているデータは、暗号化通信設定データベース４０１を検索することによって取得することができる。その検索においては、いずれかのフィールドの値を検索キーとして暗号化通信設定データベース４０１を検索すると、条件に適合したエントリ４０１９の情報を得ることができる。図３の例で、ゲートウェイサーバ装置３０がデータベースサーバ装置４０に対して『サーバ名＝“A.com”』という検索キーでクエリ文を送信すると、データベースサーバ装置４０は、暗号化通信設定データベース４０１の中で、サーバ名フィールド４０１１に“A.com”を含むエントリ４０１９を検索する。そして、データベースサーバ装置４０は、ゲートウェイサーバ装置３０に対して、『通信方法＝“End-End SSL”、クライアントＩＰアドレス＝“制限無し”、有効期限＝“無し”、暗号通信中継許可証＝“無し”、秘密鍵＝“無し”』というエントリ４０１９の情報を応答する。なお、データベースサーバ装置４０が応答する情報は、ゲートウェイサーバ装置３０が必要とするフィールド情報のみとしてもよい。必要なフィールド情報は、クエリ文のパラメータで指定することができる。
【００４７】
（ＳＳＬ暗号化通信中継処理）
図４は、クライアント装置とコンテンツサーバ装置との間のＳＳＬ暗号化通信をゲートウェイサーバ装置が中継する処理の流れを示した図である。この処理の流れは、ゲートウェイサーバ装置３０がクライアント装置１０とＴＣＰ（Transmission Control Protocol）接続を確立した後、クライアント装置１０からＨＴＴＰのＣＯＮＮＥＣＴメソッドを受信し、通常の端末間通信（Ｅｎｄ-Ｅｎｄ  ＳＳＬ暗号化通信）、または、ゲートウェイサーバ装置３０による分割型ＳＳＬ通信（Ｓｐｌｉｔ−ＳＳＬ暗号化通信）を行い、ＣＯＮＮＥＣＴメソッドの処理を終えるまでの状態遷移を表している。
【００４８】
図４において、まず、ゲートウェイサーバ装置３０のＨＴＴＰプロキシ処理部３０１は、クライアント装置１０から、ＨＴＴＰのＣＯＮＮＥＣＴメソッドを含むアクセス要求を受信する（ステップＳ００１）。ＣＯＮＮＥＣＴメソッドとは、ゲートウェイサーバ装置３０に対して、ＳＳＬ暗号化通信用に用いるＴＣＰ接続をコンテンツサーバ装置２０に対して行うように指示するメソッドである。ゲートウェイサーバ装置３０は、ＣＯＮＮＥＣＴメソッドを受信すると、ＣＯＮＮＥＣＴ受信処理を開始する。
【００４９】
次に、ゲートウェイサーバ装置３０のＨＴＴＰプロキシ処理部３０１は、ＣＯＮＮＥＣＴメソッドのアクセス要求の通信メッセージから、宛先となるコンテンツサーバ装置２０のサーバ名またはＩＰアドレスを抽出する。例えば、受信したＨＴＴＰのアクセス要求メッセージの最初の行（リクエスト行）に“CONNECT www.example.com:443 HTTP/1.1”という文字列があった場合には、“www.example.com”という文字列を抽出し、サーバ名として扱う。そして、そのサーバ名またはＩＰアドレスを検索キーとして、データベースサーバ装置４０に対し、その暗号化通信設定データベース４０１（図４においては、単にＤＢと記載）へのサーバ検索処理を行う（ステップＳ００２）。なお、サーバ検索処理については、図５を用いて、別途、さらに詳しく説明する。
【００５０】
なお、クライアント装置１０の設定によっては、クライアント装置１０はＣＯＮＮＥＣＴメソッドを送信せず、最初から宛先のコンテンツサーバ装置２０のＩＰアドレスを宛先ＩＰアドレスとして設定して、ＩＰパケットを送信し、ＳＳＬ暗号化通信のハンドシェイクを行うことがある。ゲートウェイサーバ装置３０がそのＩＰパケットを受信した場合には、ゲートウェイサーバ装置３０は、ＩＰパケットに含まれているＴＣＰヘッダの中の宛先ポート番号をチェックし、その宛先ポート番号がＳＳＬ暗号化通信を意味するポート番号、例えば４４３番であれば、ＴＣＰハンドシェイク以降のパケットでＳＳＬ暗号化通信のハンドシェイクが行われるとみなす。そして、ＨＴＴＰプロキシ処理部３０１は、ＩＰヘッダ中の宛先ＩＰアドレスを、宛先のコンテンツサーバ装置２０のＩＰアドレスとして扱い、そのＩＰアドレスを用いて、データベースサーバ装置４０に対するサーバ検索の指示（ステップＳ００２）およびそれ以降の処理を行う。
【００５１】
次に、データベースサーバ装置４０における検索結果を用いて、検索したサーバがすでにデータベースサーバ装置４０に登録されているか否かを判定する（ステップＳ００３）。その結果、サーバ名フィールド４０１１に検索キーを含むサーバ情報が応答された場合は（ステップＳ００３でＹＥＳ）、ＨＴＴＰプロキシ処理部３０１は、暗号化通信設定データベース４０１にすでに登録済みと判定する。検索キーを含むサーバ情報が応答されなかった場合は（ステップＳ００３でＮＯ）、未登録のサーバであると判定する。
【００５２】
そこで、ＣＯＮＮＥＣＴメソッドの宛先のコンテンツサーバ装置２０のサーバ名が登録済みの場合には（ステップＳ００３でＹＥＳ）、ＨＴＴＰプロキシ処理部３０１は、次に有効期限チェックを行う（ステップＳ００４）。すなわち、ゲートウェイサーバ装置３０は、ソフトウェアもしくはハードウェアで現在の日付と時刻を管理しているので、検索の結果で得られた有効期限フィールド４０１４の値と、現在の日付および時刻とを比較する。
【００５３】
そして、その時が有効期限内の場合には（ステップＳ００４でＹＥＳ）、ＨＴＴＰプロキシ処理部３０１は、次に、通信方法チェックを行う（ステップＳ００５）。例えば、検索の結果得られた通信方法フィールド４０１２の値が、“Split SSL”方法であるか、”End-End SSL”方法であるかを判定する。
【００５４】
そして、その通信方法が“Split SSL”方法であれば（ステップＳ００５でＹＥＳ）、ＨＴＴＰプロキシ処理部３０１は、Ｓｐｌｉｔ  ＳＳＬ暗号化通信処理を行う（ステップＳ００６）。Ｓｐｌｉｔ  ＳＳＬ暗号化通信処理は、クライアント装置１０との通信においては、ゲートウェイサーバ装置３０は、ＳＳＬサーバとして振る舞い、クライアント装置１０とのＳＳＬ暗号化通信を終端し、かつ、コンテンツサーバ装置２０との間で新たなＳＳＬ暗号化通信を行う処理である。
【００５５】
そして、ＨＴＴＰプロキシ処理部３０１は、コンテンツサーバ装置２０またはクライアント装置１０によってＴＣＰ接続が切断されると、Ｓｐｌｉｔ  ＳＳＬ暗号化通信処理を終了する。あるいは、タイムアウトなどなんらかの理由で、ＨＴＴＰプロキシ処理部３０１が、クライアント装置１０とのＴＣＰ接続とコンテンツサーバ装置２０とのＴＣＰ接続を切断することにより、能動的にＳｐｌｉｔ  ＳＳＬ暗号化通信処理を終了させてもよい。その後、ゲートウェイサーバ装置３０は、ＣＯＮＮＥＣＴ受信処理を終了する。
【００５６】
一方、ステップＳ００５で、通信方法が”End-End SSL”方法であった場合には（ステップＳ００５でＮＯ）、ＨＴＴＰプロキシ処理部３０１はＥｎｄ−Ｅｎｄ  ＳＳＬ暗号化通信処理を行う（ステップＳ００７）。Ｅｎｄ−Ｅｎｄ  ＳＳＬ暗号化通信処理は、ＨＴＴＰプロキシサーバがＳＳＬ暗号化通信を中継する通常の通信処理方法である。具体的には、まず、ゲートウェイサーバ装置３０がクライアント装置１０からＨＴＴＰ−ＣＯＮＮＥＣＴメソッドを受信したときに、ＣＯＮＮＥＣＴ先で指定されたコンテンツサーバ装置２０に対してＴＣＰ接続を行う。次に、ＴＣＰハンドシェイクが正常に完了した後、クライアント装置１０に対して接続完了を示すメッセージを送信する。そのメッセージは、例えば、ＨＴＴＰ応答の最初の行（ステータス行）に“HTTP/1.1 200 Connection established”と記述されたメッセージである。以降は、クライアント装置１０またはコンテンツサーバ装置２０から送信されたアプリケーションデータを、コンテンツサーバ装置２０またはクライアント装置１０に転送する。なお、ＴＣＰヘッダやＩＰヘッダ等、アプリケーションデータ以外の部分については、ＨＴＴＰプロキシ処理部３０１が、ＴＣＰ接続に応じて、適宜、変換する。
【００５７】
そして、ＨＴＴＰプロキシ処理部３０１は、コンテンツサーバ装置２０またはクライアント装置１０によってＴＣＰ接続が切断されると、Ｅｎｄ−Ｅｎｄ  ＳＳＬ暗号化通信処理を終了する。あるいは、タイムアウトなどなんらかの理由で、ＨＴＴＰプロキシ処理部３０１が、クライアント装置１０とのＴＣＰ接続とコンテンツサーバ装置２０とのＴＣＰ接続を能動的に切断することにより、Ｅｎｄ−Ｅｎｄ  ＳＳＬ暗号化通信処理を終了させてもよい。その後、ゲートウェイサーバ装置３０は、ＣＯＮＮＥＣＴ受信処理を終了する。
【００５８】
また、ステップＳ００４で、もし、有効期限を超過していた場合には（ステップＳ００４でＮＯ）、ＨＴＴＰプロキシ処理部３０１は、データベースサーバ装置４０に対し、暗号化通信設定データベース４０１の当該エントリ４０１９の削除処理を行う（ステップＳ００８）。
【００５９】
そして、ゲートウェイサーバ装置３０の設定の中で、コンテンツサーバ装置２０の情報が暗号化通信設定データベース４０１に未登録時の場合のＳＳＬ暗号化通信処理のデフォルト設定をチェックする（ステップＳ００９）。その結果、デフォルト設定がＥｎｄ−Ｅｎｄ  ＳＳＬ暗号化通信処理であった場合には（ステップＳ００９でＮＯ）、ステップＳ００７の処理を行う。
【００６０】
一方、デフォルト設定がＳｐｌｉｔ  ＳＳＬ処理であった場合には（ステップＳ００９でＮＯ）、暗号化通信設定データベース４０１に対し、コンテンツサーバ装置２０の情報の登録処理を行う（ステップＳ０１０）。そして、登録処理が正常に完了した場合は（ステップＳ０１１でＮＯ）、ユーザ同意確認処理を行う（ステップＳ６００）。ユーザ同意確認処理については、別途、詳しく説明する。また、登録処理が異常終了した場合は（ステップＳ０１１でＹＥＳ）、ＨＴＴＰプロキシ処理部３０１が、クライアント装置１０とのＴＣＰ接続を能動的に切断することにより、ＣＯＮＮＥＣＴ受信処理を終了する。
【００６１】
さらに、ステップＳ００３で、ＣＯＮＮＥＣＴメソッドの宛先のコンテンツサーバ装置２０のサーバ名が未登録であった場合には（ステップＳ００３でＮＯ）、ＨＴＴＰプロキシ処理部３０１は、ステップＳ００９以下の処理を行う。
【００６２】
図５は、図４における暗号化通信設定データベースへのサーバ検索処理（ステップＳ００２）の処理の流れを詳しく示した図である。
【００６３】
図５において、ゲートウェイサーバ装置３０のＨＴＴＰプロキシ処理部３０１（図３参照）は、まず、データベースサーバ装置４０に対して、ＣＯＮＮＥＣＴ先サーバ名とクライアントＩＰアドレスを検索キーとして、クエリ要求を発行する（ステップＳ１０２）。クエリ要求は、例えば、ＳＱＬ言語の形式でデータベースサーバ装置４０に渡される。そうすると、データベースサーバ装置４０は、そのクエリ要求を解釈し、暗号化通信設定データベース４０１のサーバ名フィールド４０１１にＣＯＮＮＥＣＴ先のサーバ名と同じ値が格納されていて、かつ、クライアントＩＰアドレスフィールド４０１３にクライアントＩＰアドレスと同じ値が格納されているエントリ４０１９を探す。そして、そのエントリ４０１９があれば、そのエントリ４０１９をＨＴＴＰプロキシ処理部３０１に応答する（ステップＳ１０３）。そのエントリ４０１９がなければ、検索結果無し、として応答する。検索結果の応答は、少なくとも、通信方法フィールド４０１２の値と、エントリ４０１９自身の有効期限フィールド４０１４の値と、暗号通信中継許可証４０１５１と、暗号通信中継許可証４０１５１の対の秘密鍵４０１６１とを含む。
【００６４】
図６は、図４における暗号化通信設定データベースへのサーバ登録処理（ステップＳ０１０）の処理の流れを詳しく示した図である。
【００６５】
図６において、ゲートウェイサーバ装置３０は、まず、ＣＯＮＮＥＣＴ先サーバ名に対する暗号通信中継許可証４０１５１を生成する（ステップＳ２０１）。暗号通信中継許可証４０１５１は、ＳＳＬ暗号化通信等のＥｎｄ−Ｅｎｄ暗号化通信を行うためのサーバ公開鍵証明書である。サーバ公開鍵証明書は、例えば、国際電気通信連合電気通信標準化部門（International Telecommunication Union-Telecommunication sector：ＩＴＵ−Ｔ）勧告のＸ．５０９仕様に基づく。そして、その中には、証明書の発行者や主体者（所有者）、有効期限、公開鍵情報、および、その証明書の有効性を検証するのに必要な発行者の電子署名などの情報が含まれている。
【００６６】
一般的には、認証局（Certification Authority：ＣＡ）がコンテンツサーバ装置２０の運営者等に対してサーバ公開鍵証明書を発行する。ユーザは、サーバ公開鍵証明書をダウンロードした際に、サーバ公開鍵証明書中のＣＡ電子署名と、ユーザが予め保持しているＣＡ公開鍵証明書とを用いて、サーバ公開鍵証明書の検証を行う。ユーザが信頼しているＣＡを、ここではルートＣＡと呼ぶ。ユーザは、ルートＣＡの公開鍵証明書をクライアント装置１０のブラウザ等にインストールすることによって、ルートＣＡや、ルートＣＡが信頼する他のＣＡが発行した公開鍵証明書の検証を行うことが可能となる。
【００６７】
ルートＣＡによって信頼されていないＣＡが発行した公開鍵証明書をダウンロードした場合は、クライアント装置１０のブラウザが警告メッセージを発してユーザに通知することがある。暗号通信中継許可証４０１５１とその対となる秘密鍵４０１６１は、ゲートウェイサーバ装置３０の認証局サーバ部３０２によって、ＣＯＮＮＥＣＴメソッド受信時に毎回発行される。暗号通信中継許可証４０１５１の主体者はＣＯＮＮＥＣＴ先コンテンツサーバ装置２０名で、発行者はゲートウェイサーバ装置３０である。
【００６８】
次に、ＨＴＴＰプロキシ処理部３０１は、データベースサーバ装置４０に対し、エントリ追加要求を行う（ステップＳ２０２）。追加する情報は、ＣＯＮＮＥＣＴ先コンテンツサーバ装置２０名、通信方法、クライアントＩＰアドレス、有効期限、暗号通信中継許可証４０１５１、秘密鍵４０１６１等である。通信方法は、例えば、“Split SSL”方法である。有効期限は、例えば、予めゲートウェイサーバ装置３０に設定されたパラメータに基づいて、現在時刻にパラメータ値を追加した日付および時刻で設定される。具体的な例をあげると、ＣＯＮＮＥＣＴメソッド受信時が『２００３年７月１５日１２：００：００』で、パラメータ値が『１日』であれば、有効期限は『２００３年７月１６日１２：００：００』と設定する。
【００６９】
次に、データベースサーバ装置４０は、登録処理結果をＨＴＴＰプロキシ処理部３０１に応答する（ステップＳ２０３）。
【００７０】
ＨＴＴＰプロキシ処理部３０１は、その応答結果を判定する（ステップＳ２０４）。もし、登録処理が問題なく完了していれば、登録処理を終了する（ステップＳ２０４でＹＥＳ）。登録処理が失敗していれば、異常終了する（ステップＳ２０４でＮＯ）。
【００７１】
図７は、図４における暗号化通信設定データベースへのサーバ削除処理（ステップＳ００８）の処理の流れを詳しく示した図である。
【００７２】
ＨＴＴＰプロキシ処理部３０１（図３参照）は、まず、データベースサーバ装置４０に対し、暗号化通信設定データベース４０１のエントリ削除の要求を行う（ステップＳ３０１）。削除するエントリ４０１９は、例えば、ＣＯＮＮＥＣＴ先コンテンツサーバ装置名と、クライアントＩＰアドレスとを検索キーとして、検索条件を満たすエントリ４０１９である。
【００７３】
次に、データベースサーバ装置４０は、削除処理結果をＨＴＴＰプロキシ処理部３０１に応答する（ステップＳ３０２）。ＨＴＴＰプロキシ処理部３０１は、応答結果を受信し、削除処理を終了する。
【００７４】
図８は、図４におけるＳｐｌｉｔ  ＳＳＬ暗号化通信処理（ステップＳ００６）の処理の流れを詳しく示した図である。
【００７５】
ＨＴＴＰプロキシ処理部３０１（図３参照）は、Ｓｐｌｉｔ  ＳＳＬ暗号化通信処理を開始すると、暗号通信処理部３０３をＣＯＮＮＥＣＴ宛のＳＳＬサーバとして処理を進める。具体的には、ＨＴＴＰプロキシ処理部３０１は、暗号通信処理部３０３に、ステップＳ１０３で得られた暗号通信中継許可証４０１５１および秘密鍵４０１６１を渡す。そして、ＨＴＴＰプロキシ処理部３０１は、クライアント装置１０から受信したデータを、いったん、メモリ１００２に書き込む。そして、暗号通信処理部３０３は、メモリ１００２からそのデータを読み出す。そして、その逆の処理を行うことによって、クライアント装置１０と暗号通信処理部３０３との間でデータの受け渡しを行う。
【００７６】
また、暗号通信処理部３０３がＨＴＴＰプロキシ処理部３０１と異なる情報処理装置１０００上で動作している場合は、ＨＴＴＰプロキシ処理部３０１と暗号通信処理部３０３とは、ネットワーク５０を介して通信を行い、データの受け渡しを行う。ＨＴＴＰプロキシ処理部３０１は、暗号通信処理部３０３から受け渡されたデータを、そのまま、もしくはクライアント装置１０とＨＴＴＰプロキシ処理部３０１との通信用のＨＴＴＰヘッダの追加や削除を行い、クライアント装置１０に送信する。また、同様にして、ＨＴＴＰプロキシ処理部３０１は、クライアント装置１０から受信したデータを、暗号通信処理部３０３に受け渡す。
【００７７】
次に、暗号通信処理部３０３は、クライアント装置１０に対して、ＣＯＮＮＥＣＴメソッドに対する応答を送信した後、ＳＳＬハンドシェイク処理を行う（ステップＳ４０２〜Ｓ４０５）。ステップＳ４０４では、クライアント装置１０にサーバ公開鍵証明書を送信する際に、コンテンツサーバ装置２０のサーバ公開鍵証明書の代わりに、代理で暗号通信中継許可証４０１５１を送信する。
【００７８】
次に、暗号通信処理部３０３は、クライアント装置１０から暗号化済みアクセス要求を受信し、復号化する（ステップＳ４０６）。ここで、暗号通信処理部３０３は、ＣＯＮＮＥＣＴ先コンテンツサーバ装置２０のサーバ名と、受信したアクセス要求内のＵＲＬとを解析し、アクセス要求先のコンテンツがすでにキャッシュされているか、そして、キャッシュされている場合は、キャッシュ有効期限内であるかをチェックする（ステップＳ４０７）。もし、有効期限内のキャッシュを保持していた場合には（ステップＳ４０７でＹＥＳ）、キャッシュ応答処理（ステップＳ４０８）を行い、Ｓｐｌｉｔ  ＳＳＬ暗号化通信処理を終了する。
【００７９】
また、ステップＳ４０７で、キャッシュがないか、あっても有効期限切れであった場合には（ステップＳ４０７でＮＯ）、暗号通信処理部３０３は、ＣＯＮＮＥＣＴ先のコンテンツサーバ装置２０に対しＳＳＬハンドシェイク処理を行う（ステップＳ４１０〜Ｓ４１２）。ここで、暗号通信処理部３０３は、コンテンツサーバ装置２０とのＨＴＴＰ接続を行う際には、ＨＴＴＰプロキシ処理部３０１に対してＣＯＮＮＥＣＴメソッドを送信し、ＨＴＴＰプロキシ処理部３０１がＣＯＮＮＥＣＴ先コンテンツサーバ装置２０名を解析して該当するコンテンツサーバ装置２０とＴＣＰ接続およびＳＳＬハンドシェイク処理を行うことによって、ＨＴＴＰプロキシ処理部３０１経由でコンテンツサーバ装置２０との通信を行ってもよい。また、暗号通信処理部３０３がコンテンツサーバ装置２０と直接ＴＣＰ接続およびＳＳＬハンドシェイク処理を行ってもよい。そして、暗号通信処理部３０３は、ＳＳＬハンドシェイク処理の結果、ＳＳＬハンドシェイクが成功したか失敗したかを判定する（ステップＳ４１３）。
【００８０】
そして、ＳＳＬハンドシェイク処理が成功した場合には（ステップＳ４１３でＹＥＳ）、次に、サーバ公開鍵証明書の検証を行う（ステップＳ４１４）。そして、その検証が成功であった場合には（ステップＳ４１４でＹＥＳ）、ＳＳＬ暗号化通信中継処理を行い（ステップＳ４１５）、その後、Ｓｐｌｉｔ  ＳＳＬ暗号化通信処理を終了する。また、ステップＳ４１３でＳＳＬハンドシェイク処理が失敗した場合、または、ステップＳ４１４でサーバ公開鍵証明書の検証が失敗した場合には、エラー処理を行い（ステップＳ１０９）、Ｓｐｌｉｔ  ＳＳＬ暗号化通信処理を終了する。
【００８１】
図９は、図８におけるＳＳＬ暗号化通信中継処理（ステップＳ４１５）の処理の流れを詳しく示した図である。
【００８２】
暗号通信処理部３０３（図３参照）は、まず、ステップＳ４１０〜Ｓ４１２で確立したＳＳＬ接続を用いて、ＣＯＮＮＥＣＴ先のコンテンツサーバ装置２０に対し、アクセス要求先のＵＲＬへのアクセス要求を暗号化して送信する（ステップＳ５０１）。すると、コンテンツサーバ装置２０は、そのアクセス要求に対する応答データを暗号化して、暗号通信処理部３０３に送信する（ステップＳ５０２）。
【００８３】
暗号通信処理部３０３は、受信したデータの復号化処理を行い（ステップＳ５０３）、そのデータに対し、データフォーマットの変換やキャッシュ作成等の付加価値処理を行う（ステップＳ５０４）。ここで、付加価値処理の例としては、このほかにも、ＨＴＴＰヘッダやコンテンツデータの追加や修正や削除などの処理、ステップＳ１０９のＨＴＴＰエラー処理、または、コンテンツデータを解析した結果による他サーバとの通信処理、などがある。なお、付加価値処理の例については、図１４を用いて、補足して説明する。
【００８４】
次に、暗号通信処理部３０３は、クライアント装置１０とのＳＳＬ暗号化通信用にデータを再び暗号化し（ステップＳ５０５）、クライアント装置１０に送信する（ステップＳ５０６）。そして、ＳＳＬ暗号化通信中継処理を終了する。または、ステップＳ５０６の後、再び、ステップＳ４０６と同じ暗号化アクセス要求を受信した場合は、ステップＳ４０６以降の処理を繰り返してもよい。また、その場合、制限時間を設けて、制限時間を過ぎたら、ＳＳＬ中継処理を終了するようにしてもよい。
【００８５】
図１０は、図８におけるエラー処理（ステップＳ１０９）の処理の流れを詳しく示した図である。
【００８６】
ゲートウェイサーバ装置３０（図３参照）のＨＴＴＰプロキシ処理部３０１、または、暗号通信処理部３０３での処理中に、何らかのエラーが発生した場合は、それらの処理部３０１，３０３は、ＨＴＴＰエラーメッセージを作成し、クライアント装置１０に送信する（ステップＳ７０１）。その後、クライアント装置１０とのＴＣＰ接続を切断する（ステップＳ７０２）。ここで、ステップＳ７０１は、省略してもよい。また、ステップＳ７０１の処理の中で、各処理部３０１，３０３は、エラーログファイルを作成し、それにエラー理由などを出力してもよい。
【００８７】
図１１は、図８におけるキャッシュ応答処理（ステップＳ４０８）の処理の流れを詳しく示した図である。
【００８８】
ゲートウェイサーバ装置３０の暗号通信処理部３０３（図３参照）は、ＳＳＬ暗号化通信中継処理のステップ５０４（図９参照）等で、暗号化通信時のコンテンツのキャッシュを行い、メモリ１００２または補助記憶装置１００５等にキャッシュデータを格納する。キャッシュ応答処理（ステップＳ４０８）では、暗号通信処理部３０３は、このキャッシュデータを用いてＨＴＴＰ応答データを作成し、クライアント装置１０とのＳＳＬハンドシェイク時に作成した共通鍵で暗号化する。そして、そのデータをクライアント装置１０に送信する（ステップＳ８０１）。
【００８９】
（ユーザ同意確認処理）
図１２は、図４におけるユーザ同意確認処理（ステップＳ６００）の処理の流れを詳しく示した図である。ユーザ同意確認処理とは、ゲートウェイサーバ装置３０で暗号通信を終端し、中継することについて、ユーザの同意を得るための処理である。
【００９０】
まず、ゲートウェイサーバ装置３０のＨＴＴＰプロキシ処理部３０１（図３参照）は、クライアント装置１０に対し、暗号通信処理部３０３をＳＳＬサーバとするＵＲＬにリダイレクト指示を送信する。具体例としては、以下のようなＨＴＴＰ応答ステータスを応答する（ステップＳ６０１）。
“HTTP/1.1 302 Found
Location: https://GatewayServer:443/…
…”
【００９１】
ここでは、Ｌｏｃａｔｉｏｎフィールドで示された値が、リダイレクト指示先のＵＲＬを示す。リダイレクト先のＵＲＬのホスト名は、暗号通信処理部３０３を有するゲートウェイサーバ装置３０を表すホスト名とする。また、ＵＲＬのスキームは、ＳＳＬなどの暗号化通信を表す“https”とする。ＵＲＬのパス部分は、あってもなくてもよい。また、暗号通信処理部３０３は、ここでユーザ同意確認ページを動的に作成し、そのページに対応するパス文字列も同時に作成しておき、パスとユーザ同意確認ページを対応付ける管理表を持っていてもよい。
【００９２】
次に、ＨＴＴＰプロキシ処理部３０１は、クライアント装置１０から、ステップＳ６０１で指示されたリダイレクト先ＵＲＬの宛先サーバ、すなわち、ゲートウェイサーバ装置３０自身に対するＣＯＮＮＥＣＴを受信する（ステップＳ６０２）。
【００９３】
次に、ＨＴＴＰプロキシ処理部３０１は、図４で示したＣＯＮＮＥＣＴ受信処理を行う（ステップＳ６０３）。ここで、暗号化通信設定データベース４０１には、予め、ゲートウェイサーバ装置３０宛のＣＯＮＮＥＣＴメソッドは、Ｅｎｄ−Ｅｎｄ  ＳＳＬ暗号化通信処理を行うような設定をしておく。具体的には、サーバ名フィールド４０１１には暗号通信処理部３０３を有するゲートウェイサーバ装置３０を表すホスト名“Gateway Server”、通信方法フィールド４０１２には“End-End SSL”通信方法、クライアントＩＰアドレスフィールド４０１３および有効期限４０１４には“指定無し”、暗号通信中継許可証フィールド４０１５および秘密鍵フィールド４０１６には“データ無し”、というエントリ４０１９をあらかじめ作成しておく。
【００９４】
これにより、ＨＴＴＰプロキシ処理部３０１は、ここで受信したＣＯＮＮＥＣＴメソッドをゲートウェイサーバ装置３０自身宛の“End-End SSL”通信方法の接続要求であると判定する。そして、ＨＴＴＰプロキシ処理部３０１は、暗号通信処理部３０３との間でデータの受け渡しを行うための処理を行う。以降は、暗号通信処理部３０３が、クライアント装置１０と通信を行う。ＨＴＴＰプロキシ処理部３０１は、暗号通信処理部３０３から受け渡されたデータを、そのまま、または、クライアント装置１０とＨＴＴＰプロキシ処理部３０１との通信用のＨＴＴＰヘッダの追加や削除をおこなってから、クライアント装置１０に送信する。そして、クライアント装置１０から受信したデータを、同様に、暗号通信処理部３０３に受け渡す。
【００９５】
次に、暗号通信処理部３０３は、クライアント装置１０に対して、ＣＯＮＮＥＣＴメソッドに対する応答を送信した後、ＳＳＬハンドシェイク処理を行う（ステップＳ６０４、Ｓ６０５）。そして、ステップＳ６０１で指示したリダイレクト先ＵＲＬに対するアクセス要求を、暗号化された状態で受信し（ステップＳ６０６）、それを復号化する。
【００９６】
次に、暗号通信処理部３０３は、クライアント装置１０に対して、ユーザ同意確認ページをＳＳＬで暗号化し、送信する（ステップＳ６０７、Ｓ６０８）。ユーザ同意確認ページとは、クライアント装置１０のブラウザで、ゲートウェイサーバ装置３０で暗号通信を終端し中継することについて、ユーザの同意確認を行うためのコンテンツである。ユーザの同意が得られた場合は、ゲートウェイサーバ装置３０に対して、ユーザの同意を示すパラメータを含むアクセス要求が、暗号化された状態で送信される（ステップＳ６０９）。
【００９７】
ユーザの同意が得られなかった場合は、アクセス要求が送られてこないか、または、ユーザの拒否を示すパラメータを含むアクセス要求が暗号化された状態で送信される。暗号通信処理部３０３が拒否パラメータつきのアクセス要求を受信した場合は、暗号通信の中継ができない旨の応答を行ってもよい。また、さらに、その時のＣＯＮＮＥＣＴ先サーバ装置名を記憶しておき、その後、クライアント装置１０からＣＯＮＮＥＣＴメソッドを受信した場合に、ＣＯＮＮＥＣＴ先コンテンツサーバ装置２０が以前同ユーザによって拒否されていた場合に、一定時間、アクセス拒否を示す応答を行ってもよい。
【００９８】
ステップＳ６０９でアクセス要求を受信した際に、ステップＳ６０７でユーザ同意確認ページを応答してから、所定の制限時間が経過していた場合には（ステップＳ６１０でＮＯ）、エラー処理を行う（ステップＳ１０９）。そうでない場合には（ステップＳ６１０でＹＥＳ）、暗号通信処理部３０３は、ゲートウェイサーバ装置３０のルートＣＡ証明書（自己署名証明書）を暗号化し、クライアント装置１０に送信する（ステップＳ６１１、Ｓ６１２）。
【００９９】
ここで、ダウンロードしたルートＣＡ証明書をクライアント装置１０のブラウザにインストールするようにユーザに指示する文言を、同意確認ページの中か、または、ルートＣＡ証明書を送信する前に用意しておいた他のページの中かに含ませることによって、ユーザにダウンロードしたルートＣＡ証明書をクライアント装置１０のブラウザにインストールするように指示してもよい。そして、ユーザ同意確認処理を終了する。
【０１００】
図１３は、ユーザ同意確認処理において使用されるユーザ同意確認ページの例を示した図である。
【０１０１】
同意確認ページは、クライアント装置１０が同意確認ページを受信した際に、クライアント装置１０のブラウザがディスプレイ１０１に、同意確認のための文言１０２を表示するように記述されたコンテンツである。具体例としては、ＨＴＭＬページがあげられるが、テキスト文書ではなく、文言１０２を表示するアプリケーションでもよい。文言１０２は、例えば、ゲートウェイサーバ装置３０での暗号通信の終端および復号化（Ｓｐｌｉｔ  ＳＳＬ通信）を許可するかどうかをユーザに選択させるようなメッセージである。
【０１０２】
（補足：付加価値処理の例）
図１４は、本実施形態において付加価値処理を行う例を示した図である。
【０１０３】
本実施形態においては、ＨＴＴＰプロキシ処理部３０１が、ステップＳ４０６（図８参照）の処理にて復号化した、平文の通信データ６０１を解析し、特定データ配列６０２が含まれているかどうか検索する。図１４の例では、“Layer7#Tunneling#Protocol/1.0”という文字列を検索している。ここで、特定データ配列６０２は複数種類あってもよい。ＨＴＴＰプロキシ処理部３０１が、復号化済み通信データ６０１の中に特定データ配列６０２が含まれていることを検知した場合は、その接続を切断する。または、暗号化したエラー応答を送信したのち、その接続を切断する。
【０１０４】
すなわち、クライアント装置１０がコンテンツサーバ装置２０をアクセスするときのアクセス要求の内容を解析し、不正な目的の通信を検知したり、遮断したりすることができる。同様にすれば、クライアント装置１０からコンテンツサーバ装置２０へ送信される通信データ６０１についても、その内容を解析することができるので、例えば、イントラネット内で秘密文書として管理されている文書が不正にまたは誤ってイントラネットの外へ送信されることを防ぐことができる。
【０１０５】
さらに、ＨＴＴＰプロキシ処理部３０１が、ステップＳ５０３（図９参照）の処理で復号化した通信データ６０１を解析した後、当該通信データが画像ファイルであった場合には、ステップＳ５０４の処理として画像変換を行う。例えば、Ｗｅｂブラウザがあるフォーマットの画像ファイルをサポートしていない場合、ＨＴＴＰプロキシ処理部３０１が、Ｗｅｂブラウザがサポートしている他のフォーマットの画像ファイルに変換する。または、画像ファイルのサイズを、クライアント装置１０のディスプレイの解像度に応じて変更する等の処理を行う。
【０１０６】
同様に、コンテンツサーバ装置２０から送信され、復号化された通信データ６０１を解析することにより、ウイルスやその他有害な情報を検出することができる。そのような有害情報を検出する処理を付加価値処理としてもよい。その場合には、クライアント装置１０が接続されるイントラネットへの有害情報の侵入を防ぐことができる。
【０１０７】
（第１実施形態における作用および効果）
本実施形態においては、クライアント装置１０とゲートウェイサーバ装置３０との間、および、ゲートウェイサーバ装置３０とコンテンツサーバ装置２０との間では、それぞれ暗号化通信が行われる。そのため、クライアント装置１０とコンテンツサーバ装置２０と間の通信のセキュリティを保つことができる。
【０１０８】
また、本実施形態においては、クライアント装置１０とコンテンツサーバ装置２０との間で行われるＥｎｄ−Ｅｎｄ暗号化通信を、ゲートウェイサーバ装置３０において、いったん暗号化通信を終端し、暗号化された通信メッセージを平文に戻す。そのため、通信メッセージの中にウイルスや秘密文書の検出処理を行うことができ、また、コンテンツデータのキャッシングや、ＨＴＴＰヘッダおよびデータの追加、変換、削除などの処理を行うことができる。
【０１０９】
クライアント装置１０のブラウザによっては、サーバ公開鍵証明書の検証が失敗すると、コンテンツサーバ装置２０が信頼できない旨の警告メッセージを表示するが、ユーザが警告の意味を理解せずに、警告を無視してアクセスを行うケースがある。本実施形態では、ステップＳ４１４において、サーバ公開鍵証明書の検証をゲートウェイサーバ装置３０が代理で行い、検証失敗時にエラー処理（ステップＳ１０９）を行うことにより、信頼できないコンテンツサーバ装置２０へのアクセスを未然に防ぐことが可能となる。
【０１１０】
また、クライアント装置１０のブラウザによっては、ルートＣＡによって信頼されていないＣＡが発行したサーバ公開鍵証明書をクライアント装置１０がダウンロードした場合には、クライアント装置１０のブラウザが証明書検証時に警告メッセージを発してユーザに通知することがある。さらに、そのサーバ公開鍵証明書が示すコンテンツサーバ装置２０への暗号化通信でのアクセスを拒否するブラウザもある。本実施形態では、ユーザ同意確認処理（ステップＳ６００）を行うようにしたため、ユーザが、ゲートウェイサーバ装置３０のルートＣＡ証明書をクライアント装置１０のブラウザにインストールすることになるので、以降、ゲートウェイサーバ装置３０が生成した暗号通信中継許可証４０１５をダウンロードしたときに表示される警告メッセージの表示を、抑止することができる。また、証明書検証が失敗したときに暗号化通信を拒否するブラウザでは、ゲートウェイサーバ装置３０との暗号化通信を行うことができるようになる。
【０１１１】
本実施形態においては、ゲートウェイサーバ装置３０またはデータベースサーバ装置４０が悪意のある第三者に攻撃され、侵入された場合には、暗号化通信に用いる秘密鍵や共通鍵などを悪意のある第三者に盗まれる可能性がある。そこで、ユーザ同意確認処理を行うことによって、ユーザに対し、暗号化通信データの盗聴および改竄などの危険性が残ることを明示的に通知することができる。ユーザがそのような危険性を許容できない場合や、ユーザがゲートウェイサーバ装置３０での暗号化通信の終端および復号化を望んでいない場合には、ユーザは、ユーザ同意確認処理における警告メッセージの回答として、Ｓｐｌｉｔ  ＳＳＬ処理を実行しないというユーザ自身の選択をすることができる。
【０１１２】
または、暗号化通信設定データベース４０１において、サーバ名フィールド４０１１に対する通信方法フィールド４０１２の設定をユーザが変更可能とすることで、ユーザが宛先サーバごとにＥｎｄ−Ｅｎｄ暗号化通信とＳｐｌｉｔ−ＳＳＬ暗号化通信のどちらを用いるかを選択することができる。その利点として、ユーザの意思や通信内容に応じて、安全性と利便性のどちらかをユーザ自身が選択できる。例えば、ユーザがクレジットカード番号をサーバへ送信するといってケースなどで、ユーザが安全性を重視したい場合は、Ｅｎｄ−Ｅｎｄ暗号化通信を設定すればよい。逆に、ゲートウェイサーバ装置３０にて、ある画像コンテンツをＷｅｂブラウザの特性に応じて画像変換させるなど、ユーザが利便性を重視したい場合は、Ｓｐｌｉｔ−ＳＳＬ暗号化通信をユーザ自身が設定すればよい。
【０１１３】
また、本実施形態において、データベースサーバ装置４０をゲートウェイサーバ装置３０から独立させ、ゲートウェイサーバ装置３０を複数台並べた場合には、ゲートウェイサーバ装置３０の負荷分散を図ることができる。そして、クライアント装置１０からのトラフィック量に応じて、ゲートウェイサーバ装置３０を増設することができるため、データベースサーバ装置４０が性能限界になるまで、本発明を適用したネットワークシステムをスケーラブルに拡大することができる。
【０１１４】
＜第２の実施形態＞
次に、本発明の第２の実施形態について、図１５を参照して、詳しく説明する。
【０１１５】
図１５は、クライアントをグループ化して代理認証する場合のＳｐｌｉｔ  ＳＳＬ暗号化通信処理の流れを示した図である。本実施形態においては、ゲートウェイサーバ装置３０は、クライアント装置１０に対して、クライアント認証を行った後、コンテンツサーバ装置２０に対して、クライアント装置１０のクライアント証明書とは異なる他のクライアント証明書（クライアント代理証明書）を用いて、クライアント装置１０に応じたクライアント認証を行う。
【０１１６】
図１５において、ゲートウェイサーバ装置３０の暗号通信処理部３０３（図３参照）は、クライアント装置１０に対して、ＣＯＮＮＥＣＴメソッドに対する応答を送信した後、ＳＳＬハンドシェイク処理を行う（ステップＳ４０３〜Ｓ４０５）。このＳＳＬハンドシェイク処理において、暗号通信処理部３０３は、ステップＳ４０４を行った後、クライアント装置１０からクライアント証明書を受信し（ステップＳ４１６）、クライアント認証処理を行う（ステップＳ４１７）。その後、ゲートウェイサーバ装置３０は、クライアントの分類処理を行う（ステップＳ４１８）。
【０１１７】
クライアントの分類処理の例としては、あるクライアントＡはあるコンテンツサーバＡにはアクセスできるが、コンテンツサーバＢにはアクセスできないとし、また他のクライアントＢはコンテンツサーバＡとＢの両方にアクセスできるものとする。ここで、クライアントＡからのクライアント証明書を受信した場合はクライアント種別Ａと分類し、クライアントＢからのクライアント証明書を受信した場合では、クライアント種別Ｂと分類する。
【０１１８】
暗号通信処理部３０３は、ステップＳ４０５でクライアント装置１０とのＳＳＬハンドシェイク処理を終えると、今度は、コンテンツサーバ装置２０との間でＴＣＰ接続を行う（ステップＳ４１１）。そして、コンテンツサーバ装置２０との間でＳＳＬハンドシェイク処理を行う（ステップＳ４１２、すなわち、ステップＳ４１２１〜Ｓ４１２５）。ここで、暗号通信処理部３０３は、コンテンツサーバ装置２０とのサーバ認証処理（ステップＳ４１２２）を終えた後に、ステップＳ４１８でのクライアント分類に応じたクライアント代理証明書を選択する（ステップＳ４１２３）。例えば、先の例で、クライアント装置１０がクライアントＡであれば、クライアント種別Ａ用のクライアント代理証明書を選択する。
【０１１９】
次に、暗号通信処理部３０３は、コンテンツサーバ装置２０に対しクライアント認証を行うときに、クライアント装置１０のクライアント証明書の代わりに、ステップＳ４１２３で選択したクライアント代理証明書をコンテンツサーバ装置２０に送信する（ステップＳ４１２４）。そして、それ以降は、通常のＳＳＬハンドシェイク処理を行い（ステップＳ４１２４，Ｓ４１２５）、さらに続けて、ＳＳＬ暗号化通信中継処理を行う（ステップＳ４１５）。
【０１２０】
本実施形態においては、コンテンツサーバ装置２０つまりコンテンツ提供者側が、すべてのクライアントのクライアント認証を行う必要が無くなり、ゲートウェイサーバ装置３０が管理するクライアントに対してネットワーク運用者側が提供するクライアント種別分のクライアント認証のみ行えばよいことになる。例えば、１０００万人が加入するＩＳＰのネットワークシステムがあった場合、従来は、コンテンツ提供者側が１０００万人を区別してクライアントを認証するために、コンテンツサーバ装置２０（コンテンツ提供者）は、１０００万人を認証するための大規模な認証管理システムが必要であった。一方、本実施形態においては、ゲートウェイサーバ装置３０で一括してクライアント認証を代理で行うため、コンテンツ提供者は、小規模の認証システムを導入するだけで済む。
【図面の簡単な説明】
【０１２１】
【図１】本発明が適用されるネットワークシステムの構成を模式的に示した図である。
【図２】本発明が適用されるネットワークシステムにおいて用いられる情報処理装置の構成を示した図である。
【図３】本発明の第１の実施形態におけるゲートウェイサーバ装置およびデータベースサーバ装置の構成を示した図である。
【図４】本発明の第１の実施形態においてクライアント装置とコンテンツサーバ装置との間のＳＳＬ暗号化通信をゲートウェイサーバ装置が中継する処理の流れを示した図である。
【図５】図４における暗号化通信設定データベースへのサーバ検索処理（ステップＳ００２）の処理の流れを詳しく示した図である。
【図６】図４における暗号化通信設定データベースへのサーバ登録処理（ステップＳ０１０）の処理の流れを詳しく示した図である。
【図７】図４における暗号化通信設定データベースへのサーバ削除処理（ステップＳ００８）の処理の流れを詳しく示した図である。
【図８】図４におけるＳｐｌｉｔ  ＳＳＬ暗号化通信処理（ステップＳ００６）の処理の流れを詳しく示した図である。
【図９】図８におけるＳＳＬ暗号化通信中継処理（ステップＳ４１５）の処理の流れを詳しく示した図である。
【図１０】図８におけるエラー処理（ステップＳ１０９）の処理の流れを詳しく示した図である。
【図１１】図８におけるキャッシュ応答処理（ステップＳ４０８）の処理の流れを詳しく示した図である。
【図１２】図４におけるユーザ同意確認処理（ステップＳ６００）の処理の流れを詳しく示した図である。
【図１３】図１２のユーザ同意確認処理において使用されるユーザ同意確認ページの例を示した図である。
【図１４】本発明の第１の実施形態において付加価値処理を行う例を示した図である。
【図１５】本発明の第２の実施形態においてクライアントをグループ化して代理認証する場合のＳｐｌｉｔ  ＳＳＬ暗号化通信処理の流れを示した図である。
【符号の説明】
【０１２２】
１０    クライアント装置
２０    コンテンツサーバ装置
３０    ゲートウェイサーバ装置
４０    データベースサーバ装置
５０    ネットワーク
３０１  ＨＴＴＰプロキシ処理部
３０２  認証局サーバ部
３０３  暗号通信処理部
３０４  鍵管理部
４０１  暗号化通信設定データベース
１０００  情報処理装置
１００１  ＣＰＵ
１００２  メモリ
１００３  可搬記憶媒体読取装置
１００４  通信装置
１００５  補助記憶装置
１００６  入出力装置
１００８  可搬記憶媒体
４０１１  サーバ名フィールド
４０１２  通信方法フィールド
４０１３  クライアントＩＰアドレスフィールド
４０１４  有効期限フィールド
４０１５  暗号通信中継許可証フィールド
４０１６  秘密鍵フィールド
【図１】
2006165678.tif 000003
【図２】
2006165678.tif 000004
【図３】
2006165678.tif 000005
【図４】
2006165678.tif 000006
【図５】
2006165678.tif 000007
【図６】
2006165678.tif 000008
【図７】
2006165678.tif 000009
【図８】
2006165678.tif 000010
【図９】
2006165678.tif 000011
【図１０】
2006165678.tif 000012
【図１１】
2006165678.tif 000013
【図１２】
2006165678.tif 000014
【図１３】
2006165678.tif 000015
【図１４】
2006165678.tif 000016
【図１５】
2006165678.tif 000017