it-swarm.com.de

Warum sind selbstsignierte Zertifikate nicht vertrauenswürdig und gibt es eine Möglichkeit, sie vertrauenswürdig zu machen?

Ich habe lokal ein Root-CA-Zertifikat erstellt. Ich habe das CA-Zertifikat zum Signieren des IA-Zertifikats und das IA-Zertifikat zum Signieren des Serverzertifikats verwendet. Wenn ich versuche, auf den lokalen Server zuzugreifen, der das Serverzertifikat verwendet, wird eine Sicherheitsrisikowarnung angezeigt. Gibt es eine Möglichkeit, die Warnung nicht zu geben?

Grundsätzlich möchte ich nur wissen, ob es möglich ist, ein selbstsigniertes Zertifikat als vertrauenswürdig zu kennzeichnen.

42
Praz

Sie müssen das Stammzertifikat in den Trust Store für den Browser importieren. Sobald der Browser weiß, dass Sie diesem Stammzertifikat vertrauen, werden alle von diesem signierten Zertifikate als vertrauenswürdig angezeigt.

Beachten Sie, dass dadurch die Verbindung nur für Sie vertrauenswürdig wird. Alle anderen, auf denen das Stammzertifikat nicht installiert ist, erhalten weiterhin eine Fehlermeldung.

52
BadSkillz

Selbstsignierte Zertifikate werden von Ihrem Browser von Natur aus nicht als vertrauenswürdig eingestuft, da ein Zertifikat selbst keine Vertrauensstellung bildet. Die Vertrauensstellung wird von einer Zertifizierungsstelle signiert, der JEDER vertraut. Ihr Browser vertraut Ihrem selbstsignierten Zertifikat einfach nicht so, als wäre es ein Stammzertifikat. Damit Ihr Browser Ihr Zertifikat akzeptiert, rufen Sie die Konfigurationen Ihres Browsers auf und fügen Sie das Zertifikat als Stammzertifikat hinzu.

Der beste Weg, um ein selbstsigniertes Zertifikat als vertrauenswürdig zu betrachten, besteht darin, eine Schlüsselzeremonie zu durchlaufen. Dies ist im Grunde eine große öffentliche Veranstaltung, bei der sich alle Kryptographen und Sicherheitsexperten versammeln, um zu sehen, wie eine Stammzertifizierungsstelle ihren Schlüssel generiert. koppeln und deklarieren sich selbst als Root-Zertifizierungsstelle. Alles wird aufgezeichnet: Video, wer jeder ist und was jeder von Anwälten tut. Der private Schlüssel wird in viele verschiedene Teile aufgeteilt und in der Regel nach dem Signieren eines einzelnen Zertifikats, das als Vermittler zum Signieren anderer Zertifikate verwendet wird, separat in Safes gespeichert. Sie können über das typisches Verfahren lesen, wenn Sie möchten. Dazu benötigen Sie natürlich sowohl technologische als auch physische Sicherheit auf dem neuesten Stand der Technik, und jeder muss Ihre Stammzertifizierungsstelle verwenden oder ihr vertrauen. Danach können Ihre Zertifikate in Browser-Distributionen enthalten sein und dann von der Öffentlichkeit verwendet werden, um Vertrauensketten von Zertifikaten zu erstellen.

38
sethmlarson

Selbstsignierte Zertifikate können sicher sein, nur nicht unter dem Modell, das wir jetzt verwenden.


Unter dem weit verbreiteten CA-Modell (Certificate Authority), das derzeit von allen verwendet wird, besteht der Zweck des von einer vertrauenswürdigen CA signierten Zertifikats darin, eine Authentifizierung bereitzustellen.

Wenn wir ein Zertifikat erhalten, sehen wir nur Einsen und Nullen von der Buchse in der Wand. Wir haben keine Ahnung, woher diese Einsen und Nullen kamen. Allerdings, weil das Zertifikat von einer Zertifizierungsstelle signiert ist - etwas, das niemand auf der Welt außer dieser Zertifizierungsstelle kann - und weil wir der Zertifizierungsstelle vertrauen Überprüfen Sie die Identität des Zertifikatsinhabers. Wir vertrauen darauf, dass das Zertifikat von dem stammt, auf den es Anspruch erhebt.

Wenn die CA ist kompromittiert oder überprüft den Besitzer nicht korrekt , sind natürlich alle Wetten ungültig.


Es gibt jedoch ein anderes Modell, bei dem selbstsignierte Zertifikate do Authentizität bieten. Es heißt Notarmodell .

Anstatt einer einzelnen Zertifizierungsstelle zu vertrauen, verteilen wir das Vertrauen im Wesentlichen an eine beliebige Anzahl von Notaren. Diese Notare durchsuchen das Internet nach Zertifikaten und führen einen Cache mit allen Zertifikaten, die sie gesehen haben. Wenn Sie zum ersten Mal eine Site besuchen und das Zertifikat erhalten, fragen Sie eine Reihe von weltweit verteilten Notaren, welches Zertifikat sie zuletzt gesehen haben. Wenn sie nicht mit dem übereinstimmen, was Sie sehen, könnten Sie Teil eines Man-in-the-Middle-Angriffs sein.

Bei diesem Modell sind selbstsignierte Zertifikate absolut sicher, solange wir davon ausgehen, dass der Server nicht sofort kompromittiert wird, bevor ein Notar sein Zertifikat jemals anzeigen kann.


Das Notarmodell steckt noch in den Kinderschuhen und es ist zweifelhaft, ob es jemals das CA-Modell übernehmen wird (eigentlich muss es nicht - sie können zusammen verwendet werden). Das bisher vielversprechendste Projekt ist Convergence.io , das ein Plugin für Firefox enthält.

Kürzere Antwort.

Viele Antworten hier, aber keine scheint direkt auf den Punkt zu kommen: Ohne einen neutralen und anerkannten Dritten - wie eine Zertifizierungsstelle -, der den Besitz eines Zertifikats überprüft, ist ein Zertifikat bedeutungslos.

Längere Antwort.

Zum besseren Verständnis haben Sie beim Erstellen einer HTTPS-Verbindung die folgende Kette:

  • Ein Client-Webbrowser, der die Anforderung an den Server sendet.
  • Der Remote-Webserver sendet Daten zurück an den Client.
  • Und ein von einem neutralen Dritten autorisiertes HTTPS-Zertifikat, das bestätigt, dass der Server der ist, der er ist, und die Verschlüsselung deshalb gültig ist.

Ein selbstsigniertes Zertifikat ist von Natur aus nicht vertrauenswürdig, da jeder kann ein selbstsigniertes Zertifikat generieren. Jeder, der eine Entität einschließt, die absichtlich vorgibt etwas/jemand zu sein, das sie nicht sind. Mit einem selbstsignierten Zertifikat gibt es einfach keinen vertrauenswürdigen Dritten, für den die grundlegenden menschlichen Verfahren so festgelegt sind, dass einfach angegeben wird: „Okay, diese Domain verfügt über ein Zertifikat, das wir ausgestellt haben, und daher können Sie ihnen vertrauen. Wir sagen, sie sind in der Tat die Domäne, die der Anspruch ist, und kein Betrüger. “

Und da jeder auf der Welt selbst ein selbstsigniertes Zertifikat erstellen kann, weist seine Verwendung inhärente Vertrauensprobleme auf. Was ein Zertifikat gültig macht, hat sehr wenig mit Deep Technology oder Verschlüsselungstechniken zu tun, aber was es gültig macht, ist ein Prozess, der sich um einen neutralen - und anerkannten - Dritten Validierung von a dreht Verwendungsverfahren und Browserhersteller, die diese Verfahren einhalten.

Letztendlich ist ein Verschlüsselungsschlüsselpaar ein völlig bedeutungsloser Stapel von Bits und Bytes, ohne die sie umgebenden Prozesse und Prozeduren durchzusetzen.

8
JakeGould

Selbstsignierte Zertifikate können nicht als vertrauenswürdig eingestuft werden, da jeder in der Lage ist, eines zu erstellen.

Ein Angreifer, der einen MITM-Angriff ausführt, kann jedes Zertifikat leicht durch ein selbstsigniertes ersetzen und sich als eine Website ausgeben, die Sie gerade durchsuchen, selbst wenn Sie HTTPS verwenden.

Aus diesem Grund verwenden wir vertrauenswürdige Zertifizierungsstellen, um sicherzustellen, dass Zertifikate nicht gefälscht werden können.

3
Benoit Esnard

Wir alle brauchen einen kleinen Kontext.

Es gibt einen Unterschied zwischen "nicht vertrauenswürdig" und "sicher".

Und "Vertrauenswürdig" bedeutet nicht unbedingt "Sicher" (oder "Authentisch").

Ein selbstsigniertes Zertifikat in einem isolierten Netzwerk mit nur einem Server und einem Client ist wahrscheinlich sicherer als jedes "vertrauenswürdige" Zertifikat.

Und "vertrauenswürdig" bedeutet NUR, dass dem "Trusted Certificate Store" für den Client ein Zertifikat der Zertifizierungsstelle hinzugefügt wurde. Wenn das Zertifikat der Zertifizierungsstelle während einer "Phishing" -Sitzung hinzugefügt wurde, ist das Zertifikat nicht sicher.

Ich bin kein Fan davon, dass oft Hunderte von "vertrauenswürdigen" Zertifizierungsstellen von "anderen" in den Client aufgenommen werden, aber ich kenne auch keinen besseren Ansatz.

Sicherlich müssen die Zertifizierungsstellen (im Allgemeinen) einen besseren "Überprüfungsprozess" durchführen als jetzt, bevor sie ein Zertifikat ausstellen.

3
jwilleke

Jede Anwendung muss die Liste der "vertrauenswürdigen Stammzertifikate" erhalten, um vertrauenswürdig zu sein.

Im Falle eines Browsers gibt es eine definierte Liste, die standardmäßig mit jedem Browser geliefert wird, aber diese Liste enthält Ihr Zertifikat nicht.

Stellen Sie sich vor, Sie müssen nicht die Liste der Zertifikate angeben, denen Sie vertrauen. Dann kann jeder eine https-Website einrichten, die ein Browser auf der Welt ohne Warnung vor dem Sicherheitsrisiko akzeptiert.

Auf der anderen Seite würde es sofort funktionieren, wenn Ihr CA-Zertifikat selbst von einem der standardmäßigen vertrauenswürdigen Zertifikate signiert ist ... aber Sie müssen bezahlen.

Es gibt genügend Antworten zum Hinzufügen eines CA-Zertifikats zur vertrauenswürdigen Liste, sodass ich diesen Teil überspringen werde.

2
Gryzorz

Wenn Sie dies für Browser tun möchten, gehen Sie wie folgt vor:

Für Chrome 58+: - Einstellungen -> Erweiterte Einstellungen anzeigen -> Zertifikate verwalten -> Importieren -> Durchsuchen -> Vertrauenswürdige Stammzertifizierungsstellen auswählen -> Klicken Sie im Popup auf Ja.

0
Dio Phung