Die Basisinfrastruktur, die dies ermöglichen würde, ist vorhanden und wird als DNS-basierte Authentifizierung von benannten Entitäten (DANE) bezeichnet und in RFC6698 angegeben . Es funktioniert mithilfe eines TLSA
Ressourceneintrags, der das Zertifikat oder seinen öffentlichen Schlüssel der Endentität oder einer seiner Zertifizierungsstellen in der Kette angibt.
Annahme
Eine breite Akzeptanz hat DANE jedoch noch nicht gesehen. VeriSign überwacht die Einführung von DNSSEC und DANE und verfolgt dessen Wachstum im Laufe der Zeit :
Zum Vergleich, laut VeriSign gibt es ungefähr 2,7 Millionen DNS-Zonen, was bedeutet, dass etwas mehr als 1% aller Zonen mindestens einen TLSA-Eintrag haben.
Ich kann keine verbindliche Antwort geben, warum DANE, aber hier sind meine Spekulationen:
DANE hat das gleiche Problem wie Certificate Revocation Lists (CRLs) und das Online Certificate Status Protocol (OCSP). Um die Gültigkeit eines vorgelegten Zertifikats zu überprüfen, muss ein Dritter kontaktiert werden. Hanno Böck gibt einen guten Überblick , warum dies in der Praxis ein großes Problem ist. Es läuft darauf hinaus, was zu tun ist, wenn Sie den Dritten nicht erreichen können. Browser-Anbieter entschieden sich in diesem Fall für Soft-Fail (auch als Erlaubnis bezeichnet), was das Ganze ziemlich sinnlos machte und Chrome schließlich entschied, OCSP im Jahr 2012 zu deaktivieren.
DNSSEC
Es ist anzunehmen, dass DNS eine viel bessere Verfügbarkeit bietet als die CRL- und OCSP-Server von Zertifizierungsstellen, aber dennoch eine Offline-Überprüfung unmöglich macht. Darüber hinaus sollte DANE nur in Verbindung mit DNSSEC verwendet werden. Da normales DNS über nicht authentifiziertes UDP betrieben wird, ist es sehr anfällig für Fälschungen, MITM-Angriffe usw. Die Einführung von DNSSEC ist viel besser als die Einführung von DANE, ist jedoch noch weit davon entfernt, allgegenwärtig zu sein.
Und mit DNSSEC stoßen wir erneut auf das Soft-Fail-Problem. Nach meinem besten Wissen bietet kein wichtiges Server- / Client-Betriebssystem standardmäßig einen validierenden DNSSEC-Resolver an.
Dann gibt es noch das Thema Widerruf. DNSSEC hat keinen Sperrmechanismus und stützt sich stattdessen auf kurzlebige Schlüssel.
Software-Unterstützung
Alle teilnehmenden Softwareprogramme müssen DANE-Unterstützung implementieren.
Theoretisch könnte man meinen, dass Kryptobibliotheken und Anwendungsentwickler nicht viel dafür tun müssten. Fakt ist jedoch, dass kryptografische Bibliotheken in der Regel nur Grundelemente bereitstellen und Anwendungen viel selbst konfigurieren und einrichten müssen (und es gibt leider viele Möglichkeiten, die Dinge falsch zu machen).
Mir ist nicht bekannt, dass ein wichtiger Webserver (z. B. Apache oder Nginx) beispielsweise DANE implementiert hat oder plant, dies zu tun. Webserver sind hier von besonderer Bedeutung, da immer mehr Dinge auf Webtechnologien aufbauen und daher häufig die ersten sind, bei denen Dinge implementiert werden.
Wenn wir CRL, OCSP und OCSP-Heftung als Vergleich betrachten, können wir möglicherweise ableiten, wie die DANE-Adoptionsgeschichte verlaufen wird. Nur einige der Anwendungen, die OpenSSL, libnss, GnuTLS usw. verwenden, unterstützen diese Funktionen. Es hat eine Weile gedauert, bis wichtige Software wie Apache oder Nginx sie unterstützten. Wenn man sich erneut auf Hanno Böck bezieht, ist das falsch und die Implementierung fehlerhaft. Andere große Softwareprojekte wie Postfix oder Dovecot unterstützen OCSP nichtund haben eine sehr eingeschränkte CRL-Funktionalität, die im Grunde genommen auf eine Datei im Dateisystem verweist (was nicht unbedingt regelmäßig neu gelesen werden muss, sodass Sie Ihren Server manuell neu laden müssten usw.). Beachten Sie, dass dies Projekte sind, die häufig TLS verwenden. Dann können Sie sich Dinge ansehen, bei denen TLS weitaus seltener vorkommt, wie beispielsweise PostgreSQL / MySQL, und vielleicht bestenfalls CRLs anbieten.
Ich habe es also nicht einmal auf modernen Webservern implementiert, und die meisten anderen Programme haben noch nicht einmal die Möglichkeit, OCSP und CRL zu implementieren. Viel Glück mit Ihrer 5-jährigen Unternehmensanwendung oder Appliance.
Anwendungsmöglichkeiten
Also, wo könnten Sie DANE wirklich benutzen? Ab sofort nicht im allgemeinen Internet. Wenn Sie den Server und den Client steuern, ist dies möglicherweise eine Option. In diesem Fall können Sie jedoch häufig auf das Pinning mit öffentlichen Schlüsseln zurückgreifen.
Im E-Mail-Bereich erhält DANE eine gewisse Zugkraft, da SMTP die längste Zeit über keine authentifizierte Transportverschlüsselung verfügte. SMTP-Server haben manchmal untereinander TLS verwendet, haben jedoch nicht überprüft, ob die Namen in den Zertifikaten tatsächlich übereinstimmen. Sie beginnen nun, dies über DANE zu überprüfen.