説明

分散多重処理セキュリティゲートウエイのためのシステム及び方法

【課題】能力が一層高い分散多重処理セキュリティゲートウエイを提供する。
【解決手段】分散多重処理セキュリティゲートウエイのためのシステム及び方法は、ホスト側セッションを確立し、サーバに対するプロキシネットワークアドレスを選択し、サーバ側セッションを確立するためにプロキシネットワークアドレスを使用し、データパケットを受け取り、データパケットを処理するためにセキュリティゲートウエイのマルチコアプロセッサ内の複数の中央処理装置(CPU)コアから1つのCPUコアを割り当て、セキュリティポリシーにしたがってデータパケットを処理して、処理済データパケットを送る。プロキシネットワークアドレスはサーバ側セッション及びホスト側セッションからのデータパケットの処理に同じCPUコアが割り当てられるように選択される。

【発明の詳細な説明】
【技術分野】
【0001】
本開示は全般的にはデータネットワークに関し、さらに詳しくは分散多重処理セキュリティゲートウエイのためのシステム及び方法に関する。
【背景技術】
【0002】
益々多くのコンピュータがデータネットワークを介して接続されるにつれて、また益々多くのアプリケーションがそれぞれの機能のためにデータネットワークを利用するにつれて、データネットワーク活動が高まっている。したがって、セキュリティ侵犯に対してデータネットワークを保護することが一層重要になる。
【0003】
現在、ファイアウォール、VPNファイアウォール、ペアレンタルコントロールアプライアンス、eメールウイルス検出ゲートウエイ、対フィッシング/スパイウエア専用ゲートウエイ、侵犯検出/阻止アプライアンス、アクセスコントロールゲートウエイ、アイデンティティ管理ゲートウエイ、及びその他の多くのタイプのセキュリティゲートウエイのような、多くのセキュリティゲートウエイがある。これらの製品は一般に、インテルペンティアム(登録商標)、AMDプロセッサまたはSPARCプロセッサのような汎用マイクロプロセッサ、あるいは、MIPSアーキテクチャ、パワーPCアーキテクチャまたはARMアーキテクチャのようなRISCアーキテクチャに基づく組込マイクロプロセッサを用いて実施される。
【0004】
マイクロプロセッサアーキテクチャは処理能力が限られている。一般に、マイクロプロセッサはギガビット毎秒までの帯域幅を扱うことができる。過去数年間に、データネットワーク利用帯域幅はマイクロプロセッサ能力の向上より速いペースで高まっている。今日、多くの中規模及び大規模な高信頼性企業データネットワークにおいて、数ギガビット毎秒のデータネットワーク利用帯域幅にであうことも珍しくはない。そのような状況は、スモールビジネスデータネットワーク、居住ネットワーク及びサービスプロバイダネットワークを含む、ほとんどのデータネットワークにおいて一層普及すると考えられる。
【発明の概要】
【発明が解決しようとする課題】
【0005】
データネットワークの利用の増加傾向は、特に、それぞれがマイクロプロセッサであるかまたはマイクロプロセッシングアーキテクチャに基づく、複数の処理要素を用いて、データネットワークを保護するために縦連ではたらかせる、一層優れた、また一層高い、能力をもつセキュリティゲートウエイが必要であることを示す。
【課題を解決するための手段】
【0006】
分散多重処理セキュリティゲートウエイのためのシステム及び方法は、ホスト側セッションを確立し、サーバに対するプロキシネットワークアドレスを選択し、サーバ側セッションを確立するためにプロキシネットワークアドレスを用い、データパケットを受取り、データパケットを処理するためにセキュリティゲートウエイのマルチコアプロセッサ内の複数の中央処理装置(CPU)コアから1つのCPUコアを割り当て、セキュリティポリシーにしたがってデータパケットを処理して、処理済データパケットを送る。プロキシネットワークアドレスは、サーバ側セッション及びホスト側セッションからのデータパケットの処理に同じCPUコアが割り当てられるように選択される。この態様でCPUコアを割り当てることによって、一層能力が高いセキュリティゲートウエイが提供される。
【図面の簡単な説明】
【0007】
【図1a】図1aは高信頼性データネットワークを示す。
【図1b】図1bはネットワークアドレス置換(NAT)プロセスの概要を示す。
【図1c】図1cはTCPセッションのためのNATプロセスを示す。
【図2】図2は分散多重処理セキュリティゲートウエイを示す。
【図3】図3はディスパッチプロセスを示す。
【図4】図4はプロキシネットワークアドレス選択プロセスを示す。
【図5】図5は本発明のマルチプロセッサコア実施形態を示す。
【発明を実施するための形態】
【0008】
図1aは高信頼性データネットワークを示す。セキュリティゲートウエイ170が高信頼性データネットワーク199を保護する。
【0009】
一実施形態において、高信頼性データネットワーク199は居住データネットワークである。一実施形態において、高信頼性データネットワーク199は企業ネットワークである。一実施形態において、高信頼性データネットワーク199は域内企業ネットワークである。一実施形態において、高信頼性データネットワーク199はサービスプロバイダネットワークである。
【0010】
一実施形態において、セキュリティゲートウエイ170は居住ブロードバンドゲートウエイである。一実施形態において、セキュリティゲートウエイ170は企業ファイアウォールである。一実施形態において、セキュリティゲートウエイ170は域内オフィスファイアウォールまたは部門ファイアウォールである。一実施形態において、セキュリティゲートウエイ170は企業仮想プライベートネットワーク(VPN)ファイアウォールである。一実施形態において、セキュリティゲートウエイ170はサービスプロバイダネットワークのインターネットゲートウエイである。
【0011】
高信頼性データネットワーク199内部のホスト130が高信頼性データネットワーク199外部のサーバ110にアクセスするときに、ホスト130はセキュリティゲートウエイ170を介してサーバ110とのセッションを確立する。セッション中にホスト130とサーバ110の間で交換されるデータパケットは、セキュリティゲートウエイ170を通過する。セキュリティゲートウエイ170はセッション中のデータパケットの処理の間に複数のセキュリティポリシーを適用する。セキュリティポリシーの例には、ネットワークアドレス保護、コンテンツフィルタリング、ウイルス検出/感染阻止、スパイウエアまたはフィッシングの遮断、ネットワーク侵入またはサービス阻止の拒絶、データトラフィック監視、またはデータトラフィック傍受がある。
【0012】
図1bはネットワークアドレス置換(NAT)プロセスを示す。
【0013】
一実施形態において、セキュリティポリシーはホスト130のネットワークアドレスを保護することである。ホスト130はホスト130とサーバ110の間のセッション160においてホストネットワークアドレス183を使用する。一実施形態において、ホストネットワークアドレス183はホスト130のIPアドレスを含む。別の実施形態において、ホストネットワークアドレス183はホスト130のセッションポートアドレスを含む。
【0014】
セキュリティゲートウエイ170は、ホストネットワークアドレス183を明かさないことでホスト130を保護する。ホスト130がセッション160に対するセッションリクエストをセキュリティゲートウエイ170に送るときに、セッションリクエストにはホストネットワークアドレス183が含まれる。
【0015】
セキュリティゲートウエイ170はホスト130とのホスト側セッション169を確立する。ホスト130はセッション169においてホストネットワークアドレス183を使用する。
【0016】
セキュリティゲートウエイ170はプロキシネットワークアドレス187を選択する。セキュリティゲートウエイ170はサーバ110とのサーバ側セッション165を確立するためにプロキシネットワークアドレス187を使用する。
【0017】
サーバ側セッション165はセキュリティゲートウエイ170とサーバ110の間のセッションである。ホスト側セッション169はセキュリティゲートウエイ170とホスト130の間のセッションである。セッション160はサーバ側セッション165及びホスト側セッション169を含む。
【0018】
セキュリティゲートウエイ170は、セッション160上でネットワークアドレス置換(NAT)プロセスを実施する。セキュリティゲートウエイ170は、プロキシネットワークアドレス187をホストネットワークアドレス183で置換することによって、サーバ側セッション165上で受け取られたデータパケットにネットワークアドレス置換プロセスを実施する。セキュリティゲートウエイ170は置換済データパケットをホスト側セッション169に送る。同様に、セキュリティゲートウエイ170は、ホストネットワークアドレス183をプロキシネットワークアドレス187で置換することによって、ホスト側セッション169上で受け取られたデータパケットにネットワークアドレス置換プロセスを実施する。セキュリティゲートウエイ170は置換済データパケットをサーバ側セッション165に送る。
【0019】
一実施形態において、セッション160は伝送制御プロトコル(TCP)セッションである。一実施形態において、セッション160はユーザデータグラムプロトコル(UDP)セッションである。一実施形態において、セッション160はインターネット制御通知プロトコル(ICMP)セッションである。一実施形態において、セッション160はIPプロトコルに乗った伝送セッションプロトコルに基づく。一実施形態において、セッション160はIPプロトコルに乗ったアプリケーションセッションプロトコルに基づく。
【0020】
図1cはTCPセッションに対するNATプロセスを示す。
【0021】
ホスト130はサーバ110とのセッション160を確立するためのセッションリクエスト192を送る。セッション160はTCPセッションである。セッションリクエスト192はホストネットワークアドレス183及びサーバネットワークアドレス184を含む。セキュリティゲートウエイ170がセッションリクエスト192を受け取る。セキュリティゲートウエイ170はセッションリクエスト192からホストネットワークアドレス183を抜き出す。セキュリティゲートウエイ170はプロキシネットワークアドレス187を決定する。一実施形態において、ホストネットワークアドレス183はホストのIPアドレスを含み、セキュリティゲートウエイ170はホストのIPアドレスを置換するためのプロキシIPアドレスを決定する。一実施形態において、ホストネットワークアドレス183はホストのTCPポート番号を含み、セキュリティゲートウエイ170はホストのTCPポート番号を置換するためのプロキシTCPポート番号を決定する。セキュリティゲートウエイ170はセッションリクエスト192からサーバネットワークアドレス184を抜き出す。セキュリティゲートウエイ170はサーバネットワークアドレス184及びプロキシネットワークアドレス187に基づいてサーバ110とのサーバ側セッション165を確立する。サーバ側セッション165はTCPセッションである。
【0022】
セキュリティゲートウエイ170はセッションリクエスト192に応答することによってホスト130とのホスト側セッション169も確立する。
【0023】
サーバ側セッション165及びホスト側セッション169の確立後、セキュリティゲートウエイ170はサーバ側セッション165及びホスト側セッション169からのデータパケットを処理する。
【0024】
一実施形態において、セキュリティゲートウエイ170はサーバ側セッション165からデータパケット185を受け取る。データパケット185はサーバネットワークアドレス184及びプロキシネットワークアドレス187を含む。セキュリティゲートウエイ170はサーバネットワークアドレス184及びプロキシネットワークアドレス187を抜き出す。セキュリティゲートウエイ170は抜き出したネットワークアドレスに基づいてホスト側セッション169を決定する。セキュリティゲートウエイ170はさらにホスト側セッション169からホストネットワークアドレス183を決定する。セキュリティゲートウエイ170は初めにプロキシネットワークアドレス187をホストネットワークアドレス183で置換することでデータパケット185を改変する。セキュリティゲートウエイ170は、TCPチェックサム、IPヘッダーチェックサムのような、データパケット185の他の領域を改変する。一実施形態において、セキュリティゲートウエイ170はプロキシネットワークアドレス187のいかなる使用対象もホストネットワークアドレス182で置換することによってデータパケット185のペイロードを改変する。
【0025】
セキュリティゲートウエイ170がデータパケット185の改変を完了した後、セキュリティゲートウエイ170は改変済データパケット185をホスト側セッション169に送る。
【0026】
同様の態様で、セキュリティゲートウエイ170がホスト側セッション169からデータパケット188を受け取る。データパケット188はサーバネットワークアドレス184及びホストネットワークアドレス183を含む。セキュリティゲートウエイ170はサーバネットワークアドレス184及びホストネットワークアドレス183を抜き出す。セキュリティゲートウエイ170は抜き出したネットワークアドレスに基づいてサーバ側セッション165を決定する。セキュリティゲートウエイ170はさらにサーバ側セッション165からプロキシネットワークアドレス187を決定する。セキュリティゲートウエイ170は初めにホストネットワークアドレス183をプロキシネットワークアドレス187で置換することでデータパケット188を改変する。セキュリティゲートウエイ170は、TCPチェックサム、IPヘッダーチェックサムのような、データパケット188の他の領域を改変する。一実施形態において、セキュリティゲートウエイ170はホストネットワークアドレス183のいかなる使用対象もプロキシネットワークアドレス187で置換することによってデータパケット188のペイロードを改変する。
【0027】
セキュリティゲートウエイ170がデータパケット188の改変を完了した後、セキュリティゲートウエイ170は改変済データパケット188をサーバ側セッション165に送る。
【0028】
図2は分散多重処理セキュリティゲートウエイを示す。
【0029】
一実施形態において、セキュリティゲートウエイ270は分散多重処理システムである。セキュリティゲートウエイ270は複数の処理要素を備える。処理要素272はメモリモジュールを有する。メモリモジュールは、ホストネットワークアドレス、プロキシネットワークアドレス及び、図1に説明したようなセキュリティポリシーを適用するための、処理要素272へのその他の情報を格納する。処理要素272は処理要素アイデンティティ273を有する。
【0030】
図5に示される一実施形態において、処理要素272は、2つないしさらに多くの独立コアを併合するマルチコアプロセッサ579内の中央処理装置(CPU)コア572である。一実施形態において、マルチコアプロセッサ579は,インテルのコア2デュオプロセッサまたはAMDのアスロン(Athlon)デュアルコアプロセッサのような、デュアルコアプロセッサである。一実施形態において、マルチコアプロセッサ579は、インテルのクァッドコアゼオン(Xeon)5300シリーズプロセッサまたはAMDのオプテロン(Opteron)クァッドコアプロセッサのような、クァッドコアプロセッサである。
【0031】
一実施形態において、セキュリティゲートウエイ270は複数のマルチコアプロセッサを備え、処理要素272はマルチコアプロセッサである。
【0032】
一実施形態において、処理要素272は、インテルのIXP2855またはIXP2805ネットワークプロセッサ、AMDのAu1500プロセッサ、またはカビウム(Cavi um)のオクテオン(Octeon)MIPS64ネットワークプロセッサのような、ネットワークプロセッサ内のパケット処理モジュールである。
【0033】
セキュリティゲートウエイ270はディスパッチャー275を備える。ディスパッチャー275はデータパケットを受け取り、そのデータパケットを処理するための処理要素を決定する。ディスパッチャー275は一般にデータパケットに基づいて処理要素アイデンティティを計算する。計算された処理要素アイデンティティに基づいて、セキュリティゲートウエイ270は処理のため、計算されたアイデンティティをもつ処理要素にデータパケットを割り当てる。
【0034】
一実施形態において、ディスパッチャー275はホスト側セッション269からデータパケット288を受け取り、データパケット288内のホストネットワークアドレス及びサーバネットワークアドレスに基づいて第1の処理要素アイデンティティを計算する。別の実施形態において、ディスパッチャー275はサーバ側セッション265からデータパケット285を受け取り、データパケット285内のプロキシネットワークアドレス及びサーバネットワークアドレスに基づいて第2の処理要素アイデンティティを計算する。
【0035】
セキュリティゲートウエイ270はネットワークアドレスセレクタ277を備える。ネットワークアドレスセレクタ277ネットワーク情報に基づいてプロキシネットワークアドレスを選択する。ネットワーク情報には、セッション260に対するセッションリクエストで得られるホストネットワークアドレス、及びセキュリティゲートウエイネットワークアドレスが含まれる。その他のタイプのネットワーク情報を用いることもできる。プロキシネットワークアドレスはサーバ側セッション265を確立するために用いられる。プロキシネットワークアドレスは、ディスパッチャー275によって計算される第1の処理要素アイデンティティ及び第2の処理要素アイデンティティが同じであるように選択される。言い換えれば、サーバ側セッション265からのデータパケット285及びホスト側セッション269からのデータパケット288の処理に同じ処理要素が割り当てられる。
【0036】
一実施形態において、プロキシネットワークアドレスは、ディスパッチャー275によって計算される第1の処理要素アイデンティティが、複数の処理要素の中で負荷が最も軽い処理要素のアイデンティティになるように選択される。一実施形態において、負荷は処理要素のプロセッサアイドル時間に基づく。一実施形態において、負荷は処理要素についての活セッションに基づく。一実施形態において、ネットワークアドレスセレクタ277はアプリケーションプログラミングインターフェース(API)を通して処理要素から負荷を知る。一実施形態において、ネットワークアドレスセレクタ277は処理要素のメモリモジュールから負荷を知る。一実施形態において、プロキシネットワークアドレスは、ディスパッチャー275によって計算される第2の処理要素アイデンティティが複数の処理要素の中で負荷が最も軽い処理要素のアイデンティティになるように選択される。
【0037】
一実施形態において、プロキシネットワークアドレスは、ディスパッチャー275によって計算される第1の処理要素アイデンティティが、機能分担によって処理要素のアイデンティティを指定するように選択される。一実施形態において、機能分担にはセキュリティポリシーの処理が含まれる。一実施形態において、ネットワークアドレスセレクタ277は、レジストレーションプロセスまたはアプリケーションプログラミングインターフェース(API)を通して処理要素の機能分担を知る。一実施形態において、ネットワークアドレスセレクタ277は処理要素のメモリモジュールから機能分担を知る。
【0038】
図3はディスパッチプロセスを示す。
【0039】
ディスパッチャー375がセッション360のデータパケット385から得られる2つのネットワークアドレスに基づいて処理要素アイデンティティを計算する。セッション360はホスト側セッション369及びサーバ側セッション365を含む。ホスト側セッション369の2つのネットワークアドレスはサーバネットワークアドレス及びホストネットワークアドレスである。サーバ側セッション365の2つのネットワークアドレスはプロキシネットワークアドレス及びサーバネットワークアドレスである。ディスパッチャー375はホスト側セッション369及びサーバ側セッション365に対して同じ処理要素アイデンティティを計算する。
【0040】
一実施形態において、ディスパッチャー375はハッシュ関数に基づいて計算する。
【0041】
一実施形態において、ディスパッチャー375は2つのネットワークアドレスを加え合わせることによって和を計算する。一例において、ディスパッチャー375は、2進数表示の2つのネットワークアドレスに排他的論理和(XOR)2進演算または論理積(AND)2進演算のような2進演算を行うことによって和を計算する。一例において、ディスパッチャー375は、ネットワークアドレスの先頭4ビットのような、2つのネットワークアドレスの一部を初めに抜き出し、抜き出した部分に2進演算のような演算を施すことによって和を計算する。一例において、ディスパッチャー375は初めに2つのネットワークアドレスにある数を乗じ、その積に加算のような演算を施すことによって和を計算する。
【0042】
一実施形態において、ディスパッチャー375は上記和に処理を施すことによって処理要素アイデンティティを計算する。一実施形態において、セキュリティゲートウエイ370には4つの処理要素がある。一実施形態において、ディスパッチャー375は和の先頭2ビットを抜き出し、抜き出した2ビットを0から3までのいずれかの数値として解釈する。一実施形態において、ディスパッチャー375は和の先頭ビットと最終ビットを抜き出し、抜き出した2ビットを0から3までのいずれかの数値として解釈する。一実施形態において、ディスパッチャー375は和を4で除してその剰余を決定する。剰余は0から3までのいずれかの数である。
【0043】
一実施形態において、セキュリティゲートウエイ370は処理要素を8つ備える。ディスパッチャー375は和から3つのビットを抜き出し、3ビットを0から7までのいずれかの数値として解釈する。一例において、ディスパッチャー375は和を8で除してその剰余を決定する。剰余は0から7までのいずれかの数である。
【0044】
一実施形態において、ネットワークアドレスはIPアドレス及びセッションポートアドレスを含む。ディスパッチャー375は2つのネットワークアドレスのIPアドレスとセッションポートアドレスの和を計算する。
【0045】
本教示はハッシュ関数の上記説明に基づくが、当業者にはディスパッチャー375への異なるハッシュ関数の実施が明らかなはずである。
【0046】
図4はプロキシネットワークアドレス選択プロセスを示す。
【0047】
ネットワークアドレスセレクタ477はホストネットワークアドレス483に対するプロキシネットワークアドレス487を選択する。一実施形態において、ホストネットワークアドレス483はホストIPアドレス484及びホストセッションポートアドレス485を含み、プロキシネットワークアドレス487はプロキシIPアドレス488及びプロキシセッションポートアドレス489を含む。プロキシネットワークアドレス487は、ディスパッチャー475がホスト側セッション469及びサーバ側セッション465に関して同じ処理要素アイデンティティを計算するように選択される。
【0048】
一実施形態において、選択プロセスは、図3に示される、ディスパッチプロセスに基づく。一実施形態において、ディスパッチャー475は2つのIPアドレス、及び2つのセッションポートアドレスの和を計算し、次いでその和を4で除す方法を用いる。一実施形態において、ネットワークアドレスセレクタ477は初めにプロキシIPアドレス488を選択する。ネットワークアドレスセレクタ477は次いで、サーバネットワークアドレス490及びホストネットワークアドレス483に上記方法を用いるときにサーバネットワークアドレス490及びプロキシワークアドレス487に上記方法を用いたときと同じ処理要素アイデンティティをディスパッチャー475が計算するように、プロキシセッションポートアドレス489を選択する。
【0049】
一例において、ディスパッチャー475は2つのネットワークアドレスへの2進演算子XORを適用して和を計算し、和の最終3ディジットを抜き出す。ネットワークアドレスセレクタ477は、ホストセッションポートアドレス485と同じ最終3ディジットを有するプロキシセッションポートアドレス489を選択する。
【0050】
一実施形態において、セキュリティゲートウエイ470は複数の既存セッションに対してネットワークアドレス置換プロセスを実施する。選択されたプロキシネットワークアドレス487が複数の既存セッションで用いられていないかどうかを、ネットワークアドレスセレクタ477がチェックする。一実施形態において、セキュリティゲートウエイ470はデータメモリ479を備える。データメモリ479は複数の既存セッションに用いられている複数のプロキシネットワークアドレスを格納する。ネットワークアドレスセレクタ477は、選択されたプロキシネットワークアドレス487を格納されている複数のプロキシネットワークアドレスと比較し、一致が見られなければ、選択されたプロキシネットワークアドレス487は使用されていないと判定する。
【0051】
一実施形態において、処理要素はネットワークアドレスセレクタを有する。処理要素は、ディスパッチャーによって計算された処理要素アイデンティティに基づいてセキュリティゲートウエイにより割り当てられたデータパケットを受け取る。一実施形態において、処理要素はデータパケットがセッションリクエストを含むと判定する。処理要素内のネットワークアドレスセレクタは、図4に示されるように、セッションリクエスト内のホストネットワークアドレスに基づいてプロキシネットワークアドレスを選択する。
【0052】
一実施形態において、特定の第1の処理要素はネットワークアドレスセレクタを有する。ネットワークアドレスセレクタをもたない第2の処理要素がデータパケットを受け取り、データパケットがセッションリクエストを含むと判定する。第2の処理要素は、例えばリモートファンクションコールを用いて、データパケットを第1の処理要素に送る。第1の処理要素がデータパケットを受け取る。ネットワークアドレスセレクタがセッションリクエスト内のホストネットワークアドレスに基づいてプロキシネットワークアドレスを選択する。
【0053】
一実施形態において、データメモリは処理要素のメモリモジュールに実装される。一実施形態において、データメモリ内の複数のプロキシネットワークアドレスはそれぞれの処理要素のそれぞれのメモリモジュールに格納される。一実施形態において、データメモリ内の複数のプロキシネットワークアドレスは分散態様でメモリモジュールに格納され、処理要素によって処理されるセッションに用いられるプロキシネットワークアドレスはその処理要素のメモリモジュールに格納される。
【0054】
一実施形態において、セキュリティゲートウエイは複数の処理要素によって共有されるメモリを備える。セキュリティゲートウエイは共有メモリを複数のメモリ領域に区分する。処理要素は専用メモリ領域にアクセスでき、他のメモリ領域にはアクセスできない。
【0055】
一実施形態において、セキュリティゲートウエイは中央処理装置(CPU)を備える。一実施形態において、CPUは、ハイパースレッド、マイクロエンジンまたは、特定用途集積回路(ASIC)またはフィールドプログラマブルゲートアレイ(FPGA)のような、回路に実装されたその他の処理スレッドのような複数の処理スレッドを有する。処理要素は処理スレッドである。
【0056】
一実施形態において、CPUは複数のマイクロプロセッサコアを有する。処理スレッドはマイクロプロセッサコアである。
【0057】
一実施形態において、セキュリティポリシーはウイルスの検出または遮断のためのポリシーである。一実施形態において、セキュリティポリシーはフィッシングの検出または遮断のためのポリシーである。一実施形態において、セキュリティポリシーはトラフィック割当強化のためのポリシーである。一実施形態において、セキュリティポリシーは合法的データ傍受のためのポリシーである。
【0058】
一実施形態において、NATプロセスはUDPセッションのためのプロセスである。一実施形態において、セキュリティゲートウエイはUDPパケットを受け取る。一実施形態において、セキュリティゲートウエイはUDPパケットが既存セッションからのパケットではないと判定する。セキュリティゲートウエイはUDPパケットをセッションリクエストとして処理する。
【0059】
一実施形態において、NATプロセスはICMPセッションのためのプロセスである。同様の態様で、セキュリティゲートウエイは既存のセッションからではないICMPパケットをセッションリクエストとして処理する。
【0060】
図示される実施形態にしたがって本発明を説明したが、当業者であれば、実施形態に対する変形があり得ること及びそのような変形が本発明の精神及び範囲内にあることを、容易に認めるであろう。したがって、添付される特許請求の範囲の精神及び範囲を逸脱することなく多くの改変が当業者によってなされ得る。
【符号の説明】
【0061】
260 セッション
265 サーバ側セッション
269 ホスト側セッション
270 分散多重処理セキュリティゲートウエイ
272 処理要素
273 処理要素アイデンティティ
275 ディスパッチャー
277 ネットワークアドレスセレクタ
285,288 データパケット

