WO2000070839A2 - Secured session sequencing proxy system and method therefor - Google Patents

Secured session sequencing proxy system and method therefor Download PDF

Info

Publication number
WO2000070839A2
WO2000070839A2 PCT/US2000/013585 US0013585W WO0070839A2 WO 2000070839 A2 WO2000070839 A2 WO 2000070839A2 US 0013585 W US0013585 W US 0013585W WO 0070839 A2 WO0070839 A2 WO 0070839A2
Authority
WO
WIPO (PCT)
Prior art keywords
server
session
user terminal
host
data
Prior art date
Application number
PCT/US2000/013585
Other languages
French (fr)
Other versions
WO2000070839A3 (en
Inventor
William Jordan Yarborough
Jia Jin Zhuang
Original Assignee
Jpmorgan Chase Bank
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jpmorgan Chase Bank filed Critical Jpmorgan Chase Bank
Priority to JP2000619174A priority Critical patent/JP2003500711A/en
Priority to EP00937586A priority patent/EP1186147A2/en
Priority to AU52734/00A priority patent/AU770584B2/en
Priority to CA002371358A priority patent/CA2371358A1/en
Publication of WO2000070839A2 publication Critical patent/WO2000070839A2/en
Publication of WO2000070839A3 publication Critical patent/WO2000070839A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies

Definitions

  • the present invention relates to network data communications, and more particularly to establishing a secure data communication session between a public user and an internal host in which the host and internal network are secured from unauthorized access.
  • Prior on-line services used dedicated dial-up facilities, and customized security software on the user's terminal and the host system to prevent unauthorized access.
  • users were forced to access the service provider's system by dialing a special telephone number.
  • Transmitted data was secured by encryption, and incoming dial-up calls were only accepted from authorized users.
  • Security software was also implemented on the provider's host system. This became very inefficient and cumbersome as users began to subscribe to multiple on-line services.
  • Global computer networks such as the Internet allow users to access many different hosts and services from their computers via a single access connection. While this has enhanced users ' abilities to access information and conduct business, global networking has complicated service providers' security mechanisms. For example, a service provider must allow inbound (from the network to the service) access to their site for everybody. This results from the service providers ' inability to be sure of the originating computer address, such as a TCP/IP
  • Security systems and methods have been developed which employ the use of special security software on both the user's terminal and the host system. These types of security systems use a public and private key pair challenge mechanism using data encryption and digital signatures for authentication. This provides a secure session, but every user must have a copy of this software in order to access the host . Service providers offering this type of access software must offer customers installation support and problem determination services, and must also update the special software as needed. This increases the complexity of the system and drives up the cost of providing the service.
  • SSL Secure Sockets Layer
  • SSL is application independent and negotiates encryption keys and allows the user terminal to authenticate the host prior to allowing data communications.
  • SSL is typically implemented in Internet web browser software. Thus, it facilitates secure data transmission between a user and a host. This allows a user to be sure that communication between their terminal and the host is free from unauthorized interception, but still does not protect the service provider's host from security attacks.
  • Firewalls are typically programmed to restrict inbound access to a particular set of users, or to restrict access to a particular set of hosts or ports, i.e., services.
  • the user terminal communicates with the proxy server which in turn communicates with the host.
  • a user establishes a session with a proxy server and the proxy server establishes a session with the host.
  • firewalls typically allow direct session communications between the user's terminal and the host system.
  • Direct session communication refers to a user terminal addressing data packets such that the final destination address is indicated as the terminus host machine. This provides the user with the actual host address. It is desired to protect the host address in confidence such that users do not know what the host address is and can not attempt to send unauthorized data directly to the host in an attempt to access it in a manner which is not desired by the service provider.
  • the security exposure situation is not improved much through the use of a proxy server, because a hacker who compromises the proxy server can use the proxy server as a base for accessing the provider's hosts.
  • the network and any firewalls must "trust" the proxy and allow data communications to flow between the proxy and the host.
  • hosts must accept data transmitted from a proxy, and firewalls must allow traffic to or from the proxy to users and hosts to flow freely.
  • the proxy server accepts the user's inbound (from user to server) session connection request, and invokes a new session request between the proxy server and the host.
  • this arrangement and method hides the host address from the user, a connection is still established by the proxy server to the host.
  • any interposing firewalls must allow the proxy to establish a connection with a host. As a result, gaining access to the proxy, authorized or unauthorized, allows access to a provider's host .
  • FIG 1 shows an example of a typical security hardware arrangement.
  • users 2 need to access a service available on host 4 through public network 6.
  • a person responsible for managing host 4 will access that host using management terminal 8 through private network 10.
  • Public network 6 is a global computer network such as the Internet
  • private network 10 is a corporation's intra-network.
  • Security device 12 is interposed between public network 6 and private network 10 such that users 2 can communicate with host 4, but are not permitted to communicate with private network 10 or any hosts thereon.
  • Security device 12 can be a firewall or a proxy server.
  • Security device 12 can be configured so that users on private network 10 can access public network 6 or host 4.
  • DMZ demilitarized zone
  • a user 2 is establishing a direct session with host 4, or a proxied session with host 4 through security device 12.
  • An unauthorized user who gains access to security device 12 may be able to then access private network 10, management terminal 8 and any other devices on the private network.
  • An unauthorized user compromising security device 12 may also be able to access data on host 4 to which he is not entitled because host 4 is typically configured to trust the integrity of data received from security device 12.
  • this arrangement is problematic from a security standpoint .
  • host 4 and others like it must be placed on DMZ segments, corporate personnel wishing to access host 4 must either do so through security device 12 or must physically go to the location of host 4 to access that host by a directly connected terminal or a terminal on the DMZ segment .
  • security device 12 It is desirable to be able to configure security device 12 such that connections originating from private network 10 to host 4 or to public network 6 are not permitted, while simultaneously allowing corporate personnel to easily access host 4 for maintenance and support .
  • the present invention provides a system for communicating data using a data communication session between a user terminal and a host m which the user terminal is coupled to a first network and a host is coupled to a second network.
  • the system comprises a first server coupled to the first network, the first server receiving a session establishment request from the user terminal and generating a connection request m response to the session establishment request.
  • a second server coupled to the first server and the second network receives the connection request and establishes communications with the host m accordance with the connection request, the second server initiating communications by establishing a communication control session with the first server before the first server will send the connection request to the second server.
  • the present invention also provides a method for communicating data using a data communication session between a user terminal and a host m which the user terminal is coupled to a first network and a host is coupled to a second network.
  • the method comprises the steps of establishing a control connection between a first server and a second server, the second server initiating the control connection, establishing a first session between the first server and the user terminal based on a user connection request, the first session transferring data between the user terminal and the first server, and using the control connection to establish a second session between the second server and the host and a third session between the first server and the second server, the second session transferring data between the second server and the host and the third session transferring data between the first server and the second server.
  • Fig. 1 is a diagram of a prior art security hardware arrangement
  • Fig. 2 is a diagram of the security hardware arrangement of the present invention
  • Fig. 3 is a flowchart showing a secure session establishment process of the present invention.
  • inbound and outbound when referring to the flow of data communication traffic such as actual data payload and request/response data.
  • inbound refers to communication data originating at a public user terminal, such as user terminal 2, and terminating at a service provider's security system device or host.
  • outbound traffic refers to traffic flowing from the host or security system to a user terminal in public network 6.
  • the term "port” as used herein refers to a logical communication port established via software such as a TCP/IP port.
  • the term “socket” as used herein refers to its common computer programming usage in which a “socket” is a logical end point in a connection, including logical connections between processes running within the same computer. The connection, however, can be “connectionless” in the context of global networking such as the Internet in which a server supports many client requests but does not maintain the actual connection and longer than is necessary to service the immediate request.
  • the term “thread” as used herein refers to its common computer programming usage in which a "thread” is a placeholder used to support multiple concurrent users of a single executing instance of a computer program.
  • FIG. 2 shows the hardware arrangement of the present invention.
  • security system 14 of the present invention is comprised of external firewall 16, public proxy server (PPS) 18, internal firewall 20 and gateway proxy server (GPS) 22.
  • external firewall 16 is connected to public network 6 and to PPS 18.
  • PPS 18 in turn is connected between external firewall 16 and internal firewall 20.
  • PPS 18 can sit on an isolated segment such that there are no other devices attached or networked between PPS 18 and external firewall 16 on the outbound side, and PPS 18 and internal firewall 20 on the inbound side.
  • GPS 22 connects internal firewall 20 to private network 10.
  • External firewall 16 is a typical packet or session firewall which is configured to allow inbound access to specific logical ports, i.e. host services via TCP/IP ports, by allowing those connections to be made between user terminal 2 and PPS 18.
  • Internal firewall 20 can be a router or other typical device capable of packet filtering or session filtering, and is configured to only allow gateway proxy server 22 to initiate an outbound service connection to PPS 18 using a predetermined group of logical ports, such as TCP/IP port 8080.
  • Internal firewall 20 is configured to deny and filter out any inbound connection requests, for example, connection requests originating at PPS 18, external firewall 16, public network 6 or user terminals 2 which attempt to establish a service connection to GPS 22, private network 10 or host 4.
  • internal firewall 20 is configured to allow data flow between PPS 18 and GPS 22, but internal firewall 20 is configured such that only data communications between PPS 18 and GPS 22 are permitted once GPS 22 establishes a connection to PPS 18.
  • Hosts 4 and users terminals 2 are typical devices suitable for performing the functions required of host and user terminals respectively.
  • user terminal 2 can be a personal computer or hand-held computer device capable of accessing a global computer network such as the Internet.
  • Host 4 can range in size and capability from a personal computer to a mainframe computer, and is sized according to the service provider's particular requirements. Also, host 4 can be logically and physically located anywhere within private network 10.
  • the computing hardware platforms for PPS 18 and GPS 22 are typical personal computer servers or UNIX servers sized such that they can handle the expected user and data traffic load.
  • PPS 18 and GPS 22 can be servers running MICROSOFT'S WINDOWS NT operating system.
  • PPS 18 and GPS 22 need not contain any special operating system enhancements in order to function as proxy servers in the present invention.
  • PPS 18 and GPS 22 do contain special software which enables these devices to function as an integral part of the present invention.
  • the control programs running on PPS 18 and GPS 22 can be written in any language suitable for programming, such as C++, or JAVA.
  • GPS 22 Upon system initialization, GPS 22 initiates communications with PPS 18 through internal firewall 20 (step 24) . In other words, GPS 22 establishes the connection outbound from itself to PPS 18, thereby requiring only one logical communication port to be opened between GPS 22 and PPS 18. The establishment of the connection by GPS 22 to PPS 18 is hereinafter referred to as the main proxy control connection.
  • the main proxy control connection is used to request session establishment and not for the actual transfer of data. Also, the main proxy control connection is solely responsible for the send/receive connection request and connection reply packets to establish the connection between user terminal 2 and host 4. In contrast, external firewall 16 is configured to allow many logical ports to be opened to allow communication between user terminals 2 and PPS 18.
  • GPS 22 uses the main proxy control connection to transmit a table to PPS 18. This table contains a mapping of valid host ports to their respective services. Once GPS 22 establishes communications with PPS 18, security system 14 is ready to accommodate incoming requests from user terminals 2 (step 26) .
  • a user terminal 2 seeks to establish a session with host 4
  • user terminal 2 sends a connection request, typically via the hyper-text transport protocol (HTTP) to a logical port on PPS 18.
  • PPS 18 accepts the connection request from user terminal 2 using a new socket SI (step 28) .
  • Data corresponding to the new connection is stored in a memory vector array on PPS 18.
  • Data stored in the memory vector array includes the address of user terminal 2, such as TCP/IP address, the incoming port identifier on PPS 18, and the service with which user terminal 2 seeks to communicate.
  • Acceptance of the connection request by PPS 18 does not enable any actual data content, i.e. account information, HTML screen data, etc., to flow to or from user terminal 2.
  • PPS 18 's acceptance of the connection request merely establishes the first session connection between user terminal 2 and PPS 18.
  • connection notification request contains the port number information derived from the port to service map as the destination of the connection request.
  • the port number information used by PPS 18 is based on the list of map port numbers sent by GPS 22 to PPS 18 in step 24.
  • the connection notification request informs GPS 22 of the host to which user terminal 2 wishes to communicate with.
  • GPS 22 maintains a list in its memory, mapping the list of ports sent to PPS 18 during step 24 to their corresponding actual host addresses for hosts 4.
  • the GPS 22 map contains ports and the corresponding TCP/IP address of hosts 4.
  • GPS 22 verifies that the port connection requested by PPS 18 has an entry in its port map pointing to the final destination host address (step 32) .
  • GPS 22 If GPS 22 does not have a mapping entry to the final destination, it denies the notification request causing PPS 18 to terminate its session with user terminal 2 (step 34) . If GPS 22 has a mapping entry, GPS 22 initiates a connection to the appropriate destination host 4 using a new socket S3 on GPS 22 (step 36) . Referring to Figure 2, GPS 22 establishes a connection to host 4 through private network 10 using socket S3. At this point in the session establishment process, three separate connections have been established, user 2 to PPS 18 via public network 6 and external firewall 16, GPS 22 to host 4 via private network 10, and GPS 22 to PPS 18 via internal firewall 20 (connection established outbound) . There is still no complete logical connection for user data traffic between user terminal 2 and host 4. This is the case because a data communication path between GPS 22 and PPS 18 has not yet been established, only the main proxy control connection has been established.
  • GPS 22 After initiating the connection to host 4 using socket 3, GPS 22 makes another connection to PPS 18 outbound through internal firewall 20 using new socket S2 (step 38) .
  • the new connection between GPS 22 and PPS 18 is a connection different than the mam proxy control connection which remains available for the communication of other connection requests from user terminals 2.
  • GPS 22 uses this new connection and sends a connection reply to PPS 18 containing the end-points for connection S3 to the destination host 4 (step 40) .
  • the connection reply sent during step 40 is a standard proxy connection reply, known to those of ordinary skill m the art.
  • GPS 22 spins off a new processing thread which reads communication data from socket S2 and forwards to socket S3, and vice versa (step 42) .
  • GPS 22 socket S3 is used to communicate with the desired host 4
  • GPS 22 socket S2 is used to communicate through firewall 20 to PPS 18.
  • the processing thread in GPS 22 facilitates data transport between sockets S2 and S3.
  • step 44 need not follow step 42, since the two steps are mutually exclusive, i.e. the communication thread established between S2 and S3 on GPS 22 occurs independent of PPS 18 accepting the connection reply.
  • PPS 18 Upon receiving the connection reply from GPS 22, PPS 18 searches through the vector array stored in its memory to map the logical port information received from socket S2 to the address of user terminal 2 which initiated the service session request.
  • PPS 18 then initiates a new thread establishing a data path between socket S4 and socket SI (step 46) .
  • This new processing thread on PPS 18 reads data from socket SI and forwards it to socket S4 and vice versa.
  • user terminal 2 has a logical client host connection with desired host 4 via the following threads and socket to socket communications: user terminal 2 to socket SI on PPS 18; thread S1 - S4 ; socket SI on PPS 18 to socket S2 on GPS 22; thread S2-S3; and S3 on GPS 22 to destination host 4.
  • the connection from user terminal 2 to destination host 4 originates inbound from GPS 22 to host 4 and originates out from GPS 22 to PPS 18.
  • the initial request from user terminal 2 is maintained on socket SI in PPS 18 while the session set-up sequence between GPS 22 and destination host 4, and GPS 22 and PPS 18 completes along with the respective processor threads in GPS 22 and PPS 18.
  • Connection requests from multiple user terminals 2 are supported such that a user need not wait for the sequence to complete for another user before starting his own connection request. This is the case because the connection request in step 28 is accepted by PPS 18 and stored, thereby allowing PPS 18 to wait for another connection request. Also, because typical connection protocols, such as HTTP are stateless, the connection between user terminal 2 and PPS 18 lasts for only such time as it takes to obtain and store the connection request and respond back to the user that the request for connection is accepted (step 28) . GPS 22 acts as a two- sided client since it initiates connection requests to PPS 18 (steps 24 and 38) and destination host 4 (step 36) .
  • PPS 18 acts as a two-sided server since it waits for and accepts connection requests from user terminals 2 (step 28) and GPS 22 (steps 24 and 38) . Recall that in step 30, PPS 18 sends a connection request to GPS 22 via an already established main proxy control connection in which that control connection was originally created outbound from GPS 22 to PPS 18. Once established, a communication session between user terminal 2 and host 4 continues until the operating user completes communication.
  • the application layer of communication between user terminal 2 and host 4 can employ the use of data payload encryption and authentication using typical software such as SSL.
  • security system 14 and its accompanying procedure for establishing secure communications is provided by the present invention.
  • firewall 20 does not allow initial service connections originating from its public network side.
  • the initial main proxy control connection is initiated from the private network side of internal firewall 20 by GPS 22, connecting outward to public proxy 18.
  • This allows internal firewall 20 to be configured to deny all inbound connection initiation requests.
  • a hacker were able to compromise external firewall 16, or even PPS 18, the hacker would be unable to jump from PPS 18 to internal firewall 20, GPS 22 or any device attached to private network 10, because internal firewall 20 m configured to deny those requests.
  • step 38 requires that another outbound connection from GPS 22 to PPS 18 be established to create the actual data payload connection which will eventually be used to transport data to and from user terminal 2 to host 4.
  • security system 14 and the session establishment procedure of the present invention allow service providers to position hosts 4 anywhere within private network 10 such that host 4 need not be installed and supported on a DMZ network segment .
  • the present invention provides this facility because actual data flow between user terminal 2 and host 4 is segmented into smaller connections, i.e. via the previously described socket and thread communication connections. This allows for effective and efficient management of hosts 4 by the service provider and decreases the costs associated with providing the services .

Abstract

A system and method are provided for securing a service providers hosts such that unauthorized access to the hosts is prevented. The system does not require the installation of any special software on users' terminals, and allows the service provider's hosts to be logically and physically located at convenient spots within the service provider's private network. Users can be located anywhere within a global public network such as the Internet. The system uses a first server coupled to the first network in which the first server receives a session establishment request from the user terminal and generates a connection request in response to the session establishment request. A second server coupled to the first server and the second network receives the connection request and establishes communications with the host in accordance with the connection request. The second server initiates communications by establishing a communication control session with the first server before the first server will send the connection request to the second server.

Description

SECURED SESSION SEQUENCING PROXY SYSTEM AND METHOD THEREFOR
BACKGROUND OF THE INVENTION
The present invention relates to network data communications, and more particularly to establishing a secure data communication session between a public user and an internal host in which the host and internal network are secured from unauthorized access.
The proliferation of users and services on global computer networks such as the Internet raises security concerns for both users and service providers. Users want the data they submit to providers and the data they receive from providers to be free from unauthorized interception and use. Similarly, service providers want their hosts and systems secured from unauthorized access and intrusion by "hackers". Service providers, especially those involved with financial services view their computing hardware and software as critical assets. These service providers rely on the trust of their customers who assume that no one will be able to access customer records or otherwise negatively impact the service .
Prior on-line services used dedicated dial-up facilities, and customized security software on the user's terminal and the host system to prevent unauthorized access. In other words, users were forced to access the service provider's system by dialing a special telephone number. Transmitted data was secured by encryption, and incoming dial-up calls were only accepted from authorized users. Security software was also implemented on the provider's host system. This became very inefficient and cumbersome as users began to subscribe to multiple on-line services.
Global computer networks such as the Internet allow users to access many different hosts and services from their computers via a single access connection. While this has enhanced users ' abilities to access information and conduct business, global networking has complicated service providers' security mechanisms. For example, a service provider must allow inbound (from the network to the service) access to their site for everybody. This results from the service providers ' inability to be sure of the originating computer address, such as a TCP/IP
(Transmission Control Protocol/Internet Protocol) address from which actual or prospective users will communicate. It is too inefficient and impractical to allow access on an address by address basis, especially since computer addresses can change every time a user connects to their network access provider. As a result, service providers must allow access for the entire network community, and service providers are forced to use other methods to secure access to their hosts, and to secure the data contained on their hosts.
Security systems and methods have been developed which employ the use of special security software on both the user's terminal and the host system. These types of security systems use a public and private key pair challenge mechanism using data encryption and digital signatures for authentication. This provides a secure session, but every user must have a copy of this software in order to access the host . Service providers offering this type of access software must offer customers installation support and problem determination services, and must also update the special software as needed. This increases the complexity of the system and drives up the cost of providing the service.
Other encryption software, such as Secure Sockets Layer (SSL) handshake protocol is used for client and host authentication. SSL is application independent and negotiates encryption keys and allows the user terminal to authenticate the host prior to allowing data communications. SSL is typically implemented in Internet web browser software. Thus, it facilitates secure data transmission between a user and a host. This allows a user to be sure that communication between their terminal and the host is free from unauthorized interception, but still does not protect the service provider's host from security attacks.
Service providers have attempted to secure their hosts by interposing firewalls and proxy servers between their hosts and the user community. Firewalls are typically programmed to restrict inbound access to a particular set of users, or to restrict access to a particular set of hosts or ports, i.e., services. In a system using a proxy server, the user terminal communicates with the proxy server which in turn communicates with the host. In this configuration, a user establishes a session with a proxy server and the proxy server establishes a session with the host.
As discussed above, restricting user access is not practical, and restricting services still leaves a security hole through which crafty hackers can enter. In other words, since a small opening must be maintained in the firewall to establish the inbound connection, is it still possible for unauthorized users to access the host.
Further security breaches are possible because firewalls typically allow direct session communications between the user's terminal and the host system. Direct session communication refers to a user terminal addressing data packets such that the final destination address is indicated as the terminus host machine. This provides the user with the actual host address. It is desired to protect the host address in confidence such that users do not know what the host address is and can not attempt to send unauthorized data directly to the host in an attempt to access it in a manner which is not desired by the service provider. The security exposure situation is not improved much through the use of a proxy server, because a hacker who compromises the proxy server can use the proxy server as a base for accessing the provider's hosts. In a typical proxy server environment, the network and any firewalls must "trust" the proxy and allow data communications to flow between the proxy and the host. In other words, hosts must accept data transmitted from a proxy, and firewalls must allow traffic to or from the proxy to users and hosts to flow freely. As discussed above, in a typical communication session between a user and a host through a proxy server, the proxy server accepts the user's inbound (from user to server) session connection request, and invokes a new session request between the proxy server and the host. Although this arrangement and method hides the host address from the user, a connection is still established by the proxy server to the host. Thus, any interposing firewalls must allow the proxy to establish a connection with a host. As a result, gaining access to the proxy, authorized or unauthorized, allows access to a provider's host .
Figure 1 shows an example of a typical security hardware arrangement. In a typical environment, such as the Internet, users 2 need to access a service available on host 4 through public network 6. In addition, a person responsible for managing host 4 will access that host using management terminal 8 through private network 10. Public network 6 is a global computer network such as the Internet, whereas private network 10 is a corporation's intra-network. Security device 12 is interposed between public network 6 and private network 10 such that users 2 can communicate with host 4, but are not permitted to communicate with private network 10 or any hosts thereon. Security device 12 can be a firewall or a proxy server. Security device 12 can be configured so that users on private network 10 can access public network 6 or host 4. In the arrangement shown in Figure 1, the placement of host 4 on a network segment accessible by both public network 6 users and private network 10 users is called a demilitarized zone (DMZ) . As discussed above, the arrangement of Figure 1 leaves open a number of potential security problems, and limits the placement of hosts to these DMZ segments. Using the prior art arrangement, a user 2 is establishing a direct session with host 4, or a proxied session with host 4 through security device 12. An unauthorized user who gains access to security device 12 may be able to then access private network 10, management terminal 8 and any other devices on the private network. An unauthorized user compromising security device 12 may also be able to access data on host 4 to which he is not entitled because host 4 is typically configured to trust the integrity of data received from security device 12. Thus, this arrangement is problematic from a security standpoint .
In addition, because host 4 and others like it must be placed on DMZ segments, corporate personnel wishing to access host 4 must either do so through security device 12 or must physically go to the location of host 4 to access that host by a directly connected terminal or a terminal on the DMZ segment .
It is desirable to be able to configure security device 12 such that connections originating from private network 10 to host 4 or to public network 6 are not permitted, while simultaneously allowing corporate personnel to easily access host 4 for maintenance and support .
Of course, each component m the system adds processing delay, a point of failure, requires maintenance and upgrading and adds to the general complexity of the overall system. This situation is especially undesirable to financial institutions who seek to allow users to access only their own account information using a simple, easy to maintain hardware and software configuration.
SUMMARY OF THE INVENTION
It is an object of the present invention to provide a system and method for allowing standard proxies to securely route application session requests between a client and a host m which the user need not install special software to ensure security, and m which the provider need not introduce potential security holes into the configuration of the security equipment.
It is a further object of the invention to be able to physically and logically locate hosts within the private network so as to allow corporate personnel easy access to the hosts for maintenance and support, while simultaneously allowing secure access to host services by public users. In order to achieve these objects, the present invention provides a system for communicating data using a data communication session between a user terminal and a host m which the user terminal is coupled to a first network and a host is coupled to a second network. The system comprises a first server coupled to the first network, the first server receiving a session establishment request from the user terminal and generating a connection request m response to the session establishment request. A second server coupled to the first server and the second network receives the connection request and establishes communications with the host m accordance with the connection request, the second server initiating communications by establishing a communication control session with the first server before the first server will send the connection request to the second server.
The present invention also provides a method for communicating data using a data communication session between a user terminal and a host m which the user terminal is coupled to a first network and a host is coupled to a second network. The method comprises the steps of establishing a control connection between a first server and a second server, the second server initiating the control connection, establishing a first session between the first server and the user terminal based on a user connection request, the first session transferring data between the user terminal and the first server, and using the control connection to establish a second session between the second server and the host and a third session between the first server and the second server, the second session transferring data between the second server and the host and the third session transferring data between the first server and the second server.
Other features and advantages of the present invention will become apparent from the following description of the invention which refers to the accompanying drawings .
BRIEF DESCRIPTION OF THE DRAWINGS
Fig. 1 is a diagram of a prior art security hardware arrangement ;
Fig. 2 is a diagram of the security hardware arrangement of the present invention; Fig. 3 is a flowchart showing a secure session establishment process of the present invention.
For the purpose of illustrating the invention, there is shown in the drawings a form which is presently preferred, it being understood, however, that the invention is not limited to the precise arrangement shown .
DETAILED DESCRIPTION OF THE INVENTION
The following detailed description uses the terms "inbound" and "outbound" when referring to the flow of data communication traffic such as actual data payload and request/response data. As used herein, the term "inbound" refers to communication data originating at a public user terminal, such as user terminal 2, and terminating at a service provider's security system device or host. Conversely, "outbound" traffic refers to traffic flowing from the host or security system to a user terminal in public network 6.
Also, the term "port" as used herein refers to a logical communication port established via software such as a TCP/IP port. The term "socket" as used herein refers to its common computer programming usage in which a "socket" is a logical end point in a connection, including logical connections between processes running within the same computer. The connection, however, can be "connectionless" in the context of global networking such as the Internet in which a server supports many client requests but does not maintain the actual connection and longer than is necessary to service the immediate request. The term "thread" as used herein refers to its common computer programming usage in which a "thread" is a placeholder used to support multiple concurrent users of a single executing instance of a computer program.
With reference to the Figures in which like reference numerals refer to like elements, Fig. 2 shows the hardware arrangement of the present invention.
As shown in Figure 2 , security system 14 of the present invention is comprised of external firewall 16, public proxy server (PPS) 18, internal firewall 20 and gateway proxy server (GPS) 22. In the depicted arrangement, external firewall 16 is connected to public network 6 and to PPS 18. PPS 18 in turn is connected between external firewall 16 and internal firewall 20.
PPS 18 can sit on an isolated segment such that there are no other devices attached or networked between PPS 18 and external firewall 16 on the outbound side, and PPS 18 and internal firewall 20 on the inbound side. GPS 22 connects internal firewall 20 to private network 10.
Thus, physical connectivity from user terminal 2 to host 4 is as follows:
User Terminal 2 » Public Network 6 <=» External Firewall 16 PPS 18 « Internal Firewall 20 <=► GPS 22 « Private Network 10 ~ Host 4. Although a physical path is provided between user terminal 2 and host 4, it should be noted that the logical flow of data and session establishment using the present invention does not allow user 2 to directly establish a service session with host 4.
External firewall 16 is a typical packet or session firewall which is configured to allow inbound access to specific logical ports, i.e. host services via TCP/IP ports, by allowing those connections to be made between user terminal 2 and PPS 18.
Internal firewall 20 can be a router or other typical device capable of packet filtering or session filtering, and is configured to only allow gateway proxy server 22 to initiate an outbound service connection to PPS 18 using a predetermined group of logical ports, such as TCP/IP port 8080. Internal firewall 20 is configured to deny and filter out any inbound connection requests, for example, connection requests originating at PPS 18, external firewall 16, public network 6 or user terminals 2 which attempt to establish a service connection to GPS 22, private network 10 or host 4. As is described below in detail, internal firewall 20 is configured to allow data flow between PPS 18 and GPS 22, but internal firewall 20 is configured such that only data communications between PPS 18 and GPS 22 are permitted once GPS 22 establishes a connection to PPS 18.
Hosts 4 and users terminals 2 are typical devices suitable for performing the functions required of host and user terminals respectively. For example, user terminal 2 can be a personal computer or hand-held computer device capable of accessing a global computer network such as the Internet. Host 4 can range in size and capability from a personal computer to a mainframe computer, and is sized according to the service provider's particular requirements. Also, host 4 can be logically and physically located anywhere within private network 10.
The computing hardware platforms for PPS 18 and GPS 22 are typical personal computer servers or UNIX servers sized such that they can handle the expected user and data traffic load. For example, PPS 18 and GPS 22 can be servers running MICROSOFT'S WINDOWS NT operating system. Thus, PPS 18 and GPS 22 need not contain any special operating system enhancements in order to function as proxy servers in the present invention. However, PPS 18 and GPS 22 do contain special software which enables these devices to function as an integral part of the present invention. The control programs running on PPS 18 and GPS 22 can be written in any language suitable for programming, such as C++, or JAVA. The establishment of a communication session between a user terminal 2 and a host 4 using security system 14 will now be described with reference to Figures 2 and 3. Upon system initialization, GPS 22 initiates communications with PPS 18 through internal firewall 20 (step 24) . In other words, GPS 22 establishes the connection outbound from itself to PPS 18, thereby requiring only one logical communication port to be opened between GPS 22 and PPS 18. The establishment of the connection by GPS 22 to PPS 18 is hereinafter referred to as the main proxy control connection.
The main proxy control connection is used to request session establishment and not for the actual transfer of data. Also, the main proxy control connection is solely responsible for the send/receive connection request and connection reply packets to establish the connection between user terminal 2 and host 4. In contrast, external firewall 16 is configured to allow many logical ports to be opened to allow communication between user terminals 2 and PPS 18.
As part of the initialization sequence, once the main proxy control connection has been established, GPS 22 uses the main proxy control connection to transmit a table to PPS 18. This table contains a mapping of valid host ports to their respective services. Once GPS 22 establishes communications with PPS 18, security system 14 is ready to accommodate incoming requests from user terminals 2 (step 26) .
When a user terminal 2 seeks to establish a session with host 4, user terminal 2 sends a connection request, typically via the hyper-text transport protocol (HTTP) to a logical port on PPS 18. PPS 18 accepts the connection request from user terminal 2 using a new socket SI (step 28) . Data corresponding to the new connection is stored in a memory vector array on PPS 18. Data stored in the memory vector array includes the address of user terminal 2, such as TCP/IP address, the incoming port identifier on PPS 18, and the service with which user terminal 2 seeks to communicate. Acceptance of the connection request by PPS 18 does not enable any actual data content, i.e. account information, HTML screen data, etc., to flow to or from user terminal 2. PPS 18 's acceptance of the connection request merely establishes the first session connection between user terminal 2 and PPS 18.
Next, using the main proxy control connection established on the predetermined port by GPS 22 to PPS 18 in step 24, PPS 18, acting as a client to GPS 22, sends a connection notification request to GPS 22 (step 30) . The connection notification request contains the port number information derived from the port to service map as the destination of the connection request. The port number information used by PPS 18 is based on the list of map port numbers sent by GPS 22 to PPS 18 in step 24. Thus, the connection notification request informs GPS 22 of the host to which user terminal 2 wishes to communicate with.
GPS 22 maintains a list in its memory, mapping the list of ports sent to PPS 18 during step 24 to their corresponding actual host addresses for hosts 4. In the case of TCP/IP, the GPS 22 map contains ports and the corresponding TCP/IP address of hosts 4. Upon receiving the connection notification request from PPS 18, GPS 22 verifies that the port connection requested by PPS 18 has an entry in its port map pointing to the final destination host address (step 32) .
If GPS 22 does not have a mapping entry to the final destination, it denies the notification request causing PPS 18 to terminate its session with user terminal 2 (step 34) . If GPS 22 has a mapping entry, GPS 22 initiates a connection to the appropriate destination host 4 using a new socket S3 on GPS 22 (step 36) . Referring to Figure 2, GPS 22 establishes a connection to host 4 through private network 10 using socket S3. At this point in the session establishment process, three separate connections have been established, user 2 to PPS 18 via public network 6 and external firewall 16, GPS 22 to host 4 via private network 10, and GPS 22 to PPS 18 via internal firewall 20 (connection established outbound) . There is still no complete logical connection for user data traffic between user terminal 2 and host 4. This is the case because a data communication path between GPS 22 and PPS 18 has not yet been established, only the main proxy control connection has been established.
After initiating the connection to host 4 using socket 3, GPS 22 makes another connection to PPS 18 outbound through internal firewall 20 using new socket S2 (step 38) . The new connection between GPS 22 and PPS 18 is a connection different than the mam proxy control connection which remains available for the communication of other connection requests from user terminals 2. GPS 22 uses this new connection and sends a connection reply to PPS 18 containing the end-points for connection S3 to the destination host 4 (step 40) . The connection reply sent during step 40 is a standard proxy connection reply, known to those of ordinary skill m the art.
Once this client request is accepted by PPS 18, GPS 22 spins off a new processing thread which reads communication data from socket S2 and forwards to socket S3, and vice versa (step 42) . In other words, GPS 22 socket S3 is used to communicate with the desired host 4, and GPS 22 socket S2 is used to communicate through firewall 20 to PPS 18. The processing thread in GPS 22 facilitates data transport between sockets S2 and S3.
Once GPS 22 sends its connection reply to PPS 18 in step 40, PPS 18 accepts the connection reply sent by socket S2 on GPS 22 using socket S4 (step 44) . It is important to note that step 44 need not follow step 42, since the two steps are mutually exclusive, i.e. the communication thread established between S2 and S3 on GPS 22 occurs independent of PPS 18 accepting the connection reply.
Upon receiving the connection reply from GPS 22, PPS 18 searches through the vector array stored in its memory to map the logical port information received from socket S2 to the address of user terminal 2 which initiated the service session request.
PPS 18 then initiates a new thread establishing a data path between socket S4 and socket SI (step 46) . This new processing thread on PPS 18 reads data from socket SI and forwards it to socket S4 and vice versa.
At this point, user terminal 2 has a logical client host connection with desired host 4 via the following threads and socket to socket communications: user terminal 2 to socket SI on PPS 18; thread S1 - S4 ; socket SI on PPS 18 to socket S2 on GPS 22; thread S2-S3; and S3 on GPS 22 to destination host 4. Thus, the connection from user terminal 2 to destination host 4 originates inbound from GPS 22 to host 4 and originates out from GPS 22 to PPS 18. The initial request from user terminal 2 is maintained on socket SI in PPS 18 while the session set-up sequence between GPS 22 and destination host 4, and GPS 22 and PPS 18 completes along with the respective processor threads in GPS 22 and PPS 18. Once the logical connection path is established between the originating client and the application server, transmission and reception between user terminal 2 and host 4 occurs via PPS 18 and GPS 22.
Connection requests from multiple user terminals 2 are supported such that a user need not wait for the sequence to complete for another user before starting his own connection request. This is the case because the connection request in step 28 is accepted by PPS 18 and stored, thereby allowing PPS 18 to wait for another connection request. Also, because typical connection protocols, such as HTTP are stateless, the connection between user terminal 2 and PPS 18 lasts for only such time as it takes to obtain and store the connection request and respond back to the user that the request for connection is accepted (step 28) . GPS 22 acts as a two- sided client since it initiates connection requests to PPS 18 (steps 24 and 38) and destination host 4 (step 36) . PPS 18 acts as a two-sided server since it waits for and accepts connection requests from user terminals 2 (step 28) and GPS 22 (steps 24 and 38) . Recall that in step 30, PPS 18 sends a connection request to GPS 22 via an already established main proxy control connection in which that control connection was originally created outbound from GPS 22 to PPS 18. Once established, a communication session between user terminal 2 and host 4 continues until the operating user completes communication. Of course, the application layer of communication between user terminal 2 and host 4 can employ the use of data payload encryption and authentication using typical software such as SSL. Thus, security system 14 and its accompanying procedure for establishing secure communications is provided by the present invention. In particular, a service provider's hosts 4 are protected from attack from users in public network 6 because firewall 20 does not allow initial service connections originating from its public network side. The initial main proxy control connection is initiated from the private network side of internal firewall 20 by GPS 22, connecting outward to public proxy 18. This allows internal firewall 20 to be configured to deny all inbound connection initiation requests. Thus, even if a hacker were able to compromise external firewall 16, or even PPS 18, the hacker would be unable to jump from PPS 18 to internal firewall 20, GPS 22 or any device attached to private network 10, because internal firewall 20 m configured to deny those requests. In addition, even once a forwarded connection request has been accepted by a host 4, step 38 requires that another outbound connection from GPS 22 to PPS 18 be established to create the actual data payload connection which will eventually be used to transport data to and from user terminal 2 to host 4. Also, security system 14 and the session establishment procedure of the present invention allow service providers to position hosts 4 anywhere within private network 10 such that host 4 need not be installed and supported on a DMZ network segment . The present invention provides this facility because actual data flow between user terminal 2 and host 4 is segmented into smaller connections, i.e. via the previously described socket and thread communication connections. This allows for effective and efficient management of hosts 4 by the service provider and decreases the costs associated with providing the services .
The present invention may be embodied in other specific forms without departing from the spirit or essential attributes thereof and, accordingly, reference should be made to the appended claims, rather than to the foregoing specification, as indicating the scope of the invention.

Claims

WHAT IS CLAIMED IS:
1. A system for communicating data using a data communication session between a user terminal and a host, said user terminal being coupled to a first network and said host being coupled to a second network, said system comprising: a first server coupled to said first network, said first server receiving a session establishment request from said user terminal and generating a connection request response to said session establishment request; and a second server coupled to said first server and said second network, said second server receiving said connection request and establishing communications with said host accordance with said connection request, said second server initiating communications by establishing a communication control session with said first server before said first server will send said connection request to said second server.
2. The system for communicating data between a user terminal and a host according to Claim 1, further comprising a first firewall coupled between said first server and said second server.
3. The system for communicating data between a user terminal and a host according to Claim 1, further comprising a second firewall coupled between said first network and said first server.
4. The system for communicating data between a user terminal and a host according to Claim 2 , wherein said first firewall denies all communication control session establishment requests other than those communication control session establishment requests which originate from said second server and are destined for said first server.
5. The system for communicating data between a user terminal and a host according to Claim 1, wherein said connection request is transmitted from said first server to said second server using said communication control session.
6. The system for communicating data between a user terminal and a host according to Claim 1, wherein said first server supports multiple data communication sessions between one or more user terminals and one or more hosts.
7. The system for communicating data between a user terminal and a host according to Claim 1, wherein said second server supports multiple data communication sessions between one or more user terminals and one or more hosts.
8. The system for communicating data between a user terminal and a host according to Claim 1, wherein said first server receives a service to port map from said second server.
9. The system for communicating data between a user terminal and a host according to Claim 8, wherein said first server receives sa d service to port map on said communication control session.
10. The system for communicating data between a user terminal and a host according to Claim 1, wherein said second server comprises a port to host address map.
11. A method for communicating data using a data communication session between a user terminal and a host, said user terminal being coupled to a first network and said host being coupled to a second network, said method comprising the steps of: establishing a control connection between a first server and a second server, said second server initiating said control connection; establishing a first session between said first server and said user terminal based on a user connection request, said first session transferring data between said user terminal and said first server; using said control connection to establish a second session between said second server and said host and a third session between said first server and said second server, said second session transferring data between said second server and said host and said third session transferring data between said first server and said second server.
12. The method for communicating data using a data communication session between a user terminal and a host according to Claim 11, further comprising the steps of invoking a first computing thread said first server, said first computing thread transferring data between said first session and said third session; and invoking a second computing thread m said second server, said second computing thread transferring data between said second session and said third session.
13. The method for communicating data using a data communication session between a user terminal and a host according to Claim 12, wherein data transfer in each of said first session, said second session, said third session, said first computing thread and said second computing thread is bidirectional.
14. The method for communicating data over a data communication session between a user terminal and a host according to Claim 11, further comprising the step of sending a connection notification request from said first server to said second server, wherein said second session and said third session are established accordance with said connection notification request.
15. The method for communicating data over a data communication session between a user terminal and a host according to Claim 11, wherein a firewall blocks said establishment of said control session request unless said control session request originates from said second server and is destined for said first server.
16. The method for communicating data over a data communication session between a user terminal and a host according to Claim 14, further comprising the step of sending a port to session map from said first server to said second server using said control connection.
17. The method for communicating data over a data communication session between a user terminal and a host according to Claim 16, wherein said connection notification request includes a port derived from sa d port to session map.
18. The method for communicating data over a data communication session between a user terminal and a host according to Claim 17, wherein said connection notification request is denied by said second server if said second server if said port does not further map to a host m accordance with a host map said second server.
19. The method for communicating data over a data communication session between a user terminal and a host according to Claim 11, wherein said first server supports multiple data communication sessions between one or more user terminals and one or more hosts.
20. The method for communicating data over a data communication session between a user terminal and a host according to Claim 11, wherein said second server supports multiple data communication sessions between one or more user terminals and one or more hosts.
21. A method for communicating data using a data communication session between a user terminal and a host, said user terminal being coupled to a first network and said host being coupled to a second network, said method comprising the steps of: initiating communications by establishing a communication control session between a first server and a second server, said second server sending a communication control session initiation request to said first server; receiving, m said first server, a session establishment request from said user terminal and generating a connection request m response to said session establishment request; and receiving, m said second server, said connection request and establishing communications with said host m accordance with said connection request.
22. The method for communicating data between a user terminal and a host according to Claim 21, wherein said connection request is transmitted from said first server to said second server using said communication control session.
23. The method for communicating data between a user terminal and a host according to Claim 21, further comprising the step of sending a service to port map from said second server to said first server.
24. The method for communicating data between a user terminal and a host according to Claim 23, wherein said second server sends said service to port map on said communication control session.
PCT/US2000/013585 1999-05-18 2000-05-17 Secured session sequencing proxy system and method therefor WO2000070839A2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2000619174A JP2003500711A (en) 1999-05-18 2000-05-17 Proxy system and method for performing secure session sequence
EP00937586A EP1186147A2 (en) 1999-05-18 2000-05-17 Secured session sequencing proxy system and method therefor
AU52734/00A AU770584B2 (en) 1999-05-18 2000-05-17 Secured session sequencing proxy system and method therefor
CA002371358A CA2371358A1 (en) 1999-05-18 2000-05-17 Secured session sequencing proxy system and method therefor

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/314,482 1999-05-18
US09/314,482 US6718388B1 (en) 1999-05-18 1999-05-18 Secured session sequencing proxy system and method therefor

Publications (2)

Publication Number Publication Date
WO2000070839A2 true WO2000070839A2 (en) 2000-11-23
WO2000070839A3 WO2000070839A3 (en) 2001-02-08

Family

ID=23220138

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/013585 WO2000070839A2 (en) 1999-05-18 2000-05-17 Secured session sequencing proxy system and method therefor

Country Status (7)

Country Link
US (1) US6718388B1 (en)
EP (1) EP1186147A2 (en)
JP (1) JP2003500711A (en)
CN (1) CN1199418C (en)
AU (1) AU770584B2 (en)
CA (1) CA2371358A1 (en)
WO (1) WO2000070839A2 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001033801A2 (en) * 1999-10-30 2001-05-10 Ibrixx Ag Method and transaction interface for secure data exchange between distinguishable networks
GB2366163A (en) * 2000-08-14 2002-02-27 Global Knowledge Network Ltd Inter-network connection through intermediary server
DE10332470A1 (en) * 2003-01-09 2004-07-29 Volkswagen Ag Arrangement for communications between user systems in different networks performs communications as client system interactions via connection server between inner, outer firewalls
CN100389584C (en) * 2004-12-31 2008-05-21 北京邮电大学 A security capability negotiation method for application server
AU2004202269B2 (en) * 2003-06-06 2009-11-05 Microsoft Technology Licensing, Llc Architecture for connecting a remote client to a local client desktop
US8055777B2 (en) 2002-02-26 2011-11-08 Fujitsu Limited Establishing call over intranet and external network via DMZ

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7058817B1 (en) 1999-07-02 2006-06-06 The Chase Manhattan Bank System and method for single sign on process for websites with multiple applications and services
US7185361B1 (en) * 2000-01-31 2007-02-27 Secure Computing Corporation System, method and computer program product for authenticating users using a lightweight directory access protocol (LDAP) directory server
US20020078371A1 (en) * 2000-08-17 2002-06-20 Sun Microsystems, Inc. User Access system using proxies for accessing a network
DE10040463C2 (en) * 2000-08-18 2003-10-23 Tenovis Gmbh & Co Kg Method for establishing a data connection between a first and a second computing unit and device for exchanging data
US7150045B2 (en) * 2000-12-14 2006-12-12 Widevine Technologies, Inc. Method and apparatus for protection of electronic media
US20020104017A1 (en) * 2001-01-30 2002-08-01 Rares Stefan Firewall system for protecting network elements connected to a public network
US7320036B1 (en) * 2001-04-13 2008-01-15 Redback Networks Inc. Method and apparatus for multiple communications sessions
US8849716B1 (en) 2001-04-20 2014-09-30 Jpmorgan Chase Bank, N.A. System and method for preventing identity theft or misuse by restricting access
CA2466071C (en) 2001-11-01 2016-04-12 Bank One, Delaware, N.A. System and method for establishing or modifying an account with user selectable terms
US7987501B2 (en) 2001-12-04 2011-07-26 Jpmorgan Chase Bank, N.A. System and method for single session sign-on
US7043632B2 (en) * 2001-12-12 2006-05-09 Nortel Networks Limited End-to-end security in data networks
US7376967B1 (en) 2002-01-14 2008-05-20 F5 Networks, Inc. Method and system for performing asynchronous cryptographic operations
FI118170B (en) * 2002-01-22 2007-07-31 Netseal Mobility Technologies A method and system for transmitting a message over a secure connection
US7899753B1 (en) 2002-03-25 2011-03-01 Jpmorgan Chase Bank, N.A Systems and methods for time variable financial authentication
US8103755B2 (en) * 2002-07-02 2012-01-24 Arbor Networks, Inc. Apparatus and method for managing a provider network
US7152111B2 (en) * 2002-08-15 2006-12-19 Digi International Inc. Method and apparatus for a client connection manager
US7430755B1 (en) 2002-09-03 2008-09-30 Fs Networks, Inc. Method and system for providing persistence in a secure network access
US7313618B2 (en) * 2002-10-31 2007-12-25 Sap Aktiengesellschaft Network architecture using firewalls
US9614772B1 (en) 2003-10-20 2017-04-04 F5 Networks, Inc. System and method for directing network traffic in tunneling applications
US20080303903A1 (en) * 2003-12-02 2008-12-11 Connexed Technologies Inc. Networked video surveillance system
US20060049234A1 (en) * 2004-05-21 2006-03-09 Flak Richard A Friction stirring and its application to drill bits, oil field and mining tools, and components in other industrial applications
US8090837B2 (en) * 2004-05-27 2012-01-03 Hewlett-Packard Development Company, L.P. Communication in multiprocessor using proxy sockets
US8290862B2 (en) 2004-07-23 2012-10-16 Jpmorgan Chase Bank, N.A. Method and system for expediting payment delivery
US8290863B2 (en) 2004-07-23 2012-10-16 Jpmorgan Chase Bank, N.A. Method and system for expediting payment delivery
US8024483B1 (en) 2004-10-01 2011-09-20 F5 Networks, Inc. Selective compression for network connections
CN100417066C (en) * 2004-12-29 2008-09-03 国际商业机器公司 Multi-territory accessing proxy using in treating safety problem based on browser application
US8418233B1 (en) 2005-07-29 2013-04-09 F5 Networks, Inc. Rule based extensible authentication
US8533308B1 (en) 2005-08-12 2013-09-10 F5 Networks, Inc. Network traffic management through protocol-configurable transaction processing
US8621078B1 (en) 2005-08-15 2013-12-31 F5 Networks, Inc. Certificate selection for virtual host servers
US8065733B2 (en) * 2005-09-23 2011-11-22 Google, Inc. Method for evolving detectors to detect malign behavior in an artificial immune system
WO2007038245A2 (en) 2005-09-23 2007-04-05 Widevine Technologies, Inc. Method for evolving detectors to detect malign behavior in an artificial immune system
US8565088B1 (en) 2006-02-01 2013-10-22 F5 Networks, Inc. Selectively enabling packet concatenation based on a transaction boundary
US7873065B1 (en) 2006-02-01 2011-01-18 F5 Networks, Inc. Selectively enabling network packet concatenation based on metrics
US8572219B1 (en) 2006-03-02 2013-10-29 F5 Networks, Inc. Selective tunneling based on a client configuration and request
US8375421B1 (en) 2006-03-02 2013-02-12 F5 Networks, Inc. Enabling a virtual meeting room through a firewall on a network
US8782393B1 (en) 2006-03-23 2014-07-15 F5 Networks, Inc. Accessing SSL connection data by a third-party
US7734545B1 (en) 2006-06-14 2010-06-08 Jpmorgan Chase Bank, N.A. Method and system for processing recurring payments
US9106606B1 (en) 2007-02-05 2015-08-11 F5 Networks, Inc. Method, intermediate device and computer program code for maintaining persistency
JP2009017471A (en) * 2007-07-09 2009-01-22 Sharp Corp Information communication method
US7766244B1 (en) 2007-12-31 2010-08-03 Jpmorgan Chase Bank, N.A. System and method for processing transactions using a multi-account transactions device
US9832069B1 (en) 2008-05-30 2017-11-28 F5 Networks, Inc. Persistence based on server response in an IP multimedia subsystem (IMS)
US9130846B1 (en) 2008-08-27 2015-09-08 F5 Networks, Inc. Exposed control components for customizable load balancing and persistence
US8386381B1 (en) 2009-12-16 2013-02-26 Jpmorgan Chase Bank, N.A. Method and system for detecting, monitoring and addressing data compromises
US8700892B2 (en) 2010-03-19 2014-04-15 F5 Networks, Inc. Proxy SSL authentication in split SSL for client-side proxy agent resources with content insertion
CN103916311B (en) 2014-04-21 2016-01-20 腾讯科技(深圳)有限公司 A kind of information transmission and control method, Apparatus and system
US9288272B2 (en) * 2014-07-10 2016-03-15 Real Innovations International Llc System and method for secure real-time cloud services
CN105991957A (en) * 2015-03-04 2016-10-05 中国移动通信集团公司 Bidirectional video transmission method and device
US10491567B2 (en) * 2017-03-17 2019-11-26 Verizon Patent And Licensing Inc. Dynamic firewall configuration based on proxy container deployment
JP6897443B2 (en) * 2017-09-13 2021-06-30 ブラザー工業株式会社 Control system, sub-control device and control method
US11405392B2 (en) * 2018-09-11 2022-08-02 Aveva Software, Llc Server and system for secure configuration push for DMZ proxy clients
US20220166881A1 (en) * 2020-11-25 2022-05-26 Jpmorgan Chase Bank, N.A. Systems and methods for call routing using generic call control platforms

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2323757A (en) * 1997-03-28 1998-09-30 Ibm Lightweight secure communication tunnelling over the internet

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5191650A (en) * 1989-08-16 1993-03-02 International Business Machines Corporation Virtual chains for session initiation in a distributed computer network
EP0529864B1 (en) * 1991-08-22 2001-10-31 Sun Microsystems, Inc. Network video server apparatus and method
JP3262689B2 (en) * 1995-05-19 2002-03-04 富士通株式会社 Remote control system
US5754830A (en) * 1996-04-01 1998-05-19 Openconnect Systems, Incorporated Server and web browser terminal emulator for persistent connection to a legacy host system and method of operation
US5944823A (en) 1996-10-21 1999-08-31 International Business Machines Corporations Outside access to computer resources through a firewall
US6170012B1 (en) * 1997-09-12 2001-01-02 Lucent Technologies Inc. Methods and apparatus for a computer network firewall with cache query processing
US6574661B1 (en) * 1997-09-26 2003-06-03 Mci Communications Corporation Integrated proxy interface for web based telecommunication toll-free network management using a network manager for downloading a call routing tree to client
US6252878B1 (en) * 1997-10-30 2001-06-26 Cisco Technology, Inc. Switched architecture access server
US6199113B1 (en) * 1998-04-15 2001-03-06 Sun Microsystems, Inc. Apparatus and method for providing trusted network security
US6381638B1 (en) * 1999-02-24 2002-04-30 3Com Corporation System and method for options based address reuse

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2323757A (en) * 1997-03-28 1998-09-30 Ibm Lightweight secure communication tunnelling over the internet

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CHEN L T ET AL: "Reflective object-oriented distributed system for heterogeneous multimedia environments" COMPUTER COMMUNICATIONS,NL,ELSEVIER SCIENCE PUBLISHERS BV, AMSTERDAM, vol. 19, no. 8, 1 July 1996 (1996-07-01), pages 698-706, XP004052757 ISSN: 0140-3664 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001033801A2 (en) * 1999-10-30 2001-05-10 Ibrixx Ag Method and transaction interface for secure data exchange between distinguishable networks
WO2001033801A3 (en) * 1999-10-30 2002-12-05 Ibrixx Ag Method and transaction interface for secure data exchange between distinguishable networks
AU784199B2 (en) * 1999-10-30 2006-02-23 Sap Aktiengesellschaft Method and transaction interface for secure data exchange between distinguishable networks
US7865939B2 (en) 1999-10-30 2011-01-04 Sap Ag Method and transaction interface for secure data exchange between distinguishable networks
GB2366163A (en) * 2000-08-14 2002-02-27 Global Knowledge Network Ltd Inter-network connection through intermediary server
US8055777B2 (en) 2002-02-26 2011-11-08 Fujitsu Limited Establishing call over intranet and external network via DMZ
DE10332470A1 (en) * 2003-01-09 2004-07-29 Volkswagen Ag Arrangement for communications between user systems in different networks performs communications as client system interactions via connection server between inner, outer firewalls
DE10332470B4 (en) 2003-01-09 2020-01-16 Volkswagen Ag Method and device for communication between application systems in different company networks
AU2004202269B2 (en) * 2003-06-06 2009-11-05 Microsoft Technology Licensing, Llc Architecture for connecting a remote client to a local client desktop
US7676675B2 (en) 2003-06-06 2010-03-09 Microsoft Corporation Architecture for connecting a remote client to a local client desktop
CN100389584C (en) * 2004-12-31 2008-05-21 北京邮电大学 A security capability negotiation method for application server

Also Published As

Publication number Publication date
JP2003500711A (en) 2003-01-07
CA2371358A1 (en) 2000-11-23
CN1199418C (en) 2005-04-27
US6718388B1 (en) 2004-04-06
WO2000070839A3 (en) 2001-02-08
AU770584B2 (en) 2004-02-26
CN1364374A (en) 2002-08-14
EP1186147A2 (en) 2002-03-13
AU5273400A (en) 2000-12-05

Similar Documents

Publication Publication Date Title
US6718388B1 (en) Secured session sequencing proxy system and method therefor
US5623601A (en) Apparatus and method for providing a secure gateway for communication and data exchanges between networks
US7308710B2 (en) Secured FTP architecture
US7251824B2 (en) Accessing a private network
US7890759B2 (en) Connection assistance apparatus and gateway apparatus
US7624429B2 (en) Method, a network access server, an authentication-authorization-and-accounting server, and a computer software product for proxying user authentication-authorization-and-accounting messages via a network access server
US8862684B2 (en) Method and apparatus for remotely controlling a computer with peer-to-peer command and data transfer
EP2264956B1 (en) Method for securing remote access to private networks
US6088796A (en) Secure middleware and server control system for querying through a network firewall
EP1774438B1 (en) System and method for establishing a virtual private network
EP1676418B1 (en) Methods and devices for sharing content on a network
US7305546B1 (en) Splicing of TCP/UDP sessions in a firewalled network environment
US7941839B2 (en) Countermeasures to automated methods and processes for establishing media streaming connections through firewalls and proxy servers
WO1996018253A1 (en) Security system for interconnected computer networks
CA2437548A1 (en) Apparatus and method for providing secure network communication
US20050251855A1 (en) Client-server-communication system
JP5864598B2 (en) Method and system for providing service access to a user
CA2136150C (en) Apparatus and method for providing a secure gateway for communication and data exchanges between networks
WO2001031874A2 (en) Secured session sequencing proxy system supporting multiple applications and method therefor
Cisco Understanding the VPN 3002 Hardware
Cisco Cisco PIX Firewall
KR100359559B1 (en) Method of real private network service
Djin Technical Report TR2005-544 Department of Computer Science

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
AK Designated states

Kind code of ref document: A3

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A3

Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
ENP Entry into the national phase

Ref document number: 2371358

Country of ref document: CA

Ref country code: CA

Ref document number: 2371358

Kind code of ref document: A

Format of ref document f/p: F

WWE Wipo information: entry into national phase

Ref document number: 52734/00

Country of ref document: AU

ENP Entry into the national phase

Ref country code: JP

Ref document number: 2000 619174

Kind code of ref document: A

Format of ref document f/p: F

WWE Wipo information: entry into national phase

Ref document number: 2000937586

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 008105944

Country of ref document: CN

WWP Wipo information: published in national office

Ref document number: 2000937586

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWG Wipo information: grant in national office

Ref document number: 52734/00

Country of ref document: AU

WWW Wipo information: withdrawn in national office

Ref document number: 2000937586

Country of ref document: EP