PMG2022/Einführung/Marcus
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
<language>Java</language> ''' HTTP und HTTPS ''' ='''HTTPS und TLS'''= == 1. '''HTTPS''' (Hypertext Transfer Protocol Secure) == Hypertext Transfer Protocol Secure ist ein Kommunikationsprotokoll im World Wibe Web, um Daten sicher zu übertragen und um diese dann abhören zu können. Desweiteren stellt das HTTPS eine Transportverschlüsselung dar. Entwickelt wurde HTTPS von Netscape und zusammen mit SSL wurde es im Jahre 1994 erstmals mit deren Browser veröffentlicht. == 1.1 ''Nutzung von HTTPS'' == Genutzt wird HTTPS zur Herstellung von Vertraulichkeit und Integrität in der Kommunikation zwischen Webbrowser (Client) und Webserver im World Wide Web. Erreicht wird dies durch Verschlüsselung und Authentifizierung. Durch die Verbreitung von offenen WLANs nimmt die Bedeutung von HTTPS deutlich zu, da Inhalte unabhängig vom Netz verschlüsselt werden können. Wichtig bei der Nutzung von HTTPS ist, dass beide Seiten der Verbindung beim Aufbau der Kommunikation die Identität des Verbindungspartners überprüfen können. == Sicherheitsprotokolle == '''SSL''' Für eine Verschlüsselung der Datenübertragung ist die SSL (Secure Sockets Layer) verantwortlich. Doch ist dieses von Netscape entwickelte Protokoll heute unsicher und weist große Sicherheitslücken auf. Von SSL Verschlüsslungen wird abgeraten. '''TLS''' Ein neues sicheres Verschlüsselungsprotokoll ist das TLS (Transport Layer Security). Dieses ist ein zuverlässiger und vertrauenswürdiger Nachfolger der SSL. TLS entstand aus der 3. Version von SSL. Oftmals hört man auch noch den Begriff SSL obwohl es sich eigentlich um die neuere Form TLS handelt. [[Bild:Lea Sophie_SSLundTLS.PNG|200px]] '''Ziele von Sicherheitsprotokollen''' Die Nutzung von der SSL/TLS verfolgt ''3 Ziele'': In diesem Beispiel verdeutlicht an einem Nutzer, nennen wir sie Helen, welche 2 Informatikbücher auf einer Internetseite kauft. '''''1. Vertraulichkeit''''', d.h. Helenes Daten, wie Anschrift an welche sie ihre Bücher geliefert bekommen möchte, Bankkonten zum bezahlen und sonstige, persönliche Angaben sind für Dritte nicht einsehbar, da diese durch die SSL/TLS verschlüsselt wurden. '''''2. Integrität der Daten''''', bedeutet dass Helenes Bestellung nicht durch Dritte manipuliert werden kann, also dass sie 2 Informatikbücher und nicht etwa ein anderes Produkt zugestellt bekommt, bzw. ihre Bestellung überhaupt an ihrer Adresse geliefert wird. Diese Vorgänge garantieren Sicherheitsprotokolle. '''''3.Authentizität''''', steht für die Wahrheit, also die Sicherheit für Helene, dass die Webseite über die sie ihre Bücher gekauft hat auch zu einem existenten Shop gehört und keine Verkaufs-Masche ist. Diese Aufgabe ist wichtig für die SSL/TLS, da sie dem Kunden Schutz gibt. == Internetprotokolle == '''HTTP'''[[Bild:Lea Sophie_HTTProt.PNG|40px]] Die bekannteste, mittlerweile veraltete Form lautet HTTP (Hyper Text Transfer Protocol). Dieses Protokoll regelt die Übermittlung von Daten im Internet nach dem Sender-Empfänger Modell. Doch ist dieses Verbindungprotokoll unverschlüsselt. Mit HTTP übertragene Daten sind also nicht von Angriffen durch Dritte geschützt. [[Bild:Lea Sophie_HTTP.PNG]] '''HTTPS'''[[Bild:Lea Sophie_HTTPSgrün.PNG|40px]] Um die Sicherheit von Webseiten in voller Umfänglichkeit zu gewährleisten, gibt es die HTTPS (Hypertext Transfer Protocol Secure). Technisch gesehen ist dieses gar kein eigenständiges Protokoll sondern ein Zusammenwirken aus HTTP und SSL bzw. TLS (Internetprotokoll + Sicherheitsprotokoll). Die HTTPS bietet also eine gesicherte und verschlüsselte Verbindung. [[Bild:Lea Sophie_Http_to_https-1.jpg|550px]] '''Unterschiede: HTTP vs. HTTPS''' Die Verschlüsslung mithilfe von Sicherheitsprotokollen liefert der HTTPS einen sehr entschiedenen Vorteil gegenüber der HTTP. So sind Passwörter vor äußeren Eingriffen geschützter (siehe Bsp. Bild unten links) und Daten für Unbefugte schwer zugreifbar und somit sicherer und zu empfehlen. Dadurch ist die Nutzung einer HTTPS aber teurer für den Anbieter der Webseite. Auch von Browsern und Unternehmen, beispielsweise Google wird ein Umschwung von HTTP zu HTTPS gefördert. Die Suchmaschine listet in ihrem Ranking, also der Reihenfolge der zum Suchbegriff gefundenen Webseiten, solche zuerst auf, welche mit HTTPS Verschlüsselung für sicher erklärt wurden. Das zwingt die Betreiber von Seiten zum Umdenken - aber wer auf HTTPS umsteigt muss vieles beachten. Wichtiger Knackpunkt ist, das HTTP und HTTPS unterschiedliche Webseiten sind! Es muss neu strukturiert werden. Auch das Schlüsselzertifikat einer HTTPS-Seite muss mindestens 2048-Bit lang sein. Auch Querverweise und Hyperlinks müssen überprüft werden, auf HTTPS „Ziel“-Seiten. Viele Browser warnen vor Benutzung von HTTP-Seiten und empfelen diese nicht, oder nur ohne Gebrauch von Persönlichen Daten zu nutzen (s. Bild unten rechts). [[Bild:Lea Sophie_Difference-Between-HTTP-and-HTTPS.png]] [[Bild:Lea Sophie_Klassifizierung.PNG|550px]] '''FAZIT''' Bei der Nutzung von Webseiten sollte man immer daurauf achten HTTPS geschützte und Verschlüsselte Seiten zu Nutzen, erst Recht wenn man persönliche Daten angibt. == '''Informations-Quellen''' == [https://www.symantec.com/page.jsp?id=ssl-information-center] [http://www.eology.de/eology-blog/safety-first-wieso-es-zeit-wird-fuer-eine-umstellung-auf-https/] [https://www.marcobeierer.de/wissen/ssl-tls-und-https-erklaert] '''HTTPS und TLS''' == 1. '''HTTPS''' (Hypertext Transfer Protocol Secure) == Hypertext Transfer Protocol Secure ist ein Kommunikationsprotokoll im World Wibe Web, um Daten sicher zu übertragen und um diese dann abhören zu können. Desweiteren stellt das HTTPS eine Transportverschlüsselung dar. Entwickelt wurde HTTPS von Netscape und zusammen mit SSL wurde es im Jahre 1994 erstmals mit deren Browser veröffentlicht. == 1.1 ''Nutzung von HTTPS'' == Genutzt wird HTTPS zur Herstellung von Vertraulichkeit und Integrität in der Kommunikation zwischen Webbrowser (Client) und Webserver im World Wide Web. Erreicht wird dies durch Verschlüsselung und Authentifizierung. Durch die Verbreitung von offenen WLANs nimmt die Bedeutung von HTTPS deutlich zu, da Inhalte unabhängig vom Netz verschlüsselt werden können. Wichtig bei der Nutzung von HTTPS ist, dass beide Seiten der Verbindung beim Aufbau der Kommunikation die Identität des Verbindungspartners überprüfen können. == 1.2 ''Vor- und Nachteile von HTTPS'' == Der größte Vorteil den HTTPS bietet ist natürlich der Datenschutz im Internet. Desweiteren ist für die Nutzung keine zusätzliche Softwareinstallation von Nöten, was ebenfalls einen großen Vorteil für einige bietet, denn somit kann HTTPS ohne Probleme von jedem verwendet werden. Die Authentifizierung durch das Zertifikat schafft zudem Vertrauen füt potentielle Kunden von HTTPS. HTTPS weist allerdings auch einige Nachteile vor, welche aber eher von geringerer Bedeutung sind und somit auch in Kauf genommen werden können. Es können Zusatzkosten bei steigendem Traffic (Nutzung) entstehen. Beim HTTPS fallen Zwischenspeicherungen weg, doch mit den tendenziell steigenden Bandbreiten wird diesem Nachteil entgegengewirkt. Eine weitere Schwäche ist auch die schlechtere Performance, die bei der Verwendung von der SSL-Verschlüsselung entsteht. Der Server muss deutlich mehr rechnen, wodurch sich die Antwortzeit erhöht. Außerdem funktionieren mit HTTPS keine virtuellen Hosts == 2.'''TLS''' (Transport Layer Security) == Transport Layer Security ist ein hybrides Verschlüsselungsprotokoll zur sicheren Datenübertragung im Internet. Die letzte Version des SSL-Protokolls war 3.0 und danach wurde es mit dem neuen Namen TLS mit der Versio 1.0 weiterentwickelt und standardisiert. == 2.1 ''Versionen von TLS'' == -> SSL 2.0 -> SSL 3.0 -> SSL 3.1 bzw. TLS 1.0 -> TLS 1.1 -> TLS 1.2 -> TLS 1.3 Hinweis: Die Versionen SSL 2.0 und 3.0 werden in der heutigen Zeit nicht mehr unterstützt. == 2.2 ''Nutzung von TLS'' == In der heutigen Zeit wird TLS vorallem in Verbindung mit HTTPS eingesetzt. Am meisten von den Webservern eingesetzt wird die TLS-Version 1.0 in Verbindung mit dem RSA-, AES- und Camellia-Verschlüsselungsverfahren. Die TLS-Version 1.1 wird von Google Chrome unterstützt, die Weiterentwicklung TLS 1.2 wird in der Standardkonfiguration von Internet Explorer, Firefox, Opera, Apple iOS und ebenfalls von Google Chrome unterstützt. (Stand Februar 2014) == 2.3 ''Vor- und Nachteile'' == TLS bietet jeweils nur einen schwerwiegenden Vor- aber auch Nachteil. Der Vorteil den das TLS-Protokoll darbietet ist die Möglichkeit, jedes höhere Protokoll auf Basis des TLS-Protokolls zu implementieren. Somit ist eine Unabhängigkeit von Anwendungen und Systemen gewährleistet. Der Nachteil einer TLS-verschlüsselten Übertragung besteht darin, dass der Verbindungsaufbau auf der Serverseite rechenintensiv und somit auch langsamer ist. Die Verschlüsselung beansprucht je nach benutztem Algorithmus nur wenig Rechenzeit. Es sind allerdings auch einige Angriffe auf TLS und SSL bekannt, die die Sicherheitsgarantien untergraben. Beispiele für Angriffe sind hierbei: Padding-Oracle-Angriffe, Kompressionsangriffe, Downgrades auf Exportverschlüsselung oder auch Implentierungsfehler. Allerdings gibt es genug Sicherheitseinrichtungen die gegen Angriffe wie diese vorgehen können.