[SSL/TLS] Wie sind Zertifikate zu verstehen?

  • Ersteller Ersteller Tersus
  • Erstellt am Erstellt am
T

Tersus

Gast
Grüßt euch,

ich habe mir einige wirklich einfache Videos angesehen, die mir aber leider nicht einleuchten.

Man kann sich von einem externen Anbieter Zertifikate für seine Webseite ausstellen lassen, um dem Nutzer zu garantieren, dass es sich um eine vertrauenswürdige Seite handelt. Beispielsweise steht in dem Zertifikat von Computerbase drin, dass es von GeoTrust Inc. stammt.

Fragen:

Kann man seiner Seite nicht selbst irgendein Zertifikat ausstellen und als Organisation eintragen, was man will? Beispielsweise GeoTrust Inc., obwohl das Zertifikat gar nicht von denen ist.
GeoTrust Inc. existiert ja nun im www. Wie kann ich dort einsehen, dass das Zertifikat von computerbase wirklich von denen stammt?
GeoTrust Inc. zertifizieren sich ebenfalls selbst. Woher weiß ich, dass die echt sind?

Vielen Dank für eure aufklärenden Antworten.
 
In den Zertifikaten ist auch eine Zertifikatkette (chain) Hinterlegt. Beginnend beim Root-Zertifikat, über Intermediates bis zum Zertifikat von Computerbase. Dein Browser und dein OS haben eine Liste vertrauenswürdiger Root-Zertifikate hinterlegt und gleichen die mit dem Ursprung der Kette ab.

Dein Browser wird also immer ein ungültiges Zertifikat melden, sofern das Root-CA nicht in seinem Speicher liegt.

PS: Dieser Artikel bei Wikipedia gibt einen groben Überblick
 
Zuletzt bearbeitet:
Eine CA, also der Austeller eines Zertifikats, unterschreibt das ausgestellte Zertifikat mit seinem privaten Schlüssel (und den kennt nur die CA... darauf basiert das ganze System). Damit ist er eindeutig der Aussteller. Natürlich kannst du jetzt ein Zertifikat austellen, in dem irgendein Name drin steht, allerdings hast du nicht den privaten Schlüssel der "echten" CA und damit kann man dein gefälschtes Zertifikat relativ einfach als falsch identifizieren.
 
Gesichert sind diese Ketten im übrigen über Fingerprints bzw. Checksummen. Also ein von einer vertrauenswürdigen CA ausgestelltes Zertifikat muss diese Prüfsumme erfüllen damit es gültig ist. Deshalb ist der dahinterliegende Prüfsummen-Algorithmus von der Kollisionsfreiheit so wichtig. Das ist der Grund warum aktuell SHA1 abgelöst wird durch SHA256.

Probier es selbst aus anhand einer selbstgebastelten Root-CA (geht unter Linux recht einfach mt TinyCA). Davon entweder direkt ein Server-Zertifikat erstellen oder noch eine Intermediate-CA. Das Server Zertifikat bindest du bspw. mal in einen Apache oder NGINX Webserver ein. Die Browser werden meckern (achte dabei unbedingt auf den korrekten Servernamen). Importierst du jedoch die Root-CA in deinen Browser, dann sollte alles glatt laufen wie gewohnt, aber verschlüsselt und verifiziert.
 
Zuletzt bearbeitet:
Ausser eine bösartige Person entwendet den privaten Schlüssel und unterschreibt mit dem Schlüssel der CA das Fake Zertifikat (würde bis zum Sperrlisten Update als gültig erkannt werden..)

Viele Grüße,
tmkoeln
 
Hallo zusammen,
eine sehr interessante Frage und sehr interessante und hilfreiche Antworten. Hab ich auch wieder was aufgeschnappt! :D

Vielen Dank dafür an euch!

greetz
hroessler
 
Kollisionsfrei ist keines der Systeme, denn per Definition hat eine n-lange Zeichenkette (Hash) mit theoretisch unendlich langem Input immer Kollisionen. Das Ziel ist also weniger Kollisionsfreiheit als vielmehr ein Verfahren, bei dem sich Kollisionen nur durch Versuche finden lassen, jedoch nicht durch eine Schwachstelle im Verfahren.
 
Zurück
Oben