Der Artikel ist mit Github/blog synchronisiert
Menschen werden Webtransaktionen verwenden, um einige sehr wichtige Dinge zu erledigen. Ohne starke Sicherheitsgarantien können Menschen nicht bedenkenlos online einkaufen oder Bankgeschäfte tätigen. Unternehmen können wichtige Dokumente nicht auf einem Webserver ablegen, ohne die Zugriffsrechte stark einzuschränken. Das Web benötigt eine sichere Form von HTTP.
Derzeit gibt es einige einfache Methoden für 提供认证
(基本认证
und 摘要认证
) und 报文完整性检查
(summary qop="auth-int"). Diese Methoden funktionieren für viele Netzwerktransaktionen gut, sind jedoch nicht leistungsstark genug für umfangreiche Einkäufe, Banktransaktionen oder den Zugriff auf vertrauliche Daten. Diese wichtigeren Transaktionen erfordern eine Kombination aus HTTP und digitaler Verschlüsselung, um die Sicherheit zu gewährleisten.
Die sichere Version von HTTP sollte effizient, portabel und einfach zu verwalten sein. Sie sollte sich nicht nur an veränderte Situationen anpassen können, sondern auch den Anforderungen von Gesellschaft und Regierung gerecht werden. Wir benötigen eine HTTP-Sicherheitstechnologie, die die folgenden Funktionen bietet.
Serverauthentifizierung (Clients wissen, dass sie mit einem echten Server kommunizieren und nicht mit einem gefälschten).
Client-Authentifizierung (Server wissen, dass sie mit einem echten Client und nicht mit einem gefälschten Client sprechen).
Integrität (Client- und Serverdaten werden nicht geändert).
Verschlüsselung (die Konversation zwischen Client und Server ist privat, es besteht kein Grund zur Sorge, abgehört zu werden).
Effizienz (ein Algorithmus, der schnell genug läuft, um von Low-End-Clients und -Servern verwendet zu werden).
Universalität (grundsätzlich unterstützen alle Clients und Server diese Protokolle).
Verwaltete Skalierbarkeit (jeder und überall kann sofort und sicher kommunizieren).
Anpassbar (in der Lage, die bekanntesten aktuellen Sicherheitsmethoden zu unterstützen).
Soziale Machbarkeit (Erfüllung der politischen und kulturellen Bedürfnisse der Gesellschaft).
In dieser einführenden Einführung in die digitale Verschlüsselungstechnologie werden wir Folgendes besprechen.
Schlüssel: Ein digitaler Parameter, der das Verhalten eines Passworts ändert.
Symmetrisches Schlüsselverschlüsselungssystem: Ein Algorithmus, der denselben Schlüssel zum Kodieren/Dekodieren verwendet.
Asymmetrisches Schlüsselverschlüsselungssystem: Kodierungs-/Dekodierungsalgorithmen mit unterschiedlichen Schlüsseln.
Öffentliches Schlüsselverschlüsselungssystem: Ein System, das es Millionen von Computern ermöglicht, problemlos vertrauliche Nachrichten zu senden.
Digitale Signatur: Eine Prüfsumme, mit der überprüft wird, ob die Nachricht nicht gefälscht oder manipuliert wurde.
Digitales Zertifikat: Identifizierende Informationen, die von einer vertrauenswürdigen Organisation überprüft und ausgestellt wurden.
Kryptographie basiert auf einem Geheimcode namens 密码(cipher)
. Eine Chiffre ist ein Kodierungsschema – eine Kombination aus einer bestimmten Art der Kodierung einer Nachricht und einer entsprechenden Art der späteren Dekodierung. Die ursprüngliche Nachricht vor der Verschlüsselung wird normalerweise 明文(plaintext 或 cleartext)
genannt. Die verschlüsselte Nachricht nach Verwendung des Passworts heißt normalerweise 密文(ciphertext)
.
Kryptographie wird seit Tausenden von Jahren zur Generierung vertraulicher Informationen eingesetzt. Der Legende nach verwendete 尤利乌斯·凯撒(Julius Caesar)
einst eine dreistellige zyklische Verschiebungsverschlüsselung, bei der jedes Zeichen in der Nachricht durch das Zeichen drei Positionen später im Alphabet ersetzt wurde. Im modernen Alphabet würde „A“ durch „D“, „B“ durch „E“ usw. ersetzt werden.
Mit dem Fortschritt der Technologie haben Menschen begonnen, Maschinen herzustellen, die Nachrichten mithilfe viel komplexerer Chiffren schnell und genau verschlüsseln und entschlüsseln können. Diese Chiffriermaschinen können nicht nur einige einfache Drehungen durchführen, sondern auch Zeichen ersetzen, die Reihenfolge der Zeichen ändern und Nachrichten in Scheiben schneiden, um das Knacken des Codes zu erschweren.
In der Realität können sowohl der Kodieralgorithmus als auch die Kodiermaschine oft in die Hände des Feindes geraten, daher verfügen die meisten Maschinen über einige Wählscheiben, die auf eine große Anzahl verschiedener Werte eingestellt werden können, um sie zu ändern die Funktionsweise des Passwort-Weges. Selbst wenn die Maschine gestohlen wird, funktioniert der Decoder ohne die richtige Wählradeinstellung (Schlüsselwert) nicht.
Diese kryptografischen Parameter werden 密钥(key)
genannt. Damit der Entschlüsselungsprozess korrekt abläuft, muss der richtige Schlüssel in die kryptografische Maschine eingegeben werden. Kryptografische Schlüssel lassen eine kryptografische Maschine wie mehrere virtuelle kryptografische Maschinen erscheinen, von denen jede einen unterschiedlichen Schlüsselwert und daher ein unterschiedliches Verhalten aufweist.
Gegeben eine Klartextnachricht P, eine Kodierungsfunktion E und ein digitaler Kodierungsschlüssel e, kann ein kodierter Chiffretext C generiert werden. Durch die Dekodierungsfunktion D und den Dekodierungsschlüssel d kann der Chiffretext C in den ursprünglichen Klartext P dekodiert werden. Natürlich sind die Kodierungs-/Dekodierungsfunktionen zueinander inverse Funktionen. Durch die Dekodierung von P wird die ursprüngliche Nachricht P zurückgegeben.
Viele digitale Verschlüsselungsalgorithmen werden 对称密钥(symmetric-key)
Verschlüsselungstechnologie genannt, weil sie beim Kodieren und Dekodieren denselben Schlüsselwert verwenden (e=d). Wir werden sie gemeinsam Schlüssel k nennen.
Beliebte Verschlüsselungsalgorithmen mit symmetrischen Schlüsseln sind: DES
, Triple-DES
, RC2
und RC4
.
Es ist wichtig, Ihre Schlüssel vertraulich zu behandeln. In vielen Fällen ist der Kodierungs-/Dekodierungsalgorithmus bekannt, sodass nur der Schlüssel geheim gehalten wird. Ein guter Verschlüsselungsalgorithmus zwingt einen Angreifer, jeden möglichen Schlüssel auszuprobieren, bevor er den Code knacken kann. Versuchen Sie es mit Brute Force. Alle Schlüsselwerte heißen 枚举攻击(enumeration attack)
.
Einer der Nachteile von 对称密钥加密技术
besteht darin, dass Sender und Empfänger einen gemeinsamen geheimen Schlüssel haben müssen, bevor sie miteinander kommunizieren können.
Zum Beispiel möchten Alice (A), Bob (B) und Chris (C) alle mit Joe’s Hardware Store (J) sprechen. A, B und C müssen alle geheime Schlüssel zwischen sich und J einrichten. A benötigt möglicherweise den Schlüssel KAJ, B benötigt möglicherweise den Schlüssel KBJ und C benötigt möglicherweise den Schlüssel KCJ. Jedes Paar kommunizierender Entitäten benötigt seinen eigenen privaten Schlüssel. Wenn es N Knoten gibt, muss jeder Knoten sicher mit allen N-1 anderen Knoten kommunizieren, es werden insgesamt etwa N2 geheime Schlüssel vorhanden sein: Dies wird ein Management-Albtraum sein.
Anstatt separate Verschlüsselungs-/Entschlüsselungsschlüssel für jedes Hostpaar zu verwenden, verwendet die Public-Key-Kryptografie zwei 非对称密钥
: einen. Einer wird zum Verschlüsseln von Host-Nachrichten verwendet. und der andere wird zum Dekodieren von Host-Nachrichten verwendet.
Die gemeinsame Herausforderung aller asymmetrischen Verschlüsselungssysteme mit öffentlichem Schlüssel besteht darin, sicherzustellen, dass jemand den geheimen privaten Schlüssel nicht berechnen kann, selbst wenn er alle folgenden Hinweise hat:
Öffentlicher Schlüssel (der öffentlich und für jedermann verfügbar ist);
Ein kleines Stück abgefangenen Chiffretext (kann über das Netzwerk abgerufen werden, durch Schnüffeln erhalten);
Eine Nachricht und der zugehörige Chiffretext (Sie können ihn erhalten, indem Sie den Verschlüsseler auf einem beliebigen Textstück ausführen).
Der RSA-Algorithmus ist ein beliebtes Public-Key-Verschlüsselungssystem, das alle diese Kriterien erfüllt. Er wurde am MIT erfunden und später von RSA Data Security kommerzialisiert. Selbst mit dem öffentlichen Schlüssel, jedem Stück Klartext, dem relevanten Chiffretext, der nach der Codierung des Klartextes mit dem öffentlichen Schlüssel erhalten wird, dem RSA-Algorithmus selbst und sogar dem Quellcode der RSA-Implementierung besteht die Schwierigkeit, den Code zu knacken, um den entsprechenden privaten Code zu finden Der Schlüssel entspricht immer noch der Schwierigkeit, eine sehr große Zahl in Primfaktoren zu zerlegen, einer Berechnung, die als eines der schwierigsten Probleme in der gesamten Informatik gilt. Wenn Sie also eine Methode entdecken, mit der sich eine sehr große Zahl schnell in Primfaktoren zerlegen lässt, können Sie sich nicht nur in das Schweizer Bankkontensystem hacken, sondern auch den Turing Award gewinnen.
Jeder kann eine sichere Nachricht an einen öffentlichen Server senden, solange er den öffentlichen Schlüssel kennt. Daher ist ein asymmetrisches Verschlüsselungssystem mit öffentlichem Schlüssel sehr nützlich. Zwei Knoten müssen nicht zuerst private Schlüssel austauschen, um sicher zu kommunizieren.
Aber die Berechnung des Public-Key-Verschlüsselungsalgorithmus kann sehr langsam sein. Es verwendet tatsächlich eine Mischung aus symmetrischen und asymmetrischen Strategien. Ein üblicher Ansatz besteht beispielsweise darin, eine sichere Kommunikation zwischen zwei Knoten mithilfe einer praktischen Verschlüsselungstechnologie mit öffentlichen Schlüsseln herzustellen, dann diesen sicheren Kanal zum Generieren und Senden eines temporären zufälligen symmetrischen Schlüssels zu verwenden und eine schnellere symmetrische Verschlüsselungstechnologie zu verwenden, um die verbleibenden Daten zu verschlüsseln. (Dies gilt sowohl für SSH als auch für HTTPS)
Zusätzlich zur Verschlüsselung/Entschlüsselung der Nachricht kann das Verschlüsselungssystem auch verwendet werden, um 签名(sign)
anzugeben, wer die Nachricht geschrieben hat und beweisen, dass die Nachricht nicht manipuliert wurde. Diese Technik wird 数字签名(digital signing)
genannt.
Die digitale Signatur ist ein spezieller verschlüsselter Bestätigungscode , der an die Nachricht angehängt wird. Digitale Signaturen werden normalerweise mithilfe der 非对称公开密钥
-Technologie generiert. Da nur der Eigentümer den privaten Schlüssel kennt, kann der private Schlüssel des Autors als eine Art „Fingerabdruck“ verwendet werden.
Das RSA-Verschlüsselungssystem verwendet die Dekodierungsfunktion D als Signaturfunktion, da D den privaten Schlüssel als Eingabe verwendet hat. Beachten Sie, dass die Dekodierungsfunktion nur eine Funktion ist und Sie sie daher mit jeder Eingabe verwenden können. Ebenso heben sich im RSA-Verschlüsselungssystem die D- und E-Funktionen gegenseitig auf, wenn sie in beliebiger Reihenfolge angewendet werden. Daher ist E(D(stuff)) = stuff, genau wie D(E(stuff)) = stuff.
Der private Schlüssel und der öffentliche Schlüssel sind ein Paar, beide können verschlüsselt und entschlüsselt und paarweise verwendet werden. Das Prinzip von RSA besteht darin, dass das Produkt (n) zweier großer Primzahlen (p, q) schwer invers zu lösen ist, sodass pq äquivalent ist und der öffentliche Schlüssel und der private Schlüssel ebenfalls äquivalent sind.
Die Verschlüsselung mit privatem Schlüssel und die Entschlüsselung mit öffentlichem Schlüssel können die eindeutige Identität des „Eigentümers des privaten Schlüssels“ nachweisen und werden für Signaturen verwendet.
Die Verschlüsselung mit öffentlichem Schlüssel und die Entschlüsselung mit privatem Schlüssel stellen sicher, dass nur der „Eigentümer des privaten Schlüssels“ die gesendeten Informationen entschlüsseln kann (wenn der private Schlüssel zum Verschlüsseln der Daten verwendet wird, werden sie von entschlüsselt). der Inhaber des öffentlichen Schlüssels (es kann viele Inhaber geben) entschlüsseln, den Informationsschutz verlieren)
„Personalausweis“ im Internet – digitales Zertifikat. 数字证书(通常被称作“certs”,有点像 certs 牌薄荷糖)
enthält Informationen über einen Benutzer oder ein Unternehmen, die von einer vertrauenswürdigen Organisation unterstützt werden.
Das digitale Zertifikat enthält außerdem eine Reihe von Informationen, die alle von einem Beamten digital signiert sind 证书颁发机构(CA)
.
Darüber hinaus enthalten digitale Zertifikate typischerweise auch den öffentlichen Schlüssel des Objekts sowie beschreibende Informationen über das Objekt und den verwendeten Signaturalgorithmus. Jeder kann ein digitales Zertifikat erstellen, aber nicht jeder verfügt über die anerkannte ausstellende Autorität, die für die Zertifikatsinformationen bürgt und das Zertifikat mit seinem privaten Schlüssel ausstellt. Eine typische Zertifikatsstruktur ist in der Abbildung dargestellt.
Leider gibt es keinen einheitlichen globalen Standard für digitale Zertifikate. So wie nicht alle gedruckten Personalausweise die gleichen Informationen an den gleichen Stellen enthalten, gibt es digitale Zertifikate in vielen leicht unterschiedlichen Formen. Die gute Nachricht ist jedoch, dass die meisten heute verwendeten Zertifikate ihre Informationen in einem Standardformat speichern – X.509 v3
. X.509 v3-Zertifikate bieten eine Standardmethode zur Formalisierung von Zertifikatsinformationen in einer Reihe analysierbarer Felder. Verschiedene Arten von Zertifikaten haben unterschiedliche Feldwerte, die meisten folgen jedoch der X.509 v3-Struktur.
Es gibt verschiedene Arten von Signaturen, die auf X.509-Zertifikaten basieren, darunter Webserver-Zertifikate, Client-E-Mail-Zertifikate, Software-Codesignatur-Zertifikate und Zertifizierungsstellenzertifikate.
Nach dem Einrichten einer sicheren Webtransaktion über HTTPS erhalten moderne Browser automatisch das digitale Zertifikat des verbundenen Servers. Wenn der Server kein Zertifikat hat, schlägt die sichere Verbindung fehl.
Wenn der Browser das Zertifikat empfängt, überprüft er die Signaturautorität. Wenn es sich bei dieser Organisation um eine sehr autoritative öffentliche Signaturstelle handelt, kennt der Browser möglicherweise bereits seinen öffentlichen Schlüssel (auf Browsern sind Zertifikate von vielen Signaturstellen vorinstalliert).
Wenn nichts über die Signaturautorität bekannt ist, kann der Browser nicht bestimmen, ob er der Signaturautorität vertrauen soll, und zeigt dem Benutzer normalerweise ein Dialogfeld an, um zu sehen, ob er dem Signaturaussteller vertraut. Der Signaturaussteller kann eine lokale IT-Abteilung oder ein Softwareanbieter sein.
HTTPS ist die beliebteste Form der HTTP-Sicherheit. Es wurde von Netscape entwickelt und wird von allen gängigen Browsern und Servern unterstützt.
Bei der Verwendung von HTTPS werden alle HTTP-Anfrage- und Antwortdaten verschlüsselt, bevor sie an das Netzwerk gesendet werden. HTTPS bietet eine kryptografische Sicherheitsschicht auf Transportebene unterhalb von HTTP – entweder unter Verwendung von SSL oder dessen Nachfolger – 传输层安全(Transport Layer Security,TLS)
. Da SSL und TLS sehr ähnlich sind, verwenden wir den Begriff SSL weniger streng, um sowohl SSL als auch TLS zu bezeichnen.
HTTP-Kommunikation ohne SSL/TLS ist unverschlüsselte Kommunikation. Alle Informationen werden im Klartext verbreitet, was drei große Risiken mit sich bringt.
窃听风险(eavesdropping)
: Dritte können den Inhalt der Kommunikation erfahren.
篡改风险(tampering)
: Ein Dritter kann den Kommunikationsinhalt ändern.
冒充风险(pretending)
: Dritte können vorgeben, andere zu sein, um an der Kommunikation teilzunehmen.
Das SSL/TLS-Protokoll soll diese drei Hauptrisiken lösen und Folgendes erreichen:
Alle Informationen werden verschlüsselt und übertragen. Drei Parteien können nicht abhören.
verfügt über einen Verifizierungsmechanismus. Sobald es manipuliert wird, wird es von den kommunizierenden Parteien sofort entdeckt.
Ausgestattet mit einem Identitätszertifikat, um Identitätsfälschungen zu verhindern.
SSL(Secure Socket Layer)是安全套接层
, TLS(Transport Layer Security)是传输层安全协议
, basieren auf der SSL3.0-Protokollspezifikation und sind Folgeversionen von SSL3.0. SSL wurde erst in Version 3.0 in großem Umfang eingesetzt und angewendet. Der offensichtliche Unterschied zwischen der TLS-Version und SSL besteht darin, dass sie unterschiedliche Verschlüsselungsalgorithmen unterstützt. Das neueste derzeit verwendete Protokoll ist das TLS1.2-Protokoll. Version 1.3 befindet sich noch im Entwurfsstadium.
Sicheres HTTP ist jetzt optional. Wenn Sie einen Client (z. B. einen Webbrowser) auffordern, eine Transaktion auf einer Webressource durchzuführen, überprüft er das URL-Schema:
Wenn das URL-Schema http ist, öffnet der Client eine Verbindung zum Server-Port 80 (standardmäßig) und sendet ihm den alten HTTP-Befehl.
Wenn das URL-Schema https ist, öffnet der Client eine Verbindung zum Server-Port 443 (standardmäßig) und führt dann einen „Handshake“ mit dem Server durch, wobei er mit dem Server binäre Daten austauscht Format Einige SSL-Sicherheitsparameter sowie verschlüsselte HTTP-Befehle.
SSL ist ein binäres Protokoll, das sich völlig von HTTP unterscheidet, und sein Datenverkehr wird über einen anderen Port übertragen (SSL wird normalerweise über Port 443 übertragen). Wenn sowohl SSL- als auch HTTP-Verkehr auf Port 80 ankommen, interpretieren die meisten Webserver den binären SSL-Verkehr als fehlerhaftes HTTP und schließen die Verbindung. Durch die weitere Integration von Sicherheitsdiensten in die HTTP-Schicht entfällt die Notwendigkeit, mehrere Zielports zu verwenden, was in der Praxis keine ernsthaften Probleme verursacht.
Bevor die verschlüsselte Kommunikation gestartet wird, müssen Client und Server zunächst eine Verbindung herstellen und Parameter austauschen. Dieser Vorgang wird als Handshake bezeichnet. Unter der Annahme, dass der Client Alice und der Server Bob heißt, kann der gesamte Handshake-Prozess durch die folgende Abbildung veranschaulicht werden.
Die Handshake-Phase ist in fünf Schritte unterteilt:
Alice gibt die Protokollversionsnummer und a client Das generierte 随机数(Client random)
und die vom Client unterstützten Verschlüsselungsmethoden.
Bob bestätigt die von beiden Parteien verwendete Verschlüsselungsmethode und gibt das digitale Zertifikat und ein 服务器生成的随机数(Server random)
.
Alice bestätigt, dass das digitale Zertifikat gültig ist, generiert dann ein neues 随机数(Premaster secret)
, verwendet den öffentlichen Schlüssel im digitalen Zertifikat, um die Zufallszahl zu verschlüsseln, und sendet es an Bob.
Bob verwendet seinen privaten Schlüssel, um die von Alice gesendete Zufallszahl (d. h. Premaster secret
) zu erhalten.
Gemäß der vereinbarten Verschlüsselungsmethode generieren Alice und Bob aus den ersten drei Zufallszahlen 对话密钥(session key)
, mit dem der gesamte Gesprächsprozess verschlüsselt wird.
Die oben genannten fünf Schritte werden in einem Bild zusammengefasst, das wie folgt aussieht:
Es gibt drei Handshake-Stufen Zu beachtende Punkte:
Insgesamt sind drei Zufallszahlen erforderlich, um den Konversationsschlüssel zu generieren.
Die Konversation nach dem Handshake wird mit 对话密钥(session key)
(symmetrische Verschlüsselung) verschlüsselt, nichts Sonst Effekt. 对话密钥(session key)
geknackt werden kann. 第三个随机数(Premaster secret)
garantiert werden kann, dass er nicht geknackt wird, solange der öffentliche Schlüssel des Servers lang genug ist (z. B. 2048 Bit). Um jedoch ausreichend sicher zu sein, können wir erwägen, den Algorithmus in der Übergabephase vom Standard-RSA-Algorithmus zum Diffie-Hellman-Algorithmus (kurz DH-Algorithmus) zu ändern. Premaster secret
muss DH算法
nicht übergeben werden. Beide Parteien können die Zufallszahl durch Austausch ihrer eigenen Parameter berechnen. Premaster secret
In der obigen Abbildung ändern sich der dritte und vierte Schritt von der Übergabe von
zur Übergabe der von Premaster secret
erforderlichen Parameter und dann von Each Seite berechnet DH算法
. Dies erhöht die Sicherheit. Premaster secret
Zunächst überprüft der Browser das Start- und Enddatum des Zertifikats, um sicherzustellen, dass das Zertifikat noch gültig ist. Wenn das Zertifikat abgelaufen ist oder nicht aktiviert wurde, schlägt die Überprüfung der Zertifikatsgültigkeit fehl und der Browser zeigt eine Fehlermeldung an. 日期检测
签名颁发者可信度检测
每个证书都是由某些 证书颁发机构(CA)
签发的,它们负责为服务器担保。证书有不同的等级,每种证书都要求不同级别的背景验证。比如,如果申请某个电 子商务服务器证书,通常需要提供一个营业的合法证明。
任何人都可以生成证书,但有些 CA 是非常著名的组织,它们通过非常清晰的流 程来验证证书申请人的身份及商业行为的合法性。因此,浏览器会附带一个签名颁发机构的受信列表。如果浏览器收到了某未知(可能是恶意的)颁发机构签发的证书,那它通常会显示一条警告信息。
签名检测
一旦判定签名授权是可信的,浏览器就要对签名使用签名颁发机构的公开密钥, 并将其与校验码进行比较,以查看证书的完整性。
站点身份检测
为防止服务器复制其他人的证书,或拦截其他人的流量,大部分浏览器都会试着 去验证证书中的域名与它们所对话的服务器的域名是否匹配。服务器证书中通常 都包含一个域名,但有些 CA 会为一组或一群服务器创建一些包含了服务器名称 列表或通配域名的证书。如果主机名与证书中的标识符不匹配,面向用户的客户 端要么就去通知用户,要么就以表示证书不正确的差错报文来终止连接。
SSL 是个复杂的二进制协议。除非你是密码专家,否则就不应该直接发送原始的 SSL 流量。幸运的是,借助一些商业或开源的库,编写 SSL 客户端和服务器并不十 分困难。
OpenSSL 是 SSL 和 TLS 最常见的开源实现。OpenSSL 项目由一些志愿者合作开发, 目标是开发一个强壮的、具有完备功能的商业级工具集,以实现 SSL 和 TLS 协议以 及一个全功能的通用加密库。可以从 http://www.openssl.org 上获得 OpenSSL 的相 关信息,并下载相应软件。
强烈推荐一本书:HTTP 权威指南
超详解析 | CDN HTTPS优化实践,全网一分钟生效
图解SSL/TLS协议
HTTP 权威指南
Der Artikel ist mit Github/blog synchronisiert
Menschen werden Webtransaktionen verwenden, um einige sehr wichtige Dinge zu erledigen. Ohne starke Sicherheitsgarantien können Menschen nicht bedenkenlos online einkaufen oder Bankgeschäfte tätigen. Unternehmen können wichtige Dokumente nicht auf einem Webserver ablegen, ohne die Zugriffsrechte stark einzuschränken. Das Web benötigt eine sichere Form von HTTP.
Derzeit gibt es einige einfache Methoden für 提供认证
(基本认证
und 摘要认证
) und 报文完整性检查
(summary qop="auth-int"). Diese Methoden funktionieren für viele Netzwerktransaktionen gut, sind jedoch nicht leistungsstark genug für umfangreiche Einkäufe, Banktransaktionen oder den Zugriff auf vertrauliche Daten. Diese wichtigeren Transaktionen erfordern eine Kombination aus HTTP und digitaler Verschlüsselung, um die Sicherheit zu gewährleisten.
Die sichere Version von HTTP sollte effizient, portabel und einfach zu verwalten sein. Sie sollte sich nicht nur an veränderte Situationen anpassen können, sondern auch den Anforderungen von Gesellschaft und Regierung gerecht werden. Wir benötigen eine HTTP-Sicherheitstechnologie, die die folgenden Funktionen bietet.
Serverauthentifizierung (Clients wissen, dass sie mit einem echten Server kommunizieren und nicht mit einem gefälschten).
Client-Authentifizierung (Server wissen, dass sie mit einem echten Client und nicht mit einem gefälschten Client sprechen).
Integrität (Client- und Serverdaten werden nicht geändert).
Verschlüsselung (die Konversation zwischen Client und Server ist privat, es besteht kein Grund zur Sorge, abgehört zu werden).
Effizienz (ein Algorithmus, der schnell genug läuft, um von Low-End-Clients und -Servern verwendet zu werden).
Universalität (grundsätzlich unterstützen alle Clients und Server diese Protokolle).
Verwaltete Skalierbarkeit (jeder und überall kann sofort und sicher kommunizieren).
Anpassbar (in der Lage, die bekanntesten aktuellen Sicherheitsmethoden zu unterstützen).
Soziale Machbarkeit (Erfüllung der politischen und kulturellen Bedürfnisse der Gesellschaft).
In dieser einführenden Einführung in die digitale Verschlüsselungstechnologie werden wir Folgendes besprechen.
Schlüssel: Ein digitaler Parameter, der das Verhalten eines Passworts ändert.
Symmetrisches Schlüsselverschlüsselungssystem: Ein Algorithmus, der denselben Schlüssel zum Kodieren/Dekodieren verwendet.
Asymmetrisches Schlüsselverschlüsselungssystem: Kodierungs-/Dekodierungsalgorithmen mit unterschiedlichen Schlüsseln.
Öffentliches Schlüsselverschlüsselungssystem: Ein System, das es Millionen von Computern ermöglicht, problemlos vertrauliche Nachrichten zu senden.
Digitale Signatur: Eine Prüfsumme, mit der überprüft wird, ob die Nachricht nicht gefälscht oder manipuliert wurde.
Digitales Zertifikat: Identifizierende Informationen, die von einer vertrauenswürdigen Organisation überprüft und ausgestellt wurden.
Kryptographie basiert auf einem Geheimcode namens 密码(cipher)
. Eine Chiffre ist ein Kodierungsschema – eine Kombination aus einer bestimmten Art der Kodierung einer Nachricht und einer entsprechenden Art der späteren Dekodierung. Die ursprüngliche Nachricht vor der Verschlüsselung wird normalerweise 明文(plaintext 或 cleartext)
genannt. Die verschlüsselte Nachricht nach Verwendung des Passworts heißt normalerweise 密文(ciphertext)
.
Kryptographie wird seit Tausenden von Jahren zur Generierung vertraulicher Informationen eingesetzt. Der Legende nach verwendete 尤利乌斯·凯撒(Julius Caesar)
einst eine dreistellige zyklische Verschiebungsverschlüsselung, bei der jedes Zeichen in der Nachricht durch das Zeichen drei Positionen später im Alphabet ersetzt wurde. Im modernen Alphabet würde „A“ durch „D“, „B“ durch „E“ usw. ersetzt werden.
Mit dem Fortschritt der Technologie haben Menschen begonnen, Maschinen herzustellen, die Nachrichten mithilfe viel komplexerer Chiffren schnell und genau verschlüsseln und entschlüsseln können. Diese Chiffriermaschinen können nicht nur einige einfache Drehungen durchführen, sondern auch Zeichen ersetzen, die Reihenfolge der Zeichen ändern und Nachrichten in Scheiben schneiden, um das Knacken des Codes zu erschweren.
In der Realität können sowohl der Kodieralgorithmus als auch die Kodiermaschine oft in die Hände des Feindes geraten, daher verfügen die meisten Maschinen über einige Wählscheiben, die auf eine große Anzahl verschiedener Werte eingestellt werden können, um sie zu ändern die Funktionsweise des Passwort-Weges. Selbst wenn die Maschine gestohlen wird, funktioniert der Decoder ohne die richtige Wählradeinstellung (Schlüsselwert) nicht.
Diese kryptografischen Parameter werden 密钥(key)
genannt. Damit der Entschlüsselungsprozess korrekt abläuft, muss der richtige Schlüssel in die kryptografische Maschine eingegeben werden. Kryptografische Schlüssel lassen eine kryptografische Maschine wie mehrere virtuelle kryptografische Maschinen erscheinen, von denen jede einen unterschiedlichen Schlüsselwert und daher ein unterschiedliches Verhalten aufweist.
Gegeben eine Klartextnachricht P, eine Kodierungsfunktion E und ein digitaler Kodierungsschlüssel e, kann ein kodierter Chiffretext C generiert werden. Durch die Dekodierungsfunktion D und den Dekodierungsschlüssel d kann der Chiffretext C in den ursprünglichen Klartext P dekodiert werden. Natürlich sind die Kodierungs-/Dekodierungsfunktionen zueinander inverse Funktionen. Durch die Dekodierung von P wird die ursprüngliche Nachricht P zurückgegeben.
Viele digitale Verschlüsselungsalgorithmen werden 对称密钥(symmetric-key)
Verschlüsselungstechnologie genannt, weil sie beim Kodieren und Dekodieren denselben Schlüsselwert verwenden (e=d). Wir werden sie gemeinsam Schlüssel k nennen.
Beliebte Verschlüsselungsalgorithmen mit symmetrischen Schlüsseln sind: DES
, Triple-DES
, RC2
und RC4
.
Es ist wichtig, Ihre Schlüssel vertraulich zu behandeln. In vielen Fällen ist der Kodierungs-/Dekodierungsalgorithmus bekannt, sodass nur der Schlüssel geheim gehalten wird. Ein guter Verschlüsselungsalgorithmus zwingt einen Angreifer, jeden möglichen Schlüssel auszuprobieren, bevor er den Code knacken kann. Versuchen Sie es mit Brute Force. Alle Schlüsselwerte heißen 枚举攻击(enumeration attack)
.
Einer der Nachteile von 对称密钥加密技术
besteht darin, dass Sender und Empfänger einen gemeinsamen geheimen Schlüssel haben müssen, bevor sie miteinander kommunizieren können.
Zum Beispiel möchten Alice (A), Bob (B) und Chris (C) alle mit Joe’s Hardware Store (J) sprechen. A, B und C müssen alle geheime Schlüssel zwischen sich und J einrichten. A benötigt möglicherweise den Schlüssel KAJ, B benötigt möglicherweise den Schlüssel KBJ und C benötigt möglicherweise den Schlüssel KCJ. Jedes Paar kommunizierender Entitäten benötigt seinen eigenen privaten Schlüssel. Wenn es N Knoten gibt, muss jeder Knoten sicher mit allen N-1 anderen Knoten kommunizieren, es werden insgesamt etwa N2 geheime Schlüssel vorhanden sein: Dies wird ein Management-Albtraum sein.
Anstatt separate Verschlüsselungs-/Entschlüsselungsschlüssel für jedes Hostpaar zu verwenden, verwendet die Public-Key-Kryptografie zwei 非对称密钥
: einen. Einer wird zum Verschlüsseln von Host-Nachrichten verwendet. und der andere wird zum Dekodieren von Host-Nachrichten verwendet.
Die gemeinsame Herausforderung aller asymmetrischen Verschlüsselungssysteme mit öffentlichem Schlüssel besteht darin, sicherzustellen, dass jemand den geheimen privaten Schlüssel nicht berechnen kann, selbst wenn er alle folgenden Hinweise hat:
Öffentlicher Schlüssel (der öffentlich und für jedermann verfügbar ist);
Ein kleines Stück abgefangenen Chiffretext (kann über das Netzwerk abgerufen werden, durch Schnüffeln erhalten);
Eine Nachricht und der zugehörige Chiffretext (Sie können ihn erhalten, indem Sie den Verschlüsseler auf einem beliebigen Textstück ausführen).
Der RSA-Algorithmus ist ein beliebtes Public-Key-Verschlüsselungssystem, das alle diese Kriterien erfüllt. Er wurde am MIT erfunden und später von RSA Data Security kommerzialisiert. Selbst mit dem öffentlichen Schlüssel, jedem Stück Klartext, dem relevanten Chiffretext, der nach der Codierung des Klartextes mit dem öffentlichen Schlüssel erhalten wird, dem RSA-Algorithmus selbst und sogar dem Quellcode der RSA-Implementierung besteht die Schwierigkeit, den Code zu knacken, um den entsprechenden privaten Code zu finden Der Schlüssel entspricht immer noch der Schwierigkeit, eine sehr große Zahl in Primfaktoren zu zerlegen, einer Berechnung, die als eines der schwierigsten Probleme in der gesamten Informatik gilt. Wenn Sie also eine Methode entdecken, mit der sich eine sehr große Zahl schnell in Primfaktoren zerlegen lässt, können Sie sich nicht nur in das Schweizer Bankkontensystem hacken, sondern auch den Turing Award gewinnen.
Jeder kann eine sichere Nachricht an einen öffentlichen Server senden, solange er den öffentlichen Schlüssel kennt. Daher ist ein asymmetrisches Verschlüsselungssystem mit öffentlichem Schlüssel sehr nützlich. Zwei Knoten müssen nicht zuerst private Schlüssel austauschen, um sicher zu kommunizieren.
Aber die Berechnung des Public-Key-Verschlüsselungsalgorithmus kann sehr langsam sein. Es verwendet tatsächlich eine Mischung aus symmetrischen und asymmetrischen Strategien. Ein üblicher Ansatz besteht beispielsweise darin, eine sichere Kommunikation zwischen zwei Knoten mithilfe einer praktischen Verschlüsselungstechnologie mit öffentlichen Schlüsseln herzustellen, dann diesen sicheren Kanal zum Generieren und Senden eines temporären zufälligen symmetrischen Schlüssels zu verwenden und eine schnellere symmetrische Verschlüsselungstechnologie zu verwenden, um die verbleibenden Daten zu verschlüsseln. (Dies gilt sowohl für SSH als auch für HTTPS)
Zusätzlich zur Verschlüsselung/Entschlüsselung der Nachricht kann das Verschlüsselungssystem auch verwendet werden, um 签名(sign)
anzugeben, wer die Nachricht geschrieben hat und beweisen, dass die Nachricht nicht manipuliert wurde. Diese Technik wird 数字签名(digital signing)
genannt.
Die digitale Signatur ist ein spezieller verschlüsselter Bestätigungscode , der an die Nachricht angehängt wird. Digitale Signaturen werden normalerweise mithilfe der 非对称公开密钥
-Technologie generiert. Da nur der Eigentümer den privaten Schlüssel kennt, kann der private Schlüssel des Autors als eine Art „Fingerabdruck“ verwendet werden.
Das RSA-Verschlüsselungssystem verwendet die Dekodierungsfunktion D als Signaturfunktion, da D den privaten Schlüssel als Eingabe verwendet hat. Beachten Sie, dass die Dekodierungsfunktion nur eine Funktion ist und Sie sie daher mit jeder Eingabe verwenden können. Ebenso heben sich im RSA-Verschlüsselungssystem die D- und E-Funktionen gegenseitig auf, wenn sie in beliebiger Reihenfolge angewendet werden. Daher ist E(D(stuff)) = stuff, genau wie D(E(stuff)) = stuff.
Der private Schlüssel und der öffentliche Schlüssel sind ein Paar, beide können verschlüsselt und entschlüsselt und paarweise verwendet werden. Das Prinzip von RSA besteht darin, dass das Produkt (n) zweier großer Primzahlen (p, q) schwer invers zu lösen ist, sodass pq äquivalent ist und der öffentliche Schlüssel und der private Schlüssel ebenfalls äquivalent sind.
Die Verschlüsselung mit privatem Schlüssel und die Entschlüsselung mit öffentlichem Schlüssel können die eindeutige Identität des „Eigentümers des privaten Schlüssels“ nachweisen und werden für Signaturen verwendet.
Die Verschlüsselung mit öffentlichem Schlüssel und die Entschlüsselung mit privatem Schlüssel stellen sicher, dass nur der „Eigentümer des privaten Schlüssels“ die gesendeten Informationen entschlüsseln kann (wenn der private Schlüssel zum Verschlüsseln der Daten verwendet wird, werden sie von entschlüsselt). der Inhaber des öffentlichen Schlüssels (es kann viele Inhaber geben) entschlüsseln, den Informationsschutz verlieren)
„Personalausweis“ im Internet – digitales Zertifikat. 数字证书(通常被称作“certs”,有点像 certs 牌薄荷糖)
enthält Informationen über einen Benutzer oder ein Unternehmen, die von einer vertrauenswürdigen Organisation unterstützt werden.
Das digitale Zertifikat enthält außerdem eine Reihe von Informationen, die alle von einem Beamten digital signiert sind 证书颁发机构(CA)
.
Darüber hinaus enthalten digitale Zertifikate typischerweise auch den öffentlichen Schlüssel des Objekts sowie beschreibende Informationen über das Objekt und den verwendeten Signaturalgorithmus. Jeder kann ein digitales Zertifikat erstellen, aber nicht jeder verfügt über die anerkannte ausstellende Autorität, die für die Zertifikatsinformationen bürgt und das Zertifikat mit seinem privaten Schlüssel ausstellt. Eine typische Zertifikatsstruktur ist in der Abbildung dargestellt.
Leider gibt es keinen einheitlichen globalen Standard für digitale Zertifikate. So wie nicht alle gedruckten Personalausweise die gleichen Informationen an den gleichen Stellen enthalten, gibt es digitale Zertifikate in vielen leicht unterschiedlichen Formen. Die gute Nachricht ist jedoch, dass die meisten heute verwendeten Zertifikate ihre Informationen in einem Standardformat speichern – X.509 v3
. X.509 v3-Zertifikate bieten eine Standardmethode zur Formalisierung von Zertifikatsinformationen in einer Reihe analysierbarer Felder. Verschiedene Arten von Zertifikaten haben unterschiedliche Feldwerte, die meisten folgen jedoch der X.509 v3-Struktur.
Es gibt verschiedene Arten von Signaturen, die auf X.509-Zertifikaten basieren, darunter Webserver-Zertifikate, Client-E-Mail-Zertifikate, Software-Codesignatur-Zertifikate und Zertifizierungsstellenzertifikate.
Nach dem Einrichten einer sicheren Webtransaktion über HTTPS erhalten moderne Browser automatisch das digitale Zertifikat des verbundenen Servers. Wenn der Server kein Zertifikat hat, schlägt die sichere Verbindung fehl.
Wenn der Browser das Zertifikat empfängt, überprüft er die Signaturautorität. Wenn es sich bei dieser Organisation um eine sehr autoritative öffentliche Signaturstelle handelt, kennt der Browser möglicherweise bereits seinen öffentlichen Schlüssel (auf Browsern sind Zertifikate von vielen Signaturstellen vorinstalliert).
Wenn nichts über die Signaturautorität bekannt ist, kann der Browser nicht bestimmen, ob er der Signaturautorität vertrauen soll, und zeigt dem Benutzer normalerweise ein Dialogfeld an, um zu sehen, ob er dem Signaturaussteller vertraut. Der Signaturaussteller kann eine lokale IT-Abteilung oder ein Softwareanbieter sein.
HTTPS ist die beliebteste Form der HTTP-Sicherheit. Es wurde von Netscape entwickelt und wird von allen gängigen Browsern und Servern unterstützt.
Bei der Verwendung von HTTPS werden alle HTTP-Anfrage- und Antwortdaten verschlüsselt, bevor sie an das Netzwerk gesendet werden. HTTPS bietet eine kryptografische Sicherheitsschicht auf Transportebene unterhalb von HTTP – entweder unter Verwendung von SSL oder dessen Nachfolger – 传输层安全(Transport Layer Security,TLS)
. Da SSL und TLS sehr ähnlich sind, verwenden wir den Begriff SSL weniger streng, um sowohl SSL als auch TLS zu bezeichnen.
HTTP-Kommunikation ohne SSL/TLS ist unverschlüsselte Kommunikation. Alle Informationen werden im Klartext verbreitet, was drei große Risiken mit sich bringt.
窃听风险(eavesdropping)
: Dritte können den Inhalt der Kommunikation erfahren.
篡改风险(tampering)
: Ein Dritter kann den Kommunikationsinhalt ändern.
冒充风险(pretending)
: Dritte können vorgeben, andere zu sein, um an der Kommunikation teilzunehmen.
Das SSL/TLS-Protokoll soll diese drei Hauptrisiken lösen und Folgendes erreichen:
Alle Informationen werden verschlüsselt und übertragen. Drei Parteien können nicht abhören.
verfügt über einen Verifizierungsmechanismus. Sobald es manipuliert wird, wird es von den kommunizierenden Parteien sofort entdeckt.
Ausgestattet mit einem Identitätszertifikat, um Identitätsfälschungen zu verhindern.
SSL(Secure Socket Layer)是安全套接层
, TLS(Transport Layer Security)是传输层安全协议
, basieren auf der SSL3.0-Protokollspezifikation und sind Folgeversionen von SSL3.0. SSL wurde erst in Version 3.0 in großem Umfang eingesetzt und angewendet. Der offensichtliche Unterschied zwischen der TLS-Version und SSL besteht darin, dass sie unterschiedliche Verschlüsselungsalgorithmen unterstützt. Das neueste derzeit verwendete Protokoll ist das TLS1.2-Protokoll. Version 1.3 befindet sich noch im Entwurfsstadium.
Sicheres HTTP ist jetzt optional. Wenn Sie einen Client (z. B. einen Webbrowser) auffordern, eine Transaktion auf einer Webressource durchzuführen, überprüft er das URL-Schema:
Wenn das URL-Schema http ist, öffnet der Client eine Verbindung zum Server-Port 80 (standardmäßig) und sendet ihm den alten HTTP-Befehl.
Wenn das URL-Schema https ist, öffnet der Client eine Verbindung zum Server-Port 443 (standardmäßig) und führt dann einen „Handshake“ mit dem Server durch, wobei er mit dem Server binäre Daten austauscht Format Einige SSL-Sicherheitsparameter sowie verschlüsselte HTTP-Befehle.
SSL ist ein binäres Protokoll, das sich völlig von HTTP unterscheidet, und sein Datenverkehr wird über einen anderen Port übertragen (SSL wird normalerweise über Port 443 übertragen). Wenn sowohl SSL- als auch HTTP-Verkehr auf Port 80 ankommen, interpretieren die meisten Webserver den binären SSL-Verkehr als fehlerhaftes HTTP und schließen die Verbindung. Durch die weitere Integration von Sicherheitsdiensten in die HTTP-Schicht entfällt die Notwendigkeit, mehrere Zielports zu verwenden, was in der Praxis keine ernsthaften Probleme verursacht.
Bevor die verschlüsselte Kommunikation gestartet wird, müssen Client und Server zunächst eine Verbindung herstellen und Parameter austauschen. Dieser Vorgang wird als Handshake bezeichnet. Unter der Annahme, dass der Client Alice und der Server Bob heißt, kann der gesamte Handshake-Prozess durch die folgende Abbildung veranschaulicht werden.
Die Handshake-Phase ist in fünf Schritte unterteilt:
Alice gibt die Protokollversionsnummer und a client Das generierte 随机数(Client random)
und die vom Client unterstützten Verschlüsselungsmethoden.
Bob bestätigt die von beiden Parteien verwendete Verschlüsselungsmethode und gibt das digitale Zertifikat und ein 服务器生成的随机数(Server random)
.
Alice bestätigt, dass das digitale Zertifikat gültig ist, generiert dann ein neues 随机数(Premaster secret)
, verwendet den öffentlichen Schlüssel im digitalen Zertifikat, um die Zufallszahl zu verschlüsseln, und sendet es an Bob.
Bob verwendet seinen privaten Schlüssel, um die von Alice gesendete Zufallszahl (d. h. Premaster secret
) zu erhalten.
Gemäß der vereinbarten Verschlüsselungsmethode generieren Alice und Bob aus den ersten drei Zufallszahlen 对话密钥(session key)
, mit dem der gesamte Gesprächsprozess verschlüsselt wird.
Die oben genannten fünf Schritte werden in einem Bild zusammengefasst, das wie folgt aussieht:
Es gibt drei Handshake-Stufen Zu beachtende Punkte:
Insgesamt sind drei Zufallszahlen erforderlich, um den Konversationsschlüssel zu generieren.
Die Konversation nach dem Handshake wird mit 对话密钥(session key)
(symmetrische Verschlüsselung) verschlüsselt, nichts Sonst Effekt. 对话密钥(session key)
geknackt werden kann. 第三个随机数(Premaster secret)
garantiert werden kann, dass er nicht geknackt wird, solange der öffentliche Schlüssel des Servers lang genug ist (z. B. 2048 Bit). Um jedoch ausreichend sicher zu sein, können wir erwägen, den Algorithmus in der Übergabephase vom Standard-RSA-Algorithmus zum Diffie-Hellman-Algorithmus (kurz DH-Algorithmus) zu ändern. Premaster secret
muss DH算法
nicht übergeben werden. Beide Parteien können die Zufallszahl durch Austausch ihrer eigenen Parameter berechnen. Premaster secret
In der obigen Abbildung ändern sich der dritte und vierte Schritt von der Übergabe von
zur Übergabe der von Premaster secret
erforderlichen Parameter und dann von Each Seite berechnet DH算法
. Dies erhöht die Sicherheit. Premaster secret
Zunächst überprüft der Browser das Start- und Enddatum des Zertifikats, um sicherzustellen, dass das Zertifikat noch gültig ist. Wenn das Zertifikat abgelaufen ist oder nicht aktiviert wurde, schlägt die Überprüfung der Zertifikatsgültigkeit fehl und der Browser zeigt eine Fehlermeldung an. 日期检测
签名颁发者可信度检测
每个证书都是由某些 证书颁发机构(CA)
签发的,它们负责为服务器担保。证书有不同的等级,每种证书都要求不同级别的背景验证。比如,如果申请某个电 子商务服务器证书,通常需要提供一个营业的合法证明。
任何人都可以生成证书,但有些 CA 是非常著名的组织,它们通过非常清晰的流 程来验证证书申请人的身份及商业行为的合法性。因此,浏览器会附带一个签名颁发机构的受信列表。如果浏览器收到了某未知(可能是恶意的)颁发机构签发的证书,那它通常会显示一条警告信息。
签名检测
一旦判定签名授权是可信的,浏览器就要对签名使用签名颁发机构的公开密钥, 并将其与校验码进行比较,以查看证书的完整性。
站点身份检测
为防止服务器复制其他人的证书,或拦截其他人的流量,大部分浏览器都会试着 去验证证书中的域名与它们所对话的服务器的域名是否匹配。服务器证书中通常 都包含一个域名,但有些 CA 会为一组或一群服务器创建一些包含了服务器名称 列表或通配域名的证书。如果主机名与证书中的标识符不匹配,面向用户的客户 端要么就去通知用户,要么就以表示证书不正确的差错报文来终止连接。
SSL 是个复杂的二进制协议。除非你是密码专家,否则就不应该直接发送原始的 SSL 流量。幸运的是,借助一些商业或开源的库,编写 SSL 客户端和服务器并不十 分困难。
OpenSSL 是 SSL 和 TLS 最常见的开源实现。OpenSSL 项目由一些志愿者合作开发, 目标是开发一个强壮的、具有完备功能的商业级工具集,以实现 SSL 和 TLS 协议以 及一个全功能的通用加密库。可以从 http://www.openssl.org 上获得 OpenSSL 的相 关信息,并下载相应软件。
强烈推荐一本书:HTTP 权威指南
Super detaillierte Analyse |. CDN-HTTPS-Optimierungspraxis, wirksam in einer Minute für das gesamte Netzwerk
Illustriertes SSL/TLS-Protokoll
Der endgültige Leitfaden für HTTP
Vor 20 Stunden gepostet
Wenn Sie meinen Artikel nützlich für Sie finden, freuen Sie sich bitte über ihn
Laden...
Weitere Kommentare anzeigen
Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung von HTTPS. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!