Re: [TLS] Is there a way forward after today's hum?

Paul Turner <PAUL.TURNER@venafi.com> Thu, 20 July 2017 14:55 UTC

Return-Path: <PAUL.TURNER@venafi.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 0344B131D04 for <tls@ietfa.amsl.com>; Thu, 20 Jul 2017 07:55:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.107
X-Spam-Level:
X-Spam-Status: No, score=-1.107 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RDNS_NONE=0.793, SPF_PASS=-0.001] autolearn=no 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 CXzPDaRDzRwH for <tls@ietfa.amsl.com>; Thu, 20 Jul 2017 07:55:13 -0700 (PDT)
Received: from mail.venafi.com (unknown [198.190.131.97]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 71A32131CD4 for <tls@ietf.org>; Thu, 20 Jul 2017 07:55:13 -0700 (PDT)
Received: from SLC-EXG01.res.venafi.com (10.1.110.17) by SLC-EXG01.res.venafi.com (10.1.110.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1034.26; Thu, 20 Jul 2017 08:55:11 -0600
Received: from SLC-EXG01.res.venafi.com ([fe80::e9c4:73d1:e66e:cff6]) by SLC-EXG01.res.venafi.com ([fe80::e9c4:73d1:e66e:cff6%12]) with mapi id 15.01.1034.026; Thu, 20 Jul 2017 08:55:11 -0600
From: Paul Turner <PAUL.TURNER@venafi.com>
To: Robin Wilton <wilton@isoc.org>, "tls@ietf.org" <tls@ietf.org>
Thread-Topic: [TLS] Is there a way forward after today's hum?
Thread-Index: AQGZY5pvJzH4JA3szzi/CxpFoIjfXaLPvrHggACbkICAABN7IA==
Date: Thu, 20 Jul 2017 14:55:11 +0000
Message-ID: <9a8d7dff2d194620ae46eab31b643e0e@venafi.com>
References: <BN6PR06MB3395E47F181D02D5772EEC81BFA70@BN6PR06MB3395.namprd06.prod.outlook.com>, <bbd5d287b07d4e5aac7cbd3add41da03@venafi.com> <BN6PR06MB3395F759CF116550D2CF2996BFA70@BN6PR06MB3395.namprd06.prod.outlook.com>
In-Reply-To: <BN6PR06MB3395F759CF116550D2CF2996BFA70@BN6PR06MB3395.namprd06.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [70.197.8.30]
Content-Type: multipart/alternative; boundary="_000_9a8d7dff2d194620ae46eab31b643e0evenaficom_"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/IVYsvL7vIy7OOhZoktVfVSGDqgc>
Subject: Re: [TLS] Is there a way forward after today's hum?
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, 20 Jul 2017 14:55:16 -0000

Thanks for your response.  Response to one of your comments below.

From: TLS [mailto:tls-bounces@ietf.org] On Behalf Of Robin Wilton
Sent: Thursday, July 20, 2017 09:45
To: Paul Turner <PAUL.TURNER@venafi.com>; tls@ietf.org
Subject: Re: [TLS] Is there a way forward after today's hum?


Hi Paul - thanks for this; two comments inline.

I'm an Outlook Webmail n00b, so just in case "nesting" doesn't work, I have marked them with @@@.

________________________________
From: Paul Turner <PAUL.TURNER@venafi.com<mailto:PAUL.TURNER@venafi.com>>
Sent: Thursday, July 20, 2017 12:03 PM
To: Robin Wilton; tls@ietf.org<mailto:tls@ietf.org>
Subject: RE: [TLS] Is there a way forward after today's hum?



From: TLS [mailto:tls-bounces@ietf.org] On Behalf Of Robin Wilton
Sent: Thursday, July 20, 2017 05:58
To: tls@ietf.org<mailto:tls@ietf.org>
Subject: Re: [TLS] Is there a way forward after today's hum?


Apologies for not replying "in thread" on this occasion, for noob reasons... but here's the specific comment from Russ that I wanted to respond to:



________________________________

The hum told us that the room was roughly evenly split.  In hind sight, I wish the chairs had asked a second question.  If the split in the room was different for the second question, then I think we might have learned a bit more about what people are thinking.



If a specification were available that used an extension that involved both the client and the server, would the working group adopt it, work on it, and publish it as an RFC?



I was listening very carefully to the comments made by people in line.  Clearly some people would hum for "no" to the above question, but it sounded like many felt that this would be a significant difference.  It would ensure that both server and client explicitly opt-in, and any party observing the handshake could see the extension was included or not.



Russ

====



Stephen Farrell articulated a concern with that approach - namely, that if we are relying on a setting that is meant to ensure both parties must be aware that static DH is in use, then a bad actor would find ways to suppress that notification. In your proposal, Russ, the notification mechanism would take the form of an extension... so I think we would need to understand what the failsafe is, for instance if that extension is disabled, or not present, in a given deployment of TLS.



There's an implicit assumption about the threat model, too, which I just want to call out. The assumption is that a bad actor would suppress the notification so that the client is not aware that static DH is in use. For completeness, should we also consider whether there are attacks in which it's the *server* whose notification is suppressed? (I can't think of such an attack, off the top of my head, but then, that's probably why I'm not a hacker. ;^, )



Best wishes,

Robin



Robin,



With respect to your threat concerns, can you be more clear about the threats you're considering? Here are a few things that come to mind:


1.      TLS Server has all of the decrypted data and can provide that to a third party (whether compelled or otherwise) without any indication to the TLS client. This seems true TLS 1.3 today.
2.      TLS Server has their ephemeral DH keys and session keys and can provide them to a third party without any indication to the TLS client. This seems true with TLS 1.3 today.
3.      TLS Server can create a TLS server implementation that uses static DH keys and provide them to a third party. The client can use methods to detect this (though there are measures and countermeasures here). This is true seems TLS 1.3 today.
4.      TLS Client has all of the decrypted data and can provide that to a third party (whether compelled or otherwise) without any indication to the TLS server. This seems true in TLS 1.3 today.
5.      TLS Client has their ephemeral DH keys and session keys and can provide them to a third party without any indication to the TLS server. This seems true with TLS 1.3 today.
@@@I'll have to give these proper thought when I have more bandwidth - so, I'm not ignoring these good questions/scenarios!




I believe Russ was outlining a method where an extension would be added to TLS 1.3 that would provide for delivery of a decryption key to a third party during the handshake (correct me if I got that wrong, Russ).



@@@This seems somewhat different to static DH... are we now talking about an alternative, more along key escrow lines?  Apologies if I missed something earlier from Russ; I'll go back down the thread and see.



I was assuming to Russ' comment above "an extension that involved both the client and the server", which is a different approach than static DH. I may have misunderstood his message.



Because it would be during the handshake, it would seem to be visible to the TLS  Client-in fact, the client would have to include the extension to begin with. If the TLS client saw the extension and did not consent, it could abort the connection. If the TLS Server were attempting to provide access to the exchanged data to a third party, it would seem they could use 1, 2, or 3 above and not have to go to the trouble of attempting to subvert the mechanism that Russ proposes (and others have previously proposed).



Can you clarify?



Paul