QWAC-Zertifikate
QWAC steht für "Qualified Website Authentication Certificate" und soll "noch sicherer" Zertifikate bereitstellen. Die Initiative hat sogar ein eigenes schickes Icon.
Aber ist das schon genug um einen Standard zu erklären und die Browser der Welt zu überzeugen ?
Zertifikate sind wichtig
Die Aufgabe eines Zertifikats auf einem Server sind klar vorgegeben:
- Verifizierung der Gegenstelle
Ein Client erhält nach der Verbindung und im Rahmen des TLS-Handshakes das Zertifikat des Servers. Der Client kann den Namen, Aussteller, den Gültigkeitszeitraum und optional auch die CRL und den Fingerabdruck prüfen und damit sicher sein, dass er tatsächlich den gewünschten Server erreicht hat. Das schützt ihn davor, Daten an eine falsche Gegenstelle oder einen Man in the Middle zu senden. - Verschlüsselung
Über den öffentlichen Schlüssel im ausgeleiferten Zertifikat können Server und Client ein Geheimnis austauschen, um die danach übertragenen Daten zu verschlüsseln. Damit werden "Mitleser" ausgesperrt und Veränderungen unterbunden.
Das alles funktioniert natürlich nur, wenn der Client dem Zertifikat vertraut und dieses nicht "gefälscht" ist. Damit kommen wir zur Frage, woher Zertifikate kommen und wie der "Trust" hergestellt wird.
Level der Verifikation (DV, OV, EV, QWAC)
Aussteller eines Zertifikat ist in der Regel eine Zertifizierungsstelle (Certificate Authority) und diese Stelle sollte natürlich sicherstellen, dass hier kein Fehler passiert. Eine Zertifizierungsstelle muss also sicherstellen, dass die Anfrage von der richtigen Person kommt. Dazu gibt es mehrere Abstufungen.
Klasse | Beschreibung | Kosten |
---|---|---|
Domain Validated (DV) |
Diese sehr einfache Verfahren stellt einfach nur sicher, dass die DNS-Domain korrekt ist. In der Regel prüft dies die PKI durch einen vom Administrator anzulegenden DNS-Eintrag oder eine Mail mit Link an den Admin-C dieser Domain. Im Zertifikat steht dann auch nur der DNS-Name drin. Das ist aber günstig und schnell und auch Let's Encrypt nutzt diesen einfachen Weg. |
0-$ |
Organisation Validation (OV) |
Wenn Sie im Zertifikat auch ihre "Organisation" hinterlegen wollen, dann muss die PKI natürlich sicherstellen, dass Sie zu der Organisation gehören und legitimiert sind. Es ist also etwas mehr Aufwand, den sich die PKi's auch bezahlen lassen. Die Ausstellung kann zumindest beim ersten Antrag auch etwas länger dauern, z.B. Handelsregisterauszüge o.ä. Allerdings schaut sich in der Regel kein Anwender im Browser das Zertifikat an und der Mehrwert ist fragliche |
$$ |
Extended Validation (EV) |
Die EV-Zertifikate wurden früher immer mit "besonders sicher" beworben und lange wurden Anwender auch darauf hingewiesen, dass nur eine "grüne Adresszeile" im Browser wirklich sicher ist (hier ein sehr altes Bild)
Die jüngeren Nutzer kennen diese Form der Anzeige gar nicht mehr, weil die Browserhersteller die Funktion nach und nach entfernt haben. Den die Verbindung ist damit nicht wirklich sicherer. Es wird nur bestätigt, dass die ausstellende PKI die Identität der anfragenden Stelle genauer geprüft hat, z.B. über Handelsregister, Steuernummer o.ä. Es muss also schon eine Firma existieren aber es ist keine Aussage zur Qualität des Inhalts. Angreifer könnten sogar gezielt eine ähnliche klingende Domain mit einem Firmennamen und EV-Zertifikaten ausstatten und auf Beutezug per Phishing gehen. Google hat die Kennzeichnung daher in Chrome 69 (Sep 2018) entfernt und die Anzeige der Firma aus dem Zertifikat in der Version 77 im Jahr 2019 abgeschaltet. Firefox hat im Okt 2019 nachgezogen
|
$$$ |
Qualified Website Authentication Certificate (QWAC) |
Im Jahr 2021 aber versuchen die PKIs erneut einen etwas anderen Ansatz, um die "verbesserte" Prüfung von ausgestellten Zertifikaten auf dem Client sichtbar zu machen. Der Wunsch ist es, dass die Browser beim Zugriff auf eine Webseite auch bei einer Zertifizierungsstelle nachfragen und dann den "besseren Status" entsprechend anzeigen. Die PKIs müssten dazu natürlich die Infrastruktur bereitstellen. Ob das dann sicherer ist, die Kunden wertschätzen und den ganzen Aufwand wert ist, steht auf einem anderen Blatt. Solche Zertifikate werden sicher preislich am oberen Ende zu finden sein, während "Let's Encrypt" die gegensätzliche Strategie fährt. |
$$$ |
SAN-Zertifikate sind übrigens auch nur normale Zertifikat. Aber je nach Verifizierung steigt der Aufwand natürlich mit jedem weiteren Namen. Wenn Sie sehr viele Zertifikate benötigen, dann bieten die meisten PKIs auch eine Verwaltungskonsole bzw. API an, damit Sie selbst Zertifikate für hinterlegte Domänen, Organisationen oder Personen (Speziell SMIME) ausstellen können. Dann geht das nach der ersten Identifizierung deutlich schneller aber kaum günstiger.
Client-Support
Damit die "Besonderheit" der QWAC-Zertifikate genutzt werden kann, müssten natürlich die Browser die Zertifikate auch entsprechend honorieren. Der Browser müsste sich zur Prüfstelle verbinden, das Zertifikat verifizieren lassen und dann dem Anwender den Erfolg oder Misserfolg auch so darstellen, dass er damit umgehen kann. Das Problem hier: PKI's schreiben keine Browser-Software und Google, Microsoft, Mozilla u.a. vertreten eine andere Meinung. Mozilla hat es ogar deutlich gemacht
- The EU’s Current Approach to QWACs (Qualified Website Authentication
Certificates) will Undermine Security on the Open Web
https://blog.mozilla.org/netpolicy/2020/10/08/the-eus-current-approach-to-qwacs-qualified-website-authentication-certificates-will-undermine-security-on-the-open-web/
Von Microsoft und Google bzw. dem Chromium-Projekt habe ich noch keine Statements gefunden aber sie haben alle damals schon die "grüne Adressleiste" abgeschaltet, da sie keinen Sicherheitsgewinn bietet sondern Besucher eine Malware-Seite sogar in trügerischer Sicherheit wiegen.
Daher wird es wohl darauf hinauslaufen, dass die Funktion zumindest anfangs über Plug-ins im Browser bereitgestellt wird. Die muss dann ein Anwender aber für den jeweiligen Browser und auf dem passenden Betriebssystem erst einmal installieren
QWACs Plug-in - ENISA
https://www.enisa.europa.eu/publications/qwacs-Plugin/at_download/fullReport
Risiken
Auch Plugins haben nicht den besten Ruf, denn Sie laufen ja unter dem Account des Anwender und sehen quasi alles, was durch den Browser geht und können die Inhalte sogar modifizieren. Sie sollten schon genau hinschauen, welche Plug-ins Sie installieren.
Aber selbst wenn das Plug-in fehlerfrei arbeitet, muss es für jeden neuen Zugriff auf eine Webseite mit einem QWAC-Zertifikat eine Verbindung zur ausstellenden PKI aufnehmen und den Status abfragen. Technisch ist das ein HTTPS-Request, der den Seitenaufbau verzögert aber vor allem der PKI die jede Menge Informationen übermittelt. Der Service bekommt neben dem Zeitpunkt und ihrer IP-Adresse auch das zu prüfende Zertifikat samt dem DNS-Namen mit.
Würden alle Browser QWAC nutzen und die häufig genutzten Seiten (Facebook, Twitter, YouTube u.a.) ein QWAC-Zertifikat einsetzen, ist sehr schnell ein Profil ihrer "Surftätigkeit" möglich. Dazu müssen Sie dann nicht einmal ihr "Cookie Einverständnis" geben. Scott Helme hat dazu einen sehr ausführlichen Artikel geschrieben:
- If it looks like a duck, swims like a duck, and QWACs like a duck, then it's
probably an EV Certificate
https://scotthelme.co.uk/ooks-like-a-duck-swims-like-a-duck-qwacs-like-a-duck-probably-an-ev-certifiacate/
Natürlich vertreten die Verkäufer von QWAC-Zertifikaten eine andere Meinung
- Do I need a Qualified Website Authentication Certificate (QWAC)?
https://support.globalsign.com/qualified-certificates/do-i-need-qualified-website-authentication-certificate-qwac
Wobei all diese Schutzfunktionen problemlos auch mit "billigen" Domain-validated (DV)-Zertifikaten möglich sind. Es gibt durchaus andere Optionen, um die Gültigkeit eines Zertifikats auch dezentral zu überprüfen. Dazu würden sich gesicherte DNS-Anfragen (DNSSEC) in Verbindung mit in der DNS-Zone hinterlegte Fingerprints (DANE/TLSA) aus meiner Sicht viel besser eignen.
All diese zusätzlichen Maßnahmen sind aber kein Schutz gegen ähnlich klingende Domänen, auf denen unvorsichtige Anwender doch wieder in die Falle tappen.
Vertrauen verspielt?
Ich bin dann mal auf die Suche gegangen, wer schon ein QWAC-Zertifikat einsetzt. Der erste Treffer meiner Suchergebnisse nach den ganzen Anzeigen von Zertifikatsverkäufern war ausgerechnet der GAU einer PKI. GlobalSign hat bei der Ausstellung eines QWAC-Zertifikats geschlampt und dies wurde bei Mozilla behandelt. HTTPS basiert auf dem System der vertrauenswürdigen RootCAs und wenn diese schlampen, ist die Höchststrafe der Entzug des Vertrauens durch die Browser.
- Distrusting New WoSign and StartCom
Certificates
https://blog.mozilla.org/security/2016/10/24/distrusting-new-wosign-and-startcom-certificates/ - GlobalSign: Misissuance of QWAC
Certificates
https://bugzilla.mozilla.org/show_bug.cgi?id=1623356 - Censys: local.mvf.org.uk
https://crt.sh/?id=2573480105
https://search.censys.io/certificates/4597b3e139979eee5a8b4455db648684453140ea5014f54a8a7b0338b87b0dbb
Banken, PSD2 und QWAC
Das kann aber auch damit zusammenhängen, dass QWAC-Zertifikate erst einmal für PSD2-Services erforderlich sind. Meine letzten Projekte im Zahlungsverkehr der Banken und Sparkassen liegen schon etwas zurück, so dass ich hier keine Beispiele geben kann. Aber ich gehe ganz stark davon aus, dass die Banken miteinander mittlerweile auch per HTTPS und Webservices über das Internet kommunizieren.
Hier macht es dann natürlich sinn, dass sich die Gegenstelle mit einem qualifizierten Zertifikat melde aber auch der Clientprozess seinerseits mit einem Zertifikat die Verbindung absichert. Quasi eine "Mutual TLS"-Verbindung zwischen zwei Kommunikationspartner, die beide ein QWAC-Zertifikat nutzen. In die Richtung geht auch ein Artikel bei der Bundesdruckerei, die ebenfalls entsprechende Zertifikate ausstelle:
Um als Drittanbieter Zugang zu Bankkonten zu erhalten, müssen sich Unternehmen
beim automatisierten Zugriff mit einem oder mehreren Zertifikaten
identifizieren. Auch Banken weisen sich mittels Zertifikat gegenüber den
zugreifenden Zahlungsdienstleistern aus. Das Zertifikat gilt als
„Unternehmensausweis“ im elektronischen Geschäftsverkehr. Der Artikel 34 der RTS
(EU 2018/389) schreibt die Verwendung von qualifizierten Website-Zertifikaten
(QWACs) oder qualifizierten Zertifikaten für elektronische Siegel (QSiegel) vor.
Quelle:
https://www.bundesdruckerei.de/de/Service-Support/Service/Zertifikate-fuer-PSD2
Hierbei geht es dann aber nicht um die Kommunikation eines Endanwenders mit einem Browser und einem Webserver der Bank, sondern die Kommunikation zwischen Systemen von zwei Banken. Es gibt natürlich immer noch das SWIFT-System zur Übermittlung von Zahlungen aber darüber ist kein Zugriff auf Konten möglich.
Es gibt ja Dienstleister, die Netzwerksicherheit verkaufen und in dem Zuge das Internet nach Webservern und Zertifikaten absuchen. Hier lässt sich sehr einfach nach Banken und anderen Namen im Zertifikat suchen. Ich habe mal die Heimatsparkasse meiner Eltern genutzt und habe neben einigen "EV"-Zertifikaten auch ein direkt ein "QuoVadis Qualified Web ICA G2" gefunden:
https://search.censys.io/certificates?q=sparkasse-suedpfalz.de
Der "Webservice" für die psd2-Zugriffe zwischen Banken ist hier gut zu erkennen. Da spricht ja dann auch nichts dagegen, mal dem Zertifikat auf die Finger zu schauen. Interessanterweise löst der Name nicht per DNS auf:
C:\>nslookup psd2-xs2a.sparkasse-suedpfalz.de. 8.8.8.8 Server: dns.google Address: 8.8.8.8 *** psd2-xs2a.sparkasse-suedpfalz.de. wurde von dns.google nicht gefunden: Non-existent domain.
Vermutlich haben die Banken schon ihre "Lookup"-Tabellen. Aber der Service muss zumindest per IP-Scan bei der Firma censys.io aufgefallen sein, denn eine TLS-Verbindung muss ja wohl geklappt haben:
Auszug aus https://search.censys.io/certificates/4592d306c8c064a1dfd8fa8dcb86d50c2332b7165f73c09daa65850fc48ea6b1/openssl Certificate: Data: Version: 3 (0x2) Serial Number: 0d:b6:7d:0b:74:a4:bb:ee:47:39:b2:2e:d7:75:f0:86:01:b9:38:c2 Signature Algorithm: sha256WithRSAEncryption Issuer: commonName = UTF8STRING:QuoVadis Qualified Web ICA G2 organizationName = UTF8STRING:QuoVadis Trustlink B.V. countryName = PRINTABLESTRING:NL Validity Not Before: Nov 9 14:03:27 2021 GMT Not After : Nov 9 14:12:00 2022 GMT Subject: commonName = UTF8STRING:psd2-xs2a.sparkasse-suedpfalz.de organizationName = UTF8STRING:Sparkasse S\C3\BCdpfalz 2.5.4.97 = UTF8STRING:PSDDE-BAFIN-101000 localityName = UTF8STRING:Landau in der Pfalz stateOrProvinceName = UTF8STRING:Rheinland-Pfalz countryName = PRINTABLESTRING:DE serialNumber = PRINTABLESTRING:HRA 2321 businessCategory = UTF8STRING:Private Organization jurisdictionLocalityName = UTF8STRING:Landau jurisdictionStateOrProvinceName = UTF8STRING:Rheinland-Pfalz jurisdictionCountryName = PRINTABLESTRING:DE Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (2048 bit) Modulus: xxxxxxxxxxx Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Authority Key Identifier: keyid:BC:EB:5E:FB:D8:0D:E8:82:AE:86:46:BD:3B:7C:B2:6F:D1:2C:7F:0A Authority Information Access: CA Issuers - URI:http://trust.quovadisglobal.com/quovadisqualifiedwebicag2.crt OCSP - URI:http://ocsp.quovadisglobal.com X509v3 Subject Alternative Name: DNS:psd2-xs2a.sparkasse-suedpfalz.de X509v3 Certificate Policies: Policy: 0.4.0.194112.1.4 Policy: 0.4.0.19495.3.1 Policy: 1.3.6.1.4.1.8024.0.2.100.1.2 Policy: 1.3.6.1.4.1.8024.1.450 CPS: https://www.quovadisglobal.com/repository Policy: 2.23.140.1.1 X509v3 Extended Key Usage: TLS Web Client Authentication, TLS Web Server Authentication qcStatements: xxxxxxx.010/.)https://www.quovadisglobal.com/repository..en0e..xxx xxxx ...PSP_AI.'Federal Financial Supervisory Authority..DE-BAFIN 2.23.140.3.1: 0...PSD..DE..BAFIN-101000 X509v3 CRL Distribution Points: Full Name: URI:http://crl.quovadisglobal.com/quovadisqualifiedwebicag2.crl X509v3 Subject Key Identifier: 92:75:DB:63:5D:26:09:23:47:76:87:B4:CB:D9:00:2C:A9:40:FC:5E X509v3 Key Usage: critical Digital Signature, Key Encipherment CT Precertificate Poison: critical NULL
Wenn ich es nun drauf anlegen würde, könnte ich versuchen das Subnetz der Sparkasse zu ermitteln und per IP/Portscan den Server vermutlich auch ohne DNS-Auflösung finden.
Einschätzung
Meine Kollegen von NoSpamProxy haben mich auf das Thema QWAC aufmerksam gemacht. Sie sind beim Thema Zertifikate immer aufmerksam, wenn es neue Entwicklungen oder mögliche Standards gibt. Aber natürlich gibt es auch einig Irrwege, die nur auf den ersten Blick interessant aussehen aber bei einer genaueren Betrachtung mehr Nachteile als Vorteile haben.
Dass im Finanzsektor die Verbindung zwischen Banken per HTTPS erfolgt, überrascht mich nicht und dass dabei Zertifikate und keine proprietäre Verschlüsslungen eingesetzt werden, ist eher ein Vorteil. "Security by Obscurity" hat noch nie funktioniert und psd2-Hosts lassen sich mit Diensten wie https://search.censys.io/ oder Shodan schnell finden. Dennoch kann so eine Verbindung sicher sein, wenn beide Seiten das Zertifikat genau prüfen. Dazu kann die QWAC-Extension nützlich sein, wenn die PKIs nicht schludern.
Für Privatanwender oder öffentliche Webseiten kann ich aber schon für die EV-Zertifikate keinen Vorteil sehen und für die QWAC-Zertifikate schon erst recht nicht. Anwender müssen immer darauf achten, auf welcher Webseite sie sind und in welches Formular sie gerade ihre Anmeldedaten o.ä. eintragen. Die Browser sorgen mittlerweile schon dafür, dass HTTPS zum neuen Standard wird und Webseiten ohne Verschlüsselung abgestraft werden. Einfache DV-Zertifikate gibt es auch per Let's Encrypt oder sind in ihrem Hostingpaket zum Teil enthalten.
Im Grunde sind QWAC-Zertifikate aber nichts anderes als
EV-Zertifikate mit einem weiteren Property, welches aktuell
wohl nur PSD2-Services auswerten.
Wenn Sie eine andere Einschätzung haben, dann schreiben Sie
mir oder bloggen Sie darüber.
Weitere Links
- Die Aufgaben einer Zertifizierungsstelle (Certificate Authority)
- Let's Encrypt
- Qualified Website Authentication Certificate
https://en.wikipedia.org/iki/Qualified_website_authentication_certificate - Qualified Website Authentication Certificates (QWACs)
https://www.sslplus.de/produkte/ssl-zertifikate/anwendungsbereiche/qwacs.html - If it looks like a duck, swims like a duck, and QWACs like a
duck, then it's probably an EV Certificate
https://scotthelme.co.uk/looks-like-a-duck-swims-like-a-duck-qwacs-like-a-duck-probably-an-ev-certifiacate/ - EV UI Moving to Page Info
https://chromium.googlesource.com/chromium/src/+/HEAD/docs/security/ev-to-page-info.md - Improved Security and Privacy Indicators in Firefox 70
https://blog.mozilla.org/security/2019/10/15/improved-security-and-privacy-indicators-in-firefox-70/ - Why the SSL Green Bar No Longer Exists
https://www.namecheap.com/blog/ssl-green-bar-disappearance/ - Webseite zum Suchen nach Hosts und Zertifikaten
https://search.censys.io/