Re: [dns-privacy] Operating System API support for DNS security policy

Bob Harold <rharolde@umich.edu> Mon, 19 August 2019 17:38 UTC

Return-Path: <rharolde@umich.edu>
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 C8B671201A3 for <dns-privacy@ietfa.amsl.com>; Mon, 19 Aug 2019 10:38:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=umich.edu
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 dUIqIHRCHJlt for <dns-privacy@ietfa.amsl.com>; Mon, 19 Aug 2019 10:38:38 -0700 (PDT)
Received: from mail-lf1-x12b.google.com (mail-lf1-x12b.google.com [IPv6:2a00:1450:4864:20::12b]) (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 0A4C412004F for <dns-privacy@ietf.org>; Mon, 19 Aug 2019 10:38:37 -0700 (PDT)
Received: by mail-lf1-x12b.google.com with SMTP id a30so2000279lfk.12 for <dns-privacy@ietf.org>; Mon, 19 Aug 2019 10:38:37 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=umich.edu; s=google-2016-06-03; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=tHj6Pr3sJrnJIDNeFZ+2ODN02FRYrheqtX4BuE/aXhk=; b=m2DhHis4srKiGndDEMyVjkumxKnrzOpWuV5tw6bUHZONBbV3NC0QJi6jHtLFFP55qK aRds3GrUAymHsB1Lytpj+tQ2QKpXbQCXYorQokC7ZeXT6E/LohDFD58Hbyg15M+sh9RK ZFQLwrCXeargZMaHeF5NHAjuMIayFK4RCTh8bF2mfRqxQM0J6rY3jRJzEsws9779JPma yFtosM9ch2iHzPOKin8qzbPyet1pU549aaOXAS6I5NzmXcvKpHc7Snf4avugpjzkS7w1 fLVXdTOxZkRzGtmWoZLmFS7OR5wuFiXDp6ep46E8tA/YC+5vC7ynad/hrDh6da4jcs8B wydg==
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:from:date :message-id:subject:to:cc; bh=tHj6Pr3sJrnJIDNeFZ+2ODN02FRYrheqtX4BuE/aXhk=; b=Cgo8fCyRyLiimKj7/N7Dd+R8CI/bQvhEwVWk7kZEgqHCUFfOKPhWuElNZ4wUuuZaCU ZBes1k0GsmtQbioFcmx6pZ/tCAj3CoeCKJDK30+KgjNrfUyKTsJCIXW3A220hNk5xDOx +AtecJXDo/T/EbGD/y288QGeKXkLaKCvFmuQI9YMw9NKVTMok6h9G0RLG/sm2TIA91T2 eFC7q1swa8D0bYEWlF1gqhA6XGqV32Uypjl1eu9FNktltLmBeFAvdUcJ95V5Xl++Dz9+ dk/Sm9etyHEbD3KNItCOc/0JXHh8VQZi4Bk2mh0Un2Dyb8fNKbuHTAzrK4uXh2/QYcOr 8AvA==
X-Gm-Message-State: APjAAAVpd5Y7aLDH0WC3sNsIK2yJPtSAXLEYnusg6VMk+a/6HsmcE+jW HxXfAw3d+pXHRA2VFH8E8u1TuE0jbqBgEG2rRkQhm/ut
X-Google-Smtp-Source: APXvYqxAhbK3dZ+cpWxbQJ/E5JZdXYR1Fs3QAy/zfPjwTNT/gZCPVn14YoCktWe81XhtsmwVNlRcfOAQM3a4q3abVtA=
X-Received: by 2002:ac2:549b:: with SMTP id t27mr12495997lfk.25.1566236315952; Mon, 19 Aug 2019 10:38:35 -0700 (PDT)
MIME-Version: 1.0
References: <MN2PR10MB4046A5FC33FDE3192C93AA95B0A80@MN2PR10MB4046.namprd10.prod.outlook.com> <CY1PR00MB0074C6229B0418BDC1AEC45DFAA80@CY1PR00MB0074.namprd00.prod.outlook.com>
In-Reply-To: <CY1PR00MB0074C6229B0418BDC1AEC45DFAA80@CY1PR00MB0074.namprd00.prod.outlook.com>
From: Bob Harold <rharolde@umich.edu>
Date: Mon, 19 Aug 2019 13:38:24 -0400
Message-ID: <CA+nkc8Bk_AdP4w9m1wo8L+u98=ip7jrw13U-QdkF_GMhfYXKAA@mail.gmail.com>
To: Tommy Jensen <Jensen.Thomas=40microsoft.com@dmarc.ietf.org>
Cc: Iain Sharp <isharp@atis.org>, "dns-privacy@ietf.org" <dns-privacy@ietf.org>
Content-Type: multipart/alternative; boundary="0000000000003f415105907bcf47"
Archived-At: <https://mailarchive.ietf.org/arch/msg/dns-privacy/IaG3LS3lmzdjeMy7vKFjMVfi8k0>
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: Mon, 19 Aug 2019 17:38:43 -0000

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.

-- 
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 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
>