Wie vermeidet HTTPS, dass der Schlüssel für die Verschlüsselung überhaupt erst entdeckt wird?

438
Zequez

Wenn zwei Computer eine HTTPS-Verbindung herstellen, müssen sie herausfinden, welcher Schlüssel verwendet wird, oder?

Um das zu tun, muss der Schlüssel irgendwann unverschlüsselt von einem Computer zum anderen reisen, nein. Ist es in diesem Moment nicht möglich, dass ein Mann in der Mitte daran schnüffelt und den Schlüssel erhält, dann kann er die verschlüsselten Pakete damit einfach lesen / schreiben?

Wie vermeidet das HTTPS-Protokoll das?

3

2 Antworten auf die Frage

3
jlliagre

SSL verwendet zwei Schlüssel, einen privaten und einen öffentlichen. Es wird nur der öffentliche Schlüssel gesendet, und dieser Schlüssel hat keinen Wert, es sei denn, Sie kennen den privaten.

Jede Partei verschlüsselt die Daten, die sie sendet, mit dem öffentlichen Schlüssel der anderen (das ist etwas komplexer, aber Sie haben die Idee). Nur der Empfänger kann den Verkehr (leicht) dekodieren.

Das bedeutet, dass das Verkehrsschnüffeln nicht so sehr ein Problem darstellt, obwohl Brute-Force-Angriffe natürlich von der verwendeten Schlüsselgröße und dem verwendeten Algorithmus abhängen.

Angriffe auf Menschen in der Mitte, die auf Verkehrsabfangen und Serversubstitution basieren, sind ein höheres Risiko, werden jedoch normalerweise durch die Verwendung vertrauenswürdiger Zertifizierungsstellen verhindert. Es wäre jedoch nicht zulässig, wenn Sie die Warnungen ignorieren, die Ihr Browser anzeigt, wenn ein Serverzertifikat nicht mit dem Namen der Site übereinstimmt oder nicht von einer vertrauenswürdigen Kette von Behörden ausgegeben wurde (z. B. ein selbstsigniertes Zertifikat).

1
Chris Nava

Das HTTPS / SSL-Protokoll verwendet private / öffentliche Schlüssel, um eine sichere Verbindung zu gewährleisten. http://en.wikipedia.org/wiki/Transport_Layer_Security