Es gibt einen massiven Widerruf von TLS-Zertifikaten von einer Vielzahl von Zertifizierungsstellen, die versehentlich auf einem 63-Bit-RNG anstelle eines 64-Bit-Zertifikats generiert wurden

Vor drei Tagen wurde bei der Generierung von TLS-Zertifikaten eine Massenverletzungsnachricht in der Mailingliste mozilla.dev.security.policy generiert. Die Untersuchung ergab, dass mehrere Zertifizierungsstellen betroffen waren, darunter GoDaddy , Apple und Google . Die Gesamtzahl der falschen Zertifikate übersteigt 1 Million und möglicherweise noch viel mehr. GoDaddy nannte zunächst 1,8 Millionen Zertifikate und reduzierte die Bewertung dann um zwei Größenordnungen auf 12.000. Ein Apple-Sprecher nannte 558.000 Zertifikate .

Das Fazit ist, dass alle CA-Verletzungen die Open-Source-PKI-Lösung EJBCA mit falschen Einstellungen verwendeten, weshalb Zufallszahlen aus dem 63-Bit-Speicherplatz für Seriennummern von Zertifikaten verwendet wurden, was gegen die Mindestentropieanforderungen des CA / B-Forums (64 Bit) verstößt.

Der Unterschied zwischen 2 63 und 2 64 übersteigt 9 Billionen, dh 9 × 10 18 , dies ist eine sehr signifikante Zahl (obwohl der Unterschied nur die Hälfte beträgt). Alle Zertifikate müssen widerrufen werden. Für SSL.com und GoDaddy dauert der Vorgang 30 Tage, für andere kann es ungefähr dieselbe Zeit dauern, obwohl der RFC5280-Standard vorschreibt, dass ungültige Zertifikate innerhalb von fünf Tagen widerrufen werden. Aber sie haben offensichtlich keine Zeit, die Norm zu erfüllen.

Wie ist das passiert? Eine vorläufige Analyse ergab, dass für alle Zertifikate die Länge des entsprechenden Feldes genau 64 Bit beträgt: weder mehr noch weniger. Wenn das RNG 64 Bit Entropie erzeugt und alle Zertifikate genau 64 Bit sind, ist auf den ersten Blick alles in Ordnung. Das Problem ist aber, dass laut RFC5280 :
Seriennummer

Die Seriennummer muss eine positive Ganzzahl sein, die von der Zertifizierungsstelle jedem Zertifikat zugewiesen wird. Es muss für jedes von einer bestimmten Zertifizierungsstelle ausgestellte Zertifikat eindeutig sein (d. H. Der Herausgebername und die Seriennummer kennzeichnen ein eindeutiges Zertifikat).

Zertifizierungsstellen müssen das Verfahren zur Ausgabe von CERT streng kontrollieren, damit die Seriennummer niemals eine negative Ganzzahl ist. Die oben dargestellten Eindeutigkeitsanforderungen legen nahe, dass fortlaufende Zahlen lange ganze Zahlen sein können. CERT-Benutzer sollten in der Lage sein, einen Wert im Unterfeld serialNumber von bis zu 20 Oktetten (einschließlich) zu verarbeiten. Zertifizierungsstellen, die diesem Standard folgen, sollten keine Werte im Unterfeld serialNumber verwenden, die länger als 20 Oktette sind.
Das Erfordernis einer positiven Zahl bedeutet, dass das höchstwertige Bit nicht gesetzt werden kann. Wenn es installiert ist, kann es nicht direkt als Seriennummer des Zertifikats verwendet werden.

Das beliebte EJBCA-PKI-System, das von vielen Zertifizierungsstellen verwendet wird, generiert standardmäßig 64-Bit-Nummern und setzt bei Zertifikatsnummern einfach das höchstwertige Bit zurück. Das heißt, ihr RNG erzeugt 63-Bit-Zahlen, weshalb viele Zertifizierungsstellen darunter gelitten haben.

Die 64-Bit-Standardanforderung für RNG wurde nicht von Grund auf neu formuliert, sondern nach dem Hack von 2008 , als ein Cluster von 200 PlayStation 3-Spielekonsolen Kollisionen für den MD5-Hash erzeugte, wodurch ein gefälschtes Authentifizierungscenter erstellt werden kann, dem alle Browser und Betriebssysteme vertrauen .

2012 infiltrierte die amerikanische Cyberwaffe Flame mit diesem Trick den Windows Update-Update-Mechanismus.

Jetzt wird SHA256 jedoch zur Generierung verwendet. Es ist ein moderner Algorithmus als MD5, sodass die Mindestanforderung von 64 Bit eher zu vorbeugenden Zwecken übernommen wird. Experten sagen, dass es jetzt keine Chance mehr gibt, Kollisionen in 63 Bit zu finden und den mit falschen Zertifikaten gefundenen Fehler irgendwie auszunutzen.

Das Widerrufen von Millionen von Zertifikaten bereitet Systemadministratoren vieler Unternehmen jedoch Kopfschmerzen.

Der Verlust von 1 Bit Entropie ist nicht so schrecklich, aber irgendwo kann jemand eine Sicherheitslücke finden, die weitere 1-2 Bit stiehlt, und so weiter. Daher müssen alle diese Schwachstellen sofort behoben werden.





Source: https://habr.com/ru/post/de443598/


All Articles