JP3636095B2 - Vpn接続のセキュリティ - Google Patents

Vpn接続のセキュリティ Download PDF

Info

Publication number
JP3636095B2
JP3636095B2 JP2001142733A JP2001142733A JP3636095B2 JP 3636095 B2 JP3636095 B2 JP 3636095B2 JP 2001142733 A JP2001142733 A JP 2001142733A JP 2001142733 A JP2001142733 A JP 2001142733A JP 3636095 B2 JP3636095 B2 JP 3636095B2
Authority
JP
Japan
Prior art keywords
nat
vpn
address
connection
ipsec
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.)
Expired - Fee Related
Application number
JP2001142733A
Other languages
English (en)
Other versions
JP2002026988A (ja
Inventor
エドワード・ビー・ボーデン
マーク・ジェイ・メルヴィル
トッド・エー・モンロー
フランク・ブイ・パックスヒア
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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
Priority claimed from US09/578,215 external-priority patent/US7107614B1/en
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2002026988A publication Critical patent/JP2002026988A/ja
Application granted granted Critical
Publication of JP3636095B2 publication Critical patent/JP3636095B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/255Maintenance or indexing of mapping tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2564NAT traversal for a higher-layer protocol, e.g. for session initiation protocol [SIP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • 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

Landscapes

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

Description

【0001】
【発明の属する技術分野】
本発明は、VPN接続のセキュリティに関する。本発明は,特に、VPN NAT、すなわちNATとIPSecプロトコルとを並行して使用することに関する。VPN(virtual private network:仮想私設網)とは公衆網の中に仮想的に構築した私設網のことである。NAT(network address translation)とは少ないグローバル・アドレスで利用することのできる端末の数を増やすために、プライベート・アドレスとグローバル・アドレスとを変換することであり、RFC1631で規定されている。RFC(request for comments)とはインターネット関連技術の標準化団体であるIETF(Internet Engineering Task Force)が取りまとめている一連の文書のことである。IPSecプロトコル(Internet Protocol Security protocols)とはTCP/IP(Transmission Control Protocol / Internet Protocol)にセキュリティ機能を付加するプロトコルの枠組みのことである。
【0002】
【従来の技術】
VPN(仮想私設網)は、インターネットとコンピューティングの産業を通じて技術的な発展が盛んな分野である。これは、VPNによって初めて大部分の形態のeビジネス(e-buisiness)が成り立ちうるようになるからである。VPNではプロトコル・トンネリングと暗号化・復号化技術(IPSecプロトコル)を使っているので、クライアントとサーバ、支店、あるいは独立機関が、専用線を購入するよりもはるかに少ない費用で、専用線の主要な便益であるプライバシーを損なうことなく、インターネットを自分たちのTCP/IP通信用に利用することが可能になる。
【0003】
VPNが使っているトンネリング(途中にある別のネットワークを経由してデータを送信すること)には、以前は直接通信していなかった、サブネットや企業など2つのユーザが通信を始めることに起因して、IPアドレスが衝突する可能性が非常に大きくなる、という問題を引き起こす副作用がある。
【0004】
IPアドレスの衝突を克服するために、インターネット、およびインターネットに接続している企業ではNATが広く使われている。これらIPアドレスの衝突は、一般に、指定された「専用(private)」のIPアドレス空間(たとえば10.*.*.*)同士の間で起こる。
【0005】
しかしながら、NATとIPSec(IPセキュリティ)とは、アーキテクチャ上矛盾対立する関係にある。実際、NATは、IPSecを破ってしまう。すなわち、NATは「ロケータ(locator)および終点識別子(end-point identifier)双方としてのIPアドレスの意味上の過負荷を最終的には破ってしまう機能である」(「NATのアーキテクチャ上の意味」〔draft-iab-nat-implication-00.txt, 1998年3月〕〔"architectural Implications of NAT", draft-iab-nat-implication-00.txt, March 1998.〕参照。IPSecは、ケントとアトキンソン「IPのためのセキュリティ・アーキテクチャ」〔RFC2401、1998年11月〕〔Kent, S., and Atkinson, "Securuty Architecture for the Internet Protocol", RFC 2401, November 1998〕、ケントとアトキンソン「IP認証プロトコル」〔PFC2402、1998年11月〕〔Kent, S., and Atkinson, "IP Authentication Protocol", RFC 2402, November 1998 〕、および、ケントとアトキンソン「IPカプセル化セキュリティ・ペイロード」〔RFC2406、1998年11月〕〔Kent, S., and Atkinson, "IP Encapsulation Security Payload", RFC 2406, November 1998. 〕に記載されている)。この結果、2つのホストは、中間にNATシステムがあると、IPSec接続を確立することができない。これには、以下に示す2つの理由がある。その前に、(IPSec接続の場合、)2つのホストの間を流れるIPデータには、AH(authentication header:認証用ヘッダー)とESP(encapsulation security payload: IPパケットの暗号化プロトコル)とが適用されることになる。(上掲RFC2402、RFC2406参照)。
【0006】
第1に、トンネル・モードにおけるESPに関しては、変換する必要のあるIPアドレスは、ESPトンネルの内部にあるとともに、暗号化されている。したがって、上記IPアドレスは、NATには入手不可能である(トンネル・モードにおけるESPではIPパケットをヘッダーを含めて暗号化する)。トランスポート・モードまたはトンネル・モードにおけるAHに関しては、変換する必要のあるIPアドレスは、NATで見ることができる。しかし、AH認証には、上記IPアドレスが含まれいてる。したがって、IPアドレスを変更することにより、IPSec接続のリモート側における認証を破ることができる。トランスポート・モードにおけるESPに関しては、ESPを認証とともに使ったとしても、IPアドレスは、NATにとって入手可能である(トランスポート・モードにおけるESPではIPパケットのデータ部だけしか暗号化しない)。したがって、IPアドレスを変更すると、IPSec接続のリモート側での認証が破れるのに起因してIPSec接続が破れてしまう。
【0007】
第2に、IPSec接続用のIP通信データを変換することがたとえできたとしても、IPSec接続は2つのホストIPアドレスを含むセキュリティ・アソシエーション(Security Association: SA、相互に認証しあったネットワーク上の実体〔コンピュータやそのユーザ、ソフトウェア・コンポーネントなど〕の一群)に基づいているので、それはうまくゆかないだろう。これらの事柄は、セキュリティ・アソシエーションアーキテクチャ(上掲RFC2401参照)にとって重要である。というのは、暗号化(または認証)がなされるべきホストでは、インバウンドIPSecは、次に示す3要素によって一意に決定される必要があるからである。
{送信先IPアドレス,SPI,IPSecプロトコル}
ただし、SPIとはセキュリティ・プロトコル・インデックス(security protocol index)のことである(上掲RFC2401参照)。
【0008】
たとえば、いま2つのホストA、Wがあるものとして、ホストAからホストWへ流れる、トランスポート・モードにおけるESPが施されたIPデータグラム(電線を流れるディジタル・データに対する一般用語〔正確には、データグラムとは、非コネクション型の経路を流れるパケットのことである。TCP/IPは非コネクション型の経路制御を行なう〕)にNATが適用されている、と仮定する。したがって、IP送信元アドレスは、変更されている。パケットは、ホストWに到着すると、恐らく首尾よく復号化される。なぜなら、パケットは、IP送信元アドレスに依存していないからである(パケットはトンネル化されず、平文のままである)。しかし、実装が厳密である場合には、復号化に続くインバウンドSPDチェックは、IP送信元アドレスが変更されたことに起因して、失敗する(なぜなら、変更されたIP送信元アドレスは、セキュリティ・アソシエーションとネゴシエーションするのに使ったアドレスではないからである)。以上のように、トランスポート・モードのESPの場合であるにもかかわらず、失敗する。
【0009】
NATとIPSecとを相互に排他的にするだけでは、当技術分野で捜し求めている解決策にはならない。NATは、グローバルなアドレス変更を実現する、アドレスの利用率を低減する、ISP(Internet service provider:インターネット接続業者)のサポート負担を低減する、仮想ホストとして負荷の分担を可能にする、というように多くの問題を解決することができるので、NATは、広く配置されている。
【0010】
しかし、今日では、NATは、インターネットに配置されているセキュリティ統合にとって、唯一最大の脅威であるとみなされている。この「NAT問題」(いつも決まってこのように呼ばれる)は、アーキテクチャ上重要である。しかし、レガシーなアプリケーションおよびサービス(たとえば、IPバージョン4〔IPv2〕用に開発されたもの)は、IPバージョン6〔IPv6〕用に開発されたアプリケーションおよびサービスと長く共存してゆくことになる。したがって、NATとIPSecとの共存を実現する技術が、少なくとも選ばれた状況では、大いに必要とされている。しかも、深刻な構成上の問題を引き起こさずに、NATとIPSecとの共存を実現する技術が必要とされている。(IPバージョン4は、「インターネット・プロトコル」〔RFC791、1981年9月〕〔"Internet Protocol", RFC791, September 1981.〕に記載されている。IPバージョン6は、ディアリングとヒンデンの「インターネット・プロトコル、バージョン6(IPv6)仕様」〔RFC2460、1998年12月〕〔Deering, S., Hindrn, R., "Internet Protocol, Version 6 (IPv6) Specification", RFC2460, December 1998. 〕に記載されている)。
【0011】
2つのアドレス・ドメインの間をVPNで接続すると、接続する予定がない2つのアドレス・ドメインを直接接続することができる、という効果が得られる。したがって、VPNの使用が増大すると、アドレスの衝突が増大しやすくなる(なぜなら、接続する予定がない2つのアドレス・ドメインの間では、アドレスの重複を避ける方策がとられないからである)。また、VPNはネットワークの可視性を再定義するものであるから、VPNがNATを横切ると、アドレスが衝突する可能性が増大する、ということが分かる。今後、NATの陰に隠れたアドレス空間においてアドレスを管理することが、多大な負担になるであろう。したがって、この負担を軽減する技術が必要とされている。
【0012】
米国特許出願第09/240720号には、IPSecとNATとを統合する際に生じる一般的な問題に対する解決策が述べられている。そこでは、NATを使うVPNにおけるIPセキュリティ(IPSec)を、4種類のVPN NATのうちの1つまたはそれらの組み合わせを実行することによって実現している。(3種類のVPN NATは後述する。第4のVPN NATはこの出願の出願人の出願に係る米国特許出願に記載さている)。上記米国特許出願は、NAT規則を動的に生成し、それらと、セキュリティ・アソシエーションを使うIPセキュリティを開始する前に、人手であるいは動的に生成したIKE(Internet key exchange:インターネット鍵交換) セキュリティ・アソシエーションとを関連付ける点を含んでいる。(ハーキンスとキャレルの「インターネット鍵交換(IKE)」〔RFC2409、1998年11月〕〔Harkins, D., Carrel, D., "The Internet Key Exchange (IKE)", RFC2409, Novemner 1998. 〕参照。セキュリティ・アソシエーション(Security Association) は、上掲RFC2401で定義されている用語である)。したがって、アウトバウンド・データグラムとインバウンド・データグラムとの双方でIPSecを実行しているので、NAT機能も実行している。「IPSecを実行」なる記載は、上掲したIPSecに関する3つのRFC(および他のRFC)によって定義されているように、IPSecアウトバウンド処理またはIPSecインバウンド処理から成るステップを実行することを意味している。「NATを実行」なる記載は、後述するVPN NAT処理から成るステップを実行することを意味している。
【0013】
上記米国特許出願第09/240720号では、利用者は、個別のVPN NAT規則を個別のVPN接続として構成しなければならない。これは、時間の無駄であるとともに、間違いを犯しやすい。したがって、VPN接続は、実際には通信を保護することになっており、また、特定のVPN NATとは無関係であるべきである。
すなわち、VPN NAT規則は、今まで1対1であった。これでは、NATを利用することによって、必要なVPN接続の数が増大してしまう。
【0014】
【発明が解決しようとする課題】
本発明の目的は、NAT(Network address Translation )とIPセキュリティ(IP Security:IPSec)との双方を並行して実現する、改良され、かつ大幅に簡易化されたシステムと方法とを提供することである。
【0015】
本発明の他の目的は、VPN(virtual Private netwrk)の使用に内在する、IPアドレスの衝突の可能性が増大するという問題を解決するシステムと方法とを提供することである。
【0016】
本発明の他の目的は、ドメインの再アドレス指定(高価な代替手段)を必要とすることなく、VPNを利用することができるようにするシステムと方法とを提供することである。
【0017】
本発明の他の目的は、ドメイン・ホストにおける変更を必要とすることなく、IPSecゲートウエイで全て実現される、VPN NAT用のシステムと方法とを提供することである。
【0018】
本発明の他の目的は、接続された各ドメインにおけるルーティングの変更を全く、あるいは少ししか必要としない、VPN NAT用のシステムと方法とを提供することである。
【0019】
本発明の他の目的は、単純な構成をした、VPN NAT用のシステムと方法とを提供することである。
【0020】
本発明の他の目的は、VPNが引き起こすアドレス衝突の問題の解決策を提供することである。
【0021】
本発明の他の目的は、利用者がVPN接続を構成するのを支援する簡単化した解決策を提供することである。
【0022】
本発明の他の目的は、単一のVPN接続が複数のVPN NAT規則をサポートすることができるようにすることである。
【0023】
本発明の他の目的は、暗黙的にすなわち動的に割り当てられたVPN NAT規則内の衝突を、システム全体の観点から避けることのできるシステムと方法とを提供することである。
【0024】
本発明の他の目的は、各NAT規則に対する多数の別々のVPN接続を管理する必要を無くすことにより、動的NAT規則に要するシステムのオーバーヘッドを低減することのできるシステムと方法とを提供することである。
【0025】
本発明の他の目的は、ネットワークの監視とトラフィックの分析とを簡単化することのできるVPN NATシステムと方法とを提供することである。
【0026】
【課題を解決するための手段】
本発明によると、仮想私設網(VPN)ネットワーク・アドレス変換(NAT)の複数のタイプのうちの1つまたは組み合わせを実行することにより、NATを使ったVPNでIPセキュリティ(IPSec)を実現することができる。これには、NAT規則の集合を動的に生成し、このNAT規則の集合と人手でまたは動的に生成した(IKE)セキュリティ・アソシエーションとを関連付けた後に、このセキュリティ・アソシエーションを使うIPセキュリティを開始することが含まれる。アウトバウンド・データグラムに対してIPSecを実行する直前に、接続(connection: コネクション)に関連付けられたNAT規則の集合から特定の規則を選んで、NAT機能を実行し、その後、IPSecが続く。インバウンド・データグラムに対してIPSecを実行した直後に、接続に関連付けられたNAT規則の集合から特定の規則を選んで、NAT機能を実行する。
【0027】
本発明の他の特徴と利点は、次に述べる本発明の好適な実施形態の詳細な説明および添付図面から明らかになる。
【0028】
【発明の実施の形態】
本発明の好適な実施形態に従って、単一のNAT変換規則ではなく、単一のVPN接続に適用される複数のNAT変換規則を備えたVPN NAT機能を通じてNAT問題に焦点を当てる。これにより、利用者がVPN接続を構成するのが非常に簡単になる。従来、NATとVPNとを必要とする各アドレスは、別々に構成しなければならなかった。本発明による新たな機能は、上掲米国特許出願第09/240720号を参照すると、「タイプa送信元−アウト(type a source-out )」・「タイプd送信先−イン(type d destination-in)」VPN NATを備えている。HIDE NAT規則とMAP NAT規則(既存のNATとも呼ばれる)が誤って使用され、IPSecがこの誤使用と結びついてしまう、という機能不全を避けるために、既存のNATの間にAHまたはESPをチェックする。HIDE NAT規則とMAP NAT規則は、図3と図4に関連して後述する既存のNATの基本的な2つの形態である。AHヘッダーまたはESPヘッダー以外のIPパケットに所定のNAT規則を適用しても、アドレス変換は行なわれない。このことは、インバウンドNATとアウトバウンドNATの双方に当てはまる。したがって、この結果は、既存のNAT(対IPSec用VPNNATすなわち対IPSec NAT)の場合には、IPSecが選ばれる、ということである。すなわち、IPSecは、既存のNATに優先する。
【0029】
NAT規則がロードされた時点では、IPSec接続が(たとえば動的IPと)衝突するか否かは分からないので、このような問題のチェックは、オペレーティング・システムのカーネルで実際にNAT処理が行なわれるまで、行なうことができない。これらの処置に対するユーザ可視性は、NAT規則に対してジャーナリングがオンの場合、NAT規則がデータグラムに適合している旨をジャーナル・エントリに表示することにより、提供される。しかし、これは、IPSec用には実行されていなかった。さらに、オペレーティング・システムのカーネルによるこれらの処置の情報ロギングは、既存のNAT規則1つ当たり限定された数のオカレンス(実現値)を備えることができる。同様に、1つのオカレンス当たりではなく、1つの接続当たりに1つのメッセージを、接続マネージャのジョブ・ログすなわち接続ジャーナルに提供することができる。「ジャーナリング」、「ジャーナル」なる用語は、当技術分野では、通常、それぞれ「ロギング」、「ログ・エントリ」とも呼ばれている。
【0030】
VPN NATと呼ばれているが、IPSecゲートウエイでNATをIPSecと一緒に使うことができるようにするために、利用者は、専用のIPアドレスを保持している。そして、IPSec接続の開始と終了をIPSecゲートウエイで行なうことにより、アドレスの衝突が増大するのを避けている。IPSecゲートウエイは、上掲RFC2401で定義されている用語である。「VPN接続」は、一般に「IPSecトンネル」と呼ばれているものを指す別の用語である。「IPSecトンネル」は、上掲RFC2401で定義されている。
【0031】
VPNは、統合NAT機能を備えたイニシエータ・モードとレスポンダ・モードの双方で実現されている。セキュリティ・アソシエーションは、適切な外部(NAT RHS)IPアドレスを使ってネゴシエーションされる。対応する内部(NAT LHS)IPアドレスのNAT処理は、IPSecへの接続のロードとオペレーティング・システムのカーネルにおけるIPSec処理とに同期して、生成されたNAT規則によって行なわれる。アウトバウンドでは、通常の送信元IPアドレスのほかに、インバウンド送信元IPアドレスを変換する(インバウンドでは、送信先IPアドレスの対応する変換をする)。「VPN NAT規則」は、図5のブロック126、124によって表されている。すなわち、LHSアドレスとRHSアドレスとの2つの組は、1つのVPN NAT規則から成る。
【0032】
本発明では、VPN接続に関連付けられたNAT規則のクラスを利用者が指定することができるようにするとともに、システムがこの指定されたクラスから特定のNATバインディング(規則)を動的に生成することができるようにして、単一のVPN接続が複数のVPN NAT規則をサポートしている。さらに、システム全体を基礎として、VPN NATのタイプが送信元インバウンドである場合には、利用者が構成したNATアドレスのプールとローカルIPアドレスとを関連付けることにより、暗黙的にすなわち動的に割り当てられたVPN NAT規則の間における衝突を回避している。また、この出願にとって重要なVPN NATの3つの型は、下に示すテーブル1によって定義されている。
【0033】
図1は、本発明の好適な実施形態の方法を示す図である。ステップ20でNATを必要とする接続を構成する。ステップ22でIPSec NATアドレス・プールを定義する。ステップ24でイニシエータ・モードの接続を開始する。ステップ26でレスポンダ・モードの接続を開始する(これらは接続の反対側で開始される)。ステップ28でSA(セキュリティ・アソシエーション)対の更新を処理する。そして、ステップ30で接続を終了する。(NATプールとは、IPアドレスの集合である)。これらのステップは、それぞれ、下でさらに説明する。
【0034】
ステップ20では、ユーザは、NATが必要になる接続をすることに決め、それらを構成する。これは、論理的には、NAT規則を書くのと等価である。このようにする際に考慮される4つの場合をテーブル1に示す。
【0035】
Figure 0003636095
【0036】
VPN接続は、4つの終点、すなわち2つの「接続終点」と2つの「データ終点」を有するものとして定義されている。(したがって、トランスポート・モードは、接続の各終わりで、接続終点がデータ終点と等しい、ということを意味する)。IDciなる用語とIDcrなる用語とは、特にどれがイニシエータであり、どれがレスポンダであるかを示すことにより、2つのデータ終点を指している(上掲RFC2409参照)。また、これらの識別子は、IDcr定義とIDci定義の一部を成す約6つの異なった形態のうちの1つをとることができる。この出願の場合、識別子の型は、特に関係はない。
【0037】
たとえばIPSecポリシー・データベースでNATの特定のインスタンスを指定するとき、ユーザは、たとえばチェック・ボックスでYes/Noを決める。IPSecポリシーとは、ここで使っているように、システムで構成されたIPSec情報の完全な集合のことである。この情報は、いわゆるIPSecデータベースすなわちIPSec・ポリシー・データベースに格納されている。レスポンダ・モードのNATフラグIDci、IDcrには、接続定義の一部を用いることができる。イニシエータ・モードのフラグには、「ローカル・クライアントID」(だけ)に関連付けられたユーザ−クライアント対の一部を用いることができる。レスポンダIDci NATフラグとレスポンダIDcr NATフラグとは、独立に設定することができる。両者は、接続定義が外部開始モードを有する場合にしか関係しない。
【0038】
今までは、全ての場合で、NATフラグが「オン」のときには、対応する細分値は、接続定義で「s」(スカラー)であることが必要であった。しかし、本発明によれば、これは、もはや動的VPN NATに対する制約とはならない。すなわち、「s」(スカラー)の細分度、「f」(フィルタ〕の細分度、「c」(クライアント)の細分度が全てサポートされている。「細分度(granuality)」は、上掲RFC2401の第15〜16頁に記載されている。本発明の典型的な実施形態、たとえばIBM AS/400によれば、「細分度」は次のように実現されている。すなわち、各VPN接続は、データグラム中に、当該VPN接続中に通信があるべきか否かを判断するのにチェックされうる5つのセレクタ(フィールド)を備えている。これら5つのセレクタは、送信元IP、送信先IP、送信元ポート、送信先ポート、プロトコルである。この典型的な実施形態によれば、各セレクタは、(1)当該VPN接続用のポリシー・フィルタ(セレクタ細分度「f」の場合)、(2)IKEからの単一の値(セレクタ細分度「s」の場合)、(3)IKEからの連続した範囲の値(セレクタ細分度「c」の場合)のうちのいずれかからその値を取得する。
【0039】
図2は、VPN NAT IPプールがネットワークのシナリオに関係する形態を示す図である。線34、36は、インターネット40におけるゲートウエイ(GW)42、44、46間のIPSec接続を表わしている。タイプ「a送信元−アウト」と「c送信元−イン」用のNATプール52、54は、各リモートID(ゲートウエイ44、46)に独立に関連付けられている。タイプ「d送信先−イン」のVPN NATの場合には、VPN NATゲートウエイ42が保持しているグローバルIPアドレス用に単一のNATプール50を定義することができる。この典型的な実施形態では、NATプール50、52、54用のIPSecポリシーは、IPSecデータベース48に格納されている。この例では、3つの内部ネットワーク56、58、60は、全て、同じ10.*.*.*というアドレス空間を使っている。これは、VPN NATに対して初期値と契機とを与える。すなわち、これら3つの内部ネットワーク56、58、60の間のIPSecトンネル(接続とも呼ばれる)は、それらを組み合わせる論理的な効果を有している。これは、一般に、アドレスの衝突なくして行なうことができない。VPN NATは、ゲートウエイ(Gw1)42が内部ネットワーク60、58上のゲートウエイ(GwQ)44およびゲートウエイ(GwY)46の後ろのホストとそれぞれ取引をする必要がある場合にゲートウエイ(Gw1)42に招来する問題の解決策を提供する。
【0040】
ステップ22で、ユーザは、VPN NAT機能が排他的に使用するのに使用可能なIPアドレスの集合を(NATプール50、52、54に)定義する。各NATプールは、IPアドレスのある範囲として定義可能であるのが望ましいが、しかし、不連続なIPアドレスのリストであってもかまわない。また、各NATプールは、リモートID IPSecポリシー・データベースのエンティティとローカルID IPSecポリシー・データベースのエンティティとに自然に関連付けられている。
【0041】
テーブル2に、様々なNATプールの動機付けを行なうVPN NATの各特徴の様々な意味を示す。リモートIDまたはローカルIDごとに特定してあるけれども、NATプールは、はっきり区別のできる3つのIPアドレスのグループとして管理することができる。これにより、ユーザは、たとえば、複数のリモートIDに対して同じ範囲を指定することが可能になる。文字a、c、dは、VPN NATのタイプ(テーブル1)に対応している。「ロ」の列は、ローカルにルーティング可能(locally routable)であることを意味している(これは、グローバルにルーティング可能(globally routable)と区別したものである)。
【0042】
Figure 0003636095
【0043】
ステップ24でイニシエータ・モードの接続が開始する。イニシエータ・モードの接続が開始すると、接続マネージャが、ローカルIDを変換すべきか否かを調べる。変換する必要がある場合、接続マネージャは、データベース中でリモートIDに関連付けられているNATプール(たとえば52)から使用可能なIPアドレスを捜し出す。IPアドレスが使用可能であるか否かは、接続マネージャが次のようにして判断する。接続マネージャは、常時動作しており、VPN接続を開始・終了させるとともに、状態を知らせるサーバである。このサーバ(接続マネージャ)は、任意のタイプ「a送信元−アウト」プール(テーブル1参照)からの、あるアクティブな接続(状態:開始、動作中、終了)で使われているIPアドレスの単一のリストを保持している。システム当り1つの接続マネージャしか動作していないから、「単一」はシステム全体で1つを意味する。接続マネージャは、使用済みのリストに載っていない、上記プールの最初のIPアドレスを選んで、使用済みのリストに付加する。使用可能なIPアドレスを見つけ出すことができない場合には、接続は開始せず、適切なエラー・メッセージ(およびOP NAV GUIへの戻りコード)を生成する。ポリシー・データベースは、IPアドレスが使用中であることを示すためには更新しない。そうではなく、ポリシー・データベースの更新は、アクティブな接続の集合だけに基づいて、接続マネージャが動的に決める。「OP NAV GUI」とは、「AS/400操作ナビゲータ・グラフィカル・ユーザ・インタフェース(GUI)(AS/400 Operations Navigator graphical user interface) 」のことであり、VPNを含むAS/400の様々な側面を構成するのに使うPC(パーソナル・コンピュータ)ベースのGUIである。
【0044】
接続マネージャがIKEに送る開始メッセージ(msg)は、プールから選択されたNAT RHS IPアドレスを持つことになる。このNAT RHS IPアドレスは、セキュリティ・アソシエーション(SA)対に付加される。これは、IKEからの戻りSAが完了させる。次いで、接続マネージャは、接続をIPSecにロードする。SA対は、2つのセキュリティ・アソシエーションであり(上掲RFC2401で定義されている)、1つはインバウンド用であり、他の1つはアウトバウンド用である。
【0045】
この2つのSA用のNAT規則を、IPSecが生成する。アウトバウンドでは、フィルタリング後でIPSec前にNATが行なわれる。インバウンドでは、IPSec後に(要すればフィルタリング前に)NATが行なわれる。この意味で、NATは、IPSec接続のローカル接続終点に対する「ラッピング(wrapping)」である。
【0046】
図3および図4は、本発明によるVPN NATタイプを示す後続する図面の背景および対照をなすものとして、既存のNAT機能を説明する図である。
【0047】
図3は、最も簡単な形である静的なNATを示す図である。既存のNATの両方のタイプとも、ユーザがOpNav GUIで対応するNAT規則文を書くことにより、明示的に構成する。これは、実際のNAT規則すなわちNAT文をシステムが生成するIPSec NATと対照的である。このような文の例として、図3のMAP文<MAP lhs TO rhs>、図4のHIDE文<HIDE ip addr set BEHIND rhs >が挙げられる。
【0048】
再び図3を参照すると、インバウンド処理では、送信元IP70が<MAP lhs TO rhs>文のLHS72と一致する場合、送信元IP70をRHS76に変換する。アウトバウンド処理では、送信先IP74がRHS76と一致する場合、送信先IP74をLHS72に変換する。
【0049】
図4を参照すると、マスカレードNAT(NAPT〔network address and port translation〕とも呼ばれる)は、上掲HIDE文<HIDE ip addr set BEHIND rhs >を使い、自身のポート・プール118(UDP、TCP)を使ってインバウンド通信の変換方法を思い起こすことにより、多対1のアドレス変換を実現している。静的NAT(図3)と異なり、マスカレードNATの会話<CONVERSATION src ip, src port, rhs ip, rhs port, ...>は、内部(LHS)アドレスしか開始させることができない。VPN NAT(これは、後述するように、本発明の好適な実施形態を識別するのに使う名前である)は、ポート変換を備えていないので、静的NATに近い。
【0050】
さらに図4を参照すると、アウトバウンド・データグラムの処理では、ステップ<1>で送信元IPアドレス90がHIDE文のIPアドレス・セット92中にあると判断された場合、ステップ<2>で送信元IPアドレス90をCONVERSATIONフィールド94に、ステップ<3>でポート98をフィールド96に、ステップ<4>でRHS104をフィールド100に、ステップ<5>でポート・プール群118の正しいプールからRHSポートをフィールド102に、それぞれコピーすることによってCONVERSATIONを構成する。次いで、ステップ<6>で送信元IP90はRHS104に変換され、ステップ<7>で送信元ポート98はRHSポート102に変更される。インバウンド・データグラムに対する処理では、ステップ<8>で送信先IPアドレス106および送信先ポート108がCONVERSATIONフィールドのRHS IP100およびRHSポート102とそれぞれ一致する場合、ステップ<9>で送信先IPアドレス106はCONVERSATIONの送信元IPアドレス94に変換され、ステップ<10>で送信先ポート108はCONVERSATIONの送信元ポート96に変換される。
【0051】
以上の他にもNATによって処理される特別な状況がいくつかあるが、それらは、本発明にとって興味がないので、説明しない。それらには、FTPやICMPが生成する特別な状況の処理などがある。これらは、共に、変換されるIPアドレスを含んでいる。FTP(=File Transfer Protocol) はRFC959で定義されている。ICMP(=Internet Control Message Protocol)はRFC792で定義されている。チェックサムの再計算を行なう。マスカレードNATでは、まず会話が存在し、その後、元の(性急な)HIDE規則ではなく、CONVERSATIONにデータグラムを一致させ、ポート・プールを管理し、時間に合わせて会話を終了させ、そして、ポートをマップする。VPN NATがICMPと(有名なFTP PORTコマンドとPASVコマンドならびに付随する諸問題を含む)FTPとをサポートしている点は、本発明の特別な利点である。
【0052】
本発明によれば、動的に決められるVPN NAT規則は、次のようにして実現する。まず、利用者が、VPN NAT処理を行なうべきである旨を、GUI(グラフィカル・ユーザ・インタフェース)で指定する。ローカルで開始した接続の送信元IPアドレスとして、複数のIPアドレスが許される。これら複数のIPアドレスは、(連続した)範囲またはアドレス、およびマスクで特定する。これらは、VPN NAT規則のLHS(left-hand-side: 左手側)アドレス・セットを構成する。VPN NAT規則のRHS(right-hand-side:右手側)アドレス・セットは、リモートのVPNゲートウエイ・アドレスに関連付けられている。接続が開始すると、当該接続用のIPSecセキュリティ・アソシエーションの一部として、LHSアドレス・セットとRHSアドレス・セットとの双方を当該接続と一緒にロードする。次いで、VPN接続マネージャは、RHSアドレス・セットに使用済みの印を付けて、後刻開始する接続との間で生じうるNAT規則の衝突を避ける。
【0053】
ロードされ(すなわちオペレーティング・システムのカーネルにインストールされ)、ローカルで開始された接続に対してIP通信を行なう場合には、特定のデータグラムに適用すべき特定のNATを決めるのにLHSアドレス・セットとRHSアドレス・セットとを使う。各アドレス・セットを順序付けることによって、データグラムに特有のNAT規則を生成する。LHSアドレス・セットの各アドレスをRHSアドレス・セットの対応する要素に1対1でマップする。LHSアドレス・セットの基数がRHSアドレス・セットの基数よりも大きい場合には、LHSアドレス・セットの第n番目の要素に対してVPN NATは行なわれない(ただし、n>RHSアドレス・セットの基数、基数とは集合の要素の個数を表わす数のことである)。(しかしながら、これは、GUIレベルの監査によって回避することができる)。アウトバウンド通信の場合には、データグラムの送信元IPアドレスに基づいて、LHSアドレス・セットの第n番目の要素を選択する。インバウンド通信の場合には、データグラムの送信先IPアドレスに基づいて、RHSアドレス・セットの第n番目の要素を選択する。
【0054】
ロードされ、リモートで開始された(レスポンダ・モードの)接続に対してIP通信を行なう場合、解決策は、ローカルで開始された接続の場合と基本的に同じであるが、しかし、逆である。この場合、RHSアドレス・セットを、LHSアドレス・セットの対応する要素にマップされている、インバウンド・データグラムの送信先IPアドレスに一致させる。RHSアドレス・セットがLHSアドレス・セットよりも大きい場合、NAT処理は、全く行なわれない。ここでも、この処置は、人間の要因の観点から望ましくないかも知れない。したがって、この場合も、この処置は、GUIレベルの監査によって不許可になるかも知れない。
【0055】
図5、図6、図7を参照すると、LHSとRHSとは、連続した範囲のIPアドレスなどの集合(セット)を表わしている。xが集合であると仮定すると、size(x)は集合xの要素の個数を表わす。次に示す3つの場合を導入する。
場合1:size(LHS)=size(RHS)=1
場合2:size(LHS)=size(RHS)&size(LHS)>1
場合3:size(LHS)!=size(RHS)
【0056】
場合1は、上掲米国特許出願第09/240720号のシステムと方法によって取り扱われている。
【0057】
場合2では、2つのセットは等しいから、各接続が開始するときに各接続用に生成される暗黙的なMAP規則は、2つのセットの文に固有のものである。
すなわち、LHSアドレス・セットの要素とRHSアドレス・セットの要素との間には一意的な1対1の対応関係が存在する。したがって、特定のVPN接続負荷用の暗黙的なMAP規則は、簡単明瞭に生成される。たとえば、図5のプロセスでは、送信元−アウトVPN NATの場合、送信元IPに一致する(ステップ1)LHSアドレス・セットの第n番目の要素が見つかると、RHSアドレス・セットの第n番目の要素を見つけ出して、送信元IPを置き換えるのに使う(ステップ2)。
【0058】
場合3では、LHSアドレス・セットの要素とRHSアドレス・セットの要素との動的な関連付け(すなわちバインディング(binding) )を、以前に生成されたバインディングに基づいて生成する。バインディングは必要に応じて通信が生成するか、あるいは、既存のバインディングを使う。バインディングは、接続期間中、あるいは、非アクティブ状態タイムアウト値に到達するまで続く。バインディングには、ローカルとリモートとの2つのタイプがある。また、バインディングは、システム全体で一意である。
【0059】
VPN接続が開始する時にVPN接続当りにいずれかの場合が一旦(いったん)決められると、それは、取り扱う各データグラムごとに再計算されることはない。
【0060】
図5は、タイプa「送信元−アウト」のVPN NATに関する、本発明の好適な実施形態を説明する図である。タイプa「送信元−アウト」のVPN NATでは、IDciは、イニシエータ・モードの会話用に変換される。システムを生成した後、暗黙的なMAP規則128<MAP lhs TO rhs>をロードするが、それは、静的NATとして機能する。この作業を行なう秘訣(ひけつ)は、IKEによってネゴシエーションされるセキュリティ・アソシエーションが暗黙的なMAP規則130<MAP lhs TO rhs>を使う点である。したがって、SA(セキュリティ・アソシエーション)とVPN NATとは、同期する。
【0061】
さらに図5を参照すると、ローカルで開始した会話の場合、ステップ<−2>で、NATが要求されているので、ローカル・クライアントID122をLHS126にコピーすることより、暗黙的なMAP規則128を生成する。RHS124は、適切なプール120から取得する。ステップ<0>は、VPN接続を開始する作業の一部であり、図1のステップ24とステップ26とを実行する間に行なう。ステップ<0>では、RHS124を使ってIKEネゴシエーションを完了した後、暗黙的なMAP規則130をオペレーティング・システムのカーネルにロードする。このステップ<0>は、接続のSAと接続のフィルタをロードするステップと、ローカル・バインディング・テーブル210の空白版を生成するステップとを備えている。アウトバウンド処理では、ステップ<1>で送信元IP132が暗黙的なMAP規則130の特定のLHSと一致した場合、ステップ<2>で上述した場合1、場合2、場合3のいずれかに決定する。この結果、RHS138のIPアドレスが得られる。この選択されたRHS138は、送信元IP132に取って代わる。ローカル・バインディング・テーブル210に、選択されたバインディングのエントリを作成する。インバウンド処理では、ステップ<3>で送信先IPアドレス140がローカル・バインディング・テーブル210のRHSと一致した場合、ステップ<4>で送信先IP140をローカル・バインディング・テーブル210のLHSで置き換える。
【0062】
LHSとRHSとは、IPアドレスの2つの集合のことである。VPN NAT規則は、1つずつから成る。すなわち、VPN NAT規則は、LHSアドレスのRHSアドレスへのマッピング(LHS−>RHS)を定義している。
【0063】
図1のステップ26で、レスポンダ・モードの接続が開始する。この際、IKE機能が現在構成されているポリシーに基づいてSA群とネゴシエーションする。ネゴシエーションが終わると、上記SA群は、1〜nのSA対から成るSA集合体として接続マネージャに送られる。
【0064】
図6は、送信元−イン・タイプのVPN NATを説明する図である。図7は、送信先−イン・タイプのVPN NATを説明する図である。
【0065】
図8を参照すると、接続マネージャ・サーバ300は、IKEサーバ330から開始メッセージ(msg)332を受け取ると、VPNポリシー・データベース304の接続定義306を見て、NATフラグ314を調べる。NATリモート・フラグso308、si310、di312のうちの少なくとも1つが「オン」でる場合、ID152(図6)、ID182(図7)に関連付けられたNATフラグに応じて、適切なNATプール50、52、54(図2)から、IPアドレス154(図6)、186(図7)を取得する。NATフラグとNATプールとの間の関係は、次の通りである。送信元−アウト(so)フラグ308がオン、または送信元−イン(si)フラグがオンの場合には、図2のNATプール・タイプ52(54と同じタイプ)を使い、リモートVPN接続の終点アドレスに基づいてNATプールを選択する。送信先−イン(di)フラグ312がオンである場合には、送信先アドレスが指示している、図2のNATプール50を使う。
【0066】
リモートIDプール150からのIPアドレスの使用可能性の管理は、接続マネージャがアクティブな接続の集合に基づいて基づいて行なう(タイプa「送信先−アウト」のVPN NATの場合)。接続マネージャは、IDcrプール180(図7)に対する使用可能性も取り扱う。これにより、負荷平衡をとるのが可能になる。IDcrプール180は、IDcrのNAT処理を行なうためのIPアドレスの集合である。次に示す2つの基本的な手法がある。(1)開始ごとに、IDcrプール180を始めのエントリから検索する。(2)開始ごとに、IDcrプール180を最後に使ったIPから検索する。
【0067】
IPSecへのロードは、上述したイニシエータ・モードの場合と同様に行なう。リモートで開始された接続の通信を処理する場合、インバウンド・パケットとアウトバウンド・パケットとの各々に対して、2つの変換を行なうことができる(送信元と送信先)。
【0068】
図6を参照すると、タイプc「送信元−イン」のVPN NATは、次に示すようにレスポンダ・モードの接続を開始する。ステップ<−2>で、IDci152をRHS154にコピーすることにより、暗黙的なMAP規則158<MAP lhs TO rhs>を生成する。次いで、ステップ<−1>で、適切なIPアドレス・プール150からIPアドレスを選択して、それをLHS156にコピーする。ステップ<0>で、RHS154を使ったIKEネゴシエーションが完了した後、暗黙的なMAP規則160をロードする。このステップ<0>には、上述したステップ<0>の処理と同じものが含まれる。つまり、2つのステップ<0>は、VPN NATの3つのタイプで全て同じである(ただし、いくつかの低レベルの詳細を除く)。インバウンド・データグラムの処理では、ステップ<1>で送信元IP172がRHS168と一致した場合、ステップ<2>で送信元IP172を対応するLHS166に変換する。次いで、上述した場合1、場合2、または場合3に基づいて、リモート・バインディング・テーブル212にエントリを作成する。アウトバウンド・データグラムの処理では、ステップ<3>で送信先IP164がLHSと一致した場合、ステップ<4>で送信元IP172を対応するRHS168に変換する。送信先IP164用の検索は、場合3のときにはリモート・バインディング・テーブル212を使い、場合1または場合2のときには暗黙的なMAP規則160を使う。
【0069】
図7を参照すると、タイプd「送信先−イン」のVPN NATは、次に示すように実行して、レスポンダ・モードの会話用にIDcrを変換する。ステップ<−2>でIDcr182をRHS184にコピーして、暗黙的なMAP規則188を生成する。ステップ<−1>で適切なIPアドレス・プール180からIPアドレスを取得して、それをLHS186にコピーする。ステップ<0>では、RHS184を使ったIKEネゴシエーションが完了した後、暗黙的なMAP規則190をロードする。(ステップ<0>は、低レベルな詳細を除いて、図5および図6の場合と同じである)。
【0070】
インバウンド・データグラムの処理では、ステップ<1>で送信先IP200がRHS198と一致した場合、ステップ<2>で送信先IP200をLHS196に変換する。アウトバウンド・データグラムの処理では、ステップ<3>で送信元IP192がLHS196と一致した場合、ステップ<4>で送信元IP192をRHS198に変換する。
【0071】
図8を参照すると、図1のステップ28で、接続マネージャ・サーバ300は、SA対更新302を得ると、新しいSA対の情報を接続プロセス・メモリ320のSA対テーブル322にコピーする。
【0072】
図1のステップ30で、接続34、36を終了させるとき、接続マネージャ・サーバ300は、当該接続に関連付けられたNAT IPアドレス52、54をを解放する(使用可能にする)。図8を参照して、NAT IPアドレスを、接続マネージャ・サーバ300が維持している適切なリスト316から除去する。
【0073】
LHSアドレス・セットとRHSアドレス・セットのサイズは、次に示す3項目の最小値をとることによって制御する。すなわち、(1)利用者が構成するサブネットのサイズ(すなわちアドレス範囲)、(2)NATプール当りを基礎にして利用者が構成する接続当たりの並行VPN NATセッションの最大数、(3)始めに構成したNATプールの中で今なお使用可能な値の残存範囲の最大値、である。これは、接続の始動(図1のステップ24とステップ26)の間に、VPN接続マネージャが決める。
【0074】
〔別の実施形態〕
ここでは説明のために本発明の特定の実施形態を述べたけれども、本発明の本旨と範囲から離れることなく、様々な変形をなしうる、ということが認識できる。特に、本発明の方法に従ってコンピュータの動作を制御する、および/または、本発明のシステムに従って構成要素を組み立てる、コンピューター・プログラム製品またはコンピューター・プログラム要素、あるいは、本発明の方法に従ってコンピュータの動作を制御する、および/または、本発明のシステムに従って構成要素を組み立てる、機械読み取り可能な信号を格納する、固体または流体の伝送媒体、磁気ワイヤまたは光ワイヤ、テープまたはディスク、などのプログラム格納装置すなわちプログラム記憶装置、を提供することは、本発明の範囲内である。(「Aおよび/またはB」は「AおよびB、A、またはB」を表わす)。
【0075】
さらに、本発明の方法の各ステップは、IBM System390、AS/400、PC(パーソナル・コンピュータ)など任意の汎用コンピュータで実行するとこができる。また、本発明の方法の各ステップは、C++、Java(R)、PL/1、Fortranなど任意のプログラミング言語から生成したプログラム要素、モジュール、またはオブジェクトのうちの少なくとも1つ、あるいは、それ(またはそれら)の一部に従うことができる。さらに、上記各ステップ、または上記各ステップを実現するファイルやオブジェクトなどは、専用ハードウェアまたは回路モジュールによって実行することができる。
【0076】
したがって、本発明の保護範囲は、特許請求の範囲およびその均等物によってしか限定されない。
【0077】
まとめとして以下の事項を開示する。
(1)ネットワーク・アドレス変換(NAT)とIPセキュリティ(IPSec)処理とを統合するIPSecに基づいて、仮想私設網(VPN)を操作する方法であって、
NAT IPアドレス・プールを構成するステップと、
VPN接続を構成して、前記NAT IPアドレス・プールを使用するステップと、
前記NAT IPアドレス・プールから特定のIPアドレスを取得し、その特定のIPアドレスを前記VPN接続に割り当てるステップと、
前記VPN接続を開始するステップと、
前記VPN接続用のセキュリティ・アソシエーションおよび接続フィルタをオペレーティング・システムのカーネルにロードするステップと、
前記VPN接続に対してIPデータグラムを処理するステップと、
前記IPデータグラムにVPN NATを適用するステップと
を備えた方法。
(2)前記VPN接続がアウトバウンド処理用に構成されており、
前記IPデータグラムにVPN NATを適用する前記ステップが、アウトバウンド送信元IP NAT処理を含んでいる、
上記(1)に記載の方法。
(3)前記VPN接続がインバウンド処理の組み合わせ用に構成されており、
前記IPデータグラムにVPN NATを適用する前記ステップが、インバウンド送信元IP NAT処理、またはインバウンド送信先IP NAT処理を含んでいる、
上記(1)に記載の方法。
(4)さらに、NATと、人手で施錠されたIPSec接続用のIPSecとを統合するために、
接続鍵を人手で構成するステップをさらに備えた、
上記(1)に記載の方法。
(5)さらに、NATと、動的に施錠された(たとえばIKE)IPSec接続用のIPSecとを統合するために、
前記VPN接続を構成して、前記VPN接続用の鍵を自動的に取得するステップをさらに備えた、
上記(1)に記載の方法。
(6)さらに、NATと、IKEが動的にネゴシエーションしたIPSecセキュリティ・アソシエーションとを統合するために、
前記VPN接続を開始するステップが、IKEが前記NAT IPアドレス・プールから前記IPアドレスを取得するためのメッセージを生成するステップをさらに備え、
さらに、
IKEを操作してネゴシエーションされた鍵を動的に取得するステップ
を備えた、
上記(1)に記載の方法。
(7)さらに、動的に取得した鍵と前記NAT IPアドレ・スプールとを組み合わせるステップを備え、
前記VPN接続用のセキュリティ・アソシエーションと接続フィルタとをオペレーティング・システムのカーネルにロードする前記ステップが、セキュリティ・アソシエーションとしての結果を前記オペレーティング・システムのカーネルにロードする、
上記(6)に記載の方法。
(8)IPSecベースのVPN接続とVPNポリシーの、定義と構成を直接使って、NATの定義と構成を可能にする方法であって、
VPN NATタイプaアウトバウンド送信元IP NAT、VPN NATタイプcインバウンド送信元IP NAT、およびVPN NATタイプdインバウンド送信先IP NATから成る3つのタイプのVPN NATの各々に対して、ポリシー・データベースにおける諾否判断によってVPN NATに対する要求を構成するステップと、
前記VPN NATの各々に対する前記諾否判断に選択的に応答してリモートIPアドレス・プールすなわちサーバIPアドレス・プールを構成するステップと
を備えた方法。
(9)さらに、VPN接続が必要されることになる各リモートIPアドレス用に前記リモートIPアドレス・プールを一意に構成し、これにより、前記リモートIPアドレス・プールがリモートIDによって施錠されるステップ
を備えた、
上記(8)に記載の方法。
(10)さらに、構成中のシステムに対して前記サーバIPアドレス・プールをただ1つ構成するステップ
を備えた、
上記(8)に記載の方法。
(11)VPN NATアクティビティがオペレーティング・システムのカーネルで起きるときに、当該VPN NATアクティビティを利用者が追跡することができるようにする方法であって、
VPN接続の構成に応答して、ジャーナル・レコードを生成するステップと、
VPN接続を通じて処理された各データグラムごとに、新しいレコードで前記ジャーナル・レコードを更新するステップと、
利用者が前記ジャーナル・レコードを管理するのを可能にするステップと
を備えた方法。
(12)VPN NATアドレス・プールがゲートウエイに関連付けらるのを可能にし、それにより、サーバの負荷平衡を実現する方法であって、
構成中のシステム用にサーバNAT IPアドレス・プールを構成するステップと、
前記サーバNAT IPアドレス・プールに、グローバルにルーティング可能な特定のIPアドレスを格納するステップと、
VPN接続を構成して、前記サーバNAT IPアドレス・プールを使用するステップと、
前記サーバNAT IPアドレス・プール中のアドレスの数に応じて、並行するVPN接続の総量を管理するステップと
を備えた方法。
(13)NATアドレスの使用可能性に基づいて、システム当りのVPN接続の総数を制御する方法であって、
IPアドレスの共通集合でリモートIPアドレス・プールの総量を構成するステップであって、前記IPアドレスが、範囲として、単一のアドレスのリストとして、または、複数の範囲と単一のアドレスとの任意の組み合わせとして構成されているステップと、
前記リモートIPアドレス・プールの総量にわたって構成された前記IPアドレスの数に応じて、並行してアクティブなVPN接続が成功裏に開始するのを制限するステップと
を備えた方法。
(14)選択したICPMデータグラムに対してネットワーク・アドレス変換を実行する方法であって、
ICMPタイプのパケットから選択したタイプを検出するステップと、
前記選択したタイプに応じて、ICPMデータを含む全データグラムに対してネットワーク・アドレス変換を実行するステップと
を備えた方法。
(15)選択したFTPデータグラムに対してネットワーク・アドレス変換を実行する方法であって、
FTP PORTコマンドまたはPASV FTPコマンドの出現を検出するステップと、
前記FTP PORTコマンドまたはPASV FTPコマンドに応答して、FTPデータおよびヘッダーに対してネットワーク・アドレス変換を実行するステップと
を備えた方法。
(16)NATとIPSec処理とを統合するIPSecに基づいて、VPNを操作するシステムであって、
NAT IPアドレス・プールを構成する手段と、
VPN接続を構成して、前記NAT IPアドレス・プールを使用する手段と、
前記NAT IPアドレス・プールから特定のIPアドレスを取得し、その特定のIPアドレスを前記VPN接続に割り当てる手段と、
前記VPN接続を開始する手段と、
前記VPN接続用のセキュリティ・アソシエーションおよび接続フィルタをオペレーティング・システムのカーネルにロードする手段と、
前記VPN接続に対してIPデータグラムを処理する手段と、
前記IPデータグラムにVPN NATを適用する手段と
備えたシステム。
(17)IPSecベースのVPN接続とVPNポリシーの、定義と構成を直接使って、NATの定義と構成を可能にするシステムであって、
VPN NATタイプaアウトバウンド送信元IP NAT、VPN NATタイプcインバウンド送信元IP NAT、およびVPN NATタイプdインバウンド送信先IP NATから成る3つのタイプのVPN NATの各々に対する諾否判断によってVPN NATに対する要求を構成するポリシー・データベースと、
前記VPN NATの各々に対する前記諾否判断に応答して選択的に構成されたリモートIPアドレス・プールすなわちサーバIPアドレス・プールと
を備えたシステム。
(18)VPN NATアドレス・プールがゲートウエイに関連付けらるのを可能にし、それにより、サーバの負荷平衡を実現するシステムであって、
範囲として、単一のアドレスのリストとして、または、複数の範囲と単一のアドレスとの任意の組み合わせとして構成された複数のアドレスを含むように、構成中の所定のシステム用に構成されたサーバNAT IPアドレス・プールと、
グローバルにルーティング可能な特定のIPアドレスを格納する前記サーバNAT IPアドレス・プールと、
前記サーバNAT IPアドレス・プールを使用するように構成されたVPN接続と、
前記サーバNAT IPアドレス・プール中のアドレスの数に応じて、並行するVPN接続の総量を管理する接続コントローラと
を備えたシステム。
(19)NATとIPSec処理とを統合するIPSecに基づいて、VPNを操作する方法であって、
NAT IPアドレス・プールを構成するステップと、
VPN接続を構成して、前記NAT IPアドレス・プールを使用するステップと、
前記NAT IPアドレス・プールから特定のIPアドレスを取得し、その特定のIPアドレスを前記VPN接続に割り当てるステップと、
前記VPN接続を開始するステップと、
前記VPN接続用のセキュリティ・アソシエーションおよび接続フィルタをオペレーティング・システムのカーネルにロードするステップと、
前記VPN接続に対してIPデータグラムを処理するステップと、
前記IPデータグラムにVPN NATを適用するステップと
を備えた方法を実行する、機械実行可能な命令から成るプログラムを有形的に記録した機械読み取り可能なプログラム記憶装置。
(20)自身の中にNATとIPSec処理とを統合するIPSecに基づいて、VPNを操作するコンピュータ読み取り可能なプログラム・コード手段を記録したコンピュータ使用可能な媒体を備えた製品であって、
前記製品中のコンピュータ読み取り可能なプログラム・コード手段が、
NAT IPアドレス・プールを構成するようにコンピュータに働きかけるコンピュータ読み取り可能なプログラム・コード手段と、
VPN接続を構成して、前記NAT IPアドレス・プールを使用するようにコンピュータに働きかけるコンピュータ読み取り可能なプログラム・コード手段と、
前記NAT IPアドレス・プールから特定のIPアドレスを取得し、その特定のIPアドレスを前記VPN接続に割り当てるようにコンピュータに働きかけるコンピュータ読み取り可能なプログラム・コード手段と、
前記VPN接続を開始するようにコンピュータに働きかけるコンピュータ読み取り可能なプログラム・コード手段と、
前記VPN接続用のセキュリティ・アソシエーションおよび接続フィルタをオペレーティング・システムのカーネルにロードするようにコンピュータに働きかけるコンピュータ読み取り可能なプログラム・コード手段と、
前記VPN接続に対してIPデータグラムを処理するようにコンピュータに働きかけるコンピュータ読み取り可能なプログラム・コード手段と、
前記IPデータグラムにVPN NATを適用するようにコンピュータに働きかけるコンピュータ読み取り可能なプログラム・コード手段と
を備えた製品。
(21)ネットワーク・アドレス変換(NAT)を使って仮想私設網(VPN)にIPセキュリティ(IPSec)を実現する方法であって、
動的にNAT規則を生成し、それらと人手でまたは動的に生成した(IKE)セキュリティ・アソシエーションとを関連付けるステップと、その後、
前記セキュリティ・アソシエーションを使うIPSecを開始するステップと、次いで、
アウトバウンド・データグラムおよびインバウンド・データグラムに対してIPSecを実行するときに、VPN NATタイプaアウトバウンド送信元IPNAT、VPN NATタイプcインバウンド送信元IP NAT、およびVPN NATタイプdインバウンド送信先IP NATのうちの少なくとも1つを選択的に実行するステップと
を備えた方法。
(22)前記NAT IPアドレス・プールが、範囲として、単一のアドレスのリストとして、または、複数の範囲と単一のアドレスとの任意の組み合わせとして構成された複数のアドレスを含んでいる、
上記(1)に記載の方法。
【0078】
【発明の効果】
本発明の効果は、NAT(Network address Translation )とIPセキュリティ(IP Security:IPSec)との双方を並行して実現する、改良され、かつ大幅に簡易化したシステムと方法とが実現することである。
【0079】
本発明の他の効果は、VPN(virtual Private netwrk)の使用に内在する、IPアドレスの衝突の可能性が増大するという問題を解決するシステムと方法とが実現することである。
【0080】
本発明の他の効果は、ドメインの再アドレス指定(高価な代替手段)を必要とすることなく、VPNを利用することができるようにするシステムと方法とが実現することである。
【0081】
本発明の他の効果は、ドメイン・ホストにおける変更を必要とすることなく、IPSecゲートウエイで全て実現する、VPN NAT用のシステムと方法とが実現することである。
【0082】
本発明の他の効果は、接続された各ドメインにおけるルーティングの変更を全く、あるいは少ししか必要としない、VPN NAT用のシステムと方法とが実現することである。
【0083】
本発明の他の効果は、単純な構成をした、VPN NAT用のシステムと方法とが実現することである。
【0084】
本発明の他の効果は、VPNが引き起こすアドレス衝突の問題の解決策が実現することである。
【0085】
本発明の他の効果は、利用者がVPN接続を構成するのを支援する簡単化した解決策が実現することである。
【0086】
本発明の他の効果は、単一のVPN接続が複数のVPN NAT規則をサポートすることができるようにすることである。
【0087】
本発明の他の効果は、暗黙的にすなわち動的に割り当てられたVPN NAT規則内の衝突を、システム全体の観点から避けることのできるシステムと方法とが実現することである。
【0088】
本発明の他の効果は、各NAT規則に対する多数の別々のVPN接続を管理する必要を無くすことにより、動的NAT規則に要するシステムのオーバーヘッドを低減することのできるシステムと方法とが実現することである。
【0089】
本発明の他の効果は、ネットワークの監視とトラフィックの分析とを簡単化することのできるVPN NATシステムと方法とが実現することである。
【図面の簡単な説明】
【図1】 本発明の好適な実施形態のVPN NAT方法のフローチャートを示す図である。
【図2】 典型的なIPSecシナリオと関連するVPN NATプールを示す図である。
【図3】 説明のために静的NAT(最も簡単な既存のNAT)を示す図である。
【図4】 説明のためにマスカレードNAT(既存のNATの典型例)を示す図である。
【図5】 イニシエータ・モードの会話用にIDciを変換したタイプa(「送信元−アウト」とも呼ばれる)のVPN NATを示す図である。
【図6】 レスポンダ・モードの会話用にIDciを変換したタイプc(「送信元−イン」とも呼ばれる)のVPN NATを示す図である。
【図7】 レスポンダ・モードの会話用にIDcrを変換したタイプd(「送信先−イン」とも呼ばれる)のVPN NATを示す図である。
【図8】 本発明のシステムと方法を実現する様々なプログラム要素とデータ要素との間の関係を説明する高レベルのフロー図を示す図である。
【符号の説明】
34…線、36…線、40…インターネット、42…ゲートウエイ(GW)、44…ゲートウエイ(GW)、46…ゲートウエイ(GW)、48…IPSecポリシー・データベース、50…NATプール、52…NATプール、54…NATプール、56…内部ネットワーク、58…内部ネットワーク、60…内部ネットワーク、70…送信元IP、72…LHS、74…送信先IP、76…RHS、78…送信先IP、80…送信元IP、90…送信元IP、92…IPアドレス・セット、94…フィールド、96…フィールド、98…送信元ポート、100…フィールド、102…フィールド、104…RHS、106…送信先IP、108…送信先ポート、110…送信元IP、112…送信元ポート、114…送信先IP、116…送信先ポート、118…ポート・プール、120…リモートID、122…ローカル・クライアントID、124…RHS、126…LHS、128…暗黙的なMAP規則、130…暗黙的なMAP規則、132…送信元IP、134…送信先IP、136…LHS、138…RHS、140…送信先IP、142…送信元IP、150…リモートID、152…ローカル・クライアントID、154…RHS、156…LHS、158…暗黙的なMAP規則、160…暗黙的なMAP規則、162…送信元IP、164…送信先IP、166…LHS、168…RHS、170…送信先IP、172…送信元IP、180…リモートID、182…ローカル・クライアントID、184…RHS、186…LHS、188…暗黙的なMAP規則、190…暗黙的なMAP規則、192…送信元IP、194…送信先IP、196…LHS、198…RHS、200…送信先IP、202…送信元IP、210…ローカル・バインディング・テーブル、212…リモート・バインディング・テーブル、214…ローカル・バインディング・テーブル、300…接続マネージャ・サーバ、302…SA対更新、304…VPNポリシー・データベース、306…接続定義、308…NATリモート・フラグso、310…NATリモート・フラグsi、312…NATリモート・フラグdi、314…NATフラグ、316…NATアドレス・リスト、320…接続プロセス・メモリ、322…SA対テーブル。

Claims (23)

  1. ネットワーク・アドレス変換(NAT)とIPセキュリティ(IPSec)処理とを統合するIPSecに基づいて、仮想私設網(VPN)を操作する方法であって、
    NAT IPアドレス・プールを構成するステップと、
    前記NAT IPアドレス・プールを使用するようにVPN接続を構成するステップと、
    前記NAT IPアドレス・プールから特定のIPアドレスを取得し、その特定のIPアドレスを前記VPN接続に割り当てるステップと、
    前記VPN接続を開始するステップと、
    前記VPN接続用のセキュリティ連合および接続フィルタをオペレーティング・システムのカーネルにロードするステップと、
    前記VPN接続に対してIPデータグラムを処理するステップと、
    前記IPデータグラムにVPN NATを適用するステップと
    を備え、
    前記VPN接続がアウトバウンド処理用に構成されており、
    前記IPデータグラムにVPN NATを適用する前記ステップが、アウトバウンド送信元IP NAT処理を含んでいる、
    方法。
  2. ネットワーク・アドレス変換(NAT)とIPセキュリティ(IPSec)処理とを統合するIPSecに基づいて、仮想私設網(VPN)を操作する方法であって、
    NAT IPアドレス・プールを構成するステップと、
    前記NAT IPアドレス・プールを使用するようにVPN接続を構成するステップと、
    前記NAT IPアドレス・プールから特定のIPアドレスを取得し、その特定のIPアドレスを前記VPN接続に割り当てるステップと、
    前記VPN接続を開始するステップと、
    前記VPN接続用のセキュリティ連合および接続フィルタをオペレーティング・システムのカーネルにロードするステップと、
    前記VPN接続に対してIPデータグラムを処理するステップと、
    前記IPデータグラムにVPN NATを適用するステップと
    を備え、
    前記VPN接続がインバウンド処理の組み合わせ用に構成されており、
    前記IPデータグラムにVPN NATを適用する前記ステップが、インバウンド送信元IP NAT処理、またはインバウンド送信先IP NAT処理を含んでいる、
    方法。
  3. さらに、NATと、動的に施錠されたIKEセキュリティ・アソシエーションとを統合するために、
    前記VPN接続を構成して、前記VPN接続用の鍵を自動的に取得するステップをさらに備えた、
    請求項1または2に記載の方法。
  4. さらに、NATと、IKEが動的にネゴシエーションしたIPSecセキュリティ・アソシエーションとを統合するために、
    前記VPN接続を開始するステップが、IKEが前記NAT IPアドレス・プールから前記IPアドレスを取得するためのメッセージを生成するステップをさらに備え、
    さらに、
    IKEを操作してネゴシエーションされた鍵を動的に取得するステップ
    を備えた、
    請求項1または2に記載の方法。
  5. さらに、動的に取得した鍵と前記NAT IPアドレス・プールとを組み合わせるステップを備え、
    前記VPN接続用のセキュリティ・アソシエーションと接続フィルタとをオペレーティング・システムのカーネルにロードする前記ステップが、セキュリティ・アソシエーションとしての結果を前記オペレーティング・システムのカーネルにロードする、
    請求項4に記載の方法。
  6. IPSecベースのVPN接続とVPNポリシーの、定義と構成を直接使って、NATの定義と構成を可能にする方法であって、
    VPN NATタイプaアウトバウンド送信元IP NAT、VPN NATタイプcインバウンド送信元IP NAT、およびVPN NATタイプdインバウンド送信先IP NATから成る3つのタイプのVPN NATの各々に対して、サーバがポリシー・データベースにおける使用可能なIPアドレスがあるか否かの諾否判断によってVPN NATに対する要求を構成するステップと、
    前記VPN NATの各々に対する前記諾否判断に選択的に応答してサーバがポリシー・データベースのフラグを調べ、リモートIPアドレス・プールすなわちサーバIPアドレス・プールを構成するステップと
    を備え、
    前記ポリシー・データベースの送信元−アウト(so)フラグがオン、または送信元−イン(si)フラグがオンである場合には、リモートVPN接続の終点アドレスに基づいてリモートIPアドレス・プールすなわちサーバIPアドレス・プールを構成し、
    前記ポリシー・データベースの送信先−イン(di)フラグがオンである場合には、送信先アドレスが指示しているリモートIPアドレス・プールすなわちサーバIPアドレス・プールを構成する、
    方法。
  7. さらに、
    VPN接続が必要されることになる各リモートIPアドレス用に前記リモートIPアドレス・プールを一意に構成し、これにより、前記リモートIPアドレス・プールがリモートIDによって施錠されるステップ
    を備えた、
    請求項6に記載の方法。
  8. さらに、
    構成中のシステムに対して前記サーバIPアドレス・プールをただ1つ構成するステップ
    を備えた、
    請求項6に記載の方法。
  9. 請求項1または2に記載の方法におけるIPデータグラムにVPN NATを適用するステップにおいて、VPN NATアクティビティがオペレーティング・システムのカーネルで起きるときに、当該VPN NATアクティビティを利用者が追跡することができるようにする方法であって、
    VPN接続の構成に応答して、ジャーナル・レコードを生成するステップと、
    VPN接続を通じて処理された各データグラムごとに、新しいレコードで前記ジャーナル・レコードを更新するステップと、
    利用者が前記ジャーナル・レコードを管理するのを可能にするステップと
    を備えた方法。
  10. 請求項1または2に記載の方法において、VPN NATアドレス・プールがゲートウエイに関連付けられるのを可能にし、それにより、サーバの負荷平衡を実現する方法であって、
    構成中のシステム用にサーバNAT IPアドレス・プールを構成するステップと、
    前記サーバNAT IPアドレス・プールに、グローバルにルーティング可能な特定のIPアドレスを格納するステップと、
    VPN接続を構成して、前記サーバNAT IPアドレス・プールを使用するステップと、
    前記サーバNAT IPアドレス・プール中のアドレスの数に応じて、並行するVPN接続の総量を管理するステップと
    を備えた方法。
  11. 請求項1または2に記載の方法において、NATアドレスの使用可能性に基づいて、システム当りのVPN接続の総数を制御する方法であって、
    IPアドレスの共通集合でリモートIPアドレス・プールの総量を構成するステップであって、前記IPアドレスが、範囲として、単一のアドレスのリストとして、または、複数の範囲と単一のアドレスとの任意の組み合わせとして構成されているステップと、
    前記リモートIPアドレス・プールの総量にわたって構成された前記IPアドレスの数に応じて、並行してアクティブなVPN接続が成功裏に開始するのを制限するステップと
    を備えた方法。
  12. 請求項1または2に記載の方法におけるIPデータグラムにVPN NATを適用するステップが、選択したICMPデータグラムに対してネットワーク・アドレス変換を実行するステップであって、
    ICMPタイプのパケットから選択したタイプを検出するステップと、
    前記選択したタイプに応じて、ICMPデータを含む全データグラムに対してネットワーク・アドレス変換を実行するステップと
    を備えた方法。
  13. 請求項1または2に記載の方法におけるIPデータグラムにVPN NATを適用するステップが、選択したFTPデータグラムに対してネットワーク・アドレス変換を実行するステップであって、
    FTP PORTコマンドまたはPASV FTPコマンドの出現を検出するステップと、
    前記FTP PORTコマンドまたはPASV FTPコマンドに応答して、FTPデータおよびヘッダーに対してネットワーク・アドレス変換を実行するステップと
    を備えた方法。
  14. NATとIPSec処理とを統合するIPSecに基づいて、VPNを操作するシステムであって、
    NAT IPアドレス・プールを構成する手段と、
    VPN接続を構成して、前記NAT IPアドレス・プールを使用する手段と、
    前記NAT IPアドレス・プールから特定のIPアドレスを取得し、その特定のIPアドレスを前記VPN接続に割り当てる手段と、
    前記VPN接続を開始する手段と、
    前記VPN接続用のセキュリティ・アソシエーションおよび接続フィルタをオペレーティング・システムのカーネルにロードする手段と、
    前記VPN接続に対してIPデータグラムを処理する手段と、
    前記IPデータグラムにVPN NATを適用する手段と
    備え、
    前記VPN接続がアウトバウンド処理用に構成されており、
    前記IPデータグラムにVPN NATを適用する手段が、アウトバウンド送信元IP NAT処理する手段を含んでいる、
    システム。
  15. NATとIPSec処理とを統合するIPSecに基づいて、VPNを操作するシステムであって、
    NAT IPアドレス・プールを構成する手段と、
    VPN接続を構成して、前記NAT IPアドレス・プールを使用する手段と、
    前記NAT IPアドレス・プールから特定のIPアドレスを取得し、その特定のIPアドレスを前記VPN接続に割り当てる手段と、
    前記VPN接続を開始する手段と、
    前記VPN接続用のセキュリティ・アソシエーションおよび接続フィルタをオペレーティング・システムのカーネルにロードする手段と、
    前記VPN接続に対してIPデータグラムを処理する手段と、
    前記IPデータグラムにVPN NATを適用する手段と
    備え、
    前記VPN接続がインバウンド処理の組み合わせ用に構成されており、
    前記IPデータグラムにVPN NATを適用する手段が、インバウンド送信元IP NAT処理、またはインバウンド送信先IP NAT処理する手段を含んでいる、
    システム。
  16. IPSecベースのVPN接続とVPNポリシーの、定義と構成を直接使って、NATの定義と構成を可能にするシステムであって、
    VPN NATタイプaアウトバウンド送信元IP NAT、VPN NATタイプcインバウンド送信元IP NAT、およびVPN NATタイプdインバウンド送信先IP NATから成る3つのタイプのVPN NATの各々に対する使用可能なIPアドレスがあるか否かの諾否判断によってサーバがVPN NATに対する要求を構成するポリシー・データベースと、
    前記VPN NATの各々に対する前記諾否判断に応答してサーバがポリシー・データベースのフラグを調べることによって選択的に構成されたリモートIPアドレス・プールすなわちサーバIPアドレス・プールと
    を備え、
    前記ポリシー・データベースの送信元−アウト(so)フラグがオン、または送信元−イン(si)フラグがオンである場合には、リモートVPN接続の終点アドレスに基づいてリモートIPアドレス・プールすなわちサーバIPアドレス・プールが構成され、
    前記ポリシー・データベースの送信先−イン(di)フラグがオンである場合には、送信先アドレスが指示しているリモートIPアドレス・プールすなわちサーバIPアドレス・プールが構成される、
    システム。
  17. VPN NATアドレス・プールがゲートウエイに関連付けられるのを可能にし、それにより、サーバの負荷平衡を実現する手段であって、
    範囲として、単一のアドレスのリストとして、または、複数の範囲と単一のアドレスとの任意の組み合わせとして構成された複数のアドレスを含むように、構成中の所定のシステム用に構成されたサーバNAT IPアドレス・プールと、
    グローバルにルーティング可能な特定のIPアドレスを格納する前記サーバNAT IPアドレス・プールと、
    前記サーバNAT IPアドレス・プールを使用するように構成されたVPN接続と、
    前記サーバNAT IPアドレス・プール中のアドレスの数に応じて、並行するVPN接続の総量を管理する接続コントローラと
    を備えた手段を含む請求項14または15に記載のシステム。
  18. NATとIPSec処理とを統合するIPSecに基づいて、VPNを操作する請求項1または2記載の方法を実行する、機械実行可能な命令から成るプログラムを有形的に記録した機械読み取り可能なプログラム記憶装置。
  19. 自身の中にNATとIPSec処理とを統合するIPSecに基づいて、VPNを操作するコンピュータ読み取り可能なプログラム・コード手段を記録したコンピュータ使用可能な記憶媒体であって、
    前記記憶媒体中のコンピュータ読み取り可能なプログラム・コード手段が、
    NAT IPアドレス・プールを構成するようにコンピュータに働きかけるコンピュータ読み取り可能なプログラム・コード手段と、
    VPN接続を構成して、前記NAT IPアドレス・プールを使用するようにコンピュータに働きかけるコンピュータ読み取り可能なプログラム・コード手段と、
    前記NAT IPアドレス・プールから特定のIPアドレスを取得し、その特定のIPアドレスを前記VPN接続に割り当てるようにコンピュータに働きかけるコンピュータ読み取り可能なプログラム・コード手段と、
    前記VPN接続を開始するようにコンピュータに働きかけるコンピュータ読み取り可能なプログラム・コード手段と、
    前記VPN接続用のセキュリティ・アソシエーションおよび接続フィルタをオペレーティング・システムのカーネルにロードするようにコンピュータに働きかけるコンピュータ読み取り可能なプログラム・コード手段と、
    前記VPN接続に対してIPデータグラムを処理するようにコンピュータに働きかけるコンピュータ読み取り可能なプログラム・コード手段と、
    前記IPデータグラムにVPN NATを適用するようにコンピュータに働きかけるコンピュータ読み取り可能なプログラム・コード手段と
    を備え、
    前記VPN接続がアウトバウンド処理用に構成されており、
    前記IPデータグラムにVPN NATを適用するようにコンピュータに働きかけるコンピュータ読み取り可能なプログラム・コード手段が、アウトバウンド送信元IP NAT処理する手段を含んでいる、
    記憶媒体。
  20. 自身の中にNATとIPSec処理とを統合するIPSecに基づいて、VPNを操作するコンピュータ読み取り可能なプログラム・コード手段を記録したコンピュータ使用可能な記憶媒体であって、
    前記記憶媒体中のコンピュータ読み取り可能なプログラム・コード手段が、
    NAT IPアドレス・プールを構成するようにコンピュータに働きかけるコンピュータ読み取り可能なプログラム・コード手段と、
    VPN接続を構成して、前記NAT IPアドレス・プールを使用するようにコンピュータに働きかけるコンピュータ読み取り可能なプログラム・コード手段と、
    前記NAT IPアドレス・プールから特定のIPアドレスを取得し、その特定のIPアドレスを前記VPN接続に割り当てるようにコンピュータに働きかけるコンピュータ読み取り可能なプログラム・コード手段と、
    前記VPN接続を開始するようにコンピュータに働きかけるコンピュータ読み取り可能なプログラム・コード手段と、
    前記VPN接続用のセキュリティ・アソシエーションおよび接続フィルタをオペレーティング・システムのカーネルにロードするようにコンピュータに働きかけるコンピュータ読み取り可能なプログラム・コード手段と、
    前記VPN接続に対してIPデータグラムを処理するようにコンピュータに働きかけるコンピュータ読み取り可能なプログラム・コード手段と、
    前記IPデータグラムにVPN NATを適用するようにコンピュータに働きかけるコンピュータ読み取り可能なプログラム・コード手段と
    を備え、
    前記VPN接続がインバウンド処理の組み合わせ用に構成されており、
    前記IPデータグラムにVPN NATを適用するようにコンピュータに働きかけるコンピュータ読み取り可能なプログラム・コード手段が、インバウンド送信元IP NAT処理、またはインバウンド送信先IP NAT処理する手段を含んでいる、
    記憶媒体。
  21. ネットワーク・アドレス変換(NAT)を使って仮想私設網(VPN)にIPセキュリティ(IPSec)を実現する方法であって、
    動的にNAT規則を生成し、それらと人手でまたは動的に生成した(IKE)セキュリティ・アソシエーションとを関連付けるステップと、その後、
    前記セキュリティ・アソシエーションを使うIPSecを開始するステップと、次いで、
    アウトバウンド・データグラムおよびインバウンド・データグラムに対してIPSecを実行するときに、VPN NATタイプaアウトバウンド送信元IP NAT、VPN NATタイプcインバウンド送信元IP NAT、およびVPN NATタイプdインバウンド送信先IP NATのうちの少なくとも1つを選択的に実行するステップと
    を備え、
    VPN接続がアウトバウンド処理用に構成されており、
    アウトバウンド・データグラムおよびインバウンド・データグラムに対してIPSecを実行するときに、VPN NATタイプaアウトバウンド送信元IP NAT、VPN NATタイプcインバウンド送信元IP NAT、およびVPN NATタイプdインバウンド送信先IP NATのうちの少なくとも1つを選択的に実行する前記ステップが、アウトバウンド送信元IP NAT処理を含んでいる、
    方法。
  22. ネットワーク・アドレス変換(NAT)を使って仮想私設網(VPN)にIPセキュリティ(IPSec)を実現する方法であって、
    動的にNAT規則を生成し、それらと人手でまたは動的に生成した(IKE)セキュリティ・アソシエーションとを関連付けるステップと、その後、
    前記セキュリティ・アソシエーションを使うIPSecを開始するステップと、次いで、
    アウトバウンド・データグラムおよびインバウンド・データグラムに対してIPSecを実行するときに、VPN NATタイプaアウトバウンド送信元IP NAT、VPN NATタイプcインバウンド送信元IP NAT、およびVPN NATタイプdインバウンド送信先IP NATのうちの少なくとも1つを選択的に実行するステップと
    を備え、
    VPN接続がインバウンド処理の組み合わせ用に構成されており、
    アウトバウンド・データグラムおよびインバウンド・データグラムに対してIPSecを実行するときに、VPN NATタイプaアウトバウンド送信元IP NAT、VPN NATタイプcインバウンド送信元IP NAT、およびVPN NATタイプdインバウンド送信先IP NATのうちの少なくとも1つを選択的に実行する前記ステップが、インバウンド送信元IP NAT処理、またはインバウンド送信先IP NAT処理を含んでいる、
    方法。
  23. 前記NAT IPアドレス・プールが、範囲として、単一のアドレスのリストとして、または、複数の範囲と単一のアドレスとの任意の組み合わせとして構成された複数のアドレスを含んでいる、
    請求項1または2に記載の方法。
JP2001142733A 2000-05-23 2001-05-14 Vpn接続のセキュリティ Expired - Fee Related JP3636095B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/578,215 US7107614B1 (en) 1999-01-29 2000-05-23 System and method for network address translation integration with IP security
US09/578215 2000-05-23

Publications (2)

Publication Number Publication Date
JP2002026988A JP2002026988A (ja) 2002-01-25
JP3636095B2 true JP3636095B2 (ja) 2005-04-06

Family

ID=24311900

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001142733A Expired - Fee Related JP3636095B2 (ja) 2000-05-23 2001-05-14 Vpn接続のセキュリティ

Country Status (2)

Country Link
JP (1) JP3636095B2 (ja)
GB (1) GB2367222B (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8141126B2 (en) 2007-01-24 2012-03-20 International Business Machines Corporation Selective IPsec security association recovery

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6047325A (en) * 1997-10-24 2000-04-04 Jain; Lalit Network device for supporting construction of virtual local area networks on arbitrary local and wide area computer networks
WO2000056034A1 (en) * 1999-03-17 2000-09-21 3Com Corporation Method and system for distributed network address translation with network security features
US6957346B1 (en) * 1999-06-15 2005-10-18 Ssh Communications Security Ltd. Method and arrangement for providing security through network address translations using tunneling and compensations
US7058973B1 (en) * 2000-03-03 2006-06-06 Symantec Corporation Network address translation gateway for local area networks using local IP addresses and non-translatable port addresses

Also Published As

Publication number Publication date
GB2367222B (en) 2004-01-14
GB0112414D0 (en) 2001-07-11
JP2002026988A (ja) 2002-01-25
GB2367222A (en) 2002-03-27

Similar Documents

Publication Publication Date Title
US6832322B1 (en) System and method for network address translation integration with IP security
US7107614B1 (en) System and method for network address translation integration with IP security
US10135827B2 (en) Secure access to remote resources over a network
JP4482601B2 (ja) ネットワーク・アドレス・ポート変換器によって扱われるクライアントからの重複ソースの防止
US6993037B2 (en) System and method for virtual private network network address translation propagation over nested connections with coincident local endpoints
US6978308B2 (en) System and method for nesting virtual private networking connections with coincident endpoints
US7751391B2 (en) Virtual private network and tunnel gateway with multiple overlapping, remote subnets
JP3793083B2 (ja) トンネリングおよび補償を使用するネットワーク・アドレス翻訳によりセキュリティを与えるための方法および装置
JP4766574B2 (ja) ネットワーク・アドレス・ポート変換器によって扱われるクライアントからの重複ソースの防止
US7653746B2 (en) Routable network subnet relocation systems and methods
JP3364905B2 (ja) 接続フィルタの動的配置方法およびシステム
KR100479261B1 (ko) 네트워크 주소 변환 상에서의 데이터 전송 방법 및 장치
US20050265366A1 (en) Virtual private network system, communication terminal, and remote access communication method therefor
US20030145227A1 (en) System and method of automatically handling internet key exchange traffic in a virtual private network
JP3636095B2 (ja) Vpn接続のセキュリティ
Cisco Policy Management
Cisco Policy Management
CN112751816B (zh) 一种隧道建立方法、装置、设备及计算机可读存储介质
WO2006096875A1 (en) Smart tunneling to resources in a remote network

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040113

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20040121

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20040121

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040406

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040518

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040805

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040824

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041119

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: 20041214

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20041214

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041227

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080114

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090114

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090114

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100114

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100114

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110114

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110114

Year of fee payment: 6

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S202 Request for registration of non-exclusive licence

Free format text: JAPANESE INTERMEDIATE CODE: R315201

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110114

Year of fee payment: 6

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110114

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110114

Year of fee payment: 6

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120114

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130114

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees