[go: up one dir, main page]

JP2018508140A - マルチトンネル方式仮想ネットワークアダプター - Google Patents

マルチトンネル方式仮想ネットワークアダプター Download PDF

Info

Publication number
JP2018508140A
JP2018508140A JP2017541385A JP2017541385A JP2018508140A JP 2018508140 A JP2018508140 A JP 2018508140A JP 2017541385 A JP2017541385 A JP 2017541385A JP 2017541385 A JP2017541385 A JP 2017541385A JP 2018508140 A JP2018508140 A JP 2018508140A
Authority
JP
Japan
Prior art keywords
client
network
gateway
data packet
destination
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.)
Granted
Application number
JP2017541385A
Other languages
English (en)
Other versions
JP6343101B2 (ja
Inventor
グレイズメイカーズ,クルト
アランソン,ペル・ヨハン
Original Assignee
クリプトゾーン ノース アメリカ, インコーポレイテッド
クリプトゾーン ノース アメリカ, インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US14/630,550 external-priority patent/US9906497B2/en
Application filed by クリプトゾーン ノース アメリカ, インコーポレイテッド, クリプトゾーン ノース アメリカ, インコーポレイテッド filed Critical クリプトゾーン ノース アメリカ, インコーポレイテッド
Publication of JP2018508140A publication Critical patent/JP2018508140A/ja
Application granted granted Critical
Publication of JP6343101B2 publication Critical patent/JP6343101B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/58Association of routers
    • H04L45/586Association of routers of virtual routers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/354Switches specially adapted for specific applications for supporting virtual local area networks [VLAN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/029Firewall traversal, e.g. tunnelling or, creating pinholes
    • 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

Landscapes

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

Abstract

とりわけ、本開示の実施形態では、管理者特権を必要とせずに複数の仮想プライベートネットワーク接続が作成され、またそれぞれの仮想ネットワーク接続についての専用の仮想アダプターの代わりに、単一の仮想アダプターを使用してネットワークトラフィックが経路指定される。

Description

(関連出願の相互参照)
本明細書は、米国特許出願公開第14/630550号(2015年2月24日出願、「MULTI−TUNNELING VIRTUAL NETWORK ADAPTER」)、および、米国仮特許出願第62/112457号(2015年2月5日出願、「MULTI−TUNNELING VIRTUAL NETWORK ADAPTER」)、に基づく優先権を主張するもので、その開示内容は参照によって本明細書に組み込まれる。
本明細書は、米国特許出願請求第14/578140号(2014年12月19日出願、「SYSTEMS AND METHODS FOR PROTECTING NETWORK DEVICES」に関連するもので、その開示内容は参照によって本明細書に組み込まれる。
クライアント−サーバーネットワークモデルでは、企業またはサービスプロバイダは一般に、コンピュータネットワークを通してクライアントコンピュータおよびその他のサービスにサービスおよび/またはアプリケーションを提供している。サーバーおよび関連サービスには、例えば、メールサーバー、ファイルサーバー、顧客関係管理あるいはCRMサービス、企業資源計画あるいはERPサービス、文書管理サービス、および、これに類するもの、が含まれうる。
一方で、これらのサービスへのアクセスを、信頼できるユーザーおよびクライアントのみに制限することによってセキュリティを保証する必要がある。その一方で、信頼できるユーザーは、サービスに容易かつ直接的なやり方でのアクセスを必要とする。サービスは、いつでも、どこからでも、利用できることが好ましい。「私的デバイス活用」(Bring your own device、BYOD)の方針が、企業でますます受け入れられるようになるにつれ、サービスもまた「どんなもの」からでも、すなわち例えば、タブレットコンピュータ、ラップトップコンピュータ、自宅の個人所有コンピュータ、または、スマートフォン、など、信頼できるユーザーが所有する任意の端末から利用できるべきである。
こうしたアプリケーションサーバー、または、これらのアプリケーションサーバーによって提供されるサービスもしくはアプリケーション、への無許可アクセスを防止するための従来的なアプローチは種々存在する。例えば、アプリケーションサーバーをプライベートネットワーク内に配置することは、企業内ネットワークやローカルエリアネットワーク(LAN)をインターネットやその他の外部パブリックネットワークから分離するため、そのこと自体がセキュリティ措置である。プライベートネットワーク内の装置、および、当該装置により提供されるサービス、は、パブリックネットワークからは見えない。プライベートネットワーク内のトラフィックの内容、および、トラフィックが企業のネットワークの境界を越えることができる様式、は、WANを企業のプライベートネットワークから分離するゲートウェイ装置内で、ネットワークアドレス変換(NAT)、ファイアウォールルール、および、プロキシ、を使用することにより、規制および監視することができる。プライベートネットワークはさらに、アプリケーションサーバーを企業のプライベートネットワーク内のクライアントによる潜在的な無許可アクセスからさらに分離する目的で、物理的にまたは例えば仮想LANによって仮想的に細分されうる。
ネットワークレベルのセキュリティは、クライアントのファイアウォールを(デフォルトで)認証サーバーへのアクセスが許可されるように構成することによるなど、ユーザーごとに、または、クライアントごとに、適用されうる。クライアントが認証されたとき、クライアントのファイアウォールは開かれ、すべてのネットワーク装置が、クライアントのネットワークトラフィックをアクセスが許可されたアプリケーションサーバーに通過させるように構成される。
クライアントまたはユーザーのレベルに対するネットワークレベルのセキュリティも、アイデンティティプロファイルおよび健全性プロファイルに基づきユーザー用のアクセス権を生成するコントローラによって試みられうる。次に、コントローラは保護装置を構成し、それによって一組のサーバーにネットワークアクセスを提供する。
受入側ホスト内でのネットワークレベルのセキュリティの適用は、コントローラによるホストの構成によって試みられうる。開始側ホストが受入側ホストへのアクセスを許可されているとき、コントローラは、開始側ホストからのネットワーク接続を受け入れるように受入側ホストを構成する。
プライベートネットワーク内でのセキュリティはさらに、ユーザーまたはクライアントがサーバー上のサービスに認証後にのみアクセスできるアプリケーションレベルのセキュリティにより適用されうる。こうした場合に、クライアントは、例えばそのIPネットワークアドレスによってネットワーク内のアプリケーションサーバーを見つけることができ、また、そのTCPまたはUDPポート番号によってアプリケーションサーバー上で実行されているサービスを見つけることができるが、サービスまたはアプリケーションそれ自体は、認証クレデンシャルに基づきクライアントまたはユーザーを拒否しうる。こうした認証は、個別のサービスによってローカルで、または、認証サーバーによって中央で、管理されうる。次にサービスは、一定のサービスへのユーザーおよび/またはクライアントのアクセスを許可する前に、認証クレデンシャルをこうした認証サーバーに対して照合する。
企業のプライベートネットワークへのアクセスは、セキュアなネットワーキングトンネルがクライアント端末とプライベートネットワークの間に設定されるVPNまたは仮想プライベートネットワークによって確立されうる。こうしたトンネルの設定は、VPNサーバーでの認証によってのみ許可される。信頼できるユーザーおよび/またはクライアントのみがVPNに参加できることを確実にするために、異なる認証の仕組みが存在する。
企業のプライベートネットワーク内のサービスへのアクセスを提供するための別の解決策は、一部のサービスへの外部アクセスを解放することによるものである。例えば、電子メールサーバーは、ユーザーが職場内にいないときに自分の電子メールをチェックできるように、外部からの接続を許容しうる。これらのサービスは、ときには、クライアントが、サービスが実行されているサーバーへの物理的なネットワークアクセスを持たず、サービスの一部分を提供しているウェブサーバーに対してのみアクセスを持つように、企業のウェブサイトを通してなど、特定のインターフェースを通したアクセスのみを提供することによって制限される。
リスクベースの認証では、サービスへのアクセスは、認証クレデンシャルによるユーザーおよび/またはクライアントの識別に基づくだけでなく、リスクレベルに対してふさわしい信頼のレベルを導き出すためのさらなる測定基準に基づいても許可される。こうした測定基準は例えば、ユーザーの位置、クライアントのタイプ、オペレーティングシステム、すべてのセキュリティパッチがインストール済みであるかどうか、ユーザーのログオン履歴、などである。このように、VPNによってログオンするユーザーは、プライベートネットワーク内からログオンするときであれば受けない制限を受ける場合がある。あるいは、プライベートネットワーク内から個人所有の端末を用いてログオンするユーザーは、一部のサービスを拒否される場合がある。
仮想ネットワークアダプターは、VPN接続をセットアップして、それによってオペレーティングシステムが仮想アダプターを通してVPNに向かうようパケットを送るときに使用される。仮想アダプターは、オペレーティングシステムのカーネル空間内で実行される。VPNソフトウェア、すなわち、ユーザー空間内で実行される専用のソフトウェアアプリケーションは、その後、完全なパケットを暗号化して、それをその宛先(逆のプロセスが発生する反対側にあるVPNサービス)に送信する。ところが、従来のシステムでは、アダプターはカーネル空間内に存在するため、仮想アダプターを作成するには、管理者特権が必要とされる。さらに、VPN接続がなされるたびに、新しい仮想アダプターが必要とされる。本開示の実施形態は、これらおよびその他の問題に対処する。
とりわけ、本開示の実施形態は、管理者特権を必要とせずに複数の仮想プライベートネットワーク接続を作成することを可能にし、またそれぞれの仮想ネットワーク接続についての専用の仮想アダプターの代わりに、単一の仮想アダプターを使用してネットワークトラフィックを送ることを可能にする。
本開示の一実施形態によるコンピュータ実装方法は、コンピュータシステム上で実行されるオペレーティングシステムのユーザー空間部分内に存在する仮想プライベートネットワーク(VPN)クライアントのルーティングコンポーネントによってネットワークを経由してデータパケットを受信するステップと、
ルーティングコンポーネントによってネットワーク上のデータパケットの宛先を特定するステップと、
VPNクライアントによってデータパケットの宛先に対応するゲートウェイへの接続を確立するステップと、
ゲートウェイを経由してデータパケットを宛先に送信するステップと、を含む。
本開示には、様々な方法と、そうした方法を実行する器具(コンピュータシステムを含む)と、コンピューティングシステムによって実行されるときに、コンピューティングシステムにそうした方法を実行させる命令を含むコンピュータ読取可能媒体とが含まれる。
その他の特徴は、添付されている図面から、および下記の詳細な説明から明らかとなる。
本開示の様々な態様による、信頼できないクライアント端末によるネットワークアクセスからネットワーク装置を保護するためのシステムの一例。 本開示の様々な態様による、保護されたネットワーク装置へのネットワークアクセスを得るためにクライアント端末によって実行されるプロセスの一例。 本開示の様々な態様による、クライアント端末にクライアントアクセスおよびトンネルのリストを提供して、保護ネットワーク装置へのネットワークアクセスをこのクライアントに許可するために、認証サーバーによって実行されるプロセスの一例。 本開示の様々な態様による、このゲートウェイ内のファイアウォールの内側にある保護されたネットワーク装置へのアクセスをクライアントに提供するためにゲートウェイによって実行されるプロセスの一例。 本開示の様々な態様による、第一の判断のこれらのネットワーク装置へのアクセスを得た後で、ゲートウェイのファイアウォールの内側にある第二の判断のネットワーク装置へのネットワークアクセスを得るために、クライアント端末によって実行されるプロセスの一例。 本開示の様々な態様による、クライアントとクライアント端末との間にネットワーキングトンネルを維持するための、クライアント端末とゲートウェイとの間でのキープアライブメッセージの交換の一例。 本開示の様々な態様による、信頼できないクライアント端末によるネットワークアクセスからネットワーク装置を保護するためのシステムの一例。 本開示の様々な態様による、信頼できないクライアント端末によるネットワークアクセスからネットワーク装置を保護するためのシステムの一例。 本開示の様々な態様による、信頼できないクライアント端末によるネットワークアクセスからネットワーク装置を保護するためのシステムの一例。当例では、ゲートウェイのネットワーキング負荷の均衡が第二のゲートウェイにより保たれている。 本開示の様々な態様による、コンピューティングシステムの一例。 VPN接続およびルーティングパケットを作成するための従来的な方法を示すシステムの一例。 本開示の様々な態様によるマルチトンネル方式仮想ネットワークアダプターを利用したシステムの一例。 本開示の様々な態様によるマルチトンネル方式仮想ネットワークアダプターを利用した別のシステムの一例。 本開示の様々な態様によるプロセスの一例。
主題についてこれ以降、本発明の一部を形成し、かつ実例として、特定の実施形態例を示す添付図面を参照しながらより詳細に説明する。ただし、主題は様々な異なる形態で具体化することができ、従って、網羅または請求されている主題は、本明細書に記載された任意の実施形態例に限定されないものとして解釈されることが意図され、実施形態例は単に例証として提供される。同様に、請求または網羅されている主題について合理的に広い範囲が意図されている。中でも、例えば、主題は方法、装置、コンポーネント、または、システム、として具体化されうる。したがって、実施形態は、例えば、ハードウェア、ソフトウェア、ファームウェア、または、それら(ソフトウェア自体以外)の任意の組み合わせ、の形態をとりうる。よって、下記の詳細な説明は、制限的な意味でとられることを意図していない。
添付図面では、一部の特徴は、特定のコンポーネントの詳細を示すために誇張されている場合がある(また、図中に示されている任意のサイズ、材料および類似した詳細は、例示的なものであって、制限的なものではないことが意図される)。よって、本明細書で開示されている特定の構造および機能の詳細は、制限するものとしては解釈されるべきでなく、単に、開示された実施形態を多様に採用するために当業者に教示するための代表的な基本として解釈されるべきである。
本明細書での「一つの実施形態」または「実施形態」への言及は、実施形態に関連して説明された特定の特徴、構造、または特性が本開示の少なくとも一つの実施形態に含められていることを意味する。本明細書の様々な場所で「一つの実施形態で」という語句が出てくるとき、必ずしも全てが同一の実施形態を言及するのでも、別個のまたは代替的な実施形態がその他の実施形態と相互排他的であるわけでもない。さらに、ある一部の実施形態によって示され、他の実施形態によっては示されない場合がある、様々な特徴が説明されている。同様に、ある一部の実施形態についての要件ではあるが、他の実施形態については要件でない、様々な要件が説明されている。
本明細書に描写された方法の要素の任意の組み合わせおよび/またはその部分集合を、互いに組み合わせたり、様々な条件に基づき選択的に実行したり実行しなかったり、望ましい任意の回数だけ反復したり、適切な任意の順序でかつ適切な任意のシステム、装置、および/または、プロセス、とともに実施したりしてもよい。本明細書で説明および描写した方法は、一つまたは複数のコンピュータシステム上で動作するソフトウェアを通してなど、適切な任意の様式で実施できる。ソフトウェアは、有形のコンピュータ読取可能媒体(コンピュータシステムのメモリなど)内に格納され、かつ、様々な実施形態の方法を実施するために一つまたは複数のプロセッサによって実行されうる、コンピュータ読取可能命令を備えうる。
図1は、本開示の様々な態様によるネットワーク装置を望ましくないネットワークアクセスから保護するためのシステムの一例である。この例では、3つのネットワーク装置(アプリケーションサーバー141、142、および、143)がプライベートネットワーク140の一部である。サーバー141〜143へのアクセスは、プライベートネットワーク140内からプライベートネットワークアドレスを経由して得られる。この文脈では、「プライベート」という用語は、アプリケーションサーバー141〜143がグローバルにルーティング可能ではないという事実を意味する。言い換えれば、アプリケーションサーバー141〜143は、それらのプライベートネットワークアドレスによっては、プライベートネットワーク140の外部からアドレス指定できない。
図1のプライベートネットワーク140およびその他のコンポーネントは、インターネットプロトコル(IP)または伝送制御プロトコル/インターネットプロトコル(TCP/IP)とも呼ばれる任意の数やタイプの通信プロトコルを利用しうる。例えば、プライベートネットワーク140は、インターネットプロトコルバージョン4(IPv4)についてRFC 1918で、および、インターネットプロトコルバージョン6(IPv6)についてRFC 4193で、それぞれ規定されているアドレス範囲を持ちうる。
アプリケーションサーバー141〜143は、ネットワーク140を通してその他のコンピューティング装置にサービスを提供する。任意の数やタイプのアプリケーションサーバーおよび関連サービスを、メールサーバー、ファイルサーバー、顧客関係管理あるいはCRMサービス、企業資源計画あるいはERPサービス、および/または、文書管理サービス、などの本開示の実施形態とともに使用しうる。
データ接続は、そのサービスに関連付けられたポート(またはポート範囲)について、それぞれのアプリケーションサーバーとの通信ソケットを開くことにより、アプリケーションサーバー141〜143のいずれかとの間で確立されうる。アプリケーションサーバー141〜143は、プライベートネットワークアドレスに関連付けられた物理ネットワーキングインターフェースを備えた物理的装置に対応しうる。あるいは、アプリケーションサーバー141〜143は、一つまたは複数の物理サーバー上で実行される仮想サーバーインスタンスにも対応しうる。仮想サーバーインスタンスはそれぞれ、関連付けられたプライベートネットワークアドレスを持つ仮想ネットワークインターフェースを持ちうる。仮想サーバーインスタンスは、一つまたは複数のユーザー空間インスタンス(ソフトウェアコンテナ、仮想エンジン、仮想プライベートサーバー、および/または、jail、としても知られている)を含み、またそれらとともに動作しうる。こうしたユーザー空間インスタンスは、DOCKERソフトウェアツール経由など、適切な任意の方法で実施されうる。
図1に示す例では、プライベートネットワーク140はゲートウェイ100によって外部ネットワーク180から分離されており、それによって外部ネットワーク180とプライベートネットワーク140との間のネットワーキングトラフィックが、制御された方式で許容される。図1のシステムは、その上で実行されているサービスを使用するためにプライベートネットワーク140内のアプリケーションサーバー141〜143のうち一つまたは複数へのアクセス権を持つ「信頼できるクライアント」として、クライアント121、122を識別することができる。クライアント121、122は、物理ハードウェアおよび/または仮想コンポーネントでもよく、または、それを含んでもよい。例えば、クライアント121、122は、モバイル装置などの物理的装置上で実行される仮想オペレーティングシステムを含みうる。システムはまた、クライアント121、122がアクセスを許可された選択されたアプリケーションサーバー141〜143へのネットワークアクセスを付与し、クライアント121、122がアクセスを許可されていない任意のアプリケーションサーバーへのネットワークアクセスを拒否することができる。
クライアント121、122によるアプリケーションサーバー141〜143へのアクセスを制御するために、ゲートウェイ100には、外部ネットワーク180内のクライアント121、122により要求があった場合にネットワーキングトンネルを確立するためのトンネルモジュール101が含まれる。図1に示す例では、ネットワーキングトンネル181、182は、トンネルモジュール101とクライアント121、122との間にそれぞれ確立され、それによってプライベートネットワーク140をクライアント121、122に拡張する。一部の実施形態では、仮想プライベートネットワーク(VPN)は、トンネル181、182を通って確立される。このように、クライアント121、122には、ネットワーク180内であるにもかかわらず、プライベートネットワーク140の範囲でのプライベートネットワークアドレスが提供され、したがって、それらのそれぞれのプライベートネットワークアドレス(アクセスが許可されているものとし、下記に詳細に考察する)によって、すべてのアプリケーションサーバー141〜143に潜在的にアクセスできる。
トンネルはクライアント121、122の要求に伴い確立され、それによってトンネル認証情報がトンネルモジュール101に提供される。ユーザー名やパスワードなど、任意の量およびタイプの認証情報を本開示の実施形態とともに使用しうる。トンネル認証情報はまた、(または代替的に)バイオメトリクス、二因子認証、および/または、その他の暗号化方法、を含みうる。トンネル181、182内を移動するデータは、インターネットプロトコルセキュリティ(IPsecプロトコル)、トランスポート層セキュリティ(TLS)、および/または、データグラムトランスポート層セキュリティ(DTLS)、によるなどの暗号化によってさらに保護されうる。トンネル認証モジュール105は、トンネル認証情報を確認し、認証に成功した場合、それぞれのクライアントとの間でネットワーキングトンネルが確立される。
図1のゲートウェイ100には、それぞれのトンネル181、182が確立された後で、クライアント121、122とアプリケーションサーバー141〜143との間のネットワークトラフィックを制御するためのファイアウォール102が含まれる。ファイアウォール102は、ファイアウォール構成モジュール103によって、または別の供給源からのファイアウォールルールに従い、こうしたトラフィックを制御しうる。一部の実施形態では、ファイアウォール構成モジュール103は、それぞれのクライアント121、122から受信したクライアントアクセスリストからファイアウォールルールを取得するが、これらのクライアントは次に認証サーバー160からクライアントアクセスリストを受信する。
中でも、ファイアウォールルールは、クライアント121、122がアプリケーションサーバー141、142、および、143、とのネットワーク接続を確立し維持できるようにする。クライアント121、122がどのアプリケーションサーバー141〜143にアクセスできるかの選択は、クライアントアクセスリストから決定でき、そこからファイアウォールルールも取得される。ファイアウォールルールには、望ましい任意の情報が含まれうる。一部の実施形態では、例えば、ファイアウォールルールには、クライアントがアクセスを持ちうる情報を定義するエンタイトルメントトークンが含まれる。こうしたエンタイトルメントトークンは、ネットワークトラフィックアクセスだけでなく、様々なファイル(例えば、機密性が高いものとして分類されているもの(メタデータを含む))へのアクセスを許可/拒否するファイアウォールを構成するために使用されうる。
ファイアウォール102は、任意の数やタイプのシステム、装置、ハードウェアコンポーネント、および/または、ソフトウェアコンポーネント、でもよく、またはそれらを含んでもよい。例えば、ファイアウォール102は、複数のハードウェアおよび/またはソフトウェアコンポーネントが含まれる分散型ファイアウォールとして実施されうる。一部の実施形態では、ファイアウォール102は、デフォルトで、セキュアなトンネル180、181を通してクライアント121、122からのすべてのトラフィックをブロックするが、ファイアウォールルールに応答してトラフィックを許容するように構成されうる。例えば、クライアントアクセスリストにより、クライアント121がアプリケーションサーバー141にアクセスしてもよいことが示されている場合、ファイアウォール構成モジュール103は対応するルールを取得し、ファイアウォール102内でそれを有効化する。ルールを有効化した後、ファイアウォール102はもはやプライベートネットワーク140上での、クライアント121とアプリケーションサーバー141との間のネットワークトラフィックをブロックしなくなる。
図1のシステムには、クライアント121、122を認証し、クライアント情報を生成するための認証モジュール162をさらに含む認証サーバー160が含まれる。図1に示す例では、クライアント121、122がプライベートネットワーク140内でのアプリケーションサーバー141〜143へのアクセスを獲得するためには、まず認証サーバー160によってそれ自体を認証する必要がある。
認証サーバー160は、ハードウェアおよびソフトウェアコンポーネントの望ましい任意の組み合わせを使用して実施することができ、またその他のハードウェアおよびソフトウェアコンポーネントと望ましい任意の様式で通信しうる。図1に示すシステム例では、認証サーバー160はプライベートネットワーク140の一部ではないが、クライアント121、122はネットワーク180を通してアクセスすることができる。クライアント121、122によって提供される認証情報は、ユーザー名およびパスワード(これは認証モジュール162により確認されうる)を提供することによるなど、クライアントまたはクライアントのユーザーを一意に識別する。
クライアント121、122は、任意の数やタイプの異なる認証方法を使用して認証されうる。例えば、パスワード認証に加えて(または代替法として)、認証は、クライアントハードウェアの使用履歴およびクライアントのハードウェア属性など、クライアント121、122のハードウェアに基づく認証を利用しうる。一つの実施形態で、こうした情報はクライアント端末上のレコードに格納しうるが、それによって異なるマシンへのレコードの移動が検出されると、その結果として認証が不成功となる。レコードは、暗号化および/またはキー署名して、追加的な保全性を提供できる。認証はまた、クライアント121、122が所定の時間枠外に認証を試みた場合、認証が拒否(またはさらなる認証が要求)されるように、時間枠に基づくものともしうる。
認証は、クライアント121、122のインターネットプロトコル(IP)アドレス、またはクライアント121、122に関連付けられたGPS位置情報に基づくなど、位置ベースの情報に基づき実施されうる。例えば、クライアント121、122の物理的位置は、GPS位置情報、特定のIPアドレス、または、クライアントのIPアドレスの国コード、から決定されて、クライアント121、122が真正なクライアントであるか、または、当該クライアントに偽装する第三者(ハッカーなど)であるかを判断するために使用されうる。IPアドレス(国コードなどに基づく個別または範囲など)を、以前の履歴(すなわち、ハッキングの試み、認証不成功など)に基づき、ブラックリストまたはホワイトリストに登録してもよい。同様に、認証に使用される位置ベースの情報は、接続を試みる際にクライアント121、122によって使用される物理ネットワークからも導き出されうる。
認証モジュール162は、コンテキストまたはステータス情報をクライアント121、122から直接受信しうる。こうした情報がクライアントから直接受信されて、したがって認証サーバーによって確認できないとき、それは信頼できない「クライアントコンテキスト情報」として扱われる場合がある。クライアント情報に含められうるクライアントコンテキスト情報には、例えば「host.domain.com」といった完全修飾ドメイン名(FQDN)の形態としうるホスト名、ホスト上で実行されるオペレーティングシステムの系統およびバージョン番号、そのためのパッチがオペレーティングシステムに適用されたことを示すパッチレベル、クライアント上にインストールされたアンチウイルスソフトウェアのステータス、および/または、クライアント端末のユーザーがクライアントにログオンしていた時間の長さ、といった情報が含まれうる。
認証モジュール162はまた、「信頼できるクライアント情報」をクライアント情報に追加しうるが、これにはユーザーが所属するユーザーグループおよび部門を示すユーザー構成員情報などの情報を含めうる。信頼できるクライアント情報は、軽量ディレクトリアクセスプロトコル(LDAP)またはアクティブディレクトリ(AD)サービスを使用して、ユーザーディレクトリシステムにより提供されうる。信頼できるクライアント情報にはまた、認証サーバー160とのクライアントの以前のセッションに関する履歴情報などの情報(例えば、最後のログインタイムスタンプおよびログイン試行失敗の量など)が含まれうる。
図1に示す例では、認証モジュール162はクライアントリストエンジン163およびトンネルリストエンジン165を含む。認証モジュール162による認証が成功すると、認証モジュールによって提供されたクライアント情報に基づき、トンネルリストエンジン165はクライアントトンネルリストを生成し、またクライアントリストエンジン163はクライアントアクセスリストを生成する。
クライアントトンネルリストには、認証済みクライアント121、122がそれぞれのトンネル181、182を確立するためのすべての情報が含まれうる。クライアントトンネルリストには、例えば、クライアントトンネルリストに指定されたIPアドレスおよびポート番号でのトンネルの設定を要求することにより、クライアント121、122がそれぞれのトンネル181、182の確立を開始するために、ネットワークアドレス情報(ゲートウェイ100の宛先IPアドレスおよび/または宛先ポート番号など)が含まれうる。クライアントトンネルリストにはまた、ゲートウェイ100内の認証モジュール105を用いてクライアント121、122を認証するために、トンネル認証情報が含まれうる。クライアントトンネルリストには、例えば、クライアントを様々なゲートウェイに接続するために必要な情報を含む仮想プライベートネットワーク(VPN)トークンが含まれうる。
トンネルリストエンジン165によって生成されたトンネル認証情報は、動的な(すなわち、ゲートウェイ100の認証モジュール105によって事前に知られていない)ものとしうる。こうした場合には、認証サーバーは、トンネル認証情報を、認証サーバー160とゲートウェイ100との間の通信リンク168によってゲートウェイ100に転送しうる。従って、通信リンク168は、ゲートウェイ100と認証サーバー160との間にチャネルを提供し、これはコンフィギュレーション更新情報の交換を可能にし、またユーザーおよび/またはセッションが認証サーバー160内で削除された場合は、ユーザーによるアクセスまたはセッションの取り消しを可能にする。ユーザーまたはセッションが除去されるのには、様々な理由があり、これには、1)サービスデータベースが変更をし、管理者がすべてのユーザーに関する変更の適用を希望するため、2)ユーザーが自分の認証方法を変更するため、または、3)ユーザーまたはクライアントがシステムからアクセス禁止を受けたため、などが含まれる。通信リンク168は、認証サーバー160と一つまたは複数のゲートウェイとの間の通信のみが許容されるハイパーテキスト伝達プロトコルセキュア(HTTPS)チャネルを経由してなど、望ましい任意の様式で実施されうる。
クライアントアクセスリストは、クライアントがアクセスを付与されている選択されたアプリケーションサーバー141〜143を識別する。一部の実施形態では、クライアントリストエンジン163は、ファイアウォール102のためのファイアウォールルールを生成し、これらのルールをクライアントアクセスリストに含める。次に、ファイアウォールルールは、ゲートウェイ100内のファイアウォール構成モジュール103によってクライアントアクセスリストから抽出され、ファイアウォール102に適用される。クライアントアクセスリストはさらに、アプリケーションサーバー141〜143のアドレス指定情報に条件を追加しうる。例示的なクライアントアクセスリストの例を下記の表に示す。
表1の一列目は、クライアントがネットワークアクセスを付与されるアプリケーションサーバーのIPアドレスを指定する。二列目は、アクセス権を得るために満たされる必要がある条件をさらに指定する。第一の条件は、クライアントがアプリケーションサーバー10.0.0.1へのアクセスを付与される特定の時間間隔を指定する。第二の条件は、要求が発せられるべき特定のドメインを指定する(すなわち、クライアントのアプリケーションへのアクセス元ドメインを指定する)。第二の条件は、例えば、企業が、自身のドメインから(すなわち、企業ネットワーク内から)のアクセスのみを許容するために使用しうる。第三の条件は、特定のユーザーまたはグループ(企業のアドミニストレータなど)を識別するために使用でき、これらの者のみが所定のアプリケーションサーバーまたはその他のネットワーク装置にアクセスできるはずである。
図1に示すシステム例では、認証サーバー160には、署名済みクライアントアクセスリストおよび署名済みクライアントトンネルリストなど、デジタル署名済みのリストを作成するための署名モジュール164が含まれる。署名モジュール164によって生成されたデジタル署名は、クライアントアクセスおよびトンネルリストを受け取り次第、ゲートウェイ100内の署名検証モジュール104によって確認することができる。署名は、ゲートウェイ100が認証サーバー160に通知することなく、クライアントアクセスリストおよびクライアントトンネルリストが、クライアント121、122によって変更できないように、ゲートウェイと認証サーバー160との間で共有される署名キーによって生成され確認されうる。例示される一つの実施形態では、証明書を確認するために、プライベート/パブリックキー機構を使用するX.509証明書が採用される。
一部の実施形態では、署名の確認を試みる間に、ゲートウェイ100がクライアントアクセスリストまたはクライアントトンネルリストが変更されたと判断した場合、ゲートウェイ100は、その変更について認証サーバー160に通知する、および/または、クライアントとのネットワークトンネルを中断する、ことができる。認証サーバー160は、こうした通知を、当該クライアントとの次回以降の接続において、当該クライアントに関連付けられた「信頼できるクライアント情報」の一部として使用しうる。一部の実施形態では、ゲートウェイ100は、確立済みのネットワーキングトンネル181、182を、(例えば、上述したクライアントアクセスリストまたはクライアントトンネルリスト内の変更の検出に応答して)それ自体の意思で中断することができる。追加的または代替的に、認証サーバー160は、トンネルモジュール101に、ネットワーキングトンネルを中断し、アプリケーションサーバーへのそれぞれのクライアントアクセスを許容する、ファイアウォールからのファイアウォールルールを除去するように命令するメッセージを、通信リンク168を通してゲートウェイ100に送信することにより、ゲートウェイ100が確立済みのネットワーキングトンネル181、182を中断するように適合されうる。
図2、図3、および、図4は、図1に示すシステム例のコンポーネントを含む本開示の実施形態とともに動作する様々なコンポーネント、すなわち、それぞれクライアント121、122、認証サーバー160、および、ゲートウェイ100、によって実行されうるプロセス例を示す。本明細書で説明したプロセスは、異なるハードウェアおよび/またはソフトウェアコンポーネントのその他任意の組み合わせによって、(全体または一部が)実行されうる。
図2、図3、および、図4、のプロセスは、アプリケーションサーバー141、142、および、143、のすべてが、アプリケーションサーバーのサービスを信頼できるクライアント121、122に安全な方法で提供することを目的とする企業に属する場合など、様々なコンテキストおよび状況で実施されうる。こうした場合には、「信頼できるクライアント」は、ユーザーまたは端末自体が企業に知られており、かつ、アプリケーションサーバーの一つまたは複数へのアクセスを提供されている場合があるクライアント端末である。各クライアント121、122は、アプリケーションサーバー141〜143によって利用できるようになったサービスへのアクセスおよびその使用ができるコンピュータハードウェアおよび/またはソフトウェアの任意の組み合わせとして実施されうる。クライアントは、例えば、デスクトップコンピュータ、ラップトップコンピュータ、スマートフォン、および/または、タブレットコンピュータでありうる(またはこれらを含みうる)。クライアントは、例えば、証明書を使用してそれ自体を認証するサーバーでもよい(またはそれを含んでもよい)。図2、図3、および、図4、のプロセスは、クライアント121、122がプライベートネットワークに直接アクセスすることを防止し、代わりにゲートウェイ(図1のゲートウェイ100など)を通してのみアクセスを提供するのに役立つ。こうした制限は、企業のプライベートネットワーク内で動作するクライアントに関しても適用されうる。再び図1を参照するが、こうしたシナリオの例として、ネットワーク180およびネットワーク140の両方は別個の「プライベートネットワーク」としうるが、クライアント121、122とアプリケーションサーバー141〜143との間のネットワーク通信は、なおもゲートウェイ100によって制御される。
図2は、クライアント121、122のいずれかによってアプリケーションサーバー141〜143上の一つまたは複数のサービスにアクセスするために実行されうるプロセスの一例を示す。図2のプロセスは、クライアントがアクティブなときにバックグラウンドで自動的に実行されるクライアント端末上のソフトウェアアプリケーションを経由するなど、適切な任意の様式で実施されうる。ソフトウェアアプリケーションは、クライアントの起動時点で自動的に実行されてもよく、または、ユーザーまたはクライアント上で動作する別のプロセスによって手動で開始されてもよい。クライアント121、122は、アプリケーションサーバー141〜143のうち一つに対する、クライアント端末のネットワークアクセスを監視(201)する。アプリケーションサーバー141〜143のネットワークアドレスは、アプリケーションサーバーのサービスを使用するクライアントアプリケーション内のコンフィギュレーションオプションとしうる。例えば、アプリケーションサーバーは、ネットワークアドレスおよびポートがメールクライアントアプリケーション内で構成されたメールサーバー、そのネットワークアドレスがネットワーク共有として構成されたアプリケーションサーバー、CRMサービスであってクライアントがCRMサービスにアクセスするためにインストールされた専用のクライアントアプリケーションを持つもの、および/または、ウェブサービスであってユーザーがブラウザアプリケーションのアドレスバー内でアドレスを指定するもの、としうる(またはそれを含みうる)。
クライアントは、クライアントアプリケーションが、宛先ネットワークアドレスに基づき、プライベートネットワーク140内のアプリケーションサーバーへのアクセスを試みでいることを検出(202)しうる。クライアントは認証情報を取り出し(203)、認証サーバー160に送信する。認証情報の取り出しは、ユーザーがログオンするために以前に送信した認証クレデンシャルを使用することによるなど、自動的に実行されうる。あるいは、認証情報の取り出しには、ユーザー名やパスワードなどの認証クレデンシャルを提供するようユーザーに要求することが含まれうる。図2のステップ201〜203の代わりに、クライアントは、アプリケーションサーバー141〜143の一つに対するネットワークアクセス試行を待つことなく、認証サーバー160を用いてそれ自体を直接的に認証しうる。例えば、クライアントは、クライアントのユーザーがクライアントにログオンしたときか、または、クライアントが起動したときに、認証サーバー160を用いて認証しうる。
クライアントの認証は、格納された認証クレデンシャル、ユーザーのログオンクレデンシャル、および/または、ユーザーから要求された別個の認証クレデンシャル、の使用によるなど、望ましい任意の様式で実行されうる。RSA、Oauth、証明書、Radius、SAML、および、これに類するもの、を含めて、任意の数やタイプのアイデンティティプロバイダも、本開示の実施形態とともに使用されうる。認証クレデンシャルは、認証サーバー160を用いてクライアント121、122を認証(204)するのに使用される。それに応答して、クライアントは、認証サーバー160からクライアントトンネルリストおよびクライアントアクセスリストを受信(205)する。
クライアント121、122は、例えば、ゲートウェイ100のネットワークアドレスをクライアントトンネルリストから取り出し、ゲートウェイ100に要求を送信して、トンネルを確立することにより、ゲートウェイ100との間にネットワークトンネル181、182を確立(206)する。トンネルが確立(206)されると、クライアントは、クライアントトンネルリストを認証としてゲートウェイに提供しうる。クライアントトンネルリストには、認証サーバー160の署名が含まれており、そこからゲートウェイ100はクライアントが信頼できることを確認し、さらなる認証クレデンシャルの交換なしにトンネルを確立しうる。ネットワークトンネルが確立された後、プライベートネットワーク140は、トンネルを通してクライアントに拡張されるが、サーバーへのネットワークアクセスが、ゲートウェイ100のファイアウォール102によってブロックされている場合があるため、クライアントはなおも、アプリケーションサーバー141〜143のいずれかにアクセスできない場合がある。
クライアントは、認証サーバー160から受信したクライアントアクセスリストをゲートウェイ100に送信(207)して、クライアントアクセスリストからどのアプリケーションサーバーにクライアントがアクセスできるかを記録(211)する。クライアントはまた、アクセス可能なアプリケーションサーバーまたはサービスをクライアント端末のユーザーに合図または表示することもできる。認証が成功したと仮定して、ゲートウェイ100は、すべてのアプリケーションサーバー、またはクライアントアクセスリストにリストされているアプリケーションサーバー上のサービスへのネットワークアクセスをクライアントに提供する。
図3は、図1の認証サーバー160などの認証サーバーによって実行されうる、クライアントアクセスおよびトンネルリストをクライアントに提供するためのプロセスの一例である。このプロセス例では、認証サーバーはそれぞれのクライアントからの要求を受信(301)する。要求内で、クライアントは、図2のステップ204でなど、認証サーバーを用いた識別のための認証情報を提供する。認証サーバーは、クライアントの識別(302)を試みる。クライアントが認証サーバーに知られておらず、従って信頼できない場合には、サーバーはフローを停止(303)する。クライアントが既知の場合、認証サーバーは、信頼できるクライアント情報を取出し(304)、それをクライアント情報に追加する。ステップ301で認証情報とともに受信したクライアントコンテキスト情報もまた、クライアント情報に追加されうる。
認証モジュールは、クライアントがアクセスを許可されている選択されたアプリケーションサーバーを識別(310)する。アプリケーションサーバーの選択は、クライアント情報とともに、その後、認証サーバー160のクライアントリストエンジン163およびトンネルリストエンジン165に転送されうる。トンネルリストエンジン165は、例えば、ネットワーキングトンネルをゲートウェイ100と設定するために、認証クレデンシャルとともにゲートウェイ100のIPアドレスを提供することにより、クライアント情報に基づき、トンネルリストを生成(305)する。クライアントトンネルリストは、署名エンジン164により署名(306)される。認証サーバーは、クライアントがアクセスを許可されているサーバーの選択に基づき、クライアントアクセスリストを生成(307)する。クライアント情報に基づき、さらなる条件付き制限がクライアントアクセスリストに追加されうる。次に、クライアントアクセスリストも署名308される。次に、認証サーバーは、クライアントアクセスおよびトンネルリストをクライアントに送信309する。
図4は、図1のゲートウェイ100など、本開示の実施形態とともに動作するゲートウェイによって実行されうる、クライアントにネットワークアクセスを提供するためのプロセスの一例を示す。このプロセスでは、ゲートウェイ101は、クライアント121または122からの要求を受信(401)して、そのクライアントとの間にネットワーキングトンネル(例えば、VPN接続)を設定する。それに応答して、ゲートウェイは、クライアントから認証クレデンシャルを要求(402)し、クライアントトンネルリストの形態で認証クレデンシャルを受信(403)する。クライアントを認証するために、ゲートウェイ100は、認証サーバー160と共有されている署名キーを使用してクライアントトンネルリスト内の署名を確認(404)する。署名が正しく、かつ、クライアントトンネルリストがクライアントによって修正されていない場合、ゲートウェイ100は、クライアントとの間にネットワーキングトンネルを確立(405)し、よってトンネルを通してプライベートネットワーク140をクライアントに拡張する。ゲートウェイのファイアウォールは、デフォルトでクライアントからのすべてのネットワークアクセスをブロックするようさらに構成される。ゲートウェイは、認証サーバーによって生成されたクライアントアクセスリストをクライアントから受信(406)し、このクライアントアクセスリスト内の署名を確認(407)する。クライアントアクセスリストから、ゲートウェイは、クライアントアクセスリストにリストされているアプリケーションサーバーへのネットワークアクセスを許容するためのファイアウォールルール(およびそうしたアクセスのための条件で、これらもクライアントアクセスリスト内に提供されている)を取得する(408)。ゲートウェイは、ファイアウォールルールを有効化(409)して、それによってクライアントがクライアントアクセスリストにリストされた選択されたアプリケーションサーバーにアクセスできるようにする。
一部の実施形態では、認証サーバー160は、クライアントアクセスリストに、強化された認証要件を、これらの強化された認証要件が満たされた時点でアクセスできる第二の判断のアプリケーションサーバーとともに追加しうる。これらの強化された要件は、認証機構自体と関連するものでもよく、また例えば、(第一の判断のアプリケーションサーバーと比較して)より安全な認証機構が使用されなければならないことを述べるものでもよい。例えば、ユーザー/パスワードの組み合わせ(これは第一の組のアプリケーションサーバーについての認証要件を満足しうる)を供給する代わりに、強化された要件は、第二の組のアプリケーションサーバーへのアクセスを得るには二因子認証が要求されることを指定してもよい。要件はまた、クライアント自体のコンテキストまたはステータス情報に関連するものでもよい。望ましい任意の要件が使用されうるが、ある一定のアプリケーションサーバーにアクセスするには、すべてのパッチがクライアントオペレーティングシステムに適用されている必要があること、ある一定のアプリケーションサーバーにアクセスするにはウイルススキャナーが実行されており最新のものでなければならないこと、および/または、アプリケーションサーバーは公衆無線ネットワークからアクセスされていてはならないこと、などの要件がある。
認証サーバーで認証されると、(例えば、クライアントリストエンジン163を介した)認証サーバー160は、強化された認証要件と併せて、こうした強化された認証を要求する第二の判断のアプリケーションサーバーとを含む、署名済みのクライアントアクセスリストを提供する。クライアントが強化された認証要件を認証し満たすとき、認証サーバーは、更新済みクライアントアクセスリストをクライアントに発行しうるが、ここには、クライアントがアクセスを許可されているアプリケーションサーバーとともに第二の判断のアプリケーションサーバーがリストされている。複数レベルの強化された認証要件(およびそれに対応する組のアプリケーションサーバー)が、クライアントアクセスリストにリストされうる。
図5は、強化された認証要件のあるアプリケーションサーバーへのネットワークアクセスを得るために、クライアントによって実行されうるプロセスの一例を示す。このプロセス例では、クライアントは、第一のクライアントアクセスリスト(本明細書では「ベースクライアントアクセスリスト」ともいう)にリストされている、プライベートネットワーク140内の第一の判断のアプリケーションサーバーへのネットワークアクセス(501)を確立する。ステップ501は、図2に概要を述べたフローに従ってさらに実施されうるが、ベースクライアントアクセスリストがさらに、第二の判断のアプリケーションサーバーおよびこの第二の判断へのネットワークアクセスを得るための強化された認証要件を含む点が異なる。
クライアントは、クライアント端末上で実行されているアプリケーション、および、プライベートネットワーク140へのそうしたアプリケーションのネットワークアクセス、を監視(502)する。クライアントアプリケーションが第一の判断の一部ではないアプリケーションサーバーへの接続を試みた場合、クライアントは、アプリケーションサーバーが第二の判断の一部であるかどうかをチェック(503)する。そうでない場合、クライアントはこのアプリケーションサーバーへのアクセスを得ることができず、クライアントまたはアプリケーションのユーザーにはアクセス拒否について通知(504)がなされうる。アプリケーションサーバーが第二の判断の一部である場合、クライアントは、認証サーバー(505)を用いて強化された認証のプロセスを開始するが、これにはユーザーが、指紋スキャン、虹彩スキャン、ユーザーに関するさらなるバイオメトリック情報、および/または、外部キー生成装置によって生成されたキーなどの強化された認証クレデンシャル、を提供するよう要求するステップが含まれうる。クライアントはまた、ユーザーがクライアント端末自体のコンテキストおよび/または状態を更新するよう要求しうる。例えば、ユーザーは、クライアントを有線ネットワークに接続すること、クライアントを公衆無線ネットワークを通して接続しないこと、クライアントのオペレーティングシステムの最新パッチをインストールすること、ウイルススキャナーをインストールすること、および/または、ウイルススキャナーのデータベースを更新すること、を要求されうる。
ユーザーが強化された認証要件(506)を首尾よく満たすと、クライアントは、第二のまたは更新済みのクライアントアクセスリストを認証サーバー160から受信(507)する。強化された認証が不成功であった場合、ネットワークアクセスを要求しているユーザーまたはソフトウェアアプリケーションには、ネットワークアクセスが拒否されたことの合図または警告(504)がなされる。更新済みのクライアントアクセスリストには、クライアントがアクセスできる第一の判断および第二の判断の両方のアプリケーションサーバーがリストされており、ゲートウェイ100に送信(508)され、これは適宜にそのファイアウォール102を構成する。次に、クライアントは、アプリケーションまたはサービスが許容されるクライアントアプリケーションおよびユーザーに合図(509)しうる。
図6は、本開示の様々な態様による、システムの一例を描写したものである。このシステム例では、ゲートウェイ600にはキープアライブモジュール605が含まれる。ゲートウェイ600は、確立済みのネットワーキングトンネル182を通してクライアント621と接続され、キープアライブモジュールは、キープアライブメッセージがクライアント621から規則正しい間隔で受信されていることをチェックするよう構成される。キープアライブメッセージが時間内に受信されていない場合、キープアライブモジュールは、ファイアウォール構成モジュール103に、ファイアウォール102からクライアント621についてのファイアウォールルールをクリアするよう命令し、またトンネルモジュール101にネットワーキングトンネル182を停止するよう命令する。キープアライブモジュール605はさらに、クライアント621に関する事前に定義された一定の状態またはコンテキスト情報がキープアライブメッセージ内に存在するかどうかをチェックし、事前定義された一定の要件を満たすように構成されうる。こうした要件には、例えば、クライアントのウイルススキャナーおよび/またはファイアウォールがアクティブでなければならないといったことが含まれうる。
クライアント621は、キープアライブメッセージをゲートウェイ600に送信するために、ステップ601〜604で図示されたプロセスを実行しうる。第一のステップ601では、ゲートウェイ600へのネットワーキングトンネル182が確立される。ネットワーキングトンネル182は、図2および図5に図示したプロセス(またはその一部)を使用するなど、望ましい任意の様式で確立されうる。クライアントは、要求されるコンテキストおよび状態の情報を収集(602)し、それをキープアライブメッセージにフォーマットする。キープアライブメッセージは、ネットワーキングトンネル182を通してゲートウェイ600のキープアライブモジュール605に送信(603)される。メッセージが送信されるとき、タイマーが起動され(604)、予め設定された時間間隔からカウントダウンされる。タイマーが終了したとき、次のキープアライブメッセージを送信するために、新しいサイクルのステップ602〜604が実行される。
図7は、本開示の様々な態様による、アプリケーションサーバー741〜746を無許可アクセスから保護するためのシステムの一例を図示したものである。この例では、アプリケーションサーバー741〜746は、それぞれゲートウェイ700、701、および、702、によって保護されているプライベートネットワーク750、751、および、752、の一部である。クライアント721は認証サーバー760で認証されうるが、それによってクライアントトンネルリストおよびクライアントアクセスリストを取得する。クライアントトンネルリストは、すべてのプライベートネットワーク740〜744をクライアント721に拡張するために、それぞれのゲートウェイ700〜702とのネットワーキングトンネルを確立するために必要な情報を含む。クライアントトンネルリストは、単一のデータオブジェクト、すべてのゲートウェイを識別する単一の署名のあるファイル、別個の署名済みのデータオブジェクト、および/または、ゲートウェイ700〜702、のうち一つをそれぞれ識別するファイルなど、適切な任意の形式でよい。クライアントトンネルリストが受信されると、クライアント721は、それぞれのゲートウェイ700〜702との間でネットワーキングトンネル781、782、および、783、を確立する。
クライアントアクセスリストは、ネットワーキングトンネル781、782および783を経由してクライアントが接続しうる選択されたアプリケーションサーバー741〜747を含む。クライアント721は、クライアントアクセスリストをゲートウェイに送信し、これが次に、受信したクライアントアクセスリストに従いそれらのファイアウォールを構成し、それによってクライアント721が選択されたアプリケーションサーバーにアクセスできるようにする。
一部の実施形態では、認証サーバー760は、クライアント721を認証するため、またはクライアント721についての情報を取り出すために、その他のサーバーにアクセスしうる。これは図7にも図示されており、ここで認証サーバー760は、認証サーバー760のための認証バックエンドの役割をするradiusサーバー762にアクセスしうる。次に、認証サーバー760内の認証モジュール162が、クライアント721に対する認証インターフェースとしての役割をし、その一方でサーバー762は実際の認証を実行する。認証サーバー760はまた、アクティブディレクトリサービスを認証サーバー760に提供するサーバー761に接続し、クライアント721のユーザーに関するさらなるプロファイルを取り出しうる。
図8は、なお別のシステム例を図示したものであり、ここで、radiusサーバー846およびアクティブディレクトリサーバー847はゲートウェイ702の内側にあるプライベートネットワーク744内のアプリケーションサーバーに対応し、それによって無許可アクセスからのサーバー846〜847の保護に役立っている。サーバー846〜847にアクセスするために、認証サーバー760は、サーバー846および847を保護するゲートウェイ702との永続的なネットワーキングトンネル884を含みうる。代替的に、認証サーバー760は、サーバー846〜847へのアクセスを提供するために、ネットワークトンネルを使用する代わりに標準HTTPSトラフィックを活用するためのLDAP over JSONなど、別の機構を利用しうる。その後認証サーバー760がサーバーにアクセスできるようにするファイアウォールルールは、認証サーバー760とサーバー846〜847との間のネットワーク接続を確立するのに、クライアントトンネルリストまたはクライアントアクセスリストが不要なように、ゲートウェイ702内で前もって構成されうる。
図9は、複数のゲートウェイ900、901が、同一のプライベートネットワーク940内にあるアプリケーションサーバー941〜944を保護するために使用されている例を図示したものである。この構成は、複数のゲートウェイ900、901間でのネットワークトラフィック負荷のバランスをとるために使用されうる。認証サーバー960は、クライアント921および922への異なるゲートウェイを指定するクライアントトンネルリストを提供する。具体的には、クライアント921はゲートウェイ900とのネットワーキングトンネル981を確立し、クライアント922はゲートウェイ901とのネットワーキングトンネル982を確立する。
本明細書における実施形態の例示は、アプリケーションサーバーを無許可アクセスから保護する本開示の実施形態を例証したものである。アプリケーションサーバー以外にも、サービスを提供し、かつネットワークを通してアドレス指定できるその他任意のタイプのネットワーク装置が、本開示の実施形態によって保護されうる。同様に、本開示の実施形態によって保護されうるネットワーク装置には、ルーターおよびネットワークレベルのスイッチに対するアドミニストレータインターフェースを提供するネットワーキング設備が含まれる。
図10は、本明細書に開示された実施形態とともに利用されうるコンピューティングシステム1000を例示したものである。コンピューティングシステム1000は、クライアント端末、ゲートウェイ、認証サーバー、および/または、その他任意の適切なシステム、として使用されうる。コンピューティングシステム1000は、バス1010、プロセッサ1002、ローカルメモリ1004、一つまたは複数の随意的な入力インターフェース1014、一つまたは複数の随意的な出力インターフェース1016、通信インターフェース1012、記憶素子インターフェース1006、および、一つまたは複数の記憶素子1008、を備える。
バス1010は、コンピューティングシステム1000のコンポーネント間での通信を可能にする一つまたは複数の導体を備えうる。プロセッサ1002は、プログラミング命令を解釈して実行する任意のタイプのプロセッサを含みうる。ローカルメモリ1004は、プロセッサ1002によって実行するための情報および命令を格納するランダムアクセスメモリ(RAM)または別のタイプの動的ストレージ装置、および/または、プロセッサ1002によって使用するための静的情報および命令を格納する読み取り専用メモリ(ROM)または別のタイプの静的ストレージ装置を含みうる。入力インターフェース1014は、キーボード1020、マウス1030、ペン、音声認識、および/または、バイオメトリックメカニズム、などの、オペレータが情報をコンピューティング装置1000に入力できるようにする一つまたは複数の公知のメカニズムを備えうる。
出力インターフェース1016は、ディスプレイ1040、プリンター1050、スピーカー、などの、情報をオペレータに出力する一つまたは複数の公知のメカニズムを備えうる。通信インターフェース1012は、コンピューティングシステム1000がその他の装置および/またはシステム1100と通信できるようにする例えば一つまたは複数のEthernetインターフェースなど、任意のトランシーバ様の機構を備えうる。コンピューティングシステム1000の通信インターフェース1012は、ローカルエリアネットワーク(LAN)または、例えばインターネットなどのワイドエリアネットワーク(WAN)を用いて、こうした別のコンピューティングシステムに接続されうる。記憶素子インターフェース1006は、バス1010を、一つまたは複数のローカルディスク(例えばSATAディスクドライブ)などの一つまたは複数の記憶素子1008に接続するための、例えば、シリアルアドバンスドテクノロジーアタッチメント(SATA)インターフェースまたは小型コンピュータシステムインターフェース(SCSI)といったストレージインターフェースを備え、これらの記憶素子1008との間でのデータの読み出しおよび書き込みを制御する。上述の記憶素子1008は、ローカルディスクとして説明されているが、一般に、取り外し可能な磁気ディスク、光学ストレージ媒体(CD−ROMまたはDVD−ROMディスクなど)、ソリッドステートドライブ、フラッシュメモリカード、など、その他任意の適切なコンピュータ読取可能媒体が使用されうる。上述のシステム1000は、物理ハードウェアの上の仮想マシンとしても実行できる。
本明細書で例示した方法は、そのプロセッサ1002によって実行するためにコンピューティングシステム1000のローカルメモリ1004内に格納されたプログラミング命令によって実施されうる。代替的に、命令は、記憶素子1008上に格納されるか、または、別のコンピューティングシステムから通信インターフェース1012を通してアクセスすることができる。
システム1000は、それぞれ図1、図6、図7、図8、および、図9、で図示した実施形態のクライアント121、122、621、721、921、922に対応しうる。こうしたケースでは、システム1000は、通信インターフェース1012によりゲートウェイおよび認証サーバーに接続されうる。図2、図5、および、図6、に図示した方法のステップは、実行時にプロセッサ1002上の命令として実行されてもよく、またメモリストレージ1004または1008に格納されてもよい。
システム1000は、それぞれ図1、図6、図7、図8、および、図9、により図示された実施形態のゲートウェイ100、600、700、701、702、900、および、901に対応しうる。こうしたケースでは、システムは2つの通信インターフェース1012を備えうるが、1つの通信インターフェースはプライベートネットワークへの接続用で、1つはそれによってクライアントに接続されるその他のネットワークへの接続用である。図4に図示した方法のステップは、実行時にプロセッサ1002上の命令として実行されてもよく、またメモリストレージ1004または1008に格納されてもよい。
システム1000は、図1、図6、図7、図8、および、図9、により図示された実施形態の認証サーバー160、760、および、960、に対応しうる。こうしたケースでは、通信インターフェース1012は、システム1000をクライアントおよびゲートウェイに接続するために使用されうる。次に図3に図示した方法のステップは、実行時にプロセッサ1002上の命令として実行されてもよく、またメモリストレージ1004または1008に格納されてもよい。
認証サーバーおよびゲートウェイによって実行される方法は、同一のコンピュータシステム上、別個のコンピュータシステム上、または同一もしくは異なる物理コンピュータシステム上にある別個の仮想コンピュータシステムとして実行されうる。
≪マルチトンネル方式仮想ネットワークアダプター≫
クライアントのオペレーティングシステム内で、仮想アダプターは、ハードウェア内、ソフトウェア内、または、2つの組み合わせ、で実装されたかによらず、その他のネットワークアダプターまたはネットワークインターフェースとともに動作するソフトウェア実装されたコンポーネントである。データのパケットが仮想アダプターへの送信用ソフトウェアプログラム(オペレーティングシステム内部で実行)によって送信されるとき、パケットは物理的通信インターフェースを介しては送信されない。代わりに、パケットは、仮想アダプターおよびオペレーティングシステムのすべてのタスクが実行されるカーネル空間とは対照的に、オペレーティングシステムのユーザー空間部分内で実行される専用のソフトウェアアプリケーションに再経路指定される。こうしたパケットを仮想アダプターから受信することに加えて、専用のソフトウェアアプリケーションはまた、パケットを仮想アダプターに渡して、他の方向への通信を達成する。この場合、仮想アダプターはこれらのパケットをオペレーティングシステムネットワークスタックに送達(注入)し、そうして外部ソースからのそれらの受信をエミュレートする。
仮想ネットワークアダプターはまた、2つの既存のタイプにちなんでTUN/TAPインターフェースとも呼ばれる。TUNインターフェース(ネットワークトンネル)はネットワーク層デバイスをシミュレートし、IPパケットのような層3パケットで動作する。TAPインターフェース(ネットワークタップ)はリンク層デバイスをシミュレートし、イーサネットフレームのような第2層パケットで動作する。
仮想ネットワークインターフェースコントローラ(NIC)は、TUN/TAPデバイスであり、カーネル空間内に存在する。NICは、IPおよびプロトコルヘッダー(TUNの場合)またはイーサネットヘッダー(TAPの場合)が含まれるデータの仮想インターフェースパケットを渡し、データパケットがユーザー空間内で完全なパッケージとして処理されることができるようにする。よってNICは、ユーザーがトラフィックを新しいパケット内にカプセル化して、それを一般に仮想プライベートネットワークで使用される遠隔の宛先にトンネリングできるようにする。複数のトンネルをセットアップすれば、各トンネルについて一つずつで、複数のTUN/TAPインターフェースが必要となる。
従来のシステムでは、必要なトンネルの量が事前にわからない場合(通常はわからない)、新しいトンネルのセットアップには、オペレーティングシステムのカーネル空間内に追加的な仮想TUN/TAPデバイスを作成する管理者特権が、オペレーティングシステムで必要となる。さらに、別個の仮想TUN/TAPデバイスを、各仮想接続について作成しなければならない。
従来的なシステムの一例を図11に示す。この例では、2つの仮想ネットワークアダプターがカーネル空間内にインストールされている(VIRT NIC 1およびVIRT NIC 2)。第一のユーザー空間アプリケーション(アプリケーション1)は、データパケット(データ1)を第一のVPN内のネットワーク宛先に送信する。オペレーティングシステム(OS)のTCP/IPスタックで、パケットは、第一のVPN(TCP/IP 1)の宛先アドレスの先頭に追加される。次に、オペレーティングシステムは、パケットを第一のVPNを宛先としたパケット(すなわち、VIRT NIC 1)が処理されるべきネットワークアダプターに送る。これは仮想アダプターであるため、パケットは、第一のVPNアプリケーション(VPNクライアント1)に再経路指定され、そこでパケットは暗号化(データ1’およびTCP/IP 1’)され、宛先アドレスとしてVPNトンネルの他方の端にあるVPNサーバーを持つOS(TCP/IP 11)によって新しいパケット内に埋め込まれる。次に、OSはこのパケットを物理的ネットワークインターフェースNIC 1に送る。
第二のアプリケーション(アプリケーション2)がデータパケット(データ2)を第二のVPN内の宛先に送信するときに、類似のフローが発生する。このパケットは次に、第二の仮想インターフェース(VIRT NIC 2)に送られ、そこで第二のVPNアプリケーション(VPNクライアント2)に転送される。この第二のVPNアプリケーションは次に、パケットを暗号化して、それを第二のVPNサーバー(TCP/IP 21)に送信する。
図11の従来的なシステムには、少なくとも2つの重要な問題がある。仮想アダプターを作成するには、アダプターがカーネル空間内に存在するため、管理者特権が必要とされる。第二に、形成される各VPN接続について、新しい仮想アダプターを作成する必要がある。本開示の様々な態様によるシステムの一例を図12に図示する。図12のシステムは、VPNを確立するユーザー空間アプリケーションにルーティングコンポーネントを追加することにより、単一の仮想アダプターによって(また、オペレーティングシステムのカーネル空間に対する管理者特権を必要とすることなく)異なるVPNが作成されるようにすることで、図11の両方の問題を克服する。
図12に示す模範的システム1200では、データ1およびデータ2の両方が、オペレーティングシステムによって同一の仮想アダプター1230に送られる。これは、オペレーティングシステム(OS)ルーティングテーブルを更新して、2つのVPN(1251および1252)へのネットワークトラフィックを同一の仮想アダプター(VIRT NIC 1 1230)に向かわせることにより達成される。VPNクライアント1 1210は、データを暗号化して、それを新しいパケット内に埋め込むだけでなく、VPNルーティングテーブル1260を使用して、どのVPNにパケットが向かうかも決定する。ルーティングテーブル1260を使用して、VPN1 1251用のパケットはVPN1暗号化モジュールに送信され、またVPN2 1252用のパケットはVPN2暗号化モジュールに送信される。次に、VPN1および2用のパケットは異なる宛先に送信されるが、すなわち、異なるVPNサーバーはトンネルの終端である。
図13は、本開示の様々な態様によるマルチトンネル方式仮想アダプターを利用した別のシステム例を図示したものである。この例では、2つの異なるネットワーク192.168.0.0/24 1310および10.0.0.0/24 1320がある。両方のネットワークは、TUN/TAPインターフェースであるtun0インターフェース1330に向けて送られる。パケットがtun0インターフェース1330に向けて送られる時、CZ VPNクライアント1340は、パケット全体を読み取ることができる。
従来的なVPNクライアントでは、パケットは直ちに取り込まれ(またおそらくは暗号化され)、eth0のソースIPと、パケットをアンパックする望ましいゲートウェイ宛先IPとを含む、TCPまたはUDP接続にカプセル化される。それに対して、図13のシステムは、オリジナルパケットの宛先IPアドレスを特定し、どのトンネル(および対応する暗号化)が使用されるべきかを特定するルーティングモジュールを実装する。図13に示す例では、192.168.0.0/24ネットワーク内で宛先IPを持つパケットは、ゲートウェイA 1350用の暗号化装置/カプセル化装置に送信され、一方で10.0.0.0/24経路と一致するパケットは、ゲートウェイB 1360に対して暗号化およびカプセル化される。
パケットがCZ VPNクライアント1340によって回収されると、対応するゲートウェイに向けて新しい接続(TCPまたはUDPのどちらの場合もある)を作成し、TUN/TAPアダプターから受信されたオリジナルパケットの暗号化バージョンを含むようになる。そのパケットは、対応するゲートウェイに達するように、正常なOSルーティングテーブルによって再び処理される。
ルーティングコンポーネントはオペレーティングシステムのユーザー空間部分内に存在するため、管理者特権を必要とすることなく、多かれ少なかれトンネルを動的に追加できる。図13のシステムの別の利益は、異なるトンネルについて同一のクライアントIPを使用することであり、よって単一の仮想インターフェースがすべてのプライベートトラフィックを処理することができる。こうして、各ゲートウェイについて単一のアダプターが要求される従来的なシステムと対照的に、単一の仮想アダプターが任意の数の仮想ゲートウェイにサービスを提供できる。こうして、本開示の実施形態は、従来的なシステムにとって、特に多数の個人クライアントにとって極めて大きな問題となる可能性がある、各クライアントのカーネル空間にアクセスするための管理者特権を持つ必要性を回避する。さらに、多くのモバイル機器オペレーティングシステムは一つの仮想アダプターのみをサポートする。本開示の実施形態はまた、単一の仮想アダプターを使用して同じプライベートネットワークを保護する2つ以上の独立したゲートウェイへの、トラフィックの負荷を分散する、または、冗長的なトンネルを作成する、ためにも使用されうる。
図14は、本開示の様々な態様によるプロセスの一例を図示したものである。プロセス1400は、図13に示すシステムを含む望ましい任意のシステムと併せて、また本明細書で説明したものを含め、その他任意の方法(全体的にまたは部分的に)で実装されうる。
この例では、プロセス1400は、仮想プライベートネットワーク(VPN)クライアントのルーティングコンポーネントによってネットワークを経由して一つまたは複数のデータパケットを受信するステップ(1410)と、ルーティングコンポーネントによって、一つまたは複数のデータパケットの宛先を特定するステップ(1420)と、VPNクライアントによって一つまたは複数のデータパケットの宛先に対応する一つまたは複数の接続を確立するステップ(1430)と、一つまたは複数のデータパケットをそれらのそれぞれの宛先に送信するステップ(1440)と、一つまたは複数のゲートウェイ接続を解除するステップ(1450)と、が含まれる。
より詳細に上述した通り、本開示の実施形態によって任意の数のデータパケットを送受信しうる。様々な実施形態で、一つまたは複数のデータパケットは、VPNクライアントが実行されているオペレーティングシステムのカーネル空間部分内で動作している仮想アダプターを経由して受信されうる(1410)。さらに、データパケットの宛先を特定するステップ(1420)は、データパケットの宛先に対応するゲートウェイを特定するステップを含むことがあり、またゲートウェイへの接続を確立するステップ(1430)には、ユーザーダイアグラムプロトコル(UDP)接続を形成するステップを含むことがある。ゲートウェイ接続は、適切な任意の方法で解除されうる(1450)。ゲートウェイ接続の解除には、例えば、接続を隠す、接続のさらなる使用を阻止する、接続を解除する、などが含まれうる。一部の実施形態では、例えば、VPNが確立されると、ゲートウェイ接続は、クライアントの接続が解除されるまで、または、システムによって接続がもはや有効ではない(アクセスの取消し、接続期限切れなど)と判断されるまで、継続される。
複数のデータパケットが処理される場合、データパケットは、オペレーティングシステムのカーネル空間内で動作する単一の仮想アダプターを通って送ることができる。ルーティングコンポーネントは、任意のサイズ、タイプ、および構成のものでもよく、また例えば、ルーティングテーブルを含んでもよい。また、ルーティングテーブルは、一つまたは複数のデータパケットの一つまたは複数の宛先アドレスを含む、一つまたは複数のデータパケットを処理するための適切な任意の情報を含みうる。
本開示の実施形態とともに動作するシステム、装置、および、コンポーネント、間の通信は、例えば、電話ネットワーク、エクストラネット、イントラネット、インターネット、加盟店端末装置(販売時点情報管理装置、携帯情報端末機器(例えば、iPhone(登録商標)、Palm Pilot(登録商標)、Blackberry(登録商標))、携帯電話、キオスクなど)、オンライン通信、衛星通信、オフライン通信、ワイヤレス通信、トランスポンダー通信、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、仮想プライベートネットワーク(VPN)、ネットワーク上のあるいは接続された装置、キーボード、マウス、および/または、適切な任意の通信あるいはデータ入力様式、など、適切な任意の通信方法を使用して実行されうる。本開示のシステムおよび装置は、TCP/IP通信プロトコルのほか、IPX、Appletalk、IP−6、NetBIOS、OSI、任意のトンネリングプロトコル(例えば、IPsec、SSH)、または、任意の数の既存のまたは将来的なプロトコル、も利用しうる。
一部の実施形態は、完全に機能するコンピュータおよびコンピュータシステムで実施できる一方で、様々な実施形態は、様々な形態のコンピューティング製品として供給することができ、また実際にその供給を実現するために使用されている特定タイプのマシンまたはコンピュータ読取可能媒体が何であるかにかかわらず適用することができる。
機械読取可能媒体は、データ処理システムによって実行されるときに、システムに様々な方法を実行させるソフトウェアおよびデータを格納するために使用できる。実行可能なソフトウェアおよびデータは、例えばROM、揮発性RAM、不揮発性メモリ、および/または、キャッシュなど、様々な場所に格納されうる。このソフトウェアおよび/またはデータの部分が、これらのストレージ装置のどれか一つに格納されうる。さらに、データおよび命令は、中央サーバーまたはピアツーピアネットワークから取得できる。データおよび命令の異なる部分が、異なる中央サーバーおよび/またはピアツーピアネットワークから、異なる時点で、および、異なる通信セッションまたは同じ通信セッションで、取得できる。データおよび命令は、アプリケーションの実行前に全体を取得できる。あるいは、データおよび命令の部分は実行が必要な時に動的にジャストインタイムで取得してもよい。したがって、データおよび命令は、特定の時点で全体が機械読取可能媒体上にあることは要求されない。
コンピュータ読取可能媒体の例には、中でも、揮発性および不揮発性メモリ装置、読み取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、フラッシュメモリ装置、フロッピーディスクまたはその他のリムーバブルディスク、磁気ディスクストレージ媒体、光学ストレージ媒体(例えば、CD ROM、DVDなど)、などの記録可能および記録可能でないタイプの媒体が含まれるが、これらに限定されない。コンピュータ読取可能媒体は命令を格納しうる。
様々な実施形態において、配線された回路をソフトウェア命令と組み合わせて使用して、技術を実施しうる。したがって、技術は、ハードウェア回路およびソフトウェアのいずれかの特定の組み合わせにも、データ処理システムによって実行される命令のいずれかの特定のソースにも限定されない。
一部の図面は数多くの動作を特定の順序で図示しているが、順序に依存しない動作は並べ替えてもよく、またその他の動作は、組み合わせたり引き離したりしてもよい。一部の並べ換えまたはその他のグループ化について具体的に言及したが、当業者にとってはその他も明らかであるため、代替案の完全なリストを提示するものではない。さらに、段階はハードウェア、ファームウェア、ソフトウェアまたはそれらの任意の組み合わせで実施されうることが認識されるべきである。
簡潔にするために、従来的なデータネットワーキング、アプリケーション開発、および、システム(およびシステムの個別のオペレーティングコンポーネントのコンポーネント)、のその他の機能的側面は、本明細書では詳細には説明しないことがある。その上、本明細書に含まれている様々な図に示される接続線は、様々な要素間の機能的関係および/または物理的結合を例示することが意図されている。多くの代替的または追加的な機能的関係または物理的接続が、実用的なシステム内に存在しうることに注意すべきである。
本明細書で考察した様々なシステムコンポーネントには、
デジタルデータを処理するためのプロセッサを含むホストサーバーまたはその他のコンピューティングシステムと、
デジタルデータを格納するためにプロセッサに結合されたメモリと、
デジタルデータを入力するためにプロセッサに結合された入力デジタイザーと、
メモリ内に格納され、かつ、プロセッサによるデジタルデータの処理を指令するためにプロセッサによってアクセス可能なアプリケーションプログラムと、
プロセッサにより処理されたデジタルデータから導き出された情報を表示するためにプロセッサおよびメモリに結合されたディスプレイ装置と、
複数のデータベースと、
のうち、一つまたは複数が含まれうる。本明細書で使用されている様々なデータベースには、出荷データ、パッケージデータ、および/または、システムの動作において有用な任意のデータ、が含まれうる。
様々な機能性が、ウェブブラウザおよび/またはウェブブラウザを利用したアプリケーション接続を経由して実施されうる。こうしたブラウザアプリケーションは、様々な機能を実行するために、コンピューティングユニットまたはシステム内にインストールされたインターネットブラウジングソフトウェアを備えうる。これらのコンピューティングユニットまたはシステムは、コンピュータまたはコンピュータの組の形態をとることができ、またラップトップ、ノートブック、タブレット、手持ち型コンピュータ、携帯情報端末機器、セットトップボックス、ワークステーション、コンピュータ−サーバー、メインフレームコンピュータ、ミニコンピュータ、PCサーバー、ネットワークセットのコンピュータ、パーソナルコンピュータあるいはタブレットコンピュータ(iPad、iMac、および、MacBook、など)、キオスク、端末、販売時点管理(POS)装置および/または端末、テレビ、または、ネットワークを通してデータを受信できるその他の任意の装置、を含めた、任意のタイプのコンピューティング装置またはシステムが使用されうる。様々な実施形態は、Microsoft Internet Explorer、Mozilla Firefox、Google Chrome、Apple Safari、Opera、または、インターネットの閲覧用に入手可能なその他任意の種々のソフトウェアパッケージ、を利用しうる。
様々な実施形態は、適切な任意のオペレーティングシステム(例えば、Windows NT、95/98/2000/CE/Mobile/、Windows 7/8、OS2、UNIX、Linux、Solaris、MacOS、PalmOSなど)のほか、一般的にコンピュータに関連付けられた様々な従来的なサポートソフトウェアおよびドライバーとともに動作しうる。様々な実施形態には、適切な任意のパーソナルコンピュータ、ネットワークコンピュータ、ワークステーション、携帯情報端末機器、携帯電話、スマートフォン、ミニコンピュータ、メインフレーム、または、それに類するもの、が含まれうる。実施形態は、セキュアソケットレイヤー(SSL)、トランスポート層セキュリティ(TLS)、および、セキュアシェル(SSH)、などのセキュリティプロトコルを実施しうる。実施形態は、http、https、ftp、および、sftp、を含む望ましい任意のアプリケーション層プロトコルを実施しうる。
様々なシステムコンポーネントは、例えば、標準モデム通信、ケーブルモデム、衛星ネットワーク、ISDN、デジタル加入者ライン(DSL)、または、様々なワイヤレス通信方式と接続して一般に使用されるローカルループを介した、インターネットサービスプロバイダ(ISP)への接続を含むデータリンクを経由してネットワークに、独立的に、別個に、または、集合的に、適切に結合されうる。本開示の実施形態は、双方向テレビ(ITV)ネットワークなど、適切な任意のタイプのネットワークとともに動作しうることが注目される。
システムは、部分的にまたは全面的にクラウドコンピューティングを使用して実施されうる。「クラウド」または「クラウドコンピューティング」には、最小限の管理労力またはサービスプロバイダとのやり取りで迅速に提供およびリリースできる、構成可能なコンピューティングリソース(例えば、ネットワーク、サーバー、ストレージ、アプリケーション、および、サービス)の共有プールへの便利なオンデマンド式のネットワークアクセスを可能にするモデルが含まれる。クラウドコンピューティングには、位置非依存型コンピューティングが含まれうるが、それによって、共有サーバーが、リソース、ソフトウェア、および、データ、をコンピュータおよびその他の装置にオンデマンド式に供給する。
様々な実施形態は、ウェブサービス、ユーティリティコンピューティング、遍在的で個別化されたコンピューティング、セキュリティおよびアイデンティティソリューション、オートノミックコンピューティング、クラウドコンピューティング、コモディティコンピューティング、モビリティおよびワイヤレスソリューション、オープンソース、バイオメトリクス、グリッドコンピューティング、および/または、メッシュコンピューティング、とともに使用されうる。
本明細書で考察した任意のデータベースには、リレーショナル構造、階層構造、グラフィカル、または、オブジェクト指向、および/または、その他任意のデータベース構成、が含まれうる。さらに、データベースは、例えば、データテーブルまたはルックアップテーブルといった適切な任意の様式で整理されうる。各レコードは、単一のファイル、一連のファイル、リンク付けられた一連のデータフィールドまたはその他任意のデータ構造としうる。一定のデータの関連付けは、当技術分野で周知または実践されているものなど、望ましい任意のデータ関連付け技術によって達成されうる。例えば、関連付けは、手動でまたは自動的に達成されうる。
システムの任意のデータベース、システム、装置、サーバー、または、その他のコンポーネント、は、単一の場所または複数の場所に位置しうるが、ここで各データベースまたはシステムには、ファイアウォール、アクセスコード、暗号化、復号化、圧縮、解凍、および/または、それに類するもの、など、任意の様々な適切なセキュリティ機能が含まれる。
暗号化は、当技術分野で現在利用可能な、または、利用可能となる可能性のある任意の技術、例えば、Twofish、RSA、El Gamal、Schorr署名、DSA、PGP、PKI、および、対称性および非対称性暗号システム、によって実行されうる。
実施形態は、標準ダイアルアップ、ケーブル、DSL、または、当技術分野で周知のその他任意のインターネットプロトコル、を使用して、インターネットまたはイントラネットに接続されうる。トランザクションは、その他のネットワークのユーザーからの無許可アクセスを防止するためにファイアウォールを通過しうる。
本明細書で考察したコンピュータは、適切なウェブサイトまたはユーザーによってアクセス可能なその他のインターネットベースのグラフィカルユーザーインターフェースを提供しうる。例えば、Microsoftインターネット情報サーバー(IIS)、Microsoftトランザクションサーバー(MTS)、および、Microsoft SQLサーバー、は、Microsoftオペレーティングシステム、Microsoft NTウェブサーバーソフトウェア、Microsoft SQLサーバーデータベースシステム、および、Microsoftコマースサーバー、とともに使用されうる。さらに、AccessまたはMicrosoft SQLサーバー、Oracle、Sybase、Informix MySQL、Interbaseなどといったコンポーネントが、アクティブデータオブジェクト(ADO)準拠のデータベース管理システムを提供するために使用されうる。別の例では、Apacheウェブサーバーが、Linuxオペレーティングシステム、MySQLデータベース、およびPerl、PHP、および/または、Pythonプログラミング言語、とともに使用できる。
本明細書で考察した任意の通信、入力、ストレージ、データベース、または、ディスプレイ、は、ウェブページを持つウェブサイトを通して促進されうる。本明細書で使用される「ウェブページ」という用語は、ユーザーとの相互作用に使用されうるドキュメントおよびアプリケーションのタイプを制限することを意図していない。例えば、典型的なウェブサイトには、標準HTMLドキュメントに加えて、様々なフォーム、Javaアプレット、JavaScript、アクティブサーバーページ(ASP)、共通ゲートウェイインターフェーススクリプト(CGI)、拡張マークアップ言語(XML)、ダイナミックHTML、カスケーディングスタイルシート(CSS)、AJAX(Asynchronous Javascript And XML)、ヘルパーアプリケーション、プラグイン、および、これに類するもの、が含まれうる。サーバーには、ウェブサーバーからの要求を受信するウェブサービスが含まれうるが、要求には、URLおよびIPアドレスが含まれる。ウェブサーバーは、適切なウェブページを取り出し、ウェブページ用のデータまたはアプリケーションをIPアドレスに送信する。ウェブサービスは、インターネットなどの通信手段によってその他のアプリケーションと相互作用できるアプリケーションである。
様々な実施形態は、ブラウザベースのドキュメント内にデータを表示するために望ましい任意の数の方法を採用しうる。例えば、データは、標準テキストとして、または固定リスト、スクロール可能リスト、ドロップダウンリスト、編集可能テキストフィールド、固定テキストフィールド、ポップアップウィンドウ、および、これに類するものの内部に表現されうる。同様に、実施形態は、例えば、キーボードを使用したフリーテキスト入力、メニュー項目、チェックボックス、オプションボックスの選択、および、これに類するものなど、ウェブページ内のデータを修正するために、望ましい任意の数の方法を利用しうる。
本明細書で例証したシステムおよび方法の例は、機能ブロックコンポーネント、スクリーンショット、随意的な選択および様々な処理ステップという点から説明されうる。当然ながら、こうした機能ブロックは、特定化された機能を実行するよう構成された任意の数のハードウェアおよび/またはソフトウェアコンポーネントによって実現されうる。例えば、システムは、様々な集積回路コンポーネント、例えば、記憶素子、処理要素、論理素子、ルックアップテーブル、および、これに類するもの、を採用しうるが、これらは、一つまたは複数のマイクロプロセッサまたはその他の制御装置の制御下にある様々な機能を遂行しうる。同様に、システムのソフトウェア要素は、C、C++、C#、Java、JavaScript、VBScript、Macromedia Cold Fusion、COBOL、Microsoftアクティブサーバーページ、アセンブリ、PERL、PHP、AWK、Python、Visual Basic、SQLストアドプロシージャ、PL/SQL、任意のUNIXシェルスクリプト、および、拡張マークアップ言語(XML)、などの任意のプログラミングまたはスクリプト言語を、データ構造、オブジェクト、プロセス、ルーチン、または、その他のプログラミング要素の任意の組み合わせで実施されている様々なアルゴリズム、を用いて実施されうる。さらに、システムは、データ伝送、シグナル伝達、データ処理、ネットワーク制御、および、これに類するもの、のために、任意の数の従来的な技術を採用しうることに注目すべきである。なおさらに、システムは、JavaScript、VBScript、または、それに類するもの、などのクライアント側スクリプト言語を用いて、セキュリティ問題を検出または防止するために使用することができる。
本開示のシステムおよび方法は、既存のシステムをカスタム化したもの、アドオン製品、アップグレードされたソフトウェアを実行する処理機器、スタンドアロンシステム、分散システム、方法、データ処理システム、データ処理用の装置、および/または、コンピュータープログラム製品、として具現化されうる。したがって、システムまたはモジュールの任意の部分は、コードを実行する処理機器、インターネットベースの実施形態、完全なハードウェア実施形態、または、インターネット、ソフトウェア、および、ハードウェア、の態様を組み合わせた実施形態、の形態をとりうる。その上、システムは、記憶媒体内に具現化されたコンピュータ読取可能プログラムコード手段を有するコンピュータ読取可能記憶媒体上のコンピュータープログラム製品の形態をとりうる。ハードディスク、CD−ROM、光学ストレージ装置、磁気ストレージ装置、および/または、それに類するもの、を含む、適切な任意のコンピュータ読取可能記憶媒体が利用されうる。
本明細書では、システムおよび方法が、様々な実施形態による方法、器具(例えば、システム)、およびコンピュータープログラム製品のスクリーンショット、ブロック線図、および、フローチャート図、を参照しながら説明されている。ブロック線図およびフローチャート図の、各機能ブロックならびにブロック線図、および、フローチャート図内の機能ブロックの組み合わせ、は、それぞれ、コンピュータープログラム命令によって実施されうることが理解される。
これらのコンピュータープログラム命令は、コンピュータまたはその他のプログラム可能データ処理機器上で実行する命令が、フローチャートのブロック内で指定された機能を実施するための手段を作成するように、汎用コンピュータ、特殊用途コンピュータ、または、その他のプログラム可能データ処理機器上に読み込まれてマシン、を生成しうる。これらのコンピュータープログラム命令はまた、コンピュータ読取可能メモリ内に格納された命令が、フローチャートのブロック内で指定された機能を実施する命令手段を含む製造品を生成するように、コンピュータまたはその他のプログラム可能データ処理機器に特定の様式で機能するように指示できるコンピュータ読取可能メモリ内に格納されうる。コンピュータープログラム命令はまた、コンピュータまたはその他のプログラム可能機器上で実行する命令が、フローチャートのブロック内で指定された機能を実施するためのステップを提供するように、コンピュータまたはその他のプログラム可能データ処理機器上に読み込まれて、コンピュータまたはその他のプログラム可能機器上で一連の動作ステップを実行して、コンピュータにより実施されるプロセスを生成しうる。
したがって、ブロック線図およびフローチャート図の機能ブロックは、特定化された機能を実行するための手段の組み合わせ、特定化された機能を実行するためのステップの組み合わせ、および、特定化された機能を実行するためのプログラム命令手段、に対応する。それぞれのブロック線図およびフローチャート図の機能ブロック、ならびに、ブロック線図およびフローチャート図内の機能ブロックの組み合わせ、は、特定化された機能またはステップを実行する特殊用途のハードウェアベースのコンピュータシステム、または、特殊用途のハードウェアおよびコンピュータ命令の適切な組み合わせ、のいずれかにより実施されうることも理解される。さらに、プロセスフロー図およびその説明では、ユーザーウィンドウ、ウェブページ、ウェブサイト、ウェブフォーム、プロンプトなどに言及する場合がある。当業者であれば、本明細書に記載され図示されたステップは、ウィンドウ、ウェブページ、ウェブフォーム、ポップアップウィンドウ、プロンプト、および、これに類するもの、の使用を含めて、任意の数の構成を含みうることがわかる。さらに、図示および説明された複数のステップは、単一のウェブページおよび/またはウィンドウ内に組み合わされうるが、簡略化のために拡大されていることもわかる。その他のケースでは、単一のプロセスステップとして図示および説明されたステップは、複数のウェブページおよび/またはウィンドウに分離されうるが、簡略化のために組み合わされている。
「非一時的」という用語は、一時的な信号それ自体の伝搬のみを請求範囲から除去するものと理解されるべきであり、一時的な信号それ自体を伝搬するだけではないすべての標準的なコンピュータ読取可能媒体に対する権利を放棄するものではない。言い換えれば、「非一時的なコンピュータ読取可能媒体」という用語の意味は、米国特許法第101条(35 U.S.C. §101)に基づき特許性のある主題の範囲外にあるNuijten事件にある一時的なコンピュータ読取可能媒体のタイプのみを除くものと解釈されるべきである。
利益、その他の利点、および問題に対する解決策について、特定の実施形態に関連して本明細書に説明してきた。ところが、利益、利点、問題に対する解決策、および、何らかの利益、利点、または、解決策をもたらすかまたはより顕著にしうる任意の要素、は、本開示の重大な、必須の、または、不可欠の、特徴または要素とは解釈されないものとする。
本開示には方法が含まれるが、磁気メモリもしくは光学メモリまたは磁気ディスクもしくは光学ディスクなど、有形のコンピュータ読取可能担体上のコンピュータープログラム命令として具現化されうることが意図されている。上述の実施形態例の要素に対する、当業者にとって周知の構造上、化学的、および、機能上のすべての等価物は、参照により本明細書に明示的に組み込まれ、また本請求によって包含されることが意図される。さらに、装置または方法は、それが本請求によって包含されるために、本開示が解決しようとするあらゆる問題に対処している必要はない。その上、本開示のいかなる要素、コンポーネント、または、方法のステップも、その要素、コンポーネント、または、方法のステップが、請求内で明瞭に列挙されているかどうかにかかわらず、公衆に献呈されることを意図しない。本明細書にあるいかなる請求要素も、その要素が「〜の手段」という語句を使用して明示的に列挙されていない限り、米国特許法第112条(35 U.S.C. 112)、第6段落の条項に基づき解釈されないものとする。本明細書で使用されるとき、「備える」や「含む」という用語またはその他何らかのその変形体は、要素のリストを含むプロセス、方法、物品、あるいは、器具、が、それらの要素だけでなく、明示的にはリストされていない、または、こうしたプロセス、方法、物品、あるいは、器具、に固有のその他の要素を含みうるように、非排他的な包含を網羅することを意図する。
「A、B、または、C、のうち少なくとも一つ」、「A、B、および、C、のうち少なくとも一つ」、「一つまたは複数のA、B、または、C」、または「A、B、および、Cのうち一つまたは複数」に類似した語句が使用される場合、この語句は、Aのみが実施形態に存在しうる、Bのみが実施形態に存在しうる、Cのみが実施形態に存在しうる、または要素A、B、および、C、の任意の組み合わせ、例えば、AとB、AとC、BとC、または、AとBとC、が、単一の実施形態に存在しうることを意味するものとして解釈されることが意図される。
開示された実施形態に対して、本開示の範囲を逸脱することなく、変更や修正がなされうる。これらの変更または修正およびその他の変更または修正は、以下の請求項で示される、本開示の範囲内に含まれることが意図される。

Claims (13)

  1. コンピュータにより実施される方法であって、
    コンピュータシステム上で実行されるオペレーティングシステムのユーザー空間部分内に存在する仮想プライベートネットワーク(VPN)クライアントのルーティングコンポーネントによってネットワークを経由してデータパケットを受信するステップと、
    前記ルーティングコンポーネントによって前記ネットワーク上の前記データパケットの宛先を特定するステップと、
    前記VPNクライアントによって前記データパケットの前記宛先に対応するゲートウェイへの接続を形成するステップと、
    前記ゲートウェイを経由して前記データパケットを前記宛先に送信するステップと、
    を含む方法。
  2. 前記データパケットが前記オペレーティングシステムのカーネル空間部分内で動作する仮想アダプターを経由して受信される請求項1に記載の方法。
  3. 前記データパケットの前記宛先を特定するステップが、前記データパケットの前記宛先に対応する前記ゲートウェイを特定するステップを含む請求項1に記載の方法。
  4. 前記ゲートウェイへの接続を形成するステップが、転送制御プロトコル接続を確立するステップを含む請求項1に記載の方法。
  5. 前記ゲートウェイへの接続を確立するステップが、ユーザーデータグラムプロトコル接続を確立するステップを含む請求項1に記載の方法。
  6. 前記ゲートウェイ接続を解除するステップをさらに含む請求項1に記載の方法。
  7. 請求項1に記載の方法であって、さらに、
    前記ルーティングコンポーネントによって複数のデータパケットを受信するステップと、
    前記複数のデータパケットからの各データパケットそれぞれについて前記ネットワーク上のそれぞれの宛先を特定するステップと、
    前記複数のデータパケット内で各データパケットそれぞれについてそれぞれの宛先に対応するゲートウェイへのそれぞれの接続を確立するステップと、
    各データパケットそれぞれを、そのそれぞれのゲートウェイ接続を経由してそのそれぞれの宛先に送信するステップと、
    を含む方法。
  8. 前記複数のゲートウェイ接続の一つまたは複数を解除するステップをさらに含む請求項7に記載の方法。
  9. 前記複数のデータパケットがそれぞれ、前記オペレーティングシステムのカーネル空間内で動作する単一の仮想アダプターを通して送られる請求項1に記載の方法。
  10. 前記ルーティングコンポーネントがルーティングテーブルを備える請求項1に記載の方法。
  11. 前記ルーティングテーブルがデータパケットの宛先アドレスを特定する請求項10に記載の方法。
  12. 非一時的なコンピュータ読取可能媒体であって、
    実行したとき、コンピュータシステムに、
    前記コンピュータシステム上で実行されるオペレーティングシステムのユーザー空間部分内に存在する仮想プライベートネットワーク(VPN)クライアントのルーティングコンポーネントによってネットワークを経由してデータパケットを受信させ、
    前記ルーティングコンポーネントによって前記ネットワーク上の前記データパケットの宛先を特定させ、
    前記VPNクライアントによって前記データパケットの前記宛先に対応するゲートウェイへの接続を確立させ、
    前記ゲートウェイを経由して前記データパケットを前記宛先に送信させる、
    命令を格納している非一時的なコンピュータ読取可能媒体。
  13. コンピュータシステムであって、
    プロセッサと、
    メモリであって、
    前記プロセッサと通信しており、
    前記プロセッサによって実行されたとき、前記コンピュータシステムに、
    前記コンピュータシステム上で実行されるオペレーティングシステムのユーザー空間部分内に存在する仮想プライベートネットワーク(VPN)クライアントのルーティングコンポーネントによってネットワークを経由してデータパケットを受信させ、
    前記ルーティングコンポーネントによって前記ネットワーク上の前記データパケットの宛先を特定させ、
    前記VPNクライアントによって前記データパケットの前記宛先に対応するゲートウェイへの接続を確立させ、
    前記ゲートウェイを経由して前記データパケットを前記宛先に送信させる、
    命令を格納しているメモリと、
    を備えるコンピュータシステム。
JP2017541385A 2015-02-05 2015-12-03 マルチトンネル方式仮想ネットワークアダプター Active JP6343101B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562112457P 2015-02-05 2015-02-05
US62/112,457 2015-02-05
US14/630,550 US9906497B2 (en) 2014-10-06 2015-02-24 Multi-tunneling virtual network adapter
US14/630,550 2015-02-24
PCT/US2015/063783 WO2016126313A1 (en) 2015-02-05 2015-12-03 Multi-tunneling virtual network adapter

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2018095144A Division JP2018139448A (ja) 2015-02-05 2018-05-17 マルチトンネル方式仮想ネットワークアダプター

Publications (2)

Publication Number Publication Date
JP2018508140A true JP2018508140A (ja) 2018-03-22
JP6343101B2 JP6343101B2 (ja) 2018-06-13

Family

ID=56564480

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2017541385A Active JP6343101B2 (ja) 2015-02-05 2015-12-03 マルチトンネル方式仮想ネットワークアダプター
JP2018095144A Pending JP2018139448A (ja) 2015-02-05 2018-05-17 マルチトンネル方式仮想ネットワークアダプター

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2018095144A Pending JP2018139448A (ja) 2015-02-05 2018-05-17 マルチトンネル方式仮想ネットワークアダプター

Country Status (11)

Country Link
EP (1) EP3254415B1 (ja)
JP (2) JP6343101B2 (ja)
KR (1) KR101966574B1 (ja)
CN (1) CN107210956A (ja)
AU (2) AU2015381737B2 (ja)
BR (1) BR112017016634A2 (ja)
CA (1) CA2975168A1 (ja)
CO (1) CO2017008027A2 (ja)
MX (1) MX370066B (ja)
RU (1) RU2675147C1 (ja)
WO (1) WO2016126313A1 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019240158A1 (ja) * 2018-06-13 2019-12-19 日本電気株式会社 通信システム及び通信方法
JP2022539435A (ja) * 2019-09-24 2022-09-08 プライビット テクノロジー インク 端末のネットワーク接続を認証及び制御するためのシステム及びそれに関する方法
US11652801B2 (en) 2019-09-24 2023-05-16 Pribit Technology, Inc. Network access control system and method therefor
US12166759B2 (en) 2019-09-24 2024-12-10 Pribit Technology, Inc. System for remote execution code-based node control flow management, and method therefor
US12348494B2 (en) 2019-09-24 2025-07-01 Pribit Technology, Inc. Network access control system and method therefor
US12381890B2 (en) 2019-09-24 2025-08-05 Pribit Technology, Inc. System and method for secure network access of terminal
US12519754B2 (en) 2019-09-24 2026-01-06 Pribit Technology, Inc. System for controlling network access of node on basis of tunnel and data flow, and method therefor

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9560015B1 (en) * 2016-04-12 2017-01-31 Cryptzone North America, Inc. Systems and methods for protecting network devices by a firewall
CN107465752B (zh) * 2017-08-22 2021-02-05 苏州浪潮智能科技有限公司 一种连接管理方法及装置
CN109032602B (zh) * 2018-06-07 2021-09-14 山东超越数控电子股份有限公司 一种软件自动适配操作系统的方法
CN109067933B (zh) * 2018-07-25 2021-12-24 赛尔网络有限公司 基于隧道的IPv4与IPv6的网络通信系统及方法
US11381557B2 (en) 2019-09-24 2022-07-05 Pribit Technology, Inc. Secure data transmission using a controlled node flow
US11190494B2 (en) 2019-09-24 2021-11-30 Pribit Technology, Inc. Application whitelist using a controlled node flow
US11271777B2 (en) 2019-09-24 2022-03-08 Pribit Technology, Inc. System for controlling network access of terminal based on tunnel and method thereof
KR102119257B1 (ko) * 2019-09-24 2020-06-26 프라이빗테크놀로지 주식회사 터널에 기반하여 단말의 네트워크 접속을 제어하기 위한 시스템 및 그에 관한 방법
US12463846B2 (en) * 2020-08-28 2025-11-04 Pismo Labs Technology Limited Methods and systems for transmitting session-based packets
KR102427663B1 (ko) * 2022-01-14 2022-08-02 프라이빗테크놀로지 주식회사 컨트롤러 기반의 네트워크 접속을 제어하기 위한 시스템 및 그에 관한 방법
KR102474989B1 (ko) * 2022-03-03 2022-12-07 농업협동조합중앙회 퍼블릭 클라우드 상의 가상 머신에 대한 보안 사용을 지원하는 서버 및 그 제어 방법
CN115001977B (zh) * 2022-04-11 2024-02-13 北京华耀科技有限公司 建立虚拟专网的方法、系统及虚拟专网客户端设备
KR20250063314A (ko) 2023-11-01 2025-05-08 주식회사 케이티 모바일 운영체제의 가상화 프레임워크를 이용한 독립형 vpn 구조

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020026503A1 (en) * 2000-04-12 2002-02-28 Samuel Bendinelli Methods and system for providing network services using at least one processor interfacing a base network
US20050273850A1 (en) * 2004-06-07 2005-12-08 Check Point Software Technologies, Inc. Security System with Methodology Providing Verified Secured Individual End Points
WO2006012612A1 (en) * 2004-07-23 2006-02-02 Citrix Systems, Inc. A method and systems for securing remote access to private networks
US20060037072A1 (en) * 2004-07-23 2006-02-16 Citrix Systems, Inc. Systems and methods for network disruption shielding techniques
US20090031415A1 (en) * 2007-07-26 2009-01-29 International Business Machines Corporation Dynamic Network Tunnel Endpoint Selection
WO2010069058A1 (en) * 2008-12-17 2010-06-24 Nortel Networks Limited Secure remote access public communication environment

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7673048B1 (en) * 2003-02-24 2010-03-02 Cisco Technology, Inc. Methods and apparatus for establishing a computerized device tunnel connection
CN1266891C (zh) * 2003-06-06 2006-07-26 华为技术有限公司 无线局域网中用户接入授权的方法
US7360237B2 (en) 2004-07-30 2008-04-15 Lehman Brothers Inc. System and method for secure network connectivity
JP4561983B2 (ja) * 2005-01-13 2010-10-13 日本電気株式会社 ローカルコンテンツ接続システム、移動端末、ローカルコンテンツ接続方法及びクライアントプログラム
RU2481717C2 (ru) * 2008-06-09 2013-05-10 Дженисис Текникал Системз Корп. Связанное соединение между собой локальных сетей
WO2011120000A2 (en) * 2010-03-26 2011-09-29 Citrix Systems, Inc. Systems and methods for link load balancing on a multi-core device
US20120278878A1 (en) * 2011-04-27 2012-11-01 International Business Machines Corporation Systems and methods for establishing secure virtual private network communications using non-privileged vpn client
CN102801695B (zh) * 2011-05-27 2015-10-14 华耀(中国)科技有限公司 虚拟专用网通信设备及其数据包传输方法
CN103067290B (zh) * 2012-11-30 2016-06-01 成都卫士通信息产业股份有限公司 基于虚拟网卡适应负载均衡网络的vpn隧道实现方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020026503A1 (en) * 2000-04-12 2002-02-28 Samuel Bendinelli Methods and system for providing network services using at least one processor interfacing a base network
US20050273850A1 (en) * 2004-06-07 2005-12-08 Check Point Software Technologies, Inc. Security System with Methodology Providing Verified Secured Individual End Points
WO2006012612A1 (en) * 2004-07-23 2006-02-02 Citrix Systems, Inc. A method and systems for securing remote access to private networks
US20060037072A1 (en) * 2004-07-23 2006-02-16 Citrix Systems, Inc. Systems and methods for network disruption shielding techniques
US20090031415A1 (en) * 2007-07-26 2009-01-29 International Business Machines Corporation Dynamic Network Tunnel Endpoint Selection
WO2010069058A1 (en) * 2008-12-17 2010-06-24 Nortel Networks Limited Secure remote access public communication environment

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
SHEN, YAN ET AL.: "A Multi-Tunnel VPN Concurrent System for New Generation Network Based on User Space", 2012 IEEE 11TH INTERNATIONAL CONFERENCE ON TRUST, SECURITY AND PRIVACY IN COMPUTING AND COMMUNICATIO, JPN6018013450, 2012, pages 1334 - 1341, ISSN: 0003778032 *
WANG, SONG ET AL.: "A distributed object-based IPSec multi-tunnels concurrent architecture", 2011 INTERNATIONAL CONFERENCE ON COMPUTATIONAL PROBLEM-SOLVING (ICCP), JPN6018013451, 2011, pages 471 - 476, ISSN: 0003778033 *
鈴木秀和、他2名: "ユーザ空間における移動透過通信技術の設計と実装", 「マルチメディア,分散,協調とモバイル(DICOMO2014)シンポジウム」, JPN6018013454, 2 July 2014 (2014-07-02), pages 1319 - 1325, ISSN: 0003778034 *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7298606B2 (ja) 2018-06-13 2023-06-27 日本電気株式会社 通信システム及び通信方法
JPWO2019240158A1 (ja) * 2018-06-13 2021-06-24 日本電気株式会社 通信システム及び通信方法
WO2019240158A1 (ja) * 2018-06-13 2019-12-19 日本電気株式会社 通信システム及び通信方法
US11523443B2 (en) 2018-06-13 2022-12-06 Nec Corporation Extraction, conversion, and transmission of user packet from encapsulated packet
JP2023162313A (ja) * 2019-09-24 2023-11-08 プライビット テクノロジー インク 端末のネットワーク接続を認証及び制御するためのシステム及びそれに関する方法
US11652801B2 (en) 2019-09-24 2023-05-16 Pribit Technology, Inc. Network access control system and method therefor
JP2022539435A (ja) * 2019-09-24 2022-09-08 プライビット テクノロジー インク 端末のネットワーク接続を認証及び制御するためのシステム及びそれに関する方法
JP7395211B2 (ja) 2019-09-24 2023-12-11 プライビット テクノロジー インク 端末のネットワーク接続を認証及び制御するためのシステム及びそれに関する方法
JP7489147B2 (ja) 2019-09-24 2024-05-23 プライビット テクノロジー インク 端末のネットワーク接続を認証及び制御するためのシステム及びそれに関する方法
US12166759B2 (en) 2019-09-24 2024-12-10 Pribit Technology, Inc. System for remote execution code-based node control flow management, and method therefor
US12267304B2 (en) 2019-09-24 2025-04-01 Pribit Technology, Inc. System for authenticating and controlling network access of terminal, and method therefor
US12348494B2 (en) 2019-09-24 2025-07-01 Pribit Technology, Inc. Network access control system and method therefor
US12381890B2 (en) 2019-09-24 2025-08-05 Pribit Technology, Inc. System and method for secure network access of terminal
US12519754B2 (en) 2019-09-24 2026-01-06 Pribit Technology, Inc. System for controlling network access of node on basis of tunnel and data flow, and method therefor

Also Published As

Publication number Publication date
KR101966574B1 (ko) 2019-04-05
CN107210956A (zh) 2017-09-26
RU2675147C1 (ru) 2018-12-17
JP6343101B2 (ja) 2018-06-13
BR112017016634A2 (pt) 2018-06-19
AU2015381737B2 (en) 2018-04-19
EP3254415A1 (en) 2017-12-13
CO2017008027A2 (es) 2017-08-18
AU2018206713B2 (en) 2019-06-06
MX370066B (es) 2019-11-29
JP2018139448A (ja) 2018-09-06
EP3254415B1 (en) 2020-01-29
CA2975168A1 (en) 2016-08-11
WO2016126313A1 (en) 2016-08-11
MX2017009906A (es) 2017-12-07
EP3254415A4 (en) 2018-10-31
AU2018206713A1 (en) 2018-08-02
AU2015381737A1 (en) 2017-08-10
KR20170128270A (ko) 2017-11-22

Similar Documents

Publication Publication Date Title
JP6343101B2 (ja) マルチトンネル方式仮想ネットワークアダプター
US10938785B2 (en) Multi-tunneling virtual network adapter
US10979398B2 (en) Systems and methods for protecting network devices by a firewall
RU2714367C1 (ru) Системы и способы для защиты сетевых устройств посредством межсетевого экрана
US9729514B2 (en) Method and system of a secure access gateway
US9479540B2 (en) User-based network onboarding
US8839396B1 (en) Providing single sign-on for wireless devices
CN114374529B (zh) 资源访问方法、装置、系统、电子设备、介质及程序

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170803

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180417

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180517

R150 Certificate of patent or registration of utility model

Ref document number: 6343101

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250