JP2015515210A - 盗聴に対するIPsec通信のパフォーマンス及びセキュリティの向上 - Google Patents

盗聴に対するIPsec通信のパフォーマンス及びセキュリティの向上 Download PDF

Info

Publication number
JP2015515210A
JP2015515210A JP2015503587A JP2015503587A JP2015515210A JP 2015515210 A JP2015515210 A JP 2015515210A JP 2015503587 A JP2015503587 A JP 2015503587A JP 2015503587 A JP2015503587 A JP 2015503587A JP 2015515210 A JP2015515210 A JP 2015515210A
Authority
JP
Japan
Prior art keywords
sub
sas
cluster
network element
security
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.)
Granted
Application number
JP2015503587A
Other languages
English (en)
Other versions
JP6052391B2 (ja
Inventor
ジフェイ・ソン
シャオヨン・イ
シャンヤン・ジャン
Original Assignee
ホアウェイ・テクノロジーズ・カンパニー・リミテッド
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ホアウェイ・テクノロジーズ・カンパニー・リミテッド filed Critical ホアウェイ・テクノロジーズ・カンパニー・リミテッド
Publication of JP2015515210A publication Critical patent/JP2015515210A/ja
Application granted granted Critical
Publication of JP6052391B2 publication Critical patent/JP6052391B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/18Network architectures or network communication protocols for network security using different networks or channels, e.g. using out of band channels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/164Implementing security features at a particular protocol layer at the network layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0485Networking architectures for enhanced packet encryption processing, e.g. offloading of IPsec packet processing or efficient security association look-up
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本開示は、ネットワーク要素(NE)を提供し、このNEは、命令を格納するように構成されたメモリデバイスと、命令を実行することによって、データフロー中の複数の第1データパケットを複数の第1サブフローに分割し、ネットワークを介して複数の第1サブフローを第2のNEに伝送するように構成されたプロセッサとを具備する。複数の第1サブフローは、複数のパラレルサブセキュリティアソシエーション(SA)からなる第1のIPsec SAクラスタを使用して伝送される。また、本開示は、インターネット鍵交換(IKE)又はIKEv2を使用して、NEと第2のNEとの間に、複数の第1サブSAからなるIPsec SAクラスタを作成するように構成されたプロセッサを具備したNEを提供する。複数の第1サブSAは、単方向性を有する。複数の第1サブSAは、複数の第1データパケットを共通の方向に伝送するように構成される。

Description

本出願は、Xiangyang Zhangによって2012年3月30日に出願された「Multiple Path IP Layer Security」と題する米国仮特許出願第61/618359号の優先権を主張するものである。引用により、上記仮特許出願の全内容が本出願に援用される。
ネットワークに接続されたデバイスは、さまざまなネットワークを経由して通信を行うことを要求される。デバイスによっては、そのような通信においても安全性(セキュリティ)を求められることがある。保護されたネットワーク(セキュアなネットワーク)を介して相互に接続されたデバイスは、いかなるネットワークを介した通信にもそのような安全性が提供されるように、保護されたネットワークに固有のセキュリティ対策手段に頼る。また、これらのデバイスは、保護されていないネットワークを経由して通信を行うことを要求されることがある。例えば、ホストコンピュータは、保護が部分的な、不均一な、及び/又はまったく保護されていないインターネットを介して、他のホスト、クライアント、ネットワーク等と通信を行うことがある。通信のセキュリティレベルは、送信側と受信側との間のあらゆる地点で通信に提供されるセキュリティレベルのうちで最も脆弱なレベルにしかなり得ない。保護されていないネットワークを通過する通信に対してセキュリティを維持するために、ネットワークデバイスは、さまざまなセキュリティプロトコルを使用し得る。例えば、発信元ネットワークデバイスは、発信元ネットワークデバイスと宛先ネットワークデバイスとの双方が(複数の)同一のセキュリティプロトコルを使用するように構成されていれば、宛先ネットワークデバイスと保護された接続及び/又は通信をネゴシエートし得る。
Internet Engineering Task Force (IETF) document request for comment (RFC) 4301 IETF document draft-zhang-ipsecme-multi-path-ipsec-02 IETF document RFC 4302 IETF document RFC 4303
一態様において、本開示は、ネットワーク要素(Network Element,NE)を含み、このネットワーク要素は、命令を格納するように構成されたメモリデバイスと、命令を実行することによって、データフロー中の複数の第1データパケットを複数の第1サブフローに分割し、ネットワークを介して複数の第1サブフローを第2のネットワーク要素に伝送するように構成されたプロセッサとを具備する。複数の第1サブフローは、複数のパラレルサブセキュリティアソシエーション(Security Association,SA)を含む第1のインターネットプロトコルセキュリティ(Internet Protocol Security,IPsec)SAクラスタを使用して伝送される。
別の態様において、本開示は、インターネット鍵交換(Internet Key Exchange,IKE)又はIKEバージョン2(Internet Key Exchange version 2,IKEv2)を使用して、ネットワーク要素と第2のネットワーク要素との間に、複数の第1サブSAを含むIPsec SAクラスタを作成するように構成されたプロセッサを具備したネットワーク要素を含む。複数の第1サブSAは、単方向性を有する。複数の第1サブSAは、複数の第1データパケットを共通の方向に伝送するように構成される。
別の態様において、本開示は、複数のIPsec SAサブトンネルを設定するステップと、複数のIPsec SAサブトンネルを一緒にクラスタ化して、SAクラスタを形成するステップとを有した方法を含む。
これらの及びその他の特徴は、添付の図面及び特許請求の範囲の記載と併せて、以下の発明の詳細な説明の記載からより明確に理解されよう。
以下では、本開示のより完全な理解のために、添付の図面及び発明の詳細な説明に関連して、簡単な説明を行う。同様の参照符号は、同様の部分を表す。
IPsecセキュリティアーキテクチャの一実施形態を示す概略図である。 IPsecセキュリティアーキテクチャの別の実施形態を示す概略図である。 SAクラスタを作成する方法の一実施形態を示すフロー図である。 データサブフローに対するサブSAを選択する方法の一実施形態を示すフロー図である。 SAクラスタを介してデータを受信する方法の一実施形態を示すフロー図である。 ネットワーク要素の一実施形態を示す概略図である。
IPsecは、引用によって本出願に援用される、インターネット技術タスクフォース(Internet Engineering Task Force,IETF)文書RFC 4301(非特許文献1)で説明されるように、さまざまなネットワークを経由するインターネットプロトコル(Internet Protocol,IP)通信を保護するためのセキュリティプロトコル群を含むセキュリティプロトコルスイートである。IPsecは、IP層(例えば、開放型システム間相互接続(Open Systems Interconnection,OSI)参照モデルの第3層及び/又はネットワーク層)での通信を保護し得る。IPsecは、セキュリティゲートウェイ間のデータフロー(例えば、通信)を保護するエンドツーエンドのセキュリティスキームとなり得る。IPsecは、単方向性のSA対を使用して、複数のデータパケットを含むデータフローを保護し得る。例えば、ローカルセキュリティゲートウェイは、リモートセキュリティゲートウェイに伝送する通信を保護するための第1のSAと、リモートセキュリティゲートウェイから受信する通信を保護するための第2のSAとを使用し得る。また、IPsecは、SA内にSAがネストされる(例えば、トンネル内にトンネルを通す)ことを含むSAバンドルを許容してよい。IPsecは、SA対及び/又はSAバンドル対を使用するように制限されてよい。IPsecは、順次にSAを経由してパケットを伝送してよい。また、各SAには、一意に定まるセキュリティパラメータインデックス(Security Parameter Index,SPI)が割り当てられてよい。このことから、盗聴ノードは、単一のネットワークノードを監視することによって、SAによって保護されたトンネルを通過するすべてのパケットを受信し、SPIを使用してパケットを互いに関連付けし得る。盗聴ノードがSAセキュリティ対策手段を突破した場合、その盗聴ノードは、データフロー全体への完全なアクセスを行えるようになり得る。
本明細書で開示されるものは、保護されていないネットワークを経由して伝送されるデータトラフィックのための強化された保護機能を備えた方法及び/又はシステムである。IPsecのデータ保護は、データフローを複数のサブフローに分割し、複数のサブフローを(例えば、複数のサブトンネル及び/又は複数のトランスポート通信を介して、)並行して伝送することによって強化され得る。サブSAは、サブフロー毎に独立して設定されてよい。複数のサブSAが組み合わされて、SAクラスタが形成されてよい。各サブSAは、一意に定まるSPIを含んでよい。SAクラスタ中のサブSAは、ローカルセキュリティゲートウェイとリモートセキュリティゲートウェイとの間で異なるネットワークパスを使用してよく、又は使用しなくてもよい。このことから、盗聴ノードは、ネットワークパスの途中で単一のノードを監視することによっては、すべてのサブフローへのアクセスを行えず、他のネットワークパスの存在、数、又はルートを把握し得ない。また、各サブSAが一意に定まるSPIを含み得るので、複数のサブフローからパケットを取得する盗聴ノードであっても、データパケットを互いに関連付けて、それらが同一のフローに関係していると判断し得ない。また、複数のサブフローのパラレル伝送は、シリアル伝送を超えて伝送効率を向上させることを可能にし得る。SAクラスタについては、引用によって本出願に援用される、IETF文書draft-zhang-ipsecme-multi-path-ipsec-02(非特許文献2)に詳しい。
方法及び/又はシステムは、複数のパスにデータトラフィックを分散させることによって、セキュリティサービスを向上させ得る。例えば、そのような分散は、異なる経路が使用されてよいので、攻撃者がすべてのパケットの傍受に成功するための難易度を高め得る。同一の経路が使用される場合であっても、攻撃者/盗聴者は、SAのセットが特定のクラスタ化されたSAの一部分であると判断することが困難となり、これは、傍受されたパケットの復号化の難易度を増加させ得る。また、複数のパスの選択は、(例えば、リンク障害発生時の)信頼性の向上を提供し得る。また、複数のSAの使用は、最適化されたパフォーマンス及び最適化されたネットワークコントロールのための追加のオプションを提供し得る。これらの技術は、IPsecによって提供されるセキュリティサービスを向上させ得る。SAクラスタは、異なるパケットに異なる暗号変換を実行するオプションを提供してよい。さらにまた、SAクラスタは、異なるパスに沿ってパケットを伝送するオプションを提供してよい。
図1は、IPsecセキュリティアーキテクチャ100の一実施形態を示す概略図である。IPsecセキュリティアーキテクチャ100は、ホスト150と、ホスト151とを具備し、これらは、保護されていないネットワーク130に位置するルータ120を経由して、セキュリティゲートウェイ110,112を介して通信を行い得る。ホスト150,151は、それぞれ、保護された接続143,144を介してセキュリティゲートウェイ100,112に接続され得る。ホスト150,151は、保護されていないネットワーク130を経由する通信を希望し得る。セキュリティゲートウェイ110は、セキュリティゲートウェイ112への伝送のために、例えば、IKE及び/又はIKEv2を使用して、単方向性のSA 141を設定してよい。同様に、セキュリティゲートウェイ112は、セキュリティゲートウェイ110への伝送のために、単方向性のSA 142を設定してよく、その結果、SA対が作成され得る。ホスト150は、保護された接続143を介してセキュリティゲートウェイ110と通信を行うことによって、ホスト151にデータを伝送し得る。セキュリティゲートウェイ110は、SA 141を使用して、ルータ120を介して保護されていないネットワーク130を経由してセキュリティゲートウェイ112に通信を伝送し得る。次いで、そのような通信は、保護された接続144を介してホスト151にルーティングされて、伝送された通信に対するエンドツーエンドセキュリティが達成され得る。ホスト151は、実質的に同一の手法で、ただし、SA 141の代わりにSA 142を使用して、ホスト152にデータパケットを伝送し得る。
ホスト150,151などのホストは、ネットワークを介して他のホストと通信を行う任意のデバイスであってよい。例えば、ホスト150及び/又はホスト151は、サーバ、クライアント端末、又はそれらの組合せを含んでよい。ホスト150,151は、サービスリクエスト、アプリケーションホスティング等に応答して、リソースの共有を目的とするデータ通信を行うように構成されてよい。一例として、ホスト150は、クライアント端末を含んでよく、ホスト151は、サーバを含んでよく、かつホスト151は、アプリケーションをホストし、ホスト150からのアプリケーションリクエストに応答し得る。別の例では、ホスト150,151は、それぞれ、仮想マシン(Virtual Machine,VM)、記憶スペース、処理リソースなどのリソースを含んでよく、ネットワーク接続を介して、データ、アプリケーション等のリロケートを動的に行い得る。
セキュリティゲートウェイ110,112などのセキュリティゲートウェイは、保護されたネットワークのエッジに位置する任意のネットワーク要素(Network Element,NE)であってよい。保護されたネットワークは、保護された接続143,144などの保護された接続を含んでよい。セキュリティゲートウェイ110,112は、その内部に位置する任意のデバイス及び/又は保護されたネットワークを通過する通信に対してセキュリティを提供し得る。セキュリティゲートウェイ110,112は、保護されたネットワークに許可なくアクセスすることを防止してよく(例えば、ファイアウォールとして)、かつ保護されたネットワークを離れる通信のためのセキュリティプロトコルを実装してもよい。例えば、ホスト150,151が、それぞれ、データセンターに配置されている場合、セキュリティゲートウェイ110,112は、保護されたネットワークを離れるすべてのトラフィックがゲートウェイ110及び/又はゲートウェイ112を通過するように、データセンターネットワークのエッジに配置されてよい。セキュリティゲートウェイ110,112は、それぞれ、ホスト150,151からデータを受信し、保護されていないネットワーク130(例えば、インターネット)を経由するIPsec SA 141,142を作成することによって、通信セッションを開始してよい。セキュリティゲートウェイ110,112は、そのようなSAの作成を目的として、例えば、IKE及び/又はIKEv2を使用することによって、セキュリティ鍵を交換してよい。
SA 141,142などのIPsec SAは、トランスポートモード又はトンネルモードで動作し得る。トランスポートモードでは、データパケットのペイロード(例えば、伝送される実際のデータ)が暗号化されてよく、一方、データパケットルーティング情報を含むデータパケットのヘッダは暗号化されずともよい。トンネルモードでは、データパケット全体が暗号化されてよい。また、SAは、認証ヘッダ(Authentication Header,AH)及び/又はカプセル化セキュリティペイロード(Encapsulating Security Payload,ESP)動作をサポートするためのデータ及び/又はアルゴリズムを含んでよい。AHは、データフローに対するコネクションレス整合性及びデータ発信元認証を提供し得る。ESPは、データパケット秘匿性(例えば、カプセル化)、データ発信元認証、コネクションレス整合性、アンチリプレイサービス、及びフロー秘匿性を提供し得る。SA 141,142は、それぞれ、単方向性を有してよい。このことから、SA 141,142の対は、セキュリティゲートウェイ110,112間でデータパケットをやりとりするために必要とされ得る。一実施形態では、SA 141,142は、それぞれ、SAバンドルを含んでよい。SAバンドルは、ネストされた2つのSA(例えば、トンネル内のトンネル)を含み得る。例えば、SAバンドルは、ESP SA内のAH SAを含んでよい。IPsecセキュリティアーキテクチャ100は、セキュリティゲートウェイ110,112間の保護された通信毎に、単一のSA対及び/又は単一のSA対バンドル(例えば、SA 141及びSA 142)を提供するように制限されてよい。各SAは、別個のSPIを含んでよく、別個のSPIは、SAデータベース(Security Association Database,SAD)でインデックスとして使用されてよく、かつSA宛先アドレスと組み合わされて、SAを一意に識別し、SAに関連付けられた暗号化鍵及びプロトコルを決定するために使用されてもよい。
ルータ120は、保護されていないネットワーク130に位置する任意のNE又は複数のNEからなるグループであってよい。ルータは、セキュリティゲートウェイ110からデータパケットを受信し、セキュリティゲートウェイ112にデータパケットを転送してよく、また、その逆を行ってもよい。ルータ120は、OSI参照モデルの第2層、第2.5層、及び/又は第3層の技術を使用して、パケットをルーティングし得る。ルータ120は、データパケットのヘッダに基づいてルーティング決定を行ってよい。データパケットがカプセル化されている場合(例えば、ESPの場合)、ルータ120は、データパケットのヘッダ及び/又はペイロードに格納されたデータを意識することなく、カプセル化されたパケットのヘッダに基づいてルーティング決定を行ってよい。ルータ120は、セキュリティゲートウェイ110とセキュリティゲートウェイ112との間のエンドツーエンド接続可能性を提供し得る。ルータ120は、SA 141のための単一のネットワークパスと、SA 142のための単一のネットワークパスとを用意してよい。SA 141のためのネットワークパスは、SA 142のためのネットワークパスと同一のパスであってもよく、又は同一のパスでなくてもよい。
IPsecプロトコルスイートは、IPsecに準拠するシステムのための基本アーキテクチャ100の一例を指定するものである。IPsecプロトコルスイートは、例えば、IP層において、IPバージョン4(IPv4)環境とIPバージョン6(IPv6)環境との両方で、セキュリティサービスのセットがトラフィックに対してどのように提供されるかを説明するものである。先に記載したように、IPsecプロトコルスイートは、IPsecの概念としてSAを定義している。SA(例えば、SA 141,142)は、接続によって搬送されるトラフィックにセキュリティサービスを付与し得る単純な接続を定義し得る。セキュリティサービスは、AH又はESPの使用によってSAに付与されてよく、それら両方によって単一のSAに提供されなくてもよい。AH及びESPは、引用によって本出願に援用される、IETF文書RFC 4302(非特許文献3)及びRFC 4303(非特許文献4)でさらに説明される。AH及びESP保護の両方がトラフィックストリームに適用される場合、2つのSAが作成されて、セキュリティプロトコルの反復適用(例えば、ネストされたSA)を介して保護が達成されるように調整されてよい。ユニキャストトラフィックを搬送するために1つのSAが使用され得るので、SAの対(例えば、SA 141及びSA 142)は、ポイントツーポイント通信として確立され得る。2つのSA 141,142は、2つのセキュリティゲートウェイ110,112間に1つのユニキャストIPsecトンネルを作成し得る。異なるSA同士を区別するためには、32ビットの値を含み得るSPIが、到着データパケットが結び付けられるべきSAを識別するために受信側によって使用されてよい。SPIの割り当ては、SAの作成者によって完了されてよく、それは受信側であってもよい。送信側では、任意のSPIの競合を解決するために、追加的な宛先IPアドレス情報が使用されてよい。このようにして、送信側は、その配下でIPパケットが処理される適切なSAを選択し得る。別の実施形態では、各セキュリティゲートウェイ110,112は、ローカルSPIを割り当てるとともに、それぞれ、相手側SPIの知識を保持してもよい。パケットの送信時、各当事者(例えば、それぞれ、ゲートウェイ110又はゲートウェイ112)は、データパケットヘッダ中の他の当事者(例えば、それぞれ、ゲートウェイ112又はゲートウェイ110)のSPIを使用してよい。
図1は、セキュリティゲートウェイ110,112間にSAが位置することだけを示しているが、ホスト150及び/又はホスト151などのホストは、ある実施形態では、SAを介してゲートウェイ110及び/又はゲートウェイ112などのゲートウェイと直接に通信を行ってもよい。例えば、ホストとして機能するクライアント端末は、保護されたネットワーク上に配置されなくてよい。その場合、クライアント端末は、SAを使用して、保護されていないネットワーク130を経由してセキュリティゲートウェイと直接に通信を行い得る。
図2は、IPsecセキュリティアーキテクチャ200の別の実施形態を示す概略図である。アーキテクチャ200は、ホスト250,251、保護された接続243,244、セキュリティゲートウェイ210,212、及びルータ221,222を含んでよく、これらは、それぞれ、ホスト150,151、保護された接続143,144、セキュリティゲートウェイ110,112、及びルータ120と実質的に同一であってよい。セキュリティゲートウェイ210,212は、SAクラスタ241及びSAクラスタ242を介して通信を行い得る。
SAクラスタ241,242は、それぞれ、複数のパラレルサブSAを含んでよい。パラレルサブSAは、同一の発信元ノード(例えば、セキュリティゲートウェイ210)と、同一の宛先ノード(例えば、セキュリティゲートウェイ212)とを備えた複数の単方向性サブSAであってよく、それぞれ、同一のデータフローの一部分を搬送してよい。例えば、SAクラスタ241は、パラレルサブSA 241a,241bを含んでよく、SAクラスタ242は、パラレルサブSA 242a,242bを含んでよい。SAクラスタは、サブSAがネストされ得るSAバンドルとは異なり得る。しかしながら、ある実施形態では、サブSAは、SAバンドルを含んでもよい。SAクラスタ毎に2つのサブSAだけが示されているが、SAクラスタ241,242は、特定の通信のために望まれる分だけより多くのサブSAを含んでもよい。サブSA 241a,241bは、それぞれ、SA 141と同様のものであってよく、サブSA 242a,242bは、それぞれ、SA 142と同様のものであってよい。しかしながら、各サブSAは、データフローの一部分の搬送及び/又はカプセル化だけを行い得る。例えば、セキュリティゲートウェイ210は、複数のデータパケットを含むデータフローを、SAクラスタ241を介してセキュリティゲートウェイ212に伝送することを希望し得る。セキュリティゲートウェイ210は、サブSA 241a,241b間でパケットを交番させ、サブSA 241bよりも多くのパケットをサブSA 241aで送信し、フローを別個のデータパケットブロックに分割し、サブSA 241a,241b間のブロックに交番させる等を行い得る。サブSAは、それぞれ、異なるSPIを有してよく、したがって、SAクラスタ241及び/又はSAクラスタ242は、複数のSPIを有し得る。SAクラスタ中の複数のサブSAは、セキュリティゲート間で同一の経路又は異なる経路を使用してよい。例えば、SAクラスタ241は、それぞれ、ルータ221を介する経路を使用するサブSA 241aと、ルータ222を介する経路を使用するサブSA 241bとを含んでよい。別の例として、SAクラスタ242は、そのどちらもルータ221を介する経路を使用するサブSA 242a及びサブSA 242bを含んでもよい。
アーキテクチャ200は、データフローが分割され、盗聴ノードによって予測し得ない方法でルーティングされるようにし得る。各SAクラスタが未知数のサブSAを含み得るので、盗聴ノードは、特定のデータフローに関係するデータパケットの正確な数を把握し得ない。さらに、各SAクラスタが複数のSPIを含み得るので、盗聴ノードは、取得した任意のデータパケットを互いに関連付けることができず、複数のデータパケットが同一のデータフローに関連することを判断できない。さらに、あるサブSAは他のサブSAとは異なるネットワーク経路を通過し得るので、盗聴ノードは、単一のネットワークノードを監視することによっては、フローのデータパケットのすべてを取得できず、残りのデータパケットを取得するために他のどのデータパケットを監視すべきかを判断できない。このように、SAクラスタ241及び/又はSAクラスタ242の使用は、盗聴及び/又はハッキングプロセスに重大な不確実性を付与し得、したがって、保護されていないネットワーク上のセキュリティを強化し得る。また、パラレルサブSAでデータパケットを送信する機能は、伝送を最適化し得る。例えば、ルータ221が輻輳状態となった場合、発信データパケットは、通信セッションを終了することなく、サブSA 241aからサブSA241bに移されてよい。さらに、データフローパケットのパラレル伝送は、アーキテクチャ100によって必要とされるデータフローパケットのシリアル処理と比較して、並列プロセッサの処理効率を増大させ得る。例えば、SAルックアップ、シーケンス番号の生成、及び/又はアンチリプレイチェックは、データフローパケットが並列に伝送される場合には、並列に実行されてよい。
アーキテクチャ200は、SAクラスタの作成及び使用を実現するために、抽象構文記法1(Abstract Syntax Notation one,ASN.1)を使用してよい。以下のASN.1定義は、サブSA(例えば、それぞれ、サブSA 241a,241b又はサブSA 242a,242b)の数に基づいて、SAクラスタ(例えば、SAクラスタ241及び/又はSAクラスタ242)を作成するためのものであってよく、また、サブフロー伝送のための適切なサブSAを選択するためのものであってもよい。
Processing ::= SEQUENCE {
extSeqNum BOOLEAN, -- TRUE 64 bit counter, FALSE 32 bit
seqOverflow BOOLEAN, -- TRUE rekey, FALSE terminate & audit
fragCheck BOOLEAN, -- TRUE stateful fragment checking,
-- FALSE no stateful fragment checking
lifetime SALifetime,
spi ManualSPI,
algorithms ProcessingAlgs,
tunnel TunnelOptions OPTIONAL, -- if absent, use transport mode
saCount INTEGER OPTIONAL, -- if absent, use 1
selectSA SASelAlgoType OPTIONAL -- ignored if saCount is 1,
-- if absent, use round-robin
}
SASelAlgoType ::= INTEGER {
round-robin (0),
random (1),
others (2)
}
上記のASN.1定義では、extSeqNum、seqOverflow、及びfragCheck属性は、論理値であってよく(例えば、真(true)又は偽(false)の値を含み得)、SAクラスタを作成するエンティティが、64ビットカウンタか又は32ビットカウンタか、シーケンス番号がオーバーフローした場合に、クラスタに鍵を再発行(rekey)するか又は終了するか、フローの断片化に対してステートフルチェックを行うか又は行わないかについて、それぞれどのように設定すべきか指示するように設定され得る。lifetime属性は、SAクラスタ及び/又は特定のサブSAの存続期間(lifetime)を指示してよく、ここで、存続期間は、SAクラスタ及び/又はサブSAがデータを受信及び/又は送信することなくアクティブでいられる時間であってよい。SAクラスタは、タイムアウトしないように設定されてもよい。spi属性は、SPI値を手作業で設定するために、管理者によって使用されてよく、SPI値が自動的に生成される場合には、無視されてもよい。algorithms属性は、SAクラスタ及び/又はサブSAを作成及び/又は使用するために使用される他の処理アルゴリズムを指示し得る。tunnel属性は、SAクラスタ及び/又はサブSAがトンネルモード及び/又はトランスポートモードを使用する否かと、トンネルモードに関連した任意のオプションとを指示するために使用され得る。saCount属性は、変数であってよく、SAクラスタに対して作成されるサブSAの数を示す整数又は他の値に設定されてよい。selectSA属性は、変数であってよく、SASelAlgoTypeに対応する整数又は他の値に設定されてよい。selectSAは、特定のサブフローの伝送のためのサブSAを選択するために、送信者によって使用されてよい。SASelAlgoTypeは、変数であってよく、特定の選択アルゴリズムを指示するために、整数又は他の値に設定されてよい。例えば、SASelAlgoTypeは、ラウンドロビン選択アルゴリズムを示す値「0」、ランダム選択アルゴリズムを示す値「1」、他の選択アルゴリズム(例えば、ユーザ定義、SAパスの遅延に基づく配分(apportion)、サービス品質が保証されたSAパスに基づく配分)を示す他の値に設定されてもよい。ラウンドロビンは、各サブSAにデータフロー中の等しい部分を割り当てる選択アルゴリズムであってよい。
データの機密性は、送信されたデータを盗聴などの受動的攻撃から保護し得る。IPsecの実装形態(例えば、アーキテクチャ100)において、すべてのIPデータグラムは、1つのIPsecトンネル内を伝送されてよく、1つのSAによる保護が提供され得る。機密セキュリティサービスを向上させるためには、SAのセット(例えば、サブSA 241a、サブSA 241b、サブSA 242a、及び/又はサブSA 242b)がトラフィックを保護するために使用されてよい。複数のトンネルは、2つのエンティティ間にセットアップされ、次いで、一緒にクラスタ化されて、1つのクラスタ化トンネル(例えば、SAクラスタ241及び/又はSAクラスタ242)を形成し得る。1つのIPパケットは、なお、単一のSAによって保護され得る。送信エンティティは、トラフィックをこれらすべてのサブSAに分割してよい。受信エンティティは、複数のIPsecトンネルからのトラフィックを多重化し得る。一緒にクラスタ化されたトンネルは、サブトンネルと称されてよい。サブトンネルに対するSAは、サブSAと称されてよい。1つのクラスタ化トンネル内で保護され得るIPトラフィックは、すべてのサブトンネルに分割されてよい。SAクラスタという用語は、トラフィックがセキュリティポリシを満たすように処理されなければならないSAの組合せを説明するために使用されてよい。複数のサブトンネルが2つの保護されたエンティティ間のトラフィックの同一のフローに設定されるので、物理パスは異なり得る。これらのクラスタ化SAの処理順序は、これらすべてのSAがSAにネストされてよく、又はネストされなくてもよいので、ローカルの問題となり得る。
SAクラスタリングが送信者によって実行されてよいこと、及び受信エンティティがIP層でのSAクラスタの存在を認識し得ることに留意されたい。例えば、トラフィックの多重化は、受信機がIP層で複数のサブSAを経由するSAクラスタトラフィックを互いに関連付けるメカニズムを有し得ないので、上位層プロセスによって実行され、IPsecプロセスによって直接に実行され得ない。しかしながら、上位層プロセスは、多重化トラフィックを収集する他の方法(例えば、上位層プロセスに関連するシーケンス番号を相互に関連付けること等)を使用してもよい。
サブSAは、IKEネゴシエーションを介してネゴシエートされている場合、自身のソフト及びハードの存続期間を有し得る。しかしながら、SAクラスタに対する存続期間はなくともよい。アーキテクチャ200は、各サブSAの維持性を変更し得ない。1つのサブSAが(例えば、タイムアウトにより)無効となった場合、そのようなサブSAは、さらなるパケット処理に使用され得ない。SAクラスタが有効なサブSAを保持しなくなった場合、そのSAクラスタは無効となってよい。
図3は、SAクラスタを作成する方法300の一実施形態を示すフロー図である。方法300において、セキュリティゲートウェイ210及び/又はセキュリティゲートウェイ212などのNEは、ステップ310で、(例えば、ホスト240からの)リクエストを受信し、セキュリティゲートウェイ212などの別のNEとSAを確立し得る。ステップ312で、方法300は、SAに対するセキュリティポリシを検索し得る。セキュリティポリシは、NE上に配置されてよい及び/又は管理NEなどの他のNEからアクセスされてよいセキュリティポリシデータベース(Security Policy Database,SPD)に格納されてよい。セキュリティポリシは、SAに関連付けられることとなる処理パラメータ及び/又は暗号鍵素材を決定するために使用されてよい。ステップ314で、方法300は、セキュリティポリシをチェックして、saCount変数が存在するか決定し得る。方法300は、saCount変数が存在しない場合はステップ316へ進み、SACount変数が存在する場合はステップ320に進み得る。
ステップ316では、saCount変数が存在せず、これは、単一のSA(例えば、SA 141)がセキュリティポリシによって指定されていることを意味し得る。このことから、方法300は、例えば、IKE及び/又はIKEv2を使用することによって、SAを作成し、ステップ318に進んで動作を終了し得る。
ステップ320では、saCount変数が存在しており、これは、SAクラスタ化がセキュリティポリシで指定されていることを意味し得る。saCount変数の値は、SAクラスタ中のサブSAの数を示してよい。saCount変数の値が1以上でない場合、方法300は、ステップ322に進み、クラスタは少なくとも1つのサブSAを必要とするので、エラーを返し得る。saCountの値が1以上である場合、方法300は、ステップ324に進み得る。ステップ324で、方法は、カウント変数を作成し、saCount変数の値に等しくなるように、カウント変数の値を設定し得る。ステップ326で、方法300は、(例えば、IKE及び/又はIKEv2を使用することによって、)サブSAを作成し得る。ステップ328で、カウント変数の値は、1だけデクリメントされ得る。ステップ330で、方法300は、カウント変数の値がゼロよりも大きいか否かを決定し得る。カウント変数の値がゼロよりも大きいままである場合、方法300は、ステップ326に戻って、カウント変数の値によって指示されるように、追加のSAを作成し得る。カウント変数の値がステップ330でゼロに達した場合、方法300は、ステップ318へ進んで動作を終了し得る。このように、サブSAは、セキュリティポリシに基づいて作成されて、SAクラスタに追加されてよい。
先に記載したように、SAクラスタのセットアップは、複数のサブSAのセットアップを含んでよい。サブトンネルは、独立して設定されてよい。セットアップの後、サブトンネルは、クラスタに1つずつ追加されることができる。SAクラスタにサブSAを追加する正確な方法は、ローカルの問題であり得る。協働するすべてのサブトンネルは、異なるSPI値を含んでよい。1つのクラスタ化トンネルのためにいくつのサブトンネルが使用されるかの制限はなくてよい。送信エンティティと受信エンティティとの双方は、任意のIPsecトラフィックがサブトンネルのいずれかを介して送信される前に、SAクラスタ仕様に合意し得る。新しいサブSAは、トラフィックがクラスタ化されたトンネル内に流れ始めた後にも、セットアップされ、SAクラスタに参加し得る。サブトンネルが独立であっても、それらは1つのシーケンス番号ソースを共有してよい。クラスタ化されたトンネル内を搬送される各IPsecパケットは、一意に定まるシーケンス番号を有してよい。
すべてのサブトンネルは、独立してセットアップされてよい。異なるサブトンネルを介するトラフィックが同一の経路を使用してもよい。また、トラフィックは、ルーティングポリシに基づいて、例えば、コストが等しい複数の経路を使用することによって、異なる経路を使用してよい。SAクラスタが1つのサブSAしか含まない場合には、SAクラスタは、アーキテクチャ100用に設計されたデバイスがSAクラスタをサポートしていない場合のアーキテクチャ100の下で、IPsec実装と完全に相互運用可能であってよい。
図4は、データサブフローのためのサブSAを選択する方法400の一実施形態を示すフロー図である。ステップ410で、発信パケットは、例えば、セキュリティゲートウェイ210及び/又はセキュリティゲートウェイ212によって、受信され得る。ステップ412で、方法400は、SPDに問い合わせを行って、ステップ410からのパケットが属するフローに一致するSPDエントリを見つけ出し得る。ステップ414で、方法400は、SPDエントリに格納されたsaCount値が1よりも大きいか否かを決定し得る。方法は、saCount値が1よりも大きくない場合はステップ418に進み、saCount値が1よりも大きい場合はステップ416に進み得る。ステップ418で、方法400は、SAのSPIとフロー情報とを使用してSAデータベース(SAD)に問い合わせを行って、SAのカプセル化及び/又は伝送を行うためのデータを見つけ出し得る。カウント値が1以下である場合、1つのSAだけが存在してよく、SA選択は必要とされなくてよい。カウント値が1よりも大きい場合、ステップ416で、方法400は、サブSA選択アルゴリズム(例えば、selectSA及び/又はSASelAlgoType)に従って、サブフローのためのサブSAを選択し得る。サブSAが選択されると、方法は、ステップ418へ進み、選択されたサブSAのSPIを使用してSADに問い合わせを行い得る。この方法では、フローのデータパケットは、選択アルゴリズムを使用することによって、サブSA間に分配されてよい。先に記載したように、選択アルゴリズムは、データトラフィックの効率とセキュリティ上の理由との両方のために、サブSA間でパケットを交番させてよい。
先に記載したように、送信エンティティは、IPsecトラフィックを複数のサブトンネルを介するように分割及び/又は交番させ得る。SAクラスタがセキュリティポリシ設定に基づいてトラフィック処理のために選択された場合、1つのサブSAは、指定されたパケットの発信IPsec処理のために選択され得る。ローカル実装は、指定されたIPパケットにどのSAが適用されるべきかを決定し得る。シーケンス番号がすべてのサブSAに共有され得ることを除いて、アーキテクチャ100に関連する他の処理手順は、変更されずともよい。送信エンティティにおけるローカル実装は、パケットのシーケンス番号を取得するための任意の方法を選択してよく、サブSAの選択とは独立していてよい。代替実施形態では、各サブSAは、独自のシーケンス番号を生成してよく、サブSA間のシーケンス番号の共有を必要としなくともよい。
図5は、SAクラスタを介してデータを受信する方法500の一実施形態を示すフロー図である。アンチリプレイは、IPsecの機能であり、受信NEが同一のパケットを複数回処理することを防止するために使用されてよい。単一のSAが使用される場合、パケットは、順番通りに受信されてよく、受信NEは、最後に受信したパケットのシーケンス番号よりも小さいシーケンス番号を有する新たに受信したパケットを破棄することを許可され得る。SAクラスタが使用される場合、パケットは、並行して送信されてよい。このことから、データパケットは、共有されるシーケンス番号が使用される場合には、順番通りには受信され得ない。方法500は、アンチリプレイビットマップの使用を介してSAクラスタを使用するとき、アンチリプレイ機能を実現するために使用されてよい。
ステップ510で、受信パケットは、例えば、セキュリティゲートウェイ210及び/又はセキュリティゲートウェイ212によって、受信され得る。ステップ512で、方法は、例えば、SPIを使用してSPDに問い合わせを行うことによって、アンチリプレイがSAによって使用されるか否かを決定し得る。アンチリプレイがSAに使用されていない場合、方法500は、ステップ514へ進み、パケットを処理し得る。アンチリプレイが使用される場合、方法500は、ステップ516へ進み得る。ステップ516で、方法500は、データパケットのシーケンス番号を取得し、そのシーケンス番号をアンチリプレイビットマップと比較し得る。例えば、アンチリプレイビットマップは、シーケンス番号に対応するパケットが受信されているか否かを示すための対応する値(例えば、それぞれ、値「0」、値「1」、又はそれらの組合せに設定される)を有する使用可能なすべてのシーケンス番号を含んでよい。ステップ518で、方法500は、シーケンス番号がリプレイビットマップに設定されているか否かを決定し得る。シーケンス番号が(例えば、値「1」に)設定されている場合、方法は、そのシーケンス番号を有するパケットが既に受信されたと決定し、ステップ520へ進んで、パケットを破棄し得る。シーケンス番号が(例えば、値「1」に)設定されていない場合、方法は、そのシーケンス番号を有するパケットが受信されていないと決定し、ステップ522へ進み得る。ステップ522で、方法は、当該シーケンス番号に関連付けられたパケットが受信されていることを示すように、アンチリプレイビットマップを(例えば、対応する値を値「0」に設定することによって)更新し得る。次いで、方法500は、ステップ514へ進み、パケットを処理し得る。
先に記載したように、受信側のサブSAの選択は、単一のSAの選択と同様のプロセスで行われよく、そのどちらも、SPI及びIPアドレス情報に基づいてよい。シーケンス番号の処理への変更を除いて、他の態様は変更されずともよい。複数のサブトンネルの使用は、2つのエンティティ間の保護された通信チャネルに対して、IPsecパケットの配信順序の乱れを生じさせ得る。対処法としては、受信エンティティが送信順序の維持を必要とする場合に、データパケットのIPsecヘッダ中のシーケンス番号を使用できる。アンチリプレイが有効になっている場合、すべてのサブトンネルは、受信エンティティで1つの共有アンチリプレイビットマップを使用してよい。アンチリプレイのチェックは、特定のサブSAの代わりに、SAクラスタを対象として完了されてよい。
マルチパスソリューションが配信順序の乱れの問題をもたらすのであるが、この順序の乱れの問題は、単一のSAにも発生することがある。再順序付け(リオーダー)プロセスは、TCPリオーダー及び/又はIPリアセンブリと同様の手法で、特定のネットワークのトポロジーに基づいて、アグリゲートノード及び/又はエンドホスト(例えば、ホスト240及び/又はホスト241)において完了されてよい。
図6は、セキュリティゲートウェイ110、セキュリティゲートウェイ112、セキュリティゲートウェイ210、及び/若しくはセキュリティゲートウェイ212、ホスト140、ホスト141、ホスト240、及び/若しくはホスト241、並びに/又はルータ120、ルータ221、及び/若しくはルータ222を含み得るネットワーク要素(NE)600の一実施形態を示す概略図である。当業者には、用語NEに、NE 600が一例に過ぎないデバイスの広い範囲が包含されることが認識されよう。NE 600は、説明の明確化を目的として記載されるのであって、本開示の用途を特定のNEの実施形態又は実施形態のクラスに限定することを意味しない。本明細書に記載される特徴/方法のうちの少なくともいくつか、例えば、SAクラスタを作成するための方法300、サブフローのためのサブSAを選択するための方法400、及び/又はSAクラスタからデータを受信するための方法500は、NE 600などのネットワーク装置又は構成要素の全体又は一部分として実装されてよい。例えば、本開示の特徴/方法は、ハードウェア、ファームウェア、及び/又はハードウェア上で動作するようインストールされたソフトウェアを使用して実施されてよい。NE 600は、ネットワークを介してフレームを搬送する任意の装置、例えば、スイッチ、ルータ、ブリッジ、サーバ、クライアント等であってよい。図6に示すように、NE 600は、送信機、受信機、又はそれらの組合せであり得るトランシーバ(Tx/Rx)610を含んでよい。Tx/Rx 610は、他のノードからのフレームを送信及び/又は受信するための複数のダウンストリームポート620に接続されてよく、かつTx/Rx 610は、他のノードからのフレームを送信及び/又は受信するための複数のアップストリームポート650に接続されてよい。プロセッサ630は、フレームを処理するために及び/又はフレームを送信するノードを決定するために、Tx/Rx 610に接続されてよい。プロセッサ630は、1つ又は複数のマルチコアプロセッサ、及び/又は、データ格納部、バッファ等として機能し得るメモリデバイス632を含んでよい。プロセッサ630は、汎用プロセッサとして実装されてよく、あるいは、1つ以上の特定用途向け集積回路(Application Specific Integrated Circuit,ASIC)及び/又はデジタル信号プロセッサ(Digital Signal Processor,DSP)の一部分であってもよい。ダウンストリームポート620及び/又はアップストリームポート650は、電気的な及び/又は光学的な送信及び/又は受信コンポーネントを含んでよい。NE 600は、ルーティング決定を行うルーティングコンポーネントであってよく、又はなくてもよい。
NE 600に実行可能な命令をプログラム及び/又はロードすることによって、プロセッサ630、ダウンストリームポート620、Tx/Rx 610、メモリ632、及び/又はアップストリームポート650のうちの少なくとも1つが変更され、本開示によって示唆される新規な機能を含む特定の機械又は装置、例えば、マルチコア転送アーキテクチャへとNE 600を部分的に変更するということに留意されたい。実行可能なソフトウェアをコンピュータにロードすることによって実施可能な機能性が既知の設計ルールによってハードウェア実施形態に変換可能であることは、電気工学及びソフトウェア工学の分野における基本的事項である。典型的に、ソフトウェアとして実装するか、ハードウェアとして実装するかの決定は、ソフトウェア領域からハードウェア領域への変換によって生じる何らかの問題というよりは、生産されるユニットの設計の安定性及び数量を考慮してなされる。一般に、ハードウェア実装の変更はソフトウェア設計の変更よりも高額となるので、頻繁に変更される設計は、ソフトウェアとして実装されることが好ましい。一般に、大規模生産に対しては、ハードウェア実装がソフトウェア実装よりも安価となり得るので、大量に生産されることが決まっている設計は、ハードウェア、例えば、ASICとして実装されることが好ましい。多くの場合、設計は、ソフトウェア形態で開発され、テストされた後に、既知の設計ルールによって、ソフトウェアの命令を配線回路(hardwire)として備える、特定用途向け集積回路の均等な配線回路実装へと変換される。新たなASICによってコントロールされる機械が特定の機械又は装置であることと同様に、実行可能な命令をプログラム及び/又はロードされたコンピュータもまた、特定の機械又は装置とみなされ得る。
少なくとも1つの実施形態が開示され、当技術分野で通常の知識を有する者によってなされる(複数の)実施形態の変形、組合せ、及び/若しくは修正、並びに/又は(複数の)実施形態の特徴は、本開示の範囲内にある。(複数の)実施形態の特徴の組合せ、統合、及び/又は省略の結果である変形形態もまた、本開示の範囲内にある。数値の範囲又は限定が明確に示されている場合、そのような明示的な範囲又は限定は、明確に示された範囲又は限定内に納まる大きさの反復的範囲又は限定を含む(例えば、約1から約10は、2,3,4等を含み、0.10を超えることは、0.11,0.12,0.13等を含む)ものと理解されたい。例えば、下限R1、上限R2の数値範囲が開示されている場合、厳密に言えば、その範囲内に納まるあらゆる数値が開示されている。より詳細には、R=R1+k*(Ru−R1)の範囲内の数が明確に開示される。ここで、kは、1パーセント刻みで、1パーセントから100パーセントの範囲内にある変数であり、すなわち、kは、1パーセント、2パーセント、3パーセント、4パーセント、5パーセント、…、70パーセント、71パーセント、72パーセント、…、95パーセント、96パーセント、97パーセント、98パーセント、99パーセント、又は100パーセントである。さらに、先に記載したように2つの数Rによって定義される任意の数値範囲もまた、明確に開示される。「約」という語の使用は、特に明記されない限り、後に続く数の±10%を意味する。請求項中の任意の要素に対する「選択的に(optionally)」という語の使用は、その要素が必要とされること又はその要素が必要とされないことを意味し、その両方の選択肢が特許請求の範囲内にある。具備する、含む、及び有する(comprise, include, and having)といったより広い語の使用は、からなる(consisting of)、本質的に含む(consisting essentially of)、及び実質的に含む(comprised substantially of)といったより狭い語を包含するものと理解されたい。したがって、保護の範囲は、先に記載された内容によって限定されるのではなく、添付の特許請求の範囲によって規定されるのであって、特許請求の範囲の主題のすべての均等物を含む。各々の及びすべての請求項は、本明細書へのさらなる開示として援用され、かつ特許請求の範囲は、本開示の(複数の)実施形態でもある。開示中の参考文献についての記載は、それが従来技術であること、特に、本出願の優先日後の発行日を有する任意の参考文献であることを認めるものではない。本開示において引用したすべての特許、特許出願、及び刊行物の開示は、それらが本開示への例示的な、手続き的な、又はその他詳細な補足を提供するものであるとして、引用によって本開示に援用される。
本開示にはいくつかの実施形態が提供されているが、開示されたシステム及び方法は、本開示の精神又は範囲から逸脱することなく、他の多くの特定の形態で実施され得ることが理解されよう。本実施例は、例示のみを意図し、限定を意図せず、その意図は、明細書中で与えられた詳細に限定されるものではない。例えば、さまざまな要素又は構成要素は、別のシステムにおいては、組み合わされるか又は一体化されてよく、又は、ある特徴は、省略されるか又は実装されなくてよい。
さらに、個別に又は区別されてさまざまな実施形態として記載及び例示された、技術、システム、及び方法は、本開示の範囲から逸脱することなく、他のシステム、モジュール、技術、又は方法と組み合わせられるか又は統合されてよい。互いに接続されるか、直接接続されるか、又は通信を行うように示されるか又は説明された他の要素は、電気的、機械的、又はそれ以外であろうとなかろうと、何らかのインターフェース、デバイス、又は中間構成要素を介して、間接的に接続されるか又は通信を行ってよい。変更、代用、及び置換の他の例は、当業者によって確認可能であり、本明細書に開示される精神及び範囲から逸脱することなく行われてよい。
100 IPsecセキュリティアーキテクチャ
110,112,210,212 セキュリティゲートウェイ
120,221,222 ルータ
130 ネットワーク
141,142 単方向性セキュリティアソシエーション
143,144,243,244 保護された接続
150,151,250,251 ホスト
241,242 セキュリティアソシエーションクラスタ
241a,241b,242a,242b パラレルサブセキュリティアソシエーション
600 ネットワーク要素
610 トランシーバ
620 ダウンストリームポート
630 プロセッサ
632 メモリ
650 アップストリームポート
ネットワークに接続されたデバイスは、さまざまなネットワークを経由して通信を行うことを要求される。デバイスによっては、そのような通信においても安全性(セキュリティ)を求められることがある。保護されたネットワーク(セキュアなネットワーク)を介して相互に接続されたデバイスは、いかなるネットワークを介した通信にもそのような安全性が提供されるように、保護されたネットワークに固有のセキュリティ対策手段に頼る。また、これらのデバイスは、保護されていないネットワークを経由して通信を行うことを要求されることがある。例えば、ホストコンピュータは、保護が部分的な、不均一な、及び/又はまったく保護されていないインターネットを介して、他のホスト、クライアント、ネットワーク等と通信を行うことがある。通信のセキュリティレベルは、送信側と受信側との間のあらゆる地点で通信に提供されるセキュリティレベルのうちで最も脆弱なレベルにしかなり得ない。保護されていないネットワークを通過する通信に対してセキュリティを維持するために、ネットワークデバイスは、さまざまなセキュリティプロトコルを使用し得る。例えば、発信元ネットワークデバイスは、発信元ネットワークデバイスと宛先ネットワークデバイスとの双方が(複数の)同一のセキュリティプロトコルを使用するように構成されていれば、宛先ネットワークデバイスと保護された接続及び/又は通信をネゴシエートし得る。
Internet Engineering Task Force (IETF) document request for comment (RFC) 4301 IETF document draft-zhang-ipsecme-multi-path-ipsec-02 IETF document RFC 4302 IETF document RFC 4303
一態様において、本開示は、ネットワーク要素(Network Element,NE)を含み、このネットワーク要素は、命令を格納するように構成されたメモリデバイスと、命令を実行することによって、データフロー中の複数の第1データパケットを複数の第1サブフローに分割し、ネットワークを介して複数の第1サブフローを第2のネットワーク要素に伝送するように構成されたプロセッサとを具備する。複数の第1サブフローは、複数のパラレルサブセキュリティアソシエーション(Security Association,SA)を含む第1のインターネットプロトコルセキュリティ(Internet Protocol Security,IPsec)SAクラスタを使用して伝送される。
別の態様において、本開示は、インターネット鍵交換(Internet Key Exchange,IKE)又はIKEバージョン2(Internet Key Exchange version 2,IKEv2)を使用して、ネットワーク要素と第2のネットワーク要素との間に、複数の第1サブSAを含むIPsec SAクラスタを作成するように構成されたプロセッサを具備したネットワーク要素を含む。複数の第1サブSAは、単方向性を有する。複数の第1サブSAは、複数の第1データパケットを共通の方向に伝送するように構成される。
別の態様において、本開示は、複数のIPsec SAサブトンネルを設定するステップと、複数のIPsec SAサブトンネルを一緒にクラスタ化して、SAクラスタを形成するステップとを有した方法を含む。
これらの及びその他の特徴は、添付の図面及び特許請求の範囲の記載と併せて、以下の発明の詳細な説明の記載からより明確に理解されよう。
以下では、本開示のより完全な理解のために、添付の図面及び発明の詳細な説明に関連して、簡単な説明を行う。同様の参照符号は、同様の部分を表す。
IPsecセキュリティアーキテクチャの一実施形態を示す概略図である。 IPsecセキュリティアーキテクチャの別の実施形態を示す概略図である。 SAクラスタを作成する方法の一実施形態を示すフロー図である。 データサブフローに対するサブSAを選択する方法の一実施形態を示すフロー図である。 SAクラスタを介してデータを受信する方法の一実施形態を示すフロー図である。 ネットワーク要素の一実施形態を示す概略図である。
IPsecは、引用によって本出願に援用される、インターネット技術タスクフォース(Internet Engineering Task Force,IETF)文書RFC 4301(非特許文献1)で説明されるように、さまざまなネットワークを経由するインターネットプロトコル(Internet Protocol,IP)通信を保護するためのセキュリティプロトコル群を含むセキュリティプロトコルスイートである。IPsecは、IP層(例えば、開放型システム間相互接続(Open Systems Interconnection,OSI)参照モデルの第3層及び/又はネットワーク層)での通信を保護し得る。IPsecは、セキュリティゲートウェイ間のデータフロー(例えば、通信)を保護するエンドツーエンドのセキュリティスキームとなり得る。IPsecは、単方向性のSA対を使用して、複数のデータパケットを含むデータフローを保護し得る。例えば、ローカルセキュリティゲートウェイは、リモートセキュリティゲートウェイに伝送する通信を保護するための第1のSAと、リモートセキュリティゲートウェイから受信する通信を保護するための第2のSAとを使用し得る。また、IPsecは、SA内にSAがネストされる(例えば、トンネル内にトンネルを通す)ことを含むSAバンドルを許容してよい。IPsecは、SA対及び/又はSAバンドル対を使用するように制限されてよい。IPsecは、順次にSAを経由してパケットを伝送してよい。また、各SAには、一意に定まるセキュリティパラメータインデックス(Security Parameter Index,SPI)が割り当てられてよい。このことから、盗聴ノードは、単一のネットワークノードを監視することによって、SAによって保護されたトンネルを通過するすべてのパケットを受信し、SPIを使用してパケットを互いに関連付けし得る。盗聴ノードがSAセキュリティ対策手段を突破した場合、その盗聴ノードは、データフロー全体への完全なアクセスを行えるようになり得る。
本明細書で開示されるものは、保護されていないネットワークを経由して伝送されるデータトラフィックのための強化された保護機能を備えた方法及び/又はシステムである。IPsecのデータ保護は、データフローを複数のサブフローに分割し、複数のサブフローを(例えば、複数のサブトンネル及び/又は複数のトランスポート通信を介して、)並行して伝送することによって強化され得る。サブSAは、サブフロー毎に独立して設定されてよい。複数のサブSAが組み合わされて、SAクラスタが形成されてよい。各サブSAは、一意に定まるSPIを含んでよい。SAクラスタ中のサブSAは、ローカルセキュリティゲートウェイとリモートセキュリティゲートウェイとの間で異なるネットワークパスを使用してよく、又は使用しなくてもよい。このことから、盗聴ノードは、ネットワークパスの途中で単一のノードを監視することによっては、すべてのサブフローへのアクセスを行えず、他のネットワークパスの存在、数、又はルートを把握し得ない。また、各サブSAが一意に定まるSPIを含み得るので、複数のサブフローからパケットを取得する盗聴ノードであっても、データパケットを互いに関連付けて、それらが同一のフローに関係していると判断し得ない。また、複数のサブフローのパラレル伝送は、シリアル伝送を超えて伝送効率を向上させることを可能にし得る。SAクラスタについては、引用によって本出願に援用される、IETF文書draft-zhang-ipsecme-multi-path-ipsec-02(非特許文献2)に詳しい。
方法及び/又はシステムは、複数のパスにデータトラフィックを分散させることによって、セキュリティサービスを向上させ得る。例えば、そのような分散は、異なる経路が使用されてよいので、攻撃者がすべてのパケットの傍受に成功するための難易度を高め得る。同一の経路が使用される場合であっても、攻撃者/盗聴者は、SAのセットが特定のクラスタ化されたSAの一部分であると判断することが困難となり、これは、傍受されたパケットの復号化の難易度を増加させ得る。また、複数のパスの選択は、(例えば、リンク障害発生時の)信頼性の向上を提供し得る。また、複数のSAの使用は、最適化されたパフォーマンス及び最適化されたネットワークコントロールのための追加のオプションを提供し得る。これらの技術は、IPsecによって提供されるセキュリティサービスを向上させ得る。SAクラスタは、異なるパケットに異なる暗号変換を実行するオプションを提供してよい。さらにまた、SAクラスタは、異なるパスに沿ってパケットを伝送するオプションを提供してよい。
図1は、IPsecセキュリティアーキテクチャ100の一実施形態を示す概略図である。IPsecセキュリティアーキテクチャ100は、ホスト150と、ホスト151とを具備し、これらは、保護されていないネットワーク130に位置するルータ120を経由して、セキュリティゲートウェイ110,112を介して通信を行い得る。ホスト150,151は、それぞれ、保護された接続143,144を介してセキュリティゲートウェイ100,112に接続され得る。ホスト150,151は、保護されていないネットワーク130を経由する通信を希望し得る。セキュリティゲートウェイ110は、セキュリティゲートウェイ112への伝送のために、例えば、IKE及び/又はIKEv2を使用して、単方向性のSA 141を設定してよい。同様に、セキュリティゲートウェイ112は、セキュリティゲートウェイ110への伝送のために、単方向性のSA 142を設定してよく、その結果、SA対が作成され得る。ホスト150は、保護された接続143を介してセキュリティゲートウェイ110と通信を行うことによって、ホスト151にデータを伝送し得る。セキュリティゲートウェイ110は、SA 141を使用して、ルータ120を介して保護されていないネットワーク130を経由してセキュリティゲートウェイ112に通信を伝送し得る。次いで、そのような通信は、保護された接続144を介してホスト151にルーティングされて、伝送された通信に対するエンドツーエンドセキュリティが達成され得る。ホスト151は、実質的に同一の手法で、ただし、SA 141の代わりにSA 142を使用して、ホスト152にデータパケットを伝送し得る。
ホスト150,151などのホストは、ネットワークを介して他のホストと通信を行う任意のデバイスであってよい。例えば、ホスト150及び/又はホスト151は、サーバ、クライアント端末、又はそれらの組合せを含んでよい。ホスト150,151は、サービスリクエスト、アプリケーションホスティング等に応答して、リソースの共有を目的とするデータ通信を行うように構成されてよい。一例として、ホスト150は、クライアント端末を含んでよく、ホスト151は、サーバを含んでよく、かつホスト151は、アプリケーションをホストし、ホスト150からのアプリケーションリクエストに応答し得る。別の例では、ホスト150,151は、それぞれ、仮想マシン(Virtual Machine,VM)、記憶スペース、処理リソースなどのリソースを含んでよく、ネットワーク接続を介して、データ、アプリケーション等のリロケートを動的に行い得る。
セキュリティゲートウェイ110,112などのセキュリティゲートウェイは、保護されたネットワークのエッジに位置する任意のネットワーク要素(Network Element,NE)であってよい。保護されたネットワークは、保護された接続143,144などの保護された接続を含んでよい。セキュリティゲートウェイ110,112は、その内部に位置する任意のデバイス及び/又は保護されたネットワークを通過する通信に対してセキュリティを提供し得る。セキュリティゲートウェイ110,112は、保護されたネットワークに許可なくアクセスすることを防止してよく(例えば、ファイアウォールとして)、かつ保護されたネットワークを離れる通信のためのセキュリティプロトコルを実装してもよい。例えば、ホスト150,151が、それぞれ、データセンターに配置されている場合、セキュリティゲートウェイ110,112は、保護されたネットワークを離れるすべてのトラフィックがゲートウェイ110及び/又はゲートウェイ112を通過するように、データセンターネットワークのエッジに配置されてよい。セキュリティゲートウェイ110,112は、それぞれ、ホスト150,151からデータを受信し、保護されていないネットワーク130(例えば、インターネット)を経由するIPsec SA 141,142を作成することによって、通信セッションを開始してよい。セキュリティゲートウェイ110,112は、そのようなSAの作成を目的として、例えば、IKE及び/又はIKEv2を使用することによって、セキュリティ鍵を交換してよい。
SA 141,142などのIPsec SAは、トランスポートモード又はトンネルモードで動作し得る。トランスポートモードでは、データパケットのペイロード(例えば、伝送される実際のデータ)が暗号化されてよく、一方、データパケットルーティング情報を含むデータパケットのヘッダは暗号化されずともよい。トンネルモードでは、データパケット全体が暗号化されてよい。また、SAは、認証ヘッダ(Authentication Header,AH)及び/又はカプセル化セキュリティペイロード(Encapsulating Security Payload,ESP)動作をサポートするためのデータ及び/又はアルゴリズムを含んでよい。AHは、データフローに対するコネクションレス整合性及びデータ発信元認証を提供し得る。ESPは、データパケット秘匿性(例えば、カプセル化)、データ発信元認証、コネクションレス整合性、アンチリプレイサービス、及びフロー秘匿性を提供し得る。SA 141,142は、それぞれ、単方向性を有してよい。このことから、SA 141,142の対は、セキュリティゲートウェイ110,112間でデータパケットをやりとりするために必要とされ得る。一実施形態では、SA 141,142は、それぞれ、SAバンドルを含んでよい。SAバンドルは、ネストされた2つのSA(例えば、トンネル内のトンネル)を含み得る。例えば、SAバンドルは、ESP SA内のAH SAを含んでよい。IPsecセキュリティアーキテクチャ100は、セキュリティゲートウェイ110,112間の保護された通信毎に、単一のSA対及び/又は単一のSA対バンドル(例えば、SA 141及びSA 142)を提供するように制限されてよい。各SAは、別個のSPIを含んでよく、別個のSPIは、SAデータベース(Security Association Database,SAD)でインデックスとして使用されてよく、かつSA宛先アドレスと組み合わされて、SAを一意に識別し、SAに関連付けられた暗号化鍵及びプロトコルを決定するために使用されてもよい。
ルータ120は、保護されていないネットワーク130に位置する任意のNE又は複数のNEからなるグループであってよい。ルータは、セキュリティゲートウェイ110からデータパケットを受信し、セキュリティゲートウェイ112にデータパケットを転送してよく、また、その逆を行ってもよい。ルータ120は、OSI参照モデルの第2層、第2.5層、及び/又は第3層の技術を使用して、パケットをルーティングし得る。ルータ120は、データパケットのヘッダに基づいてルーティング決定を行ってよい。データパケットがカプセル化されている場合(例えば、ESPの場合)、ルータ120は、データパケットのヘッダ及び/又はペイロードに格納されたデータを意識することなく、カプセル化されたパケットのヘッダに基づいてルーティング決定を行ってよい。ルータ120は、セキュリティゲートウェイ110とセキュリティゲートウェイ112との間のエンドツーエンド接続可能性を提供し得る。ルータ120は、SA 141のための単一のネットワークパスと、SA 142のための単一のネットワークパスとを用意してよい。SA 141のためのネットワークパスは、SA 142のためのネットワークパスと同一のパスであってもよく、又は同一のパスでなくてもよい。
IPsecプロトコルスイートは、IPsecに準拠するシステムのための基本アーキテクチャ100の一例を指定するものである。IPsecプロトコルスイートは、例えば、IP層において、IPバージョン4(IPv4)環境とIPバージョン6(IPv6)環境との両方で、セキュリティサービスのセットがトラフィックに対してどのように提供されるかを説明するものである。先に記載したように、IPsecプロトコルスイートは、IPsecの概念としてSAを定義している。SA(例えば、SA 141,142)は、接続によって搬送されるトラフィックにセキュリティサービスを付与し得る単純な接続を定義し得る。セキュリティサービスは、AH又はESPの使用によってSAに付与されてよく、それら両方によって単一のSAに提供されなくてもよい。AH及びESPは、引用によって本出願に援用される、IETF文書RFC 4302(非特許文献3)及びRFC 4303(非特許文献4)でさらに説明される。AH及びESP保護の両方がトラフィックストリームに適用される場合、2つのSAが作成されて、セキュリティプロトコルの反復適用(例えば、ネストされたSA)を介して保護が達成されるように調整されてよい。ユニキャストトラフィックを搬送するために1つのSAが使用され得るので、SAの対(例えば、SA 141及びSA 142)は、ポイントツーポイント通信として確立され得る。2つのSA 141,142は、2つのセキュリティゲートウェイ110,112間に1つのユニキャストIPsecトンネルを作成し得る。異なるSA同士を区別するためには、32ビットの値を含み得るSPIが、到着データパケットが結び付けられるべきSAを識別するために受信側によって使用されてよい。SPIの割り当ては、SAの作成者によって完了されてよく、それは受信側であってもよい。送信側では、任意のSPIの競合を解決するために、追加的な宛先IPアドレス情報が使用されてよい。このようにして、送信側は、その配下でIPパケットが処理される適切なSAを選択し得る。別の実施形態では、各セキュリティゲートウェイ110,112は、ローカルSPIを割り当てるとともに、それぞれ、相手側SPIの知識を保持してもよい。パケットの送信時、各当事者(例えば、それぞれ、ゲートウェイ110又はゲートウェイ112)は、データパケットヘッダ中の他の当事者(例えば、それぞれ、ゲートウェイ112又はゲートウェイ110)のSPIを使用してよい。
図1は、セキュリティゲートウェイ110,112間にSAが位置することだけを示しているが、ホスト150及び/又はホスト151などのホストは、ある実施形態では、SAを介してゲートウェイ110及び/又はゲートウェイ112などのゲートウェイと直接に通信を行ってもよい。例えば、ホストとして機能するクライアント端末は、保護されたネットワーク上に配置されなくてよい。その場合、クライアント端末は、SAを使用して、保護されていないネットワーク130を経由してセキュリティゲートウェイと直接に通信を行い得る。
図2は、IPsecセキュリティアーキテクチャ200の別の実施形態を示す概略図である。アーキテクチャ200は、ホスト250,251、保護された接続243,244、セキュリティゲートウェイ210,212、及びルータ221,222を含んでよく、これらは、それぞれ、ホスト150,151、保護された接続143,144、セキュリティゲートウェイ110,112、及びルータ120と実質的に同一であってよい。セキュリティゲートウェイ210,212は、SAクラスタ241及びSAクラスタ242を介して通信を行い得る。
SAクラスタ241,242は、それぞれ、複数のパラレルサブSAを含んでよい。パラレルサブSAは、同一の発信元ノード(例えば、セキュリティゲートウェイ210)と、同一の宛先ノード(例えば、セキュリティゲートウェイ212)とを備えた複数の単方向性サブSAであってよく、それぞれ、同一のデータフローの一部分を搬送してよい。例えば、SAクラスタ241は、パラレルサブSA 241a,241bを含んでよく、SAクラスタ242は、パラレルサブSA 242a,242bを含んでよい。SAクラスタは、サブSAがネストされ得るSAバンドルとは異なり得る。しかしながら、ある実施形態では、サブSAは、SAバンドルを含んでもよい。SAクラスタ毎に2つのサブSAだけが示されているが、SAクラスタ241,242は、特定の通信のために望まれる分だけより多くのサブSAを含んでもよい。サブSA 241a,241bは、それぞれ、SA 141と同様のものであってよく、サブSA 242a,242bは、それぞれ、SA 142と同様のものであってよい。しかしながら、各サブSAは、データフローの一部分の搬送及び/又はカプセル化だけを行い得る。例えば、セキュリティゲートウェイ210は、複数のデータパケットを含むデータフローを、SAクラスタ241を介してセキュリティゲートウェイ212に伝送することを希望し得る。セキュリティゲートウェイ210は、サブSA 241a,241b間でパケットを交番させ、サブSA 241bよりも多くのパケットをサブSA 241aで送信し、フローを別個のデータパケットブロックに分割し、サブSA 241a,241b間のブロックに交番させる等を行い得る。サブSAは、それぞれ、異なるSPIを有してよく、したがって、SAクラスタ241及び/又はSAクラスタ242は、複数のSPIを有し得る。SAクラスタ中の複数のサブSAは、セキュリティゲート間で同一の経路又は異なる経路を使用してよい。例えば、SAクラスタ241は、それぞれ、ルータ221を介する経路を使用するサブSA 241aと、ルータ222を介する経路を使用するサブSA 241bとを含んでよい。別の例として、SAクラスタ242は、そのどちらもルータ221を介する経路を使用するサブSA 242a及びサブSA 242bを含んでもよい。
アーキテクチャ200は、データフローが分割され、盗聴ノードによって予測し得ない方法でルーティングされるようにし得る。各SAクラスタが未知数のサブSAを含み得るので、盗聴ノードは、特定のデータフローに関係するデータパケットの正確な数を把握し得ない。さらに、各SAクラスタが複数のSPIを含み得るので、盗聴ノードは、取得した任意のデータパケットを互いに関連付けることができず、複数のデータパケットが同一のデータフローに関連することを判断できない。さらに、あるサブSAは他のサブSAとは異なるネットワーク経路を通過し得るので、盗聴ノードは、単一のネットワークノードを監視することによっては、フローのデータパケットのすべてを取得できず、残りのデータパケットを取得するために他のどのデータパケットを監視すべきかを判断できない。このように、SAクラスタ241及び/又はSAクラスタ242の使用は、盗聴及び/又はハッキングプロセスに重大な不確実性を付与し得、したがって、保護されていないネットワーク上のセキュリティを強化し得る。また、パラレルサブSAでデータパケットを送信する機能は、伝送を最適化し得る。例えば、ルータ221が輻輳状態となった場合、発信データパケットは、通信セッションを終了することなく、サブSA 241aからサブSA241bに移されてよい。さらに、データフローパケットのパラレル伝送は、アーキテクチャ100によって必要とされるデータフローパケットのシリアル処理と比較して、並列プロセッサの処理効率を増大させ得る。例えば、SAルックアップ、シーケンス番号の生成、及び/又はアンチリプレイチェックは、データフローパケットが並列に伝送される場合には、並列に実行されてよい。
アーキテクチャ200は、SAクラスタの作成及び使用を実現するために、抽象構文記法1(Abstract Syntax Notation one,ASN.1)を使用してよい。以下のASN.1定義は、サブSA(例えば、それぞれ、サブSA 241a,241b又はサブSA 242a,242b)の数に基づいて、SAクラスタ(例えば、SAクラスタ241及び/又はSAクラスタ242)を作成するためのものであってよく、また、サブフロー伝送のための適切なサブSAを選択するためのものであってもよい。
Processing ::= SEQUENCE {
extSeqNum BOOLEAN, -- TRUE 64 bit counter, FALSE 32 bit
seqOverflow BOOLEAN, -- TRUE rekey, FALSE terminate & audit
fragCheck BOOLEAN, -- TRUE stateful fragment checking,
-- FALSE no stateful fragment checking
lifetime SALifetime,
spi ManualSPI,
algorithms ProcessingAlgs,
tunnel TunnelOptions OPTIONAL, -- if absent, use transport mode
saCount INTEGER OPTIONAL, -- if absent, use 1
selectSA SASelAlgoType OPTIONAL -- ignored if saCount is 1,
-- if absent, use round-robin
}
SASelAlgoType ::= INTEGER {
round-robin (0),
random (1),
others (2)
}
上記のASN.1定義では、extSeqNum、seqOverflow、及びfragCheck属性は、論理値であってよく(例えば、真(true)又は偽(false)の値を含み得)、SAクラスタを作成するエンティティが、64ビットカウンタか又は32ビットカウンタか、シーケンス番号がオーバーフローした場合に、クラスタに鍵を再発行(rekey)するか又は終了するか、フローの断片化に対してステートフルチェックを行うか又は行わないかについて、それぞれどのように設定すべきか指示するように設定され得る。lifetime属性は、SAクラスタ及び/又は特定のサブSAの存続期間(lifetime)を指示してよく、ここで、存続期間は、SAクラスタ及び/又はサブSAがデータを受信及び/又は送信することなくアクティブでいられる時間であってよい。SAクラスタは、タイムアウトしないように設定されてもよい。spi属性は、SPI値を手作業で設定するために、管理者によって使用されてよく、SPI値が自動的に生成される場合には、無視されてもよい。algorithms属性は、SAクラスタ及び/又はサブSAを作成及び/又は使用するために使用される他の処理アルゴリズムを指示し得る。tunnel属性は、SAクラスタ及び/又はサブSAがトンネルモード及び/又はトランスポートモードを使用する否かと、トンネルモードに関連した任意のオプションとを指示するために使用され得る。saCount属性は、変数であってよく、SAクラスタに対して作成されるサブSAの数を示す整数又は他の値に設定されてよい。selectSA属性は、変数であってよく、SASelAlgoTypeに対応する整数又は他の値に設定されてよい。selectSAは、特定のサブフローの伝送のためのサブSAを選択するために、送信者によって使用されてよい。SASelAlgoTypeは、変数であってよく、特定の選択アルゴリズムを指示するために、整数又は他の値に設定されてよい。例えば、SASelAlgoTypeは、ラウンドロビン選択アルゴリズムを示す値「0」、ランダム選択アルゴリズムを示す値「1」、他の選択アルゴリズム(例えば、ユーザ定義、SAパスの遅延に基づく配分(apportion)、サービス品質が保証されたSAパスに基づく配分)を示す他の値に設定されてもよい。ラウンドロビンは、各サブSAにデータフロー中の等しい部分を割り当てる選択アルゴリズムであってよい。
データの機密性は、送信されたデータを盗聴などの受動的攻撃から保護し得る。IPsecの実装形態(例えば、アーキテクチャ100)において、すべてのIPデータグラムは、1つのIPsecトンネル内を伝送されてよく、1つのSAによる保護が提供され得る。機密セキュリティサービスを向上させるためには、SAのセット(例えば、サブSA 241a、サブSA 241b、サブSA 242a、及び/又はサブSA 242b)がトラフィックを保護するために使用されてよい。複数のトンネルは、2つのエンティティ間にセットアップされ、次いで、一緒にクラスタ化されて、1つのクラスタ化トンネル(例えば、SAクラスタ241及び/又はSAクラスタ242)を形成し得る。1つのIPパケットは、なお、単一のSAによって保護され得る。送信エンティティは、トラフィックをこれらすべてのサブSAに分割してよい。受信エンティティは、複数のIPsecトンネルからのトラフィックを多重化し得る。一緒にクラスタ化されたトンネルは、サブトンネルと称されてよい。サブトンネルに対するSAは、サブSAと称されてよい。1つのクラスタ化トンネル内で保護され得るIPトラフィックは、すべてのサブトンネルに分割されてよい。SAクラスタという用語は、トラフィックがセキュリティポリシを満たすように処理されなければならないSAの組合せを説明するために使用されてよい。複数のサブトンネルが2つの保護されたエンティティ間のトラフィックの同一のフローに設定されるので、物理パスは異なり得る。これらのクラスタ化SAの処理順序は、これらすべてのSAがSAにネストされてよく、又はネストされなくてもよいので、ローカルの問題となり得る。
SAクラスタリングが送信者によって実行されてよいこと、及び受信エンティティがIP層でのSAクラスタの存在を認識し得ることに留意されたい。例えば、トラフィックの多重化は、受信機がIP層で複数のサブSAを経由するSAクラスタトラフィックを互いに関連付けるメカニズムを有し得ないので、上位層プロセスによって実行され、IPsecプロセスによって直接に実行され得ない。しかしながら、上位層プロセスは、多重化トラフィックを収集する他の方法(例えば、上位層プロセスに関連するシーケンス番号を相互に関連付けること等)を使用してもよい。
サブSAは、IKEネゴシエーションを介してネゴシエートされている場合、自身のソフト及びハードの存続期間を有し得る。しかしながら、SAクラスタに対する存続期間はなくともよい。アーキテクチャ200は、各サブSAの維持性を変更し得ない。1つのサブSAが(例えば、タイムアウトにより)無効となった場合、そのようなサブSAは、さらなるパケット処理に使用され得ない。SAクラスタが有効なサブSAを保持しなくなった場合、そのSAクラスタは無効となってよい。
図3は、SAクラスタを作成する方法300の一実施形態を示すフロー図である。方法300において、セキュリティゲートウェイ210及び/又はセキュリティゲートウェイ212などのNEは、ステップ310で、(例えば、ホスト240からの)リクエストを受信し、セキュリティゲートウェイ212などの別のNEとSAを確立し得る。ステップ312で、方法300は、SAに対するセキュリティポリシを検索し得る。セキュリティポリシは、NE上に配置されてよい及び/又は管理NEなどの他のNEからアクセスされてよいセキュリティポリシデータベース(Security Policy Database,SPD)に格納されてよい。セキュリティポリシは、SAに関連付けられることとなる処理パラメータ及び/又は暗号鍵素材を決定するために使用されてよい。ステップ314で、方法300は、セキュリティポリシをチェックして、saCount変数が存在するか決定し得る。方法300は、saCount変数が存在しない場合はステップ316へ進み、SACount変数が存在する場合はステップ320に進み得る。
ステップ316では、saCount変数が存在せず、これは、単一のSA(例えば、SA 141)がセキュリティポリシによって指定されていることを意味し得る。このことから、方法300は、例えば、IKE及び/又はIKEv2を使用することによって、SAを作成し、ステップ318に進んで動作を終了し得る。
ステップ320では、saCount変数が存在しており、これは、SAクラスタ化がセキュリティポリシで指定されていることを意味し得る。saCount変数の値は、SAクラスタ中のサブSAの数を示してよい。saCount変数の値が1以上でない場合、方法300は、ステップ322に進み、クラスタは少なくとも1つのサブSAを必要とするので、エラーを返し得る。saCountの値が1以上である場合、方法300は、ステップ324に進み得る。ステップ324で、方法は、カウント変数を作成し、saCount変数の値に等しくなるように、カウント変数の値を設定し得る。ステップ326で、方法300は、(例えば、IKE及び/又はIKEv2を使用することによって、)サブSAを作成し得る。ステップ328で、カウント変数の値は、1だけデクリメントされ得る。ステップ330で、方法300は、カウント変数の値がゼロよりも大きいか否かを決定し得る。カウント変数の値がゼロよりも大きいままである場合、方法300は、ステップ326に戻って、カウント変数の値によって指示されるように、追加のSAを作成し得る。カウント変数の値がステップ330でゼロに達した場合、方法300は、ステップ318へ進んで動作を終了し得る。このように、サブSAは、セキュリティポリシに基づいて作成されて、SAクラスタに追加されてよい。
先に記載したように、SAクラスタのセットアップは、複数のサブSAのセットアップを含んでよい。サブトンネルは、独立して設定されてよい。セットアップの後、サブトンネルは、クラスタに1つずつ追加されることができる。SAクラスタにサブSAを追加する正確な方法は、ローカルの問題であり得る。協働するすべてのサブトンネルは、異なるSPI値を含んでよい。1つのクラスタ化トンネルのためにいくつのサブトンネルが使用されるかの制限はなくてよい。送信エンティティと受信エンティティとの双方は、任意のIPsecトラフィックがサブトンネルのいずれかを介して送信される前に、SAクラスタ仕様に合意し得る。新しいサブSAは、トラフィックがクラスタ化されたトンネル内に流れ始めた後にも、セットアップされ、SAクラスタに参加し得る。サブトンネルが独立であっても、それらは1つのシーケンス番号ソースを共有してよい。クラスタ化されたトンネル内を搬送される各IPsecパケットは、一意に定まるシーケンス番号を有してよい。
すべてのサブトンネルは、独立してセットアップされてよい。異なるサブトンネルを介するトラフィックが同一の経路を使用してもよい。また、トラフィックは、ルーティングポリシに基づいて、例えば、コストが等しい複数の経路を使用することによって、異なる経路を使用してよい。SAクラスタが1つのサブSAしか含まない場合には、SAクラスタは、アーキテクチャ100用に設計されたデバイスがSAクラスタをサポートしていない場合のアーキテクチャ100の下で、IPsec実装と完全に相互運用可能であってよい。
図4は、データサブフローのためのサブSAを選択する方法400の一実施形態を示すフロー図である。ステップ410で、発信パケットは、例えば、セキュリティゲートウェイ210及び/又はセキュリティゲートウェイ212によって、受信され得る。ステップ412で、方法400は、SPDに問い合わせを行って、ステップ410からのパケットが属するフローに一致するSPDエントリを見つけ出し得る。ステップ414で、方法400は、SPDエントリに格納されたsaCount値が1よりも大きいか否かを決定し得る。方法は、saCount値が1よりも大きくない場合はステップ418に進み、saCount値が1よりも大きい場合はステップ416に進み得る。ステップ418で、方法400は、SAのSPIとフロー情報とを使用してSAデータベース(SAD)に問い合わせを行って、SAのカプセル化及び/又は伝送を行うためのデータを見つけ出し得る。カウント値が1以下である場合、1つのSAだけが存在してよく、SA選択は必要とされなくてよい。カウント値が1よりも大きい場合、ステップ416で、方法400は、サブSA選択アルゴリズム(例えば、selectSA及び/又はSASelAlgoType)に従って、サブフローのためのサブSAを選択し得る。サブSAが選択されると、方法は、ステップ418へ進み、選択されたサブSAのSPIを使用してSADに問い合わせを行い得る。この方法では、フローのデータパケットは、選択アルゴリズムを使用することによって、サブSA間に分配されてよい。先に記載したように、選択アルゴリズムは、データトラフィックの効率とセキュリティ上の理由との両方のために、サブSA間でパケットを交番させてよい。
先に記載したように、送信エンティティは、IPsecトラフィックを複数のサブトンネルを介するように分割及び/又は交番させ得る。SAクラスタがセキュリティポリシ設定に基づいてトラフィック処理のために選択された場合、1つのサブSAは、指定されたパケットの発信IPsec処理のために選択され得る。ローカル実装は、指定されたIPパケットにどのSAが適用されるべきかを決定し得る。シーケンス番号がすべてのサブSAに共有され得ることを除いて、アーキテクチャ100に関連する他の処理手順は、変更されずともよい。送信エンティティにおけるローカル実装は、パケットのシーケンス番号を取得するための任意の方法を選択してよく、サブSAの選択とは独立していてよい。代替実施形態では、各サブSAは、独自のシーケンス番号を生成してよく、サブSA間のシーケンス番号の共有を必要としなくともよい。
図5は、SAクラスタを介してデータを受信する方法500の一実施形態を示すフロー図である。アンチリプレイは、IPsecの機能であり、受信NEが同一のパケットを複数回処理することを防止するために使用されてよい。単一のSAが使用される場合、パケットは、順番通りに受信されてよく、受信NEは、最後に受信したパケットのシーケンス番号よりも小さいシーケンス番号を有する新たに受信したパケットを破棄することを許可され得る。SAクラスタが使用される場合、パケットは、並行して送信されてよい。このことから、データパケットは、共有されるシーケンス番号が使用される場合には、順番通りには受信され得ない。方法500は、アンチリプレイビットマップの使用を介してSAクラスタを使用するとき、アンチリプレイ機能を実現するために使用されてよい。
ステップ510で、受信パケットは、例えば、セキュリティゲートウェイ210及び/又はセキュリティゲートウェイ212によって、受信され得る。ステップ512で、方法は、例えば、SPIを使用してSPDに問い合わせを行うことによって、アンチリプレイがSAによって使用されるか否かを決定し得る。アンチリプレイがSAに使用されていない場合、方法500は、ステップ514へ進み、パケットを処理し得る。アンチリプレイが使用される場合、方法500は、ステップ516へ進み得る。ステップ516で、方法500は、データパケットのシーケンス番号を取得し、そのシーケンス番号をアンチリプレイビットマップと比較し得る。例えば、アンチリプレイビットマップは、シーケンス番号に対応するパケットが受信されているか否かを示すための対応する値(例えば、それぞれ、値「0」、値「1」、又はそれらの組合せに設定される)を有する使用可能なすべてのシーケンス番号を含んでよい。ステップ518で、方法500は、シーケンス番号がリプレイビットマップに設定されているか否かを決定し得る。シーケンス番号が(例えば、値「1」に)設定されている場合、方法は、そのシーケンス番号を有するパケットが既に受信されたと決定し、ステップ520へ進んで、パケットを破棄し得る。シーケンス番号が(例えば、値「1」に)設定されていない場合、方法は、そのシーケンス番号を有するパケットが受信されていないと決定し、ステップ522へ進み得る。ステップ522で、方法は、当該シーケンス番号に関連付けられたパケットが受信されていることを示すように、アンチリプレイビットマップを(例えば、対応する値を値「0」に設定することによって)更新し得る。次いで、方法500は、ステップ514へ進み、パケットを処理し得る。
先に記載したように、受信側のサブSAの選択は、単一のSAの選択と同様のプロセスで行われよく、そのどちらも、SPI及びIPアドレス情報に基づいてよい。シーケンス番号の処理への変更を除いて、他の態様は変更されずともよい。複数のサブトンネルの使用は、2つのエンティティ間の保護された通信チャネルに対して、IPsecパケットの配信順序の乱れを生じさせ得る。対処法としては、受信エンティティが送信順序の維持を必要とする場合に、データパケットのIPsecヘッダ中のシーケンス番号を使用できる。アンチリプレイが有効になっている場合、すべてのサブトンネルは、受信エンティティで1つの共有アンチリプレイビットマップを使用してよい。アンチリプレイのチェックは、特定のサブSAの代わりに、SAクラスタを対象として完了されてよい。
マルチパスソリューションが配信順序の乱れの問題をもたらすのであるが、この順序の乱れの問題は、単一のSAにも発生することがある。再順序付け(リオーダー)プロセスは、TCPリオーダー及び/又はIPリアセンブリと同様の手法で、特定のネットワークのトポロジーに基づいて、アグリゲートノード及び/又はエンドホスト(例えば、ホスト240及び/又はホスト241)において完了されてよい。
図6は、セキュリティゲートウェイ110、セキュリティゲートウェイ112、セキュリティゲートウェイ210、及び/若しくはセキュリティゲートウェイ212、ホスト140、ホスト141、ホスト240、及び/若しくはホスト241、並びに/又はルータ120、ルータ221、及び/若しくはルータ222を含み得るネットワーク要素(NE)600の一実施形態を示す概略図である。当業者には、用語NEに、NE 600が一例に過ぎないデバイスの広い範囲が包含されることが認識されよう。NE 600は、説明の明確化を目的として記載されるのであって、本開示の用途を特定のNEの実施形態又は実施形態のクラスに限定することを意味しない。本明細書に記載される特徴/方法のうちの少なくともいくつか、例えば、SAクラスタを作成するための方法300、サブフローのためのサブSAを選択するための方法400、及び/又はSAクラスタからデータを受信するための方法500は、NE 600などのネットワーク装置又は構成要素の全体又は一部分として実装されてよい。例えば、本開示の特徴/方法は、ハードウェア、ファームウェア、及び/又はハードウェア上で動作するようインストールされたソフトウェアを使用して実施されてよい。NE 600は、ネットワークを介してフレームを搬送する任意の装置、例えば、スイッチ、ルータ、ブリッジ、サーバ、クライアント等であってよい。図6に示すように、NE 600は、送信機、受信機、又はそれらの組合せであり得るトランシーバ(Tx/Rx)610を含んでよい。Tx/Rx 610は、他のノードからのフレームを送信及び/又は受信するための複数のダウンストリームポート620に接続されてよく、かつTx/Rx 610は、他のノードからのフレームを送信及び/又は受信するための複数のアップストリームポート650に接続されてよい。プロセッサ630は、フレームを処理するために及び/又はフレームを送信するノードを決定するために、Tx/Rx 610に接続されてよい。プロセッサ630は、1つ又は複数のマルチコアプロセッサ、及び/又は、データ格納部、バッファ等として機能し得るメモリデバイス632を含んでよい。プロセッサ630は、汎用プロセッサとして実装されてよく、あるいは、1つ以上の特定用途向け集積回路(Application Specific Integrated Circuit,ASIC)及び/又はデジタル信号プロセッサ(Digital Signal Processor,DSP)の一部分であってもよい。ダウンストリームポート620及び/又はアップストリームポート650は、電気的な及び/又は光学的な送信及び/又は受信コンポーネントを含んでよい。NE 600は、ルーティング決定を行うルーティングコンポーネントであってよく、又はなくてもよい。
NE 600に実行可能な命令をプログラム及び/又はロードすることによって、プロセッサ630、ダウンストリームポート620、Tx/Rx 610、メモリ632、及び/又はアップストリームポート650のうちの少なくとも1つが変更され、本開示によって示唆される新規な機能を含む特定の機械又は装置、例えば、マルチコア転送アーキテクチャへとNE 600を部分的に変更するということに留意されたい。実行可能なソフトウェアをコンピュータにロードすることによって実施可能な機能性が既知の設計ルールによってハードウェア実施形態に変換可能であることは、電気工学及びソフトウェア工学の分野における基本的事項である。典型的に、ソフトウェアとして実装するか、ハードウェアとして実装するかの決定は、ソフトウェア領域からハードウェア領域への変換によって生じる何らかの問題というよりは、生産されるユニットの設計の安定性及び数量を考慮してなされる。一般に、ハードウェア実装の変更はソフトウェア設計の変更よりも高額となるので、頻繁に変更される設計は、ソフトウェアとして実装されることが好ましい。一般に、大規模生産に対しては、ハードウェア実装がソフトウェア実装よりも安価となり得るので、大量に生産されることが決まっている設計は、ハードウェア、例えば、ASICとして実装されることが好ましい。多くの場合、設計は、ソフトウェア形態で開発され、テストされた後に、既知の設計ルールによって、ソフトウェアの命令を配線回路(hardwire)として備える、特定用途向け集積回路の均等な配線回路実装へと変換される。新たなASICによってコントロールされる機械が特定の機械又は装置であることと同様に、実行可能な命令をプログラム及び/又はロードされたコンピュータもまた、特定の機械又は装置とみなされ得る。
少なくとも1つの実施形態が開示され、当技術分野で通常の知識を有する者によってなされる(複数の)実施形態の変形、組合せ、及び/若しくは修正、並びに/又は(複数の)実施形態の特徴は、本開示の範囲内にある。(複数の)実施形態の特徴の組合せ、統合、及び/又は省略の結果である変形形態もまた、本開示の範囲内にある。数値の範囲又は限定が明確に示されている場合、そのような明示的な範囲又は限定は、明確に示された範囲又は限定内に納まる大きさの反復的範囲又は限定を含む(例えば、約1から約10は、2,3,4等を含み、0.10を超えることは、0.11,0.12,0.13等を含む)ものと理解されたい。例えば、下限R1、上限R2の数値範囲が開示されている場合、厳密に言えば、その範囲内に納まるあらゆる数値が開示されている。より詳細には、R=R1+k*(Ru−R1)の範囲内の数が明確に開示される。ここで、kは、1パーセント刻みで、1パーセントから100パーセントの範囲内にある変数であり、すなわち、kは、1パーセント、2パーセント、3パーセント、4パーセント、5パーセント、…、70パーセント、71パーセント、72パーセント、…、95パーセント、96パーセント、97パーセント、98パーセント、99パーセント、又は100パーセントである。さらに、先に記載したように2つの数Rによって定義される任意の数値範囲もまた、明確に開示される。「約」という語の使用は、特に明記されない限り、後に続く数の±10%を意味する。請求項中の任意の要素に対する「選択的に(optionally)」という語の使用は、その要素が必要とされること又はその要素が必要とされないことを意味し、その両方の選択肢が特許請求の範囲内にある。具備する、含む、及び有する(comprise, include, and having)といったより広い語の使用は、からなる(consisting of)、本質的に含む(consisting essentially of)、及び実質的に含む(comprised substantially of)といったより狭い語を包含するものと理解されたい。したがって、保護の範囲は、先に記載された内容によって限定されるのではなく、添付の特許請求の範囲によって規定されるのであって、特許請求の範囲の主題のすべての均等物を含む。各々の及びすべての請求項は、本明細書へのさらなる開示として援用され、かつ特許請求の範囲は、本開示の(複数の)実施形態でもある。開示中の参考文献についての記載は、それが従来技術であること、特に、本出願の優先日後の発行日を有する任意の参考文献であることを認めるものではない。本開示において引用したすべての特許、特許出願、及び刊行物の開示は、それらが本開示への例示的な、手続き的な、又はその他詳細な補足を提供するものであるとして、引用によって本開示に援用される。
本開示にはいくつかの実施形態が提供されているが、開示されたシステム及び方法は、本開示の精神又は範囲から逸脱することなく、他の多くの特定の形態で実施され得ることが理解されよう。本実施例は、例示のみを意図し、限定を意図せず、その意図は、明細書中で与えられた詳細に限定されるものではない。例えば、さまざまな要素又は構成要素は、別のシステムにおいては、組み合わされるか又は一体化されてよく、又は、ある特徴は、省略されるか又は実装されなくてよい。
さらに、個別に又は区別されてさまざまな実施形態として記載及び例示された、技術、システム、及び方法は、本開示の範囲から逸脱することなく、他のシステム、モジュール、技術、又は方法と組み合わせられるか又は統合されてよい。互いに接続されるか、直接接続されるか、又は通信を行うように示されるか又は説明された他の要素は、電気的、機械的、又はそれ以外であろうとなかろうと、何らかのインターフェース、デバイス、又は中間構成要素を介して、間接的に接続されるか又は通信を行ってよい。変更、代用、及び置換の他の例は、当業者によって確認可能であり、本明細書に開示される精神及び範囲から逸脱することなく行われてよい。
100 IPsecセキュリティアーキテクチャ
110,112,210,212 セキュリティゲートウェイ
120,221,222 ルータ
130 ネットワーク
141,142 単方向性セキュリティアソシエーション
143,144,243,244 保護された接続
150,151,250,251 ホスト
241,242 セキュリティアソシエーションクラスタ
241a,241b,242a,242b パラレルサブセキュリティアソシエーション
600 ネットワーク要素
610 トランシーバ
620 ダウンストリームポート
630 プロセッサ
632 メモリ
650 アップストリームポート

Claims (23)

  1. ネットワーク要素(NE)であって、
    命令を格納するように構成されたメモリデバイスと、
    前記命令を実行することにより、
    データフロー中の複数の第1データパケットを複数の第1サブフローに分割し、
    ネットワークを介して前記複数の第1サブフローを第2のネットワーク要素に送信するように構成されたプロセッサと
    を具備し、
    前記複数の第1サブフローは、複数のパラレルサブセキュリティアソシエーション(SA)を含む第1のインターネットプロトコルセキュリティ(IPsec)SAクラスタを使用して伝送されることを特徴とするネットワーク要素。
  2. 前記複数のサブSAのうちの第1サブSAは、前記複数のサブSAのうちの第2サブSAとは異なるネットワークパスを通過することを特徴とする請求項1に記載のネットワーク要素。
  3. 前記複数のサブSAのうちの第1サブSAは、前記複数のサブSAのうちの第2サブSAと共通のネットワークパスを通過することを特徴とする請求項1に記載のネットワーク要素。
  4. 前記複数のサブSAが、ネストされないことを特徴とする請求項1に記載のネットワーク要素。
  5. 前記データフロー中のデータパケットは、選択アルゴリズムを使用することによって、複数の第1サブSAに分散されることを特徴とする請求項1に記載のネットワーク要素。
  6. 前記選択アルゴリズムが、ラウンドロビン選択アルゴリズム、ランダム選択アルゴリズム、又はラウンドロビン選択アルゴリズムとランダム選択アルゴリズムとの組合せを含むことを特徴とする請求項5に記載のネットワーク要素。
  7. 前記複数のサブSAの各々が、セキュリティパラメータインデックス(SPI)を含み、
    各サブSAのSPIは、他のサブSAのSPIとは異なる値を有することを特徴とする請求項1に記載のネットワーク要素。
  8. 前記プロセッサが、前記命令を実行することにより、
    第2のIPsec SAクラスタを介して前記第2のネットワーク要素から複数の第2サブフローを受信するようにさらに構成されることを特徴とする請求項1に記載のネットワーク要素。
  9. 前記複数の第2サブフローが、複数の第2データパケットを含み、
    前記プロセッサが、前記命令を実行することにより、
    アンチリプレイビットマップを使用することによって、前記複数の第2データパケットにアンチリプレイ機能を実行するようにさらに構成されることを特徴とする請求項8に記載のネットワーク要素。
  10. 前記複数の第1データパケットの各々が、シーケンス番号を有し、
    前記シーケンス番号は、データパケットが関連付けられるサブフローに基づいて決定されるのであって、データフローに基づいては決定されないことを特徴とする請求項1に記載のネットワーク要素。
  11. ネットワーク要素(NE)であって、
    インターネット鍵交換(IKE)又はIKEバージョン2(IKEv2)を使用して、ネットワーク要素と第2のネットワーク要素との間に、複数の第1サブセキュリティアソシエーション(SA)を含むインターネットプロトコルセキュリティ(IPsec)SAクラスタを作成するように構成されたプロセッサを具備し、
    前記複数の第1サブSAは、単方向性を有し、
    前記複数の第1サブSAは、複数の第1データパケットを共通の方向に伝送するように構成されることを特徴とするネットワーク要素。
  12. 前記プロセッサが、前記複数の第1サブSAを使用して、通信セッションの間にネットワークを介して、複数の第1データパケットを前記第2のネットワーク要素に伝送するようにさらに構成されることを特徴とする請求項11に記載のネットワーク要素。
  13. 前記プロセッサが、前記通信セッションの間に前記ネットワークを介して、前記第2のネットワーク要素から複数の第2データパケットを受信するようにさらに構成され、
    前記複数の第2データパケットは、複数の第2サブSAを含む第2のIPsec SAクラスタを介して受信されることを特徴とする請求項12に記載のネットワーク要素。
  14. 前記複数の第2サブSAが、単方向性を有し、
    前記複数の第2サブSAが、データパケットを共通の方向に伝送するように構成され、
    前記複数の第2サブSAが、前記複数の第1サブSAとは反対の方向にデータパケットを伝送するようにさらに構成されることを特徴とする請求項13に記載のネットワーク要素。
  15. データベース中の前記複数の第1サブSAのルックアップが並列して実行されるか、
    前記複数の第1データパケットのシーケンス番号が並列して生成されるか、
    前記複数の第2データパケットのアンチリプレイチェックが並列して実行されるか、又は、
    これらが組み合わされて実行されることを特徴とする請求項13に記載のネットワーク要素。
  16. 前記プロセッサが、saCount属性を処理することによって、前記SAクラスタを作成するようにさらに構成され、
    前記saCount属性に関連付けられた値は、前記SAクラスタ中の第1サブSAの数を示すことを特徴とする請求項11に記載のネットワーク要素。
  17. 前記プロセッサが、selectSA属性を処理することによって、前記SAクラスタを作成するようにさらに構成され、
    前記selectSA属性に関連付けられた値は、前記複数の第1データパケットに関連したサブフローの伝送のためのサブSAを選択するための選択アルゴリズムを示すことを特徴とする請求項11に記載のネットワーク要素。
  18. 複数のインターネットプロトコルセキュリティ(IPsec)セキュリティアソシエーション(SA)サブトンネルを設定するステップと、
    前記複数のSAサブトンネルを一緒にクラスタ化して、SAクラスタを形成するステップと
    を有することを特徴とする方法。
  19. 前記複数のSAサブトンネルが、独立して設定されて、1つずつ前記SAクラスタに追加されることを特徴とする請求項18に記載の方法。
  20. 前記複数のSAサブトンネルを介するように、IPsecトラフィックを分割するか又は交番させるステップをさらに有することを特徴とする請求項19に記載の方法。
  21. 前記SAクラスタが、存続期間を有さないことを特徴とする請求項20に記載の方法。
  22. 前記複数のSAサブトンネルが、受信エンティティにおいて共有のアンチリプレイビットマップを使用することを特徴とする請求項21に記載の方法。
  23. 前記複数のSAサブトンネルの各々が、別個のアンチリプレイビットマップを使用することを特徴とする請求項21に記載の方法。
JP2015503587A 2012-03-30 2013-03-28 盗聴に対するIPsec通信のパフォーマンス及びセキュリティの向上 Active JP6052391B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201261618359P 2012-03-30 2012-03-30
US61/618,359 2012-03-30
PCT/US2013/034415 WO2013149041A1 (en) 2012-03-30 2013-03-28 Enhancing ipsec performance and security against eavesdropping

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2016198057A Division JP6288802B2 (ja) 2012-03-30 2016-10-06 盗聴に対するIPsec通信のパフォーマンス及びセキュリティの向上

Publications (2)

Publication Number Publication Date
JP2015515210A true JP2015515210A (ja) 2015-05-21
JP6052391B2 JP6052391B2 (ja) 2016-12-27

Family

ID=48087763

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2015503587A Active JP6052391B2 (ja) 2012-03-30 2013-03-28 盗聴に対するIPsec通信のパフォーマンス及びセキュリティの向上
JP2016198057A Active JP6288802B2 (ja) 2012-03-30 2016-10-06 盗聴に対するIPsec通信のパフォーマンス及びセキュリティの向上

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2016198057A Active JP6288802B2 (ja) 2012-03-30 2016-10-06 盗聴に対するIPsec通信のパフォーマンス及びセキュリティの向上

Country Status (5)

Country Link
US (1) US9021577B2 (ja)
EP (1) EP2823620B1 (ja)
JP (2) JP6052391B2 (ja)
CN (1) CN104247367B (ja)
WO (1) WO2013149041A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018522481A (ja) * 2015-07-28 2018-08-09 サイトリックス システムズ,インコーポレイテッド マルチパス環境におけるipsecトンネルの効率的使用
JP2022519416A (ja) * 2018-11-15 2022-03-24 華為技術有限公司 セキュリティアソシエーションsaの鍵再生成
US11943209B2 (en) 2018-11-15 2024-03-26 Huawei Technologies Co., Ltd. Rekeying a security association SA

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9516065B2 (en) * 2014-12-23 2016-12-06 Freescale Semiconductor, Inc. Secure communication device and method
US9923874B2 (en) * 2015-02-27 2018-03-20 Huawei Technologies Co., Ltd. Packet obfuscation and packet forwarding
CN107925875B (zh) * 2015-07-24 2021-06-18 苹果公司 经由wlan节点在蜂窝管理器和用户设备(ue)之间进行通信的装置、系统和方法
US10250578B2 (en) * 2015-11-03 2019-04-02 Qualcomm Incorporated Internet key exchange (IKE) for secure association between devices
WO2017084688A1 (en) * 2015-11-16 2017-05-26 Telefonaktiebolaget Lm Ericsson (Publ) Technique for enhanced routing of data packets
CN106254204A (zh) * 2016-09-28 2016-12-21 乐视控股(北京)有限公司 云环境下的Ipsec 隧道生命期的配置方法及装置
US10609008B2 (en) 2017-06-08 2020-03-31 Nxp Usa, Inc. Securing an electronically transmitted communication
US10798071B2 (en) * 2017-07-31 2020-10-06 Cisco Technology, Inc. IPSEC anti-relay window with quality of service
CN109756326B (zh) * 2017-11-07 2022-04-08 中兴通讯股份有限公司 量子加密通信方法、设备及计算机可读存储介质
US10873455B2 (en) * 2018-03-15 2020-12-22 Cisco Technology, Inc. Techniques for encryption key rollover synchronization in a network
EP3595255A1 (en) * 2018-07-12 2020-01-15 Nokia Solutions and Networks Oy Increasing network security by establishing a plurality of active security associations for a security policy identifier
CN109379391B (zh) * 2018-12-25 2021-06-01 北京物芯科技有限责任公司 一种基于IPSec的通信方法、装置、设备和储存介质
CN111385259B (zh) * 2018-12-28 2023-09-01 中兴通讯股份有限公司 一种数据传输方法、装置、相关设备及存储介质
US11656992B2 (en) 2019-05-03 2023-05-23 Western Digital Technologies, Inc. Distributed cache with in-network prefetch
US11368298B2 (en) * 2019-05-16 2022-06-21 Cisco Technology, Inc. Decentralized internet protocol security key negotiation
CN110381034B (zh) * 2019-06-25 2022-02-22 苏州浪潮智能科技有限公司 一种报文处理方法、装置、设备及可读存储介质
US11323290B2 (en) * 2020-03-25 2022-05-03 Juniper Networks, Inc. Establishing a network micro-tunnel within a network tunnel
US11765250B2 (en) 2020-06-26 2023-09-19 Western Digital Technologies, Inc. Devices and methods for managing network traffic for a distributed cache
US11675706B2 (en) 2020-06-30 2023-06-13 Western Digital Technologies, Inc. Devices and methods for failure detection and recovery for a distributed cache
US11736417B2 (en) * 2020-08-17 2023-08-22 Western Digital Technologies, Inc. Devices and methods for network message sequencing
EP4060936A1 (en) * 2021-03-16 2022-09-21 Nokia Solutions and Networks Oy Enhanced processing for ipsec stream
EP4248615A1 (en) * 2021-07-15 2023-09-27 VMWare, Inc. Managing replay windows in multipath connections between gateways

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000315997A (ja) * 1999-04-30 2000-11-14 Toshiba Corp 暗号通信方法及びノード装置
JP2005136739A (ja) * 2003-10-30 2005-05-26 Furukawa Electric Co Ltd:The データ中継方法、データ中継装置、データ中継システム
JP2007089085A (ja) * 2005-09-26 2007-04-05 Tokyo Electric Power Co Inc:The ノード間通信制御方法、ノード間通信方法、ホームエージェント及びノード・コンピュータ
JP2012010254A (ja) * 2010-06-28 2012-01-12 Fujitsu Ltd 通信装置、通信方法及び通信システム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2365717B (en) * 2000-05-24 2004-01-21 Ericsson Telefon Ab L M IPsec processing
US7280540B2 (en) * 2001-01-09 2007-10-09 Stonesoft Oy Processing of data packets within a network element cluster
US7426566B2 (en) * 2001-01-17 2008-09-16 International Business Machines Corporation Methods, systems and computer program products for security processing inbound communications in a cluster computing environment
US6941366B2 (en) * 2001-01-17 2005-09-06 International Business Machines Corporation Methods, systems and computer program products for transferring security processing between processors in a cluster computing environment
US7613699B2 (en) * 2001-08-03 2009-11-03 Itt Manufacturing Enterprises, Inc. Apparatus and method for resolving security association database update coherency in high-speed systems having multiple security channels
JP3672517B2 (ja) * 2001-10-05 2005-07-20 沖電気工業株式会社 通信装置
JP3678200B2 (ja) * 2002-01-11 2005-08-03 Kddi株式会社 通信内容の秘匿性向上のための経路分散装置
WO2008039506A2 (en) * 2006-09-27 2008-04-03 Cipheroptics, Inc. Deploying group vpns and security groups over an end-to-end enterprise network and ip encryption for vpns
US8272046B2 (en) * 2007-11-13 2012-09-18 Cisco Technology, Inc. Network mobility over a multi-path virtual private network
US8763108B2 (en) * 2007-11-29 2014-06-24 Qualcomm Incorporated Flow classification for encrypted and tunneled packet streams
US7944854B2 (en) * 2008-01-04 2011-05-17 Cisco Technology, Inc. IP security within multi-topology routing
US8316113B2 (en) * 2008-12-19 2012-11-20 Watchguard Technologies, Inc. Cluster architecture and configuration for network security devices

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000315997A (ja) * 1999-04-30 2000-11-14 Toshiba Corp 暗号通信方法及びノード装置
JP2005136739A (ja) * 2003-10-30 2005-05-26 Furukawa Electric Co Ltd:The データ中継方法、データ中継装置、データ中継システム
JP2007089085A (ja) * 2005-09-26 2007-04-05 Tokyo Electric Power Co Inc:The ノード間通信制御方法、ノード間通信方法、ホームエージェント及びノード・コンピュータ
JP2012010254A (ja) * 2010-06-28 2012-01-12 Fujitsu Ltd 通信装置、通信方法及び通信システム

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018522481A (ja) * 2015-07-28 2018-08-09 サイトリックス システムズ,インコーポレイテッド マルチパス環境におけるipsecトンネルの効率的使用
US10992709B2 (en) 2015-07-28 2021-04-27 Citrix Systems, Inc. Efficient use of IPsec tunnels in multi-path environment
JP7075216B2 (ja) 2015-07-28 2022-05-25 サイトリックス システムズ,インコーポレイテッド マルチパス環境におけるipsecトンネルの効率的使用
JP2022519416A (ja) * 2018-11-15 2022-03-24 華為技術有限公司 セキュリティアソシエーションsaの鍵再生成
JP7204913B2 (ja) 2018-11-15 2023-01-16 華為技術有限公司 セキュリティアソシエーションsaの鍵再生成
US11888982B2 (en) 2018-11-15 2024-01-30 Huawei Technologies Co., Ltd. Rekeying a security association SA
US11943209B2 (en) 2018-11-15 2024-03-26 Huawei Technologies Co., Ltd. Rekeying a security association SA

Also Published As

Publication number Publication date
WO2013149041A1 (en) 2013-10-03
JP2017028740A (ja) 2017-02-02
US20130263249A1 (en) 2013-10-03
CN104247367A (zh) 2014-12-24
US9021577B2 (en) 2015-04-28
EP2823620B1 (en) 2016-03-23
EP2823620A1 (en) 2015-01-14
JP6052391B2 (ja) 2016-12-27
JP6288802B2 (ja) 2018-03-07
CN104247367B (zh) 2017-08-04

Similar Documents

Publication Publication Date Title
JP6288802B2 (ja) 盗聴に対するIPsec通信のパフォーマンス及びセキュリティの向上
US11283772B2 (en) Method and system for sending a message through a secure connection
US9461975B2 (en) Method and system for traffic engineering in secured networks
Hauser et al. P4-ipsec: Site-to-site and host-to-site vpn with ipsec in p4-based sdn
US7086086B2 (en) System and method for maintaining N number of simultaneous cryptographic sessions using a distributed computing environment
US6484257B1 (en) System and method for maintaining N number of simultaneous cryptographic sessions using a distributed computing environment
CA2870048C (en) Multi-tunnel virtual private network
US7376134B2 (en) Privileged network routing
US20110113236A1 (en) Methods, systems, and computer readable media for offloading internet protocol security (ipsec) processing using an ipsec proxy mechanism
Dhall et al. Implementation of IPSec protocol
Liyanage et al. Secure hierarchical VPLS architecture for provider provisioned networks
US11095619B2 (en) Information exchange for secure communication
Cisco Configuring IPSec Network Security
Cisco Introduction to Cisco IPsec Technology
CN117254976B (zh) 基于VPP的国标IPsec VPN实现方法、装置、系统及电子设备
Korhonen Future after openvpn and ipsec
Alhaj Performance Evaluation of Secure Data Transmission Mechanism (SDTM) for Cloud Outsourced Data and Transmission Layer Security (TLS)
Al-Abaychi et al. Evaluation of VPNs
Singh et al. DIFFERENT SECURITY MECHANISMS FOR DIFFERENT TYPE OF SECURITY LAPSES IN WMN-A REVIEW
Rosen et al. IPsec

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150916

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151013

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160112

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160607

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161006

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20161017

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20161101

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161114

R150 Certificate of patent or registration of utility model

Ref document number: 6052391

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250