HYPERTEXT TRANSFER PROTOCOL SECURE
HTTPS (Abkürzung für HyperText Transfer Protocol Secure) ist eine Erweiterung des HTTP-Protokolls zur Unterstützung der Verschlüsselung für eine erhöhte Sicherheit. Daten im HTTPS-Protokoll werden über kryptografische Protokolle wie dem SSL Zertifikat oder dem TLS Zertifikat übertragen. Im Gegensatz zu HTTP mit TCP-Port 80 verwendet HTTPS standardmäßig den TCP-Port 443.
Das Protokoll wurde 1994 von Netscape Communications für den Browser Netscape Navigator entwickelt.
WIE SIE DAS HTTPS ZERTIFIKAT ERSTELLEN – DAS ARBEITSPRINZIP
Wenn Sie ein HTTPS Zertifikat erstellen wollen, dann sollten Sie wissen, dass HTTPS kein separates Protokoll ist. Dies ist das übliche HTTP, das durch die verschlüsselten Transportmechanismen SSL und TLS funktioniert. Es bietet Schutz vor Angriffen, die auf dem Abhören einer Netzwerkverbindung basieren – beispielsweise den Sniffer-Attacken und den Man-in-the-Middle-Angriffen. Das gilt, sofern Verschlüsselungsfunktionen verwendet werden und das Serverzertifikat verifiziert und vertrauenswürdig ist.
Standardmäßig wird der TCP-Port 443 für HTTPS-URLs verwendet. (Unverschlüsseltes und damit ungeschütztes HTTP wird über den TCP-Port – 80 transportiert). Um einen Webserver für die Verarbeitung von HTTPS-Verbindungen vorzubereiten, muss ein Administrator ein öffentliches Schlüsselzertifikat für diesen Webserver erhalten und installieren. TLS verwendet sowohl ein asymmetrisches Verschlüsselungsschema (zum Generieren eines gemeinsamen geheimen Schlüssels) als auch ein symmetrisches (zum Datenaustausch, verschlüsselt mit einem gemeinsamen Schlüssel). Das öffentliche Schlüsselzertifikat bestätigt, dass dieser öffentliche Schlüssel dem Websitebesitzer gehört. Das öffentliche Schlüsselzertifikat und der öffentliche Schlüssel selbst werden beim Herstellen einer Verbindung an den Client gesendet. Der private Schlüssel wird verwendet, um die Nachrichten vom Client zu entschlüsseln.
Es ist möglich, ein solches Zertifikat zu erstellen, ohne eine öffentliche Zertifizierungsstelle zu kontaktieren. Solche Zertifikate werden vom selben Zertifikat signiert und heißen selbst signierte (self signed) Zertifikate. Ohne das Zertifikat auf eine andere Art und Weise zu verifizieren (zum Beispiel den Besitzer anzurufen und die Prüfsumme des Zertifikats zu überprüfen), besteht bei einer solchen Verwendung von HTTPS die Gefahr eines Man-in-the-Middle-Angriffs.
Dieses Prinzip kann auch für die Clientauthentifizierung verwendet werden, um nur berechtigten Benutzern Zugriff auf den Server zu gewähren. Beim Erstellen eines HTTPS Zertifikats entwickelt der Administrator normalerweise die Zertifikate für jeden Benutzer und lädt sie in den Browser jedes Benutzers hoch. Außerdem werden alle Zertifikate akzeptiert, die von vertrauenswürdigen Organisationen signiert wurden. Dieses Zertifikat enthält in der Regel den Namen und die E-Mail-Adresse des berechtigten Benutzers, die für jede Verbindung überprüft werden können. Ohne die Eingabe des Passworts kann die Identität eines Benutzers so überprüft werden.
Beim HTTPS Zertifikat Erstellen weist die Verschlüsselung eine Schlüssellänge von 40, 56, 128 oder 256 Bit auf. Einige ältere Versionen von Browsern verwenden die Schlüssellänge von 40 Bit (z.B. die IE-Versionen bis zu 4.0), was auf Exportbeschränkungen in den USA zurückzuführen ist. Die Schlüssellänge von 40 Bits ist nicht zuverlässig. Viele moderne Websites erfordern die Verwendung neuer Versionen von Browsern, die eine Verschlüsselung mit einer Schlüssellänge von 128 Bit unterstützen, um ein angemessenes Sicherheitsniveau zu gewährleisten. Eine solche Verschlüsselung macht es einem Angreifer sehr schwer, nach Passwörtern und anderen persönlichen Informationen zu suchen.
Beim HTTPS Zertifikat Erstellen sollte bedacht werden, dass traditionell nur eine HTTPS-Site an einer IP-Adresse arbeiten kann. Für mehrere HTTPS-Sites mit unterschiedlichen Zertifikaten wird eine TLS-Erweiterung namens Server Name Indication (SNI) verwendet.
Ab dem 17. Juli 2017 verwendeten 22,67 % der Websites in der Liste der „Alexa Top 1.000.000“ das Standard-HTTPS-Protokoll. Wenn sie ein HTTPS Zertifikat erstellen, sollten Sie wissen, das HTTPS auf einer großen Anzahl der registrierten Domains verwendet wird.
DIE IDENTIFIKATION IN DEM HTTPS ZERTIFIKAT
Identifizierung des Servers – HTTP / TLS-Anforderungen werden generiert, indem der URI dereferenziert wird, sodass der Hostname dem Client bekannt wird. Zu Beginn der Kommunikation sendet der Server dem Client sein Zertifikat, so dass der Client es identifiziert. Dies verhindert, dass ein „Mann in der Mitte“ oder „Man in the Middle“ angreift. Beim https Zertifikat Erstellen, müssen Sie wissen, dass das Zertifikat den Server-URI angibt. Die Koordination des Hostnamens und der im Zertifikat angegebenen Daten erfolgen gemäß RFC2459.
Wenn der Servername nicht mit dem im Zertifikat angegebenen Namen übereinstimmt, melden Benutzerprogramme, z.B. der Browser, dies dem Benutzer. Grundsätzlich bietet der Browser dem Benutzer die Wahl: eine ungeschützte Verbindung fortzusetzen oder sie abzubrechen.
KUNDENIDENTIFIKATION
Normalerweise hat der Server nicht genügend Informationen über den Client, um ihn zu identifizieren. Um jedoch eine erhöhte Sicherheit der Verbindung zu gewährleisten, wird die sogenannte Zwei-Wege-Authentifizierung verwendet. In diesem Fall fordert der Server nach Bestätigung seines Zertifikats durch den Client ebenfalls ein Zertifikat an. Daher ähnelt das Clientverifikationsschema der Serveridentifikation.
HTTPS SCHWACHSTELLEN
Gemeinsame Nutzung von HTTP und HTTPS
Entwickler sollten beim https Zertifikat Erstellen wissen, das wenn Websites gemischte HTTP- und HTTPS-Funktionen verwenden, dies möglicherweise zu einer Informationsbedrohung für den Benutzer führt. Wenn die geladene Hauptseite einer Website zum Beispiel HTTPS verwenden und CSS und JavaScript durch HTTP geladen werden, kann beim Laden der Letzten ein Angreifer zu diesem Zeitpunkt seinen Code hochladen und so die Daten der HTML-Seiten abrufen. Viele Websites können trotz dieser Sicherheitsanfälligkeiten Inhalte über Dienste von Drittanbietern herunterladen, die HTTPS nicht unterstützen.
Hinweis, wenn Sie ein Https Zertifikat erstellen! Die HSTS-Engine vermeidet solche Sicherheitsanfälligkeiten, indem sie die Verwendung einer HTTPS-Verbindung erzwingt, selbst wenn HTTP standardmäßig verwendet wird.
ANGRIFFE MIT DER ANALYSE DES TRAFFICS
Wenn Sie ein HTTPS Zertifikat erstellen, sollten Sie wissen, dass es beim HTTPS auch Sicherheitslücken gab, die mit der Traffic Analyse zusammenhängen. Die „Traffic Analysis Attack“ ist eine Art von Angriff, bei der die Eigenschaften des geschützten Datenkanals durch das Verkehrsvolumen gemessen wird und die Zeit der Übertragung von Nachrichten in ihm auch gemessen wird. Die Verkehrsanalyse ist möglich, da das SSL Zertifikat bzw. die TLS-Verschlüsselung den Verkehrsinhalt ändert, es jedoch nur minimale Auswirkungen auf die Größe und den Zeitpunkt des Verkehrs hat. Im Mai 2010 fanden Forscher von Microsoft Research und der Universität von Indiana heraus, dass detaillierte vertrauliche Benutzerdaten aus Sekundärdaten wie Paketgrößen gewonnen werden können. Beim HTTPS Zertifikat Erstellen sollten Sie wissen, dass der Traffic Analyzer beispielsweise die medizinische Geschichte, Informationen über die verwendeten Medikamente und durchgeführt Benutzeroperationen, Daten über das Haushaltseinkommen und so weiter erhalten kann. All dies fand trotz der Verwendung von HTTPS in mehreren modernen Webanwendungen im Gesundheitswesen, den Steuern und anderen statt.
DER MANN IN DER MITTE. HTTPS ZERTIFIKAT ERSTELLEN
Beim sogenannten Angriff einer Person in der Mitte sendet der HTTPS-Server ein Zertifikat mit einem öffentlichen Schlüssel an den Browser. Wenn dieses Zertifikat nicht vertrauenswürdig ist, ist der Übertragungskanal anfällig für Angriffe durch den Angreifer. Ein solcher Angriff ersetzt das ursprüngliche Zertifikat, das den HTTPS-Server mit einem geänderten Zertifikat authentifiziert. Wenn Sie ein HTTPS Zertifikat erstellen, beachten Sie bitte, dass der Angriff erfolgreich ist, wenn der Benutzer das Zertifikat nicht erneut überprüft und der Browser eine Warnung sendet. Dies ist besonders häufig bei Benutzern, die häufig auf selbst signierte Zertifikate stoßen, wenn sie auf Sites innerhalb eines Netzwerks privater Organisationen zugreifen.
Beim Https Zertifikat Erstellen, sollten Sie sich eine Situation vorstellen, in der ein Angreifer ein Gateway zwischen einem Client, der eine sichere Transaktion durchführt und einem Server darstellt. Über den Angreifer läuft also der gesamte Clientverkehr und er kann ihn nach eigenem Ermessen umleiten. Hier werden die folgenden Schritte ausgeführt:
Ein Angreifer ist zwischen dem Client und dem Server eingebettet.
Er leitet alle Nachrichten vom Client ohne Änderungen an den Server weiter.
Der Angreifer fängt Nachrichten vom Server ab, die vom Standardgateway gesendet werden.
Der Angreifer erstellt ein selbst signiertes Zertifikat und ersetzt das Serverzertifikat durch sein Eigenes. Er sendet ein falsches Zertifikat an einen Client
Wenn der Client das Zertifikat bestätigt, werden sichere Verbindungen hergestellt: zwischen dem Angreifer und dem Server und einem anderen Benutzer und zwischen dem Angreifer und dem Client.
Als Folge dieses Angriffs denken der Client und der Server, dass sie eine sichere Verbindung herstellen, aber der Angreifer nun auch über einen privaten Schlüssel verfügt und jede Nachricht auf dem Kanal entschlüsseln kann. Wenn Sie ein HTTPS Zertifikat erstellen, müssen Sie dieses Risiko beachten und entsprechende Sicherheitsmaßnahmen einleiten.
SSL ZERTIFIKAT
Das SSL Zertifikat (Secure Sockets Layer) ist ein kryptografisches Protokoll, das eine sicherere Verbindung impliziert. Das SSL Zertifikat verwendet eine asymmetrische Kryptografie zur Authentifizierung von Vermittlungsschlüsseln, eine symmetrische Verschlüsselung zur Wahrung der Vertraulichkeit und die Codes der Nachrichtenauthentifizierung für die Nachrichtenintegrität. Das SSL Zertifikat Protokoll wurde speziell für das Instant Messaging und das Voice over IP (VoIP) weit verbreitet. In Anwendungen wie der E-Mail, dem Internet-Fax, usw. Im Jahr 2014 berichtete die US-Regierung eine Sicherheitslücke in der aktuellen Version des SSL Zertifikat Protokolls. Das SSL Zertifikat muss von der Arbeit zugunsten von TLS ausgeschlossen werden (siehe CVE-2014-3566).
Das SSL Zertifikat wurde ursprünglich von Netscape Communications entwickelt, um es dem HTTPS-Protokoll in seinem Netscape Navigator-Webbrowser hinzuzufügen. Anschließend wurde basierend auf dem SSL Zertifikat 3.0-Protokoll der RFC-Standard TLS entwickelt und übernommen.
SSL ZERTIFIKAT – DIE BESCHREIBUNG
Das SSL Zertifikat Protokoll bietet einen sicheren Datenaustausch über die folgenden zwei Elemente:
- Authentifizierung
- Verschlüsselung
Wie oben schon erwähnt, verwendet das SSL Zertifikat eine asymmetrische Kryptografie zur Authentifizierung von Austauschschlüsseln, eine symmetrische Verschlüsselung zur Wahrung der Vertraulichkeit und die Codes der Nachrichtenauthentifizierung zur Nachrichtenintegrität. Deswegen bietet das SSL Zertifikat Protokoll einen „sicheren Kanal“ mit drei Haupteigenschaften:
Der Kanal ist privat. Die Verschlüsselung wird für alle Nachrichten nach einem einfachen Dialog verwendet, der zur Bestimmung des geheimen Schlüssels dient.
Der Kanal ist authentifiziert. Die Serverseite des Dialogs wird immer authentifiziert, und die Client-Seite tut dies optional.
Der Kanal ist zuverlässig. Der Transport von Nachrichten umfasst die Integritätsprüfungen.
Der Vorteil vom SSL Zertifikat ist, dass es unabhängig vom Anwendungsprotokoll ist. Anwendungsprotokolle (HTTP, FTP, TELNET usw.) können transparent über dem SSL Zertifikat Protokoll arbeiten, d.h. SSL kann den Verschlüsselungsalgorithmus und den Sitzungsschlüssel aushandeln und den Server authentifizieren, bevor die Anwendung das erste Byte der Nachricht akzeptiert oder überträgt.