WO2001002935A2 - Method and system for managing secure client-server transactions - Google Patents

Method and system for managing secure client-server transactions Download PDF

Info

Publication number
WO2001002935A2
WO2001002935A2 PCT/US2000/013047 US0013047W WO0102935A2 WO 2001002935 A2 WO2001002935 A2 WO 2001002935A2 US 0013047 W US0013047 W US 0013047W WO 0102935 A2 WO0102935 A2 WO 0102935A2
Authority
WO
WIPO (PCT)
Prior art keywords
server
client
packet
data packet
data
Prior art date
Application number
PCT/US2000/013047
Other languages
French (fr)
Other versions
WO2001002935A3 (en
Inventor
Cary A. Jardin
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Priority to JP2001508673A priority Critical patent/JP4245838B2/en
Priority to DE60043879T priority patent/DE60043879D1/en
Priority to EP00939295A priority patent/EP1116367B1/en
Priority to AU54401/00A priority patent/AU5440100A/en
Priority to CA002341869A priority patent/CA2341869A1/en
Publication of WO2001002935A2 publication Critical patent/WO2001002935A2/en
Publication of WO2001002935A3 publication Critical patent/WO2001002935A3/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/0281Proxies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0471Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload applying encryption by an intermediary, e.g. receiving clear information at the intermediary and encrypting the received information at the intermediary before forwarding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0464Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload using hop-by-hop encryption, i.e. wherein an intermediate entity decrypts the information and re-encrypts it before forwarding it
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1012Server selection for load balancing based on compliance of requirements or conditions with available server resources

Definitions

  • the invention relates generally to computer networks technology. More particularly, this invention relates to the management of client transactions in secure client-server based networks.
  • TCP Transmission Control Protocol
  • IP Internet Protocol
  • SSL Secure Socket Layer
  • IPsec IP Security
  • SSL is a protocol developed for the transmission of private data (e.g., a text document) via the Internet.
  • SSL provides a secure connection to communicate data between a client and a server by using a private key to encrypt the data.
  • Private key/public key encryption is well understood and frequently implemented by modern computer networks to ensure privacy of information being transmitted from a sender computer to a recipient computer.
  • Web browsers such as Netscape Navigator and Internet Explorer, support SSL, and many Web sites implement the SSL protocol to obtain confidential user information, such as credit card numbers.
  • SSL provides the mechanism to implement authentication and encryption. Authentication ensures that each of the client and server is who it claims to be. In practice, authentication may simply involve entering a user identification (ID) and password.
  • ID user identification
  • SSL uses encryption to secure nearly every type of data including the payload (i.e., a text document) communicated between the client and server.
  • the payload i.e., a text document
  • SSL provides for encryption of a session, and authentication of a server, message, and optionally a client.
  • SSL Protocol Specification versions 2 and 3, which are incorporated by reference.
  • SSL is a protocol that protects any level protocol built on protocol sockets, such as telnet, file transfer protocol (FTP), or hypertext transfer protocol (HTTP).
  • a socket is a software object that connects an application to a network protocol.
  • a program sends and receives TCP/IP messages by opening a socket and reading and writing data to and from the socket. This simplifies program development because the programmer need only worry about manipulating the socket and may rely on the operating system to actually transport messages across the network correctly.
  • IPng next generation IP protocol
  • IPv6 IP version 6
  • IPSec is a set of protocols that support secure exchange of packets at the IP layer.
  • IPSec supports two encryption modes: Transport and Tunnel.
  • the Transport mode encrypts only the data portion (i e , payioad) of the IP packet, and leaves the header unaffected.
  • the Tunnel mode provides more security than the Transport mode by encrypting both the header and payioad of the IP packet.
  • an IPSec compliant device decrypts received IP packets.
  • the source and destination devices share a public key.
  • ISAKMP/Oakley Internet Security and Key Management Protocol/Oakley
  • X.509 which is an International Telecommunication Union (ITU) standard for defining digital certificates.
  • ITU International Telecommunication Union
  • the referenced application describes a broker server configured to manage client transactions and relieve data path congestion in a communication network.
  • management of client transactions requires adaptation to and compliance with the secure operations.
  • the need to speed up client transactions over a secure network is particularly important because a typical Web (World Wide Web) server processes secure transactions at a slower rate than conventional (i.e., non secure) HTTP traffic.
  • Web users who make secure transactions with a Web server have to wait a long time for transactions to be processed and the overall reliability and availability of the Web site are impacted.
  • the invention should eliminate server performance bottlenecks during secure SSL transactions.
  • the invention provides a server computer configured to manage transactions over a communication network.
  • the server computer comprises a data interface operably connected to and configured to receive a data packet from a computer over a secure link of the communication network.
  • the server computer further comprises a data processor operably connected to the data interface and programmed to access the received data packet.
  • the processor is further programmed to decrypt contents of the data packet and re-direct the data packet to another computer.
  • the server computer further comprises a data storage operably connected to the processor and the data interface. The data storage is configured to store the data packet until the other computer becomes ready to receive the client packet
  • the invention provides a system configured to respond to electronic requests over a computer network.
  • the system comprises a first server configured to interface with and receive a data packet over a secure link of the computer network.
  • the first server is further configured to decrypt contents of the data packet and re-direct the data packet.
  • the system further comprises a second server in data communication with the first server and configured to accept the data packet from the first server and execute the data packet pursuant to instructions contained therein.
  • the invention provides a method of managing electronic requests in a computer network.
  • the method comprises receiving a data packet having encrypted information from a client computer over a secure link of the computer network
  • the method further comprises decrypting the information of the received data packet.
  • the method further comprises establishing a link with a server that is available to execute the data packet.
  • the method further comprises sending the data packet to the server.
  • Figure 1 is a functional block diagram of a client server network in accordance with the invention.
  • Figure 2 is a flowchart describing a handshake operation pursuant to the SSL protocol standard.
  • Figure 3 is a flowchart describing the operation of the broker of Figure 1.
  • Figure 4 is a flowchart describing the operation of the server of Figure 1.
  • FIG. 1 is a functional block diagram of a client server system 100 in accordance with the invention.
  • the system 100 comprises one or more clients 1 10 configured to communicate with a server 130a over one or more communication networks 150, generally a packet switched network such as the Internet.
  • the client 110 may connect to the network 150 via a host server 1 14, e g., the server computer controlled by an Internet Service Provider (ISP), that is operationally connected to the network 150 via a bridge type device, such as a router 1 18.
  • ISP Internet Service Provider
  • the router 1 18 is configured to forward packets received from the client 1 10 to various destinations based on packet header information, such as the destination address.
  • the Internet physical layer makes extensive use of routers to forward packets from one server (e g , host 1 14) to another (e g., server 130a).
  • the system 100 comprises a plurality of servers 130a, 130b, and 130c.
  • the system 100 further comprises a broker 120 operationally connected between the one or more servers (130a, 130b, and 130c) and a router
  • the broker 120 manages and responds to client transactions by handing off client transactions to one of the servers 130a, 130b, and 130c, as fully described in the referenced application Typically, the communication network 150 conforms to one or more standard communication protocols, such as the TCP/IP protocols. Although only one client 1 10 is shown in Figure 1 , the system 100 operates with multiple clients simultaneously. Similarly, although only one broker 120 is shown in Figure 1 , the system 100 may operate with multiple brokers simultaneously, such as in a cascaded structure wherein two or more brokers are connected in parallel between the router 120 and a plurality of sets of servers (not shown in this figure). The broker 120 is configured to support several SSL links and, in one embodiment, the broker 120 may support up to 600 SSL links or transactions per second.
  • Communication between the broker 120 and multiple clients is typically provided by the characteristics of the communication protocol
  • the broker 120 may simply monitor the destination address of packets flowing over the network If a destination address matches a desired address (e g., address of one of the plurality of servers that the broker 120 is servicing), then the broker 120 receives the packet for further processing
  • the broker 120 applies this method irrespective of the source address (i.e., client identity) of packets.
  • Communications over the network 150 may include transmission and reception of secure data between the client 1 10 and broker 120.
  • the network 150 may implement TCP/IP protocols (such as the Internet) and apply one or more security protocols, such as SSL, IPSec, or others
  • security protocols such as SSL, IPSec, or others
  • SSL Secure Sockets Layer
  • the client 1 10 When communication between the client 1 10 and broker 120 (which is a proxy for the intended recipient server 130) is desired, the client 1 10 initiates a "handshake" as specified by the communication protocol, e.g., TCP/IP. For example, the client 1 10 transmits a packet having a set SYN bit from the client 1 10 to the broker 120. The broker 120 responds to the client 1 10 by transmitting a packet having a set ACK bit, and the client 1 10 acknowledges the acknowledgement of the broker 120 by transmitting a packet having a set ACK bit.
  • the secure protocol e.g., SSL
  • FIG. 2 is a flowchart describing a handshake operation pursuant to the SSL protocol.
  • the client 1 10 initiates a handshake by sending a ClientHello message to the broker
  • the ClientHello message communicates several client attributes, including protocol version, session identification (ID), ciphering algorithm, and compression method.
  • the client 1 10 includes a list of cipher suites that are supported by the client 1 10 with the client's first preference listed first.
  • the structure of the ClientHello message may include the following command CipherSuite c ⁇ pher_su ⁇ tes ⁇ l ⁇ st > , where "list" represents one or more ciphering protocols supported by the Client 110.
  • the session ID is generally a random value generated by the client 1 10 to identify the session to the broker 120.
  • the client attributes provide the broker 120 with the link specification supported by the client 1 10.
  • the broker 120 responds to the client 1 10 by sending a ServerHello message, which includes similar attribute information about the broker 120 (block 220). If the client 1 10 desires authentication of the broker 120 before communicating application data, the broker 120 sends a server certificate to the client 1 10.
  • the type of ciphering algorithm communicated by the client 1 10 indicates whether authentication of the broker 120 is desired.
  • the structure of the server certificate depends on the selected ciphering algorithm, and in one embodiment is generally an X.509.v3 digital certificate.
  • the broker 120 supports several ciphering or security algorithms
  • the ciphering algorithms may include RSA, DSA, Diffie Hell an PKIs, RC2, RC4, RC5, DES, Triple DES, IDEA, CAST, CAST5, Blowfish, MD5, MDC2, RMD-160, SHA, and/or SHA 1 It is worth noting, however, that the kind of ciphering algorithm used is not necessarily material to practicing the invention.
  • the client 1 10 and broker 120 may negotiate and agree to any mutually available ciphering algorithm. In the event that the client 1 10 does not support a ciphering protocol that is recognized by the broker 120, the SSL session may not be established. In the event of a failure of the client 1 10 during an established SSL session, the broker 120 times out after a predetermined duration of no response from the client 1 10 and terminates the session.
  • the broker 120 may send a server key exchange message to the client 1 10, if required by the ciphering algorithm
  • the key exchange message may be used when the broker 120 does not have a certificate, or has a certificate that is used for sign on (i e , initial connection) only.
  • the broker 120 sends the ServerHelloDone message to the client 1 10 to indicate that the hello phase of the handshake is complete (block 220).
  • the broker 120 then waits for a client response
  • the client sends a ClientKeyExchange to the broker 120.
  • the content of the ClientKeyExchange depends on the public key algorithm established during the Hello phase of the handshake.
  • the ClientKeyExchange specifies a selection of the Fortezza key exchange algorithm (KEA) to the broker 120.
  • the public key algorithm uses two keys: a public key and a private key Messages encrypted with the public key may only be decrypted with the associated private key. Conversely, messages encrypted with the private key may only be decrypted with the public key
  • the client 1 10 then sends a ChangeCipherSpec message to the broker 120 to activate a selected ciphering algorithm, such as RSA, Fortezza, or Client Diffie Hellman (bock 230).
  • the ChangeCipherSpec message comprises a single byte of value 1 , which is encrypted and compressed and serves to notify the recipient (e.g., broker 120) that subsequent data will be protected under the just negotiated ciphering algorithm and keys
  • the client 1 10 sends a Finished message to the broker 120 to verify that the key exchange and authentication processes were successful
  • the Finished message is typically encrypted with the just negotiated ciphering algorithm (block 230).
  • the broker 120 Upon receiving the client Finished message, the broker 120 updates its ciphering algorithm to the one selected by the client 1 10, and confirms by sending a ChangeCipherSpec message to the client 1 10 (block 240) The broker 120 also sends a Finished message to the client 1 10 in an encrypted form using the just negotiated ciphering algorithm At this stage, the handshake is complete and the client 110 and broker 120 may begin to exchange application data in encrypted form (blocks 250 and
  • FIG. 3 is a flowchart describing the operation of the broker 120.
  • the broker 120 may selectively execute one of two embodiments of the data exchange between the broker 120 and the server 130a. In both embodiments, it is desirable to have the broker 120 buffer the incoming application data from the client 1 10 until a handshake can be used to establish a data transport connection between the broker 120 and server 130a (block 310) By buffering the data, the broker 120 ensures that application data sent by the client 1 10 to the broker 120 are protected from loss. It is desirable to have the broker 120 dynamically allocate the buffer size (e.g., as random access memory or RAM) in response to traffic volume between clients and servers.
  • the buffer size e.g., as random access memory or RAM
  • the broker 120 may adjust (i.e., increase or decrease) a preset buffer size to optimize availability of buffer for handling client requests. For example, in one embodiment, the broker 120 may continuously monitor its percentage of use of the allocated buffer space. If the percentage of use is below a preselected threshold level (e.g., 40%), the broker 120 may downsize its buffer space by a preselected factor (e.g., Y ⁇ ). If, on the other hand, the percentage of use is over a preselected threshold level (e.g., 95%), the broker 120 may increase its buffer space by a preselected factor (e.g., 2) Ultimately, the allocated buffer space may reach a maximum memory space, beyond which the broker 120 may not exceed due to memory limitations dictated by its hardware specification.
  • a preselected threshold level e.g. 40%
  • the broker 120 may downsize its buffer space by a preselected factor (e.g., Y ⁇ ). If, on the other hand, the percentage of use is over a preselected threshold level (e.g
  • the broker 120 may include at least a processor and a storage unit to manage and store the client data in accordance with the invention More particularly, the broker 120 may be embodied, for example, in commercial form as a Commerce Accelerator 1000 or Commerce Director 8000, manufactured by Ipivot, Inc.
  • the broker 120 is configured to establish a hand off link with the server 130a to fulfill or execute client transactions, as described in the referenced application.
  • the hand-off link does not involve encryption/decryption of messages between the broker 120 and server 130a.
  • the broker 120 is configured to establish a secure (e.g., SSL) hand off link with the server 130a to fulfill or execute client transactions.
  • the system operator determines which configuration settings (e g , the Basic Input/Output System or BIOS settings) to program in the broker 120 at the time of initial system installation.
  • a typical BIOS setting for this feature may be represented by ⁇ Continue Secure Link: Y/N > .
  • the broker settings may be selected by the system user during operation or automatically adjusted to accommodate various server configurations. Based on these settings, the broker 120 determines as to whether to continue a secure (e.g., SSL) or a non secure link (block 320).
  • the broker 120 decrypts the packets received from the client 1 10 by applying the ciphering algorithm agreed upon with the client 1 10 (block 330). After decryption, the broker 120 modifies the packet header information, such as the destination address, to reroute client packets to the server 130a (block 332).
  • the broker 120 initiates a secure SSL handshake with the server 130a (block 334) in a manner that is substantially similar to the handshake establishment between the client 110 and broker 120, described above
  • the broker 120 and server 130a are now ready to exchange application data in encrypted form.
  • the broker 120 retrieves client packets from its buffer and encrypts the client packets for transmission to the server 130a (block 336).
  • the broker 120 sends encrypted client packets to the server 130a for execution.
  • handing off the client transactions from the broker 120 to the server 130a is complete (block 350).
  • the broker 120 may achieve a significant operational advantage.
  • the advantage provides for relieving the server 130a from CPU intensive tasks that involve SSL operations (i.e., encryption/decryption). In effect, the broker 120 takes over the server's SSL operations thereby freeing up the CPU of the server 130a to perform other pending tasks. Some broker operations may show improvements in response speed to a client by up to 50 times.
  • the broker 120 is typically equipped with one or more processors that are dedicated to cryptographic applications.
  • servers are generally equipped with general application central processing units that are responsible for numerous non-cryptographic applications. Hence, by relocating cryptographic functions from the server 130ato the dedicated processor of the broker 120, the response speed to the client is greatly enhanced.
  • the broker 120 decrypts client packets by applying the ciphering algorithm agreed upon with the client 1 10 (block 340)
  • the broker 120 modifies the packet header information, such as the destination address, to reroute client packets to the server 130a (block 342).
  • the broker 120 initiates a conventional (i.e., non secure) handshake with the server 130a in accordance with the communication protocol (e.g., TCP/IP) specified between the broker 120 and server 130a (block 344), as described in the referenced application.
  • the broker 120 and server 130a are ready to exchange application data in conventional form. Accordingly, the broker 120 retrieves and sends the client packets to the server 130a (block 346). At this stage of the process, handing off the client transactions from the broker 120 to the server 130a is complete (block 350).
  • FIG 4 is a flowchart describing the operation of a third party server, e.g., the server 130a.
  • the client 1 10 and broker 120 establish a SSL connection and commence exchanging application data.
  • the server 130a may selectively execute one or two modes of the data exchange between the broker
  • the control flow begins at block 400, where the server awaits the opening of a new connection with the broker 120
  • the broker 120 initiates the handshake with the server 130a and a connection is established at block 410.
  • the server 130 may be configured a prior mode decision to communicate via a standard link or a secure link with the broker 120. If the handshake is requested to be secure, a control flow follows from the decision block 420.
  • the server 130 receives client packets from the broker 120 (block 430).
  • the server 130 decrypts the client packets which have been received.
  • the server 130 then fulfills the client's request by executing a client transaction at block 434.
  • the request may be to read a web page, make an e-commerce purchase, communicate with another client via chat, etc.
  • the server 130 next encrypts the response packets for transmission back to the client 1 10 (block 436).
  • the server 130 sends the encrypted packets to the broker 120 (block 438) and the broker 120 forwards the response packets to the client 110 (block 450).
  • the link may be terminated or additional transactions may be satisfied by the server 130 before the control flow ends (block 460).
  • An alternate path of packet transmission may occur if the handshake is not requested to be secure by the broker 120 with the server 130 (block 420).
  • the server 130 receives client packets from the broker 120 (block 440).
  • the server 130 will execute client transactions (block 442) similarly to what was shown in the secure path at block 434.
  • the server 130 sends response packets to the broker 120 (block 444), which forwards the response packets to the client 1 10 (block 450).
  • the server 130 In the event the server 130 encounters unexpected congestion, operational errors, or a sudden breakdown, during the processing of client packets, the server 130 typically sends one or more error messages, such as HTTP 400, 500, or 600 series error messages. It is desirable to have the broker 120 monitor such error messages to determine if any error message is generated by the server 130. In the server 130 generates such an error, the broker 120 responds by transparently (i.e., without the client's awareness) re-direct client packets to another server for fulfillment. In that case, the client session may be recovered and completed without conveying any of the service difficulties encountered by the entity providing the service to the client. Accordingly, customer perception of the servicing entity (e.g., e commerce vendor) is maintained high.
  • the servicing entity e.g., e commerce vendor
  • the broker 120 allows system administrators to identify one or more groups of users for the purpose of prioritizing user transactions More particularly, the system administrator may select a group of users having a particular source address to set a priority level (e g , 1 through 5) therefor The broker 120 allocates the least amount of response time to process transactions issued by the user group having highest priority (e.g., 5). By allocating the least amount of response time (e.g., a threshold of 10 milliseconds), the broker 120 monitors a server's response time to high priority transactions. In the event one or more response times are greater than the threshold time, the broker 120 may reduce the flow of non secure transaction traffic (e.g , plain HTTP) to the server 130.
  • non secure transaction traffic e.g , plain HTTP
  • the broker 120 By reducing the flow of non secure traffic to the server 130, the broker 120 frees up the server 130 to transact secure transactions (e.g., HTTPS) more efficiently In practice, it is believed that secure transactions are more likely to involve financial data (i.e , e commerce applications) than non secure transactions Thus, the broker 120 reduces the flow of non secure traffic in an effort to maximize e commerce related transactions. Additionally, the broker 120 may re-direct traffic to another server that may fulfill client requests most efficiently. On the other hand, for client transactions having a lowest priority, the broker 120 allocates a maximum amount of response time (e.g., a threshold of 50 milliseconds) for monitoring. In accordance with the threshold time, the broker 120 may intervene in a manner that is similar to the description of high priority transactions above.
  • a maximum amount of response time e.g., a threshold of 50 milliseconds
  • the broker 120 may reduce the flow of non-secure transactions to the server 130, or re direct client packets to another server for more efficient fulfillment.
  • the broker 120 aims to dedicate server resources that are commensurate with the group's anticipated or targeted interest
  • the invention overcomes the long-standing need for a broker that manages network transactions between a client and a server over secure links, such as SSL.
  • SSL secure links
  • the invention may be embodied in other specific forms without departing from its spirit or essential characteristics.
  • the described embodiments are to be considered in all respects only illustrative and not restrictive The scope of the invention is, therefore, indicated by the appended claims rather by the foregoing description. All changes falling within the meaning and range of equivalency of the claims are to be embraced within their scope.

Abstract

A server broker configured for use in a secure communication network, such as the Internet. The broker is configured to broker client transactions received over a secure network link, such as a secure socket layer (SSL) link, for distribution among one or more of a plurality of fulfillment servers. In one embodiment, the broker establishes a non-secure link with the one or more fulfillment servers. In another embodiment, the broker establishes a secure SSL link with the one or more fulfillment servers. The fulfillment server executes client transactions and sends response packets for delivery to the client.

Description

METHOD AND SYSTEM FOR MANAGING SECURE CLIENT-SERVER TRANSACTIONS
Background of the Invention
1. Field of the Invention The invention relates generally to computer networks technology. More particularly, this invention relates to the management of client transactions in secure client-server based networks.
2. Description of the Related Technology
Communication of data over a network, such as the Internet, has become as common as communicating voice over a telephone. The tremendous increase in network communication has been subject to intrusion by unauthorized users, such as computer hackers. To combat these intruders, most communication protocols now implement some form of communication security, which ranges from simple scrambling to very sophisticated encryption algorithms. More particularly, the Transmission Control Protocol (TCP)/lnternet Protocol (IP) used by many networks, including the Internet, was adapted to include security protocols such as Secure Socket Layer (SSL) and IP Security (IPsec). The following is a brief description of each of these security protocols.
SSL is a protocol developed for the transmission of private data (e.g., a text document) via the Internet. SSL provides a secure connection to communicate data between a client and a server by using a private key to encrypt the data. Private key/public key encryption is well understood and frequently implemented by modern computer networks to ensure privacy of information being transmitted from a sender computer to a recipient computer. Web browsers, such as Netscape Navigator and Internet Explorer, support SSL, and many Web sites implement the SSL protocol to obtain confidential user information, such as credit card numbers. SSL provides the mechanism to implement authentication and encryption. Authentication ensures that each of the client and server is who it claims to be. In practice, authentication may simply involve entering a user identification (ID) and password. However, a computer hacker may eavesdrop on the client-server link to intercept password and username information. Encryption deters such mischief by scrambling the user ID and password information before transmission over the network. In addition to encrypting user information, SSL uses encryption to secure nearly every type of data including the payload (i.e., a text document) communicated between the client and server. In effect, SSL provides for encryption of a session, and authentication of a server, message, and optionally a client. For further details on the SSL protocol, reference is made to SSL Protocol Specification, versions 2 and 3, which are incorporated by reference. SSL is a protocol that protects any level protocol built on protocol sockets, such as telnet, file transfer protocol (FTP), or hypertext transfer protocol (HTTP). As is known in the network technology, a socket is a software object that connects an application to a network protocol. For example, in UNIX, a program sends and receives TCP/IP messages by opening a socket and reading and writing data to and from the socket. This simplifies program development because the programmer need only worry about manipulating the socket and may rely on the operating system to actually transport messages across the network correctly. Many of the functions provided by SSL are part of a next generation IP protocol (IPng) known as IP version 6 (IPv6), being considered by Internet Engineering Task
Force (IETF), which is the main standards organization for the Internet.
IPSec is a set of protocols that support secure exchange of packets at the IP layer. IPSec supports two encryption modes: Transport and Tunnel. At the source device (i.e., transmitting station) of an IP packet, the Transport mode encrypts only the data portion (i e , payioad) of the IP packet, and leaves the header unaffected. The Tunnel mode provides more security than the Transport mode by encrypting both the header and payioad of the IP packet. At the destination device (i.e., receiving station), an IPSec compliant device decrypts received IP packets. Generally, the source and destination devices share a public key. This may be accomplished by implementing a protocol known as Internet Security and Key Management Protocol/Oakley (ISAKMP/Oakley), which allows the destination device to obtain a public key and authenticate the source device using X.509 standard, which is an International Telecommunication Union (ITU) standard for defining digital certificates.
The referenced application describes a broker server configured to manage client transactions and relieve data path congestion in a communication network. For details on the broker operation over a TCP/IP network, reference is made to the referenced application which is incorporated by reference in its entirety herein. When a communication network involves secure operations, management of client transactions requires adaptation to and compliance with the secure operations. The need to speed up client transactions over a secure network is particularly important because a typical Web (World Wide Web) server processes secure transactions at a slower rate than conventional (i.e., non secure) HTTP traffic. With current technology, Web users who make secure transactions with a Web server have to wait a long time for transactions to be processed and the overall reliability and availability of the Web site are impacted.
Therefore, there is a need in the network communication technology, such as the Internet, to support brokering of client transactions over secure (e.g., SSL) communication networks. The invention should eliminate server performance bottlenecks during secure SSL transactions.
Summary of the Invention
In one embodiment, the invention provides a server computer configured to manage transactions over a communication network. The server computer comprises a data interface operably connected to and configured to receive a data packet from a computer over a secure link of the communication network. The server computer further comprises a data processor operably connected to the data interface and programmed to access the received data packet. The processor is further programmed to decrypt contents of the data packet and re-direct the data packet to another computer. The server computer further comprises a data storage operably connected to the processor and the data interface. The data storage is configured to store the data packet until the other computer becomes ready to receive the client packet
In another embodiment, the invention provides a system configured to respond to electronic requests over a computer network. The system comprises a first server configured to interface with and receive a data packet over a secure link of the computer network. The first server is further configured to decrypt contents of the data packet and re-direct the data packet. The system further comprises a second server in data communication with the first server and configured to accept the data packet from the first server and execute the data packet pursuant to instructions contained therein.
In another embodiment, the invention provides a method of managing electronic requests in a computer network. The method comprises receiving a data packet having encrypted information from a client computer over a secure link of the computer network The method further comprises decrypting the information of the received data packet. The method further comprises establishing a link with a server that is available to execute the data packet. The method further comprises sending the data packet to the server.
Brief Description of the Drawings
The above and other aspects, features and advantages of the invention will be better understood by referring to the following detailed description, which should be read in conjunction with the accompanying drawings, in which: Figure 1 is a functional block diagram of a client server network in accordance with the invention. Figure 2 is a flowchart describing a handshake operation pursuant to the SSL protocol standard.
Figure 3 is a flowchart describing the operation of the broker of Figure 1. Figure 4 is a flowchart describing the operation of the server of Figure 1.
Detailed Description of the Invention The following description is not to be taken in a limiting sense, but is made merely for the purpose of describing the general principles of the invention The scope of the invention should be determined with reference to the claims.
Figure 1 is a functional block diagram of a client server system 100 in accordance with the invention. As shown in Figure 1 , the system 100 comprises one or more clients 1 10 configured to communicate with a server 130a over one or more communication networks 150, generally a packet switched network such as the Internet. The client 110 may connect to the network 150 via a host server 1 14, e g., the server computer controlled by an Internet Service Provider (ISP), that is operationally connected to the network 150 via a bridge type device, such as a router 1 18. The router 1 18 is configured to forward packets received from the client 1 10 to various destinations based on packet header information, such as the destination address. The Internet physical layer makes extensive use of routers to forward packets from one server (e g , host 1 14) to another (e g., server 130a).
Typically, the system 100 comprises a plurality of servers 130a, 130b, and 130c. The system 100 further comprises a broker 120 operationally connected between the one or more servers (130a, 130b, and 130c) and a router
128. The broker 120 manages and responds to client transactions by handing off client transactions to one of the servers 130a, 130b, and 130c, as fully described in the referenced application Typically, the communication network 150 conforms to one or more standard communication protocols, such as the TCP/IP protocols. Although only one client 1 10 is shown in Figure 1 , the system 100 operates with multiple clients simultaneously. Similarly, although only one broker 120 is shown in Figure 1 , the system 100 may operate with multiple brokers simultaneously, such as in a cascaded structure wherein two or more brokers are connected in parallel between the router 120 and a plurality of sets of servers (not shown in this figure). The broker 120 is configured to support several SSL links and, in one embodiment, the broker 120 may support up to 600 SSL links or transactions per second. Communication between the broker 120 and multiple clients is typically provided by the characteristics of the communication protocol For example, using the TCP/IP protocol, the broker 120 may simply monitor the destination address of packets flowing over the network If a destination address matches a desired address (e g., address of one of the plurality of servers that the broker 120 is servicing), then the broker 120 receives the packet for further processing Typically, the broker 120 applies this method irrespective of the source address (i.e., client identity) of packets.
Communications over the network 150 may include transmission and reception of secure data between the client 1 10 and broker 120. As noted above, the network 150 may implement TCP/IP protocols (such as the Internet) and apply one or more security protocols, such as SSL, IPSec, or others In this invention, the SSL protocol will be described to illustrate the practice of the invention However it will be understood from this disclosure by those having ordinary skill in the art that the invention may be implemented using any one or more security protocols.
When communication between the client 1 10 and broker 120 (which is a proxy for the intended recipient server 130) is desired, the client 1 10 initiates a "handshake" as specified by the communication protocol, e.g., TCP/IP. For example, the client 1 10 transmits a packet having a set SYN bit from the client 1 10 to the broker 120. The broker 120 responds to the client 1 10 by transmitting a packet having a set ACK bit, and the client 1 10 acknowledges the acknowledgement of the broker 120 by transmitting a packet having a set ACK bit. In addition to establishing a handshake pursuant to the network protocol, performing a handshake in accordance with the specification of the secure protocol (e.g., SSL) may be required
When a client and server wish to communicate using a SSL connection, they exchange information about a protocol version, select cryptographic algorithms, authenticate each other, and use public key encryption techniques to generate shared secrets. These processes are handled by the handshake protocol of the SSL connection, which may be summarized as follows. Figure 2 is a flowchart describing a handshake operation pursuant to the SSL protocol. To establish a SSL connection or link, the client 1 10 initiates a handshake by sending a ClientHello message to the broker
120 (block 210) The ClientHello message communicates several client attributes, including protocol version, session identification (ID), ciphering algorithm, and compression method. In the ciphering algorithm field, the client 1 10 includes a list of cipher suites that are supported by the client 1 10 with the client's first preference listed first. For example, the structure of the ClientHello message may include the following command CipherSuite cιpher_suιtes < lιst > , where "list" represents one or more ciphering protocols supported by the Client 110. The session ID is generally a random value generated by the client 1 10 to identify the session to the broker 120. The client attributes provide the broker 120 with the link specification supported by the client 1 10. The broker 120 responds to the client 1 10 by sending a ServerHello message, which includes similar attribute information about the broker 120 (block 220). If the client 1 10 desires authentication of the broker 120 before communicating application data, the broker 120 sends a server certificate to the client 1 10. The type of ciphering algorithm communicated by the client 1 10 (in its ClientHello message) indicates whether authentication of the broker 120 is desired. The structure of the server certificate depends on the selected ciphering algorithm, and in one embodiment is generally an X.509.v3 digital certificate.
The broker 120 supports several ciphering or security algorithms The ciphering algorithms may include RSA, DSA, Diffie Hell an PKIs, RC2, RC4, RC5, DES, Triple DES, IDEA, CAST, CAST5, Blowfish, MD5, MDC2, RMD-160, SHA, and/or SHA 1 It is worth noting, however, that the kind of ciphering algorithm used is not necessarily material to practicing the invention. The client 1 10 and broker 120 may negotiate and agree to any mutually available ciphering algorithm. In the event that the client 1 10 does not support a ciphering protocol that is recognized by the broker 120, the SSL session may not be established. In the event of a failure of the client 1 10 during an established SSL session, the broker 120 times out after a predetermined duration of no response from the client 1 10 and terminates the session.
Following the hello messages, the broker 120 may send a server key exchange message to the client 1 10, if required by the ciphering algorithm For example, the key exchange message may be used when the broker 120 does not have a certificate, or has a certificate that is used for sign on (i e , initial connection) only. The broker 120 sends the ServerHelloDone message to the client 1 10 to indicate that the hello phase of the handshake is complete (block 220). The broker 120 then waits for a client response The client sends a ClientKeyExchange to the broker 120. The content of the ClientKeyExchange depends on the public key algorithm established during the Hello phase of the handshake. For example, if a Fortezza key exchange is selected, the ClientKeyExchange specifies a selection of the Fortezza key exchange algorithm (KEA) to the broker 120. Generally, the public key algorithm uses two keys: a public key and a private key Messages encrypted with the public key may only be decrypted with the associated private key. Conversely, messages encrypted with the private key may only be decrypted with the public key The client 1 10 then sends a ChangeCipherSpec message to the broker 120 to activate a selected ciphering algorithm, such as RSA, Fortezza, or Client Diffie Hellman (bock 230). The ChangeCipherSpec message comprises a single byte of value 1 , which is encrypted and compressed and serves to notify the recipient (e.g., broker 120) that subsequent data will be protected under the just negotiated ciphering algorithm and keys Finally, the client 1 10 sends a Finished message to the broker 120 to verify that the key exchange and authentication processes were successful The Finished message is typically encrypted with the just negotiated ciphering algorithm (block 230). Upon receiving the client Finished message, the broker 120 updates its ciphering algorithm to the one selected by the client 1 10, and confirms by sending a ChangeCipherSpec message to the client 1 10 (block 240) The broker 120 also sends a Finished message to the client 1 10 in an encrypted form using the just negotiated ciphering algorithm At this stage, the handshake is complete and the client 110 and broker 120 may begin to exchange application data in encrypted form (blocks 250 and
260).
Figure 3 is a flowchart describing the operation of the broker 120. After the client 110 and broker 120 establish a SSL connection and commence exchanging application data, the broker 120 may selectively execute one of two embodiments of the data exchange between the broker 120 and the server 130a. In both embodiments, it is desirable to have the broker 120 buffer the incoming application data from the client 1 10 until a handshake can be used to establish a data transport connection between the broker 120 and server 130a (block 310) By buffering the data, the broker 120 ensures that application data sent by the client 1 10 to the broker 120 are protected from loss. It is desirable to have the broker 120 dynamically allocate the buffer size (e.g., as random access memory or RAM) in response to traffic volume between clients and servers. More particularly, the broker 120 may adjust (i.e., increase or decrease) a preset buffer size to optimize availability of buffer for handling client requests. For example, in one embodiment, the broker 120 may continuously monitor its percentage of use of the allocated buffer space. If the percentage of use is below a preselected threshold level (e.g., 40%), the broker 120 may downsize its buffer space by a preselected factor (e.g., Y∑). If, on the other hand, the percentage of use is over a preselected threshold level (e.g., 95%), the broker 120 may increase its buffer space by a preselected factor (e.g., 2) Ultimately, the allocated buffer space may reach a maximum memory space, beyond which the broker 120 may not exceed due to memory limitations dictated by its hardware specification.
Generally, the broker 120 may include at least a processor and a storage unit to manage and store the client data in accordance with the invention More particularly, the broker 120 may be embodied, for example, in commercial form as a Commerce Accelerator 1000 or Commerce Director 8000, manufactured by Ipivot, Inc.
In one embodiment, and particularly if relaxed secure measures are sufficient, the broker 120 is configured to establish a hand off link with the server 130a to fulfill or execute client transactions, as described in the referenced application. The hand-off link does not involve encryption/decryption of messages between the broker 120 and server 130a. In another embodiment, and particularly where greater security is desired, the broker 120 is configured to establish a secure (e.g., SSL) hand off link with the server 130a to fulfill or execute client transactions. Generally, the system operator determines which configuration settings (e g , the Basic Input/Output System or BIOS settings) to program in the broker 120 at the time of initial system installation. A typical BIOS setting for this feature may be represented by < Continue Secure Link: Y/N > . Alternatively, the broker settings may be selected by the system user during operation or automatically adjusted to accommodate various server configurations. Based on these settings, the broker 120 determines as to whether to continue a secure (e.g., SSL) or a non secure link (block 320).
If the broker 120 is configured to continue a secure link, then the operation of the broker 120 proceeds to
(block 330). As described in the referenced application, there are a number of servers which the broker 120 may use for hand off to fulfill the client's transaction request Accordingly, the process described herein assumes that the broker 120 has selected a fulfillment server, e g , the server 130a from the servers 130a, 130b, and 130c for handing off client transactions In handing off a client transaction, the broker 120 decrypts the packets received from the client 1 10 by applying the ciphering algorithm agreed upon with the client 1 10 (block 330). After decryption, the broker 120 modifies the packet header information, such as the destination address, to reroute client packets to the server 130a (block 332).
To reroute client packets to the server 130a, the broker 120 initiates a secure SSL handshake with the server 130a (block 334) in a manner that is substantially similar to the handshake establishment between the client 110 and broker 120, described above After the handshake is established between the broker 120 and server 130a, the broker 120 and server 130a are now ready to exchange application data in encrypted form. Accordingly, the broker 120 retrieves client packets from its buffer and encrypts the client packets for transmission to the server 130a (block 336). After encryption, the broker 120 sends encrypted client packets to the server 130a for execution. At this stage of the process, handing off the client transactions from the broker 120 to the server 130a is complete (block 350).
On the other hand, if the broker 120 is configured to continue in a non-secure mode, the operation of the broker 120 proceeds to (block 340). By continuing the link in a non secure mode, the broker 120 may achieve a significant operational advantage. The advantage provides for relieving the server 130a from CPU intensive tasks that involve SSL operations (i.e., encryption/decryption). In effect, the broker 120 takes over the server's SSL operations thereby freeing up the CPU of the server 130a to perform other pending tasks. Some broker operations may show improvements in response speed to a client by up to 50 times. The broker 120 is typically equipped with one or more processors that are dedicated to cryptographic applications. In contrast, servers are generally equipped with general application central processing units that are responsible for numerous non-cryptographic applications. Hence, by relocating cryptographic functions from the server 130ato the dedicated processor of the broker 120, the response speed to the client is greatly enhanced.
As noted in the 330 branch of the broker operation, the broker 120 decrypts client packets by applying the ciphering algorithm agreed upon with the client 1 10 (block 340) After decryption, the broker 120 modifies the packet header information, such as the destination address, to reroute client packets to the server 130a (block 342). To reroute client packets to the server 130a, the broker 120 initiates a conventional (i.e., non secure) handshake with the server 130a in accordance with the communication protocol (e.g., TCP/IP) specified between the broker 120 and server 130a (block 344), as described in the referenced application. After the handshake is established between the broker 120 and server 130a, the broker 120 and server 130a are ready to exchange application data in conventional form. Accordingly, the broker 120 retrieves and sends the client packets to the server 130a (block 346). At this stage of the process, handing off the client transactions from the broker 120 to the server 130a is complete (block 350).
Figure 4 is a flowchart describing the operation of a third party server, e.g., the server 130a. As discussed above with respect to Figure 3, the client 1 10 and broker 120 establish a SSL connection and commence exchanging application data. The server 130amay selectively execute one or two modes of the data exchange between the broker
120 and the server 130. The control flow begins at block 400, where the server awaits the opening of a new connection with the broker 120 The broker 120 initiates the handshake with the server 130a and a connection is established at block 410. As noted above, the server 130 may be configured a prior mode decision to communicate via a standard link or a secure link with the broker 120. If the handshake is requested to be secure, a control flow follows from the decision block 420. In the secure link mode, the server 130 receives client packets from the broker 120 (block 430). At block 432, the server 130 decrypts the client packets which have been received. The server 130 then fulfills the client's request by executing a client transaction at block 434. The request may be to read a web page, make an e-commerce purchase, communicate with another client via chat, etc. The server 130 next encrypts the response packets for transmission back to the client 1 10 (block 436). The server 130 sends the encrypted packets to the broker 120 (block 438) and the broker 120 forwards the response packets to the client 110 (block 450). The link may be terminated or additional transactions may be satisfied by the server 130 before the control flow ends (block 460).
An alternate path of packet transmission may occur if the handshake is not requested to be secure by the broker 120 with the server 130 (block 420). In this flow, the server 130 receives client packets from the broker 120 (block 440). The server 130 will execute client transactions (block 442) similarly to what was shown in the secure path at block 434. The server 130 sends response packets to the broker 120 (block 444), which forwards the response packets to the client 1 10 (block 450).
In the event the server 130 encounters unexpected congestion, operational errors, or a sudden breakdown, during the processing of client packets, the server 130 typically sends one or more error messages, such as HTTP 400, 500, or 600 series error messages. It is desirable to have the broker 120 monitor such error messages to determine if any error message is generated by the server 130. In the server 130 generates such an error, the broker 120 responds by transparently (i.e., without the client's awareness) re-direct client packets to another server for fulfillment. In that case, the client session may be recovered and completed without conveying any of the service difficulties encountered by the entity providing the service to the client. Accordingly, customer perception of the servicing entity (e.g., e commerce vendor) is maintained high.
In another embodiment, the broker 120 allows system administrators to identify one or more groups of users for the purpose of prioritizing user transactions More particularly, the system administrator may select a group of users having a particular source address to set a priority level (e g , 1 through 5) therefor The broker 120 allocates the least amount of response time to process transactions issued by the user group having highest priority (e.g., 5). By allocating the least amount of response time (e.g., a threshold of 10 milliseconds), the broker 120 monitors a server's response time to high priority transactions. In the event one or more response times are greater than the threshold time, the broker 120 may reduce the flow of non secure transaction traffic (e.g , plain HTTP) to the server 130. By reducing the flow of non secure traffic to the server 130, the broker 120 frees up the server 130 to transact secure transactions (e.g., HTTPS) more efficiently In practice, it is believed that secure transactions are more likely to involve financial data (i.e , e commerce applications) than non secure transactions Thus, the broker 120 reduces the flow of non secure traffic in an effort to maximize e commerce related transactions. Additionally, the broker 120 may re-direct traffic to another server that may fulfill client requests most efficiently. On the other hand, for client transactions having a lowest priority, the broker 120 allocates a maximum amount of response time (e.g., a threshold of 50 milliseconds) for monitoring. In accordance with the threshold time, the broker 120 may intervene in a manner that is similar to the description of high priority transactions above.
Accordingly, after a given threshold time of non-response, the broker 120 may reduce the flow of non-secure transactions to the server 130, or re direct client packets to another server for more efficient fulfillment. In any case, for a particular group of users, the broker 120 aims to dedicate server resources that are commensurate with the group's anticipated or targeted interest
In view of the foregoing, it will be appreciated that the invention overcomes the long-standing need for a broker that manages network transactions between a client and a server over secure links, such as SSL. The invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described embodiments are to be considered in all respects only illustrative and not restrictive The scope of the invention is, therefore, indicated by the appended claims rather by the foregoing description. All changes falling within the meaning and range of equivalency of the claims are to be embraced within their scope.

Claims

WHAT IS CLAIMED IS:
1. A server computer configured to manage transactions over a communication network, the server computer comprising: a data interface operably connected to and configured to receive a data packet from a computer over a secure link of the communication network; a data processor operably connected to the data interface and programmed to access the received data packet, decrypt contents of the data packet, and re direct the data packet to another computer; and a data storage operably connected to the processor and the data interface, the data storage configured to store the data packet until the other computer becomes ready to receive the client packet.
2. The server of Claim 1 , wherein the data interface is configured to receive the data packet having encrypted information over a secure socket layer (SSL) link.
3. The server of Claim 1 , wherein the processor is programmed to re-direct the data packet having unencrypted information over a non-secure link to the other computer.
4. The server of Claim 1 , wherein the processor is programmed to re direct the data packet having encrypted information over another secure link to the other computer.
5. The server of Claim 1 , wherein the processor is programmed to monitor and compare a response time of the other computer to a threshold time.
6. The server of Claim 5, wherein the processor is further programmed to reduce the flow of non- secure traffic to the other computer in the event that the response time exceeds the threshold time.
7. The server of Claim 1 , wherein the data storage is configured to adjust the size of available storage space in response to a change in the number of received data packets.
8. A system configured to respond to electronic requests over a computer network, the system comprising: a first server configured to interface with and receive a data packet over a secure link of the computer network, the first server further configured to decrypt contents of the data packet and re direct the data packet; and a second server in data communication with the first server and configured to accept the data packet from the first server and execute the data packet pursuant to instructions contained therein.
9. The system of Claim 8, wherein the first server is configured to interface with a secure socket layer (SSL) link of the computer network
10. The system of Claim 8, wherein the first server is configured to re-encrypt contents of the data packet.
1 1. The system of Claim 8, wherein the first server is configured to establish a secure link with the second server for transmission of data packets therebetween.
12. The system of Claim 1 1 , wherein the second server is configured to decrypt data packets received from the first server.
13 The system of Claim 8, wherein the second server is configured to send at least one data packet in response to the received data packet within a response time.
14. The system of Claim 13, wherein the first server is configured to monitor the response time of the second server and compare the response time to a threshold time.
15. The system of Claim 14, wherein the first server is configured to reduce the volume of non-secure traffic flow in the event that the response time exceeds the threshold time.
16. The system of Claim 8, wherein the first server is configured to monitor a response of the second server and, in the event of an error in the second server, re direct the client packet to another server for fulfillment.
17. A method of managing electronic requests in a computer network, the method comprising: receiving a data packet having encrypted information from a client computer over a secure link of the computer network; decrypting the information of the received data packet; establishing a link with a server that is available to execute the data packet; and sending the data packet to the server.
18. The method of Claim 17, wherein the receiving includes receiving a data packet over a secure socket layer (SSL) link of the Internet.
19. The method of Claim 17, further comprising re encrypting the information of the data packet prior to sending the data packet to the server.
20. The method of Claim 17, further comprising sending a data packet to the client computer in response to the data packet of the client computer
21. The method of Claim 17, further comprising monitoring a time of response to the client computer and, if the response time exceeds a threshold time, reducing the volume of non secure traffic to the server
22. The method of Claim 17, further comprising setting a threshold time for each of a plurality of groups of clients, the threshold time being based on the priority of response to the group of clients.
23. The method of Claim 17, wherein establishing a link includes setting up another secure link with the server.
24. The method of Claim 17, further comprising receiving the data packet by the server and preparing at least one data packet in the course of an e commerce transaction
25. The method of Claim 17, further comprising decrypting the information of the data packet by the server.
26. The method of Claim 17, further comprising monitoring a response of the server and, in the event of an error in the server, re-directing the data packet to another server.
27. A method of communicating between a client and a server in a client-server network, the method comprising: establishing a communication link between the client and a first server; receiving by the first server at least one packet from the client, the packet representing a data request; modifying header information of the packet at the first server; sending the modified packet from the first server to a second server; and responding to the data request of the client via the first server.
28. The method as defined in Claim 27, wherein establishing a communication link includes performing at least one handshake between the client and the first server.
29. The method as defined in Claim 28, wherein the performing at least one handshake comprises beginning a transport control protocol/internet protocol (TCP/IP) session.
30. The method as defined in Claim 27, wherein modifying header information includes modifying a destination address of the packet to route the packet to the second server.
31. The method as defined in Claim 27, wherein sending the modified packet to the second server includes sending the packet over a non secure link.
32. The method as defined in Claim 27, wherein responding to the client includes sending by the second server at least one response packet to the first server.
33. The method as defined in Claim 32, wherein responding to the client further includes sending by the first server the response packet with a destination address of the client.
34. A system for communicating between a client and a server in a client-server network, the system comprising: a first server that is configured to receive at least one packet from the client, the packet representing a data request, the first server further configured to modify header information of and send the modified packet via the network; and a second server that is configured to receive the modified packet and respond to the data request of the client via the first server.
35. The system as defined in Claim 34, wherein the first server is configured to perform at least one handshake with the client.
36. The system as defined in Claim 35, wherein the handshake represents a start of a transport control protocol/internet protocol (TCP/IP) session.
37. The system as defined in Claim 34, wherein the first server is configured to modify a destination address of the packet so as to route the packet to the second server
38. The system as defined in Claim 34, wherein the first server is configured to send the packet to the second server over a non secure link
39. The system as defined in Claim 34, wherein the second server is configured to send at least one response packet to the first server.
40. The system as defined in Claim 39, wherein the first server is configured to send the response packet with a destination address of the client.
PCT/US2000/013047 1999-06-30 2000-05-11 Method and system for managing secure client-server transactions WO2001002935A2 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2001508673A JP4245838B2 (en) 1999-06-30 2000-05-11 Method and system for managing secure client-server transactions
DE60043879T DE60043879D1 (en) 1999-06-30 2000-05-11 METHOD AND DEVICE FOR MANAGING SECURED CLIENT-SERVER TRANSACTIONS
EP00939295A EP1116367B1 (en) 1999-06-30 2000-05-11 Method and system for managing secure client-server transactions
AU54401/00A AU5440100A (en) 1999-06-30 2000-05-11 Method and system for managing secure client-server transactions
CA002341869A CA2341869A1 (en) 1999-06-30 2000-05-11 Method and system for managing secure client-server transactions

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/345,575 1999-06-30
US09/345,575 US6681327B1 (en) 1998-04-02 1999-06-30 Method and system for managing secure client-server transactions

Publications (2)

Publication Number Publication Date
WO2001002935A2 true WO2001002935A2 (en) 2001-01-11
WO2001002935A3 WO2001002935A3 (en) 2001-05-03

Family

ID=23355585

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/013047 WO2001002935A2 (en) 1999-06-30 2000-05-11 Method and system for managing secure client-server transactions

Country Status (7)

Country Link
US (1) US6681327B1 (en)
EP (2) EP2194580B1 (en)
JP (1) JP4245838B2 (en)
AU (1) AU5440100A (en)
CA (1) CA2341869A1 (en)
DE (1) DE60043879D1 (en)
WO (1) WO2001002935A2 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1227634A2 (en) * 2001-01-24 2002-07-31 Microsoft Corporation Establishing a secure connection with a private corporate network over a public network
WO2002096061A2 (en) * 2001-05-23 2002-11-28 Anonymex Secure electronic communication device
US7177874B2 (en) * 2003-01-16 2007-02-13 Jardin Cary A System and method for generating and processing results data in a distributed system
ITMI20100874A1 (en) * 2010-05-17 2011-11-18 Create Net Ct For Res And Telecommunicat METHOD AND SYSTEM FOR NETWORK VIRTUALIZATION
WO2013093474A1 (en) * 2011-12-21 2013-06-27 Veritape Ltd Method and apparatus for mediating communications
US20240037544A1 (en) * 2022-07-29 2024-02-01 Ncr Corporation Cloud-based transaction processing

Families Citing this family (93)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7035410B1 (en) * 1999-03-01 2006-04-25 At&T Corp. Method and apparatus for enhanced security in a broadband telephony network
PT1228620E (en) * 1999-11-02 2009-11-04 Highway To Health Inc System for locating providers over the internet on short notice
US8335994B2 (en) * 2000-02-25 2012-12-18 Salmon Alagnak Llc Method and apparatus for providing content to a computing device
US7359507B2 (en) * 2000-03-10 2008-04-15 Rsa Security Inc. Server-assisted regeneration of a strong secret from a weak secret
JP2001338168A (en) * 2000-05-25 2001-12-07 Oht Inc Information provision system, information providing method, information providing device and recording medium
US7225331B1 (en) * 2000-06-15 2007-05-29 International Business Machines Corporation System and method for securing data on private networks
US7093129B1 (en) * 2000-06-19 2006-08-15 International Business Machines Corporation Secured encrypted communications in a voice browser
US7137143B2 (en) 2000-08-07 2006-11-14 Ingrian Systems Inc. Method and system for caching secure web content
US20040015725A1 (en) * 2000-08-07 2004-01-22 Dan Boneh Client-side inspection and processing of secure content
US7032002B1 (en) * 2000-09-06 2006-04-18 Xanboo, Inc. Service broker for processing data from a data network
US7774455B1 (en) * 2000-09-26 2010-08-10 Juniper Networks, Inc. Method and system for providing secure access to private networks
US7620719B2 (en) 2002-06-06 2009-11-17 Juniper Networks, Inc. Method and system for providing secure access to private networks
US7150045B2 (en) * 2000-12-14 2006-12-12 Widevine Technologies, Inc. Method and apparatus for protection of electronic media
US7757278B2 (en) * 2001-01-04 2010-07-13 Safenet, Inc. Method and apparatus for transparent encryption
US7089311B2 (en) * 2001-01-31 2006-08-08 International Business Machines Corporation Methods, systems and computer program products for resuming SNA application-client communications after loss of an IP network connection
US6912591B2 (en) * 2001-05-02 2005-06-28 Science Application International Corporation System and method for patch enabled data transmissions
US7085923B2 (en) * 2001-06-05 2006-08-01 International Business Machines Corporation High volume secure internet server
US7328336B2 (en) * 2001-06-26 2008-02-05 Ncipher Corporation Ltd System and method for small-area system data processing
US7013387B2 (en) * 2001-06-27 2006-03-14 Intel Corporation System for increasing realized secure sockets layer encryption and decryption connections
US7228412B2 (en) * 2001-07-06 2007-06-05 Juniper Networks, Inc. Bufferless secure sockets layer architecture
US7908472B2 (en) * 2001-07-06 2011-03-15 Juniper Networks, Inc. Secure sockets layer cut through architecture
US7853781B2 (en) * 2001-07-06 2010-12-14 Juniper Networks, Inc. Load balancing secure sockets layer accelerator
US7149892B2 (en) * 2001-07-06 2006-12-12 Juniper Networks, Inc. Secure sockets layer proxy architecture
US20050210243A1 (en) * 2001-09-28 2005-09-22 Archard Paul L System and method for improving client response times using an integrated security and packet optimization framework
JP3895146B2 (en) * 2001-10-22 2007-03-22 富士通株式会社 Service control network, server device, network device, service information distribution method, and service information distribution program
US7054925B2 (en) * 2001-11-21 2006-05-30 International Business Machines Corporation Efficient method for determining record based I/O on top of streaming protocols
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
JP2003242118A (en) * 2002-02-19 2003-08-29 Allied Tereshisu Kk Communication system, relay device, and program
US7366905B2 (en) * 2002-02-28 2008-04-29 Nokia Corporation Method and system for user generated keys and certificates
FR2840134B1 (en) * 2002-05-21 2004-08-13 France Telecom METHOD FOR CONTROLLING ACCESS TO CRYPTOGRAPHIC RESOURCES, COMPUTER PLATFORM AND SOFTWARE MODULE FOR USE IN IMPLEMENTING THE METHOD
US7124171B1 (en) * 2002-05-23 2006-10-17 Emc Corporation In a networked computing cluster storage system and plurality of servers sharing files, in the event of server unavailability, transferring a floating IP network address from first server to second server to access area of data
WO2004019182A2 (en) * 2002-08-24 2004-03-04 Ingrian Networks, Inc. Selective feature activation
US7430755B1 (en) * 2002-09-03 2008-09-30 Fs Networks, Inc. Method and system for providing persistence in a secure network access
US7272658B1 (en) 2003-02-13 2007-09-18 Adobe Systems Incorporated Real-time priority-based media communication
US8473620B2 (en) * 2003-04-14 2013-06-25 Riverbed Technology, Inc. Interception of a cloud-based communication connection
US20060149962A1 (en) * 2003-07-11 2006-07-06 Ingrian Networks, Inc. Network attached encryption
US20080130900A1 (en) * 2003-10-20 2008-06-05 Hsieh Vincent W Method and apparatus for providing secure communication
US9614772B1 (en) 2003-10-20 2017-04-04 F5 Networks, Inc. System and method for directing network traffic in tunneling applications
US20050086533A1 (en) * 2003-10-20 2005-04-21 Hsieh Vincent W. Method and apparatus for providing secure communication
US20050120204A1 (en) * 2003-12-01 2005-06-02 Gary Kiwimagi Secure network connection
US20050120223A1 (en) * 2003-12-01 2005-06-02 Gary Kiwimagi Secure authenticated network connections
US7519835B2 (en) * 2004-05-20 2009-04-14 Safenet, Inc. Encrypted table indexes and searching encrypted tables
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
US8024483B1 (en) 2004-10-01 2011-09-20 F5 Networks, Inc. Selective compression for network connections
US8813216B2 (en) * 2004-12-16 2014-08-19 International Business Machines Corporation Network security protection
US7526801B2 (en) * 2005-01-07 2009-04-28 Microsoft Corporation Bulk transmission of messages using a single HTTP request
US20070002736A1 (en) * 2005-06-16 2007-01-04 Cisco Technology, Inc. System and method for improving network resource utilization
US8418233B1 (en) 2005-07-29 2013-04-09 F5 Networks, Inc. Rule based extensible authentication
US8478986B2 (en) * 2005-08-10 2013-07-02 Riverbed Technology, Inc. Reducing latency of split-terminated secure communication protocol sessions
US8613071B2 (en) * 2005-08-10 2013-12-17 Riverbed Technology, Inc. Split termination for secure communication protocols
US8438628B2 (en) * 2005-08-10 2013-05-07 Riverbed Technology, Inc. Method and apparatus for split-terminating a secure network connection, with client 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
US20070079386A1 (en) * 2005-09-26 2007-04-05 Brian Metzger Transparent encryption using secure encryption device
US20070079140A1 (en) * 2005-09-26 2007-04-05 Brian Metzger Data migration
US7873065B1 (en) 2006-02-01 2011-01-18 F5 Networks, Inc. Selectively enabling network packet concatenation based on metrics
US8565088B1 (en) 2006-02-01 2013-10-22 F5 Networks, Inc. Selectively enabling packet concatenation based on a transaction boundary
US8386768B2 (en) * 2006-02-08 2013-02-26 Safenet, Inc. High performance data encryption server and method for transparently encrypting/decrypting data
US7958091B2 (en) 2006-02-16 2011-06-07 Ingrian Networks, Inc. Method for fast bulk loading data into a database while bypassing exit routines
US8375421B1 (en) 2006-03-02 2013-02-12 F5 Networks, Inc. Enabling a virtual meeting room through a firewall on a network
US8572219B1 (en) 2006-03-02 2013-10-29 F5 Networks, Inc. Selective tunneling based on a client configuration and request
US8782393B1 (en) 2006-03-23 2014-07-15 F5 Networks, Inc. Accessing SSL connection data by a third-party
US20070266233A1 (en) * 2006-05-12 2007-11-15 Mahesh Jethanandani Method and apparatus to minimize latency by avoiding small tcp segments in a ssl offload environment
US7917947B2 (en) * 2006-05-26 2011-03-29 O2Micro International Limited Secured communication channel between IT administrators using network management software as the basis to manage networks
US8379865B2 (en) * 2006-10-27 2013-02-19 Safenet, Inc. Multikey support for multiple office system
US9106606B1 (en) 2007-02-05 2015-08-11 F5 Networks, Inc. Method, intermediate device and computer program code for maintaining persistency
US8713186B2 (en) * 2007-03-13 2014-04-29 Oracle International Corporation Server-side connection resource pooling
US8060750B2 (en) * 2007-06-29 2011-11-15 Emc Corporation Secure seed provisioning
US8059814B1 (en) 2007-09-28 2011-11-15 Emc Corporation Techniques for carrying out seed or key derivation
US7961878B2 (en) 2007-10-15 2011-06-14 Adobe Systems Incorporated Imparting cryptographic information in network communications
US9043589B2 (en) * 2007-11-14 2015-05-26 Hewlett-Packard Development Company, L.P. System and method for safeguarding and processing confidential information
US20090132804A1 (en) * 2007-11-21 2009-05-21 Prabir Paul Secured live software migration
US8307210B1 (en) 2008-05-02 2012-11-06 Emc Corporation Method and apparatus for secure validation of tokens
US9832069B1 (en) 2008-05-30 2017-11-28 F5 Networks, Inc. Persistence based on server response in an IP multimedia subsystem (IMS)
EP2308212A4 (en) * 2008-07-14 2016-06-22 Riverbed Technology Inc Methods and systems for secure communications using a local certification authority
US9130846B1 (en) 2008-08-27 2015-09-08 F5 Networks, Inc. Exposed control components for customizable load balancing and persistence
US8051287B2 (en) 2008-10-15 2011-11-01 Adobe Systems Incorporated Imparting real-time priority-based network communications in an encrypted communication session
US20100186070A1 (en) 2009-01-22 2010-07-22 Mcalear James A System, device and method for secure provision of key credential information
US8707043B2 (en) * 2009-03-03 2014-04-22 Riverbed Technology, Inc. Split termination of secure communication sessions with mutual certificate-based authentication
US8788824B2 (en) * 2009-08-13 2014-07-22 Verizon Patent And Licensing Inc. Selective encryption in broker-based messaging systems and methods
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
JP5604927B2 (en) * 2010-03-24 2014-10-15 富士通株式会社 Route control program, relay program, and data relay method
US9049025B1 (en) * 2011-06-20 2015-06-02 Cellco Partnership Method of decrypting encrypted information for unsecure phone
US9489488B2 (en) * 2011-09-23 2016-11-08 Roche Diabetes Care, Inc. Protocol independent interface supporting general communications interface debugging and testing tool
US20140237627A1 (en) * 2013-02-19 2014-08-21 Marble Security Protecting data in a mobile environment
US9525707B2 (en) * 2014-12-23 2016-12-20 Mcafee, Inc. Incident response tool using a data exchange layer system
US10599662B2 (en) 2015-06-26 2020-03-24 Mcafee, Llc Query engine for remote endpoint information retrieval
US10439952B1 (en) * 2016-07-07 2019-10-08 Cisco Technology, Inc. Providing source fairness on congested queues using random noise
KR101971995B1 (en) * 2017-08-29 2019-04-24 주식회사 수산아이앤티 Method for decryping secure sockets layer for security
CN111600855A (en) * 2020-04-30 2020-08-28 福州吉诺网络科技有限公司 Trailer rescue order information encryption method and system

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4823122A (en) 1984-06-01 1989-04-18 Digital Equipment Corporation Local area network for digital data processing system
WO1989002129A1 (en) 1987-09-04 1989-03-09 Digital Equipment Corporation Session control in network for digital data processing system which supports multiple transfer protocols
US5341477A (en) 1989-02-24 1994-08-23 Digital Equipment Corporation Broker for computer network server selection
CA2048306A1 (en) 1990-10-02 1992-04-03 Steven P. Miller Distributed configuration profile for computing system
US5446896A (en) 1990-12-17 1995-08-29 Next, Inc. Method and apparatus for inter-program communication
JPH0778776B2 (en) 1991-09-24 1995-08-23 インターナショナル・ビジネス・マシーンズ・コーポレイション Access method and network for distributed resource part
US5371852A (en) 1992-10-14 1994-12-06 International Business Machines Corporation Method and apparatus for making a cluster of computers appear as a single host on a network
US5329619A (en) 1992-10-30 1994-07-12 Software Ag Cooperative processing interface and communication broker for heterogeneous computing environments
US5544320A (en) 1993-01-08 1996-08-06 Konrad; Allan M. Remote information service access system based on a client-server-service model
US5444782A (en) * 1993-03-09 1995-08-22 Uunet Technologies, Inc. Computer network encryption/decryption device
CA2124379C (en) 1993-06-25 1998-10-27 Thomas F. La Porta Distributed processing architecture for control of broadband and narrowband communications networks
US5506984A (en) 1993-06-30 1996-04-09 Digital Equipment Corporation Method and system for data retrieval in a distributed system using linked location references on a plurality of nodes
US5548726A (en) 1993-12-17 1996-08-20 Taligeni, Inc. System for activating new service in client server network by reconfiguring the multilayer network protocol stack dynamically within the server node
FR2714746B1 (en) 1993-12-31 1996-02-02 Bull Sa Method for simulating a "server" architecture from a "client" architecture.
US6185619B1 (en) * 1996-12-09 2001-02-06 Genuity Inc. Method and apparatus for balancing the process load on network servers according to network and serve based policies
US5530758A (en) * 1994-06-03 1996-06-25 Motorola, Inc. Operational methods for a secure node in a computer network
US5708780A (en) 1995-06-07 1998-01-13 Open Market, Inc. Internet server access control and monitoring systems
US5751971A (en) 1995-07-12 1998-05-12 Cabletron Systems, Inc. Internet protocol (IP) work group routing
JP4160642B2 (en) * 1995-09-08 2008-10-01 株式会社日立製作所 Network data transfer method
US5757924A (en) * 1995-09-18 1998-05-26 Digital Secured Networks Techolognies, Inc. Network security device which performs MAC address translation without affecting the IP address
US5819020A (en) * 1995-10-16 1998-10-06 Network Specialists, Inc. Real time backup system
JP3196618B2 (en) * 1995-11-24 2001-08-06 株式会社日立製作所 Personal computer and communication system using the same
US5828847A (en) 1996-04-19 1998-10-27 Storage Technology Corporation Dynamic server switching for maximum server availability and load balancing
US5987140A (en) * 1996-04-26 1999-11-16 Verifone, Inc. System, method and article of manufacture for secure network electronic payment and credit collection
US5748897A (en) 1996-07-02 1998-05-05 Sun Microsystems, Inc. Apparatus and method for operating an aggregation of server computers using a dual-role proxy server computer
US5774660A (en) 1996-08-05 1998-06-30 Resonate, Inc. World-wide-web server with delayed resource-binding for resource-based load balancing on a distributed resource multi-node network
US6470389B1 (en) 1997-03-14 2002-10-22 Lucent Technologies Inc. Hosting a network service on a cluster of servers using a single-address image
US20010039615A1 (en) 1997-04-15 2001-11-08 At &T Corp. Methods and apparatus for providing a broker application server

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
None

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1227634A2 (en) * 2001-01-24 2002-07-31 Microsoft Corporation Establishing a secure connection with a private corporate network over a public network
EP1227634A3 (en) * 2001-01-24 2002-09-18 Microsoft Corporation Establishing a secure connection with a private corporate network over a public network
US7127742B2 (en) 2001-01-24 2006-10-24 Microsoft Corporation Establishing a secure connection with a private corporate network over a public network
WO2002096061A2 (en) * 2001-05-23 2002-11-28 Anonymex Secure electronic communication device
FR2825212A1 (en) * 2001-05-23 2002-11-29 Unlog SECURE ELECTRONIC COMMUNICATION DEVICE
WO2002096061A3 (en) * 2001-05-23 2003-03-13 Anonymex Secure electronic communication device
US7177874B2 (en) * 2003-01-16 2007-02-13 Jardin Cary A System and method for generating and processing results data in a distributed system
ITMI20100874A1 (en) * 2010-05-17 2011-11-18 Create Net Ct For Res And Telecommunicat METHOD AND SYSTEM FOR NETWORK VIRTUALIZATION
WO2011144538A1 (en) * 2010-05-17 2011-11-24 Associazione Create-Net Method and system for network virtualization
CN102972080A (en) * 2010-05-17 2013-03-13 创网协会公司 Method and system for network virtualization
CN102972080B (en) * 2010-05-17 2015-11-25 创网协会公司 For the method and system of network virtualization
WO2013093474A1 (en) * 2011-12-21 2013-06-27 Veritape Ltd Method and apparatus for mediating communications
US9887966B2 (en) 2011-12-21 2018-02-06 Eckoh UK Ltd. Method and apparatus for mediating communications
US10263963B2 (en) 2011-12-21 2019-04-16 Eckoh Uk Limited Method and apparatus for mediating communications
US20240037544A1 (en) * 2022-07-29 2024-02-01 Ncr Corporation Cloud-based transaction processing

Also Published As

Publication number Publication date
JP4245838B2 (en) 2009-04-02
EP2194580B1 (en) 2014-01-22
AU5440100A (en) 2001-01-22
EP1116367A2 (en) 2001-07-18
EP2194580A2 (en) 2010-06-09
JP2003504714A (en) 2003-02-04
US6681327B1 (en) 2004-01-20
CA2341869A1 (en) 2001-01-11
DE60043879D1 (en) 2010-04-08
EP1116367B1 (en) 2010-02-24
EP2194580A3 (en) 2010-09-01
WO2001002935A3 (en) 2001-05-03

Similar Documents

Publication Publication Date Title
US6681327B1 (en) Method and system for managing secure client-server transactions
US6643701B1 (en) Method and apparatus for providing secure communication with a relay in a network
JP5744172B2 (en) Proxy SSL handoff via intermediate stream renegotiation
US20050210243A1 (en) System and method for improving client response times using an integrated security and packet optimization framework
US8020201B2 (en) Selecting a security format conversion for wired and wireless devices
EP2561663B1 (en) Server and method for providing secured access to services
US8090874B2 (en) Systems and methods for maintaining a client&#39;s network connection thru a change in network identifier
US7873829B2 (en) Offload processing for secure data transfer
US7246233B2 (en) Policy-driven kernel-based security implementation
JP4959750B2 (en) Dynamic connection to multiple origin servers with transcoding proxy
US7441119B2 (en) Offload processing for secure data transfer
US20030105977A1 (en) Offload processing for secure data transfer
US7043632B2 (en) End-to-end security in data networks
US20030014650A1 (en) Load balancing secure sockets layer accelerator
US20030191932A1 (en) ISCSI target offload administrator
US20030105952A1 (en) Offload processing for security session establishment and control
KR20060062356A (en) Apparatus and method for processing of ssl proxy on ggsn
CN108809888B (en) Safety network construction method and system based on safety module
Crall et al. Ssl/tls in windows server 2003
Gin Building a Secure Short Duration Transaction Network

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ CZ DE DE DK DK DM DZ EE EE ES FI FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR 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 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

ENP Entry into the national phase

Ref document number: 2341869

Country of ref document: CA

Ref country code: CA

Ref document number: 2341869

Kind code of ref document: A

Format of ref document f/p: F

ENP Entry into the national phase

Ref country code: JP

Ref document number: 2001 508673

Kind code of ref document: A

Format of ref document f/p: F

WWE Wipo information: entry into national phase

Ref document number: 2000939295

Country of ref document: EP

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 AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ CZ DE DE DK DK DM DZ EE EE ES FI FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR 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 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

WWP Wipo information: published in national office

Ref document number: 2000939295

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642