The present invention relates to methods and apparatus for communicating data and, more particularly, to methods and systems for processing information that is secured in transit between communicating computers utilizing a security protocol.
Computer networks are used today to carry sensitive or confidential information of many types. Banking and financial data, credit card numbers, and proprietary corporate documents are just a few examples. As this information is transmitted over private or public networks including the Internet, specific measures should be taken to protect it from unauthorized access.
In addressing this need, a number of security protocols, or suites of protocols, have been adopted in recent years to protect information when it is in transit between computers. The goals of these security protocols include:
Several secure protocol suites are in widespread use today. While they are similar in that they strive to meet one or more of the goals outlined above, these protocols vary with respect to the type of traffic they handle, their intended use, and their placement within the Open Systems Interconnection (OSI) reference model. Examples of secure protocol suites include:
Because security protocols are designed to protect information in transit over computer networks by preventing unauthorized eavesdropping and malicious attacks, they naturally have the effect of inhibiting the processing of the traffic for beneficial purposes by intermediate devices within the network. More specifically, today's computer networks, especially those within government or corporate enterprise environments, typically utilize devices that improve the performance or management of applications running over the network. These devices often sit in the network path between communicating computers and inspect and process information contained in the transmitted traffic. Examples of the processing performed by these intermediate network devices are:
In the case where one or more security protocols are employed between the communicating computers, such intermediate devices may not have access to information contained in the transmitted traffic because of encryption employed by a security protocol. This fundamentally reduces or eliminates the ability of an intermediate device to carry out one or more of its designated tasks. Furthermore, because these protocols are designed to prevent ‘man-in-the-middle’ attacks, even in cases where encryption is not used, other mechanisms such as message authentication or ‘signing’ prevent the intermediate devices from manipulating traffic in ways that could otherwise improve application performance. For instance, message spoofing to mitigate against long network latencies would be prevented by the adoption of a security protocol that uses message signing.
Another concern with security protocols is the added processing burden they impose on the communicating computers themselves. In most all cases, these protocols utilize cryptographic ciphers or other complex mathematical computations to carry out authentication, to encrypt and decrypt data, and to generate cryptographic signatures. The computational load these steps impose on computers can significantly reduce their performance. This is especially true for servers that carry out secure communications with many other computers simultaneously.
The present invention addresses the need of intermediate network devices that perform beneficial functions such as acceleration, traffic management and monitoring, content filtering, and the like, to gain access to clear text information and to manipulate traffic flows between communicating computers that utilize secure protocols. More specifically, the invention teaches methods and systems by which an intermediate network device can perform one or more of authentication, encryption and decryption, message signing, anti-reply, and the like, as required by a specific security protocol, without having benefit of persistent security credentials otherwise required for this processing. By employing embodiments of the invention in an intermediate network device performing one or more beneficial functions, it is possible to realize the effects of the beneficial functions even in environments where security protocols are employed between communicating computers. Embodiments of the invention have the following advantageous properties:
In one aspect, the present invention relates to a method of communicating data between first and second computers located remotely from each other. A security proxy and a credentials manager comprising a database and a facility for deriving transitory credentials is provided. A secure communications session between the first computer and the security proxy is established, utilizing communications between the security proxy and the credentials manager. A communications session is then conducted between the first and second computers via the security proxy.
The security proxy may process secured traffic from the first computer and forward the traffic to the second computer. The security proxy may process the secured traffic with or without further involvement from the credentials manager. The processing may include authentication, decryption, or anti-replay. In one embodiment, the security proxy processes unsecured traffic from the second computer and processes it into secured traffic, which is then forwarded to the first computer. The security proxy may process unsecured traffic into secured traffic with or without further involvement from the credentials manager and the processing may include authentication, encryption, or anti-replay.
In some embodiments, the security proxy is located with the first computer. In another embodiment, the facility for deriving transitory credentials utilizes persistent credentials, which may be derived via communication with an authentication service. The persistent credentials may be stored in a database. In other embodiments, the credentials manager performs all operations using the persistent credentials (e.g., passwords, private keys, or other secret information known by the second computer) so as to exclude the first computer and the security proxy from access thereto.
In still another embodiment, the method includes causing the security proxy to establish and maintain the secure connection with the first computer. This may further include authentication, session key derivation, encryption and decryption, or anti-replay with respect to the traffic communicated over the secure connection. The transmitted traffic may undergo acceleration, traffic management and monitoring, and content filtering, the facilities for which may be co-located with both the first and second computer.
In another aspect, the present invention relates to another method of communicating data between first and second computers located remotely from each other. The method includes providing first and second security proxies, and a credentials manager comprising a database and a facility for deriving transitory credentials. The method further includes establishing a secure communications session between the first computer and the first security proxy, utilizing communications between the first security proxy and the credentials manager. The method also includes establishing a secure communication session between the second computer and the second security proxy, utilizing communications between the second security proxy and the credentials manager. Finally, the method includes conducting a communications session between the first and second computers via the first and second security proxies.
In some embodiments, the security proxy may process secured traffic from the first computer and forward the traffic to the second computer via the second security proxy with or without further involvement from the credentials manager. In other embodiments, the first security proxy may process unsecured traffic originating from the second computer from the second security proxy, and process it into secured traffic which is forwarded to the first computer, with or without further involvement from the credentials manager. The second security proxy may process secured traffic from the second computer and forward the traffic to the first computer via the first security proxy, with or without further involvement from the credentials manager. The second security proxy may also process unsecured traffic originating from the first computer from the first security proxy and process it into secured traffic which is forwarded to the second computer. The second security proxy may process the unsecured traffic into secured traffic without further involvement from the credentials manager. In all these embodiments, the processing may include steps of authentication, decryption, and anti-replay.
In other embodiments, the first security proxy is co-located with the first computer and the second security proxy is co-located with the second computer. The facility for deriving transitory credentials may utilize persistent credentials, where the persistent credentials may be derived via communication with an authentication service and may be stored in a database. Moreover, the persistent credentials may be passwords, private keys, and other secret information known by the second computer, and the credential manager may perform all operations using the persistent credentials so as to exclude the first computer and the first security proxy from access to them. Likewise, the persistent credentials may be passwords, private keys, and other secret information known by the first computer, and the credential manager may perform all operations using the persistent credentials so as to exclude the second computer and the second security proxy from access to them.
The method may comprise causing the first security proxy to establish and maintain the secure connection with the first computer, and further comprise of authentication, session key derivation, encryption and decryption, and anti-replay with respect to traffic communicated over the secure connection. In some embodiments, the second security proxy may establish and maintain the secure connection with the second computer, and comprise authentication, session key derivation, encryption and decryption, or anti-replay with respect to the traffic communicated over the secure connection. In both these embodiments, the transmitted traffic may undergo acceleration, traffic management and monitoring and content filtering.
In yet another aspect, the present invention relates to a system for the processing of data communicated between first and second computers located remotely from each other. The system includes a security proxy and a credentials manager comprising a database and a facility for deriving transitory credentials. The system also includes a secure communications session established between the first computer and the security proxy which utilizes communications between the security proxy and the credentials manager. The system also includes a communications session conducted between the first and second computers via the security proxy.
In some embodiments, the communications between the security proxy and the credentials manager may be via a secure channel between the two. The secure communications session between the first computer and the security proxy may be performed using IPsec, SSL, TLS, SMB signing or WSS. Moreover, the authentication steps performed between the first computer and the security proxy may use PKI certificates, NTLM challenge/responses, Kerberos tickets or shared secrets.
In a final aspect, the present invention relates to a system for the processing of data communicated between first and second computers located remotely from each other which includes first and second security proxies and a credentials manager comprising a database and a facility for deriving transitory credentials. The system further includes a secure communications session established between the first computer and the first security proxy which utilizes communications between the first security proxy and the credentials manager. The system also includes a secure communications session conducted between the second computer and the second security proxy which utilizes communications between the second security proxy and the credentials manager as well as a communications session conducted between the first and second computers via the first and second security proxies.
The communications between the first security proxy and the credential manager and the communications between the second security proxy and the credential manager may be via a secure channel between the two. Also, the secure communication session between the first computer and the first security proxy and the secure communications session between the second computer and the second security proxy may be performed using IPsec, SSL, TLS, SMB signing or WSS. Moreover, authentication steps performed between the first computer and the first security proxy and between the second computer and the second security proxy may be use PKI certificates, NTLM challenge/responses, Kerberos tickets or shared secrets. In some embodiments, traffic is exchanged between the first and second security proxies via a secure channel between the two.
The foregoing and other objects, features, and advantages of the present invention, as well as the invention itself, will be more fully understood when read together with the accompanying drawings, in which:
In the drawings, like reference characters generally refer to corresponding parts throughout the different views. The drawings are not necessarily to scale, emphasis instead being placed on the principles and concepts of the invention.
Embodiments of the present invention typically utilize one or more of the following elements:
Referring to
CM 112 utilizes the information received from SP1108, in combination with persistent credentials specific to CC2104 contained in its credentials database, to derive transitory credentials on behalf of SP1108. Optionally, CM 112 may communicate with the authentication service (AS) 116 utilizing an authentication protocol along path 3 to retrieve such persistent credentials, which may be subsequently stored in its credentials database.
CM 112 then returns the transitory credentials to SP1108 along path 2. SP1108 utilizes the transitory credentials to derive one or more session keys as required to establish and maintain the secure connection with CC1100. SP1108 further communicates with CC1100 over path 1 to complete session establishment and to transfer data.
Still referring to
In a second case, SP1108 relays transmitted data between CC1100 and a first traffic processor (TP1) 120 along path 5. TP1120 in turn establishes a non-secure connection with CC2104 on behalf of CC1100 along path 6. Subsequent to establishing this connection, TP1120 relays data between SP1108 and CC2104. In conjunction with this, TP1120 may perform certain beneficial processing of the relayed data such as acceleration, traffic management and monitoring, content filtering, and the like.
In a third case, SP1108 relays transmitted data between CC1100 and TP1120 along path 5, TP1120 in turn relaying transmitted data between SP1108 and a second traffic processor (TP2) 124 along path 7. TP2124 in turn establishes a non-secure connection with CC2104 on behalf of CC1100 along path 8. Subsequent to establishing this connection, TP2124 relays data between TP1120 and CC2104. In conjunction with this, TP1120 and TP2124 may perform certain beneficial processing of the relayed data such as acceleration, traffic management and monitoring, content filtering, and the like.
In a fourth case, SP1108 communicates with a second security proxy (SP2) 128 over path 9 in order to have SP2128 initiate a secure connection with CC2104 over path 11 on behalf of CC1100. In order for SP2128 to negotiate the security protocol on behalf of CC1100, SP2128 likewise requires certain transitory credentials which can be derived by utilizing persistent credentials specific to CC1100. To obtain these transitory credentials, the SP2128 sends to CM 112, along path 10, certain information it derives during the establishment of the secure connection with CC2104. CM 112 likewise utilizes the information received from SP2128, in combination with persistent credentials specific to CC1100 contained in its credentials database, to derive transitory credentials on behalf of SP2128.
Optionally, CM 112 may communicate with the authentication service (AS) 116 utilizing an authentication protocol along path 3 to retrieve such persistent credentials, which may be subsequently stored in its credentials database. CM 112 returns the transitory credentials to SP2128 along path 10. SP2128 utilizes the transitory credentials to derive one or more session keys as required to establish and maintain the secure connection with CC2104. SP2128 further communicates with CC2104 over path 11 to complete session establishment and to transfer data. Transmitted data between CC1100 and CC2104 is relayed via SP1108 and SP2128 along paths 1, 9, and 11; or optionally via SP1108, TP1120, TP2124, and SP2128 along paths 1, 5, 7, 12, and 11, with TP1120 and TP2124 performing certain beneficial processing of the relayed data such as acceleration, traffic management and monitoring, content filtering, and the like.
Referring to
Referring to
Referring to
Referring to
Certain embodiments and configurations of the present invention were described above. It is, however, expressly noted that the present invention is not limited to those embodiments, but rather the intention is that additions and modifications to what was expressly described herein are also included within the scope of the invention. Moreover, it is to be understood that the features of the various embodiments described herein are not mutually exclusive and can exist in various combinations and permutations, even if such combinations or permutations were not made express herein, without departing from the spirit and scope of the invention. In fact, variations, modifications, and other implementations of what was described herein will occur to those of ordinary skill in the art without departing from the spirit and the scope of the invention. As such, the invention is not to be defined only by the preceding illustrative description but instead by the scope of the claims.
This application claims the benefit of U.S. Provisional Patent Application No. 60/922,518, filed on Apr. 9, 2007, which is hereby incorporated by reference as if set forth herein in its entirety.
| Number | Date | Country | |
|---|---|---|---|
| 60922518 | Apr 2007 | US |