Re: [dns-privacy] New draft on encrypting the stub-to-resolver link: draft-hoffman-dns-tls-stub-00.txt

Paul Wouters <paul@nohats.ca> Tue, 19 August 2014 19:54 UTC

Return-Path: <paul@nohats.ca>
X-Original-To: dns-privacy@ietfa.amsl.com
Delivered-To: dns-privacy@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 69AA81A0B0C for <dns-privacy@ietfa.amsl.com>; Tue, 19 Aug 2014 12:54:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.668
X-Spam-Level:
X-Spam-Status: No, score=-2.668 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RP_MATCHES_RCVD=-0.668] autolearn=ham
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 DTSPXXaBhVdk for <dns-privacy@ietfa.amsl.com>; Tue, 19 Aug 2014 12:54:36 -0700 (PDT)
Received: from bofh.nohats.ca (bofh.nohats.ca [76.10.157.69]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2FA111A0AFA for <dns-privacy@ietf.org>; Tue, 19 Aug 2014 12:54:36 -0700 (PDT)
Received: from bofh.nohats.ca (bofh.nohats.ca [127.0.0.1]) by bofh.nohats.ca (Postfix) with ESMTP id 29ED780048; Tue, 19 Aug 2014 15:54:35 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nohats.ca; s=default; t=1408478075; bh=4QbKpFcB+UjkST9F3A+N8oO6mmtWh+2IhWc1WzFwq+I=; h=Date:From:To:cc:Subject:In-Reply-To:References; b=MkT+rXB6eqWqllMmkPFG7cPFEaKomKsa7kxLusCptlXAR6u/O0ZyeyFe2IS1ggKWn z0gK4w3UhOtaUWW/7tzfrdmap/Hf7zdj6oX5XGyt1ed1No85XaDLVEt4jiLz6S1zMG oNekLv39b4sschqgdHjDl1TkWsI997+O6MrNqaCw=
Received: from localhost (paul@localhost) by bofh.nohats.ca (8.14.7/8.14.7/Submit) with ESMTP id s7JJsWHG010858; Tue, 19 Aug 2014 15:54:33 -0400
X-Authentication-Warning: bofh.nohats.ca: paul owned process doing -bs
Date: Tue, 19 Aug 2014 15:54:32 -0400
From: Paul Wouters <paul@nohats.ca>
To: Jacob Appelbaum <jacob@appelbaum.net>
In-Reply-To: <CAFggDF3G3JEnPLVqZ2PjX8hCBP5-rkh7jGBWMvMxgpFSN7g1yw@mail.gmail.com>
Message-ID: <alpine.LFD.2.10.1408191546090.22835@bofh.nohats.ca>
References: <20140818175701.12317.96810.idtracker@ietfa.amsl.com> <FF99C324-2959-48EB-A187-18007F7AA364@vpnc.org> <CAJE_bqeoUx2gFsnVgZYfoWASkHaMgKW4tR552YRmQ4ZNzH1M=g@mail.gmail.com> <361D96E3-CD31-4E2B-88E3-46E44D6F8C3D@vpnc.org> <CAFggDF3G3JEnPLVqZ2PjX8hCBP5-rkh7jGBWMvMxgpFSN7g1yw@mail.gmail.com>
User-Agent: Alpine 2.10 (LFD 1266 2009-07-14)
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset="US-ASCII"; format="flowed"
Archived-At: http://mailarchive.ietf.org/arch/msg/dns-privacy/zYRGmE2xcCB2gYdAsBSqw8uSpxA
Cc: dns-privacy@ietf.org, Paul Hoffman <paul.hoffman@vpnc.org>, 神明達哉 <jinmei@wide.ad.jp>
Subject: Re: [dns-privacy] New draft on encrypting the stub-to-resolver link: draft-hoffman-dns-tls-stub-00.txt
X-BeenThere: dns-privacy@ietf.org
X-Mailman-Version: 2.1.15
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: <http://www.ietf.org/mail-archive/web/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, 19 Aug 2014 19:54:37 -0000

On Tue, 19 Aug 2014, Jacob Appelbaum wrote:

>> Sure, let's be explicit. Proposed addition to the policy section:
>>
>> If a recursive resolver does not respond on port 443 or set up a TLS
>> session, the stub resolver MAY use the normal DNS protocol on port 53.
>>
>
> I'm not a fan of making it possible for an attacker to downgrade with
> a single (non-cryptographically protected) TCP RST packet.

So you would want DTLS?

The ALPN would also mark you censorship. In fact, just attempting to get
encrypted DNS in whatever way would mark you as such. If you tunnel all
of this over 443, they will just have to block all of 443.

An attacker on the local network could just forge the DHCP server. But
an attacker on-path on the internet could indeed send an RST packet.
However, most likely an attacker that can inject a packet can also
filter one out, so how common is the case of a non-local RST attacker?

If you are connecting to a remote DNS server for TLS, I would assume
you also have an out-of-band key (like a TLSA record) to authenticate
the resolver. You would detect this failure and know you are on a
hostile network.

> If I
> configure a resolver and declare it to be secure (and use it as such),
> why not fail closed? Why not detect that as an attack or as outright
> network censorship?

I don't think the draft says anything about how to handle failure?

> This seems to fail if there is an active attacker that blocks TLS
> traffic - is there a way for the resolver to somehow learn in-band on
> port 53 that this attack is happening?

If you would publish a TLSA record, then yes. eg:

_443._tcp.8.8.8.8-in-addr.arpa IN TLSA <google-dns-pubkey>

Seeing the responses so far, I think the document needs to be much
clearer with respects to "last mile" versus "remote DNS server"
encryption.

Paul