it-swarm.com.de

ssltest: Kettenprobleme - Enthält Anker

Ich habe ssltest in einer Webanwendung ausgeführt und es wurde "Kettenprobleme - Enthält Anker" gefunden (Abschnitt "Zusätzliche Zertifikate (falls vorhanden)").

Was bedeutet das? Sollte es behoben werden? Kann es ausgenutzt werden?

81
Andrei Botalov

Wenn der Server sein Zertifikat an den Client sendet, sendet er tatsächlich eine Zertifikatkette , damit der Client das Serverzertifikat leichter validieren kann (der Client ist es) nicht erforderlich , um genau diese Kette zu verwenden, aber in der Praxis verwenden die meisten Clients die Kette und keine andere). Dies wird im Abschnitt SSL/TLS-Standard , Abschnitt 7.4.2 beschrieben, insbesondere mit diesem aufschlussreichen Auszug:

Das Zertifikat des Absenders MUSS an erster Stelle in der Liste stehen. Jedes folgende Zertifikat MUSS das vorhergehende direkt zertifizieren. Da für die Zertifikatsüberprüfung die unabhängige Verteilung von Stammschlüsseln erforderlich ist, kann das selbstsignierte Zertifikat, das die Berechtigung für das Stammzertifikat angibt, in der Kette weggelassen werden, unter der Annahme, dass das Remote-Ende es bereits besitzen muss, um es in jedem Fall zu validieren.

Da dies ein "MAI" -Fall ist (die Terminologie "MAI", "MUSS", "SOLLTE" ... in RFC hat sehr genaue Bedeutungen, die in RFC 2119 erklärt werden), darf der Server das einschließen Stammzertifikat (auch bekannt als "Vertrauensanker") in der Kette oder lassen Sie es weg. Einige Server enthalten es, andere nicht. Bei einer typischen Client-Implementierung, bei der genau die gesendete Kette verwendet werden soll, wird zunächst versucht, die Kettenzertifikate in ihrem Trust Store zu finden. Andernfalls wird versucht, einen Aussteller für das "letzte" Kettenzertifikat in seinem Vertrauensspeicher zu finden. In beiden Fällen ist dies standardkonform und sollte funktionieren.

(In Bezug auf die Kettenreihenfolge besteht eine geringfügige Verwirrung. In true X.509 wird die Kette vom Vertrauensanker zum Endentitätszertifikat sortiert. Die SSL/TLS-Nachricht "Zertifikat" wird codiert in umgekehrter Reihenfolge steht das End-Entity-Zertifikat, das den Server selbst qualifiziert, an erster Stelle. Hier verwende ich "last" in der SSL/TLS-Terminologie, nicht X.509.)

Das einzig schlechte, was man über das Senden des Stamms in der Kette sagen kann, ist, dass er unnötig ein bisschen Netzwerkbandbreite verbraucht. Das sind ungefähr 1 kB Daten pro Verbindung , einschließlich eines vollständigen Handshakes . In einer typischen Sitzung zwischen einem Client (Webbrowser) und einem Server ist nur eine Verbindung dieses Typs vorhanden. Die anderen Verbindungen vom Client verwenden "abgekürzte Handshakes", die auf dem anfänglichen Handshake aufbauen, und verwenden überhaupt keine Zertifikate. Und jede Verbindung wird für viele aufeinanderfolgende HTTP-Anforderungen am Leben erhalten. Der durch das Root-Senden implizierte Netzwerk-Overhead ist daher gering.

104
Thomas Pornin

Dies bedeutet, dass die von der Site bereitgestellten Zertifikate das Stammzertifikat der Zertifikatkette enthalten (die Kette, in der ein Zertifikat mit dem Zertifikat seines Ausstellers verknüpft ist, wobei der Stamm ein Zertifikat ist, das sein eigener Aussteller ist).

Da ein Zertifikat nur dann vertrauenswürdig ist, wenn das Stammzertifikat (oder ein dazwischen liegendes Zertifikat) seiner Kette vom Client explizit als vertrauenswürdig eingestuft wird, ist die Angabe des Stammzertifikats nicht erforderlich: Wenn es vertrauenswürdig ist, verfügt der Client bereits über das Zertifikat. Der Bericht weist übrigens darauf weiter unten durch die Bemerkung "In Trust Store" hin.

Ich würde das nicht als Grund für eine Warnung betrachten, vielleicht nur als Hinweis. ssltest scheint auch glücklich zu sein, wenn man bedenkt, dass das Zertifikat zu 100% bewertet wurde.

Umgekehrt könnte es Exploits gegeben haben: Rogue-Sites, die gefälschte Stammzertifikate bereitstellen, die fehlerhafte Clients für vertrauenswürdige verwechseln, was dazu führt, dass der Client der Site vertraut. Benutzer solcher Clients sind jedoch sowieso in Schwierigkeiten.

24
mkl