Re: [dns-privacy] Operating System API support for DNS security policy
Erik Kline <ek@loon.com> Tue, 20 August 2019 17:26 UTC
Return-Path: <ek@google.com>
X-Original-To: dns-privacy@ietfa.amsl.com
Delivered-To: dns-privacy@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 23575120931 for <dns-privacy@ietfa.amsl.com>; Tue, 20 Aug 2019 10:26:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.249
X-Spam-Level:
X-Spam-Status: No, score=-9.249 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.249, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_SPF_WL=-7.5] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=loon.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id twryZnXygGvv for <dns-privacy@ietfa.amsl.com>; Tue, 20 Aug 2019 10:26:20 -0700 (PDT)
Received: from mail-wr1-x434.google.com (mail-wr1-x434.google.com [IPv6:2a00:1450:4864:20::434]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5CC5612018D for <dns-privacy@ietf.org>; Tue, 20 Aug 2019 10:26:20 -0700 (PDT)
Received: by mail-wr1-x434.google.com with SMTP id g17so13250941wrr.5 for <dns-privacy@ietf.org>; Tue, 20 Aug 2019 10:26:20 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=loon.com; s=google; h=mime-version:references:in-reply-to:reply-to:from:date:message-id :subject:to:cc; bh=Ov/N8Ah00ziGLeU+RW4m2aTjk08xJALP9xrEXWIlYpk=; b=A5/3GY6y2EKt4N6+q4Jw3Oow+ypJnbnF5fypwR9gLBfI1224tLPW13rFnFbEX6K7qu kwinYb6Qb+EX23d2hF+ICb1MiXwysmbqBLvnBdQ3DC8iGxwioneIyAwipLsDYVc56v18 0hYH5Yau+s4LcC5iO72R+eXtOA7EcVSAh3vVs=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:reply-to :from:date:message-id:subject:to:cc; bh=Ov/N8Ah00ziGLeU+RW4m2aTjk08xJALP9xrEXWIlYpk=; b=Ytal2FM24tl7vvaLvjI9iAzkgWk+ogWBrHNasMP7nQU0MKWbfgabHv+A0rnhr21D3C xrL704VyieND+KBys/0EXCFJmVrv9FWVifmFgAX/VzF5ZuVmHs4qKspLULuPClv5UOlf gnDPTVjVFv0ryeHf7Bn5/zEI1v7JgCMmmQyl41R4mpDVQ/hb4YrzV38c9NwuEOj7HEBP Zhq3D4eGF+9M7SPcq/ak+CDdJdF2Z/hMs3u6WGaKcdkYp8XSMSflDmokLVRqorn2BIBc jIG+HLTohRkljikucHaXhxqRQk4L47S3/y1Y3iGPTxVlQDsoXuTN0sY8elIQYAUg2EOw Ks0w==
X-Gm-Message-State: APjAAAXbl0iuuYS70nx8RjxHEeNlV7pltFMch0dEIzTsQwHXAage1iKQ 6iNFziZUC4lwPxGMwFzWjrE3qyfrTA+ZUoIoK6aXaw==
X-Google-Smtp-Source: APXvYqwsvnM9cdVDMwoV+NHqCoO3f8BO5rUPI8uyn3+JPFXaMLDKgs8i5Hek9tixP4Qo5WPo5xH1QmXAgA7r1+2r+QA=
X-Received: by 2002:a5d:4b8b:: with SMTP id b11mr36692158wrt.294.1566321978414; Tue, 20 Aug 2019 10:26:18 -0700 (PDT)
MIME-Version: 1.0
References: <MN2PR10MB4046A5FC33FDE3192C93AA95B0A80@MN2PR10MB4046.namprd10.prod.outlook.com> <CY1PR00MB0074C6229B0418BDC1AEC45DFAA80@CY1PR00MB0074.namprd00.prod.outlook.com> <CA+nkc8Bk_AdP4w9m1wo8L+u98=ip7jrw13U-QdkF_GMhfYXKAA@mail.gmail.com> <ijd4mi.pwhxb9.31eoyz-qmf@mercury.scss.tcd.ie> <MN2PR10MB404640ABB9D1EFF1530880DEB0AB0@MN2PR10MB4046.namprd10.prod.outlook.com>
In-Reply-To: <MN2PR10MB404640ABB9D1EFF1530880DEB0AB0@MN2PR10MB4046.namprd10.prod.outlook.com>
Reply-To: ek@loon.com
From: Erik Kline <ek@loon.com>
Date: Tue, 20 Aug 2019 10:26:06 -0700
Message-ID: <CAAedzxpP4M5e=wceQtp4bGUVGQTktEjyeUqtNNt31XYxsR_NfQ@mail.gmail.com>
To: Iain Sharp <isharp@atis.org>
Cc: "dns-privacy@ietf.org" <dns-privacy@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000210e9405908fc10c"
Archived-At: <https://mailarchive.ietf.org/arch/msg/dns-privacy/ciRxeTZ_p_QRNSjNmWc3YaFA2pQ>
Subject: Re: [dns-privacy] Operating System API support for DNS security policy
X-BeenThere: dns-privacy@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: <dns-privacy.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dns-privacy>, <mailto:dns-privacy-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dns-privacy/>
List-Post: <mailto:dns-privacy@ietf.org>
List-Help: <mailto:dns-privacy-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dns-privacy>, <mailto:dns-privacy-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Aug 2019 17:26:23 -0000
On Tue, 20 Aug 2019 at 03:13, Iain Sharp <isharp@atis.org> wrote: > Thanks for the informative replies. > > The use cases I was thinking of are similar to those outlined by Bob and > Stephen. Hypothetically, there might also be scenarios where the > application wishes the DNS to be done without security (e.g. for debugging) > though I don't know in practice how important these are. > > The getdns API is quite similar to what I had in mind. In getdns you can > specify the transports you want from UDP, TCP and TLS. Possibly other > levers may be needed for things like ESNI. > > Would the following be a fair summary of the discussion? > 1) There is some support for the idea it would be useful for APIs to allow > an application to at least know, and perhaps influence, what DNS security > features will be used if it makes a DNS request via the operating system. > 2) The getaddrinfo() API in RFC3493 doesn't provide this capability. > 3) As far as we are aware there is no work in IETF currently on how to > express security policy in DNS APIs, but the getdns API seems to have > similar goals to point 1. > Re (3), I haven't been following taps work closely, but it seems like the kind of thing they might have spent some cycles on. > Regards > > Iain > > > > -----Original Message----- > From: dns-privacy <dns-privacy-bounces@ietf.org> On Behalf Of > stephen.farrell@cs.tcd.ie > Sent: 19 August 2019 19:14 > To: rharolde@umich.edu > Cc: Iain Sharp <isharp@atis.org>; dns-privacy@ietf.org; Jensen.Thomas= > 40microsoft.com@dmarc.ietf.org > Subject: Re: [dns-privacy] Operating System API support for DNS security > policy > > > > On Monday, 19 August 2019, Bob Harold wrote: > > On Mon, Aug 19, 2019 at 1:29 PM Tommy Jensen <Jensen.Thomas= > > 40microsoft.com@dmarc.ietf.org> wrote: > > > > > 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 > > > > > > I read this differently - the api needs to tell the app whether the > > > OS > > does encrypted DNS: > > > > - OS supports DoT and can connect to a DoT resolver > > - App uses OS for DNS > > - OS does not support DoT > > - App connects to a DoT server itself, bypassing the OS (even > though > > I dislike this, unless the user has agreed) > > - OS supports DoT but cannot reach a DoT server > > - various choices, we don't need to discuss this now. > > > > +1, there's also the case of TLS ESNI where the application wants to only > do the lookup if DNS privacy will be used. Different applications may > choose different fallbacks if DNS privacy is not available from the OS. > > Cheers, > S. > > > > -- > > Bob Harold > > > > > > > > > > > > > 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 > > > Iain> 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 <dns-privacy-bounces@ietf.org> on behalf of Iain > > > Sharp <isharp@atis.org> > > > *Sent:* Monday, August 19, 2019 2:56 AM > > > *To:* dns-privacy@ietf.org <dns-privacy@ietf.org> > > > *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 > dns-privacy@ietf.org > https://www.ietf.org/mailman/listinfo/dns-privacy > > _______________________________________________ > dns-privacy mailing list > dns-privacy@ietf.org > https://www.ietf.org/mailman/listinfo/dns-privacy >
- [dns-privacy] Operating System API support for DN… Iain Sharp
- Re: [dns-privacy] Operating System API support fo… Shane Kerr
- Re: [dns-privacy] Operating System API support fo… Tommy Jensen
- Re: [dns-privacy] Operating System API support fo… Bob Harold
- Re: [dns-privacy] Operating System API support fo… Tommy Jensen
- Re: [dns-privacy] Operating System API support fo… stephen.farrell
- Re: [dns-privacy] Operating System API support fo… Iain Sharp
- Re: [dns-privacy] Operating System API support fo… Erik Kline
- Re: [dns-privacy] Operating System API support fo… Rob Sayre
- Re: [dns-privacy] Operating System API support fo… Mark Andrews
- Re: [dns-privacy] Operating System API support fo… Rob Sayre
- Re: [dns-privacy] Operating System API support fo… Iain Sharp
- Re: [dns-privacy] Operating System API support fo… Brian Haberman