Ein VPN (= Virtual Private Network) dient dazu, eine sichere Verbindung zu einem Netzwerk über das Internet herzustellen. Dabei wird unterschieden zwischen einem Site-to-Site-VPN, bei dem zwei Netzwerke miteinander verbunden werden und einem Remote Access-VPN, bei dem sich ein Client über den VPN in ein entferntes Netzwerk verbindet.
Remote Access VPN
Im Server werden kryptografische Zertifikate und Zugangsdaten für den Benutzer gespeichert. Der Client verbindet sich mit dem Server, indem er sich mit der öffentlichen IP des Servers verbindet und sich anschließend mithilfe von Zugangsdaten und Client-Zertifikaten authentifiziert.
Anschließend wird somit ein Tunnel zwischen dem Client und dem Server aufgebaut, über den der gesamte Datenverkehr verschlüsselt verschickt wird.
Site-to-Site VPN
Sowohl der Server als auch der Client sind Router ihrer eigenen Netzwerke. Beide Geräte kennen die öffentliche IP-Adresse des Partners und können so einen Tunnel aufbauen, über den die gewünschten Daten versendet werden können.
Die Art der Verschlüsselung und der Tunnelaufbau werden zwischen Server und Client verhandelt. Beide Parteien haben die Protokolle, die unterstützt werden, abgespeichert. Der Client bietet dem Server ein Protokoll, über das die Verbindung aufgebaut werden soll, an. Anschließend entscheidet der Server anhand der unterstützten Protokolle, ob er das Angebot annimmt.
Sobald der Tunnel aufgebaut ist, verwendet der Client die in der Konfiguration des VPNs abgespeicherten Routen um zu entscheiden, welche Daten über den VPN versendet werden sollen. Dabei kann es sich je nach Anwendungsfall um alle Daten, aber auch nur um einige wenige Kommunikationspartner handeln.
Da bei der Nutzung eines VPNs alle versendeten Daten zusätzlich verschlüsselt werden, ist die Übertragungsgeschwindigkeit geringer als bei der Datenübertragung ohne VPN. Dennoch sind VPNs in den letzten Jahren sehr beliebt geworden, da der Nutzer seinen scheinbaren Standort ohne großen Aufwand ändern kann und so die Anonymität erhöht wird.