Frage Warum sind CA-Stammzertifikate alle SHA-1-signiert (da SHA-1 veraltet ist)?


Ich verstehe, dass SSL-Zertifikate nicht mehr mit SHA-1 signiert werden können. Alle CA-Stammzertifikate sind jedoch (meist) SHA-1-signiert. Bedeutet es, dass der gleiche Algorithmus, der nicht mehr für "Oma Oma SSL-Shop" vertrauenswürdig ist, für das höchste gesicherte Zertifikat der Welt in Ordnung ist?

Fehle ich etwas? (Schlüsselverwendung? Schlüsselgröße?)


65
2018-03-13 15:09


Ursprung


Es ist nicht wahr, dass "alle" CA-Wurzelzertifikate SHA1 sind. - Greg Askew
Wurzelzertifikate sind wie Starthypothesen in einer Weltanschauung. Es braucht Glauben, um ihnen zu vertrauen. - Roy Tinker
@RoyTinker außer für Cogito ergo sum (Siehe radikale Zweifel, und es ist die Antwort: Kartesische Skepsis) - Nick T
Kreuzstapel: Sicherheit.stackexchange.com/questions/120301/... und superuser.com/questions/1122069/ ... - dave_thompson_085
@NickT: Auf Nummer sicher gehen - cogito ergo cogito ;-) - tonysdg


Antworten:


Die Signatur der Root-CA-Zertifikate spielt keine Rolle, da sie nicht verifiziert werden müssen. Sie sind alle selbst signiert.

Wenn Sie einem Stammzertifizierungsstellenzertifikat vertrauen, müssen Sie seine Signatur nicht verifizieren. Wenn Sie ihm nicht vertrauen, ist seine Unterschrift für Sie wertlos.

Edit: Es gibt einige sehr relevante Kommentare unten. Ich fühle mich nicht wohl dabei, sie zu kopieren oder umzuformulieren und sie für ihre Autoren zu würdigen. Aber ich begrüße die Leute, um diese Antwort zu erklären.


105
2018-03-13 15:16



Stellt die Frage, warum sie überhaupt unterzeichnet werden - Richard Tingle
Da das System keine Zertifikate unterstützt, die nicht signiert sind. - OrangeDog
Es scheint mir, dass das Problem mit einem crackbaren Root-Zertifikat nicht "Sie wissen nicht, woher Sie das Root-Zertifikat bekommen haben", sondern "Sie wissen nicht, wer dieses Zertifikat noch knacken konnte und es verwendet zu unterschreiben, was immer sie wollen. " Und es scheint von Ihrer Antwort aus, dass die beiden (cert und cert-signing) separate Anliegen sind, und dass das cert selbst angemessen sicher und unknackbar ist? - Dewi Morgan
Ich würde sogar noch weiter gehen als "es besteht keine Notwendigkeit, sie zu überprüfen". Der Zweck der Signatur in einer Zertifikatskette besteht darin, dass eine höhere Autorität eine niedrigere Autorität bescheinigt. Für eine Stammzertifizierungsstelle gibt es keine höhere Autorität per Definition (das ist was "Wurzel" bedeutet), also dort ist niemand, der das Zertifikat möglicherweise unterzeichnen könnte. Da, wie gesagt, Zertifikate Muss signiert werden, werden Root-CAs mit einer "Dummy" -Signatur signiert, und der einfachste Weg dazu ist das Self-Signing. Also, es gibt nicht nur keine Notwendigkeit, das zu überprüfen Idee Das Überprüfen der Signatur einer Stammzertifizierungsstelle ist nicht sinnvoll. - Jörg W Mittag
@DewiMorgan Sie können ein Wurzel-Cert nicht mit einer Hash-Kollision "knacken", weil der Client der cert selbst, nicht seine (Selbst-) Unterschrift. Sie müssten den privaten Schlüssel wiederherstellen, der ein Angriff auf RSA ist, nicht auf den Hash-Algorithmus. - zwol


Am Ende des Tages ist ein Root-Zertifikat selbstsigniert. Es wird niemals von einer anderen Entität als sich selbst signiert. Das Stammzertifikat erhält sein Vertrauen durch Out-of-Band-Prozesse wie das Übermitteln an eine Browserliste von vertrauenswürdigen Herausgebern, oder es wird von Microsoft zum Einfügen in die Standardliste von Windows-vertrauenswürdigen Herausgebern akzeptiert.

Diese Zertifikate (und die Firmen, die sie selbst signiert haben) werden (angeblich, hoffentlich) gründlich durch andere Mittel als nur ihre Unterschriften überprüft.


45
2018-03-13 15:17



Ganz zu schweigen davon, dass das Aktualisieren eines Stammzertifikats diesen Out-of-Band-Prozess erneut durchlaufen muss. - Kaithar
+1 für das "angeblich, hoffentlich" - Nathan Osman


Der einzige Fall, in dem dies von Bedeutung ist, ist, wenn der Root von SHA-1 signiert ist, kann er durch SHA-1 widerrufen werden. Das heißt, jemand, der SHA-1 angreifen kann, kann einen Widerruf für die Wurzel konstruieren. Und ich bin absolut sicher, dass der Browser nicht weiß, wie das zu halten ist, so dass der Vandal nur SSL-Verbindungen verloren hat. Wie Lahm.


7
2018-03-13 18:39



Das ist ein interessanter Gedanke, aber ich bezweifle, dass das so funktionieren würde. Meine Vermutung ist, dass jeder Agent sein eigenes einzigartiges Verhalten hat, aber ich bezweifle, dass Entwickler die Idee hatten, dass die Sperrliste verwendet würde, um den Widerruf von Root-Zertifikaten zu verwalten. Zumindest, wenn dies in einigen Fällen funktionierte, wäre dies auf die Abstraktion des Software-Widerrufs zurückzuführen und nicht absichtlich von den Entwicklern. - Peter Oehlert


Als eine Anmerkung zu diesem, ETWAS CAs haben ihre Root- und Intermediate-Zertifikate bereits auf SHA256 aktualisiert.

Ich weiß, dass GlobalSign letztes Jahr ihre Zertifikate aktualisiert hat, als wir unsere Codesignaturzertifikate aktualisierten, also musste ich ihre neue Kette auch diesen hinzufügen.

Sie können überprüfen, welche spezifischen Zertifikate aktualisiert wurden und welche aktualisiert wurden, aber auch ein altes SHA1-Zertifikat für here hinterlassen => 1

Hoffentlich hilft das.


1
2018-03-15 00:52





Für die Stammzertifizierungsstelle geben Sie dem öffentlichen Schlüssel der Zertifizierungsstelle, die im CRT gebündelt ist, Vertrauen - unabhängig von der Eigensignatur.

Beschreiben von CA, das das .CRT-Dateiformat anstelle eines unverschlüsselten öffentlichen Schlüssels verwendet. PEM ermöglicht es, weitere Details darin zu bündeln - z. CA Name - (wieder einmal ist die Signatur wertlos)


0
2018-03-16 19:30