Warum wird ein nicht signiertes SSL-Zertifikat schlechter behandelt als kein SSL-Zertifikat?

19

Wenn ich eine Site mit einem nicht signierten oder selbst signierten SSL-Zertifikat anzeige, gibt mein Browser eine Warnung aus. Mit demselben Browser können Anmeldeinformationen problemlos über ungesicherte Seiten gesendet werden.

Warum wird das selbstsignierte Zertifikat schlechter behandelt als wenn es kein Zertifikat hat?

Macha
quelle

Antworten:

16

Es gibt viele Leute, die das Gefühl haben, dass dieses System kaputt ist.

Hier ist die Logik, warum Ihr Browser eine solche alarmierende Warnung ausgibt, wenn ein SSL-Zertifikat ungültig ist:

Einer der ursprünglichen Entwurfszwecke der SSL-Infrastruktur war die Authentifizierung von Webservern. Grundsätzlich erlaubt SSL dem Webserver, der antwortet, zu beweisen, dass er tatsächlich Ihrer Bank gehört, wenn Sie zu www.bank.com gehen. Dies hindert einen Betrüger daran, DNS zu manipulieren oder eine andere Methode zu verwenden, damit ein bösartiger Server antwortet.

Das "Vertrauen" in SSL wird von einem vertrauenswürdigen Dritten (Unternehmen wie VeriSign und Thawte Consulting) bereitgestellt, der das Zertifikat signiert und bestätigt, dass es dem Eigentümer gehört, von dem es behauptet wird (theoretisch durch einen Besuch des IT - Administrators in Person oder eine andere Methode, die direktes Vertrauen schafft, obwohl die Beweise zeigen, dass sie tatsächlich ziemlich lasch sind - alles, was man braucht, um ein signiertes SSL-Zertifikat zu erhalten, ist oft eine 800-Nummer und ein bisschen schauspielerisches Können.

Wenn Sie also eine Verbindung zu einem Webserver herstellen, der ein SSL-Zertifikat bereitstellt, aber nicht von einem vertrauenswürdigen Dritten signiert ist, kann dies theoretisch bedeuten, dass Sie mit einem Betrüger kommunizieren, der vorgibt, ein Server einer anderen Organisation zu sein .


In der Praxis bedeutet ein selbstsigniertes Zertifikat im Allgemeinen nur, dass die Organisation, die den Server betreibt, entschieden hat, kein signiertes Zertifikat zu bezahlen (dies kann abhängig von den gewünschten Funktionen sehr teuer sein), oder es fehlte die technische Expertise, um eines zu konfigurieren ( Einige Lösungen für kleine Unternehmen bieten einen Ein-Klick-Mechanismus für ein selbstsigniertes Zertifikat, aber um ein vertrauenswürdiges Zertifikat zu erhalten, sind technischere Schritte erforderlich.

Ich persönlich glaube, dass dieses System kaputt ist und dass die Kommunikation mit einem Server, der keine Verschlüsselung bietet, viel gefährlicher ist als die Kommunikation mit einem Server, der SSL mit einem selbstsignierten Zertifikat anbietet. Es gibt drei Gründe, warum Browser nicht so handeln:

  1. Unverschlüsselte Kommunikation ist im Internet die Regel. Wenn Sie also durch einen Browser durch eine Warnung klicken, um Websites anzuzeigen, die keine Verschlüsselung anbieten, ärgern Sie sich schnell und deaktivieren Sie die Warnung.
  2. Aufgrund der dringenden Warnungen an Kunden ist es nicht normal, ein selbstsigniertes Zertifikat auf einer Produktionswebsite zu sehen. Dies schafft ein sich selbst aufrechterhaltendes System: Selbst signierte Zertifikate sind verdächtig, weil sie selten sind, und sie sind selten, weil sie verdächtig sind.
  3. Das klingt für mich zynisch, aber es gibt Unternehmen, die mit dem Signieren von SSL-Zertifikaten ( Husten- Verisign- Husten ) eine Menge Geld verdienen , also verwenden sie Whitepapers (ein IT-Begriff für "lange und langweilige Werbung") und andere Veröffentlichungen die Idee durchzusetzen, dass nicht signierte Zertifikate gefährlich sind.
jcrawfordor
quelle
5
Ohne eine Vertrauenskette, die Sie mit einem CA-signierten Zertifikat und nicht mit einem selbstsignierten Zertifikat erhalten, können Sie nicht überprüfen, ob der Server, mit dem Sie eine Verbindung herstellen, derjenige ist, der es verspricht. Selbstsignierte Zertifikate sind insofern gefährlich, als sie dem Benutzer keine Möglichkeit bieten, zu überprüfen, ob die von ihm übertragenen Daten das von ihm angegebene Ziel erreichen. Die Leute beginnen zu lernen, bei sicheren Transaktionen nach "https" zu suchen. Daher ist eine große Warnung vor einem ungültigen oder selbstsignierten Zertifikat zu 100% gerechtfertigt, da sie einen der Hauptvorteile von SSL verlieren.
MDMarra
Ich würde nicht "kaputt" sagen. Ich denke, dass das Firefox Certificate Patrol-Add-on der korrekten Implementierung von Zertifikaten und der Vertrauensverwaltung viel näher ist als die Standardeinstellung. Die Standardeinstellung ist jedoch besser als das vollständige Ignorieren von Vertrauensnetzwerken.
Slartibartfast
4
@MarkM - Meines Erachtens sollte die Authentifizierung nicht als Hauptvorteil von SSL angesehen werden. Ich habe nicht die Daten, um mich zu sichern, aber ich denke, dass weit mehr Sicherheitsvorfälle auf Daten zurückzuführen sind, die über unverschlüsselte Verbindungen übertragen wurden (zum Beispiel der Facebook-Sicherheitsingenieur, dessen Passwort gestohlen wurde - sie haben das Passwort aus einem WLAN-Netzwerk gerochen , da facebook login nicht verschlüsselt ist) als über MitM oder imposter angriffe, die relativ viel komplizierter zu implementieren sind. Der Fokus auf die Authentifizierung über die Verschlüsselung in SSL ist, wie bereits erwähnt, genau das, was diese Situation verursacht.
Crawfordor
1
@MarkM - Obwohl es definitiv einen Overhead gibt, der ein berechtigtes Problem darstellt, wird die Verwendung nicht signierter Zertifikate die Zertifizierungsstellen nicht belasten, insbesondere weil eine Zertifizierungsstelle nicht für ein selbstsigniertes Zertifikat verwendet werden würde. Auch für Unternehmen mit ausreichender Leistung ist dies kein Problem - bedenken Sie, dass Google jetzt standardmäßig https für Google Mail und einige andere Dienste verwendet. Ich verstehe Ihren Standpunkt, dass die Nützlichkeit von SSL ohne Authentifizierung abnimmt. Das aktuelle Modell ist nicht gut gestaltet. Was wir wirklich brauchen, ist ein verschlüsseltes Standardprotokoll und ein authentifiziertes Protokoll für sicherere Verwendungen.
Nhinkle
5
Die größere Bedeutung meines Standpunkts, und NRHinkle sagte dies direkt, besteht darin, dass wir Verschlüsselung und Authentifizierung als separate Ziele betrachten und sie separat erreichen lassen müssen. Dies sind die grundlegenden Mängel des SSL-Systems im Moment: 1) Wir sehen Verschlüsselung und Authentifizierung als untrennbar miteinander verbunden an - um eines zu erreichen, müssen Sie das andere erreichen. Nur eines anzugeben ist verdächtig. 2) Die Authentifizierung muss von einer begrenzten Anzahl primär gewinnorientierter Zertifizierungsstellen erfolgen. Im Allgemeinen sind Zertifizierungsstellen entweder sehr teuer (Verisign usw.) oder sehr schattig (NameCheap usw.)
jcrawfordor
6

