JP2004206573A - データ転送装置、サーバー装置、情報提供システム、データ転送方法及びプログラム - Google Patents
データ転送装置、サーバー装置、情報提供システム、データ転送方法及びプログラム Download PDFInfo
- Publication number
- JP2004206573A JP2004206573A JP2002377050A JP2002377050A JP2004206573A JP 2004206573 A JP2004206573 A JP 2004206573A JP 2002377050 A JP2002377050 A JP 2002377050A JP 2002377050 A JP2002377050 A JP 2002377050A JP 2004206573 A JP2004206573 A JP 2004206573A
- Authority
- JP
- Japan
- Prior art keywords
- server
- connection
- server device
- data transfer
- request message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
【課題】複数のサーバーを対象として、各サーバーと各クライアントとの間でデータを暗号化してやり取りする場合に、該暗号化されたデータを復号化したものを用いたデータ処理を行うことが可能なプロキシを提供すること。
【解決手段】クライアントからサーバーへの接続要求を受信すると、サーバーを代行してクライアントとの間で、クライアント・サーバー間で受け渡しされるデータを暗号化して転送するための第1のコネクションを設定するとともに、サーバーとの間で、クライアント・サーバー間で受け渡しされるデータを暗号化して転送するための第2のコネクションを設定する。
【選択図】 図1
【解決手段】クライアントからサーバーへの接続要求を受信すると、サーバーを代行してクライアントとの間で、クライアント・サーバー間で受け渡しされるデータを暗号化して転送するための第1のコネクションを設定するとともに、サーバーとの間で、クライアント・サーバー間で受け渡しされるデータを暗号化して転送するための第2のコネクションを設定する。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、データを転送するデータ転送装置、情報を提供するサーバー装置、データ転送装置と複数のサーバー装置とを含む情報提供システム、データ転送方法及びプログラムに関する。
【0002】
【従来の技術】
従来、Web閲覧では、Web閲覧者がクライアント上のWeb閲覧ソフトを用いてWebサーバーにリクエストを送信し、リクエストを受信したWebサーバーはリクエストに応じたレスポンスをクライアントに送信し、クライアントはレスポンスを受けWeb閲覧ソフトへの表示等を行う。その際、クライアント−サーバー間を流れるWebデータは、クライアントとWebサーバーを経由するネットワークの途中にあるプロキシに代表されるデータ転送装置上でキャッシュが行なわれる。キャッシュを利用することで、実際にネットワークを流れるデータ量を削減することができるとともに、レスポンスタイムの向上にも有効に働く。
【0003】
また、近年、インターネットの普及に伴いWebサーバーへのリクエストが増加し、Webサーバーの負荷がレスポンスタイムに大きな影響を及ぼしている。このような状況下で、Webサーバーへのリクエストを削減するために、サーバー側システムの一部としてリバース型プロキシが導入されている。リバース型プロキシは、Webサーバー一つに対して一つ設置され、クライアントからのリクエストを受けると、キャッシュされているページがLRUやLFUアルゴリズムによりその有効性が保証されている場合は、Webサーバーに代わってクライアントにレスポンスを返す。これによって、Webサーバーの負荷を軽減し、レスポンスタイムの向上を実現するとともに、Webサーバーが過負荷によってダウンする事態の回避を実現している。
【0004】
一方、近年のインターネットの利用拡大に伴って、ECサイト等を利用して個人情報や企業情報等といった機密情報をWeb経由でデータ交換を行なう機会が増加している。このようにWeb閲覧者・Webサーバー以外の第三者に機密情報の漏洩を防ぐ技術として、Secure Socket Layer(SSL)が利用されている。SSLを用いることで、クライアント−Webサーバー間で行なわれるデータ交換を暗号化し、ネットワーク途中での機密情報の盗聴や漏洩、サーバーやクライアントの成りすまし等によるデータの盗聴や改ざん等を防止し、機密情報の第三者への流出等を防ぐ安全なWebデータ交換が実現されている。SSLは、いわゆるPKI(Public Key Infrastructure)アプリケーションの一つであり、RSAに代表される暗号化アルゴリズムを用いた公開鍵暗号化方式を利用している。クライアント−Webサーバー間でSSLコネクションを確立するためには、サーバーが正当なものであることをCA(Certificate Authority)が保証するサーバー証明書と秘密鍵のペアを、Webサーバーが保持している必要がある。サーバー証明書には、そのサーバーのサーバー名や管理者の氏名、住所、メールアドレス等の他に公開鍵が含まれており、その正当性を保証するためにCAが電子署名を行なったものである。SSLの公開鍵暗号化方式によってクライアント−サーバー間に暗号化ネットワークが確立されると、公開鍵暗号化方式より高速にデータの暗号化・復号化を行なうために、DESやトリプルDES等といった暗号化アルゴリズムによる共通鍵をWebサーバー・クライアント間で交換・共有し、実際のデータ暗号化・復号化には、その共通鍵を用いた共通鍵暗号化方式が利用される。つまり、SSLでは、共通鍵をクライアント−サーバー間で安全に交換するために、公開鍵暗号化方式が用いられる。Client Helloメッセージの送信から共通鍵の交換までを、SSLハンドシェイクと呼ぶ。また、SSLハンドシェイクを終了し、サーバークライアント間で共通鍵による暗号化・復号化が行なわれるコネクションを、SSLコネクションと呼ぶ。
【0005】
リバース型プロキシの場合、SSLコネクションを確立するのに必要なサーバー証明書と秘密鍵はプロキシが保有し、クライアント−プロキシ間でSSLコネクションが確立される。この場合、プロキシ上でデータが復号化されるため、キャッシュ等といった復号化されたデータに対するデータ処理を実行することが可能である。ただし、リバース型プロキシの場合は、一つのプロキシに対して一つのWebサーバーしか復号化することが出来ない。
【0006】
一方、フォーワード型プロキシの場合、プロキシは、SSL通信には関与せず、クライアント−Webサーバー間で確立されたSSLコネクションによって暗号化されたWebデータを、素通し(トンネリング)している。これは、フォーワード型プロキシはその上流に複数のWebサーバーがあり、それらのサーバー証明書と秘密鍵を保有していないことや、プロキシがサーバー側システムにあるとは限らないために、安全性の面からプロキシ上でWebデータの復号化を行なうことに、問題があるためである。このため、フォーワード型プロキシ上で、キャッシュ等といった復号化されたデータを用いたデータ処理を行うことができない。
【0007】
なお、プロキシについては例えば非特許文献1に詳しく開示されている。
【0008】
【非特許文献1】
「Web プロキシサーバー」、アリ・ルネトオン著、1998年、プレンティスホール出版、ISBN:4-89471-089-7
【0009】
【発明が解決しようとする課題】
従来のプロキシでは、リバース型であってもフォーワード型であっても、複数のWebサーバーが行なう暗号化された通信を復号化し、データ処理を行なうことができなかった。
【0010】
本発明は、上記事情を考慮してなされたもので、複数のサーバー装置を対象として、各サーバー装置と各クライアント装置との間でデータを暗号化してやり取りする場合に、該暗号化されたデータを復号化したものを用いたデータ処理を行うことが可能なデータ転送装置、サーバー装置、情報提供システム、データ転送方法及びプログラムを提供することを目的とする。
【0011】
【課題を解決するための手段】
本発明に係るデータ転送装置は、クライアント装置から送信された、サーバー装置への接続要求メッセージを受信するための手段と、前記接続要求メッセージが受信された場合に、前記サーバー装置を代行して、前記クライアント装置との間で、前記クライアント装置と前記サーバー装置との間で受け渡しされるデータを暗号化して転送するための第1のコネクションを設定するための第1のコネクション設定手段と、前記接続要求メッセージが受信された場合に、前記サーバー装置との間で、前記クライアント装置と前記サーバー装置との間で受け渡しされるデータを暗号化して転送するための第2のコネクションを設定するための第2のコネクション設定手段とを備えたことを特徴とする。
【0012】
好ましくは、前記第1のコネクションを介して、前記クライアント装置から転送されてきた、暗号化されたリクエストメッセージを受信するための手段と、受信された前記暗号化されたリクエストメッセージを復号化するための手段と、復号化された前記リクエストメッセージに対して、所定のデータ処理を施すための第1の処理手段と、前記所定のデータ処理を施された前記リクエストメッセージを再度暗号化するための手段と、暗号化された前記リクエストメッセージを前記第2のコネクションを介して前記サーバー装置へ送信するための手段とを更に備えるようにしてもよい。
【0013】
好ましくは、前記第2のコネクションを介して、前記サーバー装置から転送されてきた、暗号化されたレスポンスメッセージを受信するための手段と、受信された前記暗号化されたレスポンスメッセージを復号化するための手段と、復号化された前記レスポンスメッセージに対して、所定のデータ処理を施すための第2の処理手段と、前記所定のデータ処理を施された前記レスポンスメッセージを再度暗号化するための手段と、暗号化された前記レスポンスメッセージを前記第1のコネクションを介して前記クライアント装置へ送信するための手段とを更に備えるようにしてもよい。
【0014】
また、本発明に係る情報提供システムは、前記データ転送装置と、複数のサーバー装置とを備えたことを特徴とする。
【0015】
また、本発明に係るサーバー装置は、前記データ転送装置との間で、前記固有の情報を暗号化して転送するためのコネクションを設定した後に、該コネクションを介して該データ転送装置から前記固有の情報を要求するリクエストメッセージを受信した場合に、前記固有の情報を記述したレスポンスメッセージを該コネクションを介して該データ転送装置へ送信する手段を備えたことを特徴とする。
【0016】
また、本発明に係る情報提供システムは、前記データ転送装置と、複数の前記サーバー装置とを備えたことを特徴とする。
【0017】
また、本発明に係るデータ転送方法は、クライアント装置から送信された、サーバー装置への接続要求メッセージを受信するステップと、前記接続要求メッセージが受信された場合に、前記サーバー装置を代行して、前記クライアント装置との間で、前記クライアント装置と前記サーバー装置との間で受け渡しされるデータを暗号化して転送するための第1のコネクションを設定するステップと、前記接続要求メッセージが受信された場合に、前記サーバー装置との間で、前記クライアント装置と前記サーバー装置との間で受け渡しされるデータを暗号化して転送するための第2のコネクションを設定するステップとを有することを特徴とする。
【0018】
なお、装置に係る本発明は方法に係る発明としても成立し、方法に係る本発明は装置に係る発明としても成立する。
【0019】
また、装置または方法に係る本発明は、コンピュータに当該発明に相当する手順を実行させるための(あるいはコンピュータを当該発明に相当する手段として機能させるための、あるいはコンピュータに当該発明に相当する機能を実現させるための)プログラムとしても成立し、該プログラムを記録したコンピュータ読取り可能な記録媒体としても成立する。
【0020】
本発明によれば、複数のサーバー装置を対象として、各サーバー装置と各クライアント装置との間でデータを暗号化してやり取りする場合に、復号化されたデータを取得できるため、該暗号化されたデータを復号化したものを用いたデータ処理を行うことが可能になる。
【0021】
また、本発明によれば、例えば、複数のWebサーバーとWebブラウザの間で行なわれるSSLによる暗号化通信をプロキシ上で復号化した状態でのデータ処理が可能となる。また、例えば、新規Webサーバーの導入やサーバー証明書の更新に伴う手間を大幅に削減することが可能となる。
【0022】
【発明の実施の形態】
以下、図面を参照しながら発明の実施の形態を説明する。
【0023】
本実施形態のWebサーバー、プロキシ、Webブラウザは、いずれも計算機上でソフトウェア(Webサーバー・プログラム、プロキシ・プログラム、Webブラウザ・プログラム)を動作させる形で実現することができる。この場合に、必要に応じて計算機所望の機能を有するOSやドライバソフト、あるいは通信インターフェース装置や外部記憶装置や入出力装置といったハードウェアが搭載、あるいは接続される。また、この場合に、ユーザーあるいは管理者からの情報やユーザーへの情報呈示等のために、グラフィカル・ユーザー・インターフェース(GUI)を用いると好ましい。
【0024】
本実施形態では、World Wide Webシステムでの通信は、HTTPプロトコルに従って行なわれる。また、暗号化通信は、HTTPSプロトコルに従って行なわれる。HTTPS(HTTP over SSL)プロトコルは、HTTPプロトコルにSSLプロトコルの機能を追加したものである。本実施形態では、HTTPプロトコルに関してはRFC1945に示されているHTTP1.0を用いて説明する。SSLプロトコルに関しては、“http://home.netscape.com/eng/ssl3/ssl-toc.html”に示されているSSL3を用いて説明する。なお、以下の説明で用いられるHTTPのCONNECTメソッドに関しては例えばRFC2817に詳しい。
【0025】
図1に、本発明の一実施形態に係るシステムの基本的な構成例を示す。
【0026】
図1の構成例において、プロキシ(情報転送装置)1は、複数のWebサーバー(図1の例では、201,202,203の3台)に接続されているとともに、LAN6を経由してファイアーウォール3に接続されている。イントラネット5は、例えばオフィスやデータセンタなどに設けられ、ファイアーウォール3によって外部からの不正な進入を防止している。もちろん、イントラネット5内の構成は、図1の例に限定されるものではない。
【0027】
他方、クライアント4は、Webブラウザ401を用いて、外部ネットワーク7を経由してWebサーバー(図1の例ではWebサーバー201,202,203)にアクセス可能である。外部ネットワーク7は、例えばモデムを用いた公衆回線やPHS等を用いたワイヤレスネットワークなどでもよい。なお、プロキシ1が対象とするクライアントは、複数台存在し得るものであり、図1では、図中4の1台のクライアントのみを例示している。
【0028】
なお、図1では、当該イントラネット5の内部に設けられたプロキシ1が、当該イントラネット5内部のWebサーバーを対象とする構成であるが、複数のイントラネットの外部に設けられたプロキシが、それら複数のイントラネットの内部に(それぞれ1又は複数)存在するWebサーバーを対象とする構成も可能である。
【0029】
図2に、プロキシ1の内部構成例を示す。ただし、図2には、本実施形態を説明するのに必要な部分のみ示されている。図3は、Webブラウザ201とプロキシ1との間の第1のSSLコネクションと、プロキシ1とWebブラウザ201との間の第2のSSLコネクションとを概念的に示したものである。なお、図2は、矢印によって、図3に示されている第1のSSLコネクション及び第2のSSLコネクションを確立するまでのデータの流れをも併せて示している。
【0030】
図2に示されるように、プロキシ1は、通信部110、サーバー情報管理部120、SSLコネクション確立部130、暗号化・復号化部140、データ処理部150を備えている。
【0031】
また、通信部110は、クライアント側ネットワークからデータを受信するクライアント側受信部111、クライアント側ネットワークへデータを送信するクライアント側送信部112、Webサーバー側ネットワークからデータを受信するサーバー側受信部113及びWebサーバー側ネットワークへデータを送信するサーバー側送信部114を含む。ただし、クライアント側受信部111、クライアント側送信部112、サーバー側受信部113及びサーバー側送信部114は、物理的には同じネットワーク・インターフェースであってもよく、本実施形態では説明の簡易化のために仮想的に分割した場合を示している。
【0032】
サーバー情報管理部120は、サーバー名取得部121、複製サーバー鍵取得部122、複製サーバー鍵保持部123、複製サーバー鍵登録部124を含む。
【0033】
SSLコネクション確立部130は、SSLハンドシェイクプロトコルに従ってWebブラウザとサーバー側SSLハンドシェイクを行なうクライアント側SSLハンドシェイク部131、SSLハンドシェイクプロトコルに従ってWebサーバーとクライアント側SSLハンドシェイクを行なうサーバー側SSLハンドシェイク部132を含む。
【0034】
暗号化・復号化部140は、Webブラウザから受信する暗号化されたデータを復号化するクライアント側復号部141、Webブラウザへ送信するデータを暗号化するクライアント側暗号化部142、Webサーバーから受信する暗号化されたデータを復号化するサーバー側復号化部143、Webサーバーへ送信するデータを暗号化するサーバー側暗号化部144を含む。
【0035】
データ処理部150は、復号化されたデータをもとに所定の処理を行うデータ処理部151を含む。データ処理部151は、WebブラウザからWebサーバーへのリクエストのみについて処理を行うものであってもよいし、WebサーバーからWebブラウザへのレスポンスのみについて処理を行うものであってもよいし、それらリクエストとレスポンスとの両方について処理を行うものであってもよい。また、それらリクエストとレスポンスとの両方について処理を行う場合に、1つのデータ処理部でそれらリクエストとレスポンスとの両方について処理を行うようにしてもよいし、リクエストを処理するデータ処理部とレスポンスを処理するデータ処理部を別々に備えるようにしてもよい。
【0036】
複製サーバー鍵登録部124によって予め登録された複製サーバー証明書・秘密鍵(k01とする)は、複製サーバー鍵保持部123から複製サーバー鍵取得部122によって取得され、クライアント側SSLハンドシェイク部131に渡される。複製サーバー鍵登録部124は、例えば、プロキシ管理者などによって、設定ファイル・コマンドラインによる指令等によって、サーバー名をキーとして、該当Webサーバーのサーバー証明書・秘密鍵の複製を、複製サーバー鍵保持部123に登録する。
【0037】
クライアント側共通鍵(k02とする)は、クライアント側SSLハンドシェイク部131によって確立された第1のSSLコネクションで用いられる共通鍵であり、クライアント側SSLハンドシェイク部131からクライアント側復号化部141及びクライアント側暗号化部142に渡される。
【0038】
サーバー側共通鍵(k03とする)は、サーバー側SSLハンドシェイク部132によって確立された第2のSSLコネクションで用いられる共通鍵であり、サーバー側SSLハンドシェイク部132からサーバー側復号化部143及びサーバー側暗号化部144に渡される。
【0039】
以下、本実施形態の処理の流れについて説明する。
【0040】
図4に、Webブラウザ401、プロキシ1、Webサーバー201(www.aaa.co.jp)の間での処理の流れの一例を示す。なお、図4の例では、第2のSSLコネクションが第1のSSLコネクションより時間的に早く確立されているが、その逆でも構わない。
【0041】
図5は、図3に示されている第1のSSLコネクション(図中21)及び第2のSSLコネクション(図中22)が確立されるプロセスを、図2に示されている各構成要素の働きを含めて示したフローチャートの一例である。
【0042】
プロキシ1のクライアント側受信部111がWebブラウザ401からのリクエスト“CONNECT www.aaa.co.jp:443 HTTP1.0”を受信(ステップS1、P1)すると、サーバー名取得部121はリクエストからサーバー名“www.aaa.co.jp”を取得する(ステップS2)。サーバー名取得部121は複製サーバー鍵取得部122にサーバー名を渡し、複製サーバー鍵取得部122は複製サーバー鍵保持部123に該当するWebサーバーが登録されているか否かを問い合わせる(ステップS3)。
【0043】
ステップS4において、該当するWebサーバーが複製サーバー鍵保持部123に登録されている場合は、複製サーバー鍵取得部122は複製サーバー鍵保持部123よりWebサーバー(www.aaa.co.jp)の複製サーバー証明書・秘密鍵k01を取得し(ステップS10)、クライアント側SSLハンドシェイク部131にそれらを渡すとともに、サーバー側SSLハンドシェイク部132に該当サーバー名(www.aaa.co.jp)を渡す。クライアント側SSLハンドシェイク部131は渡された(ステップS11)複製サーバー鍵・秘密鍵k01を用いてSSLハンドシェイクプロトコルに従ってWebブラウザ401とクライアント側受信部111・送信部112を経由して第1のSSLコネクションを確立する(ステップS12,S13、P3)。第1のSSLコネクションで利用される共通鍵k02は、クライアント側復号化部141及びクライアント側暗号化部142に渡される(ステップS14)。他方、サーバー側SSLハンドシェイク部132は、SSLハンドシェイクプロトコルに従って、サーバー側受信部113・送信部114を経由してWebサーバー(www.aaa.co.jp)とSSLハンドシェイクを行なう(ステップS16,S17,S18、P2)。このハンドシェイクには、Webサーバー(www.aaa.co.jp)が持っているサーバー証明書と秘密鍵を用いて実現される。こうして確立された第2のSSLコネクションで利用される共通鍵k03はサーバー側復号化部143及びサーバー側復号化部144に渡される(ステップS19)。
【0044】
なお、ステップS4において、該当するWebサーバーが複製サーバー鍵保持部123に登録されていない場合は、例えばDNSやHostsファイル等により、リクエストされたWebサーバーがネットワーク内に存在するかを調べ(ステップS5)、該当するWebサーバーがネットワーク内に存在するときは(ステップS6)、通常のフォーワード型プロキシと同様にWebブラウザ401に対して“200 Connection Established”メッセージを送信して、トンネリングの準備が完了した旨を通知する(ステップS7)。以後、Webブラウザ401−Webサーバー201(www.aaa.co.jp)の間でClient Helloから始まるSSLハンドシェイクが実行されSSLコネクションが確立される(ステップS8)。SSLハンドシェイク中及び暗号化通信中は、プロキシはWebブラウザ401−Webサーバー201間のデータ交換をトンネリングする。他方、該当するWebサーバーがネットワーク内に存在しないときは(ステップS9)、“404 Not Found”というHTTPレスポンスをWebブラウザ401にクライアント側送信部112を経由して送信する。
【0045】
図6に、プロキシ1の複製サーバー鍵保持部123の構造例を示す。
【0046】
この構造例では、複製サーバー鍵保持部123は、サーバー名を識別子として、当該サーバー名が示すWebサーバーの複製されたサーバー証明書へのポインタ及び秘密鍵へのポインタを持つ。この例では、ポインタとしてファイル名が指定されているが、例えば、メモリ上のアドレスを持つなどの他の方法でもよい。
【0047】
図7に、第1のSSLコネクション及び第2のSSLコネクションが確立された後のプロキシ1上でのWeb通信プロセスの説明を簡易化するために、図2からサーバー情報管理部120とSSLコネクション確立部130を省いた構成要素を示す。
【0048】
第1及び第2のSSLコネクションが確立された後、Webブラウザ401から例えば“GET www.aaa.co.jp/hello.html HTTP/1.0”というリクエストが送信されたとする(P4)。このリクエストは、第1のSSLコネクションでWebブラウザとプロキシ1で交換された共通鍵k02で暗号化されている。プロキシ1のクライアント側受信部111が暗号化されたリクエストを受信すると、該暗号化されたリクエスト(図中、31)はクライアント側復号化部141で共通鍵k02によって復号化される。復号化されたリクエスト(図中、32)は第2のSSLコネクションでWebサーバー(www.aaa.co.jp)と交換した共通鍵k03をによってサーバー側暗号化部144で暗号化され、該暗号化されたリクエスト(図中、33)はサーバー側送信部114からWebサーバー(www.aaa.co.jp)へ送信される(P5)。
【0049】
送信されてきた暗号化されたリクエストを受けたWebサーバー(www.aaa.co.jp)は、これを共通鍵k03で復号化し、該リクエストをもとにレスポンスを生成し、該レスポンスを共通鍵k03で暗号化し、これをプロキシ1へ送信する(P6)。
【0050】
プロキシ1のサーバー側受信部113は、送信されてきた暗号化されたレスポンスをサーバー側受信部113で受信し、サーバー側復号部143で該暗号化されたレスポンス(図中、34)を共通鍵k03によって復号化する。復号化されたレスポンス(図中、35)は、例えばキャッシュやデータ圧縮や差分情報の抽出などの所定のデータ処理をデータ処理部151で施された後、クライアント側暗号化部142で共通鍵k02によって暗号化され、該暗号化されたレスポンス(図中、36)はクライアント側送信部112を経由してブラウザ401へ送信される(P7)。
【0051】
以上説明してきたように、本実施形態のプロキシ1は、サーバー名取得部121、複製サーバー鍵取得部122、複製サーバー鍵保持部123という新たな手段を持つことで、従来トンネリングしてきたWebブラウザ−Webサーバー間で確立されるSSLコネクションによって暗号化されたデータをプロキシ上で復号化し、データ処理部151によって復号化されたデータに対して所望のデータ処理を行なうことが可能となる。
【0052】
また、図1に示すように、本実施形態のプロキシ1と複数のWebサーバーをファイアーウォールに守られた安全なネットワークに配置することで、複数のWebサーバーとWebブラウザとの通信をプロキシ上で復号化・データ処理を行なうデータ提供システムの構築が可能となる。
【0053】
なお、クライアント側SSLハンドシェイク部131・クライアント側復号化部141・クライアント側暗号化部142は、通常、Webサーバーに備わっている機能である。サーバー側SSLハンドシェイク部132・サーバー側復号化部143・サーバー側暗号化部144は、通常、Webブラウザに備わっている機能である。これらは、SSLプロトコルを実装したソフトウェアもしくはハードウェアである。
【0054】
データ処理部151には、例えば、squid等の従来のプロキシでも行なってきた静的ページのキャッシュや、画像の圧縮等の処理が該当する。静的なページとは、サーバー上にスタティックに配置されたhtmlや画像ファイル等といったWebリソースの事を指し、HTTPプロトコルで規定される有効期限内ではアクセスの度に変更されないものである。なお、本実施形態のデータ処理部151は、静的なページのキャッシュに加え動的なページのキャッシュについても適用可能である。動的なページとは、CGI、ASP、Servlet等が代表する動的ページ生成技術によって生成されたページのことを指し、Webサーバーへリクエストが届いた時点で上記プログラムによって生成されるページのことである。動的なページはアクセスの度にページの内容が変化し、従来の静的なページをキャッシュするsquidなどのプロキシ・プログラムでは、キャッシュの対象外となっていた。特開2002−268935に示されたフィンガープリントを用いたキャッシュ機構を備えることで、フィンガープリントのみの転送やベースコンテンツからの差分データとフィンガープリントのみの転送ですみ、ネットワーク上を流れるデータ転送量を削減することが可能であるが、本実施形態のデータ処理部151は、このフィンガープリントキャッシュもその対象とすることが可能である。この場合、プロキシ1は、サーバー側プロキシを兼ねることとなる。また、クライアント側プロキシは、別途、クライアント4上に、あるいはクライアント4に接続された計算機上に、構築されることとなる。クライアント側プロキシがWebブラウザのPlug−inとして実現されている場合は、本実施形態で示されている構成でよい。
【0055】
次いで、図8に、図2のプロキシ1を修正した構成例を示す。この構成例は、ネットワーク経由でWebサーバーからサーバー証明書・秘密鍵の複製をサーバー鍵保持部123に登録する、ネットワーク経由複製サーバー鍵登録部125を備えたものである。なお、図2の構成例の複製サーバー鍵登録部124の代わりに、ネットワーク経由複製サーバー鍵登録部125を備えてもよいし、図2の構成例の複製サーバー鍵登録部124に加えて、ネットワーク経由複製サーバー鍵登録部125を更に備えてもよい。
【0056】
他方、図9に、ネットワーク経由複製サーバー鍵登録部125を備えたプロキシ1に対応するために、鍵取得リクエストを判定する複製鍵取得リクエスト判別部221とサーバー証明書・秘密鍵の複製が記載されたレスポンスを生成する複製鍵記載部222を備えたWebサーバー204を示す(なお、図9では、説明を簡略化するために、受信部及び送信部を含む通信部210以外の部分をまとめてサーバー処理部220として示している)。
【0057】
図10に、この場合の処理手順の一例を示す。
【0058】
ネットワーク経由複製サーバー鍵登録部125は、例えばキーボード等の入力装置や設定ファイル等によって指定されたWebサーバー204とSSLコネクションを確立するために、サーバー側ハンドシェイク部132に指令を出す。サーバー側SSLハンドシェイク部132は、サーバー側送信部114・受信部113を経由してWebサーバーとSSLハンドシェイクプロトコルに従ってSSLコネクションを確立する。このSSLハンドシェイクによってWebサーバー204と交換された共通鍵k04は、サーバー側復号化部143、サーバー側暗号化部144に渡される。SSLコネクションが確立された後、ネットワーク経由複製サーバー鍵登録部125は、サーバー側暗号化部144によって暗号化された、複製鍵取得リクエストを、サーバー側送信部114に送信する。このリクエストは、HTTPのプロトコルに従った書式であって、HTTPヘッダーもしくはHTTPボディー部分に鍵取得リクエストであることが分かる記述があればどのようなものでもよい。例えば、図11に示すようにHTTPヘッダーのContent−Typeに鍵取得要求であることを示すtext/key−exchange−requestを明示する等の方法でもよい。
【0059】
リクエストを受けたWebサーバー204は、複製鍵リクエスト判別部221によって複製鍵要求リクエストであることを判定すると、Webサーバー204上にあるサーバー証明書・秘密鍵の複製を取得し、複製鍵記載部222によってHTTPヘッダーもしくはHTTPボディーに複製サーバー証明書・秘密鍵k05を記載したレスポンスを生成する。このレスポンスはHTTPプロトコルに従った書式であって、HTTPヘッダーもしくはHTTPボディー部分に複サーバー証明書・秘密鍵が記載されている。例えば、図12に示すようなレスポンスでもよい。レスポンスは、共通鍵k04によって暗号化された後、Webサーバーから送信され、プロキシ1のサーバー側受信部113は、そのレスポンスを受信する。受信したレスポンスは、サーバー側復号化部143で共通鍵k4によって復号化され、ネットワーク経由複製サーバー鍵登録部125に渡される。ネットワーク経由複製サーバー鍵登録部125は、レスポンスから複製サーバー証明書・秘密鍵k05を抽出し、複製サーバー鍵保持部123に登録する。もし、既に同名のサーバーが登録されている場合は、取得した複製サーバー証明書・秘密鍵k05を上書き登録する。
【0060】
このように、プロキシ側にネットワーク経由複製サーバー鍵登録部125を備え、対象サーバー側に複製鍵取得リクエスト判別部221と複製鍵記載部222を備えることで、ネットワーク経由で対象サーバーのサーバー証明書・秘密鍵の複製をプロキシ1の複製鍵保持部123に登録することが可能となる。
【0061】
これによって、新規Webサーバー導入時や、サーバー証明書の期限切れがきた場合の更新に手間を大幅に省くことが可能となる。
【0062】
また、本実施形態のプロキシ1及び複数のWebサーバーによって、暗号化されたデータをプロキシ1上で復号化し、データ処理を施すことが可能なデータ提供システムを構築することが可能となる。
【0063】
なお、以上の各機能は、ソフトウェアとして実現可能である。
【0064】
また、本実施形態は、コンピュータに所定の手段を実行させるための(あるいはコンピュータを所定の手段として機能させるための、あるいはコンピュータに所定の機能を実現させるための)プログラムとして実施することもでき、該プログラムを記録したコンピュータ読取り可能な記録媒体として実施することもできる。
【0065】
なお、この発明の実施の形態で例示した構成は一例であって、それ以外の構成を排除する趣旨のものではなく、例示した構成の一部を他のもので置き換えたり、例示した構成の一部を省いたり、例示した構成に別の機能あるいは要素を付加したり、それらを組み合わせたりすることなどによって得られる別の構成も可能である。また、例示した構成と論理的に等価な別の構成、例示した構成と論理的に等価な部分を含む別の構成、例示した構成の要部と論理的に等価な別の構成なども可能である。また、例示した構成と同一もしくは類似の目的を達成する別の構成、例示した構成と同一もしくは類似の効果を奏する別の構成なども可能である。
また、この発明の実施の形態で例示した各種構成部分についての各種バリエーションは、適宜組み合わせて実施することが可能である。
【0066】
また、この発明の実施の形態は、個別装置としての発明、関連を持つ2以上の装置についての発明、システム全体としての発明、個別装置内部の構成部分についての発明、またはそれらに対応する方法の発明等、種々の観点、段階、概念またはカテゴリに係る発明を包含・内在するものである。
【0067】
従って、この発明の実施の形態に開示した内容からは、例示した構成に限定されることなく発明を抽出することができるものである。
【0068】
本発明は、上述した実施の形態に限定されるものではなく、その技術的範囲において種々変形して実施することができる。
【0069】
【発明の効果】
本発明によれば、複数のサーバー装置を対象として、各サーバー装置と各クライアント装置との間でデータを暗号化してやり取りする場合に、該暗号化されたデータを復号化したものを用いたデータ処理を行うことが可能になる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るシステムの構成例を示す図
【図2】同実施形態に係るプロキシの構成例を示す図
【図3】同実施形態に係るプロキシを用いた場合のSSLコネクションを説明するための概念図
【図4】同実施形態におけるWebブラウザ、プロキシ、Webサーバー間のデータの流れの一例を示す図
【図5】同実施形態における第1のSSLコネクション及び第2のSSLコネクションを確立する処理の流れの一例を示すフローチャート
【図6】同実施形態におけるプロキシの複製サーバー鍵保持部の内部構成例を示す図
【図7】同実施形態における第1のSSLコネクション及び第2のSSLコネクションが確立した後のプロキシ内のデータの流れの一例を示す図
【図8】同実施形態に係るプロキシの他の構成例を示す図
【図9】同実施形態に係るサーバーの構成例を示す図
【図10】同実施形態におけるネットワーク経由で複製サーバー証明書・秘密鍵を登録する際の処理手順の一例を示すフローチャート
【図11】同実施形態における鍵取得リクエストの一例を示す図
【図12】同実施形態における鍵取得リクエストに対応するレスポンスの一例を示す図
【符号の説明】
1…プロキシ(情報転送装置)、201〜204…Webサーバー、3…ファイアーウォール、4…クライアント、401…Webブラウザ、5…イントラネット、6…LAN、7…外部ネットワーク、110…通信部、111…クライアント側受信部、112…クライアント側送信部、113…サーバー側受信部、114…サーバー側送信部、120…サーバー情報管理部、121…サーバー名取得部、122…複製サーバー鍵取得部、123…複製サーバー鍵保持部、124…複製サーバー鍵登録部、125…ネットワーク経由複製サーバー鍵登録部、130…SSLコネクション確立部、131…クライアント側SSLハンドシェイク部、132…サーバー側SSLハンドシェイク部、140…暗号化・復号化部、141…クライアント側復号化部、142…クライアント側暗号化部、143…サーバー側復号化部、144…サーバー側暗号化部、150,151…データ処理部、221…複製鍵取得リクエスト判別部、222…複製鍵記載部
【発明の属する技術分野】
本発明は、データを転送するデータ転送装置、情報を提供するサーバー装置、データ転送装置と複数のサーバー装置とを含む情報提供システム、データ転送方法及びプログラムに関する。
【0002】
【従来の技術】
従来、Web閲覧では、Web閲覧者がクライアント上のWeb閲覧ソフトを用いてWebサーバーにリクエストを送信し、リクエストを受信したWebサーバーはリクエストに応じたレスポンスをクライアントに送信し、クライアントはレスポンスを受けWeb閲覧ソフトへの表示等を行う。その際、クライアント−サーバー間を流れるWebデータは、クライアントとWebサーバーを経由するネットワークの途中にあるプロキシに代表されるデータ転送装置上でキャッシュが行なわれる。キャッシュを利用することで、実際にネットワークを流れるデータ量を削減することができるとともに、レスポンスタイムの向上にも有効に働く。
【0003】
また、近年、インターネットの普及に伴いWebサーバーへのリクエストが増加し、Webサーバーの負荷がレスポンスタイムに大きな影響を及ぼしている。このような状況下で、Webサーバーへのリクエストを削減するために、サーバー側システムの一部としてリバース型プロキシが導入されている。リバース型プロキシは、Webサーバー一つに対して一つ設置され、クライアントからのリクエストを受けると、キャッシュされているページがLRUやLFUアルゴリズムによりその有効性が保証されている場合は、Webサーバーに代わってクライアントにレスポンスを返す。これによって、Webサーバーの負荷を軽減し、レスポンスタイムの向上を実現するとともに、Webサーバーが過負荷によってダウンする事態の回避を実現している。
【0004】
一方、近年のインターネットの利用拡大に伴って、ECサイト等を利用して個人情報や企業情報等といった機密情報をWeb経由でデータ交換を行なう機会が増加している。このようにWeb閲覧者・Webサーバー以外の第三者に機密情報の漏洩を防ぐ技術として、Secure Socket Layer(SSL)が利用されている。SSLを用いることで、クライアント−Webサーバー間で行なわれるデータ交換を暗号化し、ネットワーク途中での機密情報の盗聴や漏洩、サーバーやクライアントの成りすまし等によるデータの盗聴や改ざん等を防止し、機密情報の第三者への流出等を防ぐ安全なWebデータ交換が実現されている。SSLは、いわゆるPKI(Public Key Infrastructure)アプリケーションの一つであり、RSAに代表される暗号化アルゴリズムを用いた公開鍵暗号化方式を利用している。クライアント−Webサーバー間でSSLコネクションを確立するためには、サーバーが正当なものであることをCA(Certificate Authority)が保証するサーバー証明書と秘密鍵のペアを、Webサーバーが保持している必要がある。サーバー証明書には、そのサーバーのサーバー名や管理者の氏名、住所、メールアドレス等の他に公開鍵が含まれており、その正当性を保証するためにCAが電子署名を行なったものである。SSLの公開鍵暗号化方式によってクライアント−サーバー間に暗号化ネットワークが確立されると、公開鍵暗号化方式より高速にデータの暗号化・復号化を行なうために、DESやトリプルDES等といった暗号化アルゴリズムによる共通鍵をWebサーバー・クライアント間で交換・共有し、実際のデータ暗号化・復号化には、その共通鍵を用いた共通鍵暗号化方式が利用される。つまり、SSLでは、共通鍵をクライアント−サーバー間で安全に交換するために、公開鍵暗号化方式が用いられる。Client Helloメッセージの送信から共通鍵の交換までを、SSLハンドシェイクと呼ぶ。また、SSLハンドシェイクを終了し、サーバークライアント間で共通鍵による暗号化・復号化が行なわれるコネクションを、SSLコネクションと呼ぶ。
【0005】
リバース型プロキシの場合、SSLコネクションを確立するのに必要なサーバー証明書と秘密鍵はプロキシが保有し、クライアント−プロキシ間でSSLコネクションが確立される。この場合、プロキシ上でデータが復号化されるため、キャッシュ等といった復号化されたデータに対するデータ処理を実行することが可能である。ただし、リバース型プロキシの場合は、一つのプロキシに対して一つのWebサーバーしか復号化することが出来ない。
【0006】
一方、フォーワード型プロキシの場合、プロキシは、SSL通信には関与せず、クライアント−Webサーバー間で確立されたSSLコネクションによって暗号化されたWebデータを、素通し(トンネリング)している。これは、フォーワード型プロキシはその上流に複数のWebサーバーがあり、それらのサーバー証明書と秘密鍵を保有していないことや、プロキシがサーバー側システムにあるとは限らないために、安全性の面からプロキシ上でWebデータの復号化を行なうことに、問題があるためである。このため、フォーワード型プロキシ上で、キャッシュ等といった復号化されたデータを用いたデータ処理を行うことができない。
【0007】
なお、プロキシについては例えば非特許文献1に詳しく開示されている。
【0008】
【非特許文献1】
「Web プロキシサーバー」、アリ・ルネトオン著、1998年、プレンティスホール出版、ISBN:4-89471-089-7
【0009】
【発明が解決しようとする課題】
従来のプロキシでは、リバース型であってもフォーワード型であっても、複数のWebサーバーが行なう暗号化された通信を復号化し、データ処理を行なうことができなかった。
【0010】
本発明は、上記事情を考慮してなされたもので、複数のサーバー装置を対象として、各サーバー装置と各クライアント装置との間でデータを暗号化してやり取りする場合に、該暗号化されたデータを復号化したものを用いたデータ処理を行うことが可能なデータ転送装置、サーバー装置、情報提供システム、データ転送方法及びプログラムを提供することを目的とする。
【0011】
【課題を解決するための手段】
本発明に係るデータ転送装置は、クライアント装置から送信された、サーバー装置への接続要求メッセージを受信するための手段と、前記接続要求メッセージが受信された場合に、前記サーバー装置を代行して、前記クライアント装置との間で、前記クライアント装置と前記サーバー装置との間で受け渡しされるデータを暗号化して転送するための第1のコネクションを設定するための第1のコネクション設定手段と、前記接続要求メッセージが受信された場合に、前記サーバー装置との間で、前記クライアント装置と前記サーバー装置との間で受け渡しされるデータを暗号化して転送するための第2のコネクションを設定するための第2のコネクション設定手段とを備えたことを特徴とする。
【0012】
好ましくは、前記第1のコネクションを介して、前記クライアント装置から転送されてきた、暗号化されたリクエストメッセージを受信するための手段と、受信された前記暗号化されたリクエストメッセージを復号化するための手段と、復号化された前記リクエストメッセージに対して、所定のデータ処理を施すための第1の処理手段と、前記所定のデータ処理を施された前記リクエストメッセージを再度暗号化するための手段と、暗号化された前記リクエストメッセージを前記第2のコネクションを介して前記サーバー装置へ送信するための手段とを更に備えるようにしてもよい。
【0013】
好ましくは、前記第2のコネクションを介して、前記サーバー装置から転送されてきた、暗号化されたレスポンスメッセージを受信するための手段と、受信された前記暗号化されたレスポンスメッセージを復号化するための手段と、復号化された前記レスポンスメッセージに対して、所定のデータ処理を施すための第2の処理手段と、前記所定のデータ処理を施された前記レスポンスメッセージを再度暗号化するための手段と、暗号化された前記レスポンスメッセージを前記第1のコネクションを介して前記クライアント装置へ送信するための手段とを更に備えるようにしてもよい。
【0014】
また、本発明に係る情報提供システムは、前記データ転送装置と、複数のサーバー装置とを備えたことを特徴とする。
【0015】
また、本発明に係るサーバー装置は、前記データ転送装置との間で、前記固有の情報を暗号化して転送するためのコネクションを設定した後に、該コネクションを介して該データ転送装置から前記固有の情報を要求するリクエストメッセージを受信した場合に、前記固有の情報を記述したレスポンスメッセージを該コネクションを介して該データ転送装置へ送信する手段を備えたことを特徴とする。
【0016】
また、本発明に係る情報提供システムは、前記データ転送装置と、複数の前記サーバー装置とを備えたことを特徴とする。
【0017】
また、本発明に係るデータ転送方法は、クライアント装置から送信された、サーバー装置への接続要求メッセージを受信するステップと、前記接続要求メッセージが受信された場合に、前記サーバー装置を代行して、前記クライアント装置との間で、前記クライアント装置と前記サーバー装置との間で受け渡しされるデータを暗号化して転送するための第1のコネクションを設定するステップと、前記接続要求メッセージが受信された場合に、前記サーバー装置との間で、前記クライアント装置と前記サーバー装置との間で受け渡しされるデータを暗号化して転送するための第2のコネクションを設定するステップとを有することを特徴とする。
【0018】
なお、装置に係る本発明は方法に係る発明としても成立し、方法に係る本発明は装置に係る発明としても成立する。
【0019】
また、装置または方法に係る本発明は、コンピュータに当該発明に相当する手順を実行させるための(あるいはコンピュータを当該発明に相当する手段として機能させるための、あるいはコンピュータに当該発明に相当する機能を実現させるための)プログラムとしても成立し、該プログラムを記録したコンピュータ読取り可能な記録媒体としても成立する。
【0020】
本発明によれば、複数のサーバー装置を対象として、各サーバー装置と各クライアント装置との間でデータを暗号化してやり取りする場合に、復号化されたデータを取得できるため、該暗号化されたデータを復号化したものを用いたデータ処理を行うことが可能になる。
【0021】
また、本発明によれば、例えば、複数のWebサーバーとWebブラウザの間で行なわれるSSLによる暗号化通信をプロキシ上で復号化した状態でのデータ処理が可能となる。また、例えば、新規Webサーバーの導入やサーバー証明書の更新に伴う手間を大幅に削減することが可能となる。
【0022】
【発明の実施の形態】
以下、図面を参照しながら発明の実施の形態を説明する。
【0023】
本実施形態のWebサーバー、プロキシ、Webブラウザは、いずれも計算機上でソフトウェア(Webサーバー・プログラム、プロキシ・プログラム、Webブラウザ・プログラム)を動作させる形で実現することができる。この場合に、必要に応じて計算機所望の機能を有するOSやドライバソフト、あるいは通信インターフェース装置や外部記憶装置や入出力装置といったハードウェアが搭載、あるいは接続される。また、この場合に、ユーザーあるいは管理者からの情報やユーザーへの情報呈示等のために、グラフィカル・ユーザー・インターフェース(GUI)を用いると好ましい。
【0024】
本実施形態では、World Wide Webシステムでの通信は、HTTPプロトコルに従って行なわれる。また、暗号化通信は、HTTPSプロトコルに従って行なわれる。HTTPS(HTTP over SSL)プロトコルは、HTTPプロトコルにSSLプロトコルの機能を追加したものである。本実施形態では、HTTPプロトコルに関してはRFC1945に示されているHTTP1.0を用いて説明する。SSLプロトコルに関しては、“http://home.netscape.com/eng/ssl3/ssl-toc.html”に示されているSSL3を用いて説明する。なお、以下の説明で用いられるHTTPのCONNECTメソッドに関しては例えばRFC2817に詳しい。
【0025】
図1に、本発明の一実施形態に係るシステムの基本的な構成例を示す。
【0026】
図1の構成例において、プロキシ(情報転送装置)1は、複数のWebサーバー(図1の例では、201,202,203の3台)に接続されているとともに、LAN6を経由してファイアーウォール3に接続されている。イントラネット5は、例えばオフィスやデータセンタなどに設けられ、ファイアーウォール3によって外部からの不正な進入を防止している。もちろん、イントラネット5内の構成は、図1の例に限定されるものではない。
【0027】
他方、クライアント4は、Webブラウザ401を用いて、外部ネットワーク7を経由してWebサーバー(図1の例ではWebサーバー201,202,203)にアクセス可能である。外部ネットワーク7は、例えばモデムを用いた公衆回線やPHS等を用いたワイヤレスネットワークなどでもよい。なお、プロキシ1が対象とするクライアントは、複数台存在し得るものであり、図1では、図中4の1台のクライアントのみを例示している。
【0028】
なお、図1では、当該イントラネット5の内部に設けられたプロキシ1が、当該イントラネット5内部のWebサーバーを対象とする構成であるが、複数のイントラネットの外部に設けられたプロキシが、それら複数のイントラネットの内部に(それぞれ1又は複数)存在するWebサーバーを対象とする構成も可能である。
【0029】
図2に、プロキシ1の内部構成例を示す。ただし、図2には、本実施形態を説明するのに必要な部分のみ示されている。図3は、Webブラウザ201とプロキシ1との間の第1のSSLコネクションと、プロキシ1とWebブラウザ201との間の第2のSSLコネクションとを概念的に示したものである。なお、図2は、矢印によって、図3に示されている第1のSSLコネクション及び第2のSSLコネクションを確立するまでのデータの流れをも併せて示している。
【0030】
図2に示されるように、プロキシ1は、通信部110、サーバー情報管理部120、SSLコネクション確立部130、暗号化・復号化部140、データ処理部150を備えている。
【0031】
また、通信部110は、クライアント側ネットワークからデータを受信するクライアント側受信部111、クライアント側ネットワークへデータを送信するクライアント側送信部112、Webサーバー側ネットワークからデータを受信するサーバー側受信部113及びWebサーバー側ネットワークへデータを送信するサーバー側送信部114を含む。ただし、クライアント側受信部111、クライアント側送信部112、サーバー側受信部113及びサーバー側送信部114は、物理的には同じネットワーク・インターフェースであってもよく、本実施形態では説明の簡易化のために仮想的に分割した場合を示している。
【0032】
サーバー情報管理部120は、サーバー名取得部121、複製サーバー鍵取得部122、複製サーバー鍵保持部123、複製サーバー鍵登録部124を含む。
【0033】
SSLコネクション確立部130は、SSLハンドシェイクプロトコルに従ってWebブラウザとサーバー側SSLハンドシェイクを行なうクライアント側SSLハンドシェイク部131、SSLハンドシェイクプロトコルに従ってWebサーバーとクライアント側SSLハンドシェイクを行なうサーバー側SSLハンドシェイク部132を含む。
【0034】
暗号化・復号化部140は、Webブラウザから受信する暗号化されたデータを復号化するクライアント側復号部141、Webブラウザへ送信するデータを暗号化するクライアント側暗号化部142、Webサーバーから受信する暗号化されたデータを復号化するサーバー側復号化部143、Webサーバーへ送信するデータを暗号化するサーバー側暗号化部144を含む。
【0035】
データ処理部150は、復号化されたデータをもとに所定の処理を行うデータ処理部151を含む。データ処理部151は、WebブラウザからWebサーバーへのリクエストのみについて処理を行うものであってもよいし、WebサーバーからWebブラウザへのレスポンスのみについて処理を行うものであってもよいし、それらリクエストとレスポンスとの両方について処理を行うものであってもよい。また、それらリクエストとレスポンスとの両方について処理を行う場合に、1つのデータ処理部でそれらリクエストとレスポンスとの両方について処理を行うようにしてもよいし、リクエストを処理するデータ処理部とレスポンスを処理するデータ処理部を別々に備えるようにしてもよい。
【0036】
複製サーバー鍵登録部124によって予め登録された複製サーバー証明書・秘密鍵(k01とする)は、複製サーバー鍵保持部123から複製サーバー鍵取得部122によって取得され、クライアント側SSLハンドシェイク部131に渡される。複製サーバー鍵登録部124は、例えば、プロキシ管理者などによって、設定ファイル・コマンドラインによる指令等によって、サーバー名をキーとして、該当Webサーバーのサーバー証明書・秘密鍵の複製を、複製サーバー鍵保持部123に登録する。
【0037】
クライアント側共通鍵(k02とする)は、クライアント側SSLハンドシェイク部131によって確立された第1のSSLコネクションで用いられる共通鍵であり、クライアント側SSLハンドシェイク部131からクライアント側復号化部141及びクライアント側暗号化部142に渡される。
【0038】
サーバー側共通鍵(k03とする)は、サーバー側SSLハンドシェイク部132によって確立された第2のSSLコネクションで用いられる共通鍵であり、サーバー側SSLハンドシェイク部132からサーバー側復号化部143及びサーバー側暗号化部144に渡される。
【0039】
以下、本実施形態の処理の流れについて説明する。
【0040】
図4に、Webブラウザ401、プロキシ1、Webサーバー201(www.aaa.co.jp)の間での処理の流れの一例を示す。なお、図4の例では、第2のSSLコネクションが第1のSSLコネクションより時間的に早く確立されているが、その逆でも構わない。
【0041】
図5は、図3に示されている第1のSSLコネクション(図中21)及び第2のSSLコネクション(図中22)が確立されるプロセスを、図2に示されている各構成要素の働きを含めて示したフローチャートの一例である。
【0042】
プロキシ1のクライアント側受信部111がWebブラウザ401からのリクエスト“CONNECT www.aaa.co.jp:443 HTTP1.0”を受信(ステップS1、P1)すると、サーバー名取得部121はリクエストからサーバー名“www.aaa.co.jp”を取得する(ステップS2)。サーバー名取得部121は複製サーバー鍵取得部122にサーバー名を渡し、複製サーバー鍵取得部122は複製サーバー鍵保持部123に該当するWebサーバーが登録されているか否かを問い合わせる(ステップS3)。
【0043】
ステップS4において、該当するWebサーバーが複製サーバー鍵保持部123に登録されている場合は、複製サーバー鍵取得部122は複製サーバー鍵保持部123よりWebサーバー(www.aaa.co.jp)の複製サーバー証明書・秘密鍵k01を取得し(ステップS10)、クライアント側SSLハンドシェイク部131にそれらを渡すとともに、サーバー側SSLハンドシェイク部132に該当サーバー名(www.aaa.co.jp)を渡す。クライアント側SSLハンドシェイク部131は渡された(ステップS11)複製サーバー鍵・秘密鍵k01を用いてSSLハンドシェイクプロトコルに従ってWebブラウザ401とクライアント側受信部111・送信部112を経由して第1のSSLコネクションを確立する(ステップS12,S13、P3)。第1のSSLコネクションで利用される共通鍵k02は、クライアント側復号化部141及びクライアント側暗号化部142に渡される(ステップS14)。他方、サーバー側SSLハンドシェイク部132は、SSLハンドシェイクプロトコルに従って、サーバー側受信部113・送信部114を経由してWebサーバー(www.aaa.co.jp)とSSLハンドシェイクを行なう(ステップS16,S17,S18、P2)。このハンドシェイクには、Webサーバー(www.aaa.co.jp)が持っているサーバー証明書と秘密鍵を用いて実現される。こうして確立された第2のSSLコネクションで利用される共通鍵k03はサーバー側復号化部143及びサーバー側復号化部144に渡される(ステップS19)。
【0044】
なお、ステップS4において、該当するWebサーバーが複製サーバー鍵保持部123に登録されていない場合は、例えばDNSやHostsファイル等により、リクエストされたWebサーバーがネットワーク内に存在するかを調べ(ステップS5)、該当するWebサーバーがネットワーク内に存在するときは(ステップS6)、通常のフォーワード型プロキシと同様にWebブラウザ401に対して“200 Connection Established”メッセージを送信して、トンネリングの準備が完了した旨を通知する(ステップS7)。以後、Webブラウザ401−Webサーバー201(www.aaa.co.jp)の間でClient Helloから始まるSSLハンドシェイクが実行されSSLコネクションが確立される(ステップS8)。SSLハンドシェイク中及び暗号化通信中は、プロキシはWebブラウザ401−Webサーバー201間のデータ交換をトンネリングする。他方、該当するWebサーバーがネットワーク内に存在しないときは(ステップS9)、“404 Not Found”というHTTPレスポンスをWebブラウザ401にクライアント側送信部112を経由して送信する。
【0045】
図6に、プロキシ1の複製サーバー鍵保持部123の構造例を示す。
【0046】
この構造例では、複製サーバー鍵保持部123は、サーバー名を識別子として、当該サーバー名が示すWebサーバーの複製されたサーバー証明書へのポインタ及び秘密鍵へのポインタを持つ。この例では、ポインタとしてファイル名が指定されているが、例えば、メモリ上のアドレスを持つなどの他の方法でもよい。
【0047】
図7に、第1のSSLコネクション及び第2のSSLコネクションが確立された後のプロキシ1上でのWeb通信プロセスの説明を簡易化するために、図2からサーバー情報管理部120とSSLコネクション確立部130を省いた構成要素を示す。
【0048】
第1及び第2のSSLコネクションが確立された後、Webブラウザ401から例えば“GET www.aaa.co.jp/hello.html HTTP/1.0”というリクエストが送信されたとする(P4)。このリクエストは、第1のSSLコネクションでWebブラウザとプロキシ1で交換された共通鍵k02で暗号化されている。プロキシ1のクライアント側受信部111が暗号化されたリクエストを受信すると、該暗号化されたリクエスト(図中、31)はクライアント側復号化部141で共通鍵k02によって復号化される。復号化されたリクエスト(図中、32)は第2のSSLコネクションでWebサーバー(www.aaa.co.jp)と交換した共通鍵k03をによってサーバー側暗号化部144で暗号化され、該暗号化されたリクエスト(図中、33)はサーバー側送信部114からWebサーバー(www.aaa.co.jp)へ送信される(P5)。
【0049】
送信されてきた暗号化されたリクエストを受けたWebサーバー(www.aaa.co.jp)は、これを共通鍵k03で復号化し、該リクエストをもとにレスポンスを生成し、該レスポンスを共通鍵k03で暗号化し、これをプロキシ1へ送信する(P6)。
【0050】
プロキシ1のサーバー側受信部113は、送信されてきた暗号化されたレスポンスをサーバー側受信部113で受信し、サーバー側復号部143で該暗号化されたレスポンス(図中、34)を共通鍵k03によって復号化する。復号化されたレスポンス(図中、35)は、例えばキャッシュやデータ圧縮や差分情報の抽出などの所定のデータ処理をデータ処理部151で施された後、クライアント側暗号化部142で共通鍵k02によって暗号化され、該暗号化されたレスポンス(図中、36)はクライアント側送信部112を経由してブラウザ401へ送信される(P7)。
【0051】
以上説明してきたように、本実施形態のプロキシ1は、サーバー名取得部121、複製サーバー鍵取得部122、複製サーバー鍵保持部123という新たな手段を持つことで、従来トンネリングしてきたWebブラウザ−Webサーバー間で確立されるSSLコネクションによって暗号化されたデータをプロキシ上で復号化し、データ処理部151によって復号化されたデータに対して所望のデータ処理を行なうことが可能となる。
【0052】
また、図1に示すように、本実施形態のプロキシ1と複数のWebサーバーをファイアーウォールに守られた安全なネットワークに配置することで、複数のWebサーバーとWebブラウザとの通信をプロキシ上で復号化・データ処理を行なうデータ提供システムの構築が可能となる。
【0053】
なお、クライアント側SSLハンドシェイク部131・クライアント側復号化部141・クライアント側暗号化部142は、通常、Webサーバーに備わっている機能である。サーバー側SSLハンドシェイク部132・サーバー側復号化部143・サーバー側暗号化部144は、通常、Webブラウザに備わっている機能である。これらは、SSLプロトコルを実装したソフトウェアもしくはハードウェアである。
【0054】
データ処理部151には、例えば、squid等の従来のプロキシでも行なってきた静的ページのキャッシュや、画像の圧縮等の処理が該当する。静的なページとは、サーバー上にスタティックに配置されたhtmlや画像ファイル等といったWebリソースの事を指し、HTTPプロトコルで規定される有効期限内ではアクセスの度に変更されないものである。なお、本実施形態のデータ処理部151は、静的なページのキャッシュに加え動的なページのキャッシュについても適用可能である。動的なページとは、CGI、ASP、Servlet等が代表する動的ページ生成技術によって生成されたページのことを指し、Webサーバーへリクエストが届いた時点で上記プログラムによって生成されるページのことである。動的なページはアクセスの度にページの内容が変化し、従来の静的なページをキャッシュするsquidなどのプロキシ・プログラムでは、キャッシュの対象外となっていた。特開2002−268935に示されたフィンガープリントを用いたキャッシュ機構を備えることで、フィンガープリントのみの転送やベースコンテンツからの差分データとフィンガープリントのみの転送ですみ、ネットワーク上を流れるデータ転送量を削減することが可能であるが、本実施形態のデータ処理部151は、このフィンガープリントキャッシュもその対象とすることが可能である。この場合、プロキシ1は、サーバー側プロキシを兼ねることとなる。また、クライアント側プロキシは、別途、クライアント4上に、あるいはクライアント4に接続された計算機上に、構築されることとなる。クライアント側プロキシがWebブラウザのPlug−inとして実現されている場合は、本実施形態で示されている構成でよい。
【0055】
次いで、図8に、図2のプロキシ1を修正した構成例を示す。この構成例は、ネットワーク経由でWebサーバーからサーバー証明書・秘密鍵の複製をサーバー鍵保持部123に登録する、ネットワーク経由複製サーバー鍵登録部125を備えたものである。なお、図2の構成例の複製サーバー鍵登録部124の代わりに、ネットワーク経由複製サーバー鍵登録部125を備えてもよいし、図2の構成例の複製サーバー鍵登録部124に加えて、ネットワーク経由複製サーバー鍵登録部125を更に備えてもよい。
【0056】
他方、図9に、ネットワーク経由複製サーバー鍵登録部125を備えたプロキシ1に対応するために、鍵取得リクエストを判定する複製鍵取得リクエスト判別部221とサーバー証明書・秘密鍵の複製が記載されたレスポンスを生成する複製鍵記載部222を備えたWebサーバー204を示す(なお、図9では、説明を簡略化するために、受信部及び送信部を含む通信部210以外の部分をまとめてサーバー処理部220として示している)。
【0057】
図10に、この場合の処理手順の一例を示す。
【0058】
ネットワーク経由複製サーバー鍵登録部125は、例えばキーボード等の入力装置や設定ファイル等によって指定されたWebサーバー204とSSLコネクションを確立するために、サーバー側ハンドシェイク部132に指令を出す。サーバー側SSLハンドシェイク部132は、サーバー側送信部114・受信部113を経由してWebサーバーとSSLハンドシェイクプロトコルに従ってSSLコネクションを確立する。このSSLハンドシェイクによってWebサーバー204と交換された共通鍵k04は、サーバー側復号化部143、サーバー側暗号化部144に渡される。SSLコネクションが確立された後、ネットワーク経由複製サーバー鍵登録部125は、サーバー側暗号化部144によって暗号化された、複製鍵取得リクエストを、サーバー側送信部114に送信する。このリクエストは、HTTPのプロトコルに従った書式であって、HTTPヘッダーもしくはHTTPボディー部分に鍵取得リクエストであることが分かる記述があればどのようなものでもよい。例えば、図11に示すようにHTTPヘッダーのContent−Typeに鍵取得要求であることを示すtext/key−exchange−requestを明示する等の方法でもよい。
【0059】
リクエストを受けたWebサーバー204は、複製鍵リクエスト判別部221によって複製鍵要求リクエストであることを判定すると、Webサーバー204上にあるサーバー証明書・秘密鍵の複製を取得し、複製鍵記載部222によってHTTPヘッダーもしくはHTTPボディーに複製サーバー証明書・秘密鍵k05を記載したレスポンスを生成する。このレスポンスはHTTPプロトコルに従った書式であって、HTTPヘッダーもしくはHTTPボディー部分に複サーバー証明書・秘密鍵が記載されている。例えば、図12に示すようなレスポンスでもよい。レスポンスは、共通鍵k04によって暗号化された後、Webサーバーから送信され、プロキシ1のサーバー側受信部113は、そのレスポンスを受信する。受信したレスポンスは、サーバー側復号化部143で共通鍵k4によって復号化され、ネットワーク経由複製サーバー鍵登録部125に渡される。ネットワーク経由複製サーバー鍵登録部125は、レスポンスから複製サーバー証明書・秘密鍵k05を抽出し、複製サーバー鍵保持部123に登録する。もし、既に同名のサーバーが登録されている場合は、取得した複製サーバー証明書・秘密鍵k05を上書き登録する。
【0060】
このように、プロキシ側にネットワーク経由複製サーバー鍵登録部125を備え、対象サーバー側に複製鍵取得リクエスト判別部221と複製鍵記載部222を備えることで、ネットワーク経由で対象サーバーのサーバー証明書・秘密鍵の複製をプロキシ1の複製鍵保持部123に登録することが可能となる。
【0061】
これによって、新規Webサーバー導入時や、サーバー証明書の期限切れがきた場合の更新に手間を大幅に省くことが可能となる。
【0062】
また、本実施形態のプロキシ1及び複数のWebサーバーによって、暗号化されたデータをプロキシ1上で復号化し、データ処理を施すことが可能なデータ提供システムを構築することが可能となる。
【0063】
なお、以上の各機能は、ソフトウェアとして実現可能である。
【0064】
また、本実施形態は、コンピュータに所定の手段を実行させるための(あるいはコンピュータを所定の手段として機能させるための、あるいはコンピュータに所定の機能を実現させるための)プログラムとして実施することもでき、該プログラムを記録したコンピュータ読取り可能な記録媒体として実施することもできる。
【0065】
なお、この発明の実施の形態で例示した構成は一例であって、それ以外の構成を排除する趣旨のものではなく、例示した構成の一部を他のもので置き換えたり、例示した構成の一部を省いたり、例示した構成に別の機能あるいは要素を付加したり、それらを組み合わせたりすることなどによって得られる別の構成も可能である。また、例示した構成と論理的に等価な別の構成、例示した構成と論理的に等価な部分を含む別の構成、例示した構成の要部と論理的に等価な別の構成なども可能である。また、例示した構成と同一もしくは類似の目的を達成する別の構成、例示した構成と同一もしくは類似の効果を奏する別の構成なども可能である。
また、この発明の実施の形態で例示した各種構成部分についての各種バリエーションは、適宜組み合わせて実施することが可能である。
【0066】
また、この発明の実施の形態は、個別装置としての発明、関連を持つ2以上の装置についての発明、システム全体としての発明、個別装置内部の構成部分についての発明、またはそれらに対応する方法の発明等、種々の観点、段階、概念またはカテゴリに係る発明を包含・内在するものである。
【0067】
従って、この発明の実施の形態に開示した内容からは、例示した構成に限定されることなく発明を抽出することができるものである。
【0068】
本発明は、上述した実施の形態に限定されるものではなく、その技術的範囲において種々変形して実施することができる。
【0069】
【発明の効果】
本発明によれば、複数のサーバー装置を対象として、各サーバー装置と各クライアント装置との間でデータを暗号化してやり取りする場合に、該暗号化されたデータを復号化したものを用いたデータ処理を行うことが可能になる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るシステムの構成例を示す図
【図2】同実施形態に係るプロキシの構成例を示す図
【図3】同実施形態に係るプロキシを用いた場合のSSLコネクションを説明するための概念図
【図4】同実施形態におけるWebブラウザ、プロキシ、Webサーバー間のデータの流れの一例を示す図
【図5】同実施形態における第1のSSLコネクション及び第2のSSLコネクションを確立する処理の流れの一例を示すフローチャート
【図6】同実施形態におけるプロキシの複製サーバー鍵保持部の内部構成例を示す図
【図7】同実施形態における第1のSSLコネクション及び第2のSSLコネクションが確立した後のプロキシ内のデータの流れの一例を示す図
【図8】同実施形態に係るプロキシの他の構成例を示す図
【図9】同実施形態に係るサーバーの構成例を示す図
【図10】同実施形態におけるネットワーク経由で複製サーバー証明書・秘密鍵を登録する際の処理手順の一例を示すフローチャート
【図11】同実施形態における鍵取得リクエストの一例を示す図
【図12】同実施形態における鍵取得リクエストに対応するレスポンスの一例を示す図
【符号の説明】
1…プロキシ(情報転送装置)、201〜204…Webサーバー、3…ファイアーウォール、4…クライアント、401…Webブラウザ、5…イントラネット、6…LAN、7…外部ネットワーク、110…通信部、111…クライアント側受信部、112…クライアント側送信部、113…サーバー側受信部、114…サーバー側送信部、120…サーバー情報管理部、121…サーバー名取得部、122…複製サーバー鍵取得部、123…複製サーバー鍵保持部、124…複製サーバー鍵登録部、125…ネットワーク経由複製サーバー鍵登録部、130…SSLコネクション確立部、131…クライアント側SSLハンドシェイク部、132…サーバー側SSLハンドシェイク部、140…暗号化・復号化部、141…クライアント側復号化部、142…クライアント側暗号化部、143…サーバー側復号化部、144…サーバー側暗号化部、150,151…データ処理部、221…複製鍵取得リクエスト判別部、222…複製鍵記載部
Claims (20)
- クライアント装置から送信された、サーバー装置への接続要求メッセージを受信するための手段と、
前記接続要求メッセージが受信された場合に、前記サーバー装置を代行して、前記クライアント装置との間で、前記クライアント装置と前記サーバー装置との間で受け渡しされるデータを暗号化して転送するための第1のコネクションを設定するための第1のコネクション設定手段と、
前記接続要求メッセージが受信された場合に、前記サーバー装置との間で、前記クライアント装置と前記サーバー装置との間で受け渡しされるデータを暗号化して転送するための第2のコネクションを設定するための第2のコネクション設定手段とを備えたことを特徴とするデータ転送装置。 - 複数の前記サーバー装置のそれぞれについて、当該サーバー装置との間でデータを暗号化して転送するためのコネクションを設定する際に必要となる、当該サーバー装置に固有の情報を記憶するための記憶手段を更に備え、
前記第1のコネクション設定手段は、前記記憶手段に記憶された、前記サーバー装置に固有の情報を用いて、前記クライアント装置との間で、前記第1のコネクションを設定し、
前記第2のコネクション設定手段は、前記記憶手段に記憶された、前記サーバー装置に固有の情報を用いて、前記サーバー装置との間で、前記第2のコネクションを設定することを特徴とする請求項1に記載のデータ転送装置。 - 前記サーバー装置に固有の情報は、当該サーバー装置の正当性を保証するためのサーバー証明書と、データを暗号化して転送するにあたって用いられる秘密鍵とを含むものであることを特徴とする請求項2に記載のデータ転送装置。
- 前記第1のコネクション設定手段は、前記秘密鍵に基づく公開鍵暗号方式によって、前記第1のコネクションを転送するデータを暗号化するための第1の共通鍵を、前記クライアント装置との間で共有することを特徴とする請求項3に記載のデータ転送装置。
- 前記第2のコネクション設定手段は、前記秘密鍵に基づく公開鍵暗号方式によって、前記第2のコネクションを転送するデータを暗号化するための第2の共通鍵を、前記サーバー装置との間で共有することを特徴とする請求項3または4に記載のデータ転送装置。
- 前記記憶手段は、前記サーバー装置のサーバー名を識別子として、前記サーバー装置に固有の情報を記憶するものであり、
前記データ転送装置は、前記クライアント装置から前記接続要求メッセージが受信された場合に、該接続要求メッセージに含まれるサーバー装置に関する情報に基づいて、前記サーバー装置のサーバー名を特定し、該特定したサーバー名に基づいて、前記記憶手段から該特定したサーバー名を持つサーバー装置に固有の情報を取得して、前記第1及び第2のコネクション設定手段に与えるための手段を更に備えたことを特徴とする請求項2ないし5のいずれか1項に記載のデータ転送装置。 - 前記クライアント装置からの前記接続要求メッセージが受信された場合に、該接続要求メッセージに係る前記サーバー装置に固有の情報が前記記憶手段に記憶されていないときは、該クライアント装置と該サーバー装置との間のデータ転送については、前記第1及び第2のコネクションの設定をせずに、データのトンネリングを行うことを特徴とする請求項1ないし6のいずれか1項に記載のデータ転送装置。
- 前記記憶手段に前記サーバー装置に固有の情報が未だ記憶されていないサーバー装置との間で、該サーバー装置に固有の情報を暗号化して転送するための第3のコネクションを設定した後に、該第3のコネクションを介して、該サーバー装置から該サーバー装置に固有の情報を受信するための手段と、
受信した前記サーバー装置に固有の情報を前記記憶手段に登録するための手段とを更に備えたことを特徴とする請求項2ないし7のいずれか1項に記載のデータ転送装置。 - 前記第1のコネクションを介して、前記クライアント装置から転送されてきた、暗号化されたリクエストメッセージを受信するための手段と、
受信された前記暗号化されたリクエストメッセージを復号化するための手段と、
復号化された前記リクエストメッセージに対して、所定のデータ処理を施すための第1の処理手段と、
前記所定のデータ処理を施された前記リクエストメッセージを再度暗号化するための手段と、
暗号化された前記リクエストメッセージを前記第2のコネクションを介して前記サーバー装置へ送信するための手段とを更に備えたことを特徴とする請求項1ないし8のいずれか1項に記載のデータ転送装置。 - 前記第1の処理手段は、前記所定のデータ処理として、キャッシュ処理又は静的若しくは動的の圧縮処理を行うものであることを特徴とする請求項9に記載のデータ転送装置。
- 前記第2のコネクションを介して、前記サーバー装置から転送されてきた、暗号化されたレスポンスメッセージを受信するための手段と、
受信された前記暗号化されたレスポンスメッセージを復号化するための手段と、
復号化された前記レスポンスメッセージに対して、所定のデータ処理を施すための第2の処理手段と、
前記所定のデータ処理を施された前記レスポンスメッセージを再度暗号化するための手段と、
暗号化された前記レスポンスメッセージを前記第1のコネクションを介して前記クライアント装置へ送信するための手段とを更に備えたことを特徴とする請求項9または10に記載のデータ転送装置。 - 前記第2の処理手段は、前記所定のデータ処理として、キャッシュ処理又は静的若しくは動的の圧縮処理を行うものであることを特徴とする請求項11に記載のデータ転送装置。
- 請求項1ないし12のいずれか1項に記載のデータ転送装置と、複数のサーバー装置とを備えたことを特徴とする情報提供システム。
- 請求項1ないし12のいずれか1項に記載のデータ転送装置との間で、前記固有の情報を暗号化して転送するためのコネクションを設定した後に、該コネクションを介して該データ転送装置から前記固有の情報を要求するリクエストメッセージを受信した場合に、前記固有の情報を記述したレスポンスメッセージを該コネクションを介して該データ転送装置へ送信する手段を備えたことを特徴とするサーバー装置。
- 前記データ転送装置と、複数の前記サーバー装置とを備えたことを特徴とする請求項14に記載の情報提供システム。
- 前記情報提供システムを、ファイアーウォールに守られた安全なイントラネット内に構築したことを特徴とする請求項13または15に記載の情報提供システム。
- クライアント装置から送信された、サーバー装置への接続要求メッセージを受信するステップと、
前記接続要求メッセージが受信された場合に、前記サーバー装置を代行して、前記クライアント装置との間で、前記クライアント装置と前記サーバー装置との間で受け渡しされるデータを暗号化して転送するための第1のコネクションを設定するステップと、
前記接続要求メッセージが受信された場合に、前記サーバー装置との間で、前記クライアント装置と前記サーバー装置との間で受け渡しされるデータを暗号化して転送するための第2のコネクションを設定するステップとを有することを特徴とするデータ転送方法。 - 前記第1のコネクションを介して、前記クライアント装置から転送されてきた、暗号化されたリクエストメッセージを受信するステップと、
受信された前記暗号化されたリクエストメッセージを復号化するステップと、
復号化された前記リクエストメッセージに対して、所定のデータ処理を施すステップと、
前記所定のデータ処理を施された前記リクエストメッセージを再度暗号化するステップと、
暗号化された前記リクエストメッセージを前記第2のコネクションを介して前記サーバー装置へ送信するステップとを更に有することを特徴とする請求項17に記載のデータ転送方法。 - 前記第2のコネクションを介して、前記サーバー装置から転送されてきた、暗号化されたレスポンスメッセージを受信するステップと、
受信された前記暗号化されたレスポンスメッセージを復号化するステップと、復号化された前記レスポンスメッセージに対して、所定のデータ処理を施すステップと、
前記所定のデータ処理を施された前記レスポンスメッセージを再度暗号化するステップと、
暗号化された前記レスポンスメッセージを前記第1のコネクションを介して前記クライアント装置へ送信するステップとを更に有することを特徴とする請求項17または18に記載のデータ転送方法。 - コンピュータをデータ転送装置として機能させるためのプログラムであって、
クライアント装置から送信された、サーバー装置への接続要求メッセージを受信するための機能と、
前記接続要求メッセージが受信された場合に、前記サーバー装置を代行して、前記クライアント装置との間で、前記クライアント装置と前記サーバー装置との間で受け渡しされるデータを暗号化して転送するための第1のコネクションを設定するための機能と、
前記接続要求メッセージが受信された場合に、前記サーバー装置との間で、前記クライアント装置と前記サーバー装置との間で受け渡しされるデータを暗号化して転送するための第2のコネクションを設定するための機能とをコンピュータに実現させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002377050A JP2004206573A (ja) | 2002-12-26 | 2002-12-26 | データ転送装置、サーバー装置、情報提供システム、データ転送方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002377050A JP2004206573A (ja) | 2002-12-26 | 2002-12-26 | データ転送装置、サーバー装置、情報提供システム、データ転送方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004206573A true JP2004206573A (ja) | 2004-07-22 |
Family
ID=32814344
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002377050A Pending JP2004206573A (ja) | 2002-12-26 | 2002-12-26 | データ転送装置、サーバー装置、情報提供システム、データ転送方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004206573A (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006165678A (ja) * | 2004-12-02 | 2006-06-22 | Hitachi Ltd | 暗号化通信の中継方法、ゲートウェイサーバ装置、暗号化通信のプログラムおよび暗号化通信のプログラム記憶媒体 |
CN102118386A (zh) * | 2009-12-25 | 2011-07-06 | 佳能It解决方案股份有限公司 | 中继处理装置、中继处理方法 |
JP2011151785A (ja) * | 2009-12-25 | 2011-08-04 | Canon It Solutions Inc | 中継処理装置、中継処理方法及びプログラム |
CN102948131A (zh) * | 2010-04-21 | 2013-02-27 | 思杰系统有限公司 | 用于经由wan设备分离代理ssl的系统和方法 |
JP2015505994A (ja) * | 2011-12-16 | 2015-02-26 | アカマイ テクノロジーズ インコーポレイテッド | ローカルにアクセス可能な秘密鍵を用いないssl接続の終了 |
JP2020502896A (ja) * | 2016-12-16 | 2020-01-23 | アマゾン・テクノロジーズ、インコーポレイテッド | コンテンツ配信ネットワークを介した機密データの安全なデータ配給 |
US10979403B1 (en) | 2018-06-08 | 2021-04-13 | Amazon Technologies, Inc. | Cryptographic configuration enforcement |
US11159498B1 (en) | 2018-03-21 | 2021-10-26 | Amazon Technologies, Inc. | Information security proxy service |
-
2002
- 2002-12-26 JP JP2002377050A patent/JP2004206573A/ja active Pending
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4520840B2 (ja) * | 2004-12-02 | 2010-08-11 | 株式会社日立製作所 | 暗号化通信の中継方法、ゲートウェイサーバ装置、暗号化通信のプログラムおよび暗号化通信のプログラム記憶媒体 |
JP2006165678A (ja) * | 2004-12-02 | 2006-06-22 | Hitachi Ltd | 暗号化通信の中継方法、ゲートウェイサーバ装置、暗号化通信のプログラムおよび暗号化通信のプログラム記憶媒体 |
CN102118386A (zh) * | 2009-12-25 | 2011-07-06 | 佳能It解决方案股份有限公司 | 中继处理装置、中继处理方法 |
JP2011151785A (ja) * | 2009-12-25 | 2011-08-04 | Canon It Solutions Inc | 中継処理装置、中継処理方法及びプログラム |
JP2012044694A (ja) * | 2009-12-25 | 2012-03-01 | Canon It Solutions Inc | 中継処理装置、中継処理方法及びプログラム |
CN102948131B (zh) * | 2010-04-21 | 2015-07-15 | 思杰系统有限公司 | 用于经由wan设备分离代理ssl的系统和方法 |
CN102948131A (zh) * | 2010-04-21 | 2013-02-27 | 思杰系统有限公司 | 用于经由wan设备分离代理ssl的系统和方法 |
JP2015505994A (ja) * | 2011-12-16 | 2015-02-26 | アカマイ テクノロジーズ インコーポレイテッド | ローカルにアクセス可能な秘密鍵を用いないssl接続の終了 |
US9647835B2 (en) | 2011-12-16 | 2017-05-09 | Akamai Technologies, Inc. | Terminating SSL connections without locally-accessible private keys |
JP2020502896A (ja) * | 2016-12-16 | 2020-01-23 | アマゾン・テクノロジーズ、インコーポレイテッド | コンテンツ配信ネットワークを介した機密データの安全なデータ配給 |
US10887291B2 (en) | 2016-12-16 | 2021-01-05 | Amazon Technologies, Inc. | Secure data distribution of sensitive data across content delivery networks |
JP7036494B2 (ja) | 2016-12-16 | 2022-03-15 | アマゾン・テクノロジーズ、インコーポレイテッド | コンテンツ配信ネットワークを介した機密データの安全なデータ配給 |
US11159498B1 (en) | 2018-03-21 | 2021-10-26 | Amazon Technologies, Inc. | Information security proxy service |
US10979403B1 (en) | 2018-06-08 | 2021-04-13 | Amazon Technologies, Inc. | Cryptographic configuration enforcement |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4959750B2 (ja) | トランスコーディング・プロキシでの複数の起点サーバへの動的接続 | |
US9172682B2 (en) | Local authentication in proxy SSL tunnels using a client-side proxy agent | |
US9742806B1 (en) | Accessing SSL connection data by a third-party | |
JP4707992B2 (ja) | 暗号化通信システム | |
US7249377B1 (en) | Method for client delegation of security to a proxy | |
US20040015725A1 (en) | Client-side inspection and processing of secure content | |
US20040161110A1 (en) | Server apparatus, key management apparatus, and encrypted communication method | |
US20120023158A1 (en) | Method for secure transfer of multiple small messages | |
Kwon et al. | Integrated transport layer security: end-to-end security model between WTLS and TLS | |
WO2016112580A1 (zh) | 业务处理方法及装置 | |
Shacham et al. | Client-side caching for TLS | |
JP2004206573A (ja) | データ転送装置、サーバー装置、情報提供システム、データ転送方法及びプログラム | |
JPH06318939A (ja) | 暗号通信システム | |
JP3263879B2 (ja) | 暗号通信システム | |
US7890751B1 (en) | Method and system for increasing data access in a secure socket layer network environment | |
Singh et al. | Handshake Comparison Between TLS V 1.2 and TLS V 1.3 Protocol | |
JP2003338812A (ja) | 暗号化システム | |
WO2002046861A2 (en) | Systems and methods for communicating in a business environment | |
JP6549518B2 (ja) | コンテンツ配信ネットワークの代理装置、転送装置、クライアント装置及びプログラム | |
KR101594897B1 (ko) | 사물 인터넷에서 경량 사물간 보안 통신 세션 개설 방법 및 보안 통신 시스템 | |
JP2005184368A (ja) | 通信制御装置、通信制御方法、およびネットワークカメラシステム | |
EP4088438A1 (en) | Provision of digital content via a communication network | |
CN114244569A (zh) | Ssl vpn远程访问方法、系统和计算机设备 | |
CN114386054A (zh) | 用于消息存储处理和安全认证的控制方法、系统和介质 | |
Porambage et al. | CONVINcE |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040609 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071225 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080225 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20081028 |