Fragen? Antworten! Siehe auch: Alternativlos
MCS Holdings hat dann mit dem Zertifikat ein paar gültige Zertifikate für ein paar Google-Domains erstellt. Das ist aufgeflogen, weil Chrome und Firefox inzwischen Certificate Pinning betreiben, d.h. die haben hart einprogrammiert: Wenn für diese Domain (die Liste umfasst eine handvoll "wichtige Domains" wie halt u.a. die von Google) irgendwo ein falsches Zertifikat auftaucht, dann telefonieren die nach Hause und petzen. Und so konnte Google das sehen und hat dann CNNIC zur Rede gestellt. Und die haben gesagt:
they had contracted with MCS Holdings on the basis that MCS would only issue certificates for domains that they had registered.
Klar haben wir diesem Kind eine geladene Schusswaffe verkauft, Euer Ehren! Aber wir haben ihm ganz deutlich gesagt, dass es damit keinen Scheiß machen darf!1!!Diese Art von Versagen ist übrigens kein Alleinstellungsmerkmal der Chinesen.
Auf der einen Seite ist es natürlich schön, dass sowas heutzutage auffliegt. Certificate Pinning ist keine doofe Idee. Microsoft macht das auch, und die eine oder andere ranzige App tut das inzwischen auch. Damit hat so eine App dann einen handfesten Vorteil gegenüber dem Webbrowser, außer es handelt sich um eine Google-Domain oder so.
Aber, der Punkt, über den ihr an der Stelle mal nachdenken solltet: Was ist denn, wenn CNNIC/MCS nicht für eine Google-Domain so ein Zertifikat ausgestellt hätte, sondern für banking.postbank.de oder so? Das würde doch keine Sau merken! Euer Browser würde jedenfalls nicht meckern. Dabei wäre das eigentlich kein Ding, allgemeines Certificate Pinning zu implementieren. Ich hab sowas 2009 schon mal vorgeschlagen. Aber auf mich hört ja immer keiner, und dann sind danach alle ganz furchtbar betroffen, wie es soweit kommen konnte. Wobei, es gibt inzwischen Browser-Addons, die sowas machen (googelt mal Certificate Patrol). Immerhin. Aber eigentlich will man das im Browser selbst implementiert haben, finde ich.
Update: Es gibt da übrigens ein allgemeines Certificate Pinning, aber da muss die Webseite aktiv mitmachen und (in meinen Augen sinnlos) redundante Informationen im HTTP-Header übertragen.