A method for forming a secure virtual private network (VPN) is described.
The secure virtual private network consists of two or more linked
entities having internet connectability where each entity has links with
at least one other device on the VPN. The method comprising the steps of:
providing a lookup device having a known address with an updatable index
of entities known to be connectable to the VPN. Causing at least one
pre-designated contact entity on the VPN to periodically poll the lookup
device for received joining requests. The look up device accepts requests
from known entities ("joining entity") wishing to link to the VPN. The
lookup device receives a request from a joining entity to connect to the
VPN. In response to a poll for joining requests the lookup device
notifies the polling contact entity of at least the address of each
joining entity. If the contact entity permits a connection to the VPN,
the contact entity supplies at least its address to the lookup device
which passes this to the joining entity. The joining entity and contact
entity establish a first link between them. The joining entity and the
contact entity conduct an authentication process over the first link. If
the authentication process is successful the contact entity notifies the
joining entity of at least the status of other entities belonging to the
VPN and notifies all entities on the VPN that the joining device is
joining the VPN. The joining device uses the status of other entities
belonging to the VPN to calculate its node position in the VPN including
the one or two neighbour entities it will connect to. The one or two
neighbour entities initiating a process of the type specified above to
connect with the lookup entity to establish one or more second links with
the joining entity and terminating the first link. The joining entity and
at least one neighbour entity conducting a mutual authentication process
which if successful sustains the one or more second links.