Public Key Pinning

Google hat angekündigt, dass sie Ende März 2018 Public Key Pinning nicht mehr unterstützen werden, da es jetzt bessere Alternativen gibt - zum Beispiel die Verwendung von Zertifikattransparenz in Kombination mit CAA-Datensätzen.

Was ist Public Key Pinning?

Public Key Pinning (PKP), auch bekannt als Certificate Pinning, ist ein 2011 von Google eingeführtes System, mit dem Website-Inhaber angeben können, welches Zertifikat oder Zertifikatherausgeber für die entsprechende Website vertrauenswürdig ist. Wenn PKP verwendet wird, wird ein öffentlicher Schlüssel-Pin durch den HTTP-Header der Website geleitet, dieser Pin verweist auf ein Zertifikat der Website selbst oder auf ein Stamm-/Zwischenzertifikat einer CA, die der Website bekannt ist. Als Ergebnis kann der Besitzer der Website angeben, dass nur ein bestimmtes Zertifikat für die Website vertrauenswürdig ist oder dass nur einem von einer bestimmten Zertifizierungsstelle ausgestellten Zertifikat vertraut werden kann. Die PKP befindet sich laut Netcraft Research noch in den Kinderschuhen, da es im Januar 2016 nur von 0,099% der aktiven Zertifikate verwendet wurde.

Vorteile von HPKP

Der Hauptvorteil ist die zusätzliche Sicherheit. Durch die direkte Verbindung zwischen einem Zertifikat und einem Hostnamen ist es für Angreifer wesentlich schwieriger, einen "Man In The Middle" Angriff durchzuführen. Ein gutes Beispiel in der Praxis ist der Diginotar-Hack, bei dem Dritte Zertifikate für * .google.com ausgestellt haben. Zum Zeitpunkt dieses Hacks hatte Google bereits eine Zertifikatspinning für die Google-Domains in seinem Chrome-Browser implementiert und gab Chrome-Nutzern eine Benachrichtigung, dass das für google.com verwendete Zertifikat nicht das richtige Zertifikat war.

Nachteile von HPKP

Ein möglicher Nachteil dieses Systems ist seine Strenge. Ein kleiner Fehler kann dazu führen, dass die Website für einige Zeit unerreichbar wird. Ein Beispiel: Für die Website abc.de wurde eine Pin erstellt, die angibt, dass Zertifikate für diese Domäne nur mit einem SHA1-Zwischenzertifikat von Comodo signiert werden können. Des weiteren wird angezeigt, dass die Pin für 60 Tage von einem Browser aufbewahrt werden muss. Wenn das Zertifikat jedoch erneuert wird, entscheidet der Administrator der Website, sofort zu einer SHA2-Variante des Zertifikats mit den zugehörigen SHA2-Zwischenzertifikaten zu wechseln. Der Administrator vergisst, den gesetzten Pin zu berücksichtigen und installiert das neue Zertifikat mit den entsprechenden SHA2-Zwischenzertifikaten. Ab diesem Zeitpunkt erhalten Browser ein Zertifikat, das nicht vom Zwischenzertifikat signiert wurde, das nicht im Pin enthalten ist, so dass die Website nicht angezeigt wird. Da die Browser sich diesen Pin 60 Tage lang merken, bleibt die Website solange unbenutzbar, bis der Pin abgelaufen ist.

SSLCheck

SSLCheck überprüft, ob Ihr Zertifikat ordnungsgemäß auf Ihrem Server installiert ist und ob es potenzielle Probleme gibt.