Re: [dns-privacy] Start of WGLC for draft-ietf-dprive-dnsodtls.

Allison Mankin <allison.mankin@gmail.com> Wed, 31 August 2016 00:06 UTC

Return-Path: <allison.mankin@gmail.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 9870112D84A; Tue, 30 Aug 2016 17:06:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.998
X-Spam-Level:
X-Spam-Status: No, score=-1.998 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, NORMAL_HTTP_TO_IP=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 rwcj9lcJvMUt; Tue, 30 Aug 2016 17:06:29 -0700 (PDT)
Received: from mail-ua0-x231.google.com (mail-ua0-x231.google.com [IPv6:2607:f8b0:400c:c08::231]) (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 BCD3F12B03A; Tue, 30 Aug 2016 17:06:28 -0700 (PDT)
Received: by mail-ua0-x231.google.com with SMTP id q42so2817027uaq.1; Tue, 30 Aug 2016 17:06:28 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=/rz0HbPZblFylvU2Vv/43QBg9YtpNWm0d6p4aD87vqw=; b=pVChcx0zMGqrTmdnmguWPLmLxHIPobj43HL2GiUFlCi6z3L1CZPUS0uXFt5/Shyhhp +gN5Gjz8bGQwcj13v2H7SitS3qymB7g7UrJg5VayAZjC5o1m2jX3kc9haqYtYz5NMn5G KeRtVQK8G2Du5n7YF2+n4HhYABw2buYhOnbMhtZSWOIuHL1jQHDiSFbbg5znYITnvxpb CsKMF/oKuyyNqRv22k9hZOxI8BiDe1ZQLYsPzrRyVQZ6HeyMaDHqpVemyHWuszwsOj8f RcafIs/qmXAMe+YI3bNls4e/bKGB0iByUyYgotuFG97KeIOun9hyCH++wfSr8VC5Zan1 VlGw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=/rz0HbPZblFylvU2Vv/43QBg9YtpNWm0d6p4aD87vqw=; b=mi66NH48IMl47MbtSYRudATKf+QPYN1iDZVPM/R529pvSb+F3kVzn/jUQAxMY4Roo5 HtbTmZxnR0gMV0pLyBUaLQw4Zj+4KQTkbo4z7rLvEzd7RhJ0dsleeLWTdL4UxHy9GxUM l2o6gIF4He6Up7dwwEHkShgy5lunoTVxaldXDkI3H1SrS/WsZ84WJMBZttryNY4egn0b ZyTD4H7FnjoUWgs4BSJ9KSI1787ZQHs54zOF2omr+DDL01olIvwvK0i5JxLbLktfc5Rr Tn1WF11byY99euj1VHwLS5xyCnFLtkJClEJNMMIgFCAsLO5L7jZpBxA9ojym5n32nkPn BSOA==
X-Gm-Message-State: AE9vXwORSCEITrgP5wX+YHyV+jFqf/7vnuMbYDfHY5OMMIyUOx6MmUZLZ45o/jMo2yizdZ7m565ARUdWWfbszw==
X-Received: by 10.176.83.87 with SMTP id y23mr3457064uay.18.1472601987717; Tue, 30 Aug 2016 17:06:27 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.176.4.39 with HTTP; Tue, 30 Aug 2016 17:06:26 -0700 (PDT)
In-Reply-To: <d21a5081c7614e5bbeef371d83501693@XCH-RCD-017.cisco.com>
References: <CAHw9_iLWW-e_de9ieq_oe_eR=RBWg9swG7EiAPTp93825Vm=pw@mail.gmail.com> <20160822151229.k5wms6k6kktrut4o@nic.fr> <d21a5081c7614e5bbeef371d83501693@XCH-RCD-017.cisco.com>
From: Allison Mankin <allison.mankin@gmail.com>
Date: Tue, 30 Aug 2016 20:06:26 -0400
Message-ID: <CAP8yD=s+cD_-=AVs8NU0ZxjxwKCY81xEm_JzBO7vu80P6DXysw@mail.gmail.com>
To: "Tirumaleswar Reddy (tireddy)" <tireddy@cisco.com>
Content-Type: multipart/alternative; boundary="94eb2c1925805fa20f053b52de41"
Archived-At: <https://mailarchive.ietf.org/arch/msg/dns-privacy/G6lzuoLG_KSxN2S3kXSb_k_UpTw>
Cc: Allison Mankin <allison.mankin@gmail.com>, "DPRIVE-chairs@tools.ietf.org" <DPRIVE-chairs@tools.ietf.org>, "draft-ietf-dprive-dnsodtls@ietf.org" <draft-ietf-dprive-dnsodtls@ietf.org>, "dns-privacy@ietf.org" <dns-privacy@ietf.org>, Warren Kumari <warren@kumari.net>, John Heidemann <johnh@isi.edu>
Subject: Re: [dns-privacy] Start of WGLC for draft-ietf-dprive-dnsodtls.
X-BeenThere: dns-privacy@ietf.org
X-Mailman-Version: 2.1.17
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: Wed, 31 Aug 2016 00:06:31 -0000

My calendar reminds me this is the last day of this WGLC.

Overall comments:

This is a well-written spec.  I'm especially appreciative of how much the
draft has gotten aligned with RFC 7858.  I support its publication soon as
an Experimental.

Three suggestions/concerns:

Abstract and Section 1 -

I'd like to see a note added that the Experiment will be concluded when the
spec is evaluated through an implementation and some testing of the
details.

Section 1

> However TCP Fast Open [RFC7413 <https://tools.ietf.org/html/rfc7413>] can
eliminate 1-RTT in the latter case.

If the TLS Resume and the TCP Fast Open are pipelined, there is no extra
RTT in comparison with DTLS. So I think it would be better to say that with
TCP Fast Open, the implementation can achieve the same RTT efficiency as
DTLS.

Section 6

I don't recall recent WG discussion of this section on Anycast (JohnH
reviewed an earlier approach in https://www.ietf.org/mail-
archive/web/dns-privacy/current/msg00989.html).

The section states that a server receiving a DTLS message for which it
doesn't have cryptographic context SHOULD generate a DTLS Alert message to
encourage the client to try to recover.  But it acknowledges that the Alert
can't be authenticated, and so it advise the client receiving this Alert to
try two things:

   upon receipt
   of an in-window DTLS Alert, the client SHOULD continue re-
   transmitting the DTLS packet (in the event the Alert was spoofed),
   and at the same time it SHOULD initiate DTLS session resumption.
   When the DTLS client receives an authenticated DNS response from one
   of those DTLS sessions, the other DTLS session should be terminated.

Why do we think that the server is allowed to send a non-fatal Alert
message for this case?  See the MUST in RFC 6347 4.1.2.7[*].  And if it is
OK to send a non-fatal Alert message, under what conditions might the
client's two attempts have success?  The assumption seems to be a very
transient Anycast routing change (for the retransmit) or an Anycast routing
change that cycled to a previous server within the time window for the
valid resume.  One of John Heidemann's points in the message I linked to is
that there's a lack of data on Anycast impacts on transport in DNS.

Does others think that a server must send a fatal Alert (or else contradict
RFC 6347)?

In general, is the complexity of this recovery worthwhile compared with
fault-tolerantly giving up and starting over?   Is the assumed rapid and/or
cycling Anycast change common enough to justify the proposed behavior?

Suggestion: let the client give up.  Or else add language about the
assumptions and about the section being pretty theoretical/untested.

Thanks,

Allison

[*] RFC 6347 4.1.2.7:

   Unlike TLS, DTLS is resilient in the face of invalid records (e.g.,
   invalid formatting, length, MAC, etc.).  In general, invalid records
   SHOULD be silently discarded, thus preserving the association;
   however, an error MAY be logged for diagnostic purposes.
   Implementations which choose to generate an alert instead, MUST
   generate fatal level alerts to avoid attacks where the attacker
   repeatedly probes the implementation to see how it responds to
   various types of error.  Note that if DTLS is run over UDP, then any
   implementation which does this will be extremely susceptible to
   denial-of-service (DoS) attacks because UDP forgery is so easy.
   Thus, this practice is NOT RECOMMENDED for such transports.




On 22 August 2016 at 21:44, Tirumaleswar Reddy (tireddy) <tireddy@cisco.com>
wrote:

> > -----Original Message-----
> > From: dns-privacy [mailto:dns-privacy-bounces@ietf.org] On Behalf Of
> > Stephane Bortzmeyer
> > Sent: Monday, August 22, 2016 8:42 PM
> > To: Warren Kumari <warren@kumari.net>
> > Cc: dns-privacy@ietf.org; DPRIVE-chairs@tools.ietf.org;
> draft-ietf-dprive-
> > dnsodtls@ietf.org
> > Subject: Re: [dns-privacy] Start of WGLC for draft-ietf-dprive-dnsodtls.
> >
> > On Tue, Aug 16, 2016 at 01:05:40PM -0400,  Warren Kumari
> > <warren@kumari.net> wrote  a message of 38 lines which said:
> >
> > > https://datatracker.ietf.org/doc/draft-ietf-dprive-dnsodtls/
> >
> > I've read it (the last version, -10) and, for me, it is OK, and ready to
> be sent to
> > the next step.
> >
> > I would like to make it a bit shorter by deleting two sentences, "An
> active
> > attacker can send bogus responses causing misdirection of the subsequent
> > connection" in the abstract and "Active attackers have long been
> successful at
> > injecting bogus responses, causing cache poisoning and causing
> misdirection
> > of the subsequent connection (if attacking A or AAAA records).  A popular
> > mitigation against that attack is to use ephemeral and random source
> ports
> > for DNS queries [RFC5452]." in section 1. Both are about an attack which
> is
> > *not* mitigated by DNS-over-DTLS and these two sentences are clearly out
> of
> > scope. (The relationship with DNSSEC, which solves these attacks, is
> already
> > handled in section 1.1.)
>
> Done.
>
> >
> > Otherwise, now that the well-knon port is not absolutely mandatory, I
> suggest
> > to change "Once the DNS client succeeds in receiving HelloVerifyRequest
> from
> > the server via UDP on the well-known port for DNS-over-DTLS" to "Once the
> > DNS client succeeds in receiving HelloVerifyRequest from the server via
> UDP
> > from the port used for DNS-over-DTLS".
>
> Based on feedback from Christian that HelloVerifyRequest is optional from
> the server, removed the above line and replaced with the following lines:
>
>    DNS client initiates DTLS handshake as described in [RFC6347],
>    following the best practices specified in [RFC7525].  After DTLS
>    negotiation completes, if the DTLS handshake succeeds according to
>    [RFC6347] the connection will be encrypted and is now protected from
>    eavesdropping.
>
> >
> > RFC 2119 mandatory flame war: "the DNS client may want to probe the
> server
> > using DTLS heartbeat" May or MAY?
>
> Changed to "MAY".
>
> -Tiru
>
> >
> >
> > _______________________________________________
> > 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
>