[go: up one dir, main page]

JP2018514956A - データをルーティングするために証明書データを使用する装置と方法 - Google Patents

データをルーティングするために証明書データを使用する装置と方法 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
English (en)
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/ja
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つのノードにルーティングする。

Description

関連出願
本願は、2014年9月26日に出願された米国特許出願第14/497,954号、発明の名称「ネットワークパケットフローコントローラ(NETWORK PACKET FLOW CONTROLLER)」、代理人整理番号4094/1001、発明者Melampy、Baj、Kaplan、Kumar、Penfield及びTimmons、に関連するものであり、その開示内容全体は参照により本願に組み込まれる。
本願は、また、2014年12月8日に出願された米国特許出願第14/562,917号、発明の名称「ステートレスなネットワークにおけるステートフルなロードバランシング(STATEFUL LOAD BALANCING IN A STATELESS NETWORK)」、代理人整理番号4094/1002、発明者Timmons、Baj、Kaplan、Melampy、Kumar及びPenfield、に関連するものであり、その開示内容全体は参照により本願に組み込まれる。
本PCT出願は、2015年3月17日に出願された米国特許出願第14/660,500号、発明の名称「データをルーティングするために証明書データを使用する装置と方法(APPARATUS AND METHOD FOR USING CERTIFICATE DATA TO ROUTE DATA)」、代理人整理番号4094/1005、発明者Kumar、Timmons及びMeLampy、の優先権を主張するものであり、その開示内容全体は参照により本願に組み込まれる。
技術分野
本発明は、一般的には、ネットワークデバイスに関し、より詳細には、ネットワークルーティングデバイスについてのセキュリティに関する。
インターネットプロトコル(「IP」)は、データメッセージ(「データグラム」)を、インターネットに接続されているネットワークデバイス間で転送するためのデファクトスタンダードとして使用されている。そのために、IPは、一連のインターネットデバイスを介して、例えばルータ及びスイッチを介して、データグラムを1つ又は複数のデータパケットの形態で供給する。各パケットは、2つの主要部分、即ち、(1)伝送される情報(例えばテキストデータ、グラフィックデータ、オーディオデータ又はビデオデータ)を有しているペイロード、並びに、(2)(1つ又は複数の)パケットを受信するネットワークデバイス(「宛先デバイス」)のアドレス、パケットを送信するネットワークデバイス(「起源デバイス」)の識別子及びパケットをルーティングするためのその他のデータを有している、「IPヘッダ」として公知であるヘッダ。従って、多くの人々は、パケットを一般郵便/ファーストクラスメール(first class mail)を使用する慣例の伝統的な手紙を例にして説明している。つまり、手紙は、ペイロードとして機能し、また差出人住所及び宛先住所が示されている封書は、IPヘッダとして機能する。
ハッカーは、第三者のインターネットデバイス、例えばデータセンタ内のアプリケーションサービスにアクセスして、違法な操作を行うことを頻繁に試みている。そのような違反行為によって大量のデータが漏洩する可能性がある。データの漏洩によって詐欺行為が蔓延し、その被害額は数十億ドルにも達する。
種々の実施の形態の概要
本発明の1つの実施の形態によれば、ネットワークを介してデータをルーティングする方法は、複数のノードを有しているローカルネットワーク内の少なくとも1つのノードにアクセスするクライアントノードからセッションリクエストを受信する。また本方法は、クライアント証明書(例えば、公知の標準、例えば「X509標準」によって少なくとも部分的に仕様が定められているディジタル証明書)をクライアントノードから受信する。クライアント証明書は、クライアントノードからパケットを受信する少なくとも1つのノードを指定するクライアント情報を有している。次に、本方法は、クライアント証明書を使用して、認証プロセスを実行する。認証プロセスによってクライアントノードが認証された場合には、本方法は、データパケットをクライアントノードから、クライアント証明書におけるクライアント情報によって指定された通りに、ローカルネットワーク内の少なくとも1つのノードにルーティングする。
認証プロセスによって、クライアントノードを認証できない場合には、本方法はクライアントノードを拒絶することができる。例えば、本方法は、クライアントノードのパケットが、ローカルネットワーク内のその他のノードにアクセスすることを効率的にブロックすることができる(即ち、本方法はクライアントノードから受信するパケットを単純に転送するものではない)。
図示の実施の形態は、データパケットを受信する、ローカルネットワーク内の少なくとも1つのノードの識別子を求めるためのクライアント情報を使用してデータパケットをルーティングする。従って、ルーティングが行われるということは、クライアントノードに少なくとも1つのノードへのアクセスが許可されたとみなすことができる。
とりわけ、クライアント情報は、a)クライアントノードを識別する識別情報、b)ローカルネットワーク内の少なくとも1つのノードにアクセスする際にクライアントノードに一連の特権を与えるポリシー情報、又はクライアント情報及びポリシー情報の両方を含むことができる。従って、識別情報及びポリシー情報の一方又は両方によって指定された通りに、データパケットをルーティングすることができる。
ローカルネットワーク(例えばローカルエリアネットワーク)は、セッションリクエストを受信する、クライアント証明書を受信する、クライアント情報を検索する、及び/又は、データパケットをルーティングするエッジルータを有することができる。ローカルネットワークは、その他の複数のノードを含むこともできる。例えば、少なくとも1つのノードは、アプリケーションサーバを含むことができる。
ルーティングによって形成された仮想コネクションは、種々異なるアプローチを使用することができる。例えば、仮想コネクションは、セッションリクエストを受信するローカルネットワークの受信ノードと、ローカルネットワーク内の少なくとも1つのノードと、の間の静的なコネクションを維持することができる。この静的なコネクションは、ローカルネットワーク内にのみ存在している。そのケースにおいては、ルーティングは、クライアントからのデータパケットの、静的なコネクションに沿ったルーティングを含むことができる。従って、そのような実施の形態においては、周知のハンドシェイクプロセスが、セッション中に、クライアントノードと、ローカルネットワーク内の少なくとも1つのノードとの間で実施されることは期待されない。
しかしながら、その他の実施の形態は、上述の静的なコネクションを使用しなくてもよい。例えば、本方法は、証明書を受信する前に、クライアントノードと少なくとも1つのノードとの間の最初のハンドシェイクプロセスを許可することができ、また、認証プロセスによってクライアントノードが認証された場合には、クライアントノードと少なくとも1つのノードとの間の最後のハンドシェイクプロセスの完了を許可することができる。
とりわけ、認証プロセスは、ゲストユーザのためのログインID及びパスワードを受信することができ、またそのログインID及びパスワードがローカルネットワーク内のアクセスに対して有効であることを確認することができる。幾つかの実施の形態は、クライアントノードデバイスを識別するクライアントデバイス識別子(例えばクライアントデバイスのMACアドレス)を求めることができ、また、認証プロセスを実行するためにクライアントデバイス識別子及びクライアント証明書を使用することができる。
別の実施の形態によれば、ネットワークを介して受信したデータをルーティングするためのネットワークルーティングデバイスは、a)複数のノードを有しているローカルネットワーク内の少なくとも1つのノードにアクセスするクライアントノードからのセッションリクエスト、及び、b)クライアントノードからのクライアント証明書を受信するためのインタフェースを有している。クライアント証明書は、クライアントノードからパケットを受信する少なくとも1つのノードを指定するクライアント情報を有している。ネットワークルーティングデバイスは、クライアント証明書からクライアント情報を検索し、且つ、クライアント情報を使用して認証プロセスを実行するように構成されており、また、適切に作用するようにインタフェースに接続されている、オーセンティケータも有している。更に、ネットワークルーティングデバイスは、認証プロセスによってクライアントノードが認証されたか否かをオーセンティケータから求めるように構成されており、且つ、適切に作用するようにオーセンティケータに接続されている、ルータも有している。従って、ルータは、クライアントノードが認証された場合には、クライアント証明書におけるクライアント情報によって指定された通りに、データパケットをクライアントノードからローカルネットワーク内の少なくとも1つのノードにルーティングするように構成されている。
更に別の実施の形態によれば、ネットワークを介するデータのルーティング方法は、複数のノードを有しているローカルネットワーク内の少なくとも1つのノードにアクセスするクライアントノードからセッションリクエストを受信し、また、クライアントノードからクライアント証明書を受信する。クライアント証明書は、クライアントノードからパケットを受信する少なくとも1つのノードを指定するクライアント情報を有している。本方法は、クライアント証明書からクライアント情報を検索し、また、クライアント証明書におけるクライアント情報に基づいて、少なくとも1つのノードへの少なくとも制限的なアクセスを容易にする。
本発明の図示の実施の形態は、コンピュータ使用可能の媒体と、その媒体上のコンピュータ可読プログラムコードと、を有しているコンピュータプログラム製品として実現される。コンピュータ可読コードを、従来のプロセスに従ってコンピュータシステムによって読み出して利用することができる。
当業者であれば、以下に簡単に説明している図面と関連させて説明を行う、「図示の実施の形態の説明」の項から、本発明の種々の実施の形態の利点がより十分に明らかになる。
本発明の図示の実施の形態を使用することができる、仮想の従来技術のネットワークを概略的に示す。 本発明の図示の実施の形態によって使用することができる、従来技術のメッセージのフラグメンテーションを概略的に示す。 本発明の図示の実施の形態を実現することができる、一般的な従来技術のインターネットを概略的に示す。 本発明の図示の実施の形態を実現することができる、より特定のタイプのインターネットを概略的に示す。 本発明の図示の実施の形態に従って構成されているエッジルータの種々の部分を概略的に示す。 本発明の図示の実施の形態による、サーバへのアクセスのプロセスを示す。 本発明の図示の実施の形態に従って作成された、ディジタル証明書の一例を示す。 本発明の図示の実施の形態に従って作成された、ディジタル証明書の一例を示す。
図示の実施の形態においては、ネットワークデバイスは、遠方のクライアントから到来するデータメッセージを、クライアントのディジタル証明書内のクライアント固有情報に基づいて局所的にルーティングする。そのために、クライアントのディジタル証明書は、付加的な情報、例えばクライアントの識別子を識別する情報と、ルーティングネットワークデバイスのローカルネットワーク内の特定のデバイスにアクセスする際の、その固有のクライアントのポリシー/許可と、を有している。
従って、クライアントの検証/認証後に、ネットワークデバイスは、クライアントパケットを自身のローカルネットワーク(例えば自身のローカルエリアネットワーク)内で、クライアントディジタル証明書におけるクライアント情報に応じてルーティングする。従って、クライアントは、ディジタル証明書におけるクライアント情報によって指定された通りに、事前に選択されたネットワークデバイスにのみアクセスすることができる。更に、クライアントは、クライアント証明書内のポリシー情報に基づいて、それらの事前に選択されたネットワークデバイスに対する特定の特権だけを有することができる。図示の実施の形態を下記において詳述する。
ネットワーク
図示の実施の形態は、好適には、従来のコンピュータネットワークにおいて実施されている。特に、ネットワークは、少なくとも2つのノードと、ノード間の少なくとも1つのリンクと、を含んでいる。ノードは、(ホスト又はデバイスと称する場合もある)コンピューティングデバイス及びルータを含むことができる。コンピュータには、パーソナルコンピュータ、スマートフォン、テレビジョン・セットトップボックス、現金自動預け払い機(ATM)、並びに、プロセッサ及びネットワークインタフェースを含んでいるその他の多くのタイプの装置が含まれる。リンクは、ノードペア間の有線式及び無線式のコネクションを含んでいる。更に、ノード及び/又はリンクを、完全にソフトウェアとして実施することができ、例えば仮想マシン、ソフトウェア定義ネットワーク(SDN:Software Defined Network)において、また、ネットワーク機能の仮想化(NFV:Network Function Virtualization)を使用して実施することができる。多くのネットワークは、スイッチを含んでおり、それらのスイッチの大部分は、この議論に関してトランスペアレント(透過性)である。しかしながら、幾つかのスイッチは、ルーティング機能も実施する。ここでの議論に関して、そのようなルーティングスイッチはルータとみなされる。ルータについては下記において説明する。
ノードを、1つ又は複数のその他のノードと、それぞれ個別のリンクを介して直接的に接続することができる。例えば、図1には、ノードAがリンク1を介してノードBに直接的に接続されていることが概略的に示されている。所定のネットワークにおいて(例えば、ローカルエリアネットワーク内では)、各ノードは、データの送信及び受信を容易にするためのユニークなネットワークアドレスを有している。ネットワークは、ネットワークのアドレッシングスキームに従ってネットワーク内でアドレッシング可能な全てのノードと、ネットワークのアドレッシングスキームに従って通信を行うためにノードを相互接続する全てのリンクと、を含んでいる。例えば、図1においては、ノードA、ノードB、ノードC〜ノードF及び全てのリンク1〜8が一緒になって1つのネットワーク100を形成している。簡略化のために、ネットワークを、1つのクラウドとして、又は、1つのクラウド内に含まれるものとして示すことができる。しかしながら、クラウドは存在しないということが、複数のノード及び複数のリンクの集合体はネットワークではないということを意味しているわけではない。例えば、複数の比較的小さいネットワークから1つのネットワークを形成することができる。
各ノードは、ネットワークを介してその他のノードとの通信を開始することができ、また各ノードは、ネットワークを介してその他のノードによって開始された通信を受信することができる。例えば、ノードは、直接的に接続されているノード(隣接ノード)に、その隣接ノードと相互接続されているリンクを介してデータ(メッセージ)を送信することによって、そのデータ(メッセージ)を伝送/転送/送信することができる。メッセージは、送信ノードのネットワークアドレス(「送信元アドレス」)と、意図されている受信ノードのネットワークアドレス(「宛先アドレス」)と、を含んでいる。送信ノードは、メッセージを非隣接ノードに、1つ又は複数のその他の介在ノードを介して送信することができる。例えば、ノードDは、ノードFにノードBを介してメッセージを送信することができる。周知のネットワーキングプロトコルを使用して、送信元ノードと宛先ノードとの間に存在する(1つ又は複数の)ノードは、メッセージがその宛先ノードに到達するまで、メッセージを転送する。従って、適切に動作するために、ネットワークプロトコルは、各ノードによる、そのネットワーク内の非隣接ノードのネットワークアドレスの学習又は発見を実現する。
ノードは、プロトコルに従って、例えば公知のインターネットプロトコル(IP:Internet Protocol)及び伝送制御プロトコル(TCP:Transmission Control Protocol)に従って、ネットワークを介して通信を行う。プロトコルは、典型的には、例えば周知の7層オープンシステム接続(OSI:Open System Interconnect)モデルに従って、階層化されたソフトウェアコンポーネント及び/又はハードウェアコンポーネントによって実施されている。一例として、IPはOSIのレイヤ3(ネットワーク層)で機能し、その一方、TCPは大部分がOSIのレイヤ4(トランスポート層)で機能する。各層は、論理的な機能を実施し、また自身より下位の層を抽象化し、従って下位層の詳細を隠す。
例えば、レイヤ3は、レイヤ2(データリンク層)が1つの大きいメッセージを1回の伝送で処理できない場合には、そのメッセージの、複数のより小さいパケットへのフラグメント化を実施することができる。図2には、複数の部分202、204、206、208、210及び212に分割された大きいメッセージ200が概略的に示されている。この場合、各部分202〜212を、パケット214によって例示されている個別のパケットとして送信することができる。各パケットは、ペイロード216によって例示されているペイロード(本体)部分と、参照番号218によって例示されているヘッダ部分と、を含んでいる。ヘッダ部分218は、(1)パケットのその宛先へのルーティング、(2)メッセージのパケットの再組み立て、及び、(3)プロトコルに従って提供されるその他の機能、のために必要とされる又は望まれる情報、例えばパケットの送信元アドレス、宛先アドレス及びパケットシーケンス番号を含んでいる。幾つかのケースにおいては、例えばペイロード又はパケット全体のチェックサムを実施するために、ペイロードにトレーラ部分も付加されている。メッセージの全てのパケットが同一の経路に沿って送信される必要はない。つまり、それらのパケットの共通の宛先への経路において同一のノードを通過する必要はない。IPパケットは、正式にはIPデータグラムと称されるが、それらは一般的には単純にパケットと称されていることを言及しておく。
その他の幾つかのプロトコルも、データの複数のパケットへのフラグメント化を実施する。例えば、TCPは、データの複数のセグメントへのフラグメント化を実施する。セグメントは、正式には、TCPプロトコルデータユニット(PDU:Protocol Data Unit)と称される。それにもかかわらず、一般的には、PDU及びデータグラムを表す際に、またイーサネットフレームを表す際にパケットという用語が用いられている。
プロトコルの多くは、上位の階層のプロトコルのパケットのカプセル化を実施する。例えば、IPは、IPパケットを生成するために、TCPパケットにIPヘッダを付加することによって、TCPパケットのカプセル化を実施する。従って、下位の階層において送信されたパケットは、パケット内のパケットから成るものであると考えられる。通常の場合、あるプロトコルに従って動作するコンポーネントは、同一のプロトコルに従って動作する別のコンポーネント、典型的には別のノード内の別のコンポーネントによって生成されたヘッダ及び/又はトレーラ内の情報しか検査又は変更しない。つまり、一般的には、あるプロトコルに従って動作するコンポーネントは、その他のプロトコルによって生成されたパケットの部分を検査又は変更しない。
階層プロトコルによって提供される抽象化の別の例では、幾つかの層がアドレスを変換する。幾つかの層は、層固有のアドレッシングスキームを含んでいる。例えば、リンクの各端部は、実際の(例えば電子的な)インタフェース又は仮想のインタフェース、例えばイーサネットインタフェースを介してノードに接続されている。レイヤ2(データリンク層)では、各インタフェースがアドレスを、例えばメディアアクセスコントロール(MAC:Media Access Control)アドレスを有している。その一方で、IPを使用するレイヤ3では、各インタフェースが、又は少なくとも各ノードがIPアドレスを有している。レイヤ3は、IPアドレスをMACアドレスに変換する。
典型的に、ルータは2つ又はそれ以上の個別のネットワーク、若しくは、単一のネットワークの2つ又はそれ以上のサブネットワーク(サブネット)を相互接続するノードとして機能する。これによって、「複数のネットワークから成る1つのネットワーク」(即ち、1つのインターネット)が形成される。従って、ルータは、少なくとも2つのインタフェースを有しており、各インタフェースは、図3に例示されているように、ルータを異なるネットワークに接続する。ルータは、一方のインタフェースを介して一方のネットワークからパケットを受信すると、自身のルーティングテーブルに記憶されている情報を使用して、そのパケットを他方のインタフェースを介して他方のネットワークに向ける。ルーティングテーブルは、ネットワークとネクストホップとの関連性を含んでいる。それらの関連性は、最終的な宛先への経路上のネクストホップを表している特定のルータにパケットを送信することによって、特定の宛先に最適に到達できることをルータに知らせる。例えば、第1のルータ300が自身の第1のインタフェース304を介して、第1のネットワーク302からパケットを受信し、且つ、そのパケットの宛先が第3のネットワーク306内のあるノードに指定されている場合には、第1のルータ300は、自身のルーティングテーブルを参照して、自身の第2のインタフェース308を介して第2のネットワーク310にパケットを転送する。続けて、第2のネットワーク310は、パケットを第3のネットワーク306に転送する。ネクストホップの関連性を、最終的な宛先への出力(出口)インタフェースとしてルーティングテーブルに示すこともできる。
大規模な組織、例えば大企業、商用データセンタ及び電気通信事業者は、内部トラフィックの送信のために、階層構造のルータのセットを使用することが多い。例えば、1つ又は複数のゲートウェイルータによって、各組織のネットワークと、1つ又は複数のインターネットサービスプロバイダ(ISP:Internet Service Provider)と、を相互接続することができる。またISPは、自身の顧客のゲートウェイ間のトラフィックの送信のために階層構造のルータを使用して、その他のISPとの相互接続及びインターネットバックボーンにおけるコアルータとの相互接続を実現する。
ルータは、その主たる転送の判断に関して、レイヤ3IPパケットにおける情報、特に宛先IPアドレスを基礎としているので、レイヤ3デバイスとみなされる。従来のルータは、パケットが運ぶ実際のデータコンテンツ(即ち、カプセル化されたペイロード)を参照しない。その代わりにルータは、単に、転送の判断を行うためのレイヤ3アドレスと、オプションとして、サービス品質(QoS:Quality of Service)要求のようなヒントに関するヘッダにおけるその他の情報と、だけを見る。パケットが転送されると、従来のルータは、パケットに関する履歴情報を保持しない。しかしながら、ルータがそのように構成されている場合であっても、統計的なデータを生成するために転送活動を収集することはできる。
従って、IPネットワークは、特にこの履歴情報を保持しないことから、「ステートレスな」ネットワークとみなされる。例えば、IPネットワークは一般的に、各リクエストを、以前のいずれのリクエストにも関係しない独立したトランザクションとして処理する。従って、ルータは、先行のパケットをどのように処理したかを顧みずに、パケットをルーティングすることができる。例えば、IPネットワークは、典型的に、新規に加わった通信パートナの状態又はセッション情報を記憶しない。例えば、ネットワークの一部が使用できない中間トランザクションになった場合には、リソースを再割り当てする必要はないか、又は、さもなければ、ネットワークの状態を固定する必要はない。その代わりに、パケットをネットワーク内のその他のノードに沿ってルーティングすることができる。
上記において述べたように、ルータは、一方のインタフェースを介して一方のネットワークからパケットを受信すると、自身のルーティングテーブルを使用して、そのパケットを他方のネットワークに向ける。表1には、基本的なIPルーティングテーブルから一般的に見て取れる情報が列挙されている。
Figure 2018514956
ルーティングテーブルを、例えばシステム管理者によって手動で埋めることができるか、又は、ルータによって動的に埋めることができる。ルータは、その他のルータと情報を交換するためにルーティングプロトコルを使用し、またそれによって、周囲のネットワーク又はインターネットのトポロジを動的に学習する。例えば、ルータは、自身の存在を(1つ又は複数の)ネットワークに通知する。より詳細には、ルータは、自身がパケットを転送できるIPアドレスの範囲をネットワークに通知する。隣接するルータは、その情報を用いて自身のルーティングテーブルを更新し、また第1のルータの(1つ又は複数のネットワーク)へとパケットを転送する自身の能力をブロードキャストする。この情報は、必要に応じて、ネットワーク内のより遠隔のルータに拡散される。動的なルーティングによって、ルータは、ネットワーク又はインターネット内の変化に、例えば増大したネットワークの輻輳、新たなルータのインターネットへの追加、及び、ルータ又はリンクのエラーに反応することができる。
従って、ルーティングテーブルは、パケットを各宛先へとルーティングするための一連の規則を提供する。パケットが到着すると、ルータは、パケットの内容を検査し、例えばそのパケットの宛先アドレスを検査し、ルーティングテーブルにおける最適な規則を発見する。その規則は、事実上、パケットを転送するためにどのインタフェースが使用されるかをルータに知らせ、またそのパケットの最終的な宛先IPアドレスへの経路上においてそのパケットが転送されるノードのIPアドレスも知らせる。
ホップ・バイ・ホップ方式のルーティングでは、各ルーティングテーブルには、到達可能な全ての宛先に関して、その宛先への経路に沿った次ノード、即ちネクストホップのアドレスが記載されている。ルーティングテーブルに矛盾がない場合を想定すれば、ネットワーク内のいずれかの場所にパケットを送信するには、パケットをその宛先の各ネクストホップへとリレーする各ルータの単純なアルゴリズムで十分である。ホップ・バイ・ホップ方式は、IPインターネットワーク層及びOSIネットワーク層の基本的な特性を表している。
従って、各ルータのルーティングテーブルは、通常の場合、パケットを、そのパケットの宛先の「比較的近くに位置する」別のルータに転送するのに十分な情報しか含んでいないので、パケットが常にその宛先へと送信されることは保証していない。ある意味において、少なくとも大部分のパケットが最終的にその宛先へと到達することを目的として、パケットは、一連のルータを辿って、各ルータにおいてその時点での最新の規則を使用して、次にどのルータを辿るかを決定することによって、自身の宛先までの自身の経路を発見している。
例えば、ルータが輻輳した場合、又は、リンクに障害が発生した場合、規則は1つのパケットの連続する2つのホップ間で、又は、1つのメッセージの連続する2つのパケット間で変化する可能性があることを言及しておく。従って、1つのメッセージの2つのパケットが異なる経路を辿る可能性があり、それどころか順番通りに到着しない可能性がある。換言すれば、パケットが送信元ノード又は起源ノードから送信される場合には、ネットワークがステートレスであることから、送信元ノードとパケットの宛先ノードとの間でパケットが取ることになる、事前に規定された経路は一般的に存在しない。その代わりに、典型的には、パケットが種々のルータを通過するときに、経路が動的に求められる。これは「自然なルーティング」と称することができる。つまり、パケットがインターネットを通過するときに、経路が動的に求められる。
自然なルーティングが長年にわたり上手く機能しているにもかかわらず、この自然なルーティングは欠点を有している。例えば、1つのセッションの各パケットが異なる経路に沿って伝播する可能性があり、また異なるルータのセットを通過する可能性があるので、セッションに関するメトリックを収集することは困難である。セッションのパケットに適用することができるセキュリティ機能を広範囲にわたり分散させなければならず、また、そのようなセキュリティ機能が全てのパケットに適用されないリスクも考えられる。更に、セッションへの攻撃が多くの場所から開始される可能性がある。
通常の場合、宛先ノードから再び送信元ノードへと送信されるパケットは、送信元ノードから宛先ノードへと送信されたパケットとは異なる経路を辿る可能性があることを言及しておく。
多くの状況において、クライアントコンピュータノード(「クライアント」)は、サーバコンピュータノード(「サーバ」)とセッションを確立し、またクライアントとサーバは、そのセッション内でパケットを交換する。例えば、ブラウザを実行しているクライアントは、従来のプロセスを使用して、ウェブサーバとのセッションを確立することができる。クライアントは、ウェブページをリクエストするために1つ又は複数のパケットを送信することができ、またウェブサーバは、ウェブページのコンテンツを含んでいる1つ又は複数のパケットでもって応答することができる。幾つかのタイプのセッションでは、パケットの往復的な交換を複数回のサイクルにわたり継続することができる。幾つかのタイプのセッションでは、パケットを2つのノード間で非同期的に送信することができる。下記において説明するように、周知のプロトコル、例えばセキュア・ソケット・レイヤ・プロトコル(「SSL」:Secure Sockets Layer Protocol)又はトランスポート・レイヤ・セキュリティ・プロトコル(「TLS」:Transport Layer Security Protocol)を使用して、インターネットを介するセキュアなセッションを提供するために、このハンドシェイクを実施することができる。
セッションは、その通常の意味を有している。つまり、セッションとは、プロトコルに従って一方のノードから他方のノードへと送信される、各パケットが関連付けられている複数のパケットである。セッションは、そのセッションを開始する先行パケット(又は最初のパケット)と、そのセッションの1つ又は複数の後続パケットと、を含むものと考えられる。セッションには、明確な開始及び明確な終了が存在する。例えば、TCPセッションは、SYNパケットによって開始される。幾つかのケースにおいては、1つの所定のパケット又は一連のパケットによって、終了を規定することができる。例えば、TCPセッションを、FIN交換によって又はRSTによって終了させることができる。その他のケースにおいては、少なくとも事前に規定された長さの時間(タイムアウト時間)にわたり、ノード間で通信が行われないことによって終了を規定することができる。例えば、TCPセッションを、所定のタイムアウト期間後に終了させることができる。幾つかのセッションは、一方のノードから他方のノードへと送信されるパケットしか含んでいない。その他のセッションは、ウェブクライアントとサーバとのインタラクションの例のように、応答パケットを含んでいる。1つのセッションは、プロトコルに従った、何サイクルもの往復的な通信又は非同期的な通信を含むことができるが、しかしながら、1つのセッションの全てのパケットは、ノードの同一のクライアントとサーバのペア間で交換される。ここでは、セッションを一連のパケット(パケットシリーズ)とも称する。
単一IPアドレスを有しているコンピュータは、種々のサービス、例えばWebサービス、Eメールサービス及びファイル転送(FTP:File Transfer Protocol)サービスを提供することができる。一般的に、各サービスには、コンピュータ上でユニークである、0〜65,535の範囲のポート番号が割り当てられている。従って、サービスは、ノードのIPアドレスとサービスのポート番号との組み合わせによって規定されている。この組み合わせは、コンピュータが接続されているネットワーク内でユニークであり、またインターネット内でもユニークであることが多いことを言及しておく。同様に、単一のノードにおいて多数のクライアントを実行することができる。従って、サービスをリクエストするクライアントには、そのクライアントのノードにおけるユニークなポート番号が割り当てられているので、サービスからの戻りパケットを、リクエストを行ったクライアント宛てに一意に送ることができる。
ソケットという用語は、IPアドレスとポート番号との組み合わせを意味している。従って、各サービスは、ネットワーク固有の、またインターネット固有であることも多いサービスソケットを有しており、サービスをリクエストするクライアントには、ネットワーク固有の、またインターネット固有である場合もあるクライアントソケットが割り当てられている。ところによっては、送信元クライアント及び宛先サービスという用語は、サービスをリクエストするためにパケットを送信するクライアント及びリクエストされているサービスをそれぞれ表す際に使用される。
ネットワークのセキュリティ及び制御
上記において述べたように、ハッカーは、ネットワーク内のノードへの承認されていないアクセスを得ることを頻繁に試みている。実際のところ、ハッカーの中にはネットワークに正当にアクセスする者もおり、そのようなハッカーは、故意にアクセスする場合よりもネットワークデバイスの操作に関してより高い自主性を有している。そのような認証されたケースは、破局的な結果をもたらす虞がある。図4には、ハッカーがローカルネットワーク内のノードへのアクセスを得ることを試みる可能性がある、より特定のタイプのネットワークが概略的に示されている。図示されているように、ネットワークは、クライアントノード/デバイス400(単純に「クライアント400」と表されている)、例えばクライアントコンピュータを含んでおり、このクライアント400は、インターネット404を介してローカルネットワーク内の複数のアプリケーションサーバ(全体として「アプリケーションサーバ402」と表されている)のうちの1つにアクセスすることを試みる。例示を目的として、ローカルネットワークは、従来のデータセンタ内のローカルエリアネットワークである。勿論、当業者であれば、データセンタ及びアプリケーションサーバ402についての考察は単なる例であって、その他のトポロジ又はその他のネットワーク装置が本発明の図示の実施の形態を実践できることが分かる。
従って、ローカルネットワーク又はこの例ではデータセンタは、上述の複数のアプリケーションサーバ402を有しており、それらのアプリケーションサーバ402により、遠方のノード/ネットワークデバイスに、例えばクライアント400に情報が提供される。この例では、データセンタは、「N」個のアプリケーションサーバ402を有しており、この数Nは、数ダース、数百又は数千の実際の及び/又は仮想のサーバを表すことができる。とりわけ、アプリケーションサーバ402は、種々の小売店、インターネットサービス、ソーシャルメディアサイト、アプリケーションサービスプロバイダ等のためのウェブサーバとして機能することができる。
この実施の形態におけるデータセンタは、遠方のノード(例えばクライアント400)とデータセンタ内のノードとの間でデータを受信及び転送するための1つ又は複数のエッジノード(この例においては「エッジルータ406」と表されている)を有するように構成されている。換言すれば、エッジルータ406は、ローカルネットワークと、インターネット404又はその他の(例えばワイドエリアネットワークを形成している)近接ネットワークにおける遠方のデバイスと、の間のデータトラフィックを管理する。
そのために、ローカルネットワークは、データセンタ内のネットワークトラフィックを受信及び転送するための複数の付加的なノード/ネットワークデバイス、例えばルータ及びスイッチ(ここでは全体として「ルータ408」と表されている)も有している。図示の実施の形態においては、エッジルータ406及びその他のローカルネットワークルータ408は、レイヤ3プロトコルを使用して、例えばIPプロトコルを使用して、パケットを、エッジルータ406及びアプリケーションサーバ402に伝送するか、又は、エッジルータ406及びアプリケーションサーバ402から受信する。エッジルータ406は、インターネット404及びそのインターネットサービスプロバイダ(ISP)との直接的で物理的なリンクを有していることも多いが、幾つかの実施の形態では、エッジルータ406とインターネット404との間に、その他のデバイスが物理的に配置されている場合もあることを言及しておく。
図5には、エッジルータ406と、ネットワークへのトラフィック及びネットワークからのトラフィックを管理するための、エッジルータ406の幾つかの内部コンポーネントと、が概略的に示されている。図示されているように、エッジルータ406は、その他のネットワークデバイス、例えば自身が属するデータセンタ内のルータ408及び自身が属するローカルネットワーク外のデバイス、例えばインターネット404上のデバイス(例えばクライアント400)に接続するためのインタフェース500を有している。インタフェース500は、データパケットの受信又は伝送のため、若しくは受信及び伝送の両方のための、1つ又は複数の物理的な又は仮想のインタフェースを含むことができる。
相応にして、エッジルータ406は、本発明の種々の実施の形態によって規定された上述のやり方で、データパケットをルーティングするための、ローカルルーティング装置(ここでは単に「ルータ502」と表されている)も有している。特に、下記において図6を参照しながらより詳細に説明するように、ルータ502は、クライアントのディジタル証明書内に存在しているクライアント情報に依存して、データパケットのルーティングを制御する。実際には、下記において説明するように、種々の実施の形態は、クライアント400が適切に認証されない限りは、クライアントデータパケットをルーティングしない。従って、エッジルータ406は、クライアント400の識別子を検証するためのオーセンティケータ504も有している。図示の実施の形態は、当業者には公知の種々のやり方のうちのいずれかによって、例えばハードウェア、ソフトウェア、ファームウェア又は当業者には公知のその他の手段として、ルータ502、オーセンティケータ504及び(1つ又は複数の)インタフェース500を実現することができる。勿論、それらの実現形態は、それらの所望の機能に一致すべきである。それらの実施については、下記において図6を参照しながら説明する。
それらの各エッジルータコンポーネントを、当業者にとって適切であると考えられる種々のやり方のうちのいずれかによって、相互に接続することができる。図5には、そのようなコネクションが、参照番号506が付されている単純なバスとして概略的に示されている。勿論、当業者であれば、エッジルータ406の種々の実施の形態が、同様のバス設計に限定されるものではないことが分かる。
上記において述べたように、ハッカーは、データセンタ内のアプリケーションサーバ402へのアクセスを試みる可能性がある。それらのハッカーによるアクセスの試みは、ローカルネットワークの外側から開始されるか、又は(例えばゲストアクセスを使用して、例えばログインID及びパスワードを使用して)ネットワーク内から開始されると考えられる。上記において述べたように、ハッカーの中には、アプリケーションサーバ402へのセキュアコネクションを実現する特権を、合法に又は違法に取得できる者もおり、それによって、アプリケーションサーバ402が悪用される。ロバストなセキュリティ対策が採られていなければ、そのようなハッカーは、重大な問題を引き起こす可能性がある。図示の実施の形態は、複数あるアプリケーションサーバ402のうちのいずれかへのアクセスを試みる認証されたクライアント400に対して、更に制限を課すことによって、そのようなリスクを緩和する。そのために、図6には、本発明の図示の実施の形態による、そのようなセキュリティ対策を提供するプロセスが示されている。このプロセスは、(1つ又は複数の)サーバにアクセスするために通常使用される、より長いプロセスに比べて大幅に簡略化されている。従って、このプロセスは、当業者が使用する見込みが高いその他のステップを、例えば更なる検証ステップを含むことができる。更に、幾つかのステップを、図示されている順序とは異なる順序で実施することができるか、又は、同時に実施することができる。従って、当業者であれば、このプロセスを適宜変更することができる。
図6は、周知のトランスポート・レイヤ・セキュリティ(「TLS」)プロトコルを使用する種々の実施の形態を説明するものである。実際のところ、図6のプロセスは、今日使用されているTLSハンドシェイク相互認証プロセスの大部分と広範にわたり協働する。勿論、当業者であれば、TLSについての考察は単なる例であって、本発明の全ての実施の形態を制限することを意図するものではないことが分かる。従って、図示の実施の形態は、ネットワークを介する、例えばインターネット404を介するセキュアコネクションを提供するように構成されている、その他の公知のセキュリティプロトコル及び暗号化プロトコルに適用される。
プロセスは、ステップ600において開始され、このステップ600では、エッジルータ406が周知の「Hello」メッセージをクライアント400から受信する。従って、このメッセージには、種々のデータが付随しており、例えばSSLのヴァージョン、サポートしている暗号、セッション固有のデータ等が付随している。エッジルータ406は、自身の固有の「Hello」メッセージでクライアント400に応答し、類似のデータをクライアント400に送信する(ステップ602)。例えば、クライアント400へのSSLのヴァージョン、サポートしている暗号、セッション固有のデータ等に加えて、このHelloメッセージは、サーバ証明書、(クライアント証明書を実際に要求する)相互認証リクエストも含んでおり、またオプションとして鍵交換も含んでいる。この時点において、認証が開始され、従って、最初のハンドシェイクプロセスとみなせるプロセスが完了する。
エッジルータ406からHelloメッセージを受信すると、クライアント400は、より多くのデータを、例えばクライアント証明書をエッジルータ406に転送する(ステップ604)。TLSによって規定されているように、このクライアント証明書は、好適には先ず「クリアな」フォーマットで送信される(即ち暗号化は行われない)。プロセスのこの時点において、エッジルータ406は、クライアント証明書が最初に認証/検証されたと判断することができる。認証/検証された場合、認証プロセスが継続される。認証/検証されなかった場合、クライアント400からの全ての伝送をブロックすることによって、プロセスを終了することができる。
この時点において検証が行われる場合、オーセンティケータ504は、TLSによって規定されているような従来のやり方で、ハンドシェイクプロセスを継続する。例えば、クライアント鍵交換(セッションに関するプリマスタシークレット(premaster secret)、サーバ公開鍵によって暗号化されている)の後に、続いてクライアント400は、自身のクライアント証明書検証(「CCV」:Client Certificate Verify)メッセージを送信し、エッジルータ406に対して、クライアント400がクライアント証明書における公開鍵に対応する秘密鍵を所有していることを証明することができる。そのために、クライアント400は、クライアントのHelloメッセージからCCVメッセージまでの間に、2つのデバイス間で送信又は受信された全てのTLSハンドシェイクメッセージ(但しCCVメッセージは除く)のハッシングによってCCVメッセージを生成する。
エッジルータ406は、Helloメッセージの同一のセットに対してハッシュを再計算するために、公開鍵を使用してCCVメッセージの署名を検証する。当業者には公知のように、このことは、秘密鍵が、対応する公開鍵を用いて検証することができる署名を生成することができる唯一の鍵であることから実現可能である。
プロセスのこの時点において、クライアント400からのデータパケットは、エッジルータ406を通過せず、それゆえ、ローカルネットワーク内のその他のいずれかのデバイス又はノードに向かっていない。このケースにおいては、エッジルータ406は、好適には、このクライアント400からの全てのパケットについての中継局として機能する。例えば、エッジルータ406は、(1つ又は複数の)アプリケーションサーバ402との静的なTLSコネクションを有することができる。それによって、指定された通りに認証及びルーティングが行われるまでは、いずれのデータパケットもTLSコネクションを介してアプリケーションサーバ402に到達することはできない。
しかしながら、その他の実施の形態では、クライアント400から1つ又は複数の限定的なパケットを、例えばHelloメッセージを転送することができる。このことは、勿論、認証プロセスのフローに依存する。例えば、クリアなクライアント証明書を受信すると、エッジルータ406は、先ずクライアント証明書を検証することができ(例えば、とりわけ署名を確認することができ)、またHelloメッセージを複数あるアプリケーションサーバ402のうちの1つ又は複数へと伝送することができる。この実施の形態においては、それにもかかわらず、エッジルータ406は、最終的な検証認証ステップが終了するまで(例えば鍵交換及びクライアント証明書検証プロセス後まで)は、クライアント400からの相当数のデータパケットをルーティングしない。
認証プロセスが完了すると、最終的なハンドシェイクプロセスを終了することができる。特に、プロセスは、オーセンティケータ504がクライアント400を認証したか否かを確認する(ステップ606)。オーセンティケータ504がクライアント400を認証できなかった場合には、このセッションにおいて、エッジルータ406は、後続のデータパケットがこのエッジルータ406のインタフェース500を介して、データセンタ内のその他のいずれかのデバイスへと伝送されることをブロックする(ステップ608)。
それとは異なり、オーセンティケータ504によるクライアント400の認証が成功した場合には、プロセスはステップ610及び612に進み継続される。特に、ステップ610においては、エッジルータ406が、クライアント証明書における情報を使用してクライアントデータパケットをルーティングし、またステップ612においては、受信ノード/アプリケーションサーバ402が、クライアント証明書に由来するポリシーを適切に適用する。
特に、セッションのリクエストに先行して、ローカルネットワークに関連付けられたエンティティは、認証局と共に、クライアント証明書をクライアント400に対して発行する。図7A及び図7Bには、本発明の図示の実施の形態に従い構成されているクライアント証明書の一例が概略的に示されている。証明書は、必須の標準、例えば広範に使用されているX.509標準に準拠する、従来の証明書における情報と大部分が同一の周知の情報を有している。例えば、証明書はとりわけ、ヴァージョン番号、シリアル番号、アルゴリズムID、発行者名、有効期限及びサブジェクト(主体者)公開鍵情報を有している。
しかしながら、それらの目的のために使用されるその他の証明書とは異なり、このクライアント証明書は、ローカルネットワーク内でクライアントデータパケットをルーティングするための付加的なクライアント情報も含んでいる。特に、図7Aに示されているように、クライアント証明書は、クライアント400及びクライアント400の制御について認証された人間の詳細を識別するサブジェクト行(subject line)を有している。図7Aではサブジェクト行に明示的に下線を引いているが、多くの実施の形態では、この情報に下線が引かれることは求められないことを言及しておく。その代わりに、図7Aでは単に強調を目的として、この行に下線が引かれている。図7Bにおいても同様に、単に強調を目的として、テキスト(ポリシー情報、下記において説明する)に下線が引かれている。
とりわけ、この例におけるサブジェクト行は、クライアント400の国、州及びオフィス名、並びに、特定のユーザの職務上の所属部署、氏名及びEメールアドレスを含んでいる。このケースにおいては、ユーザは、John Smithであり、Eメールアドレスsmith@128technology.comを有している。Smith氏は、アメリカ合衆国のマサチューセッツにある128Technologyのオフィスに在籍しており、また、技術部(Engineering Department)に所属している。ここでは、このサブジェクト情報を「識別情報」と表すことができ、この情報によって、クライアントノード400及びこのクライアントノード400の使用について認証された人間が識別される。確かに、当業者であれば、より多くの識別情報又はより少ない識別情報、若しくは異なる情報を含ませることができる。例えば、識別情報は、付加的又は択一的に、都市情報又は市町村情報、郵便番号情報、電話情報、2人以上の人間の情報、2個所以上のオフィス又は部署、クライアントデバイスの種類(例えばタブレット、パーソナルコンピュータ、ルータ等)、若しくは、特定の用途にとって有用なその他の種類の情報を含むことができる。
ステップ610は、好適には、ローカルネットワーク内でクライアントパケットをルーティングするために、この識別情報を使用する。例えば、この識別情報プロファイルを有しているクライアント400は、アプリケーションサーバ2にのみアクセスすることができ、従って、ローカルネットワーク内のその他のアプリケーションサーバ402にはアクセスできない。従って、エッジルータ406のルータ502は、クライアント400からのデータパケットをアプリケーションサーバ2に転送/ルーティングするが、その他のアプリケーションサーバ402には転送/ルーティングしない。別の例として、この識別情報プロファイルを有しているクライアント400は、アプリケーションサーバ1及びアプリケーションサーバ2にのみアクセスすることができるか、又は、ローカルネットワーク内の1つのアプリケーションサーバを除いた全てのアプリケーションサーバ402にアクセスすることができる。更に別の例として、クライアント400は、ネットワーク上の全てのアプリケーションサーバ402にアクセスすることができる。
クライアント400に対して許可されるアクセスは自由裁量である。例えば、データセンタは、数百、数千又は数百万のクライアント400と、アクセスについての合意を別個に結ぶことができる。ネットワーク管理者又はその他の類似の権限者は、特定の各クライアント400に対してアクセスルーティングを適用するためにエッジルータ406をプログラムすることができる。
図示の実施の形態においては、クライアント証明書は、仮想の又は実際のデバイスに固有のものである。従って、この例では、単一のユーザが、そのユーザがセッションを開始するために使用するマシンに依存して、異なるアプリケーションサーバ402に対する異なるアクセス権を有することができる。John Smith氏は、例えば、自身のラップトップコンピュータを使用する場合には、ローカルネットワーク内の1つのアプリケーションサーバ402(例えばアプリケーションサーバ1)に対するアクセス権を有することができ、また、自身のデスクトップコンピュータを使用する場合には、ローカルネットワーク内の別のアプリケーションサーバ402(例えばアプリケーションサーバ2)に対する別のアクセス権を有することができる。しかしながら、その他の実施の形態では、そのようなことは要求されない。
証明書は、別の機能性に関する、又は、上記のルーティング機能性及び/又は検証機能性を強化するための、その他の種類のクライアント情報も有することができる。このケースにおいては、クライアント証明書は、クライアント400がローカルネットワーク内の(1つ又は複数の)ノードにアクセスする際に所定の一連の特権を有することを許可するポリシー情報も有している。特に、この例において、図7Bには、このポリシー情報が「X.509v3 Certificate Policies」と表されており、また、複数のポリシーが、つまりPolicy:1.2.3.4.5及びPolicy:1.2.3.4.6が挙げられている。
ローカルネットワーク内のロジック(例えばアプリケーションサーバ402)は、それらの列挙されたポリシーを、クライアント400に対する特定の権限に変換する。それらのポリシーを任意のやり方で強制/実現することができる。特に、幾つかの実施の形態においては、ポリシーは、(認証後に)最初のデータパケットと共にアプリケーションサーバ402に転送される。従って、受信アプリケーションサーバ402におけるロジックは、所定のクライアント400に関するポリシーを読み出して実現する。
当業者であれば、広範な種々の使用に関して、証明書のポリシー行を使用することができる。例えば、第1のポリシーは、このクライアント400がアプリケーションサーバ1の技術部セクションにのみアクセスできることを指定することができ、またその一方で、第2のポリシーは、このクライアント400が128Technologyの顧客のただ1つのセットの技術部にアクセスできることを指定することができる。
別の例として、アプリケーションサーバ402は、大規模な食品雑貨店チェーンであってよく、またクライアント400は、食品雑貨店チェーンにサービスを提供する製品納入業者であってよい。そのようなケースでは、第1のポリシーは、製品納入業者がそのアプリケーションサーバ402の製品セクションにのみアクセスできることを指定することができ、またその一方で、第2のポリシーは、この特定のクライアント400が計画されている製品販売に関するデータにのみアクセスできることを表すことができる。従って、このクライアント400は、食品雑貨店のその他の製品納入業者に関する納入業者データ、顧客リスト、食品雑貨店チェーンの内部会計部門情報等にアクセスすることはできない。更なる権限は見込まれない又は許可されない。当業者であれば、広範な多岐にわたる許可/ポリシーのうちのいずれかを指定することができ、従って、上記に挙げた許可/ポリシーは、単に種々の実施の形態の一例に過ぎない。ネットワーク管理者又はローカルネットワーク内のその他の権限者は、必要に応じてポリシーを設定、変更及び終了することができる。更に、証明書は、2つより少ない数(例えば0又は1)のポリシーを有することができるか、又は、必要であれば3つ以上のポリシーを有することもできる。
代替的な実施の形態においては、オーセンティケータ504は、認証プロセスの一部としてクライアント情報を使用する典型的な認証プロセスとは異なる認証プロセスを実施することができる。同様に、幾つかの実施の形態は、識別情報及びポリシー情報の両情報を使用して、エッジルータ406はクライアント400のデータパケットをどこにルーティングすべきかを指定することができる。例えば、ポリシー情報は、午前8時から午後5時までの間は、アプリケーションサーバ1がクライアント400からパケットを受信でき、その他の時間では、アプリケーションサーバ2がクライアント400からパケットを受信できることを指定することができる。
更に幾つかの実施の形態は、ポリシー情報のみを使用して、アプリケーションサーバ402にデータをルーティングすることができる。即ち、ポリシー情報は、固有にルーティング情報を有することができる。例えば、第1のポリシーは、まさにこのクライアント400がアクセスすることができるアプリケーションサーバ402を、例えばアプリケーションサーバ1を精確に指定することができる。
当業者であれば、このルーティング及びポリシーの適用は、ネットワークレベルで行われることが分かる。種々の実施の形態は、更に、より高いレベル(例えばアプリケーションレベル)のセキュリティ対策を、例えばプロセスの幾つかの時点におけるアクセスに対するログイン識別子及びパスワードの要求をより一層維持する。しかしながら、その他の実施の形態では、そのようなステップは要求されない。
クライアント証明書を、種々の従来のやり方のうちのいずれかによってインストールすることができる。例えば、クライアント証明書を、コンフィギュレーションプロファイル及びiOSデバイスのモバイルデバイス管理(MDM:Mobile Device Management)能力を使用して、無線通信を経由して、iOSデバイスにインストールすることができる。更に、クライアント証明書を、Eメールの添付ファイルとして、証明書のPKCS12ヴァージョンを送信することによって、iOSデバイスにインストールすることができる。クライアント証明書を、Eメールの添付ファイルとして、クライアント証明書のPKCS12ヴァージョンを送信することによって、又は、アンドロイド固有のモバイル管理製品を介して、手動でアンドロイドデバイスにインストールすることができる。確かに、図面にはそれらのインストール方法が示されているが、種々の実施の形態を制限することは意図されていない。当業者であれば、クライアント証明書をインストールするためにその他の方法を使用することができる。
ローカルネットワークは、ローカルネットワーク内のノードへのアクセスが試みられる度に、ログを取ることができる。従って、システムは、ステートフルな情報を維持することができる。つまり、システムは、全ての試み、識別子及びその他の関連するデータを記録することができる。このシステムは、上記において参照した、本願に組み込まれる特許明細書に記載されているような、ステートレスなパケットを基礎とするシステムにおいて状態情報を使用するシステムと共に使用される場合には、特に効果的である。従って、それらのシステムを、ローカルネットワークをより効果的に維持し、またネットワークアクセスを制御するために、図示の実施の形態と統合することができる。
図示の実施の形態は、ゲストインタフェース(「ゲストユーザ」)を介してローカルネットワークにアクセスするデバイス/ユーザにも適用される。特に、多くのゲストインタフェースには、有線又は無線のコネクションを使用してローカルネットワークに接続するために、802.1Xプロトコルが実装されている。認証は、そのような種々のプロトコルのうちのいずれかに、例えばEAP−TLS又はEAP−TTSに準拠することができる。当業者には公知の広く使用されているアクセス技術によって、ゲストユーザにはログインID及びパスワード情報が提供される。例えば、ローカルネットワークは、ゲストユーザにログインID「Guest」及びパスワード「NetworkX」を提供することができる。従って、ゲストユーザは、ログインID及びパスワードを要求する単純なインタフェースを介して、ローカルネットワークに単純にログインする。セキュリティ対策が採られていない場合、ゲストは、ネットワーク上のリソースに広範にアクセスすることができる。
図示の実施の形態は、ネットワークレベルのセキュリティを提供することによって、これを制御する。このケースにおいては、上記において述べたその他の実施の形態と同様に、ローカルネットワーク又はその他の実体が、特定のゲスト証明書を、例えば上記において述べたような、また図7A及び図7Bに示されているようなゲスト証明書を、ゲストユーザに交付する。上述のように、このゲスト証明書は、ゲストユーザ固有の情報を有しており、また、ゲストユーザによるローカルネットワークへのアクセス及びローカルネットワークの使用を効果的に制限する。より詳細には、図示の実施の形態において、ゲスト証明書は、ゲストユーザの詳細を識別する1つ又は複数のサブジェクト行、及び、ゲストユーザがローカルネットワーク内の(1つ又は複数の)ノードにアクセスする際に所定の一連の特権を有することを許可するポリシー情報も含んでいる。従って、上記においてクライアント400について説明したことと同様に、ゲストユーザのアクセスは、それら2つのフィールド、即ちデバイスアクセス及びポリシーの両方によって制限される。
また図示の実施の形態は、ゲストユーザのデバイスのMACアドレス(即ち、クライアントデバイス識別子として使用されるアドレス)を、証明書に関連付ける。従って、ゲストユーザがローカルネットワークにログインした後に、エッジルータ406又は類似のノードは、ゲスト証明書のレコード及びゲストユーザのデバイスのMACアドレスを維持する。特に、幾つかの実施の形態においては、エッジルータ406は、ゲストユーザの特定の(1つ又は複数の)パケット(例えば最初のパケット)のレイヤ2ヘッダから、MACアドレスを取得することができる。
ゲストユーザがローカルネットワークからログオフし、その後、再びログインする場合、エッジルータ406又は類似のノードは、アクセスを試みるデバイスのMACアドレス及び証明書を、自身のローカルメモリに記憶されているMACアドレス及び証明書と比較することができる。それらが合致した場合、エッジルータ406は、更なるアクセスを許可する。しかしながら、それらが合致しなかった場合、エッジルータ406は、更なるネットワークアクセスを阻止する。後者のケースにおいては、ゲストユーザは、新たなログインID及びパスワードの取得、又は、新たなゲスト証明書又はオリジナルのゲスト証明書を用いた新たなデバイスの登録を要求することができる。
従って、この実施の形態においては、ゲストユーザによるローカルネットワークの使用及びローカルネットワークへのアクセスの制御に加えて、ゲスト証明書は、ローカルネットワークにアクセスして、ローカルネットワークとのセッションを開始するゲストユーザの認証を支援する。換言すれば、ゲスト証明書は、更に、ゲストユーザが正当なゲストであることを保証する。実際のところ、この実施の形態及びその他の実施の形態は、ローカルネットワークにアクセスするその他の種類のユーザにも適用される。従って、種々の実施の形態は、ローカルネットワークへのアクセスの上述の様式に制限されるものではない。
従って、種々の実施の形態は、証明書ベースの攻撃に関する検出技術を向上させ、また、それらの攻撃の影響を緩和する(理想的にはそのような攻撃を停止させる)。エッジルータ406によって実現される場合には、そのような攻撃をネットワーク内の初期のポイントで(例えば、パケットがアプリケーションサーバ402に到達する前)緩和する又は停止させることができる。従って、そのような実施の形態は、ネットワークレベルでクライアント/ユーザの証明書を検査及び実施することができ、また、不正なログインの試みを積極的に抑制することができる。アプリケーションサーバ402の保護に加えて、種々の実施の形態は、コアネットワークを攻撃から保護しつつ、コアネットワークトラフィックを大幅に低減する。
本発明の種々の実施の形態を、少なくとも部分的に、任意の慣例のコンピュータプログラム言語で実現することができる。例えば、幾つかの実施の形態を、手続き型プログラミング言語(例えば「C」)、又は、オブジェクト指向プログラミング言語(例えば「C++」)で実現することができる。本発明のその他の実施の形態を、事前構成されたスタンドアローン型のハードウェア要素及び/又は事前プログラミングされたハードウェア要素(例えば特定用途向け集積回路、FPGA及びディジタル・シグナル・プロセッサ)として、又はその他の関連するコンポーネントとして実現することができる。
1つの代替的な実施の形態においては、開示した装置及び方法(例えば上述の種々のフローチャートを参照されたい)を、コンピュータシステムを用いて使用するためのコンピュータプログラム製品として実現することができる。そのような実施の形態は、実体のある非一時的な媒体、例えばコンピュータ可読媒体(例えば、ディスケット(登録商標)、CD−ROM、ROM又は固定ディスク)に記憶されている一連のコンピュータ命令を含むことができる。一連のコンピュータ命令は、本明細書においてシステムに関して上述した機能性の全て又は一部を実施することができる。
当業者であれば、そのようなコンピュータ命令を、多くのコンピュータアーキテクチャ又はオペレーティングシステムを用いて使用するために、多数のプログラミング言語で書けることが分かる。更に、そのような命令を、任意のメモリデバイスに、例えば半導体デバイス、磁気デバイス、光学デバイス又はその他のメモリデバイスに記憶することができ、また、任意の通信技術を使用して、例えば光学伝送技術、赤外線伝送技術、マイクロ波伝送技術又はその他の伝送技術を使用して伝送することができる。
この他、そのようなコンピュータプログラム製品を、リムーバブル媒体として、印刷された文書又は電子文書と共に配布することができ(例えば市販ソフトウェア)、コンピュータシステムに(例えばシステムROM又は固定ディスクに)プリロードすることができるか、若しくは、ネットワーク(例えばインターネット又はワールド・ワイド・ウェブ)を介してサーバ又は電子掲示板から配布することができる。実際には、幾つかの実施の形態を、SaaS(Software as a Service)モデル又はクラウドコンピューティングモデルとして実現することができる。勿論、本発明の幾つかの実施の形態を、ソフトウェア(例えばコンピュータプログラム製品)とハードウェアの組み合わせとして実現することができる。本発明の更に別の実施の形態は、完全にハードウェアとして、又は完全にソフトウェアとして実現される。
上記においては、本発明の種々の実施例を説明したが、当業者であれば、本発明の真の精神から逸脱することなく、本発明の幾つかの利点を達成する種々の変更を行えることが分かる。

