Wie funktioniert HTTPS tatsächlich funktionieren, Robert Heaton

1. Was ist HTTPS und was tut sie?

  • Überprüfen, ob Sie direkt mit dem Server sprechen, die Sie denken, Sie sprechen
  • Um sicherzustellen, dass nur der Server lesen können, was Sie es senden und nur lesen Sie, was es sendet

Das wirklich, wirklich klug ist, dass jemand jeder einzelne der Nachrichten abfangen können Sie mit einem Server austauschen, darunter jene, wo Sie auf dem Schlüssel und Verschlüsselungsstrategie stimmen zu verwenden, und nach wie vor nicht in der Lage sein, jede der tatsächlichen lesen Daten, die Sie senden.

2. Wie eine SSL-Verbindung hergestellt wird

Eine SSL-Verbindung zwischen einem Client und Server wird durch ein Handshake, die Ziele von denen aufgebaut sind:

  • Um den Client zu erfüllen, dass es auf den richtigen Server zu sprechen (und optional vice versa)
  • Für die Parteien einer „Cipher Suite“ vereinbart haben, die den Verschlüsselungsalgorithmus enthalten sie Daten austauschen verwenden, um
  • Für die Parteien über die erforderlichen Schlüssel für diesen Algorithmus vereinbart,

Sobald die Verbindung hergestellt ist, können beide Parteien den vereinbarten Algorithmus und Schlüssel verwenden, um sicher Nachrichten andere zu jedem schicken. Wir werden die Handshake brechen in drei Hauptphasen - Hallo, Certificate Exchange und Key Exchange.

3. Zertifikate

Auf der elementarsten Ebene ist ein SSL-Zertifikat einfach eine Textdatei, und jeder mit einem Texteditor kann man erstellen. Sie können in der Tat schaffen trivialer ein Zertifikat behauptet, dass Sie Google Inc. sind und dass Sie die Domain gmail.com steuern. Wenn dies die ganze Geschichte war dann wäre SSL ein Witz sein; Identitätsprüfung im Wesentlichen der Client fragt den Server sein würde, „sind Sie Google?“, der Server „er, ja total, hier ist ein Stück Papier mit‚Ich bin Google‘auf ihn geschrieben wird“ und der Kunde sagt „OK toll, hier zu antworten die Magie all meine Daten.“, dass diese Farce verhindert ist in der digitalen Signatur, die eine Partei, dass Stück Papier einer anderen Teilnehmers überprüfen, kann wirklich echt ist.

Es gibt zwei vernünftige Gründe, warum Sie ein Zertifikat vertrauen könnten:

  • Wenn es auf einer Liste von Zertifikaten ist, dass Vertrauen Sie implizit
  • Wenn es in der Lage zu beweisen, dass es durch die Steuerung eines der Zertifikate auf der obigen Liste vertrauenswürdig ist

Das erste Kriterium ist leicht zu überprüfen. Ihr Browser hat eine vorinstallierte Liste der vertrauenswürdigen SSL-Zertifikate von Zertifizierungsstellen (CAs), die Sie sehen können, hinzufügen und entfernen. Diese Zertifikate werden gesteuert von einer zentralen Gruppe von (in der Theorie und in der Regel in der Praxis) extrem sichere, zuverlässige und vertrauenswürdige Organisationen wie Symantec, Comodo und GoDaddy. Wenn ein Server ein Zertifikat aus dieser Liste stellt dann wissen Sie, Sie ihnen vertrauen können.

3.2 Digitale Signaturen

Also, wenn ein Server kommt ein Zertifikat zusammen behauptet, für Microsoft.com zu haben, die von Symantec (oder einem anderen CA), Ihr Browser, um sein Wort nicht für sie unterzeichnet zu nehmen. Wenn es echt ist, hat Symantec verwendet, um ihren (ultra-geheimen) privaten Schlüssel des Servers SSL-Zertifikats der digitale Signatur zu erzeugen und so Ihr Browser verwenden kann ihre (ultra-public) öffentlichen Schlüssel verwenden, um zu überprüfen, dass diese Unterschrift gültig ist. Symantec Schritte unternommen haben, die Organisation, die sie unterzeichnen für wirklich nicht besitzt Microsoft.com, und so gegeben, dass Ihr Kunde vertraut Symantec, um sicherzustellen, kann es sicher sein, dass es wirklich zu Microsoft Inc. spricht