Das Senden von Anmeldeinformationen von Seite zu Seite erfolgt im Grunde genommen über HTTP POST. Das Senden von Anmeldeinformationen ist nichts Besonderes im Vergleich zum Senden von z. B. Suchbegriffen über POST. Wenn ein Beitrag zu einer unsicheren Seite eine Warnung auslösen würde, würden Benutzer mit sinnlosen Warnungen bombardiert.

Die Verwendung eines sicheren Kanals weist auf die Absicht des Programmierers hin, die Übertragung zu sichern. In diesem Fall ist die Verwendung einer selbstsignierten Zertifikatswarnung sehr richtig.

Miro A.
quelle
Fair genug für mich.
dag729
Wie in der Tat, ich erinnere mich , dass zumindest die alten Versionen von Netscape Navigator hat eine Warnung für jeden unverschlüsselt POST Pop - up. Natürlich haben sie alle nach fünf Minuten deaktiviert, deshalb haben sie es wohl
rausgenommen
4

Ich kann keinen Kommentar abgeben, daher werde ich diese Informationen veröffentlichen, die die korrekten Informationen von user40350 ergänzen.

Mit demselben Browser können Anmeldeinformationen problemlos über ungesicherte Seiten gesendet werden.

Das stimmt eigentlich gar nicht. Die meisten Browser zeigen eine Warnung an, als würden Sie Daten über eine ungesicherte Verbindung senden, wenn Sie dies zum ersten Mal versuchen. Sie können sie jedoch deaktivieren, damit sie nie wieder angezeigt werden. Ich wette, genau das haben Sie getan ...

