Wie zu erkennen gefälschte SSL-Zertifikate?
Ich gelesen habe über das SSL-Protokoll und ich weiß nun, wie es Daten verschlüsselt. Aber es ist etwas, das ich nicht verstehen konnte. mit SSl , sind Sie sicher, dass Sie Daten senden und abrufen der Daten vom richtigen server. aber wie?
Ich meine, wenn ich gefälschte Zertifikat und senden es für die Anforderungen der speziellen website wie-Browser ( oder andere Programme) erkennen können, das gefälschte Zertifikat?
Edit: ich hatte nicht die Absicht, erstellen Sie ein selbstsigniertes Zertifikat. Ich meinte, wie kann jemand bestätigen meine Bescheinigung aus, wenn ich ein Zertifikat erstellen, dass seine Aussteller und Betreff ,etc, etwas echtes Zertifikat! (die einzigen Dinge, die nicht real sind, ist der Öffentliche Schlüssel & Unterschrift)
Du musst angemeldet sein, um einen Kommentar abzugeben.
SSL-Zertifikate signiert werden, indem ein Zertifizierungsstelle (certificate authority, CA), das ist jemand, der die Anwender bereits vertraut (oder eher, die Menschen entwickelt, die Ihren operating system vertraut).
Die ZERTIFIZIERUNGSSTELLE signiert das Zertifikat mit public-key-Verschlüsselung. Die grundlegende Erklärung ist, dass die ZERTIFIZIERUNGSSTELLE in einem "privaten Schlüssel" und einem "public key", den jeder kennt. Über einige mathematische, die ich nicht verstehe, kann die ZERTIFIZIERUNGSSTELLE erstellen einer Signatur mit dem privaten Schlüssel kann leicht überprüft werden, die mit seinem öffentlichen Schlüssel (aber der öffentliche Schlüssel kann nicht verwendet werden, um erstellen Sie eine neue Unterschrift).
Wenn Sie ein SSL-Zertifikat von einem server, Sie bekommen den öffentlichen Schlüssel des Servers, und eine Signatur von einer CA sagen, dass es gültig ist (zusammen mit einigen anderen Informationen). Wenn Sie wissen und Vertrauen, dass CA, können Sie die Signatur und bestimmen, ob es gültig ist. Sie können auch ein certificate revocation list, um sicherzustellen, dass es nicht widerrufen.
Also im Grunde, können Sie erkennen eine schlechte SSL-Zertifikat, weil es nicht von einer Zertifizierungsstelle signiert wurde, denen Sie Vertrauen.
Die TL;DR Zusammenfassung:
Gültigkeit des server-Zertifikats hergestellt wird durch:
Erklärung
Nehmen wir an, Sie möchten eine Verbindung zu https://mail.google.com (Sie können versuchen, dies in deinem browser!).
Den (echten) server antwortet mit einem Zertifikat, das ausgestellt wird, um
mail.google.com
, d.h. in der 'Betreff' - Feld des Zertifikats finden Sie den Allgemeinen Namen (Common Name, CN) 'mail.google.com' - vgl. RFC 5280 Einzelheiten zu den Feldern des Zertifikats. Die Tatsache, dass das Thema verknüpft ist, die URL der Website ist sehr wichtig für die Sicherheit des gesamten Modells, und es wird aktiv geprüft, die von Ihrem TLS-Implementierung ("hostname verification"), denn sonst gäbe es Raum für Man-In-The-Middle-Angriffe. I. e. jemand könnte erwerben ein anderes gültiges Zertifikat und Identität mail.google.com ohne Sie nehmen keine Notiz von ihm.Zusätzlich zu den host-Namen Verifizierung, Ihre TLS-Implementierung überprüfen Sie auch die "Gültigkeit" des Zertifikats. Der ganze Vorgang ist ziemlich Komplex und beinhaltet nicht die überprüfung der Vertrauenswürdigkeit des Zertifikats, aber zusätzlich eine Menge anderer Dinge geprüft werden, mehr dazu in einer minute.
Wenn Ihr Google-Mail-Zertifikat in Ihrem browser, Sie werden feststellen, dass es eigentlich drei Zertifikate angezeigt:
Dem Modell ist, dass es gibt ein paar (naja, leider nicht so wenig mehr) trusted root certificate authorities (root-CAs"), dass entweder Sie wählen auf Ihre eigenen oder (wahrscheinlicher) kommen preconfigued mit Ihrer software (z.B. browser), die sind blind. Diese vertrauenswürdigen stellen bilden den Anker der gesamten trust-Modell "PKI" (Public Key Infrastructure). Die grundlegende Idee ist, dass die Vertrauenswürdige Entitäten können Zertifikate an andere Behörden und erteilen Ihnen die Erlaubnis, wieder ausstellen von Zertifikaten (diese Behörden sind aufgerufen intermediate certificate authorities). Die intermediate CAs kann wieder rekursiv angewendet diese Prozedur bis zu einem bestimmten Punkt, die Anzahl der intermediate-CAs zwischen einem tatsächlichen end-entity-Zertifikat und ein CA-root-Zertifikat ist in der Regel begrenzt.
An einem Punkt, einer intermediate-CA Zertifikate für ein "end entity" ("mail.google.com" in unserem Beispiel). Jetzt der Prozess der Ausstellung eines Zertifikats bedeutet, dass die anfordernde Partei ein Zertifikat erstellen (public/private key-pair-Mädchen zuerst, und verwenden Sie zur Authentifizierung eine Zertifikatsanforderung an die Zertifizierungsstelle. Die ausstellende Behörde erstellt ein Zertifikat für die untergeordnete Einheit (entweder intermediate CA-oder end-entity) durch die "Unterzeichnung", die Bescheinigung unter Verwendung seines eigenen privaten Schlüssels mit einem asymmetrischen Algorithmus wie RSA und zusätzlich mit dem öffentlichen Schlüssel des ersuchenden Partei innerhalb der neu generierten Zertifikat. Die root-CA verfügt über ein sogenanntes self-signed-Zertifikat, D. H. die root-CA ist die einzige Autorität, die unterzeichnen können Ihr eigenes Zertifikat und Ihre eigenen öffentlichen Schlüssel. Der private Schlüssel bleibt verborgen, zu allen Zeiten, natürlich.
Die rekursive Natur des die Bescheinigung ausstellenden Prozess bedeutet, dass für jede end-entity-Zertifikat es ist eine einzigartige Möglichkeit der Schaffung einer "Kette" von Zertifikaten, führt bis zu einer root-certificate-authority. Nun, wenn Sie vorgestellt werden mit einer end-entity-Zertifikat beim Versuch, eine Verbindung auf eine TLS-gesicherte Website, die folgende Prozedur wird rekursiv angewendet, bis Sie am Ende mit einem root-CA-Zertifikat:
Wenn alle Prüfungen positiv waren, werden Sie schließlich am Ende mit einem Zertifikat selbst-signiert, d.h., wo das Subjekt auch die Aussteller (z.B. VeriSign-Zertifikat in unserem Beispiel). Nun ist die Letzte Sache, die Sie haben, um zu überprüfen, ob dieses Zertifikat ist unter denen, die Ihnen blind Vertrauen: wenn es ist, ist alles gut und die Verbindung ist erfolgreich, wenn es nicht ist, der Verbindungsversuch wird zurückgewiesen.
Als wäre dies nicht schon kompliziert genug, die Prüfungen beschrieben, die bisher nicht mit Fällen umgehen, wo einst gültige Zertifikate plötzlich zum Schurken, zum Beispiel die Fälle, in denen ein Zertifikat gestohlen oder private Schlüssel kompromittiert werden (denken Sie an die Comodo-und DigiNotar). In diesen Fällen, die üblichen Verfahren zu "widerrufen" die Zertifikate, die schlecht gegangen, dass Sie möchten, markieren Sie diese als nichtig zu Beginn einen markanten Punkt in der Zeit (Sie verfallen irgendwann sowieso, aber für den Rest der Frist, gelten Sie bereits als ungültig markiert). Für diese Fälle CAs haben die Möglichkeit zur Ausgabe von CRLs (ein Katalog der Zertifikate für ungültig erklärt) oder OCSP-Antworten (Informationen für die eine oder in seltenen Fällen eine Reihe von Zertifikaten) bietet Kunden mit Informationen, ob ein bestimmtes Zertifikat wurde als ungültig markiert oder nicht. Der Sperrstatus geprüft werden muss für alle Zertifikate in der Kette, sollte einer von Ihnen werden als ungültig markiert dann die end-entity-Zertifikat nicht vertraut werden und die Verbindung muss abgelehnt werden, wie gut.
Fake Zertifikat, das Sie erstellen, wird ein self-signed Zertifikat.
Browser zeigt große beängstigend Warnungen, wenn eine Verbindung zu einer site mit einem selbst signierten Zertifikat , die der Nutzer umgehend zu ignorieren.
Um Abmahnungen zu vermeiden, müssen Sie ein Zertifikat von einer Zertifizierungsstelle signiert wurde, der der browser vertraut, wie VeriSign.
Diese Unternehmen hoffentlich stellen Sie sicher, dass Sie tatsächlich Eigentümer der domain für das Zertifikat sind Sie signieren.
Re: Bearbeiten: Sie können nur eine nicht-selbst-signiertes Zertifikat, wenn Sie es erhalten, unterzeichnet von einer vertrauenswürdigen ZERTIFIZIERUNGSSTELLE.
Sie wird sich weigern zu Unterschreiben, um ein Zertifikat für ein anderes Thema.
Zertifikate funktionieren, weil Sie Folgen einem chain-of-trust. Zertifikate haben eine Kette von einem oder mehreren Emittenten, die sind vertrauenswürdig, diese Kette ist das Rückgrat der Grund, warum es überhaupt funktioniert. Browser und fast alle SSL-Zertifikat-Bibliotheken machen diese Kette zu überprüfen, oder zumindest die option.
Selbst-signierte Zertifikate (oder diese, die von Ketten, die in ein selbst-signiertes Zertifikat) scheitern würden dies prüfen.