Re: [TLS] KeyUpdate and unbounded write obligations

Keith Winstein <keithw@cs.stanford.edu> Thu, 18 August 2016 20:36 UTC

Return-Path: <winstein@gmail.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 43E4012DB4B for <tls@ietfa.amsl.com>; Thu, 18 Aug 2016 13:36:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level:
X-Spam-Status: No, score=-1.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.001, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 WReD0l3t5OFM for <tls@ietfa.amsl.com>; Thu, 18 Aug 2016 13:36:47 -0700 (PDT)
Received: from mail-yb0-x229.google.com (mail-yb0-x229.google.com [IPv6:2607:f8b0:4002:c09::229]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 814F712D091 for <tls@ietf.org>; Thu, 18 Aug 2016 13:36:47 -0700 (PDT)
Received: by mail-yb0-x229.google.com with SMTP id z10so9313175ybh.2 for <tls@ietf.org>; Thu, 18 Aug 2016 13:36:47 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=jFELm4rta1M79ieJFAj06MO+/UqfbE34Srd3yOYNmdA=; b=DOHR84pcuBiuPYTbeAGOfEPaagxvYWXStvmnRtS4LMWz4JTK4BxNN6WpXWJSMZUtnc a2XbYOBuRwrS0NPndyHJy6pxI+JDZbJMAKOLjShzz6MQUfoC9LQ5sCUPAqwhBS5lwztK fzGCs5zmc9xv9tKB2zIVh79mvDaxFKUEDjoNZvOBWJHxEZ+e9vrIOowobKZjQEvlA1fD 8UkVwPnpTRiG1zRQPe6hFwyKAWzZCViXtQod4GT5Ad6YtroPgYbUYg5YZGzpcZfF8YoE MJSOnCZPoUKOyGsmsnLBmnYMF3/bXsH9JHw+6Hwm+IrxCnZ9A7ZH0+2E1NlPBjDXt2RA vn8w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=jFELm4rta1M79ieJFAj06MO+/UqfbE34Srd3yOYNmdA=; b=eRw2jP2Ju363RXikYxvPQ7U2Qj3pxS9bYeblmjSCVkMNBDFbiGaql8G97jym/TSj0B yPgcL6Kg0LG+gFbF+rDtG//diUDpaYFUuMF62g770RyZOvGVNygfQ0SqdA4DHKoBfhgw Lw2QRgBzx/e0+kWBxhR0m7yMBX8x0QJDh5R2etqIud5Sn9QR63Sh/eblkod+zIlheNMW so6nJZG8/u/OWhBpGsEKRzMEe3jp+3iE/lqJKsqWgW1g/Q1YiHuxRLPBTzCbfkRQrrg8 hAMu8RPeqBDSJnvCTmjV+mXfoQpUaL8yKfII+Li0xk/ZYTANNbgm+l5tX/vFG++Nit76 nc8Q==
X-Gm-Message-State: AEkoouvM9HchC7n2tqrT05C/XR/iOTQdV4UVY7gYVeAhBjIdIkDUuwa9sQoCPBtOOHEmE5zBfHpRNNGICfYWhA==
X-Received: by 10.37.160.35 with SMTP id x32mr3199850ybh.156.1471552606697; Thu, 18 Aug 2016 13:36:46 -0700 (PDT)
MIME-Version: 1.0
Sender: winstein@gmail.com
Received: by 10.129.79.209 with HTTP; Thu, 18 Aug 2016 13:36:05 -0700 (PDT)
In-Reply-To: <CAMfhd9UQaiWH_CAKNUMymARJAsWv4+3AatjgNEqrD78-rakubA@mail.gmail.com>
References: <CAF8qwaDgGHGmuBwhZEz9-=Ss2bfzNAYWfmnbMqQDxTQnMUpH7g@mail.gmail.com> <93086b3c-ca1b-4c37-67e1-efbf417a8b58@akamai.com> <CAF8qwaDfWdCCQpD8z8iY0BMJjbrf8qi-qf5X7mSe8m+hNZu-FQ@mail.gmail.com> <CAMzhQmPB0GXZzh+g=-TMmAp9HQxpZUPcht4zi3_K7WW_ouGg6A@mail.gmail.com> <CAF8qwaC_NGmx4pW=HwsqWTnvZysFhXayHJ1wPVAakWHo7nunxA@mail.gmail.com> <CAMfhd9UOOXLRmNjJogikQHa8QJx+HSLO-WuwJhgKKgAA-5TeBQ@mail.gmail.com> <CAMzhQmOmOou6SvmZygJ6emfn2xAnU_jT7zb005fD4NRuOLmnPg@mail.gmail.com> <CAMfhd9UQaiWH_CAKNUMymARJAsWv4+3AatjgNEqrD78-rakubA@mail.gmail.com>
From: Keith Winstein <keithw@cs.stanford.edu>
Date: Thu, 18 Aug 2016 13:36:05 -0700
X-Google-Sender-Auth: 1wVraP9nk13uLvEm4HvjZLuu25U
Message-ID: <CAMzhQmMnG2cgbfOZE0VDgFRpF15B+yjx2E5G-V2fh2TwLiDcBQ@mail.gmail.com>
To: Adam Langley <agl@imperialviolet.org>
Content-Type: text/plain; charset="UTF-8"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/C7w3i5gm1fErNXFzL3p2vuxQqes>
Cc: "tls@ietf.org" <tls@ietf.org>
Subject: Re: [TLS] KeyUpdate and unbounded write obligations
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.17
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, 18 Aug 2016 20:36:50 -0000

Okay, this is a different question -- whether P3 is a valuable property or not.

I made the case for this in my Monday thread[1] and in my Berlin
presentation[2].

[1] https://www.ietf.org/mail-archive/web/tls/current/msg20787.html

[2] https://www.ietf.org/proceedings/96/slides/slides-96-tls-3.pdf

I'm happy to make the case for P3 here again but didn't want to hijack
David's thread. My claim here was that there are some simple designs
that satisfy everybody and grant P1+P2+P3+P4, and that David's
concern's and my concerns are "basically orthogonal issues."

===

On the value of P3, I think you're giving us a crimped reading. We
gave three use cases in Berlin and in my email:

- An embedded device may wish to fully rotate the session keys before
going to sleep.

- A paranoid device might fully rotate the session keys before closing
the session. (If confirmation is absent, the device might use a
higher-level mechanism to forcibly log out all open sessions from that
user.)

- An endpoint that wishes to permit a read-only virus scanner or IDS
will want to fully rotate the session before sharing the directional
keys with the middlebox.

On this last use case, I agree that incumbent IDS vendors may not be
eager to support it. But adoption would probably come from a different
direction. IoT devices today forbid anybody, including a middlebox
controlled by the device owner, from auditing their own traffic and
seeing what the devices are sending and receiving. (Unlike a browser,
they don't let the user add a private CA cert to be able to MITM.) In
my conversations with IoT device vendors, some expressed interest in
allowing device owners to grant read-only access to themselves. I
really do think this would be a good thing.

Unlike Heartbeat, we are not talking about an ack that would be
generated by something, and we're not really talking about altering
TLS's design. We're talking about piggybacking one field in a protocol
message that is going to be sent anyway, where the message (KeyUpdate)
is new in TLS 1.3 anyway.

As I said, it is orthogonal to David's issues here. Yes, it is
possible to get P1+P2+P4 by themselves -- P3 has to live or die on its
own merit. But it is really just one piggyback field to get it.

-Keith

On Thu, Aug 18, 2016 at 12:42 PM, Adam Langley <agl@imperialviolet.org> wrote:
> On Thu, Aug 18, 2016 at 12:20 PM, Keith Winstein <keithw@cs.stanford.edu>
> wrote:
>>
>> Yes, you need current_receive_generation, or something like it, to get
>> P3. This is the subject of our PR #426/580.
>
>
> The KeyUpdate messages are encrypted and thus sequenced with all the
> application data. Apart from the Heartbeat message (TLS 6520), which has not
> been significantly used in TLS (I think), we've never worried about a
> TLS-level ack before.
>
> PR 426 wants a way to retrospectively disclose keys to middleware and wants
> to make sure that the receive side is no longer going to trust those keys
> before doing so. Having spoken to several vendors of these products in the
> past and tried to persuade them to accept read-only access I don't think we
> should alter TLS's design for that unless there's a novel argument about why
> they would ever accept it. (Because they won't. Their competitive interest
> is to have as many "features" as possible, many of which would require
> modifying traffic.)
>
>
> Cheers
>
> AGL