VPN-Knigge

Seite 7: VPN-Glossar

Inhaltsverzeichnis

Der Advanced Encryption Standard (AES) ist der Nachfolgeverschlüsselungsstandard von DES (Data Encryption System). 3DES mit 128 Bit gilt zwar immer noch als sicher, ist aber wegen der Dreifachverschlüsselung um Faktoren langsamer als AES. AES unterstützt 128, 192 und 256 Bit lange Schlüssel.

Anders als der ECB-Mode (Electronic Code Book) verhindert der CBC-Mode (Cipher Block Chaining) bei Verschlüsselungsalgorithmen die Entstehung von Mustern im Chiffrat, die Rückschlüsse auf den Klartext zulassen. Dazu lässt CBC das Ergebnis der vorherigen Blockoperation in die aktuelle einfließen (Chaining). Sowohl ECB als auch CBC sind für so genannte Bit-Flipping-Attacken anfällig. Dabei kann ein Angreifer im Chiffrat ohne Kenntnis des Schlüssels einzelne Bits manipulieren, ohne später beim Entschlüsseln durch den Empfänger einen Fehler zu provozieren. Da sich so der Inhalt manipulieren lässt, muss auch für verschlüsselte Pakete die Integrität gesichert werden, etwa mit HMAC.

In CBC werden jeweils Blöcke von jeweils 16 Datenbytes verschlüsselt. Das CBC-Verfahren wird mit einem zufällig gewählten 128 Bit langen Initialisierungsvektor initialisiert, der etwa bei ESP-Paket den chiffrierten Nutzdaten vorangestellt wird. Da die Daten blockweise verschlüsselt werden, muss der letzte Datenblock mit Füll-Bytes zur vollen Blocklänge aufgefüllt und die Anzahl dieser Stopf-Bytes in einem Längen-Byte festgehalten werden.

Über das Diffie-Hellman-Key-Exchange-Verfahren (DH) lassen sich kryptographische Schlüssel sicher über unsichere Kanäle aushandeln. Es ist selbst kein Verschlüsselungsverfahren und tauscht auch keine Schlüssel im eigentlichen Sinne aus. Das von Martin Hellman und Whitfield Diffie entwickelte Verfahren beruht auf den Eigenschaften diskreter Logarithmen: zwar ist es einfach, eine Zahl zu potenzieren. Es ist aber nur mit sehr großem Aufwand möglich, den diskreten Logarithmus einer Zahl zu berechnen. Bei der Aushandlung einigen sich die VPN-Peers auf eine Primzahl p und eine Primitivwurzel g mod p. Beide Faktoren dürfen unverschlüsselt übertragen werden. Anschließend erzeugt jede Seite eine geheime Zufallszahl a/b und berechnet daraus den Wert Za= ga mod p beziehungsweise Zb = gb mod p. Za und Zb werden an den Partner übertragen.

Daraus kann nun jede Seite den gemeinsamen symmetrischen Schlüssel K berechnen: Zba mod p = Zab mod p = K. Sind die eingesetzten Zahlen hinreichend groß, ist es für einen Angreifer so gut wie unmöglich, den Key zu knacken. Große Zahlen erfordern allerdings mehr Rechenaufwand. Die Größe der Zahlen bestimmt die gewählte DH-Gruppe. Die kleinste DH Gruppe 1 hat 768 Bits und die größte definierte Gruppe 18 besitzt 8192 Bits. Empfohlen wird derzeit der Gebrauch der Gruppe 5 mit 1536 Bits.

Über einen Hash-Algorithmus lässt sich aus einem beliebig langen Datensatz eine Prüfsumme fester Länge berechnen. Dieser Hashwert soll möglichst einmalig sein, man spricht dann auch von Kollisionsfreiheit. Damit ist sichergestellt, dass der Datensatz nicht so manipuliert werden kann, dass der Hashwert trotzdem noch derselbe ist. Üblicherweise kommen SHA-1 (Secure Hash Algorithm) mit 160 Bits und MD5 (Message Digest Algorithm) mit 128 Bits zum Einsatz. Bei ESP wird der Hashwert von 128, respektive 160 Bit auf 96 Bit abgeschnitten. Zur Authentisierung von Daten dienen (Keyed-)Hash Message Authentication Codes. HMAC ist eine Sonderform des MAC, bei der zusammen mit einem geheimen Schlüssel ein Hash-Wert etwa über Datenpaket gebildet wird. Bei VPNs benutzt man in der Regel HMAC-MD5 oder HMAC-SHA-1. Unter IKE sorgt die Aktivierung der Funktion Perfect Forward Secrecy (PFS) für frisches Schlüsselmaterial bei der Aushandlung eines Keys für den Quick Mode. Ohne PFS leitet Phase 2 die ESP Schlüssel vom DH-Geheimnis der IKE Phase 1 ab. Wird etwa im IKE Main Mode nur alle 24 Stunden authentisiert, so hängen alle in diesem Zeitraum erstellten IPsec SAs von diesem Master-Schlüssel ab. Knackt ein Angreifer den Schlüssel, so wären alle Sessions eines Tages kompromittiert.

Mit einem Proposal signalisiert ein IPSec-VPN-Peer, mit welchen Algorithmen er umgehen kann und welche DH-Gruppe er verwenden will. Zur Verschlüsselung implementieren die meisten Hersteller 3DES und AES mit verschiedenen Schlüssellängen jeweils im CBC-Mode. Für die Authentisierung sorgen die Hash-Algorithmen SHA-1 und MD5.

Anhand des Security Parameters Index (SPI) kann ein IPSec-Peer die zum Paket gehörige Security Association (SA) erkennen, um es zu entschlüsseln und die Authentizität zu prüfen. In den Security Associations (SA) speichern die Peers die Konfiguration einer VPN-Verbindung, etwa die benutzten kryptographischen Algorithmen, die Zeit bis zur Neuberechnung von Schlüsseln und so weiter. Phase 1 und Phase 2 besitzen jeweils eigene SAs, die nur unidirektional gelten. Pro Phase benötigt ein Peer also jeweils eine SA für eingehenden und ausgehenden Datenverkehr. (dab)