Hey Iain,
Iain> Many applications rely on operating system APIs to access DNS services.
As native support of DNS over TLS rolls out in to operating systems it seems
likely that some applications will wish to control the security policy that the
operating system applies when it performs DNS resolution. For example, the
application may wish to require that the operating system uses an encrypted DNS
protocol.
I actually don't see this being necessary. Walking through the possibilities:
* If the OS supports DoT and the configured servers support it:
* OS should be using DoT whether the app requests it or not
* If the OS supports DoT but the servers don't:
* App intent isn't helpful (to the same server)
* If the OS doesn't support it:
* App intent isn't helpful
My view is that the OS should be taking the most secure DNS route it has
available regardless of app request (after all, think of all the apps which
won't request DoT but should). In the case where the OS supports DoT but isn't
using it, that decision is being made in the context of other information, such
as enterprise configuration, that the app may not have.
Iain> Unless operating systems support secure DNS standards and expose APIs to
allow applications to use them effectively then applications that require
secure DNS have little choice other than to roll their own implementations.
I totally agree. Platforms should be providing the network tools apps need so
all apps can benefit similarly, rather than leaving apps to figure out
networking nuance on their own. I just think in this case that there should
never have to be a situation where an app needs to request DNS encryption
(because either it's already happening or it can't happen for some reason
unknown to the app).
Summary: I think such an API should be unnecessary on well-behaved platforms.
Thanks,
Tommy
________________________________
From: dns-privacy <[email protected]> on behalf of Iain Sharp
<[email protected]>
Sent: Monday, August 19, 2019 2:56 AM
To: [email protected] <[email protected]>
Subject: [dns-privacy] Operating System API support for DNS security policy
All,
DNS over TLS offers the ability to perform DNS queries over a TLS secured
channel. In my understanding, DNS over TLS is not yet available in all
operating systems, but operating system support could become common in future.
Many applications rely on operating system APIs to access DNS services. As
native support of DNS over TLS rolls out in to operating systems it seems
likely that some applications will wish to control the security policy that the
operating system applies when it performs DNS resolution. For example, the
application may wish to require that the operating system uses an encrypted DNS
protocol.
Today, most operating systems use the getaddrinfo() function described in
RFC3493 as the basis of their API for translating DNS names to IP addresses,
but this does not have security policy attributes. Is anyone aware of any
activity to enhance the RFC3493 work to add application control of security
policy to the getaddrinfo() capabilities?
Unless operating systems support secure DNS standards and expose APIs to allow
applications to use them effectively then applications that require secure DNS
have little choice other than to roll their own implementations.
Thanks
Iain
_______________________________________________
dns-privacy mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/dns-privacy