JP5617108B2 - Static NAT forming device, reverse proxy server, and virtual connection control device - Google Patents

Static NAT forming device, reverse proxy server, and virtual connection control device Download PDF

Info

Publication number
JP5617108B2
JP5617108B2 JP2011155512A JP2011155512A JP5617108B2 JP 5617108 B2 JP5617108 B2 JP 5617108B2 JP 2011155512 A JP2011155512 A JP 2011155512A JP 2011155512 A JP2011155512 A JP 2011155512A JP 5617108 B2 JP5617108 B2 JP 5617108B2
Authority
JP
Japan
Prior art keywords
terminal
server
address
local master
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2011155512A
Other languages
Japanese (ja)
Other versions
JP2012054909A (en
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
Application filed by 岩▲崎▼ 哲夫, 岩▲崎▼ 哲夫 filed Critical 岩▲崎▼ 哲夫
Priority to JP2011155512A priority Critical patent/JP5617108B2/en
Publication of JP2012054909A publication Critical patent/JP2012054909A/en
Application granted granted Critical
Publication of JP5617108B2 publication Critical patent/JP5617108B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、静的NAT形成装置、リバースプロキシサーバ及び仮想接続制御装置に関する。
より詳細には、従来の仮想プライベートネットワーク(Virtual Private Network:以下「VPN」)の問題点を解消し、極めて軽量なソフトウェア及びハードウェアの追加で、柔軟な運用性且つ強固なセキュリティを実現する、新規な仮想プライベートネットワークシステムに使用する静的NAT形成装置、リバースプロキシサーバ、そして仮想接続制御装置に関する。
The present invention relates to a static NAT forming device, a reverse proxy server, and a virtual connection control device.
More specifically, the problem of the conventional virtual private network (Virtual Private Network: “VPN”) is solved, and flexible operability and strong security are realized by adding extremely lightweight software and hardware. The present invention relates to a static NAT forming device, a reverse proxy server, and a virtual connection control device used for a new virtual private network system.

今日、インターネットから端を発するIPネットワークは、我々の社会生活及び企業活動に必要不可欠な存在である。企業には社屋内にLANが張られており、このLANには企業の機密情報等も含まれるファイルサーバ等のサーバも接続されている。従業員はLANに接続されたパソコン等の端末を用いて、サーバが提供する情報資源を利用して業務を遂行する。一般的に、企業のLANは機密情報を含むサーバ等を守るため、LANのインターネットとの接続点にはファイアウォールが設けられている。こうして、LANは悪意ある第三者がインターネットから容易に企業のLAN内に侵入できないように構成されている。   Today, IP networks originating from the Internet are indispensable for our social life and corporate activities. A company has a LAN in the office, and a server such as a file server including confidential company information is also connected to the LAN. An employee uses a terminal such as a personal computer connected to a LAN to perform business using information resources provided by the server. Generally, a corporate LAN is provided with a firewall at the connection point between the LAN and the Internet in order to protect servers including confidential information. Thus, the LAN is configured so that a malicious third party cannot easily enter the corporate LAN from the Internet.

従業員が外出先でもノートパソコン等の端末を用いて企業内LANに接続して業務を遂行したい場合、このファイアウォールが邪魔になる。インターネットからファイアウォールを越えて企業のLANに安全に接続するための技術として、VPNが用いられている。
VPNはその接続形態によって様々な種類があるが、大別すると二通りの技術に分類できる。
一つは、LANの外に存在する端末にLANのサブネットに属するIPアドレスを付与する手法である。
もう一つは、ポートフォワーディング又は静的NAT(Network Address Translation)と呼ばれる手法である。
This firewall is a hindrance when employees want to work while connected to the corporate LAN using a laptop computer or other terminal. VPN is used as a technology for securely connecting to the corporate LAN from the Internet through a firewall.
There are various types of VPNs depending on their connection form, but they can be roughly classified into two types.
One is a method of assigning an IP address belonging to a LAN subnet to a terminal existing outside the LAN.
The other is a technique called port forwarding or static NAT (Network Address Translation).

特開2009−272771号公報JP 2009-227771 A

「PacketiX VPN 入門 - PacketiXVPN の特徴」ソフトイーサ株式会社[2010年3月25日検索]、インターネット<URL:http://www.softether.co.jp/jp/vpn2/introduction/about_vpn.aspx>"Introduction to PacketiX VPN-Features of PacketiXVPN" Soft Ether Co., Ltd. [Search on March 25, 2010], Internet <URL: http://www.softether.co.jp/jp/vpn2/introduction/about_vpn.aspx> 「特集 : ブロードバンド・ルータ徹底攻略ガイド」アイティメディア株式会社[2010年3月25日検索]、インターネット<URL:http://www.atmarkit.co.jp/fpc/special/bbrouter_desc/portforward_dmz.html>“Special Feature: Broadband Router Thorough Strategy Guide” IT Media Co., Ltd. [Search on March 25, 2010], Internet <URL: http://www.atmarkit.co.jp/fpc/special/bbrouter_desc/portforward_dmz.html> 「インターネットごしにsshでサーバ管理をしてみよう −@IT」アイティメディア株式会社[2010年3月25日検索]、インターネット<URL:http://www.atmarkit.co.jp/fnetwork/rensai/tcp27/01.html>"Let's manage the server with ssh over the Internet-@IT" IT Media Co., Ltd. [Search March 25, 2010], Internet <URL: http://www.atmarkit.co.jp/fnetwork/rensai /tcp27/01.html>

先ず、前者の、LANの外に存在する端末にLANのサブネットに属するIPアドレスを付与する手法について説明する。これは非特許文献1に開示される技術である。
殆どの企業内LANはIPv4のプライベートアドレスを用いている。そこで、LANの外、つまりインターネットに接続されている端末にも企業内LANのサブネットに属するプライベートアドレスを付与する。しかし、端末に備えられているネットワークインターフェースカード(Network Interface Card:以下「NIC」)には、既にインターネットサービスプロバイダ(Internet Service Provider:以下「ISP」)によってグローバルIPアドレスが付与されている。そこで、仮想的なNICをソフトウェアで実現し、これに企業内LANのサブネットに属するIPアドレスを付与する。そして、この仮想NICに対する通信は暗号化してファイアウォールを通過させる。
First, the former method of assigning an IP address belonging to a LAN subnet to a terminal existing outside the LAN will be described. This is a technique disclosed in Non-Patent Document 1.
Most corporate LANs use IPv4 private addresses. Therefore, a private address belonging to the subnet of the corporate LAN is also assigned to a terminal connected to the outside of the LAN, that is, the Internet. However, a network interface card (hereinafter referred to as “NIC”) provided in the terminal has already been assigned a global IP address by an Internet service provider (hereinafter referred to as “ISP”). Therefore, a virtual NIC is realized by software, and an IP address belonging to the subnet of the corporate LAN is assigned to this. The communication with the virtual NIC is encrypted and passed through the firewall.

この手法の問題点は、当該端末はLANのサブネットに属していながらファイアウォールで守られていない、インターネットに直に接続している、という点である。つまり、セキュリティ面で非常に問題がある。当該端末は、コンピュータウィルスやワーム、またDoSと呼ばれるサービス不能攻撃等の脅威に晒される。また、情報漏洩の可能性も高い。
更に、ISPが付与するIPアドレスがプライベートアドレスである場合、ISPが付与するIPアドレスと、VPNが付与するIPアドレスが衝突する可能性がある。現在でもケーブルテレビ系列のISPやネットカフェ等の公衆インターネット接続拠点では、端末にプライベートアドレスを付与している。またこれに留まらず、今後IPv4アドレスの枯渇に伴って普及が予測される「キャリアグレードNAT」(http://itpro.nikkeibp.co.jp/article/COLUMN/20080625/309452/)が広く実施されると、IPアドレスの衝突の可能性は飛躍的に高まることが予想できる。
The problem with this method is that the terminal belongs to the LAN subnet but is not protected by a firewall, or is directly connected to the Internet. In other words, there are very security issues. The terminal is exposed to threats such as computer viruses, worms, and denial of service attacks called DoS. There is also a high possibility of information leakage.
Furthermore, when the IP address assigned by the ISP is a private address, the IP address assigned by the ISP may collide with the IP address assigned by the VPN. Even now, in public Internet connection bases such as cable television ISPs and Internet cafes, private addresses are assigned to terminals. In addition to this, “Carrier Grade NAT” (http://itpro.nikkeibp.co.jp/article/COLUMN/20080625/309452/), which is expected to spread with the exhaustion of IPv4 addresses, will be widely implemented in the future. Then, the possibility of IP address collision can be expected to increase dramatically.

次に、後者のポートフォワーディング又は静的NATと呼ばれる手法について説明する。これは非特許文献2及び非特許文献3に開示される技術である。
例えば、ある家庭に192.168.0.0/24というプライベートネットワークが構築されているとする。この家庭内LAN内にwebサーバを構築し、ブロードバンドルータを介してインターネットに公開したい場合、ブロードバンドルータに「ポートフォワード設定」或は「静的NAT設定」と呼ばれる、特定のポート番号のパケットをLAN内の特定のマシン(サーバ)に振り向ける設定を施す。
Next, the latter method called port forwarding or static NAT will be described. This is a technique disclosed in Non-Patent Document 2 and Non-Patent Document 3.
For example, assume that a private network of 192.168.0.0/24 is built in a certain home. If you want to build a web server in this home LAN and publish it to the Internet via a broadband router, you can send a packet with a specific port number called "Port Forward Setting" or "Static NAT Setting" to the broadband router. Set to redirect to a specific machine (server).

今、ブロードバンドルータには家庭内LANのIPアドレスとしてデフォルトゲートウェイの「192.168.10.1」が付与されていると共に、ISPによって付与された動的グローバルIPアドレスが「203.178.83.194」であったとする。ブロードバンドルータには、この「203.178.83.194」のポート80番に来るパケットを、家庭内LANの別のIPアドレス「192.168.10.2」が付与されているマシンのポート80番へ転送する設定を施す。ブロードバンドルータは、パケットの送信先IPアドレスを、「203.178.83.194」から「192.168.10.2」に書き換えて、当該サーバに転送する。こうして、LAN内のサーバは外部(インターネット)に対してwebサーバとしてサービスを提供することが可能になる。これが、非特許文献2に開示されている技術である。なお、パケットに対して書き換える対象は、IPアドレスだけでなく、ポート番号も書き換えることができる。
このような静的NATと呼ばれる技術は、Linux(登録商標)等のPOSIX系OSのカーネルの機能(ドライバ)として実装されていることが多い。
Now, the broadband gateway is assigned the default gateway “192.168.10.1” as the IP address of the home LAN, and the dynamic global IP address assigned by the ISP is “203.178.83. 194 ". In the broadband router, a packet coming to port 80 of “203.178.83.194” is sent to port 80 of a machine to which another IP address “192.168.10.2” of the home LAN is assigned. Set to forward to No. The broadband router rewrites the destination IP address of the packet from “203.178.83.194” to “192.168.10.2” and transfers the packet to the server. Thus, the server in the LAN can provide a service as a web server to the outside (the Internet). This is the technique disclosed in Non-Patent Document 2. In addition, not only the IP address but also the port number can be rewritten with respect to the packet.
Such a technique called static NAT is often implemented as a kernel function (driver) of a POSIX OS such as Linux (registered trademark).

ブロードバンドルータは単にインターネットから来るパケットをLAN内に振り向けることしかしないので、セキュリティ面に問題がある。そこで、通信経路の暗号化と認証を伴ってセキュリティの向上を図った手法が、SSH(Secure SHell)の一種であるOpenSSH(http://www.openssh.com/ja/)等のアプリケーションである。これは非特許文献3に開示されている。
しかし、OpenSSHは、接続するユーザ毎に公開鍵を生成して配布する手間が生じると共に、クライアントである端末にSSHクライアントと公開鍵をインストールする必要がある。また、OpenSSHのような技術は潜在的なセキュリティのリスクを完全に払拭できてはいない。つまり、OpenSSH自身のセキュリティ面の脆弱性の大小に依存する。そして、OpenSSHのサーバであるsshdは、既定値ではポート22番を開放するので、ポート22番に対するDoS攻撃等のリスクも存在する。更に、OpenSSHはクライアントである端末自体のセキュリティについては何もしないので、別途端末のセキュリティ面を考慮して対策を施す必要がある。
Since the broadband router simply redirects packets coming from the Internet into the LAN, there is a problem in security. Therefore, an application such as OpenSSH (http://www.openssh.com/en/), which is a type of SSH (Secure Shell), is a method for improving security with encryption and authentication of communication paths. . This is disclosed in Non-Patent Document 3.
However, OpenSH requires time and effort to generate and distribute a public key for each connected user, and it is necessary to install an SSH client and a public key in a terminal that is a client. Also, technologies such as OpenSSH have not completely eliminated potential security risks. In other words, it depends on the level of security vulnerability of OpenSH itself. Since the SSH server, which is an Open SSH server, opens port 22 by default, there is a risk of DoS attacks on port 22 and the like. Furthermore, since OpenSSH does nothing about the security of the terminal itself as a client, it is necessary to take measures in consideration of the security of the terminal separately.

以上に述べたVPNの手法は、いずれも「インターネットからLAN内のサーバに繋げる」という目的にのみ特化して構築されている。また、その接続の技術も設定項目が多く面倒であったり、接続不能になる可能性が払拭できない等、完全ではない。そして、セキュリティ面の対策は別途考慮して対策を施さなければならない。   All of the VPN methods described above are specially constructed only for the purpose of “connecting from the Internet to a server in the LAN”. In addition, the connection technology is not perfect because there are many setting items and the possibility of connection failure cannot be eliminated. Security measures must be taken into consideration separately.

以上のような技術背景に鑑み、発明者は上述した従来のVPNの問題点を解消し、極めて軽量なソフトウェア及びハードウェアの追加で、柔軟な運用性且つ強固なセキュリティを実現する、新規なネットワークシステム、静的NAT形成装置及びリバースプロキシサーバを発明し、出願した(特願2010−89873、以下「特許出願1」)。   In view of the above technical background, the inventor has solved the above-described problems of the conventional VPN, and has realized a flexible operability and strong security by adding extremely lightweight software and hardware. A system, a static NAT forming apparatus, and a reverse proxy server were invented and filed (Japanese Patent Application No. 2010-89873, hereinafter “Patent Application 1”).

特許出願1では、IP接続可能性(IP Reachability)を妨げている単一のファイアウォールを越えて、端末とサーバを接続するために、端末とサーバとの間に静的NAT形成装置とリバースプロキシサーバが一つずつ介在し、リバースプロキシサーバの制御に従って、ポートフォワード(静的NAT)とリバースプロキシという、二段階のIPアドレス変換処理を経て、端末とサーバが仮想的な接続を実現する。   In patent application 1, a static NAT forming device and a reverse proxy server are connected between a terminal and a server in order to connect the terminal and the server beyond a single firewall preventing IP Reachability. And the server and the server realize a virtual connection through two-stage IP address conversion processing of port forward (static NAT) and reverse proxy according to the control of the reverse proxy server.

しかしながら、市場に存在するネットワークの構成はこのような単純なものだけではない。接続対象であるサーバに到達するまで、IP接続可能性を阻害する要因が複数存在し、幾つものゲートウェイを通過しなければ接続ができない、というようなネットワーク構成も存在する。
例えば、ある企業Aと企業Bが合併したとする。合併によって、企業Aの社内LANと企業Bの社内LANとの間に、相互接続を実現するためのゲートウェイサーバを設けることが考えられる。しかし、企業Aと企業Bの相互接続を実現するには、相互の社内LANのセキュリティポリシに影響が生じるため、安易な接続は推奨されない。更に、企業Aと企業Bは、予め合併することを前提に社内LANを構築していた訳ではないのだから、夫々のLANで使用するプライベートIPアドレスが重複する可能性も十分考えられる。経路上のどこかでサブネットやIPアドレスが重複している場合、通常、IPリーチャブル(IP reachable:IPパケットが到達可能であること)な環境を構築することは不可能である。
However, such a simple network configuration exists in the market. There are a plurality of factors that hinder the possibility of IP connection until the server that is the connection target is reached, and there is also a network configuration in which connection cannot be made without passing through several gateways.
For example, assume that a company A and a company B merge. It is conceivable to provide a gateway server for realizing interconnection between the in-house LAN of company A and the in-house LAN of company B by the merger. However, in order to realize the interconnection between the company A and the company B, the security policy of the mutual in-house LAN is affected, so that easy connection is not recommended. Furthermore, since the company A and the company B have not built an in-house LAN on the assumption that they will merge in advance, there is a possibility that private IP addresses used in the respective LANs overlap. When subnets and IP addresses overlap somewhere on the route, it is usually impossible to construct an IP reachable (IP reachable) environment.

本発明はかかる課題を解決し、上述した従来のVPNの問題点を解消し、極めて軽量なソフトウェア及びハードウェアの追加で、IPリーチャブルでない環境に存在するサーバにも接続ができる、新規なネットワークシステムに使用する静的NAT形成装置、リバースプロキシサーバ及び仮想接続制御装置を提供することを目的とする。   The present invention solves such problems, solves the problems of the conventional VPN described above, and can be connected to a server existing in an environment that is not IP reachable by adding extremely lightweight software and hardware. It is an object of the present invention to provide a static NAT forming device, a reverse proxy server, and a virtual connection control device used for the above.

上記課題を解決するために、本発明の静的NAT形成装置は、端末とIPリーチャブルである第一のネットワークに接続される第一のNICと、第一のNICに対してIPリーチャブルでない第二のネットワーク上に配置されるサーバに対して、端末接続を行うために用いられる第二のNICと、第二のNICと第一のNICとの間に介在し、端末が行う仮想IPアドレスに対する接続に基づいて、第二のネットワーク上に存在するリバースプロキシサーバを通じてサーバと通信するパケットに適用する静的NATを設定するNAT設定部とよりなる。

In order to solve the above problems, a static NAT forming apparatus of the present invention includes a first NIC connected to a terminal and a first network that is IP reachable, and a second NIC that is not IP reachable with respect to the first NIC. The second NIC used for the terminal to connect to the server arranged on the network of the network, and the virtual IP address performed by the terminal is interposed between the second NIC and the first NIC . Based on the connection, it includes a NAT setting unit that sets a static NAT to be applied to a packet communicated with the server through the reverse proxy server existing on the second network.

静的NAT形成装置がコントロールセッションを通じて認証を実行した後、端末がリバースプロキシサーバの先に存在するプライベートネットワーク内のサーバに対する接続を要求したら、静的NAT形成装置は静的NATを、リバースプロキシサーバはリバースプロキシを設定して、端末とサーバとの間にデータセッションを形成する。このようにネットワークシステムを構築することで、プライベートアドレスの衝突のない、仮想的な接続形態で、ファイアウォールを越えた端末のサーバに対する接続が実現できる。   After the static NAT forming apparatus performs authentication through the control session, if the terminal requests connection to a server in the private network existing ahead of the reverse proxy server, the static NAT forming apparatus uses the static NAT and the reverse proxy server. Sets up a reverse proxy to form a data session between the terminal and the server. By constructing the network system in this way, it is possible to realize a connection to a server of a terminal across a firewall in a virtual connection form without private address collision.

本発明により、極めて軽量なソフトウェア及びハードウェアの追加で、柔軟な運用性且つ強固なセキュリティを実現する、新規なネットワークシステムに使用する静的NAT形成装置、リバースプロキシサーバ及び仮想接続制御装置を提供できる。   The present invention provides a static NAT forming device, a reverse proxy server, and a virtual connection control device for use in a new network system that realizes flexible operability and strong security by adding extremely lightweight software and hardware. it can.

本実施形態のネットワークシステムの概略図である。It is the schematic of the network system of this embodiment. 第一端末に注目したネットワークシステムの概略図である。It is the schematic of the network system which paid its attention to the 1st terminal. 第二端末に注目したネットワークシステムの概略図である。It is the schematic of the network system which paid its attention to the 2nd terminal. ローカルマスタBOXの外観斜視図である。It is an external appearance perspective view of a local master BOX. ローカルマスタBOXのハードウェア構成を示すブロック図である。It is a block diagram which shows the hardware constitutions of a local master BOX. ローカルマスタBOXの機能ブロック図である。It is a functional block diagram of a local master BOX. ソフトローカルマスタの機能ブロック図である。It is a functional block diagram of a soft local master. RTAの機能ブロック図である。It is a functional block diagram of RTA. ステッピングノードの機能ブロック図である。It is a functional block diagram of a stepping node. ステッピングノードの機能ブロック図である。It is a functional block diagram of a stepping node. コンダクタの機能ブロック図である。It is a functional block diagram of a conductor. コンダクタに含まれるテーブルの構成を示す図である。It is a figure which shows the structure of the table contained in a conductor. 本実施形態のネットワークシステムの、全体的な動作の流れを示すタイムチャートである。It is a time chart which shows the flow of the whole operation | movement of the network system of this embodiment. 機器特定ID認証シーケンスのタイムチャートである。It is a time chart of an apparatus specific ID authentication sequence. ユーザ認証シーケンスとメニュー取得シーケンスのタイムチャートである。It is a time chart of a user authentication sequence and a menu acquisition sequence. メニュー取得シーケンスのタイムチャートである。It is a time chart of a menu acquisition sequence. VPC確立シーケンスのタイムチャートである。It is a time chart of a VPC establishment sequence. VPC確立シーケンスとVPCデータ転送状態のタイムチャートである。It is a time chart of a VPC establishment sequence and a VPC data transfer state. VPC確立シーケンスに流れるパケット及びVPC確立要求コマンドの概要を示す概略図である。It is the schematic which shows the outline | summary of the packet which flows into a VPC establishment sequence, and a VPC establishment request command. VPCトンネルを通過する通信のプロトコルがコネクション型の通信である場合における、VPC切断シーケンスを示すタイムチャートである。It is a time chart which shows a VPC disconnection sequence in case the protocol of communication which passes a VPC tunnel is connection type communication. ユーザログアウトシーケンス及びローカルマスタシャットダウンを示すタイムチャートである。It is a time chart which shows a user logout sequence and a local master shutdown.

[実施形態の概要]
本実施形態の概略を説明する。
本発明は、特許出願1に開示した技術内容を発展させた技術内容である。これより説明するネットワークシステムは、大企業の広域プライベートネットワークシステムにおいて、リモートオフィスサービスを実現する仕組みを提供する。従業員が、遠隔地の事業所或は出向先等から企業内の端末を操作して、本来所属している部門に存在する自らの端末のデスクトップ環境を、出向先の端末で実現する。リモートデスクトップ環境を提供するサーバは、出向先から直接的にIPリーチャブルではないサブネットのサーバに存在する。本実施形態のネットワークシステムは、直接的にIPリーチャブルでないサーバの資源に対し、後述するローカルマスタとステッピングノードを用いて、仮想プライベート接続(Virtual Private Connect:以下「VPC」と略)を実現する。
なお、本実施形態においてリモートデスクトップとは、リモートデスクトッププロトコル(RDP:Remote Desktop Protocol)という、Windows(登録商標)にて実装されている実装形態を指すが、勿論、これに限定されない。周知且つ広く普及しているVNC(Virtual Network Computing)や、X Window Systemであってもよい。
[Outline of Embodiment]
An outline of the present embodiment will be described.
The present invention is a technical content developed from the technical content disclosed in Patent Application 1. The network system described below provides a mechanism for realizing a remote office service in a wide area private network system of a large company. An employee operates a terminal in a company from a remote office or a secondee, and realizes the desktop environment of his / her own terminal in the department to which the employee originally belongs on the secondee's terminal. A server that provides a remote desktop environment exists in a server in a subnet that is not directly IP reachable from a secondee. The network system according to the present embodiment implements a virtual private connection (hereinafter abbreviated as “VPC”) to a server resource that is not directly IP reachable by using a local master and a stepping node described later.
In this embodiment, the remote desktop refers to a mounting form implemented in Windows (registered trademark) called Remote Desktop Protocol (RDP), but is not limited to this. It may be VNC (Virtual Network Computing) and X Window System which are well-known and widely spread.

VPCは、直接的にIPリーチャブルでない端末とサーバとの間にIPリーチャブルな経路(トンネル)を形成する。これ以降、VPCによって形成される経路をVPCトンネルと呼ぶ。VPCトンネルは、端末とローカルマスタ、ローカルマスタとステッピングノード、ステッピングノード同士及びステッピングノードとサーバの、IPリーチャブルな機器同士を「データセッション」にて接続し、ローカルマスタ及び各ステッピングノードでは静的NATを設定し、サーバに直近のステッピングノードではリバースプロキシを稼働させる。
このVPCを実現するために、以下の装置及びプログラムを新たに設ける。これより説明する四種類の装置及びプログラムは、全て従来のネットワーク技術には同等の機能を提供する装置等が存在しないので、発明者及び出願人が独自に名称を付している。各々の装置及びプログラムは、データセッションを形成するために、相互に制御用の通信路である「コントロールセッション」を形成する。
The VPC forms an IP reachable path (tunnel) between a terminal and a server that are not directly IP reachable. Hereinafter, a path formed by VPC is called a VPC tunnel. A VPC tunnel connects terminals and local masters, local masters and stepping nodes, stepping nodes and stepping nodes and servers, and IP reachable devices via a “data session”. The local master and each stepping node use static NAT. And the reverse proxy is operated at the stepping node closest to the server.
In order to realize this VPC, the following apparatuses and programs are newly provided. The four types of devices and programs described below are all uniquely named by the inventor and the applicant because there is no device or the like that provides an equivalent function in the conventional network technology. Each device and program forms a “control session”, which is a communication channel for mutual control, in order to form a data session.

・ステッピングノード(Stepping Node)
リバースプロキシサーバとも呼べるステッピングノードは、ネットワークの各所に設けられ、二つの動作を行う。
一つは、後述するローカルマスタ或は他のステッピングノードとの間で、静的NATにてデータセッションを形成し、仮想的にIPリーチャブルな状態を形成する動作である。
もう一つは、後述するローカルマスタ或は他のステッピングノードと、IPリーチャブルなサーバとの間で、リバースプロキシを起動してデータセッションを形成し、端末とサーバとの間を仮想的にIPリーチャブルな状態を形成する動作である。
一見すると、ステッピングノードはリバースプロキシサーバ或は静的NATが稼働するゲートウェイであるように見えるが、端末から接続要求があった時だけリバースプロキシのプロセスを起動し、或は静的NATを設定する。特に、リバースプロキシのプロセスを起動する際には、後述するコンダクタと認証を行う。
したがって、ステッピングノードは通常のサーバとは異なり、不必要にポートを開けないので、セキュリティ面で有利である。
・ Stepping Node
Stepping nodes, which can be called reverse proxy servers, are provided at various locations in the network and perform two operations.
One is an operation for forming a data session with a static NAT with a local master or another stepping node described later to form a virtually IP reachable state.
The other is to activate a reverse proxy between a local master or other stepping node, which will be described later, and an IP reachable server to form a data session, and virtually IP reachable between the terminal and the server. This is an operation to form a new state.
At first glance, the stepping node appears to be a reverse proxy server or a gateway running static NAT, but it starts the reverse proxy process only when there is a connection request from the terminal, or sets static NAT. . In particular, when starting the reverse proxy process, authentication is performed with a conductor described later.
Therefore, unlike a normal server, a stepping node cannot open a port unnecessarily, which is advantageous in terms of security.

・ローカルマスタ(Local Master)
静的NAT形成装置とも呼べるローカルマスタは、自身がステッピングノードに接続できる資格を有する装置であることを示す機器特定IDを内包しており、後述するコンダクタに対して機器認証(個体認証)を実行する。
機器認証が完遂すると、ローカルマスタは端末とコンダクタとの間に、制御用通信路であるコントロールセッションを形成する。端末にインストールされている、後述するプレイヤは、このコントロールセッションを用いてコンダクタと制御情報の通信を実行する。次に、プレイヤが、ユーザが接続可能なサーバに関する情報と、端末に対して様々な制御を行うための情報である制限設定情報をコンダクタに要求すると、コンダクタから受信するこれら情報を同時に取得し、端末が遠隔地のサーバにVPC接続するためのデータセッションを形成する準備を行う。
また、必要に応じ、制限設定情報に基づいて、セキュリティ確保のためにパケットフィルタも設定する。
データセッションは静的NAT(ポートフォワーディング)にて形成する。
・ Local Master
The local master, which can also be called a static NAT forming device, contains a device identification ID indicating that the device itself is qualified to connect to a stepping node, and performs device authentication (individual authentication) for the conductor described later. To do.
When the device authentication is completed, the local master forms a control session, which is a control communication path, between the terminal and the conductor. A player, which will be described later, installed in the terminal performs communication of control information with the conductor using this control session. Next, when the player requests the conductor for information related to the server to which the user can connect and restriction setting information that is information for performing various controls on the terminal, the player simultaneously obtains the information received from the conductor, The terminal prepares to form a data session for VPC connection to a remote server.
If necessary, a packet filter is also set for ensuring security based on the limit setting information.
A data session is formed by static NAT (port forwarding).

パケットフィルタは、端末の動作をサーバとの接続にのみ制限し、不用意にインターネット上の任意のサーバに接続する等の事故発生要因を排除するために設定する。コンダクタから送信される制限設定情報には、送受信を禁止される(又は送受信を許可される)IPアドレスの範囲が列挙され、この制限設定情報に従ってパケットフィルタは設定される。
静的NATによって、リバースプロキシであるステッピングノードを介して送受信するサーバとのパケットは、端末のローカル側に位置するNICに対するパケットとして、相手側を示すアドレスが、また必要に応じてポート番号も書き換えられる。端末はあたかもローカルのNICと通信しているような状態で、LAN内のサーバと通信することができる。
The packet filter is set to limit the operation of the terminal only to the connection with the server, and to eliminate the cause of the accident such as inadvertently connecting to an arbitrary server on the Internet. The restriction setting information transmitted from the conductor enumerates a range of IP addresses for which transmission / reception is prohibited (or transmission / reception is permitted), and the packet filter is set according to the restriction setting information.
Packets to and from a server that sends and receives through a stepping node that is a reverse proxy by static NAT are rewritten as a packet for the NIC located on the local side of the terminal, and the port number is rewritten as necessary. It is done. The terminal can communicate with a server in the LAN as if it were communicating with a local NIC.

ローカルマスタは、端末に接続されるハードウェアとして構成されるもの(以下「ローカルマスタBOX」)と、端末内にインストールされるソフトウェアとして構成されるもの(以下「ソフトローカルマスタ」)と、二通りの形態がある。いずれも、提供する機能は同じである。違いは、ローカルマスタBOXは内蔵するローカル側NICに静的NATをする一方、ソフトローカルマスタはネットワークOSが標準で内蔵するループバック仮想NICに静的NATを設定する、という点である。
ローカルマスタは、発明者が過去に発明して出願した特許文献1に開示される技術を基に、更に機能の整理と改良を施した装置及びプログラムである。
これ以降、単に「ローカルマスタ」と記す場合は、ローカルマスタBOXとソフトローカルマスタの両者を指す単語であると定義する。また、「ローカルマスタの暗号化通信処理部606」と記述する場合は、ローカルマスタBOXとソフトローカルマスタの両者に共通する機能ブロックを指す表記である。
There are two types of local masters: one configured as hardware connected to the terminal (hereinafter “local master BOX”) and one configured as software installed in the terminal (hereinafter “soft local master”). There are forms. Both provide the same functions. The difference is that the local master BOX performs static NAT for the built-in local NIC, while the soft local master sets static NAT for the loopback virtual NIC built in the network OS as standard.
The local master is a device and a program in which functions are further rearranged and improved based on the technique disclosed in Patent Document 1 filed by the inventor in the past.
Hereinafter, when simply describing “local master”, it is defined as a word indicating both the local master BOX and the soft local master. In addition, “local master encrypted communication processing unit 606” is a notation indicating a functional block common to both the local master BOX and the soft local master.

・プレイヤ(Player)
端末がインターネットに接続された状態で、更にローカルマスタとステッピングノードを通じてLAN内のサーバに接続すると、様々なセキュリティ面の懸念が生じる。そこで、端末の動作を強力に制限するために、端末にはこのプレイヤをインストールしておく。
挙動制限部とも呼べるプレイヤはローカルマスタと通信を行い、個人認証のためのユーザインターフェースを提供すると共に、ローカルマスタとステッピングノードとの通信が成立すると、OSの幾つかのアプリケーションプログラムインターフェース(Application Program Interface:以下「API」)をフックする。
ステッピングノードから送信され、ローカルマスタを通じて与えられる制限設定情報には、実行を禁止される(又は実行を許可される)アプリケーションプログラムや、閲覧、編集、移動又は削除を禁止されるファイル等が列挙されている。プレイヤはこの制限設定情報に従ってフックしたAPIを監視し、端末の挙動を強力に制限する。
・ Player
If the terminal is connected to the Internet and further connected to a server in the LAN through a local master and a stepping node, various security concerns arise. Therefore, this player is installed in the terminal in order to strongly limit the operation of the terminal.
A player, which can also be called a behavior restriction unit, communicates with the local master to provide a user interface for personal authentication, and when communication between the local master and the stepping node is established, some application program interfaces (Application Program Interface) of the OS are established. : "API" below).
The restriction setting information transmitted from the stepping node and given through the local master lists application programs that are prohibited (or permitted to be executed), files that are prohibited from being viewed, edited, moved, or deleted. ing. The player monitors the API hooked according to the restriction setting information, and strongly restricts the behavior of the terminal.

また、プレイヤは個人認証の機能を提供する。周知のログイン画面を端末に表示し、キーボードやICカードリーダ、或は指紋認証機器等の認証手段を通じて、ユーザの個人認証情報を取得し、コントロールセッションを通じてコンダクタに送信する。個人認証が成功したら、プレイヤはユーザが接続可能なサーバに関する情報と、端末に対して様々な制御を行うための情報である制限設定情報をコンダクタに要求する。   The player also provides a personal authentication function. A well-known login screen is displayed on the terminal, personal authentication information of the user is obtained through an authentication means such as a keyboard, an IC card reader, or a fingerprint authentication device, and transmitted to the conductor through a control session. If the personal authentication is successful, the player requests the conductor for information on a server to which the user can connect and restriction setting information which is information for performing various controls on the terminal.

更に、プレイヤはシェルとしての機能も提供する。個人認証が正常に終了すると、プレイヤはユーザが接続可能なサーバに関する情報と、端末に対して様々な制御を行うための情報である制限設定情報をコンダクタに要求する。ユーザが接続可能なサーバに関する情報を受信すると、プレイヤは端末の画面にウィンドウを表示し、そのウィンドウの中にアイコンを表示する。アイコンはアプリケーションの起動パラメータ(コマンドライン)を内包しており、実行を許可するアプリケーション名と、アクセスを許可するサーバのサーバ名がアプリケーションの引数として指定されている。プレイヤの子プロセスとしてアプリケーションが起動されるので、プレイヤはアプリケーションの挙動を容易に把握できる。   Further, the player also provides a function as a shell. When the personal authentication ends normally, the player requests the conductor for information on a server to which the user can connect and restriction setting information that is information for performing various controls on the terminal. When the user receives information about a server that can be connected, the player displays a window on the terminal screen and displays an icon in the window. The icon includes an application startup parameter (command line), and an application name that permits execution and a server name of a server that permits access are specified as arguments of the application. Since the application is activated as a child process of the player, the player can easily grasp the behavior of the application.

プレイヤはウィルスチェッカやマルウェア等のAPIフックの技術を応用している。プレイヤはステッピングノードの制御下にあるので、フックしたAPIで異常な挙動を検出したら、直ちに実行を停止してステッピングノードに報告することもできる。この技術を高度に応用すると、未知のウィルスに対しても防御が可能になるので、昨今問題になっている「ゼロデイ攻撃」(プログラムのセキュリティホールが発表され、当該プログラムのセキュリティホールを修正するパッチが提供されるよりも以前の時点で、悪意ある者によって実際に当該セキュリティホールを突いた攻撃が行われたり、当該セキュリティホールを悪用する不正プログラムが出現すること)にも対応が可能になる。また、端末に誤ってウィルスが混入してしまっても、一旦プレイヤが起動してステッピングノードと接続されると、APIフックの結果から不審な挙動が直ちに判明するので、ステッピングノードは当該端末の接続を強制切断する等の緊急措置を瞬時に実行することができる。   The player applies API hook technology such as virus checker and malware. Since the player is under the control of the stepping node, if an abnormal behavior is detected by the hooked API, the execution can be stopped immediately and reported to the stepping node. If this technology is applied to a high level, it will be possible to defend against unknown viruses. Therefore, the “zero-day attack” (a program security hole has been announced and a patch that corrects the security hole of the program has become a problem in recent years. It is also possible to cope with an attack that actually attacks the security hole by a malicious person or a malicious program that exploits the security hole appears at a time before the provision of the security hole. Even if a virus is accidentally mixed in a terminal, once the player starts up and is connected to the stepping node, the suspicious behavior is immediately determined from the result of the API hook. Emergency measures such as forcibly disconnecting can be executed instantaneously.

・コンダクタ(Conductor)
端末はサーバにVPCで接続するに際し、複数のステッピングノードを経由する。端末がサーバとVPCによる接続を確立する(端末がサーバに辿り着く)ためには、適切なステッピングノードを経由しなければならない。コンダクタは、このVPCトンネルを形成するための経路情報をローカルマスタに提供する。コンダクタは、本実施形態のネットワークシステムにおいて、VPCトンネルを形成するためにステッピングノードに対して制御情報を提供する「指揮者」の役割を果たす。
また、コンダクタは前述の通り、ローカルマスタに対する機器認証、端末を操作するユーザに対する個人認証を実行する。そして、機器認証及び個人認証を完遂した端末に対し、当該ユーザが接続を許可されているサーバの情報を提供する。
・ Conductor
A terminal goes through a plurality of stepping nodes when connecting to a server via a VPC. In order for the terminal to establish a VPC connection with the server (the terminal reaches the server), it must go through an appropriate stepping node. The conductor provides the local master with route information for forming this VPC tunnel. In the network system according to the present embodiment, the conductor serves as a “conductor” that provides control information to the stepping node to form the VPC tunnel.
As described above, the conductor performs device authentication for the local master and personal authentication for the user who operates the terminal. And the information of the server which the said user is permitted to connect is provided with respect to the terminal which completed apparatus authentication and personal authentication.

以上、四つの装置及びプログラムで、ネットワーク上に存在する端末は、ローカルマスタ及び途中経路上のステッピングノードによる静的NATと、サーバの直近に存在するステッピングノードによるリバースプロキシを通じて、ユーザが接続したいサーバに接続することができる。その際、端末の挙動はプレイヤによってサーバに対する通信のみ許可され、それ以外の挙動は大幅に制限される。
この接続形態では、静的NATとリバースプロキシのそれぞれにおいて、パケットに付されるIPアドレスは多数書き換えられる。その結果、端末は非特許文献1に開示されるような、LAN内のIPアドレスを付与されるような状態にはならず、非特許文献3に開示される静的NATの接続形態に近い状態になる。
As described above, with the four devices and programs, a terminal that exists on the network is a server that a user wants to connect to through a local NAT and a static NAT by a stepping node on a midway route and a reverse proxy by a stepping node that is closest to the server. Can be connected to. At that time, the behavior of the terminal is allowed only by the player to communicate with the server, and other behaviors are greatly limited.
In this connection form, a large number of IP addresses attached to packets are rewritten in each of the static NAT and the reverse proxy. As a result, the terminal does not enter a state in which the IP address in the LAN is assigned as disclosed in Non-Patent Document 1, but is close to the static NAT connection mode disclosed in Non-Patent Document 3. become.

[全体構成]
図1は、本実施形態のネットワークシステムの概略図である。
ある企業のLAN102は、多くの従業員が勤務している関係で、セキュリティの都合上、容易にサブネットを越えたアクセスができない構成になっている。このようなLAN102で、リモートデスクトップ環境を導入し、従業員が企業内のどの場所に移動しても、移動先の端末で同一のデスクトップ環境を実現しようとしている。
既存のLAN102のセキュリティポリシを変更せずに、最小限の追加投資でリモートデスクトップ環境を実現させるため、発明者はLAN102内の各所にステッピングノードを配置し、端末が直近のIPリーチャブルなステッピングノードからIPリーチャブルなステッピングノードを辿って、目的のサーバに接続する環境を構築した。
[overall structure]
FIG. 1 is a schematic diagram of a network system according to the present embodiment.
The LAN 102 of a certain company has a configuration in which many employees are working and cannot be easily accessed across subnets for security reasons. With such a LAN 102, a remote desktop environment is introduced, and the same desktop environment is intended to be realized on the destination terminal regardless of where the employee moves in the company.
In order to realize a remote desktop environment with a minimum additional investment without changing the security policy of the existing LAN 102, the inventor arranges stepping nodes in various places in the LAN 102, and the terminal starts from the nearest IP reachable stepping node. Following the IP reachable stepping node, we built an environment to connect to the target server.

図1では、第一端末105及び第二端末106と、二つの端末を示している。これは、どちらも等しくサーバ103に接続することができることを示すために記載している。
第一端末105及び第二端末106は周知のノートパソコン或は小型パソコンであり、OSとして周知のLinux(登録商標)がインストールされている。なお、OSは一般的なマルチタスクのネットワークOSであり、Linux(登録商標)に限定されず、例えばWindows(登録商標)等であってもよい。端末は周知のシンクライアント(Thin Client:ハードウェア資源を最小限に抑え、画面表示と操作入力等の最低限の機能だけを提供し、多くのアプリケーションプログラムはサーバで実行する、軽量端末。)を構成する。
In FIG. 1, the first terminal 105 and the second terminal 106 and two terminals are shown. This is shown to show that both can equally connect to the server 103.
The first terminal 105 and the second terminal 106 are well-known notebook personal computers or small personal computers, and a known Linux (registered trademark) is installed as an OS. The OS is a general multitasking network OS, and is not limited to Linux (registered trademark), but may be, for example, Windows (registered trademark). The terminal is a well-known thin client (Thin Client: a lightweight terminal that minimizes hardware resources, provides only the minimum functions such as screen display and operation input, and executes many application programs on a server). Configure.

第一端末105及び第二端末106には個人認証のためのICカードリーダ104が接続されている。
第一端末105及び第二端末106はLAN102に接続する際、ローカルマスタを伴う。
第一端末105には、ハードウェアで構成されたローカルマスタであるローカルマスタBOX109が接続されている。ローカルマスタBOX109は、LAN102と第一端末105との間に介在する。
第二端末106には、ソフトウェアで構成されたローカルマスタであるソフトローカルマスタ113がインストールされている。第二端末106はソフトローカルマスタ113がインストールされ、稼働することで、ソフトローカルマスタ113を経由してLAN102に接続する。
An IC card reader 104 for personal authentication is connected to the first terminal 105 and the second terminal 106.
The first terminal 105 and the second terminal 106 are accompanied by a local master when connecting to the LAN 102.
The first terminal 105 is connected to a local master BOX 109 that is a local master configured by hardware. The local master box 109 is interposed between the LAN 102 and the first terminal 105.
In the second terminal 106, a soft local master 113, which is a local master configured by software, is installed. The second terminal 106 is connected to the LAN 102 via the soft local master 113 when the soft local master 113 is installed and operated.

ローカルマスタBOX109又はソフトローカルマスタ113は、第一端末105及び第二端末106で稼働するプログラムが形成するネットワーク接続を、静的NATで直近の第一のステッピングノードである第一SN107まで接続する。
つまり、第一端末105のアプリケーションは直接的に第一SN107のIPアドレスに接続せず、ローカルマスタBOX109が提供する仮想IPアドレスに対して接続を行う。すると、ローカルマスタBOX109は第一端末105のアプリケーションが発するパケットのIPヘッダを静的NATにて書き換える。具体的には、送信元IPアドレスを第一端末105のIPアドレスからローカルマスタBOX109のIPアドレスへ、宛先IPアドレスをローカルマスタBOX109のIPアドレスから第一SN107のIPアドレスへ、書き換える。
The local master BOX 109 or the soft local master 113 connects the network connection formed by the programs running on the first terminal 105 and the second terminal 106 to the first SN 107 that is the nearest first stepping node by static NAT.
That is, the application of the first terminal 105 does not connect directly to the IP address of the first SN 107, but connects to the virtual IP address provided by the local master BOX 109. Then, the local master box 109 rewrites the IP header of the packet issued by the application of the first terminal 105 with static NAT. Specifically, the source IP address is rewritten from the IP address of the first terminal 105 to the IP address of the local master box 109, and the destination IP address is rewritten from the IP address of the local master box 109 to the IP address of the first SN 107.

ローカルマスタBOX109及びソフトローカルマスタ113には、第一SN107が接続されている。第一SN107はローカルマスタBOX109及びソフトローカルマスタ113が形成するネットワーク接続を、静的NATでIPリーチャブルな直近の第二のステッピングノードである第二SNまで接続する。
第一SN107はローカルマスタBOX109又はソフトローカルマスタ113が発するパケットのIPヘッダを静的NATにて書き換える。具体的には、送信元IPアドレスをローカルマスタBOX109又はソフトローカルマスタ113のIPアドレスから第一SN107のIPアドレスへ、宛先IPアドレスを第一SN107のIPアドレスから第二SNのIPアドレスへ、書き換える。
The first SN 107 is connected to the local master box 109 and the soft local master 113. The first SN 107 connects the network connection formed by the local master BOX 109 and the soft local master 113 to the second SN which is the nearest second stepping node that is static NAT and IP reachable.
The first SN 107 rewrites the IP header of the packet issued by the local master BOX 109 or the soft local master 113 using static NAT. Specifically, the source IP address is rewritten from the IP address of the local master box 109 or soft local master 113 to the IP address of the first SN 107, and the destination IP address is rewritten from the IP address of the first SN 107 to the IP address of the second SN 107. .

第一SN107には、第二SN108が接続されている。第二SN108は第一SN107が形成するネットワーク接続を、静的NATで直近の第三のステッピングノードである第三SN112まで接続する。
第二SN108は第一SN107が発するパケットのIPヘッダを静的NATにて書き換える。具体的には、送信元IPアドレスを第一SN107のIPアドレスから第二SN108のIPアドレスへ、宛先IPアドレスを第二SN108のIPアドレスから第三SN112のIPアドレスへ、書き換える。
The second SN 108 is connected to the first SN 107. The second SN 108 connects the network connection formed by the first SN 107 to the third SN 112, which is the nearest third stepping node in static NAT.
The second SN 108 rewrites the IP header of the packet issued by the first SN 107 with static NAT. Specifically, the source IP address is rewritten from the IP address of the first SN 107 to the IP address of the second SN 108, and the destination IP address is rewritten from the IP address of the second SN 108 to the IP address of the third SN 112.

第二SN108には、第三SN112が接続されている。第三SN112は第二SN108が形成するネットワーク接続を、静的NATで直近の第四のステッピングノードである第四SN114まで接続する。
第三SN112は第二SN108が発するパケットのIPヘッダを静的NATにて書き換える。具体的には、送信元IPアドレスを第二SN108のIPアドレスから第三SN112のIPアドレスへ、宛先IPアドレスを第三SN112のIPアドレスから第四SN114のIPアドレスへ、書き換える。
A third SN 112 is connected to the second SN 108. The third SN 112 connects the network connection formed by the second SN 108 to the fourth SN 114, which is the nearest fourth stepping node in static NAT.
The third SN 112 rewrites the IP header of the packet issued by the second SN 108 with static NAT. Specifically, the source IP address is rewritten from the IP address of the second SN 108 to the IP address of the third SN 112, and the destination IP address is rewritten from the IP address of the third SN 112 to the IP address of the fourth SN 114.

第三SN112には、第四SN114が接続されている。第四SN114は第三SN112が形成するネットワーク接続を、リバースプロキシで直近のサーバ103まで接続する。
第四SN114は第三SN112が発するパケットのIPヘッダをリバースプロキシにて書き換える。具体的には、送信元IPアドレスを第三SN112のIPアドレスから第四SN114のIPアドレスへ、宛先IPアドレスを第四SN114のIPアドレスからサーバ103のIPアドレスへ、書き換える。
A fourth SN 114 is connected to the third SN 112. The fourth SN 114 connects the network connection formed by the third SN 112 to the nearest server 103 using a reverse proxy.
The fourth SN 114 rewrites the IP header of the packet issued by the third SN 112 with the reverse proxy. Specifically, the source IP address is rewritten from the IP address of the third SN 112 to the IP address of the fourth SN 114, and the destination IP address is rewritten from the IP address of the fourth SN 114 to the IP address of the server 103.

以上、端末から、ローカルマスタ、第一SN107、第二SN108、第三SN112そして第四SN114を通じてサーバ103まで、静的NATとリバースプロキシを伴って接続する接続形態を、VPCと呼ぶ。そして、図1の点線で示す、端末とサーバ103との間にVPCによって形成される、静的NATとリバースプロキシで構成された接続経路を、VPCトンネルと呼ぶ。
VPCトンネルの特徴は、端末(第一端末105及び第二端末106)はサーバ103の本当のIPアドレスを知らず、またサーバ103も接続してきた端末の本当のIPアドレスを知らない、という点である。端末はローカルマスタが提供する仮想IPアドレスに対して通信を行い、サーバ103は第四SN114と通信を行う。端末にとってサーバ103はローカルマスタが提供する仮想IPアドレスが割り振られているように見え、サーバ103にとって端末は第四SN114であるように見える。
As mentioned above, the connection form connecting with the static NAT and the reverse proxy from the terminal to the server 103 through the local master, the first SN 107, the second SN 108, the third SN 112, and the fourth SN 114 is referred to as VPC. A connection path constituted by a static NAT and a reverse proxy, which is formed by a VPC between the terminal and the server 103, indicated by a dotted line in FIG.
A feature of the VPC tunnel is that the terminals (first terminal 105 and second terminal 106) do not know the real IP address of the server 103, and the server 103 does not know the real IP address of the connected terminal. . The terminal communicates with the virtual IP address provided by the local master, and the server 103 communicates with the fourth SN 114. To the terminal, the server 103 appears to be assigned a virtual IP address provided by the local master, and to the server 103, the terminal appears to be the fourth SN 114.

第二SN108と第三SN112には、更にコンダクタ115が接続されている。仮想接続制御装置ともいえるコンダクタ115は端末及びローカルマスタの認証を実行すると共に、ローカルマスタの要求に応じて、VPCトンネルを形成するための経路情報をローカルマスタに提供する。
図1には図示されていないが、ステッピングノードは図1に示される第一SN107、第二SN108、第三SN112及び第四SN114以外にも存在し得る。そのような状況の中で、端末がサーバ103にVPCで接続する為に辿るステッピングノードの情報が、経路情報である。
経路情報の詳細については後述する。
A conductor 115 is further connected to the second SN 108 and the third SN 112. The conductor 115, which can be called a virtual connection control device, performs authentication of the terminal and the local master, and provides route information for forming a VPC tunnel to the local master in response to a request from the local master.
Although not shown in FIG. 1, the stepping node may exist in addition to the first SN 107, the second SN 108, the third SN 112, and the fourth SN 114 shown in FIG. In such a situation, the information of the stepping node traced for the terminal to connect to the server 103 by VPC is the route information.
Details of the route information will be described later.

端末はローカルマスタBOX109又はソフトローカルマスタ113を介在することで、LAN102に接続することが許される。
ローカルマスタは第一SN107とはIPリーチャブルであるが、第二SN108、第三SN112及び第四SN114、そしてサーバ103とはIPリーチャブルではない。また、コンダクタ115ともIPリーチャブルではない。
図1において、第一SN107、ローカルマスタBOX109及び第二端末106が接続されている、相互にIPリーチャブルなサブネットは、第一のネットワークともいえる。
The terminal is allowed to connect to the LAN 102 via the local master box 109 or the soft local master 113.
The local master is IP reachable with the first SN 107, but is not IP reachable with the second SN 108, the third SN 112, the fourth SN 114, and the server 103. Also, the conductor 115 is not IP reachable.
In FIG. 1, the mutually IP reachable subnet to which the first SN 107, the local master box 109, and the second terminal 106 are connected can be said to be the first network.

第一SN107はローカルマスタ及び第二SN108とはIPリーチャブルであるが、端末、第三SN112及び第四SN114、そしてサーバ103とはIPリーチャブルではない。また、コンダクタ115ともIPリーチャブルではない。
第二SN108は第一SN107、第三SN112及びコンダクタ115とはIPリーチャブルであるが、端末、第一SN107及び第四SN114、そしてサーバ103とはIPリーチャブルではない。
第三SN112は第二SN108、第四SN114及びコンダクタ115とはIPリーチャブルであるが、端末、第一SN107、そしてサーバ103とはIPリーチャブルではない。
The first SN 107 is IP reachable with the local master and the second SN 108, but is not IP reachable with the terminal, the third SN 112, the fourth SN 114, and the server 103. Also, the conductor 115 is not IP reachable.
The second SN 108 is IP reachable with the first SN 107, the third SN 112, and the conductor 115, but the terminal, the first SN 107, the fourth SN 114, and the server 103 are not IP reachable.
The third SN 112 is IP reachable with the second SN 108, the fourth SN 114, and the conductor 115, but is not IP reachable with the terminal, the first SN 107, and the server 103.

第四SN114は第三SN112及びサーバ103とはIPリーチャブルであるが、端末、第一SN107、第二SN108とはIPリーチャブルではない。また、コンダクタ115ともIPリーチャブルではない。
図1において、第四SN114及びサーバ103が接続されている、相互にIPリーチャブルなサブネットは、第一のネットワークからはIPリーチャブルでない、第二のネットワークともいえる。
The fourth SN 114 is IP reachable with the third SN 112 and the server 103, but is not IP reachable with the terminal, the first SN 107, and the second SN 108. Also, the conductor 115 is not IP reachable.
In FIG. 1, the mutually IP reachable subnet to which the fourth SN 114 and the server 103 are connected can be said to be a second network that is not IP reachable from the first network.

このように、本実施形態のネットワークシステム101は、端末とサーバ103との間のIPリーチャブルではない環境で、IPリーチャブルな箇所にステッピングノードを配置し、ステッピングノードが静的NAT或はリバースプロキシでIPリーチャブルな接続相手同士を接続することで、IPリーチャブルではない機器同士を仮想的にIPリーチャブルにする。   As described above, in the network system 101 according to the present embodiment, in a non-IP reachable environment between the terminal and the server 103, a stepping node is arranged at an IP reachable location, and the stepping node is a static NAT or a reverse proxy. By connecting IP reachable connection partners, non-IP reachable devices are virtually made IP reachable.

図2は第一端末105に注目したネットワークシステム101の概略図である。紙面の都合上、図2及び後述する図3では第三SN112の表記は省略している。
第一端末105にはOS201がインストールされており、OS201の一部であるシェル202を通じて第三アプリケーション203等のアプリケーションプログラムが実行される。第一端末105にはこの他にプレイヤ111がインストールされており、所定の操作によって実行される。
OS201は第一端末105のハードウェアである、ハードディスク等のストレージ204、キーボード及びマウス等の操作部205、液晶ディスプレイ等の表示部206、そして内蔵USBインターフェース207とのデータの入出力を掌握し、アプリケーションがこれらのハードウェアを容易に利用できるためのAPIを提供する。
FIG. 2 is a schematic diagram of the network system 101 focusing on the first terminal 105. For reasons of space, the third SN 112 is not shown in FIG. 2 and FIG. 3 described later.
An OS 201 is installed in the first terminal 105, and an application program such as the third application 203 is executed through the shell 202 that is a part of the OS 201. In addition, a player 111 is installed in the first terminal 105 and is executed by a predetermined operation.
The OS 201 grasps data input / output with the storage 204 such as a hard disk, the operation unit 205 such as a keyboard and a mouse, the display unit 206 such as a liquid crystal display, and the built-in USB interface 207, which are the hardware of the first terminal 105. An API is provided to allow applications to easily use these hardware.

プレイヤ111は個人認証を完遂すると、OS201の幾つかのAPIをフックして、第一端末105全体の挙動を大幅に制限する。また、異常を検出したらその際の発生状況等をローカルマスタBOX109、第一SN107及び第二SN108を通じてコンダクタ115に報告する。   When the player 111 completes the personal authentication, the player 111 hooks some APIs of the OS 201 and greatly restricts the behavior of the entire first terminal 105. Further, when an abnormality is detected, the occurrence state at that time is reported to the conductor 115 through the local master box 109, the first SN 107, and the second SN 108.

更に、プレイヤ111はアプリケーション起動制御部ともいえるシェルとしての機能も提供する。ユーザがサーバ103に接続するために、プレイヤ111が提供するユーザインターフェースが、専用シェル208である。個人認証が正常に終了すると、プレイヤ111の専用シェル208は第一端末105の画面にウィンドウを表示し、そのウィンドウの中にアイコンを表示する。アイコンはアプリケーションの起動パラメータ(コマンドライン)を内包しており、実行を許可するアプリケーション名と、アクセスを許可するサーバ103のサーバ名或はローカルマスタBOXが提供する仮想IPアドレス等が、アプリケーションの引数として指定されている。このようにして、プレイヤ111の子プロセスとして起動されたアプリケーションプログラムが、図2の第一アプリケーション209及び第二アプリケーション210である。プレイヤ111の子プロセスとしてアプリケーションが起動されるので、プレイヤ111はアプリケーションの挙動を容易に把握できる。   Furthermore, the player 111 also provides a function as a shell that can be called an application activation control unit. A user interface provided by the player 111 for the user to connect to the server 103 is a dedicated shell 208. When the personal authentication ends normally, the dedicated shell 208 of the player 111 displays a window on the screen of the first terminal 105 and displays an icon in the window. The icon includes an application startup parameter (command line), and an application name that permits execution, a server name of the server 103 that permits access, a virtual IP address provided by the local master BOX, and the like are arguments of the application. Is specified as The application programs started as child processes of the player 111 in this way are the first application 209 and the second application 210 in FIG. Since the application is activated as a child process of the player 111, the player 111 can easily grasp the behavior of the application.

図2では、専用シェル208から起動された第一アプリケーション209及び第二アプリケーション210が表示されている。一方、第一端末105が個人認証を完了するまでに既に実行されているOS201のシェル202と第三アプリケーション203が、別途起動された状態である。これらはプレイヤ111の専用シェル208の子プロセスとして起動されたアプリケーションではないので、プレイヤ111のAPIフック機能でその挙動が大幅に制限される。また、実行を禁じられているアプリケーション、「ファイルを開く」動作が禁じられているファイルに対するアプリケーションの起動はプレイヤ111によって阻害され、実行できなくなる。   In FIG. 2, a first application 209 and a second application 210 started from the dedicated shell 208 are displayed. On the other hand, the shell 202 and the third application 203 of the OS 201 that are already executed until the first terminal 105 completes the personal authentication are in a state where they are separately activated. Since these are not applications started as child processes of the dedicated shell 208 of the player 111, the behavior is greatly limited by the API hook function of the player 111. In addition, activation of an application that is prohibited from being executed or a file that is prohibited from the “open file” operation is inhibited by the player 111 and cannot be executed.

第一端末105の内蔵USBインターフェース207には、ローカルマスタBOX109が接続されている。ローカルマスタBOX109には後述するDHCPクライアントが内蔵されており、DHCPサーバ110によってLAN102に接続し、第一SN107等のIPリーチャブルな機器と通信ができるようになる。   A local master box 109 is connected to the built-in USB interface 207 of the first terminal 105. The local master box 109 incorporates a DHCP client, which will be described later, and is connected to the LAN 102 by the DHCP server 110 and can communicate with an IP reachable device such as the first SN 107.

図3は第二端末106に注目したネットワークシステム101の概略図である。
第二端末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ネットワーク経由で所定の制御情報の送受信を行わずとも、メッセージパッシング、共有メモリ或は名前付きパイプ等、一般的なプロセス間通信の仕組みが利用可能である。
FIG. 3 is a schematic diagram of the network system 101 focusing on the second terminal 106.
The difference between the second terminal 106 and the first terminal 105 is that a soft local master 113 is installed in the second terminal 106 instead of the local master BOX 109, and is interposed between the OS 201 and the player 111. The second terminal 106 is connected to the LAN 102 via the built-in NIC 301. Therefore, in the first terminal 105, the DHCP server 110 assigns a dynamic IP address to the local master BOX 109, but in the second terminal 106, the DHCP server 110 is directly connected to the built-in NIC 301 built in the second terminal 106. A dynamic IP address will be assigned. Since the soft local master 113 is installed in the second terminal 106, message passing and sharing can be performed without transmitting / receiving predetermined control information via the IP network as in the case of the first terminal 105 and the local master BOX 109. A general interprocess communication mechanism such as a memory or a named pipe can be used.

[ローカルマスタBOX109]
図4は、ローカルマスタBOX109の外観斜視図である。ローカルマスタBOX109の裏面にはUSB−Bコネクタ403が一つと、ネットワークコネクタ404が一つ設けられている。USB−Bコネクタ403は、図示しないUSB−Bケーブルを通じて端末が接続される。ネットワークコネクタ404にはLANケーブルが接続され、その先にはDHCPサーバ110が接続される。
[Local Master Box 109]
FIG. 4 is an external perspective view of the local master box 109. One USB-B connector 403 and one network connector 404 are provided on the back surface of the local master box 109. The USB-B connector 403 is connected to a terminal through a USB-B cable (not shown). A LAN cable is connected to the network connector 404, and the DHCP server 110 is connected to the end of the LAN cable.

図5はローカルマスタBOX109のハードウェア構成を示すブロック図である。
マイクロコンピュータよりなるローカルマスタBOX109は、CPU502、RAM503、ROMを兼用する不揮発性ストレージとしてのフラッシュメモリ504、USBインターフェース505、そして第一NIC507が、バス508に接続されている。
フラッシュメモリ504にはOS201のカーネルやライブラリ、そして管理用コマンド等の主要部分が格納されている。OS201は例えばLinux(登録商標)である。
ローカルマスタBOX109はパソコンである第一端末105からUSBケーブルを通じて電源供給を受ける。つまり、ローカルマスタBOX109はバスパワードデバイスである。
図6にて後述する、図5に記されていない第二NIC601は、フラッシュメモリ504内に格納されているOS201及びアプリケーションプログラムによって仮想的に作成される。
FIG. 5 is a block diagram showing a hardware configuration of the local master box 109.
In the local master box 109 formed of a microcomputer, a CPU 502, a RAM 503, a flash memory 504 serving as a nonvolatile storage also serving as a ROM, a USB interface 505, and a first NIC 507 are connected to a bus 508.
The flash memory 504 stores a main part such as a kernel and library of the OS 201 and a management command. The OS 201 is, for example, Linux (registered trademark).
The local master box 109 receives power supply from the first terminal 105, which is a personal computer, through a USB cable. That is, the local master box 109 is a bus powered device.
A second NIC 601 not described in FIG. 5, which will be described later with reference to FIG. 6, is virtually created by the OS 201 and application programs stored in the flash memory 504.

図6はローカルマスタBOX109の機能ブロック図である。
ローカルマスタBOX109は、二つのネットワークインターフェースを具備する。
第一NIC507は、図5で図示したようにハードウェアとして構成されるNICであり、LAN102に接続されることで、第一SN107とIPリーチャブルになる。
第二NIC601は、図5では図示されていないが、フラッシュメモリ504内に格納されているOS及びアプリケーションプログラムによって仮想的に作成される。第一端末105から見ると、第二NIC601はUSB接続される外付けNICとして認識される。つまり、第二NIC601は第一端末105のネットワークシステム101が構成するサブネットに含まれ、第一端末105から直接的にアクセスが可能なデバイスである。
FIG. 6 is a functional block diagram of the local master box 109.
The local master BOX 109 includes two network interfaces.
The first NIC 507 is a NIC configured as hardware as illustrated in FIG. 5, and becomes IP reachable with the first SN 107 by being connected to the LAN 102.
Although not shown in FIG. 5, the second NIC 601 is virtually created by an OS and application programs stored in the flash memory 504. When viewed from the first terminal 105, the second NIC 601 is recognized as an external NIC connected by USB. That is, the second NIC 601 is a device that is included in the subnet configured by the network system 101 of the first terminal 105 and can be directly accessed from the first terminal 105.

ローカルマスタBOX109の第一NIC507がLAN102に接続されると、DHCPクライアント602は、DHCPサーバ110から、IPアドレス、ネットマスク、(IPネットワークにおける)デフォルトゲートウェイ、ネームリゾルバ等のネットワーク構成情報を受信し、第一NIC507がLAN102上の機器とIPリーチャブルな状態になるように、第一NIC507を設定する。   When the first NIC 507 of the local master box 109 is connected to the LAN 102, the DHCP client 602 receives network configuration information such as an IP address, a netmask, a default gateway (in an IP network), a name resolver, and the like from the DHCP server 110. The first NIC 507 is set so that the first NIC 507 is in an IP reachable state with a device on the LAN 102.

次に、アドレス重複回避部603は、DHCPクライアント602が取得したネットワーク構成情報を参照して、第二NIC601に付与しようとするIPアドレスが第一NIC507のサブネットに属する場合には、第二NIC601が第一NIC507とは異なるサブネットのネットワークに属するようにするために、DHCPサーバ604の起動パラメータを調整する。具体的には、第一NIC507にグローバルIPアドレスが付与される場合は、第二NIC601には既定値として、ネットワークアドレス192.168.0.0/24に属するIPアドレスである192.168.0.1を付与するが、もしも第一NIC507のネットワークアドレスが192.168.0.0/24であった場合は、192.168.1.0/24のIPアドレスである192.168.1.1を付与する。   Next, the address duplication avoiding unit 603 refers to the network configuration information acquired by the DHCP client 602, and if the IP address to be assigned to the second NIC 601 belongs to the subnet of the first NIC 507, the second NIC 601 In order to belong to a network of a different subnet from the first NIC 507, the startup parameters of the DHCP server 604 are adjusted. Specifically, when a global IP address is assigned to the first NIC 507, the second NIC 601 has a default value of 192.168.8.0, which is an IP address belonging to the network address 192.168.0.0/24. 1. If the network address of the first NIC 507 is 192.168.0.0/24, the IP address of 192.168.1.0/24 is 192.168.1. 1 is given.

ローカルマスタBOX109の第一NIC507がDHCPサーバ110によって設定され、第二NIC601にもDHCPサーバ604によってプライベートIPアドレスが付与された状態では、NAT設定部605は一般的な動的NATを構成する。これにより、第一NIC507と第二NIC601との間は支障なくネットワーク接続が成立する。なお、この時点では、暗号化通信処理部606は第二NIC601と第一NIC507との間を流れるパケットのペイロード部分の暗号化処理及び復号化処理は行わない。   In a state where the first NIC 507 of the local master box 109 is set by the DHCP server 110 and a private IP address is also assigned to the second NIC 601 by the DHCP server 604, the NAT setting unit 605 forms a general dynamic NAT. Thereby, network connection is established between the first NIC 507 and the second NIC 601 without any trouble. At this time, the encrypted communication processing unit 606 does not perform encryption processing and decryption processing on the payload portion of the packet flowing between the second NIC 601 and the first NIC 507.

一方、コントロールセッション管理部609は、第一NIC507がネットワークに接続したことを知ると、直ちにコンダクタ115に対して機器認証を試みる。コンダクタ115へ送信する機器特定ID608は、デフォルトゲートウェイアドレス612に記述されているステッピングノードへ送信される。本実施形態では図1に示したように、第一SN107である。
機器認証に用いる機器特定ID608は、暗号化通信処理部606によって暗号化されて、第一SN107及び第二SN108を通じてコンダクタ115に送信される。コンダクタ115から暗号化通信処理部606を通じて機器認証の成功の通知及びセッションID(以下「SSID」)を受信すると、コントロールセッション管理部はSSIDをSSIDメモリ613に記憶する。
この時点で、ローカルマスタBOX109と第一SN107、第二SN108及びコンダクタ115との間にはコントロールセッションが形成される。
なお、本実施形態で記す「デフォルトゲートウェイ」は、一般的なIPネットワークのデフォルトゲートウェイとは異なる意味であり、コンダクタ115に繋ぐ為に辿る、IPリーチャブルな機器のIPアドレス又はホスト名を指す。
On the other hand, when the control session management unit 609 knows that the first NIC 507 is connected to the network, it immediately attempts device authentication with respect to the conductor 115. The device identification ID 608 transmitted to the conductor 115 is transmitted to the stepping node described in the default gateway address 612. In the present embodiment, as shown in FIG.
The device identification ID 608 used for device authentication is encrypted by the encrypted communication processing unit 606 and transmitted to the conductor 115 through the first SN 107 and the second SN 108. When the notification of the success of device authentication and the session ID (hereinafter “SSID”) are received from the conductor 115 through the encrypted communication processing unit 606, the control session management unit stores the SSID in the SSID memory 613.
At this point, a control session is formed between the local master box 109 and the first SN 107, the second SN 108, and the conductor 115.
The “default gateway” described in the present embodiment has a different meaning from the default gateway of a general IP network, and indicates the IP address or host name of an IP reachable device that is traced to connect to the conductor 115.

コントロールセッションは、コネクション型のTCPの一種であり、ペイロードが暗号化通信処理部606によって暗号化されている。発明者が独自に開発したプロトコルであり、SSL−TELNET(SSLによって暗号化されたTELNETプロトコル)に類似する。SSL−TELNETとの相違点は、画面制御を行わない点である。コマンドとデータの送受信だけが実現できればよいので、VT端末等のエスケープシーケンスを用いた画面制御の機能を持たない。
ローカルマスタとコンダクタ115との間のコントロールセッションの形成は、TELNETの多重接続に類似する。つまり、ローカルマスタから第一SN107にTELNETログインした後、第一SN107を踏み台にして第二SN108にTELNETログインし、更に第二SN108を踏み台にしてコンダクタ115にTELNETログインする、という接続形態である。
The control session is a kind of connection-type TCP, and the payload is encrypted by the encrypted communication processing unit 606. It is a protocol originally developed by the inventor and similar to SSL-TELNET (TELNET protocol encrypted by SSL). The difference from SSL-TELNET is that screen control is not performed. Since only command and data transmission / reception needs to be realized, it does not have a screen control function using an escape sequence such as a VT terminal.
The formation of a control session between the local master and the conductor 115 is similar to TELNET multiple connections. That is, after the TELNET login from the local master to the first SN 107, the first SN 107 is used as a step to log in to the second SN 108, and the second SN 108 is used as a step to log in to the conductor 115.

第一端末105のプレイヤ111は、起動すると、接続されているローカルマスタBOX109に対し、コントロールセッションを通じてSSIDを要求する。この動作は、ローカルマスタBOX109がSSIDを返信するまで繰り返される。つまり、プレイヤ111はSSIDの要求をポーリングする。
コントロールセッション管理部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等の、個人認証を実現する機器から得られる個人認証に用いる情報を利用する方法もある。これ以降、これらの端末を使用するユーザを認証するための情報を個人認証情報と総括して呼ぶ。
When activated, the player 111 of the first terminal 105 requests the connected local master box 109 for an SSID through a control session. This operation is repeated until the local master box 109 returns the SSID. That is, the player 111 polls for an SSID request.
When the control session management unit 609 receives a request for an SSID from the player 111, the control session management unit 609 returns a SSID stored in the SSID memory 613. Otherwise, that is, when the device authentication for the conductor 115 is not completed and the SSID is not received from the conductor 115, an error is returned to the player 111.
Upon receiving the SSID from the local master box 109, the player 111 recognizes that the local master box 109 has succeeded in device authentication. When the received SSID is stored in a RAM (not shown), the player 111 next displays a login screen on the display unit 206 of the first terminal 105.
The user performs personal authentication of the user using the IC card reader 104 or the operation unit 205 of the first terminal 105. The personal authentication information input by the user is transmitted by the player 111 to the local master box 109 through the control session. There are various kinds of personal authentication information. When the operation unit 205 is used, a general user ID and password are used. In addition, there is a method of using information used for personal authentication obtained from a device that realizes personal authentication, such as a fingerprint authentication device or an IC card reader 104. Hereinafter, information for authenticating a user who uses these terminals is collectively referred to as personal authentication information.

個人認証情報は、コントロールセッション管理部609を通じて制御される暗号化通信処理部606によって暗号化されて、コンダクタ115に送信される。コンダクタ115から返信される個人認証の成功の通知は、第一端末105に到達する。
プレイヤ111はコンダクタ115から個人認証の成功の通知を受信すると、ユーザが利用可能なサービスに関する情報をコンダクタ115に要求する。コンダクタ115はこれに呼応して、ユーザが享受できるサービスに関する情報と、第一端末105及びローカルマスタBOX109の挙動を制限するための情報を送信する。
ユーザが享受できるサービスに関する情報はサービスメニュー情報614として、プレイヤ111に記憶されると共に、ローカルマスタBOX109も転送する際にサービスメニュー情報614を記憶する。
第一端末105及びローカルマスタBOX109の挙動を制限するための情報は制限設定情報610として、プレイヤ111に記憶されると共に、ローカルマスタBOX109も転送する際に制限設定情報610を記憶する。
The personal authentication information is encrypted by the encrypted communication processing unit 606 controlled through the control session management unit 609 and transmitted to the conductor 115. The notification of the success of the personal authentication returned from the conductor 115 reaches the first terminal 105.
When the player 111 receives a notification of successful personal authentication from the conductor 115, the player 111 requests the conductor 115 for information regarding services available to the user. In response to this, the conductor 115 transmits information related to services that the user can enjoy and information for limiting the behavior of the first terminal 105 and the local master box 109.
Information relating to services that can be enjoyed by the user is stored in the player 111 as service menu information 614, and the service menu information 614 is stored when the local master box 109 is also transferred.
Information for restricting the behavior of the first terminal 105 and the local master BOX 109 is stored in the player 111 as restriction setting information 610, and the restriction setting information 610 is also stored when the local master BOX 109 is transferred.

ローカルマスタBOX109のコントロールセッション管理部609は、コンダクタ115から受信した制限設定情報610に記述されているパケットフィルタリングの設定情報を読み出して、パケットフィルタ設定部611を制御する。パケットフィルタ設定部611は、コントロールセッション管理部609から与えられたパケットフィルタリングの設定情報に従って、パケットフィルタを構成する。   The control session management unit 609 of the local master box 109 reads the packet filtering setting information described in the restriction setting information 610 received from the conductor 115 and controls the packet filter setting unit 611. The packet filter setting unit 611 configures a packet filter in accordance with the packet filtering setting information given from the control session management unit 609.

次に、ローカルマスタBOX109のコントロールセッション管理部609は、記憶したサービスメニュー情報614に基づいて、データセッションを形成するポート番号を監視するように、パケット監視部615を設定する。
パケット監視部615は、第二NIC601に割り当てられたIPアドレスの、データセッションの対象となるポート番号に、TCP SYNパケットが来たら、これをコントロールセッション管理部609に報告する。コントロールセッション管理部609は、この報告を受けて、データセッションを形成するための通信を開始する。
Next, the control session management unit 609 of the local master box 109 sets the packet monitoring unit 615 to monitor the port number forming the data session based on the stored service menu information 614.
The packet monitoring unit 615 reports a TCP SYN packet to the control session management unit 609 when the IP address assigned to the second NIC 601 reaches the port number targeted for the data session. Upon receiving this report, the control session management unit 609 starts communication for forming a data session.

また、パケット監視部615は、設定されるデータセッションがコネクション型の通信である場合は、TCP FINパケットも監視する。RDPやSSHのような、クライアントの終了によって初めてTCP FINパケットが送信されるプロトコルの場合は、TCP FINパケットの入来を検出することで、直ちにデータセッションを終了(クローズ)させることができる。
逆に、設定されるデータセッションがHTTPのようなコネクションレス型のプロトコルの場合は、一つのデータストリームが送信される度にTCP FINパケットが送信される。従って、コネクションレス型プロトコルの場合は、TCP FINパケットをデータセッションをクローズさせるきっかけとしてはならない。つまり、HTTPを通すVPCトンネルはTCP FINパケットも正しく転送しなければならない。この場合は、端末がコントロールセッションを通じて、当該データセッションの終了を明示的に通知する。
The packet monitoring unit 615 also monitors a TCP FIN packet when the data session to be set is connection-type communication. In the case of a protocol such as RDP or SSH in which a TCP FIN packet is transmitted for the first time upon client termination, the data session can be immediately terminated (closed) by detecting the arrival of the TCP FIN packet.
Conversely, when the data session to be set is a connectionless type protocol such as HTTP, a TCP FIN packet is transmitted each time one data stream is transmitted. Therefore, in the case of the connectionless type protocol, the TCP FIN packet should not be a trigger for closing the data session. In other words, a VPC tunnel passing through HTTP must correctly transfer a TCP FIN packet. In this case, the terminal explicitly notifies the end of the data session through the control session.

[ソフトローカルマスタ113]
図7は、ソフトローカルマスタ113の機能ブロック図である。
ソフトローカルマスタ113は、二つのネットワークインターフェースを具備する。
内蔵NIC301は、第二端末106にハードウェアとして内蔵されるNICであり、LAN102に接続される。
ループバック仮想NIC701は、第二端末106にインストールされている、IPv4プロトコルのネットワークOS201には標準として備わっている、周知のループバックインターフェースである。仮に端末にNICが装備されていなくても、OS201がIPv4プロトコルをサポートする限り、必ず127.0.0.1というIPアドレスが付与されているループバックインターフェースがOS201内に構成される。特別な設定を施していない限り、ループバックインターフェース宛に送信したパケットは、端末自身のパケット受信対象に送付される。つまり、「loop back」、送信したパケットが輪を描くように出発点、つまり端末自身に戻る。
[Soft local master 113]
FIG. 7 is a functional block diagram of the soft local master 113.
The soft local master 113 includes two network interfaces.
The built-in NIC 301 is a NIC built in the second terminal 106 as hardware, and is connected to the LAN 102.
The loopback virtual NIC 701 is a known loopback interface that is installed in the second terminal 106 and is provided as a standard in the network OS 201 of the IPv4 protocol. Even if the terminal is not equipped with a NIC, as long as the OS 201 supports the IPv4 protocol, a loopback interface to which an IP address of 127.0.0.1 is always assigned is configured in the OS 201. Unless special settings are made, the packet transmitted to the loopback interface is sent to the packet reception target of the terminal itself. In other words, “loop back” returns to the starting point, that is, the terminal itself so that the transmitted packet draws a circle.

ローカルマスタBOX109の場合は、第一NIC507は第一端末105から直接的にアクセスが可能なデバイスでは無かった。しかし、ソフトローカルマスタ113の場合、内蔵NIC301もループバック仮想NIC701も、第二端末106のOS201及びアプリケーションから等しくアクセスが可能なデバイスである。   In the case of the local master box 109, the first NIC 507 is not a device that can be directly accessed from the first terminal 105. However, in the case of the soft local master 113, both the built-in NIC 301 and the loopback virtual NIC 701 are devices that can be equally accessed from the OS 201 and applications of the second terminal 106.

ソフトローカルマスタ113の内蔵NIC301がLAN102に接続されると、OS201が内蔵するDHCPクライアント702は、内蔵NIC301を通じてDHCPサーバ110から、IPアドレス、ネットマスク、デフォルトゲートウェイ、ネームリゾルバ等のネットワーク構成情報を受信し、内蔵NIC301がネットワークに接続できるように内蔵NIC301を設定する。   When the built-in NIC 301 of the soft local master 113 is connected to the LAN 102, the DHCP client 702 built in the OS 201 receives network configuration information such as an IP address, a netmask, a default gateway, and a name resolver from the DHCP server 110 through the built-in NIC 301. Then, the built-in NIC 301 is set so that the built-in NIC 301 can be connected to the network.

ローカルマスタBOX109の場合は、この手順の次に、第一NIC507と第二NIC601のサブネットが重複しないための処理が必要だったが、ループバック仮想NIC701は、グローバル或はプライベートのIPアドレスが付与される内蔵NIC301とは必ずネットワークセグメントが重複しないので、アドレス重複回避部603を設ける必要はない。また、ループバックアドレスは固定であるので、DHCPサーバ604も不要である。   In the case of the local master BOX 109, after this procedure, it was necessary to perform processing so that the subnets of the first NIC 507 and the second NIC 601 do not overlap, but the loopback virtual NIC 701 is assigned a global or private IP address. Since the network segment does not necessarily overlap with the built-in NIC 301, there is no need to provide the address duplication avoiding unit 603. Further, since the loopback address is fixed, the DHCP server 604 is also unnecessary.

ソフトローカルマスタ113の内蔵NIC301がLAN102に接続された状態では、NAT設定部705は何もしない。また、パケットフィルタ設定部706も何もしない。これにより、OS201及びアプリケーションは内蔵NIC301を通じて支障なくネットワークに接続できる。なお、この時点では、暗号化通信処理部606はループバック仮想NIC701と内蔵NIC301との間を流れるパケットの暗号化処理及び復号化処理は行わない。   When the built-in NIC 301 of the soft local master 113 is connected to the LAN 102, the NAT setting unit 705 does nothing. Also, the packet filter setting unit 706 does nothing. Accordingly, the OS 201 and the application can be connected to the network through the built-in NIC 301 without any trouble. At this time, the encrypted communication processing unit 606 does not perform encryption processing and decryption processing of a packet flowing between the loopback virtual NIC 701 and the built-in NIC 301.

一方、コントロールセッション管理部609は、内蔵NIC301がネットワークに接続したことを知ると、直ちにコンダクタ115に対して機器認証を試みる。コンダクタ115へ送信する機器特定ID608は、デフォルトゲートウェイアドレス612に記述されているステッピングノードへ送信される。本実施形態では図1に示したように、第一SN107である。
機器認証に用いる機器特定ID608は、暗号化通信処理部606によって暗号化されて、第一SN107及び第二SN108を通じてコンダクタ115に送信される。コンダクタ115から暗号化通信処理部606を通じて機器認証の成功の通知及びセッションID(以下「SSID」)を受信すると、コントロールセッション管理部609はSSIDをSSIDメモリ613に記憶する。
この時点で、ソフトローカルマスタ113と第一SN107、第二SN108及びコンダクタ115との間にはコントロールセッションが形成される。
On the other hand, when the control session management unit 609 knows that the built-in NIC 301 is connected to the network, it immediately attempts device authentication with respect to the conductor 115. The device identification ID 608 transmitted to the conductor 115 is transmitted to the stepping node described in the default gateway address 612. In the present embodiment, as shown in FIG.
The device identification ID 608 used for device authentication is encrypted by the encrypted communication processing unit 606 and transmitted to the conductor 115 through the first SN 107 and the second SN 108. Upon receiving a notification of successful device authentication and a session ID (hereinafter “SSID”) from the conductor 115 through the encrypted communication processing unit 606, the control session management unit 609 stores the SSID in the SSID memory 613.
At this point, a control session is formed between the soft local master 113, the first SN 107, the second SN 108, and the conductor 115.

第一端末105のプレイヤ111は、起動すると、接続されているローカルマスタBOX109に対し、コントロールセッションを通じてSSIDを要求する。この動作は、ローカルマスタBOX109がSSIDを返信するまで繰り返される。つまり、プレイヤ111はSSIDの要求をポーリングする。
コントロールセッション管理部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に送信される。
When activated, the player 111 of the first terminal 105 requests the connected local master box 109 for an SSID through a control session. This operation is repeated until the local master box 109 returns the SSID. That is, the player 111 polls for an SSID request.
When the control session management unit 609 receives a request for an SSID from the player 111, the control session management unit 609 returns a SSID stored in the SSID memory 613. Otherwise, that is, when the device authentication for the conductor 115 is not completed and the SSID is not received from the conductor 115, an error is returned to the player 111.
Upon receiving the SSID from the soft local master 113, the player 111 recognizes that the soft local master 113 has succeeded in device authentication. When the received SSID is stored in a RAM (not shown), the player 111 next displays a login screen on the display unit 206 of the first terminal 105.
The user performs personal authentication using the IC card reader 104 or the operation unit 205 of the first terminal 105. The personal authentication information is transmitted by the player 111 to the local master box 109 through the control session.

個人認証情報は、コントロールセッション管理部609を通じて制御される暗号化通信処理部606によって暗号化されて、コンダクタ115に送信される。コンダクタ115から返信される個人認証の成功の通知は、第一端末105に転送される。
プレイヤ111はコンダクタ115から個人認証の成功の通知を受信すると、ユーザが利用可能なサービスに関する情報をコンダクタ115に要求する。コンダクタ115はこれに呼応して、ユーザが享受できるサービスに関する情報と、第一端末105及びローカルマスタBOX109の挙動を制限するための情報を送信する。
ユーザが享受できるサービスに関する情報はサービスメニュー情報として、プレイヤ111に記憶される。このサービスメニュー情報はソフトローカルマスタ113も利用する。
第一端末105及びローカルマスタBOX109の挙動を制限するための情報は制限設定情報610として、プレイヤ111に記憶される。この制限設定情報610はソフトローカルマスタ113も利用する。
The personal authentication information is encrypted by the encrypted communication processing unit 606 controlled through the control session management unit 609 and transmitted to the conductor 115. The notification of the success of personal authentication returned from the conductor 115 is transferred to the first terminal 105.
When the player 111 receives a notification of successful personal authentication from the conductor 115, the player 111 requests the conductor 115 for information regarding services available to the user. In response to this, the conductor 115 transmits information related to services that the user can enjoy and information for limiting the behavior of the first terminal 105 and the local master box 109.
Information regarding services that the user can enjoy is stored in the player 111 as service menu information. This service menu information is also used by the soft local master 113.
Information for restricting the behavior of the first terminal 105 and the local master box 109 is stored in the player 111 as restriction setting information 610. This restriction setting information 610 also uses the soft local master 113.

ローカルマスタBOX109の場合、プレイヤ111に転送される制限設定情報610及びサービスメニュー情報614を、プレイヤ111に転送する際にローカルマスタBOX109も取得して記憶する手順を踏むが、ソフトローカルマスタ113の場合、ソフトローカルマスタ113とプレイヤ111が第二端末106内に共存しているので、コンダクタ115から受信した制限設定情報610は直ちにプレイヤ111も参照可能である。したがって、ソフトローカルマスタ113が制限設定情報610を第二端末106のプレイヤ111に送信する手順は、本質的に生じ得ない。   In the case of the local master box 109, the restriction setting information 610 and the service menu information 614 transferred to the player 111 are acquired and stored when the local master box 109 is transferred to the player 111. Since the soft local master 113 and the player 111 coexist in the second terminal 106, the restriction setting information 610 received from the conductor 115 can be referred to by the player 111 immediately. Therefore, the procedure in which the soft local master 113 transmits the restriction setting information 610 to the player 111 of the second terminal 106 cannot essentially occur.

ソフトローカルマスタ113のコントロールセッション管理部609は、コンダクタ115から受信した制限設定情報610に記述されているパケットフィルタリングの設定情報を読み出して、パケットフィルタ設定部706を制御する。パケットフィルタ設定部706は、コントロールセッション管理部609から与えられたパケットフィルタリングの設定情報に従って、パケットフィルタを構成する。   The control session management unit 609 of the soft local master 113 reads the packet filtering setting information described in the restriction setting information 610 received from the conductor 115 and controls the packet filter setting unit 706. The packet filter setting unit 706 configures a packet filter in accordance with the packet filtering setting information given from the control session management unit 609.

次に、ソフトローカルマスタ113のコントロールセッション管理部609は、記憶したサービスメニュー情報に基づいて、データセッションを形成するポート番号を監視するように、パケット監視部615を設定する。
パケット監視部615は、第二NIC601に割り当てられたIPアドレスの、データセッションの対象となるポート番号に、TCP SYNパケットが来たら、これをコントロールセッション管理部609に報告する。コントロールセッション管理部609は、この報告を受けて、データセッションを形成するための通信を開始する。
Next, the control session management unit 609 of the soft local master 113 sets the packet monitoring unit 615 to monitor the port number forming the data session based on the stored service menu information.
The packet monitoring unit 615 reports a TCP SYN packet to the control session management unit 609 when the IP address assigned to the second NIC 601 reaches the port number targeted for the data session. Upon receiving this report, the control session management unit 609 starts communication for forming a data session.

また、パケット監視部615は、設定されるデータセッションがコネクション型の通信である場合は、TCP FINパケットも監視する。RDP(Remote Desktop Protocol)やSSHのような、クライアントの終了によって初めてTCP FINパケットが送信されるプロトコルの場合は、TCP FINパケットの入来を検出することで、直ちにデータセッションを終了(クローズ)させることができる。
逆に、設定されるデータセッションがHTTPのようなコネクションレス型のプロトコルの場合は、一つのデータストリームが送信される度にTCP FINパケットが送信される。従って、コネクションレス型プロトコルの場合は、TCP FINパケットをデータセッションをクローズさせるきっかけとしてはならない。つまり、HTTPを通すVPCトンネルはTCP FINパケットも正しく転送しなければならない。この場合は、端末がコントロールセッションを通じて、当該データセッションの終了を明示的に通知する。
The packet monitoring unit 615 also monitors a TCP FIN packet when the data session to be set is connection-type communication. In the case of a protocol such as RDP (Remote Desktop Protocol) or SSH in which a TCP FIN packet is transmitted for the first time upon client termination, the data session is immediately terminated (closed) by detecting the arrival of the TCP FIN packet. be able to.
Conversely, when the data session to be set is a connectionless type protocol such as HTTP, a TCP FIN packet is transmitted each time one data stream is transmitted. Therefore, in the case of the connectionless type protocol, the TCP FIN packet should not be a trigger for closing the data session. In other words, a VPC tunnel passing through HTTP must correctly transfer a TCP FIN packet. In this case, the terminal explicitly notifies the end of the data session through the control session.

以上、ローカルマスタBOX109とソフトローカルマスタ113を説明した。
これまでの説明で明らかなように、ローカルマスタはコンダクタ115の指示、具体的にはコンダクタ115が作成する制限設定情報610に基づいて、端末で稼働するOS201或はそのOS201を通じて動作するアプリケーションから発生する通信に対し、パケットフィルタで制限を加える。そして、ユーザが許可されたサーバ103に対する仮想的な接続を実現するために、直近のステッピングノードに対する静的NATを設定する。
静的NATを行うことで、端末はあたかもLAN102内のサーバ103に接続する時と同等の状態で、インターネット107及びファイアウォールを介したサーバ103に接続することができる。
The local master box 109 and the soft local master 113 have been described above.
As apparent from the above description, the local master is generated from the OS 201 running on the terminal or an application running through the OS 201 based on the instruction of the conductor 115, specifically, the restriction setting information 610 created by the conductor 115. Restrict communication with a packet filter. Then, in order to realize a virtual connection to the server 103 permitted by the user, a static NAT is set for the nearest stepping node.
By performing static NAT, the terminal can connect to the server 103 via the Internet 107 and a firewall in the same state as when connecting to the server 103 in the LAN 102.

[プレイヤ111]
図8は、プレイヤ111の機能ブロック図である。
プレイヤ111は、コンダクタ115の指示、具体的にはコンダクタ115から送信される制限設定情報610に基づいて、端末で起動するアプリケーションと、アプリケーションの動作に連れて使用されるデバイスに対して監視を行い、必要に応じて動作を制限する等の制御を行い、ログ記録等の管理を行う。このような機能を実現するために、プレイヤ111はOS201に備わっているAPIをフックして、アプリケーション及びOS201の挙動を常時監視する。そして、APIが制限設定情報610に記述されている制限条件に合致した場合、プレイヤ111は当該APIの起動を阻止し、ローカルマスタを通じてコンダクタ115に報告する。
[Player 111]
FIG. 8 is a functional block diagram of the player 111.
Based on instructions from the conductor 115, specifically, the restriction setting information 610 transmitted from the conductor 115, the player 111 monitors the application that is activated at the terminal and the device that is used in accordance with the operation of the application. Then, control such as limiting the operation as necessary, and management of log recording and the like. In order to realize such a function, the player 111 hooks an API provided in the OS 201 and constantly monitors the behavior of the application and the OS 201. When the API matches the restriction condition described in the restriction setting information 610, the player 111 blocks the activation of the API and reports it to the conductor 115 through the local master.

図8では、プレイヤ111を説明する際に必要不可欠な、OS201とアプリケーションについても機能ブロックとして表記している。
OS201には様々な機能が含まれているが、本実施形態を説明するに際し、OS201はハードウェアをアプリケーションから扱い易くするためのデバイスドライバの集合体と考えることができる。そして、デバイスドライバはAPIの集合体ともいえる。図8では、主にこれらハードウェアとデバイスドライバに着目して、機能ブロックを記述した。
In FIG. 8, the OS 201 and applications that are indispensable when describing the player 111 are also expressed as functional blocks.
Although various functions are included in the OS 201, when explaining the present embodiment, the OS 201 can be considered as a collection of device drivers for making the hardware easy to handle from an application. The device driver can be said to be a collection of APIs. In FIG. 8, functional blocks are described mainly focusing on these hardware and device drivers.

端末に備わっている主要なハードウェアとしては、キーボード及びマウス等のポインティングデバイスである操作部205、液晶ディスプレイ等の表示部206、ハードディスク等のストレージ204、そしてNICが挙げられる。但し、前述の第一端末105の場合は、NICはローカルマスタBOX109の内部に、第二NIC601として仮想的に設けられた。何れの場合においても、ネットワークに接続する以上、NICは存在する。
操作ドライバ801は、操作部205が発する操作情報及びICカードリーダ104が出力する個人認証情報を、アプリケーションやシェル202やコントロールセッション管理部807等に引き渡す。
表示制御部802は、アプリケーションやシェル202等から発生する画面描画指示情報を実際の画面描画情報に変換して表示部206に引き渡す。
The main hardware provided in the terminal includes an operation unit 205 that is a pointing device such as a keyboard and a mouse, a display unit 206 such as a liquid crystal display, a storage 204 such as a hard disk, and a NIC. However, in the case of the first terminal 105 described above, the NIC is virtually provided as the second NIC 601 inside the local master box 109. In any case, the NIC exists as long as it is connected to the network.
The operation driver 801 delivers operation information issued by the operation unit 205 and personal authentication information output by the IC card reader 104 to the application, the shell 202, the control session management unit 807, and the like.
The display control unit 802 converts screen drawing instruction information generated from the application, the shell 202, and the like into actual screen drawing information and passes it to the display unit 206.

ファイルシステム803は、ストレージ204にファイル及びディレクトリを構成し、アプリケーションやシェル202の指示に従ってファイル及びディレクトリを操作する。
プロセス制御部804は、アプリケーションやシェル202等を通じてストレージ204内に存在するアプリケーションやライブラリ等の実行及び終了を制御する。
クリップボードバッファ805は、アプリケーションやシェル202同士でデータオブジェクトの複写、移動、削除等の一時バッファとして機能する。
TCP/IPプロトコルスタックとも呼べるネットワークドライバ806は、アプリケーションやシェル202とネットワークとの間で通信ができる環境を構築し、その通信を制御する。
The file system 803 configures files and directories in the storage 204, and operates the files and directories in accordance with instructions from the application and the shell 202.
The process control unit 804 controls execution and termination of applications, libraries, and the like existing in the storage 204 through the applications, the shell 202, and the like.
The clipboard buffer 805 functions as a temporary buffer for copying, moving, and deleting data objects between applications and shells 202.
A network driver 806 that can also be called a TCP / IP protocol stack establishes an environment in which communication can be performed between the application or shell 202 and the network, and controls the communication.

ネットワークドライバ806はDHCPクライアント702も含む。
ローカルマスタ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アドレスを与える。
The network driver 806 also includes a DHCP client 702.
When the local master BOX 109 is used, the DHCP client 602 in the local master BOX 109 gives a dynamic IP address to the first NIC 507 in the local master BOX 109 based on the network configuration information received from the DHCP server 110 of the LAN 102. Further, the DHCP client 702 which is a function of the network driver 806 gives a dynamic IP address to the second NIC 601 in the local master BOX 109 based on the network configuration information received from the DHCP server 604 in the local master BOX 109.
When using the soft local master 113, the DHCP client 702, which is a function of the network driver 806, gives the built-in NIC 301 a dynamic IP address based on the network configuration information received from the DHCP server 110 of the LAN 102.

プレイヤ111は、OS201の初期起動プロセスやシェル202を通じたユーザの操作、或はUSBメモリ内に格納された状態でUSBメモリを端末に接続して自動実行される等で起動されると、最初にコントロールセッション管理部807がローカルマスタBOX109又はソフトローカルマスタ113に対してSSIDを要求する。
ローカルマスタBOX109又はソフトローカルマスタ113からSSIDの取得に成功すると、コントロールセッション管理部807は次に個人認証を実行する。コントロールセッション管理部807は、ICカードリーダ104或は操作部205等で取得した個人認証情報をコンダクタ115に送信し、個人認証の結果を待つ。
When the player 111 is activated by an initial activation process of the OS 201, a user operation through the shell 202, or automatically executed by connecting a USB memory to a terminal while being stored in the USB memory, The control session management unit 807 requests the SSID from the local master box 109 or the soft local master 113.
If the acquisition of the SSID from the local master box 109 or the soft local master 113 is successful, the control session management unit 807 next executes personal authentication. The control session management unit 807 transmits the personal authentication information acquired by the IC card reader 104 or the operation unit 205 to the conductor 115 and waits for the result of personal authentication.

コンダクタ115からローカルマスタBOX109又はソフトローカルマスタ113を通じて個人認証が成功した旨の報告を受けたら、コントロールセッション管理部807は次にコンダクタ115に対して制限設定情報610及びサービスメニュー情報614を要求する。
ソフトローカルマスタ113を使用している場合、個人認証が成功した後、プレイヤ111がコンダクタ115から制限設定情報610及びサービスメニュー情報614をダウンロードして、端末の図示しないRAM内に制限設定情報610を保持する。保持した制限設定情報610及びサービスメニュー情報614はソフトローカルマスタ113と共用することとなる。
Upon receiving a report from the conductor 115 that the personal authentication has been successful through the local master box 109 or the soft local master 113, the control session management unit 807 next requests the conductor 115 for restriction setting information 610 and service menu information 614.
When the soft local master 113 is used, after successful personal authentication, the player 111 downloads the restriction setting information 610 and the service menu information 614 from the conductor 115, and stores the restriction setting information 610 in the RAM (not shown) of the terminal. Hold. The held restriction setting information 610 and service menu information 614 are shared with the soft local master 113.

ローカルマスタBOX109を使用している場合、個人認証が成功した後、プレイヤ111がコンダクタ115から制限設定情報610及びサービスメニュー情報614をダウンロードして、端末の図示しないRAM内に制限設定情報610を保持する際、ローカルマスタBOX109は端末とは別個のハードウェアで構成されているので、ローカルマスタBOX109は別途制限設定情報610及びサービスメニュー情報614を取得する必要がある。このため、本実施形態ではプレイヤ111とコンダクタ115との通信の間に介在して、制限設定情報610及びサービスメニュー情報614をプレイヤ111が受信する寸前に、一旦ローカルマスタBOX109が保持してから、プレイヤ111に送信する、という方法で取得している。勿論、この方法に限られず、プレイヤ111が受信した制限設定情報610及びサービスメニュー情報614を明示的にローカルマスタBOX109に送信する方法でも良い。   When the local master BOX 109 is used, after the personal authentication is successful, the player 111 downloads the restriction setting information 610 and the service menu information 614 from the conductor 115 and holds the restriction setting information 610 in the RAM (not shown) of the terminal. In this case, since the local master box 109 is configured by hardware separate from the terminal, the local master box 109 needs to acquire the restriction setting information 610 and the service menu information 614 separately. For this reason, in this embodiment, the local master BOX 109 once holds the limit setting information 610 and the service menu information 614 immediately before the player 111 receives the intervening communication between the player 111 and the conductor 115. It is acquired by a method of transmitting to the player 111. Of course, the method is not limited to this method, and a method of explicitly transmitting the restriction setting information 610 and the service menu information 614 received by the player 111 to the local master BOX 109 may be used.

コンダクタ115から制限設定情報610を得ると、プレイヤ111のコントロールセッション管理部807は、制限設定情報610に従って、操作情報取得部808、画面キャプチャ処理部809、ファイルシステム監視部810、プロセス監視部811、クリップボード監視部812、そしてAPIフック処理部813に設定を行う。   When the restriction setting information 610 is obtained from the conductor 115, the control session management unit 807 of the player 111, in accordance with the restriction setting information 610, the operation information acquisition unit 808, the screen capture processing unit 809, the file system monitoring unit 810, the process monitoring unit 811, Settings are made in the clipboard monitoring unit 812 and the API hook processing unit 813.

ファイルシステム監視部810は、制限設定情報610で指定された特定のファイルやディレクトリに対する挙動として、コピー、移動、削除、名称変更を監視する。
プロセス監視部811は、制限設定情報610で指定された特定のアプリケーション等のプロセスの起動及び自己プロセス隠蔽行為を監視する。
クリップボード監視部812は、制限設定情報610で指定された特定のアプリケーション等が、クリップボードバッファ805に対する、データオブジェクトの複写、移動、削除等の操作を監視する。
The file system monitoring unit 810 monitors copying, moving, deleting, and renaming as behavior for a specific file or directory specified by the restriction setting information 610.
The process monitoring unit 811 monitors activation of a process such as a specific application designated by the restriction setting information 610 and a self-process concealing action.
The clipboard monitoring unit 812 monitors operations such as copying, moving, and deleting a data object with respect to the clipboard buffer 805 by a specific application specified by the restriction setting information 610.

APIフック処理部813は、ファイルシステム監視部810がファイルシステム803に対するAPIフック処理を、プロセス監視部811がプロセス制御部804に対するAPIフック処理を、クリップボード監視部812がクリップボードバッファ805に対するAPIフック処理を、それぞれ実現する。APIフック処理部813によって、シェル202やアプリケーションがファイルやプロセスに対して何らかの動作を起こそうとすると、ファイルシステム監視部810やプロセス監視部811がその都度呼び出されて、対応するAPIを実行すべきか否かが判定される。   In the API hook processing unit 813, the file system monitoring unit 810 performs API hook processing for the file system 803, the process monitoring unit 811 performs API hook processing for the process control unit 804, and the clipboard monitoring unit 812 performs API hook processing for the clipboard buffer 805. , Each realized. When the shell 202 or application tries to cause some operation on a file or process by the API hook processing unit 813, the file system monitoring unit 810 or the process monitoring unit 811 is called each time, and should the corresponding API be executed? It is determined whether or not.

操作情報取得部808は、制限設定情報610に記述されている情報に従って、当該情報に記されている条件に合致したら、操作ドライバ801から得られる操作情報を、ローカルマスタBOX109又はソフトローカルマスタ113を通じてコンダクタ115へ報告する。
画面キャプチャ処理部809は、制限設定情報610に記述されている情報に従って、当該情報に記されている条件に合致したら、表示制御部802から得られるビットマップ画面情報を、ローカルマスタBOX109又はソフトローカルマスタ113を通じてコンダクタ115へ報告する。
When the operation information acquisition unit 808 meets the conditions described in the information according to the information described in the restriction setting information 610, the operation information acquisition unit 808 transmits the operation information obtained from the operation driver 801 through the local master box 109 or the soft local master 113. Report to conductor 115.
When the screen capture processing unit 809 meets the conditions described in the information according to the information described in the restriction setting information 610, the screen capture processing unit 809 converts the bitmap screen information obtained from the display control unit 802 into the local master BOX 109 or the soft local Report to the conductor 115 through the master 113.

専用シェル208は、制限設定情報610の記述に従って、ユーザが実行を許可されるアプリケーションのアプリケーションプログラム名と、ユーザがアクセスを許可されるサーバ103のリソース名(resource:「情報資源」の意)を含むアイコンを作成する。アイコンの中身はコマンドライン文字列であり、実行するアプリケーションプログラム名と、その引数としてサーバ103のリソース名が記述される。また、アプリケーションプログラムによっては、起動時に必要な種々のオプションスイッチも含まれる。このアイコンをマウス等のポインティングデバイス等でクリックすることで起動したアプリケーションプログラムが、図8の第一アプリケーション209及び第二アプリケーション210である。第一アプリケーション209及び第二アプリケーション210は専用シェル208の子プロセスとして起動されるので、第一アプリケーション209及び第二アプリケーション210の挙動は専用シェル208を通じて完全に把握可能である。   The dedicated shell 208 specifies the application program name of the application that the user is allowed to execute and the resource name (resource: “information resource”) of the server 103 that the user is allowed to access according to the description of the restriction setting information 610. Create an icon that contains. The contents of the icon are a command line character string, and the name of the application program to be executed and the resource name of the server 103 are described as its argument. Further, depending on the application program, various option switches required at the time of activation are also included. Application programs started by clicking this icon with a pointing device such as a mouse are the first application 209 and the second application 210 in FIG. Since the first application 209 and the second application 210 are started as child processes of the dedicated shell 208, the behavior of the first application 209 and the second application 210 can be completely grasped through the dedicated shell 208.

一方、OS201には標準で備わっているシェル202が存在する。また、そのシェル202から起動するアプリケーションプログラムも当然存在する。プロセス監視部811はこれら専用シェル208を経由しないシェル202及びアプリケーション(図8では第三アプリケーション203がこれに該当する。)については、ファイルシステム監視部810、プロセス監視部811及びクリップボード監視部812が厳しくその挙動を監視し、サーバ103に対するセキュリティ面の脅威となる可能性のある操作は直ちに中止する。また、起動自体が禁じられているアプリケーションプログラムについては、プロセス監視部811によって強制終了させられる。   On the other hand, the OS 201 has a shell 202 provided as a standard. Of course, there is also an application program started from the shell 202. The process monitoring unit 811 has a file system monitoring unit 810, a process monitoring unit 811, and a clipboard monitoring unit 812 for the shell 202 and the application that do not pass through the dedicated shell 208 (the third application 203 corresponds to this in FIG. 8). The behavior is strictly monitored, and operations that may become a security threat to the server 103 are immediately stopped. In addition, the process monitoring unit 811 forcibly terminates the application program whose activation itself is prohibited.

[ステッピングノード]
ステッピングノードは、ファイアウォールを伴わない形式の装置と、ファイアウォールを伴う形式の装置との、二種類が存在する。以下、それぞれの機能を説明する。
図9は、ステッピングノードの機能ブロック図である。図9に開示するステッピングノードは、ファイアウォールを伴わない形式の装置である。
ステッピングノード901はネットワークOSが稼働するコンピュータである。OSは一例としてはLinux(登録商標)等の、POSIX系OSが好ましい。
本実施形態のステッピングノード901は、LAN102の要所に配置され、IPリーチャブルなステッピングノード同士或はサーバとのゲートウェイに特化している。
LAN102に接続される第五NIC902には固定のIPアドレスが付与されている。
[Stepping node]
There are two types of stepping nodes: devices that do not include a firewall and devices that include a firewall. Each function will be described below.
FIG. 9 is a functional block diagram of the stepping node. The stepping node disclosed in FIG. 9 is a device of a type without a firewall.
The stepping node 901 is a computer on which the network OS operates. As an example, the OS is preferably a POSIX OS such as Linux (registered trademark).
The stepping node 901 according to the present embodiment is arranged at a main point of the LAN 102 and specializes in gateways between IP reachable stepping nodes or servers.
A fixed IP address is assigned to the fifth NIC 902 connected to the LAN 102.

第五NIC902に接続されている暗号化通信処理部904は、ローカルマスタBOX109及びソフトローカルマスタ113に設けられている暗号化通信処理部606と対をなす。つまり、プレイヤ111及びローカルマスタと認証情報の送受信と、コントロールセッション及びデータセッションの暗号化を施す。   The encrypted communication processing unit 904 connected to the fifth NIC 902 makes a pair with the encrypted communication processing unit 606 provided in the local master BOX 109 and the soft local master 113. That is, the authentication information is transmitted / received to / from the player 111 and the local master, and the control session and the data session are encrypted.

コントロールセッション管理部909は、ローカルマスタBOX109及びソフトローカルマスタ113に設けられているコントロールセッション管理部609、及びプレイヤ111に設けられているコントロールセッション管理部807と対をなす。つまり、ローカルマスタとの間にコントロールセッションを形成し、ローカルマスタ或はプレイヤ111と様々な制御情報の送受信を行う。このために、デフォルトゲートウェイアドレス612或はコンダクタアドレス908が記憶されている。   The control session management unit 909 makes a pair with the control session management unit 609 provided in the local master box 109 and the soft local master 113 and the control session management unit 807 provided in the player 111. That is, a control session is formed with the local master, and various control information is transmitted and received with the local master or the player 111. For this purpose, a default gateway address 612 or a conductor address 908 is stored.

データセッション管理部910は、コントロールセッション管理部909を通じて、ローカルマスタから来たサーバ103に対する接続要求に応じて、当該サーバ103に対応するリバースプロキシを起動するか、又は静的NATを設定して、IPリーチャブルなローカルマスタ、他のステッピングノード或はサーバ103との間にデータセッションを形成する。
データセッション管理部910によって起動されるリバースプロキシのプロセスは、図9に示すように、第一リバースプロキシ911、第二リバースプロキシ912、…と、端末との間に形成されるデータセッションの数に応じて増減する。
同様に、データセッション管理部910によって設定される静的NATの設定は、図9に示すように、第一NAT914、図示しない第二NAT、…と、端末との間に形成されるデータセッションの数に応じて増減する。
The data session management unit 910 activates a reverse proxy corresponding to the server 103 or sets static NAT in response to a connection request to the server 103 from the local master through the control session management unit 909. A data session is formed with an IP reachable local master, another stepping node, or the server 103.
As shown in FIG. 9, the reverse proxy process activated by the data session management unit 910 is based on the number of data sessions formed between the first reverse proxy 911, the second reverse proxy 912,... Increase or decrease accordingly.
Similarly, as shown in FIG. 9, the static NAT setting set by the data session management unit 910 includes a data session formed between the first NAT 914, a second NAT (not shown), and the terminal. Increase or decrease according to the number.

データセッションは、端末から形成される数に応じて増減すると共に、端末の数、ひいてはその端末を使用するユーザの人数によっても増減する。例えば、ユーザAのHTTPデータセッションと、ユーザAのRDPデータセッションは独立である。ユーザBのHTTPデータセッションと、ユーザBのRDPデータセッションも独立である。これらデータセッションは全て独立して形成される。特に、SSHのようなプロトコルの場合は、接続しようとするSSHサーバの数に応じて、一人のユーザで複数のデータセッションが形成される。それらデータセッションにおいて、ステッピングノードが終端であればリバースプロキシのプロセスが起動され、終端でなければ静的NATが設定される。
なお、「静的NATの設定」とは、ステッピングノードのOSの機能に対して設定を行って静的NATを設定する場合を想定して言及している。例えばLinux(登録商標)の場合は、カーネルのNetfilterドライバに対してiptablesユーティリティを用いて静的NATを設定する作業を指す。もし、静的NATも独立したプログラムで構成し、且つデータセッションの数に応じて多重起動するのであれば、その場合は「静的NATプログラムの起動」となる。つまり、静的NATを実現する方法に応じて表現は変わる。
The number of data sessions increases / decreases depending on the number formed from the terminals, and also increases / decreases depending on the number of terminals and the number of users who use the terminals. For example, user A's HTTP data session and user A's RDP data session are independent. User B's HTTP data session and User B's RDP data session are also independent. These data sessions are all formed independently. In particular, in the case of a protocol such as SSH, a plurality of data sessions are formed by one user according to the number of SSH servers to be connected. In these data sessions, the reverse proxy process is activated if the stepping node is terminated, and static NAT is set if it is not terminated.
Note that “static NAT setting” refers to the case where the static NAT is set by setting the OS function of the stepping node. For example, in the case of Linux (registered trademark), it refers to an operation for setting a static NAT using an iptables utility for a kernel Netfilter driver. If the static NAT is also configured by an independent program and multiple activation is performed according to the number of data sessions, in this case, “static NAT program activation” is performed. That is, the expression changes depending on the method for realizing static NAT.

データセッション管理部910は、ローカルマスタと他のステッピングノード、又はステッピングノード同士との接続には、静的NATを設定する。パケットのペイロード部分の暗号化を解く必要がなく、パケットのIPヘッダ部分に記述されているIPアドレス及びポート番号の書き換えだけで済むからである。
これに対して、データセッション管理部910は、ローカルマスタ又は他のステッピングノードとサーバ103との接続には、リバースプロキシを設定する。サーバ103との通信にはパケットのペイロード部分の暗号化を解く必要があり、またTCP/IP第四層(アプリケーション)に従う処理が要求される場合があるからである。一例としては、HTTPのエラー処理として、サーバ103に代わって、URLの呼び出し方法や構文に誤りがある場合にwebサーバが返す「400 Bad Request」を返送することで、サーバ103の負荷を軽減する、等の機能が考えられる。
The data session management unit 910 sets static NAT for the connection between the local master and another stepping node or between stepping nodes. This is because it is not necessary to decrypt the payload portion of the packet, and it is only necessary to rewrite the IP address and port number described in the IP header portion of the packet.
On the other hand, the data session management unit 910 sets a reverse proxy for the connection between the local master or another stepping node and the server 103. This is because it is necessary to decrypt the payload portion of the packet for communication with the server 103, and processing according to the fourth layer (application) of TCP / IP may be required. As an example, instead of the server 103, as an HTTP error process, a “400 Bad Request” returned by the web server when there is an error in the URL calling method or syntax is reduced, thereby reducing the load on the server 103. , Etc. can be considered.

パケットモニタ905は、データセッションに入来するTCP ACK+SYNパケットを監視する。
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トンネルは時間切れで破棄される。
The packet monitor 905 monitors TCP ACK + SYN packets coming into the data session.
The VPC tunnel is formed by static NAT or reverse proxy according to the VPC establishment request command sent by the local master in response to the TCP SYN packet issued by the terminal, but the server 103 responds to the request of the terminal due to some trouble or the like. If not, the set VPC tunnel must be discarded. Therefore, the static NAT or reverse proxy temporarily set according to the VPC establishment request command transmitted from the local master has a time limit using a timer. In FIG. 9, when the data session management unit 910 activates the first reverse proxy 911, the first timer 906 is activated at the same time. Similarly, when the data session management unit 910 activates the second reverse proxy 912, the second timer 907 is activated at the same time, and when the first NAT 914 is set, the third timer 913 is activated at the same time.
These timers are used to determine whether or not the temporarily activated reverse proxy or the temporarily set static NAT can be maintained as it is.
If a TCP ACK + SYN packet comes in from a server 103 into a VPC tunnel provided by a reverse proxy or static NAT, it is understood that the server 103 is in a state where communication with the terminal is possible. Therefore, the packet monitor 905 monitors the arrival of the TCP ACK + SYN packet, and when the TCP ACK + SYN packet arrives, stops the timing operation of the timer operating in conjunction with the corresponding reverse proxy or static NAT.
If the TCP ACK + SYN packet does not arrive within the time set in the timer, the timer stops the corresponding reverse proxy or static NAT after measuring a predetermined time. In other words, the temporarily set VPC tunnel is discarded when it expires.

図示しないリバースプロキシサーバプログラムは、サーバ103にアクセスする際に利用するプロトコルに応じて用意される。HTTPであれば、プロキシモードのリザルトコードを実装する。CIFS(Common Internet File System:Windows(登録商標)のファイル共有サービスのプロトコル(SMB:Server Message Block)が拡張されたプロトコル)やRDPの場合は、IPアドレスの書き換えのみ行う。   A reverse proxy server program (not shown) is prepared according to a protocol used when accessing the server 103. If HTTP, the proxy mode result code is implemented. In the case of CIFS (Common Internet File System: Windows (registered trademark) file sharing service protocol (SMB: Server Message Block) extended protocol) or RDP, only IP address rewriting is performed.

コントロールセッション管理部909には、ステッピングノードを一意に識別するための情報であるSNID915が接続されている。SNID915は、本実施形態で説明するVPCトンネルを形成する手順において、リバースプロキシを設定するために用いる情報であると共に、後述するコンダクタ115が経路情報を作成する際に用いる情報として重要である。   The control session management unit 909 is connected with an SNID 915 that is information for uniquely identifying a stepping node. The SNID 915 is information used for setting a reverse proxy in the procedure of forming a VPC tunnel described in the present embodiment, and is important as information used when the conductor 115 described later creates route information.

図10は、ステッピングノードの機能ブロック図である。図10に開示するステッピングノード1001は、図9のステッピングノード901とは異なり、ファイアウォールを伴う形式の装置である。
本実施形態のステッピングノード1001は、LAN102のうち、隣接する異なるサブネットの間に配置され、IPリーチャブルなステッピングノード1001同士或はサーバ103とのゲートウェイを兼用する。
FIG. 10 is a functional block diagram of the stepping node. Unlike the stepping node 901 of FIG. 9, the stepping node 1001 disclosed in FIG. 10 is a device with a firewall.
The stepping node 1001 of this embodiment is disposed between different adjacent subnets in the LAN 102 and also serves as a gateway between the IP reachable stepping nodes 1001 or the server 103.

LAN102に接続される第三NIC1002には固定のIPアドレスが付与されている。
LAN102に接続される第四NIC1003には、第三NIC1002とは異なる固定のIPアドレスが付与されている。
A fixed IP address is assigned to the third NIC 1002 connected to the LAN 102.
The fourth NIC 1003 connected to the LAN 102 is assigned a fixed IP address different from that of the third NIC 1002.

第三NIC1002と第四NIC1003との間には、LAN102に接続されている端末が第四NIC1003側のサブネットに接続されているホスト(端末やサーバ103等)が第三NIC1002側のサブネットに接続するための動的NATの機能と、ネットワークのセキュリティ上の脅威から第四NIC1003側のホストを保護するためのパケットフィルタリングの機能を備えたファイアウォール1004が設けられている。   Between the third NIC 1002 and the fourth NIC 1003, a host (terminal, server 103, etc.) connected to the subnet on the fourth NIC 1003 side is connected to a terminal connected to the LAN 102 to the subnet on the third NIC 1002 side. And a firewall 1004 having a packet filtering function for protecting the host on the fourth NIC 1003 side from network security threats.

図10のステッピングノード1001は、特に社内LANがインターネットに接続するためのファイアウォールとして設置する際に好適である。この場合、第三NIC1002側のネットワークがインターネットであり、第四NIC1003側のネットワークが社内LANになる。そして、第四NIC1003のIPアドレスは社内LANのゲートウェイアドレスとなる。
図10のステッピングノード1001は、ファイアウォール1004と第四NIC1003の存在以外は図9のステッピングノード1001と動作は同じである。第一リバースプロキシ911或は第二リバースプロキシ912等の、データセッション管理部910から起動されるリバースプロキシは、第四NIC1003側に配置されるサーバ103と、第三NIC1002側に配置されるローカルマスタ或はステッピングノード1001との通信を実現する。第一NAT914等の、データセッション管理部910によって設定される静的NATは、第三NIC1002側に配置されるローカルマスタとステッピングノード1001、或はステッピングノード1001同士の通信を実現する。
The stepping node 1001 in FIG. 10 is particularly suitable when the in-house LAN is installed as a firewall for connecting to the Internet. In this case, the network on the third NIC 1002 side is the Internet, and the network on the fourth NIC 1003 side is an in-house LAN. The IP address of the fourth NIC 1003 is the gateway address of the in-house LAN.
The stepping node 1001 in FIG. 10 has the same operation as the stepping node 1001 in FIG. 9 except for the presence of the firewall 1004 and the fourth NIC 1003. The reverse proxy activated from the data session management unit 910, such as the first reverse proxy 911 or the second reverse proxy 912, is a server 103 arranged on the fourth NIC 1003 side and a local master arranged on the third NIC 1002 side. Alternatively, communication with the stepping node 1001 is realized. The static NAT set by the data session management unit 910, such as the first NAT 914, realizes communication between the local master arranged on the third NIC 1002 side and the stepping node 1001 or the stepping nodes 1001.

端末が、単にファイアウォール1004の向こう側に存在するサーバ103に対して接続を行うのであれば、LAN102のゲートウェイ或はLAN102とインターネット107との境界に配置される機器に、リバースプロキシを設定すればよい。しかし、この場合、端末はリバースプロキシが稼働するマシンのIPアドレスに対して接続を行うこととなる。このような接続形態は、アプリケーションに元々から備わっているセキュリティ設定によって様々な悪影響を生じる虞がある。   If the terminal simply connects to the server 103 that exists on the other side of the firewall 1004, a reverse proxy may be set in a gateway of the LAN 102 or a device arranged at the boundary between the LAN 102 and the Internet 107. . However, in this case, the terminal connects to the IP address of the machine where the reverse proxy operates. Such a connection form may cause various adverse effects depending on the security setting originally provided in the application.

具体的には、例えばマイクロソフト社のWindows(登録商標)に標準的に備わっているwebブラウザ「インターネットエクスプローラ」(以下「IE」と略す)では、接続しようとするwebサーバのIPアドレス、FQDN(Full Qualified Domain Name:完全修飾ドメイン名)或はドメイン名を含まないホスト名に応じて、HTML(Hyper Text Markup Language)文書内に埋め込まれたスクリプトや外部アプリケーション等を実行するか否か等のセキュリティ設定を変更する機能が備わっている。LAN102内のwebサーバはLAN102内の端末からアクセスされることを前提にwebアプリケーションが構築されており、インターネット107上のwebサーバでは危険で実行が許されないようなスクリプト等も、利便性を優先してHTML文書内に含まれている。つまり、リバースプロキシだけでは、インターネット107からLAN102内のサーバ103に接続しても、IEを始めとする所望のアプリケーションが正常に動作することが保証できないどころか、異常終了する等の弊害を生じる可能性が高い。   Specifically, for example, in a web browser “Internet Explorer” (hereinafter abbreviated as “IE”) provided as standard in Windows (registered trademark) of Microsoft Corporation, the IP address of the web server to be connected, FQDN (Full Security settings such as whether to execute scripts or external applications embedded in HTML (Hyper Text Markup Language) documents according to host names that do not include a Qualified Domain Name (fully qualified domain name) or domain name It has a function to change. Web applications are built on the assumption that the web server in the LAN 102 is accessed from a terminal in the LAN 102. Scripts that are dangerous and cannot be executed on the web server on the Internet 107 also prioritize convenience. Are included in the HTML document. In other words, even if the reverse proxy alone is connected to the server 103 in the LAN 102 from the Internet 107, it is not possible to guarantee that a desired application such as an IE operates normally, or there is a possibility of causing a bad effect such as abnormal termination. Is expensive.

この問題を解決するためには、IE等の端末上で動作するアプリケーションに対して、「あたかもLAN内のサーバに接続していると錯覚させる」仕組みが必要である。このための解決策が、静的NATである。静的NATを通じてサーバ103に接続する、ということは、ローカルマスタBOX109の場合では端末と同一サブネットのプライベートアドレスに対して、ソフトローカルマスタ113の場合ではループバックアドレスに対して、接続する、ということとなる。何れの場合も、IEから見ると、パケットに付される宛先IPアドレスはアプリケーションのセキュリティ設定を低い状態にできる「ローカルイントラネット」に属する。こうして、端末はインターネット107を越えてファイアウォール1004の向こう側にあるサーバ103に対し、制限のない「ローカルイントラネット」としてのアクセスを実現する。   In order to solve this problem, it is necessary to provide a mechanism that “makes it feel as if it is connected to a server in the LAN” for an application running on a terminal such as an IE. The solution for this is static NAT. Connecting to the server 103 through static NAT means connecting to a private address in the same subnet as the terminal in the case of the local master BOX 109, and to a loopback address in the case of the soft local master 113. It becomes. In any case, when viewed from the IE, the destination IP address attached to the packet belongs to the “local intranet” that can lower the security setting of the application. In this way, the terminal realizes access as a “local intranet” without limitation to the server 103 beyond the firewall 1004 beyond the Internet 107.

IPアドレスを変換するメリットは、上述の例に限られない。
企業が合併したり、企業や団体が業務提携をする等の事情で、相互のLAN同士を接続したい場合がある。この場合、夫々の企業は、予め合併することを前提に社内LANを構築していた訳ではないのだから、夫々のLANで使用するプライベートIPアドレスが重複する可能性が十分考えられる。
また、複数の企業や団体に対してネットワークサービスを提供する業者の場合、サービスを提供しようとする企業や団体のLANのIPアドレスが重複する可能性は飛躍的に高くなる。IPアドレスの重複を避けるために、保守サービスの度にネットワークの繋ぎ換えを行うことは非効率的である。
本実施形態のネットワークシステムを用いて、静的NAT及びリバースプロキシを用いてIPアドレスを変換し、ネットワーク接続を仮想化することで、複数のネットワークを接続する際に、IPアドレスの重複に悩む必要がなくなる。
The merit of converting the IP address is not limited to the above example.
There are cases where companies want to connect each other's LANs for reasons such as mergers or business / organizations having business alliances. In this case, since each company did not construct an in-house LAN on the premise of merging in advance, it is highly possible that private IP addresses used in each LAN overlap.
Further, in the case of a company that provides a network service to a plurality of companies or organizations, the possibility that the IP addresses of the LANs of the companies or organizations that intend to provide the service will be greatly increased. In order to avoid duplication of IP addresses, it is inefficient to reconnect networks every maintenance service.
By using the network system of the present embodiment to convert IP addresses using static NAT and reverse proxy and virtualizing network connections, it is necessary to worry about duplication of IP addresses when connecting multiple networks. Disappears.

[コンダクタ115]
図11はコンダクタ115の機能ブロック図である。
図12はコンダクタ115に含まれるテーブルのフィールド構成を示す図である。
本実施形態のコンダクタ115は、コントロールセッションを通じた、端末のプレイヤ111及びローカルマスタとの通信に特化している。ステッピングノードとは異なり、データセッションは形成しない。
コンダクタ115はネットワークOSが稼働するコンピュータである。OSは一例としてはLinux(登録商標)等の、POSIX系OSが好ましい。
LAN102に接続される第六NIC1101には固定のIPアドレスが付与されている。
[Conductor 115]
FIG. 11 is a functional block diagram of the conductor 115.
FIG. 12 is a diagram showing a field configuration of a table included in the conductor 115.
The conductor 115 of this embodiment is specialized for communication with the player 111 and the local master of the terminal through the control session. Unlike a stepping node, it does not form a data session.
The conductor 115 is a computer on which the network OS operates. As an example, the OS is preferably a POSIX OS such as Linux (registered trademark).
A fixed IP address is assigned to the sixth NIC 1101 connected to the LAN 102.

第六NIC1101に接続されている暗号化通信処理部1102は、ローカルマスタBOX109及びソフトローカルマスタ113に設けられている暗号化通信処理部606と対をなす。つまり、ローカルマスタと認証情報の送受信と、コントロールセッションの暗号化を施す。
認証処理部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認証を行うことで、機器認証及び個人認証を代行することができる。
The encrypted communication processing unit 1102 connected to the sixth NIC 1101 makes a pair with the encrypted communication processing unit 606 provided in the local master BOX 109 and the soft local master 113. That is, the authentication information is transmitted / received to / from the local master and the control session is encrypted.
The authentication processing unit 1103 refers to the device identification ID master 1105 and the user master 1106 to perform device authentication and personal authentication. Further, the authentication processing unit 1103 generates authentication information called SSID for each local master that has succeeded in device authentication, which changes for each session instead of the device identification ID, and writes the combination of the device identification ID and the SSID in the SSID table 1113. . Then, for the player 111 who has succeeded in personal authentication, a set of SSID and user ID is written in the SSID table 1113. That is, when device authentication and personal authentication are normally completed, a record of a set of device identification ID, SSID, and user ID is formed in the SSID table 1113, and the device identification ID, SSID, and user ID are linked. And device authentication and personal authentication can be performed by performing SSID authentication.

経路設定部1104は、SNサーバマスタ1110、SNマップマスタ1111及びLM・SNマスタ1112を用いて経路情報を作成し、経路テーブル1114に記録する。また、機器特定IDマスタ1105を参照して、経路テーブル1114に仮想IPアドレスを記述する。   The route setting unit 1104 creates route information using the SN server master 1110, the SN map master 1111, and the LM / SN master 1112, and records the route information in the route table 1114. Further, the virtual IP address is described in the route table 1114 with reference to the device identification ID master 1105.

機器特定IDマスタ1105は、コンダクタ115が接続を許可するローカルマスタの機器特定IDと、仮想IPアドレス範囲が列挙されているテーブルである。
仮想IPアドレス範囲は、端末のアプリケーションプログラムがサーバ103にアクセスしようとする際に、アプリケーションプログラムがアクセスを試みようとする対象のIPアドレスである。
The device identification ID master 1105 is a table in which the device identification ID of the local master that the conductor 115 permits connection and the virtual IP address range are listed.
The virtual IP address range is a target IP address to which the application program tries to access when the application program of the terminal tries to access the server 103.

本実施形態のネットワークシステム101は、IPリーチャブルでない端末とサーバを、VPCトンネルで仮想的に接続する。
アプリケーションプログラムがサーバ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アドレスを用いることができる。
The network system 101 of this embodiment virtually connects a terminal that is not IP reachable and a server through a VPC tunnel.
When the application program accesses the server 103, the application program accesses a virtual IP address that is not the original IP address assigned to the server 103. The virtual IP address is configured to be assigned from the terminal to the local master that is IP reachable.
In the case of the local master box 109 in FIG. 6, the virtual IP address belongs to the subnet of the second NIC 601. For example, if the subnet of the second NIC 601 is 192.168.1.0/24 and the IP address of the second NIC 601 is 192.168.1.2, the virtual IP address is from 192.168.1.1 to 192. .IP addresses up to 168.1.2254 are used.
In the case of the soft local master 113 in FIG. 7, the virtual IP address belongs to the subnet of the loopback virtual NIC 701. In most network OSs, 127.0.0.1 is assigned to the loopback virtual NIC 701 and the subnet is 127.0.0.0/8, so the virtual IP address is 127.0.0.1. IP addresses from 1 to 127.255.255.254 can be used.

機器特定IDマスタ1105の仮想IPアドレス範囲フィールドは、ローカルマスタの構成に基づいて、最適な仮想IPアドレスをローカルマスタ、ひいては端末に提供できるように設けている。ユーザにサービスメニュー情報614を送信する際、仮想IPアドレスの設定はこの仮想IPアドレス範囲フィールドに記されている範囲から記述される。   The virtual IP address range field of the device identification ID master 1105 is provided so that the optimum virtual IP address can be provided to the local master and, consequently, the terminal based on the configuration of the local master. When the service menu information 614 is transmitted to the user, the setting of the virtual IP address is described from the range described in the virtual IP address range field.

ユーザマスタ1106は、コンダクタ115が接続を許可するユーザのユーザID及びパスワード等の個人認証情報と、当該ユーザの制限設定情報が格納されている。   The user master 1106 stores personal authentication information such as a user ID and a password of a user permitted to be connected by the conductor 115, and restriction setting information of the user.

サーバマスタ1107は、仮想サーバIDXと、サーバ名又はサーバのIPアドレスと、当該サーバ103のアクセスに用いられるプロトコル種別と、ポート番号と、端末用リソース文字列等が格納されている。
仮想サーバIDXとは、サーバマスタ1107のレコードを一意に識別するための情報である。これは、異なる拠点に同じサブネットが存在し、そのサブネット上に同じIPアドレス及び同じサービスを提供するサーバがそれぞれ存在する可能性を考慮して、サーバ名等に代わり、サーバを一意に識別するための索引情報を設けている。
また、仮想サーバIDXは、サービスメニュー情報614に含まれる情報であり、端末のアプリケーションがサーバ103に対して接続要求を送信することに呼応して開始するVPC確立シーケンスにおいて、ローカルマスタがコンダクタ115にVPCトンネルの作成を要求するコマンドの中に含まれる。
The server master 1107 stores a virtual server IDX, a server name or a server IP address, a protocol type used for accessing the server 103, a port number, a terminal resource character string, and the like.
The virtual server IDX is information for uniquely identifying the record of the server master 1107. In order to uniquely identify a server instead of a server name, etc., considering the possibility that the same subnet exists at different locations and servers that provide the same IP address and the same service exist on the subnet. Index information is provided.
The virtual server IDX is information included in the service menu information 614. In the VPC establishment sequence that starts in response to the terminal application transmitting a connection request to the server 103, the local master communicates with the conductor 115. Included in commands that request creation of a VPC tunnel.

サーバ名又はサーバのIPアドレスは、ポート番号と共にサーバに直近のステッピングノードがサーバにIP接続する際に必要な情報である。当該ステッピングノードにおいて名前解決ができるなら、サーバ名が用いられる。名前解決ができるなら、サーバ名はFQDNであっても、ホスト名だけであってもよい。そうでない場合は、IPアドレスが用いられる。
プロトコル種別は、例えばRDP、HTTP、SSH等の、周知のプロトコルの名称、或はこれに準じる識別情報が格納される。
ポート番号は、当該サーバのアクセスに用いられるポート番号である。HTTPであれば80番、RDPであれば3389番、SSHであれば22番、VNCであれば5900番から5906番迄等と、多くの場合、プロトコル毎に決められている。但し、サーバの設定によっては意図的にポート番号をずらす等の設定変更を行うこともあるので、その際はサーバの設定に合わせる。
The server name or the IP address of the server is information necessary when the stepping node closest to the server makes an IP connection to the server together with the port number. If name resolution is possible at the stepping node, the server name is used. If name resolution is possible, the server name may be FQDN or just the host name. Otherwise, the IP address is used.
As the protocol type, for example, a well-known protocol name such as RDP, HTTP, or SSH, or identification information according to this is stored.
The port number is a port number used for accessing the server. In many cases, it is determined for each protocol such as 80 for HTTP, 3389 for RDP, 22 for SSH, 5900 to 5906 for VNC, and the like. However, depending on the server settings, settings may be changed intentionally such as shifting the port number. In this case, the server settings are adjusted.

端末用リソース文字列は、端末がサーバにアクセスする際に用いる、端末のアプリケーションプログラムが接続相手の情報資源を特定する文字列であり、プレイヤ111の専用シェルが設けるアイコンに埋め込まれる、アプリケーションの引数でもある。例えばHTTPであればURLであり、CIFSであればサーバがリソースを提供するルートを示すリソース名称である。
多くの場合、端末用リソース文字列はその全て或は一部に、サーバ名又はサーバのIPアドレスが含まれる。したがって、端末用リソース文字列は、プロトコルによってはその全て或は一部が仮想IPアドレスによって置換される場合がある。
The terminal resource character string is a character string used when the terminal accesses the server, and the terminal application program identifies the information resource of the connection partner, and is an application argument embedded in the icon provided by the dedicated shell of the player 111 But there is. For example, in the case of HTTP, it is a URL, and in the case of CIFS, it is a resource name indicating a route through which a server provides resources.
In many cases, all or a part of the terminal resource character string includes a server name or an IP address of the server. Therefore, depending on the protocol, all or part of the terminal resource character string may be replaced with the virtual IP address.

例えば、RDPやSSHの場合、端末用リソース文字列はサーバ名又はサーバのIPアドレスと一致する。したがって、このようなプロトコルの場合、端末用リソース文字列は仮想IPアドレスによって全部置換される。
CIFSの場合、端末用リソース文字列の一部はサーバ名又はサーバのIPアドレスと一致する場合がある。したがって、このようなプロトコルの場合、端末用リソース文字列は仮想IPアドレスによって一部置換される。
HTTPの場合、webブラウザは一つのhtml文書に埋め込まれているハイパーリンクに基づいて、不特定多数のwebサーバに接続する可能性が高いので、webブラウザのプロキシサーバの設定に、VPCトンネルの仮想IPアドレスを設定する。このようにwebブラウザを設定すると、webブラウザ自身は全く名前解決を行わず、端末用リソース文字列をそのままプロキシサーバであるVPCトンネルに送信する。実際のwebコンテンツを取得する動作は、webサーバ直近のステッピングノードにて稼働するリバースプロキシが実行する。したがって、このようなプロトコルの場合、端末用リソース文字列は仮想IPアドレスによって置換されない。
For example, in the case of RDP or SSH, the terminal resource character string matches the server name or the server IP address. Therefore, in the case of such a protocol, the terminal resource character string is completely replaced by the virtual IP address.
In the case of CIFS, part of the terminal resource character string may match the server name or the server IP address. Therefore, in the case of such a protocol, the terminal resource character string is partially replaced by the virtual IP address.
In the case of HTTP, a web browser is likely to connect to an unspecified number of web servers based on a hyperlink embedded in one html document. Set the IP address. When the web browser is set in this manner, the web browser itself does not perform name resolution at all, and transmits the terminal resource character string as it is to the VPC tunnel that is the proxy server. The operation for acquiring the actual web content is executed by a reverse proxy operating at the stepping node closest to the web server. Therefore, in the case of such a protocol, the terminal resource character string is not replaced by the virtual IP address.

ユーザサーバマスタ1108は、ユーザIDと、当該ユーザIDのユーザが利用できるサーバ103の仮想サーバIDXの組が格納されている。したがって、ユーザサーバマスタ1108をユーザIDで絞り込み、得られた仮想サーバIDXをキーにしてサーバマスタ1107を検索して得られたレコードが、当該ユーザが利用可能なサーバ103と、そのサーバ103を利用するために必要な情報を含むこととなる。   The user server master 1108 stores a set of a user ID and a virtual server IDX of the server 103 that can be used by a user with the user ID. Accordingly, the user server master 1108 is narrowed down by the user ID, and the record obtained by searching the server master 1107 using the obtained virtual server IDX as a key is the server 103 that can be used by the user, and the server 103 is used. It will contain the information necessary to do.

SNマスタ1109は、ステッピングノードを一意に識別するためのSNIDと、ステッピングノードのホスト名(SNホスト名)又はIPアドレスの組と、当該ステッピングノードのIPリーチャブルな範囲にサーバが存在するか否かを示す終端フラグよりなるテーブルである。
経路設定部1104は、後述するSNサーバマスタ1110、SNマップマスタ1111及びLM・SNマスタ1112を用いて経路情報を作成する際、SNIDで経路情報の元データを作成する。そして、最後にSNIDをSNホスト名又はIPアドレスに変換して、経路情報を完成し、ローカルマスタに送信する。
The SN master 1109 has a SNID for uniquely identifying a stepping node, a set of a host name (SN host name) or IP address of the stepping node, and whether or not a server exists in the IP reachable range of the stepping node. Is a table made up of end flags indicating.
When the route setting unit 1104 creates route information using an SN server master 1110, an SN map master 1111 and an LM / SN master 1112 which will be described later, the route setting unit 1104 creates original data of the route information using the SNID. Finally, the SNID is converted into an SN host name or IP address to complete the route information and send it to the local master.

SNサーバマスタ1110は、サーバ直近のステッピングノードのSNIDと、仮想サーバIDXの組よりなるテーブルである。
サーバ直近のステッピングノードとは、前述のSNマスタ1109の終端フラグフィールドの値が論理の「真」であるステッピングノードである。
The SN server master 1110 is a table composed of a set of the SNID of the stepping node closest to the server and the virtual server IDX.
The stepping node closest to the server is a stepping node in which the value of the termination flag field of the SN master 1109 is logical “true”.

一つのサーバに対して、IPリーチャブルなステッピングノードは一つだけとは限らない。つまり、あるサーバに対して接続可能なステッピングノードは、複数存在し得る。また、一つのステッピングノードに対して、IPリーチャブルなサーバは一つだけとは限らない。つまり、あるステッピングノードから接続可能なサーバは、複数存在し得る。つまり、あるローカルマスタからあるサーバへ到達するための経路は、複数存在し得る。
このようなネットワークにおいて、最適な経路をどのように選択すべきかを判断する要素は、ネットワークの距離もさることながら、ネットワークのトラフィックが重要な位置を占める。
そこで、本実施形態のネットワークシステム101は、あるサーバに対してIPリーチャブルなステッピングノードが複数存在し得るように設計した。この、サーバとIPリーチャブルなステッピングノードとの関係を記述するテーブルが、SNサーバマスタ1110である。
あるサーバに接続できるステッピングノードの負荷が増大しているとき、別のステッピングノードから当該サーバに接続するようにVPCトンネルを切り替えることが出来れば、ネットワーク上の負荷を瞬時且つ適切に分散させることができる。
There is not necessarily only one IP reachable stepping node for one server. That is, there can be a plurality of stepping nodes that can be connected to a certain server. Also, the number of IP reachable servers is not limited to one for a stepping node. That is, there can be a plurality of servers that can be connected from a certain stepping node. That is, there can be a plurality of paths from a certain local master to a certain server.
In such a network, network traffic occupies an important position as well as a network distance as an element for determining how to select an optimum route.
Therefore, the network system 101 of this embodiment is designed so that a plurality of IP reachable stepping nodes can exist for a certain server. The SN server master 1110 is a table describing the relationship between the server and the IP reachable stepping node.
When the load of a stepping node that can be connected to a server is increasing, if the VPC tunnel can be switched so as to connect to the server from another stepping node, the load on the network can be instantaneously and appropriately distributed. it can.

SNマップマスタ1111は、ステッピングノードのSNIDと、当該ステッピングノードに隣接するステッピングノードのSNIDの組よりなるテーブルである。
SNマップマスタ1111をSNIDで検索すると、あるステッピングノードに隣接する全てのステッピングノードのSNIDが得られる。
The SN map master 1111 is a table composed of a set of SNIDs of stepping nodes and SNIDs of stepping nodes adjacent to the stepping node.
When the SN map master 1111 is searched by SNID, the SNIDs of all stepping nodes adjacent to a certain stepping node are obtained.

LM・SNマスタ1112は、ローカルマスタの機器特定IDと、当該ローカルマスタに隣接するステッピングノードのSNIDの組よりなるテーブルである。
LM・SNマスタ1112をSNIDで検索すると、あるローカルマスタに隣接する全てのステッピングノードのSNIDが得られる。
The LM / SN master 1112 is a table composed of a set of a device identification ID of a local master and an SNID of a stepping node adjacent to the local master.
When the LM / SN master 1112 is searched by SNID, the SNIDs of all stepping nodes adjacent to a certain local master are obtained.

経路設定部1104は、ダイクストラ法等の周知の経路探索アルゴリズムを用いて、ローカルマスタからサーバに到達するための経路情報を作成する。その際、LM・SNマスタ1112を用いて、発信元のローカルマスタに至る全てのステッピングノードのSNIDを得る。同様に、SNサーバマスタ1110を用いて、目的のサーバに至る全てのステッピングノードのSNID、そしてそれに対応する仮想サーバIDXを得る。それら複数の始点と終点の組み合わせを作成した後、夫々の組み合わせにおいて最適な経路情報を作成する。そして、別途ステッピングノードから報告されるトラフィック情報等に基づいて、最適な経路情報を選択する。
なお、構成が単純なLANにおいては、複数の経路情報を予め作成しておき、ローカルマスタから経路情報の要求があった時に、最適な経路情報を読み出して返信する、という方法もある。
The route setting unit 1104 creates route information for reaching the server from the local master using a known route search algorithm such as Dijkstra method. At that time, the LM / SN master 1112 is used to obtain the SNIDs of all the stepping nodes reaching the local master of the transmission source. Similarly, the SN server master 1110 is used to obtain the SNIDs of all the stepping nodes that reach the target server, and the virtual server IDX corresponding thereto. After creating a combination of the plurality of start points and end points, optimal route information is created for each combination. Then, optimum route information is selected based on traffic information or the like reported separately from the stepping node.
In a LAN with a simple configuration, there is a method in which a plurality of route information is created in advance, and when the route information is requested from the local master, the optimum route information is read and returned.

経路テーブル1114は、SSIDと、仮想サーバIDXと、仮想IPアドレスと、サーバ名又はサーバのIPアドレスと、プロトコル種別と、ポート番号と、経路情報の組よりなるテーブルである。   The route table 1114 is a table including a set of SSID, virtual server IDX, virtual IP address, server name or server IP address, protocol type, port number, and route information.

端末が個人認証を完遂した後、サービスメニュー情報614を要求すると、認証処理部1103は、端末から送信されたSSIDでSSIDテーブル1113を検索し、対応するユーザIDを取得する。次に、認証処理部1103はこのユーザIDでユーザサーバマスタ1108を検索し、当該ユーザが利用可能なサーバ103の仮想サーバIDXの一覧を作成する。そして、この仮想サーバIDXの一覧情報を検索キーとしてサーバマスタ1107を検索し、当該ユーザが利用可能なサーバ103を利用するために必要な情報を形成する。更に、経路設定部1104に問い合わせて、現時点で最適な経路情報を算出し、サーバマスタ1107の検索結果に追加する。これがサービスメニュー情報614である。   When the terminal completes the personal authentication and requests the service menu information 614, the authentication processing unit 1103 searches the SSID table 1113 with the SSID transmitted from the terminal and acquires the corresponding user ID. Next, the authentication processing unit 1103 searches the user server master 1108 with this user ID, and creates a list of virtual server IDX of the server 103 that can be used by the user. Then, the server master 1107 is searched using the list information of the virtual server IDX as a search key, and information necessary for using the server 103 available to the user is formed. Further, the route setting unit 1104 is inquired to calculate the optimum route information at the present time, and is added to the search result of the server master 1107. This is service menu information 614.

図11及び図12では図示していないが、サービスメニュー情報614は、SSIDと、仮想サーバIDXと、仮想IPアドレスと、サーバ名又はサーバのIPアドレスと、プロトコル種別と、ポート番号と、端末用リソース文字列の組よりなるテーブルである。   Although not shown in FIGS. 11 and 12, the service menu information 614 includes SSID, virtual server IDX, virtual IP address, server name or server IP address, protocol type, port number, and terminal information. It is a table consisting of a set of resource character strings.

コンダクタ115は、端末(プレイヤ111)のサービスメニュー情報取得要求に呼応して、サービスメニュー情報614を形成する。形成したサービスメニュー情報614は、一旦経路テーブル1114に記憶する。この時、経路情報は空欄のままにする。そして、要求元の端末にサービスメニュー情報614を返信する。
次に、コンダクタ115は、ローカルマスタの経路情報取得要求に呼応して、経路設定部1104を稼働させ、経路情報を作成する。ローカルマスタはSSIDと仮想サーバIDXを送信してくるので、この仮想サーバIDXを検索キーとして当該サーバに隣接するステッピングノードを検索すると共に、SSIDを検索キーとしてSSIDテーブル1113を検索して機器特定ID608を取得し、機器特定ID608を検索キーとしてLM・SNマスタ1112を検索してローカルマスタに隣接するステッピングノードを検索する。SNマップマスタ1111を用いて、最適な経路情報を算出したら、経路テーブル1114の経路情報フィールドに当該経路情報を書き込むと共に、ローカルマスタに返信する。
The conductor 115 forms service menu information 614 in response to a service menu information acquisition request from the terminal (player 111). The formed service menu information 614 is temporarily stored in the route table 1114. At this time, the route information is left blank. Then, service menu information 614 is returned to the requesting terminal.
Next, the conductor 115 operates the route setting unit 1104 in response to the route information acquisition request from the local master, and creates route information. Since the local master transmits the SSID and the virtual server IDX, the virtual server IDX is used as a search key to search for a stepping node adjacent to the server, and the SSID table 1113 is searched using the SSID as a search key to search the device identification ID 608. And the LM / SN master 1112 is searched using the device identification ID 608 as a search key to search for a stepping node adjacent to the local master. When the optimum route information is calculated using the SN map master 1111, the route information is written in the route information field of the route table 1114 and returned to the local master.

ローカルマスタがVPCトンネルの作成を要求するコマンドを送信すると、当該コマンドに含まれている経路情報に基づいて、当該経路情報に存在するステッピングノードに静的NATが設定される。そして、当該コマンドがサーバ直近のステッピングノードに到達したら、当該ステッピングノードはコンダクタ115に対して再度の認証と、サーバの諸元を示す情報を要求する。コンダクタ115は当該ステッピングノードがリバースプロキシを設定するために必要な情報である、サーバのホスト名又はIPアドレス、プロトコル種別、ポート番号を返信する。
なお、コンダクタ115は、ローカルマスタが発する問い合わせと、サーバ直近のステッピングノードが発する問い合わせとを区別するため、当該問い合わせの中にSNIDが含まれているか否かを確認する。
問い合わせにSNIDがなければローカルマスタが発する問い合わせであるので、経路情報を返信する。
問い合わせにSNIDがあればサーバ直近のステッピングノードが発する問い合わせであるので、サーバのホスト名又はIPアドレス、プロトコル種別、ポート番号を返信する。
When the local master transmits a command for requesting creation of a VPC tunnel, a static NAT is set in a stepping node existing in the route information based on the route information included in the command. When the command reaches the stepping node closest to the server, the stepping node requests the conductor 115 for authentication again and information indicating the server specifications. The conductor 115 returns the host name or IP address of the server, the protocol type, and the port number, which are information necessary for the stepping node to set the reverse proxy.
The conductor 115 confirms whether or not the SNID is included in the inquiry in order to distinguish between the inquiry issued by the local master and the inquiry issued by the stepping node nearest to the server.
If there is no SNID in the inquiry, it is an inquiry issued by the local master, so route information is returned.
If there is an SNID in the inquiry, it is an inquiry issued by the stepping node nearest to the server, so the server host name or IP address, protocol type, and port number are returned.

これまでの説明で明らかなように、コンダクタ115は、ローカルマスタに対して機器認証と個人認証の二重の認証を行い、ローカルマスタとの間にコントロールセッションを形成する。そして、端末を操作するユーザにサーバ103との接続を実現するために、端末の要求に応じて、ローカルマスタから適切なステッピングノードを経由して目的のサーバ103に到達するための経路情報を形成し、ローカルマスタに送信する。
また、VPCトンネルを形成する手順においては、VPCトンネルの始端であるローカルマスタと、終端に位置するステッピングノードに、それぞれSSID認証を行う。ローカルマスタのSSID認証が成功したら、経路情報をローカルマスタに送信する。ステッピングノードのSSID認証が成功したら、リバースプロキシを設定してサーバ103に接続するための、サーバ103の情報をステッピングノードに送信する。
As is clear from the above description, the conductor 115 performs dual authentication of device authentication and personal authentication with respect to the local master, and forms a control session with the local master. Then, in order to realize connection with the server 103 for the user operating the terminal, route information for reaching the target server 103 from the local master via an appropriate stepping node is formed in response to a request from the terminal. And send it to the local master.
In the procedure for forming the VPC tunnel, SSID authentication is performed for the local master that is the start of the VPC tunnel and the stepping node that is positioned at the end. If the SSID authentication of the local master is successful, route information is transmitted to the local master. When the SSID authentication of the stepping node is successful, information on the server 103 for setting the reverse proxy and connecting to the server 103 is transmitted to the stepping node.

[動作の概略]
図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)である。
[Outline of operation]
From FIG. 13 to FIG. 21, except for FIG. 19, in the network system 101 of this embodiment, the terminal is connected to the server 103 that is remotely located on the network, and the resources of the server 103 can be used. It is a time chart which shows the flow of operation | movement until it ends service after that.
First, an outline of the flow of operation will be described.
FIG. 13 is a time chart showing the overall operation flow of the network system 101 of the present embodiment.
When activated, the local master immediately attempts to authenticate the conductor identification ID 608 to the conductor 115 through a control session. This is the device identification ID authentication sequence (S1301).
When the local master succeeds in authenticating the device identification ID 608 in the device identification ID authentication sequence, the terminal player 111 displays a login screen on the display unit 206. From this state, the user performs personal authentication. The personal authentication information is transmitted to the conductor 115 through the control session, and the authentication result is returned to the player 111 of the terminal. This is the personal authentication sequence (S1302).
When the personal authentication sequence ends normally, the player 111 requests the conductor 115 through the control session to obtain the service menu information 614 immediately. The conductor 115 returns service menu information 614 and restriction setting information 610 to the player 111. This is the menu acquisition sequence (S1303).

ユーザが端末の画面に表示されているアイコンをクリックする等の操作を実行すると、アイコンに埋め込まれているコマンドライン文字列に記述されているアプリケーションプログラムが実行される。アプリケーションプログラムは、ローカルマスタに接続要求パケット(TCP SYNパケット)を送信する。ローカルマスタはこの接続要求パケットを確認すると、コントロールセッションを通じてコンダクタ115に対して経路情報を要求する。コンダクタ115は経路情報をローカルマスタに返信する。コンダクタ115は受信した経路情報を含むVPC確立要求コマンドを作成し、コントロールセッションを通じて経路情報に従ってステッピングノードに送信する。最後のステッピングノードを除く、経路情報に記述されているステッピングノードはVPC確立要求コマンドを転送すると共に、VPC、つまりデータセッションを形成するための静的NATを設定する。経路情報に記述されている最後のステッピングノードは、自らが経路情報の最後に位置するステッピングノードであることを認識すると、コンダクタに対して接続するサーバに関する情報を問い合わせて、コンダクタからサーバのIPアドレス、ポート番号、プロトコル種別を取得する。そして、これら情報に基づいて、適切なリバースプロキシを実行する。そして、端末が発した接続要求パケットが経路情報に記述されている最後のステッピングノードによってサーバ103に到達する。サーバ103が返信する応答パケットは、仮に形成されたVPCトンネルを確定させて、端末に到達する。これがVPC確立シーケンス(S1304)である。
VPC確立シーケンスが遂行された後は、形成されたVPCトンネルを用いて端末とサーバ103が仮想的な接続状態の中で通信を実行する。これがVPCデータ転送状態(S1305)である。
When the user performs an operation such as clicking an icon displayed on the terminal screen, the application program described in the command line character string embedded in the icon is executed. The application program transmits a connection request packet (TCP SYN packet) to the local master. When the local master confirms this connection request packet, it requests path information from the conductor 115 through the control session. The conductor 115 returns the path information to the local master. The conductor 115 creates a VPC establishment request command including the received route information and transmits it to the stepping node according to the route information through the control session. The stepping nodes described in the path information except for the last stepping node transfer a VPC establishment request command and set a VPC, that is, a static NAT for forming a data session. When the last stepping node described in the route information recognizes that it is the stepping node located at the end of the route information, it inquires about information on the server to be connected to the conductor, and the IP address of the server from the conductor. Get port number and protocol type. And based on these information, an appropriate reverse proxy is performed. Then, the connection request packet issued by the terminal reaches the server 103 by the last stepping node described in the route information. The response packet returned from the server 103 determines the temporarily formed VPC tunnel and reaches the terminal. This is the VPC establishment sequence (S1304).
After the VPC establishment sequence is performed, the terminal and the server 103 perform communication in a virtual connection state using the formed VPC tunnel. This is the VPC data transfer state (S1305).

VPCトンネルの破棄は、基本的に端末の能動的な終了を示す情報の送信によって行われる。これがVPC切断シーケンス(S1306)である。
ユーザが端末の使用を停止したい場合は、ログアウトを宣言する。ログアウトの宣言はコントロールセッションを通じてコンダクタ115に送信され、端末に返送される。これがユーザログアウトシーケンス(S1307)である。
端末を通じてローカルマスタBOX109の電源を落とすか、ソフトローカルマスタ113がインストールされている端末をシャットダウンする等でローカルマスタの動作を終了させると、その情報はコンダクタ115に通知される。これがローカルマスタシャットダウン(S1308)である。
The destruction of the VPC tunnel is basically performed by transmitting information indicating active termination of the terminal. This is the VPC disconnection sequence (S1306).
If the user wants to stop using the terminal, declare logout. The logout declaration is sent to the conductor 115 through the control session and returned to the terminal. This is the user logout sequence (S1307).
When the local master BOX 109 is turned off through the terminal or the operation of the local master is terminated by shutting down the terminal in which the soft local master 113 is installed, the information is notified to the conductor 115. This is the local master shutdown (S1308).

[機器特定ID認証シーケンス]
図14は、機器特定ID認証シーケンスのタイムチャートである。図13のステップS1301の詳細である。
ローカルマスタは、起動して(S1401)、LAN102と接続されてIPリーチャブルになったことを認識すると、直ちにコンダクタ115に対してコントロールセッションを通じて機器特定ID608の認証要求を送信する(S1402)。
ローカルマスタは、コンダクタ115のアドレスを直接的には知らない。しかし、コンダクタ115に通信を行う際、どのIPリーチャブルなステッピングノードに通信を試みればよいのかを示す、「デフォルトゲートウェイ」のホスト名或はIPアドレスを内部に保持している。本実施形態では、デフォルトゲートウェイは第一SN107である。そこで、ローカルマスタは第一SN107にコンダクタ115に対する機器認証要求を、コントロールセッションを通じて送信する。
[Device Specific ID Authentication Sequence]
FIG. 14 is a time chart of the device identification ID authentication sequence. It is a detail of step S1301 of FIG.
When the local master is activated (S1401) and recognizes that it is connected to the LAN 102 and becomes IP reachable, it immediately transmits an authentication request for the device identification ID 608 to the conductor 115 through the control session (S1402).
The local master does not know the address of the conductor 115 directly. However, when communicating with the conductor 115, the host name or IP address of the “default gateway” indicating which IP reachable stepping node should be tried to communicate is held inside. In the present embodiment, the default gateway is the first SN 107. Therefore, the local master transmits a device authentication request for the conductor 115 to the first SN 107 through the control session.

第一SN107はローカルマスタから機器特定ID608の認証要求を受信すると、それがコンダクタ115に対する要求であることをコントロールセッション管理部609が認識する。そして、デフォルトゲートウェイアドレス612に記されているステッピングノード(本実施形態では第二SN108)に、機器特定ID608の認証要求を転送する(S1403)。   When the first SN 107 receives an authentication request for the device identification ID 608 from the local master, the control session management unit 609 recognizes that the request is for the conductor 115. Then, the authentication request for the device identification ID 608 is transferred to the stepping node (second SN 108 in this embodiment) described in the default gateway address 612 (S1403).

第二SN108は、コンダクタ115とIPリーチャブルである。このため、ローカルマスタBOX109や第一SN107とは異なり、「デフォルトゲートウェイ」の代わりに、コンダクタアドレス908にコンダクタ115のホスト名或はIPアドレスを保持している。
第二SN108も第一SN107と同様に、第一SN107から機器特定ID608の認証要求を受信すると、コンダクタアドレス908に記されているコンダクタ115に、機器特定ID608の認証要求を転送する(S1404)。こうして、コンダクタ115はローカルマスタが送信した機器特定ID608の認証要求を受信する。
The second SN 108 is IP reachable with the conductor 115. Therefore, unlike the local master box 109 and the first SN 107, the host name or IP address of the conductor 115 is held in the conductor address 908 instead of the “default gateway”.
Similarly to the first SN 107, the second SN 108 receives the authentication request for the device identification ID 608 from the first SN 107, and transfers the authentication request for the device identification ID 608 to the conductor 115 described in the conductor address 908 (S1404). Thus, the conductor 115 receives the authentication request for the device identification ID 608 transmitted by the local master.

コンダクタ115は、第二SN108から受信したローカルマスタの機器特定ID608で機器特定IDマスタ1105を検索し、当該機器特定ID608が正規のローカルマスタを示す情報であるか否か、確認する(S1405)。検索結果(機器特定ID認証結果)は直前に受信した相手、つまり第二SN108へ返信する(S1406)。
第二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)。
The conductor 115 searches the device identification ID master 1105 with the device identification ID 608 of the local master received from the second SN 108, and confirms whether or not the device identification ID 608 is information indicating a regular local master (S1405). The search result (device identification ID authentication result) is returned to the partner received immediately before, that is, the second SN 108 (S1406).
The control session management unit 609 of the second SN 108 transfers the device identification ID authentication result received from the conductor 115 to the first SN 107 (S1407).
The control session management unit 609 of the first SN 107 transfers the device identification ID authentication result received from the second SN 108 to the local master (S1408).
The local master looks at the device identification ID authentication result received from the first SN 107 and confirms whether or not the authentication has been normally performed (S1409). If the authentication is not successful (NO in S1409), the process ends abnormally, and subsequent operations are impossible (S1410). If the authentication is successful (YES in S1409), the control session management unit 609 of the local master stores the SSID included in the device identification ID authentication result in the SSID memory 613 (S1411).

一方、端末のプレイヤ111は起動すると(S1412)、ローカルマスタに対してSSIDの転送を要求する。
ローカルマスタが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認証シーケンスである。
On the other hand, when the player 111 of the terminal is activated (S1412), it requests the local master to transfer the SSID.
In a state where the local master has not acquired and stored the SSID from the conductor 115, the SSID transfer request fails (S1413). However, after the local master has acquired and stored the SSID from the conductor 115, the SSID transfer request. In response to (S1414), the local master reads the SSID stored in the SSID memory 613 (S1415) and responds to the terminal (S1416), so that the player 111 receives the SSID (S1417) and stores it. (S1418).
In the case of the soft local master 113, since the SSID memory 613 is shared with the player 111, steps S1417 and S1418 are omitted.
In response to the successful completion of SSID acquisition, the player 111 displays a login screen on the display unit 206 (S1419).
The above is the device identification ID authentication sequence.

機器特定ID認証シーケンスが正常終了すると、これ以降はローカルマスタが機器特定ID608を送信する代わりに、SSIDでローカルマスタを特定することができる。機器特定ID608は固定であるが、SSIDはローカルマスタが起動する度に変化するので、セキュリティの向上に寄与する。   When the device identification ID authentication sequence ends normally, the local master can be identified by the SSID instead of the device master ID 608 being transmitted thereafter. Although the device identification ID 608 is fixed, the SSID changes every time the local master is activated, which contributes to improving security.

[個人認証シーケンス及びメニュー取得シーケンス]
図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)。
[Personal authentication sequence and menu acquisition sequence]
FIGS. 15A and 15B are time charts of a personal authentication sequence and a menu acquisition sequence. FIG. 16 is a time chart of the menu acquisition sequence. It is the detail of step S1302 and step S1303 of FIG.
FIG. 15A shows a personal authentication sequence.
The user operates the IC card reader 104 or the keyboard of the terminal to input personal authentication information such as a user ID and password. The personal authentication information is transferred to the local master through the control session by the player 111 with the SSID (S1501).
The local master that has received the personal authentication information and the SSID from the player 111 transfers it to the first SN 107 according to the default gateway address 612 (S1502).
The first SN 107 that has received the personal authentication information and the SSID from the local master transfers it to the second SN 108 according to the default gateway address 612 (S1503).
The second SN 108 that has received the personal authentication information and the SSID from the first SN 107 transfers it to the conductor 115 according to the conductor address 908 (S1504).

第二SN108から個人認証情報及びSSIDを受信したコンダクタ115は、個人認証情報でユーザマスタ1106を検索し(S1505)、検索結果(ユーザID認証結果)を直前に受信した相手、つまり第二SN108へ返信する(S1506)。そして、ユーザID認証結果が正常であれば、SSIDテーブル1113にユーザIDを記述する(S1507)。
第二SN108は、コンダクタ115から受信したユーザID認証結果を第一SN107に転送する(S1508)。
第一SN107は、第二SN108から受信したユーザID認証結果をローカルマスタに転送する(S1509)。
ローカルマスタは、第一SN107から受信したユーザID認証結果を端末に転送する(S1510)。
The conductor 115 that has received the personal authentication information and the SSID from the second SN 108 searches the user master 1106 with the personal authentication information (S1505), and to the partner who has received the search result (user ID authentication result) immediately before, ie, the second SN 108. A reply is made (S1506). If the user ID authentication result is normal, the user ID is described in the SSID table 1113 (S1507).
The second SN 108 transfers the user ID authentication result received from the conductor 115 to the first SN 107 (S1508).
The first SN 107 transfers the user ID authentication result received from the second SN 108 to the local master (S1509).
The local master transfers the user ID authentication result received from the first SN 107 to the terminal (S1510).

端末のプレイヤ111は、ローカルマスタから受信したユーザID認証結果を見て、正常に認証が行われたか否かを確認する(S1511)。正常に認証できなかった場合(S1511のNO)は表示部206にエラーメッセージを表示した(S1512)後、再びログイン画面を表示する(図14のS1419)。
正常に認証できた場合(S1511のYES)は、メニュー取得シーケンスに移行する。
以上が、個人認証シーケンスである。
The player 111 of the terminal looks at the user ID authentication result received from the local master and confirms whether or not the authentication has been normally performed (S1511). If authentication has failed (NO in S1511), an error message is displayed on the display unit 206 (S1512), and then a login screen is displayed again (S1419 in FIG. 14).
If the authentication is successful (YES in S1511), the process proceeds to the menu acquisition sequence.
The above is the personal authentication sequence.

個人認証シーケンスが正常終了すると、これ以降は(ステップS1507において)ユーザIDとSSIDの紐付けが行われたこと、つまり「誰がどの端末を使用しているのか」が明らかになったことを意味する。したがって、SSIDの認証を行うと、機器の特定と個人認証も同時に実行出来ることとなる。個人認証情報は固定であるが、SSIDはローカルマスタが起動する度に変化するので、セキュリティの向上に寄与する。   If the personal authentication sequence ends normally, it means that after that (in step S1507) the user ID and the SSID are linked, that is, “who is using which terminal”. . Therefore, when SSID authentication is performed, device identification and personal authentication can be performed simultaneously. Although the personal authentication information is fixed, the SSID changes every time the local master is activated, which contributes to improving security.

図15(b)及び図16は、メニュー取得シーケンスを示す。
端末のプレイヤ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)。
FIG. 15B and FIG. 16 show a menu acquisition sequence.
The player 111 of the terminal looks at the user ID authentication result received from the local master and confirms whether or not the authentication has been normally performed (S1511). The conductor 115 is requested to authenticate the SSID through the control session (S1513).
The SSID authentication request is transferred to the local master (S1514), the first SN 107 (S1515), and the second SN 108 (S1516) and reaches the conductor 115. The conductor 115 searches the SSID table 1113 with the received SSID (S1517), and returns the search result (SSID authentication result) to the partner that has just received it, that is, the second SN 108 (S1518).
The SSID authentication result returned from the conductor 115 is transferred to the second SN 108 (S1519), the first SN 107 (S1520), and the local master (S1521), and returned to the player 111 of the terminal.
The player 111 of the terminal looks at the SSID authentication result received from the local master and confirms whether or not the authentication has been normally performed (S1522). If authentication has failed (NO in S1522), an error message is displayed on the display unit 206 (S1523), and then a login screen is displayed again (S1419 in FIG. 14).

図16を参照して、メニュー取得シーケンスの説明を続ける。
ステップ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)と転送される。
The description of the menu acquisition sequence will be continued with reference to FIG.
If the authentication is successful in step S1511 (YES in S1511), the player 111 requests the conductor 115 to transmit the service menu information 614 (S1624).
The service menu information request transmitted by the player 111 is transferred to the local master (S1625), the first SN 107 (S1626), and the second SN 108 (S1627) and reaches the conductor 115. The conductor 115 searches the SSID table 1113, the user server master 1108, and the server master 1107 (S1628), and returns the search result (service menu information 614) to the partner who has just received it, that is, the second SN 108 (S1629). At this time, the restriction setting information 610 is also read from the user master 1106 and returned together with the service menu information 614.
The service menu information 614 and the restriction setting information 610 returned from the conductor 115 are transferred to the second SN 108 (S1630) and the first SN 107 (S1631).

ローカルマスタは、第一SN107からサービスメニュー情報614と制限設定情報610を受信すると、内部に記憶して、端末に転送する(S1632)。そして、サービスメニュー情報614と制限設定情報610に基づいて種々の設定を行う(S1633)。
端末のプレイヤ111は、ローカルマスタからサービスメニュー情報614と制限設定情報610を受信すると、内部に記憶する(S1634)。そして、サービスメニュー情報614と制限設定情報610に基づいて種々の設定を行う(S1635)。
Upon receiving the service menu information 614 and the restriction setting information 610 from the first SN 107, the local master stores them internally and transfers them to the terminal (S1632). Then, various settings are made based on the service menu information 614 and the restriction setting information 610 (S1633).
Upon receiving the service menu information 614 and the restriction setting information 610 from the local master, the player 111 of the terminal stores them internally (S1634). Then, various settings are made based on the service menu information 614 and the restriction setting information 610 (S1635).

ステップS1624からステップS1635迄の動作(P1636)は、サービスに対応するプロトコル毎に繰り返して実行される(P1637)。例えば、ユーザが利用可能なプロトコルがRDPとHTTPである場合は、先ずRDPについて手順P1636が実行された後、次にHTTPについて手順P1636が実行される。
ユーザが享受できる全てのサービスに対応するサービスメニュー情報614の取得が完遂すると、端末はメニューを表示部206に表示する(S1638)。
以上が、メニュー取得シーケンスである。
The operation from step S1624 to step S1635 (P1636) is repeatedly executed for each protocol corresponding to the service (P1637). For example, when the protocols usable by the user are RDP and HTTP, first, the procedure P1636 is executed for RDP, and then the procedure P1636 is executed for HTTP.
When the acquisition of the service menu information 614 corresponding to all services that the user can enjoy is completed, the terminal displays the menu on the display unit 206 (S1638).
The above is the menu acquisition sequence.

[VPC確立シーケンス及びVPCデータ転送状態]
図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)。
[VPC establishment sequence and VPC data transfer status]
FIG. 17 is a time chart of the VPC establishment sequence. FIG. 18 is a time chart of the VPC establishment sequence and the VPC data transfer state. It is the detail of step S1304 and step S1305 of FIG.
When the user starts an application program by operating an icon formed by the dedicated shell 208 of the player 111 of the terminal and displayed on the display unit 206, a TCP SYN packet is generated from the application program (S1701). When the packet monitoring unit 615 of the local master captures the TCP SYN packet, the local master packet monitoring unit 615 determines the server 103 and the protocol requested by the application program from the destination IP address and the port number of the TCP SYN packet. Then, it requests the conductor 115 to acquire route information. However, since authentication is required prior to the acquisition of the route information, first, the conductor 115 is requested to perform SSID authentication (S1702).

ステップS1702において、ローカルマスタのパケット監視部615は、TCP SYNパケットの宛先IPアドレス及びポート番号から、アプリケーションプログラムが要求するサーバ103とプロトコルを判別する必要がある。したがって、サービスメニュー情報614に列挙されるサービスの各レコードは、宛先IPアドレス及びポート番号の組み合わせにおいて一意でなければならない。ある一つのプロトコルで複数のサーバが提供するサービスをユーザに提供する場合は、仮想IPアドレスを異ならせるか、可能であればポート番号を異ならせることによって、サービスメニュー情報614の各レコードの一意性を確保する。   In step S1702, the packet monitoring unit 615 of the local master needs to determine the server 103 and protocol requested by the application program from the destination IP address and port number of the TCP SYN packet. Therefore, each service record listed in the service menu information 614 must be unique in the combination of the destination IP address and the port number. When providing a user with a service provided by a plurality of servers using a single protocol, the uniqueness of each record of the service menu information 614 is set by changing the virtual IP address or, if possible, the port number. Secure.

ローカルマスタから発されるSSID認証要求は、第一SN107(S1703)、第二SN108(S1704)と転送され、コンダクタ115に到達する。コンダクタ115はSSIDテーブル1113を検索し(S1705)、SSID認証結果を返信する(S1706)。SSID認証結果は、第二SN108(S1707)、第一SN107(S1708)と転送され、ローカルマスタに到達する。
ローカルマスタは、SSID認証結果が異常値であれば(S1709のNO)、端末にその旨を報告する。この場合、端末は表示部206にエラーを表示する(S1710)。
SSID認証結果が正常値であれば(S1709のYES)、ステップS1702から始まったSSID認証シーケンスは終了する。
The SSID authentication request issued from the local master is transferred to the first SN 107 (S 1703) and the second SN 108 (S 1704), and reaches the conductor 115. The conductor 115 searches the SSID table 1113 (S1705), and returns an SSID authentication result (S1706). The SSID authentication result is transferred to the second SN 108 (S1707) and the first SN 107 (S1708), and reaches the local master.
If the SSID authentication result is an abnormal value (NO in S1709), the local master reports the fact to the terminal. In this case, the terminal displays an error on the display unit 206 (S1710).
If the SSID authentication result is a normal value (YES in S1709), the SSID authentication sequence started from step S1702 ends.

ローカルマスタは、SSID認証シーケンスが正常終了したことを認識すると、次にコンダクタ115に対して目的とするサーバ103への経路情報の取得を要求する(S1711)。
ローカルマスタから発される経路情報取得要求は、第一SN107(S1712)、第二SN108(S1713)と転送され、コンダクタ115に到達する。
コンダクタ115の経路設定部1104は、ダイクストラ法等の周知の経路探索アルゴリズムを用いて、ローカルマスタからサーバに到達するための経路情報を作成し、返信する(S1715)。経路情報は、第二SN108(S1716)、第一SN107(S1717)と転送され、ローカルマスタに到達する。ローカルマスタは、受信した経路情報を一旦RAMに記憶する(S1718)。この時点で、ステップS1711から始まった経路情報取得シーケンスは終了する。
When the local master recognizes that the SSID authentication sequence has been normally completed, the local master next requests the conductor 115 to acquire route information to the target server 103 (S1711).
The route information acquisition request issued from the local master is transferred to the first SN 107 (S 1712) and the second SN 108 (S 1713) and reaches the conductor 115.
The route setting unit 1104 of the conductor 115 creates route information for reaching the server from the local master using a well-known route search algorithm such as Dijkstra method, and sends it back (S1715). The route information is transferred to the second SN 108 (S1716) and the first SN 107 (S1717), and reaches the local master. The local master temporarily stores the received route information in the RAM (S1718). At this point, the route information acquisition sequence starting from step S1711 ends.

