it-swarm-eu.dev

Auswirkungen auf abgelaufene SSL-Zertifikate

Was sind die Sicherheitsauswirkungen eines abgelaufenen SSL-Zertifikats? Wenn beispielsweise ein SSL-Zertifikat einer vertrauenswürdigen Zertifizierungsstelle abgelaufen ist, bleibt der Kommunikationskanal weiterhin sicher?

36
Imran Azad

Die Kommunikation ist immer noch verschlüsselt, aber der Vertrauensmechanismus ist untergraben. In der Regel ist der wichtigste Faktor jedoch, dass Benutzer hässliche Warnmeldungen zur Sicherheit Ihrer Website erhalten. Die meisten werden keine fundierten Urteile über die Integrität der Verbindung fällen, sondern nur woanders einkaufen.

33
symcbean

Theoretisch ist ein abgelaufenes Zertifikat ein Zertifikat, das nicht mehr verwendet werden darf. Dies wird im Internet X.509-Profil im Zertifikatvalidierungsalgorithmus (Abschnitt 6.1.3, Punkt a.2) explizit angegeben. In der Praxis hat dies zwei Konsequenzen:

  1. Der Schlüsselbesitzer (der Server) muss seinen privaten Schlüssel privat halten. Jeder, der eine Kopie des privaten Schlüssels erhält, kann sich als Server ausgeben. Einige Daten privat zu halten ist nicht ganz unmittelbar. z.B. Sie müssen darüber nachdenken, wie Sie Ihre Backups erstellen. Sobald das Zertifikat abgelaufen ist, kümmert sich der Server möglicherweise nicht mehr um den Datenschutz der Schlüssel, da der entsprechende öffentliche Schlüssel nicht mehr verwendet werden soll. Wenn Sie (als SSL-Client ) ein abgelaufenes Serverzertifikat akzeptieren, gehen Sie das Risiko ein, einen öffentlichen Schlüssel zu verwenden, für den der entsprechende private Schlüssel vorhanden ist einfach verlassen und von einem Bösen aufgegriffen.

  2. Es gibt so etwas wie Widerruf . Wenn eine Zertifizierungsstelle ein Zertifikat widerruft, heißt es: "Ja, das ist meine Signatur auf diesem Zertifikat, aber lassen Sie uns alle so tun, als hätte ich das nie signiert." Eine typische Sperrsituation besteht darin, dass der private Schlüssel kompromittiert wurde. Die Zertifizierungsstelle veröffentlicht ständig den Widerrufsstatus der Zertifikate, die sie über CRL (Listen der widerrufenen Zertifikate) und OCSP (ein dediziertes Protokoll zur Überprüfung des Widerrufsstatus). Ein SSL-Client soll vor dem Akzeptieren Informationen zum Sperrstatus des Serverzertifikats abrufen (in einem Web/HTTPS-Kontext stören die meisten Clients dies nicht). Der entscheidende Punkt ist, dass die Zertifizierungsstelle nach Ablauf eines Zertifikats ihren Sperrstatus nicht mehr verfolgt (dies verhindert, dass die CRL auf unbestimmte Zeit wächst). Daher geht ein Kunde, der ein abgelaufenes Zertifikat akzeptiert, das Risiko ein, unwissentlich ein Zertifikat zu verwenden, das während seiner Lebensdauer widerrufen wurde.

Wie Peter Gutmann sagt es bezeichnet das Ende des Gültigkeitsdatums in einem Zertifikat "den Zeitpunkt, zu dem Sie Ihrer Zertifizierungsstelle eine Verlängerungsgebühr zahlen müssen, um das Zertifikat erneut auszustellen". Das Geschäftsmodell der kommerziellen Zertifizierungsstelle beruht inhärent darauf, dass Kunden das Ende des Gültigkeitsdatums einhalten. Dies erklärt auch , warum Webbrowser gerne beängstigende Warnungen anzeigen, wenn ein Zertifikat abgelaufen ist.

32
Thomas Pornin

In praktischer Hinsicht würde ich mir das Ablaufdatum ansehen. Wenn das Datum nur wenige Tage nach Ablauf abgelaufen ist, würde ich ihm persönlich vertrauen.

Zertifikate, die Jahre nach dem Ablaufdatum liegen, könnten jedoch kompromittiert worden sein und sollten nicht als vertrauenswürdig eingestuft werden. (Wenn auf einer Website, die Sie häufig verwenden, plötzlich ein Zertifikat angezeigt wird, das schon lange abgelaufen ist, ist dies eine ziemlich rote Fahne.)

IE- Wenn das Zertifikat gestern abgelaufen ist, ist die Verbindung wirklich nicht weniger sicher als gestern. Es wird nicht automatisch unsicher, sobald das Ablaufdatum abgelaufen ist.

Sie müssen jedoch irgendwo die Grenze ziehen ... und dafür ist das Ablaufdatum vorgesehen.

3
user606723

Ein weiterer Gedanke zum Ablauf eines Zertifikats befasst sich mit der Frage des asymmetrischen Schlüsselalgorithmus selbst. Ist es möglich, anhand eines öffentlichen Schlüssels den privaten Schlüssel zu bestimmen? Nun, die Antwort ist eher unwahrscheinlich als unmöglich. Im Allgemeinen wird davon ausgegangen, dass es eine Million Jahre dauern würde, bis ein Computer den privaten Schlüssel von einem öffentlichen Schlüssel findet. Aber was ist, wenn Sie ein Jahr lang eine Million Computer betreiben? Möglicherweise erhalten Sie den privaten Schlüssel. Wenn Sie jetzt daran denken, diesen privaten Schlüssel zu verwenden, ist es sehr frustrierend zu erkennen, dass der Benutzer das Zertifikat erneuert hat. (Das bedeutet NICHT, dass er Geld bezahlt hat, um das alte Zertifikat zu behalten, aber es bedeutet, dass jetzt ein neues Zertifikat mit einem neuen öffentlichen Schlüssel vorhanden ist und die Millionen Computer ihre Arbeit von vorne beginnen müssten.)

Übrigens, was ist, wenn ich all diese Computer verwende, um weiterhin öffentliche und private Schlüsselpaare zu generieren und die beiden in einer zweispaltigen Tabelle in einer Datenbank zu speichern. Gibt es eine Möglichkeit, den privaten Schlüssel direkt aus dem eingegebenen öffentlichen Schlüssel zu lesen?

1
krish