Ein Artikel, in dem Sie das HTTPS-Protokoll gründlich analysieren können

HTTP - Links zu verschiedenen Risiken Seite Hijacking zugewandt ist , Privatsphäre Leckage, ist dies , wie Sie auf HTTPS für die Authentifizierung, Verschlüsselung und Content Compliance - Prüfung durch einfache Mittel analysierten
von: Luo Tencent Cloud Senioren F & E - Ingenieurs

Quelle: Tencent Cloud Technology Community

1. Das Dilemma des WeChat-Applet-Zugriffs

Das neue Mondjahr steht vor der Tür und das WeChat-Applet wird ebenfalls wie geplant veröffentlicht. Entwickler werden beim Zugriff auf das WeChat-Applet auf folgende Probleme stoßen:

Das kleine Programm erfordert die Kommunikation mit dem Server über HTTPS. Wenn der Entwickler den HTTPS-Dienst selbst erstellen möchte, muss er das SSL-Zertifikat selbst beantragen und bereitstellen, den Aufbau des https-Dienstes abschließen und die Effizienz ist lang und der Prozess lang. Die CPU hat einen enormen Overhead.

Nicht nur kleine Programme, die Apple iOS-Plattform und Google Android im Jahr 2017 erforderten nach und nach auch die Verwendung des HTTPS-Zugriffs durch Entwickler. HTTPS scheint eine unausweichliche Schwelle zu sein, die vielen Entwicklern Kopfschmerzen bereitet hat.

Als Reaktion auf die oben genannten Probleme hofft der Cloud-Lastausgleichsdienst von Tencent Cloud, einen SSL-Zertifikatanwendungsdienst mit einem Klick bereitzustellen, indem die Leistung von HTTPS optimiert, der Anwendungsschwellenwert und die Nutzungskosten von HTTPS gesenkt werden, sodass Entwickler schnell darauf zugreifen können WeChat Applet und andere Dienste. Schauen wir uns zunächst den Vergleich von HTTP und HTTPS an, um Ihr Rätsel nacheinander zu lösen.

Zweitens, warum sollte auf HTTPS zugegriffen werden - HTTP-Sicherheitsrisiken

Das HTTP-Protokoll ist ein sehr einfaches und effizientes Protokoll. Die meisten gängigen Internetanwendungen verwenden standardmäßig HTTP. Aufgrund der Einschränkungen der Leistung und der Verwendungsumgebung in den 90er Jahren ist das HTTP-Protokoll selbst kein aus Sicherheitsgründen entwickeltes Protokoll. Es gibt weder eine Identitätsauthentifizierung noch eine Konsistenzprüfung. Das größte Problem besteht darin, dass der gesamte Inhalt von HTTP im Klartext übertragen wird. .

Andererseits ändert sich auch die Entwicklung des Internets mit jedem Tag, und verschiedene HTTP-Anwendungen dringen weiterhin in alle Aspekte des Lebens der Menschen ein. Unabhängig davon, ob es sich um soziale Netzwerke, Einkäufe, Finanzen, Spiele oder Suchanfragen handelt, können diese HTTP-Dienste den Menschen großen Komfort bieten und die Lebensqualität und Effizienz verbessern.

Offensichtlich ist HTTP eng mit dem Leben und den wirtschaftlichen Interessen der Menschen verbunden. Leider ist es nicht sicher. Es bedeutet auch, dass eine große versteckte Gefahr bestehen muss. Diese verborgenen Gefahren konzentrieren sich auf die folgenden zwei Aspekte:

1. Offenlegung der Privatsphäre

Da HTTP selbst im Klartext übertragen wird, kann der Vermittler den Übertragungsinhalt zwischen dem Benutzer und dem Server anzeigen. Mit anderen Worten, Sie können suchen, einkaufen, Verkaufsstellen besuchen, Seiten anklicken und andere Informationen im Internet erhalten Sie vom "Mittelsmann". Da die meisten Chinesen dem Schutz der Privatsphäre nicht viel Aufmerksamkeit schenken, sind die Risiken hier relativ verborgen und die Folgen von Verletzungen werden quantitativ nicht gut bewertet. Einige bekannte schwerwiegende Datenschutzverletzungen sind:

Der QQ-Anmeldestatus wurde von Kriminellen gestohlen und dann an einem anderen Ort angemeldet, um Werbung und Betrug zu betreiben.
Die Handynummer und die Identitätsinformationen des Benutzers werden durchgesickert.
Das Online-Verhalten der Benutzer ist durchgesickert. Wenn Sie beispielsweise nach einem Krankenhaus suchen, wird bald jemand anrufen, um es zu bewerben (nicht wirksame Werbung).
2. Seitenentführung

Das Risiko von Datenschutzverlusten ist relativ verborgen, und die Benutzer sind sich dessen grundsätzlich nicht bewusst. Die Auswirkungen einer anderen Art von Hijacking sind jedoch sehr offensichtlich und sehr direktes Seiten-Hijacking, bei dem die Browserseite des Benutzers direkt manipuliert wird. Es gibt viele Seitenentführungen, die einfach und grob sind und direkt Werbung von Drittanbietern oder Eingabeaufforderungen von Betreibern einfügen.
Bildbeschreibung

Es gibt jedoch einige versteckte Entführungen, wie z. B. die folgende Jingdong-Seitenentführung: Die obige Seite ist die Seite, die HTTP verwendet, und an der Stelle, die durch den Pfeil oben angezeigt wird, wird eine Einkaufsempfehlung angezeigt, die sehr realistisch ist, genau wie Jingdong oder das offizielle Tool des Browsers .
Bildbeschreibung

Für den HTTPS-Zugriff gibt es jedoch keine solche Tool-Seite, die offensichtlich entführt wird.

3. Entführungspfad und Klassifizierung

Wie kam es zur Entführung? Technisch gesehen ist es relativ einfach. Es reicht aus, zu überwachen und zu manipulieren, wo der Inhalt passiert. Um jedoch die gesamte entführte Industriekette klar herauszufinden, ist es notwendig, tief in die Schwarzindustrie einzusteigen, was schwieriger ist. Eines ist sicher, der größte Teil der Entführung findet im mittleren Netzwerkknoten statt, der auch als "Mann in der Mitte" (MITM) bezeichnet wird. Wie unten gezeigt:
Bildbeschreibung

Da die Informationsübertragung über die oben genannten "Mittelsmannknoten" erfolgen muss, verfügen sie auch über Lese- und Schreibberechtigungen für Informationen. Wenn die Informationen nicht verschlüsselt oder verifiziert sind, ist es für den "Mittelsmann" ein Kinderspiel, die Privatsphäre anzuzeigen und die Seite zu manipulieren .

Was sind die Hauptkategorien von Hijacking? Entsprechend dem Hijacking-Pfad werden in der folgenden Abbildung hauptsächlich drei Kategorien angezeigt:
Bildbeschreibung

DNS-Hijacking, Client-Hijacking und Link-Hijacking. Nach unseren unvollständigen Statistiken handelt es sich bei den meisten Entführungen (90%) von Unternehmen um Link-Hijackings.

Drittens ist HTTPS eine Atomwaffe, um die Entführung von Verbindungen zu lösen

Warum kann HTTPS Link-Hijacking gut lösen? Es gibt drei Hauptwaffen:

1. Identitätsauthentifizierung - Fälschungs- und Ablehnungsschutz

Jedes Mal, wenn eine neue HTTPS-Verbindung hergestellt wird, muss die Identität authentifiziert werden, um sicherzustellen, dass der Benutzer die richtige Zielwebsite besucht.
Bildbeschreibung

2. Inhaltsverschlüsselung - Abhören

Inhaltsverschlüsselung bedeutet, dass der End-to-End-Kommunikationsinhalt ausschließlich Chiffretext ist und der Mittelsmann den Klartext nicht direkt anzeigen kann. Der gesamte Inhalt der Anwendungsebene von HTTPS wird durch symmetrische Verschlüsselung verschlüsselt und entschlüsselt.
Bildbeschreibung

3. Manipulationssicherer Konsistenzprüfungsnachweis

Durch den MAC-Code der Daten und des gemeinsam genutzten Schlüssels, um zu verhindern, dass der Mittelsmann den Inhalt der Nachricht manipuliert, und um die Konsistenz der Daten sicherzustellen.

Viertens der Schmerz der Popularisierung von HTTPS

Tatsächlich wurde HTTPS 1995 geboren und ist ein sehr altes und ausgereiftes Protokoll. Gleichzeitig kann es die Entführung von Inhalten verhindern und die Privatsphäre der Benutzer schützen. Aber warum unterstützen die meisten Websites (etwa 66%) bis heute kein HTTPS und verwenden nur HTTP?

Die Hauptgründe, die die Popularität von HTTPS beeinflussen, können in zwei Worten zusammengefasst werden: "langsam" und "teuer".

1. Langsam

Ohne Optimierung wird HTTPS die Zugriffsgeschwindigkeit des Benutzers erheblich reduzieren. Die Hauptfaktoren sind:

