Frage

Was ist die Reihe von Schritten erforderlich, um sicher ein SSL-Zertifikat zu überprüfen? Mein (sehr begrenzt) Verständnis ist, dass, wenn Sie eine HTTPS-Site besuchen, der Server ein Zertifikat an den Client (Browser) sendet und der Browser erhält das Emittent Informationen Attest von diesem Zertifikat, dann, dass nutzt die issuerer zu kontaktieren, und irgendwie vergleicht Zertifikate für die Gültigkeit.

  • Wie genau wird das gemacht?
  • Was ist mit dem Prozess macht es immun gegen Man-in-the-Middle-Angriffe?
  • Was hindert einige zufällige Person von der Festlegung ihrer eigenen Prüfdienst bis in Man-in-the-Middle-Angriffe zu verwenden, also alles „sieht“ sicher?
War es hilfreich?

Lösung

Hier ist eine sehr vereinfachte Erklärung:

  1. Ihr Browser lädt das Zertifikat des Web-Servers, die mit dem öffentlichen Schlüssel des Web-Servers enthält. Dieses Zertifikat wird mit dem privaten Schlüssel von einer vertrauenswürdigen Zertifizierungsstelle signiert.

  2. Ihr Web-Browser ist mit den öffentlichen Schlüsseln von allen wichtigen Zertifizierungsstellen installiert. Es nutzt diesen öffentlichen Schlüssel, um zu überprüfen, dass das Zertifikat des Web-Servers in der Tat durch die vertrauenswürdige Zertifizierungsstelle signiert wurde.

  3. Das Zertifikat enthält den Domain-Namen und / oder IP-Adresse des Web-Servers. Ihr Webbrowser bestätigt mit der Zertifizierungsstelle, die die Adresse im Zertifikat aufgeführt ist derjenige, zu dem es eine offene Verbindung hat.

  4. Ihr Web-Browser erzeugt einen gemeinsamen symmetrischen Schlüssel, der verwendet wird, um den HTTP-Datenverkehr auf dieser Verbindung zu verschlüsseln; Das ist viel effizienter als öffentliche / private Schlüssel-Verschlüsselung für alles verwenden. Ihr Browser verschlüsselt die symmetrischen Schlüssel mit dem öffentlichen Schlüssel des Web-Servers sendet sie dann zurück, wodurch sichergestellt wird, dass nur der Webserver sie entschlüsseln kann, da nur der Web-Server seinen privaten Schlüssel hat.

Hinweis

, dass die Zertifizierungsstelle (CA) ist wichtig, um zu verhindern Man-in-the-Middle-Angriffe. Aber auch ein nicht-unterzeichnetes Zertifikat jemanden von passiv Mithören auf dem verschlüsselten Datenverkehr zu verhindern, da sie keine Möglichkeit, um Zugang zu Ihrem gemeinsamen symmetrischen Schlüssel haben.

Andere Tipps

Es ist erwähnenswert, dass ein Zertifikat zusätzlich zu dem Kauf (wie oben erwähnt), können Sie auch Ihre eigene kostenlos erstellen; dies wird als „selbstsignierten Zertifikat“ bezeichnet. Der Unterschied zwischen einem selbstsignierten Zertifikat und einem, die gekauft hat ist einfach: der Kauf eines von einer Zertifizierungsstelle signiert wurde, dass Ihr Browser bereits kennt. Mit anderen Worten: Ihr Browser kann leicht die Echtheit eines erworbenes Zertifikat validieren.

Leider hat dies zu einem weit verbreiteten Missverständnis geführt, dass selbst signierten Zertifikate sind von Natur aus weniger sicher als die von kommerziellen CAs wie GoDaddy und Verisign verkauft, und dass Sie mit Browser-Warnungen / Ausnahmen zu leben haben, wenn Sie sie verwenden; das ist falsch .

Wenn Sie sicher ein selbst signiertes Zertifikat verteilen (oder CA-Zertifikat, wie bobince vorgeschlagen) und installieren Sie es in den Browsern, die Ihre Website verwenden , es ist nur so sicher wie eine, die erworben hat und nicht anfällig für Man-in-the-Middle-Angriffe und cert Fälschung. Offensichtlich bedeutet dies, dass es nur möglich ist, wenn nur wenige Menschen auf Ihrer Website sicheren Zugang benötigen (zum Beispiel interne Anwendungen, persönliche Blogs, usw.).

Im Interesse der Sensibilisierung und Förderung des Kerl kleine Zeit Blogger wie mich selbst zu schützen, habe ich ein Entry-Level-Tutorial geschrieben, die die Konzepte hinter Zertifikaten näher erläutern und wie sicher zu schaffen und eine Selbst verwenden unterzeichnet Shannon cert (komplett mit Codebeispielen und Screenshots).

Sie haben gesagt,

  

wird der Browser des Emittenten Informationen Attest aus, dass   Zertifikat, verwendet dann, dass die issuerer zu kontaktieren, und irgendwie   vergleicht Zertifikate für die Gültigkeit.

Der Client muss nicht mit dem Emittenten, weil zwei Dinge überprüfen:

  1. alle Browser haben eine vorinstallierte Liste aller wichtigen Zertifizierungsstellen öffentlicher Schlüssel
  2. wird das Zertifikat signiert, und diese Unterschrift selbst ist genug Beweis dafür, dass das Zertifikat gültig ist, weil der Client sicherstellen kann, wie er selbst, und ohne die Emittenten Server in Verbindung treten, dass das Zertifikat authentisch ist. Das ist die Schönheit der asymmetrischen Verschlüsselung.

Beachten Sie, dass 2 nicht ohne 1. erfolgen

Das ist besser erklärt in diesem großen Diagramm ich vor einiger Zeit gemacht

(skip to "Was ist eine Signatur?" Unten)

Blob

Der Kunde hat einen Pre-geimpften Shop von SSL-Zertifikat Behörden öffentlicher Schlüssel. Es muss für den Server nach oben durch Zwischen Behörden eine Vertrauenskette vom Zertifikat bis zu einem der sogenannten „root“ Zertifikaten, um für den Server vertraut werden.

Sie können untersuchen und / oder die Liste der vertrauenswürdigen Behörden ändern. Oft wird diese Sie tun ein Zertifikat für eine lokale Behörde hinzuzufügen, die Sie wissen, dass Sie vertrauen -. Wie das Unternehmen für die Sie arbeiten oder die Schule, die Sie besuchen oder was nicht

Die Pre-geimpften Liste kann variieren, je nachdem, welcher Client Sie verwenden. Die großen SSL-Zertifikat-Anbieter versichern, dass ihre Stammzertifikate in allen gängigen Browsern sind ($$$).

Monkey-in-the-Middle-Angriffe "unmöglich" sind, wenn der Angreifer den privaten Schlüssel von einer vertrauenswürdigen Root-Zertifikat hat. Da die entsprechenden Zertifikate weit verbreitet sind, würde die Belichtung eines solchen privaten Schlüssel haben schwerwiegende Auswirkungen auf die Sicherheit des E-Commerce im Allgemeinen. Aus diesem Grunde sind diese privaten Schlüssel sehr, sehr streng bewacht.

Wenn Sie mehr technisch gesinnten sind, diese Seite ist wahrscheinlich das, was Sie wollen: http: //www.zytrax.com/tech/survival/ssl.html

Warnung: das Kaninchenbau geht tief.)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top