Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Wie gewährleistet HTTPS die Sicherheit? (ausführliche Erklärung)

Wie gewährleistet HTTPS die Sicherheit? (ausführliche Erklärung)

青灯夜游
青灯夜游Original
2020-06-17 10:59:282768Durchsuche

Dieser Artikel führt Sie durch die Probleme von HTTP und stellt vor, wie HTTPS die Sicherheit gewährleistet. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird für alle hilfreich sein.

Wie gewährleistet HTTPS die Sicherheit? (ausführliche Erklärung)

Probleme mit HTTP

1. Abhörrisiko: Kommunikationsnutzung Plain Text (nicht verschlüsselt), der Inhalt kann abgehört werden (ein Dritter kann den Kommunikationsinhalt erfahren)

2. Risiko der Identitätsfälschung: Die Identität der kommunizierenden Partei wird nicht überprüft Es besteht die Möglichkeit einer Verschleierung

3 Manipulationsrisiko: Die Integrität der Nachricht kann nicht nachgewiesen werden, daher wurde sie möglicherweise manipuliert

HTTPS

Wie gewährleistet HTTPS die Sicherheit? (ausführliche Erklärung)

Sie können HTTPS-Websites sehen und in der Adressleiste des Browsers wird ein Sperrzeichen angezeigt.

HTTPS ist kein neues Protokoll auf der Anwendungsschicht. Normalerweise kommuniziert HTTP direkt mit TCP, während HTTPS zuerst mit der Sicherheitsschicht (SSL/TLS) und dann die Sicherheitsschicht mit der TCP-Schicht kommuniziert.

Wie gewährleistet HTTPS die Sicherheit? (ausführliche Erklärung)

Das SSL/TLS-Protokoll wurde entwickelt, um die oben genannten Probleme von HTTP zu lösen:

1. Alle Informationen werden verschlüsselt und können nicht von Dritten abgehört werden

Ausgestattet mit Identitätsüberprüfung, um Identitätsfälschungen zu verhindern

Verfügt über einen Überprüfungsmechanismus, sobald er manipuliert wurde Damit entdecken die kommunizierenden Parteien sofort

Verschlüsselung

Symmetrische Verschlüsselung

Verschlüsselung Die Methode Die Verwendung desselben geheimen Schlüssels zur Entschlüsselung wird als Shared-Key-Verschlüsselung oder auch als symmetrische Schlüsselverschlüsselung bezeichnet.

Wie gewährleistet HTTPS die Sicherheit? (ausführliche Erklärung)

  • Der Browser sendet es an den Server client_random und eine Reihe von Verschlüsselungsmethoden

  • Der Server sendet es an den Browserserver_random und Verschlüsselungsmethode

Der vorhandene Browser und Server haben drei identische Anmeldeinformationen: client_random, server_random und Verschlüsselungsmethode
verwendet eine Verschlüsselungsmethode, um zwei Zufallszahlen client_random und server_random zu mischen, um einen geheimen Schlüssel zu generieren. Dieser Schlüssel ist das Passwort für die Kommunikation zwischen dem Browser und dem Server. Probleme mit

: Der Dritte kann client_random, server_random und die Verschlüsselungsmethode in der Mitte erhalten. Da diese Verschlüsselungsmethode gleichzeitig entschlüsselt werden kann, kann der Mittelsmann das Passwort erfolgreich entschlüsseln und erhalten die Daten, was sehr einfach ist. Diese Verschlüsselungsmethode kann leicht gebrochen werden.

Asymmetrische Verschlüsselung

Wie gewährleistet HTTPS die Sicherheit? (ausführliche Erklärung)

  • Der Browser sendet eine Reihe von Verschlüsselungsmethoden an den Server

  • Der Server sendet die Verschlüsselungsmethode und den öffentlichen Schlüssel an den Browser

Dann verschlüsselt der Browser die Daten und überträgt sie über den öffentlichen Schlüssel an den Server Der Server empfängt die Daten mit einem privaten Schlüssel. Wenn der Server Daten an den Browser sendet, verwendet er den privaten Schlüssel, um diese zu verschlüsseln. Der Browser empfängt die vom Server gesendeten Daten und verwendet den öffentlichen Schlüssel, um sie zu entschlüsseln.

Bestehende Probleme:

  • Asymmetrische Verschlüsselung ist zu ineffizient, was die Geschwindigkeit der Ver- und Entschlüsselung ernsthaft beeinträchtigt und dann die Fähigkeiten des Benutzers beeinträchtigt um die Seitengeschwindigkeit zu öffnen.

  • Es gibt keine Möglichkeit, die Sicherheit der vom Server an den Browser gesendeten Daten zu garantierenDie Daten des Servers können nur mit dem privaten Schlüssel verschlüsselt werden (da Wenn der Browser den öffentlichen Schlüssel verwendet, kann er nicht entschlüsselt werden. Sobald der Mittelsmann den öffentlichen Schlüssel erhält, kann er die vom Server gesendeten Daten entschlüsseln und sie werden erneut geknackt.

HTTPS verwendet eine Kombination aus symmetrischer und asymmetrischer Verschlüsselung

Symmetrische Verschlüsselung wird weiterhin während der Datenübertragungsphase verwendet, wir verwenden jedoch nicht- Symmetrische Verschlüsselungsschlüssel Symmetrisch verschlüsselte Übertragung.

Wie gewährleistet HTTPS die Sicherheit? (ausführliche Erklärung)

  • Der Browser sendet client_random und eine Liste der Verschlüsselungsmethoden an den Server.

  • Der Server empfängt es und gibt server_random, Verschlüsselungsmethode und öffentlichen Schlüssel zurück.

  • Der Browser empfängt es, generiert dann eine weitere Zufallszahl pre_master, verschlüsselt sie mit dem öffentlichen Schlüssel und überträgt sie an den Server. (Schlüsselbedienung!)

  • Der Server verwendet den privaten Schlüssel, um den verschlüsselten Pre_Master zu entschlüsseln.

Zu diesem Zeitpunkt haben der Server und der Browser die gleichen client_random, server_random und pre_master, und dann verwenden der Server und der Browser diese drei Sätze von Zufallszahlen, um symmetrische Schlüssel zu generieren . Mit dem symmetrischen geheimen Schlüssel können beide Parteien eine symmetrische Verschlüsselung zur Datenübertragung nutzen.

CA (digitales Zertifikat)

Verwendet eine symmetrische und asymmetrische Hybridmethode, um eine verschlüsselte Übertragung von Daten zu erreichen. Aber es gibt immer noch ein Problem: Der Server könnte von Hackern imitiert werden. Auf diese Weise greift der Browser auf den Server des Hackers zu und der Hacker kann den öffentlichen Schlüssel und den privaten Schlüssel auf seinem eigenen Server implementieren. Der Browser weiß jedoch nicht vollständig, dass die Website des Hackers besucht wird.

Der Server muss seine Identität nachweisen und ein von einer autoritativen Organisation ausgestelltes Zertifikat verwenden. Diese autoritative Organisation ist die CA (Certificate Authority), und das ausgestellte Zertifikat wird als digitales Zertifikat bezeichnet.

Für den Browser hat das digitale Zertifikat zwei Funktionen:

  • Nachweisen der Identität des Servers gegenüber dem Browser durch das digitale Zertifikat

  • Das digitale Zertifikat enthält den öffentlichen Schlüssel des Servers

Werfen wir einen Blick auf den HTTPS-Anfrageprozess, der das digitale Zertifikat enthält

Wie gewährleistet HTTPS die Sicherheit? (ausführliche Erklärung)

Im Vergleich zum HTTPS-Anfrageprozess ohne digitale Zertifikate gibt es zwei wesentliche Änderungen:

  • Der Server gibt den öffentlichen Schlüssel nicht direkt an den Browser zurück, sondern gibt ein Nummernzertifikat zurück und der öffentliche Schlüssel ist im digitalen Zertifikat enthalten.

  • Nachdem das Zertifikat überprüft wurde, wird der nachfolgende Prozess fortgesetzt .

Referenz

Empfohlenes Tutorial: Webserver-Sicherheit

Das obige ist der detaillierte Inhalt vonWie gewährleistet HTTPS die Sicherheit? (ausführliche Erklärung). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn