(57)【要約】トランザクションアクセラレータは、セキュア接続を終了させるように構成することができる。サーバ側アクセラレータは、クライアントからのセキュア接続リクエストをインターセプトして、サーバに向かわせる。サーバ側アクセラレータはサーバの代わりにセキュア接続リクエストに応答し、これによりクライアントとサーバ側アクセラレータとの間のセキュア接続を確立する。または、サーバ側アクセラレータは、クライアントとサーバとの間のセキュア接続の確立を監視する。セキュア接続が確立された後、サーバ側アクセラレータはクライアント側アクセラレータにセキュリティ情報を送出し、クライアント側アクセラレータがセキュア接続制御の役割を担うことを可能にする。本構成の結果として、クライアント側アクセラレータは、セキュア接続上でデータを暗号化および解読して、サーバ側アクセラレータと協働して加速することができる。さらなる態様では、アクセラレータ間の加速されたトラフィックは、別のセキュア接続を介するネットワークを通じて伝送される。2009505493.tif 000003
2009505493.tif 000002
【特許請求の範囲】
【請求項１】
インターセプトエンティティを用いて、クライアントからのセキュア接続リクエストをインターセプトする工程；
クライアントとの、セキュア接続を介したデータのセキュア通信を可能にする少なくとも一つの属性に関連するセキュア接続を始動させる工程；および
ネットワークデバイスに属性を送出し、それによりクライアントとのセキュア接続をネットワークデバイスが維持することが可能になる工程
を含む、セキュア接続を始動させる方法。
【請求項２】
セキュア接続リクエストが、クライアントとサーバとの間の接続を始動させる、請求項1記載の方法。
【請求項３】
セキュア接続リクエストが、クライアントとサーバとの間に前もって確立された接続のセキュリティを始動させる、請求項1記載の方法。
【請求項４】
クライアントからのセキュア接続リクエストをインターセプトする工程が、
クライアントとインパス（in-path）である第二のインターセプトエンティティによって前もってインターセプトされ、インターセプトエンティティに再度向けられたセキュア接続リクエストを受信する工程
を含む、請求項1記載の方法。
【請求項５】
セキュア接続リクエストを受信する工程が、
キャッシングプロトコルを介してセキュア接続リクエストを受信する工程
を含む、請求項4記載の方法。
【請求項６】
クライアントからのセキュア接続リクエストをインターセプトする工程が、
クライアントとのインパスネットワーク接続を介して、クライアントからのセキュア接続リクエストをインターセプトする工程
を含む、請求項1記載の方法。
【請求項７】
クライアントとのセキュア接続を始動させる工程が、
インターセプトエンティティによって、クライアントとサーバとの間のセキュア接続の始動を観察する工程；
セキュア接続の始動から、セキュア接続の属性を決定する工程；および
クライアントとサーバとの間のセキュア接続の始動が完了した表示を受信する工程
を含む、請求項1記載の方法。
【請求項８】
セキュア接続の始動を観察する工程が、インターセプトエンティティにより、サーバに関連するセキュリティ情報を受信することによって容易になる、請求項7記載の方法。
【請求項９】
セキュア接続を始動させる工程が、
インターセプトエンティティとサーバとの間の第一のセキュア接続を始動させる工程；および
インターセプトエンティティとクライアントとの間の第二のセキュア接続を始動させる工程
を含む、請求項1記載の方法。
【請求項１０】
第一のセキュア接続の始動が、第二のセキュア接続を始動させる前に完了する、請求項9記載の方法。
【請求項１１】
第二のセキュア接続が、第一のセキュア接続の始動が完了する前に始動される、請求項9記載の方法。
【請求項１２】
属性が、セキュア接続用にデータを暗号化するために用いられる暗号を含む、請求項1記載の方法。
【請求項１３】
送出された属性を受信するネットワークデバイスが、ネットワーク上で、インターセプトエンティティよりもクライアントに近い、請求項1記載の方法。
【請求項１４】
ネットワークデバイスおよびインターセプトエンティティの、クライアントへのネットワーク上での近接度が、ネットワーク特性によって決定される、請求項13記載の方法。
【請求項１５】
ネットワーク特性が、ネットワークデバイスおよびインターセプトエンティティからクライアントへのネットワークの、ネットワーク待ち時間を含む、請求項14記載の方法。
【請求項１６】
ネットワーク特性が、ネットワークデバイスおよびインターセプトエンティティからクライアントへのネットワークの、ネットワーク帯域幅を含む、請求項14記載の方法。
【請求項１７】
送出された属性を受信するネットワークデバイスが、ローカルエリアネットワークを含む第一のネットワークによってクライアントから分離され、インターセプトエンティティが、ワイドエリアネットワークを含む第二のネットワークによって、クライアントから分離される、請求項14記載の方法。
【請求項１８】
送出された属性を受信するネットワークデバイスが、クライアントを含むコンピュータシステムに組み込まれる、請求項14記載の方法。
【請求項１９】
サーバからクライアントに向けられたデータをインターセプトする工程；
ネットワークデバイスがセキュア接続を介してクライアントとデータの一部をさらに通信するように、インディケータに関連するネットワークデバイスにデータの少なくとも一部を通信する工程
をさらに含む、請求項1記載の方法。
【請求項２０】
セキュア接続を介してクライアントからネットワークデバイスによって前もって受信された第二のデータに対応する第一のデータをネットワークデバイスから受信する工程；および
第一のデータに対応する第三のデータをサーバに通信する工程
をさらに含む、請求項1記載の方法。
【請求項２１】
ネットワークデバイスに属性を送出する工程が、
ネットワークデバイスとのさらなるセキュア接続を始動させる工程；および
さらなるセキュア接続を介して属性を通信する工程
を含む、請求項1記載の方法。
【請求項２２】
第一のネットワークデバイスで、クライアントからサーバへのセキュア接続リクエストをインターセプトする工程；
セキュア接続リクエストに応じて、第一のネットワークデバイスとクライアントとの間の第一のセキュア接続を始動させる工程；
第一のセキュア接続の始動に応じて、無事に完了させる工程；
第一のネットワークデバイスから、クライアントと第一のネットワークデバイスとの間の第一のセキュア接続が確立された第二のネットワークデバイスに、インディケータを通信する工程；および
クライアントとサーバとの間の通信がクライアントと第二のネットワークデバイスとの間の第一のセキュア接続を通過するように、第二のネットワークデバイスで、クライアントとの第一のセキュア接続制御の役割を担う工程
を含む、クライアントとセキュリティ上安全に通信する方法。
【請求項２３】
クライアントからのセキュア接続リクエストをインターセプトする工程が、
クライアントとインパスである第二のインターセプトエンティティによって前もってインターセプトされ、インターセプトエンティティに再度向けられたセキュア接続リクエストを受信する工程
を含む、請求項22記載の方法。
【請求項２４】
クライアントからのセキュア接続リクエストをインターセプトする工程が、
クライアントとのインパスネットワーク接続を介して、クライアントからのセキュア接続リクエストをインターセプトする工程
を含む、請求項22記載の方法。
【請求項２５】
サーバからクライアントに向けられた第一のデータを、第一のネットワークデバイスで受信する工程；
第一のネットワークデバイスから第二のネットワークデバイスに、第一のデータに対応する第二のデータを通信する工程；および
第一のセキュア接続を介して、第二のネットワークデバイスからクライアントに、第二のデータに対応する第三のデータを通信する工程
をさらに含む、請求項22記載の方法。
【請求項２６】
第二のデータが、第一のデータの最適化バージョンを含み、第三のデータが、第一のデータに等しい第二のデータの非最適化バージョンを含む、請求項25記載の方法。
【請求項２７】
サーバに向けられたクライアントからの第一のデータを、第一のセキュア接続を介して第二のネットワークデバイスで受信する工程；
第二のネットワークデバイスから第一のネットワークデバイスに、第一のデータに対応する第二のデータを通信する工程；および
第一のネットワークデバイスからサーバに、第二のデータに対応する第三のデータを通信する工程
をさらに含む、請求項22記載の方法。
【請求項２８】
第二のデータが、第一のデータの最適化バージョンを含み、第三のデータが、第一のデータに等しい第二のデータの非最適化バージョンを含む、請求項27記載の方法。
【請求項２９】
セキュア接続リクエストに応じてクライアントとの第一のセキュア接続を始動させる工程が、セキュア接続リクエストに応じてサーバがクライアントとのセキュア接続を確立することが可能であるかを決定する工程を含む、請求項22記載の方法。
【請求項３０】
セキュア接続リクエストに応じてサーバがクライアントとのセキュア接続を確立することが可能であるかを決定する工程が、第一のネットワークデバイスとサーバとの間の第二のセキュア接続を確立する工程を含む、請求項29記載の方法。
【請求項３１】
表示に応じた対称暗号鍵を用いて、第一のセキュア接続を介して第二のネットワークデバイスがクライアントとの通信を始動させる、請求項22記載の方法。
【請求項３２】
表示が対称暗号鍵を含む、請求項31記載の方法。
【請求項３３】
第二のネットワークデバイスによって、対称暗号鍵を選択する工程；
選択された対称鍵を第一のネットワークデバイスに通信する工程；および
第一のセキュア接続の始動中または始動後、第一のネットワークデバイスからクライアントに、選択された暗号鍵を通信する工程
をさらに含む、請求項31記載の方法。
【請求項３４】
第一および第二のネットワークデバイスが、第二のセキュア接続を介して通信する、請求項22記載の方法。
【請求項３５】
第一および第二のネットワークデバイスが、公開鍵暗号方式（public-key cryptography）と、互いに信頼できる認証機関によって署名された証明書とを用いて、第二のセキュア接続を始動させる、請求項34記載の方法。
【請求項３６】
第一および第二のネットワークデバイスが、自己署名された証明書と、そのような証明書の受入れを検討するための手順とを用いて、第二のセキュア接続を始動させる、請求項34記載の方法。
【請求項３７】
第二のセキュア接続が、第一のセキュア接続のセキュリティとは異なるセキュリティを用いる、請求項34記載の方法。
【請求項３８】
第二のセキュア接続が、第一のセキュア接続のセキュリティに類似したセキュリティを用いる、請求項34記載の方法。
【請求項３９】
第二のセキュア接続が第一のセキュア接続に関連するデータを通信し、第一と第二のネットワークデバイス間のさらなるセキュア接続が、さらなるクライアントに関連するデータを通信する、請求項34記載の方法。
【請求項４０】
単一の内部チャネル接続の使用の長さが、それを使用した外部チャネル接続の数によって決定される、請求項39記載の方法。
【請求項４１】
単一の内部チャネル接続の使用の長さが、該接続の最初の使用から経過した時間によって決定される、請求項39記載の方法。
【請求項４２】
内部チャネル接続のプールが再使用可能である、請求項39記載の方法。
【請求項４３】
サーバ側外部チャネル接続が、複数のクライアント側外部チャネル接続のために再使用される、請求項22記載の方法。
【請求項４４】
単一のサーバ側外部チャネル接続の使用の長さが、それを使用したクライアント側外部チャネル接続の数によって決定される、請求項43記載の方法。
【請求項４５】
単一のサーバ側外部チャネル接続の使用の長さが、該接続の最初の使用から経過した時間によって決定される、請求項43記載の方法。
【請求項４６】
内部チャネル接続のプールが再利用可能である、請求項43記載の方法。
【請求項４７】
セキュア接続リクエストに応じて、サーバがクライアントとのセキュア接続を確立することが可能であるかを決定する工程が、
サーバによって拒否された以前のセキュア接続リクエストを特徴付ける情報用の、セキュア接続キャッシュにアクセスする工程；
セキュア接続リクエストの特性と、前記情報とを比較する工程；
セキュア接続リクエストの特性が前記情報と類似しているという決定に応じて、サーバにセキュア接続リクエストを送出し、それによりサーバがクライアントとのセキュア接続を確立することが可能になる工程
を含む、請求項29記載の方法。
【請求項４８】
第一のネットワークデバイスに保存された秘密鍵情報の変更に応じて、セキュア接続キャッシュの少なくとも一部を無効化する工程
をさらに含む、請求項47記載の方法。
【請求項４９】
セキュア接続キャッシュの少なくとも一部を、サーバに接続されたさらなるネットワークデバイスと共有する工程
をさらに含む、請求項47記載の方法。
【請求項５０】
第二のネットワークデバイスで、クライアントとのセキュア接続制御の役割を担う工程が、
第二のネットワークデバイスで、クライアントによるセキュア接続再ネゴシエーションリクエストを検出する工程；
第二のネットワークデバイスから第一のネットワークデバイスに、セキュア接続再ネゴシエーションリクエストのインディケータを通信する工程；
セキュア接続再ネゴシエーションリクエストのインディケータに応じて、第一のネットワークデバイスで、クライアントとの第一のセキュア接続制御の役割を担う工程；
第一のネットワークデバイスで、第一のセキュア接続が第一のネットワークデバイスによって再ネゴシエートできるかを決定する工程；
第一のネットワークデバイスが第一のセキュア接続を再ネゴシエートできるという決定に応じて、クライアントとの第一のセキュア接続を再ネゴシエートする工程；および
第一のネットワークデバイスが第一のセキュア接続を再ネゴシエートできないという決定に応じて、サーバにセキュア接続再ネゴシエーションリクエストを送出し、それによりサーバがクライアントとのセキュア接続を再ネゴシエートすることが可能になる工程
を含む、請求項22記載の方法。
【請求項５１】
クライアントとサーバとの間のセキュア接続の始動を観察する工程；
クライアントとサーバとの間のセキュア接続の始動が完了したことの表示を受信する工程；
サーバに代わり、クライアントとのセキュア接続制御の役割を担う工程；
ネットワークデバイスを介して、サーバからクライアントに向けられたデータを受信する工程；および
セキュア接続を介して、クライアントにデータを通信する工程
を含む、クライアントとセキュリティ上安全に通信する方法。
【請求項５２】
セキュア接続の始動が完了したことの表示が、セキュア接続を介したデータのセキュア通信を可能にする少なくとも一つの属性を含む、請求項51記載の方法。
【請求項５３】
セキュア接続の始動の表示が、秘密鍵を必要とする相互動作の終結および、対称鍵のみを必要とする相互動作の開始をマークする、請求項51記載の方法。
【請求項５４】
属性が対称鍵を含む、請求項52記載の方法。
【請求項５５】
サーバがVPNデバイスである、請求項51記載の方法。
【請求項５６】
セキュア接続制御の役割を担う工程が、
セキュア接続の始動を観察することからセキュア接続の属性を決定する工程；
ネットワークデバイスに属性を送出し、それによりクライアントとのセキュア接続をネットワークデバイスが維持することが可能になる工程
を含む、請求項51記載の方法。
【発明の詳細な説明】
【背景技術】
【０００１】
関連出願の相互参照
本出願は、2005年8月10日出願の米国仮特許出願第60/707,804号、発明の名称「Split Termination for Secure Communication Protocols」の優先権を主張し、あらゆる目的のために参照により組み入れられる。本出願は、2002年10月30日出願の米国特許出願第10/285,315号、発明の名称「Transaction Accelerator for Client-Server Communication Systems」(以下「McCanne I」)、2003年8月12日出願の米国特許出願第10/640,405号、発明の名称「Transparent Client-Server Transaction Accelerator」(以下「McCanne III」)、2003年8月12日出願の米国特許出願第10/640,562号、発明の名称「Cooperative Proxy Auto-Discovery and Connection Interception」(以下「McCanne IV」)、2003年8月12日出願の米国特許出願第10/640,459号、発明の名称「Content Delivery for Client-Server Protocols with User Affinities using Connection End-Point Proxies」(以下「McCanne V」)、2005年3月18日出願の米国仮特許出願第60/663,174号、発明の名称「Improved Reliability and Availability of Distributed File Servers」(以下「Burman」)、2005年3月18日出願の米国仮特許出願第60/663,366号、発明の名称「Connection Forwarding」(以下「Ly」)、2005年3月15日出願の米国仮特許出願第60/662,452号、発明の名称「Rules-Based Transaction Prefetching Using Connection End-Point Proxies」に関連し、あらゆる目的のために参照により組み入れられる。
【０００２】
発明の背景
本出願は、データネットワークの分野に、およびデータネットワーク上でのセキュア通信性能を向上させるシステムおよび方法に関する。信頼できないネットワークを通じたセキュア通信を確立するための一般的な手法は、公開鍵暗号方式の技法と対称鍵暗号方式の技法との両方を用いるプロトコルを用いることである。通常、公開鍵暗号方式は、対称鍵暗号方式よりも優れたセキュリティ性を有するが、計算コストがより高価である。したがって、公開鍵技法を用いることにより2つのタイプの暗号方式を組み合わせ、2つのエンティティ間で対称の暗号をネゴシエートする。対称鍵暗号は、エンティティ間での大量データ転送に用いられる。セキュアソケットレイヤ(SSL)およびトランスポートレイヤセキュリティ(TLS)は、この形式を有し、広く用いられているセキュア通信プロトコルの例であり、IKEのRSAベースの機構を用いてセキュリティアソシエーションがネゴシエートされている場合のIPSecと同様である。
【０００３】
セキュア通信プロトコルでは、多くの場合、セキュア接続それぞれに計算コストが追加される。サーバコンピュータが、クライアントコンピュータへの多数のセキュア接続を同時に提供するために、セキュア通信プロトコルによって課されるさらなる計算オーバヘッドが顕著になる可能性がある。数多くのセキュア接続を提供するコンピュータのためのセキュア通信プロトコルの計算オーバヘッドを減少させるために、セキュア接続を終了させることに特化した多様なデバイスがある。一般に、これらのセキュア接続終了デバイスは、クライアントシステムには、セキュア接続を提供するサーバのように見える。セキュア接続終了デバイスは、暗号方式および接続の他のセキュリティに関する局面を管理し、これにより、クライアントシステムにサービスを提供しているサーバシステムの、セキュア接続によって課されるさらなるオーバヘッドを軽減する。
【０００４】
これらのセキュア接続終了デバイスは、セキュア通信プロトコルをサポートするサーバとほぼ同じように構成され、たとえば、秘密鍵、公開鍵、およびセキュリティ証明書を含む。セキュリティの観点から、セキュア通信終了デバイスはサーバと同一であり、同等に保護されなければならない。セキュア接続終了デバイスのセキュリティが、たとえばサーバの秘密鍵の紛失によって危険にさらされた場合、攻撃者は、セキュア通信プロトコルクライアントシステムによって信頼されるであろう偽のサーバをセットアップすることができるであろう。
【０００５】
McCanne Iに記載されたようなトランザクションアクセラレータは、ワイドエリアネットワーク(WAN)を通した動作の性能の向上を提供することができるが、これは通信されているデータが判読可能である(すなわち、トランザクションアクセラレータが、プロトコルの少なくとも一部を解釈できる)か、または反復している(すなわち、同一のデータが同一のフォーマットでネットワークを渡る)かのいずれかの場合のみである。セキュア通信プロトコルの使用がトランザクションの加速を妨げるのは、暗号方式が、暗号化されたデータを(意図的に)判読不能および非反復にするためである。
【０００６】
同様な観察がローカルキャッシングにも当てはまる；セキュア通信プロトコルリクエストが、ローカルにキャッシングされたオブジェクトを求めたとしても、クライアントとサーバとの間を行き交うネットワークトラフィックを見分けることは不可能である。いくつかのキャッシングシステムは、関連するサーバシステムのサーバの鍵および証明書をロードすることにより、セキュア通信プロトコルをローカルに終了させる能力を含む。しかし、これらのデバイスの多くは鍵および証明書のための保護されたストレージを含まず、代わりに、隠蔽によるセキュリティに依存している。複数の端末位置での鍵管理に伴うリスクならびにコストおよび複雑さのために、これらのキャッシングシステムを用いて、大規模なデータセンタ外でセキュア接続を終了させることはまれである。代わりに、そのようなセキュア通信プロトコルキャッシングは、セキュア通信プロトコル終了の変形として、サーバ近傍でのリバースプロキシ構成で、より多く用いられてきた。
【０００７】
したがって、セキュア通信プロトコル終了と併せて、トランザクションの加速またはキャッシングを提供するためのトランザクションアクセラレータまたはネットワークキャッシングシステムが望まれる。さらに、端末デバイスにサーバの秘密鍵を配備および維持すること必要とせずに、セキュア通信プロトコル終了をサポートするためのトランザクションアクセラレータまたはネットワークキャッシングシステムが望まれる。
【発明の開示】
【０００８】
発明の概要
トランザクションアクセラレータは、セキュア接続を終了させるように構成することができる。一つの態様では、一つまたは複数のサーバシステムとワイドエリアネットワークとの間に接続されているサーバ側トランザクションアクセラレータは、セキュア接続を終了させるように構成されるが、一方、そのように接続されていないクライアント側トランザクションアクセラレータは、サーバの秘密鍵の管理に関連する問題を回避するように構成される。
【０００９】
トランザクションアクセラレータのそのような構成により、クライアントは、サーバ側トランザクションアクセラレータとのセキュア接続を始動させることができ、これは、クライアントにはサーバとして見える。クライアント側トランザクションアクセラレータは、セキュア通信プロトコルのやりとりの進行を認知(して、経過を追跡)することができるが、どちらかの端で暗号化されてしまった任意のコンテンツを読み取ることはできない。
【００１０】
サーバ側トランザクションアクセラレータの具現化は、セキュア接続のセットアップの秘密鍵部分をネゴシエートした後、クライアント側トランザクションアクセラレータと協働して、セキュア接続のセットアップの対称鍵部分をネゴシエートする。クライアント側トランザクションアクセラレータは、クライアントとサーバとの間の安全な大量データ転送のために、対称鍵を用いる。本構成の結果として、クライアント側トランザクションアクセラレータがサーバの秘密鍵を知らないとしても、クライアント側トランザクションアクセラレータは、安全なトラフィックを解読して、サーバ側トランザクションアクセラレータと協働して解読を加速させることができる。さらなる態様では、加速されたトラフィックは、引き続きセキュア接続上のネットワークを通じて伝送される。
【００１１】
本発明は、図面を参照して説明される。
【００１２】
詳細な説明
図1は、本発明の態様との使用に適したトランザクションアクセラレータを用いたシステム100を示す。クライアント110は、トランザクションアクセラレータ120および140を介し、ワイドエリアネットワーク(WAN)130を通じて、サーバ150と通信する。トランザクションアクセラレータ120および140は同一のデバイスでもよく、またはネットワーク内の各々の場所向けに特化されてもよい。解説のために、トランザクションアクセラレータ120および140は、具体的には、システム100内での各々の役割および位置によって、クライアント側のおよびサーバ側のトランザクションアクセラレータと呼ばれる。この用語は、システム100内での各々の役割および位置を明確にするためのみに用いられ、具体化またはパッケージングに必要とされるいかなる相違点も含意しない。特に、「クライアント」および「サーバ」は、TCP接続の方向によって決定された役割を指すことがあり、ここではクライアントは接続を起動し、サーバはその接続リクエストに応答する。この接続の役割という意味でのクライアントおよびサーバは、クライアントおよびサーバという用語の他の一般的な使用に対応する場合があり、または対応しない場合もある。
【００１３】
クライアント110は、多様なリンク、ローカルエリアネットワーク(LAN)、またはルータ、スイッチ、ファイアウォール、もしくはその他のネットワークデバイスを含むことができるその他の通信技術によって、クライアント側アクセラレータ120およびWAN130に接続することができる。サーバ150は同じように、クライアント側で用いられる技術および構成に対応することができるが、その必要はない別の多様な通信技術によって、サーバ側のアクセラレータ140およびWAN130に接続することができる。WAN130は、ルータ、ゲートウェイ、ファイアウォール、またはその他のネットワークデバイスによって相互接続されたネットワークおよびインターネットを、多岐にわたり集合させたものを含むことができる。いくつかのまたは全てのWAN130は、バーチャルプライベートネットワークを含むことができる。さらに、クライアントおよびサーバをアクセラレータに関連させることは、ネットワーク接続の基となる物理的な配置に基づくか、またはネットワーク特性、たとえば帯域幅または待ち時間に基づくことができる。たとえば、一組のアクセラレータのうち一つを、ネットワーク帯域幅または待ち時間に基づいて、特定のクライアントまたはサーバに関連させることができる。
【００１４】
McCanne IおよびMcCanne IIIに記述されているように、トランザクションアクセラレータ120および140は、クライアント110とサーバ150との間の通信を加速させる。McCanne IおよびMcCanne IIIに記述されているように、動作中のトランザクションアクセラレータ120および140は、外部チャネルおよび内部チャネルの両方を有すると考えることができる。外部チャネルは、それぞれ、クライアント側トランザクションアクセラレータ120とクライアント110との間の接続112、およびサーバ側トランザクションアクセラレータ140とサーバ150との間の接続142からなる。内部チャネルは、WAN130を介した、トランザクションアクセラレータ120と140との間の接続を含む。いくつかの用途では、クライアント側トランザクションアクセラレータ120およびサーバ側トランザクションアクセラレータ140は、たとえばバーチャルプライベートネットワークに使用されるような安全なまたは暗号化された接続を介して通信する。
【００１５】
トランザクションアクセラレータ120および140は、クライアント110とサーバ150との間の相互動作が、トランザクションアクセラレータ120および140がない場合に生じる相互動作と同一であるようにか、または実質的に類似しているように、外部チャネル接続およびネットワークトラフィックを構成する。外部チャネルのこの特性は、透過性と呼ばれることがある。通常、内部チャネルの存在および実体は、クライアント110およびサーバ150の両方から隠されている。通常、内部チャネルがクライアント110またはサーバ150にとって未知であるため、内部チャネルに対して多様な最適化およびセキュリティ機構を用いて、クライアント110とサーバ150との間の通信の質、性能、および信頼性を、クライアント110またはサーバ150に悪影響を与えることなく向上させることができ、使用中の具体的な最適化機構は、任意の時点で間に合うように必要に応じて変更することができる。
【００１６】
クライアント110とサーバ150との間の少なくともいくつかのネットワークトラフィックは、アクセラレータ120および140を通過するか、またはそれらを迂回する。アクセラレータ120によってクライアント110から受信されたネットワークトラフィックは、相互参照された出願に記載されたような任意の多様な手段によって、WAN130を含む内部チャネルを通じた通過向けに最適化される。次いで、アクセラレータ140によって受信された最適化されたネットワークトラフィックは、当初にクライアント110から送信されたネットワークトラフィックと同一であるか、またはその受入れ可能な代用になるように非最適化される。この非最適化されたネットワークトラフィックは、その後、サーバ150に送信される。同じように、サーバ150からアクセラレータ140によって受信されたネットワークトラフィックは、WAN130を通じた通過向けに最適化される。そして、アクセラレータ120によって受信された最適化されたネットワークトラフィックは、当初にサーバ150から送信されたネットワークトラフィックと同一であるか、またはその受入れ可能な代用になるように非最適化される。その後、この非最適化されたネットワークトラフィックは、クライアント110に送信される。
【００１７】
システム100では、トランザクションアクセラレータ120および140は、インパス（in-path）で接続されるため、クライアント110とサーバ150との間のすべてのネットワークトラフィックが、これらのアクセラレータを通過する。システム100の他の構成では、トランザクションアクセラレータ120および140は、アウトオブパス（out-of-path）で接続される。アウトオブパスの配備では、クライアント110とサーバ150との間のすべてのネットワークトラフィックは、ルータ、スイッチ、または他のネットワーキングデバイスを通過する。ルータ、スイッチ、または他のネットワーキングデバイスは、クライアント110とサーバ150との間のいくつかのまたはすべてのネットワークトラフィックに、トランザクションアクセラレータ120または140のうちの一つを迂回させるように構成される。ネットワークトラフィックにトランザクションアクセラレータを迂回させることは、リダイレクションまたはキャッシングプロトコル、たとえばウェブキャッシュ通信プロトコル(WCCP)によって容易にすることができる。
【００１８】
図2A〜2Cは、クライアントとサーバとの間の通信を容易にしている、従来のトランザクションアクセラレータの実際のおよび見かけ上の相互動作を図示している。図2Aは、クライアント210からサーバ240への単一の論理接続のための要素およびその接続の例を示す。図2Aでは、クライアント210aは、クライアント側アクセラレータ220へのネットワーク接続271を有する。クライアント側アクセラレータ220は、サーバ側アクセラレータ230へのネットワーク接続272を有する。サーバ側アクセラレータ230は、サーバ240aへのネットワーク接続273を有する。図2Aに示すように、いくつかの具体化では、クライアント側アクセラレータ220は、ネットワーク接続を介して、一つまたは複数のクライアントと接続されたハードウェアデバイスである。他の具体化では、クライアント側アクセラレータ220は、クライアント210aに組み込まれたソフトウェアおよび／またはハードウェアとして具体化されてもよい。これらの具体化では、ネットワーク接続272は省くことができる。
【００１９】
図2Bは、クライアントおよびサーバからの視点に合わせて利用可能である、見かけ上の接続を示す。図2bでは、クライアント210bは「サーバ」250へのネットワーク接続274を有する。すなわち、クライアント210bは、サーバ240bへの接続(論理的には図2cの接続276)を有しているかのような働きをするが、クライアント210bは、実際には、「サーバ」250としての働きをするクライアント側アクセラレータ220への接続274を有する。同様に、サーバ240bは「クライアント」260へのネットワーク接続274を有する：すなわち、サーバ240bは、クライアント210bへの接続(やはり、論理的には図2cの接続276)を有しているかのような働きをするが、サーバ240bは、実際には、「クライアント」260としての働きをするサーバ側アクセラレータ230への接続275を有する。
【００２０】
図2Cは、クライアント210cの論理接続が、ネットワーク接続276を介してサーバ240cと通信している状態を示し、これは図2Aのネットワーク接続によるものである。
【００２１】
上記で論じられたように、クライアントおよびサーバは、セキュア通信プロトコルを介して通信し、機密情報を保護することが望ましいと考えられる。トランザクションアクセラレータ間の内部接続が安全であっても、この接続は、多くの場合、クライアントおよびサーバには気付かれない。さらに、クライアントとサーバとの間の通信は、外部接続を通して進行する場合、引き続き安全である必要がある。したがって、クライアントおよびサーバは、多くの場合、互いの間に直接セキュア接続を確立しようと試みる。しかし、セキュア通信プロトコルを用いることにより、トランザクションの加速が妨げられるが、これは、暗号方式が、暗号化されたデータを(意図的に)判読不能および非反復にすることが原因である。
【００２２】
本発明の態様は、クライアントおよびサーバが、互いの間に直接セキュア接続を確立することを可能にすると同時に、引き続きトランザクションの加速も有効にする。本態様は、クライアントとサーバとの間の通信が、内部および外部接続の両方にわたって進行する場合に安全であることを確実にする。
【００２３】
図3A〜3Cは、本発明の態様の、クライアントとサーバとの間の通信を容易にしているトランザクションアクセラレータの、実際のおよび見かけ上の相互動作を示す。図3Aでは、クライアント310aは、クライアント側アクセラレータ320aへのネットワーク接続371を介して、サーバ340aと通信する。同じように、サーバ340aは、サーバ側アクセラレータ330aへのネットワーク接続373を介して、サーバ340aと通信する。
【００２４】
クライアント側アクセラレータ320aおよびサーバ側アクセラレータ330aは、セキュアチャネル372を介して通信し、それは、SSL、IPSec、または他の任意の多くのセキュア通信機構に基づくことができる。セキュアチャネル372は、具体的には、クライアント310aとサーバ340a間のこの通信用にセットアップされてもよく、または、アクセラレータ320aおよび330aを通過する、複数のクライアントとサーバとの間の多くの別個の通信に共用されてもよい。同じように、セキュアチャネル372の終了は、クライアントまたはサーバへの特定の接続の始動または終了に関連させてもよく、または関連させなくてもよい。セキュアチャネル372は、周期的に、またはネットワーク、接続、もしくはネットワークトラフィック特性の機能によって決定されたように、そのセキュリティパラメータを、再始動、鍵の再交付、または再ネゴシエートすることができる。再始動、鍵の再交付、または再ネゴシエーションを指示する機能は事実上、決定性に、ランダムに、または擬似ランダムにすることができる。
【００２５】
クライアントおよびサーバは、直接セキュア接続を確立するように試みることができる。図3Bは、達成される論理的な効果を示す：すなわち、クライアント310bは、セキュア接続378を経由してサーバ340bと通信する。セキュア接続378を用いて、クライアント310bとサーバ340bとの間の通信を始動させることができる。または、クライアント310bおよびサーバ340bは、セキュア接続378を確立する前に、非セキュアネットワーク接続、たとえば安全ではないTCP接続を不安定に経由して、情報を交換する可能性がある。
【００２６】
トランザクションアクセラレータがWANを通じたSSLネットワークトラフィックを加速することができるように、セキュア接続378がどのように確立されても、トランザクションアクセラレータは、ネットワークトラフィックを両側で解読することが可能である必要がある。以下に論じる態様では、セキュリティ情報、たとえば暗号鍵およびディジタル証明書がトランザクションアクセラレータに提供されて、トランザクションアクセラレータによるセキュア接続378の完全なスプーフィングおよび終了を可能にする。結果として、クライアントおよびサーバによって確立されたセキュア接続378は、トランザクションアクセラレータへのすべてのまたは一部の外部接続に用いられる。
【００２７】
図3Cは、本発明の態様の、セキュア接続の始動および動作を図示している。サーバ側トランザクションアクセラレータ330cは、サーバ340cまたは管理システム301から、セキュリティ情報302、たとえば暗号鍵およびディジタル証明書を受信する。セキュリティ情報302は、トランザクションアクセラレータ330cが、サーバ340cの、および任意でさらなるサーバの識別情報を仮定するために十分である。本態様では、サーバ340cは、サーバ側トランザクションアクセラレータ330cにすべてのまたは一部のセキュリティ情報302を直接提供することができるか、または別のコンピュータシステムが、サーバ340c用に、サーバ側トランザクションアクセラレータ330cにセキュリティ情報302を提供することができる。
【００２８】
クライアント310cは、クライアント側トランザクションアクセラレータ320cを介して、サーバ340cにセキュア接続リクエスト304aを送信する。クライアント側トランザクションアクセラレータ320cは、セキュア接続リクエスト304aをインターセプトし、次にサーバ側トランザクションアクセラレータ330cにセキュア接続リクエスト304bを送出する。一つの態様では、クライアント側トランザクションアクセラレータ320cは、この送出のためのブリッジデバイスとして働くため、リクエスト304bは、304aに類似しているかまたは同一である。
【００２９】
サーバ側トランザクションアクセラレータ330cが、サーバ340cの識別情報を仮定するために十分なセキュリティ情報を有するため、サーバ側トランザクションアクセラレータ330cは、セキュア接続応答306aによって、セキュア接続リクエスト304bに応答する。クライアント側トランザクションアクセラレータ320cは、セキュア接続リクエスト306aをインターセプトして、クライアント310cにセキュア接続応答306bを送出し、これによりクライアント310cとサーバ側トランザクションアクセラレータ330cとの間のセキュア接続312aを確立する。このセキュア接続312aを介して送信された任意の情報は、クライアント側トランザクションアクセラレータ320cを含む任意の介在するコンポーネントに判読不能である。一つの態様では、クライアント側トランザクションアクセラレータ320cは、この送出のためのブリッジデバイスとして働くため、リクエスト306bは、306aと類似しているかまたは同一である。
【００３０】
一つの態様では、サーバ側トランザクションアクセラレータ330cはまた、任意で、サーバ340cとメッセージ304cおよび306cを交換し、サーバ側トランザクションアクセラレータ330cとサーバ340cとの間の第二のセキュア接続313を確立する。この任意の第二のセキュア接続313は、外部接続335を介した、サーバ側トランザクションアクセラレータ330cとサーバ340cとの間の通信を暗号化する。この任意の第二のセキュア接続313は、サーバ側トランザクションアクセラレータ330cとサーバ340cとを接続するネットワークが安全であると見なされた場合、省いてもよい。さらなる態様では、サーバ側トランザクションアクセラレータ330cとサーバ340cとの間の通信が暗号化される場合、接続再使用のいくつかの形式を用いることにより、各クライアント入接続に対して、サーバがセキュア接続313の始動または終了を必要としないことを確実にする。
【００３１】
いくつかの態様では、セキュア接続312aのセキュリティプロトコル、たとえばSSLは、クライアント310cとサーバ側トランザクションアクセラレータ330cとの間で交換されてセキュア接続を確立するメッセージ304および306に類似した一連のメッセージを必要とする場合がある。いくつかのセキュリティプロトコル、たとえばSSLでは、メッセージ304および306は、公開鍵暗号方式を用いて、セキュア接続312aを確立する。公開鍵暗号方式を用いて、クライアント310cとサーバ側トランザクションアクセラレータ330cとの間で対称鍵を共有する。いったんセキュア接続312aが動作可能になると、セキュア接続312aの両側で対称鍵が用いられて、情報を暗号化および解読する。
【００３２】
セキュア接続312aおよび対称鍵の交換を始動させる間、対称鍵に加えて、メッセージ304および306の他の任意の暗号化された情報は、クライアント側トランザクションアクセラレータ320cには読み取り不可になる。以下に詳細に論じるように、対称鍵および他のセキュア接続情報は、クライアント側トランザクションアクセラレータ320cに提供され、トランザクションアクセラレータ320cおよび330cが、内部接続325を経由するセキュアネットワークトラフィックを最適化することを可能にする。
【００３３】
一つの態様では、クライアント側トランザクションアクセラレータ320cは、対称鍵の暗号スイート（cipher suite）を選択して、サーバ側トランザクションアクセラレータ330cに通信し、次にサーバ側トランザクションアクセラレータは、メッセージ306のこの暗号スイートを用いて、クライアント310cとのセキュア接続312aを確立する。クライアント側トランザクションアクセラレータ320cは、この暗号のスイートを後で用いるために保存する。別の態様では、サーバ側トランザクションアクセラレータ330cは、対称鍵の暗号スイートを選択し、メッセージ306のこの暗号スイートを用いて、クライアント310cとのセキュア接続312aを確立する。この暗号スイートは、セキュア接続316を介して、サーバ側トランザクションアクセラレータ330cからクライアント側トランザクションアクセラレータ320cに通信される。たとえば、セキュア接続316は、サーバ側トランザクションアクセラレータ330cとクライアント側トランザクションアクセラレータ320cとの間のコマンドおよび制御データのために、あるいは一つまたは複数のクライアントおよび／またはサーバに関連したネットワークトラフィックを最適化するために用いられる、前もって確立された不特定数のセキュア接続のうちの一つでもよい。いくつかの態様では、サーバ側トランザクションアクセラレータ330cは、公開鍵情報がクライアント側トランザクションアクセラレータ330cに知られている場合、クライアント側トランザクションアクセラレータ320cに、対称鍵のネゴシエーション全体を渡してもよい。
【００３４】
クライアント310cとサーバ側トランザクションアクセラレータ330cとの間のセキュア接続312aの確立に続いて、サーバ側トランザクションアクセラレータ330cの一つの態様は、クライアント側トランザクションアクセラレータ320cに、セキュア接続情報308を送出する。セキュア接続情報308は、クライアント側トランザクションアクセラレータ320cが、サーバ側トランザクションアクセラレータ330cに代わって、セキュア接続312aを引き継ぐことを可能にする。結果として、クライアント310cとサーバ側トランザクションアクセラレータ330cとの間のセキュア接続312aは、クライアント310cとサーバ側トランザクションアクセラレータ330cとの間のセキュア接続312bに変換される。
【００３５】
セキュア接続情報308は、クライアント310cからのセキュア接続ネットワークトラフィック等の情報を解読し、および確立されたセキュア接続を介して適切に応答するために必要である、対称鍵または他のタイプの暗号化情報を含むことができる。一つの態様では、クライアント側トランザクションアクセラレータ320cが、セキュア接続上のネットワークトラフィックを解読および暗号化するために十分な情報をすでに有している場合、セキュア接続情報308は必要ではない。
【００３６】
クライアント側トランザクションアクセラレータ320cによってセキュア接続情報308が受信された後、セキュア接続312bを介して通信された、クライアント310cとサーバ340cとの間のネットワークトラフィックは、トランザクションアクセラレータ320cおよび330cによってインターセプトされ、分析されて、最適化されることができる。クライアント310cは、新たに確立されたセキュア接続312bを介して、サーバ340cにネットワークトラフィック314aを送信する。セキュア接続312bがクライアント側トランザクションアクセラレータ320cで終了するため、クライアント側トランザクションアクセラレータ320cは、ネットワークトラフィック314aをインターセプトし、解読して処理し、ネットワークトラフィック314bを形成する。ネットワークトラフィック314ｂは、内部接続325を経由して通信するように最適化されてもよい。
【００３７】
クライアント側トランザクションアクセラレータ320cは、ネットワークトラフィック314bを、サーバ側トランザクションアクセラレータ330cと通信させる。一つの態様では、ネットワークトラフィック314bは、セキュア接続316を介して通信される。上述のように、セキュア接続316を前もって確立して、トランザクションアクセラレータ320cおよび330c間で、最適化されたネットワークトラフィックを伝送するようにしてもよく、または前もって確立して、トランザクションアクセラレータ320cおよび330c間で、制御メッセージおよび暗号方式情報を伝送するようにしてもよい。また、最適化されたネットワークトラフィックを伝送するためのセキュア接続を、クライアント／サーバ接続の始動に対応して、動的に作成することができる。
【００３８】
一つの態様では、アクセラレータ320cおよび330cは、複数のクライアントおよび／またはサーバの間のセキュア接続を終了させることができる。これらの用途では、アクセラレータ320cおよび330cは、さまざまな方法で、セキュア接続312b、313、および316を共有することができる。一つの例では、クライアント側およびサーバ側アクセラレータ320cおよび330cは、各クライアントおよびサーバのための、分離した外部チャネルセキュア接続312cを維持することができる。別の態様では、クライアント側およびサーバ側アクセラレータ320cおよび330cは、外部チャネルセキュア接続を利用して、クライアントおよび／またはサーバとの複数の接続に関連するデータを伝送することができる。
【００３９】
クライアント側およびサーバ側アクセラレータ320cおよび330cの態様は、各対になったクライアント−サーバ通信のための、分離した内部チャネルセキュア接続を利用することができる。または、クライアント側およびサーバ側アクセラレータ320cおよび330cは、内部チャネルセキュア接続316を利用して、複数のクライアントおよび／またはサーバに関連するデータを伝送することができる。この態様では、内部チャネルセキュア接続316を頻繁に更新して、セキュリティを維持するようにしてもよい。たとえば、内部チャネルセキュア接続316を、規定された時間周期後に、または規定された数のクライアント−サーバ外部チャネル接続向けのデータ伝送後に、更新することができる。さらなる態様では、アクセラレータ320cおよび330cは、利用可能な内部チャネルセキュア接続のプールを維持し、これらはそれぞれ、一つまたは複数の対のクライアント−サーバ外部チャネルセキュア接続に関連するデータの伝送に用いられる。
【００４０】
サーバ側トランザクションアクセラレータ330cは、最適化されたネットワークトラフィック314bを受信し、それを非最適化されたネットワークトラフィック314cに変換する。非最適化されたネットワークトラフィック314cは、当初にクライアント310cから送信されたネットワークトラフィック314aと同一であるか、またはその受入れ可能な代用であり得る。サーバ側トランザクションアクセラレータ330cは、非最適化されたネットワークトラフィック314cを、サーバ340cと通信する。一つの態様では、ネットワークトラフィック314cは、セキュア接続313を介して、サーバ340cに伝送される。別の態様では、ネットワークトラフィック314cは、非セキュア接続を介して、サーバ340cに伝送される。
【００４１】
戻りのネットワークトラフィック(サーバ340cからクライアント310cへの)は、類似しているが逆のパスを取る。サーバ側トランザクションアクセラレータ330cは、サーバ340cからネットワークトラフィックを受信する。このネットワークトラフィックは最適化され、セキュア接続316を介した内部接続325を通じて、クライアント側トランザクションアクセラレータ320cに送信される。クライアント側トランザクションアクセラレータ320cは、受信されたネットワークトラフィックを非最適化し、非最適化されたネットワークトラフィックが、セキュア接続312bを介してクライアント310cに送信される前に、適切な暗号化を適用する。
【００４２】
一つの態様では、クライアント310cがセキュア接続312bの再ネゴシエーションを試みる場合、上述のように、セキュア接続312bは終了されて、再度確立される。別の態様では、クライアント310cがセキュア接続312bの再ネゴシエーションを試みた場合、セキュア接続312bは元のセキュア接続312aの形式に変えられ、サーバ側トランザクションアクセラレータ330cは、サーバ側の再ネゴシエーションを行う。その態様では、再ネゴシエーションの成功により、サーバ側アクセラレータ330cが再びクライアント側アクセラレータ320cにセキュア通信情報308を送信し、セキュア接続312aが元のセキュア通信312bの形式に変えられることを可能にする。
【００４３】
一つの態様では、サーバ側トランザクションアクセラレータ330cが、たとえば、該当する鍵および／または証明書を有していないために、クライアント310cとのセキュア接続を終了できない場合、ネットワークトラフィックをその後、適切なサーバ、たとえばサーバ340cに向けて通過させる。このセキュア接続に関連するその後のネットワークトラフィックもまた、トランザクションアクセラレータ320cおよび330cによってコピースルー（copied through）される。さらなる態様では、セキュア接続を終了できないことを示すこの「ネガティブな」情報は、クライアント側トランザクションアクセラレータ320cに渡され、その後の同じ鍵をリクエストような類似したネットワーク接続は、トランザクションアクセラレータ320cおよび330cを自動的にバイパスする。ネガティブな情報のキャッシュは、鍵の構成を変更されたサーバ側トランザクションアクセラレータからの信号によって、部分的にまたは全体的に無効化され得、それによってトランザクションアクセラレータは、終了させることができた接続をバイパスし続けることがなくなる。
【００４４】
一つの態様では、セキュア接続316のセキュリティプロトコル、暗号スイート、および／またはセキュリティアルゴリズムは、セキュア接続312b用に用いられているものとは異なる。この能力により、トランザクションアクセラレータ320cおよび330cが、弱い暗号スイートのみをサポートする、古いかまたはセキュリティが不完全なクライアント310cからのセキュア接続を終了させるが、実際にはその後、より強力な暗号形式を使用して、内部チャネル325およびワイドエリアネットワークを通じて、ネットワークトラフィックを伝送することが可能になる。
【００４５】
別の態様では、サーバ側トランザクションアクセラレータ330cは、セキュア接続312を終了させないが、代わりにサーバ340cにセキュア接続リクエスト304を渡す。この態様では、サーバ側トランザクションアクセラレータ320cは、引き続き、サーバ暗号化情報を読み取ることができるように、サーバの秘密鍵を必要とするが、ディジタル証明書を提示して、サーバ304cの識別情報を仮定する必要はない。代わりに、サーバ側トランザクションアクセラレータ330cは、セキュア通信プロトコルの相互動作を監視し、クライアント側トランザクションアクセラレータに、ネゴシエートされた対象鍵を通知する。このモードは、既存のセキュア通信のプロトコルオフロードなインフラストラクチャを加速させるために有用であり、またバーチャルプライベートネットワーキング(VPN)のためのセキュア通信プロトコルを加速させるために有用である場合がある。この態様では、サーバ側トランザクションアクセラレータは、クライアントで用いられたものと同じ対象鍵で暗号化されたサーバに、復元されたデータを提示するが、これはサーバが、セキュア接続を終了させる唯一のエンティティであると見ているためである。しかし、クライアント側とサーバ側のトランザクションアクセラレータ間の通信はまた、最適化されたデータの転送を保護するために、同じ鍵もしくは完全に異なる鍵および／または暗号化の技法を用いることもできる。
【００４６】
一つの態様では、トランザクションアクセラレータ320cおよび330cは、自己署名された証明書を使用する。この態様では、自己署名された証明書および手順とを用いて、セキュア接続、たとえばセキュア接続316を確立する。この態様では、トランザクションアクセラレータ間のこの関連付けは、対になったデバイス間で自然にセットアップされるものではなく；代わりに、クライアント側とサーバ側トランザクションアクセラレータ間向けに、システム管理者によって明示的に構成される。
【００４７】
この態様では、トランザクションアクセラレータまたは中央管理コンソールは、管理者に、自己署名された証明書および名前、IPアドレスおよび／または他の識別情報を提示するデバイスのリストを提示することができる。管理者は、各デバイスそれぞれについて受入れるかまたは却下するかを選択することができる。初期設定により、管理者によって規定されないかぎり、関連付けは作成されない。
【００４８】
通常は証明書を署名するために用いられる外部の信頼できる認証機関は、一般的に、他に何の手がかりもない識別情報の認証を試みる場合、たとえば不特定のウェブブラウザが、不特定のウェブサーバに接する場合に必要とされる。一つの態様では、自己署名された証明書は、外部の信頼できる認証機関に依存せず、トランザクションアクセラレータの識別情報の認証を支援するための他の手がかり、たとえば管理者の組織的なコンテキストに対する知識がある場合に用いることができる。管理者の選択は、非計算型の組織的コンテキストによって通知され、たとえば、「デバイスをオンラインにしますか？デバイスのIPアドレスは？現在新規の証明書を提示しているデバイスが存在する正当な理由がありますか？」等である。
【００４９】
一般に、組織の端のデバイスはあまり防御されておらず、中心部に(たとえばデータセンタ内に)あるものよりも容易に攻撃される。そのような端のデバイスへの攻撃から、どのような結果につながるかを考慮することは価値のあることである。攻撃者は、トランザクションアクセラレータの証明書(自己署名か外部での署名かを問わず)に対応する秘密鍵を入手し、それによって、他のトランザクションアクセラレータと通信するために用いられるセキュアチャネルへのアクセスを得ることにより、トランザクションアクセラレータを破壊する場合がある。トランザクションアクセラレータが破壊されるとき、そのような攻撃者は、あたかも攻撃者がすべてのサーバの秘密鍵にアクセスできるかのように、全く同じ攻撃を実行することができる。しかし、サーバの秘密鍵そのものは、そのような破壊が行われているときでも、決して攻撃者が入手可能になることはない。トランザクションアクセラレータの制御を回復して鍵を再交付することにより、攻撃の可能性が終結する。危険にさらされた単一のトランザクションアクセラレータに鍵を再交付することは、広く用いられるサーバに鍵を再交付するよりも混乱を招きにくく、このことは複数のそのような広く用いられるサーバを考慮すると、利点が増大する。
【００５０】
上述のセキュア接続終了の体系は、複数の利点を有する。すなわち、
・  クライアント側トランザクションアクセラレータで、サーバの鍵または証明書は必要でなく、各セキュア接続用に変更される一時的な対称鍵のみを必要とする。
・  クライアント側トランザクションアクセラレータ／サーバ側トランザクションアクセラレータのネットワークトラフィックをセキュリティ上安全にすることは、自己署名された証明書および手順を介して行うことができる。
・  クライアント側トランザクションアクセラレータによって実行される暗号方式は、比較的安価な対称暗号であり、より高価な公開鍵暗号ではない。
・  他のタイプのトランザクションアクセラレータの機能性にアーキテクチャ的に類似し、その中のすべてのトランザクションが、論理的にサーバに送信されるはずである。
【００５１】
図4は、本発明の態様の、SSLセキュア接続プロトコルを用いたクライアント側アクセラレータのステート図400を示す。当業者においては、同様の公開鍵／対称鍵のスプリットを用いて、異なるプロトコル用に同様のステート図を同じように構築できることが明らかであろう。同様に、当業者においては、本図では理解を容易にするように構成され、クライアント側トランザクションアクセラレータがどのように稼動するかについての本質を著しく改変させることなく、ステートおよびトランジションの多数の軽微な再構成を行うことができることが明らかであろう。したがって、本図は、動作の一般的な原理を図示するものとして理解されるべきである。本図では、多様なメッセージトランザクションに、以下の略語が用いられる。
・  「RfC」は「クライアントから受信」
・  「RfTA」は、「(サーバ側)トランザクションアクセラレータから受信」
・  「StC」は「クライアントへ送信」
・  「StTA」は「(サーバ側)トランザクションアクセラレータへ送信」
加えて、略語「H/S」は、「ハンドシェーク」に用いられる。
【００５２】
初期ネットワーク接続構成がセットアップ401されると、初期ステート405に入る。初期ステート405を脱する第一の工程は、サーバ側トランザクションアクセラレータが、この接続をバイパスすべきである(すなわち、トランザクションアクセラレータによって終了されていない)と判断したときである。メッセージ416は、システムをバイパスステート430に移動させる。バイパスステート430は単純な挙動を有しており、ここで、サーバ側トランザクションアクセラレータから受信された任意のメッセージ433が、メッセージ434としてクライアントに送信され、クライアントから受信された任意のメッセージ431が、メッセージ432としてサーバ側トランザクションアクセラレータに直ちに送信される。クライアントメッセージ(Client Msg)ステート435およびサーバメッセージ(Server Msg)ステート440は、本図の残りの部分との整合性を表示するが、一つの態様では、これらのステートは、具体化において非常に軽微であるか、コストがかからないか、または実在しない。
【００５３】
初期ステート405からのさらなるステートトランジションは、SSLハンドシェークに関する。一つの態様では、クライアント側トランザクションアクセラレータは、サーバ側トランザクションアクセラレータでのセキュア接続ハンドシェークの終了が行われないために、ハンドシェークに関与しない。したがって、初期ステート405に関するアクションは、主にハンドシェークネットワークトラフィックが通るのを観察することとなる。クライアントからハンドシェークメッセージ406を受信すると、システムは、クライアントハンドシェークステート410に移動し、その後、サーバ側トランザクションアクセラレータに同じハンドシェークメッセージ407を送信して初期ステート405に戻る。同じように、サーバ側トランザクションアクセラレータからハンドシェークメッセージ408を受信すると、システムは、サーバハンドシェークステート415に移動し、その後、クライアントに同じハンドシェークメッセージ409を送信して初期ステート405に戻る。
【００５４】
一つの態様では、サーバ側トランザクションアクセラレータからシャットダウンメッセージを受信すると、クライアント側トランザクションアクセラレータもまた初期ステート405を出ることができるが、これはサーバが接続を拒絶した場合に生じる。このメッセージ417を受信すると、システムは閉鎖ステート470に移動する。
【００５５】
システムは、サーバからの最新のハンドシェークメッセージ411を送信するとき、サーバハンドシェークステート415からバッファリングステート420に移行する。一つの態様では、最新のハンドシェークメッセージは、使用中のプロトコルの静的特性として識別可能であるが、代替の態様も可能であり、ここで、最新のハンドシェークメッセージは、交換されるメッセージの数によるか、ハンドシェークの終結を示すように設定される一つまたは複数のビットによるか、あるいは、たとえば生じている外部イベントまたは完全に異なるプロトコルの指定されたステートに到達するなどの外部イベントによって識別される。
【００５６】
バッファリングステート420に入ると、クライアント側トランザクションアクセラレータは、サーバ側トランザクションアクセラレータから暗号スイート情報が受信されるまで、セキュア接続を介して受信された任意のクライアントメッセージを保存する。暗号スイートを待つ間、受信された各クライアントメッセージ412は、その後の暗号化および加速のために、単に保存される413。暗号スイートまたはセキュア接続414を終了させるために十分な他の情報を受信すると、クライアント側トランザクションアクセラレータは、アクティブステート445に移動する。
【００５７】
アクティブステート445では、暗号スイート情報を受信した際にクライアント側トランザクションアクセラレータがクライアントから受信されたメッセージを解読し、クライアントに送信されたメッセージを暗号化することが可能になる。したがって、クライアントから受信された各メッセージ446は、解読ステート450に移動することによって取り扱われ、続いて、ここでメッセージ446を解読し、サーバ側トランザクションアクセラレータに、最適化されたメッセージ447を送信する。サーバ側トランザクションアクセラレータから受信された最適化されたメッセージ448は、それぞれ非最適化され、その後暗号化ステート455によって取り扱われ、ここで、セキュア接続を介して、クライアントに、暗号化されたメッセージ449を順に送信する。上述のように、クライアント側およびサーバ側トランザクションアクセラレータは、ネットワークトラフィックを、内部接続を経由した通信用に最適化する。
【００５８】
アクティブステート445に関連するさらなるステートは、セキュア接続の閉鎖か、またはセキュア接続の再ネゴシエーションかに関する。クライアントが、クライアント側トランザクションアクセラレータへの接続を閉鎖した場合、クライアント側トランザクションアクセラレータは閉鎖を認識して、サーバ側トランザクションアクセラレータに「クライアント閉鎖」メッセージ451を送信し、クライアント閉鎖ステート460に移動する。このステートでは、クライアント側トランザクションアクセラレータは、暗号化_CCステート465にあるサーバ側トランザクションアクセラレータを介したサーバからの任意の残存データ461を暗号化し、クライアントに、暗号化されたメッセージ462を送信して、クライアント閉鎖ステート460に戻る。
【００５９】
一つの態様では、接続が閉鎖された基となる理由が、接続を中断した突然の不具合であることが分かっている場合、そのような暗号化は実行されない；代わりに、受信されたデータは、クライアントに送信する方法がないために、破棄される。
【００６０】
同じように、サーバが、サーバ側トランザクションアクセラレータへの接続を閉鎖した場合、クライアント側の接続アクセラレータは、サーバ側トランザクションアクセラレータから「サーバ閉鎖」メッセージ452を受信し、サーバ閉鎖ステート475に移動する。このステート475では、クライアント側トランザクションアクセラレータは、解読_SCステート480にあるクライアントから受信された任意の残存データ463を解読して最適化し、サーバ側トランザクションアクセラレータに、最適化されたメッセージ464を送信して、サーバ閉鎖ステート475に戻る。
【００６１】
一つの態様では、接続が閉鎖された基となる理由が、接続を中断した突然の不具合であることが分かっている場合、そのような解読は実行されない；代わりに、受信されたデータは、サーバに送信する方法がないために、破棄される。
【００６２】
クライアント側トランザクションアクセラレータは、クライアント閉鎖ステート460かまたはサーバ閉鎖ステート475のいずれかから、閉鎖ステート470に移行する。クライアント閉鎖ステート460からのこの移行は、サーバ側トランザクションアクセラレータから「サーバ閉鎖」メッセージ453を受信したときに生じる。これに対応して、サーバ閉鎖ステート475からのこの移行は、クライアント閉鎖を認識し、サーバ側トランザクションアクセラレータに「クライアント閉鎖」メッセージ454を送信したときに生じる。
【００６３】
セキュア接続の再ネゴシエーションを見ると、クライアントから受信されたメッセージがセキュア接続リクエストか、または新規のセキュア接続をリクエストする他のタイプの「Hello」メッセージである場合、クライアント側トランザクションアクセラレータはその後、新規のセキュア接続ネゴシエーションを開始する。クライアント側トランザクションアクセラレータは、サーバ側アクセラレータに「セッションダンプ(Session Dump)」メッセージ481を送信し、接続の終了が、元のサーバ側アクセラレータに移動する必要があることを報知する。
【００６４】
再ネゴシエーション中に生じる可能性のあるエラーは、初期ネゴシエーション中に生じる可能性のあるものに類似している。当業者においては、それらのエラーは、すでに説明されたものと同様のステートおよびトランジションで取り扱うことができることが明らかであろう。いくつかの態様では、再ネゴシエーションが、すでに提示されたステートおよびトランジションを、初期接続のセットアップおよびネゴシエーションに有用であるとして再利用することが可能かつ望ましい場合がある。他の態様では、再ネゴシエーションにとって接続をバイパスさせる(バイパスステート430または同様の挙動を有する異なるステートに移動させる)か、または接続にとって切断状態(接続が閉鎖しつつあるかまたは閉鎖されているステートの一つに強制的に移動させる)が好ましい場合がある。
【００６５】
図5は、本発明の態様のSSLセキュア接続プロトコルを用いた、サーバ側アクセラレータのステート図500を示す。当業者においては、同様の公開鍵／対称鍵のスプリットを用いて、異なるプロトコル用に同様のステート図を同じように構築できることが明らかであろう。同様に、当業者においては、本図では理解を容易にするように構成され、サーバ側トランザクションアクセラレータがどのように稼動するかについての本質を著しく改変させることなく、ステートおよびトランジションの多数のわずかな再構成を行うことができることが明らかであろう。したがって、本図は、動作の一般的な原理を図示するものとして理解されるべきである。本図では、多様なメッセージトランザクションに、以下の略語が用いられる。
・  「RfS」は「サーバから受信」
・  「RfTA」は、「(クライアント側)トランザクションアクセラレータから受信」
・  「StS」は「サーバへ送信」
・  「StTA」は「(クライアント側)トランザクションアクセラレータへ送信」
【００６６】
初期ネットワーク接続構成がセットアップ501されると、初期ステート505に入る。サーバ側トランザクションアクセラレータに、この接続をバイパスすべきである(終了すべきではない)と判断させる多くの状況の一つが生じたとき、サーバ側トランザクションアクセラレータは初期ステート505を出ることができる。一つの状況は、接続されるサーバが、サーバ側トランザクションアクセラレータが該当する鍵または証明書を有していないもののうちの一つであり、したがって、サーバ側トランザクションアクセラレータは、そのサーバの接続を終了させることができない。別の状況は、クライアントが異なるプロトコルまたはバージョンを用いていた場合に、サーバ側トランザクションアクセラレータがそのサーバへの接続を終了させることができるにも関わらず、クライアントが、サーバ側トランザクションアクセラレータによってサポートされていないプロトコルまたはバージョンを用いようと試みるものである。どちらの状況の場合も、サーバ側トランザクションアクセラレータは、クライアント側トランザクションアクセラレータに「バイパス」メッセージ506を送信し、システムをバイパスステート535に移動させる。
【００６７】
バイパスステート535は単純な挙動を有しており、ここで、サーバから受信された任意のメッセージ538が、メッセージ539としてクライアント側トランザクションアクセラレータに送出され、クライアント側トランザクションアクセラレータから受信された任意のメッセージ536が、メッセージ537としてサーバに送出される。クライアントメッセージ(Client Msg)ステート540およびサーバメッセージ(Server Msg)ステート545は、本図の残りの部分との整合性を表示するが、一つの態様では、具体化において非常に軽微であるか、コストがかからないか、または実在しない。
【００６８】
初期ステート505からのもう一つの退出は、クライアントがセキュア接続リクエストメッセージ508を送信して、セキュア接続を始動させ、サーバ側トランザクションアクセラレータが、セキュア接続を終了させるために必要な情報を有しているときに生じる。サーバ側トランザクションアクセラレータは、サーバ接続ステート510に移動する。サーバ接続ステート510の基となる原理は、サーバが、サーバ側トランザクションアクセラレータの対応する接続リクエストを受入れるときのみ、クライアントの接続リクエストを受入れることである。
【００６９】
サーバ接続ステート510では、サーバ側トランザクションアクセラレータは、サーバに接続しようと試みる。一つの態様では、サーバと関連するセキュア接続ハンドシェークメッセージは、このステート510で対処される。サーバ側トランザクションアクセラレータは、サーバとのセキュア接続の始動が成功するかしないかのいずれかのとき、サーバ接続ステート510外に移行する。
【００７０】
サーバとのセキュア接続である511を始動させることに失敗すると、サーバ側トランザクションアクセラレータは、待ち状態のクライアントのリクエストを却下し、クライアント拒否ステート515に移動する。このステート515から、サーバ側トランザクションアクセラレータは、クライアント側トランザクションアクセラレータにシャットダウンメッセージ516を送信して、サーバがセキュア接続を却下したことを示し、閉鎖ステート585に移動する。
【００７１】
反対に、サーバとのセキュア接続を始動させる試みが成功した場合、サーバ側トランザクションアクセラレータは、トランジション512を介してクライアント受入れステート520に移動し、クライアントとのセキュア接続を完了する。一つの態様では、サーバ接続ステート510が、サーバとの複数のハンドシェークメッセージの交換に対処するように、クライアント受入れステート520は、クライアントとの複数のハンドシェークメッセージの交換に対処して、セキュア接続を始動させることができる。
【００７２】
例示したステート図500は、完了したステート510、およびトランザクションアクセラレータがステート520に移行する前に確立されたサーバ接続を示し、いくつかのセキュア接続プロトコルに適した態様に対応する。しかし、サーバハンドシェークおよびクライアントハンドシェークに、他の態様を交互配置してもよい。たとえば、サーバ側トランザクションアクセラレータは、サーバ側トランザクションアクセラレータとサーバとの間の対応するセキュア接続の確立の前に、クライアントからのセキュア接続リクエストを受入れ、そして、サーバが、サーバ側トランザクションアクセラレータとのセキュア接続を却下した場合、クライアントとのこのセキュア接続を後で終了させることも可能であろう。
【００７３】
サーバ側トランザクションアクセラレータが引き続きクライアント受入れステート520にある間、アグレッシブなサーバは、クライアント接続が確率される前に、直ちにデータを送信し始めることができる。一つの態様では、サーバから受信されたそのような任意のデータは、バッファリングステート523によって示されるように、クライアント接続が確立された際にその後の処理のためにバッファリングされる。バッファリングステート523には、サーバからの任意の情報の受信を示すトランジション524によって入る。バッファリングステート523からは、受信された情報の保存を示すトランジション526によって退出する(クライアント受入れステート520に戻る)。
【００７４】
クライアントとのセキュア接続始動処理が失敗すると、サーバ側トランザクションアクセラレータのトランジション521は、サーバ切断ステート525に移動し、データ損失なく、サーバとの確立された接続を切断する。サーバ切断ステート525から、サーバ側トランザクションアクセラレータは、クライアント側トランザクションアクセラレータにシャットダウンメッセージ517を送信して、閉鎖ステート585に移動する。
【００７５】
一つの態様では、サーバ側トランザクションアクセラレータは、2つの状況下で、サーバ接続ステート510からバイパスステート535に移行することができる。サーバは、サーバ側トランザクションアクセラレータからのクライアント認証513を要求することができる。サーバ側トランザクションアクセラレータは、サーバ用の鍵および証明書を有するが、任意のクライアント用の類似した鍵および証明書がないため、クライアント認証の要求は、実際のクライアントの信用証明書がサーバに提示されることを必要とし、次に、これがトランザクションアクセラレータには不明瞭であるセッションのネゴシエーションにつながる。また、サーバは、クライアント向けに、既存のセッションを再使用するであろう514を示すことができる。その再使用された接続が、サーバ側トランザクションアクセラレータに知られていない情報に依存する場合、サーバ側トランザクションアクセラレータは、接続をバイパスすることを再度選択する。
【００７６】
当業者においては、サーバ側トランザクションアクセラレータに特定のクライアント用の鍵および証明書を保存することが受入れられるような特殊なケースで、トランジション513のバイパス状況は、簡単に避けることができることが明らかであろう。しかしまた、クライアント鍵および証明書のサーバ側トランザクションアクセラレータでのそのような保存は、鍵および証明書が保存されているクライアントに対するクライアント認証の健全性を事実上損なうことは明らかであろう。クライアント鍵および証明書の保存は、特定の場合に有益である場合があるが、一般的な手法として、クライアント認証ステップが無意味であることを意味する。したがって、同じ効果のあるより効果的な具体化によって、クライアント認証への要求は、単純に引き下げられるであろう。
【００７７】
クライアントとのセキュア接続の始動が成功し、サーバ側トランザクションアクセラレータがサーバへの接続をセットアップした場合、サーバ側トランザクションアクセラレータは、該当する暗号スイート情報を含むクライアント側トランザクションアクセラレータに、セッションコンテキストメッセージ522を送信し、クライアント側トランザクションアクセラレータが、クライアントへの／からの情報を暗号化および解読することを可能にする。その後、サーバ側トランザクションアクセラレータは、アクティブステート550に移動する。
【００７８】
アクティブステート550では、クライアントおよびサーバの両方のセキュア接続がセットアップされている。クライアント側トランザクションアクセラレータは、クライアントのセキュア接続の終了点となり、クライアントへの／からのデータの一括暗号化／解読を実行する。サーバ側トランザクションアクセラレータがアクティブステート550にあるとき、クライアント側トランザクションアクセラレータから受信された最適化されたメッセージ546はそれぞれ、暗号化ステート555に移動することによって取り扱われ、ここで非最適化して暗号化し、サーバに、暗号化されたメッセージ547を送信する。サーバ側トランザクションアクセラレータによって受信されたサーバからのメッセージ458はそれぞれ、解読ステート560に移動することによって取り扱われ、ここで解読して最適化し、クライアント側トランザクションアクセラレータに、最適化されたメッセージ549を送信する。アクティブステート550に入る前に、バッファリングステート523を用いてデータがバッファリングされた場合、バッファリングされたデータは、サーバから受信された他の任意のメッセージを取り扱う前に、解読ステート560を用い、クライアント側トランザクションアクセラレータに送信して、クライアントに送信される。
【００７９】
アクティブステート550に関連するさらなるステートは、セキュア接続の閉鎖または再ネゴシエーションに関する。クライアントが、クライアント側トランザクションアクセラレータへの接続を閉鎖した場合、クライアント側トランザクションアクセラレータは閉鎖を認識して、サーバ側トランザクションアクセラレータに「クライアント閉鎖」メッセージ551を送信し、そして順に、サーバに「閉鎖」メッセージを送信して、クライアント閉鎖ステート565に移動する。そのステートでは、サーバ側トランザクションアクセラレータは、解読_CCステート575にあるサーバから受信された任意の残存データ561を解読し、クライアント側トランザクションアクセラレータに、解読されたデータ562を送信して、クライアント閉鎖ステート565に戻る。一つの態様では、接続が閉鎖された基となる理由が、接続を中断した突然の不具合であることが分かっている場合、そのような解読は実行されない；代わりに、受信されたデータは、クライアント側トランザクションアクセラレータに送信する方法がないために、破棄される。
【００８０】
同じように、サーバが、サーバ側トランザクションアクセラレータへの接続を閉鎖した場合、サーバ側の接続アクセラレータはその閉鎖を認識し、クライアント側トランザクションアクセラレータに「サーバ閉鎖」メッセージ552を送信して、サーバ閉鎖ステート570に移動する。このステートでは、クライアント側トランザクションアクセラレータは、暗号化_SCステート580にあるクライアント側トランザクションアクセラレータ(563)から受信された任意の残存データ563を暗号化し、サーバに、暗号化されたメッセージ564を送信して、サーバ閉鎖ステート570に戻る。一つの態様では、接続が閉鎖された基となる理由が、接続を中断した突然の不具合であることが分かっている場合、そのような暗号化は実行されない；代わりに、受信されたデータは、サーバに送信する方法がないために、破棄される。
【００８１】
サーバ側トランザクションアクセラレータは、クライアント閉鎖ステート565かまたはサーバ閉鎖ステート570のいずれかから、閉鎖ステート585に移行することができる。クライアント閉鎖ステート565から、サーバ側トランザクションアクセラレータはサーバによる閉鎖を認識して、クライアント側トランザクションアクセラレータに「サーバ閉鎖」メッセージ553を送信する。これに対応して、サーバ閉鎖ステート570から、サーバ側トランザクションアクセラレータは、クライアント側トランザクションアクセラレータから「クライアント閉鎖」メッセージを受信して、サーバに「閉鎖」メッセージ554を送信する。
【００８２】
セキュア接続の再ネゴシエーションを見ると、クライアント側トランザクションアクセラレータが、サーバ側トランザクションアクセラレータに「セッションダンプ(Session Dump)」メッセージ581を送信した場合、このメッセージ581は、セキュア接続の終了が、元のサーバ側に移動する必要があることを報知する。サーバ側トランザクションアクセラレータは、リセットセッションステート590に移動する。サーバ側トランザクションアクセラレータがクライアント再ネゴシエーションステート595に移行する前に、クライアントとサーバ側トランザクションアクセラレータとの間で、多様なセキュア接続リクエストおよび応答メッセージ586を交換することができる。その後、サーバ側トランザクションアクセラレータは、再ネゴシエーションの前に、ポリシー、構成、システム容量、少なくとも一つの該当する鍵の可用性、および／または接続の長さに基づいて、セキュア接続を再ネゴシエートできるかどうかを決定する。
【００８３】
サーバ側トランザクションアクセラレータが、クライアント側トランザクションアクセラレータに「セッションダンプ(Session Dump)」メッセージ587を送信した後、セキュア接続の終了は、元のクライアント側トランザクションアクセラレータに移動し、サーバ側トランザクションアクセラレータは、アクティブステート550に再度入る。
【００８４】
再ネゴシエーション中に生じる可能性のあるエラーは、初期ネゴシエーション中に生じる可能性のあるものに類似している：当業者においては、それらのエラーは、すでに説明されたものと同様のステートおよびトランジションで取り扱うことができることが明らかであろう。いくつかの態様では、再ネゴシエーションが、すでに提示されたステートおよびトランジションを、初期接続のセットアップおよび再ネゴシエーションに有用であるとして再使用することが可能かつ望ましい場合がある。他の態様では、再ネゴシエーションにとって接続をバイパスさせる(バイパスステート535または同様の挙動を有する異なるステートに移動させる)か、または接続にとって切断状態(接続が閉鎖しつつあるかまたは閉鎖されているステートの一つに強制的に移動させる)が好ましい場合がある。
【００８５】
このように、本明細書および図面は、限定的な意味ではなく、例示的な意味に考えられるべきである。しかし、特許請求の範囲に記載されるように、本発明のより広範な意図および範囲から逸脱することなく、多様な改変および変更を加えてもよいことが明白である。
【図面の簡単な説明】
【００８６】
【図１】本発明の態様との使用に適したトランザクションアクセラレータを用いたシステムを示す。
【図２】図2A〜2Cは、クライアントとサーバとの間の通信を容易にする、従来のトランザクションアクセラレータの、実際のおよび見かけ上の相互動作を図示する。
【図３】図3A〜3Cは、本発明の態様の、クライアントとサーバとの間の通信を容易にする、トランザクションアクセラレータの、実際のおよび見かけ上の相互動作を示す。
【図４】本発明の態様の、SSLを用いたクライアント側アクセラレータのステート図を示す。
【図５】本発明の態様の、SSLを用いたサーバ側アクセラレータのステート図を示す。
【図１】
2009505493.tif 000004
【図２Ａ】
2009505493.tif 000005
【図２Ｂ】
2009505493.tif 000006
【図２Ｃ】
2009505493.tif 000007
【図３Ａ】
2009505493.tif 000008
【図３Ｂ】
2009505493.tif 000009
【図３Ｃ】
2009505493.tif 000010
【図４】
2009505493.tif 000011
【図５】
2009505493.tif 000012
2009505493.tif 000013
【手続補正書】
【提出日】平成20年5月16日(2008.5.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ネットワークノードでインターセプトエンティティを用いて、クライアントからのセキュア接続リクエストをインターセプトする工程；
クライアントとの、セキュア接続を介したデータのセキュア通信を可能にする少なくとも一つの属性に関連するセキュア接続を、ネットワークの第一の始動ノードで始動させる工程；および
前記第一の始動ノード、またはそのエージェントからネットワークデバイスに属性を送出し、それによりクライアントとのセキュア接続をネットワークデバイスが維持することが可能になる工程
を含む、複数のネットワークノードを有するネットワークに渡ってセキュア接続を始動させる方法。
【請求項２】
セキュア接続リクエストが、クライアントとサーバとの間の接続を始動させる、請求項1記載の方法。
【請求項３】
セキュア接続リクエストが、クライアントとサーバとの間に前もって確立された接続のセキュリティを始動させる、請求項1記載の方法。
【請求項４】
クライアントからのセキュア接続リクエストをインターセプトする工程が、
クライアントとインパス（in-path）である第二のインターセプトエンティティによって前もってインターセプトされ、インターセプトエンティティに再度向けられたセキュア接続リクエストを受信する工程
を含む、請求項1記載の方法。
【請求項５】
セキュア接続リクエストを受信する工程が、
キャッシングプロトコルを介してセキュア接続リクエストを受信する工程
を含む、請求項4記載の方法。
【請求項６】
クライアントからのセキュア接続リクエストをインターセプトする工程が、
クライアントとのインパスネットワーク接続を介して、クライアントからのセキュア接続リクエストをインターセプトする工程
を含む、請求項1記載の方法。
【請求項７】
クライアントとのセキュア接続を始動させる工程が、
インターセプトエンティティによって、クライアントとサーバとの間のセキュア接続の始動を観察する工程；
セキュア接続の始動から、セキュア接続の属性を決定する工程；および
クライアントとサーバとの間のセキュア接続の始動が完了した表示を受信する工程
を含む、請求項1記載の方法。
【請求項８】
セキュア接続の始動を観察する工程が、インターセプトエンティティにより、サーバに関連するセキュリティ情報を受信することによって容易になる、請求項7記載の方法。
【請求項９】
セキュア接続を始動させる工程が、
インターセプトエンティティとサーバとの間の第一のセキュア接続を始動させる工程；および
インターセプトエンティティとクライアントとの間の第二のセキュア接続を始動させる工程
を含む、請求項1記載の方法。
【請求項１０】
第一のセキュア接続の始動が、第二のセキュア接続を始動させる前に完了する、請求項9記載の方法。
【請求項１１】
第二のセキュア接続が、第一のセキュア接続の始動が完了する前に始動される、請求項9記載の方法。
【請求項１２】
属性が、セキュア接続用にデータを暗号化するために用いられる暗号を含む、請求項1記載の方法。
【請求項１３】
送出された属性を受信するネットワークデバイスが、ネットワーク上で、インターセプトエンティティよりもクライアントに近い、請求項1記載の方法。
【請求項１４】
ネットワークデバイスおよびインターセプトエンティティの、クライアントへのネットワーク上での近接度が、ネットワーク特性によって決定される、請求項13記載の方法。
【請求項１５】
ネットワーク特性が、ネットワークデバイスおよびインターセプトエンティティからクライアントへのネットワークの、ネットワーク待ち時間を含む、請求項14記載の方法。
【請求項１６】
ネットワーク特性が、ネットワークデバイスおよびインターセプトエンティティからクライアントへのネットワークの、ネットワーク帯域幅を含む、請求項14記載の方法。
【請求項１７】
送出された属性を受信するネットワークデバイスが、ローカルエリアネットワークを含む第一のネットワークによってクライアントから分離され、インターセプトエンティティが、ワイドエリアネットワークを含む第二のネットワークによって、クライアントから分離される、請求項14記載の方法。
【請求項１８】
送出された属性を受信するネットワークデバイスが、クライアントを含むコンピュータシステムに組み込まれる、請求項14記載の方法。
【請求項１９】
サーバからクライアントに向けられたデータをインターセプトする工程；
ネットワークデバイスがセキュア接続を介してクライアントとデータの一部をさらに通信するように、インディケータに関連するネットワークデバイスにデータの少なくとも一部を通信する工程
をさらに含む、請求項1記載の方法。
【請求項２０】
セキュア接続を介してクライアントからネットワークデバイスによって前もって受信された第二のデータに対応する第一のデータをネットワークデバイスから受信する工程；および
第一のデータに対応する第三のデータをサーバに通信する工程
をさらに含む、請求項1記載の方法。
【請求項２１】
ネットワークデバイスに属性を送出する工程が、
ネットワークデバイスとのさらなるセキュア接続を始動させる工程；および
さらなるセキュア接続を介して属性を通信する工程
を含む、請求項1記載の方法。
【請求項２２】
第一のネットワークデバイスで、クライアントからサーバへのセキュア接続リクエストをインターセプトする工程；
セキュア接続リクエストに応じて、第一のネットワークデバイスとクライアントとの間の第一のセキュア接続を始動させる工程；ならびに
無事に完了した第一のセキュア接続の始動に応じて、以下の工程を実行する工程：
(a)第二のネットワークデバイスに、クライアントと第一のネットワークデバイスとの間の第一のセキュア接続が確立されたことを少なくとも示すインディケータを、第一のネットワークデバイスに通信させる工程；および
(b)クライアントとサーバとの間の通信がクライアントと第二のネットワークデバイスとの間の第一のセキュア接続を通過するように、第二のネットワークデバイスに、クライアントとの第一のセキュア接続の制御の役割を担わせる工程
を含む、クライアントとセキュリティ上安全に通信する方法。
【請求項２３】
クライアントからのセキュア接続リクエストをインターセプトする工程が、
クライアントとインパスである第二のインターセプトエンティティによって前もってインターセプトされ、インターセプトエンティティに再度向けられたセキュア接続リクエストを受信する工程
を含む、請求項22記載の方法。
【請求項２４】
クライアントからのセキュア接続リクエストをインターセプトする工程が、
クライアントとのインパスネットワーク接続を介して、クライアントからのセキュア接続リクエストをインターセプトする工程
を含む、請求項22記載の方法。
【請求項２５】
サーバからクライアントに向けられた第一のデータを、第一のネットワークデバイスで受信する工程；
第一のネットワークデバイスから第二のネットワークデバイスに、第一のデータに対応する第二のデータを通信する工程；および
第一のセキュア接続を介して、第二のネットワークデバイスからクライアントに、第二のデータに対応する第三のデータを通信する工程
をさらに含む、請求項22記載の方法。
【請求項２６】
第二のデータが、第一のデータの最適化バージョンを含み、第三のデータが、第一のデータに等しい第二のデータの非最適化バージョンを含む、請求項25記載の方法。
【請求項２７】
サーバに向けられたクライアントからの第一のデータを、第一のセキュア接続を介して第二のネットワークデバイスで受信する工程；
第二のネットワークデバイスから第一のネットワークデバイスに、第一のデータに対応する第二のデータを通信する工程；および
第一のネットワークデバイスからサーバに、第二のデータに対応する第三のデータを通信する工程
をさらに含む、請求項22記載の方法。
【請求項２８】
第二のデータが、第一のデータの最適化バージョンを含み、第三のデータが、第一のデータに等しい第二のデータの非最適化バージョンを含む、請求項27記載の方法。
【請求項２９】
セキュア接続リクエストに応じてクライアントとの第一のセキュア接続を始動させる工程が、セキュア接続リクエストに応じてサーバがクライアントとのセキュア接続を確立することが可能であるかを決定する工程を含む、請求項22記載の方法。
【請求項３０】
セキュア接続リクエストに応じてサーバがクライアントとのセキュア接続を確立することが可能であるかを決定する工程が、第一のネットワークデバイスとサーバとの間の第二のセキュア接続を確立する工程を含む、請求項29記載の方法。
【請求項３１】
表示に応じた対称暗号鍵を用いて、第一のセキュア接続を介して第二のネットワークデバイスがクライアントとの通信を始動させる、請求項22記載の方法。
【請求項３２】
表示が対称暗号鍵を含む、請求項31記載の方法。
【請求項３３】
第二のネットワークデバイスによって、対称暗号鍵を選択する工程；
選択された対称鍵を第一のネットワークデバイスに通信する工程；および
第一のセキュア接続の始動中または始動後、第一のネットワークデバイスからクライアントに、選択された暗号鍵を通信する工程
をさらに含む、請求項31記載の方法。
【請求項３４】
第一および第二のネットワークデバイスが、第二のセキュア接続を介して通信する、請求項22記載の方法。
【請求項３５】
第一および第二のネットワークデバイスが、公開鍵暗号方式（public-key cryptography）と、互いに信頼できる認証機関によって署名された証明書とを用いて、第二のセキュア接続を始動させる、請求項34記載の方法。
【請求項３６】
第一および第二のネットワークデバイスが、自己署名された証明書と、そのような証明書の受入れを検討するための手順とを用いて、第二のセキュア接続を始動させる、請求項34記載の方法。
【請求項３７】
第二のセキュア接続が、第一のセキュア接続のセキュリティとは異なるセキュリティを用いる、請求項34記載の方法。
【請求項３８】
第二のセキュア接続が、第一のセキュア接続のセキュリティに類似したセキュリティを用いる、請求項34記載の方法。
【請求項３９】
第二のセキュア接続が第一のセキュア接続に関連するデータを通信し、第一と第二のネットワークデバイス間のさらなるセキュア接続が、さらなるクライアントに関連するデータを通信する、請求項34記載の方法。
【請求項４０】
単一の内部チャネル接続の使用の長さが、それを使用した外部チャネル接続の数によって決定される、請求項39記載の方法。
【請求項４１】
単一の内部チャネル接続の使用の長さが、該接続の最初の使用から経過した時間によって決定される、請求項39記載の方法。
【請求項４２】
内部チャネル接続のプールが再使用可能である、請求項39記載の方法。
【請求項４３】
サーバ側外部チャネル接続が、複数のクライアント側外部チャネル接続のために再使用される、請求項22記載の方法。
【請求項４４】
単一のサーバ側外部チャネル接続の使用の長さが、それを使用したクライアント側外部チャネル接続の数によって決定される、請求項43記載の方法。
【請求項４５】
単一のサーバ側外部チャネル接続の使用の長さが、該接続の最初の使用から経過した時間によって決定される、請求項43記載の方法。
【請求項４６】
内部チャネル接続のプールが再利用可能である、請求項43記載の方法。
【請求項４７】
セキュア接続リクエストに応じて、サーバがクライアントとのセキュア接続を確立することが可能であるかを決定する工程が、
サーバによって拒否された以前のセキュア接続リクエストを特徴付ける情報用の、セキュア接続キャッシュにアクセスする工程；
セキュア接続リクエストの特性と、前記情報とを比較する工程；
セキュア接続リクエストの特性が前記情報と類似しているという決定に応じて、サーバにセキュア接続リクエストを送出し、それによりサーバがクライアントとのセキュア接続を確立することが可能になる工程
を含む、請求項29記載の方法。
【請求項４８】
第一のネットワークデバイスに保存された秘密鍵情報の変更に応じて、セキュア接続キャッシュの少なくとも一部を無効化する工程
をさらに含む、請求項47記載の方法。
【請求項４９】
セキュア接続キャッシュの少なくとも一部を、サーバに接続されたさらなるネットワークデバイスと共有する工程
をさらに含む、請求項47記載の方法。
【請求項５０】
第二のネットワークデバイスで、クライアントとのセキュア接続の制御の役割を担う工程が、
第二のネットワークデバイスで、クライアントによるセキュア接続再ネゴシエーションリクエストを検出する工程；
第二のネットワークデバイスから第一のネットワークデバイスに、セキュア接続再ネゴシエーションリクエストのインディケータを通信する工程；
セキュア接続再ネゴシエーションリクエストのインディケータに応じて、第一のネットワークデバイスで、クライアントとの第一のセキュア接続の制御の役割を担う工程；
第一のネットワークデバイスで、第一のセキュア接続が第一のネットワークデバイスによって再ネゴシエートできるかを決定する工程；
第一のネットワークデバイスが第一のセキュア接続を再ネゴシエートできるという決定に応じて、クライアントとの第一のセキュア接続を再ネゴシエートする工程；および
第一のネットワークデバイスが第一のセキュア接続を再ネゴシエートできないという決定に応じて、サーバにセキュア接続再ネゴシエーションリクエストを送出し、それによりサーバがクライアントとのセキュア接続を再ネゴシエートすることが可能になる工程
を含む、請求項22記載の方法。
【請求項５１】
クライアントとサーバとの間のセキュア接続の始動をネットワークデバイスで観察する工程；
クライアントとサーバとの間のセキュア接続の始動が完了したことの表示をネットワークデバイスで受信する工程；
サーバに代わり、クライアントとのセキュア接続の制御の役割をネットワークデバイスで担う工程；
ネットワークデバイスを介して、サーバからクライアントに向けられたデータをネットワークデバイスで受信する工程；および
セキュア接続を介して、ネットワークデバイスからクライアントにデータを通信する工程
を含む、ネットワークデバイスを使用してクライアントとセキュリティ上安全に通信する方法。
【請求項５２】
セキュア接続の始動が完了したことの表示が、セキュア接続を介したデータのセキュア通信を可能にする少なくとも一つの属性を含む、請求項51記載の方法。
【請求項５３】
セキュア接続の始動の表示が、秘密鍵を必要とする相互動作の終結および、対称鍵のみを必要とする相互動作の開始をマークする、請求項51記載の方法。
【請求項５４】
属性が対称鍵を含む、請求項52記載の方法。
【請求項５５】
サーバがVPNデバイスである、請求項51記載の方法。
【請求項５６】
セキュア接続の制御の役割を担う工程が、
セキュア接続の始動を観察することからセキュア接続の属性を決定する工程；
ネットワークデバイスに属性を送出し、それによりクライアントとのセキュア接続をネットワークデバイスが維持することが可能になる工程
を含む、請求項51記載の方法。
【国際調査報告】
2009505493.tif 000014