Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4908609B2 - Network system - Google Patents
[go: Go Back, main page]

JP4908609B2 - Network system - Google Patents

Network system Download PDF

Info

Publication number
JP4908609B2
JP4908609B2 JP2010089873A JP2010089873A JP4908609B2 JP 4908609 B2 JP4908609 B2 JP 4908609B2 JP 2010089873 A JP2010089873 A JP 2010089873A JP 2010089873 A JP2010089873 A JP 2010089873A JP 4908609 B2 JP4908609 B2 JP 4908609B2
Authority
JP
Japan
Prior art keywords
terminal
server
ini
reverse proxy
authentication
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
JP2010089873A
Other languages
Japanese (ja)
Other versions
JP2011223278A (en
Inventor
文彦 杉山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Springsoft KK
Original Assignee
Springsoft KK
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 Springsoft KK filed Critical Springsoft KK
Priority to JP2010089873A priority Critical patent/JP4908609B2/en
Priority to PCT/JP2011/057757 priority patent/WO2011125638A1/en
Publication of JP2011223278A publication Critical patent/JP2011223278A/en
Application granted granted Critical
Publication of JP4908609B2 publication Critical patent/JP4908609B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)

Description

本発明は、ネットワークシステム関する。
より詳細には、従来の仮想プライベートネットワーク(Virtual Private Network:以下「VPN」)の問題点を解消し、極めて軽量なソフトウェア及びハードウェアの追加で、柔軟な運用性且つ強固なセキュリティを実現する、新規な仮想プライベートネットワークシステム関する。
The present invention relates to a network system.
More specifically, it solves the problems of the conventional virtual private network (“VPN”) and realizes flexible operability and strong security by adding extremely lightweight software and hardware. about the 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 入門 - PacketiX VPN の特徴」ソフトイーサ株式会社[2010年3月25日検索]、インターネット<URL:http://www.softether.co.jp/jp/vpn2/introduction/about_vpn.aspx>“Introduction to PacketiX VPN-Features of PacketiX VPN” 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内に振り向けることしかしないので、セキュリティ面に問題がある。そこで、通信経路の暗号化と認証を伴ってセキュリティの向上を図った手法が、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, a technique for improving security with encryption and authentication of a communication path is an application such as OpenSSH (http://www.openssh.com/en/). This is disclosed in Non-Patent Document 3.
However, OpenSSH 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 OpenSSH 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の問題点を解消し、極めて軽量なソフトウェア及びハードウェアの追加で、柔軟な運用性且つ強固なセキュリティを実現する、新規なネットワークシステム提供することを目的とする。 The present invention provides a novel network system that solves such problems, solves the problems of the conventional VPN described above, and realizes flexible operability and strong security by adding extremely lightweight software and hardware. The purpose is to do.

上記課題を解決するために、本発明のネットワークシステムは、インターネットに接続される端末と、端末の内部に設けられ、端末の動作に制限を加える挙動制限部と、プライベートネットワークとインターネットとの境界に配置され、端末から送信されるパケットを対応するリバースプロキシを稼働させて転送するリバースプロキシサーバと、プライベートネットワーク上に配置され、リバースプロキシサーバで稼働するリバースプロキシで端末と接続されるサーバと、端末の内部に設けられるか、又は端末とインターネットとの間に設けられ、各装置を一意に識別可能な機器特定IDを内包し、リバースプロキシサーバに接続する際、機器特定IDを用いて端末認証を行い、端末認証が成功するとリバースプロキシサーバと所定の情報を送受信するためのコントロールセッションを形成した後、端末がサーバにアクセスする際に用いる、端末で稼働するアプリケーションプログラムが接続相手の情報資源を特定する文字列である端末用リソース文字列が格納される端末用リソース文字列フィールドと、端末がサーバにアクセスする際に用いるIPアドレスが格納される端末用ターゲットアドレスフィールドとを有する仮想資源テーブルを、コントロールセッションを通じてリバースプロキシサーバから得て、仮想資源テーブルに基づいて、端末の特定の接続要求に対して、端末がサーバと所定のデータを送受信するための、ポートフォワーディングに基づくデータセッションを形成するポートフォワード形成装置とよりなる。 In order to solve the above-described problems, a network system according to the present invention includes a terminal connected to the Internet, a behavior restriction unit that is provided inside the terminal and restricts the operation of the terminal, and a boundary between the private network and the Internet. A reverse proxy server configured to operate and transfer a packet transmitted from the terminal by operating a corresponding reverse proxy, a server connected to the terminal by a reverse proxy disposed on the private network and operating on the reverse proxy server, and the terminal The device identification ID is provided between the terminal and the Internet and uniquely identifies each device. When connecting to the reverse proxy server, terminal authentication is performed using the device identification ID. If the terminal authentication is successful, the reverse proxy server and the specified information are After forming the control session for receiving, terminal which terminal uses to access the server, the terminal resource string is a string the application program identifies the information resource of the connection partner running on the terminal is stored A virtual resource table having a resource string field for a terminal and a target address field for a terminal in which an IP address used when the terminal accesses the server is obtained from the reverse proxy server through a control session, and based on the virtual resource table In response to a specific connection request of the terminal, the port forward forming apparatus forms a data session based on port forwarding for the terminal to transmit / receive predetermined data to / from the server .

また、上記課題を解決するために、本発明のネットワークシステムは、プライベートネットワーク上に配置される第一のサーバと、プライベートネットワーク上に配置される第二のサーバと、インターネットに接続され、第一のサーバ及び第二のサーバに接続する端末と、端末の内部に設けられ、端末の動作に制限を加える挙動制限部と、プライベートネットワークとインターネットとの境界に配置され、端末が第一のサーバに接続要求を発すると第一のリバースプロキシを稼働すると共に、端末が第二のサーバに接続要求を発すると第二のリバースプロキシを稼働するリバースプロキシサーバと、端末の内部に設けられるか、又は端末とインターネットとの間に設けられ、各装置を一意に識別可能な機器特定IDを内包し、リバースプロキシサーバに接続する際、機器特定IDを用いて端末認証を行い、端末認証が成功するとリバースプロキシサーバと所定の情報を送受信するためのコントロールセッションを形成した後、端末がサーバにアクセスする際に用いる、端末で稼働するアプリケーションプログラムが接続相手の情報資源を特定する文字列である端末用リソース文字列が格納される端末用リソース文字列フィールドと、端末がサーバにアクセスする際に用いるIPアドレスが格納される端末用ターゲットアドレスフィールドとを有する仮想資源テーブルを、コントロールセッションを通じてリバースプロキシサーバから得て、仮想資源テーブルに基づいて、端末が第一のサーバに接続要求を発すると、端末が第一のサーバと所定のデータを送受信するための、第一のリバースプロキシに対応するポートフォワーディングに基づく第一のデータセッションを形成し、仮想資源テーブルに基づいて、端末が第二のサーバに接続要求を発すると、端末が第二のサーバと所定のデータを送受信するための、第二のリバースプロキシに対応するポートフォワーディングに基づく第二のデータセッションを形成する、ポートフォワード形成装置とよりなる。 In order to solve the above problems, a network system of the present invention is connected to the Internet, a first server arranged on a private network, a second server arranged on the private network, and a first server. A terminal connected to the server and the second server, a behavior restriction unit provided inside the terminal, for restricting the operation of the terminal, and a boundary between the private network and the Internet. When the connection request is issued, the first reverse proxy is activated, and when the terminal issues a connection request to the second server, the reverse proxy server is activated and the terminal is provided inside the terminal, or the terminal A device-specific ID that can be used to uniquely identify each device When connecting to the server, performs terminal authentication using the device specific ID, after forming a control session for transmitting and receiving a reverse proxy server and the predetermined information when the terminal authentication is successful, the terminal uses to access the server Stores a terminal resource character string field in which a terminal resource character string, which is a character string for identifying an information resource of a connection partner, by an application program running on the terminal, and an IP address used when the terminal accesses the server a virtual resource table and a target address field terminal to be, obtained from the reverse proxy server through the control session, based on the virtual resource table, when the terminal issues a connection request to the first server, the terminal is first for sending and receiving server and predetermined data, the first Li Forming a first data session based on the port forwarding corresponding to Supurokishi, transmission and reception based on the virtual resource table, when the terminal issues a connection request to the second server, the terminal is a second server and predetermined data And a port forward forming device for forming a second data session based on port forwarding corresponding to the second reverse proxy.

ポートフォワード形成装置がコントロールセッションを通じて認証を実行した後、端末がリバースプロキシサーバの先に存在するプライベートネットワーク内のサーバに対する接続を要求したら、ポートフォワード形成装置はポートフォワーディングを、リバースプロキシサーバはリバースプロキシを設定して、端末とサーバとの間にデータセッションを形成する。このようにネットワークシステムを構築することで、プライベートアドレスの衝突のない、仮想的な接続形態で、ファイアウォールを越えた端末のサーバに対する接続が実現できる。更に、接続の際には挙動制限部が端末の挙動を強力に制限するので、セキュリティ面の脆弱性を保護できる。   After the port forward forming device 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 port forward forming device performs port forwarding, and the reverse proxy server performs 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. Furthermore, since the behavior restriction unit strongly restricts the behavior of the terminal at the time of connection, security vulnerability can be protected.

本発明により、極めて軽量なソフトウェア及びハードウェアの追加で、柔軟な運用性且つ強固なセキュリティを実現する、新規なネットワークシステム提供できる。 According to the present invention, it is possible to provide a novel network system that realizes flexible operability and strong security by adding extremely lightweight software and hardware.

本実施形態のネットワークシステムの概略図である。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. INI−BOXの外観斜視図である。It is an external appearance perspective view of INI-BOX. INI−BOXのハードウェア構成を示すブロック図である。It is a block diagram which shows the hardware constitutions of INI-BOX. INI−BOXの機能ブロック図である。It is a functional block diagram of INI-BOX. ソフトINIの機能ブロック図である。It is a functional block diagram of software INI. RTAの機能ブロック図である。It is a functional block diagram of RTA. NCの機能ブロック図である。It is a functional block diagram of NC. 端末がインターネットに接続して、認証を完遂する迄の動作の流れを示すタイムチャートである。It is a time chart which shows the flow of operation | movement until a terminal connects to the internet and completes authentication. 端末がインターネットに接続して、認証を完遂する迄の動作の流れを示すタイムチャートである。It is a time chart which shows the flow of operation | movement until a terminal connects to the internet and completes authentication. 端末からアプリケーションを起動して、LAN内のサーバに接続する動作の流れを示すタイムチャートである。It is a time chart which shows the flow of operation | movement which starts an application from a terminal and connects to the server in LAN. サーバテーブルと、仮想資源テーブルと、ユーザ資源テーブルの概略図である。It is the schematic of a server table, a virtual resource table, and a user resource table.

[実施形態の概要]
本実施形態の概略を説明する。
本発明は、インターネットを通じてLAN内のサーバに安全に接続する仕組みを提供する。一例としては、従業員が、外出先或は自宅からインターネットを通じて、企業内LANに接続されているサーバに安全に接続するための仕組みである。この仕組みを実現するために、以下の装置及びプログラムを新たに設ける。これより説明する三種類の装置及びプログラムは、全て従来のネットワーク技術には同等の機能を提供する装置等が存在しないので、発明者及び出願人が独自に名称を付している。
[Outline of Embodiment]
An outline of the present embodiment will be described.
The present invention provides a mechanism for securely connecting to a server in a LAN through the Internet. As an example, there is a mechanism for an employee to securely connect to a server connected to a corporate LAN from the outside or home via the Internet. In order to realize this mechanism, the following apparatuses and programs are newly provided. The three 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.

・ネットワークセンタ(Network Center:以下「NC」と略)
リバースプロキシサーバとも呼べるNCは、LANとインターネットとの間に設けられ、必要に応じてリバースプロキシを起動し、インターネットに接続される端末とLAN内のサーバを接続する。一見すると、NCはリバースプロキシサーバが稼働するゲートウェイであるように見えるが、端末の認証を通じて、端末から接続要求があった時だけリバースプロキシのプロセスを起動する。したがって、NCは通常のサーバとは異なり、不必要にポートを開けないので、セキュリティ面で有利である。
・ Network Center (hereinafter abbreviated as “NC”)
The NC, which can also be called a reverse proxy server, is provided between the LAN and the Internet, activates a reverse proxy as necessary, and connects a terminal connected to the Internet to a server in the LAN. At first glance, the NC appears to be a gateway on which the reverse proxy server operates, but through the terminal authentication, the reverse proxy process is activated only when a connection request is received from the terminal. Therefore, unlike a normal server, the NC cannot open a port unnecessarily, which is advantageous in terms of security.

・インテリジェントネットワークインターフェース(Intelligent Network Interface:以下「INI」と略)
ポートフォワード形成装置とも呼べるINIは、自身がNCに接続できる資格を有する装置であることを示す機器特定IDを内包しており、NCに対して端末認証(個体認証)とユーザ認証(個人認証)の二重の認証を実行する。先ず、端末認証が完遂すると、INIはNCと制御用の通信路を形成する。これをコントロールセッションと呼ぶ。コントロールセッションが形成されると、INIは次にユーザ認証を実行する。ユーザ認証が完遂すると、INIは端末に対してユーザが接続可能なサーバに関する情報(仮想資源テーブル)及び様々な制御を行うための情報(制限情報)よりなる制御設定情報をNCから受信する。
ユーザが端末を操作して当該サーバに接続する要求を発すると、INIはコントロールセッションを通じてNCに対してサーバへの接続要求を送信する。そして、NCによって要求が認められると、NCと当該サーバのための暗号化された通信路(データセッション)を形成すると共に、パケットフィルタとポートフォワーディングの設定を行う。
・ Intelligent Network Interface (hereinafter referred to as “INI”)
The INI, which can also be called a port forward forming device, includes a device identification ID indicating that the device itself is qualified to connect to the NC, and performs terminal authentication (individual authentication) and user authentication (personal authentication) for the NC. Perform double authentication. First, when terminal authentication is completed, the INI forms a control communication path with the NC. This is called a control session. Once the control session is created, the INI then performs user authentication. When the user authentication is completed, the INI receives control setting information including information related to a server (virtual resource table) that the user can connect to the terminal and information for performing various controls (restriction information) from the NC.
When the user operates the terminal to issue a request to connect to the server, the INI transmits a connection request to the server to the NC through the control session. When the request is approved by the NC, an encrypted communication path (data session) for the NC and the server is formed, and a packet filter and port forwarding are set.

パケットフィルタは、端末の動作をサーバとの接続にのみ制限し、不用意にインターネット上の任意のサーバに接続する等の事故発生要因を排除するために設定する。NCから送信される制限情報には、送受信を禁止される(又は送受信を許可される)IPアドレスの範囲が列挙され、この制限情報に従ってパケットフィルタは設定される。
ポートフォワーディングによって、リバースプロキシであるNCを介して送受信するサーバとのパケットは、端末のローカル側に位置する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. In the restriction information transmitted from the NC, a range of IP addresses for which transmission / reception is prohibited (or transmission / reception is permitted) is listed, and a packet filter is set according to the restriction information.
By port forwarding, a packet transmitted to and received from a server that is transmitted / received via the NC serving as a reverse proxy is rewritten as a packet for the NIC located on the local side of the terminal, and the port number is rewritten as necessary. The terminal can communicate with a server in the LAN as if it were communicating with a local NIC.

INIは、端末に接続されるハードウェアとして構成されるもの(以下「INI−BOX」)と、端末内にインストールされるソフトウェアとして構成されるもの(以下「ソフトINI」)と、二通りの形態がある。いずれも、提供する機能は同じである。違いは、INI−BOXは内蔵するローカル側NICにポートフォワーディングをする一方、ソフトINIはネットワークOSが標準で内蔵するループバック仮想NICにポートフォワーディングをする、という点である。
INIは、発明者が過去に発明して出願した特許文献1に開示される技術を基に、更に機能の整理と改良を施した装置及びプログラムである。
これ以降、単に「INI」と記す場合は、INI−BOXとソフトINIの両者を指す単語であると定義する。
The INI is configured in two forms: one configured as hardware connected to the terminal (hereinafter “INI-BOX”) and one configured as software installed in the terminal (hereinafter “soft INI”). There is. Both provide the same functions. The difference is that the INI-BOX performs port forwarding to the built-in local NIC, while the software INI performs port forwarding to the loopback virtual NIC built in the network OS as a standard.
The INI is a device and a program in which functions have been further rearranged and improved based on the technology disclosed in Patent Document 1 filed by the inventor in the past.
Hereinafter, when simply describing “INI”, it is defined as a word indicating both INI-BOX and software INI.

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

また、RTAはシェルとしての機能も提供する。ユーザ認証が正常に終了すると、RTAは端末の画面にウィンドウを表示し、そのウィンドウの中にアイコンを表示する。アイコンはアプリケーションの起動パラメータ(コマンドライン)を内包しており、実行を許可するアプリケーション名と、アクセスを許可するサーバのサーバ名がアプリケーションの引数として指定されている。RTAの子プロセスとしてアプリケーションが起動されるので、RTAはアプリケーションの挙動を容易に把握できる。   RTA also provides a shell function. When user authentication ends normally, the RTA 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 started as a child process of RTA, the RTA can easily grasp the behavior of the application.

