nik
Ehrenmitglied
- 10.860
Hier eine kleine Übersicht über die verschiedenen Methoden, den DNS-Verkehr abzusichern.
Augenmerk beim Erstellen wurde hier auf Android gelegt. Das heißt, es kann auch andere Vor- und Nachteile geben, die hier aber nicht zu sehr zum Tragen kommen und deshalb zugunsten der Übersichtlichkeit ausgelassen wurden
DNSSEC:
steht für Domain Name System Security Extensions, Das Ziel ist, Integrität (Antwort ist korrekt) und Authentizität (Antwort kommt auch wirklich vom Absender) sicherzustellen. Um dies zu erreichen, werden die Einträge mit einem geheimen Schlüssel signiert. Mit dem dazugehörigen öffentlichen Schlüssel kann überprüft werden, ob der übermittelte Eintrag korrekt ist.
Der Transportweg wird nicht verschlüsselt.
DNSSEC wird dazu verwendet, das ganze "DNS-Netz" abzusichern und beschränkt sich nicht nur auf die Client-Kommunikation.
Alle folgenden Protokolle können in Kombination mit DNSSEC verwendet werden.
DNScrypt:
Das älteste Protokoll der Aufzählung hier ist ein reines Community-Projekt. Der Vorteil, dass kein großes Unternehmen dahinter steht, ist gleichzeitig ein Nachteil: Es wurde bisher nicht standardisiert. Das führt unter anderem dazu, dass es trotz der langen Zeit noch ein Nieschendasein fristet.
Funktionsweise:
Client und Server tauschen die Schlüssel aus und verschlüsseln den Verkehr mit den selbst erstellten Schlüsseln.
Vorteile:
Nachteile:
Apps:
DNScrypt Poxy, DNS Manager (mit DNSCrypt)
DNS over HTTPS:
Die Technik, die schon beim Web-Protokoll zum verschlüsselten Abruf von Internetseiten genutzt wird, wird nun für DNS verwendet.
Funktionsweise:
Es wird eine verschlüsselte Verbindung zum Server aufgebaut, worüber die DNS-Daten im http-Format übertragen werden.
Vorteile:
Nachteil:
Apps:
Intra, DNScrypt Proxy
DNS over TLS:
Noch relativ neuer Standard
Funktionsweise:
Es wird ein TLS-Tunnel zum Server aufgebaut, worüber die DNS-Daten ausgetauscht werden.
Vorteile:
Nachteile:
Apps:
DNSCrypt Prox, stubby for Android
Fazit:
Jedes Protokoll hat seine Vor- und Nachteile. Am Ende wird aber wohl die allgemeine Verbreitung darüber entscheiden, was sich letztendlich durchsetzen wird.
So wird vermutlich die native Unterstützung von DNS over TLS in Android Pie sehr zur Verbreitung beitragen, da die uneingeschränkte Nutzung anderer Protokolle unter Android nur über Umwege möglich ist.
Beim Thema Datensicherheit sollte man aber nicht das Gesamtbild aus den Augen verlieren. So bringt die sicherste DNS-Verschlüsselung nichts, wenn weiterhin die besuchten Seiten dank SNI in Klartext übertragen werden.
Augenmerk beim Erstellen wurde hier auf Android gelegt. Das heißt, es kann auch andere Vor- und Nachteile geben, die hier aber nicht zu sehr zum Tragen kommen und deshalb zugunsten der Übersichtlichkeit ausgelassen wurden
DNSSEC:
steht für Domain Name System Security Extensions, Das Ziel ist, Integrität (Antwort ist korrekt) und Authentizität (Antwort kommt auch wirklich vom Absender) sicherzustellen. Um dies zu erreichen, werden die Einträge mit einem geheimen Schlüssel signiert. Mit dem dazugehörigen öffentlichen Schlüssel kann überprüft werden, ob der übermittelte Eintrag korrekt ist.
Der Transportweg wird nicht verschlüsselt.
DNSSEC wird dazu verwendet, das ganze "DNS-Netz" abzusichern und beschränkt sich nicht nur auf die Client-Kommunikation.
Alle folgenden Protokolle können in Kombination mit DNSSEC verwendet werden.
DNScrypt:
Das älteste Protokoll der Aufzählung hier ist ein reines Community-Projekt. Der Vorteil, dass kein großes Unternehmen dahinter steht, ist gleichzeitig ein Nachteil: Es wurde bisher nicht standardisiert. Das führt unter anderem dazu, dass es trotz der langen Zeit noch ein Nieschendasein fristet.
Funktionsweise:
Client und Server tauschen die Schlüssel aus und verschlüsseln den Verkehr mit den selbst erstellten Schlüsseln.
Vorteile:
- Wird bereits lange genutzt und ist entsprechend erprobt
- kleine Angriffsfläche
- wurde explizit dafür entwickelt
Nachteile:
- ist nicht weit verbreitet
Apps:
DNScrypt Poxy, DNS Manager (mit DNSCrypt)
DNS over HTTPS:
Die Technik, die schon beim Web-Protokoll zum verschlüsselten Abruf von Internetseiten genutzt wird, wird nun für DNS verwendet.
Funktionsweise:
Es wird eine verschlüsselte Verbindung zum Server aufgebaut, worüber die DNS-Daten im http-Format übertragen werden.
Vorteile:
- weite Verbreitung
Nachteil:
- die ganzen Nachteile, die man bei https/tls hat wie z.B. Zertifikatsverwaltung und optionale, unsichere Übertragungsstandards, werden hier übernommen
Apps:
Intra, DNScrypt Proxy
DNS over TLS:
Noch relativ neuer Standard
Funktionsweise:
Es wird ein TLS-Tunnel zum Server aufgebaut, worüber die DNS-Daten ausgetauscht werden.
Vorteile:
- Wird ab Android Pie nativ unterstützt
Nachteile:
- TLS wurde ursprünglich für einen anderen Einsatzzweck entwickelt, was das Risiko erhöht, dass es hier zu Implementierungsfehlern kommt.
- die ganzen Nachteile, die man bei https/tls hat wie z.B. Zertifikatsverwaltung, optionale unsichere Übertragungsstandards, werden hier mitübernommen
Apps:
DNSCrypt Prox, stubby for Android
Fazit:
Jedes Protokoll hat seine Vor- und Nachteile. Am Ende wird aber wohl die allgemeine Verbreitung darüber entscheiden, was sich letztendlich durchsetzen wird.
So wird vermutlich die native Unterstützung von DNS over TLS in Android Pie sehr zur Verbreitung beitragen, da die uneingeschränkte Nutzung anderer Protokolle unter Android nur über Umwege möglich ist.
Beim Thema Datensicherheit sollte man aber nicht das Gesamtbild aus den Augen verlieren. So bringt die sicherste DNS-Verschlüsselung nichts, wenn weiterhin die besuchten Seiten dank SNI in Klartext übertragen werden.