Re: [TLS] Eric Rescorla's Discuss on draft-ietf-tls-dnssec-chain-extension-06: (with DISCUSS and COMMENT)

Ilari Liusvaara <ilariliusvaara@welho.com> Mon, 12 March 2018 20:01 UTC

Return-Path: <ilariliusvaara@welho.com>
X-Original-To: tls@ietfa.amsl.com
Delivered-To: tls@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3E1C2126CF9 for <tls@ietfa.amsl.com>; Mon, 12 Mar 2018 13:01:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.91
X-Spam-Level:
X-Spam-Status: No, score=-1.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, T_RP_MATCHES_RCVD=-0.01] autolearn=ham autolearn_force=no
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 1wNe2zIjm1p5 for <tls@ietfa.amsl.com>; Mon, 12 Mar 2018 13:01:10 -0700 (PDT)
Received: from welho-filter2.welho.com (welho-filter2.welho.com [83.102.41.24]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B27A1126C3D for <tls@ietf.org>; Mon, 12 Mar 2018 13:01:09 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by welho-filter2.welho.com (Postfix) with ESMTP id 86CE34882C; Mon, 12 Mar 2018 22:01:07 +0200 (EET)
X-Virus-Scanned: Debian amavisd-new at pp.htv.fi
Received: from welho-smtp3.welho.com ([IPv6:::ffff:83.102.41.86]) by localhost (welho-filter2.welho.com [::ffff:83.102.41.24]) (amavisd-new, port 10024) with ESMTP id l3bSXgBKwvNH; Mon, 12 Mar 2018 22:01:07 +0200 (EET)
Received: from LK-Perkele-VII (87-92-19-27.bb.dnainternet.fi [87.92.19.27]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by welho-smtp3.welho.com (Postfix) with ESMTPSA id 0D9182316; Mon, 12 Mar 2018 22:01:03 +0200 (EET)
Date: Mon, 12 Mar 2018 22:01:03 +0200
From: Ilari Liusvaara <ilariliusvaara@welho.com>
To: Paul Wouters <paul@nohats.ca>
Cc: Willem Toorop <willem@nlnetlabs.nl>, TLS WG <tls@ietf.org>
Message-ID: <20180312200103.GA18788@LK-Perkele-VII>
References: <151801408058.4807.6327251050641650375.idtracker@ietfa.amsl.com> <CAHPuVdUgZLUf5M8ir=610mvERwQzPhbhGGOyW5s552JtP8d05g@mail.gmail.com> <CABcZeBOST2X0-MH2hhzpPJaUkbY++udsUV1bMnMhH2V2wQRPmA@mail.gmail.com> <CAHPuVdUs7mUJiqZjFjLDCNmHHGR9AP-g5YaLLbJj-zkDKd=_-w@mail.gmail.com> <alpine.LRH.2.21.1802211425260.7767@bofh.nohats.ca> <CAHPuVdX=_6b5g572-T-9Ccwek-WwL11KdTVwV9oNC9LaO5=0=Q@mail.gmail.com> <alpine.LRH.2.21.1802260913290.9977@bofh.nohats.ca> <bb6753af-2050-451c-32ae-c49426a885d8@nlnetlabs.nl> <alpine.LRH.2.21.1803121421420.23254@bofh.nohats.ca>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
In-Reply-To: <alpine.LRH.2.21.1803121421420.23254@bofh.nohats.ca>
User-Agent: Mutt/1.9.3 (2018-01-21)
Sender: ilariliusvaara@welho.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/K046KiCD4RRyAJEuB5jF5U6zx8Q>
Subject: Re: [TLS] Eric Rescorla's Discuss on draft-ietf-tls-dnssec-chain-extension-06: (with DISCUSS and COMMENT)
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "This is the mailing list for the Transport Layer Security working group of the IETF." <tls.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tls>, <mailto:tls-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tls/>
List-Post: <mailto:tls@ietf.org>
List-Help: <mailto:tls-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tls>, <mailto:tls-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 12 Mar 2018 20:01:12 -0000

On Mon, Mar 12, 2018 at 02:29:55PM -0400, Paul Wouters wrote:
> On Mon, 5 Mar 2018, Willem Toorop wrote:
> 
> > No Paul, the division in sections is irrelevant for a verifier.  The
> > only bit of information in a DNS message that is used by a verifier is
> > the question.  From the question, validation starts and the relevant
> > records are followed and verified.  But the question section is also not
> > needed as the question can be derived from the name and port of the
> > service, i.e. <port>._tcp.<name>. TLSA
> > 
> > The order described in the draft is both an optimization to reduce the
> > number of times a verifier has to go over the RRs, and it makes the
> > content easier to read (and understand) for humans too.
> > 
> > Also, for non existence answers, DNSSEC validators (and thus also a
> > verifier for the chain extension) simply ignore the DNS message header.
> > Proof of non-existence can and must be derived from the set of RRs in
> > the message body/sections too.
> 
> Willem (and Shumon and Viktor) have convinced me the DNS Header and
> Sections are not needed.
> 
> > The extension already supports Denial of Existence proof b.t.w., because
> > it is also needed for wildcard expansions (which are supported).
> 
> The issue here is the requirement of the TLS server to send these
> records in the absence of any TLS record. This allows the clients to
> detect a rogue webserver cert that is valid in webPKI but not valid
> based on DANE. Without this commitment, the TLS extension does not
> really work, as it can be omitted by an attacker.


One idea for adding pinning:

- Add pinned flag to the client request structure. This is set if
  the client has the server pinned, otherwise clear.
- Add max_age field to the server response structure.
- If max_age=0, the payload can either be authenticated TLSA RRset or
  proof no such thing exists. Any sent RRset applies to current
  connection. In either case, the pin breaks immediately.
- If max_age>0, the payload must be TLSA RRset. The TLSA RRset
  appiles to this connection. Pin the name as requiring this extension
  for next max_age seconds.
- Add security consideration that sending TLSA RRsets with max_age=0
  is vulernable to downgrade attacks.

The reason for the flag in client request is to tell the server if
it should bother sending ADoE back or not.


Also, could cached_info extension be extended to cover data for this
extension? It would save some bandwidth...


-Ilari