JP2018514956A - Apparatus and method for using certificate data to route data - Google Patents

Apparatus and method for using certificate data to route data Download PDF

Info

Publication number
JP2018514956A
JP2018514956A JP2017535405A JP2017535405A JP2018514956A JP 2018514956 A JP2018514956 A JP 2018514956A JP 2017535405 A JP2017535405 A JP 2017535405A JP 2017535405 A JP2017535405 A JP 2017535405A JP 2018514956 A JP2018514956 A JP 2018514956A
Authority
JP
Japan
Prior art keywords
client
node
network
information
local network
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.)
Pending
Application number
JP2017535405A
Other languages
Japanese (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.)
128 Technology Inc
Original Assignee
128 Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 128 Technology Inc filed Critical 128 Technology Inc
Publication of JP2018514956A publication Critical patent/JP2018514956A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • 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/166Implementing security features at a particular protocol layer at the transport layer

Landscapes

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

Abstract

ネットワークを介してデータをルーティングする方法は、複数のノードを有しているローカルネットワーク内の少なくとも1つのノードにアクセスするクライアントノードからセッションリクエストを受信する。また本方法は、クライアント証明書(例えば、公知の標準、例えば「X509標準」によって少なくとも部分的に仕様が定められているディジタル証明書)をクライアントノードから受信する。クライアント証明書は、クライアントノードからパケットを受信する少なくとも1つのノードを指定するクライアント情報を有している。次に、本方法はクライアント証明書を使用して、認証プロセスを実行する。認証プロセスによってクライアントノードが認証された場合、本方法は、データパケットをクライアントノードから、クライアント証明書におけるクライアント情報によって指定された通りに、ローカルネットワーク内の少なくとも1つのノードにルーティングする。A method for routing data over a network receives a session request from a client node accessing at least one node in a local network having a plurality of nodes. The method also receives a client certificate (eg, a digital certificate that is at least partially specified by a known standard, such as the “X509 standard”) from the client node. The client certificate has client information that specifies at least one node that receives packets from the client node. The method then performs the authentication process using the client certificate. If the client node is authenticated by the authentication process, the method routes the data packet from the client node to at least one node in the local network as specified by the client information in the client certificate.

Description

関連出願
本願は、2014年9月26日に出願された米国特許出願第14/497,954号、発明の名称「ネットワークパケットフローコントローラ(NETWORK PACKET FLOW CONTROLLER)」、代理人整理番号4094/1001、発明者Melampy、Baj、Kaplan、Kumar、Penfield及びTimmons、に関連するものであり、その開示内容全体は参照により本願に組み込まれる。
RELATED APPLICATIONS This application is based on US patent application Ser. No. 14 / 497,954 filed Sep. 26, 2014, entitled “NETWORK PACKET FLOW CONTROLLER”, agent serial number 4094/1001, Which relates to the inventors Melampy, Baj, Kaplan, Kumar, Penfield and Timmons, the entire disclosure of which is incorporated herein by reference.

本願は、また、2014年12月8日に出願された米国特許出願第14/562,917号、発明の名称「ステートレスなネットワークにおけるステートフルなロードバランシング(STATEFUL LOAD BALANCING IN A STATELESS NETWORK)」、代理人整理番号4094/1002、発明者Timmons、Baj、Kaplan、Melampy、Kumar及びPenfield、に関連するものであり、その開示内容全体は参照により本願に組み込まれる。   This application is also US patent application Ser. No. 14 / 562,917, filed Dec. 8, 2014, entitled “Stateful Load Balancing in a STATEMENT NETWORK”, Acting Name. Related to Person Number 4094/1002, Inventors Timemons, Baj, Kaplan, Melampy, Kumar, and Penfield, the entire disclosure of which is incorporated herein by reference.

本PCT出願は、2015年3月17日に出願された米国特許出願第14/660,500号、発明の名称「データをルーティングするために証明書データを使用する装置と方法(APPARATUS AND METHOD FOR USING CERTIFICATE DATA TO ROUTE DATA)」、代理人整理番号4094/1005、発明者Kumar、Timmons及びMeLampy、の優先権を主張するものであり、その開示内容全体は参照により本願に組み込まれる。   This PCT application is filed on US patent application Ser. No. 14 / 660,500, filed Mar. 17, 2015, entitled “Apparatus and Method For Using Certificate Data to Route Data”. USING CERTIFICATE DATA TO ROUTE DATA), Attorney Docket No. 4094/1005, inventors Kumar, Timmons and MeLampy, all of which are incorporated herein by reference in their entirety.

技術分野
本発明は、一般的には、ネットワークデバイスに関し、より詳細には、ネットワークルーティングデバイスについてのセキュリティに関する。
TECHNICAL FIELD The present invention relates generally to network devices, and more particularly to security for network routing devices.

インターネットプロトコル(「IP」)は、データメッセージ(「データグラム」)を、インターネットに接続されているネットワークデバイス間で転送するためのデファクトスタンダードとして使用されている。そのために、IPは、一連のインターネットデバイスを介して、例えばルータ及びスイッチを介して、データグラムを1つ又は複数のデータパケットの形態で供給する。各パケットは、2つの主要部分、即ち、(1)伝送される情報(例えばテキストデータ、グラフィックデータ、オーディオデータ又はビデオデータ)を有しているペイロード、並びに、(2)(1つ又は複数の)パケットを受信するネットワークデバイス(「宛先デバイス」)のアドレス、パケットを送信するネットワークデバイス(「起源デバイス」)の識別子及びパケットをルーティングするためのその他のデータを有している、「IPヘッダ」として公知であるヘッダ。従って、多くの人々は、パケットを一般郵便/ファーストクラスメール(first class mail)を使用する慣例の伝統的な手紙を例にして説明している。つまり、手紙は、ペイロードとして機能し、また差出人住所及び宛先住所が示されている封書は、IPヘッダとして機能する。   The Internet Protocol (“IP”) is used as the de facto standard for transferring data messages (“datagrams”) between network devices connected to the Internet. To that end, IP supplies datagrams in the form of one or more data packets via a series of internet devices, eg via routers and switches. Each packet has two main parts: (1) a payload having information to be transmitted (eg text data, graphic data, audio data or video data), and (2) (one or more) "IP header", which has the address of the network device receiving the packet ("destination device"), the identifier of the network device sending the packet ("originating device"), and other data for routing the packet Known as the header. Thus, many people describe the packet as an example of a traditional traditional letter that uses general mail / first class mail. That is, the letter functions as a payload, and the sealed letter indicating the sender address and the destination address functions as an IP header.

ハッカーは、第三者のインターネットデバイス、例えばデータセンタ内のアプリケーションサービスにアクセスして、違法な操作を行うことを頻繁に試みている。そのような違反行為によって大量のデータが漏洩する可能性がある。データの漏洩によって詐欺行為が蔓延し、その被害額は数十億ドルにも達する。   Hackers frequently attempt to perform illegal operations by accessing third party Internet devices, such as application services in a data center. A large amount of data can be leaked due to such violations. Data breaches have led to widespread scams that can cost billions of dollars.

種々の実施の形態の概要
本発明の1つの実施の形態によれば、ネットワークを介してデータをルーティングする方法は、複数のノードを有しているローカルネットワーク内の少なくとも1つのノードにアクセスするクライアントノードからセッションリクエストを受信する。また本方法は、クライアント証明書(例えば、公知の標準、例えば「X509標準」によって少なくとも部分的に仕様が定められているディジタル証明書)をクライアントノードから受信する。クライアント証明書は、クライアントノードからパケットを受信する少なくとも1つのノードを指定するクライアント情報を有している。次に、本方法は、クライアント証明書を使用して、認証プロセスを実行する。認証プロセスによってクライアントノードが認証された場合には、本方法は、データパケットをクライアントノードから、クライアント証明書におけるクライアント情報によって指定された通りに、ローカルネットワーク内の少なくとも1つのノードにルーティングする。
Summary of Various Embodiments According to one embodiment of the present invention, a method for routing data over a network includes a client accessing at least one node in a local network having a plurality of nodes. Receive a session request from a node. The method also receives a client certificate (eg, a digital certificate that is at least partially specified by a known standard, such as the “X509 standard”) from the client node. The client certificate has client information that specifies at least one node that receives packets from the client node. The method then performs an authentication process using the client certificate. If the client node is authenticated by the authentication process, the method routes the data packet from the client node to at least one node in the local network as specified by the client information in the client certificate.

認証プロセスによって、クライアントノードを認証できない場合には、本方法はクライアントノードを拒絶することができる。例えば、本方法は、クライアントノードのパケットが、ローカルネットワーク内のその他のノードにアクセスすることを効率的にブロックすることができる(即ち、本方法はクライアントノードから受信するパケットを単純に転送するものではない)。   If the authentication process fails to authenticate the client node, the method can reject the client node. For example, the method can effectively block a client node's packets from accessing other nodes in the local network (ie, the method simply forwards packets received from the client node). is not).

図示の実施の形態は、データパケットを受信する、ローカルネットワーク内の少なくとも1つのノードの識別子を求めるためのクライアント情報を使用してデータパケットをルーティングする。従って、ルーティングが行われるということは、クライアントノードに少なくとも1つのノードへのアクセスが許可されたとみなすことができる。   The illustrated embodiment routes data packets using client information for determining the identifier of at least one node in the local network that receives the data packets. Therefore, when routing is performed, it can be considered that the client node is permitted to access at least one node.

とりわけ、クライアント情報は、a)クライアントノードを識別する識別情報、b)ローカルネットワーク内の少なくとも1つのノードにアクセスする際にクライアントノードに一連の特権を与えるポリシー情報、又はクライアント情報及びポリシー情報の両方を含むことができる。従って、識別情報及びポリシー情報の一方又は両方によって指定された通りに、データパケットをルーティングすることができる。   Among other things, the client information includes: a) identification information identifying the client node, b) policy information that gives the client node a set of privileges when accessing at least one node in the local network, or both client information and policy information Can be included. Thus, the data packet can be routed as specified by one or both of the identification information and policy information.

ローカルネットワーク(例えばローカルエリアネットワーク)は、セッションリクエストを受信する、クライアント証明書を受信する、クライアント情報を検索する、及び/又は、データパケットをルーティングするエッジルータを有することができる。ローカルネットワークは、その他の複数のノードを含むこともできる。例えば、少なくとも1つのノードは、アプリケーションサーバを含むことができる。   A local network (eg, a local area network) can have an edge router that receives session requests, receives client certificates, retrieves client information, and / or routes data packets. The local network can also include other nodes. For example, at least one node can include an application server.

ルーティングによって形成された仮想コネクションは、種々異なるアプローチを使用することができる。例えば、仮想コネクションは、セッションリクエストを受信するローカルネットワークの受信ノードと、ローカルネットワーク内の少なくとも1つのノードと、の間の静的なコネクションを維持することができる。この静的なコネクションは、ローカルネットワーク内にのみ存在している。そのケースにおいては、ルーティングは、クライアントからのデータパケットの、静的なコネクションに沿ったルーティングを含むことができる。従って、そのような実施の形態においては、周知のハンドシェイクプロセスが、セッション中に、クライアントノードと、ローカルネットワーク内の少なくとも1つのノードとの間で実施されることは期待されない。   Virtual connections formed by routing can use different approaches. For example, the virtual connection can maintain a static connection between a receiving node of the local network that receives the session request and at least one node in the local network. This static connection exists only in the local network. In that case, routing can include routing of data packets from the client along a static connection. Thus, in such an embodiment, it is not expected that a well-known handshake process will be performed between the client node and at least one node in the local network during the session.

しかしながら、その他の実施の形態は、上述の静的なコネクションを使用しなくてもよい。例えば、本方法は、証明書を受信する前に、クライアントノードと少なくとも1つのノードとの間の最初のハンドシェイクプロセスを許可することができ、また、認証プロセスによってクライアントノードが認証された場合には、クライアントノードと少なくとも1つのノードとの間の最後のハンドシェイクプロセスの完了を許可することができる。   However, other embodiments may not use the static connection described above. For example, the method may allow an initial handshake process between the client node and at least one node before receiving the certificate, and if the client node is authenticated by the authentication process Can allow the completion of the final handshake process between the client node and at least one node.

とりわけ、認証プロセスは、ゲストユーザのためのログインID及びパスワードを受信することができ、またそのログインID及びパスワードがローカルネットワーク内のアクセスに対して有効であることを確認することができる。幾つかの実施の形態は、クライアントノードデバイスを識別するクライアントデバイス識別子(例えばクライアントデバイスのMACアドレス)を求めることができ、また、認証プロセスを実行するためにクライアントデバイス識別子及びクライアント証明書を使用することができる。   Among other things, the authentication process can receive a login ID and password for the guest user and can verify that the login ID and password are valid for access within the local network. Some embodiments may determine a client device identifier (eg, the MAC address of the client device) that identifies the client node device, and use the client device identifier and client certificate to perform the authentication process. be able to.

別の実施の形態によれば、ネットワークを介して受信したデータをルーティングするためのネットワークルーティングデバイスは、a)複数のノードを有しているローカルネットワーク内の少なくとも1つのノードにアクセスするクライアントノードからのセッションリクエスト、及び、b)クライアントノードからのクライアント証明書を受信するためのインタフェースを有している。クライアント証明書は、クライアントノードからパケットを受信する少なくとも1つのノードを指定するクライアント情報を有している。ネットワークルーティングデバイスは、クライアント証明書からクライアント情報を検索し、且つ、クライアント情報を使用して認証プロセスを実行するように構成されており、また、適切に作用するようにインタフェースに接続されている、オーセンティケータも有している。更に、ネットワークルーティングデバイスは、認証プロセスによってクライアントノードが認証されたか否かをオーセンティケータから求めるように構成されており、且つ、適切に作用するようにオーセンティケータに接続されている、ルータも有している。従って、ルータは、クライアントノードが認証された場合には、クライアント証明書におけるクライアント情報によって指定された通りに、データパケットをクライアントノードからローカルネットワーク内の少なくとも1つのノードにルーティングするように構成されている。   According to another embodiment, a network routing device for routing data received over a network comprises: a) from a client node accessing at least one node in a local network having a plurality of nodes And b) an interface for receiving a client certificate from the client node. The client certificate has client information that specifies at least one node that receives packets from the client node. The network routing device is configured to retrieve client information from the client certificate and use the client information to perform an authentication process and is connected to the interface to work properly. It also has an authenticator. Further, the network routing device is configured to determine from the authenticator whether the client node has been authenticated by the authentication process, and a router connected to the authenticator to work properly is also provided. Have. Thus, the router is configured to route data packets from the client node to at least one node in the local network as specified by the client information in the client certificate when the client node is authenticated. Yes.

更に別の実施の形態によれば、ネットワークを介するデータのルーティング方法は、複数のノードを有しているローカルネットワーク内の少なくとも1つのノードにアクセスするクライアントノードからセッションリクエストを受信し、また、クライアントノードからクライアント証明書を受信する。クライアント証明書は、クライアントノードからパケットを受信する少なくとも1つのノードを指定するクライアント情報を有している。本方法は、クライアント証明書からクライアント情報を検索し、また、クライアント証明書におけるクライアント情報に基づいて、少なくとも1つのノードへの少なくとも制限的なアクセスを容易にする。   According to yet another embodiment, a method for routing data across a network receives a session request from a client node accessing at least one node in a local network having a plurality of nodes, and the client Receive a client certificate from a node. The client certificate has client information that specifies at least one node that receives packets from the client node. The method retrieves client information from the client certificate and facilitates at least restrictive access to at least one node based on the client information in the client certificate.

本発明の図示の実施の形態は、コンピュータ使用可能の媒体と、その媒体上のコンピュータ可読プログラムコードと、を有しているコンピュータプログラム製品として実現される。コンピュータ可読コードを、従来のプロセスに従ってコンピュータシステムによって読み出して利用することができる。   The illustrated embodiment of the invention is implemented as a computer program product having a computer usable medium and computer readable program code on the medium. The computer readable code can be read and utilized by a computer system according to conventional processes.

当業者であれば、以下に簡単に説明している図面と関連させて説明を行う、「図示の実施の形態の説明」の項から、本発明の種々の実施の形態の利点がより十分に明らかになる。   Those skilled in the art will more fully appreciate the advantages of the various embodiments of the present invention from the “Description of Illustrated Embodiments” section, described in conjunction with the drawings briefly described below. Becomes clear.

本発明の図示の実施の形態を使用することができる、仮想の従来技術のネットワークを概略的に示す。1 schematically illustrates a virtual prior art network in which the illustrated embodiment of the present invention may be used. 本発明の図示の実施の形態によって使用することができる、従来技術のメッセージのフラグメンテーションを概略的に示す。Fig. 4 schematically illustrates prior art message fragmentation that may be used by the illustrated embodiment of the present invention. 本発明の図示の実施の形態を実現することができる、一般的な従来技術のインターネットを概略的に示す。1 schematically illustrates a general prior art Internet in which the illustrated embodiment of the present invention may be implemented. 本発明の図示の実施の形態を実現することができる、より特定のタイプのインターネットを概略的に示す。Fig. 2 schematically illustrates a more specific type of Internet in which the illustrated embodiment of the invention can be implemented. 本発明の図示の実施の形態に従って構成されているエッジルータの種々の部分を概略的に示す。1 schematically illustrates various portions of an edge router configured in accordance with an illustrative embodiment of the invention. 本発明の図示の実施の形態による、サーバへのアクセスのプロセスを示す。Fig. 4 shows a process of accessing a server according to an illustrative embodiment of the invention. 本発明の図示の実施の形態に従って作成された、ディジタル証明書の一例を示す。2 illustrates an example of a digital certificate created in accordance with the illustrated embodiment of the present invention. 本発明の図示の実施の形態に従って作成された、ディジタル証明書の一例を示す。2 illustrates an example of a digital certificate created in accordance with the illustrated embodiment of the present invention.

図示の実施の形態においては、ネットワークデバイスは、遠方のクライアントから到来するデータメッセージを、クライアントのディジタル証明書内のクライアント固有情報に基づいて局所的にルーティングする。そのために、クライアントのディジタル証明書は、付加的な情報、例えばクライアントの識別子を識別する情報と、ルーティングネットワークデバイスのローカルネットワーク内の特定のデバイスにアクセスする際の、その固有のクライアントのポリシー/許可と、を有している。   In the illustrated embodiment, the network device routes data messages coming from distant clients locally based on client-specific information in the client's digital certificate. To that end, the client's digital certificate includes additional information, such as information identifying the client's identifier, and its unique client policy / authorization when accessing a particular device in the local network of the routing network device. And have.

従って、クライアントの検証/認証後に、ネットワークデバイスは、クライアントパケットを自身のローカルネットワーク(例えば自身のローカルエリアネットワーク)内で、クライアントディジタル証明書におけるクライアント情報に応じてルーティングする。従って、クライアントは、ディジタル証明書におけるクライアント情報によって指定された通りに、事前に選択されたネットワークデバイスにのみアクセスすることができる。更に、クライアントは、クライアント証明書内のポリシー情報に基づいて、それらの事前に選択されたネットワークデバイスに対する特定の特権だけを有することができる。図示の実施の形態を下記において詳述する。   Thus, after client verification / authentication, the network device routes client packets within its local network (eg, its local area network) according to the client information in the client digital certificate. Thus, the client can only access the preselected network device as specified by the client information in the digital certificate. In addition, clients can only have certain privileges on their preselected network devices based on policy information in the client certificate. The illustrated embodiment will be described in detail below.

ネットワーク
図示の実施の形態は、好適には、従来のコンピュータネットワークにおいて実施されている。特に、ネットワークは、少なくとも2つのノードと、ノード間の少なくとも1つのリンクと、を含んでいる。ノードは、(ホスト又はデバイスと称する場合もある)コンピューティングデバイス及びルータを含むことができる。コンピュータには、パーソナルコンピュータ、スマートフォン、テレビジョン・セットトップボックス、現金自動預け払い機(ATM)、並びに、プロセッサ及びネットワークインタフェースを含んでいるその他の多くのタイプの装置が含まれる。リンクは、ノードペア間の有線式及び無線式のコネクションを含んでいる。更に、ノード及び/又はリンクを、完全にソフトウェアとして実施することができ、例えば仮想マシン、ソフトウェア定義ネットワーク(SDN:Software Defined Network)において、また、ネットワーク機能の仮想化(NFV:Network Function Virtualization)を使用して実施することができる。多くのネットワークは、スイッチを含んでおり、それらのスイッチの大部分は、この議論に関してトランスペアレント(透過性)である。しかしながら、幾つかのスイッチは、ルーティング機能も実施する。ここでの議論に関して、そのようなルーティングスイッチはルータとみなされる。ルータについては下記において説明する。
Network The illustrated embodiment is preferably implemented in a conventional computer network. In particular, the network includes at least two nodes and at least one link between the nodes. Nodes can include computing devices (sometimes referred to as hosts or devices) and routers. Computers include personal computers, smartphones, television set-top boxes, automated teller machines (ATMs), and many other types of devices including processors and network interfaces. The link includes wired and wireless connections between node pairs. In addition, nodes and / or links can be implemented entirely as software, for example in virtual machines, software defined networks (SDN) and network function virtualization (NFV). Can be implemented using. Many networks include switches, most of which are transparent with respect to this discussion. However, some switches also perform routing functions. For the purposes of this discussion, such a routing switch is considered a router. The router will be described below.

ノードを、1つ又は複数のその他のノードと、それぞれ個別のリンクを介して直接的に接続することができる。例えば、図1には、ノードAがリンク1を介してノードBに直接的に接続されていることが概略的に示されている。所定のネットワークにおいて(例えば、ローカルエリアネットワーク内では)、各ノードは、データの送信及び受信を容易にするためのユニークなネットワークアドレスを有している。ネットワークは、ネットワークのアドレッシングスキームに従ってネットワーク内でアドレッシング可能な全てのノードと、ネットワークのアドレッシングスキームに従って通信を行うためにノードを相互接続する全てのリンクと、を含んでいる。例えば、図1においては、ノードA、ノードB、ノードC〜ノードF及び全てのリンク1〜8が一緒になって1つのネットワーク100を形成している。簡略化のために、ネットワークを、1つのクラウドとして、又は、1つのクラウド内に含まれるものとして示すことができる。しかしながら、クラウドは存在しないということが、複数のノード及び複数のリンクの集合体はネットワークではないということを意味しているわけではない。例えば、複数の比較的小さいネットワークから1つのネットワークを形成することができる。   A node can be directly connected to one or more other nodes, each via a separate link. For example, FIG. 1 schematically shows that node A is directly connected to node B via link 1. In a given network (eg, within a local area network), each node has a unique network address to facilitate data transmission and reception. The network includes all nodes that are addressable within the network according to the network addressing scheme and all links that interconnect the nodes to communicate according to the network addressing scheme. For example, in FIG. 1, node A, node B, node C to node F, and all links 1 to 8 form one network 100 together. For simplicity, the network can be shown as one cloud or contained within one cloud. However, the absence of a cloud does not mean that a collection of nodes and links is not a network. For example, one network can be formed from a plurality of relatively small networks.

各ノードは、ネットワークを介してその他のノードとの通信を開始することができ、また各ノードは、ネットワークを介してその他のノードによって開始された通信を受信することができる。例えば、ノードは、直接的に接続されているノード(隣接ノード)に、その隣接ノードと相互接続されているリンクを介してデータ(メッセージ)を送信することによって、そのデータ(メッセージ)を伝送/転送/送信することができる。メッセージは、送信ノードのネットワークアドレス(「送信元アドレス」)と、意図されている受信ノードのネットワークアドレス(「宛先アドレス」)と、を含んでいる。送信ノードは、メッセージを非隣接ノードに、1つ又は複数のその他の介在ノードを介して送信することができる。例えば、ノードDは、ノードFにノードBを介してメッセージを送信することができる。周知のネットワーキングプロトコルを使用して、送信元ノードと宛先ノードとの間に存在する(1つ又は複数の)ノードは、メッセージがその宛先ノードに到達するまで、メッセージを転送する。従って、適切に動作するために、ネットワークプロトコルは、各ノードによる、そのネットワーク内の非隣接ノードのネットワークアドレスの学習又は発見を実現する。   Each node can initiate communication with other nodes via the network, and each node can receive communications initiated by other nodes via the network. For example, a node transmits / transmits data (message) to a directly connected node (adjacent node) via a link interconnected with the adjacent node. Can be transferred / transmitted. The message includes the network address of the sending node (“source address”) and the intended recipient network address (“destination address”). A sending node may send a message to a non-adjacent node via one or more other intervening nodes. For example, node D can send a message to node F via node B. Using well-known networking protocols, the node (s) that exist between the source node and the destination node forward the message until the message reaches its destination node. Thus, in order to operate properly, the network protocol allows each node to learn or discover the network addresses of non-adjacent nodes in that network.

ノードは、プロトコルに従って、例えば公知のインターネットプロトコル(IP:Internet Protocol)及び伝送制御プロトコル(TCP:Transmission Control Protocol)に従って、ネットワークを介して通信を行う。プロトコルは、典型的には、例えば周知の7層オープンシステム接続(OSI:Open System Interconnect)モデルに従って、階層化されたソフトウェアコンポーネント及び/又はハードウェアコンポーネントによって実施されている。一例として、IPはOSIのレイヤ3(ネットワーク層)で機能し、その一方、TCPは大部分がOSIのレイヤ4(トランスポート層)で機能する。各層は、論理的な機能を実施し、また自身より下位の層を抽象化し、従って下位層の詳細を隠す。   The node communicates via a network according to a protocol, for example, according to a known Internet protocol (IP) and a transmission control protocol (TCP). The protocol is typically implemented by layered software components and / or hardware components, for example, according to the well-known 7-layer Open System Interconnect (OSI) model. As an example, IP functions at OSI layer 3 (network layer), while TCP functions mostly at OSI layer 4 (transport layer). Each layer performs a logical function and also abstracts the layers below itself, thus hiding the details of the lower layers.

例えば、レイヤ3は、レイヤ2(データリンク層)が1つの大きいメッセージを1回の伝送で処理できない場合には、そのメッセージの、複数のより小さいパケットへのフラグメント化を実施することができる。図2には、複数の部分202、204、206、208、210及び212に分割された大きいメッセージ200が概略的に示されている。この場合、各部分202〜212を、パケット214によって例示されている個別のパケットとして送信することができる。各パケットは、ペイロード216によって例示されているペイロード(本体)部分と、参照番号218によって例示されているヘッダ部分と、を含んでいる。ヘッダ部分218は、(1)パケットのその宛先へのルーティング、(2)メッセージのパケットの再組み立て、及び、(3)プロトコルに従って提供されるその他の機能、のために必要とされる又は望まれる情報、例えばパケットの送信元アドレス、宛先アドレス及びパケットシーケンス番号を含んでいる。幾つかのケースにおいては、例えばペイロード又はパケット全体のチェックサムを実施するために、ペイロードにトレーラ部分も付加されている。メッセージの全てのパケットが同一の経路に沿って送信される必要はない。つまり、それらのパケットの共通の宛先への経路において同一のノードを通過する必要はない。IPパケットは、正式にはIPデータグラムと称されるが、それらは一般的には単純にパケットと称されていることを言及しておく。   For example, if layer 3 (data link layer) cannot process one large message in a single transmission, layer 3 can perform fragmentation of the message into multiple smaller packets. FIG. 2 schematically shows a large message 200 divided into a plurality of parts 202, 204, 206, 208, 210 and 212. In this case, each portion 202-212 can be transmitted as a separate packet, exemplified by packet 214. Each packet includes a payload (body) portion illustrated by payload 216 and a header portion illustrated by reference number 218. The header portion 218 is needed or desired for (1) routing the packet to its destination, (2) reassembling the packet of the message, and (3) other functions provided according to the protocol. Contains information such as the source address, destination address and packet sequence number of the packet. In some cases, a trailer portion is also added to the payload, eg, to perform a checksum of the entire payload or packet. Not all packets of a message need to be sent along the same path. That is, it is not necessary to pass through the same node in the route to the common destination of these packets. Although IP packets are formally referred to as IP datagrams, it is noted that they are generally simply referred to as packets.

その他の幾つかのプロトコルも、データの複数のパケットへのフラグメント化を実施する。例えば、TCPは、データの複数のセグメントへのフラグメント化を実施する。セグメントは、正式には、TCPプロトコルデータユニット(PDU:Protocol Data Unit)と称される。それにもかかわらず、一般的には、PDU及びデータグラムを表す際に、またイーサネットフレームを表す際にパケットという用語が用いられている。   Some other protocols also implement fragmentation of data into multiple packets. For example, TCP performs fragmentation of data into multiple segments. The segment is formally called a TCP protocol data unit (PDU: Protocol Data Unit). Nevertheless, the term packet is generally used when referring to PDUs and datagrams and when referring to Ethernet frames.

プロトコルの多くは、上位の階層のプロトコルのパケットのカプセル化を実施する。例えば、IPは、IPパケットを生成するために、TCPパケットにIPヘッダを付加することによって、TCPパケットのカプセル化を実施する。従って、下位の階層において送信されたパケットは、パケット内のパケットから成るものであると考えられる。通常の場合、あるプロトコルに従って動作するコンポーネントは、同一のプロトコルに従って動作する別のコンポーネント、典型的には別のノード内の別のコンポーネントによって生成されたヘッダ及び/又はトレーラ内の情報しか検査又は変更しない。つまり、一般的には、あるプロトコルに従って動作するコンポーネントは、その他のプロトコルによって生成されたパケットの部分を検査又は変更しない。   Many protocols implement encapsulation of higher layer protocol packets. For example, IP implements encapsulation of a TCP packet by adding an IP header to the TCP packet to generate an IP packet. Therefore, the packet transmitted in the lower layer is considered to be composed of packets in the packet. In the normal case, a component operating according to one protocol only inspects or modifies information in a header and / or trailer generated by another component operating in accordance with the same protocol, typically another component in another node. do not do. That is, in general, components that operate according to one protocol do not inspect or modify portions of packets generated by other protocols.

階層プロトコルによって提供される抽象化の別の例では、幾つかの層がアドレスを変換する。幾つかの層は、層固有のアドレッシングスキームを含んでいる。例えば、リンクの各端部は、実際の(例えば電子的な)インタフェース又は仮想のインタフェース、例えばイーサネットインタフェースを介してノードに接続されている。レイヤ2(データリンク層)では、各インタフェースがアドレスを、例えばメディアアクセスコントロール(MAC:Media Access Control)アドレスを有している。その一方で、IPを使用するレイヤ3では、各インタフェースが、又は少なくとも各ノードがIPアドレスを有している。レイヤ3は、IPアドレスをMACアドレスに変換する。   In another example of the abstraction provided by the layer protocol, several layers translate addresses. Some layers contain layer specific addressing schemes. For example, each end of the link is connected to the node via a real (eg electronic) interface or a virtual interface, eg an Ethernet interface. In layer 2 (data link layer), each interface has an address, for example, a media access control (MAC) address. On the other hand, in layer 3 using IP, each interface or at least each node has an IP address. Layer 3 converts the IP address into a MAC address.

典型的に、ルータは2つ又はそれ以上の個別のネットワーク、若しくは、単一のネットワークの2つ又はそれ以上のサブネットワーク(サブネット)を相互接続するノードとして機能する。これによって、「複数のネットワークから成る1つのネットワーク」(即ち、1つのインターネット)が形成される。従って、ルータは、少なくとも2つのインタフェースを有しており、各インタフェースは、図3に例示されているように、ルータを異なるネットワークに接続する。ルータは、一方のインタフェースを介して一方のネットワークからパケットを受信すると、自身のルーティングテーブルに記憶されている情報を使用して、そのパケットを他方のインタフェースを介して他方のネットワークに向ける。ルーティングテーブルは、ネットワークとネクストホップとの関連性を含んでいる。それらの関連性は、最終的な宛先への経路上のネクストホップを表している特定のルータにパケットを送信することによって、特定の宛先に最適に到達できることをルータに知らせる。例えば、第1のルータ300が自身の第1のインタフェース304を介して、第1のネットワーク302からパケットを受信し、且つ、そのパケットの宛先が第3のネットワーク306内のあるノードに指定されている場合には、第1のルータ300は、自身のルーティングテーブルを参照して、自身の第2のインタフェース308を介して第2のネットワーク310にパケットを転送する。続けて、第2のネットワーク310は、パケットを第3のネットワーク306に転送する。ネクストホップの関連性を、最終的な宛先への出力(出口)インタフェースとしてルーティングテーブルに示すこともできる。   Typically, a router functions as a node that interconnects two or more separate networks, or two or more subnetworks (subnets) of a single network. As a result, “one network composed of a plurality of networks” (that is, one Internet) is formed. Thus, the router has at least two interfaces, each interface connecting the router to a different network, as illustrated in FIG. When a router receives a packet from one network via one interface, the router uses the information stored in its routing table to direct the packet to the other network via the other interface. The routing table includes the relationship between the network and the next hop. Their relevance informs the router that it can optimally reach a specific destination by sending a packet to the specific router that represents the next hop on the route to the final destination. For example, the first router 300 receives a packet from the first network 302 via its first interface 304, and the destination of the packet is designated as a node in the third network 306. If so, the first router 300 refers to its routing table and transfers the packet to the second network 310 via its second interface 308. Subsequently, the second network 310 transfers the packet to the third network 306. The next hop association can also be shown in the routing table as an output (egress) interface to the final destination.

大規模な組織、例えば大企業、商用データセンタ及び電気通信事業者は、内部トラフィックの送信のために、階層構造のルータのセットを使用することが多い。例えば、1つ又は複数のゲートウェイルータによって、各組織のネットワークと、1つ又は複数のインターネットサービスプロバイダ(ISP:Internet Service Provider)と、を相互接続することができる。またISPは、自身の顧客のゲートウェイ間のトラフィックの送信のために階層構造のルータを使用して、その他のISPとの相互接続及びインターネットバックボーンにおけるコアルータとの相互接続を実現する。   Large organizations, such as large enterprises, commercial data centers and telecommunications carriers, often use a set of hierarchical routers for transmitting internal traffic. For example, one or more gateway routers can interconnect each organization's network with one or more Internet Service Providers (ISPs). ISPs also use hierarchical routers to transmit traffic between their customer gateways to provide interconnection with other ISPs and with core routers in the Internet backbone.

ルータは、その主たる転送の判断に関して、レイヤ3IPパケットにおける情報、特に宛先IPアドレスを基礎としているので、レイヤ3デバイスとみなされる。従来のルータは、パケットが運ぶ実際のデータコンテンツ(即ち、カプセル化されたペイロード)を参照しない。その代わりにルータは、単に、転送の判断を行うためのレイヤ3アドレスと、オプションとして、サービス品質(QoS:Quality of Service)要求のようなヒントに関するヘッダにおけるその他の情報と、だけを見る。パケットが転送されると、従来のルータは、パケットに関する履歴情報を保持しない。しかしながら、ルータがそのように構成されている場合であっても、統計的なデータを生成するために転送活動を収集することはできる。   A router is considered a Layer 3 device because it is based on information in the Layer 3 IP packet, particularly the destination IP address, for its main forwarding decision. Conventional routers do not reference the actual data content (ie, encapsulated payload) that the packet carries. Instead, the router simply looks at the layer 3 address for making forwarding decisions and, optionally, other information in the header for hints such as quality of service (QoS) requests. When a packet is transferred, the conventional router does not maintain history information about the packet. However, even if the router is so configured, forwarding activity can be collected to generate statistical data.

従って、IPネットワークは、特にこの履歴情報を保持しないことから、「ステートレスな」ネットワークとみなされる。例えば、IPネットワークは一般的に、各リクエストを、以前のいずれのリクエストにも関係しない独立したトランザクションとして処理する。従って、ルータは、先行のパケットをどのように処理したかを顧みずに、パケットをルーティングすることができる。例えば、IPネットワークは、典型的に、新規に加わった通信パートナの状態又はセッション情報を記憶しない。例えば、ネットワークの一部が使用できない中間トランザクションになった場合には、リソースを再割り当てする必要はないか、又は、さもなければ、ネットワークの状態を固定する必要はない。その代わりに、パケットをネットワーク内のその他のノードに沿ってルーティングすることができる。   Accordingly, the IP network is regarded as a “stateless” network because it does not particularly retain this history information. For example, IP networks typically treat each request as an independent transaction that is not related to any previous request. Thus, the router can route the packet without regard to how the previous packet was processed. For example, IP networks typically do not store newly added communication partner status or session information. For example, if an intermediate transaction becomes unavailable to a part of the network, there is no need to reallocate resources, or otherwise the network state need not be fixed. Instead, the packet can be routed along other nodes in the network.

上記において述べたように、ルータは、一方のインタフェースを介して一方のネットワークからパケットを受信すると、自身のルーティングテーブルを使用して、そのパケットを他方のネットワークに向ける。表1には、基本的なIPルーティングテーブルから一般的に見て取れる情報が列挙されている。

Figure 2018514956
As described above, when a router receives a packet from one network via one interface, it uses its routing table to direct the packet to the other network. Table 1 lists information that can be generally seen from the basic IP routing table.
Figure 2018514956

ルーティングテーブルを、例えばシステム管理者によって手動で埋めることができるか、又は、ルータによって動的に埋めることができる。ルータは、その他のルータと情報を交換するためにルーティングプロトコルを使用し、またそれによって、周囲のネットワーク又はインターネットのトポロジを動的に学習する。例えば、ルータは、自身の存在を(1つ又は複数の)ネットワークに通知する。より詳細には、ルータは、自身がパケットを転送できるIPアドレスの範囲をネットワークに通知する。隣接するルータは、その情報を用いて自身のルーティングテーブルを更新し、また第1のルータの(1つ又は複数のネットワーク)へとパケットを転送する自身の能力をブロードキャストする。この情報は、必要に応じて、ネットワーク内のより遠隔のルータに拡散される。動的なルーティングによって、ルータは、ネットワーク又はインターネット内の変化に、例えば増大したネットワークの輻輳、新たなルータのインターネットへの追加、及び、ルータ又はリンクのエラーに反応することができる。   The routing table can be filled manually, for example by a system administrator, or dynamically filled by a router. Routers use routing protocols to exchange information with other routers and thereby dynamically learn the surrounding network or Internet topology. For example, the router informs the network (s) of its presence. More specifically, the router notifies the network of the range of IP addresses to which the router can transfer packets. Neighboring routers use their information to update their routing tables and broadcast their ability to forward packets to the first router (s). This information is spread to more remote routers in the network as needed. Dynamic routing allows a router to react to changes in the network or the Internet, such as increased network congestion, the addition of new routers to the Internet, and router or link errors.

従って、ルーティングテーブルは、パケットを各宛先へとルーティングするための一連の規則を提供する。パケットが到着すると、ルータは、パケットの内容を検査し、例えばそのパケットの宛先アドレスを検査し、ルーティングテーブルにおける最適な規則を発見する。その規則は、事実上、パケットを転送するためにどのインタフェースが使用されるかをルータに知らせ、またそのパケットの最終的な宛先IPアドレスへの経路上においてそのパケットが転送されるノードのIPアドレスも知らせる。   Thus, the routing table provides a set of rules for routing packets to each destination. When a packet arrives, the router examines the contents of the packet, for example examines the destination address of the packet and finds the optimal rule in the routing table. The rule effectively informs the router which interface is used to forward the packet, and the IP address of the node to which the packet is forwarded on the path to the final destination IP address of the packet Also inform.

ホップ・バイ・ホップ方式のルーティングでは、各ルーティングテーブルには、到達可能な全ての宛先に関して、その宛先への経路に沿った次ノード、即ちネクストホップのアドレスが記載されている。ルーティングテーブルに矛盾がない場合を想定すれば、ネットワーク内のいずれかの場所にパケットを送信するには、パケットをその宛先の各ネクストホップへとリレーする各ルータの単純なアルゴリズムで十分である。ホップ・バイ・ホップ方式は、IPインターネットワーク層及びOSIネットワーク層の基本的な特性を表している。   In hop-by-hop routing, each routing table describes, for all reachable destinations, the address of the next node, that is, the next hop along the route to the destination. Assuming that the routing table is consistent, a simple algorithm for each router that relays the packet to each destination next hop is sufficient to send the packet anywhere in the network. The hop-by-hop scheme represents the basic characteristics of the IP internetwork layer and the OSI network layer.

従って、各ルータのルーティングテーブルは、通常の場合、パケットを、そのパケットの宛先の「比較的近くに位置する」別のルータに転送するのに十分な情報しか含んでいないので、パケットが常にその宛先へと送信されることは保証していない。ある意味において、少なくとも大部分のパケットが最終的にその宛先へと到達することを目的として、パケットは、一連のルータを辿って、各ルータにおいてその時点での最新の規則を使用して、次にどのルータを辿るかを決定することによって、自身の宛先までの自身の経路を発見している。   Thus, each router's routing table normally contains enough information to forward the packet to another router that is "relatively close" to the packet's destination, so that the packet is always There is no guarantee that it will be sent to the destination. In a sense, for the purpose of at least the majority of packets finally reaching their destination, the packets follow the sequence of routers and use the current rules at each router to By determining which router to follow, it finds its route to its destination.

例えば、ルータが輻輳した場合、又は、リンクに障害が発生した場合、規則は1つのパケットの連続する2つのホップ間で、又は、1つのメッセージの連続する2つのパケット間で変化する可能性があることを言及しておく。従って、1つのメッセージの2つのパケットが異なる経路を辿る可能性があり、それどころか順番通りに到着しない可能性がある。換言すれば、パケットが送信元ノード又は起源ノードから送信される場合には、ネットワークがステートレスであることから、送信元ノードとパケットの宛先ノードとの間でパケットが取ることになる、事前に規定された経路は一般的に存在しない。その代わりに、典型的には、パケットが種々のルータを通過するときに、経路が動的に求められる。これは「自然なルーティング」と称することができる。つまり、パケットがインターネットを通過するときに、経路が動的に求められる。   For example, if a router is congested or if a link fails, the rules may change between two consecutive hops of a packet or between two consecutive packets of a message. Let me mention that there is. Thus, two packets of a message may follow different paths and may instead arrive out of order. In other words, if the packet is transmitted from the source node or origin node, the network is stateless, so the packet is taken between the source node and the packet destination node in advance. There is generally no route routed. Instead, the route is typically determined dynamically as packets pass through various routers. This can be referred to as “natural routing”. That is, the route is dynamically determined when the packet passes through the Internet.

自然なルーティングが長年にわたり上手く機能しているにもかかわらず、この自然なルーティングは欠点を有している。例えば、1つのセッションの各パケットが異なる経路に沿って伝播する可能性があり、また異なるルータのセットを通過する可能性があるので、セッションに関するメトリックを収集することは困難である。セッションのパケットに適用することができるセキュリティ機能を広範囲にわたり分散させなければならず、また、そのようなセキュリティ機能が全てのパケットに適用されないリスクも考えられる。更に、セッションへの攻撃が多くの場所から開始される可能性がある。   Despite the fact that natural routing has worked well for many years, this natural routing has drawbacks. For example, it is difficult to collect metrics about a session because each packet of a session can propagate along different paths and can pass through different sets of routers. Security functions that can be applied to session packets must be distributed over a wide range, and there is also a risk that such security functions may not be applied to all packets. In addition, attacks on the session can be initiated from many locations.

通常の場合、宛先ノードから再び送信元ノードへと送信されるパケットは、送信元ノードから宛先ノードへと送信されたパケットとは異なる経路を辿る可能性があることを言及しておく。   It should be noted that in a normal case, a packet transmitted from the destination node to the source node again may follow a different route from a packet transmitted from the source node to the destination node.

多くの状況において、クライアントコンピュータノード(「クライアント」)は、サーバコンピュータノード(「サーバ」)とセッションを確立し、またクライアントとサーバは、そのセッション内でパケットを交換する。例えば、ブラウザを実行しているクライアントは、従来のプロセスを使用して、ウェブサーバとのセッションを確立することができる。クライアントは、ウェブページをリクエストするために1つ又は複数のパケットを送信することができ、またウェブサーバは、ウェブページのコンテンツを含んでいる1つ又は複数のパケットでもって応答することができる。幾つかのタイプのセッションでは、パケットの往復的な交換を複数回のサイクルにわたり継続することができる。幾つかのタイプのセッションでは、パケットを2つのノード間で非同期的に送信することができる。下記において説明するように、周知のプロトコル、例えばセキュア・ソケット・レイヤ・プロトコル(「SSL」:Secure Sockets Layer Protocol)又はトランスポート・レイヤ・セキュリティ・プロトコル(「TLS」:Transport Layer Security Protocol)を使用して、インターネットを介するセキュアなセッションを提供するために、このハンドシェイクを実施することができる。   In many situations, a client computer node (“client”) establishes a session with a server computer node (“server”), and the client and server exchange packets within that session. For example, a client running a browser can establish a session with a web server using conventional processes. The client can send one or more packets to request a web page, and the web server can respond with one or more packets containing the content of the web page. In some types of sessions, the round-trip exchange of packets can continue for multiple cycles. In some types of sessions, packets can be sent asynchronously between two nodes. Use well-known protocols such as Secure Sockets Layer Protocol (“SSL”) or Transport Layer Security Protocol (“TLS”) as described below This handshake can then be implemented to provide a secure session over the Internet.

セッションは、その通常の意味を有している。つまり、セッションとは、プロトコルに従って一方のノードから他方のノードへと送信される、各パケットが関連付けられている複数のパケットである。セッションは、そのセッションを開始する先行パケット(又は最初のパケット)と、そのセッションの1つ又は複数の後続パケットと、を含むものと考えられる。セッションには、明確な開始及び明確な終了が存在する。例えば、TCPセッションは、SYNパケットによって開始される。幾つかのケースにおいては、1つの所定のパケット又は一連のパケットによって、終了を規定することができる。例えば、TCPセッションを、FIN交換によって又はRSTによって終了させることができる。その他のケースにおいては、少なくとも事前に規定された長さの時間(タイムアウト時間)にわたり、ノード間で通信が行われないことによって終了を規定することができる。例えば、TCPセッションを、所定のタイムアウト期間後に終了させることができる。幾つかのセッションは、一方のノードから他方のノードへと送信されるパケットしか含んでいない。その他のセッションは、ウェブクライアントとサーバとのインタラクションの例のように、応答パケットを含んでいる。1つのセッションは、プロトコルに従った、何サイクルもの往復的な通信又は非同期的な通信を含むことができるが、しかしながら、1つのセッションの全てのパケットは、ノードの同一のクライアントとサーバのペア間で交換される。ここでは、セッションを一連のパケット(パケットシリーズ)とも称する。   Session has its usual meaning. In other words, a session is a plurality of packets associated with each packet that are transmitted from one node to the other node according to a protocol. A session is considered to include a preceding packet (or first packet) that initiates the session and one or more subsequent packets of the session. A session has a clear start and a clear end. For example, a TCP session is initiated by a SYN packet. In some cases, the termination can be defined by one predetermined packet or series of packets. For example, a TCP session can be terminated by a FIN exchange or by an RST. In other cases, the termination can be defined by not performing communication between nodes for at least a predetermined length of time (timeout time). For example, a TCP session can be terminated after a predetermined timeout period. Some sessions contain only packets that are sent from one node to the other. Other sessions include response packets, as in the example of web client-server interaction. A session can include many cycles of round-trip or asynchronous communication according to the protocol, however, all packets in a session are sent between the same client-server pair of nodes. It is exchanged at. Here, the session is also referred to as a series of packets (packet series).

単一IPアドレスを有しているコンピュータは、種々のサービス、例えばWebサービス、Eメールサービス及びファイル転送(FTP:File Transfer Protocol)サービスを提供することができる。一般的に、各サービスには、コンピュータ上でユニークである、0〜65,535の範囲のポート番号が割り当てられている。従って、サービスは、ノードのIPアドレスとサービスのポート番号との組み合わせによって規定されている。この組み合わせは、コンピュータが接続されているネットワーク内でユニークであり、またインターネット内でもユニークであることが多いことを言及しておく。同様に、単一のノードにおいて多数のクライアントを実行することができる。従って、サービスをリクエストするクライアントには、そのクライアントのノードにおけるユニークなポート番号が割り当てられているので、サービスからの戻りパケットを、リクエストを行ったクライアント宛てに一意に送ることができる。   A computer having a single IP address can provide various services such as a web service, an email service, and a file transfer protocol (FTP) service. Generally, each service is assigned a port number ranging from 0 to 65,535, which is unique on the computer. Therefore, the service is defined by a combination of the node IP address and the service port number. Note that this combination is unique within the network to which the computer is connected and is often unique within the Internet. Similarly, multiple clients can run on a single node. Therefore, since a client requesting a service is assigned a unique port number in the client node, a return packet from the service can be uniquely sent to the client that made the request.

ソケットという用語は、IPアドレスとポート番号との組み合わせを意味している。従って、各サービスは、ネットワーク固有の、またインターネット固有であることも多いサービスソケットを有しており、サービスをリクエストするクライアントには、ネットワーク固有の、またインターネット固有である場合もあるクライアントソケットが割り当てられている。ところによっては、送信元クライアント及び宛先サービスという用語は、サービスをリクエストするためにパケットを送信するクライアント及びリクエストされているサービスをそれぞれ表す際に使用される。   The term socket means a combination of an IP address and a port number. Thus, each service has a service socket that is network-specific and often Internet-specific, and a client socket that requests a service is assigned a client socket that may be network-specific or Internet-specific. It has been. In some cases, the terms source client and destination service are used to represent the client sending the packet to request the service and the service being requested, respectively.

ネットワークのセキュリティ及び制御
上記において述べたように、ハッカーは、ネットワーク内のノードへの承認されていないアクセスを得ることを頻繁に試みている。実際のところ、ハッカーの中にはネットワークに正当にアクセスする者もおり、そのようなハッカーは、故意にアクセスする場合よりもネットワークデバイスの操作に関してより高い自主性を有している。そのような認証されたケースは、破局的な結果をもたらす虞がある。図4には、ハッカーがローカルネットワーク内のノードへのアクセスを得ることを試みる可能性がある、より特定のタイプのネットワークが概略的に示されている。図示されているように、ネットワークは、クライアントノード/デバイス400(単純に「クライアント400」と表されている)、例えばクライアントコンピュータを含んでおり、このクライアント400は、インターネット404を介してローカルネットワーク内の複数のアプリケーションサーバ(全体として「アプリケーションサーバ402」と表されている)のうちの1つにアクセスすることを試みる。例示を目的として、ローカルネットワークは、従来のデータセンタ内のローカルエリアネットワークである。勿論、当業者であれば、データセンタ及びアプリケーションサーバ402についての考察は単なる例であって、その他のトポロジ又はその他のネットワーク装置が本発明の図示の実施の形態を実践できることが分かる。
Network Security and Control As stated above, hackers frequently attempt to gain unauthorized access to nodes in the network. In fact, some hackers have legitimate access to the network, and such hackers have a higher degree of autonomy with respect to the operation of network devices than if they had deliberate access. Such authenticated cases can have catastrophic consequences. FIG. 4 schematically illustrates a more specific type of network in which a hacker may attempt to gain access to a node in the local network. As shown, the network includes a client node / device 400 (simply referred to as “client 400”), eg, a client computer, which is connected to the local network via the Internet 404. Attempt to access one of a plurality of application servers (denoted collectively as “application server 402”). For illustration purposes, the local network is a local area network in a conventional data center. Of course, those skilled in the art will appreciate that the discussion of the data center and application server 402 is only an example, and that other topologies or other network devices may practice the illustrated embodiments of the present invention.

従って、ローカルネットワーク又はこの例ではデータセンタは、上述の複数のアプリケーションサーバ402を有しており、それらのアプリケーションサーバ402により、遠方のノード/ネットワークデバイスに、例えばクライアント400に情報が提供される。この例では、データセンタは、「N」個のアプリケーションサーバ402を有しており、この数Nは、数ダース、数百又は数千の実際の及び/又は仮想のサーバを表すことができる。とりわけ、アプリケーションサーバ402は、種々の小売店、インターネットサービス、ソーシャルメディアサイト、アプリケーションサービスプロバイダ等のためのウェブサーバとして機能することができる。   Thus, the local network or, in this example, the data center has a plurality of application servers 402 as described above, which provide information to remote nodes / network devices, for example to clients 400. In this example, the data center has “N” application servers 402, which can represent dozens, hundreds or thousands of real and / or virtual servers. Among other things, the application server 402 can function as a web server for various retail stores, Internet services, social media sites, application service providers, and the like.

この実施の形態におけるデータセンタは、遠方のノード(例えばクライアント400)とデータセンタ内のノードとの間でデータを受信及び転送するための1つ又は複数のエッジノード(この例においては「エッジルータ406」と表されている)を有するように構成されている。換言すれば、エッジルータ406は、ローカルネットワークと、インターネット404又はその他の(例えばワイドエリアネットワークを形成している)近接ネットワークにおける遠方のデバイスと、の間のデータトラフィックを管理する。   The data center in this embodiment includes one or more edge nodes (in this example “edge routers”) for receiving and transferring data between a remote node (eg, client 400) and a node in the data center. 406 "). In other words, the edge router 406 manages data traffic between the local network and the distant devices in the Internet 404 or other close networks (eg forming a wide area network).

そのために、ローカルネットワークは、データセンタ内のネットワークトラフィックを受信及び転送するための複数の付加的なノード/ネットワークデバイス、例えばルータ及びスイッチ(ここでは全体として「ルータ408」と表されている)も有している。図示の実施の形態においては、エッジルータ406及びその他のローカルネットワークルータ408は、レイヤ3プロトコルを使用して、例えばIPプロトコルを使用して、パケットを、エッジルータ406及びアプリケーションサーバ402に伝送するか、又は、エッジルータ406及びアプリケーションサーバ402から受信する。エッジルータ406は、インターネット404及びそのインターネットサービスプロバイダ(ISP)との直接的で物理的なリンクを有していることも多いが、幾つかの実施の形態では、エッジルータ406とインターネット404との間に、その他のデバイスが物理的に配置されている場合もあることを言及しておく。   To that end, the local network also includes a number of additional nodes / network devices, such as routers and switches (herein collectively referred to as “router 408”) for receiving and forwarding network traffic within the data center. Have. In the illustrated embodiment, the edge router 406 and other local network routers 408 transmit packets to the edge router 406 and application server 402 using a layer 3 protocol, eg, using the IP protocol. Or from the edge router 406 and the application server 402. The edge router 406 often has a direct physical link to the Internet 404 and its Internet service provider (ISP), but in some embodiments, the edge router 406 and the Internet 404 In the meantime, other devices may be physically located.

図5には、エッジルータ406と、ネットワークへのトラフィック及びネットワークからのトラフィックを管理するための、エッジルータ406の幾つかの内部コンポーネントと、が概略的に示されている。図示されているように、エッジルータ406は、その他のネットワークデバイス、例えば自身が属するデータセンタ内のルータ408及び自身が属するローカルネットワーク外のデバイス、例えばインターネット404上のデバイス(例えばクライアント400)に接続するためのインタフェース500を有している。インタフェース500は、データパケットの受信又は伝送のため、若しくは受信及び伝送の両方のための、1つ又は複数の物理的な又は仮想のインタフェースを含むことができる。   FIG. 5 schematically illustrates an edge router 406 and some internal components of the edge router 406 for managing traffic to and from the network. As shown, the edge router 406 connects to other network devices, such as a router 408 in the data center to which it belongs and devices outside the local network to which it belongs, such as devices on the Internet 404 (eg, client 400). Interface 500 is provided. The interface 500 may include one or more physical or virtual interfaces for receiving or transmitting data packets, or for both receiving and transmitting.

相応にして、エッジルータ406は、本発明の種々の実施の形態によって規定された上述のやり方で、データパケットをルーティングするための、ローカルルーティング装置(ここでは単に「ルータ502」と表されている)も有している。特に、下記において図6を参照しながらより詳細に説明するように、ルータ502は、クライアントのディジタル証明書内に存在しているクライアント情報に依存して、データパケットのルーティングを制御する。実際には、下記において説明するように、種々の実施の形態は、クライアント400が適切に認証されない限りは、クライアントデータパケットをルーティングしない。従って、エッジルータ406は、クライアント400の識別子を検証するためのオーセンティケータ504も有している。図示の実施の形態は、当業者には公知の種々のやり方のうちのいずれかによって、例えばハードウェア、ソフトウェア、ファームウェア又は当業者には公知のその他の手段として、ルータ502、オーセンティケータ504及び(1つ又は複数の)インタフェース500を実現することができる。勿論、それらの実現形態は、それらの所望の機能に一致すべきである。それらの実施については、下記において図6を参照しながら説明する。   Correspondingly, the edge router 406 is represented by a local routing device (herein simply “router 502”) for routing data packets in the manner described above as defined by the various embodiments of the present invention. ). In particular, as will be described in more detail below with reference to FIG. 6, the router 502 controls the routing of data packets depending on the client information present in the client's digital certificate. In practice, as described below, various embodiments do not route client data packets unless the client 400 is properly authenticated. Therefore, the edge router 406 also has an authenticator 504 for verifying the identifier of the client 400. The illustrated embodiment may be implemented in any of a variety of ways known to those skilled in the art, such as hardware 502, software, firmware, or other means known to those skilled in the art, such as router 502, authenticator 504, and Interface (s) 500 may be implemented. Of course, their implementation should match their desired function. Their implementation will be described below with reference to FIG.

それらの各エッジルータコンポーネントを、当業者にとって適切であると考えられる種々のやり方のうちのいずれかによって、相互に接続することができる。図5には、そのようなコネクションが、参照番号506が付されている単純なバスとして概略的に示されている。勿論、当業者であれば、エッジルータ406の種々の実施の形態が、同様のバス設計に限定されるものではないことが分かる。   Each of these edge router components can be interconnected in any of a variety of ways deemed appropriate to those skilled in the art. In FIG. 5, such a connection is shown schematically as a simple bus labeled 506. Of course, those skilled in the art will appreciate that the various embodiments of edge router 406 are not limited to similar bus designs.

上記において述べたように、ハッカーは、データセンタ内のアプリケーションサーバ402へのアクセスを試みる可能性がある。それらのハッカーによるアクセスの試みは、ローカルネットワークの外側から開始されるか、又は(例えばゲストアクセスを使用して、例えばログインID及びパスワードを使用して)ネットワーク内から開始されると考えられる。上記において述べたように、ハッカーの中には、アプリケーションサーバ402へのセキュアコネクションを実現する特権を、合法に又は違法に取得できる者もおり、それによって、アプリケーションサーバ402が悪用される。ロバストなセキュリティ対策が採られていなければ、そのようなハッカーは、重大な問題を引き起こす可能性がある。図示の実施の形態は、複数あるアプリケーションサーバ402のうちのいずれかへのアクセスを試みる認証されたクライアント400に対して、更に制限を課すことによって、そのようなリスクを緩和する。そのために、図6には、本発明の図示の実施の形態による、そのようなセキュリティ対策を提供するプロセスが示されている。このプロセスは、(1つ又は複数の)サーバにアクセスするために通常使用される、より長いプロセスに比べて大幅に簡略化されている。従って、このプロセスは、当業者が使用する見込みが高いその他のステップを、例えば更なる検証ステップを含むことができる。更に、幾つかのステップを、図示されている順序とは異なる順序で実施することができるか、又は、同時に実施することができる。従って、当業者であれば、このプロセスを適宜変更することができる。   As mentioned above, a hacker may attempt to access an application server 402 in the data center. Access attempts by those hackers may be initiated from outside the local network or from within the network (eg, using guest access, eg, using a login ID and password). As described above, some hackers can legally or illegally acquire the privilege to establish a secure connection to the application server 402, thereby exploiting the application server 402. Without robust security measures, such hackers can cause serious problems. The illustrated embodiment mitigates such risks by imposing further restrictions on the authenticated client 400 attempting to access any of the plurality of application servers 402. To that end, FIG. 6 illustrates a process for providing such a security measure according to the illustrated embodiment of the present invention. This process is greatly simplified compared to the longer processes typically used to access server (s). Thus, this process can include other steps that are likely to be used by those skilled in the art, such as additional verification steps. Further, some steps can be performed in a different order than shown, or they can be performed simultaneously. Therefore, those skilled in the art can appropriately change this process.

図6は、周知のトランスポート・レイヤ・セキュリティ(「TLS」)プロトコルを使用する種々の実施の形態を説明するものである。実際のところ、図6のプロセスは、今日使用されているTLSハンドシェイク相互認証プロセスの大部分と広範にわたり協働する。勿論、当業者であれば、TLSについての考察は単なる例であって、本発明の全ての実施の形態を制限することを意図するものではないことが分かる。従って、図示の実施の形態は、ネットワークを介する、例えばインターネット404を介するセキュアコネクションを提供するように構成されている、その他の公知のセキュリティプロトコル及び暗号化プロトコルに適用される。   FIG. 6 illustrates various embodiments using the well-known transport layer security (“TLS”) protocol. In fact, the process of FIG. 6 works extensively with most of the TLS handshake cross-authentication processes used today. Of course, those skilled in the art will appreciate that the discussion of TLS is merely an example and is not intended to limit all embodiments of the present invention. Accordingly, the illustrated embodiment applies to other known security and encryption protocols that are configured to provide a secure connection over a network, eg, over the Internet 404.

プロセスは、ステップ600において開始され、このステップ600では、エッジルータ406が周知の「Hello」メッセージをクライアント400から受信する。従って、このメッセージには、種々のデータが付随しており、例えばSSLのヴァージョン、サポートしている暗号、セッション固有のデータ等が付随している。エッジルータ406は、自身の固有の「Hello」メッセージでクライアント400に応答し、類似のデータをクライアント400に送信する(ステップ602)。例えば、クライアント400へのSSLのヴァージョン、サポートしている暗号、セッション固有のデータ等に加えて、このHelloメッセージは、サーバ証明書、(クライアント証明書を実際に要求する)相互認証リクエストも含んでおり、またオプションとして鍵交換も含んでいる。この時点において、認証が開始され、従って、最初のハンドシェイクプロセスとみなせるプロセスが完了する。   The process begins at step 600, where the edge router 406 receives a well-known “Hello” message from the client 400. Therefore, this message is accompanied by various data, for example, SSL version, supported encryption, session-specific data, and the like. The edge router 406 responds to the client 400 with its own unique “Hello” message and sends similar data to the client 400 (step 602). For example, in addition to the SSL version to client 400, supported ciphers, session specific data, etc., this Hello message also includes a server certificate and a mutual authentication request (which actually requests a client certificate). And includes an optional key exchange. At this point, authentication begins, thus completing the process that can be considered the first handshake process.

エッジルータ406からHelloメッセージを受信すると、クライアント400は、より多くのデータを、例えばクライアント証明書をエッジルータ406に転送する(ステップ604)。TLSによって規定されているように、このクライアント証明書は、好適には先ず「クリアな」フォーマットで送信される(即ち暗号化は行われない)。プロセスのこの時点において、エッジルータ406は、クライアント証明書が最初に認証/検証されたと判断することができる。認証/検証された場合、認証プロセスが継続される。認証/検証されなかった場合、クライアント400からの全ての伝送をブロックすることによって、プロセスを終了することができる。   Upon receiving the Hello message from the edge router 406, the client 400 transfers more data, eg, a client certificate, to the edge router 406 (step 604). As specified by TLS, this client certificate is preferably first transmitted in a “clear” format (ie, no encryption is performed). At this point in the process, the edge router 406 can determine that the client certificate was first authenticated / verified. If authenticated / verified, the authentication process continues. If not authenticated / verified, the process can be terminated by blocking all transmissions from the client 400.

この時点において検証が行われる場合、オーセンティケータ504は、TLSによって規定されているような従来のやり方で、ハンドシェイクプロセスを継続する。例えば、クライアント鍵交換(セッションに関するプリマスタシークレット(premaster secret)、サーバ公開鍵によって暗号化されている)の後に、続いてクライアント400は、自身のクライアント証明書検証(「CCV」:Client Certificate Verify)メッセージを送信し、エッジルータ406に対して、クライアント400がクライアント証明書における公開鍵に対応する秘密鍵を所有していることを証明することができる。そのために、クライアント400は、クライアントのHelloメッセージからCCVメッセージまでの間に、2つのデバイス間で送信又は受信された全てのTLSハンドシェイクメッセージ(但しCCVメッセージは除く)のハッシングによってCCVメッセージを生成する。   If verification occurs at this point, the authenticator 504 continues the handshake process in a conventional manner as defined by TLS. For example, after a client key exchange (pre-master secret for session, encrypted with server public key), client 400 then has its own client certificate verification (“CCV”: Client Certificate Verify). A message can be sent to prove to the edge router 406 that the client 400 has a private key corresponding to the public key in the client certificate. To that end, the client 400 generates a CCV message by hashing all TLS handshake messages (except for the CCV message) transmitted or received between the two devices between the client Hello message and the CCV message. .

エッジルータ406は、Helloメッセージの同一のセットに対してハッシュを再計算するために、公開鍵を使用してCCVメッセージの署名を検証する。当業者には公知のように、このことは、秘密鍵が、対応する公開鍵を用いて検証することができる署名を生成することができる唯一の鍵であることから実現可能である。   The edge router 406 verifies the signature of the CCV message using the public key to recalculate the hash for the same set of Hello messages. As is known to those skilled in the art, this is feasible because the private key is the only key that can generate a signature that can be verified using the corresponding public key.

プロセスのこの時点において、クライアント400からのデータパケットは、エッジルータ406を通過せず、それゆえ、ローカルネットワーク内のその他のいずれかのデバイス又はノードに向かっていない。このケースにおいては、エッジルータ406は、好適には、このクライアント400からの全てのパケットについての中継局として機能する。例えば、エッジルータ406は、(1つ又は複数の)アプリケーションサーバ402との静的なTLSコネクションを有することができる。それによって、指定された通りに認証及びルーティングが行われるまでは、いずれのデータパケットもTLSコネクションを介してアプリケーションサーバ402に到達することはできない。   At this point in the process, the data packet from the client 400 does not pass through the edge router 406 and is therefore not destined for any other device or node in the local network. In this case, the edge router 406 preferably functions as a relay station for all packets from this client 400. For example, the edge router 406 can have a static TLS connection with the application server (s) 402. Thereby, no data packet can reach the application server 402 via the TLS connection until authentication and routing are performed as specified.

しかしながら、その他の実施の形態では、クライアント400から1つ又は複数の限定的なパケットを、例えばHelloメッセージを転送することができる。このことは、勿論、認証プロセスのフローに依存する。例えば、クリアなクライアント証明書を受信すると、エッジルータ406は、先ずクライアント証明書を検証することができ(例えば、とりわけ署名を確認することができ)、またHelloメッセージを複数あるアプリケーションサーバ402のうちの1つ又は複数へと伝送することができる。この実施の形態においては、それにもかかわらず、エッジルータ406は、最終的な検証認証ステップが終了するまで(例えば鍵交換及びクライアント証明書検証プロセス後まで)は、クライアント400からの相当数のデータパケットをルーティングしない。   However, in other embodiments, one or more limited packets can be forwarded from the client 400, eg, a Hello message. This of course depends on the flow of the authentication process. For example, upon receipt of a clear client certificate, the edge router 406 can first verify the client certificate (eg, verify the signature, among others), and send a Hello message to multiple application servers 402. Can be transmitted to one or more. In this embodiment, nonetheless, the edge router 406 is responsible for a significant amount of data from the client 400 until the final verification and authentication step is completed (eg, after the key exchange and client certificate verification process). Do not route packets.

認証プロセスが完了すると、最終的なハンドシェイクプロセスを終了することができる。特に、プロセスは、オーセンティケータ504がクライアント400を認証したか否かを確認する(ステップ606)。オーセンティケータ504がクライアント400を認証できなかった場合には、このセッションにおいて、エッジルータ406は、後続のデータパケットがこのエッジルータ406のインタフェース500を介して、データセンタ内のその他のいずれかのデバイスへと伝送されることをブロックする(ステップ608)。   When the authentication process is complete, the final handshake process can be terminated. In particular, the process checks whether the authenticator 504 has authenticated the client 400 (step 606). If the authenticator 504 fails to authenticate the client 400, in this session, the edge router 406 sends a subsequent data packet via the interface 500 of this edge router 406 to any other in the data center. Block transmission to the device (step 608).

それとは異なり、オーセンティケータ504によるクライアント400の認証が成功した場合には、プロセスはステップ610及び612に進み継続される。特に、ステップ610においては、エッジルータ406が、クライアント証明書における情報を使用してクライアントデータパケットをルーティングし、またステップ612においては、受信ノード/アプリケーションサーバ402が、クライアント証明書に由来するポリシーを適切に適用する。   In contrast, if authentication of the client 400 by the authenticator 504 is successful, the process proceeds to steps 610 and 612 and continues. In particular, in step 610, the edge router 406 routes client data packets using the information in the client certificate, and in step 612, the receiving node / application server 402 sets a policy derived from the client certificate. Apply appropriately.

特に、セッションのリクエストに先行して、ローカルネットワークに関連付けられたエンティティは、認証局と共に、クライアント証明書をクライアント400に対して発行する。図7A及び図7Bには、本発明の図示の実施の形態に従い構成されているクライアント証明書の一例が概略的に示されている。証明書は、必須の標準、例えば広範に使用されているX.509標準に準拠する、従来の証明書における情報と大部分が同一の周知の情報を有している。例えば、証明書はとりわけ、ヴァージョン番号、シリアル番号、アルゴリズムID、発行者名、有効期限及びサブジェクト(主体者)公開鍵情報を有している。   In particular, prior to a session request, an entity associated with the local network issues a client certificate to the client 400 along with a certificate authority. 7A and 7B schematically show an example of a client certificate configured according to the illustrated embodiment of the present invention. Certificates are mandatory standards, such as the widely used X.D. It has well-known information that is mostly the same as the information in a conventional certificate that conforms to the 509 standard. For example, a certificate includes, among other things, a version number, serial number, algorithm ID, issuer name, expiration date, and subject (subject) public key information.

しかしながら、それらの目的のために使用されるその他の証明書とは異なり、このクライアント証明書は、ローカルネットワーク内でクライアントデータパケットをルーティングするための付加的なクライアント情報も含んでいる。特に、図7Aに示されているように、クライアント証明書は、クライアント400及びクライアント400の制御について認証された人間の詳細を識別するサブジェクト行(subject line)を有している。図7Aではサブジェクト行に明示的に下線を引いているが、多くの実施の形態では、この情報に下線が引かれることは求められないことを言及しておく。その代わりに、図7Aでは単に強調を目的として、この行に下線が引かれている。図7Bにおいても同様に、単に強調を目的として、テキスト(ポリシー情報、下記において説明する)に下線が引かれている。   However, unlike other certificates used for those purposes, this client certificate also contains additional client information for routing client data packets within the local network. In particular, as shown in FIG. 7A, the client certificate has a subject line that identifies the details of the authorized person for the control of client 400 and client 400. Although FIG. 7A explicitly underlines subject lines, it should be noted that in many embodiments, this information is not required to be underlined. Instead, this line is underlined in FIG. 7A for emphasis only. Similarly in FIG. 7B, text (policy information, described below) is underlined for the purpose of emphasis only.

とりわけ、この例におけるサブジェクト行は、クライアント400の国、州及びオフィス名、並びに、特定のユーザの職務上の所属部署、氏名及びEメールアドレスを含んでいる。このケースにおいては、ユーザは、John Smithであり、Eメールアドレスsmith@128technology.comを有している。Smith氏は、アメリカ合衆国のマサチューセッツにある128Technologyのオフィスに在籍しており、また、技術部(Engineering Department)に所属している。ここでは、このサブジェクト情報を「識別情報」と表すことができ、この情報によって、クライアントノード400及びこのクライアントノード400の使用について認証された人間が識別される。確かに、当業者であれば、より多くの識別情報又はより少ない識別情報、若しくは異なる情報を含ませることができる。例えば、識別情報は、付加的又は択一的に、都市情報又は市町村情報、郵便番号情報、電話情報、2人以上の人間の情報、2個所以上のオフィス又は部署、クライアントデバイスの種類(例えばタブレット、パーソナルコンピュータ、ルータ等)、若しくは、特定の用途にとって有用なその他の種類の情報を含むことができる。 Among other things, the subject line in this example includes the country, state and office name of the client 400, as well as the department, name and email address of the particular user's job function. In this case, the user is John Smith and the e-mail address Smith @ 128technology. com . Mr. Smith is in the 128 Technology office in Massachusetts, USA, and belongs to the Engineering Department. Here, the subject information can be expressed as “identification information”, and this information identifies the client node 400 and a person who has been authenticated for use of the client node 400. Certainly, those skilled in the art can include more or less identification information or different information. For example, the identification information may additionally or alternatively include city information or municipal information, postal code information, telephone information, information on two or more people, two or more offices or departments, and the type of client device (eg, tablet , Personal computers, routers, etc.) or other types of information useful for a particular application.

ステップ610は、好適には、ローカルネットワーク内でクライアントパケットをルーティングするために、この識別情報を使用する。例えば、この識別情報プロファイルを有しているクライアント400は、アプリケーションサーバ2にのみアクセスすることができ、従って、ローカルネットワーク内のその他のアプリケーションサーバ402にはアクセスできない。従って、エッジルータ406のルータ502は、クライアント400からのデータパケットをアプリケーションサーバ2に転送/ルーティングするが、その他のアプリケーションサーバ402には転送/ルーティングしない。別の例として、この識別情報プロファイルを有しているクライアント400は、アプリケーションサーバ1及びアプリケーションサーバ2にのみアクセスすることができるか、又は、ローカルネットワーク内の1つのアプリケーションサーバを除いた全てのアプリケーションサーバ402にアクセスすることができる。更に別の例として、クライアント400は、ネットワーク上の全てのアプリケーションサーバ402にアクセスすることができる。   Step 610 preferably uses this identification information to route client packets within the local network. For example, a client 400 having this identification information profile can access only the application server 2 and therefore cannot access other application servers 402 in the local network. Accordingly, the router 502 of the edge router 406 forwards / routes the data packet from the client 400 to the application server 2 but does not forward / route to the other application server 402. As another example, the client 400 having this identification information profile can access only the application server 1 and the application server 2, or all applications except one application server in the local network. Server 402 can be accessed. As yet another example, the client 400 can access all application servers 402 on the network.

クライアント400に対して許可されるアクセスは自由裁量である。例えば、データセンタは、数百、数千又は数百万のクライアント400と、アクセスについての合意を別個に結ぶことができる。ネットワーク管理者又はその他の類似の権限者は、特定の各クライアント400に対してアクセスルーティングを適用するためにエッジルータ406をプログラムすることができる。   Access granted to the client 400 is at the discretion. For example, a data center may separately have access agreements with hundreds, thousands, or millions of clients 400. A network administrator or other similar authority can program the edge router 406 to apply access routing to each particular client 400.

図示の実施の形態においては、クライアント証明書は、仮想の又は実際のデバイスに固有のものである。従って、この例では、単一のユーザが、そのユーザがセッションを開始するために使用するマシンに依存して、異なるアプリケーションサーバ402に対する異なるアクセス権を有することができる。John Smith氏は、例えば、自身のラップトップコンピュータを使用する場合には、ローカルネットワーク内の1つのアプリケーションサーバ402(例えばアプリケーションサーバ1)に対するアクセス権を有することができ、また、自身のデスクトップコンピュータを使用する場合には、ローカルネットワーク内の別のアプリケーションサーバ402(例えばアプリケーションサーバ2)に対する別のアクセス権を有することができる。しかしながら、その他の実施の形態では、そのようなことは要求されない。   In the illustrated embodiment, the client certificate is specific to the virtual or real device. Thus, in this example, a single user can have different access rights to different application servers 402, depending on the machine that the user uses to initiate a session. John Smith, for example, can have access to one application server 402 (eg, application server 1) in the local network when using his laptop computer, If used, it may have different access rights to another application server 402 (eg, application server 2) in the local network. However, in other embodiments, this is not required.

証明書は、別の機能性に関する、又は、上記のルーティング機能性及び/又は検証機能性を強化するための、その他の種類のクライアント情報も有することができる。このケースにおいては、クライアント証明書は、クライアント400がローカルネットワーク内の(1つ又は複数の)ノードにアクセスする際に所定の一連の特権を有することを許可するポリシー情報も有している。特に、この例において、図7Bには、このポリシー情報が「X.509v3 Certificate Policies」と表されており、また、複数のポリシーが、つまりPolicy:1.2.3.4.5及びPolicy:1.2.3.4.6が挙げられている。   The certificate may also have other types of client information related to other functionality or to enhance the routing functionality and / or verification functionality described above. In this case, the client certificate also has policy information that allows the client 400 to have a predetermined set of privileges when accessing the node (s) in the local network. In particular, in this example, in FIG. 7B, this policy information is represented as “X.509v3 Certificate Policies”, and a plurality of policies, namely Policy: 1.2.3.4.5 and Policy: 1.2.3.4.6 is mentioned.

ローカルネットワーク内のロジック(例えばアプリケーションサーバ402)は、それらの列挙されたポリシーを、クライアント400に対する特定の権限に変換する。それらのポリシーを任意のやり方で強制/実現することができる。特に、幾つかの実施の形態においては、ポリシーは、(認証後に)最初のデータパケットと共にアプリケーションサーバ402に転送される。従って、受信アプリケーションサーバ402におけるロジックは、所定のクライアント400に関するポリシーを読み出して実現する。   Logic within the local network (eg, application server 402) translates those enumerated policies into specific privileges for client 400. Those policies can be enforced / implemented in any way. In particular, in some embodiments, the policy is forwarded to the application server 402 along with the first data packet (after authentication). Accordingly, the logic in the receiving application server 402 is realized by reading out a policy related to the predetermined client 400.

当業者であれば、広範な種々の使用に関して、証明書のポリシー行を使用することができる。例えば、第1のポリシーは、このクライアント400がアプリケーションサーバ1の技術部セクションにのみアクセスできることを指定することができ、またその一方で、第2のポリシーは、このクライアント400が128Technologyの顧客のただ1つのセットの技術部にアクセスできることを指定することができる。   Those skilled in the art can use certificate policy lines for a wide variety of uses. For example, a first policy can specify that this client 400 can only access the technical section of the application server 1, while a second policy can specify that this client 400 is only for 128 Technology customers. It can be specified that a set of engineering departments can be accessed.

別の例として、アプリケーションサーバ402は、大規模な食品雑貨店チェーンであってよく、またクライアント400は、食品雑貨店チェーンにサービスを提供する製品納入業者であってよい。そのようなケースでは、第1のポリシーは、製品納入業者がそのアプリケーションサーバ402の製品セクションにのみアクセスできることを指定することができ、またその一方で、第2のポリシーは、この特定のクライアント400が計画されている製品販売に関するデータにのみアクセスできることを表すことができる。従って、このクライアント400は、食品雑貨店のその他の製品納入業者に関する納入業者データ、顧客リスト、食品雑貨店チェーンの内部会計部門情報等にアクセスすることはできない。更なる権限は見込まれない又は許可されない。当業者であれば、広範な多岐にわたる許可/ポリシーのうちのいずれかを指定することができ、従って、上記に挙げた許可/ポリシーは、単に種々の実施の形態の一例に過ぎない。ネットワーク管理者又はローカルネットワーク内のその他の権限者は、必要に応じてポリシーを設定、変更及び終了することができる。更に、証明書は、2つより少ない数(例えば0又は1)のポリシーを有することができるか、又は、必要であれば3つ以上のポリシーを有することもできる。   As another example, the application server 402 may be a large grocery store chain, and the client 400 may be a product supplier that provides services to the grocery store chain. In such a case, the first policy can specify that the product supplier can only access the product section of that application server 402, while the second policy can specify that this particular client 400 Can only access data relating to planned product sales. Accordingly, the client 400 cannot access supplier data regarding other product suppliers of the grocery store, customer list, internal accounting department information of the grocery store chain, and the like. No further authority is expected or allowed. One skilled in the art can specify any of a wide variety of permissions / policies, and thus the permissions / policies listed above are merely examples of various embodiments. A network administrator or other authorized person in the local network can set, change and terminate policies as needed. In addition, a certificate can have fewer than two policies (eg, 0 or 1), or can have more than two policies if desired.

代替的な実施の形態においては、オーセンティケータ504は、認証プロセスの一部としてクライアント情報を使用する典型的な認証プロセスとは異なる認証プロセスを実施することができる。同様に、幾つかの実施の形態は、識別情報及びポリシー情報の両情報を使用して、エッジルータ406はクライアント400のデータパケットをどこにルーティングすべきかを指定することができる。例えば、ポリシー情報は、午前8時から午後5時までの間は、アプリケーションサーバ1がクライアント400からパケットを受信でき、その他の時間では、アプリケーションサーバ2がクライアント400からパケットを受信できることを指定することができる。   In an alternative embodiment, authenticator 504 may implement an authentication process that is different from a typical authentication process that uses client information as part of the authentication process. Similarly, some embodiments may use both identification and policy information to allow the edge router 406 to specify where the client 400's data packet should be routed. For example, the policy information specifies that the application server 1 can receive packets from the client 400 between 8 am and 5 pm, and that the application server 2 can receive packets from the client 400 at other times. Can do.

更に幾つかの実施の形態は、ポリシー情報のみを使用して、アプリケーションサーバ402にデータをルーティングすることができる。即ち、ポリシー情報は、固有にルーティング情報を有することができる。例えば、第1のポリシーは、まさにこのクライアント400がアクセスすることができるアプリケーションサーバ402を、例えばアプリケーションサーバ1を精確に指定することができる。   Further, some embodiments can route data to the application server 402 using only policy information. That is, the policy information can have unique routing information. For example, the first policy may precisely specify the application server 402 that this client 400 can access, for example, the application server 1.

当業者であれば、このルーティング及びポリシーの適用は、ネットワークレベルで行われることが分かる。種々の実施の形態は、更に、より高いレベル(例えばアプリケーションレベル)のセキュリティ対策を、例えばプロセスの幾つかの時点におけるアクセスに対するログイン識別子及びパスワードの要求をより一層維持する。しかしながら、その他の実施の形態では、そのようなステップは要求されない。   Those skilled in the art will recognize that this routing and policy application is done at the network level. Various embodiments further maintain higher level (eg, application level) security measures, eg, login identifier and password requests for access at some point in the process. However, in other embodiments, such a step is not required.

クライアント証明書を、種々の従来のやり方のうちのいずれかによってインストールすることができる。例えば、クライアント証明書を、コンフィギュレーションプロファイル及びiOSデバイスのモバイルデバイス管理(MDM:Mobile Device Management)能力を使用して、無線通信を経由して、iOSデバイスにインストールすることができる。更に、クライアント証明書を、Eメールの添付ファイルとして、証明書のPKCS12ヴァージョンを送信することによって、iOSデバイスにインストールすることができる。クライアント証明書を、Eメールの添付ファイルとして、クライアント証明書のPKCS12ヴァージョンを送信することによって、又は、アンドロイド固有のモバイル管理製品を介して、手動でアンドロイドデバイスにインストールすることができる。確かに、図面にはそれらのインストール方法が示されているが、種々の実施の形態を制限することは意図されていない。当業者であれば、クライアント証明書をインストールするためにその他の方法を使用することができる。   The client certificate can be installed by any of a variety of conventional ways. For example, a client certificate can be installed on an iOS device via wireless communication using a configuration profile and the mobile device management (MDM) capability of the iOS device. Further, the client certificate can be installed on the iOS device by sending the PKCS12 version of the certificate as an email attachment. The client certificate can be manually installed on the Android device by sending the PKCS12 version of the client certificate as an email attachment or via an Android-specific mobile management product. Certainly, the drawings show their installation method, but are not intended to limit the various embodiments. One skilled in the art can use other methods to install the client certificate.

ローカルネットワークは、ローカルネットワーク内のノードへのアクセスが試みられる度に、ログを取ることができる。従って、システムは、ステートフルな情報を維持することができる。つまり、システムは、全ての試み、識別子及びその他の関連するデータを記録することができる。このシステムは、上記において参照した、本願に組み込まれる特許明細書に記載されているような、ステートレスなパケットを基礎とするシステムにおいて状態情報を使用するシステムと共に使用される場合には、特に効果的である。従って、それらのシステムを、ローカルネットワークをより効果的に維持し、またネットワークアクセスを制御するために、図示の実施の形態と統合することができる。   The local network can log each time an attempt is made to access a node in the local network. Thus, the system can maintain stateful information. That is, the system can record all attempts, identifiers, and other related data. This system is particularly effective when used in conjunction with a system that uses state information in a stateless packet-based system, such as that described in the patent specification incorporated herein. It is. Thus, these systems can be integrated with the illustrated embodiment to more effectively maintain the local network and control network access.

図示の実施の形態は、ゲストインタフェース(「ゲストユーザ」)を介してローカルネットワークにアクセスするデバイス/ユーザにも適用される。特に、多くのゲストインタフェースには、有線又は無線のコネクションを使用してローカルネットワークに接続するために、802.1Xプロトコルが実装されている。認証は、そのような種々のプロトコルのうちのいずれかに、例えばEAP−TLS又はEAP−TTSに準拠することができる。当業者には公知の広く使用されているアクセス技術によって、ゲストユーザにはログインID及びパスワード情報が提供される。例えば、ローカルネットワークは、ゲストユーザにログインID「Guest」及びパスワード「NetworkX」を提供することができる。従って、ゲストユーザは、ログインID及びパスワードを要求する単純なインタフェースを介して、ローカルネットワークに単純にログインする。セキュリティ対策が採られていない場合、ゲストは、ネットワーク上のリソースに広範にアクセスすることができる。   The illustrated embodiment also applies to devices / users accessing a local network via a guest interface (“guest user”). In particular, many guest interfaces implement the 802.1X protocol for connecting to a local network using a wired or wireless connection. Authentication can be compliant with any of such various protocols, eg, EAP-TLS or EAP-TTS. Guest users are provided with login ID and password information by widely used access techniques known to those skilled in the art. For example, the local network can provide a guest user with a login ID “Guest” and a password “NetworkX”. Thus, the guest user simply logs into the local network via a simple interface that requires a login ID and password. When security measures are not taken, guests can access resources on the network extensively.

図示の実施の形態は、ネットワークレベルのセキュリティを提供することによって、これを制御する。このケースにおいては、上記において述べたその他の実施の形態と同様に、ローカルネットワーク又はその他の実体が、特定のゲスト証明書を、例えば上記において述べたような、また図7A及び図7Bに示されているようなゲスト証明書を、ゲストユーザに交付する。上述のように、このゲスト証明書は、ゲストユーザ固有の情報を有しており、また、ゲストユーザによるローカルネットワークへのアクセス及びローカルネットワークの使用を効果的に制限する。より詳細には、図示の実施の形態において、ゲスト証明書は、ゲストユーザの詳細を識別する1つ又は複数のサブジェクト行、及び、ゲストユーザがローカルネットワーク内の(1つ又は複数の)ノードにアクセスする際に所定の一連の特権を有することを許可するポリシー情報も含んでいる。従って、上記においてクライアント400について説明したことと同様に、ゲストユーザのアクセスは、それら2つのフィールド、即ちデバイスアクセス及びポリシーの両方によって制限される。   The illustrated embodiment controls this by providing network level security. In this case, as with the other embodiments described above, the local network or other entity may provide a specific guest certificate, for example as described above, and shown in FIGS. 7A and 7B. The guest certificate is issued to the guest user. As described above, this guest certificate has information specific to the guest user, and effectively restricts access to and use of the local network by the guest user. More specifically, in the illustrated embodiment, the guest certificate is one or more subject lines that identify the guest user's details, and the guest user to the node (s) in the local network. It also includes policy information that allows a predetermined set of privileges to be accessed. Thus, as described above for client 400, guest user access is limited by both of these two fields, device access and policy.

また図示の実施の形態は、ゲストユーザのデバイスのMACアドレス(即ち、クライアントデバイス識別子として使用されるアドレス)を、証明書に関連付ける。従って、ゲストユーザがローカルネットワークにログインした後に、エッジルータ406又は類似のノードは、ゲスト証明書のレコード及びゲストユーザのデバイスのMACアドレスを維持する。特に、幾つかの実施の形態においては、エッジルータ406は、ゲストユーザの特定の(1つ又は複数の)パケット(例えば最初のパケット)のレイヤ2ヘッダから、MACアドレスを取得することができる。   The illustrated embodiment also associates the MAC address of the guest user's device (ie, the address used as the client device identifier) with the certificate. Thus, after the guest user logs into the local network, the edge router 406 or similar node maintains a record of the guest certificate and the MAC address of the guest user's device. In particular, in some embodiments, the edge router 406 can obtain the MAC address from the layer 2 header of the guest user's specific packet (s) (eg, the first packet).

ゲストユーザがローカルネットワークからログオフし、その後、再びログインする場合、エッジルータ406又は類似のノードは、アクセスを試みるデバイスのMACアドレス及び証明書を、自身のローカルメモリに記憶されているMACアドレス及び証明書と比較することができる。それらが合致した場合、エッジルータ406は、更なるアクセスを許可する。しかしながら、それらが合致しなかった場合、エッジルータ406は、更なるネットワークアクセスを阻止する。後者のケースにおいては、ゲストユーザは、新たなログインID及びパスワードの取得、又は、新たなゲスト証明書又はオリジナルのゲスト証明書を用いた新たなデバイスの登録を要求することができる。   When a guest user logs off from the local network and then logs in again, the edge router 406 or similar node will send the MAC address and certificate of the device attempting access to the MAC address and certificate stored in its local memory. Can be compared with the book. If they match, the edge router 406 allows further access. However, if they do not match, the edge router 406 blocks further network access. In the latter case, the guest user can request acquisition of a new login ID and password, or registration of a new device using a new guest certificate or original guest certificate.

従って、この実施の形態においては、ゲストユーザによるローカルネットワークの使用及びローカルネットワークへのアクセスの制御に加えて、ゲスト証明書は、ローカルネットワークにアクセスして、ローカルネットワークとのセッションを開始するゲストユーザの認証を支援する。換言すれば、ゲスト証明書は、更に、ゲストユーザが正当なゲストであることを保証する。実際のところ、この実施の形態及びその他の実施の形態は、ローカルネットワークにアクセスするその他の種類のユーザにも適用される。従って、種々の実施の形態は、ローカルネットワークへのアクセスの上述の様式に制限されるものではない。   Therefore, in this embodiment, in addition to controlling the use of and access to the local network by the guest user, the guest certificate accesses the local network and initiates a session with the local network. Support the certification of In other words, the guest certificate further ensures that the guest user is a legitimate guest. In fact, this and other embodiments apply to other types of users accessing the local network. Accordingly, the various embodiments are not limited to the above-described mode of access to the local network.

従って、種々の実施の形態は、証明書ベースの攻撃に関する検出技術を向上させ、また、それらの攻撃の影響を緩和する(理想的にはそのような攻撃を停止させる)。エッジルータ406によって実現される場合には、そのような攻撃をネットワーク内の初期のポイントで(例えば、パケットがアプリケーションサーバ402に到達する前)緩和する又は停止させることができる。従って、そのような実施の形態は、ネットワークレベルでクライアント/ユーザの証明書を検査及び実施することができ、また、不正なログインの試みを積極的に抑制することができる。アプリケーションサーバ402の保護に加えて、種々の実施の形態は、コアネットワークを攻撃から保護しつつ、コアネットワークトラフィックを大幅に低減する。   Thus, the various embodiments improve detection techniques for certificate-based attacks and also mitigate the effects of those attacks (ideally stop such attacks). If implemented by the edge router 406, such attacks can be mitigated or stopped at an early point in the network (eg, before the packet reaches the application server 402). Accordingly, such an embodiment can check and enforce client / user certificates at the network level and can actively suppress unauthorized login attempts. In addition to protecting the application server 402, the various embodiments significantly reduce core network traffic while protecting the core network from attacks.

本発明の種々の実施の形態を、少なくとも部分的に、任意の慣例のコンピュータプログラム言語で実現することができる。例えば、幾つかの実施の形態を、手続き型プログラミング言語(例えば「C」)、又は、オブジェクト指向プログラミング言語(例えば「C++」)で実現することができる。本発明のその他の実施の形態を、事前構成されたスタンドアローン型のハードウェア要素及び/又は事前プログラミングされたハードウェア要素(例えば特定用途向け集積回路、FPGA及びディジタル・シグナル・プロセッサ)として、又はその他の関連するコンポーネントとして実現することができる。   The various embodiments of the invention may be implemented, at least in part, in any conventional computer program language. For example, some embodiments can be implemented in a procedural programming language (eg, “C”) or an object-oriented programming language (eg, “C ++”). Other embodiments of the invention as pre-configured stand-alone hardware elements and / or pre-programmed hardware elements (eg, application specific integrated circuits, FPGAs and digital signal processors), or It can be realized as other related components.

1つの代替的な実施の形態においては、開示した装置及び方法(例えば上述の種々のフローチャートを参照されたい)を、コンピュータシステムを用いて使用するためのコンピュータプログラム製品として実現することができる。そのような実施の形態は、実体のある非一時的な媒体、例えばコンピュータ可読媒体(例えば、ディスケット(登録商標)、CD−ROM、ROM又は固定ディスク)に記憶されている一連のコンピュータ命令を含むことができる。一連のコンピュータ命令は、本明細書においてシステムに関して上述した機能性の全て又は一部を実施することができる。   In one alternative embodiment, the disclosed apparatus and method (see, for example, the various flowcharts above) can be implemented as a computer program product for use with a computer system. Such embodiments include a series of computer instructions stored on a tangible non-transitory medium, such as a computer readable medium (eg, a diskette, CD-ROM, ROM, or fixed disk). be able to. The series of computer instructions may implement all or part of the functionality described above with respect to the system herein.

当業者であれば、そのようなコンピュータ命令を、多くのコンピュータアーキテクチャ又はオペレーティングシステムを用いて使用するために、多数のプログラミング言語で書けることが分かる。更に、そのような命令を、任意のメモリデバイスに、例えば半導体デバイス、磁気デバイス、光学デバイス又はその他のメモリデバイスに記憶することができ、また、任意の通信技術を使用して、例えば光学伝送技術、赤外線伝送技術、マイクロ波伝送技術又はその他の伝送技術を使用して伝送することができる。   Those skilled in the art will appreciate that such computer instructions can be written in a number of programming languages for use with many computer architectures or operating systems. Further, such instructions can be stored in any memory device, eg, a semiconductor device, magnetic device, optical device or other memory device, and can be used using any communication technology, eg, optical transmission technology. It can be transmitted using infrared transmission technology, microwave transmission technology or other transmission technology.

この他、そのようなコンピュータプログラム製品を、リムーバブル媒体として、印刷された文書又は電子文書と共に配布することができ(例えば市販ソフトウェア)、コンピュータシステムに(例えばシステムROM又は固定ディスクに)プリロードすることができるか、若しくは、ネットワーク(例えばインターネット又はワールド・ワイド・ウェブ)を介してサーバ又は電子掲示板から配布することができる。実際には、幾つかの実施の形態を、SaaS(Software as a Service)モデル又はクラウドコンピューティングモデルとして実現することができる。勿論、本発明の幾つかの実施の形態を、ソフトウェア(例えばコンピュータプログラム製品)とハードウェアの組み合わせとして実現することができる。本発明の更に別の実施の形態は、完全にハードウェアとして、又は完全にソフトウェアとして実現される。   In addition, such computer program products can be distributed as removable media with printed or electronic documents (eg, commercially available software) and preloaded into a computer system (eg, on a system ROM or fixed disk). Or can be distributed from a server or bulletin board via a network (eg, the Internet or the World Wide Web). In practice, some embodiments may be implemented as a SaaS (Software as a Service) model or a cloud computing model. Of course, some embodiments of the present invention may be implemented as a combination of software (eg, a computer program product) and hardware. Still other embodiments of the invention are implemented entirely as hardware or entirely as software.

上記においては、本発明の種々の実施例を説明したが、当業者であれば、本発明の真の精神から逸脱することなく、本発明の幾つかの利点を達成する種々の変更を行えることが分かる。   While various embodiments of the invention have been described above, those skilled in the art can make various modifications that achieve some of the advantages of the invention without departing from the true spirit of the invention. I understand.

Claims (39)

ネットワークを介してデータをルーティングする方法において、
該方法は、
複数のノードを有しているローカルネットワーク内の少なくとも1つのノードにアクセスするクライアントノードからセッションリクエストを受信するステップと、
前記クライアントノードからパケットを受信する少なくとも1つのノードを指定するクライアント情報を有しているクライアント証明書を、前記クライアントノードから受信するステップと、
前記クライアント証明書を使用して、認証プロセスを実行するステップと、
前記クライアント証明書から前記クライアント情報を検索するステップと、
前記認証プロセスによって前記クライアントノードが認証された場合には、前記クライアントノードから受信したデータパケットを、前記クライアント証明書における前記クライアント情報によって指定された通りに、前記ローカルネットワーク内の少なくとも1つのノードにルーティングするステップと、
を有していることを特徴とする、方法。
In a method for routing data over a network,
The method
Receiving a session request from a client node accessing at least one node in a local network having a plurality of nodes;
Receiving from the client node a client certificate having client information specifying at least one node that receives packets from the client node;
Performing an authentication process using the client certificate;
Retrieving the client information from the client certificate;
If the client node is authenticated by the authentication process, the data packet received from the client node is sent to at least one node in the local network as specified by the client information in the client certificate. Routing, and
A method characterized by comprising:
前記認証プロセスによって前記クライアントノードが認証されなかった場合には、前記クライアントノードを拒否するステップを更に有している、
請求項1に記載の方法。
Further comprising rejecting the client node if the client node is not authenticated by the authentication process;
The method of claim 1.
前記拒否は、前記クライアントノードのパケットの、前記ローカルネットワーク内のその他のノードへのアクセスの遮断を含んでいる、
請求項2に記載の方法。
The rejection includes blocking access of the client node packet to other nodes in the local network.
The method of claim 2.
前記クライアント情報は、前記クライアントノードを識別する識別情報を含んでいる、
請求項1に記載の方法。
The client information includes identification information for identifying the client node.
The method of claim 1.
データパケットのルーティングは、
前記クライアントノードから前記データパケットを受信する前記ローカルネットワーク内の前記少なくとも1つのノードの識別子を求めるための、前記クライアント情報の使用と、
前記クライアントノードから、識別された前記少なくとも1つのノードへのデータパケットのルーティングと、
を含んでいる、
請求項1に記載の方法。
Data packet routing
Using the client information to determine an identifier of the at least one node in the local network that receives the data packet from the client node;
Routing data packets from the client node to the identified at least one node;
Including,
The method of claim 1.
認証された場合には、ルーティングは、前記クライアントノードによる前記少なくとも1つのノードへのアクセスを許可し、
前記クライアント情報は、前記ローカルネットワーク内の前記少なくとも1つのノードにアクセスする際に前記クライアントノードに対して一連の特権を与えるポリシー情報を含んでいる、
請求項5に記載の方法。
If authenticated, routing allows the client node to access the at least one node;
The client information includes policy information that grants a set of privileges to the client node when accessing the at least one node in the local network.
The method of claim 5.
前記クライアント情報は、
a)前記クライアントノードを識別する識別情報、又は、
b)前記ローカルネットワーク内の前記少なくとも1つのノードにアクセスする際に前記クライアントノードに対して一連の特権を与えるポリシー情報、又は、
c)前記(a)及び前記(b)の両方、
を含んでいる、
請求項1に記載の方法。
The client information is
a) identification information for identifying the client node, or
b) policy information that grants a set of privileges to the client node when accessing the at least one node in the local network; or
c) both (a) and (b),
Including,
The method of claim 1.
データパケットのルーティングは、識別情報及び前記ポリシー情報の一方又は両方によって指定された通りのデータパケットのルーティングを含んでいる、
請求項7に記載の方法。
Data packet routing includes routing data packets as specified by one or both of the identification information and the policy information.
The method of claim 7.
前記ローカルネットワークは、セッションリクエストの受信、クライアント証明書の受信、検索及びルーティングのうちの少なくとも1つを実行するエッジルータを含んでいる、
請求項1に記載の方法。
The local network includes an edge router that performs at least one of receiving a session request, receiving a client certificate, searching, and routing.
The method of claim 1.
前記少なくとも1つのノードは、アプリケーションサーバを有しており、
前記ローカルネットワークには、ローカルエリアネットワークが含まれる、
請求項1に記載の方法。
The at least one node has an application server;
The local network includes a local area network.
The method of claim 1.
前記ローカルネットワーク内の受信ノードは、前記セッションリクエストを受信し、
前記方法は、前記受信ノードと、前記ローカルネットワーク内の前記少なくとも1つのノードと、の間に静的なコネクションを維持するステップを、更に有しており、
ルーティングは、前記静的なコネクションに沿った、前記クライアントからのデータパケットのルーティングを含んでいる、
請求項1に記載の方法。
A receiving node in the local network receives the session request;
The method further comprises maintaining a static connection between the receiving node and the at least one node in the local network;
Routing includes routing of data packets from the client along the static connection.
The method of claim 1.
前記セッション中に、前記クライアントノードと、前記ローカルネットワーク内の前記少なくとも1つのノードと、の間でハンドシェイクプロセスは実施されない、
請求項11に記載の方法。
No handshake process is performed between the client node and the at least one node in the local network during the session;
The method of claim 11.
前記証明書を受信する前に、前記クライアントノードと前記少なくとも1つのノードとの間での、最初のハンドシェイクプロセスを許可するステップと、
前記認証プロセスによって前記クライアントノードが認証された場合には、前記クライアントノードと少なくとも1つのノードとの間での、最後のハンドシェイクプロセスの完了を許可するステップと、
を更に有している、
請求項1に記載の方法。
Allowing an initial handshake process between the client node and the at least one node before receiving the certificate;
Authorizing completion of a final handshake process between the client node and at least one node if the client node is authenticated by the authentication process;
In addition,
The method of claim 1.
認証プロセスの実行は、ゲストユーザのためのログインID及びパスワードの受信と、前記ログインID及び前記パスワードが前記ローカルネットワーク内のアクセスに対して有効であることの確認と、を含んでいる、
請求項1に記載の方法。
Execution of the authentication process includes receiving a login ID and password for a guest user and confirming that the login ID and password are valid for access within the local network.
The method of claim 1.
クライアントノードデバイスを識別するクライアントデバイス識別子を求めるステップと、
前記クライアントデバイス識別子及び前記クライアント証明書を使用して、前記認証プロセスを実行するステップと、
を更に有している、
請求項14に記載の方法。
Determining a client device identifier that identifies the client node device;
Performing the authentication process using the client device identifier and the client certificate;
In addition,
The method according to claim 14.
前記クライアントデバイス識別子は、MACアドレスを含んでいる、
請求項15に記載の方法。
The client device identifier includes a MAC address;
The method of claim 15.
ネットワークを介して受信したデータをルーティングするネットワークルーティングデバイスにおいて、
該ネットワークデバイスは、
a)複数のノードを有しているローカルネットワーク内の少なくとも1つのノードにアクセスするクライアントノードからのセッションリクエストと、b)前記クライアントノードからパケットを受信する少なくとも1つのノードを指定するクライアント情報を有している、前記クライアントノードからのクライアント証明書と、を受信するインタフェースと、
適切に作用するように前記インタフェースに接続されており、且つ、前記クライアント証明書を検索し、前記クライアント証明書を使用して認証プロセスを実行するように構成されているオーセンティケータと、
適切に作用するように前記オーセンティケータに接続されており、且つ、前記認証プロセスによって前記クライアントノードは認証されたか否かを前記オーセンティケータから求めるように構成されているルータと、
を含んでおり、
前記ルータは、更に、前記クライアントノードが認証された場合には、前記クライアントノードから受信したデータパケットを、前記クライアント証明書における前記クライアント情報によって指定された通りに、前記ローカルネットワーク内の少なくとも1つのノードにルーティングするように構成されている、
ネットワークルーティングデバイス。
In a network routing device that routes data received over the network,
The network device is
a) a session request from a client node accessing at least one node in a local network having a plurality of nodes; and b) client information specifying at least one node receiving a packet from the client node. An interface for receiving a client certificate from the client node;
An authenticator connected to the interface to work properly and configured to retrieve the client certificate and perform an authentication process using the client certificate;
A router connected to the authenticator to function properly and configured to determine from the authenticator whether the client node has been authenticated by the authentication process;
Contains
The router further includes, when the client node is authenticated, the data packet received from the client node, as specified by the client information in the client certificate, at least one in the local network. Configured to route to the node,
Network routing device.
前記クライアント情報は、前記クライアントノードを識別する識別情報を含んでいる、
請求項17に記載のネットワークルーティングデバイス。
The client information includes identification information for identifying the client node.
The network routing device of claim 17.
前記ルータは、前記クライアントノードから前記データパケットを受信する前記ローカルネットワーク内の前記少なくとも1つのノードの識別子を求めるために前記クライアント情報を使用するように構成されており、
前記ルータは、更に、クライアントデータパケットを前記クライアントノードから、識別された前記少なくとも1つのノードにルーティングするように構成されている、
請求項17に記載のネットワークルーティングデバイス。
The router is configured to use the client information to determine an identifier of the at least one node in the local network that receives the data packet from the client node;
The router is further configured to route client data packets from the client node to the identified at least one node;
The network routing device of claim 17.
前記ルータは、認証された場合には、前記クライアントノードによる前記少なくとも1つのノードへのアクセスを許可するように構成されており、
前記クライアント情報は、前記ローカルネットワーク内の前記少なくとも1つのノードにアクセスする際に前記クライアントノードに対して一連の特権を与えるポリシー情報を含んでいる、
請求項19に記載のネットワークルーティングデバイス。
The router is configured to authorize access to the at least one node by the client node if authenticated;
The client information includes policy information that grants a set of privileges to the client node when accessing the at least one node in the local network.
The network routing device according to claim 19.
前記クライアント情報は、
a)前記クライアントノードを識別する識別情報、又は、
b)前記ローカルネットワーク内の前記少なくとも1つのノードにアクセスする際に前記クライアントノードに対して一連の特権を与えるポリシー情報、又は、
c)前記(a)及び前記(b)の両方、
を含んでいる、
請求項17に記載のネットワークルーティングデバイス。
The client information is
a) identification information for identifying the client node, or
b) policy information that grants a set of privileges to the client node when accessing the at least one node in the local network; or
c) both (a) and (b),
Including,
The network routing device of claim 17.
前記ルータは、識別情報及び前記ポリシー情報の一方又は両方によって指定された通りにデータパケットをルーティングするように構成されている、
請求項21に記載のネットワークルーティングデバイス。
The router is configured to route data packets as specified by one or both of identification information and policy information;
The network routing device of claim 21.
前記ルータは、前記ローカルネットワークのためのエッジルータとして構成されている、
請求項17に記載のネットワークデバイス。
The router is configured as an edge router for the local network;
The network device according to claim 17.
ネットワークを介してデータをルーティングするための、コンピュータシステムにおいて使用されるコンピュータプログラム製品において、
前記コンピュータプログラム製品は、有形の非一時的なコンピュータ使用可能媒体と、該媒体におけるコンピュータ可読プログラムコードと、を有しており、
該コンピュータ可読プログラムコードは、
複数のノードを有しているローカルネットワーク内の少なくとも1つのノードにアクセスするクライアントノードからセッションリクエストを受信するためのプログラムコードと、
前記クライアントノードからパケットを受信する少なくとも1つのノードを指定するクライアント情報を有しているクライアント証明書を、前記クライアントノードから受信するためのプログラムコードと、
前記クライアント証明書を使用して、認証プロセスを実行するためのプログラムコードと、
前記クライアント証明書から前記クライアント情報を検索するためのプログラムコードと、
前記認証プロセスによって前記クライアントノードが認証された場合には、前記クライアント証明書における前記クライアント情報によって指定された通りに、前記ローカルネットワーク内の少なくとも1つのノードに、前記クライアントノードから受信したデータパケットをルーティングするためのプログラムコードと、
を含んでいる、コンピュータプログラム製品。
In a computer program product used in a computer system for routing data over a network,
The computer program product comprises a tangible non-transitory computer usable medium and computer readable program code on the medium,
The computer readable program code is:
Program code for receiving a session request from a client node accessing at least one node in a local network having a plurality of nodes;
Program code for receiving from the client node a client certificate having client information specifying at least one node that receives packets from the client node;
Program code for performing an authentication process using the client certificate;
Program code for retrieving the client information from the client certificate;
If the client node is authenticated by the authentication process, the data packet received from the client node is sent to at least one node in the local network as specified by the client information in the client certificate. Program code for routing,
Including computer program products.
前記認証プロセスによって前記クライアントノードを認証できなかった場合には、前記クライアントノードを拒否するためのプログラムコードを更に含んでいる、
請求項24に記載のコンピュータプログラム製品。
If the authentication process fails to authenticate the client node, it further includes program code for rejecting the client node.
25. A computer program product according to claim 24.
前記拒否するためのプログラムコードは、前記クライアントノードのパケットの、前記ローカルネットワーク内のその他のノードへのアクセスを遮断するためのプログラムコードを含んでいる、
請求項25に記載のコンピュータプログラム製品。
The program code for rejecting includes program code for blocking access of the client node packet to other nodes in the local network.
26. A computer program product according to claim 25.
前記クライアント情報は、前記クライアントノードを識別する識別情報を含んでいる、
請求項24に記載のコンピュータプログラム製品。
The client information includes identification information for identifying the client node.
25. A computer program product according to claim 24.
前記データパケットをルーティングするためのプログラムコードは、
前記クライアントノードから前記データパケットを受信する前記ローカルネットワーク内の前記少なくとも1つのノードの識別子を求めるために前記クライアント情報を使用するためのプログラムコードと、
前記クライアントノードから、識別された前記少なくとも1つのノードにデータパケットをルーティングするためのプログラムコードと、
を含んでいる、
請求項24に記載のコンピュータプログラム製品。
Program code for routing the data packet is:
Program code for using the client information to determine an identifier of the at least one node in the local network that receives the data packet from the client node;
Program code for routing data packets from the client node to the identified at least one node;
Including,
25. A computer program product according to claim 24.
前記ルーティングするためのプログラムコードによって、認証された場合には、前記クライアントノードによる前記少なくとも1つのノードへのアクセスが許可され、
前記クライアント情報は、前記ローカルネットワーク内の前記少なくとも1つのノードにアクセスする際に前記クライアントノードに対して一連の特権を与えるポリシー情報を含んでいる、
請求項28に記載のコンピュータプログラム製品。
If authenticated by the program code for routing, the client node is permitted to access the at least one node;
The client information includes policy information that grants a set of privileges to the client node when accessing the at least one node in the local network.
29. A computer program product according to claim 28.
前記クライアント情報は、
a)前記クライアントノードを識別する識別情報、又は、
b)前記ローカルネットワーク内の前記少なくとも1つのノードにアクセスする際に前記クライアントノードに対して一連の特権を与えるポリシー情報、又は、
c)前記(a)及び前記(b)の両方、
を含んでいる、
請求項24に記載のコンピュータプログラム製品。
The client information is
a) identification information for identifying the client node, or
b) policy information that grants a set of privileges to the client node when accessing the at least one node in the local network; or
c) both (a) and (b),
Including,
25. A computer program product according to claim 24.
前記データパケットをルーティングするためのプログラムコードは、識別情報及び前記ポリシー情報の一方又は両方によって指定された通りにデータパケットをルーティングするためのプログラムコードを含んでいる、
請求項30に記載のコンピュータプログラム製品。
The program code for routing the data packet includes a program code for routing the data packet as specified by one or both of identification information and the policy information.
The computer program product of claim 30.
前記ローカルネットワークは、前記セッションリクエストを受信するためのプログラムコード、前記クライアント証明書を受信するためのプログラムコード、前記検索するためのプログラムコード及び前記ルーティングするためのプログラムコードのうちの少なくとも1つを実行するエッジルータを含んでいる、
請求項24に記載のコンピュータプログラム製品。
The local network has at least one of a program code for receiving the session request, a program code for receiving the client certificate, a program code for searching, and a program code for routing. Including edge routers to run,
25. A computer program product according to claim 24.
前記少なくとも1つのノードは、アプリケーションサーバを有しており、
前記ローカルネットワークには、ローカルエリアネットワークが含まれる、
請求項24に記載のコンピュータプログラム製品。
The at least one node has an application server;
The local network includes a local area network.
25. A computer program product according to claim 24.
前記ローカルネットワーク内の受信ノードは、前記セッションリクエストを受信し、
前記コンピュータプログラム製品は、前記受信ノードと、前記ローカルネットワーク内の前記少なくとも1つのノードと、の間に静的なコネクションを維持するためのプログラムコードを更に含んでおり、
前記ルーティングするためのプログラムコードは、前記静的なコネクションに沿って、前記クライアントからのデータパケットをルーティングするためのプログラムコードを含んでいる、
請求項24に記載のコンピュータプログラム製品。
A receiving node in the local network receives the session request;
The computer program product further includes program code for maintaining a static connection between the receiving node and the at least one node in the local network;
The program code for routing includes program code for routing data packets from the client along the static connection.
25. A computer program product according to claim 24.
前記セッション中に、前記クライアントノードと、前記ローカルネットワーク内の前記少なくとも1つのノードと、の間でハンドシェイクプロセスは実施されない、
請求項34に記載のコンピュータプログラム製品。
No handshake process is performed between the client node and the at least one node in the local network during the session;
35. A computer program product according to claim 34.
前記証明書を受信する前に、前記クライアントノードと前記少なくとも1つのノードとの間での、最初のハンドシェイクプロセスを許可するためのプログラムコードと、
前記認証プロセスによって前記クライアントノードが認証された場合には、前記クライアントノードと少なくとも1つのノードとの間での、最後のハンドシェイクプロセスの完了を許可するためのプログラムコードと、
を更に含んでいる、
請求項24に記載のコンピュータプログラム製品。
Program code for authorizing an initial handshake process between the client node and the at least one node before receiving the certificate;
Program code for authorizing completion of a final handshake process between the client node and at least one node if the client node is authenticated by the authentication process;
Further including
25. A computer program product according to claim 24.
ネットワークを介してデータをルーティングする方法において、
該方法は、
複数のノードを有しているローカルネットワーク内の少なくとも1つのノードにアクセスするクライアントノードからセッションリクエストを受信するステップと、
前記クライアントノードからパケットを受信する少なくとも1つのノードを指定するクライアント情報を有しているクライアント証明書を、前記クライアントノードから受信するステップと、
前記クライアント証明書から前記クライアント情報を検索するステップと、
前記クライアント証明書における前記クライアント情報に基づいて、前記少なくとも1つのノードへの少なくとも制限的なアクセスを容易にするステップと、
を有していることを特徴とする、方法。
In a method for routing data over a network,
The method
Receiving a session request from a client node accessing at least one node in a local network having a plurality of nodes;
Receiving from the client node a client certificate having client information specifying at least one node that receives packets from the client node;
Retrieving the client information from the client certificate;
Facilitating at least restrictive access to the at least one node based on the client information in the client certificate;
A method characterized by comprising:
前記クライアント情報は、ポリシー情報を含んでいる、
請求項37に記載の方法。
The client information includes policy information.
38. The method of claim 37.
前記少なくとも1つのノードは、関連付けられた一連のアクセス特権を有しており、
少なくとも制限的なアクセスを容易にすることは、前記クライアントノードに、前記関連付けられた一連のアクセス特権のうちの少なくとも1つを許可することを含んでいる、
請求項38に記載の方法。
The at least one node has a set of associated access privileges;
Facilitating at least restrictive access includes granting the client node at least one of the associated set of access privileges;
40. The method of claim 38.
JP2017535405A 2015-03-17 2016-01-14 Apparatus and method for using certificate data to route data Pending JP2018514956A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/660,500 2015-03-17
US14/660,500 US9736184B2 (en) 2015-03-17 2015-03-17 Apparatus and method for using certificate data to route data
PCT/US2016/013416 WO2016148766A1 (en) 2015-03-17 2016-01-14 Apparatus and method for using certificate data to route data

Publications (1)

Publication Number Publication Date
JP2018514956A true JP2018514956A (en) 2018-06-07

Family

ID=56919208

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017535405A Pending JP2018514956A (en) 2015-03-17 2016-01-14 Apparatus and method for using certificate data to route data

Country Status (4)

Country Link
US (2) US9736184B2 (en)
EP (1) EP3272059B1 (en)
JP (1) JP2018514956A (en)
WO (1) WO2016148766A1 (en)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9729439B2 (en) 2014-09-26 2017-08-08 128 Technology, Inc. Network packet flow controller
US9736184B2 (en) 2015-03-17 2017-08-15 128 Technology, Inc. Apparatus and method for using certificate data to route data
US9729682B2 (en) 2015-05-18 2017-08-08 128 Technology, Inc. Network device and method for processing a session using a packet signature
US10187299B2 (en) * 2016-04-22 2019-01-22 Blackridge Technology Holdings, Inc. Method for using authenticated requests to select network routes
US10545940B2 (en) * 2017-02-22 2020-01-28 Red Hat, Inc. Supporting secure layer extensions for communication protocols
EP3515034B1 (en) * 2018-01-17 2020-05-13 ise Individuelle Software und Elektronik GmbH Method, devices, computer-readable media and systems for establishing certified connections with end devices in a local area network
US11290459B2 (en) * 2018-05-15 2022-03-29 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Granting guest devices access to a network using out-of-band authorization
US10979232B2 (en) * 2018-05-31 2021-04-13 Motorola Solutions, Inc. Method for provisioning device certificates for electronic processors in untrusted environments
US20200403809A1 (en) * 2019-06-24 2020-12-24 Ebay Inc. Service request authentication utilizing permissions associated with digital certificates
US11336573B2 (en) * 2020-02-26 2022-05-17 Cisco Technology, Inc. Service chaining in multi-fabric cloud networks
US11588820B2 (en) * 2021-06-29 2023-02-21 International Business Machines Corporation Certificate based automated network configuration

Family Cites Families (107)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4975865A (en) 1989-05-31 1990-12-04 Mitech Corporation Method and apparatus for real-time control
GB9411950D0 (en) 1994-06-15 1994-08-03 Deas Alexander R Memory test system
US5872928A (en) 1995-02-24 1999-02-16 Cabletron Systems, Inc. Method and apparatus for defining and enforcing policies for configuration management in communications networks
US7466703B1 (en) 1998-05-01 2008-12-16 Alcatel-Lucent Usa Inc. Scalable high speed router apparatus
US6515963B1 (en) 1999-01-27 2003-02-04 Cisco Technology, Inc. Per-flow dynamic buffer management
US6721334B1 (en) 1999-02-18 2004-04-13 3Com Corporation Method and apparatus for packet aggregation in packet-based network
US6798743B1 (en) 1999-03-22 2004-09-28 Cisco Technology, Inc. Packet prioritization processing technique for routing traffic in a packet-switched computer network
US6563824B1 (en) 1999-04-20 2003-05-13 3Com Corporation Apparatus and methods for determining the correct workstation within a LAN for a LAN modem to route a packet
US6584071B1 (en) 1999-08-03 2003-06-24 Lucent Technologies Inc. Routing with service level guarantees between ingress-egress points in a packet network
US7035214B1 (en) 1999-09-28 2006-04-25 Nortel Networks Limited System and method for a negative acknowledgement-based transmission control protocol
US6687220B1 (en) 1999-09-28 2004-02-03 Ericsson Inc. Quality of service management in a packet data router having multiple virtual router instances
US6778531B1 (en) 1999-11-04 2004-08-17 Lucent Technologies Inc. Multicast routing with service-level guarantees between ingress egress-points in a packet network
JP3349490B2 (en) 2000-02-14 2002-11-25 インターナショナル・ビジネス・マシーンズ・コーポレーション Image display method, image display system, host device, image display device, and display interface
TW480858B (en) 2000-06-15 2002-03-21 Nat Science Council Expandability design of QoS route and transfer
US7023851B2 (en) 2000-10-12 2006-04-04 Signafor, Inc. Advanced switching mechanism for providing high-speed communications with high Quality of Service
EP1329076A1 (en) 2000-10-26 2003-07-23 BRITISH TELECOMMUNICATIONS public limited company Telecommunications routing
US7218632B1 (en) 2000-12-06 2007-05-15 Cisco Technology, Inc. Packet processing engine architecture
US7161906B2 (en) 2000-12-15 2007-01-09 Agere Systems Inc. Three-stage switch fabric with input device features
WO2002069575A1 (en) 2001-02-28 2002-09-06 Gotham Networks, Inc. Methods and apparatus for network routing device
IL141855A0 (en) 2001-03-07 2002-03-10 Onetiercommunications Inc A method and apparatus for providing an improved quality of service for data transfer over the internet
US7150037B2 (en) 2001-03-21 2006-12-12 Intelliden, Inc. Network configuration manager
US20020176363A1 (en) 2001-05-08 2002-11-28 Sanja Durinovic-Johri Method for load balancing in routers of a network using overflow paths
US7020143B2 (en) 2001-06-18 2006-03-28 Ericsson Inc. System for and method of differentiated queuing in a routing system
US7106739B2 (en) 2001-06-27 2006-09-12 Intel Corporation Method enabling network address translation of incoming session initiation protocol connections based on dynamic host configuration protocol address assignments
US7200144B2 (en) 2001-10-18 2007-04-03 Qlogic, Corp. Router and methods using network addresses for virtualization
EP1313267B1 (en) 2001-11-19 2006-12-27 Motorola, Inc. Method for optimising path selection in packet switched networks
US8370936B2 (en) 2002-02-08 2013-02-05 Juniper Networks, Inc. Multi-method gateway-based network security systems and methods
US20030214938A1 (en) 2002-03-21 2003-11-20 Jindal Deepak Kumar Method for routing of label switched paths (LSPS) through an internet supporting multi-protocol label switching (MPLS) technology
US7315541B1 (en) 2002-04-03 2008-01-01 Cisco Technology, Inc. Methods and apparatus for routing a content request
US7804785B2 (en) 2002-04-19 2010-09-28 Avaya Inc. Network system having an instructional sequence for performing packet processing and optimizing the packet processing
US7536720B2 (en) 2002-05-07 2009-05-19 Nortel Networks Limited Method and apparatus for accelerating CPE-based VPN transmissions over a wireless network
US7558847B2 (en) 2002-09-13 2009-07-07 Intelliden, Inc. System and method for mapping between and controlling different device abstractions
EP1547324A2 (en) 2002-09-30 2005-06-29 Siemens Aktiengesellschaft Method for partially maintaining packet sequences in connectionless packet switching with alternative routing
US7154902B1 (en) 2002-10-21 2006-12-26 Force10 Networks, Inc. Epoch-based packet switching
US7574738B2 (en) * 2002-11-06 2009-08-11 At&T Intellectual Property Ii, L.P. Virtual private network crossovers based on certificates
EP1422908B1 (en) 2002-11-25 2005-11-30 Siemens Aktiengesellschaft Method and apparatus for transmitting encrypted data streams over a packet oriented network
US7634805B2 (en) 2003-03-05 2009-12-15 Microsoft Corporation Use of network address translation for implementation of stateful routing
US7567504B2 (en) 2003-06-30 2009-07-28 Microsoft Corporation Network load balancing with traffic routing
JP4341413B2 (en) 2003-07-11 2009-10-07 株式会社日立製作所 PACKET TRANSFER APPARATUS HAVING STATISTICS COLLECTION APPARATUS AND STATISTICS COLLECTION METHOD
US7463590B2 (en) 2003-07-25 2008-12-09 Reflex Security, Inc. System and method for threat detection and response
US7656799B2 (en) 2003-07-29 2010-02-02 Citrix Systems, Inc. Flow control system architecture
US7401217B2 (en) 2003-08-12 2008-07-15 Mitsubishi Electric Research Laboratories, Inc. Secure routing protocol for an ad hoc network using one-way/one-time hash functions
US7373660B1 (en) 2003-08-26 2008-05-13 Cisco Technology, Inc. Methods and apparatus to distribute policy information
US7596086B2 (en) 2003-11-05 2009-09-29 Xiaolin Wang Method of and apparatus for variable length data packet transmission with configurable adaptive output scheduling enabling transmission on the same transmission link(s) of differentiated services for various traffic types
US7464266B2 (en) 2004-02-13 2008-12-09 Microsoft Corporation Cheap signatures for synchronous broadcast communication
US7411957B2 (en) 2004-03-26 2008-08-12 Cisco Technology, Inc. Hardware filtering support for denial-of-service attacks
US7706411B2 (en) 2004-03-29 2010-04-27 Hewlett-Packard Development Company, L.P. Handling oversubscribed mesh ports with re-tagging
US7586851B2 (en) 2004-04-26 2009-09-08 Cisco Technology, Inc. Programmable packet parsing processor
US7626990B2 (en) 2004-05-07 2009-12-01 Samsung Electronics Co., Ltd. Packet counters and packet adders for traffic profiling in a multiprocessor router
GB2414367B (en) 2004-05-20 2009-03-04 Vodafone Plc Data transmission
KR100693058B1 (en) 2005-02-04 2007-03-12 삼성전자주식회사 Routing Method and Apparatus for Reducing Losing of Packet
US7773611B2 (en) 2005-06-15 2010-08-10 Cisco Technology, Inc. Method and apparatus for packet loss detection
US20070171825A1 (en) 2006-01-20 2007-07-26 Anagran, Inc. System, method, and computer program product for IP flow routing
US8547843B2 (en) 2006-01-20 2013-10-01 Saisei Networks Pte Ltd System, method, and computer program product for controlling output port utilization
JP4780343B2 (en) 2006-01-23 2011-09-28 日本電気株式会社 COMMUNICATION METHOD, COMMUNICATION SYSTEM, NODE, AND PROGRAM
US7872973B2 (en) 2006-03-17 2011-01-18 Alcatel Lucent Method and system for using a queuing device as a lossless stage in a network device in a communications network
US20080028445A1 (en) * 2006-07-31 2008-01-31 Fortinet, Inc. Use of authentication information to make routing decisions
US8264949B2 (en) 2006-08-30 2012-09-11 Rockstar Bidco Lp Method and apparatus for selecting between available neighbors in a rapid alternate path calculation
CN101155178B (en) 2006-09-30 2010-08-04 华为技术有限公司 Method, device and system for establishing bidirectional LSP in multi-protocol label switching
US8068417B1 (en) 2006-10-12 2011-11-29 Anagran, Inc. System, method, and computer program product for processing flow requests based on an associated preference using a single computation
US8584199B1 (en) 2006-10-17 2013-11-12 A10 Networks, Inc. System and method to apply a packet routing policy to an application session
US20110299554A1 (en) 2006-11-06 2011-12-08 Jordi Ros-Giralt Solutions for dynamic NAT and firewall traversal
CN101207604B (en) 2006-12-20 2012-03-28 联想(北京)有限公司 Virtual machine system and communication processing method thereof
US7969991B2 (en) 2007-04-23 2011-06-28 Mcafee, Inc. Session announcement system and method
CN101068242B (en) 2007-05-31 2010-04-14 武汉虹旭信息技术有限责任公司 Method for obtaining internal and external network address mapping relation in safety auditing system
US20090007021A1 (en) 2007-06-28 2009-01-01 Richard Hayton Methods and systems for dynamic generation of filters using a graphical user interface
US8374102B2 (en) 2007-10-02 2013-02-12 Tellabs Communications Canada, Ltd. Intelligent collection and management of flow statistics
CN101483558B (en) 2008-01-10 2012-07-04 华为技术有限公司 Method, system and apparatus for packet switching network access by network appliance
CN102084628B (en) 2008-04-24 2014-12-03 马维尔国际有限公司 A traffic manager and a method for a traffic manager
US8094560B2 (en) 2008-05-19 2012-01-10 Cisco Technology, Inc. Multi-stage multi-core processing of network packets
CN101640629B (en) 2008-07-29 2012-08-29 华为技术有限公司 Method for monitoring link packet loss and bidirectional forwarding detector
CN101729303B (en) 2008-10-25 2012-12-12 华为技术有限公司 Method and device for measuring network performance parameter
CN102292961B (en) 2008-11-25 2014-05-07 思杰系统有限公司 Systems and methods for applying transformations to IP addresses obtained by domain name service (DNS)
US8904177B2 (en) 2009-01-27 2014-12-02 Sony Corporation Authentication for a multi-tier wireless home mesh network
US8139479B1 (en) 2009-03-25 2012-03-20 Juniper Networks, Inc. Health probing detection and enhancement for traffic engineering label switched paths
CN101552703B (en) 2009-04-10 2011-07-27 中国联合网络通信集团有限公司 A method and device to measure service quality parameters and a method and device to judge service quality
CN101646220B (en) 2009-08-25 2011-08-31 浙江大学 Route comparing method for 802.11 multi-interface wireless mesh network router
CN101997826A (en) 2009-08-28 2011-03-30 中兴通讯股份有限公司 Routing methods of control net element, forwarding net element and internet protocol network
US8634428B2 (en) 2009-09-21 2014-01-21 At&T Intellectual Property I, L.P. Method and system for symmetric routing
CN101667916B (en) * 2009-09-28 2011-11-23 北京交通大学 Method of identifying user identity by digital certificate based on separating mapping network
US8989020B2 (en) 2009-12-03 2015-03-24 Verizon Patent And Licensing Inc. Bidirectional forwarding detection (BFD) protocol extension for detecting random traffic dropping
KR101098082B1 (en) 2009-12-04 2011-12-26 이학종 System and method for guiding bypass of internet connection path using a DNS packet modulation, and recording medium storing program thereof
CN102195855B (en) 2010-03-17 2014-10-08 华为技术有限公司 Business routing method and business network
US8804489B2 (en) 2010-09-29 2014-08-12 Telefonaktiebolaget L M Ericsson (Publ) Fast flooding based fast convergence to recover from network failures
US8462632B1 (en) 2010-12-28 2013-06-11 Amazon Technologies, Inc. Network traffic control
CN102055817B (en) 2010-12-30 2014-07-30 中国人民解放军信息工程大学 Method for gathering homologous address beam and homologous gathering network route system
US9692687B2 (en) 2011-03-18 2017-06-27 Alcatel Lucent Method and apparatus for rapid rerouting of LDP packets
CN102158371A (en) 2011-04-12 2011-08-17 杭州华三通信技术有限公司 Link performance detection method and device based on BFD (Bidirectional Forwarding Detection)
CN102739507B (en) 2011-04-14 2015-04-15 中国科学院声学研究所 Router for sensing bearing state and service flow bandwidth distribution method thereof
US9049251B2 (en) 2012-02-28 2015-06-02 Futurewei Technologies, Inc. Method and apparatus for internet protocol based content router
US8942085B1 (en) 2012-05-23 2015-01-27 Google Inc. System and method for routing around failed links
US8832241B2 (en) 2012-06-15 2014-09-09 Citrix Systems, Inc. Systems and methods for validating a configuration in a cluster
US9300766B2 (en) 2012-07-31 2016-03-29 At&T Intellectual Property I, L.P. Method and apparatus for initiating and maintaining sessions between endpoints
CN102769679B (en) 2012-08-01 2015-06-03 深信服网络科技(深圳)有限公司 Method and device for tracing source of internet protocol (IP) address after network address translation (NAT)
US9160652B2 (en) 2012-08-31 2015-10-13 Cisco Technology, Inc. Fast reroute for bidirectional co-routed traffic engineering tunnels
US9385949B2 (en) 2012-12-20 2016-07-05 Mellanox Technologies Tlv Ltd. Routing controlled by subnet managers
CN103179192B (en) 2013-02-07 2015-11-25 杭州华三通信技术有限公司 The message forwarding method that virtual server moves, system and NAT service equipment
US10044610B2 (en) 2013-12-31 2018-08-07 Alcatel Lucent System, method and apparatus providing bi-directional forwarding detection support to unnumbered IP interfaces
US20150229618A1 (en) 2014-02-11 2015-08-13 Futurewei Technologies, Inc. System and Method for Securing Source Routing Using Public Key based Digital Signature
US9979515B2 (en) 2014-06-30 2018-05-22 Telefonaktiebolaget Lm Ericsson (Publ) Control for BFD return path
WO2016007052A1 (en) 2014-07-07 2016-01-14 Telefonaktiebolaget L M Ericsson (Publ) A wireless device, network node and respective methods therein for transmitting data therebetween
CN105490932A (en) 2014-09-19 2016-04-13 中兴通讯股份有限公司 Two-way forwarding detection method, device and system
US9729439B2 (en) 2014-09-26 2017-08-08 128 Technology, Inc. Network packet flow controller
US10277506B2 (en) 2014-12-08 2019-04-30 128 Technology, Inc. Stateful load balancing in a stateless network
US9736184B2 (en) 2015-03-17 2017-08-15 128 Technology, Inc. Apparatus and method for using certificate data to route data
US9729682B2 (en) 2015-05-18 2017-08-08 128 Technology, Inc. Network device and method for processing a session using a packet signature
CN105245469B (en) 2015-08-27 2019-05-28 珠海豹好玩科技有限公司 Data transmission method, device and system

Also Published As

Publication number Publication date
US9736184B2 (en) 2017-08-15
EP3272059A1 (en) 2018-01-24
WO2016148766A1 (en) 2016-09-22
US10091247B2 (en) 2018-10-02
EP3272059A4 (en) 2018-11-21
US20160277446A1 (en) 2016-09-22
EP3272059B1 (en) 2021-06-16
US20170339194A1 (en) 2017-11-23

Similar Documents

Publication Publication Date Title
US11870809B2 (en) Systems and methods for reducing the number of open ports on a host computer
US10091247B2 (en) Apparatus and method for using certificate data to route data
US10033843B2 (en) Network device and method for processing a session using a packet signature
US9461975B2 (en) Method and system for traffic engineering in secured networks
US10091170B2 (en) Method and apparatus for distributing encryption and decryption processes between network devices
JP4558389B2 (en) Reduce network configuration complexity using transparent virtual private networks
US8886934B2 (en) Authorizing physical access-links for secure network connections
US8104082B2 (en) Virtual security interface
US20100192202A1 (en) System and Method for Implementing a Secured and Centrally Managed Virtual IP Network Over an IP Network Infrastructure
US10057236B2 (en) Method for operating a network and a network
CN112887278A (en) Interconnection system and method of private cloud and public cloud
US20150381387A1 (en) System and Method for Facilitating Communication between Multiple Networks
JP2006216014A (en) System and method for authenticating message, and firewall, network device, and computer-readable medium for authenticating message
CN107171786A (en) Network agent account control method
CN107135226A (en) Transport-layer proxy communication means based on socks5
Small Patterns in network security: An analysis of architectural complexity in securing recursive inter-network architecture networks
Mason CCNP Security Secure 642-637 Quick Reference