The disclosed subject matter relates to the field of computer network communications, and more particularly to methods and systems providing encrypted group network communication with point-to-point privacy.
A portion of the disclosure of this patent document contains material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyright rights whatsoever. The following notice applies to the software and data as described below and in the drawings that form a part of this document: Copyright 2006 Cisco Systems, Inc. All Rights Reserved.
A Virtual Private Network (VPN) is a logical network that uses insecure public telecommunications, such as the Internet, to provide secure communications to members of the VPN. A VPN seeks to provide the security associated with dedicated communication lines but without requiring the necessary hardware and at a fraction of the cost, which is typically associated with dedicated communication lines.
A VPN works by using shared public infrastructure while simultaneously maintaining privacy through agreed upon security procedures and protocols. Essentially, a VPN uses custom encryption to encrypt messages communicated via the VPN. The encryption and decryption of messages rely upon keys that are securely held by participants of the VPN.
Dynamic Group VPN (DGVPN) is an enhancement of the virtual private network configuration process of conventional network routers. DGVPN prevents the need for pre-configured (static) IPsec peers in the network. IPsec (IP security) is a standard for securing Internet Protocol (IP) communications by encrypting and/or authenticating all IP packets communicated among the network peers. IPsec provides security at the network layer. The DGVPN functionality of conventional network routers allows greater scalability over previous IPsec configurations. All traffic between protected areas is encrypted by the secure gateway as it leaves one secure area, and decrypted by another secure gateway as it enters another. This eliminates the need for a hub to route data between secure gateway networks, as was common in a non-fully meshed frame relay topology.
In DGVPN, network traffic can traverse from one secure gateway to another. In order for the various secure gateways to be able to encrypt and decrypt the traffic, there is a centralized key server that generates the IPSec keys, and distributes them to the various secure gateways. Because all secure gateways have the same keys, this eliminates the overhead of establishing individual links between pairs of secure gateways.
Unfortunately, because the key server distributes the same keys to all security gateways, data packets sent to a secure gateway group can be accessed and deciphered by any secure gateway in the group. In many circumstances, it is desirable to maintain point-to-point privacy and not allow access to data packets by all members of a group. But, it is also desirable to not be required to incur the overhead of establishing individual links between each secure gateway. Conventional VPN solutions have not been able to provide such privacy in an encrypted group network configuration.
Thus, a system and method for ensuring privacy in point-to-point encrypted group network communication is needed.
a and 6b show an exemplary computer system in which the features of an example embodiment may be implemented.
In the following detailed description, reference is made to the accompanying drawings that form a part hereof, and in which are shown by way of illustration, specific embodiments in which the disclosed subject matter can be practiced. It is understood that other embodiments may be utilized and structural changes may be made without departing from the scope of the disclosed subject matter. The leading digit(s) of reference numbers appearing in the Figures generally corresponds to the Figure number in which that component is first introduced, such that the same reference number is used throughout to refer to an identical component which appears in multiple Figures. Signals and connections may be referred to by the same reference number or label, and the actual meaning will be clear from its use in the context of the description.
As described further below, according to various example embodiments of the disclosed subject matter described herein, there is provided a system and method for ensuring privacy in point-to-point encrypted group network communication.
A DGVPN secure gateway is typically configured with one or more key server IP addresses. DGVPN key server IP addresses are typically static, such as at a corporate headquarters. The secure gateway router is configured with the key server's IP address, allowing the secure gateway to connect with the key server when online. The key server does not need to be configured with the IP addresses of the secure gateway routers. This allows many secure gateway VPN routers to be deployed without the need to configure additional peers on the hub(s). In the past, the configuration of the hub grew whenever a secure gateway VPN router was added to the IPsec network.
Security gateways can be used to protect a connected subnet from unauthorized access through an unprotected network to which the security gateway may be connected. Conventional group keying protocols can be used to dynamically create encrypted security gateway groupings, where the same encryption keys are used to encrypt the traffic independent of which security gateway is to perform the encryption or the decryption. Group keying protocols can be efficient in that it is not necessary to maintain separate point-to-point keying connections between each security gateway in the group. However, conventional group keying protocols allow any security gateway in a group to access and decipher data packets sent to any security gateway in the group. It is often undesirable to allow such group access to encrypted data packets. As will be described in more detail below, various embodiments described herein provide systems and methods to retain the benefits of secure gateway groupings without requiring the additional overhead of maintaining separate point-to-point keying connections between each secure gateway in the group.
Various embodiments described herein use a Tate pairing as a cryptographic methodology. Elliptic curves are considered useful for the implementation of common cryptographic protocols. The main advantage is that much smaller keys can be used, as there is no known polynomial-time algorithm for the discrete logarithm problem for the great majority of such curves. Tate pairing operates on a pair of points related to an elliptic curve. One important property of the Tate pairing is bilinearity. Using Tate pairing, a function can be defined that will compute an encryption key from a pair of values; the same function also being useful for computing a decryption key from a related pair of values. These methods can be used in various embodiments herein to generate an encryption/decryption key from a pair of identity values, one identity value being a public identity and the other identity value of the pair being a private identity. In the description that follows, these identities are denoted as a public identity or private identity. The public identity will be a value that is publicly available about the security gateway, such as the description of the traffic it protects. The private identity will be a value that is computed by the key server, and is shared only by the key server and the specific security gateway. It will be apparent to those of ordinary skill in the art that other equivalent cryptographic methodologies may also be employed.
Referring to
In an initialization phase, the key server 105 selects a security parameter for the secure gateway group. The security parameter is used, as described below, to create encryption keys for private data transfer between any two members of the secure gateway group. The selection of a particular security parameter can be accomplished using conventional cryptographic processes. As will be described below, given any public identity (e.g. a public identity of a secure gateway), key server 105 can construct the corresponding private identity (e.g. a private identity of the same secure gateway). This public identity may be an IP address, a description of the protected data traffic, and the like. In the various embodiments described herein, each secure gateway has an associated unique public identity and a corresponding private identity.
Also as part of an initialization phase, a member of the secure gateway group (e.g. a secure gateway) identifies itself to key server 105. After the key server 105 confirms that the secure gateway identifying itself to the key server 105 is authorized to protect a set of data traffic, key server 105 will send a private identity corresponding to that protected data traffic to the secure gateway.
When a secure gateway receives data traffic that the secure gateway needs to protect, the secure gateway will generate an encryption key. To generate the encryption key, the secure gateway uses the private identity of the source of the traffic, which the secure gateway has if it is authorized to protect the traffic. The secure gateway also uses the public identity of the destination secure gateway of the traffic. The secure gateway protecting the traffic uses the private identity of the source of the traffic and the public identity of the destination of the traffic to generate an encryption key. The encryption key is used to encrypt the traffic to be protected. It will be apparent to those of ordinary skill in the art that the generated encryption key can also be used to check the integrity of the data traffic as well as encrypting the traffic.
When a secure gateway receives encrypted traffic that the secure gateway needs to decipher, the secure gateway will generate a decryption key. To generate the decryption key, the secure gateway uses the private identity of the destination of the traffic, which the secure gateway has if it is authorized to protect the traffic. The secure gateway also uses the public identity of the source secure gateway of the traffic. The secure gateway deciphering the traffic uses the private identity of the destination of the traffic and the public identity of the source of the traffic to generate a decryption key. The decryption key is used to decrypt and validate the traffic to be deciphered. It will be apparent to those of ordinary skill in the art that the generated decryption key can also be used to check the integrity of the data traffic as well as decrypting the traffic.
In accordance with the various embodiments described herein, each secure gateway 110, 120, and 130 of a secure gateway group initially registers itself with key server 105. When a secure gateway registers with the key server 105, the secure gateway registers its group member (GM) public identity with key server 105. In addition, each registering secure gateway provides proof of its identity using a digital certificate or the like. The proof of identity ensures that a group member cannot register under the identity of a different group member. For example, when secure gateway 110 registers with key server 105, secure gateway 110 provides its own public identity and proof of identity to the key server 105. The key server 105 can compute a private identity for the registering GM using the public identity of the GM and the initially-selected security parameter for the secure gateway group. Using a conventional cryptographic function (denoted F1), the key server 105 computes a private identity for the registering GM using the public identity of the GM and the initially-selected security parameter for the secure gateway group. The key server 105 then transmits the private identity to the registering GM in a secure manner.
Referring again to
When the receiver secure gateway 120 receives an encrypted data packet for which the receiver secure gateway 120 has not created a decryption key for the sender secure gateway 110, the receiver secure gateway computes a decryption key for the received traffic. To accomplish this, the receiver secure gateway 120 uses a conventional cryptographic function (denoted F2) to combine its own GM private identity with the GM public identity of the sender secure gateway 110 to form decryption keys. Next, the receiver secure gateway 120 uses that set of decryption keys to decrypt the data traffic received via link 115 from the sender secure gateway 110. The receiver secure gateway 120 can then use the decrypted data packet. Because the encryption keys and the decryption keys are computed from the same related identity pairs, the decryption keys can be used to produce a valid decryption of the data encrypted with the encryption keys created by the sender secure gateway 110. The receiver secure gateway 120 can then decrypt the data packet sent from the sender secure gateway 110 via the link 115.
The embodiments described herein provide an advantage over conventional DGVPN and group keying protocols in that other security gateways are unable to intercept and decipher the encrypted data packets. No other members of a secure gateway group can decipher the data. In the example described above, secure gateway 130 is not able to intercept and decipher the encrypted data packets sent between secure gateway 110 and 120. Thus, unlike conventional group keying protocols, the embodiments described herein provide an improved level of network security. Further, the embodiments described herein provide the additional advantage over other methods that provide point-to-point privacy in that a secure gateway can discard a dynamically created point-to-point link at any time without even notifying other secure gateways. This feature of the various embodiments also improves network efficiency and speed. If necessary, the point-to-point link can be dynamically re-created without introducing significant network latency.
Referring now to
GM_Priv_ID=F1(GM_Public_ID, Security_Parameter)
Using a cryptographic function (denoted F1), the key server 105 computes a private identity for the registering GM using the public identity of the GM (GM_Public_ID) and the initially-selected security parameter for the secure gateway group. In processing block 316, the key server 105 sends the computed GM private identity (GM_Priv_ID) to the registering GM in a secure manner. The GM retains the GM_Priv_ID for generation of encryption/decryption keys as described below. Initialization according to one embodiment then terminates at the end bubble illustrated in
Referring to
In decision block 351, if the sender secure gateway determines that an encryption key for the receiver (i.e. destination) secure gateway has not been generated, processing control passes from decision block 351 on the “No” path to processing block 352. In this case, it will be necessary for the sender secure gateway to create an encryption key for this receiver GM. In processing block 352, the sender secure gateway computes an encryption key (EK) from the sender secure gateway private identity and the receiver secure gateway public identity. Using a cryptographic function (denoted F2), the encryption key (EK) for the sender secure gateway is generated by the sender secure gateway as provided in the following equation:
EK=F2(Sender_GM_Private_ID, Receiver_GM_Public_ID)
In processing block 354, the sender secure gateway uses the computed encryption key (EK) to encrypt data for the receiver secure gateway. The encrypted data can then be sent directly from the sender secure gateway to the receiver secure gateway via the link 115 in processing block 356. Because only the sender secure gateway and the receiver secure gateway (and the key server) are privy to the public and private identities of the sender secure gateway and the receiver secure gateway, only the sender secure gateway and the receiver secure gateway (and the key server) can access and decipher the encrypted data sent via the link 115. Processing for the sender secure gateway then terminates at the end bubble illustrated in
Referring to
In decision block 451, if the receiver secure gateway determines that a decryption key for the sender secure gateway has not been generated, processing control passes from decision block 451 on the “No” path to processing block 452. In this case, it will be necessary for the receiver secure gateway to create a decryption key for this sender GM. In processing block 452, the receiver secure gateway computes a decryption key (DK) from the receiver secure gateway private identity and the sender secure gateway public identity. Using a cryptographic function (denoted F2), the decryption key (DK) for the receiver secure gateway is generated by the receiver secure gateway as provided in the following equation:
DK=F2(Receiver_GM_Private_ID, Sender_GM_Public_ID)
In processing block 454, the receiver secure gateway uses the computed decryption key (DK) to decrypt data received from the sender secure gateway via the link 115. The decrypted data can then be used by the receiver secure gateway in processing block 456. Because only the sender secure gateway and the receiver secure gateway (and the key server) are privy to the public and private identities of the sender secure gateway and the receiver secure gateway, only the sender secure gateway and the receiver secure gateway (and the key server) can access and decipher the encrypted data sent via the link 115. Processing for the receiver secure gateway then terminates at the end bubble illustrated in
Referring now to
Using one of a variety of network connection means, server computer 250 can communicate with client computers 280 using conventional means. In a particular implementation of this network configuration, a server computer 250 may operate as a web server if the Internet's World-Wide Web (WWW) is used for wide area network 260. Using the HTTP protocol and the HTML coding language across wide-area network 260, web server 250 may communicate across the World-Wide Web with clients 280. In this configuration, clients 280 use a client application program known as a web browser such as the Internet Explorer™ published by Microsoft Corporation of Redmond, Wash., the user interface of America On-Line™, or the web browser or HTML renderer of any other supplier. Using such conventional browsers and the World-Wide Web, clients 280 may access image, graphical, and textual data provided by web server 250 or they may run Web application software. Conventional means exist by which clients 280 may supply information to web server 250 through the World Wide Web 260 and the web server 250 may return processed data to clients 280.
Having briefly described one embodiment of the network environment in which an example embodiment may operate,
An optional data storage device 228 such as a magnetic disk or optical disk and its corresponding drive may also be coupled to computer system 200 for storing information and instructions. Computer system 200 can also be coupled via bus 216 to a display device 204, such as a cathode ray tube (CRT) or a liquid crystal display (LCD), for displaying information to a computer user. For example, image, textual, video, or graphical depictions of information may be presented to the user on display device 204. Typically, an alphanumeric input device 208, including alphanumeric and other keys is coupled to bus 216 for communicating information and/or command selections to processor 220. Another type of user input device is cursor control device 206, such as a conventional mouse, trackball, or other type of cursor direction keys for communicating direction information and command selection to processor 220 and for controlling cursor movement on display device 204.
Alternatively, the client 280 can be implemented as a network computer or thin client device. Client 280 may also be a laptop or palm-top computing device, such as the Palm Pilot™. Client 280 could also be implemented in a robust cellular telephone, where such devices are currently being used with Internet micro-browsers. Such a network computer or thin client device does not necessarily include all of the devices and features of the above-described exemplary computer system; however, the functionality of an example embodiment or a subset thereof may nevertheless be implemented with such devices.
A communication device 226 is also coupled to bus 216 for accessing remote computers or servers, such as web server 250, or other servers via the Internet, for example. The communication device 226 may include a modem, a network interface card, or other well-known interface devices, such as those used for interfacing with Ethernet, Token-ring, or other types of networks. In any event, in this manner, the computer system 200 may be coupled to a number of servers 250 via a conventional network infrastructure such as the infrastructure illustrated in
The system of an example embodiment includes software, information processing hardware, and various processing steps, which are described above. The features and process steps of example embodiments may be embodied in machine or computer executable instructions. The instructions can be used to cause a general purpose or special purpose processor, which is programmed with the instructions to perform the steps of an example embodiment. Alternatively, the features or steps may be performed by specific hardware components that contain hard-wired logic for performing the steps, or by any combination of programmed computer components and custom hardware components. While embodiments are described with reference to the Internet, the method and apparatus described herein is equally applicable to other network infrastructures or other data communications systems.
Various embodiments are described. In particular, the use of embodiments with various types and formats of data structures may be described. It will be apparent to those of ordinary skill in the art that alternative embodiments of the implementations described herein can be employed and still fall within the scope of the claimed invention. In the detail herein, various embodiments are described as implemented in computer-implemented processing logic denoted sometimes herein as the “Software”. As described above, however, the claimed invention is not limited to a purely software implementation.
The software and/or data described herein may further be transmitted or received over a network 260 via the communication device 226 utilizing any one of a number of well-known transfer protocols, for example, the hyper text transfer protocol (HTTP). While the machine-readable medium 212 is shown in an example embodiment to be a single medium, the term “machine-readable medium” as an article of manufacture should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term “machine-readable medium” shall also be taken to include any medium that is capable of storing, encoding, or carrying a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the disclosed subject matter, or that is capable of storing, encoding, or carrying data structures utilized by or associated with such a set of instructions. The term “machine-readable medium” shall accordingly be taken to include, but not be limited to, solid-state memories, optical and magnetic media, and carrier wave signals.
Although the present specification describes components and functions implemented in the embodiments with reference to particular standards and protocols, the disclosed subject matter may be not limited to such standards and protocols. Each of the standards for Internet and other packet switched network transmission (e.g., TCP/IP, UDP/IP, HTML, and HTTP) represent examples of the state of the art. Such standards are periodically superseded by faster or more efficient equivalents having essentially the same functions. Accordingly, replacement standards and protocols having the same functions are considered equivalents.
Thus, as described above, a system and method for ensuring privacy in point-to-point encrypted group network communication is disclosed. Although the disclosed subject matter has been described with reference to several example embodiments, it may be understood that the words that have been used are words of description and illustration, rather than words of limitation. Changes may be made within the purview of the appended claims, as presently stated and as amended, without departing from the scope and spirit of the disclosed subject matter in all its aspects. Although the disclosed subject matter has been described with reference to particular means, materials, and embodiments, the disclosed subject matter is not intended to be limited to the particulars disclosed; rather, the subject matter extends to all functionally equivalent structures, methods, and uses such as are within the scope of the appended claims.
This patent application is related to U.S. patent application Ser. No. ______, entitled, “SYSTEM AND METHOD FOR PROTECTED SPOKE TO SPOKE COMMUNICATION USING AN UNPROTECTED COMPUTER NETWORK”, filed on ______, and assigned to Cisco Technology, Inc.