図18を参照して、VPC確立シーケンスの説明を続ける。
ローカルマスタは、コンダクタ115から受信した経路情報を基に、VPC確立要求コマンドを作成し、経路情報に基づいて最初のステッピングノードである第一SN107に送信する(S1819)。
The description of the VPC establishment sequence is continued with reference to FIG.
The local master creates a VPC establishment request command based on the path information received from the conductor 115, and transmits it to the first SN 107 that is the first stepping node based on the path information (S1819).

第一SN107は、ローカルマスタからVPC確立要求コマンドを受信すると、自らが経路情報の最後であるか否かを確認する。経路情報の最後のステッピングノードでないことが判ったら、ローカルマスタと経路情報の隣に位置する第二SN108との間に静的NATを設定する。そして、経路情報に基づいて最初のステッピングノードである第二SN108に送信する(S1820)。   When receiving the VPC establishment request command from the local master, the first SN 107 checks whether or not it is the last of the route information. If it is determined that the route information is not the last stepping node, a static NAT is set between the local master and the second SN 108 located next to the route information. Then, based on the route information, it is transmitted to the second SN 108 which is the first stepping node (S1820).

第二SN108は、第一SN107からVPC確立要求コマンドを受信すると、自らが経路情報の最後であるか否かを確認する。経路情報の最後のステッピングノードでないことが判ったら、第一SN107と経路情報の隣に位置する第三SN112との間に静的NATを設定する。そして、経路情報に基づいて最初のステッピングノードである第三SN112に送信する(S1821)。   When the second SN 108 receives the VPC establishment request command from the first SN 107, the second SN 108 checks whether or not it is the last of the route information. If it is determined that the route information is not the last stepping node, a static NAT is set between the first SN 107 and the third SN 112 located next to the route information. Then, based on the route information, it transmits to the third SN 112, which is the first stepping node (S1821).

第三SN112は、第二SN108からVPC確立要求コマンドを受信すると、自らが経路情報の最後であるか否かを確認する。経路情報の最後のステッピングノードでないことが判ったら、第二SN108と経路情報の隣に位置する第四SN114との間に静的NATを設定する。そして、経路情報に基づいて最初のステッピングノードである第四SN114に送信する(S1822)。   When receiving the VPC establishment request command from the second SN 108, the third SN 112 checks whether or not it is the last of the route information. If it is determined that it is not the last stepping node of the route information, a static NAT is set between the second SN 108 and the fourth SN 114 located next to the route information. Then, based on the route information, it transmits to the fourth SN 114, which is the first stepping node (S1822).

第四SN114は、第三SN112からVPC確立要求コマンドを受信すると、自らが経路情報の最後であるか否かを確認する。経路情報の最後のステッピングノードであることが判ったら(S1823)、VPC確立要求コマンドに含まれているSSIDを用いて、コンダクタ115に対し、SSID認証を要求する(S1824)。   When receiving the VPC establishment request command from the third SN 112, the fourth SN 114 checks whether or not it is the last of the route information. If it is determined that it is the last stepping node in the path information (S1823), the SSID included in the VPC establishment request command is used to request the conductor 115 for SSID authentication (S1824).

第四SN114から発されるSSID認証要求は、第三SN112(S1825)によって転送され、コンダクタ115に到達する。コンダクタ115はSSIDテーブル1113を検索し(S1826)、SSID認証結果を返信する(S1827)。SSID認証結果は、第三SN112(S1828)によって転送され、第四SN114に到達する。
第四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に到達する。
The SSID authentication request issued from the fourth SN 114 is transferred by the third SN 112 (S1825) and reaches the conductor 115. The conductor 115 searches the SSID table 1113 (S1826), and returns an SSID authentication result (S1827). The SSID authentication result is transferred by the third SN 112 (S1828) and reaches the fourth SN 114.
If the SSID authentication result is an abnormal value (NO in S1829), the fourth SN 114 ends abnormally (S1830). In this case, the NAT setting set by the first SN 107 in step S1820, the second SN 108 in step S1821, and the third SN 112 in step S1822 disappears when the timer set at the time of NAT setting times out. To do.
If the SSID authentication result is a normal value (YES in S1829), then the IP address of the server 103, which is information necessary for setting the reverse proxy for the target server 103 for the conductor 115, A port number and a protocol type are requested (S1831).
The server information request issued from the fourth SN 114 is transferred by the third SN 112 (S1832) and reaches the conductor 115.
Upon receiving the server information request, the path setting unit 1104 of the conductor 115 searches the path table 1114 using the virtual server IDX included in the server information request, and determines the IP address, port number, and protocol type of the server 103. It returns to 4th SN114 (S1834).
The server information transmitted by the conductor 115 is transferred by the third SN 112 (S1835) and reaches the fourth SN 114.
The fourth SN 114 sets a reverse proxy between the third SN 112 and the server 103 using the IP address, port number, and protocol type of the server 103 (S1836). Then, a TCP SYN packet is transmitted to the host name or IP address and port number of the server 103 (S1837).
Thus, the TCP SYN packet issued by the terminal application program in step S1701 in FIG. 17 reaches the server 103 in step S1838.

第四SN114からTCP SYNパケットを受信したサーバ103は、VPC等とは一切関係なく、周知のTCPの3ウェイハンドシェイクに則り、TCP ACK+SYNパケットを、第四SN114へ返信する(S1826)。TCP ACK+SYNパケットは、第四SN114、第三SN112、第二SN108、第一SN107及びローカルマスタに仮に設定されている、データセッション(VPCトンネル)を通過する(S1839からS1845へ)。   The server 103 that has received the TCP SYN packet from the fourth SN 114 returns a TCP ACK + SYN packet to the fourth SN 114 in accordance with the well-known TCP three-way handshake regardless of the VPC or the like (S1826). The TCP ACK + SYN packet passes through the data session (VPC tunnel) temporarily set in the fourth SN 114, the third SN 112, the second SN 108, the first SN 107, and the local master (from S1839 to S1845).

第四SN114のパケットモニタ905は、データセッションを通過するTCP ACK+SYNパケットを検出すると、その旨をデータセッション管理部910に報告する。データセッション管理部910は、該当するリバースプロキシに設定されているタイマを停止し、ステップS1836にて仮に実行したリバースプロキシを確定させる(S1840)。   When the packet monitor 905 of the fourth SN 114 detects a TCP ACK + SYN packet passing through the data session, the packet monitor 905 reports that fact to the data session management unit 910. The data session management unit 910 stops the timer set for the corresponding reverse proxy, and determines the reverse proxy temporarily executed in step S1836 (S1840).

第三SN112のパケットモニタ905は、データセッションを通過するTCP ACK+SYNパケットを検出すると、その旨をデータセッション管理部910に報告する。データセッション管理部910は、該当する静的NATに設定されているタイマを停止し、ステップS1822にて仮に実行した静的NATを確定させる(S1841)。   When the packet monitor 905 of the third SN 112 detects a TCP ACK + SYN packet passing through the data session, the packet monitor 905 reports that fact to the data session management unit 910. The data session management unit 910 stops the timer set for the corresponding static NAT, and determines the static NAT temporarily executed in step S1822 (S1841).

第二SN108のパケットモニタ905は、データセッションを通過するTCP ACK+SYNパケットを検出すると、その旨をデータセッション管理部910に報告する。データセッション管理部910は、該当する静的NATに設定されているタイマを停止し、ステップS1821にて仮に実行した静的NATを確定させる(S1842)。   When the packet monitor 905 of the second SN 108 detects a TCP ACK + SYN packet passing through the data session, the packet monitor 905 reports that fact to the data session management unit 910. The data session management unit 910 stops the timer set for the corresponding static NAT, and determines the static NAT temporarily executed in step S1821 (S1842).

第一SN107のパケットモニタ905は、データセッションを通過するTCP ACK+SYNパケットを検出すると、その旨をデータセッション管理部910に報告する。データセッション管理部910は、該当する静的NATに設定されているタイマを停止し、ステップS1820にて仮に実行した静的NATを確定させる(S1843)。   When the packet monitor 905 of the first SN 107 detects a TCP ACK + SYN packet passing through the data session, the packet monitor 905 reports that fact to the data session management unit 910. The data session management unit 910 stops the timer set for the corresponding static NAT, and determines the static NAT temporarily executed in step S1820 (S1843).

ローカルマスタのパケット監視部615は、データセッションを通過するTCP ACK+SYNパケットを検出すると、その旨をコントロールセッション管理部609に報告する。コントロールセッション管理部609は、該当する静的NATを確定させる(S1844)。
この時点で、端末とサーバ103の間に存在する、ローカルマスタ、第一SN107、第二SN108、第三SN112及び第四SN114が形成するVPCトンネルが確定する(S1846)。
When the packet monitoring unit 615 of the local master detects a TCP ACK + SYN packet passing through the data session, the packet monitoring unit 615 reports that fact to the control session management unit 609. The control session management unit 609 determines the corresponding static NAT (S1844).
At this time, the VPC tunnel formed by the local master, the first SN 107, the second SN 108, the third SN 112, and the fourth SN 114 existing between the terminal and the server 103 is determined (S1846).

端末は、サーバ103からVPCトンネルを介して返信されたTCP ACK+SYNパケットを受信すると、周知のTCPの3ウェイハンドシェイクに則り、TCP ACKパケットを、VPCトンネルを介してサーバ103へ返信する(S1845)。これ以降は、端末はTCP/IP第四層(アプリケーション)に従う処理でVPCトンネルを介してサーバ103にアクセスし(S1847)、サーバ103も同様にクライアントのアクセスに応答する(S1848)。   When receiving the TCP ACK + SYN packet returned from the server 103 via the VPC tunnel, the terminal returns a TCP ACK packet to the server 103 via the VPC tunnel in accordance with the well-known TCP 3-way handshake (S1845). . Thereafter, the terminal accesses the server 103 through the VPC tunnel by processing according to the TCP / IP layer 4 (application) (S1847), and the server 103 responds to the client access in the same manner (S1848).

図19は、VPC確立シーケンスに流れるパケット及びVPC確立要求コマンドの概要を示す概略図である。
第一端末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を確定させる。
FIG. 19 is a schematic diagram showing an outline of a packet flowing in the VPC establishment sequence and a VPC establishment request command.
The TCP SYN packet transmitted from the first terminal 105 is transmitted in the data session.
When receiving the TCP SYN packet, the local master BOX 109 creates a VPC establishment request command and transmits it to the first SN 107 through the control session.
The path information included in the VPC establishment request command is composed of the host name or IP address of the stepping node.
When receiving the VPC establishment request command received in the control session, the fourth SN 114, which is the final point of the stepping node that forms the VPC tunnel, transmits a TCP SYN packet from the data session to the server 103.
When receiving the TCP SYN packet, the server 103 returns a TCP ACK + SYN packet through the data session. This TCP ACK + SYN packet reaches the first terminal 105 through a data session consisting of a reverse proxy and a static NAT that has already been formed in each stepping node, that is, a VPC tunnel. Then, this TCP ACK + SYN packet determines the reverse proxy or static NAT of each stepping node that is in the temporary setting state.

