Post by Bernd EckenfelsPost by Juergen P. MeierDas, was Mozilla als vorgebliches "Verisign Class 3 Primary CA G5" cert
mitschickt hat nur wenig mit dem von Verisign veroeffentlichten "Verisign
Class 3 Primary CA G5" Root-CA Zertifikat zu tun (Nur Subject und Key
sind gleich - s.U.).
Firefox zeigt in der Chain das offizielle Root Zertifikat an (serial
Falsch. Es zeigt ein von der alten Verisign CA (1996) signiertes
Intermediate-CA Zertifikat anstelle des Primay CA Class 3 Generation 5
ELV Root-Zertifikates an, fuer dessen Signatur die Mozilla Corp. ihr Geld
vermutlich ausgegeben hat.
Verisign hat mit dem Private Key der CA einfach zwei Zertifikate
erzeugt: ein ordentliches Selbstsigniertes Root-CA Zertifikat (das
sie u.A. auf ihrer Webseite veroeffentlichen und das z.B. Microsoft
in den Windows 2008/7 CA Store fest eingebaut hat), geben dem
Serverbetreiber jedoch nur ein von ihrer alten CA signiertes
Intermediate-CA Zertifikat mit, das schlicht nur den selben Subject
und Private key hat (daher fuer einen SSL-defekten Browser wie
Firefoz im Trust nicht unterscheidbar ist). Sogar die Serialnumber ist
unterschiedlich (daher einfach als Verfaelschung zu entlarven)
Das stellt also schoen anschaulich einen Private-Key-Misbrauchs als
Angriff dar: was passiert, wenn jemand im Besitz des Key eines Root-CA
Zertifikates ist und mit diesem einfach ein anderes, gleichnamiges CA
Zertifikat erstellt und zum Signieren von Serverzertifikaten
verwendet. (in diesem Fall: Verisign). Ok, der Angriff waere der
umgekehrte fall - also man nimmt ein Intermediate-CA zertifikat mit
eingebauten CRL-Infos (critical extentions) und bastlet sich mit
dessen Key ein gleichnamiges self-signed CA zertifikat (ohne
CRL-Infos) mit dem man dann selbst beliebig Serverzertifikate
ausstellt (alle ohne CRL-Info) beim Server dann immer nur das
originale Intermediate mitschickt, damit Verifikatoren die der Wurzel
des Intermediate Zertifikats vertrauen getaeuscht werden.
Gruende dafuer duerften einfach Geschaeftsmodelle und SSL-Verifikatoren
sein, die das neuere 5. Generation Class-3 CA zerfikat schlicht nicht
als trusted Root kennen, dafuer aber dem alten Root-CA zertifikat von
Verislime von 1996 voll vertrauen. KAnn ja nicht sein, dass ein
aelterer Browser so ein teures Zertifikat mit "Kenn ich nicht!!!1elf"
anmeckert, da muss m an den Trick mit der Intermediate-CA und
Quersignatur der alten, unsicheren, CRL-Losen CA machen, die schon
fuer dahergelaufene SChadcodeschreiber "*.microsoft.com" Code-signing
Zertifikate ausgestellt hat.
MIt einem ELV Root, dem kaum jemand vertraut, kann auch Verisign kein
Geld verdienen. Darum wird dieser Trick angewendet.
Das damit jede Sicherheit, die ELV bieten soll, praktisch ausgehebelt
wird, verschweigt man den Idioten, die Geld dafuer zahlen einfach.
PKI ist so kompliziert, das versteht kaum jemand, schon gar keine
Zahlenden Kunden, die von glanezenden Logos geblendet werden.
Nichts als Augenwischerei. Hauptsache Idioten wie Mozilla zahlen
fleissig und bauen ihre Software mit entsprechend dysfunktionalen und
intransparenten Verifikationsroutinen (Firefox), so dass der Anwender
ebenso wie der Kunde von diesen CAs konstant geblendet wird.
Gefuehlte Sicherheit solcher "ELV Root-CA Certs": Rosakuschelweich
Reale Sicherheit: Nicht einen Deut besser als ein DigiNotar Zertifikat.
Jede Verifikation ueber eine Kette einer CA, die solchen fahrlaessigen
Schindluder mit den Private Keys ihrer ach so sicheren ELV-Class3
Root-CA Zertifikaten treibt (einfach mal munter quersignieren, faellt
ja niemandem auf - wer verwendet auch schon OpenSSL ohne
Verifikations-einschraenkende Optionen [aka: wget]), ist nicht mehr
nur scheinheilig oder fahrlaessig, es ist schlicht Ueberfluessig.
Wget verweigert das Vertrauen zu recht, denn der Mozilla-Server
praesentiert dir nicht das Trusted Root CA Zertifikat der Klasse 3 ELV
Zertifizeirungsstelle der 5. GEneration, sondern ein mit dessen
Private Key und unter falschen Angaben (verisign hat hier einfach ein
nicht-ELV Intermediate CA zertifikat mit ihrer alten CA signiert,
den Subject name aber identisch gelassen um alte Software zu teuschen)
das wget's OpenSSL impmementierung anhand des Mismatches als
Faelschung (genauer: ein anderes CA Zertiifkat als das, dem du
vertrauen ausgesprochen hast).
Wenn du jedoch keine Lust auf Sicherheit hast und lieber Funktion und
Bequemlichkeit haben willst, dann schalte in wget einfach die
Verifikationsfunktoinen ab, die auch Firefox nicht bietet, und
vertraue einfach allen Stammzertifikaten von Verisign (inkl. dem
alten) aber hinterlege keine ELV-Stammzertifikate, damit wget
statdessen den Intermediate-CA "faelschungen" vertraut, die Mozilla
Server mitschicken.
PS: Dann klappt das auch wieder mit Online-Banking bei den Banken, die
ELV signierte Verislime-Zertifikate kaufen ueber Software oder
Browser, die pedantisch solche Quer-Signierten Root-CA Zertifikate
korrekt als Faelschungen anmeckern.
SSL/TLS ist in der gelebten marktwirtschaftlichen Praxis komerzieller
PKI dank der zwangsweise gewinnorientiert arbeitenden Zertifizierungsstellen
ganz einfach fuer den Arsch.
Finanzielle Huerden fuer einen Angreifer gegen komerzielle Root-CAs derzeit:
0,00 $US fuer ein gueltiges, signiertes Intermediate-CA einer in >99%
aller Implenetierungen vollvertrauten CA
150 $US fuer einen tragbaren Computer mit dem man damit gefaelschte
Zertgifikate ausstellt
0,99 $US fuer einen gehosteten Server auf dem man dann "onlinebanking.$BANK.com"
fuer ein paar Tage spielst.
Ein paar Bruchteile einer BitCoin Mietgebuehr fuer das Sapm-Botnetz,
mit denen du die Phishing-mails ruasjagst mit der du Kunden der Bank
auf deinen Server leitest (oder $).
? $US fuer ein FAX-Geraet (leihweise fuer einen Tag).
Ein paar $US fuer Einweg-Kreditkarte mit der man sich obiges kauft.
Wieviel die Kontokette der Banken diverser Geldwaeschestaaten kostet,
kann ich dir mangels Detailwissen nicht sagen - da kenne ich die
Konditionen mangels Erfahrung nicht.
Juergen
--
Juergen P. Meier - "This World is about to be Destroyed!"
end
If you think technology can solve your problems you don't understand
technology and you don't understand your problems. (Bruce Schneier)