3.3 Selbst Unterzeichnung

Beachten Sie, dass alle Root-CA-Zertifikate „self-signed“ sind was bedeutet, dass die digitale Signatur das Zertifikat des eigenen privaten Schlüssel erzeugt wird, verwendet wird. Es gibt nichts an sich besonders an das Zertifikat einer Stammzertifizierungsstelle - Sie können Ihr eigenes selbst signiertes Zertifikat generieren und diese andere Zertifikate signieren, wenn Sie möchten. Aber da Ihr Zufalls Zertifikat nicht vorbelastet als CA in allen Browsern überall, keiner von ihnen vertrauen Sie entweder Ihre eigenen oder andere Zertifikate zu unterzeichnen. Sie sagen effektiv „er ja, ich bin total Microsoft, hier ist eine offizielle Bescheinigung über die Identität von mir ausgestellt und unterzeichnet“, und alle gut funktionierenden Browser eine sehr beängstigend Fehlermeldung als Antwort auf Ihre zwielichtigen Anmeldeinformationen übergeben.

3.4 Was vertrauen Sie?

4. Wirklich wirklich Spaß Fakten

4.1 Kann ein Coffee-Shop meinen HTTPS-Datenverkehr über ihr Netzwerk überwachen?

4.2 Kann mein Unternehmen meines HTTPS-Datenverkehr über ihr Netzwerk überwachen?

Das ist übrigens auch, wie Sie einen Proxy verwenden, um die sonst unzugänglichen HTTPS-Anfragen gemacht durch eine iPhone App zu überprüfen und zu ändern.

So 4.3, was passiert mit Lavabit und das FBI?

Sobald er erfüllt, GoDaddy, die Lavabit CA, widerrufen Sie das Zertifikat, mit (richtig) hielt es für gefährdet. Dieses hinzugefügt, um das Lavabit Zertifikat in einer Certificate Revocation List (CRL), eine Liste der in Verruf Zertifikate, die Kunden nicht mehr vertrauen, sollten eine sichere Verbindung zu gewährleisten. Kompromittiert, selbst signierte oder anderweitig unseriös Zertifikate verursachen Browser eine große rote Fehlermeldung angezeigt werden und entweder zu entmutigen oder gar verbietet weitere Aktionen durch den Benutzer. Leider wird Browser weiterhin ein gebrochenes Zertifikat vertrauen, bis sie die neuesten Updates für die CRL ziehen, ein Verfahren, das scheinbar unvollkommen in der Praxis ist.

5. Schlussfolgerung

HTTPS ist nicht unzerbrechlich, und das SSL-Protokoll hat sich ständig weiterentwickelt, wie neue Angriffe gegen sie entdeckt werden und zerquetscht. Aber es ist immer noch eine beeindruckend robuste Art und Weise geheime Daten zu übertragen, ohne die Pflege, die Ihre Nachrichten sieht. Es gibt natürlich viele Implementierungsdetails hier nicht erwähnt, wie das genaue Format und die Reihenfolge der Handshake-Nachrichten, abgekürzt Händeschütteln der letzten Sitzungen zu holen ohne Schlüssel und Chiffriersätze, und die zahlreichen verschiedenen Verschlüsselungsoptionen verfügbar in jeder Phase neu verhandeln zu müssen. Der Schlüssel ist daran zu erinnern ist, dass während HTTPS-Daten sicher auf dem Draht zu seinem Ziel hält, ist es in keiner Weise schützt Sie (als Benutzer oder einen Entwickler) gegen XSS oder Datenbank Lecks oder eines der anderen Dinge, dass go-bump -in der Nacht. Seien Sie froh, dass es Ihre Rückseite hat, aber wachsam bleiben. In den unsterblichen Worten von Will Smith, „im Schatten Gehen Sie bewegen sich in Schweigen, Schutz vor außerirdischer Gewalt.“

In Verbindung stehende Artikel