【特許請求の範囲】
【請求項1】
それぞれが処理要素アイデンティティを有する複数のマルチコアプロセッサを備えたセキュリティゲートウエイを介して、ホストとサーバの間のセッションを確立する方法において、
(a)前記セッションに対するセッションリクエストであって、ホストネットワークアドレスとサーバネットワークアドレスとを含むセッションリクエストを前記ホストから受け取り、ホスト側セッションを確立するステップ、
(b)サーバに対し、前記ホストネットワークアドレスと置換して用いるためのプロキシネットワークアドレスを選択するステップ、
(c)サーバ側セッションを確立するために前記プロキシネットワークアドレスを使用するステップ、
(d)データパケットを受け取るステップ、
(e)前記データパケットを処理するために前記複数のマルチコアプロセッサから1つのマルチコアプロセッサを割り当てるステップ、
を含み、
前記ステップ(e)において、前記ホスト側セッションからのデータパケットに対しては、該データパケットに含まれる前記ホストネットワークアドレスに基づいて、予め決められた計算方法により第1の処理要素アイデンティティを計算し、該第1の処理要素アイデンティティにより指定されるマルチコアプロセッサを割り当て、前記サーバ側セッションからのデータパケットに対しては、該データパケットに含まれる前記プロキシネットワークアドレスに基づいて、予め決められた計算方法により第2の処理要素アイデンティティを計算し、該第2の処理要素アイデンティティにより指定されるマルチコアプロセッサを割り当て、
前記ステップ(b)において、前記ステップ(e)で計算される前記第1の処理要素アイデンティティと前記第2の処理要素アイデンティティとが同じになるように、前記プロキシネットワークアドレスを選択する
ことを特徴とする方法。
【請求項2】
前記ホストネットワークアドレスがホストIPアドレスを含み、
前記プロキシネットワークアドレスがプロキシIPアドレスを含み、
前記ステップ(b)において、前記ホストIPアドレスを置換するための前記プロキシIPアドレスが決定されることを特徴とする請求項1記載の方法。
【請求項3】
前記ホストネットワークアドレスがホストのTCPポート番号を含み、
前記プロキシネットワークアドレスがプロキシTCPポート番号を含み、
前記ステップ(b)において、前記ホストのTCPポート番号を置換するための前記プロキシTCPポート番号が決定されることを特徴とする請求項1記載の方法。
【請求項4】
セキュリティゲートウエイにおいて、
それぞれが処理要素アイデンティティを有する複数のマルチコアプロセッサ、
ホストとサーバの間のセッションに対するセッションリクエストであって、ホストネットワークアドレスとサーバネットワークアドレスとを含むセッションリクエストを前記ホストから受け取るため、前記サーバに対し、前記ホストネットワークアドレスと置換して用いるためのプロキシネットワークアドレスを選択するため、並びにサーバ側セッション及びホスト側セッションを確立するための、ネットワークアドレスセレクタ、及び
前記サーバ側セッション及び前記ホスト側セッションからの複数のデータパケットを処理するために前記複数のマルチコアプロセッサから1つのマルチコアプロセッサを割り当てるためのディスパッチャーであって、前記ホスト側セッションからのデータパケットに対しては、該データパケットに含まれる前記ホストネットワークアドレスに基づいて、予め決められた計算方法により第1の処理要素アイデンティティを計算し、該第1の処理要素アイデンティティにより指定されるマルチコアプロセッサを割り当て、前記サーバ側セッションからのデータパケットに対しては、該データパケットに含まれる前記プロキシネットワークアドレスに基づいて、予め決められた計算方法により第2の処理要素アイデンティティを計算し、該第2の処理要素アイデンティティにより指定されるマルチコアプロセッサを割り当てるディスパッチャー、
を備え、
前記ネットワークアドレスセレクタは、前記ディスパッチャーにより計算される前記第1の処理要素アイデンティティと前記第2の処理要素アイデンティティとが同じになるように、前記プロキシネットワークアドレスを選択する
ことを特徴とするセキュリティゲートウエイ。
【請求項5】
前記ホストネットワークアドレスがホストIPアドレスを含み、
前記プロキシネットワークアドレスがプロキシIPアドレスを含み、
前記ネットワークアドレスセレクタが、前記ホストIPアドレスを置換するための前記プロキシIPアドレスを決定することを特徴とする請求項4記載のセキュリティゲートウエイ。
【請求項6】
前記ホストネットワークアドレスがホストのTCPポート番号を含み、
前記プロキシネットワークアドレスがプロキシTCPポート番号を含み、
前記ネットワークアドレスセレクタが、前記ホストのTCPポート番号を置換するための前記プロキシTCPポート番号を決定することを特徴とする請求項4記載のセキュリティゲートウエイ。

【図1a】
image rotate

【図1b】
image rotate

【図1c】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2013−70423(P2013−70423A)
【公開日】平成25年4月18日(2013.4.18)
【国際特許分類】
【出願番号】特願2012−272060(P2012−272060)
【出願日】平成24年12月13日(2012.12.13)
【分割の表示】特願2010−536036(P2010−536036)の分割
【原出願日】平成20年10月29日(2008.10.29)
【出願人】(510151142)エイ10 ネットワークス インコーポレイテッド (4)
【氏名又は名称原語表記】A10 NETWORKS, INC.
【Fターム(参考)】