OpenVPN 2.4 Sicherheitsunterschiede zwischen tls-crypt und tls-auth

OpenVPN 2.4 Sicherheitsunterschiede zwischen tls-crypt und tls-auth

Ich habe TLS-Crypt gelesen und war neugierig, ob dies die Sicherheit erhöht und die Wahrscheinlichkeit verringert, dass Schlüssel während Handshakes kompromittiert werden, und ob es im Vergleich zu TLS-Auth eine bessere Sicherheit bietet.

Vielleicht kann jemand TLS-Auth und TLS-Crypt besser erklären und erklären, wie sie die Sicherheit verbessern?

meine aktuelle Klientenakte:

client
tls-client
dev tun
proto udp
remote 1.2.3.4 9999
<ca>
</ca>
<cert>
</cert>
<key>
</key>
pull
auth-nocache 
cipher AES-256-CBC
keysize 256
compress lz4-v2
reneg-sec 36000
keepalive 30 120

Antwort1

Der TLS-Handshake kann mehr oder weniger in die folgenden Schritte unterteilt werden:

  1. Clients senden „Client Hello“ zusammen mit dem Zufallswert des Clients und der unterstützten Verschlüsselungssammlung an den Server.
  2. Der Server antwortet dem Client mit „Server-Hallo“ zusammen mit dem Zufallswert des Servers und der gewählten Chiffriersuite.
  3. Der Server sendet sein Zertifikat zur Authentifizierung an den Client.
  4. Der Client überprüft die Serveridentität.
  5. Der Client erstellt ein zufälliges Pre-Master-Secret und verschlüsselt es mit dem öffentlichen Schlüssel aus dem Server-Zertifikat.
  6. Der Client sendet das verschlüsselte Pre-Master-Secret an den Server.
  7. Der Server KANN bei Bedarf ein Zertifikat vom Client anfordern.
  8. Sowohl Server als auch Client generieren den Sitzungsschlüssel basierend auf dem Pre-Master-Secret.
  9. Server und Client können nun mit Hilfe des Sitzungsschlüssels verschlüsselte Nachrichten austauschen.

Der Unterschied zwischen TLS-Auth und TLS-Crypt besteht darin, dass TLS-Crypt ab Schritt 1 alle Nachrichten mit einem vorab freigegebenen Schlüssel verschlüsselt.

Dies bietet mehrere Vorteile:

  1. Es verbirgt die Initialisierung eines TLS-Handshakes mit einem OpenVPN-Server. Dies ist in einigen Situationen hilfreich, wenn die OpenVPN-Protokollsignatur erkannt und blockiert wird.
  2. Es verhindert TLS-Denial-of-Service-Angriffe. Mit tls-auth kann der Angreifer Tausende von TLS-Verbindungen gleichzeitig öffnen, ohne ein gültiges Zertifikat vorzulegen, wodurch die verfügbaren Ports blockiert werden. Mit tls-crypt würde der Server die Verbindung bereits in Schritt 1 ablehnen.
  3. Die Daten werden zweimal verschlüsselt, einmal durch TLS-Crypt und einmal durch die TLS-Sitzung.

verwandte Informationen