RTAはウィルスチェッカやマルウェア等のAPIフックの技術を応用している。RTAはNCの制御下にあるので、フックしたAPIで異常な挙動を検出したら、直ちに実行を停止してNCに報告することもできる。この技術を高度に応用すると、未知のウィルスに対しても防御が可能になるので、昨今問題になっている「ゼロデイ攻撃」(プログラムのセキュリティホールが発表され、当該プログラムのセキュリティホールを修正するパッチが提供されるよりも以前の時点で、悪意ある者によって実際に当該セキュリティホールを突いた攻撃が行われたり、当該セキュリティホールを悪用する不正プログラムが出現すること)にも対応が可能になる。また、端末に誤ってウィルスが混入してしまっても、一旦RTAが起動してNCと接続されると、APIフックの結果から不審な挙動が直ちに判明するので、NCは当該端末の接続を強制切断する等の緊急措置を瞬時に実行することができる。   RTA uses API hook technology such as virus checker and malware. Since the RTA is under the control of the NC, if an abnormal behavior is detected by the hooked API, the execution can be stopped immediately and reported to the NC. 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 the terminal, once the RTA is started and connected to the NC, the suspicious behavior is immediately identified from the result of the API hook, so the NC forcibly connects the terminal. Emergency measures such as cutting can be executed instantly.

以上、三つの装置及びプログラムで、インターネット上に存在する端末は、INIによるポートフォワーディングとNCによるリバースプロキシを通じてLAN内のサーバに接続することができる。その際、端末の挙動はRTAによってサーバに対する通信のみ許可され、それ以外の挙動は大幅に制限される。
この接続形態では、ポートフォワーディングとリバースプロキシのそれぞれにおいて、パケットに付されるIPアドレスは二回書き換えられる。その結果、端末は非特許文献1に開示されるような、LAN内のIPアドレスを付与されるような状態にはならず、非特許文献3に開示されるポートフォワーディングの接続形態に近い状態になる。
As described above, with the three devices and programs, a terminal existing on the Internet can connect to a server in the LAN through port forwarding by INI and reverse proxy by NC. At that time, only the communication with the server is permitted by the RTA for the behavior of the terminal, and the other behavior is greatly limited.
In this connection form, the IP address attached to the packet is rewritten twice in each of the port forwarding and the reverse proxy. As a result, the terminal is not in a state of being given an IP address in the LAN as disclosed in Non-Patent Document 1, but is in a state close to the port forwarding connection mode disclosed in Non-Patent Document 3. Become.

[全体構成]
図1は、本実施形態のネットワークシステムの概略図である。
ある企業の図示しない社屋内にはLAN102が敷設され、LAN102には第一サーバ103、第二サーバ104、第一端末105及び第二端末106が接続されている。また、LAN102とインターネット107との間にはファイアウォールを兼用するNC108が接続されている。
第一端末105及び第二端末106はノートパソコンであり、従業員が外出先或は自宅に持ち出すことが可能である。
今、図示しない従業員Aが第一端末105を社屋から持ち出し、図示しない自宅で作業を継続しようとする。従業員Aは第一端末105にINI−BOX109を接続して、INI−BOX109を第一ISP110が提供する図示しないモデムに接続する。すると、第一端末105はINI−BOX109と第一ISP110を通じてインターネット107に接続される。INI−BOX109はインターネット107に接続されると、直ちにNC108に対して端末認証を試みる。但し、端末認証が正常に終了しても、ユーザ認証が行われない限り、第一端末105は通常の状態と同様にインターネット接続及びインターネット107上の所望のwebサーバ等の接続は可能であり、また逆にNC108を通じたLAN102内の第一サーバ103又は第二サーバ104との接続はできない。
[overall structure]
FIG. 1 is a schematic diagram of a network system according to the present embodiment.
A LAN 102 is laid inside a company (not shown) of a company, and a first server 103, a second server 104, a first terminal 105, and a second terminal 106 are connected to the LAN 102. An NC 108 that also functions as a firewall is connected between the LAN 102 and the Internet 107.
The first terminal 105 and the second terminal 106 are notebook personal computers, and employees can take them out or at home.
Now, employee A (not shown) takes the first terminal 105 out of the company building and tries to continue working at home (not shown). The employee A connects the INI-BOX 109 to the first terminal 105 and connects the INI-BOX 109 to a modem (not shown) provided by the first ISP 110. Then, the first terminal 105 is connected to the Internet 107 through the INI-BOX 109 and the first ISP 110. When the INI-BOX 109 is connected to the Internet 107, it immediately tries terminal authentication with respect to the NC. However, even if terminal authentication ends normally, as long as user authentication is not performed, the first terminal 105 can connect to the Internet and a desired web server on the Internet 107 as in the normal state. Conversely, connection to the first server 103 or the second server 104 in the LAN 102 through the NC 108 is not possible.

従業員Aは第一端末105を操作してユーザ認証を実行すると、第一端末105にインストールされたRTA111とINI−BOX109の作用によって、第一端末105はNC108と接続される。そして、第一端末105はこの時点でそれまでは実行できていたインターネット107上の所望のwebサーバ等の接続ができなくなる。次に、従業員AはRTA111によって表示される、第一サーバ103に接続するためのアイコンをクリックすると、アイコンに埋め込まれているコマンド名のアプリケーションが起動し、アプリケーションからINI−BOX109を通じてNC108に第一サーバ103に対する接続要求が送信される。NC108はINI−BOX109から接続要求を受信すると、第一サーバ103を第一端末105に接続するためのリバースプロキシを起動し、NC108とINI−BOX109との間にデータセッションを形成する。一方、INI−BOX109はポートフォワーディングを設定して、第一端末105から第一サーバ103に接続するための通信路を形成する。こうして、従業員Aは第一端末105を操作して第一サーバ103に接続し、所望の作業を継続することが可能になる。   When the employee A operates the first terminal 105 to execute user authentication, the first terminal 105 is connected to the NC 108 by the action of the RTA 111 and the INI-BOX 109 installed in the first terminal 105. Then, the first terminal 105 cannot connect to a desired web server or the like on the Internet 107 that has been able to be executed up to that point. Next, when the employee A clicks on the icon for connecting to the first server 103 displayed by the RTA 111, an application with the command name embedded in the icon is started, and the application is connected to the NC 108 through the INI-BOX 109. A connection request for one server 103 is transmitted. When the NC 108 receives the connection request from the INI-BOX 109, the NC 108 activates a reverse proxy for connecting the first server 103 to the first terminal 105, and forms a data session between the NC 108 and the INI-BOX 109. On the other hand, the INI-BOX 109 sets port forwarding and forms a communication path for connecting the first terminal 105 to the first server 103. In this way, the employee A can operate the first terminal 105 to connect to the first server 103 and continue the desired work.

次に、従業員Bが第二端末106を社屋から持ち出し、外出先からインターネット接続を用いて作業を継続しようとする。従業員Bは第二端末106を第二ISP112が提供するインターネット接続サービスに接続する。すると、第二端末106は第二ISP112を通じてインターネット107に接続される。第二端末106にインストールされているソフトINI113は、第二端末106がインターネット107に接続されると、直ちにNC108に対して端末認証を試みる。但し、端末認証が正常に終了しても、ユーザ認証が行われない限り、第二端末106は通常の状態と同様にインターネット接続及びインターネット107上の所望のwebサーバ等の接続は可能であり、また逆にNC108を通じたLAN102内の第一サーバ103又は第二サーバ104との接続はできない。   Next, the employee B takes the second terminal 106 out of the company building and tries to continue working from the outside using an Internet connection. Employee B connects the second terminal 106 to an Internet connection service provided by the second ISP 112. Then, the second terminal 106 is connected to the Internet 107 through the second ISP 112. When the second terminal 106 is connected to the Internet 107, the software INI 113 installed in the second terminal 106 immediately tries terminal authentication with respect to the NC 108. However, even if terminal authentication ends normally, as long as user authentication is not performed, the second terminal 106 can connect to the Internet and a desired web server on the Internet 107 as in the normal state. Conversely, connection to the first server 103 or the second server 104 in the LAN 102 through the NC 108 is not possible.

従業員Bは第二端末106を操作してユーザ認証を実行すると、第二端末106にインストールされたRTA111とソフトINI113の作用によって、第二端末106はNC108と接続される。そして、第二端末106はこの時点でそれまでは実行できていたインターネット107上の所望のwebサーバ等の接続ができなくなる。次に、従業員BはRTA111によって表示される、第二サーバ104に接続するためのアイコンをクリックすると、アイコンに埋め込まれているコマンド名のアプリケーションが起動し、アプリケーションからソフトINI113を通じてNC108に第二サーバ104に対する接続要求が送信される。NC108はソフトINI113から接続要求を受信すると、第二サーバ104を第二端末106に接続するためのリバースプロキシを起動し、NC108とソフトINI113との間にデータセッションを形成する。一方、ソフトINI113はポートフォワーディングを設定して、第二端末106から第二サーバ104に接続するための通信路を形成する。こうして、従業員Bは第二端末106を操作して第二サーバ104に接続し、所望の作業を継続することが可能になる。   When the employee B operates the second terminal 106 to perform user authentication, the second terminal 106 is connected to the NC 108 by the action of the RTA 111 and the software INI 113 installed in the second terminal 106. Then, the second terminal 106 cannot connect to a desired web server or the like on the Internet 107 that has been able to be executed up to this point. Next, when employee B clicks on the icon for connecting to the second server 104 displayed by the RTA 111, an application with the command name embedded in the icon is started, and the application is connected to the NC 108 through the software INI 113 to the second NC 108. A connection request to the server 104 is transmitted. When the NC 108 receives the connection request from the software INI 113, the NC 108 activates a reverse proxy for connecting the second server 104 to the second terminal 106, and forms a data session between the NC 108 and the software INI 113. On the other hand, the software INI 113 sets port forwarding and forms a communication path for connecting the second terminal 106 to the second server 104. In this way, the employee B can operate the second terminal 106 to connect to the second server 104 and continue the desired work.

第一端末105はINI−BOX109を介してインターネット107に接続した。一方、第二端末106はソフトINI113がインストールされているので、OS内に構成されているネットワークシステムが直にインターネット107に接続した。何れの場合においてもLAN102内の第一サーバ103及び第二サーバ104に接続することが可能になる。   The first terminal 105 is connected to the Internet 107 via the INI-BOX 109. On the other hand, since the software INI 113 is installed in the second terminal 106, the network system configured in the OS directly connected to the Internet 107. In any case, it is possible to connect to the first server 103 and the second server 104 in the LAN 102.

図2は第一端末105に注目したネットワークシステムの概略図である。紙面の都合上、図2及び後述する図3ではNC108が接続されるインターネット107の表記は省略している。
第一端末105にはOS201がインストールされており、OS201の一部であるシェル202を通じて第三アプリケーション203等のアプリケーションプログラムが実行される。第一端末105にはこの他にRTA111がインストールされており、所定の操作によって実行される。
OS201は一般的なマルチタスクのネットワークOSであり、一例としてはWindows(登録商標)である。これ以降、第一端末105及び第二端末106にはWindows(登録商標)がインストールされていることを前提として説明するが、OS201はWindows(登録商標)に限定されず、例えばLinux(登録商標)等のPOSIX系OSであってもよい。
OS201は第一端末105のハードウェアである、ハードディスク等のストレージ204、キーボード及びマウス等の操作部205、液晶ディスプレイ等の表示部206、そして内蔵USBインターフェース207とのデータの入出力を掌握し、アプリケーションがこれらのハードウェアを容易に利用できるためのAPIを提供する。
FIG. 2 is a schematic diagram of the network system focused on the first terminal 105. For the sake of space, the description of the Internet 107 to which the NC 108 is connected is omitted 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 to this, an RTA 111 is installed in the first terminal 105 and is executed by a predetermined operation.
The OS 201 is a general multitasking network OS, and is, for example, Windows (registered trademark). Hereinafter, the description will be made on the assumption that Windows (registered trademark) is installed in the first terminal 105 and the second terminal 106. However, the OS 201 is not limited to Windows (registered trademark), for example, Linux (registered trademark). A POSIX OS such as the above may be used.
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.

RTA111は、INI−BOX109がユーザ認証を完遂すると、OS201の幾つかのAPIをフックして、第一端末105全体の挙動を大幅に制限する。また、異常を検出したらその際の発生状況等をINI−BOX109を通じてNC108に報告する。   When the INI-BOX 109 completes the user authentication, the RTA 111 hooks some APIs of the OS 201 to greatly limit the behavior of the first terminal 105 as a whole. Further, when an abnormality is detected, the occurrence status at that time is reported to the NC 108 through the INI-BOX 109.

更に、RTA111はシェル202としての機能も提供する。ユーザが第一サーバ103に接続するために、RTA111がユーザ提供するユーザインターフェースが、専用シェル208である。ユーザ認証が正常に終了すると、RTA111の専用シェル208は端末の画面にウィンドウを表示し、そのウィンドウの中にアイコンを表示する。アイコンはアプリケーションの起動パラメータ(コマンドライン)を内包しており、実行を許可するアプリケーション名と、アクセスを許可するサーバのサーバ名がアプリケーションの引数として指定されている。このようにして、RTA111の子プロセスとして起動されたアプリケーションプログラムが、図2の第一アプリケーション209及び第二アプリケーション210である。RTA111の子プロセスとしてアプリケーションが起動されるので、RTA111はアプリケーションの挙動を容易に把握できる。   Further, the RTA 111 also provides a function as the shell 202. The user interface provided by the RTA 111 for the user to connect to the first server 103 is the dedicated shell 208. When user authentication ends normally, the dedicated shell 208 of the RTA 111 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. The application programs started as child processes of the RTA 111 in this way are the first application 209 and the second application 210 in FIG. Since the application is started as a child process of the RTA 111, the RTA 111 can easily grasp the behavior of the application.

図2では、専用シェル208から起動された第一アプリケーション209及び第二アプリケーション210が表示されている。一方、第一端末105がユーザ認証を完了するまでに既に実行されているOS201のシェル202と第三アプリケーション203が、別途起動された状態である。これらはRTA111の専用シェル208の子プロセスとして起動されたアプリケーションではないので、RTA111のAPIフック機能でその挙動が大幅に制限される。また、実行を禁じられているアプリケーション、「ファイルを開く」動作が禁じられているファイルに対するアプリケーションの起動はRTA111によって阻害され、実行できなくなる。   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 user authentication are in a state of being activated separately. Since these are not applications started as child processes of the dedicated shell 208 of the RTA 111, the behavior is greatly limited by the API hook function of the RTA 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 RTA 111 and cannot be executed.

第一端末105の内蔵USBインターフェース207には、INI−BOX109が接続されている。INI−BOX109には後述するDHCPクライアントが内蔵されており、第一ISP110と接続されることでインターネット接続ができるようになる。第一ISP110はインターネット接続環境をエンドユーザに提供する事業者であるが、説明の都合上、インターネット接続のために動的グローバルIPアドレスを提供するDHCPサーバとインターネット107とのゲートウェイであると仮定する。   An INI-BOX 109 is connected to the built-in USB interface 207 of the first terminal 105. The INI-BOX 109 incorporates a DHCP client, which will be described later, and can be connected to the Internet by being connected to the first ISP 110. The first ISP 110 is a provider that provides an Internet connection environment to an end user, but for convenience of explanation, the first ISP 110 is assumed to be a gateway between a DHCP server that provides a dynamic global IP address for Internet connection and the Internet 107. .

INI−BOX109が第一ISP110を通じてインターネット107に接続されると、NC108とも接続できるようになる。INI−BOX109はインターネット107と接続されることを認識すると、直ちにNC108に対して端末認証を試みる。NC108は後述する端末テーブルを内蔵し、端末テーブルにはINI−BOX109に内包されている機器特定IDが列挙されている。NC108は、端末認証を要求してきたINI−BOX109或はソフトINI113が、NC108がサーバと接続することを許可する端末であることを、端末テーブル内に当該INI−BOX109或はソフトINI113の機器特定IDが存在することで認識し、正常に認証したことを相手に通知する。   When the INI-BOX 109 is connected to the Internet 107 through the first ISP 110, the NC 108 can also be connected. When the INI-BOX 109 recognizes that it is connected to the Internet 107, it immediately tries terminal authentication with respect to the NC 108. The NC 108 incorporates a terminal table described later, and device identification IDs included in the INI-BOX 109 are listed in the terminal table. The NC 108 indicates that the INI-BOX 109 or the software INI 113 that has requested terminal authentication is a terminal that permits the NC 108 to connect to the server, and the device identification ID of the INI-BOX 109 or the software INI 113 in the terminal table. Recognize the presence of, and notify the other party that it has been successfully authenticated.

INI−BOX109が端末認証に成功すると、INI−BOX109は内蔵USBインターフェース207を通じてRTA111に端末認証の成功を報告する。この時、RTA111は内蔵USBインターフェース207上に構築されるIPネットワークを通じて、INI−BOX109と所定の制御情報等の送受信を行う。RTA111は端末認証の成功を受けて表示部206にユーザ認証のための入力画面を表示し、ユーザによる操作部205の操作を受け入れる。   When the INI-BOX 109 succeeds in terminal authentication, the INI-BOX 109 reports the terminal authentication success to the RTA 111 through the built-in USB interface 207. At this time, the RTA 111 transmits / receives predetermined control information and the like to / from the INI-BOX 109 through the IP network constructed on the built-in USB interface 207. In response to the successful terminal authentication, the RTA 111 displays an input screen for user authentication on the display unit 206 and accepts the operation of the operation unit 205 by the user.

