US20130290704A1 - Automated operation and security system for virtual private networks - Google Patents
Automated operation and security system for virtual private networks Download PDFInfo
- Publication number
- US20130290704A1 US20130290704A1 US13/930,927 US201313930927A US2013290704A1 US 20130290704 A1 US20130290704 A1 US 20130290704A1 US 201313930927 A US201313930927 A US 201313930927A US 2013290704 A1 US2013290704 A1 US 2013290704A1
- Authority
- US
- United States
- Prior art keywords
- communication
- node device
- node
- devices
- edge
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
- 238000004519 manufacturing process Methods 0.000 claims description 39
- 238000000034 method Methods 0.000 claims description 30
- 238000003860 storage Methods 0.000 claims description 8
- 238000004891 communication Methods 0.000 abstract description 163
- 230000005641 tunneling Effects 0.000 abstract description 19
- 230000008878 coupling Effects 0.000 abstract description 6
- 238000010168 coupling process Methods 0.000 abstract description 6
- 238000005859 coupling reaction Methods 0.000 abstract description 6
- 238000013500 data storage Methods 0.000 abstract description 6
- 238000007726 management method Methods 0.000 description 82
- 238000010586 diagram Methods 0.000 description 12
- 230000008901 benefit Effects 0.000 description 6
- 238000013459 approach Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000005304 joining Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005204 segregation Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0272—Virtual private networks
Definitions
- This invention relates to establishing and operating virtual private data networks.
- VPNs leverage the flexibility and cost advantages of the Internet by passing information over the Internet, or other shared Internet Protocol (IP) network, in a secure manner.
- IP Internet Protocol
- VPNs enable enterprises to securely bridge geographically separated computers or local networks over the Internet as an alternative to using expensive, leased-line networks and other remote-access solutions.
- Internet Service Providers ISPs
- ISPs Internet Service Providers
- VPNs Businesses, recognizing the benefits of VPNs, employ VPNs to support a wide variety of connectivity needs including remote dial-up access for telecommuters and mobile users, private line augmentation and replacement of existing leased-line and frame relay networks, extranet networking for secure and controlled wide area access to corporate information resources by their business partners, and segmented intranet networking for secure partitioning of internal traffic across both the wide area and the local area.
- L2TP Layer 2 Tunneling Protocol
- PPTP Point to Point Tunneling Protocol
- the IETF has also published a series of Internet Drafts intended to address the standardization of a key management protocol by which IPSec devices negotiate their security associations and keying material.
- the original name for this key management scheme was called ISAKMP/OAKLEY; the more current name is the Internet Key Exchange (IKE).
- a node device provides secure communication services over a data network, such as the Internet or another public or private packet-switched network, to multiple computers that are coupled through the node device and multiple other node devices.
- the node device includes a network communication interface for coupling the node device to the data network.
- the network communication interface is an Ethernet interface that is coupled to a cable modem or a digital subscriber loop (DSL) modem or a serial interface coupled to a telephone modem for communicating with an Internet service provider.
- the node device is, for example, an edge device located at a customer premises or at an Internet POP, a network device located at an intermediate point in the Internet, or can be implemented in software on a computer at the customer premises.
- the node device includes a data storage containing cryptographic information including information that is private to the node device.
- the information that is private to the node device can include a private key of a public/private key pair known only to the node device, and can further include a certificate, such as a X.509 format certificate, which includes a public key of the public/private key pair.
- the node device also includes a tunneling communication service coupled to the network interface and is configured to maintain an encrypted communication tunnel with each of the multiple other node devices using the cryptographic information. For example, the encrypted communication tunnels are implemented using the IPsec or PPTP protocols.
- the node device further includes a routing database for holding routing data and a router coupled to the tunneling communication service and to the routing database.
- the router is configured to accept communication from a first of the computers that includes an address of a second of the computers, to select one of the other node devices based on the address of the second computer and the routing data, and to pass the communication through the encrypted communication tunnel to the selected node device.
- the node device can include one or more of the following features:
- the router accepts the communication from the first of the computers from the tunneling communication service after that communication is received by the tunneling communication service through one of the encrypted tunnels to the other node device.
- the node device further includes a management module configured to communicate with a server over the data network, to use the information in the data storage that is private to the node device for authentication with the server, and to accept cryptographic information from the server for storing in the data storage for use by the tunneling communication service in maintaining the encrypted tunnels.
- a management module configured to communicate with a server over the data network, to use the information in the data storage that is private to the node device for authentication with the server, and to accept cryptographic information from the server for storing in the data storage for use by the tunneling communication service in maintaining the encrypted tunnels.
- the management module is configured to receive communication policy information from the server, for example information that the node device uses to limit or prioritize communication between node devices.
- the node device further includes a local communication interface, such as an Ethernet interface, coupling the node device to the first of the computers.
- the router accepts the communication from the first of the computers through the local communication interface.
- the node device further includes a communication agent coupled to the local communication interface configured to accept a broadcast communication from the first of the computers. That broadcast communication is addressed to a multiple of other devices, for example being a message broadcast according to the BOOTP or DCHP protocol, or another type of request for configuration data from the first local computer.
- the communication agent is configured to forward the communication over one or more of the encrypted communication tunnels to the other node devices.
- the communication agent can select one or more of the encrypted communication tunnels prior to forwarding the communication. For example, a DCHP message can be forwarded over a single tunnel to another node device to which a DCHP server is locally coupled, thereby avoiding forwarding the broadcast communication to other node devices to which DCHP servers are not connected. Selecting the tunnels can be based on configuration data provided by a management server.
- the router is further configured to accept routing data over the encrypted communication tunnel from the other node devices, for example according to the RIPv2 or OSPF protocols, and to update the routing database using the accepted routing data.
- Each of the encrypted communication tunnels belong to one of multiple sets of tunnels, or VPN “domains,” and the router is configured to prevent forwarding of communication received from a tunnel in one domain to a tunnel in another domain.
- a node device provides secure communication services over a data network to multiple computers that are coupled through the node device and multiple other node devices.
- the node device includes a data storage containing cryptographic information including information that is private to the node device, a routing database for holding routing data, and a processor.
- the processor is programmed to implement a tunneling communication service for maintaining an encrypted communication tunnel with each of the plurality of other node devices using the cryptographic information, and to implement a router configured to accept communication from a first of the computers, the communication including an address to a second of the computers, the router being further configured to select one of the other node devices based on the address of the second computer and the routing data, and to pass the communication through the encrypted communication tunnel to the selected node device.
- the invention is software stored on a computer-readable medium for causing a programmable device, such as a node device or a general purpose computer, to provide secure communication services over a data network to multiple devices, such as node devices and general purpose computers that are coupled to the node device through the data network.
- the software causes the programmable device to perform the functions of maintaining an encrypted communication tunnel with each of the plurality of other devices using the cryptographic information and routing communication, including accepting communication from a first of the multiple devices, the communication including an address to a second of the devices, to select one of the tunnels based on the address of the second device and the routing data, and to pass the communication through the selected encrypted communication tunnel to the other device.
- a communication system provides secure communication services to multiple computers coupled over a data network.
- the system includes multiple node devices coupled to the data network, wherein each of the computers is coupled to the data network through at least one of the node devices.
- the system also includes a server computer coupled to the data network. The server is used for configuring the node devices, including for sending commands to the node devices to establish secure communication tunnels with other node devices.
- Each node device includes a network communication interface for coupling the node device to the data network, a data storage containing cryptographic information including information that is private to the node device, a tunneling communication service coupled to the network interface configured to maintaining an encrypted communication tunnel with each of the plurality of other node devices using the cryptographic information, a routing database for holding routing data, and a router coupled to the tunneling communication service and to the routing database.
- the router is configured to accept communication from a first of the computers that includes an address to a second of the computers, to select one of the other node devices based on the address of the second computer and the routing data, and to pass the communication through the encrypted communication tunnel to the selected node device.
- a method provides secure communication services between multiple computers each coupled to a data network through one of multiple node devices.
- the method includes establishing secure communication tunnels over the data network between multiple pairs of the node devices, including accessing cryptographic information stored in the node devices and encrypting data passing between the pairs of node devices using the cryptographic information.
- the method also includes accepting communication from a first computer coupled to a first node device directed to a second computer coupled to a second node device, selecting a next node device based on an identification of the second local computer included in the accepted communication, passing the communication over a first of the secure communication tunnels to the next node device, and passing the communication from the next node device to the second local computer.
- the method can include one or more of the following features:
- the next node device can be different than the second node device to which the second computer is coupled, that is, the path to the second node device is indirect through the next node device. Passing the communication from the next node device to the second computer then includes passing the communication over a second of the secure communication tunnels from the next node device to the second node device.
- the method further includes receiving routing data over the secure communication tunnels, and selecting the next node includes using the received routing data.
- the method further includes accepting broadcasted communication from the first computer, for example a request for configuration data from the local computer, and forwarding the broadcast communication over one or more of the secure communication tunnels to other node devices.
- Establishing the secure communication tunnels can include establishing a secure communication session with a server over the data network, including authenticating the node device by the server, and then accepting a command over the secure communication session from the server to establish a secure communication tunnel with another of the node devices. After accepting the command from the server, the method includes establishing a secure communication tunnel with the other of the node devices.
- the method can further include generating the cryptographic information, including generating a public key and a private key for the node in the node device, storing the private key in a protected storage in the node device, and providing the generated public key for the node device to the server.
- Authenticating the node device by the server then includes encoding a message using the stored private key at the node device, sending the encoded message to the server, and decoding the message using the public key for the node device that was provided to the server.
- a method for configures and authenticates a node device includes the following steps: At a manufacturing facility, (a) generating a public key and a private key in the node device, (b) providing the public key to the manufacturing facility, and (c) storing the private key in a protected non-volatile storage in the node device.
- the node device is then deployed, including coupling the node device to a data network at a remote site, such as at a customer premises.
- the method then includes (d) accessing the stored private key, and (e) processing a message, for example generating a digital signature for the message, using the private key and sending the processed message over the data network to a server coupled to the data network.
- the method includes (f) receiving the processed message from the deployed node device, and (g) authenticating the node device including processing the received message using the public key that was generated in the device.
- the method for configuring and authenticating a node device can further include, at the manufacturing facility, (b1) creating an authentication chain, including generating a certificate, for instance a standard X.509 format certificate, signed with a private key associated with the manufacturing facility and including the public key provided by the node device to the manufacturing facility.
- the authentication chain may also include a root public key, a root certification, or a chain of certificates that are used to authenticate the node device.
- the method then further includes (b2) providing the authentication chain to the node device, and (b3) storing the authentication chain in a non-volatile storage in the node device.
- the method can further include (e1) sending the authentication chain to the server over the data network.
- the method for configuring and authenticating a node device can further include, prior to sending the authentication chain to the server, accepting an identification for the server and an address on the data network of the server to which the authentication chain is sent.
- the method can also include receiving a certificate from the server, and authenticating the server using the accepted certificate and the accepted identification of the server.
- the method can also include, at the manufacturing facility, providing an identifier of the node device to the manufacturing facility, wherein the generated certificate includes the identifier. Authenticating the node device then includes accessing said identifier provided in the certificate.
- the method for configuring and authenticating a node device can further include, at the server, (h) after authenticating the node device, sending a response to the node device that includes a challenge message, and, at the remote device, (i) receiving the response that includes the challenge message, processing the challenge message using the stored private key, and sending the processed challenge message to the server, thereby allowing the server to determine that the sender of the processed challenge message has the private key of the node device.
- Dynamic connectivity of computers through a mesh topology VPN network permits content packets to be easily and efficiently re-routed through mesh-topology, depending on the application requirements of the user's organization.
- VPN devices can incorporate the necessary intelligence to optimize network bandwidth by integrating dynamic routing with VPN technology.
- VPN-based networks can also automatically adapt to changes in network topology.
- the communication system provides comprehensive security to guarantee the safe transmission of mission-critical data over public networks.
- the protocols and processes used to manage node devices from a central server are also secure.
- the control information exchanged between management server(s) and VPN devices is securely authenticated, encrypted, and protected from replay and other spoofing attacks.
- the centralized management functionality results in simplicity of VPN setup and maintenance. For example, all security policy information, key parameters (such as type, strength, rollover times) and connectivity information are maintained in a central management system. This permits a network manager to handle operations from a single control point and it relieves branch offices and users from employing on-site technicians or administrators.
- Dynamic routing enables the creation of meshed VPN network topologies. The optimum path is automatically selected based on security policy, setup connections, and routing parameters to optimize bandwidth, save time, and reduce operating costs.
- users can form communities of interest by creating their own virtual networks within existing enterprise topologies using private or public networks.
- Dynamic VPN switches can handle thousands of simultaneous active users, and can interconnect with hundreds of other dynamic VPN switches.
- the different domains can form “communities of interest” within a larger domain. For instance, different divisions in a corporation may have different domains within a corporate network. Access to a domain occurs at the first node device that accepts communication from a computer that is authorized to communicate with that domain. When communication is sent from node to node, the content of the communication does not have to be reexamined at each node to determine whether it should be forwarded to particular computers, since that communication is already associated with a particular domain based on the tunnel it arrived on. This avoids an expensive step of filtering packets multiple times as they pass from source to destination, thereby providing higher data rates as compared to a distributed filtering approach.
- FIG. 1 is a block diagram which illustrates a first exemplary VPN in which edge devices couple a number of IP subnetworks over the Internet;
- FIG. 2 is a block diagram which shows a physical connection of an edge device over a communication link to the Internet
- FIG. 3 is a logical block diagram of an edge device
- FIG. 4 is a logical block diagram of a device management module
- FIGS. 5A-C relate to configuration of cryptographic information
- FIG. 5A is a diagram which illustrates relationships between certificates at an edge device, a management server, manufacturing systems, and a root manufacturing authority;
- FIG. 5B is a block diagram which illustrates storage and processing modules of a root manufacturer system and an edge device, which are used to configure the edge device;
- FIG. 5C is a flowchart of a manufacture-time configuration procedure
- FIGS. 6A-B are block diagrams of alternative embodiments of an edge device
- FIG. 7 is a block diagram which illustrates a VPN which uses a network device to route data over the Internet
- FIG. 8 is a block diagram which illustrates multiple segregated VPNs supported using common edge and network devices, and illustrates a centralized firewall server coupled to a VPN;
- FIGS. 9A-B are block diagrams of alternative arrangements of edge devices
- FIG. 9A is a block diagram in which a customer premises is linked to the Internet through multiple edge devices.
- FIG. 9B is a block diagram in which an edge device is located and an Internet POP.
- a first exemplary virtual private network which is configured and operated according to a first embodiment of the invention, couples three Internet Protocol (IP) subnetworks 125 over Internet 100 .
- IP Internet Protocol
- a separate edge device 110 couples each of subnetworks 125 to Internet 100 .
- Each edge device 110 maintains a secure communication tunnel 115 with generally one or more other edge devices 110 over which the edge devices securely transfer communication.
- tunnels 115 are based on IPSec security associations between edge devices 110 and allow traffic to pass between the edge devices as if that traffic were passed over a private communication link joining the edge device.
- Tunnels 115 together function as a virtual network in which each link which is implemented using a tunnel makes use of IP layer network services to deliver information across the Internet.
- Other embodiments alternatively use tunneling approaches such as those based on the PPTP or L2TP protocols.
- each edge device 110 maintains a tunnel 115 with both other edge devices 110 in a fully connected mesh arrangement.
- an edge device 110 When an edge device 110 receives communication destined for a computer on subnetwork 125 that is directly coupled to it, for example receiving the communication over one of tunnels 115 connected to it, it passes that communication over the subnetwork to that destination computer.
- an edge device 125 When an edge device 125 receives communication that is destined for a computer 120 that is on the virtual private network, but that is on a subnetwork 125 coupled to another edge device 110 , it selects one of tunnels 115 that are coupled to it, and passes the communication through the tunnel to its destination. Note that such communication destined for another subnetwork may originate at a computer 120 on subnetwork 125 that is coupled to the edge device 110 . However, the communication may also be accepted through a tunnel 115 and routed by edge device 110 out another of tunnels 115 . In this example, if the tunnel 115 that connects two of the edge devices 110 is blocked, for example due to network congestion or some other problem, the two edge devices 110 remain connected by routing packets via the third edge device 110 .
- Internet 100 can be another public or private packet-switched data network, which allows access to users who are not authorized to access the VPN.
- a wide class of users has access to the communication links which carry communication for the Internet, and generally includes users who are not authorized to access the VPN.
- a private packet-switched network although the general public may not have access to the network, there may nevertheless be a subclass of users who are specially authorized to access a partitioned VPN with the private network.
- subnetworks 125 passing Internet Protocol (IP) communication over the VPN subnetworks based on other protocols, such as IPX, can alternatively be coupled by similarly functioning edge devices 110 .
- IPX Internet Protocol
- edge devices 110 use the Internet Protocol Security (IPSec) protocol to implement the secure communication tunnels 115 between one another.
- IPSec Internet Protocol Security
- Alternative tunneling protocols such as PPTP and L2TP, are used in other embodiments.
- Each edge device 110 securely communicates with a management server 130 .
- Management server 130 is responsible for directing edge devices 110 to establish tunnels 115 among one another, and otherwise controlling their operation. This control includes authenticating the edge devices, and providing information to the edge devices that the edge devices use to establish particular secure communication tunnels 115 . For example, management server 130 provides session keys to the edge devices for use in encrypting communication passing through particular tunnels. In this way, management server 130 can limit which edge devices 110 can enter into a VPN, and in particular, can prevent edge devices 110 that it cannot authenticate from entering the VPN.
- each edge device 110 is manufactured to include information necessary to establish a secure and authenticated a communication link 135 with management server 130 when it initially starts up. Having established communication link 135 with management server 130 , an edge device 110 receives additional configuration information directly from management server 130 .
- Each edge device 110 maintains routing information in a decentralized manner, for example by receiving routing information over tunnels 115 from other edge devices 110 .
- each edge device 115 has computers 120 coupled to it that have addresses in a single logical subnet, that is, the addresses of computers 120 coupled to the edge device are all in a range of addresses defined by an IP subnetwork mask unique to that edge device.
- An edge device 115 sends routing information to other edge devices 115 that identifies the subnetwork so that the other edge devices can determine whether to send packets addressed to particular computers based on the address ranges handled by each edge device. In this way, the edge devices do not necessarily have to exchange routing information related to individual computers.
- Each edge device 115 keeps track of which subnetworks are accessible though each of tunnels 115 coupled to it, and routing costs for sending communication to those subnetworks through each of the tunnels.
- Host addresses can optionally be assigned to computers by the management server or by a DCHP server in such a way that an edge device 110 (or a network device 820 described below with reference to FIG. 8 ) can aggregate the addresses for multiple computers or subnetworks for which the edge device provides access to the VPN into a single subnetwork. In this way, it exchanges routing information with other node devices indicating that it provides a route to any computer in the aggregated subnetwork. Routing information for small subnetworks or individual computers does not have to be sent separately by the edge device to other edge devices. Also, by aggregating the addresses into a subnetwork, the routing information needed by other edge devices does not changes often, only needing to be updated if the aggregated subnetwork address (or aggregated subnetwork mask) changes.
- edge devices 115 exchange host routing information.
- a common address range is used for all the subnetworks, and routing information that identifies which edge device 115 services each computer 120 is exchanged.
- routing information can be assembled and distributed to edge devices 110 by management server 130 .
- edge device 110 and computers 120 coupled to it over its associated subnetwork 125 are located at a customer premises 200 .
- An Internet Point-of-Presence (POP) 220 provides an access point for communication between edge device 110 and Internet 100 .
- customer premises 220 are coupled to POP 220 by a communication link 216 .
- communication link 216 is a dedicated communication link, such as a T-1 or T-3 digital service leased from a telephone carrier.
- Edge device 110 is connected to computers 120 over a local area network link 208 , such as an Ethernet link which forms part of subnetwork 125 .
- a communication interface such as a DSU/CSU, couples edge device 110 to communication link 216 .
- a corresponding communication interface 222 is also coupled to communication link 216 and communication interface 222 is coupled to a router 226 , which provides a communication interface with Internet 110 .
- Communication links 212 , 214 , and 224 which pass communication between edge device 110 and router 226 in general carry communication for multiple tunnels 115 , communication between edge device 110 and management server 130 , and other IP-based communication to computers and other devices coupled to it over Internet 100 . That is, referring back to FIG. 1 , individual tunnels 115 and communication links 135 are all carried over a common physical communication link 216 ( FIG. 2 ).
- computers at a number of separate customer premises 200 can be coupled to Internet 100 through an edge device 110 .
- a computer 120 A is coupled over a private wide area network (WAN) 910 to a second edge device 110 A at another customer premises 200 .
- WAN 910 may be coupled to Internet 100 through multiple edge devices, for example both edge device 110 and edge device 110 A at another customer premises, thereby providing multiple redundant routes from Internet 100 to computers 120 coupled to WAN 910 .
- edge device 110 is alternatively not necessarily located at customer premises 200 , but is rather at POP 220 A.
- a private communication link 920 such as a leased telephone line, couples customer premises 200 and edge device 110 at POP 220 , thereby maintaining the privacy of the VPN.
- Multiple customer premises 200 can optionally be coupled to a single edge device 110 in this manner.
- communication link 216 can be part of a broadband cable system such as a cable television system
- communication interface 214 is a cable modem
- communication interface 222 is a head-end cable interface that communicates with multiple cable modems.
- communication link 216 can be part of a telephone network and communication interface 214 is an Asynchronous Digital Subscriber Loop (ADSL) modem.
- ADSL Asynchronous Digital Subscriber Loop
- communication link 216 is a dial-up analog or ISDN telephone connection, and communication interfaces 214 and 222 are modems.
- edge device 110 includes a number of logical modules.
- a local interface module 310 provides a physical and data-link layer (ISO layers 1 and 2) communication interface with computers 120 ( FIG. 2 ) coupled to the edge device through local are network (LAN) link 208 over subnetwork 125 ( FIG. 1 ).
- Local interface module 310 accepts and provides IP packets over an internal data path 312 and interfaces with LAN link 208 , for example, a 10 Base-T Ethernet connection.
- An external interface module 320 accepts and provides IP packets over data paths from and to a number of other modules in the edge device, and provides physical and data-link layer interfaces to communication link 212 , for instance, using another 10 Base-T Ethernet connection, which couples the edge device to communication interface 214 ( FIG. 2 ).
- Device management module 330 Central to operation of edge device 110 is device management module 330 .
- Device management module 330 is coupled over a data path 332 to external interface module 320 , over which it connects to Internet 100 through POP 220 ( FIG. 2 ) and then establishes a communication session with management server 130 ( FIG. 1 ).
- Edge device 110 includes a stored management server identification 337 , such as an Internet host name or IP address, which management module 330 uses in establishing the communication session with the management server.
- device management module 330 makes use of a cryptographic identification 335 to authenticate management server 130 ( FIG. 1 ), to provide the information needed by management server 130 to authenticate it, and to pass encrypted information back and forth with the management server according to a secure communication protocol.
- Device management module 330 securely communicates with management server 130 for purposes including obtaining a current version of the device configuration, peer configuration, VPN security policy, peer connectivity, and peer security association information.
- Edge device 110 includes a router 360 and a tunneling communication service 350 , which are coupled between local interface module 310 and external interface module 360 .
- Tunneling communication service 350 at the direction of device management module 330 , establishes and maintains communication with other edge devices 110 to provide IPSec based communication between router 360 and corresponding router 360 in other edge devices 110 .
- Router 360 accepts IP packet from a number of data paths within edge device 110 and routes those packets to selected others of those data paths. In one instance, router 360 accepts IP packets over data path 312 from local interface module 310 . Based on information stored in a routing database 315 , the type of the packet, and the destination address in the packet, router 360 determines whether the accepted packet should be routed over a data path 364 through one of the tunnels maintained by tunneling communication service 350 , should be routed directly to the Internet through external interface module 320 over data path 362 , or should be processed in some other way, for example if the packet includes routing information.
- router 360 accepts IP packets from tunneling communication service 350 . Based on routing database 315 , router 360 determines whether an accepted packet is addressed to a computer 120 on subnetwork 125 coupled to the edge device and therefore should be passed over data path 312 to local interface module 310 , should be passed back to tunneling communication service 350 to be forwarded over a tunnel to another edge device, or should be processed in some other way.
- Router 360 exchanges routing information with routers 360 at other edge devices 110 over tunnels 115 .
- the exchange of routing information is according to a standard dynamic routing protocol, such as the Routing Information Protocol version 2 (RIPv2) or the Open Shortest Path First (OSPF) Protocol.
- Router 360 uses this exchanged routing information to maintain routing database 315 .
- the basis for routing decisions made by router 360 is dynamically updated, and router 360 can react to changes in the configuration of remote networks behind edge devices or the state of tunnels 115 ( FIG. 1 ) coupling the edge devices.
- device management module 330 can receive routing information from management server 130 to update routing database 315 .
- Edge device 110 includes a relay agent 350 , which forwards certain classes of IP packets that are not specifically addressed to other computers.
- relay agent 350 accepts BOOTP IP packets, which are broadcast by computers 120 over local subnetwork 125 to obtain startup configuration data and received by local interface module 310 , and sends IP packets containing the information in the accepted broadcast packets to the relay agents in other edge devices or to a particular computer that can service the request in the broadcast packet.
- a computer 120 can obtain configuration information, such as its IP address and host name, from a BOOTP server that is on the VPN but located on a different subnetwork, even though such a packet would not normally have been routed to that other network by router 360 .
- device management module 330 includes several logical components.
- a key exchange module 410 is used to exchange cryptographic keys with other computers or devices on Internet 100 in order to establish secure tunnels with those computers or devices.
- the DHCP client 420 implements the dynamic host configuration protocol (DCHP), which is a standard protocol for the dynamic and automatic assignment of Internet Protocol (IP) addresses to end systems, such as personal computers, etc. which are connected to IP-based network.
- DCHP dynamic host configuration protocol
- device management module 330 uses DCHP client 420 to obtain an external IP address for edge device 110 .
- This address is associated with external interface module 320 , and is used by other devices on the Internet to address IP packets, such as packets that encapsulate traffic in tunnels 115 , to the edge device.
- the SNMP agent 440 implements the Standard Network Management Protocol (SNMP). SNMP agent 440 provides monitored information to other network management computers. The requests for monitored information may come over one of the established tunnels, over a designated secure network management tunnel, of from the local subnetwork.
- SNMP Standard Network Management Protocol
- a scheduler 450 coordinates execution of processes and task of the various modules of the edge device to ensure real-time operation.
- Scheduler 450 is implemented as a state machine, and is responsible, for example, for initiating rollover of session keys and triggering protocol timeouts.
- a trusted management protocol module 4 S 0 is used to accept data from management server 130 , which it then stores in device database 325 .
- Trusted management protocol 450 insures the integrity of this data as it is transmitted between an edge device 110 and management server 325 .
- Data transferred using this protocol is first encrypted with a unique symmetric key, which is itself then encrypted with a public key corresponding to a private key held by the recipient. This whole message is signed using the private key of the sender.
- An anti-replay mechanism is also incorporated into the protocol. This mechanism includes repeatedly exchanging challenges and corresponding responses between the edge device and the management server.
- an edge device 110 goes through several stages including manufacture-time configuration, initial configuration and startup at a customer premises, restarting at a customer premises after a period of disconnection from the Internet, and normal operation while connected to the Internet.
- edge device 110 During the manufacturing stage, information is stored in edge device 110 to allow it to be configured as automatically as possible when initially started up at a customer premises.
- An important aspect of the manufacturing stage is to store cryptographic identification 335 ( FIG. 3 ) in edge device 110 .
- a management server identification 337 ( FIG. 3 ), for instance, a network address for accessing the server or a unique identifier used in cryptographic certificates for the server, is provided to the edge device.
- FIG. 5A-C relate to configuration of cryptographic information in edge devices 110 .
- FIG. 5A shows an interrelationship of certificates in a deployed system.
- FIG. 5B illustrates the interaction of a manufacturing system 504 and an edge device 110 during manufacture-time configuration, and
- FIG. 5C is a flowchart of that configuration.
- each edge device 110 as well as management server 130 include certificates that are used to mutually authenticate one another.
- the certificates are arranged in two separate chains.
- a root manufacturing certificate authority 502 has two pairs of public/private keys, in this embodiment 1024 bit RSA keys.
- Two root manufacturing certificates 512 include these public keys, and are optionally signed by another global certificate authority. In this embodiment, certificates 512 conforms to the X.509v3 standard.
- Configuration of edge devices 110 and management server 130 is carried out by a number of manufacture systems 504 .
- Each manufacturing system 504 has two pairs of public/private keys, and has corresponding manufacturer certificates 514 , each of which includes one of the manufacturer public keys and is signed using a different one of the root manufacture private keys.
- a particular manufacture system 504 can periodically generate a new pair of public/private keys and create new manufacturer certificates 514 signed by the root manufacture certificate authority.
- Each edge device 110 has copies of root manufacturer certificates 512 , or at least the public keys of the root manufacturing certificate authority, as well as a copy of manufacturer certificates 514 of the manufacture system 504 used to configure its identity.
- each edge device has a pair of public/private key pairs, and two corresponding device certificates which include a device public key and which are signed with the corresponding manufacturer private keys of the manufacture system 504 use to configure the device.
- an edge device 110 exchanges one of the device certificates 516 , and the corresponding one of its two manufacturer certificates 514 with management server 130 .
- management server 130 uses the root manufacturer public key in the corresponding one of the two root manufacturer certificates 512 , management server 130 first validates the signature of the manufacturer certificate 514 it received from the edge device, and then uses the manufacturer public key in that manufacturer certificate to validate the device certificate 516 it received from the edge device. In this way, management server 130 knows that it holds a valid device public key for the edge device.
- edge device 110 validates a management server public key for the management server.
- the edge device and the management server mutually authenticate one another, and then they use their peer devices' public keys to securely exchange information.
- the two chains of certificates 512 , 514 , and 516 are redundant in that if one of the public keys of the root manufacture private keys is compromised, the certificates in that chain can be retired and no longer used, or optionally, the certificates in the remaining chain can be used to securely distribute a new set of certificates.
- each edge device 110 is configured at manufacturing time through an interaction with a manufacture system 504 .
- the referenced steps are illustrated in the flowchart shown in FIG. 5C while the processing and data modules are shown in FIG. 5B .
- root manufacturer system 504 generates a random seed 542 using a random number generator 544 (step 580 ).
- Manufacturer system 504 transfers this random seed to edge device 110 (step 582 ).
- edge device 110 internally generates random seed 542 (step 581 ), thereby reducing the possibility of compromising the device private key.
- Edge device 110 then generates device public key 522 and corresponding device private key 521 using a key generation module 546 (step 584 ).
- key generation module 546 creates a 1024 bit public/private RSA key pair.
- Edge device 110 then passes device public key 522 back to manufacture system 504 (step 586 ), but retains device private key 521 within the edge device.
- Device private key 522 is preferably never disclosed outside edge device 110 , thereby assuring that the edge device is the only device that can decrypt information encrypted with device public key 522 , and ensuring that data signed with device private key 521 can be trusted by other devices to have originated at that edge device 110 .
- Manufacturer system 504 then generates two device certificates 516 using a certificate module 540 .
- Certificate module 540 creates each device certificate 516 such that it contains device public key 522 and is signed using the corresponding manufacture private key 524 (step 588 ).
- a device that receives a device certificate 516 and the corresponding manufacturer certificate 514 and that has a trusted copy root manufacture certificate 512 (or equivalently a copy of the root public key) can validate device public key 522 and trust the authenticity of that device public key.
- certificates 512 , 514 , and 516 all conform to the X.509v3 standard.
- Manufacturer system 504 then transfers device certificates 516 , its own manufacturer certificates 514 , and root manufacture certificates 512 (or at least the root manufacturer public keys to edge device 110 (step 590 ).
- Edge device 110 then stores the entire cryptographic identification 335 , which includes device public and private keys 521 , 522 , root manufacture certificates 512 , manufacturer certificates 514 , and device certificates 516 , in non-volatile memory.
- edge device 110 keeps secret its device private key 521 .
- the certificates are stored elsewhere, such as in a central database. Since device certificates 516 can be validated by a holder of certificates 514 and 512 a recipient of the device certificate can determine the authenticity of the device public key in the certificate using a trusted copy of root public key 520 .
- all certificates can be signed by a common certificate authority, or different length chains of certificates can be used.
- edge device 110 After edge device 110 is delivered to a customer premises, and initial configuration and startup is carried out. In a fully automated startup mode, edge device 110 is connected to communication device 214 ( FIG. 2 ) and communication device 214 is connected to a communication link 216 to an Internet POP 220 . Edge device 110 is also connected to local subnetwork 125 . At the initial startup, edge device 110 , using DCHP client 420 in management module 330 , obtains an external IP address for communicating with other devices on the Internet from a DCHP server at POP 220 . The local IP address on subnetwork 125 of edge device 110 is either determined by a configuration at the customer premises, or is determined from management server 130 .
- edge device 110 A variety of alternative startup scenarios are also supported by edge device 110 .
- local and external IP addresses may be statically assigned to edge device 110 and manually entered before the initial startup.
- edge device 110 Once edge device 110 has obtained an external IP address and can communicate with other devices on the Internet, it attempts to establish secure and authenticated communication with management server 130 using trusted management protocol 430 . This process includes transferring a certificate chain, which includes one of certificates 516 and a corresponding one of manufacturer certificates 514 , from edge device 110 to management server 130 . Since management server 130 has a copy of root manufacture certificate 512 , or equivalently a copy of the root public key, it can authenticate certificate 516 , thereby obtaining an authenticated device public key 522 in the certificate. It then authenticates edge device 110 using device public key 522 and a signature with device private key 521 of a message sent from edge device 110 .
- Edge device 110 holds a trusted copy of root manufacturer certificate 512 , or equivalently a trusted copy of the root public key, which it received at the time of manufacture, and can authenticate management server 130 using the root manufacturer public key using the same procedure used by management server 130 to authenticate edge device 110 .
- edge device 110 further authentication of a user is required before edge device 110 is allowed to enter the VPN.
- a user at edge device 110 may be required to provide a username and password.
- This username and password are authenticated by management server 130 , possibly using the services of an authentication server, such as a RADIUS server, which centrally holds authentication data for the organization managing the VPN.
- edge device 110 Once edge device 110 is in communication with management server 130 , it receives additional configuration information, such as information related to routing and security policies from the management server.
- management server 130 When management server 130 detects the presence of an edge device 110 , it determines to which other edge devices 110 it should establish tunnels 115 . For instance, management server 130 includes a central database containing information about the VPN, such as which edge devices 110 should be directly coupled by tunnels 115 and which edge devices 110 should route data from one tunnel 115 to another.
- management server In order to have a tunnel 115 established between two edge devices 110 , management server sends commands to each of the edge devices 110 instructing them to add the tunnel. Management server 130 generates session keys that it securely transfers to the edge devices for use to encrypt and decrypt data passing through the tunnel joining the edge devices.
- management server 130 can let the edge devices determine the session keys themselves using standard key exchange approaches, while still providing data, such as device public keys, which the edge devices use to authenticate each other.
- management server 130 instructs an edge device 110 to establish a tunnel with another device that is not managed by management server 130 .
- edge device 110 and the other device authenticate one another using a protocol such as IKE, and may rely on certificates signed by a common certificate authority.
- edge devices Once the edge devices have been commanded to create a tunnel, and have generated or received from the management server the needed cryptographic keys, the edge devices complete creation of the tunnel joining them, and are able to securely pass data between them.
- the edge devices update their routing databases, for example by passing routing information over the newly created tunnel, or by receiving routing data from the management server.
- the management server When an edge device is removed from the VPN, the management server commands its peer edge devices to shut down the tunnels linked to it.
- an edge device 110 when restarted after having been previously connected to the VPN, it relies on configuration data stored in its non-volatile memory to simplify the startup procedure.
- management server 130 does not have to transfer configuration data that is unchanged from that it previously transferred to the edge device.
- Edge device 110 can be implemented in a variety of ways.
- the modules shown in FIG. 3 are code and data modules that control execution of a general purpose processor in edge device 110 .
- a special-purpose processor or other hardware accelerators are used to perform some of the functions.
- the edge device 110 is wholly or partially software based, the edge device includes a program storage, such as a magnetic disk or non-volatile semiconductor storage, for holding the software.
- management server 130 can securely transfer software updates to the edge device to alter its behavior, for example to fix bugs, add functionality, or the track changing communication protocols.
- edge device 110 do not necessarily use a separate hardware device to implement similar functionality.
- a software-based edge software module 610 implements similar functionality as the modules shown in FIG. 3 .
- local interface module 310 interfaces with an IP layer of a software protocol stack 612 executing on computer 120 .
- External interface module 320 interfaces with a physical communication link coupled to the computer, for example, a 10 Base-T Ethernet link or a serial RS-232 link.
- Communication interface 615 then provides an interface between the computer and the ISP POP.
- communication interface 615 can be a cable modem coupled to the ISP over a cable television network.
- edge device 110 is implemented on a coprocessor board as an edge hardware module 620 that is hosted in a computer 120 .
- edge hardware module 620 has only a single connection to local subnetwork 125 .
- Communication between another computer 120 and an edge device 110 at another location on the Internet passes from that computer, to edge hardware module 620 , and then back over local subnetwork 125 to communication interface 625 .
- Communication interface 625 may be a standard device such as a router or a firewall device that is used to couple subnetwork 125 to the Internet.
- edge device 110 and communication interface 214 into a single device 205 .
- An example of such a single device might accept a 10 Base-T connection from a computer, and connect directly to a cable television network, providing both the functionality of the edge device and a cable modem in a single device.
- a network device 710 is used in conjunction with edge devices 110 of the type described above to provide connectivity through tunnels 115 to form the VPN.
- Network device 710 is similar to edge device 110 , as shown in FIG. 3 , although it does not necessarily have a local interface module 310 . Instead, it simply routes traffic between tunnels 115 that are connected to it without necessarily servicing a local subnetwork.
- One or more network devices 710 can be used to reduce the number of tunnels that are needed as compared to a fully meshed VPN. Also, network device 710 can provide redundant tunnels 115 that may be dynamically chosen by routers 360 ( FIG. 3 ) depending on routing data related to the different tunnels.
- edge devices 110 and network devices 710 can concurrently implement multiple segregated VPNs.
- the VPNs are segregated in that a router 360 does not pass packets between the different segregated VPNs.
- three edge devices 810 which are similar to edge devices 110 but with the ability to handle multiple VPNs, and a network device 820 , which is similar to network device 710 ( FIG. 7 ), form two VPNs.
- Tunnels 815 are used in a first VPN
- tunnels 825 are used in a second VPN.
- Network device 820 and edge devices 810 do not route data or pass routing information from a tunnel 815 to a tunnel 825 , thereby maintaining the segregation.
- network devices 710 can optionally be used to establish a management VPN that is used to manage the network devices themselves, separate from the VPNs set up for particular customers.
- a centralized firewall 830 provides restricted access for computers 840 over Internet 100 to a VPN.
- Centralized firewall 830 maintains tunnels 835 to one or more edge devices 810 or network devices 820 , and is centrally managed from a management server 130 (not shown in FIG. 8 ). In this way, a high capacity firewall computer can be used rather than hosting a firewall at a customer premises.
- restricted access can be concurrently provided to a number of VPNs.
- VPNs can be centralized and accessed over one or more VPNs, including for example, communication gateway servers or data servers with restricted access.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
- This application is a continuation of U.S. patent application Ser. No. 12/206,263, filed Sep. 8, 2008, entitled AUTOMATED OPERATION AND SECURITY SYSTEM FOR VIRTUAL PRIVATE NETWORKS (Atty. Dkt. No. RPXC-31069), which is a continuation of U.S. patent application Ser. No. 10/835,060, filed Apr. 30, 2004, entitled AUTOMATED OPERATION AND SECURITY SYSTEM FOR VIRTUAL PRIVATE NETWORKS, now U.S. Pat. No. 7,440,452, issued Oct. 21, 2008, which is a divisional of U.S. patent application Ser. No. 09/359,570, filed Jul. 22, 1999, entitled AUTOMATED OPERATION AND SECURITY SYSTEM FOR VIRTUAL PRIVATE NETWORKS, how U.S. Pat. No. 6,751,729, issued Jun. 15, 2004, which claims benefit of U.S. Provisional Application No. 60/094,125, filed Jul. 24, 2009, entitled AUTOMATED OPERATION AND SECURITY SYSTEM FOR VIRTUAL PRIVATE NETWORKS, now expired, the specifications of which are incorporated herein in their entirety.
- This invention relates to establishing and operating virtual private data networks.
- Virtual private networks (VPNs) leverage the flexibility and cost advantages of the Internet by passing information over the Internet, or other shared Internet Protocol (IP) network, in a secure manner. VPNs enable enterprises to securely bridge geographically separated computers or local networks over the Internet as an alternative to using expensive, leased-line networks and other remote-access solutions. Internet Service Providers (ISPs), recognizing the benefits of VPNs, are beginning to offer multi-tiered VPN services to their customers.
- Businesses, recognizing the benefits of VPNs, employ VPNs to support a wide variety of connectivity needs including remote dial-up access for telecommuters and mobile users, private line augmentation and replacement of existing leased-line and frame relay networks, extranet networking for secure and controlled wide area access to corporate information resources by their business partners, and segmented intranet networking for secure partitioning of internal traffic across both the wide area and the local area.
- An important impetus for the adoption of VPN technology by businesses is the significant cost saving associated with the replacement of expensive remote access servers and associated long distance dial-up charges, the substitution of inexpensive and ubiquitous Internet access for expensive leased lines and frame relay access, and the introduction of a flexible, fast, secure, and inexpensive mechanism for exchanging data with suppliers and customers.
- At the present time, a number of standards and proprietary schemes exist for encrypting and authenticating data packets that traverse public or private data networks. In December 1995, the Internet Engineering Task Force (IETF) published five Requests for Comments (RFCs) that define formats and methods for encrypting and authenticating Internet Protocol (IP) packets. More recently, the IETF has published a series of Internet Drafts that update the formats and methods for encrypting and authenticating IP packets. The IETF initiative is called Internet Protocol Security (IPSec).
- The IETF is currently in the process of defining a data link layer security protocol that is known by the
name Layer 2 Tunneling Protocol (L2TP). L2TP encapsulates data link layer PPP frames and transmits them across public data networks by prepending an IP header to the encapsulated PPP frames. - Microsoft Corporation has implemented a proprietary data link layer security protocol called Point to Point Tunneling Protocol (PPTP) that encrypts data layer PPP frames and transmits them across public data networks by prepending an IP header to the encrypted PPP frames.
- The IETF has also published a series of Internet Drafts intended to address the standardization of a key management protocol by which IPSec devices negotiate their security associations and keying material. The original name for this key management scheme was called ISAKMP/OAKLEY; the more current name is the Internet Key Exchange (IKE).
- According to a first of numerous aspects of the invention, in general, a node device provides secure communication services over a data network, such as the Internet or another public or private packet-switched network, to multiple computers that are coupled through the node device and multiple other node devices. The node device includes a network communication interface for coupling the node device to the data network. For example, the network communication interface is an Ethernet interface that is coupled to a cable modem or a digital subscriber loop (DSL) modem or a serial interface coupled to a telephone modem for communicating with an Internet service provider. The node device is, for example, an edge device located at a customer premises or at an Internet POP, a network device located at an intermediate point in the Internet, or can be implemented in software on a computer at the customer premises. The node device includes a data storage containing cryptographic information including information that is private to the node device. The information that is private to the node device can include a private key of a public/private key pair known only to the node device, and can further include a certificate, such as a X.509 format certificate, which includes a public key of the public/private key pair. The node device also includes a tunneling communication service coupled to the network interface and is configured to maintain an encrypted communication tunnel with each of the multiple other node devices using the cryptographic information. For example, the encrypted communication tunnels are implemented using the IPsec or PPTP protocols. The node device further includes a routing database for holding routing data and a router coupled to the tunneling communication service and to the routing database. The router is configured to accept communication from a first of the computers that includes an address of a second of the computers, to select one of the other node devices based on the address of the second computer and the routing data, and to pass the communication through the encrypted communication tunnel to the selected node device.
- The node device can include one or more of the following features:
- The router accepts the communication from the first of the computers from the tunneling communication service after that communication is received by the tunneling communication service through one of the encrypted tunnels to the other node device.
- The node device further includes a management module configured to communicate with a server over the data network, to use the information in the data storage that is private to the node device for authentication with the server, and to accept cryptographic information from the server for storing in the data storage for use by the tunneling communication service in maintaining the encrypted tunnels.
- The management module is configured to receive communication policy information from the server, for example information that the node device uses to limit or prioritize communication between node devices.
- The node device further includes a local communication interface, such as an Ethernet interface, coupling the node device to the first of the computers. The router accepts the communication from the first of the computers through the local communication interface.
- The node device further includes a communication agent coupled to the local communication interface configured to accept a broadcast communication from the first of the computers. That broadcast communication is addressed to a multiple of other devices, for example being a message broadcast according to the BOOTP or DCHP protocol, or another type of request for configuration data from the first local computer. The communication agent is configured to forward the communication over one or more of the encrypted communication tunnels to the other node devices.
- The communication agent can select one or more of the encrypted communication tunnels prior to forwarding the communication. For example, a DCHP message can be forwarded over a single tunnel to another node device to which a DCHP server is locally coupled, thereby avoiding forwarding the broadcast communication to other node devices to which DCHP servers are not connected. Selecting the tunnels can be based on configuration data provided by a management server.
- The router is further configured to accept routing data over the encrypted communication tunnel from the other node devices, for example according to the RIPv2 or OSPF protocols, and to update the routing database using the accepted routing data.
- Each of the encrypted communication tunnels belong to one of multiple sets of tunnels, or VPN “domains,” and the router is configured to prevent forwarding of communication received from a tunnel in one domain to a tunnel in another domain.
- In another aspect, in general, a node device provides secure communication services over a data network to multiple computers that are coupled through the node device and multiple other node devices. The node device includes a data storage containing cryptographic information including information that is private to the node device, a routing database for holding routing data, and a processor. The processor is programmed to implement a tunneling communication service for maintaining an encrypted communication tunnel with each of the plurality of other node devices using the cryptographic information, and to implement a router configured to accept communication from a first of the computers, the communication including an address to a second of the computers, the router being further configured to select one of the other node devices based on the address of the second computer and the routing data, and to pass the communication through the encrypted communication tunnel to the selected node device.
- In another aspect, in general, the invention is software stored on a computer-readable medium for causing a programmable device, such as a node device or a general purpose computer, to provide secure communication services over a data network to multiple devices, such as node devices and general purpose computers that are coupled to the node device through the data network. The software causes the programmable device to perform the functions of maintaining an encrypted communication tunnel with each of the plurality of other devices using the cryptographic information and routing communication, including accepting communication from a first of the multiple devices, the communication including an address to a second of the devices, to select one of the tunnels based on the address of the second device and the routing data, and to pass the communication through the selected encrypted communication tunnel to the other device.
- In another aspect, in general, a communication system provides secure communication services to multiple computers coupled over a data network. The system includes multiple node devices coupled to the data network, wherein each of the computers is coupled to the data network through at least one of the node devices. The system also includes a server computer coupled to the data network. The server is used for configuring the node devices, including for sending commands to the node devices to establish secure communication tunnels with other node devices. Each node device includes a network communication interface for coupling the node device to the data network, a data storage containing cryptographic information including information that is private to the node device, a tunneling communication service coupled to the network interface configured to maintaining an encrypted communication tunnel with each of the plurality of other node devices using the cryptographic information, a routing database for holding routing data, and a router coupled to the tunneling communication service and to the routing database. The router is configured to accept communication from a first of the computers that includes an address to a second of the computers, to select one of the other node devices based on the address of the second computer and the routing data, and to pass the communication through the encrypted communication tunnel to the selected node device.
- In another aspect, in general, a method provides secure communication services between multiple computers each coupled to a data network through one of multiple node devices. The method includes establishing secure communication tunnels over the data network between multiple pairs of the node devices, including accessing cryptographic information stored in the node devices and encrypting data passing between the pairs of node devices using the cryptographic information. The method also includes accepting communication from a first computer coupled to a first node device directed to a second computer coupled to a second node device, selecting a next node device based on an identification of the second local computer included in the accepted communication, passing the communication over a first of the secure communication tunnels to the next node device, and passing the communication from the next node device to the second local computer.
- The method can include one or more of the following features:
- The next node device can be different than the second node device to which the second computer is coupled, that is, the path to the second node device is indirect through the next node device. Passing the communication from the next node device to the second computer then includes passing the communication over a second of the secure communication tunnels from the next node device to the second node device.
- The method further includes receiving routing data over the secure communication tunnels, and selecting the next node includes using the received routing data.
- The method further includes accepting broadcasted communication from the first computer, for example a request for configuration data from the local computer, and forwarding the broadcast communication over one or more of the secure communication tunnels to other node devices.
- Establishing the secure communication tunnels can include establishing a secure communication session with a server over the data network, including authenticating the node device by the server, and then accepting a command over the secure communication session from the server to establish a secure communication tunnel with another of the node devices. After accepting the command from the server, the method includes establishing a secure communication tunnel with the other of the node devices.
- The method can further include generating the cryptographic information, including generating a public key and a private key for the node in the node device, storing the private key in a protected storage in the node device, and providing the generated public key for the node device to the server. Authenticating the node device by the server then includes encoding a message using the stored private key at the node device, sending the encoded message to the server, and decoding the message using the public key for the node device that was provided to the server.
- In another aspect, in general, a method for configures and authenticates a node device. The method includes the following steps: At a manufacturing facility, (a) generating a public key and a private key in the node device, (b) providing the public key to the manufacturing facility, and (c) storing the private key in a protected non-volatile storage in the node device. The node device is then deployed, including coupling the node device to a data network at a remote site, such as at a customer premises. At the remote site, the method then includes (d) accessing the stored private key, and (e) processing a message, for example generating a digital signature for the message, using the private key and sending the processed message over the data network to a server coupled to the data network. At the server, the method includes (f) receiving the processed message from the deployed node device, and (g) authenticating the node device including processing the received message using the public key that was generated in the device.
- The method for configuring and authenticating a node device can further include, at the manufacturing facility, (b1) creating an authentication chain, including generating a certificate, for instance a standard X.509 format certificate, signed with a private key associated with the manufacturing facility and including the public key provided by the node device to the manufacturing facility. The authentication chain may also include a root public key, a root certification, or a chain of certificates that are used to authenticate the node device. The method then further includes (b2) providing the authentication chain to the node device, and (b3) storing the authentication chain in a non-volatile storage in the node device. Then, at the remote site, the method can further include (e1) sending the authentication chain to the server over the data network.
- The method for configuring and authenticating a node device can further include, prior to sending the authentication chain to the server, accepting an identification for the server and an address on the data network of the server to which the authentication chain is sent.
- The method can also include receiving a certificate from the server, and authenticating the server using the accepted certificate and the accepted identification of the server.
- The method can also include, at the manufacturing facility, providing an identifier of the node device to the manufacturing facility, wherein the generated certificate includes the identifier. Authenticating the node device then includes accessing said identifier provided in the certificate.
- The method for configuring and authenticating a node device can further include, at the server, (h) after authenticating the node device, sending a response to the node device that includes a challenge message, and, at the remote device, (i) receiving the response that includes the challenge message, processing the challenge message using the stored private key, and sending the processed challenge message to the server, thereby allowing the server to determine that the sender of the processed challenge message has the private key of the node device.
- The invention includes one or more of the following advantages:
- Automated installation, configuration, operation, and management of VPNs requires little or no manual configuration or on-site maintenance.
- Dynamic connectivity of computers through a mesh topology VPN network permits content packets to be easily and efficiently re-routed through mesh-topology, depending on the application requirements of the user's organization. VPN devices can incorporate the necessary intelligence to optimize network bandwidth by integrating dynamic routing with VPN technology. VPN-based networks can also automatically adapt to changes in network topology.
- The communication system provides comprehensive security to guarantee the safe transmission of mission-critical data over public networks. In addition to the secure encryption and authentication of content, the protocols and processes used to manage node devices from a central server are also secure. The control information exchanged between management server(s) and VPN devices is securely authenticated, encrypted, and protected from replay and other spoofing attacks.
- The centralized management functionality results in simplicity of VPN setup and maintenance. For example, all security policy information, key parameters (such as type, strength, rollover times) and connectivity information are maintained in a central management system. This permits a network manager to handle operations from a single control point and it relieves branch offices and users from employing on-site technicians or administrators.
- Dynamic routing enables the creation of meshed VPN network topologies. The optimum path is automatically selected based on security policy, setup connections, and routing parameters to optimize bandwidth, save time, and reduce operating costs. On a larger scale, users can form communities of interest by creating their own virtual networks within existing enterprise topologies using private or public networks. Dynamic VPN switches can handle thousands of simultaneous active users, and can interconnect with hundreds of other dynamic VPN switches.
- Using multiple sets of tunnels, or domains, between which the routers in the node devices do not forward communication, the different domains can form “communities of interest” within a larger domain. For instance, different divisions in a corporation may have different domains within a corporate network. Access to a domain occurs at the first node device that accepts communication from a computer that is authorized to communicate with that domain. When communication is sent from node to node, the content of the communication does not have to be reexamined at each node to determine whether it should be forwarded to particular computers, since that communication is already associated with a particular domain based on the tunnel it arrived on. This avoids an expensive step of filtering packets multiple times as they pass from source to destination, thereby providing higher data rates as compared to a distributed filtering approach.
- Still other aspects, features, and attendant advantages of the present invention will become apparent to those skilled in the art from a reading of the following detailed description of embodiments constructed in accordance therewith, taken in conjunction with the accompanying drawings.
-
FIG. 1 is a block diagram which illustrates a first exemplary VPN in which edge devices couple a number of IP subnetworks over the Internet; -
FIG. 2 is a block diagram which shows a physical connection of an edge device over a communication link to the Internet; -
FIG. 3 is a logical block diagram of an edge device; -
FIG. 4 is a logical block diagram of a device management module; -
FIGS. 5A-C relate to configuration of cryptographic information; -
FIG. 5A is a diagram which illustrates relationships between certificates at an edge device, a management server, manufacturing systems, and a root manufacturing authority; -
FIG. 5B is a block diagram which illustrates storage and processing modules of a root manufacturer system and an edge device, which are used to configure the edge device; -
FIG. 5C is a flowchart of a manufacture-time configuration procedure; -
FIGS. 6A-B are block diagrams of alternative embodiments of an edge device; -
FIG. 7 is a block diagram which illustrates a VPN which uses a network device to route data over the Internet; -
FIG. 8 is a block diagram which illustrates multiple segregated VPNs supported using common edge and network devices, and illustrates a centralized firewall server coupled to a VPN; -
FIGS. 9A-B are block diagrams of alternative arrangements of edge devices; -
FIG. 9A is a block diagram in which a customer premises is linked to the Internet through multiple edge devices; and -
FIG. 9B is a block diagram in which an edge device is located and an Internet POP. - Referring to the drawing figures, like reference numerals designate identical or corresponding elements throughout the several figures.
- Referring to
FIG. 1 , a first exemplary virtual private network (VPN), which is configured and operated according to a first embodiment of the invention, couples three Internet Protocol (IP)subnetworks 125 overInternet 100. Aseparate edge device 110 couples each ofsubnetworks 125 toInternet 100. Eachedge device 110 maintains asecure communication tunnel 115 with generally one or moreother edge devices 110 over which the edge devices securely transfer communication. In this first embodiment,tunnels 115 are based on IPSec security associations betweenedge devices 110 and allow traffic to pass between the edge devices as if that traffic were passed over a private communication link joining the edge device.Tunnels 115 together function as a virtual network in which each link which is implemented using a tunnel makes use of IP layer network services to deliver information across the Internet. Other embodiments alternatively use tunneling approaches such as those based on the PPTP or L2TP protocols. In the example shown inFIG. 1 , eachedge device 110 maintains atunnel 115 with bothother edge devices 110 in a fully connected mesh arrangement. - When an
edge device 110 receives communication destined for a computer onsubnetwork 125 that is directly coupled to it, for example receiving the communication over one oftunnels 115 connected to it, it passes that communication over the subnetwork to that destination computer. - When an
edge device 125 receives communication that is destined for acomputer 120 that is on the virtual private network, but that is on asubnetwork 125 coupled to anotheredge device 110, it selects one oftunnels 115 that are coupled to it, and passes the communication through the tunnel to its destination. Note that such communication destined for another subnetwork may originate at acomputer 120 onsubnetwork 125 that is coupled to theedge device 110. However, the communication may also be accepted through atunnel 115 and routed byedge device 110 out another oftunnels 115. In this example, if thetunnel 115 that connects two of theedge devices 110 is blocked, for example due to network congestion or some other problem, the twoedge devices 110 remain connected by routing packets via thethird edge device 110. - In alternative embodiments,
Internet 100 can be another public or private packet-switched data network, which allows access to users who are not authorized to access the VPN. In the case of theInternet 100, a wide class of users has access to the communication links which carry communication for the Internet, and generally includes users who are not authorized to access the VPN. In the case of a private packet-switched network, although the general public may not have access to the network, there may nevertheless be a subclass of users who are specially authorized to access a partitioned VPN with the private network. Also, although the description below is in terms ofsubnetworks 125 passing Internet Protocol (IP) communication over the VPN, subnetworks based on other protocols, such as IPX, can alternatively be coupled by similarly functioningedge devices 110. - In this first embodiment,
edge devices 110 use the Internet Protocol Security (IPSec) protocol to implement thesecure communication tunnels 115 between one another. Alternative tunneling protocols, such as PPTP and L2TP, are used in other embodiments. - Each
edge device 110 securely communicates with amanagement server 130.Management server 130 is responsible for directingedge devices 110 to establishtunnels 115 among one another, and otherwise controlling their operation. This control includes authenticating the edge devices, and providing information to the edge devices that the edge devices use to establish particularsecure communication tunnels 115. For example,management server 130 provides session keys to the edge devices for use in encrypting communication passing through particular tunnels. In this way,management server 130 can limit whichedge devices 110 can enter into a VPN, and in particular, can preventedge devices 110 that it cannot authenticate from entering the VPN. - The approach to management of
edge devices 110 is such that as little as possible, if any, decentralized configuration of the edge devices is necessary. For instance, eachedge device 110 is manufactured to include information necessary to establish a secure and authenticated a communication link 135 withmanagement server 130 when it initially starts up. Having established communication link 135 withmanagement server 130, anedge device 110 receives additional configuration information directly frommanagement server 130. - Each
edge device 110 maintains routing information in a decentralized manner, for example by receiving routing information overtunnels 115 fromother edge devices 110. In the example shown inFIG. 1 , eachedge device 115 hascomputers 120 coupled to it that have addresses in a single logical subnet, that is, the addresses ofcomputers 120 coupled to the edge device are all in a range of addresses defined by an IP subnetwork mask unique to that edge device. Anedge device 115 sends routing information toother edge devices 115 that identifies the subnetwork so that the other edge devices can determine whether to send packets addressed to particular computers based on the address ranges handled by each edge device. In this way, the edge devices do not necessarily have to exchange routing information related to individual computers. Eachedge device 115 keeps track of which subnetworks are accessible though each oftunnels 115 coupled to it, and routing costs for sending communication to those subnetworks through each of the tunnels. - Host addresses can optionally be assigned to computers by the management server or by a DCHP server in such a way that an edge device 110 (or a network device 820 described below with reference to
FIG. 8 ) can aggregate the addresses for multiple computers or subnetworks for which the edge device provides access to the VPN into a single subnetwork. In this way, it exchanges routing information with other node devices indicating that it provides a route to any computer in the aggregated subnetwork. Routing information for small subnetworks or individual computers does not have to be sent separately by the edge device to other edge devices. Also, by aggregating the addresses into a subnetwork, the routing information needed by other edge devices does not changes often, only needing to be updated if the aggregated subnetwork address (or aggregated subnetwork mask) changes. - Alternatively, or optionally for some computers,
edge devices 115 exchange host routing information. In one alternative, a common address range is used for all the subnetworks, and routing information that identifies whichedge device 115 services eachcomputer 120 is exchanged. - In alternative embodiments, or optionally in conjunction with decentralized exchange of routing information, routing information can be assembled and distributed to edge
devices 110 bymanagement server 130. - Referring to
FIG. 2 ,edge device 110 andcomputers 120 coupled to it over its associatedsubnetwork 125 are located at acustomer premises 200. An Internet Point-of-Presence (POP) 220 provides an access point for communication betweenedge device 110 andInternet 100. In particular,customer premises 220 are coupled toPOP 220 by acommunication link 216. In this first example,communication link 216 is a dedicated communication link, such as a T-1 or T-3 digital service leased from a telephone carrier.Edge device 110 is connected tocomputers 120 over a localarea network link 208, such as an Ethernet link which forms part ofsubnetwork 125. A communication interface, such as a DSU/CSU, couplesedge device 110 tocommunication link 216. AtPOP 220, acorresponding communication interface 222 is also coupled tocommunication link 216 andcommunication interface 222 is coupled to arouter 226, which provides a communication interface withInternet 110. Communication links 212, 214, and 224, which pass communication betweenedge device 110 androuter 226 in general carry communication formultiple tunnels 115, communication betweenedge device 110 andmanagement server 130, and other IP-based communication to computers and other devices coupled to it overInternet 100. That is, referring back toFIG. 1 ,individual tunnels 115 and communication links 135 are all carried over a common physical communication link 216 (FIG. 2 ). - Referring to
FIG. 9A , in alternative embodiments, computers at a number ofseparate customer premises 200 can be coupled toInternet 100 through anedge device 110. InFIG. 9A , a computer 120A is coupled over a private wide area network (WAN) 910 to a second edge device 110A at anothercustomer premises 200. Optionally,WAN 910 may be coupled toInternet 100 through multiple edge devices, for example bothedge device 110 and edge device 110A at another customer premises, thereby providing multiple redundant routes fromInternet 100 tocomputers 120 coupled toWAN 910. - Referring to
FIG. 9B ,edge device 110 is alternatively not necessarily located atcustomer premises 200, but is rather at POP 220A. In this case, aprivate communication link 920, such as a leased telephone line, couplescustomer premises 200 andedge device 110 atPOP 220, thereby maintaining the privacy of the VPN.Multiple customer premises 200 can optionally be coupled to asingle edge device 110 in this manner. - In various alternative embodiments, different types of
communication links 216 are used. For instance,communication link 216 can be part of a broadband cable system such as a cable television system,communication interface 214 is a cable modem andcommunication interface 222 is a head-end cable interface that communicates with multiple cable modems. Similarly,communication link 216 can be part of a telephone network andcommunication interface 214 is an Asynchronous Digital Subscriber Loop (ADSL) modem. Alternatively,communication link 216 is a dial-up analog or ISDN telephone connection, andcommunication interfaces - Turning to
FIG. 3 ,edge device 110 includes a number of logical modules. Alocal interface module 310 provides a physical and data-link layer (ISO layers 1 and 2) communication interface with computers 120 (FIG. 2 ) coupled to the edge device through local are network (LAN) link 208 over subnetwork 125 (FIG. 1 ).Local interface module 310 accepts and provides IP packets over an internal data path 312 and interfaces with LAN link 208, for example, a 10 Base-T Ethernet connection. Anexternal interface module 320 accepts and provides IP packets over data paths from and to a number of other modules in the edge device, and provides physical and data-link layer interfaces tocommunication link 212, for instance, using another 10 Base-T Ethernet connection, which couples the edge device to communication interface 214 (FIG. 2 ). - Central to operation of
edge device 110 isdevice management module 330.Device management module 330 is coupled over adata path 332 toexternal interface module 320, over which it connects toInternet 100 through POP 220 (FIG. 2 ) and then establishes a communication session with management server 130 (FIG. 1 ).Edge device 110 includes a storedmanagement server identification 337, such as an Internet host name or IP address, whichmanagement module 330 uses in establishing the communication session with the management server. As is discussed fully below,device management module 330 makes use of acryptographic identification 335 to authenticate management server 130 (FIG. 1 ), to provide the information needed bymanagement server 130 to authenticate it, and to pass encrypted information back and forth with the management server according to a secure communication protocol.Device management module 330 securely communicates withmanagement server 130 for purposes including obtaining a current version of the device configuration, peer configuration, VPN security policy, peer connectivity, and peer security association information. -
Edge device 110 includes arouter 360 and atunneling communication service 350, which are coupled betweenlocal interface module 310 andexternal interface module 360.Tunneling communication service 350, at the direction ofdevice management module 330, establishes and maintains communication withother edge devices 110 to provide IPSec based communication betweenrouter 360 andcorresponding router 360 inother edge devices 110. -
Router 360 accepts IP packet from a number of data paths withinedge device 110 and routes those packets to selected others of those data paths. In one instance,router 360 accepts IP packets over data path 312 fromlocal interface module 310. Based on information stored in arouting database 315, the type of the packet, and the destination address in the packet,router 360 determines whether the accepted packet should be routed over adata path 364 through one of the tunnels maintained by tunnelingcommunication service 350, should be routed directly to the Internet throughexternal interface module 320 overdata path 362, or should be processed in some other way, for example if the packet includes routing information. - In another instance,
router 360 accepts IP packets from tunnelingcommunication service 350. Based onrouting database 315,router 360 determines whether an accepted packet is addressed to acomputer 120 onsubnetwork 125 coupled to the edge device and therefore should be passed over data path 312 tolocal interface module 310, should be passed back totunneling communication service 350 to be forwarded over a tunnel to another edge device, or should be processed in some other way. -
Router 360 exchanges routing information withrouters 360 atother edge devices 110 overtunnels 115. In this embodiment the exchange of routing information is according to a standard dynamic routing protocol, such as the Routing Information Protocol version 2 (RIPv2) or the Open Shortest Path First (OSPF) Protocol.Router 360 uses this exchanged routing information to maintainrouting database 315. In this way, the basis for routing decisions made byrouter 360 is dynamically updated, androuter 360 can react to changes in the configuration of remote networks behind edge devices or the state of tunnels 115 (FIG. 1 ) coupling the edge devices. In addition to or as an alternative to this type of dynamic routing,device management module 330 can receive routing information frommanagement server 130 to updaterouting database 315. -
Edge device 110 includes arelay agent 350, which forwards certain classes of IP packets that are not specifically addressed to other computers. In one relay mode,relay agent 350 accepts BOOTP IP packets, which are broadcast bycomputers 120 overlocal subnetwork 125 to obtain startup configuration data and received bylocal interface module 310, and sends IP packets containing the information in the accepted broadcast packets to the relay agents in other edge devices or to a particular computer that can service the request in the broadcast packet. In this way, in the case of the BOOTP packets, acomputer 120 can obtain configuration information, such as its IP address and host name, from a BOOTP server that is on the VPN but located on a different subnetwork, even though such a packet would not normally have been routed to that other network byrouter 360. - Referring to
FIG. 4 ,device management module 330 includes several logical components. - A key exchange module 410 is used to exchange cryptographic keys with other computers or devices on
Internet 100 in order to establish secure tunnels with those computers or devices. - The
DHCP client 420 implements the dynamic host configuration protocol (DCHP), which is a standard protocol for the dynamic and automatic assignment of Internet Protocol (IP) addresses to end systems, such as personal computers, etc. which are connected to IP-based network. In this embodiment,device management module 330 usesDCHP client 420 to obtain an external IP address foredge device 110. This address is associated withexternal interface module 320, and is used by other devices on the Internet to address IP packets, such as packets that encapsulate traffic intunnels 115, to the edge device. - The
SNMP agent 440 implements the Standard Network Management Protocol (SNMP).SNMP agent 440 provides monitored information to other network management computers. The requests for monitored information may come over one of the established tunnels, over a designated secure network management tunnel, of from the local subnetwork. - A
scheduler 450 coordinates execution of processes and task of the various modules of the edge device to ensure real-time operation.Scheduler 450 is implemented as a state machine, and is responsible, for example, for initiating rollover of session keys and triggering protocol timeouts. - A trusted management protocol module 4S0 is used to accept data from
management server 130, which it then stores indevice database 325.Trusted management protocol 450 insures the integrity of this data as it is transmitted between anedge device 110 andmanagement server 325. Data transferred using this protocol is first encrypted with a unique symmetric key, which is itself then encrypted with a public key corresponding to a private key held by the recipient. This whole message is signed using the private key of the sender. An anti-replay mechanism is also incorporated into the protocol. This mechanism includes repeatedly exchanging challenges and corresponding responses between the edge device and the management server. - In use, an
edge device 110 goes through several stages including manufacture-time configuration, initial configuration and startup at a customer premises, restarting at a customer premises after a period of disconnection from the Internet, and normal operation while connected to the Internet. - During the manufacturing stage, information is stored in
edge device 110 to allow it to be configured as automatically as possible when initially started up at a customer premises. An important aspect of the manufacturing stage is to store cryptographic identification 335 (FIG. 3 ) inedge device 110. - Before use, typically after the manufacturing stage, a management server identification 337 (
FIG. 3 ), for instance, a network address for accessing the server or a unique identifier used in cryptographic certificates for the server, is provided to the edge device. -
FIG. 5A-C relate to configuration of cryptographic information inedge devices 110.FIG. 5A shows an interrelationship of certificates in a deployed system.FIG. 5B illustrates the interaction of amanufacturing system 504 and anedge device 110 during manufacture-time configuration, andFIG. 5C is a flowchart of that configuration. - Referring to
FIG. 5A , eachedge device 110, as well asmanagement server 130 include certificates that are used to mutually authenticate one another. The certificates are arranged in two separate chains. A rootmanufacturing certificate authority 502 has two pairs of public/private keys, in this embodiment 1024 bit RSA keys. Tworoot manufacturing certificates 512 include these public keys, and are optionally signed by another global certificate authority. In this embodiment,certificates 512 conforms to the X.509v3 standard. - Configuration of
edge devices 110 andmanagement server 130 is carried out by a number ofmanufacture systems 504. Eachmanufacturing system 504 has two pairs of public/private keys, and has correspondingmanufacturer certificates 514, each of which includes one of the manufacturer public keys and is signed using a different one of the root manufacture private keys. Aparticular manufacture system 504 can periodically generate a new pair of public/private keys and createnew manufacturer certificates 514 signed by the root manufacture certificate authority. - Each
edge device 110, as well asoptionally management server 130, has copies ofroot manufacturer certificates 512, or at least the public keys of the root manufacturing certificate authority, as well as a copy ofmanufacturer certificates 514 of themanufacture system 504 used to configure its identity. Finally each edge device has a pair of public/private key pairs, and two corresponding device certificates which include a device public key and which are signed with the corresponding manufacturer private keys of themanufacture system 504 use to configure the device. - Referring now to
FIGS. 5B-C , in operation, anedge device 110 exchanges one of thedevice certificates 516, and the corresponding one of its twomanufacturer certificates 514 withmanagement server 130. Using the root manufacturer public key in the corresponding one of the tworoot manufacturer certificates 512,management server 130 first validates the signature of themanufacturer certificate 514 it received from the edge device, and then uses the manufacturer public key in that manufacturer certificate to validate thedevice certificate 516 it received from the edge device. In this way,management server 130 knows that it holds a valid device public key for the edge device. Using a corresponding sequence,edge device 110 validates a management server public key for the management server. In this way, the edge device and the management server mutually authenticate one another, and then they use their peer devices' public keys to securely exchange information. The two chains ofcertificates - Referring still to
FIGS. 5B-C , eachedge device 110 is configured at manufacturing time through an interaction with amanufacture system 504. In the following description, the referenced steps are illustrated in the flowchart shown inFIG. 5C while the processing and data modules are shown inFIG. 5B . First,root manufacturer system 504 generates arandom seed 542 using a random number generator 544 (step 580).Manufacturer system 504 transfers this random seed to edge device 110 (step 582). Alternatively,edge device 110 internally generates random seed 542 (step 581), thereby reducing the possibility of compromising the device private key.Edge device 110 then generates devicepublic key 522 and corresponding deviceprivate key 521 using a key generation module 546 (step 584). In this embodiment, key generation module 546 creates a 1024 bit public/private RSA key pair.Edge device 110 then passes devicepublic key 522 back to manufacture system 504 (step 586), but retains deviceprivate key 521 within the edge device. Deviceprivate key 522 is preferably never disclosedoutside edge device 110, thereby assuring that the edge device is the only device that can decrypt information encrypted with devicepublic key 522, and ensuring that data signed with deviceprivate key 521 can be trusted by other devices to have originated at thatedge device 110.Manufacturer system 504 then generates twodevice certificates 516 using acertificate module 540.Certificate module 540 creates eachdevice certificate 516 such that it contains devicepublic key 522 and is signed using the corresponding manufacture private key 524 (step 588). In this way, a device that receives adevice certificate 516 and thecorresponding manufacturer certificate 514 and that has a trusted copy root manufacture certificate 512 (or equivalently a copy of the root public key) can validate devicepublic key 522 and trust the authenticity of that device public key. In this embodiment,certificates Manufacturer system 504 then transfersdevice certificates 516, itsown manufacturer certificates 514, and root manufacture certificates 512 (or at least the root manufacturer public keys to edge device 110 (step 590).Edge device 110 then stores the entirecryptographic identification 335, which includes device public andprivate keys root manufacture certificates 512,manufacturer certificates 514, anddevice certificates 516, in non-volatile memory. - In other related embodiments,
edge device 110 keeps secret its deviceprivate key 521. In one alternative, rather than storing a copy ofcertificates device certificates 516 can be validated by a holder ofcertificates 514 and 512 a recipient of the device certificate can determine the authenticity of the device public key in the certificate using a trusted copy of root public key 520. - In other alternative embodiments, other approaches to chaining certificates are used. For example, all certificates can be signed by a common certificate authority, or different length chains of certificates can be used.
- After
edge device 110 is delivered to a customer premises, and initial configuration and startup is carried out. In a fully automated startup mode,edge device 110 is connected to communication device 214 (FIG. 2 ) andcommunication device 214 is connected to acommunication link 216 to anInternet POP 220.Edge device 110 is also connected tolocal subnetwork 125. At the initial startup,edge device 110, usingDCHP client 420 inmanagement module 330, obtains an external IP address for communicating with other devices on the Internet from a DCHP server atPOP 220. The local IP address onsubnetwork 125 ofedge device 110 is either determined by a configuration at the customer premises, or is determined frommanagement server 130. - A variety of alternative startup scenarios are also supported by
edge device 110. For instance, local and external IP addresses may be statically assigned toedge device 110 and manually entered before the initial startup. - Once
edge device 110 has obtained an external IP address and can communicate with other devices on the Internet, it attempts to establish secure and authenticated communication withmanagement server 130 using trusted management protocol 430. This process includes transferring a certificate chain, which includes one ofcertificates 516 and a corresponding one ofmanufacturer certificates 514, fromedge device 110 tomanagement server 130. Sincemanagement server 130 has a copy ofroot manufacture certificate 512, or equivalently a copy of the root public key, it can authenticatecertificate 516, thereby obtaining an authenticated devicepublic key 522 in the certificate. It then authenticatesedge device 110 using devicepublic key 522 and a signature with deviceprivate key 521 of a message sent fromedge device 110.Edge device 110 holds a trusted copy ofroot manufacturer certificate 512, or equivalently a trusted copy of the root public key, which it received at the time of manufacture, and can authenticatemanagement server 130 using the root manufacturer public key using the same procedure used bymanagement server 130 to authenticateedge device 110. - In alternative embodiments, further authentication of a user is required before
edge device 110 is allowed to enter the VPN. For example a user atedge device 110 may be required to provide a username and password. This username and password are authenticated bymanagement server 130, possibly using the services of an authentication server, such as a RADIUS server, which centrally holds authentication data for the organization managing the VPN. - Once
edge device 110 is in communication withmanagement server 130, it receives additional configuration information, such as information related to routing and security policies from the management server. - When
management server 130 detects the presence of anedge device 110, it determines to whichother edge devices 110 it should establishtunnels 115. For instance,management server 130 includes a central database containing information about the VPN, such as whichedge devices 110 should be directly coupled bytunnels 115 and whichedge devices 110 should route data from onetunnel 115 to another. - In order to have a
tunnel 115 established between twoedge devices 110, management server sends commands to each of theedge devices 110 instructing them to add the tunnel.Management server 130 generates session keys that it securely transfers to the edge devices for use to encrypt and decrypt data passing through the tunnel joining the edge devices. - Alternatively,
management server 130 can let the edge devices determine the session keys themselves using standard key exchange approaches, while still providing data, such as device public keys, which the edge devices use to authenticate each other. In one alternative embodiment,management server 130 instructs anedge device 110 to establish a tunnel with another device that is not managed bymanagement server 130. In this case,edge device 110 and the other device authenticate one another using a protocol such as IKE, and may rely on certificates signed by a common certificate authority. - Once the edge devices have been commanded to create a tunnel, and have generated or received from the management server the needed cryptographic keys, the edge devices complete creation of the tunnel joining them, and are able to securely pass data between them. The edge devices update their routing databases, for example by passing routing information over the newly created tunnel, or by receiving routing data from the management server.
- When an edge device is removed from the VPN, the management server commands its peer edge devices to shut down the tunnels linked to it.
- Optionally, when an
edge device 110 is restarted after having been previously connected to the VPN, it relies on configuration data stored in its non-volatile memory to simplify the startup procedure. For example,management server 130 does not have to transfer configuration data that is unchanged from that it previously transferred to the edge device. -
Edge device 110 can be implemented in a variety of ways. In one embodiment, the modules shown inFIG. 3 are code and data modules that control execution of a general purpose processor inedge device 110. In alternative embodiments, a special-purpose processor or other hardware accelerators are used to perform some of the functions. Whenedge device 110 is wholly or partially software based, the edge device includes a program storage, such as a magnetic disk or non-volatile semiconductor storage, for holding the software. Optionally,management server 130 can securely transfer software updates to the edge device to alter its behavior, for example to fix bugs, add functionality, or the track changing communication protocols. - Referring to
FIGS. 6A and 6B , alternative embodiments ofedge device 110 do not necessarily use a separate hardware device to implement similar functionality. Referring toFIG. 6A , a software-based edge software module 610 implements similar functionality as the modules shown inFIG. 3 . In the alternative embodiment shown inFIG. 6A ,local interface module 310 interfaces with an IP layer of asoftware protocol stack 612 executing oncomputer 120.External interface module 320 interfaces with a physical communication link coupled to the computer, for example, a 10 Base-T Ethernet link or a serial RS-232 link. Communication interface 615 then provides an interface between the computer and the ISP POP. For example, communication interface 615 can be a cable modem coupled to the ISP over a cable television network. - Referring to
FIG. 6B , in another alternative embodiment, the functionality ofedge device 110 is implemented on a coprocessor board as anedge hardware module 620 that is hosted in acomputer 120. InFIG. 6B ,edge hardware module 620 has only a single connection tolocal subnetwork 125. Communication between anothercomputer 120 and anedge device 110 at another location on the Internet passes from that computer, to edgehardware module 620, and then back overlocal subnetwork 125 tocommunication interface 625.Communication interface 625 may be a standard device such as a router or a firewall device that is used to couplesubnetwork 125 to the Internet. - Referring back to
FIG. 2 , another alternative embodiment combines the functionality ofedge device 110 andcommunication interface 214 into asingle device 205. An example of such a single device might accept a 10 Base-T connection from a computer, and connect directly to a cable television network, providing both the functionality of the edge device and a cable modem in a single device. - Referring to
FIG. 7 , anetwork device 710 is used in conjunction withedge devices 110 of the type described above to provide connectivity throughtunnels 115 to form the VPN.Network device 710 is similar toedge device 110, as shown inFIG. 3 , although it does not necessarily have alocal interface module 310. Instead, it simply routes traffic betweentunnels 115 that are connected to it without necessarily servicing a local subnetwork. One ormore network devices 710 can be used to reduce the number of tunnels that are needed as compared to a fully meshed VPN. Also,network device 710 can provideredundant tunnels 115 that may be dynamically chosen by routers 360 (FIG. 3 ) depending on routing data related to the different tunnels. - In yet another embodiment,
edge devices 110 andnetwork devices 710 can concurrently implement multiple segregated VPNs. The VPNs are segregated in that arouter 360 does not pass packets between the different segregated VPNs. Referring toFIG. 8 , threeedge devices 810, which are similar to edgedevices 110 but with the ability to handle multiple VPNs, and a network device 820, which is similar to network device 710 (FIG. 7 ), form two VPNs.Tunnels 815 are used in a first VPN, while tunnels 825 are used in a second VPN. Network device 820 andedge devices 810 do not route data or pass routing information from atunnel 815 to a tunnel 825, thereby maintaining the segregation. In this arrangement,network devices 710 can optionally be used to establish a management VPN that is used to manage the network devices themselves, separate from the VPNs set up for particular customers. - Referring still to
FIG. 8 , acentralized firewall 830 provides restricted access forcomputers 840 overInternet 100 to a VPN.Centralized firewall 830 maintainstunnels 835 to one ormore edge devices 810 or network devices 820, and is centrally managed from a management server 130 (not shown inFIG. 8 ). In this way, a high capacity firewall computer can be used rather than hosting a firewall at a customer premises. In alternative embodiments of acentralized firewall 830, restricted access can be concurrently provided to a number of VPNs. - In other embodiments, other shared resources can be centralized and accessed over one or more VPNs, including for example, communication gateway servers or data servers with restricted access.
- While the invention has been described in detail with reference to exemplary embodiments thereof, it will be apparent to one skilled in the art that various changes can be made, and equivalents employed, without departing from the scope of the invention. The foregoing description of the preferred embodiments of the invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed, and modifications and variations are possible in light of the above teachings or may be acquired from practice of the invention. The embodiments were chosen and described in order to explain the principles of the invention and its practical application to enable one skilled in the art to utilize the invention in various embodiments as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the claims appended hereto, and their equivalents. The entirety of each of the aforementioned documents is incorporated by reference herein.
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/930,927 US20130290704A1 (en) | 1998-07-24 | 2013-06-28 | Automated operation and security system for virtual private networks |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US9412598P | 1998-07-24 | 1998-07-24 | |
US09/359,570 US6751729B1 (en) | 1998-07-24 | 1999-07-22 | Automated operation and security system for virtual private networks |
US10/835,060 US7440452B1 (en) | 1998-07-24 | 2004-04-30 | Automated operation and security system for virtual private networks |
US12/206,263 US8520670B1 (en) | 1998-07-24 | 2008-09-08 | Automated operation and security system for virtual private networks |
US13/930,927 US20130290704A1 (en) | 1998-07-24 | 2013-06-28 | Automated operation and security system for virtual private networks |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/206,263 Continuation US8520670B1 (en) | 1998-07-24 | 2008-09-08 | Automated operation and security system for virtual private networks |
Publications (1)
Publication Number | Publication Date |
---|---|
US20130290704A1 true US20130290704A1 (en) | 2013-10-31 |
Family
ID=32396534
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/359,570 Expired - Lifetime US6751729B1 (en) | 1998-07-24 | 1999-07-22 | Automated operation and security system for virtual private networks |
US10/835,060 Expired - Fee Related US7440452B1 (en) | 1998-07-24 | 2004-04-30 | Automated operation and security system for virtual private networks |
US12/206,263 Expired - Fee Related US8520670B1 (en) | 1998-07-24 | 2008-09-08 | Automated operation and security system for virtual private networks |
US13/930,927 Abandoned US20130290704A1 (en) | 1998-07-24 | 2013-06-28 | Automated operation and security system for virtual private networks |
Family Applications Before (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/359,570 Expired - Lifetime US6751729B1 (en) | 1998-07-24 | 1999-07-22 | Automated operation and security system for virtual private networks |
US10/835,060 Expired - Fee Related US7440452B1 (en) | 1998-07-24 | 2004-04-30 | Automated operation and security system for virtual private networks |
US12/206,263 Expired - Fee Related US8520670B1 (en) | 1998-07-24 | 2008-09-08 | Automated operation and security system for virtual private networks |
Country Status (1)
Country | Link |
---|---|
US (4) | US6751729B1 (en) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016022717A1 (en) * | 2014-08-05 | 2016-02-11 | Fireeye, Inc. | System and method to communicate sensitive information via one or more untrusted intermediate nodes with resilience to disconnected network topology |
WO2016118523A1 (en) | 2015-01-19 | 2016-07-28 | InAuth, Inc. | Systems and methods for trusted path secure communication |
WO2017112203A1 (en) * | 2015-12-24 | 2017-06-29 | Mcafee, Inc. | Hardware-generated dynamic identifier |
US20170228412A1 (en) * | 2016-02-10 | 2017-08-10 | Red Hat, Inc. | Certificate based expiration of file system objects |
US20170338958A1 (en) * | 2016-05-19 | 2017-11-23 | Arris Enterprises Llc | Implicit rsa certificates |
WO2020069069A1 (en) * | 2018-09-28 | 2020-04-02 | MORD, Allan J. | Information integrity in blockchain and related technologies |
IT201900002083A1 (en) * | 2019-02-13 | 2020-08-13 | Gruppo Secur S R L | APPLICATION AND INTEGRATED MONITORING SYSTEM FOR SECURITY SERVICES |
WO2020214175A1 (en) * | 2019-04-18 | 2020-10-22 | Visa International Service Association | Method, system, and computer program product for controlling access in a network of servers |
WO2021159052A1 (en) * | 2020-02-08 | 2021-08-12 | Cameron Laghaeian | Method and apparatus for managing encryption keys and encrypted electronic information on a network server |
US20220224563A1 (en) * | 2021-01-12 | 2022-07-14 | Hewlett Packard Enterprise Development Lp | Geo-location based optimized hub mesh |
US20240169006A1 (en) * | 2022-01-14 | 2024-05-23 | Beijing Boe Technology Development Co., Ltd. | Method of recommending object, electronic device, and storage medium |
Families Citing this family (170)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6754712B1 (en) * | 2001-07-11 | 2004-06-22 | Cisco Techonology, Inc. | Virtual dial-up protocol for network communication |
US6751729B1 (en) * | 1998-07-24 | 2004-06-15 | Spatial Adventures, Inc. | Automated operation and security system for virtual private networks |
US6829712B1 (en) * | 1998-10-27 | 2004-12-07 | Sprint Communications Company L.P. | Object-based security system |
US7418504B2 (en) | 1998-10-30 | 2008-08-26 | Virnetx, Inc. | Agile network protocol for secure communications using secure domain names |
US6502135B1 (en) | 1998-10-30 | 2002-12-31 | Science Applications International Corporation | Agile network protocol for secure communications with assured system availability |
US10511573B2 (en) | 1998-10-30 | 2019-12-17 | Virnetx, Inc. | Agile network protocol for secure communications using secure domain names |
US6839759B2 (en) | 1998-10-30 | 2005-01-04 | Science Applications International Corp. | Method for establishing secure communication link between computers of virtual private network without user entering any cryptographic information |
DE69941338D1 (en) | 1998-10-30 | 2009-10-08 | Virnetx Inc | NETWORK PROTOCOL FOR SAFE COMMUNICATION WITH SAFE SYSTEM AVAILABILITY |
US6490290B1 (en) * | 1998-12-30 | 2002-12-03 | Cisco Technology, Inc. | Default internet traffic and transparent passthrough |
US7072964B1 (en) * | 1999-08-31 | 2006-07-04 | Science Applications International Corporation | System and method for interconnecting multiple virtual private networks |
US7143294B1 (en) * | 1999-10-29 | 2006-11-28 | Broadcom Corporation | Apparatus and method for secure field upgradability with unpredictable ciphertext |
JP2001160828A (en) * | 1999-12-03 | 2001-06-12 | Matsushita Electric Ind Co Ltd | Vpn communication method in security gateway device |
US7765581B1 (en) | 1999-12-10 | 2010-07-27 | Oracle America, Inc. | System and method for enabling scalable security in a virtual private network |
US6996628B2 (en) * | 2000-04-12 | 2006-02-07 | Corente, Inc. | Methods and systems for managing virtual addresses for virtual networks |
US7028333B2 (en) * | 2000-04-12 | 2006-04-11 | Corente, Inc. | Methods and systems for partners in virtual networks |
US7085854B2 (en) * | 2000-04-12 | 2006-08-01 | Corente, Inc. | Methods and systems for enabling communication between a processor and a network operations center |
US7181542B2 (en) * | 2000-04-12 | 2007-02-20 | Corente, Inc. | Method and system for managing and configuring virtual private networks |
US7181766B2 (en) * | 2000-04-12 | 2007-02-20 | Corente, Inc. | Methods and system for providing network services using at least one processor interfacing a base network |
US7028334B2 (en) * | 2000-04-12 | 2006-04-11 | Corente, Inc. | Methods and systems for using names in virtual networks |
US7047424B2 (en) * | 2000-04-12 | 2006-05-16 | Corente, Inc. | Methods and systems for hairpins in virtual networks |
US7174378B2 (en) * | 2000-05-29 | 2007-02-06 | Nitgen Technologies, Inc. | Co-location service system equipped with global load balancing (GLB) function among dispersed IDCS |
US7200749B2 (en) | 2000-08-04 | 2007-04-03 | First Data Corporation | Method and system for using electronic communications for an electronic contract |
US7552333B2 (en) | 2000-08-04 | 2009-06-23 | First Data Corporation | Trusted authentication digital signature (tads) system |
US20020124090A1 (en) * | 2000-08-18 | 2002-09-05 | Poier Skye M. | Method and apparatus for data communication between a plurality of parties |
US9525696B2 (en) * | 2000-09-25 | 2016-12-20 | Blue Coat Systems, Inc. | Systems and methods for processing data flows |
KR100464374B1 (en) * | 2000-11-01 | 2004-12-31 | 삼성전자주식회사 | System and method for giving mobile ip of mobile terminal |
US7027412B2 (en) * | 2000-11-10 | 2006-04-11 | Veritas Operating Corporation | System for dynamic provisioning of secure, scalable, and extensible networked computer environments |
US20040047347A1 (en) * | 2000-11-13 | 2004-03-11 | Michael Worry | Method, system and apparatus for reprogramming a digital electronic device via a computer network |
US7269639B1 (en) * | 2000-12-13 | 2007-09-11 | Cisco Technology, Inc. | Method and system to provide secure in-band management for a packet data network |
US9954686B2 (en) | 2001-01-18 | 2018-04-24 | Virnetx, Inc. | Systems and methods for certifying devices to communicate securely |
US7209479B2 (en) | 2001-01-18 | 2007-04-24 | Science Application International Corp. | Third party VPN certification |
AU2002229972A1 (en) * | 2001-02-14 | 2002-08-28 | Scientific Generics Limited | Cryptographic key generation apparatus and method |
US6978308B2 (en) * | 2001-03-21 | 2005-12-20 | International Business Machines Corporation | System and method for nesting virtual private networking connections with coincident endpoints |
US7533409B2 (en) * | 2001-03-22 | 2009-05-12 | Corente, Inc. | Methods and systems for firewalling virtual private networks |
US20020138635A1 (en) * | 2001-03-26 | 2002-09-26 | Nec Usa, Inc. | Multi-ISP controlled access to IP networks, based on third-party operated untrusted access stations |
GB2374497B (en) * | 2001-04-03 | 2003-03-12 | Ericsson Telefon Ab L M | Facilitating legal interception of IP connections |
GB0109299D0 (en) * | 2001-04-12 | 2001-05-30 | British Telecomm | Hybrid network |
US20020154635A1 (en) * | 2001-04-23 | 2002-10-24 | Sun Microsystems, Inc. | System and method for extending private networks onto public infrastructure using supernets |
US7228438B2 (en) * | 2001-04-30 | 2007-06-05 | Matsushita Electric Industrial Co., Ltd. | Computer network security system employing portable storage device |
US8385342B2 (en) | 2001-05-31 | 2013-02-26 | Fujitsu Limited | System and method of virtual private network route target filtering |
US20020184388A1 (en) * | 2001-06-01 | 2002-12-05 | Nimer Yaseen | Layered approach to virtual private routing |
US7450505B2 (en) * | 2001-06-01 | 2008-11-11 | Fujitsu Limited | System and method for topology constrained routing policy provisioning |
US8014283B2 (en) * | 2001-06-01 | 2011-09-06 | Fujitsu Limited | System and method for topology constrained QoS provisioning |
US20020194289A1 (en) * | 2001-06-18 | 2002-12-19 | Engel Glenn R. | Configuring devices using server responses |
US7152115B2 (en) * | 2001-07-12 | 2006-12-19 | Nortel Networks Limited | Virtual private networks |
US7099944B1 (en) * | 2001-07-13 | 2006-08-29 | Bellsouth Intellectual Property Corporation | System and method for providing network and service access independent of an internet service provider |
US8239531B1 (en) | 2001-07-23 | 2012-08-07 | At&T Intellectual Property Ii, L.P. | Method and apparatus for connection to virtual private networks for secure transactions |
US7827278B2 (en) * | 2001-07-23 | 2010-11-02 | At&T Intellectual Property Ii, L.P. | System for automated connection to virtual private networks related applications |
US7827292B2 (en) * | 2001-07-23 | 2010-11-02 | At&T Intellectual Property Ii, L.P. | Flexible automated connection to virtual private networks |
JP2004537125A (en) * | 2001-07-24 | 2004-12-09 | ポロズニ,バリー | Wireless access system, method, signal, and computer program product |
US7130854B2 (en) * | 2001-08-14 | 2006-10-31 | Endforce, Inc. | Selection and storage of policies in network management |
US20030037129A1 (en) * | 2001-08-14 | 2003-02-20 | Smartpipes, Incorporated | Modular remote network policy management system |
US20030041139A1 (en) * | 2001-08-14 | 2003-02-27 | Smartpipes, Incorporated | Event management for a remote network policy management system |
US7159125B2 (en) | 2001-08-14 | 2007-01-02 | Endforce, Inc. | Policy engine for modular generation of policy for a flat, per-device database |
US7284042B2 (en) * | 2001-08-14 | 2007-10-16 | Endforce, Inc. | Device plug-in system for configuring network device over a public network |
EP1451702A4 (en) * | 2001-09-28 | 2009-11-11 | Fiberlink Comm Corp | Client-side network access polices and management applications |
FI20011949A0 (en) * | 2001-10-05 | 2001-10-05 | Stonesoft Corp | Managing a Virtual Private Network |
US7644279B2 (en) * | 2001-12-05 | 2010-01-05 | Nvidia Corporation | Consumer product distribution in the embedded system market |
US7240191B2 (en) * | 2002-02-01 | 2007-07-03 | Hewlett-Packard Development Company, L.P. | Method and apparatus for initializing security information on a network device |
US7221764B2 (en) * | 2002-02-14 | 2007-05-22 | Agere Systems Inc. | Security key distribution using key rollover strategies for wireless networks |
US7395354B2 (en) * | 2002-02-21 | 2008-07-01 | Corente, Inc. | Methods and systems for resolving addressing conflicts based on tunnel information |
US7185365B2 (en) * | 2002-03-27 | 2007-02-27 | Intel Corporation | Security enabled network access control |
US20030204744A1 (en) * | 2002-04-26 | 2003-10-30 | Robert-Claude Maltais | Network access control |
US20030212889A1 (en) * | 2002-05-13 | 2003-11-13 | Khieu Andrew K. | Method and system for exchanging data over networks using public key encryption |
US20030212901A1 (en) * | 2002-05-13 | 2003-11-13 | Manav Mishra | Security enabled network flow control |
US20030217126A1 (en) * | 2002-05-14 | 2003-11-20 | Polcha Andrew J. | System and method for automatically configuring remote computer |
US7447901B1 (en) | 2002-06-25 | 2008-11-04 | Cisco Technology, Inc. | Method and apparatus for establishing a dynamic multipoint encrypted virtual private network |
US7366894B1 (en) | 2002-06-25 | 2008-04-29 | Cisco Technology, Inc. | Method and apparatus for dynamically securing voice and other delay-sensitive network traffic |
US7421736B2 (en) * | 2002-07-02 | 2008-09-02 | Lucent Technologies Inc. | Method and apparatus for enabling peer-to-peer virtual private network (P2P-VPN) services in VPN-enabled network |
US7802108B1 (en) | 2002-07-18 | 2010-09-21 | Nvidia Corporation | Secure storage of program code for an embedded system |
EP1429224A1 (en) * | 2002-12-10 | 2004-06-16 | Texas Instruments Incorporated | Firmware run-time authentication |
US7386878B2 (en) * | 2002-08-14 | 2008-06-10 | Microsoft Corporation | Authenticating peer-to-peer connections |
US7305546B1 (en) * | 2002-08-29 | 2007-12-04 | Sprint Communications Company L.P. | Splicing of TCP/UDP sessions in a firewalled network environment |
JP4159328B2 (en) * | 2002-09-11 | 2008-10-01 | Necインフロンティア株式会社 | Network, IPsec setting server device, IPsec processing device, and IPsec setting method used therefor |
US8942375B2 (en) * | 2002-09-17 | 2015-01-27 | Broadcom Corporation | Method and system for providing multiple encryption in a multi-band multi-protocol hybrid wired/wireless network |
US20040093419A1 (en) * | 2002-10-23 | 2004-05-13 | Weihl William E. | Method and system for secure content delivery |
US7346771B2 (en) * | 2002-11-13 | 2008-03-18 | Nokia Corporation | Key distribution across networks |
US7779152B2 (en) * | 2003-01-24 | 2010-08-17 | Nokia Corporation | Establishing communication tunnels |
US7779482B1 (en) | 2003-02-07 | 2010-08-17 | iGware Inc | Delivery of license information using a short messaging system protocol in a closed content distribution system |
US20100017627A1 (en) | 2003-02-07 | 2010-01-21 | Broadon Communications Corp. | Ensuring authenticity in a closed content distribution system |
US8131649B2 (en) * | 2003-02-07 | 2012-03-06 | Igware, Inc. | Static-or-dynamic and limited-or-unlimited content rights |
US7225329B2 (en) * | 2003-03-19 | 2007-05-29 | Sbc Properties, L.P. | Enhanced CSU/DSU (channel service unit/data service unit) |
KR100555949B1 (en) * | 2003-04-11 | 2006-03-03 | 삼성전자주식회사 | Home device authentication system and its authentication method |
US7386630B2 (en) * | 2003-04-30 | 2008-06-10 | Nokia Corporation | Using policy-based management to support Diffserv over MPLS network |
US7539741B2 (en) * | 2003-04-30 | 2009-05-26 | Nokia Siemens Networks Oy | System, apparatus and method for supporting constraint based routing for multi-protocol label switching traffic engineering in policy-based management |
US7774597B2 (en) * | 2003-06-27 | 2010-08-10 | Ram Gopal Lakshmi Narayanan | System and method for nodes communicating in a shared network segment |
US8074270B1 (en) * | 2003-06-30 | 2011-12-06 | Juniper Networks, Inc. | Automatic configuration of network tunnels |
US20050081045A1 (en) * | 2003-08-15 | 2005-04-14 | Fiberlink Communications Corporation | System, method, apparatus and computer program product for facilitating digital communications |
US7529216B2 (en) * | 2003-08-15 | 2009-05-05 | Accton Technology Corporation | Methods and apparatus for broadcast traffic reduction on a wireless transport network |
US7373660B1 (en) * | 2003-08-26 | 2008-05-13 | Cisco Technology, Inc. | Methods and apparatus to distribute policy information |
US20050132229A1 (en) * | 2003-11-12 | 2005-06-16 | Nokia Corporation | Virtual private network based on root-trust module computing platforms |
JP3976324B2 (en) * | 2004-02-27 | 2007-09-19 | 株式会社日立製作所 | A system that allocates storage areas to computers according to security levels |
US20050228848A1 (en) * | 2004-03-22 | 2005-10-13 | Thurston Stacy D | Method and system for operating a peer network |
US8300824B1 (en) * | 2004-04-08 | 2012-10-30 | Cisco Technology, Inc. | System and method for encrypting data using a cipher text in a communications environment |
EP1605640A1 (en) * | 2004-06-10 | 2005-12-14 | Alcatel | Network unit for exchanging protocol data units through tunnels |
US7725589B2 (en) * | 2004-08-16 | 2010-05-25 | Fiberlink Communications Corporation | System, method, apparatus, and computer program product for facilitating digital communications |
US7675923B2 (en) | 2004-11-24 | 2010-03-09 | General Instrument Corporation | Home network bridge-based communications method and apparatus |
US7461102B2 (en) | 2004-12-09 | 2008-12-02 | International Business Machines Corporation | Method for performing scheduled backups of a backup node associated with a plurality of agent nodes |
US7730122B2 (en) * | 2004-12-09 | 2010-06-01 | International Business Machines Corporation | Authenticating a node requesting another node to perform work on behalf of yet another node |
US7724732B2 (en) * | 2005-03-04 | 2010-05-25 | Cisco Technology, Inc. | Secure multipoint internet protocol virtual private networks |
US8091131B2 (en) * | 2005-07-06 | 2012-01-03 | At&T Intellectual Property Ii, L.P. | Method and apparatus for communicating intrusion-related information between internet service providers |
US20070055752A1 (en) * | 2005-09-08 | 2007-03-08 | Fiberlink | Dynamic network connection based on compliance |
US8312264B2 (en) * | 2005-09-30 | 2012-11-13 | Blue Coat Systems, Inc. | Method and system for authentication among peer appliances within a computer network |
US8606939B1 (en) * | 2005-11-14 | 2013-12-10 | Cisco Technology, Inc. | Method of configuring an on-demand secure connection between a control site and a client network |
US20070143851A1 (en) | 2005-12-21 | 2007-06-21 | Fiberlink | Method and systems for controlling access to computing resources based on known security vulnerabilities |
US20070143827A1 (en) * | 2005-12-21 | 2007-06-21 | Fiberlink | Methods and systems for intelligently controlling access to computing resources |
US7646874B2 (en) * | 2005-12-22 | 2010-01-12 | Canon Kabushiki Kaisha | Establishing mutual authentication and secure channels in devices without previous credentials |
US8307406B1 (en) | 2005-12-28 | 2012-11-06 | At&T Intellectual Property Ii, L.P. | Database application security |
US8125697B2 (en) * | 2006-02-03 | 2012-02-28 | Advanced Track And Trace | Authentication of a laser shot in a holographic matrix |
KR100748698B1 (en) * | 2006-03-17 | 2007-08-13 | 삼성전자주식회사 | Packet processing method and apparatus therefor in secure communication system |
DE102006036107A1 (en) * | 2006-04-11 | 2007-10-18 | Siemens Ag | Procedure for determining a task permit |
WO2007130554A2 (en) | 2006-05-02 | 2007-11-15 | Broadon Communications Corp. | Content management system and method |
DE102007001831A1 (en) * | 2006-09-14 | 2008-03-27 | Rohde & Schwarz Gmbh & Co. Kg | Encrypted communications links addressing and routing method, involves providing interface in encryption device with unique assignment of addresses of routing layer to addresses of another routing layer |
US7624276B2 (en) * | 2006-10-16 | 2009-11-24 | Broadon Communications Corp. | Secure device authentication system and method |
US7941845B2 (en) * | 2006-10-27 | 2011-05-10 | Storage Appliance Corporation | Systems and methods for controlling production quantities |
US7613915B2 (en) | 2006-11-09 | 2009-11-03 | BroadOn Communications Corp | Method for programming on-chip non-volatile memory in a secure processor, and a device so programmed |
US7787381B2 (en) * | 2006-12-13 | 2010-08-31 | At&T Intellectual Property I, L.P. | Methods and apparatus to manage network transport paths in accordance with network policies |
US8060750B2 (en) * | 2007-06-29 | 2011-11-15 | Emc Corporation | Secure seed provisioning |
US8341277B2 (en) * | 2007-07-03 | 2012-12-25 | International Business Machines Corporation | System and method for connecting closed, secure production network |
US8392983B2 (en) * | 2007-07-31 | 2013-03-05 | Viasat, Inc. | Trusted labeler |
US8130747B2 (en) | 2007-08-06 | 2012-03-06 | Blue Coat Systems, Inc. | System and method of traffic inspection and stateful connection forwarding among geographically dispersed network appliances organized as clusters |
US8838965B2 (en) * | 2007-08-23 | 2014-09-16 | Barracuda Networks, Inc. | Secure remote support automation process |
US8687650B2 (en) | 2007-12-07 | 2014-04-01 | Nsgdatacom, Inc. | System, method, and computer program product for connecting or coupling analog audio tone based communications systems over a packet data network |
US8307210B1 (en) | 2008-05-02 | 2012-11-06 | Emc Corporation | Method and apparatus for secure validation of tokens |
US8387114B2 (en) * | 2009-01-02 | 2013-02-26 | International Business Machines Corporation | Secure workload partitioning in a server environment |
CN101534250B (en) * | 2009-04-15 | 2011-04-20 | 杭州华三通信技术有限公司 | Network access control method and access control device |
WO2011017624A2 (en) * | 2009-08-06 | 2011-02-10 | Data I/O Corporation | Data programming control system with secure data management and method of operation thereof |
CN102668457B (en) | 2009-09-30 | 2016-07-06 | 柯蔼文 | For determining the internuncial system and method in community |
US20110099164A1 (en) | 2009-10-23 | 2011-04-28 | Haim Zvi Melman | Apparatus and method for search and retrieval of documents and advertising targeting |
US9922134B2 (en) * | 2010-04-30 | 2018-03-20 | Www.Trustscience.Com Inc. | Assessing and scoring people, businesses, places, things, and brands |
US8347080B2 (en) | 2010-05-10 | 2013-01-01 | Research In Motion Limited | System and method for multi-certificate and certificate authority strategy |
DE102010041804A1 (en) * | 2010-09-30 | 2012-04-05 | Siemens Aktiengesellschaft | Method for secure data transmission with a VPN box |
US8904036B1 (en) * | 2010-12-07 | 2014-12-02 | Chickasaw Management Company, Llc | System and method for electronic secure geo-location obscurity network |
CN102594785B (en) * | 2011-01-14 | 2015-09-30 | 华为技术有限公司 | IP secure tunnel method for building up, device and the network equipment |
US8516158B1 (en) * | 2011-06-07 | 2013-08-20 | Riverbed Technology, Inc. | Integrating WAN optimization devices with content delivery networks |
US9015224B2 (en) | 2011-10-09 | 2015-04-21 | LabTech, LLC | Interactive response of a remote monitoring and management system |
US9240971B2 (en) | 2011-11-16 | 2016-01-19 | LabTech, LLC | Automated management of generalized central name services by distributed remote devices |
US9055091B2 (en) | 2011-11-16 | 2015-06-09 | LabTech, LLC | Adaptive timing of distributed device response to maximize channel capacity utilization |
US8635448B2 (en) * | 2011-12-06 | 2014-01-21 | Cisco Technology, Inc. | Secure prefix authorization with untrusted mapping services |
US8627097B2 (en) | 2012-03-27 | 2014-01-07 | Igt | System and method enabling parallel processing of hash functions using authentication checkpoint hashes |
US9596271B2 (en) * | 2012-10-10 | 2017-03-14 | International Business Machines Corporation | Dynamic virtual private network |
US10069827B2 (en) | 2012-10-31 | 2018-09-04 | International Business Machines Corporation | Extending authentication and authorization capabilities of an application without code changes |
NO335235B1 (en) * | 2013-01-25 | 2014-10-27 | Kongsberg Defence & Aerospace As | System and method for operating a safety-critical device |
US9930066B2 (en) | 2013-02-12 | 2018-03-27 | Nicira, Inc. | Infrastructure level LAN security |
US9245249B2 (en) | 2013-03-12 | 2016-01-26 | Labtech Llc | General, flexible, resilent ticketing interface between a device management system and ticketing systems |
US9825759B2 (en) | 2013-07-08 | 2017-11-21 | Alcatel Lucent | Secure service management in a communication network |
US9430649B2 (en) * | 2013-12-17 | 2016-08-30 | Microsoft Technology Licensing, Llc | Automatic strong identity generation for cluster nodes |
US20150379280A1 (en) * | 2014-06-30 | 2015-12-31 | Nicira, Inc. | Method and Apparatus for Dynamically Creating Encryption Rules |
US9578043B2 (en) | 2015-03-20 | 2017-02-21 | Ashif Mawji | Calculating a trust score |
US10484513B2 (en) | 2015-07-17 | 2019-11-19 | Nsgdatacom, Inc. | System, method, and computer program product for connecting or coupling audio communications systems over a software defined wide area network |
US10169719B2 (en) * | 2015-10-20 | 2019-01-01 | International Business Machines Corporation | User configurable message anomaly scoring to identify unusual activity in information technology systems |
US20170235792A1 (en) | 2016-02-17 | 2017-08-17 | Www.Trustscience.Com Inc. | Searching for entities based on trust score and geography |
US9679254B1 (en) | 2016-02-29 | 2017-06-13 | Www.Trustscience.Com Inc. | Extrapolating trends in trust scores |
US9721296B1 (en) | 2016-03-24 | 2017-08-01 | Www.Trustscience.Com Inc. | Learning an entity's trust model and risk tolerance to calculate a risk score |
US10863558B2 (en) * | 2016-03-30 | 2020-12-08 | Schweitzer Engineering Laboratories, Inc. | Communication device for implementing trusted relationships in a software defined network |
US10798073B2 (en) | 2016-08-26 | 2020-10-06 | Nicira, Inc. | Secure key management protocol for distributed network encryption |
US10587421B2 (en) * | 2017-01-12 | 2020-03-10 | Honeywell International Inc. | Techniques for genuine device assurance by establishing identity and trust using certificates |
US10180969B2 (en) | 2017-03-22 | 2019-01-15 | Www.Trustscience.Com Inc. | Entity resolution and identity management in big, noisy, and/or unstructured data |
CN112997449A (en) | 2018-07-29 | 2021-06-18 | 诺文公司 | Security method for data communication network |
CN109819026B (en) * | 2019-01-21 | 2021-12-24 | 北京百度网讯科技有限公司 | Method and device for transmitting information |
US11425216B2 (en) * | 2019-04-01 | 2022-08-23 | Cloudflare, Inc. | Virtual private network (VPN) whose traffic is intelligently routed |
AU2020267745B2 (en) * | 2019-05-06 | 2025-01-23 | Landis+Gyr Technology, Inc. | Extending network security to locally connected edge devices |
US11245699B2 (en) | 2019-10-17 | 2022-02-08 | Schweitzer Engineering Laboratories, Inc. | Token-based device access restriction systems |
US10862825B1 (en) | 2019-10-17 | 2020-12-08 | Schweitzer Engineering Laboratories, Inc. | Token-based device access restrictions based on system uptime |
US11283613B2 (en) | 2019-10-17 | 2022-03-22 | Schweitzer Engineering Laboratories, Inc. | Secure control of intelligent electronic devices in power delivery systems |
US11218360B2 (en) | 2019-12-09 | 2022-01-04 | Quest Automated Services, LLC | Automation system with edge computing |
US11750502B2 (en) | 2021-09-01 | 2023-09-05 | Schweitzer Engineering Laboratories, Inc. | Detection of in-band software defined network controllers using parallel redundancy protocol |
US11336564B1 (en) | 2021-09-01 | 2022-05-17 | Schweitzer Engineering Laboratories, Inc. | Detection of active hosts using parallel redundancy protocol in software defined networks |
WO2024042589A1 (en) * | 2022-08-22 | 2024-02-29 | 日本電信電話株式会社 | Configuration input device, configuration input method, and configuration input program |
US11946710B1 (en) * | 2022-10-03 | 2024-04-02 | Kongsberg Defence & Aerospace As | System and method for authorizing and executing safe semi-autonomous engagement of a safety-critical device |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5029206A (en) * | 1989-12-27 | 1991-07-02 | Motorola, Inc. | Uniform interface for cryptographic services |
US5248539A (en) | 1990-11-13 | 1993-09-28 | Hugo Leonardi | Friction pad for a window stabilizer |
US7028187B1 (en) * | 1991-11-15 | 2006-04-11 | Citibank, N.A. | Electronic transaction apparatus for electronic commerce |
US5369705A (en) * | 1992-06-03 | 1994-11-29 | International Business Machines Corporation | Multi-party secure session/conference |
WO1995019672A2 (en) * | 1994-01-13 | 1995-07-20 | Bankers Trust Company | Cryptographic system and method with key escrow feature |
EP0907270B1 (en) * | 1994-02-24 | 2009-04-15 | Comcast Cable Holdings, LLC | Apparatus and method for establishing a cryptographic link between elements of a system |
US6185546B1 (en) * | 1995-10-04 | 2001-02-06 | Intel Corporation | Apparatus and method for providing secured communications |
US5539828A (en) * | 1994-05-31 | 1996-07-23 | Intel Corporation | Apparatus and method for providing secured communications |
US5654958A (en) * | 1995-06-05 | 1997-08-05 | Motorola, Inc. | System and method for learning and dynamic routing of data in a mobile communication network |
US5898830A (en) * | 1996-10-17 | 1999-04-27 | Network Engineering Software | Firewall providing enhanced network security and user transparency |
US6216231B1 (en) * | 1996-04-30 | 2001-04-10 | At & T Corp. | Specifying security protocols and policy constraints in distributed systems |
US6085320A (en) * | 1996-05-15 | 2000-07-04 | Rsa Security Inc. | Client/server protocol for proving authenticity |
US5610982A (en) * | 1996-05-15 | 1997-03-11 | Micali; Silvio | Compact certification with threshold signatures |
US5748736A (en) * | 1996-06-14 | 1998-05-05 | Mittra; Suvo | System and method for secure group communications via multicast or broadcast |
US6324525B1 (en) * | 1996-06-17 | 2001-11-27 | Hewlett-Packard Company | Settlement of aggregated electronic transactions over a network |
US6173399B1 (en) * | 1997-06-12 | 2001-01-09 | Vpnet Technologies, Inc. | Apparatus for implementing virtual private networks |
US6073172A (en) * | 1997-07-14 | 2000-06-06 | Freegate Corporation | Initializing and reconfiguring a secure network interface |
US6092200A (en) * | 1997-08-01 | 2000-07-18 | Novell, Inc. | Method and apparatus for providing a virtual private network |
US6134327A (en) * | 1997-10-24 | 2000-10-17 | Entrust Technologies Ltd. | Method and apparatus for creating communities of trust in a secure communication system |
US6308266B1 (en) * | 1998-03-04 | 2001-10-23 | Microsoft Corporation | System and method for enabling different grades of cryptography strength in a product |
US6226751B1 (en) * | 1998-04-17 | 2001-05-01 | Vpnet Technologies, Inc. | Method and apparatus for configuring a virtual private network |
US20030140007A1 (en) * | 1998-07-22 | 2003-07-24 | Kramer Glenn A. | Third party value acquisition for electronic transaction settlement over a network |
US6751729B1 (en) | 1998-07-24 | 2004-06-15 | Spatial Adventures, Inc. | Automated operation and security system for virtual private networks |
-
1999
- 1999-07-22 US US09/359,570 patent/US6751729B1/en not_active Expired - Lifetime
-
2004
- 2004-04-30 US US10/835,060 patent/US7440452B1/en not_active Expired - Fee Related
-
2008
- 2008-09-08 US US12/206,263 patent/US8520670B1/en not_active Expired - Fee Related
-
2013
- 2013-06-28 US US13/930,927 patent/US20130290704A1/en not_active Abandoned
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9912644B2 (en) | 2014-08-05 | 2018-03-06 | Fireeye, Inc. | System and method to communicate sensitive information via one or more untrusted intermediate nodes with resilience to disconnected network topology |
WO2016022717A1 (en) * | 2014-08-05 | 2016-02-11 | Fireeye, Inc. | System and method to communicate sensitive information via one or more untrusted intermediate nodes with resilience to disconnected network topology |
US10848317B2 (en) * | 2015-01-19 | 2020-11-24 | InAuth, Inc. | Systems and methods for trusted path secure communication |
WO2016118523A1 (en) | 2015-01-19 | 2016-07-28 | InAuth, Inc. | Systems and methods for trusted path secure communication |
US11818274B1 (en) | 2015-01-19 | 2023-11-14 | Accertify, Inc. | Systems and methods for trusted path secure communication |
EP3248360A4 (en) * | 2015-01-19 | 2018-12-05 | Inauth, Inc. | Systems and methods for trusted path secure communication |
US10237073B2 (en) | 2015-01-19 | 2019-03-19 | InAuth, Inc. | Systems and methods for trusted path secure communication |
US20190182051A1 (en) * | 2015-01-19 | 2019-06-13 | InAuth, Inc. | Systems and methods for trusted path secure communication |
US11171790B2 (en) | 2015-01-19 | 2021-11-09 | Accertify, Inc. | Systems and methods for trusted path secure communication |
WO2017112203A1 (en) * | 2015-12-24 | 2017-06-29 | Mcafee, Inc. | Hardware-generated dynamic identifier |
US10567170B2 (en) | 2015-12-24 | 2020-02-18 | Mcafee, Llc | Hardware-generated dynamic identifier |
US11777919B2 (en) | 2016-02-10 | 2023-10-03 | Red Hat, Inc. | Certificate based expiration of file system objects |
US20170228412A1 (en) * | 2016-02-10 | 2017-08-10 | Red Hat, Inc. | Certificate based expiration of file system objects |
US10791109B2 (en) * | 2016-02-10 | 2020-09-29 | Red Hat, Inc. | Certificate based expiration of file system objects |
US10862683B2 (en) * | 2016-05-19 | 2020-12-08 | Arris Enterprises Llc | Implicit RSA certificates |
US20210091948A1 (en) * | 2016-05-19 | 2021-03-25 | Arris Enterprises Llc | Implicit rsa certificates |
US20170338958A1 (en) * | 2016-05-19 | 2017-11-23 | Arris Enterprises Llc | Implicit rsa certificates |
US11683170B2 (en) * | 2016-05-19 | 2023-06-20 | Arris Enterprises Llc | Implicit RSA certificates |
US11546138B2 (en) * | 2018-09-28 | 2023-01-03 | Benjamin Allan Mord | Information integrity in blockchain and related technologies |
WO2020069069A1 (en) * | 2018-09-28 | 2020-04-02 | MORD, Allan J. | Information integrity in blockchain and related technologies |
US20230163957A1 (en) * | 2018-09-28 | 2023-05-25 | Benjamin Allan Mord | Information integrity in blockchain and related technologies |
IT201900002083A1 (en) * | 2019-02-13 | 2020-08-13 | Gruppo Secur S R L | APPLICATION AND INTEGRATED MONITORING SYSTEM FOR SECURITY SERVICES |
WO2020214175A1 (en) * | 2019-04-18 | 2020-10-22 | Visa International Service Association | Method, system, and computer program product for controlling access in a network of servers |
US12088589B2 (en) | 2019-04-18 | 2024-09-10 | Visa International Service Association | Method, system, and computer program product for controlling access in a network of servers |
WO2021159052A1 (en) * | 2020-02-08 | 2021-08-12 | Cameron Laghaeian | Method and apparatus for managing encryption keys and encrypted electronic information on a network server |
US20220224563A1 (en) * | 2021-01-12 | 2022-07-14 | Hewlett Packard Enterprise Development Lp | Geo-location based optimized hub mesh |
US11528166B2 (en) * | 2021-01-12 | 2022-12-13 | Hewlett Packard Enterprise Development Lp | Geo-location based optimized hub mesh |
US20240169006A1 (en) * | 2022-01-14 | 2024-05-23 | Beijing Boe Technology Development Co., Ltd. | Method of recommending object, electronic device, and storage medium |
Also Published As
Publication number | Publication date |
---|---|
US8520670B1 (en) | 2013-08-27 |
US7440452B1 (en) | 2008-10-21 |
US6751729B1 (en) | 2004-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8520670B1 (en) | Automated operation and security system for virtual private networks | |
US10841341B2 (en) | Policy-based configuration of internet protocol security for a virtual private network | |
US7574738B2 (en) | Virtual private network crossovers based on certificates | |
CN108551464B (en) | A hybrid cloud connection establishment, data transmission method, device and system | |
US7373660B1 (en) | Methods and apparatus to distribute policy information | |
US7302487B2 (en) | Security system for a data communications network | |
US9319300B2 (en) | Systems and methods for determining endpoint configurations for endpoints of a virtual private network (VPN) and deploying the configurations to the endpoints | |
US8327437B2 (en) | Securing network traffic by distributing policies in a hierarchy over secure tunnels | |
US8472314B2 (en) | Network-based dedicated backup service | |
US20040093492A1 (en) | Virtual private network management with certificates | |
US20020016926A1 (en) | Method and apparatus for integrating tunneling protocols with standard routing protocols | |
WO2008039506A2 (en) | Deploying group vpns and security groups over an end-to-end enterprise network and ip encryption for vpns | |
US20040243837A1 (en) | Process and communication equipment for encrypting e-mail traffic between mail domains of the internet | |
Cisco | Introduction to Cisco IPsec Technology | |
Cisco | Network Design Considerations | |
Cisco | Glossary | |
Meijers | Two-Way Quality of Service Policy Enforcement Methods in Dynamically Formed Overlay Virtual Private Networks | |
Edwards et al. | Nortel guide to VPN routing for security and VoIP | |
Niazi et al. | Group Encrypted Transport VPN (Get VPN) Design and Implementation Guide | |
Zeng et al. | Advanced Networking Laboratory | |
Ansari | The infrastructure for E-business |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: NSGDATACOM, INC., VIRGINIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:FIELDPOINT NETWORKS, INC.;SPACIAL ADVENTURES, INC.;GINIGER, MICHAEL L;AND OTHERS;REEL/FRAME:033038/0529 Effective date: 20090622 Owner name: FIELDPOINT NETWORKS, INC., MASSACHUSETTS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:FIELDPOINT NETWORKS, INC.;SPACIAL ADVENTURES, INC.;GINIGER, MICHAEL L;AND OTHERS;REEL/FRAME:033038/0529 Effective date: 20090622 |
|
AS | Assignment |
Owner name: FIELDPOINT NETWORKS, INC., MASSACHUSETTS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:HILTON, WARREN S;GINIGER, MICHAEL L;REEL/FRAME:033044/0718 Effective date: 20110912 Owner name: RPX CORPORATION, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:FIELDPOINT NETWORKS, INC.;NSGDATACOM, INC.;REEL/FRAME:033044/0745 Effective date: 20110919 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |