Es geht hauptsächlich darum, die Identität einer Entität ohne vorherige Interaktion überprüfen zu können.
Einer der Hauptzwecke einer Zertifizierungsstelle besteht darin, bestimmte Informationen über eine Entität so zu bestätigen, dass eine andere Eine Entität, die dieser Zertifizierungsstelle vertraut, kann diesen Informationen vertrauen, auch wenn die beiden Entitäten noch nie zuvor in Kontakt gewesen sein müssen.
Es handelt sich tatsächlich um eine vertrauenswürdige Partei, mit der Sie die Identität überprüfen können (im Allgemeinen, aber auch möglicherweise) andere Attribute) über eine Entität, mit der Sie interagieren müssen, die Sie jedoch möglicherweise noch nie getroffen haben.
Sie können dies mit einer Passausstellungsbehörde (dh im Allgemeinen einem Land) vergleichen. Auch wenn Sie noch nie eine getroffen haben Person: Wenn jemand mit einem Reisepass zu Ihnen kommt (aus einem Land, das Sie für die Passverwaltung als ausreichend verantwortlich erachten), können Sie der Bindung zwischen Bild, Name (und anderen Eigenschaften) vertrauen und der Person vor Ihnen einen Namen hinzufügen mit hinreichender Sicherheit.
Dies gilt für Public Key-Zertifikate: Die ausstellende Zertifizierungsstelle al Sie können der Bindung zwischen dem öffentlichen Schlüssel und der Identität vertrauen. Bei einem SSL / TLS-Server ist die Identität der Hostname (siehe RFC 6125) und der öffentliche Schlüssel derjenige, der während des SSL / TLS-Handshakes verwendet wird.
Eine Zertifizierungsstelle bestätigt dies Eine Website entspricht einer bestimmten Organisation. Warum ist dies erforderlich?
Das Verknüpfen einer Website mit einer Organisation ist nicht unbedingt erforderlich. Dies ist hauptsächlich das Ziel von Extended Validation-Zertifikaten. Einige fühlen sich dadurch sicherer in Bezug auf die Website, die sie besuchen. Es ist im Allgemeinen nützlich gegen Angreifer, die Hostnamen mit Namen kontrollieren, die legitimen Websites ähneln, die Sie besuchen würden.
Ich interagiere physisch mit ihnen im wirklichen Leben oder per E-Mail oder was haben Sie. Ich kann nur ihren öffentlichen Schlüssel erhalten, wenn ich mich mit ihnen treffe.
Sicher, aber damit gibt es ein paar Probleme:
-
Bootstrapping: Wenn Sie diese Person noch nie getroffen haben, macht die Tatsache, dass sie Ihnen beim ersten Treffen ihren öffentlichen Schlüssel gibt, sie nicht zu dem, was sie sagen, dass sie sind. Dies ist im Web ein großes Problem, da Sie immer zum ersten Mal eine Website aufrufen, ohne sie zuvor auf diesem Computer besucht zu haben. Selbst bei Notarsystemen wie dem Perspectives Project benötigen Sie einen ersten Besucher.
-
Sie können nicht immer physisch mit Websites interagieren.
-
Selbst wenn Sie es irgendwie schaffen, physisch mit der Website zu interagieren, haben die meisten Menschen keine Ahnung, wovon Sie sprechen, wenn Sie nach ihrem öffentlichen Schlüssel fragen. Fragen Sie beim nächsten Betreten einer Filiale nach dem öffentlichen Schlüssel Ihrer Bank ...
-
Es ist möglich, eine Handvoll öffentlicher Schlüssel von Personen zu verwalten, die Sie getroffen haben, aber im Allgemeinen gibt es einen großen Anzahl der Websites, die Sie besuchen können. Es gibt einen Punkt, an dem Sie eine Liste nicht verwalten möchten, insbesondere wenn Sie beispielsweise mehrere Computer verwenden.
-
Darüber hinaus erinnern Sie sich im Allgemeinen an das Gesicht einer Person, wenn Sie es sehen sie später. Im Gegensatz dazu kann eine Website ihren öffentlichen Schlüssel ändern (normalerweise jedes Jahr, manchmal aber auch viel häufiger). Sie müssen immer noch einen Weg finden, wie sie Ihnen auf vertrauenswürdige Weise über diese Änderung berichten können.
Ich interagiere ausschließlich digital mit ihnen. Ich beginne ohne Grund, ihnen zu vertrauen, gewinne aber mit der Zeit Vertrauen. Ich muss nur wirklich sicherstellen, dass sich jemand nicht als jemand ausgibt, also überprüfe ich jedes Mal, ob es sich um denselben Schlüssel handelt.
Das Vertrauen in eine Website ist leider viel binärer als das schrittweise Aufbauen von Vertrauen Es besteht die Erwartung, dass jede Interaktion, auch die erste, nicht durch einen MITM-Angriff abgefangen und verändert wird.
Ein Freund verweist mich auf eine Website. Ich kann den Schlüssel von ihnen bekommen.
Das CA-System ist sehr hierarchisch. Bis zu einem gewissen Grad ist dies ein besonderer Fall des Web-of-Trust-Systems, bei dem Sie Vertrauen an Personen delegieren können, die Sie kennen, die wiederum Vertrauen an Personen delegieren, die sie kennen, und so weiter.
WoT ist ein gültiges System, bringt jedoch seine eigenen Probleme mit sich:
- Das Vertrauen in die Identität einer Person bedeutet nicht, dass diese Person im Allgemeinen vertrauenswürdig ist: Nicht, weil Sie den tatsächlichen Namen einer Person kennen. Ich werde nicht über die Identität eines anderen lügen.
- Wie Sie sagten, würden Sie dieses Problem lösen, indem Sie den Schlüssel von jemandem erhalten, von dem Sie wissen, dass er ein Freund ist, aber woher wissen Sie, dass dieser Freund das gemacht hat? Relevante Identitätsprüfungen rigoros?
Im Wesentlichen ist die Gruppe von Personen, deren Identität ich kenne, eine Obermenge der Personen, denen ich im Allgemeinen vertraue, dass sie gute Absichten haben, was selbst eine Obermenge der Personen ist, an die ich glaube ausreichend kompetent zu sein, um auch die Identität anderer Personen zu überprüfen. Das Modellieren von Vertrauen und Vertrauensdelegation kann sehr schnell komplex werden, wenn Sie diese Parameter in eine ccount.
Der Zweck der Zertifizierungsstelle besteht darin, eine Entität zu sein, der Sie vertrauen können, dass sie überprüft hat, was sie ordnungsgemäß in ihre Zertifikate eingegeben hat. Natürlich scheitern sie ab und zu an ihrer Arbeit, aber es ist ein vernünftiger Kompromiss, um es so einfach zu machen, dass es allgemein nutzbar ist. Komplexere Modelle würden viel komplexere Benutzeroberflächen und Erklärungen für die Benutzer erfordern. Ich denke, viele Benutzer würden die Komplexität als überwältigend empfinden und am Ende alle Warnungen verwerfen (was am Ende schlimmer wäre).
Natürlich gibt es Möglichkeiten, einige der Probleme mit Zertifizierungsstellen zu verringern (z zwischengeschaltete Notarsysteme), aber letztendlich muss der Benutzer eine Entscheidung treffen. Das CA-System ist alles andere als perfekt.
Wie kann ich einer Website mit einem CA-Zertifikat mehr vertrauen, als wenn dies nicht der Fall ist?
Die Website selbst verfügt nicht über ein CA-Zertifikat als solches, sondern über ein von einer CA ausgestelltes Zertifikat. Es geht nicht darum, der Website selbst zu vertrauen, sondern darum zu vertrauen, dass die Identität der Website so ist, wie sie ist (und dass es sich um den gesuchten Hostnamen handelt).
Natürlich bewegt dies nur die Bootstrapping noch einen Schritt weiter: Warum sollten Sie den mit Ihrem Browser oder Betriebssystem gebündelten CA-Zertifikaten vertrauen?