図17、図18及び図19を見て判るように、本実施形態のネットワークシステムは、周知のTCPの3ウェイハンドシェイクの、最初のTCP SYNパケットの転送に介在する。
ローカルマスタが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)。
As can be seen from FIG. 17, FIG. 18, and FIG. 19, the network system of the present embodiment intervenes in the transfer of the first TCP SYN packet in the well-known TCP 3-way handshake.
When the local master detects the TCP SYN packet (S1702), it requests path information from the conductor 115 (S1711) after the SSID authentication sequence (from S1702 to S1709).
Then, the conductor 115 creates the best route information at that time (S1714) and transmits it to the local master (S1715).
The local master transmits a VPC establishment command including route information to the stepping node described at the beginning of the route information (S1819).
The stepping node that has not received the VPC establishment command and that is not the last of the routing information transfers the command to the next stepping node according to the routing information included in the command and sets a static NAT in the data session (S1820, S1821, S1822).
When the stepping node located at the end of the route information that has received the VPC establishment command recognizes that it is the end of the route information (S1823), the SSID authentication sequence ( After executing S1824 to S1829, server information is requested from the conductor 115 (S1831). Then, the conductor 115 searches the server information (S1833) and transmits it to the stepping node located at the end of the route information (S1834).
The stepping node located at the end of the path information sets a reverse proxy based on the server information (S1836), and transmits a TCP SYN packet to the server (S1837).

従来技術のVPN製品では、アプリケーションプログラムに介在する形式で、ユーザ認証を行い、VPNのトンネルを形成する。このため、VPN接続したいアプリケーションプログラムが増えれば、そのプログラムに対応する個人認証のためのプログラム等を別途用意する必要がある。
しかし、本実施形態のネットワークシステムでは、機器認証及び個人認証と、VPCトンネルを形成する手順が完全に分離している。最初の認証手順で機器認証及び個人認証が成功すれば、その後はサービスメニュー情報614に列挙されているサーバに接続するアプリケーションプログラムは、何ら特別なプログラムを伴う必要もなく、単に指定されたコマンドライン文字列に記述されているリソースに対してアクセスを行えばよい。VPC確立シーケンスではSSIDを用いた認証が、VPCトンネルの始端であるローカルマスタと、終端に位置するステッピングノードで実行されるが、ユーザもアプリケーションプログラムも全くこれを意識する必要はない。
In the VPN product of the prior art, user authentication is performed in a form intervening in an application program, and a VPN tunnel is formed. For this reason, if the number of application programs to be connected via VPN increases, it is necessary to prepare a program for personal authentication corresponding to the program.
However, in the network system of the present embodiment, the device authentication and personal authentication are completely separated from the procedure for forming the VPC tunnel. If the device authentication and the personal authentication are successful in the initial authentication procedure, then the application program for connecting to the server listed in the service menu information 614 does not need to be accompanied by any special program, and is simply a designated command line. What is necessary is just to access the resource described in the character string. In the VPC establishment sequence, authentication using the SSID is executed by the local master that is the beginning of the VPC tunnel and the stepping node that is located at the end, but neither the user nor the application program needs to be aware of this.

[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)。
[VPC disconnection sequence]
FIG. 20 is a time chart showing the VPC disconnection sequence when the communication protocol passing through the VPC tunnel is connection-type communication. It is a detail of step S1306 of FIG.
When the communication protocol that passes through the VPC tunnel is a connectionless type such as HTTP, it is necessary to transfer all packets including TCP FIN packets without delay. However, in the case of a connection type such as RDP or SSH. Means that the application program is terminated when the TCP FIN packet is transmitted. That is, without sending a dedicated command for disconnection through the control session, it is possible to monitor the normal TCP communication end procedure and trigger the VPC tunnel end.
When the user ends the communication by operating the application program of the terminal, the application program performs a known communication end procedure in TCP (S2001). At this time, when the TCP FIN packet transmitted by the application program reaches the local master, the local master also performs a communication end procedure in TCP (S2002). When the local master finishes the TCP communication end procedure, the local master cancels the static NAT setting that has formed the VPC tunnel (S2003).

ローカルマスタは、第一SN107に対してもTCPにおける通信終了の手続きを行う。この時にローカルマスタが送信するTCP FINパケットが第一SN107に到達すると、第一SN107もTCPにおける通信終了の手続きを行う(S2004)。第一SN107は、TCPの通信終了の手続きを終えると、VPCトンネルを形成していた静的NATの設定を解除する(S2005)。   The local master also performs a TCP communication end procedure for the first SN 107. At this time, when the TCP FIN packet transmitted by the local master reaches the first SN 107, the first SN 107 also performs a procedure for terminating communication in TCP (S2004). When the first SN 107 finishes the TCP communication end procedure, the first SN 107 cancels the setting of the static NAT forming the VPC tunnel (S2005).

第一SN107は、第二SN108に対してもTCPにおける通信終了の手続きを行う。この時に第一SN107が送信するTCP FINパケットが第二SN108に到達すると、第二SN108もTCPにおける通信終了の手続きを行う(S2006)。第二SN108は、TCPの通信終了の手続きを終えると、VPCトンネルを形成していた静的NATの設定を解除する(S2007)。   The first SN 107 also performs a communication end procedure in TCP for the second SN 108. At this time, when the TCP FIN packet transmitted by the first SN 107 reaches the second SN 108, the second SN 108 also performs a procedure for terminating communication in TCP (S2006). When the second SN 108 finishes the TCP communication termination procedure, the second SN 108 cancels the setting of the static NAT forming the VPC tunnel (S2007).

第二SN108は、第三SN112に対してもTCPにおける通信終了の手続きを行う。この時に第二SN108が送信するTCP FINパケットが第三SN112に到達すると、第三SN112もTCPにおける通信終了の手続きを行う(S2008)。第三SN112は、TCPの通信終了の手続きを終えると、VPCトンネルを形成していた静的NATの設定を解除する(S2009)。   The second SN 108 also performs a communication end procedure in TCP for the third SN 112. At this time, when the TCP FIN packet transmitted by the second SN 108 reaches the third SN 112, the third SN 112 also performs a TCP communication end procedure (S2008). When the third SN 112 finishes the TCP communication end procedure, the third SN 112 cancels the setting of the static NAT forming the VPC tunnel (S2009).

第三SN112は、第四SN114に対してもTCPにおける通信終了の手続きを行う。この時に第三SN112が送信するTCP FINパケットが第四SN114に到達すると、第四SN114もTCPにおける通信終了の手続きを行う(S2010)。第四SN114は、TCPの通信終了の手続きを終えると、VPCトンネルを形成していたリバースプロキシの設定を解除する(S2011)。
サーバ103は、第四SN114が送信するTCP FINパケットに呼応して、通信の終了の手続きを行う(S2012)。
The third SN 112 performs a TCP communication end procedure for the fourth SN 114 as well. At this time, when the TCP FIN packet transmitted by the third SN 112 reaches the fourth SN 114, the fourth SN 114 also performs a communication end procedure in TCP (S2010). When the fourth SN 114 finishes the TCP communication end procedure, the fourth SN 114 cancels the setting of the reverse proxy that formed the VPC tunnel (S2011).
The server 103 performs a communication termination procedure in response to the TCP FIN packet transmitted by the fourth SN 114 (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)。
[User logout sequence and local master shutdown]
FIGS. 21A and 21B are time charts showing a user logout sequence and a local master shutdown. It is the detail of step S1307 and step S1308 of FIG.
When the user wants to stop using the terminal, the user operates the dedicated shell 208 of the terminal to declare logout (S2101). The logout declaration is transmitted to the conductor 115 through the control session (S2102), transferred to the first SN 107 (S2103) and the second SN 108 (S2104), and then reaches the terminal (S2105). The conductor 115 deletes the user ID of the user described in the SSID table 1113 as the user logout process (S2105). That is, the association between the SSID and the user ID is released. The logout process completion report is transmitted from the conductor 115 (S2106), and reaches the terminal via the second SN 108 (S2107), the first SN 107 (S2108), and the local master (S2109) (S2111).
At this time, the local master receives the user logout and discards the service menu information 614 and the restriction setting information 610 (S2110).
Similarly, the player 111 of the terminal receives the user logout and discards the service menu information 614 and the restriction setting information 610 (S2112).

端末を通じてローカルマスタBOX109の電源を落とすか、ソフトローカルマスタ113がインストールされている端末をシャットダウンする等でローカルマスタの動作を終了させると(S2113)、その情報は第一SN107(S2114)及び第二SN108(S2115)を通じてコンダクタ115に通知される。コンダクタ115は、この通知を受けて、SSIDテーブル1113のSSIDを抹消する(S2116)。   When the local master BOX 109 is turned off through the terminal or the operation of the local master is terminated by shutting down the terminal in which the soft local master 113 is installed (S2113), the information includes the first SN 107 (S2114) and the second The conductor 115 is notified through the SN 108 (S2115). In response to this notification, the conductor 115 deletes the SSID from the SSID table 1113 (S2116).

以上の説明から解るように、本実施形態のネットワークシステム101では、端末のアプリケーションプログラムがサーバ103へ接続しようとすると、初めてコントロールセッションとは異なるポートでデータセッションを形成する。端末が接続しようとするサーバが異なれば、その都度異なるデータセッションが形成される。コンダクタ115がユーザ毎に利用できるサーバ103の資源を経路テーブル1114で管理しているので、データセッションの重複等の事故を引き起こすことなく、多数のユーザに対して容易に仮想接続サービスを提供することができる。   As can be understood from the above description, in the network system 101 of the present embodiment, when a terminal application program tries to connect to the server 103, a data session is formed with a port different from the control session for the first time. If the server to which the terminal is to connect is different, a different data session is formed each time. Since the resource of the server 103 that the conductor 115 can use for each user is managed by the routing table 1114, a virtual connection service can be easily provided to a large number of users without causing an accident such as duplication of data sessions. Can do.

本実施形態は、以下のような応用例が可能である。
(1)コンダクタ115の機器特定IDマスタ1105及びユーザマスタ1106は、コンダクタ115とは異なるサーバ103に置いて、ネットワークを通じて認証処理部1103が参照してもよい。
This embodiment can be applied as follows.
(1) The device identification ID master 1105 and the user master 1106 of the conductor 115 may be placed on a server 103 different from the conductor 115 and referred to by the authentication processing unit 1103 through a network.

(2)ローカルマスタが複数のコンダクタ115に対して同時にアクセスすることもできる。この場合、ローカルマスタは後から接続するステッピングノードに対して、個人認証を完了した直後に、既に先に接続済みのステッピングノードで割り当て済みの端末用ターゲットアドレスを報告し、それぞれのステッピングノードで端末用ターゲットアドレスが重複しないように調停する必要がある。   (2) The local master can access the plurality of conductors 115 simultaneously. In this case, immediately after completing the personal authentication, the local master reports the target address for the terminal that has already been assigned by the previously connected stepping node, and the terminal at each stepping node. Arbitration is required so that the target address does not overlap.

(3)ソフトローカルマスタ113の機能構成を、ローカルマスタBOX109と同等の構成にすることができる。
図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」という名称で備わっている。
(3) The functional configuration of the soft local master 113 can be the same as that of the local master BOX 109.
The soft local master 113 in FIG. 7 uses the loopback virtual NIC 701 for access using the VPC. However, instead of the loopback virtual NIC 701, the software local master 113 is configured by software like the second NIC 601 of the local master box 109 in FIG. It can be replaced with the NIC that performs. In the case of Windows (registered trademark), the NIC of such software is publicly known such as TAP-Win32 (http://cipe-win32.sourceforge.net/) in addition to the software product disclosed in Non-Patent Document 1. There are several programs. In the case of Linux (registered trademark), the kernel driver is provided with the name “Universal TUN / TAP device driver”.

(4)端末が据え置き型であり、LAN102から移動する可能性が極めて低い場合は、プレイヤ111のAPIフック処理部813を稼働させて、端末の挙動を制限しなくても良い。この場合、ネットワークシステム101にとって、プレイヤ111は、サービスメニュー情報614を保持し、専用シェル208を起動する機能が求められる。   (4) If the terminal is stationary and the possibility of moving from the LAN 102 is very low, the API hook processing unit 813 of the player 111 may not be operated to limit the behavior of the terminal. In this case, the player 111 is required to have a function of holding the service menu information 614 and starting the dedicated shell 208 for the network system 101.

(5)ステッピングノードは、自身が接続されているネットワーク上にIPリーチャブルなサーバが存在しない場合は、リバースプロキシを起動する機能を持たなくても良い。   (5) The stepping node may not have the function of starting the reverse proxy when there is no IP reachable server on the network to which the stepping node is connected.

本実施形態では、ネットワークドライバ806と、これに使用する静的NAT形成装置(ローカルマスタBOX109、ソフトローカルマスタ113)、端末管理装置(プレイヤ111)、リバースプロキシサーバ(ステッピングノード)、仮想ネットワーク接続制御装置(コンダクタ115)を開示した。
ローカルマスタBOX109或はソフトローカルマスタ113とステッピングノードがコントロールセッションを通じて機器認証及び個人認証を実行した後、端末のアプリケーションプログラムがコンダクタ115の先に存在するプライベートネットワーク内のサーバ103に対する接続を要求したら、ローカルマスタBOX109或はソフトローカルマスタ113及び経路途中のステッピングノードは静的NATを、サーバ103直近のステッピングノードはリバースプロキシを設定して、端末とサーバ103との間にデータセッションを形成する。このようにネットワークシステム101を構築することで、プライベートアドレスの衝突のない、仮想的な接続形態で、直接的にはIPリーチャブルでない端末とサーバ103との接続が実現できる。更に、接続の際にはプレイヤ111が端末の挙動を強力に制限するので、セキュリティ面の脆弱性を保護できる。
In this embodiment, the network driver 806 and the static NAT forming device (local master BOX 109, soft local master 113), terminal management device (player 111), reverse proxy server (stepping node), and virtual network connection control used therefor An apparatus (conductor 115) has been disclosed.
After the local master BOX 109 or the soft local master 113 and the stepping node perform device authentication and personal authentication through the control session, the terminal application program requests connection to the server 103 in the private network existing ahead of the conductor 115. The local master BOX 109 or the soft local master 113 and the stepping node in the middle of the route set a static NAT, and the stepping node closest to the server 103 sets a reverse proxy to form a data session between the terminal and the server 103. By constructing the network system 101 in this way, it is possible to realize a connection between the server 103 and a terminal that is not directly IP reachable in a virtual connection form without private address collision. Furthermore, since the player 111 strongly restricts the behavior of the terminal at the time of connection, security vulnerability can be protected.

一般的に、サーバを構成する際のBSDソケットプログラミングの作法は、クライアントの接続を待機するポートを開けて、クライアントが接続してきたら、次のクライアントの接続を待つために再度ポートを開ける、という作法である。つまり、サーバは常時特定のポートが開いていることとなる。ポートが開けっ放しである、ということは、悪意ある第三者がそのポートを通じて当該サーバプログラムの脆弱性を探査するきっかけになり得る。   Generally, the BSD socket programming method for configuring a server is to open a port that waits for a client connection, and when a client is connected, open the port again to wait for the next client connection. It is. In other words, the server always has a specific port open. If the port is left open, a malicious third party can search for the vulnerability of the server program through the port.

発明者は、ステッピングノードが擁する複数のプロトコルに対応する複数のリバースプロキシプログラムに存在するかもしれない脆弱性を、第三者から突かれる可能性を排除するために、常時開けるポートと実際に端末とデータとを接続するポートを別にした。ステッピングノードが形成するデータセッションは、本来のBSDソケットプログラミングにおけるサーバの作法とは異なり、データセッションが確立しても同じデータセッションに該当するポートは開かない。あくまでも端末から接続要求がない限り、データセッションは形成されないし、そのためのポートも開くことはない。第三者がステッピングノードをポートスキャンすると、コントロールセッションのためのポートしか開いていないように見える。   The inventor has a port that is always open and an actual terminal in order to eliminate the possibility of being exploited by a third party for vulnerabilities that may exist in a plurality of reverse proxy programs corresponding to a plurality of protocols possessed by the stepping node. Separated the port for connecting data. The data session formed by the stepping node is different from the server operation in the original BSD socket programming, and even if the data session is established, the port corresponding to the same data session is not opened. As long as there is no connection request from the terminal, a data session is not formed and a port for that purpose is not opened. When a third party port scans a stepping node, it appears that only the port for the control session is open.

更に、本実施形態に係るネットワークシステム101に接続されるローカルマスタには、各ローカルマスタを一意に識別するための機器特定ID608が与えられている。この機器特定ID608は、IPアドレスとは別であり、コントロールセッションで認証情報としてのみ使用される。
ここで翻って、本実施形態のネットワークシステム101のデータセッションに流れるパケットについて考察し、説明する。
Furthermore, a device identification ID 608 for uniquely identifying each local master is given to the local master connected to the network system 101 according to the present embodiment. This device identification ID 608 is different from the IP address and is used only as authentication information in the control session.
Here, the packet flowing in the data session of the network system 101 of this embodiment will be considered and described.

端末から発されるパケットは、ソフトローカルマスタ113の場合、送信元IPアドレスはループバックアドレス(127.0.0.1)であり、送信先IPアドレスはループバックアドレスが属するクラスCのサブネットに含まれるアドレス(127.0.0.x)である。ローカルマスタBOX109の場合、送信元IPアドレスはプライベートアドレス(一例として192.168.0.1)であり、送信先IPアドレスはプライベートアドレスが属するクラスCのサブネットに含まれるアドレス(192.168.0.x)である。
これらパケットは、ソフトローカルマスタ113又はローカルマスタBOX109で、静的NATによって送信元IPアドレス及び送信先IPアドレス(と、必要であればポート番号も)が書き換えられる。送信元IPアドレスはDHCPサーバからソフトローカルマスタ113又はローカルマスタBOX109に付与されたIPアドレスが、送信先IPアドレスとポート番号は、直近のステッピングノードのIPアドレスとデータセッションのためのポート番号に、それぞれ書き換えられる。
In the case of the soft local master 113, the packet issued from the terminal is the loopback address (127.0.0.1) as the transmission source IP address, and the transmission destination IP address is in the class C subnet to which the loopback address belongs. It is the included address (127.0.0.x). In the case of the local master box 109, the source IP address is a private address (for example, 192.168.0.1), and the destination IP address is an address (192.168.8.0) included in the class C subnet to which the private address belongs. X).
In these packets, the soft local master 113 or the local master BOX 109 rewrites the transmission source IP address and the transmission destination IP address (and the port number if necessary) by static NAT. The source IP address is the IP address assigned to the soft local master 113 or the local master BOX 109 from the DHCP server, the destination IP address and the port number are the IP address of the nearest stepping node and the port number for the data session, Each can be rewritten.

更に、これらパケットは、複数のステッピングノードを通過する。パケットは、VPCトンネルを構成するステッピングノードが設定する静的NAT或はリバースプロキシによって、送信元IPアドレス及び送信先IPアドレス(と、必要であればポート番号も)が次々と書き換えられる。最終的にサーバ103に到達するパケットは、送信元IPアドレスはサーバ103に直近のステッピングノードのIPアドレスが、送信先IPアドレスとポート番号は、サーバ103のプライベートアドレスとポート番号に、それぞれ書き換えられる。
このように、通信路を通過するパケットのIPアドレスが拠点を通過する度に次々に書き換えられる状況において、端末の一意性を保証する情報である機器特定ID608は何のために使用されなければならないのかを考えると、機器特定ID608は「端末が当該サーバ103に接続する資格を有する」ことを示す情報である、ということが判る。そして、この情報は必ずしも端末にサービスを提供するサーバ103が抱えていなければならないものではなく、所定の認証を実行できる機器(コンダクタ115)が存在していればよいのである。
Furthermore, these packets pass through a plurality of stepping nodes. The source IP address and the destination IP address (and the port number if necessary) are rewritten one after another by static NAT or reverse proxy set by the stepping nodes constituting the VPC tunnel. In the packet finally reaching the server 103, the source IP address is rewritten to the IP address of the stepping node closest to the server 103, and the destination IP address and port number are rewritten to the private address and port number of the server 103, respectively. .
Thus, in the situation where the IP address of the packet passing through the communication path is rewritten one after another every time it passes through the base, the device identification ID 608 that is information for guaranteeing the uniqueness of the terminal must be used for what. Therefore, it can be understood that the device identification ID 608 is information indicating that “the terminal is qualified to connect to the server 103”. This information does not necessarily have to be held by the server 103 that provides a service to the terminal, and it is only necessary that a device (conductor 115) capable of executing predetermined authentication exists.

周知の通り、IPv4はアドレスが枯渇しつつある、という喫緊の問題に直面している。では何故アドレスが枯渇しつつあるのか。一見すれば、IPアドレスのビット数が足りないから、と、普通なら考えるだろう。しかし、もっと根源的な問題は、通信路を行き交うパケットの行き先を決めるIPアドレスに、端末の一意性を求めようとしたことである。IPアドレスはプロトコルとして定められ、パケットに必ず付されるビット列であるから、固定長でなければならず、容易にそのビット列を拡大させるようなことはできない。これがそもそもの間違いの元だった、と、発明者は考えた。   As is well known, IPv4 faces an urgent problem that addresses are running out. So why are addresses running out? At first glance, you would normally think that there are not enough bits in the IP address. However, a more fundamental problem is that an attempt is made to obtain the uniqueness of a terminal in an IP address that determines a destination of a packet that passes through a communication path. The IP address is defined as a protocol and is a bit string that is always attached to a packet. Therefore, it must have a fixed length, and the bit string cannot be easily expanded. The inventor thought that this was the source of the mistake.

端末の一意性を求める情報は、端末の一意性を求める状況、つまり認証行為にのみ使用すればよく、パケットの行き先を定める情報とは明確に区別するべきである。この技術思想に立脚して、発明者は、IPアドレスから端末の一意性を求めることを否定し、IPアドレスはパケットの行き先にのみ使用される情報と割り切って、通信路の仮想化と、認証行為を基に、ネットワークシステムの再構築を試みた。これが、本実施形態である。   The information for determining the uniqueness of the terminal may be used only for the situation for determining the uniqueness of the terminal, that is, for authentication, and should be clearly distinguished from the information for determining the destination of the packet. Based on this technical idea, the inventor denies that the uniqueness of the terminal is obtained from the IP address, and the IP address is divisible by information used only for the destination of the packet, and the communication path is virtualized and authenticated. Based on the behavior, we tried to reconstruct the network system. This is the present embodiment.

本実施形態のローカルマスタに含まれる機器特定ID608は、プロトコルとして定められ、パケットのヘッダとして組み込まれているIPアドレスではなく、認証にのみ使用されるデータである。したがって、ネットワークドライバ806の規模や必要に応じて、幾らでもビット列を拡大させたり、フォーマットを変更する等の行為をしても、パケットのフォーマットは変わらないので、全く問題は発生しない。本実施形態において、発明者は試作品を作成した際、機器特定ID608に12バイトを割り当てたが、勿論、もっと長大なビット列にしてもよい。   The device identification ID 608 included in the local master of the present embodiment is data that is defined only as a protocol and is used only for authentication, not an IP address incorporated as a packet header. Therefore, even if an action such as enlarging the bit string or changing the format as many times as necessary according to the scale of the network driver 806 or the necessity, the packet format does not change, so no problem occurs. In the present embodiment, the inventor assigned 12 bytes to the device identification ID 608 when creating the prototype, but of course, a longer bit string may be used.

図1を見て判るように、本実施形態のネットワークシステム101は、IPリーチャブルでないサブネット間を、ステッピングノードを辿ることで安全に越える事ができる。この技術を応用すると、隣り合ってさえいなければ、複数の同じサブネットが経路上に存在していても、本実施形態のネットワークシステム101は成立する。つまり、原理的にはプライベートIPアドレスだけでほぼ無限大に広大なネットワークを構築することができる。
以上のように、本実施形態のネットワークシステム101は、IPv4プロトコルの可能性を拡大する技術としての一面も備えている。
As can be seen from FIG. 1, the network system 101 of the present embodiment can safely cross between subnets that are not IP reachable by following the stepping node. When this technology is applied, the network system 101 of this embodiment is established even if a plurality of identical subnets exist on the route as long as they are not adjacent to each other. That is, in principle, it is possible to construct a vast network that is almost infinite with only private IP addresses.
As described above, the network system 101 of this embodiment also includes one aspect as a technique for expanding the possibilities of the IPv4 protocol.

以上、本発明の実施形態例について説明したが、本発明は上記実施形態例に限定されるものではなく、特許請求の範囲に記載した本発明の要旨を逸脱しない限りにおいて、他の変形例、応用例を含む。   The embodiment of the present invention has been described above. However, the present invention is not limited to the above-described embodiment, and other modifications, Includes application examples.

101…ネットワークシステム、102…LAN、103…サーバ、104…ICカードリーダ、105…第一端末、106…第二端末、107…インターネット、109…ローカルマスタBOX、110…DHCPサーバ、111…プレイヤ、113…ソフトローカルマスタ、115…コンダクタ、201…ネットワークOS、202…シェル、203…第三アプリケーション、204…ストレージ、205…操作部、206…表示部、207…内蔵USBインターフェース、208…専用シェル、209…第一アプリケーション、210…第二アプリケーション、301…内蔵NIC、403…USB−Bコネクタ、404…ネットワークコネクタ、502…CPU、503…RAM、504…フラッシュメモリ、505…USBインターフェース、507…第一NIC、508…バス、601…第二NIC、602…DHCPクライアント、603…アドレス重複回避部、604…DHCPサーバ、605…NAT設定部、606…暗号化通信処理部、608…機器特定ID、609…コントロールセッション管理部、610…制限設定情報、611…パケットフィルタ設定部、612…デフォルトゲートウェイアドレス、613…SSIDメモリ、614…サービスメニュー情報、615…パケット監視部、701…ループバック仮想NIC、702…DHCPクライアント、705…NAT設定部、706…パケットフィルタ設定部、801…操作ドライバ、802…表示制御部、803…ファイルシステム、804…プロセス制御部、805…クリップボードバッファ、806…ネットワークドライバ、807…コントロールセッション管理部、808…操作情報取得部、809…画面キャプチャ処理部、810…ファイルシステム監視部、811…プロセス監視部、812…クリップボード監視部、813…APIフック処理部、901…ステッピングノード、902…第五NIC、904…暗号化通信処理部、905…パケットモニタ、906…第一タイマ、907…第二タイマ、908…コンダクタアドレス、909…コントロールセッション管理部、910…データセッション管理部、911…第一リバースプロキシ、912…第二リバースプロキシ、913…第三タイマ、914…第一NAT、915…SNID、1001…ステッピングノード、1002…第三NIC、1003…第四NIC、1004…ファイアウォール、1101…第六NIC、1102…暗号化通信処理部、1103…認証処理部、1104…経路設定部、1105…機器特定IDマスタ、1106…ユーザマスタ、1107…サーバマスタ、1108…ユーザサーバマスタ、1109…SNマスタ、1110…SNサーバマスタ、1111…SNマップマスタ、1112…LM・SNマスタ、1113…SSIDテーブル、1114…経路テーブル   DESCRIPTION OF SYMBOLS 101 ... Network system, 102 ... LAN, 103 ... Server, 104 ... IC card reader, 105 ... First terminal, 106 ... Second terminal, 107 ... Internet, 109 ... Local master BOX, 110 ... DHCP server, 111 ... Player, 113 ... Soft local master, 115 ... Conductor, 201 ... Network OS, 202 ... Shell, 203 ... Third application, 204 ... Storage, 205 ... Operation unit, 206 ... Display unit, 207 ... Built-in USB interface, 208 ... Dedicated shell, 209 ... First application, 210 ... Second application, 301 ... Built-in NIC, 403 ... USB-B connector, 404 ... Network connector, 502 ... CPU, 503 ... RAM, 504 ... Flash memory, 505 ... USB interface 507 ... first NIC, 508 ... bus, 601 ... second NIC, 602 ... DHCP client, 603 ... address duplication avoiding unit, 604 ... DHCP server, 605 ... NAT setting unit, 606 ... encrypted communication processing unit, 608 ... device identification ID, 609 ... control session management part, 610 ... restriction setting information, 611 ... packet filter setting part, 612 ... default gateway address, 613 ... SSID memory, 614 ... service menu information, 615 ... packet monitoring part, 701 ... Loopback virtual NIC, 702 ... DHCP client, 705 ... NAT setting unit, 706 ... Packet filter setting unit, 801 ... Operation driver, 802 ... Display control unit, 803 ... File system, 804 ... Process control unit, 805 ... Clipboard buffer 806: Network driver, 807 ... Control session management unit, 808 ... Operation information acquisition unit, 809 ... Screen capture processing unit, 810 ... File system monitoring unit, 811 ... Process monitoring unit, 812 ... Clipboard monitoring unit, 813 ... API hook processing 901: Stepping node, 902: Fifth NIC, 904: Encrypted communication processing unit, 905 ... Packet monitor, 906 ... First timer, 907 ... Second timer, 908 ... Conductor address, 909 ... Control session management unit, 910 ... Data session management unit, 911 ... First reverse proxy, 912 ... Second reverse proxy, 913 ... Third timer, 914 ... First NAT, 915 ... SNID, 1001 ... Stepping node, 1002 ... Third NIC, 1003 ... Fourth NIC, 1 004 ... Firewall, 1101 ... Sixth NIC, 1102 ... Encrypted communication processing unit, 1103 ... Authentication processing unit, 1104 ... Route setting unit, 1105 ... Device identification ID master, 1106 ... User master, 1107 ... Server master, 1108 ... User Server master, 1109 ... SN master, 1110 ... SN server master, 1111 ... SN map master, 1112 ... LM / SN master, 1113 ... SSID table, 1114 ... route table

Claims (7)

端末とIPリーチャブルである第一のネットワークに接続される第一のNICと、
前記第一のNICに対してIPリーチャブルでない第二のネットワーク上に配置されるサーバに対して、前記端末接続を行うために用いられる第二のNICと、
前記第二のNICと前記第一のNICとの間に介在し、前記端末が行う仮想IPアドレスに対する接続に基づいて、前記第二のネットワーク上に存在するリバースプロキシサーバを通じて前記サーバと通信するパケットに適用する静的NATを設定するNAT設定部と
よりなる静的NAT形成装置。
A first NIC connected to a terminal and a first network that is IP reachable ;
The server disposed on the second network is not the IP reachable to the first NIC, and a second NIC used for the terminal makes a connection,
A packet that is interposed between the second NIC and the first NIC and communicates with the server through a reverse proxy server that exists on the second network based on a connection to the virtual IP address performed by the terminal. A static NAT forming apparatus comprising a NAT setting unit that sets a static NAT to be applied.
更に、
各装置を一意に識別可能な機器特定IDと、
前記リバースプロキシサーバに接続する際、所定の認証手順を実行する仮想接続制御装置に対してコントロールセッションを形成し、前記コントロールセッションを通じて前記機器特定IDを用いて機器認証を行うと共に、前記機器認証が成功すると前記コントロールセッションを通じて前記仮想接続制御装置と制御情報を送受信するコントロールセッション管理部と
を備える、請求項1記載の静的NAT形成装置。
Furthermore,
A device identification ID that uniquely identifies each device;
When connecting to the reverse proxy server, a control session is formed for the virtual connection control device that executes a predetermined authentication procedure, and device authentication is performed using the device identification ID through the control session. The static NAT forming device according to claim 1, further comprising a control session management unit that transmits and receives control information to and from the virtual connection control device through the control session when successful.
前記コントロールセッション管理部は、前記機器認証を完遂した後、前記端末が使用するユーザを認証する個人認証を行い、前記個人認証が成功すると、前記ユーザが利用可能な前記サーバと前記サーバに対応する前記仮想IPアドレスの情報を前記仮想接続制御装置から受信する、請求項2記載の静的NAT形成装置。   The control session management unit performs personal authentication for authenticating a user used by the terminal after completing the device authentication, and corresponds to the server and the server that can be used by the user when the personal authentication is successful. The static NAT forming apparatus according to claim 2, wherein the virtual IP address information is received from the virtual connection control apparatus. ネットワークに接続される第一のNICと、
端末と制御情報を送受信するためのコントロールセッションを形成するコントロールセッション管理部と、
前記端末が行う仮想IPアドレスに対する接続に基づいてサーバに接続する際にはリバースプロキシを起動して前記第一のNICを通じて前記端末とデータセッションを形成、前記端末が行う前記仮想IPアドレスに対する接続に基づいて前記サーバに到達するために必要な他の装置に接続する際には静的NATを設定して前記第一のNICを通じて前記端末とデータセッションを形成するデータセッション管理部と
よりなるリバースプロキシサーバ。
A first NIC connected to the network;
A control session management unit that forms a control session for transmitting and receiving control information to and from the terminal;
Connection to the virtual IP address virtual IP to connect to the server based on connection to the address and start the reverse proxy to form said terminal and data session through the first NIC, the terminal performs the terminal performs A reverse connection comprising a data session management unit that sets up a static NAT and forms a data session with the terminal through the first NIC when connecting to another device required to reach the server based on Proxy server.
ネットワークに接続される第一のNICと、
端末が行う仮想IPアドレスに対する接続に基づいて接続しようとするサーバが存在するネットワークに接続される第二のNICと、
前記端末と制御情報を送受信するためのコントロールセッションを形成するコントロールセッション管理部と、
前記端末がサーバに接続する際にはリバースプロキシを起動して前記第一のNICと前記第二のNICとの間にデータセッションを形成、前記端末がサーバに到達するために必要な他の装置に接続する際には静的NATを設定して前記第一のNICを通じて前記端末とデータセッションを形成するデータセッション管理部と
よりなるリバースプロキシサーバ。
A first NIC connected to the network;
A second NIC connected to a network in which a server to be connected exists based on a connection to a virtual IP address performed by a terminal;
A control session management unit for forming a control session for transmitting and receiving control information to and from the terminal;
The terminal forms a data session between the first NIC to start the reverse proxy and the second NIC is to connect to the server, the terminal other necessary to reach the server A reverse proxy server comprising a data session management unit which sets a static NAT when connecting to a device and forms a data session with the terminal through the first NIC.
静的NAT形成装置が内包する機器特定IDが格納される機器特定IDマスタと、
前記静的NAT形成装置に接続されるか又は前記静的NAT形成装置を内蔵する端末を使用するユーザの個人認証情報が格納されるユーザマスタと、
前記静的NAT形成装置から前記機器特定IDを受信して前記機器特定IDマスタを用いて機器認証を行うと共に、前記端末から前記ユーザの前記個人認証情報を受信して前記ユーザマスタを用いて個人認証を行う認証処理部と、
前記機器認証及び前記個人認証が正常終了した前記端末に接続されるか又は内蔵される前記静的NAT形成装置の要求に応じて、前記端末が行う仮想IPアドレスに対する接続に基づいて所望のサーバに仮想接続を実施するための経路情報を作成する経路設定部と
よりなる仮想接続制御装置。
A device identification ID master in which a device identification ID included in the static NAT forming device is stored;
A user master that stores personal authentication information of a user who is connected to the static NAT forming apparatus or uses a terminal incorporating the static NAT forming apparatus;
Receiving the device identification ID from the static NAT forming device and performing device authentication using the device identification ID master, and receiving the personal authentication information of the user from the terminal and using the user master An authentication processing unit for performing authentication;
In response to a request from the static NAT forming apparatus that is connected to or built in the terminal for which the device authentication and the personal authentication have been normally completed, the terminal is connected to a desired server based on the connection to the virtual IP address performed by the terminal. A virtual connection control device comprising a route setting unit that creates route information for performing virtual connection.
前記機器特定IDマスタは更に、前記端末にて実行されるアプリケーションプログラムが接続しようとする前記仮想IPアドレスの範囲が格納される、請求項6記載の仮想接続制御装置。 The device specific ID master Moreover, the scope of the virtual IP address of application program running on the terminal is trying to connect is stored, the virtual connection control apparatus according to claim 6, wherein.
JP2011155512A 2011-07-14 2011-07-14 Static NAT forming device, reverse proxy server, and virtual connection control device Expired - Fee Related JP5617108B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011155512A JP5617108B2 (en) 2011-07-14 2011-07-14 Static NAT forming device, reverse proxy server, and virtual connection control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011155512A JP5617108B2 (en) 2011-07-14 2011-07-14 Static NAT forming device, reverse proxy server, and virtual connection control device

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2010194959A Division JP4802295B1 (en) 2010-08-31 2010-08-31 Network system and virtual private connection forming method

Publications (2)

Publication Number Publication Date
JP2012054909A JP2012054909A (en) 2012-03-15
JP5617108B2 true JP5617108B2 (en) 2014-11-05

Family

ID=45907740

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011155512A Expired - Fee Related JP5617108B2 (en) 2011-07-14 2011-07-14 Static NAT forming device, reverse proxy server, and virtual connection control device

Country Status (1)

Country Link
JP (1) JP5617108B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104954239B (en) * 2014-03-26 2019-04-05 中国电信股份有限公司 A kind of broad access network gate and its implementation of built-in CGN

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4988143B2 (en) * 2001-06-15 2012-08-01 アドバンスト・ネットワーク・テクノロジー・ラボラトリーズ・ピーティーイー・リミテッド Computer network
EP1511229A4 (en) * 2002-05-31 2007-03-21 Fujitsu Ltd Packet repeating installation, network connection device, packet repeating method, recording medium, program
JP4024108B2 (en) * 2002-08-21 2007-12-19 富士通株式会社 Assigning global addresses to devices on the LAN
JP3577067B2 (en) * 2002-12-24 2004-10-13 一 福嶋 Method and system for managing devices with dynamic IP address assignment
EP2264956B1 (en) * 2004-07-23 2017-06-14 Citrix Systems, Inc. Method for securing remote access to private networks
JP2007006217A (en) * 2005-06-24 2007-01-11 Hitachi Communication Technologies Ltd Router and routing method
WO2007043381A1 (en) * 2005-10-04 2007-04-19 Matsushita Electric Industrial Co., Ltd. Network communication device, network communication method, and address management device
JP4226606B2 (en) * 2006-02-06 2009-02-18 株式会社コナミデジタルエンタテインメント COMMUNICATION DEVICE, COMMUNICATION METHOD, AND PROGRAM
WO2007094059A1 (en) * 2006-02-15 2007-08-23 R & W, Inc. Data transmitting and receiving method
JP2007274063A (en) * 2006-03-30 2007-10-18 Matsushita Electric Ind Co Ltd Communication device and method, and recording medium
US8365272B2 (en) * 2007-05-30 2013-01-29 Yoggie Security Systems Ltd. System and method for providing network and computer firewall protection with dynamic address isolation to a device
JP2009111437A (en) * 2007-10-26 2009-05-21 Hitachi Ltd Network system
JP5159261B2 (en) * 2007-11-12 2013-03-06 インターナショナル・ビジネス・マシーンズ・コーポレーション Session management technology
JP4858484B2 (en) * 2008-05-01 2012-01-18 株式会社スプリングソフト Network connection control device and network system
JP5070139B2 (en) * 2008-06-06 2012-11-07 株式会社リコー Communication relay device, communication system, communication method, and program
JP4943384B2 (en) * 2008-07-01 2012-05-30 Kddi株式会社 Request reception system

Also Published As

Publication number Publication date
JP2012054909A (en) 2012-03-15

Similar Documents

Publication Publication Date Title
JP4802295B1 (en) Network system and virtual private connection forming method
US11190489B2 (en) Methods and systems for establishing a connection between a first device and a second device across a software-defined perimeter
JP7393514B2 (en) Methods and systems for efficient cyber protection of mobile devices
US8332464B2 (en) System and method for remote network access
JP2007215201A (en) Method and systems for routing packets from gateway to endpoint
JP2007520797A (en) System and method for managing proxy requests on a secure network using inherited security attributes
JP5445262B2 (en) Quarantine network system, quarantine management server, remote access relay method to virtual terminal and program thereof
CN113824791A (en) Access control method, device, equipment and readable storage medium
US10032027B2 (en) Information processing apparatus and program for executing an electronic data in an execution environment
JP4908609B2 (en) Network system
JP6768530B2 (en) Information processing equipment and programs
JP5617108B2 (en) Static NAT forming device, reverse proxy server, and virtual connection control device
JP2012222461A (en) Network system
KR20050069892A (en) Method and system for unified session control of multiple management servers on network appliances
EP3190525A1 (en) Information processing device and program
JP6415924B2 (en) Information processing apparatus and program
JP6359260B2 (en) Information processing system and firewall device for realizing a secure credit card system in a cloud environment
JP2011223636A (en) Port forward formation device and reverse proxy server
Sørensen et al. Automatic profile-based firewall for iot devices
Nandhini et al. VPN blocker and recognizing the pattern of IP address
Both Managing the Firewall
De Coninck et al. URLink: Using Names As Sole Internet Addresses to Tackle Scanning Attacks in IoT
Lee et al. Threats Hidden in Office Network: Mechanism of Credential Harvesting for Lateral Movement
Row et al. Security issues in small linux networks
O'Leary et al. Web Attacks

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130830

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140417

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140520

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140718

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

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20140826

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140826

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20140826

R150 Certificate of patent or registration of utility model

Ref document number: 5617108

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

LAPS Cancellation because of no payment of annual fees