Freitag, 31. August 2012


Topthema

Donnerstag, 15. M�rz 2007 | Topthema

About Security #97: Virtuelle Private Netze — TLS

(Link zum Artikel: http://www.entwickler.de/php/kolumnen/034861)
  • Teilen
  • kommentieren
  • empfehlen
  • Bookmark and Share

VPN k�nnen auch auf der Basis von Transport Layer Security (TLS) aufgebaut werden werden. Das Secure Sockets Layer (SSL)-Protokoll und sein Nachfolger Transport Layer Security (TLS) (definiert in RFC 4346) wurden ja bereits in About Security #73 sowie #81 und #82 vorgestellt. Im Rahmen eines VPN kommt SSL/TLS in zwei Varianten zum Einsatz: Entweder im Rahmen eines so genannten 'clientless TLS-VPN' oder beim Aufbau eines Tunnels zur transparenten �bertragung von (IP-)Paketen.

Das TLS-Protokoll

TLS besteht aus zwei Schichten, dem TLS Record Protocol und den darauf aufbauenden Protokollen TLS Alert, TLS Change Chipher Spec, TLS Handshake und Application Data. Das TLS Record Protocol ist die untere der Schichten und sichert die Verbindung. Es setzt auf die Transportschicht auf (TCP, siehe About Security #29) und stellt eine Ende-zu-Ende-Verschl�sselung durch Anwendung symmetrischer Verschl�sselungsalgorithmen und die Sicherung von Integrit�t und Authentizit�t durch Hinzuf�gen eines Message Authentication Code (MAC, siehe About Security #77) zur Verf�gung. Das TLS Handshake Protocol ist f�r die Pr�fung der Identit�t der Kommunikationspartner sowie die Aushandlung und den Austausch des Schl�ssels f�r die symmetrische Verschl�sselung durch das TLS Record Protocol zust�ndig. Das TLS Change Chipher Spec Protocol startet die gesch�tzte Kommunikation im ausgehandelten Kontext. Das TLS Alert Protocol wird f�r den Austausch von Alarmmeldungen verwendet. Das TLS Application Data Protocol dient der transparenten �bertragung der Daten �ber das TLS Record Protocol. �ber dem TLS-Protokoll befindet sich die Anwendungsschicht mit Protokollen wie z.B. HTTPS (siehe About Security #29).

N E U ! Security aktuell
T�glich aktuelle Security-Infos!

Der TLS-Verbindungsaufbau wurde bereits in About Security #81/ #82 beschrieben. Beim Einsatz von TLS im Rahmen eines VPN weist sich auch der Client mit seinem Zertifikat aus, sodass im Gegensatz zum (in About Security #82 beschriebenen) Handshake der Client nicht mit dem Pre-Master-Secret, sondern seinem Zertifikat antwortet.

Nach dem Aufbau des TLS-Tunnels reicht das TLS Application Data Protocol die Daten der Anwendungsschicht an das TLS Record Protocol weiter. Dieses komprimiert und verschl�sselt sie und �bertr�gt sie �ber die Transportschicht zur Gegenstelle. Dort werden sie vom TLS Record Protocol entschl�sselt und dekomprimiert und �ber das TLS Application Data Protocol an die Anwendungsschicht weitergeleitet.

Clientless TLS-VPN

Von einem clientless TLS-VPN spricht man, wenn von einem Webbrowser �ber eine mit TLS gesicherte Verbindung auf einen Server zugegriffen wird, der bestimmte Anwendungen, z.B. eine Datenbank, zur Verf�gung stellt. Das 'clientless' bezieht sich dabei auf das Fehlen eines speziellen VPN-Clients. Streng genommen ist nat�rlich der Webbrowser ein Client. Der Vorteil dieses Ansatzes ist, dass jeder aktuelle Webbrowser das https://-Protokoll unterst�tzt und so auch z.B. der Zugriff aus einem Internetcafe m�glich ist. Der Nachteil ist die Webbrowserbezogenheit: F�r nicht browserbasierte Anwendungen m�ssen auf Client- und/oder Serverseite Hilfsprogramme zwischengeschaltet werden, die die Daten f�r die �bertragung �ber die Browserverbindung entsprechend umwandeln.

TSL-Tunnel

Beim Einsatz eines TSL-Tunnels bauen zwei Kommunikationspartner, z.B. zwei Gateways, untereinander eine TLS-Verbindung auf und �bertragen dar�ber dann IP-Pakete. Eine Implementierung dieses Verfahrens ist z.B. OpenVPN, das im Folgenden vorgestellt wird.

About Security: Die komplette Serie

OpenVPN verwendet zwar TLS f�r den Datentransport, kann aber im Gegensatz zu dessen normaler Nutzung nicht nur Daten der Anwendungsschicht, sondern komplette IP-Pakete �bertragen. Au�erdem kann statt TCP auch UDP f�r den Transport genutzt werden. Dazu wird f�r TLS eine bestehende TCP-Verbindung simuliert, w�hrend OpenVPN die Daten tats�chlich �ber UDP transportiert.

Betriebsarten

OpenVPN verwendet zwei Betriebsarten: Routing und Bridging. Beim Routing wird ein TLS-Tunnel zwischen zwei Endpunkten aufgebaut und jedem Endpunkt eine virtuelle IP-Adresse zugewiesen. �ber den Tunnel werden dann ausschlie�lich IP-Pakete zwischen den Kommunikationspartnern ausgetauscht (Layer 3). Um auf die ggf. hinter den Endpunkten liegenden lokalen Netzwerke zugreifen zu k�nnen, m�ssen die Endpunkte die IP-Pakete aktiv weiterleiten. Beim Bridging wird ebenfalls ein Tunnel zwischen zwei Kommunikationspartnern aufgebaut, �ber den dann aber Ethernet-Pakete �bertragen werden (Layer 2). Dadurch wird der Client transparent in das lokale Netz des Servers integriert, was auch den Einsatz anderer Protokolle als IP erlaubt.

In der n�chsten Woche gibt es einen Bericht �ber Neuigkeiten von der CeBIT.
In der n�chsten regul�ren Folge wird die Beschreibung von OpenVPN mit einem Beispiel fortgesetzt.

Wenn Sie Fragen oder Themenvorschl�ge haben, k�nnen Sie diese gerne an die angegebene E-Mail-Adresse senden oder im Security-Forum einbringen!

Carsten Eilers

About Security � �bersicht zum aktuellen Thema "VPN - Virtuelle Private Netze"

Kommentare

Folgende Links könnten Sie auch interessieren

  • AJAX im Handy  [28.09.2006]
    [http://entwickler.de/zonen/portale/psecom,id,101,online,1181,.html]
  • Usereingaben mit der Filter-Erweiterung validieren  [14.03.2008]
    [http://entwickler.de/zonen/portale/psecom,id,101,online,1564,.html]
  • Social Software  [01.11.2006]
    [http://entwickler.de/zonen/portale/psecom,id,101,online,1069,.html]
  • Web Security  [05.04.2006]
    [http://entwickler.de/zonen/portale/psecom,id,101,online,396,.html]
  • Remote abgefragt  [13.11.2007]
    [http://entwickler.de/zonen/portale/psecom,id,101,online,1347,.html]