Das Netzwerk braucht Zeit. Aufgrund der Bestimmungen der Vereinbarung muss die Netzübertragung durchgeführt werden. Zum Beispiel SSL-Handshake, 302-Sprung usw. Im schlimmsten Fall können 7 RTTs hinzugefügt werden.
Bildbeschreibung

Die Berechnung braucht Zeit. Sowohl der Client als auch der Server müssen eine symmetrische Ver- und Entschlüsselung, Protokollanalyse, Berechnung des privaten Schlüssels, Zertifikatsüberprüfung und andere Berechnungen durchführen, wodurch viel Rechenzeit hinzugefügt wird.
2. Teuer

Die Kosten von HTTPS spiegeln sich hauptsächlich in den folgenden drei Aspekten wider:

Serverkosten. Die Berechnung des privaten Schlüssels von HTTPS führt zu einem starken Rückgang der Leistung des Servers, sogar weniger als ein Zehntel des HTTP-Protokolls. Wenn die Leistung von HTTP 10000 cps beträgt, kann die Leistung von HTTPS nur einige hundert cps betragen, was sich um ein Vielfaches oder sogar erhöht Dutzende Serverkosten.

Zertifikatskosten. Abhängig von der Anzahl der Zertifikate und der Art des Zertifikats kann es Hunderte bis Millionen von Zertifikaten pro Jahr kosten.

Entwicklungs- und Betriebskosten. Das HTTPS-Protokoll ist relativ komplex, und bei der Open-Source-Implementierung von openssl treten häufig Sicherheitslücken auf, einschließlich Protokollkonfiguration, Zertifikataktualisierung, Ablaufüberwachung und Clientkompatibilität. Eine Reihe von Problemen, z. B. technisches Personal mit professionellem Hintergrund, müssen behoben werden.

V. Leistungsoptimierung von Tencent Cloud Load Balancer HTTPS

Tencent Cloud Load Balancer hat die Schwachstellen im Prozess der HTTPS-Werbung und -Anwendung tief optimiert. Als nächstes stellen wir diese Optimierungsschemata im Detail vor:

1. Optimierung der Zugriffsgeschwindigkeit

Wie bereits erwähnt, ist HTTPS sehr langsam. Wir haben auch die Zugriffsgeschwindigkeit auf zwei Ebenen optimiert: Protokollstapel sowie Front-End- und Back-End-Ressourcen.

Optimierung des Full Link-Protokollstapels

HTTPS kann als HTTP über SSL betrachtet werden, und HTTPS verwendet das TCP-Protokoll für die Übertragung, sodass die Optimierung des gesamten Protokollstapels drei Ebenen umfasst:

TCP-Optimierung. Einschließlich der Anpassung des Überlastungsfensters, des schnellen Öffnens von TCP, der Wiederverwendungsunterstützung, der neuesten Unterstützung des BBR-Überlastungskontrollalgorithmus usw.
SSL-Protokolloptimierung. Verteilter Sitzungscache, Sitzungsticket, Fehlstart, OCP-Heftdatei, dynamische Datensatzgröße usw.
Bildbeschreibung

Das wichtigste Ziel der SSL-Protokolloptimierung ist die Erhöhung des Verhältnisses von vereinfachtem Handshake. Tencent Cloud verbessert das vereinfachte Handshake-Verhältnis von SSL durch die Implementierung eines globalen Sitzungscaches und eines globalen Sitzungstickets, wodurch Benutzerzugriffszeit und Rechenressourcen gespart werden.

3. Protokolloptimierung auf Anwendungsebene. Es unterstützt auch SPDY, HTTP2, HSTS usw.

Der größte Vorteil von HTTP2 gegenüber HTTP1.X ist das Multiplexen. Es kann mehrere HTTP-Anforderungen parallel über eine TCP-Verbindung senden. Im Vergleich zur seriellen Übertragung von HTTP1.X ist die Leistung zweifellos erheblich verbessert.

Da HTTP2 von SPDY geerbt wird, unterstützen einige ältere Clients nur SPDY, nicht HTTP2. Die meisten neuen Clients unterstützen nur HTTP2, nicht SPDY. Um gleichzeitig mit der Leistung neuer und alter Clients kompatibel zu sein, unterstützt Tencent Cloud sowohl SPDY als auch HTTP2, um die Leistung neuer und alter Clientversionen zu maximieren.

Frontend-Optimierung

