TLS bietet drei Dinge:
- Vertraulichkeit: dass niemand den Verkehr zwischen Ihnen und
facebook.com
(einschließlich des Mannes) sehen kann am Nebentisch bei Starbucks, Ihrem ISP, einige skizzenhafte Netzwerkgeräte im Rechenzentrum COUGH NSA , niemand). - Integrität: dass niemand Änderungen vornimmt die Nachrichten, während sie zwischen Ihnen und
facebook.com
übertragen werden (dies unterscheidet sich von der Vertraulichkeit, da Sie bei einigen Arten von Angriffen die Nachricht auf böswillige Weise ändern können, auch wenn Sie die Nachrichten nicht kennen ). - Authentifizierung: dass Sie mit dem authentischen
facebook.com
-Server sprechen, nicht mit einer gefälschten Version davon.
Die Grundidee, die ich von ihnen erhalten habe, ist, dass bei Verwendung von https alle Dinge clientseitig verschlüsselt und dann an den Server gesendet werden. (Bitte korrigieren Sie mich, wenn ich falsch liege.)
Dies betrifft die Vertraulichkeits- und Integritätsteile, aber Sie vermissen den Authentifizierungsteil:
Um dies zu beweisen Sie sprechen nicht mit einem gefälschten Webserver.
Angenommen, ich habe eine Phishing-Version von Facebook eingerichtet und mich irgendwie in Ihren Heimrouter (einfach) oder ISP (schwieriger) gehackt, damit wann Wenn Sie facebook.com
eingeben, wird meine IP-Adresse anstelle der tatsächlichen Adresse aufgelöst. Ich habe eine genaue Kopie des erwarteten Anmeldebildschirms erstellt und Sie geben Ihren Benutzernamen und Ihr Passwort ein. Muahaha! Jetzt habe ich Ihren Benutzernamen und Ihr Passwort.
Wie verhindert HTTPS dies? Antwort: mit Zertifikaten:
Wenn wir das Zertifikat in der Dev Tools> -Sicherheit meines Browsers öffnen, wird Folgendes angezeigt:
DigiCert wird als öffentlich vertrauenswürdige Zertifizierungsstelle (CA) bezeichnet. Tatsächlich ist DigiCert eine der Zertifizierungsstellen, denen Ihr Browser von Natur aus vertraut, da sein "Stammzertifikat" in den Quellcode Ihres Browsers eingebettet ist. Sie können die vollständige Liste der vertrauenswürdigen Stammzertifizierungsstellen anzeigen, indem Sie in den Browsereinstellungen nach "Zertifikaten" oder "Vertrauenswürdigen Wurzeln" oder Ähnlichem suchen.
Ihr Browser vertraut also von Natur aus DigiCert und über dieses Zertifikat DigiCert hat bestätigt, dass der Server, mit dem Sie sprechen, der echte facebook.com
ist (da er den privaten Schlüssel hat, der mit dem Zertifikat übereinstimmt). Sie erhalten das grüne Vorhängeschloss und wissen, dass alles in Ordnung ist.
Nur zum Spaß machen wir einen gefälschten facebook.com
. Ich habe diese Zeile zu meiner Hosts-Datei hinzugefügt, damit sie bei jeder Eingabe von facebook.com
zur IP-Adresse von google.com
umgeleitet wird:
209.85.147.138 facebook.com
Google, was machst du, wenn du versuchst, mein Facebook-Passwort zu stehlen? Gott sei Dank ist HTTPS hier, um mich zu beschützen! Mein Browser ist sehr unglücklich, da das vorgelegte Zertifikat (für google.com
) nicht mit der angeforderten URL übereinstimmt ( facebook.com
). Vielen Dank an HTTPS!