図3は第二端末106に注目したネットワークシステムの概略図である。
第二端末106の、第一端末105との相違点は、第二端末106にはINI−BOX109の代わりにソフトINI113がインストールされており、OS201とRTA111との間に介在している点と、第二端末106は第二ISP112と内蔵NIC301で接続される点である。したがって、第一端末105では第一ISP110がINI−BOX109に動的グローバルIPアドレスを付与していたが、第二端末106では第二ISP112が第二端末106が内蔵する内蔵NIC301に直接動的グローバルIPアドレスを付与することとなる。ソフトINI113は第二端末106内にインストールされているので、第一端末105とINI−BOX109の場合のように、IPネットワーク経由で所定の制御情報の送受信を行わずとも、メッセージパッシング、共有メモリ或は名前付きパイプ等、一般的なプロセス間通信の仕組みが利用可能である。
FIG. 3 is a schematic diagram of a network system focused on the second terminal 106.
The difference between the second terminal 106 and the first terminal 105 is that the software INI 113 is installed in the second terminal 106 instead of the INI-BOX 109, and is interposed between the OS 201 and the RTA 111, The second terminal 106 is connected to the second ISP 112 via the built-in NIC 301. Therefore, in the first terminal 105, the first ISP 110 assigns a dynamic global IP address to the INI-BOX 109, but in the second terminal 106, the second ISP 112 directly adds the dynamic global IP address to the built-in NIC 301 built in the second terminal 106. An IP address will be assigned. Since the software INI 113 is installed in the second terminal 106, message passing, shared memory, or the like without performing transmission / reception of predetermined control information via the IP network as in the case of the INI-BOX 109 with the first terminal 105. Can use general interprocess communication mechanisms such as named pipes.

[INI−BOX109]
図4(a)及び(b)は、INI−BOX109の外観斜視図である。
図4(a)はINI−BOX109を斜め正面から見た外観斜視図である。INI−BOX109の前面にはUSB−Aコネクタ402が二つ設けられている。このUSB−Aコネクタ402には、図示しない個人認証情報生成装置が接続される。
図4(b)はINI−BOX109を斜め裏面から見た外観斜視図である。INI−BOX109の裏面にはUSB−Bコネクタ403が一つと、ネットワークコネクタ404が一つ設けられている。USB−Bコネクタ403は、図示しないUSB−Bケーブルを通じて端末が接続される。ネットワークコネクタ404はLANケーブルが接続され、その先には第一ISP110が提供する図示しないモデムが接続される。
[INI-BOX109]
4A and 4B are external perspective views of the INI-BOX 109. FIG.
FIG. 4A is an external perspective view of the INI-BOX 109 as seen obliquely from the front. Two USB-A connectors 402 are provided on the front surface of the INI-BOX 109. A personal authentication information generating device (not shown) is connected to the USB-A connector 402.
FIG. 4B is an external perspective view of the INI-BOX 109 viewed from an oblique back surface. One USB-B connector 403 and one network connector 404 are provided on the back surface of the INI-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 a modem (not shown) provided by the first ISP 110 is connected to the network connector 404.

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

図6はINI−BOX109の機能ブロック図である。
INI−BOX109は、二つのネットワークインターフェースを具備する。
第一NIC507は、図5で図示したようにハードウェアとして構成されるNICであり、第一ISP110を経由してインターネット107に接続される。
第二NIC601は、図5では図示されていないが、フラッシュメモリ504内に格納されているOS及びアプリケーションプログラムによって仮想的に作成される。第一端末105から見ると、第二NIC601はUSB接続される外付けNICとして認識される。つまり、第二NIC601は第一端末105のネットワークシステムが構成するサブネットに含まれ、第一端末105から直接的にアクセスが可能なデバイスである。
FIG. 6 is a functional block diagram of the INI-BOX 109.
The INI-BOX 109 includes two network interfaces.
The first NIC 507 is a NIC configured as hardware as illustrated in FIG. 5, and is connected to the Internet 107 via the first ISP 110.
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. In other words, the second NIC 601 is a device that is included in a subnet configured by the network system of the first terminal 105 and can be directly accessed from the first terminal 105.

INI−BOX109の第一NIC507が第一ISP110に接続されると、DHCPクライアント602は、第一NIC507を通じて第一ISP110の図示しないDHCPサーバから、IPアドレス、ネットマスク、デフォルトゲートウェイ、ネームリゾルバ等のネットワーク構成情報を受信し、第一NIC507がネットワークに接続できるように第一NIC507を設定する。   When the first NIC 507 of the INI-BOX 109 is connected to the first ISP 110, the DHCP client 602 transmits a network such as an IP address, a netmask, a default gateway, and a name resolver from a DHCP server (not shown) of the first ISP 110 through the first NIC 507. The configuration information is received, and the first NIC 507 is set so that the first NIC 507 can connect to the network.

次に、アドレス重複回避部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.

INI−BOX109の第一NIC507が第一ISP110に接続されて、第二NIC601にもプライベートIPアドレスが付与された状態では、ポートフォワード設定部605は一般的な動的NATを構成する。これにより、第一NIC507と第二NIC601との間は支障なくインターネット接続が成立する。なお、この時点では、暗号化通信処理部606は第二NIC601と第一NIC507との間を流れるパケットの暗号化処理及び復号化処理は行わない。   In a state where the first NIC 507 of the INI-BOX 109 is connected to the first ISP 110 and a private IP address is also assigned to the second NIC 601, the port forward setting unit 605 configures a general dynamic NAT. Thereby, the Internet 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 of a packet flowing between the second NIC 601 and the first NIC 507.

一方、認証制御部607は、第一NIC507と第二NIC601との間でインターネット接続が完遂したことを知ると、直ちにNC108に対して端末認証を試みる。端末認証に用いる機器特定ID608は、コントロールセッション管理部609を通じて制御される暗号化通信処理部606によって暗号化されて、NC108に送信される。NC108から暗号化通信処理部606を通じて端末認証の成功の通知を受けると、認証制御部607は第一端末105のRTA111に対して、端末認証の成功を通知する。この時点で、INI−BOX109とNC108との間にはコントロールセッションが形成される。   On the other hand, when the authentication control unit 607 knows that the Internet connection is completed between the first NIC 507 and the second NIC 601, it immediately tries terminal authentication with respect to the NC 108. The device identification ID 608 used for terminal authentication is encrypted by the encrypted communication processing unit 606 controlled through the control session management unit 609 and transmitted to the NC 108. Upon receiving notification of successful terminal authentication from the NC 108 via the encrypted communication processing unit 606, the authentication control unit 607 notifies the RTA 111 of the first terminal 105 of successful terminal authentication. At this point, a control session is formed between the INI-BOX 109 and the NC.

認証制御部607は、RTA111から第二NIC601を通じて、又は第二USBインターフェース506に接続された外部個人認証機器からユーザ認証の情報を受信すると、この情報を暗号化通信処理部606を通じて再びNC108に送信し、ユーザ認証を試みる。ユーザ認証の情報は、様々である。RTA111から受け取る場合は、一般的なユーザIDとパスワードである。第二USBインターフェース506から受け取る場合は、第二USBインターフェース506には指紋認証機器やICカードリーダ等の、個人認証を実現する機器が接続されて、それら機器から個人認証に用いる情報が得られる。更に、RTA111からユーザIDとパスワードを受け取り、ICカードリーダから認証データを受け取り、これらをまとめてNC108に送信する場合もある。以下、これらの端末を使用するユーザを認証するための情報を個人認証情報と総括して呼ぶ。   When the authentication control unit 607 receives user authentication information from the RTA 111 through the second NIC 601 or from an external personal authentication device connected to the second USB interface 506, the authentication control unit 607 transmits the information to the NC 108 again through the encrypted communication processing unit 606. And attempt user authentication. There are various types of user authentication information. When receiving from the RTA 111, it is a general user ID and password. When receiving from the second USB interface 506, a device for realizing personal authentication, such as a fingerprint authentication device or an IC card reader, is connected to the second USB interface 506, and information used for personal authentication can be obtained from these devices. Further, the user ID and password may be received from the RTA 111, the authentication data may be received from the IC card reader, and these may be collectively transmitted to the NC 108. Hereinafter, information for authenticating a user who uses these terminals is collectively referred to as personal authentication information.

個人認証情報は、コントロールセッション管理部609を通じて制御される暗号化通信処理部606によって暗号化されて、NC108に送信される。NC108から暗号化通信処理部606を通じて個人認証の成功の通知を受けると、認証制御部607はこの通知をRTA111へ転送する。そして、RTA111から個人認証が正常終了した旨の通知を受けると、認証制御部607はコントロールセッション管理部609に個人認証の成功を通知する。そして、INI−BOX109全体の制御をコントロールセッション管理部609に委ねる。   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 NC 108. When the notification of the success of the personal authentication is received from the NC 108 through the encrypted communication processing unit 606, the authentication control unit 607 transfers this notification to the RTA 111. Upon receiving notification from the RTA 111 that the personal authentication has been completed normally, the authentication control unit 607 notifies the control session management unit 609 of the success of the personal authentication. Then, control of the entire INI-BOX 109 is left to the control session management unit 609.

コントロールセッション管理部609は、認証制御部607から制御の移譲の通知を受けると、NC108に対し、コントロールセッションを通じて第一端末105を現在使用しているユーザに係る制御設定情報610の送信を依頼する。NC108は制御設定情報610の送信依頼を受けて、個人認証を行ったユーザに対応する制御設定情報610を、後述するユーザテーブルとサーバテーブルから作成して、INI−BOX109に送信する。コントロールセッション管理部609は、NC108から制御設定情報610を受信すると、これをRAM503内に格納する。   Upon receiving the control transfer notification from the authentication control unit 607, the control session management unit 609 requests the NC 108 to transmit control setting information 610 related to the user currently using the first terminal 105 through the control session. . In response to the transmission request for the control setting information 610, the NC 108 creates control setting information 610 corresponding to the user who has performed personal authentication from a user table and a server table, which will be described later, and transmits them to the INI-BOX 109. Upon receiving the control setting information 610 from the NC 108, the control session management unit 609 stores it in the RAM 503.

次に、コントロールセッション管理部609は、NC108から受信した制御設定情報610の一部である制限情報に記述されているパケットフィルタリングの設定情報を読み出して、パケットフィルタ設定部611を制御する。パケットフィルタ設定部611は、コントロールセッション管理部609から与えられたパケットフィルタリングの設定情報に従って、パケットフィルタを構成する。   Next, the control session management unit 609 reads the packet filtering setting information described in the restriction information that is a part of the control setting information 610 received from the NC 108 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.

次にコントロールセッション管理部609は、NC108から受信した制御設定情報610を第一端末105のRTA111に送信する。RTA111は、制御設定情報610の一部である制限情報に記述されているAPIフックの設定情報を読み出して、APIのフックを設定する。また、アイコンを設けて、ユーザがアクセスを許可されているサーバにアクセスするためのリンク情報をアイコンに埋め込む。図1の場合、第一端末105のユーザは第一サーバ103に対するアクセスが許可されているので、第一サーバ103にアクセスするためのアプリケーションと、第一サーバ103にアクセスするためのリンク情報が、アイコンとしてRTA111のGUI画面内に設けられる。   Next, the control session management unit 609 transmits the control setting information 610 received from the NC 108 to the RTA 111 of the first terminal 105. The RTA 111 reads the API hook setting information described in the restriction information which is a part of the control setting information 610, and sets the API hook. In addition, an icon is provided, and link information for accessing a server to which the user is permitted to access is embedded in the icon. In the case of FIG. 1, since the user of the first terminal 105 is permitted to access the first server 103, the application for accessing the first server 103 and the link information for accessing the first server 103 are: An icon is provided in the GUI screen of the RTA 111.

リンク情報の形態は、プロトコルによって異なる。HTTPであればURL(Uniform Resource Locator)であり、CIFS(Common Internet File System:Windows(登録商標)のファイル共有サービスのプロトコル(SMB:Server Message Block)が拡張されたプロトコル)であれば、サーバ名或はサーバのIPアドレスにファイルのフルパス名を追加した形式の文字列であり、RDP(Remote Desktop Protocol)であれば、サーバ名或はサーバのIPアドレスだけである。   The form of link information varies depending on the protocol. If it is HTTP, it is a URL (Uniform Resource Locator), and if it is a CIFS (Common Internet File System: Protocol of the Windows (registered trademark) file sharing service (SMB) is an extended protocol), the server name Alternatively, it is a character string in a format in which the full path name of the file is added to the IP address of the server. In the case of RDP (Remote Desktop Protocol), only the server name or the IP address of the server is used.

ユーザが、RTA111が設けたアイコンをマウス等のポインティングデバイスでクリックすると、アイコンにアプリケーションプログラム名として埋め込まれているアプリケーションがRTA111の専用シェル208を通じて起動され、アプリケーションは起動パラメータとして記述されているリンク情報にしたがって、アクセス要求を示すパケットを発生する。このパケットをINI−BOX109が受信すると、コントロールセッション管理部609はNC108に当該パケットに対応するサーバとの接続を要求する。NC108はユーザが要求したサーバに対応するリバースプロキシを起動する。一方、コントロールセッション管理部609はポートフォワード設定部605を制御して、当該パケットがNC108のリバースプロキシを通じてサーバに届くように、ポートフォワーディングの設定を行わせる。
こうして第一端末105は、INI−BOX109とNC108を介して、第一サーバ103に接続することができる。
When the user clicks on an icon provided by the RTA 111 with a pointing device such as a mouse, the application embedded as the application program name in the icon is started through the dedicated shell 208 of the RTA 111, and the application is linked information described as a startup parameter. To generate a packet indicating an access request. When the INI-BOX 109 receives this packet, the control session management unit 609 requests the NC 108 to connect to the server corresponding to the packet. The NC 108 activates a reverse proxy corresponding to the server requested by the user. On the other hand, the control session management unit 609 controls the port forward setting unit 605 to set the port forwarding so that the packet reaches the server through the reverse proxy of the NC 108.
Thus, the first terminal 105 can connect to the first server 103 via the INI-BOX 109 and the NC 108.

[ソフトINI]
図7は、ソフトINI113の機能ブロック図である。
ソフトINI113は、二つのネットワークインターフェースを具備する。
内蔵NIC301は、第二端末106にハードウェアとして内蔵されるNICであり、第二ISP112を経由してインターネット107に接続される。
ループバック仮想NIC701は、第二端末106にインストールされている、IPv4プロトコルのネットワークOSには標準として備わっている、周知のループバックインターフェースである。仮に端末にNICが装備されていなくても、OS201がIPv4プロトコルをサポートする限り、必ず127.0.0.1というIPアドレスが付与されているループバックインターフェースがOS201内に構成される。特別な設定を施していない限り、ループバックインターフェース宛に送信したパケットは、端末自身のパケット受信対象に送付される。つまり、「loop back」、送信したパケットが輪を描くように出発点、つまり端末自身に戻る。
[Soft INI]
FIG. 7 is a functional block diagram of the software INI 113.
The software INI 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 Internet 107 via the second ISP 112.
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 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.

INI−BOX109の場合は、第一NIC507は第一端末105から直接的にアクセスが可能なデバイスでは無かった。しかし、ソフトINI113の場合、内蔵NIC301もループバック仮想NIC701も、第二端末106のOS201及びアプリケーションから等しくアクセスが可能なデバイスである。   In the case of the INI-BOX 109, the first NIC 507 is not a device that can be accessed directly from the first terminal 105. However, in the case of the software INI 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.

ソフトINI113の内蔵NIC301が第二ISP112に接続されると、OS201が内蔵するDHCPクライアント702は、内蔵NIC301を通じて第二ISP112の図示しないDHCPサーバから、IPアドレス、ネットマスク、デフォルトゲートウェイ、ネームリゾルバ等のネットワーク構成情報を受信し、内蔵NIC301がネットワークに接続できるように内蔵NIC301を設定する。   When the built-in NIC 301 of the software INI 113 is connected to the second ISP 112, the DHCP client 702 built in the OS 201 receives an IP address, a netmask, a default gateway, a name resolver, and the like from a DHCP server (not shown) of the second ISP 112 through the built-in NIC 301. The network configuration information is received, and the built-in NIC 301 is set so that the built-in NIC 301 can be connected to the network.

INI−BOX109の場合は、この手順の次に、第一NIC507と第二NIC601のサブネットが重複しないための処理が必要だったが、ループバック仮想NIC701は、グローバル或はプライベートのIPアドレスが付与される内蔵NIC301とは必ずネットワークセグメントが重複しないので、アドレス重複回避部603を設ける必要はない。また、ループバックアドレスは固定であるので、DHCPサーバ604も不要である。   In the case of the INI-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.

ソフトINI113の内蔵NIC301が第二ISP112に接続された状態では、ポートフォワード設定部705は何もしない。また、パケットフィルタ設定部706も何もしない。これにより、OS201及びアプリケーションは内蔵NIC301を通じて支障なくインターネット接続ができる。なお、この時点では、暗号化通信処理部606はループバック仮想NIC701と内蔵NIC301との間を流れるパケットの暗号化処理及び復号化処理は行わない。   In a state where the built-in NIC 301 of the software INI 113 is connected to the second ISP 112, the port forward setting unit 705 does nothing. Also, the packet filter setting unit 706 does nothing. Thereby, the OS 201 and the application can connect to the Internet 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.

一方、認証制御部607は、内蔵NIC301のインターネット接続が完遂したことを知ると、直ちにNC108に対して端末認証を試みる。端末認証に用いる機器特定ID608は、コントロールセッション管理部609を通じて制御される暗号化通信処理部606によって暗号化されて、NC108に送信される。NC108から暗号化通信処理部606を通じて端末認証の成功の通知を受けると、認証制御部607は第二端末106のRTA111に対して、端末認証の成功を通知する。この時点で、ソフトINI113とNC108との間にはコントロールセッションが形成される。   On the other hand, when the authentication control unit 607 knows that the Internet connection of the built-in NIC 301 has been completed, it immediately tries terminal authentication with respect to the NC 108. The device identification ID 608 used for terminal authentication is encrypted by the encrypted communication processing unit 606 controlled through the control session management unit 609 and transmitted to the NC 108. Upon receiving notification of successful terminal authentication from the NC 108 through the encrypted communication processing unit 606, the authentication control unit 607 notifies the RTA 111 of the second terminal 106 of successful terminal authentication. At this time, a control session is formed between the software INI 113 and the NC 108.

