DoH-Standard: DNS über HTTPS ist besser als sein Ruf

Die Diskussionen zum Standard DNS over HTTPS (DoH) ähneln mittlerweile einer Propagandaschlacht. Häufig basiert die Kritik jedoch auf Unkenntnis und Falschinformationen. Wir stellen richtig.

Artikel von veröffentlicht am
Wir entwirren die Missverständnisse über DoH.
Wir entwirren die Missverständnisse über DoH. (Bild: Michael Bocchieri/Getty Images)

Um das von der Internet Engineering Task Force (IETF) standardisierte Protokoll DNS over HTTPS ist ein öffentlicher Streit entbrannt, der weit über eine sachliche Auseinandersetzung hinausgeht. Jüngste Beispiele sind etwa von Medien verbreitete Falschmeldungen zu DoH und die später zurückgenommen Nominierung des Browserherstellers Mozilla als "Internetschurken". Oft basieren solche Äußerungen auf Unkenntnis. Wir haben uns die am häufigsten vorgetragenen Kritikpunkte an DoH genauer angeschaut.

Inhalt:
  1. DoH-Standard: DNS über HTTPS ist besser als sein Ruf
  2. Was verschlüsseltes DNS bringt
  3. DNS für den Client

Die wohl wichtigsten betreffen die Funktionsweise von DoH selbst. Hier wird oft behauptet, dass DoH nichts mehr mit dem DNS-Protokoll gemein habe und viel komplexer sei als das inzwischen mehr als 30 Jahre alte Original. Das stimmt so jedoch nicht, was ein Blick in den Standard (RFC 8484) schnell zeigt.

Dort wird ganz klar festgelegt, dass der Standard - wie der Name sagt - DNS-Anfragen und -Antworten nach dem Originalstandard (RFC 1035) per HTTPS überträgt. Die DNS-Information wird bei DoH schlicht per HTTP getunnelt und nicht wie bisher üblich über UDP (User Datagram Protocol) transportiert. Diese neue Art Transportweg für das sogenannte Wireformat können auch bestehende DNS-Clients oder Webanwendungen einfach weiterbenutzen.

Ein gängiges Missverständnis zu DoH ist in diesem Zusammenhang die Annahme, DoH würde nicht wie beschrieben das DNS-Format benutzen, sondern JSON. Dabei handelt es sich wohl um eine Verwechslung - Google bietet solch einen Dienst an. Standardisiert ist das JSON-API für DNS aber nicht und auch Google trennt dieses Angebot klar von dem ebenfalls bestehenden DoH-Endpunkt.

Bekanntes wiederverwenden

Da DoH direkt auf dem alten DNS-Format aufbaut, wird auch klar, warum das Protokoll - anders als oft behauptet - nicht sehr viel mehr Komplexität bedeutet. Denn zusätzlich zu dem bisherigen DNS werden auch die seit Jahrzehnten bekannten und erprobten Protokolle HTTP zur Übertragung und TLS zur Verschlüsselung wiederverwendet.

Fast jede Programmiersprache bietet die Verwendung dieser Protokolle inzwischen standardmäßig als Teil ihrer Bibliotheken an. Und falls dies nicht der Fall sein sollte, gibt es für Entwickler immer noch das Multifunktionswerkzeug zur Dateiübertragung Curl. Die gesamte DoH-Implementierung in Curl umfasst inklusive Dokumentation und Tests lediglich 1.500 Zeilen Code. Auch die DoH-Implementierung der für die Android- und Java-Entwicklung vielgenutzten Bibliothek OkHTTP ist ähnlich klein.

Ein Standalone-Client zur Namensauflösung, der auf dem Curl-Code basiert und die DNS-Records selbst parst, umfasst ebenfalls weniger als 1.000 Zeilen Code. Bestehende Anwendungen, die den Umgang mit den DNS-Angaben beherrschen, müssen zur DoH-Unterstützung also eigentlich nur den genutzten Transportweg ändern.

