Re: [TLS] About encrypting SNI

Brian Sniffen <bsniffen@akamai.com> Wed, 16 April 2014 16:15 UTC

Return-Path: <bsniffen@akamai.com>
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 B0D1B1A021B for <tls@ietfa.amsl.com>; Wed, 16 Apr 2014 09:15:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.472
X-Spam-Level:
X-Spam-Status: No, score=-4.472 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RP_MATCHES_RCVD=-0.272] 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 oS41qz_I06Td for <tls@ietfa.amsl.com>; Wed, 16 Apr 2014 09:15:22 -0700 (PDT)
Received: from prod-mail-xrelay02.akamai.com (prod-mail-xrelay02.akamai.com [72.246.2.14]) by ietfa.amsl.com (Postfix) with ESMTP id 0555A1A0235 for <tls@ietf.org>; Wed, 16 Apr 2014 09:15:22 -0700 (PDT)
Received: from prod-mail-xrelay02.akamai.com (localhost [127.0.0.1]) by postfix.imss70 (Postfix) with ESMTP id 89435284D9; Wed, 16 Apr 2014 16:15:18 +0000 (GMT)
Received: from prod-mail-relay06.akamai.com (prod-mail-relay06.akamai.com [172.17.120.126]) by prod-mail-xrelay02.akamai.com (Postfix) with ESMTP id 6B298284CF; Wed, 16 Apr 2014 16:15:18 +0000 (GMT)
Received: from usma1ex-cashub.kendall.corp.akamai.com (usma1ex-cashub7.kendall.corp.akamai.com [172.27.105.23]) by prod-mail-relay06.akamai.com (Postfix) with ESMTP id 4996F202F; Wed, 16 Apr 2014 16:15:18 +0000 (GMT)
Received: from Tereva.local (172.19.113.223) by usma1ex-cashub7.kendall.corp.akamai.com (172.27.105.23) with Microsoft SMTP Server (TLS) id 8.3.342.0; Wed, 16 Apr 2014 12:15:17 -0400
From: Brian Sniffen <bsniffen@akamai.com>
To: Andy Lutomirski <luto@amacapital.net>, Watson Ladd <watsonbladd@gmail.com>, "Salz, Rich" <rsalz@akamai.com>
In-Reply-To: <534DB18A.4060408@mit.edu>
References: <2A0EFB9C05D0164E98F19BB0AF3708C7120A04ED40@USMBX1.msg.corp.akamai.com> <534C3D5A.3020406@fifthhorseman.net> <474FAE5F-DE7D-4140-931E-409325168487@akamai.com> <D2CB0B72-A548-414C-A926-A9AA45B962DA@gmail.com> <2A0EFB9C05D0164E98F19BB0AF3708C7120B490162@USMBX1.msg.corp.akamai.com> <CACsn0cmusUc3Rsb2Wof+dn0PEg3P0bPC3ZdJ75b9kkZ5LDGu_A@mail.gmail.com> <534DB18A.4060408@mit.edu>
User-Agent: Notmuch/0.17~rc2+11~g8a10ca6 (http://notmuchmail.org) Emacs/24.3.1 (x86_64-apple-darwin12.4.0)
Date: Wed, 16 Apr 2014 11:15:15 -0500
Message-ID: <m2ppkhl08c.fsf@usma1mc-0csx92.kendall.corp.akamai.com>
MIME-Version: 1.0
Content-Type: text/plain
Archived-At: http://mailarchive.ietf.org/arch/msg/tls/xYs9NGQ8XVc8umTWmIAJzrRhYEo
Cc: "tls@ietf.org" <tls@ietf.org>
Subject: Re: [TLS] About encrypting SNI
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: <http://www.ietf.org/mail-archive/web/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, 16 Apr 2014 16:15:26 -0000

Andy Lutomirski <luto@amacapital.net> writes:

> On 04/14/2014 10:21 PM, Watson Ladd wrote:
>> Now, the best mechanism I can think off would be to use DNS to preload
>> a per-IP SNI encryption key, or have the handshake optionally involve
>> getting one. But I still can't figure out how to authenticate the
>> gotten key without a lot of complexity. The best solution is for the
>> client and server to do a DH, then pass the desired website (which
>> might get you investigated when the initial handshake is intercepted),
>> and have that cert sign the handled DH, then go back and do a TLS
>> connection. Ugh.
>
> What if it were an opt-in thing?  A hypothetical DANE extension could
> associate with each domain a tuple (ClientHello-protection public key,
> TLS version guaranteed to be supported).  Clients could resolve that
> essentially for free as long as they're already querying DNS, and this
> could prevent downgrade attacks and give an efficient way to encrypt the
> entire ClientHello.

Then the censor looks to see which key is used, yes?

> There's a weak argument to be made for arranging for the actual
> encrypted ClientHello to be indistinguishable from random by anyone who
> doesn't know the private key.  This ought to be straightforward using
> Elligator.  Off the top of my head, it sounds cute, but I don't really
> see a benefit.

Or does this protect against it?

-Brian

-- 
Brian Sniffen
Information Security
Akamai Technologies