認証制御部607は、RTA111から、又は内蔵USBインターフェース207に接続された外部個人認証機器から個人認証情報を受信すると、この情報を暗号化通信処理部606を通じて再びNC108に送信し、ユーザ認証を試みる。   Upon receiving personal authentication information from the RTA 111 or from an external personal authentication device connected to the built-in USB interface 207, the authentication control unit 607 transmits this information to the NC 108 again through the encrypted communication processing unit 606, and attempts user authentication. .

個人認証情報は、コントロールセッション管理部609を通じて制御される暗号化通信処理部606によって暗号化されて、NC108に送信される。NC108から暗号化通信処理部606を通じて個人認証の成功の通知を受けると、認証制御部607はこの通知をRTA111へ転送する。そして、RTA111から個人認証が正常終了した旨の通知を受けると、認証制御部607はコントロールセッション管理部609に個人認証の成功を通知する。そして、ソフトINI113全体の制御をコントロールセッション管理部609に委ねる。   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 NC 108. When the notification of the success of the personal authentication is received from the NC 108 through the encrypted communication processing unit 606, the authentication control unit 607 transfers this notification to the RTA 111. Upon receiving notification from the RTA 111 that the personal authentication has been completed normally, the authentication control unit 607 notifies the control session management unit 609 of the success of the personal authentication. Then, control of the entire software INI 113 is left to the control session management unit 609.

コントロールセッション管理部609は、認証制御部607から制御の移譲の通知を受けると、NC108に対し、コントロールセッションを通じて第二端末106を現在使用しているユーザに係る制御設定情報610の送信を依頼する。NC108は制御設定情報610の送信依頼を受けて、個人認証を行ったユーザに対応する制御設定情報610を、後述するユーザテーブル及びサーバテーブルから作成して、ソフトINI113に送信する。コントロールセッション管理部609は、NC108から制御設定情報610を受信すると、これを図示しないRAM503内に格納する。   Upon receiving the control transfer notification from the authentication control unit 607, the control session management unit 609 requests the NC 108 to transmit control setting information 610 related to the user currently using the second terminal 106 through the control session. . In response to the transmission request for the control setting information 610, the NC 108 creates control setting information 610 corresponding to the user who has performed personal authentication from a user table and a server table, which will be described later, and transmits them to the software INI 113. Upon receiving the control setting information 610 from the NC 108, the control session management unit 609 stores it in a RAM 503 (not shown).

次に、コントロールセッション管理部609は、NC108から受信した制御設定情報610の一部である制限情報に記述されているパケットフィルタリングの設定情報を読み出して、パケットフィルタ設定部706を制御する。パケットフィルタ設定部706は、コントロールセッション管理部609から与えられたパケットフィルタリングの設定情報に従って、パケットフィルタを構成する。   Next, the control session management unit 609 reads the packet filtering setting information described in the restriction information that is a part of the control setting information 610 received from the NC 108 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.

INI−BOX109の場合、この次には、コントロールセッション管理部609が制御設定情報610を第二端末106のRTA111に送信する手順を踏むが、ソフトINI113の場合、ソフトINI113とRTA111が第二端末106内に共存しているので、NC108から受信した制御設定情報610は直ちにRTA111も参照可能である。したがって、ソフトINI113が制御設定情報610を第二端末106のRTA111に送信する手順は、本質的に生じ得ない。   In the case of the INI-BOX 109, next, the control session management unit 609 follows the procedure of transmitting the control setting information 610 to the RTA 111 of the second terminal 106. In the case of the software INI 113, the software INI 113 and the RTA 111 are connected to the second terminal 106. The control setting information 610 received from the NC 108 can immediately refer to the RTA 111 as well. Therefore, the procedure in which the software INI 113 transmits the control setting information 610 to the RTA 111 of the second terminal 106 cannot essentially occur.

RTA111は、図示しないRAM503に保存されている制御設定情報610の一部である制限情報に記述されているAPIフックの設定情報を読み出して、APIのフックを設定する。また、アイコンを設けて、ユーザがアクセスを許可されているサーバにアクセスするためのリンク情報をアイコンに埋め込む。図1の場合、第二端末106のユーザは第二サーバ104に対するアクセスが許可されているので、第二サーバ104にアクセスするためのアプリケーションと、第二サーバ104にアクセスするためのリンク情報が、アイコンとしてRTA111のGUI画面内に設けられる。   The RTA 111 reads the API hook setting information described in the restriction information which is a part of the control setting information 610 stored in the RAM 503 (not shown), and sets the API hook. In addition, an icon is provided, and link information for accessing a server to which the user is permitted to access is embedded in the icon. In the case of FIG. 1, since the user of the second terminal 106 is permitted to access the second server 104, the application for accessing the second server 104 and the link information for accessing the second server 104 are An icon is provided in the GUI screen of the RTA 111.

ユーザが、RTA111が設けたアイコンをマウス等のポインティングデバイスでクリックすると、アイコンにアプリケーションプログラム名として埋め込まれているアプリケーションがRTA111の専用シェル208を通じて起動され、アプリケーションは起動パラメータとして記述されているリンク情報にしたがって、アクセス要求を示すパケットを発生する。このパケットの宛先IPアドレスはループバック仮想NIC701のそれか、ループバック仮想NIC701が属するサブネット(127.0.0.0/8)の範囲内のIPアドレスである。このパケットをソフトINI113のコントロールセッション管理部609が受信すると、コントロールセッション管理部609はNC108に当該パケットに対応するサーバとの接続を要求する。NC108はユーザが要求したサーバに対応するリバースプロキシを起動する。一方、コントロールセッション管理部609はポートフォワード設定部705を制御して、当該パケットがNC108のリバースプロキシを通じてサーバに届くように、ポートフォワーディングの設定を行わせる。すると、アプリケーションがループバック仮想NIC701或はループバック仮想NIC701が属するサブネット内の特定ポートと送受信するパケットは、ポートフォワード設定部705を通じてNC108へ送受信される。
こうして第二端末106は、ソフトINI113とNC108を介して、第二サーバ104に接続することができる。
When the user clicks on an icon provided by the RTA 111 with a pointing device such as a mouse, the application embedded as the application program name in the icon is started through the dedicated shell 208 of the RTA 111, and the application is linked information described as a startup parameter. To generate a packet indicating an access request. The destination IP address of this packet is that of the loopback virtual NIC 701 or an IP address within the range of the subnet (127.0.0.0/8) to which the loopback virtual NIC 701 belongs. When the control session management unit 609 of the software INI 113 receives this packet, the control session management unit 609 requests the NC 108 to connect to the server corresponding to the packet. The NC 108 activates a reverse proxy corresponding to the server requested by the user. On the other hand, the control session management unit 609 controls the port forward setting unit 705 to set the port forwarding so that the packet reaches the server through the reverse proxy of the NC 108. Then, a packet transmitted / received by the application to / from the loopback virtual NIC 701 or a specific port in the subnet to which the loopback virtual NIC 701 belongs is transmitted / received to / from the NC 108 via the port forward setting unit 705.
In this way, the second terminal 106 can connect to the second server 104 via the software INI 113 and the NC 108.

以上、INI−BOX109とソフトINI113を説明した。
これまでの説明で明らかなように、INIはNC108の指示、具体的にはNC108が作成する制御設定情報610の一部である制限情報に基づいて、端末で稼働するOS201或はそのOS201を通じて動作するアプリケーションから発生する通信に対し、パケットフィルタで制限を加える。そして、ユーザが許可されたサーバに対する仮想的な接続を実現するために、NC108に対するポートフォワーディングを設定する。
ポートフォワーディングを行うことで、端末はあたかもLAN102内のサーバに接続する時と同等の状態で、インターネット107及びファイアウォールを介したサーバに接続することができる。
The INI-BOX 109 and the software INI 113 have been described above.
As is apparent from the above description, the INI operates on the OS 201 running on the terminal or through the OS 201 based on an instruction from the NC 108, specifically, restriction information that is part of the control setting information 610 created by the NC 108. A packet filter is used to limit communications generated from applications that perform Then, in order to realize a virtual connection to the server permitted by the user, port forwarding for the NC 108 is set.
By performing port forwarding, the terminal can connect to the server via the Internet 107 and a firewall in the same state as when connecting to the server in the LAN 102.

NC108が作成する制御設定情報610は、INIとRTA111の動作を制御するための設定情報である制限情報と、後述する名前解決に必要な仮想資源テーブルよりなる。これまで説明した制御設定情報610の役割の説明は、制限情報の役割であった。仮想資源テーブルについては、後述する名前解決の説明で詳述する。   The control setting information 610 created by the NC 108 includes restriction information that is setting information for controlling the operation of the INI and the RTA 111, and a virtual resource table necessary for name resolution, which will be described later. The description of the role of the control setting information 610 described so far has been the role of restriction information. The virtual resource table will be described in detail in the explanation of name resolution described later.

[RTA111]
図8は、RTA111の機能ブロック図である。
これまでの説明で明らかなように、RTA111はNC108の指示、具体的にはNC108が作成する制御設定情報610の一部である制限情報に基づいて、端末で起動するアプリケーションと、アプリケーションの動作に連れて使用されるデバイスに対して監視を行い、必要に応じて動作を制限する等の制御を行い、ログ記録等の管理を行う。このような機能を実現するために、RTA111はOS201に備わっているAPIをフックして、アプリケーション及びOS201の挙動を常時監視する。そして、APIが制限情報に記述されている制限条件に合致した場合、RTA111は当該APIの起動を阻止し、INIを通じてNC108に報告する。
[RTA111]
FIG. 8 is a functional block diagram of the RTA 111.
As is apparent from the above description, the RTA 111 determines the application to be started on the terminal and the operation of the application based on the instruction of the NC 108, specifically, the restriction information that is part of the control setting information 610 created by the NC 108. It monitors the devices used with it, performs control such as restricting the operation as necessary, and manages log recording and the like. In order to realize such a function, the RTA 111 hooks an API provided in the OS 201 and constantly monitors the behavior of the application and the OS 201. If the API matches the restriction condition described in the restriction information, the RTA 111 prevents the API from starting and reports it to the NC 108 through the INI.

図8では、RTA111を説明する際に必要不可欠な、OS201とアプリケーションについても機能ブロックとして表記している。
OS201には様々な機能が含まれているが、本実施形態を説明するに際し、OS201はハードウェアをアプリケーションから扱い易くするためのデバイスドライバの集合体と考えることができる。そして、デバイスドライバはAPIの集合体ともいえる。図8では、主にこれらハードウェアとデバイスドライバに着目して、機能ブロックを記述した。
In FIG. 8, the OS 201 and applications that are indispensable when describing the RTA 111 are also expressed as functional blocks.
Although various functions are included in the OS 201, when describing the present embodiment, the OS 201 can be considered as a collection of device drivers for making 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はINI−BOX109に仮想的に設けられた。何れの場合においても、インターネット107に接続する以上、NICは存在する。
操作ドライバ801は、操作部205が発する操作情報をアプリケーションやシェル202に引き渡す。
表示制御部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 in the INI-BOX 109. In any case, the NIC exists as long as it is connected to the Internet 107.
The operation driver 801 delivers operation information issued by the operation unit 205 to the application and the shell 202.
The display control unit 802 converts screen drawing instruction information generated from the application or the shell 202 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 and libraries existing in the storage 204 through the applications and the shell 202.
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も含む。INI−BOX109を利用する場合、INI−BOX109内のDHCPクライアント602はINI−BOX109内の第二NIC601に、INI−BOX109内のDHCPサーバ604から受信するネットワーク構成情報に基づいて動的IPアドレスを与える。ソフトINI113を利用する場合、ネットワークドライバ806の一機能であるDHCPクライアント702は内蔵NIC301に、第二ISP112のDHCPサーバ604から受信するネットワーク構成情報に基づいて動的IPアドレスを与える。   The network driver 806 also includes a DHCP client 702. When using the INI-BOX 109, the DHCP client 602 in the INI-BOX 109 gives a dynamic IP address to the second NIC 601 in the INI-BOX 109 based on the network configuration information received from the DHCP server 604 in the INI-BOX 109. . When using the software INI 113, the DHCP client 702, which is a function of the network driver 806, gives a dynamic IP address to the built-in NIC 301 based on the network configuration information received from the DHCP server 604 of the second ISP 112.

RTA111は、OS201の初期起動プロセスやシェル202を通じたユーザの操作、或はUSBメモリ内に格納された状態でUSBメモリを端末に接続して自動実行される等で起動されると、最初にAPIフック設定部807がINI−BOX109又はソフトINI113との通信を試みる。INI−BOX109又はソフトINI113との通信に成功すると、APIフック設定部807は次にINI−BOX109又はソフトINI113から端末認証が成功した旨の受信を待つ。INI−BOX109又はソフトINI113から、端末認証に成功した旨の報告が来たら、APIフック設定部807は次にユーザ認証を実行する。外部個人認証機器がINI−BOX109又は端末に接続されていればそれを優先し、そうでない場合はユーザID及びパスワードを入力するための画面を表示部206に表示し、ユーザの入力を待つ。   When the RTA 111 is started by an initial startup 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 RTA 111 is first started with an API. The hook setting unit 807 tries to communicate with the INI-BOX 109 or the software INI 113. If the communication with the INI-BOX 109 or the software INI 113 is successful, the API hook setting unit 807 next waits for reception from the INI-BOX 109 or the software INI 113 that the terminal authentication is successful. When a report indicating that the terminal authentication is successful is received from the INI-BOX 109 or the software INI 113, the API hook setting unit 807 next executes user authentication. If the external personal authentication device is connected to the INI-BOX 109 or the terminal, it is given priority. If not, a screen for inputting the user ID and password is displayed on the display unit 206, and the user input is awaited.

NC108からINI−BOX109又はソフトINI113を通じてユーザ認証が成功した旨の報告を受けたら、APIフック設定部807は次に制御設定情報610が存在するか否か確認する。
ソフトINI113の場合、ユーザ認証が成功するとソフトINI113がNC108から制御設定情報610をダウンロードして、端末の図示しないRAM内に制御設定情報610を保持しているので、APIフック設定部807は明示的に何らかの動作をすることなく、すぐに次の動作に移行できる。
INI−BOX109の場合、APIフック設定部807はINI−BOX109に対して制御設定情報610を要求する。INI−BOX109から制御設定情報610をダウンロードして、RAM503内に制御設定情報610を保持する。
Upon receiving a report from the NC 108 through the INI-BOX 109 or the software INI 113 that the user authentication has been successful, the API hook setting unit 807 next checks whether or not the control setting information 610 exists.
In the case of the software INI 113, if the user authentication is successful, the software INI 113 downloads the control setting information 610 from the NC 108 and holds the control setting information 610 in the RAM (not shown) of the terminal. Without any action, you can immediately move to the next action.
In the case of the INI-BOX 109, the API hook setting unit 807 requests the control setting information 610 from the INI-BOX 109. The control setting information 610 is downloaded from the INI-BOX 109 and the control setting information 610 is stored in the RAM 503.

NC108から制御設定情報610を得ると、APIフック設定部807は、制御設定情報610の一部である制限情報に記述されている情報に従って、操作情報取得部808、画面キャプチャ処理部809、ファイルシステム監視部810、プロセス監視部811、クリップボード監視部812、そしてAPIフック処理部813に設定を行う。   When the control setting information 610 is obtained from the NC 108, the API hook setting unit 807, according to the information described in the restriction information that is a part of the control setting information 610, the operation information acquisition unit 808, the screen capture processing unit 809, the file system Settings are made in the monitoring unit 810, the process monitoring unit 811, the clipboard monitoring unit 812, and the API hook processing unit 813.

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

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は、制限情報に記述されている情報に従って、当該情報に記されている条件に合致したら、操作ドライバ801から得られる操作情報を、INI−BOX109又はソフトINI113を通じてNC108へ報告する。
画面キャプチャ処理部809は、制限情報に記述されている情報に従って、当該情報に記されている条件に合致したら、表示制御部802から得られるビットマップ画面情報を、INI−BOX109又はソフトINI113を通じてNC108へ報告する。
The operation information acquisition unit 808 reports the operation information obtained from the operation driver 801 to the NC 108 through the INI-BOX 109 or the software INI 113 when the conditions described in the information are met according to the information described in the restriction information. .
When the screen capture processing unit 809 meets the conditions described in the information according to the information described in the restriction information, the screen capture processing unit 809 transmits the bitmap screen information obtained from the display control unit 802 to the NC 108 through the INI-BOX 109 or the software INI 113. Report to

専用シェル208は、制御設定情報610の記述に従って、ユーザが実行を許可されるアプリケーションのアプリケーションプログラム名と、ユーザがアクセスを許可されるサーバのリソース名(resource:「情報資源」の意)を含むアイコンを作成する。アイコンの中身はコマンドライン文字列であり、実行するアプリケーションプログラム名と、その引数としてサーバのリソース名が記述される。また、アプリケーションプログラムによっては、起動時に必要な種々のオプションスイッチも含まれる。このアイコンをマウス等のポインティングデバイス等でクリックすることで起動したアプリケーションプログラムが、図8の第一アプリケーション209及び第二アプリケーション210である。第一アプリケーション209及び第二アプリケーション210は専用シェル208の子プロセスとして起動されるので、第一アプリケーション209及び第二アプリケーション210の挙動は専用シェル208を通じて完全に把握可能である。   The dedicated shell 208 includes an application program name of an application that the user is allowed to execute and a server resource name (resource: “information resource”) that the user is allowed to access according to the description of the control setting information 610. Create an icon. 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 are described as arguments. 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が厳しくその挙動を監視し、サーバに対するセキュリティ面の脅威となる可能性のある操作は直ちに中止する。また、起動自体が禁じられているアプリケーションプログラムについては、プロセス監視部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). Monitor the behavior closely and immediately cease operations that could pose a security threat to the server. In addition, the process monitoring unit 811 forcibly terminates the application program whose activation itself is prohibited.

[NC108]
図9は、NC108の機能ブロック図である。
本実施形態のNC108は、LAN102のゲートウェイを兼用する。インターネット107に接続される第三NIC901には固定のグローバルIPアドレスが、LAN102に接続される第四NIC902には、LAN102のゲートウェイアドレスとなる固定のプライベートIPアドレスが付与されている。第三NIC901と第四NIC902との間には、LAN102に接続されている端末がインターネット107に接続するための動的NATの機能と、インターネット107上のセキュリティ上の脅威からLAN102内の端末及びサーバを保護するためのパケットフィルタリングの機能を備えたファイアウォール903が設けられている。
[NC108]
FIG. 9 is a functional block diagram of the NC 108.
The NC 108 of this embodiment also serves as a gateway for the LAN 102. The third NIC 901 connected to the Internet 107 is assigned a fixed global IP address, and the fourth NIC 902 connected to the LAN 102 is assigned a fixed private IP address serving as the gateway address of the LAN 102. Between the third NIC 901 and the fourth NIC 902, a dynamic NAT function for a terminal connected to the LAN 102 to connect to the Internet 107, and a terminal and a server in the LAN 102 due to security threats on the Internet 107 A firewall 903 having a packet filtering function for protecting the network is provided.

第三NIC901に接続されている暗号化通信処理部904は、INI−BOX109及びソフトINI113に設けられている暗号化通信処理部606と対をなす。つまり、INIと認証情報の送受信と、コントロールセッション及びデータセッションの暗号化を施す。
認証部905は、端末テーブル906及びユーザテーブル907を参照して、端末認証及びユーザ認証を遂行する。認証部905は更に、ユーザ認証が正常に終了した端末については、その機器特定ID608とユーザIDの組みを認証済IDリスト908に書き出す。
The encrypted communication processing unit 904 connected to the third NIC 901 makes a pair with the encrypted communication processing unit 606 provided in the INI-BOX 109 and the software INI 113. That is, transmission / reception of INI and authentication information, and encryption of a control session and a data session are performed.
The authentication unit 905 performs terminal authentication and user authentication with reference to the terminal table 906 and the user table 907. Further, the authentication unit 905 writes the combination of the device identification ID 608 and the user ID in the authenticated ID list 908 for a terminal for which user authentication has been completed normally.

コントロールセッション管理部909は、INI−BOX109及びソフトINI113に設けられているコントロールセッション管理部609と対をなす。つまり、INIとの間にコントロールセッションを形成し、端末に対する様々な制御情報の送受信を行う。特に、ユーザテーブル907には制限情報がユーザ毎に格納されており、コントロールセッション管理部909はINIの要求に応じてユーザテーブル907から当該ユーザの制限情報を読み出してINIへ送信する。   The control session management unit 909 makes a pair with the control session management unit 609 provided in the INI-BOX 109 and the software INI 113. That is, a control session is formed with the INI, and various control information is transmitted to and received from the terminal. In particular, the restriction information is stored for each user in the user table 907, and the control session management unit 909 reads the restriction information of the user from the user table 907 and transmits it to the INI in response to the INI request.

データセッション管理部910は、コントロールセッション管理部909を通じて、INIから来たサーバに対する接続要求に応じて、当該サーバに対応するリバースプロキシを起動して、INIとNC108との間にデータセッションを形成する。データセッション管理部910によって起動されるプロセスは、図9に示すように、第一リバースプロキシ911、第二リバースプロキシ912、…と、端末との間に形成されるデータセッションの数に応じて増減する。   The data session management unit 910 activates a reverse proxy corresponding to the server through the control session management unit 909 in response to a connection request from the INI to the server, and forms a data session between the INI and the NC 108. . As shown in FIG. 9, the process activated by the data session management unit 910 increases or decreases according to the number of data sessions formed between the first reverse proxy 911, the second reverse proxy 912,. To do.

端末テーブル906は、NC108が接続を許可するINIの機器特定ID608が列挙されているテーブルである。
ユーザテーブル907は、NC108が接続を許可するユーザのユーザID及びパスワード等の個人認証情報と、当該ユーザの制限情報と、当該ユーザが接続を許可されているサーバのサーバ名が格納されている。
サーバテーブル913は、ユーザIDと、当該ユーザIDのユーザが利用できるサーバのサーバ名と、当該サーバのアクセスに用いられるプロトコルの種類と、対応するリバースプロキシのプログラム名等が格納されている。このサーバテーブル913には、端末が接続したいサーバを正しく指定できるために必要な「名前解決」の仕組みに必要な情報が格納されている。
The terminal table 906 is a table in which the INI device identification IDs 608 that the NC 108 permits connection are listed.
The user table 907 stores personal authentication information such as user IDs and passwords of users permitted to be connected by the NC 108, restriction information of the users, and server names of servers to which the users are permitted to connect.
The server table 913 stores a user ID, a server name of a server that can be used by the user of the user ID, a protocol type used for accessing the server, a corresponding reverse proxy program name, and the like. This server table 913 stores information necessary for the “name resolution” mechanism necessary for correctly specifying the server to which the terminal wants to connect.

端末がユーザ認証を完遂すると、コントロールセッション管理部909は、サーバテーブル913から、ユーザがサーバにアクセスするために、端末に必要な情報である仮想資源テーブルと、リバースプロキシに必要な情報であるユーザ資源テーブルを作成する。
仮想資源テーブルはユーザテーブル907の制限情報と併せて制御設定情報610を構成し、INIに送信される。
ユーザ資源テーブルはユーザ毎に作成され、NC108の資源テーブルディレクトリ914に格納され、リバースプロキシの起動に利用される。
When the terminal completes user authentication, the control session management unit 909, from the server table 913, in order for the user to access the server, the virtual resource table that is information necessary for the terminal and the user that is information necessary for the reverse proxy Create a resource table.
The virtual resource table constitutes control setting information 610 together with the restriction information of the user table 907 and is transmitted to the INI.
The user resource table is created for each user, stored in the resource table directory 914 of the NC 108, and used for starting the reverse proxy.

図示しないリバースプロキシサーバプログラムは、サーバにアクセスする際に利用するプロトコルに応じて用意される。HTTPであれば、プロキシモードのリザルトコードを実装する。CIFSやRDPの場合は、IPアドレスの書き換えのみ行う。   A reverse proxy server program (not shown) is prepared according to a protocol used when accessing the server. If HTTP, the proxy mode result code is implemented. In the case of CIFS or RDP, only IP address rewriting is performed.

これまでの説明で明らかなように、NC108は、INIに対して端末認証とユーザ認証の二重の認証を行い、INIとの間にコントロールセッションを形成する。そして、端末を操作するユーザにサーバとの接続を実現するために、INIとNC108との間にデータセッションを形成し、サーバとINIとの間に当該データセッションに接続するリバースプロキシを起動する。   As is clear from the above description, the NC 108 performs dual authentication of terminal authentication and user authentication on the INI, and forms a control session with the INI. Then, in order to realize a connection with the server for the user who operates the terminal, a data session is formed between the INI and the NC 108, and a reverse proxy connected to the data session is activated between the server and the INI.

先のINIの説明で、INIがポートフォワーディングを行うことで、端末はあたかもLAN102内のサーバに接続する時と同等の状態で、インターネット107及びファイアウォール903を介したサーバに接続することができる、と説明した。このことについて詳述する。
端末が、単にファイアウォール903の向こう側に存在するサーバに対して接続を行うのであれば、LAN102のゲートウェイ或はLAN102とインターネット107との境界に配置される機器に、リバースプロキシを設定すればよい。しかし、この場合、端末はリバースプロキシが稼働するマシンのグローバルIPアドレスに対して接続を行うこととなる。このような接続形態は、アプリケーションに元々から備わっているセキュリティ設定によって様々な悪影響を生じる虞がある。
In the explanation of the INI, when the INI performs port forwarding, the terminal can connect to the server via the Internet 107 and the firewall 903 in the same state as when connecting to the server in the LAN 102. explained. This will be described in detail.
If the terminal simply connects to a server that exists on the other side of the firewall 903, 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 global 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内のサーバに接続しても、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, if the reverse proxy alone is used, it is not possible to guarantee that a desired application such as an IE will operate normally even if it is connected from the Internet 107 to a server in the LAN 102. high.

この問題を解決するためには、IE等の端末上で動作するアプリケーションに対して、「あたかもLAN102内のサーバに接続していると錯覚させる」仕組みが必要である。このための解決策が、ポートフォワーディングである。ポートフォワーディングを通じてサーバに接続する、ということは、INI−BOX109の場合では端末と同一サブネットのプライベートアドレスに対して、ソフトINI113の場合ではループバックアドレスに対して、接続する、ということとなる。何れの場合も、IEから見ると、パケットに付される宛先IPアドレスはアプリケーションのセキュリティ設定を低い状態にできる「ローカルイントラネット」に属する。こうして、端末はインターネット107を越えてファイアウォール903の向こう側にあるサーバに対し、制限のない「ローカルイントラネット」としてのアクセスを実現する。   In order to solve this problem, a mechanism that “makes the user feel as if connected to a server in the LAN 102” is required for an application running on a terminal such as an IE. The solution for this is port forwarding. Connecting to a server through port forwarding means connecting to a private address in the same subnet as the terminal in the case of INI-BOX 109, and to a loopback address in the case of software INI 113. 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 restriction to a server beyond the firewall 107, beyond the Internet 107.

[動作]
図10及び図11は、端末がインターネット107に接続して、認証を完遂する迄の動作の流れを示すタイムチャートである。
端末がインターネット107に接続する動作は、INI−BOX109とソフトINI113とで若干異なる。
前述のINI−BOX109が接続されている第一端末105の場合は、INI−BOX109の第一NIC507を第一ISP110が提供するモデムに接続する。
前述のソフトINI113を内蔵する第二端末106の場合は、第二端末106の内蔵NIC301を第二ISP112が提供するモデムに接続する。
すると、INI−BOX109の場合はINI−BOX109に内蔵されるDHCPクライアント702が(S1001)、ソフトINI113の場合はOS201が内蔵するDHCPクライアント702が(S1002)起動して、ISPに備わっているDHCPサーバからネットワーク構成情報を受信してNICに所定の設定を施すことで(S1003)、端末はインターネット107との接続を確立する(S1004)。
[Operation]
10 and 11 are time charts showing the flow of operations until the terminal completes authentication after connecting to the Internet 107.
The operation of the terminal connecting to the Internet 107 is slightly different between the INI-BOX 109 and the software INI 113.
In the case of the first terminal 105 to which the INI-BOX 109 is connected, the first NIC 507 of the INI-BOX 109 is connected to the modem provided by the first ISP 110.
In the case of the second terminal 106 incorporating the aforementioned software INI 113, the built-in NIC 301 of the second terminal 106 is connected to the modem provided by the second ISP 112.
Then, in the case of the INI-BOX 109, the DHCP client 702 built in the INI-BOX 109 is activated (S1001), and in the case of the software INI 113, the DHCP client 702 built in the OS 201 is activated (S1002), and the DHCP server provided in the ISP is activated. By receiving the network configuration information from the network and applying predetermined settings to the NIC (S1003), the terminal establishes a connection with the Internet 107 (S1004).

INIの認証制御部607は、端末がインターネット107に接続したことを検出すると、NC108に機器特定ID608を送信して、端末認証を試みる(S1005)。NC108の認証部905は検証を行い(S1006)、端末認証の結果をINIに返す。
INIの認証制御部607は、NC108から返ってきた端末認証結果が「正常に認証した(認証OK)」であれば(S1007のYES)、その旨をRTA111に報告する(S1008)。そして、この時点でNC108とソフトINI113との間には、制御のための通信路、つまりコントロールセッションが形成される。
逆に、NC108から返ってきた認証結果が「正常に認証できなかった(認証NG)」であれば(S1007のNO)、異常終了する(S1009)。異常終了の場合は、端末がNC108に接続する資格を持たないので、これ以降処理する事項はない。
When detecting that the terminal is connected to the Internet 107, the INI authentication control unit 607 transmits a device identification ID 608 to the NC 108 and attempts terminal authentication (S1005). The authentication unit 905 of the NC 108 performs verification (S1006) and returns the result of terminal authentication to the INI.
If the terminal authentication result returned from the NC 108 is “normally authenticated (authentication OK)” (YES in S1007), the INI authentication control unit 607 reports that fact to the RTA 111 (S1008). At this time, a communication channel for control, that is, a control session is formed between the NC 108 and the software INI 113.
Conversely, if the authentication result returned from the NC 108 is “normal authentication could not be performed (authentication NG)” (NO in S1007), the process ends abnormally (S1009). In the case of abnormal termination, since the terminal is not qualified to connect to the NC 108, there are no further processing items.

RTA111のAPIフック設定部807は、INIから端末認証が正常に終了した旨の報告を受けると、端末の表示部206にユーザID及びパスワードを入力するための画面、或は外部個人認証機器を用いたユーザ認証操作の案内画面を表示し(S1010)、個人認証情報の入力を待つ(S1011)。個人認証情報が入力されたら、APIフック設定部807はINIに個人認証情報を送信する(S1012)。INIの認証制御部607は受信した個人認証情報をNC108へ転送する(S1013)。
NC108の認証部905は、受信した個人認証情報でユーザテーブル907を検索し、当該個人認証情報が正当であるか否かを検証する(S1014)。認証部905は検証の結果をINIに返送する(S1015)。INIの認証制御部607は受信したユーザ認証結果をRTA111へ転送する(S1016)。
When the API hook setting unit 807 of the RTA 111 receives a report that the terminal authentication has been normally completed from the INI, the API hook setting unit 807 uses a screen for inputting the user ID and password on the display unit 206 of the terminal or an external personal authentication device. The user authentication operation guidance screen is displayed (S1010), and input of personal authentication information is awaited (S1011). When the personal authentication information is input, the API hook setting unit 807 transmits the personal authentication information to the INI (S1012). The INI authentication control unit 607 transfers the received personal authentication information to the NC 108 (S1013).
The authentication unit 905 of the NC 108 searches the user table 907 with the received personal authentication information, and verifies whether the personal authentication information is valid (S1014). The authentication unit 905 returns the verification result to the INI (S1015). The INI authentication control unit 607 transfers the received user authentication result to the RTA 111 (S1016).

RTA111のAPIフック設定部807は、NC108から返ってきたユーザ認証結果が「正常に認証した(認証OK)」であれば(S1017のYES)、INIから制御設定情報610が送信されるのを待つ。逆に、NC108から返ってきた認証結果が「正常に認証できなかった(認証NG)」であれば(S1017のNO)、表示部206にエラー画面を表示して(S1018)、再度ユーザ認証画面を表示する(S1010)。つまり、端末認証は完了しているがユーザ認証が完了していないので、ユーザ認証が正常終了するまでユーザ認証の動作は繰り返される。   If the user authentication result returned from the NC 108 is “normally authenticated (authentication OK)” (YES in S1017), the API hook setting unit 807 of the RTA 111 waits for the control setting information 610 to be transmitted from the INI. . On the contrary, if the authentication result returned from the NC 108 is “normal authentication could not be performed (authentication NG)” (NO in S1017), an error screen is displayed on the display unit 206 (S1018), and the user authentication screen is displayed again. Is displayed (S1010). That is, since the terminal authentication is completed but the user authentication is not completed, the user authentication operation is repeated until the user authentication is normally completed.

INIの認証制御部607は、NC108の認証部905から受信したユーザ認証の検証の結果が正当であれば、コントロールセッション管理部909に個人認証の成功を通知する。そして、ソフトINI113全体の制御をコントロールセッション管理部909に委ねる。
コントロールセッション管理部909は、認証制御部607から制御の移譲の通知を受けると、コントロールセッションを通じてNC108に、現在端末を使用しているユーザに係る制御設定情報610の送信を要求する(S1019)。
NC108のコントロールセッション管理部909は、INIが発した制御設定情報610の送信要求を受けて、個人認証を行ったユーザに対応する制御設定情報610をユーザテーブル907及びサーバテーブル913から作成して、INIに送信する(S1020)。
INIのコントロールセッション管理部909は、NC108から制御設定情報610を受信すると、これをRAM503に格納する。INI−BOX109の場合はINI−BOX109のRAM503であり、ソフトINI113の場合は端末が備えるRAM503である。
If the verification result of the user authentication received from the authentication unit 905 of the NC 108 is valid, the INI authentication control unit 607 notifies the control session management unit 909 of successful personal authentication. Then, control of the entire software INI 113 is left to the control session management unit 909.
Upon receiving the control transfer notification from the authentication control unit 607, the control session management unit 909 requests the NC 108 to transmit control setting information 610 related to the user currently using the terminal through the control session (S1019).
In response to the transmission request for the control setting information 610 issued by the INI, the control session management unit 909 of the NC 108 creates control setting information 610 corresponding to the user who has performed personal authentication from the user table 907 and the server table 913, It transmits to INI (S1020).
Upon receiving the control setting information 610 from the NC 108, the INI control session management unit 909 stores the control setting information 610 in the RAM 503. In the case of the INI-BOX 109, the RAM 503 of the INI-BOX 109, and in the case of the software INI 113, the RAM 503 provided in the terminal.

次に、INIのコントロールセッション管理部909は、NC108から受信した制御設定情報610に記述されている、パケットフィルタリングの設定情報を読み出して、パケットフィルタ設定部706を制御する。パケットフィルタ設定部706は、コントロールセッション管理部909から与えられたパケットフィルタリングの設定情報に従って、パケットフィルタを構成する(S1021)。   Next, the INI control session management unit 909 reads the packet filtering setting information described in the control setting information 610 received from the NC 108 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 909 (S1021).

図11を参照して説明を続ける。
次に、INIのコントロールセッション管理部909は、NC108から受信した制御設定情報610をRTA111に送信する(S1122)。但し、この動作はINI−BOX109の場合だけである。ソフトINI113の場合は、ソフトINI113自身が受信した制御設定情報610がそのまま端末のRAM503に格納されているので、RTA111もその制御設定情報610に直接アクセスできるので、転送の必要がない。
The description will be continued with reference to FIG.
Next, the INI control session management unit 909 transmits the control setting information 610 received from the NC 108 to the RTA 111 (S1122). However, this operation is only for the INI-BOX 109. In the case of the software INI 113, since the control setting information 610 received by the software INI 113 itself is stored in the RAM 503 of the terminal as it is, the RTA 111 can also directly access the control setting information 610, so that there is no need for transfer.

RTA111は制御設定情報610の内容に従って、APIフック処理部813を始めとする各種機能ブロックに対して所定の設定を行う(S1123)。
こうして、RTA111はAPIフックを、INIはパケットフィルタを、それぞれ構成した。
The RTA 111 performs predetermined settings for various functional blocks including the API hook processing unit 813 according to the contents of the control setting information 610 (S1123).
Thus, RTA 111 constituted an API hook and INI constituted a packet filter.

これ以降は、ループ動作である。
RTA111のAPIフック設定部807は、ファイルシステム監視部810、プロセス監視部811及びクリップボード監視部812から、制御設定情報610に記述されている異常な操作を検出したら(S1124のYES)、呼び出されるAPIの起動を阻止して(S1125)、NC108に詳細な情報を通知する(S1126)。
INIのパケットフィルタは、制御設定情報610に記述されている異常なパケットを検出したら(S1127のYES)、当該パケットの流れを阻止して(S1128)、NC108に詳細な情報を通知する(S1129)。
NC108はこれら異常状態の報告を受けると、図示しないログに記録する(S1130)。
Subsequent operations are loop operations.
The API hook setting unit 807 of the RTA 111 detects an abnormal operation described in the control setting information 610 from the file system monitoring unit 810, the process monitoring unit 811, and the clipboard monitoring unit 812 (YES in S1124), and is called an API. Is blocked (S1125), and the NC 108 is notified of detailed information (S1126).
When the INI packet filter detects an abnormal packet described in the control setting information 610 (YES in S1127), the flow of the packet is blocked (S1128), and the NC 108 is notified of detailed information (S1129). .
When the NC 108 receives the report of the abnormal state, it records it in a log (not shown) (S1130).

図12は、端末からアプリケーションを起動して、LAN102内のサーバに接続する動作の流れを示すタイムチャートである。
ユーザが端末を操作してサーバを利用しようとするアプリケーションを起動すると(S1201)、アプリケーションからサーバに対するアクセス要求を示すパケットが発生する(S1202)。
INIのコントロールセッション管理部909は、端末から生じたアクセス要求を示すパケットを検出すると、当該パケットの宛先IPアドレス及びポート番号から、端末のアプリケーションが接続を要求するサーバを割り出す。そして、コントロールセッションを通じてNC108に当該サーバに対するアクセス要求を送信する(S1203)。
FIG. 12 is a time chart showing a flow of operations for starting an application from a terminal and connecting to a server in the LAN 102.
When the user operates the terminal to activate an application that intends to use the server (S1201), a packet indicating an access request from the application to the server is generated (S1202).
When the INI control session management unit 909 detects a packet indicating an access request generated from the terminal, the INI control session management unit 909 determines a server to which the terminal application requests connection from the destination IP address and port number of the packet. Then, an access request for the server is transmitted to the NC 108 through the control session (S1203).

NC108のコントロールセッション管理部909は、INIからサーバに対するアクセス要求を受信すると(S1204)、後述するユーザ資源テーブルを参照して、当該サーバに対応するリバースプロキシのプログラム名をデータセッション管理部910に引き渡す。データセッション管理部910はコントロールセッション管理部909から指定されたリバースプロキシプログラムを起動する(S1205)。   Upon receiving an access request for the server from the INI (S1204), the control session management unit 909 of the NC 108 refers to a user resource table to be described later and delivers the reverse proxy program name corresponding to the server to the data session management unit 910. . The data session management unit 910 activates the reverse proxy program designated by the control session management unit 909 (S1205).

一方、INIのコントロールセッション管理部909は、ポートフォワーディングの設定を行う(S1206)。こうして、アプリケーションとINIとの仮想接続(S1207)、INIとNC108とのポートフォワーディング(S1208)、NC108とサーバとのリバースプロキシ接続(S1209)を経て、アプリケーションはサーバと仮想的な接続が成立する(S1210)。   On the other hand, the INI control session management unit 909 sets port forwarding (S1206). Thus, the application establishes a virtual connection with the server through the virtual connection between the application and the INI (S1207), the port forwarding between the INI and the NC 108 (S1208), and the reverse proxy connection between the NC 108 and the server (S1209) (S1209). S1210).

[名前解決]
TCP/IPネットワークでは、クライアントがサーバに接続を行う際、殆どの場合、ネームリゾルバと呼ばれる、ホスト名或はFQDNから実際のIPアドレスに変換する、名前解決の仕組みが必要である。本実施形態の名前解決について、説明する。
図13(a)、(b)及び(c)は、サーバテーブル913と、仮想資源テーブルと、ユーザ資源テーブルの概略図である。
Name resolution
In a TCP / IP network, when a client connects to a server, in most cases, a name resolution mechanism called a name resolver that converts a host name or FQDN to an actual IP address is required. Name resolution according to this embodiment will be described.
FIGS. 13A, 13B, and 13C are schematic diagrams of the server table 913, the virtual resource table, and the user resource table.

図13(a)は、サーバテーブル913の中身の一例を示す。
「ユーザID」フィールドは、ユーザテーブル907と共通の、ユーザIDが格納されるフィールドである。
「サーバ名」フィールドは、LAN102内で用いられるサーバの名称が格納されるフィールドである。この「サーバ名」フィールドに格納するサーバ名は、FQDNであってもよいし、ドメイン名を含まないホスト名であってもよい。
「プロトコル」フィールドは、当該サーバが提供するサービスのプロトコルの名称が格納されるフィールドである。
FIG. 13A shows an example of the contents of the server table 913.
The “user ID” field is a field that stores a user ID that is common to the user table 907.
The “server name” field is a field in which the name of a server used in the LAN 102 is stored. The server name stored in the “server name” field may be an FQDN or a host name that does not include a domain name.
The “protocol” field is a field in which the name of the protocol of the service provided by the server is stored.

「リバースプロキシ用リソース文字列」フィールドは、リバースプロキシが当該サーバにアクセスする際に用いる、サーバが提供する情報資源を特定する文字列である。例えばHTTPであればサーバの起点ディレクトリを示す「ServerRoot」であり、CIFSであればサーバがリソースを提供するルートを示すリソース名称である。
「ポート番号」フィールドは、当該サーバが提供するサービスに用いられるポート番号である。
The “reverse proxy resource character string” field is a character string for specifying an information resource provided by the server, which is used when the reverse proxy accesses the server. For example, in the case of HTTP, it is “ServerRoot” indicating the starting directory of the server.
The “port number” field is a port number used for a service provided by the server.

「端末用リソース文字列」フィールドは、端末がサーバにアクセスする際に用いる、端末のアプリケーションプログラムが接続相手の情報資源を特定する文字列であり、RTAの専用シェルが設けるアイコンに埋め込まれる、アプリケーションの引数でもある。例えばHTTPであればURLであり、CIFSであればサーバがリソースを提供するルートを示すリソース名称である。
「リバースプロキシプログラム名」フィールドは、端末とサーバを接続するために起動するリバースプロキシのプログラム名である。例えばHTTPやFTPならsquid(http://www.squid-cache.org/)、delegate(http://www.delegate.org/delegate/)、RDPやCIFSならstone(http://gw.gcd.org/sengoku/stone/Welcome.ja.html)等が挙げられる。
The “terminal resource character string” field is a character string that is used when the terminal accesses the server and the terminal application program identifies the information resource of the connection partner, and is embedded in an icon provided by the RTA dedicated shell. It is also an argument. 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 a resource.
The “reverse proxy program name” field is a program name of a reverse proxy that is activated to connect the terminal and the server. For example, HTTP (http://www.squid-cache.org/), delegate (http://www.delegate.org/delegate/), RDP and CIFS stone (http: //gw.gcd .org / sengoku / stone / Welcome.ja.html).

端末がユーザ認証を完遂すると、コントロールセッション管理部909は、当該ユーザのユーザIDを検索キーにして、サーバテーブル913を絞り込み検索する。すると、絞り込んで得られるレコードは当該ユーザが利用可能なサーバの一覧になる。なお、紙面の都合上、図13(a)では予めユーザID「sugiyama」で絞り込んだ場合の例を示している。したがって、サーバテーブル913は、「ユーザID」フィールドの内容のみ異なり、「ユーザID」フィールド以外のフィールドの内容が全く同じレコードも存在し得る。
次に、コントロールセッション管理部909は、サーバテーブル913の絞り込み検索で得られたレコードに対して、端末が利用する仮想IPアドレスを割り当てる。仮想IPアドレスの割り当て方は、ポートフォワーディングを行うNICのサブネットに属するIPアドレスを順番に割り当てる。この時、サブネットに属するIPアドレスのうち、ブロードキャストアドレスとネットワークアドレスと、通常デフォルトゲートウェイとして用いられることの多い、ホスト部の最下位ビットだけが「1」のIPアドレスは、割り当て対象のIPアドレスからは除外する。
When the terminal completes user authentication, the control session management unit 909 narrows down and searches the server table 913 using the user ID of the user as a search key. Then, the record obtained by narrowing down becomes a list of servers available to the user. Note that, for the sake of space, FIG. 13A shows an example in which the user ID “sugiyayama” is narrowed down in advance. Accordingly, the server table 913 differs only in the contents of the “user ID” field, and there may exist records in which the contents of the fields other than the “user ID” field are exactly the same.
Next, the control session management unit 909 assigns a virtual IP address used by the terminal to the record obtained by the narrow-down search of the server table 913. As a method for assigning virtual IP addresses, IP addresses belonging to the subnet of the NIC that performs port forwarding are assigned in order. At this time, among IP addresses belonging to the subnet, an IP address which is often used as a broadcast address, a network address, and a normal default gateway and in which only the least significant bit of the host part is “1” is assigned from the IP address to be assigned. Is excluded.

INI−BOX109の場合は「192.168.0.2」から始まり、1ずつインクリメントして、「192.168.0.254」まで割り当てる。
ソフトINI113の場合は「127.0.0.2」から始まり、1ずつインクリメントして、「127.0.0.254」まで割り当てる。
これは、一般的なクラスCのIPアドレスの範囲であり、ネットワークアドレス、ブロードキャストアドレス、デフォルトゲートウェイを除いた、クラスCの範囲内で一般的に利用可能なアドレスが「2」から「254」迄の253個であることに起因する。
In the case of the INI-BOX 109, it starts from “192.168.0.2”, is incremented by 1, and is assigned up to “192.168.0.254”.
In the case of the software INI 113, it starts from “127.0.0.2”, is incremented by 1, and is allocated to “127.0.0.254”.
This is a general class C IP address range, and addresses that are generally available within the class C range, excluding network addresses, broadcast addresses, and default gateways, from “2” to “254”. This is due to the fact that the number is 253.

仮想IPアドレスを割り当てたら、それらレコードから、仮想資源テーブルと、ユーザ資源テーブルを作成する。
仮想資源テーブルは、サーバテーブル913の絞り込み検索で得られたレコードのうち、「ユーザID」フィールドと、「リバースプロキシ用リソース文字列」フィールドを除いたデータである。コントロールセッション管理部909は、これをユーザテーブル907の制限情報と併せて制御設定情報610を構成し、INIに送信する。
ユーザ資源テーブルは、サーバテーブル913の絞り込み検索で得られたレコードのうち、「ユーザID」フィールドと、「端末用リソース文字列」フィールドを除いたデータである。コントロールセッション管理部909は、これをユーザIDを用いたファイル名でファイルを作成し、資源テーブルディレクトリ914に格納する。
When the virtual IP address is assigned, a virtual resource table and a user resource table are created from these records.
The virtual resource table is data obtained by removing the “user ID” field and the “reverse proxy resource character string” field from the records obtained by the narrow-down search of the server table 913. The control session management unit 909 configures the control setting information 610 together with the restriction information of the user table 907, and transmits it to the INI.
The user resource table is data obtained by removing the “user ID” field and the “terminal resource character string” field from the records obtained by the narrow-down search of the server table 913. The control session management unit 909 creates a file with the file name using the user ID and stores it in the resource table directory 914.

周知の通り、サーバは単一のサーバが単一のサービスを提供するとは限らない。また、特にHTTPではApache(http://httpd.apache.org/)の「virtualhost」機能のように、同じIPアドレスでありながら異なるFQDNでサーバにアクセスすると、あたかも全く別のサーバに接続されたように異なるコンテンツを得られる機能も存在し、広く利用されている。このような多様な「サービス」に対応するためには、サーバが提供する資源(リソース)に対するアクセス方法と、端末の仮想接続とをしっかり対応させなければならない。   As is well known, a server does not necessarily provide a single service from a single server. In particular, in HTTP, when accessing a server with a different FQDN while having the same IP address as in the “virtualhost” function of Apache (http://httpd.apache.org/), it is connected to a completely different server. Thus, there is a function that can obtain different contents, and it is widely used. In order to deal with such various “services”, it is necessary to make the access method for the resources provided by the server correspond to the virtual connection of the terminal.

「リバースプロキシ用リソース文字列」は、リバースプロキシプログラムがサーバに対するクライアントとしてサーバの資源にアクセスするための、リソースを指定する文字列である。図13ではサーバ名がそのまま使用されているが、これはLAN102内にプライベートなDNSサーバが稼働していることを想定している。もしも、LAN102内にLAN102上のサーバの名前解決を行うためのDNSサーバが稼働していない場合は、「リバースプロキシ用リソース文字列」のホスト名に代わり、サーバに付されているプライベートIPアドレスが直接記入されることとなる。   The “reverse proxy resource character string” is a character string that specifies a resource for the reverse proxy program to access the server resource as a client to the server. Although the server name is used as it is in FIG. 13, this assumes that a private DNS server is operating in the LAN 102. If the DNS server for resolving the name of the server on the LAN 102 is not operating in the LAN 102, the private IP address attached to the server is used instead of the host name of the “reverse proxy resource character string”. It will be filled in directly.

これに対し、「端末用リソース文字列」は、端末上で所定のプログラムを起動する際に、プログラムがサーバにアクセスするための、リソースを指定する文字列である。しかし、この文字列はリバースプロキシによって変換することができる。Apacheのvirtualhost機能を用いなくても、サーバテーブル913の「リバースプロキシ用リソース文字列」の設定と「端末用リソース文字列」の設定を工夫するだけで、virtualhostと同等の機能を実現することができる。   On the other hand, the “terminal resource character string” is a character string for designating a resource for the program to access the server when a predetermined program is started on the terminal. However, this string can be converted by a reverse proxy. Even without using Apache's virtual host function, it is possible to realize a function equivalent to virtual host only by devising the setting of “resource string for reverse proxy” and “resource string for terminal” in server table 913. it can.

逆に、webサーバには既にApacheが稼働しており、virtualhostの設定がなされている場合、virtualhost機能が正しく稼働するために、「端末用リソース文字列」にはApacheに設定されている仮想ホスト名が含まれている必要がある。Apacheのvirtualhost機能は、HTTPの「GET」メソッドのオプションの「HOST」オプションで送信されるFQDNを、webサーバであるApacheが見て、どの仮想ホストを「ServerRoot」にするか判断するからである。   On the other hand, if Apache is already running on the web server and virtualhost is set, the virtual host set to Apache in the “terminal resource character string” is necessary in order for the virtualhost function to work correctly. The name must be included. This is because Apache's virtualhost function determines which virtual host is set to “ServerRoot” by viewing the FQDN sent with the “HOST” option of the HTTP “GET” method by Apache, which is a web server. .

何れの場合においても、サーバテーブル913が「リバースプロキシ用リソース文字列」と「端末用リソース文字列」とを分けて管理することで、今日のwebサーバに求められる機能を過不足なく満たすことが出来る。   In any case, the server table 913 manages the “reverse proxy resource character string” and the “terminal resource character string” separately, thereby satisfying the functions required of today's web server without excess or deficiency. I can do it.

アプリケーションプログラムが引数に指定された「端末用リソース文字列」を読み込むと、アプリケーションプログラムは端末用リソース文字列の中からFQDN或はホスト名或はIPアドレスを抽出する。IPアドレスであればそのまま当該IPアドレスを宛先IPアドレスとする接続要求パケットを発する。そうでない場合は、アプリケーションプログラムは名前解決を試みる。   When the application program reads “terminal resource character string” designated as an argument, the application program extracts the FQDN, host name, or IP address from the terminal resource character string. If it is an IP address, a connection request packet with the IP address as the destination IP address is issued as it is. If not, the application program attempts name resolution.

本実施形態の場合、名前解決の手段は幾つか挙げられる。
一つは、テキストファイルである「hosts」に、ユーザ資源テーブルの「端末用リソース文字列」から抽出したFQDN或はホスト名と「端末用ターゲットアドレス」との対応を記述することである。
もう一つは、INI或はRTAがDNSサーバを構成して、アプリケーションから生じるFQDN或はホスト名の問い合わせに対して、「端末用ターゲットアドレス」を返すことである。
もう一つは、INI或はRTAがネットワークのAPIをフックして、アプリケーションから生じるFQDN或はホスト名の問い合わせを検出したら、ネットワークシステムが参照するDNSサーバに代わって、「端末用ターゲットアドレス」を返すことである。
In the present embodiment, there are several means for name resolution.
One is to describe the correspondence between the FQDN or host name extracted from the “terminal resource character string” in the user resource table and “terminal target address” in “hosts” which is a text file.
The other is that the INI or RTA configures a DNS server and returns a “terminal target address” in response to an FQDN or host name query generated from an application.
The other is that when the INI or RTA hooks the API of the network and detects the FQDN or host name query generated from the application, the “target address for the terminal” is set in place of the DNS server referred to by the network system. To return.

図12及び図13の説明から解るように、本実施形態のネットワークシステムでは、端末のアプリケーションがサーバへ接続しようとすると、初めてコントロールセッションとは異なるポートでデータセッションを形成する。端末が接続しようとするサーバが異なれば、その都度異なるデータセッションが形成される。NCがユーザ毎に利用できるサーバの資源をサーバテーブルで管理し、ユーザ認証が完遂した時点でサーバテーブルからポートフォワーディングのための仮想資源テーブルとリバースプロキシのためのユーザ資源テーブルを自動作成するので、データセッションの重複等の事故を引き起こすことなく、多数のユーザに対して容易に仮想接続サービスを提供することができる。   As can be seen from the description of FIGS. 12 and 13, in the network system of this embodiment, when a terminal application tries to connect to a server, a data session is first formed with a port different from the control session. If the server to which the terminal is to connect is different, a different data session is formed each time. The NC manages the server resources that can be used for each user by the server table. When the user authentication is completed, the virtual resource table for port forwarding and the user resource table for the reverse proxy are automatically created from the server table. A virtual connection service can be easily provided to a large number of users without causing an accident such as duplication of data sessions.

[webブラウザの仮想接続]
インターネット107の利用に留まらず、今日のLAN102においても、webの技術は必要不可欠である。webブラウザは単なる情報閲覧の道具に留まらず、webアプリケーションのユーザインターフェースをも構成する。本実施形態の仮想接続でも、webブラウザが支障なく動作することは必要条件である。
しかしながら、webの基盤技術であるHTMLには、「リンク」という技術が存在する。このリンク、具体的には「<a href="...">」という、URL文字列を記述する「Aタグ」は、HTML文書を出力したwebサーバ以外のwebサーバの情報源を指し示す場合が多々ある。
[Web browser virtual connection]
Web technology is indispensable not only for the use of the Internet 107 but also for today's LAN 102. The web browser is not only a tool for browsing information, but also constitutes a user interface of a web application. Even in the virtual connection of this embodiment, it is a necessary condition that the web browser operates without trouble.
However, HTML, which is the basic technology of the web, has a technology called “link”. This link, specifically, “<a href="...”>”, “A tag” describing a URL character string indicates an information source of a web server other than the web server that outputs the HTML document. There are many.

前述の通り、本実施形態の仮想接続では、端末が直接インターネット107に接続することが制限される。しかし、HTML文書内にはAタグでインターネット107上のリソースを示す場合が多々ある。このままでは、HTML文書を正しく表示することができない。   As described above, in the virtual connection of the present embodiment, the terminal is restricted from connecting directly to the Internet 107. However, there are many cases where resources on the Internet 107 are indicated by A tags in HTML documents. In this state, the HTML document cannot be displayed correctly.

そこで、本実施形態では、RTA111の専用シェル208から起動するwebブラウザに細工を施す。具体的には、webブラウザを起動する際、強制的にプロキシサーバの設定を施す。プロキシサーバのアドレスは、仮想接続するポートフォワーディングの宛先のIPアドレスである。このようにwebブラウザを設定すると、webブラウザはAタグで指定される全てのコンテンツを、ポートフォワーディング及びリバースプロキシを通じて、遠隔地にあるLAN102から取得しようとする。インターネット107上のリソースも、NC108というゲートウェイを通じて取得できる。この接続方法の利点は、LAN102に適用されるセキュリティポリシがそのまま端末にも反映される、という点である。端末は、LAN102内に存在する時と同じセキュリティポリシが、インターネット107上でも適用されることとなる。   Therefore, in this embodiment, the web browser activated from the dedicated shell 208 of the RTA 111 is crafted. Specifically, when starting the web browser, the proxy server is forcibly set. The proxy server address is the IP address of the destination of port forwarding for virtual connection. When the web browser is set in this way, the web browser tries to acquire all the content specified by the A tag from the LAN 102 at a remote location through port forwarding and reverse proxy. Resources on the Internet 107 can also be acquired through a gateway called NC108. The advantage of this connection method is that the security policy applied to the LAN 102 is directly reflected on the terminal. The same security policy as that when the terminal exists in the LAN 102 is also applied on the Internet 107.

本実施形態は、以下のような応用例が可能である。
(1)NC108の端末テーブル906及びユーザテーブル907は、NC108とは異なるサーバに置いて、ネットワークを通じて認証部905が参照してもよい。
また、認証部905、端末テーブル906及びユーザテーブル907は、NC108とは異なる認証サーバとして設けてもよい。この場合、認証済IDリスト908には機器特定IDとユーザIDとの対応関係が記され、当該認証サーバから受信することとなる。
This embodiment can be applied as follows.
(1) The terminal table 906 and the user table 907 of the NC 108 may be placed on a different server from the NC 108 and referred to by the authentication unit 905 through the network.
Further, the authentication unit 905, the terminal table 906, and the user table 907 may be provided as an authentication server different from the NC 108. In this case, a correspondence relationship between the device identification ID and the user ID is written in the authenticated ID list 908 and received from the authentication server.

(2)NC108を複数設けて、多段リバースプロキシを構成することもできる。   (2) A multi-stage reverse proxy can be configured by providing a plurality of NCs 108.

(3)INIが複数のNC108に対して同時にアクセスすることもできる。この場合、INIは後から接続するNCに対して、ユーザ認証を完了した直後に、既に先に接続済みのNCで割り当て済みの端末用ターゲットアドレスを報告し、それぞれのNCで端末用ターゲットアドレスが重複しないように調停する必要がある。   (3) INI can also access a plurality of NCs 108 simultaneously. In this case, the INI reports the terminal target address assigned by the previously connected NC immediately after completing the user authentication to the NC to be connected later. It is necessary to mediate so as not to overlap.

図13(b)で付与する端末用ターゲットアドレスは、元のポート番号をそのまま流用している。この端末用ターゲットアドレスを1ずつインクリメントする代わりに、端末用ターゲットアドレスを固定にして、ポート番号を変化させることも可能である。特にHTTPの場合は、ポート番号を変更することが広く行われているので、HTTPに限っては異なるサーバに対する接続を、同一の端末用ターゲットアドレスで異なるポート番号を付与する、という処理を行うことで、端末用ターゲットアドレスの消費を低減することができる。   In the terminal target address given in FIG. 13B, the original port number is used as it is. Instead of incrementing the terminal target address by 1, it is possible to fix the terminal target address and change the port number. Especially in the case of HTTP, it is widely performed to change the port number. Therefore, in the case of HTTP, connection to a different server is performed by assigning a different port number with the same terminal target address. Thus, consumption of the target address for the terminal can be reduced.

本実施形態では、ネットワークドライバ806と、これに使用するポートフォワード形成装置(INI−BOX109、ソフトINI113)、端末管理装置(RTA111)、リバースプロキシサーバ(NC108)を開示した。
INI−BOX109或はソフトINI113とNC108がコントロールセッションを通じて機器認証及びユーザ認証を実行した後、端末がNC108の先に存在するプライベートネットワーク内のサーバに対する接続を要求したら、INI−BOX109或はソフトINI113はポートフォワーディングを、NC108はリバースプロキシを設定して、端末とサーバとの間にデータセッションを形成する。このようにネットワークシステム101を構築することで、プライベートアドレスの衝突のない、仮想的な接続形態で、ファイアウォール903を越えた端末のサーバに対する接続が実現できる。更に、接続の際にはRTA111が端末の挙動を強力に制限するので、セキュリティ面の脆弱性を保護できる。
In the present embodiment, a network driver 806 and a port forward forming device (INI-BOX 109, software INI 113), a terminal management device (RTA 111), and a reverse proxy server (NC 108) used for the network driver 806 are disclosed.
After the INI-BOX 109 or the software INI 113 and the NC 108 execute device authentication and user authentication through the control session, if the terminal requests connection to a server in the private network existing ahead of the NC 108, the INI-BOX 109 or the software INI 113 For port forwarding, NC 108 sets up a reverse proxy to form a data session between the terminal and the server. By constructing the network system 101 in this way, it is possible to realize a connection to a terminal server beyond the firewall 903 in a virtual connection form with no private address collision. Furthermore, since the RTA 111 strongly restricts the behavior of the terminal at the time of connection, security vulnerabilities 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.

発明者は、NC108が擁する複数のプロトコルに対応する複数のリバースプロキシプログラムに存在するかもしれない脆弱性を、第三者から突かれる可能性を排除するために、常時開けるポートと実際に端末とデータとを接続するポートを別にした。NC108が形成するデータセッションは、本来のBSDソケットプログラミングにおけるサーバの作法とは異なり、データセッションが確立しても同じデータセッションに該当するポートは開かない。あくまでも端末から接続要求がない限り、データセッションは形成されないし、そのためのポートも開くことはない。第三者がNC108をポートスキャンすると、コントロールセッションのためのポートしか開いていないように見える。   The inventor, in order to eliminate the possibility of being exploited by a third party, a vulnerability that may exist in a plurality of reverse proxy programs corresponding to a plurality of protocols held by the NC 108, Separated ports for connecting data. The data session formed by the NC 108 is different from the server method 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 NC 108, it appears that only the port for the control session is open.

このような、コントロールセッションとデータセッションを分離する思想は、古くから存在するFTP(File Transfer Protocol)に類似する。FTPの場合、サービスポートは21番で固定され、データポートはPORTモードで20番、PASVモードで1024番以上の任意のポートであり、今日のルータで必須とされる動的NATではSYNパケットに基づくNAT設定を形成し難いことと、サービスポートで送受信されるパスワードが暗号化されていないことから、今日ではセキュリティの面であまり良くない実装であると批判されている。しかし、それは各プロトコルが各々独立して無秩序に策定される状況において、単一のプロトコルの特徴として指摘される事項であり、各プロトコルを統括して管理する更に上位のプロトコルという技術思想として捉えると、非常に使い勝手の良い基盤技術であることが判る。   The idea of separating the control session and the data session is similar to FTP (File Transfer Protocol) that has existed for a long time. In the case of FTP, the service port is fixed at 21 and the data port is any port of 20 in the PORT mode and 1024 or more in the PASV mode. In dynamic NAT, which is mandatory in today's routers, it is a SYN packet. It is criticized today as an implementation that is not very good in terms of security, because it is difficult to form a NAT setting based on it and passwords transmitted and received at the service port are not encrypted. However, it is a matter pointed out as a feature of a single protocol in a situation where each protocol is independently and randomly organized, and it can be regarded as a technical idea of a higher-level protocol that manages and manages each protocol. It turns out that this is a very easy-to-use basic technology.

更に、本実施形態に係るネットワークシステムに接続される端末には、各端末を一意に識別するための機器特定ID608が与えられている。この機器特定ID608は、IPアドレスとは別であり、コントロールセッションで認証情報としてのみ使用される。
ここで翻って、本実施形態のネットワークシステムのデータセッションに流れるパケットについて考察し、説明する。
Furthermore, a device identification ID 608 for uniquely identifying each terminal is given to the terminal connected to the network system 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 of this embodiment will be considered and described.

端末から発されるパケットは、ソフトINI113の場合、送信元IPアドレスはループバックアドレス(127.0.0.1)であり、送信先IPアドレスはループバックアドレスが属するクラスCのサブネットに含まれるアドレス(127.0.0.x)である。INI−BOX109の場合、送信元IPアドレスはプライベートアドレス(192.168.0.1)であり、送信先IPアドレスはプライベートアドレスが属するクラスCのサブネットに含まれるアドレス(192.168.0.x)である。
これらパケットは、ソフトINI113又はINI−BOX109で、ポートフォワーディングによって送信元IPアドレス及び送信先IPアドレス(と、必要であればポート番号も)が書き換えられる。送信元IPアドレスはISPからソフトINI113又はINI−BOX109に付与されたIPアドレスが、送信先IPアドレスとポート番号は、NC108のグローバルIPアドレスとデータセッションのためのポート番号に、それぞれ書き換えられる。
In the case of the software INI 113, the packet issued from the terminal is the source IP address is the loopback address (127.0.0.1), and the destination IP address is included in the class C subnet to which the loopback address belongs. Address (127.0.0.x). In the case of the INI-BOX 109, the source IP address is a private address (192.168.0.1), and the destination IP address is an address (192.168.8.0.x) included in the class C subnet to which the private address belongs. ).
The source IP address and destination IP address (and the port number if necessary) are rewritten by port forwarding in the software INI 113 or INI-BOX 109. The IP address assigned to the software INI 113 or INI-BOX 109 from the ISP is rewritten as the transmission source IP address, and the global IP address of the NC 108 and the port number for the data session are rewritten as the transmission destination IP address.

更に、これらパケットは、NC108のリバースプロキシによって送信元IPアドレス及び送信先IPアドレス(と、必要であればポート番号も)が再度書き換えられる。送信元IPアドレスはNC108のグローバルIPアドレスが、送信先IPアドレスとポート番号は、サーバのプライベートアドレスとポート番号に、それぞれ書き換えられる。
このように、通信路を通過するパケットのIPアドレスが拠点を通過する度に次々に書き換えられる状況において、端末の一意性を保証する情報である機器特定ID608は何のために使用されなければならないのかを考えると、機器特定ID608は「端末が当該サーバに接続する資格を有する」ことを示す情報である、ということが判る。そして、この情報は必ずしも端末にサービスを提供するサーバが抱えていなければならないものではなく、所定の認証を実行できる機器(NC108)が存在していればよいのである。
Further, the source IP address and destination IP address (and port number if necessary) of these packets are rewritten again by the reverse proxy of the NC 108. The source IP address is rewritten to the NC 108 global IP address, and the destination IP address and port number are rewritten to the server private address and port number, 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. It can be understood that the device identification ID 608 is information indicating that the terminal has the qualification to connect to the server. This information does not necessarily have to be held by a server that provides a service to the terminal, and it is only necessary that a device (NC 108) 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.

本実施形態のINIに含まれる機器特定ID608は、プロトコルとして定められ、パケットのヘッダとして組み込まれているIPアドレスではなく、認証にのみ使用されるデータである。したがって、ネットワークシステムの規模や必要に応じて、幾らでもビット列を拡大させたり、フォーマットを変更する等の行為をしても、パケットのフォーマットは変わらないので、全く問題は発生しない。本実施形態において、発明者は試作品を作成した際、機器特定ID608に12バイトを割り当てたが、勿論、もっと長大なビット列にしてもよい。   The device identification ID 608 included in the INI 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 system 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.

更に、本実施形態では既存のVPNに代わる新規な「仮想プライベート接続」という技術で、端末がファイアウォール903を越えてサーバに接続する実施形態を開示したが、この技術は、単に企業ユーザが社屋内のLAN102に接続されているサーバに接続するためだけの技術としてのみ適用される技術ではない。本実施形態の技術は、プライベートアドレスが付与される機器同士を接続する技術でもある。したがって、プライベートアドレスが付与されているサーバが、一般的な公衆アクセスを前提とするwebサーバであっても良いのである。既存のDNS、つまりFQDNからIPアドレスへ名前解決を実行する仕組みと同等の仕組みは、本実施形態のNC108が提供する。NC108は、端末のINI−BOX109又はソフトINI113に対して、FQDNからグローバルIPアドレスではなく、INI−BOX109又はソフトINI113が提供する仮想的なIPアドレスへ名前解決を実施させる。そして、NC108はポートフォワーディングによって転送されるパケットを、目的とするサーバへ振り向ける。このようにNC108を構成し、本実施形態のネットワークが発展し、普及すると、サーバはグローバルIPアドレスを必要としなくなる。勿論、端末もグローバルIPは不要になる。グローバルIPアドレスは単に拠点同士のパケットの送受信制御にのみ使用されるものとなり、何らかの事業や趣味等の目的でサーバを建てようとする際、もはやグローバルIPアドレスを取得する必要はなくなる。その際に生じるセキュリティ面の懸念事項は、ポートフォワーディングするIPアドレスを「ローカルイントラネット」ではないIPアドレスに設定すればよい。例えば、ポートフォワーディングの標的となるIPアドレスに、端末が属するサブネットのネットワークアドレスではないプライベートIPアドレスを割り当てて、アプリケーションには当該IPアドレスを「ローカルイントラネット」ではない、グローバルIPアドレスと等価であるものと認識させる。
以上のように、本実施形態のネットワークシステムは、IPv4プロトコルの可能性を拡大する技術としての一面も備えている。
Furthermore, in the present embodiment, an embodiment in which a terminal connects to a server through a firewall 903 by using a new “virtual private connection” technology that replaces an existing VPN has been disclosed. It is not a technique that is applied only as a technique for connecting to a server connected to the LAN 102. The technology of this embodiment is also a technology for connecting devices to which private addresses are assigned. Therefore, the server to which the private address is assigned may be a web server that assumes general public access. The NC 108 of this embodiment provides a mechanism equivalent to an existing DNS, that is, a mechanism for performing name resolution from an FQDN to an IP address. The NC 108 causes the INI-BOX 109 or the software INI 113 of the terminal to perform name resolution from the FQDN to the virtual IP address provided by the INI-BOX 109 or the software INI 113 instead of the global IP address. Then, the NC 108 directs the packet transferred by the port forwarding to the target server. When the NC 108 is configured in this way and the network of this embodiment is developed and spread, the server does not need a global IP address. Of course, the terminal does not require a global IP. The global IP address is used only for packet transmission / reception control between bases, and it is no longer necessary to acquire a global IP address when attempting to build a server for some business or hobby purpose. A security concern that arises at this time is to set the IP address for port forwarding to an IP address other than the “local intranet”. For example, a private IP address that is not the network address of the subnet to which the terminal belongs is assigned to the IP address targeted for port forwarding, and the IP address is equivalent to a global IP address that is not a “local intranet” for the application Recognize
As described above, the network system according to the present embodiment also includes one aspect as a technique for expanding the possibility 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 may be made without departing from the gist of the present invention described in the claims. Includes application examples.

101…ネットワークシステム、102…LAN、103…第一サーバ、104…第二サーバ、105…第一端末、106…第二端末、107…インターネット、109…INI−BOX、110…第一ISP、111…RTA、112…第二ISP、113…ソフトINI、202…シェル、203…第三アプリケーション、204…ストレージ、205…操作部、206…表示部、207…内蔵USBインターフェース、208…専用シェル、209…第一アプリケーション、210…第二アプリケーション、301…内蔵NIC、402…USB−Aコネクタ、403…USB−Bコネクタ、404…ネットワークコネクタ、502…CPU、503…RAM、504…フラッシュメモリ、505…第一USBインターフェース、506…第二USBインターフェース、507…第一NIC、508…バス、601…第二NIC、602…DHCPクライアント、603…アドレス重複回避部、604…DHCPサーバ、605…ポートフォワード設定部、606…暗号化通信処理部、607…認証制御部、608…機器特定ID、609…コントロールセッション管理部、610…制御設定情報、611…パケットフィルタ設定部、701…ループバック仮想NIC、702…DHCPクライアント、705…ポートフォワード設定部、706…パケットフィルタ設定部、801…操作ドライバ、802…表示制御部、803…ファイルシステム、804…プロセス制御部、805…クリップボードバッファ、806…ネットワークドライバ、807…APIフック設定部、808…操作情報取得部、809…画面キャプチャ処理部、810…ファイルシステム監視部、811…プロセス監視部、812…クリップボード監視部、813…APIフック処理部、901…第三NIC、902…第四NIC、903…ファイアウォール、904…暗号化通信処理部、905…認証部、906…端末テーブル、907…ユーザテーブル、908…認証済IDリスト、909…コントロールセッション管理部、910…データセッション管理部、911…第一リバースプロキシ、912…第二リバースプロキシ、913…サーバテーブル、914…資源テーブルディレクトリ   DESCRIPTION OF SYMBOLS 101 ... Network system, 102 ... LAN, 103 ... 1st server, 104 ... 2nd server, 105 ... 1st terminal, 106 ... 2nd terminal, 107 ... Internet, 109 ... INI-BOX, 110 ... 1st ISP, 111 , RTA, 112, second ISP, 113, software INI, 202, shell, 203, third application, 204, storage, 205, operation unit, 206, display unit, 207, built-in USB interface, 208, dedicated shell, 209 ... 1st application, 210 ... 2nd application, 301 ... Built-in NIC, 402 ... USB-A connector, 403 ... USB-B connector, 404 ... Network connector, 502 ... CPU, 503 ... RAM, 504 ... Flash memory, 505 ... First USB interface, 50 ... second USB interface, 507 ... first NIC, 508 ... bus, 601 ... second NIC, 602 ... DHCP client, 603 ... address duplication avoiding unit, 604 ... DHCP server, 605 ... port forward setting unit, 606 ... encryption Communication processing unit, 607 ... authentication control unit, 608 ... device identification ID, 609 ... control session management unit, 610 ... control setting information, 611 ... packet filter setting unit, 701 ... loopback virtual NIC, 702 ... DHCP client, 705 ... Port forward 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 ... API hook setting 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 unit, 901 ... Third NIC, 902 ... Fourth NIC, 903: Firewall, 904: Encrypted communication processing unit, 905 ... Authentication unit, 906 ... Terminal table, 907 ... User table, 908 ... Authenticated ID list, 909 ... Control session management unit, 910 ... Data session management unit, 911 ... First reverse proxy, 912 ... Second reverse proxy, 913 ... Server table, 914 ... Resource table directory

Claims (8)

インターネットに接続される端末と、
前記端末の内部に設けられ、前記端末の動作に制限を加える挙動制限部と、
プライベートネットワークと前記インターネットとの境界に配置され、前記端末から送信されるパケットを対応するリバースプロキシを稼働させて転送するリバースプロキシサーバと、
前記プライベートネットワーク上に配置され、前記リバースプロキシサーバで稼働する前記リバースプロキシで前記端末と接続されるサーバと、
前記端末の内部に設けられるか、又は前記端末と前記インターネットとの間に設けられ、各装置を一意に識別可能な機器特定IDを内包し、前記リバースプロキシサーバに接続する際、前記機器特定IDを用いて端末認証を行い、前記端末認証が成功すると前記リバースプロキシサーバと所定の情報を送受信するためのコントロールセッションを形成した後、前記端末が前記サーバにアクセスする際に用いる、前記端末で稼働するアプリケーションプログラムが接続相手の情報資源を特定する文字列である端末用リソース文字列が格納される端末用リソース文字列フィールドと、前記端末が前記サーバにアクセスする際に用いるIPアドレスが格納される端末用ターゲットアドレスフィールドとを有する仮想資源テーブルを、前記コントロールセッションを通じて前記リバースプロキシサーバから得て、前記仮想資源テーブルに基づいて、前記端末の特定の接続要求に対して、前記端末が前記サーバと所定のデータを送受信するための、ポートフォワーディングに基づくデータセッションを形成するポートフォワード形成装置と
よりなるネットワークシステム。
A device connected to the Internet,
A behavior restriction unit provided inside the terminal and restricting the operation of the terminal;
A reverse proxy server that is arranged at a boundary between a private network and the Internet and operates a corresponding reverse proxy to transfer a packet transmitted from the terminal; and
A server disposed on the private network and connected to the terminal by the reverse proxy operating on the reverse proxy server;
When the device identification ID is provided inside the terminal or between the terminal and the Internet and includes a device identification ID that can uniquely identify each device and connects to the reverse proxy server, the device identification ID The terminal is used to access the server after forming a control session for transmitting and receiving predetermined information to and from the reverse proxy server when the terminal authentication is successful. Stores a terminal resource character string field in which a terminal resource character string, which is a character string for identifying an information resource of a connection partner, and an IP address used when the terminal accesses the server. A virtual resource table having a target address field for a terminal. Obtained from the reverse proxy server through a session, on the basis of the virtual resource table, the relative specific connection request from the terminal, the terminal for transmitting and receiving the server and the predetermined data, data session based on the port forwarding A network system comprising a port forward forming apparatus for forming a network.
前記挙動制限部は、前記ポートフォワード形成装置が前記端末認証を完遂した後に前記ポートフォワード形成装置を通じて前記リバースプロキシサーバとユーザ認証を遂行する画面を前記端末に形成する、請求項1記載のネットワークシステム。   The network system according to claim 1, wherein the behavior restriction unit forms a screen for performing user authentication with the reverse proxy server through the port forward forming apparatus after the port forward forming apparatus completes the terminal authentication. . 前記ポートフォワード形成装置は、前記端末認証を完遂した後に更に前記端末を使用するユーザを認証するユーザ認証を行い、前記ユーザ認証が成功すると前記挙動制限部が前記端末の動作に制限を加えるための情報である制限情報を前記リバースプロキシサーバから受信する、請求項1記載のネットワークシステム。   The port forward forming device performs user authentication for further authenticating a user who uses the terminal after completing the terminal authentication, and the behavior restriction unit applies a restriction to the operation of the terminal when the user authentication is successful. The network system according to claim 1, wherein restriction information that is information is received from the reverse proxy server. 前記端末は更に、
ストレージと、
前記ストレージにファイル及びディレクトリを形成するファイルシステムと、
アプリケーションプログラムの起動及び終了を制御するプロセス制御部と
を備え、
前記挙動制限部は、前記ポートフォワード形成装置が受信した前記制限情報を受けて、前記端末のファイルシステムに対して前記ファイル及び/又はディレクトリの複写、移動、削除及び/又は名称変更を監視すると共に、前記端末のプロセス制御部に対して特定のプロセスの起動及び/又は自己プロセス隠蔽行為を監視する、
請求項3記載のネットワークシステム。
The terminal further includes
Storage,
A file system for forming files and directories in the storage;
A process control unit for controlling the start and end of the application program,
The behavior restriction unit receives the restriction information received by the port forward forming device and monitors the file system of the terminal for copying, moving, deleting and / or renaming the file and / or directory. Monitoring the activation of a specific process and / or the self-process concealment with respect to the process control unit of the terminal,
The network system according to claim 3.
プライベートネットワーク上に配置される第一のサーバと、
前記プライベートネットワーク上に配置される第二のサーバと、
インターネットに接続され、前記第一のサーバ及び前記第二のサーバに接続する端末と、
前記端末の内部に設けられ、前記端末の動作に制限を加える挙動制限部と、
前記プライベートネットワークと前記インターネットとの境界に配置され、前記端末が前記第一のサーバに接続要求を発すると第一のリバースプロキシを稼働すると共に、前記端末が前記第二のサーバに接続要求を発すると第二のリバースプロキシを稼働するリバースプロキシサーバと、
前記端末の内部に設けられるか、又は前記端末と前記インターネットとの間に設けられ、各装置を一意に識別可能な機器特定IDを内包し、前記リバースプロキシサーバに接続する際、前記機器特定IDを用いて端末認証を行い、前記端末認証が成功すると前記リバースプロキシサーバと所定の情報を送受信するためのコントロールセッションを形成した後、前記端末が前記サーバにアクセスする際に用いる、前記端末で稼働するアプリケーションプログラムが接続相手の情報資源を特定する文字列である端末用リソース文字列が格納される端末用リソース文字列フィールドと、前記端末が前記サーバにアクセスする際に用いるIPアドレスが格納される端末用ターゲットアドレスフィールドとを有する仮想資源テーブルを、前記コントロールセッションを通じて前記リバースプロキシサーバから得て、前記仮想資源テーブルに基づいて、前記端末が前記第一のサーバに接続要求を発すると、前記端末が前記第一のサーバと所定のデータを送受信するための、前記第一のリバースプロキシに対応するポートフォワーディングに基づく第一のデータセッションを形成し、前記仮想資源テーブルに基づいて、前記端末が前記第二のサーバに接続要求を発すると、前記端末が前記第二のサーバと所定のデータを送受信するための、前記第二のリバースプロキシに対応するポートフォワーディングに基づく第二のデータセッションを形成する、ポートフォワード形成装置と
よりなるネットワークシステム。
A first server located on a private network;
A second server located on the private network;
A terminal connected to the Internet and connected to the first server and the second server;
A behavior restriction unit provided inside the terminal and restricting the operation of the terminal;
Located at the boundary between the private network and the Internet, when the terminal issues a connection request to the first server, the first reverse proxy operates and the terminal issues a connection request to the second server. Then, the reverse proxy server that operates the second reverse proxy,
When the device identification ID is provided inside the terminal or between the terminal and the Internet and includes a device identification ID that can uniquely identify each device and connects to the reverse proxy server, the device identification ID The terminal is used to access the server after forming a control session for transmitting and receiving predetermined information to and from the reverse proxy server when the terminal authentication is successful. Stores a terminal resource character string field in which a terminal resource character string, which is a character string for identifying an information resource of a connection partner, and an IP address used when the terminal accesses the server. A virtual resource table having a target address field for a terminal. Obtained from the reverse proxy server through the session, said based on the virtual resource table, when the terminal issues a connection request to the first server, for the terminal to transmit and receive the first server and predetermined data of the first data session is formed based on a corresponding port forwarding to the first reverse proxy, and based on the said virtual resource table, when the terminal issues a connection request to said second server, said terminal Forming a second data session based on port forwarding corresponding to the second reverse proxy for transmitting and receiving predetermined data to and from the second server .
前記挙動制限部は、前記ポートフォワード形成装置が前記端末認証を完遂した後に前記ポートフォワード形成装置を通じて前記リバースプロキシサーバとユーザ認証を遂行する画面を前記端末に形成する、請求項5記載のネットワークシステム。   6. The network system according to claim 5, wherein the behavior restriction unit forms a screen for performing user authentication with the reverse proxy server through the port forward forming apparatus after the port forward forming apparatus completes the terminal authentication. . 前記ポートフォワード形成装置は、前記端末認証を完遂した後に更に前記端末を使用するユーザを認証するユーザ認証を行い、前記ユーザ認証が成功すると前記挙動制限部が前記端末の動作に制限を加えるための情報である制限情報を前記リバースプロキシサーバから受信する、請求項5記載のネットワークシステム。   The port forward forming device performs user authentication for further authenticating a user who uses the terminal after completing the terminal authentication, and the behavior restriction unit applies a restriction to the operation of the terminal when the user authentication is successful. The network system according to claim 5, wherein restriction information that is information is received from the reverse proxy server. 前記端末は更に、
ストレージと、
前記ストレージにファイル及びディレクトリを形成するファイルシステムと、
アプリケーションプログラムの起動及び終了を制御するプロセス制御部と
を備え、
前記挙動制限部は、前記ポートフォワード形成装置が受信した前記制限情報を受けて、前記端末のファイルシステムに対して前記ファイル及び/又はディレクトリの複写、移動、削除及び/又は名称変更を監視すると共に、前記端末のプロセス制御部に対して特定のプロセスの起動及び/又は自己プロセス隠蔽行為を監視する、
請求項7記載のネットワークシステム。
The terminal further includes
Storage,
A file system for forming files and directories in the storage;
A process control unit for controlling the start and end of the application program,
The behavior restriction unit receives the restriction information received by the port forward forming device and monitors the file system of the terminal for copying, moving, deleting and / or renaming the file and / or directory. Monitoring the activation of a specific process and / or the self-process concealment with respect to the process control unit of the terminal,
The network system according to claim 7.
JP2010089873A 2010-04-08 2010-04-08 Network system Expired - Fee Related JP4908609B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010089873A JP4908609B2 (en) 2010-04-08 2010-04-08 Network system
PCT/JP2011/057757 WO2011125638A1 (en) 2010-04-08 2011-03-29 Network system, port forward forming apparatus and reverse proxy server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010089873A JP4908609B2 (en) 2010-04-08 2010-04-08 Network system

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2011166336A Division JP2011223636A (en) 2011-07-29 2011-07-29 Port forward formation device and reverse proxy server

Publications (2)

Publication Number Publication Date
JP2011223278A JP2011223278A (en) 2011-11-04
JP4908609B2 true JP4908609B2 (en) 2012-04-04

Family

ID=44762585

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010089873A Expired - Fee Related JP4908609B2 (en) 2010-04-08 2010-04-08 Network system

Country Status (2)

Country Link
JP (1) JP4908609B2 (en)
WO (1) WO2011125638A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102609186B1 (en) * 2022-12-21 2023-12-04 알파카네트웍스 주식회사 Extensible Server Management Framework BASED ON REVERSE CONNECTION PROTOCOL AND OPERTATION METHOD THEREOF

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107517410B (en) * 2016-06-16 2020-12-08 华为技术有限公司 Method and device for evaluating video service quality
CN110995474B (en) * 2019-11-20 2022-03-08 中盈优创资讯科技有限公司 Multi-port data reporting method and system
KR102372382B1 (en) * 2020-11-26 2022-03-21 주식회사 이나시스템즈 Window File Sharing System After Connects To The Network Of Other Segments That Cannot Be Directly Connected

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4713186B2 (en) * 2005-03-14 2011-06-29 株式会社リコー Network monitoring method and network monitoring system
JP4336803B2 (en) * 2007-03-30 2009-09-30 日本電気株式会社 Communication system with specific relay device authentication function
JP4858484B2 (en) * 2008-05-01 2012-01-18 株式会社スプリングソフト Network connection control device and network system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102609186B1 (en) * 2022-12-21 2023-12-04 알파카네트웍스 주식회사 Extensible Server Management Framework BASED ON REVERSE CONNECTION PROTOCOL AND OPERTATION METHOD THEREOF

Also Published As

Publication number Publication date
JP2011223278A (en) 2011-11-04
WO2011125638A1 (en) 2011-10-13

Similar Documents

Publication Publication Date Title
JP4802295B1 (en) Network system and virtual private connection forming method
US10601780B2 (en) Internet isolation for avoiding internet security threats
US11652792B2 (en) Endpoint security domain name server agent
JP5714078B2 (en) Authentication for distributed secure content management systems
JP2006526843A (en) Method and system for providing secure access to private network by client redirection
JP2008299617A (en) Information processing apparatus and information processing system
US11736516B2 (en) SSL/TLS spoofing using tags
JP4908609B2 (en) Network system
US10032027B2 (en) Information processing apparatus and program for executing an electronic data in an execution environment
JP2012222461A (en) Network system
JP2011223636A (en) Port forward formation device and reverse proxy server
Lee et al. Threats hidden in office network: Mechanism of credential harvesting for lateral movement
RU2706894C1 (en) System and method of analyzing content of encrypted network traffic
JP5617108B2 (en) Static NAT forming device, reverse proxy server, and virtual connection control device
US20060294595A1 (en) Component selector
Nandhini et al. VPN blocker and recognizing the pattern of IP address
Koessel et al. The Nearest Neighbor Attack: How A Russian APT Weaponized Nearby Wi-Fi Networks for Covert Access
EP3190525A1 (en) Information processing device and program
De Coninck et al. URLink: Using Names As Sole Internet Addresses to Tackle Scanning Attacks in IoT
JP2017085273A (en) Control system, control device, control method and program
O’Leary Attacking the Windows Domain
JP2018163589A (en) Communication system, server device, and gateway server
Vazquez Remote Access
Edge et al. Web Site Security
JP2010109955A (en) Thin client system

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110728

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111004

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111122

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120112

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150120

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4908609

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150120

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150120

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees