ファイアウォールの背後のホストに対するセキュリティで保護された接続開始
本発明は、ファイアウォールの背後のホストを相手に接続をセキュリティで保護された仕方で確立するための、ノックオンプロトコル、KOPと本明細書で呼ばれるホスト間シグナリングプロトコルを対象とする。本発明のいくつかの実施形態は、中間のファイアウォール、FW、またはネットワークアドレストランスレータ、NATにおいて使用されて、FWまたはNATの背後のホストに対するFW経由、またはNAT経由の接続確立を可能にするノックオンフィーチャ、KOFを対象とする。有利には、KOFは、メッセージフラッディング攻撃において使用されるアドレススプーフィングに対して防御するプレフィックスベースの保護フィーチャを含むことが可能である。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、パケットデータネットワークを対象とし、詳細には、いずれかがファイアウォールを介してパケットデータネットワークに接続された2つのホストシステム間でセキュリティで保護された接続を開始することを対象とする。以降、パケットデータネットワークに対するホストシステムのそのような接続を、ファイアウォールの背後にあるホストシステムと称する。
【背景技術】
【0002】
FW(ファイアウォール)およびNAT(ネットワークアドレストランスレータ)は、以下のセキュリティフィーチャを適用する:FWが、インバウンドパケットを、それらのパケットが、FWを以前に通過したアウトバウンドパケットに応答して着信した場合に限って、受け付ける。FWは、インバウンドパケットが、{プロトコルタイプ、送信元IPアドレス、送信元ポート、宛先IPアドレス、宛先ポート}という5タプルに関して、以前のアウトバウンドパケットと合致することを要求する。
【0003】
このFWセキュリティフィーチャは、さらなるフィルタリングフィーチャが適用されない限り、内部のホスト(すなわち、ファイアウォールの背後のホストシステム)が、任意の外部のホスト(すなわち、同一のファイアウォールの背後にはないホストシステム)に対して接続を開くことを許す。しかし、外部のホストは、内部のホストに対する接続を要請することができない。
【0004】
残念ながら、このFWセキュリティフィーチャは、外部のホストによって開始される接続確立を、その確立が内部のホストに望ましい場合でさえ、禁止するという副作用を有する。2つのホストが異なるFWの背後にあり、接続を確立することを所望する場合、完全なデッドロックがもたらされる。その場合、その2つのホストは、互いに直接に通信することができない。
【0005】
また、FWセキュリティフィーチャは、本明細書で単にNATと呼ばれる、ほとんどのネットワークアドレストランスレータまたはネットワークアドレス&ポートトランスレータに組み込まれる。したがって、以降、FWについて述べることのすべてが、NATにも一般に該当する。
【0006】
さらに、FWセキュリティフィーチャは、モバイルIPv6(IETF RFC 3775)のようなホストベースの移動性をサポートする技術に関する問題をもたらしもする。これらの技術は、ホストが、進行中のトランスポート接続を途絶えさせることなしに、移動すること、およびそのホストのIPアドレスを変更することを許す。移動するホストは、バインディング更新を使用して、そのホストの新たなIPアドレスについて、そのホストの対応ノード(CN)を更新しなければならない。しかし、バインディング更新は、新たなIPアドレスから着信するので、セキュリティフィーチャは、FWにそのバインディング更新を阻止させる。
【0007】
FWセキュリティフィーチャによってもたらされる、この望ましくない副作用を克服する2つの主要なソリューションが存在する:1)FWが、外部のホストが内部のホストと連絡をとるポートを開き、さらに2)内部のホストが、任意の外部のホストによって連絡がとられることが可能な外部の中継サーバ(RS)に対してシグナリング接続を維持する。第2のソリューションは、例えば、TURN方法(draft−ietf−behave−turn−04.txt)によって提案される。TURN方法はさらに、IETFによって提案される対話型接続確立(ICE)アプローチ(draft−ietf−mmusic−ice−tcp−07)の全体を成す。
【0008】
両方のソリューションとも、内部ホストが、FW上、またはRS上の開かれたポートを介して実行される攻撃の犠牲となり得るので、FWのセキュリティを危険にさらす。第2のソリューションのいくつかの変種は、内部ホストとRSの間のリンク上でさらなるセキュリティをもたらす。しかし、これらの変種は、内部のホストに生じる主な脆弱性に全く影響を与えない。この脆弱性のため、TURNおよびICEは、市場にあまり受け入れられていないように見受けられる。FW管理者は、同じ理由でそのようなサービス、および他のRSベースの方法を嫌う傾向にある。
【先行技術文献】
【非特許文献】
【0009】
【非特許文献1】IETF RFC 3775
【非特許文献2】draft−ietf−behave−turn−04.txt
【非特許文献3】draft−ietf−mmusic−ice−tcp−07
【非特許文献4】IETF RFC 4306
【非特許文献5】IETF RFC 5389
【発明の概要】
【発明が解決しようとする課題】
【0010】
以上のことに鑑みて、FWの有益なセキュリティ機能を保持し、それと同時に、外部のホストが内部のホストに対して接続確立を開始することを許すことが望ましい。さらに、外部のホストが新たなIPアドレスに移動した場合、内部のホストを相手に確立された接続が継続するのを許すことが望ましい。
【課題を解決するための手段】
【0011】
本発明の実施形態は、ファイアウォールの背後のホストに対して接続を確立するための、本明細書でノックオンプロトコル(KOP)と呼ばれる、ホスト間シグナリングプロトコルを対象とする。
【0012】
本発明の一部の実施形態は、中間のファイアウォールまたはネットワークアドレストランスレータによって、FWまたはNATを介して、FWまたはNATの背後のホストに対する接続確立を可能にするのに使用されるノックオンフィーチャ(KOF)を対象とする。
【0013】
本発明の一部の実施形態は、外部のホストが内部のホストを相手に接続を確立しようとする試みの頻度を制限することによって、セキュリティをもたらす。
【0014】
KOFがFWまたはNATに組み込まれる本発明の実施形態において、さらに、KOFがFWまたはNATと直列に実装される実施形態において、さらなるセキュリティが、有利には、対応する接続が終了された後、開かれた5タプルエントリを「塞ぐこと」(すなわち、閉じること、または削除すること)によってもたらされ得る。
【0015】
本発明の一部の実施形態において、KOFは、有利には、メッセージフラッディング攻撃において使用されるアドレススプーフィングから保護するプレフィックスベースの保護フィーチャを含む。
【0016】
有利には、本発明の実施形態によるKOFの通常の処理要件およびメモリ要件は、FWまたはNATの処理要件およびメモリ要件と比べて小さい。
【0017】
本発明の或る態様によれば、第1のホストシステムと第2のホストシステムの間で、第2のホストシステムにセキュリティ保護をもたらすファイアウォールを介して接続を確立する方法が提供される。この方法は、ノックオンフィーチャ(KOF)装置によって:第1のホストシステムによって送られた第1のメッセージを受信するステップと、第1のメッセージが、第1のホストシステムと第2のホストシステムの間で接続を確立するための第1のタイプであると判定するステップと、第1のメッセージから第1のホストシステムのアドレス、および第2のホストシステムのアドレスをそれぞれ特定するステップと、第1のホストシステムのアドレス、および第2のホストシステムのアドレスに対応する2タプルに関してKOF装置上に状態情報が存在するかどうかを判定するステップと、KOF装置上に2タプルに関して前述した状態情報が存在しない場合、第1のホストシステムに第1のメッセージを送るステップとを実行することを備える。
【0018】
有利には、この方法は、第2のホストシステムに関してKOF装置上に存在する状態情報の量を特定するステップと、その量が所定の上限を超えたことに応答して、第2のホストシステムと、各ペアにおいて異なる別のホストシステムとをそれぞれが備える2つのホストシステムペアの状態情報を組み合わせて、第2のホストシステムのアドレスと、その2つのホストシステムペアの他方のホストシステムのそれぞれのアドレスに共通であるアドレスプレフィックスとを備える1つのホストシステムペアに関する状態情報にするステップとをさらに含むことが可能である。
【0019】
本発明の以上、およびその他の目的、特徴、および利点は、添付の図面に示される好ましい実施形態の、後述のより詳細な説明から明白となろう。
【図面の簡単な説明】
【0020】
【図1】典型的な従来技術のファイアウォールアーキテクチャの5タプルに関係する状態および状態遷移を示す図である。
【図2】典型的な従来技術のファイアウォールアーキテクチャのインバウンドパケット(上)およびアウトバウンドパケット(下)に関する有限状態マシン(FSM)を示す図である。これらの流れ図は、タイマ満了による図1に示される5タプル状態遷移を含まない。
【図3】本発明の実施形態による(a)FWに組込み型KOF、(b)レガシーFWと直列のKOF、および(c)外部RS上のKOFに関するそれぞれのネットワークアーキテクチャを示す図である。
【図4】図3パートaに示される実施形態による組込み型KOFファイアウォールアーキテクチャのKOPメッセージコールフローを示す図である。
【図5】図3パートaに示される実施形態による組込み型KOFファイアウォールアーキテクチャの5タプルおよび2タプルに関係する状態および状態遷移を示す図である。
【図6】図3パートbに示される実施形態によるレガシーファイアウォールアーキテクチャと直列のKOFの5タプルおよび2タプルに関係する状態および状態遷移を示す図である。
【図7】図3パートcに示される実施形態による外部RSアーキテクチャにおいて提供されるKOFのKOPメッセージコールフローを示す図である。
【図8】図3パートaに示される実施形態による組込み型KOFファイアウォールアーキテクチャのインバウンドパケットに関するFSMを示す図である。これらの流れ図は、タイマ満了による図5に示される状態遷移を含まない。
【図9】図3パートaに示される実施形態による組込み型KOFファイアウォールアーキテクチャのアウトバウンドパケットに関するFSMを示す図である。これらの流れ図は、タイマ満了による図5に示される状態遷移を含まない。
【図10】図3パートbに示される実施形態によるファイアウォールアーキテクチャと直列のKOFのインバウンドパケットに関するFSMを示す図である。これらの流れ図は、タイマ満了による図6に示される状態遷移を含まない。
【図11】図3パートbに示される実施形態によるファイアウォールアーキテクチャと直列のKOFのアウトバウンドパケットに関するFSMを示す図である。これらの流れ図は、タイマ満了による図6に示される状態遷移を含まない。
【発明を実施するための形態】
【0021】
これらの図面において、同様の特徴は、同様の参照符号によって表される。
【0022】
図1を参照すると、FW上で、既存の接続に実際に、または潜在的に関係するすべての5タプルが、2つの状態:通過状態1または阻止状態2のいずれかに関連付けられることが可能であり、ただし、関連付けられた通過機能および阻止機能は、インバウンドパケットに適用される。各5タプルは、この5タプルを有するアウトバウンドパケットが通過している際、阻止状態2から通過状態1に変化する。通過状態1は、存続期間に関連付けられる。存続期間満了の後、5タプルは、阻止状態2に戻る。通過状態1で、タイマは、対応する5タプルを保持するアウトバウンドパケットごと、またはインバウンドパケットごとにリフレッシュされることが可能である。
【0023】
通常のFW実施形態において、通過状態1にある5タプルだけしか、キャッシュメモリの割当てを要求しない。阻止状態2は、デフォルトの状態であり、時間に左右される情報を担持しないので、キャッシュの割当てを要求しない。以下のデータ:5タプルおよび有効期限が、通過状態にある5タプルに関してFW上に通常、保持される。
【0024】
図2を参照すると、FW機能が、2つの有限状態マシン(FSM)を通して表され得る。一方の状態マシン4は、インバウンドパケットを扱い、他方の状態マシン5は、アウトバウンドパケットを扱う。図2におけるFSM図は、状態有効期限切れによる状態遷移を省略していることに留意されたい。
【0025】
図3を参照すると、KOPが、ホスト間接続管理を組み立てる規約手順(courtesy procedure)としてエンドホストによって使用されなければならない。例えば、認証などのさらなる機能が、これらのメッセージに組み込まれ得る。
【0026】
KOPメッセージは、FW上のKOFによってインターセプトされ、評価され、さらに処理されることが可能である。何らかの条件規則セットに基づいて、インバウンドKOPメッセージが、FW上のKOFによって内部のホストまで通過させられることが可能である。KOPメッセージおよびKOF規則セットの注意深い定義により、FWを介する接続確立が、非常に強いセキュリティで保護された仕方で提供され得る。以下のセクションは、KOFが、FWのセキュリティ機能を損なわないように、どのように設計されるかの概略を述べる。
【0027】
KOPメッセージは、5タプルによって与えられるトランスポート接続に基づく。したがって、KOPメッセージは、対応する5タプル情報を伝送する。KOPは、以下のメッセージをサポートする:
− KOP REQ:特定の5タプルを代表して接続確立を要求する。
− KOP ACK:KOP REQメッセージに応答して接続確立を承認する。
− KOP NAK:KOP REQメッセージに応答して接続確立を拒否する。
− KOP RSP:KOP REQメッセージに応答して、さらなる情報を要求する。このメッセージに対する応答は、別のKOP REQメッセージである。
− KOP FIN:5タプル接続を終了する。
【0028】
以上の初めの4つのメッセージは、接続確立の時点に先立って、またはその時点で使用され、最後のメッセージは、接続終了時に、または接続終了の後に使用される。接続の存続期間中、ホスト上のKOPクライアントは、状態情報を全く保持しなくてもよい。
【0029】
5タプルとは別に、KOPメッセージは、任意の追加の情報を主に伝送することが可能である。例えば、KOP REQメッセージは、ピアホストに接続に入ることを納得させる埋め込まれた情報を、例えば、送信側のホストの認証資格証明として伝送することも可能である。KOP RSPメッセージは、ピアホストが追加の情報を要求することを許す。KOP REQ/RSPメッセージペアを使用することによって、より複雑なハンドシェークが確立され得る。
【0030】
KOPメッセージは、タイプ−長さ−値フォーマットを使用して、情報を保持することが可能である。KOPメッセージは、以下のトランスポートフォーマットを使用し得る:
− KOPメッセージは、特定のポート番号を有するUDPを使用することが可能である。以降、特に明記しない限り、このアプローチが、KOPに関して使用される。
− KOPメッセージは、それらのメッセージ独自のプロトコルタイプを伝送することが可能である。
− KOPメッセージは、ICMPを使用することが可能である。
− KOP情報は、IPオプションヘッダ(IPv4)またはIP拡張ヘッダ(IPv6)の中に埋め込まれ得る。これは、IPv6に関して特に良好なソリューションである。
− KOPメッセージは、特定のトランスポートプロトコルの中で実施されることも可能である。例えば、TCPの場合、TCPオプションヘッダが、KOPメッセージにフラグを付けるのに使用されることも可能である。例えば、KOP REQメッセージは、TCP SYNメッセージ上に便乗させることが可能である。
− KOP情報は、既存のシグナリングプロトコル、例えば、IKEv2(IETF RFC 4306)の中に含められることが可能である。
【0031】
KOP対応のホストは、KOPメッセージを使用して、別のホストとの接続を確立すること、および終了すること、または別のホストからの接続開始要求を拒否することを目的として、KOPメッセージを作成すること、送信すること、受信すること、解釈すること、またはKOPメッセージに応答することができるホストシステムである。好ましくは、KOP対応のホストは、レガシーホストを相手に相互動作することができる。例えば、KOP対応のホストが、レガシーホストに、接続を確立するKOP REQメッセージを送信すると、応答は、全く行われない。この場合、KOP対応のホストは、数回の再送の後、単に諦めて、そのレガシーホストを相手に従来の仕方で接続を確立しようと試みることが可能である。
【0032】
KOPの目的は、FWやNATなどの中間ボックスを克服することであるので、接続を開始する側のホストは、KOP REQメッセージを送信することと並行して、または従来の接続確立が失敗した後に、接続を確立しようと試みることさえ可能である。KOFを有するFWだけが、KOP REQメッセージを通過させることに留意されたい。受信側のホスト(すなわち、KOP REQメッセージが送信されるホスト)がKOP対応である場合、そのホストは、接続を開始する側のホストとの接続に入ることなしに、KOP NAKメッセージ、またはKOP RSPメッセージでKOP REQメッセージに応答する機会を有する。しかし、受信側のホストが、レガシーホストであり、FWの背後にはない場合、接続は、遅延なしに開始され得る。このことは、従来のコール確立手順が、ホストのいずれかがKOP対応ではない場合に、それでも適切に機能することを意味する。
【0033】
KOP情報が、トラフィック接続のTPC SYNパケットと多重化されたIPオプションヘッダ、IP拡張ヘッダ、またはTCPオプションヘッダの上で伝送される場合、注意が払われなければならない。例えば、中間FW上のKOFフィーチャは、パケットのKOP部分に反応すること、すなわち、パケットを通過させることが可能である一方で、受信側のレガシーホストは、そのメッセージのKOP部分を単に破棄し、TCP SYNACKでTCP SYNパケットに応答する。このことは、FWのセキュリティ機能を基本的に無効にする。
【0034】
KOP ACKメッセージは、KOP対応の受信側のホストが、単に主導権を握り、KOP REQメッセージに応答して接続を開始することが可能であるので、原則として不必要である。この事例に対処するのに、KOP REQメッセージの送信側は、送信側で並行して接続を開始することができる。これにより、受信側のホストによって送信された着信するトラフィックパケットを通過させる5タプルを、送信側自らのファイアウォール上に作成する。
【0035】
図3を参照すると、KOFが、内部のホストHiが、FWの背後の内部のネットワーク14、およびFWの反対側の外部のネットワーク16を介して外部のホストHoに通信するように接続される、それぞれのネットワークアーキテクチャ10aから10cに示される3つの仕方で提供されることが可能である。したがって、KOFは、a)組込み型KOFファイアウォール12として示される第1の仕方、b)に、レガシーファイアウォールであり得るFW20と直列に追加されたKOF18として示される第2の仕方、またはc)に、公共のRS(中継サーバ)22上で提供されるKOFで示される第3の仕方で提供され得る。
【0036】
図4は、第1のネットワークアーキテクチャ10aによる組込み型KOFファイアウォール12の事例に関する接続確立および接続終了の例示的なコールフローを示す。また、これらのコールフローは、KOF18がFW20に直列に追加された第2のネットワークアーキテクチャ10bにも当てはまる。
【0037】
図4を参照すると、外部のホストHoが、内部のホストHiにKOP REQメッセージを送信すること(30)によって、内部のホストHiとの接続を開始しようと試みる。組込み型KOFファイアウォール12が、KOP REQメッセージを受信し、このメッセージをKOPメッセージとして認識して、このメッセージを内部のホストHiに転送する(32)。内部のホストHiは、KOP NAKメッセージを外部のホストHoに送信すること(34)によって、このKOP REQメッセージに応答することが可能である。組込み型KOFファイアウォール12が、このKOP NAKメッセージを受信し、このメッセージをKOPメッセージとして認識して、このメッセージを外部のホストHoに転送する(36)。このKOP NAKメッセージは、内部のホストHiが、要求された接続の確立を拒否したことを示すので、このメッセージを受信すると、外部のホストHoは、要求された接続を確立することをしない。KOP NAKの代わりに、内部のホストHiは、KOP ACKメッセージを外部のホストHoに送信すること(38)が可能であり、そのメッセージは、内部のホストHiが、要求される接続の確立を承認したことを示す。組込み型KOFファイアウォール12が、このKOP ACKメッセージを受信し、このメッセージをKOPメッセージとして認識して、このメッセージを外部のホストHoに転送する(40)。このKOP ACKメッセージを受信すると、外部のホストHoが、要求された接続を確立することを開始する。
【0038】
KOP ACKメッセージまたはKOP NAKメッセージを送信することの代替として、内部のホストHiが、追加の情報を要求するKOP RSPメッセージを外部のホストHoに送信すること(42)が可能である。組込み型KOFファイアウォール12が、このKOP RSPメッセージを外部のホストHoまで通過させる(44)とともに、このKOP RSPメッセージに応答して外部のホストHoが内部のホストHiに送信する(46)第2のKOP REQメッセージを通過させる(48)。第2のKOP REQメッセージを受信すると、内部のホストHiは、前に、第1のKOP REQメッセージが受信された場合と同一のオプションを有する。内部のホストHiが接続を確立しており、この接続を終了することを所望する場合、内部のホストHiは、KOP FINメッセージを外部のホストHoに、このメッセージを外部のホストHoまで通過させる(52)組込み型KOFファイアウォール12を介して送信すること(50)によって、この接続が終了されるべきことを外部のホストHoにシグナリングする。
【0039】
図5を参照すると、組込み型KOFファイアウォール12機能が、インバウンドトラフィックパケットに関係する5タプル60、およびインバウンドKOP REQパケットに関係する2タプル62に関連付けられることが可能である。5タプル60状態は、インバウンドトラフィックパケットが通過させられるべきか、または阻止されるべきかを決定する。2タプル62状態は、インバウンドKOP REQメッセージが通過させられるべきか、または阻止されるべきかを決定する。2タプルとは、{Hi,Ho}IPアドレスペアを指し、ただし、Hiは、内部のホストHiを表し、Hoは、外部のホストHoを表す。外部のホストHoは、外部のホストHo自らのFWの背後に存在することも可能であることに留意されたい。
【0040】
一般に、KOPメッセージは、通過状態にある対応する2タプルエントリが存在する場合に限って、通過させられる。そのようなエントリが存在しない場合、KOFは、そのようなエントリを作成し、そのエントリを通過状態に設定する。KOFは、阻止状態にある対応する2タプルエントリが存在する場合、KOP REQメッセージを通過させない。2タプルのこの2モードの振舞いは、以下の機能をもたらす:通過状態が、KOP REQメッセージの着信レートがクリティカルなレベルを下回っているかどうかを調べ、下回っている場合、KOP REQメッセージは、通過することを許され、下回っていない場合、阻止状態が呼び出されて、さらなるKOP REQメッセージの着信から内部のホストHiを保護する。
【0041】
各5タプルは、通過状態68または阻止状態66にあることが可能であるのに対して、各2タプルは、アイドル状態74、通過状態86、または阻止状態78にあることが可能である。KOFが組み込まれたFWは、5タプル阻止状態66または2タプルアイドル状態78がデフォルトの状態であり、さらにこれらの状態が時間に左右される情報を全く担持しないので、これらの状態に関するキャッシュメモリを、全く保持しない。5タプル通過状態68に関して、KOFが組み込まれたFWは、5タプル、および有効期限をキャッシュする。2タプル通過状態86に関して、KOFが組み込まれたFWは、その2タプル、有効期限タイマ、およびメッセージカウンタをキャッシュする。2タプル阻止状態78に関して、KOFが組み込まれたFWは、その2タプル、および有効期限タイマをキャッシュする。
【0042】
KOFが組み込まれたFW12は、内部のホストHiと外部のホストHoの間の既存の接続、または内部のホストHiによる接続確立の試みに対する5タプル通過状態68エントリを保持する(72)。KOFが組み込まれたFW12は、外部のホストHoが内部のホストHiとの接続を確立しようと試みる際、インバウンドKOP REQメッセージのレートを制御する2タプル通過状態エントリ{Hi,Ho}を保持する(86)。KOFが組み込まれたFW12は、外部のホストHoによるさらなるKOP REQメッセージの試みからそのようなメッセージが内部のホストHiによって所望されない場合に、または外部のホストHoが、外部のホストHoが内部のホストHiに送信したKOP REQメッセージの容認可能なレートを超えた場合に、内部のホストHiを保護する2タプル阻止状態78エントリを保持する。
【0043】
5タプル60に基づく機能は、いくつかの例外を除いて従来のFWによって提供される機能と同様である。第1に、5タプル60に基づく阻止機能は、インバウンドKOP REQメッセージには適用されない。代わりに、インバウンドKOP REQメッセージは、そのメッセージに関連付けられた2タプル62の状態の対象となる。第2に、5タプル60エントリは、アウトバウンドのKOP REQメッセージ、RSPメッセージ、またはFINメッセージが通過した際には、作成されない。
【0044】
従来のFW機能に加えて、5タプル60は、5タプルに対応するアウトバウンド(すなわち、内部のホストHiから送信された)KOP ACKメッセージが、組込み型KOPファイアウォール12を通過させられると、阻止状態66から通過状態68への遷移64を経験する。また、この遷移64は、通常のパケット(すなわち、KOPメッセージを伝送していないパケット)が、組込み型KOPファイアウォール12を通過されられた際にも、生じる。
【0045】
従来のFW機能に加えて、5タプル60は、5タプル60に対応するアウトバウンドKOP FINパケットが、組込み型KOPファイアウォール12を通過させられると、通過状態68から阻止状態66への遷移70をさらに経験する。このフィーチャは、内部のホストHiが、終了した接続に関してFW上の5タプルエントリを閉じることを許し、これにより、さもなければ、「セキュリティホール」(つまり、セキュリティの脆弱性)となる可能性があるエントリが、内部のホストHiによって閉じられることが可能であるので、内部のホストHiに相当なセキュリティをもたらす。
【0046】
組込み型KOPファイアウォール12は、各5タプルの通過状態68に関するタイマを含み、このタイマは、満了すると、通過状態68から阻止状態66への遷移70を生じさせる。さもなければ、5タプル60に対応するインバウンドパケットまたはアウトバウンドパケットが、組込み型KOPファイアウォール12を通過するとともに、5タプル60は、FW状態を通過状態68に保つ(72)。通過状態68におけるタイマに関連する機能、および通過状態68からの遷移70に関連する機能は、従来のファイアウォールの場合と同一である。
【0047】
すべての2タプル62は、内部のホストHiと外部のホストHoの間のKOPメッセージに含まれる{Hi IPアドレス,Ho IPアドレス}−ペアに基づく。KOFが組み込まれたFW12は、3つの状態:アイドル状態74、通過状態76、および阻止状態78のうちの1つに2タプル62を保つ。KOFが組み込まれたFW12は、以下のように動作する。アイドル状態74にあり、対応する内部のホストHiに対するインバウンドKOP REQメッセージが着信すると、2タプル62は、通過状態76に遷移し(80)、KOP REQメッセージに、組込み型KOFファイアウォール12を通過させる。通過状態76は、存続期間属性と、最大カウント属性とを有する。存続期間属性の値によって決まる、通過状態76の存続期間中、最大カウント属性の値と等しい最大限の数のKOP REQメッセージしか、この2タプルに関して転送され得ない。通過状態76の存続期間が、KOP REQメッセージのこの最大限の数に達する前に満了した場合、2タプル62は、アイドル状態74に遷移する(82)。通過状態76の存続期間が満了する前に、KOP REQメッセージの最大限の数に達した場合、2タプル62は、阻止状態78に遷移する(84)。最大限の数に達していない場合、通過状態76にある2タプル86は、2タプルのアウトバウンドKOP REQメッセージ、およびアウトバウンドKOP RSPメッセージが、組込み型KOFファイアウォール12を通過するとともに通過状態をリフレッシュする(86)。遷移86は、通過状態76の通過状態タイマ、および通過状態カウンタをリセットする。阻止状態78において、外部のホストHoから内部のホストHiへのさらなるインバウンドKOPメッセージは、組込み型KOFファイアウォール12によって拒否される。阻止状態78は、阻止状態78独自の存続期間属性を有し、この存続期間属性の値が、阻止状態78の存続期間を決める。阻止状態78の存続期間の満了の後、2タプル62は、アイドル状態74に遷移する(88)。
【0048】
内部のホストHiが、KOP REQメッセージを受信し、さらに内部のホストHiは、要求された接続を確立することに関心がない場合、内部のホストHiは、KOP NAKメッセージで、接続を開始する側の外部のホストHoに応答することが可能である。このKOP NAKメッセージは、KOFが組み込まれたFW12上の2タプル62に、通過状態76から阻止状態78に直接に遷移させ(84)、これにより、組込み型KOFファイアウォール12に、外部のホストHoから内部のホストHiに送信されるさらなるKOP REQメッセージを阻止させる。
【0049】
KOF状態が、通過状態76にあり、さらに対応する内部のホストHiが、対応する外部のホストHoからさらなる情報を要求するアウトバウンドKOP RSPメッセージを送信した場合、KOFが組み込まれたFW12は、2タプル62に関する通過状態タイマおよび通過状態カウンタをリセットする。KOFが組み込まれたFW12は、通過状態タイマおよび通過状態カウンタを使用して、その2タプル62に関して、対応する通過状態存続期間が満了したかどうか、または通過状態76にある間に許されるメッセージの最大限の数に達しているかどうかを判定する。このリセット能力は、外部のホストHoに、必要である可能性がある再送を含むKOP REQメッセージで、KOP RSPメッセージに応答する機会を与える。
【0050】
内部のホストHiによって送信されるKOP RSPメッセージおよびACKメッセージは、外部のホストHoもFWの背後に存在する場合、KOP REQメッセージの役割をすることも可能である。したがって、KOP REQ/RSPメッセージハンドシェークまたはKOP REQ/ACKメッセージハンドシェークが、両方のファイアウォール上のパスを通過できるようにする。そのようなハンドシェークは、両方のホストがファイアウォールの背後にある場合に、セキュリティで保護された仕方で接続確立を可能にする。
【0051】
このセットのフィーチャを用いて、KOFは、組込み型KOFファイアウォール12を介して以下の保護をもたらす:KOFは、或るタイプの制御メッセージを内部のホストHiまで通過させるようにFWを開く一方で、そのようなメッセージのインバウンドパケットフローを、通過状態76存続期間当りの最大カウントに制限する。このレート(通過状態76最大カウントの値、および存続期間属性の値によって決まる)が外部のホストHoによって超えられると、阻止状態78が、何らかの延長された期間にわたって、内部のホストHiをさらなるKOP REQメッセージから保護する。通過状態76存続期間属性の値は、有利には、複数のKOP REQメッセージ再送に対処することができるように数秒に設定される。したがって、阻止状態78は、KOP REQメッセージフラッディング攻撃から、内部のホストHiを保護するために、阻止状態78存続期間属性の値は、通過状態76の存続期間より長い存続期間をもたらさなければならない(例えば、阻止状態78の存続期間は、数分または数時間でさえある)。
【0052】
組込み型KOFファイアウォール12におけるKOFによってもたらされる前述の保護を向上させるのに、KOPメッセージのパケット長が、指定された最大限の長さに制限されることが可能である。合計のメッセージ長を576オクテット未満に保つことが賢明であり、このことは、パケット断片化が適用されないことを意味する。したがって、KOPメッセージを処理する前に、KOFは、そのKOPメッセージを伝送するパケットの長さを評価し、そのパケットの長さが指定された最大限の長さを超える場合、そのパケットを破棄する。
【0053】
KOFによって提供される保護をさらに強化するために、KOPメッセージに関して特定のTLVフォーマットが導入されることも可能である。このフォーマットは、タイプ定義および値の長さが柔軟であるが、組込み型KOFファイアウォール12およびホストが、組込み型KOFファイアウォール12およびホストがタイプ定義を認識しないKOPメッセージを破棄することを可能にすることによって、ホストにさらなる保護をもたらす。
【0054】
KOFは、内部のホストが、内部のホストがKOP REQメッセージを拒否した外部のホストを相手に接続を確立することを禁止しないことに留意されたい。この能力は、KOFが組み込まれたFW12が、対応するホストペアの2タプル62が阻止状態78を保持しているものの、5タプル60を通過状態68に保つことができることを意味する。この振舞いは、組込み型KOFファイアウォール12をレガシーFW機能に適合させるので、重要である。
【0055】
2タプル62の状態は、かなり簡単に実施され得る:アイドル状態74は、時間に左右される情報を全く保持しないので、メモリの割当てを要求しない。したがって、通過状態76にある2タプル、または阻止状態にある2タプルだけが、メモリの中に保持される。この目的で、以下のデータ構造がメモリの中に保持される:
KOF通過状態:
− 2タプル
− 有効期限(通過状態存続期間が満了する時刻)
− カウンタ(最大カウント属性の値までKOPメッセージの数をカウントアップする、または最大カウント属性の値からKOPメッセージの数をカウントダウンする)
KOF通過状態有効期限は、前述した通過状態タイマを実施し、さらにKOF通過状態カウンタは、前述した通過状態カウンタを実施する。
KOF阻止状態:
− 2タプル
− 有効期限(阻止状態存続期間が満了する時刻)
通常の動作の下で、メモリの中に保持されるべきKOF状態の数は、ごくわずかである。しかし、この数は、メッセージフラッディング攻撃中、大幅に増大する可能性がある。そのような状況下で、次のセクションで説明されるプレフィックスベースの保護が有益である。
プレフィックスベースの保護
KOFが組み込まれたFW12は、それぞれの内部のホストHiに着信するKOP REQメッセージのレートを制限するが、内部のホストをKOP REQメッセージのフラッディング攻撃から保護することもしなければならない。このことは、KOF自体の過負荷につながる攻撃を含む。そのような状況下で、KOFは、KOFの機能をむしろ一時的に低下させなければならず、これにより、組込み型KOFファイアウォール12機能を従来のFWの機能に戻す。
【0056】
KOFは、多数のスプーフィングされたIPアドレスを発信元とし、1つの内部のホストHiに向けられたKOF REQメッセージのフラッドに対して脆弱になり得る。これは、KOFが、スプーフィングされたすべてのIPアドレスを発信元とするKOF REQメッセージのもたらされる2タプルごとに1つのエントリ62を保持し、このことが、組込み型KOFファイアウォール12が、メッセージのフラッド全体を通過させることをもたらすためである。
【0057】
原則として、IPアドレススプーフィングは、中間ルータによるイングレスフィルタリングを介して挫かれる。しかし、イングレスフィルタリングは、必ずしも執行されるとは限らない。さらに、攻撃者はそれでも、同一のL2ネットワーク、すなわち、1つのL3サブネットに属するIPアドレスをスプーフィングすることができる可能性がある。
【0058】
KOFは、前段で概説した{Hi IPアドレス,Ho IPアドレス}という原始2タプルを{Hi IPアドレス、Ho IPプレフィックス}というプレフィックスベースの形態に拡張することによって、そのようなフラッディング攻撃に対して防御することができる。このプレフィックスベースの形態において、外部のホストHoのプレフィックスに適合する、内部のホストHiに関するすべての着信するKOP REQメッセージは、同一のKOF状態を使用して同一の2タプル62によって扱われる。
【0059】
2タプル62の、原始形態からプレフィックスベースの形態への拡張は、IPプレフィックスに基づく阻止が、多数の友好的なホストについてもアクセスのしやすさを低減する可能性があるので、徐々に行われる必要がある。様々なアルゴリズムが、この目的で導入され得る。1つの簡単で、非常に効果的な方法は、以下のとおりである:
− それぞれの内部のホストHiに関して、KOFは、通過状態76または阻止状態78にある或る最大限の数Nの2タプルだけを、これら2つの状態がメモリ割当てを要求するので、保持することが可能である。これら2つの状態のいずれかを保つ2タプルは、2タプルエントリと呼ばれる。
− 内部のホストHiに関する2タプルエントリの数がNに達し、さらに内部のホストHiに対する新たなインバウンドKOF REQが着信して、通過状態76にある新たな2タプルエントリの生成をもたらすと、内部のホストの2タプルエントリのうちの2つが組み合わされて、単一の2タプルエントリにされなければならない。組み合わされた2タプルエントリは、前述した2つの2タプルエントリのそれぞれ1つの2タプルにそれぞれが対応する、外部のホストHoのIPアドレスの共通部分を「プレフィックス」として使用する。プレフィックスという用語は、この場合、サブネット割当ての意味で使用されていないことに留意されたい。
− 両方の2タプルエントリが、同一の状態(通過状態76または阻止状態78)を有する場合、この状態は、組み合わされた2タプルエントリに持ち越される。この状態が通過状態76である場合、組み合わされた2タプルエントリのカウンタは、前の2タプルエントリのカウンタのうちの大きい方の値に設定され、さらに組み合わされた有効期限は、前の2タプルエントリの有効期限のうちの小さい方の値に設定される。この状態が阻止状態78である場合、組み合わされた2タプルエントリの有効期限は、前の2タプルエントリの有効期限のうちの大きい方の値に設定される。
− 両方の2タプルエントリが、異なる状態を有する(一方が、通過状態76にあり、他方が、阻止状態78にある)場合、組み合わされた2タプルエントリは、阻止状態78に設定され、有効期限は、リセットされる。
− 組合せ手順のために使用される2タプルエントリの選択は、マージされた2タプルに関する最長のプレフィックスに基づくことが可能である。このプレフィックスが長いほど、外部のホストのIPアドレス間のトポロジ上の距離は小さくなる。この選択プロセスの計算作業は、数Nがかなり小さいように選択され得るので、かなり少ない。
例:N=3:
内部のホストHiは、内部のホストHiに対する新たなKOF REQが着信する際に、N=3個の2タプルエントリを既に有する:
【0060】
【表1】
2タプルエントリ1と3が、最大の共通のプレフィックスを有するため、組み合わされ、このことが、以下をもたらす:
【0061】
【表2】
− 現時点で状態1として示される、組み合わされたKOF状態は、IPアドレスの最下位の2オクテットに関して使用される「X.X」により、いわゆるプレフィックスベースの形態である、200.1.X.Xという外部ホストのHo IPアドレスを有する。「X.X」は、外部のホストのIPアドレスの対応するオクテットに関するすべての値と合致する。さらに、組み合わされたKOF状態の通過状態カウンタ(メッセージカウンタ)は、前のKOF状態1および3の通過状態カウンタの値の大きい方である、3に設定される。新たなKOF状態の通過状態タイマ(有効期限タイマ)は、前のKOF状態1および3の通過状態タイマの短い方である、「現在+3120ミリ秒」に設定される。
【0062】
KOFは、2タプルエントリ組合せの履歴についての情報を全く保持する必要はない。状態遷移は、従来のIPアドレスベースの状態と同様にプレフィックスベースの状態に当てはまる。アイドル状態74に達すると、アイドル状態74において全くメモリが保持されないので、状態バンドル情報が、失われる。この機構は、状態バンドルをスムーズに逆転させ、さらにKOFがその通常の動作モードを緩和することを許す。
【0063】
前述の組合せプロセスは、内部のホストHiに関する2タプルエントリの最大限の数Nに基づく。この数は、動的に調整され得る。あるいは、Nに関する固定値が、それぞれの内部のホストHiに割り当てられる、または代替として、2タプルエントリの1つの共通のプールが、すべての内部のホストHiのために割り当てられることが可能である。このプールが一杯であり、新たな2タプルエントリが追加されることになる場合、最大の数の2タプルを有する内部のホストHiが選択され得る。このプールが、内部のホストHiの数より小さい場合、プールが一杯である一方で、すべての内部のホストHiが、複数の2タプルエントリを保持することはないことが生じ得る。これが該当する場合、同一の組合せ手順が、Hi−IPアドレスに関して適用されることが可能である。この場合、2タプルエントリは、内部のホストHiのためにプレフィックスを保持することも可能である。
【0064】
プレフィックスベースの保護の場合、送信元IPアドレスのプールを使用する、内部のホストHiに対するKOF REQメッセージのフラッディング攻撃は、攻撃者のサブネットに属する外部のホストHoのIPアドレスプレフィックスを有する、阻止状態78にある1つの2タプルエントリをもたらす。攻撃者からの、その内部のホストHiに対するすべてのさらなるKOP REQメッセージは、組込み型KOPファイアウォール12によって阻止される。同時に、組込み型KOPファイアウォール12は、その内部のホストHiを相手に接続を確立しようと試みる別のサブネットからの外部のホストに関して、通常どおりに動作する。
【0065】
そのようなフラッディング攻撃は、中間ルータのイングレスフィルタリングが、不可解な出所のパケットを破棄するので、1つのサブネットに属するIPアドレスに通常、限定されることに留意されたい。攻撃者がインターネット全体からIPアドレスをスプーフィングするという起こりそうにないことが生じた場合でさえ、プレフィックスベースの保護は、すべての着信するKOF REQメッセージを阻止することになる。この限度内で、組込み型KOFファイアウォール12は、従来のFWと同一の保護をもたらす。
【0066】
KOP REQメッセージフラッディング攻撃から内部のホストHiを保護することに加えて、プレフィックスベースの保護は、有利には、2タプルエントリのために必要とされるメモリの量を制限する。さらに有利には、プレフィックスベースの保護は、それぞれのホストに関して少数のKOF状態しか保持されないので、内部のホストHiに対して新たなKOP REQメッセージが着信した場合の計算作業を少なくする。
レガシーファイアウォールと直列のノックオンフィーチャ
図3を再び参照し、特に、第2のネットワークアーキテクチャ10bを参照すると、KOF18が、ファイアウォール20と直列に別個の機能として追加されることも可能である。このことは、UDPベースのKOPメッセージが使用される場合、実現するのが特に容易である。この場合、ファイアウォール上で対応するUDPポートが、開かれる。
【0067】
図6は、KOF18がファイアウォール20と直列である第2のネットワークアーキテクチャ10bのKOF18およびファイアウォール20の5タプル状態および2タプル状態、ならびに状態遷移を示す。ファイアウォール20は、この場合、従来のファイアウォール機能をもたらす5タプル100をサポートするレガシーファイアウォールである。KOF18は、組込み型KOFファイアウォール12に関して前述した2タプル62と同一の仕方で動作する2タプル102と、5タプル104とをサポートする。
【0068】
5タプル100は、内部のホストHiと外部のホストHoの間の接続に関連する、対応する5タプルに関する状態を保持する。FW20が、特定の5タプルが通過状態106に、もしくは阻止状態108に留まるべきか、または通過状態106から阻止状態108への遷移、もしくは阻止状態108から通過状態106への遷移を行うべきかを制御する。通過状態106にある間、通過タイマが更新され、通過タイマが満了すると、5タプル100状態は、通過状態106から阻止状態108に遷移する(110)。満了していない場合、FW状態は、対応する5タプルのインバウンドパケットまたはアウトバウンドパケットがファイアウォール20を通過させられる限り、通過状態に留まる(112)。通過状態106に留まっている際、通過状態106に関連付けられたタイマがリセットされる。阻止状態108にある間、FW状態は、対応する5タプルのアウトバウンドパケットがファイアウォール20によって通過させられると、阻止状態108から通過状態106に遷移する(114)。
【0069】
KOF18は、内部のホストHiと外部のホストHoの間のインバウンドKOP REQメッセージに関連する2タプルを保持する。ファイアウォール20は、KOPメッセージを橋渡しするので、KOF18は、KOFが組み込まれたFW12が2タプル62を操作したのと同一の仕方で、第2のネットワークアーキテクチャ10bにおいて2タプル102を操作することが可能である。この実施形態の以上の説明を簡単にするため、2タプル102のKOF18処理は、KOFが組み込まれたFW12における2タプル62と同一の仕方で実施されるものと理解される。
【0070】
第1のネットワークアーキテクチャ10aの組込み型のアプローチとは異なり、第2のネットワークアーキテクチャ10bのKOF18は、5タプル100を処理するFW20と直列で5タプル104を処理する。KOF18によって保持される5タプルは、内部のホストHiと外部のホストHoの間の任意の実際の、または潜在的な接続に対応する。KOF18は、5タプル104が通過状態116に、もしくは阻止状態118に留まるべきか、または通過状態116から阻止状態118への遷移、もしくは阻止状態118から通過状態116への遷移を行うべきかを制御する。KOF18は、KOP FINメッセージをサポートし、すなわち、内部のホストHiからのアウトバウンドKOP FINメッセージに基づいて、内部のホストHiに対する5タプルの着信するトラフィックパケットを阻止する。したがって、KOFの5タプル状態104が、通過状態116にあり、さらに5タプル104に対応するKOP FINメッセージが、アウトバウンド方向でKOF18を通過させられると、通過状態116にある5タプル104は、阻止状態118に遷移する(120)。そうではなく、KOFの5タプル状態104が、KOP FINメッセージがKOF18を通過させられる際に既に阻止状態118にある場合、KOFの5タプル状態104は、阻止状態118に留まり(122)、さらに5タプル阻止タイマをリセットする。阻止状態タイマが満了した場合、または5タプルに対応するアウトバウンドパケットが、内部のホストHiからKOF18を通過させられた場合、5タプル104は、阻止状態118から通過状態116に遷移する(124)。阻止状態タイマは、5タプル100の通過状態タイマが満了するのにかかる時間と等しい時間の後に満了する。
【0071】
5タプル100は、5タプル100に関して通過状態106だけを実施することによって実現され得る一方で、KOFの5タプル104は、KOFの5タプル104に関して阻止状態118だけを実施することによって実現され得る。したがって、KOFの5タプル104に関するメモリ要件は、ほぼ、FWの5タプル100のメモリ要件以下である。つまり、FWの5タプル100に関して、通過状態106にあるFW状態は、それらの状態に対応する接続の存続期間に通過状態106の存続期間を足した期間にわたってメモリを占有する。一方、KOFの5タプル104の場合、阻止状態118にあるKOFの5タプル状態は、それぞれの阻止状態タイマによって決定される阻止状態118の存続期間にわたってのみ、メモリを占有し、前述したとおり、阻止状態タイマは、FWの5タプル100通過状態106の通過タイマが満了するのにかかる時間と等しい時間の後、満了する。
【0072】
第2のネットワークアーキテクチャ10bの5タプル100動作とKOFの5タプル104動作の組合せは、組込み型KOFファイアウォール12における5タプル60動作と同一の機能を実現する。しかし、第2のネットワークアーキテクチャ10bの直列ソリューションは、KOF ACKメッセージをサポートしない。有利には、KOF ACKメッセージの効果は、通常のトラフィックパケットによって実現されることが可能である。
【0073】
図7、ならびにレガシーFW20をサポートする中継サーバ(RS)22上でKOFが提供される、対応する第3のネットワークアーキテクチャ10cを参照する。RS22は、公共のインターネットにある、または公共のインターネットから少なくともアドレス指定可能であるものと仮定される。さらに、内部のホストHiは、RS22に対するシグナリング接続を有する。本明細書では、内部のホストHiは、例えば、DNS(ドメインネームサーバ)を使用して、RS22と連絡をとることができる、RS22のIPアドレス、プロトコルタイプ、およびポートを公開するものと仮定する。
【0074】
組込み型KOFファイアウォール12のセキュリティと同等のレベルのセキュリティをもたらすのに、第3のネットワークアーキテクチャ10cにおいて、内部のホストHiとRS22の間のシグナリング接続上のトラフィックが、完全性保護される。シグナリングトラフィックが公共のインターネットを通過し、したがって、完全性攻撃に脆弱であるので、このことが行われる。
【0075】
外部のHoが、RS22にKOP REQメッセージを送信する際、外部のホストHoは、そのKOP REQメッセージのペイロードの中で内部のホストHiを明示的に参照する必要がある。このことは、組込み型KOFファイアウォール12が、KOP REQメッセージのIPヘッダから内部のホストHiを推測することができる第1のネットワークアーキテクチャ10aとは異なる。同様に、外部のホストHoは、プロトコルタイプおよびポート番号についての情報をKOP REQメッセージのペイロードの中に追加することが可能である。
【0076】
しかし、このアプローチは、脆弱性を増大させる。つまり、内部のホストHiのIPアドレスが、ルーティング目的で使用されず、KOP REQメッセージのペイロードの中で伝送されるだけであるので、このIPアドレスは、任意の攻撃者によって変更され得る。この脆弱性を克服するのに、外部のホストHoは、RS22に送信されるKOP REQメッセージの完全性を保護しなければならない。
【0077】
KOP REQメッセージのこの完全性保護は、公開鍵/秘密鍵ペアまたは共有鍵を介して実現され得る。例えば、DH(ディフィ−ヘルマン)交換を使用するセキュリティ関連付けで十分であるはずである。DH交換に基づくそのような共有鍵を破るのに、各終端との別々の接続を維持するMitM(中間者)システムが要求されることになる。この手順において、MitMシステムは、中間ルータによるイングレスフィルタリングの犠牲にならずに、それぞれのエンドポイントのIPアドレスをスプーフィングすることができる必要があることになる。そのようなMitMシステムが存在する場合、そのシステムは、FW20を直接に、すなわち、FW20上の既存の5タプルエントリに対するIPアドレスをスプーフィングすることによって、克服することもできることになる。したがって、RS22と外部もしくは内部のホストHo/Hiの間のKOPメッセージ交換に関してDHベースの鍵を使用することで、そうすることが、レガシーFW20と少なくとも同一のレベルの保護をもたらすので、これらの交換の完全性保護に十分であるはずである。
【0078】
図7を参照し、図3パートcも参照すると、RS22と外部のホストおよび内部のホストHo/Hiの間の例示的なメッセージコールフロー200が、以下のとおり生じる:
− 内部のホストHiとRS22が、DH交換を使用してセキュリティで保護されたシグナリング接続を確立する(202)。これにより、FW20上に第1の5タプルエントリを作成し、このエントリは、内部のホストHiおよびRS22に対応する。
− 外部のホストHoが、DH交換を使用してRS22を相手にセキュリティで保護された接続を確立する(204)。
− 外部のホストHoが、KOP REQメッセージをRS22に、このメッセージをまず完全性保護した後、送信する(206)。KOP REQメッセージのペイロードは、事前定義されたパラメータタイプを使用して内部のホストのHiデータを含む。このデータは、提案される接続のために使用されるべき内部のホストHiのIPアドレス、プロトコルタイプ、およびポート番号を含む。
− RS22上に存在するKOFが、KOP REQメッセージを評価する。その目的で、KOFは、第1のネットワークアーキテクチャ10a、および第2のネットワークアーキテクチャ10bに関連して前述したのと同一の2タプル62動作を使用する。
− 内部のホストHiのIPアドレス、および外部のホストHoのIPアドレスに対応する2タプルに関するKOF状態が、阻止状態78にはない場合、RS22は、KOP REQメッセージを、シグナリングリンクを介して内部のホストHiにトンネリングする(208)。RS22は、前述したとおり、KOP REQメッセージに関する完全性保護を提供する。KOP REQメッセージは、外部のホストHoのIPアドレスを含む。
− FW20上の第1の5タプルエントリの作成に関連して前述したとおり、メッセージが伝送されるシグナリングリンクが既に確立されているので、FW20はKOP REQメッセージを通過させる(210)。
− 内部のホストHiが、KOP REQメッセージの中の情報を使用して、外部のホストHoと直接に連絡をとる。この連絡は、内部のホスト、および外部のホストHoに対応する第2の5タプルエントリをFW20上に作成し、このエントリは、外部のホストHoが、内部のホストHiからの通信に直接に応答することを許す。
− 内部のホストHiが、外部のホストHoにKOP NAKメッセージを送信すること(212)を所望する場合、内部のホストHoは、RS22に対するシグナリング接続を使用し、外部のホストHoのIPアドレスを含め、さらにメッセージを完全性保護する。FW20が、完全性保護されたKOP NAKメッセージをRS22に転送する(214)。RS22が、このメッセージを検証し、このメッセージの2タプル62は阻止状態78に遷移し、さらにKOP NAKメッセージを外部のホストHoに転送する(216)。
− 内部のホストHiは、KOP REQメッセージに応答して外部のホストHoにKOP ACKメッセージを送信する(218)オプションも有する。FW20が、KOP REQメッセージをRS22に転送する(220)。RS22上に組み込まれたKOFが、内部のホストHiおよび外部のホストHoの5タプルに対応するFW状態を保つ、前述したFWの5タプル60と同一である5タプルに関するエントリを保持する。5タプルのFW状態は、RS22が、KOP ACKメッセージを外部のホストHoまで通過させる(222)と、通過状態68に設定される。5タプルのFW状態が通過状態68にある間、RS22は、外部のホストHoから内部のホストHiに、さらに内部のホストHiから外部のホストHoに任意の情報を中継する。
− 内部のホストHiは、KOP REQメッセージに応答して外部のホストHoにKOP RSPメッセージを送信するオプションも有する。このメッセージは、KOP ACKメッセージに関して説明したのと同一の仕方で外部のHoに通信される。外部のホストHoは、KOP RSPメッセージによって要求される情報を含む、別のKOP REQメッセージでKOP RSPメッセージに応答する。第2のKOP REQメッセージは、第1のKOP REQメッセージに関して説明したのと同一の仕方で内部のホストHiに通信される。説明されるこれらの複数のKOP RSP/KOP REQメッセージ交換224が、許される。
− 内部のホストHiが、外部のホストHoにKOF FINメッセージを送信して(226)、KOP ACKメッセージを介して開始された中継接続を終了させる。KOF FINメッセージは、KOP ACKメッセージに関して説明したのと同一の仕方で外部のホストに中継される。KOF FINメッセージおよびKOF ACKメッセージは、RS22がすべてのトラフィックデータを中継する事例において使用されることに留意されたい。
【0079】
図8は、図3パートaに示される実施形態による組込み型KOFファイアウォール12によって実行されるインバウンドパケットを扱う方法400を示す流れ図である。これらの流れ図は、タイマ満了による図5に示される状態遷移を含まない。
【0080】
図8を参照すると、方法400が、インバウンドパケットが組込み型KOFファイアウォール12に着信するのを待つ(402)。インバウンドパケットが着信すると、この方法は、そのパケットがKOP REQメッセージであるかどうかを判定する(404)。そのパケットがKOP REQメッセージではない場合、この方法は、そのパケットが、組込み型KOFファイアウォール12上に既に格納されている5タプルエントリと合致するかどうかを判定する(410)。合致する5タプルエントリが存在する場合、この方法は、その5タプルエントリに対応するタイマをリフレッシュし(406)、そのパケットを内部のホストHiまで通過させる(408)。その後、この方法は、別のインバウンドパケットを待つことに戻る。そうではなく、この方法が、組込み型KOFファイアウォール12上に合致する5タプルエントリが存在しないと判定した(410)場合、そのパケットは阻止され(412)、この方法は、インバウンドパケットを待つことに戻る。
【0081】
方法400が、そのパケットがKOP REQメッセージであると判定した場合(404)、次に、方法400は、組込み型KOFファイアウォール12上にそのパケットと合致する2タプルエントリが存在するかどうかを判定する(414)。そのような合致する2タプルエントリが存在しない場合、この方法は、そのパケットに関する2タプルエントリを作成し(416)、さらにそのエントリを通過状態にする。次に、この方法は、そのパケットを内部のホストHiまで通過させ(418)、別のインバウンドパケットを待つことに戻る。この方法が、合致する2タプルエントリが存在すると判定した(414)場合、この方法は、そのエントリが阻止状態にあるかどうかを判定する(420)。そのエントリが阻止状態にある場合、この方法は、そのパケットを阻止し(422)、別のインバウンドパケットを待つことに戻る。しかし、この方法が、その2タプルエントリが阻止状態にはないと判定した(420)場合、この方法は、そのエントリに対応する2タプルカウンタをインクリメントし、その後、カウンタがオーバーロードしたかどうかを判定する(428)。カウンタがオーバーロードした場合、この方法は、その2タプルエントリを阻止状態に設定し(426)、そのエントリに関するタイマをリセットする。次に、この方法は、そのパケットを阻止し(422)、別のインバウンドパケットを待つことに戻る。しかし、カウンタがオーバーロードしていない場合、この方法は、そのパケットを内部のホストHiまで通過させ(430)、その後、別のインバウンドパケットを待つことに戻る。
【0082】
図9は、図3パートaに示される実施形態による組込み型KOFファイアウォール12によって実行されるアウトバウンドパケットを扱う方法500を示す流れ図である。これらの流れ図は、タイマ満了による図5に示される状態遷移を含まない。
【0083】
図9を参照すると、方法500が、アウトバウンドパケットが組込み型KOFファイアウォール12に着信するのを待つ(502)。アウトバウンドパケットを受信すると、方法は、そのパケットがKOPメッセージであるかどうかを判定する(504)。そのパケットがKOPメッセージではない場合、次に、この方法は、組込み型KOFファイアウォール12上にそのパケットと合致する5タプルエントリが存在するかどうかを判定する(506)。そのような合致する5タプルエントリが存在する場合、この方法は、そのエントリに対応するタイマをリセットし(508)、さらにそのパケットを外部のホストHoに向けて通過させる(510)。その後、この方法は、別のアウトバウンドパケットを待つことに戻る。そのような合致する5タプルエントリが存在しない場合、この方法は、そのパケットに対応する5タプルエントリを作成し(512)、さらにそのパケットを外部のホストHoに向けて通過させる(510)。その後、この方法は、別のアウトバウンドパケットを待つことに戻る。
【0084】
この方法が、そのパケットがKOPメッセージであると判定した(504)場合、次に、この方法は、そのパケットがKOP ACKメッセージであるかどうかを判定する(514)。KOP ACKメッセージである場合、この方法は、組込み型KOFファイアウォール12上に合致する5タプルエントリが存在するかどうかを判定する(516)。そのような合致する5タプルエントリが存在する場合、この方法は、そのパケットを外部のホストHoに向けて通過させ(520)、別のアウトバウンドパケットを待つことに戻る。そうではなく、そのような合致する5タプルエントリが存在しない場合、方法は、そのパケットに対応する5タプルエントリを作成し(518)、その後、そのパケットを外部のホストHoに向けて通過させる。その後、この方法は、別のアウトバウンドパケットを待つことに戻る。
【0085】
この方法が、そのパケットがKOP ACKメッセージではないと判定した(514)場合、次に、この方法は、そのパケットがKOP FINメッセージであるかどうかを判定する(522)。KOP FINメッセージである場合、この方法は、組込み型KOFファイアウォール12上に合致する5タプルエントリが存在するかどうかを判定する(524)。そのような合致するエントリが存在しない場合、この方法は、そのパケットを外部のホストHoに向けて通過させ(520)、別のアウトバウンドパケットを待つことに戻る。そうではなく、合致する5タプルエントリが存在する場合、この方法は、その5タプルエントリを削除し(526)、次に、そのパケットを外部のホストHoに向けて通過させる(520)。その後、この方法は、別のアウトバウンドパケットを待つことに戻る。
【0086】
この方法が、そのパケットがKOP FINメッセージでないと判定した(522)場合、次に、この方法は、そのパケットがKOP RSPメッセージであるかどうかを判定する(528)。KOP RSPメッセージである場合、この方法は、組込み型KOFファイアウォール12上にそのパケットに合致する2タプルエントリが存在するかどうかを判定する(530)。そのような合致する2タプルエントリが存在しない場合、この方法は、そのパケットを外部のホストHoに向けて通過させ(520)、別のアウトバウンドパケットを待つことに戻る。そうではなく、合致する2タプルエントリが存在する場合、この方法は、そのエントリが通過状態にあるかどうかを判定する(532)。通過状態にある場合、この方法は、その2タプルエントリに対応するタイマおよびカウンタをリセットし(534)、次に、そのパケットを外部のホストHoに向けて通過させる(520)。その後、この方法は、別のアウトバウンドパケットを待つことに戻る。そうではなく、この方法が、その2タプルエントリが通過状態にはないと判定した(532)場合、この方法は、そのパケットを外部のホストHoに向けて通過させ(520)、その後、別のアウトバウンドパケットを待つことに戻る。
【0087】
この方法が、そのパケットがKOP RSPではないと判定した(528)場合、次に、この方法は、そのパケットがKOP NAKメッセージであるかどうかを判定する(536)。KOP NAKメッセージである場合、この方法は、組込み型KOFファイアウォール12上にそのパケットと合致する2タプルエントリが存在するかどうかを判定する(538)。そのような合致する2タプルエントリが存在しない場合、この方法は、組込み型KOFファイアウォール12上で、そのパケットに対応する2タプルエントリを作成し(540)、さらにそのエントリを阻止状態に設定する。次に、この方法は、そのパケットを外部のホストHoに向けて通過させ(520)、別のアウトバウンドパケットを待つことに戻る。そうではなく、合致する2タプルエントリが存在する場合、この方法は、そのエントリを阻止状態に設定し(542)、さらにそのエントリに対応するタイマをリセットする。次に、この方法は、そのパケットを外部のホストHoに向けて通過させ(520)、別のアウトバウンドパケットを待つことに戻る。
【0088】
この方法が、そのパケットがKOP NAKメッセージではないと判定した(536)場合、この方法は、そのパケットを外部のホストHoに向けて通過させ(520)、別のアウトバウンドパケットを待つことに戻る。
【0089】
図10は、図3パートbに示される実施形態によるファイアウォール20と直列のKOF18によって実行されるインバウンドパケットを扱う方法600を示す流れ図である。これらの流れ図は、タイマ満了による図6に示される状態遷移を含まない。
【0090】
図10を参照すると、方法600が、インバウンドパケットがKOF18に着信するのを待つ(602)。インバウンドパケットが着信すると、この方法は、そのパケットがKOP REQメッセージであるかどうかを判定する(604)。そのパケットがKOP REQメッセージではない場合、この方法は、そのパケットをFW20まで通過させ(606)、別のインバウンドパケットを待つことに戻る。そのパケットがKOP REQメッセージである場合、この方法は、そのパケットがKOF18上に既に格納されている2タプルエントリと合致するかどうかを判定する(608)。そのような合致する2タプルエントリが存在しない場合、次に、この方法は、そのパケットに対応する2タプルエントリを作成し(610)、さらにそのエントリを通過状態に設定する。次に、この方法は、そのパケットをFW20まで通過させ(612)、別のインバウンドパケットを待つことに戻る。この方法が、合致する2タプルエントリが存在すると判定した(608)場合、次に、この方法は、そのエントリが阻止状態にあるかどうかを判定する(614)。阻止状態にある場合、この方法は、そのパケットを阻止し(616)、別のインバウンドパケットを待つことに戻る。
【0091】
この方法が、2タプルエントリが阻止状態にはないと判定した(614)場合、この方法は、通過状態にある、そのエントリに対応する2タプルカウンタをインクリメントし、次に、そのカウンタがオーバーロードしたかどうかを判定する(622)。そのカウンタがオーバーロードしている場合、この方法は、2タプルエントリを阻止状態に設定し(620)、さらにそのエントリに関するタイマをリセットする。次に、この方法は、そのパケットを阻止し(616)、別のインバウンドパケットを待つことに戻る。しかし、そのカウンタがオーバーロードしていない場合、この方法は、そのパケットをFW20まで通過させ(624)、その後、別のインバウンドパケットを待つことに戻る。
【0092】
図11は、図3パートbに示される実施形態によるファイアウォール20と直列のKOF18によって実行されるインバウンドパケットを扱う方法700を示す流れ図である。これらの流れ図は、タイマ満了による図6に示される状態遷移を含まない。
【0093】
図11を参照すると、方法700が、アウトバウンドパケットがKOF18に着信するのを待つ(702)。アウトバウンドパケットを受信すると、この方法は、そのパケットがKOPメッセージであるかどうかを判定する(704)。そのパケットがKOPメッセージではない場合、次に、この方法は、KOF18上にそのパケットと合致する5タプルエントリが存在するかどうかを判定する(706)。そのような合致する5タプルエントリが存在しない場合、この方法は、そのパケットを外部のホストHoに向けて通過させる(708)。その後、この方法は、別のアウトバウンドパケットを待つことに戻る。そのような合致する5タプルエントリが存在する場合、この方法は、阻止状態にある、その5タプルエントリを削除し(710)、さらにそのパケットを外部のホストHoに向けて通過させる(708)。その後、この方法は、別のアウトバウンドパケットを待つことに戻る。
【0094】
この方法が、そのパケットがKOPメッセージであることを判定した(704)場合、次に、この方法は、そのパケットがKOP FINメッセージであるかどうかを判定する(712)。KOP FINメッセージである場合、この方法は、KOF18上に合致する5タプルエントリが存在するかどうかを判定する(714)。そのような合致する5タプルエントリが存在しない場合、この方法は、そのパケットを外部のホストHoに向けて通過させ(708)、別のアウトバウンドパケットを待つことに戻る。そうではなく、合致する5タプルエントリが存在する場合、この方法は、そのパケットに対応する5タプルエントリを作成し(716)、さらにそのエントリを阻止状態に設定する。次に、この方法は、そのパケットを外部のホストHoに向けて通過させる(708)。その後、この方法は、別のアウトバウンドパケットを待つことに戻る。
【0095】
この方法が、そのパケットがKOP FINメッセージではないと判定した(712)場合、次に、この方法は、そのパケットがKOP RSPメッセージであるかどうか判定する(718)。KOP RSPメッセージである場合、この方法は、KOF18上に合致する2タプルエントリが存在するかどうかを判定する(720)。そのような合致する2タプルエントリが存在しない場合、この方法は、そのパケットを外部のホストHoに向けて通過させ(708)、別のアウトバウンドパケットを待つことに戻る。そうではなく、合致する2タプルエントリが存在する場合、この方法は、そのエントリが通過状態にあるかどうかを判定する(722)。通過状態にある場合、この方法は、そのエントリに対応するタイマおよびカウンタをリセットし(724)、次に、そのパケットを外部のホストHoに向けて通過させる(708)。その後、この方法は、別のアウトバウンドパケットを待つことに戻る。そうではなく、合致する2タプルエントリが通過状態にはない場合、この方法は、そのパケットを外部のホストHoに向けて通過させ(708)、別のアウトバウンドパケットを待つことに戻る。
【0096】
この方法が、そのパケットがKOP RSPメッセージではないと判定した(718)場合、次に、この方法は、そのパケットがKOP NAKメッセージであるかどうかを判定する(726)。KOP NAKメッセージである場合、この方法は、KOF18上にそのパケットに合致する2タプルエントリが存在するかどうかを判定する(728)。そのような合致する2タプルエントリが存在しない場合、この方法は、そのパケットに対応する2タプルエントリをKOF12上に作成し(730)、さらにそのエントリを阻止状態に設定する。次に、この方法は、そのパケットを外部のホストHoに向けて通過させ(708)、別のアウトバウンドパケットを待つことに戻る。そうではなく、合致する2タプルエントリが存在する場合、この方法は、そのエントリを阻止状態に設定し(732)、さらにそのエントリに対応するタイマをリセットする。次に、この方法は、そのパケットを外部のホストHoに向けて通過させ(708)、別のアウトバウンドパケットを待つことに戻る。
【0097】
この方法が、そのパケットがKOP NAKメッセージではないと判定した(726)場合、この方法は、そのパケットを外部のホストHoに向けて通過させ(708)、別のアウトバウンドパケットを待つことに戻る。
ネットワークアドレストランスレータへの適用
ほとんどのNATは、ネットワークアドレス変換またはネットワークアドレス/ポート変換をファイアウォール機能と組み合わせる。これらの場合、前述したのと同一のKOF方法が、適用され得る。しかし、NATにより、内部のホストHiの内部アドレスおよび内部ポート番号は、NATによって変換された内部のホストHiの公開のアドレス、および公開のポート番号とは異なる。したがって、外部のホストHoは、内部のホストHiとどのように連絡をとるべきかを知らない可能性がある。さらに、内部のホストHiは、内部のホストHiの公開のIPアドレスを知らない可能性がある。この状況は、KOPメッセージに影響するとともに、トランスポート接続の確立にも影響する。
【0098】
KOPメッセージが、従来のトランスポートタイプ(UDPまたはTCP)によってサポートされる場合、ホストは、IETF(RFC 5389)によって提案されるNATに関する接続通過ユーティリティ(STUN)を使用して、ホストのKOP公開IPアドレスおよびKOP公開ポート番号を見出すことが可能である。内部のホストHiは、これらのデータをDNSにおいて公開して、これらのデータが公共で利用可能であるようにすることが可能である。
【0099】
また、内部のホストHiは、STUN法を使用して、内部のホストHiがセットアップすることを所望するトランスポート接続に関する公開のIPアドレス、および公開のポート番号を見出すことも可能である。次に、STUN法の結果が、接続セットアップ時にKOP REQメッセージの中で遠隔のホストに転送されることが可能である。遠隔のホストもまた、NATの背後に存在する場合、遠隔のホストは、同一のSTUN法を使用し、遠隔のホスト自らの公開のIPアドレス、および公開のポート番号をKOP ACKメッセージまたはKOP RSPメッセージの中で戻す。次に、内部のホストと外部のホストの両方が、トランスポートパケットを互いに転送することができ、このアクションは、それぞれNAT上で5タプルエントリを作成する。「ホールパンチング」としばしば呼ばれるこの技術は、両方のホストの間でトランスポート接続が確立されることを可能にする。
【0100】
同一の主要な方法が、KOPメッセージが、例えば、IP拡張ヘッダ(IPv6)またはIPオプションヘッダ(IPv4)を介して、トランスポート接続上に多重化される際に、またはKOPメッセージがトランスポート層に埋め込まれる場合に、適用される。この方法は、ホストのDNSサーバにおいて公開され得るKOPアドレスおよびポート番号が唯一ではないという欠点を有する。この場合、RSが使用され得る。RSは、両方のホストに関してSTUNサービスを実行し(両方のホストがNATの背後にある場合)、さらにそれらをKOPメッセージ交換に含める。
【0101】
最後に、一方または両方のNATが対称型NATである場合、RSの機能が、KOPメッセージ交換からトランスポートデータのトンネリングに拡張されることが可能である。
【0102】
特許請求の範囲で規定される、本発明の範囲を逸脱することなく、前述した本発明の実施形態に多数の変形、変更、および適合が行われることが可能である。
【技術分野】
【0001】
本発明は、パケットデータネットワークを対象とし、詳細には、いずれかがファイアウォールを介してパケットデータネットワークに接続された2つのホストシステム間でセキュリティで保護された接続を開始することを対象とする。以降、パケットデータネットワークに対するホストシステムのそのような接続を、ファイアウォールの背後にあるホストシステムと称する。
【背景技術】
【0002】
FW(ファイアウォール)およびNAT(ネットワークアドレストランスレータ)は、以下のセキュリティフィーチャを適用する:FWが、インバウンドパケットを、それらのパケットが、FWを以前に通過したアウトバウンドパケットに応答して着信した場合に限って、受け付ける。FWは、インバウンドパケットが、{プロトコルタイプ、送信元IPアドレス、送信元ポート、宛先IPアドレス、宛先ポート}という5タプルに関して、以前のアウトバウンドパケットと合致することを要求する。
【0003】
このFWセキュリティフィーチャは、さらなるフィルタリングフィーチャが適用されない限り、内部のホスト(すなわち、ファイアウォールの背後のホストシステム)が、任意の外部のホスト(すなわち、同一のファイアウォールの背後にはないホストシステム)に対して接続を開くことを許す。しかし、外部のホストは、内部のホストに対する接続を要請することができない。
【0004】
残念ながら、このFWセキュリティフィーチャは、外部のホストによって開始される接続確立を、その確立が内部のホストに望ましい場合でさえ、禁止するという副作用を有する。2つのホストが異なるFWの背後にあり、接続を確立することを所望する場合、完全なデッドロックがもたらされる。その場合、その2つのホストは、互いに直接に通信することができない。
【0005】
また、FWセキュリティフィーチャは、本明細書で単にNATと呼ばれる、ほとんどのネットワークアドレストランスレータまたはネットワークアドレス&ポートトランスレータに組み込まれる。したがって、以降、FWについて述べることのすべてが、NATにも一般に該当する。
【0006】
さらに、FWセキュリティフィーチャは、モバイルIPv6(IETF RFC 3775)のようなホストベースの移動性をサポートする技術に関する問題をもたらしもする。これらの技術は、ホストが、進行中のトランスポート接続を途絶えさせることなしに、移動すること、およびそのホストのIPアドレスを変更することを許す。移動するホストは、バインディング更新を使用して、そのホストの新たなIPアドレスについて、そのホストの対応ノード(CN)を更新しなければならない。しかし、バインディング更新は、新たなIPアドレスから着信するので、セキュリティフィーチャは、FWにそのバインディング更新を阻止させる。
【0007】
FWセキュリティフィーチャによってもたらされる、この望ましくない副作用を克服する2つの主要なソリューションが存在する:1)FWが、外部のホストが内部のホストと連絡をとるポートを開き、さらに2)内部のホストが、任意の外部のホストによって連絡がとられることが可能な外部の中継サーバ(RS)に対してシグナリング接続を維持する。第2のソリューションは、例えば、TURN方法(draft−ietf−behave−turn−04.txt)によって提案される。TURN方法はさらに、IETFによって提案される対話型接続確立(ICE)アプローチ(draft−ietf−mmusic−ice−tcp−07)の全体を成す。
【0008】
両方のソリューションとも、内部ホストが、FW上、またはRS上の開かれたポートを介して実行される攻撃の犠牲となり得るので、FWのセキュリティを危険にさらす。第2のソリューションのいくつかの変種は、内部ホストとRSの間のリンク上でさらなるセキュリティをもたらす。しかし、これらの変種は、内部のホストに生じる主な脆弱性に全く影響を与えない。この脆弱性のため、TURNおよびICEは、市場にあまり受け入れられていないように見受けられる。FW管理者は、同じ理由でそのようなサービス、および他のRSベースの方法を嫌う傾向にある。
【先行技術文献】
【非特許文献】
【0009】
【非特許文献1】IETF RFC 3775
【非特許文献2】draft−ietf−behave−turn−04.txt
【非特許文献3】draft−ietf−mmusic−ice−tcp−07
【非特許文献4】IETF RFC 4306
【非特許文献5】IETF RFC 5389
【発明の概要】
【発明が解決しようとする課題】
【0010】
以上のことに鑑みて、FWの有益なセキュリティ機能を保持し、それと同時に、外部のホストが内部のホストに対して接続確立を開始することを許すことが望ましい。さらに、外部のホストが新たなIPアドレスに移動した場合、内部のホストを相手に確立された接続が継続するのを許すことが望ましい。
【課題を解決するための手段】
【0011】
本発明の実施形態は、ファイアウォールの背後のホストに対して接続を確立するための、本明細書でノックオンプロトコル(KOP)と呼ばれる、ホスト間シグナリングプロトコルを対象とする。
【0012】
本発明の一部の実施形態は、中間のファイアウォールまたはネットワークアドレストランスレータによって、FWまたはNATを介して、FWまたはNATの背後のホストに対する接続確立を可能にするのに使用されるノックオンフィーチャ(KOF)を対象とする。
【0013】
本発明の一部の実施形態は、外部のホストが内部のホストを相手に接続を確立しようとする試みの頻度を制限することによって、セキュリティをもたらす。
【0014】
KOFがFWまたはNATに組み込まれる本発明の実施形態において、さらに、KOFがFWまたはNATと直列に実装される実施形態において、さらなるセキュリティが、有利には、対応する接続が終了された後、開かれた5タプルエントリを「塞ぐこと」(すなわち、閉じること、または削除すること)によってもたらされ得る。
【0015】
本発明の一部の実施形態において、KOFは、有利には、メッセージフラッディング攻撃において使用されるアドレススプーフィングから保護するプレフィックスベースの保護フィーチャを含む。
【0016】
有利には、本発明の実施形態によるKOFの通常の処理要件およびメモリ要件は、FWまたはNATの処理要件およびメモリ要件と比べて小さい。
【0017】
本発明の或る態様によれば、第1のホストシステムと第2のホストシステムの間で、第2のホストシステムにセキュリティ保護をもたらすファイアウォールを介して接続を確立する方法が提供される。この方法は、ノックオンフィーチャ(KOF)装置によって:第1のホストシステムによって送られた第1のメッセージを受信するステップと、第1のメッセージが、第1のホストシステムと第2のホストシステムの間で接続を確立するための第1のタイプであると判定するステップと、第1のメッセージから第1のホストシステムのアドレス、および第2のホストシステムのアドレスをそれぞれ特定するステップと、第1のホストシステムのアドレス、および第2のホストシステムのアドレスに対応する2タプルに関してKOF装置上に状態情報が存在するかどうかを判定するステップと、KOF装置上に2タプルに関して前述した状態情報が存在しない場合、第1のホストシステムに第1のメッセージを送るステップとを実行することを備える。
【0018】
有利には、この方法は、第2のホストシステムに関してKOF装置上に存在する状態情報の量を特定するステップと、その量が所定の上限を超えたことに応答して、第2のホストシステムと、各ペアにおいて異なる別のホストシステムとをそれぞれが備える2つのホストシステムペアの状態情報を組み合わせて、第2のホストシステムのアドレスと、その2つのホストシステムペアの他方のホストシステムのそれぞれのアドレスに共通であるアドレスプレフィックスとを備える1つのホストシステムペアに関する状態情報にするステップとをさらに含むことが可能である。
【0019】
本発明の以上、およびその他の目的、特徴、および利点は、添付の図面に示される好ましい実施形態の、後述のより詳細な説明から明白となろう。
【図面の簡単な説明】
【0020】
【図1】典型的な従来技術のファイアウォールアーキテクチャの5タプルに関係する状態および状態遷移を示す図である。
【図2】典型的な従来技術のファイアウォールアーキテクチャのインバウンドパケット(上)およびアウトバウンドパケット(下)に関する有限状態マシン(FSM)を示す図である。これらの流れ図は、タイマ満了による図1に示される5タプル状態遷移を含まない。
【図3】本発明の実施形態による(a)FWに組込み型KOF、(b)レガシーFWと直列のKOF、および(c)外部RS上のKOFに関するそれぞれのネットワークアーキテクチャを示す図である。
【図4】図3パートaに示される実施形態による組込み型KOFファイアウォールアーキテクチャのKOPメッセージコールフローを示す図である。
【図5】図3パートaに示される実施形態による組込み型KOFファイアウォールアーキテクチャの5タプルおよび2タプルに関係する状態および状態遷移を示す図である。
【図6】図3パートbに示される実施形態によるレガシーファイアウォールアーキテクチャと直列のKOFの5タプルおよび2タプルに関係する状態および状態遷移を示す図である。
【図7】図3パートcに示される実施形態による外部RSアーキテクチャにおいて提供されるKOFのKOPメッセージコールフローを示す図である。
【図8】図3パートaに示される実施形態による組込み型KOFファイアウォールアーキテクチャのインバウンドパケットに関するFSMを示す図である。これらの流れ図は、タイマ満了による図5に示される状態遷移を含まない。
【図9】図3パートaに示される実施形態による組込み型KOFファイアウォールアーキテクチャのアウトバウンドパケットに関するFSMを示す図である。これらの流れ図は、タイマ満了による図5に示される状態遷移を含まない。
【図10】図3パートbに示される実施形態によるファイアウォールアーキテクチャと直列のKOFのインバウンドパケットに関するFSMを示す図である。これらの流れ図は、タイマ満了による図6に示される状態遷移を含まない。
【図11】図3パートbに示される実施形態によるファイアウォールアーキテクチャと直列のKOFのアウトバウンドパケットに関するFSMを示す図である。これらの流れ図は、タイマ満了による図6に示される状態遷移を含まない。
【発明を実施するための形態】
【0021】
これらの図面において、同様の特徴は、同様の参照符号によって表される。
【0022】
図1を参照すると、FW上で、既存の接続に実際に、または潜在的に関係するすべての5タプルが、2つの状態:通過状態1または阻止状態2のいずれかに関連付けられることが可能であり、ただし、関連付けられた通過機能および阻止機能は、インバウンドパケットに適用される。各5タプルは、この5タプルを有するアウトバウンドパケットが通過している際、阻止状態2から通過状態1に変化する。通過状態1は、存続期間に関連付けられる。存続期間満了の後、5タプルは、阻止状態2に戻る。通過状態1で、タイマは、対応する5タプルを保持するアウトバウンドパケットごと、またはインバウンドパケットごとにリフレッシュされることが可能である。
【0023】
通常のFW実施形態において、通過状態1にある5タプルだけしか、キャッシュメモリの割当てを要求しない。阻止状態2は、デフォルトの状態であり、時間に左右される情報を担持しないので、キャッシュの割当てを要求しない。以下のデータ:5タプルおよび有効期限が、通過状態にある5タプルに関してFW上に通常、保持される。
【0024】
図2を参照すると、FW機能が、2つの有限状態マシン(FSM)を通して表され得る。一方の状態マシン4は、インバウンドパケットを扱い、他方の状態マシン5は、アウトバウンドパケットを扱う。図2におけるFSM図は、状態有効期限切れによる状態遷移を省略していることに留意されたい。
【0025】
図3を参照すると、KOPが、ホスト間接続管理を組み立てる規約手順(courtesy procedure)としてエンドホストによって使用されなければならない。例えば、認証などのさらなる機能が、これらのメッセージに組み込まれ得る。
【0026】
KOPメッセージは、FW上のKOFによってインターセプトされ、評価され、さらに処理されることが可能である。何らかの条件規則セットに基づいて、インバウンドKOPメッセージが、FW上のKOFによって内部のホストまで通過させられることが可能である。KOPメッセージおよびKOF規則セットの注意深い定義により、FWを介する接続確立が、非常に強いセキュリティで保護された仕方で提供され得る。以下のセクションは、KOFが、FWのセキュリティ機能を損なわないように、どのように設計されるかの概略を述べる。
【0027】
KOPメッセージは、5タプルによって与えられるトランスポート接続に基づく。したがって、KOPメッセージは、対応する5タプル情報を伝送する。KOPは、以下のメッセージをサポートする:
− KOP REQ:特定の5タプルを代表して接続確立を要求する。
− KOP ACK:KOP REQメッセージに応答して接続確立を承認する。
− KOP NAK:KOP REQメッセージに応答して接続確立を拒否する。
− KOP RSP:KOP REQメッセージに応答して、さらなる情報を要求する。このメッセージに対する応答は、別のKOP REQメッセージである。
− KOP FIN:5タプル接続を終了する。
【0028】
以上の初めの4つのメッセージは、接続確立の時点に先立って、またはその時点で使用され、最後のメッセージは、接続終了時に、または接続終了の後に使用される。接続の存続期間中、ホスト上のKOPクライアントは、状態情報を全く保持しなくてもよい。
【0029】
5タプルとは別に、KOPメッセージは、任意の追加の情報を主に伝送することが可能である。例えば、KOP REQメッセージは、ピアホストに接続に入ることを納得させる埋め込まれた情報を、例えば、送信側のホストの認証資格証明として伝送することも可能である。KOP RSPメッセージは、ピアホストが追加の情報を要求することを許す。KOP REQ/RSPメッセージペアを使用することによって、より複雑なハンドシェークが確立され得る。
【0030】
KOPメッセージは、タイプ−長さ−値フォーマットを使用して、情報を保持することが可能である。KOPメッセージは、以下のトランスポートフォーマットを使用し得る:
− KOPメッセージは、特定のポート番号を有するUDPを使用することが可能である。以降、特に明記しない限り、このアプローチが、KOPに関して使用される。
− KOPメッセージは、それらのメッセージ独自のプロトコルタイプを伝送することが可能である。
− KOPメッセージは、ICMPを使用することが可能である。
− KOP情報は、IPオプションヘッダ(IPv4)またはIP拡張ヘッダ(IPv6)の中に埋め込まれ得る。これは、IPv6に関して特に良好なソリューションである。
− KOPメッセージは、特定のトランスポートプロトコルの中で実施されることも可能である。例えば、TCPの場合、TCPオプションヘッダが、KOPメッセージにフラグを付けるのに使用されることも可能である。例えば、KOP REQメッセージは、TCP SYNメッセージ上に便乗させることが可能である。
− KOP情報は、既存のシグナリングプロトコル、例えば、IKEv2(IETF RFC 4306)の中に含められることが可能である。
【0031】
KOP対応のホストは、KOPメッセージを使用して、別のホストとの接続を確立すること、および終了すること、または別のホストからの接続開始要求を拒否することを目的として、KOPメッセージを作成すること、送信すること、受信すること、解釈すること、またはKOPメッセージに応答することができるホストシステムである。好ましくは、KOP対応のホストは、レガシーホストを相手に相互動作することができる。例えば、KOP対応のホストが、レガシーホストに、接続を確立するKOP REQメッセージを送信すると、応答は、全く行われない。この場合、KOP対応のホストは、数回の再送の後、単に諦めて、そのレガシーホストを相手に従来の仕方で接続を確立しようと試みることが可能である。
【0032】
KOPの目的は、FWやNATなどの中間ボックスを克服することであるので、接続を開始する側のホストは、KOP REQメッセージを送信することと並行して、または従来の接続確立が失敗した後に、接続を確立しようと試みることさえ可能である。KOFを有するFWだけが、KOP REQメッセージを通過させることに留意されたい。受信側のホスト(すなわち、KOP REQメッセージが送信されるホスト)がKOP対応である場合、そのホストは、接続を開始する側のホストとの接続に入ることなしに、KOP NAKメッセージ、またはKOP RSPメッセージでKOP REQメッセージに応答する機会を有する。しかし、受信側のホストが、レガシーホストであり、FWの背後にはない場合、接続は、遅延なしに開始され得る。このことは、従来のコール確立手順が、ホストのいずれかがKOP対応ではない場合に、それでも適切に機能することを意味する。
【0033】
KOP情報が、トラフィック接続のTPC SYNパケットと多重化されたIPオプションヘッダ、IP拡張ヘッダ、またはTCPオプションヘッダの上で伝送される場合、注意が払われなければならない。例えば、中間FW上のKOFフィーチャは、パケットのKOP部分に反応すること、すなわち、パケットを通過させることが可能である一方で、受信側のレガシーホストは、そのメッセージのKOP部分を単に破棄し、TCP SYNACKでTCP SYNパケットに応答する。このことは、FWのセキュリティ機能を基本的に無効にする。
【0034】
KOP ACKメッセージは、KOP対応の受信側のホストが、単に主導権を握り、KOP REQメッセージに応答して接続を開始することが可能であるので、原則として不必要である。この事例に対処するのに、KOP REQメッセージの送信側は、送信側で並行して接続を開始することができる。これにより、受信側のホストによって送信された着信するトラフィックパケットを通過させる5タプルを、送信側自らのファイアウォール上に作成する。
【0035】
図3を参照すると、KOFが、内部のホストHiが、FWの背後の内部のネットワーク14、およびFWの反対側の外部のネットワーク16を介して外部のホストHoに通信するように接続される、それぞれのネットワークアーキテクチャ10aから10cに示される3つの仕方で提供されることが可能である。したがって、KOFは、a)組込み型KOFファイアウォール12として示される第1の仕方、b)に、レガシーファイアウォールであり得るFW20と直列に追加されたKOF18として示される第2の仕方、またはc)に、公共のRS(中継サーバ)22上で提供されるKOFで示される第3の仕方で提供され得る。
【0036】
図4は、第1のネットワークアーキテクチャ10aによる組込み型KOFファイアウォール12の事例に関する接続確立および接続終了の例示的なコールフローを示す。また、これらのコールフローは、KOF18がFW20に直列に追加された第2のネットワークアーキテクチャ10bにも当てはまる。
【0037】
図4を参照すると、外部のホストHoが、内部のホストHiにKOP REQメッセージを送信すること(30)によって、内部のホストHiとの接続を開始しようと試みる。組込み型KOFファイアウォール12が、KOP REQメッセージを受信し、このメッセージをKOPメッセージとして認識して、このメッセージを内部のホストHiに転送する(32)。内部のホストHiは、KOP NAKメッセージを外部のホストHoに送信すること(34)によって、このKOP REQメッセージに応答することが可能である。組込み型KOFファイアウォール12が、このKOP NAKメッセージを受信し、このメッセージをKOPメッセージとして認識して、このメッセージを外部のホストHoに転送する(36)。このKOP NAKメッセージは、内部のホストHiが、要求された接続の確立を拒否したことを示すので、このメッセージを受信すると、外部のホストHoは、要求された接続を確立することをしない。KOP NAKの代わりに、内部のホストHiは、KOP ACKメッセージを外部のホストHoに送信すること(38)が可能であり、そのメッセージは、内部のホストHiが、要求される接続の確立を承認したことを示す。組込み型KOFファイアウォール12が、このKOP ACKメッセージを受信し、このメッセージをKOPメッセージとして認識して、このメッセージを外部のホストHoに転送する(40)。このKOP ACKメッセージを受信すると、外部のホストHoが、要求された接続を確立することを開始する。
【0038】
KOP ACKメッセージまたはKOP NAKメッセージを送信することの代替として、内部のホストHiが、追加の情報を要求するKOP RSPメッセージを外部のホストHoに送信すること(42)が可能である。組込み型KOFファイアウォール12が、このKOP RSPメッセージを外部のホストHoまで通過させる(44)とともに、このKOP RSPメッセージに応答して外部のホストHoが内部のホストHiに送信する(46)第2のKOP REQメッセージを通過させる(48)。第2のKOP REQメッセージを受信すると、内部のホストHiは、前に、第1のKOP REQメッセージが受信された場合と同一のオプションを有する。内部のホストHiが接続を確立しており、この接続を終了することを所望する場合、内部のホストHiは、KOP FINメッセージを外部のホストHoに、このメッセージを外部のホストHoまで通過させる(52)組込み型KOFファイアウォール12を介して送信すること(50)によって、この接続が終了されるべきことを外部のホストHoにシグナリングする。
【0039】
図5を参照すると、組込み型KOFファイアウォール12機能が、インバウンドトラフィックパケットに関係する5タプル60、およびインバウンドKOP REQパケットに関係する2タプル62に関連付けられることが可能である。5タプル60状態は、インバウンドトラフィックパケットが通過させられるべきか、または阻止されるべきかを決定する。2タプル62状態は、インバウンドKOP REQメッセージが通過させられるべきか、または阻止されるべきかを決定する。2タプルとは、{Hi,Ho}IPアドレスペアを指し、ただし、Hiは、内部のホストHiを表し、Hoは、外部のホストHoを表す。外部のホストHoは、外部のホストHo自らのFWの背後に存在することも可能であることに留意されたい。
【0040】
一般に、KOPメッセージは、通過状態にある対応する2タプルエントリが存在する場合に限って、通過させられる。そのようなエントリが存在しない場合、KOFは、そのようなエントリを作成し、そのエントリを通過状態に設定する。KOFは、阻止状態にある対応する2タプルエントリが存在する場合、KOP REQメッセージを通過させない。2タプルのこの2モードの振舞いは、以下の機能をもたらす:通過状態が、KOP REQメッセージの着信レートがクリティカルなレベルを下回っているかどうかを調べ、下回っている場合、KOP REQメッセージは、通過することを許され、下回っていない場合、阻止状態が呼び出されて、さらなるKOP REQメッセージの着信から内部のホストHiを保護する。
【0041】
各5タプルは、通過状態68または阻止状態66にあることが可能であるのに対して、各2タプルは、アイドル状態74、通過状態86、または阻止状態78にあることが可能である。KOFが組み込まれたFWは、5タプル阻止状態66または2タプルアイドル状態78がデフォルトの状態であり、さらにこれらの状態が時間に左右される情報を全く担持しないので、これらの状態に関するキャッシュメモリを、全く保持しない。5タプル通過状態68に関して、KOFが組み込まれたFWは、5タプル、および有効期限をキャッシュする。2タプル通過状態86に関して、KOFが組み込まれたFWは、その2タプル、有効期限タイマ、およびメッセージカウンタをキャッシュする。2タプル阻止状態78に関して、KOFが組み込まれたFWは、その2タプル、および有効期限タイマをキャッシュする。
【0042】
KOFが組み込まれたFW12は、内部のホストHiと外部のホストHoの間の既存の接続、または内部のホストHiによる接続確立の試みに対する5タプル通過状態68エントリを保持する(72)。KOFが組み込まれたFW12は、外部のホストHoが内部のホストHiとの接続を確立しようと試みる際、インバウンドKOP REQメッセージのレートを制御する2タプル通過状態エントリ{Hi,Ho}を保持する(86)。KOFが組み込まれたFW12は、外部のホストHoによるさらなるKOP REQメッセージの試みからそのようなメッセージが内部のホストHiによって所望されない場合に、または外部のホストHoが、外部のホストHoが内部のホストHiに送信したKOP REQメッセージの容認可能なレートを超えた場合に、内部のホストHiを保護する2タプル阻止状態78エントリを保持する。
【0043】
5タプル60に基づく機能は、いくつかの例外を除いて従来のFWによって提供される機能と同様である。第1に、5タプル60に基づく阻止機能は、インバウンドKOP REQメッセージには適用されない。代わりに、インバウンドKOP REQメッセージは、そのメッセージに関連付けられた2タプル62の状態の対象となる。第2に、5タプル60エントリは、アウトバウンドのKOP REQメッセージ、RSPメッセージ、またはFINメッセージが通過した際には、作成されない。
【0044】
従来のFW機能に加えて、5タプル60は、5タプルに対応するアウトバウンド(すなわち、内部のホストHiから送信された)KOP ACKメッセージが、組込み型KOPファイアウォール12を通過させられると、阻止状態66から通過状態68への遷移64を経験する。また、この遷移64は、通常のパケット(すなわち、KOPメッセージを伝送していないパケット)が、組込み型KOPファイアウォール12を通過されられた際にも、生じる。
【0045】
従来のFW機能に加えて、5タプル60は、5タプル60に対応するアウトバウンドKOP FINパケットが、組込み型KOPファイアウォール12を通過させられると、通過状態68から阻止状態66への遷移70をさらに経験する。このフィーチャは、内部のホストHiが、終了した接続に関してFW上の5タプルエントリを閉じることを許し、これにより、さもなければ、「セキュリティホール」(つまり、セキュリティの脆弱性)となる可能性があるエントリが、内部のホストHiによって閉じられることが可能であるので、内部のホストHiに相当なセキュリティをもたらす。
【0046】
組込み型KOPファイアウォール12は、各5タプルの通過状態68に関するタイマを含み、このタイマは、満了すると、通過状態68から阻止状態66への遷移70を生じさせる。さもなければ、5タプル60に対応するインバウンドパケットまたはアウトバウンドパケットが、組込み型KOPファイアウォール12を通過するとともに、5タプル60は、FW状態を通過状態68に保つ(72)。通過状態68におけるタイマに関連する機能、および通過状態68からの遷移70に関連する機能は、従来のファイアウォールの場合と同一である。
【0047】
すべての2タプル62は、内部のホストHiと外部のホストHoの間のKOPメッセージに含まれる{Hi IPアドレス,Ho IPアドレス}−ペアに基づく。KOFが組み込まれたFW12は、3つの状態:アイドル状態74、通過状態76、および阻止状態78のうちの1つに2タプル62を保つ。KOFが組み込まれたFW12は、以下のように動作する。アイドル状態74にあり、対応する内部のホストHiに対するインバウンドKOP REQメッセージが着信すると、2タプル62は、通過状態76に遷移し(80)、KOP REQメッセージに、組込み型KOFファイアウォール12を通過させる。通過状態76は、存続期間属性と、最大カウント属性とを有する。存続期間属性の値によって決まる、通過状態76の存続期間中、最大カウント属性の値と等しい最大限の数のKOP REQメッセージしか、この2タプルに関して転送され得ない。通過状態76の存続期間が、KOP REQメッセージのこの最大限の数に達する前に満了した場合、2タプル62は、アイドル状態74に遷移する(82)。通過状態76の存続期間が満了する前に、KOP REQメッセージの最大限の数に達した場合、2タプル62は、阻止状態78に遷移する(84)。最大限の数に達していない場合、通過状態76にある2タプル86は、2タプルのアウトバウンドKOP REQメッセージ、およびアウトバウンドKOP RSPメッセージが、組込み型KOFファイアウォール12を通過するとともに通過状態をリフレッシュする(86)。遷移86は、通過状態76の通過状態タイマ、および通過状態カウンタをリセットする。阻止状態78において、外部のホストHoから内部のホストHiへのさらなるインバウンドKOPメッセージは、組込み型KOFファイアウォール12によって拒否される。阻止状態78は、阻止状態78独自の存続期間属性を有し、この存続期間属性の値が、阻止状態78の存続期間を決める。阻止状態78の存続期間の満了の後、2タプル62は、アイドル状態74に遷移する(88)。
【0048】
内部のホストHiが、KOP REQメッセージを受信し、さらに内部のホストHiは、要求された接続を確立することに関心がない場合、内部のホストHiは、KOP NAKメッセージで、接続を開始する側の外部のホストHoに応答することが可能である。このKOP NAKメッセージは、KOFが組み込まれたFW12上の2タプル62に、通過状態76から阻止状態78に直接に遷移させ(84)、これにより、組込み型KOFファイアウォール12に、外部のホストHoから内部のホストHiに送信されるさらなるKOP REQメッセージを阻止させる。
【0049】
KOF状態が、通過状態76にあり、さらに対応する内部のホストHiが、対応する外部のホストHoからさらなる情報を要求するアウトバウンドKOP RSPメッセージを送信した場合、KOFが組み込まれたFW12は、2タプル62に関する通過状態タイマおよび通過状態カウンタをリセットする。KOFが組み込まれたFW12は、通過状態タイマおよび通過状態カウンタを使用して、その2タプル62に関して、対応する通過状態存続期間が満了したかどうか、または通過状態76にある間に許されるメッセージの最大限の数に達しているかどうかを判定する。このリセット能力は、外部のホストHoに、必要である可能性がある再送を含むKOP REQメッセージで、KOP RSPメッセージに応答する機会を与える。
【0050】
内部のホストHiによって送信されるKOP RSPメッセージおよびACKメッセージは、外部のホストHoもFWの背後に存在する場合、KOP REQメッセージの役割をすることも可能である。したがって、KOP REQ/RSPメッセージハンドシェークまたはKOP REQ/ACKメッセージハンドシェークが、両方のファイアウォール上のパスを通過できるようにする。そのようなハンドシェークは、両方のホストがファイアウォールの背後にある場合に、セキュリティで保護された仕方で接続確立を可能にする。
【0051】
このセットのフィーチャを用いて、KOFは、組込み型KOFファイアウォール12を介して以下の保護をもたらす:KOFは、或るタイプの制御メッセージを内部のホストHiまで通過させるようにFWを開く一方で、そのようなメッセージのインバウンドパケットフローを、通過状態76存続期間当りの最大カウントに制限する。このレート(通過状態76最大カウントの値、および存続期間属性の値によって決まる)が外部のホストHoによって超えられると、阻止状態78が、何らかの延長された期間にわたって、内部のホストHiをさらなるKOP REQメッセージから保護する。通過状態76存続期間属性の値は、有利には、複数のKOP REQメッセージ再送に対処することができるように数秒に設定される。したがって、阻止状態78は、KOP REQメッセージフラッディング攻撃から、内部のホストHiを保護するために、阻止状態78存続期間属性の値は、通過状態76の存続期間より長い存続期間をもたらさなければならない(例えば、阻止状態78の存続期間は、数分または数時間でさえある)。
【0052】
組込み型KOFファイアウォール12におけるKOFによってもたらされる前述の保護を向上させるのに、KOPメッセージのパケット長が、指定された最大限の長さに制限されることが可能である。合計のメッセージ長を576オクテット未満に保つことが賢明であり、このことは、パケット断片化が適用されないことを意味する。したがって、KOPメッセージを処理する前に、KOFは、そのKOPメッセージを伝送するパケットの長さを評価し、そのパケットの長さが指定された最大限の長さを超える場合、そのパケットを破棄する。
【0053】
KOFによって提供される保護をさらに強化するために、KOPメッセージに関して特定のTLVフォーマットが導入されることも可能である。このフォーマットは、タイプ定義および値の長さが柔軟であるが、組込み型KOFファイアウォール12およびホストが、組込み型KOFファイアウォール12およびホストがタイプ定義を認識しないKOPメッセージを破棄することを可能にすることによって、ホストにさらなる保護をもたらす。
【0054】
KOFは、内部のホストが、内部のホストがKOP REQメッセージを拒否した外部のホストを相手に接続を確立することを禁止しないことに留意されたい。この能力は、KOFが組み込まれたFW12が、対応するホストペアの2タプル62が阻止状態78を保持しているものの、5タプル60を通過状態68に保つことができることを意味する。この振舞いは、組込み型KOFファイアウォール12をレガシーFW機能に適合させるので、重要である。
【0055】
2タプル62の状態は、かなり簡単に実施され得る:アイドル状態74は、時間に左右される情報を全く保持しないので、メモリの割当てを要求しない。したがって、通過状態76にある2タプル、または阻止状態にある2タプルだけが、メモリの中に保持される。この目的で、以下のデータ構造がメモリの中に保持される:
KOF通過状態:
− 2タプル
− 有効期限(通過状態存続期間が満了する時刻)
− カウンタ(最大カウント属性の値までKOPメッセージの数をカウントアップする、または最大カウント属性の値からKOPメッセージの数をカウントダウンする)
KOF通過状態有効期限は、前述した通過状態タイマを実施し、さらにKOF通過状態カウンタは、前述した通過状態カウンタを実施する。
KOF阻止状態:
− 2タプル
− 有効期限(阻止状態存続期間が満了する時刻)
通常の動作の下で、メモリの中に保持されるべきKOF状態の数は、ごくわずかである。しかし、この数は、メッセージフラッディング攻撃中、大幅に増大する可能性がある。そのような状況下で、次のセクションで説明されるプレフィックスベースの保護が有益である。
プレフィックスベースの保護
KOFが組み込まれたFW12は、それぞれの内部のホストHiに着信するKOP REQメッセージのレートを制限するが、内部のホストをKOP REQメッセージのフラッディング攻撃から保護することもしなければならない。このことは、KOF自体の過負荷につながる攻撃を含む。そのような状況下で、KOFは、KOFの機能をむしろ一時的に低下させなければならず、これにより、組込み型KOFファイアウォール12機能を従来のFWの機能に戻す。
【0056】
KOFは、多数のスプーフィングされたIPアドレスを発信元とし、1つの内部のホストHiに向けられたKOF REQメッセージのフラッドに対して脆弱になり得る。これは、KOFが、スプーフィングされたすべてのIPアドレスを発信元とするKOF REQメッセージのもたらされる2タプルごとに1つのエントリ62を保持し、このことが、組込み型KOFファイアウォール12が、メッセージのフラッド全体を通過させることをもたらすためである。
【0057】
原則として、IPアドレススプーフィングは、中間ルータによるイングレスフィルタリングを介して挫かれる。しかし、イングレスフィルタリングは、必ずしも執行されるとは限らない。さらに、攻撃者はそれでも、同一のL2ネットワーク、すなわち、1つのL3サブネットに属するIPアドレスをスプーフィングすることができる可能性がある。
【0058】
KOFは、前段で概説した{Hi IPアドレス,Ho IPアドレス}という原始2タプルを{Hi IPアドレス、Ho IPプレフィックス}というプレフィックスベースの形態に拡張することによって、そのようなフラッディング攻撃に対して防御することができる。このプレフィックスベースの形態において、外部のホストHoのプレフィックスに適合する、内部のホストHiに関するすべての着信するKOP REQメッセージは、同一のKOF状態を使用して同一の2タプル62によって扱われる。
【0059】
2タプル62の、原始形態からプレフィックスベースの形態への拡張は、IPプレフィックスに基づく阻止が、多数の友好的なホストについてもアクセスのしやすさを低減する可能性があるので、徐々に行われる必要がある。様々なアルゴリズムが、この目的で導入され得る。1つの簡単で、非常に効果的な方法は、以下のとおりである:
− それぞれの内部のホストHiに関して、KOFは、通過状態76または阻止状態78にある或る最大限の数Nの2タプルだけを、これら2つの状態がメモリ割当てを要求するので、保持することが可能である。これら2つの状態のいずれかを保つ2タプルは、2タプルエントリと呼ばれる。
− 内部のホストHiに関する2タプルエントリの数がNに達し、さらに内部のホストHiに対する新たなインバウンドKOF REQが着信して、通過状態76にある新たな2タプルエントリの生成をもたらすと、内部のホストの2タプルエントリのうちの2つが組み合わされて、単一の2タプルエントリにされなければならない。組み合わされた2タプルエントリは、前述した2つの2タプルエントリのそれぞれ1つの2タプルにそれぞれが対応する、外部のホストHoのIPアドレスの共通部分を「プレフィックス」として使用する。プレフィックスという用語は、この場合、サブネット割当ての意味で使用されていないことに留意されたい。
− 両方の2タプルエントリが、同一の状態(通過状態76または阻止状態78)を有する場合、この状態は、組み合わされた2タプルエントリに持ち越される。この状態が通過状態76である場合、組み合わされた2タプルエントリのカウンタは、前の2タプルエントリのカウンタのうちの大きい方の値に設定され、さらに組み合わされた有効期限は、前の2タプルエントリの有効期限のうちの小さい方の値に設定される。この状態が阻止状態78である場合、組み合わされた2タプルエントリの有効期限は、前の2タプルエントリの有効期限のうちの大きい方の値に設定される。
− 両方の2タプルエントリが、異なる状態を有する(一方が、通過状態76にあり、他方が、阻止状態78にある)場合、組み合わされた2タプルエントリは、阻止状態78に設定され、有効期限は、リセットされる。
− 組合せ手順のために使用される2タプルエントリの選択は、マージされた2タプルに関する最長のプレフィックスに基づくことが可能である。このプレフィックスが長いほど、外部のホストのIPアドレス間のトポロジ上の距離は小さくなる。この選択プロセスの計算作業は、数Nがかなり小さいように選択され得るので、かなり少ない。
例:N=3:
内部のホストHiは、内部のホストHiに対する新たなKOF REQが着信する際に、N=3個の2タプルエントリを既に有する:
【0060】
【表1】
2タプルエントリ1と3が、最大の共通のプレフィックスを有するため、組み合わされ、このことが、以下をもたらす:
【0061】
【表2】
− 現時点で状態1として示される、組み合わされたKOF状態は、IPアドレスの最下位の2オクテットに関して使用される「X.X」により、いわゆるプレフィックスベースの形態である、200.1.X.Xという外部ホストのHo IPアドレスを有する。「X.X」は、外部のホストのIPアドレスの対応するオクテットに関するすべての値と合致する。さらに、組み合わされたKOF状態の通過状態カウンタ(メッセージカウンタ)は、前のKOF状態1および3の通過状態カウンタの値の大きい方である、3に設定される。新たなKOF状態の通過状態タイマ(有効期限タイマ)は、前のKOF状態1および3の通過状態タイマの短い方である、「現在+3120ミリ秒」に設定される。
【0062】
KOFは、2タプルエントリ組合せの履歴についての情報を全く保持する必要はない。状態遷移は、従来のIPアドレスベースの状態と同様にプレフィックスベースの状態に当てはまる。アイドル状態74に達すると、アイドル状態74において全くメモリが保持されないので、状態バンドル情報が、失われる。この機構は、状態バンドルをスムーズに逆転させ、さらにKOFがその通常の動作モードを緩和することを許す。
【0063】
前述の組合せプロセスは、内部のホストHiに関する2タプルエントリの最大限の数Nに基づく。この数は、動的に調整され得る。あるいは、Nに関する固定値が、それぞれの内部のホストHiに割り当てられる、または代替として、2タプルエントリの1つの共通のプールが、すべての内部のホストHiのために割り当てられることが可能である。このプールが一杯であり、新たな2タプルエントリが追加されることになる場合、最大の数の2タプルを有する内部のホストHiが選択され得る。このプールが、内部のホストHiの数より小さい場合、プールが一杯である一方で、すべての内部のホストHiが、複数の2タプルエントリを保持することはないことが生じ得る。これが該当する場合、同一の組合せ手順が、Hi−IPアドレスに関して適用されることが可能である。この場合、2タプルエントリは、内部のホストHiのためにプレフィックスを保持することも可能である。
【0064】
プレフィックスベースの保護の場合、送信元IPアドレスのプールを使用する、内部のホストHiに対するKOF REQメッセージのフラッディング攻撃は、攻撃者のサブネットに属する外部のホストHoのIPアドレスプレフィックスを有する、阻止状態78にある1つの2タプルエントリをもたらす。攻撃者からの、その内部のホストHiに対するすべてのさらなるKOP REQメッセージは、組込み型KOPファイアウォール12によって阻止される。同時に、組込み型KOPファイアウォール12は、その内部のホストHiを相手に接続を確立しようと試みる別のサブネットからの外部のホストに関して、通常どおりに動作する。
【0065】
そのようなフラッディング攻撃は、中間ルータのイングレスフィルタリングが、不可解な出所のパケットを破棄するので、1つのサブネットに属するIPアドレスに通常、限定されることに留意されたい。攻撃者がインターネット全体からIPアドレスをスプーフィングするという起こりそうにないことが生じた場合でさえ、プレフィックスベースの保護は、すべての着信するKOF REQメッセージを阻止することになる。この限度内で、組込み型KOFファイアウォール12は、従来のFWと同一の保護をもたらす。
【0066】
KOP REQメッセージフラッディング攻撃から内部のホストHiを保護することに加えて、プレフィックスベースの保護は、有利には、2タプルエントリのために必要とされるメモリの量を制限する。さらに有利には、プレフィックスベースの保護は、それぞれのホストに関して少数のKOF状態しか保持されないので、内部のホストHiに対して新たなKOP REQメッセージが着信した場合の計算作業を少なくする。
レガシーファイアウォールと直列のノックオンフィーチャ
図3を再び参照し、特に、第2のネットワークアーキテクチャ10bを参照すると、KOF18が、ファイアウォール20と直列に別個の機能として追加されることも可能である。このことは、UDPベースのKOPメッセージが使用される場合、実現するのが特に容易である。この場合、ファイアウォール上で対応するUDPポートが、開かれる。
【0067】
図6は、KOF18がファイアウォール20と直列である第2のネットワークアーキテクチャ10bのKOF18およびファイアウォール20の5タプル状態および2タプル状態、ならびに状態遷移を示す。ファイアウォール20は、この場合、従来のファイアウォール機能をもたらす5タプル100をサポートするレガシーファイアウォールである。KOF18は、組込み型KOFファイアウォール12に関して前述した2タプル62と同一の仕方で動作する2タプル102と、5タプル104とをサポートする。
【0068】
5タプル100は、内部のホストHiと外部のホストHoの間の接続に関連する、対応する5タプルに関する状態を保持する。FW20が、特定の5タプルが通過状態106に、もしくは阻止状態108に留まるべきか、または通過状態106から阻止状態108への遷移、もしくは阻止状態108から通過状態106への遷移を行うべきかを制御する。通過状態106にある間、通過タイマが更新され、通過タイマが満了すると、5タプル100状態は、通過状態106から阻止状態108に遷移する(110)。満了していない場合、FW状態は、対応する5タプルのインバウンドパケットまたはアウトバウンドパケットがファイアウォール20を通過させられる限り、通過状態に留まる(112)。通過状態106に留まっている際、通過状態106に関連付けられたタイマがリセットされる。阻止状態108にある間、FW状態は、対応する5タプルのアウトバウンドパケットがファイアウォール20によって通過させられると、阻止状態108から通過状態106に遷移する(114)。
【0069】
KOF18は、内部のホストHiと外部のホストHoの間のインバウンドKOP REQメッセージに関連する2タプルを保持する。ファイアウォール20は、KOPメッセージを橋渡しするので、KOF18は、KOFが組み込まれたFW12が2タプル62を操作したのと同一の仕方で、第2のネットワークアーキテクチャ10bにおいて2タプル102を操作することが可能である。この実施形態の以上の説明を簡単にするため、2タプル102のKOF18処理は、KOFが組み込まれたFW12における2タプル62と同一の仕方で実施されるものと理解される。
【0070】
第1のネットワークアーキテクチャ10aの組込み型のアプローチとは異なり、第2のネットワークアーキテクチャ10bのKOF18は、5タプル100を処理するFW20と直列で5タプル104を処理する。KOF18によって保持される5タプルは、内部のホストHiと外部のホストHoの間の任意の実際の、または潜在的な接続に対応する。KOF18は、5タプル104が通過状態116に、もしくは阻止状態118に留まるべきか、または通過状態116から阻止状態118への遷移、もしくは阻止状態118から通過状態116への遷移を行うべきかを制御する。KOF18は、KOP FINメッセージをサポートし、すなわち、内部のホストHiからのアウトバウンドKOP FINメッセージに基づいて、内部のホストHiに対する5タプルの着信するトラフィックパケットを阻止する。したがって、KOFの5タプル状態104が、通過状態116にあり、さらに5タプル104に対応するKOP FINメッセージが、アウトバウンド方向でKOF18を通過させられると、通過状態116にある5タプル104は、阻止状態118に遷移する(120)。そうではなく、KOFの5タプル状態104が、KOP FINメッセージがKOF18を通過させられる際に既に阻止状態118にある場合、KOFの5タプル状態104は、阻止状態118に留まり(122)、さらに5タプル阻止タイマをリセットする。阻止状態タイマが満了した場合、または5タプルに対応するアウトバウンドパケットが、内部のホストHiからKOF18を通過させられた場合、5タプル104は、阻止状態118から通過状態116に遷移する(124)。阻止状態タイマは、5タプル100の通過状態タイマが満了するのにかかる時間と等しい時間の後に満了する。
【0071】
5タプル100は、5タプル100に関して通過状態106だけを実施することによって実現され得る一方で、KOFの5タプル104は、KOFの5タプル104に関して阻止状態118だけを実施することによって実現され得る。したがって、KOFの5タプル104に関するメモリ要件は、ほぼ、FWの5タプル100のメモリ要件以下である。つまり、FWの5タプル100に関して、通過状態106にあるFW状態は、それらの状態に対応する接続の存続期間に通過状態106の存続期間を足した期間にわたってメモリを占有する。一方、KOFの5タプル104の場合、阻止状態118にあるKOFの5タプル状態は、それぞれの阻止状態タイマによって決定される阻止状態118の存続期間にわたってのみ、メモリを占有し、前述したとおり、阻止状態タイマは、FWの5タプル100通過状態106の通過タイマが満了するのにかかる時間と等しい時間の後、満了する。
【0072】
第2のネットワークアーキテクチャ10bの5タプル100動作とKOFの5タプル104動作の組合せは、組込み型KOFファイアウォール12における5タプル60動作と同一の機能を実現する。しかし、第2のネットワークアーキテクチャ10bの直列ソリューションは、KOF ACKメッセージをサポートしない。有利には、KOF ACKメッセージの効果は、通常のトラフィックパケットによって実現されることが可能である。
【0073】
図7、ならびにレガシーFW20をサポートする中継サーバ(RS)22上でKOFが提供される、対応する第3のネットワークアーキテクチャ10cを参照する。RS22は、公共のインターネットにある、または公共のインターネットから少なくともアドレス指定可能であるものと仮定される。さらに、内部のホストHiは、RS22に対するシグナリング接続を有する。本明細書では、内部のホストHiは、例えば、DNS(ドメインネームサーバ)を使用して、RS22と連絡をとることができる、RS22のIPアドレス、プロトコルタイプ、およびポートを公開するものと仮定する。
【0074】
組込み型KOFファイアウォール12のセキュリティと同等のレベルのセキュリティをもたらすのに、第3のネットワークアーキテクチャ10cにおいて、内部のホストHiとRS22の間のシグナリング接続上のトラフィックが、完全性保護される。シグナリングトラフィックが公共のインターネットを通過し、したがって、完全性攻撃に脆弱であるので、このことが行われる。
【0075】
外部のHoが、RS22にKOP REQメッセージを送信する際、外部のホストHoは、そのKOP REQメッセージのペイロードの中で内部のホストHiを明示的に参照する必要がある。このことは、組込み型KOFファイアウォール12が、KOP REQメッセージのIPヘッダから内部のホストHiを推測することができる第1のネットワークアーキテクチャ10aとは異なる。同様に、外部のホストHoは、プロトコルタイプおよびポート番号についての情報をKOP REQメッセージのペイロードの中に追加することが可能である。
【0076】
しかし、このアプローチは、脆弱性を増大させる。つまり、内部のホストHiのIPアドレスが、ルーティング目的で使用されず、KOP REQメッセージのペイロードの中で伝送されるだけであるので、このIPアドレスは、任意の攻撃者によって変更され得る。この脆弱性を克服するのに、外部のホストHoは、RS22に送信されるKOP REQメッセージの完全性を保護しなければならない。
【0077】
KOP REQメッセージのこの完全性保護は、公開鍵/秘密鍵ペアまたは共有鍵を介して実現され得る。例えば、DH(ディフィ−ヘルマン)交換を使用するセキュリティ関連付けで十分であるはずである。DH交換に基づくそのような共有鍵を破るのに、各終端との別々の接続を維持するMitM(中間者)システムが要求されることになる。この手順において、MitMシステムは、中間ルータによるイングレスフィルタリングの犠牲にならずに、それぞれのエンドポイントのIPアドレスをスプーフィングすることができる必要があることになる。そのようなMitMシステムが存在する場合、そのシステムは、FW20を直接に、すなわち、FW20上の既存の5タプルエントリに対するIPアドレスをスプーフィングすることによって、克服することもできることになる。したがって、RS22と外部もしくは内部のホストHo/Hiの間のKOPメッセージ交換に関してDHベースの鍵を使用することで、そうすることが、レガシーFW20と少なくとも同一のレベルの保護をもたらすので、これらの交換の完全性保護に十分であるはずである。
【0078】
図7を参照し、図3パートcも参照すると、RS22と外部のホストおよび内部のホストHo/Hiの間の例示的なメッセージコールフロー200が、以下のとおり生じる:
− 内部のホストHiとRS22が、DH交換を使用してセキュリティで保護されたシグナリング接続を確立する(202)。これにより、FW20上に第1の5タプルエントリを作成し、このエントリは、内部のホストHiおよびRS22に対応する。
− 外部のホストHoが、DH交換を使用してRS22を相手にセキュリティで保護された接続を確立する(204)。
− 外部のホストHoが、KOP REQメッセージをRS22に、このメッセージをまず完全性保護した後、送信する(206)。KOP REQメッセージのペイロードは、事前定義されたパラメータタイプを使用して内部のホストのHiデータを含む。このデータは、提案される接続のために使用されるべき内部のホストHiのIPアドレス、プロトコルタイプ、およびポート番号を含む。
− RS22上に存在するKOFが、KOP REQメッセージを評価する。その目的で、KOFは、第1のネットワークアーキテクチャ10a、および第2のネットワークアーキテクチャ10bに関連して前述したのと同一の2タプル62動作を使用する。
− 内部のホストHiのIPアドレス、および外部のホストHoのIPアドレスに対応する2タプルに関するKOF状態が、阻止状態78にはない場合、RS22は、KOP REQメッセージを、シグナリングリンクを介して内部のホストHiにトンネリングする(208)。RS22は、前述したとおり、KOP REQメッセージに関する完全性保護を提供する。KOP REQメッセージは、外部のホストHoのIPアドレスを含む。
− FW20上の第1の5タプルエントリの作成に関連して前述したとおり、メッセージが伝送されるシグナリングリンクが既に確立されているので、FW20はKOP REQメッセージを通過させる(210)。
− 内部のホストHiが、KOP REQメッセージの中の情報を使用して、外部のホストHoと直接に連絡をとる。この連絡は、内部のホスト、および外部のホストHoに対応する第2の5タプルエントリをFW20上に作成し、このエントリは、外部のホストHoが、内部のホストHiからの通信に直接に応答することを許す。
− 内部のホストHiが、外部のホストHoにKOP NAKメッセージを送信すること(212)を所望する場合、内部のホストHoは、RS22に対するシグナリング接続を使用し、外部のホストHoのIPアドレスを含め、さらにメッセージを完全性保護する。FW20が、完全性保護されたKOP NAKメッセージをRS22に転送する(214)。RS22が、このメッセージを検証し、このメッセージの2タプル62は阻止状態78に遷移し、さらにKOP NAKメッセージを外部のホストHoに転送する(216)。
− 内部のホストHiは、KOP REQメッセージに応答して外部のホストHoにKOP ACKメッセージを送信する(218)オプションも有する。FW20が、KOP REQメッセージをRS22に転送する(220)。RS22上に組み込まれたKOFが、内部のホストHiおよび外部のホストHoの5タプルに対応するFW状態を保つ、前述したFWの5タプル60と同一である5タプルに関するエントリを保持する。5タプルのFW状態は、RS22が、KOP ACKメッセージを外部のホストHoまで通過させる(222)と、通過状態68に設定される。5タプルのFW状態が通過状態68にある間、RS22は、外部のホストHoから内部のホストHiに、さらに内部のホストHiから外部のホストHoに任意の情報を中継する。
− 内部のホストHiは、KOP REQメッセージに応答して外部のホストHoにKOP RSPメッセージを送信するオプションも有する。このメッセージは、KOP ACKメッセージに関して説明したのと同一の仕方で外部のHoに通信される。外部のホストHoは、KOP RSPメッセージによって要求される情報を含む、別のKOP REQメッセージでKOP RSPメッセージに応答する。第2のKOP REQメッセージは、第1のKOP REQメッセージに関して説明したのと同一の仕方で内部のホストHiに通信される。説明されるこれらの複数のKOP RSP/KOP REQメッセージ交換224が、許される。
− 内部のホストHiが、外部のホストHoにKOF FINメッセージを送信して(226)、KOP ACKメッセージを介して開始された中継接続を終了させる。KOF FINメッセージは、KOP ACKメッセージに関して説明したのと同一の仕方で外部のホストに中継される。KOF FINメッセージおよびKOF ACKメッセージは、RS22がすべてのトラフィックデータを中継する事例において使用されることに留意されたい。
【0079】
図8は、図3パートaに示される実施形態による組込み型KOFファイアウォール12によって実行されるインバウンドパケットを扱う方法400を示す流れ図である。これらの流れ図は、タイマ満了による図5に示される状態遷移を含まない。
【0080】
図8を参照すると、方法400が、インバウンドパケットが組込み型KOFファイアウォール12に着信するのを待つ(402)。インバウンドパケットが着信すると、この方法は、そのパケットがKOP REQメッセージであるかどうかを判定する(404)。そのパケットがKOP REQメッセージではない場合、この方法は、そのパケットが、組込み型KOFファイアウォール12上に既に格納されている5タプルエントリと合致するかどうかを判定する(410)。合致する5タプルエントリが存在する場合、この方法は、その5タプルエントリに対応するタイマをリフレッシュし(406)、そのパケットを内部のホストHiまで通過させる(408)。その後、この方法は、別のインバウンドパケットを待つことに戻る。そうではなく、この方法が、組込み型KOFファイアウォール12上に合致する5タプルエントリが存在しないと判定した(410)場合、そのパケットは阻止され(412)、この方法は、インバウンドパケットを待つことに戻る。
【0081】
方法400が、そのパケットがKOP REQメッセージであると判定した場合(404)、次に、方法400は、組込み型KOFファイアウォール12上にそのパケットと合致する2タプルエントリが存在するかどうかを判定する(414)。そのような合致する2タプルエントリが存在しない場合、この方法は、そのパケットに関する2タプルエントリを作成し(416)、さらにそのエントリを通過状態にする。次に、この方法は、そのパケットを内部のホストHiまで通過させ(418)、別のインバウンドパケットを待つことに戻る。この方法が、合致する2タプルエントリが存在すると判定した(414)場合、この方法は、そのエントリが阻止状態にあるかどうかを判定する(420)。そのエントリが阻止状態にある場合、この方法は、そのパケットを阻止し(422)、別のインバウンドパケットを待つことに戻る。しかし、この方法が、その2タプルエントリが阻止状態にはないと判定した(420)場合、この方法は、そのエントリに対応する2タプルカウンタをインクリメントし、その後、カウンタがオーバーロードしたかどうかを判定する(428)。カウンタがオーバーロードした場合、この方法は、その2タプルエントリを阻止状態に設定し(426)、そのエントリに関するタイマをリセットする。次に、この方法は、そのパケットを阻止し(422)、別のインバウンドパケットを待つことに戻る。しかし、カウンタがオーバーロードしていない場合、この方法は、そのパケットを内部のホストHiまで通過させ(430)、その後、別のインバウンドパケットを待つことに戻る。
【0082】
図9は、図3パートaに示される実施形態による組込み型KOFファイアウォール12によって実行されるアウトバウンドパケットを扱う方法500を示す流れ図である。これらの流れ図は、タイマ満了による図5に示される状態遷移を含まない。
【0083】
図9を参照すると、方法500が、アウトバウンドパケットが組込み型KOFファイアウォール12に着信するのを待つ(502)。アウトバウンドパケットを受信すると、方法は、そのパケットがKOPメッセージであるかどうかを判定する(504)。そのパケットがKOPメッセージではない場合、次に、この方法は、組込み型KOFファイアウォール12上にそのパケットと合致する5タプルエントリが存在するかどうかを判定する(506)。そのような合致する5タプルエントリが存在する場合、この方法は、そのエントリに対応するタイマをリセットし(508)、さらにそのパケットを外部のホストHoに向けて通過させる(510)。その後、この方法は、別のアウトバウンドパケットを待つことに戻る。そのような合致する5タプルエントリが存在しない場合、この方法は、そのパケットに対応する5タプルエントリを作成し(512)、さらにそのパケットを外部のホストHoに向けて通過させる(510)。その後、この方法は、別のアウトバウンドパケットを待つことに戻る。
【0084】
この方法が、そのパケットがKOPメッセージであると判定した(504)場合、次に、この方法は、そのパケットがKOP ACKメッセージであるかどうかを判定する(514)。KOP ACKメッセージである場合、この方法は、組込み型KOFファイアウォール12上に合致する5タプルエントリが存在するかどうかを判定する(516)。そのような合致する5タプルエントリが存在する場合、この方法は、そのパケットを外部のホストHoに向けて通過させ(520)、別のアウトバウンドパケットを待つことに戻る。そうではなく、そのような合致する5タプルエントリが存在しない場合、方法は、そのパケットに対応する5タプルエントリを作成し(518)、その後、そのパケットを外部のホストHoに向けて通過させる。その後、この方法は、別のアウトバウンドパケットを待つことに戻る。
【0085】
この方法が、そのパケットがKOP ACKメッセージではないと判定した(514)場合、次に、この方法は、そのパケットがKOP FINメッセージであるかどうかを判定する(522)。KOP FINメッセージである場合、この方法は、組込み型KOFファイアウォール12上に合致する5タプルエントリが存在するかどうかを判定する(524)。そのような合致するエントリが存在しない場合、この方法は、そのパケットを外部のホストHoに向けて通過させ(520)、別のアウトバウンドパケットを待つことに戻る。そうではなく、合致する5タプルエントリが存在する場合、この方法は、その5タプルエントリを削除し(526)、次に、そのパケットを外部のホストHoに向けて通過させる(520)。その後、この方法は、別のアウトバウンドパケットを待つことに戻る。
【0086】
この方法が、そのパケットがKOP FINメッセージでないと判定した(522)場合、次に、この方法は、そのパケットがKOP RSPメッセージであるかどうかを判定する(528)。KOP RSPメッセージである場合、この方法は、組込み型KOFファイアウォール12上にそのパケットに合致する2タプルエントリが存在するかどうかを判定する(530)。そのような合致する2タプルエントリが存在しない場合、この方法は、そのパケットを外部のホストHoに向けて通過させ(520)、別のアウトバウンドパケットを待つことに戻る。そうではなく、合致する2タプルエントリが存在する場合、この方法は、そのエントリが通過状態にあるかどうかを判定する(532)。通過状態にある場合、この方法は、その2タプルエントリに対応するタイマおよびカウンタをリセットし(534)、次に、そのパケットを外部のホストHoに向けて通過させる(520)。その後、この方法は、別のアウトバウンドパケットを待つことに戻る。そうではなく、この方法が、その2タプルエントリが通過状態にはないと判定した(532)場合、この方法は、そのパケットを外部のホストHoに向けて通過させ(520)、その後、別のアウトバウンドパケットを待つことに戻る。
【0087】
この方法が、そのパケットがKOP RSPではないと判定した(528)場合、次に、この方法は、そのパケットがKOP NAKメッセージであるかどうかを判定する(536)。KOP NAKメッセージである場合、この方法は、組込み型KOFファイアウォール12上にそのパケットと合致する2タプルエントリが存在するかどうかを判定する(538)。そのような合致する2タプルエントリが存在しない場合、この方法は、組込み型KOFファイアウォール12上で、そのパケットに対応する2タプルエントリを作成し(540)、さらにそのエントリを阻止状態に設定する。次に、この方法は、そのパケットを外部のホストHoに向けて通過させ(520)、別のアウトバウンドパケットを待つことに戻る。そうではなく、合致する2タプルエントリが存在する場合、この方法は、そのエントリを阻止状態に設定し(542)、さらにそのエントリに対応するタイマをリセットする。次に、この方法は、そのパケットを外部のホストHoに向けて通過させ(520)、別のアウトバウンドパケットを待つことに戻る。
【0088】
この方法が、そのパケットがKOP NAKメッセージではないと判定した(536)場合、この方法は、そのパケットを外部のホストHoに向けて通過させ(520)、別のアウトバウンドパケットを待つことに戻る。
【0089】
図10は、図3パートbに示される実施形態によるファイアウォール20と直列のKOF18によって実行されるインバウンドパケットを扱う方法600を示す流れ図である。これらの流れ図は、タイマ満了による図6に示される状態遷移を含まない。
【0090】
図10を参照すると、方法600が、インバウンドパケットがKOF18に着信するのを待つ(602)。インバウンドパケットが着信すると、この方法は、そのパケットがKOP REQメッセージであるかどうかを判定する(604)。そのパケットがKOP REQメッセージではない場合、この方法は、そのパケットをFW20まで通過させ(606)、別のインバウンドパケットを待つことに戻る。そのパケットがKOP REQメッセージである場合、この方法は、そのパケットがKOF18上に既に格納されている2タプルエントリと合致するかどうかを判定する(608)。そのような合致する2タプルエントリが存在しない場合、次に、この方法は、そのパケットに対応する2タプルエントリを作成し(610)、さらにそのエントリを通過状態に設定する。次に、この方法は、そのパケットをFW20まで通過させ(612)、別のインバウンドパケットを待つことに戻る。この方法が、合致する2タプルエントリが存在すると判定した(608)場合、次に、この方法は、そのエントリが阻止状態にあるかどうかを判定する(614)。阻止状態にある場合、この方法は、そのパケットを阻止し(616)、別のインバウンドパケットを待つことに戻る。
【0091】
この方法が、2タプルエントリが阻止状態にはないと判定した(614)場合、この方法は、通過状態にある、そのエントリに対応する2タプルカウンタをインクリメントし、次に、そのカウンタがオーバーロードしたかどうかを判定する(622)。そのカウンタがオーバーロードしている場合、この方法は、2タプルエントリを阻止状態に設定し(620)、さらにそのエントリに関するタイマをリセットする。次に、この方法は、そのパケットを阻止し(616)、別のインバウンドパケットを待つことに戻る。しかし、そのカウンタがオーバーロードしていない場合、この方法は、そのパケットをFW20まで通過させ(624)、その後、別のインバウンドパケットを待つことに戻る。
【0092】
図11は、図3パートbに示される実施形態によるファイアウォール20と直列のKOF18によって実行されるインバウンドパケットを扱う方法700を示す流れ図である。これらの流れ図は、タイマ満了による図6に示される状態遷移を含まない。
【0093】
図11を参照すると、方法700が、アウトバウンドパケットがKOF18に着信するのを待つ(702)。アウトバウンドパケットを受信すると、この方法は、そのパケットがKOPメッセージであるかどうかを判定する(704)。そのパケットがKOPメッセージではない場合、次に、この方法は、KOF18上にそのパケットと合致する5タプルエントリが存在するかどうかを判定する(706)。そのような合致する5タプルエントリが存在しない場合、この方法は、そのパケットを外部のホストHoに向けて通過させる(708)。その後、この方法は、別のアウトバウンドパケットを待つことに戻る。そのような合致する5タプルエントリが存在する場合、この方法は、阻止状態にある、その5タプルエントリを削除し(710)、さらにそのパケットを外部のホストHoに向けて通過させる(708)。その後、この方法は、別のアウトバウンドパケットを待つことに戻る。
【0094】
この方法が、そのパケットがKOPメッセージであることを判定した(704)場合、次に、この方法は、そのパケットがKOP FINメッセージであるかどうかを判定する(712)。KOP FINメッセージである場合、この方法は、KOF18上に合致する5タプルエントリが存在するかどうかを判定する(714)。そのような合致する5タプルエントリが存在しない場合、この方法は、そのパケットを外部のホストHoに向けて通過させ(708)、別のアウトバウンドパケットを待つことに戻る。そうではなく、合致する5タプルエントリが存在する場合、この方法は、そのパケットに対応する5タプルエントリを作成し(716)、さらにそのエントリを阻止状態に設定する。次に、この方法は、そのパケットを外部のホストHoに向けて通過させる(708)。その後、この方法は、別のアウトバウンドパケットを待つことに戻る。
【0095】
この方法が、そのパケットがKOP FINメッセージではないと判定した(712)場合、次に、この方法は、そのパケットがKOP RSPメッセージであるかどうか判定する(718)。KOP RSPメッセージである場合、この方法は、KOF18上に合致する2タプルエントリが存在するかどうかを判定する(720)。そのような合致する2タプルエントリが存在しない場合、この方法は、そのパケットを外部のホストHoに向けて通過させ(708)、別のアウトバウンドパケットを待つことに戻る。そうではなく、合致する2タプルエントリが存在する場合、この方法は、そのエントリが通過状態にあるかどうかを判定する(722)。通過状態にある場合、この方法は、そのエントリに対応するタイマおよびカウンタをリセットし(724)、次に、そのパケットを外部のホストHoに向けて通過させる(708)。その後、この方法は、別のアウトバウンドパケットを待つことに戻る。そうではなく、合致する2タプルエントリが通過状態にはない場合、この方法は、そのパケットを外部のホストHoに向けて通過させ(708)、別のアウトバウンドパケットを待つことに戻る。
【0096】
この方法が、そのパケットがKOP RSPメッセージではないと判定した(718)場合、次に、この方法は、そのパケットがKOP NAKメッセージであるかどうかを判定する(726)。KOP NAKメッセージである場合、この方法は、KOF18上にそのパケットに合致する2タプルエントリが存在するかどうかを判定する(728)。そのような合致する2タプルエントリが存在しない場合、この方法は、そのパケットに対応する2タプルエントリをKOF12上に作成し(730)、さらにそのエントリを阻止状態に設定する。次に、この方法は、そのパケットを外部のホストHoに向けて通過させ(708)、別のアウトバウンドパケットを待つことに戻る。そうではなく、合致する2タプルエントリが存在する場合、この方法は、そのエントリを阻止状態に設定し(732)、さらにそのエントリに対応するタイマをリセットする。次に、この方法は、そのパケットを外部のホストHoに向けて通過させ(708)、別のアウトバウンドパケットを待つことに戻る。
【0097】
この方法が、そのパケットがKOP NAKメッセージではないと判定した(726)場合、この方法は、そのパケットを外部のホストHoに向けて通過させ(708)、別のアウトバウンドパケットを待つことに戻る。
ネットワークアドレストランスレータへの適用
ほとんどのNATは、ネットワークアドレス変換またはネットワークアドレス/ポート変換をファイアウォール機能と組み合わせる。これらの場合、前述したのと同一のKOF方法が、適用され得る。しかし、NATにより、内部のホストHiの内部アドレスおよび内部ポート番号は、NATによって変換された内部のホストHiの公開のアドレス、および公開のポート番号とは異なる。したがって、外部のホストHoは、内部のホストHiとどのように連絡をとるべきかを知らない可能性がある。さらに、内部のホストHiは、内部のホストHiの公開のIPアドレスを知らない可能性がある。この状況は、KOPメッセージに影響するとともに、トランスポート接続の確立にも影響する。
【0098】
KOPメッセージが、従来のトランスポートタイプ(UDPまたはTCP)によってサポートされる場合、ホストは、IETF(RFC 5389)によって提案されるNATに関する接続通過ユーティリティ(STUN)を使用して、ホストのKOP公開IPアドレスおよびKOP公開ポート番号を見出すことが可能である。内部のホストHiは、これらのデータをDNSにおいて公開して、これらのデータが公共で利用可能であるようにすることが可能である。
【0099】
また、内部のホストHiは、STUN法を使用して、内部のホストHiがセットアップすることを所望するトランスポート接続に関する公開のIPアドレス、および公開のポート番号を見出すことも可能である。次に、STUN法の結果が、接続セットアップ時にKOP REQメッセージの中で遠隔のホストに転送されることが可能である。遠隔のホストもまた、NATの背後に存在する場合、遠隔のホストは、同一のSTUN法を使用し、遠隔のホスト自らの公開のIPアドレス、および公開のポート番号をKOP ACKメッセージまたはKOP RSPメッセージの中で戻す。次に、内部のホストと外部のホストの両方が、トランスポートパケットを互いに転送することができ、このアクションは、それぞれNAT上で5タプルエントリを作成する。「ホールパンチング」としばしば呼ばれるこの技術は、両方のホストの間でトランスポート接続が確立されることを可能にする。
【0100】
同一の主要な方法が、KOPメッセージが、例えば、IP拡張ヘッダ(IPv6)またはIPオプションヘッダ(IPv4)を介して、トランスポート接続上に多重化される際に、またはKOPメッセージがトランスポート層に埋め込まれる場合に、適用される。この方法は、ホストのDNSサーバにおいて公開され得るKOPアドレスおよびポート番号が唯一ではないという欠点を有する。この場合、RSが使用され得る。RSは、両方のホストに関してSTUNサービスを実行し(両方のホストがNATの背後にある場合)、さらにそれらをKOPメッセージ交換に含める。
【0101】
最後に、一方または両方のNATが対称型NATである場合、RSの機能が、KOPメッセージ交換からトランスポートデータのトンネリングに拡張されることが可能である。
【0102】
特許請求の範囲で規定される、本発明の範囲を逸脱することなく、前述した本発明の実施形態に多数の変形、変更、および適合が行われることが可能である。
【特許請求の範囲】
【請求項1】
第1のホストシステムと第2のホストシステムの間で、第2のホストシステムを保護するファイアウォールを介して接続を確立する方法であって、
KOF(ノックオンフィーチャ)装置によって、
第1のホストシステムによって送信された第1のメッセージを受信すること、
第1のメッセージが、第1のホストシステムと第2のホストシステムの間で接続を確立するための第1のタイプであると判定すること、
第1のメッセージから第1のホストシステムのアドレス、および第2のホストシステムのアドレスをそれぞれ特定すること、
KOF装置上に第1のホストシステムのアドレス、および第2のホストシステムのアドレスに対応する2タプルに関する状態情報が存在するかどうかを判定すること、および
KOF装置上に2タプルに関する前記状態情報が存在しない場合、第1のメッセージを第1のホストシステムに送信することを実行することを備える、方法。
【請求項2】
第2のタプルに関する第1のタイマを初期設定し、開始すること、
第2のタプルに関するメッセージカウンタを初期設定し、インクリメントすること、
第1のタイマが満了した場合、KOF装置上の前記状態情報を除去し、さらにKOF装置上に2タプルに関する前記状態情報が存在する場合、
第1のタイマを調べること、
メッセージカウンタのカウントを調べること、
カウントが所定の値に達している場合、2タプルに関する第2のタイマを開始して、第1のメッセージをドロップすること、および
カウントが所定の値に達していない場合、第1のメッセージを第2のホストシステムに送信することをさらに備える、請求項1に記載の方法。
【請求項3】
KOF装置上に2タプルに関する前記状態情報が存在する場合、
第2のタイマを調べること、
第2のタイマが満了していない場合、第1のメッセージをドロップすること、
第2のタイマが満了している場合、KOF装置上の2タプルに関するすべての前記状態情報を除去すること、
第2のホストシステムによって送信された第2のメッセージを受信すること、
第2のメッセージが、第1のメッセージに応答して第1のホストシステムから情報を要求するための第2のタイプであると判定すること、および
第2のメッセージを第1のホストシステムに送信することをさらに備える、請求項2に記載の方法。
【請求項4】
KOF装置が、ファイアウォールの外部に、ファイアウォールと直列に位置する方法であって、
第2のタイマを調べること、
第2のタイマが満了していない場合、第1のメッセージをドロップすること、および
第2のタイマが満了している場合、2タプルに関する5タプル状態情報を含め、KOF装置上の2タプルに関するすべての前記状態情報を除去することをさらに含み、5タプル状態情報が、2タプルに加えて、接続に関して、プロトコルタイプの指示と、第1のホストシステムの第1のポートの指示と、第2のホストシステムの第2のポートの指示とを含む、請求項2に記載の方法。
【請求項5】
第2のホストシステムに関してKOF装置上に存在する状態情報の量を特定すること、
量が所定の上限を超えたことに応答して、第2のホストシステムと、各ペアにおいて異なる別のホストシステムとをそれぞれが備える2つのホストシステムペアの状態情報を組み合わせて、第2のホストシステムのアドレスと、2つのホストシステムペアの他方のホストシステムのそれぞれのアドレスに共通であるアドレスプレフィックスとを備える1つのホストシステムペアに関する状態情報にすること、
前記1つのホストシステムペアに関する組み合わされたタイマを、2つのホストシステムペアのそれぞれの第1のタイマの小さい方に設定すること、および
前記1つのホストシステムペアに関する組み合わされたメッセージカウンタを、2つのホストシステムペアのそれぞれのメッセージカウンタの大きい方に設定することをさらに備える、請求項1に記載の方法。
【請求項6】
第2のホストシステムによって送信された第3のメッセージを受信すること、
第3のメッセージが、第1のホストシステムと第2のホストシステムの間の接続を終了させるための第3のタイプであると判定すること、および
第3のタイプのメッセージを受信したことに応答して、KOFから、2タプルに関する5タプル状態情報を除去することをさらに含み、5タプル状態情報が、2タプルに加えて、接続に関して、プロトコルタイプの指示と、第1のホストシステムの第1のポートの指示と、第2のホストシステムの第2のポートの指示とを含む、請求項1に記載の方法。
【請求項7】
KOF装置がファイアウォールの一部である方法であって、
第2のホストシステムによって送信された第4のメッセージを受信すること、
第4のメッセージが、第1のメッセージに応答して接続を開始するための第4のタイプであると判定すること、
5タプルに関して第3のタイマを開始すること、
第1のホストシステムによって送信され第2のホストシステムを宛先とする通信トラフィックを受信すること、
第3のタイマを調べること、
ファイアウォール上に5タプルに関する状態情報が存在するかどうかを判定すること、および
第3のタイマが満了していないことに応答して、さらにファイアウォール上に5タプルに関する状態情報が存在することに応答して、通信トラフィックを通過させることをさらに備える、請求項6に記載の方法。
【請求項8】
KOF装置が、ファイアウォールの外部にある中継サーバの一部である方法であって、
受信するステップが、第1のホストシステムと中継サーバの間の前もって確立された第1のシグナリング接続を介して第1のメッセージを受信することを備え、さらに送信するステップが、第2のホストシステムと中継サーバの間の前もって確立されたシグナリング接続を介して第1のメッセージを第2のホストシステムに送信することを備える、請求項1に記載の方法。
【請求項9】
送信するステップが、
KOF上に、第1のホストシステムのアドレス、および第2のホストシステムのアドレスに対応する2タプルエントリを作成すること、および
2タプルエントリを通過状態に設定することをさらに備える、請求項1に記載の方法。
【請求項10】
第1のホストシステムに関してKOF装置上に存在する状態情報の量を特定すること、
量が所定の上限を超えたことに応答して、第1のホストシステムと、各ペアにおいて異なる別のホストシステムとをそれぞれが備える2つのホストシステムペアの状態情報を組み合わせて、第2のホストシステムのアドレスと、2つのホストシステムペアの他方のホストシステムのそれぞれのアドレスに共通であるアドレスプレフィックスとを備える1つのホストシステムペアに関する状態情報にすることをさらに備える、請求項1に記載の方法。
【請求項1】
第1のホストシステムと第2のホストシステムの間で、第2のホストシステムを保護するファイアウォールを介して接続を確立する方法であって、
KOF(ノックオンフィーチャ)装置によって、
第1のホストシステムによって送信された第1のメッセージを受信すること、
第1のメッセージが、第1のホストシステムと第2のホストシステムの間で接続を確立するための第1のタイプであると判定すること、
第1のメッセージから第1のホストシステムのアドレス、および第2のホストシステムのアドレスをそれぞれ特定すること、
KOF装置上に第1のホストシステムのアドレス、および第2のホストシステムのアドレスに対応する2タプルに関する状態情報が存在するかどうかを判定すること、および
KOF装置上に2タプルに関する前記状態情報が存在しない場合、第1のメッセージを第1のホストシステムに送信することを実行することを備える、方法。
【請求項2】
第2のタプルに関する第1のタイマを初期設定し、開始すること、
第2のタプルに関するメッセージカウンタを初期設定し、インクリメントすること、
第1のタイマが満了した場合、KOF装置上の前記状態情報を除去し、さらにKOF装置上に2タプルに関する前記状態情報が存在する場合、
第1のタイマを調べること、
メッセージカウンタのカウントを調べること、
カウントが所定の値に達している場合、2タプルに関する第2のタイマを開始して、第1のメッセージをドロップすること、および
カウントが所定の値に達していない場合、第1のメッセージを第2のホストシステムに送信することをさらに備える、請求項1に記載の方法。
【請求項3】
KOF装置上に2タプルに関する前記状態情報が存在する場合、
第2のタイマを調べること、
第2のタイマが満了していない場合、第1のメッセージをドロップすること、
第2のタイマが満了している場合、KOF装置上の2タプルに関するすべての前記状態情報を除去すること、
第2のホストシステムによって送信された第2のメッセージを受信すること、
第2のメッセージが、第1のメッセージに応答して第1のホストシステムから情報を要求するための第2のタイプであると判定すること、および
第2のメッセージを第1のホストシステムに送信することをさらに備える、請求項2に記載の方法。
【請求項4】
KOF装置が、ファイアウォールの外部に、ファイアウォールと直列に位置する方法であって、
第2のタイマを調べること、
第2のタイマが満了していない場合、第1のメッセージをドロップすること、および
第2のタイマが満了している場合、2タプルに関する5タプル状態情報を含め、KOF装置上の2タプルに関するすべての前記状態情報を除去することをさらに含み、5タプル状態情報が、2タプルに加えて、接続に関して、プロトコルタイプの指示と、第1のホストシステムの第1のポートの指示と、第2のホストシステムの第2のポートの指示とを含む、請求項2に記載の方法。
【請求項5】
第2のホストシステムに関してKOF装置上に存在する状態情報の量を特定すること、
量が所定の上限を超えたことに応答して、第2のホストシステムと、各ペアにおいて異なる別のホストシステムとをそれぞれが備える2つのホストシステムペアの状態情報を組み合わせて、第2のホストシステムのアドレスと、2つのホストシステムペアの他方のホストシステムのそれぞれのアドレスに共通であるアドレスプレフィックスとを備える1つのホストシステムペアに関する状態情報にすること、
前記1つのホストシステムペアに関する組み合わされたタイマを、2つのホストシステムペアのそれぞれの第1のタイマの小さい方に設定すること、および
前記1つのホストシステムペアに関する組み合わされたメッセージカウンタを、2つのホストシステムペアのそれぞれのメッセージカウンタの大きい方に設定することをさらに備える、請求項1に記載の方法。
【請求項6】
第2のホストシステムによって送信された第3のメッセージを受信すること、
第3のメッセージが、第1のホストシステムと第2のホストシステムの間の接続を終了させるための第3のタイプであると判定すること、および
第3のタイプのメッセージを受信したことに応答して、KOFから、2タプルに関する5タプル状態情報を除去することをさらに含み、5タプル状態情報が、2タプルに加えて、接続に関して、プロトコルタイプの指示と、第1のホストシステムの第1のポートの指示と、第2のホストシステムの第2のポートの指示とを含む、請求項1に記載の方法。
【請求項7】
KOF装置がファイアウォールの一部である方法であって、
第2のホストシステムによって送信された第4のメッセージを受信すること、
第4のメッセージが、第1のメッセージに応答して接続を開始するための第4のタイプであると判定すること、
5タプルに関して第3のタイマを開始すること、
第1のホストシステムによって送信され第2のホストシステムを宛先とする通信トラフィックを受信すること、
第3のタイマを調べること、
ファイアウォール上に5タプルに関する状態情報が存在するかどうかを判定すること、および
第3のタイマが満了していないことに応答して、さらにファイアウォール上に5タプルに関する状態情報が存在することに応答して、通信トラフィックを通過させることをさらに備える、請求項6に記載の方法。
【請求項8】
KOF装置が、ファイアウォールの外部にある中継サーバの一部である方法であって、
受信するステップが、第1のホストシステムと中継サーバの間の前もって確立された第1のシグナリング接続を介して第1のメッセージを受信することを備え、さらに送信するステップが、第2のホストシステムと中継サーバの間の前もって確立されたシグナリング接続を介して第1のメッセージを第2のホストシステムに送信することを備える、請求項1に記載の方法。
【請求項9】
送信するステップが、
KOF上に、第1のホストシステムのアドレス、および第2のホストシステムのアドレスに対応する2タプルエントリを作成すること、および
2タプルエントリを通過状態に設定することをさらに備える、請求項1に記載の方法。
【請求項10】
第1のホストシステムに関してKOF装置上に存在する状態情報の量を特定すること、
量が所定の上限を超えたことに応答して、第1のホストシステムと、各ペアにおいて異なる別のホストシステムとをそれぞれが備える2つのホストシステムペアの状態情報を組み合わせて、第2のホストシステムのアドレスと、2つのホストシステムペアの他方のホストシステムのそれぞれのアドレスに共通であるアドレスプレフィックスとを備える1つのホストシステムペアに関する状態情報にすることをさらに備える、請求項1に記載の方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公表番号】特表2013−521711(P2013−521711A)
【公表日】平成25年6月10日(2013.6.10)
【国際特許分類】
【出願番号】特願2012−556194(P2012−556194)
【出願日】平成23年3月2日(2011.3.2)
【国際出願番号】PCT/US2011/026782
【国際公開番号】WO2011/109461
【国際公開日】平成23年9月9日(2011.9.9)
【出願人】(391030332)アルカテル−ルーセント (1,149)
【Fターム(参考)】
【公表日】平成25年6月10日(2013.6.10)
【国際特許分類】
【出願日】平成23年3月2日(2011.3.2)
【国際出願番号】PCT/US2011/026782
【国際公開番号】WO2011/109461
【国際公開日】平成23年9月9日(2011.9.9)
【出願人】(391030332)アルカテル−ルーセント (1,149)
【Fターム(参考)】
[ Back to top ]