Warum muss das Public-Key-Zertifikat eines Webservers von einer Zertifizierungsstelle signiert werden?

9

Mit anderen Worten, wie hoch wäre das Sicherheitsrisiko, wenn Zertifikate mit öffentlichem Schlüssel nicht von Zertifikatautoritäten signiert werden (aus Anwendersicht)? Ich meine, die Daten sind immer noch verschlüsselt ... Was könnte ein Mann in der Mitte mit einem nicht signierten Zertifikat machen?

Olivier Lalonde
quelle
Sie können ihr eigenes Zertifikat mit genau den gleichen Informationen erstellen. Wie erkennt der Benutzer den Unterschied?
pjc50
@ pjc50: indem Sie sich den Zertifikatspfad ansehen. Ein nicht selbstsigniertes Zertifikat verfügt über einen Zertifikatpfad. Wenn dieser Pfad zu einem vertrauenswürdigen Stamm führt, ist das Zertifikat vertrauenswürdig, andernfalls nicht. Sie können natürlich selbst zusätzliche vertrauenswürdige Roots hinzufügen (ich habe dies für meine eigene Zertifizierungsstelle getan, damit ich problemlos Zertifikate für die lokale Verwendung erstellen kann).
Richard

Antworten:

13

Der Zweck von SSL bei Verwendung mit HTTP besteht nicht nur darin, den Datenverkehr zu verschlüsseln, sondern auch zu authentifizieren, wer der Eigentümer der Website ist, und dass jemand bereit war, Zeit und Geld in den Nachweis der Authentizität und des Eigentums seiner Domain zu investieren.

Es ist wie beim Kauf einer Beziehung, nicht nur bei der Verschlüsselung, und die Beziehung vermittelt oder setzt ein gewisses Maß an Vertrauen voraus.

Trotzdem habe ich vor einigen Monaten eine ähnliche Frage gestellt , und die grundlegende Antwort, die zurückkam, war "SSL ist ein bisschen ein Betrug".

Mark Henderson
quelle
Ich dachte, SSL-Zertifikate wurden für IPs ausgestellt, nicht für Domains. Warum brauchten Sie unterschiedliche Zertifikate für Domains, die auf derselben IP gehostet werden? Darüber hinaus wird auf der Wikipedia-Seite zu HTTPS erwähnt, dass es möglich ist, Zertifikate kostenlos zu erhalten ... Das CA-Geschäft klingt für mich wirklich wie ein Betrug.
Olivier Lalonde
2
Zertifikate werden für Domains ausgestellt. Nichts hindert Sie daran, ein selbstsigniertes Zertifikat zu erstellen. Es wird lediglich eine beängstigende Warnung angezeigt (die nicht gelesen wird), da der Browser der ausstellenden Zertifizierungsstelle nicht vertraut. Das Problem "Mehrfaches SSL auf einer IP" wurde hier bereits mehrfach erörtert. Hier ist ein Thread mit einer guten Antwort serverfault.com/questions/73162/…
Zypher
Danke Zypher, du hast mir die Worte aus dem Mund genommen :) Und Zertifikate für Domains, nicht IPs. Wir haben drei IP-Adressen für drei Server, die unsere schwerste Website bedienen, und alle haben das gleiche Zertifikat geladen.
Mark Henderson
8

Stellen Sie sich eine Situation vor, in der Sie einer Person namens John Smith, mit der Sie noch nie etwas getroffen oder kommuniziert haben, 1.000.000 US-Dollar liefern sollen. Ihnen wird gesagt, dass Sie ihn an einem überfüllten öffentlichen Ort treffen können. Wenn Sie ihn treffen, brauchen Sie einen Weg, um sicherzugehen, dass er tatsächlich die Person ist, nach der Sie suchen, und nicht irgendeine andere zufällige Person, die behauptet, John Smith zu sein. Sie könnten nach einem Regierungsausweis fragen, einer Visitenkarte. Sie können eine Person Ihres Vertrauens, die den John Smith tatsächlich getroffen hat, um Hilfe bei der Identifizierung bitten.

Ein selbstsigniertes Zertifikat identifiziert ein System eindeutig, beweist jedoch nicht, dass das System das ist, für das es sich ausgibt. Ich kann ein Zertifikat einfach selbst signieren und behaupten, serverfault.com, google.com oder yourbank.com zu sein. Zertifizierungsstellen fungieren im Wesentlichen als Dritte, denen der Client vertraut, um zu überprüfen, ob ein Zertifikat tatsächlich für den Namen gültig ist, den die Site angeblich besitzt.

Zoredache
quelle
2

Das SSL-Geschäft ist in der Tat ein Betrug. Mehr als ein bisschen, wenn Sie für einige kryptografisch interessante Daten etwa 20 Pence pro Byte bezahlen. Was Sie bezahlen, ist für jede Zertifizierungsstelle, mit der Sie Ihr Zertifikat mit einem ihrer privaten Schlüssel signieren, nachdem Sie sich selbst bewiesen haben, dass Sie tatsächlich berechtigt sind, den Domain- / Hostnamen zu verwenden, für den das Zertifikat bestimmt ist. Wie Farseeker sagt, handelt es sich um eine Vertrauensbeziehung - die Zertifizierungsstelle vertraut Ihnen (nachdem sie Sie überprüft hat), die Webbrowser der Welt vertrauen der Zertifizierungsstelle (normalerweise), und daher vertrauen die Webbrowser der Welt Ihrem Zertifikat. Und lassen Sie mich nicht mit der erweiterten Validierung beginnen ...

RainyRat
quelle