Das größte Merkmal und der größte Vorteil von HTTP2 und SPDY ist das Multiplexen, bei dem mehrere Anforderungen parallel über eine Verbindung gesendet werden können. Obwohl diese Funktion sehr leistungsfähig ist, ist der Effekt des Multiplexens sehr begrenzt, wenn Sie immer noch die traditionelle HTTP-Optimierungsstrategie verwenden. Beispielsweise wirken sich Fragmentierung von Domänennamen, Pipline usw. auf den Multiplexeffekt aus. Daher haben wir die Strategie einiger Front-End-Ressourcen einschließlich des Back-End-Zugriffs durch mehrere Datenexperimente angepasst:

Der Domainname wird zurückgegeben. Durch die Analyse der Seitenressourcen und der Leistung wird der Domainname erfasst, z. B. nicht mehr als 3 mobile Seiten.
Vorgefertigte Verbindungen. STGW bietet vorverbundene Seiten. Durch die Analyse des Benutzerverhaltens von Hot Pages wird die Verbindung im Voraus hergestellt, um die Auswirkungen des Protokoll-Overheads auf die Benutzererfahrung zu verringern.
Über die CDN- und IDC-Knoten von Tencent Cloud auf der ganzen Welt wird das HTTPS-Offload in der Nähe abgeschlossen.
2. Optimierung der Rechenleistung

Für die Rechenleistung von HTTPS wurde Tencent Cloud auf drei Ebenen optimiert:

Versuchen Sie, das Auftreten eines vollständigen Handshakes zu reduzieren und das Verhältnis des vereinfachten Handshakes zu erhöhen. Zum Beispiel der oben erwähnte globale Sitzungscache und das Sitzungsticket.
Für den unvermeidlichen vollständigen Handshake implementierte Tencent Cloud asynchrones RSA-Proxy-Computing. Durch die Änderung des Protokollstapels und die Verwendung von SSL-Hardwarebeschleunigungskarten wurden die Rechenleistung und die Anti-Angriffsfähigkeit von HTTPS erheblich verbessert.
Der Berechnungsprozess für die symmetrische Verschlüsselung wurde ebenfalls für die Verwendung von Szenen optimiert.
Hier ist eine detaillierte Einführung:

Asynchrones RSA-Proxy-Computing

Tencent Cloud hat wichtige Aspekte des HTTPS-Leistungsverbrauchs optimiert, den asymmetrischsten Algorithmus für den Schlüsselaustausch. Die Optimierungsidee besteht hauptsächlich aus den folgenden drei Teilen:

Algorithmus-Trennung. Es geht darum, die Algorithmen zu entfernen, die die meisten CPU-Ressourcen verbrauchen, und keine lokalen CPU-Ressourcen zu verbrauchen.

Agent Computing. Verwenden Sie einen inaktiven CPU-Computer oder eine dedizierte SSL-Hardwarebeschleunigungskarte, um die RSA-Berechnung abzuschließen.

Asynchrone Ausführung. Wenn traditionelles openssl RSA ausführt, müssen Anwendungen der oberen Ebene wie NGINX synchron warten. Dieser Schritt ist ebenfalls sehr einflussreich, und es muss eine asynchrone Transformation durchgeführt werden, damit der Zugriffsserver beim Beschleunigen des Clusters zur Durchführung von RSA-Berechnungen auch auf Anforderungen anderer Benutzer zugreifen kann, um den Durchsatz zu verbessern.

Durch die gründliche Transformation des OpenSSL-Handshake-Protokollstapels und die RSA-Rechenleistung der SSL-Hardwarebeschleunigungskarte wurde die SSL-Rechenkapazität von Tencent Cloud CLB um 350% erhöht. Die Verarbeitungsleistung von ECDHE_RSA auf einer Maschine erreichte 65000 cps.

Automatische optimale Auswahl des symmetrischen Verschlüsselungsalgorithmus

Tencent Cloud entspricht dem optimalen symmetrischen Verschlüsselungsalgorithmus gemäß dem Anwendungsszenario:

Für Streaming-Medien wie Video wird aes-gcm bevorzugt.
Verwenden Sie für mobile Endgeräte, die keine Anweisungen zur Beschleunigung der aes-ni-Hardware unterstützen, chacha20-poly1305.
Für IE6 und andere Clients auf antiker Ebene wird der RC4-Algorithmus verwendet.
Bildbeschreibung

3. Paralleles Auslagern des Protokolls

Tencent Cloud CLB unterstützt den Zugriff und das Auslagern aller gängigen HTTP-Protokolle. Einschließlich:

http1.0 / http1.1 http2
und Vorgänger spdy3.1
https, einschließlich ssl3.0, tlsv1.0, tlsv1.1, tlsv1.2 Websocket
und Secure Websocket.
tcp, udp transparente weiterleitung.
CLB kann das oben genannte siebenschichtige Protokoll einheitlich in HTTP1.1 konvertieren und transparent an das Unternehmen übertragen. Die Vorteile für das Unternehmen liegen ebenfalls auf der Hand: 0 Entwicklungskosten können HTTPS und HTTP2 verwenden, wodurch der Anpassungsdruck an verschiedene Protokolle und Clients erheblich verringert wird.
Bildbeschreibung

4. Sicherheit

Die mit der Sicherheit verbundenen Felder und Szenarien sind sehr groß. Obwohl HTTPS das Link-Hijacking vollständig lösen kann, ist es für die folgenden zwei Arten von Problemen machtlos:

Bei CC-Angriffen, insbesondere bei HTTPS-Computing-Angriffen, nimmt die Leistung von HTTPS stark ab, was zu einem höheren Sicherheitsrisiko führt.
Unternehmenssicherheit, einschließlich SQL-Injection, XSS-Cross-Site, Web-Horse usw.
Beide oben genannten Kategorien sind sehr riskante Sicherheitsprobleme, von denen Unternehmen häufig betroffen sind.

Als Reaktion auf die oben genannten Probleme hat Tencent Cloud auch eine Reihe von Sicherheitssystemen gegen HTTP, CC und WAF entwickelt und implementiert, die sich wirksam gegen solche Sicherheitsrisiken verteidigen können.

Bildbeschreibung

6. Nullschwelle, HTTPS-Schnellzugriff auf das WeChat-Applet

Tencent Cloud CLB Load Balancer erzielt eine enorme Verbesserung der HTTPS-Leistung durch eine umfassende Optimierung des Protokollstapels und des Servers. Gleichzeitig haben wir durch die Zusammenarbeit mit international renommierten Zertifizierungsstellen die Kosten für Zertifikate erheblich gesenkt. Tencent Cloud CLB kann in folgenden Aspekten erhebliche Vorteile für den WeChat-Applet-Zugriff bieten:

Bereitstellung einer SSL-Zertifikatanwendung mit einem Klick, CLB-Lastausgleichsdienst als HTTPS-Proxy, Reduzierung des Entwicklungsaufwands, sodass sich Entwickler auf die Entwicklung kleiner Programmunternehmen konzentrieren können.

Die Verwendung von HTTPS verlangsamt die Zugriffsgeschwindigkeit des Clients nicht. HTTP- und HTTPS-Zugriffsverzögerungen sind nahezu gleich.

Die SSL-Verschlüsselungs- und Entschlüsselungsleistung eines einzelnen Servers im Cluster beträgt bis zu 6,5 Wcps (vollständiger Handshake). Im Vergleich zu Hochleistungs-CPUs wurde sie um mindestens das 3,5-fache verbessert. Dies spart serverseitige Kosten, verbessert die Servicefunktionen während des Geschäftsbetriebs und plötzliche Verkehrsstöße erheblich und verbessert die Abwehr gegen Computerangriffe.

Unterstützt das Auslagern und Konvertieren mehrerer Protokolle. Um den Druck der verschiedenen Protokolle des Service Adaptation Clients zu verringern, muss das Service Backend nur HTTP1.1 unterstützen, um HTTP2, SPDY, SSL3.0, TLS1.2 und andere Versionen des Protokolls zu verwenden. Erfüllen Sie die Anforderungen des WeChat-Applets, der iOS-Plattform und anderer Protokolle.

Anwendung, Überwachung und Austausch von SSL-Zertifikaten. Wir arbeiten eng mit comodo und symantec, den weltweit führenden Zertifikatherstellern, zusammen und verfügen über perfekte Service-Systeme.

Anti-CC- und WAF-Funktionen. Es kann Angriffe auf Anwendungsebene wie langsame Verbindungen, hochfrequente Festkomma-Angriffe, SQL-Injection und das Hängen von Webseiten effektiv eliminieren.

Die oben genannten Vorteile können Entwicklern helfen, den Schwellenwert für HTTPS-Versuche zu senken. Entwickler können auch unsere offizielle Website besuchen oder auf "WeChat Mini Program Solution" klicken, um die Best Practices für den Zugriff auf das WeChat Mini Program anzuzeigen.
.
.
.
.


Weitere Informationen zur Cloud-Computing-Technologie finden Sie unter

Tencent Cloud Technology Community

Öffentliches WeChat-Konto: Tencent Cloud Technology Community (QcloudCommunity)
Bildbeschreibung*

Ich denke du magst

Origin www.cnblogs.com/jlfw/p/12732209.html
Empfohlen
Rangfolge