Der private Schlüssel des Benutzers wird nur für die Authentifizierung verwendet?

8

Ich habe eine einfache Frage zum OpenVPN-Protokoll. Nehmen wir an, wir haben zwei verschiedene Benutzer mit unterschiedlichen Schlüsseln für denselben Server und beide Schlüssel mit 1024 Bit. Wenn diese beiden Benutzer genau dieselbe Anfrage stellen und jemand die Daten auf dem Server abhört, sieht diese Person (der Sniffer) dieselben Daten für beide Benutzer oder unterschiedliche Daten? Die Frage ist, ob der private Schlüssel des Benutzers nach der Authentifizierung die Kryptografie stört oder ob er nur zur Authentifizierungszeit verwendet wird. Danke.

user2864778
quelle
Bei jeder semantisch sicheren Verschlüsselung unterscheiden sich die verschlüsselten Daten, auch wenn sowohl Schlüssel als auch Daten identisch sind. Ihre Frage könnte also genauer wie folgt formuliert werden: "Verwendet das OpenVPN-Protokoll eine semantisch sichere Verschlüsselung?". Bei einigen Verschlüsselungsmodi beeinflussen alle von Ihnen übertragenen Daten auch die Verschlüsselung der später gesendeten Daten. Selbst wenn der Schlüssel nur anfänglich verwendet wird, hat dies dennoch Einfluss darauf, wie die verschlüsselten Daten in der gesamten Verbindung aussehen.
Kasperd

Antworten:

10

Wenn diese beiden Benutzer genau dieselbe Anfrage stellen und jemand die Daten auf dem Server abhört, sieht diese Person (der Sniffer) dieselben Daten für beide Benutzer oder unterschiedliche Daten?

Unterschiedliche Daten.

Die Frage ist, ob der private Schlüssel des Benutzers nach der Authentifizierung die Kryptografie stört oder ob er nur zur Authentifizierungszeit verwendet wird.

Die öffentlichen / privaten Schlüssel werden nur während der Authentifizierung / Schlüsselaushandlung verwendet.


OpenVPN kann in einem von zwei Modi betrieben werden , einem Pre-Shared Key oder der Verwendung von TLS mit Zertifikaten. Der vorinstallierte Schlüssel ist statisch, konstant, aber Sie fragen nach dem Zertifikatmodus.

Ich werde nicht zu sehr ins Detail gehen, und Sie können TLS selbst nachschlagen, aber im Grunde verwendet TLS die Zertifikate (und privaten Schlüssel) zur Authentifizierung und während der Schlüsselverhandlungsphase. Es generiert einen symmetrischen Verschlüsselungsschlüssel (z. B. BlowFish, AES usw.) und verwendet die Kryptografie mit öffentlichem Schlüssel, um diesen Schlüssel sicher freizugeben.

Tatsächliche Nachrichten werden dann mit symmetrischer Verschlüsselung verschlüsselt. Jede Sitzung verfügt über einen eigenen unabhängigen Verschlüsselungsschlüssel (wenn Sie also die Verbindung trennen und erneut herstellen, erhalten Sie tatsächlich einen anderen Schlüssel). Ebenso hat jeder Benutzer unterschiedliche Sitzungen und daher unterschiedliche Schlüssel.

Dafür gibt es zwei Gründe. Die symmetrische Verschlüsselung ist erheblich schneller als die asymmetrische Verschlüsselung und wird daher für einen hohen Durchsatz bevorzugt (die Schwierigkeit besteht in der Schlüsselfreigabe, die in der Verhandlungsphase gelöst wird). Indem jedes Mal ein neuer Schlüssel generiert wird, ist es für gefährdete Schlüssel schwieriger, die Daten anderer Sitzungen ( FS ) anzuzeigen .

Bob
quelle
Ah, los geht's - die Antwort, die ich gerade schrieb, nur viel deutlicher ausgedrückt. +1 von mir.
MadHatter
+1 und als Antwort akzeptiert. Ihre Antwort war sehr wertvoll und hat meine Fragen geklärt. Vielen Dank
user2864778
1

Jeder Client verschlüsselt seine Daten mit dem zwischen Client und Server ausgehandelten Schlüssel, sodass die auf dem VPN-Gateway empfangenen Daten für beide Benutzer unterschiedlich sind.

denisvm
quelle
2
Der erste Teil ist nicht korrekt. OpenVPN verwendet TLS , das keine Kryptografie mit öffentlichem Schlüssel zum Verschlüsseln von Nachrichten verwendet.
Bob