Claims (39)

  1. ネットワークを介してデータをルーティングする方法において、
    該方法は、
    複数のノードを有しているローカルネットワーク内の少なくとも1つのノードにアクセスするクライアントノードからセッションリクエストを受信するステップと、
    前記クライアントノードからパケットを受信する少なくとも1つのノードを指定するクライアント情報を有しているクライアント証明書を、前記クライアントノードから受信するステップと、
    前記クライアント証明書を使用して、認証プロセスを実行するステップと、
    前記クライアント証明書から前記クライアント情報を検索するステップと、
    前記認証プロセスによって前記クライアントノードが認証された場合には、前記クライアントノードから受信したデータパケットを、前記クライアント証明書における前記クライアント情報によって指定された通りに、前記ローカルネットワーク内の少なくとも1つのノードにルーティングするステップと、
    を有していることを特徴とする、方法。
  2. 前記認証プロセスによって前記クライアントノードが認証されなかった場合には、前記クライアントノードを拒否するステップを更に有している、
    請求項1に記載の方法。
  3. 前記拒否は、前記クライアントノードのパケットの、前記ローカルネットワーク内のその他のノードへのアクセスの遮断を含んでいる、
    請求項2に記載の方法。
  4. 前記クライアント情報は、前記クライアントノードを識別する識別情報を含んでいる、
    請求項1に記載の方法。
  5. データパケットのルーティングは、
    前記クライアントノードから前記データパケットを受信する前記ローカルネットワーク内の前記少なくとも1つのノードの識別子を求めるための、前記クライアント情報の使用と、
    前記クライアントノードから、識別された前記少なくとも1つのノードへのデータパケットのルーティングと、
    を含んでいる、
    請求項1に記載の方法。
  6. 認証された場合には、ルーティングは、前記クライアントノードによる前記少なくとも1つのノードへのアクセスを許可し、
    前記クライアント情報は、前記ローカルネットワーク内の前記少なくとも1つのノードにアクセスする際に前記クライアントノードに対して一連の特権を与えるポリシー情報を含んでいる、
    請求項5に記載の方法。
  7. 前記クライアント情報は、
    a)前記クライアントノードを識別する識別情報、又は、
    b)前記ローカルネットワーク内の前記少なくとも1つのノードにアクセスする際に前記クライアントノードに対して一連の特権を与えるポリシー情報、又は、
    c)前記(a)及び前記(b)の両方、
    を含んでいる、
    請求項1に記載の方法。
  8. データパケットのルーティングは、識別情報及び前記ポリシー情報の一方又は両方によって指定された通りのデータパケットのルーティングを含んでいる、
    請求項7に記載の方法。
  9. 前記ローカルネットワークは、セッションリクエストの受信、クライアント証明書の受信、検索及びルーティングのうちの少なくとも1つを実行するエッジルータを含んでいる、
    請求項1に記載の方法。
  10. 前記少なくとも1つのノードは、アプリケーションサーバを有しており、
    前記ローカルネットワークには、ローカルエリアネットワークが含まれる、
    請求項1に記載の方法。
  11. 前記ローカルネットワーク内の受信ノードは、前記セッションリクエストを受信し、
    前記方法は、前記受信ノードと、前記ローカルネットワーク内の前記少なくとも1つのノードと、の間に静的なコネクションを維持するステップを、更に有しており、
    ルーティングは、前記静的なコネクションに沿った、前記クライアントからのデータパケットのルーティングを含んでいる、
    請求項1に記載の方法。
  12. 前記セッション中に、前記クライアントノードと、前記ローカルネットワーク内の前記少なくとも1つのノードと、の間でハンドシェイクプロセスは実施されない、
    請求項11に記載の方法。
  13. 前記証明書を受信する前に、前記クライアントノードと前記少なくとも1つのノードとの間での、最初のハンドシェイクプロセスを許可するステップと、
    前記認証プロセスによって前記クライアントノードが認証された場合には、前記クライアントノードと少なくとも1つのノードとの間での、最後のハンドシェイクプロセスの完了を許可するステップと、
    を更に有している、
    請求項1に記載の方法。
  14. 認証プロセスの実行は、ゲストユーザのためのログインID及びパスワードの受信と、前記ログインID及び前記パスワードが前記ローカルネットワーク内のアクセスに対して有効であることの確認と、を含んでいる、
    請求項1に記載の方法。
  15. クライアントノードデバイスを識別するクライアントデバイス識別子を求めるステップと、
    前記クライアントデバイス識別子及び前記クライアント証明書を使用して、前記認証プロセスを実行するステップと、
    を更に有している、
    請求項14に記載の方法。
  16. 前記クライアントデバイス識別子は、MACアドレスを含んでいる、
    請求項15に記載の方法。
  17. ネットワークを介して受信したデータをルーティングするネットワークルーティングデバイスにおいて、
    該ネットワークデバイスは、
    a)複数のノードを有しているローカルネットワーク内の少なくとも1つのノードにアクセスするクライアントノードからのセッションリクエストと、b)前記クライアントノードからパケットを受信する少なくとも1つのノードを指定するクライアント情報を有している、前記クライアントノードからのクライアント証明書と、を受信するインタフェースと、
    適切に作用するように前記インタフェースに接続されており、且つ、前記クライアント証明書を検索し、前記クライアント証明書を使用して認証プロセスを実行するように構成されているオーセンティケータと、
    適切に作用するように前記オーセンティケータに接続されており、且つ、前記認証プロセスによって前記クライアントノードは認証されたか否かを前記オーセンティケータから求めるように構成されているルータと、
    を含んでおり、
    前記ルータは、更に、前記クライアントノードが認証された場合には、前記クライアントノードから受信したデータパケットを、前記クライアント証明書における前記クライアント情報によって指定された通りに、前記ローカルネットワーク内の少なくとも1つのノードにルーティングするように構成されている、
    ネットワークルーティングデバイス。
  18. 前記クライアント情報は、前記クライアントノードを識別する識別情報を含んでいる、
    請求項17に記載のネットワークルーティングデバイス。
  19. 前記ルータは、前記クライアントノードから前記データパケットを受信する前記ローカルネットワーク内の前記少なくとも1つのノードの識別子を求めるために前記クライアント情報を使用するように構成されており、
    前記ルータは、更に、クライアントデータパケットを前記クライアントノードから、識別された前記少なくとも1つのノードにルーティングするように構成されている、
    請求項17に記載のネットワークルーティングデバイス。
  20. 前記ルータは、認証された場合には、前記クライアントノードによる前記少なくとも1つのノードへのアクセスを許可するように構成されており、
    前記クライアント情報は、前記ローカルネットワーク内の前記少なくとも1つのノードにアクセスする際に前記クライアントノードに対して一連の特権を与えるポリシー情報を含んでいる、
    請求項19に記載のネットワークルーティングデバイス。
  21. 前記クライアント情報は、
    a)前記クライアントノードを識別する識別情報、又は、
    b)前記ローカルネットワーク内の前記少なくとも1つのノードにアクセスする際に前記クライアントノードに対して一連の特権を与えるポリシー情報、又は、
    c)前記(a)及び前記(b)の両方、
    を含んでいる、
    請求項17に記載のネットワークルーティングデバイス。
  22. 前記ルータは、識別情報及び前記ポリシー情報の一方又は両方によって指定された通りにデータパケットをルーティングするように構成されている、
    請求項21に記載のネットワークルーティングデバイス。
  23. 前記ルータは、前記ローカルネットワークのためのエッジルータとして構成されている、
    請求項17に記載のネットワークデバイス。
  24. ネットワークを介してデータをルーティングするための、コンピュータシステムにおいて使用されるコンピュータプログラム製品において、
    前記コンピュータプログラム製品は、有形の非一時的なコンピュータ使用可能媒体と、該媒体におけるコンピュータ可読プログラムコードと、を有しており、
    該コンピュータ可読プログラムコードは、
    複数のノードを有しているローカルネットワーク内の少なくとも1つのノードにアクセスするクライアントノードからセッションリクエストを受信するためのプログラムコードと、
    前記クライアントノードからパケットを受信する少なくとも1つのノードを指定するクライアント情報を有しているクライアント証明書を、前記クライアントノードから受信するためのプログラムコードと、
    前記クライアント証明書を使用して、認証プロセスを実行するためのプログラムコードと、
    前記クライアント証明書から前記クライアント情報を検索するためのプログラムコードと、
    前記認証プロセスによって前記クライアントノードが認証された場合には、前記クライアント証明書における前記クライアント情報によって指定された通りに、前記ローカルネットワーク内の少なくとも1つのノードに、前記クライアントノードから受信したデータパケットをルーティングするためのプログラムコードと、
    を含んでいる、コンピュータプログラム製品。
  25. 前記認証プロセスによって前記クライアントノードを認証できなかった場合には、前記クライアントノードを拒否するためのプログラムコードを更に含んでいる、
    請求項24に記載のコンピュータプログラム製品。
  26. 前記拒否するためのプログラムコードは、前記クライアントノードのパケットの、前記ローカルネットワーク内のその他のノードへのアクセスを遮断するためのプログラムコードを含んでいる、
    請求項25に記載のコンピュータプログラム製品。
  27. 前記クライアント情報は、前記クライアントノードを識別する識別情報を含んでいる、
    請求項24に記載のコンピュータプログラム製品。
  28. 前記データパケットをルーティングするためのプログラムコードは、
    前記クライアントノードから前記データパケットを受信する前記ローカルネットワーク内の前記少なくとも1つのノードの識別子を求めるために前記クライアント情報を使用するためのプログラムコードと、
    前記クライアントノードから、識別された前記少なくとも1つのノードにデータパケットをルーティングするためのプログラムコードと、
    を含んでいる、
    請求項24に記載のコンピュータプログラム製品。
  29. 前記ルーティングするためのプログラムコードによって、認証された場合には、前記クライアントノードによる前記少なくとも1つのノードへのアクセスが許可され、
    前記クライアント情報は、前記ローカルネットワーク内の前記少なくとも1つのノードにアクセスする際に前記クライアントノードに対して一連の特権を与えるポリシー情報を含んでいる、
    請求項28に記載のコンピュータプログラム製品。
  30. 前記クライアント情報は、
    a)前記クライアントノードを識別する識別情報、又は、
    b)前記ローカルネットワーク内の前記少なくとも1つのノードにアクセスする際に前記クライアントノードに対して一連の特権を与えるポリシー情報、又は、
    c)前記(a)及び前記(b)の両方、
    を含んでいる、
    請求項24に記載のコンピュータプログラム製品。
  31. 前記データパケットをルーティングするためのプログラムコードは、識別情報及び前記ポリシー情報の一方又は両方によって指定された通りにデータパケットをルーティングするためのプログラムコードを含んでいる、
    請求項30に記載のコンピュータプログラム製品。
  32. 前記ローカルネットワークは、前記セッションリクエストを受信するためのプログラムコード、前記クライアント証明書を受信するためのプログラムコード、前記検索するためのプログラムコード及び前記ルーティングするためのプログラムコードのうちの少なくとも1つを実行するエッジルータを含んでいる、
    請求項24に記載のコンピュータプログラム製品。
  33. 前記少なくとも1つのノードは、アプリケーションサーバを有しており、
    前記ローカルネットワークには、ローカルエリアネットワークが含まれる、
    請求項24に記載のコンピュータプログラム製品。
  34. 前記ローカルネットワーク内の受信ノードは、前記セッションリクエストを受信し、
    前記コンピュータプログラム製品は、前記受信ノードと、前記ローカルネットワーク内の前記少なくとも1つのノードと、の間に静的なコネクションを維持するためのプログラムコードを更に含んでおり、
    前記ルーティングするためのプログラムコードは、前記静的なコネクションに沿って、前記クライアントからのデータパケットをルーティングするためのプログラムコードを含んでいる、
    請求項24に記載のコンピュータプログラム製品。
  35. 前記セッション中に、前記クライアントノードと、前記ローカルネットワーク内の前記少なくとも1つのノードと、の間でハンドシェイクプロセスは実施されない、
    請求項34に記載のコンピュータプログラム製品。
  36. 前記証明書を受信する前に、前記クライアントノードと前記少なくとも1つのノードとの間での、最初のハンドシェイクプロセスを許可するためのプログラムコードと、
    前記認証プロセスによって前記クライアントノードが認証された場合には、前記クライアントノードと少なくとも1つのノードとの間での、最後のハンドシェイクプロセスの完了を許可するためのプログラムコードと、
    を更に含んでいる、
    請求項24に記載のコンピュータプログラム製品。
  37. ネットワークを介してデータをルーティングする方法において、
    該方法は、
    複数のノードを有しているローカルネットワーク内の少なくとも1つのノードにアクセスするクライアントノードからセッションリクエストを受信するステップと、
    前記クライアントノードからパケットを受信する少なくとも1つのノードを指定するクライアント情報を有しているクライアント証明書を、前記クライアントノードから受信するステップと、
    前記クライアント証明書から前記クライアント情報を検索するステップと、
    前記クライアント証明書における前記クライアント情報に基づいて、前記少なくとも1つのノードへの少なくとも制限的なアクセスを容易にするステップと、
    を有していることを特徴とする、方法。
  38. 前記クライアント情報は、ポリシー情報を含んでいる、
    請求項37に記載の方法。
  39. 前記少なくとも1つのノードは、関連付けられた一連のアクセス特権を有しており、
    少なくとも制限的なアクセスを容易にすることは、前記クライアントノードに、前記関連付けられた一連のアクセス特権のうちの少なくとも1つを許可することを含んでいる、
    請求項38に記載の方法。
JP2017535405A 2015-03-17 2016-01-14 データをルーティングするために証明書データを使用する装置と方法 Pending JP2018514956A (ja)

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 (ja) 2018-06-07

Family

ID=56919208

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017535405A Pending JP2018514956A (ja) 2015-03-17 2016-01-14 データをルーティングするために証明書データを使用する装置と方法

Country Status (4)

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

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 (de) * 2018-01-17 2020-05-13 ise Individuelle Software und Elektronik GmbH Verfahren, vorrichtungen, computerlesbare medien und systeme zum aufbau zertifizierter verbindungen mit endgeräten in einem lokalen netzwerk
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 (ja) 2000-02-14 2002-11-25 インターナショナル・ビジネス・マシーンズ・コーポレーション 画像表示方法、画像表示システム、ホスト装置、画像表示装置、およびディスプレイ用インターフェイス
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
CN1471783A (zh) 2000-10-26 2004-01-28 ���˹���Ѷ��� 电信路由选择
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
ATE349837T1 (de) 2001-11-19 2007-01-15 Motorola Inc Verfahren zur optimierung der wegeauswahl in einem paketnetz
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
WO2004032428A2 (de) 2002-09-30 2004-04-15 Siemens Aktiengesellschaft Verfahren zur teilweisen erhaltung der paketreihenfolge bei verbindungsloser paketvermittlung mit alternativem 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 (de) 2002-11-25 2005-11-30 Siemens Aktiengesellschaft Verfahren und Anordnung zum verschlüsselten Übertragen von Kommunikationsdatenströmen über ein paketorientiertes Kommunikationsnetz
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 (ja) 2003-07-11 2009-10-07 株式会社日立製作所 統計収集装置を備えたパケット転送装置および統計収集方法
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 (ko) 2005-02-04 2007-03-12 삼성전자주식회사 패킷의 유실을 방지하기 위한 라우팅 방법 및 장치
US7773611B2 (en) 2005-06-15 2010-08-10 Cisco Technology, Inc. Method and apparatus for packet loss detection
US8547843B2 (en) 2006-01-20 2013-10-01 Saisei Networks Pte Ltd System, method, and computer program product for controlling output port utilization
US20070171825A1 (en) 2006-01-20 2007-07-26 Anagran, Inc. System, method, and computer program product for IP flow routing
CN101379781A (zh) 2006-01-23 2009-03-04 日本电气株式会社 通信方法、通信系统、节点及程序
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 (zh) 2006-09-30 2010-08-04 华为技术有限公司 多协议标签交换中建立双向lsp的方法、装置和系统
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 (zh) 2006-12-20 2012-03-28 联想(北京)有限公司 一种虚拟机系统及其通信处理方法
US7969991B2 (en) 2007-04-23 2011-06-28 Mcafee, Inc. Session announcement system and method
CN101068242B (zh) 2007-05-31 2010-04-14 武汉虹旭信息技术有限责任公司 一种安全审计系统中获取内外网地址映射关系的方法
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 (zh) 2008-01-10 2012-07-04 华为技术有限公司 网络设备接入分组交换网络的方法、系统及装置
US8824287B2 (en) 2008-04-24 2014-09-02 Marvell International Ltd. Method and apparatus for managing traffic in a network
US8094560B2 (en) 2008-05-19 2012-01-10 Cisco Technology, Inc. Multi-stage multi-core processing of network packets
CN101640629B (zh) 2008-07-29 2012-08-29 华为技术有限公司 一种链路丢包监控的方法和双向转发探测设备
CN101729303B (zh) 2008-10-25 2012-12-12 华为技术有限公司 测量网络性能参数的方法和装置
WO2010068462A1 (en) 2008-11-25 2010-06-17 Citrix Systems, Inc. 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 (zh) 2009-04-10 2011-07-27 中国联合网络通信集团有限公司 服务质量参数测量方法和设备及服务质量判定方法和设备
CN101646220B (zh) 2009-08-25 2011-08-31 浙江大学 用于802.11多接口无线mesh网络路由的路径比较方法
CN101997826A (zh) 2009-08-28 2011-03-30 中兴通讯股份有限公司 一种控制网元、转发网元及因特网协议网络的路由方法
US8634428B2 (en) 2009-09-21 2014-01-21 At&T Intellectual Property I, L.P. Method and system for symmetric routing
CN101667916B (zh) * 2009-09-28 2011-11-23 北京交通大学 一种基于分离映射网络使用数字证书验证用户身份的方法
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 (ko) 2009-12-04 2011-12-26 이학종 디엔에스 패킷 변조를 통한 인터넷 접속 경로 우회 유도시스템 및 그 방법
CN102195855B (zh) 2010-03-17 2014-10-08 华为技术有限公司 一种业务路由方法和业务网络
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 (zh) 2010-12-30 2014-07-30 中国人民解放军信息工程大学 同源地址束汇聚方法及同源汇聚网络路由系统
US9692687B2 (en) 2011-03-18 2017-06-27 Alcatel Lucent Method and apparatus for rapid rerouting of LDP packets
CN102158371A (zh) 2011-04-12 2011-08-17 杭州华三通信技术有限公司 一种基于bfd的链路性能检测方法及其装置
CN102739507B (zh) 2011-04-14 2015-04-15 中国科学院声学研究所 一种承载状态感知的路由器及其业务流带宽分配方法
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 (zh) 2012-08-01 2015-06-03 深信服网络科技(深圳)有限公司 Nat后的ip地址溯源方法及装置
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 (zh) 2013-02-07 2015-11-25 杭州华三通信技术有限公司 虚拟服务器迁移的报文转发方法、系统及nat服务设备
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 (zh) 2014-09-19 2016-04-13 中兴通讯股份有限公司 一种双向转发检测的方法、设备和系统
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 (zh) 2015-08-27 2019-05-28 珠海豹好玩科技有限公司 数据传输方法、装置以及系统

Also Published As

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

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
JP4558389B2 (ja) 透過仮想プライベートネットワークを用いたネットワーク構成の複雑さの低減
US10091170B2 (en) Method and apparatus for distributing encryption and decryption processes between network devices
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
CN107018056A (zh) 具有mac(l2)级认证、安全和策略控制的增强的evpn mac路由通知
US10057236B2 (en) Method for operating a network and a network
CN112887278A (zh) 一种私有云和公有云的互联系统及方法
US20150381387A1 (en) System and Method for Facilitating Communication between Multiple Networks
CN107171786A (zh) 网络代理账户控制方法
CN107135226A (zh) 基于socks5的传输层代理通信方法
Small Patterns in network security: An analysis of architectural complexity in securing recursive inter-network architecture networks
Wiebelitz et al. Transparent identity-based firewall transition for eScience