Miro A schrieb:

Das Senden von Anmeldeinformationen von Seite zu Seite erfolgt im Grunde genommen über HTTP POST. Das Senden von Anmeldeinformationen ist nichts Besonderes im Vergleich zum Senden von beispielsweise Suchbegriffen über POST

Dies ist auch falsch, da Passwortfelder zum Beispiel spezielle HTML-Tags sind. Hinzu kommt, dass die Labels "username" und "password" viel von ihrer Sensibilität verraten. Es ist durchaus möglich, dass Browser diese Art von Informationen berücksichtigen.

ufotds
quelle
3

Verbindungen, die durch das https: // - Protokoll gesichert sind, werden vom Browser als "gesichert" angezeigt. Beispielsweise wird ein kleines Vorhängeschloss angezeigt oder Teile der URL sind grün markiert.

Der Benutzer soll daher darauf vertrauen, dass die von ihm besuchten Seiten tatsächlich von der von ihm eingegebenen URL stammen und nicht von jemand anderem.

Wenn er kein https: // verwendet, muss der Benutzer wissen, dass die eingegebenen Daten nicht geschützt sind und die Website, auf der er surft, möglicherweise nicht mehr verwendet wird.

Ein selbstsigniertes Zertifikat stellt nicht sicher - entgegen der Erwartung, dass die aufgerufene Seite nicht geposted wird, bietet es keine zusätzliche Sicherheit.

usermac75
quelle
1

Es muss unterschieden werden zwischen einem vertrauenswürdigen (von einer vertrauenswürdigen Stelle signierten) und einem nicht vertrauenswürdigen Zertifikat. Andernfalls könnte sich jemand (zum Beispiel) als Ihre Bank ausgeben, indem er ein selbstsigniertes Zertifikat mit relativer Straflosigkeit verwendet.

Eine Warnung in Ihrem Gesicht ist in diesem Fall einer subtilen vorzuziehen, da das potenzielle Risiko relativ hoch ist. Die Leute klicken möglicherweise auf einen https-Link und glauben nicht einmal, dass jemand in der Mitte sitzt und die Verbindung überwacht. Wenn die Anzeige, dass das Zertifikat nicht vertrauenswürdig ist, unauffällig ist (z. B. ein rotes anstelle eines grünen Symbols usw.), können die Benutzer leicht getäuscht werden, wodurch die Vorteile von SSL zunichte gemacht werden.

Slartibartfast
quelle
Ist es nicht einfach, sich als Bank auszugeben, wenn Sie Zugriff auf den Computer des Benutzers haben und dessen Zertifikate ändern? Wenn der Computer des Benutzers nicht geändert wird, kann der Webbrowser die URL der Webseite nicht ändern, um zu behaupten, dass sie die Bank sind. und wenn sie eine sehr ähnliche URL erhalten, können sie trotzdem ein Zertifikat für diese Website erhalten, und es ist dem Benutzer egal, von wem die Webseite signiert ist, sie werden nur sehen, dass es sich um https handelt, und hoffentlich bemerken, dass die URL nicht die URL ist URL ihrer Bank ...
Dmitry
Der Vorteil von SSL besteht nicht darin, dass Sie der Website nicht vertrauen, für die Sie sie halten (Dies ist unmöglich, da eine Drittanbieteranwendung Ihre Zertifikate ändern oder die Bank gehackt werden kann). Vertraue vielmehr darauf, dass die Kommunikation zwischen dir und dem, von dem die Site denkt, dass sie nur zwischen dir und niemand anderem stattfindet. Ein Zertifikat nicht zu haben, ist schlimmer als ein selbstsigniertes, denn es spielt keine Rolle, mit wem Sie sprechen. Entscheidend ist, dass niemand anderes in der Lage ist, das abzufangen, was Sie sagen.
Dmitry
Weiß ich wirklich, wer Verisign ist und warum ich ihnen vertrauen sollte? Ist ihr Interesse am Verkauf von Zertifikaten nicht höher als die Verantwortung für den Missbrauch von Informationen, die Sie ihnen senden?
Dmitry
0

Viele gute Gründe wurden aufgeführt. Hier ist noch einer:

Denken Sie an Fälle, in denen eine sichere Webseite Elemente von einer anderen einbettet. Ein Angreifer könnte erkennen, welche Anforderungen für die äußere Webseite (z. B. wenn er sich das Timing ansieht, muss es zuerst kommen) und welche für die inneren Elemente bestimmt sind. Er konnte sich als MITM nur in die inneren Elemente einarbeiten, ein selbstsigniertes Zertifikat verwenden und Teile der Seite kontrollieren. Ohne eine Warnung für die inneren Elemente, die SSL verwenden, jedoch kein vertrauenswürdiges Zertifikat verwenden, wäre die Sicherheit der äußeren Seite gefährdet.

Hier ist ein realistisches Beispiel. Angenommen, ich bin ein Anbieter und habe einen Link zum Bezahlen mit PayPal. Sie klicken darauf, und ich weiß. Ich leite Sie zu PayPal weiter und lasse Sie die legitime, sichere PayPal-Seite erhalten. Wenn ich Ihr Netzwerk beobachte, weiß ich, dass dies Ihre erste Anfrage von PayPal ist, und bald danach werden Sie Ihr Passwort übermitteln. Also habe ich MITM die, submitdie Ihre E-Mail-Adresse und Ihr Passwort enthält, und ersetze PayPal durch mein selbstsigniertes Zertifikat.

Sie sehen, wie die Sicherheit der äußeren Seite beeinträchtigt wird, indem Sie nicht warnen, wenn das Zertifikat der inneren Seite selbst signiert ist? Es muss also vor selbstsignierten Zertifikaten warnen, die von Links stammen.

Und wenn Sie httpsmanuell eingeben , müssen Sie natürlich gewarnt werden. Weil Sie erwarten, dass es sicher ist.

David Schwartz
quelle
-1

Wenn ein Mann in der Mitte des Angriffs auf der Website https: // ausgeführt wird, ist die Warnung nur ein Hinweis darauf, dass etwas für den durchschnittlichen Benutzer nicht stimmt . Daher ist es ein sehr wichtiger Teil der HTTPS-Sicherheit.

Die gute Frage ist, warum die teilweise unsichere Verschlüsselung beispielsweise über HTTP nicht möglich ist.

Cmazay
quelle