Natürlich lässt sich hier einwenden, dass DoH-Implementierungen etwa in Browsern noch deutlich mehr Funktionen bieten und damit auch deutlich mehr Code umfassen. Anwendungen, die aber mit dem alten Protokoll DNS-Informationen selbst verarbeiten, cachen, weiterleiten oder Nutzern Möglichkeiten zur Konfiguration bieten, sind auch schon jetzt logischerweise größer als eine Minimalimplementierung von DNS. Derartige Zusatzfunktionen dem DoH-Protokoll anzulasten, ist nicht sinnvoll.

Darüber hinaus gibt es durch die Abkehr von DNS über UDP und die Zuwendung zu DoH sehr viele Vorteile, die das DNS-System dank HTTP einfach dazugewinnt: Dazu gehören etwa ein Proxy-Support oder auch das Multiplexing und der Server-Push von HTTP2. Der an der DoH-Standardisierung beteiligten Patrick McManus zählt einige weitere Vorteile in diesem Bereich auf.

Der dabei wohl wichtigste Punkt von McManus ist, dass mit HTTP/3, das auf dem kommenden Quic-Protokoll basiert, auch DoH schlicht auf Quic wechseln kann. Um all diese Eigenschaften auch mit dem bestehenden DNS-System umzusetzen, müsste ebenso sehr viel mehr Code erstellt werden als bisher.

Neben diesen Fragen zu den technischen Eigenheiten des Protokolls selbst gibt es auch unzureichend durchdachte Kritik an der Idee und Umsetzung von DoH.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
Was verschlüsseltes DNS bringt 
  1. 1
  2. 2
  3. 3
  4.  


treysis 22. Jul 2019

Nein. Eigenes Protokoll zur Namensauflösung über HTTPS.

gaym0r 22. Jul 2019

Dann installier halt einen? https://github.com/jedisct1/dnscrypt-proxy

gaym0r 22. Jul 2019

Warum sollte das nicht erfolgreich sein? Es gibt ja einen externen DNS-Eintrag für die...

Leseratte10 21. Jul 2019

Also "0.0.0.0 golem.de/ads" in der /etc/hosts wird 100% garantiert nicht funktionieren...



Aktuell auf der Startseite von Golem.de
5.000 Fahrzeuge pro Woche
Tesla steigert Giga-Berlin-Produktion und lockt mit Rabatten

Tesla hat Ende März 2023 einen wöchentlichen Ausstoß von 5.000 Fahrzeugen erreicht. Derweil sollen Sonderrabatte Kunden locken.

5.000 Fahrzeuge pro Woche: Tesla steigert Giga-Berlin-Produktion und lockt mit Rabatten
Artikel
  1. Fused Deposition Modeling: Käsekuchen in 3D aus sieben Zutaten gedruckt
    Fused Deposition Modeling
    Käsekuchen in 3D aus sieben Zutaten gedruckt

    3D-Druck in der Küche: US-Forschern ist es nach mehreren erfolglosen Versuchen gelungen, ein Stück Käsekuchen auszudrucken.

  2. Verbrennerverbot: So kann die E-Fuels-Regelung noch scheitern
    Verbrennerverbot
    So kann die E-Fuels-Regelung noch scheitern

    Zwar haben sich Regierung und EU-Kommission auf ein Verfahren zur Zulassung von E-Fuel-Autos geeinigt. Doch dieses muss noch einige Hürden überwinden.

  3. Smart-Home-Anwendung: MQTT unter Java nutzen
    Smart-Home-Anwendung
    MQTT unter Java nutzen

    Wer Daten von Sensoren oder ähnlichen Quellen von A nach B senden möchte, kann das Protokoll MQTT verwenden, dank entsprechender Bibliotheken auch einfach unter Java.
    Eine Anleitung von Florian Bottke

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    • Daily Deals • MediaMarkt-Osterangebote • 3 Spiele kaufen, 2 zahlen • Cyberport Jubiläums-Deals • Alternate: Corsair Vengeance 32 GB DDR-6000 116,89€ u. 64 GB DDR-5600 165,89€ • MindStar: AMD Ryzen 7 5800X 209€ • MSI Optix 30" WFHD/200 Hz 289€ • WD_BLACK SN850 2 TB 189€ • NBB Black Weeks [Werbung]
    •  /