<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://demowiki.knowlus.com/index.php?action=history&amp;feed=atom&amp;title=Hypertext_Transfer_Protocol_Secure</id>
	<title>Hypertext Transfer Protocol Secure - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://demowiki.knowlus.com/index.php?action=history&amp;feed=atom&amp;title=Hypertext_Transfer_Protocol_Secure"/>
	<link rel="alternate" type="text/html" href="https://demowiki.knowlus.com/index.php?title=Hypertext_Transfer_Protocol_Secure&amp;action=history"/>
	<updated>2026-05-15T00:01:22Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Demo Wiki</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://demowiki.knowlus.com/index.php?title=Hypertext_Transfer_Protocol_Secure&amp;diff=1560&amp;oldid=prev</id>
		<title>imported&gt;InternetArchiveBot: InternetArchiveBot hat 1 Archivlink(s) ergänzt und 0 Link(s) als defekt/tot markiert.) #IABot (v2.0.9.5</title>
		<link rel="alternate" type="text/html" href="https://demowiki.knowlus.com/index.php?title=Hypertext_Transfer_Protocol_Secure&amp;diff=1560&amp;oldid=prev"/>
		<updated>2025-07-12T06:59:20Z</updated>

		<summary type="html">&lt;p&gt;&lt;a href=&quot;/index.php?title=Benutzer:InternetArchiveBot&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Benutzer:InternetArchiveBot (Seite nicht vorhanden)&quot;&gt;InternetArchiveBot&lt;/a&gt; hat 1 Archivlink(s) ergänzt und 0 Link(s) als defekt/tot markiert.) #IABot (v2.0.9.5&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{| class=&amp;quot;wikitable float-right&amp;quot;&lt;br /&gt;
|+ style=&amp;quot;background:#C0C0FF&amp;quot;| Hypertext Transfer Protocol Secure&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Familie:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| [[Internetprotokollfamilie]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Einsatzgebiet:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| verschlüsselte Datenübertragung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Port:&amp;#039;&amp;#039;&amp;#039; || 443/TCP&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; class=&amp;quot;center&amp;quot;|&lt;br /&gt;
{{Netzwerk-TCP-IP-Anwendungsprotokoll|HTTP|ssl=1|title=HTTPS}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Standards:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;RFC&amp;amp;nbsp;9110&amp;lt;/nowiki&amp;gt; (HTTP Semantics, 2022)&amp;lt;ref name=&amp;quot;rfc9110&amp;quot;&amp;gt;{{RFC-Internet |RFC=9110 |Titel=HTTP Semantics |Datum=2022}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Hypertext Transfer Protocol Secure&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;HTTPS;&amp;#039;&amp;#039;&amp;#039; {{enS}} für „sicheres Hypertext-Übertragungsprotokoll“) ist ein [[Netzwerkprotokoll]] im [[World Wide Web]], mit dem Daten abhörsicher übertragen werden können. Es stellt ein [[Verschlüsselungsprotokoll]] für die  [[Transportverschlüsselung]] dar. Technisch baut HTTPS auf [[Transport Layer Security|TLS]] auf, das eine zusätzliche Kommunikationsschicht zwischen [[Hypertext Transfer Protocol|HTTP]] und [[Transmission Control Protocol|TCP]] darstellt. Eine HTTPS-Adresse wird über das [[Uniform Resource Identifier#Aufbau|URI-Schema]] „https“ identifiziert.&amp;lt;ref name=&amp;quot;rfc9110&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
HTTPS wurde von [[Netscape Communications|Netscape]] entwickelt und zusammen mit [[Transport Layer Security|SSL]] 1.0 erstmals 1994 mit deren Browser veröffentlicht. Eine formale Spezifikation wurde im Jahr 2000 als [[Request for Comments]] &amp;lt;nowiki&amp;gt;RFC&amp;amp;nbsp;2818&amp;lt;/nowiki&amp;gt; veröffentlicht.&amp;lt;ref name=&amp;quot;rfc2818&amp;quot;&amp;gt;{{RFC-Internet |RFC=2818 |Titel=HTTP Over TLS |Datum=2000}}&amp;lt;/ref&amp;gt; Diese wurde im Jahr 2022 durch den [[Internetstandard]] &amp;lt;nowiki&amp;gt;RFC&amp;amp;nbsp;9110&amp;lt;/nowiki&amp;gt; abgelöst.&amp;lt;ref name=&amp;quot;rfc9110&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Nutzen ==&lt;br /&gt;
[[Datei:HTTPS icon.png|mini|Schloss als Icon der [[Webbrowser#Adressleiste|Adressleiste]]]]&lt;br /&gt;
HTTPS wird zur Herstellung von [[Vertraulichkeit]] und [[Integrität (Informationssicherheit)|Integrität]] in der Kommunikation zwischen [[Webserver]] und [[Webbrowser]] ([[Client]]) im [[World Wide Web]] verwendet. Dies wird unter anderem durch [[Verschlüsselung]] und [[Authentifizierung]] erreicht.&lt;br /&gt;
&lt;br /&gt;
Ohne Verschlüsselung sind Daten, die über das Internet übertragen werden, für jeden, der Zugang zum entsprechenden Netz hat, als [[Klartext (Kryptographie)|Klartext]] lesbar. Mit der zunehmenden Verbreitung von offenen (d.&amp;amp;nbsp;h. unverschlüsselten) [[Wireless Local Area Network|WLANs]] nimmt die Bedeutung von HTTPS zu, weil damit die Inhalte unabhängig vom Netz verschlüsselt werden können.&lt;br /&gt;
&lt;br /&gt;
Die Authentifizierung dient dazu, dass beide Seiten der Verbindung beim Aufbau der Kommunikation die Identität des Verbindungspartners überprüfen können. Dadurch sollen [[Man-in-the-Middle-Angriff]]e und teilweise auch [[Phishing]] verhindert werden.&lt;br /&gt;
&lt;br /&gt;
== Technik ==&lt;br /&gt;
[[Syntax|Syntaktisch]] ist HTTPS identisch mit dem Schema für HTTP, die zusätzliche Verschlüsselung der Daten geschieht mittels [[Transport Layer Security|SSL/TLS]]: Unter Verwendung des SSL-Handshake-Protokolls findet zunächst eine geschützte Identifikation und Authentifizierung der Kommunikationspartner statt. Anschließend wird mit Hilfe [[Asymmetrisches Kryptosystem|asymmetrischer Verschlüsselung]] oder des [[Diffie-Hellman-Schlüsselaustausch]]s ein gemeinsamer [[Symmetrisches Kryptosystem|symmetrischer Sitzungsschlüssel]] ausgetauscht. Dieser wird schließlich zur Verschlüsselung der [[Nutzdaten]] verwendet.&lt;br /&gt;
&lt;br /&gt;
Der Standard-[[Port (Netzwerkadresse)|Port]] für HTTPS-Verbindungen ist 443.&lt;br /&gt;
&lt;br /&gt;
Neben den Server-Zertifikaten können auch signierte Client-Zertifikate nach [[X.509]].3 erstellt werden. Das ermöglicht eine Authentifizierung der Clients gegenüber dem Server, wird jedoch selten eingesetzt.&lt;br /&gt;
&lt;br /&gt;
Eine ältere Protokollvariante von HTTPS war [[S-HTTP]].&lt;br /&gt;
&lt;br /&gt;
== Client-Verarbeitung ==&lt;br /&gt;
Mit der Entwicklung von HTTPS durch Netscape wurde das Protokoll und die anwenderseitige Client-Software schon früh in Webbrowser integriert. Damit ist meist keine weitere Installation gesonderter Software notwendig.&lt;br /&gt;
&lt;br /&gt;
[[Datei:SSL Symbol.png|rechts|gerahmt]]&lt;br /&gt;
Eine HTTPS-Verbindung wird durch eine https-[[Uniform Resource Locator|URL]] angewählt und durch das SSL-Logo angezeigt. Dies wird bei allen geläufigen Browsern als kleines Schloss-Symbol in der Adresszeile dargestellt.&lt;br /&gt;
&lt;br /&gt;
=== Varianten der HTTPS-Anwahl ===&lt;br /&gt;
Die Entscheidung, ob eine sichere HTTPS- statt einer HTTP-Verbindung genutzt wird, kann unterschiedlich erfolgen:&lt;br /&gt;
* Serverseitig wird ausschließlich HTTPS zugelassen; eine aufgerufene HTTP-Adresse wird automatisch auf HTTPS weitergeleitet. Dies entspricht dem [[Stand der Technik]] im Internet.&lt;br /&gt;
* Der Login wird über HTTPS erzwungen, bei dem ein [[HTTP-Cookie]] im Browser gesetzt wird, während die anderen Seitenaufrufe im Klartext gesendet werden. Dies war eine früher übliche Vorgehensweise, um sensible Informationen wie das Passwort oder Zahlungsdaten zu schützen, und ansonsten Rechenzeit zu sparen.&lt;br /&gt;
* [[HTTP Strict Transport Security]] (HSTS): Der Server signalisiert beim ersten Seitenaufruf, dass der Client für alle zukünftigen Aufrufe HTTPS verwenden muss. Der Client speichert diese Information und stellt bei zukünftigen Besuchen immer eine Verbindung über HTTPS her. Dies entspricht dem Sicherheitsmodell [[Trust on First Use]]. Einige Browser-Hersteller liefern eine vorinstallierte Liste von HSTS-Einträgen aus, mit der der Browser auch schon beim ersten Besuch die Verwendung von HTTPS erzwingt.&amp;lt;ref&amp;gt;[https://blog.mozilla.org/security/2012/11/01/preloading-hsts/ Preloading HSTS].&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Clientseitige Eingabe der HTTPS-Variante oder Browser-[[Plug-in]] (z.&amp;amp;nbsp;B. für [[Mozilla Firefox|Firefox]] und [[Google Chrome|Chrome]] „[[HTTPS Everywhere]]“), welches HTTP-Anfragen durch HTTPS-Anfragen ersetzt, bei Diensten, die beide Varianten unterstützen.&lt;br /&gt;
* Seit 2020 (Version 83) kann [[Firefox]] so eingestellt werden, dass es nur HTTPS verwendet.&amp;lt;ref&amp;gt;{{Internetquelle |url=https://support.mozilla.org/en-US/kb/https-only-prefs |titel=HTTPS-Only Mode in Firefox |werk=support.mozilla.org |sprache=en |abruf=2021-06-18}}&amp;lt;/ref&amp;gt; Falls eine Website nur über das unsichere HTTP erreicht werden kann, erfolgt der Zugriff erst nach expliziter Zustimmung durch den Nutzenden.&lt;br /&gt;
&lt;br /&gt;
=== Vertrauensanker ===&lt;br /&gt;
Die Authentizität einer aufgerufenen HTTPS-Adresse ergibt sich durch ein [[Digitales Zertifikat]] des Webservers. Das Zertifikat ist Teil einer [[Public-Key-Infrastruktur]] (PKI) nach dem [[X.509]]-Standard. Serverzertifikate werden von [[Zertifizierungsstelle (Digitale Zertifikate)|Zertifizierungsstellen]] ausgestellt, deren Wurzelzertifikate dem Browser bekannt sein müssen und als [[Vertrauensanker]] dienen. Ist das Serverzertifikat authentisch, so zeigt der Browser die Verbindung als sicher an.&lt;br /&gt;
&lt;br /&gt;
Ist das Wurzelzertifikat dem Browser nicht bekannt, so führt das zu einer Sicherheitswarnung beim Seitenaufruf. Je nach Einstellung der Browser und des Servers (HSTS, siehe oben) kann der Anwender die Seite entweder gar nicht aufrufen oder explizit auf eigenes Risiko eine „Ausnahme hinzufügen“. Eine Website ohne ein im Browser eingetragenes Zertifikat ist damit für Massenanwendungen untauglich.&lt;br /&gt;
&lt;br /&gt;
Je nach Browser und [[Betriebssystem]] liefern die Browser-Hersteller entweder eine Liste von vertrauenswürdigen Stammzertifikaten mit oder greifen auf den Zertifikatsspeicher des Betriebssystems zurück. Ob ein Wurzelzertifikat dem Browser bekannt ist, hängt somit von der Version des Browsers und des Betriebssystems ab. Die Liste der vertrauenswürdigen Wurzelzertifikate wird durch den Hersteller mit [[Softwareaktualisierung]]en auf den neuesten Stand gebracht.&lt;br /&gt;
&lt;br /&gt;
Welche Wurzelzertifikate die Hersteller in ihre Zertifikatsspeicher aufnehmen, ergibt sich aus den Regelungen des [[CA/Browser Forum]]s. Die [[Zertifizierungsstelle]] muss hierbei durch einen externen [[Audit]] nachweisen, mit den Sicherheitsvorgaben konform zu sein. Da dies mit Kosten verbunden ist, stellt es eine Aufnahmehürde dar. Das in der [[Open Source|Open-Source-Community]] verbreitete [[CAcert]], ein früher Anbieter kostenloser Zertifikate, ist eine prominente Zertifizierungsstelle, das nicht in den Browsern mitgeliefert wird. Anwender, die eine Seite mit CAcert-Zertifikat besuchen, müssen das Wurzelzertifikat händisch installieren.&lt;br /&gt;
&lt;br /&gt;
Um die Verbreitung von HTTPS zu fördern, ging Ende 2015 die gemeinnützige Zertifizierungsstelle [[Let’s Encrypt]] in Betrieb. Let’s Encrypt stellt für jeden kostenlose Zertifikate aus, die von den gängigen Browsern als vertrauenswürdig akzeptiert werden. Für die Installation und laufende Aktualisierung der Zertifikate ist eine Software auf dem Server notwendig.&lt;br /&gt;
&lt;br /&gt;
== Server-Betrieb ==&lt;br /&gt;
Als Software zum Betrieb eines HTTPS-fähigen [[Webserver]]s wird eine SSL-Bibliothek wie [[OpenSSL]] benötigt. Diese wird häufig bereits mitgeliefert oder kann als Modul installiert werden. Der HTTPS-Service wird üblicherweise auf [[Port (Netzwerkadresse)|Port]] 443 bereitgestellt.&lt;br /&gt;
&lt;br /&gt;
=== Zertifikat ===&lt;br /&gt;
Das [[Digitales Zertifikat|digitale Zertifikat]] für [[Secure Sockets Layer|SSL]], das die Authentifizierung ermöglicht, ist vom Server bereitzustellen: Ein Binärdokument, das im Allgemeinen von einer –&amp;amp;nbsp;selbst wiederum zertifizierten&amp;amp;nbsp;– [[Zertifizierungsstelle (Digitale Zertifikate)|Zertifizierungsstelle]] (CA von {{enS|certificate authority}}) ausgestellt wird, das den Server und die [[Domain (Internet)|Domain]] eindeutig identifiziert. Bei der Beantragung werden dazu etwa die Adressdaten und der Firmenname des Antragstellers geprüft.&lt;br /&gt;
&lt;br /&gt;
In gängigen Browsern eingetragene Zertifikate werden typischerweise zu Preisen zwischen 15 und 600&amp;amp;nbsp;€ pro Jahr angeboten, wobei fallweise weitere Dienste, Siegel oder Versicherungen enthalten sind. Eine Reihe von Zertifizierungsstellen gibt kostenlos Zertifikate aus. Die etwa von &amp;lt;!--[[StartCom]]&amp;lt;ref&amp;gt;{{Internetquelle |url=https://www.heise.de/security/meldung/Mozilla-vertraut-kostenlosen-StartCom-Zertifikaten-129472.html |titel=Mozilla vertraut kostenlosen StartCom Zertifikaten |hrsg=Heise-Online |datum=2006-06-03 |zugriff=2010-03-04}}&amp;lt;br /&amp;gt;Vgl. dazu auch &amp;#039;&amp;#039;[[:en:Comparison of SSL certificates for web servers|Comparison of SSL certificates for web servers]]&amp;#039;&amp;#039; in der englischsprachigen Wikipedia.&amp;lt;/ref&amp;gt; oder--&amp;gt; [[Let’s Encrypt]] ausgestellten Zertifikate werden dabei von fast allen modernen Browsern ohne Fehlermeldung akzeptiert. Ebenfalls kostenlose Zertifikate erstellt [[CAcert]], wo es bisher jedoch nicht gelang, in die Liste der vom Browser automatisch akzeptierten Zertifikate aufgenommen zu werden; siehe [[#Vertrauensanker|oben]]. Ein solches Zertifikat muss daher bei der [[#Client-Verarbeitung|Client-Verarbeitung]] vom Anwender manuell importiert werden; dieses Verhalten kann aber auch erwünscht sein.&lt;br /&gt;
&lt;br /&gt;
Um veraltete oder unsicher gewordene Zertifikate für ungültig zu erklären, sind [[Zertifikatsperrliste]]n ({{enS|certificate revocation list}}, &amp;#039;&amp;#039;CRL&amp;#039;&amp;#039;) vorgesehen. Das Verfahren sieht vor, dass diese Listen regelmäßig von Browsern geprüft und darin gesperrte Zertifikate ab sofort abgewiesen werden.&lt;br /&gt;
&lt;br /&gt;
Mit dem [[OCSP]] (Online Certificate Status Protocol) kann, ergänzt um [[SCVP]] (Server-based Certificate Validation Protocol), serverseitig die Unterstützung für Zertifikats-Prüfungen umgesetzt werden.&amp;lt;ref&amp;gt;[https://httpd.apache.org/docs/trunk/ssl/ssl_howto.html#ocspstapling apache.org: Apache 2.5 OCSP Stapling], abgerufen am 23. Juli 2017.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zu Angriffen auf das Zertifikatsystem, siehe [[#Zertifikatsystem|unten]].&lt;br /&gt;
&lt;br /&gt;
==== Selbst-signiert ====&lt;br /&gt;
Ein Server-Betreiber kann auch selbst-signierte Zertifikate (englisch {{lang|en|&amp;#039;&amp;#039;self-signed certificate&amp;#039;&amp;#039;}}) kostenlos erstellen, ohne Beteiligung einer dritten Instanz. Diese müssen vom Browser-Anwender manuell bestätigt werden (&amp;#039;Ausnahme hinzufügen&amp;#039;). In diesem Fall garantiert kein Dritter die Authentizität des Anbieters. Ein solches Zertifikat kann wiederum dem Anwender vorab auf einem sicheren Weg zugestellt und in seine Client-Anwendung importiert werden, um Authentizität auf anderem Wege abzubilden.&lt;br /&gt;
&lt;br /&gt;
==== Extended-Validation-Zertifikat ====&lt;br /&gt;
{{Hauptartikel|Extended-Validation-Zertifikat}}&lt;br /&gt;
&lt;br /&gt;
Vor dem Hintergrund zunehmender [[Phishing]]-Angriffe auf HTTPS-gesicherte Webanwendungen hat sich 2007 in den USA das [[CA/Browser Forum]] gebildet, das aus Vertretern von Zertifizierungsorganisationen und den Browser-Herstellern besteht. Zum Gründungszeitpunkt waren die Browser-Hersteller KDE, Microsoft, Mozilla und Opera beteiligt.&amp;lt;ref&amp;gt;[https://web.archive.org/web/20070202031218/http://www.cabforum.org/forum.html web.archive.org]&amp;lt;/ref&amp;gt; Im Juni 2007 wurde daraufhin eine erste gemeinsame Richtlinie verabschiedet, das [[Extended-Validation-Zertifikat]], kurz EV-SSL in Version 1.0, im April 2008 dann Version 1.1.&lt;br /&gt;
&lt;br /&gt;
Ein Domain-Betreiber muss für dieses Zertifikat weitere Prüfungen akzeptieren: Während bisher nur die Erreichbarkeit des Administrators (per Telefon und E-Mail) zu prüfen war, wird nun die Postadresse des Antragstellers überprüft und bei Firmen die Prüfung auf zeichnungsberechtigte Personen vorgenommen. Damit sind auch deutlich höhere Kosten verbunden.&lt;br /&gt;
&lt;br /&gt;
=== IP-Adressen bei mehreren Domains ===&lt;br /&gt;
Zum Betrieb eines HTTPS-Webservers war lange Zeit eine eigene [[IP-Adresse]] pro [[Hostname]] notwendig.&lt;br /&gt;
&lt;br /&gt;
Bei unverschlüsseltem HTTP ist das nicht erforderlich: Seitdem Browser den Hostnamen im [[Hypertext Transfer Protocol#Aufbau|HTTP-Header]] mitsenden, können mehrere virtuelle Webserver mit je eigenem Hostnamen auf einer IP-Adresse bedient werden, zum Beispiel bei [[Apache HTTP Server|Apache]] über den &amp;#039;&amp;#039;NameVirtualHost&amp;#039;&amp;#039;-Mechanismus. Dieses Verfahren wird inzwischen bei der weit überwiegenden Zahl der Domains benutzt, da hier der Domain-Eigner selbst keinen Server [[Hosting|betreibt]].&lt;br /&gt;
&lt;br /&gt;
Da bei HTTPS jedoch der Webserver für jeden Hostnamen ein eigenes Zertifikat ausliefern muss, der Hostname aber erst nach erfolgtem SSL-Handshake in der höheren HTTP-Schicht übertragen wird, ist das Deklarieren des Hostnamens im HTTP-Header hier nicht anwendbar. Dadurch war eine Unterscheidung nur anhand der [[Socket (Software)#Internet-Sockets|IP/Port-Kombination]] möglich; ein anderer Port als 443 wird wiederum von vielen [[Proxy (Rechnernetz)|Proxys]] nicht akzeptiert.&lt;br /&gt;
&lt;br /&gt;
Vor diesem Hintergrund nutzten einige Provider einen [[Workaround]], um ihren Kunden auch HTTPS ohne eigene IP-Adresse zu ermöglichen, etwa „shared SSL“. Sie nutzten Wildcard-Zertifikate, die für alle Subdomains einer [[Domain (Internet)|Domain]] gültig sind, in Verbindung mit kundenspezifischen Subdomains. Andere Provider nutzten einen „SSL [[Proxy (Rechnernetz)|Proxy]]“, der die Anfragen über eine von mehreren Kunden genutzte Domain leitete.&lt;br /&gt;
&lt;br /&gt;
Die Lösung dieses Problems kam durch [[Server Name Indication]] (SNI),&amp;lt;ref&amp;gt;{{RFC-Internet |RFC=3546 |Titel=Transport Layer Security (TLS) Extensions |Datum=2003-06 |Abschnitt=3.1 |Abschnittstitel=Server Name Indication}}&amp;lt;/ref&amp;gt; auf Basis von [[Transport Layer Security]] 1.2, da hier der vom Browser gewünschte Hostname bereits beim SSL-Handshake übermittelt werden kann. Damit sind die oben genannten anderen Techniken bedeutungslos geworden. Das Verfahren bedarf entsprechend aktueller Software auf Seiten des Servers und des Browsers und wurde von diesen ab 2006 unterstützt.&lt;br /&gt;
&lt;br /&gt;
Im Falle des [[Apache HTTP Server|Apache-Servers]] wird die SNI-Verarbeitung z.&amp;amp;nbsp;B. durch eine nur leicht modifizierte Konfigurations-Anweisung gesteuert:&amp;lt;ref&amp;gt;[https://www.digitalocean.com/community/tutorials/how-to-set-up-multiple-ssl-certificates-on-one-ip-with-apache-on-ubuntu-12-04 digitalocean.com: How To Set Up Multiple SSL Certificates on One IP with Apache on Ubuntu 12.04], 19. Oktober 2012, abgerufen am 9. März 2017.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Webarchiv|url=http://nickgeoghegan.net/linux/enabling-server-name-includes-on-debian-squeeze |wayback=20170819144503 |text=nickgeoghegan.net: Enabling Server Name Includes on Debian Squeeze |archiv-bot=2025-07-12 06:59:20 InternetArchiveBot }}, abgerufen am 23. Juli 2017.&amp;lt;/ref&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;&amp;lt;VirtualHost _default_:443&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Einbindung ===&lt;br /&gt;
Die Einbindung von HTTPS in eine Website oder -anwendung erfolgt analog zu den oben genannten [[#Varianten der HTTPS-Anwahl|Varianten der HTTPS-Anwahl]]:&lt;br /&gt;
* Wenn ausschließlich HTTPS zulässig ist, kann das umgesetzt werden durch:&lt;br /&gt;
** Weiterleitung ([[Meta-Tag#refresh - Weiterleitung|HTML-refresh]]) oder auch ein [[Rewrite-Engine|rewrite]] der URL&lt;br /&gt;
** Konfiguration von HTML-Seiten oder Skripten als Muss-SSL, bei Apache etwa durch die Anweisung &amp;lt;code&amp;gt;SSLRequireSSL&amp;lt;/code&amp;gt; in der [[.htaccess]]. Wird eine solche Seite per HTTP aufgerufen, erzeugt der Server einen &amp;#039;403 – Forbidden&amp;#039; [[HTTP-Statuscode|HTTP-Fehlercode]].&lt;br /&gt;
* Der Anwender wird auf die &amp;#039;&amp;#039;Möglichkeit&amp;#039;&amp;#039; der SSL-Nutzung durch einen entsprechenden Link hingewiesen.&lt;br /&gt;
** Teilweise wird, vor allem während der Einführung von HTTPS, auf eine Bewerbung durch einen Link verzichtet. Der Anwender kann nur manuell auf HTTPS umschalten, indem er in der URL selbstständig das „s“ hinter „http“ hinzufügt.&lt;br /&gt;
* Skriptgesteuerte Erzeugung von HTTPS-Links, um den Anwender bei bestimmten Arbeitsschritten oder Ausgaben auf eine HTTPS-Seite zu lenken. Anschließend kann im Skript geprüft werden, ob dieses per HTTPS aufgerufen wurde, bei [[PHP]] etwa durch die Bedingung: &amp;lt;code&amp;gt;$_SERVER[&amp;#039;HTTPS&amp;#039;]==&amp;#039;on&amp;#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Umstellung ===&lt;br /&gt;
Mit zunehmender CPU-Leistung sowie Sicherheitsbewusstsein tritt regelmäßig die Anforderung auf, eine bisher auf HTTP basierende Website auf HTTPS umzustellen. Im Falle der Website [[Stack Overflow (Website)|Stack Overflow]] mit einer Vielzahl von Usern und Services zieht sich dieser Prozess über einige Jahre hin&amp;lt;ref&amp;gt;[https://meta.stackexchange.com/questions/292058/network-wide-https-its-time?cb=1 meta.stackexchange.com: Network-wide HTTPS: It’s time], abgerufen am 9. März 2017.&amp;lt;/ref&amp;gt; und ist Stand März 2017 nicht abgeschlossen. Dabei wurden u.&amp;amp;nbsp;a. folgende Themen bearbeitet:&amp;lt;ref&amp;gt;[https://nickcraver.com/blog/2013/04/23/stackoverflow-com-the-road-to-ssl/ nickcraver.com: Stackoverflow.com: the road to SSL], abgerufen am 9. März 2017.&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Vermeidung von Einbindungen von unverschlüsselten Daten (Mediadaten, Stylesheets etc.) in eine verschlüsselte Seite (sogenannter &amp;#039;&amp;#039;Mixed Content&amp;#039;&amp;#039;&amp;lt;ref&amp;gt;[https://www.w3.org/TR/mixed-content/ Beschreibung von Mixed Content.] w3.org&amp;lt;/ref&amp;gt;). Andernfalls werden Browserwarnungen wie &amp;#039;Part of this page is not secure&amp;#039; ausgegeben oder Daten nicht geladen.&lt;br /&gt;
* Gesamte Infrastruktur ist auf SSL umzustellen, darunter [[Loadbalancer]] und Proxies&lt;br /&gt;
* Organisation der Zertifikate, ggf. für eine Vielzahl von Subdomains&lt;br /&gt;
* Umstellung von Code der eigenen [[Webanwendung]], worin HTTP hart codiert ist&lt;br /&gt;
* Umstellung von altem und Prüfung von neuem User-Code, der ggf. HTTP verwendet&lt;br /&gt;
* Qualitätsprüfung&lt;br /&gt;
* Umsetzung laufender Sessions, ohne deren Inhalte zu verlieren (24/7 Betrieb)&lt;br /&gt;
&lt;br /&gt;
=== Leistung ===&lt;br /&gt;
Beim Verbindungsaufbau handeln Client und Server im [[Transport Layer Security#TLS Handshake Protocol|TLS-Handshake]] einen Verschlüsselungsalgorithmus aus. Hierbei besteht ein Zielkonflikt zwischen möglichst sicheren und performanten Algorithmen. Dies gilt insbesondere für den Server, da dieser für gewöhnlich mehrere Clients gleichzeitig bedient und somit einen höheren [[Datenverkehr]] als der Client verarbeitet. Früher übliche Verfahren wie die [[Blockverschlüsselung|Blockchiffre]] [[Data Encryption Standard|DES]] und die [[Stromverschlüsselung|Stromchiffre]] [[RC4]] bieten eine gute Leistung, gelten heute jedoch nicht mehr als hinreichend sicher. RC4 wird seit 2016 von den großen [[Webbrowser]]n nicht mehr unterstützt.&amp;lt;ref&amp;gt;Emil Protalinski: [https://venturebeat.com/2015/09/01/google-microsoft-and-mozilla-will-drop-rc4-support-in-chrome-edge-ie-and-firefox-next-year/ Google, Microsoft, and Mozilla will drop RC4 encryption in Chrome, Edge, IE, and Firefox next year], VentureBeat, 1. September 2015.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zur Erhöhung der Server-Performance wird auch Hardware-Beschleunigung eingesetzt. Eine Möglichkeit ist der Einsatz von [[Peripheral Component Interconnect|PCI-Steckkarten]] mit speziellen, optimierten Prozessoren, die aus der TLS-Bibliothek angesprochen werden. Daneben gibt es auch eigenständige Geräte, meist in Rack-Bauweise, die Teile des HTTP-Datenstroms automatisch verschlüsseln. Weiterhin werden Server mit programmierbaren Recheneinheiten angeboten, die mit entsprechenden SSL-Bibliotheken höhere Leistung als vergleichbar aufwendige Universal-CPUs erreichen, so die MAU (&amp;#039;&amp;#039;Modular Arithmetic Unit&amp;#039;&amp;#039;) von [[Sun Microsystems|Sun]]. Diese spezielle Hardware steht aber im engen Wettbewerb mit der stetigen Entwicklung der Multiprozessor- und [[Mehrkernprozessor|Multi-Core]]-Systeme der großen CPU-Hersteller Intel und AMD.&amp;lt;ref name=&amp;quot;anant_ssl&amp;quot;&amp;gt;[http://www.anandtech.com/show/2143/6 &amp;#039;&amp;#039;Quad Core Intel Xeon SSL Performance&amp;#039;&amp;#039;] auf anandtech.com, 27. Dezember 2006.&amp;lt;/ref&amp;gt; Moderne Prozessoren enthalten mit [[AES-NI]] eine Hardware-Beschleunigung für den [[Advanced Encryption Standard|AES-Verschlüsselungsalgorithmus]], der einen Teil der für HTTPS notwendigen Rechenoperationen ausmacht.&lt;br /&gt;
&lt;br /&gt;
2010 verursachte die Verschlüsselung beispielsweise bei [[Gmail]] weniger als 1 % der [[Prozessor]]-Last, weniger als 10&amp;amp;nbsp;KB [[Arbeitsspeicher]]bedarf pro Verbindung und weniger als 2 % des Netzwerk-[[Datenverkehr]]s.&amp;lt;ref name=&amp;quot;overclocking-ssl&amp;quot;&amp;gt;{{Internetquelle |autor=Adam Langley, Nagendra Modadugu, Wan-Teh Chang |url=https://www.imperialviolet.org/2010/06/25/overclocking-ssl.html |titel=Overclocking SSL |werk=ImperialViolet. Adam Langley’s Weblog |datum=2010-06-25 |sprache=en |abruf=2014-10-23}}&amp;lt;/ref&amp;gt; 10&amp;amp;nbsp;Jahre vorher belastete der Rechenaufwand der Verschlüsselung die Server noch stark.&amp;lt;ref name=&amp;quot;overclocking-ssl&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Angriffe und Schwachstellen ==&lt;br /&gt;
Mit den allgemein zunehmenden Kenntnissen über die HTTPS-Technik haben sich auch die Angriffe auf SSL-gesicherte Verbindungen gehäuft. Daneben sind durch Recherche und Forschungen Lücken in der Umsetzung bekannt geworden. Dabei ist grundsätzlich zu unterscheiden zwischen Schwachstellen bei der Verschlüsselung selbst und im Zertifikatsystem. 2013 wurde im Zusammenhang mit der [[Globale Überwachungs- und Spionageaffäre|globalen Überwachungs- und Spionageaffäre]] bekannt, dass die [[National Security Agency|NSA]] beide Angriffskanäle nutzte, um Zugang zu verschlüsselten Verbindungen zu erlangen.&lt;br /&gt;
&lt;br /&gt;
=== Verschlüsselung ===&lt;br /&gt;
Die bei SSL eingesetzten Verschlüsselungsverfahren werden unabhängig von ihrem Einsatzzweck regelmäßig überprüft und gelten als mathematisch sicher, d.&amp;amp;nbsp;h., sie lassen sich theoretisch mit den heute bekannten Techniken nicht brechen. Die Zuverlässigkeit der Algorithmen wird regelmäßig etwa durch Wettbewerbe unter [[Kryptologie|Kryptologen]] überprüft. Regelmäßig werden in den Spezifikationen und den Implementierungen die Unterstützung veralteter Verschlüsselungsverfahren, die nach dem aktuellen Stand der Technik als nicht mehr sicher gelten, gestrichen und neue Verfahren aufgenommen.&amp;lt;ref&amp;gt;Beispielhaft: {{Internetquelle |autor=Daniel Berger |url=https://www.heise.de/newsticker/meldung/Firefox-39-entfernt-SSLv3-und-RC4-2734444.html |titel=Firefox 39 entfernt SSLv3 und RC4 |werk=[[Heise online]] |datum=2015-07-03 |abruf=2015-10-22}}&amp;lt;br /&amp;gt; {{Internetquelle |autor=Daniel Berger |url=https://www.heise.de/newsticker/meldung/Firefox-27-verschluesselt-mit-TLS-1-2-2105377.html |titel=Firefox 27 verschlüsselt mit TLS 1.2 |werk=[[Heise online]] |datum=2014-02-04 |abruf=2015-10-22}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Probleme entstanden in der Vergangenheit mehrfach durch fehlerhafte Implementierung der Kryptologie. Insbesondere Schwachstellen in der weit verbreiten [[OpenSSL]]-Bibliothek wie [[Heartbleed]] haben dabei große öffentliche Aufmerksamkeit erfahren.&lt;br /&gt;
&lt;br /&gt;
Da in der Regel Benutzer nicht explizit eine verschlüsselte Verbindung durch Spezifizierung des HTTPS-Protokolls (&amp;#039;&amp;#039;&amp;lt;nowiki&amp;gt;https://&amp;lt;/nowiki&amp;gt;&amp;#039;&amp;#039;) beim Aufruf einer Webseite anfordern, kann ein Angreifer eine Verschlüsselung der Verbindung bereits vor Initialisierung unterbinden und einen [[Man-in-the-Middle-Angriff]] ausführen.&amp;lt;ref&amp;gt;{{Internetquelle |autor=Daniel Bachfeld |url=https://www.heise.de/security/meldung/Black-Hat-Neue-Angriffsmethoden-auf-SSL-vorgestellt-198285.html |titel=Black Hat: Neue Angriffsmethoden auf SSL vorgestellt |werk=[[Heise online]] Security |datum=2009-02-19 |abruf=2015-10-25}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Speziell zur Abwehr von [[Downgrade-Angriff]]en gegen die Verschlüsselung sowie von [[Session Hijacking]] wurde 2012 das Verfahren [[HTTP Strict Transport Security]] oder HSTS vorgestellt. Es wird durch einen HSTS-Header seitens des Servers aktiviert, worauf im Browser u.&amp;amp;nbsp;a. http- in https-URLs umgewandelt werden.&lt;br /&gt;
&lt;br /&gt;
=== Zertifikatsystem ===&lt;br /&gt;
SSL-Verbindungen sind grundsätzlich gefährdet durch [[Man-in-the-Middle-Angriff]]e, bei denen der Angreifer den Datenverkehr zwischen Client und Server abfängt, indem dieser sich beispielsweise als Zwischenstelle ausgibt. Eine Reihe von Angriffsverfahren setzen voraus, dass sich der Angreifer im Netzwerk des Opfers befindet. Beim [[DNS-Spoofing]] wiederum bestehen diese Voraussetzungen nicht.&lt;br /&gt;
&lt;br /&gt;
Um sich als (anderer) Server auszugeben, muss der Angreifer auch ein Zertifikat vorweisen. Das ist ihm beispielsweise dann möglich, wenn es ihm gelingt, in das System einer Zertifizierungsstelle einzudringen, oder er anderweitig in den Besitz eines Zertifikats kommt, mit dem sich beliebige andere Zertifikate ausstellen lassen. Insbesondere bei einflussreichen Angreifern, wie etwa Regierungsbehörden, können solche Möglichkeiten bestehen, da mitunter auch staatliche Zertifizierungsstellen existieren.&amp;lt;ref&amp;gt;[https://www.heise.de/security/meldung/EFF-zweifelt-an-Abhoersicherheit-von-SSL-963857.html &amp;#039;&amp;#039;EFF zweifelt an Abhörsicherheit von SSL.&amp;#039;&amp;#039;] heise security; abgerufen am 28. Juni 2013.&amp;lt;/ref&amp;gt; [[HTTP Public Key Pinning]] und [[Certificate Transparency]] sollen solche Angriffe erschweren.&lt;br /&gt;
&lt;br /&gt;
==== Phishing und HTTPS ====&lt;br /&gt;
Ein Nachteil der automatischen Bestätigung der Zertifikate besteht darin, dass der Anwender eine HTTPS-Verbindung nicht mehr bewusst wahrnimmt. Das wurde in jüngerer Zeit bei [[Phishing]]-Angriffen ausgenutzt, die etwa [[Online-Banking]]-Anwendungen simulieren und dem Anwender eine sichere Verbindung vortäuschen, um eingegebene [[Persönliche Identifikationsnummer|PIN]]/[[Transaktionsnummer|TAN]]-Codes „abzufischen“. Als Reaktion wiesen betroffene Unternehmen ihre Kunden darauf hin, keine Links aus E-Mails anzuklicken und https-[[Uniform Resource Locator|URLs]] nur manuell oder per [[Lesezeichen (World Wide Web)|Lesezeichen]] einzugeben.&lt;br /&gt;
&lt;br /&gt;
Wegen der teils oberflächlichen Prüfungen bei der Vergabe von Zertifikaten wurde von den Browserherstellern das &amp;#039;&amp;#039;extended-validation-Cert&amp;#039;&amp;#039; eingeführt, siehe [[#Extended-Validation-Zertifikat|oben]].&lt;br /&gt;
&lt;br /&gt;
===== Gemischte Inhalte =====&lt;br /&gt;
Das Nachladen unverschlüsselter Ressourcen ermöglicht einem Angreifer, mittels eines [[Man-in-the-Middle-Angriff]]s Schadcode in die ursprünglich verschlüsselt übertragene Webseite einzuschleusen. Daher blockieren aktuelle Versionen gängiger Webbrowser das Nachladen unverschlüsselter Ressourcen standardmäßig. Ebenso besteht bei einem sowohl für verschlüsselte als auch unverschlüsselte Verbindungen genutzten [[HTTP-Cookie]] das Risiko eines [[Session Hijacking]], auch wenn die [[Authentifizierung]] über eine verschlüsselte Verbindung erfolgte.&lt;br /&gt;
&lt;br /&gt;
==== Schwachstelle MD5 ====&lt;br /&gt;
Auf dem 25. [[Chaos Communication Congress]] in Berlin wurde im Dezember 2008 ein erfolgreicher Angriff auf das SSL-Zertifikatsystem veröffentlicht. In internationaler Zusammenarbeit von Kryptologen und mit Einsatz speziell programmierter Hardware –&amp;amp;nbsp;einem Cluster aus 200 Playstation-3-Spielkonsolen&amp;amp;nbsp;– war es gelungen, im [[Message-Digest Algorithm 5|MD5]]-Algorithmus eine [[Hashtabelle#Kollisionen|Kollision]] zu erzeugen, auf deren Basis ein Angreifer sich selbst beliebige Zertifikate ausstellen könnte.&amp;lt;ref&amp;gt;[https://www.heise.de/security/meldung/25C3-Erfolgreicher-Angriff-auf-das-SSL-Zertifikatsystem-192869.html &amp;#039;&amp;#039;25C3: Erfolgreicher Angriff auf das SSL-Zertifikatsystem.&amp;#039;&amp;#039;] heise.de, 30. Dezember 2008; abgerufen am 3. Januar 2013.&amp;lt;/ref&amp;gt; Von der Verwendung des MD5-Algorithmus wurde in Fachkreisen vorher schon abgeraten; bei [[#Extended-Validation-Zertifikat|EV-Zertifikaten]] kann er ohnehin nicht verwendet werden. Die meisten Webbrowser akzeptieren schon seit 2011 keine MD5-Zertifikate mehr.&amp;lt;ref&amp;gt;[https://support.apple.com/en-us/HT202349 Apple IOS5], [https://wiki.mozilla.org/CA:MD5and1024 Firefox 16], [http://www.computerworld.com/article/2483686/security0/microsoft-moves-to-block-md5-certificates-and-improve-rdp-authentication.html Microsoft Internet Explorer].&amp;lt;/ref&amp;gt; Um ähnliche Probleme zu vermeiden, kündigten die Browser-Hersteller darauf an, auch [[SHA1]]-Zertifikate nur noch eine beschränkte Zeit zu unterstützen.&amp;lt;ref&amp;gt;Ivan Ristic: [https://community.qualys.com/blogs/securitylabs/2014/09/09/sha1-deprecation-what-you-need-to-know SHA1 Deprecation: What You Need to Know].&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Spezifikationen ==&lt;br /&gt;
* {{RFC-Internet |RFC=2818 |Titel=HTTP Over TLS |Datum=2000}}&lt;br /&gt;
* {{RFC-Internet |RFC=9110 |Titel=HTTP Semantics |Datum=2022}}&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [https://httpd.apache.org/docs/2.4/ssl/ssl_intro.html &amp;#039;&amp;#039;SSL intro.&amp;#039;&amp;#039;] Apache.org&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references responsive /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HTTP]]&lt;br /&gt;
[[Kategorie:Verschlüsselungsprotokoll]]&lt;br /&gt;
[[Kategorie:Internet-Anwendungsprotokoll]]&lt;br /&gt;
[[Kategorie:Kryptologischer Standard]]&lt;br /&gt;
[[Kategorie:Internetstandard]]&lt;/div&gt;</summary>
		<author><name>imported&gt;InternetArchiveBot</name></author>
	</entry>
</feed>