[TLS] ESNI TXT RData, add leading distinguisher?

Viktor Dukhovni <ietf-dane@dukhovni.org> Mon, 03 December 2018 20:23 UTC

Return-Path: <ietf-dane@dukhovni.org>
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 1847212DDA3 for <tls@ietfa.amsl.com>; Mon, 3 Dec 2018 12:23:57 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.201
X-Spam-Level:
X-Spam-Status: No, score=-4.201 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001] 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 vbzJJ2cUnWCi for <tls@ietfa.amsl.com>; Mon, 3 Dec 2018 12:23:55 -0800 (PST)
Received: from straasha.imrryr.org (straasha.imrryr.org [100.2.39.101]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 24989130DC4 for <tls@ietf.org>; Mon, 3 Dec 2018 12:23:54 -0800 (PST)
Received: by straasha.imrryr.org (Postfix, from userid 1001) id E3B9FA1BDE; Mon, 3 Dec 2018 15:23:52 -0500 (EST)
Date: Mon, 3 Dec 2018 15:23:52 -0500
From: Viktor Dukhovni <ietf-dane@dukhovni.org>
To: tls@ietf.org
Message-ID: <20181203202352.GO79754@straasha.imrryr.org>
Reply-To: tls@ietf.org
References: <154022879439.6878.6442051759363048123@ietfa.amsl.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <154022879439.6878.6442051759363048123@ietfa.amsl.com>
User-Agent: Mutt/1.10.1 (2018-07-13)
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/QQ5P4dBhZIDhR6OZuHvB0p0DztE>
Subject: [TLS] ESNI TXT RData, add leading distinguisher?
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.29
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, 03 Dec 2018 20:23:57 -0000

On Mon, Oct 22, 2018 at 10:19:54AM -0700, internet-drafts@ietf.org wrote:

> https://datatracker.ietf.org/doc/html/draft-ietf-tls-esni-02

I see that the TXT record does not carry any sort of distinguishing
identifier in front of the payload:

    $ dig +short txt _esni.www.cloudflare.com
    "/wHdTAKgACQAHQAgnkJCWxSqQ75Vaxti1Q/S2XEbZa49aRA5/wtNLK2yA38AAhMBAQQAAAAAXAGIsAAAAABcCXGwAAA="

Given widely deployed wildcard (mostly SPF) TXT records implementations
need to be prepared to ignore responses that are not well-formed
base64 encodings of the expected data structure.  Perhaps a short
leading identifier such as "ESNI;" or similar would make it easier
to quickly reject non-ESNI RData.

For example, Rapid7's "mta-sts" survey dataset contains over a
million TXT records with owner name "_mta-sts.<domain-suffix>", but
only O(100) are actual "v=STSv1" MTA-STS TXT records, the rest are
largely SPF.  So one can't rely on the "_esni" prefix to be an
effective indication of intent to provide an actual ESNI response.

-- 
	Viktor.