Re: [TLS] draft-shore-tks-dnssec-chains-extension

Paul Wouters <paul@nohats.ca> Wed, 22 July 2015 21:23 UTC

Return-Path: <paul@nohats.ca>
X-Original-To: tls@ietfa.amsl.com
Delivered-To: tls@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3C3231B2E97 for <tls@ietfa.amsl.com>; Wed, 22 Jul 2015 14:23:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.01
X-Spam-Level:
X-Spam-Status: No, score=-2.01 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, T_RP_MATCHES_RCVD=-0.01] 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 iwcK2fLT74_N for <tls@ietfa.amsl.com>; Wed, 22 Jul 2015 14:23:45 -0700 (PDT)
Received: from mx.nohats.ca (mx.nohats.ca [IPv6:2a03:6000:1004:1::68]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id CE3FC1B2E95 for <tls@ietf.org>; Wed, 22 Jul 2015 14:23:44 -0700 (PDT)
Received: from localhost (localhost [IPv6:::1]) by mx.nohats.ca (Postfix) with ESMTP id 3mc8t72R60z1bq for <tls@ietf.org>; Wed, 22 Jul 2015 23:23:43 +0200 (CEST)
Authentication-Results: mx.nohats.ca; dkim=pass (1024-bit key) header.d=nohats.ca header.i=@nohats.ca header.b=B+wlul9q
X-OPENPGPKEY: Message passed unmodified
X-Virus-Scanned: amavisd-new at mx.nohats.ca
Received: from mx.nohats.ca ([IPv6:::1]) by localhost (mx.nohats.ca [IPv6:::1]) (amavisd-new, port 10024) with ESMTP id KXoACfwThtec for <tls@ietf.org>; Wed, 22 Jul 2015 23:23:41 +0200 (CEST)
Received: from bofh.nohats.ca (206-248-139-105.dsl.teksavvy.com [206.248.139.105]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx.nohats.ca (Postfix) with ESMTPS for <tls@ietf.org>; Wed, 22 Jul 2015 23:23:41 +0200 (CEST)
Received: from bofh.nohats.ca (bofh.nohats.ca [127.0.0.1]) by bofh.nohats.ca (Postfix) with ESMTP id 0002880042 for <tls@ietf.org>; Wed, 22 Jul 2015 17:23:39 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nohats.ca; s=default; t=1437600220; bh=w4u399Cl3wYYld84mgUza9FRc6z9ao/tMU1UWoM5xDo=; h=Date:From:To:Subject:In-Reply-To:References; b=B+wlul9qQmDznUH5kMeP0CBgWQSEyifMOLSIzyCv47U8vkqs/g4myPndRoaJ5JR2J hokcmAPNXBKBoT3c7bVaj5G9REoUOdnIN1HeH4fz4wAShgY5j1MOudXv0huy+amB/K yfgsDN5Y/MHnq5+X3RdCWWhd527EgWOdc28idqUk=
Received: from localhost (paul@localhost) by bofh.nohats.ca (8.15.1/8.15.1/Submit) with ESMTP id t6MLNdDC017490 for <tls@ietf.org>; Wed, 22 Jul 2015 17:23:39 -0400
X-Authentication-Warning: bofh.nohats.ca: paul owned process doing -bs
Date: Wed, 22 Jul 2015 17:23:39 -0400 (EDT)
From: Paul Wouters <paul@nohats.ca>
To: tls@ietf.org
In-Reply-To: <20150722171622.GH4347@mournblade.imrryr.org>
Message-ID: <alpine.LFD.2.11.1507221517370.29444@bofh.nohats.ca>
References: <alpine.LFD.2.11.1507220736290.2328@bofh.nohats.ca> <20150722171622.GH4347@mournblade.imrryr.org>
User-Agent: Alpine 2.11 (LFD 23 2013-08-11)
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; format=flowed; charset=US-ASCII
Archived-At: <http://mailarchive.ietf.org/arch/msg/tls/3IolQk4WR22k-a-L5o3k9LaTP5w>
Subject: Re: [TLS] draft-shore-tks-dnssec-chains-extension
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.15
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: Wed, 22 Jul 2015 21:23:47 -0000

On Wed, 22 Jul 2015, Viktor Dukhovni wrote:

>> I think the server should stick to one chain, from the root to itself,
>> so it does not have to deal with variable chain blobs per client.
>> That will allow server code to stick to something like hourly
>> regenerating the blob for use with all clients.
>
>> From the root to its own TLSA RRset, however, this can be complicated
> in the presence of CNAMEs:

> Should everything other than the first CNAME be in additional
> records?

I think so.

>  Should all the above (with their RRSIGs) be in the answer
> section, with the union of the supporting DNSKEY/RRSIG/DS records
> as additional?

No, only the TLSA record and its RRSIG should be in there, so it is
identical to a real DNS response packet.

> I tried to ask a related question during the meeting, but bandwidth
> to explain the context was limited:  Should proofs of non-delegation
> be included, to keep gTLDs and ccTLDs honest for some future CT for
> DNS?  Specifically, suppose you see:
>
> 	_443._tcp.www.example.com. IN TLSA <rrdata>
>
> with an RRSIG from the ".com" zone, should there also be NSEC/NSEC3
> records that demonstrate that "example.com" (and www.example.com)
> are not delegated?  (Such records might then be subject to "gossip"
> or related "transparency" counter-measures).

That's an interesting question. I'd be tempted not to do this work in
the TLS extension but keep that to a ct-dnssec document.

>> I do strongly prefer the binary blob to be in raw dns format. That
>> will make parsing easier with existing code, and over time we will
>> not run into issues where dns libraries support newer algorithms
>> but this specific dnssec parsing code isn't updated.
>
> I'm not sure what "algorithms" you have in mind?

The successor to ECDSA or something like Curve*. I meant new DNSKEY
algorithms used to generate RRSIG records. I would like to see DNS
code maintained by DNS people used by browser people but I am young and
naive.

>  We should perhaps
> allow (even encourage) "compression" to reduce the payload size,

Is that a problem in TLS? I thought the CA chains were already massively
bigger? Or is this something specific to the client/server hello
message?

>> As for ekr's question on why not stuff this inside X.509, that would not
>> be compatible with tls raw pulic keys that only contain a SBKI, and drag
>> back into the protocol more ASN.1 parsing and containers.
>
> This really can't go in the certificate, because then certificates
> would have to be updated as often as RRSIGS are regenerated.  That
> seems exceedingly unlikely to be deployable.

I agree, but Adam Langley did make that work so perhaps we are wrong?

Paul