Re: [TLS] "Encrypted" SNI

Hubert Kario <hkario@redhat.com> Thu, 11 May 2017 18:07 UTC

Return-Path: <hkario@redhat.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 9DFFB129405 for <tls@ietfa.amsl.com>; Thu, 11 May 2017 11:07:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.923
X-Spam-Level:
X-Spam-Status: No, score=-6.923 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_HELO_PASS=-0.001, 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 rLjbAbX8nW-G for <tls@ietfa.amsl.com>; Thu, 11 May 2017 11:07:27 -0700 (PDT)
Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 18BCC1293DF for <tls@ietf.org>; Thu, 11 May 2017 11:02:07 -0700 (PDT)
Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 60B39C059741; Thu, 11 May 2017 18:02:06 +0000 (UTC)
DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 60B39C059741
Authentication-Results: ext-mx08.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com
Authentication-Results: ext-mx08.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=hkario@redhat.com
DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com 60B39C059741
Received: from pintsize.usersys.redhat.com (ovpn-200-17.brq.redhat.com [10.40.200.17]) by smtp.corp.redhat.com (Postfix) with ESMTPS id EC11F18019; Thu, 11 May 2017 18:02:05 +0000 (UTC)
From: Hubert Kario <hkario@redhat.com>
To: tls@ietf.org
Date: Thu, 11 May 2017 20:01:58 +0200
Message-ID: <2687686.v67HcTzOUq@pintsize.usersys.redhat.com>
In-Reply-To: <m28tm34g8x.fsf@abstraction.kendall.corp.akamai.com>
References: <3768598.32hupQ9b2b@pintsize.usersys.redhat.com> <87ziekihp6.fsf@fifthhorseman.net> <m28tm34g8x.fsf@abstraction.kendall.corp.akamai.com>
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="nextPart31140468.tutHbUG5nQ"; micalg="pgp-sha512"; protocol="application/pgp-signature"
X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16
X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.32]); Thu, 11 May 2017 18:02:06 +0000 (UTC)
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/HIyjlhwK0Vayo7PfpZlk7Q3zvKI>
Subject: Re: [TLS] "Encrypted" SNI
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: Thu, 11 May 2017 18:07:29 -0000

On Thursday, 11 May 2017 16:31:26 CEST Brian Sniffen wrote:
> Daniel Kahn Gillmor <dkg@fifthhorseman.net> writes:
> > On Wed 2017-05-10 12:12:34 -0700, Christian Huitema wrote:
> >> It certainly was. But then the clear text SNI is a gaping privacy hole
> >> in TLS, the kind of issue that should keep us awake at night until it is
> >> resolved. We need to make sure that we make progress, rather than rehash
> >> the old arguments. Maybe we should invest some time and document the
> >> various proposals in a draft. I am willing to work on that. Any other
> >> volunteers?
> > 
> > I agree with Christian's assessment of the problem, and i'd be
> > interested in collaborating on such a draft.
> 
> Who's the audience for that draft?  If it's meant to document the blind
> alleys we've found, perhaps we could list both alleys, and the walls at
> the end:
> 
>   - hash the name [adversaries can hash too]
>   - hash the name with a salt [adversaries can check the salted hash
>     too, as if operating all the banned sites]
>   - encrypt the SNI under the pre-shared key
> 
> But beware of:
> 
>   - the adversary can replay this SNI and see what site he gets
>   - DDoS risk: servers can't be try lots of crypto (no asymmetric ops,
>     no operations that scale linearly with number of sites hosted)

Doesn't that create a Catch 22?

I need to get the key to encrypt the SNI. But if we don't want the names to 
leak, how do I authenticate the key without telling the server what 
certificate I will accept to authenticate the key?

That doesn't look to me like a problem we can solve with typical symmetric or 
asymmetric crypto - it looks to me like more of a zero-knowledge proof issue.

-- 
Regards,
Hubert Kario
Senior Quality Engineer, QE BaseOS Security team
Web: www.cz.redhat.com
Red Hat Czech s.r.o., Purkyňova 99/71, 612 45, Brno, Czech Republic