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

Paul Wouters <> Wed, 22 July 2015 21:23 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id 3C3231B2E97 for <>; Wed, 22 Jul 2015 14:23:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.01
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 ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id iwcK2fLT74_N for <>; Wed, 22 Jul 2015 14:23:45 -0700 (PDT)
Received: from ( [IPv6:2a03:6000:1004:1::68]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id CE3FC1B2E95 for <>; Wed, 22 Jul 2015 14:23:44 -0700 (PDT)
Received: from localhost (localhost [IPv6:::1]) by (Postfix) with ESMTP id 3mc8t72R60z1bq for <>; Wed, 22 Jul 2015 23:23:43 +0200 (CEST)
Authentication-Results:; dkim=pass (1024-bit key) header.b=B+wlul9q
X-OPENPGPKEY: Message passed unmodified
X-Virus-Scanned: amavisd-new at
Received: from ([IPv6:::1]) by localhost ( [IPv6:::1]) (amavisd-new, port 10024) with ESMTP id KXoACfwThtec for <>; Wed, 22 Jul 2015 23:23:41 +0200 (CEST)
Received: from ( []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS for <>; Wed, 22 Jul 2015 23:23:41 +0200 (CEST)
Received: from ( []) by (Postfix) with ESMTP id 0002880042 for <>; Wed, 22 Jul 2015 17:23:39 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; 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 (8.15.1/8.15.1/Submit) with ESMTP id t6MLNdDC017490 for <>; Wed, 22 Jul 2015 17:23:39 -0400
X-Authentication-Warning: paul owned process doing -bs
Date: Wed, 22 Jul 2015 17:23:39 -0400
From: Paul Wouters <>
In-Reply-To: <>
Message-ID: <>
References: <> <>
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: <>
Subject: Re: [TLS] draft-shore-tks-dnssec-chains-extension
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." <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-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:
> IN TLSA <rrdata>
> with an RRSIG from the ".com" zone, should there also be NSEC/NSEC3
> records that demonstrate that "" (and
> 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

>  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

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