GNU/Linux >> LINUX-Kenntnisse >  >> Linux

HTTP vs. HTTPS:Was ist der Unterschied?

Zielgruppe

Dieser Artikel richtet sich an allgemeine Leser mit einem grundlegenden Verständnis der Funktionsweise des Internets.

Einführung

Wenn Sie im Internet surfen, werden die meisten Webseiten über ein Kommunikationsprotokoll namens HTTP auf Ihren Computer übertragen, das die überwiegende Mehrheit der Webseiten im World Wide Web bedient. Es kann jedoch ein anfälliges Kommunikationsschema sein, und hier kommt HTTPS ins Spiel.

HTTP

Wenn ein Benutzer eine Webadresse in die Adressleiste des Browsers eingibt und die Eingabetaste drückt, passiert viel hinter den Kulissen, bevor die Webseite im Browserfenster angezeigt wird. Der Client-Computer fragt zuerst einen DNS-Server (Domain Name System) nach der tatsächlichen numerischen IP-Adresse des Webservers ab, die der Webadresse zugeordnet ist. Sobald ihm die IP-Adresse bekannt ist, fordert der Client-Computer die angeforderte Ressource vom Webserver an. Der Server antwortet dann und die Webseite wird an den Computer des Benutzers geliefert. All dies geschieht normalerweise innerhalb von Millisekunden und verwendet ein Protokoll namens HTTP.

HTTP (HyperText Transfer Protocol) ist der Mechanismus, mit dem die überwiegende Mehrheit der Webseiten über das World Wide Web bereitgestellt wird. Es ist ein Server/Client-Anfrageprotokoll, bei dem der Client (normalerweise der Computer des Benutzers) ein Datenpaket (normalerweise eine Webseite) vom Server anfordert. Wenn beispielsweise ein Virtual Private Server eine Anfrage hört, antwortet er mit einer Statusantwort, normalerweise „HTTP/1.1 200 OK“. Es folgt dann mit den angeforderten Daten. Eine Anfrage/Antwort von einem Client an einen Server könnte also etwa so aussehen:

CLIENT:
GET /index.html HTTP/1.1
Host: www.example.com
User-agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:42.0) Gecko/20100101 Firefox/42.0

SERVER:
HTTP/1.1 200 OK
Date: Wed, 16 Sept 2015 23:59:59 GMT
Server: Apache 1.3.3.3 (Unix)
Content-Type: text/html
Content-Length: 1922
<html>
<head>
<title>Welcome to my site!</title>
</head>
<body>
This is a very simple web page, written in HTML.
</body>
</html>

.
Das Protokoll wird seit 1991 verwendet und ist ein anerkanntes, gültiges und nützliches Kommunikationsprotokoll. Es wurde jedoch nie mit Blick auf Sicherheit entwickelt. Der Austausch ist unverschlüsselt, was bedeutet, dass jeder den Inhalt sowohl der Anfrage als auch der Antwort lesen kann, wenn er abgefangen wird. Es ist besonders anfällig für den „Man-in-the-Middle“-Angriff, bei dem ein nicht autorisierter Computer als Vermittler zwischen dem Computer des Benutzers und dem Internet fungiert und alle gesendeten und empfangenen Nachrichten liest und protokolliert.

Das Internet mit HTTPS sichern

Es gibt jedoch ein anderes Protokoll, das ähnlich wie HTTP funktioniert, aber deutlich sicherer ist:HTTPS, was für HyperText Transfer Protocol Secure steht. HTTPS verwendet TLS (Transport Layer Security), um die Kommunikation zwischen dem Client-Computer und dem Server zu verschlüsseln, wodurch die Daten unbrauchbar und unlesbar werden, wenn sie abgefangen werden. Sie können TLS auch als SSL (Secure Socket Layer) hören. SSL war der Vorgänger von TLS und viele verwenden diesen Begriff immer noch, wenn sie über die Technologie sprechen, die hilft, HTTPS zu sichern.

TLS funktioniert über digitale Zertifikate. Auf Anfrage stellt eine Zertifizierungsstelle (CA) einem Server ein Zertifikat aus, das dazu dient, diesen Server gegenüber allen verbundenen Clients zu authentifizieren. Bei einer HTTPS-Transaktion kontaktiert ein Client einen TLS-fähigen Server und fordert eine verschlüsselte Sitzung an. Der Server antwortet dann mit einer Kopie seines digitalen Zertifikats. Dieses Zertifikat enthält die vertrauenswürdige Zertifizierungsstelle, die es ausgestellt hat, und den öffentlichen Schlüssel des Servers für die Verschlüsselung.

Der Client erhält die Zertifikatsinformationen des Servers und kann von der ausstellenden Stelle überprüfen, ob das Zertifikat gültig ist. Sobald sich der Client davon überzeugt hat, dass der Server authentisch ist, generiert er eine Zufallszahl. Anschließend verwendet es diese Zufallszahl, um einen Sitzungsschlüssel zu generieren. Der Client verschlüsselt dann die Zufallszahl mit dem öffentlichen Schlüssel des Servers und sendet sie an den Server. Da sie mit dem öffentlichen Schlüssel des Servers verschlüsselt wird, ist der Server der einzige, der die Nachricht mit seinem privaten Schlüssel entschlüsseln kann. Sobald der Server die Nachricht des Clients entschlüsselt, hat er dieselbe Zufallszahl, um denselben vom Client generierten Sitzungsschlüssel zu generieren. Von diesem Zeitpunkt an wird die gesamte Kommunikation zwischen dem Server und dem Client mit diesem Sitzungsschlüssel verschlüsselt und entschlüsselt. Die übertragenen Informationen sind genau wie der HTTP-Verkehr, nur dass sie jetzt vor dem Senden verschlüsselt werden, sodass die abfangende Entität die Informationen nicht entschlüsseln kann, falls sie abgefangen werden sollten. Vergleichen Sie, wie der unten stehende HTTPS-Verkehr mit dem vorherigen Beispiel für HTTP-Verkehr aussieht:

...........s.....*...."..*.....r.].di.s0.$. .<...v.b..'.....O..Z|.~$..!N...X...+./.
.......3.9./.5.
.............www.atlantic.net......
.................#..zS...$z.W..0.......c...#.;qu..*...3...... -.E;[email protected]/P.rU..0.....5P......#X...n.b.......C.&...tRgW.a.....{v.......)...-1..J9S.V..G.In......|..u..O0.....mU...|..q..Ja.O.n..G..E.W}8E.Q...0..k3t.........h2.spdy/3.1.http/1.1..........
...........................c...................................................................................................
....Q...M..V.Q$._...9.&ye.L.i..T'.l.y..3`]| .<...v.b..'.....O..Z|.~$..!N...X./..................([email protected]#8....u
..........(...........[[email protected]
.............g.m4..a..V&!B..d....bv.......3......&...c......
.....G...z..x.....SzV...H.P...L`...T.....s.{...ip....PY..)Z.[.<N.f}WOv$.>........../.....^.....hc ..e.\..`.L.!.c.m.=`...[....An...c2.N..?......$.|....M.?WA.x......NCIk.....j+VUZ..p...\ZM....=.<....Ra..S..% .o...{....\ nc..~c=.......'.]...D.t..p0.-b.8*g$Yo....!c...y.#......d..H9.o.+..'..xn\.... q.....H}-....Q>..D!...~.yV..v..
\Vi.P.....K.FV-........W.>]y....M...A\....>....i/o.+..b.P.."..H..xP..:......'...VX.......j.........0D...J..Zw....b.;b.
.....*.(..h.V.F.K..8..L.M.s...rwdc.{F%o.j....=.C...w.<.|..).3.. =32..g..>...h8(..;\}.h<....yP\6r.y..3.......592.W...r..pT.*.-D....e.]..).....
.....<.i..o`[email protected]_d"....m..!L .G.{........U.....[..r..S....a)?.SY...%....>...jl.....
.W.4.....X.Nd.....Z...%...a.;...om..mH..B.._...*......H..}(fi...,0..8..,}.[Z8.N..H...F....yj.N..b.^...].S.'......u..Z.j....spS.p.C.vhk...O..!..Y".|.w)El....t........R..h.....L.0i.M.)...E..V.C.....U........u..i.w......H..;.F.......u..
2Op.%........Z.>2.N2),.o..M..
...f.Z........7r9
.....

.

Ein TLS-Zertifikat von einer Zertifizierungsstelle erhalten

Zertifizierungsstellen bieten eine Vielzahl von TLS-Zertifikaten an. Die Preise variieren je nach gewünschtem Umfang der Authentifizierung. Ein sehr einfaches Zertifikat (das möglicherweise zum Beispiel zur Validierung von Benutzern innerhalb einer Organisation verwendet wird) ist kostenlos. Die drei häufigsten Validierungsstufen sind DV oder Domain Validation , OV oder Organisationsvalidierung , und EV oder Erweiterte Validierung . DV-Zertifikate sind am gebräuchlichsten und werden in der Regel durch eine E-Mail an den Controller eines Domainnamens verifiziert. OV-Zertifikate bieten etwas mehr Vertrauen; Die Zertifizierungsstelle überprüft nicht nur die Kontrolle über die Domäne, sondern auch, dass das Unternehmen diese Domäne verwendet. EV-Zertifikate sind die vertrauenswürdigsten und erfordern eine umfangreiche Dokumentation von der Organisation, um zu beweisen, dass sie legitim sind. Diese Zertifikate werden häufig von Organisationen verwendet, die ein sicheres Weberlebnis bieten möchten, insbesondere wenn sie eine finanzielle Beziehung zu ihren Besuchern haben.

Während der Verschlüsselungsprozess stark ist und die HTTPS-Nachrichten im Vergleich zu ungesicherten HTTP-Transaktionen besonders sicher macht, gibt es ein schwaches Glied in der Kette:Die Zertifizierungsstellen arbeiten auf Vertrauen. Wenn beispielsweise eine CA gekapert würde, könnte sie ein vertrauenswürdiges Zertifikat für jede Domäne ausstellen, das von allen Browsern als gültig und vertrauenswürdig akzeptiert würde. Ein Angreifer mit einem solchen Zertifikat könnte dann eine betrügerische Kopie dieser Domäne einrichten, die scheinbar vertrauenswürdig ist, mit der Absicht, den Datenverkehr zu dieser Domäne abzufangen. Ein solches Ereignis ereignete sich im Jahr 2011, als eine niederländische Zertifizierungsstelle von der iranischen Regierung kompromittiert und dazu verwendet wurde, die Browsersitzungen iranischer Bürger abzufangen. Es kommt nicht häufig vor, aber es ist eines, dessen sich sicherheitsbewusste Benutzer unbedingt bewusst sein sollten.
.

Identifizieren einer HTTPS-Verbindung

Der einfachste Weg, um zu überprüfen, ob Ihre HTTPS-Verbindung sicher ist, besteht darin, sich die Adressleiste Ihres Browsers anzusehen. Die meisten Browser identifizieren HTTPS-Verbindungen mit einem Vorhängeschloss-Symbol irgendwo in der Nähe der Webadresse, während unverschlüsselte HTTP-Verbindungen kein solches Symbol haben. Unten sehen Sie ein Beispiel für eine normale HTTP-Verbindung in Firefox, gefolgt von Beispiel-HTTPS-Verbindungen in Firefox und Google Chrome.

HTTP-Verbindung in Firefox

HTTPS-Indikator in Firefox

HTTPS-Anzeige in Chrome

Möglicherweise sehen Sie auch ein grünes Schlosssymbol mit dem Namen der Organisation oder Website daneben. Dieses auffälligere Symbol zeigt an, dass die Organisation ein EV-Zertifikat erworben hat, wie unten gezeigt.

HTTPS-Indikator (mit EV-TLS-Zertifikat) in Firefox

.

Schlussfolgerung

HTTPS erfüllt ein Bedürfnis, das HTTP offen lässt – das der Sicherheit. Der Austausch und das verwendete Protokoll sind gleich; Nur HTTPS fügt einen zusätzlichen Verschlüsselungsschritt hinzu, der zum Schutz der über das Internet übertragenen Informationen beiträgt. Obwohl nichts absolut sicher ist, sollten Sie überprüfen, ob eine Website HTTPS-Verschlüsselung verwendet, bevor Sie vertrauliche Informationen wie Passwörter oder Kreditkarten-/Bankkontonummern über die Leitung senden.

Atlantic.Net

Seit 1995 bietet Atlantic.Net seinen Kunden Internetdienste an, darunter verwaltetes, Cloud- und dediziertes Hosting. In mehr als 20 Dienstjahren haben sich unsere Lösungen darauf konzentriert, unseren geschätzten Kunden die besten Weblösungen anzubieten!


Linux
  1. Linux vs. Unix:Was ist der Unterschied?

  2. Was ist der Unterschied zwischen InnoDB und MyISAM?

  3. Was ist ein Webserver und wie funktioniert ein Webserver?

  4. Was ist der Unterschied zwischen cPanel und WHM?

  5. So installieren Sie den Apache-Webserver unter Ubuntu

Useradd vs. Adduser:Was ist der Unterschied?

iptables vs. nftables:Was ist der Unterschied?

SIGTERM vs. SIGKILL:Was ist der Unterschied?

DevOps vs. Software Engineer:Was ist der Unterschied?

Was ist ein Hypervisor? Was ist der Unterschied zwischen Typ 1 und 2?

Was ist der Unterschied zwischen Curl und Wget?