System and method for operating, via the Internet, a distributed network
in which an SSL VPN is employed to establish and manage an IPSec VPN.
During network creation, an SSL VPN is first established between a master
server and each node. Using a common routing table and a common SSL key
table maintained by the master server, each node may selectively
establish an IPSec VPN with other nodes. Once established, each node
maintains a respective segment of a distributed IPSec key table.
Periodically, each client and each server, other than the master server,
cooperates with the master server to refresh the master and local copies
of the common routing and common SSL key tables, and the local segment of
the distributed IPSec key table. In the event a change has occurred in
either the routing or key information for any server, all pending IPSec
VPN connections with that server must be reestablished, using the
information in the refreshed local copies of the common routing and
common SSL key tables The master server controls the network
configuration by assigning to each node permissible IPSec connections. By
updating and maintaining copies of the common routing and common SSL key
tables at multiple nodes in the network, and local segments of the
distributed IPSec key table, the network can quickly recover and rebuild
itself in the event that an SSL or IPSec connection with any node is
lost.