JP4802295B1 - ネットワークシステム及び仮想プライベート接続形成方法 - Google Patents
ネットワークシステム及び仮想プライベート接続形成方法 Download PDFInfo
- Publication number
- JP4802295B1 JP4802295B1 JP2010194959A JP2010194959A JP4802295B1 JP 4802295 B1 JP4802295 B1 JP 4802295B1 JP 2010194959 A JP2010194959 A JP 2010194959A JP 2010194959 A JP2010194959 A JP 2010194959A JP 4802295 B1 JP4802295 B1 JP 4802295B1
- Authority
- JP
- Japan
- Prior art keywords
- server
- terminal
- information
- local master
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2514—Translation of Internet protocol [IP] addresses between local and global IP addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0272—Virtual private networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0281—Proxies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/029—Firewall traversal, e.g. tunnelling or, creating pinholes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/2895—Intermediate processing functionally located close to the data provider application, e.g. reverse proxies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/604—Address structures or formats
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Telephonic Communication Services (AREA)
- Small-Scale Networks (AREA)
Abstract
【解決手段】静的NAT形成装置がコントロールセッションを通じてコンダクタに対して認証を実行した後、端末がリバースプロキシサーバの先に存在するネットワーク内のサーバに対する接続を要求したら、静的NAT形成装置及びステッピングノードは静的NATを、リバースプロキシサーバはリバースプロキシを設定して、端末とサーバとの間にデータセッションを形成する。このようにネットワークシステムを構築することで、プライベートアドレスの衝突のない、仮想的な接続形態で、ファイアウォールを越えた端末のサーバに対する接続が実現できる。
【選択図】図1
Description
より詳細には、従来の仮想プライベートネットワーク(Virtual Private Network:以下「VPN」)の問題点を解消し、極めて軽量なソフトウェア及びハードウェアの追加で、柔軟な運用性且つ強固なセキュリティを実現する、新規な仮想プライベートネットワークシステム及び仮想プライベート接続形成方法に関する。
VPNはその接続形態によって様々な種類があるが、大別すると二通りの技術に分類できる。
一つは、LANの外に存在する端末にLANのサブネットに属するIPアドレスを付与する手法である。
もう一つは、ポートフォワーディング又は静的NAT(Network Address Translation)と呼ばれる手法である。
殆どの企業内LANはIPv4のプライベートアドレスを用いている。そこで、LANの外、つまりインターネットに接続されている端末にも企業内LANのサブネットに属するプライベートアドレスを付与する。しかし、端末に備えられているネットワークインターフェースカード(Network Interface Card:以下「NIC」)には、既にインターネットサービスプロバイダ(Internet Service Provider:以下「ISP」)によってグローバルIPアドレスが付与されている。そこで、仮想的なNICをソフトウェアで実現し、これに企業内LANのサブネットに属するIPアドレスを付与する。そして、この仮想NICに対する通信は暗号化してファイアウォールを通過させる。
更に、ISPが付与するIPアドレスがプライベートアドレスである場合、ISPが付与するIPアドレスと、VPNが付与するIPアドレスが衝突する可能性がある。現在でもケーブルテレビ系列のISPやネットカフェ等の公衆インターネット接続拠点では、端末にプライベートアドレスを付与している。またこれに留まらず、今後IPv4アドレスの枯渇に伴って普及が予測される「キャリアグレードNAT」(http://itpro.nikkeibp.co.jp/article/COLUMN/20080625/309452/)が広く実施されると、IPアドレスの衝突の可能性は飛躍的に高まることが予想できる。
例えば、ある家庭に192.168.0.0/24というプライベートネットワークが構築されているとする。この家庭内LAN内にwebサーバを構築し、ブロードバンドルータを介してインターネットに公開したい場合、ブロードバンドルータに「ポートフォワード設定」或は「静的NAT設定」と呼ばれる、特定のポート番号のパケットをLAN内の特定のマシン(サーバ)に振り向ける設定を施す。
このような静的NATと呼ばれる技術は、Linux(登録商標)等のPOSIX系OSのカーネルの機能(ドライバ)として実装されていることが多い。
しかし、OpenSSHは、接続するユーザ毎に公開鍵を生成して配布する手間が生じると共に、クライアントである端末にSSHクライアントと公開鍵をインストールする必要がある。また、OpenSSHのような技術は潜在的なセキュリティのリスクを完全に払拭できてはいない。つまり、OpenSSH自身のセキュリティ面の脆弱性の大小に依存する。そして、OpenSSHのサーバであるsshdは、既定値ではポート22番を開放するので、ポート22番に対するDoS攻撃等のリスクも存在する。更に、OpenSSHはクライアントである端末自体のセキュリティについては何もしないので、別途端末のセキュリティ面を考慮して対策を施す必要がある。
例えば、ある企業Aと企業Bが合併したとする。合併によって、企業Aの社内LANと企業Bの社内LANとの間に、相互接続を実現するためのゲートウェイサーバを設けることが考えられる。しかし、企業Aと企業Bの相互接続を実現するには、相互の社内LANのセキュリティポリシに影響が生じるため、安易な接続は推奨されない。更に、企業Aと企業Bは、予め合併することを前提に社内LANを構築していた訳ではないのだから、夫々のLANで使用するプライベートIPアドレスが重複する可能性も十分考えられる。経路上のどこかでサブネットやIPアドレスが重複している場合、通常、IPリーチャブル(IP reachable:IPパケットが到達可能であること)な環境を構築することは不可能である。
本実施形態の概略を説明する。
本発明は、特許出願1に開示した技術内容を発展させた技術内容である。これより説明するネットワークシステムは、大企業の広域プライベートネットワークシステムにおいて、リモートオフィスサービスを実現する仕組みを提供する。従業員が、遠隔地の事業所或は出向先等から企業内の端末を操作して、本来所属している部門に存在する自らの端末のデスクトップ環境を、出向先の端末で実現する。リモートデスクトップ環境を提供するサーバは、出向先から直接的にIPリーチャブルではないサブネットのサーバに存在する。本実施形態のネットワークシステムは、直接的にIPリーチャブルでないサーバの資源に対し、後述するローカルマスタとステッピングノードを用いて、仮想プライベート接続(Virtual Private Connect:以下「VPC」と略)を実現する。
なお、本実施形態においてリモートデスクトップとは、リモートデスクトッププロトコル(RDP:Remote Desktop Protocol)という、Windows(登録商標)にて実装されている実装形態を指すが、勿論、これに限定されない。周知且つ広く普及しているVNC(Virtual Network Computing)や、X Window Systemであってもよい。
このVPCを実現するために、以下の装置及びプログラムを新たに設ける。これより説明する四種類の装置及びプログラムは、全て従来のネットワーク技術には同等の機能を提供する装置等が存在しないので、発明者及び出願人が独自に名称を付している。各々の装置及びプログラムは、データセッションを形成するために、相互に制御用の通信路である「コントロールセッション」を形成する。
リバースプロキシサーバとも呼べるステッピングノードは、ネットワークの各所に設けられ、二つの動作を行う。
一つは、後述するローカルマスタ或は他のステッピングノードとの間で、静的NATにてデータセッションを形成し、仮想的にIPリーチャブルな状態を形成する動作である。
もう一つは、後述するローカルマスタ或は他のステッピングノードと、IPリーチャブルなサーバとの間で、リバースプロキシを起動してデータセッションを形成し、端末とサーバとの間を仮想的にIPリーチャブルな状態を形成する動作である。
一見すると、ステッピングノードはリバースプロキシサーバ或は静的NATが稼働するゲートウェイであるように見えるが、端末から接続要求があった時だけリバースプロキシのプロセスを起動し、或は静的NATを設定する。特に、リバースプロキシのプロセスを起動する際には、後述するコンダクタと認証を行う。
したがって、ステッピングノードは通常のサーバとは異なり、不必要にポートを開けないので、セキュリティ面で有利である。
静的NAT形成装置とも呼べるローカルマスタは、自身がステッピングノードに接続できる資格を有する装置であることを示す機器特定IDを内包しており、後述するコンダクタに対して機器認証(個体認証)を実行する。
機器認証が完遂すると、ローカルマスタは端末とコンダクタとの間に、制御用通信路であるコントロールセッションを形成する。端末にインストールされている、後述するプレイヤは、このコントロールセッションを用いてコンダクタと制御情報の通信を実行する。次に、プレイヤが、ユーザが接続可能なサーバに関する情報と、端末に対して様々な制御を行うための情報である制限設定情報をコンダクタに要求すると、コンダクタから受信するこれら情報を同時に取得し、端末が遠隔地のサーバにVPC接続するためのデータセッションを形成する準備を行う。
また、必要に応じ、制限設定情報に基づいて、セキュリティ確保のためにパケットフィルタも設定する。
データセッションは静的NAT(ポートフォワーディング)にて形成する。
静的NATによって、リバースプロキシであるステッピングノードを介して送受信するサーバとのパケットは、端末のローカル側に位置するNICに対するパケットとして、相手側を示すアドレスが、また必要に応じてポート番号も書き換えられる。端末はあたかもローカルのNICと通信しているような状態で、LAN内のサーバと通信することができる。
ローカルマスタは、発明者が過去に発明して出願した特許文献1に開示される技術を基に、更に機能の整理と改良を施した装置及びプログラムである。
これ以降、単に「ローカルマスタ」と記す場合は、ローカルマスタBOXとソフトローカルマスタの両者を指す単語であると定義する。また、「ローカルマスタの暗号化通信処理部606」と記述する場合は、ローカルマスタBOXとソフトローカルマスタの両者に共通する機能ブロックを指す表記である。
端末がインターネットに接続された状態で、更にローカルマスタとステッピングノードを通じてLAN内のサーバに接続すると、様々なセキュリティ面の懸念が生じる。そこで、端末の動作を強力に制限するために、端末にはこのプレイヤをインストールしておく。
挙動制限部とも呼べるプレイヤはローカルマスタと通信を行い、個人認証のためのユーザインターフェースを提供すると共に、ローカルマスタとステッピングノードとの通信が成立すると、OSの幾つかのアプリケーションプログラムインターフェース(Application Program Interface:以下「API」)をフックする。
ステッピングノードから送信され、ローカルマスタを通じて与えられる制限設定情報には、実行を禁止される(又は実行を許可される)アプリケーションプログラムや、閲覧、編集、移動又は削除を禁止されるファイル等が列挙されている。プレイヤはこの制限設定情報に従ってフックしたAPIを監視し、端末の挙動を強力に制限する。
端末はサーバにVPCで接続するに際し、複数のステッピングノードを経由する。端末がサーバとVPCによる接続を確立する(端末がサーバに辿り着く)ためには、適切なステッピングノードを経由しなければならない。コンダクタは、このVPCトンネルを形成するための経路情報をローカルマスタに提供する。コンダクタは、本実施形態のネットワークシステムにおいて、VPCトンネルを形成するためにステッピングノードに対して制御情報を提供する「指揮者」の役割を果たす。
また、コンダクタは前述の通り、ローカルマスタに対する機器認証、端末を操作するユーザに対する個人認証を実行する。そして、機器認証及び個人認証を完遂した端末に対し、当該ユーザが接続を許可されているサーバの情報を提供する。
この接続形態では、静的NATとリバースプロキシのそれぞれにおいて、パケットに付されるIPアドレスは多数書き換えられる。その結果、端末は非特許文献1に開示されるような、LAN内のIPアドレスを付与されるような状態にはならず、非特許文献3に開示される静的NATの接続形態に近い状態になる。
図1は、本実施形態のネットワークシステムの概略図である。
ある企業のLAN102は、多くの従業員が勤務している関係で、セキュリティの都合上、容易にサブネットを越えたアクセスができない構成になっている。このようなLAN102で、リモートデスクトップ環境を導入し、従業員が企業内のどの場所に移動しても、移動先の端末で同一のデスクトップ環境を実現しようとしている。
既存のLAN102のセキュリティポリシを変更せずに、最小限の追加投資でリモートデスクトップ環境を実現させるため、発明者はLAN102内の各所にステッピングノードを配置し、端末が直近のIPリーチャブルなステッピングノードからIPリーチャブルなステッピングノードを辿って、目的のサーバに接続する環境を構築した。
第一端末105及び第二端末106は周知のノートパソコン或は小型パソコンであり、OSとして周知のLinux(登録商標)がインストールされている。なお、OSは一般的なマルチタスクのネットワークOSであり、Linux(登録商標)に限定されず、例えばWindows(登録商標)等であってもよい。端末は周知のシンクライアント(Thin Client:ハードウェア資源を最小限に抑え、画面表示と操作入力等の最低限の機能だけを提供し、多くのアプリケーションプログラムはサーバで実行する、軽量端末。)を構成する。
第一端末105及び第二端末106はLAN102に接続する際、ローカルマスタを伴う。
第一端末105には、ハードウェアで構成されたローカルマスタであるローカルマスタBOX109が接続されている。ローカルマスタBOX109は、LAN102と第一端末105との間に介在する。
第二端末106には、ソフトウェアで構成されたローカルマスタであるソフトローカルマスタ113がインストールされている。第二端末106はソフトローカルマスタ113がインストールされ、稼働することで、ソフトローカルマスタ113を経由してLAN102に接続する。
つまり、第一端末105のアプリケーションは直接的に第一SN107のIPアドレスに接続せず、ローカルマスタBOX109が提供する仮想IPアドレスに対して接続を行う。すると、ローカルマスタBOX109は第一端末105のアプリケーションが発するパケットのIPヘッダを静的NATにて書き換える。具体的には、送信元IPアドレスを第一端末105のIPアドレスからローカルマスタBOX109のIPアドレスへ、宛先IPアドレスをローカルマスタBOX109のIPアドレスから第一SN107のIPアドレスへ、書き換える。
第一SN107はローカルマスタBOX109又はソフトローカルマスタ113が発するパケットのIPヘッダを静的NATにて書き換える。具体的には、送信元IPアドレスをローカルマスタBOX109又はソフトローカルマスタ113のIPアドレスから第一SN107のIPアドレスへ、宛先IPアドレスを第一SN107のIPアドレスから第二SNのIPアドレスへ、書き換える。
第二SN108は第一SN107が発するパケットのIPヘッダを静的NATにて書き換える。具体的には、送信元IPアドレスを第一SN107のIPアドレスから第二SN108のIPアドレスへ、宛先IPアドレスを第二SN108のIPアドレスから第三SN112のIPアドレスへ、書き換える。
第三SN112は第二SN108が発するパケットのIPヘッダを静的NATにて書き換える。具体的には、送信元IPアドレスを第二SN108のIPアドレスから第三SN112のIPアドレスへ、宛先IPアドレスを第三SN112のIPアドレスから第四SN114のIPアドレスへ、書き換える。
第四SN114は第三SN112が発するパケットのIPヘッダをリバースプロキシにて書き換える。具体的には、送信元IPアドレスを第三SN112のIPアドレスから第四SN114のIPアドレスへ、宛先IPアドレスを第四SN114のIPアドレスからサーバ103のIPアドレスへ、書き換える。
VPCトンネルの特徴は、端末(第一端末105及び第二端末106)はサーバ103の本当のIPアドレスを知らず、またサーバ103も接続してきた端末の本当のIPアドレスを知らない、という点である。端末はローカルマスタが提供する仮想IPアドレスに対して通信を行い、サーバ103は第四SN114と通信を行う。端末にとってサーバ103はローカルマスタが提供する仮想IPアドレスが割り振られているように見え、サーバ103にとって端末は第四SN114であるように見える。
図1には図示されていないが、ステッピングノードは図1に示される第一SN107、第二SN108、第三SN112及び第四SN114以外にも存在し得る。そのような状況の中で、端末がサーバ103にVPCで接続する為に辿るステッピングノードの情報が、経路情報である。
経路情報の詳細については後述する。
ローカルマスタは第一SN107とはIPリーチャブルであるが、第二SN108、第三SN112及び第四SN114、そしてサーバ103とはIPリーチャブルではない。また、コンダクタ115ともIPリーチャブルではない。
図1において、第一SN107、ローカルマスタBOX109及び第二端末106が接続されている、相互にIPリーチャブルなサブネットは、第一のネットワークともいえる。
第二SN108は第一SN107、第三SN112及びコンダクタ115とはIPリーチャブルであるが、端末、第一SN107及び第四SN114、そしてサーバ103とはIPリーチャブルではない。
第三SN112は第二SN108、第四SN114及びコンダクタ115とはIPリーチャブルであるが、端末、第一SN107、そしてサーバ103とはIPリーチャブルではない。
図1において、第四SN114及びサーバ103が接続されている、相互にIPリーチャブルなサブネットは、第一のネットワークからはIPリーチャブルでない、第二のネットワークともいえる。
第一端末105にはOS201がインストールされており、OS201の一部であるシェル202を通じて第三アプリケーション203等のアプリケーションプログラムが実行される。第一端末105にはこの他にプレイヤ111がインストールされており、所定の操作によって実行される。
OS201は第一端末105のハードウェアである、ハードディスク等のストレージ204、キーボード及びマウス等の操作部205、液晶ディスプレイ等の表示部206、そして内蔵USBインターフェース207とのデータの入出力を掌握し、アプリケーションがこれらのハードウェアを容易に利用できるためのAPIを提供する。
第二端末106の、第一端末105との相違点は、第二端末106にはローカルマスタBOX109の代わりにソフトローカルマスタ113がインストールされており、OS201とプレイヤ111との間に介在している点と、第二端末106はLAN102と内蔵NIC301で接続される点である。したがって、第一端末105ではDHCPサーバ110がローカルマスタBOX109に動的IPアドレスを付与していたが、第二端末106ではDHCPサーバ110が、第二端末106に内蔵されている内蔵NIC301に直接、動的IPアドレスを付与することとなる。ソフトローカルマスタ113は第二端末106内にインストールされているので、第一端末105とローカルマスタBOX109の場合のように、IPネットワーク経由で所定の制御情報の送受信を行わずとも、メッセージパッシング、共有メモリ或は名前付きパイプ等、一般的なプロセス間通信の仕組みが利用可能である。
図4は、ローカルマスタBOX109の外観斜視図である。ローカルマスタBOX109の裏面にはUSB−Bコネクタ403が一つと、ネットワークコネクタ404が一つ設けられている。USB−Bコネクタ403は、図示しないUSB−Bケーブルを通じて端末が接続される。ネットワークコネクタ404にはLANケーブルが接続され、その先にはDHCPサーバ110が接続される。
マイクロコンピュータよりなるローカルマスタBOX109は、CPU502、RAM503、ROMを兼用する不揮発性ストレージとしてのフラッシュメモリ504、USBインターフェース505、そして第一NIC507が、バス508に接続されている。
フラッシュメモリ504にはOS201のカーネルやライブラリ、そして管理用コマンド等の主要部分が格納されている。OS201は例えばLinux(登録商標)である。
ローカルマスタBOX109はパソコンである第一端末105からUSBケーブルを通じて電源供給を受ける。つまり、ローカルマスタBOX109はバスパワードデバイスである。
図6にて後述する、図5に記されていない第二NIC601は、フラッシュメモリ504内に格納されているOS201及びアプリケーションプログラムによって仮想的に作成される。
ローカルマスタBOX109は、二つのネットワークインターフェースを具備する。
第一NIC507は、図5で図示したようにハードウェアとして構成されるNICであり、LAN102に接続されることで、第一SN107とIPリーチャブルになる。
第二NIC601は、図5では図示されていないが、フラッシュメモリ504内に格納されているOS及びアプリケーションプログラムによって仮想的に作成される。第一端末105から見ると、第二NIC601はUSB接続される外付けNICとして認識される。つまり、第二NIC601は第一端末105のネットワークシステム101が構成するサブネットに含まれ、第一端末105から直接的にアクセスが可能なデバイスである。
機器認証に用いる機器特定ID608は、暗号化通信処理部606によって暗号化されて、第一SN107及び第二SN108を通じてコンダクタ115に送信される。コンダクタ115から暗号化通信処理部606を通じて機器認証の成功の通知及びセッションID(以下「SSID」)を受信すると、コントロールセッション管理部はSSIDをSSIDメモリ613に記憶する。
この時点で、ローカルマスタBOX109と第一SN107、第二SN108及びコンダクタ115との間にはコントロールセッションが形成される。
なお、本実施形態で記す「デフォルトゲートウェイ」は、一般的なIPネットワークのデフォルトゲートウェイとは異なる意味であり、コンダクタ115に繋ぐ為に辿る、IPリーチャブルな機器のIPアドレス又はホスト名を指す。
ローカルマスタとコンダクタ115との間のコントロールセッションの形成は、TELNETの多重接続に類似する。つまり、ローカルマスタから第一SN107にTELNETログインした後、第一SN107を踏み台にして第二SN108にTELNETログインし、更に第二SN108を踏み台にしてコンダクタ115にTELNETログインする、という接続形態である。
コントロールセッション管理部609は、プレイヤ111からSSIDの要求を受けると、SSIDメモリ613にSSIDが格納されていればこれを返信する。そうでない場合、つまりコンダクタ115に対する機器認証が完遂しておらず、コンダクタ115からSSIDを受け取っていない時点では、プレイヤ111に対しエラーを返信する。
プレイヤ111は、ローカルマスタBOX109からSSIDを受信すると、ローカルマスタBOX109が機器認証を成功したことを認識する。受信したSSIDを図示しないRAMに記憶すると、プレイヤ111は次に第一端末105の表示部206にログイン画面を表示する。
ユーザは第一端末105のICカードリーダ104或は操作部205等を用いてユーザの個人認証を実行する。ユーザが入力する個人認証の情報はプレイヤ111によってコントロールセッションを通じてローカルマスタBOX109に送信される。なお、個人認証の情報は、様々である。操作部205を用いる場合は、一般的なユーザIDとパスワードである。この他、指紋認証機器やICカードリーダ104等の、個人認証を実現する機器から得られる個人認証に用いる情報を利用する方法もある。これ以降、これらの端末を使用するユーザを認証するための情報を個人認証情報と総括して呼ぶ。
プレイヤ111はコンダクタ115から個人認証の成功の通知を受信すると、ユーザが利用可能なサービスに関する情報をコンダクタ115に要求する。コンダクタ115はこれに呼応して、ユーザが享受できるサービスに関する情報と、第一端末105及びローカルマスタBOX109の挙動を制限するための情報を送信する。
ユーザが享受できるサービスに関する情報はサービスメニュー情報614として、プレイヤ111に記憶されると共に、ローカルマスタBOX109も転送する際にサービスメニュー情報614を記憶する。
第一端末105及びローカルマスタBOX109の挙動を制限するための情報は制限設定情報610として、プレイヤ111に記憶されると共に、ローカルマスタBOX109も転送する際に制限設定情報610を記憶する。
パケット監視部615は、第二NIC601に割り当てられたIPアドレスの、データセッションの対象となるポート番号に、TCP SYNパケットが来たら、これをコントロールセッション管理部609に報告する。コントロールセッション管理部609は、この報告を受けて、データセッションを形成するための通信を開始する。
逆に、設定されるデータセッションがHTTPのようなコネクションレス型のプロトコルの場合は、一つのデータストリームが送信される度にTCP FINパケットが送信される。従って、コネクションレス型プロトコルの場合は、TCP FINパケットをデータセッションをクローズさせるきっかけとしてはならない。つまり、HTTPを通すVPCトンネルはTCP FINパケットも正しく転送しなければならない。この場合は、端末がコントロールセッションを通じて、当該データセッションの終了を明示的に通知する。
図7は、ソフトローカルマスタ113の機能ブロック図である。
ソフトローカルマスタ113は、二つのネットワークインターフェースを具備する。
内蔵NIC301は、第二端末106にハードウェアとして内蔵されるNICであり、LAN102に接続される。
ループバック仮想NIC701は、第二端末106にインストールされている、IPv4プロトコルのネットワークOS201には標準として備わっている、周知のループバックインターフェースである。仮に端末にNICが装備されていなくても、OS201がIPv4プロトコルをサポートする限り、必ず127.0.0.1というIPアドレスが付与されているループバックインターフェースがOS201内に構成される。特別な設定を施していない限り、ループバックインターフェース宛に送信したパケットは、端末自身のパケット受信対象に送付される。つまり、「loop back」、送信したパケットが輪を描くように出発点、つまり端末自身に戻る。
機器認証に用いる機器特定ID608は、暗号化通信処理部606によって暗号化されて、第一SN107及び第二SN108を通じてコンダクタ115に送信される。コンダクタ115から暗号化通信処理部606を通じて機器認証の成功の通知及びセッションID(以下「SSID」)を受信すると、コントロールセッション管理部609はSSIDをSSIDメモリ613に記憶する。
この時点で、ソフトローカルマスタ113と第一SN107、第二SN108及びコンダクタ115との間にはコントロールセッションが形成される。
コントロールセッション管理部609は、プレイヤ111からSSIDの要求を受けると、SSIDメモリ613にSSIDが格納されていればこれを返信する。そうでない場合、つまりコンダクタ115に対する機器認証が完遂しておらず、コンダクタ115からSSIDを受け取っていない時点では、プレイヤ111に対しエラーを返信する。
プレイヤ111は、ソフトローカルマスタ113からSSIDを受信すると、ソフトローカルマスタ113が機器認証を成功したことを認識する。受信したSSIDを図示しないRAMに記憶すると、プレイヤ111は次に第一端末105の表示部206にログイン画面を表示する。
ユーザは第一端末105のICカードリーダ104或は操作部205等を用いて個人認証を実行する。個人認証情報はプレイヤ111によってコントロールセッションを通じてローカルマスタBOX109に送信される。
プレイヤ111はコンダクタ115から個人認証の成功の通知を受信すると、ユーザが利用可能なサービスに関する情報をコンダクタ115に要求する。コンダクタ115はこれに呼応して、ユーザが享受できるサービスに関する情報と、第一端末105及びローカルマスタBOX109の挙動を制限するための情報を送信する。
ユーザが享受できるサービスに関する情報はサービスメニュー情報として、プレイヤ111に記憶される。このサービスメニュー情報はソフトローカルマスタ113も利用する。
第一端末105及びローカルマスタBOX109の挙動を制限するための情報は制限設定情報610として、プレイヤ111に記憶される。この制限設定情報610はソフトローカルマスタ113も利用する。
パケット監視部615は、第二NIC601に割り当てられたIPアドレスの、データセッションの対象となるポート番号に、TCP SYNパケットが来たら、これをコントロールセッション管理部609に報告する。コントロールセッション管理部609は、この報告を受けて、データセッションを形成するための通信を開始する。
逆に、設定されるデータセッションがHTTPのようなコネクションレス型のプロトコルの場合は、一つのデータストリームが送信される度にTCP FINパケットが送信される。従って、コネクションレス型プロトコルの場合は、TCP FINパケットをデータセッションをクローズさせるきっかけとしてはならない。つまり、HTTPを通すVPCトンネルはTCP FINパケットも正しく転送しなければならない。この場合は、端末がコントロールセッションを通じて、当該データセッションの終了を明示的に通知する。
これまでの説明で明らかなように、ローカルマスタはコンダクタ115の指示、具体的にはコンダクタ115が作成する制限設定情報610に基づいて、端末で稼働するOS201或はそのOS201を通じて動作するアプリケーションから発生する通信に対し、パケットフィルタで制限を加える。そして、ユーザが許可されたサーバ103に対する仮想的な接続を実現するために、直近のステッピングノードに対する静的NATを設定する。
静的NATを行うことで、端末はあたかもLAN102内のサーバ103に接続する時と同等の状態で、インターネット107及びファイアウォールを介したサーバ103に接続することができる。
図8は、プレイヤ111の機能ブロック図である。
プレイヤ111は、コンダクタ115の指示、具体的にはコンダクタ115から送信される制限設定情報610に基づいて、端末で起動するアプリケーションと、アプリケーションの動作に連れて使用されるデバイスに対して監視を行い、必要に応じて動作を制限する等の制御を行い、ログ記録等の管理を行う。このような機能を実現するために、プレイヤ111はOS201に備わっているAPIをフックして、アプリケーション及びOS201の挙動を常時監視する。そして、APIが制限設定情報610に記述されている制限条件に合致した場合、プレイヤ111は当該APIの起動を阻止し、ローカルマスタを通じてコンダクタ115に報告する。
OS201には様々な機能が含まれているが、本実施形態を説明するに際し、OS201はハードウェアをアプリケーションから扱い易くするためのデバイスドライバの集合体と考えることができる。そして、デバイスドライバはAPIの集合体ともいえる。図8では、主にこれらハードウェアとデバイスドライバに着目して、機能ブロックを記述した。
操作ドライバ801は、操作部205が発する操作情報及びICカードリーダ104が出力する個人認証情報を、アプリケーションやシェル202やコントロールセッション管理部807等に引き渡す。
表示制御部802は、アプリケーションやシェル202等から発生する画面描画指示情報を実際の画面描画情報に変換して表示部206に引き渡す。
プロセス制御部804は、アプリケーションやシェル202等を通じてストレージ204内に存在するアプリケーションやライブラリ等の実行及び終了を制御する。
クリップボードバッファ805は、アプリケーションやシェル202同士でデータオブジェクトの複写、移動、削除等の一時バッファとして機能する。
TCP/IPプロトコルスタックとも呼べるネットワークドライバ806は、アプリケーションやシェル202とネットワークとの間で通信ができる環境を構築し、その通信を制御する。
ローカルマスタBOX109を利用する場合、ローカルマスタBOX109内のDHCPクライアント602は、ローカルマスタBOX109内の第一NIC507に、LAN102のDHCPサーバ110から受信するネットワーク構成情報に基づいて動的IPアドレスを与える。また、ネットワークドライバ806の一機能であるDHCPクライアント702は、ローカルマスタBOX109内の第二NIC601に、ローカルマスタBOX109内のDHCPサーバ604から受信するネットワーク構成情報に基づいて動的IPアドレスを与える。
ソフトローカルマスタ113を利用する場合、ネットワークドライバ806の一機能であるDHCPクライアント702は、内蔵NIC301に、LAN102のDHCPサーバ110から受信するネットワーク構成情報に基づいて動的IPアドレスを与える。
ローカルマスタBOX109又はソフトローカルマスタ113からSSIDの取得に成功すると、コントロールセッション管理部807は次に個人認証を実行する。コントロールセッション管理部807は、ICカードリーダ104或は操作部205等で取得した個人認証情報をコンダクタ115に送信し、個人認証の結果を待つ。
ソフトローカルマスタ113を使用している場合、個人認証が成功した後、プレイヤ111がコンダクタ115から制限設定情報610及びサービスメニュー情報614をダウンロードして、端末の図示しないRAM内に制限設定情報610を保持する。保持した制限設定情報610及びサービスメニュー情報614はソフトローカルマスタ113と共用することとなる。
プロセス監視部811は、制限設定情報610で指定された特定のアプリケーション等のプロセスの起動及び自己プロセス隠蔽行為を監視する。
クリップボード監視部812は、制限設定情報610で指定された特定のアプリケーション等が、クリップボードバッファ805に対する、データオブジェクトの複写、移動、削除等の操作を監視する。
画面キャプチャ処理部809は、制限設定情報610に記述されている情報に従って、当該情報に記されている条件に合致したら、表示制御部802から得られるビットマップ画面情報を、ローカルマスタBOX109又はソフトローカルマスタ113を通じてコンダクタ115へ報告する。
ステッピングノードは、ファイアウォールを伴わない形式の装置と、ファイアウォールを伴う形式の装置との、二種類が存在する。以下、それぞれの機能を説明する。
図9は、ステッピングノードの機能ブロック図である。図9に開示するステッピングノードは、ファイアウォールを伴わない形式の装置である。
ステッピングノード901はネットワークOSが稼働するコンピュータである。OSは一例としてはLinux(登録商標)等の、POSIX系OSが好ましい。
本実施形態のステッピングノード901は、LAN102の要所に配置され、IPリーチャブルなステッピングノード同士或はサーバとのゲートウェイに特化している。
LAN102に接続される第五NIC902には固定のIPアドレスが付与されている。
データセッション管理部910によって起動されるリバースプロキシのプロセスは、図9に示すように、第一リバースプロキシ911、第二リバースプロキシ912、…と、端末との間に形成されるデータセッションの数に応じて増減する。
同様に、データセッション管理部910によって設定される静的NATの設定は、図9に示すように、第一NAT914、図示しない第二NAT、…と、端末との間に形成されるデータセッションの数に応じて増減する。
なお、「静的NATの設定」とは、ステッピングノードのOSの機能に対して設定を行って静的NATを設定する場合を想定して言及している。例えばLinux(登録商標)の場合は、カーネルのNetfilterドライバに対してiptablesユーティリティを用いて静的NATを設定する作業を指す。もし、静的NATも独立したプログラムで構成し、且つデータセッションの数に応じて多重起動するのであれば、その場合は「静的NATプログラムの起動」となる。つまり、静的NATを実現する方法に応じて表現は変わる。
これに対して、データセッション管理部910は、ローカルマスタ又は他のステッピングノードとサーバ103との接続には、リバースプロキシを設定する。サーバ103との通信にはパケットのペイロード部分の暗号化を解く必要があり、またTCP/IP第四層(アプリケーション)に従う処理が要求される場合があるからである。一例としては、HTTPのエラー処理として、サーバ103に代わって、URLの呼び出し方法や構文に誤りがある場合にwebサーバが返す「400 Bad Request」を返送することで、サーバ103の負荷を軽減する、等の機能が考えられる。
VPCトンネルは、端末が発したTCP SYNパケットに呼応してローカルマスタが送信したVPC確立要求コマンドに従って、静的NAT或はリバースプロキシで形成するが、サーバ103が何らかの障害等で端末の要求に応えられない場合は、設定したVPCトンネルを破棄しなければならない。そこで、ローカルマスタが送信したVPC確立要求コマンドに従って仮に設定した静的NAT或はリバースプロキシは、タイマを用いて制限時間を設けている。図9では、データセッション管理部910は第一リバースプロキシ911を起動する際に、同時に第一タイマ906も起動する。同様に、データセッション管理部910は第二リバースプロキシ912を起動する際に、同時に第二タイマ907も起動し、第一NAT914を設定する際に、同時に第三タイマ913も起動する。
これらタイマは、仮に起動したリバースプロキシ、或は仮に設定した静的NATをそのまま維持して良いか否かを判断するために用いられる。
リバースプロキシ或は静的NATにて設けられたVPCトンネルに、サーバ103からTCP ACK+SYNパケットが入来したら、サーバ103は端末と通信が可能な状態にあることが判る。そこで、パケットモニタ905はこのTCP ACK+SYNパケットの入来を監視し、TCP ACK+SYNパケットが来たら、対応するリバースプロキシ或は静的NATに連動して動作しているタイマの計時動作を停止する。
もし、タイマに設定された時間内にTCP ACK+SYNパケットが来ないと、タイマは所定の時間を計時した後、該当するリバースプロキシ或は静的NATを停止する。つまり、仮に設定したVPCトンネルは時間切れで破棄される。
本実施形態のステッピングノード1001は、LAN102のうち、隣接する異なるサブネットの間に配置され、IPリーチャブルなステッピングノード1001同士或はサーバ103とのゲートウェイを兼用する。
LAN102に接続される第四NIC1003には、第三NIC1002とは異なる固定のIPアドレスが付与されている。
図10のステッピングノード1001は、ファイアウォール1004と第四NIC1003の存在以外は図9のステッピングノード1001と動作は同じである。第一リバースプロキシ911或は第二リバースプロキシ912等の、データセッション管理部910から起動されるリバースプロキシは、第四NIC1003側に配置されるサーバ103と、第三NIC1002側に配置されるローカルマスタ或はステッピングノード1001との通信を実現する。第一NAT914等の、データセッション管理部910によって設定される静的NATは、第三NIC1002側に配置されるローカルマスタとステッピングノード1001、或はステッピングノード1001同士の通信を実現する。
企業が合併したり、企業や団体が業務提携をする等の事情で、相互のLAN同士を接続したい場合がある。この場合、夫々の企業は、予め合併することを前提に社内LANを構築していた訳ではないのだから、夫々のLANで使用するプライベートIPアドレスが重複する可能性が十分考えられる。
また、複数の企業や団体に対してネットワークサービスを提供する業者の場合、サービスを提供しようとする企業や団体のLANのIPアドレスが重複する可能性は飛躍的に高くなる。IPアドレスの重複を避けるために、保守サービスの度にネットワークの繋ぎ換えを行うことは非効率的である。
本実施形態のネットワークシステムを用いて、静的NAT及びリバースプロキシを用いてIPアドレスを変換し、ネットワーク接続を仮想化することで、複数のネットワークを接続する際に、IPアドレスの重複に悩む必要がなくなる。
図11はコンダクタ115の機能ブロック図である。
図12はコンダクタ115に含まれるテーブルのフィールド構成を示す図である。
本実施形態のコンダクタ115は、コントロールセッションを通じた、端末のプレイヤ111及びローカルマスタとの通信に特化している。ステッピングノードとは異なり、データセッションは形成しない。
コンダクタ115はネットワークOSが稼働するコンピュータである。OSは一例としてはLinux(登録商標)等の、POSIX系OSが好ましい。
LAN102に接続される第六NIC1101には固定のIPアドレスが付与されている。
認証処理部1103は、機器特定IDマスタ1105及びユーザマスタ1106を参照して、機器認証及び個人認証を遂行する。認証処理部1103は更に、機器認証が成功したローカルマスタに対してはSSIDという、機器特定IDに代わりセッション毎に変化する認証情報を生成し、機器特定IDとSSIDの組をSSIDテーブル1113に書き出す。そして、個人認証が成功したプレイヤ111に対しては、SSIDとユーザIDの組をSSIDテーブル1113に書き出す。つまり、機器認証と個人認証が正常に完遂した場合、SSIDテーブル1113には機器特定ID、SSID及びユーザIDの組のレコードが形成され、機器特定ID、SSID及びユーザIDが紐付けられる。そして、SSID認証を行うことで、機器認証及び個人認証を代行することができる。
仮想IPアドレス範囲は、端末のアプリケーションプログラムがサーバ103にアクセスしようとする際に、アプリケーションプログラムがアクセスを試みようとする対象のIPアドレスである。
アプリケーションプログラムがサーバ103にアクセスする際、アプリケーションプログラムは、サーバ103に付されている本来のIPアドレスではない、仮想IPアドレスに対してアクセスを行う。この仮想IPアドレスは、端末からIPリーチャブルであるローカルマスタに付されるように構成する。
図6のローカルマスタBOX109の場合、仮想IPアドレスは第二NIC601のサブネットに属する。例えば、第二NIC601のサブネットが192.168.1.0/24で、第二NIC601のIPアドレスが192.168.1.2である場合、仮想IPアドレスは192.168.1.1から192.168.1.254迄のIPアドレスが用いられる。
図7のソフトローカルマスタ113の場合、仮想IPアドレスはループバック仮想NIC701のサブネットに属する。殆どのネットワークOSの場合、ループバック仮想NIC701には127.0.0.1が付与され、サブネットは127.0.0.0/8であるので、仮想IPアドレスは127.0.0.1から127.255.255.254迄のIPアドレスを用いることができる。
仮想サーバIDXとは、サーバマスタ1107のレコードを一意に識別するための情報である。これは、異なる拠点に同じサブネットが存在し、そのサブネット上に同じIPアドレス及び同じサービスを提供するサーバがそれぞれ存在する可能性を考慮して、サーバ名等に代わり、サーバを一意に識別するための索引情報を設けている。
また、仮想サーバIDXは、サービスメニュー情報614に含まれる情報であり、端末のアプリケーションがサーバ103に対して接続要求を送信することに呼応して開始するVPC確立シーケンスにおいて、ローカルマスタがコンダクタ115にVPCトンネルの作成を要求するコマンドの中に含まれる。
プロトコル種別は、例えばRDP、HTTP、SSH等の、周知のプロトコルの名称、或はこれに準じる識別情報が格納される。
ポート番号は、当該サーバのアクセスに用いられるポート番号である。HTTPであれば80番、RDPであれば3389番、SSHであれば22番、VNCであれば5900番から5906番迄等と、多くの場合、プロトコル毎に決められている。但し、サーバの設定によっては意図的にポート番号をずらす等の設定変更を行うこともあるので、その際はサーバの設定に合わせる。
多くの場合、端末用リソース文字列はその全て或は一部に、サーバ名又はサーバのIPアドレスが含まれる。したがって、端末用リソース文字列は、プロトコルによってはその全て或は一部が仮想IPアドレスによって置換される場合がある。
CIFSの場合、端末用リソース文字列の一部はサーバ名又はサーバのIPアドレスと一致する場合がある。したがって、このようなプロトコルの場合、端末用リソース文字列は仮想IPアドレスによって一部置換される。
HTTPの場合、webブラウザは一つのhtml文書に埋め込まれているハイパーリンクに基づいて、不特定多数のwebサーバに接続する可能性が高いので、webブラウザのプロキシサーバの設定に、VPCトンネルの仮想IPアドレスを設定する。このようにwebブラウザを設定すると、webブラウザ自身は全く名前解決を行わず、端末用リソース文字列をそのままプロキシサーバであるVPCトンネルに送信する。実際のwebコンテンツを取得する動作は、webサーバ直近のステッピングノードにて稼働するリバースプロキシが実行する。したがって、このようなプロトコルの場合、端末用リソース文字列は仮想IPアドレスによって置換されない。
経路設定部1104は、後述するSNサーバマスタ1110、SNマップマスタ1111及びLM・SNマスタ1112を用いて経路情報を作成する際、SNIDで経路情報の元データを作成する。そして、最後にSNIDをSNホスト名又はIPアドレスに変換して、経路情報を完成し、ローカルマスタに送信する。
サーバ直近のステッピングノードとは、前述のSNマスタ1109の終端フラグフィールドの値が論理の「真」であるステッピングノードである。
このようなネットワークにおいて、最適な経路をどのように選択すべきかを判断する要素は、ネットワークの距離もさることながら、ネットワークのトラフィックが重要な位置を占める。
そこで、本実施形態のネットワークシステム101は、あるサーバに対してIPリーチャブルなステッピングノードが複数存在し得るように設計した。この、サーバとIPリーチャブルなステッピングノードとの関係を記述するテーブルが、SNサーバマスタ1110である。
あるサーバに接続できるステッピングノードの負荷が増大しているとき、別のステッピングノードから当該サーバに接続するようにVPCトンネルを切り替えることが出来れば、ネットワーク上の負荷を瞬時且つ適切に分散させることができる。
SNマップマスタ1111をSNIDで検索すると、あるステッピングノードに隣接する全てのステッピングノードのSNIDが得られる。
LM・SNマスタ1112をSNIDで検索すると、あるローカルマスタに隣接する全てのステッピングノードのSNIDが得られる。
なお、構成が単純なLANにおいては、複数の経路情報を予め作成しておき、ローカルマスタから経路情報の要求があった時に、最適な経路情報を読み出して返信する、という方法もある。
次に、コンダクタ115は、ローカルマスタの経路情報取得要求に呼応して、経路設定部1104を稼働させ、経路情報を作成する。ローカルマスタはSSIDと仮想サーバIDXを送信してくるので、この仮想サーバIDXを検索キーとして当該サーバに隣接するステッピングノードを検索すると共に、SSIDを検索キーとしてSSIDテーブル1113を検索して機器特定ID608を取得し、機器特定ID608を検索キーとしてLM・SNマスタ1112を検索してローカルマスタに隣接するステッピングノードを検索する。SNマップマスタ1111を用いて、最適な経路情報を算出したら、経路テーブル1114の経路情報フィールドに当該経路情報を書き込むと共に、ローカルマスタに返信する。
なお、コンダクタ115は、ローカルマスタが発する問い合わせと、サーバ直近のステッピングノードが発する問い合わせとを区別するため、当該問い合わせの中にSNIDが含まれているか否かを確認する。
問い合わせにSNIDがなければローカルマスタが発する問い合わせであるので、経路情報を返信する。
問い合わせにSNIDがあればサーバ直近のステッピングノードが発する問い合わせであるので、サーバのホスト名又はIPアドレス、プロトコル種別、ポート番号を返信する。
また、VPCトンネルを形成する手順においては、VPCトンネルの始端であるローカルマスタと、終端に位置するステッピングノードに、それぞれSSID認証を行う。ローカルマスタのSSID認証が成功したら、経路情報をローカルマスタに送信する。ステッピングノードのSSID認証が成功したら、リバースプロキシを設定してサーバ103に接続するための、サーバ103の情報をステッピングノードに送信する。
図13以降、図19を除いて図21迄は、本実施形態のネットワークシステム101において、端末がネットワーク的に遠隔に配置されるサーバ103に接続して、サーバ103の資源が利用可能になり、その後サービスを終了する迄の動作の流れを示すタイムチャートである。
先ず、動作の流れの概要を説明する。
図13は、本実施形態のネットワークシステム101の、全体的な動作の流れを示すタイムチャートである。
ローカルマスタは、起動すると、直ちにコンダクタ115に対してコントロールセッションを通じて機器特定ID608の認証を試みる。これが機器特定ID認証シーケンス(S1301)である。
端末のプレイヤ111は、ローカルマスタが機器特定ID認証シーケンスで機器特定ID608の認証に成功すると、ログイン画面を表示部206に表示する。ユーザはこの状態から、個人認証を実行する。個人認証情報はコントロールセッションを通じてコンダクタ115に送信され、認証結果が端末のプレイヤ111に返送される。これが個人認証シーケンス(S1302)である。
個人認証シーケンスが正常終了すると、プレイヤ111は直ちにサービスメニュー情報614を取得すべく、コントロールセッションを通じてコンダクタ115に要求する。コンダクタ115は、サービスメニュー情報614と制限設定情報610をプレイヤ111に返信する。これがメニュー取得シーケンス(S1303)である。
VPC確立シーケンスが遂行された後は、形成されたVPCトンネルを用いて端末とサーバ103が仮想的な接続状態の中で通信を実行する。これがVPCデータ転送状態(S1305)である。
ユーザが端末の使用を停止したい場合は、ログアウトを宣言する。ログアウトの宣言はコントロールセッションを通じてコンダクタ115に送信され、端末に返送される。これがユーザログアウトシーケンス(S1307)である。
端末を通じてローカルマスタBOX109の電源を落とすか、ソフトローカルマスタ113がインストールされている端末をシャットダウンする等でローカルマスタの動作を終了させると、その情報はコンダクタ115に通知される。これがローカルマスタシャットダウン(S1308)である。
図14は、機器特定ID認証シーケンスのタイムチャートである。図13のステップS1301の詳細である。
ローカルマスタは、起動して(S1401)、LAN102と接続されてIPリーチャブルになったことを認識すると、直ちにコンダクタ115に対してコントロールセッションを通じて機器特定ID608の認証要求を送信する(S1402)。
ローカルマスタは、コンダクタ115のアドレスを直接的には知らない。しかし、コンダクタ115に通信を行う際、どのIPリーチャブルなステッピングノードに通信を試みればよいのかを示す、「デフォルトゲートウェイ」のホスト名或はIPアドレスを内部に保持している。本実施形態では、デフォルトゲートウェイは第一SN107である。そこで、ローカルマスタは第一SN107にコンダクタ115に対する機器認証要求を、コントロールセッションを通じて送信する。
第二SN108も第一SN107と同様に、第一SN107から機器特定ID608の認証要求を受信すると、コンダクタアドレス908に記されているコンダクタ115に、機器特定ID608の認証要求を転送する(S1404)。こうして、コンダクタ115はローカルマスタが送信した機器特定ID608の認証要求を受信する。
第二SN108のコントロールセッション管理部609は、コンダクタ115から受信した機器特定ID認証結果を第一SN107に転送する(S1407)。
第一SN107のコントロールセッション管理部609は、第二SN108から受信した機器特定ID認証結果をローカルマスタに転送する(S1408)。
ローカルマスタは、第一SN107から受信した機器特定ID認証結果を見て、正常に認証が行われたか否かを確認する(S1409)。正常に認証できなかった場合(S1409のNO)は異常終了となり、以降の操作は不可能になる(S1410)。正常に認証できた場合(S1409のYES)は、ローカルマスタのコントロールセッション管理部609は、機器特定ID認証結果に含まれているSSIDをSSIDメモリ613に記憶する(S1411)。
ローカルマスタがSSIDをコンダクタ115から取得して記憶していない状態では、SSIDの転送要求は失敗する(S1413)が、ローカルマスタがSSIDをコンダクタ115から取得して記憶した以降では、SSIDの転送要求(S1414)に対して、ローカルマスタはSSIDメモリ613に格納されているSSIDを読み出して(S1415)、端末に応答する(S1416)ので、プレイヤ111はSSIDを受信し(S1417)、これを記憶する(S1418)。
なお、ソフトローカルマスタ113の場合、SSIDメモリ613はプレイヤ111と共用することとなるので、ステップS1417及びS1418は省略される。
プレイヤ111は、SSIDの取得が正常に終了できたことに呼応して、表示部206にログイン画面を表示する(S1419)。
以上が、機器特定ID認証シーケンスである。
図15(a)及び(b)は、個人認証シーケンスとメニュー取得シーケンスのタイムチャートである。図16は、メニュー取得シーケンスのタイムチャートである。図13のステップS1302とステップS1303の詳細である。
図15(a)は、個人認証シーケンスを示す。
ユーザは端末のICカードリーダ104或はキーボード等を操作して、ユーザID及びパスワード等の、個人認証情報を入力する。個人認証情報はSSIDを伴って、プレイヤ111によってコントロールセッションを通じてローカルマスタに転送される(S1501)。
プレイヤ111から個人認証情報及びSSIDを受信したローカルマスタは、デフォルトゲートウェイアドレス612に従って第一SN107に転送する(S1502)。
ローカルマスタから個人認証情報及びSSIDを受信した第一SN107は、デフォルトゲートウェイアドレス612に従って第二SN108に転送する(S1503)。
第一SN107から個人認証情報及びSSIDを受信した第二SN108は、コンダクタアドレス908に従ってコンダクタ115に転送する(S1504)。
第二SN108は、コンダクタ115から受信したユーザID認証結果を第一SN107に転送する(S1508)。
第一SN107は、第二SN108から受信したユーザID認証結果をローカルマスタに転送する(S1509)。
ローカルマスタは、第一SN107から受信したユーザID認証結果を端末に転送する(S1510)。
正常に認証できた場合(S1511のYES)は、メニュー取得シーケンスに移行する。
以上が、個人認証シーケンスである。
端末のプレイヤ111は、ローカルマスタから受信したユーザID認証結果を見て、正常に認証が行われたか否かを確認した結果(S1511)、正常に認証できた場合(S1511のYES)は、最初にコンダクタ115に対してコントロールセッションを通じてSSIDの認証を要求する(S1513)。
SSID認証要求は、ローカルマスタ(S1514)、第一SN107(S1515)、第二SN108(S1516)と転送されて、コンダクタ115に到達する。コンダクタ115は受信したSSIDでSSIDテーブル1113を検索し(S1517)、検索結果(SSID認証結果)を直前に受信した相手、つまり第二SN108へ返信する(S1518)。
コンダクタ115から返信されるSSID認証結果は、第二SN108(S1519)、第一SN107(S1520)、ローカルマスタ(S1521)と転送されて、端末のプレイヤ111に戻される。
端末のプレイヤ111は、ローカルマスタから受信したSSID認証結果を見て、正常に認証が行われたか否かを確認する(S1522)。正常に認証できなかった場合(S1522のNO)は表示部206にエラーメッセージを表示した(S1523)後、再びログイン画面を表示する(図14のS1419)。
ステップS1511で、正常に認証できた場合(S1511のYES)は、プレイヤ111はコンダクタ115に対してサービスメニュー情報614の送信を要求する(S1624)。
プレイヤ111が送信するサービスメニュー情報要求は、ローカルマスタ(S1625)、第一SN107(S1626)、第二SN108(S1627)と転送されて、コンダクタ115に到達する。コンダクタ115はSSIDテーブル1113とユーザサーバマスタ1108とサーバマスタ1107を検索し(S1628)、検索結果(サービスメニュー情報614)を直前に受信した相手、つまり第二SN108へ返信する(S1629)。なお、この時、ユーザマスタ1106から制限設定情報610も読み出して、サービスメニュー情報614と共に返信する。
コンダクタ115から返信されるサービスメニュー情報614と制限設定情報610は、第二SN108(S1630)、第一SN107(S1631)と転送される。
端末のプレイヤ111は、ローカルマスタからサービスメニュー情報614と制限設定情報610を受信すると、内部に記憶する(S1634)。そして、サービスメニュー情報614と制限設定情報610に基づいて種々の設定を行う(S1635)。
ユーザが享受できる全てのサービスに対応するサービスメニュー情報614の取得が完遂すると、端末はメニューを表示部206に表示する(S1638)。
以上が、メニュー取得シーケンスである。
図17は、VPC確立シーケンスのタイムチャートである。図18は、VPC確立シーケンスとVPCデータ転送状態のタイムチャートである。図13のステップS1304とステップS1305の詳細である。
ユーザは端末のプレイヤ111の専用シェル208によって形成され、表示部206に表示されているアイコンを操作して、アプリケーションプログラムを起動すると、アプリケーションプログラムからTCP SYNパケットが発生する(S1701)。ローカルマスタのパケット監視部615は、TCP SYNパケットを捕捉すると、TCP SYNパケットの宛先IPアドレス及びポート番号から、アプリケーションプログラムが要求するサーバ103とプロトコルを判別する。そして、コンダクタ115に対して経路情報の取得を要求する。但し、経路情報の取得に先立って、認証が必要であるので、先ずはコンダクタ115に対し、SSID認証を要求する(S1702)。
ローカルマスタは、SSID認証結果が異常値であれば(S1709のNO)、端末にその旨を報告する。この場合、端末は表示部206にエラーを表示する(S1710)。
SSID認証結果が正常値であれば(S1709のYES)、ステップS1702から始まったSSID認証シーケンスは終了する。
ローカルマスタから発される経路情報取得要求は、第一SN107(S1712)、第二SN108(S1713)と転送され、コンダクタ115に到達する。
コンダクタ115の経路設定部1104は、ダイクストラ法等の周知の経路探索アルゴリズムを用いて、ローカルマスタからサーバに到達するための経路情報を作成し、返信する(S1715)。経路情報は、第二SN108(S1716)、第一SN107(S1717)と転送され、ローカルマスタに到達する。ローカルマスタは、受信した経路情報を一旦RAMに記憶する(S1718)。この時点で、ステップS1711から始まった経路情報取得シーケンスは終了する。
ローカルマスタは、コンダクタ115から受信した経路情報を基に、VPC確立要求コマンドを作成し、経路情報に基づいて最初のステッピングノードである第一SN107に送信する(S1819)。
第四SN114は、SSID認証結果が異常値であれば(S1829のNO)、異常終了する(S1830)。この場合、ステップS1820において第一SN107が、ステップS1821において第二SN108が、そしてステップS1822において第三SN112が設定したNAT設定は、NAT設定の際に同時に設定したタイマがタイムアウトを計時することによって消滅する。
SSID認証結果が正常値であれば(S1829のYES)、次にコンダクタ115に対して、目的とするサーバ103に対してリバースプロキシを設定するために必要な情報である、サーバ103のIPアドレス、ポート番号及びプロトコル種別を要求する(S1831)。
第四SN114から発されるサーバ情報要求は、第三SN112(S1832)によって転送され、コンダクタ115に到達する。
コンダクタ115の経路設定部1104は、サーバ情報要求を受信すると、サーバ情報要求に含まれている仮想サーバIDXを用いて経路テーブル1114を検索して、サーバ103のIPアドレス、ポート番号及びプロトコル種別を第四SN114へ返信する(S1834)。
コンダクタ115が送信するサーバ情報は、第三SN112(S1835)によって転送され、第四SN114に到達する。
第四SN114は、サーバ103のIPアドレス、ポート番号及びプロトコル種別を用いて、第三SN112とサーバ103との間にリバースプロキシを設定する(S1836)。そして、サーバ103のホスト名又はIPアドレス、そしてポート番号に対し、TCP SYNパケットを送信する(S1837)。
こうして、図17のステップS1701において端末のアプリケーションプログラムが発したTCP SYNパケットは、ステップS1838にてサーバ103に到達する。
この時点で、端末とサーバ103の間に存在する、ローカルマスタ、第一SN107、第二SN108、第三SN112及び第四SN114が形成するVPCトンネルが確定する(S1846)。
第一端末105から送信されるTCP SYNパケットは、データセッションで送信される。
ローカルマスタBOX109は、TCP SYNパケットを受信すると、VPC確立要求コマンドを作成して、コントロールセッションを通じて第一SN107に送信する。
VPC確立要求コマンドに含まれている経路情報は、ステッピングノードのホスト名又はIPアドレスで構成される。
VPCトンネルを形成するステッピングノードの最終地点である第四SN114は、コントロールセッションで受信したVPC確立要求コマンドを受けると、データセッションからサーバ103に向けてTCP SYNパケットを送信する。
TCP SYNパケットを受信すると、サーバ103はデータセッションを通じてTCP ACK+SYNパケットを返信する。このTCP ACK+SYNパケットは、各ステッピングノードに既に仮に形成されているリバースプロキシ及び静的NATで成り立つデータセッション、つまりVPCトンネルを通過して、第一端末105に到達する。そして、このTCP ACK+SYNパケットが、仮設定状態である各ステッピングノードのリバースプロキシ又は静的NATを確定させる。
ローカルマスタがTCP SYNパケットを検出すると(S1702)、SSID認証シーケンス(S1702からS1709まで)の後、コンダクタ115に経路情報を要求する(S1711)。
すると、コンダクタ115はその時点で最良の経路情報を作成し(S1714)、ローカルマスタに送信する(S1715)。
ローカルマスタは経路情報を含んだVPC確立コマンドを、経路情報の最初に記述されているステッピングノードに送信する(S1819)。
VPC確立コマンドを受信した、経路情報の最後でないステッピングノードは、コマンドに含まれている経路情報に従って、当該コマンドを次のステッピングノードに転送すると共に、データセッションに静的NATを設定する(S1820、S1821、S1822)。
VPC確立コマンドを受信した、経路情報の最後に位置するステッピングノードは、自らが経路情報の最後であることを認識すると(S1823)、VPC確立コマンドに含まれているSSIDを用いてSSID認証シーケンス(S1824からS1829まで)を実行した後、コンダクタ115にサーバ情報を要求する(S1831)。すると、コンダクタ115はサーバ情報を検索し(S1833)、経路情報の最後に位置するステッピングノードに送信する(S1834)。
経路情報の最後に位置するステッピングノードはサーバ情報に基づいてリバースプロキシを設定して(S1836)、当該サーバにTCP SYNパケットを送信する(S1837)。
しかし、本実施形態のネットワークシステムでは、機器認証及び個人認証と、VPCトンネルを形成する手順が完全に分離している。最初の認証手順で機器認証及び個人認証が成功すれば、その後はサービスメニュー情報614に列挙されているサーバに接続するアプリケーションプログラムは、何ら特別なプログラムを伴う必要もなく、単に指定されたコマンドライン文字列に記述されているリソースに対してアクセスを行えばよい。VPC確立シーケンスではSSIDを用いた認証が、VPCトンネルの始端であるローカルマスタと、終端に位置するステッピングノードで実行されるが、ユーザもアプリケーションプログラムも全くこれを意識する必要はない。
図20は、VPCトンネルを通過する通信のプロトコルがコネクション型の通信である場合における、VPC切断シーケンスを示すタイムチャートである。図13のステップS1306の詳細である。
VPCトンネルを通過させる通信のプロトコルが、HTTPのようなコネクションレス型の場合は、TCP FINパケットも含めて全てのパケットを滞り無く転送させる必要があるが、RDPやSSHのようなコネクション型の場合は、TCP FINパケットが送信されるとアプリケーションプログラムが終了したことを意味する。つまり、切断のための専用のコマンドをコントロールセッションを通じて送らずとも、通常のTCPにおける通信終了の手続きをモニタして、VPCトンネルの終了のきっかけにすることができる。
ユーザが端末のアプリケーションプログラムを操作して通信を終了させると、アプリケーションプログラムは周知のTCPにおける通信終了の手続きを行う(S2001)。この時にアプリケーションプログラムが送信するTCP FINパケットがローカルマスタに到達すると、ローカルマスタもTCPにおける通信終了の手続きを行う(S2002)。ローカルマスタは、TCPの通信終了の手続きを終えると、VPCトンネルを形成していた静的NATの設定を解除する(S2003)。
サーバ103は、第四SN114が送信するTCP FINパケットに呼応して、通信の終了の手続きを行う(S2012)。
図21(a)及び(b)は、ユーザログアウトシーケンス及びローカルマスタシャットダウンを示すタイムチャートである。図13のステップS1307及びステップS1308の詳細である。
ユーザが端末の使用を停止したい場合は、ユーザは端末の専用シェル208を操作して、ログアウトを宣言する(S2101)。ログアウトの宣言はコントロールセッションを通じてコンダクタ115に送信され(S2102)、第一SN107(S2103)及び第二SN108(S2104)にて転送された後、端末に到達する(S2105)。コンダクタ115は、ユーザログアウト処理として、SSIDテーブル1113に記述されている当該ユーザのユーザIDを抹消する(S2105)。つまり、SSIDとユーザIDとの紐付けが解除される。ログアウト処理の完遂報告は、コンダクタ115から送信され(S2106)、第二SN108(S2107)、第一SN107(S2108)、ローカルマスタ(S2109)を経て、端末に到達する(S2111)。
この時、ローカルマスタではユーザログアウトを受けてサービスメニュー情報614及び制限設定情報610を破棄する(S2110)。
同様に、端末のプレイヤ111はユーザログアウトを受けてサービスメニュー情報614及び制限設定情報610を破棄する(S2112)。
(1)コンダクタ115の機器特定IDマスタ1105及びユーザマスタ1106は、コンダクタ115とは異なるサーバ103に置いて、ネットワークを通じて認証処理部1103が参照してもよい。
図7のソフトローカルマスタ113は、ループバック仮想NIC701をVPCを用いたアクセスに用いていたが、ループバック仮想NIC701の代わりに、図6のローカルマスタBOX109の第二NIC601のように、ソフトウェアで構成するNICに代えることができる。このようなソフトウェアのNICは、Windows(登録商標)の場合、非特許文献1に開示されているソフトウェア製品の他、TAP−Win32(http://cipe-win32.sourceforge.net/)等、公知のプログラムが幾つか存在する。Linux(登録商標)の場合、カーネルのドライバに「Universal TUN/TAP device driver」という名称で備わっている。
ローカルマスタBOX109或はソフトローカルマスタ113とステッピングノードがコントロールセッションを通じて機器認証及び個人認証を実行した後、端末のアプリケーションプログラムがコンダクタ115の先に存在するプライベートネットワーク内のサーバ103に対する接続を要求したら、ローカルマスタBOX109或はソフトローカルマスタ113及び経路途中のステッピングノードは静的NATを、サーバ103直近のステッピングノードはリバースプロキシを設定して、端末とサーバ103との間にデータセッションを形成する。このようにネットワークシステム101を構築することで、プライベートアドレスの衝突のない、仮想的な接続形態で、直接的にはIPリーチャブルでない端末とサーバ103との接続が実現できる。更に、接続の際にはプレイヤ111が端末の挙動を強力に制限するので、セキュリティ面の脆弱性を保護できる。
ここで翻って、本実施形態のネットワークシステム101のデータセッションに流れるパケットについて考察し、説明する。
これらパケットは、ソフトローカルマスタ113又はローカルマスタBOX109で、静的NATによって送信元IPアドレス及び送信先IPアドレス(と、必要であればポート番号も)が書き換えられる。送信元IPアドレスはDHCPサーバからソフトローカルマスタ113又はローカルマスタBOX109に付与されたIPアドレスが、送信先IPアドレスとポート番号は、直近のステッピングノードのIPアドレスとデータセッションのためのポート番号に、それぞれ書き換えられる。
このように、通信路を通過するパケットのIPアドレスが拠点を通過する度に次々に書き換えられる状況において、端末の一意性を保証する情報である機器特定ID608は何のために使用されなければならないのかを考えると、機器特定ID608は「端末が当該サーバ103に接続する資格を有する」ことを示す情報である、ということが判る。そして、この情報は必ずしも端末にサービスを提供するサーバ103が抱えていなければならないものではなく、所定の認証を実行できる機器(コンダクタ115)が存在していればよいのである。
以上のように、本実施形態のネットワークシステム101は、IPv4プロトコルの可能性を拡大する技術としての一面も備えている。
Claims (7)
- 第一のネットワークと、
端末と、
前記端末の内部に設けられ、前記端末のアプリケーションプログラムが仮想IPアドレスに対してアクセスすべく制御するアプリケーション起動制御部と、
前記端末の内部に設けられるか、又は前記端末と前記第一のネットワークとの間に設けられ、前記アプリケーションプログラムが発する前記仮想IPアドレスに対するアクセス要求に対して静的NATを行う静的NAT形成装置と、
前記端末とはIPリーチャブルでない第二のネットワークと、
前記第二のネットワークに配置されるサーバと、
前記静的NAT形成装置と前記サーバとの間に一つ以上設けられ、前記サーバとIPリーチャブルである場合は前記アプリケーションプログラムから前記静的NAT形成装置を通じて転送されるパケットを対応するリバースプロキシを稼働させて前記サーバへ転送し、前記サーバとIPリーチャブルでない場合は前記アプリケーションプログラムから前記静的NAT形成装置を通じて転送されるパケットをIPリーチャブルな他の装置へ静的NATにて転送するリバースプロキシサーバと、
前記アプリケーション起動制御部と、前記静的NAT形成装置と通信を行い、一以上の前記リバースプロキシサーバによって形成される経路情報を前記静的NAT形成装置に提供する仮想接続制御装置と
よりなるネットワークシステム。 - 前記静的NAT形成装置は、各装置を一意に識別可能な機器特定IDを内包し、前記仮想接続制御装置に接続する際、前記機器特定IDを用いて機器認証を行い、前記機器認証が成功すると前記仮想接続制御装置と制御情報を送受信するためのコントロールセッションを形成する、請求項1記載のネットワークシステム。
- 前記アプリケーション起動制御部は、前記静的NAT形成装置が前記機器認証を完遂した後に前記静的NAT形成装置を通じて前記仮想接続制御装置と個人認証を遂行する画面を前記端末に形成する、請求項2記載のネットワークシステム。
- 前記静的NAT形成装置は、前記機器認証を完遂した後に更に前記端末を使用するユーザを認証する個人認証を行い、前記個人認証が成功すると、前記ユーザが利用可能な前記サーバと前記サーバに対応する前記仮想IPアドレスの情報を前記アプリケーション起動制御部が前記仮想接続制御装置から受信する、請求項2記載のネットワークシステム。
- 前記端末は更に、
ストレージと、
前記ストレージにファイル及びディレクトリを形成するファイルシステムと、
アプリケーションプログラムの起動及び終了を制御するプロセス制御部と
を備え、
前記アプリケーション起動制御部は、前記静的NAT形成装置が前期仮想接続制御装置から受信した制限情報を受けて、前記端末のファイルシステムに対して前記ファイル及び/又はディレクトリの複写、移動、削除及び/又は名称変更を監視すると共に、前記端末のプロセス制御部に対して特定のプロセスの起動及び/又は自己プロセス隠蔽行為を監視する、
請求項4記載のネットワークシステム。 - 端末のアプリケーションプログラムがアクセス対象のサーバと関連付けられている仮想IPアドレスに対してTCP SYNパケットを送信する接続要求ステップと、
前記TCP SYNパケットを捕捉したら、仮想ネットワーク接続を形成するための経路情報を仮想接続制御装置に対して要求する経路情報要求ステップと、
前記経路情報を受信したら、前記経路情報に列挙されているリバースプロキシサーバの順に、前記経路情報を含む仮想接続要求コマンドを送信する仮想接続要求ステップと、
前記仮想接続要求コマンドを受信したリバースプロキシサーバが前記経路情報の終端でないと判断したら静的NATを設定し、前記経路情報の終端であると判断したらリバースプロキシを起動する、静的NAT又はリバースプロキシ形成ステップと
を有する、仮想プライベート接続形成方法。 - 前記静的NAT又はリバースプロキシ形成ステップは、
前記仮想接続要求コマンドを受信したリバースプロキシサーバが前記経路情報の終端であると判断したら、前記リバースプロキシを起動するに先立ち、前記仮想接続制御装置からリバースプロキシを起動して設定するために必要な前記サーバの情報を取得するサーバ情報取得ステップと
を含む、請求項6記載の仮想プライベート接続形成方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010194959A JP4802295B1 (ja) | 2010-08-31 | 2010-08-31 | ネットワークシステム及び仮想プライベート接続形成方法 |
US13/393,839 US20120185563A1 (en) | 2010-08-31 | 2011-07-29 | Network system, virtual private connection forming method, static nat forming device, reverse proxy server and virtual connection control device |
PCT/JP2011/067430 WO2012029477A1 (ja) | 2010-08-31 | 2011-07-29 | ネットワークシステム、仮想プライベート接続形成方法、静的nat形成装置、リバースプロキシサーバ及び仮想接続制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010194959A JP4802295B1 (ja) | 2010-08-31 | 2010-08-31 | ネットワークシステム及び仮想プライベート接続形成方法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011155512A Division JP5617108B2 (ja) | 2011-07-14 | 2011-07-14 | 静的nat形成装置、リバースプロキシサーバ及び仮想接続制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP4802295B1 true JP4802295B1 (ja) | 2011-10-26 |
JP2012054718A JP2012054718A (ja) | 2012-03-15 |
Family
ID=44946846
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010194959A Expired - Fee Related JP4802295B1 (ja) | 2010-08-31 | 2010-08-31 | ネットワークシステム及び仮想プライベート接続形成方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20120185563A1 (ja) |
JP (1) | JP4802295B1 (ja) |
WO (1) | WO2012029477A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114172698A (zh) * | 2021-11-19 | 2022-03-11 | 重庆川仪自动化股份有限公司 | 一种业务请求处理方法、Web服务器、设备及介质 |
Families Citing this family (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9143480B2 (en) * | 2011-01-10 | 2015-09-22 | Secure Global Solutions, Llc | Encrypted VPN connection |
US8881258B2 (en) * | 2011-08-24 | 2014-11-04 | Mcafee, Inc. | System, method, and computer program for preventing infections from spreading in a network environment using dynamic application of a firewall policy |
US9515999B2 (en) | 2011-12-21 | 2016-12-06 | Ssh Communications Security Oyj | Automated access, key, certificate, and credential management |
US9294549B2 (en) * | 2012-02-14 | 2016-03-22 | Citrix Systems, Inc. | Client bandwidth emulation in hosted services |
CN102594678B (zh) * | 2012-02-15 | 2015-01-14 | 杭州华三通信技术有限公司 | 一种dvpn大规模组网的方法和客户端 |
JP6012332B2 (ja) * | 2012-08-08 | 2016-10-25 | キヤノン株式会社 | デバイス管理装置、デバイス管理方法、及びプログラム |
KR101394542B1 (ko) | 2013-04-26 | 2014-05-13 | (주)소만사 | Ssl/tls 도메인 이름 수집/관리 시스템 및 방법 |
DE102013105799A1 (de) | 2013-06-05 | 2014-12-11 | Deutsche Post Ag | Vorrichtung, System und Verfahren zum Unterstützen der Einrichtung eines lokalen Netzwerks |
US9438596B2 (en) * | 2013-07-01 | 2016-09-06 | Holonet Security, Inc. | Systems and methods for secured global LAN |
US9356866B1 (en) | 2014-01-10 | 2016-05-31 | Juniper Networks, Inc. | Receive packet steering for virtual networks |
US20170207921A1 (en) * | 2014-07-18 | 2017-07-20 | Nokia Technologies Oy | Access to a node |
TWI552547B (zh) * | 2014-07-22 | 2016-10-01 | 廣達電腦股份有限公司 | 資料傳輸服務切換系統和方法 |
US11507663B2 (en) | 2014-08-11 | 2022-11-22 | Sentinel Labs Israel Ltd. | Method of remediating operations performed by a program and system thereof |
US9710648B2 (en) | 2014-08-11 | 2017-07-18 | Sentinel Labs Israel Ltd. | Method of malware detection and system thereof |
US20160100008A1 (en) * | 2014-10-02 | 2016-04-07 | Netapp, Inc. | Methods and systems for managing network addresses in a clustered storage environment |
JP6365280B2 (ja) * | 2014-12-10 | 2018-08-01 | 富士通株式会社 | 情報処理装置、情報処理システム、及びプログラム |
US10129088B2 (en) | 2015-06-17 | 2018-11-13 | Extreme Networks, Inc. | Configuration of rules in a network visibility system |
US10911353B2 (en) * | 2015-06-17 | 2021-02-02 | Extreme Networks, Inc. | Architecture for a network visibility system |
US10771475B2 (en) | 2015-03-23 | 2020-09-08 | Extreme Networks, Inc. | Techniques for exchanging control and configuration information in a network visibility system |
US10284516B2 (en) * | 2016-07-07 | 2019-05-07 | Charter Communications Operating, Llc | System and method of determining geographic locations using DNS services |
US11695800B2 (en) | 2016-12-19 | 2023-07-04 | SentinelOne, Inc. | Deceiving attackers accessing network data |
US11616812B2 (en) | 2016-12-19 | 2023-03-28 | Attivo Networks Inc. | Deceiving attackers accessing active directory data |
EP3643040A4 (en) | 2017-08-08 | 2021-06-09 | SentinelOne, Inc. | METHODS, SYSTEMS AND DEVICES FOR DYNAMIC MODELING AND GROUPING OF END POINTS FOR EDGE NETWORKING |
US10862862B2 (en) * | 2017-11-30 | 2020-12-08 | AVAST Software s.r.o. | Identifying devices on a remote network |
US11470115B2 (en) | 2018-02-09 | 2022-10-11 | Attivo Networks, Inc. | Implementing decoys in a network environment |
US10929048B2 (en) * | 2018-10-01 | 2021-02-23 | EMC IP Holding Company LLC | Dynamic multiple proxy deployment |
CN111431956B (zh) * | 2019-01-10 | 2022-07-05 | 阿里巴巴集团控股有限公司 | 跨网络的服务访问方法、设备、系统及存储介质 |
CN109889620B (zh) * | 2019-01-29 | 2022-07-19 | 上海联虹技术有限公司 | linux系统下实现网络地址转换环回的方法、装置及存储介质 |
JP7278423B2 (ja) | 2019-05-20 | 2023-05-19 | センチネル ラブス イスラエル リミテッド | 実行可能コード検出、自動特徴抽出及び位置独立コード検出のためのシステム及び方法 |
US11038658B2 (en) * | 2019-05-22 | 2021-06-15 | Attivo Networks Inc. | Deceiving attackers in endpoint systems |
CN110234147A (zh) * | 2019-06-12 | 2019-09-13 | 南京格兰斯贝网络科技有限公司 | 灯控系统网络的静态路由部署方法 |
CN111262939B (zh) * | 2020-01-17 | 2023-03-28 | 珠海市横琴盈实科技研发有限公司 | 边缘计算节点通信方法、装置、计算机设备和存储介质 |
CN112491958A (zh) * | 2020-10-27 | 2021-03-12 | 许继集团有限公司 | 基于端口映射技术的iec104通信代理服务方法、装置和系统 |
US11233860B1 (en) | 2020-11-20 | 2022-01-25 | Grand Dunes Entry Systems, LLC | Microcontroller device for secure communication |
US11579857B2 (en) | 2020-12-16 | 2023-02-14 | Sentinel Labs Israel Ltd. | Systems, methods and devices for device fingerprinting and automatic deployment of software in a computing network using a peer-to-peer approach |
US11899782B1 (en) | 2021-07-13 | 2024-02-13 | SentinelOne, Inc. | Preserving DLL hooks |
CN114025010B (zh) * | 2021-10-20 | 2024-04-16 | 北京奥星贝斯科技有限公司 | 建立连接的方法和网络设备 |
CN114125025B (zh) * | 2021-11-23 | 2024-02-13 | 北京奥星贝斯科技有限公司 | 一种多目标网络下的数据传输方法及装置 |
CN114268470B (zh) * | 2021-12-06 | 2024-06-07 | 深圳飞音时代网络通讯技术有限公司 | 一种报文的传输方法、装置及设备 |
US20240015177A1 (en) * | 2022-07-11 | 2024-01-11 | Armis Security Ltd. | Malicious lateral movement detection using remote system protocols |
CN116032879B (zh) * | 2022-12-30 | 2024-09-20 | 中国联合网络通信集团有限公司 | 内网设备与外网设备的互访方法、路由设备及服务器 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007108124A1 (ja) * | 2006-03-23 | 2007-09-27 | Fujitsu Limited | パケット中継装置 |
JP2009055418A (ja) * | 2007-08-28 | 2009-03-12 | Nec Corp | 通信システム、中継装置、端末、及び中継処理方法並びにそのプログラム |
JP2009272771A (ja) * | 2008-05-01 | 2009-11-19 | Spring Soft:Kk | ネットワーク接続制御装置、ネットワークシステム、ネットワーク接続制御方法及びネットワーク接続制御プログラム |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7266604B1 (en) * | 2000-03-31 | 2007-09-04 | Microsoft Corporation | Proxy network address translation |
GB2365256A (en) * | 2000-07-28 | 2002-02-13 | Ridgeway Systems & Software Lt | Audio-video telephony with port address translation |
US6981278B1 (en) * | 2000-09-05 | 2005-12-27 | Sterling Commerce, Inc. | System and method for secure dual channel communication through a firewall |
US6965939B2 (en) * | 2001-01-05 | 2005-11-15 | International Business Machines Corporation | Method and apparatus for processing requests in a network data processing system based on a trust association between servers |
US20030154306A1 (en) * | 2002-02-11 | 2003-08-14 | Perry Stephen Hastings | System and method to proxy inbound connections to privately addressed hosts |
JP3776821B2 (ja) * | 2002-03-28 | 2006-05-17 | 富士通株式会社 | アドレスアクセスシステム及び方法 |
JP4056849B2 (ja) * | 2002-08-09 | 2008-03-05 | 富士通株式会社 | 仮想閉域網システム |
JP3577067B2 (ja) * | 2002-12-24 | 2004-10-13 | 一 福嶋 | 動的ipアドレス割当てを受けた機器を管理する方法およびシステム |
KR100511479B1 (ko) * | 2002-12-27 | 2005-08-31 | 엘지전자 주식회사 | Nat를 갖는 망에서의 sip 서비스 방법 |
KR20070037648A (ko) * | 2004-07-23 | 2007-04-05 | 사이트릭스 시스템스, 인크. | 주변장치에서 가상 사설망 게이트웨이로 패킷을 라우팅하기위한 방법 및 시스템 |
DE602005023512D1 (de) * | 2004-09-30 | 2010-10-21 | France Telecom | Verfahren und system zum routen in kommunikationsnetzen zwischen einem ersten knoten und einem zweiten knoten |
US7822872B2 (en) * | 2006-06-08 | 2010-10-26 | Michael Shear | Multi-location distributed workplace network |
-
2010
- 2010-08-31 JP JP2010194959A patent/JP4802295B1/ja not_active Expired - Fee Related
-
2011
- 2011-07-29 US US13/393,839 patent/US20120185563A1/en not_active Abandoned
- 2011-07-29 WO PCT/JP2011/067430 patent/WO2012029477A1/ja active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007108124A1 (ja) * | 2006-03-23 | 2007-09-27 | Fujitsu Limited | パケット中継装置 |
JP2009055418A (ja) * | 2007-08-28 | 2009-03-12 | Nec Corp | 通信システム、中継装置、端末、及び中継処理方法並びにそのプログラム |
JP2009272771A (ja) * | 2008-05-01 | 2009-11-19 | Spring Soft:Kk | ネットワーク接続制御装置、ネットワークシステム、ネットワーク接続制御方法及びネットワーク接続制御プログラム |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114172698A (zh) * | 2021-11-19 | 2022-03-11 | 重庆川仪自动化股份有限公司 | 一种业务请求处理方法、Web服务器、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2012029477A1 (ja) | 2012-03-08 |
JP2012054718A (ja) | 2012-03-15 |
US20120185563A1 (en) | 2012-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4802295B1 (ja) | ネットワークシステム及び仮想プライベート接続形成方法 | |
US11190489B2 (en) | Methods and systems for establishing a connection between a first device and a second device across a software-defined perimeter | |
JP7393514B2 (ja) | モバイルデバイスの効率的なサイバー保護のための方法およびシステム | |
US8332464B2 (en) | System and method for remote network access | |
JP4708376B2 (ja) | プライベートネットワークへのアクセスを安全にする方法およびシステム | |
CN113824791A (zh) | 一种访问控制方法、装置、设备及可读存储介质 | |
JP6768530B2 (ja) | 情報処理装置及びプログラム | |
US10032027B2 (en) | Information processing apparatus and program for executing an electronic data in an execution environment | |
JP4908609B2 (ja) | ネットワークシステム | |
JP5617108B2 (ja) | 静的nat形成装置、リバースプロキシサーバ及び仮想接続制御装置 | |
JP2012222461A (ja) | ネットワークシステム | |
JP6359260B2 (ja) | クラウド環境においてセキュアなクレジットカードシステムを実現するための情報処理システムおよびファイアウォール装置 | |
JP6415924B2 (ja) | 情報処理装置及びプログラム | |
WO2016059846A1 (ja) | 情報処理装置及びプログラム | |
JP2011223636A (ja) | ポートフォワード形成装置及びリバースプロキシサーバ | |
Sørensen et al. | Automatic profile-based firewall for iot devices | |
Alassouli | Hacking of Computer Networks | |
De Coninck et al. | URLink: Using Names As Sole Internet Addresses to Tackle Scanning Attacks in IoT | |
De Coninck et al. | URLink: Using Names As Sole Internet Addresses to Tackle Scanning Attacks in IoT | |
Both | Managing the Firewall | |
AU2015331768A1 (en) | Information processing device and program | |
Row et al. | Security issues in small linux networks | |
Macintosh | VPNs and IPSec | |
O'Leary et al. | Web Attacks | |
Meyers et al. | Working with Remote Servers and Networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110715 |
|
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: 20110802 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110808 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140812 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4802295 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140812 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140812 Year of fee payment: 3 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |