JP4908609B2 - Network system - Google Patents
Network system Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 claims description 48
- 238000012544 monitoring process Methods 0.000 claims description 24
- 230000008569 process Effects 0.000 claims description 22
- 238000012546 transfer Methods 0.000 claims description 12
- 238000004886 process control Methods 0.000 claims description 7
- 230000004913 activation Effects 0.000 claims description 6
- 239000008186 active pharmaceutical agent Substances 0.000 description 40
- 238000012545 processing Methods 0.000 description 34
- 238000004891 communication Methods 0.000 description 33
- 230000006870 function Effects 0.000 description 22
- 230000006399 behavior Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 14
- 238000005516 engineering process Methods 0.000 description 14
- 230000005540 biological transmission Effects 0.000 description 11
- 230000007246 mechanism Effects 0.000 description 9
- 230000004044 response Effects 0.000 description 8
- 238000001914 filtration Methods 0.000 description 7
- 230000009471 action Effects 0.000 description 6
- 241000700605 Viruses Species 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 238000012795 verification Methods 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 239000004575 stone Substances 0.000 description 2
- 206010000117 Abnormal behaviour Diseases 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
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).
先ず、前者の、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
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
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.
[実施形態の概要]
本実施形態の概略を説明する。
本発明は、インターネットを通じて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
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
[全体構成]
図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
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-
従業員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
次に、従業員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
従業員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
第一端末105はINI−BOX109を介してインターネット107に接続した。一方、第二端末106はソフトINI113がインストールされているので、OS内に構成されているネットワークシステムが直にインターネット107に接続した。何れの場合においてもLAN102内の第一サーバ103及び第二サーバ104に接続することが可能になる。
The first terminal 105 is connected to the
図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
An
The
The
RTA111は、INI−BOX109がユーザ認証を完遂すると、OS201の幾つかのAPIをフックして、第一端末105全体の挙動を大幅に制限する。また、異常を検出したらその際の発生状況等をINI−BOX109を通じてNC108に報告する。
When the INI-
更に、RTA111はシェル202としての機能も提供する。ユーザが第一サーバ103に接続するために、RTA111がユーザ提供するユーザインターフェースが、専用シェル208である。ユーザ認証が正常に終了すると、RTA111の専用シェル208は端末の画面にウィンドウを表示し、そのウィンドウの中にアイコンを表示する。アイコンはアプリケーションの起動パラメータ(コマンドライン)を内包しており、実行を許可するアプリケーション名と、アクセスを許可するサーバのサーバ名がアプリケーションの引数として指定されている。このようにして、RTA111の子プロセスとして起動されたアプリケーションプログラムが、図2の第一アプリケーション209及び第二アプリケーション210である。RTA111の子プロセスとしてアプリケーションが起動されるので、RTA111はアプリケーションの挙動を容易に把握できる。
Further, the
図2では、専用シェル208から起動された第一アプリケーション209及び第二アプリケーション210が表示されている。一方、第一端末105がユーザ認証を完了するまでに既に実行されているOS201のシェル202と第三アプリケーション203が、別途起動された状態である。これらはRTA111の専用シェル208の子プロセスとして起動されたアプリケーションではないので、RTA111のAPIフック機能でその挙動が大幅に制限される。また、実行を禁じられているアプリケーション、「ファイルを開く」動作が禁じられているファイルに対するアプリケーションの起動はRTA111によって阻害され、実行できなくなる。
In FIG. 2, a
第一端末105の内蔵USBインターフェース207には、INI−BOX109が接続されている。INI−BOX109には後述するDHCPクライアントが内蔵されており、第一ISP110と接続されることでインターネット接続ができるようになる。第一ISP110はインターネット接続環境をエンドユーザに提供する事業者であるが、説明の都合上、インターネット接続のために動的グローバルIPアドレスを提供するDHCPサーバとインターネット107とのゲートウェイであると仮定する。
An INI-
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-
INI−BOX109が端末認証に成功すると、INI−BOX109は内蔵USBインターフェース207を通じてRTA111に端末認証の成功を報告する。この時、RTA111は内蔵USBインターフェース207上に構築されるIPネットワークを通じて、INI−BOX109と所定の制御情報等の送受信を行う。RTA111は端末認証の成功を受けて表示部206にユーザ認証のための入力画面を表示し、ユーザによる操作部205の操作を受け入れる。
When the INI-
図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
[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-
FIG. 4A is an external perspective view of the INI-
FIG. 4B is an external perspective view of the INI-
図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-
The INI-
The
The INI-
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
図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-
The INI-
The
Although not shown in FIG. 5, the
INI−BOX109の第一NIC507が第一ISP110に接続されると、DHCPクライアント602は、第一NIC507を通じて第一ISP110の図示しないDHCPサーバから、IPアドレス、ネットマスク、デフォルトゲートウェイ、ネームリゾルバ等のネットワーク構成情報を受信し、第一NIC507がネットワークに接続できるように第一NIC507を設定する。
When the
次に、アドレス重複回避部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
INI−BOX109の第一NIC507が第一ISP110に接続されて、第二NIC601にもプライベートIPアドレスが付与された状態では、ポートフォワード設定部605は一般的な動的NATを構成する。これにより、第一NIC507と第二NIC601との間は支障なくインターネット接続が成立する。なお、この時点では、暗号化通信処理部606は第二NIC601と第一NIC507との間を流れるパケットの暗号化処理及び復号化処理は行わない。
In a state where the
一方、認証制御部607は、第一NIC507と第二NIC601との間でインターネット接続が完遂したことを知ると、直ちにNC108に対して端末認証を試みる。端末認証に用いる機器特定ID608は、コントロールセッション管理部609を通じて制御される暗号化通信処理部606によって暗号化されて、NC108に送信される。NC108から暗号化通信処理部606を通じて端末認証の成功の通知を受けると、認証制御部607は第一端末105のRTA111に対して、端末認証の成功を通知する。この時点で、INI−BOX109とNC108との間にはコントロールセッションが形成される。
On the other hand, when the
認証制御部607は、RTA111から第二NIC601を通じて、又は第二USBインターフェース506に接続された外部個人認証機器からユーザ認証の情報を受信すると、この情報を暗号化通信処理部606を通じて再びNC108に送信し、ユーザ認証を試みる。ユーザ認証の情報は、様々である。RTA111から受け取る場合は、一般的なユーザIDとパスワードである。第二USBインターフェース506から受け取る場合は、第二USBインターフェース506には指紋認証機器やICカードリーダ等の、個人認証を実現する機器が接続されて、それら機器から個人認証に用いる情報が得られる。更に、RTA111からユーザIDとパスワードを受け取り、ICカードリーダから認証データを受け取り、これらをまとめてNC108に送信する場合もある。以下、これらの端末を使用するユーザを認証するための情報を個人認証情報と総括して呼ぶ。
When the
個人認証情報は、コントロールセッション管理部609を通じて制御される暗号化通信処理部606によって暗号化されて、NC108に送信される。NC108から暗号化通信処理部606を通じて個人認証の成功の通知を受けると、認証制御部607はこの通知をRTA111へ転送する。そして、RTA111から個人認証が正常終了した旨の通知を受けると、認証制御部607はコントロールセッション管理部609に個人認証の成功を通知する。そして、INI−BOX109全体の制御をコントロールセッション管理部609に委ねる。
The personal authentication information is encrypted by the encrypted
コントロールセッション管理部609は、認証制御部607から制御の移譲の通知を受けると、NC108に対し、コントロールセッションを通じて第一端末105を現在使用しているユーザに係る制御設定情報610の送信を依頼する。NC108は制御設定情報610の送信依頼を受けて、個人認証を行ったユーザに対応する制御設定情報610を、後述するユーザテーブルとサーバテーブルから作成して、INI−BOX109に送信する。コントロールセッション管理部609は、NC108から制御設定情報610を受信すると、これをRAM503内に格納する。
Upon receiving the control transfer notification from the
次に、コントロールセッション管理部609は、NC108から受信した制御設定情報610の一部である制限情報に記述されているパケットフィルタリングの設定情報を読み出して、パケットフィルタ設定部611を制御する。パケットフィルタ設定部611は、コントロールセッション管理部609から与えられたパケットフィルタリングの設定情報に従って、パケットフィルタを構成する。
Next, the control
次にコントロールセッション管理部609は、NC108から受信した制御設定情報610を第一端末105のRTA111に送信する。RTA111は、制御設定情報610の一部である制限情報に記述されているAPIフックの設定情報を読み出して、APIのフックを設定する。また、アイコンを設けて、ユーザがアクセスを許可されているサーバにアクセスするためのリンク情報をアイコンに埋め込む。図1の場合、第一端末105のユーザは第一サーバ103に対するアクセスが許可されているので、第一サーバ103にアクセスするためのアプリケーションと、第一サーバ103にアクセスするためのリンク情報が、アイコンとしてRTA111のGUI画面内に設けられる。
Next, the control
リンク情報の形態は、プロトコルによって異なる。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
Thus, the first terminal 105 can connect to the
[ソフト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
The
The built-in
The loopback
INI−BOX109の場合は、第一NIC507は第一端末105から直接的にアクセスが可能なデバイスでは無かった。しかし、ソフトINI113の場合、内蔵NIC301もループバック仮想NIC701も、第二端末106のOS201及びアプリケーションから等しくアクセスが可能なデバイスである。
In the case of the INI-
ソフトINI113の内蔵NIC301が第二ISP112に接続されると、OS201が内蔵するDHCPクライアント702は、内蔵NIC301を通じて第二ISP112の図示しないDHCPサーバから、IPアドレス、ネットマスク、デフォルトゲートウェイ、ネームリゾルバ等のネットワーク構成情報を受信し、内蔵NIC301がネットワークに接続できるように内蔵NIC301を設定する。
When the built-in
INI−BOX109の場合は、この手順の次に、第一NIC507と第二NIC601のサブネットが重複しないための処理が必要だったが、ループバック仮想NIC701は、グローバル或はプライベートのIPアドレスが付与される内蔵NIC301とは必ずネットワークセグメントが重複しないので、アドレス重複回避部603を設ける必要はない。また、ループバックアドレスは固定であるので、DHCPサーバ604も不要である。
In the case of the INI-
ソフトINI113の内蔵NIC301が第二ISP112に接続された状態では、ポートフォワード設定部705は何もしない。また、パケットフィルタ設定部706も何もしない。これにより、OS201及びアプリケーションは内蔵NIC301を通じて支障なくインターネット接続ができる。なお、この時点では、暗号化通信処理部606はループバック仮想NIC701と内蔵NIC301との間を流れるパケットの暗号化処理及び復号化処理は行わない。
In a state where the built-in
一方、認証制御部607は、内蔵NIC301のインターネット接続が完遂したことを知ると、直ちにNC108に対して端末認証を試みる。端末認証に用いる機器特定ID608は、コントロールセッション管理部609を通じて制御される暗号化通信処理部606によって暗号化されて、NC108に送信される。NC108から暗号化通信処理部606を通じて端末認証の成功の通知を受けると、認証制御部607は第二端末106のRTA111に対して、端末認証の成功を通知する。この時点で、ソフトINI113とNC108との間にはコントロールセッションが形成される。
On the other hand, when the
認証制御部607は、RTA111から、又は内蔵USBインターフェース207に接続された外部個人認証機器から個人認証情報を受信すると、この情報を暗号化通信処理部606を通じて再びNC108に送信し、ユーザ認証を試みる。
Upon receiving personal authentication information from the
個人認証情報は、コントロールセッション管理部609を通じて制御される暗号化通信処理部606によって暗号化されて、NC108に送信される。NC108から暗号化通信処理部606を通じて個人認証の成功の通知を受けると、認証制御部607はこの通知をRTA111へ転送する。そして、RTA111から個人認証が正常終了した旨の通知を受けると、認証制御部607はコントロールセッション管理部609に個人認証の成功を通知する。そして、ソフトINI113全体の制御をコントロールセッション管理部609に委ねる。
The personal authentication information is encrypted by the encrypted
コントロールセッション管理部609は、認証制御部607から制御の移譲の通知を受けると、NC108に対し、コントロールセッションを通じて第二端末106を現在使用しているユーザに係る制御設定情報610の送信を依頼する。NC108は制御設定情報610の送信依頼を受けて、個人認証を行ったユーザに対応する制御設定情報610を、後述するユーザテーブル及びサーバテーブルから作成して、ソフトINI113に送信する。コントロールセッション管理部609は、NC108から制御設定情報610を受信すると、これを図示しないRAM503内に格納する。
Upon receiving the control transfer notification from the
次に、コントロールセッション管理部609は、NC108から受信した制御設定情報610の一部である制限情報に記述されているパケットフィルタリングの設定情報を読み出して、パケットフィルタ設定部706を制御する。パケットフィルタ設定部706は、コントロールセッション管理部609から与えられたパケットフィルタリングの設定情報に従って、パケットフィルタを構成する。
Next, the control
INI−BOX109の場合、この次には、コントロールセッション管理部609が制御設定情報610を第二端末106のRTA111に送信する手順を踏むが、ソフトINI113の場合、ソフトINI113とRTA111が第二端末106内に共存しているので、NC108から受信した制御設定情報610は直ちにRTA111も参照可能である。したがって、ソフトINI113が制御設定情報610を第二端末106のRTA111に送信する手順は、本質的に生じ得ない。
In the case of the INI-
RTA111は、図示しないRAM503に保存されている制御設定情報610の一部である制限情報に記述されているAPIフックの設定情報を読み出して、APIのフックを設定する。また、アイコンを設けて、ユーザがアクセスを許可されているサーバにアクセスするためのリンク情報をアイコンに埋め込む。図1の場合、第二端末106のユーザは第二サーバ104に対するアクセスが許可されているので、第二サーバ104にアクセスするためのアプリケーションと、第二サーバ104にアクセスするためのリンク情報が、アイコンとしてRTA111のGUI画面内に設けられる。
The
ユーザが、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
In this way, the second terminal 106 can connect to the second server 104 via the
以上、INI−BOX109とソフトINI113を説明した。
これまでの説明で明らかなように、INIはNC108の指示、具体的にはNC108が作成する制御設定情報610の一部である制限情報に基づいて、端末で稼働するOS201或はそのOS201を通じて動作するアプリケーションから発生する通信に対し、パケットフィルタで制限を加える。そして、ユーザが許可されたサーバに対する仮想的な接続を実現するために、NC108に対するポートフォワーディングを設定する。
ポートフォワーディングを行うことで、端末はあたかもLAN102内のサーバに接続する時と同等の状態で、インターネット107及びファイアウォールを介したサーバに接続することができる。
The INI-
As is apparent from the above description, the INI operates on the
By performing port forwarding, the terminal can connect to the server via the
NC108が作成する制御設定情報610は、INIとRTA111の動作を制御するための設定情報である制限情報と、後述する名前解決に必要な仮想資源テーブルよりなる。これまで説明した制御設定情報610の役割の説明は、制限情報の役割であった。仮想資源テーブルについては、後述する名前解決の説明で詳述する。
The
[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
As is apparent from the above description, the
図8では、RTA111を説明する際に必要不可欠な、OS201とアプリケーションについても機能ブロックとして表記している。
OS201には様々な機能が含まれているが、本実施形態を説明するに際し、OS201はハードウェアをアプリケーションから扱い易くするためのデバイスドライバの集合体と考えることができる。そして、デバイスドライバはAPIの集合体ともいえる。図8では、主にこれらハードウェアとデバイスドライバに着目して、機能ブロックを記述した。
In FIG. 8, the
Although various functions are included in the
端末に備わっている主要なハードウェアとしては、キーボード及びマウス等のポインティングデバイスである操作部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
The
The
ファイルシステム803は、ストレージ204にファイル及びディレクトリを構成し、アプリケーションやシェル202の指示に従ってファイル及びディレクトリを操作する。
プロセス制御部804は、アプリケーションやシェル202を通じてストレージ204内に存在するアプリケーションやライブラリ等の実行及び終了を制御する。
クリップボードバッファ805は、アプリケーションやシェル202同士でデータオブジェクトの複写、移動、削除等の一時バッファとして機能する。
TCP/IPプロトコルスタックとも呼べるネットワークドライバ806は、アプリケーションやシェル202とネットワークとの間で通信ができる環境を構築し、その通信を制御する。
The
The
The
A
ネットワークドライバ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
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
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
In the case of the
In the case of the INI-
NC108から制御設定情報610を得ると、APIフック設定部807は、制御設定情報610の一部である制限情報に記述されている情報に従って、操作情報取得部808、画面キャプチャ処理部809、ファイルシステム監視部810、プロセス監視部811、クリップボード監視部812、そしてAPIフック処理部813に設定を行う。
When the
ファイルシステム監視部810は、制限情報で指定された特定のファイルやディレクトリに対する挙動として、コピー、移動、削除、名称変更を監視する。
プロセス監視部811は、制限情報で指定された特定のアプリケーション等のプロセスの起動及び自己プロセス隠蔽行為を監視する。
クリップボード監視部812は、制限情報で指定された特定のアプリケーション等が、クリップボードバッファ805に対する、データオブジェクトの複写、移動、削除等の操作を監視する。
The file
The
The
APIフック処理部813は、ファイルシステム監視部810がファイルシステム803に対するAPIフック処理を、プロセス監視部811がプロセス制御部804に対するAPIフック処理を、クリップボード監視部812がクリップボードバッファ805に対するAPIフック処理を、それぞれ実現する。
APIフック処理部813によって、シェル202やアプリケーションがファイルやプロセスに対して何らかの動作を起こそうとすると、ファイルシステム監視部810やプロセス監視部811がその都度呼び出されて、対応するAPIを実行すべきか否かが判定される。
In the API
When the
操作情報取得部808は、制限情報に記述されている情報に従って、当該情報に記されている条件に合致したら、操作ドライバ801から得られる操作情報を、INI−BOX109又はソフトINI113を通じてNC108へ報告する。
画面キャプチャ処理部809は、制限情報に記述されている情報に従って、当該情報に記されている条件に合致したら、表示制御部802から得られるビットマップ画面情報を、INI−BOX109又はソフトINI113を通じてNC108へ報告する。
The operation
When the screen
専用シェル208は、制御設定情報610の記述に従って、ユーザが実行を許可されるアプリケーションのアプリケーションプログラム名と、ユーザがアクセスを許可されるサーバのリソース名(resource:「情報資源」の意)を含むアイコンを作成する。アイコンの中身はコマンドライン文字列であり、実行するアプリケーションプログラム名と、その引数としてサーバのリソース名が記述される。また、アプリケーションプログラムによっては、起動時に必要な種々のオプションスイッチも含まれる。このアイコンをマウス等のポインティングデバイス等でクリックすることで起動したアプリケーションプログラムが、図8の第一アプリケーション209及び第二アプリケーション210である。第一アプリケーション209及び第二アプリケーション210は専用シェル208の子プロセスとして起動されるので、第一アプリケーション209及び第二アプリケーション210の挙動は専用シェル208を通じて完全に把握可能である。
The
一方、OS201には標準で備わっているシェル202が存在する。また、そのシェル202から起動するアプリケーションプログラムも当然存在する。プロセス監視部811はこれら専用シェル208を経由しないシェル202及びアプリケーション(図8では第三アプリケーション203がこれに該当する。)については、ファイルシステム監視部810、プロセス監視部811及びクリップボード監視部812が厳しくその挙動を監視し、サーバに対するセキュリティ面の脅威となる可能性のある操作は直ちに中止する。また、起動自体が禁じられているアプリケーションプログラムについては、プロセス監視部811によって強制終了させられる。
On the other hand, the
[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
The
第三NIC901に接続されている暗号化通信処理部904は、INI−BOX109及びソフトINI113に設けられている暗号化通信処理部606と対をなす。つまり、INIと認証情報の送受信と、コントロールセッション及びデータセッションの暗号化を施す。
認証部905は、端末テーブル906及びユーザテーブル907を参照して、端末認証及びユーザ認証を遂行する。認証部905は更に、ユーザ認証が正常に終了した端末については、その機器特定ID608とユーザIDの組みを認証済IDリスト908に書き出す。
The encrypted
The
コントロールセッション管理部909は、INI−BOX109及びソフトINI113に設けられているコントロールセッション管理部609と対をなす。つまり、INIとの間にコントロールセッションを形成し、端末に対する様々な制御情報の送受信を行う。特に、ユーザテーブル907には制限情報がユーザ毎に格納されており、コントロールセッション管理部909はINIの要求に応じてユーザテーブル907から当該ユーザの制限情報を読み出してINIへ送信する。
The control
データセッション管理部910は、コントロールセッション管理部909を通じて、INIから来たサーバに対する接続要求に応じて、当該サーバに対応するリバースプロキシを起動して、INIとNC108との間にデータセッションを形成する。データセッション管理部910によって起動されるプロセスは、図9に示すように、第一リバースプロキシ911、第二リバースプロキシ912、…と、端末との間に形成されるデータセッションの数に応じて増減する。
The data
端末テーブル906は、NC108が接続を許可するINIの機器特定ID608が列挙されているテーブルである。
ユーザテーブル907は、NC108が接続を許可するユーザのユーザID及びパスワード等の個人認証情報と、当該ユーザの制限情報と、当該ユーザが接続を許可されているサーバのサーバ名が格納されている。
サーバテーブル913は、ユーザIDと、当該ユーザIDのユーザが利用できるサーバのサーバ名と、当該サーバのアクセスに用いられるプロトコルの種類と、対応するリバースプロキシのプログラム名等が格納されている。このサーバテーブル913には、端末が接続したいサーバを正しく指定できるために必要な「名前解決」の仕組みに必要な情報が格納されている。
The terminal table 906 is a table in which the INI
The user table 907 stores personal authentication information such as user IDs and passwords of users permitted to be connected by the
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
The virtual resource table constitutes
The user resource table is created for each user, stored in the
図示しないリバースプロキシサーバプログラムは、サーバにアクセスする際に利用するプロトコルに応じて用意される。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
先の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
If the terminal simply connects to a server that exists on the other side of the
具体的には、例えばマイクロソフト社の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
この問題を解決するためには、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
[動作]
図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
The operation of the terminal connecting to the
In the case of the first terminal 105 to which the INI-
In the case of the second terminal 106 incorporating the
Then, in the case of the INI-
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
If the terminal authentication result returned from the
Conversely, if the authentication result returned from the
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
The
RTA111のAPIフック設定部807は、NC108から返ってきたユーザ認証結果が「正常に認証した(認証OK)」であれば(S1017のYES)、INIから制御設定情報610が送信されるのを待つ。逆に、NC108から返ってきた認証結果が「正常に認証できなかった(認証NG)」であれば(S1017のNO)、表示部206にエラー画面を表示して(S1018)、再度ユーザ認証画面を表示する(S1010)。つまり、端末認証は完了しているがユーザ認証が完了していないので、ユーザ認証が正常終了するまでユーザ認証の動作は繰り返される。
If the user authentication result returned from the
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
Upon receiving the control transfer notification from the
In response to the transmission request for the
Upon receiving the
次に、INIのコントロールセッション管理部909は、NC108から受信した制御設定情報610に記述されている、パケットフィルタリングの設定情報を読み出して、パケットフィルタ設定部706を制御する。パケットフィルタ設定部706は、コントロールセッション管理部909から与えられたパケットフィルタリングの設定情報に従って、パケットフィルタを構成する(S1021)。
Next, the INI control
図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
RTA111は制御設定情報610の内容に従って、APIフック処理部813を始めとする各種機能ブロックに対して所定の設定を行う(S1123)。
こうして、RTA111はAPIフックを、INIはパケットフィルタを、それぞれ構成した。
The
Thus,
これ以降は、ループ動作である。
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
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
When the
図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
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
NC108のコントロールセッション管理部909は、INIからサーバに対するアクセス要求を受信すると(S1204)、後述するユーザ資源テーブルを参照して、当該サーバに対応するリバースプロキシのプログラム名をデータセッション管理部910に引き渡す。データセッション管理部910はコントロールセッション管理部909から指定されたリバースプロキシプログラムを起動する(S1205)。
Upon receiving an access request for the server from the INI (S1204), the control
一方、INIのコントロールセッション管理部909は、ポートフォワーディングの設定を行う(S1206)。こうして、アプリケーションとINIとの仮想接続(S1207)、INIとNC108とのポートフォワーディング(S1208)、NC108とサーバとのリバースプロキシ接続(S1209)を経て、アプリケーションはサーバと仮想的な接続が成立する(S1210)。
On the other hand, the INI control
[名前解決]
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
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
Next, the control
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-
In the case of the
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
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
周知の通り、サーバは単一のサーバが単一のサービスを提供するとは限らない。また、特に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
これに対し、「端末用リソース文字列」は、端末上で所定のプログラムを起動する際に、プログラムがサーバにアクセスするための、リソースを指定する文字列である。しかし、この文字列はリバースプロキシによって変換することができる。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
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
そこで、本実施形態では、RTA111の専用シェル208から起動するwebブラウザに細工を施す。具体的には、webブラウザを起動する際、強制的にプロキシサーバの設定を施す。プロキシサーバのアドレスは、仮想接続するポートフォワーディングの宛先のIPアドレスである。このようにwebブラウザを設定すると、webブラウザはAタグで指定される全てのコンテンツを、ポートフォワーディング及びリバースプロキシを通じて、遠隔地にあるLAN102から取得しようとする。インターネット107上のリソースも、NC108というゲートウェイを通じて取得できる。この接続方法の利点は、LAN102に適用されるセキュリティポリシがそのまま端末にも反映される、という点である。端末は、LAN102内に存在する時と同じセキュリティポリシが、インターネット107上でも適用されることとなる。
Therefore, in this embodiment, the web browser activated from the
本実施形態は、以下のような応用例が可能である。
(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
Further, the
(2)NC108を複数設けて、多段リバースプロキシを構成することもできる。
(2) A multi-stage reverse proxy can be configured by providing a plurality of
(3)INIが複数のNC108に対して同時にアクセスすることもできる。この場合、INIは後から接続するNCに対して、ユーザ認証を完了した直後に、既に先に接続済みのNCで割り当て済みの端末用ターゲットアドレスを報告し、それぞれのNCで端末用ターゲットアドレスが重複しないように調停する必要がある。
(3) INI can also access a plurality of
図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
After the INI-
一般的に、サーバを構成する際の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
このような、コントロールセッションとデータセッションを分離する思想は、古くから存在する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
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
The source IP address and destination IP address (and the port number if necessary) are rewritten by port forwarding in the
更に、これらパケットは、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
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
周知の通り、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
更に、本実施形態では既存の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
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
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.
ストレージと、
前記ストレージにファイル及びディレクトリを形成するファイルシステムと、
アプリケーションプログラムの起動及び終了を制御するプロセス制御部と
を備え、
前記挙動制限部は、前記ポートフォワード形成装置が受信した前記制限情報を受けて、前記端末のファイルシステムに対して前記ファイル及び/又はディレクトリの複写、移動、削除及び/又は名称変更を監視すると共に、前記端末のプロセス制御部に対して特定のプロセスの起動及び/又は自己プロセス隠蔽行為を監視する、
請求項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 .
ストレージと、
前記ストレージにファイル及びディレクトリを形成するファイルシステムと、
アプリケーションプログラムの起動及び終了を制御するプロセス制御部と
を備え、
前記挙動制限部は、前記ポートフォワード形成装置が受信した前記制限情報を受けて、前記端末のファイルシステムに対して前記ファイル及び/又はディレクトリの複写、移動、削除及び/又は名称変更を監視すると共に、前記端末のプロセス制御部に対して特定のプロセスの起動及び/又は自己プロセス隠蔽行為を監視する、
請求項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.
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)
| 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)
| 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)
| 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 |
-
2010
- 2010-04-08 JP JP2010089873A patent/JP4908609B2/en not_active Expired - Fee Related
-
2011
- 2011-03-29 WO PCT/JP2011/057757 patent/WO2011125638A1/en not_active Ceased
Cited By (1)
| 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 |