


Wie gewährleistet HTTPS die Sicherheit? (ausführliche Erklärung)
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.
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
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.
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.
Der Browser sendet es an den Server
client_random
und eine Reihe von Verschlüsselungsmethoden-
Der Server sendet es an den Browser
server_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
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.
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
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
Wie man Asymmetrie leicht verständlich erklärt Begriffe Verschlüsselung?
(1,6w Wörter) Die Seele des Browsers Fragen , wie viele kannst du abholen?
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!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



So implementieren Sie mit NginxProxyManager einen Reverse-Proxy unter dem HTTPS-Protokoll. Mit der Popularität des Internets und der Diversifizierung der Anwendungsszenarien sind die Zugriffsmethoden auf Websites und Anwendungen immer komplexer geworden. Um die Effizienz und Sicherheit des Website-Zugriffs zu verbessern, haben viele Websites damit begonnen, Reverse-Proxys zur Bearbeitung von Benutzeranfragen zu verwenden. Der Reverse-Proxy für das HTTPS-Protokoll spielt eine wichtige Rolle beim Schutz der Privatsphäre der Benutzer und der Gewährleistung der Kommunikationssicherheit. In diesem Artikel wird die Verwendung von NginxProxy vorgestellt

So implementieren Sie den automatischen Sprung von HTTP zu HTTPS mit NginxProxyManager Mit der Entwicklung des Internets beginnen immer mehr Websites, das HTTPS-Protokoll zur Verschlüsselung der Datenübertragung zu verwenden, um die Datensicherheit und den Schutz der Privatsphäre der Benutzer zu verbessern. Da das HTTPS-Protokoll die Unterstützung eines SSL-Zertifikats erfordert, ist bei der Bereitstellung des HTTPS-Protokolls eine gewisse technische Unterstützung erforderlich. Nginx ist ein leistungsstarker und häufig verwendeter HTTP-Server und Reverse-Proxy-Server sowie NginxProxy

Nginx ist eine leistungsstarke Webserver-Software und ein leistungsstarker Reverse-Proxy-Server und Load Balancer. Mit der rasanten Entwicklung des Internets beginnen immer mehr Websites, das SSL-Protokoll zum Schutz vertraulicher Benutzerdaten zu verwenden. Nginx bietet außerdem leistungsstarke SSL-Unterstützung, wodurch die Sicherheitsleistung des Webservers noch weiter gesteigert wird. In diesem Artikel erfahren Sie, wie Sie Nginx so konfigurieren, dass es das SSL-Protokoll unterstützt und die Sicherheitsleistung des Webservers schützt. Was ist das SSL-Protokoll? SSL (SecureSocket

Der https-Workflow umfasst Schritte wie vom Client initiierte Anfrage, Serverantwort, SSL/TLS-Handshake, Datenübertragung und clientseitiges Rendering. Durch diese Schritte kann die Sicherheit und Integrität der Daten während der Übertragung gewährleistet werden.

Konfigurationsschritte: 1. Besorgen Sie sich das SSL-Zertifikat. 3. Bearbeiten Sie die Tomcat-Konfigurationsdatei. Detaillierte Einführung: 1. Sie müssen ein SSL-Zertifikat erhalten, entweder ein selbstsigniertes Zertifikat oder ein gültiges SSL-Zertifikat von einer Zertifizierungsstelle (z. B. Let's Encrypt). 2. Legen Sie das erhaltene SSL-Zertifikat und die privaten Schlüsseldateien auf dem Server ab Stellen Sie sicher, dass sich diese Dateien an einem sicheren Ort befinden und nur Benutzer mit ausreichenden Berechtigungen darauf zugreifen können. 3. Bearbeiten Sie Tomcat-Konfigurationsdateien usw.

Der Grund für den Fehler ist, dass der ProxySchemeUnknown(proxy.scheme)-Fehler von urllib3 normalerweise durch die Verwendung eines nicht unterstützten Proxy-Protokolls verursacht wird. In diesem Fall erkennt urllib3 den Protokolltyp des Proxyservers nicht und kann daher den Proxy nicht für Netzwerkverbindungen verwenden. Um dieses Problem zu beheben, müssen Sie sicherstellen, dass Sie ein unterstütztes Proxy-Protokoll wie HTTP oder HTTPS verwenden. So lösen Sie dieses Problem: Sie müssen sicherstellen, dass Sie ein unterstütztes Proxy-Protokoll wie HTTP oder HTTPS verwenden . Sie können dieses Problem lösen, indem Sie die Proxy-Parameter von urllib3 festlegen. Wenn Sie einen http-Proxy verwenden, lautet das Codebeispiel wie folgt: importurllib3http

Der Unterschied zwischen einseitiger und zweiseitiger Überprüfung: Einseitige Überprüfung: bezieht sich darauf, dass der Client das serverseitige Zertifikat überprüft, und der Server muss das Client-Zertifikat nicht überprüfen. Zwei-Wege-Überprüfung: Bezieht sich darauf, dass der Client das serverseitige Zertifikat überprüft, und der Server muss auch das Client-Zertifikat über das öffentliche Schlüsselzertifikat der Zertifizierungsstelle überprüfen. Detaillierter Handshake-Prozess: Einwegauthentifizierung Der Browser sendet eine Verbindungsanfrage an den sicheren Server. 1. Der Server sendet sein eigenes Zertifikat und zertifikatsbezogene Informationen an den Client-Browser. 2. Der Client-Browser prüft, ob das vom Server gesendete Zertifikat von der CA-Zentrale ausgestellt wurde, der er vertraut. Wenn dies der Fall ist, fahren Sie mit der Ausführung der Vereinbarung fort. Wenn nicht, gibt der Browser des Clients eine Warnmeldung aus: Er warnt den Client, dass dieses Zertifikat nicht vertrauenswürdig ist, und fragt den Client, ob er fortfahren muss. 3. Kunden abholen

Im heutigen Internetzeitalter ist sichere Kommunikation zu einem unverzichtbaren Bestandteil geworden. Gerade bei der HTTPS-Kommunikation ist es besonders wichtig, deren Sicherheit zu gewährleisten. Als beliebter Webserver und Reverse-Proxy-Server kann die Firewall von Nginx auch eine wichtige Rolle bei der Gewährleistung der sicheren HTTPS-Kommunikation spielen. In diesem Artikel wird die Nginx-Firewall unter folgenden Gesichtspunkten erläutert. TLS/SSL-Verschlüsselung Die Sicherheitsgarantie der HTTPS-Kommunikation basiert hauptsächlich auf der TLS/SSL-Verschlüsselungstechnologie, die verhindern kann, dass Daten während der Übertragung übertragen werden.
